JPH10255069A - 画像処理システム - Google Patents

画像処理システム

Info

Publication number
JPH10255069A
JPH10255069A JP9054782A JP5478297A JPH10255069A JP H10255069 A JPH10255069 A JP H10255069A JP 9054782 A JP9054782 A JP 9054782A JP 5478297 A JP5478297 A JP 5478297A JP H10255069 A JPH10255069 A JP H10255069A
Authority
JP
Japan
Prior art keywords
description
data
terminal
user
tree
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP9054782A
Other languages
English (en)
Inventor
Atsushi Kumagai
篤 熊谷
Shinji Uchiyama
晋二 内山
Akihiro Katayama
昭宏 片山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP9054782A priority Critical patent/JPH10255069A/ja
Priority to US09/038,685 priority patent/US6151028A/en
Priority to EP98301767A priority patent/EP0865001B1/en
Priority to DE69819950T priority patent/DE69819950T2/de
Publication of JPH10255069A publication Critical patent/JPH10255069A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

(57)【要約】 【課題】 単純な形状データだけではなく、形状が非常
に複雑な物体を含む仮想環境を、複数の利用者で共有す
ることができるようにする。 【解決手段】 端末装置103は、形状データと光線空間
データ等を構成要素とする木構造のデータに基づいて、
該端末装置103のユーザーから見た場合の仮想環境を表
示して、木構造のデータをサーバ102に送信し、サーバ1
02は、受信したデータをデータ記憶装置101に格納して
から端末装置104に送信し、端末装置104は、受信した木
構造のデータに基づいて、端末装置104のユーザーから
見た場合の仮想環境を表示する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、バーチャルリアリ
ティのための仮想環境を生成し、複数の利用者間で、生
成された仮想環境を共有する画像処理システムに関する
ものである。
【0002】
【従来の技術】従来、3次元物体や空間を表現し、任意
の位置・向きからの観察画像を提示する手法として、 (1)ポリゴンデータや曲面データなどの形状モデルデー
タ、その表面属性や模様を表すテクスチャデータ、光源
データなどによって、3次元物体や空間を表現し、コン
ピュータグラフィクスのレンダリング技術により任意の
位置向きでの空間の見え方を画面に描画することによっ
て、3次元空間や物体を再現する方法があった。
【0003】この方法により3次元の仮想環境を構築す
る際に、仮想環境を構成する要素(座標変換データ、形
状データ、表面属性データ、照明など)を木構造により
表現する方法があった。これは、3次元空間を構成する
空間、地面、建物、部屋、家具、照明、置物などは、そ
れぞれもともと階層的な入れ子関係にあると考えられる
ためである。例えば、机の上の置物は、机の配置ととも
に動くように、机の配置に依存する関係にあり、机の存
在する座標系から相対的に配置したほうが都合がよい場
合が多い。そのため、階層的に配置に依存関係のあるデ
ータ構造をとる。その方法として、仮想環境をn分木構
造によって表現する。
【0004】例えば、図42は、ある簡単な仮想環境の
例のイメージ図である。この図の場合、空間中の部屋、
机、ソファに注目すると、世界座標系C0から、座標変換
T2で変換された座標系C2上に部屋が記述され、その部屋
の中の机やソファは、それぞれ座標変換T3、T4によって
座標系C2から変換される座標系C3、C4上で記述されてい
る。そして、机の上の壷は、座標系C3から座標変換T5に
よって変換される座標系C5上で記述されている。さら
に、机の上に、光線空間データを配置している。これ
は、壷と同様に座標系C3から座標変換T6によって変換さ
れる座標系C6上で記述されている。これを、模式的な木
構造で表現すると図43に示す木となる。
【0005】(2)3次元物体や空間の実写の画像群を基
にして光線空間データを生成し、その光線空間データか
ら、任意の位置・向きから見える画像を生成し、提示す
ることによって3次元物体や空間を再現する方法があっ
た。
【0006】また、複数の利用者間で協調作業を行うた
めの方法として、 (3)複数の利用者が共有しているデータを記憶しておく
データ記憶装置と、データ記憶装置に対する処理を管理
するためのサーバ装置102とを設け、各利用者がサーバ
装置102と通信を行って、データ記憶装置内のデータを
参照したり変更したりする、もしくは、各利用者間でデ
ータ記憶装置内のデータの変更に関する通信を直接行う
ことで、お互いの持つデータを同一の状態に保つ方法が
あった。
【0007】さらに、協調作業を行う方法(3)と、仮想
環境を表現する方法(1)とを利用して、 (4)複数の利用者間で、幾何学的形状データからなる仮
想環境の状態を同一に保つことによって、仮想環境を共
有する方法があった。
【0008】
【発明が解決しようとする課題】しかしながら、上述し
た従来技術(1)〜(4)では、以下のような問題点があっ
た。
【0009】まず、従来技術(1)の方法は、形状が非常
に複雑な物体に対してその形状データを生成する、ある
いは再現することが困難であるという問題があった。さ
らに、形状が複雑な物体の形状データを実物体から3次
元計測装置を用いて獲得することも困難であるという問
題があった。特に、既にある複雑な形状や、複雑な表面
の模様・反射特性(吸収透過特性)をもつような実物体
を再現することは、より困難である。さらに言えば一般
に人工物は表現しやすいが、自然物の表現が難しい。し
かし、部屋や街並みと言った人工的な単純な主に平面か
ら構成される3次元空間を表現することが、比較的少な
いデータ量で行いやすいという長所を持っている。ま
た、木構造によって仮想環境を表現する方法も、優れた
方法であるといえる。
【0010】また、従来技術(2)では、ある量の撮影画
像から光線空間データを生成してしまえば、後は任意視
点(正確には拘束条件がある)位置からの観察画像を生
成可能である。これは、対象の形状を復元せずに、対象
そのものの撮影画像を基に記述する方法であるため、対
象を写実性高く表現することのできる優れた記述方法で
ある。しかし、データ量が多く必要である、対象が広い
範囲である場合、撮影が困難である等の観点から、どち
らかというと広い空間を記述することよりも3次元物体
を記述することに向いている手法であって、部屋や街並
みのような3次元空間を表現するには向いていないとい
う問題があった。
【0011】また、従来技術(1)と従来技術(2)は、それ
ぞれ異なった特徴を持っているが、これまでは、従来技
術(4)において、従来技術(3)と組み合わされて共有仮想
空間を実現するために用いられてきた技術は、従来技術
(1)のみであった。そのため、従来技術(4)によって実現
される共有仮想環境は、従来技術(1)の特徴を持つこと
になってしまい、自然物などの、形状が非常に複雑な物
体を含むことができない仮想環境になってしまってい
た。
【0012】
【課題を解決するための手段】上記問題を解決するため
に、本発明に係る画像処理システムは、サーバと、該サ
ーバに接続された複数の端末とからなる画像処理システ
ムであって、第1の端末は、3次元的な位置と3次元的
な向きと表面属性とを含む記述情報に基づいて、3次元
物体の形状や3次元空間の形状を記述する第1の記述手
段と、任意の視点からの3次元物体と3次元空間の見え
方に従って、実写画像に基づいて、該3次元物体と該3
次元空間を記述する第2の記述手段と、前記第1の記述手
段と前記第2の記述手段による記述内容を構成要素とす
る木構造のデータを記憶する第1の記憶手段と、前記第
1の記憶手段に記憶された木構造のデータに基づいて、
仮想3次元空間の第1の位置から第1の方向を見た場合
の、前記第1の記述手段と前記第2の記述手段による記述
内容を表示する第1の表示手段と、前記第1の記憶手段
に記憶された木構造のデータを、前記サーバに送信する
第1の送信手段とを有し、前記サーバは、前記第1の送
信手段により送信されたデータを受信する第1の受信手
段と、前記第1の受信手段により受信されたデータを記
憶する第2の記憶手段と、前記記憶手段に記憶されたデ
ータを、前記サーバに接続されている端末に送信する第
2の送信手段とを有し、第2の端末は、前記第2の送信
手段により送信されたデータを受信する第2の受信手段
と、前記第2の受信手段により受信されたデータを記憶
する第3の記憶手段と、前記第3の記憶手段に記憶され
た木構造のデータに基づいて、仮想3次元空間の第2の
位置から第2の方向を見た場合の、前記第1の記述手段
と前記第2の記述手段による記述内容を表示する第2の
表示手段とを設けた。
【0013】また好ましくは、前記第1の端末は、前記
第1の記憶手段に記憶された木構造のデータの構成要素
の少なくとも一部に処理を施す処理手段と、前記処理手
段による処理の内容に基づいて、前記第1の記憶手段に
記憶された木構造のデータを変更する変更手段とを更に
有し、前記第1の端末において、前記第1の送信手段
は、前記変更手段により変更された木構造のデータを、
前記サーバに送信し、前記第2の端末において、前記第
2の表示手段は、前記変更手段により変更された木構造
のデータに基づいて、仮想3次元空間の第2の位置から
第2の方向を見た場合の、前記第1の記述手段と前記第2
の記述手段による記述内容を表示する。
【0014】
【発明の実施の形態】
(実施形態1)図1に、実施形態1における共有仮想環
境生成システムのブロック図を示す。
【0015】101は、共有仮想環境の状態を示すデータ
を保持するデータ記憶装置である。102は、共有仮想環
境の状態を示すデータの変更を管理するサーバ装置102
である。データ記憶装置101の内容は、サーバ装置102か
らの指示によってのみ、変更することができる。103か
ら105は、本実施形態1において利用者に共有仮想環境
の状態を表示し、共有仮想環境の状態を示すデータを変
更する指示をサーバ装置102に対して送信するためのイ
ンターフェース装置を備えた端末装置である。
【0016】なお、本実施形態1においては、データ記
憶装置101はサーバ装置102内にあるものとするが、サー
バ装置102及び端末装置103〜105が接続されているネッ
トワーク上であれば、どこに存在していても構わない。
【0017】図2に、データ記憶装置101内のデータ構
成を示す。
【0018】201は、初期ツリー状態を示す情報であ
り、共有仮想環境の初期状態を示すデータが、サーバ装
置102の起動時に格納される。202から204は、共有仮想
環境内に存在する物体の情報を含むオブジェクトレコー
ドである。オブジェクトレコード202は、オブジェクト
の番号を示すオブジェクト番号202a、オブジェクトをロ
ックしているユーザーの番号を示すロックユーザー番号
202bと、オブジェクトの世界座標系での位置や方向、ま
たは共有仮想環境を構成するツリーの中での位置や方向
を示す位置データ202c1、オブジェクトの幾何学的な形
状を示す形状データ202c2、オブジェクトの表面の反射
係数などを示す表面属性データ202c3、オブジェクトの
光線空間データ202c4などのデータを含む属性フィール
ド202cから構成される。オブジェクトレコード203、204
も同じくオブジェクト番号、ロックユーザー番号、属性
フィールドから構成される。
【0019】205は、最大オブジェクトレコード値であ
り、データ記憶装置101内に存在するオブジェクトレコ
ードのうち、最大のオブジェクト番号が記憶される。
【0020】206から208は、仮想環境を共有しているユ
ーザーの情報を含むユーザーレコードである。ユーザー
レコード206は、ユーザーの番号を示すユーザー番号206
a、ユーザーが状態を保持する最新のオブジェクトを示
す最新オブジェクト番号206b、ユーザーが状態を保持す
る最新のユーザーを示す最新ユーザー番号206c、ユーザ
ーの視点の位置や方向などの状態を示す属性フィールド
206dから構成される。オブジェクトレコード207、208も
同じく、ユーザー番号、最新オブジェクト番号、最新ユ
ーザー番号、属性フィールドから構成される。
【0021】209は、最大ユーザーレコード値であり、
データ記憶装置101内に存在するユーザーレコードのう
ち、最大のユーザー番号が記憶される。
【0022】図3に、サーバ装置102の内部構成を示
す。
【0023】303は、処理手順を実行するCPUであ
り、304は、処理手順を記録しておく処理プログラム記
憶装置である。305は、端末装置から送信されてきたコ
マンドを一時記憶しておくための先入れ先出しのコマン
ドバッファである。306は、端末装置からのコマンドを
受信したり、端末へのデータ送信を行うために用いられ
るインターフェース装置である。また、307は、上述の
各部を接続するためのバスである。
【0024】図4に、コマンドバッファ305の内部構成を
示す。
【0025】複数の通信端末から送信されてきたコマン
ドが、コマンドバッファに順番に蓄積される。CPU30
3は、コマンドバッファの先頭から1つずつコマンドを
取り出して処理を行なう。401、402、403は端末装置か
ら送信されてきたコマンドである。
【0026】コマンド401の構造について説明する。ユ
ーザー番号401aは、コマンドを送信した端末装置が持つ
ユーザー番号を示している。返信先アドレス401bは、サ
ーバ装置102がコマンドに対して返信を行なう際の送り
先となるアドレスを示している。コマンド番号401cは、
コマンドの種類を示している。ユーザーレコード401d
は、コマンド401によって参照または変更されるユーザ
ーレコードを示している。また、オブジェクトレコード
401eは、コマンド401によって参照または変更されるオ
ブジェクトレコードを示している。全ての種類のコマン
ドで全てのデータが必要なわけではなく、必要のないデ
ータは省略することができる。
【0027】図5に、端末装置103の内部構成を示す。
なお、端末装置104〜105の内部構成も、端末装置103と
同一のものであるとする。
【0028】501は、本実施形態1の端末装置側での処
理手順を実行するCPUである。502は、処理手順を記
憶しておく処理プログラム記憶装置である。503は、共
有仮想環境の状態を示すデータを保持するデータ記憶装
置であり、サーバ装置102側のデータ記憶装置101とデー
タを共有する。504は、処理過程、処理結果を示す画像
を、表示装置に送るために蓄えておくフレームバッファ
である。505は、フレームバッファ504にある画像を表示
するための表示装置としてのウインドウシステムであ
る。506は、文字や処理過程での指示を入力するキーボ
ードである。507は、画面上での位置を指定するマウス
である。508は、サーバ装置102へコマンドを送信した
り、サーバ装置102からのデータを受信したりするため
に用いられるインターフェース装置である。また、509
は、上述の各部を接続するためのバスである。
【0029】図6に、データ記憶装置503のデータ構成
を示す。
【0030】601、および603から610のそれぞれの構成
要素は、図2に示したデータ記憶装置101のデータ構成
における、対応する各要素と全く同じ意味を持つ。各端
末装置のデータ記憶装置503の内容は、サーバ装置102と
端末装置との通信によって、サーバ装置102側のデータ
記憶装置101とほぼ同一に保たれている。ユーザー番号6
02には、端末装置の初期化の際に、サーバ装置102から
与えられる番号が格納される。
【0031】それでは、まず、本実施形態1におけるサ
ーバ装置102側の処理について、図7〜図19のフローチ
ャートを用いながら、以下に説明することにする。この
処理プログラムは、処理プログラム記憶装置304に記憶
されており、CPU303によって実行される。
【0032】図7に、本実施形態1におけるサーバ装置
102の処理のフローチャートを示す。
【0033】始めに、ステップS701で、データ記憶装置
101の初期化を行う。具体的には、全てのオブジェクト
レコードおよびユーザーレコードを消去した後、初期ツ
リー状態を示す情報201を読み込む。この初期ツリー状
態を示す情報201には、表面属性データを備えた形状デ
ータ、または光線空間データが含まれている。この初期
ツリー状態を示す情報201は、予め何らかの既存のモデ
ラー等を用いて作成しておくことが可能である。
【0034】ここでいう形状データには、三角形パッチ
などのポリゴンデータや、NURBSなどの自由曲面データ
などがある。表面属性データとは、その形状の材質、反
射特性や模様などであり、模様はテクスチャデータとし
て入力する。テクスチャデータとは、ポリゴンデータや
自由曲面データなどの表面の模様を表すデータで、模様
の画像データとその画像が貼る対象である形状とどうい
う位置対応となっているかの対応関係を記述したデータ
である。
【0035】また、光線空間データとは、図34に示す
ような座標系にz=0の平面を仮定し、この平面(これを
基準面34と呼ぶことにする)を通過する光線の集合とし
て3次元空間を表現したデータである。
【0036】この光線空間データを用いた手法では、3
次元空間内のzにある視点位置Pで観察できる画像は、こ
の基準面34を通過する光線の集合からPを通過する光線
のみをサンプリングして得られる画像と等価になる(図
35参照)。一般的には、各光線は基準面34を通過する
位置(x、y)、各光線がx軸、y軸のそれぞれとなす角度を
φ、ψ、光線が平面を通過した時間t、光線の色(r、g、
b)で表されるが、実際には、計算量やデータ量が膨大に
なるという問題から、対象は静止物体でy軸方向の視差
はないと仮定されることが多い。この仮定のもとでu=ta
nφとおいて各光線をx-u空間に射影し、この射影された
x-u空間で光線空間を扱う場合、ある点Pを通過する光線
は図36に示すように直線状の軌跡をなす。この軌跡は
以下の式で表される。
【0037】x=X-Z・u (1) u=tanφ (2) ここで(X、Z)は観察視点位置を表し、xは光線がx-u空間
上のx軸と交差する位置を表す。また、φは光線がz軸と
なす角度を表す。
【0038】まず、図37に示すように多数の視点位置
で得られた画像から直線状の軌跡を求め、この軌跡群に
よりx-u空間が密に埋められていると仮定する。この
時、zにある視点位置Qの画像は、図37に示すようにx-
u空間上でQを通過するの軌跡を求め、その軌跡上にすで
に記録されている光線の色を逆に求めることにより得る
ことができる。
【0039】さて、次に、ステップS701でサーバ装置10
2の初期化が終了した後の処理について説明する。サー
バ装置102は、端末装置からのコマンド待ちのループに
入り、ステップS703で、コマンドバッファ305に端末装
置からのコマンドが入力されていないかを確認する。コ
マンドバッファ305が空の場合には、再び端末装置から
のコマンド待ちのループに入る。また、コマンドバッフ
ァ305が空でない場合には、ステップS704に進み、コマ
ンドバッファ305の先頭にあるコマンドに従い、データ
記憶装置101に対する操作を行う。操作の結果、端末装
置に対してデータを送信する必要が生じた場合には、イ
ンターフェース装置306を通じてデータを送信する。ス
テップS704の処理が終了した後は、再び、端末装置から
のコマンド待ちのループに入る。
【0040】ステップS704においてコマンドバッファ30
5から読み込むコマンドには、ユーザーレコード追加、
ユーザーレコード削除、ユーザーレコード属性問合せ、
ユーザーレコード変更、最大ユーザーレコード値問合
せ、オブジェクトレコード追加、オブジェクトレコード
削除、オブジェクトレコード属性問合せ、オブジェクト
レコード変更、オブジェクトレコードロック、オブジェ
クトレコードアンロック、最大オブジェクトレコード値
問合せの12種類のコマンドがある。上記の12種類の
コマンドを受信したときのサーバ装置102の処理のフロ
ーチャートを、それぞれ図8から図19に示す。
【0041】図8に、ユーザーレコード追加コマンド受
信時の、サーバ装置102の処理のフローチャートを示
す。ステップS801で、データ記憶装置101内の最大ユー
ザーレコード値209を、1だけ増加させる。次に、ステ
ップS802で、新しいユーザーレコードをデータ記憶装置
101に作成する。この際、新しいレコードのユーザー番
号には、最大ユーザーレコード値209を格納する。最後
に、ステップS803で、最大ユーザーレコード値209と、
初期ツリー状態を示す情報201を返信する。
【0042】図9に、ユーザーレコード削除コマンド受
信時の、サーバ装置102の処理のフローチャートを示
す。ユーザーUからユーザーレコード削除コマンドを受
信すると、ステップS901で、データ記憶装置101に含ま
れる全てのユーザーレコードのロックユーザー番号を調
べ、ユーザーUによってロックされているユーザーレコ
ードのロックーユーザー番号を0にする。最後に、ステ
ップS902で、データ記憶装置101から、ユーザーUに対応
するユーザーレコードを削除する。
【0043】図10に、ユーザーレコード属性問合せコ
マンド受信時の、サーバ装置102の処理のフローチャー
トを示す。ユーザーUから、ユーザーレコードRの属性問
合せコマンドを受信すると、ステップS1001で、ユーザ
ーレコードRがデータ記憶装置101に存在するかどうかを
確認する。存在すれば、ステップS1002で、ユーザーレ
コードRを返信する。また、存在しなければ、ステップS
1003で、「消去」を表すデータを返信する。ステップS1
002またはステップS1003の処理が終了すると、ステップ
S1004で、ユーザーレコードUの最新ユーザー番号を調
べ、Rより小さければRに置き換える。
【0044】図11に、ユーザーレコード変更コマンド
受信時の、サーバ装置102の処理のフローチャートを示
す。ユーザーUからユーザーレコード変更コマンドを受
信すると、コマンド中のユーザーレコードの属性フィー
ルドをPとして、ステップS1101で、データ記憶装置101
のユーザーレコードUの属性フィールドをPに置き換え
る。
【0045】図12に、最大ユーザーレコード値問合せ
コマンド受信時の、サーバ装置102の処理のフローチャ
ートを示す。ステップS1201で、データ記憶装置101の最
大ユーザーレコード値209を返信する。
【0046】図13に、オブジェクトレコード追加コマ
ンド受信時の、サーバ装置102の処理のフローチャート
を示す。ステップS1301で、データ記憶装置101内の最大
オブジェクトレコード値205を1だけ増加させる。次
に、ステップS1302で、新しいオブジェクトレコードを
データ記憶装置101に作成する。その際、オブジェクト
番号が最大オブジェクトレコード値205に、属性がコマ
ンドに含まれるオブジェクトレコードの属性となるよう
にする。
【0047】図14に、オブジェクトレコード削除コマ
ンド受信時の、サーバ装置102の処理のフローチャート
を示す。ユーザーUからオブジェクトレコードRの削除コ
マンドを受信すると、ステップS1401で、データ記憶装
置101のオブジェクトレコードRがユーザーUによってロ
ックされているかどうか調べる。ロックされていなけれ
ば何もせず、ロックされていればステップS1402でRを削
除する。
【0048】図15に、オブジェクトレコード属性問合
せコマンド受信時の、サーバ装置102の処理のフローチ
ャートを示す。ユーザーUからオブジェクトレコードRの
属性問合せコマンドを受信すると、ステップS1501で、R
がデータ記憶装置101に存在するかどうかを確認する。
存在すれば、ステップS1502で、Rを返信する。存在しな
ければ、ステップS1503で、「消去」を表すデータを返
信する。ステップS1502またはステップS1503
の処理が終了すると、ステップS1504で、ユーザーレコ
ードUの最新オブジェクト番号を調べ、Rより小さければ
Rに置き換える。
【0049】図16に、オブジェクトレコード変更コマ
ンド受信時の、サーバ装置102の処理のフローチャート
を示す。ユーザーUからオブジェクトレコード変更コマ
ンドを受信すると、ステップS1601で、データ記憶装置1
01のオブジェクトレコードRがユーザーUによってロック
されているかどうか調べる。ロックされていなければ何
もせず、ロックされていれば、コマンド中のオブジェク
トレコードの属性フィールドをPとして、ステップS1602
で、データ記憶装置101のオブジェクトレコードRの属性
フィールドをPに置き換える。
【0050】図17に、オブジェクトレコードロックコ
マンド受信時の、サーバ装置102の処理のフローチャー
トを示す。ユーザーUからオブジェクトレコードRのロッ
クコマンドを受信すると、ステップS1701で、データ記
憶装置101のオブジェクトレコードRが0であるか調べ
る。0でないならば何もせず、0ならばステップS1702で
オブジェクトレコードRのロックユーザー番号をUに書き
換える。
【0051】図18に、オブジェクトレコードアンロッ
クコマンド受信時の、サーバ装置102の処理のフローチ
ャートを示す。ユーザーUからオブジェクトレコードRの
ロックコマンドを受信すると、ステップS1801で、デー
タ記憶装置101のオブジェクトレコードRがUであるか調
べる。Uでないならば何もせず、Uならばロックユーザー
番号を0に書き換える。
【0052】図19に、最大オブジェクトレコード値問
合せコマンド受信時の、サーバ装置102の処理のフロー
チャートを示す。ステップS1901で、データ記憶装置101
の最大オブジェクトレコード値205を返信する。
【0053】なお、サーバ装置102は、以上に述べた1
2種類のコマンドに対する処理をコマンドバッファ305
にコマンドが格納されている限り繰り返す。
【0054】それでは、次に、本実施形態1における端
末装置103側の処理について、図20〜図24、図2
8、及び図33のフローチャートを用いながら、以下に
説明することにする。この処理プログラムは、処理プロ
グラム記憶装置502に記憶されており、CPU501によって
実行される。
【0055】図20に、本実施形態1における端末装置
103の処理のフローチャートを示す。
【0056】始めに、ステップS2001で、データ記憶装
置503の初期化を行う。次に、描画ループに入る。ルー
プ内では、まずステップS2002で、データ記憶装置503の
オブジェクトレコードの更新を行う。続いてステップS2
003で、データ記憶装置503のユーザーレコードの更新を
行う。更新が終わると、ステップS2004で、データ記憶
装置503のデータを用いてフレームバッファ504に対して
描画を行う。描画が終わると、ステップS2005でキーボ
ード506やマウス507からのユーザーの指示を受け取る。
ユーザーが終了の指示を行った場合には、ステップS200
6で終了処理を行う。それ以外の場合には、ユーザーの
指示に従い、サーバ装置102にデータ記憶装置101の内容
を変更するためのコマンドを発行し、再び描画ループに
入り、ステップS2002に戻る。
【0057】図21に、初期化のステップS2001におけ
る詳細な処理のフローチャートを示す。
【0058】ステップS2101では、全てのオブジェクト
レコードおよびユーザーレコードを消去する。次に、ス
テップS2102で、サーバ装置102に対して、ユーザーレコ
ード追加コマンドを、返信先アドレスを端末装置103と
して発行する。ステップS2103で、サーバ装置102から、
初期ツリー状態を示す情報201、およびユーザー番号が
返信されると、データ記憶装置503で、それぞれを、初
期ツリー状態を示す情報601、およびユーザー番号602と
して記録する。
【0059】図22に、データ記憶装置503のオブジェ
クトレコードの更新を行うステップS2002における詳細
な処理のフローチャートを示す。
【0060】まず、ステップS2201で、最大オブジェク
トレコード値問合せコマンドを、返信先アドレスを端末
装置103のアドレスとして発行する。次に、ステップS22
02でサーバ装置102から最大オブジェクトレコード値205
を受信して、ステップS2203で受信した値をデータ記憶
装置503の最大オブジェクトレコード値606と比較する。
二つの値が等しければステップS2205へ、等しくなけれ
ばステップS2204へ進む。
【0061】ステップS2204では、データ記憶装置503の
最大オブジェクトレコード値606とサーバ装置102から受
信した最大オブジェクトレコード値205との差の個数だ
け新しいオブジェクトレコードを作成し、データ記憶装
置503の最大オブジェクトレコード値606をサーバ装置10
2から受信した最大オブジェクトレコード値205に更新し
た後、ステップS2205へ進む。この際に、新しく作成す
るオブジェクトレコードのオブジェクト番号は、データ
記憶装置503の最大オブジェクトレコード値606に1を加
えたものから、サーバ装置102から受信した最大オブジ
ェクトレコード値205まで、1刻みにつけるようにす
る。
【0062】ステップS2205でループ変数rを1にセット
し、オブジェクト更新ループに入る。ステップS2206で
は、データ記憶装置503にオブジェクト番号がrであるオ
ブジェクトレコードが存在するかどうかを調べ、存在し
なければステップS2212へ、存在すればステップS2207へ
進む。ステップS2207では、オブジェクトレコードrの属
性問合せコマンドをサーバ装置102に発行する。続いて
ステップS2208でサーバ装置102からの返信を受信し、ス
テップS2209で受信した値が「消去」を表すデータであ
るかどうかを確認する。「消去」であれば、ステップS2
210でデータ記憶装置503のオブジェクトレコードrを消
去した後、ステップS2212に進み、「消去」でなけれ
ば、ステップS2211でデータ記憶装置503のオブジェクト
レコードrを更新した後、ステップS2212に進む。
【0063】ステップS2212では、rの値を最大オブジェ
クトレコード値606と比較し、rの値が最大オブジェクト
レコード値606以上であれば、ループを抜け、データ記
憶装置503のユーザーレコードの更新を行うステップS20
03の処理へと進む。rの値が最大オブジェクトレコード
値606未満であれば、ステップS2213でrの値に1を加え
た後、ステップS2206に戻る。
【0064】このようにして、ステップS2002における
データ記憶装置503のオブジェクトレコードの更新が終
了したら、ステップS2003でデータ記憶装置503のユーザ
ーレコードの更新を同様に行う。
【0065】図23に、データ記憶装置503のユーザー
レコードの更新を行うステップS2003における詳細な処
理のフローチャートを示す。
【0066】このステップS2003のフローチャートで
は、処理対象がオブジェクトレコードではなく、ユーザ
ーレコードであるという点を除き、ステップS2002と同
じ処理を行なうので、詳しい説明は割愛する。
【0067】図24に、データ記憶装置503のデータを
もとに描画を行うステップS2004における詳細な処理の
フローチャートを示す。
【0068】始めに、ステップS2401で、データ記憶装
置503からオブジェクトレコードを読み込む。次に、ス
テップS2402で、全てのオブジェクトレコードの読み込
みが終了したか判定し、終了していなければステップS2
401に戻り、次のオブジェクトレコードを読み込む。ま
た、読み込みが終了していれば、ステップS2403で、オ
ブジェクトレコード中の属性フィールドに含まれる位置
データに従い、オブジェクトを初期ツリー上に配置す
る。
【0069】次に、ユーザーレコードについて上記のス
テップS2401からステップS2403と同様の処理を行う。ま
ず、ステップS2404で、データ記憶装置503からユーザー
レコードを読み込み、次に、ステップS2405で、全ての
ユーザーレコードの読み込みが終了したか判定し、終了
していなければステップS2404に戻り、次のユーザーレ
コードを読み込む。ユーザーレコードの読み込みが完了
すると、ステップS2406で、読み込んだユーザーレコー
ドを、ステップS2403で生成されたツリー上にユーザー
レコードの属性フィールドに従い配置する。これによ
り、仮想環境を共有している他のユーザーが、仮想環境
内でどの位置から、どの方向を観察しているかを確認す
ることができる。最後に、ステップS2407で、ステップS
2406で生成されたツリーを探索し、描画処理を行う。
【0070】本実施形態1においては、共有仮想空間を
構築する際に、従来技術(1)と同様に仮想環境を構成す
る要素(座標変換データ、形状データ、表面属性デー
タ、照明など)を木構造により表現する。これは、3次
元空間を構成する空間、地面、建物、部屋、家具、照
明、置物などは、それぞれもともと階層的な入れ子関係
にあると考えられるためである。例えば、机の上の置物
は、机の配置とともに動くように、机の配置に依存する
関係にあり、机の存在する座標系から相対的に配置した
ほうが都合がよい場合が多い。そのため、階層的に配置
に依存関係のあるデータ構造をとる。その方法として、
仮想環境をn分木構造によって表現する。
【0071】図25は、ある簡単な仮想環境の例のイメ
ージ図である。この図の場合、空間中の部屋、机、ソフ
ァに注目すると、世界座標系C0から、座標変換T2で変換
された座標系C2上に部屋が記述され、その部屋の中の机
やソファは、それぞれ座標変換T3、T4によって座標系C2
から変換される座標系C3、C4上で記述されている。そし
て、机の上の壷は、座標系C3から座標変換T5によって変
換される座標系C5上で記述されている。ここで、本手法
では従来技術(1)の手法とは異なり、幾何学的データだ
けではなく光線空間データも用いて木構造に含まれる物
体を記述する事ができる。図25の場合、机の上に光線
空間データを配置している。このデータは、座標系C3か
ら座標変換T6によって変換される座標系C6上で記述され
ている。
【0072】複数の利用者で仮想環境を共有する従来技
術(4)では、光線空間データといった形状データとは異
質なデータを混在して記述された仮想環境を共有するこ
とはできなかったが、本手法では、光線空間データも形
状データと同様に、同じ木構造の一要素として記述し、
その木構造を複数の利用者間で同一の状態に保つこと
で、複雑な形状を持つ物体を光線空間データとして表現
し、部屋や町並みといったデータを形状データとして表
現した仮想環境を、複数の利用者間で共有することがで
きる。
【0073】なお、図25に示した仮想環境を、模式的
な木構造で表現すると、図26のようになり、また、こ
の木構造データを、記録用としてテキストデータにより
表現すると、図27に示すようなデータ構造となる。こ
の図27において、「Separator」や「Translator」な
どのキーワードは、区別さえできれば他のものを用いて
もよい。また、「{」「}」による区切りも他の記号や文
字列で置き換えても構わない。
【0074】このように、光線空間データを木構造を構
成する一要素として記述したような仮想環境において、
光線空間データを複数の利用者間で共有する場合、属性
フィールドとして、光線空間データと位置データを持
ち、位置データとして光線空間データが配置されている
木構造上の位置と座標変換T6を持つようなオブジェクト
レコードを通信することで、複数の利用者間で、仮想環
境内での光線空間データを共有することができる。
【0075】図28に、このような木構造で表現された
仮想環境においてツリーを探索して描画処理を行う、ス
テップS2407における詳細な処理のフローチャートを示
す。
【0076】観察者が仮想環境を観察するためには、表
示画面にその視点から仮想環境を見たときの見え方を描
画する必要がある。図26に示すようなn分木のデータ
の木を、左ノードを優先して深さ優先探索にて全ノード
辿ってくことにより、この木を構成するすべてのノード
のデータにアクセスする。このとき、ノード内に書かれ
ている情報をもとに、ノードにアクセスした時点で順次
表示画面に描画していくことが基本的な方法である。
【0077】まず、ステップS2801にて、観察する画面
の設定の取得を行う。次にステップS2802にて観察視点
の位置・向きを、ユーザーレコードより取得する。それ
に引き続いて、ステップS2803に進み、木構造の探索を
開始する。これは、上述のように左優先で深さ優先探索
の方法をとる(ステップS2804)。この探索が終了する
までノードの探索を続ける(ステップS2805)。
【0078】そして、探索しているノードの内容が座標
変換であった場合(ステップS2806)には、ステップS28
07のカレント座標変換の処理に進む。これは、もし、今
までに座標変換であるノードがなかった場合には、それ
を木のそのノードの深さよりも深い部分木の基本の座標
変換としてカレント座標変換としておき、そうでなけれ
ば、既存のカレント座標変換にその新しく現れたその座
標変換をかけることによってカレント座標変換を更新
し、木のその深さより深い部分木でのカレント座標変換
とする。木は深い方向への探索時には、現状のカレント
座標変換を渡すことにより、次の深さへカレント座標変
換を与える。深さ方向への枝が無くなり一段浅くなる時
には、木の深いときに更新されたであろうカレント座標
変換は浅い方向へは渡さない。以前にその深さの木を探
索しているときにあったはずであるカレント座標変換を
用いる。
【0079】ステップS2806が偽の場合ステップS2808に
進む。このステップにて、ノードの内容が表面属性を表
す場合には、ステップS2809のカレント表面属性の処理
に進む。これは、このノード現れた時点で木のそのノー
ドの深さよりも深い部分木の基本の表面属性としてカレ
ント表面属性とする。木の深い方向への探索時には、現
状のカレント表面属性を渡すことにより、次の深さへカ
レント表面属性を与える。深さ方向への枝が無くなり一
段浅くなる時には、木の深いときに更新されたであろう
カレント表面属性は浅い方向へは渡さない。以前にその
深さの木を探索しているときにあったはずであるカレン
ト表面属性を用いる。
【0080】ステップS2808が偽の場合ステップS2810に
進む。このステップにて、ノードの内容が幾何形状モデ
ルを表す場合には、ステップS2811の幾何形状モデル描
画処理に進む。これは、カレント座標変換を用いてその
形状モデルの位置・向き・スケーリングなどの座標変換
をし、カレント表面属性を用いて従来技術(1)に示した
方法により表示画像に2次元の画像として観察者に提示
する画面に描画を行う。このときに、提示画面の各画素
に対応した奥行き値保存マップを用意しておく。そし
て、描画処理の時に、形状モデルを描画するとき、視点
位置から見た画面の各画素に相当する位置の形状モデル
の表面の3次元位置の奥行き値を、奥行き値保存マップ
の同じ画素に書き込む。このとき、もしも、すでに奥行
き値保存マップがすでにこの処理によって書き込まれて
いたならば、新たに描画するために得られた奥行き値が
すでに保存されている奥行き値よりも大きいときには、
提示描画へのこの画素の書き込み、および、奥行き値保
存マップの書き換えは行わない。
【0081】ステップS2810が偽の場合ステップS2812に
進む。このステップにて、ノードの内容が光線空間デー
タを表す場合には、ステップS2813の光線空間データか
らの描画処理に進む。これは、まず、カレント座標変換
を用いて光線空間データの位置・向き・スケーリングな
どの座標変換をする。そして、観察視点位置が、光線空
間データの基準面からみて、どの位置・向きにあるかを
計算する。この計算結果などから、光線空間データから
その観察条件で生成すべき画像を生成する描画則を決定
し、提示画面に表示する画像を生成する。このとき、幾
何形状モデルからの描画の時と同様に、表示画面で画素
単位での奥行き判定を行う。視点位置と光線空間データ
の基準面位置のおかれている位置との距離を光線空間デ
ータの奥行き値であるとし、この値と奥行き値保存マッ
プに格納されている奥行き値との比較を行う。奥行き値
保存マップの値よりも小さい画素には、光線空間データ
から生成された画像を上書きし奥行き値保存マップを更
新する。そうでない場合は、そのまま何もしない。
【0082】ステップS2812が偽の場合、あるいはステ
ップS2807、ステップS2809、ステップS2811、ステップS
2813の処理が終わった場合、再び木の探索処理であるス
テップS2804に戻る。ステップS2805にて、木の探索が終
わったと判定されたならば、描画処理を終了する。
【0083】更新されたオブジェクトレコード、ユーザ
ーレコードをもとにした描画が終了すると、次に、ステ
ップS2005で、ユーザーからの指示に従い処理を行う。
この際、ユーザーが指示できることは、オブジェクトの
追加、オブジェクトの削除、オブジェクトのロック、オ
ブジェクトのアンロック、オブジェクトの属性変更、ユ
ーザーの属性変更、終了の7種類である。
【0084】図33に、ユーザーからの指示に従って所
望のコマンドを発行する、ステップS2005における詳細
な処理のフローチャートを示す。
【0085】ユーザーがオブジェクトの追加を指示する
と、ステップS3301で、ユーザーが予め作成しておい
た、表面属性データを備えた幾何形状データまたは光線
空間データが含まれるオブジェクトの属性を、コマンド
中のオブジェクトレコードに入れる。ステップS3302で
オブジェクトレコード追加コマンドをサーバ装置102に
対して発行する。コマンドの発行が終了すると、ステッ
プS2002に戻り、描画ループを再開する。
【0086】ユーザーがオブジェクトRの削除を指示す
ると、端末装置はステップS3303で、サーバ装置102に対
して、オブジェクトレコードR削除コマンドを発行し、
ステップS2002に戻る。
【0087】同様にユーザーが、オブジェクトのロック
を指示、またはオブジェクトのアンロックを指示する
と、それぞれステップS3304、ステップS3305でオブジェ
クトレコードロックコマンド、オブジェクトレコードア
ンロックコマンドを発行し、ステップS2002に戻る。
【0088】また、ユーザーがオブジェクトの属性変更
を指示すると、ユーザーの行った操作に対応する変更を
オブジェクトレコードに対して行い(ステップS330
6)、変更を行ったオブジェクトレコードを含むオブジ
ェクトレコード変更コマンドを発行する(ステップS330
7)。
【0089】また、ユーザーが、視点移動など、何らか
のユーザー属性の変更を引き起こすような操作を行なう
と、ステップS3308で操作に対応した変更をユーザーレ
コードに加え、その後ステップS3309でユーザーレコー
ド変更コマンドを発行する。
【0090】最後に、ユーザーが終了を指示すると、ス
テップS3310で、端末装置はサーバ装置102に対してユー
ザーに対応するユーザーレコードの削除を行うコマンド
を発行して、処理を終了する。
【0091】サーバ装置102に接続されているデータ記
憶装置101のデータを変更する、これらのコマンドは、
データ内容によってはサーバ装置102に受け入れられな
いことがある。例えば、ロックしていないオブジェクト
レコードの削除を指示しても、サーバ装置102はオブジ
ェクトレコードの削除を行わない。しかし、端末装置
は、自分の発行したコマンドがサーバ装置102によって
受け入れられたかどうかを確認する必要はなく、コマン
ドの発行が終わるとすぐに次の処理へと移ることができ
る。
【0092】ここで、図29および図30に、ユーザー
1とユーザー2が、ある仮想環境を共有している時の描
画画面例を示す。図29は、ユーザー1の視点位置・方
向に対応する仮想環境を、ユーザー1の端末装置の表示
画面に表示したものであり、図30は、ユーザー2の視
点位置・方向に対応する仮想環境を、ユーザー2の端末
装置の表示画面に表示したものである。
【0093】この図29および図30において、それぞ
れのユーザーは、同一の仮想環境を異なる位置・方向か
ら観察している。これらの図で、兎の縫いぐるみは光線
空間データにより記述されており、部屋は形状モデルに
より記述されている。また、図29においては、兎のオ
ブジェクトをユーザー1がロックしていることを示すた
めに、兎の周囲に、目印となるような幾何学物体が表示
されている。さらに、図30においては、兎のオブジェ
クトをユーザー1がロックしていることを示すために、
兎の上下に、ユーザー1の固有色を有する幾何学物体が
表示されている。
【0094】次に、ユーザー1が、仮想環境中でロック
した兎のオブジェクトに対して、位置を変更するような
指示を行なうと、ユーザー1の端末装置の表示画面にお
ける描画画面例は、図29から図31のように変化し、
また、ユーザー1による兎のオブジェクトの移動に従っ
て、ユーザー2の端末装置の表示画面における描画画面
例は、図30から図32のように変化する。
【0095】(実施形態2)実施形態1においては、光
線空間データから表示画像を生成していたが、本実施形
態2では、光線空間データを用いるかわりに、以下の方
法により多視点画像から表示に必要な画像を生成する。
【0096】図38は入力された多視点画像から画像を
再構成する原理を示す図である。この図のように、本実
施形態2では多視点画像の撮影条件として、撮影方向に
対して垂直な一直線上にカメラを並べて撮影しておく必
要がある。図中、3801は被写体、3802は入力画像の撮影
位置を結んだ撮影視点並び直線、3803は仮想カメラの仮
想CCD面を表す仮想CCD、3804は観察者の位置(x'、z')に
置かれた仮想カメラである。
【0097】図39のフローチャートを用いて、多視点
画像から画像を生成する処理を説明する。ステップS390
1において注目ラインjを画像Pの先頭ラインにセット
し、注目画素をjライン目の左端の画素にセットする。
次に、ステップS3902において、画像Pのjラインi番目画
素に対応した撮影視点並び直線3802上の画像Qの位置を
計算する。これは次のように計算できる。
【0098】物体中の一点Aが、視点位置Pの仮想カメラ
の画素位置Piに写っているとする。また、位置AとPを結
ぶ直線が撮影視点並び直線3802と交差する位置をQとす
る。このとき、図38から、画素位置Piに写っているも
のは、視点位置Qで撮影した画像の画素位置Qiに写って
いるものと等価であることが分かる。図38の幾何的な
制約条件から、視点位置QのX座標は(1)式で表すことが
できる。但し、スキャンラインの中央の画素位置を0番
目の画素とする。また、仮想カメラ3804の画素ピッチを
d、焦点距離をf、原点から撮影視点並び直線3802までの
距離をgとする。
【0099】 x = x'+ i・d・(g-z')/f (3)
【0100】同様に視点位置Pの仮想カメラの画素位置P
jに写っているものは、記憶装置に記憶された視点位置R
の画像の画素位置Rjに写っているものと等価である。こ
の方法により、例えば画像Qのjラインi番目の画素値を
画像Pのjラインi番目画素にコピーして画像を再構成し
た場合、再構成された画像が歪む、すなわち、画像中の
物体が縦に伸びたり、縮んだりすることがある。そこ
で、これを解消するためにステップS3903において画像P
のjライン目に対応する画像Qのライン番号を求める。画
像Qのライン番号の求め方法に関して、図40を参照し
ながら説明する。
【0101】図40は上記で再構成された画像の歪みを
補正する原理を示す図である。図中、4001は被写体、40
02は再構成したい視点位置Pの画像、4003は撮影視点並
び直線3802上の視点位置ステップSの画像である。
【0102】被写体4001中の一点Bについて考える。点B
がY軸に近いか、再構成したい視点位置Pの画像4002のz
座標値Pz 、撮影視点並び直線4002上の視点位置ステッ
プSの画像4003のz座標値Szが十分に大きい、または、再
構成したい視点位置Pの画像4002のz座標値Pz 、撮影視
点並び直線4002上の視点位置ステップSの画像4003のz座
標値Szがほぼ同じ値であると仮定する。このとき、点B
から発する光線は再構成したい視点位置Pの画像4002中
のmライン目と撮影視点並び直線3802上の視点位置ステ
ップSの画像4003中のnライン目に記録される。そこで、
仮想CCD3803の画素ピッチをd、仮想カメラ3804の焦点距
離をf、仮想CCD3803のライン数をNとすれば、 Pz・tanα= Sz・tanβ (4) tanα= d・(N/2-m)/f (5) tanβ= d・(N/2-n)/f (6) となる。(4)式、(5)式、(6)式より、 n = N/2 + (m - N/2)・Sz/Pz (7) が得られる。従って、再構成したい視点位置Pの画像400
2のm番目のスキャンラインの値は、撮影視点並び直線38
02上の視点位置ステップSの画像4003の(7)式で与えられ
るn番目のスキャンラインの値と等価になる。
【0103】そこで、ステップS3903での処理の後に、
ステップS3904に進み、画像Pのjラインi番目画素に、画
像Qのnラインi番目画素の値をコピーする。この処理に
より、撮影視点並び直線3802上でない視点位置の画像を
再構成するときに画像が歪むという現象をある程度抑え
ることができる。
【0104】その後、ステップS3905に移り、注目ライ
ンj中のすべての画素の処理が終了しているかどうかを
判断し、終了していればステップS3907に移り、そうで
なければステップS3906に移る。ステップS3906では、注
目画素iを右隣の画素に移し、ステップS3902に戻る。
【0105】また、ステップS3907では、画像P中のすべ
てのラインに対して処理が終了しているならばこのサブ
ルーチンを終了する。そうでなければ、ステップS3908
において、注目ラインjを次のラインに移し、注目画素i
をラインjの左端にセットした後に、ステップS3902に戻
る。
【0106】このように、撮影視点並び直線3802上で微
小間隔で撮影された多視点画像群が得られているとする
と、上記の考え方に基づき、すべてのスキャンラインに
ついて同様のことを繰り返せば、撮影視点並び直線3802
上でない視点位置の画像を再構成することができる。
【0107】(実施形態3)実施形態1においては、図
1に示すように、仮想環境の状態を示すデータの変更
を、全てサーバ装置102を通して行うことで、各端末装
置間で仮想環境を共有していたが、図41に示すよう
な、サーバ装置102を用いない通信形態でも、同様のこ
とが可能である。
【0108】図41では、端末装置4101から4104がネッ
トワークを通じてバス4105で接続されている。それぞれ
の端末装置は、実施形態1における端末装置と同様の処
理を行う。ただし、実施形態1でサーバ装置102に対し
て発行していたコマンドは、ネットワーク上の全端末装
置に伝わるように設定する必要がある。さらに、それに
加えて、他の端末装置から発行された全てのコマンドを
受信し、端末装置自体が実施形態1でのサーバ装置102
と同じ処理を、自端末装置のデータ記憶装置503内のデ
ータに対して行なうように設定する必要がある。
【0109】(その他の実施形態)また、本発明では、
実施形態1において、サーバ装置102側のデータ記憶装
置101と、複数の端末装置に含まれるデータ記憶装置503
とを、何らかの手段を用いて物理的に共有することによ
って、実施形態1のような、端末装置とサーバ装置102
との間の通信を行うことなく、仮想空間の共有を行うこ
とも可能である。
【0110】また、同様に、実施形態3において、複数
の端末装置に含まれるデータ記憶装置503を、何らかの
手段を用いて物理的に共有することによって、実施形態
3のような、端末装置間の通信を行うことなく、仮想空
間の共有を行うことも可能である。
【0111】
【発明の効果】以上詳述したように、本発明によれば、
従来技術(1)〜(3)とをうまく組み合わせることにより、
単純な形状データだけではなく、形状が非常に複雑な物
体を含む仮想環境を、複数の利用者で共有することがで
きるといった効果がある。
【0112】また、このような共有仮想環境内で、ある
利用者がある物体に対して何らかの処理を施すと、他の
利用者が、その処理による仮想環境内の変化を容易に視
認することができるといった効果がある。
【図面の簡単な説明】
【図1】実施形態1のブロック図である。
【図2】サーバ装置102に含まれるデータ記憶装置101の
構成を示した図である。
【図3】サーバ装置102の構成を示した図である。
【図4】コマンドバッファ305の構成を示した図であ
る。
【図5】端末装置の構成を示した図である。
【図6】端末装置に含まれるデータ記憶装置503の構成
を示した図である。
【図7】実施形態1における、サーバ装置102の処理を
示したフローチャートである。
【図8】ユーザーレコード追加コマンド受信時のサーバ
装置102の処理を示したフローチャートである。
【図9】ユーザーレコード削除コマンド受信時のサーバ
装置102の処理を示したフローチャートである。
【図10】ユーザーレコード属性問合せコマンド受信時
のサーバ装置102の処理を示したフローチャートであ
る。
【図11】ユーザーレコード変更コマンド受信時のサー
バ装置102の処理を示したフローチャートである。
【図12】最大ユーザーレコード値問合せコマンド受信
時のサーバ装置102の処理を示したフローチャートであ
る。
【図13】オブジェクトレコード追加コマンド受信時の
サーバ装置102の処理を示したフローチャートである。
【図14】オブジェクトレコード削除コマンド受信時の
サーバ装置102の処理を示したフローチャートである。
【図15】オブジェクトレコード属性問合せコマンド受
信時のサーバ装置102の処理を示したフローチャートで
ある。
【図16】オブジェクトレコード変更コマンド受信時の
サーバ装置102の処理を示したフローチャートである。
【図17】オブジェクトレコードロックコマンド受信時
のサーバ装置102の処理を示したフローチャートであ
る。
【図18】オブジェクトレコードアンロックコマンド受
信時のサーバ装置102の処理を示したフローチャートで
ある。
【図19】最大オブジェクトレコード値問合せコマンド
受信時のサーバ装置102の処理を示したフローチャート
である。
【図20】実施形態1における、端末装置の処理を示し
たフローチャートである。
【図21】端末装置の初期化処理を示したフローチャー
トである。
【図22】端末装置のオブジェクトレコード更新処理を
示したフローチャートである。
【図23】端末装置のユーザーレコード更新処理を示し
たフローチャートである。
【図24】端末装置の描画処理を示したフローチャート
である。
【図25】実施形態1で生成する仮想環境の例のイメー
ジ図である。
【図26】図25の仮想環境を木構造で表現した図であ
る。
【図27】図26の木構造をテキストデータで表現した
データを示した図である。
【図28】木構造を観察者に提示する処理を示したフロ
ーチャートである。
【図29】実施形態1で、観察者1が観察中の仮想環境
の描画例を示した図である。
【図30】実施形態1で、観察者2が観察中の仮想環境
の描画例を示した図である。
【図31】実施形態1で、観察者1が観察中の仮想環境
の描画例を示した図である。
【図32】実施形態1で、観察者2が観察中の仮想環境
の描画例を示した図である。
【図33】端末装置のユーザー操作の処理のフローチャ
ートである。
【図34】光線空間の原理を説明するための3次元空間
の模式図である。
【図35】実空間中のある点とその点を通る光線の関係
図である
【図36】実空間中のある1点を通る光線が、光線空間
であるx-u空間へ写像されたときの写像を示した図であ
る。
【図37】実空間と光線空間の相互変換を表す原理図で
ある。
【図38】実施形態2で用いる多視点画像からの画像生
成原理図である。
【図39】実施形態2で用いる多視点画像からの画像生
成のフローチャートである。
【図40】実施形態2の画像生成における縦方向の歪み
補正の原理図である。
【図41】実施形態3のブロック図である。
【図42】従来技術(1)の仮想環境の例のイメージ図で
ある。
【図43】図42の仮想環境を木構造で表現した図であ
る。
【符号の説明】
101 データ記憶装置 102 サーバ装置102 103 端末装置 104 端末装置 105 端末装置 303 CPU 304 処理プログラム記憶装置 305 コマンドバッファ 306 インターフェース装置 501 CPU 502 処理プログラム記憶装置 503 データ記憶装置 504 フレームバッファ 505 ウィンドウシステム 506 キーボード 507 マウス 508 インターフェース装置 4101 端末装置 4102 端末装置 4103 端末装置 4104 端末装置

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 サーバと、該サーバに接続された複数の
    端末とからなる画像処理システムであって、 第1の端末は、 3次元的な位置と3次元的な向きと表面属性とを含む記
    述情報に基づいて、3次元物体の形状や3次元空間の形
    状を記述する第1の記述手段と、 任意の視点からの3次元物体と3次元空間の見え方に従
    って、実写画像に基づいて、該3次元物体と該3次元空
    間を記述する第2の記述手段と、 前記第1の記述手段と前記第2の記述手段による記述内容
    を構成要素とする木構造のデータを記憶する第1の記憶
    手段と、 前記第1の記憶手段に記憶された木構造のデータに基づ
    いて、仮想3次元空間の第1の位置から第1の方向を見
    た場合の、前記第1の記述手段と前記第2の記述手段によ
    る記述内容を表示する第1の表示手段と、 前記第1の記憶手段に記憶された木構造のデータを、前
    記サーバに送信する第1の送信手段とを有し、 前記サーバは、 前記第1の送信手段により送信されたデータを受信する
    第1の受信手段と、 前記第1の受信手段により受信されたデータを記憶する
    第2の記憶手段と、 前記記憶手段に記憶されたデータを、前記サーバに接続
    されている端末に送信する第2の送信手段とを有し、 第2の端末は、 前記第2の送信手段により送信されたデータを受信する
    第2の受信手段と、 前記第2の受信手段により受信されたデータを記憶する
    第3の記憶手段と、 前記第3の記憶手段に記憶された木構造のデータに基づ
    いて、仮想3次元空間の第2の位置から第2の方向を見
    た場合の、前記第1の記述手段と前記第2の記述手段によ
    る記述内容を表示する第2の表示手段とを有することを
    特徴とする画像処理システム。
  2. 【請求項2】 前記第1の端末は、 前記第1の記憶手段に記憶された木構造のデータの構成
    要素の少なくとも一部に処理を施す処理手段と、 前記処理手段による処理の内容に基づいて、前記第1の
    記憶手段に記憶された木構造のデータを変更する変更手
    段とを更に有し、 前記第1の端末において、 前記第1の送信手段は、前記変更手段により変更された
    木構造のデータを、前記サーバに送信し、 前記第2の端末において、 前記第2の表示手段は、前記変更手段により変更された
    木構造のデータに基づいて、仮想3次元空間の第2の位
    置から第2の方向を見た場合の、前記第1の記述手段と
    前記第2の記述手段による記述内容を表示することを特
    徴とする請求項1記載の画像処理システム。
  3. 【請求項3】 前記第1の端末において、 前記第1の送信手段は、前記第1の記憶手段に記憶され
    た木構造のデータとともに、仮想3次元空間の第1の位
    置から第1の方向を見ている利用者を仮想して、これを
    前記第1の端末を利用している第1の利用者として、該
    第1の利用者の情報を前記サーバに送信することを特徴
    とする請求項1記載の画像処理システム。
  4. 【請求項4】 前記第2の端末において、 前記第2の受信手段は、前記第2の送信手段により送信
    された木構造のデータとともに、前記第1の利用者の情
    報を、前記サーバから受信し、 前記第2の表示手段は、前記第1の記述手段と前記第2の
    記述手段による記述内容とともに、前記第1の利用者を
    示すシンボルを表示することを特徴とする請求項3記載
    の画像処理システム。
  5. 【請求項5】 前記第1の端末において、 前記第2の記述手段は、光線空間データを用いて、前記
    3次元物体と前記3次元空間を記述することを特徴とす
    る請求項1記載の画像処理システム。
  6. 【請求項6】 前記第1の端末において、 前記処理手段は、前記第1の記憶手段に記憶された木構
    造のデータの構成要素の少なくとも一部を移動または追
    加または削除または変更することを特徴とする請求項2
    記載の画像処理システム。
  7. 【請求項7】 前記第1の端末において、 前記第1の表示手段は、前記処理手段によって前記第1
    の記憶手段に記憶された木構造のデータの構成要素の少
    なくとも一部に処理を施す際に、前記処理手段の処理対
    象となる構成要素を識別可能に表示し、 前記第1の送信手段は、前記第1の記憶手段に記憶され
    た木構造のデータとともに、前記処理手段の処理対象と
    なる構成要素の情報を前記サーバに送信することを特徴
    とする請求項2記載の画像処理システム。
  8. 【請求項8】 前記第2の端末において、 前記第2の受信手段は、前記第2の送信手段により送信
    された木構造のデータとともに、 前記処理手段の処理対象となる構成要素の情報を、前記
    サーバから受信し、 前記第2の表示手段は、前記第1の記述手段と前記第2の
    記述手段による記述内容とともに、前記処理手段の処理
    対象となる構成要素を識別可能に表示することを特徴と
    する請求項7記載の画像処理システム。
  9. 【請求項9】 請求項1から8に記載の第1の端末。
  10. 【請求項10】 請求項1から8に記載のサーバ。
  11. 【請求項11】 請求項1から8に記載の第2の端末。
  12. 【請求項12】 複数の端末が相互に接続された画像処
    理システムであって、 第1の端末は、 3次元的な位置と3次元的な向きと表面属性とを含む記
    述情報に基づいて、3次元物体の形状や3次元空間の形
    状を記述する第1の記述手段と、 任意の視点からの3次元物体と3次元空間の見え方に従
    って、実写画像に基づいて、該3次元物体と該3次元空
    間を記述する第2の記述手段と、 前記第1の記述手段と前記第2の記述手段による記述内容
    を構成要素とする木構造のデータを記憶する第1の記憶
    手段と、 前記第1の記憶手段に記憶された木構造のデータに基づ
    いて、仮想3次元空間の第1の位置から第1の方向を見
    た場合の、前記第1の記述手段と前記第2の記述手段によ
    る記述内容を表示する第1の表示手段と、 前記第1の記憶手段に記憶された木構造のデータを、他
    の端末に送信する送信手段とを有し、 第2の端末は、 前記送信手段により送信されたデータを受信する受信手
    段と、 前記受信手段により受信されたデータを記憶する第2の
    記憶手段と、 前記第2の記憶手段に記憶された木構造のデータに基づ
    いて、仮想3次元空間の第2の位置から第2の方向を見
    た場合の、前記第1の記述手段と前記第2の記述手段によ
    る記述内容を表示する第2の表示手段とを有することを
    特徴とする画像処理システム。
