(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続される複数の装置間で共有する仮想空間内にある複数のオブジェクトを、各装置で分担して制御するオブジェクト制御システムにおけるオブジェクト制御装置であって、
前記オブジェクト制御装置は、仮想空間制御手段とオブジェクト動作制御手段とを備え、
前記仮想空間制御手段は、
各々のオブジェクトで発生する当該オブジェクトの動作の開始あるいは終了を示すイベントを検出し、
イベントの発生したオブジェクトの制御を担当している場合、確定したイベントについて確定メッセージとして各装置へ送信し、
該オブジェクトの制御を担当していない場合、前記検出したイベントを未確定メッセージとして該オブジェクトの制御を担当する装置へ送信し、
前記オブジェクト動作制御手段は、
仮想空間内にある全てのオブジェクト毎に用意され、
オブジェクトの動作を開始するイベントに対応する確定メッセージを受けた場合、各々のオブジェクト毎に用意した各オブジェクト固有の動作を制御する動作プログラムに基づき当該オブジェクトの動作を開始させ、当該オブジェクトの動作中に当該オブジェクトの動作の終了を示すイベントが発生することにより当該イベントに対応する確定メッセージを受けた場合、当該動作中のオブジェクトの動作を停止させ、
未確定メッセージを受けた場合、該メッセージに含まれるイベントの確定についての判断を行い、確定して良いと判断した場合、当該イベントについての確定メッセージを、仮想空間に参加中の他のオブジェクト制御装置に送信することを特徴とするオブジェクト制御装置。
【請求項２】
前記オブジェクト動作制御手段は、
各々の前記オブジェクトについて各動作が定義された前記動作プログラムを格納する動作プログラム部と、
前記メッセージと前記動作プログラムの対応を定義した動作プログラム定義ファイルと、
前記動作プログラム定義ファイルと前記メッセージを基に、動作プログラム部の制御を行う動作プログラム制御手段とを具備し、
確定メッセージに対するオブジェクト固有の動作制御および、未確定メッセージに対するイベントの確定についての判断を行うことを特徴とする請求項１に記載のオブジェクト制御装置。
【請求項３】
前記動作プログラム定義ファイルは、
一つのメッセージに一つ以上の動作プログラムを対応付けていることを特徴とする請求項２に記載のオブジェクト制御装置。
【請求項４】
前記仮想空間制御手段は、
前記メッセージに前記イベントの発生時刻情報を含めて送信し、
前記動作プログラム制御手段は、
前記装置間で共有する仮想空間内での時間を同期させる時間同期手段と、
前記メッセージに加えたイベント発生時刻情報と仮想空間内共通の時間情報を基に、イベント発生後の経過時間によりオブジェクトの動作制御を行う時間動作制御手段と、
を具備することを特徴とする請求項１から請求項３のいずれかに記載のオブジェクト制御装置。
【請求項５】
仮想空間を共有する前記装置間において、所定のオブジェクトについて、オブジェクトの制御の担当を他の装置へ移動できることを特徴とする請求項１から請求項４のいずれかに記載のオブジェクト制御装置。
【請求項６】
ネットワークを介して接続される複数の装置間で共有する仮想空間内にある複数のオブジェクトを、各装置で分担して制御するオブジェクト制御方法であって、
各々のオブジェクトで発生する当該オブジェクトの動作の開始あるいは終了を示すイベントを検出し、
イベントの発生したオブジェクトの制御を担当している場合、確定したイベントについて確定メッセージとして各装置へ送信し、
該オブジェクトの制御を担当していない場合、前記検出したイベントを未確定メッセージとして該オブジェクトの制御を担当する装置へ送信し、
オブジェクトの動作を開始するイベントに対応する確定メッセージを受けた場合、各々のオブジェクト毎に用意した各オブジェクト固有の動作を制御する動作プログラムに基づき当該オブジェクトの動作を開始させ、当該オブジェクトの動作中に当該オブジェクトの動作の終了を示すイベントが発生することにより当該イベントに対応する確定メッセージを受けた場合、当該動作中のオブジェクトの動作を停止させ、
未確定メッセージを受けた場合、該メッセージに含まれるイベントの確定についての判断を行い、確定して良いと判断した場合、当該イベントについての確定メッセージを、仮想空間に参加中の他のオブジェクト制御装置に送信することを特徴とするオブジェクト制御方法。
【請求項７】
請求項６に記載の方法をコンピュータに実行させるオブジェクト制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、仮想空間内の複数のオブジェクトを制御するオブジェクト制御装置、オブジェクト制御方法およびその記録媒体に関するものである。
【０００２】
【従来の技術】
近年、ネットワークを介して接続される複数の端末装置（以下装置とする）間で、各装置の表示装置に表示される仮想空間を共有し、仮想空間内に存在する仮想人物や仮想物（以下オブジェクトとする）を各装置の入力装置より操作し動かす（オブジェクトに対するイベントの発生）ことで、仮想空間内で提供される種々のサービスを享受できるシステムが提供されている。
仮想空間の制御方法として、一つのサーバで仮想空間内の各オブジェクトに対する集中制御を行うサーバ・クライアント方式の制御方法がある。しかし、この方法は利用者（クライアント）が増えると、アクセスが一つのサーバに集中するため通信負荷が増大する問題があった。そこで、仮想空間にアクセスする各装置に仮想空間内にある複数オブジェクトの制御権を分散することで、サーバの負荷を軽減し、通信トラフィック量の軽減を図る方法が提供されている。
しかし、従来の仮想空間内にあるオブジェクトの制御権の分散システムおよび制御方法では、オブジェクトの制御をサーバ以外の利用者の装置に分散させた場合、各ホスト（いくつかのオブジェクトの制御権を持つ利用者の操作する装置）が共有する仮想空間の表示において、時間的な一貫性を実現するための手段が実装されていなかった。
【０００３】
以下に従来の分散制御による仮想空間の動作について画面表示例を踏まえて説明する。
複数装置（装置１、装置２、装置３）で共有する仮想空間の画面表示例を図１７に示す。符号１５１は装置１の表示画面例、符号１５２は装置２の表示画面例、符号１５３は装置３の表示画面例であり、各装置に共通に表示される仮想空間の中には、装置１の利用者が操作するキャラクタ（オブジェクト）であるアバターＡ・１５ａと、装置２の利用者が操作するキャラクタであるアバターＢ・１５ｂと、どの装置からでもキャラクタのアバターＡ・１５ａやアバターＢ・１５ｂを操作することで動かすことのできる仮想物（オブジェクト）である、ブロックＡ・１５ｃ、ブロックＢ・１５ｄ、ブロックＣ・１５ｅが存在する。
【０００４】
ここで、上記で示した仮想空間の中で、装置１の利用者がアバターＡ・１５ａを操作してブロックＡ・１５ｃを持ち上げようとした（イベントａ発生）時に、同時に装置２の利用者がアバターＢ・１５ｂを操作してブロックＡ・１５ｃを持ち上げようとした（イベントｂ発生）場合に、これらのイベントを各装置で共有する為に、図１８に示すように、自身の装置を含めた各装置へ、ブロックＡ・１５ｃを動かすようにイベントａとイベントｂを伝えるメッセージが伝達される。この時、各装置でブロックＡ・１５ｃを制御するプログラムが、上記２つのメッセージを受け取るが、それぞれの装置において、この２つのメッセージの届く順序は不確定であり、従って各装置でのブロックＡ・１５ｃの状態が一貫しなくなる可能性がある。
【０００５】
次に、従来の仮想空間を共有する装置間において、仮想空間内を一つのオブジェクトが移動中の場合の通信状態を示す図を図１９に示す。
装置Ａと装置Ｂが仮想空間を共有しており、装置Ａに表示される仮想空間の画面例１７Ａと、装置Ｂに表示される仮想空間の画面例１７Ｂは同じ仮想空間であり、オブジェクト１７Ａ１とオブジェクト１７Ｂ１は同じ動きをする。例えば、装置Ａでオブジェクト１７Ａ１の移動イベント１７Ａ２が発生し、その移動イベントを受けて、オブジェクト１７Ａ１固有の動作を定義したプログラム（以下ビヘイビア）１７Ａ３が起動される。それにより、オブジェクト１７Ａ１は仮想空間の画面例１７Ａ内で移動を始める。それと同時に、オブジェクト１７Ａ１の位置と向きの情報である状態メッセージ１７１が装置Ｂへ送信される。その状態メッセージ１７１に合わせて装置Ｂの仮想画面表示例１７Ｂ内における、オブジェクト１７Ｂ１の位置と向きの設定１７Ｂ２が行われる。その設定された位置および向きにオブジェクト１７Ｂ１が動くことで、オブジェクト１７Ａ１と同様の動きを示す。すなわち、オブジェクト１７Ａ１が移動中は絶えず位置と向きの情報である状態メッセージ１７１を装置Ａは装置Ｂへ送信し続ける。
【０００６】
【発明が解決しようとする課題】
上述したように、従来は時間的な一貫性を実現するための手段が実装されていなかったため、一つのオブジェクトに対して異なる装置上で同時刻にイベントが発生した場合や、イベント情報の送信がネットワークの遅延等で遅れが生じた場合に、装置で表示されるオブジェクトが不自然な動きをする可能性や、各装置間での表示における時間的な一貫性に矛盾が生じる可能性があった。
また、従来は仮想空間を共有する装置間の通信において、あるオブジェクトが移動中は、その位置および向き情報を他の装置に絶えず送信し続ける必要があり、その送信先でのオブジェクトの動きを滑らかにしようとすると通信量が増し、通信量を減らすとオブジェクトの動きがぎこちなくなる問題があった。
【０００７】
この発明は、上述した事情を考慮してなされたもので、仮想空間内の複数のオブジェクトを制御するオブジェクト制御装置、オブジェクト制御方法およびその記録媒体を提供することを目的とする。
【０００８】
【課題を解決するための手段】
この発明は、上述した課題を解決すべくなされたもので、請求項１に記載の発明は、ネットワークを介して接続される複数の装置間で共有する仮想空間内にある複数のオブジェクトを、各装置で分担して制御するオブジェクト制御システムにおけるオブジェクト制御装置であって、前記オブジェクト制御装置は、仮想空間制御手段とオブジェクト動作制御手段とを備え、前記仮想空間制御手段は、各々のオブジェクトで発生する当該オブジェクトの動作の開始あるいは終了を示すイベントを検出し、イベントの発生したオブジェクトの制御を担当している場合、確定したイベントについて確定メッセージとして各装置へ送信し、該オブジェクトの制御を担当していない場合、前記検出したイベントを未確定メッセージとして該オブジェクトの制御を担当する装置へ送信し、前記オブジェクト動作制御手段は、仮想空間内にある全てのオブジェクト毎に用意され、オブジェクトの動作を開始するイベントに対応する確定メッセージを受けた場合、各々のオブジェクト毎に用意した各オブジェクト固有の動作を制御する動作プログラムに基づき当該オブジェクトの動作を開始させ、当該オブジェクトの動作中に当該オブジェクトの動作の終了を示すイベントが発生することにより当該イベントに対応する確定メッセージを受けた場合、当該動作中のオブジェクトの動作を停止させ、未確定メッセージを受けた場合、該メッセージに含まれるイベントの確定についての判断を行い、確定して良いと判断した場合、当該イベントについての確定メッセージを、仮想空間に参加中の他のオブジェクト制御装置に送信することを特徴とする。
【０００９】
これにより、あるオブジェクトに対してイベントが発生した場合、仮想空間制御手段はそのイベントを検出する。次に、そのオブジェクトの制御権を担当している装置であるなら、仮想空間制御手段は確定したイベントとして確定メッセージを仮想空間に参加中の全ての装置へ送信する。各々の装置では、受信した確定メッセージを基に、オブジェクト動作制御手段がオブジェクトの制御を行う。また、そのオブジェクトの制御権を担当していない装置であるなら、仮想空間制御手段は未確定メッセージとして制御権を持つ装置へ送信する。未確定メッセージを受信した装置のオブジェクト動作制御手段は、その未確定メッセージに含まれるイベントの確定について判断を行う。イベント確定なら、確定メッセージを仮想空間制御手段が各装置へ送信する。
【００１０】
また、請求項２に記載の発明は、請求項１に記載のオブジェクト制御装置において、上記オブジェクト動作制御手段は、各々のオブジェクトについて各動作が定義された動作プログラムを格納する動作プログラム部と、メッセージと動作プログラムの対応を定義した動作プログラム定義ファイルと、動作プログラム定義ファイルと前記メッセージを基に、動作プログラム部の制御を行う動作プログラム制御手段とを具備し、確定メッセージに対するオブジェクト固有の動作制御や、未確定メッセージに対するイベントの確定についての判断を行うことを特徴とする。
これにより、オブジェクト固有の動作を定義した動作プログラムより、メッセージに対応した動作プログラムを選択し、オブジェクトの動作制御を行う。また、メッセージに含まれるイベントの内容と、現在のオブジェクトの状態より、イベントについて確定の判断を行う。
【００１１】
また、請求項３に記載の発明は、請求項２に記載のオブジェクト制御装置において、上記動作プログラム定義ファイルは、一つのメッセージに一つ以上の動作プログラムを対応させることを特徴とする。
これにより、一つの確定メッセージが装置へ送信された場合、動作プログラム定義ファイルより、メッセージに対応する一つもしくは複数の動作プログラムを起動する。
【００１２】
また、請求項４に記載の発明は、請求項１から請求項３のいずれかに記載のオブジェクト制御装置において、上記仮想空間制御手段は、メッセージにイベントの発生時刻情報も含めて送信し、上記動作プログラム制御手段は、装置間で共有する仮想空間内での時間を同期させる時間同期手段と、メッセージに加えたイベント発生時刻情報と仮想空間内共通の時間情報を基に、イベント発生後の経過時間によりオブジェクトの動作制御を行う時間動作制御手段と、を具備することを特徴とする。
これにより、時間同期手段は、仮想空間に参加した時に、その仮想空間で共有している同期時間を取り込み、仮想空間で共有する同期時間を計時する。また、時間動作制御手段は、時間同期手段で計時される仮想空間内で共有される同期時間を基に、イベントの発生時刻から経過時間を算出し、その経過時間を基にオブジェクトの動作制御を行う。
【００１３】
また、請求項５に記載の発明は、請求項１から請求項４のいずれかに記載のオブジェクト制御装置において、仮想空間を共有する前記装置間で、オブジェクトの制御の担当を他の装置へ移動できることを特徴とする。
これにより、仮想空間内で、どの装置で制御しても良い属性のオブジェクトにおいて、そのオブジェクトの制御の担当を、そのオブジェクトに頻繁にイベントを発生させている装置に移動する。
【００１４】
また、請求項６に記載の発明は、ネットワークを介して接続される複数の装置間で共有する仮想空間内にある複数のオブジェクトを、各装置で分担して制御するオブジェクト制御方法であって、各々のオブジェクトで発生する当該オブジェクトの動作の開始あるいは終了を示すイベントを検出し、イベントの発生したオブジェクトの制御を担当している場合、確定したイベントについて確定メッセージとして各装置へ送信し、該オブジェクトの制御を担当していない場合、前記検出したイベントを未確定メッセージとして該オブジェクトの制御を担当する装置へ送信し、オブジェクトの動作を開始するイベントに対応する確定メッセージを受けた場合、各々のオブジェクト毎に用意した各オブジェクト固有の動作を制御する動作プログラムに基づき当該オブジェクトの動作を開始させ、当該オブジェクトの動作中に当該オブジェクトの動作の終了を示すイベントが発生することにより当該イベントに対応する確定メッセージを受けた場合、当該動作中のオブジェクトの動作を停止させ、未確定メッセージを受けた場合、該メッセージに含まれるイベントの確定についての判断を行い、確定して良いと判断した場合、当該イベントについての確定メッセージを、仮想空間に参加中の他のオブジェクト制御装置に送信することを特徴とする。
【００１５】
また、請求項７に記載の発明は、請求項６に記載の方法をコンピュータに実行させるオブジェクト制御プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１６】
【発明の実施の形態】
以下、発明の実施の形態を通じて本発明を説明する。ただし、以下の実施の形態は特許請求の範囲に記載された発明を限定するものではなく、また実施の形態の中で説明されている特徴の組み合わせのすべてが発明の解決手段に必要であるとは限らない。
図１はこの発明の一実施形態によるオブジェクト制御システムの概略構成を示すブロック図である。この図において符号１０１、２０１、３０１・・・は、装置１、装置２、装置３・・・であり、各々が分散制御の仮想空間を共有するためのプログラムを内蔵し、ネットワーク１００に接続されている。
以下、装置１と装置２について内部の概略構成のブロック図を図２と図３に示し、２つの装置間で行うオブジェクト制御の動作を示すことで、本発明によるオブジェクト制御装置およびオブジェクト制御方法の一実施形態を説明する。
まず、装置１・１０１の内部構成は図２に示すように、ネットワーク１００を介して他の装置と装置１・１０１の内部との通信を制御する通信制御部１０２と、装置１・１０１が仮想空間に参入した時の担当オブジェクトの初期位置等を定義した初期情報を格納する仮想空間定義ファイル１０３と、装置１・１０１が共有中の仮想空間内にあるオブジェクト群へのイベントの発生を検知し、仮想空間を共有する各装置へイベントの発生を知らせるメッセージを伝達する仮想空間制御部（仮想空間制御手段）１０４と、仮想空間内にある全てのオブジェクト毎（オブジェクトＡ、オブジェクトＢ、・・・）に用意されるオブジェクトＡ動作制御部（オブジェクト動作制御手段）１０Ａ、オブジェクトＢ動作制御部１０Ｂ、オブジェクトＣ動作制御部１０Ｃ・・・とから成る。
尚、図３に示す装置２・２０１も、各部の構成と機能は装置１・１０１と同様であり、図示していないが、装置３・３０１やその他の仮想空間を共有している全ての装置で、図２に示す装置１・１０１のものと同様の構成と各部の機能を有する。
【００１７】
ここで、仮想空間定義ファイル１０３の詳細について図４を用いて説明する。図４は仮想空間定義ファイル１０３の構成概略を示す図であり、仮想空間内に参入する時に、制御を担当する全ての各々のオブジェクトについて、オブジェクトの型、オブジェクト名、オブジェクトの位置、オブジェクトの向き等の初期情報を格納するファイルである。
次に、オブジェクトＡ動作制御部１０Ａの構成の詳細を以下に説明する。オブジェクトＡの各動作が定義されたプログラムモジュールであるビヘイビア１（動作プログラム）、ビヘイビア２、・・・を格納するビヘイビアプログラム群（動作プログラム部）１０Ａ３が用意される。また、ビヘイビア定義ファイル（動作プログラム定義ファイル）１０Ａ２は、仮想空間制御部１０４より伝達されるメッセージの種類とそれに対応するビヘイビアプログラム群１０Ａ３内のビヘイビア１、ビヘイビア２・・・が定義されたファイルである。また、ビヘイビア管理部（動作プログラム制御手段）１０Ａ１は、仮想空間制御部１０４より伝達されるメッセージに対応するビヘイビアをビヘイビア定義ファイル１０Ａ２より参照して実行し、オブジェクトＡの動作を制御する。
次に、ビヘイビア定義ファイル１０Ａ２のデータ定義例を図５に示す。
各種メッセージに対して、どのビヘイビアが起動し、どのビヘイビアが停止するかの対応が定義されている。尚、オブジェクトＢ動作制御部１０Ｂ、オブジェクトＣ動作制御部１０Ｃ・・・も同様の構成である。また、装置Ｘより新しいオブジェクトＸが装置１・１０１、装置２・２０１・・・で共有する仮想空間に参入して来た場合、そのオブジェクトＸに対応するオブジェクトＸ動作制御部が装置１・１０１、装置２・２０１・・・内に無ければ、装置ＸはオブジェクトＸ動作制御部を実現するプログラムを装置１・１０１、装置２・２０１・・・へ送信してもよい。
【００１８】
尚、上記に示したこれらの各処理部は専用のハードウェアにより実現されるものであってもよく、また、各処理部はメモリおよびＣＰＵ（中央演算装置）により構成され、各処理部の機能を実現する為のプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
また、上記メモリは、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＣＤ−ＲＯＭ等の読み出しのみが可能な記録媒体、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような揮発性のメモリ、あるいはこれらの組み合わせによるコンピュータ読み取り、書き込み可能な記録媒体より構成されるものとする。
【００１９】
次に、上述したオブジェクト制御装置の動作を以下に図を参照して説明する。
まず、本実施形態の動作の説明に用いる仮想空間の構成を表示例図６において示す、符号４１は装置１・１０１の画面表示例であり、４２は、装置２・２０１の画面表示例であり、４３は装置３・３０１の画面表示例である。図示するように仮想空間内には装置１・１０１が制御する権限のあるオブジェクト（以下マスターオブジェクトとする）としてアバターＡ・４４、ブロックＢ・４５があり、装置１・１０１が制御する権限の無いオブジェクト（以下スレーブオブジェクトとする）としてアバターＢ・４６、ブロックＡ・４７、ブロックＣ・４８がある。尚、装置２・２０１にとってはアバターＢ・４６とブロックＡ・４７がマスターオブジェクトであり、装置３・３０１にとっては、ブロックＣ・４８がマスターオブジェクトである。
尚、アバターＡ・４４のオブジェクト動作制御は、オブジェクトＡ動作制御部１０Ａが行い、ブロックＡ・４７は、オブジェクトＢ動作制御部１０Ｂが、アバターＢ・４６は、オブジェクトＣ動作制御部１０Ｃが、ブロックＢ・４５は、オブジェクトＤ動作制御部１０Ｄがそれぞれ行うこととする。これは、装置２・２０１、装置３・３０１においても同様の対応とする。
【００２０】
次に、仮想空間内で発生するイベントはメッセージにより各装置にあるオブジェクト制御プログラムに伝達されるが、メッセージの伝達方法は、メッセージの発信元、送信先、によって以下に示す３つの種類の伝達方法に分類される。
(１)        マスターオブジェクトから自分自身へ送られるメッセージ。
(２)        スレーブオブジェクトから自分自身へ送られるメッセージ。
(３)        発信元と送信先が異なるメッセージ。
それぞれの場合における動作フローについて図を用いて以下に説明する。
【００２１】
まず、上記（１）の場合とは、マスターオブジェクトが自らイベントを発生する場合であり、具体例を示すと図６において装置１・１０１の利用者の操作によりアバターＡ・４４が移動した時であり、その時の仮想空間の画面表示例とメッセージの動きを図７に示す。また、その時の各装置の動作のフロー図を図８に示す。
図６において、装置１・１０１の利用者がアバターＡ・４４を移動させる操作を行うことで、仮想空間内でアバターＡ・４４を移動させるというイベントが発生する（ステップＳ１）。仮想空間制御部１０４がそのイベントを検出する（ステップＳ２）。アバターＡ・４４は装置１・１０１に制御権があるので、仮想空間制御部１０４は、検出したイベントを確定したイベントとして確定メッセージを、他の装置へ対しては通信制御部１０２およびネットワーク１００を介して各装置へ送信し、自身に対しては直接該当するオブジェクトの動作制御部へ送信する（ステップＳ３）。装置１・１０１においては、制御権のあるアバターＡ・４４に対してイベントが発生したので、仮想空間制御部１０４より送信される確定メッセージを、アバターＡ・４４を制御するオブジェクトＡ動作制御部１０Ａが受信する（ステップＳ４）。オブジェクトＡ動作制御部１０４の中のビヘイビア管理部１０Ａ１は、受信したメッセージと対応するビヘイビア（移動のビヘイビア）をビヘイビア定義ファイル１０Ａ２より参照し、該当するビヘイビアをビヘイビアプログラム群１０Ａ３より選択して起動することで装置１・１０１の画面表示例４１内のアバターＡ・４４の移動が行われる（ステップＳ５）。
【００２２】
また、装置２・２０１においては、ネットワーク１００を介して仮想空間制御部１０４より送信される確定メッセージを、通信制御部２０２と仮想空間制御部２０４を介して、アバターＡ・４４に対応するオブジェクトＡ動作制御部２０Ａが受信する（ステップＳ６）。次に、上記同様、オブジェクトＡ動作制御部２０Ａの中のビヘイビア管理部２０Ａ１は、受信した確定メッセージと対応するビヘイビア（移動のビヘイビア）をビヘイビア定義ファイル２０Ａ２より参照し、該当するビヘイビアをビヘイビアプログラム群２０Ａ３より選択して起動することにより、装置２・２０１の画面表示例４２内のアバターＡ・４４の移動を行う。
（ステップＳ７）。
尚、装置３・３０１についても、上述した装置２・２０１と同様な動作でメッセージの受信が行われ（ステップＳ８）、確定メッセージの処理（ビヘイビアの起動）が行われ、装置３・３０１の画面表示例４３内のアバターＡ・４４の移動を行う（ステップＳ９）。
【００２３】
次に、上記（２）の場合とは、スレーブオブジェクトが自らイベントを発生する場合であり、具体例を示すと図６において装置１・１０１のオブジェクトＢ動作制御部１０Ｂの制御により、ブロックＡ・４７がスレーブオブジェクトとして、ある目的地に達したら自動的に止まるビヘイビアで動いている最中に目的地に達した時であり、その時の仮想空間の画面表示例とメッセージの動きを図９に示す。また、その時の各装置の動作のフロー図を図１０に示す。
図６において、装置１・１０１のオブジェクトＢ動作制御部１０Ｂの制御にてブロックＡ・４７がスレーブオブジェクトとして、ある目的地に達したら自動的に止まるビヘイビアで動作中に、目的地に達した場合、ブロックＡ・４７の停止イベントが発生する（ステップＳ２１）。装置１・１０１の仮想空間制御部１０４がそのイベントを検出する（ステップＳ２２）。ブロックＡ・４７は装置１・１０１に制御権が無いので、仮想空間制御部１０４は、検出したイベントを未確定のイベントとして未確定メッセージを、ブロックＡ・４７の制御権を持つ装置２・２０１へ、通信制御部１０２およびネットワーク１００を介して送信する（ステップＳ２３）。
【００２４】
次に、装置２・２０１は、ネットワーク１００を介して仮想空間制御部１０４より送信される未確定メッセージを、通信制御部２０２と仮想空間制御部２０４を介して、ブロックＡ・４７に対応するオブジェクトＢ動作制御部２０Ｂが受信する（ステップＳ２４）。オブジェクトＢ動作制御部２０Ｂは受信した未確定メッセージに含まれる未確定なイベントを確定して良いイベントか確認する（ステップＳ２５）。確定して良くない場合（ステップＳ２５のＮｏ）、未確定メッセージに応じた処理を停止する。この時、代わりに別の処理を行う確定メッセージを送信しても良い。また、確定して良い場合（ステップＳ２５のＹｅｓ）、仮想空間制御部２０４は、通信制御部２０２とネットワーク１００を介して他の装置へ確定メッセージを送信し、オブジェクトＢ動作制御部２０Ｂへも確定メッセージを送信する（ステップＳ２６）。その後各装置における動作は、ステップＳ４〜ステップＳ９に示した通りであり、以上によりブロックＡ・４７は各装置に表示される仮想画面内で目的地に達して停止する動作を行う（ステップＳ２５でＹｅｓの場合）か、そのまま動作を続けるもしくは別の動作を行う（ステップＳ２５でＮｏの場合）。
【００２５】
次に、上記（３）の場合とは、オブジェクト（マスター・スレーブ共に）が別のオブジェクトへ影響を及ぼす場合であり、具体例を示すと図６において装置１・１０１の利用者の操作により、アバターＡ・４４がブロックＡ・４７を持ち上げようとした時であり、その時の仮想空間の画面表示例とメッセージの動きを図１１に示す。また、その時の各装置の動作のフロー図を図１２に示す。
図６において、装置１・１０１の利用者の操作により、アバターＡ・４４がブロックＡ・４７を持ち上げようとした場合、ブロックＡ・４７の持ち上げイベントが発生する（ステップＳ３１）。次に、装置１・１０１の仮想空間制御部１０４がそのイベントを検出する（ステップＳ３２）。次に、装置１・１０１のブロックＡ・４７に対する制御権の有無に関係なく、仮想空間制御部１０４は、検出したイベントを未確定なイベントとして未確定メッセージを、ブロックＡ・４７の制御権を持つ装置２・２０１へ、通信制御部１０２およびネットワーク１００を介して送信する（ステップＳ３３）。
【００２６】
次に、装置２・２０１は、ネットワーク１００を介して仮想空間制御部１０４より送信される未確定メッセージを、通信制御部２０２と仮想空間制御部２０４を介して、ブロックＡ・４７に対応するオブジェクトＢ動作制御部２０Ｂが受信する（ステップＳ３４）。オブジェクトＢ動作制御部２０Ｂは受信した未確定メッセージに含まれる未確定なイベントを確定して良いイベントか確認する（ステップＳ３５）。確定して良くない場合（ステップＳ３５のＮｏ）、未確定メッセージに応じた処理を停止する。尚、未確定メッセージに応じた処理を停止した場合に、その未確定メッセージを判断しマスターオブジェクトを制御するオブジェクト動作制御部が、その未確定メッセージに含まれる未確定なイベントを確定して良いイベントに補正して、確定メッセージとして送信してもよい。また、確定して良い場合（ステップＳ３５のＹｅｓ）、仮想空間制御部２０４は、通信制御部２０２とネットワーク１００を介して他の装置へ確定メッセージを送信し、オブジェクトＢ動作制御部２０Ｂへも確定メッセージを送信する（ステップＳ３６）。
その後各装置における動作は、ステップＳ４〜ステップＳ９に示した通りであり、以上によりブロックＡ・４７は各装置に表示される仮想画面内でアバターＡ・４４により持ち上げられる（ステップＳ３５でＹｅｓの場合）。または、アバターＡ・４４はブロックＡ・４７を持ち上げることができない、もしくは別の動作を行う（ステップＳ３６でＮｏの場合）。
【００２７】
次に、上述した実施形態における仮想空間の画面表示例である図６において、従来は問題が起こる可能性があった、別々の装置より同一のオブジェクトへ、ほぼ同時にイベントが発生する場合の動作について具体例と図を示して説明する。
例えば、図６において、アバターＡ・４４とアバターＢ・４６がほぼ同時にブロックＡ・４７を持ち上げようとした場合に、アバターＡ・４４の起こしたイベントを“イベントａ”とし、アバターＢ・４６の起こしたイベントを“イベントｂ”とすると、この２つのイベントに対応したメッセージの伝達方法は、双方とも上述した（３）の場合であり、それぞれのイベントによるメッセージの動きは図１３に示す矢印のようになる。この時の本実施形態における動作のフロー図を図１４に示す。
【００２８】
まず、装置１・１０１の仮想空間制御部１０４が“イベントａ”を検出する（ステップＳ４１ａ）。ほぼ同時に、装置２・２０１の仮想空間制御装置２０４が“イベントｂ”を検出する（ステップＳ４１ｂ）。次に、装置１・１０１の仮想空間制御装置１０４が、未確定な“イベントａ”の未確定メッセージをブロックＡ・４７の制御権を持つ装置２・２０１内のオブジェクトＢ動作制御部２０Ｂへ通信制御部１０２、ネットワーク１００、通信制御部２０２を介して送信する（ステップＳ４２ａ）。ほぼ同時に、装置２・２０１の仮想空間制御部２０４が、未確定な“イベントｂ”の未確定メッセージを、ブロックＡ・４７に関する未確定メッセージの判別を行うオブジェクトＢ動作制御部２０Ｂへ送信する（ステップＳ４２ｂ）。
【００２９】
次に、オブジェクトＢ動作制御部２０Ｂは、未確定な“イベントａ”の未確定メッセージと、未確定な“イベントｂ”の未確定メッセージと、のどちらか先に着信した未確定メッセージの方に含まれる未確定イベントを確定して良いか判別し、確定してよければ、確定した“イベントｘ”（ｘ＝ａまたはｂ）の確定メッセージを各装置および、自身のオブジェクトＢ動作制御部へ送信する（ステップＳ４４）。各装置内のオブジェクトＢ動作制御部が確定メッセージを処理することで、各装置の画面に表示される仮想空間内のブロックＡ・４７の動きは整合の取れたものとなる（ステップＳ４５）。また、ステップＳ４４で、遅く来た方の未確定メッセージの未確定イベントｙ（ｙ＝ａまたはｂ）も次に判別される。しかしイベントｘが確定した場合は、アバターＡ・４４もしくはアバターＢ・４６がすでにブロックＡ・４７を持ち上げた後なので、未確定イベントｙは確定されずに、未確定イベントｙを含む未確定メッセージの処理は停止となる。
以上の動作により、一つのオブジェクトに同時に複数のイベントが発生しても各装置の画面に表示される仮想空間内のオブジェクトの動作に不整合が発生することは無い。
【００３０】
次に、図２のビヘイビア管理部１０Ａ１、１０Ｂ１・・・の動作の詳細を、装置１・１０１のビヘイビア管理部１０Ａ１の概略構成図である図１５を用いて説明する。
時間同期部１０Ａ１１は、仮想空間を共有する他の装置と、仮想空間内で同期した時間を共有し、その時間を計時する時間同期手段である。また、時間動作制御部１０Ａ１２は、前記仮想空間内で同期した時間と、イベントの発生時刻と、その発生時刻からの経過時間を基に、一定速度や一定加速度または規則的に変化する速度等、予測可能な動作で移動するオブジェクトについて、各装置でオブジェクトの位置を予測して動作制御を行う時間動作制御手段である。
【００３１】
図１６に、上述した構成のビヘイビア管理部１０Ａ１の動作制御による、装置１・１０１と、装置２・２０１で共有する仮想空間内におけるオブジェクト移動時の動作制御と、装置間の通信の具体例を示す。
尚、図１６において、符号１４０は、オブジェクトＡであり装置１・１０１が制御を担当しているものとし、対応するオブジェクト動作制御部は端末１・１０１内のオブジェクトＡ動作制御部１０Ａと、端末２・２０１内のオブジェクトＡ動作制御部２０Ａとする。また、図示していないが、端末２・２０１内のビヘイビア管理部２０Ａ１も、時間同期部２０Ａ１１と時間動作制御部２０Ａ１２を備えることとする。
まず、装置１・１０１の仮想空間において、オブジェクトＡ・１４０に移動イベント１４１が発生した場合、仮想空間管理部１０４がこれを検知し、移動メッセージ１４９ａ（位置、向き、速度、加速度、イベント発生の時刻等の情報）を装置２・２０１および装置１・１０１内のオブジェクトＡ動作制御部１０Ａへ送信する。
【００３２】
次に、装置１・１０１および装置２・２０１のビヘイビア管理部１０Ａ１およびビヘイビア管理部２０Ａ１で移動ビヘイビア１４２ａが起動され、共有する仮想空間の中でオブジェクトＡ・１４０が移動を始める。この時、時間同期部１０Ａ１１と時間同期部２０Ａ１１により、端末１・１０１と端末２・２０１は仮想空間内で同期した時間を共有しているので、端末１・１０１の時間動作制御部１０Ａ１２は、移動イベント１４１が発生した時間を基に、経過した時間の分だけ移動ビヘイビア１４２ａに定義された動作でオブジェクトＡ・１４０を移動させる（図中の符号１４３ａに示す”移動ビヘイビア１４２ａの更新”）。また、端末２・２０１の時間動作制御部２０Ａ１２も同様の動作を行いオブジェクトＡ・１４０を移動ビヘイビア１４２ｂにより移動させる（図中の符号１４３ｂに示す”移動ビヘイビア１４２ｂの更新”）。
【００３３】
以上の動作により、端末１・１０１と端末２・２０１に表示される仮想空間内でのオブジェクトＡ・１４０の動きは同期した動きとなり、また、オブジェクトＡ・１４０が移動する間、従来は絶えずオブジェクトＡ１４０の位置情報を装置１・１０１から装置２・２０１へ送信する必要があったが、本実施形態では各々の装置で経過時間とビヘイビアを基に動作制御する為に装置間で通信の必要が無く、従来に比べて通信量が少なくなり、更にオブジェクトの動作が滑らかになる。
【００３４】
次に、装置１・１０１において、オブジェクトＡ・１４０の移動方向を変化させる移動イベント１４４が発生した場合、装置１・１０１の仮想空間制御部１０４がこれを検知し、移動メッセージ１４９ｂを装置２・２０１および装置１・１０１内のオブジェクトＡ動作制御部１０Ａへ送信する。次に、移動メッセージ１４９ｂを基に装置１・１０１および装置２・２０１のビヘイビア管理部１０Ａ１およびビヘイビア管理部２０Ａ１で移動ビヘイビア１４５ａが起動され、共有する仮想空間の中でオブジェクトＡ・１４０が移動方向の変更を始める。この時、端末１・１０１と端末２・２０１は仮想空間内で同期した時間を共有しているので、端末１・１０１の時間動作制御部１０Ａ１２は、移動イベント１４４が発生した時間を基に、経過した時間の分だけ移動ビヘイビア１４５ａに定義された方向へオブジェクトＡ・１４０の移動方向を変更する。また、端末２・２０１の時間動作制御部２０Ａ１２も同じタイミングで、同様の動作を行いオブジェクトＡ・１４０の移動方向を移動ビヘイビア１４５ｂにより変更させる。その後、装置１・１０１は経過時間を基に”移動ビヘイビア１４５ａの更新”１４６ａを繰り返すことで、オブジェクトＡ・１４０の移動を行う。また装置２・２０１も同様に”移動ビヘイビア１４５ｂの更新”１４６ｂを繰り返す。
【００３５】
次に、装置１・１０１において、オブジェクトＡ・１４０の移動停止の停止イベント１４７が発生した場合、装置１・１０１の仮想空間制御部１０４がこれを検知し、停止メッセージ１４９ｃを装置２・２０１および装置１・１０１内のオブジェクトＡ動作制御部１０Ａへ送信する。次に、停止メッセージ１４９ｃを基に装置１・１０１および装置２・２０１のビヘイビア管理部１０Ａ１およびビヘイビア管理部２０Ａ１で停止ビヘイビア１４８ａおよび停止ビヘイビア１４８ｂが起動され、共有する仮想空間の中でオブジェクトＡ・１４０が移動を停止する。その停止動作について詳しく説明すると、端末１・１０１の時間動作制御部１０Ａ１２は、停止イベント１４７が発生した時間を基に、経過した時間もしくは移動距離を計算し、停止ビヘイビア１４８ａに定義された停止時間もしくは停止位置でオブジェクトＡ・１４０の移動を停止する。この時、端末１・１０１と端末２・２０１は仮想空間内で同期した時間を共有しているので、端末２・２０１の時間動作制御部２０Ａ１２が上述した時間動作制御部１０Ａ１２と同様に停止ビヘイビア１４８ｂと経過時間を基に動作を行ことで、装置１・１０１と同じタイミング同じ位置でオブジェクトＡ・１４０の移動を停止させる。
以上に示したようにオブジェクトＡ・１４０が動作を始めてから停止するまで、装置１・１０１が装置２・２０１へメッセージ送信を行ったのは３回であり、従来の図１９に示した通信量と比べて大幅にその量を減らすことができる。また、従来のように通信状態が良くない為に位置データが欠けて、オブジェクトの動きが不連続な動きになることもなく、滑らかな動作を行わせることができる。
【００３６】
尚、本実施形態はサーバを設けずに、各装置で全ての仮想空間内のオブジェクトについて制御を担当していたが、サーバを設けて、仮想空間内の特定のオブジェクトについては、サーバが制御を担当してもよい。また、オブジェクトには、いろいろと属性を持たせることができ、ある特定のオブジェクトにイベントを発生できる権限を装置毎や、そのオブジェクトに影響する別のオブジェクト全てに設定できる。
【００３７】
また、図１における装置１・１０１、装置２・２０１、装置３・３０１・・・内において各種制御を行う制御部の機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」とは、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フロッピーディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【００３８】
【発明の効果】
以上説明したように本発明によれば、ネットワークを介して接続される複数の装置間で共有する仮想空間内で、イベントの発生したオブジェクトの制御を担当している場合、仮想空間制御手段は、確定したイベントについて確定メッセージとして各装置へ送信する。また、オブジェクトの制御を担当していない場合、仮想空間制御手段は、イベントを未確定メッセージとしてオブジェクトの制御を担当する装置へ送信する。また、オブジェクト動作制御手段は、確定メッセージを受けた場合、各々のオブジェクト毎に用意した各オブジェクト固有の動作を制御する。また、未確定メッセージを受けた場合は、メッセージに含まれるイベントの確定についての判断を行う。これにより、あるオブジェクトに対して制御権を持つ装置からのみ、動作制御を行うことができ、また、別々の装置の間で同時に起こるかもしれないイベントの処理も、整合性のとれた処理を行うことができる効果がある。
【００３９】
また、本発明は、メッセージと動作プログラムの対応を定義した動作プログラム定義ファイルと、動作プログラムの制御を行う動作プログラム制御手段とを具備する。また、確定メッセージに対するオブジェクト固有の動作制御や、未確定メッセージに対するイベントの確定についての判断を行う。これにより、通信負荷の軽い簡単なデータ構成のメッセージ送信のみで、オブジェクトの動作制御を行ったり、イベントの確定の判断を行うことができ、通信負荷を大幅に減らすことができる効果がある。
【００４０】
また、本発明は、上記動作プログラム定義ファイルにおいて、一つのメッセージに一つ以上の動作プログラムを対応させる。これにより、一つのメッセージで数種類の動作プログラムを起動することができ、より多様な動作を一つのメッセージで行うことができるので、通信負荷を減らすことができる効果がある。
また、本発明は、上記仮想空間制御手段において、メッセージにイベントの発生時刻情報も含めて送信する。また、動作プログラム制御手段は、装置間で共有する仮想空間内での時間を同期させる時間同期手段と、イベント発生後の経過時間によりオブジェクトの動作制御を行う時間動作制御手段とを具備する。これにより、時間と共に規則的な運動するオブジェクトにおいては、イベント派生時刻後の経過時間を基に、各装置毎にオブジェクトの動作制御を行うことができる。従来そのオブジェクトの制御権をもつ装置から、仮想空間を共有する他の装置へ絶えず該オブジェクトの位置情報等を送信する必要があった。しかし、上記の動作制御では、規則的な運動を行っている間は通信を行わずに済むため、通信負荷を大幅に減少させる効果がある。また、各端末で処理しているので、オブジェクトの動作が滑らかであり、従来の通信状態が混雑している場合に、位置情報の着信が遅れたり間欠したりする可能性があり、その為にオブジェクトの動作がぎこちないものになるという問題を解決できる。
【００４１】
また、本発明は、仮想空間を共有する上記装置間において、オブジェクトの制御の担当を他の装置へ移動できる。これにより、仮想空間内において、どの装置で制御しても良い属性のオブジェクトにおいて、そのオブジェクトの制御の担当を、そのオブジェクトにイベントを頻繁に発生させている装置に移動することができる。それによって、そのオブジェクトで頻繁に発生するイベントによる未確定なメッセージが減り、通信負荷を減少させることができるという効果がある。
【図面の簡単な説明】
【図１】  本発明の一実施形態によるオブジェクト制御システムの概略構成を示すブロック図である。
【図２】  本発明の一実施形態によるオブジェクト制御システムにおける、装置１・１０１の概略構成を示すブロック図である。
【図３】  本発明の一実施形態によるオブジェクト制御システムにおける、装置２・２０１の概略構成を示すブロック図である。
【図４】  本発明の一実施形態による仮想空間定義ファイル１０３の構成概略を示す図である。
【図５】  本発明の一実施形態によるビヘイビア定義ファイル１０Ａ２のデータ定義例を示す図である。
【図６】  本発明の一実施形態による仮想空間の構成を示す表示例の図である。
【図７】  本発明の一実施形態による仮想空間の画面表示例とメッセージの動きを示す図である。
【図８】  本発明の一実施形態による各装置の動作のフロー図である。
【図９】  本発明の一実施形態による仮想空間の画面表示例とメッセージの動きを示す図である。
【図１０】  本発明の一実施形態による各装置の動作のフロー図である。
【図１１】  本発明の一実施形態による仮想空間の画面表示例とメッセージの動きを示す図である。
【図１２】  本発明の一実施形態による各装置の動作のフロー図である。
【図１３】  本発明の一実施形態によるイベントによるメッセージの動きを示す図である。
【図１４】  本発明の一実施形態による各装置の動作のフロー図である。
【図１５】  本発明の一実施形態によるビヘイビア管理部１０Ａ１の概略構成を示す図である。
【図１６】  本発明の一実施形態によるオブジェクト移動時の動作制御と、装置間の通信の具体例を示す図である。
【図１７】  従来の複数装置（装置１、装置２、装置３）で共有する仮想空間の画面表示例を示す図である。
【図１８】  従来の仮想空間における、画面表示例とメッセージの伝達を示す図である。
【図１９】  従来のオブジェクト移動時の動作制御と、装置間の通信の具体例を示す図である。
【符号の説明】
４１    装置１の仮想空間の画面表示例
４２    装置２の仮想空間の画面表示例
４３    装置３の仮想空間の画面表示例
４４    アバターＡ
４５    ブロックＢ
４６    アバターＢ
４７    ブロックＡ
４８    ブロックＣ
１０１  装置１
２０１  装置２
３０１  装置３
１０２  通信制御部
１０３  仮想空間定義ファイル
１０４  仮想空間制御部
１０Ａ  オブジェクトＡ動作制御部
１０Ａ１  ビヘイビア管理部
１０Ａ２  ビヘイビア定義ファイル
１０Ａ３  ビヘイビアプログラム群
１０Ａ１１  時間同期部
１０Ａ１２  時間動作制御部
１０Ａ１３  ビヘイビア管理処理部
１４０  オブジェクトＡ
１４１  移動イベント
１４２ａ、１４５ａ  装置１内の移動ビヘイビア
１４２ｂ、１４５ｂ  装置２内の移動ビヘイビア
１４３ａ  移動ビヘイビア１４２ａの更新
１４３ｂ  移動ビヘイビア１４２ｂの更新
１４４  移動イベント（方向転換）
１４６ａ  移動ビヘイビア１４５ａの更新
１４６ｂ  移動ビヘイビア１４５ｂの更新
１４７  停止イベント
１４８ａ  装置１内の停止ビヘイビア
１４８ｂ  装置２内の停止ビヘイビア
１４９ａ、１４９ｂ  移動メッセージ
１４９ｃ  停止メッセージ
１５１  装置１の表示画面例
１５２  装置２の表示画面例
１５３  装置３の表示画面例
１５ａ  アバターＡ
１５ｂ  アバターＢ
１５ｃ  ブロックＡ、  １５ｄ  ブロックＢ、  １５ｅ  ブロックＣ
１７Ａ  装置Ａの表示画面例
１７Ｂ  装置Ｂの表示画面例
１７１  状態メッセージ
１７Ａ１  装置Ａ内のオブジェクト
１７Ａ２  装置Ａで発生するイベント
１７Ａ３  ビヘイビア起動
１７Ｂ１  装置Ｂ内のオブジェクト
１７Ｂ２  装置Ｂ内のオブジェクトの位置、向きの設定
【図１】
0004642194.tif 000002
【図２】
0004642194.tif 000003
【図３】
0004642194.tif 000004
【図４】
0004642194.tif 000005
【図５】
0004642194.tif 000006
【図６】
0004642194.tif 000007
【図７】
0004642194.tif 000008
【図８】
0004642194.tif 000009
【図９】
0004642194.tif 000010
【図１０】
0004642194.tif 000011
【図１１】
0004642194.tif 000012
【図１２】
0004642194.tif 000013
【図１３】
0004642194.tif 000014
【図１４】
0004642194.tif 000015
【図１５】
0004642194.tif 000016
【図１６】
0004642194.tif 000017
【図１７】
0004642194.tif 000018
【図１８】
0004642194.tif 000019
【図１９】
0004642194.tif 000020