(57)【特許請求の範囲】
【請求項１】
サーバコンピュータと複数のクライアントコンピュータとで構成されるコンピュータシステム上で実現された仮想世界でユーザの分身として動作するアバターを用いて同時音声通話を行うソーシャルメディアシステムであって、
前記サーバコンピュータは、
前記同時音声通話の単位である部屋へのアバターの入室のリクエストを前記クライアントコンピュータから受信すると、前記部屋の入室人数が制限人数を超えるか否かにより、入室の許可又は不可を判定し、その判定結果をリクエストを送信したクライアントコンピュータに返信し、前記部屋に入室しているアバターに対応する前記クライアントコンピュータから送信される音声データを合成した音声データを、前記部屋に入室している全てのアバターに対応するクライアントコンピュータに中継し、
前記クライアントコンピュータは、
前記判定結果が許可であった場合に、前記部屋及び前記部屋に入室しているアバターの画像を表示しつつ、前記サーバコンピュータから受信した音声データを再生し、
前記サーバコンピュータは、
前記クライアントコンピュータに対応するユーザが、発言が可能である否かを識別する情報を記憶するユーザデータベースを備え、
前記部屋への入室が許可された前記クライアントコンピュータに対応するユーザのうち、前記ユーザデータベースに発言が可能であると記憶されたユーザに対応する前記クライアントコンピュータから受信した音声データだけを合成した音声データを、前記部屋に入室している全てのアバターに対応するクライアントコンピュータに中継する、
ソーシャルメディアシステム。
【請求項２】
前記サーバコンピュータは、
前記部屋を複数管理し、管理する前記部屋の一覧情報を前記クライアントコンピュータに送信し、
前記クライアントコンピュータは、
前記部屋の一覧情報を画面に表示して、ユーザが指定する前記部屋の入室のリクエストを送信し、
前記サーバコンピュータは、
リクエストで指定された前記部屋について、入室の許可又は不可を判定する、
請求項１に記載のソーシャルメディアシステム。
【請求項３】
前記サーバコンピュータは、
前記ユーザデータベースにおいて課金対象として登録されているユーザを、発言が可能であると記憶されたユーザであると判定する、
請求項１又は２に記載のソーシャルメディアシステム。
【請求項４】
前記サーバコンピュータは、
前記部屋に対応する音声データファイルを記憶する音声データベースを備え、
前記クライアントコンピュータから受信した音声データを、前記部屋に対応する音声データファイルの音声ストリームとともに合成して、前記部屋に入室したアバターに対応するクライアントコンピュータに中継する、
請求項１から３のいずれか一項に記載のソーシャルメディアシステム。
【請求項５】
前記クライアントコンピュータは、
画面に表示された前記アバターに対する操作入力により、そのアバターを動作させるアニメーションを実行するとともに、そのアバターの動作に関する情報を前記サーバコンピュータに送信し、
前記サーバコンピュータは、
前記クライアントコンピュータから受信した前記アバターの動作に関する情報を、前記部屋に入室している他のアバターに対応するクライアントコンピュータに中継し、
前記クライアントコンピュータは、
前記サーバコンピュータで中継された前記アバターの動作に関する情報に従って、該当するアバターを動作させる、
請求項１から４のいずれか一項に記載のソーシャルメディアシステム。
【請求項６】
前記クライアントコンピュータは、
ユーザが作成した前記アバターを構成する部品画像であるアバターパーツに関する情報を前記サーバコンピュータに送信し、
前記サーバコンピュータは、
受信した前記アバターパーツに関する情報を登録するとともに、前記クライアントコンピュータからの求めに応じて、登録された前記アバターパーツに関する情報を提供する、
請求項１から５のいずれか一項に記載のソーシャルメディアシステム。
【請求項７】
登録された前記アバターパーツに関する情報を前記クライアントコンピュータに販売すると、前記クライアントコンピュータに対応するユーザに対して、前記提供に応じて課金された金額を算出し、データベースに記憶する、
請求項６に記載のソーシャルメディアシステム。
【請求項８】
課金された金額の一部を、前記サーバコンピュータの運営者が手数料として算出し、データベースに記憶する、
請求項７に記載のソーシャルメディアシステム。
【請求項９】
サーバコンピュータと複数のクライアントコンピュータとで構成されるコンピュータシステム上で実現された仮想世界でユーザの分身として動作するアバターを用いて同時音声通話を行うソーシャルメディアシステムに用いられ、
前記サーバコンピュータを、
前記同時音声通話の単位である部屋へのアバターの入室のリクエストを前記クライアントコンピュータから受信すると、前記部屋の入室人数が制限人数を超えるか否かにより、入室の許可又は不可を判定し、その判定結果を、リクエストを送信したクライアントコンピュータに返信し、前記部屋に入室しているアバターに対応する前記クライアントコンピュータから送信される音声データを合成した音声データを、前記部屋に入室している全てのアバターに対応するクライアントコンピュータに中継するように動作させ、
前記クライアントコンピュータを、
前記判定結果が許可であった場合に、前記部屋及び前記部屋に入室しているアバターの画像を表示しつつ、前記サーバコンピュータから受信した音声データを再生するように動作させ、
前記サーバコンピュータを、
前記クライアントコンピュータに対応するユーザが、発言が可能である否かを識別する情報を記憶するユーザデータベースとして動作させ、
前記部屋への入室が許可された前記クライアントコンピュータに対応するユーザのうち、前記ユーザデータベースに発言が可能であると記憶されたユーザに対応する前記クライアントコンピュータから受信した音声データだけを合成した音声データを、前記部屋に入室している全てのアバターに対応するクライアントコンピュータに中継するように動作させる、
プログラム。
【請求項１０】
前記クライアントコンピュータを、
ユーザが作成した前記アバターを構成する部品画像であるアバターパーツに関する情報を前記サーバコンピュータに送信するように動作させ、
前記サーバコンピュータを、
受信した前記アバターパーツに関する情報を登録するとともに、前記クライアントコンピュータからの求めに応じて、登録された前記アバターパーツに関する情報を提供するように動作させる、
請求項９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソーシャルメディアシステム及びプログラムに関する。
【背景技術】
【０００２】
ソーシャルメディアは、パーソナルコンピュータ、タブレット端末、ゲーム機、携帯電話、インターネット対応テレビ、その他の通信端末などを用いて会員同士が情報交流を行う場を提供するプラットフォームである。このようなソーシャルメディアの中には、コンピュータシステム上で実現された仮想世界でユーザの分身として行動するアバターを用いて音声チャット（同時音声通話）が可能なものも開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１９９１９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような音声チャットでは、発話者が多すぎる場合、誰が何を話しているのか聞き取りにくくなるといった不都合があった。
【０００５】
本発明は、上記実情に鑑みてなされたものであり、快適な同時音声通話が可能なソーシャルメディアシステム及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の第１の観点に係るソーシャルメディアシステムは、
サーバコンピュータと複数のクライアントコンピュータとで構成されるコンピュータシステム上で実現された仮想世界でユーザの分身として動作するアバターを用いて同時音声通話を行うソーシャルメディアシステムであって、
前記サーバコンピュータは、
前記同時音声通話の単位である部屋へのアバターの入室のリクエストを前記クライアントコンピュータから受信すると、前記部屋の入室人数が制限人数を超えるか否かにより、入室の許可又は不可を判定し、その判定結果をリクエストを送信したクライアントコンピュータに返信し、前記部屋に入室しているアバターに対応する前記クライアントコンピュータから送信される音声データを合成した音声データを、前記部屋に入室している全てのアバターに対応するクライアントコンピュータに中継し、
前記クライアントコンピュータは、
前記判定結果が許可であった場合に、前記部屋及び前記部屋に入室しているアバターの画像を表示しつつ、前記サーバコンピュータから受信した音声データを再生し、
前記サーバコンピュータは、
前記クライアントコンピュータに対応するユーザが、発言が可能である否かを識別する情報を記憶するユーザデータベースを備え、
前記部屋への入室が許可された前記クライアントコンピュータに対応するユーザのうち、前記ユーザデータベースに発言が可能であると記憶されたユーザに対応する前記クライアントコンピュータから受信した音声データだけを合成した音声データを、前記部屋に入室している全てのアバターに対応するクライアントコンピュータに中継する。
【０００７】
この場合、前記サーバコンピュータは、
前記部屋を複数管理し、管理する前記部屋の一覧情報を前記クライアントコンピュータに送信し、
前記クライアントコンピュータは、
前記部屋の一覧情報を画面に表示して、ユーザが指定する前記部屋の入室のリクエストを送信し、
前記サーバコンピュータは、
リクエストで指定された前記部屋について、入室の許可又は不可を判定する、
こととしてもよい。
【０００９】
前記サーバコンピュータは、
前記ユーザデータベースにおいて課金対象として登録されているユーザを、発言が可能であると記憶されたユーザであると判定する、
こととしてもよい。
【００１０】
前記サーバコンピュータは、
前記部屋に対応する音声データファイルを記憶する音声データベースを備え、
前記クライアントコンピュータから受信した音声データを、前記部屋に対応する音声データファイルの音声ストリームとともに合成して、前記部屋に入室したアバターに対応するクライアントコンピュータに中継する、
こととしてもよい。
【００１１】
前記クライアントコンピュータは、
画面に表示された前記アバターに対する操作入力により、そのアバターを動作させるアニメーションを実行するとともに、そのアバターの動作に関する情報を前記サーバコンピュータに送信し、
前記サーバコンピュータは、
前記クライアントコンピュータから受信した前記アバターの動作に関する情報を、前記部屋に入室している他のアバターに対応するクライアントコンピュータに中継し、
前記クライアントコンピュータは、
前記サーバコンピュータで中継された前記アバターの動作に関する情報に従って、該当するアバターを動作させる、
こととしてもよい。
【００１２】
前記クライアントコンピュータは、
ユーザが作成した前記アバターを構成する部品画像であるアバターパーツに関する情報を前記サーバコンピュータに送信し、
前記サーバコンピュータは、
受信した前記アバターパーツに関する情報を登録するとともに、前記クライアントコンピュータからの求めに応じて、登録された前記アバターパーツに関する情報を提供する、
こととしてもよい。
【００１３】
この場合、前記サーバコンピュータは、
登録された前記アバターパーツに関する情報を前記クライアントコンピュータに販売すると、前記クライアントコンピュータに対応するユーザに対して、前記提供に応じて課金された金額を算出し、データベースに記憶する、
こととしてもよい。
【００１４】
課金された金額の一部を、前記サーバコンピュータの運営者が手数料として算出し、データベースに記憶する、
こととしてもよい。
【００１５】
本発明の第３の観点に係るプログラムは、
サーバコンピュータと複数のクライアントコンピュータとで構成されるコンピュータシステム上で実現された仮想世界でユーザの分身として動作するアバターを用いて同時音声通話を行うソーシャルメディアシステムに用いられ、
前記サーバコンピュータを、
前記同時音声通話の単位である部屋へのアバターの入室のリクエストを前記クライアントコンピュータから受信すると、前記部屋の入室人数が制限人数を超えるか否かにより、入室の許可又は不可を判定し、その判定結果を、リクエストを送信したクライアントコンピュータに返信し、前記部屋に入室しているアバターに対応する前記クライアントコンピュータから送信される音声データを合成した音声データを、前記部屋に入室している全てのアバターに対応するクライアントコンピュータに中継するように動作させ、
前記クライアントコンピュータを、
前記判定結果が許可であった場合に、前記部屋及び前記部屋に入室しているアバターの画像を表示しつつ、前記サーバコンピュータから受信した音声データを再生するように動作させ、
前記サーバコンピュータを、
前記クライアントコンピュータに対応するユーザが、発言が可能である否かを識別する情報を記憶するユーザデータベースとして動作させ、
前記部屋への入室が許可された前記クライアントコンピュータに対応するユーザのうち、前記ユーザデータベースに発言が可能であると記憶されたユーザに対応する前記クライアントコンピュータから受信した音声データだけを合成した音声データを、前記部屋に入室している全てのアバターに対応するクライアントコンピュータに中継するように動作させる。
【００１６】
本発明の第４の観点に係るプログラムは、
前記クライアントコンピュータを、
ユーザが作成した前記アバターを構成する部品画像であるアバターパーツに関する情報を前記サーバコンピュータに送信するように動作させ、
前記サーバコンピュータを、
受信した前記アバターパーツに関する情報を登録するとともに、前記クライアントコンピュータからの求めに応じて、登録された前記アバターパーツに関する情報を提供するように動作させる。
【発明の効果】
【００１７】
本発明によれば、仮想空間としての部屋に入室を許可されたアバター（ユーザ）に対応するクライアントコンピュータだけを同時通話可能とし、部屋の入室人数を制限している。これにより、同時音声通話における発話者の数を増やしすぎないようにすることができるので、快適な同時音声通話を実現することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施の形態に係るソーシャルメディアシステムの構成を示すブロック図である。
【図２】図２（Ａ）は、アバターの画像の一例を示す図である。図２（Ｂ）は、アバターパーツの画像の一例を示す図である。図２（Ｃ）は、アバターが入室する部屋の画像の一例を示す図である。
【図３】部屋情報データベースのデータ形式を示す図である。
【図４】ユーザ情報データベースのデータ形式を示す図である。
【図５】アバター情報データベースのデータ形式を示す図である。
【図６】画像データベースのデータ形式を示す図である。
【図７】サウンドデータベースのデータ形式を示す図である。
【図８】同時音声通話のデータの流れの一例を示す模式図である。
【図９】イベントを中継するデータの流れの一例を示す模式図である。
【図１０】部屋に入室する処理のシーケンスフローである。
【図１１】部屋の一覧画像の一例を示す図である。
【図１２】本発明の実施の形態２に係るソーシャルメディアシステムの構成を示すブロック図である。
【図１３】アバターパーツを登録する処理のシーケンスフローである。
【図１４】パーツアップロードページの一例を示す図である。
【図１５】ストアデータベースのデータ形式を示す図である。
【図１６】アバターパーツを販売する処理のシーケンスフローである。
【図１７】図１７（Ａ）は、アバターパーツ画像の購入画面（ストア情報）の一例を示す図である。図１７（Ｂ）は、アバターパーツ画像の購入直前の画面の一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の一実施の形態について図面を参照して詳細に説明する。
【００２０】
実施の形態１．
図１に示すように、ソーシャルメディアシステム１Ａは、サーバコンピュータ２Ａと、サーバコンピュータ２Ａにネットワークを介して通信可能に接続される複数のクライアントコンピュータ３Ａとで構成されるコンピュータシステムである。ソーシャルメディアシステム１Ａでは、実在の世界を模した仮想世界が実現されている。
【００２１】
仮想空間上では、人間を模倣したアニメーション画像であり、図２（Ａ）に示すようなユーザの分身であるアバターが表示される。ソーシャルメディアシステム１Ａでは、クライアントコンピュータ３Ａからの指示で、仮想空間内で互いのアバターを動作させることにより、ユーザ同士の交流が可能となる。アバターは、図２（Ｂ）に示すように、頭部、服、装飾品等の複数の部分画像、すなわちアバターパーツ画像から構成される。それぞれの部分画像（部品画像）をアバターパーツ画像と呼ぶ。アバターの画像は、複数のアバターパーツの画像を合成して作成される。アバターパーツの画像の相対位置又は回転角度を変更することで、アバターの動き（アニメーション）が実現される。このようなアバターの動きは、アニメーションＩＤによって幾つかのパターンに類型化されている。
【００２２】
仮想世界は、複数の部屋に仕切られている。アバターによるユーザ間の交流は、部屋毎に行われる。ここでいう部屋とは、アバターが表示される仮想空間の単位である。ソーシャルメディアシステム１Ａでは、図２（Ｃ）に示すように、部屋に入室したアバター（ユーザ）により、コミュニケーションを行うユーザグループが形成される。部屋単位で同時音声通話を可能にすることでアバター及び音声によるユーザ同士の交流が行われる。
【００２３】
以下、ソーシャルメディアシステム１Ａの詳細について説明する。まず、サーバコンピュータ２Ａの構成について説明する。サーバコンピュータ２Ａは、例えばインターネットと接続されたＷｅｂサーバであり、ハードウエアとして、ＣＰＵ（Central Processing Unit）、メモリ、記憶装置及び通信インターフェイスを備える。記憶装置に格納されたプログラムが必要に応じてメモリに読み込まれ、メモリに読み込まれたプログラムをＣＰＵが実行し、通信インターフェイス等を動作させることにより、サーバコンピュータ２Ａの機能が実現される。上述の仮想世界は、このようなプログラムの実行により構築されている。
【００２４】
なお、サーバコンピュータ２Ａでは、ＣＰＵが１つである必要はなく、複数のＣＰＵが協調しながらプログラムを実行して、その機能を発揮するようなものであってもよい。サーバコンピュータ２Ａは、複数台のコンピュータが互いに接続し、協調動作することによってその機能を発揮する分散処理型のコンピュータであってもよい。
【００２５】
まず、サーバコンピュータ２Ａの機能構成について説明する。この機能構成は、上述のプログラムの実行により実現される機能を用途に応じてまとめたものである。サーバコンピュータ２Ａは、図１に示すように、部屋管理モジュール２０と、音声中継モジュール２１と、イベント中継モジュール２２と、を備える。また、サーバコンピュータ２Ａには、この構成に加えて、部屋情報データベース２３と、ユーザ情報データベース２４と、アバター情報データベース２５と、画像データベース２６と、サウンドデータベース２７と、を備える。
【００２６】
部屋管理モジュール２０は、仮想世界におけるユーザ間交流の単位である部屋であって、アバターが入室可能な部屋に関する情報を管理する。部屋は複数設けられ、部屋ごとに情報が管理される。図３に示すように、部屋情報データベース２３には、構築された各部屋の部屋ＩＤ、部屋名、部屋の所有者となるユーザＩＤ（所有者ＩＤ）、部屋で流すＢＧＭ（バックグラウンドミュージック）のＩＤ（サウンドＩＤ）及び現在の入室人数が対応付けて記憶されている。部屋情報データベース２３を参照すれば、部屋ＩＤをキーとして、その部屋名、所有者ＩＤ、背景画像ＩＤ、サウンドＩＤ及び現在の入室人数を読み出すことができる。
【００２７】
部屋管理モジュール２０は、この部屋情報データベース２３に記憶されたデータを更新及び参照しつつ、各部屋を管理する。例えば、部屋管理モジュール２０は、ある部屋ＩＤを有する部屋の入室人数が増減すると、その部屋ＩＤをキーとして部屋情報データベース２３に登録される入室人数を増減させる。また、部屋管理モジュール２０は、部屋情報データベース２３に登録された部屋の一覧情報をクライアントコンピュータ３Ａに送信可能である。
【００２８】
部屋管理モジュール２０は、ある部屋への入室のリクエストを受信すると、その部屋の入室人数を部屋情報データベース２３から読み出し、入室人数が制限人数を超えるか否か判定する。部屋管理モジュール２０は、その判定結果（許可／不可）をクライアントコンピュータ３Ａに返信する。さらに、部屋管理モジュール２０は、その判定結果が許可であった場合には、部屋に関する情報を、クライアントコンピュータ３Ａに送信する。
【００２９】
部屋管理モジュール２０は、ユーザ情報データベース２４、アバター情報データベース２５、画像データベース２６及びサウンドデータベース２７にもアクセス可能である。
【００３０】
ユーザ情報データベース２４は、ソーシャルメディアシステム１Ａを利用するユーザに関する情報を記憶する。ユーザ情報データベース２４には、図４に示すように、ユーザＩＤ、ユーザ名、課金状態（課金されたユーザか無料で利用するユーザか）、プロフィール文章、アイコン画像ＩＤ、どの部屋に入室しているのかを示す入室部屋ＩＤ、所持しているソーシャルメディアシステム１Ａ内の仮想通貨金額などが対応づけて記憶される。
【００３１】
アバター情報データベース２５は、ユーザに対応するアバターに関する情報を記憶する。アバター情報データベース２５では、図５に示すように、ユーザＩＤと、複数のアバターＩＤとを対応づけて記憶可能である。ユーザＩＤと対応付けて登録された複数のアバターＩＤをアバターＩＤリストという。
【００３２】
アバター情報データベース２５では、アバターＩＤのリストの各アバターＩＤに対応づけて複数のアバターパーツ用の画像ＩＤが登録される。ユーザは、好みのアバターパーツを選択することによりアバターをカスタマイズ可能である。アバター情報データベース２５には、カスタマイズにより選択された複数のアバターパーツ用の画像ＩＤが記憶される。アバター情報データベース２５には、他に各アバターＩＤに対応付けてアバタータップ時の音声ファイルのＩＤであるサウンドＩＤも登録される。
【００３３】
画像データベース２６は、仮想空間を表示するための画像データを記憶する。画像データベース２６には、画像ＩＤと画像ファイルとが対応づけて記録される。このデータベースには、例えば部屋の背景の画像ファイル（背景画像）、ユーザのアイコン画像及びアバターパーツの画像ファイル（アバターパーツ用画像）等の各種画像ファイルが記憶される。
【００３４】
サウンドデータベース２７は、クライアントコンピュータ３Ａで再生される音声ファイルを記憶する。このデータベースでは、サウンドＩＤと音声ファイルとが対応づけて記憶されており、サウンドＩＤをキーとして特定の音声ファイルを読み出すことができる。このデータベースには、部屋の音声（サウンドＩＤに対応付けられる音声ファイル）、アバタータップ時の音声ファイル（アバタータップ時のサウンドＩＤに対応付けられる音声ファイル）等の各種音声ファイルが記憶される。
【００３５】
部屋管理モジュール２０は、上述の各種データベースの管理、更新を行う。
【００３６】
図１に戻り、音声中継モジュール２１は、同時音声通話を行う。同時音声通話とは、二人以上で行われる電話のような全二重通話のことであり、この通話の実現には、ＶｏＩＰ（Voice over IP）又はＳＩＰ（Session Initiation Protocol）等のリアルタイム音声通話技術が用いられる。音声中継モジュール２１は、同じ部屋に入室したアバターに対応するクライアントコンピュータ３Ａから送信される音声データを合成した音声データを、部屋ごとに合成し、その部屋に入室した全てのアバターに対応するクライアントコンピュータ３Ａに中継する。
【００３７】
ここで、図８に示すように、部屋Ａには、ユーザＵ１，Ｕ２，Ｕ３が入室しており、ＢＧＭ音声ストリームＢ１が流れているものとする。部屋Ｂには、ユーザＵ４，Ｕ５が入室しており、ＢＧＭ音声ストリームＢ２が流れているものとする。
【００３８】
この場合、音声中継モジュール２１は、部屋ＡについてユーザＵ１，Ｕ２，Ｕ３のクライアントコンピュータ３Ａのマイクロホンに入力され音声通話モジュール３２から送られる音声データＳ１，Ｓ２，Ｓ３及びＢＧＭ音声ストリームＢ１の４つのチャネルの音声信号を合成し、１チャネルの音声データＭＸＡを生成する。ＢＧＭ音声ストリームＢ１は、サウンドデータベース２７の音楽ファイルから取得される。さらに、音声中継モジュール２１は、音声データＭＸＡをエンコードして、ユーザＵ１，Ｕ２，Ｕ３のクライアントコンピュータ３Ａの音声通話モジュール３２に送信する。ユーザＵ１，Ｕ２，Ｕ３のクライアントコンピュータ３Ａでは、音声データＭＸＡに対応する音声がスピーカから再生される。
【００３９】
同様に、音声中継モジュール２１は、部屋ＢについてユーザＵ４，Ｕ５のクライアントコンピュータ３Ａの音声通話モジュール３２から送られる音声データＳ４，Ｓ５及びＢＧＭ音声ストリームＢ２の３つのチャネルの音声信号を合成し、１チャネルの音声データＭＸＢを生成する。ＢＧＭ音声ストリームＢ２は、サウンドデータベース２７の音楽ファイルから取得される。さらに、音声中継モジュール２１は、音声データＭＸＢをエンコードして、ユーザＵ４，Ｕ５のクライアントコンピュータ３Ａの音声通話モジュール３２に送信する。ユーザＵ４，Ｕ５のクライアントコンピュータ３Ａでは、音声データＭＸＡに対応する音声がスピーカから再生される。
【００４０】
イベント中継モジュール２２は、図９に示すように、クライアントコンピュータ３Ａの制御モジュール３０から受信したアバターの動作に関する情報を、同じ部屋に入室した他のアバターに対応するクライアントコンピュータ３Ａのアバター表示モジュール３３に中継する。アバターの動作に関する情報には、クライアントコンピュータ３Ａから送信されるイベント情報（部屋ＩＤ，ユーザＩＤ, アバターＩＤ, アニメーションＩＤ）が含まれる。
【００４１】
続いて、クライアントコンピュータ３Ａの機能構成について説明する。クライアントコンピュータ３Ａは、例えばインターネットと接続されたコンピュータであり、例えば、スマートフォン、タブレット端末、パーソナルコンピュータである。クライアントコンピュータ３Ａは、ハードウエアとして、ＣＰＵ（Central Processing Unit）、メモリ、記憶装置、通信インターフェイス、表示ディスプレイ（画面）、マイクロホン、スピーカ等を備える。クライアントコンピュータ３Ａは、記憶装置に格納されたプログラムが必要に応じてメモリに読み込まれ、メモリに読み込まれたプログラムをＣＰＵが実行し、その実行結果に応じて他の構成要素が動作することにより、その機能を実現する。
【００４２】
図１に示すように、クライアントコンピュータ３Ａは、制御モジュール３０と、部屋表示モジュール３１と、音声通話モジュール３２と、アバター表示モジュール３３と、を備える。
【００４３】
制御モジュール３０は、主として以下の３つの機能（機能１〜３）を有する。
【００４４】
（機能１：入室処理）
制御モジュール３０は、サーバコンピュータ２Ａから送信される部屋の一覧情報を受信して、画面に表示する。制御モジュール３０は、部屋への入室のリクエストをサーバコンピュータ２Ａに送信し、サーバコンピュータ２Ａから送信される判定結果を受信する。制御モジュール３０は、入室が不可であった場合に、その旨をクライアントコンピュータ３Ａの画面に表示する。制御モジュール３０は、入室が許可であった場合に、部屋表示モジュール３１及びアバター表示モジュール３３を制御して画像表示処理を行うとともに、音声通話モジュール３２を制御して、音声通話処理を行う。
【００４５】
（機能２：アバター動作）
制御モジュール３０は、入室しているアバターがタップされた時、アバター表示モジュール３３に、タップに対応するイベント情報を送る。また、制御モジュール３０は、タップされたイベント情報をサーバコンピュータ２Ａのイベント中継モジュール２２に送る。
【００４６】
（機能３：退室処理）
制御モジュール３０は、操作入力によりユーザから退室が指示されると、サーバコンピュータ２Ａに退室リクエストを送信する。その後、制御モジュール３０は、クライアントコンピュータ３Ａの画面に表示される画像を、部屋の一覧の表示画像に戻す。
【００４７】
部屋表示モジュール３１は、制御モジュール３０の制御の下、サーバコンピュータ２Ａから部屋の画像を受信して、この画像を画面上に表示する。
【００４８】
音声通話モジュール３２は、制御モジュール３０の制御の下、ＶｏＩＰ（Voice over IP）、ＳＩＰ（Session Initiation Protocol）などのリアルタイム音声通話技術を用いて、ネットワーク上の同時通話を実現する。音声通話モジュール３２は、クライアントコンピュータ３Ａのマイクロホンを用いて入力された音声データを、音声コーデック処理によって圧縮して音声データ（音声ストリーム）としてサーバコンピュータ２Ａへ送信する。また、音声通話モジュール３２は、サーバコンピュータ２Ａから受信した音声データ（音声ストリーム）をデコーダにより復号化し、クライアントコンピュータ３Ａが備えるスピーカから音声出力する。
【００４９】
アバター表示モジュール３３は、制御モジュール３０の制御の下、サーバコンピュータ２Ａから部屋に入室している全てのアバターの画像を取得し、これを画面における部屋の画像と合成して表示する。具体的には、アバター表示モジュール３３は、部屋表示モジュール３１で表示された部屋に入室している各ユーザの全てのアバターパーツ画像をダウンロードして取得し、アウターパーツの画像を合成し、アバターの画像として表示する。
【００５０】
アバター表示モジュール３３は、表示した各アバターをアニメーション動作させることが可能である。可能なアニメーション動作は、アニメーションＩＤに対応付けられ、アバター表示モジュール３３に記憶されている。アバター表示モジュール３３は、イベント中継モジュール２２又は制御モジュール３０からイベント情報（部屋ＩＤ、ユーザＩＤ、アバターＩＤ、アニメーションＩＤ）を受信する。イベント情報を受信すると、アバター表示モジュール３３は、受信したイベント情報（ユーザＩＤ、アバターＩＤ）に対応するアバターを、アバターパーツの画像の相対位置又は回転角度を変更することで、アニメーションＩＤに対応するアニメーションを実現すべく、動作させる。  
【００５１】
次に、ソーシャルメディアシステム１Ａにおける部屋への入室処理について説明する。
【００５２】
図１０に示すように、まず、部屋管理モジュール２０は、部屋の一覧情報をクライアントコンピュータ３Ａに送信する（ステップＳ２０）。制御モジュール３０は、部屋の一覧情報をクライアントコンピュータ３Ａの画面に表示する（ステップＳ１０）。図１１には、この画像の一例が示されている。部屋管理モジュール２０は、入室許可リクエストの受信待ちとなり（ステップＳ２１；Ｎｏ）、制御モジュール３０は、特定の部屋のバナーのタップ待ちとなる（ステップＳ１１；Ｎｏ）。
【００５３】
ユーザが部屋の一覧情報の画像上の特定の部屋のバナーをタップすると（ステップＳ１１；Ｙｅｓ）、制御モジュール３０は、サーバコンピュータ２Ａの部屋管理モジュール２０に対し、部屋への入室の許可を要求するリクエストを送信する（ステップＳ１２）。
【００５４】
部屋管理モジュール２０は、入室リクエストを受け取ると（ステップＳ２１；Ｙｅｓ）、許可した場合の入室人数を算出する（ステップＳ２２）。部屋管理モジュール２０は、算出された入室人数が制限人数を超えない場合には許可と判定し、制限人数を超える場合には、不可と判定する。部屋管理モジュール２０は、この判定結果（許可／不可）を応答として制御モジュール３０に送信する（ステップＳ２３）。部屋管理モジュール２０は、部屋情報データベース２３における入室人数を更新し、ユーザ情報データベース２４における入室部屋ＩＤを更新するなどの、各種データベースの更新を行う（ステップＳ２４）。
【００５５】
制御モジュール３０は、応答の内容が許可である場合（ステップＳ１３；Ｙｅｓ）、部屋表示モジュール３１に対して、部屋の画像を表示するように指示する（部屋表示指示：ステップＳ１４）。ここで、部屋表示モジュール３１は、部屋管理モジュール２０に対して、入室が許可された部屋の画像を要求する。部屋管理モジュール２０は、該当する部屋の画像を部屋表示モジュール３１に送信する（ステップＳ２５）。部屋表示モジュール３１は、受信した部屋の画像をクライアントコンピュータ３Ａに表示する。
【００５６】
さらに、制御モジュール３０は、アバター表示モジュール３３に対して、部屋に入室しているアバターを表示するよう指示する（ステップＳ１５）。ここで、アバター表示モジュール３３がアバター情報をリクエストすると、部屋管理モジュール２０は、ユーザ情報データベース２４、アバター情報データベース２５及び画像データベース２６を参照して、該当するアバターを構成するアバターパーツ画像をアバター表示モジュール３３に送信する（ステップＳ２６）。アバター表示モジュール３３は、部屋管理モジュール２０から得られたアバターパーツの画像を合成することにより、アバターの画像を作成し、クライアントコンピュータ３Ａの画面に表示する。
【００５７】
さらに、制御モジュール３０は、音声通話モジュール３２に対して、音声中継モジュール２１に接続して、同時音声通話を開始するように指示する（ステップＳ１６）。この指示を受けて、音声通話モジュール３２は、音声中継モジュール２１との間で、音声データの送受信の回線を確立し、同時音声通話を開始する。
【００５８】
一方、制御モジュール３０は、応答の内容が不可であった場合（ステップＳ１３；Ｎｏ）、クライアントコンピュータ３Ａの画面上に入室不可を表示する（ステップＳ１７）。
【００５９】
入室が許可されて、入室処理が終了すると、アバター操作と音声同時通話によるコミュニケーションが行われる。例えば、図８に示すように、音声中継モジュール２１は、クライアントコンピュータ３Ａのマイクロホンに入力され音声通話モジュール３２から受信した音声データ（Ｓ１〜Ｓ５）を、部屋Ａ、Ｂに対応する音声データファイルの音声ストリームＢ１，Ｂ２とともに合成して、合成された音声データＭＸＡ，ＭＸＢを、部屋Ａ，Ｂに入室したアバターに対応するクライアントコンピュータ３Ａへ送信する。これらの処理は、ユーザ情報データベース２４等に登録されたその部屋に入室しているユーザを参照することにより行われる。
【００６０】
もちろん、部屋にＢＧＭを流す必要はなく、クライアントコンピュータ３Ａから送信される音声データＳ１〜Ｓ３のみを合成して、同じ部屋に入室しているアバターに対応するクライアントコンピュータ３Ａに中継するようにしてもよい。
【００６１】
なお、音声中継モジュール２１は、部屋への入室が許可されたクライアントコンピュータ３Ａに対応するユーザのうち、ユーザ情報データベース２４に発言が可能であると記憶されたユーザに対応するクライアントコンピュータ３Ａから受信した音声データだけを合成して、分配するようにしてもよい。この場合、例えば、図４に示すユーザ情報データベース２４の課金状態に「課金」と登録されたユーザ（課金ユーザ）のみを、発話可能なユーザと判定し、「無料」と登録されたユーザについては、合成された音声ＭＸＡ，ＭＸＢを聴くだけのユーザに設定してユーザを判定することができる。
【００６２】
また、図９に示すように、制御モジュール３０は、クライアントコンピュータ３Ａの画面に表示されたアバターに対する操作入力により、アバター表示モジュール３３に、そのアバターを動作させるアニメーションを実行させる。さらに、制御モジュール３０は、そのアバターの動作に関する情報（イベント情報）をサーバコンピュータ２Ａに送信する。イベント中継モジュール２２は、このイベント情報を、同じ部屋にいるアバターに対応するクライアントコンピュータ３Ａのアバター表示モジュール３３に中継する。アバター表示モジュール３３は、イベント中継モジュール２２で中継されたアバターの動作に関する情報（イベント情報）に従って、該当するアバターを動作させる。このようにすれば、同時音声通話をしながら、ＢＧＭや歌にあわせて、複数のアバターを連動、すなわち同じ動きをさせることができる。これらの処理は、ユーザ情報データベース２４やアバター情報データベース２５等に登録されたその部屋に入室しているユーザ（アバター）を参照することにより行われる。
【００６３】
（退室処理）
ユーザが退室を行うように操作すると、制御モジュール３０は、部屋管理モジュール２０に退室リクエストを送信する。部屋管理モジュール２０は、退室リクエストに含まれるユーザＩＤ等を部屋に入室するアバターから削除する処理を行う。具体的には、部屋情報データベース２３の入室人数や、ユーザ情報データベースの入室部屋ＩＤ等を更新する。これにより、部屋からのアバターの退出処理が完了する。
【００６４】
以上詳細に説明したように、本実施の形態によれば、部屋に入室を許可されたアバター（ユーザ）に対応するクライアントコンピュータ３Ａだけを同時通話可能とし、同時通話可能な人数を制限している。これにより、同時音声通話における発話者の数を増やしすぎないようにすることができるので、快適な同時音声通話を実現することができる。すなわち、多人数が同時に会話することによって、会話が成り立ちにくくなることが防止される。すなわち、快適な同時音声通話を実現することができる。
【００６５】
また、本実施の形態によれば、同時音声通話を行う人数を制限することにより、サーバコンピュータ２Ａの処理負荷を低減することができる。
【００６６】
また、本実施の形態によれば、部屋に誰がいるのか、部屋の所有者は誰か、部屋の話題は何かといった情報を、部屋管理モジュール２０が管理して、部屋によって同時音声通話可能な範囲を分けるようにしている。また、音声中継モジュール２１は、各音声通話モジュール３２から送られてくる複数の音声データを部屋ごとに合成し、各音声通話モジュール３２へ送信することにより、部屋ごとに複数人での同時通話が可能となる。このため、同時音声通話を行う人数を制限することができる。
【００６７】
また、部屋管理モジュール２０は、ユーザ情報データベース２４を用いて、ユーザの属性情報、例えば、課金ユーザか無課金ユーザかを識別し、課金ユーザには、発言を許可する。こうすることによって、多数の人が会話を聞くことで楽しみつつ、多人数の同時の発話によって会話が聞きづらくなることを防ぐことができる。また、課金ユーザと無料ユーザの差別化を図ることができる。
【００６８】
また、本実施の形態によれば、音声中継モジュール２１は、サウンドデータベース２７から各部屋に対応する音声ファイル（ＢＧＭ）を取得し、その音声ファイルの音声ストリームをユーザから送られてきた音声データと合成する。したがって、クライアントコンピュータ３ＡでＢＧＭを再生することはしない。これにより、ＢＧＭと各ユーザの音声とを、クライアントコンピュータ３Ａで同じタイミングで再生することができる。これにより、ユーザがＢＧＭに合わせて歌ったり、アバターを動かしたりすることができる。ソーシャルメディアシステム１Ａは、このような新しい形の楽しみ方をユーザに提供することができる。
【００６９】
実施の形態２．
次に、本発明の実施の形態２について説明する。
【００７０】
本実施の形態に係るソーシャルメディアシステム１Ｂは、上記実施の形態１に係るソーシャルメディアシステム１Ａと同様に、サーバコンピュータ２Ｂと複数のクライアントコンピュータ３Ｂを備える。サーバコンピュータ２Ｂは、サーバコンピュータ２Ａと同じ構成要素に加え、図１２に示すような構成要素を有する。クライアントコンピュータ３Ｂは、クライアントコンピュータ３Ａと同じ構成要素に加え、図１２に示す構成要素を有する。
【００７１】
サーバコンピュータ２Ｂは、アバターパーツ販売モジュール４０及びストアデータベース４１を備える。アバターパーツ販売モジュール４０は、ユーザが作成したアバターパーツ画像の登録及び提供（販売）を行う。ストアデータベース４１は、ユーザが作成したアバターパーツに関する情報を記憶する。また、サーバコンピュータ２Ｂが、ユーザ情報データベース２４、アバター情報データベース２５、画像データベース２６を有するのは、上記実施の形態１におけるサーバコンピュータ２Ａと同じである。
【００７２】
クライアントコンピュータ３Ｂは、アバターパーツ送信モジュール３５及びアバターパーツストアモジュール３６を備える。アバターパーツ送信モジュール３５は、ユーザが作成したアバターパーツ画像等をサーバコンピュータ２Ｂに送信する。アバターパーツストアモジュール３６は、アバターパーツ販売モジュール４０から提供されたアバターパーツ画像の販売を行う。
【００７３】
本実施の形態に係るソーシャルメディアシステム１Ｂの動作について説明する。図１３に示すように、アバターパール送信モジュール３５は、クライアントコンピュータ３Ａの画面に、図１４に示すアバターパーツアップロードページを表示し、アバターパーツ画像及びアバターパーツの名称や価格の付随情報、すなわちパーツ情報をユーザが入力する（ステップＳ３０）。図１４に示すように、このようなパーツ情報には、アップロード画像、部位、名称、サウンドエフェクト、価格などがある。入力が完了すると、アバターパーツ送信モジュール３５は、ユーザが製作したアバターのパーツに関する情報に対して、アバターパーツ画像の解像度や縦横比、価格の下限／上限などの要件を満たすかどうか判定し、要件を満たす場合に、入力されたパーツ情報をアバターパーツ販売モジュール４０に送信（アップロード）する（ステップＳ３１）。
【００７４】
アバターパーツ販売モジュール４０は、アバターパーツ送信モジュール３５から受信し（ステップＳ４０）、受信したアバターパーツに関する情報をストアデータベース４１等に登録する（ステップＳ４１）。ストアデータベース４１には、図１５に示すように、商品ＩＤ、商品名、アバターＩＤ、販売者ユーザＩＤ、価格、運営手数料、総売り上げ及び販売個数が対応づけて登録される。また、ストアデータベース４１には、販売数のランキング順位と、商品ＩＤとが対応付けて登録される。さらに、アバターパーツ販売モジュール４０は、パーツ情報に従って、必要に応じて、アバター情報データベース２５、画像データベース２６等を更新する。データベースへの登録が完了すると、ユーザが作成したアバターパーツが販売可能な状態になる。
【００７５】
アバターパーツ販売モジュール４０は、アバターパーツストアモジュール３６からの求めに応じて、登録されたアバターのパーツに関する情報を提供する。
【００７６】
図１６に示すように、アバターパーツストアモジュール３６は、ユーザ情報をアバターパーツ販売モジュール４０に送信する（ステップＳ５０）。アバターパーツ販売モジュール４０は、ストア情報を準備し（ステップＳ６０）、ストア情報を送信する（ステップＳ６１）。ストア情報とは、ユーザ情報データベース２４、アバター情報データベース２５、画像データベース２６、ストアデータベース４１に登録された情報に基づいて作成された販売用のアバターパーツ画像のリストである。アバターパーツストアモジュール３６は、ストア情報を受信し（ステップＳ５１）、表示する（ステップＳ５２）。
【００７７】
アバターパーツストアモジュール３６は、例えば図１７（Ａ）に示すようなストア情報を表示する。図１７（Ａ）に示すように、ストア情報には、幾つかのアバターパーツ画像がその売り上げのランキング（ストアデータベース４１でのランキング順位）などとともに表示される。ユーザは、購入するアバターパーツ画像を選択すると（ステップＳ５３）、図１７（Ｂ）に示すような画像が表示され、さらに”はい”を選択すると、選択されたアバターパーツに関する情報がアバターパーツ販売モジュール４０に送信される。アバターパーツ販売モジュール４０は、選択されたアバターパーツに関する情報に従って、データベースを更新する。具体的には、ユーザ情報データベース２４に、所持するアバターパーツ画像ＩＤが追加され、アバター情報データベース２５のランキングが更新され、ユーザ情報データベース２４における作者の売上高が更新される。
【００７８】
さらに、アバターパーツ販売モジュール４０は、購入情報（アバターパーツ画像）を送信する（ステップＳ６３）。アバターパーツストアモジュール３６は、購入情報を受信する（ステップＳ５４）。受信した購入情報に基づいて、アバターパーツストアモジュール３６は、ユーザに対して課金を行う。これにより、アバターパーツ画像の販売、購入が完了する。
【００７９】
以上述べたように、本実施の形態によれば、ユーザがアバターパーツ画像を作成するので、運営する業者が全てのアバターパーツを作成するコストを省くことができる。また、ユーザがオリジナルのアバターパーツ画像を作成して他人に販売することで、ユーザが、ゲーム内の仮想通貨を得ることができるので、ユーザが収益を上げることができるうえ、ソーシャルメディアにおけるゲーム性、興趣性が増す。また、ユーザが作成したアバターパーツ画像を他人が使用することでアバターパーツを作成したユーザの自己承認欲求を満たすことができる。
【００８０】
なお、アバターパーツ画像は、３次元モデルにテクスチャーを貼りつけたものとなるのが通常であるが、その作成には、コストやノウハウが必要となるため、アバターパーツの作成は、一般ユーザには非常に敷居が高いものとなる。しかしながら、本実施の形態に係るソーシャルメディアシステム１Ａでは、ユーザが作成するアバターパーツ画像は２次元画像である。このため、一般ユーザも簡単に作成することができる。
【００８１】
なお、サーバコンピュータ２Ｂは、登録されたアバターパーツに関する情報をクライアントコンピュータ３Ｂに提供すると、課金された金額の一部を、サーバコンピュータ２Ｂの運営者が手数料として徴収するようにしてもよい。これにより、ソーシャルメディアシステム１Ａを運営する業者が収益を上げることが可能になる。
【００８２】
この発明は、この発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、この発明の範囲を限定するものではない。すなわち、この発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【産業上の利用可能性】
【００８３】
パーソナルコンピュータ、タブレット端末、ゲーム機、携帯電話、インターネット対応テレビ、その他の通信端末などを用いて会員同士が情報交流を行う場を提供するソーシャルメディアにおいて、２人以上の同時音声通話が可能となる。
【符号の説明】
【００８４】
１Ａ，１Ｂ  ソーシャルメディアシステム、２Ａ，２Ｂ  サーバコンピュータ、３Ａ，３Ｂ  クライアントコンピュータ、２０  部屋管理モジュール、２１  音声中継モジュール、２２  イベント中継モジュール、２３  部屋情報データベース、２４  ユーザ情報データベース、２５  アバター情報データベース、２６  画像データベース、２７  サウンドデータベース、３０  制御モジュール、３１  部屋表示モジュール、３２  音声通話モジュール、３３  アバター表示モジュール、３５  アバターパーツ送信モジュール、３６  アバターパーツストアモジュール、４０  アバターパーツ販売モジュール、４１  ストアデータベース
【図１】
0006751919.tif 000002
【図２】
0006751919.tif 000003
【図３】
0006751919.tif 000004
【図４】
0006751919.tif 000005
【図５】
0006751919.tif 000006
【図６】
0006751919.tif 000007
【図７】
0006751919.tif 000008
【図８】
0006751919.tif 000009
【図９】
0006751919.tif 000010
【図１０】
0006751919.tif 000011
【図１１】
0006751919.tif 000012
【図１２】
0006751919.tif 000013
【図１３】
0006751919.tif 000014
【図１４】
0006751919.tif 000015
【図１５】
0006751919.tif 000016
【図１６】
0006751919.tif 000017
【図１７】
0006751919.tif 000018