(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続された複数のクライアント装置に仮想現実空間を提供するサーバ装置であって、
クライアント装置の画面に表示される前記仮想現実空間内のオブジェクトを指し示す、前記クライアント装置に関連付けられたアバタの動作を検出する動作検出部と、
前記動作の検出に応答して、前記オブジェクトに付ける参照マークを生成する参照マーク生成部と
他のクライアント装置が前記サーバ装置に予め登録した、存在の通知を希望する参照マークを定義するポリシーを取得するポリシー取得部と、
前記ポリシーを参照して、生成した参照マークのうち前記ポリシーに合致する参照マークを選択し、選択した参照マークの存在を前記他のクライアント装置に通知する参照マーク通知部と、
を含むサーバ装置。
【請求項２】
前記他のクライアント装置の画面に表示された前記参照マークの通知に対する前記他のクライアント装置のユーザによる選択操作のイベントを前記他のクライアント装置から取得する操作情報取得部と、前記選択操作のイベントの受信に応答して、前記他のクライアント装置に関連付けられた他のアバタが、前記参照マークを付けた前記オブジェクトに誘導されるように、前記他のアバタの位置情報及び視線情報の少なくとも一方を更新する更新部とを更に含む、請求項１に記載のサーバ装置。
【請求項３】
生成した前記参照マークに関連付けて、前記参照マークが参照された参照回数又は前記参照マークが最後に参照された最終参照時刻を格納する参照マーク格納部を更に含み、前記参照マーク通知部は、生成した前記参照マークの存在を、前記参照回数又は前記最終参照時刻の情報とともに、他のクライアント装置に通知する、請求項２に記載のサーバ装置。
【請求項４】
前記選択操作のイベントの受信に応答して、前記参照回数又は前記最終参照時刻を更新する更新部を更に含む、請求項３に記載のサーバ装置。
【請求項５】
生成した前記参照マークに関連付けて、該参照マークの生成時刻、前記参照マークを付ける前記オブジェクトに関する情報、前記参照マークを生成する基となった前記アバタの動作に関する動作情報、及び該動作を行った前記アバタに関するアバタ情報のうち少なくとも１つを格納する参照マーク格納部を更に含む、請求項２に記載のサーバ装置。
【請求項６】
前記参照マーク通知部は、前記参照マークの生成時刻、前記参照マークを付ける前記オブジェクトに関する情報、前記参照マークを生成する基となった前記アバタの動作に関する動作情報、及び該動作を行った前記アバタに関するアバタ情報のうち少なくとも１つ含む前記通知を前記他のクライアント装置に送信する、請求項５に記載のサーバ装置
【請求項７】
前記動作検出部は、前記クライアント装置のユーザの入力により、前記オブジェクトが前記アバタによって一定時間以上指し示される状態を検出する、請求項２に記載のサーバ装置。
【請求項８】
前記動作検出部は、前記クライアント装置のユーザの入力により、前記アバタが前記オブジェクトを指し示している状態で、前記クライアント装置のユーザにより入力されたチャット・メッセージ中に所定のキーワードが含まれる状態を検出する、請求項２に記載のサーバ装置。
【請求項９】
前記動作検出部による動作の検出に応答して、前記オブジェクトが指し示される前後において前記クライアント装置のユーザにより入力されたチャット・メッセージを取得するメッセージ取得部と、取得したチャット・メッセージを前記参照マークに関連付けて格納する参照マーク格納部とを更に含む、請求項２に記載のサーバ装置。
【請求項１０】
ネットワークを介して接続された複数のクライアント装置に仮想現実空間を提供するサーバ装置において実行される、参照マークを自動生成するための方法であって、
クライアント装置の画面に表示される前記仮想現実空間内のオブジェクトを指し示す、前記クライアント装置に関連付けられたアバタの動作を検出するステップと、
前記動作の検出に応答して、前記オブジェクトに付ける参照マークを生成するステップと、
他のクライアント装置が前記サーバ装置に予め登録した、存在の通知を希望する参照マークを定義するポリシーを取得するステップと、
前記ポリシーを参照して、生成した参照マークのうち前記ポリシーに合致する参照マークを選択し、選択した参照マークの存在を前記他のクライアント装置に通知するステップと
を含む参照マーク自動生成方法。
【請求項１１】
前記他のクライアント装置の画面に表示された前記参照マークの通知に対する前記他のクライアント装置のユーザによる選択操作のイベントを前記他のクライアント装置から取得するステップと、前記選択操作のイベントの受信に応答して、前記他のクライアント装置に関連付けられた他のアバタが、前記参照マークを付けた前記オブジェクトに誘導されるように、前記他のアバタの位置情報及び視線情報の少なくとも一方を更新するステップとを更に含む、請求項１０に記載の参照マーク自動生成方法。
【請求項１２】
前記サーバ装置は、生成した前記参照マークに関連付けて、前記参照マークが参照された参照回数又は前記参照マークが最後に参照された最終参照時刻を格納する参照マーク格納部を含み、前記通知するステップにおいて、生成した前記参照マークの存在は、前記参照回数又は前記最終参照時刻の情報とともに通知される、請求項１１に記載の参照マーク自動生成方法。
【請求項１３】
請求項１０乃至１２のいずれか一項に記載の方法の全ステップをサーバに実行させる、サーバ用プログラム。
【請求項１４】
仮想現実空間を提供するサーバ装置と、該サーバ装置にネットワークを介して接続する１以上のクライアント装置を含むシステムにおいて実行される、参照マークを自動生成するためのプログラムであって、前記参照マーク自動生成プログラムは、前記クライアント装置に、
前記クライアント装置の画面に表示される前記仮想現実空間内のオブジェクトを指し示す、前記クライアント装置のユーザによる入力のイベントを検出するステップと、
前記イベントの検出に応答して、前記サーバ装置が前記オブジェクトに付ける参照マークを生成するトリガー情報として、前記検出したイベントの情報を前記サーバ装置へ通知するステップと、
存在の通知を希望する参照マークを定義するポリシーを前記ユーザの入力に基づき生成するステップと、
生成した前記ポリシーを前記サーバ装置に登録するステップと
を実行させ、
前記サーバ装置に、
前記クライアント装置からイベントの情報を取得することに応答して、前記オブジェクトに付ける参照マークを生成するステップと、
前記ポリシーを参照して、生成した参照マークのうち前記ポリシーに合致する参照マークを選択し、選択した参照マークの存在を前記クライアント装置に通知するステップと
を実行させる、参照マーク自動生成プログラム。  
【請求項１５】
前記参照マーク自動生成プログラムは、前記クライアント装置に、前記サーバ装置から受信した参照マークの存在を知らせる通知を、予め前記ユーザにより前記クライアント装置に登録されたプリファレンス情報を参照して、前記画面に強調表示又は非強調表示するステップを更に実行させる、請求項１４に記載の参照マーク自動生成プログラム。
【請求項１６】
前記参照マーク自動生成プログラムは、前記クライアント装置に、前記画面に表示された前記通知に対する前記ユーザによる選択操作を検出するステップと、前記選択操作の検出に応答して、選択された前記通知に対応する参照マークが付けられたオブジェクトに、前記クライアント装置に関連付けられたアバタを誘導するように、該アバタの位置情報及び視線情報の少なくとも一方を更新するステップとを更に実行させる、請求項１５に記載の参照マーク自動生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想共有空間におけるオブジェクトの参照に関し、特に、注目対象であるオブジェクトに自動で参照マークを付ける技術に関する。  
【背景技術】
【０００２】
近年、３次元コンピュータ・グラフィックスで作られたオンラインの仮想現実世界を提供するサービスが注目を浴びている。サービスの利用者は、専用のクライアント用ソフトウェアをインストールしたコンピュータから、インターネット等のネットワーク経由でホストのサーバに接続し、仮想現実世界にアクセスする。仮想現実世界では、サービスの利用者は、自らの分身であるアバタを操作して活動する。例えば、サービスの利用者は、アバタを介して、仮想現実世界に作られた街並みや建物を見て回ったり、そこで商取引を行ったり、出会った他の利用者と会話を楽しんだりすることができる。
【０００３】
現実の世界における会話では、人々は何かを参照して話をする際、しばしば指差し等のジェスチャーにより参照対象を相手に伝えようとする。３次元の仮想現実世界においても、利用者はアバタに特定のポーズをとらせ、また、メッセージ内の指示語により、特定のオブジェクトを指し示すことができる。しかしこれは現実世界のように必ずしもうまく機能しない。これは、仮想現実世界にアクセスする利用者のコンピュータの画面には、その利用者のアバタから見た仮想現実世界のビューが表示され、利用者ごとその画面に表示される画像が異なるからである。  
【０００４】
仮想現実世界では、参照対象を相手が容易に識別できるように、参照対象にマークを付けることも考えられる。例えば特許文献１は、オブジェクトを指定するコマンドをユーザから受信してオブジェクトを指定し、また選択された情報を上記オブジェクトに関連付けるコマンドをユーザから受信して上記オブジェクトに選択された情報を関連付ける技術を開示する。該技術により、ユーザは、例えばウィンドウを指定して参照マークを関連付け、更にウィンドウのそばに「狙撃兵に注意」のテキストを表示することで、別のプレイヤーがウィンドウを容易に識別し、かつ関連情報を知ることができるようにすることができる。
【特許文献１】特開２００６−２１２４２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１の技術は、プレイヤーに対して同じ１つの目標を設定する３次元ゲームにおけるオブジェクト参照を対象としている。そのため、リンデン・ラボ社によって運用されるＳＥＣＯＮＤ  ＬＩＦＥ（リンデンリサーチの商標）のような、各人が自由な活動を行うより汎用的な３次元仮想現実世界では、上記参照マーク付け技術をうまく利用することが難しい。なぜなら、より汎用的な３次元仮想現実世界では、利用者の目的意識や背景知識がそれぞれ異なるため、ある利用者が注目させたいものと、他の利用者が興味をもつものとが一致しないからである。その結果、折角面倒な参照マーク付けを行っても無駄になったり、また興味をもつものには参照マーク付けがなされていなかったりということが起こる。
【０００６】
ありとあらゆるものに参照マークを付けることで上記問題に対処することも可能であるが、そのためには利用者は参照マーク付けのためのコマンドを相当数入力しなければならず、現実的な解決法とはいえない。また、利用者の興味あるものに参照マーク付けがなされたとしても、参照マークが付けられたオブジェクトが利用者のコンピュータ画面に表示されない限り、利用者はその参照マークに気づくこともない。
【０００７】
この発明は、上記の問題点を解決するためになされたものであって、コンピュータ処理により、利用者によるコマンドの入力なしに、自動で、オブジェクトに付ける参照マークを生成することを目的とする。また、参照マークが付けられたオブジェクトが画面に表示されているか否かに関わらず、生成された参照マークの存在を、他のクライアント装置のユーザが、その興味に応じて知ることができるようにすることを目的とする。更に、参照マークを付けられたオブジェクトが他のクライアント装置の画面に表示されていない場合でも、他のクライアント装置のユーザがその参照マークの通知に興味を示す場合には、ユーザが参照マークを付けられたオブジェクトを見ることができるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成する本発明は、ネットワークを介して接続された複数のクライアント装置に仮想現実空間を提供するサーバ装置により実現される。該サーバ装置は、クライアント装置の画面に表示される仮想現実空間内のオブジェクトを指し示す、クライアント装置に関連付けられたアバタの動作を検出する動作検出部と、動作の検出に応答して、オブジェクトに付ける参照マークを生成する参照マーク生成部とを含む。
【０００９】
ここで検出するアバタの動作は、指や手等のアバタの体の一部を使ってオブジェクトを指し示す動作に限られず、棒やビーム等の道具を使ってオブジェクトを指し示す動作も含む。更には、アバタの視線があるオブジェクトに向けられることによってオブジェクトが指し示される状態を検出してもよい。また、サーバ装置が生成する参照マークは、クライアント装置の画面上で実際に見ることができる可視の参照マークでもよく、又は、実際には見ることができない不可視の参照マークでもよい。いずれの場合でも、サーバ装置は、参照マークに識別子としてIDを割り当て、該IDを、参照マークを付けるオブジェクトに関連付けて維持することで、参照マークを生成する。
【００１０】
好ましくは、動作検出部は、クライアント装置のユーザの入力により、オブジェクトがアバタによって一定時間以上指し示される状態を検出する。オブジェクトが一定時間以上指し示されることを条件とすることで、サーバ装置は、オブジェクトを指し示す以外の目的でオブジェクトを選択するアバタの動作又はユーザの操作に対し、誤って参照マークを生成することがなくなる。
【００１１】
また好ましくは、動作検出部は、クライアント装置のユーザの入力により、アバタがオブジェクトを指し示している状態で、クライアント装置のユーザにより入力されたチャット・メッセージ中に所定のキーワードが含まれる状態を検出する。
【００１２】
ここで所定のキーワードとは、例えば「これ」、「そこ」、「あちら」等の指示代名詞である。単に、アバタがオブジェクトを指し示す状態を検出するのではなく、その際、ユーザにより入力されたチャット・メッセージ中に所定のキーワードが含まれることを条件とすることで、サーバ装置は、アバタを介してオブジェクトを単に見るためのユーザ操作に対し、誤って参照マークを生成することがなくなる。
【００１３】
また好ましくは、サーバ装置は、動作検出部による動作の検出に応答して、オブジェクトが指し示される前後においてクライアント装置のユーザにより入力されたチャット・メッセージを取得するメッセージ取得部と、取得したチャット・メッセージを参照マークに関連付けて格納する参照マーク格納部を含む。オブジェクトが指し示される前後にユーザにより入力されたチャット・メッセージは、そのオブジェクトに関する内容である可能性が高い。そこで、サーバ装置は、オブジェクトを説明する情報として、チャット・メッセージをクライアント装置から取得し、参照マークに関連付けて維持する。なお、チャット・メッセージはテキストベースのメッセージだけでなく、音声ベースのメッセージであってもよい。
【００１４】
これに代えて又はこれに加えて、サーバ装置は、生成した参照マークに関連付けて、該参照マークの生成時刻、参照マークを付けるオブジェクトに関する情報、参照マークを生成する基となったアバタの動作に関する動作情報、及び該動作を行ったアバタに関するアバタ情報のうち少なくとも１つを格納する参照マーク格納部を含んでもよい。
【００１５】
また好ましくは、サーバ装置は、他のクライアント装置がサーバ装置に予め登録した、存在の通知を希望する参照マークを定義するポリシーを取得するポリシー取得部と、ポリシーを参照して、生成した参照マークのうちポリシーに合致する参照マークを選択し、選択した参照マークの存在を他のクライアント装置に通知する参照マーク通知部とを更に含む。これにより、生成された参照マークが付けられたオブジェクトが他のクライアント装置の画面に表示されていなくても、他のクライアント装置のユーザは、自分の興味あるオブジェクトに対して自動生成された参照マークの存在を知ることができる。
【００１６】
あるいは、サーバ装置は、生成した参照マークの存在を知らせる通知であって、参照マークの生成時刻、参照マークを付けるオブジェクトに関する情報、参照マークを生成する基となったアバタの動作に関する動作情報、及び該動作を行ったアバタに関するアバタ情報のうち少なくとも１つ含む通知を他のクライアント装置に送信する参照マーク通知部を更に含んでもよい。これにより、生成された参照マークが付けられたオブジェクトが、他のクライアント装置の画面に表示されていなくても、他のクライアント装置のユーザは、自動生成された参照マークの存在を知ることができ、かつそれが自分の興味あるものであるかを判断することができる。
【００１７】
また好ましくは、サーバ装置は、生成した参照マークに関連付けて、参照マークが参照された参照回数又は参照マークが最後に参照された最終参照時刻を格納する参照マーク格納部と、生成した参照マークの存在を、参照回数又は最終参照時刻の情報とともに、他のクライアント装置に通知する参照マーク通知部と、他のクライアント装置の画面に表示された参照マークの通知に対する他のクライアント装置のユーザによる選択操作のイベントを他のクライアント装置から取得する操作情報取得部と、選択操作のイベントの受信に応答して、参照回数又は最終参照時刻を更新する更新部とを更に含む。
【００１８】
参照回数や最終参照時刻の情報が与えられることで、他のクライアント装置のユーザは、自動生成された参照マークが付けられたオブジェクトの人気の高さを知ることができ、参照マークが付けられたオブジェクトを見るかどうかの判断材料の１つとすることができる。
【００１９】
更に好ましくは、サーバ装置に、参照回数が少ない参照マーク、生成から一定時間経過した参照マーク、最終参照時刻から一定時間が経過した参照マークのうち少なくとも１に該当する参照マークを廃棄する廃棄部を含む。これにより、人気がない参照マークや、古くなった参照マークがオブジェクトに付けられたままいつまでも残ることを避けることができる。
【００２０】
また好ましくは、サーバ装置は、生成した参照マークの存在を他のクライアント装置に通知する参照マーク通知部と、他のクライアント装置の画面に表示された参照マークの通知に対する他のクライアント装置のユーザによる選択操作のイベントを他のクライアント装置から取得する操作情報取得部と、選択操作のイベントの受信に応答して、他のクライアント装置に関連付けられた他のアバタが、参照マークを付けたオブジェクトに誘導されるように、他のアバタの位置情報及び視線情報の少なくとも一方を更新する更新部とを含む。
【００２１】
これにより、生成された参照マークが付けられたオブジェクトが、他のクライアント装置の画面に表示されていなくても、他のクライアント装置のユーザは、画面に表示される参照マークの通知を選択するだけで、アバタの現在位置や視線が更新され、自身の画面中に対応するオブジェクトを見ることができるようになる。
【００２２】
以上、サーバ装置として本発明を説明したが、本発明は、そのようなサーバ装置において実行される、参照マーク自動生成方法、及び参照マーク自動生成プログラムとして把握することもできる。
【００２３】
上記目的を達成する本発明はまた、仮想現実空間を提供するサーバ装置と、該サーバ装置にネットワークを介して接続する１以上のクライアント装置を含むシステムにおいて実行される、参照マークを自動生成するためのプログラムとして把握することも可能である。この参照マーク自動生成プログラムは、クライアント装置に、クライアント装置の画面に表示される仮想現実空間内のオブジェクトを指し示す、クライアント装置のユーザによる入力のイベントを検出するステップと、イベントの検出に応答して、サーバ装置が前記オブジェクトに付ける参照マークを生成するトリガー情報として、検出したイベントの情報をサーバ装置へ通知するステップとを実行させる。また、参照マーク自動生成プログラムは、サーバ装置に、クライアント装置からイベントの情報を取得することに応答して、オブジェクトに付ける参照マークを生成するステップを実行させる。
【００２４】
好ましくは、上記検出するステップは、ユーザの入力により、クライアント装置の画面に表示されるオブジェクトが一定時間以上指し示される状態を検出するステップを含む。これに代えて、又はこれに加えて、上記検出するステップは、クライアント装置に関連づけられたアバタがオブジェクトを指し示している状態で、ユーザにより入力されたチャット・メッセージ中に所定のキーワードが含まれる状態を検出するステップを含んでもよい。
【００２５】
また好ましくは、参照マーク自動生成プログラムは、クライアント装置に、オブジェクトが指し示される前後においてユーザによりクライアント装置に入力されたチャット・メッセージを取得するステップを実行させてもよい。この場合、取得したチャット・メッセージは、検出したイベントの情報に含まれて、サーバ装置へ通知される。
【００２６】
また好ましくは、参照マーク自動生成プログラムは、クライアント装置に、存在の通知を希望する参照マークを定義するポリシーをユーザの入力に基づき生成するステップと、生成したポリシーをサーバ装置に登録するステップとを実行させる。定義されるポリシーは、一例として、参照マークを生成する基となったイベントの種類に関する条件や、イベント情報を送信するクライアント装置に関する条件、また、参照マークが生成された時刻に関する条件を含むことができるが、これに限られない。また、ポリシーは、通知を希望しない参照マークを定義することによって、存在の通知を希望する参照マークを定義するものであってもよい。
【００２７】
また好ましくは、参照マーク自動生成プログラムは、サーバ装置に、ポリシーを参照して、生成した参照マークのうち前記ポリシーに合致する参照マークを選択し、選択した参照マークの存在をクライアント装置に通知するステップを更に実行させる。また、参照マーク自動生成プログラムは、クライアント装置に、サーバ装置から受信した参照マークの存在を知らせる通知を、予めユーザによりクライアント装置に登録されたプリファレンス情報を参照して、画面に強調表示又は非強調表示するステップを更に実行させる。
【００２８】
ここで、登録されるプリファレンス情報は、一例として、最近生成された参照マーク、他のユーザによって参照された参照マーク、仮想現実空間において最近会話したアバタ又は自身のアバタの周辺にいるアバタに関連付けられるクライアント装置が発行したイベントが基となって生成された参照マークの少なくとも１つに該当する参照マークを優先して強調表示するというものであってよい。
【００２９】
また好ましくは、参照マーク自動生成プログラムは、サーバ装置に、ポリシーを参照して、生成した参照マークのうち前記ポリシーに合致する参照マークを選択し、選択した参照マークの存在をクライアント装置に通知するステップを更に実行させる。また、参照マーク自動生成プログラムは、クライアント装置に、サーバ装置から受信した参照マークの存在を知らせる通知を画面に表示するステップと、画面に表示された通知に対するユーザによる選択操作を検出するステップと、選択操作の検出に応答して、選択された通知に対応する参照マークが付けられたオブジェクトに、クライアント装置に関連付けられたアバタを誘導するように、該アバタの位置情報及び視線情報の少なくとも一方を更新するステップとを実行させる。
【００３０】
更に好ましくは、参照マークの存在を知らせる上記通知は、参照マークが付けられるオブジェクトに関する情報及び参照マークを生成する基となったイベントをサーバ装置へ送信したクライアント装置に関連付けられたアバタに関する情報のうちの少なくとも一方を含む。そして、上記更新するステップは、アバタの位置情報及び視線情報の少なくとも一方を、通知に含まれるオブジェクトに関する情報又はアバタに関する情報に基づいて更新するステップを含む。該構成は、サーバ装置において、アバタの位置情報及び視線情報の少なくとも一方を更新する計算処理を行う構成と比較して、スケーラビリティの点で好ましい。
【発明の効果】
【００３１】
本発明によれば、クライアント装置の画面に表示される仮想現実空間内のオブジェクトを指し示す、クライアント装置に関連付けられたアバタの動作を、参照マークを生成するトリガー情報として検出し、動作の検出に応答してオブジェクトに付ける参照マークを生成するので、参照マークの生成を指示するコマンドの入力という面倒な操作なしに、ユーザはオブジェクトに参照マークを付けることが可能となる。
【００３２】
また、自動生成した参照マークのうち、クライアント装置がサーバ装置に予め登録したポリシー情報に合致する参照マークについて、その存在を知らせる通知がクライアント装置の画面に表示されるので、クライアント装置のユーザは、参照マークが付けられたオブジェクトがその画面に表示されているか否かに関わらず、興味ある参照マークの存在を知ることができる。更に、画面に表示される参照マークの通知がユーザにより選択された場合、その参照マークが付けられるオブジェクトが見えるようにアバタの視線情報や位置情報が更新されるので、ユーザは興味をもった参照マークがつけられるオブジェクトを確実に見ることができるようになる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、実施の形態の説明の全体を通じて同じ要素には同じ番号を付している。
【００３４】
図１は、本発明の一実施形態に係る参照マークを自動生成するシステム１０００の全体の構成の一例を示す図である。システム１０００は、インターネットやLAN（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワーク１００に接続し、複数のクライアント装置に仮想現実空間を提供するサーバ装置２００と、ネットワーク１００に接続し、サーバ装置２００によって提供される仮想現実空間で活動を行う複数のクライアント装置３００とを含む。
【００３５】
サーバ装置２００は、クライアント装置３００に対し、３次元の仮想現実空間を表示し、クライアント装置３００のユーザがアバタを操作して、３次元の仮想現実空間内を自由に移動し、個人や企業により提供された様々なオブジェクトを参照し又操作し、他のクライアント装置３００のユーザとのチャットを楽しむことができるサービスを提供する。
【００３６】
クライアント装置３００は、ネットワーク１００を介してサーバ装置２００に接続し、サーバ装置２００が提供する３次元の仮想現実世界の各種サービスを受ける。
【００３７】
本発明の実施形態に係るサーバ装置３００は、上記説明した各種サービスに加えて、新たに次のサービスを提供する。
（１）３次元の仮想現実空間内のオブジェクトを指し示すアバタの動作をトリガーとした、オブジェクトに付ける参照マークの自動生成。
（２）ユーザの興味に基づく、クライアント装置３００への生成した参照マークの存在の通知。
（３）クライアント装置において選択された参照マークの存在の通知に対応するオブジェクトへのアバタ（クライアント装置）の誘導。
（４）生成した参照マークの自動廃棄。
【００３８】
本発明の実施形態に係るクライアント装置３００は、上記新たなサービスを受けるため、次の機能を有する。
（１）３次元の仮想現実空間内のオブジェクトを指し示すアバタの動作の検出及び該検出のサーバ装置２００への通知。
（２）存在の通知を希望する参照マークを定義するポリシーの作成及び該ポリシーのサーバ装置２００への登録。
（３）表示方法を定義するプリファレンス情報の登録及び該プリファレンス情報に従った、参照マークの通知の強調表示又は非強調表示。
（４）参照マークの通知の選択操作の検出、選択操作の検出に応答したアバタ情報の更新及び該更新情報のサーバ装置２００への通知。
但し、上記機能のうち（１）の機能及び（４）の参照マークの通知の選択操作の検出に応答して、アバタ情報を更新する機能は、サーバ装置２００にもたせることも可能である。（４）の機能をサーバ装置２００にもたせる場合、クライアント装置３００は、代わりに、参照マークの通知の選択操作の検出に応答して、該選択操作のイベントをサーバ装置２００へ通知し、サーバ装置２００からアバタの更新情報を受信する機能をもつ。
【００３９】
図２は、本発明の実施の形態によるサーバ装置２００及びクライアント装置３００を実現するのに好適な情報処理装置のハードウェア構成の一例を示した図である。情報処理装置は、バス２に接続されたＣＰＵ（中央処理装置）１とメインメモリ４を含んでいる。ハードディスク装置１３、３０、およびＣＤ−ＲＯＭ装置２６、２９、フレキシブル・ディスク装置２０、ＭＯ装置２８、ＤＶＤ装置３１のようなリムーバブル・ストレージ（記録メディアを交換可能な外部記憶システム）がフレキシブル・ディスクコントローラ１９、ＩＤＥコントローラ２５、ＳＣＳＩコントローラ２７などを経由してバス２へ接続されている。
【００４０】
フレキシブル・ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭのような記憶メディアが、リムーバブル・ストレージに挿入される。これらの記憶メディアやハードディスク装置１３、３０、ＲＯＭ１４には、オペレーティング・システムと協働してＣＰＵ等に命令を与え、本発明を実施するためのコンピュータ・プログラムのコードを記録することができる。
【００４１】
即ち、サーバ装置２００としての情報処理装置の上記説明した数々の記憶装置には、３次元仮想現実空間を提供するための基本プログラムと、本発明を実施するための参照マークを自動生成するためのサーバ用プログラムを格納できる。また、クライアント装置３００としての情報処理装置の記憶装置には、３次元仮想現実空間のサービスを受けるための専用プログラムと、本発明を実施するための参照マークを自動生成するためのクライアント用プログラムを格納できる。なお本発明を実施するためのサーバ用プログラムを、基本プログラムの一部とすることも可能である。同様に、本発明を実施するためのクライアント用プログラムを、専用プログラムの一部とすることも可能である。
【００４２】
これら複数のコンピュータ・プログラムはメインメモリ４にロードされることによって実行される。コンピュータ・プログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。
【００４３】
サーバ装置２００としての情報処理装置のハードディスク装置１３、３０等の記憶装置にはまた、３次元仮想現実空間を構成する街並み等の状態の変化しない３次元画像データと、そこに配置されるアバタを含む３次元のオブジェクトに関するデータが格納される。アバタを含む３次元のオブジェクトは、クライアント装置３００により更新され、該更新情報は、同じ空間に各々のアバタを位置させる複数のクライアント装置３００間で共有されるものである。そのためサーバ装置２００の記憶装置にはまた、一例として３次元仮想現実空間内の領域ごとに、図３に示すようなアバタに関するアバタ情報（図３の（a)参照）と、その他のオブジェクトに関するオブジェクト情報（図３の（ｂ)参照）が格納される。
【００４４】
情報処理装置は、キーボード／マウス・コントローラ５を経由して、キーボード６やマウス７のような入力デバイスからの入力を受ける。情報処理装置は、オーディオコントローラ２１を経由して、マイク２４からの入力を受け、またスピーカー２３から音声を出力する。情報処理装置は、視覚データをユーザに提示するための表示装置１１に、グラフィックスコントローラ１０を経由して接続される。情報処理装置は、ネットワーク・アダプタ１８（イーサネット（登録商標）・カードやトークンリング・カード）等を介してネットワークに接続し、他のコンピュータ等と通信を行うことが可能である。
【００４５】
以上の説明により、本発明の実施の形態によるシステム１０００を実現するのに好適な情報処理装置は、通常のパーソナルコンピュータ、ワークステーション、メインフレームなどの情報処理装置、または、これらの組み合わせによって実現されることが容易に理解されるであろう。ただし、情報処理装置は３次元のグラフィックス処理を行う必要があることから、一定以上の性能をもつグラフィックスコントローラ１０及び大容量のビデオメモリ９を備えることが好ましい。
【００４６】
またサーバ装置２００としての情報処理装置は、３次元仮想現実空間を構成する３次元画像データや、アバタを含むオブジェクトを管理する管理データ（図３参照）を維持する必要から、大容量の記憶装置を備えることが好ましい。図１には、一台のサーバ装置２００を示したが、例えば３次元仮想現実空間を領域ごと複数のサーバ装置２００に担当させるなど、複数のサーバ装置２００によって３次元仮想現実空間を提供するよう構成してもよい。なお、上記説明した構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
【００４７】
このようなハードウェア構成を備えるクライアント装置３００は、３次元仮想現実空間のサービスを受けようとするユーザにより専用のプログラムを起動されると、ネットワーク・アダプタ１８を介して、上記ハードウェア構成を備えるサーバ装置２００に接続を要求する。接続要求を受けたサーバ装置２００は、クライアント装置３００により指定された領域の３次元画像データと、そこに配置されるアバタを含むオブジェクトに関するデータを記憶装置から読み出し、ネットワーク・アダプタ１８を介してクライアント装置３００へ送信する。
【００４８】
クライアント装置３００は、受信したデータをメインメモリ４に記憶し、自身のアバタの位置情報（３次元仮想現実空間内の視点座標）及び視線情報（視線方向角）に基づいて、自身のアバタから見た仮想現実空間の画像をメインメモリ４から読み出し、表示装置１１に表示する。クライアント装置３００は、キーボード６やマウス７等の入力デバイスを介してユーザにより、自身のアバタやオブジェクトが操作されると、操作による変更に対応したデータをメインメモリ４から読出し、表示装置１１の表示内容を更新する。
【００４９】
クライアント装置３００はまた、キーボード６やマイク２４等の入力デバイスを介してユーザよりチャット・メッセージの入力を受けると、チャット・メッセージを表示装置１１に表示し、あるいはチャット・メッセージをスピーカー２３から出力する。そして、クライアント装置３００は、アバタやオブジェクトに関する更新情報やチャット・メッセージを、ネットワーク・アダプタ１８を介してサーバ装置２００へ送信する。
【００５０】
サーバ装置２００は、受信した更新情報で記憶装置に格納するデータを更新し、また対応するアバタのアバタ情報に関連付けてチャット・メッセージを記憶装置に格納する。サーバ装置２００はまた、受信した更新情報やチャット・メッセージを、同一の空間にアバタを位置させる他のクライアント装置３００にネットワーク・アダプタ１８を介して送信する。このようにサーバ装置２００とそれに接続する複数のクライアント装置３００とが相互に情報を交換することで、３次元の仮想現実空間が複数のクライアント装置間で共有される。３次元の仮想現実空間を提供し、クライアント装置３００のユーザが仮想現実空間において活動できるようにするための、サーバ装置２００に適用される技術及びクライアント装置３００に適用される技術は公知であるため、本明細書ではこれ以上の詳細な説明は省略する。
【００５１】
図４は、本発明の実施形態に係る参照マークを自動生成するためのサーバ装置２００の機能構成の一例を示す図である。本発明の実施形態に係るサーバ装置２００は、動作検出部２０５と、メッセージ取得部２１０と、参照マーク生成部２１５と、廃棄部２２０と、ポリシー取得部２２５と、参照マーク通知部２３０と、操作情報取得部２３５と、更新部２４０とを含む。また本発明の実施形態に係るサーバ装置２００の１以上の記憶装置は、３次元画像データ格納部２４５及び管理情報格納部２５０、参照マーク格納部２５５と、ポリシー格納部２６０として構成される。
【００５２】
３次元画像データ格納部２４５は、上述したように、３次元の仮想現実空間を構成する街並み等の状態の変化しない３次元画像データを格納する。管理情報格納部２５０は、３次元の仮想現実空間内に配置される、状態が変化し得る３次元のオブジェクトに関するデータを格納する。管理情報格納部２５０は、一例として、３次元のオブジェクトに関するデータを、アバタに関するアバタ情報と、その他のオブジェクトに関するオブジェクト情報とに分けて格納する。図３（a)は、アバタ情報を管理するためのテーブルを示す。該テーブルには、アバタIDに関連付けて、アバタの位置情報（３次元仮想現実空間内の視点座標）、アバタの向き、即ち、視線情報（視線方向角）、及びアバタの３次元モデルデータが記憶される。図３（ｂ）は、アバタを除く、他のオブジェクト情報を管理するためのテーブルを示す。該テーブルには、オブジェクトIDに関連付けて、オブジェクトの位置情報、向き情報、及びオブジェクトの３次元モデルデータが記憶される。
【００５３】
動作検出部２０５は、クライアント装置３００の画面に表示される３次元の仮想現実空間内のオブジェクトを指し示す、クライアント装置３００に関連付けられたアバタの動作を検出する。検出する、３次元の仮想現実空間内のオブジェクトを指し示すアバタの動作は、手や指等の体の一部や、指し棒、ビームといった道具を使ってオブジェクトを指し示す動作であってよい。更には、アバタの視線があるオブジェクトに向けられる状態を、オブジェクトを指し示す動作として検出してもよい。このようなアバタの動作は、指し示すオブジェクト又はアバタの視線を指定する、キーボード６やマウス７、更にはマイク２４といったクライアント装置３００の入力デバイスを介したユーザ入力の結果として行われる。
【００５４】
アバタにオブジェクトを指し示す動作をさせるユーザ入力は、画面に表示されるアバタの状態を変化させるものであるため、同じ空間を共有する他のクライアント装置３００に伝える必要があることからサーバ装置２００に送信される。そこでサーバ装置２００は、このようなアバタの動作を、クライアント装置３００から送信される、アバタの更新情報をモニタすることにより検出する。本実施形態に係るアバタの更新情報は、アバタの位置情報や視線情報を含み、更に、ユーザにより指定されたオブジェクトの識別情報又は指し位置情報の少なくとも１つを含む。オブジェクトの識別情報又は指し位置情報は、後述する参照マーク生成部２１５に渡される。
【００５５】
アバタの視線によりオブジェクトが指し示される場合、動作検出部２０５は、指し示されるオブジェクトを、アバタの位置情報及び視線情報に基づき、管理情報格納部２５０から検索する。即ち、動作検出部２０５は、アバタの現在の位置情報を起点として、アバタの視線方向に線をひき、最初にぶつかるオブジェクトを、指し示されるオブジェクトとして特定する。管理情報格納部２５０から検索されたオブジェクトの識別情報は、後述する参照マーク生成部２１５に渡される。
【００５６】
好ましくは、動作検出部２０５は、クライアント装置３００のユーザの入力により、オブジェクトがアバタによって一定時間以上指し示される状態を検出する。オブジェクトが一定時間以上指し示されることを条件とすることで、動作検出部２０５は、オブジェクトを指し示す以外の目的でオブジェクトを選択するアバタの動作又はユーザの操作を誤って検出することがなくなる。なお、一定の時間が経過するまでにアバタの動作を複数回検出し、その際検出された又は特定された指し位置が同じでないという場合も起こりえる。しかしこのような場合でも、例えば同一のオブジェクト又は隣接するオブジェクトが指定されるなど、異なる指し位置が一定の範囲内のものであれば、最後に検出された指し位置がアバタによって指し示されたものとみなしてもよい。
【００５７】
これに代えて又はこれに加えて、動作検出部２０５は、クライアント装置３００のユーザの入力により、アバタがオブジェクトを指し示している状態で、クライアント装置３００のユーザにより入力されたチャット・メッセージ中に所定のキーワードが含まれる状態を検出してもよい。ここで所定のキーワードとは、例えば「これ」、「そこ」、「あちら」等の指示代名詞である。単にオブジェクトが指し示されるだけでなく、その際ユーザにより入力されたチャット・メッセージ中に所定のキーワードが含まれることを条件とすることで、動作検出部２０５は、アバタを介してオブジェクトを単に見るためのユーザ操作を誤って検出することがなくなる。
【００５８】
ユーザにより入力されるテキストベース又は音声ベースのチャット・メッセージは、同じ空間を共有する他のクライアント装置３００に伝える必要があることからサーバ装置２００に送信される。そこで動作検出部２０５は、クライアント装置３００からチャット・メッセージを受信すると、該チャット・メッセージを解析して指示代名詞が含まれるか否か判断する。チャット・メッセージの解析は、テキストの場合、文字列（指示代名詞）マッチングでもよく、又は形態素解析などの高度なテキスト処理により行ってもよい。また、音声の場合は、音声認識処理により行ってもよい。なお、所定のキーワードが含まれるか否かに関わらず、アバタがオブジェクトを指し示している状態で、クライアント装置３００のユーザによりチャット・メッセージが送信される状態を検出してもよい。
【００５９】
なお、動作検出部２０５によるアバタの動作の検出は、そのアバタに関連付けられたクライアント装置３００において、上記説明したのと同様の方法により行うことができる。クライアント装置３００において上記アバタの動作を検出する構成を採用する場合、当該検出したアバタの動作のイベント情報は、サーバ装置２００がオブジェクトに付ける参照マークを生成するトリガー情報として、クライアント装置３００からサーバ装置２００（動作検出部２０５）へ通知される。
【００６０】
メッセージ取得部２１０は、動作検出部２０５によるアバタの動作の検出に応答して、オブジェクトが指し示される前後においてクライアント装置３００のユーザにより入力されたチャット・メッセージを取得する。上述したように、ユーザにより入力されるチャット・メッセージは、同じ空間を共有する他のクライアント装置３００に伝える必要があることからサーバ装置２００に送信される。そこで、本発明の実施形態におけるメッセージ取得部２１０は、サーバ装置２００において受信したクライアント装置３００のチャット・メッセージを一定期間保管する。そして、メッセージ取得部２１０は、動作検出部２０５によるアバタの動作の検出に応答して、検出されたアバタに関連付けられるクライアント装置３００からのチャット・メッセージを検索し、オブジェクトが指し示される前後においてクライアント装置３００のユーザにより入力されたチャット・メッセージを取得する。取得されたチャット・メッセージは、上記オブジェクトを説明する情報として利用する。
【００６１】
なお、メッセージ取得部２１０によるチャット・メッセージの取得についても、クライアント装置３００において、上記説明したのと同様の方法により行うことができる。クライアント装置３００においてチャット・メッセージを取得する構成を採用する場合、取得されたチャット・メッセージは、参照マークを生成するトリガー情報の一部として、クライアント装置３００からサーバ装置２００（メッセージ取得部２１０）へ通知される。
【００６２】
参照マーク生成部２１５は、動作検出部２０５によるアバタの動作の検出に応答して、オブジェクトに付ける参照マークを生成する。参照マーク生成部２１５が生成する参照マークは、クライアント装置３００の画面上でオブジェクトの近傍に実際に見ることができる可視の参照マークでもよく、又は、実際には見ることができない不可視の参照マークでもよい。いずれの場合でも、参照マーク生成部２１５は、参照マークに識別子としてIDを割り当て、該IDを、参照マークを付けるオブジェクトに関連付けて維持することで、参照マークを生成する。
【００６３】
なお、参照マーク生成部２１５は、参照マークを付けるオブジェクトの識別を、上述したように動作検出部２０５から渡されるオブジェクトの識別情報に基づいて行う。好ましくは、参照マーク生成部２１５は、生成した参照マークに関連付けて、参照マークの生成時刻、参照マークを生成する基となったアバタの動作に関する動作情報、及び該動作を行ったアバタに関するアバタ情報のうち少なくとも１つを維持し、参照マーク格納部２５５に格納する。
【００６４】
図５は、参照マーク格納部２５５に格納すべき、参照マーク生成部２１５により生成された参照マークのテーブルの一例を示す図である。参照マークIDの欄は、上述した、参照マークの識別子を記憶する。作成時刻の欄は、参照マーク生成部２１５が参照マークを生成した時刻を記憶する。最終参照時刻の欄は、該参照マークが、任意のクライアント装置３００により最後に参照された時刻を記憶する。参照回数の欄は、該参照マークが、任意のクライアント装置３００により参照された回数を記憶する。なお、これら２つの欄は、参照マーク生成部２１５により参照マークが生成された時点では初期値として0を記憶する。
【００６５】
オブジェクトの欄は、参照マークが付けられるオブジェクトに関するオブジェクト情報を記憶する。ここで記憶されるオブジェクト情報は、オブジェクトの識別子であるオブジェクトIDと、指し示された指し位置（X,Y,Z)を含む。アバタの視線によって指されたオブジェクトを特定する場合、アバタの位置情報、即ちアバタの視点座標と、オブジェクトの中心とを結んだ線がオブジェクトの表面にぶつかるその表面上の点が、指し位置として求められ記憶される。なお、参照マークのテーブルに記憶する指し位置は、オブジェクトの位置や向きに相対的な３次元座標を使用し、オブジェクトの位置の変更に対応可能とするのが好ましい。
【００６６】
生成者の欄は、参照マークを生成する基となった動作を行ったアバタ（以下、生成者という）に関する生成者情報を記憶する。ここで記憶される生成者情報は、生成者の識別子である生成者IDと、生成者の位置情報及び視線情報を含む。コンテキストの欄は、参照マークを生成する基となったアバタの動作に関する動作情報を記憶する。ここで記憶される動作情報は、動作のタイプと、動作の前後でユーザによりクライアント装置３００に入力された入力値とを含む。
【００６７】
図５に示すテーブルに記載されるタイプTEXT及びVOICEは、アバタの動作として、それぞれテキストベース又は音声ベースの指示代名詞を含むチャット・メッセージの送信が検出されたこと示す。タイプSTAYは、アバタの動作として、体の一部や道具を使ってオブジェクトを一定時間以上指し示さす動作が検出されたことを示す。コンテキスト値には、メッセージ取得部２１０により取得されたチャット・メッセージが記憶される。なお、図５のテーブルに示すように、コンテキストがタイプSTAYの場合、メッセージ取得部２１０によりチャット・メッセージが必ずしも取得されるとは限らず、その場合コンテキスト値の欄は空欄のままである。
【００６８】
廃棄部２２０は、参照マーク格納部２５５から、参照回数が少ない参照マーク、生成から一定時間経過した参照マーク、最終参照時刻から一定時間が経過した参照マークのうち少なくとも１に該当する参照マークを廃棄する。これにより、人気がない参照マークや、古くなった参照マークがオブジェクトに付けられたままいつまでも残ることを避けることができる。
【００６９】
ポリシー取得部２２５は、参照マーク生成部２１５が生成した参照マークのうち、クライアント装置３００が存在の通知を希望する参照マークを定義するポリシーを、クライアント装置３００から予め受信し、ポリシー格納部２６０に格納する。ポリシー取得部２２５が取得するポリシーの詳細は、図７を参照して後述する。
【００７０】
参照マーク通知部２３０は、ポリシー格納部２６０に格納される各クライアント装置３００のポリシーに基づいて、参照マークテーブルに記憶される生成した参照マークの中から、ポリシーに合致する参照マークをそれぞれ選択し、選択した参照マークの存在を知らせる通知（以下、単に、参照マークの通知という）を各クライアント装置３００に送信する。参照マーク通知部２３０が送信する参照マークの通知は参照マークのIDを含み、好ましくは更に、参照マークの生成時刻、参照マークを付けるオブジェクトに関するオブジェクト情報、参照マークを生成する基となったアバタの動作に関する動作情報、該動作を行った生成者に関する生成者情報、参照マークが参照された参照回数、参照マークが最後に参照された最終参照時刻のうち少なくとも１つを含む。
【００７１】
ここで、オブジェクト情報は、オブジェクトの識別子であるオブジェクトIDと、指し示された指し位置（X,Y,Z)を含む。動作情報は、動作の前後でユーザによりクライアント装置３００に入力された入力値を含む。生成者情報は、生成者IDと、生成者の位置情報及び視線情報を含む。詳細は後述するが、参照マークの通知を受け取ったクライアント装置３００は、該参照マークの通知をその表示装置１１の画面に表示する。一例として画面に表示される参照マークの通知は、参照マークの生成時刻、生成者情報、参照マークを生成する基となった動作の前後でユーザによりクライアント装置３００に入力された入力値を含む。
【００７２】
操作情報取得部２３５は、クライアント装置３００の画面に表示された参照マークの通知に対する、クライアント装置３００のユーザによる選択操作のイベントを、該クライアント装置３００から受信する。ここで、受信する選択操作のイベントには、参照マークのIDが含まれる。
【００７３】
更新部２４０は、操作情報取得部２３５による選択操作のイベントの受信に応答して、該選択操作のイベントに含まれる参照マークのIDをキーに、参照マーク格納部２５５に格納される参照マークのテーブルから、一致する参照マークを検索する。そして更新部２４０は、一致した参照マークの最終参照時刻及び参照回数の値をそれぞれ更新する。
【００７４】
また、更新部２４０は、操作情報取得部２３５による選択操作のイベントの受信に応答して、選択操作のイベントを送信したクライアント装置３００のユーザが、選択された参照マークの通知に対応する参照マークを付けたオブジェクトに誘導されるように、管理情報格納部２５０に格納される、選択操作のイベントを送信したクライアント装置３００に関連付けられたアバタ（以下、注目者という）の位置情報及び視線情報の少なくとも一方を更新する。
【００７５】
一例として、更新部２４０は、選択操作のイベントに含まれる参照マークのIDをキーに、参照マーク格納部２５５に格納される参照マークのテーブルから、一致する参照マークを検索する。そして更新部２４０は、一致した参照マークのオブジェクトの指し位置を読み出して、該指し位置に基づき注目者の位置情報及び視線情報の少なくとも一方を更新する。即ち、更新部２４０は、上記指し位置が注目者の視線方向となるように、注目者の位置情報又は視線情報の少なくとも一方を更新する。
【００７６】
あるいは、更新部２４０は、一致した参照マークの生成者の位置情報や視線情報を読み出して、これらを用いて注目者の位置情報及び視線情報の少なくとも一方を更新する。一例として、オブジェクトを指したときの参照マークの生成者の位置や視線を、そのまま注目者の位置及び視線として設定してもよい。但し、この場合、参照マークの生成者であるアバタと、注目者であるアバタとが３次元の仮想現実空間内においてぶつからないように配慮する必要がある。
【００７７】
なお、生成者情報やオブジェクト情報を参照マークの通知に含めることにより、クライアント装置３００において、注目者の位置情報又は視線情報を更新して、参照マークの通知を選択したクライアント装置３００のユーザを、その選択された参照マークの通知に対応する参照マークを付けたオブジェクトに誘導することも可能である。この場合、更新部２４０は、クライアント装置３００から、選択操作のイベントと共にアバタの更新情報を取得する。そして更新部２４０は、取得した更新情報に基づいて、管理情報格納部２５０に格納する、選択操作のイベントを送信したクライアント装置３００に関連付けられたアバタの位置情報及び視線情報の少なくとも一方を更新する。  
【００７８】
図６は、本発明の実施形態に係る参照マークを自動生成するためのクライアント装置３００の機能構成の一例を示す図である。本発明の実施形態に係るクライアント装置３００は、イベント検出部３０５と、メッセージ取得部３１０と、通知部３１５と、ポリシー生成部３２０と、ポリシー登録部３２５、通知表示部３３０と、選択操作検出部３３５と、誘導部３４０とを含む。また本発明の実施形態に係るクライアント装置３００の１以上の記憶装置は、３次元画像データ格納部３４５、管理情報格納部３５０、通知情報格納部３５５と、プリファレンス情報格納部３６０として構成される。なお、上述したように、サーバ装置２００において、３次元の仮想現実空間内のオブジェクトを指し示すアバタの動作の検出を行う場合、イベント検出部３０５、メッセージ取得部３１０、及び通知部３１５は上記機能構成に含まれない。
【００７９】
３次元画像データ格納部３４５は、３次元の仮想現実空間を構成する街並み等の状態の変化しない３次元画像データを格納する。かかる３次元画像データは、ユーザが３次元の仮想現実空間内の特定の領域を初めて訪れる際、領域単位でサーバ装置２００からダウンロードしてもよく、または、予めサービスの利用者に配布される、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭのような記憶メディアから読み出してもよい。
【００８０】
管理情報格納部３５０は、３次元の仮想現実空間内に配置される、状態が変化し得る３次元のオブジェクトに関するデータを格納する。管理情報格納部３５０は、一例として、３次元のオブジェクトに関するデータを、アバタに関するアバタ情報と、その他のオブジェクトに関するオブジェクト情報とに分けて格納する。これらアバタ情報とオブジェクト情報は、図３を参照して説明したのと同じであるから、ここでは説明を省略する。
【００８１】
イベント検出部３０５は、クライアント装置３００の画面に表示される仮想現実空間内のオブジェクトを指し示す、クライアント装置３００のユーザによる入力のイベントを検出する。検出方法の詳細な説明は、サーバ装置２００の動作検出部２０５に関して説明したのと同様であることから、繰り返しを避けるため、ここでは省略する。
【００８２】
メッセージ取得部３１０は、イベント検出部３０５によるイベントの検出に応答して、オブジェクトが指し示される前後においてユーザによりクライアント装置３００に入力されたチャット・メッセージを取得する。メッセージ取得の詳細な説明は、サーバ装置２００のメッセージ取得部２１０に関して説明したのと同様であることから、繰り返しを避けるため、ここでは省略する。
【００８３】
通知部３１０は、イベント検出部３０５によるイベントの検出に応答して、サーバ装置２００が上記オブジェクトに付ける参照マークを生成するトリガー情報として、検出したイベントの情報をサーバ装置２００へ通知する。なお、サーバ装置２００へ通知するイベントの情報には、検出されたイベントの種類と、ユーザにより指定されたオブジェクトの識別情報又は指し位置情報の少なくとも１つと、該当する場合にメッセージ取得部３１０により取得されたチャット・メッセージとが含まれる。
【００８４】
ここでイベントの種類は、図５を参照して説明したコンテキストのタイプに対応する。すなわち、イベント検出部３０５が、オブジェクトを指し示す、ユーザによる入力のイベントとして、テキストベース又は音声ベースの指示代名詞を含むチャット・メッセージの送信を検出する場合、イベントの種類はそれぞれTEXT又はVOICEである。一方、イベント検出部３０５が、オブジェクトを指し示す、ユーザによる入力のイベントとして、体の一部や道具を使ってオブジェクトを一定時間以上指し示さす動作を検出する場合、イベントの種類はSTAYである。
【００８５】
ポリシー生成部３２０は、その存在の通知を希望する参照マークを定義するポリシーを、クライアント装置３００のユーザの入力に基づき生成する。また、ポリシー登録部３２５は、生成したポリシーを、サーバ装置２００に登録する。図７は、ポリシー生成部３２０が生成するポリシーの一例を示す図である。図７（a)に示すポリシーは、通知を希望しない参照マークを定義することによって、存在の通知を希望する参照マークを定義する。Ignoreは、該ポリシーが、通知を希望しない参照マークの定義であることを示す。そして、参照マークを生成する基となるイベントを送信するクライアント装置３００に関連付けられたアバタのID（<AvatarID>）と、参照マークを生成する基となるイベントの種類（<Action>）とによって、通知を希望しない参照マークを定義する。
【００８６】
例えば、図７（a)に示される最初の例は、アバタIDが１２３４であるアバタに対して、指示代名詞を含む音声チャット・メッセージが検出されることにより生成される参照マークを、通知を行わない参照マークとして定義する。このほか、本実施例においては、<Action>として、上述したTEXTやSTAYを指定することもできる。
【００８７】
図７（ｂ）及び（ｃ）に示すポリシーは、通知を希望しない参照マークまたは通知の優先度を定義する。図７（ｂ）に示すポリシーにおいて、SetAbatarPriorityは、該ポリシーが、参照マークを生成する基となるイベントを送信するクライアント装置３００に関連付けられたアバタに基づいて、参照マークの通知の優先度を定義することを示す。即ち、図７（ｂ）に示される最初の例のように、参照マークを生成する基となるイベントを送信するクライアント装置３００に関連付けられたアバタのID<Avatar ID>によって参照マークを特定し、優先度<Priority>によって、特定された参照マークの通知の優先度を指定する。本実施例においては、<Priority>には、IGNORE、LOW、MIDDLE、HIGHのいずれかを設定可能である。設定された優先度の情報はIGNOREを除き、クライアント装置３００に送信する参照マークの通知に含める情報の一部として利用される。
【００８８】
図７（ｃ）に示すポリシーにおいて、SetActionPriorityは、該ポリシーが、参照マークを生成する基となるイベントの種類に基づいて、参照マークの通知の優先度を定義することを示す。即ち、図７（ｃ）に示される最初の例のように、参照マークを生成する基となるイベントの種類<ActionType>によって参照マークを特定し、優先度<Priority>によって、特定された参照マークの通知の優先度を指定する。本実施例においては、<ActionType>には、上述したように、VOICE、TEXT、STAYを指定することができる。<Priority>には、上述したように、IGNORE、LOW、MIDDLE、HIGHのいずれかを設定可能である。設定された優先度の情報はIGNOREを除き、クライアント装置３００に送信する参照マークの通知に含める情報の一部として利用される。
【００８９】
通知情報格納部３５５は、サーバ装置２００から送信された、参照マークの通知を格納する。上述したように、サーバ装置２００から送信される参照マークの通知は参照マークのIDを含み、好ましくは更に、参照マークの生成時刻、参照マークを付けるオブジェクトに関するオブジェクト情報、参照マークを生成する基となったアバタ（生成者）の動作に関する動作情報、該動作を行った生成者に関する生成者情報、優先度情報、参照マークが参照された参照回数、参照マークが最後に参照された最終参照時刻のうち少なくとも１つを含む。
【００９０】
ここで、オブジェクト情報は、オブジェクトの識別子であるオブジェクトIDと、指し示された指し位置（X,Y,Z)とを含む。動作情報は、動作の前後でユーザによりクライアント装置３００に入力された入力値を含む。生成者情報は、生成者IDと、生成者の位置情報及び視線情報を含む。
【００９１】
プリファレンス情報格納部３６０は、クライアント装置３００の表示画面に参照マークの通知を表示する、その表示方法を定めるプリファレンス情報を格納する。プリファレンス情報は、クライアント装置３００のユーザによって予め設定され、クライアント装置３００に登録されるものである。登録されるプリファレンス情報は、一例として、最近生成された参照マーク、他のユーザによって参照された参照マーク、仮想現実空間において最近会話したアバタ又は自身のアバタの周辺にいるアバタが生成者である参照マークの少なくとも１つに該当する参照マークを優先して強調表示するというものであってよい。
【００９２】
通知表示部３３０は、通知情報格納部３５５から参照マークの通知を読み出し、該参照マークの通知をクライアント装置３００の表示画面に表示する。一例として、通知表示部３３０は、参照マークの通知に含まれる情報から、参照マークの生成時刻、生成者情報、動作の前後でユーザによりクライアント装置３００に入力された入力値、参照マークが参照された参照回数、参照マークが最後に参照された最終参照時刻のうちの少なくとも１つを読出し、該情報を参照マークの通知として、クライアント装置３００の表示画面に表示する。
【００９３】
ここで、クライアント装置３００の表示画面に生成者情報を表示する場合、好ましくは、生成者IDに対応するニックネームを使用する。アバタIDとニックネームの対応表は、クライアント装置３００において、予めサーバ装置２００より取得されているものとする。また、クライアント装置３００の表示画面に入力値を表示する場合、入力値がテキストベースのチャット・メッセージであれば、そのまま文字情報として表示する。一方、入力値が音声ベースのチャット・メッセージの場合、一例として、表示画面には、選択された場合に入力値をスピーカー２３より出力する、音声再生ボタンを表示する。更に入力値が一定以上の長さのチャット・メッセージである場合、一例としてチャット・メッセージから指示代名詞を含む前後のメッセージを抜き出し、抜き出したチャット・メッセージの一部を参照マークの通知として使用する。
【００９４】
好ましくは、通知表示部３３０は、通知情報格納部３５５から読み出した参照マークの通知を、プリファレンス情報格納部３６０に格納されるプリファレンス情報を参照して、クライアント装置３００の表示画面に強調表示又は非強調表示する。例えばプリファレンス情報が、最近生成された参照マークを優先して強調表示するというものである場合、通知表示部３３０は、通知情報格納部３５５から、生成時刻が比較的最近の参照マークを読み出し、表示画面に大きく濃く表示する。また、プリファレンス情報が、仮想現実空間において最近会話したアバタが生成者である参照マークを優先して強調表示するというものである場合、通知表示部３３０は、クライアント装置３００に維持されるチャット履歴を参照して、通知情報格納部３５５から、最近会話したアバタのIDと同じ生成者IDを含む参照マークの通知を読み出し、表示画面に大きく濃く表示する。
【００９５】
また、通知表示部３３０は、参照マークの通知に優先度情報（LOW、MIDDLE、HIGHのいずれか）が含まれる場合、通知情報格納部３５５から読み出した参照マークの通知を、優先度情報に従って、クライアント装置３００の表示画面に強調表示又は非強調表示する。更に通知情報格納部３５５から読み出した参照マークの通知の数が一定数以上の場合、通知表示部３３０は、優先度情報に従って、参照マークの通知の一部を非表示としてもよい。
【００９６】
選択操作検出部３３５は、クライアント装置３００の表示画面に表示された、参照マークの通知に対するクライアント装置３００のユーザによる選択操作を検出し、該選択操作のイベントをサーバ装置２００へ通知する。サーバ装置２００へ通知する選択操作のイベントには、選択された参照マークの通知に含まれる参照マークのIDを含める。
【００９７】
誘導部３４０は、選択操作検出部３３５による選択操作の検出に応答して、選択された参照マークの通知に対応する参照マークが付けられたオブジェクトに自身のアバタを誘導するように、自身のアバタの位置情報及び視線情報の少なくとも一方を更新する。一例として、誘導部３４０は、通知情報格納部３５５から、選択された参照マークの通知に含まれる、オブジェクトの指し位置を読み出して、該指し位置に基づき自身のアバタの位置情報及び視線情報の少なくとも一方を更新する。これに代えて、誘導部３４０は、通知情報格納部３５５から、選択された参照マークの通知に含まれる、参照マークの生成者の位置情報や視線情報を読み出して、これら値を用いて自身のアバタの位置情報及び視線情報の少なくとも一方を更新してもよい。
【００９８】
なお、上記自身のアバタの位置情報又は視線情報の更新をサーバ装置３００において行う場合、誘導部３４０は、アバタの更新情報をサーバ装置３００から受信する。そして更新後のアバタの位置情報又は視線情報、或いはその両方に基づいて、クライアント装置３００の表示画面を再描画する。
【００９９】
次に図８乃至図１５を参照して、本発明の一実施形態に係る参照マークの自動生成の処理及びアバタの誘導処理の流れを説明する。なお、以下では、参照マークを生成するトリガーとなる、オブジェクトを指す動作の検出、及び、注目オブジェクトへのアバタの誘導処理は、クライアント装置３００において行われるものとして説明する。しかしながら上述したように、これらの処理はサーバ装置２００において行うことも可能であることに留意されたい。図８は、クライアント装置３００及びサーバ装置２００における、参照マークの自動生成処理の流れの一例を示すフローチャートである。図８においてクライアント装置３００における処理はステップ１００で開始し、クライアント装置３００は、クライアント装置３００の画面に表示される３次元仮想現実空間内のオブジェクトを指し示す、クライアント装置３００のユーザによる入力のイベントを検出する。入力イベントの検出処理の詳細は、図９及び図１０を参照して後述する。
【０１００】
イベントの検出に応答して、クライアント装置３００は、サーバ装置２００がオブジェクトに付ける参照マークを生成するトリガー情報として、検出したイベントの情報をサーバ装置２００へ送信する（ステップ１０５）。サーバ装置２００における処理は、ステップ１１０において、クライアント装置３００からイベント情報を取得することにより開始する。サーバ装置２００は、受け取ったイベント情報に基づいて、オブジェクトに付ける参照マークを生成し、これをオブジェクトに関連付けて、参照マーク格納部２５５に格納する（ステップ１１５）。参照マークの生成処理の詳細は、図１１を参照して後述する。
【０１０１】
図９は、オブジェクトを指し示すユーザ入力を検出する、クライアント装置３００における処理の流れの一例を示すフローチャートである。図９（a)は、クライアント装置３００に関連づけられるアバタの視線が、仮想現実空間内のあるオブジェクトに向けられた状態で、ユーザにより入力されたチャット・メッセージ中に所定のキーワードを検出する処理の流れの一例を示すフローチャートである。図９（a)において処理はステップ１３０で開始し、クライアント装置３００は、チャット・メッセージの送信を検出する。チャット・メッセージの送信の検出に応答して、クライアント装置３００は、送信されたチャット・メッセージに指示代名詞が含まれるか否かを判定する（ステップ１３５）。指示代名詞が含まれない場合（ステップ１３５：NO)、処理はステップ１５０へ戻る。
【０１０２】
ステップ１３５において、チャット・メッセージに指示代名詞が含まれる場合、クライアント装置３００は、管理情報格納部３５０から、自身のアバタの現在の位置情報と視線情報を読み出し、該情報に基づいて、アバタの視線方向にあるオブジェクトとその指し位置とを決定する（ステップ１４０）。そして、クライアント装置３００は、決定したオブジェクトの識別情報と指し位置とを含むオブジェクト情報と、指示代名詞を含むチャット・メッセージとを含むイベント情報を作成し（ステップ１４５）、処理を終了する。なお、視線以外によってオブジェクトが指し示される状態で、指示代名詞を含むチャット・メッセージが入力される場合は、以下に説明する図９（ｂ）に示すフローチャートにおいて検出され得るため、ここではアバタの視線によってオブジェクトが特定される場合を説明した。
【０１０３】
図９（ｂ）は、ユーザの入力により、クライアント装置３００の表示画面に表示されるオブジェクトが一定時間以上指し示される状態を検出する処理の流れの一例を示すフローチャートである。図９（ｂ)において処理はステップ１５０で開始し、クライアント装置３００は、ユーザ入力によりオブジェクトが指し示された場合に、指し示された位置を順次記録するための空のリストを作成する。次にクライアント装置３００は、オブジェクトを指し示すユーザ入力を検出すると（ステップ１５５）、指し位置の３次元仮想現実空間における座標をリストに追加する（ステップ１６０）。そしてクライアント装置３００は、リストを参照して、過去N秒以内（Nは整数）に、指し位置の座標が３次元仮想現実空間の一定の範囲内にあるものがM個以上（Mは整数）あるか否か判定する（ステップ１６５）。M個以上ない場合、処理はステップ１７５へ戻る。
【０１０４】
ステップ１６５においてYESの場合、クライアント装置３００は、指し位置の座標に存在するオブジェクトを、参照マークを付けるオブジェクトとして決定する（ステップ１７０）。次にクライアント装置３００は、クライアント装置３００のユーザが送信したチャット・メッセージの履歴を参照し、指し動作を検出した前後において送信されたチャット・メッセージを取得する（ステップ１７５）。そして、クライアント装置３００は、決定したオブジェクトの識別情報と指し位置とを含むオブジェクト情報と、チャット・メッセージとを含むイベント情報を作成し（ステップ１８０）、処理を終了する。
【０１０５】
図１０は、参照マークを生成する、サーバ装置２００における処理の流れの一例を示すフローチャートである。図１０において処理はステップ２２０で開始し、サーバ装置２００は、イベント情報の受信に応答して、生成する参照マークに参照マークのIDを割り当てるとともに、現在時刻を取得して、参照マークの生成時刻とする（ステップ２２５）。サーバ装置２００はまた、イベントを送信したクライアント装置３００に関連付けられるアバタのIDを、参照マークの生成者IDとして取得する（ステップ２３０）。ここでアバタIDの取得は、一例として、サーバ装置２００において管理される、クライアント装置３００の識別子（例えば、IPアドレスやシリアル番号）とアバタIDの対応表を利用してよい。或いは、サーバ装置２００は、イベント情報の一部として、クライアント装置３００からアバタIDを取得してもよい。
【０１０６】
サーバ装置３００はまた、管理情報格納部２５０から、アバタIDをキーとして一致するアバタ情報を取得する（ステップ２３５）。ここで、サーバ装置３００は、取得したアバタ情報に含まれるアバタの位置情報や視線情報を、参照マークの生成者の位置情報及び視線情報として決定する。最後にサーバ装置２００は、上記一連の情報を、イベント情報に含まれるオブジェクト情報とともに、参照マークのIDに関連付けて参照マーク格納部２５５に格納し（ステップ２４０）、処理を終了する。
【０１０７】
図１１は、クライアント装置３００及びサーバ装置２００における、ポリシー情報の作成処理及び管理処理の流れの一例を示すフローチャートである。図１１においてクライアント装置３００における処理はステップ２５０で開始し、クライアント装置３００は、通知を希望する参照マークを定義するポリシーを作成する。そして、クライアント装置３００は、作成したポリシーをサーバ装置２００へ送信し（ステップ２５５）、処理を終了する。一方、サーバ装置２００における処理は、ステップ２６０において、クライアント装置３００からポリシーを取得することにより開始する。サーバ装置２００は、ポリシーを送信したクライアント装置３００のIPアドレスを取得し（ステップ２６５）、該IPアドレスに関連付けて受信したポリシーをポリシー格納部２６０に格納する（ステップ２７０）。そして処理は終了する。
【０１０８】
図１２は、クライアント装置３００及びサーバ装置２００における、参照マークの通知処理の流れの一例を示すフローチャートである。図１２においてサーバ装置２００における処理はステップ３０５で開始し、サーバ装置２００は一定時間が経過するのを待つ。一定時間が経過すると、サーバ装置２００は、ポリシー格納部２６０からポリシーを１つ読み出し(ステップ３１０）、読み出したポリシーの条件に合致する新規に生成された参照マークを、参照マーク格納部２５５に格納される複数の参照マークから選択する（ステップ３１５）。次にサーバ装置２００は、選択した参照マークごとに、参照マーク格納部２５５に格納される情報を用いて、参照マークの存在を知らせる参照マークの通知を作成する。そしてサーバ装置２００は、作成した参照マークの通知を、読み出したポリシーを送信したクライアント装置３００へ送信する（ステップ３２０）。その後処理はステップ３２５へ進み、サーバ装置２００は、ポリシー格納部２６０に、未処理のポリシーが残っているか否か判定する。未処理のポリシーが残っている場合（ステップ３２５：YES)、処理はステップ３１０に戻り、サーバ装置２００は、未処理のポリシーについて、ステップ３１０からステップ３２０までの一連の処理を繰り返す。一方、未処理のポリシーが残っていない場合（ステップ３２５：NO)、処理はステップ３０５に戻り、サーバ装置２００は図１２に示すサーバ装置２００における一連の処理を繰り返す。
【０１０９】
一方、クライアント装置３００における処理は、ステップ３３０において、サーバ装置２００から参照マークの通知を取得し、通知情報格納部３５５に格納することにより開始する。クライアント装置３００は、サーバ装置２００から新たに生成された参照マークの通知を受信する毎に、通知情報格納部３５５に格納されている既存の通知と、新たに受信した通知とを、その通知に含まれる優先度情報に基づいてソートする（ステップ３３０）。参照マークの通知が一定の数を超える場合、クライアント装置３００は、上位の参照マークの通知のみをその表示画面に表示する（ステップ３３５）。この際クライアント装置３００は、参照マークの通知を、その通知に含まれる優先度に応じて又はプリファレンス情報格納部３６０に格納されるプリファレンス情報を参照して、強調表示又は非強調表示してもよい（ステップ３３５）。そして処理は終了する。
【０１１０】
図１３は、クライアント装置３００及びサーバ装置２００における、参照マークの付けられたオブジェクトへの誘導処理の流れの一例を示すフローチャートである。図１３においてクライアント装置３００における処理はステップ３５０で開始し、クライアント装置３００は、その表示画面に表示された参照マークの通知に対するユーザの選択操作を検出する。選択操作の検出に応答して、クライアント装置３００は、自身のアバタを、選択された通知に対応する参照マークが付けられたオブジェクトへ誘導する（ステップ３５５）。オブジェクトへの誘導処理の詳細は、図１４を参照して後述する。そしてクライアント装置３００は、選択操作のイベントと誘導処理によるアバタの更新情報とを、サーバ装置２００へ通知し（ステップ３６０）、処理を終了する。
【０１１１】
一方、サーバ装置２００における処理は、ステップ３６５において、クライアント装置３００から選択操作のイベントと、誘導処理によるアバタの更新情報とを取得することにより開始する。サーバ装置２００は、選択操作のイベントに含まれる参照マークのIDをキーに、参照マーク格納部２５５に格納される参照マークのテーブルから、一致する参照マークを検索する。そしてサーバ装置２００は、一致した参照マークの最終参照時刻及び参照回数の値をそれぞれ更新する（ステップ３７０）。サーバ装置２００はまた、取得したアバタの更新情報で、管理情報格納部２５０に格納される、選択操作のイベントを送信したクライアント装置３００に関連付けられるアバタの位置情報又は視線情報を更新し（ステップ３７５）、処理を終了する。
【０１１２】
図１４は、クライアント装置３００における、オブジェクトへの誘導処理の流れの一例を示すフローチャートである。ステップ４００において、クライアント装置３００は、通知情報格納部３５５から、選択した参照マークの通知に含まれる、オブジェクトの指し位置を読み出す。そして、クライアント装置３００は、読み出したオブジェクトの指し位置に基づき自身のアバタの位置情報及び視線情報の少なくとも一方を更新し（ステップ４０５）、処理を終了する。これに代えて、クライアント装置３００は、通知情報格納部３５５から、選択された参照マークの通知に含まれる、参照マークの生成者の位置情報や視線情報を読み出して、これらを用いて自身のアバタの位置情報及び視線情報の少なくとも一方を更新してもよい。
【０１１３】
図１５は、サーバ装置３００における、参照マークの廃棄処理の流れの一例を示すフローチャートである。図１５において処理はステップ４３０で開始し、サーバ装置２００は一定時間が経過するのを待つ。一定時間が経過すると、サーバ装置２００は、現在時刻を取得し（ステップ４３５）、参照マーク格納部２５５から次の参照マークの情報を読み出す（ステップ４４０）。そしてサーバ装置２００は、参照マークの生成時刻に基づき、読み出した参照マークが現在時刻から一定時間以上前に生成された古い参照マークであるか否か判定する（ステップ４４５）。古い参照マークでない場合（ステップ４４５：NO)、次にサーバ装置２００は、参照マークの最終参照時刻に基づき、読み出した参照マークが最後に参照されてから一定時間以上経過しているか否か判定する（ステップ４５０）。最後に参照されてからまだ間もない参照マークである場合（ステップ４５０：NO)、サーバ装置２００は更に、参照マークの参照回数に基づき、読み出した参照マークが頻繁に参照されているか否か判定する（ステップ４５５）。
【０１１４】
ステップ４４５、４５０、４５５のいずれかにおいて肯定的な判定結果が得られた場合、即ち、参照マークが古いものであったり、あまり注目されないものである場合、サーバ装置２００は、参照マーク格納部２５５から参照マークを削除する（ステップ４６０）。一方ステップ４４５、４５０、４５５のいずれかにおいても否定的な判定結果が得られた場合、即ち、参照マークが比較的新しく、また、注目されるものである場合、又はステップ４６０から、処理はステップ４６５へ進み、サーバ装置２００は、参照マーク格納部２５５に未検討の参照マークが残っているか否かを判定する。未検討の参照マークが残っている場合（ステップ４６５：YES)、処理はステップ４４０へ戻り、サーバ装置２００は、未検討の参照マークについて、ステップ４４０からステップ４６５までの一連の処理を繰り返す。一方、未検討の参照マークが残っていない場合（ステップ４６５：NO）、処理はステップ４３０へ戻り、サーバ装置２００は、図１５に示す一連の処理を繰り返す。
【０１１５】
次に、図１６乃至図１８を参照して、３次元仮想現実空間において行われるモーターショウを例に、本発明を適用した場合のクライアント装置３００の表示画面に表示される表示内容について説明する。
図１６は、モーターショウのある１会場の様子を示す図である。図１６に示す会場には、６台の自動車５０５a、５０５ｂ、５０５ｃ、５０５ｄ、５０５e、５０５ｆと、５台のバイク５１０a、５１０ｂ、５０５ｃ、５１０ｄ、５０５eが展示されており、現在、参照番号５１５乃至５３０で示されるアバタが会場に集まっているものとする。ここでアバタ５１５は、セールスマンというニックネームを持ち、展示される商品を来場者であるアバタ５２０乃至アバタ５３０に説明する販売員のクライアント装置３００に関連付けられている。アバタ５３０は、おじいさんというニックネームを持ち、来場者であるクライアント装置３００に関連付けられている。以下では、アバタ５１５に関連付けられるセールスマンの表示画面と、アバタ５３０に関連付けられるおじいさんの表示画面に着目する。
【０１１６】
図１７は、セールスマンのクライアント装置３００の表示画面を示す。セールスマンのクライアント装置３００の表示画面には、図１６に示すアバタ５１５から見た３次元のモーターショウの会場が表示される。セールスマンが、入力デバイスを介して、バイク５１０aの一部分を指し示す動作をアバタ５１５に行わせると、図１７（a)に示すように、セールスマンの表示画面には、アバタ５１５の手から、指し示したバイクの一部分へ延びたビームが表示される。この状態で、セールスマンが、入力デバイスを介して「ここ、頑張りました」というチャット・メッセージを入力し、送信すると、セールスマンの表示画面は、図１７（a)から図１７（ｂ）に変化する。なお、実際のセールスマンの表示画面には、バイク５１０aの一部分を囲む点線は表示されない。その後、セールスマンは、入力デバイスを介してアバタを画面向かって左へ移動させ、バイク５１０aの次の箇所の説明を開始する。すると、セールスマンの表示画面は、図１７（ｂ)から図１７（ｃ）に変化する。
【０１１７】
図１７（a)の表示画面から、図１７（ｂ）の表示画面に変化するまで、一定時間（例えば２０秒）あったとすると、本発明の実施形態に係るセールスマンのクライアント装置３００は、その表示画面に表示されるバイク５１０aの一部分が一定時間以上指し示される状態を検出する。指し動作の検出に応答して、セールスマンのクライアント装置３００は、指し位置情報から指し示されるオブジェクト、即ちバイク５１０aを決定する。更に、セールスマンのクライアント装置３００は、セールスマンのクライアント装置３００において維持されるチャット・メッセージの履歴から、指し動作の前後で入力されたチャット・メッセージ、即ち「ここ、頑張りました」というチャット・メッセージを取得する。最後にセールスマンのクライアント装置３００は、バイク５１０aのID、指し位置情報、及び、「ここ、頑張りました」というチャット・メッセージを含むイベント情報を作成し、サーバ装置２００へ送信する。
【０１１８】
なお、アバタ５１５の視線によってバイク５１０aの一部分が指し示される場合は、セールスマンのクライアント装置３００は、チャット・メッセージに「ここ」という指示代名詞が含まれることを検出することにより、アバタ５１５の指し動作を検出する。この場合、セールスマンのクライアント装置３００は、アバタ５１５の位置情報及び視線情報に基づき、管理情報格納部３５０から指し示されるオブジェクトを検索する。
【０１１９】
セールスマンのクライアント装置３００から、イベント情報を受信したサーバ装置２００は、イベント情報に基づいて、上記バイク５１０aに付ける参照マークを生成する。生成された参照マークは、生成時刻、バイク５１０aのID及び指し位置を含むオブジェクト情報、セールスマンのアバタ５１５のID、セールスマンの現在の位置情報及び視線情報を含む生成者情報、及び「ここ、頑張りました」というチャット・メッセージに関連付けて、サーバ装置２００により、参照マーク格納部２５５に格納される。
【０１２０】
一方、アバタ５３０に関連付けられるおじいさんのクライアント装置３００は、予めサーバ装置２００に、通知を希望する参照マークを定義するポリシーとして、「SetAvatarPriority  アバタ５１５のID  HIGH」を登録しているものとする。サーバ装置２００は、定期的に、参照マーク格納部２５５から、おじいさんのポリシーに合致する新規の参照マークを選択し、選択した参照マークの通知を、おじいさんのクライアント装置３００へ送信する。本実施例における参照マークの通知には、参照マークの生成時刻と、オブジェクトのID及び指し位置を含むオブジェクト情報と、生成者のID、位置情報及び視線情報を含む生成者情報と、送信されたチャット・メッセージとが含まれる。
【０１２１】
図１８は、おじいさんのクライアント装置３００の表示画面を示す。おじいさんのクライアント装置３００の表示画面には、図１６に示すアバタ５３０から見た３次元のモーターショウの会場が表示される。図１８（a)は、セールスマンのクライアント装置３００の表示画面が図１７（a)に示す表示画面であるときの、おじいさんのクライアント装置３００の表示画面を示す。おじいさんのクライアント装置３００の表示画面には、一分前にセールスマンのアバタ５１５の動作が基となって生成された第１の参照マークの通知が太字で強調表示されている。なお、参照マークの通知から引かれている矢印５５０は、参照マークが付けられるオブジェクトを示すものである。おじいさんは、セールスマンがバイク５１０aの説明に移った後も、自動車５０５ｃに興味があり、自動車５０５ｃのエンブレムを見続けていたものとする。
【０１２２】
その後、セールスマンのアバタ５１５による、バイク５１０aの一部を指し示す動作をトリガーとして、サーバ装置２００において第２の参照マークが生成されると、おじいさんのクライアント装置３００は、サーバ装置２００から、第２の参照マークの存在を知らせる通知を受信する。そして、おじいさんのクライアント装置３００の表示画面は、図１８（a)から図１８（ｂ）に変化する。ここでおじいさんは、予めクライアント装置３００に、より新しい参照マークを優先表示することを定めるプリファレンス情報を登録しているものとする。おじいさんのクライアント装置３００は、登録されたプリファレンス情報に従って、図１８（ｂ）に示すように、過去に作成された第１の参照マークの通知を薄く小さく表示し、一方、最近作成された第２の参照マークの通知を濃く大きく表示する。なお、受信された参照マークの通知は、通知情報格納部３５５に格納される。
【０１２３】
なお、本実施例に係るクライアント装置３００は、参照マークの通知として、参照マークの生成時刻、生成者のニックネーム及びチャット・メッセージを表示画面に表示する。ここで、参照マークの生成時刻は、そのまま表示してもよく、或いは図１８に示すように、現在時刻からの経過時間を求めて表示してもよい。おじいさんが、第２の参照マークの通知に興味を持ち、指し示されるオブジェクトをみることを望む場合、おじいさんは、表示画面に表示される第２の参照マークを、クリック操作等により選択するだけでよい。選択操作の検出に応答して、おじいさんのクライアント装置３００は、通知情報格納部３５５から、選択された参照マークの通知に含まれる生成者情報を読出し、生成者の位置情報及び視線情報を使って、おじいさんのアバタ５３０の位置情報及び視線情報を更新する。その結果、おじいさんのクライアント装置３００の表示画面は、図１８（ｂ)から図１８（ｃ）に変化する。
【０１２４】
おじいさんのクライアント装置３００はまた、通知情報格納部３５５から、選択された参照マークの通知に含まれる参照マークのIDを読出し、アバタの更新情報と共に、参照マークのIDを含む選択操作のイベントをサーバ装置２００へ送信する。サーバ装置２００は、選択操作のイベントの受信に応答して、該当する参照マークの参照回数と最終参照時刻を更新する。また、サーバ装置２００は、管理情報格納部２５０に格納される情報を、アバタの更新情報で更新する。
【０１２５】
このように、本発明によれば、クライアント装置３００の画面に表示される仮想現実空間内のオブジェクトを指し示す、クライアント装置３００に関連付けられたアバタの動作を、参照マークを生成するトリガー情報として検出し、動作の検出に応答してオブジェクトに付ける参照マークを生成するので、参照マークの生成を指示するコマンドの入力という面倒な操作なしに、ユーザはオブジェクトに参照マークを付けることが可能となる。
【０１２６】
また、自動生成した参照マークのうち、クライアント装置３００がサーバ装置２００に予め登録したポリシー情報に合致する参照マークについて、その存在を知らせる通知がクライアント装置３００の画面に表示されるので、クライアント装置３００のユーザは、参照マークが付けられたオブジェクトがその画面に表示されているか否かに関わらず、興味ある参照マークの存在を知ることができる。更に、画面に表示される参照マークの通知がユーザにより選択された場合、その参照マークが付けられるオブジェクトが見えるようにアバタの視線情報や位置情報が更新されるので、ユーザは興味をもった参照マークがつけられるオブジェクトを確実に見ることができるようになる。
【０１２７】
以上、実施形態を用いて本発明の説明をしたが、本発明の技術範囲は上記実施形態に記載の範囲には限定されない。上記の実施形態に、種々の変更または改良を加えることが可能であることが当業者に明らかである。従って、そのような変更または改良を加えた形態も当然に本発明の技術的範囲に含まれる。
【図面の簡単な説明】
【０１２８】
【図１】本発明の一実施形態に係る参照マークを自動生成するシステム１０００の全体の構成の一例を示す。
【図２】本発明の実施の形態によるサーバ装置２００及びクライアント装置３００を実現するのに好適な情報処理装置のハードウェア構成の一例を示した図である。
【図３】（ａ）は、サーバ装置２００及びクライアント装置３００において維持される、アバタに関するアバタ情報を管理するテーブルの一例を示す図である。（ｂ）は、サーバ装置２００及びクライアント装置３００において維持される、その他のオブジェクトに関するオブジェクト情報を管理するテーブルの一例を示す図である。
【図４】本発明の実施の形態によるサーバ装置２００の機能構成の一例を示す図である。
【図５】本発明の実施の形態による、参照マークのテーブルの一例を示す図である。
【図６】本発明の実施の形態によるクライアント装置３００の機能構成の一例を示す図である。
【図７】（ａ）は、本発明の実施の形態による、ポリシーの一例を示す図である。（ｂ）は、本発明の実施の形態による、ポリシーの一例を示す図である。（ｃ）は、本発明の実施の形態による、ポリシーの一例を示す図である。
【図８】本発明の実施形態に係る、参照マークの自動生成処理の流れの一例を示すフローチャートを示す図である。
【図９】（ａ）は、本発明の実施形態に係る、オブジェクトを指し示す動作検出の処理の流れの一例を示すフローチャートを示す図である。（ｂ）は、本発明の実施形態に係る、オブジェクトを指し示す動作検出の処理の流れの一例を示すフローチャートを示す図である。
【図１０】本発明の実施形態に係る、参照マークを生成する処理の流れの一例を示すフローチャートを示す図である。
【図１１】本発明の実施形態に係る、ポリシーを生成し、維持する処理の流れの一例を示すフローチャートを示す図である。
【図１２】本発明の実施形態に係る、参照マークの存在を通知する処理の流れの一例を示すフローチャートを示す図である。
【図１３】本発明の実施形態に係る、アバタの誘導処理の流れの一例を示すフローチャートを示す図である。
【図１４】本発明の実施形態に係る、アバタ情報の更新処理の流れの一例を示すフローチャートを示す図である。
【図１５】本発明の実施形態に係る、参照マークの廃棄処理の流れの一例を示すフローチャートを示す図である。
【図１６】３次元仮想現実空間における、モーターショウのある１会場の様子を示す図である。
【図１７】（ａ）は、本発明の実施形態に係る、セールスマンのクライアント装置３００の表示画面の一例を示す図である。（ｂ）は、本発明の実施形態に係る、セールスマンのクライアント装置３００の表示画面の一例を示す図である。（ｃ）は、本発明の実施形態に係る、セールスマンのクライアント装置３００の表示画面の一例を示す図である。
【図１８】（ａ）は、本発明の実施形態に係る、おじいさんのクライアント装置３００の表示画面の一例を示す図である。（ｂ）は、本発明の実施形態に係る、おじいさんのクライアント装置３００の表示画面の一例を示す図である。（ｃ）は、本発明の実施形態に係る、おじいさんのクライアント装置３００の表示画面の一例を示す図である。
【図１】
0005294612.tif 000002
【図２】
0005294612.tif 000003
【図３】
0005294612.tif 000004
【図４】
0005294612.tif 000005
【図５】
0005294612.tif 000006
【図６】
0005294612.tif 000007
【図７】
0005294612.tif 000008
【図８】
0005294612.tif 000009
【図９】
0005294612.tif 000010
【図１０】
0005294612.tif 000011
【図１１】
0005294612.tif 000012
【図１２】
0005294612.tif 000013
【図１３】
0005294612.tif 000014
【図１４】
0005294612.tif 000015
【図１５】
0005294612.tif 000016
【図１６】
0005294612.tif 000017
【図１７】
0005294612.tif 000018
【図１８】
0005294612.tif 000019