JP2008102904A - 加速された開始タイル探索 - Google Patents

加速された開始タイル探索 Download PDF

Info

Publication number
JP2008102904A
JP2008102904A JP2007194799A JP2007194799A JP2008102904A JP 2008102904 A JP2008102904 A JP 2008102904A JP 2007194799 A JP2007194799 A JP 2007194799A JP 2007194799 A JP2007194799 A JP 2007194799A JP 2008102904 A JP2008102904 A JP 2008102904A
Authority
JP
Japan
Prior art keywords
unit
graphics
raster
window
binary search
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.)
Granted
Application number
JP2007194799A
Other languages
English (en)
Other versions
JP4598031B2 (ja
Inventor
Franklin C Crow
シー. クロウ フランクリン
Jeffrey R Sewall
アール. セウォール ジェフェリー
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of JP2008102904A publication Critical patent/JP2008102904A/ja
Application granted granted Critical
Publication of JP4598031B2 publication Critical patent/JP4598031B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

【課題】グラフィックスパイプラインのラスタステージにおいて、開始タイルのラスタライズを加速する方法を提供する。
【解決手段】本方法は、生成された画像をクリップするウィンドウを画成するステップと、グラフィックスプロセッサのラスタステージでラスタライズするためのグラフィックスプリミティブを受け取るステップと、を含む。ウィンドウに関連する2分探索を実行して、グラフィックスプリミティブの少なくとも部分的なカバー範囲を有する開始タイルを決定する。開始タイルは複数のピクセルを含む。開始タイルに基づいて、ラスタステージは、グラフィックスプリミティブの少なくとも部分的なカバー範囲を有する複数の隣接タイルを生成することによって、グラフィックスプリミティブをラスタライズする。
【選択図】図7

Description

発明の分野
[001]本発明は、広く、ハードウェア加速型のグラフィックスコンピュータシステムに関するものである。
発明の背景
[002]コンピュータ性能の最近の進歩によって、グラフィックシステムは、パーソナルコンピュータ、ホームビデオゲームコンピュータ、ハンドヘルドデバイス等を使用して、一層現実的なグラフィカル画像を提供することが可能になってきた。このようなグラフィックシステムでは、多数の手続きを実行して、グラフィックプリミティブをシステムスクリーンへ「レンダリング」、即ち描画する。「グラフィックプリミティブ」は、グラフィックピクチャの基本的成分、例えば、頂点、ポリゴン等である。レンダリングされる画像は、これらのグラフィックプリミティブの組み合わせで形成される。多くの手続きを利用して、3Dグラフィックスレンダリングを実行することもある。
[003]特化されたグラフィックス処理ユニット(例えば、GPU(グラフィックスプロセッサユニット)等)が、グラフィックスレンダリング手続きを実行する際に要求される計算を最適化するために、開発されてきている。GPUは、高速演算を目的として構成されており、典型的には、一つ以上のレンダリングパイプラインを組み込んでいる。各パイプラインは、多数のハードウェアベースの機能ユニットを含む。これらの機能ユニットは、グラフィックス命令/データの高速実行用に最適化されている。この場合に、命令/データは、パイプラインのフロントエンドへ供給され、計算結果はパイプラインのバックエンドに出願する。GPUのハードウェアベース機能ユニット、キャッシュメモリ、ファームウェア等は、低レベルグラフィックスプリミティブ(例えば、「点」、「線」、「三角形」等を含む)について演算を行ない、レンダリングされたリアルタイム3D画像を作り出すように最適化されている。
[004]レンダリングされたリアルタイム3D画像は、ラスタ表示技術を使用して生成される。ラスタ表示技術は、コンピュータグラフィックスシステムで広く使用されており、一般的には、グラフィックスプリミティブによって、画像を構成する格子状の複数のピクセルに影響を与えるメカニズムを意味する。各プリミティブについて、典型的なラスタライズシステムは、一般的に、ピクセルからピクセルへ進み、そのプリミティブの寄与に応じて、「レンダリング」すべきか否か、即ち、所与のピクセルをフレームバッファ又はピクセルマップへ書き込むべきか否かを決定する。これは、次に、各ピクセルを表現する表示バッファへ、どのようにデータを書き込むかを決定する。
[005]プリミティブ内にある全てのピクセルをカバーするように、ピクセルからピクセルへと移動するための種々の探索アルゴリズムが開発されてきている。探索アルゴリズムは、クリッピングウィンドウを考慮する必要がある。このクリッピングウィンドウ内で、画像を構成するプリミティブがレンダリングされる。
[006]一般的に、クリッピングウィンドウは、画像の可視領域を表すために使用されるデータ構造(三角形のデータ構造、ウィンドウクリッププレーン、等)を有する。GPUは、グラフィックプリミティブを適切にクリップするために、クリッピング情報を維持するための専用のハードウェア及び/又はソフトウェアを有する。視処理(Viewing)、投射(Perspective)、及びクリッピングのステージは、受け取った各ポリゴンの頂点及び稜線に対する多くの算術演算を必要とする。
[007]クリッピングウィンドウ内に部分的にのみ存在するプリミティブをラスタライズする場合に、問題が存在する。典型的な従来技術の解決法は、プリミティブを単一方向にラスタライズして、カバーされたピクセルを生成することを伴う。このような従来技術の単一方向の解決法は、一定の方向においてラインごとにピクセルを生成することを伴う。従来の解決法は、クリッピングウィンドウの一つのエッジで始まり、プリミティブに遭遇するまでクリッピングウィンドウを横切って全探索し、ラスタライズのラインが完了するまでプリミティブを横切って進む。これはプリミティブの稜線を発見するために、画像を横切る連続的な移動を必要とする。プリミティブの稜線がクリッピングウィンドウの外側にあるとき、従来の解決法は、開始エッジから進み、プリミティブの可視領域(例えば、クリッピングウィンドウの内部の部分)へ進むまで、プリミティブを横切って探索しなければならない。
[008]このように、大量の作業及び対応する多数のクロックサイクルが、画像内で最終的にはレンダリングされないピクセルをラスタライズすることに消費される。このことは、全体的な3Dレンダリング処理の性能に対して非常に大きな負の影響を与える。この性能に対する負の影響は、クリッピングウィンドウの外側に大部分の区域を有するプリミティブ(例えば、シャドウイングアプリケーションで多く見られる長くて薄い三角形)の場合に顕著となる。
[009]したがって、必要とされるグラフィックスレンダリングハードウェア、及びそのレンダリングハードウェアによって消費されるクロックサイクルが、生成される画像に関連するピクセルを生成することに生産的に利用されることを確実にするラスタライズ処理の必要性が存在する。
発明の概要
[010]本発明の実施形態は、必要とされるグラフィックスレンダリングハードウェア、及び当該レンダリングハードウェアによって消費されるクロックサイクルが、生成されるウィンドウクリップ画像に関連するピクセルを生成することに生産的に利用されることを確実にするラスタライズ処理方法、及びシステムを提供する。
[011]一実施形態において、本発明は、グラフィックスパイプライン(例えば、GPU)のラスタステージで、開始タイルの加速されたラスタライズ方法として実現される。本方法は、生成された画像をクリップするウィンドウを画成するステップと、グラフィックスプロセッサのラスタステージでラスタライズするためのグラフィックスプリミティブを受け取るステップと、を含む。ウィンドウに関連した2分探索を実行して、グラフィックスプリミティブの少なくとも部分的なカバー範囲を有する開始タイルを決定する。開始タイルに基づいて、ラスタステージは、グラフィックスプリミティブの少なくとも部分的なカバー範囲を有する複数の近隣タイルを生成することによって、グラフィックスプリミティブをラスタライズする。開始タイル及び近隣タイルの各々は、或る数のピクセルを含む(例えば、16×16ピクセル、32×32ピクセルなど)。
[012]2分探索は、グラフィックスプリミティブ(例えば、三角形、四辺形、線など)と交差するウィンドウのエッジに沿った特定のタイル(例えば、開始タイル)を、各ステップで当該エッジに沿った候補の開始タイルの範囲の半分を除外することによって、発見するアルゴリズムを含む。例えば、2分探索は、範囲の中央地点を発見し、所望の開始タイルが中央地点の前又は後に来るかどうかを決定する比較を行い、同じようにして残りの半分を探索し、開始タイルを突き止めるまで同じような処理を続ける。
[013]この方法で、本発明の実施形態は、クリッピングウィンドウの内側に存在するグラフィックスプリミティブの稜線を突き止める探索時間を、より困難な場合(例えば、グラフィックスプリミティブの大部分がクリッピングウィンドウの外側に存在する場合)において、100倍以上加速する。したがって、加速された探索時間によって、2分探索処理を、後続のラスタライズオペレーションと並列又は重複して実行し、それによってリアルタイム3Dグラフィックスレンダリングの効率を大きく向上することができる。
発明の詳細な説明
[014]以下、本発明を、添付の図面の図において、例示として、限定するものとしてではなく、説明する。これら図面において、類似の参照符号は同様の要素を指している。
[022]ここで、本発明の好ましい実施形態を詳細に参照する。実施形態の例を、添付の図面に図示する。本発明を、好ましい実施形態に関して説明するが、これら実施形態は、当該実施形態へ本発明を限定することを意図していないことが理解されるであろう。反対に、本発明は、添付の特許請求の範囲によって定められる本発明の精神及び範囲の中に含まれる代替、修正、及び均等物をカバーすることを意図している。更に、本発明の実施形態の下記の詳細な説明においては、本発明を十分に理解させるために、多数の具体的詳細部分を説明する。しかしながら、本発明は、これらの具体的詳細部分がなくても実施可能であることが、当業者によって認識されるであろう。他の例においては、本発明の実施形態の様相を、不必要なほどに不明瞭にしないよう、周知の方法、手続き、構成要素、及び回路について詳細に説明していない。
(表記法及び用語)
[023]下記の詳細な説明の幾つかの部分は、手続き、ステップ、論理ブロック、処理、及びコンピュータメモリ内のデータビットに対する演算に関する他の記号表現によって呈示してある。これらの記述及び表現は、データ処理技術の当業者によって使用される手段であり、当業者の成果の内容を他の当業者へ最も効果的に伝達するものである。手続き、コンピュータの実行ステップ、論理ブロック、処理等は、本明細書において、及び一般的に、所望の結果へ導くステップ又は命令の首尾一貫したシーケンスであると考えられる。ステップは、物理量の物理的操作を必要とするものである。通常、必ずしもそうではないが、これらの量は、記憶、転送、結合、比較、及びコンピュータシステム内で操作可能な電気又は磁気信号の形態をとる。時には、一般的に使用されることを主な理由として、これらの信号をビット、値、要素、記号、文字、項、数等で参照することが便利であることが分かっている。
[024]しかしながら、これら及び類似の用語の全てが、適切な物理量に関連づけられるべきであること、及びこれらの量へ適用される単に便宜的なラベルであることを、留意すべきである。下記の説明から明らかであるように、特に別途言及しない限り、本発明の全体を通して、「処理」又は「アクセス」又は「実行」、又は「記憶」又は「レンダリング」等の用語を利用した説明は、コンピュータシステム(例えば、図1のコンピュータシステム100)、又は類似の電子コンピューティングデバイスのアクション及びプロセスを意味することを理解されたい。これらコンピュータシステム又は類似の電子コンピューティングデバイスは、コンピュータシステムのレジスタ及びメモリ内で物理(電子)量として表現されたデータを操作して、コンピュータシステムメモリ又はレジスタ又は他のこのような情報記憶、伝送、又は表示デバイス内の物理量として同じように表現された他のデータへ変換する。
<コンピュータシステムプラットフォーム>
[025]図1は、本発明の一実施形態に係るコンピュータシステム100を示している。コンピュータシステム100は、本発明の実施形態に従った基本的なコンピュータシステムの構成要素を描いたものであり、あるハードウェアベース及びソフトウェアベースの機能のために実行プラットフォームを提供するものである。一般的に、コンピュータシステム100は、少なくとも一つのCPU101、システムメモリ115、及び少なくとも一つのグラフィックスプロセッサユニット(GPU)110を備える。CPU101は、ブリッジ構成要素/メモリコントローラ(図示されず)を介してシステムメモリ115へ結合可能であるか、CPU101の内部にあるメモリコントローラ(図示されず)を介してシステムメモリ115へ直接結合可能である。GPU110は、ディスプレイ112へ結合されている。一つ以上の追加のGPUを、オプションとして、システム100へ結合し、その計算能力を更に向上することができる。GPU110は、CPU101及びシステムメモリ115に結合されている。システム100は、例えば、デスクトップコンピュータシステム又はサーバコンピュータシステムとして実現可能であり、専用グラフィックスレンダリングGPU110へ結合された強力な汎用CPU101を有する。このような実施形態においては、周辺バス、専門グラフィックスメモリ、I/Oデバイス等を付加する構成要素が含まれていてもよい。同様に、システム100は、ハンドヘルドデバイス(例えば、携帯電話等)又はセットトップビデオゲームコンソールデバイス、例えば、Microsoft Corporation of Redmond,Washingtonから入手可能なXbox(登録商標)、又は Sony Computer Entertainment Corporation of Tokyo,Japanから入手可能なPlayStation3(登録商標)として実現可能である。
[026]GPU110は、別個の構成要素、コネクタ(例えば、AGPスロット、PCI−Expressスロット等)を介してコンピュータシステム100へ結合されるように設計された別個のグラフィックスカード、別個の集積回路ダイ(例えば、マザーボードに直接取り付けられる)、又はコンピュータシステムチップセットの構成要素(図示されず)をもつダイ内に含められた集積GPUとして、実現可能であることを理解されたい。更に、ローカルグラフィックスメモリ114を、GPU110用に高帯域幅グラフィックスデータストレージとして含めてもよい。
<本発明の実施形態>
[027]図2は、本発明の一実施形態に従ってグラフィックスプリミティブ201及びクリッピングウィンドウ202を描いた図である。図2に示すように、グラフィックスプリミティブ201は、クリッピングウィンドウ202と交差するが、大部分はクリッピングウィンドウ202の外側にある。
[028]グラフィックスプリミティブ201(ここでは三角形のグラフィックスプリミティブ)、及びクリッピングウィンドウ202は、GPUのグラフィックスパイプラインのラスタライズで問題となる典型的な場合を示している。グラフィックスプリミティブ(例えば、三角形、四辺形、線等)をラスタライズするときに、GPU(例えば、GPU110)のラスタライズハードウェアは、所与の三角形(例えば、三角形201)内で、どこからラスタライズ処理を開始するかを決定する必要がある。GPUは、そのラスタライズ処理のために開始点を決定する必要がある。
[029]一般的には、ラスタライズ処理は、三角形201によって影響、接触、及び/又はカバーされる画像を構成するピクセルの2D格子(及びクリッピングウィンドウ202を構成するピクセルの格子)の構成ピクセルを訪問するように、三角形201を探索することを伴う。多くの様々な探索パターンをGPUのラスタライズ機能によって使用して、どのピクセルが三角形201によってカバーされるかを系統的に決定することができる。
[030]これら様々な探索パターンは、一般的に、三角形201によってカバーされる連続ピクセルが略順番に評価される点で、共通の特徴を有している。例えば、一実施形態では、ピクセルは、前後左右、左から右、又は右から左へ線形に走査されるように検査される(例えば、一時に一つの行、一時に一つの列など)。或いは、一実施形態では、犂耕パターンの探索を使用することができる。ここで、「犂耕」とは、農夫が畑を耕すか収穫するときのように、一つの軸に沿って、各パスが更に直交軸に沿って移動につれて、往復するように操作することによって、2D区域の全てのピクセルを訪問する探索パターンを意味する。
[031]GPU110によって実現される探索パターンの型がどのようなものであれ、三角形201のピクセルをラスタライズする開始点を決定する必要がある。三角形(又は他の型のグラフィックスプリミティブ)がクリッピングウィンドウ202の中に完全に含まれる場合、開始点の選択は容易である。開始点の決定は、例えば、三角形の頂点の一つを開始点として使用することを含むであろう。頂点がクリップ境界ボックスの中に存在せず、開始点として通常使用される境界ボックスの隅が三角形の外側にあるときに、困難が生じる。
[032]一実施形態では、GPU110は、その探索パターンにおいて、タイル、即ちピクセルのグループを利用する。例えば、探索のラインは、その探索のラインに沿った連続タイル(例えば、8×8ピクセル、16×16ピクセル、32×32ピクセルなど)をGPU110が横切って進むことを伴うであろう。三角形と交差する最初のタイルが開始点となる。或いは、GPU110は、複数のサンプル点から構成されるタイルを利用することができる。その場合、各ピクセルは、4個、8個、16個等のサンプル点を含む。
[033]本発明の実施形態は、より問題となる場合を処理するのに特に適している。このような場合として、クリップされるグラフィックスプリミティブ、例えば、三角形201が、クリッピングウィンドウ202によって部分的にクリップされる場合がある。例えば、三角形の大部分がクリッピングウィンドウ202の外側にある場合、三角形の境界ボックスがスクリーンの大きな区域をカバーしても、実際には三角形の小さな部分のみがスクリーンの内部にあることもある。このことは、三角形201の小さな部分203がクリッピングウィンドウ202の上部に見えるが、三角形201の境界ボックス205はクリッピングウィンドウ202の上部の大部分をカバーするものとして、図2に示してある。
[034]本発明の実施形態は、クリッピングウィンドウ202の中にある三角形201の部分203をラスタライズするために開始タイルを迅速に発見することができる。従来技術において、ラスタライズ処理は、三角形の境界ボックスの遠い左エッジから横断を開始して、クリッピングウィンドウ202の左エッジへ到達し、次にウィンドウ202の上部を横切って、三角形201に遭遇するまでスクリーンの上部をタイルごとに横断しなければならない。これは、非常な無駄な時間を生じさせる。なぜなら、GPUのラスタライザは、三角形に遭遇する前に、スクリーン幅の半分を超えて横断するからである。従来技術の解決法は、三角形の一部を実際に含むタイルに遭遇するまで、典型的には、スクリーンの上部を横断することによって、全てのタイルを検査する必要があった。対照的に、本発明の実施形態は、加速された開始タイル探索アルゴリズムを実現する。このアルゴリズムは、GPUサイクル又はラスタライズハードウェアを無駄にすることなく開始タイルを迅速に特定する。
[035]更に図2を参照する。一実施形態では、加速された開始タイルラスタライズ処理は、グラフィックスパイプライン(例えば、GPU110)のラスタステージにおいて実施される。例えば、三角形201を含む場合、生成された画像をクリップするクリッピングウィンドウ202が画成され、ラスタステージでラスタライズされるグラフィックスプリミティブ201が受け取られると、2分探索が実施されて、開始タイルが迅速に特定される。2分探索は、クリッピングウィンドウを構成するタイル(例えば、1024×768、1600×1200、1920×1200など)を探索して開始タイルを決定する点で、クリッピングウィンドウに関連する。前述したように、開始タイルは、三角形201の少なくとも部分的なカバー範囲を有する。開始タイルに基づいて、ラスタステージは、探索のラインに沿って複数のタイルを生成することによって、三角形201をラスタライズする。これらのタイルの各々は、三角形201を少なくとも部分的にカバーするか接触する。
[036]図3は、本発明の実施形態によって実行されるように三角形201をラスタライズする2分探索を示す図である。2分探索は、三角形201と交差するクリッピングウィンドウ202のエッジに沿った特定のタイル(例えば、開始タイル)を、各ステップで当該エッジに沿った候補の開始タイルの範囲の半分を除外することによって、発見するマルチステップアルゴリズムを含む。例えば、図3の実施形態においては、2分探索は、探索のライン301を含むタイルの範囲の中央地点を発見し、所望の開始タイルが中央地点の前又は後に来るかを決定するための比較を行い、次に残りの半分を同じように探索し、開始タイルが突き止められるまで同じように反復する。各ステップにおいて、残りの範囲が半分に分割され、2分探索アルゴリズムは所望の開始タイルに近づいて行く。このことは、図3に示してある。即ち、中央地点の線305によって示されるように、2分探索は最初の中央地点を検査し、所望の開始タイルが右にあることを決定し、線306で示されるように、第2の中央地点を検査し、開始タイルが更に右にあることを決定し、以下同様に行なう。
[037]このようにして、本発明の実施形態によって実現されるように、探索のラインに沿った2分探索は、クリッピングウィンドウの内側にあるグラフィックスプリミティブの稜線(例えば、三角形201の部分203)を突き止めるための探索時間を、困難な場合(例えば、グラフィックスプリミティブの大部分がクリッピングウィンドウの外側にある場合)に、100倍以上加速する。したがって、加速された探索時間によって、2分探索処理を後続のラスタライズオペレーションと並列又は重複して実行することが可能となり、これによってリアルタイム3Dグラフィックスレンダリングの効率が大きく向上される。更に、加速された探索時間によって、必要とされるグラフィックスレンダリングハードウェア、及び当該レンダリングハードウェアによって消費されるクロックサイクルが、空のピクセルを横切って進む無駄な動作ではなく、ウィンドウによってクリップされた画像に関連したピクセルを生成することに生産的に利用されることが確実になる。
[038]本発明の実施形態によって実現されるように、2分探索は、対数的な性質をもち、logの時間で実行されることに留意されたい。具体的には、所望の開始タイルを返却するため、1+logN回の反復が必要である。ここで、Nは探索のラインに沿ったタイルの総数に対応する(例えば、1920×1200ウィンドウ又は画像の上部エッジに沿って、60個の32×32タイルが存在する)。2分探索は、従来技術の順次探索よりも相当に速い。順次探索の場合、所望の開始タイルがランダムに分布するときに、平均でN/2回の比較が必要であり、テストされる最後のタイルが開始タイルである最悪のケースでは、N回の比較が必要である。
[039]図4は、本発明の一実施形態に従って特定のタイル又は特定のピクセルが三角形201の左、右、又は内部にあるかどうかを決定するためにGPU110によって評価される頂点方程式の演算を示す図である。一実施形態では、三角形201の頂点に基づく頂点方程式を使用して、三角形201の稜線の位置を計算する。これらの頂点方程式は、探索のラインに沿った所与のピクセルが、三角形201の左、右、又は内部にあるか否かを示す。したがって、例えば、稜線方程式は、探索のラインの一部分401上のピクセル(又は、タイル、サンプルなど)が三角形201の左にあり、探索のラインの一部分402上のピクセルが三角形201の内部にあり、探索のラインの一部分403上のピクセルが三角形201の右にあることを示すであろう。
[040]本実施形態は、ウィンドウ202の上部エッジに沿った2分探索を実行することに関して説明されているが、本発明の実施形態は、ウィンドウ202の複数のエッジに沿って2分探索を実行できることに留意されたい。これによって、グラフィックスプリミティブがウィンドウ202の左エッジ、右エッジ、又は底の外に延在する場合に、2分探索を効率的に進行することが可能となる。例えば、一実施形態では、第1のエッジ(例えば、ウィンドウ202の上部又は底のエッジ)上で2分探索を実行し、続いて第2のエッジ(例えば、ウィンドウ202の左又は右のエッジ)上で実行して、所望の開始タイルを最も効率的に突き止めることができる。
[041]図5は、本発明の一実施形態に従って、開始タイル501が2分探索によって突き止められる様子、及び連続した隣接タイルが三角形201について反復される様子を示す図である。前述したように、2分探索が使用されて、クリッピングウィンドウ202の内部にある三角形201の部分について開始タイル501が突き止められる。続いて、図示するように、開始タイル501に基づき探索のラインに沿った複数のタイルを生成することによって、三角形201の残りがラスタライズされる。続いて生成されたタイルの各々は、三角形201の少なくとも部分的なカバー範囲を有する。図5の実施形態が犂耕探索パターンを示していることに留意されたい。
[042]したがって、前述したように、加速された探索時間によって、後続のラスタライズオペレーションと並行又は重複して2分探索処理を実行することが可能となる。例えば、一度、開始タイル501が突き止められると、2分探索アルゴリズムは、三角形201の残りがラスタライズされるときに、後続のグラフィックスプリミティブのために後続の開始タイルを突き止めることに進むことができる。後続の開始タイルを突き止める2分探索は、三角形201の残りのタイルが切り出されているときと同時に発生することが可能である。この機能の重複は、一つのラスタライズ機能(例えば、開始タイルの探索)が、後続のラスタライズ機能(例えば、三角形からの複数タイルのラスタライズ)が進行している間に終了ように、グラフィックスハードウェアが遊休状態にならないようにする。
[043]図6は、本発明の一実施形態に従ったタイル601の寸法を示す図である。図6に示すように、タイル601は、コーナー602〜605を含む。所与のアプリケーションの特定の要件に応じて、タイル601は2分探索の際にコーナー602〜605の何れか一つで評価可能である。一実施形態では、タイルは最も尤度の高いエッジ、例えば、2分探索処理の間にグラフィックスプリミティブと最初に交差するであろうエッジ607に沿って評価される。例えば、タイルのエッジ607を、前述した三角形稜線方程式に従って評価し、前述したように、2分探索の次の中央地点が左、右、上方、又は下方にあるかどうかを決定する。
[044]本発明の実施形態が、複数のピクセルをもつタイルに加えて、個々のピクセルに対して、更にはピクセルの内部のサンプルの配列に対して、処理可能であること、及びタイルのサイズが、特定のアプリケーションのニーズ(例えば、グラフィックスドライバによってプログラム可能である、等)に応じて、カスタマイズ可能であることに留意されたい。更に、探索されるべき所与のクリッピングウィンドウのエッジの数、探索されるべき第1及び第2のクリッピングウィンドウのエッジ、及び評価されるべきタイルのエッジ又はコーナーが、特定のアプリケーションのニーズ(例えば、グラフィックスドライバによってプログラム可能である、など)に応じて、プログラム可能であることにも留意されたい。
[045]図7は、本発明の一実施形態に係るGPU110の内部構成要素の図を示す。図7に示すように、GPU110は、セットアップエンジン701及びラスタライザユニット702を備えている。本実施形態では、本発明の機能が、ラスタライザユニット702のハードウェア及びソフトウェアの内部に実装されている。一般的に、ラスタライザユニット702は、セットアップエンジン701から受け取られた頂点ベースの記述を、稜線ベースの記述へ変換するように機能する。続いて、ラスタライザユニット702は、これらの稜線の記述を、実際のピクセル記述を構成する充填領域(例えば、ピクセル領域、ピクセルの部分サンプル等)へ変換する。続いて、ピクセル記述はGPU110内の他のユニットへ渡され、更なる処理及びレンダリングが行われる。
[046]一実施形態において、ラスタライザユニット702は、微細なラスタ構成要素703、及び粗いラスタ構成要素704を有する。ステッパユニット705は、粗いラスタ構成要素704内に実装されており、前述したような加速された開始タイル探索機能を実施する。開始タイルが特定されると、粗いラスタユニット703は、タイルの格子を迅速に探索して、注目するタイル(プリミティブによってカバーされるタイル)を特定する。注目するタイルが特定されると、微細なラスタ構成要素703が、プリミティブによってカバーされるピクセルを個々に特定する。したがって、このような実施形態では、ステッパ705は所望の開始タイルを特定し、粗いラスタ構成要素704はタイルを使用することによってピクセルの格子を迅速に探索し、微細なラスタ構成要素703は粗いラスタ構成要素704によって生成された情報を使用し、プリミティブによってカバーされたピクセルを個々に特定することによって、微細粒度のラスタライズを実現する。
[047]更に図7を参照する。GPU110は更にキャッシュメモリ721を有する。キャッシュメモリ721は、使用頻度が最も高いグラフィックスレンダリングデータのために高速低待ち時間記憶を実現するように機能する。このようなデータは、典型的には、テクスチャ情報、頂点情報、色等を含む。キャッシュメモリ721は、ローカルグラフィックスメモリ114へ結合されるように示されている。キャッシュメモリ721は一つ以上のキャッシュメンテナンスメカニズムを利用して、ローカルグラフィックスメモリ114との一貫性を維持する。矢印740は、GPU110とシステムメモリ(例えば、図1に示したメモリ115)との間の通信経路を示している。
[048]以上の本発明の特定の実施形態に関する記述は、例示及び説明を目的として呈示したものである。これらの記述は、本発明の全てを包括することは意図しておらず、開示されたそのままの形態へ本発明を限定することも意図しておらず、上記の教示に照らして、多くの修正及び変形が想定され得る。これら実施形態は、本発明の原理及びその実用的応用を最良に説明し、それによって当業者が、想定される特定の使用に適した様々な修正によって本発明及び様々な実施形態を最良に利用することができるように、選択して説明したものである。本発明の範囲は、本明細書に添付された特許請求の範囲及びその均等物によって定められることが意図されている。
本発明の一実施形態に係るコンピュータシステムを示す図である。 本発明の一実施形態に従ってグラフィックスプリミティブ及びクリッピングウィンドウ202を描いた図である。 本発明の実施形態によって実行されるように三角形201をラスタライズするための2分探索を示す図である。 本発明の一実施形態に従って、特定のタイル又は特定のピクセルが三角形の左、右、又は内部にあるかどうかを決定するために、GPUによって評価される頂点方程式の演算を示す図である。 本発明の一実施形態に従って、開始タイルが2分探索によって突き止められる様子、及び連続したタイルが三角形から反復される様子を示す図である。 本発明の一実施形態に係るタイルの寸法を示す図である。 本発明の一実施形態に係るGPUの内部構成要素を示す図である。
符号の説明
100…コンピュータシステム、101…中央プロセッサユニット(CPU)、110…グラフィックスプロセッサユニット(GPU)、112…ディスプレイ、114…ローカルグラフィックスメモリ、115…システムメモリ、701…セットアップエンジン、702…ラスタライザユニット、703…微細なラスタ構成要素、704…粗いラスタ構成要素、705…ステッパ、721…キャッシュメモリ。

Claims (11)

  1. グラフィックスプリミティブを含むポリゴン記述を生成するセットアップユニットと、
    前記セットアップユニットへ結合されたラスタユニットであって、前記グラフィックスプリミティブをラスタライズする該ラスタユニットと、
    を備え、
    前記ラスタユニットが、クリッピングウィンドウに関連する2分探索を実行して、前記グラフィックスプリミティブの少なくとも部分的なカバー範囲を有する開始タイルであって複数のピクセルを含む該開始タイルを決定し、前記ラスタユニットが、前記開始タイルに基づいて、前記グラフィックスプリミティブの少なくとも部分的なカバー範囲を有する複数の隣接タイルを生成することによって、前記グラフィックスプリミティブをラスタライズする、グラフィックスプロセッサユニット。
  2. 前記グラフィックスプリミティブの一部分が前記ウィンドウの外側に存在する、請求項1に記載のグラフィックスプロセッサユニット。
  3. 前記2分探索が、前記ウィンドウの第1のエッジ上で実行され、続いて前記ウィンドウの第2のエッジ上で実行される、請求項1に記載のグラフィックスプロセッサユニット。
  4. 前記ラスタステージ内にあって、前記2分探索を実施するステッパユニットを更に備える、請求項1に記載のグラフィックスプロセッサユニット。
  5. 前記ステッパユニットが、前記グラフィックスプリミティブの前の一部分の同時実行可能なラスタライズと重複するように前記2分探索を並列に実行する、請求項4に記載のグラフィックスプロセッサユニット。
  6. 粗いラスタユニットと、
    微細なラスタユニットと、
    を更に備え、
    前記ステッパユニットが、前記粗いラスタユニット内に実装され、前記微細なラスタユニットが、第2レベルのラスタライズを実行して、前記グラフィックスプリミティブを少なくとも部分的にカバーする複数のタイルから、カバーされたピクセルを決定する、請求項5に記載のグラフィックスプロセッサユニット。
  7. システムメモリと、
    前記システムメモリへ結合された中央プロセッサユニットと、
    前記中央プロセッサユニットへ通信可能に結合されたグラフィックスプロセッサユニットと、
    グラフィックスプリミティブを含むポリゴン記述を生成するセットアップユニットと、
    前記セットアップユニットへ結合されたラスタユニットであって、前記グラフィックスプリミティブをラスタライズする該ラスタユニットと、
    を備え、
    前記ラスタユニットが、クリッピングウィンドウに関連する2分探索を実行して、前記グラフィックスプリミティブの少なくとも部分的なカバー範囲を有する開始タイルであって複数のピクセルを含む該開始タイルを決定し、前記ラスタユニットが、前記開始タイルに基づいて、前記グラフィックスプリミティブの少なくとも部分的なカバー範囲を有する複数の隣接タイルを生成することによって、前記グラフィックスプリミティブをラスタライズする、
    コンピュータシステム。
  8. 前記グラフィックスプリミティブの一部分が前記ウィンドウの外側に存在する、請求項7に記載のコンピュータシステム。
  9. 前記2分探索が前記ウィンドウの第1のエッジ上で実行され、続いて前記ウィンドウの第2のエッジ上で実行される、請求項8に記載のコンピュータシステム。
  10. 前記ラスタステージ内にあるステッパユニットであって、前記2分探索を実施する該ステッパユニットを更に備え、
    前記2分探索が、前記グラフィックスプリミティブの前の部分の同時実行可能なラスタライズと重複して並列に実行される、請求項9に記載のコンピュータシステム。
  11. 粗いラスタユニットと、
    微細なラスタユニットと、
    を更に備え、
    前記ステッパユニットが、前記粗いラスタユニット内に実装され、前記微細なラスタユニットが、第2レベルのラスタライズを実行して、前記グラフィックスプリミティブを少なくとも部分的にカバーする複数のタイルから、カバーされたピクセルを決定する、請求項10に記載のコンピュータシステム。
JP2007194799A 2006-07-26 2007-07-26 加速された開始タイル探索 Active JP4598031B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/494,407 US7843468B2 (en) 2006-07-26 2006-07-26 Accellerated start tile search

Publications (2)

Publication Number Publication Date
JP2008102904A true JP2008102904A (ja) 2008-05-01
JP4598031B2 JP4598031B2 (ja) 2010-12-15

Family

ID=38985726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007194799A Active JP4598031B2 (ja) 2006-07-26 2007-07-26 加速された開始タイル探索

Country Status (5)

Country Link
US (1) US7843468B2 (ja)
JP (1) JP4598031B2 (ja)
KR (1) KR100893637B1 (ja)
CN (1) CN101114375B (ja)
TW (1) TWI346911B (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266254B2 (en) * 2002-02-13 2007-09-04 Canon Kabushiki Kaisha Data processing apparatus, image processing apparatus, and method therefor
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
US8788996B2 (en) 2003-09-15 2014-07-22 Nvidia Corporation System and method for configuring semiconductor functional circuits
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
US9123173B2 (en) * 2005-12-15 2015-09-01 Nvidia Corporation Method for rasterizing non-rectangular tile groups in a raster stage of a graphics pipeline
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
US9070213B2 (en) * 2006-07-26 2015-06-30 Nvidia Corporation Tile based precision rasterization in a graphics pipeline
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
US8724483B2 (en) 2007-10-22 2014-05-13 Nvidia Corporation Loopback configuration for bi-directional interfaces
US8009169B2 (en) 2007-11-09 2011-08-30 Vivante Corporation Efficient tile-based rasterization
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
US8923385B2 (en) 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
US8681861B2 (en) 2008-05-01 2014-03-25 Nvidia Corporation Multistandard hardware video encoder
CN101739703B (zh) * 2008-11-10 2012-05-30 富士通株式会社 用于对三角形进行栅格化的方法和系统
US20110063309A1 (en) 2009-09-16 2011-03-17 Nvidia Corporation User interface for co-processing techniques on heterogeneous graphics processing units
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
US8339409B2 (en) * 2011-02-16 2012-12-25 Arm Limited Tile-based graphics system and method of operation of such a system
US8786633B2 (en) 2011-10-18 2014-07-22 Honeywell International, Inc. System and method for dynamically rendering bounded region labels on a moving map display
CN102819820B (zh) * 2012-08-14 2014-03-12 长沙景嘉微电子股份有限公司 基于分块渲染的gpu中多管线渲染的实现方法
US9591309B2 (en) 2012-12-31 2017-03-07 Nvidia Corporation Progressive lossy memory compression
US9607407B2 (en) 2012-12-31 2017-03-28 Nvidia Corporation Variable-width differential memory compression
US9710894B2 (en) 2013-06-04 2017-07-18 Nvidia Corporation System and method for enhanced multi-sample anti-aliasing
US10269154B2 (en) 2015-12-21 2019-04-23 Intel Corporation Rasterization based on partial spans
CN108022201B (zh) * 2017-11-24 2021-09-14 中国航空工业集团公司西安航空计算技术研究所 一种三角形图元并行光栅化定序方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03212774A (ja) * 1989-11-17 1991-09-18 Digital Equip Corp <Dec> 図形装置に線分を描かせる方法
JPH10134198A (ja) * 1996-11-05 1998-05-22 Power Reactor & Nuclear Fuel Dev Corp 空間探索方法およびその方法を用いたシステム
JP2000089742A (ja) * 1998-09-11 2000-03-31 Canon Inc 画像処理方法及び装置及びシステム
JP2002529871A (ja) * 1998-11-06 2002-09-10 イマジネイション テクノロジーズ リミテッド 3次元コンピュータ生成画像のシェーディング
JP2003524810A (ja) * 1998-09-02 2003-08-19 シリコン・グラフィクス・インコーポレーテッド 階層順によるラスタ化方法および装置
US6734861B1 (en) * 2000-05-31 2004-05-11 Nvidia Corporation System, method and article of manufacture for an interlock module in a computer graphics processing pipeline
JP2005182547A (ja) * 2003-12-19 2005-07-07 Toshiba Corp 描画処理装置、描画処理方法および描画処理プログラム
US20060044317A1 (en) * 2004-08-30 2006-03-02 Bourd Alexei V Cache efficient rasterization of graphics data

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4208810A (en) * 1978-09-11 1980-06-24 The Singer Company Clipping polygon faces through a polyhedron of vision
US4918626A (en) * 1987-12-09 1990-04-17 Evans & Sutherland Computer Corp. Computer graphics priority system with antialiasing
US5543935A (en) * 1994-11-18 1996-08-06 Xerox Corporation Halftoning method using space filling curves
US6323874B1 (en) * 1999-02-08 2001-11-27 Silicon Graphics, Inc. System and method for rendering an image
US6597356B1 (en) 2000-08-31 2003-07-22 Nvidia Corporation Integrated tessellator in a graphics processing unit
US6938176B1 (en) 2001-10-05 2005-08-30 Nvidia Corporation Method and apparatus for power management of graphics processors and subsystems that allow the subsystems to respond to accesses when subsystems are idle
US7075542B1 (en) 2002-11-12 2006-07-11 Ati Technologies Inc. Selectable multi-performance configuration
US20060202990A1 (en) 2003-02-13 2006-09-14 Koninklijke Philips Electronics N.V. Computer graphics system and method for rendering a computer graphic image
US6956579B1 (en) 2003-08-18 2005-10-18 Nvidia Corporation Private addressing in a multi-processor graphics processing system
US7418606B2 (en) 2003-09-18 2008-08-26 Nvidia Corporation High quality and high performance three-dimensional graphics architecture for portable handheld devices
JP2004139625A (ja) 2004-01-27 2004-05-13 Sony Computer Entertainment Inc データ処理装置およびデータ処理方法
US7154500B2 (en) * 2004-04-20 2006-12-26 The Chinese University Of Hong Kong Block-based fragment filtration with feasible multi-GPU acceleration for real-time volume rendering on conventional personal computer
CN100576249C (zh) 2004-05-24 2009-12-30 Nxp股份有限公司 基于贴片的图形渲染
JP4218840B2 (ja) 2005-05-27 2009-02-04 株式会社ソニー・コンピュータエンタテインメント 描画処理装置および描画処理方法
US7483029B2 (en) 2005-12-15 2009-01-27 Nvidia Corporation GPU having raster components configured for using nested boustrophedonic patterns to traverse screen areas
US8928676B2 (en) 2006-06-23 2015-01-06 Nvidia Corporation Method for parallel fine rasterization in a raster stage of a graphics pipeline

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03212774A (ja) * 1989-11-17 1991-09-18 Digital Equip Corp <Dec> 図形装置に線分を描かせる方法
JPH10134198A (ja) * 1996-11-05 1998-05-22 Power Reactor & Nuclear Fuel Dev Corp 空間探索方法およびその方法を用いたシステム
JP2003524810A (ja) * 1998-09-02 2003-08-19 シリコン・グラフィクス・インコーポレーテッド 階層順によるラスタ化方法および装置
JP2000089742A (ja) * 1998-09-11 2000-03-31 Canon Inc 画像処理方法及び装置及びシステム
JP2002529871A (ja) * 1998-11-06 2002-09-10 イマジネイション テクノロジーズ リミテッド 3次元コンピュータ生成画像のシェーディング
US6734861B1 (en) * 2000-05-31 2004-05-11 Nvidia Corporation System, method and article of manufacture for an interlock module in a computer graphics processing pipeline
JP2005182547A (ja) * 2003-12-19 2005-07-07 Toshiba Corp 描画処理装置、描画処理方法および描画処理プログラム
US20060044317A1 (en) * 2004-08-30 2006-03-02 Bourd Alexei V Cache efficient rasterization of graphics data

Also Published As

Publication number Publication date
US20080024522A1 (en) 2008-01-31
KR100893637B1 (ko) 2009-04-17
JP4598031B2 (ja) 2010-12-15
TWI346911B (en) 2011-08-11
CN101114375A (zh) 2008-01-30
CN101114375B (zh) 2012-09-26
KR20080010356A (ko) 2008-01-30
TW200820127A (en) 2008-05-01
US7843468B2 (en) 2010-11-30

Similar Documents

Publication Publication Date Title
JP4598031B2 (ja) 加速された開始タイル探索
JP4598030B2 (ja) グラフィックスパイプラインにおけるタイルベース精度のラスタライズ
US8063903B2 (en) Edge evaluation techniques for graphics hardware
US8537168B1 (en) Method and system for deferred coverage mask generation in a raster stage
US7483029B2 (en) GPU having raster components configured for using nested boustrophedonic patterns to traverse screen areas
US7791617B2 (en) Method and system for rendering polygons having abutting edges
CN110084875B (zh) 使用计算着色器作为顶点着色器的前端
US8325203B1 (en) Optimal caching for virtual coverage antialiasing
US11790480B2 (en) Tiling a primitive in a graphics processing system by edge-specific testing of a subset of tiles in a rendering space
US10242482B2 (en) Tiling a primitive in a graphics processing system
US9117309B1 (en) Method and system for rendering polygons with a bounding box in a graphics processor unit
US20140267260A1 (en) System, method, and computer program product for executing processes involving at least one primitive in a graphics processor, utilizing a data structure
US8773447B1 (en) Tag logic scoreboarding in a graphics pipeline
US8508544B1 (en) Small primitive detection to optimize compression and decompression in a graphics processor
US7808512B1 (en) Bounding region accumulation for graphics rendering
US8860722B2 (en) Early Z scoreboard tracking system and method
KR20230073222A (ko) 깊이 버퍼 프리-패스
US8477134B1 (en) Conservative triage of polygon status using low precision edge evaluation and high precision edge evaluation
US20040012587A1 (en) Method and system for forming an object proxy
JP5864474B2 (ja) 空間を分割してグラフィックスを処理する画像処理装置及び画像処理方法
US7508397B1 (en) Rendering of disjoint and overlapping blits
KR100441080B1 (ko) 3차원 그래픽 가속기에서 픽셀 캐쉬 구조의 동작방법
US8085264B1 (en) Tile output using multiple queue output buffering in a raster stage
US8698811B1 (en) Nested boustrophedonic patterns for rasterization
US9123173B2 (en) Method for rasterizing non-rectangular tile groups in a raster stage of a graphics pipeline

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100721

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4598031

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

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