JP4494597B2 - 色階調をディテール指向型階層距離フィールドとして表す方法 - Google Patents

色階調をディテール指向型階層距離フィールドとして表す方法 Download PDF

Info

Publication number
JP4494597B2
JP4494597B2 JP2000200843A JP2000200843A JP4494597B2 JP 4494597 B2 JP4494597 B2 JP 4494597B2 JP 2000200843 A JP2000200843 A JP 2000200843A JP 2000200843 A JP2000200843 A JP 2000200843A JP 4494597 B2 JP4494597 B2 JP 4494597B2
Authority
JP
Japan
Prior art keywords
cell
hdf
distance
distance field
cells
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000200843A
Other languages
English (en)
Other versions
JP2001052209A (ja
Inventor
ロナルド・エヌ・ペリー
サラ・エフ・フリスケン
トゥイス・アール・ジョーンズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Research Laboratories Inc
Original Assignee
Mitsubishi Electric Research Laboratories Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Research Laboratories Inc filed Critical Mitsubishi Electric Research Laboratories Inc
Publication of JP2001052209A publication Critical patent/JP2001052209A/ja
Application granted granted Critical
Publication of JP4494597B2 publication Critical patent/JP4494597B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Color Image Communication Systems (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、カラー再生の分野一般に関し、より詳細には、ごく制限された色階調を有する出力装置においてカラーを精度よく変換してレンダリングすることに関するものである。
【0002】
【従来の技術】
サーフェイス表現
オブジェクトまたはモデルの「形状」の表現は、コンピュータ支援の設計および操作、数理物理学、物理的モデリング、コンピュータグラフィックス等の多くの分野で必要とされている。形状表現は、一般に、パラメトリックサーフェイスモデル、暗示的(implicit)サーフェイス、サンプリングされたボリュームデータの3つが一般的である。
【0003】
パラメトリックサーフェイスモデル
パラメトリックサーフェイスモデルは、オブジェクトのサーフェイスを、ポリゴン、スプラインパッチ、またはパラメトリック的に定義される細分化(subdivision)サーフェイス等のプリミティブの集合として定義する。ほとんどのグラフィックスシステムは、パラメトリック表現を使用している。Alyn Rockwoodが「“ソリッドモデルにおける暗示的混合(blending)サーフェイスの変位方法(The displacement method for implicit blending surfaces in solid models)", ACM Transactions on Graphics, Vol. 8, No. 4, 1989」で述べたように、「パラメトリックサーフェイスは、通常、描画、モザイク化(tessellate)、細分化しやすく、境界を引きやすく、または、サーフェイスの‘どの部分’の知識を必要とする点でどのオペレーションも実行しやすい。」しかしながら、パラメトリックサーフェイスモデルは、組み合わせ、塑造または変形が困難である。さらに、パラメトリックサーフェイスモデルは、オブジェクトの内面を表現できないことからソリッドオブジェクトには使用できない。
【0004】
暗示的サーフェイス
暗示的サーフェイスは、陰関数f(x)により表される。該関数は、サーフェイスを含む空間に亘って定義される。オブジェクトサーフェイスは、陰関数の同一(iso-)サーフェイス、すなわち、f(x)=cとして表現される。Implicitサーフェイスは、オブジェクトの内面を表現することが可能であり、オブジェクト形状同士をモーフィングすることが可能であり、オブジェクトにCSG(constructive solid geometry)オペレーションを施すことが可能である。また、Implicitサーフェイスは、オブジェクトの内部と(versus)外部を検出することも可能であるが、BloomenthalがIntroduction to Implicit Surfaces, Morgan Kaufman Publishers, 1997で述べているように、「サーフェイスのパラメトリック(2D)空間からオブジェクトのジオメトリック(3D)空間への自然変換は、基本的に便利であり、パラメトリックサーフェイスの普及を部分的に支えているが、…暗示的サーフェイスのメカニズムに匹敵するものではない。」言い換えれば、暗示的サーフェイスを定義する式において、オブジェクト空間におけるサーフェイスに点を置きにくく、さらに、任意のいくつかのオブジェクトの陰関数を求めることは困難となる可能性がある。
【0005】
サンプリングされたボリュームデータ
サンプリングされたボリュームデータは、均一または不均一なグリッドのサンプリングされた強度値のアレイでオブジェクトおよびモデルを表現する。ボリュームデータは、通常、3D画像データまたは数値シミュレーションから生成される。Implicitサーフェイスと同様に、サンプリングされたボリュームデータは、オブジェクト内面を表現し、暗示的サーフェイスが使用される同様の多数の方法でサンプリングされたボリュームデータを使用し得る。しかしながら、オブジェクト表現の精度は、サンプリングの解像度により制限される。サンプリングされたデータは、通常、強度ベースであるため、オブジェクトが、サンプリングされた強度値により背景と、さらに他のオブジェクトと区別される。これは、一般に、サンプリングされた強度がオブジェクトサーフェイスで急激に変化することで、高空間数端数をデータに導入することを意味する。レンダリングされた画像においてアーチファクトのエイリアシングおよびエッジのギザギザを回避するためには、高速サンプリングレートが必要とされる。高速サンプリングレートはメモリ要件を増大させるとともにレンダリング時間がかかることから、表現されたサーフェイスの品質は、メモリ要件およびレンダリング速度と相殺せざるを得ない。
【0006】
距離フィールドおよび距離マップ
スカラーフィールドは、所与の領域に亘って定義される一価N次元関数である。距離フィールドは、オブジェクト“S”のサーフェイス“.S”までの「距離」を表現する。「距離」とは、サーフェイス“.S”上のすべての点“q”について、D(p,S)=minabus{‖p−q‖}により、フィールドのどメインに格納される“p”ごとに定義される。ここで、minabus{A}は、最小絶対量を有する集合Aの符号付き要素を求め、“‖〜‖”は、以下の特性を有する距離メトリックを表す、すなわち、距離メトリックは、“.S”上のいずれにおいてもゼロ値を有し、該メトリックは、Sの内部と外部とで区別が可能なように符号がつけられている。距離フィールドのゼロ以外の同一サーフェイスのサーフェイスは、スカラーオフセットを距離フィールドに加えることによって容易に特定される。
【0007】
サンプリングされた距離フィールドは、サンプリング位置の暗示的または明示的表現のいずかにしたがう距離フィールドからサンプリングされた1組の値である。サンプリングされた値は、距離フィールドの勾配および/または距離フィールドの他の空間導関数等の距離値と関連する距離計算を含んでもよい。
【0008】
距離メトリックの一例は、ユークリッド距離であり、この場合、任意の点“p”の距離フィールドは、“p”からオブジェクトサーフェイス上の最も近い点までの符号付きユークリッド距離となる。距離マップは、サンプル位置が均一グリッド上にあるサンプリングされたユークリッド距離フィールドであると定義される。距離マップは、いくつかの用途に利用されてきた。
【0009】
たとえば、Lengyelらは、「“ラスタ化コンピュータグラフィックスハードウェアを用いたリアルタイムロボット動き計画(Real-time robot motion planning using rasterizing computer graphics hardware)", SIGGRAPH, pp. 327-335, 1990」においてロボットの経路計画の距離マップを使用した。他にも。2つのオブジェクト間をモーフィングする距離マップを使用している。たとえば、「“サーフェイスモデルの距離フィールド操作(Distance field manipulation of surface models)", Payneら, IEEE Computer Graphics and Applications, 1992年1月」を参照されたい。また、距離マップは、Breenらが「“CSGモデルの距離ボリュームへの3Dスキャン変換(3D scan conversion of CSG models into distance volumes)", IEEE Volume Visualization Symposium議事録、1998」で論じているように、オフセットサーフェイスを生成するためにも使用されてきた。Gibsonは、「“サンプリングされたボリュームでの平滑面表現に距離マップを使用する (Using distance map for smooth surface representation in sampled volumes)", IEEE Volume Visualization Symposium議事録、1998」において、ボリュームレンダリングの精巧なサーフェイスを表すために距離マップを使用した。「“二進数セグメントデータからの距離マップの算出(Calculating distance maps from binary segmented data)", MERL Technical Report TR99-26, 1999年4月」においてGibsonにより、二進数のサンプリングされたボリュームデータから距離マップを生成する4つの方法が比較されている。
【0010】
ユークリッド距離フィールドがサーフェイス上でゆっくりと変化しているため、距離マップは、サンプリングされた強度値のエイリアシングの問題を被らない。平滑面は、該面が低曲率を有する限り、比較的粗雑な距離マップから精巧に再構築され得る。しかしながら、距離マップは定期的にサンプルされるため、サンプルされたボリュームと同一の問題の一部を被る。たとえば、距離マップのサイズは、オブジェクトのボリュームと表されるべき最も精密なディテールの組み合わせにより決定される。このため、精密なディテールのサーフェイスをいくつか有するボリュームには、ボリュームのごく僅か一部が精密なディテールサーフェイスに占められていても大きな距離マップが必要である。さらに、距離マップは、典型的には、ボリュームレンダリング技術を用いることでレンダリングされる。ボリュームレンダリング技術は、非常に遅いことがあり、相当サイズのボリュームを高品質でレンダリングするのに1コマあたり数秒乃至数分間要することがある。
【0011】
階層オブジェクト表現の空間データ構造
メモリを効率よく使用するために空間データを階層的に編成し、レンダリングし、物理的モデリングを行う多数の方法が周知である。空間データ構造の例が、ともに1989年にAddison-Wesleyから出版されたSametによる2冊の書籍「空間データ構造の設計および分析(The Design and Analysis of Spatial Data Structures)」および「空間データ構造の応用(Applications of Spatial Data Structures)」に提示されている。
【0012】
オクトリにより、三次元空間を8等分サイズのオクタントまたはノードに再帰的に分解してデータを階層編成する。領域オクトリは、ボリューム画像の均一な領域に対応するノードにデータを分割する。画像データが二値である場合、得られたツリーは、内部ノードと外部ノードの2種類のノードを有する。三色オクトリにより、ノードを内部ノード、外部ノード、またはオブジェクトサーフェイスと交差する境界ノードに色分けする。境界ノードは、最高解像度のボリュームデータに再帰的に細分化される。オブジェクトサーフェイスは、境界リーフノードを描画することによりレンダリングされる。
【0013】
三色オクトリは、内部および外部領域に要する記憶容量を縮小するため、またレンダリングおよび衝突検出を高速化する効率のよい構造を提供するためにボリュームデータに応用されてきた。しかしながら、均一のグリッド上の境界ノードによりサーフェイスを表現した結果、サンプリングされたボリュームに見られるものと同様の問題が生じる。レンダリングされた画像は、サーフェイスが非常に高周波数でサンプリングされない限り、アーチファクトのエイリアシングを受ける。サンプリングレートは、境界ノードの解像度に対応し、サーフェイスに存在するディテールの量よりむしろレンダリングされた画像の要求される最も高い解像度により決定される。このため、三色オクトリ表現では、比較的平坦面であっても相当量のメモリ容量が必要となる可能性がある。
【0014】
サンプリングされたボリュームデータをポリゴンモデルに変換する
最初にLorensenとClineにより、「“マーチングキューブ:高解像度3Dサーフェイス構造アルゴリズム(Marching Cubes: a high resolution 3D surface construction algorithm)", Computer Graphics, 21(4)pp. 163-169, 1987」に記載されたマーチングキューブアルゴリズムおよびその後継アルゴリズムは、一定にサンプリングされたボリュームの同一サーフェイスに三角モデルを当てはめる際に最も一般的に使用される方法である。同一サーフェイスを含むセルごとに、ルックアップテーブルにより、該セルの中の同一サーフェイスに近似する三角形の組を決定する。この方法は、トポロジカルな曖昧さを解決するとともに亀裂のないサーフェイスを保証するものであることから、直線グリッド上のサンプリングされたボリュームに限定される。
【0015】
Gibsonは、「“制約された弾性SurfaceNet:二値のセグメントデータから平滑面を生成する(Constrained Elastic SurfaceNets: generating smooth surfaces from binary segmented data)"MICCAI '98議事録, pp. 888-898, 1998」において、二値のサンプリングされたボリュームを三角モデルに変換する方法を提示した。該方法は、一定にサンプリングされたボリュームにおいて二値オブジェクトのサーフェイスに亘って、被リンクノード網を張り巡らせる。ノードの位置は、元のノードの配置により定義される制約においてSurfaceNetの形状を平滑になるよう調整される。該方法は、サーフェイスをグレイスケールデータに当てはめることができない。
【0016】
点の雲をパラメトリックサーフェイスに変換する
Hoppeらは、「“非編成点からのサーフェイス再構築(Surface reconstruction from unorganized points)", SIGGRAPH '92会報, pp.72-78, 1992」および「“区分的な平滑サーフェイス再構築(Piecewise smooth surface reconstruction)", SIGGRAPH '94会報, pp.295-302, 1994」において、非編成点の集合を三角モデルに変換し、次いで細分化サーフェイスを出力された三角モデルに当てはめる方法を記載している。該方法は、点の雲から距離マップを生成し、次にマーチングキューブを用いて三角モデルを生成する。本方法は、距離マップの解像度によって、さらに非編成点から推測し得る距離マップの精度によって制限される。
【0017】
暗示的サーフェイスを三角形に変換する
Bloomenthalは、「“暗示的サーフェイスのポリゴン化(Polygonization of implicit surfaces)", Technical Report, Xerox Parc, EDL-88-4, 1988年12月」において、単一の陰関数として表現されるサーフェイスを三角形に変換する方法を開示している。中間的一時データ構造において、サーフェイスを交際するセルの頂点において該関数が評価される。中間表現は、陰関数により表現される所望の同一サーフェイスにある12個のセルエッジの点を一緒にすることによりポリゴン化される。彼は、「サーフェイスを交差し、サーフェイスディテールと比較して小さい初期シードセル」から開始するセルを伝播することによりサーフェイスを追跡している。あるいは、彼は、「サーフェイスを交差するこれらの立方体を細分化する」ことのみによりサーフェイスに収束している。一時データ構造をレンダリングし、編集することについては記載していない。
【0018】
距離マップをレンダリングする
「“サンプリングされたボリュームでの平滑面表現に距離マップを使用する (Using distance map for smooth surface representation in sampled volumes)", IEEE Volume Visualization Symposium議事録、1998」においてGibsonが記載するように、距離マップは、パラメトリックモデルに変換せずに直接レンダリングできる。しかしながら、使用されるボリュームレンダリングアプローチは、相当量のボリュームでは非常に遅い。
【0019】
パラメトリックサーフェイスのためのサーフェイス編集
パラメトリックサーフェイスの編集は、骨の折れる問題である。光学設計において最も一般的に使用されるパラメトリックサーフェイスは、サーフェイス編集がトリミングと呼ばれるプロセスにより実行される、非均一な有理B―スプライン(NURB:non−uniform rational B−spline)サーフェイスである。しかしながら、「“キャラクタアニメーションにおける細分化サーフェイス(Subdivision surfaces in character animation)", SIGGRAPH '98会報, pp.85-94, 1998」においてDeRoseらが述べるように、個のプロセスは、「高価であり、数値誤差が生じやすい。」
【0020】
他の種類のパラメトリックサーフェイスを編集する多数の方法が提示されてきたが、一般に、これらは複雑であり、直感的ではないため、編集されたサーフェイスの品質を調節することが困難である。たとえば、Naylorは、「“SCULPT:対話的ソリッドモデリングツール(SCULPT: interactive solid modeling tool)", Graphics Interface '90会報, pp.138-148, 1990」において、ソリッドオブジェクトおよびツールを二値空間区分(BSP:binary spacedpartitioned)ツリーとして表現している。彼は、ツリーをオブジェクトBSPツリーの中に配置してオブジェクトツリーを編集することにより、ツールとオブジェクト間に結合(union)、相違および交差オペレーションを実行している。彼は、比較的単純なオブジェクトであってもそのソリッドモデルを塑造することがいかに困難であるかを示している。提示されている彫塑されたオブジェクトの例では、彫塑領域の周りのエッジは低解像度であり、きめが粗くなっている。
【0021】
KhodakovskuyとSchroderは、「“細分化サーフェイスのための微細レベルフィーチャ編集(Fine level feature editing for subdivision surfaces)", Solid Modeling and Application会報, pp. 203-211, 1999」において、細分化サーフェイスを彫塑する方法を提示した。ここでも、彼らのアプローチは、比較的単純なオブジェクトモデルに比較的単純な編集オペレーションを施す場合でもかなり複雑である。この方法を用いて自由形式の彫塑を行うとは想像がつかない。
【0022】
最近、RavivとElberは、任意に配向された1組の立方体パッチに亘って定義されたスカラー均一三変量B−スプラインの集合としてオブジェクトを表現する方法を示した。B−スプラインは、多数の制御係数(典型的には、215)により制御され、これらの係数を変更することによってオブジェクト形状が編集される。該方法では、過度のメモリおよび計算回数がなければ隅、小孔等の精巧なディテールの編集を行うことができない。論文において提示された結果は、サーフェイスディテールが乏しいことを示し、報告された編集およびレンダリング時間は非常に遅かった。
【0023】
サンプリングされたボリュームデータを彫塑する
ボリューメトリックデータを彫塑するいくつかのシステムが開発されている。これらのシステムは、密度1がオブジェクト内面に対応し、密度ゼロがオブジェクト外面に対応する密度マップとしてオブジェクトを表現している。これらのシステムは、通常、核オブジェクトの周りに境界領域を有し、密度がゼロから1に変化することでレンダリング中のアーチファクトのエイリアシングを回避している。これらのシステムはいずれも、変形可能でないボリュームオブジェクトから素材を加減するボリューム編集において、一定にサンプリングされたボリュームを使用している。さらに、Barentzenは、密度マップを格納し、かつレンダリングする際に三色オクトリを使用することを論じている。詳細については、「GalyeanとHughesの“彫塑:対話的ボリューメトリックモデリング技法(Sculpting: an interactive volumetric modeling technique)"SIGGRAPH '91会報」「WangとKaufmanの“ボリューム彫塑(Volume sculpting)"1995 Symposium on Interactive 3D Graphics議事録」「AvilaとSobierajskiの“ボリューム視覚化のための触覚的対話方法(A haptic interaction method for volume visualization)"IEEE Volume Visualization '96会報」および「Baerentzenの“オクトリベースのボリューム彫塑(Octree-based volume sculpting)"Late-breaking Hot Topics, IEEE Visualization '98会報」を参照されたい。
【0024】
これらのシステムには、いくつかの制限がある。第一に、フィルタリングされた境界領域を使用することで、エイリアシングを減少させるが、平滑化され、隅およびエッジが丸くなる。平滑化は、データに使用されるフィルタの結果であり、低域フィルタの代わりに距離マップを使用することにより減退される可能性がある。第二に、オブジェクトは均一グリッドに格納されるため、オブジェクトサーフェイスの解像度は、グリッド解像度により制限される。このため、密度マップには、ボリュームのごく僅か一部が精密なディテールサーフェイスに占められていても、精密なディテールが存在する場合には大きなボリュームが必要である。第三に、ボリュームサイズが大きいことから、密度アップのレンダリングは遅い。Barentzenの提案したオクトリベースの密度マップは、これらの問題を軽減するが、三色オクトリの問題があてはまる。さらに、編集は、予め定められた最も高解像度のオクトリにより制限される。
【0025】
Schroederらは、米国特許第5,542,036号「掃引されたボリュームおよび掃引されたサーフェイスの暗示的モデリング(Implicit modeling of swept volumes and swept surfaces)」において、掃引されたボリュームのコンピュータモデルを計算する方法を記載している。合成距離マップは、オブジェクトが空間を通して掃引される超過時間にオブジェクトまでの最小距離をサンプル点ごとに割り当てることにより計算される。掃引されたボリュームのサーフェイスは、LorensenとClineのマーチングキューブアルゴリズムにより三角形に変換される。距離マップは、固定解像度であり、一定にサンプリングされるため、距離マップの問題があてはまる。
【0026】
Colburnは、米国特許第4,791,583号「コンボリューション積分を用いてコンピュータモデル化されたソリッドオブジェクトをグローバルに混合(blend)する方法(Method for global blending of computer modeled solid objects using a convolution integral)」において、ボリュームデータの編集方法と類似点をいくつか有するソリッドモデルのエッジおよび隅に突条および丸みを形成する方法を提示している。該方法では、ソリッドオブジェクトは、オクトリで表現され、各境界セルには、該オブジェクトが占めるそのボリュームのパーセントにより決定される値が割り当てられる。丸みは、元のオブジェクトサーフェイスと直角の光線に沿った各点においてセル値のコンボリューションを球体ガウスフィルタで評価することにより達成される。丸みのあるサーフェイスは、コンボリューションを一定の同一値に評価する各光線上の点を通して再構築される。該方法は、特に、ソリッドモデルのエッジおよび隅の丸みおよび突条を追加したことに制限される。さらに、オブジェクト表現の解像度は、境界セルのサイズにより制限されるため、再構築されたサーフェイスの精度が制限される。
【0027】
【発明が解決しようとする課題】
従来技術の問題の概要
上述した3つの一般的なサーフェイス表現のそれぞれには限界がある。パラメトリックサーフェイスモデルは、内面を表現せず、内部と(vs)外部を検出する容易な手段を提供する。Implicitサーフェイスには、サーフェイスの表現から3D空間の点への自然な変換がないため、パラメトリックサーフェイスに比べてレンダリングしづらい。サンプリングされたボリュームデータは、アーチファクトを受けやすいため、サーフェイスを精巧に表現するためには高周波数でサンプリングしなければならない。これらの高速サンプリングレートでは。大量のメモリ容量および長時間のレンダリング時間を要する。
【0028】
距離マップは、サンプリングされたボリュームにおけるアーチファクトのエイリアシングを低減し得るが、距離マップは、均一グリッド上でサンプリングされるため、メモリ要件と、表現可能な最も微細なディテールとの相殺が依然として必要である。さらに、距離マップのボリュームレンダリングは、遅く、リアルタイムの対話性を制限する。レンダリングレートを向上し、オブジェクト内面および外面に必要な記憶容量を減少するために、三色オクトリを距離マップとともに使用してもよい。
【0029】
その解像度を局部サーフェイスディテールに合わせることが可能な境界リーフノードを許容することにより、さらに記憶容量を減少することは望ましい。たとえば、オブジェクト全体のサーフェイスを過度に高解像度で表現する必要なく、大きな比較的平滑なオブジェクトの精密な局面を表現することが可能であれば望ましい。したがって、境界リーフノードの解像度をサーフェイスの局部ディテールに適合するように、ディテール指向のサンプリングされた距離フィールドを表現する必要がある。
【0030】
上述したように、ボリューメトリック表現は、グラフィカルオブジェクトを編集および彫塑するのによく適している。しかしながら、既存の密度マップ方法は、エッジおよび隅の過度な平滑化、さらにデータ記憶およびレンダリング要件から、問題がある。さらに、サンプリングされたデータの解像度は予め定められているため、編集中に達成可能なディテールは編集開始以前に制限される。
【0031】
このため、グラフィカルオブジェクトを彫塑するディテール指向型ボリューム表現の必要がある。該表現は、編集中に先鋭の隅を形成または除去しても表現を解像度要件に局部的に適応することができるように柔軟性がなくてはならない。オブジェクト表現と同様に、上記構成により表現されたオブジェクトを編集し、これと対話し、さらにレンダリングする技法が要求される。さらに、新たな表現と標準的な表現とを相互に変換する方法が要求される。
【0032】
【課題を解決するための手段】
本発明は、ディテール志向型階層距離フィールドとして装置の色階調を表す方法を提供する。前記装置の色階調を表す距離フィールドは、文字枠により囲まれる。該囲まれた距離フィールドは複数のセルに分割される。各セルは、連続距離フィールドのディテールと対応するサイズと文字枠に対する位置を有する。
【0033】
囲まれた前記距離フィールドの1組の値は、セルごとにサンプリングされる。セルにより囲まれた前記距離フィールドの部分を再構築する方法が特定される。該サイズ、位置、上記組の値、および再構築方法はメモリに記憶され、前記セルの再構築方法を値に適用することによって装置の色階調の再構築が可能になる。
【0034】
有利には、前記階層距離フィールドは、装置の色階調の内側/内側テストを可能として少ない許容誤差内に修正し、サーフェイス表現誤差内の階調サーフェイスに色がどれだけ近いかの測定を可能とする。
【0035】
この情報は階調の外側にある色を装置の色階調の内側にある色と置き換えるのに用いられる。
【0036】
さらに、本発明の表現は色階調サーフェイスディテールに適応するので、前記階層距離フィールド表現は、従来技術の距離フィールド表現より少ないメモリーを使用する。
【0037】
【発明の実施の形態】
実施の形態1.
階層距離フィールドへの序論
本発明は、ディテール指向型階層距離フィールド(HDF)を提供する。以下において、これらの距離フィールドをメモリに記憶するために使用されるデータ構造をまず説明する。次に、データ構造に適用され得る基本動作を記載し、次いでデータ構造を生成し、変換し、レンダリングし、編集する詳細および方法を説明する。最後に、ディテール指向型階層距離フィールドにより彫塑および色管理を行うアプリケーションを具体的に挙げる。
【0038】
図1は、オブジェクト101と関連づけられた距離フィールドの部分を囲む文字枠100を示す。2Dでは、文字枠100は、原点103および軸104と105により囲まれる何らかの領域座標空間にある。文字枠が囲む空間は、領域座標空間の座標の意味で定義される。文字枠のサイズおよび位置は、その頂点109により特定される。
【0039】
本例において、空間は二次元であり、オブジェクトはグラフィカル要素(三角形)である。本発明がさらに高次元を有する空間および他のタイプのオブジェクトまたはモデル、たとえば、カラーモデルに拡大し得ることが理解されるはずである。オブジェクトサーフェイスは、オブジェクトの境界として定義される。二次元空間では、境界は、オブジェクトの外側エッジである。三次元以上の高次元空間では、境界は、オブジェクトの三次元以上の高次元サーフェイスである。
【0040】
オブジェクト101と関連づけられた印を付した距離フィールドは、空間107における任意の点からオブジェクト101のサーフェイス上の最も近接する点108間での距離106を表す。距離フィールドの印は、オブジェクトサーフェイスの内側と外側の点を区別する。たとえば、正の距離は、サーフェイスの内側の点と関連づけられ、負の距離は、サーフェイスの外側の点と関連づけられ、距離ゼロは、サーフェイス上にある点と関連づけられる。
【0041】
コンピュータ上で距離フィールドを表すために、距離フィールドは、文字枠100内の代表的な位置においてサンプリングされ得る。1つのアプローチは、距離フィールドを囲む文字枠をセルに分割し、セルの頂点で距離フィールドをサンプリングすることである。文字枠が一定の配列の直線状セルに分割される場合、記憶される距離値は、距離マップを表す。しかしながら、セルは、直方体、球体、または任意の多面体を含むいずれの形状としてもよく、またセルは必ずしも文字枠に完全居住していなくてもよいことが理解されるはずである。
【0042】
任意の精度で距離フィールドを表現させつつ、メモリ使用の観点から効率的であるサンプリングされた距離フィールドのデータ構造表現を提供することをも特的とする。より詳細には、本明細書中で説明される階層距離フィールド(HDF)において、距離フィールドは、所定の精度で再構築できるような十分に高解像度でサンプリングされ、サンプリングは、距離フィールドがよりディテールを有する領域ではより高速のサンプリングレートを使用し、距離フィールドが平滑に変化する領域ではより低速のサンプリングレートを使用するようにディテール指向である。
【0043】
したがって、図2に示すように、オブジェクト101を表す距離フィールドを囲む文字枠100は、文字枠に対して各種のサイズおよび位置を有するセル201〜202に分割されている。大きなセル201は、距離フィールドディテールが比較的ゆっくりと変換する場合に使用され、小さいセル202は、距離フィールドがよりディテールを有し。かつ高解像度が望まれるオブジェクトのコーナー付近で使用される。
【0044】
距離フィールドを分割するセルは、メモリ記憶およびアクセスをより効率よくするために空間データ構造に編成され得る。たとえば、図3に示すように、セルは、2D距離フィールドの4ツリー、3D距離フィールドのオクトリ等のツリー300としてメモリに配列される。後述するように、被リンクリスト等の他のデータ構造を使用して、HDFのセルを記憶してもよい。
【0045】
ツリー300は、図1の文字枠(セル)100を表す単一のトップレベルルートセル301を含む。ルートノードを除くすべてのセルには親セルがあり、各セルは、葉セル(たとえば、303)であるか、あるいは4(または8)つの子セルを有する(たとえば、セル302は、親セル301と子セル304を有する)。図示のように、ある特定のセルは、外部セル311、内部セル312またはサーフェイスセル313としてラベル付けされてもよい。図中、塗りつぶされていないセルは外部セルを示し、黒く塗りつぶされたセルは内部セルを示し、線の入ったセルはサーフェイスセルを示す。外部セルは、図1のオブジェクト101の完全に外側にあるセルを表す。内部セルは、全体的にオブジェクトの内側にあるセルを表す。サーフェイスセル313は、距離フィールドがゼロの値を含む場合にオブジェクトサーフェイスの一部を含む。
【0046】
本発明によれば、各セルには、セルと関連づけられたサンプリングされた少数の距離値からセル内の距離フィールドの部分を再構築する方法が関連づけられる。再構築された距離フィールドは、オブジェクトサーフェイス、オブジェクトサーフェイスまでの距離、オブジェクトサーフェイスの方向および距離フィールドと関連づけられたオブジェクトに関する他の特性を再構築するために使用可能である。
【0047】
図2および図3の図は、2つの重要な分野において従来技術と異なる。
【0048】
まず、空間データ構造における従来技術は、距離フィールド値を記憶しない。代わりに、既知の三色ツリーは、どのノードがサーフェイスノードであるか、そしてどのノードが内部または外部ノードであるかを示すにすぎない。サーフェイスは、サーフェイスノードに対応する画素を単に描画することによってレンダリングされる。この結果、画像の解像度は、ツリーが派生されたグリッドの解像度と単に同じである。本発明に係る階層距離フィールドにより、各セル内の連続距離フィールドを、セルの距離値および再構築方法から再構築し得る。サーフェイスをレンダリングまたは処理する際、これは、サーフェイスセルの解像度が比較的低くてもサーフェイスの再構築をより精度よくおこなうことができる。
【0049】
第二に、各セルのサイズはディテール指向である。すべてのセルの解像度が同一である既知の距離マップと異なり、または、サーフェイスノードがすべてツリーの最高解像度レベルにある既知の三色ツリーと異なり、階層距離フィールドにおけるサーフェイスセルのサイズは、セルが囲む距離フィールドのディテールにより決定される。低解像度(大きい)セルは、平滑面の付近の平滑に変化するフィールドを表すために使用され、高解像度(小さい)セルは、コーナー、高曲率面または高空間周波数成分を有する距離フィールドの部分等のサーフェイスディテールの付近の距離フィールドを表すために使用可能である。子の本発明音口調は、従来の距離マップに亘ってメモり記憶およびアクセス要件を大幅に低減する。
【0050】
階層距離フィールドデータ構造
図4は、階層距離フィールド(HDF)400を示す。HDF400は、HDFヘッダ500とセルデータ600を含む。上述したように、セルは、HDFのドメインの境界を画定された連結領域である。一例として、一定の直交グリッドは、HDFのドメインを、各セルが距離フィールドのディテールに対応するサイズと文字枠に対する位置を有する1組の矩形セルに分割し得る。
【0051】
HDFヘッダ
図5に示すように、HDFヘッダ500は、HDFの文字枠100を囲む文字枠仕様510と、距離メトリック識別子520と、再構築方法識別子530と、セル形状識別子540と、空間編成情報550と、セルデータ600へのポインタ560と、を含むことができる。
【0052】
距離メトリック識別子520により特定される距離メトリックは、以下521、すなわち、ユークリッド距離、平方ユークリッド、マンハッタン距離、チェスボード距離または上記の距離フィールドについて上述された特性を有する任意の単一値N次関数、の1つとし得る。
【0053】
再構築方法識別子530により特定される再構築方法は、以下531、すなわち、一次、双一次、三線、二次、四次、八次(triquadratic)、三次、二立方(bicubic)、三立方(tricubic)、またはサンプリングされた距離フィールドからサンプル値の重み付け和等の任意の再構築フィルタ、の1つとし得る。
【0054】
セル形状識別子540により特定されるセル形状は、以下541、すなわち、可能な形状をほんのいくつか挙げると、N次直方体、四面体、六面体、N次多面体、または球体、の1つとし得る。
【0055】
空間変性情報550は、HDFを表すために使用される空間分割、分割を表すために使用される階層構造およびHDFの位置を画定する。空間変性の例551として、スパース固定グリッド4ツリーまたはオクトリ、スパース固定グリッドウェーブレット構造4ツリーまたはオクトリ、被リンクセルリストまたは連続セルリストがある。
【0056】
HDFセルデータ560へのポインタは、スパース固定グリッドツリー300のルートセル301へのポインタとし得る。各種フィールドの好ましい形式には、アスタリスク「*」のマークをつけた。
【0057】
ツリーセルデータ
図6に示すように、セルデータ600は、セルと関連づけられたM個のサンプル点P1,P2...PMのサンプリングされた値601〜606を含み得る。各サンプル点のサンプル値は、距離フィールドベクトル610、外観パラメータ620、計算パラメータ630等の属性を含み得る。さらに、セルデータ600は、セルの子セルへのポインタ、セルの親セルへのポインタ等のツリー300のポインタ640を含み得る。他のセルデータとしては、セルタイプ識別子650、階層におけるセルのレベル、セルのサーフェイス表現誤差等のアプリケーション特化セルデータ661へのポインタ660が挙げられる。
【0058】
距離フィールドベクトル610は、距離フィールドの値、距離フィールドの勾配および距離フィールドの他の一部導関数611を含み得る。外観パラメータ620は、所与のサンプル点における色、輝度、透明度、テクスチャ座標等の値621を含み得る。計算パラメータ630は、質量、位置、方位、角速度、質量、弾性またはヤング率のような物理的特性等物理的モデリング中に使用される値631を含み得る。物理的モデリングは、剛体力学および動的変形を含み得る。
【0059】
セルタイプ識別子650により特定されるセルタイプは、以下651、すなわち、内部(全体的にオブジェクト101のサーフェイスの内部にあるセル)、外部(全体的にオブジェクト101のサーフェイスの外部にあるセル)およびサーフェイス(オブジェクト101のサーフェイスにより交差されるセル)、の1つとし得る。
【0060】
ウェーブレットツリー
ウェーブレットスパース固定グリッドツリーは、HDFの位置を囲む文字枠100と、ルートノードへのポインタと、ウェーブレット基識別子と、を含み得る。ウェーブレット基識別子により特定されるウェーブレット基は、以下、すなわち、Haar基、Daubechies基または他のいずれの任意のウェーブレット基関数、の1つとし得る。このタイプのツリーのセルベースは、距離フィールドベクトル610がウェーブレット距離ディテール係数で表される以外は図6に示すものと同一である。
【0061】
被リンクリスト
あるいは、HDFデータ構造は、被リンクリストとして編成され得る。この場合、該構造は、HDFの位置を囲む文字枠100と、被リンクリストへのポインタと、を含む。また、この表現では、セルデータ600のポインタ640は、リストの次のセルとリストの前のセルを含み得る。
【0062】
データ構造拡張
好ましいデータ構造への拡張として、HDFは、再構築方法識別子530を格納し得る。該識別子は、セルごとに特定され得る。セルが再構築方法識別子も特定する場合、セルの方法は、HDFヘッダ500において特定される方法530に優先する。このセルごとの再構築方法識別子は、そのセル内の距離フィールドにより表されるサーフェイスディテールに特に当てはまる再構築方法を特定し得る。たとえば、サーフェイス近傍で使用される再構築方法は、かなり歪曲されたサーフェイスまたはコーナーの近くで使用される方法と異なる。再構築方法は、先鋭なコーナー、丸みを帯びたコーナーまたはスパイク等のセル内の特徴をサーフェイスに形成する、あるいは、サーフェイス上の隆起、亀裂、溝、リッジ等の特定の外観を生成するために特殊化される。
【0063】
メモリレイアウト
図7は、文字枠100内のHDFの空間区分とメモリに記憶されたデータ構造710の間の関係を示す。HDFは、頂点a,b,cおよびdを有するセル700を含む。さらに、セルは、ディテール指向の子セルe,f,gおよびhに分割される。データ構造710は、セルタイプ識別子711と、サンプル点a,b,cおよびdにおけるサンプリングされた距離値712と、子セルe,f,gおよびhへのポインタ713を含む。
【0064】
図8は、ルートセル301およびそのセルデータ600を有する4ツリー形式のHDFの可能なメモリレイアウト800と、それぞれセルデータを有する子セルを示す。801で表されるボックスは、メモリアドレスを表す。図8において、サブツリー803の黒く塗りつぶされたセル802は、メモリセルデータ構造と図3のHDFの関係を示す。
【0065】
図9は、被リンクリスト形式910でのHDFの可能なメモリレイアウト900を示す。901で表されるボックスは、メモリアドレスを表す。
【0066】
基本的方法
本項および図10は、本発明に係る階層距離フィールド上で実行され得る基本的方法を説明する。以下の表記を使用する。各方法について、太字の語は、方法1010の名称であり、方法の主題を括弧1020で示し、本方法により戻されるデータタイプが1030である。「*」で表す方法は、列挙された変数へのポインタである。データタイプには以下がある。
Point −領域座標系における(たとえば、x,y,z)位置、
Vector −(たとえば、3D)ベクトル、
Boolean −TRUEまたはFALSE値、
HDF −階層距離フィールドデータ構造、そして
Cell −上述したようなHDFデータ構造のセル。
Float −浮動小数点値、
Integer −整数値、
BitVector −1ビットon/off状態変数のベクトル、
Matrix −浮動小数点値の(たとえば、4×4)マトリクス、
ObjDistAndParamFunction−オブジェクトサーフェイスまでの最短距離、そのオブジェクトの外観および計算パラメータを主点で算出する関数。
【0067】
クエリおよびHDFにおける点の配置方法(1001)
PointInHDF
点pがHDFの文字枠にあるとき、ブーリアンTRUEを、そうでなければFALSEを戻す。
【0068】
PointInHDFCell
HDF階層からセルの暗示的空間範囲、あるいは、HDF階層から計算された空間範囲を使用して、ルートセルからpを含む葉セルにHDFツリーをトラバースし、pを含むHDF葉セルを戻す。
【0069】
PointInHDFCellAtSomeFixedLevel
所与のレベルであって、セルが子を有しない場合に低解像度レベルであるpを含むHDFセルを戻す。ツリーをルートセルからpを含む葉セルにトラバースし、所与のレベルに対するセルレベルをチェックする。葉セルの最初の直面したものとセルを所与のレベルで戻す。
【0070】
PointInHDFCellAtFixedErrorTolerance
そのサーフェイス表現661が所与の許容誤差より小さいpを含むHDFセルを戻す。ツリーをルートセルからpを含む葉セルにトラバースし、所与の許容誤差に対するセルレベルをチェックする。そのサーフェイス表現誤差が所与の許容誤差より小さい第1のセルを戻す。
【0071】
HDFセルのコンテントを変更する方法
HDFのセルのコンテントを変更するために、上述のクエリ方法で点pを含むセルを決定した後、図5および図6に示すセルの要素の任意のものに新たなコンテントを直接割り当てることができる。
【0072】
距離およびパラメータを再構築して補間する方法(1002)
DistanceToSurfaceInSurfaceCell
HDFまたはセルの再構築方法を使用して、所与のサーフェイスセルにおける点pで距離フィールド値を計算する。
【0073】
DistanceToSurfaceInNonSurfaceCell
所与の許容誤差に対して、非サーフェイスセルにおけるサーフェイス表現誤差をチェックする。サーフェイス表現誤差が所与の許容誤差より小さい場合、DistanceToSurfaceInSurfaceCellを使用して距離フィールド値を計算する。サーフェイス表現誤差が所与の許容誤差より大きい場合、LocateClosestPoint−OnSurface方法(以下)を用いて最も近接する点を求め、pからその点までの距離を計算する。
【0074】
PointInsideOject
セルがサーフェイスセルである場合、DistanceToSurfaceInSurfaceCellを使用してpにおける距離値を計算する。計算された距離の印を内側/外側テストとして使用する。セルが非サーフェイスセルである場合、セルタイプ(内部または外部)を使用して、pがサーフェイスの内側であるか外側であるかを決定する。pがオブジェクトの内側であればTRUEを、そうでなければFALSEを戻す。
【0075】
ReconstructAppearanceParams
HDFまたはセルの再構築方法を使用して、所与のセル内のpにおいて外観パラメータを再構築する。
【0076】
ReconstructComputationalParams
HDFまたはセルの再構築方法を使用して、所与のセル内のpにおいて計算パラメータを再構築する。
【0077】
ComputeHDFGradient
HDFまたはセルの再構築方法を使用して、pにおいて距離フィールドの勾配を再構築する。たとえば、三線再構築方法および中心差勾配フィルタを使用して、コーナー頂点(0,0,0)と(1,1,1)とで画定される文字枠を有する直方体セル内の(x,y,z)点における勾配(dx,dy,dz)を、8つのコーナー頂点からのサンプリングされた距離値から以下のように計算し得る。
dx=(d100−d000)(1−y)(1−z)+(d110−d010)y(1−z)
+(d111−d011)yz+(d101−d001)(1−y)z
dy=(d010−d000)(1−x)(1−z)+(d110−d100)x(1−z)
+(d111−d101)xz+(d011−d001)(1−x)z
dz=(d001−d000)(1−x)(1−y)+(d101−d100)x(1−y)
+(d111−d110)xy+(d011−d010)(1−x)y
式中、dijkは、頂点(i,j,k)におけるサンプリングされた距離である。
【0078】
ComputeHDFPartialDerivatives
HDFまたはセルの再構築方法を使用して、bitVector“whichpartials”により特定された距離フィールドの一部導関数を計算する。「whichpartial」BitVectorにおける各ビットが、関連する位置武道関するを計算するかどうかを特定するように、すべての可能なまたは所望の一部導関数および/または混在型一部導関数計算が列挙される。
【0079】
オブジェクトサーフェイス上の最も近接する点を求める方法(1003)
LocateClosestPointOnSurface
本方法は、距離フィールドの距離値および勾配を使用して、最も近接のサーフェイス点を探索する。該方法は、最も近接のサーフェイス点の位置を戻す。1つのアプローチにおいて、勾配の方向の点pから投光して光線がサーフェイスを交差する位置を決定する。このアプローチは、pを含むセルにおけるサーフェイス表現誤差が十分小さい場合によく機能する。子のアプローチが位置許容誤差epsPositionErrorを満足しない場合、代替のアプローチにより、所与のサーフェイス−光線交差点を制約された最適アルゴリズムにおける開始点として使用する。この最適方法は、pと候補位置qの間の距離を最小化する。ここで、qは、サーフェイス上にあると制約される。制約された最適アプローチの必要をなくすために、HDFは、サーフェイス表現誤差が、本方法により照会される可能性のあるすべてのセル、たとえば、外部およびサーフェイスセルについて十分に小さくなるように生成される。
【0080】
HDFの分割、結合および切り捨て方法(1004)
PointBasedPartitionPredicate
「ObjDistAndParamFunction」を入力とすることで、テスト点における距離およびパラメータ値の集合{D1}を計算する。HDFまたはセルの再構築方法およびセルのデータを使用して、テスト点における距離およびパラメータ値の集合{D2}を計算する。集合{D1}と{D2}の差がすべて許容誤差epsDistおよびepsParamsより小さい場合、セルを分割する必要がないことを示すTRUEを戻す。
【0081】
CellBasedPartitionPredicate
予測点の集合および有効点の集合をセルのサンプル点から選択する。予測点および有効点の結合体は、セルのサンプル点すべてであり、これらの点の2つの集合の交差はNULL集合となるはずである。セルの再構築方法より低次の再構築方法Rを選択する。予測点に適用される方法Rを使用して有効点の位置における距離およびパラメータ値の集合{D}を計算する。集合{D}と祐子有頂天における実際の距離およびパラメータ値の差が、すべて許容誤差epsDistおよびepsParamsより小さい場合、セルを分割する必要がないことを示すTRUEを戻す。
【0082】
GradientBasedPartitionPredicate
「ObjDistAndParamFunction」を入力とすることで、テスト点における距離フィールドの勾配の集合{G1}を計算する。HDFまたはセルのComputeHDFGradient方法およびセルのデータを使用して、テスト点における距離フィールドの勾配の集合{G2}を計算する。
【0083】
集合{G1}と{G2}の差がすべて許容誤差epsGradientより小さい場合、セルを分割する必要がないことを示すTRUEを戻す。
【0084】
FeatureBasedPartionPredicate
セルのサイズを計算する。このサイズをそのセル内の距離フィールドの最小特徴のサイズと比較する。セルがセルのサイズより小さい特徴を含まなければ、セルを分割する必要がないことを示すTRUEを戻す。
【0085】
PartionCell
親セルの子を生成して初期化し、そのポインタを親セルに追加する・
【0086】
CombinePredicate
親セルのすべての子が内部セルであり、サーフェイス表現誤差および親セルのパラメータ値における予測された再構築誤差が許容誤差epsDistおよびepsParamsより小さい場合、親セルタイプを内部に設定し、TRUEを戻す。そうでなく、親セルのすべての子が外部セルであり、サーフェイス表現誤差および親セルのパラメータ値における予測された再構築誤差が許容誤差epsDistおよびepsParamsより小さい場合、親セルタイプを外部に設定し、TRUEを戻す。そうでなく、親セルの子の一部が内部であり、一部が外部であり、サーフェイス表現誤差および親セルのパラメータ値における予測された再構築誤差が許容誤差epsDistおよびepsParamsより小さい場合、親セルタイプをサーフェイスに設定し、TRUEを戻す。
【0087】
CombineCell
親セルをその子セルからのいずれの必要なデータにより変形し、親セルの子セルを削除する。
【0088】
BuildLevelOfDetailHDF
所与のHDFの切り捨て部分を戻す。HDFの切り捨て部分において、所与の許容誤差を満足する誤差セルの下部にあるツリーの枝を切り捨てる。
【0089】
BuildLevelOfDetailSurfaceCellList
所与の許容誤差にしたがって切り捨てられたHDFから葉ノードセルのリストを戻す。
【0090】
BuildMaxLevelHDF
所与の最大レベルより解像度が大きいツリーの枝を切り捨てた場合、所与のHDFの切り捨て部分を戻す。
【0091】
BuildMaxLevelSurfaceCellList
所与の最大レベルで切り捨てられたHDFから葉ノードセルのリストを戻す。
【0092】
BuildViewDependentHDF
本方法は、ビュー依存の許容誤差を満足するために切り捨てられたHDFを戻す。各セルの許容値は異なり、セルがビューワ、遠近法における突出(perspective projection)等からどれほど離れているかによって異なる。HDFをトップダウンでトラバースしながら、各セルについて、viewingパラメータ、たとえば、eyePositionおよびObjToSampleSpaceTransform、およびセルのサーフェイス表現誤差および外観パラメータにおける予測された再構築誤差を使用して最大サンプル空間誤差、最大法線誤差、および外観パラメータの最大誤差を計算する。セルの下部のHDFツリーの枝は、これらの予測された最大誤差が対応する許容誤差、たとえば、epssampleSpaceError;epsNormalおよびepsParamsより小さい場合、切り捨てられる。
【0093】
レンダリング方法(1005)
IsSurfaceCellBackFacing
サーフェイスセルのサンプル点におけるサンプリングされた距離値および再構築方法を使用して、サーフェイスセル内のサーフェイスがすべて光線方向から離れるように対向するかを決定する。本方法は、サーフェイスセル内のサーフェイスがすべて光線方向から離れるように対向する場合にTRUEを戻す。この情報は、後面間引き(culling)に使用され、レンダリング負荷を低減する。たとえば、セルのサーフェイスが、サンプリングされた距離値、再構築方法およびセルのサーフェイス表現誤差の何らかの組み合わせにより決定されるように十分に平面であれば、セルのサーフェイスがバックフェースしているかどうかを、セルの中心の勾配と光線方向のドット積を計算することにより決定し得る。セルのサーフェイスが十分に平面でなければ、セルはさらに分割され、本方法を再帰的に適用し得る。
【0094】
階層距離フィールドを生成する
次の2つの項では、上述した基本的方法を使用してどのようにHDFを生成し得るかを説明している。HDFは、トップダウンまたはボトムアップにより生成される。典型的には、HDFをパラメトリック形式またはオブジェクトのサーフェイスの暗示的表現から生成する場合にトップダウン順が使用され、HDFを画像または距離マップから生成する場合にボトムアップ順が使用され得る。
【0095】
トップダウン生成は、以下のように要約される。文字枠100内の空間は、等サイズのセル、たとえば、2Dでは四分円、3Dでは八分円等に再帰的に分割される。各レベルの分割において、オブジェクト101のサーフェイスがある特定のセルを交差するかを決定するためのテストがなされる。交差しなければ、セルに、外部または内部セルのいずれかとしてラベル付けされる。そうでなければ、所定レベルの解像度に達したか、すなわちセルの再構築方法を使用してセルのサンプル値から再構築されたサーフェイスが実際のサーフェイスの許容誤差内にあるかを決定するために、別のテストがなされる。なければ分割が繰り返され、そうでなければ、セルにサーフェイスセルとしてラベル付けされる。
【0096】
ボトムアップ生成は、所定レベルの解像度に達するまで文字枠内の空間を等サイズのセルに再帰的に分割することにより開始される。セルは、内部、外部またはサーフェイスセルをほぼラベル付けされる。次に、隣接するセルをグループ化したものは、組み合わされたセルのサーフェイス表現誤差が指定された許容誤差より小さい場合に再帰的に組み合わされる。指定された許容誤差は、アプリケーションによって、さらに組み合わされたセルが外部、内部またはサーフェイスセルであるかによって異なる場合がある。隣接のセルを組み合わせることができない場合、セルはツリーに葉セルとして残留する。
【0097】
トップダウン
初期化
図11は、本発明に係るHDFをトップダウン順に生成する方法1100を示す。方法1100への入力は、オブジェクト記述またはモデル1101である。該モデルは、たとえば、陰関数、ポリゴン、二立方体パッチ等とし得る。ステップ1110において、文字枠(B枠)1111が得られる。文字枠は、モデルから計算されてもよく、あるいは。文字枠は、モデルとともに明示的に記憶されてもよい。ステップ1120において、距離およびパラメータ関数DistAndParamFunc1121が得られる。この関数は、オブジェクトまたはモデルのサーフェイスまでの距離、外観パラメータおよび計算パラメータを決定するためにHDF生成中に使用される。ステップ1130は、文字枠ならびに距離およびパラメータ関数を使用してHDFのルートセル1131を割り当て、計算する。ルートセル1131は、生成方法1100のメインループ1120の入力である。
【0098】
メインループ
トップダウン生成方法1100のメインループ1120は、後述するいずれの入力セルについての他の方法により呼び出されてもよい。たとえば、編集ツールをHDFに適用する方法が、距離フィールドの一部をツールにより編集した後にメインループ1120を呼びだしてもよい。
【0099】
ステップ1140は、作業リストL1141に入力セル1131を追加する。ステップ1150は、現行のセルC1151を作業リストLから削除する。リストが空であれば、ステップ1190において生成が完了する。ステップ1160は、セルCをHDF構造に追加する。
【0100】
ステップ1170は、セルCをテストして、分割すべきかを決定する。一般に、該テストは、セルのサンプル値がオブジェクトサーフェイス、外観または計算パラメータ、すなわちディテールを特定された許容誤差であるepsDistおよびepsParams1172内で特定する化を決定する分割属性(predicate)に基づく。HDFを分割し、結合し、切り捨てる基本的方法(1004)における分割属性のいくつかの例を、「PointBasedPartitionPredicate」「CellBasedPartitionPredicate」としてとして図10に示す。これらの分割属性は、予測値を記憶または算出された距離およびパラメータ値とセルのテスト点において比較する。これらの分割属性では、テスト点の仕様、距離許容誤差(epsDist)およびParam得た許容誤差(epsParam)1172が入力として必要である。
【0101】
テスト1170は、TRUEまたはFALSE1171として評価する。テストがFALSEであれば(1173)、セルC1151は、十分に分割され、作業リストLの次のセルを削除することにより、ステップ1150において本プロセスは続行される。そうではなく、テストがTRUEであれば(1174)、セルC1151はステップ1180において分割されて子セル1181を生成し、メインループ1120によるさらなる処理のために子セルを作業リストLに追加することにより、ステップ1140において本プロセスは続行される
【0102】
子の生成方法の利点として、距離情報を必要な場合にのみ算出できるため、メモリおよび計算の節約になり、HDFは、距離フィールドの最高値がより高速のサンプリングレートを必要とする場合に任意の深さにさらに分割されるため、距離フィールドの表現において任意のディテール指向の精度を提供し得る。
【0103】
ボトムアップ
完全居住されたHDFを生成する
図12は、本発明に係るHDFをボトムアップ順に生成する方法1200を示す。トップダウン方法と同様に、方法1200への入力は、オブジェクト記述またはモデル1201である。該モデルは、たとえば、陰関数、ポリゴン、二立方体パッチ等とし得る。あるいは、オブジェクト記述を画像としてもよい。ステップ1210において、文字枠(B枠)1211が得られる。文字枠は、モデルから計算されてもよく、あるいは。文字枠は、モデルとともに明示的に記憶されてもよい。ステップ1220において、距離およびパラメータ関数DistAndParamFunc1221が得られる。この関数は、オブジェクトまたはモデルのサーフェイスまでの距離、外観パラメータおよび計算パラメータを決定するためにHDF生成中に使用される。
【0104】
ステップ1230において、文字枠1211ならびに距離およびパラメータ関数を使用して、ユーザ指定の最高解像度レベル1231で完全居住されたHDFを構築する。この際、高解像度レベルツリー構造の深さを制限し、入力オブジェクト記述が画像の場合、最高解像度を入力画像の解像度として選択し得る。HDFに完全居住するため、文字枠は、HDFの葉セルすえbてが特定された最高解像度レベルになるまで再帰的に分割される。セルのデータは、図5および図6に示すとおりである。
【0105】
完全居住のHDFのセルを組み合わせる
完全居住のHDFを生成した後、ある特定の解像度レベルのセルの子を可能な限り組み合わせることができる。これは、ボトムアップ順で以下のようになされる。
【0106】
ステップ1240において、現行の解像度レベル1241を特定された最高解像度レベル1231の1つ下のレベルに設定される。
【0107】
ステップ1250において、現行レベルのセルC1251をHDFから選択する。ステップ1260は、上述したCombinePredicate方法をセルCの子に適用して、子セルを組み合わせることができるかをテストする。子のテストは、TRUE1261またはFALSE1262として評価される。
【0108】
FALSEの場合、セルCの子は組み合わされず、現行レベルの次のセルが選択される。現行レベルで選択されるセルがこれ以上なければ(1252)、ステップ1270において、現行レベル1241を次に低い解像度レベルにデクリメントする。デクリメントされたレベルはテストされ、ステップ1275においてツリーのルートレベルであるかを決定する。TRUEの場合(1276)、ステップ1290においてHDF生成が完了される。そうでなくFALSEの場合(1277)、デクリメントされたレベルは現行レベルとなり、子のレベルのセルが処理される(1278)。
【0109】
COmbinePredicate方法がステップ1269においてTRUEと評価すると(1261)、セルCの子は、ステップ1280においてCombineCell方法を使用してCに結合される。
【0110】
図13および図14は、それぞれ結合前後の2DオブジェクトのHDFを表すツリーを示す。図3に示すように、塗りつぶされていないセルは外部セルを示し、黒く塗りつぶされているセルは内部セルを示し、線の入ったセルはサーフェイスセルを示す。
【0111】
図15(a)、(b)及び(c)は、それぞれ図13および図14のHDFを生成するために使用された2Dオブジェクト、結合されていないHDFおよび結合されたHDFのオブジェクトの文字枠の対応する分割を示す。ツリー構造の葉セルでもあるサーフェイスセルが従来技術のようにツリーの最高解像度レベルにあるように制限されなず、ここでは葉セルはいずれのレベルにあってもよいことは、図14および図15(c)から明らかとなるはずである。
【0112】
ボトムアップ方法は、簡単であるが、完全居住の階層距離フィールドを記憶するために十分なメモリが必要であり、完全居住の階層距離フィールドの生成が必要であり、最終的な解像度は、完全居住の階層距離フィールドの予め指定された最高解像度により制限される。
【0113】
HDFを標準サーフェイス表現に変換する
以下の項では、HDfを表現ジオメトリックサーフェイス表現に変換する4つの方法を説明する。
【0114】
HDFをサーフェイス表現に変換する方法
図16は、HDFを所望のサーフェイス表現に変換する方法1600を示す。所望の表現としては、ポリゴン(三角形)、二立方体パッチ、ポイントサンプル等が挙げられる。変換方法1600への入力1601は、HDF、許容誤差epsDistおよびepsParamsである。
【0115】
ステップ1610は、所与の許容誤差espDistおよびepsParamsと一致するディテールのレベル(LOD)を満足するサーフェイスセル1611を選択する。たとえば、これらのセルは、そのサーフェイス表現誤差が所与の許容誤差より小さくなるように選択される。ステップ1620は、選択されたセルそれぞれにN個の「点」でシードを与え、該セルを点で注釈する(1621)。シート点は、最終的には所望のサーフェイス表現のパラメトリックパッチの頂点(たとえば、三角形)になる。シード点の数は、画像から突出したときにはセルのサイズから、すなわちセルサイズからユーザにより選択される(1615)。シード点の初期位置は一定またはランダムとし得る。
【0116】
ステップ1630は、シード点の位置および数を変更して、サーフェイスエネルギーの総和を減少する。これは、点が削除可能であり、サーフェイスディテールの高い(たとえば、高曲率)の位置で点が追加可能であり、サーフェイスディテールの低い(たとえば、低曲率)の位置から点が削除可能であることを意味する。サーフェイスエネルギーは、通常、分子間間隔の関数1632であり、相互作用点からの寄与は通常制限された力間の作用の領域1631に亘ってのみゼロ以外である。この領域は、エネルギー関数が隣接する点にどの程度作用するかを決定する。ステップ1630の出力1633は、新たなシード点の位置およびステップ1630から生じるサーフェイスエネルギーの変化量であるサーフェイスエネルギーデルタで注釈されたサーフェイスセルである。
【0117】
ステップ1640は、サーフェイスエネルギーデルタがサーフェイスエネルギーの所与のしきい値変化量epsEnergy1641以下であるかを決定する。FALSEの場合(1642)、ステップ1630において続行され、TRUEになる(1643)まで点を変化する。TRUEの場合、出力は、その最終位置1644での点で注釈されたサーフェイスセルである。
【0118】
ステップ1650は、上述した基本的方法を使用して最終的な点位置で外観パラメータおよび距離フィールド勾配を再構築する。サーフェイス点、その位置、外観パラメータおよびサーフェイス法線の集合を仮定して、所望のサーフェイス表現1690は、ステップ1660において、サーフェイス再構築方法を使用して、属性をつけたサーフェイス点1651から生成される。たとえば、所望のサーフェイス表現が三角形であれば、周知のドロネー三角形分割方法1661を使用し得る。
【0119】
HDFをパラメトリックパッチに変換する方法
図17は、HDFをパラメトリックパッチ1790に変換する方法1700を示す。変換方法1700への入力1701は、HDFと許容誤差epsDistおよびepsParamsである。ステップ1702は、許容誤差epsPatchInitをユーザ選択または所与の距離許容誤差epsDistから導出することにより設定する。許容誤差epsPatchInitは、一般にepsDistより制限されないため、ステップ1710により選択されるサーフェイスセルは、所与の許容誤差epsDistを使用することで選択されたと思われる場合より低解像度レベルとなり得る。許容誤差が満たされない場合サーフェイスパッチを次にさらに分割するため、このより大きなサーフェイスパッチによる初期化は、必ずしも最終的なパラメトリックパッチの精度を制限しないがepsDistを使用して生成されたと思われるパッチより大きい可能性があり得る。
【0120】
ステップ1710は、許容誤差epsPatchInitおよびepsParamsと一致するディテールのレベル(LOD)を満たすサーフェイスセル1711を選択する。ステップ1720は、各サーフェイスセルの中心のパッチコーナー頂点を初期化し、各パッチコーナー頂点にその初期サーフェイスセル1721で注釈する。
【0121】
ステップ1730は、隣接するサーフェイスセルからのパッチ頂点をリンクしてベジェ三角サーフェイスパッチまたは二立方体ベジェパッチ1731を形成する。二立方体ベジェパッチが形成される場合、形成されるいずれの三角パッチを退化四辺形(degenerate quadrilaterals)として表すことができる。ステップ1730の出力1731は、その対応する初期サーフェイスセルにより注釈された頂点からなるパラメトリックパッチの被リンクメッシュおよびパッチ頂点間のリンクの表現である。
【0122】
ステップ1740は、隣接する頂点部分のエネルギー寄与、HDF同一サーフェイスからの頂点の距離および頂点をサーフェイスセルの内側に保持するための制約にしたがってメッシュ1731の総エネルギーを最小化することによって緩和されたサーフェイスメッシュ1741を生成する。サーフェイスメッシュの各頂点の位置を調整した後、サーフェイスエネルギーの変化をepsEnergy1742と比較する。サーフェイスメッシュエネルギーデルタがepsEnergyより大きい場合、位置調整を繰り返す。そうでなければ、緩和されたサーフェイスメッシュ1741を出力する。
【0123】
ステップ1750は、HDFの再構築された勾配から頂点法線を計算子、パッチ頂点およびその法線を出力する(1751)。
【0124】
ステップ1760は、パッチ頂点および法線からパラメトリックパッチを生成し、その対応するパッチがHDFにより表されるサーフェイスにどの程度適合するするかによって良好または不良として頂点をタグ付けする。各パッチについて、ステップ1760は、まず、パッチ頂点および法線からパッチのパラメトリック等式を生成する(1751)。次に、パラメトリック等式とHDF同一サーフェイスとの適合度の程度を計算する。パラメトリック表現とHDf同一サーフェイスとの適合度の誤差が所与の許容誤差epsFitを越える場合、パッチは、サーフェイスを良好に表現し、さらに分割される必要がある。この場合、パッチ頂点は不良としてタグ付けされ、そうでなければパッチ頂点は良好としてタグ付けされる。
【0125】
ステップ1770は、不良としてタグ付けされた頂点によりすべてのサーフェイスセルをさらに分割し、被リンクサーフェイスメッシュ1731を更新し(1771)、すべてのパッチ頂点が良好としてタグ付けされ最終的なパラメトリックパッチ1790が出力されるまで、ステップ1740において繰り返す(1772)。
【0126】
SurfaceNetを使用してHDFを変換する方法
図18は、SurfaceNetを使用してHDFを三角モデルに変換する方法1800を示す。変換方法1800への入力1801は、HDFおよび許容誤差epsDistおよびepsParamsである。
【0127】
ステップ1810は、諸四許容誤差epsDistおよびepsParamsと一致するディテールのレベル(LOD)を満足するサーフェイスセル1811を選択する。ステップ1820は、その初期サーフェイスセル1821で注釈されたN個のSurfaceNetノードで選択された各セルを初期化する。ノードの数Nは、画像に突出される婆陰はセルのサイズから、すなわちセルサイズから、ユーザにより選択され得る(1815)。
【0128】
ステップ1850は、隣接するSurfaceNetノード同士のリンクを確立することによりSurfaceNetを打ち立てる(1831)。このステップは、三角形の頂点がノードに対応し、かつ三角形の頂点がSurfaceNetのリンクにより決定される場合にはサーフェイス三角リストも生成する。
【0129】
ステップ1840は、総サーフェイスエネルギーを減少するようノードの位置を変更する。SurfaceNetエネルギーにおけるエネルギーへの寄与は、隣接ノードの間隔によるエネルギー1841、ノードとHDF同一サーフェイスの距離1842、ノードをその初期サーフェイスセルの内側に保持する制約1843を含み得る。SurfaceNetのノードをすべて調整した後のSurfaceNetエネルギーの変更は、「SurfaceNetエネルギーデルタ」1841である。
【0130】
ステップ1850は、SurfaceNetエネルギーデルタが所与の許容値epsEnergy1851より小さいかをテストする。FALSEの場合(1852)、ステップ1840において続行され、TRUE(1853)になるまでノード位置を変更する。TRUEになると(1853)、SurfaceNetノードの最終位置が出力される。
【0131】
ステップ1860は、上述した基本的方法を使用して外観パラメータおよび距離フィールド勾配を最終ノード位置で再構築して、最終的な三角頂点1861を生成する。これらの最終頂点をサーフェイス三角リスト1832に適用することによって、最終三角モデル1890が生成される。
【0132】
プリミティブルックアップテーブルを使用してHDFを変換する方法
図25は、四辺形プリミティブにより表されるサーフェイスの部分2500を示す。本図は、隣接するプリミティブの頂点が共有されない場合にパッチされたパラメトリック表現に現れる可能性のあるサーフェイス「ギャップ」または「亀裂」を示す。たとえば、2502および2503により共有される頂点2510が2501により共有されないため、プリミティブ2501、2502および2503の間にはギャップ2504がある。頂点2510を配置するために使用される同一サーフェイスの数値的誤差または曲率により、頂点2510は2501のエッジ2520上にない結果になり、この結果ギャップ2504が生じる。
【0133】
HDFをパラメトリック表現に変換する場合、ギャップは、HDFツリー構造において解像度が異なる隣接のセルから生成されたプリミティブ間には、ギャップが導入され得る。以下の方法では、プリミティブルックアップテーブルを使用してサーフェイスプリミティブを生成する際のギャップ問題に取り組む。
【0134】
図26は、プリミティブルックアップテーブル2630を使用してHDFをジオメトリックプリミティブのリスト2660に変換する方法2600を示す。変換方法2600への入力2601は、HDFおよび許容誤差epsDistおよびepsParamsである。
【0135】
ステップ2610は、所与の許容誤差espDistおよびepsParams2601と一致するディテールのレベル(LOD)を満足するHDFのサーフェイスセル2611を選択する。選択された各セルには、曖昧性−解像度コード(ACC)がマークされる。ACCは、サーフェイスセルの処理中にトポロジカルな曖昧性を解決するために使用される。
【0136】
ステップ2620は、プリミティブルックアップテーブル2630を使用して、各セルの同一サーフェイスおよびそのARC2621を表すプリミティブのリスト2631を生成する。サーフェイスセルおよびその関連のプリミティブ2640は、次にステップ2650に渡され、HDFツリーにおいて異なるレベルを有する隣接するセルの頂点を検証してサーフェイスのギャップを検出する。ギャップが存在する場合、追加のプリミティブを生成してギャップを埋める。これらの追加プリミティブをプリミティブのリスト2640に追加することで最終的なプリミティブのリスト2660を形成する。
【0137】
HDFが大きなセルを有する同一サーフェイスの平坦領域を表し、かつすべてのセルがサーフェイスの最も微細なディテールの解像度であることを必要としないため、本方法は、たとえば三角形のプリミティブ、そして定期的にサンプリングされたボリュームをプリミティブに変換するマーチングキューブ(「“マーチングキューブ:高解像度3Dサーフェイス構築アルゴリズム(Marching Cubes: A high Resolution 3D surface Construction Algorithm)", SIGGRAPH 1987会報, Computer Graphics, Vol. 21(4): pp. 163-169, 1987」を参照されたい)等の従来のアルゴリズムの生成を大幅に減らすことができる。
【0138】
レンダリング
以下の項では、階層距離フィールドをレンダリングする4つの方法を説明する。
【0139】
分析投光法を使用してHDFをレンダリングする
図19に示すように、HDFをレンダリングする1つの方法1900は分析投光法を使用する。ステップ1910は、視点1901および画像面パラメータ1902を入力として光線1911を生成する。ステップ1920は、HDFを通して投光する。光線がHDFを通過すると、サーフェイスセルが検出される。HDFにおいてサーフェイスセルが見られるレベルで、サーフェイスセルのサイズを決定するために文字枠パラメータが使用される。このステップの出力はサーフェイスセル1921および関連の光線1922である。
【0140】
ステップ1930は、上述した基本的方法「DistanceToSurfaceInSurfaceCell」を使用する等式発生器を使用して光線に沿って距離フィールドを再パラメータ化する。ステップ1940は、光線1922がサーフェイスセルにおいて距離フィールドの同一サーフェイスを交差する点1941を識別する。ステップ1950は、上述した基本的方法のいくつかを使用して、交差線1941においてセル1921の外観パラメータ、たとえば、距離フィールドの勾配を生成する。
【0141】
分析陰影関数1960は、光線交差点1941、これらの交差点の外観パラメータ1951およびグラフィックス系により特定される光位置および色1952等の写景パラメータからのそれぞれの画素について色および不透明度値1961を生成する。値1961は、ステップ1970において合成され、ディスプレイ1980に送信可能な画像1971を生成する。
【0142】
被サンプリング投光法を使用してHDFをレンダリングする
図20に示すように、方法2000は、被サンプリング投光法を使用してHDFをレンダリングする。ステップ2010は、視点2001および画像面パラメータ2002を入力として光線2011を生成する。ステップ2020は、HDFを通して投光する。光線がHDFを通過すると、サーフェイスセルが検出される。HDFにおいてサーフェイスセルが見られるレベルで、サーフェイスセルのサイズを決定するために文字枠パラメータが使用される。このステップの出力はサーフェイスセル2021および関連の光線2022である。
【0143】
ステップ2040は、光線サンプルレート2041を入力として光線サンプル点2042を生成する。ステップ2050は、セル2021を入力とし、かつ光線サンプル点を入力として上述した基本的方法を使用して距離および外観パラメータを生成する。
【0144】
被サンプリング陰影関数2060は、光線サンプル点2042、これらのサンプル点の距離および外観パラメータ2051およびグラフィックス系により特定される光位置および色2052等の写景パラメータからのそれぞれの画素について色および不透明度値2061を生成する。値2061は、ステップ2070において合成され、ディスプレイ2080に送信可能な画像2071を生成する。
【0145】
近似ジオメトリプリミティブを使用してHDFをレンダリングする
図21に示すように、方法2100は、ジオメトリプリミティブを使用してHDFをレンダリングする。ステップ2110は、カメラパラメータ2101、HDFおよび許容誤差epsDistおよびepsParamsを入力として取る。所与の許容誤差とともに任意のビュー依存の許容誤差を満足するサーフェイスセルは、被リンクセルリスト2111に記憶される。
【0146】
ステップ2120は、被リンクセルリンク2111のサーフェイスセルをジオメトリプリミティブ2122のリストに変換する。プリミティブ2122は、たとえば、頂点が色、法線、テクスチャ座標等で注釈された三角形とし得る。変換2121の方法は。上述した変換方法の1つとし得る。
【0147】
たとえばOpenGLのレンダリングエンジン2170は、レンダリング状態2160を入力として表示(2180)可能な画像2171を生成する。
【0148】
階層距離フィールドを編集する
図23は、HDFを編集するツールを適用する方法2300を示す。ステップ2310は、オブジェクトHDF2311を入力とし、かつツール2312の記述をHDF、陰関数またはその他の表現のいずれかとして取り、オブジェクトHDF2311およびツール表現2312が交差する領域の編集用文字枠2313を生成する。ステップ2320は、この交差領域に対応するオブジェクトHDFの編集されたサブセットを生成し、2330においてオブジェクトHDF2322の現行の対応サブセットを交換する。
【0149】
ステップ2320は、各セル内のサンプル点の距離値が以下のように計算されるという違いはあるが、上述したトップダウン生成方法1220のメインループ等の生成方法を使用し得る。
【0150】
生成中に考察される各セルの各サンプル点2321は、上述した基本的な方法のいくつかを使用して2340および2350により照会され、サンプル点2321におけるオブジェクト2311およびツール2312の距離値を求める。次に、ステップ2360の編集関数にしたがってオブジェクト距離値dO2341およびツール距離値dT2351を組み合わせる。編集関数のいくつかの例として、対応する編集関数dnew=min(dO,−dT)として、ツール形状をオブジェクト形状から差し引いたもの、対応する編集関数dnew=min(dO,dT)として、オブジェクト形状とツール形状を交差したもの、対応する編集関数dnew=max(dO,dT)として、ツール形状をオブジェクト形状に追加したもの、がある。サーフェイスの平滑性または外観パラメータに影響を及ぼす他の編集関数も可能である。
【0151】
得られた新たな距離値である新たなdO2361は、生成2320において使用されるサンプル点の編集されたオブジェクトのサンプル値である。
【0152】
階層距離フィールドを彫塑するアプリケーション
図22に示すように、HDFは、編集パラメータ2201を入力として取り、かつ新たなツール形状を打ち立て(2211)、現行のツール形状を変更(2212)し、ツール位置および方位を変更(2213)し、ツール動作を変更(2214)し、ツールをHDFに適用(2215)するよう要求を出す編集制御関数2210を含む方法2200にしたがって、ツールを適用することにより編集可能である。
【0153】
新たなツール形状を打ち立てる
ステップ2220は、要求されたツール形状をツール形状データベース2221から読み出す。ツール形状は、たとえば三角形、二立方体パッチ、陰関数等の標準的な一般形式としてデータベースに記憶され得る。ツール形状は、たとえば、ツール2222のHDF表現を生成するパラメータとして、またはツール2223の陰関数表現(IF)を生成するパラメータとして読み出される。
【0154】
ステップ2230は、HDFツール2231をツールパラメータ2222から生成し、ステップ2240は、HDF陰関数ツール2241をツールパラメータ2223から生成する。いずれの場合においても、ステップ2250は、データベース2251にツール形状を記憶する。
【0155】
現行のツール形状を変更する
現行のツール形状を変更するために、要求されたツールは、ツールデータベース2251からメモリマネージャ2250を介して検索され、ステップ2260は、ツール状態2270の新たな形状タイプおよび表現2259を背呈する。ツール状態2270として、形状タイプ(たとえば、HDFタイプかIFタイプか)、ツールの表現(たとえば、ツールのHDFかIFか)、編集演算、ツール位置および方位等が挙げられる。
【0156】
ツール状態を変更する
ツールの位置または方位およびツールの編集演算は、ツール状態2270においてそれぞれステップ2280および2281を介して変更可能である。
【0157】
ツールを適用する
ステップ2300は、所定の状態2270を有するツールを適用してHDFを編集する。編集されたHDFは、編集された領域2294の文字枠等の所定のレンダリングパラメータにしたがってレンダリング可能である(2295)。
【0158】
階層距離フィールドの彫塑システム
図24は、HDFを彫塑するアプリケーションのシステム2400を示す。2410において、アプリケーションまたは該アプリケーションのユーザは、アプリケーションにより彫塑される初期HDFを生成するパラメータ2421、レンダリングのパラメータ2423、編集パラメータ2422、編集されたHDFを他の標準形式に変換するパラメータ2424等の該システムのパラメータを設定し得る。また、ステップ2410は、初期HDFを生成する、あるいは、レンダリング、編集または標準形式への変換を実行するよう本システムに要求2411を開始することも可能である。これらの要求および関連のパラメータは、ディスパッチャ2420により生成方法1100、編集方法2200、レンダリング方法1900および変換方法1500に適宜分配される。これらの方法は、アプリケーションの要求に応じてHDFに作用する。
【0159】
色階調を階層距離フィールドで表す
コンピュータグラフィックスの一部は、スキャナ、ディスプレイモニタ、プリンタ等の入出力装置上でカラー再生物に対処する。カラーは、たとえば、色合い等のスポットカラー、レンダリングソフトウェアにより生成される合成カラー、スキャナから写真のディジタル化されたカラーがあり得る。一般に、入出力装置は、すべての可視色のサブセットのみを受けて示すことが可能である。この各色の弓状または円弧状のものを装置の色階調と呼ぶ。ある特定のレンダリングシステムまたは入力システムにより生成された色は、目的の表示装置の階調に属してもよく、またされなくてもよい。色がこの階調に属さない場合、目的の表示装置により正しく再生されず、不本意な結果を引き起こす。
【0160】
この問題に対処するために、色をテストして目的のレンダリング装置の階調に属するかどうかを決定することができることが好ましい。また、アプリケーションにより、代替の色を示唆するか、あるいはデバイスカラーの階調に適合するよう階調外の色を自動的に修正することも望ましい。数百万色を含む高解像度ディジタル化画像の場合、テストまたは修正プロセスは非常に高速でなければならない。さらに、色階調に属するように色を変更する場合、元のレンダリングまたは入力システムの元の意図または色の美的感覚と一致するようになされなければならない。
【0161】
従来技術では、色空間における離散サンプル点における「内側階調」と「外側階調」とのブーリアンテスト結果を符号化するデバイスカラーの階調のために、三次元ルックアップテーブル(LUT)が生成される。LUTの各次元または軸は、RGB、HSV等の三刺激色のチャネルを表す。LUTを使用して所与の色をテストする場合、LUTのサンプル点に色がなければ、補間体系(たとえば、三線補間)を使用してLUTの隣接するサンプル点からのブーリアンテスト結果が平均され、所与の色のブーリアンテスト結果を予測する。従来技術では、ブーリアンテストの結果が「内側階調」である場合、色がそのまま表示される。結果が「外側階調」である場合、アプリケーションは、手動による補間を行ってレンダリングカラーを調整する必要があるか、あるいは、何らかの代わりのアルゴリズムを用いて所与の色を装置の色階調に含まれる色と交換することをユーザに警告する。
【0162】
上記の従来技術の有する問題の1つは、LUTが、基本的にサンプリングされた二値のボリュームとして色の色階調を表すことである。ここで、サンプル値は、「内側階調」または「外側階調」のいずれかとし得る。上述したように、サンプリングされたボリュームのサンプル値がオブジェクトサーフェイスで急激に変化すると、ボリュームが十分に高速のサンプリングレートでサンプリングされない限り、サーフェイスを厳密に再構築することができない。実際、従来技術のカラーLUT等サンプリングされた二値のボリュームは、空間周波数成分が無限であり、サーフェイスは決して厳密に再構築されることがない。この結果、ブーリアンLUTテストは、装置の色階調のサーフェイス付近の色には色階調内側と色階調外側の厳正なテストを行うことができず、表示された画像には色の誤りが顕著である。
【0163】
Lindbloomに対して1998年4月14日付で発行された米国特許題5,740,076号「グラフィカルデータ処理システムにおける色階調を記述するシステム(System for describing a color gamut in a graphical data processing system)」において、上述の問題に一部対処している。ここで、非連続関数ではなく連続関数のサンプルが居住した三次元LUTを使用することで、色階調が分析される。選び出された関数は、サンプルカラーと色階調のサーフェイスの最も近接カラーとの差を符号化したものである。言い換えれば、LUTは、装置の色階調のサーフェイスの距離マップを記憶する。
【0164】
定期的にサンプリングされる距離マップを使用してデバイスカラーの階調の距離フィールドを表すことは、距離マップについて上述した問題にすべて当てはまる。さらに、本システムにおいて、所与の入力カラーを分析して、グラフィカル処理システムにより使用される3つの出力、すなわち、階調面からの補間された距離、「内側階調」と「外側階調」とのブーリアンテスト結果、そして多数の(少なくとも2つ)の距離範囲の1つに距離を分類すること、を生成する。これらの出力のそれぞれは、レンダリングシステムにおいてユーザが行う色の変更をガイドするためにグラフィカルインタフェースにおいて使用される。本システムは、階調の外にある所与の色を階調内の色と交換する方法を含まない。
【0165】
図27は、色の階調2701を表すためにどのようにディテール指向型階層距離フィールド2700を利用し得るかを示す。このアプリケーションでは、セルの値は、階調面の最も近接する点までの印を付けた距離を表す。利点として、階調HDFは。従来技術に比べてはるかに良好なサーフェイスのディテール2702をメモリ費用を低下して表すことができる。上述した基本的な方法の一部を使用して、所与のカラーが色の階調の内側にあるか、あるいは外側にあるかをテストすることが可能であり、所与のカラーが色調の外側にある場合、色の色調面の最も近接する点を見つけ、これをカラー代用アルゴリズムにより使用して所与のカラーを任意に交換することができる。
【0166】
階層距離フィールドの利点
本発明に係る階層距離フィールドは、パラメトリックサーフェイスと、陰関数と、サンプリングされたボリュームのそれぞれの利点を組み合わせたものである。HDFは、スパースデータ構造を使用してオブジェクト内部を所望のレベルの解像度に表すことができる。HDFにより、オブジェクトの内側と外側を区別化することが容易である。HDFは、その空間編成により従来のサーフェイス表現への変換が容易かつ自然である。サンプリングされたボリュームにおけるHDF表現を使用することで、従来技術の方法の強度ベースの表現に比べて正確かつ厳密なサーフェイス表現をより低速のサンプリングレートで行うことが可能である。固定された解像度ではなく局所的なサーフェイスディテールに適度にサンプリングすることによって、HDFは、比較的平坦面付近でも低速のサンプリングレートとなり、この結果、メモリ要件が大幅に低減する。HDFデータ構造は、メモリ記憶およびアクセスを効率よく提供する。HDFは、大きなオブジェクトの実践的なサンプリング表現を微細なサーフェイスディテールで可能とする。たとえば、1メートル程度の寸法を有する比較的平坦なオブジェクトは、該オブジェクトがミリメートルの解像度でサーフェイスディテールをいくらか有する場合であってもHDFにより効率よく表される。
【0167】
具体的な用語および例を用いることで本発明を説明した。本発明の精神および範囲内で他の様々な適用および変形がなされることが理解されるはずである。したがって、本発明の真の精神および範囲内に包含されるものとしてこのような変更および変形をすべて網羅することを添付の特許請求の範囲の目的とする。
【図面の簡単な説明】
【図1】 本発明に係るディテール指向型階層距離フィールド(HDF)により表現されるオブジェクトを囲む文字枠である。
【図2】 本発明に係るHDFの分割セルを囲む文字枠である。
【図3】 好ましい実施形態に係るHDFのツリー図である。
【図4】 HDFのヘッダおよびセルデータのブロック図である。
【図5】 HDFヘッダのブロック図である。
【図6】 セルデータのブロック図である。
【図7】 HDFセルおよびセルデータをリンクするブロック図である。
【図8】 HDFを格納するメモリのブロック図である。
【図9】 リンクリストとしての、HDFを格納するメモリのブロック図である。
【図10】 基本HDF操作のブロック図である。
【図11】 HDFを形成するトップダウン方法のフロー図である。
【図12】 HDFを形成するボトムアップ方法のフロー図である。
【図13】 完全居住のHDFのグラフである。
【図14】 組み合わせた後のHDFのグラフである。
【図15】 組み合わされなかったサーフェイスセルと組み合わされたサーフェイスセルのブロック図である。
【図16】 シードを与えられた頂点を用いてHDFを変換する方法のフロー図である。
【図17】 パラメトリックパッチを用いてHDFを変換する方法のフロー図である。
【図18】 サーフェイス網を用いてHDFを変換する方法のフロー図である。
【図19】 分析投光法を用いてHDFを変換する方法のフロー図である。
【図20】 サンプリングされた投光法を用いてHDFを変換する方法のフロー図である。
【図21】 近似ジオメトリプリミティブを用いてHDFを変換する方法のフロー図である。
【図22】 HDFを編集する方法のフロー図である。
【図23】 編集ツールをHDFを適用する方法のフロー図である。
【図24】 HDFを彫塑する方法のフロー図である。
【図25】 異なる解像度における隣接セルの図である。
【図26】 プリミティブルックアップを用いてHDFを変換する方法のフロー図である。
【図27】 色の階調を表すHDFの分割セルを囲む文字枠の図である。
【符号の説明】
100 文字枠、101 オブジェクト、500 HDFヘッダ、600 セルデータ。

Claims (1)

  1. 色階調をディテール指向型階層距離フィールドとして表す方法であって、
    前記色階調について距離フィールドを生成するステップと、
    前記距離フィールドを文字枠で囲むステップと、
    前記囲まれた連続距離フィールドを、各セルが前記連続距離フィールドのディテールに対応するサイズと前記文字枠に対する位置を有する複数のセルに分割するステップと、
    各セルについて、前記囲まれた連続距離フィールドの1組の値をサンプリングするステップと、
    各セルについて、前記セルにより囲まれた連続距離フィールドの部分を再構築する方法を特定するステップと、
    各セルについて、前記サイズ、前記位置、前記1組の値、および前記再構築方法をメモリに記憶して、前記セルの再構築方法を前記値に適用することによって前記色階調の再構築を可能とするステップとを含み、
    前記分割ステップは、
    各セルにより囲まれる前記距離フィールドの部分が実質的に前記再構築方法により所定のサーフェイス表現誤差に再構築できるように、前記文字枠を等サイズのセルに分割するステップと、
    隣接のセルのグループをより大きなセルにボトムアップ方式で結合して、前記より大きなセルにより囲まれる前記距離フィールドの部分が実質的に前記サーフェイス表現誤差に再構築できるようにするステップとをさらに含む、
    色階調をディテール指向型階層距離フィールドとして表す方法。
JP2000200843A 1999-08-06 2000-07-03 色階調をディテール指向型階層距離フィールドとして表す方法 Expired - Fee Related JP4494597B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/369,819 US6483518B1 (en) 1999-08-06 1999-08-06 Representing a color gamut with a hierarchical distance field
US09/369819 1999-08-06

Publications (2)

Publication Number Publication Date
JP2001052209A JP2001052209A (ja) 2001-02-23
JP4494597B2 true JP4494597B2 (ja) 2010-06-30

Family

ID=23457064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000200843A Expired - Fee Related JP4494597B2 (ja) 1999-08-06 2000-07-03 色階調をディテール指向型階層距離フィールドとして表す方法

Country Status (3)

Country Link
US (1) US6483518B1 (ja)
EP (1) EP1074942A3 (ja)
JP (1) JP4494597B2 (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771263B1 (en) * 1998-10-13 2004-08-03 Gmd-Forschungszentrum Informationstechnik Gmbh Processing volumetric image data with shadows
US6603484B1 (en) * 1999-08-06 2003-08-05 Mitsubishi Electric Research Laboratories, Inc. Sculpting objects using detail-directed hierarchical distance fields
US7050196B1 (en) * 2000-06-20 2006-05-23 Eastman Kodak Company Color printer calibration
US6571146B1 (en) * 2000-07-28 2003-05-27 Autodesk, Inc. Method for updating feature recipes in a history-based solid model
US6670962B2 (en) * 2001-03-16 2003-12-30 Mitsubishi Electric Research Laboratories, Inc. Surface following interaction method for adaptively sampled distance fields
US6943789B2 (en) * 2001-03-16 2005-09-13 Mitsubishi Electric Research Labs, Inc Conversion of adaptively sampled distance fields to triangles
US6608629B2 (en) * 2001-03-16 2003-08-19 Mitsubishi Electric Research Laboratories, Inc. Distance based constraints for adaptively sampled distance fields
US6741246B2 (en) * 2001-03-16 2004-05-25 Mitsubishi Electric Research Laboratories, Inc. Hierarchical control point editing of adaptively sampled distance fields
US6628280B2 (en) * 2001-03-16 2003-09-30 Mitsubishi Electric Research Laboratories, Inc. Method for selectively regenerating an adaptively sampled distance field
US7102636B2 (en) * 2001-03-31 2006-09-05 Intel Corporation Spatial patches for graphics rendering
US6639599B2 (en) * 2001-04-12 2003-10-28 Mitsubishi Electric Research Laboratories, Inc. Method and system for dynamically generating view dependent rendering elements from a static adaptively sampled distance field
US7123277B2 (en) 2001-05-09 2006-10-17 Clairvoyante, Inc. Conversion of a sub-pixel format data to another sub-pixel data format
US7307646B2 (en) * 2001-05-09 2007-12-11 Clairvoyante, Inc Color display pixel arrangements and addressing means
US6828965B2 (en) * 2001-05-22 2004-12-07 Mitsubishi Electric Research Labs, Inc. Regularization of implicial fields representing objects and models
US6825840B2 (en) * 2002-06-06 2004-11-30 Nvidia Corporation System and method of adjusting ray origins when shading vertices with rays
KR100467600B1 (ko) * 2002-07-30 2005-01-24 삼성전자주식회사 컬러 정정 방법
US6917361B2 (en) * 2002-09-19 2005-07-12 Ugs Corp. Method and system for computing a transverse derivative field along a curve on a surface
US7046256B2 (en) 2003-01-22 2006-05-16 Clairvoyante, Inc System and methods of subpixel rendering implemented on display panels
US7167186B2 (en) 2003-03-04 2007-01-23 Clairvoyante, Inc Systems and methods for motion adaptive filtering
US20040196302A1 (en) 2003-03-04 2004-10-07 Im Moon Hwan Systems and methods for temporal subpixel rendering of image data
US7176926B2 (en) * 2003-03-25 2007-02-13 Mitsubishi Electric Research Laboratories, Inc. Method for animating two-dimensional objects
US7042458B2 (en) * 2003-03-25 2006-05-09 Mitsubishi Electric Research Laboratories, Inc. Methods for generating an adaptively sampled distance field of an object with specialized cells
US6980219B2 (en) * 2003-10-21 2005-12-27 Clairvoyante, Inc Hue angle calculation system and methods
US7176935B2 (en) * 2003-10-21 2007-02-13 Clairvoyante, Inc. Gamut conversion system and methods
US7598961B2 (en) 2003-10-21 2009-10-06 Samsung Electronics Co., Ltd. method and apparatus for converting from a source color space to a target color space
US7525526B2 (en) 2003-10-28 2009-04-28 Samsung Electronics Co., Ltd. System and method for performing image reconstruction and subpixel rendering to effect scaling for multi-mode display
US7084923B2 (en) 2003-10-28 2006-08-01 Clairvoyante, Inc Display system having improved multiple modes for displaying image data from multiple input source formats
US7583263B2 (en) * 2003-12-09 2009-09-01 Siemens Product Lifecycle Management Software Inc. System and method for transparency rendering
US7301543B2 (en) 2004-04-09 2007-11-27 Clairvoyante, Inc. Systems and methods for selecting a white point for image displays
US7619637B2 (en) * 2004-04-09 2009-11-17 Samsung Electronics Co., Ltd. Systems and methods for improved gamut mapping from one image data set to another
US7248268B2 (en) 2004-04-09 2007-07-24 Clairvoyante, Inc Subpixel rendering filters for high brightness subpixel layouts
US20060015302A1 (en) 2004-07-19 2006-01-19 Fang Gang P Method for generating and evaluating a table model for circuit simulation
JP4557629B2 (ja) * 2004-08-06 2010-10-06 株式会社東芝 画像処理方法、画像処理プログラム、及び画像処理コンピュータ
US7592996B2 (en) 2006-06-02 2009-09-22 Samsung Electronics Co., Ltd. Multiprimary color display with dynamic gamut mapping
US7876341B2 (en) 2006-08-28 2011-01-25 Samsung Electronics Co., Ltd. Subpixel layouts for high brightness displays and systems
US8018476B2 (en) 2006-08-28 2011-09-13 Samsung Electronics Co., Ltd. Subpixel layouts for high brightness displays and systems
WO2008039764A2 (en) 2006-09-30 2008-04-03 Clairvoyante, Inc. Systems and methods for reducing desaturation of images rendered on high brightness displays
US7940279B2 (en) * 2007-03-27 2011-05-10 Utah State University System and method for rendering of texel imagery
US8174528B1 (en) * 2007-10-01 2012-05-08 Lucasfilm Entertainment Company Ltd. Retaining a surface detail
US9424370B2 (en) * 2009-03-12 2016-08-23 Siemens Product Lifecycle Management Software Inc. System and method for spatial partitioning of CAD models
US8010328B2 (en) * 2009-05-19 2011-08-30 Mitsubishi Electric Research Laboratories, Inc. Method for simulating numerically controlled milling using adaptively sampled distance fields
US8854365B2 (en) * 2010-01-15 2014-10-07 Microsoft Corporation Rendering parametric surface patches
US10534805B2 (en) * 2013-02-28 2020-01-14 Netapp, Inc. Workload identification
JP6353896B2 (ja) * 2013-04-08 2018-07-04 ドルビー・インターナショナル・アーベー ルックアップ・テーブルを符号化する方法および復号する方法、並びに対応する装置
US11910026B2 (en) 2018-09-28 2024-02-20 Sony Corporation Image processing apparatus and method
US11688126B2 (en) 2021-02-09 2023-06-27 Canon Medical Systems Corporation Image rendering apparatus and method
US20230186430A1 (en) * 2021-12-13 2023-06-15 Mitsubishi Electric Research Laboratories, Inc. Systems and Methods for Image Transformation using Distance Field Procedures

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01216490A (ja) * 1987-12-24 1989-08-30 General Electric Cgr Sa オクトリーコード化された物体の三次元表示法とこの方法を応用した装置
JPH05290148A (ja) * 1992-04-14 1993-11-05 Mitsubishi Precision Co Ltd 模擬視界発生における地形モデルの作成方法、及び模擬視界発生における地形モデルの表示方法。
JPH11175744A (ja) * 1997-11-06 1999-07-02 Mitsubishi Electric Inf Technol Center America Inc ボリュームデータ表現システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791583A (en) 1987-05-04 1988-12-13 Caterpillar Inc. Method for global blending of computer modeled solid objects using a convolution integral
US5542036A (en) 1994-07-05 1996-07-30 General Electric Company Implicit modeling of swept volumes and swept surfaces
US5611030A (en) * 1994-09-16 1997-03-11 Apple Computer, Inc. Subjectively pleasing color gamut mapping in a color computer graphics system
US5740076A (en) 1995-11-30 1998-04-14 Candela, Ltd. System for describing a color gamut in a graphical data processing system
US5982992A (en) * 1997-09-05 1999-11-09 Xerox Corporation Error diffusion in color printing where an intra-gamut colorant is available
US6400843B1 (en) * 1999-04-22 2002-06-04 Seiko Epson Corporation Color image reproduction with accurate inside-gamut colors and enhanced outside-gamut colors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01216490A (ja) * 1987-12-24 1989-08-30 General Electric Cgr Sa オクトリーコード化された物体の三次元表示法とこの方法を応用した装置
JPH05290148A (ja) * 1992-04-14 1993-11-05 Mitsubishi Precision Co Ltd 模擬視界発生における地形モデルの作成方法、及び模擬視界発生における地形モデルの表示方法。
JPH11175744A (ja) * 1997-11-06 1999-07-02 Mitsubishi Electric Inf Technol Center America Inc ボリュームデータ表現システム

Also Published As

Publication number Publication date
EP1074942A2 (en) 2001-02-07
EP1074942A3 (en) 2003-08-20
US6483518B1 (en) 2002-11-19
JP2001052209A (ja) 2001-02-23

Similar Documents

Publication Publication Date Title
JP4494597B2 (ja) 色階調をディテール指向型階層距離フィールドとして表す方法
JP4563554B2 (ja) モデルとして表現されるオブジェクトを彫塑する方法
US6396492B1 (en) Detail-directed hierarchical distance fields
US7027050B1 (en) 3D computer graphics processing apparatus and method
Cohen et al. Appearance-preserving simplification
US6208347B1 (en) System and method for computer modeling of 3D objects and 2D images by mesh constructions that incorporate non-spatial data such as color or texture
US6724393B2 (en) System and method for sculpting digital models
JP2009064447A (ja) 適応的サンプル距離フィールド生成方法及びその装置
JP2002324250A (ja) コンピュータ実現ツールを用いてグラフィクスオブジェクトを編集する方法
US20020130854A1 (en) System and method for converting range data to 3D models
JP4140688B2 (ja) コンピュータ実現ツールを用いてグラフィクスオブジェクトのサーフェスを編集するコンピュータで実現される方法
US6741246B2 (en) Hierarchical control point editing of adaptively sampled distance fields
Ray et al. Hierarchical least squares conformal map
JP2002334347A (ja) グラフィクスモデルの適応的サンプル距離フィールドを三角形モデルに変換する方法
JP2002324252A (ja) グラフィクスオブジェクトをモデル化する方法
JP2002352270A (ja) モデルの適応的サンプル距離フィールドを訂正する方法
JP2655056B2 (ja) テクスチャデータ生成装置
Kim et al. Multiresolution model generation with geometry and texture
Kim et al. Mesh simplification with vertex color
Boubekeur et al. Interactive out-of-core texturing using point-sampled textures
Guthe Appearance preserving rendering of out of core polygon and NURBS models
Reiter Textured surface modeling using Bezier triangles.
Lin et al. Consistent Mesh Parametrization Using Quinary Patch Subdivision
Botsch et al. Interactive Out-Of-Core Texturing with Point-Sampled Textures

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100308

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100406

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100408

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees