JP3352181B2 - 画像データ処理方法および装置 - Google Patents

画像データ処理方法および装置

Info

Publication number
JP3352181B2
JP3352181B2 JP27817693A JP27817693A JP3352181B2 JP 3352181 B2 JP3352181 B2 JP 3352181B2 JP 27817693 A JP27817693 A JP 27817693A JP 27817693 A JP27817693 A JP 27817693A JP 3352181 B2 JP3352181 B2 JP 3352181B2
Authority
JP
Japan
Prior art keywords
bezier
curvature
patch
curve
control points
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 - Lifetime
Application number
JP27817693A
Other languages
English (en)
Other versions
JPH07311856A (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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of JPH07311856A publication Critical patent/JPH07311856A/ja
Application granted granted Critical
Publication of JP3352181B2 publication Critical patent/JP3352181B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は画像データを処理する画
像データ処理装置及び方法、特に、3次元画像を表示す
る装置及び方法に関する。また、本発明は、オブジェク
トが領域により定義され、その領域が複数のポリゴンに
細分化されるという対話型グラフィックシステムにも関
するものである。
【0002】
【従来の技術】3次元空間内の要素を定義するデータに
応じ、2次元画像を生成するグラフィックシステムが知
られている。最終的な2次元結果は、モニタされたり、
あるいは画像転写媒体上に印刷されたりする彩色された
画素(以下ピクセル)からなる。
【0003】3次元空間を表すデータを発生するような
対話型グラフィックシステムにおいて、オブジェクトが
入力コマンドに応じて3次元空間内で動くように見え
る。従って、そのようなシステムにおいて、装置は、3
次元空間を表すデータから2次元画像にレンダリングす
ることが要求される。さらに、この装置は、オブジェク
ト、光源、視点などの位置及び/又は方向が入力コマン
ドに応じて変化するたびに、前記動作を反復的に実行す
ることが要求される。典型的には、対話型環境におい
て、装置は毎秒5から20の出力画像を生成することが
要求される。
【0004】既知の装置においては、電算機のオーバー
ヘッドは多大であり、これが3次元対話型システムに重
大な制約を与えてきた。数々の技術が本願出願人により
開発されてきたが、これらのうち幾つかは3次元対話型
グラフィックシステムにかかるオーバーヘッドを低くす
る技術である。これらの技術により、ハードウェアを形
成することなく、3次元対話型グラフィックシステムが
生産できるようになった。
【0005】このようなシステムにおいては、対象とな
るジオメトリは変換マトリックスに応じて変換される。
ジオメトリは複数のポリゴンの頂点により定義される。
又、オブジェクトを変換するために、各頂点をマトリッ
クス変換することが必要である。従って、数多くのポリ
ゴンがあるとき、オブジェクトを形成する全ての頂点を
変換するためには、膨大な計算量となる。
【0006】また、頂点を変換する代わりに、ポリゴン
となるオブジェクトの全領域を変換し、その変換後、レ
ンダリングする方法も知られている。この方法では、数
多くの頂点を変換する必要はない。十分なデータが、変
換後、オブジェクトを復元するように変換される。
【0007】
【発明が解決しようとする課題】ベジェ曲線で定義さ
れ、ベジェパッチとして参照される領域は、この種の変
換に適している。従って、広範囲の曲線を定義すること
のできる比較的大きなパッチは、16の制御点を特定す
ることにより識別される。この時、各制御点は、パッチ
を定義する8つのベジェ曲線のうち2つに対する終点
か、あるいは中間曲率制御点である。ベジェ曲線は有限
長であり、その端はエンド制御点までである。中間の曲
率制御点は、曲線の両端点間に発生する曲率の程度を定
義するが、実際の曲線はこの中間にある曲率制御点を通
過することはない。尚、ベジェパッチは3次元面(PLAN
E)を定義し、そのパッチの制御点は3次元空間内に位
置する。しかしながら、レンダリングするためには、平
面をポリゴンに細分化する必要がある。ここで、ポリゴ
ンは実質的には平らか、少なくとも十分なレンダリング
効果を得るほど平面に平らである必要がある。
【0008】レンダリングをするために、ベジェパッチ
を周期的、または反復的に細分化して、実際の曲線によ
り近い近似点を効果的に生成することが知られている。
レンダリングは平らなエッジを有するポリゴン、すなわ
ち、通常は四辺形、好ましくは三角形を定義する点を用
いて行なわれる。その後、走査変換として知られている
処理によって、個々の画素がポリゴン内の領域に配置さ
れる。
【0009】しかし、既知の細分化技術では、反復する
度、十分な細分化ができたかどうか判断しなければなら
ないという問題がある。細分化ごとに平面度検査(FLATN
ESSTEST)を実行することが知られているが、そのような
検査をするは電算上のオーバーヘッドが比較的に大きい
ことが知られている。従って、細分化するための操作そ
のものは可能な処理能力に非現実的制限はないが、細分
化の一部としての平面度検査はベジェパッチの使用には
不適である。これは、変換後、ポリゴンを復元する細分
化工程中に、電算機の負荷節減が実質的に無になってし
まうからである。
【0010】
【課題を解決するための手段】本発明の目的は、ある領
域を複数のポリゴンに細分化する場合のより改善された
システムを提供することである。
【0011】本発明の1つの態様によれば、グラッフィ
クシステムにおいて、ある領域を複数のポリゴンに細分
化する方法であって、細分化する回数は、細分化を実際
に開始する前に曲率を示す値を処理することにより決定
するものである。
【0012】このように、本発明は、処理能力の有効な
使用が重要な対話型制御に入る前に、要求された細分化
の回数の決定を行わせることである。
【0013】本発明に従えば、各細分化後、平面度検査
が不用になる。
【0014】好適な実施例によれば、領域はベジェ曲線
で定義され、各ベジェ曲線は一対のエンド制御点と一対
の曲率制御点で定義される。好ましくは、曲率を表す値
は曲率制御点に接続されるベクトル間の角度を表す値で
ある。
【0015】
【実施例】3次元オブジェクトを表す画像データを処理
するシステムを図1に示す。プロセッサ15はローカル
メモリへのデータを書き込みとデータ読み取りを行う。
プロセッサのメモリに記憶されるデータは3次元の画像
データ、2次元の画像データ、プロセッサへのコマンド
である。
【0016】プロセッサ15は入力装置から入力データ
を受け取る。前記入力装置は、手動操作可能キーボード
17や、マウス、トラックボール18、あるいはデジタ
イジングペンなどの位置検出装置から構成される。
【0017】ディスプレイユニット19は、フレームバ
ッファをラスタ走査することにより、ビデオ転送速度で
出力された出力画像データを受け、2次元画像を表示す
る。このフレームバッファはディスプレイユニットに備
えられている。ディスプレイユニットは、各ライン上に
1000ピクセルを有する1000ラインの解像度を有
し、百万のピクセルロケーションを含むためにフレーム
バッファを必要とする。プログラムや画像データの一括
転送のために、ハード磁気ディスク、光学ディスク、あ
るいはテープドライブ等の大容量記憶装置20が提供さ
れる。
【0018】本実施例では、ジオメトリーを定義するデ
ータは、3次元空間で操作されるベジェパッチを定義す
る制御点として記憶されている。従って、2次元でのレ
ンダリングのために一旦視点位置が選択されると、各ベ
ジェパッチはポリゴンを定義する複数の頂点に細分化さ
れ、その後、各ポリゴンの領域が走査されて、画素値が
計算される。
【0019】パラメトリックベジェ曲線25を図2に示
す。このパラメトリックベジェ曲線25は、曲率制御点
B、Cの位置に応じて、エンド制御点Aからエンド制御
点Dに移動したときの点の軌跡である。この軌跡はパラ
メタ間隔がt=0からt=1までについて計算され、ま
た、各tの値について、制御点A、B、C、Dの位置か
ら軌跡上の点が計算される。混合コントリビューション
は、図2のベジェ曲線の下にあるベルンシュタインの混
合関数として知られる双3次関数より求める。従って、
曲線に沿った点の新たなx、y、zの座標値は、tを0
と1の間で変化させながら制御点A、B、C、Dの従前
のx、y、zの座標値を混合関数に代入して求められ
る。
【0020】対話型グラフィック環境でのベジェ曲線の
特徴は、点A、B、C、Dの座標を構成する入力データ
からどんな解像度に対しても曲線が描けることである。
従って、曲線全体は、その曲線を定義する4つの制御点
の位置を操作することにより3次元空間内で自由に操作
できる。従って、表示可能な画像を生成するためのレン
ダリングは、面を平らなポリゴンに細分化し、細分化さ
れたポリゴンをレンダリングすることでどんな解像度で
も実行できる。
【0021】図2に示されるように、点A、B、C、D
がベクトルAB、BC、CDで接続されるとき、実際の
曲線は、点AでベクトルABに接し、エンド制御点Dで
は、ベクトルCDに接するように見える。また、点B、
点Cの位置は、曲率を制御するように見えるので、これ
らは曲率制御点と呼ばれる。
【0022】図1に示されるシステムにおいて、ベジェ
曲線25の形状を定義するデータは、制御点A、B、
C、Dに対する3次元座標上の位置により構成される。
このような曲線にレンダリングを行うために、レンダリ
ング可能な平面ポリゴンを定義する直線セグメントによ
り、曲線の形状を近似することが必要である。前述した
ように、図2にその詳細が示されている混合関数を用い
て点が計算される。しかしながら、この方法では計算す
べき点の数を決定し、相当量の演算を実行しなければな
らないという問題が残る。
【0023】本実施例では、領域が周期的、あるいは反
復的な細分化により複数のポリゴンに細分化される。こ
の技術は、図2に示す1つのベジェ曲線を参照して説明
される。実際のベジェ曲線の第1の近似は制御点A、
B、C、Dを接続するベクトルAB、BC、CDから構
成される。図2の例からも明らかなように、このような
近似が十分な結果をもたらすのはまれであり、曲率制御
点が、実際の軌跡から十分な距離離れている場合であ
る。
【0024】細分化は、点Aと点Bの間の中点Eを識別
して行なわれる。中点Eは、点Aと点Bのx座標の平均
値であるので容易に計算できる。同様に、y座標とz座
標の平均値が求められる。従って、同様の中点Fはベク
トルBCの中間点に位置し、第3の中点GはベクトルC
Dの中間点に位置する。中点の識別工程は、ベクトルE
Fの中間点に位置する更なる点HとベクトルFGの中間
点に位置する点Iを識別して続けられ、これらより新ベ
クトルHIが定義される。最終的には、点Jがベクトル
HIの中点として計算される。
【0025】点E、H、I、Gは、ベジェ曲線25上に
は存在しないが、点Jはベジェ曲線の軌跡上に位置す
る。ここで、点Aと点Dを結ぶベジェ曲線25は、2つ
の部分曲線で構成されると考えられる。つまり、点Aか
ら点Jまでを結ぶ曲線と点Jから点Dまでを結ぶ曲線で
ある。中点識別工程を経て得られた曲線は、単に点Jを
通過するだけでなく、点JでベクトルHIに接する。従
って、点Eと点Hは第1の曲線の曲率制御点となり、点
Iと点Gは第2の曲線の曲率制御点となる一方、点Jは
これら2つのベジェ曲線における新たなエンド制御点と
なる。
【0026】レンダリングの観点より、3本の直線A
B、BC、CDからなる最初の近似は、6本の直線A
E、EH、HJ、JI、IG、GDを生成することによ
り改善される。
【0027】前記の処理を1度行なっただけでは不十分
な場合もある。しかし、曲線25に対するより正確な近
似は、制御点A、E、H、Jで定義される第1の曲線と
制御点J、I、G、Dで定義される第2の曲線との2つ
に分離したベジェ曲線からなる曲線を考慮することによ
って得られる。このように、図2の点A、B、C、Dに
対して行なった細分化手順を、まず、点A、E、H、J
に対して行ない、次に、点J、I、G、Dに対して反復
する。この細分化は、システムの解像度の限界まで繰り
返され、そして、前述したように、この技術にともなう
問題は、細分化の回数を決定していることである。
【0028】各細分化後、FOLEY、VAN DAM、FINER、 HU
GHESにより"COMPUTER GRAPHICS PRINCIPLES AND PRACTI
CE" 第2版の513−514頁に発表された平面度検査
(FLATNESS TEST)を行なうこともできる。しかしなが
ら、その都度、平面度検査を行なうと、繰り返し行なわ
れる平面度検査の為、電算機にかかるオーバーヘッドは
過度となり、ベジェ曲線を用いることによって得られる
電算機の負荷節減も実質的には無になってしまう。
【0029】点の軌跡からなるベジェ曲線は、2次元で
定義される。しかしながら、ベジェパッチと呼ばれる平
面を定義するために組み合わされたベジェ曲線群は、3
次元空間内に位置する制御点を含む。このタイプのベジ
ェパッチの制御点を図3に示す。図3において、点A
1、B1、C1、D1はベジェ曲線を定義し、点A2、
B2、C2、D2は第2の曲線を定義し、点A3、B
3、C3、D3は第3の曲線を定義し、そして、点A
4、B4、C4、D4は第4の曲線を定義する。更に、
第2セットの曲線は、それぞれ、点A1、A2、A3、
A4、点B1、B2、B3、B4、点C1、C2、C
3、C4、点D1、D2、D3、D4により定義され
る。このように、パッチは合計16の制御点から配置さ
れる3次元空間中の合計8つのベジェ曲線により定義さ
れる。このとき、各ベジェ曲線の点は、2つの曲線の制
御点となる。制御点(A1、D1、A4、D4)は、それ
ぞれ、2つの曲線のエンド制御点であり、点(B2、C
2、B3、C3)は、それぞれ、2つの曲線の曲率制御
点であり、また、残りの制御点は、1つの曲線のエンド
制御点であると同時に他方の曲線の曲率制御点である。
【0030】図3に示されるように、制御点を接続する
ベクトルは、パッチを合計9つの区分に分割する。しか
し、図3の各点を結ぶ線は、実際に曲線上には存在しな
いが、図2のベクトルAB、BC、CDに相当する。
【0031】このように、ベクトルAB、BC、CDが
図2のベジェ曲線25の第1の近似を形成するのと同
様、レンダリングするために、ベジェパッチの制御点を
接続して形成される図3の9つのポリゴンが実際のパッ
チの第1近似を得るために用いられる。
【0032】この細分化は隣り合う制御点の接続で構成
され、また、パッチをレンダリング可能なポリゴンに細
分化するのに適当な方法をである。また、図3の各ベジ
ェ曲線を分割することによって、さらに正確な細分化が
行なわれる。このとき、各曲線は、図2の点Jと同様
に、共通のエンド制御点を有する一対の曲線に分割され
る。このように、各曲線が分割され、各四辺形はさらに
4つに細分化されて、全パッチで合計36のポリゴンが
得られる。
【0033】図2を参照して説明したように、新たに計
算された点Jは、実際にはベジェ曲線上に存在する。同
様に、表面を考慮するとき、表面の中央に位置する新た
に計算された点Kは、実際に存在する点である。このよ
うに、パッチは4つの小さいパッチから構成されると考
えられ、細分化工程はこれら4つのパッチそれぞれに反
復される。
【0034】前述したように、前記のようなパッチの細
分化に伴う既知の問題は、各細分化後、さらなる細分化
が必要かどうかを決めるテストをすることにあった。本
実施例においては、各パッチに対する反復数をあらかじ
め決定する前処理が行なわれる。前処理は、2次元視野
空間変換後、そのパッチに細分化がn回行なわれるよう
に行なわれる。ここで、特定のパッチに対するnの値は
予め計算されている。
【0035】図1に示される装置の動作と本発明の実施
例を図4のフロ−チャ−トに示す。
【0036】オブジェクトの形状を定義するジオメトリ
−デ−タは、図3に示すようなベジェ曲線の制御点の形
で記憶される。各パッチは、A1からD4までの合計1
6の頂点を含む。これらの頂点から、3次元空間のどの
ような方向のパッチ、また、どのような視点からのパッ
チの全体の形状が決定される。
【0037】図4において、ステップ42から44は、
反復動作を開始する以前の前処理である。この前処理
は、反復動作中の電算機への要求を低減するように、注
目するオブジェクトに関連したデ−タを計算する。ここ
で、反復ループの一部を形成するのに必要な多くの処理
は、各反復中に要求さる。従って、実質的な節約は、反
復ループ中に必要とされる処理量を低減させることでで
きる。
【0038】ステップ42において、各ベジェパッチに
十分な数のポリゴンを生成するために必要な反復回数を
決定する。従って、ポリゴンは、前述した細分化技術を
用いて生成されるが、この処理中、十分な細分化が行な
われたかどうかを決定する必要はない。必要な細分化レ
ベルは、前もって計算されており、ベジェパッチからポ
リゴンを生成する必要のあるときは、この予め計算され
たデ−タが呼び出され、細分化がn回行なわれる。この
場合、nは前処理中に決定される。
【0039】ステップ43において、ポリゴンはモデル
化空間(オブジェクト空間とも呼ばれる)で生成され、
オブジェクトは、モデル化空間で、n回の細分化で生成
されたベジェ制御点とポリゴンにより定義される。さら
に、各ポリゴンに対して、単位標準ベクトルを計算し、
モデル化空間内で実行しようとしている照明計算をさせ
る。
【0040】ステップ44において、パッチにレンダリ
ングを行なう順序を決定するための計算がなされる。ポ
リゴンにレンダリングを行なう順序を決定するための技
術は、ヨ−ロッパ特許公開番号0531157に詳細に
記載されている。この技術は、ステップ43で生成され
たポリゴンに用いられる。この情報は、レンダリングを
行なうすべてのパッチの順序を決定するために用いられ
る。順に特定のパッチから形成された最初のポリゴンが
全体のパッチにおいて優先される。
【0041】ステップ44終了後、システムは対話型動
作にはいる。ここで、入力コマンドに応じて、オブジェ
クト、光源、視点の位置が、合成された3次元空間内で
移動する。
【0042】対話型動作の開始時に、オブジェクト(ベ
ジェパッチにより定義されたオブジェクト)、光源、視
点の位置が定義され、オブジェクトは2次元視野平面に
投影される。各対話型ループの反復処理は、3次元空間
での変換を定義する入力デ−タを受け取る処理、3次元
デ−タを2次元視野平面に投影し、2次元デ−タをピク
セルの配列にレンダリングする処理で構成される。複数
のパッチから構成されるオブジェクトが与えられた場
合、レンダリングするパッチの順序は、オブジェクトの
方向や視点の位置に従う。ステップ44では、特定視野
方向におけるパッチレンダリング順を表すリストが作成
される。ステップ46において、オブジェクトの視野方
向が決定され、このステップ44で決定されたデ−タに
加えられる。この情報は、パッチ自身がレンダリングす
る順序を計算するために用いられる。従って、フローチ
ャート中のライン47は、ステップ44から46への情
報転送することを示している。
【0043】ステップ48では、ステップ46で決定し
たように、レンダリングする第1のパッチ制御点が、変
換マトリックスの操作の下で、2次元視野空間に変換さ
れる。
【0044】ステップ49では、2次元視野空間に変換
される制御点が、さらにn回細分化される。ここでの、
nの値はステップ42であらかじめ計算されていて、こ
の情報の転送はステップ42からステップ49への矢印
50で示されている。
【0045】パッチ全体が、ステップ51で走査変換さ
れると 、ステップ52で、更なるパッチが存在するか
どうかを判断する。もし、存在するとき、制御はステッ
プ48に戻り、2次元空間へ変換する次の制御点セット
を読み込む。このように、制御点の読み込みは、引き続
いて行なわれる細分化と走査変換とともに、すべてのパ
ッチが画素サイズにまで小さくなるよう繰り返される。
ステップ52で、もし、パッチは存在しないと判断され
ると、ステップ53において、計算された画素値がフレ
−ムバッファ54に書き込まれる。
【0046】対話速度でのフレ−ムバッファへの書き込
みに加えて、ステップ55で、フレームバファ54がビ
デオ速度で繰り返し読み取られる。それによって、モニ
ター19に対するビデオ出力信号が生成される。
【0047】ステップ54では、対話型入力コマンドが
読み取られ、ステップ55で、ステップ54で受け取ら
れた対話型入力に応じて、新変換が計算される。このよ
うに、ステップ54で受けとられた対話型入力に応じ
て、変形された変換はステップ48で影響を受ける。
【0048】変換の再計算後、制御はステップ45に戻
り、対話型ル−プが完了する。ステップ54で受け取ら
れた対話型入力に応じて、もし、オブジェクトの位置が
光源に対して変わることがないとき、照明計算がステッ
プ45で再び用いられる。
【0049】曲率は、パッチを構成しているベジェ曲線
を考慮して決定され、また、パッチの曲率を表す概念上
の値は、パッチの最も曲がったベジェ曲線に基づいて用
いられる。
【0050】図2に示された曲線と同様のベジェ曲線を
図5に示す。ステップ42で行なわれる前処理は、点
A、B、C、Dの位置、すなわち、ベジェ曲線の軌跡そ
のものよりもベジェ曲線を定義している制御点を考慮し
ている。点A、B、C、Dは、ベクトルAB、BC、C
Dで接続されている。ベクトルABは、点Aから点Bに
向かって方向付けられている。同様に、ベクトルBC
は、点Bから点Cに向かって方向付けられており、ベク
トルCDは、点Cから点Dに向かって方向付けられてい
る。点Bと点Cを介して、点Aから点Dまでの移動を考
えるとき、点Bで方向が変わり、同様に点Cでも方向が
変わる。これらは、各々、回転角t1、t2で定義され
る。また、これらの回転角t1、t2の角の大きさは、
ベジェ曲線の曲率そのものと関連している。従って、回
転角t1、t2の分析は、パッチの曲率を計算するとき
の基準を提供し、パッチをポリゴンに細分化する回数を
決定するために用いられる。
【0051】それぞれのパッチは角度について考慮さ
れ、パッチのベジェ曲線を定義する制御点の各組(合計
8組)は角度について考慮される。図5に示される制御
点を参照すると、ベクトルAB、BC、CDは、それぞ
れ同じ方向で、単位長を有するベクトルを定義するよう
に変換される。このように、ベクトルABから派生した
変換ベクトルを、以下ABとする。同様に、ベクトルB
C、CDから派生した単位ベクトルは、それぞれBC
CDとする。
【0052】ベジェ曲線の曲率を表す値は、単位ベクト
ABBC間のドット積(内積)と、単位ベクトル
CD間のドット積の合計を計算して求められる。単
位長であるので、単位ベクトルABBC間のドット積
は、角t1のコサインに等しい。同様に、単位ベクトル
BCCD間のドット積は、角t2のコサインに等し
い。
【0053】理論上では、角t1、t2は、0度から3
60度のどんな値もとりうる。曲率を表す数字上の値
は、回転角のコサインを考慮し、前述したように単位ベ
クトルのドット積を計算することによって得られる。コ
サイン関数を用いることの利点は、正の回転角が180
度を越えたときは、負の数で同じ結果をもたらすからで
ある。このように、コサイン関数は、回転量を測定する
が、回転方向には影響を受けない。
【0054】角t1が小さいとき(あるいは、優角のと
き)、ベジェ曲線は、最も曲がっていない曲線なので、
t1のコサインが整数のとき、曲線は最も曲がっていな
いものとなる。同様に、コサイン値が負になるにつれ、
カーブがより大きくなる。極端な場合は、コサインが−
1で180度のときである。
【0055】曲線の全体の曲率は、角t1のコサインに
角t2のコサインを加えることで決定される。従って、
曲率は、+2(最もカーブが小さい)から−2(最もカ
ーブが大きい)までの範囲の値をとる。
【0056】全パッチの曲率は、パッチを定義する最も
カーブの大きい曲線で決定される。このようにして、全
体としてのパッチは、パッチを形成するベジェ曲線のた
めに計算された最小値(最も小さい負の数;most neati
ve)に等しい概念上の曲率値と一致する。概念上の曲率
の測定は、パッチをレンダリング可能なポリゴンに細分
化するために必要な細分化数を決定する基準を提供す
る。細分化回数は装置によっても異なり、ある装置の特
定の環境における特定の値は、経験的に計算される。本
実施例では、細分化回数は最高5回とする。
【0057】図4のステップ42において行なわれる動
作を、図6を用いて、詳細に説明する。ステップ61に
おいて、第1のパッチが選択され、そのパッチの第1の
ベジェ曲線を注目する。このステップ61では、ベジェ
曲線を定義する4つの制御点A、B、C、Dの3次元座
標を読み取る。ステップ62では、単位ベクトルAB
BCCDをベクトルAB、BC、CDを考慮して計算
する。前述したように、各単位ベクトルは、派生しよう
とするベクトルと同じ方向を有し、単位長である。
【0058】ステップ63では、組み合せコサイン値C
OSが、ドット積ABBC、ドット積BCCDの合
計として、計算される。
【0059】ステップ64において、パッチ内に(パッ
チを定義8つの曲線の中)他の考慮すべき曲線があるか
どうかが判断される。もし、そのような曲線があると
き、制御はステップ61に戻り、次の曲線に対して、座
標値A、B、C、Dが考慮される。
【0060】もし、ステップ64で考慮すべき他の曲線
がないとき、パッチに対して計算された最も小さいCO
S値が選択される。尚、以下、この値をCOS(MI
N)と表す。最も小さいCOS値を有する曲線、(すな
わち、可能な最小値は−2)はその中の最大曲率であ
り、この曲線が全体としてのパッチの名目曲率を定義す
る曲線として選択される。
【0061】ステップ66では、ステップ65で選択さ
れたCOS値が、完全に非曲面を表す“2”に等しいか
どうかを判断する。もし、“2”に等しいなら、ステッ
プ67において、nを“0”にし、ステップ68におい
て、他のパッチを更に考慮すべきかどうかが判断され
る。ここで、n値は、細分化する回数を表し、全く平ら
な表面には細分化は行なわれないことを意味する。
【0062】ステップ66において、ステップ65で選
択されたCOS(MIN)値が、“2”に等しくないと
き、つまり、COS(MIN)値が“2”より小さいと
き、ステップ66Aで、COS(MIN)が“1.6”
より大きいかどうかが判断される。もし、大きいのな
ら、ステップ69において、nを“1”にし、制御はス
テップ68に戻る。
【0063】もし、ステップ66Aで、否定された場
合、ステップ70において、COS(MIN)がゼロよ
り大きいかどうかが判断される。もし、肯定された場
合、ステップ71において、nを“2”にセットし、制
御はステップ68に戻る。
【0064】もし、ステップ70で、否定された場合、
ステップ72において、COS(MIN)が“−1”よ
り大きいかどうか判断される。もし、肯定された場合は
ステップ73において、nを“3”にセットし、制御は
ステップ68に戻る。
【0065】最後に、もし、ステップ72で、否定され
た場合、ステップ74において、COS(MIN)が
“−1.8”より大きいかどうかが判断される。もし、
肯定された場合、ステップ75において、nが“4”に
セットされ、制御はステップ68に戻る。また、もし、
ステップ74で、否定された場合、ステップ76におい
て、nが“5”にセットされ、制御はステップ68に戻
る。
【0066】本例において、特定パッチ内での細分化回
数nは、0から5までの範囲の値とする。しかし、シス
テムにより行なわれるこの細分化の最高回数は、特定の
応用に適するように選択してもよい。同様に、COS
(MIN)と必要な反復回数の関係の判断は、特定の応
用に対して任意に選択してもよい。
【0067】もし、ステップ68で、他のパッチが存在
すると判断されると、制御はステップ61に戻り、次の
ベジェパッチに対する第1の座標セットが読み込まれ、
前述の処理が繰り返される。最終的に、ステップ68
で、否定されると、制御は前処理のステップ43に続
く。
【0068】図4に示されるように、ステップ44にお
いては、パッチから派生するポリゴンを参照して、パッ
チレンダリング順序が決定される。ステップ44で行な
われる処理は、図7のフローチャートで詳細に説明され
る。図7のステップ81において、モデル化空間でポリ
ゴンを生成するためにパッチデータはn回細分化され
る。すべてのパッチは、任意のポリゴン表(リスト)を
作成するためにこのように処理される。ステップ82に
おいて、ヨーロッパ特許公開番号0531157に記載
されるような位相ソート(TOPOLOGICAL SORT)が行なわ
れ、本願はその全内容を含んでいる。こうして、ステッ
プ82で、ポリゴンの順序表が作成される。この順序表
は、視野パラメータの特定なセットに対して、レンダリ
ングを行うポリゴンの順序をリストするものである。複
数のリストが作成され、対話型動作中、特定のリストが
選択される。このように、図4を参照して説明すると、
ステップ44で、リストが生成され、ステップ46で、
対話処理の一部として、必要とされる特定のリストが選
択される。
【0069】ステップ83(図7)において、ポリゴン
順序表に他のポリゴンが存在するかどうか判断される。
もし、否定された場合、処理44(図4)を終了し、制
御は対話型動作に入る。
【0070】もし、ステップ83において、肯定された
場合、ステップ84で、次のポリゴンがポリゴン順序表
より読まれ、パッチ順序表に適用される。このように、
特定のポリゴンを識別するデータを含むことに加えて、
ポリゴン順序表は、さらに、ポリゴンが派生したパッチ
を識別するデータを含んでいる。これがステップ84で
生成されたパッチ順序表に関する情報である。
【0071】ステップ85において、ステップ84で識
別されたパッチと同じパッチに属するすべてのポリゴン
が、ステップ82で作成されたポリゴン順序表から削除
される。こうして、ステップ84でパッチがパッチ順序
表に加えられるように、特定のパッチからすでに派生し
たポリゴンのセットだけを注目することになる。
【0072】この後、制御はステップ83に戻り、も
し、ポリゴンがポリゴン順序表にまだ残っているなら、
ステップ84が繰り返される。このとき、前回特定した
パッチに関連するすべてのエントリは、ポリゴン順序表
より削除される。これでステップ84で次に読み込まれ
たポリゴンが他のパッチに関係するようになる。このよ
うに、他のパッチは、常にパッチ順序表に加えられ、同
パッチから派生したすべてのポリゴンがポリゴン順序表
から削除される。
【0073】もし、オブジェクトが凹面を含むとき、視
角は、前方ポリゴンが他の前方にあるポリゴンの前に重
なるところにある。この状態で、2つのうち外側のポリ
ゴンは、ある角度からは、内側のポリゴンを遮断する。
実際は、そのような遮断が起こる回数は極めて少ない。
【0074】ステップ82において、ソータはポリゴン
を2段階に分類する。第1段階では、他のポリゴンを遮
断する可能性のあるポリゴンをその可能性のないポリゴ
ンから分類する。遮断の可能性のあるポリゴンは、他の
ポリゴンの後ろにあるか、前にあるかを決定するために
比較される。もし、すべての頂点が平面の前にあると
き、ポリゴンは、平面の前にあると考える。そして、不
確定性を避けるために、もし、幾つかの頂点が平面の前
にあって、他の頂点が平面にあるとき(指示された差内
にあるとき)、あるいはすべての頂点が平面にあると
き、そのポリゴンは平面の前にあると考える。
【0075】ソ−タ−はリストから順に各ポリゴンを取
り出し、平面を定義する頂点の座標から平面を定義する
等式(Ax+By+Cz+D=0)の係数を得る。ソ−
タ−は、ポリゴンを順に調べ、ポリゴンのすべてのモ−
ドが、 Ax+By+Cz+D>0 の不等式を満足するかどうかを決定する。もし、不等式
が最初に比較されたポリゴンのすべての頂点にあてはま
るとき、そのポリゴンは完全に考慮中のポリゴンの前に
あるとし、ソ−タ−は次のポリゴンの処理に進む。も
し、すべての節点が同じ平面上にあるとき、または、第
2のポリゴンが完全に第1の平面の後ろにあるとき、法
線から平面を見た場合、そのポリゴンは完全に考慮中の
ポリゴンの後ろに存在すると考える。ソ−タ−は、テ−
ブルの各ポリゴンに対するエントリを含む新しいテ−ブ
ルを生成する。各エントリはポリゴンの後ろに存在する
他のポリゴンの数のセット、あるいはリストを備える。
ポリゴンの各節点(NODE)が他の平面の後ろにあると
き、そのポリゴンは、“ビハインド”リスト中に識別さ
れるように記録される。
【0076】ステップ82の位相ソ−トを生成するため
の詳細なる説明は、本願に対応出願されている前記出願
に開示されおり、前述したようにその全内容は本願の一
部を形成している。
【0077】図4を参照すると、パッチがn回細分化さ
れた後、ステップ51において、画素を生成するために
走査変換が行なわれる。画素値は、ポリゴンベ−スで各
ポリゴンごとに生成される。従って、各ベジェパッチは
エッジが平らな複数のポリゴンに細分化される。
【0078】図8Aと図8Bは、n回の細分化が行なわ
れた後に生成されたベジェパッチを定義する16のベジ
ェ制御点の配置を示す図である。細分化が1回行なわれ
た後、図8Aに示されるパッチは、合計4つの同様なパ
ッチの配列に分割される。再び、細分化が2回行なわれ
た後、図8Aに示されるパッチは、合計16ぐらいのパ
ッチに細分化される。
【0079】細分化により生成された各ベジェパッチ
は、実質的に同様な方法で、ポリゴンに細分化される。
ベジェパッチをレンダリングする従来の方法によれば、
パッチの各制御点は、概念上、9つの四辺形を生成する
ために、最も近い点とに接続されている。その後、前記
四辺形のそれぞれは、2つの三角形を生成するために斜
めに細分化される。こうして、各ベジェパッチは、18
のレンダリング可能なポリゴンとなる。
【0080】図8Aに示されるようなパッチの細分化に
代わりに図8Bに示されるようなパッチの細分化も可能
である。図8Bにおいて、図8Aに示されるようなパッ
チの位置に対応する制御点を有するベジェパッチは、四
辺形を生成するために四隅の制御点A1、D1、D4、
A4を接続することによってレンダリング可能なポリゴ
ンに細分化される。これらの選択された制御点は、パッ
チを定義する2つのベジェ曲線のすべてのエンド制御点
のセットとして考えられる。前述の四辺形は、点A1と
D4を結ぶことによって、さらに2つのレンダリング可
能な三角形に細分化される。
【0081】再び図2を参照して説明すると、図8Aで
行なわれるようなパッチに対するレンダリング手順は、
ラインABCDよりベジェ曲線25を予測することに等
しい。図2からも明らかなように、この予測線は、曲線
25の外側に存在する。すなわち、曲線25より大き
い。図8Bに示すレンダリング結果は点Aと点Dを直接
結ぶことと等しい。また、これは単に曲線25の形状を
予測するだけであるが、このとき、予測線は曲線25の
内側にある。すなわち、曲線25より小さい予測線が生
成される。
【0082】更なる細分化が行なわれるにつれ、パッチ
に対する両予測線は、実際のパッチに近づいていく。し
かし、不適切な回数の細分化が行なわれると、図8Aの
従来のタイプによる予測線は、パッチの外側に位置し、
一方、図8Bに示す別の予測線は、パッチの内側に位置
する。再び、図2を参照して説明すると、第2の細分化
の予測線は、点Aと点Jを直接結び、点Jと点Dを直接
結ぶものである。これは、明らかに曲線25の位置をよ
り正確に予測する。
【0083】本実施例では、オペレータは図8Aの従来
技術にしたがって細分化を行なうか、図8Bに示めす本
発明にしたがって細分化を行うかを選択する。従って、
可能なレンダリング方法は2通りある。一方は実際のベ
ジェ曲線の外側にあるポリゴンを生成するものであり、
他方は実際のベジェ曲線の内側にあるポリゴンを生成す
るものである。ポリゴンを生成するための好適な結果
は、オペレータにより実行される全体のアプリケーショ
ンによる。
【0084】図8Aに示されるように、制御点を結ぶこ
とでベジェパッチを細分化する既知の方法においては、
すべての制御点が連結される。しかし、別の方法によれ
ば、選択されたセットの制御点のみが結ばれる。したが
って、点A1、D1、A4、D4を結ぶことに加えて、
点B2、C2、B3、C3を結ぶこともできる。このよ
うに、連結される点のセットは、一方のベジェ曲線のエ
ンド制御点と他方のベジェ曲線の曲率制御点を提供する
制御点は除いた、2つのベジェ曲線に曲率制御点を提供
する制御点に加えて2つのベジェ曲線にエンド制御点を
提供する点であると定義できる。また、レンダリング可
能なポリゴンを定義するベースを形成するよう連結する
ために、有効な制御点から別のセットが選択されること
もある。
【0085】
【発明の効果】以上説明したように本発明に寄れば、処
理力を有効に使うことが重要である対話型制御を行う前
に、必要な細分化回数を予め決定することができる。
【0086】また、本発明によれば、細分化のたびに平
面度検査を行う必要がなくなる。
【0087】
【図面の簡単な説明】
【図1】3次元データを操作して2次元データを生成す
るプロセッサーを有する対話型3次元グラフィックシス
テムを示す図である。
【図2】ベジェ曲線、曲線を定義する制御点、制御点の
位置から曲線上の点を計算する式を示す図である。
【図3】ベジェ曲線により定義されるベジェパッチを示
す図である。
【図4】本発明の対話型3次元グラフィクシステムの動
作を示す図である。
【図5】ベジェパッチの曲率を計算し、パッチをポリゴ
ンに細分化するのに必要な反復回数を決定するのに好適
な手順を示す図である。
【図6】ベジェパッチの曲率を計算し、パッチをポリゴ
ンに細分化するのに必要な反復回数を決定するのに好適
な手順を示す図である。
【図7】パッチがレンダリングされる順序を決定する手
順を示す図である。
【図8A】従来のベジェパッチポリゴン化を示す図であ
る。
【図8B】本発明の実施例によるベジェパッチポリゴン
化を示す図である。
【符号の説明】
15 プロセッサ 17 キーボード 18 トラックボール 19 ディスプレイユニット 20 大容量記憶装置 25 ベジェ曲線
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−83871(JP,A) 特開 平4−152390(JP,A) 特開 平4−195476(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 17/30 G06T 15/00 G06T 11/20

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数本のベジエ曲線で定義される非平面
    領域を、2次元空間に配置した第1ベジエパッチを、複
    数個の第2ベジエパッチに細分化するための画像データ
    処理方法であって、 前記第1ベジエパッチを定義する前記複数本のベジエ曲
    線に対して、個々に、その曲率を求める曲率計算ステッ
    プと、 該曲率計算ステップにて計算された各曲率のうち、最大
    曲率に相当する計算結果を保持する保持ステップと、 該保持ステップにて保持された最大曲率と所定の基準と
    に基づいて、前記第1ベジエパッチの細分化の回数を決
    定する決定ステップと を備えることを特徴とする画像デ
    ータ処理方法。
  2. 【請求項2】 記ベジェ曲線は一対のエンド制御点と
    一対の曲率制御点を有することを特徴とする請求項1に
    記載の方法。
  3. 【請求項3】 曲率を表す値は、曲率制御点に接続され
    るベクトルの間の角度を表わす値であることを特徴とす
    る請求項2に記載の方法。
  4. 【請求項4】 前記角度は、前記ベクトルの方向回転角
    であることを特徴とする請求項3に記載の方法。
  5. 【請求項5】 前記決定ステップで決定された回数だけ
    前記第1のベジェパッチを前記第2のベジェパッチ群に
    細分化し、細分化された第2のベジェパッチ群の各々の
    エンド制御点のみ結ぶことで得られるポリゴンについて
    レンダリングすることを特徴とする請求項1乃至4のい
    ずれか1項に記載の方法。
  6. 【請求項6】 複数本のベジエ曲線で定義される非平面
    領域を、2次元空間に配置した第1ベジエパッチを、複
    数個の第2ベジエパッチに細分化するための画像データ
    処理装置であって、 前記第1ベジエパッチを定義する前記複数本のベジエ曲
    線に対して、個々に、その曲率を求める曲率計算手段
    と、 該曲率計算手段にて計算された各曲率のうち、最大曲率
    に相当する計算結果を保持する保持手段と、 該保持手段にて保持された最大曲率と所定の基準とに基
    づいて、前記第1ベジ エパッチの細分化の回数を決定す
    る決定手段と を備えることを特徴とする画像データ処理
    装置。
  7. 【請求項7】 記ベジェ曲線は一対のエンド制御点と
    一対の曲率制御点を有することを特徴とする請求項
    記載の装置。
  8. 【請求項8】 前記曲率を表わす値は、曲率制御点に接
    続されるベクトルの間の角度を表わす値であることを特
    徴とする請求項に記載の装置。
  9. 【請求項9】 前記角度は、前記ベクトルの方向回転角
    であることを特徴とする請求項に記載の装置。
  10. 【請求項10】 前記決定手段で決定された回数だけ前
    記第1のベジェパッチを前記第2のベジェパッチ群に細
    分化し、細分化された第2のベジェパッチ群の各々のエ
    ンド制御点のみ結ぶことで得られるポリゴンについてレ
    ンダリングすることを特徴とする請求項6乃至9のいず
    れか1項に記載の装置。
JP27817693A 1992-11-06 1993-11-08 画像データ処理方法および装置 Expired - Lifetime JP3352181B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9223314 1992-11-06
GB929223314A GB9223314D0 (en) 1992-11-06 1992-11-06 Processing image data

Publications (2)

Publication Number Publication Date
JPH07311856A JPH07311856A (ja) 1995-11-28
JP3352181B2 true JP3352181B2 (ja) 2002-12-03

Family

ID=10724668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27817693A Expired - Lifetime JP3352181B2 (ja) 1992-11-06 1993-11-08 画像データ処理方法および装置

Country Status (5)

Country Link
US (1) US5771341A (ja)
EP (1) EP0596667B1 (ja)
JP (1) JP3352181B2 (ja)
DE (1) DE69318930T2 (ja)
GB (1) GB9223314D0 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5973699A (en) * 1996-09-19 1999-10-26 Platinum Technology Ip, Inc. System and method for increasing the performance for real-time rendering of three-dimensional polygonal data
US6313840B1 (en) * 1997-04-18 2001-11-06 Adobe Systems Incorporated Smooth shading of objects on display devices
JPH10293854A (ja) * 1997-04-18 1998-11-04 Koubundou:Kk 曲線表示方法及び装置、同曲線を表すデータの作成方法及び装置、並びに同表示方法及び作成方法を実現するためのプログラムを記録した記録媒体
JP3654616B2 (ja) * 1997-12-19 2005-06-02 富士通株式会社 階層化ポリゴンデータ生成装置及び方法及び当該階層化ポリゴンデータを用いる三次元リアルタイム映像生成装置及び方法
EP1026639A3 (en) 1999-02-04 2002-09-04 Canon Kabushiki Kaisha 3D computer graphics processing apparatus and method
EP1033683B1 (en) 1999-03-01 2006-03-22 Canon Kabushiki Kaisha Image processing apparatus
US7245299B2 (en) * 2003-05-12 2007-07-17 Adrian Sfarti Bicubic surface real-time tesselation unit
US20030189570A1 (en) * 2000-07-28 2003-10-09 Adrian Sfarti Bicubic surface rendering
US6563501B2 (en) * 2000-07-28 2003-05-13 Adrian Sfarti Bicubic surface rendering
USRE42534E1 (en) 2000-07-28 2011-07-12 Adrian Sfarti Bicubic surface real-time tesselation unit
US7280108B2 (en) 2000-12-11 2007-10-09 Adrian Sfarti Bicubic surface rendering
US7102636B2 (en) * 2001-03-31 2006-09-05 Intel Corporation Spatial patches for graphics rendering
US7174280B2 (en) * 2002-04-23 2007-02-06 Ford Global Technologies, Llc System and method for replacing parametrically described surface features with independent surface patches
US20050007369A1 (en) * 2003-07-07 2005-01-13 Jiangen Cao Graphic engine for approximating a quadratic Bezier curve in a resource-constrained device
US7142211B2 (en) 2003-07-07 2006-11-28 Arcsoft, Inc. Graphic engine for fill style transferring in a resource-constrained device
US6881074B1 (en) * 2003-09-29 2005-04-19 Cookson Electronics, Inc. Electrical circuit assembly with micro-socket
JP2012018546A (ja) * 2010-07-07 2012-01-26 Toshiba Corp 画像処理装置、及び画像処理方法
WO2021154273A1 (en) * 2020-01-31 2021-08-05 Hewlett-Packard Development Company, L.P. Generating 3d printing points using an approximate mathematical expression of a rqb curve

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4999789A (en) * 1987-02-05 1991-03-12 Hewlett-Packard Co. Method and apparatus for trimming B-spline descriptions of patches in a high performance three dimensional graphics system
US4912659A (en) * 1987-10-30 1990-03-27 International Business Machines Corporation Parallel surface processing system for graphics display
US5142617A (en) * 1988-10-27 1992-08-25 Tektronix, Inc. Method of shading a graphics image
JP2961121B2 (ja) * 1990-10-17 1999-10-12 セイコープレシジョン株式会社 曲線近似装置

Also Published As

Publication number Publication date
DE69318930T2 (de) 1998-10-22
US5771341A (en) 1998-06-23
GB9223314D0 (en) 1992-12-23
EP0596667B1 (en) 1998-06-03
JPH07311856A (ja) 1995-11-28
EP0596667A1 (en) 1994-05-11
DE69318930D1 (de) 1998-07-09

Similar Documents

Publication Publication Date Title
JP3352181B2 (ja) 画像データ処理方法および装置
JP3391864B2 (ja) 画像データ処理方法及び装置及びグラフィックシステム
JP3764478B2 (ja) テセレーション・システム
US6211883B1 (en) Patch-flatness test unit for high order rational surface patch rendering systems
JP3862759B2 (ja) 可変エッジ特性を有する構造化オブジェクトを用いて画像を定義し製作するためのコンピュータ・システムおよびプロセス
US5369739A (en) Apparatus and method for generating point sample masks in a graphics display system
US5570460A (en) System and method for volume rendering of finite element models
US6600485B1 (en) Polygon data generation method and image display apparatus using same
EP0314288B1 (en) Improvements in computer graphics generation and display
JP3466661B2 (ja) 画像処理装置及びその方法
JPH0776991B2 (ja) Nurbsデータ変換方法及び装置
US6906718B1 (en) Method and system for efficiently evaluating and drawing NURBS surfaces for 3D graphics
JPH05266212A (ja) データプロセッサによってオブジェクトの作成を実行する方法及びグラフィックスディスプレイ装置
US20070103466A1 (en) System and Computer-Implemented Method for Modeling the Three-Dimensional Shape of An Object by Shading of a Two-Dimensional Image of the Object
JPH05266216A (ja) ボリュームレンダリングを行う方法及び装置
US6856312B1 (en) Method for generating three-dimensional form data and apparatus therefor
JP3332511B2 (ja) 画像データ処理方法及び装置及びグラフィックシステム
KR100269100B1 (ko) 삼각형탐색방법및이를채용한래스터라이저
EP0339758B1 (en) Image processing apparatus for performing projective transformations
JPH06274149A (ja) アウトラインフォントの幅変更処理方法および装置
JP2000251095A (ja) ポリゴンメッシュの領域分割方法及びその装置並びに情報記録媒体
JP2000207576A (ja) 画像処理方法,画像処理装置,および画像処理プログラムを記録した記録媒体
JPS63208898A (ja) 文字処理装置
US7454320B1 (en) System and method for calculating partial differential equations in a hardware graphics pipeline
JP3251744B2 (ja) 交点追跡法による画像生成方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020830

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

Free format text: PAYMENT UNTIL: 20070920

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080920

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090920

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090920

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100920

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100920

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110920

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110920

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120920

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120920

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130920

Year of fee payment: 11

EXPY Cancellation because of completion of term