JP9054782A 1997-03-10 1997-03-10 画像処理システム Withdrawn JPH10255069A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP9054782A JPH10255069A (ja) 1997-03-10 1997-03-10 画像処理システム
US09/038,685 US6151028A (en) 1997-03-10 1998-03-09 Image processing apparatus, method and system
EP98301767A EP0865001B1 (en) 1997-03-10 1998-03-10 Image processing method and system
DE69819950T DE69819950T2 (de) 1997-03-10 1998-03-10 Verfahren und System zur Bildverarbeitung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9054782A JPH10255069A (ja) 1997-03-10 1997-03-10 画像処理システム

Publications (1)

Publication Number Publication Date
JPH10255069A true JPH10255069A (ja) 1998-09-25

Family

ID=12980348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9054782A Withdrawn JPH10255069A (ja) 1997-03-10 1997-03-10 画像処理システム

Country Status (4)

Country Link
US (1) US6151028A (ja)
EP (1) EP0865001B1 (ja)
JP (1) JPH10255069A (ja)
DE (1) DE69819950T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6674922B1 (en) 1999-03-26 2004-01-06 Canon Kabushiki Kaisha Image processing method, image processing apparatus, and storage medium
US7660796B2 (en) 2003-02-28 2010-02-09 Canon Kabushiki Kaisha Information processing method and apparatus
WO2021250914A1 (ja) * 2020-06-09 2021-12-16 ソニーグループ株式会社 情報処理装置、移動装置、情報処理システム、および方法、並びにプログラム

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10255069A (ja) * 1997-03-10 1998-09-25 Canon Inc 画像処理システム
JPH10255081A (ja) * 1997-03-10 1998-09-25 Canon Inc 画像処理方法及び画像処理装置
JP3740865B2 (ja) * 1998-10-08 2006-02-01 コニカミノルタホールディングス株式会社 多視点3次元データの合成方法および記録媒体
JP4240343B2 (ja) * 1998-12-19 2009-03-18 株式会社セガ 画像生成装置および画像生成方法
US6337688B1 (en) * 1999-01-29 2002-01-08 International Business Machines Corporation Method and system for constructing a virtual reality environment from spatially related recorded images
US6753857B1 (en) * 1999-04-16 2004-06-22 Nippon Telegraph And Telephone Corporation Method and system for 3-D shared virtual environment display communication virtual conference and programs therefor
EP1074943A3 (en) * 1999-08-06 2004-03-24 Canon Kabushiki Kaisha Image processing method and apparatus
US6373488B1 (en) * 1999-10-18 2002-04-16 Sierra On-Line Three-dimensional tree-structured data display
US6567085B1 (en) * 1999-12-22 2003-05-20 Lucent Technologies Inc. Display techniques for three-dimensional virtual reality
WO2001055973A1 (en) * 2000-01-27 2001-08-02 3 D Scope Ltd. System and method for transmitting and reproducing two-dimensional and three-dimensional graphical images
EP1258837A1 (en) * 2001-05-14 2002-11-20 Thomson Licensing S.A. Method to generate mutual photometric effects
US7411594B2 (en) * 2002-01-15 2008-08-12 Canon Kabushiki Kaisha Information processing apparatus and method
GB2391150B (en) 2002-07-19 2005-10-26 Autodesk Canada Inc Editing image data
JP2004234455A (ja) * 2003-01-31 2004-08-19 Canon Inc 情報処理方法および画像再生装置
JP4532856B2 (ja) * 2003-07-08 2010-08-25 キヤノン株式会社 位置姿勢計測方法及び装置
US7676079B2 (en) * 2003-09-30 2010-03-09 Canon Kabushiki Kaisha Index identification method and apparatus
KR100579135B1 (ko) * 2004-11-11 2006-05-12 한국전자통신연구원 수렴형 3차원 다시점 영상 획득 방법
JP5144260B2 (ja) * 2005-07-11 2013-02-13 シャープ株式会社 映像送信装置、映像表示装置、映像送信方法、及び映像表示方法
US8639666B2 (en) * 2008-09-05 2014-01-28 Cast Group Of Companies Inc. System and method for real-time environment tracking and coordination
US9104275B2 (en) * 2009-10-20 2015-08-11 Lg Electronics Inc. Mobile terminal to display an object on a perceived 3D space
JP5762015B2 (ja) * 2011-01-27 2015-08-12 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
EP2869023B1 (en) 2013-10-30 2018-06-13 Canon Kabushiki Kaisha Image processing apparatus, image processing method and corresponding computer program
EP2911068B1 (en) * 2014-02-20 2017-08-30 Deutsche Telekom AG Tree-structure storage method for managing computation offloading data
JP6338421B2 (ja) 2014-03-31 2018-06-06 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、把持システムおよびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04191941A (ja) * 1990-11-27 1992-07-10 Hitachi Ltd オブジェクト管理システム
US5886704A (en) * 1996-05-03 1999-03-23 Mitsubishi Electric Information Technology Center America, Inc. System and method for exploring light spaces
US5894309A (en) * 1997-02-27 1999-04-13 Mitsubishi Electric Information Technology Center America, Inc. System for modifying lighting in photographs
JPH10255069A (ja) * 1997-03-10 1998-09-25 Canon Inc 画像処理システム
JPH10255081A (ja) * 1997-03-10 1998-09-25 Canon Inc 画像処理方法及び画像処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6674922B1 (en) 1999-03-26 2004-01-06 Canon Kabushiki Kaisha Image processing method, image processing apparatus, and storage medium
US7660796B2 (en) 2003-02-28 2010-02-09 Canon Kabushiki Kaisha Information processing method and apparatus
WO2021250914A1 (ja) * 2020-06-09 2021-12-16 ソニーグループ株式会社 情報処理装置、移動装置、情報処理システム、および方法、並びにプログラム

