(57)【要約】【課題】大規模ネットワーク上の性能の異なる端末の負荷に応じた負荷分散、ネットワーク上の端末同士のシームレスな連携を可能とする３次元仮想空間共有を目的とする。【解決手段】３次元仮想空間情報を複数のユニット間で空間共有する３Ｄ仮想空間共有部と、空間内の視点位置、物体形状および物体位置を操作者の意思、自律性を持って操作する操作情報入力部と、複数のユニットにおいて、第一ユニットとそれ以外の３次元空間共有する複数の共有サーバあるいは複数ユニット間で、共有データを送受信するユニット連携部と、空間内の物体を曲面で定義し、その曲面の制御点情報をもとに描画に必要なポリゴンデータに変換し描画する曲面処理部と、空間を共有している複数ユニットの状態をリアルタイムで管理・情報通信するユニット管理部を有することを特徴とする。【選択図】図１
2005050081.tif 000002
【特許請求の範囲】
【請求項１】
３次元仮想空間をネットワークに繋がった複数の共有ユニットを介して共有し、必要に応じて３次元仮想空間内の物体および視点を操作者の意志に基づいて操作することによって情報共有する通信装置であって、
３次元仮想空間情報を複数のユニット間で空間共有するための３Ｄ仮想空間共有部と、３次元仮想空間内の視点位置、物体形状および物体位置を操作者の意思または自律性を持って操作する操作情報入力部と、前記複数のユニットにおいて、第一ユニットとそれ以外の３次元空間共有する複数の共有サーバあるいは複数ユニット間で、共有データを送受信するユニット連携部と、３次元仮想空間内の物体を曲面で定義し、その曲面の制御点情報をもとに描画に必要なポリゴンデータに変換し描画する曲面処理部と、３次元仮想空間を共有している複数ユニットの状態をリアルタイムで管理・情報通信するユニット状態管理部を有することを特徴とする３次元仮想空間情報を共有する通信装置。
【請求項２】
前記複数の３次元仮想空間共有ユニットは、その目的および用途に応じて再構成可能な複数のユニット集合として、単一ユニットと同等の機能で動作することを特徴とする請求項１記載の３次元仮想空間情報を共有する通信装置。
【請求項３】
３次元仮想空間を構成する３次元データを共有する為の３次元仮想空間共有サーバを、前記複数の３次元仮想空間共有ユニットが繋がったネットワーク上に持ち、前記３次元仮想空間共有サーバは、３次元仮想空間を共有する複数のユニット数および３次元仮想空間を共有する３次元仮想空間データ量に応じて階層的に機能分担し、前記機能分散された共有サーバをネットワーク上の複数のユニットに機能に応じて分散し、協調処理することを特徴とする請求項２記載の３次元仮想空間情報を共有する通信装置。
【請求項４】
前記３次元仮想空間の共有サーバは、共有に必要な３次元仮想空間データを多次元曲面の制御点情報のみを送受信し、ネットワークに繋がった前記曲面処理部で、描画に必要な多角形データに変換および描画することを特徴とする請求項３記載の３次元仮想空間情報を共有する通信装置。
【請求項５】
前記３次元仮想空間の共有サーバは、ネットワークに繋がった３次元仮想空間を共有する複数のユニットの静的あるいは動的な演算性能に応じて、共有に必要な３次元仮想空間データを多次元曲面の制御点情報あるいは、多次元曲面の制御点を補間したデータ、あるいは多次元曲面の制御点データをポリゴンに変換した頂点データ、あるいは多次元曲面をポリゴンに変換し２次元投影面に投影したデータに変換し、前記変換データを必要に応じて複数ユニットに送受信することを特徴とする請求項３記載の３次元仮想空間情報を共有する通信装置。
【請求項６】
ネットワークに繋がった３次元仮想空間を共有する複数のユニットに対して、前記操作ユニットの操作者の視点変更操作に応じて、視点情報が変更されることにより決定される視点および、視線方向に応じて、前記曲面処理部において、前記３次元仮想空間共有サーバから送信される３次元仮想空間を構成する物体形状の多次元曲面制御点データから、操作者の操作に応じて視点が変わるごとに、視点から物体の距離、画角、および視線と物体を構成する多次元曲面の法線の傾きとの角度に応じて、実時間でポリゴンデータの粒度を変えて変換することを特徴とする請求項３から５のいずれか１項に記載の３次元仮想空間情報を共有する通信装置。
【請求項７】
ネットワークに繋がった３次元仮想空間を共有する複数のユニットに対して、前記視点情報に応じて、実時間で描画形状データの粒度を変えて変換する複数ユニット処理において、複数ユニットの演算負荷を実時間で、前記ユニット状態管理部で状態管理し、各ユニットの負荷状態をネットワークに繋がる複数ユニット状態管理サーバで一元管理し、複数ユニットのうち負荷の大きいユニットの演算処理を、ネットワーク上の残りの演算処理負荷の少ないユニットに分担し、必要な共有３次元仮想空間内のデータを、前記複数ユニット間で送受信する実時間負荷分散機能を有することを特徴とする請求項６記載の３次元仮想空間情報を共有する通信装置。
【請求項８】
ネットワークに繋がった３次元仮想空間を共有する複数のユニットに対して、前記視点情報に応じて、実時間で描画形状データの粒度を変えて変換する複数ユニット処理において、複数ユニットの演算負荷を実時間で、前記ユニット状態管理部で状態管理し、各ユニットの負荷状態をネットワークに繋がった複数のユニット同士でブロードキャストしあい、複数のユニットのうち負荷の大きいユニットの演算処理を、ネットワーク上の残りの演算処理負荷の少ない複数のユニットに分担し、必要な共有３次元仮想空間内のデータを、前記複数のユニット間で送受信する実時間負荷分散機能を有することを特徴とする請求項６記載の３次元仮想空間情報を共有する通信装置。
【請求項９】
複数の３次元仮想空間共有ユニットを用いてネットワークに繋がった複数のユーザが３次元仮想空間を共有する際に、操作者の代理となる擬人化形状（アバター）を用いて情報共有し、擬人化形状の表情、身振り、手振りを表わす３次元あるいは２次元（画像）形状を多次元曲面形状、動作、音あるいは２次元のコントロールポイントで定義し、表現すべき表情に応じた、表情を構成する多次元曲面形状あるいは２次元コントロールポイントを、ネットワークに繋がった複数のユニット上の感情演算サーバで計算し、その計算結果の多次元曲面制御点情報あるいは２次元コントロールポイント情報を実時間で複数の３次元仮想空間ユニットに送受信することで、３次元仮想空間内の操作者の代理となる擬人化形状の表情の実時間再現することを特徴とする請求項１記載の３次元仮想空間情報を共有する通信装置。
【請求項１０】
複数の３次元仮想空間共有ユニットを用いてネットワークに繋がった複数のユーザが３次元仮想空間を共有する際に、前記操作情報入力部でネットワーク上の複数のユニットの演算性能あるいはユニットの表示性能に応じて、操作者の操作入力の精度を変更し、３次元仮想空間を共有するネットワーク上の全てのユニットで、ユニットの性能に応じた入力操作を実現することを特徴とする請求項１記載の３次元仮想空間情報を共有する通信装置。
【請求項１１】
複数の３次元仮想空間共有ユニットを用いてネットワークに繋がった複数のユーザが３次元仮想空間を共有する際に、前記第一ユニットを用いて共有していた３次元仮想空間情報を、前記再構成された複数のユニット集合から構成されるユニット集合を用いて共有することが可能で、その空間共有シーンの物理的な連続性を、前記３次元仮想空間共有サーバから、３次元共有データの多次元曲面制御点情報を実時間で送受信しあうことによってシームレスかつ共有ユニットの演算性能に応じて表現することを特徴とする請求項３から５のいずれか１項に記載の３次元仮想空間情報を共有する通信装置。
【請求項１２】
複数の３次元仮想空間共有ユニットを用いてネットワークに繋がった複数のユーザが３次元仮想空間を共有する際に、ローカルネットワーク上に繋がった複数のユニットで、３次元仮想空間を共有し、ローカルネットワーク上の複数の再構成可能な共有ユニットの演算負荷を、ローカルネットワーク上のユニット管理サーバで実時間に把握し、複数の共有ユニットのうち演算負荷が高い場合に、その負荷をローカルネットワーク上の複数ユニットのうち、演算負荷の低いユニットに分散し、３次元空間共有データを、ローカルネットワーク上の３次元仮想空間共有サーバで共有し、ローカルネットワーク上の複数ユニットの演算稼動状況を、実時間で管理および集積することを特徴とする請求項１記載の３次元仮想空間情報を共有する通信装置。
【請求項１３】
ローカルネットワーク上の複数ユニットが、ローカルネットワーク外のネットワーク上の複数ユニットと、３次元仮想空間を共有する際に、前記ユニット管理サーバの上位ユニット管理サーバをローカルネットワーク外のネットワーク上に設け、前記上位のユニット管理サーバで、ネットワーク上の複数ユニットの演算負荷を実時間で把握し、ローカルネットワーク上の複数の再構成可能な共有ユニットの演算負荷を、ローカルネットワーク上のユニット管理サーバで実時間に把握し、前記複数の共有ユニットのうち演算負荷が高い場合に、その負荷を前記ネットワーク上の複数ユニットのうち、演算負荷の低いユニットに分散し、３次元空間共有データを、ネットワーク上の３次元仮想空間共有サーバで共有し、ネットワーク上の複数ユニットの演算稼動状況を、実時間で管理および集積することを特徴とする請求項１２記載の３次元仮想空間情報を共有する通信装置。
【請求項１４】
複数の３次元仮想空間共有ユニットを用いてネットワークに繋がった複数のユーザが３次元仮想空間を共有する際に、前記ユニット管理サーバで管理したネットワーク上の複数ユニットの実時間での演算稼動状況に応じて、予め決められた従量課金率に応じて課金計算することを特徴とする請求項１２または請求項１３に記載の３次元仮想空間情報を共有する通信装置。
【請求項１５】
ローカルネットワークあるいはネットワーク上の複数のユニット上のユーザで、前記３次元仮想空間を共有し、その共有状況を前記曲面処理部で演算した結果として複数のユニット上の画面に表示する際に、ローカルネットワーク上の共有状態とそれ以外のネットワーク上の共有状態とを、同一画面上の複数のウインドウ上に併記することを特徴とする請求項１２または請求項１３に記載の３次元仮想空間情報を共有する通信装置。
【請求項１６】
ネットワーク上の複数のユニットにおいて、演算の負荷を分散する際に、前記複数ユニット状態管理サーバで、前記複数ユニットの負荷を実時間で管理する際に、それぞれのユニットの時間的あるいは物理的な稼動状況をモニタリングし、それぞれの稼動状況をニューラルネットを用いて重み付けすることで最適な負荷分散、あるいは成長する負荷分散を可能とすることを特徴とする請求項７または請求項８記載の３次元仮想空間情報を共有する通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワークに繋がった複数の計算機環境での分散、協調演算およびデータ共有に関し、特に３次元形状を用いた仮想空間共有を目的としたソフトウエア処理および装置に関する。
【背景技術】
【０００２】
従来の３次元仮想空間の処理装置では、例えばゲーム端末に代表されるように、専用のグラフィックスハードウエアを搭載した端末に、ＣＤ−ＲＯＭやＤＶＤなどの記録媒体に格納されたアプリケーションソフトウエアを読込み、ゲームパッドのような入力装置を用いることで、３次元空間でのゲームを楽しんでいた。あるいは汎用のＰＣに、３Ｄグラフィックスアクセラレータを付加し、上記の記録媒体に格納されたアプリケーションを読込み利用していた。これらは基本的にはスタンドアロンの３次元ＣＧ利用用途であった。
【０００３】
３次元仮想空間を共有する装置としては、上記のゲーム機やＰＣなどをＬＡＮ（ローカルエリアネットワーク）や電話線等で接続し、インターネット経由で他のユーザと仮想の３次元空間を共有する、多人数参加型の対戦ゲームや体験ゲームなどがある。この場合、ユーザは予めユーザ登録したインターネットのサイトにアクセスし、同様の他のユーザとともにゲームなどを楽しんでいる。一般に現状のネットゲームなどでの３次元仮想空間の共有システムでは、３次元形状などの殆どのデータは記録媒体で配布、あるいは予めまとめてダウンロードされ、参加した仮想空間内での各ユーザの操作情報（例えば、ゲームキャラクタの移動や視点操作情報等）のみを複数のユーザで共有することで実現されている。また、上記の仮想の３次元空間も比較的限られた規模（例えばゲームタイトルの場合、建物の中や、限られた範囲のシーン、場面や部屋など）で、複数のネットワークに跨る大規模の３次元仮想空間共有はゲーム等ではコストとハード性能の制約で限られたものであるのが現状である。
【０００４】
さらに、一部の先進的なインターネットのＷｅｂサイトでは、バーチャルモールの３次元化を試みた実験が幾つかなされた。通常のインターネットのＷｅｂサイトではＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）と呼ぶ、記述言語を用いてＷｅｂページを記述する。ＨＴＭＬで記述されたＷｅｂページをそれを解釈するブラウザを用いて閲覧することで、通常のホームページを楽しむことができる。前述の３次元化されたサイトでは、ＶＲＭＬ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）と呼ぶ言語を用いて３次元の仮想空間を記述している。ＶＲＭＬは前述のＨＴＭＬの３次元版で、１９９８年から２０００年にかけて標準化（現在ＶＲＭＬ  Ｖｅｒ  ２．０）されている（例えば、非特許文献１）。ＶＲＭＬを用いるとＷｅｂ上の３次元空間が再現できる。通常はＰＣなどのインターネットブラウザのプラグインとして、ＶＲＭＬブラウザを組み込み、これを用いて３次元空間を閲覧できる。この場合の３次元仮想空間の共有形態は、基本的にＷｅｂサーバ上にＶＲＭＬで記述されたコンテンツを置き、それを複数のユーザがそれぞれＶＲＭＬブラウザでアクセス（ダウンロード）する一対多の共有で、本当の意味での共有（端末同士が双方向共有）の形態ではない。
【０００５】
ＶＲＭＬで記述されたＷｅｂ上の仮想空間内で、３次元空間を共有するための技術として、１９９７年代にＶＲＭＬマルチユーザサーバが幾つか提案された（例えば、非特許文献２）。ここではネットワーク上にマルチユーザサーバを設け複数のＰＣからアクセスしたユーザの操作を他のユーザにブロードキャストすることで、仮想空間を共有した事例が紹介されている。
【０００６】
３次元仮想空間を共有することの最大の目的はコミュニケーションを含む情報交換にある。その場合、ＴＶ電話のように自分の顔画像をもとにコミュニケーションする以外に、自分の化身（以降アバターと呼ぶ）を用いてコミュニケーションする場合がある。通常アバターは３次元のＣＧキャラクタを用い、このＣＧキャラクタを操作して相手とコミュニケーションする（例えば、特許文献１）。前述の３次元仮想空間記述言語ＶＲＭＬ２．０をさらに拡張するフォーマットとして、特に３次元アバターを記述するフォーマットとしてＨ−Ａｎｉｍ（Ｈｕｍａｎｏｉｄ  Ａｎｉｍａｔｉｏｎ）という基本仕様が決っている。Ｈ−Ａｎｉｍを用いると３Ｄアバターを関節構造をもつ階層的なノードの集合として表し、その関節の動きを定義することで、３次元仮想空間内での形状の動きを定義することが可能である。Ｈ−Ａｎｉｍでは関節構造をもつＣＧアバターの動きは定義できるが、よりリアルな顔の動きや手の皺の動きに至るまでの細部にわたる表現は今だ標準化の途上である。
【０００７】
次に、３次元仮想空間での形状の描画方法について説明する。一般にＣＡＤやゲームなどの３次元ＣＧ画像生成では、モデラと呼ぶ３次元形状を作成するソフトを用いて物体を作成する。この単位は、車や家、人間などの３次元仮想空間で表現したい形状の単位でモデリングする。さらに前述のモデリングされた３次元形状部品を例えばさらに上位の空間（例えば、家やビルなど）に配置する。次に上記空間を観察するための３次元の視点位置と照明位置などの光学条件を定義し、さらに上述の各物体の表面属性（光学属性、反射率など）を定義する。上記のモデラで定義された３次元の部品の形状（以降、プリミティブと呼ぶ）は、一般には多角形（以降ポリゴンと呼ぶ）の頂点の３次元座標で定義される。一般に３次元仮想空間の緻密さはポリゴンの細かさに比例し、細かいポリゴンで記述すると表現力は向上するが、反面データ量と描画時の演算量が増える。ポリゴンの細かさは、ハードウエアやネットワークの通信速度、さらに３次元仮想空間を共有する場合は、共有するサーバの性能などによって決るものである。
【０００８】
さらに、上記のポリゴンのような多角形で形状を表現すると、基本的には近似形状なので、滑らかな流線型を持った物体などは滑らかな形状として表現できない。そこで、一般に自動車や航空機、人物などの曲面を必要とする分野で用いる３次元形状を表現する方法として、ポリゴン以外に自由曲面を用いる。自由曲面では曲面を定義する制御点とその制御点間を補間する方法で形状プリミティブを定義する。デザイン分野のＣＡＤなどではＮＵＲＢＵＳやベジェと言ったパラメトリックな自由曲面で形状プリミティブを定義する。上記のパラメトリック曲面で形状プリミティブを定義すると演算性能が高いハードウエアでないとリアルタイムでの描画は難しい。さらに、上記の自由曲面で定義された形状プリミティブも、各端末で描画処理する場合は、ハードウエアの制限から何らかの形で、ポリゴンに再分割してから描画処理する必要がある。
【０００９】
近年、ハードウエアの性能向上とネットワークを介した連携が進む中、グリッドコンピューティングなどの超分散、共有処理環境が提案されている。ここではネットワーク上に分散された計算機環境を有効利用して、従来スタンドアロンの計算機環境では実現不可能であったより大規模の演算を分散処理しようとしている。
【００１０】
さらに、近年のユビキタスネットワーク環境では上述のグリッドコンピューティングのような高度な計算機環境の概念が、家庭内のネットワークにも流用され宅内の家電機器と宅外のモバイル機器やＷｅｂ連携でのサービスにも応用されようとしている。
【非特許文献１】The VRML 2.0 Handbook, Addison Wesley Developers Press
【非特許文献２】VRML97 Second Symposium on the Virtual Reality Modeling Language, ACM SIGGRAPH, 1997
【特許文献１】特開平１０−４０４１８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、従来の前記の３次元仮想空間の処理装置では、複数のネットワークに跨る複数の端末間での３次元仮想空間共有のような非常に大規模の空間共有は不可能であった。また、共有される３次元データも端末の演算性能の制約などで自由曲面を用いた滑らかな曲面表現などは不可能であった。また、大規模のネットワークに跨った性能の異なる端末の動的あるいは静的な負荷の状況を反映した負荷分散を実現した３次元仮想空間の共有環境は提供されていなかった。さらに、ネットワーク上の端末同士が互いに協調しあい、ユーザ操作に応じたシームレスな３次元仮想空間の共有環境が提供できなかった。
【００１２】
本発明は上記課題を解決するため、複数のネットワークに跨る大規模な３次元仮想空間の共有、共有される３次元仮想空間の形状表現も自由曲面を用いた滑らかな表現、大規模ネットワーク上の性能の異なる端末の負荷に応じた負荷分散、ネットワーク上の端末同士のシームレスな連携を可能とする３次元仮想空間共有を目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、本発明の３次元仮想空間情報を共有する通信装置は、３次元仮想空間をネットワークに繋がった複数の共有ユニットを介して共有し、必要に応じて３次元仮想空間内の物体および視点を操作者の意志に基づいて操作することによって情報共有する通信装置であって、３次元仮想空間情報を複数のユニット間で空間共有するための３Ｄ仮想空間共有部と、３次元仮想空間内の視点位置、物体形状および物体位置を操作者の意思または自律性を持って操作する操作情報入力部と、前記複数のユニットにおいて、第一ユニットとそれ以外の３次元空間共有する複数の共有サーバあるいは複数ユニット間で、共有データを送受信するユニット連携部と、３次元仮想空間内の物体を曲面で定義し、その曲面の制御点情報をもとに描画に必要なポリゴンデータに変換し描画する曲面処理部と、３次元仮想空間を共有している複数ユニットの状態をリアルタイムで管理・情報通信するユニット状態管理部を有することを特徴とする。
【００１４】
上記課題を解決するため、本発明の３次元仮想空間情報を共有する通信装置は、前記複数の３次元仮想空間共有ユニットは、その目的および用途に応じて再構成可能な複数のユニット集合として、単一ユニットと同等の機能で動作することを特徴とする。
【００１５】
上記課題を解決するため、本発明の３次元仮想空間情報を共有する通信装置は、３次元仮想空間を構成する３次元データを共有する為の３次元仮想空間共有サーバを、前記複数の３次元仮想空間共有ユニットが繋がったネットワーク上に持ち、前記３次元仮想空間共有サーバは、３次元仮想空間を共有する複数のユニット数および３次元仮想空間を共有する３次元仮想空間データ量に応じて階層的に機能分担し、前記機能分散された共有サーバをネットワーク上の複数のユニットに機能に応じて分散し、協調処理することを特徴とする。
【００１６】
上記課題を解決するため、本発明の３次元仮想空間情報を共有する通信装置は、前記３次元仮想空間の共有サーバは、共有に必要な３次元仮想空間データを多次元曲面の制御点情報のみを送受信し、ネットワークに繋がった前記曲面処理部で、描画に必要な多角形データに変換および描画することを特徴とする。
【００１７】
上記課題を解決するため、本発明の３次元仮想空間情報を共有する通信装置は、前記３次元仮想空間の共有サーバは、ネットワークに繋がった３次元仮想空間を共有する複数のユニットの静的あるいは動的な演算性能に応じて、共有に必要な３次元仮想空間データを多次元曲面の制御点情報あるいは、多次元曲面の制御点を補間したデータ、あるいは多次元曲面の制御点データをポリゴンに変換した頂点データ、あるいは多次元曲面をポリゴンに変換し２次元投影面に投影したデータに変換し、前記変換データを必要に応じて複数ユニットに送受信することを特徴とする。
【００１８】
上記課題を解決するため、本発明の３次元仮想空間情報を共有する通信装置は、ネットワークに繋がった３次元仮想空間を共有する複数のユニットに対して、前記操作ユニットの操作者の視点変更操作に応じて、視点情報が変更されることにより決定される視点および、視線方向に応じて、前記曲面処理部において、前記３次元仮想空間共有サーバから送信される３次元仮想空間を構成する物体形状の多次元曲面制御点データから、操作者の操作に応じて視点が変わるごとに、視点から物体の距離、画角、および視線と物体を構成する多次元曲面の法線の傾きとの角度に応じて、実時間でポリゴンデータの粒度を変えて変換することを特徴とする。
【００１９】
上記課題を解決するため、本発明の３次元仮想空間情報を共有する通信装置は、ネットワークに繋がった３次元仮想空間を共有する複数のユニットに対して、前記視点情報に応じて、実時間で描画形状データの粒度を変えて変換する複数ユニット処理において、複数ユニットの演算負荷を実時間で、前記ユニット状態管理部で状態管理し、各ユニットの負荷状態をネットワークに繋がる複数ユニット状態管理サーバで一元管理し、複数ユニットのうち負荷の大きいユニットの演算処理を、ネットワーク上の残りの演算処理負荷の少ないユニットに分担し、必要な共有３次元仮想空間内のデータを、前記複数ユニット間で送受信する実時間負荷分散機能を有することを特徴とする。
【００２０】
上記課題を解決するため、本発明の３次元仮想空間情報を共有する通信装置は、ネットワークに繋がった３次元仮想空間を共有する複数のユニットに対して、前記視点情報に応じて、実時間で描画形状データの粒度を変えて変換する複数ユニット処理において、複数ユニットの演算負荷を実時間で、前記ユニット状態管理部で状態管理し、各ユニットの負荷状態をネットワークに繋がった複数のユニット同士でブロードキャストしあい、複数のユニットのうち負荷の大きいユニットの演算処理を、ネットワーク上の残りの演算処理負荷の少ない複数のユニットに分担し、必要な共有３次元仮想空間内のデータを、前記複数のユニット間で送受信する実時間負荷分散機能を有することを特徴とする。
【００２１】
上記課題を解決するため、本発明の３次元仮想空間情報を共有する通信装置は、複数の３次元仮想空間共有ユニットを用いてネットワークに繋がった複数のユーザが３次元仮想空間を共有する際に、操作者の代理となる擬人化形状（アバター）を用いて情報共有し、擬人化形状の表情、身振り、手振りを表わす３次元あるいは２次元（画像）形状を多次元曲面形状、動作、音あるいは２次元のコントロールポイントで定義し、表現すべき表情に応じた、表情を構成する多次元曲面形状あるいは２次元コントロールポイントを、ネットワークに繋がった複数のユニット上の感情演算サーバで計算し、その計算結果の多次元曲面制御点情報あるいは２次元コントロールポイント情報を実時間で複数の３次元仮想空間ユニットに送受信することで、３次元仮想空間内の操作者の代理となる擬人化形状の表情の実時間再現することを特徴とする。
【００２２】
上記課題を解決するため、本発明の３次元仮想空間情報を共有する通信装置は、複数の３次元仮想空間共有ユニットを用いてネットワークに繋がった複数のユーザが３次元仮想空間を共有する際に、前記操作情報入力部でネットワーク上の複数のユニットの演算性能あるいはユニットの表示性能に応じて、操作者の操作入力の精度を変更し、３次元仮想空間を共有するネットワーク上の全てのユニットで、ユニットの性能に応じた入力操作を実現することを特徴とする。
【００２３】
上記課題を解決するため、本発明の３次元仮想空間情報を共有する通信装置は、複数の３次元仮想空間共有ユニットを用いてネットワークに繋がった複数のユーザが３次元仮想空間を共有する際に、前記第一ユニットを用いて共有していた３次元仮想空間情報を、前記再構成された複数のユニット集合から構成されるユニット集合を用いて共有することが可能で、その空間共有シーンの物理的な連続性を、前記３次元仮想空間共有サーバから、３次元共有データの多次元曲面制御点情報を実時間で送受信しあうことによってシームレスかつ共有ユニットの演算性能に応じて表現することを特徴とする。
【００２４】
上記課題を解決するため、本発明の３次元仮想空間情報を共有する通信装置は、複数の３次元仮想空間共有ユニットを用いてネットワークに繋がった複数のユーザが３次元仮想空間を共有する際に、ローカルネットワーク上に繋がった複数のユニットで、３次元仮想空間を共有し、ローカルネットワーク上の複数の再構成可能な共有ユニットの演算負荷を、ローカルネットワーク上のユニット管理サーバで実時間に把握し、複数の共有ユニットのうち演算負荷が高い場合に、その負荷をローカルネットワーク上の複数ユニットのうち、演算負荷の低いユニットに分散し、３次元空間共有データを、ローカルネットワーク上の３次元仮想空間共有サーバで共有し、ローカルネットワーク上の複数ユニットの演算稼動状況を、実時間で管理および集積することを特徴とする。
【００２５】
上記課題を解決するため、本発明の３次元仮想空間情報を共有する通信装置は、ローカルネットワーク上の複数ユニットが、ローカルネットワーク外のネットワーク上の複数ユニットと、３次元仮想空間を共有する際に、前記ユニット管理サーバの上位ユニット管理サーバをローカルネットワーク外のネットワーク上に設け、前記上位のユニット管理サーバで、ネットワーク上の複数ユニットの演算負荷を実時間で把握し、ローカルネットワーク上の複数の再構成可能な共有ユニットの演算負荷を、ローカルネットワーク上のユニット管理サーバで実時間に把握し、前記複数の共有ユニットのうち演算負荷が高い場合に、その負荷を前記ネットワーク上の複数ユニットのうち、演算負荷の低いユニットに分散し、３次元空間共有データを、ネットワーク上の３次元仮想空間共有サーバで共有し、ネットワーク上の複数ユニットの演算稼動状況を、実時間で管理および集積することを特徴とする。
【００２６】
上記課題を解決するため、本発明の３次元仮想空間情報を共有する通信装置は、複数の３次元仮想空間共有ユニットを用いてネットワークに繋がった複数のユーザが３次元仮想空間を共有する際に、前記ユニット管理サーバで管理したネットワーク上の複数ユニットの実時間での演算稼動状況に応じて、予め決められた従量課金率に応じて課金計算することを特徴とする。
【００２７】
上記課題を解決するため、本発明の３次元仮想空間情報を共有する通信装置は、ローカルネットワークあるいはネットワーク上の複数のユニット上のユーザで、前記３次元仮想空間を共有し、その共有状況を前記曲面処理部で演算した結果として複数のユニット上の画面に表示する際に、ローカルネットワーク上の共有状態とそれ以外のネットワーク上の共有状態とを、同一画面上の複数のウインドウ上に併記することを特徴とする。
【００２８】
上記課題を解決するため、本発明の３次元仮想空間情報を共有する通信装置は、ネットワーク上の複数のユニットにおいて、演算の負荷を分散する際に、前記複数ユニット状態管理サーバで、前記複数ユニットの負荷を実時間で管理する際に、それぞれのユニットの時間的あるいは物理的な稼動状況をモニタリングし、それぞれの稼動状況をニューラルネットを用いて重み付けすることで最適な負荷分散、あるいは成長する負荷分散を可能とすることを特徴とする。
【発明の効果】
【００２９】
本発明の３次元仮想空間情報の共有通信装置を用いることで、複数のネットワークに跨る３次元仮想空間の共有、共有される３次元仮想空間の形状表現も自由曲面を用いた滑らかな表現、大規模ネットワーク上の性能の異なる端末の負荷に応じた負荷分散、ネットワーク上の端末同士のシームレスな連携を可能とする。
【発明を実施するための最良の形態】
【００３０】
以下に本発明の実施の形態について、図面を参照しながら説明する。
【００３１】
（実施の形態１）
図１は本発明の実施の形態１における３次元仮想空間情報の共有通信装置の基本構成である。図１において３Ｄ仮想空間共有ユニット１０は、本発明の３次元仮想空間の共有装置を構成する最小単位である。さらに、３Ｄ仮想空間共有ユニット１０は、ネットワークに繋がった他の３Ｄ仮想空間共有ユニット１０、あるいはネットワーク上の複数のサーバとの間で３Ｄ仮想空間共有するための３Ｄ仮想空間共有部１１と、各ユーザが自分の意志に基づいて、あるいは予め定義された自立性を持った操作量に基づいて共有された３Ｄ仮想空間上の物体及び視点情報を変更したり、新規に定義する操作情報入力部１２と、ネットワーク上の複数の３Ｄ仮想空間共有ユニット１０が連携する場合に必要な情報を送受信するユニット連携部１３と、共有された３次元仮想空間情報を曲面形状プリミティブデータから描画に必要な多角形プリミティブデータに変換し、描画処理する曲面処理部１４と、ネットワークに繋がった複数の３Ｄ仮想空間共有ユニット１０の動的または静的な状態を管理するユニット状態管理部１５から構成される。
【００３２】
３Ｄ仮想空間共有部１１は、ネットワークに繋がった他の３Ｄ仮想空間共有ユニット１０と、後述する３Ｄ仮想空間共有サーバとの間で共有する３Ｄ仮想空間の情報を共有する。
【００３３】
図２に基本的な３Ｄ仮想空間共有ユニット２１と３Ｄ仮想空間共有サーバ２３の構成例を示す。ここで共有に必要な情報とは以下のデータから構成される。３Ｄ仮想空間を構成する全ての形状プリミティブデータ、物体を構成する属性データ、光学条件を既定する光学データ、３Ｄ仮想空間内の動きが必要な物体の動きのデータ、これは通常それぞれの物体の重心位置の３次元軌跡情報、あるいはアバターなどを表現する場合は、各関節構造の動き情報（関節角度、関節移動量など）の３次元の時系列データである。通常、前記３Ｄ仮想空間の情報は前述したＶＲＭＬ２．０等の標準フォーマットを用いて定義する（ＶＲＭＬ２．０のフォーマット詳細に関してはＶＲＭＬ２．０仕様書参照：Ｔｈｅ  ＶＲＭＬ  ２．０  Ｈａｎｄｂｏｏｋ）。
【００３４】
操作情報入力部１２は、通常３Ｄ仮想空間共有ユニット１０に接続されたマウスやジョイパッド等（図には不記載）の入力装置からの操作者の入力操作１７に基づいて、それを３Ｄ仮想空間のワールド座標系での３次元座標値の時系列データで表現する。
【００３５】
ユニット連携部１３は、ネットワークに繋がった複数の３Ｄ仮想空間共有ユニット１０同士、あるいは後述の空間共有サーバの間で各３Ｄ仮想空間共有ユニット１０の状態や性能などの情報（性能に関してはプロファイルデータとして予め定義し、定義フォーマットなどはＸＭＬなどを用いる）、さらには３Ｄ仮想空間データ等を通信する。各３Ｄ仮想空間共有ユニット１０同士の通信プロトコルは通常ＴＣＰ／ＩＰなどの汎用プロトコルを用い、その上位のアプリケーションプロトコルとしては、ＳＯＡＰやＸＭＬなどの汎用性の高いアプリケーションフォーマットで通信する。
【００３６】
曲面処理部１４は、３Ｄ仮想空間共有サーバ２３から送信された前述の３Ｄ仮想空間のデータを変換し、３Ｄ仮想空間共有ユニット１０の画面表示１８に表示する。
【００３７】
ここで本発明の３Ｄ仮想空間共有ユニット１０の特徴である曲面描画に関して詳説する。通常の３Ｄ描画システム（ＰＣやゲーム機など）では、表現する３Ｄ仮想空間内の各形状プリミティブはポリゴンと呼ぶ多角形の集合体として定義する。さらに、形状データはＰＣ上のモデリングソフトと呼ばれるツールを使って、３Ｄ仮想空間の制作者が予め作成する。ポリゴンデータは頂点の３次元座標で定義され、描画処理とは、各形状プリミティブのローカル座標系で表された３次元頂点座標に関して、その形状を観察する視点が決った際に、視点位置から見たときの視点座標系に変換する幾何学計算を施す。その後、視点位置から観察したスクリーンと呼ぶ２次元平面へ投影した際のポリゴンの投影後の形状を各頂点間で補間しながら輝度計算を行う。
【００３８】
本発明の３Ｄ仮想空間共有ユニット１０では、表現する３Ｄ仮想空間内の各形状プリミティブを通常のポリゴンで表現せずにパラメトリックな自由曲面で表す。図３に基本的な自由曲面を表す。自動車や航空機、インテリアデザイン分野で滑らかな曲面を表す手法として自由曲面で形状プリミティブを表す手法がある。この手法は、前述のポリゴンと呼ぶ多角形で表す方法に比べ、特に曲面を滑らかに表現するのに向いている。その反面、曲面処理（曲面形状プリミティブから描画ポリゴンプリミティブ変換）に特殊な専用のハードウエアが必要であることからゲーム機などでは実現が難しい。パラメトリック自由曲面は図３のように曲面上に制御点３１とよぶコントロールポイントを定義し、その制御点間をどのように補間するかで、形状を定義する。制御点位置の定義の仕方や、補間の仕方でＮＵＲＢＵＳやベジェなどを曲面が定義されている。
【００３９】
本発明の３Ｄ仮想空間共有ユニット１０の曲面処理部１４では、視点が決った時点で視点情報に応じて最適に曲面プリミティブデータ３１からポリゴンプリミティブデータ３２への変換を行う。図４にその基本概念を示す。３Ｄ仮想空間を構成する各形状プリミティブは３Ｄ仮想空間曲面形状４１で定義されている。操作者４２がこの３Ｄ仮想空間曲面形状４１を観察する視点情報が決ったとき（入力操作１７で指定）、操作者の視線４４が決る。通常、操作者の視線４４は視点位置と画角、視線ベクトルで定義される。曲面処理部１４では、３Ｄ仮想空間曲面形状４１を、操作者が観察するユニット画面４３へ投影処理する。この際、操作者視線４４と３Ｄ仮想空間曲面形状４１の三次元仮想空間内での位置関系に応じてアダプティブに座標変換処理を施す。
【００４０】
ここでアダプティブとは、例えば（条件１）ユニット操作者４２と３Ｄ仮想空間曲面形状４１との３次元空間内での距離、（条件２）操作者視線４４と法線４５のベクトルのなす角度（内積）で決定する。（条件１）の条件でユニット操作者４２と３Ｄ仮想空間曲面形状４１との３次元空間内での距離が、予め決められた閾値を超えていると物体が遠くにあると判断し、３Ｄ仮想空間曲面形状４１をポリゴンに変換する際に粗く分割する。ここで閾値は、操作者の視点座標系での値で、複数の閾値を設けても同等の効果を得ることは言うまでもない。また、（条件２）で、操作者視線４４と法線４５のベクトルのなす角度（内積）がある閾値以上であると、物体の傾きが操作者視線から大きい（大きく傾いている）と判断し、３Ｄ仮想空間曲面形状４１をポリゴンに変換する際に粗く分割する。ここで閾値は、操作者の視点座標系であらわし、複数の閾値を設けても同等の効果を得ることは言うまでもない。上記の条件で３Ｄ仮想空間曲面形状４１を描画の際にリアルタイムでポリゴンプリミティブに変換する仕組みを曲面処理部１４に持たせる。これは、従来の３Ｄ描画端末と異なり、図２に示すネットワーク上の各３Ｄ仮想空間共有ユニット２１の全てにおいて、同一の３Ｄ仮想空間曲面形状４１を観察している場合であっても、各３Ｄ仮想空間共有ユニット２１を操作するユニット操作者４２の観察条件によって、観察条件が変更される毎に曲面処理部１４の処理負荷が異なり、後述する負荷分散処理を施す必要性が生じる点が従来例と異なる本発明の最大のポイントである。以上が本発明の基本的な構成例である。
【００４１】
（実施の形態２）
次に本発明の実施の形態２について説明する。図１に示す基本構成ユニットは通常、図２に示すように、ネットワーク２０上で複数のユニット同士で３Ｄ仮想空間を共有する。この場合、３Ｄ仮想空間共有ユニット２１は単一のユニットとしても機能するが、複数ユニットが集合した３Ｄ仮想空間共有ユニット集合２２としても同等の機能を果たす。この場合、基本の機能は同じであるが処理性能は共有ユニットの集合の数に応じて高くなる。図２の３Ｄ仮想空間共有ユニット集合２２で、各ユニット間の協調処理は、図１に示したユニット連携部１３及びユニット状態管理部１５で、各３Ｄ仮想空間ユニット２１の状態を管理し機能を分散、協調処理する。図２において、各３Ｄ仮想空間共有ユニット２１は有線ＬＡＮを介してネットワーク２０にアクセスしても良いし（図２中実線矢印）、無線ＬＡＮなどの無線システムを通じてネットワーク２０にアクセス（図２中点線矢印）可能なことは言うまでもない。
【００４２】
（実施の形態３）
次に本発明の実施の形態３について説明する。図２に示す３Ｄ仮想空間共有システムにおいて、ネットワーク２０に繋がった３Ｄ仮想空間共有ユニット２１から３Ｄ仮想空間を共有する際に、前述したように共有する３Ｄ仮想空間の必要な情報はネットワーク上の３Ｄ仮想空間共有サーバ２３から各３Ｄ仮想空間共有ユニット２１及び２２に送受信される。ここで、３Ｄ仮想空間共有サーバ２３は通常ＩＤで管理されたネットワーク上の全ての各３Ｄ仮想空間共有ユニット２１及び２２に対して、プッシュ型あるいはプル型で３Ｄ仮想空間の情報を転送する。また、３Ｄ仮想空間共有サーバ２３は、各３Ｄ仮想空間共有ユニット２１及び２２を用いて３Ｄ仮想空間を共有している各ユーザの操作入力（視点の移動や、物体移動、音声など）をネットワーク上の全ての共有している他の各３Ｄ仮想空間共有ユニット２１及び２２に対して送受信することで、３Ｄ仮想空間の共有が実現する。
【００４３】
ここで、３Ｄ仮想空間共有サーバ２３は図５に示すように、階層構造をもったサーバ体系で実現することが可能である。この場合、下位の３Ｄ仮想空間共有サーバ５１は、上位の３Ｄ仮想空間共有サーバ５０によって状態管理される上下の階層管理関係を持たせる。例えば、下位３Ｄ仮想空間共有サーバ５１に管理されるネットワーク２０上の３Ｄ仮想空間共有ユニット２１は、基本的に下位３Ｄ仮想空間共有サーバ５１のみとデータ、情報の共有を行う。上述のような階層構造をもたせることによって、サービス規模、３Ｄ仮想空間の表現規模（例えば、仮想の３Ｄショッピングモールの部屋単位）、仮想空間を共有するユーザの数に応じてシステムを階層化でき、メンテナンスやセキュリティ管理が容易となる。
【００４４】
（実施の形態４）
次に本発明の実施の形態４について説明する。図２に示した３Ｄ仮想空間の共有システムにおいて、ネットワーク２０に繋がった３Ｄ仮想空間共有ユニット２１、２２から３Ｄ仮想空間を共有する際に、３Ｄ仮想空間共有ユニット２１、３Ｄ仮想空間共有ユニット集合２２の演算規模あるいは動的な演算負荷に応じて３Ｄ仮想空間共有サーバ２３から送受信する３Ｄ仮想空間情報を変換し、後述のレベル分けし、各３Ｄ仮想空間共有ユニット２１、２２へレベルに応じた３Ｄ仮想空間情報を送受信する。
【００４５】
具体的には、（条件３）予めネットワーク２０上の３Ｄ仮想空間共有ユニット２１、２２について機器性能などを機器プロファイルとして定義する。通常機器性能とは、３Ｄ仮想空間共有ユニット１０の集合ユニット数、曲面処理部１４の演算性能、３Ｄ仮想空間共有ユニット１０の基本演算性能（ＣＰＵ、メモリサイズ、基本バス性能など）、画面表示性能（解像度、諧調数など）に応じて、３Ｄ仮想空間共有サーバ２３あるいは、ネットワーク２０上の他の余剰の３Ｄ仮想空間共有ユニット２１、２２で後述する代替演算処理を施し、その処理結果のみを３Ｄ仮想空間共有ユニット２１、２２に送受信する。
【００４６】
あるいは、（条件４）ネットワーク２０上の３Ｄ仮想空間共有ユニット２１、２２の静的な性能が判明している場合でも、ネットワーク２０上の３Ｄ仮想空間共有に必要な３Ｄ仮想空間共有ユニット２１、２２の動的な処理性能の変動、例えば、任意の３Ｄ仮想空間共有ユニット１０に関して、３Ｄ仮想空間共有に必要な処理以外の処理の負荷が重い場合、ネットワーク２０との回線の混雑度などに応じて、３Ｄ仮想空間共有サーバ２３あるいは、ネットワーク２０上の他の余剰の３Ｄ仮想空間共有ユニット２１、２２で後述する代替演算処理を施し、その処理結果のみを３Ｄ仮想空間共有ユニット２１、２２に送受信する。
【００４７】
次に、前述の３Ｄ仮想空間共有サーバ２３あるいは、ネットワーク２０上の他の余剰の３Ｄ仮想空間共有ユニット２１、２２での代替演算処理について説明する。通常の３Ｄ仮想空間共有系では、実施の形態１で述べたように、ネットワーク２０に繋がった３Ｄ仮想空間共有サーバ２３から、３Ｄ仮想空間共有に必要な共有情報を各３Ｄ仮想空間共有ユニット２１、２２に送受信する。本発明の３Ｄ仮想空間共有系では、共有情報のうちの形状プリミティブに関するデータは前述の曲面の制御点関連情報として送受信するが、前述の（条件３）や（条件４）に基づいて、ネットワーク２０上の各３Ｄ仮想空間共有ユニット２１、２２の性能や動的な負荷状態に応じて、３Ｄ仮想空間共有サーバ２３やネットワーク２０に繋がった３Ｄ仮想空間共有ユニット２１、２２のうちで、３Ｄ仮想空間を共有する必要がない余剰のユニットを用いて以下の演算を施した後、各３Ｄ仮想空間共有ユニット２１、２２に送受信する。１）多次元曲面プリミティブの制御点を補間した制御点データ、２）多次元曲面プリミティブの制御点データをポリゴンプリミティブに変換した頂点データ、３）あるいは多次元曲面プリミティブをポリゴンプリミティブに変換し２次元投影面に投影したプリミティブ２次元投影データに変換したデータの３段階の演算処理である。基本的に１）＞２）＞３）の順で代替処理された３Ｄ仮想空間共有ユニット２１、２２側での後の演算量は少なくてよい。
【００４８】
（実施の形態５）
次に本発明の実施の形態５について説明する。図２に示す３Ｄ仮想空間共有系において、ネットワーク２０に繋がった各３Ｄ仮想空間共有ユニット２１、２２の負荷分散、協調の仕組みについて説明する。
【００４９】
実施の形態１で述べたように、図２に示すネットワーク２０上の各３Ｄ仮想空間共有ユニット２１、２２において、同一の３Ｄ仮想空間曲面形状５１を観察している場合であっても、各３Ｄ仮想空間共有ユニット２１を操作するユニット操作者４２の観察条件によって、その都度曲面処理部１４の処理負荷が異なり、後述する負荷分散を施す必要性が生じる点が従来例と異なる本発明の最大のポイントである。従って、本発明では、図２に示す３Ｄ仮想空間系での３Ｄ仮想空間共有ユニットに対する前述の性能面での静的な負荷分散処理や、前述の操作者の視点操作や演算負荷変動あるいはネットワークの状態に応じた動的な負荷分散処理、さらには協調処理が重要となる。その基本的な仕組みを図６に示す。
【００５０】
図６に示すようにネットワーク６０に繋がった各３Ｄ仮想空間共有ユニット６１および３Ｄ仮想空間共有ユニット集合６２、３Ｄ仮想空間共有サーバ６４（これらは図２と同一構成）、以外にネットワーク６０上の各３Ｄ仮想空間共有ユニット６１および３Ｄ仮想空間共有ユニット集合６２の負荷状態を管理する複数ユニット状態管理サーバ６３を設ける。この複数ユニット状態管理サーバ６３は、ネットワーク６０上の各３Ｄ仮想空間共有ユニット６１および３Ｄ仮想空間共有ユニット集合６２のユニット連携部１３およびユニット状態管理部１５と連携し、各ユニットの負荷状態を管理する。
【００５１】
図７に一般的な３Ｄ仮想空間共有ユニット（ＩＤ＝Ｎ：Ｎはネットワーク上の共有ユニット数）の動的な負荷変動例を示す。図６の複数ユニット状態管理サーバ６３ではネットワーク６０上の各３Ｄ仮想空間共有ユニット６１および３Ｄ仮想空間共有ユニット集合６２の図７に示すような動的な負荷状態を微小時間Δｔ７３毎にユニット連携部１３およびユニット状態管理部１５を介して管理し、任意の各３Ｄ仮想空間共有ユニット６１、６２の動的な負荷状態が、予め決められた負荷閾値７４を超えた範囲をその各３Ｄ仮想空間共有ユニット６１、６２が負荷大と見なし、その処理をネットワーク６０上の他のサーバか、あるいは他の動的な負荷の少ない各３Ｄ仮想空間共有ユニット６１および３Ｄ仮想空間共有ユニット集合６２に、処理指示をユニット連携部１３経由で送信する。この際、処理を指示されたネットワーク６０上の他のサーバか、あるいは他の動的負荷の少ない各３Ｄ仮想空間共有ユニット６１および３Ｄ仮想空間共有ユニット集合６２に対して、ネットワーク６０上の３Ｄ仮想空間共有サーバ６４は必要な共有情報を同時に送受信する。
【００５２】
上記の系で、複数ユニット状態管理サーバ６３は、実施の形態３で述べた図５に示す３Ｄ仮想空間共有サーバの場合と同様に、必要に応じて階層構造で実現しても良いことは言うまでもない。
【００５３】
また。上記の例ではネットワーク６０上の各３Ｄ仮想空間共有ユニット６１および３Ｄ仮想空間共有ユニット集合６２の動的負荷管理をネットワーク上の複数ユニット管理サーバ６３で集中管理する例を示したが、図６に示すように、ネットワーク６０上の各３Ｄ仮想空間共有ユニット６１および３Ｄ仮想空間共有ユニット集合６２同士が、各ユニット連携部１３及びユニット状態管理部１５を介して動的に負荷分散、協調処理の指示をユニット状態ブロードキャスト６５することで実現しても良い。
【００５４】
（実施の形態６）
次に本発明の実施の形態６について説明する。図２に示す３Ｄ仮想空間共有系において、３Ｄ仮想空間共有の主な目的は情報交換にある。例えば、あるＷｅｂ上のサイトにアクセスすると、３次元のショッピングサイトや対戦ゲームサイトがあり、ユーザは３Ｄ仮想空間共有ユニット１０を用いて他のユーザとの間でチャットなどをしながら情報交換する。
【００５５】
その際、従来のＴＶ電話のように自分の顔映像をもとに他のユーザと情報交換する以外に、自分の化身（アバター）を用いて情報交換する手法がある。特に本発明のような３Ｄ仮想空間共有系では、３Ｄアバターを用いて情報交換する方が効果が大きい（臨場感、匿名性など）。以下にアバターを用いた３Ｄ仮想空間共有例について説明する。
【００５６】
図２に示した本発明の３Ｄ仮想空間共有系では、３Ｄアバターの情報（主に形状データと動作情報）も実施の形態１で説明したように図２の３Ｄ仮想空間共有サーバ２３を用いて曲面情報レベルで送受信することで実現できる。この場合、本発明の３Ｄ仮想空間共有系では、臨場感を伴ったリアルな３Ｄアバターによる３Ｄ仮想空間共有を目的としているため、３Ｄアバターの形状は３次元の骨格構造で定義し、動作情報は前述の骨格情報の各関節角度と移動量で表す（詳細は特開平１０−４０４１８号公報参照）。さらに上述の骨格構造に基づくスキン（皮膚や表情など）は本発明の曲面プリミティブ処理の仕組みを用いることで、臨場感が表現できる。つまり通常のゲームソフトのように３Ｄアバターの形状プリミティブをポリゴンで表さずに曲面の制御点で表現する。そのため、本発明の３Ｄ仮想空間共有系では図１の曲面処理部１４のような専用の処理系と前述の実施の形態で述べたような空間共有の仕組みと負荷分散および協調の仕組みが必須となる。
【００５７】
図８に示すネットワーク８０に繋がった３Ｄ仮想空間共有ユニット８１及び３Ｄ仮想空間共有ユニット集合８２において、表情などの臨場感を有する３Ｄアバターを再現する方法について以下に説明する。
【００５８】
一般に３ＤＣＧの分野で、３Ｄアバターの表情、感情を表現するには、目や口の動き以外に、手や指にいたるきめ細かな動き（身振りや手振りも含む）、さらには皺の動きや、衣服の靡きといった情報を再現する必要がある。通常これを実現するには、まず、形状データを細かく（多数のポリゴン）表現し、それぞれのポリゴンに対して物理シミュレーションを施す必要があるが、現状のゲーム機やＰＣなどの計算機環境では演算量の点で問題があり、大規模な３Ｄ仮想空間になればなるほど実現が困難である。そこで本発明では、１）３Ｄアバターなどを構成するプリミティブを自由曲面で表現する。２）図２に示すようにネットワーク２０に繋がった複数の３Ｄ仮想空間共有ユニット２０および３Ｄ仮想空間共有ユニット集合２２、さらに３Ｄ仮想空間共有サーバ２３で動的な分散、協調処理することで解決することを目的とする。
【００５９】
図８で、３Ｄ仮想空間内の３Ｄアバターの細かな表情を再現する場合、３Ｄアバターの顔を構成するプリミティブの曲面制御点のうち、顔の皺の動きなどの演算処理をネットワーク８０に繋がった感情演算サーバ８３に分担させる。この際、ネットワーク８０上を送受信されるデータは顔プリミティブの制御点の情報とプリミティブ間の連携度、顔を構成する骨格構造の関節情報等で、データの転送先や分担処理はネットワーク上の３Ｄ仮想空間共有サーバ（図中不記載）と複数ユニット状態管理サーバ（図中不記載）で管理する。感情演算サーバ８３では、３Ｄアバターの表情演算を顔を構成する曲面プリミティブの制御点情報についてのみ演算し、計算の結果は、各プリミティブの制御点の時系列の３次元情報として、３Ｄ仮想空間共有サーバ及び複数ユニット状態管理サーバからの指示に基づき、ネットワーク８０上の各３Ｄ仮想空間共有ユニット８１及び３Ｄ仮想空間共有ユニット集合８２に、各３Ｄ仮想空間共有ユニット１０のユニット連携部１３及びユニット状態管理部１５を介して送受信される。さらに演算結果は、曲面処理部１４で時間ごとの顔を構成する曲面プリミティブの動的な変形処理で再現される。
【００６０】
３Ｄアバターの表情再現における動的な負荷分散の仕組みは、実施の形態５で述べた負荷分散の仕組みと同等である。
【００６１】
（実施の形態７）
次に本発明の実施の形態７について説明する。操作情報入力部でネットワーク上の複数のユニットの演算性能に応じて、操作者の操作入力の精度を変換し、３次元仮想空間を共有するネットワーク上の全てのユニットで、ユニットの性能に応じた入力操作を実現する例について説明する。
【００６２】
図２に示す本発明の３Ｄ仮想空間共有系において、実施の形態１、２で述べたように、３Ｄ仮想空間共有ユニット１０は、３Ｄ仮想空間共有ユニット２１および３Ｄ仮想空間共有ユニット集合２２に示すように再構成が可能である。従ってユニットの数や動的な負荷状態に応じて性能に変動があることは上述した。
【００６３】
一方、図２の３Ｄ仮想空間共有ユニット２１、２２には、必要に応じて操作者の入力操作１７によって３Ｄ仮想空間を操作するが、入力操作１７は、通常マウスパッド、ジョグダイヤル、テンキーなど３Ｄ仮想空間ユニットによってユーザによる選択が可能である。従って入力操作１７は、前述の入力デバイスやネットワーク２０上の３Ｄ仮想空間共有ユニット２１、２２の性能に従って操作情報入力部１２で変換する必要がある。つまり、入力操作１７が３Ｄ座標系列で細かく指定しても、任意の３Ｄ仮想空間共有ユニット１０の画面表示１８の性能、例えば、表示解像度や演算速度（動画表示フレームレイト等）を超えた精度の値を指定しても再現ができないばかりか、操作レスポンスの悪さをユーザに与える。そこで、前述の３Ｄ仮想空間共有ユニット１０の画面表示１８の性能に応じて、操作情報入力部１２で、入力操作１７を３Ｄ座標系列を線型補間やスプライン補間などで間引く処理を施す。これによって、任意の３Ｄ仮想空間共有ユニット１０のユニット数や操作入力デバイスの精度に関係なく統一操作が可能となる。
【００６４】
（実施の形態８）
次に本発明の実施の形態８について説明する。実施の形態１および２で説明した本発明の基本的な実施の形態を用いて、複数のローカルネットワークに跨る複数の３Ｄ仮想空間共有ユニット１０同士での機器間の連携について説明する。
【００６５】
図９に基本的な３Ｄ仮想空間共有ユニット１０を用いた機器間連携を示す。図９では、宅内ユニット９９（複数の３Ｄ仮想空間共有ユニット１０の集合）と宅外ユニット９８（複数の３Ｄ仮想空間共有ユニット１０の集合）が連携する場合の例である。通常、宅内ユニット９９は大規模の３Ｄ仮想空間共有ユニット１０の集合で構成され、演算性能、表示性能ともに高性能である。一方、宅外ユニット９８は、モバイル用途の端末で通常、宅内ユニット９９と比較すると演算性能、表示性能ともに低い。図９に示したネットワーク上の仮想空間共有サーバ群９１、仮想空間ＤＢサーバ群９２によって、宅内ユニット９９と宅外ユニット９８の間で３Ｄ仮想空間の共有が実現できる（基本のメカニズムは実施の形態１および２で説明済み）。
【００６６】
さらにこの系で機器連携９７とは、例えば屋外で宅外ユニット９８を使って３Ｄ仮想空間共有操作していたある操作者が、宅内に入ると、その３Ｄ仮想空間の共有の続きを宅内ユニット９９でシームレスに共有可能になる。ここで、３Ｄ仮想空間共有の続きとは、操作イベント９４を仮想空間共有サーバ９１が集約し、宅内ユニット９９に送受信する。同時に３Ｄ仮想空間の情報を双方で送受信することで実現される。この場合、ネットワーク上をやり取りされる共有情報は、基本的に曲面の制御点情報である。
【００６７】
機器連携９７は、前述の宅内と宅外での連携以外に、物理的に大きな距離を隔てた別のネットワーク９６上の機器とも上位サーバ群９３を解して連携できることは言うまでもない。
【００６８】
（実施の形態９）
次に本発明の実施の形態９について説明する。実施の形態１および２で説明した本発明の基本的な実施の形態を用いて、ローカルネットワーク上の複数の再構成可能な共有ユニットの動的な演算負荷を、ローカルネットワーク上のユニット管理サーバが実時間で把握し、複数の共有ユニットのうち動的な演算負荷が高い場合に、その負荷をローカルネットワーク上の複数ユニットの内、動的な演算負荷の低いユニットに分散し、同時に３次元空間共有データを、ローカルネットワーク上の３次元仮想空間共有サーバで共有し、ローカルネットワーク上の複数ユニットの演算稼動状況を実時間で管理および集積する実施の形態について説明する。
【００６９】
図１０に基本的な構成例を示す。図１０では、例えば宅内のＬＡＮに繋がった複数の３Ｄ仮想空間共有ユニット１０、例えばＤＴＶ／ＰＤＰ（プラズマＴＶ）１０６、冷蔵庫１０７、ホームサーバ１０９あるいは車載サーバ１１０を例にあげる。一般に電力供給量や物理的スペース的に余力のある冷蔵庫１０７やホームサーバ１０９などは３Ｄ仮想空間共有ユニット１０の集合の規模が大きく大画面高画質、大計算力、大メモリである。一方、モバイル系の車載サーバ１１０などは、３Ｄ仮想空間共有ユニット１０の集合の数は前述のものと比較すると小さく、小画面低画質、小計算力、小メモリである。これらのＬＡＮ上の機器は、宅内サーバ群１０１で管理されている。さらに宅内サーバ群１０１はユニット管理サーバ群１０２と３Ｄ仮想空間共有サーバ群１０３から成る。上述の各機器の性能は機器プロファイルなどで予め定義されており、この情報が静的な３Ｄ仮想空間共有ユニット１０の集合の性能である。
【００７０】
次に図１０の系で宅内の各ユーザが各ユニット群を用いて３Ｄ仮想空間を共有した場合、各ユニットの動的な負荷は変動する。負荷の変動要因としては、例えば各３Ｄ仮想空間共有ユニット１０の３Ｄ仮想空間共有処理以外の演算の負荷やネットワークのトラフィックなどが考えられる。図１０のユニット管理サーバ群１０２は、ＬＡＮ上の３Ｄ仮想空間共有ユニット１０の集合（総数をＮとする）の全ての各３Ｄ仮想空間共有ユニット１０に関して動的な負荷変動を集中管理する。その動的な負荷変動は図７に示した通りで、予め決められた閾値を超えるとある微小期間Δｔでは、ＬＡＮ上の他の負荷の低い各３Ｄ仮想空間共有ユニット１０に処理を分散する。さらに、ユニット管理サーバ群１０２ではトータル時間（例えば１日や１週間単位）内で、各３Ｄ仮想空間共有ユニット１０がトータルでどの程度稼動したかの積算時間も管理する。
【００７１】
上述の宅内ＬＡＮでの３Ｄ仮想空間の共有状態はさらに上位サーバ群１０４で同等の情報を管理することで、宅外のＬＡＮと繋がった各３Ｄ仮想空間共有ユニット１０の積算稼働時間を管理できる。この値を用いることで、余剰の演算能力を時間貸ししたり、その分を課金処理することも可能である。課金の仕組みに関しては従来のインターネットなどのネットワーク上での課金処理と同等なので説明を省略する。また、一般に前述のネットワークを介した演算能力の時間貸し処理などでは、必要な空間共有ユニット１０同士、或いは共有サーバ間で処理に先立ち認証処理が必要である。
【００７２】
（実施の形態１０）
次に本発明の実施の形態１０について説明する。実施の形態１および２で説明した本発明の基本的な実施の形態を用いて、ＬＡＮあるいはネットワーク上の複数のユニット上のユーザで３次元仮想空間を共有し、その共有状況を曲面処理部で演算した結果として、複数のユニット上の画面に表示する際に、ＬＡＮ上の共有状態とそれ以外のネットワーク上の共有状態とを、同一画面上の複数のウインドウ上に併記する例について説明する。
【００７３】
図１０において、ＬＡＮ上の各３Ｄ仮想空間共有ユニット１０の３Ｄ仮想空間共有状態をＧＵＩ（グラフィカルユーザインターフェース）として、例えば、ＤＴＶ／ＰＤＰ（プラズマディスプレイ）１０６などの大画面にＧＵＩ表示する際に、マルチ画面で表示し、例えば宅内ユーザの間での３Ｄ仮想空間共有情報は宅内用ＧＵＩ１１２に表示し、宅外の各３Ｄ仮想空間共有ユニット１０との共有状態は宅外用ＧＵＩ１１１に表示することで、両者の状態が併記可能である。
【００７４】
（実施の形態１１）
次に本発明の実施の形態１１について説明する。実施の形態１および２で説明した本発明の基本的な実施の形態において、図２に示したネットワーク２０に繋がった複数の３Ｄ仮想空間共有ユニット１０の動的な負荷を実時間で管理する際に、それぞれのユニットの時間的あるいは物理的な稼動状況をモニタリングし、それぞれの稼動状況をニューラルネット（図示しない）を用いて重み付けする。動的負荷の管理メカニズムは実施の形態５で説明したが、図６の複数ユニット状態管理サーバ６３で各ユニットの稼動状態を管理する場合、ニューラルネットの各ノードを、ネットワーク上の各３Ｄ仮想空間共有ユニット１０に対応付け、さらにニューラルネット間の重み係数を複数ユニット状態管理サーバ６３からの指示に基づいて動的に負荷分散された各３Ｄ仮想空間共有ユニット１０の稼動実績を対応付ける。上述の機構により、ニューラルネットの基本操作により、図２の３Ｄ仮想空間共有系において、使っていくうちに学習効果による最適あるいは成長する自律的な負荷分散が可能となる。
【産業上の利用可能性】
【００７５】
本発明の３次元仮想空間情報の共有通信装置を用いることで、複数のネットワークに跨る３次元仮想空間の共有、共有される３次元仮想空間の形状表現も自由曲面を用いた滑らかな表現、大規模ネットワーク上の性能の異なる端末の負荷に応じた負荷分散、ネットワーク上の端末同士のシームレスな連携が可能なり、その産業上の利用可能性は非常に広く且つ大きい。
【図面の簡単な説明】
【００７６】
【図１】本発明の実施の形態１における３Ｄ仮想空間共有ユニットの基本構成図
【図２】本発明の実施の形態１、２におけるネットワーク上の３Ｄ仮想空間共有の基本構成図
【図３】本発明の実施の形態１、２における自由曲面形状の基本構成図
【図４】本発明の実施の形態１、２における操作者の視点情報と自由曲面の関係を表す基本構成図
【図５】本発明の実施の形態３における３Ｄ仮想空間共有サーバの階層的な構成図
【図６】本発明の実施の形態４、５におけるネットワーク上の３Ｄ仮想空間共有ユニットの負荷分散の基本構成図
【図７】本発明の実施の形態４、５におけるネットワーク上の３Ｄ仮想空間共有ユニット（ＩＤ＝Ｎ）の動的な負荷変動の図
【図８】本発明の実施の形態６におけるアバターの表情管理系の基本構成図
【図９】本発明の実施の形態７、８、９、１０における宅内外の機器連携における基本構成図
【図１０】本発明の実施の形態７、８、９、１０、１１における宅内外の機器連携および負荷分散における基本構成図
【符号の説明】
【００７７】
１１    ３Ｄ仮想空間共有部
１２    操作情報入力部
１３    ユニット連携部
１４    曲面処理部
１５    ユニット状態管理部
１６    ユニット連携
１７    入力操作
１８    画面表示
２０    ネットワーク
２１    ３Ｄ仮想空間共有ユニット
２２    ３Ｄ仮想空間共有ユニット集合
２３    ３Ｄ仮想空間共有サーバ
３１    曲面制御点
３２    ポリゴン
４１    ３Ｄ仮想空間曲面形状
４２    ユニット操作者
４３    ユニット画面
４４    操作者視線
４５    法線
５０    上位３Ｄ仮想空間共有サーバ
５１    下位３Ｄ仮想空間共有サーバ
６０    ネットワーク
６１    ３Ｄ仮想空間共有ユニット
６２    ３Ｄ仮想空間共有ユニット集合
６３    複数ユニット状態管理サーバ
６４    ３Ｄ仮想空間共有サーバ
７１    時間軸
７２    負荷量
７３    微小時間Δｔ
７４    負荷閾値
８０    ネットワーク
８１    ３Ｄ仮想空間共有ユニット
８２    ３Ｄ仮想空間共有ユニット集合
８３    感情演算サーバ
９１    仮想空間共有サーバ
９２    仮想空間ＤＢサーバ
９３    上位サーバ群
９４    操作イベント
９５    操作イベント/データ配信
９６    ネットワーク
９７    機器連携
９８    宅外ユニット
９９    宅内ユニット
１０１    宅内サーバ群
１０２    ユニット管理サーバ
１０３    ３Ｄ仮想空間共有サーバ群
１０４    上位サーバ群
１０５    センサーユニット
１０６    ユニット群
１０７    ユニット群
１０８    ユニット群
１０９    ユニット群
１１０    ユニット群
１１１    宅外用ＧＵＩ
１１２    宅内用ＳＵＩ
【図１】
2005050081.tif 000003
【図２】
2005050081.tif 000004
【図３】
2005050081.tif 000005
【図４】
2005050081.tif 000006
【図５】
2005050081.tif 000007
【図６】
2005050081.tif 000008
【図７】
2005050081.tif 000009
【図８】
2005050081.tif 000010
【図９】
2005050081.tif 000011
【図１０】
2005050081.tif 000012