(58)【調査した分野】(Int.Cl.,DB名)
前記1又は複数のコンピュータプロセッサは、更に、ユーザからの要求に応答し、前記特定ユーザとのビデオチャットを予約するための予約用画面を当該ユーザの端末装置に表示させるステップと、前記ユーザによる前記予約用画面を介した前記予約を受け付けて、当該ユーザが当該ビデオチャットに参加可能なユーザとして特定されるように前記参加者情報を更新するステップと、を実行する請求項2に記載のサーバ。
前記ビデオチャットの通信を実行させるステップは、前記特定された1のユーザの端末装置から送信される当該1のユーザの動画データの所定の端末装置への送信を開始し、当該所定の端末装置のユーザからの指示に応答して、前記特定ユーザの端末装置から送信される当該特定ユーザの動画データの前記1のユーザの端末装置への送信を開始することを含む請求項1ないし9何れかに記載のサーバ。
前記ビデオチャットの通信を実行させるステップは、前記1のユーザが前記特定ユーザとのビデオチャットを実行している経過時間が所定時間となったときに、及び/又は、現在時刻が所定時刻となったときに、前記ビデオチャットの通信を終了させて新たに1のユーザを前記所定のルールに従って特定することを含む請求項1ないし10何れかに記載のサーバ。
【発明を実施するための形態】
【0011】
図1は、本発明の一実施形態に係るサーバ10を含むシステムの構成を概略的に示す構成図である。一実施形態におけるサーバ10は、図示するように、インターネット等の通信網20を介して複数の端末装置30と通信可能に接続されており、有名人等の特定ユーザとのビデオチャットを端末装置30のユーザに対して提供する。一実施形態において、特定ユーザとのビデオチャットは、リアルタイムの動画を含む様々なコンテンツを仮想的なコミュニケーション空間(以下、単に「仮想空間」と言うことがある)を介して端末装置30に対して配信するコンテンツ配信サービスにおけるオンラインイベントとして提供される。
【0012】
一実施形態におけるサーバ10は、一般的なコンピュータとして構成されており、図示のとおり、CPU(コンピュータプロセッサ)11と、メインメモリ12と、ユーザI/F13と、通信I/F14と、ストレージ(記憶装置)15と、を含み、これらの各構成要素がバス17を介して互いに電気的に接続されている。CPU11は、ストレージ15からオペレーティングシステムやその他様々なプログラムをメインメモリ12にロードし、このロードしたプログラムに含まれる命令を実行する。メインメモリ12は、CPU11が実行するプログラムを格納するために用いられ、例えば、DRAM等によって構成される。なお、一実施形態におけるサーバ10は、それぞれ上述したようなハードウェア構成を有する複数のコンピュータを用いて構成され得る。
【0013】
ユーザI/F13は、例えば、オペレータの入力を受け付けるキーボードやマウス等の情報入力装置と、CPU11の演算結果を出力する液晶ディスプレイ等の情報出力装置とを含む。通信I/F14は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網20を介して端末装置30と通信可能に構成される。
【0014】
ストレージ15は、例えば磁気ディスクドライブで構成され、上述したコンテンツ配信サービスの提供を制御するための制御用プログラム等の様々なプログラムが記憶される。また、ストレージ15には、コンテンツ配信サービスにおいて用いられる各種データも記憶され得る。ストレージ15に記憶され得る各種データは、サーバ10と通信可能に接続されるサーバ10とは物理的に別体のデータベースサーバ等に格納されてもよい。
【0015】
一実施形態において、サーバ10は、階層構造の複数のウェブページから成るウェブサイトを管理するウェブサーバとしても機能し、こうしたウェブサイトを介して上述したコンテンツ配信サービスを端末装置30のユーザに対して提供し得る。ストレージ15には、このウェブページに対応するHTMLデータも記憶され得る。HTMLデータは、様々な画像データが関連付けられ、又、JavaScript(登録商標)等のスクリプト言語等で記述された様々なプログラムが埋め込まれ得る。
【0016】
また、一実施形態において、サーバ10は、端末装置30においてウェブブラウザ以外の実行環境上で実行されるアプリケーションを介して、上述したコンテンツ配信サービスを端末装置30に対して提供し得る。ストレージ15には、こうしたアプリケーションも記憶され得る。このアプリケーションは、例えば、Objective−CやJava(登録商標)等のプログラミング言語を用いて作成される。ストレージ15に記憶されたアプリケーションは、配信要求に応じて端末装置30に配信される。なお、端末装置30は、こうしたアプリケーションを、サーバ10以外の他のサーバ(アプリマーケットを提供するサーバ)等からダウンロードすることもできる。
【0017】
このように、サーバ10は、コンテンツ配信サービスを提供するためのウェブサイトを管理し、当該ウェブサイトを構成するウェブページ(HTMLデータ)を端末装置30からの要求に応答して配信することにより、端末装置30のユーザに対してコンテンツ配信サービスを提供することができる。また、上述したように、サーバ10は、このようなウェブページ(ウェブブラウザ)を用いたサービスの提供とは代替的に、又は、これに加えて、端末装置30において実行されるアプリケーションとの通信に基づいてコンテンツ配信サービスを提供することができる。いずれの態様でサービスを提供するにしても、サーバ10は、コンテンツ配信サービスの提供に必要な各種データ(画面表示に必要なデータを含む)を端末装置30との間で送受信することができる。また、サーバ10は、各ユーザを識別する識別情報(例えば、ユーザID)毎にサービスの提供に必要な各種データを記憶することによって、ユーザ毎にサービスの提供状況を管理することができる。詳細な説明は省略するが、サーバ10は、サービスの提供の開始時におけるユーザの認証処理やサービスの提供に応じて発生する課金処理等を行う機能を有することもできる。
【0018】
一実施形態における端末装置30は、サーバ10が提供するウェブサイトのウェブページをウェブブラウザ上で表示すると共にアプリケーションを実行するための実行環境を実装した任意の情報処理装置であり、パーソナルコンピュータ、スマートフォン、タブレット端末、ウェアラブルデバイス、及びゲーム専用端末等が含まれ得る。
【0019】
端末装置30は、一般的なコンピュータとして構成され、
図1に示すとおり、CPU(コンピュータプロセッサ)31と、メインメモリ32と、ユーザI/F33と、通信I/F34と、ストレージ(記憶装置)35と、を含み、これらの各構成要素がバス37を介して互いに電気的に接続されている。
【0020】
CPU31は、ストレージ35からオペレーティングシステムやその他様々なプログラムをメインメモリ32にロードし、このロードしたプログラムに含まれる命令を実行する。メインメモリ32は、CPU31が実行するプログラムを格納するために用いられ、例えば、DRAM等によって構成される。
【0021】
ユーザI/F33は、例えば、ユーザの入力を受け付けるタッチパネル、キーボード、ボタン及びマウス等の情報入力装置と、CPU31の演算結果を出力する液晶ディスプレイ等の情報出力装置とを含む。通信I/F34は、ハードウェア、ファームウェア、又は、TCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網20を介してサーバ10と通信可能に構成される。
【0022】
ストレージ35は、例えば磁気ディスクドライブやフラッシュメモリ等により構成され、オペレーティングシステム等の様々なプログラムが記憶される。また、ストレージ35は、サーバ10等から受信した様々なアプリケーションが記憶され得る。
【0023】
端末装置30は、例えば、HTML形式のファイル(HTMLデータ)を解釈して画面表示するためのウェブブラウザを備えており、このウェブブラウザの機能によりサーバ10から取得したHTMLデータを解釈して、受信したHTMLデータに対応するウェブページを表示することができる。また、端末装置30のウェブブラウザには、HTMLデータに関連付けられた様々な形式のファイルを実行可能なプラグインソフトが組み込まれ得る。
【0024】
端末装置30のユーザがサーバ10によって提供される各種サービスを利用する際には、例えば、HTMLデータやアプリケーションによって指示されたアニメーションや操作用アイコン等が端末装置30に画面表示される。ユーザは、端末装置30のタッチパネル等を用いて各種指示を入力することができる。ユーザから入力された指示は、端末装置30のウェブブラウザやNgCore(商標)等のアプリケーション実行環境の機能を介してサーバ10に伝達される。
【0025】
次に、このように構成された一実施形態におけるサーバ10が有する機能について説明する。上述したように、サーバ10は、仮想的なコミュニケーション空間を介してコンテンツを配信するコンテンツ配信サービスを提供するが、ここでは特に、このコンテンツ配信サービスにおけるオンラインイベントとして特定ユーザとのビデオチャットを提供する機能を中心に説明する。
【0026】
図2は、一実施形態におけるサーバ10が有する機能を概略的に示すブロック図である。一実施形態におけるサーバ10は、図示するように、情報を記憶する情報記憶部41と、ユーザによるオンラインイベントの予約を管理するイベント予約管理部42と、オンラインイベントの仮想的な会場となる仮想空間を管理する仮想空間管理部43と、オンラインイベントに参加するユーザと特定ユーザとの間で実行されるビデオチャットを制御するビデオチャット制御部44と、を備える。これらの機能は、CPU11及びメインメモリ12等のハードウェア、並びに、ストレージ15に記憶されている各種プログラムやテーブル等が協働して動作することによって実現され、例えば、ロードしたプログラムに含まれる命令をCPU11が実行することによって実現される。また、
図2に例示したサーバ10が有する機能の一部又は全部は、サーバ10と端末装置30とが協働することによって実現され得る。
【0027】
一実施形態における情報記憶部41は、ストレージ15等によって実現され、
図2に示すように、オンラインイベントに関する情報を管理するイベント情報管理テーブル41aを有する。
図3は、一実施形態におけるイベント情報管理テーブル41aにおいて管理される情報の具体例を示す。イベント情報管理テーブル41aは、図示するように、個別のオンラインイベントを識別する「イベントID」と、このオンラインイベントにおいてユーザがビデオチャットを実行する特定ユーザを識別する「特定ユーザID」と、この特定ユーザとのビデオチャットを実行する時間帯を示す「時間帯」と、この特定ユーザとのビデオチャットをこの時間帯において予約しているユーザを識別する「ユーザID」との組合せに対応付けて、このユーザがこの時間帯においてビデオチャットを実行する順番を示す「順番」、このユーザがこの時間帯においてビデオチャットを実行可能な時間を示す「実行可能時間(秒)」等の情報を管理する。一実施形態において、1つのオンラインイベントには1又は複数の特定ユーザが参加し、例えば、1のアイドルとのビデオチャットを楽しむことができるオンラインイベントにはこの1のアイドルが特定ユーザとして参加し、複数のメンバによって構成されるアイドルグループとのビデオチャットを楽しむことができるオンラインイベントにはこのアイドルグループを構成する複数のメンバが特定ユーザとして参加し得る。
【0028】
一実施形態におけるイベント予約管理部42は、端末装置30のユーザからの要求に応答し、特定ユーザとのビデオチャットを予約するための予約用画面をこのユーザの端末装置30に表示させる。例えば、イベント予約管理部42は、予約用画面の画面データの全部又は一部を生成して端末装置30に送信し得る。また、一実施形態におけるイベント予約管理部42は、端末装置30のユーザによる予約用画面を介した予約を受け付けて、このユーザがビデオチャットに参加可能なユーザとして特定されるように上述したイベント情報管理テーブル41aを更新する。例えば、イベント予約管理部42は、予約用画面に対するユーザの操作に応じて端末装置30から送信される各種データを受信し、この受信した各種データに基づいてイベント情報管理テーブル41aの各種情報を更新し得る。
【0029】
一実施形態における仮想空間管理部43は、端末装置30のユーザからの要求に応答し、特定ユーザとのビデオチャットを待機するための画面であって、この特定ユーザとのビデオチャットを待機する複数のユーザのユーザ情報を含む待機用画面をユーザの端末装置30に表示させる。例えば、仮想空間管理部43は、ビデオチャットを待機するための仮想空間を特定ユーザ毎に生成し、この仮想空間へのアクセス(入場)を要求するデータを端末装置30から受信すると、この仮想空間を含む待機用画面の画面データの全部又は一部を生成して端末装置30に送信する。この仮想空間は、仮想空間に入場して特定ユーザとのビデオチャットを待機する複数のユーザのアバターがユーザ情報として表示され得る。
【0030】
一実施形態におけるビデオチャット制御部44は、特定ユーザとのビデオチャットを待機する複数のユーザの中から1のユーザを所定のルールに従って特定し、この特定された1のユーザの端末装置30と、特定ユーザの端末装置30との間のビデオチャットの通信を実行させる。例えば、ビデオチャット制御部44は、所定のルールに従って特定された1のユーザの端末装置30のマイク及びカメラを介して入力される1のユーザの動画(映像及び音声)データを受信し、この受信した動画データを特定ユーザの端末装置30に送信すると共に、特定ユーザの端末装置30のマイク及びカメラを介して入力される特定ユーザの動画データを受信し、この受信した動画データを1のユーザの端末装置30に送信する。また、一実施形態におけるビデオチャット制御部44は、所定のルールに従って特定された1のユーザの端末装置30から送信される動画データの所定の端末装置30への送信を開始し、この所定の端末装置30のユーザからの指示に応答して、特定ユーザの端末装置30から送信される動画データの1のユーザの端末装置30への送信を開始する。また、一実施形態におけるビデオチャット制御部44は、所定のルールに従って特定された1のユーザが特定ユーザとのビデオチャットを実行している経過時間が所定時間となったときに、及び/又は、現在時刻が所定時刻となったときに、このビデオチャットの通信を終了させる。
【0031】
次に、このような機能を有する一実施形態におけるサーバ10の動作について説明する。まず、ユーザがオンラインイベントを予約する際の動作について説明し、次に、オンラインイベントが実行される際の動作について説明する。
図4は、一実施形態におけるサーバ10によって実行されるイベント予約処理の一例を示すフロー図である。このイベント予約処理は、端末装置30からオンラインイベントの予約を要求するデータを受信したときに実行される。イベント予約処理では、まず、図示するように、オンラインイベント(特定ユーザとのビデオチャット)を予約するための予約用画面を端末装置30上に表示させる(ステップS100)。一実施形態における予約用画面は、オンラインイベントを選択するためのイベント選択画面50A、オンラインイベントに参加するために必要な整理券を登録するための整理券登録画面50B、及び、ビデオチャットを予約する時間帯を選択するための時間帯選択画面50Cによって構成される。
【0032】
図5は、一実施形態におけるイベント選択画面50Aの一例を示す。イベント選択画面50Aは、図示するように、予約を受け付け中のオンラインイベントに関する情報が一覧表示される。一覧表示される情報は、オンラインイベントに対応する画像、このオンラインイベントの説明文等を含み、これらの情報の右側には「予約する」と表示されたイベント選択ボタン51が配置されている。ユーザは、所望のオンラインイベントに対応するイベント選択ボタン51をタップ操作等によって選択することにより、予約するオンラインイベントを選択することができる。
【0033】
ユーザがイベント選択画面50Aにおいて何れかのイベント選択ボタン51を選択すると、
図6に例示する整理券登録画面50Bが端末装置30上に表示される。一実施形態における整理券登録画面50Bは、図示するように、画面上方に、選択されているオンラインイベントに関する情報(画像、説明文等)が表示され、画面中央に、整理券の番号(予約用情報)を入力するための整理券番号入力領域52が配置され、画面下方に、「入力フォームを追加する」と表示された入力フォーム追加ボタン53、及び、「整理券を登録する」と表示された整理券登録ボタン54が配置されている。一実施形態では、ユーザがオンラインイベントに参加するためには整理券が必要とされており、ユーザは、例えば、アイドルグループの楽曲/アルバム等を購入することによって、このアイドルグループに関するオンラインイベントに参加するための整理券を入手することができる。整理券番号入力領域52は、図示するように、初期状態では5枚の整理券の番号を入力できるように構成されており(5つの入力フォームが配置されており)、ユーザが入力フォーム追加ボタン53を選択すると、所定数(例えば、5つ)の入力フォームが新たに追加される。ユーザは、自身が保有する整理券の番号を整理券番号入力領域52内の入力フォームに入力して整理券登録ボタン54を選択する。
【0034】
ここで、整理券番号入力領域52に入力されている番号が不適切な番号である場合には、ユーザが整理券登録ボタン54を選択したとき等にエラーメッセージを表示する等のエラー処理を行うようにしても良い。例えば、オンラインイベントに対応する整理券の番号を予めストレージ15等に記憶しておき、入力されている番号が、選択されているオンラインイベントに対応する整理券の番号でないと判定される場合には、不適切な番号であると判断してエラーメッセージを表示するようにしても良い。
【0035】
ユーザが整理券登録画面50Bを介して整理券の番号を入力して整理券登録ボタン54を選択すると、
図7に例示する時間帯選択画面50Cが端末装置30上に表示される。一実施形態における時間帯選択画面50Cは、図示するように、ユーザが特定ユーザとのビデオチャットを予約する時間帯を選択するための時間帯選択領域55と、その下方に配置され「予約する」と表示された予約ボタン56とを含む。時間帯選択領域55は、行が時間帯に対応すると共に列が特定ユーザに対応する表形式の領域として構成されている。
【0036】
一実施形態において、各整理券は1の特定ユーザに関連付けられており、時間帯選択領域55に表示される特定ユーザは、整理券登録画面50Bを介して番号を入力された整理券に関連付けられている特定ユーザである。こうした整理券の番号と特定ユーザとの対応関係は、ストレージ15等に予め記憶しておくことができる。
図7は、番号を入力された複数の整理券が、アイドルグループのメンバである「メンバa」、「メンバb」及び「メンバc」のいずれかのメンバに関連付けられている場合の例であり、これらのメンバが特定ユーザとして時間帯選択領域55に表示されている。例えば、1の特定ユーザのみが参加するオンラインイベントである場合には、時間帯選択領域55には、この1の特定ユーザのみが表示される。
【0037】
図7の例では、ビデオチャットを予約する各時間帯は10分単位(例えば、「A 12:00−12:10」)で設定されており、6つの時間帯により1時間単位の「部」が構成される(例えば、「第1部 12:00−13:00」)。一実施形態において、時間帯選択領域55は、初期状態では部単位の情報を表示する部表示行55aが表示され、ユーザが何れかの部表示行55aを選択すると、対応する部を構成する6つの時間帯それぞれの時間帯単位の情報を表示する時間帯表示行55bが下方に展開されて表示される。
【0038】
時間帯表示行55bは、特定ユーザ毎に、対応する時間帯において登録可能な整理券の残数(例えば「残:10枚」)を表示する共にユーザが登録する整理券の枚数を入力可能な枚数入力領域57が配置されている。一実施形態において、ユーザは、1枚の整理券を使用して予め定めれた時間のビデオチャットを実行することができ、例えば、
図7の例では、1枚の整理券を使用して30秒のビデオチャットを実行することができる。従って、10分単位で設定されている1つの時間帯に対して最大20枚(10分/30秒=20枚)の整理券が登録され得る。時間帯表示行55bに表示される上述した登録可能な整理券の残数は、この1つの時間帯に対して登録可能な最大枚数から現在登録されている整理券の枚数を減じた値である。
図7に例示するように、登録可能な最大枚数の整理券が既に登録されている場合には、対応するセルには「Sold Out!」と表示され、枚数入力領域57は配置されない。
【0039】
部表示行55aは、特定ユーザ毎に、ユーザが整理券登録画面50Bを介して番号を入力した整理券の枚数のうち、対応する部において登録可能な枚数(例えば「3枚 登録可能」)を表示する。
図7の例では、ユーザは、特定ユーザ「メンバa」に関連付けられている3枚の整理券の番号を入力しており、部「第1部 12:00−13:00」を構成する6つの時間帯において登録可能な整理券の残数の合計は3枚以上(32枚)であるから、対応するセルには「3枚 登録可能」と表示されている。また、同じく
図7の例では、ユーザは、特定ユーザ「メンバc」に関連付けられている1枚の整理券の番号を入力しているものの、部「第1部 12:00−13:00」を構成する6つの時間帯全てにおいて登録可能な最大枚数の整理券が登録されている(全ての時間帯について「Sold Out!」と表示されている)から、対応するセルには「0枚 登録可能」と表示されている。ユーザは、特定ユーザ「メンバc」とのビデオチャットを予約するためには、「1枚 登録可能」と表示されている部「第2部 13:00−14:00」を構成する時間帯の中から最大枚数の整理券が登録されていない(登録可能な整理券の残数が1以上である)時間帯を選択する必要がある。
【0040】
一実施形態において、ユーザは、時間帯が異なることを条件に、同一のオンラインイベントであっても、複数の特定ユーザとのビデオチャットをそれぞれ予約することができる。また、ユーザは、1の特定ユーザに関連付けられている整理券を複数枚保有している場合には、一つの時間帯のみに複数枚の整理券を登録することもできるし、複数の時間帯に1又は複数の整理券を分散して登録することもできる。一実施形態において、一つの時間帯に複数枚の整理券を登録した場合には、登録した枚数に応じた時間だけ連続して特定ユーザとのビデオチャットを実行することができる。
【0041】
ユーザが時間帯選択画面50Cの時間帯選択領域55を介して整理券の枚数を入力した上で、予約ボタン56を選択すると、サーバ10は、ユーザによるビデオチャットの予約を受け付けると共に、イベント情報管理テーブル41aを更新し(ステップS110)、このイベント予約処理を終了する。具体的には、対応する「イベントID」、「特定ユーザID」、及び「時間帯」の組合せに対応付けて、ユーザの「ユーザID」及び「実行可能時間(秒)」を設定する。「実行可能時間(秒)」には、整理券1枚当たりに設定されている実行可能時間(例えば、30秒)に入力された整理券の枚数を乗じた値が設定される。
【0042】
以上、ユーザがオンラインイベントを予約する際の動作について説明した。次に、オンラインイベントが実行される際の動作について説明する。
図8は、一実施形態におけるサーバ10によって実行されるイベント実行処理の一例を示すフロー図である。このイベント実行処理は、例えば、オンラインイベントの開始時刻の所定時間前(例えば、30分前)に実行される。
【0043】
イベント実行処理では、まず、図示するように、オンラインイベントの仮想的な会場となる仮想空間を生成し(ステップS200)、この仮想空間に入場した順に従って各ユーザのビデオチャットを実行する順番を設定する(ステップS205)。ここで、オンラインイベントが複数の特定ユーザが参加するイベントである場合には、特定ユーザ毎に仮想空間が生成される。
【0044】
一実施形態において、ユーザは、サーバ10が提供するコンテンツ配信サービスにおけるオンラインイベントを一覧表示するイベント一覧画面60を介してオンラインイベントの会場となる仮想空間に入場することができる。
図9は、イベント一覧画面60の一例を示す。一実施形態におけるイベント一覧画面60は、図示するように、コンテンツ配信サービスにおけるオンラインイベントが一覧表示され、ユーザが整理券を登録して予約しており、且つ、会場となる仮想空間が生成されている(即ち、例えば、開始時刻の所定時間前を経過している)オンラインイベントについては「入場する」と表示された入場ボタン61が配置される。このように、一実施形態では、予め整理券を登録してオンラインイベントへの参加を予約しているユーザのみが、このオンラインイベントの仮想空間に入場することができる。
【0045】
ユーザが入場ボタン61を選択すると、
図10に例示する待機用画面70が端末装置30に表示されると共にこのユーザがビデオチャットを実行する順番が設定される。ビデオチャットを実行する順番は、仮想空間に入場した順序に従って設定され、イベント情報管理テーブル41aの「順番」に登録される。
【0046】
一実施形態における待機用画面70は、図示するように、画面全体に仮想空間100が表示されると共に、画面の左上隅に情報通知領域72が配置され、画面の下端中央にコメント投稿領域74が配置されている。ここで、オンラインイベントが複数の特定ユーザが参加するイベントである場合には、ユーザがビデオチャットを予約している特定ユーザに対応する仮想空間100が表示される。さらに、ユーザがビデオチャットを予約している特定ユーザが複数である場合には、最も早い時間帯でビデオチャットを予約している特定ユーザに対応する仮想空間100が表示される。ここで、オンラインイベントが複数の特定ユーザが参加するイベントである場合に、イベント一覧画面60(又はここから遷移する画面等)を介してユーザが特定ユーザを選択できるようにし、ユーザによって選択された特定ユーザに対応する仮想空間に入場させる(対応する仮想空間100を含む待機用画面70を表示させる)ようにしても良い。
【0047】
仮想空間100は、メインステージ103、サブステージ104、及び、フロアー105によって構成され、メインステージ103上には、特定ユーザの映像を表示するための表示用オブジェクト102が配置されている。また、仮想空間100には、特定ユーザとのビデオチャットを待機するユーザのアバター106が表示されている。一実施形態において、このアバター106は、設定されたビデオチャットを実行する順番に基づく位置に表示される。具体的には、一実施形態では、1番目にビデオチャットを実行するユーザのアバター106aがメインステージ103の左端(表示用オブジェクト102の左側)に配置され、2番目から7番目のユーザのアバターがその順番に従ってサブステージ104上に配置され、その他のユーザのアバターがフロアー105上に配置される。フロアー105上に配置されているユーザのアバターについても、その順番に従った位置に配置しても良い。一実施形態において、表示用オブジェクト102には、ビデオチャットが開始されるまでの期間においては、特定ユーザの映像は表示されず、例えば、特定ユーザの静止画像が表示される。
【0048】
情報通知領域72は、オンラインイベントに関する進行状況等の様々な情報が表示され、この仮想空間100に入場している複数のユーザに対して共通の情報の他、この端末装置30のユーザに特有の情報(例えば、このユーザに設定されている順番の情報、予測される待ち時間等)が表示される。
【0049】
コメント投稿領域74は、ユーザが所望の文字列等を入力できるように構成されており、入力した文字列等の送信をユーザが指示すると、入力された文字列等がサーバ10に対して送信され、仮想空間100内のユーザのアバター106から吹き出し形式で表示される(
図10の例では、「待ち遠しい! By XXX」及び「楽しみ!!By YYY」(「XXX」及び「YYY」はユーザの名称又はニックネーム等)と表示されている)。このように、一実施形態における待機用画面70は、仮想空間に入場して特定ユーザとのビデオチャットを待機するユーザ間でテキストチャットを実行できるように構成されている。
【0050】
こうして、仮想空間を生成し、この仮想空間に入場した順序に従ってユーザがビデオチャットを実行する順番を設定し、オンラインイベントの開始条件(例えば、所定時刻となること)が成立すると(ステップS210)、待機する複数のユーザの中からビデオチャットを実行する1の実行ユーザを特定する(ステップS220)。実行ユーザは、設定されているビデオチャットを実行する順番に従って特定され、具体的には、ビデオチャットを未だ実行していないユーザのうち最も早い順番が設定されているユーザを実行ユーザとして特定する。
【0051】
続いて、特定された実行ユーザのリアルタイムの動画を管理者の端末装置30に送信する(ステップS230)。具体的には、サーバ10が、実行ユーザの端末装置30のカメラ及びマイクを介して入力される動画データを受信し、この動画データを管理者の端末装置30に送信する。
図11は、実行ユーザの端末装置30に表示される特定ユーザとのビデオチャットを実行するための実行用画面80の一例である。
図11に例示するように、ステップ230の段階では、実行用画面80には特定ユーザ(アイドルZ)と接続中であることが通知されるのみであり、特定ユーザの動画は表示されていない。
【0052】
そして、管理者の端末装置30からビデオチャットの開始を指示するデータを受信すると(ステップS240)、実行ユーザと特定ユーザとの間のビデオチャットを実行させる(ステップS250)。このように、一実施形態では、まず実行ユーザの動画のみが管理者の端末装置30に表示され、管理者からの開始指示を待って、実行ユーザと特定ユーザとの間のビデオチャットが開始されるから、不適切な振る舞いを行うユーザと特定ユーザとの間でビデオチャットが開示されてしまうのを予防することがきる。
【0053】
上述した実施形態では、管理者からの開始指示を待って、実行ユーザと特定ユーザとの間のビデオチャットが開始されるようにしたが、実行ユーザの動画を特定ユーザの端末装置30に送信し、この特定ユーザからの開始指示を待って、実行ユーザと特定ユーザとの間のビデオチャットが開始されるようにしても良い。
【0054】
ビデオチャットの実行は、実行ユーザの端末装置30と特定ユーザの端末装置30との間のビデオチャットの通信を実行させることにより行なわれ、具体的には、一実施形態では、それぞれの端末装置30のカメラ及びマイクを介して入力される動画データをサーバ10が受信し、この受信した動画データをそれぞれ相手の端末装置30に送信することによって行われる。
図12は、ビデオチャットを実行している段階の実行用画面80の一例である。この段階における実行用画面80は、図示するように、特定ユーザの動画を表示する相手動画表示領域82と、自身の動画を表示する自動画表示領域84と、様々な情報を表示する情報通知領域86と、ユーザがマイク及びスピーカーの音量等を調整するための調整領域88と、を有する。情報通知領域86には、例えば、ビデオチャットの残時間等の情報が表示される。ユーザは、この実行用画面80を介して特定ユーザとのビデオチャットを楽しむことができる。
【0055】
ここで、一実施形態において、実行ユーザと特定ユーザとの間のビデオチャットが実行されている期間において、実行用画面80の相手動画表示領域82に表示される動画のうち音声を除く映像(即ち、特定ユーザの端末装置30のカメラを介して入力される映像)が、仮想空間100の表示用オブジェクト102に表示される。従って、実行ユーザ以外のユーザ(ビデオチャットを待機するユーザ、及び、ビデオチャットを既に終了しているユーザ)は、特定ユーザの音声を聴くことはできないものの映像を楽しむことはできる。
【0056】
そして、ビデオチャットの終了条件(例えば、実行ユーザに設定されている実行可能時間を経過すること、及び/又は、所定時刻となること等)が成立したときにビデオチャットを終了させ(ステップS260、S270)、オンラインイベントの終了条件(例えば、全てのユーザが特定ユーザとのビデオチャットを実行すること等)が成立するまで(ステップS270)、上述した実行ユーザの特定(ステップS220)、管理者の端末装置30に対する実行ユーザの動画の送信(ステップS230)、及び、ビデオチャットの実行、終了(ステップS240−S270)を繰り返し実行する。
図13は、1番目のユーザが特定ユーザとのビデオチャットを終了したときの待機用画面70の一例である。図示するように、ビデオチャットを終了したユーザのアバター106aは、仮想空間100において、メインステージ103の右端(表示用オブジェクト102の右側)に配置され、次にビデオチャットを実行するユーザのアバター106bが、メインステージ103の左端(表示用オブジェクト102の左側)に配置される。このように、ビデオチャットを待機する複数のユーザがビデオチャットを順に実行するに従って、仮想空間100内のユーザのアバター106の位置が変更される。
図13に例示するように、ビデオチャットを終了したユーザがビデオチャットの感想をコメント投稿領域74を介して投稿すると、メインステージ103の右端に配置されているアバター106aからコメントの内容(この例では「最高だった! By AAA」)が吹き出し形式で表示されるから、他のユーザは、ビデオチャットを終了した直後のユーザによるコメントを容易に発見して楽しむことができる。
【0057】
ここで、一実施形態における待機用画面70には、図示しない退場ボタンが配置されており、ユーザはこの退場ボタンを選択することによって仮想空間100から退場することができ、待機用画面70は閉じられる。例えば、ビデオチャットを終了したユーザは、そのまま仮想空間100に残り、他のユーザとのビデオチャットを実行している特定ユーザの映像、及び、他のユーザとのテキストチャットを楽しむことができる。また、ビデオチャットを終了したユーザは、他の特定ユーザとのビデオチャットを予約している場合には、この他の特定ユーザに対応する仮想空間に入場し(移動し)、この他の特定ユーザとのビデオチャットを待機することもできる。この場合、例えば、他の特定ユーザとのビデオチャットを予約している時間帯の所定時間前等のタイミングにおいて、自動的にユーザを他の特定ユーザに対応する仮想空間に入場させる(待機用画面70に表示する仮想空間100を切り替える)ようにしても良い。
【0058】
一実施形態では、仮想空間に入場した順序に従ってユーザがビデオチャットを実行する順番を設定するようにしたが、その他のルールを適用して順番を設定するようにしても良い。例えば、特定ユーザとのビデオチャットを予約した順序に従って順番を設定するようにしても良い。
【0059】
一実施形態では、設定されている順番に従って特定ユーザとのビデオチャットを実行する実行ユーザを特定するようにしたが、その他のルールに従って実行ユーザを特定するようにしても良い。例えば、仮想空間100内で実施されるゲームの結果(スコア等を含む)、又は、仮想空間100内でユーザが投入、消費した仮想価値(コイン、アイテム等)に基づいて、ビデオチャットを実行する実行ユーザを特定するようにしても良い。更に、仮想空間100内で実施されるゲームの結果、又は、ユーザが投入、消費した仮想価値等に基づいて、実行できるビデオチャットの品質、通話時間(例えば、実行可能時間の延長等)、レベル(例えば、音声のみのビデオチャット(ボイスチャット)、音声と映像とを用いたビデオチャット等)を決定するようにしても良い。
【0060】
一実施形態では、各整理券が1の特定ユーザに関連付けられるようにしたが、更に、複数の時間帯によって構成される「部」に関連付けられるようにし、ユーザが、関連付けられている特定ユーザとのビデオチャットを、同じく関連付けられている「部」を構成する時間帯において予約できるようにしても良い。
【0061】
一実施形態では、オンラインイベントが複数の特定ユーザが参加するイベントである場合に、特定ユーザ毎に仮想空間を生成するようにしたが、複数の特定ユーザが参加する場合であってもオンラインイベント毎に1つの仮想空間100を生成し、この仮想空間100内に、複数の特定ユーザにそれぞれ対応する複数の表示用オブジェクト102を配置するようにしても良い。この場合、ユーザは、ビデオチャットを予約していない特定ユーザの映像をも楽しむことができる。
【0062】
以上説明した本発明の実施形態は、ユーザからの要求に応答し、特定ユーザとのビデオチャットを待機する複数のユーザのアバター106(ユーザ情報)を含む待機用画面70をユーザの端末装置30に表示させ、この待機する複数のユーザの中から1のユーザを設定されている順番(所定のルール)に従って特定し、この特定された1のユーザの端末装置30と、特定ユーザの端末装置30との間のビデオチャットの通信を実行させる。従って、ユーザは、待機用画面70を閲覧しながら特定ユーザとのビデオチャットを待機し、設定されている順番に従って特定ユーザとのビデオチャットを楽しむことができる。即ち、本発明の実施形態は、特定のユーザとの特別なコミュニケーションをユーザが体験できる仕組みを提供することができる。
【0063】
本明細書で説明された処理及び手順は、実施形態中で明示的に説明されたもの以外にも、ソフトウェア、ハードウェアまたはこれらの任意の組み合わせによって実現される。より具体的には、本明細書で説明される処理及び手順は、集積回路、揮発性メモリ、不揮発性メモリ、磁気ディスク、光ストレージ等の媒体に、当該処理に相当するロジックを実装することによって実現される。また、本明細書で説明される処理及び手順は、それらの処理・手順をコンピュータプログラムとして実装し、各種のコンピュータに実行させることが可能である。
【0064】
本明細書中で説明される処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理または手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び/又は複数のモジュールによって実行され得る。また、本明細書中で説明されるデータ、テーブル、又はデータベースが単一のメモリに格納される旨説明されたとしても、そのようなデータ、テーブル、又はデータベースは、単一の装置に備えられた複数のメモリまたは複数の装置に分散して配置された複数のメモリに分散して格納され得る。さらに、本明細書において説明されるソフトウェアおよびハードウェアの要素は、それらをより少ない構成要素に統合して、またはより多い構成要素に分解することによって実現することも可能である。
【0065】
本明細書において、発明の構成要素が単数もしくは複数のいずれか一方として説明された場合、又は、単数もしくは複数のいずれとも限定せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数のいずれであってもよい。
【解決手段】 一実施形態に係るサーバは、情報を記憶する情報記憶部と、ユーザによるオンラインイベントの予約を管理するイベント予約管理部と、オンラインイベントの仮想的な会場となる仮想空間を管理する仮想空間管理部と、オンラインイベントに参加するユーザと特定ユーザとの間で実行されるビデオチャットを制御するビデオチャット制御部と、を備える。仮想空間管理部は、特定ユーザとのビデオチャットを待機するための画面であって、ビデオチャットを待機する複数のユーザのユーザ情報を含む待機用画面を表示させる。ビデオチャット制御部は、ビデオチャットを待機する複数のユーザの中から1のユーザを所定のルールに従って特定し、この1のユーザの端末装置と、特定ユーザの端末装置との間のビデオチャットの通信を実行させる。