本発明の仮想空間コンテンツ配信システムを実施するための形態について、実施例にもとづいて図面を用いて以下に説明する。尚、複数の図面において同一の又は類似する構成要素には同じ参照符号を付することで、重複する説明は省くものとする。また、本発明に係わる仮想空間コンテンツ配信プログラムは、仮想空間コンテンツ配信システムを構成する後述するサーバコンピュータや各端末から成るシステム全体で使用されるプログラムであってもよいし、仮想空間コンテンツ配信システムを構成する一部の装置である、例えば、サーバコンピュータや各端末だけで動作するものであってもよく、以下において説明する各処理については、いずれも、処理が行われる機器に記憶されているプログラムによって実行される。
図1は、本発明の1実施形態である実施例1における仮想空間コンテンツ配信システムのシステム構成例を示すブロック図であり、図1に示す本実施例1のシステムでは、演者ユーザーに対応した演者アバター1が、図12に示す仮想ライブ会場においてライブイベントを行う仮想ライブが仮想空間コンテンツとして配信される。尚、以下において配信とは、複数に対する送信であり、送信と同義である。
本実施例1の仮想空間コンテンツ配信システムは、図1に示すように、主に、仮想空間である図11に示す仮想ライブ会場に関する各種処理や仮想ライブの配信に関する各種処理を実行可能な配信用サーバコンピュータ100と、仮想ライブイベントを運営・管理するイベント運営機関のイベント管理者Mが、仮想ライブイベントの配信を管理するために使用する管理者端末150と、演者ユーザーが使用する演者端末200と、仮想ライブに仮想参加して仮想ライブを視聴する視聴者ユーザーが使用可能な視聴者端末300とから構成されており、配信用サーバコンピュータ100、管理者端末150、演者端末200、視聴者端末300は、オープンコンピュータネットワークであるインターネット網Nを介して、相互にデータ通信可能に接続されている。
尚、本実施例1では、管理者端末150や演者端末200についてもインターネット網Nを介して配信用サーバコンピュータ100に接続させた形態を例示しているが、本発明はこれに限定されるものではなく、例えば、図11に示すスタジオが、イベント運営機関が運営するスタジオであって、イベント運営機関が演者ユーザーにスタジオを提供している等の場合であって、これらスタジオに配信用サーバコンピュータ100が設置されている場合にあっては、管理者端末150や演者端末200を配信用サーバコンピュータ100にローカルにデータ通信接続した形態としたり、スタジオ施設内のローカルエリアネットワークLANを介して通信接続するようにしてもよい。
また、図1に示すように、視聴者ユーザーA、視聴者ユーザーB、視聴者ユーザーC…のように、視聴者ユーザーは複数であって、視聴者端末300としては、個々の視聴者ユーザーA、視聴者ユーザーB、視聴者ユーザーC…が使用可能な視聴者端末300a、視聴者端末300b、視聴者端末300c…を含む。尚、視聴者ユーザーは、通常、複数であるが、1人でもよいし、4人以上であってもよく、その数は仮想空間である仮想ライブ会場等に応じて適宜に決定すればよい。以下、視聴者ユーザーA、視聴者ユーザーB、視聴者ユーザーC…を総称して視聴者ユーザーと表記する場合があるとともに、視聴者端末300a、視聴者端末300b、視聴者端末300c…を総称して視聴者端末300と表記する場合がある。
また、本実施例1では、演者ユーザーを1人とした形態を例示しているが、本発明はこれに限定されるものではなく、仮想ライブは、単独で活動している複数の演者ユーザーが仮想参加する共演イベントであってもよいし、共同で活動している複数人のグループが仮想参加するグループイベントであってもよく、このように、複数の演者が出演する場合には、各演者ユーザー毎に演者端末200a、演者端末200b、演者端末200c…を設けるようにしてもよいし、複数人のグループで出演する場合であれば、1つの演者端末200を複数人で使用するようにしてもよい。
また、図1においては、配信用サーバコンピュータ100を単体として図示しているが、本発明はこれに限定されるものではなく、これら配信用サーバコンピュータ100を、仮想空間処理を主に行う第1サーバコンピュータと配信処理を主に行う第2サーバコンピュータ等の複数のサーバコンピュータで構成したり、あるいは、クラウドサーバ等にて構成して、イベントの規模や参加する聴者ユーザーの数等に応じてサーバコンピュータの数を適宜に変更可能としてもよい。
同様に、管理者端末150についても、図1においては単体として図示しているが、本発明はこれに限定されるものではなく、これら管理者端末150を、ライブに仮想参加する演者ユーザーや視聴者ユーザーの数等に応じて複数としてもよいことはいうまでもない。
<配信用サーバコンピュータ>
図2は、本実施例1に用いた配信用サーバコンピュータ100の構成を示す図である。本実施例1で用いた配信用サーバコンピュータ100は、上記のように、イベント運営機関が運営するスタジオに設置された比較的処理能力に優れた通常のサーバコンピュータであって、図2に示すように、データバス108に接続されたプロセッサ(CPU)101、メモリ(RAM)102、ハードディスク等のストレージ103、オープンコンピュータネットワークであるインターネットを介したTCP/IPプロトコルによる双方向に通信が可能な通信インターフェイス(I/F)104と、キーボード等の入力装置等を接続可能な入出力インターフェイス(I/F)105を有している。
尚、本実施例1では、ローカル操作を可能とするために、入出力インターフェイス(I/F)105を設けているが、通信インターフェイス(I/F)104を介してのリモート操作が可能である場合には、入出力インターフェイス(I/F)105を設けない形態としてもよい。
配信用サーバコンピュータ100のストレージ103には、図示しないサーバ機能を提供するためのオペレーションシステム(サーバOS)に加えて、図3に示すように、各種のデータやプログラムが記憶されている。具体的には、主に、ライブイベントを管理するイベント管理機能を提供するためのイベント管理プログラム110、仮想空間である仮想ライブ会場の仮想空間を提供するための仮想空間生成プログラム120、演者ユーザーを管理する演者ユーザー管理機能を提供するための演者ユーザー管理プログラム130と、視聴者ユーザーを管理する視聴者ユーザー管理機能を提供するための視聴者ユーザー管理プログラム132と、が記憶されている。
イベント管理プログラム110は、管理者端末150と協同して仮想ライブ会場(図12参照)で開催されるイベントである仮想ライブを管理するためのプログラムであって、該イベント管理プログラム110とともにストレージ103に記憶されているイベントデータ111(図7参照)、タイムスケジュールデータ(TSデータ)112、楽曲データ113を使用して仮想ライブイベントの進行を管理可能とされている。
本実施例1に用いたイベントデータ111を、図7に例示する。イベントデータ111は、イベントに固有に付与されたイベントIDに対応付けて、イベント名、タイムスケジュール(TS)データのファイル名、出演者である演者ユーザーに固有に付与された演者ID、楽曲リストのファイル名、後述する仮想観客領域の第3領域に仮想参加が許可された特別な視聴者ユーザーの情報が登録されている参加視聴者リストのファイル名と、後述する仮想観客領域の第4領域に仮想参加を予約した視聴者ユーザーの情報が登録されている参加視聴者リストのファイル名等の情報が記憶されている。
尚、タイムスケジュールデータ(TSデータ)112は、開催される仮想ライブイベントの進行順序や楽曲等の演目が時系列に記述されたデータとされており、該タイムスケジュールデータ(TSデータ)112に記述されたタイムスケジュールにもとづいて仮想ライブイベントが進行するように管理される。また、これらタイムスケジュールデータ(TSデータ)112やイベントデータ111等は、管理者端末150をイベント管理者Mが操作することによって変更、更新、追加することができる。
また、楽曲データ113は、演者ユーザーが歌唱する各楽曲の演奏パート(所謂カラオケ)のデータであって、イベント管理プログラム110によってタイムスケジュールデータ(TSデータ)112にもとづいて、後述する音声制御プログラム124によって再生されて、演者端末200や視聴者端末300に送信される(図11参照)。
仮想空間生成プログラム120は、図12に示す仮想空間である仮想ライブ会場を提供するためのプログラムであって、該仮想空間生成プログラム120とともにストレージ103に記憶されている仮想ライブ会場の構造等が記述された仮想空間データ121、仮想ライブ会場に配置される種々の物体(ステージ上の星の装飾物である仮想配置オブジェクト43や上空の星のオブジェである仮想空中オブジェクト50~52を含む)等を仮想空間内に配置するためのオブジェクトデータ122、並びに後述する演者ユーザーデータ131に含まれている演者アバターデータおよび視聴者ユーザーデータ133に含まれている視聴者アバターデータとを用いて、演者アバターや視聴者アバターが仮想参加している仮想ライブ会場を提供する機能を有する。
視点映像制御プログラム123は、図12に示すように、仮想ライブ会場に仮想的に設定された仮想カメラC1~C4並びに空中移動仮想カメラ(図示略)からの視点映像を生成する機能を提供するとともに、視聴者端末300と協同して仮想ライブ会場の第3領域にて仮想参加している視聴者アバター11~14、第4領域にて仮想参加している視聴者アバター21~32の各視点からの映像を視聴者端末300に表示する機能を提供するためのプログラムである。尚、仮想カメラC2は、仮想ライブ会場のステージ上にいる演者アバター1の視点からの映像とするために設定された仮想カメラであり、該仮想カメラC2からの視点映像が、演者端末200と協同して該演者端末200に接続された後述するプロジェクタ211によって、スタジオにもうけられているスクリーンSに投影されるようになっている。
音声制御プログラム124は、仮想ライブイベントにおいて配信される音声(楽曲を含む)に関する制御を行うためのプログラムであり、具体的には、楽曲データ113の再生機能や演者ユーザーが発した音声を再生した楽曲と合成して管理者端末150や視聴者端末300に配信する機能を提供する。
コメント制御プログラム125は、後述する視聴者端末300に記憶されている視聴者用コメント制御プログラムと協同して、仮想ライブイベントにおいて各視聴者ユーザーが視聴者端末300において入力した種々のコメントを、時系列に演者端末200並びに視聴者端末300に表示させる機能を提供する。
ギフト制御プログラム126は、後述する視聴者端末300に記憶されている視聴者用プログラムと協同して、視聴者ユーザーから演者ユーザーに贈られるギフトに関する制御を行うためのプログラムであり、具体的には、ギフトデータ134に記憶されている各種ギフトに設定された購入単価の情報にもとづいて視聴者ユーザーがギフトの購入を行う機能や、ギフトデータ134に含まれているギフトのオブジェクトデータを用いて購入したギフトを視聴者ユーザーが演者ユーザーに贈るための処理機能(贈るときの演出等の処理を含む)や、贈られたギフトの所有者を視聴者ユーザーから演者ユーザーに変更するための処理機能等を提供する。
演者ユーザー管理プログラム130は、該演者ユーザー管理プログラム130とともにストレージ103に記憶されている図8に示す演者ユーザーデータ131にもとづいて、演者ユーザーに関する情報の管理機能並びに認証機能等を提供する。
本実施例1で用いた演者ユーザーデータ131を、図8に例示する。演者ユーザーデータ131は、演者ユーザーに固有に付与された演者ユーザーIDに対応付けて、当該演者ユーザーのアカウント(電子メールアドレス)、名称、認証情報、仮想空間において使用するアバターのアバターデータのファイル名、所有しているアイテムが登録されているアイテムリストのファイル名、等の各種情報が記憶されている。尚、図8には図示していないが、各演者ユーザーが所有しているポイント等の仮想価値の情報を演者ユーザーデータ131として記憶するようにしてもよい。
演者ユーザーは、演者ユーザーID、アカウント、認証情報とを照合する等によって認証できるようになっているとともに、各演者ユーザーが視聴者から贈られることで所有することになったアイテム(ギフト)を、アイテムリストから特定できるようになっている。
視聴者ユーザー管理プログラム132は、該プログラムとともにストレージ103に記憶されている図9に示す視聴者ユーザーデータ133にもとづいて、視聴者ユーザーに関する情報の管理機能並びに認証機能等を提供する。
本実施例1に用いた視聴者ユーザーデータ133を、図9に例示する。視聴者ユーザーデータ133は、視聴者ユーザーに固有に付与された視聴者ユーザーIDに対応付けて、当該視聴者ユーザーのアカウント(電子メールアドレス)、認証情報、仮想空間において使用するアバターのアバターデータのファイル名、仮想空間において使用可能なポイントの所有数である所有ポイント、ポイントを使用して購入したアイテム(ギフト)が登録されているアイテムリストのファイル名、氏名、生年月日、電話番号等の個人情報等の各種情報が記憶されている。尚、図9には示していないが、コメントとともに表示されるニックネーム(コメントネーム)についても視聴者ユーザーデータ133に登録されていて、該ニックネーム(コメントネーム)がコメントとともに表示される。また、ポイントは、例えば、所定の運営会社から購入することで増やすことができる。
<演者端末>
図4は、本実施例1の仮想空間コンテンツ配信システムにおける演者端末200の構成例を示す図である。演者端末200は、本実施例1では、図11に示すように、演者ユーザーが演技動作を行うスタジオに隣接する調整室内に設けられていて、比較的処理能力に優れた通常のコンピュータを使用しており、図4に示すように、データバス208に接続されたプロセッサ(CPU)201、メモリ(RAM)202、ハードディスク等のストレージ203、オープンコンピュータネットワークであるインターネットを介したTCP/IPプロトコルによる双方向に通信が可能な通信インターフェイス(I/F)204、表示装置A210~表示装置C212が接続されたグラフィックスプロセッシングユニット(GPU)を含む画像処理部206、各種の入出力デバイスが接続された入出力インターフェイス(I/F)205を有している。
入出力インターフェイス(I/F)205には、入力デバイスとして、演者ユーザーが左右の手足及び腰に装着している複数の装着センサ220C1~220C5(図11参照)を含むモーションセンサ220、演者の顔の表情を入力するための撮像カメラで構成される表情入力装置221、演者ユーザーの頭部に装着されている集音マイクにより構成される音声入力装置222、演者ユーザーを補助する補助オペレータOが操作可能に設けられたキーボードやタッチパネル等の操作入力装置224等が接続される。尚、これら入力デバイスとして、演者ユーザーが把持することで種々の操作を行うことが可能なコントローラを設けることで、補助オペレータOによることなく、演者自身が種々の操作を行うことができるようにしてもよい。
尚、本実施例1では、演者ユーザーが楽曲に合わせた上演動作(歌唱やダンス等の楽曲動作を含む)を行うため、上演中における操作を補助オペレータOが補助する形態としているが、これら補助オペレータOを複数人としたり、或いは、操作内容を予め演者端末200において、例えば、シーケンスプログラム等に設定しておくことで、補助オペレータOを設けない形態としてもよい。
入出力インターフェイス(I/F)205には、出力デバイスとして演者ユーザーが装着している高機能イヤホン(イヤモニ)や調整室に配置されたスピーカー等を含む音声出力装置223が接続されることで、配信用サーバコンピュータ100から送信される再生楽曲の音が高機能イヤホン(イヤモニ)を介して演者ユーザーに対して出力されるとともに、スピーカーからは、演者の音声とともに楽曲音声が出力されることで、演者ユーザーが発した音声を含む楽曲の状況を、補助オペレータO等が調整室において確認することができるようになっている。
本実施例1では、演者ユーザーが装着している集音マイクから、再生された楽曲音声が入力されることによる不都合を回避するために高機能イヤホン(イヤモニ)を使用しているが、本発明はこれに限定されるものではなく、楽曲音声が入力されることによる不都合を回避できるのであれば、スタジオ内のスピーカー等から、楽曲音声を出力するようにしてもよい。
尚、本実施例1では、集音マイクを演者ユーザーが装着する形態を例示しているが、これら集音マイクを、スタジオの床、壁、又は天井に設置される設置型のものとしてもよい。
ここで、本実施例1の演者端末200で使用したモーションセンサ220について説明する。モーションセンサ220は、演者ユーザーの体の動き(動作)を適切に検出(計測)できるものであれば、任意のものを使用することができる。本実施例1では、演者の動作をより正確且つ短周期で検出可能とするために、演者ユーザーが体に装着する複数の装着センサ220C1~220C5を使用している。尚、モーションセンサ220を、レーザー光等を用いたLiDER等の演者が機器を装着しないタイプのものを使用してもよい。
尚、本実施例1では、演者ユーザーが上演動作をする際のセンサ等の装着による動作負担、特には、頭部の動作負担を軽減するために、演者ユーザーの頭部の動作を、後述するように、表情入力装置221を構成する撮像カメラにて撮像された画像を用いた画像認識によって検出し、頭部以外の動作を5つの装着センサ220C1~220C5を使用した形態を例示しているが、例えば、演者ユーザーの頭部等にも装着センサを設けたり、更に、より詳細な動作を検出するために、より多く(7以上)の装着センサを装着するようにしてもよい。
装着センサ220C1~220C5は、図11に示すように、隣接する調整室とガラス窓を隔てたスタジオルーム内に設置されているベースステーション220a及びベースステーション220bと協働して、自らの位置及び向きを検出する。
これらベースステーション220a及びベースステーション220bは、一例として、多軸レーザーエミッターを使用できる。ベースステーション220aは、同期用の点滅光を発した後に、例えば鉛直軸の周りでレーザー光を走査する。ベースステーション220bは、例えば水平軸の周りでレーザー光を走査する。
装着センサ220C1~220C5はそれぞれ、ベースステーション220a及びベースステーション220bからの点滅光及びレーザー光の入射を検知する光センサを複数備えていてもよい。
装着センサ220C1~220C5はそれぞれ、点滅光の入射タイミングとレーザー光の入射タイミングとの時間差、各光センサでの受光時間、各光センサが検知したレーザー光の入射角度、及び必要に応じてこれら以外の情報に基づいて、自らの位置及び向きを検出可能とされており、例えば、HTC CORPORATIONから提供されているViveTrackerや、ベースステーションを好適に使用することができる。
ベースステーション220a及びベースステーション220bは、一定のインターバルで点滅光の発光及びレーザー光の走査を行うので、各装着センサ220C1~220C5の検出情報は、当該インターバルごとに更新される。そして、これら装着センサ220C1~220C5の各々において算出された各モーションセンサの位置及び向きを示す検出情報は、近距離無線通信によって演者端末200に入力され、フェイスモーションの情報とともに、演者アバター情報として配信用サーバコンピュータ100に送信される(図10参照)。
尚、本実施例1では、ベースステーション220a及びベースステーション220bの2つのベースステーションを使用した形態を例示しているが、本発明はこれに限定されるものではなく、これらベースステーションを3つ以上としてもよい。
また、モーションセンサ220を、演者ユーザーに装着される複数のモーションセンサの各々に多数の赤外LED或いは可視光LEDを搭載し、これらのLEDからの光を、スタジオの床や壁に設けられた赤外線カメラで検知することで、当該モーションセンサの各々の位置及び向きを検出してもよい。
また、モーションセンサ220を、演者ユーザーの負担を軽減するために、装着センサ220C1~220C5に代えて、より軽量な反射マーカーを用いたモーションセンサを使用してもよい。つまり、演者ユーザーの身体の各部に粘着テープなどにより貼着された反射マーカーを撮影して撮影データを生成し、この撮影データを画像処理することにより、反射マーカーの位置及び向きを検出することで、演者ユーザーの動作を検出するものであってもよく、この場合にあっては、スタジオ内に演者ユーザーを撮影するカメラマンを配置して、該カメラマンが演者ユーザーを撮影することで、演者ユーザーの動作を、検出に適した方向から撮影することで、良好に検出できるようにしてもよい。
また、モーションセンサ220として、慣性センサが内蔵されたスーツ、例えば、Xsens.com社が上市しているMVNモーションキャプチャシステム用の慣性センサ内蔵スーツを使用し、慣性センサから出力されるセンサ信号を解析することにより、演者ユーザーの動作を検出するものであってもよい。
表情入力装置221は、演者ユーザーの顔を含む頭部の動作を適切に検出できるものであれば、任意のものを使用することができる。本実施例1では、具体的には、演者ユーザーの顔を含む頭部画像を連続的に撮像可能に配置された撮像カメラ(デジタルカメラ)にて構成されており、該撮像カメラにて撮像された演者ユーザーの頭の動きと顔の動き(表情)を、画像認識にて検知し、該検知した頭の動きと顔の動き(表情)であるフェイスモーションの情報が、図10に示すように、ボディモーションの情報とともに演者アバター情報として配信用サーバコンピュータ100に送信される。
尚、表情入力装置221は、本実施例1で使用した撮像カメラ(デジタルカメラ)に限定されるものではなく、例えば、表情入力装置221は、人物の顔の奥行きを検出可能な3Dカメラであってもよいし、例えば、LiDERデバイスが搭載されたスマートフォン等の携帯端末を使用することもできる。この場合、これらの携帯端末を演者ユーザーが装着するようにしてもよい。
本実施例1の演者端末200では、上記のように、3つの表示装置A210~表示装置C212を有しており、表示装置A210は、図11示すように、調整室に設けられている液晶モニター等であり、表示装置B211は、スタジオ内に設けられたスクリーンSに映像を投影するプロジェクタであり、表示装置C212は、スタジオ内にスクリーンSに隣接して設けられた縦型の大型ディスプレイである。
スタジオの調整室内に配置されている表示装置A210には、仮想カメラC1~C4の各視点からの映像や後述するフライング演出期間における空中移動仮想カメラからの視点映像と、コメントの内容と、補助オペレータOが演者ユーザーに伝達したいメッセージを入力するメッセージ入力ウインドウ等が表示される。
一方、スタジオ内に設けられた表示装置B211であるプロジェクタから投影されるスクリーンSには、演者の視点である仮想カメラC2(図12参照)の視点映像である、例えば、図15に示すように、第3領域や第4領域においてライブに仮想参加している視聴者のアバターを含む映像が表示されることで、演者ユーザーが、仮想ライブに仮想参加している視聴者ユーザーの状況を、映像によって確認できるようになっている。
また、スタジオ内に設けられた表示装置C212には、視聴者ユーザーのコメントや、補助オペレータOが入力したコメントやメッセージ等が表示されることで、演者ユーザーが、上演中においても視聴者ユーザーのコメントを確認したり、補助オペレータOからのメッセージを確認することができる。
ストレージ203には、演者端末200であるコンピュータを動作させるためのオペレーションシステム(OS)に加えて、プロセッサ(CPU)201等が実行することで仮想空間コンテンツである仮想ライブにおける演者ユーザーによる演者アバター1の動作制御機能を初めとする各種機能を、配信用サーバコンピュータ100と協働して提供するための演者用プログラムが記憶されている。
演者用プログラムは、図4に示すように、演者アバター制御プログラム、演者用視点映像制御プログラム、演者用視点映像制御プログラム、演者用音声制御プログラム、演者用コメント制御プログラム、演者認証用データ等を含む。
演者アバター制御プログラムは、主に、モーションセンサ220を用いて演者ユーザーのボディモーションをスキャンするとともに、表情入力装置221を用いて演者ユーザーのフェイスモーション(表情)をスキャンして、演者アバターを動作させるための演者アバター情報を生成して配信用サーバコンピュータ100に送信する機能を提供するプログラムである。
演者用視点映像制御プログラムは、配信用サーバコンピュータ100から配信される仮想空間更新データにもとづいて演者視点である仮想カメラC2の視点映像を生成、出力する機能を提供するプログラムである。
演者用音声制御プログラムは、配信用サーバコンピュータ100から配信される再生楽曲データにもとづく楽曲の再生音を、音声出力装置223を介して出力するとともに、音声入力装置222から入力される音声をデータ化して演者音声データとして配信用サーバコンピュータ100に送信し、楽曲の再生音と演者音声とからなるモニター音声を生成、出力する機能を提供するプログラムである。
演者用コメント制御プログラムは、配信用サーバコンピュータ100から配信される視聴者ユーザーによる各コメント等を表示する機能を提供するプログラムである。
演者認証用データは、配信用サーバコンピュータ100との通信接続において演者ユーザーが本人であることを認証するためのデータである。
尚、演者アバター制御プログラムには、演者アバターデータに含まれる演者アバターの骨格を示すリグデータ(スケルトンデータと呼ばれることもある。)を構成する骨( ボーン) の位置及び回転角度のパラメータ情報を生成可能なモーションパラメータ生成プログラム等が含まれているとともに、撮像カメラによって撮像された画像から演者ユーザーの頭部の位置と表情とを画像認識するための画像認識処理プログラム等が含まれている。
また、本実施例1では、演者端末200は、イベント運営機関が運営するスタジオに設置された演者端末200となるコンピュータを、複数の演者ユーザーが共同で利用し、ライブイベントを開催するときにおいて、個々の演者ユーザーが、演者認証用データを入力することで当該演者ユーザーの演者端末200として利用できるようにした形態を例示しているが、本発明はこれに限定されるものではなく、例えば、演者ユーザーが自宅等から仮想ライブに出演する場合であって、演者端末200が、演者ユーザーが自宅に設置している自分専用のコンピュータである場合のように、所有する演者ユーザーのみが利用する形態であってもよく、このような場合には、演者認証用データの記憶は必ずしも必要ない。
このように、本実施例1の仮想空間コンテンツ配信システムを構成する演者端末200を演者ユーザー等が使用することで、演者ユーザーは、仮想ライブ会場における仮想ステージG上に配置された演者アバター1を、自身の動作に連動して動作させることができるとともに、演者アバター1の表情に自身の表情を反映させることができる。また、自分の声を演者アバター1の声として、配信用サーバコンピュータ100を通じて視聴者に配信することができる。
<視聴者端末>
図5は、本実施例1の仮想空間コンテンツ配信システムにおける視聴者端末300の構成例を示す図である。視聴者端末300は、本実施例1では、視聴者ユーザーが携行するスマートフォンPや視聴者ユーザーが自宅等に設置している据え置き型の通常のコンピュータ(PC)とされており、図5に示すように、データバス308に接続されたプロセッサ(CPU)301、メモリ(RAM)302、ハードディスクや不揮発性メモリ等のストレージ303、オープンコンピュータネットワークであるインターネットを介したTCP/IPプロトコルによる双方向に通信が可能な通信インターフェイス(I/F)304、表示装置310が接続されたグラフィックスプロセッシングユニット(GPU)を含む画像処理部306、各種の入出力デバイスが接続された入出力インターフェイス(I/F)305を有している。
表示装置310は、後述するように、ストレージ303に記憶されている視聴者用プログラムに含まれる視聴者用視点映像制御プログラムによって、配信用サーバコンピュータ100から配信される仮想空間更新データ(図10参照)によって更新される仮想空間である仮想ライブ会場の仮想空間データにもとづいて生成される各視点映像や、後述するフライング演出期間において配信用サーバコンピュータ100から配信されるフライング視点映像を表示可能なものであればよく、視聴者端末300がスマートフォンPである場合は、該スマートフォンPが有するディスプレイが該当し、視聴者端末300が通常のコンピュータ(PC)であれば、コンピュータ(PC)を構成する据え置き型のディスプレイが該当する。尚、これらディスプレイは、平面視画像(2D画像)を表示するものに限らず、例えば、視聴者が装着可能なヘッドマウントディスプレイ(HMD)のように、右目画像と左目画像とを表示することで、立体視画像(3D画像)を表示可能なものであってもよい。
入出力インターフェイス(I/F)305には、入力デバイスとして、視聴者が各種の操作が可能とされた1または複数のデバイスからなる操作入力装置321と、配信用サーバコンピュータ100から配信されるライブ音声等を出力可能なイヤホンやスピーカー等の音声出力装置322が接続される。
尚、音声出力装置322は単独のデバイスではなく、上記したヘッドマウントディスプレイ(HMD)のように表示装置310と一体とされたものであってもよいことはいうまでもない。
操作入力装置321は、視聴者が視聴者アバターの移動等を含む動作操作、ズーム操作、コメントに関する操作、ギフト等に関する操作等、の各種操作を実行可能なものであれば任意のものを使用することができ、例えば、スマートフォンのディスプレイ表面に形成された透明タッチパネル、コンピュータを構成するキーボード、ゲームコントローラ等の少なくとも1つ以上で構成される。
尚、本実施例1では、視聴者として、後述するように、仮想ライブ会場における仮想観客領域が、図12に示すように、演者ユーザーによって特別に許可された視聴者ユーザーだけが仮想参加できる仮想ステージG近傍の第3領域と、一般の視聴者ユーザーが仮想参加できる第3領域周囲の第4領域とに区分けされており、第4領域に仮想参加する視聴者ユーザーは、上記したように、タッチパネル、キーボード、ゲームコントローラ等の操作入力装置321であればよいが、第3領域に仮想参加する視聴者ユーザーは、操作入力装置321として、例えば、上述した慣性センサが内蔵されたMVNモーションキャプチャスーツを所有していることで、演者ユーザーと同様に、視聴者アバターを自身の動作によって細かく動作させることのできる視聴者ユーザーである。
但し、第3領域に仮想参加が許可された視聴者ユーザーであっても、視聴者アバターの表情を変更することまではできないが、本発明はこれに限定されるものではなく、これら視聴者アバターの表情を、例えば、上記したように、視聴者ユーザーがスマートフォンのカメラ機能やコンピュータに接続したカメラを使用して視聴者ユーザーの顔の表情を認識させることで、演者ユーザーの変更レベルとは異なるレベルであっても、変更できるようにしてもよい。
尚、これら入出力インターフェイス(I/F)305に接続される各種の入出力デバイスは、内蔵のものであっても外付けのものあってもよく、外付けのデバイスの場合には、有線、無線のいずれの接続形態であってもよい。
ストレージ303には、視聴者端末300であるスマートフォンやコンピュータを動作させるためのオペレーションシステム(OS)に加えて、プロセッサ(CPU)301等が実行することで仮想空間コンテンツである仮想ライブにおける視聴者ユーザーに関するライブ視聴機能を初めとする各種機能を、配信用サーバコンピュータ100と協働して提供するための視聴者用プログラムが視聴アプリとして記憶されている。
視聴者用プログラムは、図5に示すように、表示装置310に表示する仮想ライブの各視点映像を生成する機能を提供する視聴者用視点映像制御プログラム、配信用サーバコンピュータ100から配信される仮想ライブのライブ音声(データ)に基づくライブ音声を音声出力装置322から出力する機能を提供する視聴者用音声制御プログラム、配信用サーバコンピュータ100から配信されるコメントデータにもとづくコメントを表示するとともに、視聴者が入力するコメントと配信用サーバコンピュータ100に送信する等のコメントに関する機能を提供する視聴者用コメント制御プログラム、配信用サーバコンピュータ100との通信接続において視聴者ユーザーが本人であることを認証するための視聴者認証用データ等を含む。
尚、図5には図示していないが、上記したプログラム以外に、ギフトに関する制御等を行うギフト制御プログラムや、後述する変形例3-1(図42,図43参照)に示すように、ライブイベントの開始前において事前に仮想ライブ会場において視聴者アバターが仮想参加する領域(位置)を予約するための領域指定プログラム等が含まれているが、これら以外の他のプログラムが含まれていてもよい。
視聴者が入力するコメントは、本実施例1では、テキスト形式の短文メッセージとされているが、これらテキスト形式の短文メッセージに限定されるものではなく、例えば、静止画形式のメッセージ、動画形式のメッセージ、及びこれら以外の任意の形式の電子的なメッセージであってもよい。尚、コメントは、表示装置310において各視点映像に重ねて表示される。
このように、本実施例1の仮想空間コンテンツ配信システムを構成する視聴者端末300視聴者ユーザーが使用することで、仮想ライブ会場に仮想参加している視聴者アバターを移動や動作させて、視聴者アバターによる視点を変更することで表示装置310に表示される視点映像を変更することができるとともに、ズーム状態(視点の状態)についても変更することができ、視聴者アバターを動作させて演者アバター1を応援することができる。
尚、第3領域に仮想参加した視聴者アバターの場合は、第3領域内においてだけ移動が可能とされていて、第4領域には移動することはできない。一方、第4領域に仮想参加した視聴者アバターの場合は、第4領域内においてだけ移動が可能とされていて、第3領域には移動することはできない。但し、本発明はこれに限定されるものではなく、3領域に仮想参加した視聴者アバターの場合は第4領域に移動できるようにしてもよい。尚、視聴者アバターは、当然、仮想ステージG等には移動することができないので、演者アバター1の視認が仮想ステージG上に視聴者アバターが移動することによって阻害されてしまうことはない。
また、これら表示装置310に視点映像が表示されるともに、ライブ音声が出力されることで、自分が仮想ライブ会場に立ち会っているような感覚で、仮想ライブを楽しむことができる。
また、詳しい説明は省略するが、視聴者用コメント制御プログラムにより提供されるコメント機能によって、自分や他の視聴者ユーザーが入力したコメントを確認しながら仮想ライブを楽しむことができるとともに、ギフト制御プログラムによるギフト機能によって、自分が所有しているアイテムを演者アバター1に贈ることで、仮想ライブを盛り上げることもできる。
<管理者端末>
図6は、本実施例1の仮想空間コンテンツ配信システムにおける管理者端末150の構成例を示す図である。管理者端末150は、本実施例1では、演者端末200とともに、スタジオに隣接している調整室内に設けられた通常のコンピュータを使用しており、図6に示すように、データバス158に接続されたプロセッサ(CPU)151、メモリ(RAM)152、ハードディスク等のストレージ153、オープンコンピュータネットワークであるインターネットを介したTCP/IPプロトコルによる双方向に通信が可能な通信インターフェイス(I/F)154、表示装置160が接続されたグラフィックスプロセッシングユニット(GPU)を含む画像処理部156、各種の入出力デバイスが接続された入出力インターフェイス(I/F)155、を有している。
表示装置160は、後述するように、ストレージ153に記憶されている管理者用プログラムに含まれる管理者用視点映像制御プログラムによって、配信用サーバコンピュータ100から配信される仮想空間更新データ(図10参照)によって更新される仮想空間である仮想ライブ会場の仮想空間データにもとづいて生成される、後述する各仮想カメラC1~C4並びにフライング演出期間における空中移動仮想カメラの各視点映像を個別に表示可能であるとともに、配信用サーバコンピュータ100から配信されるコメントデータにもとづくコメントを表示可能なものであればよく、1または複数の据え置き型のディスプレイによって構成されている。
入出力インターフェイス(I/F)155には、入力デバイスとして、イベント管理者Mが各種の操作が可能とされた1または複数のデバイスからなる操作入力装置161と、配信用サーバコンピュータ100から配信されるライブ音声等を出力可能なイヤホンやヘッドホンやスピーカー等の音声出力装置162が接続される。
操作入力装置161は、イベント管理者Mが、仮想ライブのイベントに関する入力や設定等の各種操作を実行可能なものであれば任意のものを使用することができ、例えば、コンピュータを構成するキーボードや、ディスプレイ表面に形成された透明タッチパネルや視点切替コントローラ等の少なくとも1つ以上で構成される。
尚、これら入出力インターフェイス(I/F)155に接続される各種の入出力デバイスは、有線、無線のいずれの接続形態であってもよい。
ストレージ153には、管理者端末150であるコンピュータを動作させるためのオペレーションシステム(OS)に加えて、プロセッサ(CPU)151等が実行することで仮想空間コンテンツである仮想ライブの配信に関する配信管理機能を初めとする各種機能を、配信用サーバコンピュータ100と協働して提供するための管理者用プログラムが記憶されている。
管理者用プログラムは、図6に示すように、管理者用視点映像制御プログラム、管理者用音声制御プログラム、管理者用コメント制御プログラム、視聴者管理プログラム、演者管理プログラム等を含む。
管理者用視点映像制御プログラムは、表示装置160に表示する各仮想カメラからの視点映像を生成する機能並びに各視点の変更や切替機能を提供するプログラムである。
管理者用音声制御プログラムは、配信用サーバコンピュータ100から配信される仮想ライブの音声データに基づくライブ音声を音声出力装置162から出力する機能を提供するプログラムである。
管理者用コメント制御プログラムは、配信用サーバコンピュータ100から配信されるコメントデータにもとづくコメントを表示するとともに、配信を禁止するコメントや視聴者を選択して配信されないようにする等のコメントに関する機能を提供するプログラムである。
視聴者管理プログラムは、仮想ライブに仮想参加する視聴者ユーザーを管理するためのプログラムであり、演者管理プログラムは、仮想ライブに仮想参加する演者ユーザーを管理するためのプログラムである。
尚、図6には図示していないが、操作者である管理者が本人であるか否かを認証するための認証用プログラムや、仮想ライブのタイムスケジュールや楽曲順等を編集するためのスケジュール用プログラム等が含まれているが、これら以外のプログラムが含まれていてもよい。
このように、本実施例1の仮想空間コンテンツ配信システムを構成する管理者端末150をイベント管理者Mが操作することによって、イベントを実行するための種々の設定、例えば、演目や楽曲順、演出に関する設定や、タイムスケジュール、フライング演出期間において空中移動仮想カメラが移動する軌道等の各種設定を実施できるようになっており、このようにして設定された内容にもとづいて仮想ライブが管理されるようになっている。
<仮想ライブ会場>
本実施例1で使用した仮想空間である仮想ライブ会場を図12に示す。仮想ライブ会場は、図12に示すように、現実空間におけるライブ会場と同様に、演者ユーザーが演者アバター1として登壇する仮想ステージGと、観客となる視聴者ユーザーが視聴者アバターとして仮想参加する仮想観客領域とを有する仮想空間とされている。
仮想ステージGは、図12に示すように、比較的広い面積の台形状の床面を有しており、現実空間のライブ会場と同様に、演者アバター1が仮想ステージG上を移動できる。仮想ステージGの仮想客席方向とは逆方向側には、図12に示すように、中央部と右側部と左側部とに3分割された仮想ステージ壁が形成されており、これら仮想ステージ壁の前面に、仮想ディスプレイ40、41、42が設けられていて、該仮想ディスプレイ40、41、42に、演出用の画像や映像が仮想表示されるようになっている。
尚、仮想ディスプレイ40、41、42の間には、演者ユーザーに関係する星の仮想配置オブジェクト43が配置されているとともに、仮想ステージG上の領域であって仮想ステージ壁に囲まれた第1領域よりも上方の領域である第2領域には、図12に示すように、大きな星の仮想空中オブジェクト50~52が配置されている。尚、仮想空中オブジェクト50~52は、第2領域内を移動できるようになっている。
仮想ステージGの前側には、視聴者ユーザーが視聴者アバターとして仮想ライブ会場に仮想参加できる仮想観客領域が設けられている。この仮想観客領域は、図12に示すように、演者アバター1が登壇する仮想ステージGの中央に近い特別領域である第3領域と、第3領域を囲むように形成された領域であって仮想ステージGの中央からの距離が第3領域よりも大きい第4領域とが設けられている。
これら第3領域には、所定の上限数の範囲内で、仮想参加が許可された特別な視聴者ユーザーが仮想参加可能とされていて、本実施例1では、図12に示すように、例えば、所定の仮想参加実績を満たすとともに演者ユーザーによって仮想参加が許可された4人の視聴者ユーザーの視聴者アバター11~14が配置されている。
また、第4領域には、仮想ライブの開始前において仮想参加を予約した一般の視聴者ユーザーの視聴者アバター21~32が配置されている。尚、図12において、視聴者アバター21~32は、便宜上、簡素化して表示しているが、視聴者アバター11~14と同様のアバターである。
尚、第3領域に配置された各視聴者アバター11~14は、視聴者ユーザーが視聴者端末を操作することで、該第3領域内を移動することが可能とされているとともに、第4領域に配置された各視聴者アバター21~32も、視聴者ユーザーが視聴者端末を操作することで、該第4領域内を移動することが可能とされている。
仮想ライブ会場には、図12に示すように、4つの仮想カメラC1~C4が仮想配置(設定)されている。仮想カメラC1は、演者アバター1の正面位置に、演者アバター1に対面するように仮想配置された仮想カメラであり、仮想カメラC1による視点映像は、図13(a)に示すように、演者アバター1を正面近傍位置から見た視点映像となる。
仮想カメラC2は、演者アバター1の頭上に仮想配置(設定)されたカメラであり、該仮想カメラC2による視点映像は、図15に示すように、演者アバター1から仮想観客領域を見た演者視点映像となる。
仮想カメラC3は、演者アバター1の斜め後方の仮想ディスプレイ41上に仮想配置された仮想カメラであり、仮想カメラC3による視点映像は、図13(c)に示すように、演者アバター1の斜め後方から仮想観客領域を見た視点映像となる。
仮想カメラC4は、演者アバター1の斜め後方の仮想ディスプレイ42上に仮想配置された仮想カメラであり、仮想カメラC4による視点映像は、図13(b)に示すように、演者アバター1の斜め後方から仮想観客領域を見た視点映像となる。
また、本実施例1では、固定配置(設定)された仮想カメラC1~C4に加えて、仮想空間である仮想ライブ会場の空間内を空中移動可能に設定された空中移動仮想カメラ(図示略)が仮想配置されている。これら空中移動仮想カメラが移動する空中軌道並びに空中軌道上の個々の位置における視点方向(アングル)等は、管理者端末150によって予め設定されていて、後述するフライング演出期間において、演者アバター1が空中移動仮想カメラの空中軌道を追随するように仮想飛翔することで、仮想飛翔する演者アバター1を空中移動仮想カメラで捉えた視点映像が生成されるようになっている。
尚、本実施例1では、図12に示すように、固定配置(設定)された仮想カメラとして4つの仮想カメラC1~C4を仮想配置した形態を例示しているが、本発明はこれに限定されるものではなく、これら固定配置(設定)された仮想カメラを5以上としてもよいし、逆に、固定配置(設定)された仮想カメラを設けることなく、仮想ライブ会場に仮想参加した各アバターに対応した視点から見た視点映像だけが、演者端末200や視聴者端末300に表示されるようにしてもよい。
また、本実施例1では、空中移動仮想カメラを1つとした形態を例示しているが、本発明はこれに限定されるものではなく、これら空中移動仮想カメラを複数とした形態としてもよいし、逆に、空中移動仮想カメラを仮想配置しない形態としてもよい。
<スタジオ>
図11は、本実施例1において使用したスタジオを示す図であり、スタジオには、前述したようにガラス窓を隔てた調整室が隣接して設けられており、演者ユーザーがスタジオ内で歌唱に対応した各動作を行うとともに、補助オペレータOが調整室に設置されている演者端末200の操作等を補助する。装着センサ220C1~220C5を装着した演者ユーザーの周囲には、ベースステーション220aとベースステーション220bとがスタンドに搭載配置されているとともに、演者ユーザーのほほ正面位置には、表情入力装置221を構成する撮像カメラがスタンドに搭載配置されている。
演者ユーザーがスタジオ内で対峙する壁面にはスクリーンSが設けられており、スタジオの天井に配置されたプロジェクタ(表示装置B211)から、仮想カメラC2の視点映像がスクリーンSに投影されることで、図15に示すように、演者アバター1から仮想観客領域を見た視点映像がスクリーンSに表示されるようになっており、演者ユーザーが、仮想観客領域において仮想参加している視聴者アバターの様子(ライブに対する視聴者の反応)を逐次、把握しながらライブを進めることができるようになっている。
また、スクリーンSの側方位置には、表示装置C212としての縦型の大型ディスプレイが配置されていて、該大型ディスプレイに視聴者のコメントや補助オペレータOが演者ユーザーに伝達したいメッセージ等が表示されるようになっている。尚、表示装置C212には、ライブにおいて演者が歌唱する楽曲の歌詞や、セリフ等の情報(演者支援情報)が表示されるようにしてもよい。
<仮想空間コンテンツ配信システムの動作>
図10は、本実施例1の仮想空間コンテンツ配信システムの動作、具体的には、仮想ライブの映像や音声が配信される流れを説明する説明図である。
まず、映像系について説明する。配信用サーバコンピュータ100は、前述したように、仮想空間生成プログラム120および演者ユーザーや視聴者ユーザーのアバターデータ等にもとづいて仮想ライブ会場の仮想空間を提供可能とされており、これら演者ユーザーや視聴者ユーザーの各アバターの動作等が、演者端末200から送信される演者アバター情報や、視聴者端末300から送信される視聴者アバター情報によって仮想空間の状態が記述された仮想空間データが更新されることで、演者ユーザーの動作が演者アバター1の動作に反映されるとともに、視聴者ユーザーの動作(操作)が視聴者アバターの動作に反映される。
尚、図10には示していないが、演者端末200並びに視聴者端末300には、仮想ライブに仮想参加するために配信用サーバコンピュータ100と通信接続することに伴って、配信用サーバコンピュータ100から仮想ライブ会場の仮想空間データが事前に配信されて記憶されており、このようにして事前に記憶されている仮想空間データが、後述するように、配信用サーバコンピュータ100から逐次配信される仮想空間更新データによって順次更新されることで、仮想ライブ会場の最新の状態を、演者端末200並びに視聴者端末300にて特定できるようになっている。
具体的には、前述したスタジオにおける演者ユーザーの動作や表情は、前述した演者アバター制御プログラムによるボディモーションスキャン並びにフェイスモーションスキャンの各機能によって所定時間間隔にてスキャンされて演者アバター情報が生成されて配信用サーバコンピュータ100に送信される。
一方、第3領域に仮想参加が許可された視聴者ユーザーは、演者と同様に、モーションセンサを使用しているため、ボディモーションスキャン並びにフェイスモーションスキャンの各機能によって所定時間間隔にてスキャンされて視聴者アバター情報が生成されて配信用サーバコンピュータ100に送信される。
また、第4領域に仮想参加が許可された視聴者ユーザーは、視聴者端末300のタッチパネルやキーボードやコントローラを使用して、移動操作、視点方向の変更操作、視点状況(ズーム)の変更操作、手を挙げる操作、手をたたく操作、跳ねる操作等の各種の操作を行うことで、視聴者アバターに対応する動作をさせることができる。そして、これら各操作のうち、視聴者アバターの動作に関係する操作にもとづいて視聴者アバター情報が生成されて配信用サーバコンピュータ100に送信される。
尚、第3領域に仮想参加している視聴者ユーザーも、移動や視点状況(ズーム)の変更操作、手を挙げる操作、手をたたく操作、跳ねる操作等の各種の操作を、コントローラ等を使用して実行することができ、この場合、各動作に対応したメニュー項目が表示され、該各動作に対応したメニュー項目を、コントローラ等を使用して選択することができる。
このように、視聴者端末300においては、視聴者アバターに行わせる各動作に対応した操作を受付けるアバター動作操作処理が実行される。尚、アバター動作操作処理においては、上記した各動作に対応したメニュー項目の表示や消去等の処理も含まれている。
このようにして演者端末200から送信される演者アバター情報や視聴者端末300から送信される視聴者アバター情報にもとづいて、配信用サーバコンピュータ100は、仮想空間データを更新する仮想空間更新処理を実行することで、仮想ライブ会場に仮想参加している各アバターに演者ユーザーの動作や視聴者ユーザーの動作(操作)を反映させる。
そして、更新前の仮想空間データと更新後の仮想空間データとにもとづいて仮想空間更新データを生成する仮想空間更新データ生成処理を実行した後、該生成した仮想空間更新データを演者端末200と視聴者端末300とに配信する。
仮想空間更新データが配信された演者端末200と視聴者端末300においては、図10に示すように、配信されてきた仮想空間更新データにもとづいて、事前記憶されている仮想空間データが更新されるとともに、該更新された仮想空間データを使用した演者視点映像生成処理や視聴者視点映像生成処理が実行されることで、更新された仮想空間データにもとづく演者視点映像や視聴者視点映像が生成されて、該生成された演者視点映像や視聴者視点映像が演者端末200と視聴者端末300において表示される(視聴者視点映像出力処理)。
このように、本実施例1では、視聴者アバターにより仮想ライブ会場に仮想参加している各視聴者ユーザーの視点映像は、各視聴者ユーザーの視聴者端末300側で生成されて表示されることで、これら各視聴者ユーザーの視聴者アバター視点映像を配信用サーバコンピュータ100で生成することにより配信用サーバコンピュータ100の処理負荷が著しく大きくなって、多くの視聴者ユーザーが仮想ライブに参加できなくなってしまうことを回避できるとともに、処理負荷が増大することによって配信が困難となってしまうことを回避できるようになっている。
本実施例1では、仮想ステージG上の演者アバター1に近い第3領域にて仮想参加している視聴者アバター13の視聴者ユーザーの視聴者端末300の表示装置310には、図13(d)に示すように、演者アバター1に近い視聴者アバター13から見た視点映像である演者アバター1のほぼ正面が大きく表示される視点映像が生成されて表示される一方、仮想ステージG上の演者アバター1から遠い第4領域であって、例えば、視聴者アバター13の後方位置において仮想参加している視聴者アバター28の視聴者ユーザーの視聴者端末300の表示装置310には、図13(e)に示すように、演者アバター1から遠い視聴者アバター28から見た視点映像である、第3領域にて仮想参加している視聴者アバター13や視聴者アバター14越しに、演者アバター1のほぼ正面が相対的に小さく見える視点映像が表示される。
また、上面視コ字状に設定されている第4領域の仮想ステージGの端側位置において仮想参加している視聴者アバター32の視聴者ユーザーの視聴者端末300の表示装置310には、図13(f)に示すように、演者アバター1の斜め前方位置の視聴者アバター32から見た視点映像である、第3領域にて仮想参加している視聴者アバター14越しに、演者アバター1が相対的に小さく見える視点映像が表示される。
尚、図13に示す表示例は、いずれも、視聴者端末300が据置型のコンピュータ(PC)であって表示装置310が、据置型のディスプレイである場合を例示しているが、例えば、視聴者端末300がスマートフォンPやタブレット等である場合には、仮想カメラC1の視点映像の場合には、図14(a)に示すように表示されるとともに、該視聴者端末300が視聴者アバター13の視聴者端末300である場合には、図14(b)に示すように表示される。
次に、音声系について説明すると、配信用サーバコンピュータ100においてタイムスケジュールデータ(TSデータ)112にもとづいて楽曲データ113が音声制御プログラム124によって再生され、再生楽曲(データ)として演者端末200に送信される(楽曲再生処理)。
演者端末200においては、配信用サーバコンピュータ100から送信された再生楽曲(データ)による楽曲音声が、演者ユーザーが装着している高機能イヤホン(イヤモニ)を通じて該演者ユーザーに対して出力されるとともに(再生楽曲出力処理)、該出力された再生楽曲に合わせて演者ユーザーが歌唱することで、集音マイク(音声入力装置222)から入力される演者音声がデータ化されて演者音声(データ)として配信用サーバコンピュータ100に送信される。
配信用サーバコンピュータ100は、演者端末200から受信した演者音声(データ)による演者音声と前述した楽曲再生処理にて再生した再生楽曲とから配信音声(データ)を生成し(配信音声生成処理)、該生成した配信音声(データ)を視聴者端末300に配信する(生成音声配信処理)。
視聴者端末300では、配信用サーバコンピュータ100から配信された配信音声(データ)により配信音声が、イヤホンやスピーカー等の音声出力装置322から出力されることで、視聴者は、あたかも仮想ライブ会場において演者アバター1が歌唱しているようにライブ音声を聞くことができる。
尚、演者端末200においては、上記したように、演者音声(データ)が配信用サーバコンピュータ100に送信されるとともに、図10に示すように、モニター音声生成処理とモニター音声出力処理とが実行されることにより、調整室に配置されているスピーカーから再生楽曲の楽曲音声と演者音声とが出力されることで、演者ユーザーの歌唱の状況等を補助オペレータO等が調整室において確認することができるようになっている。
<視聴者用視点映像制御処理>
次に、視聴者端末300において、視聴者用プログラムに含まれる視聴者用視点映像制御プログラムにもとづいて実行される視聴者用視点映像制御処理について、図20を用いて説明する。
視聴者用視点映像制御処理においては、先ず、演者アバター1が図19に示すように、仮想飛翔するフライング演出期間中であるか否かを判定する(ステップS1)。フライング演出期間中であるか否かは、配信用サーバコンピュータ100から、フライング演出期間中であることを示す演出状態データによって特定することができる。尚、配信用サーバコンピュータ100は、タイムスケジュールデータにもとづいてフライング演出期間となるときに、視聴者端末300に対してフライング演出期間中であることを示す演出状態データを送信する。
フライング演出期間中である場合(ステップS1でY)は、ステップS21に進む一方、フライング演出期間中でない場合(ステップS1でN)は、視点の移動操作(アバターの移動操作や動作操作による視点の変更を含む)やズーム操作を含む視点関係操作が無効とされているか否かを判定する(ステップS2)。
視点関係操作が無効とされている場合(ステップS2でY)は、ステップS7に進む。視点関係操作が無効とされていない場合(ステップS2でN)は、アバターの移動操作や動作操作等の視点が変化する操作が有るか否かを判定し(ステップS3)、操作がある場合(ステップS3でY)は操作に応じて視聴者視点を変更し、操作がない場合(ステップS3でN)は、ステップS5に進んで、ズーム操作があるか否かを判定する(ステップS5)。
ズーム操作がある場合(ステップS5でY)は、表示装置310に表示されている映像領域を操作に応じた映像領域に変更し、ズーム操作がない場合(ステップS5でN)は、動作追随設定の有無を判定する(ステップS7)。
この動作追随設定は、視聴者ユーザーが、自身が操作に使用するデバイスの種類や、操作についての習熟度に応じて、視聴者端末300において、例えば、ライブ開始前やライブ中に、任意に設定することができる。具体的には、例えば、使用するタッチパネル、キーボード、ゲームコントローラ等の操作入力装置321の操作に慣れていない場合や、アバターの移動操作や動作操作による視点の変更に慣れていない場合、後述するように、自身の視聴者アバターの仮想参加位置が演者アバター1から遠く、ズームアップで拡大表示していることで、演者アバター1の少しの動作でも演者アバター1が適切に表示されなくなってしまう等、演者アバター1の移動や動作に対応して視点を上手く変更できない場合等に設定される。
動作追随設定がない場合(ステップS7でN)は、ステップS11に進む一方、動作追随設定がある場合(ステップS7でY)は、更に、動作追随条件が成立したか否かを判定する(ステップS8)。
動作追随条件とは、本実施例1においては、表示装置310において演者アバター1が良好に表示されなくなることがほぼ確実である条件としており、具体的には、演者アバター1の頭部(顔でもよい)が、表示装置310の表示領域の周辺における所定範囲内に入っている場合には、演者アバター1の移動や動作によって表示領域外に頭部(顔)が移動して良好に表示されなくなってしまう可能性が著しく高いことから、動作追随条件が成立したものと判断するようにしている。
このように、本実施例1では、演者アバター1の頭部(顔)が表示領域に表示されなくなる前に動作追随条件が成立したと判断することで、演者アバター1の頭部(顔)が表示領域に表示されなくなってしまうことを大幅に低減できるようにしているが、本発明はこれに限定されるものではなく、これら動作追随条件を、表示領域外に頭部(顔)が移動したことを条件としてもよいし、これら以外の条件を動作追随条件としてもよい。つまり、これら動作追随条件としては、演者アバター1が表示領域に良好に表示されなくなってしまうことを防ぐことができる条件であれば、任意の条件を使用することができる。
動作追随条件が成立した場合(ステップS8でY)は、視点関係操作を無効化した後(ステップS12)、表示装置310の表示領域に表示される視点映像として、演者アバター1の頭部(顔)が表示領域の周辺における所定範囲に囲まれた非成立範囲内となる動作追随視点に視点が自動的に変更されて、該動作追随視点から見た視点映像が表示装置310の表示領域に表示される(ステップS13)。
一方、動作追随条件が成立していない場合(ステップS8でN)は、更に、視点関係操作が無効化されているか否かを判定し(ステップS9)、視点関係操作が無効化されている場合(ステップS9でY)は、無効化されている視点関係操作を有効化して(ステップS10)からステップS11に進み、視点関係操作が無効化されていない場合(ステップS9でN)はステップS10を経由することなくステップS11に進む。
ステップ11では、動作追随設定が設定されていないこと、若しくは、動作追随条件が成立していないことにより、視聴者アバターの視点映像が表示装置310の表示領域に継続表示される(ステップS11)。
また、前述したように、ライブにおいて演者アバター1が仮想飛翔するフライング演出期間となった場合は、ステップS1でYと判定されてステップS21に進み、フライング演出期間の開始タイミングであるか否かを判定する(ステップS21)。
フライング演出期間の開始タイミングである場合(ステップS21でY)は、フライング演出期間の開始前において表示装置310の表示領域に表示されていた視聴者アバターの視点映像または動作追随視点映像に代えて、配信用サーバコンピュータ100から配信されるフライング視点映像を表示し(ステップS22)、その後、視点関係操作を無効化して(ステップS23)、ステップS1に戻る。
尚、本実施例1では、フライング演出期間においては、全ての視聴者ユーザーの視聴者端末300に同一のフライング視点映像を表示することから、個々の視聴者ユーザーで異なる視聴者アバター視点映像のように、各視聴者端末300側でフライング視点映像を生成するのではなく、配信用サーバコンピュータ100側で生成して視聴者端末300に配信することで、視点の空中移動を伴うことで、視点映像の描画負荷が大きいフライング視点映像を、処理能力が低い視聴者端末300であっても、良好に表示できるようにしているが、本発明はこれに限定されるものではなく、これらフライング視点映像を、視聴者アバター視点映像と同様に、個々の視聴者端末300側で生成するようにしてもよい。
一方、フライング演出期間の開始タイミングでない場合(ステップS21でN)は、更に、フライング演出期間の終了タイミングであるか否かを判定する(ステップS24)。
フライング演出期間の終了タイミングであるか否かは、配信用サーバコンピュータ100から送信されるフライング視点映像のデータ中に含まれる終了を示すデータにもとづいて特定してもよいし、フライング視点映像とは異なる前述した演出状態データによって特定してもよい。
フライング演出期間の終了タイミングでない場合(ステップS24でN)、つまり、フライング演出期間中である場合には、ステップS26に進んで、フライング視点映像を更新した後、ステップ1に戻る一方、フライング演出期間の終了タイミングである場合(ステップS24でY)は、視点関係操作を有効化した後(ステップS25)、ステップS11に進んで、フライング演出期間中に表示装置310の表示領域に表示していたフライング視点映像に代えて、視聴者アバターの視点映像を表示装置310の表示領域に表示した後、ステップS1に戻る。
このように、本実施例1の視聴者端末300において図20に示す視聴者用視点映像制御処理が実行されることによって視聴者端末300に表示される各視点映像を、図16~図19を用いて説明する。
図16は、本実施例1の視聴者端末300においてズーム操作をした場合の表示装置310の表示内容を示す図であり、ズーム操作を何もしていないデフォルトの状態では、図16(a)に示すように、演者アバター1の上半身を中心とした映像領域の視点映像が表示されている。このデフォルト状態において、視聴者ユーザーがズームアップ操作、例えば、視聴者端末300がスマートフォンPである場合であれば、「+」の表示(図示略)に触れる操作を行い、視聴者端末300がコンピュータ(PC)である場合であれば、キーボードの「+」キーを操作した場合は、例えば、図16(b)に示すように、演者アバター1の頭部(顔)を中心とした映像領域の視点映像が表示される。
一方、視聴者ユーザーがズームダウン操作、例えば、視聴者端末300がスマートフォンPである場合であれば、「-」の表示(図示略)に触れる操作を行い、視聴者端末300がコンピュータ(PC)である場合であれば、キーボードの「-」キーを操作した場合は、例えば、図16(c)に示すように、演者アバター1の全身が含まれる映像領域の視点映像が表示される。
尚、図16では、ズームの機能を解り易くするために、視聴者アバターの視点ではなく、仮想カメラC1の視点映像を使用して説明したが、図17に示すように、視聴者アバターの視点についても同様にズームアップ、ズームダウンを行うことができる。
また、図20の視聴者用視点映像制御処理においては、詳述していないが、例えば、ライブが開始されるときに、演者アバター1が仮想ステージGに初めて登場する場合は、視聴者アバターの視点が演者アバター1に向いていないことから、登場する演者アバター1が視聴者端末300に表示されない期間が長くなってしまう可能性があるので、このように、演者アバター1が最初に登場する期間等を登場演出期間等とし、これらの演出期間において、視聴者端末300に表示される視点映像を、聴者アバターの視点映像ではなく、仮想カメラC1の視点映像等に自動的に切り替えて表示するとともに、これら仮想カメラC1の視点映像においてもズームアップ等を、個々の視聴者ユーザーが実行できるようにしてもよい。
図17は、視聴者アバターの視点映像の例として、第4領域に仮想参加している視聴者アバター28の視点映像を示している。図17に示すように、視聴者アバター28の視点映像には、第3領域に仮想参加している視聴者アバター13と視聴者アバター14の頭部が含まれており、これら視聴者アバター13と視聴者アバター14の頭部越しに演者アバター1を見る映像となる。
このため、視聴者アバター28の視聴者ユーザーは、例えば、ズームアップ操作を行って、図17(b)に示すように、演者アバター1の上半身が中心的に表示される映像領域に変更することで、視聴者アバター13と視聴者アバター14が表示されないようにして、ライブを楽しむことができる。
但し、図17(b)に示すようにズームアップした状態においては、例えば、ライブが進行して演者アバター1が移動したり大きく動作するようになると、これら演者アバター1の動作に合わせて視聴者アバター28の視点を視聴者ユーザーが上手く変更することができないと、図18(d)~(f)に示すように、演者アバター1が良好に表示されない状態となる場合があるため、視点の操作に注意を払うことによって、ライブに集中することが難しくなってしまい、ライブを良好に楽しむことができなくなる場合がある。
しかし、本実施例1では、上記のように、視聴者ユーザーが動作追随設定を行った場合には、図18(a)~(c)に示すように、演者アバター1の頭部が表示領域の周辺所定領域内に入ることで動作追随条件が成立して視点が自動的に動作追随視点に変更され、該動作追随視点の視点映像が表示されるようになるため、視聴者ユーザーは、視点の操作に注意を払う必要がなくなるので、ライブに集中できることで良好にライブを楽しむことができるようになる。
そして、ライブが進行してフライング演出期間となると、図19に示すように、個々の視聴者アバターの視点映像から空中移動仮想カメラから見たフライング視点映像に、視聴者ユーザーが操作しなくても自動的に変更される。
具体的には、演者アバター1が仮想飛翔をする前に、羽根のオブジェクトが演者アバター1の背中において大きくなる映像が表示される。そして、演者アバター1が仮想ライブ会場の第2領域に仮想配置されている星の仮想空中オブジェクト50を見あげるようにすることで視聴者アバターの視点も同様に移動する。このとき、演者アバター1の周囲には、光のエフェクト61が出現する。
その後、演者アバター1が仮想飛翔に移ると、表示装置310に表示される視点映像は、図19(b)までの視聴者アバターの視点映像から、図19(c)に示すように、空中移動仮想カメラから見たフライング視点映像に自動的に切り替わる。
そして、フライング演出期間において空中移動仮想カメラは、前述したように、予め設定された空中軌道にもとづいて第2領域内を空中移動し、これら空中移動する空中移動仮想カメラから見たフライング視点映像が、図19(d)に示すように表示装置310に表示される。
<実施例1の変形例>
上記した実施例1では、一般動作(第1動作)を、演者アバター1が仮想ステージGに移動せずに立っている動作とし、特別動作(第2動作)を、演者アバター1が仮想飛翔を行っている動作とし、特定動作(第3動作)を、演者アバター1が横方向に急移動する動作とした形態を例示しているが、本発明はこれに限定されるものではなく、配信するコンテンツに応じた動作であってよく、例えば、一般動作(第1動作)は、配信されるコンテンツにおいて、演者アバターが最も多くの期間に亘って実行している動作(通常動作)としてもよく、特別動作(第2動作)を、配信されるコンテンツにおいて、最も短い期間である特別期間において実行している動作や最も頻度が少ない動作とし、特定動作(第3動作)を、一般動作(第1動作)よりも実行される期間が短いが特別動作よりも実行されている期間が長い動作や一般動作(第1動作)よりも実行される頻度が少ないが特別動作よりも実行される頻度が多い操作としてもよい。尚、特別動作(第2動作)が、特定動作(第3動作)を含む場合があってもよい。
また、上記した実施例1では、特別動作(第2動作)に対応した視点への切替機能と、特定動作(第3動作)に追随する追随機能と、の双方の機能を有している形態を例示したが、本発明はこれに限定されるものではなく、これらのいずれか一方の機能のみを有する仮想空間コンテンツ配信システムであってもよい。
上記した実施例1では、視聴者ユーザーの視点を、演者アバターの動作に応じて変更、追随させる形態を例示したが、本発明はこれに限定されるものではなく、例えば、これら視点の変更、追随を、仮想ステージGにおける演出物であるスモークや花火(火柱)の仕掛け、特殊なライティング、仮想ステージGの変形等の特定の演出に応じて実行するようにしてもよい。
次に、実施例2の仮想空間コンテンツ配信システムについて、図21~図28を用いて以下に説明する。尚、実施例1と同一の構成については、同一の符号を付して説明を省略する。
実施例2の仮想空間コンテンツ配信システムの構成は、図1に示す実施例1の構成と同一であるが、仮想ライブの進行内容が異なることで、仮想カメラC1~C4や空中移動仮想カメラからの視点映像(以下、仮想カメラ視点映像と総称する)が配信される期間や、これら仮想カメラ視点映像を生成する主体が、実施例1とは異なる点が本実施例2の特徴部分である。
図21は、実施例2の仮想空間コンテンツ配信システムにおいて配信される仮想ライブの進行内容を示す図である。実施例2の仮想ライブは、まず、仮想ライブの開始前の期間として、「ライブ仮想空間参加可能期間」と「開演前説」の期間とが設けられていて、視聴者ユーザーは、該ライブ仮想空間参加可能期間において仮想ライブの対象の仮想空間である仮想ライブ会場に仮想参加することができる。
尚、「開演前説」の期間の終了間際に設定されている事前データDL完了チェックタイミングまでの期間は、事前データダウンロード(DL)期間とされていて、ライブ仮想空間参加可能期間中に仮想参加した視聴者ユーザーの視聴者端末300に対して、仮想ライブ会場の仮想空間データ(基本データ)、演者アバター1のアバターデータ、並びに仮想参加した他の視聴者ユーザーのアバターデータ等が、事前データとして配信用サーバコンピュータ100からダウンロード(DL)されるようになっている。
また、事前データダウンロード(DL)期間の終了タイミングである事前データDL完了チェックタイミングにおいては、事前データのダウンロード(DL)が、各視聴者端末300において完了しているか否かがチェックされる。
尚、視聴者端末300の機種や処理能力や通信環境の違い等によって事前データDL完了チェックタイミングまでに事前データのダウンロード(DL)が完了していない場合には、事前データのダウンロード(DL)が継続される。但し、この場合、仮想ライブの配信において重要度が高いデータ、例えば、開演演出や第1MCに必要となる仮想ライブ会場の仮想空間データ(基本データ)、演者アバター1のアバターデータ等が優先してダウンロード(DL)される。
また、実施例2では、上記のように、仮想ライブの配信において視聴者端末300において視点映像を生成するために必要となるデータを、事前データとしてダウンロード(DL)する形態を例示しているが、本発明はこれに限定されるものではなく、これらデータ、特に、後述する各演目や各MCにおいて個別に必要となる特別なデータ等については、これら各演目や各MCが配信されるタイミングに対応したタイミングにおいて、その都度毎に、逐次、ダウンロード(DL)するようにしてもよい。
尚、「開演前説」の期間においては、当該仮想ライブについての説明等がビデオ映像等によって紹介される。よって、これら「開演前説」の期間中においても事前データをダウンロード(DL)可能な期間とすることで、ライブ仮想空間参加可能期間において終了間際に仮想参加した視聴者アバターのアバターデータについても、各視聴者端末300が配信用サーバコンピュータ100からダウンロード(DL)することができるようになっている。
また、実施例2の仮想ライブは、図21に示すように、「開演演出」→「第1MC」→「第1演目」→「第2MC」→「第2演目」…のように進行していく。「開演演出」は、仮想ステージGに演者アバター1が登場する演出である。「第1MC」は、仮想ステージGに登場した演者アバター1が、トークによって視聴者に対して挨拶を行うとともに、最初に上演する第1演目についての紹介を行う。「第1演目」は、演者アバター1(演者)の歌唱とダンスとを含むとともに、途中に、仮想ライブ会場を仮想飛翔する演者アバター1を空中移動仮想カメラから仮想撮像した映像によるフライング演出を含む演目である。「第2MC」は、演者アバター1(演者)がトークによって、主に、第2演目についての紹介を行う。「第2演目」は、演者アバター1(演者)の歌唱とダンスとを含むとともに、途中に、演者アバター1が衣装を交換する状況を仮想カメラC1によって仮想撮像した映像による衣装チェンジ演出と、演者アバター1が複数人に分身する状況を仮想カメラC1によって仮想撮像した映像による分身演出とを含む演目である。
これら各演出や演目等が実行される各期間における配信用サーバコンピュータ100の処理負荷としては、ライブ仮想空間参加可能期間が最も低い「低」である一方、特別演出である「フライング演出」、「衣装チェンジ演出」、「分身演出」が実行される期間が最も高い「高」である。「開演前説」、「開演演出」、「第1MC」、「フライング演出」までの「第1演目」の期間は、配信用サーバコンピュータ100の処理負荷は「中」であり、「フライング演出」後の「第1演目」の期間、「第2MC」、「衣装チェンジ演出」までの「第2演目」の期間も処理負荷は「中」であり、「衣装チェンジ演出」から「分身演出」までの「第2演目」の期間も「中」であり、「分身演出」後の「第2演目」の期間も「中」である。
次に、実施例2の仮想ライブにおける各期間について、視聴者端末300において視聴可能な視点映像について説明すると、仮想参加してから「開演前説」が開始されるまでのライブ仮想空間参加可能期間においては、視聴者アバター視点映像だけが表示可能とされている。
そして、「開演前説」が開始されるタイミングで、仮想カメラ視点映像、具体的には、仮想カメラC1の視点映像だけが表示可能とされている。このように、仮想ライブの開始前であるにも係わらず「開演前説」において視点映像を、仮想カメラ視点映像のみとするのは、これら開演前説には、仮想ライブに関する注意点等の説明も含まれているため、視聴者端末300において視聴者アバター視点映像を表示していることによって、仮想ステージGにて行われている開演前説を視聴しない視聴者ユーザーが発生してしまうことを防ぐことを目的としている。
尚、これら「開演前説」の仮想カメラ視点映像は、後述するように、配信用サーバコンピュータ100にて生成されて各視聴者端末300に配信されるので、事前データのダウンロードが未完了の視聴者端末300においても表示することができる。
上記した事前データDL完了チェックタイミングにおいて事前データのダウンロードが完了している視聴者端末300については、「第1MC」と「フライング演出」までの「第1演目」の期間、並びに「フライング演出」後の期間においては、仮想カメラ視点映像に加えて視聴者アバター視点映像を表示可能とされている。
一方、上記した事前データDL完了チェックタイミングにおいて事前データのダウンロードが完了していない視聴者端末300については、視聴者アバター視点映像を正確に生成することができないので、配信用サーバコンピュータ100において生成された仮想カメラ視点映像が配信されることによって、仮想ライブの全ての期間において仮想カメラ視点映像のみが表示可能とされ、視聴者アバター視点映像を表示させることはできないようになっている。
また、配信用サーバコンピュータ100の処理負荷が「高」である「フライング演出」、「衣装チェンジ演出」、「分身演出」の各映像のうち、「衣装チェンジ演出」、「分身演出」の仮想カメラC1の仮想カメラ視点映像は、これら「衣装チェンジ演出」、「分身演出」以外の第2演目期間中の仮想カメラ視点映像と同様に、配信用サーバコンピュータ100ではなく各視聴者端末300において生成することで、これら「衣装チェンジ演出」、「分身演出」の仮想カメラC1の仮想カメラ視点映像の生成するための配信用サーバコンピュータ100の処理負荷を低減できるようにしている。
尚、「フライング演出」の期間についても、配信用サーバコンピュータ100における処理負荷が高い期間であることから「衣装チェンジ演出」、「分身演出」と同様に、視聴者端末300において生成することが考えられるが、この場合、仮想ライブ会場内を移動する空中移動仮想カメラの移動軌跡の詳細な軌道データ等を各視聴者端末300に事前に配信して映像を生成する必要があることから、実施例2では配信用サーバコンピュータ100側で「フライング演出」の映像を生成、配信しているが、本発明はこれに限定されるものではなく、「フライング演出」の映像についても、配信用サーバコンピュータ100の処理負荷の低減を目的として、各視聴者端末300において生成するようにしてもよい。
ここで、実施例2の配信用サーバコンピュータ100において使用される参加者ユーザーテーブルについて、図23を用いて簡潔に説明する。
参加者ユーザーテーブルは、図7に示すイベントデータに登録されている個々の仮想ライブイベントにおいて、仮想ライブへの視聴者ユーザーの参加状況や事前データのダウンロード状況等を特定できるようにするために使用されるデータテーブルであって、図23に示すように、参加者ID(視聴者ユーザーID)に対応付けて、当該参加者(視聴者ユーザー)の参加状態を特定可能な参加識別データ(参加識別フラグ)と、当該参加者(視聴者ユーザー)の参加エリアと、事前データのダウンロード状態を特定可能な事前データDL識別データ(事前データDL識別フラグ)等のデータが記憶可能なテーブルである。
尚、参加者IDの項目には、イベントデータにおいて、当該仮想ライブに対応して記憶されている各参加者グループのファイルに記述されている参加予定者の視聴者ユーザーIDが全て登録されて使用される。
参加識別データ(参加識別フラグ)は、参加者ID(視聴者ユーザーID)の登録時において、非参加状態に対応する「0」が登録されており、各参加者(視聴者ユーザー)の参加が認証によって許可されたときに、参加を示す「1」に更新される。よって、該参加識別データ(参加識別フラグ)によって、参加予定視聴者ユーザーのうち、参加している視聴者ユーザーと、何らかの理由で参加できなかった視聴者ユーザーとを特定することができる。
参加エリアのデータは、各参加者(視聴者ユーザー)の参加エリアが、第3領域であるのか、第4領域であるのかを特定可能なデータとされており、各参加者(視聴者ユーザー)の参加が認証によって許可されたときに、登録されるデータである。
事前データDL識別データ(事前データDL識別フラグ)は、前述した事前データDL完了チェックタイミングにおいて事前データのダウンロード(DL)が完了しているか否かのチェックにもとづいて、完了している場合は、未完了を示す「0」から完了を示す「1」に更新される。よって、これら事前データDL識別データ(事前データDL識別フラグ)によって、仮想参加している各参加者(視聴者ユーザー)のうち、事前データのダウンロード(DL)が完了していない全ての参加者(視聴者ユーザー)を容易に特定することができる。
次に、実施例2において視聴者ユーザーが仮想ライブ会場に仮想参加することで事前データがダウンロードされる流れについて、図22を用いて説明する。
まず、視聴者ユーザーは、視聴者端末300にて実行している視聴者用プログラム(視聴アプリ)において、自分が仮想参加を予定している仮想ライブへの参加操作、例えば、参加メニューの選択やキーボードにおいて参加操作が割り当てられている特定キーの操作を実行する。
この参加操作の実行によって、視聴者端末300から配信用サーバコンピュータ100に対して、視聴者ユーザーIDや当該視聴者ユーザーを認証するための認証用データを含む参加要求が送信される。
参加要求を受信した配信用サーバコンピュータ100においては、ライブ仮想空間参加可能期間であることを条件に、参加者認証処理を実行する。参加者認証処理では、受信した参加要求に含まれる視聴者ユーザーIDが、参加対象の仮想ライブに対応している参加者ユーザーデータベースに、参加者IDとして登録されているか否かによって、当該視聴者ユーザーが該当する仮想ライブの参加予定者であるのか否かを判定するとともに、図9に示す視聴者ユーザーデータにおいて、当該視聴者ユーザーIDに対応付けて記憶されている認証情報ファイルデータから特定される認証情報ファイルに記述された認証用データと、参加要求に含まれる認証用データとを照合することで視聴者ユーザーの認証を行う。
視聴者ユーザーが参加予定者であって、認証用データによる認証が完了した場合には、参加者ユーザーテーブルの参加識別データ(参加識別フラグ)を、「参加」に対応する「1」に更新する。
そして、配信用サーバコンピュータ100は、参加要求の送信元の視聴者端末300に対して、参加対象の仮想ライブに対応する事前データをダウンロードさせるために事前データDL指示情報を送信(返信)する。視聴者端末300は、該事前データDL指示情報の受信によって、参加が許可されたことを確認することができる。
事前データDL指示情報の受信に応じて視聴者端末300は、ダウンロードする事前データを特定し、特定した事前データのダウンロードを要求する事前データDL要求を配信用サーバコンピュータ100に送信する。
この事前データDL要求の受信に応じて配信用サーバコンピュータ100は、事前データ送信処理を実行する。
この事前データ送信処理においては、事前データDL要求の送信元の視聴者端末300に対して要求された事前データを送信する。尚、事前データには、前述したように、仮想ライブ会場の仮想空間データ(基本データ)、演者アバター1のアバターデータ、並びに、既に仮想参加している他の視聴者ユーザーのアバターデータ等が含まれている。
尚、事前データ送信処理においては、事前データDL要求の送信元以外の視聴者端末300であって、参加者データテーブルによって既に参加が確認されている視聴者ユーザーの視聴者端末300に対して、事前データDL要求の送信元の視聴者ユーザーのアバターデータを、事前データとして追加配信する。これによって、仮想ライブに仮想参加している各視聴者ユーザーの視聴者端末300には、仮想空間データ(基本データ)と演者アバターのアバターデータとともに、仮想ライブに仮想参加している全ての視聴者ユーザーのアバターデータが事前に配信されて記憶されることになる。
そして、このようにして視聴者端末300に記憶された事前データは、前述した事前データDL完了チェックタイミング(図21参照)において全ての事前データのダウンロードが完了しているか否かが確認され、事前データのダウンロードが完了している場合に、参加者ユーザーテーブルの事前データDL識別データ(事前データDL識別フラグ)が、未完了を示す「0」から完了を示す「1」に更新される。
尚、事前データのダウンロードが完了していないことで、事前データDL識別データ(事前データDL識別フラグ)が、未完了を示す「0」のままである参加者(視聴者ユーザー)に対しては、前述したように、仮想カメラ視点映像のみが表示可能とされる。
次に、視聴者端末300に表示される各種視点映像が生成される主体が、仮想ライブの各期間において変化する状況について、図24~図27を用いて説明する。
まず、視聴者端末300において視聴者アバター視点映像だけが表示可能とされるライブ仮想空間参加可能期間中については、図24に示すように、配信用サーバコンピュータ100から送信される、演者ユーザーの動作に連動した動作を行う演者アバター1の動作を生成するための演者アバター用動作データを含む仮想空間更新データにもとづいて、事前データの受信によって既に視聴者端末300において記憶されている仮想空間データが逐次更新され、該更新された仮想空間データにもとづいて視聴者視点映像生成処理が視聴者端末300にて実行されて視聴者アバター視点映像が生成されて、映像出力処理によって出力(表示)される。尚、図24では、演者端末200を省略しているが、仮想空間更新データは、実施例1において図10に示されるように、演者端末200に対しても送信される。
また、視聴者端末300において仮想カメラ視点映像のみが表示可能とされる「開演前説」、「開演演出」、「フライング演出」の各期間については、図25に示すように、配信用サーバコンピュータ100において、仮想空間更新データ配信処理においては仮想空間更新データが演者端末200に対してだけ送信される。そして、仮想空間更新データ配信処理に次いで仮想カメラ視点映像が生成される仮想カメラ視点映像生成処理と、該仮想カメラ視点映像生成処理にて生成された仮想カメラ視点映像の映像データを、仮想ライブに参加している全ての視聴者端末300に配信する仮想カメラ視点映像データ配信処理が実行される。
これら仮想カメラ視点映像データ配信処理にて配信用サーバコンピュータ100から配信された仮想カメラ視点映像データは、該仮想カメラ視点映像データを受信した視聴者端末300において映像出力処理が実行されることによって表示される。
つまり、図27に示すように、仮想カメラ視点映像のみが表示可能とされる「開演前説」、「開演演出」、「フライング演出」の各期間については、仮想カメラ視点映像は、配信用サーバコンピュータ100において生成される。
また、視聴者端末300において視聴者アバター視点映像と仮想カメラ視点映像のいずれかを選択して表示可能な期間であるMC期間中及びフライング演出期間中を除く演目期間中においては、図26に示すように、配信用サーバコンピュータ100において仮想空間更新データ配信処理が実行されることによって、仮想ライブに参加している各視聴者ユーザーの視聴者端末300に対して仮想空間更新データが配信されることによって、視聴者端末300において仮想空間更新処理が実行される。
そして、視聴者端末300においては、表示対象の映像として視聴者アバター視点映像が選択されているか否かが判定され、視聴者アバター視点映像が選択されている場合には、図24に示す流れと同様に、視聴者視点映像生成処理が実行されることで視聴者アバター視点映像が生成されて、該生成された視聴者アバター視点映像が映像出力処理によって表示される。
一方、表示対象の映像として視聴者アバター視点映像が選択されていない場合、すなわち、表示対象の映像として仮想カメラ視点映像が選択されている場合には、視聴者端末300において仮想カメラ視点映像生成処理が実行されることで、仮想カメラ視点映像が生成され、該生成された仮想カメラ視点映像が映像出力処理によって表示される。
尚、この仮想カメラ視点映像において生成される仮想カメラ視点映像は、仮想カメラC1、C3、C4のいずれの視点映像とするかを、視聴者ユーザーが選択できるようにしてもよいし、配信用サーバコンピュータ100が全ての視聴者端末300に対して指示するようにしてもよい。
つまり、図27に示すように、視聴者端末300において仮想カメラ視点映像と視聴者アバター視点映像のいずれかが表示可能とされるMC期間中及びフライング演出期間中を除く演目期間中については、仮想カメラ視点映像は、視聴者端末300において生成される。このように、仮想カメラ視点映像と視聴者アバター視点映像とのいずれかを選択して視聴者端末300に表示可能な期間については、視聴者ユーザーの選択によって仮想カメラ視点映像と視聴者アバター視点映像との相互の切り替えが実行されるため、仮想カメラ視点映像データを配信用サーバコンピュータ100からの配信によって表示する場合に比較して、これら映像の切り替えを映像が途切れてしまう等の不具合を生じることなく、且つ、これら映像の切り替えに伴う配信用サーバコンピュータ100の処理負荷の増大を防ぎつつ実行することができる。
一方、視聴者端末300において仮想カメラ視点映像のみが表示可能な期間である、「開演前説」、「開演演出」、「フライング演出」の各期間については、仮想カメラ視点映像は、配信用サーバコンピュータ100においてのみ生成されて、各視聴者端末300に配信される。このように、視聴者端末300において仮想カメラ視点映像のみが表示可能な期間においては、仮想カメラ視点映像が配信用サーバコンピュータ100においてのみ生成されるため、仮想カメラ視点映像を生成する処理が視聴者端末300において重複して実行されることによって、システム全体の処理負荷が無駄に増大してしまうことを防ぐことができる。
ここで、視聴者端末300において視点映像が切り替わる際の状況について、仮想カメラ視点映像のみが表示可能な期間である、「フライング演出」の期間を例に、図28を用いて説明する。
例えば、図28に示すように、「第1MC」の期間および「フライング演出」までの第1演目の期間中において視聴者アバター視点映像が表示されている視聴者端末300において、仮想カメラ視点映像(空中移動仮想カメラからの視点映像)のみが表示可能な「フライング演出」の期間が開始されたときから、配信用サーバコンピュータ100が仮想カメラ視点映像(空中移動仮想カメラからの視点映像)の配信を開始すると、これら配信が開始してから仮想カメラ視点映像が表示されるまでの期間において視聴者端末300において仮想カメラ視点映像(空中移動仮想カメラからの視点映像)が表示されない状態となってしまい、「フライング演出」の最初の映像を視聴者が視聴できなくなってしまう不具合が生じる畏れがある。
このため、実施例2の配信用サーバコンピュータ100は、図28に示すように、視聴者アバター視点映像から仮想カメラ視点映像(空中移動仮想カメラからの視点映像)に強制的に視点映像が変更される「フライング演出」の開始時において、該「フライング演出」の開始タイミングよりも前の特定タイミングにおいて、BF事前通知を視聴者端末300に送信することで、フライング演出期間の開始前において仮想カメラ視点映像(空中移動仮想カメラからの視点映像)の事前配信を開始する配信開始(バッファリング開始)タイミングを視聴者端末300に通知する。
視聴者端末300は、BF事前通知の受信に応じて、配信用サーバコンピュータ100から仮想カメラ視点映像(空中移動仮想カメラからの視点映像)の配信が開始されるタイミングを特定し、該タイミングになったときから受信した仮想カメラ視点映像(空中移動仮想カメラからの視点映像)のバッファリングを開始する。
これら仮想カメラ視点映像(空中移動仮想カメラからの視点映像)の配信が開始されるタイミング、つまり、バッファリングを開始するタイミングは、視聴者端末300の映像記憶機能の違いを考慮して適宜に決定すればよいが、例えば、映像のフレーム数として数十フレームに該当する期間とすればよい。
このように、実施例2の配信用サーバコンピュータ100は、フライング演出期間の開始前から、フライング演出の仮想カメラ視点映像(空中移動仮想カメラからの視点映像)の生成、配信を開始し、視聴者端末300は、該配信された仮想カメラ視点映像をバッファリングしているので、フライング演出期間が開始されたときに、該フライング演出期間の開始前に表示していた視聴者アバター視点映像から仮想カメラ視点映像に瞬時に映像を変更することができるので、「フライング演出」の最初の映像を視聴者が視聴できなくなってしまう不具合が生じることを防ぐことができる。
また、「フライング演出」の期間が終了するときにおいては、「フライング演出」の開始前において視聴者アバター視点映像が選択されていたことから、該「フライング演出」の期間の終了に応じて、フライング演出の仮想カメラ視点映像(空中移動仮想カメラからの視点映像)から視聴者アバター視点映像に視点映像が切り替わるが、この場合においても、「フライング演出」の期間が終了したときから視聴者アバター視点映像を生成して表示すると、「フライング演出」の開始時と同様に、視聴者アバター視点映像が生成されて表示されるまでの期間において視聴者端末300において視聴者アバター視点映像が表示されない状態となってしまう不具合が生じる畏れがある。
このため、実施例2の配信用サーバコンピュータ100は、これら「フライング演出」の期間が終了するときにおいても、図28に示すように、終了TM(タイミング)事前通知を視聴者端末300に送信することで、仮想カメラ視点映像(空中移動仮想カメラからの視点映像)の配信が終了する「フライング演出」の期間終了タイミングを事前に視聴者端末300に通知する。
視聴者端末300は、終了TM(タイミング)事前通知の受信に応じて、配信用サーバコンピュータ100から仮想カメラ視点映像(空中移動仮想カメラからの視点映像)の配信が停止されるタイミングを事前に特定し、該タイミングよりも前の所定タイミングとなったときから視聴者視点映像生成処理を開始して、視聴者アバター視点映像を事前生成する。
尚、配信用サーバコンピュータ100は、終了TM(タイミング)事前通知の送信時から、仮想空間更新データの配信を実行することで、視聴者端末300は、受信した仮想空間更新データによって仮想空間データを更新する仮想空間処理を実行しているので、上記した所定タイミングにおいて、その時点の仮想ライブ会場の状況を反映した視聴者アバター視点映像を生成することができる。
このように、実施例2の配信用サーバコンピュータ100は、フライング演出期間の終了前に終了TM(タイミング)事前通知を視聴者端末300に送信して、フライング演出期間の終了前に事前に視聴者アバター視点映像を視聴者端末300が生成できるようにしているので、視聴者端末300において視聴者アバター視点映像が表示されない状態となってしまう不具合が生じることを防ぐことができる。
尚、図28においては、「フライング演出」を例に説明したが、視聴者アバター視点映像から仮想カメラ視点映像に強制的に視点映像が変更される「開演前説」と「開演演出」の期間についても、同様の制御が行われる。
以上、実施例2の仮想空間コンテンツ配信システムでは、視聴者ユーザーが複数であって、各視聴者ユーザー毎に視聴者端末300が割り当てられており、視聴者端末300が、視聴者アバターに対応した仮想ライブ会場(仮想空間)の視点映像である視聴者アバター視点映像を表示するときには、該視聴者アバター視点映像を配信用サーバコンピュータ100から送信されてくる仮想空間更新データ(仮想空間データ)にもとづいて生成しており、これら処理負荷が大きな視聴者アバター視点映像の生成が視聴者端末300で行われるので、より多くの視聴者ユーザーを仮想ライブに参加させることができる。
また、実施例2の仮想空間コンテンツは、演者ユーザーが演者アバター1として仮想ライブ会場に参加可能なコンテンツであるとともに、演者アバター1が仮想ライブ会場において、歌唱やダンス等の楽曲動作(パフォーマンス)を行うコンテンツであるので、仮想空間コンテンツの興趣を向上できる。
また、実施例2の仮想空間更新データ(仮想空間データ)には、演者アバター1の動作を生成するための演者アバター用動作データを含まれているため、視聴者端末300において生成される視聴者アバター視点映像においても演者アバター1の動作を正確に反映させることができる。
また、実施例2の各視聴者端末300において共通して表示される共通視点映像、例えば、「開演前説」、「開演演出」、「フライング演出」の映像については、配信用サーバコンピュータ100において生成されて各視聴者端末300に配信されるので、重複した処理が各視聴者端末300において実行されることによって、システム全体の処理負荷が無駄に増大してしまうことを防ぐことができる。
また、実施例2の視聴者端末300において、視聴者アバター視点映像と仮想カメラ視点映像とのいずれかの視点映像を選択して表示可能な期間である、「MC期間」と「フライング演出」の期間以外の演目期間(特定期間)中においては、仮想カメラ視点映像が視聴者端末300において生成されて表示されるので、視点映像が切り替わるときに、映像が途切れる等の不具合が生じることを防ぐことができる。
また、実施例2の配信用サーバコンピュータ100における処理負荷が大きい特別期間となる、「衣装チェンジ演出」や「分身演出」の期間においては、仮想カメラ視点映像(共通視点映像)についても各視聴者端末300が生成して表示するため、配信用サーバコンピュータ100における処理負荷が一時的に極端に大きくなってしまうことを防ぐことができる。
また、実施例2の配信用サーバコンピュータ100は、仮想ライブ会場(仮想空間)の基本データ並びに仮想ライブ会場に仮想参加する演者アバター1および視聴者アバターの基本データを含む事前データを、仮想ライブが開始する前に各視聴者端末300に対して事前送信しているので、仮想ライブの開始時において視聴者アバター視点映像が良好に表示されない不具合の発生を防ぐことができる。
また、実施例2の配信用サーバコンピュータ100は、事前データの受信完了が確認できない視聴者端末300に対しては、仮想カメラ視点映像(共通視点映像)を送信しており、このようにすることで、仮想ライブの開始後において基本データ等の送信によって配信用サーバコンピュータ100における処理負荷が過度に増大してしまうことを防ぎつつ、視聴者ユーザーが仮想ライブを視聴できなくなってしまうことも防ぐことができる。
<実施例2の変形例>
図29は、実施例2についての変形例2-1における視聴者視点映像生成処理の処理内容を示すフロー図である。
上記した実施例2では、演者アバター1の動作を含む視聴者アバター視点映像を、常に一律に生成する形態を示したが、本発明はこれに限定されるものではなく、これら視聴者アバター視点映像を、視聴者端末300における視聴者ユーザーの選択によって、映像生成における処理負荷の異なる複数の態様で生成するようにしてもよい。
つまり、視聴者ユーザーが使用する視聴者端末300としては、実施例1において例示しているように、処理能力の高い据え置き型のパーソナルコンピュータ(PC)である場合もあれば、パーソナルコンピュータ(PC)よりも処理能力が相対的に低いスマートフォン端末やタブレット端末等である場合もあるように、処理能力の異なる端末が使用されることが想定されるが、このように処理能力の異なる端末において、視聴者アバター視点映像を、常に一律に生成してしまうと、低処理能力の端末においては、視聴者アバター視点映像を適切に生成することができず、視聴者アバター視点映像と音声とにズレが生じたり、或いは、視聴者アバター視点映像が不連続の不自然な映像になってしまう畏れがあるため、例えば、演者動作を含む視聴者アバター視点映像を生成する場合に、映像の生成に係わる処理負荷が高い高精細な演者動作を含む視聴者アバター視点映像を生成するのか、映像の生成に係わる処理負荷が低い低精細な演者動作を含む視聴者アバター視点映像を生成するのかを、視聴者が、使用する端末の処理能力に応じて適宜、選択できるようにしてもよい。
具体的には、視聴者端末300において実行される視聴者視点映像生成処理を、図29のフロー図に示す内容とすればよく、該視聴者視点映像生成処理においては、まず、視聴者端末300において視聴者ユーザーによって選択されている演者動作生成態様を特定する(ステップS101)。そして、特定した演者動作生成態様が、高処理負荷態様であるか否かを判定し(ステップS102)、高処理負荷態様が選択されている場合(ステップS102でY)は、高精細な演者動作を含む視聴者アバター視点映像を生成する(ステップS103)。一方、高処理負荷態様が選択されていない場合(ステップS102でN)は、低精細な演者動作を含む視聴者アバター視点映像を生成する(ステップS104)。
尚、図29においては、高処理負荷態様と低処理負荷態様の2態様とした形態を例示しているが、本発明はこれに限定されるものではなく、これら処理負荷態様を3態様以上としてもよい。
また、上記した実施例2(実施例1も同様)においては、視聴者ユーザーの視聴者アバターの移動を含む全ての動作を、仮想空間更新データの配信によって各視聴者アバターに反映させる形態を例示しているが、本発明はこれに限定されるものではなく、例えば、これら視聴者アバターの動作として、通常では実行不能な動作であって、特別な費用を支払った場合において可能となる動作、例えば、演者アバター1に対して自身の視聴者アバターをアピールすることが可能な特別動作を行う操作を視聴者端末300において可能とする場合にあっては、該特別動作は、演者ユーザーに向ける動作であって、他の視聴者ユーザーに向けるものではないので、これら特別動作を含む仮想空間更新データを、他の視聴者ユーザーの視聴者端末300に配信しないようにして、これら特別動作を実行可能とすることによって配信用サーバコンピュータ100の処理負荷が過大に増加してしまうことを防ぐことができるようにしてもよい。
このように、特別動作を含む仮想空間更新データを、他の視聴者ユーザーの視聴者端末300に配信しない場合には、図30の変形例2-2に示すように、視聴者ユーザーAが特別動作に対応する操作を実行することで視聴者ユーザーAの視聴者アバターが特別動作を行った場合は、配信用サーバコンピュータ100から視聴者ユーザーAの視聴者端末300には、視聴者ユーザーAの視聴者アバターが特別動作を実行していることに対応する仮想空間更新データAが送信されるが、視聴者ユーザーAとは異なる視聴者ユーザーBの視聴者端末300には、視聴者ユーザーAの視聴者アバターが特別動作を実行していない仮想空間更新データBが配信される。
よって、視聴者ユーザーAの視聴者端末300と、視聴者ユーザーBの視聴者端末300とには、異なる仮想空間更新データが配信用サーバコンピュータ100から配信されることになるので、仮想空間更新データの自由度を高めることができるとともに、視聴者ユーザーAの視聴者端末300と、視聴者ユーザーBの視聴者端末300とにおいて異なる視聴者アバター視点映像を生成させることができるようになる。
また、視聴者ユーザーAの視聴者端末300は、視聴者ユーザーBの視聴者端末300に配信される仮想空間更新データBとは異なる仮想空間更新データAにもとづいて、視聴者ユーザーBの視聴者アバターが可能な動作とは異なる特別動作を行う視聴者ユーザーAの視聴者アバターの映像を生成して表示することができるので、仮想空間コンテンツである仮想ライブに対する視聴者ユーザーAの興趣を向上できる。
また、上記した実施例2(実施例1も同様)においては、第4領域に仮想参加している視聴者ユーザーの視聴者アバターについても、アバターの態様が個々の視聴者ユーザーで異なる通常のアバターとした形態を例示しているが、本発明はこれに限定されるものではなく、例えば、仮想ライブにおける各種の視点映像を生成する際の処理負荷を低減することを目的として、第4領域に仮想参加している視聴者ユーザーの視聴者アバターを、アバターの態様が簡素化された簡易アバターとするようにしてもよい。
尚、図30においては、特別な費用を支払った場合において可能となる特別動作を実行する場合について例示しているが、例えば、上述したように、簡易アバターを使用するような場合にあっては、簡易アバターの移動以外の通常動作、例えば、手を振る動作、手を叩く動作、視聴者アバターの向きを変える動作等について、特別動作と同様に、他の視聴者ユーザーに配信される仮想空間更新データには、含まれないようにすることで、より一層、配信用サーバコンピュータ100の処理負荷を低減できるようにしてもよい。
尚、前記実施例1及び実施例2では、図19に示すフライング演出の実行時等、視聴者端末300において表示する映像を、管理者側で予め設定したタイムスケジュールデータに従って視聴者視点映像と仮想カメラ視点映像とで自動的に切り替える形態を例示したが、本発明はこれに限定されるものではなく、視聴者端末300にて表示する映像は、視聴者ユーザーによる操作に応じて仮想カメラ視点映像と視聴者視点映像とで適宜切り替え可能であってもよい。このようにすることで、視聴者ユーザーが自身の操作によって様々な視点から仮想ライブを視聴することができ、仮想ライブの興趣を向上させることができる。
更に、上記したように、該視聴者端末300にて表示する映像を視聴者ユーザーによる操作によって仮想カメラ視点映像と視聴者視点映像とで切り替えて表示可能とする場合であっても、フライング演出(図19参照)等の視聴者ユーザーに対して強く印象付けたい演出の実行期間については、視聴者ユーザーによる該視聴者端末300の操作(表示する映像の切り替え操作)を無効とし、視聴者ユーザーによる演出の見逃しを防止してもよい。
次に、実施例3の仮想空間コンテンツ配信システムについて、図31~図56を用いて以下に説明する。尚、実施例1、2と同一の構成については、同一の符号を付して説明を省略する。
実施例3の仮想空間コンテンツ配信システムは、図31に示すように、実施例2と同様のライブ進行内容が設けられている。特に、本実施例3においては、当該ライブ中に演者Aと演者Bの2名の演者のアバターによる演目が設けられている。
第1MC期間の開始直後タイミングから1人目の演者である演者Aの演者アバター1Aが登場した後、第1演目として当該演者Aの演者アバター1Aによる単独演目が実行されるようになっており、第2MC期間中のタイミングから2人目の演者である演者Bの演者アバター1Bが登場(演者アバター数が1体から2体に増加)した後、第2演目として演者Aの演者アバター1Aと演者Bの演者アバター1Bとの共同演目が実行されるようになっている。
また、本実施例3では、仮想ライブの演出の一環として仮想空中オブジェクト50~52を発光させる発光演出を実行可能となっている。特に、仮想ライブ会場参加可能期間と開演前説の期間では発光演出を実行しないが(発光演出の発光強度:無し)、開演演出の期間、第1MC期間、第2MC期間では比較的弱い発光強度で仮想空中オブジェクト50~52の発光を行い(発光演出の発光強度:弱)、第1演目期間や第2演目期間では開演演出の期間、第1MC期間、第2MC期間よりも強い発光強度で仮想空中オブジェクト50~52の発光を行う(発光演出の発光強度:強)。
また、図31に示すように、第1MC期間の開始直後までの期間は、演者Aの演者アバター1Aが登場していないため、演者Aの演者アバター1Aの動作が無い期間であり(演者Aの演者アバター動作:無し)、演者Aの演者アバター1Aが登場してからの第1MC期間及び第2MC期間は比較的演者Aの演者アバター1Aの動作が小さい期間であり(演者Aの演者アバター動作:小)、第1演目期間及び第2演目期間は演者Aの演者アバター1Aがダンスや歌唱を行うため他の期間よりも演者Aの演者アバターの動作が大きくなる(激しくなる)期間である(演者Aの演者アバター動作:大)。
同様に、第2MC期間中に演者Bの演者アバター1Bが登場するまでの期間は、演者Bの演者アバター1Bの動作が無い期間であり(演者Bの演者アバター動作:無し)、演者Bの演者アバター1Bが登場してからの第2MC期間は比較的演者Bの演者アバター1Bの動作が小さい期間であり(演者Bの演者アバター動作:小)、第2演目期間は演者Bの演者アバターが演者Aの演者アバター1Bとともにダンスや歌唱を行うため他の期間よりも演者Bの演者アバター1Bの動作が大きくなる(激しくなる)期間である(演者Bの演者アバター動作:大)。
また、仮想ライブ会場参加可能期間は、複数の視聴者端末300による配信用サーバコンピュータ100に順次接続を行う期間であることから、時間経過に伴い該接続によって仮想ライブ会場に仮想参加した視聴者アバターが漸次仮想空間内に追加配置されていく期間である。
このため、図31及び図32(A)に示すように、仮想ライブ会場参加可能期間開始直後では、発光演出が実行されておらず、各演者の演者アバター1A、1Bの表示が無く、仮想ライブ会場に仮想参加している視聴者アバター数が少ないため、配信用サーバコンピュータ100において位置情報等の更新を要する視聴者アバターが少なく、仮想空間更新の更新処理負荷が比較的小さい状況となっている。また、各視聴者端末300については、上記したように仮想ライブ会場に仮想参加している視聴者アバター数が少ないため、視聴者アバターを描画するための描画処理負荷が比較的低い状況となっている。
この状態から仮想ライブ会場に仮想参加している視聴者アバター数が増加していくと、図32(B)に示すように、配信用サーバコンピュータ100において仮想空間データの更新の対象となる視聴者アバター情報が多くなるため、配信用サーバコンピュータ100による仮想空間更新の更新処理負荷が増大する。また、仮想ライブ会場に仮想参加している視聴者アバター数が増加することで各視聴者端末300において描画対象となる視聴者アバター数も増加するため、視聴者アバターを描画するための描画処理負荷も増大する。
また、仮想ライブ会場に仮想参加している視聴者アバター数が増加すると、図31及び図33に示すように、視聴者端末300から移動操作を行う視聴者も増加するため、仮想ライブ会場内を移動する視聴者アバターも増加する場合がある。
移動中の視聴者アバターは、特定の場所で静止している視聴者アバターよりも仮想ライブ会場での現在位置等の情報の変更頻度が高まるため、図31及び図33に示すように仮想ライブ会場内を移動する視聴者アバターが増加すると、配信用サーバコンピュータ100による仮想空間更新の更新処理負荷が増大する。このとき、各視聴者端末300においても移動する視聴者アバター数が増加すると、視聴者アバター毎の移動による描画量も増加するため視聴者端末300における描画処理負荷も増大する。
各演目期間中等、発光演出を実行する場合は、図31及び図34(A)に示すように、配信用サーバコンピュータ100において、各アバターの現在位置や光源(本実施例3であれば仮想空中オブジェクト50~52)からの距離や角度等にもとづいて各視聴者アバターや演者アバターの光の当たり方や生成する影の計算処理が生じるため、配信用サーバコンピュータ100による仮想空間更新の更新負荷が増大する。このとき、各視聴者端末300においても発光演出に伴い仮想空中オブジェクト50~52を発光させる描画や視聴者バター毎に光の当たり方を異ならせる描画、視聴者アバター毎の影の描画を行うため、描画処理負荷も増大する。
尚、本実施例3においては、発光演出として仮想空中オブジェクト50~52の発光強度を高める場合があり(図31参照)、このように発光強度が高まる場合には、上記した配信用サーバコンピュータ100における各視聴者アバターや演者アバターの光の当たり方や生成する影の計算処理に伴う処理負荷が更に増大するため、結果的に配信用サーバコンピュータ100による仮想空間更新の更新負荷が更に増大し、同様に各視聴者端末300における描画処理負荷も更に増大する。
また、演者アバター1Aが登場する場合は、図31及び図34(B)に示すように、配信用サーバコンピュータ100において仮想空間データの更新対象の情報に演者アバター情報が追加されるため、配信用サーバコンピュータ100による仮想空間更新の更新処理負荷が増大する。また、演者アバター1Bが登場する場合は、図31及び図34(B)に示すように、配信用サーバコンピュータ100において仮想空間データの更新対象の情報として、演者アバター1Aの演者アバター情報に加えて演者アバター1Bの演者アバター情報も追加されるため、配信用サーバコンピュータ100による仮想空間更新の更新処理負荷が更に増大する。視聴者端末300においては、演者アバター1Aの登場タイミングから演者Aの演者アバター1Aを描画する処理が開始されるため、描画処理負荷が増大する。また、演者アバター1Bの登場タイミングからは、演者アバター1Aを描画する処理に加えて演者Bの演者アバター1Bを描画する処理も開始されるため、描画処理負荷が更に増大する。尚、本実施例3では、演者Bの演者アバター1Bが登場した後(演者アバター数が2体となった後)は、演者アバター数が減ることはないため、演者アバター1Aを描画する処理と演者アバター1Bを描画する処理は仮想ライブの終了まで継続する。
各演目期間中においては、図31及び図35に示すように、発光演出としての仮想空中オブジェクト50~52の発光強度の増大に加えて、各演者アバター1A、1Bが歌唱やダンス等のパフォーマンスを行う。このため、上記したように、配信用サーバコンピュータ100における各視聴者アバターや演者アバターの光の当たり方や生成する影の計算処理に伴う処理負荷が更に増大するため、配信用サーバコンピュータ100による仮想空間更新の更新処理負荷が更に増大する。また、各視聴者端末300においても仮想空中オブジェクト50~52を発光させることで生じる視聴者アバター毎の光の当たり方や影の描画と、演者アバター1A、1Bの描画を行うための描画処理負荷が増大する。
本実施例3では、上記のように仮想ライブ会場内において配置される視聴者アバターや演者アバター数の増加、発光演出の発光強度の増強、動作する視聴者アバターや演者アバターの増加、演者アバターの動作量の増加等によって配信用サーバコンピュータ100や視聴者端末300の処理負荷が増大する際に、視聴者アバターの表示態様を表示するための処理負荷が比較的大きいフルアバターから表示するための処理負荷が比較的小さい簡易アバターに変更することでこれら配信用サーバコンピュータ100や視聴者端末300等、仮想空間コンテンツ配信システムを構成する機器全体での処理負荷の過度な増大を抑える事を可能とするものである。
<タイムスケジュールデータ>
上記のように進行する実施例3の仮想ライブは、図36に示すように、タイムスケジュールデータ(TSデータ)にもとづいて、配信用サーバコンピュータ100にて管理されている。タイムスケジュールデータは、配信用サーバコンピュータ100のストレージ103においてイベント管理プログラム110に含まれる形態にて記憶されている。
タイムスケジュールデータは、仮想ライブにおける個々のタイミング順に付与されたタイミングIDに対応付けて、そのタイミングの予定時刻、ライブ開始からの経過時間、当該タイミングの内容、当該タイミングに関連する関連データのファイル名、が記憶されているテーブル形式のデータである。
これらタイミングとしては、図36に示すように、オープニング演出や演者登場演出の開始並びに終了タイミングや、演者登場演出中の演者アバター1A、1Bが登場するタイミングに加えて、各移行期間の開始、終了タイミング、各視聴者アバターを簡易化させるタイミング(視聴者アバター第1簡易化タイミングT1、視聴者アバター第2簡易化タイミングT2、視聴者アバター第3簡易化タイミングT3)が含まれている。以降、本実施例では、これら視聴者アバター第1簡易化タイミングT1、視聴者アバター第2簡易化タイミングT2、視聴者アバター第3簡易化タイミングT3を単にタイミングT1、T2、T3と呼称する場合がある。
タイミングT1は、発光演出の発光強度が高まるとともに演者アバター1Aの動作が激しくなることにより視聴者端末300での描画処理負荷が増大する第1演目期間の開始直前のタイミングである。タイミングT2は、演者アバター1Bが追加されることにより視聴者端末300での描画処理負荷が増大する第2MC期間の開始直前のタイミングである。タイミングT3は、発光演出の発光強度が高まるとともに演者アバター1A、1Bの動作が激しくなることにより視聴者端末300での描画処理負荷が増大する第2演目期間の開始タイミングである。これらタイミングT1~T3は、上記したように視聴者端末300での描画処理負荷が増大する直前に、まだ処理負荷が増大していない段階において予め視聴者アバターをフルアバターから簡易アバターに変化させるために設けられている。
<ライブ仮想空間参加可能期間中における映像生成>
また、本実施例3における視聴者端末300において視聴者アバター視点映像だけが表示可能とされるライブ仮想空間参加可能期間中については、図37に示すように、実施例2と同様に、視聴者端末300においてアバター動作操作処理、配信用サーバコンピュータ100において仮想空間更新処理及び仮想空間更新データ生成処理を実行した後に、配信用サーバコンピュータ100において更に視聴者アバターをフルアバターから簡易アバターへの表示に変化する判定を行うアバター簡易化判定処理を実行する。
尚、配信用サーバコンピュータ100は、アバター簡易化判定処理を実行した後、実施例2と同様に仮想空間更新データ配信処理を実行することで仮想空間更新データとともに上記アバター簡易化判定処理の結果である簡易化判定値データを視聴者端末300に向けて送信する。
視聴者端末300では、これら仮想空間更新データ及び簡易化判定値データを受信したことにもとづいて仮想空間更新処理、視聴者視点映像生成処理、映像出力処理を実行する。特に本実施例3では、詳細は後述するが、受信した簡易化判定値データを用いることで視聴者視点映像生成処理において視聴者アバターをフルアバターや簡易アバターで描画(生成)する処理を行う。
<MC期間中及びフライング演出期間中を除く演目期間中における映像生成>
また、本実施例3における視聴者端末300において視聴者アバター視点映像と仮想カメラ視点映像とが表示可能とされるMC期間中及びフライング演出期間中を除く演目期間中については、図38に示すように、実施例2と同様に、視聴者端末300においてアバター動作操作処理、配信用サーバコンピュータ100において仮想空間更新処理及び仮想空間更新データ生成処理を実行した後に、配信用サーバコンピュータ100において更に視聴者アバターをフルアバターから簡易アバターへの表示に変化させるか否かの判定を行うアバター簡易化判定処理を実行する。尚、このアバター簡易化判定処理は図38に示すアバター簡易化判定処理と同一の処理である。
配信用サーバコンピュータ100は、アバター簡易化判定処理を実行した後、実施例2と同様に仮想空間更新データ配信処理を実行することで仮想空間更新データとともに上記アバター簡易化判定処理の結果である簡易化判定値データを視聴者端末300に向けて送信する。
視聴者端末300では、これら仮想空間更新データ及び簡易化判定値データを受信したことにもとづいて仮想空間更新処理、表示対象の映像として視聴者アバター視点映像が選択されている場合は視聴者視点映像生成処理、表示対象の映像として仮想カメラ視点映像が選択されている場合は仮想カメラ指定映像生成処理をそれぞれ実行する。特に本実施例3では、詳細は後述するが、受信した簡易化判定値データを用いることで視聴者視点映像生成処理や仮想カメラ指定映像生成処理において視聴者アバターをフルアバターや簡易アバターで描画(生成)する処理を行う。
<フレンド登録について>
また、本実施例3の仮想空間コンテンツ配信システムについては、視聴者が視聴者端末300を操作することによって他の視聴者を自身のフレンドとして登録することが可能となっている。尚、本実施例3の視聴者端末300のストレージ303には、予めフレンド登録した視聴者ユーザーのユーザーIDとニックネームを記憶するフレンドユーザーデータテーブル(図40参照)が記憶されている。
図39に示すように、視聴者端末300では、ライブ仮想空間参加可能期間中において視聴者の操作入力装置321の操作を受付けることによって複数の視聴者アバターの中から特定の視聴者アバターを選択する視聴者アバター選択処理を実行すると、該選択した視聴者アバターのファイル名(視聴者アバターファイル名)を特定するとともに、配信用サーバコンピュータ100に対して特定した視聴者アバターファイル名を含む視聴者アバター問合せ情報を送信するための視聴者アバター問合せ処理を実行する。
配信用サーバコンピュータ100は、視聴者端末300から視聴者アバター問合せ情報を受信すると、該視聴者アバター問合せ情報に含まれていた視聴者アバターファイル名と関連付けて記憶されている視聴者ユーザーIDを図9に示す視聴者ユーザーデータから特定する視聴者アバター特定処理を実行する。そして、配信用サーバコンピュータ100は、視聴者アバター問合せ情報を送信してきた視聴者端末300に対して視聴者ユーザーIDを含む視聴者ユーザーID情報を送信する。
視聴者端末300は、視聴者ユーザーID情報を受信した場合、表示装置310において視聴者に対して選択した視聴者アバターの視聴者(視聴者ユーザーID)を視聴者アバターファイル名に関連付けてフレンドとして登録する操作を促すフレンド追加操作処理を実行する。
このとき、視聴者によってフレンド登録する操作が行われた場合、フレンドユーザーデータテーブルに、視聴者ユーザーIDと視聴者アバターファイル名を関連付けて記憶するフレンド追加処理を実行し、フレンド登録する操作が行われなかった場合、視聴者端末300は、表示装置310においてフレンド登録を行わないことを示す表示を行うフレンド追加取消処理を実行する。
<アバター簡易化判定処理>
図41は、図38に示すアバター簡易化判定処理の一例を示すフローチャートである。アバター簡易化判定処理において配信用サーバコンピュータ100は、先ず、タイムスケジュールデータを参考する等して仮想ライブ会場参加可能期間(図31参照)中であるか否かを判定する(ステップS401)。仮想ライブ会場参加可能期間中ではない場合(ステップS401;No)はステップS407に進み、仮想ライブ会場参加可能期間中である場合(ステップS401;Yes)は、更に参加人数しきい値到達済みフラグがセットされているか否かを判定する(ステップS402)。尚、参加人数しきい値到達済みフラグは、仮想ライブ会場に配置された視聴者アバター数(仮想ライブを視聴している視聴者数)が既に予め定められたしきい値に達したことを示すフラグである。
配信用サーバコンピュータ100は、参加人数しきい値到達済フラグがセットされていない場合(ステップS402;Yes)にはステップS407に進み、参加人数しきい値到達済フラグがセットされていない場合(ステップS402;No)には、更に図23に示す参加者ユーザーテーブルを参照することでライブの参加人数(仮想ライブ会場に仮想参加している視聴者アバター数)を特定し(ステップS403)、該特定したライブの参加人数がしきい値に到達したか否かを判定する(ステップS404)。
尚、参加人数のしきい値は、各視聴者端末300において一度に描画することが可能なフルアバターでの視聴者アバター数や、仮想ライブ会場にて配置可能なフルアバターでの視聴者アバター数から決定する値である。参加人数のしきい値は、例えば、各視聴者端末300において一度に描画することが可能なフルアバターでの視聴者アバター数や、仮想ライブ会場に仮参加可能なフルアバターでの視聴者アバター数の限界数が200である場合は、該限界数よりも10%程度低い180等に配信用サーバコンピュータ100の管理者等が設定すればよい。参加人数のしきい値は、単に描画する視聴者アバター数ではなく、あくまで視聴者端末300において描画可能な視聴者アバター数に対応した処理負荷によって決定される値である。
尚、参加人数のしきい値は、各視聴者端末300の性能(描画処理能力)等を考慮して、配信用サーバコンピュータ100の管理者等が管理者端末150において適宜上記とは異なる値を設定してもよい。
参加人数がしきい値に到達していない場合(ステップS404;No)はステップS407に進み、到達したライブの参加人数がしきい値に到達している場合(ステップS404;Yes)、配信用サーバコンピュータ100は、視聴者端末300においてフルアバターでの視聴者アバターの描画処理負荷が限界間近であることにもとづいて簡易化判定値を1加算するとともに(ステップS405)、参加人数しきい値到達済みフラグをセットし(ステップS406)、ステップS407に進む。尚、簡易化判定値は、詳細は後述するが、各視聴者端末300において表示する各視聴者アバターを構成するポリゴン数の少ない簡易アバターにて表示する範囲を指定するための値であり、初期値として「0」がセットされている。
ステップS407において配信用サーバコンピュータ100は、タイムスケジュールデータを参考する等して仮想ライブ会場参加可能期間中またはMC期間中であるか否かを判定する(ステップS407)。仮想ライブ会場参加可能期間中でもMC期間中でもない場合(ステップS407;No)はステップS413に進み、仮想ライブ会場参加可能期間中またはMC期間中である場合(ステップS407;Yes)は、移動人数しきい値到達済みフラグがセットされているか否かを判定する(ステップS408)。尚、移動人数しきい値到達済みフラグは、仮想ライブ会場に配置されている視聴者アバターのうち、仮想ライブ会場内をフルアバターにて移動中である視聴者アバターの数が既に予め定められたしきい値に達したことを示すフラグである。
移動人数しきい値到達済みフラグがセットされている場合(ステップS408;Yes)はステップS413に進み、移動人数しきい値到達済みフラグがセットされていない場合(ステップS408;No)、配信用サーバコンピュータ100は、各視聴者端末300から受信した視聴者アバター情報から現在移動中の視聴者アバター数(各視聴者によって移動操作がなされている視聴者端末300数)を特定する(ステップS409)。
ステップS409において配信用サーバコンピュータ100は、例えば、単位時間(例えば、10ms)毎に各視聴者アバターの仮想ライブ会場内での位置情報を記憶するとともに、記憶した各視聴者アバターの仮想ライブ会場内での位置情報を、前回記憶した各視聴者アバターの仮想ライブ会場内での位置情報と比較し、前回記憶と異なる位置情報が記憶された視聴者アバター数を集計することで移動中の視聴者アバター数を特定すればよい。
そして配信用サーバコンピュータ100は、特定した移動中の視聴者アバター数(現在移動中の視聴者アバター数)がしきい値に到達しているか否かを判定する(ステップS410)。尚、ステップS410における移動中の視聴者アバター数のしきい値は、各視聴者端末300において一度に描画することが可能なフルアバターにて移動中の視聴者アバター数から決定する値である。移動中の視聴者アバター数のしきい値は、例えば、各視聴者端末300において一度に描画することが可能なフルアバターで移動中の視聴者アバター数の限界数が200である場合は、該限界数よりも25%低い150等に配信用サーバコンピュータ100の管理者等が設定すればよい。移動中の視聴者アバター数のしきい値は、単に描画する視聴者アバター数ではなく、あくまで視聴者端末300において描画可能な視聴者アバター数に対応した処理負荷によって決定される値である。
尚、移動中の視聴者アバター数のしきい値は、各視聴者端末300の性能(描画処理能力)等を考慮して、配信用サーバコンピュータ100の管理者等が適宜上記とは異なる値を設定してもよい。
移動中の視聴者アバター数がしきい値に到達していない場合(ステップS410;No)はS413に進み、移動中の視聴者アバター数がしきい値に到達した場合(ステップS410;Yes)、配信用サーバコンピュータ100は、視聴者端末300においてフルアバターでの視聴者アバターの描画処理負荷が限界間近であることにもとづいて簡易化判定値を1加算するとともに(ステップS411)、移動人数しきい値到達済フラグをセットしてステップS413に進む(ステップS412)。
ステップS413において配信用サーバコンピュータ100は、第1演目開始直前のタイミングT1であるか否かを判定する(ステップS413)。その時点が第1演目開始直前のタイミングT1であると判定した場合(ステップS413;Yes)は、ステップS416に進む。
その時点が第1演目開始直前のタイミングT1ではないと判定した場合(ステップS413;No)、配信用サーバコンピュータ100は、演者Bの演者アバター1Bが登場するタイミングT2であるか否かを判定する(ステップS414)。現在が演者Bの演者アバター1Bが登場する直前のタイミングT2であると判定した場合(ステップS414;Yes)は、ステップS416に進む。
また、その時点が演者Bの演者アバター1Bが登場する直前のタイミングT2ではないと判定した場合(ステップS414;No)、配信用サーバコンピュータ100は、その時点が第2演目の開始直前のタイミングT3であるか否かを判定する(ステップS415)。その時点が第2演目の開始直前のタイミングT3であると判定した場合(ステップS415;Yes)は、ステップS416に進み、その時点が第2演目開始直前のタイミングT3でないと判定した場合(ステップS415;No)は、ステップS417に進む。
ステップS416において配信用サーバコンピュータ100は、上記したタイミングT1、T2、T3に達することによって直後に視聴者端末300の描画処理負荷が増大することにもとづいて簡易化判定値を1加算し、ステップS417に進む(ステップS416)。
また、ステップS417において配信用サーバコンピュータ100は、複合簡易化判定処理を実行する。該複合簡易化判定処理は、例えば、ステップS404において参加人数のしきい値に到達していない場合や、ステップS410において移動中の視聴者アバター数がしきい値に到達していない場合、ステップS413~ステップS415においてタイミングT1~T3のいずれでもない場合であっても、視聴者端末300におけるフルアバターとしての視聴者アバターの描画処理負荷や各視聴者アバターの影の生成計算、演者アバターの描画処理負荷等を合算した処理負荷が視聴者端末300の処理負荷の限界間近に達しているか否かを判定し、これら合算した処理負荷が視聴者端末300の処理負荷の限界間近に達している場合には、ステップS405、ステップS411、ステップS416と同様に簡易化判定値を1加算する処理を行えばよい。
尚、本実施例3では、タイミングT2において、直後に演者アバター数が2となること(演者アバター1Aに加えて演者アバター1Bが登場すること)にもとづいて簡易化判定値を1加算する形態を例示している。つまり、演者アバター数のしきい値を「2」に設定しているが、該演者アバター数のしきい値は、単に描画する演者アバター数ではなく、あくまで視聴者端末300において描画可能な演者アバター数に対応した処理負荷によって決定される値である。
尚、演者アバター数のしきい値は、各視聴者端末300の性能(描画処理能力)等を考慮して、配信用サーバコンピュータ100の管理者等が適宜上記とは異なる値を設定してもよい。特に、本実施例3では、演者アバター数のしきい値として「1」が設定された場合は、第1MC期間中における演者Aの演者アバター1Aの登場直前タイミングで簡易化判定値が1加算されることとなる。
尚、本実施例3の複合簡易化判定処理では、視聴者端末300におけるフルアバターとしての視聴者アバターの描画処理負荷や各視聴者アバターの影の生成計算、演者アバターの描画処理負荷等を合算した処理負荷が視聴者端末300の処理負荷の限界間近に達しているか否かを判定する形態を例示したが、本発明はこれに限定されるものではなく、複合簡易化判定処理としては、視聴者端末300の処理負荷が参加人数のしきい値や移動中の視聴者アバター数のしきい値に応じた処理負荷とは異なる処理負荷に達したことを条件に簡易化判定値を1加算してもよい。
ステップS417の処理を実行した後、配信用サーバコンピュータ100は、簡易化判定値の送信設定のみを行ってアバター簡易化判定処理を終了する(ステップS418)。
<視聴者視点映像生成処理>
図42は、図38に示す視聴者視点映像生成処理の一例を示すフローチャートである。視聴者視点映像生成処理において視聴者端末300は、先ず、演者アバターの映像を図45(A)に示すフルアバターにて生成する(ステップS501)。尚、図45(A)に示すように、演者アバター1A、1Bとしては、各演者(本実施例3では演者Aと演者B)の趣向にもとづいて制作されたフルアバターと、該フルアバターを簡略化した簡易アバターとがある。簡易アバターはフルアバターよりも少ないポリゴン数で作成されているアバターモデルであり(ポリゴン数:演者のフルアバター>演者の簡易アバター)、フルアバターよりも各視聴者端末300において描画処理負荷が軽くなっている。
次いで、簡易化判定値が0であるか否かを判定する(ステップS502)。簡易化判定値が0である場合(ステップS502;Yes)は、フレンド登録している視聴者の視聴者アバター及びフレンド登録していない視聴者の視聴者アバターの双方の映像をフルアバターにて生成してステップS509に進む(ステップS503)。尚、図45(B)に示すように、視聴者アバターとしては、各視聴者の趣向にもとづいて制作されたフルアバターが設けられている。これら視聴者アバターとしてのフルアバターは、演者の簡易アバターと同程度のポリゴン数で制作されたアバターモデルであり(ポリゴン数:演者の簡易アバター≒視聴者のフルアバター)、視聴者毎に形状や配色等が異なっている。
尚、本実施例3では、演者のフルアバターと視聴者のフルアバターとを同程度のポリゴン数で制作する形態を例示しているが、本発明はこれに限定されるものではなく、これら演者のフルアバターと視聴者のフルアバターのポリゴン数については、演者のフルアバターのポリゴン数よりも少なければ、視聴者のフルアバターのポリゴン数が演者の簡易アバターのポリゴン数より多くてもよいし、演者の簡易アバターのポリゴン数が視聴者のフルアバターのポリゴン数よりも多くてもよい。
また、図45(B)に示すように、視聴者アバターとしては、各視聴者のフルアバターよりも少ないポリゴン数で制作された簡易アバターも設けられている。該視聴者アバターとしての簡易アバターは、各視聴者のフルアバターの形態にかかわらず共通態様且つ、各視聴者のフルアバターよりも少ないポリゴン数で制作されており(ポリゴン数:視聴者のフルアバター>視聴者の簡易アバター)、フルアバターよりも各視聴者端末300において描画処理負荷が軽くなっている。
図42に戻り、視聴者端末300は、簡易化判定値が0ではない場合(ステップS502;No)は、更に簡易化判定値が1であるか否かを判定する(ステップS504)。簡易化判定値が1である場合(ステップS504;Yes)は、フレンド視聴者アバター特定済フラグがセットされているか否かを判定する(ステップS505a)。尚、フレンド視聴者アバター特定済フラグは、フレンドユーザーデータテーブル内に存在する視聴者アバターファイル名が特定されたことを示すフラグである。フレンド視聴者アバター特定済フラグがセットされている場合(ステップS505a;Yes)はステップS506に進み、フレンド視聴者アバター特定済フラグがセットされていない場合(ステップS505a;No)は、図40に示すフレンドユーザーデータテーブルを参照し、該フレンドユーザーデータテーブル内に存在する視聴者アバターデータファイル名を特定するとともに該特定した視聴者アバターデータファイル名を記憶する(ステップS505b)。また、視聴者端末300は、フレンド視聴者アバター特定済フラグをセットしてステップS506に進む(ステップS505c)
そして、ステップS506において視聴者端末300は、ステップS505において特定した視聴者アバターデータファイル名に応じた視聴者アバター(フレンドの視聴者アバター)の映像をフルアバターにて生成する一方で(ステップS506)、ステップS505bにおいて特定した視聴者アバターデータファイル名に応じた視聴者アバターを除く視聴者アバター(他人の視聴者アバター)の映像を簡易アバターにて生成し(ステップS507)、ステップS509に進む。
また、簡易化判定値が1ではない場合(ステップS504;No)、視聴者端末300は、簡易化判定値が2以上であるとしてフレンド登録している視聴者であるか否かにかかわらず全ての視聴者アバターの映像を簡易アバターにて生成し(ステップS508)、ステップS509に進む。
ステップS509において視聴者端末300は、その他演者アバター1A、1Bや視聴者アバター以外の視聴者視点映像を生成し(ステップS509)、視聴者視点映像生成処理を終了する。
以上のように本実施例3では、図44(A)に示すように、視聴者視点映像生成処理にて生成される演者アバター1A、1Bは、簡易化判定処理の値にかかわらず常にフルアバターとして映像が生成される。つまり、当該視聴者端末300を操作する視聴者の視聴者アバター視点では常に演者アバター1A、1Bはフルアバターとして表示されるようになっている。
また、視聴者アバターのうち、フレンド登録されている視聴者の視聴者アバターについては、簡易化判定値が1以下である場合はフルアバターで映像が生成される一方で、簡易化判定値が2以上である場合は簡易アバターで映像が生成される。つまり、当該視聴者端末300を操作する視聴者の視聴者アバター視点では、フレンド登録されている視聴者アバターは、簡易化判定値が1以下である場合はフルアバターで表示される一方で、簡易化判定値が2以上である場合は簡易アバターで表示されるようになっている。
更に、視聴者アバターのうち、フレンド登録されていない視聴者の視聴者アバターについては、簡易化判定値が0である場合はフルアバターで映像が生成される一方で、簡易化判定値が1以上である場合は簡易アバターで映像が生成される。つまり、当該視聴者端末300を操作する視聴者の視聴者アバター視点では、フレンド登録されていない視聴者アバターは、簡易化判定値が0である場合のみフルアバターで表示される一方で、簡易化判定値が1以上である場合は簡易アバターで表示されるようになっている。
<仮想カメラ視点映像生成処理(視聴者端末)>
図43は、図38に示す仮想カメラ視点映像生成処理(視聴者端末300が実行する仮想カメラ視点映像生成処理)を示すフローチャートの一例である。仮想カメラ視点映像生成処理において視聴者端末300は、先ず、演者アバター1A、1Bの映像をフルアバターにて生成し(ステップS511)、簡易化判定値が0であるか否かを判定する(ステップS512)。簡易化判定値が0である場合(ステップS512;Yes)は、当該視聴者端末300を操作している視聴者自身の視聴者アバターと、フレンド登録しているか否かにかかわらず全ての他の視聴者アバターと、の映像をフルアバターにて生成し(ステップS513)、ステップS523に進む。
簡易化判定値が0ではない場合(ステップS512;No)は、更に簡易化判定値が1であるか否かを判定する(ステップS514)。簡易化判定値が1である場合(ステップS514;Yes)は、フレンド視聴者アバター特定済フラグがセットされているか否かを判定する(ステップS515a)。フレンド視聴者アバター特定済フラグがセットされている場合(ステップS515a;yes)はステップS516に進み、フレンド視聴者アバター特定済フラグがセットされていない場合(ステップS515a;No)は、図40に示すフレンドユーザーデータを参照し、該フレンドユーザーデータ内に存在する視聴者アバターデータファイル名を特定する(ステップS515b)。また、視聴者端末300は、フレンド視聴者アバター特定済フラグをセットしてステップS516に進む(ステップS515c)
そして、視聴者端末300は、当該視聴者端末300を操作している視聴者自身の視聴者アバターと、ステップS515bにおいて特定した視聴者アバターデータファイル名に応じた視聴者アバター(フレンドの視聴者アバター)と、の映像をフルアバターにて生成する一方で(ステップS516)、当該視聴者端末300を操作している視聴者自身の視聴者アバターとステップS515において特定した視聴者アバターデータファイル名に応じた視聴者アバターを除く視聴者アバター(他人の視聴者アバター)の映像を簡易アバターにて生成し(ステップS517)、ステップS523に進む。
簡易化判定値が1ではない場合(ステップS514;No)は、更に簡易化判定値が2であるか否かを判定する(ステップS518)。簡易化判定値が2である場合(ステップS518;No)、視聴者端末300は、当該視聴者端末300を操作している視聴者自身の視聴者アバターの映像をフルアバターにて生成する一方で(ステップS520)、当該視聴者自身の視聴者ユーザー以外の視聴者アバターの映像を簡易アバターにて生成し(ステップS521)、ステップS523に進む。
尚、簡易化判定値が2ではない場合(ステップS518;No)、視聴者端末300は、簡易化判定値が3以上であるとして、当該視聴者端末300を操作している視聴者自身の視聴者アバターと、フレンド登録しているか否かにかかわらず全ての他の視聴者アバターと、の映像を簡易アバターにて生成し(ステップS522)、ステップS523に進む。ステップS523において視聴者端末300は、その他仮想カメラ視点映像を生成して仮想カメラ視点映像生成処理を終了する(ステップS523)。
以上のように本実施例3では、図44(B)に示すように、視聴者端末300の視聴者視点映像生成処理にて生成される演者アバター1A、1Bは、簡易化判定処理の値にかかわらず常にフルアバターとして映像が生成される。つまり、当該視聴者端末300を操作する視聴者の視聴者アバター視点では、演者アバターは常にフルアバターとして表示されるようになっている。
また、視聴者アバターのうち、当該視聴者端末300を操作する視聴者自身の視聴者アバターについては、簡易化判定値が2以下である場合はフルアバターで映像が生成される一方で、簡易化判定値が3以上である場合は簡易アバターで映像が生成される、つまり、仮想カメラ視点では、当該視聴者端末300を操作する視聴者自身の視聴者アバターは、簡易化判定値が2以下である場合にはフルアバターとして表示される一方で、簡易化判定値が3以上である場合には簡易アバターとして表示されるようになっている。
また、視聴者アバターのうち、フレンド登録されている視聴者の視聴者アバターについては、簡易化判定値が1以下である場合はフルアバターで映像が生成される一方で、簡易化判定値が2以上である場合は簡易アバターで映像が生成される。つまり、仮想カメラ視点では、フレンド登録されている視聴者の視聴者アバターは、簡易化判定値が1以下である場合はフルアバターで表示される一方で、簡易化判定値が2以上である場合は簡易アバターで表示されるようになっている。
更に、視聴者アバターのうち、フレンド登録されていない視聴者の視聴者アバターについては、簡易化判定値が0である場合はフルアバターで映像が生成される一方で、簡易化判定値が1以上である場合は簡易アバターで映像が生成される。つまり、仮想カメラ視点では、フレンド登録されていない視聴者の視聴者アバターは、簡易化判定値が0である場合のみフルアバターで表示される一方で、簡易化判定値が1以上である場合は簡易アバターで表示されるようになっている。
尚、本実施例3では、図38、図42、図43に示すように、視聴者端末300において生成する視聴者視点映像と仮想カメラ視点映像について、視聴者端末300における描画処理負荷の増大に応じて各視聴者アバターをフルアバターから簡易アバターに変化させる形態を例示したが、本発明はこれに限定されるものではなく、図25に示すように、配信用サーバコンピュータ100において生成する仮想カメラ視点映像についても、各視聴者バターをフルアバターから簡易アバターに変化させるようにしてもよい。尚、この場合は、配信用サーバコンピュータ100における描画処理負荷の増大に応じて各視聴者アバターをフルアバターから簡易アバターに変化させればよい。
更には、本発明の仮想空間コンテンツ配信システム全体での処理負荷の過度な増大を防ぐことができればよいことから、配信用サーバコンピュータ100における描画処理負荷の増大に応じて視聴者端末300にて生成する視聴者視点映像や仮想カメラ視点映像での視聴者アバターをフルアバターから簡易アバターに変化させてもよいし、視聴者端末300における描画処理負荷の増大に応じて配信用サーバコンピュータ100にて生成する仮想カメラ視点映像での視聴者アバターをフルアバターから簡易アバターに変化させてもよい。
尚、本実施例3では、上記したように視聴者端末300において描画可能なアバター数に対応した処理負荷に応じて視聴者端末300において視聴者アバターをフルアバターから簡易アバターに変化させる形態を例示したが、本発明はこれに限定されるものではなく、単に参加人数のしきい値や移動中の視聴者アバター数のしきい値、演者アバター数のしきい値を超えることにもとづいて視聴者アバターをフルアバターから簡易アバターに変化させてもよい。
次に、仮想ライブ会場内における演者アバター1A、1Bと視聴者アバターの表示の変化について、視聴者アバター11を操作している視聴者の視聴者端末300における仮想カメラC2視点での表示を例に説明する。また、以下では、視聴者アバター12、13、14を、視聴者アバター11を操作している視聴者によってフレンド登録されている視聴者のアバター、それ以外の視聴者アバターを、視聴者アバター11を操作している視聴者によってフレンド登録されていない視聴者のアバターとして説明する。
尚、本実施例3では、仮想カメラC2視点での演者アバター1A、1Bと視聴者アバターの表示の変化について説明するが、視聴者視点(視聴者アバター11からの視点)での演者アバター1A、1Bと視聴者アバターの表示については、視聴者アバター11が表示されないこと以外は仮想カメラC2視点と同一であるため説明を省略する。
また、本実施襟3では、図41に示すアバター簡易化判定処理において複合簡易化判定処理(ステップS417)を実行しているため、必ずしも参加人数がしきい値に到達したタイミングや移動中の視聴者アバター数がしきい値に到達したタイミング、タイミングT1~T3のいずれかで視聴者アバターがフルアバターから簡易アバターに変化するものではないが、説明が複雑化することを防ぐため、以下では参加人数がしきい値に到達したタイミングや移動中の視聴者アバター数がしきい値に到達したタイミング、タイミングT1~T3で視聴者アバターがフルアバターから簡易アバターに変化する例を用いて説明する。
先ず、図46に示すように、仮想ライブ会場内において参加人数のしきい値到達判定、移動中の視聴者アバター数のしきい値到達判定のどちらも実行されない場合について、演者Aの演者アバター1Aは第1MC期間の開始直後タイミングである登場タイミングからフルアバターで表示され、演者Bの演者アバター2Bは、第2MC期間中の登場タイミングからフルアバターで表示される。尚、演者Aの演者アバター1Aと演者Bの演者アバター1Bはどちらも簡易アバターに変化することなくフルアバターでの表示が維持される。
一方で、仮想ライブ会場参加可能期間において表示が開始されてから、演者Aの演者アバター1Aによる演目(第1演目)が開始される直前であるタイミングT1までは、全ての視聴者アバターがフルアバターで表示される(図49(A)参照)。タイミングT1からは、直後の第1演目開始タイミングから発光演出の発光強度が高まるとともに演者アバター1Aの動作が激しくなることで視聴者端末300における描画処理負荷が増大することに応じて、簡易化判定値が0から1に更新されることで、視聴者アバター11を操作する視聴者によってフレンド登録されていない視聴者の視聴者アバターとして、簡易アバターでの表示が開始される(図49(B)参照)。
また、タイミングT2からは、直後に演者アバター1Bが登場する、つまり、演者アバター数が1から2に増加することにより視聴者端末300における描画処理負荷が増大することに応じて、簡易化判定値が1から2に更新されることで、視聴者アバター11を操作する視聴者によってフレンド登録されている視聴者の視聴者アバターとして、簡易アバターでの表示が開始される(図49(C)参照)。
そして、タイミングT3からは、直後に発光演出の発光強度が高まるとともに演者A及び演者Bの演者アバター1A、2Bの動作が激しくなる第2演目が開始されることに応じて簡易化判定値が2から3に更新されることで、視聴者アバター11自体の簡易アバターでの表示が開始される(図49(D)参照)。
図47に示すように、仮想ライブ会場内において参加人数しきい値の到達判定が実行される場合は、演者Aの演者アバター1Aは第1MC期間の開始直後タイミングである登場タイミングからフルアバターで表示され、演者Bの演者アバター1Bは、第2MC期間中の登場タイミングからフルアバターで表示される。尚、演者Aの演者アバター1Aと演者Bの演者アバター1Bはどちらも簡易アバターに変化することなくフルアバターでの表示が維持される。
一方で、仮想ライブ会場参加可能期間において表示が開始されてから、仮想ライブ会場参加可能期間中に参加人数しきい値到達と判定されるまでは、全ての視聴者アバターがフルアバターで表示される(図49(A)参照)が、仮想ライブ会場参加可能期間中に参加人数しきい値到達と判定された場合は、該到達判定タイミングにおいて簡易化判定値が0から1に更新されることで、視聴者アバター11を操作する視聴者によってフレンド登録されていない視聴者の視聴者アバターとして、簡易アバターでの表示が開始される(図49(B)参照)。
タイミングT1からは、直後から発光演出の発光強度が高まるとともに演者アバター1Aの動作が激しくなる第1演目が開始されることにより視聴者端末300における描画処理負荷が増大することに応じて簡易化判定値が1から2に更新されることで、視聴者アバター11を操作する視聴者によってフレンド登録されている視聴者の視聴者アバターとして、簡易アバターでの表示が開始される(図49(C)参照)。
そして、タイミングT2からは、直後に演者アバター1Bが登場する、つまり、演者アバター数が1から2に増加することにより視聴者端末300における描画処理負荷が増大することに応じて簡易化判定値が2から3に更新されることで、視聴者アバター11自体の簡易アバターでの表示が開始される(図49(D)参照)。
図48に示すように、仮想ライブ会場内において参加人数のしきい値到達判定と移動中の視聴者アバター数のしきい値到達判定が実行される場合は、演者Aの演者アバター1Aは第1MC期間の開始直後タイミングである登場タイミングからフルアバターで表示され、演者Bの演者アバター1Bは、第2MC期間中の登場タイミングからフルアバターで表示される。尚、演者Aの演者アバター1Aと演者Bの演者アバター1Bはどちらも簡易アバターに変化することなくフルアバターでの表示が維持される。
一方で、仮想ライブ会場参加可能期間において表示が開始されてから、仮想ライブ会場参加可能期間中に参加人数しきい値到達と判定されるまでは、全ての視聴者アバターがフルアバターで表示される(図49(A)参照)が、仮想ライブ会場参加可能期間中に参加人数しきい値到達と判定された場合は、該到達判定タイミングにおいて簡易化判定値が0から1に更新されることで、視聴者アバター11を操作する視聴者によってフレンド登録されていない視聴者の視聴者アバターとして、簡易アバターでの表示が開始される(図49(B)参照)。
また、仮想ライブ会場参加可能期間中において移動中の視聴者アバター数がしきい値到達と判定された場合は、該到達タイミングにおいて簡易化判定値が1から2に更新されることで、視聴者アバター11を操作する視聴者によってフレンド登録されている視聴者の視聴者アバターとして、簡易アバターでの表示が開始される(図49(C)参照)。
そして、タイミングT1からは、直後に発光演出の発光強度が高まるとともに演者アバター1Aの動作が激しくなる第1演目が開始されることにより視聴者端末300における描画処理負荷が増大することに応じて簡易化判定値が2から3に更新されることで、視聴者アバター11自体の簡易アバターでの表示が開始される(図49(D)参照)。
尚、本実施例3では、簡易化判定値が3に更新されたことによって全視聴者アバターの簡易アバターでの表示が開始された後も簡易化判定値が4,5と更新されていく場合があるが、簡易化判定値が4以上に更新されても全視聴者アバターは簡易アバターから更に変化することはない。
以上、本実施例3では、図41~図44、図46~図49に示すように、表示される演者アバター数が増えて2となることで演者アバターの描画処理負荷が増大すること、第1演目期間や第2演目期間の開始により演者アバターの動作が大きく(激しく)なることで仮想空間の更新処理負荷や演者アバターの描画処理負荷が増大すること、第1演目期間や第2演目期間の開始にもとづいて発光演出の発光強度が高まることで仮想空間並びに各アバターの描画処理負荷が増大すること、仮想ライブ会場に仮想参加する視聴者アバター数(ライブの参加人数)がしきい値数を超えることで仮想空間の更新処理負荷や視聴者アバターの描画処理負荷が増大すること、仮想ライブ会場に仮想参加している視聴者アバターのうち移動中の視聴者アバター数(移動人数)がしきい値を超えることで仮想空間の更新処理負荷や視聴者アバターの描画処理負荷が増大すること、のいずれかの発生(本発明の特定条件の成立)にもとづいて、仮想ライブ会場内の視聴者アバターをフルアバターから簡易アバターに変化させることで、視聴者端末300がこれら視聴者アバターを表示(描画)するための処理負荷を低減するので、上記特定条件が成立することによる仮想空間コンテンツ配信システム全体での処理負荷の過度な増大を防ぐことができる。
また、本実施例3では、仮想ライブの進行を管理するためのタイムスケジュールデータが配信用サーバコンピュータ100のストレージ103に記憶されており、配信用サーバコンピュータ100は、該タイムスケジュールデータから処理負荷が増大する直前のタイミングを図41に示すアバター簡易化判定処理で特定することが可能となっているため、処理負荷が増大するタイミングを実際に処理負荷が増大するよりも前のタイミングT1~T3で正確に特定することができる。
特に、本実施例3では、表示される演者アバター数が増えて2となることで演者アバターの描画処理負荷が増大するタイミングや、第1演目期間や第2演目期間の開始により演者アバターの動作が大きく(激しく)なることで仮想空間の更新処理負荷や演者アバターの描画処理負荷が増大するタイミング、第1演目期間や第2演目期間の開始にもとづいて発光演出の発光強度が高まることで仮想空間並びに各アバターの描画処理負荷が増大するタイミングよりも前のタイミングT1~T3から視聴者アバターをフルアバターから簡易アバターに変化させることで、これら演者アバター数の増加のタイミング、演者アバター1A、1Bの動作が激化するタイミング、発光演出として発光強度が強化されるタイミングが、視聴者アバターをフルアバターから簡易アバターに変化させるタイミングと重複することで、これらの処理に要する処理負荷が重複して仮想空間コンテンツ配信システム全体での処理負荷が過度に増大してしまうことを防ぐことができる。
尚、本実施例3では、タイムスケジュールデータを配信用サーバコンピュータ100のストレージ103に記憶し、配信用サーバコンピュータ100がタイミングT1~T3を特定したことにもとづいて視聴者端末300に視聴者アバターをフルアバターから簡易アバターに変化させる形態を例示したが、本発明はこれに限定されるものではなく、タイムスケジュールデータを視聴者端末300のストレージ303に記憶し、視聴者端末300自体がタイムスケジュールデータからタイミングT1~T3の特定及び該特定にもとづく視聴者アバターのフルアバターから簡易アバターへの変化を実行してもよい。
また、本実施例3では、描画処理負荷が増大する直前のタイミングT1~T3から視聴者アバターをフルアバターから簡易アバターに変化させる形態を例示しているが、本発明はこれに限定されるものではなく、視聴者端末300の描画処理能力に十分な余裕がある場合は、描画処理負荷が増大するタイミングにて視聴者アバターをフルアバターから簡易アバターに変化させるようにしてもよい。
また、図49に示すように、仮想カメラ指定映像としては、視聴者端末300を操作する視聴者自身の視聴者アバター(図49の例であれば視聴者アバター11)についても最終的にはフルアバターから簡易アバターに変化して表示されるので、処理負荷の過度な増大をより一層防ぐことができる。
また、本実施例3では、視聴者端末300を操作する視聴者自身の視聴者アバター(図49の例であれば視聴者アバター11)よりも、他の視聴者端末300を操作する視聴者の視聴者アバターが優先してフルアバターから簡易アバターに変化するため、処理負荷の過度な増大を効果的に防ぐことができる。
尚、本実施例3では、視聴者アバターは、視聴者端末300を操作する視聴者自身の視聴者アバター(図49の例であれば視聴者アバター11)、該視聴者によってフレンド登録されている視聴者の視聴者アバター(図49の例であれば視聴者アバター12、13、14)、該視聴者によってフレンド登録されていない視聴者の視聴者アバターに別れており、フルアバターから簡易アバターに変化する優先度は、フレンド登録されていない視聴者の視聴者アバターが最も高く、視聴者端末300を操作する視聴者自身の視聴者アバター(図49の例であれば視聴者アバター11)が最も低く設定されている(フルアバターから簡易アバターに変化する優先度:フレンド登録されていない視聴者の視聴者アバター>フレンド登録されている視聴者の視聴者アバター>視聴者端末300を想亜する視聴者自身の視聴者アバター)が、本発明はこれに限定されるものではなく、これらフルアバターから簡易アバターに変化させる優先度は上記以外であってもよいし、また、フルアバターから簡易アバターに変化させる優先度は視聴者アバター間で設定されていなくともよい。
また、本実施例3では、図45~図48に示すように、演者アバター1A、1Bと視聴者アバターの両方でフルアバターと簡易アバターとが設けられているが、視聴者アバターとしては、視聴者端末300の描画処理負荷の増大に伴いフルアバターが簡易アバターに変化する一方で、演者アバター1A、1Bとしては、視聴者端末300の描画処理負荷の増大にかかわらず常にフルアバターのみが表示されるようになっている。つまり、仮想ライブ中は、演者アバター1A、1Bとして表示するための描画処理負荷が小さい簡易アバターが表示されることがないので、演者アバター1A、1Bとして簡易アバターが表示されることによるライブの興趣低下を防ぐことができる。
尚、本実施例3では、演者アバター1A、1Bとしてフルアバターと簡易アバターとが設けられている形態を例示しているが、本発明はこれに限定されるものではなく、そもそも演者アバター1A、1Bとしての簡易アバターは表示される機会がないものであるから、演者アバター1A、1Bとしてはフルアバターのみを設けて簡易アバターを設けないようにしてもよい。
また、本実施例3では、仮想空間コンテンツ配信システムを構成する機器として演者が操作可能な演者端末200を設け、仮想空間コンテンツとして、演者の操作が即座に反映された演者アバター1A、1Bの動作を配信可能とした。しかしながら、本発明はこれに限定するものではなく、仮想空間コンテンツとしては、予め撮影あるいは制作した演者アバター1A、1Bの動作を配信するものとしてもよい。
また、本実施例3では、図41に示すように、仮想ライブ会場に設置されている視聴者アバター数や移動中の視聴者アバター数が予め定められたしきい値に達したことにもとづいて、配信用サーバコンピュータ100が視聴者端末300における描画処理負荷が限界間近であると一義的に判定し、視聴者端末300に視聴者アバターをフルアバターから簡易アバターに変化させる形態を例示したが、本発明はこれに限定されるものはなく、実際には各視聴者が同一の視聴者端末300を用いている可能性は極めて低いので、配信用サーバコンピュータ100が視聴者端末300における描画処理負荷が限界間近であると判定した場合であっても、視聴者端末300側に未だ視聴者アバターや演者アバター等を描画するための十分な描画処理能力が残っている場合は、視聴者端末300側で視聴者アバターのフルアバターでの表示を継続するようにしてもよい。
また、本実施例3では、仮想ライブ会場に仮想参加する視聴者アバター数がしきい値数を超えるとき、仮想ライブ会場に仮想参加している視聴者アバターのうち移動中の視聴者アバター数がしきい値数を超えるとき、発光演出の発光強度が高まるとき、演者アバターの動作が大きく(激しく)なるとき、演者アバター数が増えるときに、配信用サーバコンピュータ100が視聴者端末300の描画負荷が増大すると判断して視聴者端末300に対して視聴者アバターをフルアバターから簡易アバターに変化させる形態を例示したが、本発明はこれに限定されるものではなく、仮想ライブ会場に仮想参加する視聴者アバター数がしきい値数を超えるとき、仮想ライブ会場に仮想参加している視聴者アバターのうち移動中の視聴者アバター数がしきい値数を超えるとき、発光演出の発光強度が高まるとき、演者アバターの動作が大きく(激しく)なるとき、演者アバター数が増えるときに、視聴者端末300自体が視聴者端末300の描画処理負荷が増大すると判断して視聴者アバターをフルアバターから簡易アバターに変化させてもよい。この場合は、視聴者端末300を用いて仮想ライブを視聴している視聴者自身が視聴者端末300を操作して仮想ライブ会場に仮想参加する視聴者アバター数のしきい値数や、移動中の視聴者アバター数のしきい値数を設定してもよい。
また、本実施例3では、視聴者端末300を使用している視聴者ユーザーと関係性が高いフレンドである視聴者の視聴者アバターよりも、フレンドではない視聴者の視聴者アバターを優先して簡易アバターとして表示する形態を例示したが、本発明はこれに限定されるものではなく、視聴者端末300を使用している視聴者ユーザーの親や兄弟等の血縁者、視聴者端末300を使用している視聴者ユーザーと同一組織(例えば、学校や会社、サークル等)に所属している関係者等を予め図39に示すのと同様の手順で予め登録しておき、これら血縁者や関係者ではない視聴者の視聴者アバターを優先して簡易アバターとして表示するようにしてもよい。つまり、本実施例3における『各視聴者ユーザーが自己と関係性が高い他の視聴者ユーザー』は、フレンド以外にも視聴者ユーザー自身の血縁者や同一組織に所属している関係者等を含んでいてもよい概念である。
また、本実施例3では、視聴者端末300の処理負荷が増大することにもとづいて視聴者アバターをフルアバターから簡易アバターに変化させる形態を例示したが、本発明はこれに限定されるものではなく、視聴者アバターとして描画負荷が異なる簡易アバターを複数設け、視聴者端末300の処理負荷が増大するときは、視聴者端末300毎に描画能力に応じた簡易アバターを視聴者アバターとして表示してもよい。
<実施例3の変形例>
以上、本発明を各実施例及び変形例にもとづいて説明したが、具体的な構成は上記した各実施例及び変形例に限定されるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
例えば、前記実施例3では、演者アバター1A、1Bとしてフルアバターと簡易アバターの両方が用意されているにもかかわらず演者アバター1A、1Bとして簡易アバターが表示されることがない形態を例示したが、本発明はこれに限定されるものではなく、変形例3-1として、演者アバター1A、1Bを簡易アバターで表示する場合を設けてもよいし、各演者による演者端末200の操作によって演者アバター1A、1Bをフルアバターと簡易アバターのどちらで表示するかを選択可能な期間を設けてもよい。
例えば、図50に示すように、演目期間中以外の期間においては、演者Aの演者アバター1Aと演者Bの演者アバター1Bの両方が各演者端末200からの操作でフルアバターと簡易アバターのどちらで表示するかを選択可能とすればよい。また、演目期間中においては、当該演目期間が演者Aの演者アバター1Aのみが歌唱やダンスを行う演目期間である場合は、演者Aの演者アバター1Aをフルアバターで表示する一方で演者Bの演者アバター1Bを簡易アバターで表示することで、視聴者端末300における演者Bの演者アバター1Bを表示するための処理負荷を低減するようにし、当該演目期間が演者Bの演者アバター1Bのみが歌唱やダンスを行う演目期間である場合は、演者Bの演者アバター1Bをフルアバターで表示する一方で演者Aの演者アバター1Aを簡易アバターで表示することで、視聴者端末300における演者Aの演者アバター1Aを表示するための処理負荷を低減するようにしてもよい。
また、当該演目期間が演者Aの演者アバター1Aと演者Bの演者アバター1Bの両方が歌唱やダンスを行う演目期間である場合は、演者Aの演者アバター1Aと演者Bの演者アバター1Bの両方を表示すればよい。
また、前記実施例3では、視聴者アバターの簡易アバターとして、歌唱やダンスを行う演者にかかわらず一の態様の簡易アバターのみを設ける形態を例示したが、本発明はこれに限定されるものではなく、変形例3-2として図51に示すように、演目を行う演者アバターに応じて視聴者の簡易アバターの態様が異なるようにしてもよい。特に、仮想ライブ会場参加可能期間や開演演出期間、MC期間等の非演目期間では、前記実施例3に示した態様で視聴者アバターの表示を行う一方で、各演目期間中においては、歌唱やダンスを行う演者アバターに応じて予め各演者に応じて設定されている態様の簡易アバターで視聴者アバターの表示を行うようにしてもよい。このようにすることで、演者アバターに応じて視聴者アバターとしての簡易アバターの態様が変化するようになるので、仮想ライブの興趣を向上できる。
尚、このように演者に応じて視聴者アバターの態様を異ならせる場合は、図52及び図53に示すように、事前データ送信処理において配信用サーバコンピュータ100が視聴者端末300から受信した事前データダウンロード要求から、予め視聴者用に簡易アバターの設定が行われている演者(予め配信用サーバコンピュータ100内のストレージ103に視聴者用の簡易アバターのデータが記憶されている演者)の特定を行うとともに(ステップS601)、該特定した演者毎の視聴者用簡易アバターのデータの送信設定(ステップS602)と、受信した事前データダウンロード要求からその他の事前データの送信設定(ステップS603)と、を行い、これら送信設定を行った事前データを視聴者端末300に送信すればよい(ステップS604)。
このようにすることで、視聴者端末300は、配信用サーバコンピュータ100から事前データの一部として各演者(演者アバター1A、1B)に応じた視聴者用簡易アバターのデータを受信することで、演目期間中において各演者アバター1A、1Bに応じた態様の簡易アバターを視聴者アバターとして表示することができる。
尚、本変形例3-2では、各演者アバター1A、1Bに応じた態様の簡易アバターを視聴者アバターとして表示する形態を例示したが、本発明はこれに限定されるものではなく、事前データとして視聴者用の簡易アバターの設定が無い演者(予め配信用サーバコンピュータ100内のストレージ103に視聴者用の簡易アバターのデータが記憶されていない演者)の演目期間中については、図51に示すように、非演目期間中と同一の態様の簡易アバターを視聴者アバターとして表示してもよい。
また、本変形例3-2では、各演者アバター1A、1Bに応じた態様の簡易アバターを視聴者アバターとして表示する形態を例示したが、本発明はこれに限定されるものではなく、時間経過によって視聴者アバターとして表示する簡易アバターを異ならせるようにしてもよい。例えば、変形例3-3として図54に示すように、開演から予め定められたタイミングSまでは視聴者の簡易アバターとしてハート型のキャラクタを表示する一方で、タイミングS以降では視聴者の簡易アバターとして星型のキャラクタを表示するようにしてもよい。
また、前記実施例3では、視聴者アバターと演者アバター1A、1Bとでそれぞれフルアバターと該フルアバターよりも描画処理負荷が小さい簡易アバターと、の2種類のアバターを設ける形態を例示したが、本発明はこれに限定されるものではなく、変形例3-4として、視聴者アバターや演者アバター1A、1Bとしては、描画処理負荷が異なる複数の簡易アバター(例えば、フルアバターよりも描画処理負荷が小さい第1簡易アバターと、該第1簡易アバターよりも描画処理負荷が小さい第2簡易アバター)を設けてもよい。
このように、描画処理負荷が異なる簡易アバターを複数設ける場合は、仮想ライブ会場に仮想参加する視聴者アバター数がしきい値数を超えること、仮想ライブ会場に仮想参加している視聴者アバターのうち移動中の視聴者アバター数がしきい値数を超えること、タイミングT1~T3のいずれかに達すること等を条件に、視聴者アバターの態様をフルアバター、第1簡易アバター、第2簡易アバター…と段階的に視聴者端末300の描画処理負荷が低下していくように変化させてもよい。
また、前記実施例3では、仮想ライブ会場に仮想参加している視聴者アバターのうち移動中の視聴者アバター数がしきい値数を超えることを条件に視聴者アバターをフルアバターから簡易アバターに変化させる形態を例示したが、本発明はこれに限定されるものではなく、変形例3-5として、仮想ライブ会場に仮想参加している視聴者アバターのうち移動中でなくともダンスやジャンプ等の動作をしている視聴者アバター数がしきい値数を超えることを条件に視聴者アバターをフルアバターから簡易アバターに変化させるようにしてもよい。つまり、前記実施例3における『仮想空間において動作する演者アバター』には、仮想ライブ会場内を移動している演者アバターに加えて、仮想ライブ会場内で移動以外の動作を行っている演者アバターを含んでもよい。
また、前記実施例3では、各視聴者アバターを一旦フルアバターで表示しておき、特定条件の成立にもとづいてこれら視聴者アバターを簡易アバターに変化させる形態を例示したが、本発明はこれに限定されるものではなく、変形例3-6として、仮想ライブ会場に仮想参加する視聴者アバター数が予め定められたしきい値数を超えることが確実視される場合は、各視聴者アバターを最初から簡易アバターにて表示するようにしてもよい。
また、前記実施例3では、表示される演者アバター数が増えて2となることで演者アバターの描画処理負荷が増大すること、第1演目期間や第2演目期間の開始により演者アバターの動作が大きく(激しく)なることで仮想空間の更新処理負荷や演者アバターの描画処理負荷が増大すること、第1演目期間や第2演目期間の開始にもとづいて発光演出の発光強度が高まることで仮想空間並びに各アバターの描画処理負荷が増大すること、仮想ライブ会場に仮想参加する視聴者アバター数(ライブの参加人数)がしきい値数を超えることで仮想空間の更新処理負荷や視聴者アバターの描画処理負荷が増大すること、仮想ライブ会場に仮想参加している視聴者アバターのうち移動中の視聴者アバター数(移動人数)がしきい値を超えることで仮想空間の更新処理負荷や視聴者アバターの描画処理負荷が増大することを本発明における特定条件とし、これら特定条件のうちいずれかが成立することにもとづいて視聴者アバターをフルアバターから簡易アバターに変化させる形態を例示したが、本発明はこれに限定されるものではなく、変形例3-7として、本発明における特定条件は、上記のうち一部のみであってもよいし、本発明の仮想空間コンテンツ配信システムを構成する配信用サーバコンピュータ100や視聴者端末300における処理負荷を増大させる事象であれば上記の条件以外のものを含んでいてもよい。
また、前記実施例3では、図41~図43に示すように、視聴者視点映像を生成する場合と仮想カメラ視点映像を生成する場合とで、同一値のしきい値(参加人数のしきい値と移動中の視聴者アバター数のしきい値)を用いて視聴者アバターをフルアバターから簡易アバターに変化させる形態を例示したが、本発明はこれに限定されるものではなく、変形例3-8として、視聴者視点映像を生成する場合と仮想カメラ視点映像を生成する場合とで異なるしきい値を用いて視聴者アバターをフルアバターから簡易アバターに変化させるようにしてもよい。例えば、図13に示すように、仮想カメラC1映像を生成する場合は、仮想カメラC2映像、仮想カメラC3映像、仮想カメラC4映像、各視聴者視点映像を生成する場合とは異なりほぼ演者アバターのみを描画することとなるので、参加人数のしきい値や移動中の視聴者アバター数のしきい値を高く設定する一方で、仮想カメラC2映像、仮想カメラC3映像、仮想カメラC4映像、各視聴者視点映像では、演者アバターに加えて各視聴者アバターも積極的に表示されることから、参加人数のしきい値や移動中の視聴者アバター数のしきい値を高く設定してもよい。
また、視聴者視点映像であっても、視聴者アバターの視線が仮想ステージGを向いていない場合は、視聴者アバターの視線が仮想ステージGを向いている場合よりも視聴者視点映像として演者アバターが描画され難いことから演者アバターを描画することによる描画処理負荷が高くなり難いので、視聴者アバターの視線が仮想ステージGを向いている場合よりも参加人数のしきい値や移動中の視聴者アバター数のしきい値を高く設定してもよい。
また、前記実施例3では、視聴者端末300の描画処理負荷の増大に応じて、フレンド登録していない視聴者の視聴者アバター、フレンド登録している視聴者の視聴者アバター、自身の視聴者アバターの順で簡易アバターに変化させる形態を例示したが、本発明はこれに限定されるものではなく、変形例3-9として、視聴者端末300の描画処理負荷が増大する毎に、自身の視聴者アバターからの距離が遠い視聴者アバターから順に簡易アバターに変化させていくようにしてもよい。
次に、実施例4の仮想空間コンテンツ配信システムについて図55~図60を用いて以下に説明する。尚、実施例1、2と同一の構成については、同一の符号を付して説明を省略する。
実施例4の仮想空間コンテンツ配信システムは、図55及び図56に示すように、視聴者アバターとして、比較的描画処理負荷が大きく且つ各視聴者アバターを識別可能とするために対応する視聴者ユーザー(視聴者端末300)毎に異なる外見を有するフルアバターと、これらフルアバターよりも描画処理負荷が小さい簡易アバターと、が設けられている。また、演者アバターとしては、演者Aに応じたフルアバターと、演者Bに応じたフルアバターの2種類が設けられており、これら演者A、演者Bの演者アバターは共に簡易アバターは設けられていない。尚、演者アバターとしてもフルアバターは、視聴者アバターとしてのフルアバターよりも描画処理負荷が大きいアバターである。
本実施例4の仮想空間コンテンツ配信システムにおいて実施する仮想ライブでは、実施例1、2と同様に、「ライブ仮想空間参加可能期間」、「開演前説」、「開演演出」の順に進行していく。「開演演出」の後は、「第1MC」→「第1演目」→「第2MC」→「第2演目」→「第3MC」→「第3演目」のように進行していく。
このうち、「第1MC」は演者Aの演者アバターが単独でトークや第1演目の紹介を行い、「第2MC」は演者Bの演者アバターが単独でトークや第2演目の紹介を行い、「第3MC」は演者Aと演者Bの演者アバターが共同でトークや第3演目の紹介を行う。また、「第1演目」は、演者Aの演者アバターが単独で歌唱やダンスを行う演目であり、「第2演目」は、演者Bの演者アバターが単独で歌唱やダンスを行う演目である。また、「第3演目」は、演者Aと演者Bとが共同で歌唱やダンスを行う演目である。
このような仮想ライブの進行において、本実施例4では、仮想ライブに参加している視聴者アバター数が少ない、仮想ライブに伴う発光演出等が行われていない、演者アバターが仮想ステージG上に登場していない等の理由によって仮想空間コンテンツ配信システム全体における描画処理負荷が比較的低い「ライブ仮想空間参加可能期間」、「開演前説」の期間、「開演演出」の期間では視聴者アバターをフルアバターで表示(描画)する一方で、演者アバターが登場する第1MC期間以降については視聴者アバターを簡易アバターで表示(描画)する。
より詳細には、図55及び図56に示すように、演者Aの演者アバターが単独でトーク等を行う「第1MC」及び単独で歌唱やダンスを行う「第1演目」の期間中は、視聴者アバターを演者Aの演者アバターに対応した表示態様の簡易アバター(図56(B)に示すハート型の態様α)で表示し、演者Bの演者アバターが単独でトーク等を行う「第2MC」及び単独で歌唱やダンスを行う「第2演目」の期間中は、視聴者アバターを演者Bの演者アバターに対応した表示態様の簡易アバター(図56(B)に示す星型の態様β)で表示し、演者Aと演者Bの演者アバターが共同でトーク等を行う「第3MC」及び共同で歌唱やダンスを行う「第3演目」の期間中は、視聴者アバターを上記した態様αや態様βとは異なる表示態様の簡易アバター(図56(B)に示す円錐と球を組み合わせた形状の態様γ)で表示する。
つまり、本実施例4では、各視聴者端末300において演者Aの演者アバターが歌唱やダンスを単独で行う様子が表示される場合は、各視聴者アバターが態様αの簡易アバターにて表示され、各視聴者端末300において演者Bの演者アバターが歌唱やダンスを単独で行う様子が表示される場合は、各視聴者アバターが態様βの簡易アバターにて表示され、各視聴者端末300において演者Aの演者アバターと演者Bの演者アバターとが歌唱やダンスを共同で行う様子が表示される場合は、各視聴者アバターが態様γの簡易アバターにて表示される。
また、本実施例4の仮想空間コンテンツ配信システムでは、図57に示すように、視聴者ユーザーが自身の視聴者端末300を操作することによって、視聴者アバターにケミライト(ケミカルライト)、帽子、シャツ等の予め視聴者ユーザーが購入したアイテムを装着させることが可能となっている。詳細は後述するが、これらアイテムは、視聴者アバターがフルアバターである場合はいずれも該視聴者アバターに装着された状態で表示されるが、視聴者アバターが簡易アバターである場合は表示位置や表示態様が変化することがある。
視聴者アバターに各アイテムを装着させる場合は、図58に示すように、ライブ仮想空間参加可能期間中において、視聴者端末300が予め購入したアイテムデータを要求するための購入アイテムデータ要求情報を配信用サーバコンピュータ100に送信する共入アイテムデータ要求情報送信処理を実行する。尚、購入アイテムデータ要求情報には、当該視聴者端末300を操作する視聴者ユーザーのID(視聴者ユーザーID)が含まれている。
配信用サーバコンピュータ100は、購入アイテムデータ要求情報を受信すると、該購入アイテムデータ要求情報に含まれている視聴者ユーザーIDにもとづいて視聴者ユーザーデータ(図9参照)を参照し、購入されているアイテム(購入アイテム)を特定する購入アイテムデータ特定処理を実行する。そして、該特定した購入アイテムデータの情報(購入アイテムデータ情報)を視聴者端末300に送信する購入アイテムデータ送信処理を実行する。
視聴者端末300は、購入アイテムデータ情報を受信すると、該受信した購入アイテムデータにもとづいて表示装置310に購入したアイテムを表示する購入アイテム表示処理を実行する。そして、図57に示すように、表示装置310において購入したアイテムが表示されている状態で視聴者ユーザーからの選択操作を受け付ける購入アイテム選択操作受付処理を実行する。このとき視聴者ユーザーの操作により選択されたアイテムが視聴者アバターに装着される。
図59は、本実施例4における視聴者視点映像生成処理を示すフローチャートである。本実施例4では、以下に説明する視聴者視点映像生成処理において生成された映像が視聴者端末300にて表示されることで、演者Aの演者アバターによる第1演目や、演者Bの演者アバターによる第2演目や、演者Aと演者Bの両演者アバターによる第3演目の出力が行われる。視聴者視点映像生成処理において視聴者端末300は、先ず、演者アバターの映像をフルアバターにて生成し(ステップS501)、現在がライブ仮想空間参加可能期間中、開演前説期間中、開演演出期間中のいずれかであるかを判定する(ステップS502)。
ライブ仮想空間参加可能期間中、開演前説期間中、開演演出期間中のいずれかである場合(ステップS502;Yes)は、各視聴者アバターの映像をフルアバターにて生成する(ステップS503)。また、ケミライトの映像を各フルアバターに応じた態様にて生成するとともに(ステップS504)、シャツ及び帽子の映像を各フルアバターに応じた態様にて生成する(ステップS505)。
一方でライブ仮想空間参加可能期間中、開演前説期間中、開演演出期間中のいずれでもない場合(ステップS502;Yes)、視聴者端末300は、第1MC期間中または第1演目期間中か否かを判定する(ステップS506)。第1MC期間中または第1演目期間中である場合(ステップS506;Yes)は、各視聴者アバターの映像を演者Aに応じた簡易アバター(態様α)にて生成し(ステップS507)、第1MC期間中と第1演目期間中のどちらでもない場合(ステップS506;No)は、更に、第2MC期間中または第2演目期間中か否かを判定する(ステップS508)。
第2MC期間中または第2演目期間中である場合(ステップS508;Yes)は、各視聴者アバターの映像を演者Bに応じた簡易アバター(態様β)にて生成し(ステップS509)、第2MC期間中と第2演目期間中のどちらでもない場合(ステップS508;No)は、各視聴者アバターの映像を第3MC期間中または第3演目期間中であることに応じた間アバター(態様γ)にて生成する(ステップS510)。
ステップS507、ステップS509、ステップS510のいずれかの処理の実行後、視聴者端末300は、ケミライトの映像をフルアバターに応じた態様にて各簡易アバターに応じた位置に生成するとともに(ステップS511)、シャツ及び帽子の映像を各簡易アバターに応じた態様にて生成する。
ステップS505またはステップS512の処理の実行後の視聴者端末300は、その他の視聴者視点映像を生成するための処理を実行し(ステップS513)、視聴者視点映像生成処理を終了する。
ここで、視聴者アバターがフルアバターである場合と簡易アバターである場合とにおける各アイテムの位置や表示態様について説明する。図60に示すように、視聴者アバターがフルアバターである場合、視聴者アバターは一方の腕にケミライトを把持するとともに帽子を冠り、且つシャツを着た状態で表示される。
一方で、視聴者アバターが簡易アバターである場合は、これら簡易アバターの上下方向の長さがフルアバターよりも短寸となることで、ケミライト及び帽子の位置はフルアバターである場合よりも下方に配置される。尚、ケミライトの大きさはフルアバター時から変化しないが、帽子の大きさは簡易アバターの頭部の大きさに合わせてフルアバター時よりも小さい。
尚、簡易アバターの態様α及び態様βは、図60に示すように、腕を有しているためケミライトを一方の腕に把持するように表示されるが、簡易アバターの態様γは腕を有していないため、ケミライトが頭部の側方に浮遊した状態で表示される。
また、簡易アバターは、態様α~γのいずれにおいてもフルアバターよりも等身が低く設定されているため、シャツは非表示となる。
以上、本実施例4においては、図60に示すように、視聴者アバターをフルアバターから簡易アバターに変化させても、ケミライトの態様自体は共通であることで、視聴者アバターを簡易アバターとすることによる仮想ライブの興趣低下を防ぐことができる。
また、図60に示すように、本実施例4では、視聴者アバターが装着可能な帽子やシャツ等のアイテムについて、視聴者アバターがフルアバターから簡易アバターに変化することで、これらアイテムが簡易アバターの態様に対応して変化する(帽子は大きさが小さくなり、シャツは非表示となる)ことで、これらアイテムの装着が簡易アバターにとって不適切となってしまうことを防ぐことができる。
また、視聴者アバターが装着可能なケミライトについては、視聴者アバターがフルアバターであるときと簡易アバターであるときとで位置が異なっていることから、ケミライトが簡易アバターに応じた適切な位置で把持されない等により仮想ライブの興趣が低下してしまうことを防ぐことができる。
また、本実施例4では、視聴者アバターの簡易アバターとして、仮想ステージGで演目を行う演者アバターが演者Aの演者アバターである場合の態様αと、仮想ステージGで演目を行う演者アバターが演者Bの演者アバターである場合の態様βを設けることで、視聴者アバターをフルアバターから簡易アバターとすることにより表示に係わる処理負荷の低減を行いつつ、仮想ステージGで演目を行う演者アバターが演者Aの演者アバターである場合と演者Bの演者アバターである場合とで簡易アバターの態様を異ならせることにより仮想ライブに変化を与えることができ、仮想ライブが単調となることによる興趣低下を防ぐことができる。
また、本実施例4では、視聴者端末300において演者Aの演者アバターが演目を行う様子が表示されている場合は視聴者アバターとした態様αの簡易アバターが表示され、視聴者端末300において演者Bの演者アバターが演目を行う様子が表示されている場合は視聴者アバターとして態様βの簡易アバターが表示されるので、視聴者アバターを簡易アバターとすることによる表示に係る処理負荷の低減を実現しつつ、簡易アバターの態様が演者アバターにかかわらず共通とされることによって仮想ライブの興趣が低下してしまうことを防ぐことができる。
また、本実施例4では、仮想ステージGにおいて演者Aの演者アバターと演者Bの演者アバターとが共同で歌唱やダンスを行う「第3演目」の期間においては、演者Aの演者アバターと演者Bの演者アバターとが共同で歌唱やダンスを行うことに対応して、視聴者アバターを演者Aの演者アバターが単独で歌唱やダンスを行う「第1演目」の期間に対応した態様αや演者Bの演者アバターが単独で歌唱やダンスを行う「第2演目」の期間に対応した態様βとは異なる態様γの簡易アバターとして表示することで、仮想ライブに変化を与えることができ、仮想ステージGにおいて演者Aの演者アバターと演者Bの演者アバターとが共同で歌唱やダンスを行う共同演目である「第3演目」の興趣を向上させることができる。
また、本実施例4では、視聴者アバターを演者Aの演者アバターが単独で歌唱やダンスを行う「第1演目」の期間において、演者アバターを該演者Aの演者バターに対応した態様αの簡易アバターとして表示し、視聴者アバターを演者Bの演者アバターが単独で歌唱やダンスを行う「第2演目」の期間において、演者アバターを該演者Bの演者バターに対応した態様βの簡易アバターとして表示するので、複数の演者アバターの演目が部分的に含まれる仮想ライブの興趣が低下してしまうことを防ぐことができる。
また、図55に示すように、本実施例4では、各視聴者アバターが共通のタイミング(「第1MC」の期間の開始タイミング)にてフルアバターから簡易アバターに変化するので、各視聴者アバターがそれぞれ異なるタイミングでフルアバターから簡易アバターに変化することによる不平等感を視聴者ユーザーに対して与えてしまうことを防ぐことができる。
また、図56(A)に示すように、演者アバターにはフルアバターが設けられている一方で簡易アバターが設けられていないので、各視聴者アバターがフルアバターから簡易アバターに変化するタイミングで演者アバターが簡易アバターに変化することがなく、演者アバターが簡易アバターに変化することによる仮想ライブの興趣が低下してしまうことを防ぐことができる。
<実施例4の変形例>
尚、本実施例4では、複数の演者アバター(演者Aの演者アバターと演者Bの演者アバター)を設けるとともに、仮想ステージGにおいて演目を行う演者アバターに応じて視聴者アバターの態様を異ならせる一方で、視聴者アバターと表示される一部のアイテム(本実施例4ではケミライト)の表示態様は仮想ステージGにおいて演目を行う演者アバターにかかわらず共通である形態を例示したが、本発明はこれに限定されるものではなく、変形例4-1として、仮想ステージGにおいて演目を行う演者アバターに応じてケミライトの表示態様を異ならせてもよい。例えば、図61に示すように、仮想ステージGにおいて演者Aの演者アバターが演目を行う場合は、ケミライトの色(発光色)を赤とし、仮想ステージGにおいて演者Bの演者アバターが演目を行う場合は、ケミライトの色(発光色)を青とすればよい。
このようにすることで、仮想ステージGで演目を行う演者アバターが演者Aの演者アバターである場合と演者Bの演者アバターでる場合とでケミライトの態様によって仮想ライブに変化を与えることができ、仮想ライブが単調となることによる興趣低下を防ぐことができる。
また、図61に示すように、仮想ステージGにおいて演目を行う演者アバターに応じてケミライトの表示態様を異ならせる際には、帽子等のケミライト以外のアイテムの態様(図61に示す例では色)も仮想ステージGにおいて演目を行う演者アバターに応じて異ならせてもよい。このようにすることで、仮想ステージGで演目を行う演者アバターが演者Aの演者アバターである場合と演者Bの演者アバターである場合とで帽子の態様によって仮想ライブに変化を与えることができ、仮想ライブが担当長となる事による興趣低下を防ぐことができる。
尚、本変形例4-1では、仮想ステージGで演目を行う演者アバターに応じてアイテムの色を異ならせる形態を例示したが、本発明はこれに限定されるものではなく、仮想ステージGで演目を行う演者アバターに応じてアイテムの大きさや形状を異ならせるようにしてもよい。
また、前記実施例4では、視聴者アバターがフルアバターや態様α、態様βの簡易アバターである場合には、これら視聴者アバターの腕にケミライトを把持させる形態を例示したが、変形例4-2として図62(A)~図62(C)に示すように、これらフルアバターや態様α、態様βの簡易アバターについては、視聴者による視聴者端末300の操作により腕を左右に振る動作を実行させることにより、ケミライトをこれら腕に追従して動作可能としてもよい。尚、視聴者アバターが態様γの簡易アバターである場合については、図62(D)に示すように、簡易アバターが腕を有していないことから、視聴者による視聴者端末300の操作によりケミライトのみが動作するようにしてもよい。このようにすることで、視聴者アバターを態様γの簡易アバターとすることによる表示に係わる処理負荷(例えば、描画処理負荷)の低減効果が腕の動作によって良好に得られなくなってしまうことを防ぐことができる。
また、前記実施例4では、本発明の仮想空間コンテンツ配信システムとして視聴者アバターにフルアバターと簡易アバターを設ける形態を例示したが、本発明はこれに限定されるものではなく、本発明の仮想空間コンテンツ配信システムとして、特定の視聴者ユーザーを自身のフレンドとして登録可能なフレンド登録機能を設けてもよい。
このようなフレンド登録機能としては、変形例4-3として図63に示すように、視聴者端末300では、ライブ仮想空間参加可能期間中において視聴者の操作入力装置321の操作を受付けることによって複数の視聴者アバターの中から特定の視聴者アバターを選択する視聴者アバター選択処理を実行し、該選択した視聴者アバターのファイル名(視聴者アバターファイル名)を特定するとともに、配信用サーバコンピュータ100に対して特定した視聴者アバターファイル名を含む視聴者アバター問合せ情報を送信するための視聴者アバター問合せ処理を実行する。
配信用サーバコンピュータ100は、視聴者端末300から視聴者アバター問合せ情報を受信すると、該視聴者アバター問合せ情報に含まれていた視聴者アバターファイル名と関連付けて記憶されている視聴者ユーザーIDを図9に示す視聴者ユーザーデータから特定する視聴者アバター特定処理を実行する。そして、配信用サーバコンピュータ100は、視聴者アバター問合せ情報を送信してきた視聴者端末300に対して視聴者ユーザーIDを含む視聴者ユーザーID情報を送信する。
視聴者端末300は、視聴者ユーザーID情報を受信した場合、表示装置310において視聴者に対して選択した視聴者アバターの視聴者ユーザー(視聴者ユーザーID)を視聴者アバターファイル名に関連付けてフレンドとして登録する操作を促すフレンド追加操作処理を実行する。
このとき、視聴者によってフレンド登録する操作が行われた場合、フレンドユーザーデータテーブルに、視聴者ユーザーIDと視聴者アバターファイル名を関連付けて記憶するフレンド追加処理を実行し、フレンド登録する操作が行われなかった場合、視聴者端末300は、表示装置310においてフレンド登録を行わないことを示す表示を行うフレンド追加取消処理を実行する。
尚、本変形例4-3では、予め視聴者端末300のストレージ303に視聴者ユーザーのユーザーIDとアバターデータを記憶するフレンドユーザーデータテーブル(図64参照)を作成しておき、フレンド追加処理を実行する場合は、該フレンドユーザーデータテーブルを更新することで視聴者ユーザーIDと視聴者アバターファイル名を関連付けて追加記憶すればよい。
上記のようにフレンド登録機能を設ける場合については、図65に示すように、フレンド登録した視聴者ユーザーの簡易アバターの色を他のフレンド登録していない視聴者ユーザーの簡易アバターと異ならせることで、いずれの簡易アバターがフレンド登録した視聴者ユーザーの簡易アバターであるかを容易に認識することを可能としてもよい。
尚、本変形例4-3では、フレンド登録した視聴者ユーザーであるか否かに応じて簡易アバターの色を異ならせることによって、いずれの簡易アバターがフレンド登録した視聴者ユーザーの簡易アバターであるのかを容易に認識することを可能とする形態を例示したが、本発明はこれに限定されるものではなく、フレンド登録した視聴者ユーザーであるか否かに応じて簡易アバターの形状を異ならせることで、いずれの簡易アバターがフレンド登録した視聴者ユーザーの簡易アバターであるのかを容易に認識することを可能としてもよいし、また、フレンド登録した視聴者ユーザーの簡易アバターについては、簡易アバターに追随するオブジェクトを追加することによっていずれの簡易アバターがフレンド登録した視聴者ユーザーの簡易アバターであるのかを容易に認識することを可能としてもよい。
また、前記実施例4では、仮想ステージGにおいて演者Aの演者アバターと演者Bの演者アバターとが共同で歌唱やダンスを行う「第3演目」の期間においては、演者Aの演者アバターと演者Bの演者アバターとが共同で歌唱やダンスを行うことに対応して、視聴者アバターを態様γの簡易アバターにて表示する形態を例示したが、本発明はこれに限定されるものではなく、変形例4-4として図66に示すように、仮想ステージGにおいて演者Aの演者アバターと演者Bの演者アバターとが共同で歌唱やダンスを行う「第3演目」の期間においては、視聴者端末300において視聴者ユーザーに対して自身の視聴者アバターを、演者Aの演者アバターに対応した態様αの簡易アバターと演者Bの演者アバターに対応した態様βの簡易アバターのどちらで表示するかを選択操作可能としてもよい。このようにすることで、仮想ステージGにおいて演者Aの演者アバターと演者Bの演者アバターとが共同で歌唱やダンスを行う「第3演目」の期間においては、簡易アバターを視聴者ユーザー自身の好みで選択する事が可能となるので、仮想ステージGにおいて演者Aの演者アバターと演者Bの演者アバターとが共同で歌唱やダンスを行う共同演目である「第3演目」の興趣を向上させることができる。
また、前記実施例4では、仮想ステージGにおいて演者Aの演者アバターが単独で歌唱やダンスを行う「第1演目」の期間においては、視聴者アバターをハート型である態様αの簡易アバターにて表示し、仮想ステージGにおいて演者Bの演者アバターが単独で歌唱やダンスを行う「第2演目」の期間においては、視聴者アバターを星型である態様βの簡易アバターにて表示する形態を例示したが、本発明はこれに限定されるものではなく、態様αや態様ベータの簡易アバターは、対応する演者アバターの属性に対応した要素を含んでいてもよい。例えば、変形例4-5として図67に示すように、演者Aの演者アバターにハート型の髪飾りを装着させることで、態様αの簡易アバターを演者Aの演者アバターが装着しているハート型の髪飾りの要素を含むアバターとし、演者Bの演者アバターに星型の髪飾りを装着させることで、態様βの簡易アバターを演者Bの演者アバターが装着している星型の髪飾りの要素を含むアバターとしてもよい。このようにすることで、態様αや態様βの簡易アバターがいずれの演出の演者アバターに対応しているかが視聴者ユーザーから直感的に分かりやすくなるので、視聴者アバターとしての簡易アバターの態様がいずれの演者アバターに対応しているのかが分かり難いことによる仮想ライブの興趣が低下してしまうことを防ぐことができる。
尚、本変形例4-5では、視聴者アバターとしての簡易アバターの形状を、演者Aや演者Bの演者アバターが装着している髪飾りの形状とすることで、各簡易アバターの態様が対応する演者アバターがいずれであるのかを視聴者ユーザーに対して分かり易くする形態を例示したが、本発明はこれに限定されるものではなく、視聴者アバターとしての簡易アバターの色や模様等を演者Aや演者Bの演者アバターの少なくとも一部と同一とすることで、各簡易アバターの態様が対応する演者アバターがいずれであるのかを視聴者ユーザーに対して分かり易くしてもよい。
また、前記実施例4では、仮想ステージGにおいて演者Aの演者アバターが歌唱やダンスを単独で行うときには、視聴者アバターとして態様αの簡易アバターを表示し、仮想ステージGにおいて演者Bの演者アバターが歌唱やダンスを単独で行うときには、視聴者アバターとして態様βの簡易アバターを表示したが、本発明はこれに限定されるものではなく、変形例4-6として図68に示すように、第1仮想ライブ会場で演者Aの演者アバターが歌唱やダンスを単独で行い、第1仮想ライブ会場とは異なる第2仮想ライブ会場で演者Bの演者アバターが歌唱やダンスを単独で行う場合において、第1仮想ライブ会場に参加している視聴者アバターとしての簡易アバターの態様と、第2仮想ライブ会場に参加している視聴者アバターとしての簡易アバターの態様と、が異なるようにしてもよい。このようにすることで、視聴者アバターが参加する仮想ライブ会場によっても簡易アバターの態様を異ならせることができ、仮想ライブの興趣が低下してしまうことを防ぐことができる。
また、前記実施例4では、「第1MC」、「第1演目」、「第2MC」、「第2演目」、「第3MC」、「第3演目」の期間において、視聴者アバターを簡易アバターとして表示する形態を例示したが、本発明はこれに限定されるものではなく、「第1MC」、「第1演目」、「第2MC」、「第2演目」、「第3MC」、「第3演目」の期間の一部においては、変形例4-7として、視聴者アバターをフルアバターで表示する期間を設けてもよい。
特に、「第1演目」、「第2演目」、「第3演目」の期間の一部において視聴者アバターをフルアバターで表示する場合は、特定の視聴者アバターについて、「第1演目」、「第2演目」、「第3演目」の期間におけるフルアバターの態様を共通としてもよい。このようにすることで、表示するための処理負荷が大きいフルアバターの態様が仮想ステージGで演目を行う演者にかかわらず共通となるので、処理負荷の増大や表示用データの増大を防ぐことができる
次に、実施例5の仮想空間コンテンツ配信システムについて図69~図79を用いて以下に説明する。尚、実施例1、2と同一の構成については、同一の符号を付して説明を省略する。
実施例5の仮想空間コンテンツ配信システムは、図69及び図70に示すように、視聴者アバターとして、表示するための処理負荷(描画処理負荷)が比較的大きく且つ各視聴者アバターを識別可能とするために対応する視聴者ユーザー(視聴者端末300)毎に異なる外見を有するフルアバターと、これらフルアバターよりも描画処理負荷が小さい簡易アバターと、が使用される。
本実施例5の仮想空間コンテンツ配信システムにおいて実施する仮想ライブでは、実施例1、2と同様に、「ライブ仮想空間参加可能期間」、「開演前説」、「開演演出」の順に進行していく。「開演演出」の後は、「第1MC」→「第1演目」→「第2MC」→「第2演目」→「第3MC」→「第3演目」のように進行していく。
「第1MC」、「第2MC」、「第3MC」は、それぞれ仮想ステージGに登場した演者アバター1が、トークによって視聴者ユーザーに対して挨拶を行ったり、次に上演する演目についての紹介を行う。「第1演目」、「第2演目」、「第3演目」は、演者アバター(演者)の歌唱とダンスとを含む演目である。
このような仮想ライブ進行において、本実施例5では、先ず、ライブ仮想空間参加可能期間中に各視聴者ユーザーが視聴者端末300を操作することによって視聴者端末300に応じた視聴者アバターをフルアバターにて仮想ライブに参加させることが可能となっている。そして、「第1MC」の期間の開始タイミングからは、各視聴者端末300がそれまでフルアバターであった視聴者アバターを簡易アバターに変化させることで、視聴者アバターを表示するための処理負荷の低減を図ることが可能となっている。
特に本実施例5においては、図75に示すように、ライブ仮想空間参加可能期間が、視聴者ユーザーが視聴者端末300を操作することで視聴者アバターをフルアバターから簡易アバターに変化させるエリア(簡易化対象エリア)を仮想観客領域の第3領域と第4領域とから選択することが可能な簡易化対象エリア指定可能期間となっている。尚、本実施例5のライブ仮想空間参加可能期間中に視聴者ユーザーが簡易化対象エリアを指定しなかった場合は、第3領域と第4領域のどちらも簡易化対象外エリアとなり、視聴者アバターが簡易アバターで表示されることはない。
以下では、視聴者アバターをフルアバターから簡易アバターに変化させるエリア(簡易化対象エリア)を、仮想観客領域の第3領域と第4領域とから選択する一連の処理について図71~図79にもとづいて説明する。
図71に示すように、ライブ仮想空間参加可能期間中において、視聴者アバターを仮想ライブ会場に参加させた視聴者端末300は、先ず、視聴者ユーザーから視聴者アバターをフルアバターから簡易アバターに変化させる領域をいずれにするかの操作を受け付ける簡易化対象エリア指定操作処理を実行する。
このとき、視聴者端末300は、視聴者ユーザーからの操作を受け付けると、配信用サーバコンピュータ100に対して当該視聴者ユーザーの参加者ID(視聴者ユーザーID)を含む簡易化対象エリア情報を送信する。
配信用サーバコンピュータ100は、視聴者端末300から簡易化対象エリア情報を受信すると、該簡易化対象エリア情報から参加者ID(視聴者ユーザーID)といずれの領域を簡易化対象エリアとするのかを特定し、図72に示すように、特定した簡易化対象エリアのデータを参加者IDに関連付けて参加者ユーザーテーブルに記憶する参加者ユーザーテーブル更新処理を実行する。
また、配信用サーバコンピュータ100は、参加者ユーザーテーブル更新処理を実行したことにもとづいて視聴者端末300に対して参加者ユーザーテーブル更新完了情報を送信する参加者ユーザーテーブル更新完了情報送信処理を実行する。そして、視聴者端末300は、参加者ユーザーテーブル更新完了情報を受信したことにもとづいて、表示装置310において参加者ユーザーテーブルの更新が完了したこと、すなわち、当該視聴者端末300において第3領域と第4領域のどちらを簡易化対象エリアとするのかの登録が完了したことを報知する参加者ユーザーテーブル更新完了通知処理を実行する。
このように、図71に示す一連の処理を視聴者端末300及び配信用サーバコンピュータ100が実行することで、視聴者端末300では簡易化対象エリアを設定することができるとともに、配信用サーバコンピュータ100側では、視聴者端末300が第3領域と第4領域のいずれの領域を簡易化対象エリアに設定したかを把握することができる。
また、本実施例5における仮想空間コンテンツ配信システムは、視聴者ユーザーが視聴者端末300を操作することで他の視聴者ユーザーをフレンドとして登録可能なフレンド登録機能を備えている。
このようなフレンド登録機能としては、図73に示すように、視聴者端末300では、ライブ仮想空間参加可能期間中において視聴者の操作入力装置321の操作を受け付けることによって複数の視聴者アバターの中から特定の視聴者アバターを選択する視聴者アバター選択処理を実行し、該選択した視聴者アバターのファイル名(視聴者アバターファイル名)を特定するとともに、配信用サーバコンピュータ100に対して特定した視聴者アバターファイル名を含む視聴者アバター問合せ情報を送信するための視聴者アバター問合せ処理を実行する。
配信用サーバコンピュータ100は、視聴者端末300から視聴者アバター問合せ情報を受信すると、該視聴者アバター問合せ情報に含まれていた視聴者アバターファイル名と関連付けて記憶されている視聴者ユーザーIDを図9に示す視聴者ユーザーデータから特定する視聴者アバター特定処理を実行する。そして、配信用サーバコンピュータ100は、視聴者アバター問合せ情報を送信してきた視聴者端末300に対して視聴者ユーザーIDを含む視聴者ユーザーID情報を送信する。
視聴者端末300は、視聴者ユーザーID情報を受信した場合、表示装置310において視聴者に対して選択した視聴者アバターの視聴者ユーザー(視聴者ユーザーID)を視聴者アバターファイル名に関連付けてフレンドとして登録する操作を促すフレンド追加操作処理を実行する。
このとき、視聴者によってフレンド登録する操作が行われた場合、視聴者端末300は、フレンドユーザーデータテーブルに視聴者ユーザーIDと視聴者アバターファイル名を関連付けて記憶するフレンド追加処理を実行する。また、フレンド登録する操作が行われなかった場合、視聴者端末300は、表示装置310においてフレンド登録を行わないことを示す表示を行うフレンド追加取消処理を実行する。
尚、本実施例5では、予め視聴者端末300のストレージ303に視聴者ユーザーのユーザーIDとアバターデータを記憶するフレンドユーザーデータテーブル(図74参照)を作成しておき、フレンド追加処理を実行する場合は、該フレンドユーザーデータテーブルを更新することで視聴者ユーザーIDと視聴者アバターファイル名を関連付けて追加記憶すればよい。
図76は、図71に示す簡易化対象エリア指定操作処理を示すフローチャートである。簡易化対象エリア指定操作処理において視聴者端末300は、先ず、仮想観客領域の第3領域と第4領域とのいずれを簡易化対象エリアとするかの操作を視聴者ユーザーから受け付ける簡易化対象エリア指定操作処理を実行する(ステップS801)。
尚、図77(A)及び図77(B)に示すように、簡易化対象エリア指定操作処理の実行中の表示装置310では、視聴者ユーザーが簡易化対象エリアを指定するためのウィンドウメニュー310WAが表示されている。該ウィンドウメニュー310WAとしては、簡易化対象エリアとして指定可能な「第3領域」と「第4領域」の項目が配置されており、これら項目の下方には、簡易化対象エリアでフレンドをフルアバターで優先表示するか否かを選択するためのチェックボックスが配置されている。
図76に戻り、該簡易化対象エリア指定操作処理において第3領域を簡易化対象エリアとする第3領域指定操作が有ったか否かを判定する(ステップS802)。第3領域指定操作が有った場合(ステップS802;Yes)は、第3領域を簡易化対象エリアとして記憶する(ステップS803)。
また、第3領域指定操作が無い場合(ステップS802;No)や、ステップS803の処理を実行した後の視聴者端末300は、簡易化対象エリア指定操作処理において第4領域を簡易化対象エリアとする第4領域指定操作が有ったか否かを判定する(ステップS804)。第4領域指定操作が有った場合(ステップS804;Yes)は、第4領域を簡易化対象エリアとして記憶する(ステップS805)。
そして、第4領域指定操作が無い場合(ステップS804;No)や、ステップS805の処理を実行した後の視聴者端末300は、簡易化対象エリアとして記憶した領域に応じた簡易化対象エリア情報を配信用サーバコンピュータ100に対して送信する(ステップS806)。
また、視聴者端末300は、簡易化対象エリア指定操作処理においてフレンドに対するフルアバター優先表示操作が有ったか否か、つまり、図77(B)に示すように、視聴者ユーザーの操作によってウィンドウメニュー310WAの下部に配置されたチェックボックにチェックが入れられたか否かを判定する(ステップS807)。フルアバター優先表示操作が有った場合(ステップS807;Yes)は、簡易化対象エリアに配置されているフレンドの視聴者アバターについてはフルアバターにて表示することを示すフレンドフルアバター優先表示フラグをセットして簡易化対象エリア指定操作処理を終了する(ステップS808)。
また、フルアバター優先表示操作が無かった場合(ステップS807;No)、視聴者端末300は、既にフレンドフルアバター優先表示フラグがセットされているか否かを判定する(ステップS809)。フレンドフルアバター優先表示フラグがセットされていない場合(ステップS809;No)は簡易化対象エリア指定操作処理を終了し、フレンドフルアバター優先表示フラグがセットされている場合(ステップS809;Yes)は、更にフレンドフルアバター優先表示の解除操作が実行されたか否か、つまり、視聴者ユーザーの操作によってウィンドウメニュー310WAの下部に配置されたチェックボックからチェックが外されたか否かを判定する(ステップS810)。
フレンドフルアバター優先表示の解除操作が実行されていない場合(ステップS810;No)は簡易化対象エリア指定操作処理を終了し、フレンドフルアバター優先表示の解除操作が実行された場合(ステップS810;Yes)は、フレンドフルアバター優先表示フラグをクリアして簡易化対象エリア指定操作処理を終了する(ステップS811)。
図78は、本実施例5において視聴者端末300が実行する視聴者視点映像生成処理を示すフローチャートである。視聴者視点映像生成処理において視聴者端末300は、先ず、演者アバターの映像をフルアバターにて生成し(ステップS501)、現在が仮想ライブにおける第1MCの期間の開始タイミング以降であるか否かを判定する(ステップS502)。現在が仮想ライブにおける第1MCの期間の開始タイミング以前である場合(ステップS502;No)は、フレンド登録した視聴者ユーザーとフレンド登録していない他人の視聴者ユーザーの両方の視聴者アバターの映像をフルアバターにて生成して視聴者視点映像生成処理を終了する(ステップS503)。
また、現在が仮想ライブにおける第1MCの期間の開始タイミング以降である場合(ステップS502;Yes)、視聴者端末300は、更に、フレンド登録した視聴者ユーザーの視聴者アバターを当該視聴者視点映像生成処理において既に特定したことを示すフレンド視聴者アバター特定済フラグがセットされているか否かを判定する(ステップS504)。
フレンド視聴者アバター特定済フラグがセットされていない場合(ステップS504;No)は、図74に示すフレンドユーザーデータテーブルを参照し、フレンドの視聴者アバターデータファイル名を特定・記憶し(ステップS505)、フレンド視聴者アバター特定済みフラグをセットする(ステップS506)。
また、フレンド視聴者アバター特定済フラグがセットされている場合(ステップS504;Yes)やステップS506の処理の実行後、視聴者端末300は、図76の簡易化対象エリア指定操作処理において記憶した簡易化対象エリアを特定するとともに(ステップS507)、該特定した簡易化対象エリア外の全視聴者アバターの映像をフルアバターにて生成する(ステップS508)。
次いで、視聴者端末300は、簡易化対象エリアの他人の視聴者アバター(フレンド登録していない視聴者の視聴者アバター)の映像を簡易アバターにて生成するとともに(ステップS509)、簡易化対象エリア外のフレンドの視聴者アバターの映像をフルアバターにて生成する(ステップS510)。また、視聴者端末300は、フレンドフルアバター優先表示フラグがセットされているか否かを判定する(ステップS511)。
フレンドフルアバター優先表示フラグがセットされている場合(ステップS511;Yes)は、簡易化対象エリアのフレンドの視聴者アバターをフルアバターにて生成してステップS514の処理を実行し(ステップS512)、増えrンドフルアバター優先表示フラグがセットされていない場合(ステップS511;No)は、簡易化対象エリアのフレンドの視聴者アバターの映像を簡易アバターにて生成してステップS514の処理を実行する(ステップS513)。
以上のように視聴者視点映像生成処理を実行することで、本実施例5においては、図79(A)に示すように、フレンドフルアバター優先表示フラグがセットされていない場合において視聴者視点映像生成処理にて生成される各視聴者アバターの態様を比較すると、第1MC期間開始よりも前のタイミングにおいて、簡易化対象エリア、簡易化対象外エリアのいずれに配置されている視聴者アバターについても、フレンド登録されている視聴者ユーザーの視聴者アバターであるか否かにかかわらず全てフルアバターにて表示される。
一方で、第2MC期間開始以降のタイミングにおいて、簡易化対象エリアに配置されている視聴者アバターは、フレンド登録される視聴者ユーザーの視聴者アバターであるか否かにかかわらず全て簡易アバターにて表示される一方で、簡易化対象外エリアに配置されている視聴者アバターは、フレンド登録される視聴者ユーザーの視聴者アバターであるか否かにかかわらず全てフルアバターにて表示される。
また、図79(B)に示すように、フレンドフルアバター優先表示フラグがセットされている場合において視聴者視点映像生成処理にて生成される各視聴者アバターの態様を比較すると、第1MC期間開始よりも前のタイミングにおいて、簡易化対象エリア、簡易化対象外エリアのいずれに配置されている視聴者アバターについても、フレンド登録されている視聴者ユーザーの視聴者アバターであるか否かにかかわらず全てフルアバターにて表示される。
一方で、第2MC期間開始以降のタイミングにおいて、簡易化対象エリアに配置されている視聴者アバターのうち、フレンド登録されている視聴者ユーザーの視聴者アバターはフルアバターにて表示され、フレンド登録されていない視聴者ユーザーの視聴者アバターは簡易アバターにて表示される。また、簡易化対象外エリアに配置されている視聴者アバターは、フレンド登録される視聴者ユーザーの視聴者アバターであるか否かにかかわらず全てフルアバターにて表示される。
以上、本実施例5における仮想空間コンテンツ配信システムでは、図76に示す簡易化対象エリア指定操作処理や図78に示す視聴者視点映像生成処理を実行することで、視聴者アバターを簡易アバターとすることに関する設定を視聴者ユーザー自身が実行できる。これにより、簡易アバターとして表示する視聴者アバターに関して視聴者ユーザーの意図を反映することができるようになるので、表示出力の不具合の発生を抑えるために視聴者アバターを表示出力するための処理負荷をより小さい簡易アバターとすることによる仮想空間ライブの興趣の低下を抑えることができる。
また、本実施例5における仮想空間コンテンツ配信システムでは、図76に示す簡易化対象エリア指定操作処理や図78に示す視聴者視点映像生成処理を実行することで、視聴者ユーザーが視聴者端末300を操作して視聴者アバターと簡易アバターとする簡易化対象エリアを第3領域と第4領域とから指定することができるので、視聴者ユーザーが意図していない領域の視聴者アバターが簡易アバターとなることによる仮想ライブの興趣低下を一層抑えることができる。
また、本実施例5における仮想空間コンテンツ配信システムでは、図73及び図74に示すように、他の視聴者ユーザーを自身のフレンドとして登録することができ、図79に示すように、フレンドとなった視聴者ユーザーの視聴者アバターは、簡易化対象エリアに参加している状態であってもフルアバターとして表示するように設定可能となっているので、フレンドである視聴者ユーザーの視聴者アバターがフルアバターとして表示されやすくなり、複数の視聴者アバターが仮想ライブに参加している場合には、フレンドである視聴者ユーザーの視聴者アバターとフレンドではない視聴者ユーザーの視聴者アバターとを認識し易くすることができる。
また、本実施例5では、視聴者ユーザーが視聴者端末300を操作することによって、仮想観客領域の第3領域と第4領域のうち一方の領域のみを簡易化対象エリアに設定可能であることに加えて、第3領域と第4領域の両方を簡易化対象エリアに設定することで一方の領域のみを簡易化対象エリアに設定する場合よりも表示出力に係る処理負荷を低減することができるので、状況に応じて表示出力に係る処理負荷の段階を変化させることができる。
<実施例5の変形例>
また、前記実施例5では、図76及び図77に示すように、簡易化対象エリア指定操作処理を実行することで、仮想観客領域の第3領域と第4領域とを簡易化対象エリアとするか否かを選択可能な形態としたが、本発明はこれに限定されるものではなく、変形例5-1として図80に示すように、仮想ライブに参加している視聴者アバターのうち、何体の視聴者アバターを簡易化対象とするかを視聴者ユーザーの操作によって選択可能としてもよい。尚、このように簡易化対象とする視聴者アバター数を選択した場合は、該選択した視聴者アバター数を上限数として、当該視聴者端末300に応じた視聴者アバターに対して位置の近い視聴者アバターから順に簡易アバターとして表示してもよいし、仮想ライブに参加している全視聴者アバター内の任意の視聴者アバターを簡易アバターとして表示してもよい。
このようにすることで、簡易アバターとして視聴者アバター数を視聴者ユーザー自身が設定することができるので、視聴者ユーザーが意図していない数の視聴者アバターが簡易アバターとなることによる仮想ライブの興趣の低下を一層抑えることができる。
また、前記実施例5では、図76及び図77に示すように、簡易化対象エリア指定操作処理を実行することで、仮想観客領域の第3領域と第4領域とを簡易化対象エリアとするか否かを選択可能な形態としたが、本発明はこれに限定されるものではなく、変形例5-2として図81に示すように、仮想ライブに参加している視聴者アバター数に対して簡易アバターとする視聴者アバター数の割合を視聴者ユーザーの選択操作によって選択可能としてもよい。尚、このように簡易化対象とする視聴者アバターの割合を選択した場合は、該選択した割合となるように、当該視聴者端末300に応じた視聴者アバターに対して位置の近い視聴者アバターから順に簡易アバターとして表示してもよいし、仮想ライブに参加している全視聴者アバター内の任意の視聴者アバターを簡易アバターとして表示してもよい。
このようにすることで、仮想ライブに参加する視聴者アバター数に対して簡易アバターとする視聴者アバター数の割合を視聴者ユーザー自身が設定することができるので、視聴者ユーザーが意図していない割合の視聴者アバターが簡易アバターとなることによる仮想ライブの興趣の低下を一層抑えることができる。
また、前記実施例5は、図75に示すように、ライブ仮想空間参加可能期間を簡易化対象エリア指定可能期間とし、該ライブ仮想空間参加可能期間中に視聴者ユーザーが簡易化対象エリアをしていない場合は、仮想観客領域の第3領域と第4領域のどちらも簡易化対象外エリアとなりいずれも視聴者アバターも簡易アバターで表示されることがない形態を例示したが、本発明はこれに限定されるものではなく、ライブ仮想空間参加可能期間中に視聴者ユーザーが簡易化対象エリア指定しない場合は、該ライブ仮想空間参加可能期間の終了タイミングにおいて視聴者端末300が自動的に仮想観客領域の第3領域と第4領域の両方を一義的に簡易化対象エリアに設定してもよい。
このようにすることで、自動的に仮想観客領域の第3領域と第4領域の両方を簡易化対象エリアに設定し、第3領域と第4領域の一方のみを簡易化対象エリアとする場合よりも視聴者アバターの表示出力に係る処理負荷の低下を図ることができる。
更に本変形例5-3では、図84に示すように、仮想観客領域の第3領域と第4領域のうち一方の領域のみを簡易化対象エリアとして設定可能であるとともに、第3領域と第4領域の両方を簡易化対象エリアとして設定することで、一方の領域のみを簡易化対象エリアとして設定する場合よりも表示出力に係る処理負荷を小さくすることが可能となっている。
また、前記実施例5では、視聴者端末300が有する処理能力(スペック)にかかわらず視聴者ユーザーの操作によって簡易化対象エリアを決定する形態を例示したが、本発明はこれに限定されるものではなく、変形例5-4として図83及び図84に示すように、視聴者端末300が該視聴者端末300の有する処理能力を特定し、該特定した処理能力に応じて視聴者ユーザーの操作を受け付けることなく簡易化対象エリアを決定してもよい。
例えば図83に示すように、ライブ仮想区間参加可能期間中において視聴者端末300は、該視聴者端末300の有するCPU101のクロック数やコア数、RAM102のメモリ容量等の視聴者端末300の処理能力(スペック)を特定する端末スペック特定処理を実行する。端末スペック特定処理ではまた、特定した視聴者端末300の処理能力を平均的な処理能力である「中」、平均未満の処理能力である「低」、平均を上回る処理能力である「高」の3つに分類する処理も行う。
次に視聴者端末300は、仮想観客領域の第3領域と第4領域とから簡易化対象エリアとするエリア数を決定する簡易化対象エリア決定処理を実行する。簡易化対象エリア決定処理では、図84に示すように、特定した視聴者端末300の処理能力が「低」であれば簡易化対象エリア数を2個(第3領域と第4領域)に決定し、特定した視聴者端末300の処理能力が「中」であれば簡易化対象エリア数を1個(第3領域または第4領域)に決定する。尚、特定した視聴者端末300の処理能力が「中」である場合は、簡易化対象エリアを第3領域と第4領域とからランダムに決定してもよいし、当該視聴者端末300に応じた視聴者アバターが第3領域と第4領域のどちらに参加しているかや、第3領域に参加している視聴者アバター数と第4領域に参加している視聴者アバター数のどちらが多いか等によって簡易化対象エリアを第3領域と第4領域とから決めてもよい。
視聴者端末300は、簡易化対象エリア決定処理において簡易化対象エリアを決定した後は、配信用サーバコンピュータ100に対して当該視聴者ユーザーの参加者ID(視聴者ユーザーID)を含む簡易化対象エリア情報を送信する。
配信用サーバコンピュータ100は、視聴者端末300から簡易化対象エリア情報を受信すると、該簡易化対象エリア情報から参加者ID(視聴者ユーザーID)といずれの領域を簡易化対象エリアとするのかを特定し、図72に示すように、特定した簡易化対象エリアのデータを参加者IDに関連付けて参加者ユーザーテーブルに記憶する参加者ユーザーテーブル更新処理を実行する。
また、配信用サーバコンピュータ100は、参加者ユーザーテーブル更新処理を実行したことにもとづいて視聴者端末300に対して参加者ユーザーテーブル更新完了情報を送信する参加者ユーザーテーブル更新完了情報送信処理を実行する。そして、視聴者端末300は、参加者ユーザーテーブル更新完了情報を受信したことにもとづいて、表示装置310において参加者ユーザーテーブルの更新が完了したこと、すなわち、当該視聴者端末300において第3領域と第4領域のどちらを簡易化対象エリアとするのかの登録が完了したことを報知する参加者ユーザーテーブル更新完了通知処理を実行する。
このように視聴者端末300自体が視聴者端末300の処理能力を特定し、該特定した処理能力にもとづいて視聴者ユーザーによる操作に依らず簡易化対象エリアの設定を行うことで、簡易化対象エリアの設定における視聴者ユーザーの自由度を高めることができるとともに、視聴者ユーザー自身が操作を行うことなく自身が使用する視聴者端末300の処理能力に対応した適切な簡易化対象エリアの設定を行うことができる。
また、前記実施例5では、図79に示すように、視聴者視点映像生成処理にて生成される各視聴者アバター(視聴者端末300にて生成される各視聴者アバター)を、図76に示す簡易化対象エリア指定操作処理にて視聴者ユーザーが選択した簡易化対象エリアの設定に応じた簡易アバターの映像とすることが可能な形態を例示したが、本発明はこれに限定されるものではなく、変形例5-5として図85(A)~図85(C)に示すように、視聴者視点映像生成処理にて生成される各視聴者アバターを、図76に示す簡易化対象エリア指定操作処理にて視聴者ユーザーが選択した簡易化対象エリアの設定に応じた簡易アバターの映像とする一方で、仮想カメラ視点映像生成処理にて生成される各視聴者アバター(配信用サーバコンピュータ100にて生成される各視聴者アバター)を、簡易化対象エリア指定操作処理にて視聴者ユーザーが選択した簡易化対象エリアの設定にかかわらず全て簡易アバターの映像としてもよい。
このようにすることで、視聴者端末300における視聴者アバター視点映像の表示出力に係る処理負荷を低下させることができるとともに、配信用サーバコンピュータ100では全ての視聴者アバターを簡易アバターとして仮想カメラ視点映像を生成することで、該仮想カメラ視点映像の表示出力に係る処理負荷も低減させることができる。
また、前記実施例5は、視聴者ユーザーが視聴者端末300を操作することによって仮想観客領域の第3領域と第4領域とから参加している視聴者アバターを簡易アバターとする簡易化対象エリアを設定することが可能な形態を例示したが、本発明はこれに限定されるものではなく、変形例5-6として図86(A)及び図86(B)に示すように、視聴者ユーザーが視聴者端末300を操作するにあたって、簡易化対象エリアの設定に関する補助機能として、表示装置310において視聴者端末300においてどのような設定が可能であるかを説明するメッセージを表示してもよい。このようにすることで、視聴者ユーザーは該メッセージを視認することによって視聴者アバターを簡易アバターとすることに関する設定のための操作を的確に行うことができる。
尚、図86に示す例では、ウィンドウメニュー310WA内に配置された「HELP」の領域を視聴者ユーザーが操作することによってメッセージを表示する形態を例示しているが、本発明はこれに限定されるものではなく、「HELP」の領域を視聴者ユーザーが操作せずとも該メッセージが表示されるようにしてもよい。
また、本変形例5-6では、簡易化対象エリアの設定に関する補助機能として、表示装置310において視聴者端末300においてどのような設定が可能であるかを説明するメッセージを表示する形態を例示しているが、本発明はこれに限定されるものではなく、簡易化対象エリアの設定に関する補助機能としては、表示装置310における画像の表示やスピーカからの音出力等によって視聴者ユーザーに対して操作指示を行うようにしてもよい。
次に、実施例6の仮想空間コンテンツ配信システムについて、図87~図89を用いて以下に説明する。尚、実施例1、2と同一の構成については、同一の符号を付して説明を省略する。
実施例6の仮想空間コンテンツ配信システムは、図87(A)及び図87(B)に示すように、仮想観客領域と仮想ステージGとの境界線を含む境界領域Bには、透明オブジェクトB1が配置されている。該透明オブジェクトB1は、境界領域Bの仮想観客領域側において、仮想観客領域からの正面視で仮想ステージGの略全体を覆う長方形状に形成された壁状体である。また、透明オブジェクトB1は、視聴者アバター視点では視認不能、或いは視認困難な透過性を有している。このため、各視聴者ユーザーは、仮想観客領域の視聴者アバター視点から該透明オブジェクトB1を介して仮想ライブを視聴することが可能となっている。
本実施例6では、透明オブジェクトB1と視聴者アバターとの間で衝突判定を行うことによって、視聴者アバターが仮想ステージGに進入することを不可能としている。
このように仮想観客領域と仮想ステージGとの境界線上に透明オブジェクトB1が配置されている場合の仮想空間更新処理(図10参照)においては、図88に示すように、まず、配信用サーバコンピュータ100は、視聴者アバター情報を受信したか否かを判定する(ステップS701)。
視聴者アバター情報を受信している場合(ステップS701;Yes)は、該受信した視聴者アバター情報から、該視聴者アバター情報に応じた視聴者アバターの仮想観客領域における位置を特定するとともに(ステップS702)、当該視聴者アバターと位置が重複する対象(他の視聴者アバター、演者アバター、透明オブジェクトB1)を特定する(ステップS703)。
そして、配信用サーバコンピュータ100は、当該視聴者アバターと他の視聴者アバターとの位置が重複しているか否かを判定する(ステップS704)。当該視聴者アバターと他の視聴者アバターとの位置が重複していない場合(ステップS704;No)は、当該視聴者アバターと演者アバターとの位置が重複しているか否かを判定する(ステップS705)。当該視聴者アバターと演者アバターとの位置が重複していない場合(ステップS705;No)は、当該視聴者アバターと透明オブジェクトB1との位置が重複しているか否かを判定する(ステップS706)。
配信用サーバコンピュータ100は、当該視聴者アバターと透明オブジェクトとの位置が重複していると判定した場合(ステップS706;Yes)、受信した視聴者アバター情報に応じた視聴者端末300に対して衝突通知情報送信設定を実行する(ステップS707)。尚衝突通知情報は、視聴者アバターと透明オブジェクトB1との衝突判定が行われたことを通知するための情報である。
一方で、当該視聴者アバターと他の視聴者アバターとの位置が重複している場合(ステップS704;Yes)、当該視聴者アバターと演者アバターとの位置が重複している場合(ステップS705;Yes)、当該視聴者アバターと透明オブジェクトB1との位置が重複いていない場合(ステップS706;No)、配信用サーバコンピュータ100が、当該視聴者アバターの位置を、ステップS702において特定した位置に更新記憶する。
そして、配信用サーバコンピュータ100は、視聴者アバター情報を受信していないと判定した場合(ステップS701;No)や、ステップS707、ステップS708の処理の実行後は、演者アバター情報を受信したか否かを判定する(ステップS709)。演者アバター情報を受信した場合(ステップS709;Yes)は、受信した視聴者アバター情報にもとづいて演者アバターの位置の更新記憶を行う(ステップS710)。
ステップS710の実行後またはステップS709において演者アバター情報を受信していないと判定した場合(ステップS707;No)、配信用サーバコンピュータ100は、その他仮想空間更新処理に応じた処理を実行し(ステップS711)、仮想空間更新処理を終了する。
このように、本実施例6では、図89に示すように、視聴者アバターが透明オブジェクトB1と重複する位置に移動しようとする場合は、衝突判定が行われる一方で、視聴者アバターが他の視聴者アバターや演者アバターと重複する位置に移動しようとする場合は、衝突判定が行われず、視聴者アバター同士や、視聴者アバターと演者アバターの一部または全てが同一位置で重複することとなる。一方で、演者アバターが視聴者アバターや他の演者アバター、透明オブジェクトB1と重複する位置に移動しようとする場合は、衝突判定が行われず、演者アバター同士や演者アバターと視聴者アバター、演者アバターと透明オブジェクトB1の一部または全てが同一位置で重複することとなる。
このようにすることで、本実施例6では、仮想観客領域と仮想ステージGの境界線上に配置された透明オブジェクトB1への視聴者アバターの移動が阻まれるため、視聴者アバターが仮想ステージGに進入してしまうことを防止することが可能となっている。
以上、本実施例6においては、仮想観客領域において視聴者アバター同士で衝突判定を実行しないことで本システムにおける処理負荷の増加を抑えつつ、視聴者アバターと透明オブジェクトB1との衝突判定を実行することによって仮想ステージGへの視聴者アバターの進入を防ぐことができる。
また、仮想観客領域と仮想ステージGとの境界領域の全域にわたって透明な透明オブジェクトB1が配置されていることで、確実に視聴者アバターの仮想ステージGへの進入を防ぐことができる。
また、演者アバターと透明オブジェクトB1との間では衝突判定が行われないので、演者アバターが誤って透明オブジェクトB1と衝突してしまうことにより演目が実行不能となる等の不都合の発生を防ぐことができる。
また、演者アバターと視聴者アバターとの間でも衝突判定が行われないので、演者アバターが誤って視聴者アバターと衝突してしまうことにより演目が実行不能となる等の不都合の発生を防ぐことができる。
<実施例6の変形例>
尚、本実施例6では、視聴者アバターと透明オブジェクトB1とで衝突判定を行うことによって視聴者アバターの仮想ステージGへの進入を防止する形態を例示したが、本発明はこれに限定されるものではなく、変形例6-1とし、管理者端末150で設定した視聴者アバターについては、特例として透明オブジェクトB1との衝突判定を行わずに仮想ステージGへの進入を許容してもよい。
このような場合は、例えば、図90に示すように、ライブ仮想空間参加可能期間において、管理者端末150は、当該管理者端末150の管理者からの操作を受け付けることで、配信用サーバコンピュータ100に対してライブ仮想空間に参加している視聴者ユーザーの情報を要求するための参加視聴者情報要求情報を送信するための参加視聴者情報要求処理を実行する。
配信用サーバコンピュータ100は、参加視聴者情報要求情報を受診すると、参加視聴者情報特定処理を実行することで、図23に示す参加者ユーザーテーブルから現在ライブ仮想空間に参加している参加者を特定する。そして、特定した参加視聴者の情報(参加視聴者情報)を管理者端末150に返信する参加視聴者情報送信処理を実行する。
管理者端末150は、参加視聴者情報を受信すると、図示しない画像表示装置等に現在ライブ仮想空間に参加している視聴者ユーザーの一覧を表示するとともに、これら視聴者ユーザーから特例視聴者ユーザーを選択する操作を受け付ける特例視聴者選択受付処理を実行する。そして、管理者の操作により視聴者ユーザーの一覧から特例視聴者ユーザーが選択された場合は、配信用サーバコンピュータ100に対して該選択した特例視聴者ユーザーの情報(特例視聴者情報)を送信する特例視聴者情報送信処理を実行する。
配信用サーバコンピュータ100は、特例視聴者情報を受信したことにもとづいて、該特例視聴者情報が示す特例視聴者ユーザーを記憶する特例視聴者情報記憶処理を実行する。
以降、配信用サーバコンピュータ100は、視聴者端末300がアバター動作操作処理を実行したことにもとづく視聴者アバター情報を受信した場合は、図90に示すように、仮想空間更新処理、仮想空間更新データ生成処理、仮想空間更新データ配信処理を実行する。
図91に示すように、仮想空間更新処理において配信用サーバコンピュータ100は、まず、図88と同様にステップS701~ステップS706の処理を実行する。そして、配信用サーバコンピュータ100が視聴者アバターと透明オブジェクトB1の位置が重複していると判定した場合(ステップS706;Yes)に、更に当該視聴者アバターが特例視聴者アバターであるか否かを判定する(ステップS706a)。
ここで、当該視聴者アバター特例視聴者でない場合は、ステップS707の処理を実行した後に、図88と同様にステップS709~ステップS711の処理を実行すればよい。また、配信用サーバコンピュータ100が特定視聴者アバターでないと判定した場合(ステップS706a;Yes)は、視聴者アバターと他の視聴者アバターの位置が重複している場合(ステップS704;Yes)、視聴者アバターと演者アバターの位置が重複している場合(ステップS705;Yes)、視聴者アバターと透明オブジェクトB1の位置が重複していない場合(ステップS706;No)と同様にステップS708の処理を実行した後に、図88と同様にステップS709~ステップS711の処理を実行すればよい。
上記のように、本変形例6-1においては、特例視聴者アバターを透明オブジェクトB1と衝突判定を行う視聴者アバターから除外している。このため、図92に示すように、一般的な視聴者アバター(非特例視聴者アバター)と透明オブジェクトB1とでは衝突判定が行われることで、視聴者アバターが透明オブジェクトB1を超えて仮想ステージGに進入することを防いでいる一方で、管理者端末150によって特例視聴者アバターに設定された視聴者アバターは、透明オブジェクトB1とによる衝突判定が行われないので、該透明オブジェクトB1を超えて仮想ステージGに進入することが可能である。
また、前記実施例6では、仮想ステージGと仮想観客領域との境界領域B上に透明オブジェクトB1を設けることによって視聴者アバターの仮想ステージGへの進入を妨げる形態を例示したが、本発明はこれに限定されるものではなく、変形例6-2として図93に示すように、視聴者ユーザーが視聴者端末300を操作して仮想ステージGに視聴者アバターを進入させようとした場合は、視聴者端末300が配信用サーバコンピュータ100から衝突通知情報を受信したことにもとづいて、表示装置310において透明オブジェクトB1を超えて仮想ステージGに進入することが不可能な旨の警告画像を表示してもよい。
このように視聴者アバターと透明オブジェクトB1との間で衝突判定が行われてた場合に表示装置310において警告画像の表示を行うことで、視聴者アバターと透明オブジェクトB1との間で衝突判定が行われたことを視聴者ユーザーに認識させることができる。
また、前記実施例6では、仮想観客領域に各視聴者ユーザーに応じた視聴者アバターが配置される形態を例示したが、本発明はこれに限定されるものではなく、変形例6-3として、図94(A)に示すように、各視聴者アバターとしては、比較的表示するための処理負荷が重いフルアバターと、該フルアバターよりも表示するための処理負荷が軽い簡易アバターと、を設けてもよい。
これらフルアバターと簡易アバターとは、配信用サーバコンピュータ100は視聴者端末300にかかる処理負荷に応じて自動的に切り替わるようにしてもよいし、視聴者ユーザーが視聴者端末300を操作することによって切り替わるようにしてもよい。
また、このように、視聴者アバターとしてフルアバターと簡易アバターとを設ける場合は、図94(B)に示すように、これらフルアバターと簡易アバターとを含む視聴者アバターと演者アバターとでは衝突判定を行わない一方で、視聴者アバターと透明オブジェクトB1とでは、視聴者アバターがフルアバターであるか簡易アバターであるかを問わず衝突判定を行うようにしてもよい。
このように、視聴者アバターがフルアバターと該フルアバターよりも処理負荷の低い簡易アバターのいずれの場合であっても、透明オブジェクトB1との間で衝突判定を行うことで、表示処理負荷の過度な増大を防ぎつつ、仮想ステージGへの視聴者アバターの進入を防ぐことができる。
また、前記実施例6では、視聴者アバターと演者アバターとでは衝突判定が行われない形態を例示したが、本発明はこれに限定されるものではなく、図95に示すように、仮想ステージG上に複数体の演者アバターが配置されている場合、これら複数の演者アバター間では衝突判定が行われないようにしてもよい。このようにすることで、演者アバターが誤って他の演者アバターと衝突してしまうことによる演目の実行不能等の不都合の発生を防ぐことができる。
また、前記実施例6では、透明オブジェクトB1を仮想観客領域からの正面視で仮想ステージGの略全体を覆う長方形状に形成された壁状態とする形態を例示したが、本発明はこれに限定されるものではなく、視聴者アバターの仮想ステージGへの進入を防ぐことが可能であれば、透明オブジェクトB1の形状や数は問わない。例えば、透明オブジェクトB1は壁状体ではなく薄膜状であってもよいし、柱状の透明オブジェクトを仮想観客領域と仮想ステージGとの境界領域上に格子状に複数配置してもよい。
また、前記実施例6では、仮想観客領域と仮想ステージGとの境界領域Bに透明な透明オブジェクトB1を配置することで視聴者アバターの仮想ステージGへの進入を防ぐ形態を例示したが、本発明はこれに限定されるものではなく、仮想観客領域と仮想ステージGとの境界領域Bに視聴者アバター視点から視認可能なオブジェクトを配置し、該オブジェクトによって視聴者アバターの仮想ステージGへの進入を防ぐようにしてもよい。尚、この場合のオブジェクトは、視聴者アバター視点で演者アバターを隠蔽しない程度の高さを有することが望ましい。
次に、実施例7の仮想空間コンテンツ配信システムについて、図96~図104を用いて以下に説明する。尚、実施例1、2と同一の構成については、同一の符号を付して説明を省略する。
実施例7の仮想空間コンテンツ配信システムは、図96に示すように、仮想空間処理を行うサーバコンピュータとして、配信用サーバコンピュータ100に加えて複数台のサブ会場用サーバコンピュータ400(サブ会場用サーバコンピュータ400a、400b…)を有しており、これらサブ会場用サーバコンピュータ400は配信用サーバコンピュータ100、管理者端末150、演者端末200、各視聴者端末300とインターネット網Nを介して接続されてている。
これらサブ会場用サーバコンピュータ400は、配信用サーバコンピュータ100と同じく仮想ライブ会場に関する各種処理や仮想ライブの配信に関する各種処理を実行可能であって、配信用サーバコンピュータ100にて提供する仮想ライブ会場に参加する視聴者アバター数が予め定められた規定数に達したことを条件に新たな仮想ライブ会場(以下、サブ仮想ライブ会場と呼称)を提供して、配信用サーバコンピュータ100の仮想ライブ会場(以下、メイン仮想ライブ会場と呼称)同様に演者アバターによる演目を上演するために用いられる。
尚、本実施例7における配信用サーバコンピュータ100のストレージ103には、図97に示すように、サブ仮想ライブ会場制御プログラム140が格納されている。配信用サーバコンピュータ100は、該サブ仮想ライブ会場制御プログラム140を用いてメイン仮想ライブ会場やサブ仮想ライブ会場に参加している視聴者アバター数が予め定められたき定数に達しているか否かの判定を行い、規定数に達している場合には、該視聴者アバター数が規定数に達した仮想ライブ会場に対する新たな視聴者アバターの参加を規制するとともに、新たな視聴者アバターが他のサブ仮想ライブ会場に参加するよう振り分ける制御を行っている。
また、本実施例7の仮想空間コンテンツ配信システムは、図96に示すように、チャット情報用サーバコンピュータ170を有しており、これらチャット情報用サーバコンピュータ170は配信用サーバコンピュータ100、管理者端末150、演者端末200、各視聴者端末300、各サブ会場用サーバコンピュータ400とインターネット網Nを介して接続されてている。
チャット情報用サーバコンピュータ170は、各視聴者端末300が備えるキーボードやタッチパネル等の入力機器を視聴者ユーザーが操作することによって入力されたチャット情報を時系列に沿って並び替えた統合チャット情報を演者端末200及び各視聴者端末300に送信するためのコンピュータである。
尚、本実施例7における演者端末200及び各視聴者端末300は、チャット情報用サーバコンピュータ170から統合チャット情報を受信することで、表示画面中に同一のチャット情報を表示する。
次に、本実施例7において視聴者ユーザーが仮想ライブ会場に仮想参加する流れについて、図98を用いて説明する。
まず、配信用サーバコンピュータ100は、図22と同様に視聴者端末300から参加要求を受信すると参加者認証処理を実行する。そして、サブ仮想ライブ会場制御プログラム140を用いた参加仮想ライブ会場判定処理を実行する。このとき、配信用サーバコンピュータ100は、視聴者アバターが参加するライブ会場を決定する。
その後は、図22と同様に、配信用サーバコンピュータ100による参加者ユーザーテーブルの更新及び事前データ送信処理、視聴者端末300による事前データの特定、事前データダウンロード要求の送信、事前データを受信して記憶する処理を実行する。
尚、参加仮想ライブ会場判定処理後の参加者ユーザーテーブルを更新時において配信用サーバコンピュータ100は、参加仮想ライブ会場判定処理において決定した参加仮想ライブ会場を示すデータを、参加要求を送信した視聴者端末300に応じた参加者IDに紐付けて記憶する。
参加仮想ライブ会場判定処理の具体的な処理について図100(A)を用いて説明する。尚、以下の説明では、簡略化のため仮想空間コンテンツ配信システムを構成するサブ会場用サーバコンピュータを2台(サブ会場用サーバコンピュータ400a、400b)として説明するが、本発明はこれに限定されるものではなく、仮想空間コンテンツ配信システムを構成するサブ会場用サーバコンピュータは1台のみ、或いは3台以上であってもよい。
参加仮想ライブ判定処理において配信用サーバコンピュータ100は、先ず、サブ会場用サーバコンピュータ400bが提供する第2サブ仮想ライブ会場への視聴者アバターの参加が許容されていることを示す第2サブ仮想ライブ会場参加許容フラグがセットされているか否かを判定する(ステップS811)。第2サブ仮想ライブ会場参加許容フラグがセットされていない場合(ステップS811;No)は、サブ会場用サーバコンピュータ400aが提供する第1サブ仮想ライブ会場への視聴者アバターの参加が許容されていることを示す第1サブ仮想ライブ会場参加許容フラグがセットされているか否かを判定する(ステップS812)。尚、第1サブ仮想ライブ会場及び第2サブ仮想ライブ会場は、メイン仮想ライブ会場を模して仮想観客領域と仮想ステージGとを有する仮想ライブ会場である。
第1サブ仮想ライブ会場参加許容フラグがセットされていない場合(ステップS812;No)は、図99に示す参加者ユーザーテーブルを参照することで配信用サーバコンピュータ100が提供するメイン仮想ライブ会場に参加している視聴者アバター数を特定し(ステップS813)、メイン仮想ライブ会場に参加している視聴者アバター数が予め定められた参加仮想ライブ会場変更規定数以上であるか否かを判定する(ステップS814)。
尚、図100(B)に示すように、本実施例7では、メイン仮想ライブ会場に参加可能な視聴者アバターの上限数は200に設定されている。一方で、メイン仮想ライブ会場における参加可能仮想ライブ会場変更規定数は、メイン仮想ライブ会場に参加可能な視聴者アバターの上限数の75%にあたる150に設定されている。
つまり、ステップS814において、配信用サーバコンピュータ100は、メイン仮想ライブ会場に参加している視聴者アバター数が150以上であるか否かを判定する。
メイン仮想ライブ会場に参加している視聴者アバター数が予め定められた参加仮想ライブ会場変更規定数未満である場合(ステップS814;No)、配信用サーバコンピュータ100は、参加仮想ライブ会場をメイン仮想ライブ会場に決定して参加仮想ライブ会場判定処理を終了する(ステップS815)。また、メイン仮想ライブ会場に参加している視聴者アバター数が予め定められた参加仮想ライブ会場変更規定数以上である場合(ステップS814;Yes)、配信用サーバコンピュータ100は、第1サブ仮想ライブ会場参加許容フラグをセットするとともに(ステップS816)、参加仮想ライブ会場を第1サブ仮想ライブ会場に決定して参加仮想ライブ会場判定処理を終了する(ステップS817)。
また、第1サブ仮想ライブ会場参加許容フラグがセットされている場合(ステップS812;Yes)、配信用サーバコンピュータ100は、図99に示す参加者ユーザーテーブルを参照することでサブ会場用サーバコンピュータ400aが提供する第1サブ仮想ライブ会場に参加している視聴者アバター数を特定し(ステップS818)、第1サブ仮想ライブ会場に参加している視聴者アバター数が予め定められた参加仮想ライブ会場変更規定数以上であるか否かを判定する(ステップS819)。
尚、図100(B)に示すように、本実施例7では、第1サブ仮想ライブ会場に参加可能な視聴者アバターの上限数は100に設定されている。一方で、第1サブ仮想ライブ会場における参加可能仮想ライブ会場変更規定数は、第1サブ仮想ライブ会場に参加可能な視聴者アバターの上限数の75%にあたる75に設定されている。
つまり、ステップS819において、配信用サーバコンピュータ100は、第1サブ仮想ライブ会場に参加している視聴者アバター数が75以上であるか否かを判定する。
尚、図100(B)に示すように、第2サブ仮想ライブ会場に参加可能な視聴者アバターの上限数は、第1サブ仮想ライブ会場に参加可能な視聴者アバターの上限数と同一である100に設定されている。
第1サブ仮想ライブ会場に参加している視聴者アバター数が予め定められた参加仮想ライブ会場変更規定数未満である場合(ステップS819;No)、配信用サーバコンピュータ100は、参加仮想ライブ会場を第1仮想ライブ会場に決定して参加仮想ライブ会場判定処理を終了する(ステップS820)。また、第1サブ仮想ライブ会場に参加している視聴者アバター数が予め定められた参加仮想ライブ会場変更規定数以上である場合(ステップS819;Yes)、配信用サーバコンピュータ100は、第2サブ仮想ライブ会場参加許容フラグをセットするとともに(ステップS821)、参加仮想ライブ会場を第2サブ仮想ライブ会場に決定して参加仮想ライブ会場判定処理を終了する(ステップS822)。
参加仮想ライブ会場判定処理後の配信用サーバコンピュータ100は、参加者テーブル更新では、ステップS815、S817、S820、S822において決定した仮想ライブ会場を示すデータを、参加要求を送信した視聴者端末300に応じた参加者IDに紐付けて記憶する。
尚、本実施例7では、各仮想ライブ会場に上限数までの視聴者アバターを参加させることが可能であるが、この場合は、視聴者アバターが一斉に動作した場合や、演者アバターが激しい動作を行った場合、仮想ライブの演出の一環として特定のオブジェクトを発光させる発光演出を実行した場合等において、これら視聴者アバター、演者アバターの表示に関する処理負荷が膨大なものとなってしまい、仮想ライブの配信に支障が出てしまう虞がある。このため、本実施例7では、各仮想ライブ会場に参加する視聴者アバター数が上限数に達する前に、新たに仮想ライブに参加する視聴者アバターを別の仮想ライブ会場に割り振る制御を行うことで、上記したような視聴者アバターが一斉に動作した場合、演者アバターが激しい動作を行った場合、仮想ライブの演出の一環として特定のオブジェクトを発光させる発光演出を実行した場合等に備えて各サーバコンピュータにおける視聴者アバターや演者アバターの表示に関する処理負荷を抑えておき、仮想ライブを支障なく配信できるようにしている。
また、本実施例7では、配信用サーバコンピュータ100にて提供するメイン仮想ライブ会場に参加可能な視聴者アバターの上限数(200)が、第1サブ会場用サーバコンピュータ400aにて提供する第1サブ仮想ライブ会場や第2サブ会場用サーバコンピュータ400bにて提供する第2サブ仮想ライブ会場に参加可能な視聴者アバターの上限数(100)よりも多い。つまり、本発明の仮想空間コンテンツ配信システムでは、仮想ライブに参加する視聴者アバター数に応じて新たなサブ会場用サーバコンピュータを増設する場合は、配信用サーバコンピュータ100よりも仮想ライブの配信に関する処理能力が低く且つ廉価なサーバコンピュータを都度接続すればよいため、仮想ライブの配信に関する処理能力が配信用サーバコンピュータ100と同等のサーバコンピュータを用意する必要がなく、仮想空間コンテンツ配信システムを安価に構築することができる。
尚、本実施例7においては、メイン仮想ライブ会場に参加可能な視聴者アバターの上限数が第1サブ仮想ライブ会場や第2サブ仮想ライブ会場に参加可能な視聴者アバターの上限数よりも多く設定されているが、本発明はこれに限定されるものではなく、メイン仮想ライブ会場に参加可能な視聴者アバターの上限数と、第1サブ仮想ライブ会場や第2サブ仮想ライブ会場に参加可能な視聴者アバターの上限数とは同一であってもよい。
また、本実施例7では、図100(B)に示すように、メイン仮想ライブ会場、及び第1サブ仮想ライブ会場の参加可能仮想ライブ会場変更規定数は、共に各仮想ライブ会場の最大参加可能視聴者アバター数の75%に設定されているが、本発明はこれに限定されるものではなく、メイン仮想ライブ会場における最大参加可能視聴者アバター数に対する参加可能仮想ライブ会場変更規定数の割合と、第1サブ仮想ライブ会場における最大参加可能視聴者アバター数に対する参加可能仮想ライブ会場変更規定数の割合と、が異なっていてもよい。
上記のように参加仮想ライブ会場判定処理を実行することで、ライブ仮想空間参加可能期間が終了した後の配信用サーバコンピュータ100は、図10と同様に仮想空間更新処理、仮想空間更新データ生成処理、仮想空間更新データ配信処理を実行し、メイン仮想ライブ会場に参加している視聴者アバターの視聴者端末300と演者端末200に対して仮想空間更新データを送信する。また、配信用サーバコンピュータ100は、図10と同様に楽曲再生処理、配信音声生成処理、生成音声配信処理を実行する。
一方で、図101に示すように、ライブ仮想空間参加可能期間が終了した後の配信用サーバコンピュータ100は、演者端末200から演者アバター情報を受信すると、仮想空間データのうち、仮想ステージGの領域のデータのみを更新する仮想ステージ領域空間更新処理を実行する。これにより仮想ステージG上の演者アバターの動作(操作)を反映させる。そして、更新前の仮想ステージGの領域のデータと更新後の仮想ステージGの領域データとにもとづいて仮想ステージ領域更新データを生成するとともに、該生成した仮想ステージ領域更新データをサブ会場用サーバコンピュータ400a、400bに転送する(仮想ステージ領域空間更新データ生成・送信処理)。
また、配信用サーバコンピュータ100は、視聴者アバターが第1サブ仮想ライブ会場や第2サブ仮想ライブ会場に参加している視聴者端末300から視聴者アバター情報を受信した場合、参加者ユーザーテーブルを参照することで、受信した視聴者アバター情報に含まれる参加者IDから当該視聴者端末300の視聴者アバターが参加しているサブ仮想ライブ会場を特定し、該特定したサブ仮想ライブ会場に応じたサブ会場用サーバコンピュータ400a、400bに対して視聴者アバター情報を転送する視聴者アバター情報転送処理を実行する。
つまり、視聴者アバターが参加している仮想ライブ会場にかかわらず、必ず各視聴者端末300からの視聴者アバター情報を配信用サーバコンピュータ100が受信する。そして、配信用サーバコンピュータ100は、受信した視聴者アバター情報が第1サブ仮想ライブ会場や第2サブ仮想ライブ会場に視聴者アバターが参加している視聴者端末300から受信したものである場合には、視聴者アバターが参加しているサブ仮想ライブ会場に応じたサブ会場用サーバコンピュータ400a、400bに対して視聴者アバター情報を転送する。このため、本実施例7では、仮想ライブに参加している全視聴者アバター数(全視聴者ユーザー数)や各視聴者アバターの動作を配信用サーバコンピュータ100にて把握することが可能となっている。
サブ会場用サーバコンピュータ400a、400bは、配信用サーバコンピュータ100から仮想ステージ領域空間更新データを受信した場合、該仮想ステージ領域空間更新データの内容を第1サブ仮想ライブ会場や第2サブ仮想ライブ会場の仮想ステージG上の演者アバターの動作(操作)に反映させる仮想ステージ領域空間反映処理を実行する。
また、サブ会場用サーバコンピュータ400a、400bは、配信用サーバコンピュータ100から視聴者アバター情報を受信した場合、該視聴者アバター情報にもとづいて仮想観客領域(視聴者領域空間)における各視聴者アバターの動作を反映させる視聴者領域空間更新処理を実行する。
そして、サブ会場用サーバコンピュータ400a、400bは、上記した仮想ステージ領域空間反映処理や視聴者領域空間更新処理を実行した後は、更新前の仮想ステージGの領域のデータと更新後の仮想ステージGの領域のデータや、更新前の仮想観客領域(視聴者領域空間)のデータと更新後の仮想観客領域(視聴者領域空間)のデータにもとづいて仮想空間更新データを生成する仮想空間更新データ生成処理を実行した後、該生成した仮想空間更新データを視聴者端末300と演者端末200に配信する仮想空間更新データ配信処理を実行する。
サブ会場用サーバコンピュータ400a、400bから仮想空間更新データが配信された視聴者端末300においては、図10と同様に、配信されてきた仮想空間更新データにもとづいて、事前記憶されている仮想空間データが更新されるとともに、該更新された仮想空間データを使用した演者視点映像生成処理や視聴者視点映像生成処理が実行されることで、更新された仮想空間データにもとづく演者視点映像や視聴者視点映像が生成されて、該生成された第1サブ仮想ライブ会場や第2サブ仮想ライブ会場における演者視点映像や視聴者視点映像が演者端末200と視聴者端末300において表示される(視聴者視点映像出力処理)。
尚、本実施例7の演者端末200には、サブ会場用サーバコンピュータ400a、400bから仮想空間更新データが配信されない。このため、演者端末200では、メイン仮想ライブ会場の画像が表示される一方で、サブ仮想ライブ会場の画像は表示されないようになっている。
尚、図101に示す例では、図10と同様に配信用サーバコンピュータ100が楽曲再生処理、配信音声生成処理、生成音声配信処理を実行し、演者端末200が再生楽曲出力処理、演者音声入力処理、モニター音声生成処理、モニター音声出力処理を実行することで視聴者端末300が音声出力処理を実行するため、図示省略する。
次に、演者端末200、各視聴者端末300、チャット情報用サーバコンピュータ170間におけるチャット情報及び統合チャット情報のやり取りについて説明する。
図102に示すように、視聴者アバターがメイン仮想ライブ会場に参加している視聴者端末300や、視聴者アバターがサブ仮想ライブ会場に参加している視聴者端末300では、各視聴者端末300が備えるキーボードやタッチパネル等の入力機器を用いた視聴者ユーザーからのチャット情報の入力を受け付けるチャット情報入力受付処理を実行する。このとき、チャット情報の入力が受け付けられると、視聴者端末300は、該入力されたチャット情報をチャット情報用サーバコンピュータ170に送信するチャット情報送信処理を実行する。
チャット情報用サーバコンピュータ170は、各視聴者端末300からチャット情報を受信すると、これら受信したチャット情報を時系列に並べた統合チャット情報を生成する統合チャット情報生成処理を実行し、該生成した統合チャット情報を演者端末200及び各視聴者端末300に対して送信する。
そして、演者端末200及び各視聴者端末300では、図103に示すように、統合チャット情報を受信したことにもとづいて各端末の表示装置の画面所定位置(本実施例7では画面右下部)に設けられたチャット表示領域CWにおいて同一の統合チャット情報を表示する統合チャット情報表示処理を実行する。
まとめると、本実施例7では、図104に示すように、視聴者アバターがメイン仮想ライブ会場に参加している視聴者端末300及び演者端末200では、統合チャット情報と演者視点映像や視聴者視点映像としてのメイン仮想ライブ会場の画像とが表示されるとともに、楽曲及び演者音声の出力が行われる。また、視聴者アバターが第1サブ仮想ライブ会場に参加している視聴者端末300では、統合チャット情報と演者視点映像や視聴者視点映像としての第1サブ仮想ライブ会場の画像とが表示されるとともに楽曲及び演者音声の出力が行われ、視聴者アバターが第2サブ仮想ライブ会場に参加している視聴者端末300では、統合チャット情報と演者視点映像や視聴者視点映像としての第2サブ仮想ライブ会場の画像とが表示されるとともに楽曲及び演者音声の出力が行われる。
以上、本実施例7においては、メイン仮想ライブ会場に視聴者アバターが参加することでメイン仮想ライブ会場に参加している視聴者アバター数が最大参加可能視聴者アバター数の75%に達すると、メイン仮想ライブ会場への新たな視聴者アバターの参加が規制される一方で第1サブ仮想ライブ会場への新たな視聴者アバターの参加が許容されるので、メイン仮想ライブ会場に最大参加可能視聴者アバター数である200を超える視聴者アバターが参加することにより仮想ライブが配信不能となってしまうことを防ぐことができる。
また、メイン仮想ライブ会場に参加している視聴者アバターに対応する視聴者端末300と、サブ仮想ライブ会場に参加している視聴者アバターに対応する視聴者端末300と、のいずれにおいても共通の統合チャット情報が表示されるので、視聴者アバターがいずれの仮想ライブ会場に参加しているかにかかわらず、視聴者ユーザーに対して共通の統合チャット情報を視認させることができるので、視聴者アバターがサブ仮想ライブ会場に参加している視聴者ユーザーに対して、視聴者アバターがサブ仮想ライブ会場に参加していると認識し難くすることができ、視聴者アバターがサブ仮想ライブ会場に参加していることによる仮想ライブの興趣低下を防ぐことができる。
また、最大参加可能視聴者アバター数が200であるメイン仮想ライブ会場及び第1サブ仮想ライブ会場に加えて、同じく最大参加可能視聴者アバター数が200であり、最大参加可能視聴者アバター数が200である第2仮想ライブ会場が設けられており、第1仮想ライブ会場への参加視聴者アバター数が150に達したことを条件に配信用サーバコンピュータ100が第1サブ仮想ライブ会場への新たな視聴者アバターの参加を規制する一方で第2サブ仮想ライブ会場への新たな視聴者アバターの参加を許容するので、第1仮想ライブ会場に150を超える視聴者アバターが参加することによる仮想ライブが配信不能となる虞を解消しつつ仮想ライブの興趣低下を防ぐことができる。
<実施例7の変形例>
尚、前記実施例7では、視聴者アバターがメイン仮想ライブ会場に参加している視聴者端末300及び演者端末200では、演者視点映像や視聴者視点映像としてのメイン仮想ライブ会場の画像が表示される一方で第1サブ仮想ライブ会場や第2サブ仮想ライブ会場の画像が表示されず、視聴者アバターが第1仮想ライブ会場に参加している視聴者端末300では、演者視点映像や視聴者視点映像としての第1サブ仮想ライブ会場の画像が表示される一方でメイン仮想ライブ会場や第2サブ仮想ライブ会場の画像が表示されず、視聴者アバターが第2仮想ライブ会場に参加している視聴者端末300では、演者視点映像や視聴者視点映像としての第2サブ仮想ライブ会場の画像が表示される一方でメイン仮想ライブ会場や第1サブ仮想ライブ会場の画像が表示されない形態を例示したが、本発明はこれに限定されるものではなく、演者端末200や視聴者端末300では、演者視点映像や視聴者視点映像としてメイン仮想ライブ会場の画像、第1サブ仮想ライブ会場の画像、第2サブ仮想ライブ会場の画像の全てを表示可能としてもよい。特に、このような場合は、変形例7-1として図105に示すように、各演者端末200や視聴者端末300では、メイン仮想ライブ会場の画像、第1サブ仮想ライブ会場の画像、第2サブ仮想ライブ会場の画像を時系列に切り替えて表示してもよい。
このように、視聴者端末300においてメイン仮想ライブ会場の画像、第1サブ仮想ライブ会場の画像、第2サブ仮想ライブ会場の画像を時系列に切り替えて表示することで、視聴者ユーザーに自身の視聴者端末300に応じた視聴者アバターが参加している仮想ライブ空間の視聴者視点映像を視認させ、視聴者アバターがサブ仮想ライブ会場に参加している視聴者ユーザーに対して、視聴者アバターがサブ仮想ライブ会場に参加していると認識し難くし、視聴者アバターがサブ仮想ライブ会場に参加していることによる仮想ライブの興趣低下を防ぐことができる。
また、前記実施例7では演者端末200では演者視点映像としてメイン仮想ライブ会場の画像のみが表示される形態を例示したが(図104参照)、本変形例7-1のように演者視点映像としてメイン仮想ライブ会場の画像、第1サブ仮想ライブ会場の画像、第2サブ仮想ライブ会場の画像が時系列に切り替えて表示されることで、演者は、全ての仮想ライブ会場における視聴者アバターの反応を認識しつつ演者アバターによるコンテンツを提供することができる。
また、前記変形例7-1では、視聴者端末300においてメイン仮想ライブ会場の画像、第1サブ仮想ライブ会場の画像、第2サブ仮想ライブ会場の画像を時系列に切り替えて表示することで、視聴者ユーザーに自身の視聴者端末300に応じた視聴者アバターが参加している仮想ライブ空間の視聴者視点映像を視認させ、視聴者アバターがサブ仮想ライブ会場に参加している視聴者ユーザーに対して、視聴者アバターがサブ仮想ライブ会場に参加していると認識し難くし、視聴者アバターがサブ仮想ライブ会場に参加していることによる興趣低下を防ぐ形態を例示したが、本発明はこれに限定されるものではなく、変形例7-2として図106(A)及び図106(B)に示すように、メイン仮想ライブ会場の仮想ステージGに設けられた仮想ディスプレイ40に、該メイン仮想ライブ会場の仮想カメラC2視点映像を表示し、第1サブ仮想ライブ会場の仮想ステージGに設けられた仮想ディスプレイ40に、該第1サブ仮想ライブ会場の仮想カメラC2視点映像を表示し、第2サブ仮想ライブ会場の仮想ステージGに設けられた仮想ディスプレイ40に、該第2サブ仮想ライブ会場の仮想カメラC2視点映像を表示してもよい。
このようにすることで、メイン仮想ライブ会場及びサブ仮想ライブ会場において仮想ライブの臨場感を演出しつつ、視聴者アバターがサブ仮想ライブ会場に参加している視聴者ユーザーに対して、視聴者アバターがサブ仮想ライブ会場に参加していると認識し難くすることができ、視聴者アバターがサブ仮想ライブ会場に参加していることによる仮想ライブの興趣低下を一層防ぐことができる。
また、前記実施例7では、視聴者ユーザーが操作する視聴者端末300に応じた視聴者アバターが仮想ライブ会場に参加可能な形態を例示したが、本発明はこれに限定されるものではなく、視聴者ユーザーが視聴者端末300を操作することによって他の視聴者ユーザーを自身のフレンドとして登録できるようにしてもよい。
この場合は、例えば、前述した実施例3の図39、図40と同様に視聴者ユーザーが視聴者端末300を操作することで、フレンドユーザーテーブルにフレンド登録する対称の視聴者ユーザーIDと視聴者アバターデータファイル名を記憶すればよい。
更に、このようにフレンド登録を可能とする場合は、変形例7-3として、ライブ仮想空間参加可能期間中においてフレンドの視聴者アバターが自身の視聴者アバターと同一の仮想ライブ空間に参加したことを報知可能としてもよい。
例えば、図107に示すように、ライブ仮想空間参加可能期間中において視聴者端末300は、映像出力処理を実行した後に前述したフレンドユーザーデータテーブルを参照してフレンドの視聴者ユーザーIDを特定し、該特定した視聴者ユーザーID及び自身(当該視聴者端末300を操作する視聴者)の視聴者ユーザーIDを含む仮想ライブ参加フレンド問合せ情報を配信用サーバコンピュータ100に送信する仮想ライブ参加フレンド問合せ処理を実行する。
配信用サーバコンピュータ100は、視聴者端末300から仮想ライブ参加フレンド問合せ情報を受信すると、図99に示す参加者ユーザーテーブル及び受信した仮想ライブ参加フレンド問合せ情報に含まれるフレンドの視聴者ユーザーIDを参照して、仮想ライブに参加しているフレンドを特定する。
更に、配信用サーバコンピュータ100は、仮想ライブ参加フレンド問合せを行った視聴者ユーザーと同じ仮想ライブ会場に参加しているフレンドを特定し、視聴者端末300に対して特定結果情報を送信する。
視聴者端末300は、特定結果情報を受信したことにもとづいて該視聴者端末300を操作する視聴者のフレンド内に新たに該視聴者端末300に応じた視聴者アバターと同一の仮想ライブ会場に視聴者アバターを参加させたフレンドが存在しているかを判定し、新たに該視聴者端末300に応じた視聴者アバターと同一の仮想ライブ会場に視聴者アバターを参加させたフレンドが存在している場合は、旨を報知するフレンド参加報知処理を実行する。
このようにすることで、図108(A)に示すように、視聴者端末300を操作する視聴者のフレンド内に新たに該視聴者端末300に応じた視聴者アバターと同一の仮想ライブ会場に視聴者アバターを参加させたフレンドが存在している場合は、画面中のチャット表示領域CWにおいてフレンドが仮想ライブ空間に新たに参加した旨の通知を表示する。一方で、図108(B)に示すように、視聴者端末300を操作する視聴者のフレンド内に新たに該視聴者端末300に応じた視聴者アバターと同一の仮想ライブ会場に視聴者アバターを参加させたフレンドが存在していない場合は、画面中のチャット表示領域CWにおいてフレンドが仮想ライブ空間に新たに参加した旨の通知を表示しない。
このようにすることで、同一仮想ライブ会場に視聴者アバターが参加しているフレンド同士で一体感を与え、仮想ライブの興趣を向上することができる。
また、前記実施例7では、メイン仮想ライブ会場に参加している視聴者アバター数が予め定められた参加仮想ライブ会場変更規定数以上となった場合に、それ以上のメイン仮想ライブ会場への視聴者アバターの参加を規制する一方で、サブ仮想ライブ会場への視聴者アバターの参加を許容する形態を例示したが、本発明はこれに限定されるものではなく、各仮想ライブ会場に参加している視聴者アバターは他の仮想ライブ会場に参加可能としてもよい。
この場合は、変形例7-4として図109に示すように、メイン仮想ライブ会場に参加している視聴者アバターが第1サブ仮想ライブ会場や第2サブ仮想ライブ会場に移動すること、第1サブ仮想ライブ会場に参加している視聴者アバターが第2サブ仮想ライブ会場に移動すること、第2サブ仮想ライブ会場に参加している視聴者アバターが第1サブ仮想ライブ会場に移動することを許容する一方で、第1サブ仮想ライブ会場や第2サブ仮想ライブ会場に参加している視聴者アバターがメイン仮想ライブ会場に移動することを規制してもよい。
このようにすることで、参加している視聴者アバター数が最大参加可能視聴者アバター数の75%(150)に達したメイン仮想ライブ会場に、最大参加可能視聴者アバター数である200を超える視聴者アバターが参加することを防ぐことができる。
尚、前記実施例7では、図103に示すように、メイン仮想ライブ会場に視聴者アバターが参加している視聴者端末300と、サブ仮想ライブ会場に視聴者アバターが参加している視聴者端末300とで、共通の統合チャット情報を表示する形態を例示したが、本発明はこれに限定されるものではなく、視聴者アバターがメイン仮想ライブ会場に参加している視聴者端末300では、視聴者アバターがメイン仮想ライブ会場に参加している視聴者端末300から入力されたチャット情報を統合したメイン仮想ライブ会場用統合チャット情報のみを表示し、視聴者アバターがサブ仮想ライブ会場に参加している視聴者端末300では、視聴者アバターがサブ仮想ライブ会場に参加している視聴者端末300から入力されたチャット情報を統合したサブ仮想ライブ会場用チャット情報のみを表示してもよい。
このような場合は、チャット情報用サーバコンピュータ170を設けず、視聴者アバターがメイン仮想ライブ会場に参加している視聴者端末300から入力されたチャット情報にもとづいて配信用サーバコンピュータ100が上記メイン仮想ライブ会場用統合チャット情報を生成し、該生成したメイン仮想ライブ会場用統合チャット情報を各視聴者端末300に送信してもよい。同様に、視聴者アバターがサブ仮想ライブ会場に参加している視聴者端末300から入力されたチャット情報にもとづいてサブ会場用サーバコンピュータ400a、400bが上記サブ仮想ライブ会場用統合チャット情報を生成し、該サブ仮想ライブ会場用統合チャット情報を各視聴者端末300に送信してもよい。
また、前記実施例7では、図101に示すように、サブ仮想ライブ会場に仮想参加している各アバターに演者ユーザーの動作や視聴者ユーザーの動作(操作)を反映させるために、配信用サーバコンピュータ100で生成した仮想ステージ領域空間更新データと、配信用サーバコンピュータ100において視聴者端末300から受信した視聴者アバター情報とをサブ会場用サーバコンピュータ400a、400bに転送し、サブ会場用サーバコンピュータ400a、400bではこれら仮想ステージ領域空間更新データと視聴者アバター情報とを用いて仮想空間更新データを生成したが、本発明はこれに限定されるものではなく、配信用サーバコンピュータ100において演者端末200から受信した演者アバター情報と視聴者端末300から受信した視聴者アバター情報とを当該配信用サーバコンピュータ100からサブ会場用サーバコンピュータ400a、400bに直接転送し、サブ会場用サーバコンピュータ400a、400bでは、これら転送されてきた演者アバター情報と視聴者アバター情報とから仮想空間更新データを生成してもよい。
また、上記各実施例及び変形例では、視聴者アバター視点映像を視聴者端末300側で生成して表示する形態を例示したが、本発明はこれに限定されるものではなく、例えば、仮想参加者が少ないライブイベント等の場合には、視聴者アバターからの視点映像についても配信用サーバコンピュータ100側で生成して配信するようにしてもよい。また、視聴者ユーザーが、自分が所有する端末の処理能力や利用可能なデータ通信環境に応じて、視聴者アバター視点映像を視聴者端末300側で生成するか配信用サーバコンピュータ100側で生成するかを選択できるようにしてもよいし、配信用サーバコンピュータ100が、通信接続している視聴者端末300の処理能力を特定して、該特定した処理能力にもとづいて、視聴者端末300側で生成するか配信用サーバコンピュータ100側で生成するかを決定するようにしてもよい。
また、上記各実施例及び変形例では、配信用サーバコンピュータ100を、仮想ライブを主催するイベント運営機関が運営するスタジオに設置した形態を例示しているが、本発明はこれに限定されるものではなく、これら配信用サーバコンピュータ100としては、サーバコンピュータを貸し出す企業がデータセンタ等において所有するサーバコンピュータを使用したり、上述したように、クラウドサービスによるサーバコンピュータを使用してもよく、これらサーバコンピュータの設置形態は、配信用サーバコンピュータ100の機能を得られる形態であれば、任意の形態とすることができる。
また、上記各実施例及び変形例では、演者ユーザーに対して1対1にて演者端末200を設けた形態を例示しているが、本発明はこれに限定されるものではなく、複数人で1台の演者端末200を共有してもよい。尚、演者ユーザーが、複数人のメンバーからなるユニットやグループである場合に、例えば、視点追随対象者指定処理を配信用サーバコンピュータ100や視聴者端末300の少なくとも一方で実行することで、視点を追随する対象とするメンバーを、視聴者ユーザーが選択できるようにしてもよい。
また、上記各実施例及び変形例では、演者ユーザーが一人で歌唱やダンス等の上演動作を行う形態を例示しているが、本発明はこれに限定されるものではなく、歌唱を行う歌唱者とダンス動作を行うアクターとが個別の人物とされていてもよく、この場合、歌唱者の演者端末とアクターの演者端末を個別として、歌唱者はアクターが上演動作を行うスタジオ以外の場所で歌唱するようにしてもよい。
また、上記各実施例及び変形例では、配信用サーバコンピュータ100、管理者端末150、演者端末200、視聴者端末300を接続するコンピュータ通信ネットワークとして、インターネット網を例示しているが、本発明はこれに限定されるものではなく、これら通信ネットワークは、特定のエリア内だけでデータ通信可能なローカルエリアネットワークで構成されていてもよいし、その一部にローカルエリアネットワークやローカルデータ通信が含まれていてもよい。
また、上記各実施例及び変形例では、視聴者端末300としてスマートフォンPやコンピュータ(PC)とした形態を例示しているが、本発明はこれに限定されるものではなく、これらコンピュータは、持ち運び可能なノートパソコンであってもよいし、タブレット端末、電子書籍リーダー、ウェアラブルコンピュータ、ゲーム用コンソール、及びこれら以外の、少なくとも2D映像と音声とを出力可能な各種情報処理装置であってもよい。
また、上記各実施例及び変形例では、演者ユーザーが、スタジオで歌唱を含む上演を行う形態を例示したが、本発明はこれに限定されるものではなく、例えば、演者ユーザーが自宅等に設置されている演者端末200を使用して、自宅等から仮想ライブに出演するようにしてもよい。
また、上記各実施例及び変形例では、仮想空間コンテンツとして仮想ライブを例示したが、本発明はこれに限定されるものではなく、これら仮想空間コンテンツとしては、例えば、演者ユーザーが自分のファンと集うファンミーティングや、トークセッション等、視聴者ユーザーにとって有益なコンテンツであって、演者アバター1と視聴者アバターとが仮想参加する仮想空間に関するコンテンツであれば、どのようなコンテンツであってもよい。
また、上記各実施例及び変形例では、固定配置(設定)された仮想カメラとして4つの仮想カメラC1~C4や空中移動仮想カメラの視点切替を、管理者端末150における設定や操作によって事前に行える形態を例示しているが、本発明はこれに限定されるものではなく、例えば、これら視点切替を、管理者端末150においてイベント管理者Mが、操作入力装置161を構成する視点切替コントローラ等を使用して、リアルタイムに行うようにしてもよい。
また、上記各実施例及び変形例では、仮想カメラとして仮想空間内に固定配置(設定)された仮想カメラC1~C4を使用する形態を例示しているが、本発明はこれに限定されるものではなく、例えば、仮想カメラC1~C4に、加えるか若しくは代えて、移動可能な仮想移動カメラを仮想ライブ会場内に配置して、該仮想移動カメラの仮想空間内の位置や撮像方向等を、管理者端末150においてイベント管理者Mやカメラマン等が操作により制御して、仮想移動カメラの視点映像とするようにしてもよい。
また、上記各実施例及び変形例では、演者アバターの表情に反映させるために、演者ユーザーの顔の表情を検出可能とするために、スクリーンSに仮想カメラC2の視点映像を表示する形態を例示しているが、本発明はこれに限定されるものではなく、例えば、演者ユーザーの顔の表情を検出するセンサ機能を有する高機能ヘッドマウントディスプレイであれば、これら高機能ヘッドマウントディスプレイを装着して上演を行うようにしてもよく、このようにすることで、演者ユーザーの仮想ライブへの没入感を向上することができるようにしてもよい。また、演者アバターの表情に演者ユーザーの顔の表情を詳細に反映しなくてもよい場合は、通常のヘッドマウントディスプレイを演者ユーザーが装着して上演を行うようにしてもよい。
また、本発明における仮想空間コンテンツ配信システムとしては実施例1~3及び各変形例を例示したが、本発明はこれに限定されるものではなく、本発明における仮想空間コンテンツ配信システムとしては、各実施例及び変形例のいずれかのみを実施するようにしてもよいし、複数の実施例及び変形例を組み合わせて実施してもよい。
また、演者ユーザーの歌唱や歌唱動作(上演)に替えて、コンピュータグラフィック等で作成した仮想の演者による歌唱や歌唱動作(上演動作)を演者アバター情報として配信用サーバコンピュータに記録しておき、該記録した歌唱の音声や歌唱動作(上演動作)をライブの進行に応じて再生することによって仮想ライブを開催するようにしてもよい。
このように、予め、歌唱や歌唱動作(上演動作)を実行して演者アバター情報を配信用サーバコンピュータ100に記録、再生して仮想ライブを配信する場合にあっては、該配信時における仮想空間コンテンツ配信システムの構成は、配信用サーバコンピュータ100、管理者端末150、視聴者端末300とで構成されることになり、仮想空間において演者アバター1を動作させる操作を行う演者ユーザーが利用可能な演者ユーザー端末である演者端末200を含まない構成となる。
また、本発明において、「演者が使用可能」とは、演者ユーザーが操作するものではなく、単に、演者ユーザーが仮想空間コンテンツを視聴するための使用も含まれる。
また、本発明の実施例として実施例1~7を開示するとともに、これら実施例についての変形例を複数開示したが、本発明としてはこれら実施例や変形例を単体で実施してもよいし、複数の実施例や変形例を適宜組み合わせて実施してもよい。