(57)【特許請求の範囲】
【請求項１】
他の情報処理装置とともに、ネットワークを介してサーバに接続され、共有仮想空間の提供を受ける情報処理装置において、
前記共有仮想空間上で、前記情報処理装置のユーザの分身としての第１のアバタを介して、前記他の情報処理装置のユーザの分身としての第２のアバタと行うチャットの文字列を入力する第１の入力手段と、
前記第１の入力手段で入力された文字列を文字データとして前記サーバに送信する送信手段と、
前記他の情報処理装置から送信され、前記サーバを介して伝送されてきた文字データを音声データに変換する変換手段と、
前記変換手段により変換された音声データを、前記第２のアバタが発する音声として出力する出力手段と、
所定の発話に対応する文字列、及び前記所定の発話に付随する前記第１のアバタの動作指示を一括して入力する第２の入力手段と
を備える情報処理装置。
【請求項２】
前記文字データに、前記音声データ、及び前記音声データの前記音声に付随する動作を表す動作情報が対応付けられた対応表を記憶する対応表記憶手段と、
前記他の情報処理装置から送信され、前記サーバを介して伝送されてきた文字データに対応付けられた前記音声データ及び前記動作情報を、前記対応表から検索する検索手段と、
前記共有仮想空間の表示を制御する表示制御手段と
をさらに備え、
前記変換手段は、前記他の情報処理装置から送信され、前記サーバを介して伝送されてきた文字データを、前記検索手段により検索された前記音声データに変換し、
前記出力手段は、前記検索手段により検索され、前記変換手段により変換された前記音声データを、前記第２のアバタが発する音声として出力する
請求項１に記載の情報処理装置。
【請求項３】
前記サーバからの問い合わせに応じて、前記対応表記憶手段に記憶されている対応表の種別を表すIDを前記サーバに伝送し、前記IDに応じて前記サーバから最新の対応表が伝送されてきた場合に、前記最新の対応表を前記対応表記憶手段に記憶させる対応表更新手段を
さらに備える請求項２に記載の情報処理装置。
【請求項４】
他の情報処理装置とともに、ネットワークを介してサーバに接続され、共有仮想空間の提供を受ける情報処理装置の情報処理方法において、
前記共有仮想空間上で、前記情報処理装置のユーザの分身としての第１のアバタを介して、前記他の情報処理装置のユーザの分身としての第２のアバタと行うチャットの文字列を入力する第１の入力ステップと、
前記第１の入力ステップの処理により入力された文字列を文字データとして前記サーバに送信する送信ステップと、
前記他の情報処理装置から送信され、前記サーバを介して伝送されてきた文字データを音声データに変換する変換ステップと、
前記変換ステップの処理により変換された音声データを、前記第２のアバタが発する音声として出力する出力ステップと、
所定の発話に対応する文字列、及び前記所定の発話に付随する前記第１のアバタの動作指示を一括して入力する第２の入力ステップと
を含む情報処理方法。
【請求項５】
他の情報処理装置とともに、ネットワークを介してサーバに接続され、共有仮想空間の提供を受ける情報処理装置のプログラムにおいて、
前記共有仮想空間上で、前記情報処理装置のユーザの分身としての第１のアバタを介して、前記他の情報処理装置のユーザの分身としての第２のアバタと行うチャットの文字列を入力する第１の入力ステップと、
前記第１の入力ステップの処理により入力された文字列を文字データとして前記サーバに送信する送信ステップと、
前記他の情報処理装置から送信され、前記サーバを介して伝送されてきた文字データを音声データに変換する変換ステップと、
前記変換ステップの処理により変換された音声データを、前記第２のアバタが発する音声として出力する出力ステップと、
所定の発話に対応する文字列、及び前記所定の発話に付随する前記第１のアバタの動作指示を一括して入力する第２の入力ステップと
を含む処理を情報処理装置のコンピュータに実行させる、コンピュータが読み取り可能なプログラムが記録されている記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理装置および方法、並びに記録媒体に関し、特に、共有仮想空間において活動するアバタに対して、チャット中に、音声を出力させるようにした情報処理装置および方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
従来、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頁に記載されている。
【０００６】
【発明が解決しようとする課題】
ところで、従来、上述したような仮想空間で活動するアバタや仮想ペットに所定の動作をさせる場合、ユーザに、予め用意されているボタンを選択させるようにしていた。
【０００７】
例えば、本出願人は、特開平１１−２１２９３４号公報に、仮想空間において、アバタに所定の動作を実行させるために、図１に示されるような複数のボタンを設けることを提案している。
【０００８】
図１の例においては、呼ぶボタンＡがユーザにより操作されると、アバタが仮想ペットを呼ぶ行為を実行する。寝かすボタンＢが操作されると、アバタは、仮想ペットを寝かす行為を行う。
【０００９】
食事を与えるボタンＣが操作されると、アバタは、仮想ペットに対して食事を与える行為を行う。笑って褒めるボタンＤが操作されると、アバタは仮想ペットに笑い掛けて褒めてあげる行為を行う。鬼ごっこで遊ぶボタンＥが操作されると、アバタは、仮想ペットと鬼ごっこをして遊ぶ行為を行う。
【００１０】
さらに、叱り付けるしつけボタンＦが操作されると、アバタは、仮想ペットを叱り、躾を行う行為を行う。ブラッシングできれいにするボタンＧが操作されると、アバタは、仮想ペットをブラッシングし、きれいにする行為を行う。
【００１１】
しかしながら、このように、アバタに所定の動作をさせる場合に、その動作毎にボタンを設けるようにすると、動作の数を増加するには、ボタンの数も増加する必要が生じ、ユーザは、多くのボタンの中から１つのボタンを探さなければならず、アバタに所定の動作を迅速に実行させることが困難になる課題があった。
【００１２】
さらに、アバタの各種の行為は、アバタ間のチャットの最中に行われることが多いのであるが、このような場合、キーボードを利用して、ユーザがチャットのための文字列を入力している際に、アバタに所定の行為を実行させるためのボタンを探して操作する必要が生じ、ユーザは、手をキーボードから離す必要がある。その結果、円滑なテキスト入力の妨げとなる課題があった。
【００１３】
本発明は、このような状況に鑑みてなされたものであり、チャットを妨げることなく、迅速にアバタに所定の動作を実行させることができるようにするものである。
【００１４】
【課題を解決するための手段】
本発明の情報処理装置は、他の情報処理装置とともに、ネットワークを介してサーバに接続され、共有仮想空間の提供を受ける情報処理装置において、共有仮想空間上で、情報処理装置のユーザの分身としての第１のアバタを介して、他の情報処理装置のユーザの分身としての第２のアバタと行うチャットの文字列を入力する第１の入力手段と、第１の入力手段で入力された文字列を文字データとしてサーバに送信する送信手段と、他の情報処理装置から送信され、サーバを介して伝送されてきた文字データを音声データに変換する変換手段と、変換手段により変換された音声データを、第２のアバタが発する音声として出力する出力手段と、所定の発話に対応する文字列、及び所定の発話に付随する第１のアバタの動作指示を一括して入力する第２の入力手段とを備える。
【００１５】
文字データに、音声データ、及び音声データの音声に付随する動作を表す動作情報が対応付けられた対応表を記憶する対応表記憶手段と、他の情報処理装置から送信され、サーバを介して伝送されてきた文字データに対応付けられた音声データ及び動作情報を、対応表から検索する検索手段と、共有仮想空間の表示を制御する表示制御手段とをさらに設けさせるようにすることができ、前記変換手段には、他の情報処理装置から送信され、サーバを介して伝送されてきた文字データを、検索手段により検索された音声データに変換させ、前記出力手段には、前記検索手段により検索され、前記変換手段により変換された前記音声データを、前記第２のアバタが発する音声として出力させるようにすることができる。
【００１６】
前記サーバからの問い合わせに応じて、対応表記憶手段に記憶されている対応表の種別を表すIDをサーバに伝送し、IDに応じてサーバから最新の対応表が伝送されてきた場合に、最新の対応表を対応表記憶手段に記憶させる対応表更新手段をさらに設けさせるようにすることができる。
【００１７】
本発明の情報処理方法は、他の情報処理装置とともに、ネットワークを介してサーバに接続され、共有仮想空間の提供を受ける情報処理装置の情報処理方法において、共有仮想空間上で、情報処理装置のユーザの分身としての第１のアバタを介して、他の情報処理装置のユーザの分身としての第２のアバタと行うチャットの文字列を入力する第１の入力ステップと、第１の入力ステップの処理により入力された文字列を文字データとしてサーバに送信する送信ステップと、他の情報処理装置から送信され、サーバを介して伝送されてきた文字データを音声データに変換する変換ステップと、変換ステップの処理により変換された音声データを、第２のアバタが発する音声として出力する出力ステップと、所定の発話に対応する文字列、及び所定の発話に付随する第１のアバタの動作指示を一括して入力する第２の入力ステップとを含む。
【００１８】
本発明の記録媒体に記録されているプログラムは、他の情報処理装置とともに、ネットワークを介してサーバに接続され、共有仮想空間の提供を受ける情報処理装置のプログラムにおいて、共有仮想空間上で、情報処理装置のユーザの分身としての第１のアバタを介して、他の情報処理装置のユーザの分身としての第２のアバタと行うチャットの文字列を入力する第１の入力ステップと、第１の入力ステップの処理により入力された文字列を文字データとしてサーバに送信する送信ステップと、他の情報処理装置から送信され、サーバを介して伝送されてきた文字データを音声データに変換する変換ステップと、変換ステップの処理により変換された音声データを、第２のアバタが発する音声として出力する出力ステップと、所定の発話に対応する文字列、及び所定の発話に付随する第１のアバタの動作指示を一括して入力する第２の入力ステップとを含む処理を情報処理装置のコンピュータに実行させる。
【００１９】
本発明の情報処理装置および方法、並びに記録媒体に記録されているプログラムにおいては、チャットに含まれる文字列が音声に変換され、出力される。
【００２０】
【発明の実施の形態】
以下、図面を参照し、本発明の実施の形態について説明する。
【００２１】
説明に先立ち、世界的規模で構築されたコンピュータネットワークであるインターネット(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１と同様に構成されている。
【００４１】
図４は、共有サーバ１２の構成例を表している。その基本的構成は、図３に示したクライアントPC１の構成と同様である。図４においては、図３に示したCPU３０乃至ROM４６に対応する構成が、CPU１３０乃至ROM１４６として示されている。その基本的機能は、図３において説明した場合と同様であるので、その説明は省略する。
【００４２】
次に上述した一実施の形態の動作について説明する。
【００４３】
まず、実際に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号公報を参照されたい。
【００４９】
共有仮想空間内に存在する仮想生命オブジェクトの挙動を管理するAOサーバ１３は、VSAPに基づいて共有サーバ１２と仮想生命オブジェクトに関するデータのやり取りを行なう。
【００５０】
次に、クライアントPC（例えばクライアントPC１）が共有サーバ１２にアクセスし、共有仮想空間に参加する場合の処理ついて説明する。クライアントPC１が共有サーバ１２にアクセスしてきたとき、共有サーバ１２は、クライアントPC１にチャットを行わせるために、文字列と音の対応表のデータを保持させる。このため、共有サーバ１２は、図８に示すフローチャートを実行し、クライアントPCは、図９のフローチャートに示す処理を実行する。
【００５１】
共有サーバ１２のCPU１３０は、ステップＳ１において、クライアントPC１がワールドにアクセスしてくるまで待機し、アクセスしてきたとき、ステップＳ２に進み、文字列と音の対応表をアクセスしてきたクライアントPC（いまの場合、クライアントPC１）が保持しているか否かをそのクライアントPCに問い合わせる。この文字列と音の対応表とは、例えば、図１０に示すように、文字列とその文字列に対応する音の関係を記述する表である。図１０の例においては、文字列「こんにちは」に対応して、「音１」が記憶されており、文字列「こんばんは」に対応して、「音２」が記憶されている。以下同様に、文字列「やっほう」に対応して、「音ｎ」が記憶されている。
【００５２】
「音１」は、「こんにちは」の文字列が検出された場合に、対応するアバタが発生する音のデータである。「音２」は、「こんばんは」の文字列が検出された場合に、対応するアバタが発生する音のデータである。同様に、「音ｎ」は、「やっほう」の文字列が検出された場合に、対応するアバタが発生する音のデータである。
【００５３】
ワールドにアクセスしたクライアントPC１のCPU３０は、図９のステップＳ１１において、共有サーバ１２から対応表の問い合わせを受けるまで待機し、対応表の問い合わせを受けたとき、ステップＳ１２に進み、対応表を保持しているか否かを判定する。すなわち、このとき、CPU３０は、ハードディスクドライブ３１に文字列と音の対応表が登録されているか否かを判定し、登録されていない場合には、ステップＳ１４に進み、モデム３９からインターネット７を介して、自分自身が対応表を保持していないことを共有サーバ１２に通知する。
【００５４】
これに対して、CPU３０は、ハードディスクドライブ３１に文字列と音の対応表が登録されている場合には、ステップＳ１３に進み、登録されている対応表のIDをハードディスクドライブ３１から読み出し、モデム３９からインターネット７を介して、共有サーバ１２に通知する。
【００５５】
共有サーバ１２のCPU１３０は、ステップＳ２において、クライアントPCに対応表を保持しているか否かを問い合わせた後、ステップＳ３において、クライアントPCからの応答を待機し、応答があったとき、そのクライアントPCが最新の対応表を持っているか否かを判定する。
【００５６】
すなわち、CPU１３０は、クライアントPC１から対応表のIDが送られてきたとき、そのIDを自分自身がハードディスクドライブ１３１に記憶している対応表のIDと比較し、クライアントPCのIDが古いIDである場合には、ステップＳ４に進み、ハードディスク１３１に記憶されている最新の対応表を読み出し、クライアントPCに送信する。すなわち、このとき、CPU１３０は、ハードディスクドライブ１３１から読み出した対応表のデータを、モデム１３９からインターネット７を介して、クライアントPC１に送信する。
【００５７】
同様の処理は、クライアントPCから対応表を保持していないとの通知が受け取られた場合にも行われる。
【００５８】
一方、CPU１３０は、クライアントPCから送られてきたIDが自分自身が有する最新の対応表のIDと一致すると判定した場合、対応表を送信する必要がないので、ステップＳ１に戻り、それ以降の処理を繰り返す。
【００５９】
クライアントPC１のCPU３０は、ステップＳ１３、またはステップＳ１４の処理の後、ステップＳ１５において、共有サーバ１２から対応表のデータが送られてきたか否かを判定し、送られてきた場合には、ステップＳ１６に進み、送られてきた対応表をハードディスクドライブ３１に記憶させる。所定時間内に対応表が送られてこない場合には、ステップＳ１６の処理はスキップされる。
【００６０】
以上のようにして、共有サーバ１２が提供する３次元仮想現実空間（ワールド）に参加するクライアントPCには、図１０に示すような、文字列と音の対応表が予め記憶されることになる。
【００６１】
そして、ワールドに参加した各クライアントPCのCRTモニタ４５には、そのブラウザにより、図１１に示すような画像が表示される。すなわち、画面の左側には、ワールド表示ウィンドウ２１１が表示され、そこにクライアントPCが参加したワールドの画像が表示される。
【００６２】
ワールド表示ウィンドウ２１１の右側には、マルチユーザウィンドウ２１２が表示される。その最上部には、アクションボタン表示部２１３が表示される。このアクションボタン表示部２１３には、ワールド内において活動する各ユーザに対応するペットに所定の行為を行うとき、操作されるボタンが表示される。Helloボタンは、ペットに対して「こんにちは」の動作と言葉を発するとき操作される。Byeボタンは、ペットに対して「さようなら」の動作と言葉を発するとき操作される。Yesボタンは、ペットに対して「はい」の動作と言葉を発するとき操作され、Noボタンは、ペットに対して「いいえ」の動作と言葉を発するとき操作される。
【００６３】
Waoボタンは、ペットに対して、驚きの動作と言葉を発するとき操作される。Ummボタンは、ペットに対して、悩む動作と言葉を発するとき操作される。
【００６４】
アクションボタン表示部２１３の下には、チャットログ表示部２１４が表示されている。このチャットログ表示部２１４には、自分自身のアバタの周辺のアバタ、或いは、ペットが行っているチャットが表示される。
【００６５】
チャット表示部２１４の下には、入力チャット表示部２１５が表示される。この入力チャット表示部２１５には、自分自身がキーボード４２を操作することで入力したチャットの文字列が表示される。
【００６６】
次に、図１２と図１３のフローチャートを参照して、ワールドに参加した各ユーザが自分自身のアバタを介して、ワールド内において行うチャットについて説明する。
【００６７】
図１２は、共有サーバ１２の処理を表し、図１３は、クライアントPCの処理を表している。
【００６８】
ステップＳ４１において、共有サーバ１２のCPU１３０は、チャットメッセージがワールドに参加しているクライアントPCから送られてくるまで待機し、送られてきたとき、そのチャットメッセージを、そのチャットを送信してきたユーザのアバタの近傍に位置する他のアバタに対応するユーザのクライアントPCに転送する。共有サーバ１２のCPU１３０は、以上の処理を繰り返し実行する。
【００６９】
一方、クライアントPCのCPU３０は、ステップＳ５１において、チャットメッセージの送信が指令されたか否かを判定し、指令された場合、ステップＳ５２に進み、チャットメッセージが入力されているか否かを判定する。すなわち、図１１に示した入力チャット表示部２１５に、ユーザがキーボード４２を操作することで、送信すべきチャットが入力され、表示されているか否かが判定される。チャットメッセージが入力されていない場合には、ステップＳ５３に進み、CPU３０は、エラー処理を実行する。その後、処理はステップＳ５１に戻り、それ以降の処理が繰り返し実行される。
【００７０】
ステップＳ５２において、チャットメッセージが入力され、入力チャット表示部２１５に表示されていると判定された場合、ステップＳ５４に進み、CPU３０は、そのチャットメッセージを送信する処理を実行する。すなわちCPU３０は、入力されたチャットメッセージをモデム３９からインターネット７を介して共有サーバ１２に送信する。
【００７１】
このチャットメッセージは、図１２のフローチャートを参照して説明したように、近傍のアバタのユーザに転送される。
【００７２】
例えば、いま、図１４に示すように、ワールド２００内に、ユーザＡのアバタａ、ユーザＢのアバタｂ、ユーザＣのアバタｃが、同図に示す位置関係で活動しているものとする。このとき、図１５に示すように、ユーザＡのブラウザにより表示される画面には、自分自身のアバタａを中心として、その右側にアバタｂが、その左側にアバタｃが、それぞれ表示される。また、ユーザＢのブラウザにより表示される画面には、自分自身のアバタｂを中心として、その右側にアバタｃが、その左側にアバタａが、それぞれ表示される。同様にユーザＣのブラウザにより表示される画面には、自分自身のアバタｃを中心として、その右側にアバタａが、その左側にアバタｂが、それぞれ表示される。
【００７３】
なお、自分自身のアバタは、自分自身の画面には表示させないようにすることも可能である。
【００７４】
そして、例えば、図１６に示すように、アバタａのユーザＡから、「こんにちは」のメッセージが出力されると、共有サーバ１２（コミュニティプレースビューロ）は、そのメッセージを、図１７に示すように、アバタａの近傍に位置する他のアバタ（この例の場合、アバタｂとアバタｃ）に転送する。その結果、各ユーザのブラウザのチャットログ表示部２１４には、アバタａのチャットとして、「こんにちは」のメッセージが表示される。
【００７５】
クライアントPCのCPU３０は、次にステップＳ６１に進み、ユーザよりチャットの終了が指令されたか否かを判定し、チャットの終了が指令されていない場合には、ステップＳ５１に戻り、それ以降の処理を繰り返し実行する。
【００７６】
ステップＳ５１において、チャットのメッセージの送信が指令されていないと判定された場合、CPU３０は、ステップＳ５５に進み、他のユーザ（アバタ）からのチャットメッセージが送信されてきたか否かを判定する。他のユーザからのチャットメッセージが送信されてきていない場合には、ステップＳ６１に進み、チャットの終了が指令されたか否かが判定され、終了が指令されていなければ、再びステップＳ５１に戻り、それ以降の処理が繰り返し実行される。
【００７７】
ステップＳ５５において、他のユーザからチャットメッセージが送信されてきたと判定された場合、ステップＳ５６に進み、CPU３０は、インターネット７を介して転送されてきたチャットメッセージをモデム３９を制御して受信させる。
そしてステップＳ５７において、CPU３０は、ステップＳ５６で受信したメッセージに対応する音が、対応表に存在するか否か検索する。具体的には、例えば、「こんにちは」のメッセージが受信されたとき、「こんにちは」の文字列が、ハードディスクドライブ３１の文字列と音の対応表から検索される。
【００７８】
そして、ステップＳ５８において、CPU３０は、検索の結果、受信したチャットメッセージに対応する音が対応表に存在するか否かを判定し、存在する場合には、ステップＳ５９に進み、対応する音を、そのメッセージを転送してきたユーザのアバタが発生した音として出力させる。
【００７９】
例えば、図１７の例においては、ユーザＢの画面には、アバタａの「こんにちは」のメッセージが転送されてきて表示されるので、ユーザＢのクライアントPC２のCPU３０は、ハードディスクドライブ３１に記憶されている対応表に、「こんにちは」の文字列が登録されているか否かを判定し、登録されている場合には、その対応する音を読み取る。図１０の例においては、「こんにちは」に対応して、「音１」が登録されている。そこで、ユーザＢのクライアントPC２のCPU３０は、「音１」のデータをサウンド処理回路３５に供給し、音声合成処理させ、CRTモニタ４５に表示されているアバタａが発生した音として、スピーカ３７，３８から出力させる。
【００８０】
これにより、例えば、図１８に示すように、アバタａが表示されている状態において、アバタａのチャットとして、「こんにちは」のメッセージが受信されると、図１９に示すように、アバタａが「こんにちは」の音を発生する。
【００８１】
ステップＳ５８において、チャットメッセージに含まれる文字列に対応する音が存在しないと判定された場合には、ステップＳ５９の処理はスキップされる。
そして、ステップＳ６０に進み、CPU３０は、受信したメッセージをチャットログ表示部２１４に表示させる。
【００８２】
その後、処理は、ステップＳ６１に進み、チャットの終了が指令されたか否かが判定され、終了が指令されていなければ、ステップＳ５１に戻り、それ以降の処理が繰り返し実行される。ステップＳ６１において、チャットの終了が指令されたと判定された場合、チャット処理は終了される。
【００８３】
なお、以上においては、共有仮想空間の画像をクライアントPC側で生成するようにしたが、共有サーバ１２側で生成するようにすることも可能である。ただし、そのようにすると、共有サーバ１２に接続されるクライアントPCの数が増加すると、共有サーバ１２の負荷が重くなる。そこで、クライアントPC側に処理させるようにするのが好ましい。
【００８４】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、クライアントPC１，２，３や共有サーバ１２に、インターネット７や記録媒体からインストールされる。
【００８５】
この記録媒体は、図３または図４に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているCD-ROM３３，１３３以外の、ドライブ５１，１５１に装着される、例えばDVD(Digital Versatile Disk)などの光ディスク５２，１５２、磁気ディスク５３，１５３（フロッピディスクを含む）、光磁気ディスク５４，１５４（MD（Mini-Disk）を含む）、もしくは半導体メモリ５５，１５５などよりなるパッケージメディアにより構成されるだけでなく、クライアントPC１や共有サーバ１２に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM３４，１３４や、ハードディスク３１，１３１などで構成される。
【００８６】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００８７】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【００８８】
【発明の効果】
以上の如く、本発明によれば、テキストによるチャット中に、アバタに各種の多くの処理を迅速且つ確実に実行させ、よりリッチな会話を楽しむことが可能となる。またその場合において、チャットのための操作に支障が生じるようなことが抑制される。さらに、音声データそのものを伝送する場合に較べて、伝送データの容量を小さくすることができる。その結果、既存のネットワークシステムに何の変化も加えることなく、音声によるチャットシステムを実現することができる。
【図面の簡単な説明】
【図１】従来のアクションボタンを説明する図である。
【図２】本発明を適用した共有仮想空間提供システムの構成例を示すブロック図である。
【図３】図２のクライアントPC１の構成例を示すブロック図である。
【図４】図２の共有サーバ１２の構成例を示すブロック図である。
【図５】図２のシステムの動作を説明する図である。
【図６】図２のシステムの他の動作を説明する図である。
【図７】図２のシステムのさらに他の動作を説明する図である。
【図８】図２の共有サーバ１２の対応表転送処理を説明するフローチャートである。
【図９】図２のクライアントPC１の対応表を受け取る処理を説明するフローチャートである。
【図１０】文字列と音の対応表の例を示す図である。
【図１１】図３のクライアントPC１のCRTモニタ４５における表示例を示す図である。
【図１２】図２の共有サーバ１２のチャット処理を説明するフローチャートである。
【図１３】図２のクライアントPC１のチャット処理を説明するフローチャートである。
【図１４】ワールドにおけるアバタの位置を説明する図である。
【図１５】各ユーザの画像の表示を説明する図である。
【図１６】文字列の転送を説明する図である。
【図１７】文字列の転送を説明する図である。
【図１８】音が対応する文字列を受信する前の表示例を示す図である。
【図１９】音が対応する文字列を受信した後の表示例を示す図である。
【符号の説明】
１乃至３  クライアントPC，  ７  インターネット，  １０  WWWサーバ，
１２  共有サーバ，  １３，１４  AOサーバ，  １５  メールサーバ，  １６コミュニケーションサーバ，  １８  電話機，  １９  ファクシミリ，  ２３  PHS端末，  ２４  ポケットベル端末，  ３０  CPU，  ３１  ハードディスク，  ３９  モデム，  ４５  CRTモニタ，  ４６  RAM
【図１】
0004547768.tif 000002
【図２】
0004547768.tif 000003
【図３】
0004547768.tif 000004
【図４】
0004547768.tif 000005
【図５】
0004547768.tif 000006
【図６】
0004547768.tif 000007
【図７】
0004547768.tif 000008
【図８】
0004547768.tif 000009
【図９】
0004547768.tif 000010
【図１０】
0004547768.tif 000011
【図１１】
0004547768.tif 000012
【図１２】
0004547768.tif 000013
【図１３】
0004547768.tif 000014
【図１４】
0004547768.tif 000015
【図１５】
0004547768.tif 000016
【図１６】
0004547768.tif 000017
【図１７】
0004547768.tif 000018
【図１８】
0004547768.tif 000019
【図１９】
0004547768.tif 000020