JP3740024B2 - Image management system, server, user computer, and storage medium - Google Patents

Image management system, server, user computer, and storage medium Download PDF

Info

Publication number
JP3740024B2
JP3740024B2 JP2001084630A JP2001084630A JP3740024B2 JP 3740024 B2 JP3740024 B2 JP 3740024B2 JP 2001084630 A JP2001084630 A JP 2001084630A JP 2001084630 A JP2001084630 A JP 2001084630A JP 3740024 B2 JP3740024 B2 JP 3740024B2
Authority
JP
Japan
Prior art keywords
data
information
image
maximum value
component
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.)
Expired - Fee Related
Application number
JP2001084630A
Other languages
Japanese (ja)
Other versions
JP2002288689A (en
Inventor
政行 島田
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2001084630A priority Critical patent/JP3740024B2/en
Publication of JP2002288689A publication Critical patent/JP2002288689A/en
Application granted granted Critical
Publication of JP3740024B2 publication Critical patent/JP3740024B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワークを利用した画像管理システム、サーバ、ユーザコンピュータに関する。
【0002】
【従来の技術】
昨今、コンピュータハードウェアは急速に性能向上してきている。特にグラフィックスハードウェアは、3次元(3D)ゲームに代表されるようめざましい進歩を遂げており、一般的な家庭に導入されているパーソナルコンピュータでも十分に3次元コンピュータグラフィックス(以下3DCGとする)を楽しむ事が可能になった。
【0003】
また、インターネットに代表されるネットワーク技術も急速に普及し、多くのパーソナルコンピュータがLAN(Local Area Network)またはISP(Internet Service Provider)経由で相互接続されている。
【0004】
3DCGとネットワークを融合した技術にVRML(Virtual Reality Modeling Launguage)がある。VRMLはインターネット上で扱う3DCGを記述するための言語仕様で、ユーザはVRML対応ブラウザを使って、インターネット上のWWW(World Wide Web)サーバが蓄積しているVRMLファイルを読み出し表示させる事ができる。
【0005】
【発明が解決しようとする課題】
しかしながら、VRMLでは、全ての3DCGデータをインターネット経由でダウンロードするため、表示が開始されるまでに毎回多くの時間を要する。形状を複数のパーツに分割し、データ転送中はそのパーツ毎のバウンディングボックスを表示する事で、形状の概略をユーザに提示するアプローチを用いる事もあるが、形状を簡略化しすぎるため効果があるとはいい難い。
【0006】
予め、全ての3DCGデータをハードディスクなどエンドユーザ環境下に蓄積し、表示までに要する時間を短縮する方法も考えられるが、3DCGデータ制作者がデータの変更や修正を施した場合に、すぐにエンドユーザに更新結果を反映できず、ネットワーク接続された利点が生かされない。
【0007】
本発明は、以上の点に鑑みてなされたものであり、画像データ転送に要する時間を短縮し、ユーザが直ちに物体形状を把握する事が可能となる画像管理システムを提供することを目的とする。
【0008】
【課題を解決するための手段】
前述した目的を達成するために、第1の発明は、ネットワークによりユーザコンピュータに接続されたサーバであって、特定対象物に対する、物体の頂点座標と、前記頂点情報の接続関係を表す面情報と、を有する形状情報を含む画像を、前記画像より少ないビットで表現し、前記頂点情報を0から前記ビット数で表現可能な最大値の範囲内の値になるように正規化するデータと、前記ビット数で表現可能な最大値と、前記頂点情報の最大値と最小値の情報を有する正規化用データと、からなる主成分と、前記画像より少ないビットで表現し、前記頂点情報を0から前記ビット数で表現可能な最大値の範囲内の値になるように正規化する差分データと、前記ビット数で表現可能な最大値と、前記頂点情報の最大値と最小値の情報を有する前記正規化用データと、からなる複数の詳細成分と、に分割することを特徴とするサーバである。
【0009】
画像は、コンピュータグラフィック画像、商品の画像等であり、物体の頂点情報と、頂点情報の接続関係を表わす面情報と、を有する形状情報を含む。主成分、前記詳細成分は、元の前記画像より少ないビット数で表現される。
【0010】
第1の発明では、サーバは、特定対象物に対する、物体の頂点座標と、頂点情報の接続関係を表す面情報と、を有する形状情報を含む画像を、画像より少ないビットで表現し、頂点情報を0からビット数で表現可能な最大値の範囲内の値になるように正規化するデータと、ビット数で表現可能な最大値と、頂点情報の最大値と最小値の情報を有する正規化用データと、からなる主成分と、画像より少ないビットで表現し、頂点情報を0からビット数で表現可能な最大値の範囲内の値になるように正規化する差分データと、ビット数で表現可能な最大値と、頂点情報の最大値と最小値の情報を有する正規化用データと、からなる複数の詳細成分と、に分割する。
【0011】
また、第2の発明は、ネットワークによりサーバに接続されたユーザコンピュータであって、前記サーバが、特定対象物に対する、物体の頂点座標と、前記頂点情報の接続関係を表す面情報と、を有する形状情報を含む画像を、前記画像より少ないビットで表現し、前記頂点情報を0から前記ビット数で表現可能な最大値の範囲内の値になるように正規化するデータと、前記ビット数で表現可能な最大値と、前記頂点情報の最大値と最小値の情報を有する正規化用データと、からなる主成分と、前記画像より少ないビットで表現し、前記頂点情報を0から前記ビット数で表現可能な最大値の範囲内の値になるように正規化する差分データと、前記ビット数で表現可能な最大値と、前記頂点情報の最大値と最小値の情報を有する前記正規化用データと、からなる複数の詳細成分と、に分割し、前記サーバから受け取った前記主成分から、前記正規化用データに基づいて元の前記画像を復元、記憶する主成分復元手段と、前記サーバから受け取った前記詳細成分から、前記正規化用データに基づいて元の前記画像を復元し、既に記憶されている画像と合成し、記憶する詳細成分復元手段と、前記詳細成分復元手段と並列に処理する、記憶されている前記画像をレンダリング、表示する表示手段と、を具備することを特徴とするユーザコンピュータである。
【0012】
第2の発明では、ユーザコンピュータは、ネットワークによりサーバに接続され、サーバが、特定対象物に対する、物体の頂点座標と、頂点情報の接続関係を表す面情報と、を有する形状情報を含む画像を、画像より少ないビットで表現し、頂点情報を0からビット数で表現可能な最大値の範囲内の値になるように正規化するデータと、ビット数で表現可能な最大値と、頂点情報の最大値と最小値の情報を有する正規化用データと、からなる主成分と、画像より少ないビットで表現し、頂点情報を0からビット数で表現可能な最大値の範囲内の値になるように正規化する差分データと、ビット数で表現可能な最大値と、頂点情報の最大値と最小値の情報を有する前記正規化用データと、からなる複数の詳細成分と、に分割し、サーバから受け取った主成分から、正規化用データに基づいて元の画像を復元、記憶する主成分復元手段と、サーバから受け取った詳細成分から、正規化用データに基づいて元の前記画像を復元し、既に記憶されている画像と合成し、記憶する詳細成分復元手段を備え、詳細成分復元手段と並列に処理する、記憶されている前記画像をレンダリング、表示する。
【0013】
また、第3の発明は、ユーザコンピュータと、サーバとが、ネットワークで接続された画像管理システムであって、前記サーバは、特定対象物に対する、物体の頂点座標と、前記頂点情報の接続関係を表す面情報と、を有する形状情報を含む画像を、前記画像より少ないビットで表現し、前記頂点情報を0から前記ビット数で表現可能な最大値の範囲内の値になるように正規化するデータと、前記ビット数で表現可能な最大値と、前記頂点情報の最大値と最小値の情報を有する正規化用データと、からなる主成分と、前記画像より少ないビットで表現し、前記頂点情報を0から前記ビット数で表現可能な最大値の範囲内の値になるように正規化する差分データと、前記ビット数で表現可能な最大値と、前記頂点情報の最大値と最小値の情報を有する前記正規化用データと、からなる複数の詳細成分と、に分割する分割手段と、前記ユーザコンピュータに、前記主成分を送信し、前記詳細成分を送信する送信手段と、を備え、前記ユーザコンピュータは、前記サーバから受け取った前記主成分から、正規化用データに基づいて元の前記画像を復元、記憶する主成分復元手段と、前記サーバから受け取った前記詳細成分から、前記正規化用データに基づいて元の前記画像を復元し、既に記憶されている画像と合成、記憶する詳細成分復元手段と、前記詳細成分復元手段と並列に処理する、記憶されている前記画像をレンダリング、表示する表示手段と、を具備することを特徴とする画像管理システムである。
【0014】
第3の発明では、第1の発明のサーバと、第2の発明のユーザコンピュータからなる画像管理システムに関する発明である。
【0015】
第4の発明は、コンピュータを第1の発明のサーバとして機能させるプログラムである。
第5の発明は、コンピュータを第1の発明のサーバとして機能させるプログラムを記録した記録媒体である。
【0016】
第6の発明は、コンピュータを第2の発明のユーザコンピュータとして機能させるプログラムである。
第7の発明は、コンピュータを第2の発明のユーザコンピュータとして機能させるプログラムを記録した記録媒体である。
【0021】
【発明の実施の形態】
以下、図面に基づいて本発明の実施の形態を詳細に説明する。図1は、本実施の形態に係る画像管理システム1の概略構成を示す図である。
【0022】
図1において、画像管理システム1は、画像生成装置2、外部入力装置3、外部表示装置4、ネットワーク5、画像管理サーバ6、サーバ側外部記憶装置7等から構成される。画像生成装置2は、例えば、インターネットなどのネットワーク5を介して、画像管理サーバ6と接続される。9は、ユーザを示す。
【0023】
画像生成装置2は、外部入力装置3より入力された視点情報とサーバ側外部記憶装置7より読み込んだ3DCGデータを基にCG画像を生成し、外部表示装置4に出力する。
【0024】
また、外部入力装置3はマウス、キーボード及びタブレット等の機器であり、物体形状を観察する位置等の視点情報を入力する。
【0025】
外部表示装置4は画像生成装置2により生成されたCG画像を表示する機器であり、CRTディスプレイ等である。
【0026】
画像管理サーバ6は、画像生成装置2とネットワーク5を介して接続され、3DCGデータである物体の頂点情報及び面の接続関係から構成される物体形状情報から、物体の大まかな形状を定義する主成分と、細部を定義する複数の詳細成分とに分割し、サーバ側外部記憶装置7に保持する。
【0027】
サーバ側外部記憶装置7は、サーバ側に用意された記憶装置である。画像生成装置2とネットワーク5を介して接続されるサーバ側外部記憶装置7は、物体の形状情報、質感情報、テクスチャ画像情報等を含む物体情報、及び種類、位置、属性等を含む光源情報を記憶するものであり、本実施の形態では、物体の頂点情報及び面の接続関係から構成される物体の形状情報が主成分と詳細成分に分割しサーバ側外部記憶装置7に格納されている。サーバ側外部記憶装置7は、例えばハードディスクやCD−ROM等であり、ユーザ側に用意された記憶装置に比べてデータ読み込みに時間を要する。
【0028】
次に、画像生成装置2について説明する。画像生成装置2はサーバ側CGデータ読み込み部11、CGデータ合成部12、CGデータ記憶部13、視点情報算出部14、レンダリング処理部15を有する。画像生成装置2は例えば一台のコンピュータよりなる。
【0029】
サーバ側CGデータ読み込み部11はサーバ側外部記憶装置7から物体のCGデータを読み込み、CGデータ合成部12にCGデータを送る。
【0030】
CGデータ合成部12は、サーバ側外部記憶装置7より読み込んだCGデータを受け取り、CGデータ記憶部13より既に記憶済みのデータを受け取り、これら2つのデータを合成して高精度なCGデータを生成する。更新されたCGデータはCGデータ記憶部13に送られる。
【0031】
CGデータ記憶部13は、CGデータ合成部12より受け取ったCGデータを記憶する。
【0032】
視点情報算出部14は外部入力装置3によって入力されたパラメータからカメラの視点、上向きベクトル、注視点等の視点情報を算出する。
【0033】
レンダリング処理部15は、CGデータ記憶部13からCGデータを、視点情報算出部14から視点情報を受け取り、物体のレンダリング処理を行いCG画像を生成し外部表示装置4に出力する。
【0034】
次に、物体の3DCGデータのデータ構造について説明する。図2は、3DCGデータ21を示す。3DCGデータは複数の3DCGオブジェクトから構成される。一般に3DCGオブジェクトは形状データ、質感データ、テクスチャデータ等からなるが、本実施の形態では、図2に示すように、3DCGデータ21を物体の大まかな形状を定義する主成分CGデータ22と、細部を定義する複数の詳細成分CGデータ23−1、23−2、…とに分割し、それぞれの成分を元の3DCGデータ21より少ないビット数で表現する。
【0035】
次に、主成分CGデータ22のデータ構造について説明する。図3は、主成分CGデータ22のデータ構造を示す。
【0036】
図3に示すように、主成分CGデータ22は、名前31、形状データ32、正規化用データ33、質感データ34等から構成される。
【0037】
名前31は、各形状を識別するために使用し、全形状にユニークな文字列を割り当てる。例えば、名前31は、“タイヤフロント右”である。
【0038】
形状データ32は、頂点座標51、法線ベクトル52、テクスチャ座標53等を含む頂点情報40と、これらの頂点情報40の接続関係を定義する面情報41からなる。頂点座標51、法線ベクトル52、テクスチャ座標53は、後述で説明する3DCGデータの分割方法により正規化されたデー夕で、正規化用データ33を用いて復元される。
【0039】
正規化用データ33は、与えられた元の3DCGデータ21より少ないビット数で表現可能な最大値42、頂点座標の最大値と最小値43、法線ベクトルの最大値と最小値44、テクスチャ座標の最大値と最小値45とからなる。
【0040】
質感データ34は、環境反射光成分46、拡散反射光成分47、鏡面反射光成分48、放射光成分49等からなり、オブジェクト表面の材質特性を定義する。
【0041】
次に、詳細成分CGデータ23のデータ構造について説明する。図4は、詳細成分CGデータ23のデータ構造を示す。
【0042】
図4に示すように、詳細成分CGデータ23は、名前61、形状データ62、正規化用データ63等から構成される。
【0043】
名前61は、主成分CGデータ22との対応付けに使用し、対応する主成分CGデータ22と同じ文字列を割り当てる。例えば、名前61は、主成分CGデータ22の名前31と同じ“タイヤフロント右”である。
【0044】
形状データ62は、頂点座標81、法線ベクトル82、テクスチャ座標83等を含む頂点情報(差分)70からなる。頂点座標81、法線ベクトル82、テクスチャ座標83は、後述で説明する3DCGデータの分割方法により正規化された差分デー夕で、正規化用データ63を用いて復元される。
【0045】
正規化用データ63は、与えられた元の3DCGデータ21より少ないビット数で表現可能な最大値72、頂点座標の最大値と最小値73、法線ベクトルの最大値と最小値74、テクスチャ座標の最大値と最小値75とからなる。
【0046】
以下に画像管理システム1における画像生成装置2での3DCGデータの転送、更新処理及び画像生成処理について説明する。図5は、画像生成装置2による3DCGデータ転送、更新処理および画像生成処理を示すフローチャートである。本実施の形態では、ステップ201からステップ205で行うCGデータ転送、更新処理と、ステップ206からステップ208で行うCG画像生成処理とを並列に実行する。
【0047】
図5に示すように、サーバ側CGデータ読み込み部11が、サーバ側外部記憶装置7より物体の大まかな形状を定義した主成分CGデータ22を読み込む(ステップ201)。読み込まれた主成分CGデータ22は、CGデータ合成部12にて元の3次元座標に復元されCGデータ記憶部13に送られる。
【0048】
CGデータ記憶部13が、CGデータ合成部12より受け取ったCGデータを格納する(ステップ202)。
【0049】
未処理の詳細成分CGデータ23がある場合は(ステップ203)、サーバ側CGデータ読み込み部11が、サーバ側外部記憶装置7より詳細成分CGデータ23を読み込む(ステップ204)。
【0050】
CGデータ合成部12が、新規に読み込んだ詳細成分CGデータをサーバ側CGデータ読み込み部11より受け取り、既に記憶されているCGデータをCGデータ記憶部13より受け取り、これら2つのデータを合成して高精度なCGデータを生成する(ステップ205)。ステップ202からステップ205を繰り返すことにより、ユーザは徐々に大まかな形状から詳細な形状へと段階的に物体形状を観察する事ができる。
【0051】
全ての詳細成分CGデータに対する処理が終了した場合は(ステップ203)、CGデータ転送処理を終了する。
【0052】
視点情報算出部14が、外部入力装置3より入力されたパラメータから、カメラの視点、注視点、上向きベクトル等の視点情報を算出する(ステップ206)。
【0053】
レンダリング処理部15が、CGデータ記憶部13から3DCGデータを、視点情報算出部14から視点情報を受け取り、照光効果等を考慮してオブジェクトのレンダリング処理を行いCG画像を生成する(ステップ207)。本処理では、レイトレーシング法やZバッファ法など様々な手法が用いられるが、使用する環境や目的に応じ任意の手法を採用すればよい。尚、レンダリング処理は、ビデオカード等のグラフィックスハードウェアにて行われる。
【0054】
レンダリングされた画像を外部表示装置4に表示する(ステップ208)。ステップ206からステップ208を繰り返し行う事で、インタラクティブに3D形状を観察する事ができる。
【0055】
次に、画像管理サーバ6側において、元の3次元形状データである3DCGデータ21から、主成分CGデータ22と複数の詳細成分CGデータ23−1、23−2、…に分割する処理手順について詳しく説明する。図6、図7は、3DCGデータ21から主成分CGデータ22と複数の詳細成分CGデータ23−1、23−2、…に分割する処理手順を示すフローチャートである。図9は、3次元形状データ25を示す。本実施の形態では、任意ビットで定義された3DCGデータを、任意ビットの主成分CGデータと、任意ビットかつ任意個の詳細成分CGデータに分割する。主成分CGデータ及び詳細成分CGデータは、元の形状データよりも少ないビット数を割り当てて表現する。
【0056】
図6に示すように、まず、主成分CGデータ22に割り当てられたビット数で表現可能な最大値を算出し、vMaxに格納する(ステップ301)。例えば、32ビットで定義された図9の3次元形状データ25を対して、主成分CGデータ22に16ビットを割り当てられると、vMaxに16ビットで表現可能な最大値(216)が格納される。
【0057】
元の頂点座標のx成分、y成分、z成分毎に、最大値及び最小値を算出し、変数xMax(x成分の最大値)、xMin〈x成分の最小値〉、yMax(y成分の最大値)、yMin〈y成分の最小値〉、zMax〈z成分の最大値〉、zMin(z成分の最小値)に格納する(ステップ302)。例えば、図9に示すように、3次元形状データ25のx成分の最大値xMax(1.25)、x成分の最小値xMin(0.3)、y成分の最大値yMax(0.75)、y成分の最小値yMin(0.1)、z成分の最大値zMax(1)、z成分の最小値zMin(0.2)となる。
【0058】
x成分、y成分、z成分毎に、最大値と最小値の差分を算出し、変数xRange〈x成分の差分〉、yRange(y成分の差分)、zRange(z成分の差分)に格納する(ステップ303)。
xRange=xMax−xMin
yRange=yMax−yMin
zRange=zMax−zMin
例えば、図9の3次元形状データ25の場合、x成分の差分xRange=1.25−0.3=0.95、y成分の差分yRange=0.75−0.1=0.65、z成分の差分zRange=1−0.2=0.8となる。
【0059】
各頂点が0〜vMaxの範囲内の値となるよう正規化する(ステップ304)。
xNew[i]=vMax×(xOriginal[i]−xMin)/xRange
yNew[i]=vMax×(yOriginal[i]−yMin)/yRange
zNew[i]=vMax×(zOriginal[i]−zMin)/zRange
ここでxOriginal[i]、yOrigina[i]、zOriginal[i]は、元の3次元形状データのi番目にある頂点のx成分、y成分、z成分であり、xNew[i]、yNew[i]、zNew[i]は、正規化された3次元形状データのi番目にある頂点のx成分、y成分、z成分である。
【0060】
例えば、図9の3次元形状データ25上の頂点Aの座標(1.25、0.75、1)を0からvMax(216)の範囲で正規化すると、(xNew=216*(1.25−0.3)/0.95=216*1、yNew=216*1、zNew=216*1)となる。
【0061】
主成分CGデータ22として、形状データ32の頂点座標51にxNew、yNew、ZNewを、正規化用データ33の表現可能な最大値42にvMaxを、頂点座標の最大値、最小値43にxMax、xMin、yMax、yMin、zMax、zMin等を、サーバ側外部記憶装置7のファイルに出力する(ステップ305)。
尚、面情報41や質感データ34は、元のデータを変更する事なく使用すればよい。
【0062】
残りの詳細成分が存在する場合には(ステップ306)、ファイル出力前のデータとファイル出力されたデータとの差分を算出する(ステップ307)。
xOriginal[i]=
xOriginal[i]−xRange×(xNew[i]/vMax)+xMin
yOriginal[i]=
yOriginal[i]−yRange×(yNew[i]/vMax)+yMin
zOriginal[i]=
zOriginal[i]−zRange×(zNew[i]/vMax)+zMin
結果、xOriginal、yOriginal、zOriginalには、ファイル出力前のデータとファイル出力されたデータとの差分が格納される。
【0063】
図7に示すように、詳細成分データ23に割り当てられたビット数で表現可能な最大値を算出し、vMaxに格納する(ステップ308)。例えば、32ビットで定義された元の3DCGデータ22に対して、主成分CGデータ22に16ビットを割り当てられ、詳細成分CGデータ23に16ビットが割り当てられると、vMaxに16ビットで表現可能な最大値(216)が格納される。
【0064】
x成分、y成分、z成分毎に、最大値及び最小値を算出し、変数xMax(x成分の最大値)、xMin〈x成分の最小値〉、yMax(y成分の最大値)、yMin〈y成分の最小値〉、zMax〈z成分の最大値〉、zMin(z成分の最小値)に格納する(ステップ309)。
【0065】
x成分、y成分、z成分毎に、最大値と最小値の差分を算出し、変数xRange〈x成分の差分〉、yRange(y成分の差分)、zRange(z成分の差分)に格納する(ステップ310)。
xRange=xMax−xMin
yRange=yMax−yMin
zRange=zMax−zMin
【0066】
各頂点が0〜vMaxの範囲内の値となるよう正規化する(ステップ311)。
xNew[i]=vMax×(xOriginal[i]−xMin)/xRange
yNew[i]=vMax×(yOriginal[i]−yMin)/yRange
zNew[i]=vMax×(zOriginal[i]−zMin)/zRange
ここでxNew[i]、yNew[i]、zNew[i]は、正規化された3次元形状データのi番目にある頂点の差分を表わすx成分、y成分、z成分である。
【0067】
詳細成分CGデータ23として、形状データ62の頂点座標81にxNew、yNew、zNewを、正規化用データ63の表現可能な最大値72にvMaxを、頂点座標の最大値、最小値73にxMax、xMin、yMax、yMin、zMax、zMin等を、サーバ側外部記憶装置7のファイルに出力する(ステップ312)。
ステップ306からステップ312を繰り返し、詳細成分の処理を行う。
【0068】
全ての詳細成分を出力した場合には(ステップ306)、終了する。
【0069】
尚、本実施の形態では、頂点座標についてのみ説明したが、法線ベクトルやテクスチャ座標についても同様の処理を行えばよい。
【0070】
次に、画像生成装置2における、ステップ201からステップ205の処理である主成分CGデータ22と詳細成分CGデータ23から元の3次元形状データである3DCGデータを復元する処理手順について説明する。図8は、主成分CGデータ22と詳細成分CGデータ23から元の3DCGデータを復元する処理手順を示すフローチャートである。
【0071】
図8に示すように、サーバ側CGデータ読み込み部11は、サーバ側外部記憶装置7より主成分CGデータ22を読み込む(ステップ401)。主成分データに割り当てられたビット数で表現可能な最大値をvMaxに、頂点座標の最大値及び最小値を変数xMax〈x成分の最大値)、xMin〈x成分の最小値)、yMax(y成分の最大値)、yMin(y成分の最小値)、zMax(z成分の最大値)、zMin〈z成分の最小値〉に、正規化された頂点座標を配列xNew〈x成分〉、yNew(y成分)、zNew〈z成分〉に格納する。
【0072】
また頂点座標を格納する配列xOriginal(x成分)、yOriginaI(y成分)、zOriginal(z成分)を0で初期化する。
【0073】
x成分、y成分、z成分毎に、最大値と最小値の差分を算出し、変数xRange〈x成分の差分〉、yRange(y成分の差分)、zRange(z成分の差分)に格納する(ステップ402)。
xRange=xMax−xMin
yRange=yMax−yMin
zRange=zMax−zMin
【0074】
正規化された頂点座標51を元の座標に復元する(ステップ403)。
xOriginal[i]=
xOriginal[i]+xRange×〈xNew[i]/vMax〉+xMin
yOriginal[i]=
yOriginal[i]+yRange×〈yNew[i]/vMax〉+yMin
zOriginal[i]=
zOriginal[i]+zRange×〈zNew[i]/vMax〉+zMin
【0075】
残りの詳細成分が存在する場合には(ステップ404)、サーバ側CGデータ読み込み部11はサーバ側外部記憶装置7より詳細成分CGデータ23を読み込む(ステップ405)。詳細成分CGデータ23に割り当てられたビット数で表現可能な最大値をvMaxに、頂点座標の最大値及び最小値を変数xMax〈x成分の最大値〉、xMin〈x成分の最小値〉、yMax(y成分の最大値)、yMin(y成分の最小値)、zMax〈z成分の最大値〉、zMin(z成分の最小値)に、正規化された頂点座標を配列xNew(x成分)、yNew(y成分)、zNew(z成分)に格納する。
【0076】
x成分、y成分、z成分ごとに,最大値と最小値の差分を算出し、変数xRange(x成分の差分)、yRange(y成分の差分)、zRange(z成分の差分)に格納する(ステップ406)。
xRange=xMax−xMin
yRange=yMax−yMin
zRange=zMax−zMin
ステップ403からステップ406を繰り返し、詳細成分CGデータを復元、合成する処理を行う。
【0077】
全ての詳細成分を処理した場合には(ステップ404)、終了する。
【0078】
以上説明したように、本実施の形態によれば、物体情報である3DCGデータを、物体の大まかな形状を定義する主成分CGデータと細部を定義する詳細成分CGデータに分割し、それぞれの成分を元のCGデータより少ないビット数で表現する。ユーザ9からCGデータ転送が要求された場合、まず、主成分CGデータのみを転送し、主成分CGデータ転送後に、詳細成分CGデータを転送する。これにより、主成分CGデータは元のCGデータに比べデータ容量が小さく転送に要する時間を削減でき、ユーザ9は詳細成分CGデータが転送される前に物体の大まかな形状を閲覧することができる。
【0079】
尚、本実施の形態では、視点位置を外部入力装置3より入力したが、視点位置を固定にし、外部入力装置3より物体の移動量(平行移動、回転量)を入力することも可能である。
【0080】
本実施例では、全てのユーザ9に主成CGデータと詳細成分CGデータを提供しているが、これに限定されるものではない。登録ユーザには主成分CGデータと詳細成分CGデータの両方を、未登録ユーザには主成分CGデータのみを提供する等、ユーザに応じてデータ精度を選別して提供することもできる。
【0081】
本実施例では、全てのユーザ9に主成分CGデータと詳細成分CGデータを提供しているが、これに限定されるものではない。ユーザ9が使用するパーソナルコンピュータ等の端末の性能に応じて提供するデータ精度を選別することもできる。低性能のCPUやグラフィックスカードを使用しているユーザ9に対し高精度のCGデータを提供しても、端末がその精度を十分に活用できず、結果無駄のデータ転送処理が実行される場合もある。ユーザ9の端末環境を調査し、ある程度以上の端末能力をもつユーザ9にのみ詳細成分CGデータを提供することも考えられる。
【0082】
また、図5、6、7、8に示す処理を行うプログラムはCD−ROM等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
【0083】
【発明の効果】
以上、詳細に説明したように本発明によれば、画像データ転送に要する時間を短縮し、ユーザが直ちに物体形状を把握する事が可能となる画像管理システムを提供することができる。
【図面の簡単な説明】
【図1】 本発明の実施の形態に係る画像管理システム1を示す図
【図2】 3DCGデータ21を示す図
【図3】 主成分CGデータ22のデータ構造を示す図
【図4】 詳細成分CGデータ23のデータ構造を示す図
【図5】 画像生成装置2によるCGデータ転送、更新処理および画像生成処理を示すフローチャート
【図6】 3DCGデータ21から主成分CGデータ22と複数の詳細成分CGデータ23−1、23−2、…に分割する処理手順を示すフローチャート
【図7】 3DCGデータ21から主成分CGデータ22と複数の詳細成分CGデータ23−1、23−2、…に分割する処理手順を示すフローチャート
【図8】 主成分CGデータ22と詳細成分CGデータ23から元の3DCGデータを復元する処理手順を示すフローチャート
【図9】 3次元形状データ25を示す図
【符号の説明】
1………画像管理システム
2………画像生成装置
3………外部入力装置
4………外部表示装置
5………ネットワーク(インターネット)
6………画像管理サーバ
7………サーバ側外部記憶装置
9………ユーザ
11………サーバ側CGデータ読み込み部
12………CGデータ合成部
13………CGデータ記憶部
14………視点情報算出部
15………レンダリング処理部
21………3DCGデータ
22………主成分CGデータ
23………詳細成分CGデータ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image management system, a server, and a user computer using a network.
[0002]
[Prior art]
Nowadays, computer hardware is improving rapidly. In particular, graphics hardware has made remarkable progress as represented by 3D (3D) games, and even 3D computer graphics (hereinafter referred to as 3DCG) are sufficient even for personal computers installed in general homes. It became possible to enjoy.
[0003]
In addition, network technologies represented by the Internet are rapidly spreading, and many personal computers are interconnected via a LAN (Local Area Network) or an ISP (Internet Service Provider).
[0004]
VRML (Virtual Reality Modeling Language) is a technology that fuses 3DCG and a network. VRML is a language specification for describing 3DCG handled on the Internet, and a user can read and display VRML files stored in a WWW (World Wide Web) server on the Internet using a VRML compatible browser.
[0005]
[Problems to be solved by the invention]
However, since VRML downloads all 3DCG data via the Internet, it takes a lot of time each time display is started. An approach to present the outline of the shape to the user by dividing the shape into multiple parts and displaying the bounding box for each part during data transfer, but it is effective because the shape is oversimplified It is hard to say.
[0006]
A method of storing all 3DCG data in the end user environment such as a hard disk in advance and shortening the time required for display can be considered. However, when the 3DCG data producer changes or modifies the data, the end is immediately started. The update result cannot be reflected on the user, and the advantage of being connected to the network is not utilized.
[0007]
The present invention has been made in view of the above points, and has as its object to provide an image management system that shortens the time required for image data transfer and allows the user to immediately grasp the object shape. .
[0008]
[Means for Solving the Problems]
In order to achieve the above-described object, the first invention is a server connected to a user computer via a network, the vertex coordinates of an object with respect to a specific object, and surface information representing a connection relationship of the vertex information; An image including shape information having a number of bits is expressed with fewer bits than the image, and the vertex information is normalized to be a value within a range of 0 to the maximum value that can be expressed with the number of bits. Expressing the principal information consisting of a maximum value that can be expressed by the number of bits, data for normalization having information on the maximum value and minimum value of the vertex information, and fewer bits than the image, and the vertex information from 0 The difference data that is normalized so as to be a value within the range of the maximum value that can be expressed by the number of bits, the maximum value that can be expressed by the number of bits, and the information on the maximum value and the minimum value of the vertex information And-normalized data, and a plurality of detail component comprising a server, characterized by divided into.
[0009]
The image is a computer graphic image, a product image, or the like, and includes shape information having vertex information of an object and surface information representing a connection relationship of the vertex information. The main component and the detailed component are expressed by a smaller number of bits than the original image.
[0010]
In the first invention, the server expresses an image including shape information having the vertex coordinates of the object with respect to the specific object and the surface information representing the connection relation of the vertex information with fewer bits than the image, and the vertex information Normalization with data that normalizes to 0 to the maximum value that can be expressed by the number of bits, the maximum value that can be expressed by the number of bits, and the maximum and minimum information of vertex information The difference data that is expressed by the main component consisting of the data, the fewer bits than the image, and is normalized so that the vertex information is a value within the range of 0 to the maximum value that can be expressed by the number of bits, and the number of bits It is divided into a plurality of detailed components composed of a maximum value that can be expressed and data for normalization having information on the maximum value and minimum value of vertex information.
[0011]
Moreover, 2nd invention is a user computer connected to the server by the network, Comprising: The said server has the vertex coordinate of the object with respect to a specific target object, and the surface information showing the connection relation of the said vertex information An image including shape information is represented with fewer bits than the image, and the vertex information is normalized to a value within a range of 0 to the maximum value that can be represented by the number of bits, and the number of bits. Expressing the principal component consisting of a maximum value that can be expressed, normalization data having the maximum value and minimum value information of the vertex information, and fewer bits than the image, and the vertex information from 0 to the number of bits For normalization having difference data to be normalized to a value within the range of the maximum value that can be expressed by, the maximum value that can be expressed by the number of bits, and information on the maximum value and minimum value of the vertex information De A principal component restoration means for restoring and storing the original image based on the normalization data from the principal component received from the server, and the server. From the detailed components received from the above, the original image is restored based on the normalization data, synthesized with an already stored image, and stored in detail component restoring means, in parallel with the detailed component restoring means A user computer comprising: display means for processing and rendering and displaying the stored image.
[0012]
In the second invention, the user computer is connected to a server via a network, and the server includes an image including shape information having vertex coordinates of the object and surface information representing a connection relation of the vertex information with respect to the specific object. , Data that is expressed in fewer bits than the image, and normalizing the vertex information to a value within the range of 0 to the maximum value that can be expressed in bits, the maximum value that can be expressed in bits, and the vertex information The main component consisting of normalization data having the maximum value and minimum value information, and the number of bits smaller than the image are represented, and the vertex information is a value within the range of 0 to the maximum value that can be represented by the number of bits. Divided into a plurality of detailed components consisting of difference data to be normalized to, a maximum value that can be expressed by the number of bits, and the normalization data having information on the maximum value and minimum value of vertex information, Received from From the principal component, the original image is restored and stored based on the normalization data, and from the detailed component received from the server, the original image is restored based on the normalization data. A detailed component restoration unit that synthesizes and stores an already stored image is provided, and the stored image that is processed in parallel with the detailed component restoration unit is rendered and displayed.
[0013]
The third invention is an image management system in which a user computer and a server are connected via a network, and the server determines a connection relationship between the vertex coordinates of an object and the vertex information with respect to a specific object. An image including shape information having surface information to be expressed is expressed with fewer bits than the image, and the vertex information is normalized so as to be a value within a range of 0 to the maximum value that can be expressed by the number of bits. A principal component composed of data, a maximum value that can be expressed by the number of bits, and data for normalization having information on the maximum value and the minimum value of the vertex information; Difference data that normalizes the information so that the value is within a range of 0 to the maximum value that can be expressed by the number of bits, the maximum value that can be expressed by the number of bits, and the maximum and minimum values of the vertex information information Division means for dividing the normalized data into a plurality of detailed components, and transmission means for transmitting the principal components to the user computer and transmitting the detailed components. The computer restores and stores the original image based on the normalization data from the principal component received from the server, and the normalization data from the detailed component received from the server. The original image is restored on the basis of the image, and the detailed component restoring means for combining and storing the image with the already stored image, and the stored image processed in parallel with the detailed component restoring means are rendered and displayed. And an image management system.
[0014]
The third invention is an invention relating to an image management system comprising the server of the first invention and the user computer of the second invention.
[0015]
A fourth invention is a program for causing a computer to function as the server of the first invention.
A fifth invention is a recording medium on which a program for causing a computer to function as the server of the first invention is recorded.
[0016]
A sixth invention is a program for causing a computer to function as the user computer of the second invention.
A seventh invention is a recording medium on which a program for causing a computer to function as the user computer of the second invention is recorded.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail based on the drawings. FIG. 1 is a diagram showing a schematic configuration of an image management system 1 according to the present embodiment.
[0022]
In FIG. 1, an image management system 1 includes an image generation device 2, an external input device 3, an external display device 4, a network 5, an image management server 6, a server-side external storage device 7, and the like. The image generation device 2 is connected to the image management server 6 via a network 5 such as the Internet, for example. 9 indicates a user.
[0023]
The image generation device 2 generates a CG image based on the viewpoint information input from the external input device 3 and the 3DCG data read from the server-side external storage device 7 and outputs the CG image to the external display device 4.
[0024]
The external input device 3 is a device such as a mouse, a keyboard, and a tablet, and inputs viewpoint information such as a position where an object shape is observed.
[0025]
The external display device 4 is a device that displays the CG image generated by the image generation device 2, and is a CRT display or the like.
[0026]
The image management server 6 is connected to the image generation device 2 via the network 5 and defines the rough shape of the object from the object shape information that is composed of the vertex information of the object and the connection relation of the surface as 3DCG data. The component is divided into a component and a plurality of detail components that define details, and stored in the server-side external storage device 7.
[0027]
The server-side external storage device 7 is a storage device prepared on the server side. The server-side external storage device 7 connected to the image generation device 2 via the network 5 stores object information including object shape information, texture information, texture image information, and the like, and light source information including types, positions, attributes, and the like. In this embodiment, object shape information composed of object vertex information and surface connection relation is divided into principal components and detailed components and stored in the server-side external storage device 7. The server-side external storage device 7 is, for example, a hard disk or a CD-ROM, and requires more time to read data than a storage device prepared on the user side.
[0028]
Next, the image generation device 2 will be described. The image generation apparatus 2 includes a server-side CG data reading unit 11, a CG data synthesis unit 12, a CG data storage unit 13, a viewpoint information calculation unit 14, and a rendering processing unit 15. The image generation device 2 is composed of, for example, a single computer.
[0029]
The server-side CG data reading unit 11 reads the CG data of the object from the server-side external storage device 7 and sends the CG data to the CG data combining unit 12.
[0030]
The CG data synthesis unit 12 receives CG data read from the server-side external storage device 7, receives data already stored from the CG data storage unit 13, and synthesizes these two data to generate high-precision CG data. To do. The updated CG data is sent to the CG data storage unit 13.
[0031]
The CG data storage unit 13 stores the CG data received from the CG data synthesis unit 12.
[0032]
The viewpoint information calculation unit 14 calculates viewpoint information such as a camera viewpoint, an upward vector, and a gazing point from the parameters input by the external input device 3.
[0033]
The rendering processing unit 15 receives CG data from the CG data storage unit 13 and viewpoint information from the viewpoint information calculation unit 14, renders an object, generates a CG image, and outputs the CG image to the external display device 4.
[0034]
Next, the data structure of the 3DCG data of the object will be described. FIG. 2 shows the 3DCG data 21. The 3DCG data is composed of a plurality of 3DCG objects. In general, a 3DCG object includes shape data, texture data, texture data, and the like. However, in this embodiment, as shown in FIG. 2, the 3DCG data 21 is composed of principal component CG data 22 that defines a rough shape of an object, and details. Are divided into a plurality of detailed component CG data 23-1, 23-2,..., And each component is expressed by a smaller number of bits than the original 3DCG data 21.
[0035]
Next, the data structure of the principal component CG data 22 will be described. FIG. 3 shows the data structure of the principal component CG data 22.
[0036]
As shown in FIG. 3, the principal component CG data 22 includes a name 31, shape data 32, normalization data 33, texture data 34, and the like.
[0037]
The name 31 is used to identify each shape and assigns a unique character string to all shapes. For example, the name 31 is “tire front right”.
[0038]
The shape data 32 includes vertex information 40 including a vertex coordinate 51, a normal vector 52, a texture coordinate 53, and the like, and surface information 41 that defines a connection relationship between these vertex information 40. The vertex coordinates 51, the normal vector 52, and the texture coordinates 53 are data normalized by a 3DCG data division method described later, and are restored using the normalization data 33.
[0039]
The normalization data 33 includes a maximum value 42 that can be expressed with a smaller number of bits than the given original 3DCG data 21, a maximum value and a minimum value 43 of vertex coordinates, a maximum value and a minimum value 44 of normal vectors, and texture coordinates. And a minimum value 45.
[0040]
The texture data 34 includes an environment reflected light component 46, a diffuse reflected light component 47, a specular reflected light component 48, a radiated light component 49, and the like, and defines material characteristics of the object surface.
[0041]
Next, the data structure of the detailed component CG data 23 will be described. FIG. 4 shows the data structure of the detailed component CG data 23.
[0042]
As shown in FIG. 4, the detailed component CG data 23 includes a name 61, shape data 62, normalization data 63, and the like.
[0043]
The name 61 is used for association with the principal component CG data 22 and assigns the same character string as the corresponding principal component CG data 22. For example, the name 61 is “tire front right” which is the same as the name 31 of the principal component CG data 22.
[0044]
The shape data 62 includes vertex information (difference) 70 including vertex coordinates 81, normal vectors 82, texture coordinates 83, and the like. The vertex coordinate 81, the normal vector 82, and the texture coordinate 83 are differential data normalized by the 3DCG data division method described later, and are restored using the normalization data 63.
[0045]
The normalization data 63 includes a maximum value 72 that can be expressed with a smaller number of bits than the given original 3DCG data 21, a maximum value and a minimum value 73 of vertex coordinates, a maximum value and a minimum value 74 of normal vectors, and texture coordinates. And a minimum value 75.
[0046]
Hereinafter, transfer, update processing, and image generation processing of 3DCG data in the image generation apparatus 2 in the image management system 1 will be described. FIG. 5 is a flowchart showing 3DCG data transfer, update processing, and image generation processing by the image generation apparatus 2. In the present embodiment, the CG data transfer / update process performed from step 201 to step 205 and the CG image generation process performed from step 206 to step 208 are executed in parallel.
[0047]
As shown in FIG. 5, the server-side CG data reading unit 11 reads the main component CG data 22 defining the rough shape of the object from the server-side external storage device 7 (step 201). The read principal component CG data 22 is restored to the original three-dimensional coordinates by the CG data synthesis unit 12 and sent to the CG data storage unit 13.
[0048]
The CG data storage unit 13 stores the CG data received from the CG data synthesis unit 12 (step 202).
[0049]
If there is unprocessed detailed component CG data 23 (step 203), the server-side CG data reading unit 11 reads the detailed component CG data 23 from the server-side external storage device 7 (step 204).
[0050]
The CG data synthesizing unit 12 receives the newly read detailed component CG data from the server-side CG data reading unit 11, receives the already stored CG data from the CG data storage unit 13, and synthesizes these two data. High-precision CG data is generated (step 205). By repeating step 202 to step 205, the user can gradually observe the object shape from a rough shape to a detailed shape step by step.
[0051]
When the processing for all the detailed component CG data is completed (step 203), the CG data transfer processing is terminated.
[0052]
The viewpoint information calculation unit 14 calculates viewpoint information such as a camera viewpoint, a gazing point, and an upward vector from the parameters input from the external input device 3 (step 206).
[0053]
The rendering processing unit 15 receives the 3DCG data from the CG data storage unit 13 and the viewpoint information from the viewpoint information calculation unit 14, and performs an object rendering process in consideration of the illumination effect and the like to generate a CG image (step 207). In this processing, various methods such as the ray tracing method and the Z buffer method are used, but any method may be adopted according to the environment and purpose of use. The rendering process is performed by graphics hardware such as a video card.
[0054]
The rendered image is displayed on the external display device 4 (step 208). By repeating step 206 to step 208, the 3D shape can be observed interactively.
[0055]
Next, on the image management server 6 side, a processing procedure for dividing the 3D CG data 21 which is the original 3D shape data into the main component CG data 22 and a plurality of detailed component CG data 23-1, 23-2,. explain in detail. 6 and 7 are flowcharts showing a processing procedure for dividing the 3DCG data 21 into the main component CG data 22 and a plurality of detailed component CG data 23-1, 23-2,. FIG. 9 shows the three-dimensional shape data 25. In the present embodiment, 3DCG data defined by arbitrary bits is divided into arbitrary bit principal component CG data and arbitrary bits and arbitrary detailed component CG data. The principal component CG data and the detailed component CG data are expressed by assigning a smaller number of bits than the original shape data.
[0056]
As shown in FIG. 6, first, the maximum value that can be expressed by the number of bits assigned to the principal component CG data 22 is calculated and stored in vMax (step 301). For example, if 16 bits are assigned to the principal component CG data 22 with respect to the 3D shape data 25 of FIG. 9 defined by 32 bits, the maximum value (2 16 ) Is stored.
[0057]
Maximum and minimum values are calculated for each of the x, y, and z components of the original vertex coordinates, and variables xMax (maximum value of x component), xMin <minimum value of x component>, yMax (maximum of y component) Value), yMin <minimum value of y component>, zMax <maximum value of z component>, and zMin (minimum value of z component) (step 302). For example, as shown in FIG. 9, the maximum x component value xMax (1.25) of the three-dimensional shape data 25, the minimum x component value xMin (0.3), and the maximum y component value yMax (0.75). , Y component minimum value yMin (0.1), z component maximum value zMax (1), z component minimum value zMin (0.2).
[0058]
The difference between the maximum value and the minimum value is calculated for each of the x component, the y component, and the z component, and stored in variables xRange <difference of x component>, yRange (difference of y component), and zRange (difference of z component) ( Step 303).
xRange = xMax-xMin
yRange = yMax-yMin
zRange = zMax-zMin
For example, in the case of the three-dimensional shape data 25 of FIG. 9, the x component difference xRange = 1.25-0.3 = 0.95, the y component difference yRange = 0.75-0.1 = 0.65, z Component difference zRange = 1-0.2 = 0.8.
[0059]
Normalization is performed so that each vertex has a value within the range of 0 to vMax (step 304).
xNew [i] = vMax × (xOriginal [i] −xMin) / xRange
yNew [i] = vMax × (yOriginal [i] −yMin) / yRange
zNew [i] = vMax × (zOriginal [i] −zMin) / zRange
Here, xOriginal [i], yOrigina [i], and zOriginal [i] are the x component, y component, and z component of the i-th vertex of the original three-dimensional shape data, and xNew [i], yNew [i]. ], ZNew [i] are the x component, y component, and z component of the i-th vertex of the normalized three-dimensional shape data.
[0060]
For example, the coordinates (1.25, 0.75, 1) of the vertex A on the three-dimensional shape data 25 in FIG. 9 are changed from 0 to vMax (2 16 ) Is normalized in the range of (xNew = 2) 16 * (1.25-0.3) /0.95=2 16 * 1, yNew = 2 16 * 1, zNew = 2 16 * 1)
[0061]
As the principal component CG data 22, xNew, yNew, ZNew are set to the vertex coordinates 51 of the shape data 32, vMax is set to the maximum value 42 that can be expressed in the normalization data 33, xMax is set to the maximum value and the minimum value 43 of the vertex coordinates, xMin, yMax, yMin, zMax, zMin, and the like are output to a file in the server-side external storage device 7 (step 305).
Note that the surface information 41 and the texture data 34 may be used without changing the original data.
[0062]
If there are remaining detailed components (step 306), the difference between the data before the file output and the data output to the file is calculated (step 307).
xOriginal [i] =
xOriginal [i] −xRange × (xNew [i] / vMax) + xMin
yOriginal [i] =
yOriginal [i] -yRange × (yNew [i] / vMax) + yMin
zOriginal [i] =
zOriginal [i] -zRange × (zNew [i] / vMax) + zMin
As a result, the difference between the data before file output and the data output to the file is stored in xOriginal, yOriginal, and zOriginal.
[0063]
As shown in FIG. 7, the maximum value that can be expressed by the number of bits allocated to the detailed component data 23 is calculated and stored in vMax (step 308). For example, when 16 bits are assigned to the principal component CG data 22 and 16 bits are assigned to the detailed component CG data 23 with respect to the original 3DCG data 22 defined by 32 bits, the vMax can be expressed by 16 bits. Maximum value (2 16 ) Is stored.
[0064]
The maximum value and the minimum value are calculated for each of the x component, the y component, and the z component, and the variables xMax (maximum value of the x component), xMin <minimum value of the x component>, yMax (maximum value of the y component), yMin < The minimum value of y component>, zMax <maximum value of z component>, and zMin (minimum value of z component) are stored (step 309).
[0065]
The difference between the maximum value and the minimum value is calculated for each of the x component, the y component, and the z component, and stored in variables xRange <difference of x component>, yRange (difference of y component), and zRange (difference of z component) ( Step 310).
xRange = xMax-xMin
yRange = yMax-yMin
zRange = zMax-zMin
[0066]
Normalization is performed so that each vertex has a value within the range of 0 to vMax (step 311).
xNew [i] = vMax × (xOriginal [i] −xMin) / xRange
yNew [i] = vMax × (yOriginal [i] −yMin) / yRange
zNew [i] = vMax × (zOriginal [i] −zMin) / zRange
Here, xNew [i], yNew [i], and zNew [i] are an x component, a y component, and a z component representing the difference of the i-th vertex of the normalized three-dimensional shape data.
[0067]
As the detailed component CG data 23, xNew, yNew, zNew is set to the vertex coordinate 81 of the shape data 62, vMax is set to the maximum value 72 that can be expressed in the normalization data 63, xMax is set to the maximum value and the minimum value 73 of the vertex coordinate, xMin, yMax, yMin, zMax, zMin, and the like are output to a file in the server-side external storage device 7 (step 312).
Steps 306 to 312 are repeated to perform detailed component processing.
[0068]
If all the detailed components have been output (step 306), the process ends.
[0069]
Although only vertex coordinates have been described in the present embodiment, the same processing may be performed for normal vectors and texture coordinates.
[0070]
Next, a processing procedure for restoring the 3DCG data, which is the original three-dimensional shape data, from the main component CG data 22 and the detailed component CG data 23 in the image generating apparatus 2 will be described. FIG. 8 is a flowchart showing a processing procedure for restoring the original 3DCG data from the principal component CG data 22 and the detailed component CG data 23.
[0071]
As shown in FIG. 8, the server-side CG data reading unit 11 reads the main component CG data 22 from the server-side external storage device 7 (step 401). The maximum value that can be expressed by the number of bits assigned to the principal component data is vMax, and the maximum and minimum values of the vertex coordinates are variables xMax (maximum value of x component), xMin (minimum value of x component), yMax (y Component maximum value), yMin (minimum value of y component), zMax (maximum value of z component), zMin <minimum value of z component>, and array of normalized vertex coordinates xNew <x component>, yNew ( y component) and zNew <z component>.
[0072]
Also, the arrays xOriginal (x component), yOriginaI (y component) and zOriginal (z component) storing vertex coordinates are initialized with zero.
[0073]
The difference between the maximum value and the minimum value is calculated for each of the x component, the y component, and the z component, and stored in variables xRange <difference of x component>, yRange (difference of y component), and zRange (difference of z component) ( Step 402).
xRange = xMax-xMin
yRange = yMax-yMin
zRange = zMax-zMin
[0074]
The normalized vertex coordinates 51 are restored to the original coordinates (step 403).
xOriginal [i] =
xOriginal [i] + xRange × <xNew [i] / vMax> + xMin
yOriginal [i] =
yOriginal [i] + yRange × <yNew [i] / vMax> + yMin
zOriginal [i] =
zOriginal [i] + zRange × <zNew [i] / vMax> + zMin
[0075]
If there are remaining detailed components (step 404), the server-side CG data reading unit 11 reads the detailed component CG data 23 from the server-side external storage device 7 (step 405). The maximum value that can be expressed by the number of bits assigned to the detailed component CG data 23 is vMax, and the maximum and minimum values of vertex coordinates are variables xMax <maximum value of x component>, xMin <minimum value of x component>, yMax. (Maximum value of y component), yMin (minimum value of y component), zMax <maximum value of z component>, zMin (minimum value of z component), and array of normalized vertex coordinates xNew (x component), Store in yNew (y component) and zNew (z component).
[0076]
The difference between the maximum value and the minimum value is calculated for each of the x component, the y component, and the z component, and stored in variables xRange (difference of x component), yRange (difference of y component), and zRange (difference of z component) ( Step 406).
xRange = xMax-xMin
yRange = yMax-yMin
zRange = zMax-zMin
Steps 403 to 406 are repeated to restore and synthesize the detailed component CG data.
[0077]
If all the detailed components have been processed (step 404), the process ends.
[0078]
As described above, according to the present embodiment, 3DCG data that is object information is divided into principal component CG data that defines a rough shape of an object and detailed component CG data that defines details, and the respective components are divided. Is expressed with a smaller number of bits than the original CG data. When the user 9 requests CG data transfer, first, only the main component CG data is transferred, and after the main component CG data transfer, the detailed component CG data is transferred. As a result, the principal component CG data has a smaller data capacity than the original CG data and can reduce the time required for transfer, and the user 9 can view the rough shape of the object before the detailed component CG data is transferred. .
[0079]
In this embodiment, the viewpoint position is input from the external input device 3. However, it is also possible to fix the viewpoint position and input the movement amount (parallel movement, rotation amount) of the object from the external input device 3. .
[0080]
In this embodiment, the main component CG data and the detailed component CG data are provided to all users 9, but the present invention is not limited to this. It is also possible to select and provide data accuracy according to the user, such as providing both the principal component CG data and the detailed component CG data to registered users and only the principal component CG data to unregistered users.
[0081]
In this embodiment, the main component CG data and the detailed component CG data are provided to all users 9, but the present invention is not limited to this. The data accuracy to be provided can be selected according to the performance of a terminal such as a personal computer used by the user 9. Even if high-accuracy CG data is provided to the user 9 who uses a low-performance CPU or graphics card, the terminal cannot fully utilize the accuracy, and a wasteful data transfer process may be executed. is there. It is also conceivable to investigate the terminal environment of the user 9 and provide detailed component CG data only to the user 9 having a certain terminal capability.
[0082]
Further, the program for performing the processing shown in FIGS. 5, 6, 7, and 8 may be distributed by being held on a recording medium such as a CD-ROM, or the program can be transmitted and received via a communication line.
[0083]
【The invention's effect】
As described above in detail, according to the present invention, it is possible to provide an image management system that shortens the time required to transfer image data and enables the user to immediately grasp the object shape.
[Brief description of the drawings]
FIG. 1 is a diagram showing an image management system 1 according to an embodiment of the present invention.
FIG. 2 is a diagram showing 3DCG data 21
FIG. 3 is a diagram showing a data structure of principal component CG data 22
FIG. 4 is a diagram showing a data structure of detailed component CG data 23
FIG. 5 is a flowchart showing CG data transfer, update processing, and image generation processing by the image generation device 2;
FIG. 6 is a flowchart showing a processing procedure for dividing the 3DCG data 21 into the main component CG data 22 and a plurality of detailed component CG data 23-1, 23-2,.
FIG. 7 is a flowchart showing a processing procedure for dividing 3DCG data 21 into principal component CG data 22 and a plurality of detailed component CG data 23-1, 23-2,.
FIG. 8 is a flowchart showing a processing procedure for restoring the original 3DCG data from the principal component CG data 22 and the detailed component CG data 23;
FIG. 9 is a diagram showing three-dimensional shape data 25
[Explanation of symbols]
1. Image management system
2 ... Image generation device
3 ... External input device
4 .... External display device
5 ... Network (Internet)
6 ... Image management server
7: Server-side external storage device
9 ... User
11: Server side CG data reading part
12 ... CG data composition unit
13 ... CG data storage
14 ......... Viewpoint information calculator
15: Rendering processing unit
21 ... 3DCG data
22 ......... Main component CG data
23 ......... Detailed component CG data

