[go: up one dir, main page]

JP4690312B2 - 3dリンダリングされたグラフィックスのためのタイリングシステムの改良 - Google Patents

3dリンダリングされたグラフィックスのためのタイリングシステムの改良 Download PDF

Info

Publication number
JP4690312B2
JP4690312B2 JP2006505960A JP2006505960A JP4690312B2 JP 4690312 B2 JP4690312 B2 JP 4690312B2 JP 2006505960 A JP2006505960 A JP 2006505960A JP 2006505960 A JP2006505960 A JP 2006505960A JP 4690312 B2 JP4690312 B2 JP 4690312B2
Authority
JP
Japan
Prior art keywords
list
determining
bounding box
sampling points
primitive
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
JP2006505960A
Other languages
English (en)
Other versions
JP2006521612A (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 JP2006521612A publication Critical patent/JP2006521612A/ja
Application granted granted Critical
Publication of JP4690312B2 publication Critical patent/JP4690312B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)

Description

本発明は、3Dコンピュータグラフィックス画像の生成に関し、我々の英国特許2343603、及び先行関連特許GB2298111に開示されている技術の改良に関する。
これらのシステムにおいては、2D画像面が好ましくは画素の矩形領域に細分され、各領域毎にその領域に‘関心’のあるオブジェクトのリストがコンパイルされる。これらの領域をタイルと呼ぶ。特定のタイルのためのリストがこれらの全てのオブジェクトを含む場合には、そのタイルを完全にレンダリングすることができる。代替スキーム(我々の特許出願PCT / GB01 / 02536に開示されているように)によれば、部分的なレンダリングを可能にし、それによってリストは単に要求されたオブジェクトのサブセットを含むことができる。
どのプリミティブ(典型的には三角形及び線分である)を、どのタイル内に配置すべきかを決定する費用有効な手段を有することが重要である。1つの例が、図1に示されている。これは、画素2の集合からなる仮想画像面(例えば、フレームバッファー)1を示している。これらの画素は、タイル3によってグループ化されている。プリミティブ4の例として三角形が示されている。これは、少なくとも陰影付きタイル5のためのリストによって配置、または参照される必要があろう。このプリミティブを付加的なタイルリスト(例えば、タイル6のためのような)内に含むことは差し支えないが、陰影付きのどのタイルをも除外してしまうことは正しくないことに注目されたい。
どのプリミティブがどのタイル内にあるかを決定するプロセスを、‘ビンニング’または‘タイリング’と言う。
近代的な3Dコンピュータゲームは、極めて高い多角形カウントを、従って多数のプリミティブを有する傾向がある。シーンの生成中、多くのプリミティブがサンプルするには小さ過ぎるようになり、従って画像に影響しない。これはオブジェクトとして発生し、これらは後退を距離で描くために使用される。これらの極めて小さいプリミティブをタイルリスト内に格納することは、時間、メモリ、及び処理努力を不要に使用することになる。図7に、小さい三角形プリミティブ53の簡単な例が、画像画素の格子50内に示されている。典型的には、画素(例えば、51)は1つの点(例えば、左上隅52)においてサンプルされる。三角形53はどのサンプル位置をも含んでおらず、従って画像に影響しない。この特定例においては、この事実は、プリミティブのバウンディングボックス54を考慮することによって平凡に決定することができる。これはどのような‘整数’サンプリング位置をも含まないので、このプリミティブは冗長である。
図8及び9に、サンプリング点を全く含まない他の小さい三角形を示す。しかしながらこれらの場合には、バウンディングボックス拒絶テストはこれらのプリミティブの淘汰に失敗しよう。1つの素朴な費用節約方法は、プリミティブの面積を計算し、もしそれが小さければその表面を拒絶することである。不幸にも、オブジェクトを、例えば「小さい三角形へのモザイク化−全ての小さい三角形の拒絶」によってモデル化することは、全部のオブジェクトを容易に消滅させ得るので、常に上手く行くとは限らない。
3Dコンピュータグラフィックスにおいては、典型的には{両方、時計方向、反時計方向}の1つである関連付けられた‘ワインディング順序’を用いて三角形/凸多角形プリミティブを定義することが一般的である。ワインディング順序は、レンダリングの前に若干のプリミティブを排除するための性能最適化として使用される。この最適化は、もし、投影の後に、プリミティブがその指定されたワインディング順序とマッチしない頂点順序を有していれば、そのプリミティブを無視することができるように機能する。
IEEE 754標準においては、浮動小数点数は、符号ビット(符号)、指数値(ex)、及び‘M’ビット仮数値(m)を使用して表される。mは、無視することができる若干の小さい特別な場合を除いて(−1)sign・2ex・{1+(m/2M)}を表す。ここに、0≦m<2Mである。32ビットのIEEE浮動小数点数の場合にはMは23であるが、簡約化精密数学的処理ではより少ないビットを使用することができる。もしシステムが正規化されたIEEEフロート(x)を、仮数のMビットを使用するシステムに変換するのであれば、近似x値
Figure 0004690312
内の誤差が、次の不等式に従うことを示すことができる。
Figure 0004690312
加算及び乗算演算のための同じような式を導出することができる。
Figure 0004690312
GB2343603特許には、どのプリミティブ(即ち、オブジェクトを表すために使用される基本的レンダリング要素)が特定のタイル内にあるかを決定する方法が記述されている。各プリミティブ毎に、先ず候補タイルのバウンディングボックスが決定され、次いでそのタイルの若干のコーナー点に対して各エッジ方程式をテストすることによって、候補タイルを排除することが試みられる。各エッジ毎に、各タイルの1つのコーナーだけをテストすればよい。もし候補が排除されなければ、そのプリミティブはタイルのリストに付加される。
上述した方法には幾つかの不都合な面が存在する。即ち、
(1)拒絶計算を遂行するために使用した数学的処理の精度は、あるプリミティブをカバーしているのはどの画素かを決定する時に、レンダリングシステムが使用するものと少なくとも同程度に正確であるか、または少なくともそれと同一の結果を与えなければならない。
潜在的問題の例を図2に示す。複数の画素8からなる画像のタイル7の2×2サブセットが、プリミティブの境界エッジ9と共に示されている。グレーで示されているこれらの画素は、レンダラーによってプリミティブの‘内側’にあると見られる画素を表している。明らかに、このような画素を含むどのタイルも、たとえこのような画素が1つだけしか(例えば、10)存在しなくとも、そのリスト内に含まれるプリミティブをも有しているべきである。
これは平凡なことに見えるが、実際には、より複雑であり得る。例えば、種々の内側/外側テストを遂行するために浮動小数点算術を使用して特定のタイルをレンダリングする場合、画像の左上隅に画素原点を使用するのではなく、レンダリングが例えばタイルの左上にローカル原点を使用できるように座標系を再位置合わせすることができる。このようにすると、タイルの内側をレンダリングする場合に必要なハードウェアのコストが低下するが、‘タイリング’演算のために使用することができる精度と正確に同一の精度で‘グローバルテスト’を行うことが極めて困難であり、及び/またはより高価になる。もし精度に何等かの差が存在すれば、タイル11がプリミティブを含まないように見え、従って画素10は不正確にレンダリングされることになる。
たとえ数学的処理が、レンダラーの内側で使用されるものと正確に同一の結果を与えるとしても、ハードウェア解決法にはかなりな量のシリコンを必要としよう。
代替として、浮動小数点ではなく、固定小数点数学的処理を使用することができるが、任意多角形が有効支援された数学的処理範囲に‘クリップ’されてしまうという問題を招く。クリッピングは、回避することが好ましい高価な演算である。
(2)タイルの‘テストコーナー’は、特定のエッジの線/面方程式のパラメータに依存して変化する。これは、タイル毎に/エッジ毎に決定を必要とするので不便である。
(3)システムは三角形だけを支援しており、平行四辺形から構成された‘太線’のような他のプリミティブ型にも‘タイリング’プロセスを適用することが有用である。勿論、平行四辺形を1対の三角形に変換すること、または何等かの凸多角形を支援する方法を拡張することさえも平凡なことではあるが、線の場合にはより効率的な方法が望ましい。
(4)システムは、‘小さな’プリミティブ(例えば、ある画素のサイズの周囲のプリミティブのような)がタイリングエンジンに供給されるが、実際にレンダリングされないような場合に対処しようとはしない。図6乃至8に示されているような多くのこれらのプリミティブは、それらがレンダラー内に使用される‘サンプリング点’の間に入ってしまうので、単に最終画像の結果に影響しないだけである。従って、これらをタイルリストに付加することは無駄な努力である。
本発明の好ましい実施の形態は、図6に示す単純な場合だけではなく、図7及び8から生ずる場合をも処理する方法に関する。
我々は、各(凸多角形)プリミティブを最小セットのタイルリストに付加することが望ましいが、この最小セットの計算まで拡張することが可能であり、また図1に示した6のような余分な不要タイルを臨時に付加することが間違いなく安全であることも理解している。従って、たとえそれが誤りであっても、常に付加的なタイルを含ませるようにすることを条件として、低精度の、即ち安価に実現できる数学的処理を使用できることは明白であろう。詳述すれば、低精度の方法によって計算されるタイルのセットは、正確なタイルのセットのスーパーセットでなければならない。
本発明の第1の実施の形態として、低精度計算を安全に使用する方法及び装置が提供される。更に、システムは、冗長タイルが益々付加される可能性と、数学的処理の精度、即ち実現費用とをトレードオフさせるように調整することができる。システムは、全てのエッジ/タイルに対して一貫したテスト手順を使用する利点をも有している。
本発明の第2の実施の形態において、我々は、特別な特性を利用する線分プリミティブを直接タイリングする方法が望ましいことも理解している。提唱する方法は、プリミティブを1つまたは複数の同等多角形に変換するよりも安価である。
第3の実施の形態において、本発明は、画像に影響しないことが保証されている若干の‘小さい’プリミティブを拒絶する手段を提供する。
以下に、図3を参照して本発明の好ましい実施の形態を説明する。第1のステップとして、好ましくは三角形であるプリミティブを入力する(ステップ14)。
この三角形は、IEEE、32ビット、浮動小数点座標を使用して指定されている頂点{(x0,y0),(x1,y1),(x2,y2)}を有している。GB2343603特許と同様に、このプリミティブのバウンディングボックスは、投影されたX及びYの両座標値の最大値及び最小値を計算することによって識別される(ステップ15)。即ち、
x min=min(x0,x1,x2
x max=max(x0,x1,x2
y min=min(y0,y1,y2
y max=max(y0,y1,y2
これらの最大値及び最小値は、これが比較的安価な演算であるので、完全精度で決定される。最適化として、頂点位置の等しさをテストし、頂点位置が反復される三角形を拒絶する(これらの面積が正確に0であり、画像には貢献しないであろうから)ことも可能である。この点において、本発明は単純に完全に‘オフ・スクリーン’であるプリミティブを拒絶することもできる。
計算されたバウンディングボックス及びプリミティブの座標を使用して、小プリミティブ淘汰テストが遂行される(ステップ16:これの詳細に関しては後述する)。もしそのプリミティブが画像に影響しないと考えられれば、それは破棄され(ステップ17)、そうでなければそれは‘タイル’される、即ち関連タイルリスト内に配置される(ステップ18)。以下に、先ず三角形プリミティブのタイリングプロセス(ステップ18)の詳細を、幅広線の処理への延長と共に説明する。その後に、小オブジェクト淘汰ステップ(ステップ16)に関して説明する。
我々の英国特許第2343603号は、(凸多角形)プリミティブのエッジを、どのようにして形の線(または平面方程式)として表すことができるかを記述している。
Ax+By+C=0
但し、A、B、及びCは、特定のエッジの位置及び向きに依存する係数であり、x及びyは画像座標である。画像面内の点(x,y)は、全てのエッジiについて
ix+Biy+Ci>0
の時に‘時計方向’プリミティブの厳密に内側にあると定義される。若干の環境の下(例えば、コンピュータグラフィックス標準OpenGLに記載されているフィルルール)では、若干のエッジは、プリミティブの内側にあるとしても含まれる。タイリングの目的から、システムが保存性であることを提供できる場合には、全てのエッジをプリミティブの部分であると考えることができ、従って‘時計方向’プリミティブに対する内側テストは、
∀i,Aix+Biy+Ci≧0
に緩和される。
‘反時計方向’プリミティブには、‘≦’テストを使用すべきである。簡単に言えば、本明細書においては、時計方向の場合だけを記述する。それは、当分野に精通していれば、他の場合への拡張は明白だからである。
投影された三角形について、GB 2343603特許はエッジテストのための係数を計算するための方程式をも与えている。即ち、もし(xi,yi)及び(xi+1,yi+1)があるエッジiの端点であれば、
i=yi−yi+1
i=xi+1−xi
i=xii+1−xi+1i
これらの方程式は、三角形頂点の投影された座標を含む3×3行列の随伴から実際に導出される。若干の状況においては、頂点を投影することなく、即ち、斉次座標を使用して三角形の(投影された)エッジを計算することが好ましい。その状況においては、エッジ方程式は対応する随伴行列を使用して計算することもでき、また代替実施の形態においては、タイリング演算は斉次座標を使用して遂行することができる。簡易化のために、この代替実施の形態は説明しないが、当業者にはその適応は明白であろう。
以下に、図4を参照して、好ましい実施の形態のステップ18内に含まれる処理ステップの概要を説明する。
画像面の大きさまでに制限されている候補タイルの最初の矩形領域が、プリミティブの先端から決定される(ステップ22)。
好ましい実施の形態における最適化として、候補タイルのセットが単一のタイル高、及び/または単一のタイル幅である場合(ステップ23)、全てのタイルが必要であろうからバウンディングボックスを直接使用することができる(ステップ24)。
次のステップは、エッジ方程式のパラメータを計算することである(ステップ25)。この処理ステップは、先行システムのそれとは異なっており、短く説明することにする。
プロセスは、タイルの候補セットを通して繰り返し(ステップ26)、各候補を各エッジに対してテストする(ステップ27)ことによって続行される。全てのエッジテストに‘合格’した場合だけ、プリミティブはそのタイルのリスト内に含まれる。本発明に使用されるエッジテストも、GB2343603特許に記述されているより簡単である。代替実施の形態においては、システムは、バイナリチョップのような候補タイルを処理するための代替順序を使用することができ、これはそれらの近傍の結果に基づいて若干のタイルを排除する。
ステップ25において遂行されるエッジ方程式の計算を理解するために、図5を参照されたい。所与の候補タイル30について、各プリミティブのエッジを考えなければならない。この例においては、エッジ31がタイルを横切っている。陰影付きの領域32は、プリミティブの内側の領域の部分を表している。GB2343603特許に記載されているように、この特定のエッジに対してコーナー33において内側テストを遂行すると、この特定のエッジについて正しい結果が得られるが、エッジ毎にサンプル点を選択しなければならないのは不便である。その代わりとして、一貫したサンプリング位置を使用することが好ましい。好ましい実施の形態においては、これは左上隅34に選択される。実際のエッジ方程式は、これを行うことを可能にするために、若干調整される。
各エッジは独立的に計算されるが、以下、これに関して説明する。我々は、オリジナルの完全浮動小数点精度でエッジiの端点(定義の順番に)を、
Figure 0004690312
であると定義する。但し、0≦i≦2、及びj=(i+1)mod3である。これらのデータ値の2つの比較
Figure 0004690312
が遂行され、以下の擬似コード内に記載されているように使用される。当業者ならば、この擬似コードをハードウェアまたはソフトウェアの何れかで実現することができよう。
OrientationTypes={TopLeft, TopRight, BottomLeft, BottomRight};

OrientationTypes Mode;

BOOL XjGTE, YjGTE;

// Compare the coordinate values
XjGTE := (xj >= xi);
YjGTE := (yj >= Yi);

// Determine edge orientation
IF (XjGTE AND NOT YjGTE)

{
Mode : = TopLeft;
}
ELSE IF (XjGTE AND YjGTE)
{
Mode : = TopRight;
}
ELSE IF (NOT XjGTE AND YjGTE)
{
Mode : = BottomRight;
}
ELSE
{
Mode := BottomLeft;
}
エッジの向きは、エッジ方程式に対してなされる調整を決定する。これは、以下の擬似コード内に記載されている‘シフト’量の計算を含む。また、Tx及びTy値は、それぞれx及びy方向におけるタイルの寸法を表している。
IF ((Mode == ToTopLeft) OR (Mode == ToBottomLeft))
{
x shift = Tx;
}
ELSE
{
x shift = 0;
}
IF ((Mode == ToTopLeft) OR (Mode == ToTopRight))
{
y shift = Ty;
}
ELSE
{
y shift = 0;
}
このシフト量の背後の論理は、エッジの関数としてテスト点を移動させるのではなく、同一のテストコーナーを全てのエッジに関して使用することができるように各エッジがシフトすることである。当業者ならば直ぐ後に理解されるように、サイズが、例えば32×16のような正確な2の冪であるタイル寸法を選択することが好ましい。これは、より低いコストで実現できるからである。
このシフト値は、方程式Ci’=x12−x21+xshift・Ai+yshift・Biに基づいて、エッジのための新しい係数Ciを計算するために使用される。しかしながら、この方程式は、完全精度数学的処理が使用されない限り、直接使用することはできない。その代わりとして、我々は、より低い精度で行うことができる‘安全’計算を使用する。
浮動小数点数学的処理を、少数の仮数ビットMと共に使用する。これは、典型的には、8乃至22ビットであり、好ましい実施の形態では16ビットを使用する。
前述した不等式1、2、及び3から、浮動小数点数における誤差はそれらの大きさによって境界が画される。これらの大きさを直接使用することは不便であり、従って、この実施の形態は、誤差の境界を更に緩和することによってテストを簡易化する。従って、‘安全’エッジ方程式を計算する第1のステップとして、以下の不等式が遵守されるように端点から以下の値xmagi及びymagiを計算する。
xmag≧max(|xj|,|xi|,Tx)>2xmag-1
ymag≧max(|yj|,|yi|,Ty)>2ymag-1
当業者ならば、浮動小数点数に適用する時には、これが簡単な演算であることが理解されよう。
これらの値、及び方程式1、2、及び3の適用から、‘安全マージン’値fslopが計算される。即ち、
fslopi=13*2xmag+ymag-(M+1)
これもまた、浮動小数点指数を導出するために‘定数’仮数値(ユニット13から導出)と、若干の単純な整数数学的処理とを含む浮動小数点においては簡単な演算である。
低精度数学的処理を使用する場合、エッジ方程式係数は次のように計算される。
Figure 0004690312
(注:反時計方向プリミティブの場合、fslop値を最後の方程式において差し引くべきである。)
これらの値が各エッジ毎に計算された後に、システムは候補タイルのセットを通して繰り返すことができる(ステップ26)。
ステップ27において遂行される各タイル内の各エッジ毎の不等性テストは、幾つかの方法で行うことができる。1つの可能性は、
Figure 0004690312
ここに、X及びYは候補タイルの左上コーナーの座標であるが、好ましい実施の形態は以下のものを使用する。
Figure 0004690312
それは、(1)浮動小数点の大きさ比較の方が加算より僅かに安価であるからであり、そして(2)この公式化によって、候補タイルの行を通して繰り返す間、左側を一定に保持することができるからである。
好ましい実施の形態においては浮動小数点数学的処理を使用しているが、整数計算を使用するように若干の調整も実行可能である。
ステップ26は、代替実施の形態において、候補タイルを通して‘ステッッピング’または‘繰り返し’として述べたが、幾つかの候補タイルを同時にテストすることができる。
好ましい実施の形態の拡張においては、幅広線分のための支援も設けられており、他の三角形/凸プリミティブのタイリングのために設けられている多くの機能を再使用することになろう。これらの線分は図6に示す形状であることが好ましく、40で示されているように主に垂直であるもの、及び41のような主に水平であるものの2つのクラスに大別される。これらは、中心軸の端点、即ち42(x0,y0)及び43(x1,y1)を定義することによって指定される。線分は、もし|Δx|<|Δy|ならば‘主に垂直’形状であり、それ以外は‘主に水平’であると選択される。‘垂直’線分は既知の幅wx44の水平線によってキャップされ、一方‘水平’線は別の既知の幅wy45の垂直区分によって閉じられている。
三角形プリミティブと同様に、最初のステップは、候補タイルのバウンディングボックスを計算することである。好ましい実施の形態は、費用節約の目的から完全精度数学的処理の使用を回避しているから、特定の線分がどのクラスに入るのかを100%の確実性をもって知ることはできない。この理由から、バウンディングボックス計算は、線分が水平または垂直の何れかの端を有し得ることを仮定する。前述したように、システムは端点の最小値及び最大値を安価に計算することができる。好ましい実施の形態の場合、線分上のバウンディングボックスは、
Figure 0004690312
であるとセットされる。
次いで、これは候補タイルのセットを決定し、前述したようにステップ22、23、及び24を適用する。
エッジのテストに関して、端キャップがバウンディングボックスの一部として効果的にテストされるので、本発明は中心軸に対して平行な2つのエッジを考えるだけでよい。これらをエッジ0及びエッジ1と呼ぶ。エッジ0のa及びb値の計算は、前述したように行われる。
Figure 0004690312
エッジ0のC係数
Figure 0004690312
の計算は次のように進行する。前述したように、エッジの向きが決定され、次いで以下の方法を使用してシフト量が計算される。
IF ((Mode==ToTopLeft) OR (Mode==ToBottomLeft))
{
x shift = (Tx + w x/2);
}
ELSE
{
x shift = (− w x/2);
}
IF((Mode==ToTopLeft) OR (Mode==ToTopRight))
{
y shift = (Ty + w y/2);
}
ELSE
{
y shift = (− w y/2);
}

Figure 0004690312
のための計算の残余は、前述したものと正確に同一である。即ち
Figure 0004690312
但し、i=0、j=1である。
エッジ1については、その‘a’及び‘b’値は単にエッジ0の値の負の値であるが、そのc係数は上述した手順を使用して計算される。
次に、好ましい実施の形態のユニット16において遂行されるステップ、即ち小さいプリミティブ(これらはレンダラーによってサンプルされないので、タイリング中に拒絶され得る)のテストを説明する。これは三角形に関して説明するが、この面は線分プリミティブにも適用することができる。しかしながら、その適用は当業者には明白であろうから、簡易化のために詳細な説明は省略する。同様に、他の‘淘汰’する型を支援するための変更も明白であるので、以下 ‘時計方向’プリミティブだけに関してだけ説明する。実施の形態は、画素の左上コーナーに位置する画素サンプリング点を使用する。画素の中心を選択するような他の可能性も、プリミティブをオフセットさせることによって達成することができる。
図10を参照して説明する。ステップ21において計算されたプリミティブの最大値及び最小値を使用して、システムは4つの画素サンプリング点のセット、即ち{S00,S01,S10,S11}を以下のように決定する(ステップ80)。
Figure 0004690312
ここに、
Figure 0004690312
は標準‘フロア’及び‘シーリング’演算子である。例えば、図7にはS00及びS10がそれぞれ55及び56で示されており、一方図9にはそれらはそれぞれ73及び71で示されている。バウンディングボックスの相対サイズ及び‘フロア’及び‘シーリング’の挙動の故に、これらの位置が交換されているように見えることに注目されたい。
ステップ81において、プリミティブのバウンディングボックスが全てのサンプリング点をミスしているか否かを見る(即ち、平凡な場合のテスト)ためにテストされる。その例が図7に示されている。もし含んでいなければ、そのプリミティブは淘汰される(ステップ82)。ステップ81におけるテストは、次のように要約することができる。
IF (Sxmin>Sxmax OR Symin>Symax) THEN CULL
しかしながら、このテストは図8及び9に示す例を淘汰しない。
あるサイズより大きいプリミティブを考えることは費用有効ではないので、好ましい実施の形態は、それらの選択されたサンプリング位置が1×1画素領域より更に広がらないプリミティブに対するその小オブジェクト淘汰テストを制限する。ステップ83は、この条件に関してテストし、もしそのプリミティブが大き過ぎると考えられれば、それは淘汰のためのテストを受けない(ステップ84)。ステップ83において遂行されるテストは、
IF ((Sxmax−Sxmin)>1) OR (Symax−Symin)>1) THEN KEEP
である。
次いで、本発明は、4つのサンプリング点の各々を、それらがプリミティブの内側にあるか否かを見るためにテストする。前述したように、エッジ係数が先に指定されたエッジ方程式を使用して計算される(ステップ85)。しかしながら、この状況においては数の範囲が小さいので、計算は固定小数点数学的処理を使用して極めて安価に‘高精度’で行われる。
多くとも3つの可能な場合、即ち、1つの明確なサンプリング点、2つの明確なサンプリング点(図8に61及び62で示されているような)、または4つの明確なサンプリング点(図9に71、72、73、及び74で示されているような)が考えられることに注目されたい。
好ましい実施の形態においては、4つの明確なサンプリング位置を有する状況における1つのエッジのための4つのテスト不等式が
Figure 0004690312
であることに注目することによって、各エッジに対して4つまでのサンプル位置を極めて安価にテストすることができる(ステップ86)。
同一の基本的計算、即ちAixmin+Biymin+Ciが全てに使用され、次いでそれと{0,−Ai,−Bi,(−Ai−Bi)}とが比較されていることは明白である。最悪の場合には4つのサンプリング点が必要であり、またプリミティブの外側のサンプリングは害にはならないから、この実施の形態は、簡易化のために、真に関心のあるサンプリング点の数には無関係に上述した条件の全てをテストする。
もし何れかのエッジがそのテストに失敗すれば、そのサンプル点はプリミティブの外側にあると見做される。ステップ87において、もし全てのサンプル位置がプリミティブの外側にあればそのプリミティブは淘汰され(ステップ82)、それ以外の場合にはそのプリミティブは保持される(ステップ84)。
代替実施の形態においては、2×2より大きいサンプリング格子を使用することができる。
画像面上に投影された三角形プリミティブ、及びそのプリミティブによって影響される最小タイルセットを示す図である。 1つのタイルがプリミティブによって影響された単一の画素だけを含むような、4つのタイルの領域及び1つのプリミティブエッジの‘クローズアップ’図である。 本発明を使用して1つのプリミティブを‘タイル’するか否かを決定する場合に遂行される、及びどのように‘タイル’するかを示すフロー図である。 タイリングを拒絶されなかったプリミティブをタイリングするために遂行されるステップを示すフロー図である。 GB2343603特許に記載されているエッジの‘安全な’テスト点を有するプリミティブによって部分的にカバーされているタイル、及び本発明の実施の形態における好ましいサンプリング位置を示す図である。 好ましい線分プリミティブの形状及び向きを示す図である。 もしレンダラーへ引渡されれば見ることはできないが、簡単なバウンディングボックステストを使用すれば拒絶、または淘汰することができる小さいプリミティブの例を示す図である。 これも見ることはできないが、単純にバウンディングボックスを使用しても淘汰することができない小さいプリミティブの例を示す図である。 これもまた見ることはできないが、単純にバウンディングボックスを使用しても淘汰することができない小さいプリミティブの例を示す図である。 小さい多角形を淘汰することができるか否かをテストするのに使用される諸ステップを示すフロー図である。

Claims (6)

  1. 三次元コンピュータグラフィックス画像をシェーディングするシステムにおいて小さいオブジェクトを淘汰する装置によって実行される方法であって、
    画像が見られるディスプレイを、複数の矩形領域に細分するステップと、
    各矩形領域毎に、前記矩形領域内において可視であることができる前記画像内のオブジェクトのリストを導出するステップと、
    前記オブジェクトのリストを使用して、ディスプレイのために前記矩形領域をどのようにシェーディングすべきかを決定するステップと、
    を含み、
    前記オブジェクトのリストを導出するステップが、
    各オブジェクト毎に、X及びY方向の最大値及び最小値を決定するステップと、
    前記画像内の各オブジェクト毎に、該オブジェクトのX座標及びY座標の最大値及び最小値からバウンディングボックスを決定するステップと、
    前記最大値及び最小値から、1組のピクセルサンプリング点を決定するステップと、
    前記オブジェクトを取り囲むバウンディングボックスが、前記ピクセルサンプリング点の何れかをカバーしているか否かを決定するステップと、
    前記バウンディングボックスが前記ピクセルサンプリング点をすべて欠いている場合に前記オブジェクトを淘汰するステップと、
    前記オブジェクトの各エッジに対して各サンプリング点をテストするステップと、
    実行された前記テストから前記オブジェクトが何れかのピクセルサンプリング点をカバーしているか否かを決定するステップと、
    前記決定の結果に依存して、前記オブジェクトを前記リストへ付加、または前記リストから拒絶するステップと、
    を含むことを特徴とする方法。
  2. 前記サンプリング点が1×1ピクセルより大きく広がっているか否かを決定するステップと、
    前記サンプリング点がこの制限を超えている場合に淘汰に関して前記オブジェクトをテストしないステップと、
    を含む、請求項1に記載の方法。
  3. 各オブジェクト毎に、前記オブジェクトを矩形領域のためのリストに付加すべきか否かを決定するときに、前記オブジェクトのバウンディングボックス内に少なくとも部分的に入る矩形領域だけを選択するステップ、
    を含む請求項1又は請求項2に記載の方法。
  4. 三次元コンピュータグラフィックス画像をシェーディングするシステムにおいて小さいオブジェクトを淘汰する装置であって、
    画像が見られるディスプレイを、複数の矩形領域に細分する手段と、
    各矩形領域毎に、前記矩形領域内に可視であることができる前記画像内のオブジェクトのリストを導出する手段と、
    前記オブジェクトのリストを使用することによって、ディスプレイのために前記矩形領域をどのようにシェーディングすべきかを決定する手段と、
    を含み、
    前記オブジェクトのリストを導出する手段が、
    各オブジェクト毎に、X及びY方向の最大値及び最小値を決定する手段と、
    前記画像内の各オブジェクト毎に、前記X及びY方向の最大値及び最小値からバウンディングボックスを決定する手段と、
    前記最大値及び最小値から、1組のピクセルサンプリング点を決定する手段と、
    前記オブジェクトを取り囲むバウンディングボックスが、前記ピクセルサンプリング点の何れかをカバーしているか否かを決定する手段と、
    前記バウンディングボックスが前記ピクセルサンプリング点をすべて欠いている場合に前記オブジェクトを淘汰する手段と、
    前記オブジェクトの各エッジに対して各サンプリング点をテストする手段と、
    該テストする手段により実行されたテストから前記オブジェクトが何れかのサンプリング点をカバーしているか否かを決定する手段と、
    前記決定の結果に依存して、前記オブジェクトを前記リストへ付加、または前記リストから拒絶する手段と、
    を含むことを特徴とする装置。
  5. 前記サンプリング点が前記X及びY方向における1×1ピクセルより大きく広がっているか否かを決定し、前記サンプリング点がこの制限を超えている場合に淘汰に関して前記オブジェクトをテストしない手段、を含む請求項4に記載の装置。
  6. 各オブジェクト毎に、前記オブジェクトを矩形領域のためのリストに付加すべきか否かを決定するときに、前記バウンディングボックス内に少なくとも部分的に入る矩形領域だけを選択する手段、を含む請求項4又は請求項5に記載の装置。
JP2006505960A 2003-03-27 2004-03-12 3dリンダリングされたグラフィックスのためのタイリングシステムの改良 Expired - Lifetime JP4690312B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB0307095.0A GB0307095D0 (en) 2003-03-27 2003-03-27 Improvements to a tiling system for 3d rendered graphics
GB0307095.0 2003-03-27
PCT/GB2004/001076 WO2004086309A2 (en) 2003-03-27 2004-03-12 Improvements to a tiling system for 3d rendered graphics

Publications (2)

Publication Number Publication Date
JP2006521612A JP2006521612A (ja) 2006-09-21
JP4690312B2 true JP4690312B2 (ja) 2011-06-01

Family

ID=9955666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006505960A Expired - Lifetime JP4690312B2 (ja) 2003-03-27 2004-03-12 3dリンダリングされたグラフィックスのためのタイリングシステムの改良

Country Status (5)

Country Link
US (1) US7834872B2 (ja)
EP (1) EP1611551B1 (ja)
JP (1) JP4690312B2 (ja)
GB (3) GB0307095D0 (ja)
WO (1) WO2004086309A2 (ja)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8692844B1 (en) 2000-09-28 2014-04-08 Nvidia Corporation Method and system for efficient antialiased rendering
US8775997B2 (en) 2003-09-15 2014-07-08 Nvidia Corporation System and method for testing and configuring semiconductor functional circuits
US8732644B1 (en) 2003-09-15 2014-05-20 Nvidia Corporation Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits
US8775112B2 (en) 2003-09-15 2014-07-08 Nvidia Corporation System and method for increasing die yield
US8711161B1 (en) 2003-12-18 2014-04-29 Nvidia Corporation Functional component compensation reconfiguration system and method
US8723231B1 (en) 2004-09-15 2014-05-13 Nvidia Corporation Semiconductor die micro electro-mechanical switch management system and method
US8711156B1 (en) 2004-09-30 2014-04-29 Nvidia Corporation Method and system for remapping processing elements in a pipeline of a graphics processing unit
US8427496B1 (en) 2005-05-13 2013-04-23 Nvidia Corporation Method and system for implementing compression across a graphics bus interconnect
GB0524804D0 (en) 2005-12-05 2006-01-11 Falanx Microsystems As Method of and apparatus for processing graphics
US20070188491A1 (en) * 2005-12-12 2007-08-16 Ensco, Inc. System and method for fast efficient contour shading of sampled data
US8698811B1 (en) 2005-12-15 2014-04-15 Nvidia Corporation Nested boustrophedonic patterns for rasterization
US8390645B1 (en) 2005-12-19 2013-03-05 Nvidia Corporation Method and system for rendering connecting antialiased line segments
US9117309B1 (en) 2005-12-19 2015-08-25 Nvidia Corporation Method and system for rendering polygons with a bounding box in a graphics processor unit
US8928676B2 (en) 2006-06-23 2015-01-06 Nvidia Corporation Method for parallel fine rasterization in a raster stage of a graphics pipeline
US8477134B1 (en) * 2006-06-30 2013-07-02 Nvidia Corporation Conservative triage of polygon status using low precision edge evaluation and high precision edge evaluation
GB2449399B (en) * 2006-09-29 2009-05-06 Imagination Tech Ltd Improvements in memory management for systems for generating 3-dimensional computer images
US8427487B1 (en) 2006-11-02 2013-04-23 Nvidia Corporation Multiple tile output using interface compression in a raster stage
US8482567B1 (en) 2006-11-03 2013-07-09 Nvidia Corporation Line rasterization techniques
US9965886B2 (en) 2006-12-04 2018-05-08 Arm Norway As Method of and apparatus for processing graphics
GB0710795D0 (en) * 2007-06-05 2007-07-18 Arm Norway As Method of and apparatus for processing graphics
JP4370438B2 (ja) * 2007-06-27 2009-11-25 Necシステムテクノロジー株式会社 ベクター画像描画装置、ベクター画像描画方法およびプログラム
GB2452300B (en) * 2007-08-30 2009-11-04 Imagination Tech Ltd Predicated geometry processing in a tile based rendering system
GB2461821B (en) 2007-09-12 2010-06-30 Imagination Tech Ltd Methods and systems for generating 3-dimensional computer images
US8724483B2 (en) 2007-10-22 2014-05-13 Nvidia Corporation Loopback configuration for bi-directional interfaces
US8063903B2 (en) * 2007-11-09 2011-11-22 Nvidia Corporation Edge evaluation techniques for graphics hardware
US8059119B2 (en) * 2007-12-05 2011-11-15 Stmicroelectronics S.R.L. Method for detecting border tiles or border pixels of a primitive for tile-based rendering
US8780123B2 (en) 2007-12-17 2014-07-15 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US9064333B2 (en) * 2007-12-17 2015-06-23 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US8681861B2 (en) 2008-05-01 2014-03-25 Nvidia Corporation Multistandard hardware video encoder
US8923385B2 (en) 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
US8587610B2 (en) * 2008-12-12 2013-11-19 Microsoft Corporation Rendering source content for display
GB0823254D0 (en) 2008-12-19 2009-01-28 Imagination Tech Ltd Multi level display control list in tile based 3D computer graphics system
GB0823468D0 (en) 2008-12-23 2009-01-28 Imagination Tech Ltd Display list control stream grouping in tile based 3D computer graphics systems
US8217962B2 (en) * 2009-01-29 2012-07-10 Microsoft Corporation Single-pass bounding box calculation
US20110063305A1 (en) 2009-09-16 2011-03-17 Nvidia Corporation Co-processing techniques on heterogeneous graphics processing units
KR101609266B1 (ko) * 2009-10-20 2016-04-21 삼성전자주식회사 타일 기반의 랜더링 장치 및 방법
US9530189B2 (en) 2009-12-31 2016-12-27 Nvidia Corporation Alternate reduction ratios and threshold mechanisms for framebuffer compression
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
US9171350B2 (en) 2010-10-28 2015-10-27 Nvidia Corporation Adaptive resolution DGPU rendering to provide constant framerate with free IGPU scale up
US9019280B2 (en) 2011-07-22 2015-04-28 Qualcomm Incorporated Area-based rasterization techniques for a graphics processing system
US9633458B2 (en) * 2012-01-23 2017-04-25 Nvidia Corporation Method and system for reducing a polygon bounding box
US20130257885A1 (en) * 2012-03-28 2013-10-03 Intel Corporation Low Power Centroid Determination and Texture Footprint Optimization For Decoupled Sampling Based Rendering Pipelines
US9495781B2 (en) * 2012-06-21 2016-11-15 Nvidia Corporation Early sample evaluation during coarse rasterization
US9424685B2 (en) 2012-07-31 2016-08-23 Imagination Technologies Limited Unified rasterization and ray tracing rendering environments
US9218679B2 (en) * 2012-10-08 2015-12-22 Intel Corporation Reduced bitcount polygon rasterization
US9317948B2 (en) 2012-11-16 2016-04-19 Arm Limited Method of and apparatus for processing graphics
US9858709B2 (en) 2012-11-29 2018-01-02 Samsung Electronics Co., Ltd. Apparatus and method for processing primitive in three-dimensional (3D) graphics rendering system
US9607407B2 (en) 2012-12-31 2017-03-28 Nvidia Corporation Variable-width differential memory compression
US9591309B2 (en) 2012-12-31 2017-03-07 Nvidia Corporation Progressive lossy memory compression
GB2511817A (en) 2013-03-14 2014-09-17 Imagination Tech Ltd Rendering in computer graphics systems
US9633469B2 (en) * 2013-03-15 2017-04-25 Nvidia Corporation Conservative rasterization of primitives using an error term
US10204391B2 (en) 2013-06-04 2019-02-12 Arm Limited Method of and apparatus for processing graphics
US9710894B2 (en) 2013-06-04 2017-07-18 Nvidia Corporation System and method for enhanced multi-sample anti-aliasing
CN104516880A (zh) * 2013-09-26 2015-04-15 Sap欧洲公司 图形的基于区块的布局
GB2520076B (en) * 2013-11-11 2020-07-29 Advanced Risc Mach Ltd Rasterisation in graphics processing systems
GB2526598B (en) * 2014-05-29 2018-11-28 Imagination Tech Ltd Allocation of primitives to primitive blocks
GB2524121B (en) * 2014-06-17 2016-03-02 Imagination Tech Ltd Assigning primitives to tiles in a graphics processing system
US10217272B2 (en) * 2014-11-06 2019-02-26 Intel Corporation Zero-coverage rasterization culling
GB2537659B (en) * 2015-04-22 2019-05-01 Imagination Tech Ltd Tiling a primitive in a graphics processing system
GB2537661B (en) 2015-04-22 2018-09-26 Imagination Tech Ltd Tiling a primitive in a graphics processing system
GB2539509B (en) * 2015-06-19 2017-06-14 Advanced Risc Mach Ltd Method of and apparatus for processing graphics
US9959665B2 (en) * 2015-07-21 2018-05-01 Qualcomm Incorporated Zero pixel culling for graphics processing
GB2541692B (en) * 2015-08-26 2019-10-02 Advanced Risc Mach Ltd Graphics processing systems
GB2549787B (en) * 2016-04-29 2020-09-30 Imagination Tech Ltd Generation of a control stream for a tile
GB2553744B (en) 2016-04-29 2018-09-05 Advanced Risc Mach Ltd Graphics processing systems
EP3249612B1 (en) 2016-04-29 2023-02-08 Imagination Technologies Limited Generation of a control stream for a tile
GB201713052D0 (en) 2017-08-15 2017-09-27 Imagination Tech Ltd Single pass rendering for head mounted displays
GB2574361B (en) 2017-12-18 2021-03-24 Advanced Risc Mach Ltd Graphics Processing
US10726610B2 (en) 2018-08-29 2020-07-28 Arm Limited Efficient graphics processing using metadata

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6437780B1 (en) * 1999-03-17 2002-08-20 Nvidia Us Investment Company Method for determining tiles in a computer display that are covered by a graphics primitive
JP2002529871A (ja) * 1998-11-06 2002-09-10 イマジネイション テクノロジーズ リミテッド 3次元コンピュータ生成画像のシェーディング

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251770B (en) * 1991-01-09 1995-01-11 Du Pont Pixel Systems Graphics accelerator system with polygon traversal operation
US5265210A (en) * 1991-11-04 1993-11-23 Calcomp Inc. Method and apparatus for plotting pixels to approximate a straight line on a computer display device without substantial irregularities
US5729672A (en) * 1993-07-30 1998-03-17 Videologic Limited Ray tracing method and apparatus for projecting rays through an object represented by a set of infinite surfaces
US5668940A (en) * 1994-08-19 1997-09-16 Martin Marietta Corporation Method and apparatus for anti-aliasing polygon edges in a computer imaging system
GB2336982B (en) 1995-01-31 2000-01-19 Videologic Ltd Improvements relating to computer 3D rendering systems
US5864342A (en) * 1995-08-04 1999-01-26 Microsoft Corporation Method and system for rendering graphical objects to image chunks
US5809219A (en) * 1996-04-15 1998-09-15 Silicon Graphics, Inc. Analytic motion blur coverage in the generation of computer graphics imagery
US6259452B1 (en) * 1997-04-14 2001-07-10 Massachusetts Institute Of Technology Image drawing system and method with real-time occlusion culling
US6300965B1 (en) * 1998-02-17 2001-10-09 Sun Microsystems, Inc. Visible-object determination for interactive visualization
US6624823B2 (en) * 1998-02-17 2003-09-23 Sun Microsystems, Inc. Graphics system configured to determine triangle orientation by octant identification and slope comparison
US6099573A (en) * 1998-04-17 2000-08-08 Sandia Corporation Method and apparatus for modeling interactions
US6646639B1 (en) * 1998-07-22 2003-11-11 Nvidia Corporation Modified method and apparatus for improved occlusion culling in graphics systems
EP1287494B1 (en) * 2000-06-08 2007-03-14 Imagination Technologies Limited Tiling and compression for rendering 3d images
US6760038B2 (en) * 2001-05-31 2004-07-06 Geometric Software Solutions Co. Limited Method for recognizing blends in solid models
JP3981808B2 (ja) * 2001-11-19 2007-09-26 信越化学工業株式会社 射出成形金型及びそれを用いた射出成形品の製造方法
US7081903B2 (en) * 2001-12-12 2006-07-25 Hewlett-Packard Development Company, L.P. Efficient movement of fragment stamp
US6693637B2 (en) 2001-12-31 2004-02-17 Intel Corporation Method and apparatus for determining bins to be updated for polygons, including lines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002529871A (ja) * 1998-11-06 2002-09-10 イマジネイション テクノロジーズ リミテッド 3次元コンピュータ生成画像のシェーディング
US6437780B1 (en) * 1999-03-17 2002-08-20 Nvidia Us Investment Company Method for determining tiles in a computer display that are covered by a graphics primitive

Also Published As

Publication number Publication date
US20040246251A1 (en) 2004-12-09
GB0407045D0 (en) 2004-04-28
WO2004086309A2 (en) 2004-10-07
GB0307095D0 (en) 2003-04-30
GB2401522B (en) 2005-06-15
GB0405615D0 (en) 2004-04-21
WO2004086309A3 (en) 2004-12-23
EP1611551B1 (en) 2023-06-28
GB2401522A (en) 2004-11-10
US7834872B2 (en) 2010-11-16
JP2006521612A (ja) 2006-09-21
EP1611551A2 (en) 2006-01-04

Similar Documents

Publication Publication Date Title
JP4690312B2 (ja) 3dリンダリングされたグラフィックスのためのタイリングシステムの改良
US11276233B2 (en) Rendering in computer graphics systems
EP3748584B1 (en) Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location
US8035641B1 (en) Fast depth of field simulation
US10957082B2 (en) Method of and apparatus for processing graphics
JP4237271B2 (ja) 3dグラフィックスにおける属性補間のための方法及び装置
JP5232358B2 (ja) アウトラインフォントのレンダリング
US6636212B1 (en) Method and apparatus for determining visibility of groups of pixels
TWI434226B (zh) 影像處理技術
CN110728740B (zh) 虚拟摄影测量
US20040075654A1 (en) 3-D digital image processor and method for visibility processing for use in the same
US20050068333A1 (en) Image processing apparatus and method of same
US10032308B2 (en) Culling objects from a 3-D graphics pipeline using hierarchical Z buffers
TWI559257B (zh) 使用微多邊形鋪接技術的方法、媒體及設備
EP1636787B1 (en) Shading computer-generated objects using generalized shading regions
US7948487B2 (en) Occlusion culling method and rendering processing apparatus
US7812837B2 (en) Reduced Z-buffer generating method, hidden surface removal method and occlusion culling method
US20020135591A1 (en) Method, system, and computer program product for visibility culling of terrain
JPH07152923A (ja) テクスチャ処理されたオブジェクトをレンダリングする方法及び装置
Rosen Rectilinear texture warping for fast adaptive shadow mapping
CN101271588A (zh) 可重建几何阴影图方法
JP5937957B2 (ja) リアルタイム大局照明レンダリングシステム
US8462156B1 (en) Method and system for generating shadows in a graphics processing unit
JPH10162161A (ja) ユーザ定義によるルームおよびウインドウを用いた効率的レンダリング
Woo Efficient shadow computations in ray tracing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091026

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100126

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101028

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: 20110207

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: 20110217

R150 Certificate of patent or registration of utility model

Ref document number: 4690312

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

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

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term