JP3615007B6 - 漸進的メッシュ - Google Patents
漸進的メッシュ Download PDFInfo
- Publication number
- JP3615007B6 JP3615007B6 JP1997003755A JP375597A JP3615007B6 JP 3615007 B6 JP3615007 B6 JP 3615007B6 JP 1997003755 A JP1997003755 A JP 1997003755A JP 375597 A JP375597 A JP 375597A JP 3615007 B6 JP3615007 B6 JP 3615007B6
- Authority
- JP
- Japan
- Prior art keywords
- mesh
- vertex
- detail
- computer
- refinement
- 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
Links
- 238000000034 method Methods 0.000 claims description 292
- 230000009466 transformation Effects 0.000 claims description 138
- 230000000750 progressive effect Effects 0.000 claims description 80
- 238000000844 transformation Methods 0.000 claims description 43
- 238000002156 mixing Methods 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 36
- 230000000007 visual effect Effects 0.000 claims description 29
- 238000009877 rendering Methods 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 25
- 230000007704 transition Effects 0.000 claims description 17
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000004321 preservation Methods 0.000 claims description 8
- 230000002441 reversible effect Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 5
- 238000012886 linear function Methods 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 230000000670 limiting effect Effects 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 2
- 238000012217 deletion Methods 0.000 claims 20
- 230000037430 deletion Effects 0.000 claims 20
- 238000013500 data storage Methods 0.000 claims 14
- 230000004044 response Effects 0.000 claims 6
- 238000007670 refining Methods 0.000 claims 3
- 206010024796 Logorrhoea Diseases 0.000 claims 1
- 238000013507 mapping Methods 0.000 claims 1
- 239000000203 mixture Substances 0.000 claims 1
- 238000005192 partition Methods 0.000 claims 1
- 230000011218 segmentation Effects 0.000 claims 1
- 238000005457 optimization Methods 0.000 description 31
- 230000014509 gene expression Effects 0.000 description 26
- 230000008569 process Effects 0.000 description 19
- 238000010276 construction Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 7
- 239000000463 material Substances 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000004576 sand Substances 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 241000871495 Heeria argentea Species 0.000 description 1
- 238000000137 annealing Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001125 extrusion Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
Images
Description
【0001】
【発明の属する技術分野】
本発明は、一般に、コンピュータグラフィックにポリゴンメッシュを使用する幾何学モデリングに関係し、特に、詳細レベルが変化するポリゴンメッシュモデルの表示、記憶および伝送を最適化する技術に関係する。
【0002】
【従来の技術】
コンピュータグラフィックスにおけるモデルは、しばしば、三角形メッシュを使用して表現される。幾何学的に、三角形メッシュ(例えば、図6の三角形メッシュの例の部分)は、互いにエッジに沿って結合された三角形面から成る断片状線状表面である。以下の論考において、三角形メッシュのジオメトリを、タプル(K,V)によって表し、ここで、Kを、メッシュ単一性(すなわち、頂点、エッジおよび面の隣接)の接続性を特定する単体複体とし、V={vb1 ,...,vbm }(符号に添えたbは、その符号が太文字であることを示すものとする)をRb3 における前記メッシュの形状を規定する頂点位置vbj =(xj ,yj ,zj )の組とする。より正確には、パラメトリック領域、|K|⊂Rbm は、Kの各々の頂点をRbm のカノニカル基本ベクトルと同一に扱うことによって構成し、前記メッシュを、画像、φV (|K|)として規定し、ここで、φV :Rbm →Rb3 を線型マップとする。(例えば、H. Hoppe他による、「Mesh Optimization 」1993 Computer Graphics Proceedings 19−26を参照されたい。)三角形メッシュの頂点(例えば、図6のメッシュ80の頂点82−89)を、v1 ,...,vm として示し、エッジ(例えば、92−95)を、隣接した頂点の対によってe={vj ,vk }として示し、面(例えば、面100−107)を、相互接続された頂点の三つ組によってf={vj ,vk ,vl }として示す。
【0003】
代表的なコンピュータグラフィック用途において、ジオメトリ(すなわち、上述した単体複体および頂点位置タプル(K,V))以外の面の外観の属性も、前記メッシュに関係する。これらの属性を、2つのタイプ、離散属性およびスカラ属性に分類することができる。離散属性は、通常、前記メッシュの面に関係する。共通離散属性である材料指示子は、前記メッシュの面のレンダリングにおいて使用されるシェーダ関数を、シェーダ関数の全体的なパラメータのいくつかと同様に決定する。例として、普通のシェーダ関数は、指定されたテクスチャマップ内の簡単なルックアップを含む。(例えば、S. Upstill, The RenderMan Companion (Addison−Wesley 1990 )を参照されたい。)
【0004】
多くのスカラ属性は、しばしばメッシュに関係し、拡散色(r,g,b)、法線(nx ,ny ,nz )およびテクスチャ座標(n,v)を含む。より一般的に、これらの属性は、メッシュ面において規定されるシェーダ関数のローカルパラメータを指定する。スカラ領域における不連続を攻略するために、隣接面が異なったシェーディング関数を有するかもしれないため、スカラ属性はメッシュの頂点に関係せず、そのコーナに関係するのが一般的である。(例えば、Apple Computer, Inc., 3d Graphics Programming with QuickDraw 3d (Addison−Wesley 1995 )を参照されたい。)コーナは、(頂点,面)タプルとして規定される。コーナc=(vj ,fk )におけるスカラ属性s(v,f) は、頂点vにおける面fに対するシェーディングパラメータを特定する。例として、折り目(滑らかでない法線領域を横切る面における曲線)をモデル化するために、メッシュにおける曲線(エッジの連続)を指定し、その経路に沿った各々の頂点において、前記曲線は、前記コーナを2つの組に分割し、これらの組の各々に関して1つが関係する2つの法線が前記コーナに関係する。このようにスカラおよび離散表面属性を有するメッシュを、タプルM=(K,V,D,S)として示し、ここで、Dを面f={vj ,vk ,vl }∈Kに関係する離散属性df の組とし、SをKのコーナ(v,f)に関係するスカラ属性s(v,f) の組とする。
【0005】
【発明が解決しようとする課題】
コンピュータグラフィックスにおけるリアリズムの絶え間ない追求において、高細密ジオメトリックモデルは、急速に一般化した。現在のモデリングシステムを使用すると、創造者は、融通がきくモデリング操作(例えば、押し出し、ソリッドジオメトリ構造(CSG)および自由形状変形(FED))を、ジオメトリックプリミティブ(例えば、不均一有理化B−スプライン(NURBS)および内在面(Blobbies))に用いることによって、物体の高細密ジオメトリックモデルを形成することができる。(T. Sederberg and S. Parry, Free−form Deformation of Solid Geometric Models, 1986 Computer Graphics Proceedings[FFD ]; Rockwood, Real−time Rendering of Trimmed Surfaces, 1989 Computer Graphics Proceedings [NURBS ]; および、J. Blinn, A Generalization of Algebraic Surface Drawing, 1982 ACM Transactions on Graphics 1(3)235−256[Blobbies]を参照されたい。)表示する目的のために、通常はこれらの創作モデルを、上述した形式の三角形メッシュにモザイク式にする。精細なモデルを、物理的物体を構造化ライトシステム、例えば、レーザレンジスキャナによって走査することによって迅速に得て、メッシュを生成することもできる。いずれの場合においても、結果として得られる複雑なメッシュを、記憶し、伝送し、再現するのは費用が掛かり、したがって多数の実際的な問題が生じる。
【0006】
メッシュ単純化。モデリングおよび走査システムによって生成されたメッシュは、代表的に表示性能に関して最適化されない。大部分の用途において、通常これらの初期メッシュを、ほぼ識別できない近似によってより少ない面に置き換え、レンダリング効率を改善することができる。現在、コンピュータユーザ(例えば、グラフィカルアーティストまたはデザイナ)は、最適化コンパイラの登場前のアセンブリコードをへたにいじくり回しているプログラマとほとんど同様に、しばしば、このメッシュの手動による調節の責任を負わされる。より良い方法は、メッシュ単純化ツールを開発し、この骨の折れる仕事を自動化することである。他の利益として、このようなツールは、性能が変化するプラットフォームに1つのモデルをポーティングすることを可能にする。
【0007】
精細レベル近似。精細なメッシュが見る人から離れている場合、スクリーンの小さい領域のみを占めるかもしれない。重要な仕事は、少ない数の画素にしか影響しないメッシュのレンダリングに労力を費やさなければならないことである。代わりに、より粗いメッシュ(すなわち、より少ない頂点および面を有するメッシュ)は、ほぼ同一に見えるであろう。この問題を取り上げるために、多くのアプリケーションは、種々の精細レベルにおける幾つかの変形のモデルを使用する。物体が近い場合、十分に精細なメッシュを使用し、物体が遠ざかるにつれてより粗い近似を代わりに使う。(T.A. Funkhouser およびC.H. Sequin, Adaptive Display Algorithm for Interactive Frame Rates During Visualization of Complex Virtual Environments, 1993 Computer Graphics Proceedings 247−254を参照されたい。)さらに、所定のモデルの2つの精細レベル間の瞬時の切り換えは、知覚しうる″ポッピング″表示効果を生じる恐れがある。この理由のため、異なった精細レベルを有するメッシュ間の、幾何形態(geomorphs )と呼ばれる、滑らかな視覚変化を構成する可能性が望まれる。
【0008】
漸進的伝送。複雑なメッシュは、相当な時間を消費して通信ラインを通じて伝送し、しばしばメッシュにおける図形によって画像を視覚的にレンダリングするのに掛かる時間より長い多くの時間が掛かる。メッシュを通信ラインを通じて伝送する場合、データを増加して受けるごとに、モデルのより良い近似を漸進的に示す図形をレンダリングするのに類似している。最も簡単な既知の方法は、個々の三角形を、これらを受ける毎に描画することであるが、もちろん、これは非常にへたな方法に思われる。他の先行技術による方法は、連続する精細レベルの近似を伝送することであるが、これは、追加の伝送時間を必要とする。
【0009】
メッシュ圧縮。モデルを、最も小さいメモリ量またはディスク空間に記憶すべきである。この問題を処理するために2つの直交する方法が存在する。一方は、上述したように、メッシュ単純化を使用し、モデルにおける面の数をその外観が保たれる限りできる限り多く減少させることである。他方は、メッシュ圧縮であり、個々のメッシュが選択されて与えられたモデルを記憶するために占められる空間を最小化することである。
【0010】
選択的精細化。精細表示レベルのより精細なメッシュに切り換える場合、細部は、モデル表面全体に均一に追加される。いくつかのモデルに対して、メッシュを選択された領域においてのみ精細化することが望まれる。例えば、利用者が地形モデル全体を保存してる場合、見る人の近くにおいてのみ、そして視野内においてのみ完全に精細に地形を示すことが望ましい。
【0011】
これらの問題を解決するための多数のメッシュ単純化技術が存在する。G. Turk, Re−Tiling Polygonal Surfaces, 1992 Computer Graphics Proceedings 55−64 [以下、″Turk92″]に記載されている技術は、局部的な曲率の推定によって重み付けした密度によってメッシュ上に点の組を散在させ、これらの点を基礎として再三角形化する。
【0012】
W.J. Schroeder他,Decimation of Triangle Meshes, 1992 Computer Graphics Proceedings 65−97 [以下、″Schroeder−etal92″]およびA. Varshney, Hierarchical Geometric Approximations, PhD thesis, Department of Computer Science , University of North Carolina at Chapel Hill (1994) [以下、″Vershney94″]の双方は、メッシュから頂点を反復的に除去し、結果として生じる穴を再三角形化する技術を開示している。Vershney94における技術は、ユーザが指定した許容差に対する近似の最大誤差を、元のメッシュに対して2つのオフセット表面を規定し、組み合わせ探索を使用することによって制限することができる。
【0013】
H. Hoppe他,Mesh Optimization, 1993 Computer Graphics Proceedings 19−26 [以下、Hoppe93 ]は、メッシュ最適化と呼ばれる技術を開示しており、これは、任意の元のメッシュを、エッジ折り畳み、エッジ分割およびエッジ交換を含む組から選択した連続的な変換を行うことによって、エネルギ関数が最小になるように単純化する。精度の軸26および簡単さの軸27を有する図2のグラフ25によって示すように、このエネルギ関数は、精度と簡単さとの競争のゴールを、元のメッシュから点の密な組を標本化し、これらの点を使用して 選択された変換により結果として得られるより単純なメッシュと元のメッシュとの間の距離の計量を規定することによって、明白にモデル化する。
【0014】
さらに特に、Hoppe93 において記載されているメッシュ最適化方法の目的は、点xi ∈Rb3 の組Xに正確に一致し、少ない数の頂点を有するメッシュM=(K,V)を見つけることである。この問題は、精度および簡単さのエネルギ関数、
E(M)=Edist(M)+Erep (M)+Espring(M) (1)
の最小化として計算され、距離エネルギ関数の項、
Edist(M)=Σi d2 (xi ,φv (|K|)) (2)
は、メッシュからの点の距離の二乗の合計を示し(すなわち、精度の軸26に沿った測定)、表示エネルギの項、
Ecrep(M)=crep m (3)
は、Mにおける頂点の番号m(すなわち、簡単さの軸27に沿った測定)を
課する。
【0015】
第3の項、弾性エネルギEspringを導入し、前記最適化の問題を秩序立てる。メッシュの各々のエッジにおいて静止長ゼロで張力κのスプリングが位置することに相当し、
【数1】
である。
【0016】
Hoppe93 は、外側ループおよび内側ループを有する重なった最適化方法を使用するエネルギ関数E(M)の最小化を記載している。外側ループにおいて前記方法は、メッシュの結合性Kに関して、3つの可能なメッシュ変換、すなわち、エッジ折り畳み、エッジ分割およびエッジ交換の組をランダムに試みることによって最適化する。この変換の組は、Kと同じトポロジカル形式のどのような単体複体もこれらの変換のシーケンスによって到達しうるという意味において完全である。各々の候補のメッシュ変換K→Kbに関して、上述した連続的な最適化は、新たな結合性K′が受ける最小のEであるEKD(ここでKDは、K′を表す)を計算する。ΔE=EKD−EK が負であることが分かった場合、前記メッシュ変換を行う(焼きなまし法をシミュレートするゼロ温度に類似する)。
【0017】
各々の候補のメッシュ変換に対して行われる内側ループにおいて、前記方法は、頂点位置Vに関して最適化することによって、EKD=minV Edist(V)+Espring(V)を計算する。効率のために、実際にはアルゴリズムは1つの頂点位置vbs のみを最適化し、K→Kbによって作用される付近に突き出した点の部分集合xのみを考慮する。
【0018】
Hoppe93 において規則化弾性エネルギ項Espring(M)が見られ、これは初期段階の最適化において最も重要である。したがって、前記最適化方法は、上述した重なり最適化方法を、バネ定数κを減少するスケジュールによって反復的に累乗することによって、最高の結果を達成する。
【0019】
Hoppe93 は、メッシュ単純化ツールとしてのこのメッシュ最適化方法の使用も説明している。初期メッシュM(例えば図1(a)に示す例としての初期の任意のメッシュ)の近似を与えると、点Xの密集した組を、Mbの頂点において標本化し、その面全体においてランダムに標本化する。次に前記最適化方法は、初期メッシュMを開始メッシュとして呼び出す。前記最適化方法は、表現定数Crep の設定を変化させることによって、可能なメッシュ38の空間を通る異なった経路34−36を選択し、これによって、精度および簡単さの異なったトレードオフによる最適化メッシュMb 、Mc およびMd を発生することができる。例えば、図1(b−d)は、例としての元の任意のメッシュ(図1(a))から、表現定数Crep の異なった値に対するHoppe93 の先行技術のメッシュ最適化方法によって発生した3つの例としての最適化メッシュMb 、Mc およびMd の図形を示す。
【0020】
J. RossignacおよびP. Borrel, Multi−resolution 3D Approximations for Rendering Complex Scenes, Modeling in Computer Graphics 455−465 (Springverlag, New York 1993) [以下、″Rossignac−−Borrel93 ″]は、空間的な格納を使用することによってモデルの頂点を合併する技術を記載している。これらの方法の独特な特徴は、モデルのトポロジカルな形式を前記プロセスにおいて変更できることである。これらの方法は極めて高速であるが、これらは曲率のようなジオメトリックな品質を無視することから、これらの近似は最適からは程遠い。
【0021】
上述したメッシュ単純化技術は、これらの単純化方法を数回連続的に用いることによって単純化モデルの離散的な階級を形成する。Turk92およびRossignac−−Borrel93 の双方は、このように形成されるモデルの離散的な組の間の幾何形態を構成することができる。
【0022】
より最近、M. Lounsbery他, Multiresolution analysis for surfaces of arbitrary topological type, Technical Report 93−10−05b, (Department of Computer Science and Engineering, University of Washington, January 1994) [以下、Lounsbery−etal94]は、任意のトポロジカル形式の表面に対する多解像度分析の概念を一般化した。M. Eck他, Multiresolution Anarysis of Arbitrary Meshes, 1995 Computer Graphics Proceedings 173−182[以下、″Eck95 ″]は、この小波を基礎とする多解像度方法を、任意のメッシュの近似にどのように適用することができるかを記載している。これらは、最初に、簡単な変域におけるメッシュのパラメータ表現を構成し、次に、このパラメータ表現を小波の基礎において拡張する。これらは、元のメッシュとなんらかの近似との間の最大誤差を制限することができる。
【0023】
【課題を解決するための手段】
本発明において、上述した問題を、漸進的メッシュ(″PM″)表現と呼ばれるフォーマットを使用して、任意のポリゴンメッシュMの図形を、記憶し、伝送し、レンダリングする方法および装置によって解決する。この漸進的メッシュ表現は、任意のポリゴンメッシュを、多くのより粗いメッシュM0 と、M0 をどのように増分的に精細化して元のメッシュM=Mn に精確に戻すかを示すnの細部記録のシーケンスとして表す。本発明の図示した実施例において、これらの記録の各々は、前期メッシュに追加の頂点を付加する基本的なメッシュ変換である頂点分割に関係する情報を記憶する。したがってMのPM表現は、精度が増加するメッシュの連続的なシーケンスM0 ,M1 ,...,Mn を規定し、ここからある所望の複雑性を有する精細レベル近似を能率的に復旧することができる。さらに、滑らかな視覚的推移(幾何形態)を、あるこのような2つのメッシュ間に能率的に構成することができる。加えて、PM表現は、Mそれ自体の簡潔な符号化を提供する漸進的伝送を当然支持し、能率的な選択的精細化を支持する。要するに、PM表現は、能率的で損失がない連続的解像度表現を提供する。
【0024】
本発明は、所定のメッシュMからPM表現を構成する新たな単純化手順も提供する。従来の単純化手順と異なり、この手順は、メッシュ表面のジオメトリそのものを保存することを要求しないが、その表面に関係する離散的およびスカラ属性によって規定されるその全体的な外観も保存することを要求する。
【0025】
上述した先行技術のメッシュ単純化技術に関して、Eck95 の多解像度分析(MRA)方法は、PM表現といくつかの類似点を有する。MRA方法も、簡単な基本メッシュを、前期モデルに遡って細部を漸進的に付加する情報のストリームと共に記憶する。MRA方法は同様に、そこからある複雑さの近似を抽出することができる連続的解像度表現を発生する。しかしながら、本発明のPM表現は、先行技術のMRA方法とは多くの相違点を有し、これに対して多くの利点を有する。
【0026】
第1に、MRA方法は、基本メッシュの面を反復的に分割する変換を指定する小波の形態の細部項を使用する。これは、この細部項すなわち小波を、再分結合性を有する領域に置くことを必要とする。結果として、最も高いものを含む各々の精細レベルの近似は、メッシュの制限されたクラス(再分結合性を有するこれら)に属する必要がある。任意の初期メッシュM(任意の結合性を有する)は、ε公差内に対してのみ近似的に再生することができ、精確には再生できない。
【0027】
対照的に、本発明のPM表現は損失がない。各々の細部記録は、どのような任意の結合性を有する漸進的メッシュ(PM表現のMi ,i<n)も発生することができる、完全なメッシュ精細化変換である。結果として、漸進的メッシュは、MRA方法の相対する近似メッシュよりも大幅に良好な元の任意のメッシュMのジオメトリ的近似である。さらに、連続的解像度の群における最高精細化モデルMn は、精確に元の任意のメッシュMである。(例えば、図4(a−d)において示す実例としてのMRA方法メッシュを、図7(a−d)において示す実例としてのPM表現メッシュと比較されたい。)
【0028】
加えて、MRA方法は、表面の折り目(交差する表面が滑らかでない表面上の曲線)を、これらの折り目が基本(最低精細レベル)メッシュのエッジにパラメータ的に沿った位置に生じなければ、能率的に処理することができない。しかしながら本発明によって構成される漸進的メッシュは、メッシュ表面上のどこにでも、どのような精細レベルにおいても表面の折り目を導入することができる。
【0029】
加えて、PM表現は、表面に関する連続的、断片状連続的および離散的な外観属性を獲得することができる。このような属性は、拡散色、法線、テクスチャ座標、材料指示子およびシェーダパラメータを含む。不連続を有する関数を表すために、従来のMRA方法は、断片状定数基本関数を使用できたが、この場合、結果として得られる近似は、連続的に満足する基本関数がないことから、多すぎる不連続を有する。(例えば、P. Schroder およびW. Sweldens, Spherical Wavelets: Efficiently Representing Functions on the Sphere, 1995 Computer Graphics Proceedings 161−172 (the Haar wavelet basis)を参照されたい。)さらに、どのようにMRAを拡張し、離散属性を獲得できるようにするかは、現在明らかではない。
【0030】
最後に、本発明のPM表現は、異なった離散属性を有するどのような2つの精細レベルメッシュ間の幾何形態も許可する。これは、従来のMRA方法によっては不可能である。
【0031】
本発明の追加の特徴および利点は、以下の添付した図の参照に続く図示した実施例の詳細な説明から明らかになるであろう。
【0032】
【発明の実施の形態】
図5を参照すると、本発明の説明する実施例に関する動作環境は、メモリシステム56、入力装置58および出力装置60に結合した少なくとも1つの高速処理ユニット(CPU)を具えるコンピュータ52を有するコンピュータシステム50である。これらの要素を、少なくとも1つのバス構造62によって相互接続する。
【0033】
説明するCPU54は、よく知られている設計のものであり、計算を行うALU64と、データおよび命令を一時的に記憶するレジスタの集まり66と、システム50の動作を制御する制御ユニット68とを含む。CPU54を、Digital によるAlpha と、MIPS Technology 、NEC 、IDT 、Siemens および他によるMIPSと、Intel および、Cyrix 、AMD およびNexgenを含む他によるx86 と、IBM およびMotorolaによるPowerPc とを含む、種々のアーキテクチャのいずれかを有するプロセッサとしてもよい。
【0034】
メモリシステム56は、一般に、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)半導体装置のような媒体の形態の高速メインメモリ70と、フロッピディスク、ハードディスク、テープ、CD−ROM、フラッシュメモリ、等、および電気、磁気、光または他の記録媒体を使用してデータを記憶する他の装置のような長期記憶媒体の形態の二次記憶部72とを含む。メインメモリ70は、表示装置によって画像を表示するビデオ表示メモリを含むこともできる。当業者は、メモリ56が種々の記憶容量を有する種々の代わりの構成要素を具えてもよいことを認めるであろう。
【0035】
入力および出力装置58、60も、よく知られているものとする。入力装置58は、キーボード、マウス、物理的変換器(例えば、マイクロホン)、等を具えることができる。出力装置60は、ディスプレイ、プリンタ、変換器(例えば、スピーカ)、等を具えることができる。ネットワークインタフェースまたはモデムのようないくつかの装置は、入力および/または出力装置として使用することができる。
【0036】
当業者にはよく知られているように、コンピュータシステム50は、オペレーティングシステムと、少なくとも1つのアプリケーションプログラムとをさらに含む。前記オペレーティングシステムを、前記コンピュータシステムの動作および資源の割り当てを制御するソフトウェアの組とする。前記アプリケーションプログラムを、前記オペレーティングシステムによって利用可能にされたコンピュータ資源を使用して、ユーザが望むタスクを行うソフトウェアの組とする。これらの両方は、前記説明するメモリシステム56内に存在する。
【0037】
コンピュータプログラムの当業者の慣習によって、本発明を、違うと示した場合を除いては、コンピュータシステム50によって行われるふるまいおよび動作の象徴的な表現の参照と共に、以下に説明する。このようなふるまいおよび動作を、コンピュータが実行しているものとして後に言及する。前記ふるまいおよび動作の象徴的な表現が、他の信号処理に加え、それによって前記コンピュータシステムの動作を再構成または他の変更をする、データビットを表す電気信号のCPU54による前記電気信号の表示の変換または減少を引き起こす操作と、メモリシステム56中のメモリ位置におけるデータビットの保存とを含むことは明らかであろう。データビットが含まれるメモリ位置は、前記データビットに対応する各々の電気、磁気または光特性を有する物理的位置である。″指定する″という言葉を、物理的物体、活動、特性または特徴、および関係に言及するのに、後に使用する。
【0038】
メッシュの概略。
ここで、図6を参照すると、コンピュータシステム50(図5)は、変化する精細レベルにおけるポリゴンメッシュとしてグラフィックス描写するために、漸進的メッシュ(PM)表現を使用して3次元物体をモデル化する。簡単にするために、説明した実施例におけるPM表現は、三角形メッシュ(上述した、″本発明の背景および要約″を参照されたい)において作用する。この説明した実施例のPM表現を、慣例的な三角形化処理(例えば、エッジを付加し、3つより多くの辺を有するメッシュのポリゴン面を三角形面に再分する)を使用する、より一般的なメッシュの三角形メッシュへの第1の変換によって、nの辺の面を含み、穴を有する面を含むようなより一般的なメッシュに作用させることができる。代わりに、(上述した)エッジ折り畳み変換を、3つより多くの辺を有するポリゴン面の辺に用いて、三角形メッシュを発生することもできる。より複雑なデータ構造という犠牲をはらって、PM表現を、本発明の他の実施例において一般化し、より一般的なメッシュに直接(すなわち、先の三角形化なしに)作用させることができることも認識すべきである。
【0039】
漸進的メッシュ表現の概略。
再び、図1および2を参照すると、Hoppe93 (上述した本発明の背景および要約を参照されたい)は、初期メッシュMのはるかにより簡単なメッシュへの近似に使用することができるメッシュ最適化方法を記載している。このメッシュ最適化方法は、(図2のグラフの参照と共に論考したように)可能なメッシュの空間を3つのメッシュ変換、すなわち、エッジ折り畳み、エッジ分割およびエッジ交換の組を連続的に用いることによって横切る。
【0040】
図6の参照によって、本発明者は、実際に、これらの変換のうちの1つ、ここではecol({vs ,vt })として示すエッジ折り畳みが、有効なエッジ単純化に関して十分であることを発見している。説明のために、エッジ折り畳み変換110は、メッシュ80の2つの隣接する頂点vs 86およびvt 89を1つの頂点vs 86′に統合し、結果としてより単純なメッシュ112を形成する。元のメッシュ80の頂点vt 89と、2つの隣接する面{vs ,vt ,vl }100および{vs ,vt ,vr }101とは、この処理において消える。位置vbs が、新たな統合頂点86′に対して指定される。
【0041】
このようにして、初期メッシュM=Mn を、より粗いメッシュM0 に、nの連続的なエッジ折り畳み変換のシーケンス、すなわち、
(M=Mn )ecoln−1 →Mn−1 ... ecol1 →M1ecol0→M0 (5)
によって(上記でより完全に記述したメッシュ単純化方法によるように)単純化することができる。エッジ折り畳み変換の個々のシーケンスは、近似するメッシュMi 、i<nの品質を決定するため、慎重に選択すべきである。ここで、m0 をM0 における頂点の数とし、メッシュMi の頂点をここではVi ={vl ,...,vm0+i}で示し、その結果頂点vm0+i+1はecoli によって除去される。頂点は、異なったメッシュにおいて異なった位置を有してもよいため、Mi におけるvj の位置を、ここではvbj i として示す。
【0042】
重要な注目点は、エッジ折り畳み変換が可逆であることである。この逆変換を、ここでは頂点分割116と呼ぶ。ここではvsplit(vs ,vl ,vr ,vt ,A)として示す頂点分割変換は、頂点vs 86′付近に新たな頂点(すなわち、以前に除去した頂点vt 89)を付加し、2つの側部頂点vl およびvr によって2つの新たな面(すなわち、以前に除去した面{vs ,vt ,vl }100および{vs ,vt ,vr }101)を付加する。(エッジ{vs ,vt }92が境界エッジである場合、vr =0であり、1つの面のみが追加される。)この変換も、前記変換付近におけるメッシュの属性を更新する。Aによって示すこの属性情報は、2つの影響を受けた頂点の位置vbs およびvbt と、2つの新たな面の離散的な属性dfvl およびdfvr と、影響を受けたコーナのスカラ属性(s(vs,.),s(vt,.),s(vl,fvl),s(vl,fvr))とを含み、ここで、fvl={vs,vt,vl}、fvr={vs,vt,vr}とする。
【0043】
図7を参照すると、エッジ折り畳み変換は可逆であるため、任意の三角形メッシュMを、本発明の説明した実施例によって、簡単なメッシュM0 (以下、″基本メッシュ″)を指定する基本メッシュ記録132と、任意のメッシュMを基本メッシュM0 から復元する、すなわち、
M0 vsplit0 →M1 vsplit1 →...vsplit n−1 →(Mn =M) (6)
の頂点分割変換のシーケンスを指定するnのvsplit記録136のシーケンス134とを含むデータ構造として表すことができる。ここで、vsplit記録を、vspliti (si ,li ,ri ,Ai )としてパラメータ化する。データ構造(M0 {vsplit0 ,...,vsplitn−1 })130を、ここでは、任意のメッシュMの漸進的メッシュ(PM)表現と呼ぶ。
【0044】
頂点分割変換の重要な特性(ここでは、″完全性″と呼ぶ)は、なんらかの任意の単体複体KA を有するメッシュを、同じトポロジカル形式の最小単体複体KM を有するメッシュから、1つまたはそれ以上の変換のシーケンスによって構成することができることである。(上述した先行技術のMRA方法において使用される4対1面分割変換は、これらの面分割シーケンスが再分割結合性を有する同じトポロジカル形式の最小メッシュから、なんらかの任意のメッシュに対する近似しか構成できないため、この意味において完全ではない。)頂点分割変換はこの意味において完全であるため、どの任意のメッシュも、説明したPM表現を使用して、正確に表すことができる。同様に、1つまたはそれ以上のメッシュ変換の組も、なんらかの任意の単体複体KA を有するメッシュを同じトポロジカル形式の最小単体複体KM から、前記組からの変換のシーケンスによって構成できる場合、完全である。したがって、頂点分割変換を、説明する実施例のPM表現における記録のシーケンスにおいて指定したが、代わりに、PM表現における記録は、頂点分割変換以外の完全なメッシュ変換の組を指定することもできる。例えば、4対1面分割変換および頂点分割変換を含む組は完全であり、本発明の他の実施例のPM表現における記録のシーケンスにおいて指定することができる。
【0045】
説明する実施例のPM表現130において、基本メッシュ記録132は、単体複体表140と、頂点位置表142と、離散属性表144と、基本メッシュM0 を規定するタプルM0 =(K0 ,V0 ,D0 ,S0 )の情報を含むスカラ属性表146とを具える。頂点位置表142は、基本メッシュM0 の各々の頂点に関するm0 の位置記録150−151を、これら頂点の座標値(x,y,z)と共に含む。説明する頂点位置表142において、位置記録150−151を、基本メッシュM0 のインデックスに関係する頂点インデックスに従って示す。
【0046】
単体複体表140は、基本メッシュM0 の各々の面に関する面記録154−155を、これら面の頂点のインデックス{vj ,vk ,vl }と共に含む。前記面記録におけるこの頂点情報は、基本メッシュM0 の各々の面を明白に規定し、基本メッシュM0 のエッジおよびコーナを暗に規定する。他の実施例において、基本メッシュ記録は、エッジを規定する隣接した頂点の対のインデックスを含む記録および、コーナを規定する頂点インデックス、面インデックスタプルのインデックスを含む記録のような、エッジおよびコーナを明白に規定する情報を含むことができる。図示した単体複体表において、面記録154−155を、基本メッシュM0 の面に関係する面インデックスに従って示す。
【0047】
離散属性表144は、基本メッシュM0 の面に関係する離散属性を規定する情報(すなわち、属性値および面インデックス)を有する記録158−159を含む。スカラ属性表146は、基本メッシュM0 のコーナに関係するスカラ属性を規定する情報(すなわち、属性値および頂点インデックス、面インデックスタプル)を有する記録162−164を含む。1つの離散属性表144および1つのスカラ属性表146を図示したが、基本メッシュ記録132は、基本メッシュM0 の多数の異なった離散およびスカラ属性(例えば、材料指示子、シェーダ関数パラメータ、減色、法線、テクスチャ座標、等)の各々に対して別個の属性表を含むこともできる。
【0048】
シーケンス134における頂点分割記録136は、任意の元のメッシュMを基本メッシュM0 から再現する頂点分割変換を指定する。一般に、頂点分割記録の各々における情報は、頂点vs 86、vl 87およびvr 88(図6)のインデックスと、頂点vs 86およびvt 89(図6)の位置座標vbs n およびvbt n と、面100および101(図6)の離散属性dfvl およびdfvr と、面100および101のコーナのスカラ属性s(vs,.)、s(vt,.)、s(vl,fvl)およびs(vl,fvl)とを具える。ここで、fvl={vs,vt,vl}、fvr={vs,vt,vr}とする。他の実施例において、前記頂点分割記録は、頂点vs 、vl およびvr を、付近の面(例えば、頂点vs およびvl を含む面)のインデックスと、前記頂点を前記面に隣接する頂点から識別する(例えば、前記面からvs およびvl を識別し、前記面付近の頂点からvr を識別する)ビットとによるように、間接的に指定することができる。
【0049】
図8(a−d)の参照と共に例として、図1(a)の例の初期任意メッシュM(12946の面を有する)を、6448のエッジ折り畳み変換を使用して、図8(a)の粗メッシュM0 (50の面を有する)に単純化する。M(図1(a))のPM表現は、M0 を指定する基本メッシュ記録と、n=6448のvsplit記録のシーケンスとから成る。このPM表現から、M0 に前記vsplitシーケンスの接頭辞を用いることによって、±1以内のなんらかの所望の面の数で近似するメッシュを引き出すことができる。例えば、図8(b−d)は、漸進的メッシュシーケンスから、200および1000の面を有する2つの近似メッシュを示す。
【0050】
図示した実施例において、単体複体表140が各々の面の頂点インデックスを載せる上述したPM表現のデータ構造130を、記憶するために使用する(例えば、前記漸進的メッシュの図5のコンピュータシステム50のハードディスクへの記憶)。実行時において、図示した実施例は、エッジ基礎データ構造を単体複体表140に使用し、隣接するメッシュの符号化も行う。これは、どの面が面fj に隣接し、どの面が頂点vj に隣接するかといったような質問の能率的な処理を可能にする。好適なエッジ基礎データ構造は既知であり、K. Weiler, Edge−based Data Structures for Solid Modeling in Curved−surface Environments, IEEE CG&A 5(1):21−40 (1985年1月)に記載の翼のあるエッジデータ構造を含む。
【0051】
本発明のいくつかの他の実施例において、頂点分割記録136は、頂点分割変換を行う前および行った後の双方の、メッシュの属性を指定する情報を符号化することができる。これは、双方向における漸進的メッシュのトラバースを可能にする。すなわち、漸進的メッシュシーケンスにおける所定のメッシュを、次の(まだ用いていない)頂点分割記録において指定される頂点分割変換を行うことによってさらに精細化することもでき、前記メッシュを、所望する以前の(以前行った)頂点分割記録において指定される頂点分割変換を逆にすることによって単純化することもできる。最低限、追加の情報は、頂点分割変換を行う前の前記メッシュにおける頂点位置vs を指定する。頂点分割変換を行う前に存在する面102′−107′(図6)およびコーナの他の属性を、これらが頂点分割変換によって変化している場合、頂点分割記録において符号化することができる。
【0052】
幾何形態。
頂点分割変換(およびその逆変換のエッジ折り畳み)の有利な特性は、滑らかな視覚的推移(幾何形態)を、Mi vspliti →Mi+1 において2つのメッシュMi およびMi+1 間で形成できることである。前記メッシュが頂点位置以外の属性を含まないとすると、頂点分割記録136(図7)を、vspliti (si ,li ,ri ,Ai =(vbsi i+1 ,vbm0+i+1 i+1 ))として各々符号化し、ここで、si 、li およびri は、各々、頂点vsi,vliおよびvriのインデックスである。(すなわち、頂点分割記録136は、頂点インデックスおよび位置値を含むが、図7において示す離散およびスカラ属性値を含まない。)幾何形態MG (α)を、メッシュ、
MG (α)=(Ki+1 ,VG (α)) (7)
を規定することによって、混合パラメータ0≦α≦1に関して形成し、結果として、MG (0)はMi のように見え、MG (1)はMi+1 のように見え、実際にMG (1)=Mi+1 であり、これらの結合性はMi+1 の結合性であり、これらの頂点位置は、vsi∈Mi から分割頂点vsi,vm0+i+1∈Mi+1 に線型的に補間される。すなわち、
【数2】
【0053】
このような幾何形態を使用すると、アプリケーションは、αの値を変化することによって、メッシュMi からメッシュMi+1 またはMi−1 に、前記メッシュのなんらかの視覚的″飛び″無しに、滑らかに推移させることができる。
【0054】
さらに、各々のvsplit/ecol 変換を滑らかに推移させることができることから、これらのどのようなシーケンスの組み合わせも滑らかに推移させることができる。したがって、PM表現によって符号化されたメッシュのシーケンスM0 ...Mn において、ある2つのメッシュ、粗メッシュMc および細メッシュMf を仮定し、0≦c<f≦nとすると、滑らかな幾何形態MG (α)を、MG (0)がMc のように見え、MG (1)がMf に等しくなるように規定することができる。MG を得るために、Mf の各々の頂点vj を、Mc におけるその原型に関係させる。すなわち、この原型の頂点のインデックスAc (j)を、vj の生成に至るvsplit変換まで反復的に探索する。
【数3】
(原則的に、この原型情報Ac を、メッシュが精細化される前進方向において集める。)幾何形態MG (α)は、MG (α)=(Kf , VG (α))によって規定され、Mf の接続性と、頂点位置、
vbj G (α)=(α)vbj f +(1−α)vbAc(j) c (10)
とを有する。
【0055】
これまでに上述した論考は、位置属性のみを含むPMメッシュ間の幾何形態の構成の概要を述べた。実際には、幾何形態を、離散およびスカラ属性の双方を含むメッシュに関して構成することができる。
【0056】
離散属性は、これらの性質によって、滑らかに補間することがでない。幸運にも、これらの離散属性は、メッシュの面に関係し、上述した″幾何学的″幾何形態は、面を滑らかに取り入れる。特に、Mc の面がMf の面の正確な部分集合であり、Mc から失われたMf のこれらの面が、折り畳まれて(ゼロ面積)三角形に退化するため、MG (0)において不可視であることが分かる。したがって、αが0から1に変化すると、これらの三角形は、MG (0)におけるゼロ面積三角形からMG (1)=Mf におけるこれらの完全サイズに成長する。(J. M. Lounsbery, Multiresolution Analysis for Surfaces of Arbitrary Topological Type, PhD thesis, Department of Computer Science and Engineering, University of Washington, (1994); Lounsbery−etal94; およびTurk92に記載されているような)従来の幾何形態化方法は、異なった精細レベルにおけるメッシュ間の良好な(可逆の)パラメータ表示を規定する。このようなパラメータ表示は、異なった離散属性を有するメッシュ間の幾何形態の構成を許可しない。対照的に、PM表現メッシュの幾何形態は、Mf からMc への不可逆マップを規定し、Mc から失われたMf のすべての面を、Mc のエッジまたは頂点に対して割り当てる。この割り当ては、離散属性を有するメッシュの滑らかな視覚的推移を可能にする。
【0057】
コーナにおいて規定されるスカラ属性も、頂点位置とほぼ同じように、滑らかに補間できる。メッシュMにおいて存在するコーナ(v,f)を、fがMc の面でない場合、粗メッシュMc におけるなんらかの″原型コーナ″に関係付けられないという僅かな困難が存在する。コーナ(v,f)がMc において有する属性値を、fが最初に導入されたメッシュMi+1 を調査し、属性値が同じMi+1 における付近のコーナ(v,f′)を見つけ、そこからMc におけるコーナまで反復的に探索することによって推定することができる。Mi+1 において同一の属性値を有する付近のコーナが存在しない場合、コーナ(v,f)は、Mc において同等物を持たず、したがってその属性は、幾何形態を通じて一定に保たれる。
【0058】
スカラ属性における補間関数は線型である必要は無く、例えば、法線は単位球面上で最適に補間され、カラーは、(図示した実施例においては、効率のためにカラーをレッド−グリーン−ブルー(″RGB″)空間において補間したが)色相純度値(″HSV″)空間において最適に補間することができる。
【0059】
頂点位置に関する補間関数も、線型である必要はない。本発明のいくつかの実施例において、例えば、幾何形態の頂点位置を、
vbG (α)=(a(α))vbf +(1−a(α))vbc
として規定することができ、ここで、関数a(α)=0.5+0.5sin((α−0.5)π)である(すなわち、a(α)=αのような線型関数に対して、αにおける非線形関数)。この非線形関数a(α)は、0≦α≦1に関して補間を与えるが、0および1においては、0値の導関数を有する。この結果、補間の振る舞いは緩やかになる。
【0060】
図9(a)を参照して、説明したコンピュータシステム50(図5)は、幾何形態を構成する方法190を実行し、PM表現におけるある2つの漸進的メッシュ間の滑らかな推移を表示する。方法190を、コードのモジュールとして実現することができ、これは、例えば、コンピュータシステム50において動作し、3Dグラフィックスを表示するソフトウェアアプリケーションの部品を形成する。方法190を、一般に、図9(b)において示す幾何形態計算および表示方法の前処理とする。
【0061】
方法190は、より粗いメッシュMc およびより精細なメッシュMf をPM表現において指定される連続的な精細レベルのメッシュから選択するステップ192−193において開始する。この選択を、前記ソフトウェアアプリケーションそれ自体によって行うことができる。例えば、見る距離における変化によって精細レベル近似間が推移する場合、前記ソフトウェアアプリケーションは、前記より粗いメッシュおよびより精細なメッシュを、精細レベル近似の開始および終了に対応して選択する。代わりに、前記ソフトウェアアプリケーションは、コンピュータユーザによる前記より粗いメッシュおよびより精細なメッシュの選択のために、ユーザインタフェース制御(例えば、値入力ボックスまたはリスト選択ボックス)を提供することができる。以下に説明する図3は、前記より粗いメッシュおよびより精細なメッシュを選択するユーザインタフェース制御を有するソフトウェアシステムを示す。
【0062】
選択されたより粗いメッシュおよびより精細なメッシュに関して、コンピュータシステム50は、ステップ194において、前記選択されたより精細なメッシュの結合性に等しい(KF )を有する幾何形態(MG (α)=(KF ,VG (α)))を形成する。前記幾何形態の頂点の位置は、前記より粗いメッシュにおけるこれらの位置と、前記より精細なメッシュにおけるこれらの位置との間で、混合パラメータαの値に従って変化する。ステップ195において、前記選択されたより精細なメッシュの面に関係する離散属性を、前記幾何形態の対応する面に割り当てる。
【0063】
図26を参照すると、方法190によって形成された幾何形態を、好適には、説明したコンピュータシステム50(図5)のメモリシステム56に記憶できる(基本メッシュ記録132(図7)のデータ構造といくつかの類似点を有する)幾何形態データ構造200として実現する。説明する幾何形態データ構造200は、単体複体表Kf 表202と、頂点位置VG (α)={v1 G (α),...,vM G (α)}表203と、離散属性表204と、スカラ属性表205とを具える。単体複体表202は、前記幾何形態の面を表す面記録206−207を具える。説明したPM表現130(図7)の単体複体表140におけるように、面記録206−207は、各々の面を規定する3つの頂点{vj ,vk ,vl }のインデックスを符号化する。
【0064】
頂点位置表203は、前記幾何形態の頂点の位置を表す頂点位置記録208−209を具える。前記幾何形態の頂点の位置を、精細なメッシュおよび粗いメッシュにおける頂点位置間で、混合パラメータαに従って補間することから、頂点位置記録208−209は、前記精細なメッシュおよび粗いメッシュにおけるこれらの頂点位置(xj c ,yj c ,zj c )および(xj f ,yj f ,zj f )を符号化する。
【0065】
離散属性表204およびスカラ属性表205は、各々、前記幾何形態の面およびコーナのスカラおよび離散属性値を表す記録210−213を具える。スカラ属性記録212−213は、前記粗いメッシュおよび精細なメッシュの双方からのコーナの2つのスカラ属性値(sj c )および(sj f )を各々符号化し、前記スカラ属性の値を混合パラメータαに従って補間する。
【0066】
図9(b)を参照すると、説明したコンピュータシステム50(図5)は、方法190によって構成された幾何形態を計算し、表示する方法200を実行する。方法200は、代表的に、混合パラメータαの値のシーケンスにおける幾何形態を計算し、方法190(図9(a))のステップ192および193において選択された粗いメッシュおよび精細なメッシュ間の滑らかな視覚的推移を生じるようにする。このようにして、方法200は、混合パラメータの各々の値に関してステップのループを繰り返す。
【0067】
方法200のステップ202において、混合パラメータαの値を選択する。再び、この値を、前記ソフトウェアアプリケーションによって、または、コンピュータユーザによって選択することができる。前記ソフトウェアアプリケーションの場合において、αを一般に、前記より粗いメッシュおよびより精細なメッシュ間の幾何形態を滑らかに推移させる値のシーケンスを通じてステップさせる(例えば、図10(a−j)において示す例としての幾何形態において、0,0.25,0.5,0.75および1.0)。コンピュータユーザによる選択に関して、前記ソフトウェアアプリケーションは、αの値を設定するユーザインタフェース制御を提供する。好適には、スライド制御(例えば、スクロールバーまたは回転ノブ形式の制御)を使用し、ユーザがαの値を滑らかに変化させるのを可能にする。代わりに、前記ソフトウェアアプリケーションが、予め規定されたシーケンスにおいて値を選択することもできる。
【0068】
選択されたアルファの値によって、次にコンピュータシステム50は、ステップ203において、前記式(6)によって記述したように、前記選択されたαの値に従って幾何形態MG の頂点位置vbj G (α)を補間する。ステップ204において、前記幾何形態のスカラ属性も、上述したように前記選択されたαの値に従って補間する。コンピュータシステム50は、次にステップ205において、前記幾何形態を基礎とした図形を再生し、表示する。ステップ206において示すように、次にステップ202−205を混合パラメータαの他の選択された値に対して繰り返す。
【0069】
例として、図10(a−d)は、図24(a)において示す例としての元メッシュMの図24(b−d)において示す例としての漸進的メッシュを含むPM表現から復旧した2つのメッシュMG (0)≒M175 (500面の有する)およびMG (1)=M425 (1000面を有する)間の、説明した実施例によって構成した典型的な幾何形態の様子を示す。
【0070】
図3を参照すると、本発明の説明した実施例によるソフトウェアシステム420は、メッシュの連続可変精細レベル近似を表示するために、方法190(図9(a))および220(図9(b))によってPM表現から構成された多数の幾何形態を使用する。ソフトウェアシステム420は、ユーザインタフェース422、グラフィックスアプリケーション424、精細レベル近似手段426および表示ドライバ428を具える。前記ユーザインタフェースによって、コンピュータシステム50(図5)のユーザは、精細レベル近似手段426によるメッシュ出力の精細レベルを制御する。次にグラフィックアプリケーション424および表示ドライバ428は、前記メッシュの図形をレンダリングし、表示する。
【0071】
前記メッシュの精細レベルの設定に関して、ユーザインタフェース422は、2つのユーザインタフェース制御、Dスライダ制御432およびTスライダ制御434を具える。好適には、スライダ制御434および434を、スクロールバーのようなスライドユーザインタフェース制御として実現するが、代わりに、回転制御およびテキスト入力ボックスのような、ある範囲から値を選択できる他のユーザインタフェース制御として実現してもよい。Dスライダ制御432は、コンピュータシステム50(図5)の入力装置58を操作することによって、ユーザによってバーに沿ってスライドさせることができ、それによって精細変数Dの値を0から1の範囲で変化させる1つのタブ、ノブまたはボタン(図3において輪郭の矢印によって示す)を有する。Tスライダ制御434は、コンピュータシステム50(図5)の入力装置58を操作することによって、ユーザによってバーに沿ってスライドさせることができ、それによって幾何形態の複雑性変数T0 ,...,Tg+1 の組の値を0からnの範囲で変化させる複数のタブ、ノブまたはボタンを有し、ここで、nを前記メッシュのPM表現におけるメッシュの数とする。前記ユーザインタフェースは、幾何形態の精細変数Dおよび複雑性変数T0 ,...,Tg+1 を、グラフィックスアプリケーション424に出力し、精細レベル近似手段426によって発生されたメッシュの精細レベルを制御する。好適には、Tスライダ制御434の範囲を、対数スケールにおけるものとし、前記幾何形態の複雑性変数が、前記制御の線型的な動きに対して指数的に増加するようにする。本発明のいくつかの他の実施例において、Tスライド制御434を省き、幾何形態の複雑性変数T0 ,...,Tg+1 の組の値を、グラフィックアプリケーション424によって設定することもできる。
【0072】
出力変数DおよびT0 ,...,Tg+1 を、グラフィックアプリケーション424によって、精細レベル近似手段426に送る。前記精細レベル近似手段において、幾何形態の複雑性変数T0 ,...,Tg+1 は、PM表現における漸進的メッシュから粗いメッシュおよび精細なメッシュの組の複雑性を決定し、これらから幾何形態の組G0 ,...,Gg を構成する。精細変数Dは、前記幾何形態の組から1つの幾何形態を選択し、所望の精細レベルにおいて前記メッシュの近似を発生する幾何形態を計算する混合パラメータの値を選択する。
【0073】
精細レベル近似手段426は、補間手段436、PM表現ブロック438および幾何形態表440を具える。補間手段436は、精細変数Dの値を、幾何形態G0 ,...,Gg の組からの幾何形態Gj に関するインデックスjと、混合パラメータαの値とに変換する。例えば、前記組G0 ,...,Gg において10の幾何形態が存在する場合、補間手段436は、0.0から0.1の精細レベルの範囲を第1幾何形態G0 に割り当てることができ、この幾何形態に関する混合パラメータをα=10Dとして計算することができる。同様に、0.1から0.2の範囲を第2幾何形態G1 に割り当て、この幾何形態に関する混合パラメータをα=10(D−0.1)として計算し、以下同様に続ける。補間手段436を、選択された幾何形態Gj および混合パラメータαに対して精細変数Dの線型補間を計算するコードのブロックとして実現することができる。代わりに、補間手段436を、精細変数Dを選択された幾何形態Gj および混合パラメータαに割り当てるルックアップテーブルとして実現してもよい。
【0074】
PM表現ブロック438を、近似されているメッシュの、図7に示すデータ構造のような、PM表現データ構造とする。幾何形態表440を、幾何形態G0 ,...,Gg に関する、幾何形態ブロック441−443の順序付きリストとする。幾何形態ブロック441−443の各々を、図26に示す幾何形態データ構造200のような、幾何形態データ構造とする。前記精細レベル近似手段は、ブロック438として記憶されるPM表現から、図9(a)の幾何形態構成方法190に従って、ブロック441−443として記憶される幾何形態G0 ,...,Gg を構成する。幾何形態Gj の各々に関して、幾何形態複雑性変数Tj およびTj+1 の値は、幾何形態を構成するPM表現において特定された漸進的メッシュから、粗いメッシュおよび精細なメッシュMTjおよびMTj+1を特定する。例えば、幾何形態複雑性変数T0 およびT1 は、PM表現において特定された漸進的メッシュM0 ,...,Mn から、幾何形態G0 に対する粗いメッシュおよび精細なメッシュMT0およびMT1を特定する。説明したシステム420において、幾何形態複雑性変数T0 ,...,Tg+1 は、漸進的メッシュシーケンスM0 ,...,Mn におけるメッシュの数0,...,nを特定する。代わりに、幾何形態複雑性変数T0 ,...,Tg+1 は、前記幾何形態の組の精細なメッシュおよび粗いメッシュの面の数または頂点の数を特定することもできる(この場合において、Tスライダ制御434は、PM表現における面または頂点の最少数から最多数までの範囲を有する)。
【0075】
幾何形態複雑性変数T0 ,...,Tg+1 を基礎として幾何形態表440において表される幾何形態の組を構成した後、精細レベル近似手段426は、所望の幾何形態Gj および混合パラメータαに対する補間値を基礎として、幾何形態計算方法220(図9(b))によって、幾何形態を計算する。これは、精細レベル近似手段426がグラフィックスアプリケーション424に出力する所望の精細レベルにおいて、前記メッシュの近似を発生する。次に、グラフィックスアプリケーション424は、慣例的なメッシュレンダリング技術を使用して、前記近似メッシュの画像をレンダリングし、前記画像を、コンピュータシステム50(図5)の出力装置60に表示するために、表示ドライバ428に出力する。
【0076】
漸進的伝送。
図11を参照すると、本発明の説明した実施例によるシステム230は、多精細レベルにおける3次元グラフィックスモデルの漸進的伝送にPM表現を使用する。システム230は、通信リンク234を介してリンクした、(ネットワークまたはファイルサーバのような)送信コンピュータ232と、(クライアントコンピュータ局または端末のような)受信コンピュータ233とを具える。これらのコンピュータ232−233は、図5に示すコンピュータシステム50のアーキテクチャを有する。説明する漸進的伝送システム230における通信リンク234は、モデム236−237および電話線238を具えるが、代わりに、ローカルまたは広域コンピュータネットワーク(公共または私用交換ネットワーク、商用オンラインサービス、インターネット等を含む)か、放送データネットワークか、赤外線または無線周波数リンクか、他の通信技術かによって実現することもできる。送信コンピュータ232は、任意のメッシュMのPM表現を3次元モデルのデータベース240に記憶し、データベース240におけるPM表現を受信コンピュータ233に通信リンク234において伝送する伝送プロセス244(図12(a))を実現する漸進的伝送ソフトウェアアプリケーションを実行する。受信コンピュータ233は、前記PM表現を通信リンク234から受け、漸進的により高い精細レベルにおいて前記メッシュの図形をレンダリングする受信プロセス246(図12(b))を実現する漸進的伝送ソフトウェアアプリケーションを実行する。
【0077】
ここで図12(a)を参照すると、漸進的伝送方法244によれば、伝送コンピュータ232(図11)は、最初に、(例えば、図7の基本メッシュ記録132として、または慣例的な単一解像度フォーマットとしての)PM表現の基本メッシュM0 を送信し、続いて、頂点分割vspliti 記録136(図7)を送信する。
【0078】
図12(b)を参照すると、受信プロセス246は、前記頂点分割記録が到着すると、PM表現によって特定された任意のメッシュMを増分的に再生し、変化するメッシュの図形を動かす。説明する受信プロセス246において、前記メッシュへの変化を幾何形態化し、視覚的不連続を回避する。PMは、無欠損表現であることから、PM表現におけるnの頂点分割記録のすべてを受信した後、元メッシュMは正確に再生される。
【0079】
説明する受信プロセス246のステップ254において、受信コンピュータ233(図11)は、最初に、プロセス244のステップ250において送信コンピュータ232(図11)から送信された基本メッシュM0 記録132(図7)を受信する。次に、受信コンピュータ233は、ステップ255において、前記基本メッシュの図形を構成し、表示する。
【0080】
次に、ステップ256−259のループにおいて、受信コンピュータ232は、メッシュMを増分的に再生し、前記メッシュの図形を反復的に表示する。前記ループの各々の反復におけるステップ256において、受信コンピュータ233は、プロセス244のステップ251において送信コンピュータ232から送信されたvsplit記録136(図7)の次の組を受信する。送信コンピュータ232は前記vsplit記録を連続的に送信することから、図示した実施例の受信コンピュータ233は、送信された頂点分割記録を、構成および表示ステップ255、257−258の間に、当該受信コンピュータがこれらを処理する準備ができるまで一時的に記憶する入力バッファを含む。
【0081】
ステップ257において、受信コンピュータ233は、ステップ256において受信されたvsplit記録を以前の増分メッシュに用いることによって、前記メッシュを現在の増分メッシュに増分的に精細化する。前記ループの最初の反復において、前記以前の増分メッシュを、ステップ255による基本メッシュとする。前記ループのその後の反復において、前記以前の増分メッシュを、前記ループの以前の増分による現在の増分メッシュとする。ステップ258において、次に、受信コンピュータ233は、前記以前の増分メッシュから現在の増分メッシュへの幾何形態を構成し、前記幾何形態を使用して、増分メッシュ間の視覚的に滑らかな推移を表示する。ステップ258を任意に省くことができ、ステップ257において構成されたメッシュを代わりに表示することができる。
【0082】
好適には、前記受信プロセスは、メッシュMの漸進的再生と反復的表示との間の計算を、ループ256−259の各々の反復におけるステップ256において受信した頂点分割記録の数を変化させることによってつりあわせる。低速通信ラインの存在において、簡単な方法は、前記入力バッファが空であることが分かったときはいつも、現在のメッシュを表示することである(すなわち、前記入力バッファが空になるまで、ステップ257において頂点分割記録を連続的に用い、次に、前記ループの次の反復において繰り返す前に、前記入力バッファを再び満たしているときは、幾何形態を構成し、表示する)。高速通信ライン(すなわち、vsplit記録ストリーム134(図7)の伝送が、前記基本メッシュから、前記漸進的メッシュシーケンスからの1つより多い増分メッシュに構成し、表示するより時間が掛からない)に関して、代わりの方法は、複雑性が指数関数的に増加するメッシュを表示することである(すなわち、前記ループの各々の反復におけるステップ256において受信する多数pの vsplit 記録が指数関数的に増加する)。高速通信ラインに関して、前記以前のメッシュから幾何形態を構成し、表示するステップ258が、代わりにステップ257からのメッシュを表示する。
【0083】
メッシュ圧縮。
説明した実施例のPM表現は、メッシュを記憶する空間効率表現も提供する。PM表現は、初期メッシュMを符号化するだけでなく、メッシュの連続解像度群も、圧縮された単一解像度メッシュに対する空間競争において符号化する。最初に、vsplitの数nがMn における頂点の数m0 +nより少ないことから、PM表現のサイズは、初期メッシュMn のサイズにおいて線型的である。より重要には、頂点分割は、表面における局所的変換であるため、各々の変換前および後の表面属性において、重要な干渉性を予測できる。説明した実施例のPM表現は、予測およびデルタ符号化計画によって頂点分割記録を符号化することによるこの干渉性の利点を得る。
【0084】
特に、図13を参照すると、頂点位置vbsi i+1すなわち、頂点272の位置)およびvbm0+i+1 i+1(すなわち、頂点273の位置)を、メッシュMi278およびメッシュMi+1279間の各々の頂点分割vspliti変換276において、vbsi i(すなわち、頂点270の位置)から予測することができる。すなわち、頂点272−273の位置は、頂点270の位置の近傍であることが予測される。したがって、説明したコンピュータシステム50(図5)は、各々のvspliti記録136(図7)における頂点位置を、頂点位置vbsi iからの差またはデルタ(すわなち、Ai=(vbsi i+1−vbsi i,vbm0+i+1 i+1−vbsi i)として符号化し、これは、所定の精度に対する符号化に関して、頂点位置vbsi i+1およびvbm0+i+1 i+1の完全な座標(x,y,z)よりも少ないビットを必要とする。好適には、これらの位置差またはデルタを、前記頂点分割記録において、可変長デルタ符号化方法、例えば、可変長ハフマン符号によって符号化する。ハフマン符号を含む適切な可変長符号は、M. Deering, Geometry Compression, 1995 Computer Graphics Proceedings 13−20[以下、″Deering ″]に記載されている。
【0085】
説明した実施例において、頂点位置をデルタ符号化するのに必要なビットの数は、各々のエッジ{vsi i+1 ,vm0+i+1}92(図6)の折り畳みに関する、メッシュの特性を単純化する方法(図19)を利用することによって、さらに減少し、この方法は、結果としてのメッシュにおける頂点vsi i に関して3つの開始点、すなわち、{vbsi i+1 ,vbm0+i+1,(vbsi i+1 +vbm0+i+1)/2}を考える。前記方法によって選択された開始点に応じて、点{vbsi i+1 ,vbm0+i+1}を、開始点vbsi i+1 またはvbm0+i+1に対する位置デルタ{vbsi i+1 −vbsi i ,vbm0+i+1−vbsi i }か、開始位置(vbsi i+1 +vbm0+i+1)/2に対する位置デルタ{((vbsi i+1 +vbm0+i+1)/2)−vbsi i ,(vbsi i+1 +vbm0+i+1)/2}かのいずれかとしてデルタ符号化する。したがって、頂点分割記録は、前記開始位置の選択を符号化し、次に、位置デルタの適切な対を符号化する。4つの位置デルタの各々が異なった値の範囲を有する傾向があることから、好適には、前記4つの位置デルタを、これらの値の範囲に調節された別個のハフマン符号テーブルによって符号化する。
【0086】
他のPM表現において、構成アルゴリズムは、vbsi i ∈{vbsi i+1 ,vbm0+i+1,(vbsi i+1 +vbm0+i+1)/2}を簡単に選択することができる。これは、単純化基本メッシュの精度を低下させるが、位置{vbsi i+1 ,vbm0+i+1}を、頂点分割記録(例えば、位置の組{vbsi i+1 ,vbm0+i+1,(vbsi i+1 +vbm0+i+1)/2}からの位置vbsi i+1 の選択と、vbsi i =vbsi i+1 に対する位置デルタvbm0+i+1−vbsi i 、またはvbsi i =(vbsi i+1 +vbm0+i+1)/2に対する位置デルタ(vbsi i+1 −vbm0+i+1)/2のいずれか)における、さらにより少ないビットによって符号化することを可能にする。
【0087】
さらに、メッシュMi 278において、頂点282−287の小さい組のみが頂点vsi270に隣接することから、少ない数のビットを使用して、頂点vsi270に隣接する頂点282−287から、頂点vli282およびvri283を特定することができる。vspliti 記録136(図7)における頂点vli282およびvri283のインデックス(以下、″完全頂点インデックス″)を符号化して、これらを(より多くのビットを必要とする)元メッシュMn におけるm0 +nの頂点のすべての組から識別するよりも、説明したコンピュータシステム50は、隣接する頂点282−287の組からどれが頂点vli282およびvri283であるかを示すvspliti 記録136におけるインデックス(以下、″隣接頂点インデックス″)を(隣接頂点インデックスを、前記隣接頂点にこれらの完全頂点インデックスに遡る順序において割り当てるように)符号化する。説明した頂点分割変換276に関して、頂点vli282およびvri283を、各々3ビット(6つの可能な隣接頂点からこれらの頂点を特定するには十分である)において符号化することができる。対照的に、1000の頂点を有する簡単なメッシュMn でさえも、前記メッシュの各々の頂点を特定するために、少なくとも10ビットの完全頂点インデックスを必要とする。
【0088】
加えて、メッシュMi+1 279においてvspliti 変換276によって導入された面290−291の離散属性(例えば、材料指示子)dfvl およびdfvr を、多少の制御ビットのみを使用するMi における隣接面294−297の離散属性から、しばしば予測できる。説明する実施例において、例えば、制御ビット00,01および11は、新たに導入された面の離散属性が、頂点としてvt i+1 を有する隣接面(例えば、面294,296)の離散属性と等しいか、頂点としてvs i+1 を有する隣接面(例えば、面295,297)の離散属性と等しいか、双方の隣接面と異なっているかを示す。新たに導入された面の離散属性が、隣接面の離散属性と等しい場合、制御ビット00または01は、その離散属性を特定するのに十分である。前記離散属性が双方の隣接面の離散属性と異なっている場合、制御ビット11に、前記離散属性を完全に特定する値を続ける。したがって、大部分の場合において、vspliti 記録136は、新たに導入された面の材料指示子のような離散属性を、各々2ビットのみにおいて符号化することができる。
【0089】
Mi+1 279において新たに導入されたコーナ301−304のスカラ属性を、同様に、Mi 279における近接コーナ305−308から予測することができる。したがって、図示した実施例において、これらのスカラ属性も、近接コーナと等しいことを示す、または異なったスカラ属性を示す1つまたはそれ以上のビットを使用して符号化することができる。例えば、図示した実施例において、新たに導入されたコーナ301に関係するスカラ属性を、前記スカラ属性が近接コーナ306のスカラ属性と等しいことを示す制御ビット0を有するvspliti 記録136(図7)において符号化する。ところが、スカラ属性値が続く制御ビット1による符号化は、異なったスカラ属性を示す。好適には、この後者の場合において、前記値を、近接コーナ306のスカラ属性からの差として、可変長デルタ符号化によって符号化する(少なくともいくつかの場合において、いくつかの追加のビットを減じる)。
【0090】
説明した実施例の上述した符号化計画の結果として、慎重に設計したPM表現のサイズは、単一解像度メッシュを圧縮する他の先行技術の方法から得られるサイズと、少なくとも競争できる。
【0091】
選択的精細化。
図13−17を参照すると、説明した実施例のPM表現130(図7)は、モデルに細部を所望の領域のみにおいて追加できる選択的精細化もサポートする。一般に、本発明の説明した実施例は、モデルを切頭体図形内のメッシュの表面(すなわち、現在表示されているメッシュの図形内にあるメッシュの部分)のような所望の領域において精細化するPM表現において特定された頂点分割変換の部分集合のみを選択的に用いることによって、選択的精細化を行う。
【0092】
ここで、図14を参照すると、第1選択的精細化方法320は、回収関数REFINE(v)を使用し、PM表現におけるどの頂点分割変換を、初期の粗いメッシュMc の選択的な精細化に用いるかを決定する。REFINE(v)関数は、vの周囲に近接するメッシュをさらに精細化するかどうかを示すBoolean 値を返す。例として、切頭体図形内のメッシュ(すなわち、現在表示されているメッシュの図形内のメッシュ部分)の選択的な精細化を得るために、REFINE(v)関数を、v(例えば、図12の頂点vs i 270)またはその近くの頂点のいずれか(例えば、図12の頂点282−287)が前記切頭体内にあるかどうかを決定する。説明した実施例において、REFINE(v)関数を、前記メッシュの図形を反復的に表示するソフトウェアアプリケーションによって供給する。
【0093】
第1選択的精細化方法320は、ステップ322において、PM表現130(図7)によって特定された漸進的メッシュのシーケンスM0 ,...,Mn から、初期メッシュMC を0≦C≦n−1に関して構成することによって開始する。初期メッシュMC を、頂点分割記録vspliti 記録136(図7)を、いくらかでもあればすべてのi<Cに関して基本メッシュM0 に対して用いることによって構成する。
【0094】
次に第1選択的精細化方法320は、ステップのループ323−327を具える。前記ループにおいて、プロセス320は、上述したように残っている頂点分割記録{vsplitc ,...,vsplitn−1 }を通じて繰り返すことによって、初期メッシュMc を選択的に精細化するが、(1)すべての3つの頂点{vsi,vli,vri}が前記メッシュ内に存在する(ステップ324)か、(2)REFINE(vsi)が真である(ステップ325)場合のみ、ステップ326においてvspliti (si ,li ,ri ,Ai )を行う。(頂点vj は、それを導入する以前の頂点分割vsplitj−m0−1をステップ324−325の上述した条件によって行っていない場合、ステップ324において前記メッシュに存在しない。)
【0095】
ループ323−327をすべての頂点分割記録vspliti 136、C≦i<nに関して繰り返した後、前記メッシュは、初期メッシュMC に対してより細部を望む領域(例えば、切頭体図形内)において追加の細部が付加され、他の領域が粗いままであるように、選択的に精細化される。ステップ328において、次に前記プロセスは、前記選択的に精細化されたメッシュの図形を表示することができる。ポッピング効果を回避するために必要なため、プロセス320は、初期メッシュMC と前記選択的に精細化されたメッシュとの間に(例えば、図9のプロセス190を使用して)幾何形態を構成し、表示することができる。
【0096】
図16(a)に関して、3次元地形をモデリングし、方法320(図14)によって選択的に精細化されたメッシュの第1の例は、コンピュータシステム50(図5)において実行するソフトウェアアプリケーションによって現在表示されている切頭体図形内において追加の細部を有する。説明し易くするために、前記地形モデルのPM表現における(33844から)最初の10000の頂点分割変換のみを、選択的な精細化に関して考える(メッシュを識別できるように密になりすぎないように保つ)。
【0097】
図15を参照すると、変更された選択的精細化方法320′は、局所的領域の境界付近により多くの頂点分割変換を行うことを可能にする。方法320(図14)の欠点は、切頭体図形332(図16(a−b))内の頂点vsiが、その予測される隣接頂点vliまたはvriが前記切頭体の外側にあり、以前に形成されていないため、分割されないかもしれないことである。これは、変更された方法320において、ステップ324(図14)におけるより厳格でない条件を使用することによって矯正される。ステップ324′の変更された条件において、頂点vj の最も近い原型を、インデックス、
【数4】
を有する頂点として規定する。ステップ324′の変更された条件を、A′(si )=si (すなわち、vsiが前記メッシュ内にある)であり、頂点VAd(li)およびVAd(ri)(ここで、Ad=A′)の双方が前記メッシュにおいてvsiに隣接することととする。幾何形態を構成するときに、前記実施例においてvsplit記録を説明したように、原型情報A′を能率的に伝送する。ステップ324′および325′双方の条件が満たされた場合、ステップ326においてvsplit(si ,A′(li ),A′(ri ),Ai )を前記メッシュに、方法320(図14)におけるように用いる。変更された選択的精細化方法320′における残りのステップ322、323、327および328は、第1選択的精細化方法320におけるのと同様である。
【0098】
図16(b)は、図16(a)の選択的精細化メッシュの第1の例330と同じPM表現から、変更された方法320′(図15)によって選択的に精細化した、選択的精細化メッシュの第2の例を示す。再び、説明に便利なため、PM表現の(33844の頂点分割変換から)最初の10000頂点分割変換のみを、選択的精細化方法に関して考慮する。ステップ324′のより寛大な最近原型条件が、より多くの頂点分割記録{vsplitc ,...,vsplitn−1 }136を用いることを可能にすることから、前記選択的精細化メッシュの第2の例は、前記選択的精細化メッシュの第1の例よりも、切頭体図形内にはるかに多くの細部(すなわち、図16(b)において示す第2の例のメッシュにおける12169の面に対して、図16(a)において示す第1の例のメッシュにおける9462の面)を有する。
【0099】
図17を参照すると、上述した選択的精細化方法320および320′に関する他の欠点は、上述したREFINE(v)関数が、図16(a−b)において示す選択的に精細化されたメッシュに対して、現在表示されているメッシュの図形において僅かしかまたは全く効果を持たない多数の細部が依然として付加される恐れがあることである。例えば、上述したREFINE(v)関数は、前記切頭体図形内だが、見る人から遠い頂点vs における頂点分割変換に関して真の結果をもたらす。このような細部は、表示される図形に対して僅かしか付加しないが、前記図形のレンダリング時間を重大に増加させる。変更されたREFINE(v)方法340を代わりに使用することによって、上述した選択的精細化方法320および320′を、シルエットエッジ付近および見る人の付近の精細化に集中することによって改善する。
【0100】
変更されたREFINE(v)方法340の第ステップ342において、方法340は、頂点vに隣接する面Fv の各々の符号付けされた投影スクリーン領域{af :f∈Fv }を計算する。次に、変更されたREFINE(v)方法340は、(1)なんらかの面f∈Fv が前記切頭体図形内にある場合(ステップ343)と、(2a)前記面の投影表示領域af の符号がすべて等しくはない(vがシルエットエッジ付近にあることを示す)場合(ステップ344)、または(2b)前記投影スクリーン領域の和
【数5】
が予め決められたスクリーン領域しきい値(例えば、前記画像がユニット領域を有する場合、0.162 ユニット)より大きい場合、ステップ346においてBoolean 値が真であると評価する、または返す。他の場合、変更されたREFINE(v)方法340は、(選択的精細化方法320または320′のステップ325に対して)ステップ347において偽であると返す。
【0101】
図18(a−b)を参照すると、(図18(a−b)において示す)選択的精細化メッシュの第3の例は、図16(a−b)において示す第1および第2のメッシュの例と同じ地形モデルの表現から、変更されたREFINE(v)方法340を伴う選択的精細化方法320′によって発生される。33844の頂点分割変換すべてを、この第3の例において、この変更された選択的精細化方法によって考慮している。多数のより多くの頂点分割変換を考慮しているにも係わらず、第3の例のメッシュ(図18(a−b))は、第1および第2の例のメッシュ(すなわち、9462および12169の面)(図16(a−b))より少ない面(すなわち、7438の面)を有し、視覚的に重要な細部(すなわち、前記切頭体図形内、シルエット領域の付近、および見る人の近く)の、第2の例のメッシュ(図16(b))と実際的に等しい精細化を提供する。図18(b)において示す第3の例の選択的精細化メッシュの全体図によって見られるように、REFINE(v)方法340(前記切頭体図形、シルエット領域および面のスクリーンサイズを考慮する)によって、選択的精細化プロセス320′は、表示されている図形に対して重要に寄与しない切頭体図形内の領域における精細化を回避することによって、結果として得られる選択的精細化メッシュの複雑性を節約する。
【0102】
他の選択的精細化方法は、PM表現の頂点分割変換の可視度を考慮することである。頂点分割情報の頂点が前記切頭体図形内にあっても、表面または異なった物体の他の部分の背後に位置し、すなわち遮られる場合、見る人に対して依然として不可視であるかもしれない。例えば、地形モデルにおける隆起の遠い側における頂点は、例えこれらが切頭体図形内にあるとしても、見る人に対して不可視である。この、他の選択的精細化方法に関して、REFINE(v)関数をさらに変更し、前記頂点が不可視の場合、負または偽の結果を返すようにする。この結果、その現在可視の領域において実際的に等しい外観の品質を有する、さらにより簡単な選択的に精細化されたメッシュが得られる。
【0103】
上述した選択的精細化方法320、320′および340を、低バンド幅通信ラインによる図形依存モデルの能率的な伝送に有利に用いることもできる。受信側の図形が時間に関して変化するため、送信プロセス(例えば、図12(a)の送信プロセス244のような)は、上述した選択的精細化条件(例えば、ステップ324または324′と共にステップ325または方法340によって変更される325)を使用し、前記メッシュの現在表示されている領域内の頂点分割変換記録vspliti 136のみを選択し、送信する。図形が変化すると、前記送信プロセスは、さらにこの変化した図形に関するまだ送信されていない頂点分割記録136を送信する。特に、各時間フレームにおいて、前記送信プロセスは、REFINE(v)方法が真であると評価すると共に以前の時間フレームにおいて送信されていないこれらの頂点分割記録の伝送のみを必要とする。
【0104】
PM表現の構成。
図19に関して、メッシュ単純化およびPM構成方法380は、最初に単純化基本メッシュM0 への変換M=Mn を行うエッジ折り畳みのシーケンスを選択することによって、任意のメッシュMのPM表現130(図7)を構成する。次に、前記選択されたエッジ折り畳みの逆である頂点分割変換のシーケンスを、基本メッシュM0 によって、任意のメッシュMのPM表現として符号化する。結果として得られるPM表現によって特定される中間近似または漸進的メッシュMi ,i<nは、どのエッジを折り畳むのかと、どのような属性を影響を受ける付近(例えば、頂点位置vbsi i )に割り当てるかとの適切な選択に大きく依存する。
【0105】
説明するPM構成方法380におけるエッジ折り畳み変換の適切な選択における使用に関して、明白なエネルギ計量E(M)を規定し、元メッシュMに対する単純化メッシュM=(K,V,D,S)の精度を測定する。このエネルギ計量は、以下の形態を有する。
【0106】
最初の2項、Edist(M)およびEspring(M)は、Hoppe93 に記載のメッシュ最適化方法において使用されるジオメトリ保存に関するエネルギ計量の項と同じである。E(M)の次の2項、E scalar (M)およびEdisc(M)は、ジオメトリ以外のMに関係する属性を保存する。以下により完全に記述するように、E scalar (M)項は、単純化メッシュMのスカラ属性の精度を示し、Edisc(M)項は、単純化メッシュMの(図8(a−c)、10(a−e)、23(a,d)、24(a−d)および25(a−c)において示し、以下に規定する)不連続曲線の幾何学的精度を示す。
【0107】
PM構成方法380は、エネルギ計量E(M)を最小にしながら、Mから開始するメッシュMの変更によって、メッシュ単純化を行う。さらに特に、前記方法は、前記エネルギ計量の最小化を連続する変更、すわなちエッジ折り畳み変換の選択に適用し、前記メッシュの外観を最高に維持しながら、前記メッシュを基本メッシュM0 に対して単純化する。基本メッシュM0 は、連続するエッジ折り畳み変換の逆である頂点分割変換のシーケンスと共に、元メッシュMのPM表現になる。
【0108】
方法380は、ステップ382において、エッジ折り畳み変換のすべての候補の組のエネルギ計量E(M)に従って、推定エネルギコストΔEを計算することによって開始する。メッシュMのエッジのエッジ折り畳み変換は、前記エッジ折り畳み変換の候補の組において含まれるべきいくつかの局所的状態に適合する必要がある。説明する方法380において、これらの局所的状態は、Hoppe93 に記載されているような最大2面角制限および多様体保存制限を含む。最大2面角制限は、エッジ折り畳み後の付近におけるエッジの最大2面角がしきい値角(説明する方法において、acos(−1/3)=109.471度)を越えた場合、どのようなエッジ折り畳み変換も許可せず、表面自己交差を回避する。各々の候補のエッジ折り畳みK→K′に関して、方法380は、そのコストΔE=Ekd−EK (ここで、Kd=K′)を、連続最適化、
を、結合性K′を有するメッシュの頂点位置Vおよびスカラ属性Sの双方に関して解くことによって計算する。
【0109】
ステップ383において、候補のエッジ折り畳み変換を、それらの推定されたエネルギコストΔEの上昇順序における優先待ち行列に組織化する(すなわち、最も低く推定されたエネルギコストΔEを有するエッジ折り畳み変換を、前記優先待ち行列における優先順序において最初におく)。
【0110】
方法380は、メッシュMを、ステップ384において選択された解像度すなわち精細レベルを有する基本メッシュM0 に、すなわち、基本メッシュM0 に選択された面の数の±1以内に単純化する。この数を、方法380を実現するソフトウェアアプリケーションによって提供されるユーザインタフェース制御(例えは、数字入力ボックス、スクロールバーまたは同様のスライド制御、等)を使用して、コンピュータユーザによって選択することができる。代わりに、前記ソフトウェアアプリケーションが面の数を設定することもできる。説明する方法380において、選択された面の数を、元の任意のメッシュMと同じドポロジカル形式のメッシュに関する面の最少数より少なくすることはできない。
【0111】
次に方法380は、前記メッシュがステップ384において選択された面の数まで単純化されるまで、すなわち、候補のエッジ折り畳みが無くなるまで、ステップ385−389のループを繰り返す。前記ループの各々の繰り返しにおいて、方法380は最初に、ステップ385において、メッシュMに対する優先待ち行列において最も高い優先度のエッジ折り畳み変換(ecol({vs ,vt }))を用いる。ステップ386において、方法380は、ステップ385において行ったエッジ折り畳み変換の逆である頂点分割変換vsplit(vs ,vl ,vr ,vt ,A)を記憶する。(後に、ステップ386において記憶した頂点分割変換の組を、PM表現における頂点分割変換のシーケンス(図7)として、ステップ390において逆の順序において符号化する。)
【0112】
ステップ387において、方法380は、前記エッジ折り畳み変換から結果として得られるメッシュMにおける面の数と、基本メッシュM0 に対して選択した面の数とを比較する。Mにおける面の数が、基本メッシュM0 の選択された面の数より多く、前記優先待ち行列において候補のエッジ折り畳み変換が残っている場合、方法380は、ステップ385−389のループの繰り返しを続ける。そうでない場合、方法380は前記ループを抜ける。
【0113】
前記ループの他の繰り返しを続ける場合、方法380はステップ388において、前記ループの現在の繰り返しにおけるステップ385において行われるエッジ折り畳み変換の付近におけるすべての候補のエッジ折り畳み変換のエネルギコストΔEを再計算する。例えば、図6のエッジ折り畳み変換110をステップ385において行う場合、方法380は、面102′−107′のエッジに関する優先待ち行列におけるすべての候補のエッジ折り畳み変換の推定エネルギコストΔEを再計算する。次に方法380は、前記優先待ち行列におけるこれらのエッジ折り畳み変換を、これらの新たに計算されたエネルギコストΔEに従って再編成する。この再編成された優先待ち行列によって、方法380はループ385−389を繰り返す。
【0114】
ステップ387において前記ループを抜けた後、メッシュMが前記選択された面の数まで単純化されている場合、前記方法は、基本メッシュM0 から成るメッシュの連続的な解像度の集団(例えば、前記ループにおけるステップ385において行われるエッジ折り畳み変換のシーケンスから結果として得られるメッシュM)と、前記記憶された頂点分割操作によって規定された漸進的メッシュのシーケンスとを発生する。ステップ390において、方法380は、上述したように基本メッシュM0 と、前記記憶された頂点分割変換とを符号化し、PM表現を形成する。
【0115】
方法380の変形例において、前記基本メッシュの面の数を選択するステップ384を省略する。代わりに、ステップ385−389のループを、前記優先待ち行列が比較ステップ387において許可されるエッジ折り畳み変換を含まなくなるまで、単に繰り返す。このように、メッシュMを、(ステップ382に関して上述したように、候補のエッジ折り畳み変換に負わされる状況内で)その最も簡単な形態に単純化する。
【0116】
図20に関して、(″発明の属する技術分野″において上述した)Hoppe93 に記載のメッシュ最適化方法との比較において、説明したPM構成方法380は、メッシュ単純化に関して多くの利点を有する。主な違いは、説明したPM構成方法380が、エッジ折り畳み変換のみを、任意のメッシュの単純化に使用することである。(Hoppe93 に記載のメッシュ最適化方法は、ランダムに選択されるエッジ折り畳み、エッジ分割およびエッジ交換の3つの可能なメッシュ変換の組を使用する)。エッジ折り畳みのみを考慮することは、実行を簡単にし、図示したPM構成方法380の性能を改善するが、さらに重要には、説明したPM表現130(図7)を生じる。
【0117】
精度対簡単さのグラフ400によって示すように、他の主な違いは、連続的な精細レベル近似に用いられるエッジ折り畳み変換を選択する説明したPM構成方法380において使用した優先待ち行列である。これは、説明したPM構成方法380が、元メッシュMと基本メッシュM0 との中間にある(例えば、経路402に沿った)精細レベルにおける元メッシュMに対するより良い近似を発生することを可能にする。対照的に、Hoppe93 に記載のメッシュ最適化方法は、連続的なメッシュ変換をランダムに試み、通常、経路34−36(図2)に沿ったより劣った近似を達成する。
【0118】
説明したPM構成方法380における優先待ち行列選択の他の重要性として、表現定数Crep の必要性が(表現エネルギ項Erep (M)と共に)取り除かれる。″発明の属する技術分野″において上述したように、表現定数Crep の変化は、Hoppe93 に記載のメッシュ最適化方法によって発生される近似メッシュ(例えば、図2のメッシュMb −Md と、図1(b−d)に示す好例のメッシュ)の解像度の雑な選択を許可する。代わりに、図示したPM構成方法380は、基本メッシュM0 の解像度を明確に選択する(±1面以内)ことを可能にする。加えて、Hoppe93 のメッシュ最適化方法によって、表現定数Crep の選択された値ごとに1つ発生されるメッシュMb 、Mc またはMd に対して、説明したPM構成方法380は、実行ごとに、連続解像度のメッシュの集団を発生する。
【0119】
再び図8(a−d)を参照すると、例えば、図8(a−d)に示すメッシュは、前記例の元の任意のメッシュM(図1(a))を近似する、説明したPM構成方法380(図19)によって発生されるPM表現における連続解像度のメッシュの集団からのいくつかの例である。対照的に、Hoppe93 のメッシュ最適化方法は、表現定数Crep の選択された値に対する前記方法の実行ごとのメッシュM(図1(a))を近似する、図1(b−d)に示す典型的なメッシュの1つを発生する。
【0120】
表面ジオメトリの保存。
再び図19を参照すると、ステップ382および388において推定エネルギコストΔEを計算するとき、図示したPM構成方法380は、元メッシュMのジオメトリを、そこから点Xの組を標本化することによって記録する。最小限、図示したPM構成方法380は、Mの各頂点における点を標本化する。説明した方法380を実行するソフトウェアアプリケーションは、ユーザによって選択された場合、Mの表面上の追加の点をランダムに標本化する追加のユーザオプションも含む。
【0121】
点Xの組を標本化した後、方法380は、式(13)における推定エネルギコストの項を計算する。この式におけるエネルギ項Edist(M)およびEspring(M)を、Hoppe93 に記載され、″発明の属する技術分野″において上述したように規定する。一定結合性のメッシュに関して、頂点位置をEdist(V)+Espring(V)を最小化するように最適化する説明した方法380を、Hoppe93 に記載の方法のすぐ次に続ける。Edist(V)の計算は、点Xの組における各xbi の前記メッシュMに対する距離の計算を含む。これらの距離の各々は、最小化問題、
【数6】
それ自体であり、ここで、未知のbbi (ここでbbを太字のbとする)は、メッシュにおけるxbi の投影のパラメータ表現である。説明した方法380において、Edist(V)+Espring(V)の非線形最小化を、2つのステップを交互に行う反復手順を使用して行う。第1ステップにおいて、固定頂点位置Vに関して、方法380は、点Xを前記メッシュ上に投影することによって、最適パラメータ表現B={bb1 ,...,bbXa}を計算する(ここで、Xa=|X|とする)。第2ステップにおいて、固定パラメータ表現Bに関して、方法380は、希薄な線形最小自乗問題を解くことによって、最適頂点位置Vを計算する。
【0122】
ecol({vs ,v t })を考えると、説明した方法380は、異なった開始点、すなわち、α={0,1/2,1}に関して、
vbsi i =(1−α)vbsi i+1 +(α)vbm0+i+1 i+1 (15)
によって3つの異なった最適化を行い、最も良いものを受け入れることによって、1つの頂点位置vbs i のみを最適化する。
【0123】
Espringに対する全体spring定数κを規定するHoppe93 に記載のメッシュ最適化方法と異なり、説明した方法380は、エッジ折り畳み変換を考慮するたびごとにκを適合させる。直観的に、springエネルギは、少数の点を面の付近に投影する場合、この場合においてEdist(V)を最小化する頂点位置を見つけることは強制を受ける問題であることから、最も重要である。したがって、考慮する各々のエッジ折り畳み変換に関して、方法380は、κを、エッジ折り畳み変換の付近における点の数と面の数との比の関数として設定する。図6に示すように、エッジ折り畳み変換110の付近は、面100−107の組である。C表記を使用すると、方法380は、κ=r<4 ? 10−2 : r<8 ? 10−4 : 10−8を設定し、ここでrを、前記付近における点の数と面の数の比とする。
【0124】
この適合方法によって、Espring(M)の影響は、メッシュが単純化されるにつれて、徐々に、適応的に減少し、Hoppe93 に記載のメッシュ最適化方法において使用されるspring定数を減少する不経済なスケジュールは、もはや必要ない。
【0125】
スカラ属性(Escalar)の保存。
前記″発明の属する技術分野″における三角形メッシュの論考において記述したように、断片状連続スカラ領域を、説明した実施例において、メッシュのコーナにおけるスカラ属性Sを規定することによって表す。さらに特に、一般に元メッシュMは、各々の頂点vj において、位置vbj ∈Rb3 だけでなく、スカラ属性vbj ∈Rbd も有する。元メッシュMのジオメトリの保存に加えて、説明したPM構成方法380において使用される推定エネルギコスト関数は、方法380が構成する漸進的メッシュにおける元メッシュMのこれらのスカラ属性の保存を追加で行う。
【0126】
頂点におけるスカラ属性の最適化。
元メッシュMのスカラ属性を獲得するために、説明したPM構成方法380は、各々の点xbi ∈Xにおいて、属性値xbi ∈Rbd も標本化する。次に、前記推定エネルギコストの式(13)を、ジオメトリックエネルギ項の式、Edist(V)+Espring(V)から一般化し、標本化属性値X={xb1 ,...,xbXa}のメッシュMの属性値からの偏差も測定する。ジオメトリックエネルギコストの式、Edist(V)+Espring(V)を、少なくとも2つの方法において一般化し、スカラ属性値偏差を計算することができる。
【0127】
第1の一般化は、距離計量(すなわち、エネルギ項Edist)それ自体を再規定し、Rb3+d における距離、例えば、
【数7】
を測定することである。次に、この新たな距離計量を、上述しした方法380において使用されるのと同様の反復方法を使用して、最小化することができる。しかしながら、この最小化は、各々の点xbi の最適パラメータ表現bbi を見つけることが、Rb3+d における投影を必要とすることから、計算に関して不経済であり、これらのパラメータ表現がジオメトリを基礎としていないことから、十分に直観的ではない。
【0128】
説明した方法380における推定エネルギコスト式(13)に関するジオメトリックエネルギコストの式、Edist(V)+Espring(V)の第2の一般化は、別個のエネルギ項Escalarを使用し、スカラ属性の偏差を測定する。この第2の一般化において、エネルギ項Edist(V)を、式(14)を上述したように最小化する(すなわち、パラメータ表現bbi を、ジオメトリのみを使用して決定する)ことによって、計算する。推定エネルギコストの式(13)における別個のエネルギ項Escalarは、これらのパラメータ表現を基礎とした属性偏差を示す。すなわち、
Escalar(V)=(cscalar)2 Σi ‖x i −φ v (bbi )‖2 (17)
であり、ここで、定数cscalarは、属性エラー(Escalar)とジオメトリックエラー(Edist)との間の相対的な重みを定める。定数cscalarを、前記ソフトウェアアプリケーションによって設定することができ、または、前記ソフトウェアアプリケーションによって供給されるユーザインタフェース制御によってコンピュータユーザによって変化させることができる。
【0129】
このように、E(V,V)=Edist(V)+Espring(V)+Escalar(V)を最小化するために、説明した方法380は、最初にEdist(V)+Espring(V)を最小化する頂点位置vs を、前記点をメッシュ上に交互に投影し(パラメータ表現bbi を得る)、線形最小自乗問題を解くことによって見つける。次に、これらの同様なパラメータ表現bbi を使用して、1つの線形最小二乗問題を解くことによって、Escalarを最小化する頂点属性v s を見つける。これは、前記第1の一般化に比べて無視できる性能オーバヘッドを有する。
【0130】
図21(a−c)および22(a−c)に関して、ΔEscalarをエッジ折り畳みの推定コストΔEに寄与させることによって、説明したPM構成方法380は、面が前記属性領域に自然に適合した単純化メッシュを得る。例えば、ΔEscalarを最小化することによって、方法380(図19)は、単純化メッシュ422(図21(b−c))の発生において普通のジオメトリ(正方形)を有する元メッシュ420(図21(a))の複雑なスカラ属性領域(すなわち、色)を保存するエッジ折り畳みを選択することができる。この例において、元メッシュ420の200×200の頂点が、方法380によって、色品質のほとんどを保持しながら、単純化メッシュ422において頂点をちょうど400に減少する。
【0131】
他の例として、方法380は、エッジ分割を選択し、150983の面を有する他の元メッシュ430(図22(a))の他のスカラ属性を保存し、10000の面を有する単純化メッシュ432(図22(b−c))を発生する。
【0132】
コーナにおけるスカラ属性の最適化。
スカラコーナ属性Sを最適化する場合、上述したΔEscalarの最小化を、説明したPM構成方法380によって使用する。各々の頂点vj において、1つの未知の属性値v j に関して解く代わりに、説明した方法380は、(コーナ属性が等しいことを基礎として)前記コーナを連続的な組に分割し、各々の連続的な組に関して、その最適属性値に関して別個に解く。
【0133】
範囲制限。
説明した方法380は、制限された範囲を有するスカラ属性についても説明する。例えば、色の成分(r,g,b)を、代表的に0ないし1の範囲に制限する。ΔEscalarの最小二乗最小化は、この範囲外の色値を生じるかもしれない。スカラ属性が制限された範囲を有する場合において、説明した方法380は、前記所定の範囲に対して最適化された値を取る。ユークリッド標準の最小二乗最小化に関して、これは、事実上最適である。
【0134】
法線。
表面法線(nx ,ny ,nz )を、代表的にユニット長を有するように構成し、したがってこれらの変域を非デカルト座標とする。したがって法線の最適化は、非線形構成を有する非線形関数の最小化を必要とする。説明した方法380は代わりに、単に法線に単純化プロセスを行う。特に、方法380は、上述したように、ジオメトリエネルギ項ΔEdistの最小化における最適頂点位置vsi i において生じるα値を使用して、頂点vsi i+1 およびvmo+i+1 i+1 における法線の間を補間することによって、頂点vsi i において新たな法線を計算する。幸いにも、法線の絶対方向は、これらの不連続性に比べて視覚的に重要ではなく、これらの不連続性は、後述するように、図示した方法380における推定エネルギコスト式によって保存される。
【0135】
不連続曲線の保存(Edisc)。
外観属性は、前記メッシュにおける不連続曲線の組を、離散面属性(例えば、材料境界)間の差からと、スカラコーナ属性(例えば、折り目および影境界)間の差からとの双方から生じる。さらに特に、属性DおよびSは、前記メッシュの視覚的な外観において、不連続を引き起こす。前記メッシュのエッジ{vj ,vk }を、(1)それが境界エッジである場合、(2)その2つの隣接面f1 およびf2 が異なった離散属性を有する場合(すなわち、df1≠df2)、または(3)その隣接コーナが異なったスカラ属性を有する場合(すなわち、s(vj,f1) ≠s(vj,f2) またはs(vk,f1) ≠s(vk,f2) )、シャープであると呼ぶべきである。同時に、シャープエッジの組は、前記メッシュ上の不連続曲線(例えば、図8(a−d)における曲線)の組を規定する。これらの不連続曲線は、非常に目立つ特徴を形成するため、これらを、ドポロジ的およびジオメトリ的の双方において保存することが重要である。
【0136】
説明したPM構成方法380は、候補のエッジ折り畳み変換が前記不連続曲線のトポロジを変更する場合、いくつかの局所的状態を試験することによって検知する。特に、sharp {vj ,vk }が、エッジ{vj ,vk }がシャープであることを示すとし、#sharp {vj }が、頂点vj に隣接するシャープエッジの数であるとする。次に、図6を参照すると、エッジ{vs ,vt }92のエッジ折り畳み変換110は、(1)sharp {vs ,v1 }かつsharp {vt ,v1 }または、sharp {vs ,v2 }かつsharp {vt ,v2 }か、(2)#sharp {vs }≧1かつ#sharp {vt }≧1かつsharp {vs ,vt }でないか、(3)#sharp {vs }≧3かつ#sharp {vt }≧3かつsharp {vs ,vt }か、(4)sharp {vs ,vt }かつ#sharp {vs }=1かつ#sharp {vt }≠2か、(5)sharp {vs ,vt }かつ#sharp {vt }=1かつ#sharp {vs }≠2かのいずれかの場合、不連続曲線のトポロジを変更する。
【0137】
多数の異なった方法をPM構成方法380において使用して、上述した試験を使用して不連続曲線を保存することができる。ある代わりの方法(以下、固定不連続曲線方法と呼ぶ)は、これらの試験が、エッジ折り畳み変換が不連続曲線のトポロジを変更することを示す場合、単にこのエッジ折り畳みを許可しないことである。不連続曲線トポロジの変化を許可するがペナルティを課す、より洗練された他の方法を、以下に示す。
【0138】
不連続曲線のジオメトリも保存するために、説明した方法380はさらに、Mのシャープエッジから点Xdiscの追加の組を標本化し、推定エネルギコストの式(13)において、これらの標本化した点の各々の前記不連続曲線に対する距離の合計の二乗に等しい追加のエネルギ項Ediscを規定する。すなわち、Ediscを、点Xdiscをメッシュにおけるシャープエッジの組に投影するように強制すること以外は、Ediscと全く同様に規定する。実際は、方法380は、全体的表面適応問題内に組み込まれた曲線適応問題を解く。表面のすべての境界が不連続曲線として規定されることから、本発明の方法は、Hoppe93 の方法より精確に境界ジオメトリを保存する。
【0139】
図23(a−c)を参照し、エネルギコスト式(13)における追加のエネルギ項Ediscを使用する利点を、単純化メッシュ440(図23(a))および442(図23(b))によって示す。メッシュ440および442の双方は2000の面に単純化されており、メッシュ440のみが、エネルギコスト式(13)におけるエネルギ項Ediscなしに単純化され、メッシュ442は、エネルギ項Ediscによって単純化されている。結果として、メッシュ442は、不連続曲線の保存によって、メッシュ440よりも視覚的にはるかによい、元メッシュの近似になる。これは、モデルにおけるウィンドウを規定する不連続曲線のトポロジに関して、特に明白である。メッシュの不連続曲線のいくつかを、図23(a−c)において示す。
【0140】
不連続曲線のトポロジに対する変更の許可。
依然として図23(a−c)を参照すると、いくつかのメッシュは、多数の不連続曲線を含み、これらの曲線は、離れて見る場合、注意を引くには小さすぎる特徴の限界を定めるかもしれない。このような場合において、不連続曲線のトポロジを厳密に保存することは、単純化を不必要に削減する。不連続曲線を保存する代わりの方法において、PM構成方法380は、不連続曲線のトポロジの変更を許可するが、このような変更にペナルティを課す。候補のエッジ折り畳みecol({vs ,vt })は、メッシュの不連続曲線のトポロジを変化させ、方法380は、その推定エネルギコストΔEに、値、
【数8】
を付加し、ここで
【数9】
を、現在{vs ,vt }に投影する点Xdiscの数とする。
【0141】
この簡単な方法は、特別ではあるが、極めて効果的であることが分かっている。説明のために、メッシュ422(図23(b))を、方法380によって、固定不連続曲線保存方法を使用して2000の面に単純化し、メッシュ444(図23(c))を、不連続曲線に対する変更に単にペナルティを課す保存方法によって、2000の面に単純化する。不連続曲線の変化を許可する方法によって、メッシュ444において薄い暗い灰色ウィンドウフレームが消えることが許可される。しかしながら、メッシュ442において、固定不連続曲線保存方法は、前記ウィンドウフレームが存在することを強制し、結果としてより品質が劣った単純化メッシュとなる。
【0142】
説明したPM構成方法380(図19)は、速度および精度のトレードオフが異なっている多くの可能なPM構成方法の1つである。極めてより簡単な代わりのPM構成方法は、合法のエッジ折り畳み変換をランダムに選択することである。(いくかの局所的状態は、合法とすべきエッジ折り畳み変換に対して満たされなければならない、すなわち、Hoppe93 に記載の多様体保存。)大雑把ではあるが、この方法は、極めて高速であるという利点を有する。残念ながらこの方法は、一般に、元の任意のメッシュMに対して、より粗末な低精細レベル近似(すなわち、漸進的メッシュシーケンスにおいて、基本メッシュM0 に最も近い漸進的メッシュMi )を発生する。
【0143】
より洗練された代わりのPM構成方法は、エッジ折り畳み選択方法の改善を基礎した、Schroeder−etal92に記載の″面に対する距離″計量のような、簡単な発見法を使用する。
【0144】
説明した実施例の参照と共に本発明の原理を記述し、説明したことによって、説明した実施例を、配置および細部において、その原理から逸脱することなく、変更できることが認識されるであろう。ここに記載したプログラム、プロセスまたは方法は、指摘した場合以外は、コンピュータ装置のどのような個々の形式にも関係せず、すなわち制限を受けない。種々の形式の一般的な目的の、または特殊化したコンピュータ装置を、ここに記載した内容に従って使用または動作させることができる。説明した実施例のソフトウェアにおいて示した要素を、ハードウェアにおいて実現してもよく、その逆もまた可能である。
【0145】
本発明の原理を用いることができる多くの可能な実施例に鑑みて、前記詳細な実施例は単に説明的なものであることを認識すべきであり、本発明の範囲を制限するものとして受け取るべきではない。精確には、本発明として、請求項およびそれに相当するものの範囲および精神内であるすべてのこのような実施例を請求するものとする。
【図面の簡単な説明】
【図1】aないしdは、任意のメッシュの図形と、Hoppe93 において記載されているメッシュ最適化方法によって発生された多数の精細レベルにおける単純化近似メッシュの組の図形である。
【図2】Hoppe93 に記載のメッシュ最適化方法の結果を説明する精度対簡単さのグラフである。
【図3】本発明の説明した実施例によるメッシュの精細レベル近似を図形化するソフトウェアシステムのブロック図である。
【図4】aないしbは、元の任意のメッシュMを近似するMRA方法によって構成されたメッシュの組の図形である。
【図5】PM表現を使用して漸進的メッシュにおいて図形を記憶、送信およびレンダリングする、本発明による方法および装置を実現するのに使用することができるコンピュータシステムのブロック図である。
【図6】2つの逆メッシュ変換である、エッジ折り畳み操作および頂点分割操作を説明する、例としての初期の三角形メッシュおよび結果としての三角形メッシュの一部のブロック図である。
【図7】本発明の説明した実施例による任意の元メッシュMの連続する精細レベル近似を表すPM表現データ構造のブロック図である。
【図8】aないしdは、本発明の説明した実施例による例としてのPM表現において特定される漸進的メッシュの組からの3つの例としてのメッシュの図形である。
【図9】aは、説明した実施例によるPM表現における2つのメッシュ間の幾何形態を形成する方法の流れ図であり、bは、aの方法によって形成される幾何形態を計算する方法の流れ図である。
【図10】aないしjは、2つのメッシュ間で規定される例としての幾何形態MG (α)の図形である。
【図11】PM表現を基礎として3次元物体の図形を漸進的に送信および表示する、本発明の説明した実施例によるシステムのブロック図である。
【図12】aおよびbは、図11のシステムにおける送信方法および受信方法の流れ図である。
【図13】PM表現において指定される頂点分割変換のブロック図である。
【図14】図7のPM表現を基礎としてメッシュの選択的精細化を行う、本発明の説明した実施例による方法の流れ図である。
【図15】図7のPM表現を基礎としてメッシュの選択的精細化を行う、本発明の説明した実施例による他の方法の流れ図である。
【図16】aおよびbは、各々図14および15の方法による、切頭体図形内の選択的精細化によって発生された例としてのメッシュの図形である。
【図17】図13および14の方法の変形例の流れ図である。
【図18】aおよびbは、図17の方法による、切頭体図形内の選択的精細化によって発生された例としてのメッシュの図形である。
【図19】任意のメッシュのPM表現を構成する、本発明の説明した実施例によるメッシュ単純化方法の流れ図である。
【図20】図19に示すメッシュ単純化方法の結果を説明する、精度対簡単さのグラフである。
【図21】aないしcは、例としての任意のメッシュの図形と、図19のメッシュ単純化方法によって発生された単純化メッシュの図形である。
【図22】aないしcは、例としての任意のメッシュの図形と、図19のメッシュ単純化方法によって発生された単純化メッシュの図形である。
【図23】aないしdは、例としての任意のメッシュの図形と、図19のメッシュ単純化方法によって発生された単純化メッシュの図形である。
【図24】aないしdは、任意の初期メッシュMの図形と、それから図19の単純化方法によって形成された漸進的メッシュのシーケンスからの3つの例としてのメッシュの図形である。
【図25】aないしcは、図19の単純化方法の変形例によって発生された例としての単純化メッシュの図形である。
【図26】図7のPM表現の2つのメッシュ間の幾何形態を表す幾何形態データ構造のブロック図である。
【符号の説明】
130 漸進的メッシュ表現
132 基本メッシュ記録
134 頂点分割記録ストリーム
136 頂点分割記録
140 単体複体表
142 頂点位置表
144 離散属性表
146 スカラ属性表
【発明の属する技術分野】
本発明は、一般に、コンピュータグラフィックにポリゴンメッシュを使用する幾何学モデリングに関係し、特に、詳細レベルが変化するポリゴンメッシュモデルの表示、記憶および伝送を最適化する技術に関係する。
【0002】
【従来の技術】
コンピュータグラフィックスにおけるモデルは、しばしば、三角形メッシュを使用して表現される。幾何学的に、三角形メッシュ(例えば、図6の三角形メッシュの例の部分)は、互いにエッジに沿って結合された三角形面から成る断片状線状表面である。以下の論考において、三角形メッシュのジオメトリを、タプル(K,V)によって表し、ここで、Kを、メッシュ単一性(すなわち、頂点、エッジおよび面の隣接)の接続性を特定する単体複体とし、V={vb1 ,...,vbm }(符号に添えたbは、その符号が太文字であることを示すものとする)をRb3 における前記メッシュの形状を規定する頂点位置vbj =(xj ,yj ,zj )の組とする。より正確には、パラメトリック領域、|K|⊂Rbm は、Kの各々の頂点をRbm のカノニカル基本ベクトルと同一に扱うことによって構成し、前記メッシュを、画像、φV (|K|)として規定し、ここで、φV :Rbm →Rb3 を線型マップとする。(例えば、H. Hoppe他による、「Mesh Optimization 」1993 Computer Graphics Proceedings 19−26を参照されたい。)三角形メッシュの頂点(例えば、図6のメッシュ80の頂点82−89)を、v1 ,...,vm として示し、エッジ(例えば、92−95)を、隣接した頂点の対によってe={vj ,vk }として示し、面(例えば、面100−107)を、相互接続された頂点の三つ組によってf={vj ,vk ,vl }として示す。
【0003】
代表的なコンピュータグラフィック用途において、ジオメトリ(すなわち、上述した単体複体および頂点位置タプル(K,V))以外の面の外観の属性も、前記メッシュに関係する。これらの属性を、2つのタイプ、離散属性およびスカラ属性に分類することができる。離散属性は、通常、前記メッシュの面に関係する。共通離散属性である材料指示子は、前記メッシュの面のレンダリングにおいて使用されるシェーダ関数を、シェーダ関数の全体的なパラメータのいくつかと同様に決定する。例として、普通のシェーダ関数は、指定されたテクスチャマップ内の簡単なルックアップを含む。(例えば、S. Upstill, The RenderMan Companion (Addison−Wesley 1990 )を参照されたい。)
【0004】
多くのスカラ属性は、しばしばメッシュに関係し、拡散色(r,g,b)、法線(nx ,ny ,nz )およびテクスチャ座標(n,v)を含む。より一般的に、これらの属性は、メッシュ面において規定されるシェーダ関数のローカルパラメータを指定する。スカラ領域における不連続を攻略するために、隣接面が異なったシェーディング関数を有するかもしれないため、スカラ属性はメッシュの頂点に関係せず、そのコーナに関係するのが一般的である。(例えば、Apple Computer, Inc., 3d Graphics Programming with QuickDraw 3d (Addison−Wesley 1995 )を参照されたい。)コーナは、(頂点,面)タプルとして規定される。コーナc=(vj ,fk )におけるスカラ属性s(v,f) は、頂点vにおける面fに対するシェーディングパラメータを特定する。例として、折り目(滑らかでない法線領域を横切る面における曲線)をモデル化するために、メッシュにおける曲線(エッジの連続)を指定し、その経路に沿った各々の頂点において、前記曲線は、前記コーナを2つの組に分割し、これらの組の各々に関して1つが関係する2つの法線が前記コーナに関係する。このようにスカラおよび離散表面属性を有するメッシュを、タプルM=(K,V,D,S)として示し、ここで、Dを面f={vj ,vk ,vl }∈Kに関係する離散属性df の組とし、SをKのコーナ(v,f)に関係するスカラ属性s(v,f) の組とする。
【0005】
【発明が解決しようとする課題】
コンピュータグラフィックスにおけるリアリズムの絶え間ない追求において、高細密ジオメトリックモデルは、急速に一般化した。現在のモデリングシステムを使用すると、創造者は、融通がきくモデリング操作(例えば、押し出し、ソリッドジオメトリ構造(CSG)および自由形状変形(FED))を、ジオメトリックプリミティブ(例えば、不均一有理化B−スプライン(NURBS)および内在面(Blobbies))に用いることによって、物体の高細密ジオメトリックモデルを形成することができる。(T. Sederberg and S. Parry, Free−form Deformation of Solid Geometric Models, 1986 Computer Graphics Proceedings[FFD ]; Rockwood, Real−time Rendering of Trimmed Surfaces, 1989 Computer Graphics Proceedings [NURBS ]; および、J. Blinn, A Generalization of Algebraic Surface Drawing, 1982 ACM Transactions on Graphics 1(3)235−256[Blobbies]を参照されたい。)表示する目的のために、通常はこれらの創作モデルを、上述した形式の三角形メッシュにモザイク式にする。精細なモデルを、物理的物体を構造化ライトシステム、例えば、レーザレンジスキャナによって走査することによって迅速に得て、メッシュを生成することもできる。いずれの場合においても、結果として得られる複雑なメッシュを、記憶し、伝送し、再現するのは費用が掛かり、したがって多数の実際的な問題が生じる。
【0006】
メッシュ単純化。モデリングおよび走査システムによって生成されたメッシュは、代表的に表示性能に関して最適化されない。大部分の用途において、通常これらの初期メッシュを、ほぼ識別できない近似によってより少ない面に置き換え、レンダリング効率を改善することができる。現在、コンピュータユーザ(例えば、グラフィカルアーティストまたはデザイナ)は、最適化コンパイラの登場前のアセンブリコードをへたにいじくり回しているプログラマとほとんど同様に、しばしば、このメッシュの手動による調節の責任を負わされる。より良い方法は、メッシュ単純化ツールを開発し、この骨の折れる仕事を自動化することである。他の利益として、このようなツールは、性能が変化するプラットフォームに1つのモデルをポーティングすることを可能にする。
【0007】
精細レベル近似。精細なメッシュが見る人から離れている場合、スクリーンの小さい領域のみを占めるかもしれない。重要な仕事は、少ない数の画素にしか影響しないメッシュのレンダリングに労力を費やさなければならないことである。代わりに、より粗いメッシュ(すなわち、より少ない頂点および面を有するメッシュ)は、ほぼ同一に見えるであろう。この問題を取り上げるために、多くのアプリケーションは、種々の精細レベルにおける幾つかの変形のモデルを使用する。物体が近い場合、十分に精細なメッシュを使用し、物体が遠ざかるにつれてより粗い近似を代わりに使う。(T.A. Funkhouser およびC.H. Sequin, Adaptive Display Algorithm for Interactive Frame Rates During Visualization of Complex Virtual Environments, 1993 Computer Graphics Proceedings 247−254を参照されたい。)さらに、所定のモデルの2つの精細レベル間の瞬時の切り換えは、知覚しうる″ポッピング″表示効果を生じる恐れがある。この理由のため、異なった精細レベルを有するメッシュ間の、幾何形態(geomorphs )と呼ばれる、滑らかな視覚変化を構成する可能性が望まれる。
【0008】
漸進的伝送。複雑なメッシュは、相当な時間を消費して通信ラインを通じて伝送し、しばしばメッシュにおける図形によって画像を視覚的にレンダリングするのに掛かる時間より長い多くの時間が掛かる。メッシュを通信ラインを通じて伝送する場合、データを増加して受けるごとに、モデルのより良い近似を漸進的に示す図形をレンダリングするのに類似している。最も簡単な既知の方法は、個々の三角形を、これらを受ける毎に描画することであるが、もちろん、これは非常にへたな方法に思われる。他の先行技術による方法は、連続する精細レベルの近似を伝送することであるが、これは、追加の伝送時間を必要とする。
【0009】
メッシュ圧縮。モデルを、最も小さいメモリ量またはディスク空間に記憶すべきである。この問題を処理するために2つの直交する方法が存在する。一方は、上述したように、メッシュ単純化を使用し、モデルにおける面の数をその外観が保たれる限りできる限り多く減少させることである。他方は、メッシュ圧縮であり、個々のメッシュが選択されて与えられたモデルを記憶するために占められる空間を最小化することである。
【0010】
選択的精細化。精細表示レベルのより精細なメッシュに切り換える場合、細部は、モデル表面全体に均一に追加される。いくつかのモデルに対して、メッシュを選択された領域においてのみ精細化することが望まれる。例えば、利用者が地形モデル全体を保存してる場合、見る人の近くにおいてのみ、そして視野内においてのみ完全に精細に地形を示すことが望ましい。
【0011】
これらの問題を解決するための多数のメッシュ単純化技術が存在する。G. Turk, Re−Tiling Polygonal Surfaces, 1992 Computer Graphics Proceedings 55−64 [以下、″Turk92″]に記載されている技術は、局部的な曲率の推定によって重み付けした密度によってメッシュ上に点の組を散在させ、これらの点を基礎として再三角形化する。
【0012】
W.J. Schroeder他,Decimation of Triangle Meshes, 1992 Computer Graphics Proceedings 65−97 [以下、″Schroeder−etal92″]およびA. Varshney, Hierarchical Geometric Approximations, PhD thesis, Department of Computer Science , University of North Carolina at Chapel Hill (1994) [以下、″Vershney94″]の双方は、メッシュから頂点を反復的に除去し、結果として生じる穴を再三角形化する技術を開示している。Vershney94における技術は、ユーザが指定した許容差に対する近似の最大誤差を、元のメッシュに対して2つのオフセット表面を規定し、組み合わせ探索を使用することによって制限することができる。
【0013】
H. Hoppe他,Mesh Optimization, 1993 Computer Graphics Proceedings 19−26 [以下、Hoppe93 ]は、メッシュ最適化と呼ばれる技術を開示しており、これは、任意の元のメッシュを、エッジ折り畳み、エッジ分割およびエッジ交換を含む組から選択した連続的な変換を行うことによって、エネルギ関数が最小になるように単純化する。精度の軸26および簡単さの軸27を有する図2のグラフ25によって示すように、このエネルギ関数は、精度と簡単さとの競争のゴールを、元のメッシュから点の密な組を標本化し、これらの点を使用して 選択された変換により結果として得られるより単純なメッシュと元のメッシュとの間の距離の計量を規定することによって、明白にモデル化する。
【0014】
さらに特に、Hoppe93 において記載されているメッシュ最適化方法の目的は、点xi ∈Rb3 の組Xに正確に一致し、少ない数の頂点を有するメッシュM=(K,V)を見つけることである。この問題は、精度および簡単さのエネルギ関数、
E(M)=Edist(M)+Erep (M)+Espring(M) (1)
の最小化として計算され、距離エネルギ関数の項、
Edist(M)=Σi d2 (xi ,φv (|K|)) (2)
は、メッシュからの点の距離の二乗の合計を示し(すなわち、精度の軸26に沿った測定)、表示エネルギの項、
Ecrep(M)=crep m (3)
は、Mにおける頂点の番号m(すなわち、簡単さの軸27に沿った測定)を
課する。
【0015】
第3の項、弾性エネルギEspringを導入し、前記最適化の問題を秩序立てる。メッシュの各々のエッジにおいて静止長ゼロで張力κのスプリングが位置することに相当し、
【数1】
である。
【0016】
Hoppe93 は、外側ループおよび内側ループを有する重なった最適化方法を使用するエネルギ関数E(M)の最小化を記載している。外側ループにおいて前記方法は、メッシュの結合性Kに関して、3つの可能なメッシュ変換、すなわち、エッジ折り畳み、エッジ分割およびエッジ交換の組をランダムに試みることによって最適化する。この変換の組は、Kと同じトポロジカル形式のどのような単体複体もこれらの変換のシーケンスによって到達しうるという意味において完全である。各々の候補のメッシュ変換K→Kbに関して、上述した連続的な最適化は、新たな結合性K′が受ける最小のEであるEKD(ここでKDは、K′を表す)を計算する。ΔE=EKD−EK が負であることが分かった場合、前記メッシュ変換を行う(焼きなまし法をシミュレートするゼロ温度に類似する)。
【0017】
各々の候補のメッシュ変換に対して行われる内側ループにおいて、前記方法は、頂点位置Vに関して最適化することによって、EKD=minV Edist(V)+Espring(V)を計算する。効率のために、実際にはアルゴリズムは1つの頂点位置vbs のみを最適化し、K→Kbによって作用される付近に突き出した点の部分集合xのみを考慮する。
【0018】
Hoppe93 において規則化弾性エネルギ項Espring(M)が見られ、これは初期段階の最適化において最も重要である。したがって、前記最適化方法は、上述した重なり最適化方法を、バネ定数κを減少するスケジュールによって反復的に累乗することによって、最高の結果を達成する。
【0019】
Hoppe93 は、メッシュ単純化ツールとしてのこのメッシュ最適化方法の使用も説明している。初期メッシュM(例えば図1(a)に示す例としての初期の任意のメッシュ)の近似を与えると、点Xの密集した組を、Mbの頂点において標本化し、その面全体においてランダムに標本化する。次に前記最適化方法は、初期メッシュMを開始メッシュとして呼び出す。前記最適化方法は、表現定数Crep の設定を変化させることによって、可能なメッシュ38の空間を通る異なった経路34−36を選択し、これによって、精度および簡単さの異なったトレードオフによる最適化メッシュMb 、Mc およびMd を発生することができる。例えば、図1(b−d)は、例としての元の任意のメッシュ(図1(a))から、表現定数Crep の異なった値に対するHoppe93 の先行技術のメッシュ最適化方法によって発生した3つの例としての最適化メッシュMb 、Mc およびMd の図形を示す。
【0020】
J. RossignacおよびP. Borrel, Multi−resolution 3D Approximations for Rendering Complex Scenes, Modeling in Computer Graphics 455−465 (Springverlag, New York 1993) [以下、″Rossignac−−Borrel93 ″]は、空間的な格納を使用することによってモデルの頂点を合併する技術を記載している。これらの方法の独特な特徴は、モデルのトポロジカルな形式を前記プロセスにおいて変更できることである。これらの方法は極めて高速であるが、これらは曲率のようなジオメトリックな品質を無視することから、これらの近似は最適からは程遠い。
【0021】
上述したメッシュ単純化技術は、これらの単純化方法を数回連続的に用いることによって単純化モデルの離散的な階級を形成する。Turk92およびRossignac−−Borrel93 の双方は、このように形成されるモデルの離散的な組の間の幾何形態を構成することができる。
【0022】
より最近、M. Lounsbery他, Multiresolution analysis for surfaces of arbitrary topological type, Technical Report 93−10−05b, (Department of Computer Science and Engineering, University of Washington, January 1994) [以下、Lounsbery−etal94]は、任意のトポロジカル形式の表面に対する多解像度分析の概念を一般化した。M. Eck他, Multiresolution Anarysis of Arbitrary Meshes, 1995 Computer Graphics Proceedings 173−182[以下、″Eck95 ″]は、この小波を基礎とする多解像度方法を、任意のメッシュの近似にどのように適用することができるかを記載している。これらは、最初に、簡単な変域におけるメッシュのパラメータ表現を構成し、次に、このパラメータ表現を小波の基礎において拡張する。これらは、元のメッシュとなんらかの近似との間の最大誤差を制限することができる。
【0023】
【課題を解決するための手段】
本発明において、上述した問題を、漸進的メッシュ(″PM″)表現と呼ばれるフォーマットを使用して、任意のポリゴンメッシュMの図形を、記憶し、伝送し、レンダリングする方法および装置によって解決する。この漸進的メッシュ表現は、任意のポリゴンメッシュを、多くのより粗いメッシュM0 と、M0 をどのように増分的に精細化して元のメッシュM=Mn に精確に戻すかを示すnの細部記録のシーケンスとして表す。本発明の図示した実施例において、これらの記録の各々は、前期メッシュに追加の頂点を付加する基本的なメッシュ変換である頂点分割に関係する情報を記憶する。したがってMのPM表現は、精度が増加するメッシュの連続的なシーケンスM0 ,M1 ,...,Mn を規定し、ここからある所望の複雑性を有する精細レベル近似を能率的に復旧することができる。さらに、滑らかな視覚的推移(幾何形態)を、あるこのような2つのメッシュ間に能率的に構成することができる。加えて、PM表現は、Mそれ自体の簡潔な符号化を提供する漸進的伝送を当然支持し、能率的な選択的精細化を支持する。要するに、PM表現は、能率的で損失がない連続的解像度表現を提供する。
【0024】
本発明は、所定のメッシュMからPM表現を構成する新たな単純化手順も提供する。従来の単純化手順と異なり、この手順は、メッシュ表面のジオメトリそのものを保存することを要求しないが、その表面に関係する離散的およびスカラ属性によって規定されるその全体的な外観も保存することを要求する。
【0025】
上述した先行技術のメッシュ単純化技術に関して、Eck95 の多解像度分析(MRA)方法は、PM表現といくつかの類似点を有する。MRA方法も、簡単な基本メッシュを、前期モデルに遡って細部を漸進的に付加する情報のストリームと共に記憶する。MRA方法は同様に、そこからある複雑さの近似を抽出することができる連続的解像度表現を発生する。しかしながら、本発明のPM表現は、先行技術のMRA方法とは多くの相違点を有し、これに対して多くの利点を有する。
【0026】
第1に、MRA方法は、基本メッシュの面を反復的に分割する変換を指定する小波の形態の細部項を使用する。これは、この細部項すなわち小波を、再分結合性を有する領域に置くことを必要とする。結果として、最も高いものを含む各々の精細レベルの近似は、メッシュの制限されたクラス(再分結合性を有するこれら)に属する必要がある。任意の初期メッシュM(任意の結合性を有する)は、ε公差内に対してのみ近似的に再生することができ、精確には再生できない。
【0027】
対照的に、本発明のPM表現は損失がない。各々の細部記録は、どのような任意の結合性を有する漸進的メッシュ(PM表現のMi ,i<n)も発生することができる、完全なメッシュ精細化変換である。結果として、漸進的メッシュは、MRA方法の相対する近似メッシュよりも大幅に良好な元の任意のメッシュMのジオメトリ的近似である。さらに、連続的解像度の群における最高精細化モデルMn は、精確に元の任意のメッシュMである。(例えば、図4(a−d)において示す実例としてのMRA方法メッシュを、図7(a−d)において示す実例としてのPM表現メッシュと比較されたい。)
【0028】
加えて、MRA方法は、表面の折り目(交差する表面が滑らかでない表面上の曲線)を、これらの折り目が基本(最低精細レベル)メッシュのエッジにパラメータ的に沿った位置に生じなければ、能率的に処理することができない。しかしながら本発明によって構成される漸進的メッシュは、メッシュ表面上のどこにでも、どのような精細レベルにおいても表面の折り目を導入することができる。
【0029】
加えて、PM表現は、表面に関する連続的、断片状連続的および離散的な外観属性を獲得することができる。このような属性は、拡散色、法線、テクスチャ座標、材料指示子およびシェーダパラメータを含む。不連続を有する関数を表すために、従来のMRA方法は、断片状定数基本関数を使用できたが、この場合、結果として得られる近似は、連続的に満足する基本関数がないことから、多すぎる不連続を有する。(例えば、P. Schroder およびW. Sweldens, Spherical Wavelets: Efficiently Representing Functions on the Sphere, 1995 Computer Graphics Proceedings 161−172 (the Haar wavelet basis)を参照されたい。)さらに、どのようにMRAを拡張し、離散属性を獲得できるようにするかは、現在明らかではない。
【0030】
最後に、本発明のPM表現は、異なった離散属性を有するどのような2つの精細レベルメッシュ間の幾何形態も許可する。これは、従来のMRA方法によっては不可能である。
【0031】
本発明の追加の特徴および利点は、以下の添付した図の参照に続く図示した実施例の詳細な説明から明らかになるであろう。
【0032】
【発明の実施の形態】
図5を参照すると、本発明の説明する実施例に関する動作環境は、メモリシステム56、入力装置58および出力装置60に結合した少なくとも1つの高速処理ユニット(CPU)を具えるコンピュータ52を有するコンピュータシステム50である。これらの要素を、少なくとも1つのバス構造62によって相互接続する。
【0033】
説明するCPU54は、よく知られている設計のものであり、計算を行うALU64と、データおよび命令を一時的に記憶するレジスタの集まり66と、システム50の動作を制御する制御ユニット68とを含む。CPU54を、Digital によるAlpha と、MIPS Technology 、NEC 、IDT 、Siemens および他によるMIPSと、Intel および、Cyrix 、AMD およびNexgenを含む他によるx86 と、IBM およびMotorolaによるPowerPc とを含む、種々のアーキテクチャのいずれかを有するプロセッサとしてもよい。
【0034】
メモリシステム56は、一般に、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)半導体装置のような媒体の形態の高速メインメモリ70と、フロッピディスク、ハードディスク、テープ、CD−ROM、フラッシュメモリ、等、および電気、磁気、光または他の記録媒体を使用してデータを記憶する他の装置のような長期記憶媒体の形態の二次記憶部72とを含む。メインメモリ70は、表示装置によって画像を表示するビデオ表示メモリを含むこともできる。当業者は、メモリ56が種々の記憶容量を有する種々の代わりの構成要素を具えてもよいことを認めるであろう。
【0035】
入力および出力装置58、60も、よく知られているものとする。入力装置58は、キーボード、マウス、物理的変換器(例えば、マイクロホン)、等を具えることができる。出力装置60は、ディスプレイ、プリンタ、変換器(例えば、スピーカ)、等を具えることができる。ネットワークインタフェースまたはモデムのようないくつかの装置は、入力および/または出力装置として使用することができる。
【0036】
当業者にはよく知られているように、コンピュータシステム50は、オペレーティングシステムと、少なくとも1つのアプリケーションプログラムとをさらに含む。前記オペレーティングシステムを、前記コンピュータシステムの動作および資源の割り当てを制御するソフトウェアの組とする。前記アプリケーションプログラムを、前記オペレーティングシステムによって利用可能にされたコンピュータ資源を使用して、ユーザが望むタスクを行うソフトウェアの組とする。これらの両方は、前記説明するメモリシステム56内に存在する。
【0037】
コンピュータプログラムの当業者の慣習によって、本発明を、違うと示した場合を除いては、コンピュータシステム50によって行われるふるまいおよび動作の象徴的な表現の参照と共に、以下に説明する。このようなふるまいおよび動作を、コンピュータが実行しているものとして後に言及する。前記ふるまいおよび動作の象徴的な表現が、他の信号処理に加え、それによって前記コンピュータシステムの動作を再構成または他の変更をする、データビットを表す電気信号のCPU54による前記電気信号の表示の変換または減少を引き起こす操作と、メモリシステム56中のメモリ位置におけるデータビットの保存とを含むことは明らかであろう。データビットが含まれるメモリ位置は、前記データビットに対応する各々の電気、磁気または光特性を有する物理的位置である。″指定する″という言葉を、物理的物体、活動、特性または特徴、および関係に言及するのに、後に使用する。
【0038】
メッシュの概略。
ここで、図6を参照すると、コンピュータシステム50(図5)は、変化する精細レベルにおけるポリゴンメッシュとしてグラフィックス描写するために、漸進的メッシュ(PM)表現を使用して3次元物体をモデル化する。簡単にするために、説明した実施例におけるPM表現は、三角形メッシュ(上述した、″本発明の背景および要約″を参照されたい)において作用する。この説明した実施例のPM表現を、慣例的な三角形化処理(例えば、エッジを付加し、3つより多くの辺を有するメッシュのポリゴン面を三角形面に再分する)を使用する、より一般的なメッシュの三角形メッシュへの第1の変換によって、nの辺の面を含み、穴を有する面を含むようなより一般的なメッシュに作用させることができる。代わりに、(上述した)エッジ折り畳み変換を、3つより多くの辺を有するポリゴン面の辺に用いて、三角形メッシュを発生することもできる。より複雑なデータ構造という犠牲をはらって、PM表現を、本発明の他の実施例において一般化し、より一般的なメッシュに直接(すなわち、先の三角形化なしに)作用させることができることも認識すべきである。
【0039】
漸進的メッシュ表現の概略。
再び、図1および2を参照すると、Hoppe93 (上述した本発明の背景および要約を参照されたい)は、初期メッシュMのはるかにより簡単なメッシュへの近似に使用することができるメッシュ最適化方法を記載している。このメッシュ最適化方法は、(図2のグラフの参照と共に論考したように)可能なメッシュの空間を3つのメッシュ変換、すなわち、エッジ折り畳み、エッジ分割およびエッジ交換の組を連続的に用いることによって横切る。
【0040】
図6の参照によって、本発明者は、実際に、これらの変換のうちの1つ、ここではecol({vs ,vt })として示すエッジ折り畳みが、有効なエッジ単純化に関して十分であることを発見している。説明のために、エッジ折り畳み変換110は、メッシュ80の2つの隣接する頂点vs 86およびvt 89を1つの頂点vs 86′に統合し、結果としてより単純なメッシュ112を形成する。元のメッシュ80の頂点vt 89と、2つの隣接する面{vs ,vt ,vl }100および{vs ,vt ,vr }101とは、この処理において消える。位置vbs が、新たな統合頂点86′に対して指定される。
【0041】
このようにして、初期メッシュM=Mn を、より粗いメッシュM0 に、nの連続的なエッジ折り畳み変換のシーケンス、すなわち、
(M=Mn )ecoln−1 →Mn−1 ... ecol1 →M1ecol0→M0 (5)
によって(上記でより完全に記述したメッシュ単純化方法によるように)単純化することができる。エッジ折り畳み変換の個々のシーケンスは、近似するメッシュMi 、i<nの品質を決定するため、慎重に選択すべきである。ここで、m0 をM0 における頂点の数とし、メッシュMi の頂点をここではVi ={vl ,...,vm0+i}で示し、その結果頂点vm0+i+1はecoli によって除去される。頂点は、異なったメッシュにおいて異なった位置を有してもよいため、Mi におけるvj の位置を、ここではvbj i として示す。
【0042】
重要な注目点は、エッジ折り畳み変換が可逆であることである。この逆変換を、ここでは頂点分割116と呼ぶ。ここではvsplit(vs ,vl ,vr ,vt ,A)として示す頂点分割変換は、頂点vs 86′付近に新たな頂点(すなわち、以前に除去した頂点vt 89)を付加し、2つの側部頂点vl およびvr によって2つの新たな面(すなわち、以前に除去した面{vs ,vt ,vl }100および{vs ,vt ,vr }101)を付加する。(エッジ{vs ,vt }92が境界エッジである場合、vr =0であり、1つの面のみが追加される。)この変換も、前記変換付近におけるメッシュの属性を更新する。Aによって示すこの属性情報は、2つの影響を受けた頂点の位置vbs およびvbt と、2つの新たな面の離散的な属性dfvl およびdfvr と、影響を受けたコーナのスカラ属性(s(vs,.),s(vt,.),s(vl,fvl),s(vl,fvr))とを含み、ここで、fvl={vs,vt,vl}、fvr={vs,vt,vr}とする。
【0043】
図7を参照すると、エッジ折り畳み変換は可逆であるため、任意の三角形メッシュMを、本発明の説明した実施例によって、簡単なメッシュM0 (以下、″基本メッシュ″)を指定する基本メッシュ記録132と、任意のメッシュMを基本メッシュM0 から復元する、すなわち、
M0 vsplit0 →M1 vsplit1 →...vsplit n−1 →(Mn =M) (6)
の頂点分割変換のシーケンスを指定するnのvsplit記録136のシーケンス134とを含むデータ構造として表すことができる。ここで、vsplit記録を、vspliti (si ,li ,ri ,Ai )としてパラメータ化する。データ構造(M0 {vsplit0 ,...,vsplitn−1 })130を、ここでは、任意のメッシュMの漸進的メッシュ(PM)表現と呼ぶ。
【0044】
頂点分割変換の重要な特性(ここでは、″完全性″と呼ぶ)は、なんらかの任意の単体複体KA を有するメッシュを、同じトポロジカル形式の最小単体複体KM を有するメッシュから、1つまたはそれ以上の変換のシーケンスによって構成することができることである。(上述した先行技術のMRA方法において使用される4対1面分割変換は、これらの面分割シーケンスが再分割結合性を有する同じトポロジカル形式の最小メッシュから、なんらかの任意のメッシュに対する近似しか構成できないため、この意味において完全ではない。)頂点分割変換はこの意味において完全であるため、どの任意のメッシュも、説明したPM表現を使用して、正確に表すことができる。同様に、1つまたはそれ以上のメッシュ変換の組も、なんらかの任意の単体複体KA を有するメッシュを同じトポロジカル形式の最小単体複体KM から、前記組からの変換のシーケンスによって構成できる場合、完全である。したがって、頂点分割変換を、説明する実施例のPM表現における記録のシーケンスにおいて指定したが、代わりに、PM表現における記録は、頂点分割変換以外の完全なメッシュ変換の組を指定することもできる。例えば、4対1面分割変換および頂点分割変換を含む組は完全であり、本発明の他の実施例のPM表現における記録のシーケンスにおいて指定することができる。
【0045】
説明する実施例のPM表現130において、基本メッシュ記録132は、単体複体表140と、頂点位置表142と、離散属性表144と、基本メッシュM0 を規定するタプルM0 =(K0 ,V0 ,D0 ,S0 )の情報を含むスカラ属性表146とを具える。頂点位置表142は、基本メッシュM0 の各々の頂点に関するm0 の位置記録150−151を、これら頂点の座標値(x,y,z)と共に含む。説明する頂点位置表142において、位置記録150−151を、基本メッシュM0 のインデックスに関係する頂点インデックスに従って示す。
【0046】
単体複体表140は、基本メッシュM0 の各々の面に関する面記録154−155を、これら面の頂点のインデックス{vj ,vk ,vl }と共に含む。前記面記録におけるこの頂点情報は、基本メッシュM0 の各々の面を明白に規定し、基本メッシュM0 のエッジおよびコーナを暗に規定する。他の実施例において、基本メッシュ記録は、エッジを規定する隣接した頂点の対のインデックスを含む記録および、コーナを規定する頂点インデックス、面インデックスタプルのインデックスを含む記録のような、エッジおよびコーナを明白に規定する情報を含むことができる。図示した単体複体表において、面記録154−155を、基本メッシュM0 の面に関係する面インデックスに従って示す。
【0047】
離散属性表144は、基本メッシュM0 の面に関係する離散属性を規定する情報(すなわち、属性値および面インデックス)を有する記録158−159を含む。スカラ属性表146は、基本メッシュM0 のコーナに関係するスカラ属性を規定する情報(すなわち、属性値および頂点インデックス、面インデックスタプル)を有する記録162−164を含む。1つの離散属性表144および1つのスカラ属性表146を図示したが、基本メッシュ記録132は、基本メッシュM0 の多数の異なった離散およびスカラ属性(例えば、材料指示子、シェーダ関数パラメータ、減色、法線、テクスチャ座標、等)の各々に対して別個の属性表を含むこともできる。
【0048】
シーケンス134における頂点分割記録136は、任意の元のメッシュMを基本メッシュM0 から再現する頂点分割変換を指定する。一般に、頂点分割記録の各々における情報は、頂点vs 86、vl 87およびvr 88(図6)のインデックスと、頂点vs 86およびvt 89(図6)の位置座標vbs n およびvbt n と、面100および101(図6)の離散属性dfvl およびdfvr と、面100および101のコーナのスカラ属性s(vs,.)、s(vt,.)、s(vl,fvl)およびs(vl,fvl)とを具える。ここで、fvl={vs,vt,vl}、fvr={vs,vt,vr}とする。他の実施例において、前記頂点分割記録は、頂点vs 、vl およびvr を、付近の面(例えば、頂点vs およびvl を含む面)のインデックスと、前記頂点を前記面に隣接する頂点から識別する(例えば、前記面からvs およびvl を識別し、前記面付近の頂点からvr を識別する)ビットとによるように、間接的に指定することができる。
【0049】
図8(a−d)の参照と共に例として、図1(a)の例の初期任意メッシュM(12946の面を有する)を、6448のエッジ折り畳み変換を使用して、図8(a)の粗メッシュM0 (50の面を有する)に単純化する。M(図1(a))のPM表現は、M0 を指定する基本メッシュ記録と、n=6448のvsplit記録のシーケンスとから成る。このPM表現から、M0 に前記vsplitシーケンスの接頭辞を用いることによって、±1以内のなんらかの所望の面の数で近似するメッシュを引き出すことができる。例えば、図8(b−d)は、漸進的メッシュシーケンスから、200および1000の面を有する2つの近似メッシュを示す。
【0050】
図示した実施例において、単体複体表140が各々の面の頂点インデックスを載せる上述したPM表現のデータ構造130を、記憶するために使用する(例えば、前記漸進的メッシュの図5のコンピュータシステム50のハードディスクへの記憶)。実行時において、図示した実施例は、エッジ基礎データ構造を単体複体表140に使用し、隣接するメッシュの符号化も行う。これは、どの面が面fj に隣接し、どの面が頂点vj に隣接するかといったような質問の能率的な処理を可能にする。好適なエッジ基礎データ構造は既知であり、K. Weiler, Edge−based Data Structures for Solid Modeling in Curved−surface Environments, IEEE CG&A 5(1):21−40 (1985年1月)に記載の翼のあるエッジデータ構造を含む。
【0051】
本発明のいくつかの他の実施例において、頂点分割記録136は、頂点分割変換を行う前および行った後の双方の、メッシュの属性を指定する情報を符号化することができる。これは、双方向における漸進的メッシュのトラバースを可能にする。すなわち、漸進的メッシュシーケンスにおける所定のメッシュを、次の(まだ用いていない)頂点分割記録において指定される頂点分割変換を行うことによってさらに精細化することもでき、前記メッシュを、所望する以前の(以前行った)頂点分割記録において指定される頂点分割変換を逆にすることによって単純化することもできる。最低限、追加の情報は、頂点分割変換を行う前の前記メッシュにおける頂点位置vs を指定する。頂点分割変換を行う前に存在する面102′−107′(図6)およびコーナの他の属性を、これらが頂点分割変換によって変化している場合、頂点分割記録において符号化することができる。
【0052】
幾何形態。
頂点分割変換(およびその逆変換のエッジ折り畳み)の有利な特性は、滑らかな視覚的推移(幾何形態)を、Mi vspliti →Mi+1 において2つのメッシュMi およびMi+1 間で形成できることである。前記メッシュが頂点位置以外の属性を含まないとすると、頂点分割記録136(図7)を、vspliti (si ,li ,ri ,Ai =(vbsi i+1 ,vbm0+i+1 i+1 ))として各々符号化し、ここで、si 、li およびri は、各々、頂点vsi,vliおよびvriのインデックスである。(すなわち、頂点分割記録136は、頂点インデックスおよび位置値を含むが、図7において示す離散およびスカラ属性値を含まない。)幾何形態MG (α)を、メッシュ、
MG (α)=(Ki+1 ,VG (α)) (7)
を規定することによって、混合パラメータ0≦α≦1に関して形成し、結果として、MG (0)はMi のように見え、MG (1)はMi+1 のように見え、実際にMG (1)=Mi+1 であり、これらの結合性はMi+1 の結合性であり、これらの頂点位置は、vsi∈Mi から分割頂点vsi,vm0+i+1∈Mi+1 に線型的に補間される。すなわち、
【数2】
【0053】
このような幾何形態を使用すると、アプリケーションは、αの値を変化することによって、メッシュMi からメッシュMi+1 またはMi−1 に、前記メッシュのなんらかの視覚的″飛び″無しに、滑らかに推移させることができる。
【0054】
さらに、各々のvsplit/ecol 変換を滑らかに推移させることができることから、これらのどのようなシーケンスの組み合わせも滑らかに推移させることができる。したがって、PM表現によって符号化されたメッシュのシーケンスM0 ...Mn において、ある2つのメッシュ、粗メッシュMc および細メッシュMf を仮定し、0≦c<f≦nとすると、滑らかな幾何形態MG (α)を、MG (0)がMc のように見え、MG (1)がMf に等しくなるように規定することができる。MG を得るために、Mf の各々の頂点vj を、Mc におけるその原型に関係させる。すなわち、この原型の頂点のインデックスAc (j)を、vj の生成に至るvsplit変換まで反復的に探索する。
【数3】
(原則的に、この原型情報Ac を、メッシュが精細化される前進方向において集める。)幾何形態MG (α)は、MG (α)=(Kf , VG (α))によって規定され、Mf の接続性と、頂点位置、
vbj G (α)=(α)vbj f +(1−α)vbAc(j) c (10)
とを有する。
【0055】
これまでに上述した論考は、位置属性のみを含むPMメッシュ間の幾何形態の構成の概要を述べた。実際には、幾何形態を、離散およびスカラ属性の双方を含むメッシュに関して構成することができる。
【0056】
離散属性は、これらの性質によって、滑らかに補間することがでない。幸運にも、これらの離散属性は、メッシュの面に関係し、上述した″幾何学的″幾何形態は、面を滑らかに取り入れる。特に、Mc の面がMf の面の正確な部分集合であり、Mc から失われたMf のこれらの面が、折り畳まれて(ゼロ面積)三角形に退化するため、MG (0)において不可視であることが分かる。したがって、αが0から1に変化すると、これらの三角形は、MG (0)におけるゼロ面積三角形からMG (1)=Mf におけるこれらの完全サイズに成長する。(J. M. Lounsbery, Multiresolution Analysis for Surfaces of Arbitrary Topological Type, PhD thesis, Department of Computer Science and Engineering, University of Washington, (1994); Lounsbery−etal94; およびTurk92に記載されているような)従来の幾何形態化方法は、異なった精細レベルにおけるメッシュ間の良好な(可逆の)パラメータ表示を規定する。このようなパラメータ表示は、異なった離散属性を有するメッシュ間の幾何形態の構成を許可しない。対照的に、PM表現メッシュの幾何形態は、Mf からMc への不可逆マップを規定し、Mc から失われたMf のすべての面を、Mc のエッジまたは頂点に対して割り当てる。この割り当ては、離散属性を有するメッシュの滑らかな視覚的推移を可能にする。
【0057】
コーナにおいて規定されるスカラ属性も、頂点位置とほぼ同じように、滑らかに補間できる。メッシュMにおいて存在するコーナ(v,f)を、fがMc の面でない場合、粗メッシュMc におけるなんらかの″原型コーナ″に関係付けられないという僅かな困難が存在する。コーナ(v,f)がMc において有する属性値を、fが最初に導入されたメッシュMi+1 を調査し、属性値が同じMi+1 における付近のコーナ(v,f′)を見つけ、そこからMc におけるコーナまで反復的に探索することによって推定することができる。Mi+1 において同一の属性値を有する付近のコーナが存在しない場合、コーナ(v,f)は、Mc において同等物を持たず、したがってその属性は、幾何形態を通じて一定に保たれる。
【0058】
スカラ属性における補間関数は線型である必要は無く、例えば、法線は単位球面上で最適に補間され、カラーは、(図示した実施例においては、効率のためにカラーをレッド−グリーン−ブルー(″RGB″)空間において補間したが)色相純度値(″HSV″)空間において最適に補間することができる。
【0059】
頂点位置に関する補間関数も、線型である必要はない。本発明のいくつかの実施例において、例えば、幾何形態の頂点位置を、
vbG (α)=(a(α))vbf +(1−a(α))vbc
として規定することができ、ここで、関数a(α)=0.5+0.5sin((α−0.5)π)である(すなわち、a(α)=αのような線型関数に対して、αにおける非線形関数)。この非線形関数a(α)は、0≦α≦1に関して補間を与えるが、0および1においては、0値の導関数を有する。この結果、補間の振る舞いは緩やかになる。
【0060】
図9(a)を参照して、説明したコンピュータシステム50(図5)は、幾何形態を構成する方法190を実行し、PM表現におけるある2つの漸進的メッシュ間の滑らかな推移を表示する。方法190を、コードのモジュールとして実現することができ、これは、例えば、コンピュータシステム50において動作し、3Dグラフィックスを表示するソフトウェアアプリケーションの部品を形成する。方法190を、一般に、図9(b)において示す幾何形態計算および表示方法の前処理とする。
【0061】
方法190は、より粗いメッシュMc およびより精細なメッシュMf をPM表現において指定される連続的な精細レベルのメッシュから選択するステップ192−193において開始する。この選択を、前記ソフトウェアアプリケーションそれ自体によって行うことができる。例えば、見る距離における変化によって精細レベル近似間が推移する場合、前記ソフトウェアアプリケーションは、前記より粗いメッシュおよびより精細なメッシュを、精細レベル近似の開始および終了に対応して選択する。代わりに、前記ソフトウェアアプリケーションは、コンピュータユーザによる前記より粗いメッシュおよびより精細なメッシュの選択のために、ユーザインタフェース制御(例えば、値入力ボックスまたはリスト選択ボックス)を提供することができる。以下に説明する図3は、前記より粗いメッシュおよびより精細なメッシュを選択するユーザインタフェース制御を有するソフトウェアシステムを示す。
【0062】
選択されたより粗いメッシュおよびより精細なメッシュに関して、コンピュータシステム50は、ステップ194において、前記選択されたより精細なメッシュの結合性に等しい(KF )を有する幾何形態(MG (α)=(KF ,VG (α)))を形成する。前記幾何形態の頂点の位置は、前記より粗いメッシュにおけるこれらの位置と、前記より精細なメッシュにおけるこれらの位置との間で、混合パラメータαの値に従って変化する。ステップ195において、前記選択されたより精細なメッシュの面に関係する離散属性を、前記幾何形態の対応する面に割り当てる。
【0063】
図26を参照すると、方法190によって形成された幾何形態を、好適には、説明したコンピュータシステム50(図5)のメモリシステム56に記憶できる(基本メッシュ記録132(図7)のデータ構造といくつかの類似点を有する)幾何形態データ構造200として実現する。説明する幾何形態データ構造200は、単体複体表Kf 表202と、頂点位置VG (α)={v1 G (α),...,vM G (α)}表203と、離散属性表204と、スカラ属性表205とを具える。単体複体表202は、前記幾何形態の面を表す面記録206−207を具える。説明したPM表現130(図7)の単体複体表140におけるように、面記録206−207は、各々の面を規定する3つの頂点{vj ,vk ,vl }のインデックスを符号化する。
【0064】
頂点位置表203は、前記幾何形態の頂点の位置を表す頂点位置記録208−209を具える。前記幾何形態の頂点の位置を、精細なメッシュおよび粗いメッシュにおける頂点位置間で、混合パラメータαに従って補間することから、頂点位置記録208−209は、前記精細なメッシュおよび粗いメッシュにおけるこれらの頂点位置(xj c ,yj c ,zj c )および(xj f ,yj f ,zj f )を符号化する。
【0065】
離散属性表204およびスカラ属性表205は、各々、前記幾何形態の面およびコーナのスカラおよび離散属性値を表す記録210−213を具える。スカラ属性記録212−213は、前記粗いメッシュおよび精細なメッシュの双方からのコーナの2つのスカラ属性値(sj c )および(sj f )を各々符号化し、前記スカラ属性の値を混合パラメータαに従って補間する。
【0066】
図9(b)を参照すると、説明したコンピュータシステム50(図5)は、方法190によって構成された幾何形態を計算し、表示する方法200を実行する。方法200は、代表的に、混合パラメータαの値のシーケンスにおける幾何形態を計算し、方法190(図9(a))のステップ192および193において選択された粗いメッシュおよび精細なメッシュ間の滑らかな視覚的推移を生じるようにする。このようにして、方法200は、混合パラメータの各々の値に関してステップのループを繰り返す。
【0067】
方法200のステップ202において、混合パラメータαの値を選択する。再び、この値を、前記ソフトウェアアプリケーションによって、または、コンピュータユーザによって選択することができる。前記ソフトウェアアプリケーションの場合において、αを一般に、前記より粗いメッシュおよびより精細なメッシュ間の幾何形態を滑らかに推移させる値のシーケンスを通じてステップさせる(例えば、図10(a−j)において示す例としての幾何形態において、0,0.25,0.5,0.75および1.0)。コンピュータユーザによる選択に関して、前記ソフトウェアアプリケーションは、αの値を設定するユーザインタフェース制御を提供する。好適には、スライド制御(例えば、スクロールバーまたは回転ノブ形式の制御)を使用し、ユーザがαの値を滑らかに変化させるのを可能にする。代わりに、前記ソフトウェアアプリケーションが、予め規定されたシーケンスにおいて値を選択することもできる。
【0068】
選択されたアルファの値によって、次にコンピュータシステム50は、ステップ203において、前記式(6)によって記述したように、前記選択されたαの値に従って幾何形態MG の頂点位置vbj G (α)を補間する。ステップ204において、前記幾何形態のスカラ属性も、上述したように前記選択されたαの値に従って補間する。コンピュータシステム50は、次にステップ205において、前記幾何形態を基礎とした図形を再生し、表示する。ステップ206において示すように、次にステップ202−205を混合パラメータαの他の選択された値に対して繰り返す。
【0069】
例として、図10(a−d)は、図24(a)において示す例としての元メッシュMの図24(b−d)において示す例としての漸進的メッシュを含むPM表現から復旧した2つのメッシュMG (0)≒M175 (500面の有する)およびMG (1)=M425 (1000面を有する)間の、説明した実施例によって構成した典型的な幾何形態の様子を示す。
【0070】
図3を参照すると、本発明の説明した実施例によるソフトウェアシステム420は、メッシュの連続可変精細レベル近似を表示するために、方法190(図9(a))および220(図9(b))によってPM表現から構成された多数の幾何形態を使用する。ソフトウェアシステム420は、ユーザインタフェース422、グラフィックスアプリケーション424、精細レベル近似手段426および表示ドライバ428を具える。前記ユーザインタフェースによって、コンピュータシステム50(図5)のユーザは、精細レベル近似手段426によるメッシュ出力の精細レベルを制御する。次にグラフィックアプリケーション424および表示ドライバ428は、前記メッシュの図形をレンダリングし、表示する。
【0071】
前記メッシュの精細レベルの設定に関して、ユーザインタフェース422は、2つのユーザインタフェース制御、Dスライダ制御432およびTスライダ制御434を具える。好適には、スライダ制御434および434を、スクロールバーのようなスライドユーザインタフェース制御として実現するが、代わりに、回転制御およびテキスト入力ボックスのような、ある範囲から値を選択できる他のユーザインタフェース制御として実現してもよい。Dスライダ制御432は、コンピュータシステム50(図5)の入力装置58を操作することによって、ユーザによってバーに沿ってスライドさせることができ、それによって精細変数Dの値を0から1の範囲で変化させる1つのタブ、ノブまたはボタン(図3において輪郭の矢印によって示す)を有する。Tスライダ制御434は、コンピュータシステム50(図5)の入力装置58を操作することによって、ユーザによってバーに沿ってスライドさせることができ、それによって幾何形態の複雑性変数T0 ,...,Tg+1 の組の値を0からnの範囲で変化させる複数のタブ、ノブまたはボタンを有し、ここで、nを前記メッシュのPM表現におけるメッシュの数とする。前記ユーザインタフェースは、幾何形態の精細変数Dおよび複雑性変数T0 ,...,Tg+1 を、グラフィックスアプリケーション424に出力し、精細レベル近似手段426によって発生されたメッシュの精細レベルを制御する。好適には、Tスライダ制御434の範囲を、対数スケールにおけるものとし、前記幾何形態の複雑性変数が、前記制御の線型的な動きに対して指数的に増加するようにする。本発明のいくつかの他の実施例において、Tスライド制御434を省き、幾何形態の複雑性変数T0 ,...,Tg+1 の組の値を、グラフィックアプリケーション424によって設定することもできる。
【0072】
出力変数DおよびT0 ,...,Tg+1 を、グラフィックアプリケーション424によって、精細レベル近似手段426に送る。前記精細レベル近似手段において、幾何形態の複雑性変数T0 ,...,Tg+1 は、PM表現における漸進的メッシュから粗いメッシュおよび精細なメッシュの組の複雑性を決定し、これらから幾何形態の組G0 ,...,Gg を構成する。精細変数Dは、前記幾何形態の組から1つの幾何形態を選択し、所望の精細レベルにおいて前記メッシュの近似を発生する幾何形態を計算する混合パラメータの値を選択する。
【0073】
精細レベル近似手段426は、補間手段436、PM表現ブロック438および幾何形態表440を具える。補間手段436は、精細変数Dの値を、幾何形態G0 ,...,Gg の組からの幾何形態Gj に関するインデックスjと、混合パラメータαの値とに変換する。例えば、前記組G0 ,...,Gg において10の幾何形態が存在する場合、補間手段436は、0.0から0.1の精細レベルの範囲を第1幾何形態G0 に割り当てることができ、この幾何形態に関する混合パラメータをα=10Dとして計算することができる。同様に、0.1から0.2の範囲を第2幾何形態G1 に割り当て、この幾何形態に関する混合パラメータをα=10(D−0.1)として計算し、以下同様に続ける。補間手段436を、選択された幾何形態Gj および混合パラメータαに対して精細変数Dの線型補間を計算するコードのブロックとして実現することができる。代わりに、補間手段436を、精細変数Dを選択された幾何形態Gj および混合パラメータαに割り当てるルックアップテーブルとして実現してもよい。
【0074】
PM表現ブロック438を、近似されているメッシュの、図7に示すデータ構造のような、PM表現データ構造とする。幾何形態表440を、幾何形態G0 ,...,Gg に関する、幾何形態ブロック441−443の順序付きリストとする。幾何形態ブロック441−443の各々を、図26に示す幾何形態データ構造200のような、幾何形態データ構造とする。前記精細レベル近似手段は、ブロック438として記憶されるPM表現から、図9(a)の幾何形態構成方法190に従って、ブロック441−443として記憶される幾何形態G0 ,...,Gg を構成する。幾何形態Gj の各々に関して、幾何形態複雑性変数Tj およびTj+1 の値は、幾何形態を構成するPM表現において特定された漸進的メッシュから、粗いメッシュおよび精細なメッシュMTjおよびMTj+1を特定する。例えば、幾何形態複雑性変数T0 およびT1 は、PM表現において特定された漸進的メッシュM0 ,...,Mn から、幾何形態G0 に対する粗いメッシュおよび精細なメッシュMT0およびMT1を特定する。説明したシステム420において、幾何形態複雑性変数T0 ,...,Tg+1 は、漸進的メッシュシーケンスM0 ,...,Mn におけるメッシュの数0,...,nを特定する。代わりに、幾何形態複雑性変数T0 ,...,Tg+1 は、前記幾何形態の組の精細なメッシュおよび粗いメッシュの面の数または頂点の数を特定することもできる(この場合において、Tスライダ制御434は、PM表現における面または頂点の最少数から最多数までの範囲を有する)。
【0075】
幾何形態複雑性変数T0 ,...,Tg+1 を基礎として幾何形態表440において表される幾何形態の組を構成した後、精細レベル近似手段426は、所望の幾何形態Gj および混合パラメータαに対する補間値を基礎として、幾何形態計算方法220(図9(b))によって、幾何形態を計算する。これは、精細レベル近似手段426がグラフィックスアプリケーション424に出力する所望の精細レベルにおいて、前記メッシュの近似を発生する。次に、グラフィックスアプリケーション424は、慣例的なメッシュレンダリング技術を使用して、前記近似メッシュの画像をレンダリングし、前記画像を、コンピュータシステム50(図5)の出力装置60に表示するために、表示ドライバ428に出力する。
【0076】
漸進的伝送。
図11を参照すると、本発明の説明した実施例によるシステム230は、多精細レベルにおける3次元グラフィックスモデルの漸進的伝送にPM表現を使用する。システム230は、通信リンク234を介してリンクした、(ネットワークまたはファイルサーバのような)送信コンピュータ232と、(クライアントコンピュータ局または端末のような)受信コンピュータ233とを具える。これらのコンピュータ232−233は、図5に示すコンピュータシステム50のアーキテクチャを有する。説明する漸進的伝送システム230における通信リンク234は、モデム236−237および電話線238を具えるが、代わりに、ローカルまたは広域コンピュータネットワーク(公共または私用交換ネットワーク、商用オンラインサービス、インターネット等を含む)か、放送データネットワークか、赤外線または無線周波数リンクか、他の通信技術かによって実現することもできる。送信コンピュータ232は、任意のメッシュMのPM表現を3次元モデルのデータベース240に記憶し、データベース240におけるPM表現を受信コンピュータ233に通信リンク234において伝送する伝送プロセス244(図12(a))を実現する漸進的伝送ソフトウェアアプリケーションを実行する。受信コンピュータ233は、前記PM表現を通信リンク234から受け、漸進的により高い精細レベルにおいて前記メッシュの図形をレンダリングする受信プロセス246(図12(b))を実現する漸進的伝送ソフトウェアアプリケーションを実行する。
【0077】
ここで図12(a)を参照すると、漸進的伝送方法244によれば、伝送コンピュータ232(図11)は、最初に、(例えば、図7の基本メッシュ記録132として、または慣例的な単一解像度フォーマットとしての)PM表現の基本メッシュM0 を送信し、続いて、頂点分割vspliti 記録136(図7)を送信する。
【0078】
図12(b)を参照すると、受信プロセス246は、前記頂点分割記録が到着すると、PM表現によって特定された任意のメッシュMを増分的に再生し、変化するメッシュの図形を動かす。説明する受信プロセス246において、前記メッシュへの変化を幾何形態化し、視覚的不連続を回避する。PMは、無欠損表現であることから、PM表現におけるnの頂点分割記録のすべてを受信した後、元メッシュMは正確に再生される。
【0079】
説明する受信プロセス246のステップ254において、受信コンピュータ233(図11)は、最初に、プロセス244のステップ250において送信コンピュータ232(図11)から送信された基本メッシュM0 記録132(図7)を受信する。次に、受信コンピュータ233は、ステップ255において、前記基本メッシュの図形を構成し、表示する。
【0080】
次に、ステップ256−259のループにおいて、受信コンピュータ232は、メッシュMを増分的に再生し、前記メッシュの図形を反復的に表示する。前記ループの各々の反復におけるステップ256において、受信コンピュータ233は、プロセス244のステップ251において送信コンピュータ232から送信されたvsplit記録136(図7)の次の組を受信する。送信コンピュータ232は前記vsplit記録を連続的に送信することから、図示した実施例の受信コンピュータ233は、送信された頂点分割記録を、構成および表示ステップ255、257−258の間に、当該受信コンピュータがこれらを処理する準備ができるまで一時的に記憶する入力バッファを含む。
【0081】
ステップ257において、受信コンピュータ233は、ステップ256において受信されたvsplit記録を以前の増分メッシュに用いることによって、前記メッシュを現在の増分メッシュに増分的に精細化する。前記ループの最初の反復において、前記以前の増分メッシュを、ステップ255による基本メッシュとする。前記ループのその後の反復において、前記以前の増分メッシュを、前記ループの以前の増分による現在の増分メッシュとする。ステップ258において、次に、受信コンピュータ233は、前記以前の増分メッシュから現在の増分メッシュへの幾何形態を構成し、前記幾何形態を使用して、増分メッシュ間の視覚的に滑らかな推移を表示する。ステップ258を任意に省くことができ、ステップ257において構成されたメッシュを代わりに表示することができる。
【0082】
好適には、前記受信プロセスは、メッシュMの漸進的再生と反復的表示との間の計算を、ループ256−259の各々の反復におけるステップ256において受信した頂点分割記録の数を変化させることによってつりあわせる。低速通信ラインの存在において、簡単な方法は、前記入力バッファが空であることが分かったときはいつも、現在のメッシュを表示することである(すなわち、前記入力バッファが空になるまで、ステップ257において頂点分割記録を連続的に用い、次に、前記ループの次の反復において繰り返す前に、前記入力バッファを再び満たしているときは、幾何形態を構成し、表示する)。高速通信ライン(すなわち、vsplit記録ストリーム134(図7)の伝送が、前記基本メッシュから、前記漸進的メッシュシーケンスからの1つより多い増分メッシュに構成し、表示するより時間が掛からない)に関して、代わりの方法は、複雑性が指数関数的に増加するメッシュを表示することである(すなわち、前記ループの各々の反復におけるステップ256において受信する多数pの vsplit 記録が指数関数的に増加する)。高速通信ラインに関して、前記以前のメッシュから幾何形態を構成し、表示するステップ258が、代わりにステップ257からのメッシュを表示する。
【0083】
メッシュ圧縮。
説明した実施例のPM表現は、メッシュを記憶する空間効率表現も提供する。PM表現は、初期メッシュMを符号化するだけでなく、メッシュの連続解像度群も、圧縮された単一解像度メッシュに対する空間競争において符号化する。最初に、vsplitの数nがMn における頂点の数m0 +nより少ないことから、PM表現のサイズは、初期メッシュMn のサイズにおいて線型的である。より重要には、頂点分割は、表面における局所的変換であるため、各々の変換前および後の表面属性において、重要な干渉性を予測できる。説明した実施例のPM表現は、予測およびデルタ符号化計画によって頂点分割記録を符号化することによるこの干渉性の利点を得る。
【0084】
特に、図13を参照すると、頂点位置vbsi i+1すなわち、頂点272の位置)およびvbm0+i+1 i+1(すなわち、頂点273の位置)を、メッシュMi278およびメッシュMi+1279間の各々の頂点分割vspliti変換276において、vbsi i(すなわち、頂点270の位置)から予測することができる。すなわち、頂点272−273の位置は、頂点270の位置の近傍であることが予測される。したがって、説明したコンピュータシステム50(図5)は、各々のvspliti記録136(図7)における頂点位置を、頂点位置vbsi iからの差またはデルタ(すわなち、Ai=(vbsi i+1−vbsi i,vbm0+i+1 i+1−vbsi i)として符号化し、これは、所定の精度に対する符号化に関して、頂点位置vbsi i+1およびvbm0+i+1 i+1の完全な座標(x,y,z)よりも少ないビットを必要とする。好適には、これらの位置差またはデルタを、前記頂点分割記録において、可変長デルタ符号化方法、例えば、可変長ハフマン符号によって符号化する。ハフマン符号を含む適切な可変長符号は、M. Deering, Geometry Compression, 1995 Computer Graphics Proceedings 13−20[以下、″Deering ″]に記載されている。
【0085】
説明した実施例において、頂点位置をデルタ符号化するのに必要なビットの数は、各々のエッジ{vsi i+1 ,vm0+i+1}92(図6)の折り畳みに関する、メッシュの特性を単純化する方法(図19)を利用することによって、さらに減少し、この方法は、結果としてのメッシュにおける頂点vsi i に関して3つの開始点、すなわち、{vbsi i+1 ,vbm0+i+1,(vbsi i+1 +vbm0+i+1)/2}を考える。前記方法によって選択された開始点に応じて、点{vbsi i+1 ,vbm0+i+1}を、開始点vbsi i+1 またはvbm0+i+1に対する位置デルタ{vbsi i+1 −vbsi i ,vbm0+i+1−vbsi i }か、開始位置(vbsi i+1 +vbm0+i+1)/2に対する位置デルタ{((vbsi i+1 +vbm0+i+1)/2)−vbsi i ,(vbsi i+1 +vbm0+i+1)/2}かのいずれかとしてデルタ符号化する。したがって、頂点分割記録は、前記開始位置の選択を符号化し、次に、位置デルタの適切な対を符号化する。4つの位置デルタの各々が異なった値の範囲を有する傾向があることから、好適には、前記4つの位置デルタを、これらの値の範囲に調節された別個のハフマン符号テーブルによって符号化する。
【0086】
他のPM表現において、構成アルゴリズムは、vbsi i ∈{vbsi i+1 ,vbm0+i+1,(vbsi i+1 +vbm0+i+1)/2}を簡単に選択することができる。これは、単純化基本メッシュの精度を低下させるが、位置{vbsi i+1 ,vbm0+i+1}を、頂点分割記録(例えば、位置の組{vbsi i+1 ,vbm0+i+1,(vbsi i+1 +vbm0+i+1)/2}からの位置vbsi i+1 の選択と、vbsi i =vbsi i+1 に対する位置デルタvbm0+i+1−vbsi i 、またはvbsi i =(vbsi i+1 +vbm0+i+1)/2に対する位置デルタ(vbsi i+1 −vbm0+i+1)/2のいずれか)における、さらにより少ないビットによって符号化することを可能にする。
【0087】
さらに、メッシュMi 278において、頂点282−287の小さい組のみが頂点vsi270に隣接することから、少ない数のビットを使用して、頂点vsi270に隣接する頂点282−287から、頂点vli282およびvri283を特定することができる。vspliti 記録136(図7)における頂点vli282およびvri283のインデックス(以下、″完全頂点インデックス″)を符号化して、これらを(より多くのビットを必要とする)元メッシュMn におけるm0 +nの頂点のすべての組から識別するよりも、説明したコンピュータシステム50は、隣接する頂点282−287の組からどれが頂点vli282およびvri283であるかを示すvspliti 記録136におけるインデックス(以下、″隣接頂点インデックス″)を(隣接頂点インデックスを、前記隣接頂点にこれらの完全頂点インデックスに遡る順序において割り当てるように)符号化する。説明した頂点分割変換276に関して、頂点vli282およびvri283を、各々3ビット(6つの可能な隣接頂点からこれらの頂点を特定するには十分である)において符号化することができる。対照的に、1000の頂点を有する簡単なメッシュMn でさえも、前記メッシュの各々の頂点を特定するために、少なくとも10ビットの完全頂点インデックスを必要とする。
【0088】
加えて、メッシュMi+1 279においてvspliti 変換276によって導入された面290−291の離散属性(例えば、材料指示子)dfvl およびdfvr を、多少の制御ビットのみを使用するMi における隣接面294−297の離散属性から、しばしば予測できる。説明する実施例において、例えば、制御ビット00,01および11は、新たに導入された面の離散属性が、頂点としてvt i+1 を有する隣接面(例えば、面294,296)の離散属性と等しいか、頂点としてvs i+1 を有する隣接面(例えば、面295,297)の離散属性と等しいか、双方の隣接面と異なっているかを示す。新たに導入された面の離散属性が、隣接面の離散属性と等しい場合、制御ビット00または01は、その離散属性を特定するのに十分である。前記離散属性が双方の隣接面の離散属性と異なっている場合、制御ビット11に、前記離散属性を完全に特定する値を続ける。したがって、大部分の場合において、vspliti 記録136は、新たに導入された面の材料指示子のような離散属性を、各々2ビットのみにおいて符号化することができる。
【0089】
Mi+1 279において新たに導入されたコーナ301−304のスカラ属性を、同様に、Mi 279における近接コーナ305−308から予測することができる。したがって、図示した実施例において、これらのスカラ属性も、近接コーナと等しいことを示す、または異なったスカラ属性を示す1つまたはそれ以上のビットを使用して符号化することができる。例えば、図示した実施例において、新たに導入されたコーナ301に関係するスカラ属性を、前記スカラ属性が近接コーナ306のスカラ属性と等しいことを示す制御ビット0を有するvspliti 記録136(図7)において符号化する。ところが、スカラ属性値が続く制御ビット1による符号化は、異なったスカラ属性を示す。好適には、この後者の場合において、前記値を、近接コーナ306のスカラ属性からの差として、可変長デルタ符号化によって符号化する(少なくともいくつかの場合において、いくつかの追加のビットを減じる)。
【0090】
説明した実施例の上述した符号化計画の結果として、慎重に設計したPM表現のサイズは、単一解像度メッシュを圧縮する他の先行技術の方法から得られるサイズと、少なくとも競争できる。
【0091】
選択的精細化。
図13−17を参照すると、説明した実施例のPM表現130(図7)は、モデルに細部を所望の領域のみにおいて追加できる選択的精細化もサポートする。一般に、本発明の説明した実施例は、モデルを切頭体図形内のメッシュの表面(すなわち、現在表示されているメッシュの図形内にあるメッシュの部分)のような所望の領域において精細化するPM表現において特定された頂点分割変換の部分集合のみを選択的に用いることによって、選択的精細化を行う。
【0092】
ここで、図14を参照すると、第1選択的精細化方法320は、回収関数REFINE(v)を使用し、PM表現におけるどの頂点分割変換を、初期の粗いメッシュMc の選択的な精細化に用いるかを決定する。REFINE(v)関数は、vの周囲に近接するメッシュをさらに精細化するかどうかを示すBoolean 値を返す。例として、切頭体図形内のメッシュ(すなわち、現在表示されているメッシュの図形内のメッシュ部分)の選択的な精細化を得るために、REFINE(v)関数を、v(例えば、図12の頂点vs i 270)またはその近くの頂点のいずれか(例えば、図12の頂点282−287)が前記切頭体内にあるかどうかを決定する。説明した実施例において、REFINE(v)関数を、前記メッシュの図形を反復的に表示するソフトウェアアプリケーションによって供給する。
【0093】
第1選択的精細化方法320は、ステップ322において、PM表現130(図7)によって特定された漸進的メッシュのシーケンスM0 ,...,Mn から、初期メッシュMC を0≦C≦n−1に関して構成することによって開始する。初期メッシュMC を、頂点分割記録vspliti 記録136(図7)を、いくらかでもあればすべてのi<Cに関して基本メッシュM0 に対して用いることによって構成する。
【0094】
次に第1選択的精細化方法320は、ステップのループ323−327を具える。前記ループにおいて、プロセス320は、上述したように残っている頂点分割記録{vsplitc ,...,vsplitn−1 }を通じて繰り返すことによって、初期メッシュMc を選択的に精細化するが、(1)すべての3つの頂点{vsi,vli,vri}が前記メッシュ内に存在する(ステップ324)か、(2)REFINE(vsi)が真である(ステップ325)場合のみ、ステップ326においてvspliti (si ,li ,ri ,Ai )を行う。(頂点vj は、それを導入する以前の頂点分割vsplitj−m0−1をステップ324−325の上述した条件によって行っていない場合、ステップ324において前記メッシュに存在しない。)
【0095】
ループ323−327をすべての頂点分割記録vspliti 136、C≦i<nに関して繰り返した後、前記メッシュは、初期メッシュMC に対してより細部を望む領域(例えば、切頭体図形内)において追加の細部が付加され、他の領域が粗いままであるように、選択的に精細化される。ステップ328において、次に前記プロセスは、前記選択的に精細化されたメッシュの図形を表示することができる。ポッピング効果を回避するために必要なため、プロセス320は、初期メッシュMC と前記選択的に精細化されたメッシュとの間に(例えば、図9のプロセス190を使用して)幾何形態を構成し、表示することができる。
【0096】
図16(a)に関して、3次元地形をモデリングし、方法320(図14)によって選択的に精細化されたメッシュの第1の例は、コンピュータシステム50(図5)において実行するソフトウェアアプリケーションによって現在表示されている切頭体図形内において追加の細部を有する。説明し易くするために、前記地形モデルのPM表現における(33844から)最初の10000の頂点分割変換のみを、選択的な精細化に関して考える(メッシュを識別できるように密になりすぎないように保つ)。
【0097】
図15を参照すると、変更された選択的精細化方法320′は、局所的領域の境界付近により多くの頂点分割変換を行うことを可能にする。方法320(図14)の欠点は、切頭体図形332(図16(a−b))内の頂点vsiが、その予測される隣接頂点vliまたはvriが前記切頭体の外側にあり、以前に形成されていないため、分割されないかもしれないことである。これは、変更された方法320において、ステップ324(図14)におけるより厳格でない条件を使用することによって矯正される。ステップ324′の変更された条件において、頂点vj の最も近い原型を、インデックス、
【数4】
を有する頂点として規定する。ステップ324′の変更された条件を、A′(si )=si (すなわち、vsiが前記メッシュ内にある)であり、頂点VAd(li)およびVAd(ri)(ここで、Ad=A′)の双方が前記メッシュにおいてvsiに隣接することととする。幾何形態を構成するときに、前記実施例においてvsplit記録を説明したように、原型情報A′を能率的に伝送する。ステップ324′および325′双方の条件が満たされた場合、ステップ326においてvsplit(si ,A′(li ),A′(ri ),Ai )を前記メッシュに、方法320(図14)におけるように用いる。変更された選択的精細化方法320′における残りのステップ322、323、327および328は、第1選択的精細化方法320におけるのと同様である。
【0098】
図16(b)は、図16(a)の選択的精細化メッシュの第1の例330と同じPM表現から、変更された方法320′(図15)によって選択的に精細化した、選択的精細化メッシュの第2の例を示す。再び、説明に便利なため、PM表現の(33844の頂点分割変換から)最初の10000頂点分割変換のみを、選択的精細化方法に関して考慮する。ステップ324′のより寛大な最近原型条件が、より多くの頂点分割記録{vsplitc ,...,vsplitn−1 }136を用いることを可能にすることから、前記選択的精細化メッシュの第2の例は、前記選択的精細化メッシュの第1の例よりも、切頭体図形内にはるかに多くの細部(すなわち、図16(b)において示す第2の例のメッシュにおける12169の面に対して、図16(a)において示す第1の例のメッシュにおける9462の面)を有する。
【0099】
図17を参照すると、上述した選択的精細化方法320および320′に関する他の欠点は、上述したREFINE(v)関数が、図16(a−b)において示す選択的に精細化されたメッシュに対して、現在表示されているメッシュの図形において僅かしかまたは全く効果を持たない多数の細部が依然として付加される恐れがあることである。例えば、上述したREFINE(v)関数は、前記切頭体図形内だが、見る人から遠い頂点vs における頂点分割変換に関して真の結果をもたらす。このような細部は、表示される図形に対して僅かしか付加しないが、前記図形のレンダリング時間を重大に増加させる。変更されたREFINE(v)方法340を代わりに使用することによって、上述した選択的精細化方法320および320′を、シルエットエッジ付近および見る人の付近の精細化に集中することによって改善する。
【0100】
変更されたREFINE(v)方法340の第ステップ342において、方法340は、頂点vに隣接する面Fv の各々の符号付けされた投影スクリーン領域{af :f∈Fv }を計算する。次に、変更されたREFINE(v)方法340は、(1)なんらかの面f∈Fv が前記切頭体図形内にある場合(ステップ343)と、(2a)前記面の投影表示領域af の符号がすべて等しくはない(vがシルエットエッジ付近にあることを示す)場合(ステップ344)、または(2b)前記投影スクリーン領域の和
【数5】
が予め決められたスクリーン領域しきい値(例えば、前記画像がユニット領域を有する場合、0.162 ユニット)より大きい場合、ステップ346においてBoolean 値が真であると評価する、または返す。他の場合、変更されたREFINE(v)方法340は、(選択的精細化方法320または320′のステップ325に対して)ステップ347において偽であると返す。
【0101】
図18(a−b)を参照すると、(図18(a−b)において示す)選択的精細化メッシュの第3の例は、図16(a−b)において示す第1および第2のメッシュの例と同じ地形モデルの表現から、変更されたREFINE(v)方法340を伴う選択的精細化方法320′によって発生される。33844の頂点分割変換すべてを、この第3の例において、この変更された選択的精細化方法によって考慮している。多数のより多くの頂点分割変換を考慮しているにも係わらず、第3の例のメッシュ(図18(a−b))は、第1および第2の例のメッシュ(すなわち、9462および12169の面)(図16(a−b))より少ない面(すなわち、7438の面)を有し、視覚的に重要な細部(すなわち、前記切頭体図形内、シルエット領域の付近、および見る人の近く)の、第2の例のメッシュ(図16(b))と実際的に等しい精細化を提供する。図18(b)において示す第3の例の選択的精細化メッシュの全体図によって見られるように、REFINE(v)方法340(前記切頭体図形、シルエット領域および面のスクリーンサイズを考慮する)によって、選択的精細化プロセス320′は、表示されている図形に対して重要に寄与しない切頭体図形内の領域における精細化を回避することによって、結果として得られる選択的精細化メッシュの複雑性を節約する。
【0102】
他の選択的精細化方法は、PM表現の頂点分割変換の可視度を考慮することである。頂点分割情報の頂点が前記切頭体図形内にあっても、表面または異なった物体の他の部分の背後に位置し、すなわち遮られる場合、見る人に対して依然として不可視であるかもしれない。例えば、地形モデルにおける隆起の遠い側における頂点は、例えこれらが切頭体図形内にあるとしても、見る人に対して不可視である。この、他の選択的精細化方法に関して、REFINE(v)関数をさらに変更し、前記頂点が不可視の場合、負または偽の結果を返すようにする。この結果、その現在可視の領域において実際的に等しい外観の品質を有する、さらにより簡単な選択的に精細化されたメッシュが得られる。
【0103】
上述した選択的精細化方法320、320′および340を、低バンド幅通信ラインによる図形依存モデルの能率的な伝送に有利に用いることもできる。受信側の図形が時間に関して変化するため、送信プロセス(例えば、図12(a)の送信プロセス244のような)は、上述した選択的精細化条件(例えば、ステップ324または324′と共にステップ325または方法340によって変更される325)を使用し、前記メッシュの現在表示されている領域内の頂点分割変換記録vspliti 136のみを選択し、送信する。図形が変化すると、前記送信プロセスは、さらにこの変化した図形に関するまだ送信されていない頂点分割記録136を送信する。特に、各時間フレームにおいて、前記送信プロセスは、REFINE(v)方法が真であると評価すると共に以前の時間フレームにおいて送信されていないこれらの頂点分割記録の伝送のみを必要とする。
【0104】
PM表現の構成。
図19に関して、メッシュ単純化およびPM構成方法380は、最初に単純化基本メッシュM0 への変換M=Mn を行うエッジ折り畳みのシーケンスを選択することによって、任意のメッシュMのPM表現130(図7)を構成する。次に、前記選択されたエッジ折り畳みの逆である頂点分割変換のシーケンスを、基本メッシュM0 によって、任意のメッシュMのPM表現として符号化する。結果として得られるPM表現によって特定される中間近似または漸進的メッシュMi ,i<nは、どのエッジを折り畳むのかと、どのような属性を影響を受ける付近(例えば、頂点位置vbsi i )に割り当てるかとの適切な選択に大きく依存する。
【0105】
説明するPM構成方法380におけるエッジ折り畳み変換の適切な選択における使用に関して、明白なエネルギ計量E(M)を規定し、元メッシュMに対する単純化メッシュM=(K,V,D,S)の精度を測定する。このエネルギ計量は、以下の形態を有する。
【0106】
最初の2項、Edist(M)およびEspring(M)は、Hoppe93 に記載のメッシュ最適化方法において使用されるジオメトリ保存に関するエネルギ計量の項と同じである。E(M)の次の2項、E scalar (M)およびEdisc(M)は、ジオメトリ以外のMに関係する属性を保存する。以下により完全に記述するように、E scalar (M)項は、単純化メッシュMのスカラ属性の精度を示し、Edisc(M)項は、単純化メッシュMの(図8(a−c)、10(a−e)、23(a,d)、24(a−d)および25(a−c)において示し、以下に規定する)不連続曲線の幾何学的精度を示す。
【0107】
PM構成方法380は、エネルギ計量E(M)を最小にしながら、Mから開始するメッシュMの変更によって、メッシュ単純化を行う。さらに特に、前記方法は、前記エネルギ計量の最小化を連続する変更、すわなちエッジ折り畳み変換の選択に適用し、前記メッシュの外観を最高に維持しながら、前記メッシュを基本メッシュM0 に対して単純化する。基本メッシュM0 は、連続するエッジ折り畳み変換の逆である頂点分割変換のシーケンスと共に、元メッシュMのPM表現になる。
【0108】
方法380は、ステップ382において、エッジ折り畳み変換のすべての候補の組のエネルギ計量E(M)に従って、推定エネルギコストΔEを計算することによって開始する。メッシュMのエッジのエッジ折り畳み変換は、前記エッジ折り畳み変換の候補の組において含まれるべきいくつかの局所的状態に適合する必要がある。説明する方法380において、これらの局所的状態は、Hoppe93 に記載されているような最大2面角制限および多様体保存制限を含む。最大2面角制限は、エッジ折り畳み後の付近におけるエッジの最大2面角がしきい値角(説明する方法において、acos(−1/3)=109.471度)を越えた場合、どのようなエッジ折り畳み変換も許可せず、表面自己交差を回避する。各々の候補のエッジ折り畳みK→K′に関して、方法380は、そのコストΔE=Ekd−EK (ここで、Kd=K′)を、連続最適化、
を、結合性K′を有するメッシュの頂点位置Vおよびスカラ属性Sの双方に関して解くことによって計算する。
【0109】
ステップ383において、候補のエッジ折り畳み変換を、それらの推定されたエネルギコストΔEの上昇順序における優先待ち行列に組織化する(すなわち、最も低く推定されたエネルギコストΔEを有するエッジ折り畳み変換を、前記優先待ち行列における優先順序において最初におく)。
【0110】
方法380は、メッシュMを、ステップ384において選択された解像度すなわち精細レベルを有する基本メッシュM0 に、すなわち、基本メッシュM0 に選択された面の数の±1以内に単純化する。この数を、方法380を実現するソフトウェアアプリケーションによって提供されるユーザインタフェース制御(例えは、数字入力ボックス、スクロールバーまたは同様のスライド制御、等)を使用して、コンピュータユーザによって選択することができる。代わりに、前記ソフトウェアアプリケーションが面の数を設定することもできる。説明する方法380において、選択された面の数を、元の任意のメッシュMと同じドポロジカル形式のメッシュに関する面の最少数より少なくすることはできない。
【0111】
次に方法380は、前記メッシュがステップ384において選択された面の数まで単純化されるまで、すなわち、候補のエッジ折り畳みが無くなるまで、ステップ385−389のループを繰り返す。前記ループの各々の繰り返しにおいて、方法380は最初に、ステップ385において、メッシュMに対する優先待ち行列において最も高い優先度のエッジ折り畳み変換(ecol({vs ,vt }))を用いる。ステップ386において、方法380は、ステップ385において行ったエッジ折り畳み変換の逆である頂点分割変換vsplit(vs ,vl ,vr ,vt ,A)を記憶する。(後に、ステップ386において記憶した頂点分割変換の組を、PM表現における頂点分割変換のシーケンス(図7)として、ステップ390において逆の順序において符号化する。)
【0112】
ステップ387において、方法380は、前記エッジ折り畳み変換から結果として得られるメッシュMにおける面の数と、基本メッシュM0 に対して選択した面の数とを比較する。Mにおける面の数が、基本メッシュM0 の選択された面の数より多く、前記優先待ち行列において候補のエッジ折り畳み変換が残っている場合、方法380は、ステップ385−389のループの繰り返しを続ける。そうでない場合、方法380は前記ループを抜ける。
【0113】
前記ループの他の繰り返しを続ける場合、方法380はステップ388において、前記ループの現在の繰り返しにおけるステップ385において行われるエッジ折り畳み変換の付近におけるすべての候補のエッジ折り畳み変換のエネルギコストΔEを再計算する。例えば、図6のエッジ折り畳み変換110をステップ385において行う場合、方法380は、面102′−107′のエッジに関する優先待ち行列におけるすべての候補のエッジ折り畳み変換の推定エネルギコストΔEを再計算する。次に方法380は、前記優先待ち行列におけるこれらのエッジ折り畳み変換を、これらの新たに計算されたエネルギコストΔEに従って再編成する。この再編成された優先待ち行列によって、方法380はループ385−389を繰り返す。
【0114】
ステップ387において前記ループを抜けた後、メッシュMが前記選択された面の数まで単純化されている場合、前記方法は、基本メッシュM0 から成るメッシュの連続的な解像度の集団(例えば、前記ループにおけるステップ385において行われるエッジ折り畳み変換のシーケンスから結果として得られるメッシュM)と、前記記憶された頂点分割操作によって規定された漸進的メッシュのシーケンスとを発生する。ステップ390において、方法380は、上述したように基本メッシュM0 と、前記記憶された頂点分割変換とを符号化し、PM表現を形成する。
【0115】
方法380の変形例において、前記基本メッシュの面の数を選択するステップ384を省略する。代わりに、ステップ385−389のループを、前記優先待ち行列が比較ステップ387において許可されるエッジ折り畳み変換を含まなくなるまで、単に繰り返す。このように、メッシュMを、(ステップ382に関して上述したように、候補のエッジ折り畳み変換に負わされる状況内で)その最も簡単な形態に単純化する。
【0116】
図20に関して、(″発明の属する技術分野″において上述した)Hoppe93 に記載のメッシュ最適化方法との比較において、説明したPM構成方法380は、メッシュ単純化に関して多くの利点を有する。主な違いは、説明したPM構成方法380が、エッジ折り畳み変換のみを、任意のメッシュの単純化に使用することである。(Hoppe93 に記載のメッシュ最適化方法は、ランダムに選択されるエッジ折り畳み、エッジ分割およびエッジ交換の3つの可能なメッシュ変換の組を使用する)。エッジ折り畳みのみを考慮することは、実行を簡単にし、図示したPM構成方法380の性能を改善するが、さらに重要には、説明したPM表現130(図7)を生じる。
【0117】
精度対簡単さのグラフ400によって示すように、他の主な違いは、連続的な精細レベル近似に用いられるエッジ折り畳み変換を選択する説明したPM構成方法380において使用した優先待ち行列である。これは、説明したPM構成方法380が、元メッシュMと基本メッシュM0 との中間にある(例えば、経路402に沿った)精細レベルにおける元メッシュMに対するより良い近似を発生することを可能にする。対照的に、Hoppe93 に記載のメッシュ最適化方法は、連続的なメッシュ変換をランダムに試み、通常、経路34−36(図2)に沿ったより劣った近似を達成する。
【0118】
説明したPM構成方法380における優先待ち行列選択の他の重要性として、表現定数Crep の必要性が(表現エネルギ項Erep (M)と共に)取り除かれる。″発明の属する技術分野″において上述したように、表現定数Crep の変化は、Hoppe93 に記載のメッシュ最適化方法によって発生される近似メッシュ(例えば、図2のメッシュMb −Md と、図1(b−d)に示す好例のメッシュ)の解像度の雑な選択を許可する。代わりに、図示したPM構成方法380は、基本メッシュM0 の解像度を明確に選択する(±1面以内)ことを可能にする。加えて、Hoppe93 のメッシュ最適化方法によって、表現定数Crep の選択された値ごとに1つ発生されるメッシュMb 、Mc またはMd に対して、説明したPM構成方法380は、実行ごとに、連続解像度のメッシュの集団を発生する。
【0119】
再び図8(a−d)を参照すると、例えば、図8(a−d)に示すメッシュは、前記例の元の任意のメッシュM(図1(a))を近似する、説明したPM構成方法380(図19)によって発生されるPM表現における連続解像度のメッシュの集団からのいくつかの例である。対照的に、Hoppe93 のメッシュ最適化方法は、表現定数Crep の選択された値に対する前記方法の実行ごとのメッシュM(図1(a))を近似する、図1(b−d)に示す典型的なメッシュの1つを発生する。
【0120】
表面ジオメトリの保存。
再び図19を参照すると、ステップ382および388において推定エネルギコストΔEを計算するとき、図示したPM構成方法380は、元メッシュMのジオメトリを、そこから点Xの組を標本化することによって記録する。最小限、図示したPM構成方法380は、Mの各頂点における点を標本化する。説明した方法380を実行するソフトウェアアプリケーションは、ユーザによって選択された場合、Mの表面上の追加の点をランダムに標本化する追加のユーザオプションも含む。
【0121】
点Xの組を標本化した後、方法380は、式(13)における推定エネルギコストの項を計算する。この式におけるエネルギ項Edist(M)およびEspring(M)を、Hoppe93 に記載され、″発明の属する技術分野″において上述したように規定する。一定結合性のメッシュに関して、頂点位置をEdist(V)+Espring(V)を最小化するように最適化する説明した方法380を、Hoppe93 に記載の方法のすぐ次に続ける。Edist(V)の計算は、点Xの組における各xbi の前記メッシュMに対する距離の計算を含む。これらの距離の各々は、最小化問題、
【数6】
それ自体であり、ここで、未知のbbi (ここでbbを太字のbとする)は、メッシュにおけるxbi の投影のパラメータ表現である。説明した方法380において、Edist(V)+Espring(V)の非線形最小化を、2つのステップを交互に行う反復手順を使用して行う。第1ステップにおいて、固定頂点位置Vに関して、方法380は、点Xを前記メッシュ上に投影することによって、最適パラメータ表現B={bb1 ,...,bbXa}を計算する(ここで、Xa=|X|とする)。第2ステップにおいて、固定パラメータ表現Bに関して、方法380は、希薄な線形最小自乗問題を解くことによって、最適頂点位置Vを計算する。
【0122】
ecol({vs ,v t })を考えると、説明した方法380は、異なった開始点、すなわち、α={0,1/2,1}に関して、
vbsi i =(1−α)vbsi i+1 +(α)vbm0+i+1 i+1 (15)
によって3つの異なった最適化を行い、最も良いものを受け入れることによって、1つの頂点位置vbs i のみを最適化する。
【0123】
Espringに対する全体spring定数κを規定するHoppe93 に記載のメッシュ最適化方法と異なり、説明した方法380は、エッジ折り畳み変換を考慮するたびごとにκを適合させる。直観的に、springエネルギは、少数の点を面の付近に投影する場合、この場合においてEdist(V)を最小化する頂点位置を見つけることは強制を受ける問題であることから、最も重要である。したがって、考慮する各々のエッジ折り畳み変換に関して、方法380は、κを、エッジ折り畳み変換の付近における点の数と面の数との比の関数として設定する。図6に示すように、エッジ折り畳み変換110の付近は、面100−107の組である。C表記を使用すると、方法380は、κ=r<4 ? 10−2 : r<8 ? 10−4 : 10−8を設定し、ここでrを、前記付近における点の数と面の数の比とする。
【0124】
この適合方法によって、Espring(M)の影響は、メッシュが単純化されるにつれて、徐々に、適応的に減少し、Hoppe93 に記載のメッシュ最適化方法において使用されるspring定数を減少する不経済なスケジュールは、もはや必要ない。
【0125】
スカラ属性(Escalar)の保存。
前記″発明の属する技術分野″における三角形メッシュの論考において記述したように、断片状連続スカラ領域を、説明した実施例において、メッシュのコーナにおけるスカラ属性Sを規定することによって表す。さらに特に、一般に元メッシュMは、各々の頂点vj において、位置vbj ∈Rb3 だけでなく、スカラ属性vbj ∈Rbd も有する。元メッシュMのジオメトリの保存に加えて、説明したPM構成方法380において使用される推定エネルギコスト関数は、方法380が構成する漸進的メッシュにおける元メッシュMのこれらのスカラ属性の保存を追加で行う。
【0126】
頂点におけるスカラ属性の最適化。
元メッシュMのスカラ属性を獲得するために、説明したPM構成方法380は、各々の点xbi ∈Xにおいて、属性値xbi ∈Rbd も標本化する。次に、前記推定エネルギコストの式(13)を、ジオメトリックエネルギ項の式、Edist(V)+Espring(V)から一般化し、標本化属性値X={xb1 ,...,xbXa}のメッシュMの属性値からの偏差も測定する。ジオメトリックエネルギコストの式、Edist(V)+Espring(V)を、少なくとも2つの方法において一般化し、スカラ属性値偏差を計算することができる。
【0127】
第1の一般化は、距離計量(すなわち、エネルギ項Edist)それ自体を再規定し、Rb3+d における距離、例えば、
【数7】
を測定することである。次に、この新たな距離計量を、上述しした方法380において使用されるのと同様の反復方法を使用して、最小化することができる。しかしながら、この最小化は、各々の点xbi の最適パラメータ表現bbi を見つけることが、Rb3+d における投影を必要とすることから、計算に関して不経済であり、これらのパラメータ表現がジオメトリを基礎としていないことから、十分に直観的ではない。
【0128】
説明した方法380における推定エネルギコスト式(13)に関するジオメトリックエネルギコストの式、Edist(V)+Espring(V)の第2の一般化は、別個のエネルギ項Escalarを使用し、スカラ属性の偏差を測定する。この第2の一般化において、エネルギ項Edist(V)を、式(14)を上述したように最小化する(すなわち、パラメータ表現bbi を、ジオメトリのみを使用して決定する)ことによって、計算する。推定エネルギコストの式(13)における別個のエネルギ項Escalarは、これらのパラメータ表現を基礎とした属性偏差を示す。すなわち、
Escalar(V)=(cscalar)2 Σi ‖x i −φ v (bbi )‖2 (17)
であり、ここで、定数cscalarは、属性エラー(Escalar)とジオメトリックエラー(Edist)との間の相対的な重みを定める。定数cscalarを、前記ソフトウェアアプリケーションによって設定することができ、または、前記ソフトウェアアプリケーションによって供給されるユーザインタフェース制御によってコンピュータユーザによって変化させることができる。
【0129】
このように、E(V,V)=Edist(V)+Espring(V)+Escalar(V)を最小化するために、説明した方法380は、最初にEdist(V)+Espring(V)を最小化する頂点位置vs を、前記点をメッシュ上に交互に投影し(パラメータ表現bbi を得る)、線形最小自乗問題を解くことによって見つける。次に、これらの同様なパラメータ表現bbi を使用して、1つの線形最小二乗問題を解くことによって、Escalarを最小化する頂点属性v s を見つける。これは、前記第1の一般化に比べて無視できる性能オーバヘッドを有する。
【0130】
図21(a−c)および22(a−c)に関して、ΔEscalarをエッジ折り畳みの推定コストΔEに寄与させることによって、説明したPM構成方法380は、面が前記属性領域に自然に適合した単純化メッシュを得る。例えば、ΔEscalarを最小化することによって、方法380(図19)は、単純化メッシュ422(図21(b−c))の発生において普通のジオメトリ(正方形)を有する元メッシュ420(図21(a))の複雑なスカラ属性領域(すなわち、色)を保存するエッジ折り畳みを選択することができる。この例において、元メッシュ420の200×200の頂点が、方法380によって、色品質のほとんどを保持しながら、単純化メッシュ422において頂点をちょうど400に減少する。
【0131】
他の例として、方法380は、エッジ分割を選択し、150983の面を有する他の元メッシュ430(図22(a))の他のスカラ属性を保存し、10000の面を有する単純化メッシュ432(図22(b−c))を発生する。
【0132】
コーナにおけるスカラ属性の最適化。
スカラコーナ属性Sを最適化する場合、上述したΔEscalarの最小化を、説明したPM構成方法380によって使用する。各々の頂点vj において、1つの未知の属性値v j に関して解く代わりに、説明した方法380は、(コーナ属性が等しいことを基礎として)前記コーナを連続的な組に分割し、各々の連続的な組に関して、その最適属性値に関して別個に解く。
【0133】
範囲制限。
説明した方法380は、制限された範囲を有するスカラ属性についても説明する。例えば、色の成分(r,g,b)を、代表的に0ないし1の範囲に制限する。ΔEscalarの最小二乗最小化は、この範囲外の色値を生じるかもしれない。スカラ属性が制限された範囲を有する場合において、説明した方法380は、前記所定の範囲に対して最適化された値を取る。ユークリッド標準の最小二乗最小化に関して、これは、事実上最適である。
【0134】
法線。
表面法線(nx ,ny ,nz )を、代表的にユニット長を有するように構成し、したがってこれらの変域を非デカルト座標とする。したがって法線の最適化は、非線形構成を有する非線形関数の最小化を必要とする。説明した方法380は代わりに、単に法線に単純化プロセスを行う。特に、方法380は、上述したように、ジオメトリエネルギ項ΔEdistの最小化における最適頂点位置vsi i において生じるα値を使用して、頂点vsi i+1 およびvmo+i+1 i+1 における法線の間を補間することによって、頂点vsi i において新たな法線を計算する。幸いにも、法線の絶対方向は、これらの不連続性に比べて視覚的に重要ではなく、これらの不連続性は、後述するように、図示した方法380における推定エネルギコスト式によって保存される。
【0135】
不連続曲線の保存(Edisc)。
外観属性は、前記メッシュにおける不連続曲線の組を、離散面属性(例えば、材料境界)間の差からと、スカラコーナ属性(例えば、折り目および影境界)間の差からとの双方から生じる。さらに特に、属性DおよびSは、前記メッシュの視覚的な外観において、不連続を引き起こす。前記メッシュのエッジ{vj ,vk }を、(1)それが境界エッジである場合、(2)その2つの隣接面f1 およびf2 が異なった離散属性を有する場合(すなわち、df1≠df2)、または(3)その隣接コーナが異なったスカラ属性を有する場合(すなわち、s(vj,f1) ≠s(vj,f2) またはs(vk,f1) ≠s(vk,f2) )、シャープであると呼ぶべきである。同時に、シャープエッジの組は、前記メッシュ上の不連続曲線(例えば、図8(a−d)における曲線)の組を規定する。これらの不連続曲線は、非常に目立つ特徴を形成するため、これらを、ドポロジ的およびジオメトリ的の双方において保存することが重要である。
【0136】
説明したPM構成方法380は、候補のエッジ折り畳み変換が前記不連続曲線のトポロジを変更する場合、いくつかの局所的状態を試験することによって検知する。特に、sharp {vj ,vk }が、エッジ{vj ,vk }がシャープであることを示すとし、#sharp {vj }が、頂点vj に隣接するシャープエッジの数であるとする。次に、図6を参照すると、エッジ{vs ,vt }92のエッジ折り畳み変換110は、(1)sharp {vs ,v1 }かつsharp {vt ,v1 }または、sharp {vs ,v2 }かつsharp {vt ,v2 }か、(2)#sharp {vs }≧1かつ#sharp {vt }≧1かつsharp {vs ,vt }でないか、(3)#sharp {vs }≧3かつ#sharp {vt }≧3かつsharp {vs ,vt }か、(4)sharp {vs ,vt }かつ#sharp {vs }=1かつ#sharp {vt }≠2か、(5)sharp {vs ,vt }かつ#sharp {vt }=1かつ#sharp {vs }≠2かのいずれかの場合、不連続曲線のトポロジを変更する。
【0137】
多数の異なった方法をPM構成方法380において使用して、上述した試験を使用して不連続曲線を保存することができる。ある代わりの方法(以下、固定不連続曲線方法と呼ぶ)は、これらの試験が、エッジ折り畳み変換が不連続曲線のトポロジを変更することを示す場合、単にこのエッジ折り畳みを許可しないことである。不連続曲線トポロジの変化を許可するがペナルティを課す、より洗練された他の方法を、以下に示す。
【0138】
不連続曲線のジオメトリも保存するために、説明した方法380はさらに、Mのシャープエッジから点Xdiscの追加の組を標本化し、推定エネルギコストの式(13)において、これらの標本化した点の各々の前記不連続曲線に対する距離の合計の二乗に等しい追加のエネルギ項Ediscを規定する。すなわち、Ediscを、点Xdiscをメッシュにおけるシャープエッジの組に投影するように強制すること以外は、Ediscと全く同様に規定する。実際は、方法380は、全体的表面適応問題内に組み込まれた曲線適応問題を解く。表面のすべての境界が不連続曲線として規定されることから、本発明の方法は、Hoppe93 の方法より精確に境界ジオメトリを保存する。
【0139】
図23(a−c)を参照し、エネルギコスト式(13)における追加のエネルギ項Ediscを使用する利点を、単純化メッシュ440(図23(a))および442(図23(b))によって示す。メッシュ440および442の双方は2000の面に単純化されており、メッシュ440のみが、エネルギコスト式(13)におけるエネルギ項Ediscなしに単純化され、メッシュ442は、エネルギ項Ediscによって単純化されている。結果として、メッシュ442は、不連続曲線の保存によって、メッシュ440よりも視覚的にはるかによい、元メッシュの近似になる。これは、モデルにおけるウィンドウを規定する不連続曲線のトポロジに関して、特に明白である。メッシュの不連続曲線のいくつかを、図23(a−c)において示す。
【0140】
不連続曲線のトポロジに対する変更の許可。
依然として図23(a−c)を参照すると、いくつかのメッシュは、多数の不連続曲線を含み、これらの曲線は、離れて見る場合、注意を引くには小さすぎる特徴の限界を定めるかもしれない。このような場合において、不連続曲線のトポロジを厳密に保存することは、単純化を不必要に削減する。不連続曲線を保存する代わりの方法において、PM構成方法380は、不連続曲線のトポロジの変更を許可するが、このような変更にペナルティを課す。候補のエッジ折り畳みecol({vs ,vt })は、メッシュの不連続曲線のトポロジを変化させ、方法380は、その推定エネルギコストΔEに、値、
【数8】
を付加し、ここで
【数9】
を、現在{vs ,vt }に投影する点Xdiscの数とする。
【0141】
この簡単な方法は、特別ではあるが、極めて効果的であることが分かっている。説明のために、メッシュ422(図23(b))を、方法380によって、固定不連続曲線保存方法を使用して2000の面に単純化し、メッシュ444(図23(c))を、不連続曲線に対する変更に単にペナルティを課す保存方法によって、2000の面に単純化する。不連続曲線の変化を許可する方法によって、メッシュ444において薄い暗い灰色ウィンドウフレームが消えることが許可される。しかしながら、メッシュ442において、固定不連続曲線保存方法は、前記ウィンドウフレームが存在することを強制し、結果としてより品質が劣った単純化メッシュとなる。
【0142】
説明したPM構成方法380(図19)は、速度および精度のトレードオフが異なっている多くの可能なPM構成方法の1つである。極めてより簡単な代わりのPM構成方法は、合法のエッジ折り畳み変換をランダムに選択することである。(いくかの局所的状態は、合法とすべきエッジ折り畳み変換に対して満たされなければならない、すなわち、Hoppe93 に記載の多様体保存。)大雑把ではあるが、この方法は、極めて高速であるという利点を有する。残念ながらこの方法は、一般に、元の任意のメッシュMに対して、より粗末な低精細レベル近似(すなわち、漸進的メッシュシーケンスにおいて、基本メッシュM0 に最も近い漸進的メッシュMi )を発生する。
【0143】
より洗練された代わりのPM構成方法は、エッジ折り畳み選択方法の改善を基礎した、Schroeder−etal92に記載の″面に対する距離″計量のような、簡単な発見法を使用する。
【0144】
説明した実施例の参照と共に本発明の原理を記述し、説明したことによって、説明した実施例を、配置および細部において、その原理から逸脱することなく、変更できることが認識されるであろう。ここに記載したプログラム、プロセスまたは方法は、指摘した場合以外は、コンピュータ装置のどのような個々の形式にも関係せず、すなわち制限を受けない。種々の形式の一般的な目的の、または特殊化したコンピュータ装置を、ここに記載した内容に従って使用または動作させることができる。説明した実施例のソフトウェアにおいて示した要素を、ハードウェアにおいて実現してもよく、その逆もまた可能である。
【0145】
本発明の原理を用いることができる多くの可能な実施例に鑑みて、前記詳細な実施例は単に説明的なものであることを認識すべきであり、本発明の範囲を制限するものとして受け取るべきではない。精確には、本発明として、請求項およびそれに相当するものの範囲および精神内であるすべてのこのような実施例を請求するものとする。
【図面の簡単な説明】
【図1】aないしdは、任意のメッシュの図形と、Hoppe93 において記載されているメッシュ最適化方法によって発生された多数の精細レベルにおける単純化近似メッシュの組の図形である。
【図2】Hoppe93 に記載のメッシュ最適化方法の結果を説明する精度対簡単さのグラフである。
【図3】本発明の説明した実施例によるメッシュの精細レベル近似を図形化するソフトウェアシステムのブロック図である。
【図4】aないしbは、元の任意のメッシュMを近似するMRA方法によって構成されたメッシュの組の図形である。
【図5】PM表現を使用して漸進的メッシュにおいて図形を記憶、送信およびレンダリングする、本発明による方法および装置を実現するのに使用することができるコンピュータシステムのブロック図である。
【図6】2つの逆メッシュ変換である、エッジ折り畳み操作および頂点分割操作を説明する、例としての初期の三角形メッシュおよび結果としての三角形メッシュの一部のブロック図である。
【図7】本発明の説明した実施例による任意の元メッシュMの連続する精細レベル近似を表すPM表現データ構造のブロック図である。
【図8】aないしdは、本発明の説明した実施例による例としてのPM表現において特定される漸進的メッシュの組からの3つの例としてのメッシュの図形である。
【図9】aは、説明した実施例によるPM表現における2つのメッシュ間の幾何形態を形成する方法の流れ図であり、bは、aの方法によって形成される幾何形態を計算する方法の流れ図である。
【図10】aないしjは、2つのメッシュ間で規定される例としての幾何形態MG (α)の図形である。
【図11】PM表現を基礎として3次元物体の図形を漸進的に送信および表示する、本発明の説明した実施例によるシステムのブロック図である。
【図12】aおよびbは、図11のシステムにおける送信方法および受信方法の流れ図である。
【図13】PM表現において指定される頂点分割変換のブロック図である。
【図14】図7のPM表現を基礎としてメッシュの選択的精細化を行う、本発明の説明した実施例による方法の流れ図である。
【図15】図7のPM表現を基礎としてメッシュの選択的精細化を行う、本発明の説明した実施例による他の方法の流れ図である。
【図16】aおよびbは、各々図14および15の方法による、切頭体図形内の選択的精細化によって発生された例としてのメッシュの図形である。
【図17】図13および14の方法の変形例の流れ図である。
【図18】aおよびbは、図17の方法による、切頭体図形内の選択的精細化によって発生された例としてのメッシュの図形である。
【図19】任意のメッシュのPM表現を構成する、本発明の説明した実施例によるメッシュ単純化方法の流れ図である。
【図20】図19に示すメッシュ単純化方法の結果を説明する、精度対簡単さのグラフである。
【図21】aないしcは、例としての任意のメッシュの図形と、図19のメッシュ単純化方法によって発生された単純化メッシュの図形である。
【図22】aないしcは、例としての任意のメッシュの図形と、図19のメッシュ単純化方法によって発生された単純化メッシュの図形である。
【図23】aないしdは、例としての任意のメッシュの図形と、図19のメッシュ単純化方法によって発生された単純化メッシュの図形である。
【図24】aないしdは、任意の初期メッシュMの図形と、それから図19の単純化方法によって形成された漸進的メッシュのシーケンスからの3つの例としてのメッシュの図形である。
【図25】aないしcは、図19の単純化方法の変形例によって発生された例としての単純化メッシュの図形である。
【図26】図7のPM表現の2つのメッシュ間の幾何形態を表す幾何形態データ構造のブロック図である。
【符号の説明】
130 漸進的メッシュ表現
132 基本メッシュ記録
134 頂点分割記録ストリーム
136 頂点分割記録
140 単体複体表
142 頂点位置表
144 離散属性表
146 スカラ属性表
Claims (80)
- 視覚的表示装置を有するコンピュータを制御し、変化する詳細度における3次元幾何オブジェクトのビューを描写するコンピュータグラフィックス画像を発生する方法において、
前記3次元幾何オブジェクトを粗い詳細度において近似する複数の頂点および複数の面を有するベースポリゴンメッシュを指定するステップと、
前記ベースポリゴンメッシュに連続的に適用した場合、前記3次元幾何オブジェクトを漸進的により細かくなる詳細度において近似する連続ポリゴンメッシュを発生するメッシュ詳細化変換の組の列を指定するステップであって、前記メッシュ詳細化変換の組が完全であり、前記メッシュ詳細化変換の組の連続的な適用が、列順における前記メッシュ詳細化変換の組の次の個別的組を、前記ベースポリゴンメッシュで始まる前記連続ポリゴンメッシュにおける前のポリゴンメッシュに適用し、前記連続ポリゴンメッシュにおける次のポリゴンメッシュを生じ、前記メッシュ詳細化変換の各々適用される組が、前記前のポリゴンメッシュに、前記連続ポリゴンメッシュにおけるポリゴンメッシュが各々次のポリゴンメッシュになると共に漸進的に詳細度が上昇するように細部を追加する、ステップと、
前記メッシュ詳細化変換の組を前記ベースメッシュに適用し、前記連続ポリゴンメッシュから選択された所望の再生レベルを有するものを発生するステップと、
前記選択されたポリゴンメッシュに基づく前記所望の詳細度における前記オブジェクトのビューを描写する画像を前記視覚的表示装置において発生するステップとを具えることを特徴とする方法。 - 請求項1に記載の方法において、前記メッシュ詳細化変換の組のうち少なくとも1つが、前記連続ポリゴンメッシュにおける前のポリゴンメッシュに適用した場合、前記前のポリゴンメッシュの先祖頂点を2つの子孫頂点に分割し、前記連続ポリゴンメッシュにおける次のポリゴンメッシュを、前記次のポリゴンメッシュが前記前のポリゴンメッシュより1つ多い頂点と、1つないし2つ多い面とを有するように発生することを特徴とする方法。
- 請求項2に記載の方法において、前記メッシュ詳細化変換の組の列を指定するステップが、前記列における各々の頂点分割変換に関して、
前記連続ポリゴンメッシュにおける前のポリゴンメッシュの頂点から先祖頂点と第1および第2の横頂点とを指定するステップと、
前記連続ポリゴンメッシュにおける次のポリゴンメッシュに関する2つの子孫頂点のジオメトリを指定するステップとを具え、前記先祖頂点、第1および第2横頂点と、前記2つの子孫頂点とが、前記前のポリゴンメッシュに適用した場合、前記先祖頂点を前記2つの子孫頂点に分割し、前記子孫頂点と前記横頂点の各々との組み合わせによって規定される2つの新たな面を追加し、前記次のポリゴンメッシュを発生する頂点分割変換を規定することを特徴とする方法。 - コンピュータグラフィック用の変化する詳細度において多次元オブジェクトを表すプログレッシブメッシュ表現データ構造の符号化されたものを有するコンピュータ読み出し可能データ記憶媒体において、前記プログレッシブメッシュ表現データ構造が、
前記オブジェクトの単純な詳細度におけるベースメッシュ代表を指定するベースメッシュ記録と、
複数の頂点分割変換を指定する複数の頂点分割記録とを具え、前記複数の頂点分割変換が、前記ベースメッシュに連続的に適用した場合、前記オブジェクトの漸進的により高くなる詳細度を有する連続メッシュ表現を生じ、前記頂点分割変換の連続的な適用が、前記頂点分割変換の各々を前記ベースメッシュで始まる前記連続メッシュ表現における前のメッシュに適用して前記連続メッシュ表現における次のメッシュを生じることを意味し、各々の前記適用された頂点分割変換が、細部を前記前のメッシュに、前記連続メッシュにおけるメッシュが各々次のメッシュになると共に詳細度において漸進的に上昇するように追加し、
それによって、前記連続メッシュをより簡潔に表現し、視覚的表示装置を有するコンピュータが、所望の詳細度における前記多次元オブジェクトのビューを描写する画像を、前記頂点分割記録において指定された前記頂点分割変換のサブセットを前記ベースメッシュに適用して前記所望の詳細度におけるメッシュを生じ、前記所望の詳細度におけるメッシュから前記画像をレンダリングすることによって発生することを特徴とするコンピュータ読み出し可能データ記憶媒体。 - 請求項4に記載のコンピュータ読み出し可能データ記憶媒体において、前記頂点分割記録の各々が、
前記頂点分割変換の分割頂点および2つの横頂点を指定する頂点識別子と、
前記頂点分割変換の結果として生じる2つの頂点の位置座標を指定する頂点位置識別子とを具えることを特徴とするコンピュータ読み出し可能記憶媒体。 - 請求項5に記載のコンピュータ読み出し可能記憶媒体において、前記頂点識別子を予測符号化計画によって符号化したことを特徴とするコンピュータ読み出し可能記憶媒体。
- 請求項5に記載のコンピュータ読み出し可能記憶媒体において、前記頂点位置識別子を可変長デルタ符号化計画によって符号化したことを特徴とするコンピュータ読み出し可能記憶媒体。
- 請求項4に記載のコンピュータ読み出し可能記憶媒体において、前記頂点分割記録の各々が、
前記頂点分割変換によって導入される面および角に関連する属性を指定する属性値を具えることを特徴とするコンピュータ読み出し可能記憶媒体。 - 請求項8に記載のコンピュータ読み出し可能記憶媒体において、前記属性値を予測符号化計画によって符号化したことを特徴とするコンピュータ読み出し可能記憶媒体。
- 多次元幾何オブジェクトのコンピュータグラフィックビューをコンピュータによって視覚的表示装置においてレンダリングするために、漸進的な詳細度における任意の初期メッシュを記憶媒体において損失なく符号化する方法において、
ベースメッシュの頂点の位置座標および接続関係の組を指定するベースメッシュ記録を符号化するステップであって、前記頂点の位置座標および接続関係が、隣接する頂点間の稜線と前記頂点における角とを有する複数の面を規定し、前記接続関係が、前記ベースメッシュの面における稜線によって接続された前記頂点の近さである、ステップと、
分割頂点識別子と、2つの横頂点識別子と、頂点分割変換の列の各々に関して結果として生じる頂点位置座標とを指定する複数の頂点分割記録を符号化するステップであって、前記頂点分割変換が、漸進的に詳細度が上昇する連続メッシュを生じ、前記頂点分割変換を前記ベースメッシュで始まる前記連続メッシュに順次に適用した場合、正確に前記任意のメッシュを再生し、各々の頂点分割変換が、新たな頂点と、隣接頂点間の稜線および前記頂点における角を有する少なくとも1つの新たな面とを前記連続メッシュにおける現在メッシュに導入し、前記連続メッシュにおける次のメッシュを、前記連続メッシュにおけるメッシュが各々次のメッシュになると共に漸進的に詳細度が上昇するように生じる、ステップとを具え、
それによって、前記連続メッシュをより簡潔に表し、前記視覚的表示装置を有するコンピュータが、所望の詳細度における前記多次元オブジェクトのビューを描写する画像を、前記頂点分割記録において指定された頂点分割変換のサブセットを前記ベースメッシュに適用して所望の詳細度におけるメッシュを生じ、前記所望の詳細度におけるメッシュから画像をレンダリングすることによって発生することを特徴とする方法。 - 請求項10に記載の方法において、前記頂点分割記録の各々に関して、前記頂点分割記録における結果として生じる2つの頂点位置を、前記結果として生じる2つの頂点位置と、前記分割頂点識別子によって指定される頂点分割の頂点位置との間の差として符号化するステップを具えることを特徴とする方法。
- 請求項10に記載の方法において、
前記頂点分割記録における結果として生じる2つの頂点位置を、前記分割頂点識別子によって指定される分割頂点の開始位置の選択と、前記結果として生じる頂点位置および前記開始位置間の差として符号化するステップを具え、前記開始位置の選択を、前記結果として生じる2つの頂点位置のうち第1のものと、前記結果として生じる2つの頂点位置のうち第2のものと、前記結果として生じる2つの頂点位置の中間点とから行うことを特徴とする方法。 - 請求項10に記載の方法において、
前記頂点分割記録における結果として生じる2つの頂点位置を、分割頂点位置の選択と、1つの位置の差として符号化するステップを具え、前記分割頂点位置の選択を、前記結果として生じる2つの頂点位置のうち第1のものと、前記結果として生じる2つの頂点位置のうち第2のものと、前記結果として生じる2つの頂点位置の中間点とから行い、前記1つの位置の差を、前記分割頂点位置と、前記結果として生じる2つの頂点位置のうち前記分割頂点以外の一方との間の差としたことを特徴とする方法。 - 請求項11ないし13のうち1項に記載の方法において、
前記1つの位置の差を可変長符号化計画によって符号化するステップを具えることを特徴とする方法。 - 請求項10に記載の方法において、
前記2つの横頂点識別子を、前記分割頂点識別子によって指定された分割頂点に隣接する複数の頂点から2つの横頂点を指定する隣接頂点インデックスとして符号化するステップを具えることを特徴とする方法。 - 請求項10に記載の方法において、
前記面に関する離散的属性を指定する離散的属性値を前記ベースメッシュ記録中に符号化するステップと、
前記頂点分割記録の頂点分割変換によって導入される前記少なくとも1つの新たな面に関係する離散的属性を指定する離散的属性値を各々の頂点分割記録中に予測符号化計画によって符号化するステップとを具え、前記予測符号化計画において、第1値が隣接面の離散的属性に等しい離散的属性を指定し、第2値がどの隣接面とも異なる離散的属性を指定することを特徴とする方法。 - 請求項10に記載の方法において、
前記角に関係するスカラ属性を指定するスカラ属性値を前記ベースメッシュ記録中に符号化するステップと、
前記頂点分割記録の頂点分割変換によって導入される前記少なくとも1つの新たな面の角に関係するスカラ属性を指定するスカラ属性値を各々の頂点分割記録中に予測符号化計画によって符号化するステップとを具え、前記予測符号化計画において、第1値が隣接角のスカラ属性に等しいスカラ属性を指定し、第2値がどの隣接角とも異なるスカラ属性値を指定することを特徴とする方法。 - 請求項17に記載の方法において、
前記スカラ属性値を予測符号化計画によって符号化することを具え、この予測符号化計画において、前記第2値に伴う異なった値が、前記少なくとも1つの新たな面の角と前記隣接角との間の前記スカラ属性における差を指定することを特徴とする方法。 - 請求項18に記載の方法において、
前記スカラ属性値を可変長符号化計画によって符号化することを具えることを特徴とする方法。 - オブジェクトのある詳細度の表現を、遠隔地から、送信媒体において、視覚的表示装置を有するコンピュータに、前記オブジェクトのコンピュータグラフィックスビューを前記コンピュータの視覚的表示装置において表示するために漸進的に送信する方法において、
前記オブジェクトを低い詳細度において表現するベースメッシュを規定するベースメッシュ記録を前記遠隔地から送信するステップと、
前記ベースメッシュを、前記オブジェクトを高い詳細度において表現する任意のメッシュに詳細化するメッシュ詳細化記録のストリームを前記遠隔地から送信するステップであって、前記メッシュ変換が完全であるステップと、
前記ベースメッシュ記録をコンピュータにおいて受信するステップと、
前記コンピュータにおいて前記ベースメッシュ記録から漸進的詳細度メッシュを構成するステップと、
前記コンピュータの視覚的表示装置において、前記漸進的詳細度メッシュに基づくより低い詳細度を有する前記オブジェクトの第1コンピュータグラフィックスビューをレンダリングおよび表示するステップと、
前記メッシュ詳細化記録のストリームの増分を前記コンピュータにおいて受信するステップと、
前記コンピュータにおいて、前記漸進的詳細度メッシュをより高い詳細度に、前記増分のメッシュ詳細化記録によって規定されるメッシュ変換を適用することによって詳細化するステップと、
前記コンピュータの視覚的表示装置において、前記漸進的詳細度メッシュに基づくより高い詳細度を有する前記オブジェクトの第2コンピュータグラフィックスビューをレンダリングおよび表示するステップとを具えることを特徴とする方法。 - 請求項20に記載の方法において、
前記より低い詳細度を有する漸進的詳細度メッシュおよびより高い詳細度を有する漸進的詳細度メッシュとの間を、混合パラメータの関数として補間する幾何形態を構成するステップであって、前記幾何形態を、前記より低い詳細度における漸進的詳細度メッシュの対応する頂点の位置から、前記より高い詳細度における漸進的詳細度メッシュの対応する頂点の位置までの間で位置が変化し得る頂点の組を有するメッシュとし、前記補間が、前記より低い詳細度における漸進的詳細度メッシュの位置およびより低い詳細度における漸進的詳細度メッシュの位置の重み付き平均関数を実行し、前記混合パラメータが重み付き変数である、ステップと、
前記より低い詳細度における漸進的詳細度メッシュから前記より高い詳細度における漸進的詳細度メッシュへの前記幾何形態の推移を形成する前記混合パラメータの中間値の連続における前記幾何形態を評価するステップと、
前記コンピュータにおいて、前記中間値の連続において評価された幾何形態に基づく前記オブジェクトのコンピュータグラフィックスビューの連続をレンダリングおよび表示するステップとを具えることを特徴とする方法。 - 請求項20に記載の方法において、
前記ストリームのメッシュ詳細化記録を、前記メッシュ詳細化記録を受信したとき前記コンピュータにおける入力バッファ中に格納するステップと、
前記メッシュ変換記録のストリームの複数の連続的な増分の各々に関して、
前記漸進的詳細度メッシュを次のより高い詳細度に詳細化する前記ストリームの次の増分に関するメッシュ変換記録を前記入力バッファから取り出し、
前記メッシュ変換を取り出すステップが一時的に前記入力バッファを空にした場合、前記漸進的詳細度メッシュと、この漸進的詳細度メッシュに基づいて表示されているコンピュータグラフィックスビューとを、前記ストリームの次の増分によって更新するステップとを具えることを特徴とする方法。 - 請求項20に記載の方法において、
前記受信するステップと、詳細化するステップと、レンダリングおよび表示するステップとを、指数関数的に上昇する詳細度における前記オブジェクトのコンピュータグラフィックスビューを発生する、前記メッシュ変換記録の複数の連続的な増分に関して行うステップを具えることを特徴とする方法。 - 請求項20に記載の方法において、前記メッシュ詳細化変換を頂点分割変換としたことを特徴とする方法。
- 請求項20に記載の方法において、
前記オブジェクトの漸進的詳細度メッシュ表現を前記遠隔地において格納するステップであって、前記漸進的詳細度メッシュ表現が前記ベースメッシュ記録およびメッシュ詳細化記録の連続を具える、ステップと、
前記漸進的詳細度メッシュに基づく前記オブジェクトの一部のコンピュータグラフィックスビューを表示するステップと、
前記漸進的詳細度メッシュ表現のメッシュ詳細化記録のサブセットを前記ストリームにおいて送信するために選択するステップであって、前記サブセットにおける各メッシュ詳細化記録が、前記オブジェクトの前記一部における前記漸進的詳細度メッシュの詳細化に関するメッシュ詳細化変換を規定する、ステップとを具えることを特徴とする方法。 - 請求項24に記載の方法において、
前記オブジェクトの異なった部分のコンピュータグラフィックスビューを表示するステップと、
前記漸進的詳細度メッシュ表現のメッシュ詳細化記録のサブセットを前記ストリームにおいて送信するために選択するステップであって、前記サブセットにおける各メッシュ詳細化記録が、前記ストリームにおいてまだ送信されておらず、前記オブジェクトの前記異なった部分における前記漸進的詳細度メッシュの詳細化に関するメッシュ詳細化変換を規定する、ステップとを具えることを特徴とする方法。 - オブジェクトのある詳細度の表現を、前記オブジェクトのコンピュータグラフィックスビューをコンピュータにおいて表示するために遠隔地から漸進的に送信するシステムにおいて、
ベースメッシュ記録および頂点分割記録の連続を具える前記オブジェクトの漸進的詳細度メッシュ表現を格納する前記遠隔地におけるメモリであって、前記ベースメッシュ記録が、低い詳細度における前記オブジェクトのベースメッシュ代表を規定し、前記頂点分割記録の連続が、前記ベースメッシュに連続的に適用すると、前記ベースメッシュを高い詳細度における前記オブジェクトの任意のメッシュ表現に詳細化する頂点分割変換を規定する、メモリと、
前記ベースメッシュ記録および頂点分割記録のストリームを前記コンピュータに送信する前記遠隔地におけるデータ送信機とを具えることを特徴とするシステム。 - 請求項27に記載のシステムにおいて、
前記漸進的詳細度メッシュ表現の頂点分割記録のサブセットを前記ストリームにおいて送信するために選択する前記遠隔地における選択的詳細化送信プロセッサを具え、前記サブセットにおける各頂点分割記録が、前記オブジェクトの一部内の詳細化に関係する頂点分割変換を規定することを特徴とするシステム。 - 請求項28に記載のシステムにおいて、前記オブジェクトの前記一部を、前記コンピュータにおいて表示されているコンピュータグラフィックスビューに依存させたことを特徴とするシステム。
- 請求項29に記載のシステムにおいて、
前記選択的詳細化送信プロセッサが、前記オブジェクトの異なった部分に変化する前記コンピュータグラフィックスビューに応じて、前記漸進的詳細度メッシュ表現の頂点分割記録の他のサブセットを前記ストリームにおいて送信するために選択し、前記他のサブセットの各頂点分割記録が、前記ストリームにおいてまだ送信されておらず、前記オブジェクトの前記異なった部分における詳細化に関する頂点分割変換を規定することを特徴とするシステム。 - 請求項27に記載のシステムにおいて、
前記オブジェクトのコンピュータグラフィックスビューを表示する前記コンピュータと、
前記送信しているコンピュータのデータ送信機と通信し、前記ベースメッシュ記録および頂点分割記録のストリームを受信する、前記コンピュータにおけるデータ受信機と、
前記ベースメッシュ記録から漸進的詳細度メッシュを構成し、前記漸進的詳細度メッシュを、前記頂点分割記録のストリームの連続的な増分によって規定される頂点分割変換を適用することによって、漸進的に変化する詳細度において詳細化する、前記コンピュータにおける漸進的詳細度メッシュプロセッサと、
前記漸進的詳細度における前記漸進的詳細度メッシュから前記オブジェクトのコンピュータグラフィックスビューをレンダリングする、前記コンピュータにおけるグラフィックスレンダリングエンジンと、
前記コンピュータに前記オブジェクトのコンピュータグラフィックスビューを表示させる、前記コンピュータにおける表示ドライバとを具えることを特徴とするシステム。 - 請求項31に記載のシステムにおいて、
連続する2つの前記漸進的詳細度における前記漸進的詳細度メッシュ間を混合パラメータの関数として補間する幾何形態を構成し、前記連続する2つの漸進的詳細度のより低い方における漸進的詳細度メッシュからより高い方における漸進的詳細度メッシュへの前記幾何形態の推移を形成する前記混合パラメータの中間値の列における前記幾何形態を評価する幾何形態プロセッサを具え、
前記グラフィックスレンダリングエンジンが、前記中間値の列において評価された前記幾何形態に基づいて前記オブジェクトのコンピュータグラフィックスビューの列をレンダリングすることを特徴とするシステム。 - 請求項31に記載のシステムにおいて、
前記頂点分割記録が前記コンピュータにおいて受信されたとき、前記ストリームのメッシュ詳細化記録を格納する、前記コンピュータにおける入力バッファと、
前記漸進的詳細度メッシュプロセッサが、前記入力バッファから前記ストリームの連続的な増分の各々に関する複数の頂点分割記録を取り出し、
前記コンピュータが、前記漸進的詳細度メッシュを前記漸進的詳細度メッシュプロセッサによって詳細化することから、前記コンピュータグラフィックスビューを前記グラフィックスエンジンによってレンダリングすることへ、前記入力バッファが前記ストリームの連続的な増分の現在のものに関する前記頂点分割記録を取り出すことによって空になり、それによって処理が前記漸進的詳細度メッシュを詳細化することと前記コンピュータグラフィックスビューをレンダリングすることとの間でバランスした場合、シフトすることを特徴とするシステム。 - 視覚的表示装置を有するコンピュータを制御し、多次元幾何オブジェクトを表す漸進的に詳細度が変化する連続メッシュのうち所定の2メッシュ間の滑らかな視覚的推移を有するコンピュータグラフィックス画像を発生する方法において、
ベースメッシュと、前記ベースメッシュから始まる列において適用した場合、前記漸進的に詳細度が変化する連続メッシュを生じる頂点分割変換の列とによって指定された前記漸進的に詳細度が変化する連続メッシュから、より粗いメッシュと、より詳細なメッシュとを選択するステップであって、前記漸進的に詳細度が変化する連続メッシュの各々が、位置座標の組と、複数の頂点の接続関係とによって規定され、前記頂点分割変換の各々が、前記漸進的に詳細度が変化する連続メッシュにおける現在メッシュにおける分割頂点の位置座標を変更し、前記より詳細なメッシュの各頂点が前記より粗いメッシュにおける先祖頂点から得られた頂点位置を有するように、前記漸進的に詳細度が変化する連続メッシュにおける次のメッシュにおいて前記分割頂点の新たな位置座標を生じると共に新たな頂点の位置座標を導入し、接続関係が、前記メッシュの面における稜線によって接続された頂点の近さを意味する、ステップと、
前記より詳細なメッシュの接続関係を有する頂点の組および頂点位置の組を有する幾何形態を規定するステップであって、前記頂点位置の少なくともいくつかが、前記より詳細なメッシュにおける頂点の位置座標と、前記より粗いメッシュにおけるこれらの先祖頂点の位置座標との間で、混合パラメータに従って変化し、前記混合パラメータが、前記より詳細なメッシュにおける頂点の位置座標および前記より粗いメッシュにおけるこれらの先祖頂点の位置座標の重み付き平均関数の重み付け変数である、ステップと、
前記幾何形態を前記混合パラメータの複数の値において評価するステップと、
画像を前記コンピュータの視覚的表示装置において、前記幾何オブジェクトのビューを描写するために前記混合パラメータの前記値において評価された前記幾何形態に基づいて表示するステップとを具えることを特徴とする方法。 - 請求項34に記載の方法において、前記幾何形態を前記混合パラメータの複数の値において評価するステップが、
前記混合パラメータの値を予め決められた範囲内で変化するステップと、
前記より詳細なメッシュにおける頂点の位置座標と、前記より粗いメッシュにおけるこれらの先祖頂点の位置座標との間の頂点位置を、前記混合パラメータの値に基づく前記重み付き平均関数によって補間するステップとを具えることを特徴とする方法。 - 請求項35に記載の方法において、
前記頂点位置を、前記混合パラメータの非線型関数に従って補間するステップを具えることを特徴とする方法。 - 請求項35に記載の方法において、
前記頂点位置を、前記混合パラメータのスローイン、スローアウト補間関数に従って補間するステップを具えることを特徴とする方法。 - 多次元オブジェクトを表す漸進的に詳細度が変化する連続メッシュから選択されたより粗いメッシュおよびより詳細なメッシュによって表される2つの異なった詳細度における前記多次元オブジェクトの描写間の滑らかな視覚的推移を有する前記多次元オブジェクトの画像を表示する符号化された幾何形態データ構造を有するコンピュータ読み出し可能データ記憶媒体であって、前記漸進的に詳細度が変化する連続メッシュが、ベースメッシュと、頂点分割変換の列とによって規定され、前記頂点分割変換が、前記より詳細なメッシュにおける頂点の位置座標および接続関係の組を、前記より粗いメッシュにおける先祖頂点の位置座標および接続関係の組から詳細化し、接続関係が、個々のメッシュの面における稜線によって接続された頂点の隣接を意味する、コンピュータ読み出し可能データ記憶媒体において、前記幾何形態データ構造が、
前記より粗いメッシュの先祖頂点の位置座標の組から、前記より詳細なメッシュにおける頂点の位置座標の組に、混合パラメータの補間関数に従って変化するときの、前記幾何形態の複数の頂点の位置を指定する頂点位置テーブルと、
前記より詳細なメッシュにおける頂点の接続関係に等しいときの、前記幾何形態の頂点の接続関係を指定する単体的複体テーブルとを具え、
それによって、前記幾何形態データ構造が、前記詳細度間の滑らかな推移を簡潔に表し、視覚的表示装置を有するコンピュータが、前記2つの詳細度間の滑らかな推移を有する前記多次元オブジェクトのビューを描写する画像を発生する、ことを特徴とするコンピュータ読み出し可能データ記憶媒体。 - 請求項38に記載のコンピュータ読み出し可能データ記憶媒体において、前記より詳細なメッシュにおける頂点の接続関係が複数の面を規定し、前記面が離散的属性値に関係し、前記幾何形態データ構造が、さらに、
前記より詳細なメッシュの面の離散的属性値に等しいときの、前記幾何形態の面の離散的属性を指定する離散的属性テーブルを具えることを特徴とするコンピュータ読み出し可能データ記憶媒体。 - 請求項38に記載のコンピュータ読み出し可能データ記憶媒体において、前記より粗いメッシュの頂点の接続関係が複数の面および角を規定し、前記頂点分割変換の各々が少なくとも1つの新たな面および角を導入して、前記より詳細なメッシュが、前記より粗いメッシュにおいても存在する角の第1グループと、前記頂点分割変換によって導入された角の第2グループとを有するようにし、前記より粗いメッシュの角が粗いスカラ属性値に関係し、前記より詳細なメッシュの角が精細なスカラ属性値に関係し、前記幾何形態が、前記より詳細なメッシュの接続関係によって規定されている前記より詳細なメッシュと同じ角の第1および第2の組を有し、前記幾何形態データ構造が、さらに、
前記より粗いメッシュにおける角の第1グループに関係する粗いスカラ属性値と、前記より詳細なメッシュにおける角の第1グループに関係する詳細なスカラ属性値との間を混合パラメータに従って変化するときの前記幾何形態の角の第1グループの第1スカラ属性を指定し、前記幾何形態の角の第2グループのサブセットの第2スカラ属性を指定し、前記サブセットが、前記より粗いメッシュにおける隣接角の粗いスカラ属性値と、前記より詳細なメッシュにおける前記サブセットの詳細なスカラ属性値との間を前記混合パラメータに従って変化するときの前記隣接角と同じ粗いスカラ属性値を有する前記頂点分割変換によって導入されたものであり、前記詳細なメッシュにおける角の第2グループの残りの前記精細なスカラ属性値に等しい一定値を有するときの、前記サブセットではない前記幾何形態の角の第2グループの残りの第3スカラ属性値を指定するスカラ属性テーブルを具えることを特徴とするコンピュータ読み出し可能データ記憶媒体。 - 可変詳細度における多次元幾何オブジェクトのコンピュータグラフィックスビューの表示を制御するシステムにおいて、
ベースメッシュおよびメッシュ詳細化変換の列としての前記多次元幾何オブジェクトの漸進的詳細度メッシュ表現を格納するコンピュータ読み出し可能データ記憶媒体であって、前記メッシュ詳細化変換が完全であり、前記漸進的詳細度メッシュが、漸進的に詳細度が変化する連続メッシュを規定する、コンピュータ読み出し可能データ記憶媒体と、
ユーザ入力に応じて詳細度変数の値を変化させる詳細度ユーザインタフェースと、
前記漸進的詳細度メッシュから、前記詳細度変数の値に関係する詳細度における前記多次元幾何オブジェクトの表現を抽出する詳細度推定器と、
前記詳細度における多次元幾何オブジェクトの表現からコンピュータグラフィックスビューを発生および表示する画像レンダリングおよび表示手段とを具えることを特徴とするシステム。 - 請求項41に記載のシステムにおいて、
幾何形態の組G0,...,Ggを格納する幾何形態テーブルであって、各々の幾何形態Gjが、複雑度変数の組に関係する複雑度T0,...,Tg+1の組における連続する複雑度TjおよびTj+1における前記漸進的詳細度メッシュ表現から選択されたメッシュ対間に規定された、幾何形態テーブルと、
前記詳細度変数の値を、前記幾何形態の組のうち選択された1つと、混合パラメータの選択された値とにマッピングする補間器とを具え、
前記詳細度推定器が、前記混合パラメータの前記選択された値における前記選択された幾何形態を評価し、前記詳細度における前記多次元オブジェクトの表現を発生するように機能することを特徴とするシステム。 - 請求項42に記載のシステムにおいて、
ユーザ入力に応じて前記複雑度変数の組の値を変化させる複雑度ユーザインタフェース制御を具えることを特徴とするシステム。 - 請求項43に記載のシステムにおいて、前記複雑度変数の値が、メッシュの連続的な番号付けに従って前記連続メッシュから選択されたメッシュの組を指定することを特徴とするシステム。
- 請求項43に記載のシステムにおいて、前記複雑度変数の値が、メッシュの面の数に従って前記連続メッシュから選択されたメッシュの組を指定することを特徴とするシステム。
- 請求項43に記載のシステムにおいて、前記複雑度変数の値が、メッシュの頂点の数に従って前記連続メッシュから選択されたメッシュの組を指定することを特徴とするシステム。
- 請求項43に記載のシステムにおいて、
ユーザ入力に応じて前記複雑度変数の組の値を対数的に変化させるスライド対数スケールを有する複雑度ユーザインタフェースを具えることを特徴とするシステム。 - 請求項41ないし47のいずれか1項に記載のシステムにおいて、前記メッシュ詳細化変換が頂点分割変換から成ることを特徴とするシステム。
- 可変詳細度における多次元幾何オブジェクトのコンピュータグラフィックスビューの表示を制御する方法において、
前記多次元幾何オブジェクトの漸進的詳細度メッシュ表現を、コンピュータメモリに、ベースメッシュおよびメッシュ詳細化変換の列として格納するステップであって、前記メッシュ詳細化変換が完全であり、前記漸進的詳細度メッシュ表現が漸進的に詳細度が変化する連続メッシュである、ステップと、
ユーザ入力に応じて詳細度変数の値を設定するステップと、
前記詳細度レベル変数の値に関係する詳細度における前記多次元幾何オブジェクトの表現を前記漸進的詳細度メッシュから抽出するステップと、
前記詳細度における前記多次元幾何オブジェクトの表現のコンピュータグラフィックスビューをレンダリングするステップと、
前記コンピュータグラフィックスビューを視覚的に表示するステップとを具えることを特徴とする方法。 - 請求項49に記載の方法において、
前記設定するステップ、抽出するステップ、レンダリングするステップおよび視覚的に表示するステップを、前記詳細度変数の異なった値に関して反復的に繰り返すステップを具えることを特徴とする方法。 - 請求項49に記載の方法において、
幾何形態の組G0,...,Ggを格納するステップであって、各々の幾何形態Gjが、複雑度変数の組に関係する複雑度T0,...,Tg+1の組における連続する複雑度TjおよびTj+1における前記漸進的詳細度メッシュ表現から選択されたメッシュ対間に規定されている、ステップと、
前記詳細度変数の値を、前記幾何形態の組のうち選択された1つと、混合パラメータの選択された値とにマッピングするステップと、
前記混合パラメータの前記選択された値における前記選択された幾何形態を評価し、前記詳細度における前記多次元オブジェクトの表現を発生するステップとをさらに具えることを特徴とする方法。 - 請求項51に記載の方法において、
ユーザ入力に応じて前記複雑度変数の組の値を変化させるステップをさらに具えることを特徴とする方法。 - 請求項49ないし52のいずれか1項に記載の方法において、前記メッシュ詳細化変換が頂点分割変換から成ることを特徴とする方法。
- 視覚的表示装置を有するコンピュータを制御し、選択的により詳細な領域を有する多次元オブジェクトのコンピュータグラフィックスビューを描写するコンピュータグラフィックス画像を発生する方法であって、前記多次元オブジェクトが、ベースメッシュ記録およびメッシュ詳細化記録のストリームを有する漸進的詳細度データ構造において表され、前記ベースメッシュ記録が、低い詳細度における前記オブジェクトのベースメッシュ代表を規定し、前記メッシュ詳細化記録が、前記ベースメッシュを高い詳細度における前記オブジェクトの任意のメッシュ代表に詳細化するメッシュ詳細化変換の列を規定し、前記メッシュ詳細化変換が完全である、方法において、
前記ベースメッシュ記録から初期の粗い詳細度における選択的に詳細化されたメッシュを形成するステップと、
前記ストリームにおける複数の前記メッシュ詳細化記録の各々に関して、
(a)前記メッシュ詳細化記録によって規定されたメッシュ詳細化変換が、前記オブジェクトの所望の部分に対する詳細化を制限する選択規準を満たすかどうかを検査するステップと、
(b)前記メッシュ詳細化記録によって規定されたメッシュ詳細化変換が前記選択規準を満たす場合、このようなメッシュ詳細化変換を前記選択的に詳細化されたメッシュに適用し、それによって、前記オブジェクトの前記所望の部分における前記選択的に詳細化されたメッシュの詳細度を上昇させ、前記オブジェクトのコンピュータグラフィックスビューを、前記コンピュータの視覚的表示装置において、前記選択的に詳細化されたメッシュに基づいてレンダリングおよび表示するステップとを行うステップとを具えることを特徴とする方法。 - 請求項54に記載の方法において、前記メッシュ詳細化変換が頂点分割変換であり、これらの変換の各々が、2つの横頂点を有する分割頂点を変更し、新たな頂点と少なくとも1つの新たな面とを導入することを特徴とする方法。
- 請求項55に記載の方法において、前記メッシュ詳細化変換が前記選択規準を満たしているかどうか検査する前記ステップが、
前記分割頂点および2つの横頂点が前記選択的に詳細化されたメッシュ内にあるかどうか検査するステップを具えることを特徴とする方法。 - 請求項55に記載の方法において、前記メッシュ詳細化変換が前記選択規準を満たしているかどうか検査する前記ステップが、
前記2つの横頂点の最も近い先祖が前記選択的に詳細化されたメッシュにおける前記分割頂点と隣接しているかどうか検査するステップを具えることを特徴とする方法。 - 請求項55に記載の方法において、前記メッシュ詳細化変換が前記選択規準を満たしているかどうか検査する前記ステップが、
前記分割頂点が前記オブジェクトの所望の部分内にあるかどうかを検査するステップを具えることを特徴とする方法。 - 請求項55に記載の方法において、前記メッシュ詳細化変換が前記選択規準を満たしているかどうか検査する前記ステップが、
前記分割頂点に隣接する前記選択的に詳細化されたメッシュの複数の面のいずれかが前記オブジェクトの所望の部分内にあるかどうかを検査するステップを具えることを特徴とする方法。 - 請求項55に記載の方法において、前記メッシュ詳細化変換が前記選択規準を満たしているかどうか検査する前記ステップが、
前記分割頂点に隣接する前記選択的に詳細化されたメッシュの複数の面の各々の符号付投影スクリーン面積を計算するステップであって、各々の面の前記符号付投影スクリーン面積が符号および大きさを有する、ステップと、
前記面のすべてが同じ符号の符号付投影スクリーン面積を有するかどうかを検査するステップとを具えることを特徴とする方法。 - 請求項55に記載の方法において、前記メッシュ詳細化変換が前記選択規準を満たしているかどうか検査する前記ステップが、
前記分割頂点に隣接する前記選択的に詳細化されたメッシュの複数の面の各々の符号付投影スクリーン面積を計算するステップであって、各々の面の前記符号付投影スクリーン面積が符号および大きさを有する、ステップと、
前記面の符号付投影スクリーン面積の和が、予め決められたスクリーン面積しきい値より大きいかどうかを検査するステップとを具えることを特徴とする方法。 - 請求項54に記載の方法において、
メッシュ詳細化変換が、前記選択的に詳細化されたメッシュの、前記オブジェクトの前記所望の部分内であるが、前記コンピュータグラフィックスビューにおいて見えない部分を変更する場合、このメッシュ詳細化変換が前記選択規準を満たさないと決定するステップを具えることを特徴とする方法。 - 請求項54ないし62のいずれか1項に記載の方法において、
前記選択的に詳細化されたメッシュの2つの詳細度間を混合パラメータに従って補間する幾何形態を構成するステップと、
前記混合パラメータの複数の値における前記幾何形態を評価するステップと、
前記値において評価された幾何形態に基づいた前記オブジェクトのコンピュータグラフィックスビューをレンダリングおよび表示するステップとを具え、それによって、前記コンピュータグラフィックスビューが前記2つの詳細度間の滑らかな視覚的推移を形成する、ことを特徴とする方法。 - 請求項54ないし62のいずれか1項に記載の方法において、前記コンピュータグラフィックスビューが、前記オブジェクトの視野円錐台内の部分のビューであり、前記選択規準が、前記オブジェクトの前記視野円錐台内の部分に対する詳細化を制限することを特徴とする方法。
- 多次元オブジェクトの選択的に詳細化されたビューを表示するコンピュータグラフィックスシステムにおいて、
ベースメッシュ記録およびメッシュ詳細化記録のストリームを有する漸進的詳細度データ構造を格納するデータ記憶メモリであって、前記ベースメッシュ記録が低い詳細度における前記オブジェクトのベースメッシュ表現を規定し、前記メッシュ詳細化記録が、前記ベースメッシュを高い詳細度における前記オブジェクトの任意のメッシュ表現に詳細化するメッシュ詳細化変換の列を規定し、前記メッシュ詳細化変換が完全である、データ記憶メモリと、
前記ベースメッシュ記録から初期の粗い詳細度における選択的に詳細化されたメッシュを形成し、前記ストリームにおける複数のメッシュ詳細化記録の各々によって規定されたメッシュ詳細化変換が前記オブジェクトの所望の部分への詳細化を制限する選択規準を満たすかどうかを検査し、前記選択規準を満たすこれらの前記メッシュ詳細化変換を前記選択的に詳細化されたメッシュに適用し、それによって、前記オブジェクトの前記所望の部分における選択的に詳細化されたメッシュの詳細度を上昇させる、選択的詳細化プロセッサと、
前記選択的に詳細化されたメッシュに基づく前記オブジェクトのコンピュータグラフィックスビューをレンダリングするグラフィックスエンジンと、
前記コンピュータグラフィックスビューを表示する表示装置とを具えることを特徴とするコンピュータグラフィックスシステム。 - 請求項65に記載のコンピュータグラフィックスシステムにおいて、前記メッシュ詳細化変換が頂点分割変換であり、これらの変換の各々が、2つの横頂点を有する分割頂点を変更し、新たな頂点と、少なくとも1つの新たな面とを導入することを特徴とするコンピュータグラフィックスシステム。
- 請求項65または66に記載のコンピュータグラフィックスシステムにおいて、前記コンピュータグラフィックスビューが、前記オブジェクトの視野円錐台内の部分のビューであり、前記選択規準が、前記オブジェクトの前記視野円錐台内の部分に対する詳細化を制限することを特徴とするコンピュータグラフィックスシステム。
- 請求項65ないし67のいずれか1項に記載のコンピュータグラフィックスシステムにおいて、
前記選択的に詳細化されたメッシュの2つの詳細度間を混合パラメータにしたがって補間する幾何形態を構成し、前記混合パラメータの複数の値における幾何形態を評価する幾何形態プロセッサを具え、
前記グラフィックスエンジンが、前記2つの詳細度間の滑らかな視覚的推移に関して、前記値において評価された幾何形態に基づく前記オブジェクトのコンピュータグラフィックスビューをレンダリングすることを特徴とするコンピュータグラフィックスシステム。 - コンピュータにおいて、多次元オブジェクトのコンピュータグラフィックスビューを表示するために、視覚的表示装置を有するコンピュータを制御し、可変詳細度を有する前記多次元オブジェクトのビューを描写するコンピュータグラフィックス画像を、前記オブジェクトの任意の初期メッシュ表現から前記多次元オブジェクトの可変詳細度表現を構成することによって発生する方法であって、前記任意の初期メッシュが複数の頂点を有し、前記頂点の接続関係が前記頂点の接続された対間の複数の稜線を規定する、方法において、
前記任意の初期メッシュに連続的に適用した場合、漸進的により単純になる連続メッシュを生じるメッシュ単純化変換の連続を選択するステップであって、前記メッシュ単純化変換の連続における最後がベースメッシュを生じる、ステップと、
前記ベースメッシュと、前記メッシュ単純化変換の逆であり、前記メッシュ単純化変換の連続の逆の順序におけるメッシュ詳細化変換の連続とを記録するステップであり、前記メッシュ詳細化変換が、前記ベースメッシュから開始して連続的に適用した場合、前記任意の初期メッシュを正確に再生する、ステップと、
前記メッシュ詳細化変換の部分列を前記ベースポリゴンメッシュに適用し、前記漸進的により単純になる連続メッシュから選択された所望の詳細度を有するメッシュを発生するステップと、
前記選択されたメッシュに基づく前記所望の詳細度における前記オブジェクトのビューを描写する画像を前記視覚的表示装置において発生するステップとを具えることを特徴とする方法。 - 請求項69に記載の方法において、前記メッシュ単純化変換がすべて稜線削除変換であり、前記メッシュ詳細化変換がすべて頂点分割変換であり、前記任意の初期メッシュで開始する漸進的により単純になる連続メッシュの各々に関して、
前記漸進的により単純になる連続メッシュの現在メッシュにおける複数の稜線削除変換候補から現在稜線削除変換を選択するステップと、
前記稜線削除変換を前記現在メッシュに適用し、前記漸進的により単純になる連続メッシュにおける次のメッシュを生じるステップとをさらに具えることを特徴とする方法。 - 請求項70に記載の方法において、前記現在の稜線削除変換を選択するステップが、
前記稜線削除変換候補の各々に関する出現距離を計算するステップと、
前記稜線削除変換候補から前記出現距離を最適にする現在稜線削除変換を選択するステップとを具えることを特徴とする方法。 - 請求項71に記載の方法において、
前記稜線削除変換候補において、予め決められた最大二面角制限および多様体保存制限制限を負わせるステップを具えることを特徴とする方法。 - 請求項71に記載の方法において、前記稜線削除変換候補の各々に関して出現距離を計算する前記ステップが、
前記初期の任意のメッシュと、前記稜線削除変換候補を前記現在メッシュに適用する結果として生じるメッシュとの間の幾何学的偏差を測定するステップを具えることを特徴とする方法。 - 請求項71に記載の方法において、前記稜線削除変換候補の各々に関して出現距離を計算する前記ステップが、
前記初期の任意のメッシュの表面における複数の点において幾何学的属性を標本化するステップと、
前記初期の任意のメッシュの前記点における幾何学的属性と、前記稜線削除変換候補を前記現在メッシュに適用する結果として生じるメッシュの幾何学的属性との間の幾何学的偏差を測定するステップと、
前記幾何学的偏差を、適応的バネ定数を有するバネ項によって蓄積するステップと、
前記適応的バネ定数を、前記点の数と、前記稜線削除変換の近傍の面の数との比に従って設定するステップとを具えることを特徴とする方法。 - 請求項71または73に記載の方法において、前記稜線削除変換候補の各々に関して出現距離を計算する前記ステップが、
前記初期の任意のメッシュと、前記稜線削除変換候補を前記現在メッシュに適用する結果として生じるメッシュとの間のスカラ属性偏差を測定するステップを具えることを特徴とする方法。 - 請求項71に記載の方法において、前記稜線削除変換候補の各々に関して出現距離を計算する前記ステップが、
前記初期の任意のメッシュの鋭い稜線における複数の点において幾何学的属性を標本化するステップと、
前記点における幾何学的属性と、前記稜線削除変換候補を前記現在メッシュに適用する結果として生じるメッシュの幾何学的属性との間の幾何学的偏差を測定するステップとを具えることを特徴とする方法。 - 請求項71に記載の方法において、前記現在の稜線削除変換を選択する前記ステップが、
前記現在の稜線削除変換に関する選択が、前記現在のメッシュの不連続曲線位相要素を変更するかどうかを検査するステップと、
前記選択が前記不連続曲線位相要素を変更する場合、前記選択を許可しないステップとを具えることを特徴とする方法。 - 請求項71に記載の方法において、前記現在の稜線削除変換を選択する前記ステップが、
前記現在の稜線削除変換に関する選択が、前記現在のメッシュの不連続曲線位相要素を変更するかどうかを検査するステップと、
前記選択が前記不連続曲線位相要素を変更する場合、前記選択を不利にするステップとを具えることを特徴とする方法。 - 多次元オブジェクトのコンピュータグラフィックスビューを表示するために、前記多次元オブジェクトの可変詳細度表現を、前記オブジェクトの任意の初期メッシュ表現から構成するコンピュータベースのシステムであって、前記任意の初期メッシュが複数の頂点を有し、前記頂点の接続関係が、前記頂点の接続された対間の複数の稜線を規定する、コンピュータベースのシステムにおいて、
メッシュ単純化変換を反復的に選択し、前記選択されたメッシュ単純化変換を、前記初期の任意のメッシュで開始する漸進的により単純になる連続メッシュにおける現在メッシュに適用し、前記連続メッシュにおける次のメッシュを生じるメッシュ変換プロセッサであって、前記メッシュ単純化変換の連続における最後がベースメッシュを生じる、メッシュ変換プロセッサと、
前記ベースメッシュと、前記メッシュ単純化変換の逆であり、前記メッシュ単純化変換の連続と逆の順序におけるメッシュ詳細化変換の連続とを記録するエンコーダであって、前記メッシュ詳細化変換が、前記ベースメッシュで開始して連続的に適用した場合、前記任意の初期メッシュを正確に再生する、エンコーダとを具えることを特徴とするコンピュータベースシステム。 - 請求項79に記載のコンピュータベースシステムにおいて、
所望の詳細度を選択するユーザインタフェース制御を具え、
前記メッシュ送信プロセッサが、前記メッシュ単純化変換の選択および適用の反復を、前記メッシュ単純化変換の最後の適用が前記所望の詳細度と少なくとも同じ詳細度を有する次のメッシュを生じるまで行うことを特徴とするコンピュータベースシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/586,953 US5963209A (en) | 1996-01-11 | 1996-01-11 | Encoding and progressive transmission of progressive meshes |
US08/586953 | 1996-01-16 |
Publications (3)
Publication Number | Publication Date |
---|---|
JPH09198524A JPH09198524A (ja) | 1997-07-31 |
JP3615007B2 JP3615007B2 (ja) | 2005-01-26 |
JP3615007B6 true JP3615007B6 (ja) | 2005-06-02 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5963209A (en) | Encoding and progressive transmission of progressive meshes | |
Hoppe | Progressive meshes | |
US6587104B1 (en) | Progressive hulls | |
US5966140A (en) | Method for creating progressive simplicial complexes | |
Alexa | Recent advances in mesh morphing | |
RU2237284C2 (ru) | Способ генерирования структуры узлов, предназначенных для представления трехмерных объектов с использованием изображений с глубиной | |
Fisher et al. | Continuous generalization for visualization on small mobile devices | |
US6031548A (en) | Progressive multi-level transmission and display of triangular meshes | |
US20050131660A1 (en) | Method for content driven image compression | |
JP4641135B2 (ja) | グラフィックス・オブジェクトをモデリングするシステムおよび方法 | |
US20060290693A1 (en) | Large mesh deformation using the volumetric graph laplacian | |
EP3563353A1 (en) | Systems and methods for lightweight precise 3d visual format | |
Wu et al. | Wavelet triangulated irregular networks | |
WO2013029232A1 (en) | Multi-resolution 3d textured mesh coding | |
JP4350504B2 (ja) | メッシュを導入した画像の符号化及び復号のための方法及び装置とそれに対応するプログラム | |
US11257290B2 (en) | Decimating a three-dimensional mesh via successive self-parameterization | |
JP3615007B6 (ja) | 漸進的メッシュ | |
Ahn et al. | Out-of-core remeshing of large polygonal meshes | |
JP3950161B2 (ja) | 属性検出方法及び装置 | |
Schröder | 8 Subdivision, multiresolution and the construction of scalable algorithms in computer graphics P. SCHRÖDER | |
Dong | Progressive compression and postprocessing of three-dimensional triangular meshes | |
CN117765218A (zh) | 一种地形建筑混合模型的轻量化方法及系统 | |
Yu et al. | 3D mesh compression | |
Váša | Methods for dynamic mesh size reduction: technical report no. DCSE/TR-2006-07 | |
Okuda et al. | Progressive geometry coding of partitioned 3D models |