Claims (11)

ネットワークによりユーザコンピュータに接続されたサーバであって、
特定対象物に対する、物体の頂点座標と、前記頂点情報の接続関係を表す面情報と、を有する形状情報を含む画像を、
前記画像より少ないビットで表現し、前記頂点情報を0から前記ビット数で表現可能な最大値の範囲内の値になるように正規化するデータと、前記ビット数で表現可能な最大値と、前記頂点情報の最大値と最小値の情報を有する正規化用データと、からなる主成分と、
前記画像より少ないビットで表現し、前記頂点情報を0から前記ビット数で表現可能な最大値の範囲内の値になるように正規化する差分データと、前記ビット数で表現可能な最大値と、前記頂点情報の最大値と最小値の情報を有する前記正規化用データと、からなる複数の詳細成分と、に分割することを特徴とするサーバ。
A server connected to a user computer via a network,
An image including shape information having the vertex coordinates of the object and the surface information representing the connection relationship of the vertex information with respect to the specific object,
Expressing with fewer bits than the image, normalizing the vertex information to be a value within a range of 0 to the maximum value that can be expressed by the number of bits, and a maximum value that can be expressed by the number of bits, A main component consisting of normalization data having information on the maximum value and the minimum value of the vertex information; and
Expressed with fewer bits than the image, normalizing the vertex information to a value within the range of 0 to the maximum value that can be expressed by the number of bits, and a maximum value that can be expressed by the number of bits. The server is divided into a plurality of detailed components composed of the normalization data having the maximum value and the minimum value information of the vertex information.
前記画像は、コンピュータグラフィック画像、又は商品の画像であることを特徴とする請求項1、又は請求項2に記載されたサーバ。  The server according to claim 1, wherein the image is a computer graphic image or an image of a product. 前記対象物は、複数の物体からなることを特徴とする請求項1、又は請求項2に記載されたサーバ。  The server according to claim 1, wherein the object includes a plurality of objects. 前記頂点情報は、頂点座標、法線ベクトル、テクスチャ座標を有することを特徴とする請求項1、又は請求項2に記載されたサーバ。  The server according to claim 1, wherein the vertex information includes vertex coordinates, normal vectors, and texture coordinates. ネットワークによりサーバに接続されたユーザコンピュータであって、
前記サーバが、特定対象物に対する、物体の頂点座標と、前記頂点情報の接続関係を表す面情報と、を有する形状情報を含む画像を、前記画像より少ないビットで表現し、前記頂点情報を0から前記ビット数で表現可能な最大値の範囲内の値になるように正規化するデータと、前記ビット数で表現可能な最大値と、前記頂点情報の最大値と最小値の情報を有する正規化用データと、からなる主成分と、前記画像より少ないビットで表現し、前記頂点情報を0から前記ビット数で表現可能な最大値の範囲内の値になるように正規化する差分データと、前記ビット数で表現可能な最大値と、前記頂点情報の最大値と最小値の情報を有する前記正規化用データと、からなる複数の詳細成分と、に分割し、
前記サーバから受け取った前記主成分から、前記正規化用データに基づいて元の前記画像を復元、記憶する主成分復元手段と、
前記サーバから受け取った前記詳細成分から、前記正規化用データに基づいて元の前記画像を復元し、既に記憶されている画像と合成し、記憶する詳細成分復元手段と、
前記詳細成分復元手段と並列に処理する、記憶されている前記画像をレンダリング、表示する表示手段と、
を具備することを特徴とするユーザコンピュータ。
A user computer connected to a server by a network,
The server expresses an image including shape information having the vertex coordinates of the object with respect to the specific object and the surface information indicating the connection relation of the vertex information with fewer bits than the image, and the vertex information is 0. Data that is normalized so that the value is within the range of the maximum value that can be expressed by the number of bits, the maximum value that can be expressed by the number of bits, and the maximum value and the minimum value information of the vertex information. And a difference data for normalizing the vertex information to be a value within a range of 0 to the maximum value that can be expressed by the number of bits. , And dividing into a plurality of detailed components consisting of the maximum value that can be expressed by the number of bits, and the normalization data having information on the maximum value and the minimum value of the vertex information ,
Principal component restoration means for restoring and storing the original image based on the normalization data from the principal component received from the server;
Detailed component restoration means for restoring the original image based on the normalization data from the detailed component received from the server, synthesizing and storing the image, and storing the image.
Display means for rendering and displaying the stored image, which is processed in parallel with the detailed component restoration means;
A user computer comprising:
前記頂点情報は、頂点座標、法線ベクトル、テクスチャ座標を有することを特徴とする請求項5に記載されたユーザコンピュータ。  6. The user computer according to claim 5, wherein the vertex information includes vertex coordinates, normal vectors, and texture coordinates. ユーザコンピュータと、サーバとが、ネットワークで接続された画像管理システムであって、
前記サーバは、
特定対象物に対する、物体の頂点座標と、前記頂点情報の接続関係を表す面情報と、を有する形状情報を含む画像を、
前記画像より少ないビットで表現し、前記頂点情報を0から前記ビット数で表現可能な最大値の範囲内の値になるように正規化するデータと、前記ビット数で表現可能な最大値と、前記頂点情報の最大値と最小値の情報を有する正規化用データと、からなる主成分と、
前記画像より少ないビットで表現し、前記頂点情報を0から前記ビット数で表現可能な最大値の範囲内の値になるように正規化する差分データと、前記ビット数で表現可能な最大値と、前記頂点情報の最大値と最小値の情報を有する前記正規化用データと、からなる複数の詳細成分と、に分割する分割手段と、
前記ユーザコンピュータに、前記主成分を送信し、前記詳細成分を送信する送信手段と、
を備え、
前記ユーザコンピュータは、
前記サーバから受け取った前記主成分から、正規化用データに基づいて元の前記画像を復元、記憶する主成分復元手段と、
前記サーバから受け取った前記詳細成分から、前記正規化用データに基づいて元の前記画像を復元し、既に記憶されている画像と合成、記憶する詳細成分復元手段と、
前記詳細成分復元手段と並列に処理する、記憶されている前記画像をレンダリング、表示する表示手段と、
を具備することを特徴とする画像管理システム。
An image management system in which a user computer and a server are connected via a network,
The server
An image including shape information having the vertex coordinates of the object and the surface information representing the connection relationship of the vertex information with respect to the specific object,
Expressing with fewer bits than the image, normalizing the vertex information to be a value within a range of 0 to the maximum value that can be expressed by the number of bits, and a maximum value that can be expressed by the number of bits, A main component consisting of normalization data having information on the maximum value and the minimum value of the vertex information; and
Expressed with fewer bits than the image, normalizing the vertex information to a value within the range of 0 to the maximum value that can be expressed by the number of bits, and a maximum value that can be expressed by the number of bits. Dividing means for dividing into a plurality of detailed components composed of the normalization data having the maximum value and the minimum value information of the vertex information;
Transmitting means for transmitting the principal component to the user computer and transmitting the detailed component;
With
The user computer is
Principal component restoration means for restoring and storing the original image based on normalization data from the principal component received from the server;
Detailed component restoration means for restoring the original image based on the normalization data from the detailed component received from the server, and combining and storing the image with an already stored image;
Display means for rendering and displaying the stored image, which is processed in parallel with the detailed component restoration means;
An image management system comprising:
コンピュータを請求項1から請求項4いずれかに記載のサーバとして機能させるプログラム。  A program for causing a computer to function as the server according to any one of claims 1 to 4. コンピュータを請求項1から請求項4いずれかに記載のサーバとして機能させるプログラムを記録した記録媒体。  A recording medium on which a program for causing a computer to function as the server according to any one of claims 1 to 4 is recorded. コンピュータを請求項5又は請求項6に記載のユーザコンピュータとして機能させるプログラム。  The program which functions a computer as a user computer of Claim 5 or Claim 6. コンピュータを請求項5又は請求項6に記載のユーザコンピュータとして機能させるプログラムを記録した記録媒体。  A recording medium on which a program for causing a computer to function as the user computer according to claim 5 or 6 is recorded.
JP2001084630A 2001-03-23 2001-03-23 Image management system, server, user computer, and storage medium Expired - Fee Related JP3740024B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001084630A JP3740024B2 (en) 2001-03-23 2001-03-23 Image management system, server, user computer, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001084630A JP3740024B2 (en) 2001-03-23 2001-03-23 Image management system, server, user computer, and storage medium

