JP3023685B2 - 画像表示データ処理装置 - Google Patents

画像表示データ処理装置

Info

Publication number
JP3023685B2
JP3023685B2 JP2031652A JP3165290A JP3023685B2 JP 3023685 B2 JP3023685 B2 JP 3023685B2 JP 2031652 A JP2031652 A JP 2031652A JP 3165290 A JP3165290 A JP 3165290A JP 3023685 B2 JP3023685 B2 JP 3023685B2
Authority
JP
Japan
Prior art keywords
bit
pixel
value
new
data
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
JP2031652A
Other languages
English (en)
Other versions
JPH02289097A (ja
Inventor
レスリイ・デイーン・コーン
Original Assignee
インテル・コーポレーシヨン
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 インテル・コーポレーシヨン filed Critical インテル・コーポレーシヨン
Publication of JPH02289097A publication Critical patent/JPH02289097A/ja
Application granted granted Critical
Publication of JP3023685B2 publication Critical patent/JP3023685B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • G09B9/02Simulators for teaching or training purposes for teaching control of vehicles or other craft
    • G09B9/08Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of aircraft, e.g. Link trainer
    • G09B9/30Simulation of view from aircraft
    • G09B9/301Simulation of view from aircraft by computer-processed or -generated image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • G06T15/87Gouraud shading

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は図形処理の分野に関し、特に、ソフトウエア
駆動パイプライン化図形処理装置においてシエージング
を伴なう三次元図形画像を描出するための画素データの
計算をスピードアツプする方法及び装置に関する。
〔従来の技術及び発明が解決しようとする問題点〕
高速でデジタルコンピユータの開発が進むにつれて、
三次元(3D)図形画像を実時間表示することが実際に可
能になつた。そのような表示能力を発揮するシステム
は、ごくわずかな例を挙げただけでも、エンジニアリン
グ・ワークステーシヨン、実時間シミユレータ及びアニ
メーシヨン映画などの分野に広く応用されている。
より複雑な画像をより高い品質で描出することが要求
されるが、そのためには、演算のスループツトをさらに
向上させなければならなかつた。初期のコンピユータ・
グラフイツク・システムは、隠線を除去した単純な幾何
学的立体をシエージングを伴なう着色画像として描出す
ることしかできない場合が多かつたが、現在では、たと
えば、人間の姿などの非常に複雑な物体をコンピユータ
で生成した表示を高解像度画像として描出することが可
能である。
このような進歩は、超大規模集積(VLSI)回路の出現
で演算が高速化されたことと、より効率の良い図形処理
アルゴリズムが開発されたことの2つによつて可能にな
つたのである。図形処理システム技術がこのように進歩
したにもかかわらず、従来のグラフイツク・システムの
能力は、依然として、高品質実時間画像生成の実行に束
縛されている。汎用プロセツサは、一般に、実時間演算
を実行するために画質を落とす。あるいは、非常に高品
質の画像を生成できるとしても、それは実時間アニメー
シヨンを伴なわないものである。そこで、ベクトル操
作、隠面消去、シエージングなどの様々な30図形演算を
実行するために最適化された専用ハードウエアを具備す
る専用図形処理装置が開発された。そのような専用図形
処理装置は高レベルの性能を示すが、高価であり、汎用
プロセツサのもつ融通性に欠けている。
従つて、速い演算速度を継続して支援することができ
るが、3D図形表示は主にソフトウエアで実現されるよう
な高性能図形指向プロセツサが必要である。
〔問題点を解決するための手段〕
本発明は、VLSIプロセツサにおいてソフトウエア実現
3D図形パイプラインを構成する方法及び装置を目指して
いる。シングルチツププロセツサの一部を、物理的に、
図形指向処理専用の部分とし、図形パイプラインのスル
ープツトを実質的に加速する一連の図形指向命令が提供
される。
本発明の1つの面においては、隠面消去を容易にする
ための命令が提供されている。Zバツフア検査命令は、
新たに計算された距離(Z)値と、Zバツフアの内容と
の符号なし整数(順序数)比較を複数回同時に実行す
る。描出すべき点の距離をZバツフアの対応する値と比
較し、そこで、描出すべき点がZバツフア値より近接し
ている(小さい)画素を指定するために、画素マスクの
適切なビツトをセツトする。連続するZバツフア検査命
令がその結果を画素マスクレジスタに累積させるよう
に、画素マスクの先に計算されたビツトはシフトされ
る。16ビツトのZ値の場合、1回の命令サイクルの中
で、4回の比較と画素マスク更新が同時に実行される。
画素記憶命令は、画素マスクを利用して、フレームバツ
フアの、現在画素値により表示された表面より近接して
いる新たに描出される表面上の1点に対応する画素記憶
場所のみを更新する。
本発明の別の面においては、Zバツフアに記憶されて
いる値のような距離値の線形補間を実現するための命令
が提供される。2つの32ビツト固定小数点実数加算は並
行して実行される。実数の和は、MERGEレジスタにロー
ドされる時点で16ビツトに切捨てされ、その後、MERGE
レジスタの内容は右へ16ビツトシフトされる。2つのそ
のようなZバツフア加算命令を連続して実行することに
より、合わせて4つの16ビツト補間Z値がMERGEレジス
タに累積される。
本発明のさらに別の面においては、画素の色の強さの
補間を実現するための命令が提供される。この画素加算
命令は、複数の固定小数点実数加算が並行して実行され
るという点で、Zバツフア加算命令と同じように作用す
る。画素加算命令は8ビツト,16ビツト及び32ビツトの
画素フオーマツトで作用する。
単一の色の強さしか表示されない8ビツト画素のフオ
ーマツトの場合、4つの16ビツト実数加算が並行して実
行される。それぞれの16ビツト実数は8ビツトの整数部
を有する。実数の和は、MERGEレジスタへのロードの時
点で8ビツトに切捨てされ、MERGEレジスタの内容は、
命令のたびに、右へ8ビツトシフトされる。2つのその
ような画素加算命令を連続して実行することにより、ME
RGEレジスタには8つの8ビツト補間画素が累積され
る。
16ビツト画素フオーマツトの場合は、3つの色の強さ
は、それぞれ、6ビツト,6ビツト,4ビツトで表わされ
る。8ビツト画素フオーマツトの場合と同様に、4つの
16ビツト実数加算が並行して実行されるが、整数部は8
ビツトではなく、6ビツトから成る。実数の和は、MERG
Eレジスタへのロードの時点で6ビツトに切捨てされ、M
ERGEレジスタの内容は、命令のたびに、右へ6ビツトシ
フトされる。色ごとに1つずつ、3つのそのような画素
加算命令を連続して実行することにより、MERGEレジス
タには4つの16ビツト補間画素が累積される。
32ビツト画素フオーマツトの場合には、画素加算命令
は2つの32ビツト実数加算を並行して実行する。それぞ
れの実数は8ビツトの整数部を有する。結果は8ビツト
に切捨てされ、MERGEレジスタは命令のたびに右へ8ビ
ツトシフトされる。色ごとに1つずつ、3つのそのよう
な命令は2つの32ビツト補間画素を累積させる。
〔表記法及び用語〕
以下の詳細な説明は、演算装置の内部において実行さ
れるデータビツトに関する演算のアルゴリズム及び記号
表示によつて主に提示される。このアルゴリズムによる
説明と表示は、データ処理技術における当業者がそ作業
の内容を他の当業者に有効に伝達するために使用する手
段である。
ここでは、また、一般的にも、アルゴリズムは、所望
の結果に至る自ら矛盾しない一連のステツプであると考
えられる。それらのステツプは、物理量の物理的な操作
を必要とするものである。通常、そのような量は、記
憶,転送,組合せ、比較及びその他の方法による操作が
可能な電気的信号又は磁気信号の形態をとるが、必ずし
もそれには限定されない。場合に応じて、主に一般に共
通する慣例の便宜を考慮して、それらの信号をビツト
値,要素,記号,文字,項,数などと呼ぶと好都合であ
ることがわかつている。ただし、このような用語及びそ
れに類する用語は、全て、適切な物理量と関連してお
り、単に、それらの量に便宜上付されたラベルであるに
すぎないということに留意すべきである。さらに、実行
される操作も、一般に人間のオペレータが行う知的作業
と関連する加算又は比較などの用語で呼ばれる。本発明
の一部を形成するここで説明する演算のいずれにおいて
も、そのような人間のオペレータの能力は不要であり、
多くの場合に望ましくない。演算は機械演算である。本
発明はマイクロプロセツサで適用されるのが最も有利で
あるが、本発明の演算を実行するのに有用な他の機械と
しては、汎用デジタルコンピユータ及びそれに類する装
置が考えられる。いずれの場合にも、方法の動作及びコ
ンピユータを動作させる方法と、計算方法それ自体との
明確な区別に注意すべきである。本発明は、その一部
で、プロセツサを動作させ、それにより、電気的信号を
処理して、別の所望の電気的信号を発生する方法ステツ
プに関する。
〔実施例〕
以下、添付の図面を参照して本発明を詳細に説明す
る。
以下の説明の中で、本発明を完壁に理解させるため
に、データ表示形態,ビツト割当て,動作のシーケンス
などを特定して挙げているが、それらの事項は、説明の
便宜上、記載されるのであつて、本発明を限定するもの
ではない。そのような特定の詳細な事項を含まずとも本
発明を実施しうることは当業者には明白であろう。ま
た、場合によつては、本発明を無用にわかりにくくする
のを避けるため、良く返られている図形処理用のハード
ウエア,方式及びアルゴリズムの詳細な説明を省いたと
ころもある。
本発明は、隠面消去,距離補間及び強さ補間を使用す
る3Dシエージングを実行する上での補助となる特殊な演
算を実行することにより、高性能3D図形アプリケーシヨ
ンを支援する。ここに挙げた機能は、通例、当該技術分
野で良く知られている通り、図形処理装置で実行され
る。これらの機能を実行するための基本的な方法とアル
ゴリズムは良く知られているので、ここでは詳細には説
明しない。
本発明の補間演算は、描出すべき立体物体の表面が一
組の互いに接続する多角形により近似されるような図形
アプリケーシヨンを支援する。それぞれの多角形の頂点
の距離と、色の強さは既にわかつているものと仮定され
るが、各多角形の内側にある他の点の距離と強さを、既
知の値の間の補間によつて計算しなければならない。
本発明の方法ステツプを、マイクロプロセツサにおい
て実行される命令として説明し且つ実現するのが好都合
である。好ましい実施例では、プロセツサは64ビツトデ
ータ語ついて動作する。ここで説明する命令は、アドレ
ス可能レジスタソースから得られる2つまでのデータ語
に対して作用できる。ソースオペランドは、一般に、sr
c1及びsrc2として示される。命令は、同様に、その演算
の結果を、一般にrdestとして示されるアドレス可能レ
ジスタ宛先へ戻す。
本発明は8ビツト、16ビツト、又は32ビツトの画素の
フオーマツトで動作する。8ビツト画素の場合、画素の
強さを表示するために8つまでのビツトを使用できる。
残りのビツトがあれば、それらのビツトは、色などの画
素の別の属性を表示するために使用可能である。強さビ
ツトは画素の下位ビツトでなければならない。
16ビツト画素の場合は、それぞれ、6ビツト,6ビツ
ト,4ビツトから成る3つの強さ属性フイールドがある。
これらのフイールドは、通常、表示すべき三原色、すな
わち、赤,緑,青と関連している。しかしながら、特定
のアプリケーシヨンの都合を考慮して、フイールドは色
に割当てられても良いし、また、他の何らかの画素属性
に割当てられても良い。
32ビツト画素の場合には、4つの任意の属性を表示す
る4つの8ビツトフイールドが設けられる。たとえば、
3つの高位フイールドを三原色を表わすのに使用し、最
下位フイールドを、質感などの付加的属性を表わすのに
使用しても良い。
Zバツフア検査 3D図形処理では、各画素と観察者との離間距離を表わ
す値をその画素と関連づけることにより隠面消去を容易
にするZバツフアを使用するのが普通である。特定の画
素位置において点をペイントするとき、三次元描出アル
ゴリズムは、その点と観察者との離間距離を計算する。
点が、その画素により既に表示されている点より観察者
から離れている場合、画素は更新されない。本発明は、
1回のクロツクサイクルの中で、複数のZ値を比較し、
より近接した(小さい)値を選択し、新たなZ値のセツ
トを計算し、画素マスクを更新するZバツフア検査命令
を実行する。既に描出されている画素より近接している
画素のみが更新されるように、画素データをフレームバ
ツフアに記憶するときには、画素マスクレジスタを使用
する。
Zバツフア検査命令は、符号のない整数の比較を複数
回実行する。命令に対する入力は、通常は1つの点と観
察者との離間距離をそれぞれが表わしている値から成る
2つの値アレイから取出されるのが普通である。一方の
アレイは描出すべき点に対応する距離を含み、他方のア
レイは既に描出された点に対応する距離を含む(すなわ
ち、Zバツフア)。命令は描出すべき点の距離とZバツ
フアの値とを比較し、どの距離が現在Zバツフアにある
距離より小さいかを示すために画素マスクのビツトをセ
ツトする。画素マスクの先に計算されたビツトは、連続
する命令がその結果を画素マスク中に累積してゆくよう
に、右へシフトされる。そこで、画素マスクの内容は、
後述するようにどの画素を更新すべきかを判定するため
に画素記憶命令により使用されることになる。
好ましい実施例では、本発明は、16ビツト幅又は32ビ
ツト幅のいずれかである距離(Z)値を支援する。Zバ
ツフア値のサイズは、強さ情報及び/又は色情報を蓄積
している画素サイズとは無関係である。本発明は64ビツ
トデータ語について動作するように実現される。従つ
て、16ビツトのZ値を使用する場合には、Zバツフア検
査命令によつて4つの値を同時に検査することができ
る。32ビツトのZ値を使用するときには、同時に2つの
比較が実行される。
Zバツフア検査命令を、以下に記載する論理演算のシ
ーケンスにより特徴づけると好都合であろう。この場
合、画素マスクはPM(0)・・・PM(7)として示され
る8つのビツトから成るアレイにより構成され、PM
(0)は最下位ビツトである。
16ビツトのZバツフア値の場合、src1,src2及びrdest
を、それぞれ、4つの16ビツトフイールド、すなわち、
src1(0)・・・src1(3)と;src2(0)・・・src2
(3)と;rdest(0)・・・rdest(3)とから成るア
レイとして考える。尚、(0)は最下位フイールドを示
す。
(1) PM<−−4ビツト右へシフトさせたPM (2) i=0から3とするとき、 (2a)PM(i+4)<−−src2(i)src1(i) (2b)rdest(i)<−−src2(i)及びsrc1
(i) のうち小さいほう (3) MERGE<−−0 32ビツトのZバツフア値については、src1,src2及びr
destを2つの32ビツトフイールドから成るアレイとして
考える他は、上述の場合と同じである。この場合、Zバ
ツフア検査命令は次のような演算シーケンスを含む。
(4) PM<−−2ビツト右へシフトさせたPM (5) i=0から1とするとき、 (5a)PM(i+6)<−−src2(i)src1(i) (5b)rdest(i)<−−src2(i)及びsrc1
(i) のうち小さいほう (6) MERGE<−−0 第1図は、16ビツトのZバツフア値に関するZバツフ
ア検査命令の演算を概念的に示す流れ図である。ただ
し、第1図と、以下に説明するZバツフア検査命令とは
実質的に概念に基づいて示されており、演算ステツプが
記載される通りに順次実行されることを示唆するもので
はない。説明は、単に、関連する論理演算及び算術演算
を十分に理解するのに都合が良いようになされるだけで
ある。実際には、以下に記載するステツプは、全て、ほ
ぼ同時に並行して実行され、それにより、Zバツフア検
査命令の全体を、それが実現されるプロセツサの1回の
クロツクサイクルの中で実行するようにしているのであ
る。
ステツプ10からスタートする。このステツプ10では、
画素マスクの内容を右へ4ビツトシフトさせる。その結
果、先のZバツフア検査の結果はシフトダウンされ、画
素マスクレジスタは現在の命令の結果を受取るように準
備される。ステツプ12では、ループカウンタ(i)を0
に初期設定する。次に、ステツプ14で、src2(i)から
検索したZ値をsrc1(i)から検索したZ値と比較す
る。好ましい実現形態においては、src2は「新」Z値を
含み、src1はZバツフアからの「旧」Z値を含む。すな
わち、画素(i)に関して、src2(i)は描出すべき表
面のZ値を含むのに対し、src1(i)は先に描出されて
いる表面の中で最も近接するものについての同じ画素の
Z値を含む。scr2(i)がsrc1(i)より小さいか又は
それと等しい場合、すなわち、新Z値が旧Z値より小さ
い(スクリーンに近接している)場合には、演算はステ
ツプ16へ進み、そこで、画素マスクのビツト(i+4)
に論理値1をロードする。これは、新たに描出される表
面を表示するために、関連する画素を更新すべきである
ことを示す。次に、ステツプ18へ進み、src2(i)の
値、すなわち、新Z値をrdest(i)にロードする。そ
こで、記憶場所rdest(i)は新たに計算されたZバツ
フアを指定する。
ステツプ14において、新Z値が旧Z値より大きいこと
がわかつた場合には、画素の更新は不要であるので、演
算はステツプ20へ進み、そこで、画素マスクのビツト
(i+4)に論理値0がロードされる。次に、ステツプ
22で、src1(i)の値、すなわち、旧Z値をrdest
(i)にロードすることにより、その画素に関しては旧
Z値をZバツフアに維持する。
ステツプ24では、4つの16ビツトZ値の全てが検査さ
れ終わつたか否かを判定するためにループカウンタiを
試験する。検査が完了していなければ、ステツプ26でル
ープカウンタを増分し、次のiの値についてループを繰
返す。先に説明したように、4つのZ値は順次検査され
るより、全て並行して検査されるのが好ましい。4つの
値全てが検査されていたならば、ステツプ28でMERGEレ
ジスタに全てゼロをロードする。MERGEレジスタの目的
と機能に関しては、以下にさらに詳細に説明する。次
に、ステツプ30で、Zバツフア検査命令を終了する。
第1図と以上の説明は、32ビツトのZバツフア値に関
するZバツフア検査命令の演算にもほぼ適用できる。し
かしながら、前記の演算(4)〜(6)と矛盾しないよ
うに、ステツプ10では画素マスクが右へ2ビツトシフト
されると共に、ステツプ14〜22は4つのZ値ではなく、
2つのZ値について実行されることは了承されるであろ
う。
Zバツフア検査命令をパイプライン方式で実行するこ
とにより、演算効率を向上させることができる。パイプ
ライン化されたZバツフア検査はほぼ上述の通りに実行
されるのであるが、新Z値と、旧Z値のうち小さいほう
を記憶場所rdest(i)に記憶する動作は、後続する命
令によつて実行される。従つて、それぞれのZバツフア
検査命令は、先の命令で実行された比較の結果を記憶す
ると同時に、現在比較されている2つのZ値のうち小さ
いほうを、後続する命令で記憶するのに備えて選択す
る。
次に、第4図に関して説明する。第4図には、本発明
を実現するシステムの簡略化した機能ブロツク線図が示
されている。オペランドは、一連のアドレス可能64ビツ
トレジスタから構成されるレジスタフアイル(図示せ
ず)から取出される。2つのオペランド(先に使用した
用語によれば、src1と、src2)は、64ビツト加算器50
と、マルチプレクサ52とに与えられる。加算器50とマル
チプレクサ52は、前述のように4つの16ビツトZ値又は
2つの32ビツトZ値に関する並行演算を容易にするため
に、共に、並列に配置された4つの16ビツト装置として
構成されている。
加算器50は一方のオペランドを他方のオペランドから
減算することにより、比較器として機能する。加算器50
からの実行信号は、2つのオペランドのうち小さいほう
を選択するために、マルチプレクサ52に印加される。マ
ルチプレクサ52の出力はマルチプレクサ58の入力端子A
に印加される。このマルチプレクサ58は宛先レジスタへ
送信されるべき値を決定するもので、実行中の命令のオ
ペレーシヨンコードにより制御される。Zバツフア検査
命令の場合、入力Aは結果ラツチ60への印加のために選
択される。この結果は、その後、レジスタフアイルの中
の指定フアイルに書込まれる。加算器50で実行される減
算の結果は、上記の論理演算(2a)及び(5a)に従つ
て、8ビツト画素マスク62の最上位ビツトをさらに決定
する。
尚、第4図は、本発明を実行する装置の機能ブロツク
線図であるが、第4図に示す装置を特定のハードウエア
でどのようにして実現するかは、設計上の選択の問題で
あつて、概して本発明とは無関係な数多くの要因によつ
て決定されることは当業者には明白であろう。従つて、
実際に利用するプロセツサには通常含まれているであろ
うと思われるが、本発明の機能とは無関係である回路素
子については、図面を明瞭にする目的で、ここでは図示
しなかつた。ばらの電気的構成要素及び/又は市販の集
積回路デバイスを使用して本発明を実現することは可能
であるが、マイクロプロセツサチツプとの関連で本発明
を適用するのが最も有利である。詳細にいえば、本発明
は、高いスループツトを得るために最適化された縮小命
令セツト演算(RISC)プロセツサ又はコプロセツサにお
いて特に有用である。
画素記憶 画素マスクがZバツフア検査命令によつて前述のよう
に充填された後、画素マスクの内容は、フレームバツフ
アの、対応する画素マスクビツトが論理値1にセツトさ
れるような画素記憶場所、すなわち、新たに描出される
表面が既に記憶されている表面よりスクリーンに近接し
ているような画素を選択的に更新するために使用され
る。
新たに計算された画素値は、レジスタフアイルの中の
64ビツト浮動小数点レジスタに記憶される。すなわち、
画素フオーマツトに応じて、レジスタに記憶される各デ
ータ語は2つ,4つ又は8つの画素値を含むことになる。
画素記憶命令の演算中、指定された64ビツトレジスタの
ビツトフイールドは画素マスクのビツトにより選択的に
マスクされる。それぞれの画素記憶命令と関連して、画
素マスクは、レジスタに記憶された画素値の数に対応す
るビツト数だけ、右へシフトされる。従つて、8ビツト
の画素サイズの場合は、画素マスクは8ビツトシフトさ
れ、16ビツトの画素サイズの場合は、画素マスクは4ビ
ツトシフトされ、32ビツトの画素サイズの場合には、画
素マスクは2ビツトシフトされる。
以上の説明から、画素の処理を、それぞれ8つの画素
を含む複数の画素群として編成すると好都合であること
がわかるであろう。すなわち、まず、画素マスクを充填
するために、(Z値のサイズに応じて)2つ又は4つの
Zバツフア検査命令を実行する。次に、画素サイズに応
じて、1つ、2つ又は4つの画素記憶命令を実行し、画
素マスクの内容に従つてフレームバツフアを更新する。
Z値の補間 本発明では、距離値の線形補間を実現するZバツフア
加算命令を実行する。Zバツフア加算命令については、
第2図に示すように、16ビツトZバツフアは32ビツト距
離補間を使用することができる。このように、1つの命
令で2つのZ値を同時に処理できる。Zバツフア加算命
令は、32ビツト値を、16ビツト整数部と、16ビツト小数
部とを有する固定小数点実数としてそれぞれの値を扱う
ような方式で加算するように設計されている。2つの実
数は、MERGEレジスタにロードされるときには、16ビツ
トの整数にそれぞれ切捨てされる。Zバツフア加算命令
ごとに、MERGEレジスタは右へ16ビツトシフトされる。
通常は、4つの補間Z値がMERGEレジスタに累積される
ように、2つのZバツフア加算命令は連続して実行され
る。
3D図形処理においては、従来から、1つの表面を1組
の互いに接続する多角形から構成されるものとして扱つ
ている。隠面消去を実行するためには、その表面上の各
画素位置ごとに距離値を計算しなければならない。それ
ぞれの多角形は平面状であるので、多角形上のそれぞれ
の点に関する距離値は、次のような線形関係により与え
られることがわかる。
(7) Z=k1x+k2y+k3 式中、Zは、(x,y)の座標を有する画素と関連する
Z値であり、k1,k2及びk3は定数である。
多角形のいずれかの点、通常は頂点においてZ値を初
期設定すると好都合である。この初期設定値をZ0とする
と、同じ走査線上の隣接する点、すなわち、Yは一定に
保持され且つXは1だけ増分された点のZ値は、 (8) Z1=k1+Z0 により与えられる。
従つて、画素ごとに2回の乗算と、3回の加算を実行
するのではなく、多角形ごとに1つの初期設定Zを計算
し、次に、そのZ値以外の点の1つずつについて1回の
加算のみを必要とする線形補間を実行するだけで良い。
第2図に関して説明する。第2図には、Zバツフア加
算命令が概略的に示されている。記憶場所src1及びsrc2
は、共に、2つの32ビツト固定小数点数を含む。src1又
はsrc2のいずれかは16ビツト値を伴なうZバツフアに対
応し、他方は適切な補間定数の記憶場所に対応する。Z
値は整数値として記憶されるため、Zバツフアソース語
の小数部は空であることが認められるであろう。これに
対し、補間定数は、過剰な細分性が補間Z値に導入され
ないように、32ビツト固定小数点実数として表わされ
る。
加算の結果、それ以前と変わらずに、2つの32ビツト
固定小数点実数から構成されており、それらは記憶場所
rdestへ送られる。MERGEレジスタの内容は、第2図に矢
印40で示すように、それぞれ16ビツトから成るビツト群
の中で、右へ16ビツトシフトされる。すなわち、ビツト
48〜63はビツト37〜47へシフトされ、ビツト16〜31はビ
ツト0〜15へシフトされる、2つの32ビツトの結果のう
ち16ビツトの整数部がMERGEレジスタの、先のシフトに
よつて空いたビツトにロードされるように、加算演算の
結果は切捨てされる。すなわち、2つの新たに計算され
たZ値の最上位16ビツトがビツト16〜31と、ビツト48〜
63とそれぞれロードされることになる。2つのZバツフ
ア加算命令は、通常、連続して実行されるので、MERGE
レジスタは最終的には4つのZ値を含む状態になる。
32ビツトの補間を伴なう32ビツトZバツフアの場合に
は、通常の加算命令で2回の32ビツト加算を並行して有
効に実行できるので、特別のZバツフア加算命令は不要
である。補間中にデータが下位32ビツトから上位32ビツ
トへ桁上げされることによつて引起こされるひずみは、
一般に、ささいなものである。
第4図に戻つて説明を続ける。上述のような実数加算
は64ビツト加算器50において実行される。その結果は、
先に述べたように実行中の命令のオペレーシヨンコード
により制御されるマルチプレクサ58の入力端子Bに印加
される、入力BはZバツフア加算命令のために選択され
ることにより、補間Z値を結果ラツチ60に供給させ、そ
こから、レジスタフアイルの中の指定レジスタに書込ま
せる。
加算器50から得られた結果はマルチプレクサ54にも印
加される。このマルチプレクサ54は画素サイズと、実行
中の命令のオペレーシヨンコードとにより制御される。
マルチプレクサ54は、加算器50からの結果をロードされ
るMERGEレジスタのフイールドと、シフト後のMERGEレジ
スタでロードされるフイールドとを選択する。
MERGEレジスタに累積された補間値は、マルチプレク
サ58の入力端子Cをイネーブルすることにより、MERGE
レジスタ56の出力を結果ラツチ60へ送るMERGE命令とのO
Rによつて、レジスタフアイルの中の1つのレジスタに
書込まれても良い。
画素の補間 本発明は、画素の色の強さの線形補間(Gourandシエ
ージング)を、上述のZ値補間と同様の方法で、画素加
算命令によつて実現する。先に述べた通り、本発明は8
ビツト,16ビツト及び32ビツトの画素フオーマツトをそ
れぞれ支援する。8ビツト画素フオーマツトと、16ビツ
ト画素フオーマツトは16ビツト強さ補間を使用する。64
ビツト命令の場合、画素加算は一度に4回の16ビツト補
間を実行する。32ビツト画素フオーマツトは32ビツト強
さ補間を使用する。従つて、画素加算命令は一度に2
回,そのような32ビツト強さ補間を実行する。
第3図(a)は、8ビツト画素フオーマツトを採用す
る場合の画素加算命令を示す。この場合、命令は16ビツ
ト値を加算するので、それぞれの値を、8ビツトの整数
部と、8ビツトの小数部とを含む固定小数点実数として
扱うことができる。実数は、MERGEレジスタにロードさ
れるときには、8ビツト切捨てされる。このような命令
のたびに、MERGEレジスタは右へ8ビツトシフトされ
る。2つの8ビツト画素加算命令、すなわち、偶数番号
の画素について補間を実行するための命令と、奇数番号
の画素について補間を実行するための次の命令とが連続
して実行されるべきである。MERGEレジスタのシフト
は、2つの8ビツト画素加算命令の結果を組合せる効果
を有する。
第3図(b)は、16ビツト画素フオーマツトを採用す
る場合の画素加算命令を示す。この場合、画素加算命令
は16ビツト値を加算するので、それぞれの値を、6ビツ
トの整数部と、10ビツトの小数部とを含む固定小数点実
数として扱うことができる。MERGEレジスタにロードさ
れるときには、6ビツトに切捨てされる。16ビツト画素
加算命令のたびに、MERGEレジスタは右へ6ビツトシフ
トされる。通常、1つの画素に表示される色ごとに1回
ずつ、合わせて3つのそのような命令が連続して実行さ
れる。MERGEレジスタのシフトは、連続する命令の効果
をMERGEレジスタに累積させる。尚、MERGEレジスタにロ
ードされた第1組の6ビツト値は、それぞれ、16ビツト
画素の右側末端へシフトされるときに、さらに4ビツト
に切捨てされる。
第3図(c)は、32ビツト画素に関する画素加算命令
を示す。この場合、画素加算命令は32ビツト値を加算す
るが、それぞれの値は、8ビツトの整数部と、24ビツト
の小数部とを含む固定小数点実数として扱われる。実数
は、MERGEレジスタにロードされるときには、8ビツト
に切捨てされる。32ビツト画素加算命令のたびに、MERG
Eレジスタは右へ8ビツトシフトされる。通常、1つの
画素に表示される色ごとに1回ずつ、合わせて3つのそ
のような命令が連続して実行されるが、4つの画素属性
の全てを組合せるために、4つの連続する命令を実行し
ても良い。MERGEレジスタのシフトは、連続して実行さ
れた命令の結果をMERGEレジスタに累積させる。
再び、第4図に戻ると、画素加算命令の演算は、先に
Zバツフア加算命令に関連して説明したのと同様に進行
する。すなわち、加算器50で実数の加算を実行し、その
結果を2つのマルチプレクサ54及び58に印加する。この
場合にも、補間画素値をレジスタフアイル中の指定フア
イルへ送るために、マルチプレクサ58の入力Bが選択さ
れる。切捨てされた画素強さをMERGEレジスタ56に累積
するために、マルチプレクサ54により、補間画素値の適
切なビツトフイールドが選択される。
以上説明した説明が開示の趣旨又はその本質的特徴か
ら逸脱せずに他の特定の形態で具現化されるであろう。
すなわち、本発明は上述の例に示される詳細な事項によ
り限定されるのではなく、特許請求の範囲によつて規定
されるものとする。
【図面の簡単な説明】
第1図は、本発明によるZバツフア検査命令の演算を概
念的に示す機能ブロツク線図、第2図は、本発明による
Zバツフア加算命令の演算を示す概略図、第3図(a)
は、本発明による8ビツト画素加算命令の演算を示す概
略図、第3図(b)は、本発明による16ビツト画素加算
命令の演算を示す概略図、第3図(c)は、本発明によ
る32ビツト画素加算命令の演算を示す概略図、第4図
は、本発明による図形処理装置の機能ブロツク線図であ
る。 50……64ビツト加算器、52,54……マルチプレクサ、56
……MERGEレジスタ、58……マルチプレクサ、60……結
果ラツチ、62……画素マスク。
フロントページの続き (56)参考文献 特開 昭61−15273(JP,A) 特開 昭62−214475(JP,A) 特開 昭62−3371(JP,A) 米国特許4685070(US,A) 米国特許4714428(US,A) 米国特許4811245(US,A) 杉原英文“100万トランジスタを集積 し科学技術計算,ビジュアル化をねらう マイクロプロセッサ80860”,日経エレ クトロニクス,日経BP,1989年4月3 日,No.470,P.199−209 御法川和夫はか“座標で描画位置を指 定でき、塗りつぶしやコピーなど豊富な コマンドを持つCRTコントローラ”, 日経エレクトロニクス,日経BP,1984 年5月21日,No.343,P.221−254 (58)調査した分野(Int.Cl.7,DB名) G06T 1/00 - 1/60 G06T 15/40

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】複数個の画素から構成される表示スクリー
    ンに三次元物体の図形表示を描出するために表示データ
    を発生するデジタルプロセッサにおいて、 (a) それぞれの値が前記画素の中の1つに対応し且
    つ前記表示スクリーンから、それに描出されている第1
    の物体の対応する1点までの距離を表わしているような
    複数の旧Z値を記憶する第1のレジスタ手段と; (b) それぞれの値が前記画素の中の1つに対応し且
    つ前記表示スクリーンから、それに描出されるべき第2
    の物体の対応する1点までの距離を表しているような複
    数の新Z値を記憶する第2のレジスタ手段と; (c) 前記旧Z値のうちN個を1命令サイクル内でN
    個の対応する新Z値に対して同時に比較をする比較器手
    段と; (d) 少なくともN個のビットを有し、それぞれのビ
    ットには、前記旧Z値と前記新Z値との前記比較のうち
    の対応する結果が記憶される画素マスク手段と; (e) 前記第1の物体を表す複数の旧画素値を記憶す
    るフレームバッファ手段と; (f) 前記第2の物体を表す複数の新画素値を記憶す
    る第3のレジスタ手段と; (g) 前記新画素値を、前記フレームバッファ手段
    に、前記画素マスク手段の対応するビットの関数として
    選択的に記憶させるデータ経路手段と を具備し、前記フレームバッファ手段の記憶場所のう
    ち、前記第2の物体の方が前記第1の物体より前記表示
    スクリーンに接近している記憶場所のみが更新される ことを特徴とする、画素を選択的に更新する装置。
  2. 【請求項2】複数のデータ語について演算を実行するデ
    ジタルプロセッサにおいて、 (a) 複数の古い方の第1のデータ語を記憶する第1
    のメモリ手段と; (b) 複数の新たな第1のデータ値を記憶する第1の
    レジスタ手段と; (c) 前記古い方の第1のデータ語の中のN個を、1
    命令サイクル内でN個の対応する新たな第1のデータ語
    に対して同時に比較をする比較器手段と; (d) 少なくともN個のビットを有し、それぞれのビ
    ットには、前記古い方の第1のデータ語と前記新たな第
    1のデータ語との前記比較のうちの対応する結果が記憶
    されるマスク手段と; (e) 前記古い方の第1のデータ語に対して論理的に
    関係づけられている、古い方の第2のデータ語に関し
    て、それらの複数の古い方の第2のデータ語を記憶する
    第2のメモリ手段と; (f) 複数の新たな第2のデータ語を記憶する第2の
    レジスタ手段と; (g) 前記新たな第2のデータ語を、前記第2のメモ
    リ手段に、前記マスク手段の対応するビットの関数とし
    て選択的に記憶させるデータ経路手段と を具備し、前記第2のメモリ手段の記憶場所のうち、古
    い方の第1のデータ語が対応する新たな第1のデータ値
    に対して所定の数学的関係を有している記憶場所のみが
    更新される ことを特徴とする、データ語を選択的に更新する装置。
JP2031652A 1989-02-14 1990-02-14 画像表示データ処理装置 Expired - Lifetime JP3023685B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US311.293 1989-02-14
US07/311,293 US5081698A (en) 1989-02-14 1989-02-14 Method and apparatus for graphics display data manipulation

Publications (2)

Publication Number Publication Date
JPH02289097A JPH02289097A (ja) 1990-11-29
JP3023685B2 true JP3023685B2 (ja) 2000-03-21

Family

ID=23206258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2031652A Expired - Lifetime JP3023685B2 (ja) 1989-02-14 1990-02-14 画像表示データ処理装置

Country Status (3)

Country Link
US (1) US5081698A (ja)
JP (1) JP3023685B2 (ja)
GB (1) GB2228652B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6026587B1 (ja) * 2015-04-15 2016-11-16 株式会社ドクターフィット 靴の補正方法

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268995A (en) * 1990-11-21 1993-12-07 Motorola, Inc. Method for executing graphics Z-compare and pixel merge instructions in a data processor
ATE208071T1 (de) * 1990-11-30 2001-11-15 Sun Microsystems Inc Verfahren und gerät zur darstellung von grafischen bildern
DE69233717T2 (de) 1991-06-28 2008-10-30 Lim, Hong Lip, Darlington Verbesserungen in sichtbarkeit-berechnungen fuer 3d-rechner
TW241196B (ja) * 1993-01-15 1995-02-21 Du Pont
US5583974A (en) * 1993-05-10 1996-12-10 Apple Computer, Inc. Computer graphics system having high performance multiple layer Z-buffer
WO1994027240A1 (en) * 1993-05-10 1994-11-24 Apple Computer, Inc. Computer graphics system having high performance multiple layer z-buffer
US6098163A (en) * 1993-11-30 2000-08-01 Texas Instruments Incorporated Three input arithmetic logic unit with shifter
US5596763A (en) * 1993-11-30 1997-01-21 Texas Instruments Incorporated Three input arithmetic logic unit forming mixed arithmetic and boolean combinations
US6116768A (en) * 1993-11-30 2000-09-12 Texas Instruments Incorporated Three input arithmetic logic unit with barrel rotator
US5590350A (en) * 1993-11-30 1996-12-31 Texas Instruments Incorporated Three input arithmetic logic unit with mask generator
US5485411A (en) * 1993-11-30 1996-01-16 Texas Instruments Incorporated Three input arithmetic logic unit forming the sum of a first input anded with a first boolean combination of a second input and a third input plus a second boolean combination of the second and third inputs
US5974539A (en) * 1993-11-30 1999-10-26 Texas Instruments Incorporated Three input arithmetic logic unit with shifter and mask generator
US6026484A (en) * 1993-11-30 2000-02-15 Texas Instruments Incorporated Data processing apparatus, system and method for if, then, else operation using write priority
US5493524A (en) * 1993-11-30 1996-02-20 Texas Instruments Incorporated Three input arithmetic logic unit employing carry propagate logic
US5961635A (en) * 1993-11-30 1999-10-05 Texas Instruments Incorporated Three input arithmetic logic unit with barrel rotator and mask generator
US5640578A (en) * 1993-11-30 1997-06-17 Texas Instruments Incorporated Arithmetic logic unit having plural independent sections and register storing resultant indicator bit from every section
US5673407A (en) * 1994-03-08 1997-09-30 Texas Instruments Incorporated Data processor having capability to perform both floating point operations and memory access in response to a single instruction
GB9406511D0 (en) * 1994-03-31 1994-05-25 Argonaut Software Limited Z-buffering in 3-d computer graphics
JP3240821B2 (ja) * 1994-04-22 2001-12-25 株式会社日立製作所 高機能画像メモリlsi及びそれを用いた表示装置
US5734874A (en) * 1994-04-29 1998-03-31 Sun Microsystems, Inc. Central processing unit with integrated graphics functions
US5568410A (en) * 1994-09-29 1996-10-22 International Business Machines Corporation Method and apparatus for determining the amount of leading zeros or ones in a binary data field
US6738793B2 (en) 1994-12-01 2004-05-18 Intel Corporation Processor capable of executing packed shift operations
US6275834B1 (en) * 1994-12-01 2001-08-14 Intel Corporation Apparatus for performing packed shift operations
BR9509845A (pt) 1994-12-02 1997-12-30 Intel Corp Microprocessador com operação de compactação de elementos de operação compósitos
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US7301541B2 (en) * 1995-08-16 2007-11-27 Microunity Systems Engineering, Inc. Programmable processor and method with wide operations
US5953241A (en) 1995-08-16 1999-09-14 Microunity Engeering Systems, Inc. Multiplier array processing system with enhanced utilization at lower precision for group multiply and sum instruction
US7483935B2 (en) * 1995-08-16 2009-01-27 Microunity Systems Engineering, Inc. System and method to implement a matrix multiply unit of a broadband processor
US6295599B1 (en) * 1995-08-16 2001-09-25 Microunity Systems Engineering System and method for providing a wide operand architecture
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US6385634B1 (en) 1995-08-31 2002-05-07 Intel Corporation Method for performing multiply-add operations on packed data
US7395298B2 (en) * 1995-08-31 2008-07-01 Intel Corporation Method and apparatus for performing multiply-add operations on packed data
FI107196B (fi) * 1997-07-09 2001-06-15 Vlsi Solution Oy Menetelmä ja laite kuvaelementtien käsittelemiseksi
US5933156A (en) * 1997-12-03 1999-08-03 Margolin; Jed Z-Buffer for row addressable graphics memory with flash fill
US6041404A (en) 1998-03-31 2000-03-21 Intel Corporation Dual function system and method for shuffling packed data elements
US6230257B1 (en) 1998-03-31 2001-05-08 Intel Corporation Method and apparatus for staggering execution of a single packed data instruction using the same circuit
US6230253B1 (en) * 1998-03-31 2001-05-08 Intel Corporation Executing partial-width packed data instructions
FR2818145B1 (fr) * 2000-12-18 2003-11-28 Oreal Compositions cosmetiques antisolaires a base d'un melange synergetique de filtres et utilisations
US7155601B2 (en) * 2001-02-14 2006-12-26 Intel Corporation Multi-element operand sub-portion shuffle instruction execution
WO2003021423A2 (en) 2001-09-04 2003-03-13 Microunity Systems Engineering, Inc. System and method for performing multiplication
US7818356B2 (en) 2001-10-29 2010-10-19 Intel Corporation Bitstream buffer manipulation with a SIMD merge instruction
US7624138B2 (en) 2001-10-29 2009-11-24 Intel Corporation Method and apparatus for efficient integer transform
US7430578B2 (en) * 2001-10-29 2008-09-30 Intel Corporation Method and apparatus for performing multiply-add operations on packed byte data
US7685212B2 (en) * 2001-10-29 2010-03-23 Intel Corporation Fast full search motion estimation with SIMD merge instruction
US7725521B2 (en) * 2001-10-29 2010-05-25 Intel Corporation Method and apparatus for computing matrix transformations
US7739319B2 (en) * 2001-10-29 2010-06-15 Intel Corporation Method and apparatus for parallel table lookup using SIMD instructions
US7631025B2 (en) * 2001-10-29 2009-12-08 Intel Corporation Method and apparatus for rearranging data between multiple registers
US20040054877A1 (en) 2001-10-29 2004-03-18 Macy William W. Method and apparatus for shuffling data
US7047383B2 (en) * 2002-07-11 2006-05-16 Intel Corporation Byte swap operation for a 64 bit operand
US8078836B2 (en) 2007-12-30 2011-12-13 Intel Corporation Vector shuffle instructions operating on multiple lanes each having a plurality of data elements using a common set of per-lane control bits
JP5368254B2 (ja) * 2009-10-26 2013-12-18 株式会社ソニー・コンピュータエンタテインメント 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、画像処理方法、および画像ファイルのデータ構造
JP5296656B2 (ja) * 2009-10-26 2013-09-25 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および画像処理方法
AU2010313045B2 (en) * 2009-10-26 2013-08-29 Sony Interactive Entertainment Inc. Image file generation device, image processing device, image file generation method, image processing method, and data structure for image files

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4685070A (en) * 1984-08-03 1987-08-04 Texas Instruments Incorporated System and method for displaying, and interactively excavating and examining a three dimensional volume
IL79822A (en) * 1985-12-19 1990-03-19 Gen Electric Method of comprehensive distortion correction for a computer image generation system
US4811245A (en) * 1985-12-19 1989-03-07 General Electric Company Method of edge smoothing for a computer image generation system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
御法川和夫はか"座標で描画位置を指定でき、塗りつぶしやコピーなど豊富なコマンドを持つCRTコントローラ",日経エレクトロニクス,日経BP,1984年5月21日,No.343,P.221−254
杉原英文"100万トランジスタを集積し科学技術計算,ビジュアル化をねらうマイクロプロセッサ80860",日経エレクトロニクス,日経BP,1989年4月3日,No.470,P.199−209

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6026587B1 (ja) * 2015-04-15 2016-11-16 株式会社ドクターフィット 靴の補正方法

Also Published As

Publication number Publication date
GB2228652A (en) 1990-08-29
GB2228652B (en) 1993-10-13
JPH02289097A (ja) 1990-11-29
GB8928135D0 (en) 1990-02-14
US5081698A (en) 1992-01-14

Similar Documents

Publication Publication Date Title
JP3023685B2 (ja) 画像表示データ処理装置
US5157388A (en) Method and apparatus for graphics data interpolation
US6333744B1 (en) Graphics pipeline including combiner stages
US6628290B1 (en) Graphics pipeline selectively providing multiple pixels or multiple textures
US6954204B2 (en) Programmable graphics system and method using flexible, high-precision data formats
EP1399892B1 (en) Programmable pixel shading architecture
Shipnes Graphics processing with the 88110 RISC microprocessor
US7911471B1 (en) Method and apparatus for loop and branch instructions in a programmable graphics pipeline
US4985848A (en) High speed image processing system using separate data processor and address generator
US6115047A (en) Method and apparatus for implementing efficient floating point Z-buffering
US5146592A (en) High speed image processing computer with overlapping windows-div
US5862066A (en) Methods and apparatus for fast check of floating point zero or negative zero
US4955024A (en) High speed image processing computer with error correction and logging
EP0447229A2 (en) Arithmetic and logic processing unit for computer graphics system
US5767867A (en) Method for alpha blending images utilizing a visual instruction set
US5371839A (en) Rendering processor
JP3315464B2 (ja) 画像描写方法及び装置
US20030160799A1 (en) Reconfigurable hardware filter for texture mapping and image processing
GB2226481A (en) Method and apparatus for decomposing a quadrilateral figure for display and manipulation by a computer system
JPH09288722A (ja) 高性能バンド結合機能
US6784895B1 (en) Programmable multiple texture combine circuit for a graphics processing system and method for use thereof
JPH086789A (ja) 複数命令を同時に進行させる方法及びそのためのプロセッサ
EP0790577A2 (en) Operations on images
US5815164A (en) Image rescaling in a parallel processor
JPH09231384A (ja) テクスチャマッピング方法及びそのための装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100121

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100121

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 11