(57)【要約】【課題】  本発明の課題は、ネットワークを構築する端末の台数が多くなっても、ピアツーピア通信が可能となるようなネットワークシステムを提供することを目的とする。【解決手段】  本発明は、スレーブ端末が他のグループの端末と通信する場合、マスタ端末を介して通信することで、ネットワークを構築する全ての端末が直接接続されていなくても、各端末間で通信することができ、情報の送受信が可能となる。これにより、１台の端末に直接接続される端末の台数が少なくなり、物理的な要因等による端末の台数制限を越えて多くの台数の端末を接続し、端末間での通信が可能となる。多くの台数の端末からなるネットワークを構築することができる。【選択図】図１
2007336481.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末をピアツーピア通信によって情報の送受信を可能に接続することで構築されたネットワークシステムであって、
互いにピアツーピア通信する複数の端末からなるグループを複数備え、
前記端末は、
マスタとして前記グループ内の他の端末と接続する１台のマスタ端末と、
前記マスタに対するスレーブとして前記マスタ端末に接続する複数のスレーブ端末とを有し、
前記スレーブ端末は、自己の所属するグループ内のマスタ端末及び他のスレーブ端末と通信し、
前記マスタ端末は、他のグループのマスタ端末と通信し、
前記スレーブ端末は、他のグループの端末と通信する場合、自己の所属するグループ内のマスタ端末を介して通信することを特徴とするネットワークシステム。
【請求項２】
複数の前記グループの前記マスタ端末によりマスタグループが形成され、
前記マスタグループ内の複数の前記マスタ端末のうち、１台のマスタ端末を該マスタグループにおけるマスタとして動作させ、
前記マスタグループ内の他の前記マスタ端末を該マスタグループにおけるスレーブとして動作させることを特徴とする請求項１記載のネットワークシステム。
【請求項３】
前記端末は、
ピアツーピア通信で送受信する音声データを入力する音声入力部と、
他の端末から受信した前記音声データを合成する音声データ合成部と、
音声データ合成部で合成された前記音声データを出力する音声出力部とを有することを特徴とする請求項１記載のネットワークシステム。
【請求項４】
前記マスタ端末は、
自己の所属するグループ内の端末から受信した音声データ及び該マスタ端末の前記音声入力部で入力された音声データを前記音声データ合成部で合成し、
前記音声データ合成部で合成した前記音声データを他のグループのマスタ端末に送信することを特徴とする請求項３記載のネットワークシステム。
【請求項５】
前記端末は、
仮想空間の情報を記憶する仮想空間記憶部と、
前記仮想空間記憶部に記憶された前記仮想空間上における該端末に関係するアバターの位置情報を特定する位置情報特定部と、
前記仮想空間記憶部に記憶された前記仮想空間と、前記位置特定管理部によって特定された位置情報に基づいて、前記仮想空間、該端末のアバター及び他の端末のアバターを表示部に表示する表示画面制御部とを備えることを特徴とする請求項３記載のネットワークシステム。
【請求項６】
前記端末は、
自己の所属するグループの他の端末の前記位置情報特定部で特定された他の端末に関係するアバターの位置情報を受信し、
該端末の前記位置特定管理部で自己の所属するグループの他の端末に関係するアバターの位置情報から前記仮想空間上における自己の所属するグループの他の端末に関係するアバターの位置情報を特定し、
該端末の前記表示画面制御部で自己の所属するグループの他の端末に関係するアバターを表示部に表示させることを特徴とする請求項５記載のネットワークシステム。
【請求項７】
前記端末は、
該端末の前記音声データ合成部で、前記仮想空間上における該端末に関係するアバターの位置情報に基づく位置と、
前記仮想空間上における自己の所属するグループの他の端末に関係するアバターの位置情報に基づく位置との直線距離が長くなるのに応じて該当する他の端末から受信した前記音声データの出力により発する音声の大きさを小さくするように調整して、前記音声データを合成することを特徴とする請求項６記載のネットワークシステム。
【請求項８】
前記端末は、
該端末の前記音声データ合成部で、前記仮想空間上における該端末に関係するアバターの位置情報に基づく位置と、
前記仮想空間上における自己の所属するグループの他の端末に関係するアバターの位置情報に基づく位置とを結ぶ直線上に障害物が存在する場合、
該当する他の端末から受信した前記音声データに基づく音声を制限するように前記音声データを合成することを特徴とする請求項６記載のネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の端末をピアツーピア通信によって情報の送受信を可能に接続することで構築されたネットワークシステムに関するものである。
【背景技術】
【０００２】
従来、複数の端末で情報の送受信を可能とするネットワークシステムの１つとして、１台のサーバに対して複数台のクライアント端末が接続することで構築されたネットワークシステムがある。このようなネットワークシステムは、構造が単純である反面、クライアント端末の台数が多くなるとサーバや回線に多大な負荷が発生するという構造的な弱点を有している。
【０００３】
別のネットワークシステムとしては、ピアツーピア通信によるネットワークシステムがある（例えば特許文献１参照）。このピアツーピア通信によるネットワークは、サーバを介さずに複数の端末間で直接通信できるように接続されたネットワークシステムである。このようなピアツーピア通信によって構築されたネットワークシステムは、例えば音声データを送受信して行うボイスチャットなどに利用されている。
【０００４】
【特許文献１】特開２００４−３１２３３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ピアツーピア通信によって構築されたネットワークの場合、端末やネットワーク回線の性能等の物理的な要因により、ピアツーピア通信可能な端末数には制限がある。例えば、音声データのように比較的容量の大きいデータの送受信を行うボイスチャットの場合、接続できる端末数としては、８０台程度が限界である。すなわち、多くの台数の端末によるネットワークを構成することができない。
【０００６】
そこで、本発明は上記実情に鑑み、ネットワークを構築する端末の台数が多くなっても、ピアツーピア通信が可能となるようなネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明のネットワークシステムは、複数の端末をピアツーピア通信によって情報の送受信を可能に接続することで構築されたネットワークシステムであって、互いにピアツーピア通信する複数の端末からなるグループを複数備え、前記端末は、マスタとして前記グループ内の他の端末と接続する１台のマスタ端末と、前記マスタに対するスレーブとして前記マスタ端末に接続する複数のスレーブ端末とを有し、前記スレーブ端末は、自己の所属するグループ内のマスタ端末及び他のスレーブ端末と通信し、前記マスタ端末は、他のグループのマスタ端末と通信し、前記スレーブ端末は、他のグループの端末と通信する場合、自己の所属するグループ内のマスタ端末を介して通信することを特徴とする。
【０００８】
本発明のネットワークシステムによれば、スレーブ端末は自己のグループのマスタ端末と接続し、マスタ端末は自己のグループのスレーブ端末、及び、他のグループのマスタ端末と接続する。スレーブ端末が他のグループの端末と通信する場合、マスタ端末を介して通信することで、ネットワークを構築する全ての端末が直接接続されていなくても、各端末間で通信することができ、情報の送受信が可能となる。これにより、１台の端末に直接接続される端末の台数が少なくなり、物理的な要因等による端末の台数制限を越えて多くの台数の端末を接続し、端末間での通信が可能となる。
【発明の効果】
【０００９】
本発明のネットワークシステムは、スレーブ端末が他のグループの端末と通信する場合、マスタ端末を介して通信することで、ネットワークを構築する全ての端末が直接接続されていなくても、各端末間で通信することができ、情報の送受信が可能となる。これにより、１台の端末に直接接続される端末の台数が少なくなり、物理的な要因等による端末の台数制限を越えて多くの台数の端末を接続し、端末間での通信が可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明のネットワークシステムについて図面を参照しながら説明する。
【００１１】
［実施の形態１］
まず、実施の形態１で説明する本発明のネットワークシステムの構成図を図１に示す。ネットワークシステムは、複数の端末１が互いにピアツーピア通信可能に接続されている。
【００１２】
この複数の端末１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＡＭ（Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶部と、インターフェース等により構成されている。
【００１３】
端末１のＣＰＵは、マイクロプロセッサによって構成され、ＲＯＭに格納されたピアツーピア通信を行うための所定のプログラムを実行することで、インターフェースを介して他の端末１とピアツーピア通信可能に接続する。そして、端末１のＲＡＭは、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）等で構成され、プログラム実行のための一次記憶領域として使用される。
【００１４】
この端末１は、ピアツーピア通信を行うための所定のプログラムを実行することで、インターフェースを介して他の端末１との接続が確立され、互いにピアツーピア通信が可能となる。この確立された接続は、各端末１間を直接ケーブルで接続するようなものに限られるものではなく、無線を利用して接続されたものであってもよい。また、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介して接続されていてもよい。そして、この端末１間で確立された接続は、ネットワークの状態や端末１を操作するユーザの意思により適宜切断することも可能で、さらに別の端末１との間で再び接続を確立することもできる。
【００１５】
このネットワークシステムは、互いにピアツーピア通信する複数の端末１からなるグループ２を複数備えている。図１において、直線又は点線は端末１間でのピアツーピア通信可能な状態を示している。この複数の端末１からなるグループ２は、１台のマスタ端末１−Ｍと、複数のスレーブ端末１−Ｓとにより構成される。
【００１６】
マスタ端末１−Ｍは、自己の所属するグループ２内の端末１でマスタとして動作する。このマスタ端末１−Ｍは、複数のスレーブ端末１−Ｓとピアツーピア通信可能に接続されている。そして、このマスタ端末１−Ｍは、他のグループ２のマスタ端末１−Ｍとピアツーピア通信可能に接続されている。このマスタ端末１−Ｍは、他のグループのマスタ端末１−Ｍとマスタグループ３を形成する。このマスタグループ３が複数ある場合、マスタグループ３内のマスタ端末１−Ｍのうち１台のマスタ端末１−Ｍを他のマスタ端末１−Ｍのマスタとする。
【００１７】
複数のスレーブ端末１−Ｓは、自己の所属するグループ２内の端末１でマスタ端末１−Ｍのスレーブとして動作する。このスレーブ端末１−Ｓは、自己の所属するグループ２内の他のスレーブ端末１−Ｓとピアツーピア通信可能に接続されている。そして、このスレーブ端末１−Ｓは、自己の所属するグループ２のマスタ端末１−Ｍを介して他のグループ２のマスタ端末１−Ｍやスレーブ端末１−Ｓとピアツーピア通信可能に接続されている。すなわち、このネットワークシステムは、グループ２間においては、間接的にスレーブ端末１−Ｓ同士を接続している。
【００１８】
このマスタ端末１−Ｍは、他のグループのマスタ端末１−Ｍと通信することができる以外は、スレーブ端末１−Ｓと略同じである。言い換えると、マスタ端末１−Ｍは、グループ２に所属するスレーブ端末１−Ｓと同等で、グループ２内の端末の代表として他のグループ２の端末１と通信することができる。
【００１９】
このマスタ端末１−Ｍとスレーブ端末１−Ｓは、ネットワークの状態等により、マスタ／スレーブの関係が変更されることがある。すなわち、ネットワークの状態によっては、マスタ端末１−Ｍが他の端末のスレーブとしてスレーブ端末１−Ｓとなったり、スレーブ端末１−Ｓが他の端末のマスタとしてマスタ端末１−Ｍとなったりする。
【００２０】
さらには、１台のマスタ端末１−Ｍと複数のスレーブ端末１−Ｓが所属するグループ２も流動的なものであり、端末１は、ネットワークの状態等によって所属するグループ２が変更されることもある。また、新たなグループ２が形成されることもある。このように、端末のマスタ／スレーブの関係及び所属するグループは、常に流動的なものであり、ネットワークの状態やネットワークに接続されている端末１の性能等により適宜変更される。
【００２１】
図１においては、１つのグループ２に３台の端末１が所属する形で、そのグループ２を３組備えたネットワークシステムである。この場合、１つのグループ２に所属する端末１の台数とグループ２の組数との積により表される９台の端末１によるネットワークシステムが構築される。これを拡張して、１つのグループ２に所属する端末１を１０台とし、そのグループ２が１０組あるとすると、１００台の端末１により構成されるネットワークシステムとなる。
【００２２】
このネットワークシステムは、従来のピアツーピア通信を可能とするネットワークシステムのように各端末が他の端末全てと接続されているのではない。このネットワークシステムは、スレーブ端末１−Ｓが自己のグループのマスタ端末１−Ｍと接続し、他のグループ２のスレーブ端末１−Ｓには直接接続されていない。また、マスタ端末１−Ｍが自己のグループのスレーブ端末１−Ｓ、及び、他のグループ２のマスタ端末１−Ｍと接続し、他のグループ２のスレーブ端末１−Ｓには直接接続されていない。すなわち、１つの端末１に直接接続されている端末１の台数は、ネットワークシステムを構築する端末１の台数に比べて少なくなる。
【００２３】
このネットワークシステムは、端末１を上述のような構成となるように接続することで、スレーブ端末１−Ｓが他のグループ２の端末１と通信する場合、マスタ端末１−Ｍを介して通信することで、ネットワークを構築する全ての端末１が直接接続されていなくても、各端末１間で通信することができ、情報の送受信が可能となる。これにより、１台の端末１に直接接続される端末１の台数が少なくなり、物理的な要因等による端末の台数制限を越えて多くの台数の端末１を接続し、端末１間での通信を可能とする。したがって、従来のネットワークシステムよりも多くの台数の端末１からなるネットワークシステムを構築することができる。
【００２４】
このように、図１で示されるネットワークシステムは、スレーブ端末１−Ｓ同士の接続によるピアツーピア通信、スレーブ端末１−Ｓとマスタ端末１−Ｍとの接続によるピアツーピア通信、マスタ端末１−Ｍ同士の接続によるピアツーピア通信の３つのピアツーピア通信が存在することになる。ここで、スレーブ端末１−Ｓとマスタ端末１−Ｍ間のピアツーピア通信は、同じグループ２内で行われる通信であるため、スレーブ端末１−Ｓ同士間の通信と略同じである。
【００２５】
この図１のような端末１間の通信について、スレーブ端末１−Ｓ同士の通信をマスタ端末１−Ｍ同士間の通信よりも下位の階層と捉えるような階層を用いて説明すると、スレーブ端末１−Ｓ同士の通信及びスレーブ端末１−Ｓとマスタ端末１−Ｍ間の通信も下位階層の通信である。この通信よりも上位階層に所属する通信に、マスタ端末１−Ｍ同士間の通信がある。すなわち、マスタ端末１−Ｍは、下位階層の通信のほかに上位階層の通信を行うこともできる。
【００２６】
これを拡張すると、さらに多くの台数の端末１間でピアツーピア通信をすることができるネットワークシステムを構築することができる。以下、その一例として図２に示された４つの階層を有するネットワークシステムについて説明する。
【００２７】
ここで説明するネットワークシステムは、図２のようにＬｖ１からＬｖ４の４つの階層からなる。そしてこのネットワークの構成としては、複数のグループ（Ｌｖ１）が形成され、グループ（Ｌｖ１）の数と同数のマスタ端末が接続されている。そして、この複数のマスタ端末は、複数のマスタグループ（Ｌｖ２）に分けられている。すなわち、マスタ端末からなるマスタグループ（Ｌｖ２）が複数形成されている。このマスタグループ（Ｌｖ２）に所属する複数のマスタ端末のうち、１台のマスタ端末をマスタグループ（Ｌｖ２）のマスタとして動作させ、マスタグループ（Ｌｖ２）内の他のマスタ端末をこのマスタグループ（Ｌｖ２）のスレーブとして動作させる。
【００２８】
さらに、このマスタグループ（Ｌｖ２）のマスタとしてのマスタ端末は、第２のマスタグループ（Ｌｖ３）が複数形成され、マスタグループ（Ｌｖ２）の数と同数のマスタグループ（Ｌｖ２）のマスタとしてのマスタ端末が接続されている。そして、この複数のマスタグループ（Ｌｖ２）のマスタとしてのマスタ端末は、複数の第２のマスタグループ（Ｌｖ３）に分けられている。すなわち、マスタグループ（Ｌｖ２）のマスタとしてのマスタ端末からなる第２のマスタグループ（Ｌｖ３）が複数形成されている。この第２のマスタグループ（Ｌｖ３）に所属する複数のマスタ端末のうち、１台のマスタ端末を第２のマスタグループ（Ｌｖ３）のマスタとして動作させ、第２のマスタグループ（Ｌｖ３）内の他のマスタ端末を第２のマスタグループ（Ｌｖ３）のスレーブとして動作させる。このとき、第２のマスタグループ（Ｌｖ３）のマスタとしての複数のマスタ端末からなる第３のマスタグループ（Ｌｖ４）が形成される。
【００２９】
例えば、図２のように、１組のグループに所属する端末の数を１０台とし、１００００台の端末１間で通信を行う場合、Ｌｖ１の階層のように、１０台の端末を１組としたグループ（Ｌｖ１）が１０００組の存在することになる。マスタ端末は、グループ（Ｌｖ１）に１台であるため、この１０００組のグループ（Ｌｖ１）から１０００台のマスタ端末が存在する。
【００３０】
この１０００台のマスタ端末は、Ｌｖ２の階層のように、１０台のマスタ端末を１組としたマスタグループ（Ｌｖ２）が１００組形成される。すなわち、１００組のマスタグループ（Ｌｖ２）が存在することになる。このマスタグループ（Ｌｖ２）のマスタ端末も、マスタグループ（Ｌｖ２）に１台であるため、この１００組のマスタグループ（Ｌｖ２）から１００台のマスタ端末が存在する。
【００３１】
この１００台のマスタ端末は、Ｌｖ３の階層のように、１０台のマスタ端末を１組とした第２のマスタグループ（Ｌｖ３）が１０組形成される。すなわち、１０組の第２のマスタグループ（Ｌｖ３）が存在することになる。この第２のマスタグループ（Ｌｖ３）のマスタ端末も第２のマスタグループ（Ｌｖ３）に１台であるため、この１０組の第２のマスタグループ（Ｌｖ３）から１０台のマスタ端末が存在する。そして、この１０台のマスタ端末により、１組の第３のマスタグループ（Ｌｖ４）が形成される。
【００３２】
このように構築されたネットワークシステムでは、Ｌｖ１の階層で所属するグループ（Ｌｖ１）内でのピアツーピア通信が行われる。また、Ｌｖ２の階層では、グループ（Ｌｖ１）のマスタ端末からなるマスタグループ（Ｌｖ２）内でのピアツーピア通信が行われる。さらに、Ｌｖ３の階層では、マスタグループ（Ｌｖ２）のマスタ端末からなる第２のマスタグループ（Ｌｖ３）内でのピアツーピア通信が行われる。そして、Ｌｖ４の階層では、第２のマスタグループ（Ｌｖ３）のマスタ端末からなる第３のマスタグループ（Ｌｖ４）内でのピアツーピア通信が行われる。すなわち、マスタ端末を介することで、他のグループの端末と通信することができる。したがって、多くの台数の端末からなるネットワークシステムを構築することができる。
【００３３】
このように、階層を増加させることでより多くの台数の端末を接続し、端末間でのピアツーピア通信を行うことができ、より多くの台数の端末と情報の送受信が可能となる。
【００３４】
以下、本発明のネットワークシステムにおける端末間の接続数と従来のピアツーピアネットワークにおける端末間の接続数とを具体例を示して比較する。従来のピアツーピアネットワークにおける端末間の接続数を求めるにあたり、まず、ｎ台の端末を接続する際の接続数の一般式を求める。まず、１台の端末が他のｎ−１台の端末に接続するため、１台の端末の接続数はｎ−１となる。この接続数がｎ台の端末分あるため、接続数はｎ×（ｎ−１）となる。この場合、各端末間で接続数が２あることになるが、通常、各端末間での接続は１でよいため、実際に必要となる接続数Ｊは下記式（１）となる。
【００３５】
【数１】
2007336481.tif 000003
【００３６】
次に、本発明のネットワークシステムにおける端末間の接続数を求めるにあたり、ｎ台の端末を接続する際の接続数の一般式を求める。本発明のネットワークシステムは、端末が複数のグループに分けられている。ここでは、ｎ台の端末が均等にグループに分けられているものとし、階層の数をｇとして接続数を求める。
【００３７】
本発明のネットワークシステムでは、最上層の階層に所属するマスタ端末であっても、最下層のグループに所属する。そのため、端末の総数ｎは、１グループの端末の台数をＣとすると、１つのグループの台数Ｃと最下層であるＬｖ１の階層のグループ数との積によって求められる。このグループには１台のマスタ端末があるため、このＬｖ１の階層のグループ数は、マスタ端末の台数に等しい。このマスタ端末も台数Ｃ毎にマスタグループ（Ｌｖ２）を形成しているため、マスタグループ（Ｌｖ２）の台数ＣとＬｖ２の階層のマスタグループ数との積によって求められる。同様に、Ｌｖ２の階層のグループ数も第２のマスタグループ（Ｌｖ３）の台数ＣとＬｖ３の階層の第２のマスタグループ数との積によって求められる。すなわち、本発明のネットワークシステムが、２つの階層（ｇ＝２）からなる場合、グループ内の端末数Ｃ台がグループ数Ｃあることで総数Ｃ×Ｃ台の端末が存在し、３つの階層（ｇ＝３）からなる場合、グループ内の端末数Ｃ台がグループ数Ｃ×Ｃあることで総数Ｃ×Ｃ×Ｃ台の端末が存在することになる。したがって、階層数がｇである場合、グループ内の端末数Ｃ台がグループ数Ｃｇ−１あることで、Ｃ×Ｃｇ−１＝Ｃｇ台の端末が存在することになる。上述のように、ｎ台の端末が均等にグループ分けされているため、これに基づいて１グループにおける端末の台数Ｃを求めると、下記式（２）となる。
【００３８】
【数２】
2007336481.tif 000004
【００３９】
次に接続数を求める。グループ内での接続数をｋとすると、接続数ｋは、上述の式（１）と同様に、下記式（３）で算出できる。
【００４０】
【数３】
2007336481.tif 000005
【００４１】
本発明のネットワークシステムは、最上層の階層に所属するマスタ端末であっても、最下層のグループに所属している。したがって、本発明のネットワークシステムにおける接続数Ｋは、グループ内の接続数ｋとマスタグループを含む全グループ数Ｍによって算出できる。上述のように、各階層におけるグループ数が１つ上層のマスタ端末の台数である。２つの階層（ｇ＝２）である場合、Ｌｖ２の階層のマスタグループの数が１で、Ｌｖ１の階層のグループの数がＣとなるため、全グループ数Ｍは、１＋Ｃとなる。また、３つの階層（ｇ＝３）である場合、Ｌｖ３の階層の第２のマスタグループの数が１で、Ｌｖ２の階層のマスタグループの数がＣで、Ｌｖ１の階層のグループ数がＣ×Ｃであるため、全グループ数Ｍは、１＋Ｃ＋Ｃ×Ｃとなる。したがって、階層数がｇである場合、全グループ数Ｍは、下記式（４）で求められる。
【００４２】
【数４】
2007336481.tif 000006
【００４３】
すなわち、ｎ台の端末に対して本発明のネットワークシステムを使い、均等にグループに分けられている場合、上述の式（２）乃至（４）を使って接続数を求めることができる。
【００４４】
具体的に、１００台の端末を使ってピアツーピア通信可能なネットワークシステムを構築すると、従来のシステムでは、式（１）から接続数ｊは４９５０である。一方、本発明のシステムでは、２つの階層（ｇ＝２）の場合、式（２）から１つのグループ内の端末数Ｃが１０となり、式（３）から１つのグループ内の接続数ｋが４５となり、式（４）から全グループ数Ｍが１１となる。したがって接続数Ｋは４９５となり、従来に比べて１０％となっている。すなわち、ネットワークにかかる負担が１０分の１となり、１０倍効率的に通信が行える。また、２０００台の端末の場合、従来では、接続数ｋが１９９９０００である。これに対し、本発明では、３つの階層がある場合、接続数Ｋが１４２７４であり、従来に比べて０．７％である。このように、より効率的に通信を行うことができる。
【００４５】
上述のネットワークシステムを構成する複数の端末１は、図３のように、音声入力部１０と、音声出力部１１と、音声制御部１２と、表示部１３と、音声データ合成部１４と、仮想空間記憶部１５と、位置情報特定部１６と、表示画面制御部１７と、通信経路確立部１８と、インターフェース部１９とを有している。
【００４６】
仮想空間記憶部１５は、仮想空間の情報を記憶する。この仮想空間記憶部１５に記憶された仮想空間の情報は、後述する表示画面制御部１７の制御に基づいて表示部１３に表示される。仮想空間記憶部１５は、複数の仮想空間の情報を記憶していてもよく、端末１の利用者に選択させるようにしてもよい。
【００４７】
この仮想空間は、図４のように、表示部１３で表示される例えば街や建物などの空間内を示す２次元の画像と、その画像に対応するように２次元の直交座標とにより構成されている。この仮想空間は、３次元の画像と３次元の直交座標であってもよい。すなわち、仮想空間における位置はこの座標により示され、この座標が仮想空間の位置を示す位置情報となる。この仮想空間には、位置情報を有する例えば木や河川、壁や橋などの画像が含まれ、これら画像はその位置情報に基づいて仮想空間の中に表示される。
【００４８】
また、この仮想空間には、自己の端末１がピアツーピア通信によって他の端末１と音声データを送受信することができる状態になると、自己の端末１に関係するアバターとして、例えば人や動物といった画像が表示される。そして、自己の端末１とピアツーピア通信によって音声データを送受信することができる状態となった他の端末１も同様に、他の端末１に関係するアバターとして画像が表示される。
【００４９】
位置情報特定部１６は、仮想空間上に表示される端末１に関係するアバターの位置情報を特定する。位置情報特定部１６は、仮想空間記憶部１５に記憶された仮想空間の情報から直行座標を取得し、位置情報である直交座標中の座標を特定する。この座標に基づいて仮想空間上にアバターが表示される。
【００５０】
また、位置情報特定部１６は、通信経路確立部１８によって他の端末１との接続が確立されると、自己の端末１が所属したグループの情報を受け取り、自己の端末１に関連するアバターが、所属したグループ内の端末１に関連するアバターに比較的近い位置に表示されるように位置情報を特定する。
【００５１】
位置情報特定部１６は、特定された位置情報を表示画面制御部１７及びに渡す。また、位置情報特定部１６は、インターフェース部１９を介して、特定された位置情報を他の端末１に送信する。
【００５２】
表示画面制御部１７は、仮想空間記憶部１５から仮想空間の情報を取得する。また、表示画面制御部１７は、位置情報特定部１６から自己の端末１に関係するアバターの位置情報を取得する。さらに、表示画面制御部１７は、自己の端末１と接続された他の端末１に関係するアバターの位置情報を取得する。この表示画面制御部１７は、仮想空間の情報に基づいて表示部１３に仮想空間を表示させ、さらに、取得した位置情報に基づいて端末１に関係するアバターを仮想空間内に表示させる。
【００５３】
表示部１３は、表示画面制御部１７により制御され、仮想空間や端末１に関係するアバターを表示する。
【００５４】
音声入力部１０は、例えばマイクなどで、音声データを入力し、入力された音声データは、他の端末１とピアツーピア通信で送受信される。音声入力部１０は、入力した音声データを音声データ合成部１４に渡し、端末１がインターフェース部１９を介して他の端末１に送信する。
【００５５】
音声出力部１１は、例えばスピーカーなどで、音声データを出力する。この音声出力部１１は、端末１が受信した音声データを出力する。音声出力部１１は、他の端末１から受信し、後述する音声データ合成部１４で合成された音声データを出力する。
【００５６】
音声データ制御部１２は、音声入力部１０で入力された音声データ及び他の端末１から受信した音声データを制御する。音声データ制御部１２は、他の端末１から受信した音声データを自己の端末１に関係するアバターの位置情報と、受信した音声データを送信した他の端末１に関係するアバターの位置情報とから、仮想空間上におけるアバター間の直線距離を算出する。音声データ制御部１２は、この直線距離に基づいて受信した音声データの出力によって発する音声の大きさを調整するように音声データ合成部１４を制御する。
【００５７】
さらに、音声データ制御部１２は、自己の端末１がスレーブ端末１−Ｓである場合、音声データに自己の端末１に関係するアバターの位置情報を音声データとともに接続している他の端末１に送信する。また、音声データ制御部１２は、自己の端末１がマスタ端末である場合、所属するグループ２内の他の端末１から受信した音声データと自己の端末１の音声入力部１０で入力した音声データとを後述する音声データ合成部１４に合成させる。
【００５８】
音声データ合成部１４は、他の端末１から受信した音声データや自己の端末１で入力された音声データを音声データ制御部１２の制御に基づいて合成する。自己の端末１が所属するグループにおけるマスタ端末１−Ｍである場合、音声データ合成部１４は、所属するグループ内の端末１から入力された音声をミキシングして１つの音声データとなるように合成し、他のグループに送信する音声データとする。
【００５９】
また、音声データ合成部１４は、音声データ制御部１２で算出されたアバター間の直線距離に応じて、音声データの出力により発する音声の大きさを調整する。調整された音声は、他の音声データと合成されて音声出力部１１から出力される。
【００６０】
通信経路確立部１８は、他の端末１とのピアツーピア通信を行うために、インターフェース部１９を介して、他の端末１との接続を確立する。本発明のネットワークシステムは、上述のように複数のグループによって構成されており、通信経路確立部１８は、他の端末１との接続を確立する場合、所望の条件に基づいて所属させるグループを決める。この条件としては、特に限定するものではないが、例えば通信状態を良好に保つために所属する端末１の台数が比較的少ないグループを優先させたり、利用者に選択させたりするといった条件が挙げられる。通信経路確立部１８は、他の端末１との接続が確立すると、所属したグループに応じて自己の端末１に関係するアバターの仮想空間上の座標を特定させるように位置情報特定部１６に通知する。また、通信経路確立部１８は、他の端末１との接続が確立すると、所属したグループを音声データ合成部１４に通知する。
【００６１】
インターフェース部１９は、複数の端末１同士を接続する。このインターフェース部１９を介して、端末１の音声入力部１０で入力された音声データの送信と、他の端末１からの音声データの受信とを行い、複数の端末１０間で音声データを即時交換することで音声によるチャットを実現することができる。
【００６２】
この複数の端末１は、それぞれ、ＣＰＵの制御のもとに、所定のプログラムを実行することにより、音声制御部１２、音声データ合成部１４、仮想空間記憶部１５、位置情報特定部１６、表示画面制御部１７、通信経路確立部１８をはじめとする各部材の機能を実現する。
【００６３】
以下、音声データの送受信について説明する。まず、音声データの送受信は、図５のような流れで各処理が行われる。まず、利用者が利用する自己の端末１の表示画面制御部１７は、ステップＳ１０において、表示部１３に表示させたい仮想空間を仮想空間記憶部１５から仮想空間の情報として取得する。
【００６４】
表示画面制御部１７は、ステップＳ１１において、取得した仮想空間の情報に基づいて表示部１３に仮想空間を表示させる。
【００６５】
仮想空間が表示された後、表示画面制御部１７は、その旨を通信経路確立部１８に通知する。通知を受けた通信経路確立部１８は、ステップＳ１２において、同じ仮想空間を表示部１３に表示させている端末を探索する。
【００６６】
そして、通信経路確立部１８は、ステップＳ１３において、後述する探索された端末１との接続処理を行う。
【００６７】
接続処理が行われた後、通信経路確立部１８は、接続処理が終了した旨を音声データ制御部１２に通知する。通知を受けた音声データ制御部１２は、ステップＳ１４において、後述する音声データの処理を行う。この音声データの処理は、利用者が自己の端末１と他の端末１との接続を切断するまで続けられる。
【００６８】
利用者が自己の端末１と他の端末１との接続を切断する場合、通信経路確立部１８は、ステップＳ１５において、他の端末１との接続を切断し、この音声データの送受信を終了させる。
【００６９】
以下、他の端末１との接続処理及び音声データの処理について詳細に説明する。
【００７０】
端末１は、上述のようなネットワークシステムにおいて、通信経路確立部１８によってピアツーピア通信によって情報の送受信が可能なように他の端末１と接続することにより、マスタ端末１−Ｍまたはスレーブ端末１−Ｓとなる。以下、他の端末１への接続処理について図６を参照しながら説明する。
【００７１】
自己の端末１の通信経路確立部１８は、ステップＳ３０１において、接続しようとしているネットワーク内のグループ２のうち、端末１間での通信状況を確認しながら、所属させるグループ２を探索する。
【００７２】
グループ２に所属させる条件は、特に限定されるものではなく適宜変更可能である。例えば、通信状態を良好に保つために所属する端末１の台数が比較的少ないグループを優先させたり、利用者に選択させたりするといった条件が挙げられる。
【００７３】
探索後、通信経路確立部１８は、ステップＳ３０２において、探索したグループ２内に所属する他の端末１のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを取得する。
【００７４】
そして、通信経路確立部１８は、ステップＳ３０３において、取得したＩＰアドレスを使って他の端末１とピアツーピア通信可能に接続する。
【００７５】
ピアツーピア通信可能に接続された複数の端末１の通信経路確立部１８は、ステップＳ３０４において、所属するグループ２内のマスタ端末１−Ｍを選び出す。例えば、所属するグループ２の中で例えば通信速度が最も速い端末１をマスタ端末１−Ｍとする。グループ２内のマスタ端末１−Ｍ以外の端末１は、スレーブ端末１−Ｓとなる。
【００７６】
マスタ端末１−Ｍの選択後、通信経路確立部１８は、ステップＳ３０５において、自己の端末１がマスタ端末１−Ｍであるか否かを確認する。ステップＳ３０５において、通信経路確立部１８が自己の端末１がマスタ端末１−Ｍでない、すなわちスレーブ端末１−Ｓであると判断した場合、ステップＳ３１２に移行する。
【００７７】
一方、ステップＳ３０５において、通信経路確立部１８が自己の端末１がマスタ端末１−Ｍであると判断した場合、ステップＳ３０６に移行する。
【００７８】
自己の端末１がマスタ端末１−Ｍであると判断した通信経路確立部１８は、ステップＳ３０６において、自己の端末１を所属させるマスタグループ３を探索する。この場合も上述と同様にマスタ端末１−Ｍ間の通信状況を確認しながら、マスタグループ３を探索する。
【００７９】
探索後、通信経路確立部１８は、ステップＳ３０７において、探索したマスタグループ３内に所属する他のマスタ端末１−ＭのＩＰアドレスを取得する。
【００８０】
そして、通信経路確立部１８は、ステップＳ３０８において、取得したＩＰアドレスを使って他のマスタ端末１−Ｍとピアツーピア通信可能に接続する。
【００８１】
ピアツーピア通信可能に接続された複数のマスタ端末１−Ｍの通信経路確立部１８は、ステップＳ３０９において、上述と同様に、所属するマスタグループ３内のマスタ端末１−Ｍを選び出す。
【００８２】
マスタ端末１−Ｍの選択後、通信経路確立部１８は、ステップＳ３１０において、自己の端末１がマスタ端末１−Ｍであるか否かを確認する。ステップＳ３１０において、通信経路確立部１８が自己の端末１がマスタグループ３におけるマスタ端末１−Ｍでないと判断した場合、ステップＳ３１２に移行する。
【００８３】
一方、ステップＳ３１０において、通信経路確立部１８が自己の端末１がマスタグループ３におけるマスタ端末１−Ｍであると判断した場合、ステップＳ３１１に移行する。
【００８４】
自己の端末１がマスタ端末１−Ｍであると判断した通信経路確立部１８は、ステップＳ３１１において、自己の所属するマスタグループ３以外のマスタグループ３が存在するか否かを判断する。その結果、通信経路確立部１８が自己の所属するマスタグループ３以外のマスタグループ３が存在すると判断した場合、ステップＳ３０６に移行し、ステップＳ３０６乃至ステップＳ３１１を繰り返す。これにより、図１及び図２のような階層を有するネットワークを構築することができる。
【００８５】
一方、通信経路確立部１８が自己の所属するマスタグループ３以外のマスタグループ３が存在しないと判断した場合、ステップＳ３１２に移行する。
【００８６】
その後、通信経路確立部１８は、他の端末１との接続が確立したことを位置情報特定部１６及び表示画面制御部１７に通知する。その通知を受けた位置情報特定部１６は、ステップＳ３１２において、表示部１３に表示されている仮想空間上の自己の端末１に関係するアバターの座標を特定する。このとき、位置情報特定部１６は、自己の端末１に関係するアバターが、所属するグループ２の他の端末１に関係するアバターの座標に比較的近い座標に表示されるように座標を決める。
【００８７】
その後、位置情報特定部１６は、ステップＳ３１３インターフェース部１９を介して、他の端末１に関係するアバターの位置情報を取得する。位置情報特定部１６は、取得した位置情報を自己の端末１に関係するアバターの位置情報とともに表示画面制御部１７に渡す。
【００８８】
自己の端末１及び他の端末１に関係するアバターの位置情報を受け取ると、表示画面制御部１７は、ステップＳ３１４において、受け取った位置情報に基づいて自己の端末１及び他の端末１に関係するアバターを表示させる。
【００８９】
このように、他の端末１との接続が確立した自己の端末１は、ピアツーピア通信によって音声データを送受信することができる。以下、音声データの処理について説明するが、音声データの処理は、音声データの入力時の処理と音声データの受信時の処理とに分けて説明する。この音声データの入力時の処理と音声データの受信時の処理は、同時に行われてもよい。
【００９０】
以下、音声データの入力時の処理について図７を用いて説明する。まず、ステップＳ１０１において、音声データが音声入力部１０から入力される。そして、音声入力部１０は、ステップＳ１０２において、入力された音声データを音声データ制御部１２に渡す。
【００９１】
音声データ制御部１２は、音声データを受け取ると、位置情報特定部１６に仮想空間上に表示された自己の端末１に関係するアバターの位置情報を特定するように要求する。要求を受けた位置情報特定部１６は、ステップＳ１０３において、仮想空間上に表示されたアバターの位置情報を特定する。
【００９２】
位置情報を特定した後、位置情報特定部１６は、ステップＳ１０４において、特定された位置情報を音声データ制御部１２に渡す。音声データ制御部１２は、位置情報を受け取とると、音声データと位置情報とを送信するために、自己の端末１と他の端末１との接続環境を確認するように通信経路確立部１８に要求する。
【００９３】
要求を受けた通信経路確立部１８は、ステップＳ１０５において、自己の端末１と他の端末１との接続環境を確認する。このとき、通信経路確立部１８は、自己の端末１と接続する他の端末１を全て検出し、自己の端末１が所属するグループ２内の他の端末１を特定する。そして、自己の端末１が所属するグループ２の全ての端末１の中で、他のグループ２のマスタ端末１−Ｍと接続する端末１を探し出す。
【００９４】
そして、通信経路確立部１８は、ステップＳ１０６において、自己の端末１がスレーブ端末１−Ｓであるか否かを確認する。自己の端末１がスレーブ端末１−Ｓである場合、通信経路確立部１８は、その旨を音声データ制御部１２に通知する。ステップＳ１１１に移行する。
【００９５】
ステップＳ１０７において、自己の端末１がスレーブ端末１−Ｓでない場合、すなわちマスタ端末１−Ｍである場合、通信経路確立部１８は、その旨を音声データ制御部１２に通知する。通知を受けた音声データ制御部１２は、ステップＳ１０７において、後述するように自己の端末１の所属するグループ２内の他の端末１から受信した音声データと、入力された音声データとを音声データ合成部１４に渡す。
【００９６】
音声データを受け取った音声データ合成部１４は、ステップＳ１０８において、入力された音声データと、自己の端末１の所属するグループ２内の他の端末１から受信した音声データとを合成し、１つの音声データとする。そして、音声データ合成部１４は、ステップＳ１０９において、合成された音声データを音声データ制御部１２に渡す。
【００９７】
音声データ制御部１２は、合成された音声データを受け取ると、ステップＳ１１０において、インターフェース部１９を介して、位置情報と合成された音声データとを他のグループ２のマスタ端末１−Ｍに送信する。このとき、マスタグループ３が複数ある場合、音声データ制御部１２は、所属するマスタグループ３内の他のマスタ端末１−Ｍに合成された音声データを送信し、ステップＳ１１１に移行する。
【００９８】
音声データ制御部１２は、ステップＳ１１１において、インターフェース部１９を介して、位置情報と入力された音声データとを自己の端末１が所属するグループ２内の全ての他の端末１に送信する。送信された音声データは他の端末１で受信される。
【００９９】
このように、自己の端末１がマスタ端末１−Ｍである場合、他のグループ２に所属するマスタ端末１−Ｍには、自己の端末１が所属するグループ内の音声データが合成された１つの音声データが送信される。これにより、他のグループのマスタ端末１−Ｍは、１台の自己の端末１と接続し、１つの音声データを受信することで、自己の端末１が所属するグループ２内で送受信される全ての音声データと同等の音声データを受信することになる。したがって、ネットワーク及び端末１にかかる負担が軽減され、接続可能な台数制限を超えて接続された多くの台数の端末１から入力された音声データを受信することができる。すなわち、端末１及び本発明のネットワークシステムを介して、大人数の利用者と会話することができる。
【０１００】
送信された音声データと位置情報は、他の端末１に受信され、他の端末１の音声出力部１１から出力される。以下、音声データの受信及び出力について図８を用いて説明する。
【０１０１】
ネットワークに接続された端末１は、ステップＳ２０１において、インターフェース部１９で他の端末１から送信されてきた音声データを受信する。そして、ステップＳ２０２において、受信した音声データを音声データ制御部１２に渡す。
【０１０２】
音声データ制御部１２は、音声データを受け取ると、位置情報特定部１６に仮想空間上に表示された自己の端末１に関係するアバターの位置情報を特定するように要求する。要求を受けた位置情報特定部１６は、ステップＳ２０３において、仮想空間上に表示されたアバターの位置情報を特定する。
【０１０３】
位置情報を特定した後、位置情報特定部１６は、ステップＳ２０４において、特定された位置情報を音声データ制御部１２に渡す。音声データ制御部１２は、ステップＳ２０５において、位置情報を受け取ると、音声データを送信した他の端末１の位置情報と位置情報特定部１６で特定した位置情報とから、自己の端末１に関係するアバターと音声データを送信した他の端末１に関係するアバターとの仮想空間上での直線距離を算出する。
【０１０４】
仮想空間上に表示されるアバターの位置情報は、図４のように、仮想空間上の位置を示す座標によって示される。したがって、この２つの座標から距離を算出することで直線距離が求めることができる。
【０１０５】
例えば、図４のように、２次元の仮想空間（Ｘ軸Ｙ軸による２次元座標）で、自己の端末１に関係するアバター８１が位置Ａ（座標（ａ，ｂ））に表示され、音声データを送信した端末１に関係するアバター８２が位置Ｄ（座標（ｄ，ｅ））に表示されるている場合、位置情報特定部１６は、自己の端末１に関係するアバター８１の位置Ａの座標（ａ，ｂ）を位置情報として特定する。そして、音声データを送信した端末１に関係するアバター８２の位置情報（位置Ｄの座標（ｄ，ｅ））は、音声データとともに送信される。この２つのアバターの直線Ｌの距離は、この位置Ａ（ａ，ｂ）、位置Ｄ（ｄ，ｅ）との２点間の距離であるため、｛（ａ−ｄ）２＋（ｂ−ｅ）２｝１／２によって算出される。
【０１０６】
同様に、３次元の仮想空間（Ｘ軸Ｙ軸Ｚ軸による３次元座標）で、２つのアバターがそれぞれ座標（ａ，ｂ，ｃ）、（ｄ，ｅ，ｆ）で示される位置に表示される場合、この２つのアバターの直線距離は、｛（ａ−ｄ）２＋（ｂ−ｅ）２＋（ｃ−ｆ）２｝１／２によって算出される。
【０１０７】
このように、直線距離が算出されると、音声データ制御部１２は、ステップＳ２０６において、受信した音声データと算出した直線距離の情報を音声データ合成部１４に渡す。
【０１０８】
音声データと直線距離の情報とを受け取った音声データ合成部１４は、ステップＳ２０７において、算出された直線距離に応じて音声データの出力により発する音声の大きさを調整する。このとき、直線距離が長くなるほど音声データの出力により発する音声の大きさを小さくするように調整する。例えば、図９のような直線距離がＬ１からＬ２のように長くなると、音声の大きさがＶ１からＶ２のように連続的に変化する式を予め音声データ合成部１４が備えるておくことで、音声データ合成部１４は、受け取った直線距離に応じて音声データの出力により発する音声の大きさを調整することができる。これにより、現実の世界のように遠くの人からの声が聞き取り難いと同様に、この直線距離が長くなるほど音声データの出力により発する音声の大きさが小さくなる。したがって、現実の世界の会話に近い状況で、チャットを行うことができる。
【０１０９】
音声データの出力により発する音声の大きさを調整した音声データ合成部１４は、ステップＳ２０８において、そのほかに出力する音声データがあるか否かを確認する。すなわち、受信した音声データと一緒に音声出力部１１で出力する音声データがあるか否かを確認する。
【０１１０】
この一緒に出力する音声データとは、調整した音声データを送信した端末１以外の端末１からの音声データや、仮想空間上の特定の位置から出される例えば川の流れる音や鳥のさえずりや風によってなびく木々の音、ラジオから流れる音楽や車が走り去る音など、現実の世界において実際に耳にする音が挙げられる。
【０１１１】
ステップＳ２０８において、音声データ合成部１４が調整された音声データの他に出力する音声データがないと判断した場合、ステップＳ２１１に移行する。音声データ合成部１４は、ステップＳ２１１において、大きさを調整した音声データを音声出力部１１に渡し、ステップＳ２１２に移行する。
【０１１２】
ステップＳ２０８において、音声データ合成部１４が調整された音声データの他に出力する音声デーがあると判断した場合、ステップＳ２０９に移行する。音声データ合成部１４は、ステップＳ２０９において、大きさを調整した音声データと他の音声データを合成する。このとき、他の音声データも、上述のように、直線距離に応じて出力により発する音声の大きさが調整されている。
【０１１３】
音声データが合成された後、音声データ合成部１４は、合成された音声データを音声出力部１１し、ステップＳ２１２に移行する。
【０１１４】
音声出力部１１は、ステップＳ２１２において、受け取った音声データを出力する。
【０１１５】
このように、接続された端末１間で音声データを送受信できる。音声データの送信の際の上述のような処理は、音声入力部１０で音声が入力されるたびに即時に行われる。また、音声データの受信の際の上述のような処理は、音声データを受信するたびに行われる。したがって、音声データの送受信は、即時に交換されるため、仮想空間上に表示される各端末１に関係するアバターを介して、端末１を利用する利用者同士のチャットを行うことができる。
【０１１６】
また、マスタ端末１−Ｍは、マスタ端末１−Ｍがグループ２内の他の端末１から受信した音声データを合成して、１つの音声データを形成し、この音声データを他のグループ２のマスタ端末１−Ｍに送信することで、他のグループ２の音声データも受信することができる。したがって、本発明のネットーワークシステムで、音声データを送受信しても端末１及びネットワークにかかる負担が小さくなり、大人数での音声データの送受信を可能とする。すなわち、従来物理的な要因で行うことができなかった例えば８０台以上の端末１を接続し、その端末１によって構築されたネットワークシステムを利用して大人数でのチャットを行うことができる。
【０１１７】
さらに、本発明のネットワークシステムは、仮想空間記憶部１５で記憶した仮想空間の情報と、位置情報特定部１６で特定した自己の端末１に関係するアバターの位置情報と特定し、表示画面制御部１７で仮想空間の情報とアバターの位置情報とに基づいて表示部１３に表示させるように制御する。またさらに、自己の端末１に関係するアバターだけでなく、他の端末１に関係するアバターの位置情報を他の端末１から受信し、その位置情報に基づいて他の端末１に関係するアバターのを表示することができる。これにより、端末間の接続関係を視覚的にとらえることができるだけでなく、端末間での音声データの送受信してチャットを行うことで、仮想空間上のアバターを介しての会話が可能となる。また、上述のネットワークシステムによって大人数での会話も可能となり、仮想空間上での会議なども行うことができる。
【０１１８】
現実の世界において、人の声等は壁など音声の伝達を妨げる障害物があることで遮断されることがある。上述したピアツーピア通信を利用した音声データの送受信においても、そのような障害物を仮想空間上に表示させてもよい。
【０１１９】
この仮想空間上に表示される障害物は、障害物情報として仮想空間の情報とともに仮想空間記憶部１５に記憶される。この障害物情報は、障害物の画像情報と障害物の情報と仮想空間上に表示される位置情報とにより構成されている。障害物の情報とは、例えば自己の端末１に関係するアバターの位置情報と、自己の端末１が所属するグループ２内の他の端末１の関係するアバターの位置情報とからアバター間を結ぶ直線上にこの障害物が存在する場合、音声データを受信した端末１は、その音声データの出力により発する音声の大きさを制限する。例えば、受信した音声データを出力する際に、音声データに基づく音声の大きさを障害物がない場合に比べて５０％の大きさにするといった制限や、音声データを出力しないといった制限などが挙げられる。このような障害物の他の例としては、音声を所定の吸収率で吸収する壁やいりくんだ地形等が挙げられる。
【０１２０】
具体的に、図１０を参照して説明する。自己の端末１が上述のように他の端末１とピアツーピア通信可能に接続されることで、図１０のように、自己の端末１に関係するアバター８１が位置Ａの座標（ａ，ｂ）という位置情報を有して仮想空間上に表示される。また、他の端末１に関係するアバター８２も位置Ｄの座標（ｄ，ｅ）という位置情報を有して仮想空間上に表示される。このとき、仮想空間上には、アバター８１が表示される位置Ａ（ａ，ｂ）とアバター８２が表示される位置Ｄ（ｄ，ｅ）とを結ぶ直線Ｌ上の位置Ｚ（座標（ｘ，ｙ））に障害物５が表示されている。
【０１２１】
表示画面制御部１７は、自己の端末１がグループ２内の他の端末１から音声データと位置情報とを受信すると、自己の端末１の関係するアバター８１の位置情報と他の端末１から受信した位置情報とに基づいて仮想空間上の直線Ｌを導き出す。そして、表示画面制御部１７は、この直線Ｌが通る座標を取得し、確認した座標の中に障害物５が表示される位置Ｘの座標が含まれているか否かを確認し、アバター８１とアバター８２とを結ぶ直線Ｌ上に障害物があるか否かを確認する。そして、表示画面制御部１７は、直線Ｌ上の障害物の有無を音声データ制御部１２に通知する。
【０１２２】
音声データ制御部１２は、表示画面制御部１７から障害物が直線Ｌ上に無いことを通知されると、上述と同様に直線Ｌの直線距離を算出する。音声データ合成部１４は、算出した直線距離に基づいて音声データの出力により発する音声の大きさを調整する。一方、音声データ制御部１２は、表示画面制御部１７から障害物が直線Ｌ上に有ることを通知されると、障害物５の情報を音声データ制御部１２に渡す。音声データ制御部１２は、直線Ｌの直線距離を算出する。そして、算出した直線距離と、障害物５の情報を音声データ合成部１４に渡す。音声データ合成部１４は、算出した直線距離に基づいて音声データの出力により発する音声の大きさを調整する。また、音声データ合成部１４は、障害物５の情報を解析し、その障害物５の情報に応じて音声データの出力により発する音声の大きさを制限し、他の音声データと合成する。その他の例として、音声を吸収する壁が障害物である場合、この壁が直線Ｌ上にあることを通知されると、直線距離に基づいて音声データの出力により発する音声の大きさを調節した後、所定の吸収率をかけるようにして音声を制限する。また、直線Ｌがいりくんだ地形を通過することを通知すると、そのいりくんだ地形を避けるような曲線がアバター間で形成され、その曲線の道のりが算出される。この道のりに基づいて音声データの出力により発する音声の大きさを調整する。
【０１２３】
これにより、音声データを送受信することで、より現実の世界での会話に近い状態で音声によるチャットを行うことができる。上述において障害物の位置情報は、１つの位置の座標によって示されたものについて説明したが、本発明はこれに限定されるものではない。例えば、障害物の位置情報として、例えば任意の位置から別の任意の位置までを結ぶような直線や曲線の情報としてもよく、複数の位置の座標を位置情報としてもよい。
【０１２４】
本発明では、例えば障害物としての壁や扉を有するような仮想空間においても、上述と同様に音声データを送受信することができる。この仮想空間には、壁に囲まれた部屋が複数あり、この部屋の出入り口に扉を有している。
【０１２５】
部屋の内側及び外側に端末１に関係するアバターが表示されているものとして説明すると、壁と扉を上述した障害物として機能させることで、例えば部屋の外に表示されたアバターに関係する端末１が受信した音声データに基づく音声の出力を禁止させるようにしてもよい。これにより、音声データは部屋の中に表示されたアバターに関係する端末１のみで出力されるように制限することができ、例えば会議などのように他人に聞かせたくない内容の会話も本発明のネットワークシステムを介して行うことができる。
【０１２６】
また、上述のような部屋を有する仮想空間を表示して、音声データの送受信を行う場合、グループ２と仮想空間上の部屋とを対応させてもよい。この場合、自己の端末１は、他の端末１と接続する際に所属するグループ２に対応する部屋内に表示される。
【０１２７】
仮想空間上に表示されるアバターは、そのアバターに関係する端末１の操作によって移動させることもできる。この場合、端末１には、図１１のように、操作部２０がさらに備えられる。この操作部２０は、例えばマウスやキーボードやコントローラなどが挙げられ、特に限定するものではない。この操作部２０は、アバターを移動させることができる。この操作部２０は、例えばアバターの移動させるために動かしたマウスの動作量、マウスを動かした方向といった操作部２０の動作情報を位置情報特定部１６に渡す。
【０１２８】
動作情報のを受け取った位置情報特定部１６は、その動作量に基づいて、現在のアバターの座標からのアバターの移動量を求め、新たな座標を特定する。例えば、図１２のように、現在のアバター８５の位置Ｂ（座標（ｍ，ｎ））から、操作部２０であるマウスを動かすことで、位置Ｃ（座標（ｐ，ｑ））にアバター８５を移送させる場合について説明する。まず、アバター８５が表示された仮想空間で、マウスを位置Ｂ（ｍ，ｎ）から位置Ｃ（ｐ，ｑ）に向かって動かし、その動作量と動作させた方向を動作情報として位置情報特定部１６に渡す。位置情報特定部１６は、動作情報受け取ることで、操作部２０の動作量と動作させた方向を解析し、所定の処理によってアバター８５の移動量を求め、アバター８５の新たな座標となる位置Ｃ（ｐ，ｑ）を位置情報として特定する。特定した位置情報を表示画面制御部１７に渡し、その位置情報に基づいてアバター８５を仮想空間上の位置Ｂ（ｍ，ｎ）から位置Ｃ（ｐ，ｑ）に移動させる。
【０１２９】
これにより、例えば上述のように、アバター間の直線距離が遠かったり、障害物があったりすることで音声データの出力により発する音声の大きさが十分で無い場合などに、音声の大きさが十分となるようにアバターを移動させ、円滑なチャットを行うことができる。
【０１３０】
この操作部２０によって、仮想空間上で、自己の端末１に関係するアバターが自己の端末１が所属しない他のグループ２に所属する端末１に近付いた場合、通信経路確立部１８は、通信状況を鑑みながら、アバターが近づいた他の端末１の所属するグループ２に自己の端末１を所属させるように、接続する端末１を変更することも可能である。このように、仮想空間を利用することで、グループ形成の手がかりとすることができる。本発明では、同一グループにおける端末間の通信と、他のグループにおける端末間の通信と比べると、同一グループにいる方がよりよい。特定の端末１と音声データを効率的に送受信したい場合、この仮想空間を利用して、自己の端末１に関係するアバターを移動させ、特定の端末１に関係するアバターに近づけることで、グループが再編成される。したがって、ネットワーク構造を簡単に変更することができる。
【０１３１】
さらにまた、この仮想空間には、一方的に音声を発する例えばラジオ等の音源のような端末があってもよく、この音源は、他の端末１から音声データを受信しない。そして、音源からは常に音声データが各端末１に送信され、音源からの音声データを受信した端末１は、端末１と音源との直線距離を算出し、音源から受信した音声データの出力によって発する音声の大きさを調整して、音声データ合成部１４で他の音声データと合成して出力する。これにより、音声データを送受信することでチャットだけではなく、大人数でラジオを聞くこともできる。この音源は、ラジオに限定されるものではなく、現実の世界にある動物園の檻の前にマイクを備え、そのマイクを介して動物の鳴き声などを音声データとして送信したり、コンサートの会場に備えられているマイクを通じて、会場内の音声を音声データとして送信したりすることもできる。すなわち、本発明のネットワークシステムを利用することで、現実の世界で行われるものをその場にいなくても体験することができる。
【０１３２】
仮想空間上にアバターとして表示される画像は、仮想空間記憶部１５に記憶されていてもよいが、他の端末１と接続する際に他の端末１から受信してもよい。そしてこのアバターとして表示される画像は、利用者によって変更するようにしてもよい。
【図面の簡単な説明】
【０１３３】
【図１】本発明のネットワークシステムの一例を示す図である。
【図２】４つの階層を有するように構成された本発明のネットワークシステムの概略図である。
【図３】本発明のネットワークシステムを構築する端末の構成を示すブロック図である。
【図４】本発明のネットワークシステムを構築する端末の表示部に表示される仮想空間を説明する図である。
【図５】本発明のネットワークシステムを構築する端末で音声データを送受信する際の処理に関するフロー図である。
【図６】本発明のネットワークシステムを構築する端末同士の接続処理に関するフロー図である。
【図７】本発明のネットワークシステムを構築する端末で音声データ入力時の音声データの処理に関するフロー図である。
【図８】本発明のネットワークシステムを構築する端末で音声データ受信時の音声データの処理に関するフロー図である。
【図９】仮想空間上に表示されたアバター間の直線距離と音声の大きさの関係を示す図である。
【図１０】障害物が表示された仮想空間における本発明のネットワークシステムを構築する端末での音声データの送受信を説明する図である。
【図１１】本発明のネットワークシステムを構築する端末の別の構成を示すブロック図である。
【図１２】本発明のネットワークシステムを構築する端末において、アバターの移動について説明する図である。
【符号の説明】
【０１３４】
１  端末
１−Ｍ  マスタ端末
１−Ｓ  スレーブ端末
２  グループ
３  マスタグループ
【図１】
2007336481.tif 000007
【図２】
2007336481.tif 000008
【図３】
2007336481.tif 000009
【図４】
2007336481.tif 000010
【図５】
2007336481.tif 000011
【図６】
2007336481.tif 000012
【図７】
2007336481.tif 000013
【図８】
2007336481.tif 000014
【図９】
2007336481.tif 000015
【図１０】
2007336481.tif 000016
【図１１】
2007336481.tif 000017
【図１２】
2007336481.tif 000018