Publications (2)

Publication Number Publication Date
JP2002288689A JP2002288689A (en) 2002-10-04
JP3740024B2 true JP3740024B2 (en) 2006-01-25

Family

ID=18940265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001084630A Expired - Fee Related JP3740024B2 (en) 2001-03-23 2001-03-23 Image management system, server, user computer, and storage medium

Country Status (1)

Country Link
JP (1) JP3740024B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2812168B2 (en) * 1993-12-27 1998-10-22 松下電器産業株式会社 Shape data compression method and shape data decompression method
JP4005180B2 (en) * 1996-07-29 2007-11-07 松下電器産業株式会社 Shape data compression device, decompression device
JP3549014B2 (en) * 1998-08-26 2004-08-04 日本電信電話株式会社 Three-dimensional figure transmitting / receiving method, recording medium, and three-dimensional figure transmitting / receiving system
JP4034002B2 (en) * 1999-04-22 2008-01-16 三菱電機株式会社 Distributed virtual space information management transmission method

Also Published As

Publication number Publication date
JP2002288689A (en) 2002-10-04

Similar Documents

Publication Publication Date Title
US6700586B1 (en) Low cost graphics with stitching processing hardware support for skeletal animation
US7425954B2 (en) Systems and methods for providing signal-specialized parametrization
US7218322B2 (en) Systems and methods for providing a fine to coarse look ahead in connection with parametrization metrics in a graphics system
US7212206B2 (en) Method and apparatus for self shadowing and self interreflection light capture
US20060176302A1 (en) Visible surface determination system &amp; methodology in computer graphics using interval analysis
US20020060685A1 (en) Method, system, and computer program product for managing terrain rendering information
JP2023029984A (en) Method, device, electronic apparatus, and readable storage medium for generating virtual image
EP3211601B1 (en) Rendering the global illumination of a 3d scene
KR20080018404A (en) Computer readable recording medium having background making program for making game
GB2406252A (en) Generation of texture maps for use in 3D computer graphics
US20180276870A1 (en) System and method for mass-animating characters in animated sequences
JP4842242B2 (en) Method and apparatus for real-time expression of skin wrinkles during character animation
WO2023179091A1 (en) Three-dimensional model rendering method and apparatus, and device, storage medium and program product
US20240331330A1 (en) System and Method for Dynamically Improving the Performance of Real-Time Rendering Systems via an Optimized Data Set
Scholz et al. Real‐time isosurface extraction with view‐dependent level of detail and applications
Kranzlmuller et al. Optimizations in the grid visualization kernel
Dong et al. Real‐Time Large Crowd Rendering with Efficient Character and Instance Management on GPU
EP2062223A2 (en) Computer graphics methods and systems for generating images with rounded corners
JP3740024B2 (en) Image management system, server, user computer, and storage medium
CN114842127A (en) Terrain rendering method and device, electronic equipment, medium and product
Tariq et al. Instanced model simplification using combined geometric and appearance-related metric
Kim et al. Multiresolution model generation with geometry and texture
Leavitt 3D technology, ready for the PC?
CN118397226A (en) Three-dimensional model determining method and electronic equipment
Pan Perceptual Quality Metric for Qualitative Evaluation of 3D Objects

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050621

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050815

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051104

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091111

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091111

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101111

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101111

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111111

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121111

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131111

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees