(57)【特許請求の範囲】
【請求項１】
他の情報処理装置とともに、ネットワークを介してサーバに接続され、ユーザの分身としてのアバタが活動する共有仮想空間の提供を受ける情報処理装置において、
前記情報処理装置のユーザにより指定された、前記他の情報処理装置のユーザに対応するアバタをフィルタリング対象として登録する登録手段と、
前記サーバより送信されてきた前記登録手段により登録されたアバタに関するデータをフィルタリングするフィルタリング手段と、
前記フィルタリング手段によりフィルタリングされた後の前記データに基づいて、前記共有仮想空間に関する処理を行う処理手段と、
前記情報処理装置のユーザに対応するアバタをフィルタリング対象として登録することを要求する登録要求を、前記他の情報処理装置に対して通知する登録要求手段と
を備え、
前記登録手段は、前記他の情報処理装置からの前記登録要求にも対応して、前記他の情報処理装置のユーザに対応するアバタをフィルタリング対象として登録する
情報処理装置。
【請求項２】
前記登録要求手段は、前記情報処理装置のユーザにより指定された、前記他の情報処理装置のユーザに対応するアバタがフィルタリング対象として登録されることに対応して、前記登録要求を、前記他の情報処理装置に対して通知する
請求項１に記載の情報処理装置。
【請求項３】
他の情報処理装置とともに、ネットワークを介してサーバに接続され、ユーザの分身としてのアバタが活動する共有仮想空間の提供を受ける情報処理装置の情報処理方法において、
前記情報処理装置のユーザにより指定された、前記他の情報処理装置のユーザに対応するアバタをフィルタリング対象として登録する登録ステップと、
前記サーバより送信されてきた前記登録ステップの処理により登録されたアバタに関するデータをフィルタリングするフィルタリングステップと、
前記フィルタリングステップの処理によりフィルタリングされた後の前記データに基づいて、前記共有仮想空間に関する処理を行う処理ステップと、
前記情報処理装置のユーザに対応するアバタをフィルタリング対象として登録することを要求する登録要求を、前記他の情報処理装置に対して通知する登録要求ステップと
を含み、
前記登録ステップの処理では、前記他の情報処理装置からの前記登録要求にも対応して、前記他の情報処理装置のユーザに対応するアバタをフィルタリング対象として登録する
情報処理方法。
【請求項４】
他の情報処理装置とともに、ネットワークを介してサーバに接続され、ユーザの分身としてのアバタが活動する共有仮想空間の提供を受ける情報処理装置のコンピュータに、
前記情報処理装置のユーザにより指定された、前記他の情報処理装置のユーザに対応するアバタをフィルタリング対象として登録する登録ステップと、
前記サーバより送信されてきた前記登録ステップの処理により登録されたアバタに関するデータをフィルタリングするフィルタリングステップと、
前記フィルタリングステップの処理によりフィルタリングされた後の前記データに基づいて、前記共有仮想空間に関する処理を行う処理ステップと、
前記情報処理装置のユーザに対応するアバタをフィルタリング対象として登録することを要求する登録要求を、前記他の情報処理装置に対して通知する登録要求ステップと
を含み、
前記登録ステップの処理では、前記他の情報処理装置からの前記登録要求にも対応して、前記他の情報処理装置のユーザに対応するアバタをフィルタリング対象として登録する
処理を実行させる、コンピュータが読み取り可能なプログラムが記録されている記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理装置および方法、並びに記録媒体に関し、特に、共有仮想空間において、各アバタが、気分を害されることなく活動できるようにした情報処理装置および方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
従来、NIFTY-Serve(商標)や米国のCompuServe(商標)などのように、複数の利用者が自らのパーソナルコンピュータを、モデムおよび公衆電話回線網を介してセンターのホストコンピュータに接続し、所定の通信プロトコルに基づいてホストコンピュータにアクセスする、いわゆるパソコン通信サービスの分野においては、Habitat（商標）と呼ばれるサイバースペースのサービスが知られている。
【０００３】
Habitatは、米国LucasFilm社によって1985年から開発が始められ、米国商業ネットワークであるQuantumLink社で約３年間運用された後、1990年2月に富士通Habitat（商標）としてNIFTY-Serveでそのサービスが開始されたものである。このHabitatにおいては、2次元グラフィックスで描画された「ポピュロポリス（Populopolis）」と呼ばれる仮想の都市に、アバタ（avatar；インド神話に登場する神の化身）と呼ばれるユーザの分身を送り込み、ユーザ同士がチャット（Chat；文字の入力と表示によるテキストベースでのリアルタイムの対話）などを行うことができる。このHabitatの更に詳細な説明については、サイバースペース，マイケル・ベネディクト編，1994年3月20日初版発行，ＮＴＴ出版 ISBN4−87188−265−9C0010（原著；Cyberspace：First Steps ,Michael Benedikt,ed. 1991,MIT PressCambrige,MA ISBN0−262−02327−X）第282頁乃至第307頁を参照されたい。
【０００４】
この種のパソコン通信サービスで運用されている従来のサイバースペースシステムにおいては、仮想的な街並みや部屋の内部の様子が2次元グラフィックスで描画されており、アバタを奥行きまたは手前方向へ移動させる場合、単にアバタを2次元グラフィックスの背景上で上下に移動させるだけであり、仮想空間内での歩行や移動を疑似体験させるには表示の上での表現力が乏しかった。また、自分の分身であるアバタと他人のアバタが表示された仮想空間を、第３者の視点で見ることになるため、この点においても、疑似体験の感覚が損なわれるものであった。
【０００５】
そこで、特開平9-81781号公報に開示されているように、仮想空間を３次元グラフィックスで表示し、ユーザがアバタの視点で自由に歩き回れる機能が、VRML(Virtual Reality Modeling Language)と呼ばれる3次元グラフィクス・データの記述言語を利用することによって実現されている。また、ユーザの代理となるアバタを用いてチャットを行う種々のサイバースペースの考察に関しては、日経エレクトロニクス1996.9.9(no.670)の第151頁乃至159頁に記載されている。
【０００６】
【発明が解決しようとする課題】
ところで、このような共有仮想空間において、複数のアバタが活動できるようにした場合、各アバタ間でいざこざが発生したりすることがある。例えば、アバタｂのユーザＢが、テキストチャットなどにより、アバタａのユーザＡを非難したり、嫌がることを言ったり、あるいは、アバタａの移動を妨げたりするなどの嫌がらせを行うようなことがある。
【０００７】
このような場合、チャットなどで注意しても、ユーザＢが聞き入れないとき、ユーザＡは、共有仮想空間に参加する度に不愉快な思いをすることになる。システム管理者に、そのような事態を連絡し、システム管理者に善処を要求したとしても、システム管理者は、効果的な対応策をとることが困難である。
【０００８】
そこで、例えば、ユーザＡがユーザＢを共有仮想空間から強制的にログアウトさせることができる機能を付加することも可能である。しかしながら、そのようすると、逆に、ユーザＡがユーザＢから強制的に共有仮想空間からログアウトされるようなことが考えられる。
【０００９】
本発明は、このような状況に鑑みてなされたものであり、複数のユーザが、気分を害されることなく、共有仮想空間で活動できるようにするものである。
【００１０】
【課題を解決するための手段】
本発明の情報処理装置は、情報処理装置のユーザにより指定された、他の情報処理装置のユーザに対応するアバタをフィルタリング対象として登録する登録手段と、サーバより送信されてきた登録手段により登録されたアバタに関するデータをフィルタリングするフィルタリング手段と、フィルタリング手段によりフィルタリングされた後のデータに基づいて、共有仮想空間に関する処理を行う処理手段と、情報処理装置のユーザに対応するアバタをフィルタリング対象として登録することを要求する登録要求を、他の情報処理装置に対して通知する登録要求手段とを備え、登録手段は、他の情報処理装置からの登録要求にも対応して、他の情報処理装置のユーザに対応するアバタをフィルタリング対象として登録する。
【００１１】
登録要求手段では、情報処理装置のユーザにより指定された、他の情報処理装置のユーザに対応するアバタがフィルタリング対象として登録されることに対応して、登録要求を、他の情報処理装置に対して通知するようにすることができる。
【００１２】
本発明の情報処理方法は、情報処理装置のユーザにより指定された、他の情報処理装置のユーザに対応するアバタをフィルタリング対象として登録する登録ステップと、サーバより送信されてきた登録ステップの処理により登録されたアバタに関するデータをフィルタリングするフィルタリングステップと、フィルタリングステップの処理によりフィルタリングされた後のデータに基づいて、共有仮想空間に関する処理を行う処理ステップと、情報処理装置のユーザに対応するアバタをフィルタリング対象として登録することを要求する登録要求を、他の情報処理装置に対して通知する登録要求ステップとを含み、登録ステップの処理では、他の情報処理装置からの登録要求にも対応して、他の情報処理装置のユーザに対応するアバタをフィルタリング対象として登録する。
【００１３】
本発明の記録媒体に記録されたプログラムは、情報処理装置のユーザにより指定された、他の情報処理装置のユーザに対応するアバタをフィルタリング対象として登録する登録ステップと、サーバより送信されてきた登録ステップの処理により登録されたアバタに関するデータをフィルタリングするフィルタリングステップと、フィルタリングステップの処理によりフィルタリングされた後のデータに基づいて、共有仮想空間に関する処理を行う処理ステップと、情報処理装置のユーザに対応するアバタをフィルタリング対象として登録することを要求する登録要求を、他の情報処理装置に対して通知する登録要求ステップとを含み、登録ステップの処理では、他の情報処理装置からの登録要求にも対応して、他の情報処理装置のユーザに対応するアバタをフィルタリング対象として登録する処理をコンピュータに実行させる。
【００１４】
本発明の情報処理装置および方法、並びに記録媒体に記録されたプログラムにおいては、フィルタリング対象として登録されたアバタに関するデータがフィルタリングされる。そのフィルタリングされた後のデータに基づいて、共有仮想空間に関する処理が行われる。
【００１５】
【発明の実施の形態】
以下、図面を参照し、本発明の実施の形態について説明する。
【００１６】
説明に先立ち、世界的規模で構築されたコンピュータネットワークであるインターネット(The Internet)において、様々な情報を提供するWWW(world wide web)の枠組みを利用して３次元的な情報を統一的に扱うことができる記述言語であるVRML(virtual reality modeling language)について説明する。
【００１７】
ここで、インターネットで利用できる情報提供システムとして、スイスのCERN（European Center for Nuclear Research：欧州核物理学研究所）が開発したWWWが知られている。これは、テキスト、画像、音声などの情報をハイパーテキスト形式で閲覧できるようにしたもので、HTTP(Hyper Text Transfer Protocol)と呼ばれるプロトコルに基づいて、WWWサーバに格納された情報をパーソナルコンピュータなどの端末に非同期転送するものである。
【００１８】
WWWサーバは、HTTPデーモン（HTTP：HyperText Transfer Protocol、ハイパーテキスト転送プロトコル）と呼ばれるサーバ・ソフトウエアとハイパーテキスト情報が格納されるHTMLファイルによって構成される。なお、デーモンとは、UNIX上で作業を行う場合、バックグラウンドで管理や処理を実行するプログラムを意味する。ハイパーテキスト情報は、HTML（HyperText Markup Language、ハイパーテキスト記述言語）と呼ばれる記述言語によって表現される。HTMLによるハイパーテキストの記述は、「＜」と「＞」で囲まれたタグと呼ばれる書式指定によって文章の論理的な構造が表現される。他の情報とのリンクについての記述は、アンカーと呼ばれるリンク情報によって行われる。アンカーによって情報が存在する所を指定する際には、URL(Uniform Resource Locator)が用いられる。
【００１９】
HTMLで記述されたファイルを、TCP/IP(Transmission Control Protocol/Internet Protocol)ネットワーク上において転送するためのプロトコルがHTTPである。クライアントからの情報の要求をWWWサーバに伝え、HTMLファイルのハイパーテキスト情報をクライアントに転送する機能をもっている。
【００２０】
WWWを利用する環境として多く利用されているのが、WWWブラウザ（ブラウザとは閲覧するという意味）と呼ばれる、Netscape Navigator（米国Netscape Communications社の商標）をはじめとするクライアント・ソフトウエアである。
【００２１】
このWWWブラウザを用いて、URLに対応する世界規模で広がるインターネット上のWWWサーバ上のファイル、いわゆるホームページを閲覧することができ、いわゆるネットサーフィンと呼ばれるように、リンクが張られたホームページを次々と辿って、多種多様なWWWの情報ソースにアクセスすることができる。
【００２２】
近年、このWWWをさらに拡張し、3次元空間の記述や、３次元グラフィックスで描画されたオブジェクトに対してハイパーテキストのリンクの設定を可能とし、これらのリンクをたどりながらWWWサーバを次々とアクセスできるようにしたVRMLと呼ばれる３次元グラフィックス記述言語で記述された３次元空間を表示するVRMLブラウザが開発されている。
【００２３】
このVRMLの詳細は、例えば、「VRMLを知る：３次元電脳空間の構築とブラウジング〔マーク・ペッシ著，松田晃一・蒲地輝尚・竹内彰一・本田康晃・暦本純一・石川真之・宮下健・原和弘訳，１９９６年３月２５日初版発行，プレンティスホール出版ISBN4-931356-37-0〕（原著；VRML：Browsing & Building Cyberspace,Mark Pesce, 1995 New Readers Publishing ISBN 1-56205-498-8））」、および「VRMLの最新動向とＣｙｂｅｒＰａｓｓａｇｅ〔松田晃一・本田康晃著、ｂｉｔ（共立出版）／1996 Vol.28 No.7 pp29 乃至pp36, No.8 pp57 乃至pp65, No.9 pp29 乃至pp36, No.10 pp49乃至pp58〕」等の文献に記載されている。
【００２４】
VRMLに対応したファイル形式で記述されたファイルを、サーバからユーザ側のパーソナルコンピュータに転送し、ブラウザで処理させると、VRMLデータから３次元仮想現実空間が演算され、ユーザ側のパーソナルコンピュータのディスプレイに、３次元仮想現実空間が表示される。
【００２５】
図１は本発明の一実施の形態の全体のシステム構成図である。
【００２６】
図１において、１，２，３は、VRMLブラウザ及びWWWブラウザがインストールされ、これらが動作しているクライアントPC（パーソナルコンピュータ）であり、IP（インターネット接続サービスプロバイダ）４，５，６を介してインターネット７と接続されている。
【００２７】
インターネット７とルータ８を介して接続されたLAN(Local Area Network)9には、WWWサーバ１０、WLS（World Location Server）１１、共有サーバ１２、AO(Application Object)サーバ１３，１４、メールサーバ１５、およびコミュニケーションサーバ１６が接続されている。これらの各サーバ１０乃至１６には、ハードディスク（HDD）１０a，１０b，１１a乃至１６aが、各々設けられている。
【００２８】
コミュニケーションサーバ１６は、公衆電話回線網１７を介して電話機１８やファクシミリ１９と接続され、さらに、PHS(Personal Handyphone System)サービスプロバイダ２０を介してPHS端末２３に無線接続され、ポケットベルサービスプロバイダー２１を介してポケットベル端末２４に無線接続されている。
【００２９】
図２はクライアントPC１のハードウェア構成を示すブロック図である。
【００３０】
図２において、３０は各部を制御するCPU、３１はVRML ２．０ fileや、Java(米国 Sun Microsystems社の商標)による共有仮想生命の成長スクリプトプログラムやダンススクリプトプログラム等からなるVRMLコンテンツ、およびフィルタリング情報が格納されたHDD、３２はCD−ROMディスク３３に格納されたVRMLコンテンツを読み取るCD−ROMドライブ、３４はBIOS(Basic Input Output Systems)等が格納されたROM、３５はマイクロフォン３６と左右のスピーカ３７，３８が接続されたサウンド処理回路、３９はインターネット７に接続するためのモデム、４０はマウス４１とキーボード４２が接続されたI/O(入出力)インターフェイス、４３はVRAM４４が内蔵されたグラフィックス処理回路、４５はCRTモニタ、４６はRAMである。
【００３１】
このRAM４６には、実行時に、Windows95(米国Micro Soft社の商標) の上で動作するWWWブラウザであるNetscape Navigatorと、Javaインタプリタと、ソニー株式会社によって開発されたVRML２.0ブラウザであるCommunity Place Browserが読み込まれて、CPU３０によって実行される状態となっている。
【００３２】
VRML２．０ブラウザには、米国シリコングラフィクス社によって開発され、無償公開されているVRMLの構文解釈用ライブラリ(パーサ)であるQvLibと、英国Criterion Software Ltd.のソフトウエア・レンダラであるRenderWare等、もしくはこれらと同等の機能を有するパーサやレンダラが実装されている。
【００３３】
そして、 Community Place Browserは、図１に示すように、WWWブラウザとしてのNetscape Navigatorとの間において、NCAPI（Netscape Client Application Programing Interface）（商標）に基づいて各種データの授受を行う。
【００３４】
Netscape Navigatorは、インターネット７を介してWWWサーバ１０よりHTMLファイルとVRMLコンテンツ(VRMLファイルとJavaによるスクリプトプログラムとを含む）の供給を受けると、これらをローカルのHDD３１にそれぞれ記憶させる。Netscape Navigatorは、このうちのHTMLファイルを処理してテキストや画像をCRTモニタに表示する一方、 Community Place BrowserはVRMLファイルを処理して3次元仮想空間をCRTモニタに表示するとともに、Javaインタプリタによるスクリプトプログラムの処理結果に応じて、3次元仮想空間内のオブジェクトの挙動を変化させる。
【００３５】
なお、図示は省略するが、他のクライアントPC２やクライアントPC３も、クライアントPC１と同様に構成されている。
【００３６】
次に上述した一実施の形態の動作について説明する。
【００３７】
まず、実際にVRMLコンテンツをインターネット経由でダウンロードしてから、１つの仮想空間を複数のユーザで共有するマルチユーザ環境とするまでの手順を図３乃至図５を参照して説明する。
【００３８】
図３において、番号１で示すように、最初に、WWWブラウザを用いて、VRMLコンテンツを提供しているWebサイトのホームページを閲覧する。この例では、 http://pc.sony.co.jp/sapari/  を閲覧している。次に、番号２で示すように、クライアントPC１とクライアントPC２のユーザは、VRML  2.0fileと、VRML空間内での自律的な動き（Behavior）を実現するためのスクリプトプログラム（Javaによる成長スクリプトプログラム）とからなるVRMLコンテンツを、それぞれダウンロードする。
【００３９】
勿論、 CD−ROMディスク３３で提供されるVRMLコンテンツをCD−ROMドライブ３２で読み込んでも良い。
【００４０】
次に、図４に示すように、クライアントPC１及びクライアントPC２は、それぞれにダウンロードされ、一旦ローカルのHDD３１に格納されたVRML  2.0fileを、VRML２．０ブラウザであるCommunity Place Browserが解釈・実行し、さらに番号３で示すように、VSCP(Virtual Society Server Client Protocol)に基づいて、WLS１１に対して共有サーバ１２のURLを問い合わせる。このとき番号４で示すように、WLS１１はHDD１１aに格納された共有サーバURL管理テーブルを参照して、クライアントPC１及びクライアントPC２に対して、共有サーバ１２のURLを通知する。
【００４１】
このURLを用いて、図５に示すように、クライアントPC１とクライアントPC２が、共有サーバ１２に接続する。その結果、番号５で示すように、この共有サーバ１２を介して共有3Dオブジェクトの位置や動きなどに関する共有メッセージの送信が行われ、番号６で示すように、その転送が行われ、マルチユーザ環境が実現される。
【００４２】
なお、以上の接続手順の詳しい説明については、特開平9-81781号公報を参照されたい。
【００４３】
この、共有仮想空間内においては、ユーザが、不愉快な思いをすることなく、自分自身の分身としてのアバタを共有仮想空間内において活動できるようにするために、他のアバタを、そのユーザに気付かれることなく、実質的に消去することが可能とされている。この場合の処理について、以下に説明する。
【００４４】
各ユーザは、他のアバタを実施的に共有仮想空間から消去させたい場合、そのアバタをフィルタリング対象として、予め登録する処理を行う。この処理の詳細は、図６のフローチャートに示されている。
【００４５】
クライアントPC（例えば、クライアントPC１）のCPU３０は、最初にステップＳ１において、ユーザからメニューの表示が指令されるまで待機し、メニューの表示が指令されたとき、グラフィックス処理回路４３を制御し、CRTモニタ４５に、フィルタリング登録のためのメニューを表示させる。
【００４６】
例えば、図７に示すように、今、共有仮想空間としてのワールド２００内に、アバタａ乃至ｅが活動しているものとする。この場合、図８に示されるように、ユーザＡのブラウザによる画面にも、ユーザＢのブラウザによる画面にも、それぞれ、アバタａ乃至ｅが表示されている。このような状態において、フィルタリング対象の登録の指令がなされると、図８に示されるように、その時、ワールド２００内に位置する自分自身のアバタを除く他の全てのアバタのリストがメニューＭに表示される。図８の例においては、アバタｂ乃至アバタｅがメニューＭに表示されている。
【００４７】
次に、ステップＳ２において、CPU３０は、ユーザからの指令に対応して、指定されたアバタをフィルタリング対象としてハードディスクドライブ３１に登録する。この登録のため、例えば、図９に示されるように、メニューＭのアバタの一覧表の中から、所定のアバタ（図９の例の場合、アバタｂ）が、キーボード４２またはマウス４１をユーザが操作することで指定される。図９の例においては、アバタｂがフィルタリング対象のアバタとして、ハードディスクドライブ３１のフィルタリング情報中に登録される。
【００４８】
以上のような、フィルタリング対象の登録が行われた後、各クライアントPCからの送信処理は、通常の場合と同様に、例えば、図１０に示すように実行される。
【００４９】
最初に、ステップＳ１１において、CPU３０は、マウス４１またはキーボード４２を操作することで、ユーザより送信すべきデータが入力されるまで待機する。ここで、送信データとは、例えば、マウス４１を操作することで、アバタａの位置を移動させる指令が入力された場合には、アバタａの座標データであり、チャットの入力が行われた場合には、チャットの文字列のデータである。
【００５０】
送信データが入力された場合、ステップＳ１２に進み、CPU３０は、マウス４１またはキーボード４２が操作され、ユーザより送信が指令されたか否かを判定する。送信がまだ指令されていない場合には、ステップＳ１１に戻り、それ以降の処理が繰り返し実行される。
【００５１】
ステップＳ１２において、送信が指令されたと判定された場合、ステップＳ１３に進み、CPU３０は、入力されたデータを送信する処理を実行する。
【００５２】
すなわち、CPU３０は、モデム３９を制御し、入力されたデータを、インターネット７を介して共有サーバ１２に送信させる。
【００５３】
共有サーバ１２は、これらのデータを、他のクライアントPCに、インターネット７を介して送信する。
【００５４】
各クライアントPCは、このように共有サーバ１２からデータが送信されてきたとき、図１１のフローチャートに示すような処理を実行する。
【００５５】
最初にステップＳ１１において、例えば、クライアントPC１のCPU３０は、共有サーバ１２よりワールドのデータを受信するまで待機し、ワールド（共有仮想空間）のデータを受信した場合、ステップＳ２２に進み、そのデータをハードディスクドライブ３１に記憶させる。
【００５６】
次に、ステップＳ２３に進み、CPU３０は、共有サーバ１２より受信し、記憶したデータの中に、フィルタリング対象アバタのデータが含まれているか否かを判定する。今の例の場合、アバタｂが、フィルタリング対象のアバタとしてハードディスクドライブ３１に登録されている。そこで、このような場合には、ステップＳ２４に進み、CPU３０は、フィルタリング対象とされているアバタｂのデータを、記憶したデータの中から削除する。このステップＳ２４の削除する処理は、記憶したデータの中に、フィルタリング対象のアバタのデータが含まれていない場合にはスキップされる。
【００５７】
その後、ステップＳ２５に進み、CPU３０は、フィルタリングされた後のデータに基づき、所定の処理を実行する。この所定の処理とは、例えば、ワールド２００の画像を描画する処理であったり、チャットの文字列を表示する処理である。
【００５８】
その後、処理はステップＳ２１に戻り、それ以降の処理が繰り返し実行される。
【００５９】
このように、フィルタリング処理が行われると、例えば、図１２に示すように、共有サーバ１２のコミュニティプレースビューロから送信されてきたデータは、フィルタＦを介して、ユーザＡのブラウザに取り込まれる。フィルタＦは、フィルタリング対象として登録されているアバタｂのデータを削除する。従って、図１２に示されるように、ユーザＡのブラウザにより描画されるワールド２００の画面には、アバタｂが存在しないことになる。
【００６０】
その結果、例えば、図１３に示すように、アバタｂのユーザＢが、例えば、アバタａのユーザＡに対して、「おい」のチャットメッセージを出力したとしても、このチャットデータは、共有サーバ１２のコミュニティプレースビューロにより、ユーザＡのクライアントPCに送信されるが、ユーザＡのブラウザには、フィルタＦが設けられており、アバタｂに関するデータはそこで削除されるため、「おい」の文字列は、ユーザＡのブラウザにより描画された画面中には表示されないことになる。
【００６１】
その結果、図１４に示されるように、アバタｂのユーザＢのブラウザにより描画される画面中には、アバタａが描画されるが、アバタａのユーザＡのブラウザにより描画される画面中には、アバタｂは描画されないので、ユーザＡは、アバタｂが実質的にワールド２００内に存在しないものとしてアバタａを活動させることができる。
【００６２】
以上の例においては、ユーザＡのブラウザにより表示された画面には、アバタｂは表示されないが、ユーザＢのブラウザにより表示された画面には、アバタａが表示される。ユーザＢのブラウザにより表示された画面中においても、アバタａを表示させないようにすることが可能である。図１５と図１６のフローチャートは、この場合の処理例を表している。
【００６３】
図１５は、クライアントPCのフィルタリング対象の登録処理を説明するものである。図１５のステップＳ４１，Ｓ４２の処理は、図６におけるステップＳ１，Ｓ２の処理と同様の処理である。すなわち、この処理により、メニューが表示され、指定されたアバタがフィルタリング対象として登録される。
【００６４】
図１５の処理例においては、さらに、ステップＳ４３において、ステップＳ４２でフィルタリング対象として登録されたアバタ（例えば、アバタｂ）のクライアントPC（ユーザＢのクライアントPC２）に対して、自分自身のアバタ（アバタａ）をフィルタリング対象として登録することを要求する処理が実行される。すなわち、アバタａのユーザＡが、アバタｂをフィルタリング対象として登録すると、アバタａのクライアントPC１のCPU３０は、インターネット７を介して、アバタｂのクライアントPC２に対して、アバタａをフィルタリング対象として登録することを要求する。
【００６５】
図１６は、図１５に示すようなフィルタリング対象の登録処理が行われた場合におけるクライアントPC（例えば、クライアントPC２）の受信処理を表している。その基本的な処理は、図１１のステップＳ２１乃至ステップＳ２５の処理と同様であるが、図１６の処理例においては、ステップＳ６１で、共有サーバ１２からワールドのデータを受信したと判定された場合、ステップＳ６２で、データがハードディスクドライブ３１に記憶される。その後、ステップＳ６３において、CPU３０は、受信し、記憶されたデータの中に、フィルタリング登録の要求が含まれているか否かを判定する。このフィルタリング登録の要求は、図１０のステップＳ４３の処理で出力されたものである。
ステップＳ６３においてフィルタリング登録の要求が含まれていると判定された場合、ステップＳ６４に進み、CPU３０は、要求されたアバタ（いまの場合、アバタａ）をフィルタリング対象として登録する処理を実行する。すなわち、図１５のステップＳ４２における場合と同様の処理が、アバタｂに対応するクライアントPC２側においても実行される。
【００６６】
ステップＳ６４のアバタをフィルタリング対象として登録する処理は、ステップＳ６３において、フィルタリング登録の要求がデータ中に含まれていないと判定された場合にはスキップされる。
【００６７】
その後、ステップＳ６５に進み、CPU３０は、ステップＳ６２で受信し、記憶したデータ中に、フィルタリング対象のアバタのデータが含まれているか否かを判定する。例えば、アバタａのデータが転送されてきた場合、アバタａは、ステップＳ６４において、フィルタリング対象として登録されている。そこで、ステップＳ６５からステップＳ６６に進み、アバタｂのクライアントPC２のCPU３０は、アバタａの（フィルタリング対象として登録されているアバタの）データを記憶データから削除する。ステップＳ６６の処理は、ステップＳ６５において、フィルタリング対象のアバタのデータが、記憶したデータ中に含まれていないと判定された場合にはスキップされる。
【００６８】
その後、ステップＳ６７に進み、CPU３０により、フィルタリング対象のアバタのデータを削除したデータに基づき、所定の処理が行われる。
【００６９】
従って、この場合には、図１７に示されるように、ユーザＡのブラウザにより表示される画面には、アバタｂが表示されないだけでなく、ユーザＢのブラウザにより表示される画面にも、アバタａの画像が表示されないことになる。すなわち、この場合には、ユーザＡのブラウザにも、また、ユーザＢのブラウザにも、フィルタＦが設けられることになる。
【００７０】
なお、以上においては、共有仮想空間の画像をクライアントPC側で生成するようにしたが、共有サーバ１２側で生成するようにすることも可能である。ただし、そのようにすると、共有サーバ１２に接続されるクライアントPCの数が増加すると、共有サーバ１２の負荷が重くなる。そこで、クライアントPC側に処理させるようにするのが好ましい。
【００７１】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、クライアントPC１，２，３や共有サーバ１２に、インターネット７や記録媒体からインストールされる。
【００７２】
この記録媒体は、図２に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているCD-ROM３３以外の、ドライブ５１に装着される、例えばDVD(Digital Versatile Disk)などの光ディスク５２、磁気ディスク５３（フロッピディスクを含む）、光磁気ディスク５４（MD（Mini-Disk）を含む）、もしくは半導体メモリ５５などよりなるパッケージメディアにより構成されるだけでなく、クライアントPC１や共有サーバ１２に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM３４や、ハードディスク３１などで構成される。
【００７３】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００７４】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【００７５】
【発明の効果】
以上の如く、本発明によれば、ユーザは、他のアバタに起因して不快な思いをすることなく、自分自身のアバタを共有仮想空間において、活動させることが可能となる。
【図面の簡単な説明】
【図１】本発明を適用した共有仮想空間提供システムの構成例を示すブロック図である。
【図２】図１のクライアントPC１の構成例を示すブロック図である。
【図３】図１のシステムの動作を説明する図である。
【図４】図１のシステムの他の動作を説明する図である。
【図５】図１のシステムのさらに他の動作を説明する図である。
【図６】図１のクライアントPC１のフィルタリング対象の登録処理を説明するフローチャートである。
【図７】ワールドにおけるアバタの位置を説明する図である。
【図８】ユーザＡとユーザＢのブラウザによる表示画面の例を示す図である。
【図９】アバタをフィルタリング対象として登録する場合の処理を説明する図である。
【図１０】図１のクライアントPCの送信処理を説明するフローチャートである。
【図１１】図１のクライアントPCの受信処理を説明するフローチャートである。
【図１２】アバタがフィルタリング対象として登録された結果表示される画像の例を示す図である。
【図１３】アバタをフィルタリング対象として登録した場合における文字列の転送を説明する図である。
【図１４】アバタをフィルタリング対象として登録した場合におけるワールドの状態を説明する図である。
【図１５】図１のクライアントPCの他のフィルタリング対象の登録処理を説明するフローチャートである。
【図１６】図１５の処理に対応するクライアントPCの受信処理を説明するフローチャートである。
【図１７】図１５と図１６の処理により実現されるワールドの状態を説明する図である。
【符号の説明】
１乃至３  クライアントPC，  ７  インターネット，  １０  WWWサーバ，１２  共有サーバ，  １３，１４  AOサーバ，  １５  メールサーバ，  １６コミュニケーションサーバ，  １８  電話機，  １９  ファクシミリ，  ２３  PHS端末，  ２４  ポケットベル端末，  ３０  CPU，  ３１  ハードディスク，  ３９  モデム，  ４５  CRTモニタ，  ４６  RAM
【図１】
0004441979.tif 000002
【図２】
0004441979.tif 000003
【図３】
0004441979.tif 000004
【図４】
0004441979.tif 000005
【図５】
0004441979.tif 000006
【図６】
0004441979.tif 000007
【図７】
0004441979.tif 000008
【図８】
0004441979.tif 000009
【図９】
0004441979.tif 000010
【図１０】
0004441979.tif 000011
【図１１】
0004441979.tif 000012
【図１２】
0004441979.tif 000013
【図１３】
0004441979.tif 000014
【図１４】
0004441979.tif 000015
【図１５】
0004441979.tif 000016
【図１６】
0004441979.tif 000017
【図１７】
0004441979.tif 000018