【文献】
Paula Neal Mooney,ProfileLinker Launches and Lets Users Sync Profiles Across Social Networking Sites,インターネット,2007年 1月 4日,URL,http://voices.yahoo.com/profilelinker-launches-lets-users-sync-profiles-160288.html?cat=15
(58)【調査した分野】(Int.Cl.,DB名)
ユーザを識別するユーザ識別情報と、当該ユーザを示すための画像を表すユーザ画像データとを対応付けて記憶するとともに、前記ユーザから受信したメッセージを当該ユーザのユーザ識別情報に対応付けて記憶し、要求に応じて当該メッセージを提供する外部サーバ装置と通信するサーバ装置であって、
端末から、前記外部サーバ装置におけるユーザのユーザ識別情報を取得し、取得した順に登録する登録部と、
前記外部サーバ装置から、前記登録部により登録されたユーザ識別情報に対応するユーザ画像データを取得する取得部と、
前記取得部が取得したユーザ画像データを、前記端末へ供給する供給部と、
前記端末に備えられ、予め定められた対をなす複数個の第1位置および第2位置を有する表示手段に対し、前記ユーザ画像データに対応するユーザ識別情報の前記登録部に登録された順に、当該ユーザ画像データにより示される画像を、当該第1位置に表示させるとともに、前記端末が前記外部サーバ装置に要求して提供された前記ユーザ識別情報に対応するメッセージを、当該第2位置に表示させるように、前記端末に指示を送る指示部と
を具備することを特徴とするサーバ装置。
前記指示部は、前記端末が、前記外部サーバ装置に対して、当該外部サーバ装置が記憶したメッセージの中から予め定められた文字列を含むメッセージを抽出して提供することを要求するとともに、当該外部サーバ装置から提供されたメッセージを、当該メッセージに対応付けられたユーザ識別情報に基づいて、前記第2位置に表示させるように、前記端末に指示を送る
ことを特徴とする請求項1または2に記載のサーバ装置。
ユーザを識別するユーザ識別情報と、当該ユーザを示すための画像を表すユーザ画像データとを対応付けて記憶するとともに、前記ユーザから受信したメッセージを当該ユーザのユーザ識別情報に対応付けて記憶し、要求に応じて当該メッセージを提供する外部サーバ装置と通信するコンピュータを、
端末から、前記外部サーバ装置におけるユーザのユーザ識別情報を取得し、取得した順に登録する登録部と、
前記外部サーバ装置から、前記登録部により登録されたユーザ識別情報に対応するユーザ画像データを取得する取得部と、
前記取得部が取得したユーザ画像データを、前記端末へ供給する供給部と、
前記端末に備えられ、予め定められた対をなす複数個の第1位置および第2位置を有する表示手段に対し、前記ユーザ画像データに対応するユーザ識別情報の前記登録部に登録された順に、当該ユーザ画像データにより示される画像を、当該第1位置に表示させるとともに、前記端末が前記外部サーバ装置に要求して提供された前記ユーザ識別情報に対応するメッセージを、当該第2位置に表示させるように、前記端末に指示を送る指示部
として機能させるためのプログラム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1や特許文献2において、ユーザによるメッセージ(発言)を吹き出し状に表示するためには、ユーザからのメッセージを逐次、受け付けて、ユーザのアバターの位置に対応する位置に表示させなければならない。
【0005】
一方、近年、電気通信を利用して、ユーザ同士の社会的なネットワークの構築を支援するサービスが急速に発達している。このようなサービスは、ソーシャルネットワーキングサービス(social networking service:以下、SNSという)などと呼ばれ、そのユーザは増加の一途をたどっている。例えば、このようなサービスには、コンピュータを用いて、ユーザから投稿されたメッセージを順次記憶し、そのメッセージを要求する外部機器に対して提供するといったものがある。そこで、特許文献1や特許文献2に開示された仮想空間を提供するサーバ装置が、外部のSNSを利用することが考えられる。
【0006】
しかし、これら外部のSNSにおいて、メッセージを提供する態様は、例えばメッセージが新しいほど上方向に挿入され、メッセージが古いほど下方向に流れていくといった表示態様である。そして、仮想空間においては、位置がユーザを表すアバターに割り当てられるから、この表示態様は、仮想空間に馴染まない傾向があった。
【0007】
本発明の目的は、ユーザを示すための画像を表すユーザ画像データを記憶するとともに、そのユーザから受信したメッセージを要求に応じて提供する外部サーバ装置を利用して、複数の端末から受け付けたユーザの登録の順に、各ユーザのメッセージと画像とが表示された仮想空間を各端末に提供することである。
【課題を解決するための手段】
【0008】
上述した課題を解決するため、本発明に係るサーバ装置は、ユーザを識別するユーザ識別情報と、当該ユーザを示すための画像を表すユーザ画像データとを対応付けて記憶するとともに、前記ユーザから受信したメッセージを当該ユーザのユーザ識別情報に対応付けて記憶し、要求に応じて当該メッセージを提供する外部サーバ装置と通信するサーバ装置であって、端末から、前記外部サーバ装置におけるユーザのユーザ識別情報を取得し、取得した順に登録する登録部と、前記外部サーバ装置から、前記登録部により登録されたユーザ識別情報に対応するユーザ画像データを取得する取得部と、前記取得部が取得したユーザ画像データを、前記端末へ供給する供給部と、前記端末に備えられ、予め定められた対をなす複数個の第1位置および第2位置を有する表示手段に対し、前記ユーザ画像データに対応するユーザ識別情報の前記登録部に登録された順に、当該ユーザ画像データにより示される画像を、当該第1位置に表示させるとともに、前記端末が前記外部サーバ装置に要求して提供された前記ユーザ識別情報に対応するメッセージを、当該第2位置に表示させるように、前記端末に指示を送る指示部とを具備することを特徴とする。
【0009】
好ましくは、前記取得部が取得した複数のユーザ画像データから、当該各ユーザ画像データを組み合わせた合成画像データを合成する合成部を具備し、前記供給部は、前記合成部により合成された合成画像データを前記端末へ供給し、前記指示部は、前記表示手段に対し、前記供給部が供給した合成画像データから前記ユーザ識別情報ごとに分離されたユーザ画像データにより示される画像を、当該ユーザ画像データに対応するユーザ識別情報が前記登録部に登録された順に前記第1位置に表示させるように、前記端末に指示を送るとよい。
【0010】
また、好ましくは、前記指示部は、前記端末が、前記外部サーバ装置に対して、当該外部サーバ装置が記憶したメッセージの中から予め定められた文字列を含むメッセージを抽出して提供することを要求するとともに、当該外部サーバ装置から提供されたメッセージを、当該メッセージに対応付けられたユーザ識別情報に基づいて、前記第2位置に表示させるように、前記端末に指示を送るとよい。
【0011】
また、好ましくは、前記端末と異なる予め決められた専用端末と通信する通信部を具備し、前記指示部は、前記専用端末が前記外部サーバ装置にメッセージを送信するときに、当該専用端末から前記通信部を介して直接、前記メッセージを取得して、取得した当該メッセージを予め決められた位置に表示させるように、前記端末に指示を送るとよい。
【0012】
また、本発明に係る端末は、上述のサーバ装置によって登録される前記ユーザ識別情報を、当該サーバ装置に送信する送信部と、前記ユーザ識別情報に対応するメッセージを前記外部サーバ装置に要求する要求部と、前記サーバ装置から前記ユーザ画像データを受信する受信部と、予め定められた対をなす複数個の第1位置および第2位置を有する表示手段に、前記受信部が受信したユーザ画像データにより示される画像を、当該ユーザ画像データに対応するユーザ識別情報が前記サーバ装置によって登録された順に、前記第1位置に表示させるとともに、前記要求部が前記外部サーバ装置に要求して提供された前記メッセージを、前記第2位置に表示させるための画像を生成する生成部とを具備することを特徴とする。
【0013】
また、本発明に係るプログラムは、ユーザを識別するユーザ識別情報と、当該ユーザを示すための画像を表すユーザ画像データとを対応付けて記憶するとともに、前記ユーザから受信したメッセージを当該ユーザのユーザ識別情報に対応付けて記憶し、要求に応じて当該メッセージを提供する外部サーバ装置と通信するコンピュータを、端末から、前記外部サーバ装置におけるユーザのユーザ識別情報を取得し、取得した順に登録する登録部と、前記外部サーバ装置から、前記登録部により登録されたユーザ識別情報に対応するユーザ画像データを取得する取得部と、前記取得部が取得したユーザ画像データを、前記端末へ供給する供給部と、前記端末に備えられ、予め定められた対をなす複数個の第1位置および第2位置を有する表示手段に対し、前記ユーザ画像データに対応するユーザ識別情報の前記登録部に登録された順に、当該ユーザ画像データにより示される画像を、当該第1位置に表示させるとともに、前記端末が前記外部サーバ装置に要求して提供された前記ユーザ識別情報に対応するメッセージを、当該第2位置に表示させるように、前記端末に指示を送る指示部として機能させるためのプログラムである。
【0014】
また、本発明に係るプログラムは、コンピュータを、上述のサーバ装置によって登録される前記ユーザ識別情報を、当該サーバ装置に送信する送信部と、前記ユーザ識別情報に対応するメッセージを前記外部サーバ装置に要求する要求部と、前記サーバ装置から前記ユーザ画像データを受信する受信部と、予め定められた対をなす複数個の第1位置および第2位置を有する表示手段に、前記受信部が受信したユーザ画像データにより示される画像を、当該ユーザ画像データに対応するユーザ識別情報が前記サーバ装置によって登録された順に、前記第1位置に表示させるとともに、前記要求部が前記外部サーバ装置に要求して提供された前記メッセージを、前記第2位置に表示させるための画像を生成する生成部として機能させるためのプログラムである。
【発明の効果】
【0015】
本発明に係るサーバ装置によれば、ユーザを示すための画像を表すユーザ画像データを記憶するとともに、そのユーザから受信したメッセージを要求に応じて提供する外部サーバ装置を利用して、複数の端末から取得したユーザの識別情報を登録した順に、各ユーザのメッセージと画像とが表示された仮想空間を各端末に提供することができる。
本発明に係る端末によれば、上述したサーバ装置が提供する仮想空間を享受することができる。
本発明に係るプログラムによれば、上述したサーバ装置から上述した端末へ、仮想空間を提供させることができる。
【発明を実施するための形態】
【0017】
[実施形態]
図1は、本発明の実施形態に係るサーバシステム9の全体構成を示す図である。通信回線4は、これに接続した機器間の電気通信を仲介する回線であり、例えば、インターネットである。シアターサーバ1は、通信回線4を介して端末2に、仮想空間で構築された「劇場」を提供するサーバ装置である。SNSサーバ3は、アカウントを取得しているユーザ同士の社会的なネットワークの構築を支援するサーバ装置である。具体的に、SNSサーバ3は、ユーザから送られたメッセージを順次記憶し、そのメッセージを要求する外部機器に対して提供するサーバ装置である。配信サーバ5は、通信回線4を介して音声や映像を外部機器に配信するサーバ装置である。
【0018】
(SNSサーバの構成)
図2は、SNSサーバ3の構成を示す図である。制御部31は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)を備える。制御部31において、CPUは、ROMに記憶されているブートローダに従って記憶部32に記憶されているプログラムをRAMに読み出して実行することにより、SNSサーバ3の各部を制御する。通信部33は、通信回線4を介して外部機器と電気通信を行う回路である。通信部33によって外部機器との間に通信が確立すると、制御部31は、未だ使用されていないセッションIDを生成して、その通信に割り当てる。
【0019】
記憶部32はハードディスクドライブなどの大容量の記憶手段であり、CPUに読み込まれるプログラムを記憶する。また、記憶部32は、アカウントデータベース(data base、以下、DBと表記する)321、プロフィールDB322、およびメッセージDB323を記憶する。
【0020】
(アカウントDBの構成)
図3は、アカウントDB321の一例を示す図である。アカウントDB321には、SNSサーバ3がサービスを提供するユーザを認証するための情報が書き込まれる。具体的に、アカウントDB321には、ユーザを識別する識別情報であるユーザIDと、そのユーザIDで識別されるユーザであることを証明するためのパスワードとが対応付けられて記述される。以下、ユーザIDとパスワードとの組を「アカウント」という。
【0021】
外部機器から受け取ったアカウントが、アカウントDB321に記述されているアカウントと合致している場合に、アカウントDB321には、そのアカウントに、その外部機器との通信に割り当てられているセッションIDが対応付けられて記述される。アカウントとセッションIDとの対応付けは、その通信が有効な期間にわたって維持される。したがって、アカウントDB321にセッションIDが記述されている場合に、制御部31は、そのセッションIDで識別される通信によるアクセスを、そのセッションIDに対応するアカウントのユーザIDで識別されるユーザによるものとして扱う。
【0022】
(プロフィールDBの構成)
図4は、プロフィールDB322の一例を示す図である。プロフィールDB322には、ユーザIDごとにユーザのプロフィールが記述される。ユーザのプロフィールには、ユーザ自身を示すための画像(以下、自画像という)を表す画像データ(以下、自画像データという)や、ユーザの名前、住所、性別、生年月日、ユーザが自分自身を他者に紹介する際の文章である自己紹介、ユーザと繋がりがある他のユーザのユーザIDをリスト化した友だちリストなど、各種の情報が含まれる。
【0023】
(メッセージDB323の構成)
図5は、メッセージDB323の一例を示す図である。メッセージDB323には、ユーザから送信されるメッセージが、そのユーザのユーザIDと、そのメッセージの送信された時刻を表す時刻情報とに対応付けられて順次、書き込まれる。
【0024】
(SNSサーバの機能的構成)
図6は、SNSサーバ3の機能的構成を示す図である。SNSサーバ3の制御部31は、認証部311、書込部312、提供部313、および抽出部314としてそれぞれ機能する。
図6において、SNSサーバ3の通信部33および通信回線4を省略し、SNSサーバ3と通信する外部機器として端末2を記載する。
【0025】
認証部311は、アカウントDB321の記憶内容に基づいて、外部機器のユーザを認証する。具体的に、認証部311は、外部機器である端末2からアカウントを取得し、この端末2との間に確立している通信に割り当てられたセッションIDを取得する。そして、認証部311は、記憶部32に記憶されたアカウントDB321を参照し、取得したアカウントに合致するアカウントがアカウントDB321内に記憶されているか否かを判断する。このアカウントがアカウントDB321内に記憶されている場合には、認証は成功であり、記憶されていない場合には認証は失敗である。認証部311は、この認証の成功/失敗(可否)を示す情報を端末2に返信する。また、認証が成功した場合、認証部311は、アカウントDB321において、上記のセッションIDを上記のアカウントに対応付けて記述する。
【0026】
書込部312は、端末2からメッセージを取得すると、その端末2との通信に割り当てられたセッションIDがアカウントDB321に記述されているか否かを判断する。そして、これが記述されている場合に、書込部312は、取得したメッセージと、このメッセージを取得した時刻を示す時刻情報と、アカウントDB321において上記セッションIDと対応付けられているアカウントのユーザIDとを、メッセージDB323に対応付けて記述する。なお、書込部312は、上記の時刻情報を、例えば、メッセージを取得したときに制御部31に内蔵されたタイマを参照して取得する。
【0027】
また、
図6に破線で示すように、書込部312は、プロフィールDB322に記述されている内容(例えば友達リストなど)を変更する指示を端末2から取得すると、その端末2との通信に割り当てられたセッションIDがアカウントDB321に記述されているか否かを判断する。そして、これが記述されている場合に、書込部312は、この指示に従ってプロフィールDB322の内容を変更する。
【0028】
提供部313は、外部機器からの要求に応じてプロフィールDB322に記述された情報を提供する。提供部313は、端末2などの外部機器からアカウントとともにプロフィールの提供の要求を取得すると、プロフィールDB322を参照して、取得したアカウントのユーザIDと提供の要求とに応じて、例えば、そのユーザの自画像データや友達リストなどのプロフィールを提供する。
【0029】
抽出部314は、外部機器から取得したタグを用いて、メッセージDB323に記述されたメッセージのうち、このタグを含むものを抽出し、時系列順に並べたリスト(以下、メッセージリストMLという)を端末2に提供する。ここで「タグ」とは、メッセージと同様の文字列である。タグは、例えば「#」など、特定の文字から始まる文字列であってもよい。
【0030】
図7は、メッセージリストMLの一例を示す図である。この場合、抽出部314は、外部機器から「#live819」という文字列をタグとして取得し、このタグを含むメッセージを、
図5に示したメッセージDB323から抽出して、
図7に示すメッセージリストMLを生成する。
【0031】
(シアターサーバの構成)
次に、シアターサーバ1の構成を説明する。シアターサーバ1は、上述したSNSサーバ3を外部サーバ装置として利用して、端末2に仮想空間で構築された劇場を提供する。
図8は、シアターサーバ1の構成を示す図である。制御部11は、CPU、ROM、RAMを備える。制御部11においてCPUは、ROMに記憶されているブートローダに従って記憶部12に記憶されているプログラムをRAMに読み出して実行することにより、シアターサーバ1の各部を制御する。通信部13は、通信回線4を介して外部機器と電気通信を行う回路である。通信部13によって外部機器との間に通信が確立すると、制御部11は、未だ使用されていないセッションIDを生成して、その通信に割り当てる。記憶部12はハードディスクドライブなどの大容量の記憶手段であり、CPUに読み込まれるプログラムを記憶する。また、記憶部12は、参加者DB121、および合成画像データ122を記憶する。
【0032】
(参加者DBの構成)
図9は、参加者DB121の一例を示す図である。参加者DB121には、SNSサーバ3による認証が成功したアカウントのユーザIDが、シアターサーバ1に受け付けられた順に、このユーザIDを送信した端末2との通信に割り当てられたセッションIDとともに記述される。参加者DB121は、順序、ユーザID、セッションID、および友達リストの各列を有する。順序の欄には、端末2からユーザIDを受け付けた順序を示す整数が記述される。ユーザIDの欄には、端末2から受け付けたアカウントであってSNSサーバ3による認証が成功したアカウントのユーザIDが記述される。セッションIDの欄には、端末2との通信に割り当てられたセッションIDが記述される。友だちリストの欄には、上述のユーザIDに基づいて、シアターサーバ1の制御部11が、SNSサーバ3に要求して提供された友だちリストが記述される。
【0033】
(合成画像データの構成)
図10は、合成画像データ122を説明するための図である。
図10(a)には、合成画像データ122の全体が示されている。また、
図10(b)には、
図10(a)において破線で示した部分が表されている。
図10(b)が示すように、合成画像データ122は、複数のユーザの自画像データが並べられている。つまり、合成画像データ122は、複数のユーザの自画像データを、格子状に並べて合成した画像データである。なお、合成画像データ122は、自画像データを縦横にそれぞれ並べて合成されたものに限られず、自画像データを縦方向のみや横方向のみに並べて合成されたものであってもよい。
【0034】
(シアターサーバの機能的構成)
図11は、シアターサーバ1の機能的構成を示す図である。シアターサーバ1の制御部11は、登録部111、取得部112、合成部113、供給部114、および指示部115としてそれぞれ機能する。
図11において、シアターサーバ1の通信部13および通信回線4を省略する。
【0035】
登録部111は、端末2から、SNSサーバ3におけるユーザのアカウントを取得して、このアカウントのユーザIDに、このアカウントを取得した順序を割り当てて記憶部12の参加者DB121に書きこむことで、このアカウントのユーザIDを登録する。また、登録部111は、端末2から取得したアカウントを取得部112に引き渡して、このアカウントのユーザIDに対応する自画像データと友だちリストを取得させる。
【0036】
取得部112は、登録部111から引き渡されたアカウントをSNSサーバ3に送信して、このアカウントの認証を要求し、SNSサーバ3から認証の成否の通知を取得する。また、取得部112は、上記のアカウントをSNSサーバ3に送り、このアカウントのユーザIDに対応する自画像データおよび友だちリストを要求する。そして取得部112は、SNSサーバ3から、登録部111により登録された上記のユーザIDに対応する自画像データと友だちリストを取得する。なお、ユーザの認証がされていなくても、ユーザIDのみの提示に対してSNSサーバ3が自画像データまたは友だちリストを提供する場合には、取得部112はアカウントをSNSサーバ3に送らなくてもよい。この場合、取得部112は、ユーザIDのみをSNSサーバ3に送ればよい。
【0037】
合成部113は、取得部112が取得した複数の自画像データを格子状に並べて合成画像データ122を合成する。合成部113が、複数の自画像データを並べる順序は決められている。例えば、合成部113は、複数の自画像データを、それぞれに対応するユーザIDに対して登録部111が割り当てた順序に沿って並べる。
【0038】
具体的に、合成画像データ122が、m行n列(mは1≦mの整数、nは1≦nの整数)の自画像データが格子状に並べられた画像データであり、且つ、行方向を主走査方向、列方向を副走査方向とする走査順に沿って各自画像データを並べて合成されるものとする。この場合、i行j列(iは1≦i≦mの整数、jは1≦j≦nの整数)に並べられた自画像データは、参加者DB121において(j+(i−1)×n)番目に登録されたユーザIDに対応する自画像データである。
【0039】
供給部114は、合成部113によって合成された合成画像データ122を端末2へ供給する。この合成画像データ122は、取得部112が取得した複数の自画像データを格子状に並べて合成したものであり、端末2において各自画像データにそれぞれ分離される。つまり、供給部114は、合成画像データ122に含まれた状態で各自画像データを端末2へ供給する。
【0040】
指示部115は、端末2に備えられた表示部25が、分離された自画像データにより示される自画像を、この自画像データに対応するユーザIDが登録部111に登録された順序に応じた位置に表示するように、端末2に指示を送る。また、指示部115は、予め定められたタグを端末2に送り、SNSサーバ3からこのタグを含んだ上述のメッセージリストMLを端末2に取得させる。そして、指示部115は、上述の表示部25に、端末2がSNSサーバ3から提供されたメッセージリストに含まれる各メッセージを、それぞれに対応付けられたユーザIDに基づいて上述の自画像に応じた位置に表示するように、端末2に指示を送る。
【0041】
これにより、端末2は、シアターサーバ1から供給された合成画像データ122から、ユーザIDごとに各自画像データを分離する。そして、端末2の表示部25は、分離された自画像データにより示される自画像を、この自画像データに対応するユーザIDがシアターサーバ1において登録された順序に応じた位置に表示する。また、端末2は、SNSサーバ3に上記のタグを含むメッセージリストMLを要求して、これを取得する。そして、端末2の表示部25は、取得したこのメッセージリストMLに含まれる各メッセージを、上記のユーザIDに対応する自画像に応じた位置に表示する。この自画像に応じた位置とは、例えば、自画像の近隣に表示された吹き出し内の位置などである。
【0042】
(配信サーバの構成)
図12は、配信サーバ5の構成を示す図である。配信サーバ5は、通信回線4を介して音声や映像を端末2などの外部機器に配信する。制御部51は、CPU、ROM、RAMを備える。制御部51においてCPUは、ROMに記憶されているブートローダに従って記憶部52に記憶されているプログラムをRAMに読み出して実行することにより、配信サーバ5の各部を制御する。通信部53は、通信回線4を介して外部機器と電気通信を行う回路である。記憶部52はハードディスクドライブなどの大容量の記憶手段であり、CPUに読み込まれるプログラムを記憶する。撮影部54は、例えば、コンサートの演奏者や舞台の役者などの被写体を撮影して、その映像を示す映像データを生成する。収音部55は、例えば、上記のコンサート会場や舞台などで収音し、周囲の音を示す音響データを生成する。制御部51は、撮影部54が生成した映像データと、収音部55が生成した音響データとを、通信部53を介して端末2などの外部機器へ配信する。
【0043】
(端末の構成)
図13は、端末2の構成を示す図である。制御部21は、CPU、ROM、RAMを備える。制御部21においてCPUは、ROMに記憶されているブートローダに従って記憶部22に記憶されているプログラムをRAMに読み出して実行することにより、端末2の各部を制御する。通信部23は、通信回線4を介して外部機器と電気通信を行う回路である。記憶部22はソリッドステートドライブやハードディスクドライブ、EEPROM(Electrically Erasable and Programmable Read Only Memory)などの記憶手段であり、CPUに読み込まれるプログラムを記憶する。操作部24は各種の指示を入力するための座標取得部や操作ボタンなどを備えており、ユーザによる操作を受け付けてその操作内容に応じた信号を制御部21に供給する。表示部25は、液晶などを使用したディスプレイ装置であり、制御部21からの指示に応じて画像を表示する。放音部26は、例えばスピーカであり、供給された音響データに応じて放音する。
【0044】
(端末の機能的構成)
図14は、端末2の機能的構成を示す図である。端末2の制御部21は、受信部211、分離部212、要求部213、送信部214、再生部215、生成部216、および委託部217としてそれぞれ機能する。
図14において、端末2の通信部23および通信回線4を省略する。
【0045】
操作部24がユーザによって操作されてそのユーザに割り当てられているアカウントが入力されると、委託部217は、入力されたアカウントをシアターサーバ1に送り、SNSサーバ3による認証の要求をシアターサーバ1に委託する。
【0046】
受信部211は、シアターサーバ1から合成画像データ122を受信する。分離部212は、受信部211が受信した合成画像データ122から、ユーザIDごとに各自画像データを分離する。
【0047】
生成部216は、シアターサーバ1から、登録したユーザIDのそれぞれの順序を示した情報を含む指示を受け取る。そして、生成部216は、表示部25に、各自画像データにより示される自画像を、その自画像データに対応するユーザIDの登録の順序に応じた位置(第1位置)に表示させる。
【0048】
また、生成部216は、シアターサーバ1からタグを受け取る。そして、生成部216は、要求部213に、受け取ったタグを引き渡す。要求部213は、SNSサーバ3にタグを送信し、SNSサーバ3からこのタグを含むメッセージからなるメッセージリストMLを受信する。要求部213はSNSサーバ3から受信したメッセージリストMLを、生成部216に引き渡す。生成部216は、メッセージリストMLに含まれる各メッセージを、それぞれ対応するユーザIDの登録の順序に応じた位置(第2位置)に表示させる。
【0049】
さらに、生成部216は、操作部24を介してユーザの操作に応じたメッセージを受け取ると、このメッセージに上記のタグを組み込んで送信部214に引き渡す。送信部214は、タグが組み込まれたこのメッセージをSNSサーバ3に送信する。これにより、送信部214によってSNSサーバ3に送信されたメッセージは、上記のタグが含まれるので、SNSサーバ3によって抽出され、要求部213が受信するメッセージリストMLに含まれることとなる。
【0050】
なお、端末2で使用するアカウントがSNSサーバ3によって認証されていない場合には、送信部214は、SNSサーバ3に向けてアカウントを送信し、SNSサーバ3による認証を受けた後に、上記のタグが組み込まれたメッセージをSNSサーバ3に送信してもよい。
【0051】
再生部215は、生成部216を介してシアターサーバ1からの指示を受け取り、配信サーバ5に対して映像データと音響データの配信を要求してこれらの配信を受ける。再生部215は、映像データを再生して得られた映像を生成部216に引き渡す。生成部216は、この映像を表示画面に組み込んで表示部25に表示させる。また、再生部215は、音響データを再生して得られた音を放音部26に出力させる。
【0052】
(サーバシステムの動作)
次に、サーバシステム9の動作を説明する。
図15は、端末2の表示部25によって表示される表示画面の一例を示す図である。また、
図16は、サーバシステム9の動作の一例を表すシーケンス図である。
図16に示すように、端末2がシアターサーバ1にアクセスすると(ステップS1)、シアターサーバ1は、端末2に対してSNSサーバ3におけるアカウントを要求する(ステップS2)。この要求は具体的には以下のように行われる。例えば、シアターサーバ1は、端末2に対してHTML(Hypertext Markup Language)で記述されたデータを送る。端末2は、実行しているWEBブラウザなどによってこのデータを解析して、このデータに記述されているSNSサーバ3への認証要求フォームを表示部25に表示させる、といった具合である。
【0053】
認証要求フォームには、ユーザIDを記入するテキストボックスと、このユーザIDと対をなしてアカウントを構成するパスワードを記入するテキストボックスとが備えられている。ユーザにより、各テキストボックスへの記入がなされると端末2は、記入されたアカウントをシアターサーバ1に送り、SNSサーバ3に対する認証の要求を委託する(ステップS3)。この認証要求フォームによって入力されたアカウントは、例えばSSL(Secure Socket Layer)などによって暗号化されて端末2からシアターサーバ1へ送られる。
【0054】
シアターサーバ1は、SNSサーバ3との通信内容を暗号化する通信路を確立する。そして、端末2から送られたアカウントをこの通信路を介してSNSサーバ3に送り、端末2から委託されたこのアカウントの認証をSNSサーバ3に対して要求する(ステップS4)。
【0055】
SNSサーバ3は、シアターサーバ1からアカウントを受け取り、アカウントDB321を参照してこのアカウントの認証を行い(ステップS5)、これに成功すると、認証が成功した旨の通知をシアターサーバ1に送る(ステップS6)。SNSサーバ3から認証が成功した旨の通知を受け取ると、シアターサーバ1は、認証が成功したこのアカウントのユーザIDを参加者DB121に登録するとともに(ステップS7)、このユーザIDに対応する自画像データをSNSサーバ3に要求する(ステップS8)。
【0056】
SNSサーバ3は、要求された自画像データをシアターサーバ1に送る(ステップS9)。シアターサーバ1は、送られた自画像データを記憶部12に蓄積し、蓄積された複数の自画像データを格子状に組み合わせて合成画像データ122を合成する(ステップS10)。そして、シアターサーバ1は、合成した合成画像データ122を端末2へ送る(ステップS11)。端末2は、シアターサーバ1から送られた合成画像データ122を分離する(ステップS12)。
【0057】
シアターサーバ1は、端末2の制御部21が表示部25に仮想的な劇場を表示させるための指示を送る(ステップS13)。具体的には、シアターサーバ1は、端末2に、上述した合成画像データ122を分離して得られた自画像データを、これに対応するユーザIDがシアターサーバ1に登録された順に応じた位置に表示させるための指示を送る。また、シアターサーバ1は、端末2がSNSサーバ3にメッセージリストを抽出させるために要求に含めるタグを送る。また、シアターサーバ1は、仮想的な劇場を構成する要素として、映像や音声などの配信を配信サーバ5に要求するように、端末2に指示を送る。
【0058】
端末2は、シアターサーバ1から受け取ったタグをSNSサーバ3に送ってこのタグを含むメッセージリストMLを要求する(ステップS14)。SNSサーバ3は、端末2の要求に応答して送られたタグを含むメッセージリストMLをメッセージDB323から抽出し(ステップS15)、抽出されたこのメッセージリストMLを端末2に提供する(ステップS16)。また、端末2は、映像や音声の配信を配信サーバ5に要求する(ステップS17)。配信サーバ5は、端末2の要求に応答して映像や音声を配信する(ステップS18)。そして、端末2は、SNSサーバ3から受け取ったメッセージリストML、配信サーバ5から受け取った映像、およびシアターサーバ1から受け取った合成画像データを分離して得た各自画像データを用いて、仮想的な劇場を示す画像を生成する(ステップS19)。この生成された画像は表示部25により表示される。なお、配信サーバ5から受け取った音声は放音部26により放音される。
【0059】
また、操作部24が操作されてSNSサーバ3に送信するメッセージが入力されると、端末2はこのメッセージの入力を受け付けて(ステップS20)、このメッセージに上記のタグを追加してSNSサーバ3へ送る(ステップS21)。タグが追加されたメッセージは、上述したステップS16において、SNSサーバ3によりメッセージリストMLに含められて端末2に送られる。
【0060】
上述した動作によって、端末2の表示部25は、
図15に示したような画像が表示される。つまり、表示部25の表示画面の上方中央部には映像領域Rvが配置される。映像領域Rvは、ステップS18において配信サーバ5から配信された映像データを再生部215が再生して得られた映像が生成部216により組み込まれて表示される。
【0061】
映像領域Rvの近傍(
図15において映像領域Rvのすぐ下)には、吹き出しによって囲まれた演者メッセージ領域Rpが配置される。演者メッセージ領域Rpは、映像領域Rvと対をなす領域である。演者メッセージ領域Rpには、シアターサーバ1において登録されたユーザIDのうち、特別なユーザIDのユーザから発信されたメッセージが表示される。例えば、シアターサーバ1は、
図9に示した参加者DB121のうち、順序が「1」のユーザIDを特別なユーザIDとして取り扱い、各端末2において、ステップS16でSNSサーバ3から受信するメッセージリストMLのうち、この特別なユーザIDに対応付けられたメッセージを、この演者メッセージ領域Rpに表示する。
【0062】
図15において、破線で示した矩形内は、会場領域Rhである。会場領域Rhは、表示画面の上方において描画されたステージに面した領域であり、ステージを観る観客席を表している。会場領域Rhには、予め順位が割り当てられている自画像領域R1,R2,…,R7が配置される。この自画像領域R1〜R7は、R1→R2→R3→R4→R5→R6→R7の順に順位が割り当てられている。そして、上述した、各自画像データに対応するユーザIDの登録の順序に応じた位置とは、この順位が割り当てられたそれぞれの自画像領域R1〜R7である。以下、特に区別の必要がない場合は、これらを総称して「自画像領域R」と記す)。自画像領域Rには、上述した特別なユーザIDを除くユーザIDが、シアターサーバ1において参加者DB121に登録された順に対応付けられる。したがって、例えば、1番目の自画像領域Rである自画像領域R1には、
図9に示した参加者DB121において順序が「2」であるユーザID「U3」が対応付けられ、その自画像が表示される。同様に、自画像領域R2,R3,R4には、ユーザID「U4」,「U6」,「U8」の自画像が表示される。
【0063】
自画像領域R1〜R7のそれぞれの近傍には、吹き出しによって囲まれた観客メッセージ領域Rc1〜Rc7(以下、特に区別の必要がない場合は、これらを総称して「観客メッセージ領域Rc」と記す)が配置される。観客メッセージ領域Rc1〜Rc7は、自画像領域R1〜R7とそれぞれ対をなす領域である。観客メッセージ領域Rcには、ステップS16でSNSサーバ3から受信するメッセージリストMLのうち、近傍の自画像領域Rに表示される自画像に対応するユーザのメッセージが表示される。観客メッセージ領域Rcは、メッセージリストMLに上述したメッセージが含まれていない場合には、表示されていなくてもよい。例えば、
図15に示す例では、各観客メッセージ領域Rcのうち、表示されているのは、観客メッセージ領域Rc3と観客メッセージ領域Rc6である。端末2の表示部25は、観客メッセージ領域Rcに、メッセージリストMLに含まれる全てのメッセージを表示する必要はなく、提供された時刻が最も新しいメッセージのみを表示してもよい。また、端末2の制御部21は、メッセージリストMLのうち表示部25に表示させるメッセージを乱数・擬似乱数などを用いて選択してもよい。
【0064】
以上の構成により、シアターサーバ1は、SNSサーバ3を利用して、各端末2に劇場を模した仮想空間を提供する。具体的には、シアターサーバ1は、SNSサーバ3による認証が成功したユーザIDを端末2から受け付けて順次登録し、この登録の順に、SNSサーバ3に記憶されている対応する自画像を表示するように、各端末2に指示する。そして、各端末2に共通するタグを配布して、このタグを含むメッセージリストをSNSサーバ3に要求させ、得られたメッセージをそのユーザIDに対応する自画像に応じた位置に表示させる。これにより、各端末2において、SNSサーバ3のユーザは、SNSサーバ3が提供する表示態様とは異なる表示態様により、劇場を模した仮想空間を体験することができる。
【0065】
[変形例]
上述した実施形態の内容を以下のように変形してもよい。以下に示す各変形例は、必要に応じて組み合わせて実施されてもよい。
【0066】
(変形例1)
上述した実施形態において、端末2は、操作部24を介してユーザの操作に応じたメッセージを受け取ると、このメッセージにシアターサーバ1から受け取ったタグを組み込んで、直接、SNSサーバ3に送信していたが、ユーザの操作に応じたメッセージを受け取ったときにシアターサーバ1に送信する端末を別途設けてもよい。
【0067】
図17は、この変形例におけるサーバシステム9aの全体構成を示す図である。サーバシステム9aは、専用端末6と、この専用端末6に接続されたシアターサーバ1aとを備える。専用端末6は、端末2と同じく通信回線4に接続し、この通信回線4を介してSNSサーバ3と通信するが、シアターサーバ1とは、通信回線4を介さないで、直接、接続されている。
【0068】
図18は、専用端末6の構成を示す図である。専用端末6の構成の一部は、端末2と共通している。具体的に、制御部61は制御部21に、記憶部62は記憶部22に、第1通信部63は通信部23に、操作部64は操作部24に、表示部65は表示部25に、放音部66は放音部26に、それぞれ対応するため、これらの説明を省略する。第2通信部67は、シアターサーバ1に直接接続して、シアターサーバ1と電気通信を行うための回路である。
【0069】
図19は、専用端末6およびシアターサーバ1aの機能的構成を示す図である。シアターサーバ1aの構成の一部は、シアターサーバ1の構成と共通するのでこれら共通する構成について説明を省略する。シアターサーバ1aの構成は、指示部115に代えて指示部115aを備えている点が、シアターサーバ1と異なる。
【0070】
専用端末6の制御部61は、受信部611、分離部612、要求部613、送信部614、再生部615、生成部616、および委託部617としてそれぞれ機能する。専用端末6の機能的構成の一部は、端末2の機能的構成と共通している。すなわち、受信部611は受信部211に、分離部612は分離部212に、要求部613は要求部213に、再生部615は再生部215に、委託部617は委託部217に、それぞれ対応するため、これらの説明を省略する。送信部614および生成部616は、端末2の送信部214および生成部216の機能をそれぞれ有するほか、以下に述べる機能を有する。
【0071】
生成部616は、シアターサーバ1からタグを受け取り、操作部64を介してユーザの操作に応じたメッセージを受け取ると、このメッセージに上記のタグを組み込んで送信部614に引き渡す。送信部614は、タグが組み込まれたこのメッセージをSNSサーバ3に送信するとともに、シアターサーバ1の指示部115aにも送信する。
【0072】
指示部115aは、専用端末6から直接、タグが組み込まれたメッセージを受け取ると、これを端末2および専用端末6にそれぞれ送信する。専用端末6の生成部616は、指示部115aからタグが組み込まれた上記のメッセージを、SNSサーバ3からこのメッセージを含むメッセージリストMLを受け取る前に受け取ると、このメッセージを、これに対応するユーザIDの登録の順序に応じた第2位置に表示させる。端末2の生成部216も、同様に上記のメッセージを指示部115aから受け取ると、このメッセージを上記の第2位置に表示させる。
【0073】
この構成によれば、専用端末6からメッセージが送信されたときに、SNSサーバ3が一旦これを記憶し、要求に応じて抽出を行って、端末2および専用端末6にこのメッセージを提供することに加えて、シアターサーバ1が直接、端末2および専用端末6にこのメッセージを含んだ指示を送る。そのため、端末2および専用端末6は、例えばSNSサーバ3が混雑しているためにタグを含んだメッセージリストMLを提供できない期間であっても、専用端末6から送信されたメッセージを表示することができる。
【0074】
なお、上述した変形例において、専用端末6は、シアターサーバ1と通信回線4を介さないで、直接、接続されていたが、シアターサーバ1と通信回線4を介して接続されていてもよい。この場合であっても、専用端末6に入力されたメッセージは、通信回線4を介してシアターサーバ1に伝えられ、シアターサーバ1の指示部115aによって各端末2および専用端末6にそれぞれ送信される。すなわち、専用端末6に入力されたメッセージは、各端末2によってSNSサーバ3にメッセージリストMLが要求されることを待つことなく、各端末2に表示される。言い換えると、他のメッセージは、各端末2が能動的にSNSサーバ3に要求する、いわゆるプル型の態様で取得されるのに対し、専用端末6に入力されたメッセージは、特別に、シアターサーバ1から各端末2に向けて、いわゆるプッシュ型の態様で配信される。この構成により、専用端末6においてメッセージが入力されてから、各端末2において提示されるまでの時間を短くすることができる。
【0075】
(変形例2)
上述した実施形態において、シアターサーバ1は、SNSサーバ3に要求して送られた複数の自画像データを格子状に組み合わせて合成画像データ122を合成していたが、合成画像データ122を合成しなくてもよい。この場合、シアターサーバ1は、SNSサーバ3から送られた複数の自画像データを、それぞれ端末2に送ればよい。この場合、端末2の制御部21は、合成画像データ122を受信していないので、分離部212として機能しなくてもよい。なお、上述した実施形態において、シアターサーバ1が合成画像データ122を合成し、ひとまとめのデータとして各端末2に送るので、この変形例と比較して、自画像データの各端末2への送信負荷が軽減する
【0076】
(変形例3)
上述した実施形態において、端末2の表示部25は、合成画像データ122から分離された自画像データにより示される自画像を、この自画像データに対応するユーザIDがシアターサーバ1において登録された順序に応じた位置に表示していたが、登録された順序に応じた位置以外の位置に表示してもよい。例えば、端末2が操作部24を介してユーザから、そのユーザのユーザIDに対応付けられた友だちリストに沿って各自画像を表示する旨の操作を受け取った場合、表示部25は、シアターサーバ1にユーザIDが登録された順序に関わらず、各端末2がシアターサーバ1にそれぞれ登録させたユーザIDに対応付けて記憶された友だちリストに基づいて、それぞれの自画像を表示する。例えば、友だちリストに記述された各ユーザIDは、その友だちリストの保有者であるユーザによって評価された重要度の順や、友だちリストに追加された順などの順序を保持している。そこで、制御部21は、シアターサーバ1に登録されたユーザIDのうち、その端末2を利用するユーザのユーザIDに対応付けられた友だちリストに記述されたユーザIDを抽出し、その友だちリストにおける各ユーザIDの順序に沿って、それぞれに対応する自画像を表示部25に表示させればよい。
【0077】
(変形例4)
上述した実施形態において、シアターサーバ1は、参加者DB121のうち、順序が「1」のユーザIDを特別なユーザIDとして取り扱い、各端末2において、ステップS16でSNSサーバ3から受信するメッセージリストMLのうち、この特別なユーザIDに対応付けられたメッセージを、この演者メッセージ領域Rpに表示していたが、特別なユーザIDは1つに限られず、2つ以上でもよい。また、シアターサーバ1は、参加者DB121に記述された全てのユーザIDを区別せずに取り扱ってもよい。この場合、上述した演者メッセージ領域Rpは無くてもよい。
【0078】
(変形例5)
上述した実施形態において、ユーザIDの登録の順序に応じた位置は平面上の位置であったが、仮想的な三次元空間における位置であってもよい。この場合、端末2の表示部25は、この三次元空間における位置を、平面上に投影した位置に各自画像を表示してもよい。そして、例えば、各自画像が配置される三次元空間上の位置の、表示部2の表示画面における奥行き方向の差異は、これら各自画像を拡大または縮小することで表現されればよい。
【0079】
また、
図16に示したステップS13において、シアターサーバ1から送られる指示は、各自画像データにより示される自画像を、この自画像データに対応するユーザIDがシアターサーバ1において登録された順序に応じた位置に表示させる指示を含んでいた。つまり、ステップS13においてシアターサーバ1から送られる指示には、上述した位置の情報が含まれていたが、この位置が3次元空間における位置である場合に、この指示は、平面上の位置に加えて上述の奥行きの位置を示す情報を含んでいてもよい。
【0080】
また、端末2の表示部25は、例えば、両眼の視差を利用した立体視画像を表示することによって、この三次元空間における位置に各自画像を立体的に表示してもよい。なお、自画像領域Rは、固定されたものに限られない。自画像は、例えば、或る定められた位置を中心とする円軌道を周期的に移動する位置に表示してもよいし、その定められた位置から遠ざかるほど確率が低くなるように決められた係数を擬似乱数に乗算して求めた位置に表示してもよい。また、自画像の周りにはユーザを具象化したアバターを構成する要素として、手足などを表現した画像を表示してもよい。このアバターは、配信サーバ5から配信される映像データや音響データに応じて動かされてもよい。この場合、端末2の制御部21は、映像データや音響データを解析してこれらに基づいた変化を検知できればよい。例えば、映像データが示す情報のフレームごとの差が大きいほど、動きが大きくなるようにアバターを動かしてもよいし、音響データが示す音声の振幅が大きくなるほど、動きが大きくなるようにアバターを動かしてもよい。
【0081】
(変形例6)
シアターサーバ1の制御部11および端末2の制御部21によって実行される各プログラムは、磁気テープや磁気ディスクなどの磁気記録媒体、光ディスクなどの光記録媒体、光磁気記録媒体、半導体メモリなどの、コンピュータ装置が読み取り可能な記録媒体に記憶された状態で提供し得る。また、このプログラムを、インターネットのようなネットワーク経由でダウンロードさせることも可能である。なお、上記の制御部11および制御部21によって例示した制御手段としてはCPU以外にも種々の装置が適用される場合があり、例えば、専用のプロセッサなどが用いられる。