Also Published As

Publication number Publication date
EP0865001A3 (en) 1999-08-18
US6151028A (en) 2000-11-21
DE69819950T2 (de) 2004-09-02
EP0865001A2 (en) 1998-09-16
DE69819950D1 (de) 2004-01-08
EP0865001B1 (en) 2003-11-26

Similar Documents

Publication Publication Date Title
JPH10255069A (ja) 画像処理システム
US6268862B1 (en) Three dimensional virtual space generation by fusing images
EP0865000B1 (en) Image processing method and apparatus
US6262739B1 (en) System and method for computer modeling of 3D objects or surfaces by mesh constructions having optimal quality characteristics and dynamic resolution capabilities
DE69733014T2 (de) Integriertes system zum abbilden und modellieren von dreidimensionalen objekten
US6972757B2 (en) Pseudo 3-D space representation system, pseudo 3-D space constructing system, game system and electronic map providing system
Hubbold et al. GNU/MAVERIK: A micro-kernel for large-scale virtual environments
CN108919944A (zh) 一种基于数字城市模型实现在显示端进行数据无损交互的虚拟漫游方法
CN107408142A (zh) 基于多用户云参数特征的3d cad系统
JPH10111953A (ja) 画像処理方法および装置および記憶媒体
Tsirliganis et al. Archiving cultural objects in the 21st century
Sandro et al. Databases and complexity. Remote use of the data in the virtual space of reliable 3D models
Gaiani et al. VR as work tool for architectural & archaeological restoration: the ancient Appian way 3D web virtual GIS
Agugiaro et al. 7.2 3D GIS for cultural heritage sites: The queryarch3d prototype
CN114676299A (zh) 一种古典园林知识图谱3d可视化展示方法及系统
Scianna et al. 3D GIS data model using open source software
Gaiani et al. A framework to use virtual worlds generated from real world 3D models as Work Tool for Architectural & Archaeological Restoration on the Web
Bernardini Automatic reconstruction of CAD Models and properties from digital scans
Sedlacek et al. 3D reconstruction data set-The Langweil model of Prague
KR101005322B1 (ko) 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법
Ioannides et al. 3D reconstruction and visualization in cultural heritage
Honchar et al. An Ontological Approach to the Formation of an Excursion Route by Heritage Objects in GIS.
Basdogan From 2D images to 3D tangible models: autostereoscopic and haptic visualization of Martian rocks in virtual environments
Cameron et al. Stereo images with active objects-integrating photogrammetry with an object database for map production
Pixton et al. NewVision: a program for interactive navigation and analysis of multiple 3-D data sets using coordinated virtual cameras

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040511