JP2005502909A - 高精度リソグラフィ用グラフィックス・エンジン - Google Patents
高精度リソグラフィ用グラフィックス・エンジン Download PDFInfo
- Publication number
- JP2005502909A JP2005502909A JP2003527490A JP2003527490A JP2005502909A JP 2005502909 A JP2005502909 A JP 2005502909A JP 2003527490 A JP2003527490 A JP 2003527490A JP 2003527490 A JP2003527490 A JP 2003527490A JP 2005502909 A JP2005502909 A JP 2005502909A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- sub
- pixels
- edge
- array
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03F—PHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
- G03F7/00—Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
- G03F7/70—Microphotolithographic exposure; Apparatus therefor
- G03F7/70483—Information management; Active and passive control; Testing; Wafer monitoring, e.g. pattern monitoring
- G03F7/70491—Information management, e.g. software; Active and passive control, e.g. details of controlling exposure processes or exposure tool monitoring processes
- G03F7/70508—Data handling in all parts of the microlithographic apparatus, e.g. handling pattern data for addressable masks or data transfer to or from different components within the exposure apparatus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03F—PHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
- G03F1/00—Originals for photomechanical production of textured or patterned surfaces, e.g., masks, photo-masks, reticles; Mask blanks or pellicles therefor; Containers specially adapted therefor; Preparation thereof
- G03F1/68—Preparation processes not covered by groups G03F1/20 - G03F1/50
- G03F1/76—Patterning of masks by imaging
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03F—PHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
- G03F7/00—Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
- G03F7/70—Microphotolithographic exposure; Apparatus therefor
- G03F7/70216—Mask projection systems
- G03F7/70283—Mask effects on the imaging process
- G03F7/70291—Addressable masks, e.g. spatial light modulators [SLMs], digital micro-mirror devices [DMDs] or liquid crystal display [LCD] patterning devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Exposure And Positioning Against Photoresist Photosensitive Materials (AREA)
- Image Processing (AREA)
Abstract
Description
【0001】
本発明は、サブ・ピクセル(sub−pixel)解像度による高精度画像レンダリング(rendering:表現)に関するものである。本発明は、レチクル(reticles:集点板)および大面積のマスク生成、パターンの直接書き込み、ならびにレチクルおよびその他のパターンを描いた工作片(ワークピース)の検査に適用可能である。本発明の態様は、SLMおよび走査技術の双方に適用することができる。
【背景技術】
【0002】
半導体製造装置には、レチクルおよび大面積のマスク上で画像を生成し、チップのパターンを直接書き込み、更にパターンを描いた工作物を検査するためのライターおよび検査装置が含まれる。時の経過とともに、プロセッサ、メモリー回路およびその他の半導体が大容量化するのにつれて、チップはますます複雑化、高密度化している。とりわけメモリー回路、および形状の小さな回路は全て、一般的に、高密度化している。光学近似およびレーザー近似補正機能がパターンに付け加えられたため、これらの回路のパターンは、従来の回路より一層複雑化している。チップの小型形状化、および高密度化の要求に応答して、装置および書き込み方法はますます高度化している。半導体製造装置のニーズに応えるべく数年前に開発された装置および書き込み方法の記述の1つは、1996年に7月2日に発行されたTeitzelの米国特許第5,553,170号に見られる。
【発明の開示】
【発明が解決しようとする課題】
【0003】
製造業者の別の課題は、露光照射に対するレジストの反応のばらつきといったプロセス化学の変動を補償することである。露光の反応のばらつきは、レジストの種類が異なった場合、更に、たとえバッチが異なった場合にも見られる。レジストの反応は、コーティングされた工作物の縁(edge)近傍、および隅(corner)では異なる場合が少なくない。
【0004】
製造業者はムーアの法則(Moore’s law)に歩調を合わせるため、大量の幾何学的図形を処理することができ、且つ精密なパターンを工作片に生成することができるライターおよび検査装置が継続的に求められている。その結果当然のことながら、レジストのばらつきおよびその他の処理変動要素を補償し、他方において必要とされる精密なパターンを生成する技法、方法および装置が求められている。
【課題を解決するための手段】
【0005】
例えば、本発明の態様を組み合わせることにより、大量の幾何学的図形を処理し、例えば、SLM投影技術を用いてワーク上に精密パターンを生成することができる。本発明のその他の態様は、レジストの反応のばらつきおよびその他の処理変動要素の補償を行いやすくする。
【0006】
本発明の実施形態の1つは、データ・パスおよび断片化された(fracured)幾何学データを入力として受け入れ、マイクロミラー・アレイ内のマイクロミラーの駆動値を出力として生成する複数のプロセッサである。この実施形態における方法は、複数の重複露光から工作片の領域への意図したエネルギー寄与パターンに対応した重複領域に工作片をマッピングするステップと、ピクセル・マップおよびピクセル・マップ内のピクセルに対応するマイクロ・ピクセル・アレイの二重解像度メモリーを用いて、断片化された多角形(ポリゴン:polygon)をグレイ・スケール・ピクセル値にレンダリングするステップと、重複区域を考慮に入れながらグレイ・スケール・ピクセル値の露光値を計算するステップと、個々のマイクロミラー特性に基づいて露光値の輪郭取りを行う(contouring)ステップと、その輪郭表示した露光値を出力するステップと、を含む。マッピング・ステップは、プリント工程の数に応じて9つの重複区域、81の重複区域、またはある別の数の重複区域を生成することができる。計算ステップは、重複区域を用いることによって、多重露光の結果生ずる蓄積投与量を考慮に入れることができる。更に、この方法は、一組のミラー・ピクセル・ドライバ・セットに結合されたセグメント・バッファの少なくとも1つに輪郭表示した露光値をバッファリングするステップを含む。このバッファは2重にセグメント化し、レンダリング・エンジンに対応する第1セグメンテーションと、マイクロミラー・アレイ領域に対応する第2のセグメンテーションとを有することができる。これら第1および第2セグメンテーションのバッファは異なる場合がある。複数のバッファを用いてデータを収集し、出力することができる。バッファからの出力はディジタル/アナログ・コンバーターに宛てることができる。この実施形態の別の態様は、重複区域またはゾーンは、工作片に印加されたエネルギーのパルス間変動を考慮することである。プリント中に重複区域の照明を調節することによって、レジストの経年変化、多重露光によるレジストの活性化、および、とりわけ、工作片の縁または隅でのレジストの感度のばらつきといったレジストが工作片に対して与える影響を考慮することができる。
【0007】
第1の実施形態の種々のサブ・コンビネーションはそれ自体有用である。スタンプ(stamp)主体のプロセスでは、重複区域の利用は有用である。ピクセル・マップ、およびピクセル・マップ内のピクセルに対応するマイクロ・ピクセル・アレイを含んだ2重の解像メモリーのグレイ・スケール・ピクセル値に、幾何学的図形をレンダリングすることは有用である。計算に際し、スタンプ間の重複、多数の工程間の重複、およびエネルギー露光時のパルス間の変動を、個々に、または組み合わせて考慮にいれることは、いずれも有用である。マイクロミラー・アレイの全般的特性ではなく、個々のマイクロミラーの特性に基づいて露光値の輪郭を描くことは有用である。また、第1実施形態のこれらの態様のペア毎の組み合わせは有用である。
【0008】
本発明のその他の実施形態は、切り取り(clipping)の代替えとしてガード・ゾーンを用いる。これには次のステップが含まれる。即ち、メモリーに対応する小さい方のアドレッシング・ウインドウを設けるステップと、アドレス指定可能であるがメモリーには対応しない小さい方のアドレッシング・ウインドウの周囲にガード・ゾーンを作成する大きい方のアドレッシング・ウインドウを設けるステップと、この大きい方のアドレッシング・ウインドウの中に含まれる多角形を受け取るステップと、この多角形の少なくとも部分を大きい方のアドレッシング・ウインドウの内側にレンダリングするステップと、小さい方のアドレッシング・ウインドウの内側でレンダリングされた多角形部分のデータをメモリーに書き込み、他方で小さい方のウインドウの外側でレンダリングされた多角形部分は廃棄するステップである。この実施形態の別の態様は、このレンダリング・ステップが、多角形部分が小さい方のアドレッシング・ウインドウの内側にあるか外側にあるかの区別を行うことなく実行されることである。この方法は、小さい方のアドレッシング・ウインドウに収めるために多角形を切り取ることをせずに実行される。レンダリングされた多角形部分の廃棄は、フィルターによってデータがメモリー・コントローラに送られる前に、またはメモリー・コントローラにおいて、比較結果を用いる際に、メモリー・アドレス信号を小さい方のアドレッシング・ウインドウの有効アドレスと比較し、ライト・イネーブル(write enable)信号のような1つ以上のメモリー調停信号を制御することによって行われる。この実施形態およびその種々の態様は、多角形のセットの一部を除去し、受け取られ且つレンダリングされた多角形の少なくとも部分が小さい方のアドレッシング・ウインドウの内側に位置するようにするスタンプを含むことによって更に高度化することができる。
【0009】
代替実施形態のバリエーションは、多角形を大きい方のアドレッシング・ウインドウにレンダリングする方法である。この大きい方のアドレッシング・ウインドウは、メモリーに対応する小さい方のアドレッシング・ウインドウと、この小さいほうのウインドウの外側のガード・ゾーンを備える。ガード・ゾーンはアドレス指定できるがメモリーには対応していない。この方法は、大きい方のアドレッシング・ウインドウの内側に含まれた多角形を受け取るステップと、多角形の一部分を繰り返し選択し、それをラスター化した(rasterized)図形データに変換するステップと、ラスター化された図形データを処理し、小さい方のアドレッシング・ウインドウ内側の部分はメモリーに書き込まれ、このウインドウの外側の部分はメモリーに書き込まれないようにするステップとを含むことができる。このバリエーションの態様はこの実施形態の第1のバリエーションと類似している。変換ステップは、多角形の部分が小さい方のアドレッシング・ウインドウの内側にあるか、外側にあるかの区別を行わずに実行することができる。アドレッシング・ウインドウに収めるために多角形を切り取る必要はない。ラスター化された表示データは、メモリー・コントローラまたはメモリーに書き込まれる前に、その一部を除去することができる。または、この一部の除去はメモリー・コントローラにおいても行うことができる。これについては、上述した。各多角形の少なくとも一部分が小さい方のアドレッシング・ウインドウ内におさまるように、入力された多角形の一部を除去することができる。このバリエーションには、更に、受け取ったまたは入力された多角形の大きさを制約することによって、それら多角形がガード・ゾーンの内側に収まるくらいの大きさとなるようにするステップが含まれる。
【0010】
前述の実施形態に対応する装置は、大きい方のアドレッシング・ウインドウ内側に含まれる多角形をレンダリングすることができる。この大きい方のアドレッシング・ウインドウは、小さい方のアドレッシング・ウインドウ外側のガード内に小さい方のアドレッシング・ウインドウを備える。この装置は、入力ラインに接続され、大きい方のアドレッシング・ウインドウ内側に含まれる多角形を受け取り、この多角形の一部分をラスター化された図形データに繰り返し変換するように構成されたレンダラー(renderer)と、小さい方のアドレッシング・ウインドウに対応するメモリーとを含む。
【0011】
メモリー・コントローラは、レンダラーに接続され、ラスター化された図形データを処理し、小さい方のアドレッシング・ウインドウ内側のラスター化された図形データをメモリーに書き込み、小さい方のアドレッシング・ウインドウの外側のラスター化された図形データを廃棄するように構成されている。この装置のレンダラーは、小さい方のアドレッシング・ウインドウの内側と外側のセクション部分間の区別をすることなく、多角形の部分をラスター化された図形データ変換するように構成することができる。この装置は、小さい方のアドレッシング・ウインドウ内に収めるために、受け取った多角形の切り取りをすることなく、且つ受け取った多角形を小さい方のアドレッシング・ウインドウの中に含めるように要求することなく動作することができる。この装置の別のバリエーションは、大きい方のアドレッシング・ウインドウ内側に含まれた多角形部分をメモリーに書き込む装置である。尚、この大きい方のアドレッシング・ウインドウは、小さい方のアドレッシング・ウインドウ外側のガード・ゾーン内に小さい方のアドレッシング・ウインドウを備え、前述の多角形部分は、ラスター化された図形データによって表される。また、この装置の別のバリエーションは、入力線、小さい方のアドレッシング・ウインドウに対応するメモリー、およびメモリー・コントローラを含んだ装置である。当該メモリー・コントローラは、入力線、およびメモリーに接続され、大きい方のアドレッシング・ウインドウを参照するラスター化された図形データを受け取り、小さい方のアドレッシング・ウインドウ内側のラスター化された図形データ部分をメモリーに書き込み、ガード・ゾーン内のラスター化された図形データ部分を廃棄するように構成される。このバリエーションの態様は、前述の方法、またはこの実施形態の別のバリエーションから導くことができる。
【0012】
本発明の別の実施形態は、2段階の解像度を利用して領域を表示する方法である。その方法には、縁によって境界が定められた多角形図を受け取るステップと、ピクセルに対応する多角形の一部分を繰り返して選択してレンダリングするステップと、多角形図の縁に基づいて、塗りつぶされた、空白の、または部分的に塗りつぶされたピクセルを第1データ構造において表示するステップとが含まれる。部分的に塗りつぶされたピクセルを、塗りつぶされた、または空白のサブ・ピクセル・アレイによって第2データ構造において表示する際、設定されたアレイが多角形図の縁を規定し、設定されたアレイは少なくとも3×3のサブ・ピクセルを含む。あるいは、アレイは4×4、または8×8のサブ・ピクセルを含む場合もある。多角形は、四角形、凸状の四角形、台形、または三角形の場合もある。四角形、または台形図の一面の長さはゼロの場合もある。塗りつぶされた、空白の、または部分的に塗りつぶされたピクセル図は2つのデータ・ビットを用いることができる。この方法は、更に、アレイ内の塗りつぶされた、または空白のサブ・ピクセルに対応した部分的に塗りつぶされたピクセルのサマリー(summaries)を維持するステップを含むことができる。これらのサマリーは、塗りつぶされた、または空白のサブ・ピクセルの総数、あるいはサブ・ピクセルの加重評価からなる場合もある。
【0013】
本発明に関連する実施形態は、少なくとも2段階の解像度を利用して領域を表示する方法である。その方法には、縁によって境が定められた多角形図を受け取るステップと、ピクセルに対応する多角形図の部分を繰り返して選択してレンダリングするステップと、多角形図の縁に基づいてピクセルを塗りつぶされた、空白の、または部分的に塗りつぶされたピクセルとして分類するステップと、更に、部分的に塗りつぶされたピクセルを、塗りつぶされた、または空白の値ではなく、輝度レベルが割り当てられたサブ・ピクセル・アレイによって表示するステップとが含まれる。サブ・ピクセル・アレイは、多角形図の縁を規定する。これらのアレイには、少なくとも3×3のサブ・ピクセル、4×4のサブ・ピクセル、8×8のサブ・ピクセル、または16×16のサブ・ピクセルが含まれる。上述したように、多角形はいくつかの異なった形態を有することができる。ピクセルが塗りつぶされたか、空であるか、または部分的に塗りつぶされたかを分類するピクセル・マップは、ピクセル毎に2つのビットからなることができる。この方法には、更に、アレイ内のサブ・ピクセルの輝度レベルに対応する、部分的に塗りつぶされたピクセルのサマリーを維持するステップを含むことができる。これらのサマリーはサブ・ピクセルの輝度レベルの合計またはサブ・ピクセルの加重評価とすることができる。
【0014】
2段階の解像度を利用して、少なくとも1つの縁を有する領域を表示するデータ構造の実施形態には以下のものが含まれる。即ち、少なくとも1つのメモリーと、ピクセルを塗りつぶされた、空白の、または部分的に塗りつぶされたものとして表示するメモリーに格納された少なくとも1つのピクセル・マップと、メモリーに格納される少なくとも1つのサブ・ピクセルとである。このサブ・ピクセルは、前述のピクセル・マップに対応し、部分的に塗りつぶされたピクセルを、塗りつぶされた、または空白のサブ・ピクセル・アレイによって表示し、領域の縁を規定する。サブ・ピクセル・アレイは、少なくとも3×3のサブ・ピクセルを含む。塗りつぶされたまたは空白のピクセルは、それらを表示するためのサブ・ピクセル値を用いることなく表示される。この実施形態の別の態様は、更に、アレイ内の塗りつぶされた、または空白のサブ・ピクセルを要約するサブ・ピクセル・サマリーを含む場合もある。この実施形態は、更に、ピクセル・マップおよびサブ・ピクセル・アレイのための別々にアドレス指定可能なメモリーを含むこともある。更に、ピクセル・マップおよびサブ・ピクセル・マップのための別々にアドレス指定可能なメモリーを含むこともある。
【0015】
この実施形態のバリエーションは、2段階の解像度を利用して少なくとも1つの台形を表示するデータ構造である。この台形は、互いに、且つ基軸に対して平行な第1および第3の平行な縁を有し、さらに第2および第4の向かい合わせの縁を有する。データ構造は、少なくとも1つのメモリーと、メモリーに格納され、ピクセルを塗りつぶされた、空白の、または部分的に塗りつぶされたものとして表示する少なくとも1つのピクセル・マップと、メモリーに格納され、ピクセル・マップ内のピクセルに対応して、サブ・ピクセル・アレイによって並行な縁および対向する縁上にピクセルを表示する少なくとも1つのサブ・ピクセル・アレイとを含む。これらのアレイ内のこれらのサブ・ピクセルは、塗りつぶされた、または空白の場合もある。これらのアレイは、3×3のサブ・ピクセル、4×4のサブ・ピクセル、8×8のサブ・ピクセル、または16×16のサブ・ピクセルを含むこともある。このデータ構造は、更に、グレイ値サマリー・メモリーを含み、塗りつぶされたまたは空白のサブ・ピクセルを要約する。このサマリーは塗りつぶされた、または空白のサブ・ピクセルの総数、あるいはサブ・ピクセルの加重評価に基づく。サブ・ピクセルは、バイナリ値またはこれに加えて中間の輝度値を有することができる。ピクセル・マップおよびサブ・ピクセル・アレイは別々にアドレス指定可能なメモリー内に格納することができる。台形の平行な縁の1つは長さゼロとすることができる。
【0016】
本発明の態様の別の実施形態は、複数の縁を有する多角形を表示するグラフィック・データを、2段階レベル解像度を利用して送信するプロトコルであって、以下のものが含まれる。即ち、塗りつぶされた、空白の、または部分的に塗りつぶされた値が割り当てられたピクセル・アレイによって多角形部分を表示するステップと、前述の部分的に塗りつぶされたピクセルをサブ・ピクセル・アレイによって表示するステップであって、当該サブ・ピクセルには少なくとも縁の部分を規定する塗りつぶされた値、または空白の値が割り当てられ、前述のアレイは少なくとも3×3のサブ・ピクセルを含むステップと、少なくとも第1チャネルと独立した第2チャネルとを用いてピクセル・アレイおよび複数のサブ・ピクセル・アレイの図を送信するステップであって、前述の第1チャネルはピクセル・アレイを表示するために用いられ、第2チャネルはサブ・ピクセルのアレイを表示するために用いられるステップとである。この実施形態では、サブ・ピクセル・アレイは、少なくとも4×4、8×8、または16×16のサブ・ピクセルを、もうひとつの選択肢として含むことができる。ピクセル・アレイの図は、ラン・レングス符号化(run length encoded)することができる。多角形は、第1面と第3面が基軸に対して平行な台形とすることができ、第1および第3の平行面に沿った部分的に塗りつぶされた複数のピクセルは、単一のサブ・ピクセル・アレイによって表すことができる。このプロトコルは、更に、アレイ内の塗りつぶされた、または空白のサブ・ピクセルを要約するサブ・ピクセル・サマリー・マップを維持するステップを含む。前述のサマリーは、アレイ内の塗りつぶされたまたは空白のサブ・ピクセルの総数、またはサブ・ピクセルの加重評価とすることができる。また、サブ・ピクセルは、塗りつぶされた、または空白の値に加えて中間輝度値を有することができる。ピクセルおよびサブ・ピクセル・アレイは、別々にアドレス指定できるメモリー内に格納することができる。同様に、ピクセルおよびサブピクセル・サマリー・マップは別々にアドレス指定できるメモリーに格納することができる。第1および第3の平行面の隣接ピクセルは、同じサブ・ピクセル・マップによって表示することができる。第1および第3の平行面には、ゼロの長さを割り当てることができる。
【0017】
本発明の更に別の実施形態は、多角形の縁の少なくとも部分に対応する多値ピクセルの値を計算する方法であり、サブ・ピクセル・アレイを提供するステップと、特定方向の縁に対応する予め計算されたサブ・ピクセル・バー・マップのセットを与えるステップと、予め計算されたサブ・ピクセル・バー・マップを利用して、塗りつぶされた、または空白のサブ・ピクセルによって多角形の縁の部分を表示するステップと、ピクセルに対応するサブ・ピクセルのセットをスーパー・サンプリングし、ピクセルにグレイ値を割り当てるステップとが含まれる。この方法では、予め計算されたサブ・ピクセル・バー・マップは、フィル・バー(fill bar)・アレイによって表すことができ、予め計算されたサブ・ピクセル・マップを適用するステップは、更に、縁の交点、または領域の境界がサブ・ピクセル・アレイによって表示される縁の延長に対応するフィル・バーにオフセット値に適用するステップを含むことができる。
【0018】
サブ・ピクセル・アレイを利用して多角形の縁の少なくとも部分を表す方法の別の態様は、面を有し、且つサブ・ピクセルに細分化される領域内側の多角形の縁を規定する方法である。この方法には、多角形の縁の潜在的切片および向きに対応する予め計算された複数のサブ・ピクセル・バー・マップに領域の面を与えるステップであって、前述の潜在的切片は領域の面に沿った離散的位置に限定され、前述の潜在的方向は離散的位置に接続する方向に限定されるステップと、前述の多角形の縁が1つの方向にある領域の面によって、2つの切片の3つの内の2つを判定するステップと、同じ方向の2つの切片の3つの内の2つに対応する予め計算されたサブ・ピクセル・バー・マップの内の1つを適用するステップとが含まれる。本発明の1態様では、領域は僅か256のサブ・ピクセルによって細分され、離散的位置はサブ・ピクセル毎に僅か65のサブ・ピクセルに限定される。あるいは、領域は僅かの64のサブ・ピクセルによって細分され、離散的位置はサブ・ピクセル毎に僅か33の位置に限定される。更に別の構成では、領域は、僅か32×16のサブ・ピクセルに細分され、サブ・ピクセルの縁に沿った離散的位置は僅かに17である。または、領域は僅かに16×8のサブ・ピクセルに細分され、サブ・ピクセルの縁は僅か9つの離散位置を有することができる。この実施形態の別の態様は、予め計算されたサブ・ピクセル・バー・マップは、約45度の区域を形成する一セットの潜在的方向に限定され、予め計算されたサブ・ピクセル・バー・マップのこの区域は、約180度の区域をカバーするように変換可能である。多角形の縁によって切りとられる領域の面は、対向面または隣接面とすることができる。この実施形態のバリエーションは、多角形の縁および多角形の縁の延長部の使用を含むことにより、領域の面で切片を構築することができる。2つの切片は多角形の縁を規定するので、この方法では多角形の縁の方向を判定することによって利用する、または無視することができる。
【0019】
サブ・ピクセル・バー・マップ選択は本発明の別の実施形態である。サブ・ピクセル・バー・マップを選択して、少なくとも第1面および第2面を有し、且つサブ・ピクセルに細分される領域と交差する縁を表示する方法は次のものを含む。第1面および第2面に沿った切片間に、領域の第1区域(region)および第2区域を規定するセグメントを構築するステップにおいて、前述の切片は領域の面に沿った離散的位置に限定されるステップと、第1区域の完全に内側または部分的に内側であるサブ・ピクセル候補セットを形成し、第1区域を表示するステップと、候補セットを対象に含む領域と、第1区域を対象に含む領域との間の相違を判定するステップと、候補セットを別のセグメントのサブ・ピクセル・バー・マップと結合することによって形成された隅を評価するステップと、隅の評価の違いの判定に基づいて候補セット間で選択を行うステップと、選択したセットをメモリーに格納するステップとである。この実施形態は、更に、セグメント・セットが第1面に沿った潜在的切片を規定し、冗長セットを間引く前述の方法を繰りかえすステップを含む。冗長セットを間引くステップは、セグメント・セットを表示する最大数のセットを考慮に入れ、またはセグメント・セットを表示するセット使用したことによる最大の容認可能エラーを考慮に入れる。この実施形態のバリエーションは、ピクセルに対応するサブ・ピクセルのサブ・ピクセル・バー・マップを事前に計算し、多角形の縁の部分を規定する方法であって、その方法には次のものが含まれる。ピクセル対の第1面上のサブ・ピクセルの1つの面に沿った多角形の縁に対応するラインの潜在的な第1の切片を提供するステップと、第1面に対向するピクセル対の第2面に沿ったラインの潜在的な第2の交点を提供するステップにおいて、前述の潜在的第1および第2切片は離散的位置に限定されるステップと、所定の角度範囲に及ぶ第1の潜在的切片および第2の潜在的切片を接続するセグメントを提供するステップと、サブ・ピクセル・バー・マップを選択してセグメントによって境界が設定される区域を規定するステップにおいて、サブ・ピクセル・バー・マップ選択は、サブ・ピクセル・バー・マップを対象として含む領域と区域を対象として含む領域との違いを考慮に入れ、更に、サブ・ピクセル・バー・マップを結合することによって形成された隅の評価を苦慮に入れるステップとである。セグメントが跨る角度の区域は、約45度、または場合によっては90度を含む。サブ・ピクセル・マップを約180度に及ぶ潜在的セグメントまたは方向の区域に適用させるように変換させる場合もある。
【0020】
本発明の別の利用は、多角形の隅、および多角形の第1および第2の縁の交点に対応するピクセル値を計算する方法である。その方法には、いずれもピクセルに対応する第1サブ・ピクセル・アレイおよび第2サブ・ピクセル・アレイを含むメモリーを提供するステップと、第1および第2の縁を第1および第2ラインの中に延長させるステップと、第1ラインによって規定された第1区域に対応する塗りつぶされたサブ・ピクセル、または空白のサブ・ピクセルの第1アレイを設定するステップと、第2ラインによって規定された第2区域に対応する塗りつぶされたサブ・ピクセル、または空白のサブ・ピクセルの第2アレイを設定するステップと、第1および第2アレイの交点を計算するステップと、ピクセルに対応する交点内のサブ・ピクセル・セットをスーパー・サンプリングし、グレイ値をピクセルに割り当てるステップと、を含む。この実施形態では、第1および第2アレイのサブ・ピクセルを設定するステップは、第1および第2区域に対応する事前に計算されたサブ・ピクセル・バー・マップを用いることを含む。
【0021】
SDUの要約、および、特許請求の範囲を書く際、縁移動に関する特許請求の範囲を書く必要がある。
【発明の効果】
【0022】
図面を参照して以下の詳細な説明を行う。好適な実施形態について記述するが、これは例を挙げて本発明を説明するためであって、特許請求の範囲によって規定されている本発明の範囲を限定することが目的ではない。当業者は、以下の説明に関する様々な同等の変種を認めるであろう。
【0023】
新たなチップ設計には、マスク製作および直接書き込みのための高精度リソグラフィ装置が求められている。大量のデータを、幾何学領域から所望の画像を投影するためにリソグラフィ装置が用いることができるフォーマットに変換することが求められている。データ変換技法は、種々のリソグラフィ投影装置と組み合わせることが可能である。
【0024】
種々のリソグラフィ投影の1つは、マイクロミラーまたは個々のピクセルを有する類似のシステムを用いる。マイクロミラー・システムは、ピクセルあたり65のグレイ値を有する512×2048のピクセル・アレイのようなアレイを用いる。1kHzのパルス速度を用いるこの大きさのシステムは、1ギガ・ピクセル/secのデータをマイクロミラー・アレイにロードすることが必要である。256×256のグレイ・スケール・ピクセルのようなもっと小さなアレイは、要求はそれだけ小さいとはいえ、かなりのデータ・スループットを必要とする。ピクセルあたり257グレイ・スケール値のようなもっと深度の大きなグレイ・スケーリングであれば、それより幾分大きなデータ・スループットを必要とする。代替マイクロミラー・システムは、例えば、1×512、2×512、または4×512のマイクロミラーの細いアレイを用いることによって、工作片全体にスイープする(sweep)ことができる。
【0025】
リソグラフィ投影の別の技法には、1つ以上の走査ビームの使用がある。ビームを規則的に走査することによって、テレビジョン画面上の画像に類似したラスター画像を作成することができ、またはビームをベクトル走査することによって個々の特徴を作成することができる。ビームは、レーザー、電子、イオンまたは粒子ビームとすることができる。最も一般的には、あらゆる照射ビームが使用可能である。本発明の態様にしたがってラスター化されたデータを、ラン・レングス符号化し、または別の方法で圧縮して走査後のビームと一緒に使用することができる。
【0026】
プロセスの概要
リソグラフィ装置を用いて、投与される照射に敏感な表面上に画像を投影する。通常、レジストは照射によって露光される。露光されたレジストは、現像され、レジスト領域は除去され、投影画像にプラスまたはマイナスに対応する。図1Aは、レジスト露光の2つのパターンを示す。個々のピーク101は、等間隔の位置における照射の分布を表す。マイクロミラー・システムの場合、これらの位置は個々のマイクロミラー・ピクセル要素を表す。走査ビームシステムの場合、これらの位置は、ビームの走査対象グリッド位置を表す。レジストが吸収したエネルギー総量は、露光された領域で重なりあう照射分布の合計である。曲線102は、吸収された照射の全てを表す。レジストは、通常、極めて高いコントラスト画像を生成する。吸収された照射総量が閾値103を超えるレジストの領域は、現像されると硬化する。一方、吸収した照射が閾値未満のレジスト領域は現像後に除去される。レジスト表面で作成された形状の幅は、閾値線103に沿った、吸収された照射総量曲線102の一方の交点からもう一方の交点までの距離に対応する。図1Bは、形状の一方の縁において照射投与を減少させることによる形状調整を示す。図1Bでは、一番右の位置において照射投与量を106で示すように約半分に削減すると、縁104は距離105だけ移動する。マイクロミラー・システムでは、個々のミラー要素を調整することによって、単一ピクセルからの照射投与量を減らすことができる。走査照射システムでは、特定の位置において走査照射強度を低減させる、またはビームが特定の走査位置に到達する直前に照射を消去することができる。
【0027】
システム・アーキテクチャの概要
本発明の画像レンダリング・エンジンは、フラクチャ(fracturing:断片化)・エンジン、ラスター化エンジン、および駆動回路と一緒に用いることができる。図2はデータ・パスの概要を示す。このデータ・パスは、入力された前処理済み幾何学データ201から始まる。前処理された幾何学データは、コンピュータ援用設計システムの出力とすることができる。前処理は、階層のまたは反復情報を削減し、幾何学図形ストリームを効率的に平坦化することができる。データ・フェッチング202は、通常、前処理された幾何学データを二次格納装置から取得することを含む。平面図形変換203は平面図形がレンダリング可能固定点平面図形(RFG:renderable fixed−point geometries)に変換されるプロセスである。フラクチャリング(fracturing)203は、マイクロミラー実施の際は、スタンプおよびスタンプのレンダリング・ウインドウに対応する異なったウインドウ、およびサブ・ウインドウに、平面図形を分割するプロセスである。フラクチャ・エンジンの出力は、1つ以上の特定記録フォーマットの平面図形データである。これらの記録は、多角形および多角形群のような幾何学的図形を表す。断片化されたデータを台形として表示することは有用である。その場合、三角形および四角形は台形の副分類である。台形の平行な縁の1つの長さがゼロまたはゼロに近いと、三角形を表示する。断片化されたデータの別の有用な表現は、三角形または三角形のチェーンとしてである。本発明の態様の殆どは、台形、四角形、三角形、またはその他の多角形あるいは幾何学的図形に等しく適している。7ビット以上のサブ・ピクセルまたは半分のサブ・ピクセルの解像度によって多角形の角の座標を提供し、64分の1または128分の1のピクセル以上の精度に対応することができる。所望の精度および画像投影技術の特性に応じて、もっと高いおよびもっと低いビット解像度を使用することができる。
【0028】
画像レンダリング・エンジン210は、種々の構成部品を含む。拡張部211は、レンダリング前に平面図形反復を展開するプロセスである。断片化された平面図形は、反復された幾何学図形または繰り返された幾何学図形群と一緒に反復RFGとして受け取られる。展開部は、RFGを個々に処理することができるようにグループ解除(ungroup)する。レンダリング212は、レンダリング可能な固定点図形を含む多角形をラスター化した画像に変換するプロセスである。レンダリング・プロセスは多数のレンダリング・プロセッサ上で実行される。スーパー・サンプリング212は、マイクロ・ピクセル解像度画像をサンプリングし、グレイ・スケール・ピクセル値を計算するプロセスである。(本稿では、サブピクセルおよびマイクロ・ピクセルは、一般的に、ピクセルの同じ細分を意味している)スーパー・サンプリングの代替加重方式を以下において論ずる。縁移動213は、図形を縮小または拡大し、例えば、レーザー近接補正(LPC)または光近接補正(OPC)によって近接および迷光照射を補償するプロセスである。画像補正214は、光経路、ステージ配置、または投影システムの別の機能における非線形性および軽微な不具合を補償するプロセスである。これには、非線形画像の結合の組み換えが含まれる。照明変換215は、投影された領域間の重複、露光照射のばらつき、およびマルチ・パス書き込みといった要因を考慮する。投影システムがマイクロミラー・アレイを用いる場合、ミラー補償216は、予め較正された係数を利用して個々のミラーの特異性を補正する。ミラー補償係数を用いることによって、電圧に対する差分応答、ワーク・サイクル中の応答の変化、アレイ内のデッド(dead)・ピクセル、またはマイクロミラー・アレイの類似の特性を補償することが可能である。その他の構成部品を、必要に応じてレンダリング・エンジンに付け加えることができ、且つ使用中の投影システムに、適宜付け加えることができる。
【0029】
駆動回路220は、コンポジション221および変調222プロセスを含む。コンポジション221は、いくつかのレンダリング・プロセスからの結果を結合し、変調が応答する1つ以上のデータ・ストリームとすることである。コンポーザを用いることによって、レンダリング・モジュール330の数を調整することができる。例えば、変調システムへのインターフェースを変更することなく、コンポーザ・パラメータの変調によって、レンダリング・モジュールの数を10から12に増加させることができる。マイクロミラー・システムの1つの種類においては、1つのデータ・ストリームを変調用に用いることによって、マイクロミラー・アレイをパッと照射する前に個々のマイクロミラーを設定することができる。別の種類のマイクロミラー・システムでは、マイクロミラーを用いて工作片を走査すれば、データ・ストリームの数は、マイクロミラーの数またはマイクロミラーの数の係数と一致する。変調222は、集中させたデータを投影システムの駆動値に変換するプロセスである。マイクロミラー・システムの場合、ディジタル/アナログ・コンバーターを用いることによって、アナログ電圧を生成し、これを個々のミラー・エレメントに印加することができる。走査システムの場合、駆動信号を用いることによって、照射ビームを変調する音響−光学変調器、あるいは電子、イオン、または粒子照射用の同様の制御素子を制御することができる。
【0030】
非線形変換は、ピクセル・リサンプリング(resampling)勾配をリサンプリング対象の各ピクセルに適用することを要求する。あるいは、ピクセル毎の勾配を畳み込みカーネル(kernel)によってサンプリングすることにより、出力されたピクセル値を生成することができる。畳み込みカーネルの近傍は、許容される最大規模の勾配に依存する。ピクセル勾配の1つは、3×3カーネルによってサンプリングすることができ、また、5×5のカーネルによってサンプリングできるものもある。
【0031】
また、投影システムは、通常、スィープ(sweep:掃除)230およびレチクル(reticle:焦点板)240を含む。スィープ230は、照射にさらされるレチクル240の領域全体にわたり画像情報を搬送する。レチクル240は工作片であり、投影システムはこれを対象に動作する。
【0032】
ラスター・クラスタの概要
図3はデータ処理の概要を示すブロック図である。ライター・コントローラ310は工作片上での画像投影を制御する。ライタ・コネクタ310は、1つ以上のインターフェースによって、クラスター連携プロセスと連通するように結合されている。図3では、テルネット(Telnet)・インターフェースおよびライター・ラスター化装置インターフェース(WRI)が示されている。WRIインターフェースは、TCP/IPソケット、およびライター制御310上で機能する監視制御ソフトウエアとクラスター連携プロセス321との間のインターフェースを備えることができる。このインターフェースは、ラスター化プロセスを、フラクチャリング・エンジン内のデータを取り込み且つ計算するプロセスと、工作片を露光するプロセスとに同期させる。クラスター連携プロセス321は、このインターフェースを介して、ステージの位置およびライター機能の現状を、ライター制御310に報告することができる。クラスター連携プロセス321は、プロセス320群の1つであって、レンダリング・モジュール330に基づいてRFG図形を表示する。クラスター・レベル・プロセス320は、多数のクラスター322、324に対応する。クラスターには、サポートおよびマスク・ライト・プロセス323を提供するクラスター・コントローラ323が含まれる。クラスターには、更に、1つ以上のレンダリング・モジュール331が含まれる。クラスター・コントローラ323は、既存のPCIプロトコルに適合する最大で7個のレンダリング・モジュールに対応するように為され、または所望のスループットを実現するように求められた、且つ他のバス・プロトコルに適合するより多くのまたはより少ないモジュール、および様々のバス構造に対して為すことができる。図3に示すタスク構成によって柔軟性および拡縮可能性が得られる。代替ハードウエア構成では、柔軟性は低下するが高速化は図られる。
【0033】
本発明の種々の方法を遂行することができるハードウエアについて以下に説明を加え、このクラスター・コントローラ・レベルの概要を補足することとする。
【0034】
ラスター化方法の概要
図4は、本発明の態様を理解する上で資する術語説明のための根拠を提供するものである。SLM(空間光変調器(Spatial Light Modulator))は、本発明の態様を実行する実施形態の1つにおいて、露光用のレーザー・パルスを変調するために用いられるマイクロミラーの四角のアレイである。スタンプ(例えば、個々には、431A−431E、または纏めて434A−434F)は、SLMの単一露光を表す。ストリップ(例えば、432)は、水平方向の一連の重複スタンプのことである。ストリップの物理的図形は、水平の場合と水平ではない場合とがある。水平であるか否かは、ストリップの方向によって規定される。そのストリップは、工作片全体におけるSLMのスイープ運動によって規定される。スタンプ領域には重複ゾーンが含まれる。ストリップの中のスタンプの高さは同じである場合と、異なる場合とがある。また、スタンプの幅はスタンプ間で異なる場合がある。ストリップの中のスタンプの時間順序は、逐次的である確率が最も高い。それは、左から右へ、または右から左へのいずれか向き、またはその両方の場合がある。画像は、ストリップの縦方向のシーケンス(例えば、432から432A−432Cまで)である。個々のストリップの幅は、同じである場合とそうでない場合とがある。画像のストリップには、縦方向に重複する領域433がある。それは、ストリップの中の隣接スタンプと類似したものである。スタンプ間での重複については、以下において更に論ずる。スタンプは、1つ以上の変調器ウインドウ434A−434Fのデータからなる。あるいは、変調器ウインドウは、ストリップ432全体またはいくつかのスタンプに跨るサブ・ストリップ(例えば、432A)を含むことができる。レンダリング・ウインドウへの分割によって、ラスター化エンジンのデータ・パスの並列処理を実現することができる。ストリップは、2つ以上のサブ・ストリップ432A−432Cに分割することができる。サブ・ストリップは、単一スタンプ露光によってプリントされるので、重複するとは限らない。レンダリング・プロセスでは、その拡張ゾーンは後述する様に一部重複するので、サブ・ストリップを生成するための入力データは僅かにダブる。サブ・ストリップの分割は、スタンプの中の変調器ウインドウ間の分割に対応する。ストリップ内のサブ・ストリップの幅は、画像の面間では同じであるが、高さは同じであるとは限らない。
【0035】
図26は、ラスター化およびレンダリングの別の概要を示す。同図は、パラメータ・ファイル(2611−2626)、サポート・ソフトウエア(2630−2645)、パラメータ・ローディング、およびレンダリング・モジュール(2662−2668)の機能構成部品を示す。多くのデータ・テーブルまたはファイルを用いることによってシステムの柔軟性を高めることができる。データ値はテーブルに格納されることが好ましいが、もう一つの選択肢として、本発明の態様を実現するソフトウエア、ファームウエア、またはハードウエアに符号化することができる。ハード符号化することによって、通常、柔軟性は減少するが、性能は高まる。
【0036】
図26では、マスク・パラメータ・ファイル2611を、静的パラメータに用いることができる。ストリップに対する処理は、ストリップ毎に行うことができる。プロセスがクリティカルな情報はストリップ間で変化する可能性がある。入力ファイルのなかには、ストリップ間、マスク部分間、およびジョブ間で同一のものもある。システムにロードされるパラメータの変更は、プラットフォーム・プロセッサのCPASソフトウエア・プロセスによってマスク毎に、またはストリップ毎に行われる。本発明の別の態様は、システムが用いるパラメータをストリップの中で変更することができることである。例えば、書き込みプロセスが工作片の隅に到達する際に変更することができる。レジストのベーキングは、工作片の中央よりも工作片の隅におけるほうがより高温である。
【0037】
ストリップ・ヘッダ・ファイル2612、ウインドウ・セクション2613、およびコマンド・パラメータ2614は、ストリップの中のスタンプ全てに共通の情報を含む。その情報は、SLMの変調器ウインドウへの分割を記述する。RASE処理に影響を与えるパラメータは、SLMを変調器ウインドウにY軸分割することを示すサブ・ストリップの数である。このパラメータはシステム構成におけるモジュールの数に対応する。サブ・ストリップの高さテーブルは、RP(レンダリング・プロセッサ)に影響を与える。なぜなら、RPはサブ・ストリップの高さを用いることによって、レンダリング・アドレスを生成し、読み出し処理を行うからである。また、サブ・ストリップの高さテーブルは、ピクセル・データ列高さパラメータにも影響を与える。サブ・ストリップY座標オフセットテーブルは、図形プリ・プロセッサが、個々のサブ・ストリップのYオフセットを与えるために用いられる。レンダリング・ウインドウ・サイズXは、Xウインドウ・サイズを用いて複雑な図形を断片化する図形プリ・プロセッサに影響を与える。また、それはRPのアドレス生成装置によってガード・ウインドウ切捨て用に用いられる。レンダリング・ウインドウ・ピッチXは、レンダリング・ウインドウ間の距離である。X重複ゾーン・サイズはSLMサイズとレンダリング・ウインドウ・ピッチとの間の違いから計算可能である。図形プリ・プロセッサ(PP)は、Xピッチを用いて複雑図形を断片化、およびRPに提示された図形の上で座標のオフセット計算を行う。拡張ゾーンXおよびYは、ピクセル近接動作(縁移動)によって用いられ、PPにおける断片化に影響を与える。レンダリング・ウインドウ・サイズから拡張ゾーンを減じると、変調器ウインドウ・サイズと等しくなる。このパラメータはAPの暗示的な部分であり、APの設計と常に一致する必要がある。調整パラメータ・ファイル2621は、いくつかのデータの種類を含む。それは一般に、調整プロセッサにおいて実行されるプロセスに対する制御情報を含む。このパラメータ・セクションは、エリア・コードのラン・レングス符号化されたビットマップを含む。個々の変調器ウインドウのエリア・コードの数は、インプリメンテーションの1つでは、128に限定されるが、SLM用のエリア・コードの総数は512にもなることもある。各ラン・レングス・レコードは、2つの値を有する。即ち、重複ゾーンIDおよびエリア・コードである。重複ゾーンIDの数は、変調器ウインドウ当り最大で15に制限することができる。ファイルの照明変換セクションは、重複ゾーンID毎に1つの転送関数テーブルを含む。ミラー・テーブル・セクションは、ミラー補償係数[Cn](n=1..4)毎に1つのスケール/オフセット入力[Cn2/Cnl]を含む。APパラメータ・ファイルのミラー関数部は、ミラー補償計算の2つの関数に対し関数テーブル、およびパラメータC1..C4のそれぞれに対し1セットのスケール/オフセットを含む。ミラー較正ファイルは、SLMのピクセル毎に1つのエントリー、ピクセル毎に4つの較正パラメータ(C1..C4)を伴う画像マップを含む。ビット幅およびミラー補償関数のオフセットに関する一般的情報はAPパラメータ・ファイルのミラー・テーブル・セクションに格納される。このファイルは、サイズを理由としたバイナリ・フォーマットであり、これは、テキスト主体の他の殆どのパラメータとは異なる。これらのファイルまたはこれらのファイルの部分にパラメータを割り当てることは実施形態の1つを除いては、本発明ではこれに限定するものではない。
【0038】
補正係数は、光経路の静的または体系化された特徴の補正のためにファイルに格納することができ、またはステージ配列といった、システムの動的またはランダムな特徴のためにリアル・タイムに生成することができる。
【0039】
CPASソフトウエア2630は、ファイルからのパラメータをレンダリング・モジュール2660に供給する。論理ブロック2631−2645は、上述のパラメータ・ファイルに対応する。CPASソフトウエアは、照射露光要求に適合して、レンダリング・モジュール内のパラメータをリアル・タイムに変調する。レチクルの書き込みまたはチップの直接書き込み中に、レンダリング・モジュール2660内のパラメータを変更することによって、少なくとも3つのレジスト問題に対処することができる。レジスト表面のベーキング(baking)は、完全に均一というわけではない。多くの場合、表面の縁または隅は、表面中央よりも、早く、より完全にベーキングされる。ワークの当該部分のベーク特性に対応して、ワーク上の露光対象位置を考慮してパラメータを設定することができる。縁移動および照明変換パラメータを用いることによって、表面ベーキング特性に応答することができる。次に、露光照射に対するレジストの反応は、露光の蓄積状況に左右される。即ち、照射はレジストに対し線形付加的影響を与えることはない。多くのレジストは、その最初の露光に対し高感度である。照射投与Aにひき続いてBが照射されると、単にCだけの投与に比して反応はより大きくなる。但し、エネルギーA+B=Cである。レジストの活性化を考慮に入れることができるようにするために、CAPSソフトウエアに、レンダリング・モジュールの中へ適切なパラメータを、連続プリントパスでロードさせる。更に、レジストのエージングは、露光照射に対する反応に影響を与える恐れがある。レチクルまたはチップを多数パスで露光するために必要な時間と比較して、寿命が短いレジストもある。レジストは、古くなるにつれて感度は低下する。CAPSソフトウエアに、レジスト・エージングに基づいてレンダリング・モジュールの中に適切なパラメータをロードさせることによってレジスト・エージングを計算に入れることができる。あるいは、かかる問題は、図形展開モジュール2662から照明変換モジュール2666に進むエネルギー拡散補償ファクター(ESCF)テーブル内の値によって対処することができる。
【0040】
クリッピングに代わるガード・ウインドウ
図4は、ガード・ゾーンを用いて、断片化された図形の個々の要素をレンダリングするステップを示す。この図に示される領域には、レンダリング・ウインドウ401、ガード・ウインドウ402、およびレンダリング・ウインドウとガード・ウインドウとの間のガード・ゾーン403が含まれる。レンダリング・ウインドウは小さい方のアドレッシング・ウインドウであり、ガード・ウインドウは大きい方のアドレッシング・ウインドウである。
【0041】
図4Aは、断片化プロセスにおける幾何学図形の切り取りの代替として、レンダリング・プロセスにおけるガード・ゾーンおよびガード・ウインドウの使用を示している。レンダリング・ウインドウ401は、メモリーに対応する。このメモリーの中に、後に投影する幾何学図形をレンダリングすることができる。レンダリング・ウインドウ401はガード・ウインドウ402によって包囲される。ガード・ゾーン403は、レンダリング・ウインドウ401の外側のガード・ウインドウの一部である。多角形、台形、長方形、四角形、三角形等の幾何学図形を受け取り、レンダリングする。幾何学図形は、凸状の場合もある。いわゆるレンダリング可能な固定点図形(RFG)である、幾何学図形404は、レンダリング・ウインドウ401の内側に位置し、対応のメモリーにレンダリングされる。幾何学図形405は、レンダリング・ウインドウおよびガード・ゾーンに跨り、一部はメモリーにレンダリングされる。ガード・ゾーンはレンダリングのためにアドレス指定可能であるが、データは画像投影のためにメモリーに書き込まれることはない。レンダリング・ウインドウの外側のデータは廃棄される。レンダリング・ウインドウがメモリーに対応するという意味では、ガード・ゾーンはメモリーに対応しない。ガード・ゾーンにアドレス指定されたデータは、フィルターによって極めて素早く処理することができる。何故なら、メモリー転送は要求されないからである。断片化中に、レンダリング・ウインドウの境界において、レンダリング・ウインドウおよびガード・ゾーンに跨る幾何学図形の切り取りは行わない。以下に説明するように、レンダリング・ウインドウ内側および外側の縁を同時にレンダリングするハードウエアを構築することができる。このレンダリングは、レンダリング・ウインドウの内側の縁と外側の縁とを識別することができない。レンダリング・ウインドウの内側の幾何学図形の部分だけのレンダリングに比して、レンダリング・ウインドウの外側の縁および領域のレンダリングが、跨った幾何学図形405のレンダリングを大幅に遅らせることはない。幾何学図形のレンダリングは、幾何学図形を2つの方法で制限することによって、支援を受けることができる。第1に、幾何学図形の大きさを制御すること。これにより、レンダリング・ウインドウ401内側且つガード・ウインドウ402外側に位置する幾何学図形はなくなる。そのような幾何学図形はガード・ゾーンの内側に位置することができる。第2に、幾何学図形をレンダリングする前にフィルターにかけることができる。これにより、完全にレンダリング・ウインドウ401からはみ出すためレンダリング・ウインドウ用に処理しなければならないものは無くなる。ガード・ゾーンにレンダリングされたデータは、キャッシュ・バッファに格納される前にフィルターにかけるか、廃棄することができる。これについては、以下において更に説明する。これによってメモリーの帯域幅負荷を軽くすることができる。あるいは、幾何学図形が、マイクロ・ピクセル・キャッシュからレンダリング・ウインドウに対応するバッファ・メモリーに変換されると、アドレッシング回路はガード・ゾーンのアドレスを識別することができる。このアドレッシング回路は、レンダリング・ウインドウへの幾何学図形の書き込みを切り詰めることができる。アドレッシング回路は、アドレス信号をレンダリング・ウインドウの有効アドレスと比較し、その結果を用いてライト・イネーブル、または別のメモリー調停信号を制御することができる。あるいは、ガード・ゾーンで始まる、または終了する固定長フィル(fill)命令を修正して、ウインドウ内に作用する命令の部分と一致するようにすることができる。アドレス処理回路は、ガード・ウインドウ内側に作用する離散的命令を無視することができる。アドレッシング回路またはガード・ゾーンを実装するメモリー・コントローラは、FIFOメモリーと結合させることによって、負荷の平均化を実現することができる。これについては調整プロセッサを実装する回路と一緒に説明する。レンダリング・プロセスでは、幾何学図形の部分を繰り返し選択し、マイクロ・ピクセル・キャッシュが生成される。これについては以下で説明する。マイクロ・ピクセル・キャッシュは、当該部分に対応するラスター化された表現データの代替セットの1つである。マイクロ・ピクセル・バッファは別の表現である。
【0042】
レンダリングおよびガード・ウインドウ概念を拡張したものが、拡張ゾーンである。拡張ゾーンは、レンダリング・ウインドウ401の各縁の外側の少数のピクセルを含む。拡張ゾーンは、レンダリング・ウインドウと同様に、メモリーに対応する。しかしながら、拡張ゾーンのピクセルは、画像投影用には用いられない。その代わり、それらのピクセルは、レンダリング・ウインドウの縁において1つ以上のピクセルを畳み込むために用いることができるピクセルの近傍(neighborhood)を作成する。拡張ゾーンの大きさは、あらゆる畳み込みに用いられるピクセルの最大近傍に対応するものである。例えば、5×5の畳み込みフィルターまたは近傍が用いられる場合、あるいは、3×3の畳み込みフィルターを二重に用いる場合、拡張ゾーンは、少なくとも2ピクセルであり、これによりレンダリング・ゾーンの縁上のピクセルは、畳み込みのためにそれぞれの方向の2つのピクセルによって包囲され、5×5近傍を作成する。
【0043】
レンダリング・ウインドウの構成
図4Bは、更に、マイクロミラー・アレイに適用されるレンダリング・ウインドウの形状を示す。マイクロミラー・アレイの2つのフラッシュは460、470で示されている。この例では、アレイ460は451、461を含む4つのレンダリング・ウインドウに分割されている。アレイは横方向、縦方向、またはその両方向に分割し適切な数のレンダリング・ウインドウとすることができる。512×2048のアレイを、例えば、10個のレンダリング・ウインドウに分割し、レンダリング・ワークを10のレンダリング・プロセッサに分布させることができる。レンダリング・ウインドウ451、461は拡張ゾーン452、462に包囲される。更に、レンダリング・ウインドウ451は、ガード・ゾーン453によって包囲される。スタンプ・ストリップ475は複数のスタンプ投影を含む。サブ・ストリップ471、481は、複数のレンダリング・ウインドウおよびその拡張ゾーンを含み、拡張ゾーンは、複数のスタンプ全体に広がる。サブ・ストリップおよび拡張ゾーンは、レンダリング・ウインドウより大きいので、アドレス指定の原点(origin)は、拡張ゾーン465の1つの隅にある。この原点は、居所的ドレッシング、特定のレンダリング・ウインドウおよびその拡張ゾーン、あるいはサブ・ストリップまたはスタンプ・ストリップ全体にわたる包括的アドレス指定のために用いることができる。局所的アドレス指定によって図形の縁の補間のために必要なビット数を減らす。アドレス指定の別の原点はガード・ゾーン463の隅の1つである。
【0044】
図4Dは、グローバル座標のローカル座標システムへの変換を示す。入力ストリームの種類の1つでは、座標は現行ストリップに比例してソフト・ピクセルに与えられる。ソフト・ピクセルはマイクロ・ピクセルの1/2である。プリ・プロセッサの機能の1つは、レンダリング・プロセッサのために座標を用意し、全ての座標を関連の原点に変換することである。この図において、台形404はガード・ウインドウ402の内側のレンダリング・ウインドウ401の中に含まれる。座標変換は、図に示すベクトル動作によって説明することができる。
M=(Mx,My)=現在の変調器ウインドウ関連ストリップの原点
G=(Gx,Gy)=現在のガード・ウインドウ関連のストリップの原点
V=(Vx,Vy)=変形対象の幾何学座標
m=(mx,my)=ガード・ウインドウ原点に対する現在の変調器ウインドウの原点
v=(vx,vy)新たな幾何学座標
と仮定すると、
G=M−m
v=V−G
であり、
これらの式を結合すると、以下が求められる、
vx=Vx−Mx+mx
Vy=Vy−Gy
【0045】
パラメータMx、mxおよびGyはレジスターに格納可能である。Mxは9ビットの符号の付かない整数とすることができる。Mx=k*SLM_PITCH*128、ここでkはスタンプ数、K>=0.mxは、9ビットの符号の付いた整数とすることができる。また、Gyも11ビットの符号の付いた整数とすることができる。パラメータ値はマクロ・ピクセルで書き表することができることを留意されたい。
【0046】
代替実施形態では、レンダリング・ウインドウは、マイクロミラー・アレイよりも広く、むしろサブ・ストリップ全体と同じ広さである。単一のレンダリング・エンジンまたはレンダリング・エンジン群は、レンダリング・エンジンの性能および構成、必要なスループット(例えば、大きな領域のライターにより)、ならびにレンダリングされた出力のバッファリングに応じてサブ・ストリップ全体またはストリップのスタンプを生成することができる。走査照射を用いる投影システムにとって、またはマイクロミラー・アレイの連続フラッシュ間でかなりの重複のあるマイクロミラー主体のシステムにとっては、広いレンダリング・ウインドウは特に有用である。この実施形態では、レンダリング・ウインドウの部分を読み出して連続してフラッシュすることができる。
【0047】
高解像度用ピクセルおよびサブ・ピクセル
図5Aおよび図5Bは、マイクロ・ピクセルまたはサブ・ピクセル・アレイを用いてピクセルに割り当てられたグレイ値を表すことを示している。上記において、図1Aおよび図1Bは、ピクセル・グレイ値が縁の位置に与える影響力を示した。図5A−図5Cは、(全ての白を含んで)65のグレイ・レベルを表すサブ・ピクセルを示している。同じ原理は、5、10、17、26、37、50、82、101、122、145、170、197、226、257、または一般的にnの2乗+1のグレイ・レベルの使用にも該当する。類似の原理は、4、8、16、32、64、128または256のグレイ・レベルの使用に当てはまる。サブ・ピクセルの8×8グリッドを用いてピクセルを表すことは便利である。他のグリッド構成は、3×3のサブ・ピクセル、4×4のサブ・ピクセル、16×16のサブ・ピクセル以上を含むことができる。これらのサブ・ピクセルは空白のまたは塗りつぶされた、即ち、オン状態またはオフ状態と呼ぶことができる。レジストは、露光に対しマイナスまたはプラスに反応するので、サブ・ピクセルのマイナス表現、またはプラス表現は任意の慣習である。図5Aは、ピクセル中央を通る幾何学図形の縦方向の縁を示す。このピクセルは、8行(501)、および8列の(502)のサブ・ピクセルを有している。幾何学図形の縁は、ピクセルの上の縁に沿って510の距離離れたところの503において交差する。この例では、幾何学図形縁は、ピクセルの下の縁に沿って同じ511離れたところの504において交差する。幾何学図形の縁によって境界が示される幾何学領域は、まさにピクセルの半分である。この特定の縁は、サブ・ピクセル間の境界をたどる。縁の左隣の網掛けされたサブ・ピクセルは、陰影付け図の慣習に応じて、縁によって規定された図形の外側または内側となり、縁右隣の白いサブ・ピクセルは、図形の内側または外側になる。網掛けされた32個のサブ・ピクセルは、ピクセルの半分の領域を表している。32のグレイ値は、網掛けされたサブ・ピクセルの数に応じて、ピクセルに割り当てることができる。図5Bは、幾何学図形の斜向縁を示す。この縁は、8個の内の4個のサブ・ピクセルによって表される距離530離れた中央部において上のピクセルの縁と交わる。この縁は、ピクセル下端では、7個のサブ・ピクセルの分の距離531離れたところで交差する。幾何学図形の縁の左隣の領域の図形の面積は、ピクセルの68.75%である。この幾何学領域は階段配列の44のサブ・ピクセルで表されており、網掛けされた領域の幾何学領域にぴたり一致する領域を有する。
【0048】
幾何学図形の縁をサブ・ピクセルの境界間で交差させることによって、サブ・ピクセルのグリッド図は、更に細かくすることができる。サブ・ピクセルの縁を2、4、8、16、32、または64増分値のような2の累乗によって表される多数の増分値に細分することは便利なことである。これらの増分値は、サブ・ピクセルの両方の縁を数えた際の、サブ・ピクセル毎の3、5、9、17、33、または65個の潜在的交差位置に対応する。境界間のサブ・ピクセルと交差する幾何学図形の縁を表すために用いられるサブ・ピクセルの数およびパターンは、事前に計算可能である。これについては、以下で説明する。
【0049】
2段階のレンダリング
図6は、ピクセル・グリッド上の2つの幾何学図形を示している。それは、サブ・ピクセル・アレイを用いてピクセルのグレイ値を表している。グリッド610は、8行(601)および8列(602)のピクセルを含んでいる。2つの幾何学図形611、610は幾何学領域からピクセル上にレンダリングされている。グリッド620は、個々のピクセルが、白(W)か、グレイ(G)か、または黒(B)かを示す。ピクセル621は黒、ピクセル622はグレイ、そしてピクセル623は白である。2ビットのデータを用いることにより、00=B、01=W、10=G、および11=保留、の各ピクセルを表すことができる。ピクセル624は、サブ・ピクセルのグリッド640によって表されている。ピクセル・グリッド620において白またはグレイである網掛けされたピクセル641は、幾何学図形の1つの内側にある。他のピクセル642は幾何学図形の外側にある。グリッド630は、個々のピクセルのグレイ値を示す。例えば、幾何学図形611―ここでは、縁がピクセルを半分に分割する―の左の縁に対応するピクセルは、1/2(即ち、32/64)のピクセルのグレイ値を有する。幾何学図形611の斜辺上のピクセル632は、1/2のグレイ値を有する。幾何学図形内側のピクセル633は、1のグレイ値を有し、完全に表示される。ピクセル634は、グリッド640内の40個の網掛けされたサブ・ピクセルに対応して、5/8のグレイ値を有する。パイプラインまたは他の最適化アーキテクチャでは、独立したチャネルによって、第1のピクセル・マップ解像度および第2のより高度の解像度のマイクロ・ピクセル・キャッシュにアクセスすることができる。
【0050】
ひとつひとつのピクセルに直接マッピングされる32ビット、または64ビット・ワードのような、ピクセルのサブ・ピクセル表示は、メモリーの場所に対応することができる。あるいは、ポインター構造を用いることによって個々のグレイ・ピクセルを、サブ・ピクセル・グリッドを格納する場所にマッピングすることができる。いずれの場合も、サブ・ピクセル・グリッドは、グレイのピクセルに対して更新するだけでよく、黒または白のピクセルに対してはその必要はない。対応ピクセル・アレイ要素に“B”の印を付けることによって、個々のサブ・ピクセルの値を変えることなく、サブ・ピクセル・アレイを効果的に消去することができる。次に、サブ・ピクセル・グリッドを用いることによって、最初にデータを読み込むことなく、値をサブ・ピクセル・グリッドに書き込むことができる。
【0051】
代替実施形態では、サブ・ピクセルに、バイナリ値ではなく、グレイ値を割り当てることができる。ピクセルを結合する論理演算の中には、加法演算または減法演算に置き換える必要があるものもある。サブ・ピクセルのグレイ値を用いることによって解像度を更に精密なものにすることができる。
【0052】
サマリー・キャッシュによる2つの段階
2段階の解像度を利用するこの方法および装置を更に強化するための1つの方策は、第3セットのメモリー位置を導入してサブ・ピクセル・アレイまたはグリッドのグレイ値を要約することである。パイプ・アーキテクチャのようなハードウエア実装の中には、データをサブ・ピクセル・グリッドに書き込む際、または記録する際に、サブ・ピクセル・グリッドのグレイ値を計算することができるものもある。グレイ値は、空白の、または塗りつぶされたサブ・ピクセルの数の総数、または塗りつぶされた、または空白のサブ・ピクセルの加重合計とすることができる。マイクロミラー・アレイまたはレーザ・ビーム・スイープにとっては、加重は有利である。なぜなら投射されたビームの中心で投影された照射強度は、中心から一定の距離離れたところの輝度よりも大きいからである。照射源の殆どに関連する照射強度のガウス分布は、サブ・ピクセルを加重合計した方がより適切に表示される。図44では、僅か10の加重値を用いて、8×8サブ・ピクセル・アレイの露光照射のガウス分布または類似分布を表している。本質的に、ガウスまたは類似の分布は対称的であるため、ピクセルの4つの象限に適用できる加重値即ち係数は同一とすることができる。更に、対称性のために、単一の加重値即ち係数には、2、3、4、6および9のラベルが貼られたサブ・ピクセル対のような、対象として含む付番されたサブ・ピクセル対を割り当てることができる。この対称性の程度と共に、加重値を加える前に4象限全てで同じ値が加重された2つのサブ・ピクセルを数えることによって、計算を円滑にすることができる。処理は、加重値のカウントから加重値を加えることに進める。加重値および加重値合計は、バイナル(binals)による固定小数点数値表現を用いることによって計算するとよい。次に、加重値の合計は使用前に四捨五入することができる。割り当てられた加重値、および加重を実行するために本発明の実施形態の一部において用いられるゲート・プログラミングでさえも、シーリン(Xilinx)の部分的再構成インターフェースのようなロジックを用いれば、フィールド・プログラマブル(field programmbale)となろう。図44の手法は、より円形の、またはもっと大きな近傍からのサンプリングに至るまで相当に展開される。より大きな近傍からのスーパー・サンプリングは四角において行い、この四角の隅の加重値をゼロに設定することによって、四角の近傍から円形のサンプリングを効果的に生成することができる。本発明によれば、スーパー・サンプリングの多くのバリエーションが実行可能であり、且つフィールド・プログラマブルである。
【0053】
メモリー位置の第3セット使用に代わるものは、ピクセルひとつひとつを表示するために用いられるビット数を増やし、ピクセル・グリッドによってグレイ値を表現できるようにすることである。
【0054】
図7は、読み出し時に用いられ、またはマイクロ・ピクセル・キャッシュに書き込む時に用いることによって、ピクセルのグレイ値を要約することができるハードウエア・アーキテクチャの1つを示す。図7は、2段階の解像度により64ビットのマイクロ・キャッシュ内のオン/オフのマイクロ・ピクセルの数を数えるステップを示している。マイクロ・ピクセル・キャッシュ・アレイ701のビットは、4つのカウンター、即ち加算回路702に送られる。代替実施形態では、これらの回路702は加重方式をマイクロ・ピクセルに適用させることができる。回路702の結果は、次に1つ以上の加算器703によって結合され、マイクロ・ピクセル・キャッシュに対しグレイ値713を生成する。2ビットのMUX705は、例えば、マイクロ・ピクセル・キャッシュからの読み取りの際、選択された回路全体の出力を制御することができる。2つの入力ビット704は、各ピクセルが黒か、白か、またはグレイであるかを記録するピクセル・マップからのものである。グレイ・ピクセルの場合、MUX705は加算器703の結果を通過させる。黒または白のピクセルの場合、MUX705は、サブ・ピクセルの全てオンまたはオフに対応する静的値(static value)711、712を通過させる。代替実施形態では、ピクセルが黒であるか、または白であるかをピクセル・マップ704が表示すれば、マイクロ・ピクセル・キャッシュからの取り込み、またはマイクロ・ピクセル・キャッシュへの書き込みは行う必要はない。これによってマイクロ・ピクセル・キャッシュ・メモリーへのアクセス要求が低減される。この回路は、マイクロ・ピクセル・キャッシュに値を書き込み際のスーパー・サンプリングに適合可能である。また、加算ハードウエア701―703の利用にも適合し、ピクセルがグレイであることから書き込みが行われていると想定することにも適合する。スーパー・サンプリングされた値はグレイ値メモリーに書き込まれる。
【0055】
縁の平行処理
図8は、台形図形上でのマイクロ・ピクセル・キャッシュ発生装置の動作を示す。マイクロ・ピクセル・キャッシュ発生装置は、向かい合う縁802、803上で平行して動作する2つのBresenham補間装置を含む。Bresenhamレンダリング・アルゴリズムを説明する参考文献の1つは、国際標準図書番号(ISBN)0−02−354860−6のF.S.Hill,Jr.の「コンピュータ・グラフィックス」、428−433頁である。Bresenhamのアルゴリズムは、整数値を用い、乗算を避ける。それは、直前のピクセルに関する情報に基づいて、レンダリング対象の線上の各ピクセルの位置を計算する増分アルゴリズムの一例である。Bresenhamは、曲線および線を生成する多数の方法の内の1つであって、本発明とともに用いることができる。Bresenhamの補間装置は、図形の向かいあう縁の座標とともに始動中に事前にロードされる(preloaded)。補間はこの事前ロードの後に始まる。補間は台形の平行な縁間で繰り返される。台形の代わりに多角形を用いる場合、一般的に、繰り返しは選択された座標システム801の軸方向に進む。この繰り返しは、図形の1つの隅から始まって軸に沿って進み、対向する隅に到達するまで続けられる。補間中、補間ステップ毎に1つ以上のマイクロ・ピクセル・キャッシュ・セットが生成される。これらのキャッシュ・セットは幾何学図形の部分を表す。マイクロ・ピクセル・キャッシュ・セットはマイクロ・ピクセル・キャッシュ・バッファに格納される。図8には、5つのマイクロ・ピクセル・キャッシュ・セット810−50が表示されている。補間軸801に沿った特定の座標に関しては、補間が終了したことを双方の補間装置が表示すると、アドレス・セットが生成され、マイクロ・ピクセル・キャッシュ・バッファに格納される。このアドレス・セットは、最後のアドレス・セットが組み立てられて以来生成された個々のマイクロ・ピクセル・キャッシュと一緒に、マイクロ・ピクセル・キャッシュ・セットを形成する。アドレス・セットでは、キャッシュ・セット(例えば、810)における第1の縁(例えば、811、821、831、841、851)はアドレスX1SおよびX1Eによって表わされる。この記号において、“X”は軸の方向を示し、“1”は第1の縁を、“S”は縁の部分をレンダリングするための開始ピクセルを、そして“E”は縁の部分をレンダリングする終了ピクセルを示す。アドレス・セットでは、第2の縁はアドレスX2SおよびX2Eによってあらわされる。第1および第2の縁のアドレスであるX1とX2との間の間隔は、取り囲まれたデータ領域を表わしており、この領域には、サブ・ピクセル情報は全く含まれていない。上下の縁が座標システムと平行な台形をレンダリングする場合、単一のマイクロ・ピクセル・キャッシュを用いることによって、上の縁または下の縁(812、852)に沿い、隅(811、813および851、853)間のピクセルの全てを表示することができる。表示された幾何学図形が座標システムには平行な上の縁または下の縁がない場合には、取り囲まれた領域は縁間には存在しない。上側の縁の上、および下側の縁の下において、取り囲まれた領域(822、832、842)を完全に塗りつぶし、マイクロ・ピクセル・キャッシュなしに暗黙的に表示するか、または上述の2ビットの符号化方式を用いて、あるいは一貫性を保つため、塗りつぶされたマイクロ・ピクセル・キャッシュによって表示することが可能である。
【0056】
図9は、台形をレンダリングする特別事例を示す。この事例では、台形内の2つの点は、同一のまたは殆ど同一の位置を有し、台形を三角に効果的に縮小する。整合性を保つため、4つのアドレス・ポイントをフラクチャ・エンジンによって得られたデータ・ストリームの中に含むことができる。この図でも、5つのマイクロ・ピクセル・キャッシュ・セット910−50が表示されている。補間軸901は垂直である。また、第1の縁(911−951)も垂直である。第2の縁(913−953)は、三角形の斜辺である。底部の取り囲まれた縁912は補間された縁間にある。上部の縁はない。マイクロ・ピクセル・キャッシュ・セット920、930、および940は、完全に塗りつぶされたピクセル922、932、および942を含む。アドレスS2SとX2Eとの間の距離903は、傾斜斜面の部分を現すサブ・ピクセル・グリッドを有するピクセル数に対応する。
【0057】
図10Aは、幾何学図形が単一のマイクロ・ピクセル・キャッシュ・セット1010によって表わされる別の特別事例を表す。補間軸は1001である。図9同様、台形は三角形に縮小されている。左の縁は、3個のセル1011、1012、および1013を貫通する。右の縁は、1003によって示されたピクセル幅のセル1013の中に含まれる。間隔X1S..X1EおよびX2S..X2Eは重複するため、この重複は、マイクロ・ピクセル・キャッシュが論理演算で結合される領域を表す。更に、幾何学図形全体は単一のマイクロ・ピクセル・キャッシュによって表わされているので、三角の下部の縁を表わすマイクロ・ピクセル・キャッシュは、左の縁の部分のマイクロ・ピクセル・キャッシュと、論理演算によって結合されることが必要である。
【0058】
図10B−Dは、マイクロ・ピクセル・キャッシュ・セットにより送信されたデータ部分を示している。図10Bは底部が上部より狭い台形を表している。この台形は、7×7ピクセル・グリッド内に収まる。この台形の上および下、ならびに左および右の縁の平行処理によって生成されるマイクロ・ピクセル・キャッシュは、一般的に、上および下から始まり、下から上に向かう。
左のプロセッサ キャッシュ対 右のプロセッサ
L6.1 9 R6.7
L5.1 8 R5.7
L4.1 7 R5.6
L4.2 6 R4.6
L3.2 5 R3.6
L2.2 4 R2.6
L2.3 3 R2.5
L1.3 2 R1.5
T6.1 1 B1.3
上記に列記した順序のような固定の順序による縁処理は、レンダリング論理の種々のブロックのスループットを高めることができる。代替実施形態では、縁は別の順序で処理することができ、幾何学図形の平行な縁は縦方向に配向させることができ、または幾何学図形を台形以外のものとすることができる。この例では、上(T)および下(B)の縁は台形の平行な縁である。最初の反復では、上および下の縁に対応する横方向の線を、左の縁と交差するピクセル、即ち、ピクセル6.1の上およびピクセル1.3の下を用いてレンダリングする。連続反復によって左および右の縁がレンダリングされる。第2の反復では、行1の右および左の縁は、単一ピクセルの中に完全に含まれる。行2は、マイクロ・ピクセル・キャッシュを生成するために、第3および第4の反復の2つの反復を必要とする。何故なら、左および右の縁の行2部分は2つのピクセルに跨るからである。対のキャッシュに加えて、多角形変換はアドレス・セットの生成を含む。アドレス・セットは、行座標(Y)および4つの列座標、X1S、X1E、X2S、およびX2Eを含む。ここで、Sは縁開始、Eは縁終了を示す。X1S、X1EとX2S、X2Eとの間の距離によって左および右の幾何学図形が行毎に位置する場所が規定される。X1S、X1EとX2S、X2Eとの間の距離は、取り囲まれたデータ領域、即ち、上または下の縁の囲まれた部分を表す。アドレス・セットの1つは以下のピクセルの行毎に生成される。
Y X1S X1E X2S X2E
6 1 1 7 7
5 1 1 6 7
4 2 1 6 6
3 2 2 6 6
2 3 2 5 6
1 3 3 5 5
左の縁のX1[S]開始およびX1[E]終了の相対的大きさは、縁は、立ち上がり時に左に傾くことを示す。ピクセル・キャッシュが左および右のプロセッサによって生成される順序はテーブルから導き出すことができる。
【0059】
図10C−図10Dは、一対の特別事例におけるアドレス・セットを示す。図10Bは、縦方向の小型の四角形である。それは、幅は1ピクセル以下であるという意味において小型である。Y行5のアドレス・セットが示されている。4つのXパラメータはいずれも同じ値を有している。図10Cは、横方向の小型長方形である。Y行5には、この長方形のアドレス・セットが1つだけある。小型長方形のような、小型幾何学図形を識別することによって処理はやりやすくなる。
【0060】
図11A−図11Dは、Bresenhamアルゴリズム適用を開始するためにマイクロ・ピクセル・キャッシュ内のピクセル表示、および多角形の縁の延長を利用の例示に寄与している。図形の各々は、単一ピクセルに対し、8×8のサブ・ピクセルを表している。レンダリングに有用な操作の1つは、縁の突出部とピクセルの縁との交点(1102A、1102B、1112C、または1112D)を見極めることである。同図には、台形に関係する4つの事例が示されている。図11Aおよび図11Bの台形側の縁の角度は、水平線から45度の角度より大きい。図11Aでは、x TOP 1101Aは、隅(Xm、Ym)1103Aの右に位置する。図11Bでは、x TOP 1101Bは隅(Xm、Ym)1103Bの左に位置する。図11Cおよび図11Dの残りの2つの事例では、水平線から45度より小さな角度であり、y TOP1111は、隅の右、y Bottom 1112は角の左の関係になっている。縁突出部とピクセルの縁との交点の計算の仕方は、例示された4つの事例に左右される。45度超の角度に対しては、以下のとおり。
事例AおよびB
xBottom=Xm−(dx1/dy)*Ym
XTop=xBottom−(dxl/dy)*MicropixelCacheWidth
事例C
yBottom=Ym−(dy/dxl)*Xm
yTop=yBottom+(dy/dxl)*MPCWidth
事例D
Ym+(dy/dxl)*MPCWidth
yBottom−(dy/dxl)*MPCWidth
【0061】
ピクセル(“MiPxCaW”)はBresenhamアルゴリズムを用いてレンダリングされる。縁と交差するピクセルはマイクロ・ピクセルを用いてレンダリングされる。MiPxCaWを求めるには、以下のアルゴリズムを用いることができる。
1)左下の隅がある場合、MiPxCaWを求めよ。
2)当該MiPxCaWの左下の隅から、縁の延長部の交点およびまでのMiPxCaW(xBottom)の下部縁までの距離を求めよ。これは、7バイナル(binals)の固定小数点点座標としてマイクロ・ピクセルの単位で得られる。この距離は、
【数1】
ここで(X,Y)は、現在のMiPxCaWの左下の隅から計算された隅の座標である。
3)xBottomを用いれば、次の交点は、
【数2】
のように計算される。
4)0<=xTop<MiPxCaWidthとすると、マイクロ・ピクセルのレンダリングは現在のMiPxCaWのすぐ上のMiPxCaWで行われるべきである。
5)xTop>=MiPxCaWidthとすると、マイクロ・ピクセルのレンダリングは、現在のMiPxCaWのすぐ上のMiPxCaWの右隣のMiPxCaWで行われるべきである。
6)xTop<0とすると、マイクロ・ピクセルのレンダリングは、現在のMiPxCaWのすぐ上のMiPxCaWの左隣のMiPxCaWで行われるべきである。
7)上の行に到達するまで反復する
浮動小数点数を用いて(dxl/dy)を表示する代わりに、全てにdyを乗じて整数を得ることができる。縁の傾斜が小さい場合、横方向のステップをいくつか実行し、次行の次のMiPxCaWに到達することが必要な場合もある。縁とx軸との間の角度が、45度より大きい角度に限定される場合はそうではない。より小さい角度は、図形を90度回転することによってレンダリングすることができる。45度より大きな角度が受け入れられる場合におけるBresenhamアルゴリズムの符号は、以下のとおりである。
eLeft=dy*xBottom=dy*X−dx1*Y;
eLeftShift=dx1*MiPxCaWinHeight;
eLeftCond=dy*MiPxCaWinWidth;
xBottom=eLeft/dy;
eLeft+=eLeftShift;
while(eLeft>=eLeftCond){
eLeft−=eLeftCond;
MiPxCaWNumber+=1;
}
while(eLeft<0){
eLeft+=eLeftCond;
MiPxCaWNumber−=l;
}
xTop=eLeft/dy;
可変のMiPxCaW数は、MiPxCaWsの連続数であり、これは傾斜が正であるか負であるかに応じて右または左に移動する。右縁は同様にレンダリングされる。
【0062】
左の縁をレンダリングするために入力されるパラメータは以下のとおりである。
ハードウエアでは、マイクロ・ピクセル・レベルでのレンダリングを事前に計算し、テーブルに格納することは可能である。
【0063】
マイクロ・ピクセルをMiPxCaWの内側でレンダリングする原理は、最初にMiPxCaWを求めるのと同じである。その手順は以下のとおり。
1)xBottomのサブ・マイクロ・ピクセル部分を求め、これをスタート値として用い、それをxBottomMiと呼ぶ。
2)縁がMiPxCaWに入る際に通るマイクロ・ピクセルを求める。
3)Bresenhamアルゴリズムを用いて、縁は次のマイクロ・ピクセル・ライン上でどのマイクロ・ピクセルを通り抜けるかを計算する。基本的には、MiPx Hight=固定小数定単位でのマイクロ・ピクセルの大きさ。
xBottomMi+=(((xTop−xBottom)/MiPxCaHeight)*MiPxHeight;
if(xBottomMi>=MiPxWidth){
xBottomMi−=MiPxWidth;
miPxNumber++;
}
4)MiPxCaWに関しては、これにMiPxCaHeightを乗算して整数関係を求める。Bresenhamアルゴリズムのコードは、以下に示す。
xMiOffset=subMiPxBin(xBottom)*MiPxCaHeight;
shift=(xTop−xBottom)*MiPxHeight;
cond=MiPxWidth*MiPxCaHeight;
xMiOffset+=shift;
while(xMiOffset>=cond){
xMiOffset−=cond;
MiPxNumber++;
}
while(xMiOffset<0){
xMiOffset+=cond;
MiPxNumber−−;
}
【0064】
図53は、Bresenhamアルゴリズムを使用した実施形態の1つを説明するフローチャートである。5301において初期化ステップを実行する。5302、5303および5306における検査により出発点は、図11A−Dに対応した事例に分けられる。これらの事例のコードは、ブロック5305、5034、5307および5308において実行される。アルゴリズムのアンカ(anchor)・ポイントは5311に設定されている。アルゴリズムは、補間対象の縁に沿って、5312−5321において繰り返される。
【0065】
図15Aにおいて、図11A−図11Dの計算パラメータを更に説明する。この図では、台形1500は、ピクセル・グリッド1501の上に置かれている。水平方向のピクセル対502および縦方向のピクセル対503の例が示されている。ピクセル・グリッドはレンダリング・ウインドウ1510Aおよびガード・ウインドウ1520Aを含む。距離dx11531は、左の縁の下の隅および上の隅のx座標間の差として規定されている。距離dy1532は、台形1500の上部の平行な縁と下部の平行な縁との間のy座標差として規定されている。レンダリング・ウインドウ周囲の拡張ゾーンは図示されていない。隅は、(Xm、Ym)にある。“dx1”は、左の縁の上の隅と下の隅との間のx座標差1531である。類似の基準である“dx2”は、右の縁の上の隅と下の隅との間の差に対応する。“dy”は、台形の平行な上の縁と下の縁との間のy座標差1532である。幾何学図形が異なれば、2つ以上のdy値が必要になる。MPC幅はマイクロ・ピクセル・キャッシュの幅(これはピクセル幅に等しい)である。適切なユニット(units)を選択すべきである。
【0066】
横方向のピクセル対1502または縦方向のピクセル対1503のようなピクセル対を同時にレンダリングすることは都合のよいことである。ピクセルの隅を切り離すことなく、レンダリング対象の縁と縁のあらゆる突出部とがピクセル対の対向面と交差するように、ピクセル対を常に選択することができる。この左の縁の向きのために、横方向のピクセル対は、左の縁1500に沿って表示される。この例では、縦方向のピクセル対は、上の縁1501および残りの縁に沿ってレンダリングされる。ピクセルの対向面と交差する縁を含むピクセル対をレンダリングすることによって、以下で説明するテーブル・ルック・アップ方法を用いることができるようになる。あるいは、Bresenham、または別の補間アルゴリズムをピクセル対と一緒に、または使用しないで直接に用いることができる。
【0067】
均一化ピクセル
本発明の態様を実行する代替に1つは、事前に計算されたサブ・ピクセル・バー・マップ付きまたは無しに、均等化サブ・ピクセルを用いることである。これについては、以下の部分で説明する。左の縁のマイクロ・ピクセルをレンダリングするアルゴリズムの1つでは、縁がこれを介してレンダリングされるマイクロ・ピクセルは、マイクロ・ピクセル底部と交差し、交差したマイクロ・ピクセルの右側の(図形の内側の)マイクロ・ピクセルの全てが最初に塗りつぶされる。塗りつぶされたマイクロ・ピクセルによって覆われた領域は、一般的に正しい領域とは異なる。これを補償するには、この差異を計算し、誤りの領域全体がマイクロ・ピクセルの1つよりも多い場合、マイクロ・ピクセルを加えるまたは減ずることができる。超過領域は当初はゼロである。それは、MiPx行ごとに次の式によって増加する。
【数3】
累算された超過領域が1つのMiPxよりも大きい場合、縁を移動して補償する。正および負の差の双方に対してこの補償を行い、均等化マイクロ・ピクセルを加える(減ずる)ので、超過領域は、1つのMiPxCaWでは、理想の領域から1MiPx以上ずれることは決してない。超過領域は新たなMiPxCaW毎にゼロに設定する、またはマイクロ・ピクセル・キャッシュの行間で搬送することができる。
【0068】
Aを計算する上記の手順は、前述のBresenhamアルゴリズムと基本的には同一である。ハードウエアで実行する場合には、2つの補間手順を1つの単一手順にまとめることができる。
【0069】
事前に計算されたサブ・ピクセル・マップの使用
別の代替は、事前に計算されたサブ・ピクセル・マップを用い、均一化サブ・ピクセルを利用して、マイクロ・ピクセル・キャッシュの内側に縁をレンダリングすることである。図12では、縦方向のピクセル対を用いて水平線から45度より小さい角度をレンダリングし、横方向のピクセル対を用いて45度より大きい角度をレンダリングする。(正確に45度の角度は、いずれかの方向のピクセル対を用いることによってレンダリングすることができる。)縦方向の対は、X1−X2軸(1211、1212)に沿っている。横方向の対は、Y1−Y2(1201、1202)に沿っている。単一のサブ・ピクセル、またはマイクロ・ピクセル・キャッシュは、太線1221によって境界が定められている。単一のサブ・ピクセル即ちマイクロ・ピクセルは1225とラベル表示される。網掛けされた領域1222を塗りつぶして、幾何学図形の内側(または外側)を表す。網掛けされたピクセル1223の1行の長さは、サブ・ピクセル、即ちマイクロ・ピクセル・バー値である。サブ・ピクセル・キャッシュをレンダリングするために必要な計算を連続して行うことの代替として、マイクロ・ピクセル・バーを用いることができる。マイクロ・ピクセル・バーは、テーブルに格納された事前に計算された網掛けを表す。
【0070】
左側の縁および上部図形の縁を用いることによって、マイクロ・ピクセル・バーのテーブルを構築することができる。左側の縁によって図形の内側の位置は、縁の右側になる。上の縁によって図形の内側の位置は、縁の下になる。図13Bおよび図13Dは、左側および上部の図形の縁を表わす。これまでのx、y座標方式では、左下の隅を原点または原点近傍に固定すること、および90度から45度までの角度の区域を通ってスイープする(sweeping)ことによって、可能性のある角度区域を表すことができる。図13では、反射、回転、および反転動作によって、図13Dのマイクロ・ピクセル・バーを別の図形に変換することができる。反転は、縁の内側および外側を適切な位置に保つために必要な場合に用いられる。図13Dは90度と45度との間の上左側の図形の縁である。図13Cは、図13Dのy軸の向こう側の鏡映を反転したものある。図13Bは、45度0度の間のより浅い縁角度である。図13Dをy軸の向こう側に映し、反時計方向に90度反転することによって図13Bが得られる。y軸の向こう側に更に映し、反転すると図13Bは更に図13Aに変換される。図13A−13Dの4隅配置では、マイクロ・ピクセル・バー値のセットを四角形の隣接する隅に移動させるには、反映と回転または反転の2つの動作を行うが、四角形の対向する隅に移動させるには4つの動作を伴う。従って、可能性のある角度区域は、左下側の隅を原点に固定し、95度から45度の範囲でスイープすることによって表すことができる。
【0071】
本発明の有用な態様の1つは、対象形のサブ・ピクセル・バー・マップの使用である。図45は、この対象を示す。左側のサブ・ピクセル・バー・マップ対において、マップ4501Aおよび4502は互いにミラー画像である。それらはぴったり嵌合している。それらは、双方合わせてマイクロ・ピクセル・アレイの全てのサブ・ピクセルを覆い、例えば、64/64の輝度を生成する。サブ・ピクセル・バー・マップの右側対では、マップ4501Bおよび4502は、4501Bおよび4502と同じ領域をカバーするが統合結果は異なる。4501Bおよび4502は、対象ではないため互いにうまく嵌合しない。一部の領域は重なり合い、また他の領域には隙間ができている。これらは、まとまってもサブ・ピクセルの全てをカバーすることはなく、例えば、61/64である。斜交に配置された幾何学図形パターンの場合、対象性が欠けると非常に重要な寸法の均一性、およびシステムのエラー・バジェット(error budget)に逆影響を及ぼす。
【0072】
マイクロ・ピクセル・バー・テーブルは特定の角度だけを含む。何故なら、上述したように、幾何学図形の縁は、特定の間隔でサブ・ピクセルと交差するように強いられているからである。ピクセルの縁に沿った離散的位置を切片として用いることは、管理可能な数のエントリーによりテーブルを使いやすくする方法の1つである。離散的位置は、現在利用可能なメモリーおよびプロセッサ構成が付与された513以下の位置のことである。サブ・ピクセルおよび離散的位置の精度を256個のサブ・ピクセル且つサブ・ピクセル当り僅かに65個の位置、64個のサブ・ピクセル且つサブ・ピクセル当り僅かに33個の位置、32×16個のサブ・ピクセル且つサブ・ピクセルの縁に沿った僅かに17個の離散的位置、または16×8個のサブ・ピクセル且つサブ・ピクセルの縁に沿った僅かに9個の離散的位置に限定することは賢明なことである。これらは、現行のメモリー、プロセッサおよびFPGA技法が備えられた適切な代替構成であると考えられる。それらは、一般に近い将来、例えば、今後5年後に実現される可能性のある構成を外挿する2のべき乗と関係する。離散的位置は、16または32ビット・アドレスを用いてアドレス指定可能な全ての位置を指しているわけではない。離散的位置を用いることによって潜在的なテーブル・エントリーの数は制限される。サブ・ピクセルの縁が8個のサブ・ピクセルを有し、各サブ・ピクセルは8つの増分値を有する場合、サブ・ピクセルの縁の潜在的縁交点は64個または65個である。90度と45度との間の64の角度(または、両端を含めると65の角度)の表現を、原点から、用いることによって、可能性のある角度の全ての範囲を表示することが可能となる。8×8のサブ・ピクセル・グリッドでは、ピクセル対を効果的に跨る8つのマイクロ・ピクセル・バーを5ビット値として表すことができる。
【0073】
45度ないし90度の角度を有する左側の縁は、例えば、原点から1ピクセルの全幅分遠ざかることなく、x軸に沿った8つの異なる増分値において交わることができる。異なるパターンのマイクロ・ピクセル・バーを選択することによって、原点を通過する角度を表すことができる。そして、原点から1/2ピクセルのx軸を通過する時に同じ角度を表す。縁配置においてサブ・ピクセルの精度を実現するためには、異なるパターンのマイクロ・ピクセル・バーが同じ角度に対して必要である。これを図示するにあたっては、45度の縁を注視されたい。この縁が原点を通過する場合、これは32/64のサブ・ピクセルに陰影を付けることによって表わされている。この45度の縁を丸々1ピクセル分右に移動する場合、それは、行毎に1個分少ないサブ・ピクセルの割合で、8個のサブ・ピクセルによって表わされる。網掛けされたピクセル32個と25個との間では、45℃角度のバリエーションは8つある。それは、サブ・ピクセルの縁に沿った8つの異なる位置において縁を配置することに対応する。図14A−図14Dは、マイクロ・ピクセル・バーのセットを用いて左側の縁を構築する動作を示している。角度は45度より小さいので、縦方向のピクセル対を用いる。図14Aでは、構築対象の縁1402はピクセルの整数によって1401に移動され、隅において、または隅(から1ピクセル未満の)近傍で停止する。図14Bでは、ピクセル対の右側および左側において、移動した縁がサブ・ピクセルの縁と交差する増分値に基づいて、マイクロ・ピクセル・バーのセットが選択される。次に、図14Cでは、1402から1401への移動に対応するピクセル1412の数または領域が抜き取られる。図14Dでは、マイクロ・ピクセル・バー1413をピクセル対の上部に向き合う所定のところに戻し、そこで所望の縁1402を表示する。
【0074】
サブ・ピクセル・バーの事前の計算
図15Bおよび図15Cは、上述したように用いられるサブ・ピクセル・バーを事前計算するためのインターフェースを示す。双方の図の形状は、選択された基準および得られたマイクロ・ピクセル・バー構成を除いては、同じである。“MiPxCaWレンダリング・テーブルの生成”制御は、事前計算プロセスからの出力を制御する。このボタンが選択されると、出力は他のパラメータ・ファイルと統合することができ、本発明の態様を具現化するシステムにおいて使用可能なパラメータ・ファイルを含む。チェック・ボックス1542および1543によって、縁部分の切片をどのように表現するかが選択される。図15Bでは、x切片座標が示されている。x1(1551)座標は20であって、原点の1.25マイクロ・ピクセル(20/16)右側に対応する。有効座標は0..255の範囲内にあり、16のマイクロ・ピクセルに対し、マイクロ・ピクセルあたり16の位置に対応する。x2(1552)座標は80であり、原点の右側5ピクセルに対応する。y座標オプション1543が選択された場合、マイクロ・ピクセル・ディスプレイのy1(1553)およびy2(1554)の縁上での切片の値が与えられる。レンダリング・オプションが3つ提示されている。“右の縁をレンダリング”の選択肢1544選択しない限り、図示される縁は左の縁であり、図形1556の塗りつぶされた(陰影された)部分は縁1555の右側である。
【0075】
均一化ピクセル分布は、2つのまたは、場合によっては、3つの基準によって導かれる。レンダリング時に、パイプライン演算(pipelined arithmetic)を用いて均一化ピクセル計算を実行する場合、最初の2つの基準を優先する。第1に、均一化ピクセルを含み、マイクロ・ピクセルによって覆われた領域が、MiPiCaの覆われた部分の隅点から三角法で計算された正しい領域との違いが最も大きくなるのは、1/2サブ・ピクセルにおいてである。制御ボタン1545、即ち“ピクセル均一化の実行”、はこの基準を実行する。次に、隅を形成する2つの縁の論理的“and”演算によって隅が形成される際マイクロ・ピクセルによって覆われる領域は、交差する縁に関して三角法により計算可能なものから1サブ・ピクセル領域より多く異なってはならない。制御ボタン1546、“ピクセル領域均一化を実行”、はこの基準を実行する。情報ウインドウ1547は、レンダリング実行の注釈に対応する。レンダリング・ボタン1548が選択されるといくつかの出力が生成される。正しい領域の値1561が、供給された座標を用い、三角方によって計算される。それは、この例では、縁部1555の右側である。近似の領域値1562は、マイクロ・ピクセル・バー1556によって覆われたマイクロ・ピクセルの総数である。近似の領域誤り1563は、正しい領域1561と近似の領域1562との間の違いであり、この例ではゼロである。この図におけるグレイ・スケール値1564は重複している。システムが1工程でマイクロ・ピクセル・バーのセット全体を生成する場合、最大テーブル誤り1565が用いられる。それは、セットのマイクロ・ピクセル・バーのいずれかの正しい領域と近似の領域と間の最大の違いを示すことによって、プログラム性能を検査する。
【0076】
分布判定プロセスは、角度、オフセットおよび分布のあらゆる種類の規則正しい繰り返しであり、可能性のある組み合わせ毎のエラー・バジェットを評価することができる。必要な均一化ピクセルの数は、第1基準に従って判定される。次に、反復手順は、可能性のある異なった隅の組み合わせを試行し、最小限のエラーの第2基準を実行するサブ・ピクセル構成を求める。縁とマイクロ・ピクセル・バーの端部との間の最小二乗エラーを用いることによって誤りを測定することができる。
【0077】
本実施形態の別の方法は、上から下に向かってMiPiCaをトランバース(tranverse)(バーによってエラーバーを追加する)する際、累積した誤りがいずれの点においても1を越えないように確認することである。
【0078】
一般的に、マイクロ・ピクセル・バー・セットの選択は、テーブルの小型化、またはエラー・バジェットの厳密化支持を選択することを意味している。方式の1つは、所望のテーブル・サイズを設定し、プロセスにとって誤りの最も少ないマイクロ・ピクセル・バーのセットを探すことである。別の手法は、エラー・バジェットを設定し、テーブル・サイズが可能な限り最小となるマイクロ・ピクセル・バー・セットを生成することである。更に別の手法は、多数のマイクロ・ピクセル・バー・セットを生成し、1つを、テーブル・サイズと誤り寄与率との組み合わせに基づいて、他の要素の中から選択することである。
【0079】
図15Bと図15Cとを比較すると、適用された基準1545、1546に応じて異なる結果となったマイクロ・ピクセル・バー・セットが見られる。1556Aと1556Bとの違いは、行0−1および2−3において現れている。
【0080】
マイクロ・ピクセル・バー・セットを事前に計算する別の態様は、異なる角度およびグリッド交差オフセットのマイクロ・バー・セットを納めた階層型テーブルを含むことができる。テーブルの小型化は、2層のテーブル・システムを用いることによって達成することができる。1つのテーブルでは、角度、および交差オフセット対(8を法としてキャッシュ交差座標(0..127)から判定された、0..15)が入力されている。このテーブルは、第2テーブルへのポインターを含み、第2テーブルは、マイクロ・ピクセル・バーの長さ(8×8サブ・ピクセルの解像度の各セットにおいて8)のセットを含む。階層によっていくつかの角度/オフセットの組み合わせは、1つのマイクロ・ピクセル・バー・セットを共有することが可能になる。バー・セット・テーブルは、より大きなテーブルなので、テーブルの全体サイズは小さくなる。あるいは、角度およびオフセットのその他の組み合わせに対応するもっと大きなテーブルを構築することにより、バー利用時に移動および回転の必要性を少なくするまたは排除することができる。
【0081】
マトラブ(matlab)は、単一のマイクロ・ピクセル・バー・セットによって全て表現可能な組み合わせを見つけ出すための有用なツールである。第1および第2基準を満たす潜在的等価ピクセル分布を、他の角度/オフセット対の分布と照らし合わせて調べる。2つの分布パターンが異なる角度/オフセット・エントリーに関し一致するか否かはマトラブの特有の関数を用いれば識別可能であるが、一致した場合には、パターンの1部を格納し、2つのエントリーの双方には、同じマイクロ・ピクセル・バー・セットに対するポインターを与えることができる。
【0082】
図16A−図16Cは、ピクセルまたはサブ・ピクセルの左下領域での隅の形成を示す。図16Aは、縁を規定するマイクロ・ピクセル・バーのパターンを示す。縁は名目上、x軸に沿って8から4.5の増分値に当る。ピクセルの上1601および下1602の縁の交点は同等である。この例では、64の内36のサブ・ピクセルは網掛けされている。図16Bは、傾斜する縁を規定するマイクロ・ピクセル・バーのパターンを示している。ピクセル1611の上部の縁の交点はピクセルの中央にある。ピクセルの底部1612の縁の交点は、x軸に沿って4.5の増分値に当る。網掛けされたサブ・ピクセルは、64の内の36のグリッド位置をカバーする。図16Cでは、図16A−図16Bの中で示された縁対は先の隅と交差する。縦方向の縁1621および横方向の縁1622に対応するサブ・ピクセルのパターンは、ライト・グレイによって示されている。論理アンド演算によって形成された2つのピクセル・パターン1623の交点は、ダーク・グレイによって網掛けされている。この例において、ダーク・グレイによって網掛けされた領域は、理想値とはわずかながら異なる。
【0083】
前述の図は、本発明の態様を実行する代替実施形態を示す。図形に関する多くのバリエーションによって本発明は実行可能であることを当業者は認めるであろう。例えば、照射スイープを用いて画像を投影する装置のグリッド位置は矩形とすることができる。サブ・グリッドがスイープ方向にアドレス指定を行うグリッド位置は、矩形のピクセルまたはサブ・ピクセルとして処理することができる。マイクロミラー・アレイの個々のマイクロミラーは、矩形、六角形、非凸形状とすることができる。サブ・ピクセル・グリッドは、照射して画像形成に用いられる装置の形状に合うので、複数のグリッド位置、マイクロミラーまたはピクセルをカバーすることができる。サブ・ピクセル・グリッドからのピクセルのグレイ・スケール値を要約することは、サブ・ピクセルをピクセルにマッピングすることに対応する。当業者は、更に、2段階の解像度の使用は、より高い解像度でのサブ・ピクセル・グリッドのグレイ・スケーリングに適応可能であることを認めるであろう。高解像度のサブ・ピクセル・グリッドが個々のサブ・ピクセルのグレイ・スケール情報を含んでいる場合、隅を形成する縁の交差は、論理演算ではなく、サブ・ピクセルの最大値をオーバーフローする総計に注意を払いながら、サブ・ピクセルの値の加算を要求する。サブ・ピクセル・グリッドのグレイ・スケール値を要約することは、網掛けされたサブ・ピクセルのカウントではなく、加算を要求する。
【0084】
縁移動
図17は、本発明の対応にしたがって、縁移動の紹介を開始する。縁移動とは、幾何学図形の縁を中心から外側に移動させるまたは図形の中心に向かって内側に移動させることによって幾何学図形を増大または収縮(拡張または縮小(eroding))することを意味する。これは幾何学図形を平行移動することとは異なる。何故なら、幾何学図形の対向縁が反対方向に移動するからである。縁が移動されると、縁間の隅は2つの縁の新たな交点を理想的に映す。実行可能な利用では、横方向、縦方向および45度の縁の移動が最も重要である。図形の領域に対し、レンダリング領域における縁移動によって、装置オペレータは、プリント対象の図形ファイルを変更することなく、形状の大きさを微調整することができる。種々の縁移動パラメータを用いて単一の工作片の上にプリントされた一連のテスト・パターンを用いることによって装置を較正することができる。テスト・パターンの反復例をデータ・ファイルに含めることができる。この図形は断片化し、拡張することができる。異なる縁移動パラメータをテスト・パターンの異なる例に用いることが可能である。検査ツールを用いることによって、テスト・パターンから所望の形状寸法を生成する縁移動パラメータ・セットを選択することができる。
【0085】
図17は縁移動図形を示す。縁移動のパラメータは、cdXおよびcdYを含む。cdXパラメータは、縦方向の縁を幾何学図形の中心からどれだけ移動させるべきかを示す。正のcdXは、幾何学図形を広げる。府のcdxは、それを縮小させる。cdYパラメータは、横方向の縁を幾何学図形の中心からどれだけ移動させるべきかを示す。図17は、新たな縁位置1712に移動された、水平線からほぼ30度の角度の古い縁1711を示す。cdXおよびcdYに等しい軸を有する楕円1701を構造化ツールとして用いる。新たな縁の位置1712は、古い縁1711と平行であり、楕円構造化ツールによって規定された距離1702だけ、古い縁から隔たっている。新たな縁は古い縁と接する点において構造化ツールと接触する。接点の位置はdx、dyである。移動方向1703は古い縁および新たな縁の双方に対し直角である。
【数4】
【0086】
dXおよびdY計算はコンピュータ集約的である。縁移動のコンピューティング要求を最小化する方法の1つは、パラメータcdXおよびcdYをロードするのと同時にdX、dY、fXおよびfYの事前に計算された値をレンダリング・エンジンの中にロードすることである。
【0087】
縁角度検出
3つのアルゴリズム、およびバリエーションは、2段階の解像度を用いたレンダリング・エンジンにおける縁移動の実行の事例を提示する。これらのアルゴリズムは、横方向および縦方向の縁の直交移動、横方向または縦方向の縁に沿った方向の斜め移動、および45度の縁の直交移動に適応する。
【0088】
畳み込みフィルターは、縁の角度または向きを検出し、利用すべきアルゴリズムを選択するために用いられるツールの1つである。3×3近傍のピクセルに利用可能な以下の畳み込みフィルターを考慮されたい。
【0089】
これらの畳み込みフィルターを用いるには、フィルター係数のパターンをグレイ・ピクセル値のパターンに重ねる。フィルター係数とピクセル・グレイ値の積をセルごとに計算し、セルを纏めて加算する。フィルターごとに別々の合計を計算する。もっと大きな近傍、およびソベル(Sobel)のフィルター、または整数2の代わりに2の平方根の2倍を用いるフィルターのような、非整数値を用いることによって、より適切な畳み込みフィルターを構築することが可能である。演算要件と精度との大まかなトレード・オフに応じて、広範囲の近似をフィルター係数に対し用いることができる。
【0090】
緑移動の結果
fY/fXのアーク・タンジェントをマスク・パターンに対応したデータで検査する際、角度を計算するためのフィルターの使用については上述した。その結果は以下のとおりである。
【表1】
【0091】
フィル・アップ・アルゴリズム
横方向または縦方向の縁移動のアルゴリズムを図18および図18Bで示す。これらの図の各々には、1801−05の5個のピクセルが含まれる。図18Aは移動前であり、図18Bは移動後である。移動対象の縁は、ほぼ垂直の1811、1812である。移動前、縁はピクセル1804の隅と交差する。従って、ピクセル1804のグレイ値は、58/64である。縁は、ピクセル1803の僅かにより大きい隅と交わるので、ピクセル1803のグレイ値は、10/64である。この例における縁移動パラメータは左側に15/64ピクセルである。ラスター座標方式の軸の1つとほぼ平行な縁に対しては、このいわゆる“フィル・アップ(filling up)”移動アルゴリズムを用いる。それは、縁をゼロないし1ピクセル移動するために用いられる。幾何学図形を拡張させるには、アルゴリズムは、最も明るいグレイ・ピクセルを64の白の値にフィル・アップし、移動の余剰分はすべて最初の白またはグレイのピクセルにあふれさせることを要求する。幾何学図形を縮小するには、アルゴリズムは、最も暗いグレイ・ピクセルを空にし、最初の白またはブライト・グレイ・ピクセルから移動の余剰分を取ることを要求する。以下の関数は、このアルゴリズムを実行する1つの方法である。
【数5】
ここで、p’[i]は、ピクセルp[i]から得られた輝度であり、
sgnは、引数が正であるか負であるかに応じて(1、0、−1)である、
cdXは、上述の入力パラメータであり、
dXは上述の公式を用いて計算され、且つ事前に計算される場合もあり、
fXは上述の公式を用いて計算され、且つ事前に計算される場合もある。
【0092】
図18Aおよび図18Bの例では、15/64のピクセル移動が望ましい。ピクセル1804は58/64の値で始まる。ピクセル1804は、6/15のサブ・ピクセル陰影で塗りつぶされている。残りの9/15はピクセル1803に付加され、その値を10から19に高める。縁1811は15/64マイクロ・ピクセル左よりである位置1812へ移動される。このアルゴリズムは、垂直および水平な縁の直交移動には有用であるが、ほぼ水平または垂直である縁に沿った移動に対してはうまく機能しない。
【0093】
摺動アプリケーション・アルゴリズム−第1の実施形態
摺動アプリケーション・アルゴリズムが図19Aおよび図19Bによって示されている。移動対称の軸にほぼ平行な軸に沿った移動には、次の関数を用いることができる。
【数6】
ここで、maxValは、塗りつぶされたピクセル(この例では64)の輝度値と同じである。このアルゴリズムは、単に隣接するピクセルのグレイ値によって左右され、パラメータcdXまたはfXの記号に応じて左側または右側である。この公式は本来、2つのピクセル間の加重平均を計算するが、加重関数は合計して1になる。異なる加重関数を利用することによって、この方法を用いた際に認められた誤りを補償することが可能である。この図形で示されている移動は、32/64の拡張である。結果として得られた加重値は現在のピクセルの輝度の半分、およびその右隣の輝度の半分である。縁1911を、左側の1912に移動する。ピクセル1904には、ピクセル1904と1905との平均値を割り当てる。その値は48から56に変化する。ピクセル1903および残りは、そのまま不変である。何故なら、ピクセル1903と1904の、およびピクセル1902と1903の、加重された、拡張前の平均値は48であるからである。ピクセル1901は、ピクセル1902の輝度値の半分をとると、0から24に変化する。縁1911はこのプロセスによって1/2ピクセル左に移動する。
【0094】
摺動移動アルゴリズム−第2の実施形態
摺動移動の代替公式は、以下の通り、
【数7】
ここで、p[i]は中央のピクセルである。64よりも多いサブ・ピクセルが単一のピクセルを表す場合、代替の最小ピクセルは、それに応じて調整される。
【0095】
摺動およびフィル・アップによる移動
摺動およびフィル・アップによる縁移動利用のバリエーションが図48−図49に示されている。用いられる手法は、勾配フィルターによって検出された縁角度によって左右される。各バリエーションでは、xまたはy軸に沿った近傍のあらゆる中央ピクセルにおいてまず摺動演算が実行される。次に、反対方向の近傍の中央ピクセルにおいてフィル・アップ演算が実行される。1の重み係数を用いるが、これを修正することによって移動パラメータに対するアルゴリズムのレスポンスを比例して高めるまたは下げることができる。
【0096】
上述したフィル・アップおよび摺動アルゴリズムのバリエーションは、全ての縮小に対しフィル・アップ・アルゴリズムを用い、中央のピクセルに対し加重関数を導入することである。これによって、中央のピクセルは、第1の縮小方向のフィル(filling)係数、および第2の縮小方向のフィル係数の平行根だけに比例して縮小する。摺動アルゴリズムは、幾何学図形の全ての拡張用に用いることができる。xおよびyの両方向のグレイ・ピクセルがいくつかある場合、フィル・アップ・アルゴリズムは、アンダー(under)・フィル・ピクセルとなる傾向があり、これによって摺動アルゴリズムは魅力あるものとなる。
【0097】
45度の縁アルゴリズム
第3のアルゴリズムは、45度の縁の移動に対し適切に作用する。このアルゴリズムは、ほぼ45度の縁に対し利用可能である。45度アルゴリズムを適用できるくらい縁が45度に近いか否かを判定する2つの検査は以下の通り。
abs(abs(fX)−abs(fY))*32<(abs(fX)+abs(fY)),及び
abs(abs(fX)−abs(fY))*8<(abs(fX)+abs(fY))
但し、absは絶対値関数。これらの検査は、縁の方向を検出するために用いられる勾配フィルターに適用される。因数8または32を選択することによって、アルゴリズム適用前に角度はどれだけ45度に近くなければならないかが判定される。16、20または24および8−32または16−24を含む、他の因数または因数の範囲は簡単に用いることができる。因数8の使用は、45度+/−10度にほぼ対応する。
【0098】
縁が45度の場合、交差するピクセルの隅からの距離Dは以下のように計算可能である。
【数8】
ここでFは、網掛けされたサブ・ピクセルの数(例えば、45度の縁がピクセルを2分するとき、最大値の32=64)一般的に、45度の縁が移動する距離は以下のように計算可能である。
【数9】
この移動は、勿論、図17における単位ベクトルn(1703)と同じ方向である。cdH>0、且つピクセルは空白、またはcdH<O、且つピクセルは塗りつぶしである場合、斜め近傍を検査し、それらがグレイであるかを確認し、上記計算式にしたがって隅からの距離を計算する必要がある。次に、単一ピクセルの斜めの距離であるsqrt(2)を加減することによって隅までの現在の距離が得られる。隅から縁までの新たな距離は、次のように求められる。
【数10】
【0099】
45度の縁の新たなフィル係数計算するには、ピクセルの隅からの距離をD+cdHとして計算する。次に新たなフィリング係数は、
【数11】
勿論、Fに対し、max(maxval)およびmin(0)がある。丸め誤差を回避するため、中央のピクセルおよび隣接する2つのピクセルの両方からDの平均値を取る。
【0100】
45度の縁移動の第2の実施形態は、第1の実施形態と類似している。この45度のアルゴリズムは、45度の縁と分類されるグレイ・スケール・バーチャル縁を128×128のピクセル正方形に変換する。縁は、ラスター領域から幾何学図形領域へ変換される。縁移動は、幾何学領域において実行され、次にグレイ・スケール・フィル値に再変換される。関数GetDistは、グレイ・スケール値を幾何学値に変換するように規定される。関数GetFillは、幾何学値をグレイ・スケール値に変換する。GetDistは、グレイ・スケール・フィル値を以下のように幾何学距離値に変換する。
【数12】
GetFillは、距離値を以下のように、グレイ・スケール・フィル値に変換する。
【数13】
【0101】
45度アルゴリズムは、3×3ピクセル周囲を用いて中央のピクセル移動を計算する。3×3マトリックスにおけるピクセルの位置は、p「X」[Y]として表される。但し、p[0][0]は中央のピクセルである。アルゴリズムの入力パラメータはsgnfX、sgnfY、およびcdHである。
【数14】
【0102】
この符号セグメントでは、(sgnfX、sgnfY∈{−1,1})。aからeまでの値は以下の通り。
【数15】
但し、GFはGetFillの短縮形であり、GDはGetDistの短縮形である。
【0103】
隅検出および処理
縁移動に関するその他の任意の態様は、隅の特別処理である。いわゆる、Forstner−Plessey−Harrisアルゴリズムは隅検出の1つの基盤をなすものである。 http://kogs−www.informatik.uni−hamburg.de/−koethe/vigra/doc/comerResponseFunction.htmlにおいてVIGRA Computer Vision Library,template<...>void cornerResponseFunction、およびC.J.Taylorによって編集された、C.G.HarrisおよびM.J.Stevensによる第4回Alvey Visionコンファレンスの紀要“結合した隅および縁検出器(A Combined Corner and Edge Detector)”(マンチェスター大学、1988年8月31日−9月2日)頁147−151を参照されたい。アルゴリズムは次のように進行する。任意のスケールsでは、それは(勾配積の平滑化マトリックスである)構造テンソル(tensor)を各ピクセルにおいて次のように計算する。
【数16】
但しGは、スケールs、gxにおけるガウス平均値を指し、gyは、第1のガウス導関数であり、乗算はピクセルに関して行う。次に隅レスポンスは次のように規定することができる。
CR=AB−C2−0.0625(A+B)2
閾値処理後、隅レスポンスCRを用いることによって、隅ピクセルを識別することができる。
【0104】
実際には、fXおよびfYを用いてgおよびその形状のガウス・フィルターを推定する。
【数17】
この演算は、5×5近傍を必要とすることを留意されたい。CRの値は隅に近いほど高い。閾値を用いることによって、隅のピクセル(ALG2_PAR_HARRIS_LOW<CR<ALG2_PAR_HARRIS_HIGH)を選択する。あるいは、隅検出は5×5ウインドウを用いることにより中央のピクセルが対象の隅であるかを判定することができる。図46において示唆したように、ウインドウ内のあらゆる位置において、全体的な縁検出用の3×3の勾配フィルターを2つ用いる。その結果は、fxおよびfy値の3×3マトリックスである。あらゆる位置において、これらの結果は二乗され、互いに乗算され、図47に示すように位置毎に3つの値となる。上述のガウスフィルタは、図47の値毎のマトリックスに適用される。隅レスポンス(CR)を計算し、閾値と比較して隅を検出する。
【数18】
【0105】
縁および隅検出の別の手法は、Smallest Univalue Segment Assimilation Nucleus(SUSAN)である。これは、S.M.Smithの「画像をディジタル処理して、画像内の縁および/または隅の位置を判定し、無人車両を誘導する方法」と題する、英国特許第2272285号(1997年1月15日)、および第3回英国機械視覚会議の紀要(1992年)139−148ページに記載のS.M.Smithによる「新種の隅ファインダ」等広範に記述されている。縁移動の利用は、隅および縁検出方法を改善することによって幾何学図形を拡張または縮小するためのより適切な基準が得られる点を除いては、選択された特定の縁および隅移動アルゴリズムとは別個のものである。
【0106】
隅検出の別の代替は、レンダリング・プロセス中の隅の作成を記録することである。隅は論理AND演算を用い2つの縁を交差することによって作成される。多角形のレンダリングまたは複数の多角形の結合の際、論理AND演算を用いることは、潜在的な隅を指している。上述の2ビットのピクセル符号化はビット値“11”を残しておいた。この値を用いることによって、幾何学図形の単一の縁に対して、隅演算によって構築されたグレイ・ピクセルにフラッグを立てることができた。連続幾何学図形がピクセルを完全にカバーし、その輝度値を最大値にドライブ(drive)し、ピクセルはW/Bとして目印が付けられると、このフラッグは自動的に除去される。2つの隣接する台形が2つの隅が以前存在した連続縁を作成すると、このフラッグを除去することができる。このフラッグは、特別の事例処理用に隅を表示する、または別の試験用に隅を表示するものと理解することができる。
【0107】
縁移動の流れ図
図52は、ハードウエアによって縁移動を実現する流れ図である。この実施形態では、dX、dYおよびcdH値が計算されるとすぐに、移動計算が行われ、隅検出アルゴリズムは移動計算と平行して評価される。検出および決定ツリーにおいて、dX、dYおよびcdH値テーブルをソフトウエアから事前にロードする、または、cdXおよびcdY値が変化した時ロードし直すことができる。同図では、着信ピクセル・データは5201においてバッファリングされる。このデータは、選択された近傍の大きさに応じて、5行のピクセル・データとして出力される。データは遅延バッファ5211および縁畳み込み計算器5212に送られる。畳み込みの結果を用いてdX、dYおよびcdH5222を計算し、テーブル5221からいくつかのデータを導く。また、畳み込みの結果を用いて、隅、45度の縁、またはその他の縁が検出されたかを5223において判定する。遅延バッファ5211は、5行のピクセル・データおよび計算された値5222を結合させ、隅移動5231、45度の縁移動5232、および他の縁移動5233の計算を並行して行う。多重通信回路(mux)5241またはその他の演算選択装置は、検出結果5223を用いて計算された移動の内の1つ以上を選択してこれを用いる。
【0108】
縁移動の結果
隅検出付、およびなしの縁移動アルゴリズムを利用して検査を行った。検査パターンには多様なものがあった。四角のパターンのLR即ち右下の縁は、右下の隅が45度の角度において薄く切り取られ、5面の図形となった四角形に類似した。SQ即ち四角のパターンは原点がxおよびy軸に沿ってピクセルの半分移動した一連の四角を含んでいた。SQRot即ち回転された四角のパターンは、xにおいてのみ移動し、yにおいて0度から90度の間で回転したSQパターンと同じパターンを使用する。PlusRotパターンは、x移動および回転を行ったSQRotとして処理される一連の正の符号である。このパターンは、内側の隅を、状況によっては外側の隅しか有さぬプロセッサ・セットに導く。パラメータcdXおよびcdYはテスト・パターン毎に変更され、陰影をつけたサブ・ピクセルの数の理想との違いの点から、誤り範囲の特徴を記述した。
【0109】
隅検出無しで、3つの縁移動アルゴリズムを、上述のパターンに照らし合わせて検査し、種々の結果が得られた。LRファイルに対しては、隅を含まないテスト・パターンまでのそれらの行だけを用いることによって以下に示す統計が導かれた。従って、これらの結果は純粋な縁のアルゴリズム動作を示している。
(含まれる行は27+i+J*32である。 但しi,j=0,1,2...)
【表2】
【0110】
SQパターンに対しては、以下の結果に到った。SQの角度は0度または90度なので、縁角度は理想的な画像とは異なるピクセル数の原因とはならない。従って、このデータ・セットの平均値は隅における誤りを表す。
【表3】
【0111】
SQRotパターンの検査は繰り返す必要があった。何故なら、元のデータ・セットは、非等方性EDの誤りを含んでいたからである。下記のデータは、補正済み画像からのものである。縁は0度でも90度でもないので、縁方向検出の誤りは異なるピクセル数の原因とはならない。従って、平均値は隅の誤りを表してはいない。
【表4】
【0112】
SQRotパターンの場合と同様、PlusRotパターンの検査は繰り返す必要があった。何故なら、元のデータ・セットは、非等方性EDの誤りを含んでいたからである。下記のデータは、補正済み画像からのものである。縁は0度でも90度でもないので、縁方向検出の誤りは異なるピクセルの数の原因となる。従って、平均値は隅の誤りを表してはいない。
【表5】
【0113】
(代替のSUSAN手法ではなく)上述の隅検出によって、検査には一定の改善が見られた。LRファイルに対しては、下記に示す統計は、隅を含まない行だけに基づいている。従って、統計は純粋な縁の動作を反映している。
(含まれる行は27+i+j*32である。 但しi,j=0,1,2...)
【表6】
【0114】
SQパターンに関しては、SQの縁は0度または90度であるので縁角度は異なるピクセルの数の原因とはならない。従って、隅検出を用いた場合、平均値は隅における誤りを表す。
【表7】
【0115】
隅検出を用いた場合のSQRotパターンの結果は次の通り。
【表8】
【0116】
隅検出を用いた場合のPlusRotパターンの結果は次の通り。
【表9】
【0117】
縁移動のハードウエアによる実行の1つを図20に示し、以下で論ずることとする。
【0118】
ハードウエアによる実行
図20は、例えば、FIFOおよび5×5近傍上にピクセル遅延オペレータを備えたピクセル・ライン遅延バッファを示す。代替実施形態は、従来の画像処理アルゴリズムに呼応し、畳み込みカーネルの対称性を用いて遅延要素の数を削減する利点がある。ピクセル・データはライン2001に入力される。遅延要素2010、2020、2030、2040および2050は、ライン2011、2012、2022、2032、2042および2052を伝わって縁移動用ピクセル近傍オペレータ2060へのデータ伝播を制御する。修正、または移動したピクセル近傍を計算し、2070において出力する。調整プロセッサは、レンダリング・プロセッサから出力されたデータ・ストリームにおいて受け取ったピクセル近傍でグレイ・スケールの縁移動を行う。実施形態の1つでは、縁移動の近傍サイズは5×5のグレイ・スケール・ピクセルであるが、これは実装の詳細であって、本発明の態様を実行する方法の適用を制限するものではない。縁移動の実行は、(サイクル毎に2または4ピクセルの)平行ピクセル入力および出力データ・ストリームに対応する並行処理にとって有利である。出力されたデータ画像に用いる注釈[IncYo−2;IncXo−2]は、2つのピクセル・ライン遅延および2つのピクセル遅延があることを意味している。
【0119】
照明補償
図21はいわゆるスタンプ重複を示す。レンダリング・ウインドウ即ち変調器ウインドウは、1つ以上のスタンプ部分をカバーすることができる。例えば、スタンプ2101は、6個の変調器ウインドウ2111−16によってカバーされている。1工程で、スタンプはその縁2102の近傍で重なり合う。重複ゾーン2103は、重複区域である。また、重複分析は、走査を行った照射画像プロジェクターに対しても用いることができる。その場合、レチクルの領域は印刷され、次にレチクルのその後に印刷される領域と重なる。レチクル走査が一方の縁から反対側の縁に向かって行われる場合、走査システムの重複パターンには、走査されたストリップの全面での重複ゾーン、または2つの面だけでの重複ゾーンがある。
【0120】
重複のための重複ゾーンおよびエネルギー変動補償
図22は、単一工程環境におけるマイクロミラー・スタンプの重複サブゾーンを示す。スタンプ2201は隣接する8個のスタンプ2211との重複に起因する重複サブゾーン2220を9個有している。スタンプ2201はスタンプの3×3グリッドの中央にある。中央のサブゾーンは隣接スタンプと重複しない。隣接のスタンプ露光面との重複は一度だけのサブゾーンが4つあり、これらは、中央のサブゾーンから“+”パターン・アームに沿って、レンダリング・ゾーンの縁に向って外側に突出している。レンダリング・ゾーンの4隅のそれぞれには、隣接露光面と多重重複するサブゾーンがある。他のレンダリングサブゾーンによって取り囲まれた矩形のレンダリング・ゾーンに対し、サブゾーンと多重重複する隅のそれぞれを4回露光することができる。この9つのサブゾーン構成は多重露光に適用可能である。4つの互い違いの露光の結果は、図23Bで示すように、レンダリング・ゾーンの81のサブゾーンとなる。同じサブゾーン分類は、例えば、6角形またはこれに代わる三角のレンダリングおよびガード・ゾーンのような他の形状のレンダリングおよびガード・ゾーンに直ちに適用可能である。照明補償は、多段工程で露光される領域間の重複を補償する方法である。この方法は、変動はあるものの、マイクロミラーおよび走査された照射ビーム・システムの双方に適用される。多数工程によって、単一スタンプの隅内の照明ゾーンの数は増大する。図23Aでは、2工程のスタンプ、即ち現工程の2301と別の工程からの重複スタンプ2311−14が示されている。エリア・コード2320−26は、多段階露光によって作成された多くの重複サブゾーンの一部である。多重パスパターンの1つは、4つの(移動した)層からなる。それぞれの層は、図23Bに示すように重複SLM画像からなる。一番奥の四角は通常の“スタンプ”の図形を示す。かかるスタンプの各々は81の領域を有しており、そのそれぞれは、4ないし7の異なる露光パルスの結果である。エリア・コード・アルゴリズムの目的は、最終的照射変動をパルス・エネルギー変動の(ほぼ)1/4に減らすことであり、さらに重複区域におけるステッチング(stitching)に対する照射補償を行うことである。ステッチング領域では、(ランプ(ramps)形状の)補間関数を用いるか、またはステッチング領域全体にわたる一定値を用いるかを選択する。
【0121】
重複ゾーンの利用法の1つは、わずかな露光パルスに起因する理論的露光を常時監視することである。図24Aおよび図24Bは、スタンプ2301の種々の照明領域の照射特性を示す。この例では、スタンプは、それぞれがスタンプと同じ広さのn個の変調器ウインドウ2302によって覆われている。各変調器ウインドウには、6個の照明サブゾーンが割り当てられている。単一工程では他の露光と重複しない中央のサブゾーンは、図24Bでサブゾーン0;4で示されているように比較的高い照射特性を有している。0;1および0;5のような単一の重複サブゾーンは中程度の照射特性を有している。0;2のような多重重複サブゾーンは、低い照射量特性を有している。
【0122】
重複ゾーンの別の利用法は、フラッシュ強度変動を常時監視することである。露光パルスによって、エネルギーの非決定論的な変動または拡散が提供される。公称エネルギーに対するこの拡散は、エネルギー拡散のことである。これは、エネルギー出力の際パルス間のばらつきが相当あるエキシマー・パルス・レーザーおよび他のソースにとってはとりわけ適切である。また、それは、時間の経過とともに、例えば、照射ソースがウォーム・アップするにつれて、照射ビームによって与えられたエネルギーが変化する場合に、走査後の照射にも適用可能である。照明ゾーンは重複照射からの理想的露光に関する情報を、特定のワークを露光中に生成した実際の露光エネルギーに関する情報と結合することができる。エネルギー拡散補償は、後段の露光工程に置いてSLM変調値を調整することによってエネルギー拡散を補償する工程である。この補償は、変調調整プロセスにおいて照明値に基づいて行われる。わずかな変調に関連する補償値は、いわゆるエネルギー拡散補償係数(ESCF)である。ESCFテーブルは、1つの特定の変調器ウインドウのESCFコードをエリア・コード毎に1つのESCFで表すテーブルである。ECTアレイは、サブ・ストリップまたはストリップ全体の変調器ウインドウ毎に1つのテーブルを含んだESCFテーブルのセットである。エネルギー拡散補償計算は、ESCFテーブル・アレイを生成するプロセスである。このプロセスは、以下に説明するフラクチャリング・プロセスのためのマーキュリー(Mercury)コンピュータ・クラスターまたは他のホスト・コンピュータにおいて、またはマーキュリー・コンピュータ・クラスターの実行をシミュレートするオフライン・プロセスにおいて実行可能である。
【0123】
エネルギー拡散補償は、ラスター化エンジン全体の(RASE)調整プロセッサ・ブロック(図31における3141)の照明変換プロセスにおいて行われる。スタンプの変調器ウインドウ毎に、エリア・コード・セットがあり、各エリア・コードはウインドウ部分を表す。スタンプ照明値はストリップのフラッシュ・パルス毎に、エネルギー拡散係数によって、エリア・コード毎に且つパルス毎に個別に補償される。更に、スタンプ領域の全ては、スタンプ領域の異なる係数セットをロードすることにより、その他の係数によって補償することができる。これは、隅ベーキング、活性化およびエージング効果といった、レジストおよび他のシステム化された係数を補償する際には望ましい。この係数には、次の方法で2進の2の補数の固定小数点点コーディングが与えられる。
f=(F+512)/512
ここで、Fは2進のESCF値(−128..+127)であり、fは相対的補償因数(0.7500..1.2481)である。0のF値は100%を表し、‘補償なし’を意味する。
【0124】
ここでもまた、特定のフラッシュ・パルスのエリア・コードを表すESCFセットはESCFテーブル(ECT)と呼ばれる。ESCFテーブルは、位置毎に32ビットのダブル・ワードで配列された1バイトのエントリーを含む。ESCFの長さは、利用されたエリア・コードの数に関係なく128に固定することができる。
【表10】
【0125】
各ストリップを書き込むには、ECTストリップ・アレイと呼ばれるECTのアレイが(レーザー・パルス毎に、且つ変調器ウインドウ毎に1つ)必要である。アレイは、図23Cに示すように、サブ・ストリップに分割される。ECTストリップ・アレイ生成のプロセスは、サブ・ストリップに分化される。従って、(ひとつのサブ・ストリップに対応する)GLIチャネル毎に、図23Dに示すように、ECTステップ・ブロック・ストリップ・アレイが、フラクチャ・エンジン・コンピュータ・クラスターとして生成される。ECTストリップ・アレイがオフ・ラインにおいて生成される時のように、ECTストリップ・アレイがデータ・ファイル内で表示される時、サブ・ストリップは、ファイル1、1から1へ、n、次に2、1から2へ、n、等に配列される。
【0126】
図23Aに戻ると、特定の変調器ウインドウのエリア・コード毎に、エネルギー測定ソース・レファレンス(source reference)がある。同図において、スタンプ2301は、現スタンプの露光領域である。スタンプ2311−14は、直前のパスの4つの重複スタンプである。変調器ウインドウ2302は、点線で外形が描かれている.変調器ウインドウ(i)には、種々のエリア・コード(この例では、i;0からi;8まで、2320−2328)。これは2工程の例であるため、変調器ウインドウの中には9つのエリア・コードがある。
【0127】
1つの実施形態では、各エネルギー測定ソース・レファレンスが2つのポインターおよび加重係数と共にパラメータ・ファイルにおける記録として表示されている。ポインターは、ソース測定値を指し示し、加重係数は、多数のフラッシュが露光に影響を与える際、重複ゾーンにおける個々の測定値からの影響を表す。
【0128】
ESCFは、以下の式から計算される。
【数19】
但し、xはスタンプの数、yはストリップの数、wjはエネルギー加重係数、dxjおよびdyjは相対的スタンプ座標、そしてmはエリア・コードのソース・レファレンスの数である。変数dxjおよびdyjは、マルチ・パス露光スタンプ位置オフセットから続くエリア・コードの分割から導かれた(−1..+1)の範囲の値を有する。wj変数は、[0..32768]の整数間隔の固定点を表し、この場合、0は0%の寄与率、23768は100%の寄与率を意味している。また、E値も[0..32768]の範囲の固定小数点表示値であり、32768は公称エネルギー(100%)およびvalues>32768を意味している。
【0129】
以下の例では、スタンプの完全なソース・レファレンス・セットが提供されている。走査順序は、まずXを増大し、次にYを増大させる。重複ゾーンでは、最初の露光されたスタンプは0,55の加重値を有し、2番目は0,45の加重値を有する。同じ加重は、縦方向および横方向の重複の双方に適用される。4つのスタンプが重複する場合、加重値は、一連の露光順序において(0,275;0,265;0,240;0,220)である。エネルギー測定値から、以下の結果が得られた。これらは実施形態の1つを示すものである。
【表11】
【0130】
重複ゾーンは、更に、照明即ち露光と縁位置との間の非線形関係―図1に理想の露光および現実の露光の両方を示す―を考慮することができる。
【0131】
マルチ・パス露光補正手法によって求められた露光エネルギー変動補正の理論上の限界値は、以下の通りである。露光照射は、エラー仕様内の最大エネルギーで4回生成されるものとする。nは、同じ場所で露光が行われた回数を示すものとすると、以下のn回後のエネルギー反復を書き込むことができる。
En=(n−En−1)(1+δ)+En−1,E0=0;
上記数式の説明は以下の通り。n−1フラッシュ後のエネルギー合計En−1はわかっているので、エリア・コード(AC)補償因数を(n−En−1)に設定し、nレーザ・フラッシュ後の全照射量(正規化照射量)nを取得する。レーザーは精度(1+δ)に対する制御を行うだけなので、結果として生じる照射量は、以前提供された(再帰的)数式によって求められる。
【0132】
この再帰公式を以下のテーブルにおいて要約する。
【表12】
最後の列の因数4を入れたのは、4工程の書き込みによる改善は、ほぼ4倍であるが必ずしもそうではないことを強調するためである。ここで用いられた式は、同一層内の他の領域とは重複しない領域だけに適用される。
【0133】
有用なエリア・コード補償係数は、以下のように計算可能である。表記法は以下の通りである。
a=エリア・コード、領域(0,0)から(8,8)まで
l=層、領域1..4
s=スタンプ・コード、領域(0,0)..(N,M)、但しNxM*4≒107
ρ=露光補償因数(エリア・コードに依存)、領域=0.25−1
(レーザーのパルス・エネルギー安定性に左右される)
E(l,s)=スタンプsおよび層lの記録されたレーザー・パルス・エネルギー
前項と同様に、露光補償係数を以下のように導く。各領域(またはエリア・コード)に対し、(補償係数を含む)当該エリア・コードの中に以前に堆積された全てのレーザー・パルス・エネルギーの合計、およびk倍の補償係数は、lEOと等しいはずである(EOは公称のレーザー・パルス・エネルギー)。係数Kはエリア・コードaを層内に書き込む回数の数であり、aに依存する。従って、
Kρa,l,s+Σρa ' l ' s '=lE0
(E0は、場合によっては統一することができることを留意されたい)ここでもまた、これは、再帰的数式であり、スタンプごとに解決する必要がある。再帰は、現在の層に書き込まれたスタンプ(およびエリア・コード)、および後には、以下の層内のスタンプ全体で実行される。
【0134】
インプリメンテーション
図25は、照明変換のためのプロセス・フローの1つブロック図である。これは照明変換の完全版である。また、部分的インプリメンテーションは、例えば、1回だけの工程が用いられる場合、走査された照射ソースが用いられる場合、あるいはパルス間または工程間の露光エネルギー変動は無視できる場合において有用である。照明変換メカニズムのタスクは、(バーチャル・グリッドを表す)入力されたグレイ・スケール値から計算された所望の照明でピクセル・データの画像を生成することである。バーチャル・グリッドと照明との関係は、図25から見られるように非線形である。このプロセスは、グレイ・スケールを照明変換テーブルに変えることによる重複補償を含む。これを用いることによってフォト・レジストの非線形エネルギー累積特性を補償する。また、このプロセスは、マルチ・パス露光の以前の工程におけるフラッシュ・エネルギーの拡散または変動を補償するために必要な照明の補償にも対応する。
【0135】
エリア・コード部のデータベース2511は、1つ以上のエリア・コード画像マップおよび重複ゾーン・ルックアップ・テーブルの双方を含む。エリア・コード・マップは、変調器またはレンダリング・ウインドウにおけるピクセル・エントリーを含む。これらのエントリーはエリア・コードを規定する。実施形態の1つでは、エリア・コードは、0から127に及ぶ。単一工程の実施形態では、僅かに9個のエリア・コードが用いられている場合がある。エリア・コード数は、全ての露光工程、重複パターンおよび特別のケースから生じた照明サブゾーンの数に適切に適応している。エリア・コード・マップの処理は、レンダリング・ウインドウの中央における変調器ウインドウとは対照的なレンダリング・ウインドウの縁における変調器ウインドウ、レンダリング・ウインドウに及ぶ変調器ウインドウ、およびワークの縁において用いられるスタンプ用変調器ウインドウといった特別のケースを考慮に入れることができる。様々のエリア・コード画像を利用することによって、様々のケースを処理するでき、または様々のインデックスを用いることによって広範な領域のコード・マップの行または列に対処できる。表面ベーキング特性、レジストの活性化、およびレジスト・エージングを含むレジスト問題は、特別対応のエリア・コード・マップを生み出す可能性がある。しかしながら、エリア・コード画像マップを格納し、変調器またはレンダリング・ウインドウの特定のピクセルまたはより大きな領域用のエリア・コードを探し出すことができる。
【0136】
エリア・コード2522は、重複ゾーンのルックアップ・テーブル2523に対するインデックスとして機能することができる。0..127の範囲を有するエリア・コードに対し、重複ゾーンルックアップ・テーブルは、128のエントリーを有する。重複ゾーン・ルックアップ・テーブルは、0..14(2533)のような範囲を有する重複ゾーンIds(OZ Ids)とすることができる。照明テーブル2524の所望数に応じてもっと広いまたはもっと狭い範囲のOZ Idsを用いることもできる。OZ Idsを用いることによって、照明テーブル・セレクター2535を駆動する。あるいは、エリア・コード画像マップをOZ Ids2533と一緒に直接ロードすることよって、変調器またはレンダリング・ウインドウ内のピクセルの画像マップ・エントリーは、OZ Idsに直接アクセスすることができ、エリア・コード2522を用いてルックアップ・テーブル2523にアクセスする中間のステップは不要となる。
【0137】
照明部のデータベース2512は、容認できるグレイ・スケール値、および有効なOZ Ids―このケースでは、0..64×0..14のエントリー―のテーブルを含む。データを、容認できるグレイ・スケール値毎の照明テーブル2524にロードする。このデータは、照明重複ゾーンIdに応じて所望のグレイ・スケール値を実現するための値の範囲(例えば、0..14)を提供する。着信したグレイ・スケール値2513は、照明値2534の範囲を利用可能とする特定の照明テーブル2524を実行する。照明テーブル・セレクター2535は、OZ Id値2533を用いて利用可能な照明値を選択する。照明テーブルの値は、多重露光による照射累積の非線形性を考慮し、完全に明るいピクセルと同等の小部分として表すことができる照射量を生成するのに必要な照明レベルの非線形性を考慮することができる。特別適応の照明テーブル2524をデータベース2512に格納させることによって、レジスト表面のベーキング特性、レジストの活性化、およびレジストのエージングの諸問題に対処することができる。0..820のような広範囲の照明テーブル2544を用いることによって、露光重複状態の範囲全体にわたる比較的より小さい(例えば、0..65の)範囲のグレイ値を達成するのに必要な照射量を表すことができる。
【0138】
単独で、または重複変換と組み合わせることによって有用な照明変換の別の態様は、エネルギー変動補償である。エネルギー変動補償係数2541のデータベースは、多段工程で照射されるワークの部分として蓄積することができる。パルス・エキシマー・レーザー照射ソースを用いたマイクロミラー・システムには、例えば、エネルギー出力のパルス間変動が発生する。これらの変動を監視および記録することは可能である。理想の75%乃至125%といった広い範囲であって、多段工程によって蓄積された変動値を捕捉するのに十分な広さの範囲において、エネルギー変動係数を累算することは有用である。エネルギー変動値は、マイクロミラー・システムを照明する照射ソースのパルス毎に、パルスに対応したスタンプ位置のより広いマップ内のエリア・コード別に累算することができる。次に、エリア・コード画像マップ2521からのエリア・コード2522を用いて、エネルギー変動補償因数テーブル2532に索引を付けることができる。75%乃至125%といった補償因数(384..639/512)2542を用いて、観察された理想のエネルギー露光値からの変動を補償することができる。この補償係数2542に、照明値2544を乗ずる(2545)ことにより、0..1023のような領域を有するマルチ・パス補償された照明値2544が求められる。このエネルギー変動補償は、例えば、2工程印刷プロセスでは80/20、または4工程プロセスでは40/30/20/10のように、工程間で照射量が調整される場合には特に有用である。マルチ・パス調整は、低エネルギーから高エネルギーに同じ尺度を適用することによって特定のダイナミック・レインジの精度を高めるステップをより小さな最大照射量(即ち、エネルギー照射量40の代わりにエネルギー照射量10の1024グラデーション)に適用する可能性を有している。
【0139】
照明関数は、レジストの非線形性を補正するだけでなく、SLMの部分的にコヒーレントな撮像に基づいてパターン生成装置における基本的な光グランド(ground)を有する。論理的研究によって、部分的コーヒーレンスは縁移動をグレイ・スケールの非線形関数とすることが示された。この非線形性は、照明システムのいわゆるシグマ値の最も簡素なケースでは、SLMを照明する光の空間分布によって左右される。グレイ値から縁移動dxへの転送関数は、通常、gとsqrt(g)との間にある関数である。但し、gは0.00乃至1.00の範囲のグレイ・レベルである。グレイ・レベルは、同じ偏差に設定されたピクセルを多く含んだ大きな領域に対して得られるものである。(4回以上の)マルチパス工程印刷が行われると、正確な形状の照明関数は重要でなくなり、転送関数dx=g**0.75に基づいた単一関数を用いることによって精度を確保することができる。
【0140】
ミラー補償プロセス
ミラー補償関数は照明変換関数で計算された照明値をミラー電圧値に変換する。この補償関数は、補償係数マップに格納されたミラー較正ファイルからのデータを用いて、SLMミラーの電圧値を計算する。補償係数マップは、変調器ウインドウのミラー毎に4つの係数(C1..C4)を持った1つのエントリーを含む。補償係数C1..C4は、それぞれCn2とのバイナリ・シフト演算を含み、オフセット値Cnlの加算を含むスケール/オフセットメカニズムを通過する。これらのスケール/オフセット定数は、変調器ウインドウ内の全てのミラーと共通であり、APパラメータ・ファイルのテーブル部からロードされる。照明値xの関数としての出力電圧Uは、電圧を駆動するミラーの以下の式から生成される。
CS1=Cll+Cl*2CI2
CS2=round((C21+C2*2C22)*x/128)
CS3=round((C31+C3*2C32)*F3(x))/128)
CS4=round((C31+C3*2C42)*F4(x))/128)
U(x)=round(CSl+CS2+CS3+CS4/128)
実施形態の1つでは、これらの式のパラメータ範囲は次の通り。
パラメータ 範囲
C1..C4 0..255
C11、C21、C31、C41 −4096..4095
C12、C22、C32、C42 0..7
【0141】
補償関数はルックアップ・テーブルによって規定された2つの原始関数を用いる。これらのルックアップ・テーブルは、APパラメータ・ファイル2621のミラー関数部2625からロードされる。これらの式のハードウエアによる実行の1つは図27に示される。
【0142】
図27のハードウエアは、上述の式の効率的な実行の1つである。係数C1..C4は補償係数マップ2701に格納され、補償係数マップ2701は、ミラー較正ファイル2626に格納することができる。ミラーのエージング、ミラー・レスト(rest)期の間の時間、ミラー・レスト期の間のミラー・サイクルの数、または時間経過と共に変化する個々のマイクロミラーのその他の特性を考慮して、1セット以上の係数をピクセルごとに格納することができる。所望の照明値(X)2702を入力する。計算ブロック2711−2713は、第1の式CSl=C11+C1*2C12を実行する。係数C1をシフト・レジスター2711にロードする。累乗の指数C12を用いてレジスター2711のシフト関数を作動させ、乗算および累乗を比較的速やかに達成する。加算器2712はシフト・レジスター2711および係数C11の結果を合計する。オーバーフロー検出器2713は、範囲外の値に応答する。この応答は誤りであるか、そうでなければその結果を、データ・パスの容認可能最大能値のような所定置に設定する。計算ブロック2721−2723、2731−2733および2741−2743は同様に作用してCS2、CS3、およびCS4を部分的に計算する。これらの値の計算は、ブロック結果に所望の照明値(X)、F3(X)、およびF4(X)をそれぞれ乗ずる、乗算が必要である。乗算器2753−2755は、これらの乗算を遂行する。計算の初期段階で計算の精度を保持したので、ダウンシフトおよび四捨五入ロジック2761−2764は、結果を所望の領域に調整する。また、ロジック2761−2764は128で除算を行い、シフト・レジスター演算として履行される。加算器2765は、結果であるCS1、CS2、CS3、およびCS4を結合する。オーバーフロー検出器2766は、2713に類似の結果、ダウンシフト、および四捨五入ロジック2768スケールをチェックし、四捨五入、および128による除算を適宜行って、所望のダイナミック・レインジのU(X)を生成する。異なるハードウエア・ロジックは、ミラー補償に用いられる関数、および用いられたプロセッサの種類に応じて、図27のハードウエア・ロジックと同等の結果を生み出し、事前に格納された係数および関数、ならびにディジタル・ロジックを用いて、所望の照明値を所望の変調または電圧ドライバに常に変換して、変調器マイクロミラーを駆動するディジタル値を生成する。
【0143】
較正手順の目標は次の通り。M(Mは106である)ミラーと想定して、全てのミラーに共通の反射率範囲、および前述のミラー全ての補償ルーチンにおいて用いることができる有限の(小さな)関数セット(簡便な記憶装置に対しては2つ又は3つが好ましい)を求める。即ち、反射率を各ミラー用電圧の関数として、全てのミラーが得ることができる最大のおよび最小(共通)の反射率を求める。これらの値の間で、逆数、即ち反射関数としての電圧は全てのミラーに対し適切に規定される。テーブルに格納可能な静的関数の小さなセットに加え、ミラーごとに32ビットの記憶装置を用いてそれらの逆数の近似式を求める。アレイのマイクロミラーが共通の(少なくともCCDによって見られる)白およびダーク・レベルを有するためには、アレイ全体のダイナミック反射領域は全てのミラーが得ることができるレベルによって限定される。それは、大半のミラーのダイナミック・レインジの半分以下である。求められるダイナミック・レインジに応じて、ミラーの中には欠陥が無くても使用から除外、または特別処理を施すものもある。それらのダイナミック・レインジが限定されているためである。これらのミラーは、特別処理後は引き続き用いられるが、黒または白の場合、補償エラーは大きくなる。“黒”および“白”レベルが一旦選択されると、当該反射領域内の個々のミラーは較正される。較正手順は、上記記載の同時に出願された特許の主題である。
【0144】
関数を規定する手法の1つは、基底関数sin(πX)およびsin(2πX)のようなフーリエ展開によって容易に表される関数を用いることである。sin(3πX)に類似する特有のエラー形態は、これらの基底関数使用時に予想することができる。関数を導く第2の方法は、線形補間法と独特の関数を用いた補間法の混合である。独特の関数は、線形補間法を用いた補間エラーの共分散マトリックスの固有関数である。Mミラーの共分散マトリックスの直接計算は、MxMマトリックスの対角化を必要とする。あるいは、代わりにM関数をNサイン・フーリエ成分に投影し、NxN共分散マトリックスのマトリックスを計算することができる。手順は次の通り。1)反射率関数を終点において補間する直線と応答関数との差をフーリエ成分の大きな数よりも充分に拡大し、(例えば、60サイン関数)2)Mミラー(およびその結果M関数を)有し、Nに展開することによってNxM寸法のマトリックスAが得られる、および3)最大の固有値を有する(平方マトリックス)AAt(tは転置行列)の2つの固有ベクトルを選択することによって、基底関数はここで選択される。このようにして得られた基底関数は、なおサインに類似し、形状sin(3πx)の系統的エラーの無いデータに適合する。図28の関数2801−2802は、フーリエ展開における60個のサイン項を用いて生成された一対の基底関数を示す。これらの基底関数は、上述の他の基底関数を使用時に予想される系統的エラーのないサインのようである。
【0145】
フーリエ法および最小二乗フィット(fits)は、上述の数式の利用可能な較正手順の一部である。フーリエ法により、積分することによって係数を求める。
【数20】
ここで、e(x)は、データを終点において補間する直線間の違いであり、wnおよびbnは四角形からの加重値および横座標軸である。また、サイン(2πX)に対しても同様に積分する。この積分は、ガウス−チェビシェフ(Gauss−Chebyshev)の四角形によって容易に解決する。積分では僅かに4点しかない四角形が満足の行く結果を出す。
【0146】
最小二乗フィットとフーリエ法との違いの1つは、前者は(設計上)終点において正確であるが、一方最小二乗フィットは、(少なくとも加重関数が1に等しい時)エラー変動性を最小にする。較正係数、c1乃至c4は、下記を解くことによって求められる。
Ac=Y
ここで、Aは4×4のマトリックスであり、Yは4×1のベクトルである。マトリックスの要素は下記の通り、
【数21】
および
【数22】
ここでYは、ある(正規化された)反射率サンプルxmにおける電圧である。
【0147】
関数の内の2つ(f1およびf2)は、定数関数および線形関数f(x)=xである。用いられた残りの2つはsin(x)または(必然的に)固有関数から導かれたものである。加重関数w(x)が選択されて統一されると、共分散を最小化する較正係数(c)が得られる。また、基底関数の2つがsin(πx)およびsin(2πx)となるように選択されると、フーリエ展開に対する非常に類似した解法が得られる。これら2つの間の違いの発生は、単に、定数関数および線形関数を用いることによって、(終点における)較正データをフーリエ事例において正確に補間するようにとの要求に対し、それらは最小二乗アルゴリズムによって自由に選択されていること端を発している。したがって、最小二乗フィットは、平均的に最も小さなエラーしか起こさないが、終点において正確であることは保証されない。
【0148】
補償アルゴリズムは、非常にシンプルである。即ち、
U(x)=cl+c2x+c3f3(x)+c4f4(x)
である。
ミラー毎に4つの一意の係数、および全てのミラーに共通の2つの支持関数(f3(x)およびf4(X))がある。これら2つの関数は、較正手順の結果テーブルに入れることができる。このケースでは、パラメータxを(0..1)の領域に正規化したが、最終の実行では別の正規化を用いることができる。
【0149】
ミラー補償係数に必要な記憶装置および帯域幅を、例えば、ミラーあたり32ビットに最小化することは有用である。これは補償の際の“丸め”エラーを招く。例えば、9、9、7および7ビットにそれぞれ丸められた係数を考慮されたい。丸めを行うには、次の式によって0...1に最初に変換された数集合を用いる。
【数23】
(X′は(限られた)領域[0...1]に属する)
次に、
xb=Round(X’2N)/2N(max(x)−min(x))+min(x)
によってNビットの桁数に切り捨てられる。“ROUND”関数は単に最も近い整数方向に丸める。“1/2∧N”は結果を[0..1]範囲に戻し、最後に行われた乗算によって、現在はNビットの桁数である元の較正パラメータが格納し直される。残りの計算は、浮動小数点(64ビット、IEEE)式の桁数で行われる。ここに提示した方法に対しては、補償成分のために9、9、7、7(表にされた関数を乗算する定数用に7ビット)を格納することは必ずしも最適の選択ではない。基底関数を変えると、別の記憶装置が最適になる可能性もある。しかしながら、記憶装置をこのように選択することによって充分に精度の高い結果が得られることはシミュレーションによってわかる。
【0150】
また、32ビットの記憶装置において、7ビットのエリア・コードを格納することが必要である。それぞれ7、7、5、6ビット桁数の係数の記憶装置は、エリア・コード用のスペースを確保し、マイクロミラー当り32ビットの記憶装置にもなお適合することはテストによって示されている。
【0151】
係数の代替スケーリングは、例えば、図27におけるような必要な計算に影響を与える。(最大値−最小値)領域で増大させることによって格納された値からの係数の復元は、結局計算コストがかかりすぎる場合がある。この領域をこの領域を超える最も近い2の倍数で置き換えれば、精度は多少落ちても、簡単なシフト演算によって係数復元が可能である。係数を復元する2つの代替法は、1)以前のように、調整値を増大させて範囲を最大値から最小値に復元する、および2)上述同様、但し、個々のマイクロミラーの最小値および最大値は除外する。(この手法のバリエーションは、最小値だけ、または最大値だけを除外する、あるいは個々のマイクロミラーの複数の最小値、または最大値を除外することを含む。)範囲外の値を除外することは、これらの値のうちの2つが0...1−2−nの領域からはずれるという影響を有する。その場合、除外された値はそれぞれ0および2−nとして格納される。第2の手順は、除外されたマイクロミラーの補償エラーに対してかなりのエラー(例えば、1000マイクロミラーの内の2つにおいて)を発生させる恐れがあるが、一方において、場合によっては、残りの係数をより効率的に格納する可能性がある。以下のテーブルは、種々の方法のシミュレーション・エラーを示している。第1の代替スケーリング法は“全て(all)”と呼ばれ、第2の方法は“ルース(loose)2”と呼ばれる。
【表13】
テーブルが示すように、“ルース2”は、平均的には“最適の”とほぼ同じくらい正確であるが、ミラーの中には補償エラーがなんと5%のものもある。一方、“全て(all)”は、平均エラーを犠牲にして、ミラーの全てに対する補償エラーを1.5%未満に保つ。
【0152】
係数c1...c4には異なるスケーリング方法を選択することができる。例えば、シミュレーションでは、殆どの場合c1は通常に分布されるので、最も極端な較正係数の2%を除外しても領域はあまり変わらない。同じシミュレーションにおいて、c4の極値は少ないので、それらを除外しても実際には残りの値の格納効率を高めるように思われる。
【0153】
多数のSLM構成
多数のピクセルを有し、毎秒多数のピクセルを印刷するリフレッシュ速度の高いSLMを製造することができる。なお、同システムにおいて1つ以上のSLMを用いることは有用である。図54A−図54Cは、多数のSLMの3つの異なる構成を示す。図54において、円は投影光学のワーク上の光分野を示す。長方形は多数のSLMからの投影図に対応する。それらは、例えば、PCボードまたはマルチ・チップ・モジュールのような、単一の土台の上に搭載することができる。または、別の土台の上に搭載してその光投影図を、ミラー、プリズム、ホログラフィー・エレメント等によって、投影レンズ領域に統合させることができる。図の中の平行の細い縦線は、個々のSLMが印刷したストライプを示している。図54Aでは、投影図は、例えば、半透明ミラー、あるいはその他のビーム・スプリッタまたはコンバイナによって光学的に縫い合わされている。その結果、それらは画像間での重複の小さな連続領域を作成する。上述したように、重複ゾーンを用いることは、SLM画像間のシームとともに重要な役割を果たしている。図54Bでは、画像は2つの方向に分けられている。この構成は全てのSLMが単一の土台に搭載された実施形態には適切である。何故なら、SLM間の空間によって駆動電子および相互接続のスペースが得られるからである。図54Bでは、SLMはストライプに沿った別の位置にあり、データをバッファリングする、またはオフセットを考慮に入れて生成する必要がある。図54Cでは、SLMは部分的重複したストライプ印刷であるため、1回の物理的工程で2つのオフセット工程分を作成している。図54A−Cの図の構成は、ストライプ・オフセットがプリントされている、即ち4つのSLM幅の書き込み列と領域との間での横方向の移動が1回プリントされている。図54Cでは、オフセットは1つのSLM幅だけであるが、領域は2回印刷されている。
【0154】
SLMをいくつか用いるという複雑化によって、位置あわせは正確となり、小さなパターン・エラーおよび目に見えない境界は削減される。図55はステージによって規定される理想的幾何学グリッド5501と関係する2つのSLM5503および5504の画像を示す。この画像は、SLMピクセルと理想的グリッドとの間の誇張された位置あわせ不良を示す。プリント対象の5502の形状の入力データは理想のグリッドに関連して与えられる。上側のSLM5503によってプリントされる5502のパターン要素5502の部分は、SLMの局所座標方式に対して位置合わせ不良である。パターンはこの位置不良を考慮してラスター化されている。1つ以上のSLMに対し、位置あわせ不良パラメータ・セット、即ちこのケースでは1度の回転5507および2度の移動5505および5506が、プリント前の補正移動2565で利用される補正係数2635として格納される。
【0155】
SLM画像5504は歪んでいるために、1度の回転および2度の移動という簡単な方法で描くのには適していない。代替実施形態では、SLM毎の歪みおよび位置合わせ不良マップによって位置あわせ不良表示の精度を高めている。これは図54A−図54Cの構成にとっては非常に有用である。なぜなら光電場が大きくなるほど歪みのない投影システムの作成はますます困難になるからである。
【0156】
各SLM画像の位置あわせ不良および/または歪みは、部分的画像をステージ上の基準点に投影し、基準点に対する位置を測定することによって表される。これは、SLMの位置合わせ不良および/または歪みを測定し、SLMの位置あわせ不良のデータ・セットを作成する自動較正手順によって実行される。
【0157】
SLM位置あわせ不良データによるデータの変換は、異なる3つの方法によって行うことができる。第1に、フラクチャリング中に訂正を加えることができる。データをレンダリング・ウインドウに合わせて削減すると、渦の座標値の位置あわせ不良は訂正される。それは歪みに対しても適用可能である。変換の実行が可能な場合の2番目は、ビットマップを作成中または作成直前に、要素の座標を修正することができるラスター化ステップにおいてである。3番目の可能性は、好ましくは照明関数が用いられる前に、ビットマップを変換カーネルとともに畳み込むことである。図26の2635を参照されたい。以下はx方向の小さな移動の変換カーネルである。
0 0 0
0 1−dx dx
0 0 0
【0158】
小さな移動の場合、ピクセルの僅かの部分、即ち画像品質の低下は無視することができる。更に、畳み込みカーネルは、非ゼロの係数は2つしかなく、ハードウエアで簡単に実行可能である。また、他の移動方向の場合、カーネルは簡単であり、画像をあらゆる方向に最大で1ピクセル移動させる一般的なハードウエアによる実行は、簡単且つ高速である。また、同補正方法は、ステージ位置エラーおよび画像の歪み補正といった別の効果を含む。レンズ歪み、多数のSLM位置あわせエラー、ステージ位置エラーを含むビットマップの補正は、図26のブロックの2665において行われ、補正係数またはパラメータはブロック2635に格納される。多数のSLMの場合、ブロック2635には多数のパラメータ集合があり、ゆがみ制御の場合、ブロック2635は補正マップを含む。これらの補正は単一のSLMにも適用することができ、多数のSLM構成に限定されるものではない。
【0159】
いくつかのSLMを用いる別の態様は、データ・パスに対し別のレベルの並列処理を加えることができることである。55AのSLMを断片化して、連続領域としてラスター化することができるが、また、各SLMは他のSLMとは無関係に断片化および/またはラスター化することができる。各SLMはその完全なデータ・パスを有し、データ・パス間の最低限の通信によってSLMが確実に同期を取れるようにすることができる。広範囲にわたる並列のコンピューティング・システム、更に、別々の入力データチャネルによって、システムを分割し、極めて大きな容量に合わせて拡大縮小できる。フラクチャリング、ラスター化、およびSLMによる完全な書き込みチャネルをまとめることによって必要とされるあらゆるスループットを作成することができる。SLMは光投影システムに統合し、且つ引き続いて電子的に自立的とすることができる。それらの結合後の容量は、SLMの数に比例する。
【0160】
有用なハードウエア構成の概要
図29−図42は、本発明の態様を実行するために使用可能なハードウエアを示す様々な詳細レベルのブロック図である。図30は、フラクチャリング・ハードウエア3001A−E、制御ロジック3010、レンダリング・モジュール3011A−E、スケジューリングおよび制御ロジック3020、バッファ3030A−B、ディジタル/アナログ・コンバーター(DAC)および制御ロジック3040、ならびにマイクロミラー・アレイの高レベルブロック図である。ファクチャリングは、マーキュリークラスター(Mercury cluster)のプロセッサまたはその他のあらゆる適切な図形フラクチャリング・エンジンによって対応されている。例示されているように、クラスターはレンダリング・モジュール毎に1つの細分プロセッサを有する。あるいは、フラクチャリングはデータ・ファイルをもたらすオフライン・プロセスとすることができる。いわゆるFRAC−Sフォーマットを用いることによってフラクチャリング・プロセスからのデータをレンダリング・プロセスに伝達することができる。断片化されたデータの有用な特性には次の様なものがある。断片化された全ての図形は、ガード・ゾーンのあらゆるところに完全に収まることができる矩形よりも小さい。断片化された図形は全てレンダリング・ウインドウ内のあらゆるところに収まることができる矩形よりも小さい。全ての断片化された図形。断片化された図形は全て、255または253ピクセル、あるいは511または509ピクセルのようなピクセル内で測定される最大寸法の面を有する矩形よりも小さい。更に、断片化された図形の全ては、少なくとも高さは1/2ピクセルで、幅は1/2ピクセルである。これらの特性は、特定の実施形態で用いられる本発明の態様の組み合わせに応じて修正可能である。
【0161】
SDUは、論理的観点からはラスター領域の再フラクチャリングであるプロセスを行い、フラクチャリング/ラスター化領域へのウインドウ分割をSLMの仕切りに合致するウインドウ分割に変換する。また、物理的観点から見ると、集中プロセスが実行されるが、変調の観点からは、実際の集中はSLMにおけるまで行われない。完全に分割され、SLMにおいて接続されるまで未接続の装置において、ピクセル転送およびディジタル/アナログ変換は理論上行われるが、ピクセル処理および変調器による様々な拡大縮小特性、信号統合、およびその他の理由により、データは物理的にSDUに集中される。
【0162】
第1の実施形態では、バッファは制限される。図29は、ライン入力の種々のポーリングを行い、レンダリング・モジュールとSDUとの間の1つ以上のバッファを利用し、またはSDUとDACとの間の1つ以上のバッファを利用するように適合可能な構成を示している。レンダリング・モジュール2911A−EはSRM 2921A−Eに接続されている。SRMはSDU受信機モジュールであって、RMからデータを受け取るためのインターフェースをSDUに提供する。SLMリンク・インターフェース(SLI)はSRMをSDU2940に接続する。このインターフェースの難点は、信号の完全性が相対的には不十分なことである。図29における構成のライン毎のバリエーションは、バッファ2931は無く、ラインアック/ナック(ack/nack)およびセンド−リセンド(send−resend)用の複雑なプロトコルが必要とされている。SRM−SDU CABSインターフェースは、“全てのラインが有効になるまで待って、つぎに進め”プロトコルでクロック領域スキュー・ライン(skew line)同期に対応する。RM上でのフレーム処理に同期すると、待ち時間を相当に損失し、フラッシュ速度が不安定となる。SDUはSLMに接続されたDAC対に対して出力される。
【0163】
第2の実施形態では、リング・バッファは、各SRM2931に接続される。リング・バッファの帯域幅および大きさの合計は、SRMの数に直線的に比例する。SRMの数はピクセル・スループットに大体比例する。リング・バッファによって、SRM−SDU間のライン同期、およびSRM−SDU間のフレーム同期は不要となる。また、このバッファが十分に大きい場合、これは露光開始前の完全なストリップのラスター化に対応する。SDRAMに基づくリング・バッファはすでにSRMのRT−fract側に存在し、設計はそのテスト・ツールおよびインターフェースと一緒に再び用いることができる。帯域幅および大きさは重要ではない。その主たる目的はライン毎からストリップ毎に同期方法を変えることである。SLMリンク・インターフェースはストリップ毎に同期される。SRM−SDU CABSインターフェースは、ストリップ毎以外の“全てのラインが利用可能になってから進行”イベントに対応する必要はない。これによってSLMリンク・インターフェースおよびSRM−SDUインターフェースの堅牢度は大幅に高まり、完全装備のセンド−リセンド(send−resend)SRMの設計および統合タスクは除去される。インフラストラクチュアの信頼度要求は緩和され、単にフライバック(retrace)強度によって導かれる。例外の全てをストリップ段階で処理することによってSRM−SDUインターフェースは完全同期システムになる。あるいは、バッファ2931をSDUとDACとの間に配置することができる。
【0164】
第3の実施形態は図30に示されている。1つ以上のSDUバッファ3030A−Bおよび関連の制御ロジックは、用いられるレンダリング3011A−Eユニットの数はマイクロミラー・アレイ3050内の部分3052−Dの数とは無関係とする。ラスター化画像を生成するプロセッサの数がミラー部分の数から独立した関係になることは有用である。特に複雑な図形と一緒に利用する場合、フラクチャリングおよびレンダリング・ユニットの数を増やすことができる。ユニットは並行して作用するので、多くのユニットが関与するほど、処理パワーが利用できる。特に簡単な図形と一緒に利用する場合、フラクチャリングおよびレンダリング・ユニットの数を減らすことができる。スケジューリングおよび制御ロジック3020によってレンダリング・モジュールからバッファへデータを非同期送出することができる。
【0165】
バッファは、それ自体入力および読み出し用に別々に分けられる。入力変調器ウインドウ3031A−Eは、レンダリング・ユニットに対応する。この図では、変調器ウインドウの大きさは同じものとして示してあるが、同じでなくともよく、メモリー・アレイを行方向および列方向の双方に分割することができる。バッファ3030A−Bのメモリー位置は、マイクロミラー・アレイまたは走査システムのラスター化画像に対応する。メモリーは2重に移植することができ、それによって、DACをロードするための読み出しを阻害することなくレンダリング・プロセッサからの結果をロードすることができる。マイクロミラー・フラッシュ・システムでは、ミラー・アレイは各フラッシュの前にデータと一緒にロードされる。例示の実施形態では、128個のDAC3040および制御ロジックを用いてデータをマイクロミラー・アレイにロードする。マイクロミラー・アレイの中で、またはその外部において回路を多重化することによってアナログ信号をDACから多くのマイクロミラーに分布させることができる。8mhzはおよそ8,192個のマイクロミラーの変換を1khzの周波数において行うことができる。このようにして、128個のDACはそれぞれ256個のマイクロミラーの32ラインに対応することができる。8ビットDACによってアナログ電圧が生成され、静電電荷を引き起こし、個々のマイクロミラーを偏向させる。実施形態によっては、アナログ電圧の精度は10または14ビットといったように高いほど有用である。「パターン生成装置のための改善された変調器の設計」と題するMicronic Laser System、および発明者Torbjorn Sandstromによる共同所有の出願WO 99/45441号(1998年3月2日に優先)、または同時に出願された上述の予備出願によって記述されているようなマイクロミラーは、投影装置として適切に用いることができる。あるいは、マイクロミラーに基づいた走査装置または変調された照射を用いることができる。マイクロミラーに基づく走査装置の場合、DACの十分に大きなセットを用いることによって、1工程でマイクロミラーの全てにデータを転送することができる。変調された照射の場合、照射ビーム毎に偏重器を1つ有するのが通例である。
【0166】
2つ以上のバッファ装置3030A−Bを1つ用いることができる。レンダリング・モジュールからデータを非同期で受け取ること、およびレンダリング・モジュールによる処理時間の変動は、複数のバッファ装置によってより的確に対応することができる。一部のリソグラフィ装置では、ワークが載置される移動ステージの慣性のために、マイクロミラー・アレイのフラッシュをストリップのスイープ時に遅らせることはできない。ストリップの間の多少の遅延は受け入れることができる。従って、セグメントのロード順序を、レンダリング・モジュール3011から変調器ウインドウ3031へのデータの書き込み終了に基づくこととすることができる範囲内であればDACの動作を遅らせることができる。その変調器ウインドウをバッファにロードするために、レンダリング・モジュール3011のいずれかが、フラッシュサイクルの1つよりも長い時間がかかった場合、データ障害を生じ、ワークを無駄にするおそれがある。特定の変調器ウインドウでは、2つ以上のバッファ3030を用いることによって、例外的レンダリング・サイクルに対し自由裁量の範囲を付与することができる。
【0167】
図31はレンダリング・モジュール3011のブロック図である。実行の1つでは、5つのフィールド・プログラマブル・ゲート・アレイ(FPGA)を用いることによってロジック3100、3110、3120A−B、および3140を実行する。ロジック実施のために適切な現世代のFPGAは、Xilinx Virtex XCV1600E−6 BG560 C FPGAである。公示されているが、係争中のデリバリXilinx−II XC2V製品群は、新たな機能を提供するものと期待されている。それには、機能ブロックをより少数のモジュールに統合することができるオンボードのSRMが含まれる。あるいは、リスク(RISC)プロセッサ、エイシック(ASIC)プロセッサ、あるいは特注または半特注プロセッサを用いることもできる。FPGAの選択が適切であれば、製品のリード・タイムおよび先行投資コストを削減する。また、その他のさまざまのプロセッサを用いることによっても本発明の態様を実行することができる。
【0168】
RMPL_1 3300の目的はPCI、CABS、およびその他のバス構造に対しインターフェースを提供することである。インターフェース3103はフィールドにおいてFPGAを構成するために使用可能である。FPGAの全てまたは一部を構成し直す、またはロードし直すことができる。例えば、サブ・ピクセル加重用の加重係数をフィールド構成し直し、且つロードし直すことができる。これらのインターフェースによって、基板の動作温度を測定することができる。更に、これらのインターフェースは、基板が動作するクロック周波数のプログラミングに対応する。
【0169】
図形プリプロセッサの概要
RMPL_2 3110の目的は、図形入力ファイバ・チャネルとレンダリング・プロセッサとの間のインターフェースを提供することである。主たるタスクは、複雑な図形データを受け取り、バッファリングし、データを素朴な図形に平坦化し、要求に応じレンダリング・プロセッサにデータを出力することである。従ってRMPL_2は、オンボードの256MバイトのSDRAMのインターフェースと、オンボードの2*8MビットのZBT RAMのインターフェースと、外部装置を対照してCBSプロトコルを管理するチェーン・アクセス・バス構造(CABS)装置と、受容装置と、図形ライン・インターフェース(GLI)から図形データを受け取り、このデータをSDRAMに格納するいわゆる図形入力コントローラ(GIC)3113と、図形データを平坦化し、座標変換を行うプリ・プロセッサ(PP)3111と、これもまたSDRAMコントローラを実現するCABS、GIC、PP、およびSDRAM間の図形バッファ・インターフェース(GBI)3112と、を備える。RMPL_2 3110のCABSブロックは、内部ブロック、ゼロ・バス・ターンアラウンド(ZBT)SRAM3115と他のFPGAとの間のインターフェース、または別のFPGA、更に一般的には、その他のプロセッサまたは機能的構成部品として作用する。CABSは装置内連絡に用いられる一般的バス構造である。それはチェーン状の構造の装置に基づいており、一般的マルチ・モード・バス構造のボード・レベルを簡素化する。CABS上でのサンプリング速度は25−50Mhzである。それはボード・レベルのシステム・クロックで計測される。CABSブロックは、モード制御ピンと結合することによってメモリーのブートストラップ領域から装置のデフォルト構成を行うことができる。あるいは、別のバス構造およびプロトコルを用いることによって本発明の態様を実行することができる。
【0170】
GICブロックはGLIリンクとGBIとの間のインターフェースである。それは、32ビットのダブル・ワード(DS)を16ワードのバーストにグループ化するために用いられるFIFOバッファを備える。一度に1つのバーストがGBIに送られ、SDRAMに格納される。GLI上のワードは、あらゆる大きさのバーストで到達する。GBIブロックはGICとPPとの間のインターフェースとして機能する。それは、GICからデータのバーストを受け取るロジックを含み、それをSDRAMに格納し、要求に応じてSDRAMからデータを読み取り、それをPPに送る。また、GBIは、CABSからの読み取りおよび書き込み要求を処理することができる。CABS−GBIインターフェースにおいてデータはn*16のダブル・ワードのバーストの長さで一度に書き込まれる。ここでnは1乃至64である。データ転送のためのイネーブル信号の他に、実際の転送の長さの表示は不要である。データは一度に16のダブル・ワードのバーストで読み込むことができる。
【0171】
図形プリプロセッサ(PP)ブロックは、GBIとFPGA3120A−Bとの間のインターフェースとして機能する。プリ・プロセッサは、入来する断片化後のデータ・ストリームを平坦化し、現在のレンダリング・ウインドウに対する座標オフセットで簡単な図形を出力する。断片化されたデータは、GLIチャネルから受容され、図形バッファ・メモリー(GBM)3116に格納される。生データ・モードはプリ・プロセッサを介して利用可能であり、GBMに格納されたものはどれも読み出されて試験目的に用いられる。プリ・プロセッサ・コアに関する更なる詳細は図40に示されている。
【0172】
メモリー・コントローラは、ZBT−SRAMコントローラおよびSDRAMトップ・モジュールを含む。ZBT−SRAMコントローラは、標準のパーソナル・コンピュータ100またはパーソナル・コンピュータ133に準拠する256メモリーのようなSDRAMとインターフェースする。ZBT SRAM装置は、同期SRAMであって、あらゆるバス・サイクルを利用することによって最大のシステム・スループットを提供する。その名前が暗示するように、読み出しと書き込みサイクルとの間の切替え時に要求されるターンアランド・サイクルは無い。従って無駄なサイクルは無く、システムは定まった帯域幅を実際に提供する。スヌーズ(snooze)・モードは、レンダリング・モジュールZBT−SRAMSに利用可能である。レンダリング・モジュールZBT−SRAMSは、活性化すると、メモリーを小電力のスタンバイ・モードとし、データを保持し、入力を無視する。これはFPGA再設定中に用いることができる。待ち時間を減少させるためには、ZBT−SRAMコントローラを2倍周波数クロックによって計時する。SDRAMトップ・モジュールは、メモリーの書き込み、読み出し、再生、および内蔵された自己検査を実行するために必要な信号を生成するためのロジックを備えている。シングルおよびダブルの32および64ビット・データ・パスは、FPGAで用いられる様々のZBT−SRAMコントローラにおいて用いることができる。例えば、プリ・プロセッサ3111とワーク・メモリー3115との間のインターフェースは、一対の独立した32ビット・データ・パスとすることができる。レンダリング・プロセッサ3121とフレーム・バッファとの間のインターフェースは一対の64ビット・データ・パスとすることができる。
【0173】
レンダリング・プロセッサの概要
図31には一対のレンダリング・プロセッサ3120A−Bが示されている。これらレンダリング・プロセッサの各々は、FPGAの中で、あるいはリスク(RISC)またはエイシック(ASIC)・プロセッサ、あるいは特注または半特注プロセッサと一緒に構築することができる。2つのプロセッサを用い、その一方はプリ・プロセッサ3111からデータを受け取り、もう一方は調整プロセッサ3141に対しデータを書き込むようにすることができる。プリ・プロセッサ3111からレンダリング・プロセッサ3120A−Bへのデータ・パスは、多重通信回路または類似の装置によって制御可能であり、あるいはレンダリング・プロセッサは相補プロセッサ宛の信号を無視することができる。その他のレンダリング・プロセッサを用いることもできる。レンダリング・プロセッサ3120Aは一対のフレーム・バッファ3122へのデータ・パスを有するように図示されている。これら2つのメモリーは、別々のデータ・パス、即ち、メモリー・アクセス用の独立したチャネル、を有するように図示されている。一方はピクセル・マップ・メモリー用に、もう一方は、グレイ値をスーパー・サンプリングする中間記憶装置用に用いられる。また、レンダリング・プロセッサ3121は、マイクロ・ピクセル・フレーム・バッファを保持することができる、その他のフレーム・バッファ3123につながる別の独立したデータ・パスまたはチャネルを有するように図示されている。マイクロ・ピクセル用に1つ以上のフレーム・バッファ3123を用いることができる。ピクセルあたり64個のマイクロ・ピクセルでの構築では、プロセッサからフレーム・バッファ3123へのデータ・パスは、64ビットの広さである。一対のフレーム・バッファ3123を用い、一方のフレーム・バッファにおいてメモリー消去機能を実行し、他方別のメモリーにより、読み出し、書き込み、または読み出し/修正/書き込みを実行することができる。この図には、グレイ値要約バッファは図示されていない。これらのメモリーはFPGAの外付けとして図示されているが、適切なFPGA、特注プロセッサ、または半特注プロセッサの中に組み入れることは可能である。
【0174】
図32は、本発明の態様を実行するために用いられるレンダリング・プロセッサの機能ブロックに関するその他の詳細を示している。レンダリング・プロセッサ3120はいくつかの機能ブロックを含む。CABSインターフェース3211はバス構造によって結合されるシステムの構成部品と共通である。断片化された図形コンバータ3212は、レンダリングすることが可能な固定点図形を伝達するデータ・パスによってCABSに結合されている。コンバータは、50MHzのクロック・周波数を用いて秒速50百万の速度で単一の縁隅座標を提供する。もっと早いまたはもっと遅いクロック速度を用いることによって、もっと早いまたはもっと遅いスループットを実現することができる。コンバータ3212の出力は隅座標図形フォーマットの中にある。データは、一対のデータ・パスを用いて一対のマイクロ・ピクセル・キャッシュ生成装置(MPCG)3213L−Rに送ることができる。多角形図と結合されたMPCGを用いることによって多角形の右および左の縁に沿った分割が可能となる。用いられるスループットおよび図形のような設計特性に応じて用いるMPCGの数を少なくしたり多くしたりすることができる。多角形図が台形の場合、例えば、異なるプロセッサが台形の対向し、非平行である縁の処理を始める前に、多角形の上部および平行する下部を異なるプロセッサに割り当てることができる。コンバータに関するその他の詳細は図33に示す。
【0175】
図32のMPCG3213は、50MHzのクロック・周波数を用いて50百万MiPxCaWs/secの速度で、マイクロ・ピクセル・キャッシュ・セットを送出する。クロック速度を上げるまたは落とすことによって、スループットをより早くまたはより遅くすることができる。MPCG対は、キャッシュ・セットをマイクロ・ピクセル・キャッシュ・バッファ(MPCB)3214に出力する。MPCGに関するその他の詳細は図34に示す。
【0176】
マイクロ・ピクセル・キャッシュ・バッファ3214は単一の縁情報、例えば、左、右、上および下部、を含むレンダリングされたマイクロ・ピクセル・キャッシュ・セットを、幾何学図形の1つ乃至4つの単一縁キャッシュからの情報を含んだマイクロ・ピクセル・キャッシュ・セットに変換する。幾何学図形が、中に納められた上または下の縁部分を含んでいる場合、上および下の縁のうちの中に納められた部分は、隅計算の前または後に通過させることができる。また、上述したようにアドレス・セットが生成される。アドレス・セットは、生成されるマイクロ・ピクセル・キャッシュの順序を暗に伝える。別々のデータ・パスを用いることによってキャッシュ・セットおよびアドレス・セットを伝えることができる。キャッシュは、レンダリングされた多角形の縁を纏めて規定する。マイクロ・ピクセル・キャッシュ・バッファ3214に関するその他の詳細は図35に示されている。
【0177】
フレーム・バッファ・インターフェース(FBIF)3215は、レンダリング、読み出しおよび消去の3段階で動作することができる。FBIFは、レンダリング段階では、MPCBから図形を受け取り、それらを1つ以上のフレーム・バッファ・メモリーに格納する。第1の実施形態では、唯一のメモリーを、マイクロ・ピクセル・フレーム・バッファ(MPFB)3222とすることができる。複数のMPFBを利用することによって、別のMPFB上で動作しながら、1つのMPFBの消去が可能となる。これらのメモリーは二重移植され、メモリー・アクセスのための独立したチャネルを有することができる。第2の実施形態では、マイクロ・ピクセル・フレーム・バッファおよびピクセル・マップ・フレーム・バッファ(PMFB)3223の両方がある。性能を高めるための、好ましくは、メモリー・アクセス用に独立したチャネルを有する、複数のピクセル・マップ・メモリーがある。更に、第3の実施形態では、マイクロ・ピクセル(MPFB)の値を要約するためのグレイ値フレーム・バッファ(GVFB)3224が追加されている。ここでもまた、複数のグレイ値メモリーおよび独立したチャネルを用いることができる。複合実施形態では、PMFBは、GVFBとして機能するための充分な値を有する。フレーム・バッファ・メモリーは、x、y座標で方向付けることができる完全なレンダリング・ウインドウを格納する。これらのメモリーは異なる解像度でレンダリングされた画像を格納する。ピクセル・マップPMFBメモリーは、白、黒、グレイ情報を全てのビットに対し2ビットで格納する。マイクロ・ピクセルMPFBメモリーは、ピクセルに対応する個々のマイクロ・ピクセルを格納する。例えば、8×8、16×16、32×32、または64×64マイクロ・ピクセル・アレイはピクセルに対応する。これらのマイクロ・ピクセルは、黒または白の値、または代替としてグレイ・スケール値を保持することができる。マイクロ・ピクセル・キャッシュの結合方式は、マイクロ・ピクセルがB/Wまたはグレイ値であるかによって左右される。グレイ値GVFBメモリーを、MPFBとともに利用して、マイクロ・ピクセル・アレイの評価を要約する。マイクロ・ピクセル・アレイは、読み出し時または書き込まれる際、グレイ値に変換され、結果をGVFBに格納することができる。
【0178】
読み出しの段階では、グレイ値はピクセル毎に報告される。第1の実施形態では、MPFBメモリーだけを備え、マイクロ・ピクセル・アレイの全ての評価を行う。第2の実施形態では、MPFBおよびPMFBメモリーを備え、いくつかのピクセル位置はピクセル・マップに黒または白として記録される。このシステムは、MPFBにアクセスすることなく、それらの位置を0または64、あるいは0または256といった整数値に変換し、場合によってはMPFBメモリー・アクセス帯域幅に対する要求を減少させることができる。第3の実施形態では、MPFBが書き込まれる度に、値がGVFBメモリーに割り当てられる。あるいは、PMFBメモリーが更新される度に、値をGVFBに割り当てることができる。方式の1つでは、PMFBを評価した上で、白または黒値を割り当てるか、あるいはGVFB値を利用するかを定める。別の方式では、GVFB値は直接用いられる。FBIF3220からのグレイ値は、ラスター画像としてCABSインターフェース3231に報告される。
【0179】
消去(clear)段階では、白/黒の幾何学図形を収縮背景上にレンダリングすることができるように、1つ以上のメモリーを黒/白に設定する。第1の実施形態では、MPFBメモリーが消去される。第2および第3の実施形態では、PMFBメモリーが消去される。メモリーの種類によっては、MPFBまたはGVFBよりも小さなPMFBを消去する方が時間消費は少ない。なぜなら単一ワードのメモリーは低解像度で多数のピクセルを表示することができるからである。第2および第3の実施形態では、時間がよりかかるステップである、MPFBまたはGVFBメモリーの消去を選択することは任意選択である。なぜなら、ピクセル・マップ・メモリーは、他のメモリーを用いることによってグレイ値を生成するか否かを制御するからである。即ち、ピクセルの値は黒または白であると、ピクセル・マップ・メモリーが示している場合、他のメモリー内のグレイ値はいずれも無視することができる。なぜなら、他のメモリーは前の動作後に消去されていなかった可能性があるからである。最小のクロック・サイクルでメモリー部分の一括消去に対応するメモリー構成では、MPFBまたはGVFB消去のオーバーヘッドによってプロセスが遅くなることは無い。
【0180】
FBIFに関するそれ以上の詳細は図37−図39および図42に示されている。
【0181】
調整プロセッサの概要
調整プロセッサ3140は、CABSインターフェース3231を介してデータを、またはレンダリング・プロセッサ3120A−Bから別の適切なバス構造データを受け取る。調整プロセッサは、そのCABSインターフェースの2倍の周波数で計時される。調整プロセッサは、縁移動のブロック、照明補償、およびミラー補償を含む。それは、更に、光システムの軽微な欠陥補正のロジックを含む。縁移動は、上述したように、露光されたレジストの処理を調整するのではなく、露光照射投影画像を調整してラインの幅を調整する方法である。照明補償は、これも上述したように、単一および多数の書き込み工程における重複露光、および所望の露光照射と実際の露光照射との間のエネルギー変動に対応する方法である。ミラー補償は所望の照明値を個々のミラーの駆動値に変換する。また、それを用いることによって、ミラー老化時の、またはミラーを用いたシステムの休止サイクル間でのミラー応答の変化を補償することができる。マイクロミラー・アレイおよび露光照射のフラッシュを利用したシステムでは、ミラー補償は照明値を、個々のマイクロミラーを充電するDAC用のインプットに変換することができる。
【0182】
調整プロセッサ3141は、データ・パスを介して係数メモリー3143にアクセスする。メモリーはミラー補償係数を保持し、また、照明補償で用いられる領域マップ係数を保持する。ZBT−SRAMメモリーを外部メモリーとして用いることができる。あるいは、内部メモリーを用いることができる。調整プロセッサは、更に、フレーム・バッファ・メモリー3142にサクセスする。1つ以上のZBT−SRAMメモリーを縁移動用のワークとして用いることができ、更に1つ以上のバック・プレーン・チャネル3144−45上での出力を待ち受ける最終値を保持することができる。
【0183】
ピクセル出力コントローラ(POC)は、フォーマット変換を行って、データを物理層に適応させる。
【0184】
図形プリ・プロセッサ
図形描写は、いわゆるFRAC−Sフォーマットの図形プリ・プロセッサにおける図形プリ・プロセッサにおいて受け取られる。FRAC−SストリームのBNF手引きを以下に示す。FRAC−Sストリームは様々のプロセス依存のヘッダー・パラメータを含むいわゆるFRACファイルに格納することができる。これらのパラメータは、一旦ロードされると、制御レジスターを介して図形プリ・プロセッサに利用することができる。
【数24】
記号[x]*は、“xのゼロ以上の発生”を指す。このフォーマットにおける入力ストリームは、このフォーマットのサブセットにおける出力ストリームに変換され、階層型の且つ反復された記述のような複雑な図形の記述は簡略化される。出力ストリームにおける記録の種類は、長方形、小さな長方形、台形、開始層、および終了層である。実施形態の1つでは、反復レベル数は5である。1つのレンダリング・ウインドウは一度に前処理される。データはサブ・ピクセルまたはマイクロ・ピクセルよりも精度高く処理することができる。所謂ソフト・ピクセルは1.5マイクロ・ピクセルである。
【0185】
リアル・タイム図形プリ・プロセッサの処理速度は、部分的に、図形の複雑さに左右される。1,000/secのフラッシュ速度、且つ2048×512ピクセルのアレイのフラッシュ露光照射システムの場合、総合システムは、104.8*106ピクセル/secで処理する。半導体の金属層パターンの場合、これは、7,000,000図形/secの平均図形速度に対応する。図形あたり4レコード平均とすると、必要な記録出力速度は、28,000,000レコード/secである。
【0186】
図形プリ・プロセッサは、別の3つのモジュール、即ち、図形プリ・プロセッサのFRAC−Sデータ読み取り先であるSDRAM、一時的格納に用いられるZBT RAM、およびデータ・アドレッシングおよびフレーミイングを処理するCABS装置にインターフェースする。
【0187】
PPの全体の動作は以下の通り。
1)RESETでは、PPは、STIRIP_SYNCイベントを待ち受ける。
2)STIRIP_SYNCでは、最初の2つのレンダリング・ウインドウが読み込まれ、対応するFRAC−Lシーケンスに変換され、更に2つのレンダリング・プロセッサに送信される。次に、プリ・プロセッサはRP_DONEイベントを待ち受ける。
3)RP_DONEでは、次のレンダリング・ウインドウが読み込まれ、処理されて第1レンダリング・プロセッサに送られる。次に、プリ・プロセッサは新たなRP_DONEイベントを待ち受ける。
4)RP_DONEでは、次のレンダリング・ウインドウが読み込まれ、処理されて第2レンダリング・プロセッサに送られる。次に、プリ・プロセッサは新たなRP_DONEイベントを待ち受け、3)に進む。
【0188】
ここで留意すべきことは、STRIP_SYNCイベントが受領される時から、SUBSTRIP_ENDレコードとなる迄は、FRAC−Sデータは局所入力キャッシュに事前に取り込まれることである。これによって、SDRAMアクセスが一因である待ち時間は効果的に最小化される。FRAC−Lの出力はダブル・ワードの連続バーストにおいて行われる。従って、少なくとも10個の完全なFRAC−Lブロックが格納され、またはレンダリング・ウインドウ終了ブロックとなるまで、プリ・プロセッサは出力されてレコードを内部バッファに格納する。この10個のブロック法則は、RPに対するバーストの平均的長さは、約32のダブル・ワードであることを暗に示している。各レンダリング・ウインドウの最後において、たち下がりENDレコードが送信される。プリ・プロセッサはLAYERのレコード・パラメータを以下のように常時監視する。層番号は連続番号であって、第1LAYERレコードの1から始まり、つぎのLAYERレコードの2などである。この順序付けがうまく行かなくなった場合、エラーが送出される。層動作がIGNOREである場合、この層全体が廃棄される。
【0189】
様々のFRACレコード、および1つのレンダリング・ウインドウ内に現れるFRACレコードに対応するブロック構造を以下に示す。階層的構造の場合、{G1..Gn}は階層内部における構文解析された図形であることを示す。即ち、ブロックは最外層の反復レベルを常に囲み、あらゆる数の根源的なレベルを含む。
【数25】
【0190】
レンダリング・ウインドウ毎に、2つのメモリー領域が交換可能に用いられる。到着する図形ブロックはトラバース(traverse)されながら1つずつ現在のメモリー領域に格納される。あるブロックが、次のレンダリング・ウインドウ(RW)では不要な場合、そのブロックは十分にトランバースされた後メモリーから除去される。更に必要とされるブロックはメモリーの待ち行列に加え、次のRWで用いられる。例では、REPEAT_X4103およびREPEAT_Y4105ブロックは、第1RWから引き続き4113、4115に保存される。次のRWには、入力FRAC−SストリームからのINSETブロック4142、4122と一緒に、前のRWからのREPEAT_X4103ブロックが保存される。
【0191】
ブロックのトラバースは、ブロックが表す図形の種類に応じて異なる。簡単な図形を表すブロックは、FRAC−Lレコードに直接変換することができるが、反復図形ブロックは、再帰的にトラバースする必要がある。トラバース手順は次の通りである。
1)ブロックの種類が、{RECT,SMALL_RECT,TRAP,LAYER,END,REND_WIN_END}である場合、このブロックをレコード・シーケンスに変換する。
2)ブロックの種類が、{REPEAT_X,REPEAT_Y,REPEAT_XY,INSERT}である場合、
開始アドレスおよび反復パラメータをスタックにプッシュする、
上述したように、サブ・ブロックを、1から開始して再帰的にトラバースする、更に、繰り返しが全て終わったら、スタックを以前のレベルにポップ(pop)する。
【0192】
図40は、プリ・プロセッサ・コアのブロック図である。FRAC−S入力バッファ4101は、フロー制御機構の伝播時間に起因するオーバーフローを回避、または最小化する。DRQ信号をHIGHに設定することによって新たなFRAC−Sが要求される。DAV信号をHIGHに設定するサイクルの度に、新たなレコードがバッファに書き込まれる。CTS入力信号がHIGHである限り、バッファからレコードが読み出され、構文解折ツール:パーサー(parser)に送られる。CTSをLOWに設定することによって、出力ストリームは停止する。受け取られたレンダリング・ウインドウのそれぞれは、RENDERING_WINDOW_ENDレコードに格納された周期性パリティー・チェック(CRC)コードに関係付けられる。CPC制御ブロック4102は、このチェック合計を計算しなおし、この合計が基準値と異なる場合にはエラー信号を発する。エラー信号の場合、さまざまな復元方式を用いることができる。
【0193】
パーサー・モジュール4103は、バッファからのFRAC−Sレコードを読み込み、レコードを図形ブロックにグループ化する。得られたブロック信号をHIGHに設定時、パーサーはブロック全体を出力し、これらはメモリーに格納される。繰り返された図形(即ち、REPEAT_RECTANGLEおよびREPEAT_TRAPEZPID)は、REPEATブロックに変換され、その後の処理を簡略化する。
【0194】
FRAC−Sストリーム構文にエラーがあるため、パーサー4103はブロックを生成することができない場合、例外信号構文エラーをアサートにし、現在のレンダリング・ウインドウ上の動作を打ち切る。構文エラーには、<END>のない<BEGIN_REPEAT>、<BEGIN_INSERT>または<BEGIN_LAYER>、あるいは<BEGIN_REPEAT>、<BEGIN_INSERT>または<BEGIN_LAYER>のない<END>;REPEATまたはINSERTブロック内の<BEGIN_LAYER>;あるいは層記述内の<BEGIN_LAYER>が含まれる。
【0195】
メモリー4104は、上述したように用いられる32ビット・ワード4105A−Bに構成された2つのZBT RAMを備える。メモリー制御4106は、新たなブロックをメモリーから読み取るか、それともパーサーから読み取るかを制御する。メモリー制御は、読み込み元、および書き込み先のメモリー領域およびアドレスを選択し、読み取り/書き込み動作を実行する。メモリーの読み込み待ち時間を短縮するため、ZBT SRAMモジュールに対するインターフェースは、ダブル・クロック周波数で計時することができる。
【0196】
トラバースおよび生成モジュール4107は、メモリー内の図形ブロックをトラバースし、基本図形(形状)を生成する。スタック4108を用いて多階層レベルを保持する。新たなレベル(即ち、REPEAT..END文)入力時、リピート・パラメータがスタック上にプッシュされ、スタック・ポインタが増分される。現在のレベル上で繰り返しが全て行われると、スタック4108は以前のレベルにポップ(pop)される。図形が座標加算器ブロックによって拒絶された場合、スタックもまたポップされ、現在のブロックは、次のRWのメモリーに残留する。スタック・ハンドラー4108は、スタック読み取り/書き込み機構および座標をリピート・ループに増加させるロジックを含む。それは現在のブロックを保存するか、ループのはじめに戻るか、または次の命令と一緒に続行するかを制御する。座標加算器4109は、スタックに格納された、累積的ΣdxおよびΣdy増分値を、到達図形の現在のxおよびy座標に加える。図形が現在のレンダリング・ウインドウ座標からはみ出す場合、拒絶信号を設定し、この反復レベルがポップされたほうがよいことを示す。
【0197】
断片化された図形コンバータ
図33は、断片化された図形コンバータ(FCON)のブロック図である。断片化された図形コンバータ3212は、2つの主ブロック3321、3323およびFIFOメモリー3322を備える。FRAC−Lレコード・ハンドラー・ブロックFLRH3321は、CABSブロック3211に対するインターフェースとして機能する。その主たるタスクは、FRAC−Lレコードから図形情報を取り出すことである。FRACレコードはCABSから32ビットのワードとして受け取られる。この情報を分析して図形の種類を明らかにし、レコードに格納する。Geometry to Corner Converter、即ちGCCON3323は、FRAC幾何学表現を幾何学隅表現に変換する。また、それはデータを左および右のデータ・ストリームに分割する。FLRH3321に含まれたFIFOメモリー3322は、CABSデータ転送が確実に均一に流れるようにする。このFIFOメモリーは、最大で255のFRAC−Lワードを含むことができる。FCONは制御信号を用いることによって、バッファがほぼ一杯になると、または再充填することが必要になると、これを知らせる。
【0198】
GCCONブロック3323では、図形開始座標および長さ仕様は、図形隅記述に変換され、上、左、および下、右座標対に分割される。ダウン・ストリーム・プロセス・ブロックの関数を簡略化するには、上および下の図形情報を、新たな図形毎に最初に都合よく送信することである。従って、図形は台形であったとしても上の部分の情報は存在する。図形の縁座標が、ガード・ウインドウから外れる、あるいはガード・ウインドウの上または左の境界上にある場合、FCON欠陥表示が開始される。
【0199】
マイクロ・ピクセル・キャッシュ生成装置
図34は、図2のレンダリング・エンジンの部分であるレンダリング212の実施形態の1つを示すブロック図である。サブ・ピクセル・アレイまたはグリッドは、マイクロ・ピクセル・キャッシュと呼ばれることもある。マイクロ・ピクセル・キャッシュ生成装置は、開始、レンダリング、テーブル・ルック・アップ、および変換の4つのブロックを含む。入力3401は、レンダリング可能な固定点図形、または、更に一般的には、レンダリング対象の多角形とすることができる。開始ブロック3402は開始パラメータを計算し、Bresenhamのレンダリング・アルゴリズムを多角形に適用する。Bresenhamアルゴリズムの適用は、図8ないし図11を参照して説明する。レンダリング・ブロック3403はBresenhamアルゴリズムを実行する。テーブル・ルックアップ・ブロック3404は、マイクロ・ピクセル・キャッシュ座標をサブ・ピクセル画像に変換するためのルックアップ・テーブルを含む。このプロセスは、図12−図14を参照して説明する。最後のブロック・変換3405はサブ・ピクセル・バー値をサブ・ピクセル・グリッドの網掛けされたサブ・ピクセルに変換する。場合によっては、サブ・ピクセル・グリッド内のサブ・ピクセルを網掛けするために、ルックアップ・テーブル値を回転または反転させることが必要である。ルックアップ・テーブルからのサブ・ピクセル・バー値の移動、および必要であれば、バーの回転は、横方向、縦方向のいずれにもアドレス指定できるフリップ・フロップのアレイを用いることによってハードウエアで実行可能である。マイクロ・ピクセル・キャッシュ生成装置からの出力3406はマイクロ・ピクセル・キャッシュ集合である。
【0200】
マイクロ・キャッシュ・バッファ
マイクロ・ピクセル・キャッシュ・バッファ3214は、図35に示したように、5つの主要ブロックからなる。FIFOメモリー左(L)3512および右(R)3514は、2つのMPCG3213L−RからMiPxCaW情報を受け取る。新たな図形の度に受け取られるMiPxCaWの第1対は、上の縁および下の縁に関する情報を含み、上(T)FIFO3511および下(B)FIFO3513に格納される。4つのMiPxCaWFIFOは、結合されたマルチプレクサー、および論理と関数3521に接続され、レンダリングされた最後のMiPxCaWを生成する。3つのブロック3501、3502、3504に分割されたマイクロ・ピクセル・キャッシュ・セット生成装置、即ちMPCSGが1つある。この装置は、論理と関数3521を制御するために用いられるマイクロ・ピクセル・キャッシュ・セットと、フレーム・バッファ・インターフェース、即ちFBIF3215によって用いられる情報とを生成し、レンダリングされたMiPxCaWが出力で編成される状況を記述する。
【0201】
フレーム・バッファ・インターフェース
図36は、フレーム・バッファ・インターフェース3220の実施形態の1つのブロック図である。図示したように、処理はマイクロ・ピクセル・キャッシュ生成装置3213からマイクロ・ピクセル・キャッシュ・バッファ3214へ、更にFBIF3220上に進む。FBIFの第1要素は、ガード・ゾーン・フィルタ3641である。これは、上述したガード・ゾーンをハードウエアによって実現したものである。図37は、このフィルターの動作を示す。幾何学図形3763を注視されたい。この図形はレンダリング・ウインドウとガード・ゾーン3762との間の境界3761をまたいでいる。ガード・ゾーン内の左および下の縁部分は、網掛けによって示されている。ガード・ゾーン/フィルター3641は、入力データ集合3751を取り込み、出力データ集合3752を生成する。グリッドの行6内の図形3763の部分の場合、データ3751は列2において縁開始、列3において縁終了、およびピクセル6,2および6,3のマイクロ・ピクセル・キャッシュを含む。フィルターは6,2および6,3はガード・ゾーンの中にあることを検出する。フィルターは新たなアドレス集合および新たなマイクロ・ピクセル・キャッシュ3752を生成する。行6の縁部分の開始および終了は、6,4に設定され、単一の白のマイクロ・ピクセル・キャッシュMiPxCaW4はマイクロ・ピクセル・キャッシュの入力対と置き換えられる。インターフェース3643、3642はそれぞれのメモリー3223、3222へのアクセスを制御する。読み出しロジック3644は、それぞれもメモリーからの値をCABS3231インターフェースに送る。ロジックは、上述したように、メモリーの実施形態に依存する。読み出しロジックの1つが図7に図示されている。1つの実施形態の更なる詳細は図38−図39に示されている。
【0202】
図38および図39は、MPCBメモリー3222を利用するが、PMCBメモリーは利用しないFBIF3220の第1の実施形態のブロック図である。2つのサブユニット3803A−Bは、スループットに対応し、以下で説明するように交互に機能するように動作し、帯域幅を効率的に利用する。サブユニットの性能および所望のスループットに応じて、利用するサブユニットの数を少なくしたり多くしたりすることができる。上述したように、2つのFBIF生成は、1)レンダリング段階、2)読み出し段階および3)消去段階の3つの段階を有する。スケジュール・ブロック3802は3つの段階のスケジュールを設定する。実施形態の1つにおいて、3つの読み出し段階の1部としてスーパー・サンプリングが行われる。(別の実施形態では、スーパー・サンプリングはマイクロ・ピクセル・アレイが書き込まれるたびに行われる。)スーパー・サンプリングはデータがCABS_agent3801に書き込まれる直前に行われる。CABS_agent3801は全てのブロックにおいて現在の動作を打ち切ることができる。打ち切り信号3825が設定されると、MPCB3214が新たなデータを表示し、次にFBIF3220が、レンダリング段階においてスタートし、現在のメモリー・コンテンツが新たなレンダリング動作で用いられるまで、またはCABSがsend_frame_cabs_signal3822でデータを読み出すようにFBIFに命令するまで、FBIFは現在の関数を中止させる。一般的は、FBIFブロックは二倍に計時することができる。
【0203】
図38および図39では、スケジューラー3802は、2つのサブユニットの3段階を4段階のインターリーブ・スケジュールでスケジュール設定する。
【表14】
スケジューラー3802は、信号3827Render、ClearおよびRead_outをsub_units3803A−Bに送る。sub_units8303A−BがMPCB3214&CABS_agent3801からのデータおよび制御3822、3823、3824を受け取ると、sub_unitsはそれらの現在おかれている段階と整合性を保って応答する。スケジューラーは、別のロジック・ユニットからの信号を用いる。スケジューラーは、MPCB3214からはdownward_readyおよびWENDを、CABS_agent3801からは send_frame_CABSを、そしてsub_unitsからは、frame_done_CABS,clear_doneを用いる。打ち切り信号が受け取られると、スケジューラーは段階1になり、sub_unit_Aは、downward_readyのレンダリング開始を待ちうけ、同時にsub_unit_Bにおいて消去メモリー・プロセスが開始される。打ち切り信号(abort)が受け取られると、FBIFおいて処理された現在のデータは全て失われるが、メモリーの内容は打ち切によって変更されることはない。
【0204】
また、制御ロジック3904は、当該制御ロジックがおかれている段階と整合性を保って応答する。レンダリング段階中、downward_readyおよびupward_req信号は、MPCB3214からFBIF3220へのデータの流れを制御する。MPCB信号Downward_readyがアクティブになると、レンダリング段階がスタートし、データが利用可能であることを示す。FBIFは現在のレンダリング・ウインドウ用のデータが無くなるまでデータを受け取り、WEndはアクティブとなる。Downward_readyがアクティブである間は、MPCBブロックから受け取るMiPxCaWがある。Downward_ready信号がアクティブでなくなり、WEnd信号が受け取られなくなると、このレンダリング・ウインドウのMiPxCaWsが更にあっても、そのときMPCBバッファは空である。FBIFが新たなデータを受け取る準備ができている限り、それはupward_rewをアクティブに保つ。Wend信号がアクティブになるとレンダリング段階は終了する。FBIFは、次にframe_ready_CABSをCABS_agentに送るので、CABS_agentはデータを取り込むことができる。Downward_readyは、アクティブなWEndまたはGEndパルスの後に初めてアクティブとなることができる。アクティブのWEndまたはGEndパルスの後、FBIFの中のパイプラインはフラッシュされる(flashed)。新たなMiPxCaWが新たな図形からのMPCBから来ると、パイプ内には、古い図形からの未処理の古いMiPxCawは全く無い。アドレス・セットが処理されると、制御ブロックは、メモリー内のアドレスを増加するか、または減少するかを確認し、アドレス生成装置に対し、カウント・アップ命令、またはカウント・ダウン命令を出す。白のMiPxCaWがレンダリングされると、データはメモリーに書き込まれるだけであって、読み出しは行われない。
【0205】
読み出し段階は、CABS_agent3801からsend_frame_CABSによって実施される。次に、フレーム・バッファが空になるまで、データはCABS_agentに送られる。一旦、最後のフレーム・データがCABS_agentに送られると、FBIFは、frame_done_CABS信号をアクティブに設定する。また、読み出し段階において、コントローラ3904は、消去および読み出しアドレス生成装置3902およびデータ・ハンドラー3905に開始信号を与える。スーパーサンプリング・ブロック3901を介して、データはCABSインターフェース3801に書き込まれる。
【0206】
消去段階はスケジューラー3802から実行される。コントローラは、消去および読み込みアドレス生成装置3902に、メモリーの全てのアドレスを生成する開始信号を送る。メモリー位置の全ては、黒に対しては、ゼロ(0)で書き込まれる。
【0207】
データ・ハンドラー3905は3つの段階を認識するロジックを含み、それに応じて作用する。MiPxCaWは、レンダリング段階の間は、そのインターフェースから来る。新たなMiPxCaWは、MiPxCaWがグレイである場合にのみ来る。MiPxCaWが白の場合、これはアドレス・セットの暗黙情報としてであり、データ・パスに沿って送られるマイクロ・ピクセル・キャッシュはない。制御・ブロック3904は、現在のデータは白であるかグレイであるかをデータ・ハンドラー3905に教える。データ・ハンドラーは、上述のロジックを利用して、1つ以上の論理OR/NAND演算を実行する。一般的に、メモリーを読み込むことによって、格納されたデータが、白、グレイ、または黒であるかを確認し、論理OR/NANDが実行され、新たなデータがメモリーに書き込まれる。メモリーからのデータが読み込まれる時のZBT−メモリー3805の遅延およびZBT−メモリー・コントローラ3804内のパイプラインを補償するために、データ・パス内およびデータ・ハンドラーの制御パス内に遅延関数3906がある。読み出し段階の間に、遅延はディスエーブルにされる。消去段階の間に、データ・ハンドラーは、0をメモリーに書き込む。
【0208】
アドレス生成装置3903は現在の実行段階に応答する。レンダリング段階では、MPCBから送られたアドレス・セットによって、アドレスがFBIFに送られる。制御ブロックはアドレス・セットを読み込み、次にウインドウ内の現在の位置に関するxおよびy情報をアドレス生成装置に送る。MPCBからのアドレス・セットは、アップ/ダウンまたはダウン/アップ方向に配向させることができる。制御ブロックはカウント・アップすべきかカウント・ダウンすべきかをアドレス生成装置に伝える。レンダリング・ウインドウ全体は、Rend_win_1n_x*Rend_win_1n_yMiPxCaWである。レンダリング・ウインドウは、行を方向付けた後の行内のフレーム・バッファに格納される。例えば、Rend_win_1n_y=400又はRend_win_1n_x=200。
【表15】
レンダリング段階では、グレイ・データをレンダリングする第2のクロック・サイクル毎に、新たなアドレスが生成される。白のデータをレンダリングする場合、データはメモリーに書き込まれるだけで、読み出されない。従って、新たなアドレスはクロック・サイクル毎に生成される。制御信号Rend_win_offs_x、Rend_win_offs_yは、ガード・ウインドウ内のレンダリング・ウインドウの位置に関する情報を含み、Redn_win_1n_xおよびRend_win_1n_yは、レンダリング・ウインドウの大きさに関して伝える。これらを用いることによって、MiPxCaWの位置はレンダリング・ウインドウの中なのか、それともガード・ウインドウの中なのかが判定される。ガード・ウインドウのMiPxCaWも、レンダリング・ウインドウのMiPxCaWも、全てFBIFによって均等に処理される。しかし、アドレス生成装置がレンダリング・ウインドウの外側でアドレスを検出した場合、メモリー・イネーブル信号はアクティブにならないため対応するMiPxCaWはメモリーに書き込まれない。読み出しおよび消去段階の間、このロジック・ブロックは用いられない。
【0209】
レンダリング段階の間、消去および読み出しアドレス生成装置3902は用いられない。読み出し段階の間、データはラインによってCABSインターフェースに書き込まれる。即ち、連続データのアドレス増分値は、新たなラインは始まる時以外、Rend_win_1n_xである。新たなラインが始まる時、current_line_pointerは、1で増分される。ブランキング(blanking)の場合の2つの連続ライン間では、アドレスはブランキング・パラメータに従って停止させられる。これについては、下記の例を参照されたい。パラメータRend_win_1n_y=400とともに、Rend_win_1n_x=200およびBlanking=2:
【表16】
読み出し段階では、100Mピクセル/sec読み出し速度のクロック・サイクル毎に新たなアドレスが1つ生成され、50Mピクセル/sec読み出し速度の2クロック・サイクル毎に1つのアドレスが生成される。インターリーブ・モードでアドレスを生成し、2つのsub_unitsを機能させるためには、次のようにオフセットをアドレスに加える。Address_1=adr_gen;Address_2=adr_gen+rend_win_lenght_x/2。インターリーブ・モードでは、メモリー・アクセスは、address_1から始まり、address_1とaddress_2との間で交互に行われる。拡張ゾーンが用いられる場合、address_2は以下の式を有する。Address_2=adr_gen+rend_win_length_x/2−2。消去段階では、メモリー・アドレスは全て0乃至256kから生成されて消去される。(この関数は、一括消去関数に対応したメモリー設計に対しては必要ない場合もある)
【0210】
アドレス遅延ロジック3906は、レンダリング段階中にイネーブルにされる。新たなMiPxCaW−データでOR/NANDを実行するためには、格納された古いデータを読み込む必要がある。読み込みプロセスにおけZBTメモリーの遅延、およびZBTメモリー・コントローラのパイプラインを補償するには、データおよびアドレスの双方を遅延させる必要がある。アドレス遅延ブロックはアドレスを遅延させる。データの遅延はデータ・ハンドラーにおいて統合される。アドレス遅延ロジックは、読み出しおよび消去段階の間にディスエーブルにされる。
【0211】
この実施形態では、読み出し段階中にスーパー・サンプル・ロジック3901を用いる。これに関しては図7に示してある。
【0212】
FBIFに第2および第3の実施形態は、PMFBおよびGVFBメモリーをそれぞれ有するように構成されたロジックを利用する。図32に示すように、複数のピクセル・マップ3223およびグレイ・スケール3224メモリーは有用である。付加されたメモリーおよびメモリー・アクセス用の個別のチャネルの効果は以下のインターリーブに関する論述から明らかである。ピクセル・マップPMFBはアクセス・クォリファイアー(qualifier)として機能し、特定のマイクロ・ピクセル・メモリーへのアクセスの必要性を認定する。ピクセル・マップ記号修正の真理表は、必要とされるレンダリング・オペレータに依存し、“or”または“and−not”とすることができる。テーブル中の“*”はあらゆる記号値を示し、“donn’t care”または“wildcard”を意味する。
【表17】
【0213】
アクセス・クォリファイアーは、単一の書き込み動作を指す書き込み、または読み取り−修正−書き込み動作を指す修正書き込みとすることができる。OR演算に対しては、ピクセルの後値がWまたはBである場合、マイクロ・ピクセル・アレイを読み出すまたは書き込む必要はない。その代わり、ピクセル・マップPMFBメモリーを適切な値に設定する。後値がグレイで、前値または修正値が黒である場合、「単一の書き込み」または「全く書き込みしない」は、マイクロ・ピクセルMPFGメモリーにおいて正しいグレイ値を生成する。ピクセルがグレイの前値および修正値を有する場合、マイクロ・ピクセル・アレイを読み取り、ORまたはAND NOT演算を前値および修正値に適用することによって演算を続行させ、次に、得られた値をMPFBに書き込むことが必要である。基本的には、OR演算に関しては、同じアクセス・クォリファイアーをAND NOT演算に適用することができる。図16Dは、アクセス・クォリファイアーの動作を示す。四角形はピクセルの前値である。平行四辺形はピクセルの修正値である。網掛けされたマップは、修正オペレータ後に得られたピクセル・マップ値(黒、白、グレイ)を示す。それは、マイクロ・ピクセルMPFBに単一の書き込み演算が行われたのか、書き込み−修正−書き込み演算が行われたのか、または論理OR演算を適用して平行四辺形で四角形を修正した後は不変であったのかを示す。
【0214】
第2の実施形態のインターリーブ図は次の通り。
【表18】
【0215】
上述の第3の実施形態では、書き込みまたは読み出し−修正−書き込み演算が実行されるたびにスーパー・サンプリングが行われる。1つ以上のグレイGVFB要約メモリーは結果を保持する。第3の実施形態の2つのバリエーションは、同じまたは別のデータ・パス上のピクセル・マップおよびグレイ値メモリーを用いる。第1のインターリーブは、2つの共有PMFBメモリー(同じメモリーおよびデータ・パス内の2つバッファ)および2つの共有GVFBメモリー(同じメモリーおよびデータ・パス内の2つのバッファ)用である。(ライン毎にインターリーブされた補助段階、読み出しライン毎に4つの補助段階の1セット、全体の段階ごとに512の読み出しライン)
【表19】
キュー終了は、たとえPMエイジェントが読み出しに多忙であったとしても、MPFBエイジェント前のFIFOバッファはなお空にすることができることを意味する。
【0216】
第3の実施形態の第2のバリエーションでは、2つの別々のPMFBおよび2つの別々のGVFBが用いられ、それぞれのメモリーは、自分自身のデータ・パスおよびメモリー・アクセスのための独立のチャネルを有する。
【表20】
【0217】
第2および第3の実施形態では、読み出しおよび消去段階は結合される。PMFBおよびMPFBメモリーが読み出されると、ピクセル・マップは消去される。これは素早く行われる。なぜなら、ピクセル・マップはピクセルを僅か2ビットで表示するからである。読み出し段階および消去の段階は別々である必要はない。
【0218】
図42は、第2の実施形態におけるフレーム・バッファ・インターフェースの大まかなブロック構造を示す。構造図は、機能図とは異なり、インターリーブおよびパイプライン・アルゴリズムを組み込んで実行を早める方法を示す。巨大なデータ・バスを分割し、相互接続されていないいくつかのより小さなロジック・ブロックにおいてデータを平行して処理することは有用なことである。データをいくつかのより小さなブロックに分割すると、高速のディジタル装置における物理的履行は容易になる。ブロック分割はパイプライン処理に向いている。アドレス・セット4201およびマイクロ・ピクセル・キャッシュ4202を生成する際のMPCB3214の関数は、上述したとおりである。ガード・ゾーンの実施形態の1つであるガード・ゾーン・フィルタは3641である。ピクセル・マップ・フレーム・バッファ・インターフェース3643はPMFBメモリー3223(図36を参照)にアクセスする。マイクロ・ピクセル・フレーム・バッファ・インターフェース3642は、MPFBメモリー3222(同じく図36を参照)にアクセスする。
【0219】
この構成では、ガード・ゾーン・フィルタ・ブロック3641は、MPCB(マイクロ・ピクセル・キャッシュ・バッファ)3214、ピクセル・マップ・フレーム・バッファ・アクセス・シーケンス生成装置(PMFB AccSeqGen)4221、マイクロ・ピクセル・フレーム・バッファAccSeqGen4222およびMiPxCaWバッファ4223と信号を共有する。以下の信号は、MiPxCaWがレンダリング・ウインドウの内側に位置しているか否かを判定するために必要である。Interior_info、MPCS_Y、MPCS_X1S、MPCS_X1E、MPCS_X2SおよびMPCSX_2Eは、xおよびy方向のガード・ウインドウの左隅に対する座標である。Rend_win_offs_x、およびrend_win_offs_yはレンダリング・ウインドウの原点の位置を示す。Rend_win_ln_xおよびrend_win_1n_yはレンダリング・ウインドウの寸法、およびこのブロックとMPCB(マイクロ・ピクセル・キャッシュ・バッファ)4202との間のデータの流れを調停するための2つのハンドシェーク信号(Downward_Ready/Up_Request)を示す。
【0220】
ピクセル・マップ・フレーム・バッファ・アクセス・シーケンス生成装置4221は、ガード・ゾーン・フィルタ3641およびPMFBエイジェント4231と信号を共有する。それが受け取るものの中には、ガード・ゾーン・フィルタの(X、Y、interior_info)からのアドレスと、このブロックとガード・ゾーン・フィルタとの間のデータの流れを調停する一対のハンドシェーク信号(Downward_Ready/Up_Request)と、PMFBAgentにおいて処理されるピクセル・マップ・セットに対応するアドレスおよびバイト・イネーブルと、(PMFBTccSeqGen−>PMFGAgent)を処理するために利用可能なデータの存在を示すために用いられる信号、およびPMFBAgentは、PMFBAccSeqGenからデータを受け取る用意ができていることを示すために用いられる信号とが含まれる。
【0221】
PMFBエイジェント4321は1つのアドレス・セット(AS)を1度に読み取り、一連のPMFB(ピクセル・マップ・フレーム・バッファ)アクセスを生成する。X1S、X1E、X2S、X2E、YのASのそれぞれに対し、一連のPMFBアクセスが生成される。PMFBアクセスは、ワード位置[(0...Xsize/4−1)、(0...Ysize/4−1)]およびセット番号[0...3]によってアドレス指定されるPMセット・アクセスからなる。セット番号はPMFBエイジェント内でバイトイネーブル信号として使用される。
【0222】
図43は、本発明の態様を実現するために用いることができるメモリー構成の1つを示す。この構成において、ピクセル・マップ記号は、W=白、G=グレイ、B=黒の値を有し、ピクセル・マップ・セットは、8ビット・ワードとして構成された4つのピクセル・マップ記号を含み、ピクセル・マップ・ワードは、32ビット・ワードとして構成された4つのピクセル・マップ・セットを含む。このメモリー構成では、次のRMW手順に対応している。即ち、8ビット・ワードの読み出し(残りの24ビットは廃棄される)、マスクを用いた書き込み(バイト・イネーブル)、および32ビット・ワードの読み出しと32ビット・ワードの書き込みである。図43を再度参照し、行番号8は、PMFBAccSeqGen4221によって処理されるものとする。一連の3つのメモリー・アクセスが生成される。
ワードの位置
【0223】
PMFBエイジェント4231は、一般的なピクセル・マップ・コンテナを構築して、OMセットまたはPMワードの中間の記憶装置を処理する。コンテナは、1つ乃至4つの記号セットおよびワード・アドレスを含む。コンテナは、次のような1つのピクセル・マップ・セット・エントリーを有する。
【表21】
例
【表22】
【0224】
PMFBエイジェント4231は、ZBTコントローラ3804A、PMFB−AccSeqGen4231、およびアクセス・クォリファイアーFIFO4232と信号を共有する。PMFBAccSeqGenとPMFBエイジェントとの間のインターフェースは、上記で言及した。AccQua FIFO4232とPMFBエイジェント4231との間のインターフェースは、アクセス・クォリファイアーをFIFOに送るステップを含む。新たなデータを書き込むことができるためには、Write Enable、および例えばfifo_fullまたはfifo_overrunのようなFiFo状態が必要である。PMFB−エイジェント4231とZBTコントローラ3804Aとの間のインターフェースは、アドレス、データ・イン、データ・アウト、読み出し−書き込み、およびバイト・イネーブル信号を含む。更に、一般的なコンテナに含まれるレンダリング・ウインドウ論理オペレータ(RWKOper)は、どちらの論理オペレータを用いてレンダリング・プロセスを行うかを判定するために必要である。
【0225】
MPFBAccSeqGen4222の目的は、MiPxCaWバッファ4223に格納されたMiPxCaWに対応するアドレスを生成することである。Y値、X1S、X1E、X2SおよびX2Eから送出されるアドレスが生成される。Sは開始を、Eは終了を示す。以下はアドレス・セットの論理的ルールである。
X1S<X1E:MiPxCaWはMPCBに格納され、最も低いアドレス・データはX1SからX1Eまでの領域に最初に格納される。(左の縁)
X1S>X1E:MiPxCaWは、最も高いアドレス・データはX1SからX1Eまでの領域に最初に格納される。(左の縁)
X2S<X2E:MiPxCaWは、最も低いアドレス・データはX2SからX2Eまでの領域に最初に格納される。(右の縁)
X2S>X2E:MiPxCaWは、最も高いアドレス・データはX2SからX2Eまでの領域に最初に格納される。(右の縁)
更に、このブロックは、直前に受け取ったアドレス・セットに対応する最後のアドレスをMPFBエイジェント4233に送るとすぐに新たなアドレス・セットを受け取る準備ができていることを、上方、即ちガード・ゾーン・フィルタに向かって示さなければならない。
【0226】
MPFBAccSeqGen4222は、ガード・ゾーン・フィルタ3641、およびマイクロ・ピクセル・フレーム・バッファ・エイジェント4233と共通のインターフェースを有する。ガード・ゾーン・フィルタは、要求に応じ、次のアドレス・セットを送る。即ち、X1S、X1E、X2S、X2Eおよびinterior_infoフラッグである。一対のハンドシェーク信号(Downward_Ready/Up_Request)は、このロジック・ブロックとガード・ゾーン・フィルタとの間のデータの流れを調停する。MPFBエイジェントとMFBアクセス・シーケンス生成装置ブロック4222との間のインターフェースにおいて、対応する(MiPxCaWバッファに格納された)MiPxCaW用に用いられるアドレスおよびデータの流れを調停する信号が転送される。
【0227】
MiPxCaWバッファ4223は、FIFOバッファとかわらない。それはこのデザイン(100MHz)において求められる高クロック周波数に対応し、一般的にフロア・プランナにとって使いやすい。最大の図形(253MiPxCaW)を格納するために必要な4つのDPRAMブロックが備えられる。即ち、64ビット・ワードは、4つの16ビット・ワードに分割される。MiPxCaWバッファ4223は、ガード・ゾーン・フィルタとMPFBエイジェントとに共通のインターフェースを有する。ガード・ゾーン・フィルタとこのブロックとの間のインターフェースにおいて、MiPxCaWはバッファにむかって流れ、FiFoを供給するためにライト・イネーブル信号が必要である。MPFBエイジェントとこのブロックとの間のバッファにおいて、MiPxCaWはバッファから流れ、FiFoからデータを取り込むために読み込みイネーブル信号が必要である。
【0228】
MPバッファ・エイジェント4233は、MPFB3222上でMiPxCaW毎に、即ち、一度に64ビット・ワード1つを基本として動作を行う。このエイジェントはアクセス・クォリファイアー、AccQuaの値に応じて書き込み、または読み出し−修正−書き込み動作を行う。MiPxCaW修正の真理値表は、“OR”または“AND−NOT”とすることができる論理的レンダリング・オペレータに依存する。所定の対(アドレス、MiPxCaW)のAccQuaが、書き込みである場合、MiPxCaWは対応するアドレスに書き込まれるだけでよい。しかし、AccQuaが修正−書き込みの場合、MPFBに格納されている値をアドレスによって指摘された位置から最初に取り込む必要がある。その後、データはレンダリング・ウインドウ・オペレータに従って修正することができる。しかしながら、データおよびアドレスは、データ取り出し待機中に、キューに格納する必要がある。エイジェントがアドレスおよび制御信号をZBTコントローラ3804Bに送る瞬間と、対応するデータがDoutバス上で利用可能になる瞬間との間には(約10クロック・サイクルの)待ち時間がある。これは、例えば、2つの重複図形が互いの重複後にMPFBに書き込まれると、キャッシュ・コヒーレンス競合が生ずることを暗に示している。これは、メモリーにアクセスするために用いられるアドレスを監視するCAM構造によって解決することができる。実行可能な方法の1つは、最後のアドレスを10個格納し、1つのアドレスがCAM構造内に2度存在したら、合致標識を発行することである。これは、合致指標が消えるまで動作は一時的に中断することを暗示している。
【0229】
マイクロ・ピクセル・フレーム・バッファ・エイジェント4233のロジック・ブロックは、AccQua FiFo4232、MPFB AccSegGen4222、MiPxCaWバッファ4223、およびZBT コントローラ3804Bと共通のインターフェースを有する。FiFo、バッファ、およびアドレス生成装置と共通の読み出しイネーブル信号は、新たなAccQuaを開放させる。FiFoとこのブロックとの間のインターフェースには、例えば、FiFoエンプティ・フラッグのようなAccQuaおよびFiFo状況指標がある。MPFBAccSeqGenとこのブロックとの間のインターフェースには、アドレス・バス、および、例えば、ready/proceedのような、一対の調停信号がある。MiPxCaWバッファとこのブロックとの間のインターフェースには、MiPxCaWバスおよび、例えば、ready/proceedのような一対の調停信号がある。この一対の調停信号は、このブロックとMPFBAccSeqGenとの間で用いられる信号と同じである可能性がある。最後に、ZBTコントローラとこのブロックとの間のインターフェースは、先に論じたように、PMFBエイジェント用である。
【0230】
読み出しロジック3644は、(ZBTコントローラを介して)フレーム・バッファと、CABSバスとの両方に共通のインターフェースを有する。
【0231】
計時方法は、FBIFのロジック・ブロックが、100MHzの倍の周波数において、clk_c1で計時されることを求める。読み出しロジックもまた50MHzの基本周波数を有するclk_c1で計時されなければならない。2つのクロック・周波数を用いることによって、clk_c1を用いるCABSインターフェース、およびclk_c2を用いるZBTコントローラを駆動することができる。双方のクロックは、同じDLLから生成される。即ち、このことは、スキュー(skew)は、無視することができることを意味している。つまり、双方のクロックは、同期クロックであると看做すことができる。それらの2つの領域間で遷移が行われる場合には必ず、次の2つの手法が考えられる。即ち、clk_2だけ、および必要な場合には必ず多数のクロック・パスを用いるか、またはclk_c2およびclk_c1の両方を用いる。
【0232】
上述の好適な実施形態および例を参照しながら、本発明を開示してきたが、これらの例は限定のためではなく例示を意図したものであることは理解されよう。本発明の精神および以下の特許請求の範囲の範囲から逸脱することのない修正および組み合わせが当業者には容易に思い浮かぶであろうことは考えられよう。
【図面の簡単な説明】
【0233】
【図1】図1Aおよび図1Bは、縁において露光照射振幅を減少させた結果の、1ピクセルまたはグリッド要素未満の縁移動を示した一対の照射吸収グラフである。
【図2】図2は、本発明の態様を実行するデータ・パスの1つの概観を示すブロック図である。
【図3】図3は、クラスター協動プロセス、サポートおよびマスク書き込みプロセス、ならびにレンダリング・モジュール間の層的関係の概要のブロック図である。
【図4A】図4Aは、レンダリング・ウインドウ、ガード・ウインドウ、スタンプ・ストリップ、サブ・ストリップ、およびその他のレンダリングに関連する機能を示す一対の図である。
【図4B】図4Bは、レンダリング・ウインドウ、ガード・ウインドウ、スタンプ・ストリップ、サブ・ストリップ、およびその他のレンダリングに関連する機能を示す一対の図である。
【図4C】図4Cは、変調器ウインドウ、スタンプ、ストリップ、サブ・ストリップ、および画像間の内側の関係を示すブロック図である。
【図4D】図4Dは、全体的座標システムと局部的座標システムとの関係を示すベクトル図である。
【図5A】図5Aは、ピクセルと交差する縁の図を示す一対のサブ・ピクセル・グリッドである。
【図5B】図5Bは、ピクセルと交差する縁の図を示す一対のサブ・ピクセル・グリッドである。
【図6】図6は、一連のピクセル・グリッドおよびそのピクセルの1つに対応するサブ・ピクセル・グリッドを含む。ピクセル・グリッド上への一対の幾何学図形のマッピングが示されている。
【図7】図7は、スーパー・サンプリング回路のブロック図である。
【図8】幾何学図形。
【図9】マイクロ・ピクセル・キャッシュ・セットの例である。
【図10A】幾何学図形から生成されたアドレス・セットの例である。
【図10B】幾何学図形から生成されたアドレス・セットの例である。
【図10C】幾何学図形から生成されたアドレス・セットの例である。
【図10D】幾何学図形から生成されたアドレス・セットの例である。
【図11A】縁を、隅からピクセルおよびこのピクセルに対応するサブ・ピクセルの面に延ばす事例を示す。
【図11B】縁を、隅からピクセルおよびこのピクセルに対応するサブ・ピクセルの面に延ばす事例を示す。
【図11C】縁を、隅からピクセルおよびこのピクセルに対応するサブ・ピクセルの面に延ばす事例を示す。
【図11D】縁を、隅からピクセルおよびこのピクセルに対応するサブ・ピクセルの面に延ばす事例を示す。
【図12】図12は、ピクセルの横方向および縦方向のペアリング、およびマイクロ・ピクセル・バーを用いて縁をレンダリングするその他の特徴を示す。
【図13A】マイクロ・ピクセル・バー・セットからレンダリング可能な、向きの異なる4つの縁のそれぞれを示す。
【図13B】マイクロ・ピクセル・バー・セットからレンダリング可能な、向きの異なる4つの縁のそれぞれを示す。
【図13C】マイクロ・ピクセル・バー・セットからレンダリング可能な、向きの異なる4つの縁のそれぞれを示す。
【図13D】マイクロ・ピクセル・バー・セットからレンダリング可能な、向きの異なる4つの縁のそれぞれを示す。
【図14A】マイクロ・ピクセル・バー・セットを用いて隅から移動した縁を構築するステップを示す。
【図14B】マイクロ・ピクセル・バー・セットを用いて隅から移動した縁を構築するステップを示す。
【図14C】マイクロ・ピクセル・バー・セットを用いて隅から移動した縁を構築するステップを示す。
【図14D】マイクロ・ピクセル・バー・セットを用いて隅から移動した縁を構築するステップを示す。
【図15A】レンダリングおよびガード・ゾーンに重複する台形の形状を示す。
【図15B】ピクセルと交差する縁を規定するために用いられるサブ・ピクセル・バー・マップを備えるためのインターフェースを示す。
【図15C】ピクセルと交差する縁を規定するために用いられるサブ・ピクセル・バー・マップを備えるためのインターフェースを示す。
【図16A】サブ・ピクセル・グリッドにおける隅の構築、およびこの隅に対応するピクセル・グレイ値の計算を示す。
【図16B】サブ・ピクセル・グリッドにおける隅の構築、およびこの隅に対応するピクセル・グレイ値の計算を示す。
【図16C】サブ・ピクセル・グリッドにおける隅の構築、およびこの隅に対応するピクセル・グレイ値の計算を示す。
【図16D】アクセス・クォリファイアーを用いて、一方の図形を別の図形の上に重ね合わせるステップを示す。
【図17】図17は、縁の移動に有用な楕円形の構造化要素を示す。
【図18A】いわゆるフィリング・アップおよび摺動移動アルゴリズムの動作を示す。
【図18B】いわゆるフィリング・アップおよび摺動移動アルゴリズムの動作を示す。
【図19A】いわゆるフィリング・アップおよび摺動移動アルゴリズムの動作を示す。
【図19B】いわゆるフィリング・アップおよび摺動移動アルゴリズムの動作を示す。
【図20】図20は、最大で5×5グレイ値ピクセル前後の大きさにおいて縁の移動を実現するために用いることができるロジック要素のハードウエア・ブロック図である。
【図21】スタンプを重ね合わせる6個の変調器、即ちレンダリング・ウインドウを示す。
【図22】スタンプと9つの重複サブゾーンを示す。
【図23A】サブゾーンの概念を多工程における印刷に拡大する。
【図23B】4つの露光工程から得られる81個の重複サブゾーンを示す。
【図23C】スタンプ、ストリップおよびサブ・ストリップ間の関係を示すブロック図である。
【図23D】スタンプ、ストリップおよびサブ・ストリップ間の関係を示すブロック図である。
【図24A】スタンプのレンダリング即ち変調器ウインドウ内側の重複サブゾーン、およびこれらの重複サブゾーンの一部に対応する照射量特性を示す。
【図24B】スタンプのレンダリング即ち変調器ウインドウ内側の重複サブゾーン、およびこれらの重複サブゾーンの一部に対応する照射量特性を示す。
【図25】図25は、多工程によって補償されるグレイ・スケール・ピクセルの照明値の計算に対する、重複ゾーンおよびエネルギー変更プロセスの適用を含むブロック図である。
【図26】図26は、断片化された図形をラスター化する際に有用ないくつかのプロセスのブロック図である。
【図27】図27は、ミラー転送関数の適用を示すハードウエア・ブロック図である。
【図28】図28は、固有のベクトル方法を用いて計算された一対の基底関数を示す。
【図29】図29は、潜在的バッファ構成を示すブロック図である。
【図30】図30は、断片化からSLMへのローディングまでのデータの流れを示す。
【図31】図31は、レンダリング・モジュールのハードウエア・ブロック図である。
【図32】図32は、レンダリング・モジュールの一部であるレンダリング・プロセッサのハードウエア・ブロック図である。
【図33】図33は、レンダリング・プロセッサの一部である、断片化コンバータのハードウエア・ブロック図である。
【図34】図34は、マイクロ・ピクセル・キャッシュ生成装置のブロック図である。
【図35】図35は、マイクロ・ピクセル・キャッシュ・バッファのブロック図である。
【図36】図36は、フレーム・バッファ・インターフェースおよび関連の構成要素のブロック図である。
【図37】図37は、データがメモリー・コントローラに書き込まれる前に実行されるガード・ゾーン・フィルタの動作を示す。
【図38】図38は、フレーム・バッファ・インターフェースの構造に関する更なる詳細を示す。
【図39】図39は、フレーム・バッファ・インターフェースの構造に関する更なる詳細を示す。
【図40】図40は、プリ・プロセッサ・コアの実行の1つに関する詳細を示すハードウエア・ブロック図である。
【図41】図41は、メモリーがトランバースされる際のメモリー・ブロック処理を示す。
【図42】図42は、マイクロ・ピクセル・キャッシュ・バッファのハードウエア・ブロック図である。
【図43】図43は、本発明の態様を実行するハードウエアの実施形態の1つにおけるメモリー・アクセスを示す。
【図44】図44は、ピクセルを表すサブ・ピクセルの対称加重を示す。
【図45】図45は、特定の縁方向を表す対称のおよび非対称のサブ・ピクセル・マップを示す。
【図46】図46は、隅を検出するのに有用な5×5近傍の2段階の畳み込みを示す。
【図47】図47は、隅を検出するのに有用な、5×5近傍の2段階の畳み込みを示す。
【図48】縁移動の態様を示す。
【図49】縁移動の態様を示す。
【図50】縁移動の態様を示す。
【図51】縁移動の態様を示す。
【図52】図52は、縁移動のフローチャートの概要を示す。
【図53】図53は、Bresenhamアルゴリズムを適用したフローチャートである。
【図54A】多数のSLM構成の例である。
【図54B】多数のSLM構成の例である。
【図54C】多数のSLM構成の例である。
【図55】図55は、補正係数を用いることによる、SLMからワークへの投影における軽微な欠陥および歪みの補償を示す。
Claims (166)
- 図形をマイクロミラー・アレイにおける個々のミラーの駆動電圧に変換する方法であって、
工作片の区域への複数の重複露光による意図したエネルギー寄与パターンに対応する重複区域に工作片をマッピングするステップと、
平行して動作する複数のレンダリング・エンジンを用いて、多数の多角形をグレイ・スケール・ピクセル値にレンダリングするステップと、
重複区域を考慮してグレイ・スケール・ピクセル値の露光値を計算するステップと、
個々のマイクロミラー特性に基づいて露光値の輪郭を描くステップと、
前記輪郭を描いた露光値を1つ以上のミラー・ピクセル・ドライバに出力するステップと、
を含む方法。 - 請求項1記載の方法において、前記マッピング・ステップは、前記照射された領域において81の重複区域を1回のステップで生成する方法。
- 請求項1記載の方法において、前記計算ステップは、前記重複区域を用いて連続露光間の重複を考慮する方法。
- 請求項1記載の方法において、前記計算ステップは前記重複区域を用いて連続露光に印加される照射エネルギーを考慮する方法。
- 請求項3記載の方法において、前記計算ステップは前記重複区域を用いて前記連続露光に印加される照射エネルギーを考慮する方法。
- 請求項1記載の方法であって、更に、少なくとも1つのセグメント・バッファにおいて、レンダリングの出力をバッファリングするステップと、計算するステップと、輪郭を描くステップとを含み、前記出力するステップは、前記バッファ・セグメントの1つをミラー・ピクセル・ドライバのセットに繰り返し結合するステップを含む方法。
- 請求項6記載の方法において、前記ミラー・ピクセル・ドライブは、マイクロミラー・アレイの個々のミラーに切替え可能に結合されたディジタル/アナログ・コンバーターである方法。
- 請求項6記載の方法において、前記セグメントに分けられたバッファは、バッファ・セグメントの数とは異なる多数のレンダリング・エンジンからの入力を受け入れる方法。
- 請求項1記載の方法であって、更に、レンダリングの出力をバッファリングするステップと、少なくとも2つのセグメントに分けられたバッファにおいて計算するステップと、輪郭を描くステップとを含み、前記出力するステップは、前記バッファ・セグメントの1つをミラー・ピクセル・ドライバのセットに繰り返し結合するステップを含む方法。
- 請求項9記載の方法において、前記ミラー・ピクセル・ドライバは、マイクロミラー・アレイの前記個々のミラーに切替え可能に結合されるディジタル/アナログ・コンバーターである方法。
- 請求項9記載の方法において、前記セグメント・バッファは、バッファ・セグメントの数とは異なる多数のレンダリング・エンジンからの入力を受け入れる方法。
- レンダリング方法であって、
メモリーに対応する小さい方のアドレッシング・ウインドウを提供するステップと、
小さい方のアドレッシング・ウインドウと、該小さい方のアドレッシング・ウインドウの外側のガード・ゾーンを備える大きい方のアドレッシング・ウインドウを提供するステップであって、前記ガード・ゾーンはアドレス指定可能であるが前記メモリーには対応しない、ステップと、
前記大きい方のアドレッシング・ウインドウの内側に含まれた多角形を受け取るステップと、
少なくとも前記多角形の部分を大きい方のアドレッシング・ウインドウの中にレンダリングするステップと、
前記より小さいアドレッシング・ウインドウ内側の前記レンダリングされた多角形の部分を前記メモリーに書き込み、且つ前記小さい方のアドレッシング・ウインドウの外側の前記レンダリングされた多角形の部分を廃棄するステップと、
を含む方法。 - 請求項12記載の方法において、前記レンダリング・ステップは、前記小さい方のアドレッシング・ウインドウの内側および外側の多角形の部分間の区別をせずに実行される方法。
- 請求項12記載の方法において、前記方法は、前記小さいアドレッシング・ウインドウに収めるために前記多角形の切り取りを行うことなく実施される方法。
- 請求項12記載の方法であって、更に、前記多角形の少なくとも1部分が前記小さい方のアドレッシング・ウインドウの内側に位置するように、多角形セットをフィルタリングするステップを含む方法。
- 請求項12記載の方法において、前記データを廃棄するステップは、前記レンダリングされた部分のデータをメモリー・コントローラに書き込む前に行われることによりメモリー帯域幅の負荷を低減させる方法。
- 請求項12記載の方法において、前記データを廃棄する前記ステップは、メモリー・アドレスを小さい方のアドレッシング・ウインドウの有効アドレスと比較することによって、且つ該比較結果を用いることによって行われ、1つ以上のメモリー調停信号を制御する方法。
- 請求項13記載の方法であって、更に、前記多角形の少なくとも一部分が前記小さい方のアドレッシング・ウインドウの内側に位置するように多角形のセットをフィルタリングするステップを含む方法。
- 請求項14記載の方法であって、更に、前記多角形の少なくとも一部分が小さい方のアドレッシング・ウインドウの内側に位置するように多角形のセットをフィルタリングするステップを含む方法。
- 多角形を大きい方のアドレッシング・ウインドウにレンダリングする方法において、大きい方のアドレッシング・ウインドウは、メモリーに対応する小さい方のアドレッシング・ウインドウと、該小さい方のアドレッシング・ウインドウの外側のガード・ゾーンであって、アドレス指定可能であるが前記メモリーには対応しない、ガード・ゾーンとを備え、前記方法は、
前記大きい方のアドレッシング・ウインドウの内側に含まれる多角形を受け取るステップと、
前記多角形の部分を繰り返し選択するステップと、
前記選択をラスター化した表現データに変換するステップと、
前記ラスター化した表現データを処理し、前記小さい方のアドレッシング・ウインドウ内のラスター化した表現データをメモリーに書き込み、前記小さい方のアドレッシング・ウインドウの外側の前記ラスター化した表現データ部分をメモリーに書き込まないステップと、
を含む方法。 - 請求項20記載の方法において、前記変換ステップは、前記小さい方のアドレッシング・ウインドウの内側および外側の多角形の部分間の区別をすることなく行われる方法。
- 請求項20記載の方法において、前記方法は、前記小さい方のアドレッシング・ウインドウに収めるために前記多角形を切り取ることなく行われる方法。
- 請求項20記載の方法であって、更に、前記メモリーに書き込む前に前記ラスター化した表示データの一部を除去することにより、メモリー帯域幅の負荷を軽減するステップを含む方法。
- 請求項20記載の方法であって、更に、メモリー・アドレス信号を前記小さい方のアドレッシング・ウインドウの有効アドレスと比較し、該比較結果を用いて、1つ以上のメモリー調停信号を制御するステップを含む方法。
- 請求項20記載の方法であって、更に、前記多角形の少なくとも一部分が前記小さい方のアドレッシング・ウインドウの内側に位置するように多角形セットをフィルタリングするステップを含む方法。
- 請求項21記載の方法であって、更に、前記多角形の少なくとも一部分が前記小さい方のアドレッシング・ウインドウの内側に位置するように多角形セットをフィルタリングするステップを含む方法。
- 請求項22記載の方法であって、更に、前記多角形の少なくとも一部分が前記小さい方のアドレッシング・ウインドウの内側に位置するように多角形セットをフィルタリングする前記ステップを含む方法。
- 請求項20記載の方法であって、更に、幾何学図形を前記ガード・ゾーン内に納まる大きさの多角形セットに分割するステップを含む方法。
- 請求項21記載の方法であって、更に、幾何学図形を前記ガード・ゾーン内に納まる大きさの多角形セットに分割する前記ステップを含む方法。
- 請求項22記載の方法であって、更に、幾何学図形を前記ガード・ゾーン内に納まる大きさの多角形セットに分割する前記ステップを含む方法。
- 小さい方のアドレッシング・ウインドウと、該小さい方のアドレッシング・ウインドウ外側のガード・ゾーンとを備えた大きい方のアドレッシング・ウインドウ内に含まれた多角形レンダー装置であって、該装置は、
入力ラインと
前記入力ラインに接続され、大きい方のアドレッシング・ウインドウ内側に含まれた多角形を受け取り、該多角形の一部分を1つ以上のアドレッシング命令およびデータに繰り返し変換するように構成されたレンダラーと、
前記小さいほうのアドレッシング・ウインドウに符合するメモリーと、
前記レンダラーに接続され、前記アドレッシング命令および前記データを処理し、前記小さい方のアドレッシング・ウインドウの内側の前記データ部分を前記メモリーに書き込み、前記小さい方のアドレッシング・ウインドウの外側のデータ部分を廃棄するように構成されたメモリー・コントローラと、
を備えた装置。 - 請求項31記載の方法において、前記レンダラーは前記小さい方のアドレッシング・ウインドウの内側および外側のセクション部分間の区別は行わずに前記セクションを変換するように構成された方法。
- 請求項31記載の方法において、前記装置は、前記小さい方のアドレッシング・ウインドウに収めるために前記多角形を切り取ることをしない方法。
- 小さい方のアドレッシング・ウインドウと該小さい方のアドレッシング・ウインドウの外側のガード・ゾーンとを備えた大きい方のアドレッシング・ウインドウ内に含まれた多角形の部分をメモリーに書き込む装置において、前記部分は、1つ以上のアドレッシング命令およびデータによって表わされ、前記装置は、
入力ラインと、
前記小さい方のアドレッシング・ウインドウと符合するメモリーと、
前記入力ラインおよびメモリーに接続され、前記大きい方のアドレッシング・ウインドウを参照するアドレッシング命令およびデータを受け取り、前記小さい方のアドレッシング・ウインドウの内側のデータ部分を前記メモリーに書き込み、前記ガード・ゾーンの内側のデータ部分を廃棄するように構成されたメモリー・コントローラと、
を備えた装置。 - 少なくとも2段階の解像度を利用して画像領域を表示する方法であって、
縁によって境界が定められた多角形図を受け取るステップと、
多角形の一部分を繰り返し選択してレンダリングするステップであって、該部分はピクセルに対応する、ステップと、
前記多角形図の縁に基づいて第1データ構造の前記ピクセルを、塗りつぶされた、空白、または部分的に塗りつぶされたものとして表現するステップと、
塗りつぶされた、または空白のサブ・ピクセルのアレイによって第2データ構造の前記部分的に塗りつぶされたピクセルを表現し、前記多角形図の縁を規定するステップであって、前記アレイは少なくとも3×3のサブ・ピクセルを含む、ステップと、
を含む方法。 - 請求項35記載の方法において、前記アレイは更に少なくとも4×4のサブ・ピクセルを含む方法。
- 請求項35記載の方法において、前記アレイは更に少なくとも8×8のサブ・ピクセルを含む方法。
- 請求項37記載の方法において、前記多角形は四角形である方法。
- 請求項38記載の方法において、前記四角形は凸状である方法。
- 請求項38記載の方法において、前記四角形の1辺の長さはゼロの場合もある方法。
- 請求項37記載の方法において、前記多角形は台形である方法。
- 請求項41記載の方法において、前記台形の1辺の長さはゼロの場合もある方法。
- 請求項37記載の方法であって、更に、前記塗りつぶされたピクセルおよび空白のピクセルを、塗りつぶされたまたは空であると表現するステップを含む方法。
- 請求項37記載の方法であって、更に、前記ピクセルを2ビットで、塗りつぶされた、空の、または部分的に塗りつぶされたとして表現するステップを含む方法。
- 請求項37記載の方法において、更に、前記アレイ内の塗りつぶされたまたは空白のサブ・ピクセルに対応する部分的に塗りつぶされたピクセルの要約を維持するステップを含む方法。
- 請求項45記載の方法において、前記サマリーは、前記アレイ内のサブ・ピクセルの総数である方法。
- 請求項45記載の方法において、前記サマリーは前記アレイ内のサブ・ピクセルの加重評価である方法。
- 少なくとも2段階の解像度を利用して画像内の領域を表示する方法であって、
縁によって境界が定められた多角形表現を受け取るステップと、
前記多角形の前記ピクセルに対応する多角形部分を繰り返し選択してレンダーするステップと、
前記多角形表現の縁に基づいて、前記ピクセルが塗りつぶされている、空白である、または部分的に塗りつぶされているとして分類するステップと、
輝度レベルが割り当てられたサブ・ピクセルのアレイによって部分的に塗りつぶされたピクセルを表現して前記多角形表現の縁を規定するステップにおいて、前記アレイは少なくとも3×3のサブ・ピクセルを含む、ステップと、
を含む方法。 - 請求項48記載の方法において、前記アレイは更に少なくとも4×4のサブ・ピクセルを含む方法。
- 請求項48記載の方法において、前記アレイは更に少なくとも8×8のサブ・ピクセルを含む方法。
- 請求項50記載の方法において、前記多角形は四辺形である方法。
- 請求項51記載の方法において、前記四辺形は凸状である方法。
- 請求項51記載の方法において、前記四辺形の1辺の長さはゼロの場合もある方法。
- 請求項50記載の方法において、前記多角形は台形である方法。
- 請求項54記載の方法において、前記台形の1辺の長さはゼロの場合もある方法。
- 請求項50記載の方法であって、更に、前記塗りつぶされたまたは空白のピクセルをオンまたはオフとして表現するステップを含む方法。
- 請求項50記載の方法であって、更に、前記ピクセルを塗りつぶされた、空白の、または部分的に塗りつぶされたものとして2ビットで表現するステップを含む方法。
- 請求項50記載の方法であって、更に、前記アレイ内のサブ・ピクセルの輝度レベルに対応する部分的に塗りつぶされたピクセルのサマリーを維持するステップを含む方法。
- 請求項58記載の方法において、前記サマリーは、前記サブ・ピクセル輝度レベルの加算である方法。
- 請求項58記載の方法において、前記サマリーは前記サブ・ピクセル輝度レベルの加重評価である方法。
- 2段階の解像度を利用して少なくとも1つ縁を有する領域を表現するデータ構造であって、
少なくとも1つのメモリーと、
前記メモリーに格納され、前記ピクセルを塗りつぶされた、空白の、または部分的に塗りつぶされたものとして表現する、少なくとも1つのピクセル・マップと、
前記メモリーに格納され、前記ピクセル・マップに対応し、塗りつぶされたまたは空であるサブ・ピクセルのアレイによって、部分的に塗りつぶされたピクセルを表現し、前記領域の縁を規定する少なくとも1つのサブ・ピクセル・アレイであって、少なくとも3×3のサブ・ピクセルを含み、塗りつぶされたまたは空白のピクセルをサブ・ピクセル値によって表現しない少なくとも1つのサブ・ピクセル・アレイと、
を含むデータ構造。 - 請求項61記載のデータ構造において、前記アレイは更に少なくとも4×4のサブ・ピクセルを含むデータ構造。
- 請求項61記載のデータ構造において、前記アレイは更に少なくとも8×8のサブ・ピクセルを含むデータ構造。
- 請求項63記載の方法において、前記領域は四角形である方法。
- 請求項64記載の方法において、前記四角形は凸状である方法。
- 請求項64記載の方法において、前記四角形の1つの辺の長さはゼロの場合もある方法。
- 請求項63記載の方法において、前記領域は台形である方法。
- 請求項67記載の方法において、前記台形の1つの辺の長さはゼロの場合もある方法。
- 請求項61記載のデータ構造であって、更に、アレイ内の塗りつぶされたまたは空白のサブ・ピクセルを要約するグレイ値のサマリー・マップを含むデータ構造。
- 請求項69記載のデータ構造において、前記サマリーは、前記アレイ内の前記サブ・ピクセルの総数であるデータ構造。
- 請求項69記載のデータ構造において、前記数量は、前記アレイ内のサブ・ピクセルの加重加算に基づいているデータ構造。
- 請求項61記載のデータ構造において、前記サブ・ピクセルは、オン、オフ、または前記領域の縁を規定する中間の輝度レベルを有するデータ構造。
- 請求項72記載のデータ構造であって、更に、前記アレイ内のサブ・ピクセルの輝度レベルを要約するグレイ値サマリー・マップを含むデータ構造。
- 請求項73記載のデータ構造において、前記サマリーは、前記アレイ内の前記サブ・ピクセルの前記輝度レベルの加算である方法。
- 請求項73記載のデータ構造において、前記サマリーは、前記アレイ内のサブ・ピクセルの前記輝度レベルの加重加算であるデータ構造。
- 請求項61記載のデータ構造において、前記ピクセル・マップおよびサブ・ピクセル・アレイは、別々にアドレス指定可能なメモリーに格納されるデータ構造。
- 請求項61記載のデータ構造において、前記ピクセル・マップおよび前記グレイ値サマリー・マップは、前記サブ・ピクセル・アレイが格納された1つ以上のメモリーから別々にアドレス指定可能である1つ以上のメモリーに格納されるデータ構造。
- 請求項61記載のデータ構造において、前記領域の対向する縁によって境界が定められた部分に対応する複数の塗りつぶされたピクセルは塗りつぶされたピクセル総数によって表現されるデータ構造。
- 請求項62記載のデータ構造において、前記領域の対向する縁によって境界が定められた部分に対応する複数の塗りつぶされたピクセルは塗りつぶされたピクセル総数によって表現されるデータ構造。
- 請求項61記載のデータ構造において、特定のピクセルは、塗りつぶされた、空白の、または部分的に塗りつぶされたピクセルに対応する値を含む特定のメモリー位置によって表現されるデータ構造。
- 請求項62記載のデータ構造において、特定のピクセルは、塗りつぶされた、空白のまたは部分的に塗りつぶされたピクセルに対応する値を含む特定のメモリー位置によって表現されるデータ構造。
- 2段階の解像度を利用して少なくとも1つの台形を表現するデータ構造において、前記台形は、互いに且つ基準軸に対して平行な第1および第3の平行な縁を有し、また第2および第4の対向する縁を有し、前記データ構造は、
少なくとも1つのメモリーと、
前記メモリーに格納され、ピクセルを塗りつぶされたまたは空白として、あるいは平行の縁、または対向する縁として表現する少なくとも1つのピクセル・マップと、
前記メモリーに格納され、前記ピクセル・マップに対応し、前記平行な縁ピクセルおよび前記対向する縁ピクセルを塗りつぶされた又は空白のサブ・ピクセルのアレイによって表現する少なくとも1つのサブ・ピクセル・アレイであって、少なくとも3×3のサブ・ピクセルのフォーマットを含む、少なくとも1つのサブ・ピクセル・アレイと、
を含むデータ構造。 - 請求項82記載のデータ構造において、前記アレイは更に少なくとも1つの4×4のサブ・ピクセルを含むデータ構造。
- 請求項82記載のデータ構造において、前記アレイは更に少なくとも1つの8×8のサブ・ピクセルを含むデータ構造。
- 請求項82記載のデータ構造において、複数の第1または第3の平行な縁ピクセルは、サブ・ピクセルの1つのアレイによって表現されるデータ構造。
- 請求項82記載のデータ構造であって、更に、塗りつぶされたまたは空白の多数のサブ・ピクセルの総数を要約するグレイ値サマリー・マップを含むデータ構造。
- 請求項86記載のデータ構造において、前記数量は塗りつぶされたまたは空白のサブ・ピクセルの総数に基づいているデータ構造。
- 請求項86記載のデータ構造において、前記数量は塗りつぶされたまたは空白のサブ・ピクセルの加重加算に基づいているデータ構造。
- 請求項82記載のデータ構造において、前記サブ・ピクセルはオン、オフ、または前記領域の縁を規定する中輝度レベルを有するデータ構造。
- 請求項89記載のデータ構造において、前記数量は、塗りつぶされたまたは空白のサブ・ピクセルの加重加算に基づいているデータ構造。
- 請求項89記載のデータ構造において、前記数量は、塗りつぶされたまたは空白のサブ・ピクセルの加重加算に基づいているデータ構造。
- 請求項82記載のデータ構造において、前記ピクセル・マップおよび前記サブ・ピクセル・アレイは別々にアドレス指定可能なメモリーに格納されるデータ構造。
- 請求項82記載のデータ構造において、前記隣接する平行な縁ピクセルは前記同一のサブ・ピクセル・アレイによって表現されるデータ構造。
- 請求項82記載のデータ構造において、前記平行な縁の長さはゼロであることもあるデータ構造。
- 2段階の解像度を利用して、複数の縁を有する多角形を表現するグラフィック・データを送信するプロトコルであって、
ピクセル・アレイによって前記多角形の部分を表現するステップであって、当該ピクセルには塗りつぶされた、空白の、または部分的に塗りつぶされたピクセル値が割り当てられるステップと、
サブ・ピクセル・アレイによって前記部分的に塗りつぶされたピクセルを表現するステップであって、当該サブ・ピクセルには、前記縁を規定する塗りつぶされた、または空白のサブ・ピクセルの値が割り当てられ、前記アレイは少なくとも3×3のサブ・ピクセルを含む、ステップと、
少なくとも第1チャネルおよび独立した第2チャネルを用いて、前記ピクセル・アレイ表現および複数のサブ・ピクセル・アレイを送信するステップにおいて、前記第1チャネルは前記ピクセル・アレイ表現のために用いられ、前記第2チャネルは前記サブ・ピクセル・アレイのために用いられる、ステップと、
を含むプロトコル。 - 請求項95記載のプロトコルにおいて、前記サブ・ピクセル・アレイは更に少なくとも4×4のサブ・ピクセルを含むプロトコル。
- 請求項95記載のプロトコルにおいて、前記サブ・ピクセル・アレイは更に少なくとも8×8のサブ・ピクセルを含むプロトコル。
- 請求項95記載のプロトコルにおいて、前記ピクセル・アレイ表現はラン・レングス符号化されるプロトコル。
- 請求項95記載のプロトコルにおいて、
前記凸状多角形は台形であり、
前記台形は基軸と平行な第1および第3の平行な面を有し、更に、
前記第1又は第3の平行な辺に対応する部分的に塗りつぶされた複数のピクセルは単一のサブ・ピクセル・アレイによって表現される、
プロトコル。 - 請求項95記載のプロトコルであって、更に、前記アレイ内の塗りつぶされたまたは空白のサブ・ピクセルを要約するグレイ値サマリー・マップを含むプロトコル。
- 請求項100記載のデータ構造において、前記サマリーは、前記アレイ内のサブ・ピクセルの総数であるデータ構造。
- 請求項100記載のデータ構造において、前記サマリーは、前記アレイ内のサブ・ピクセルの加重評価に基づいているデータ構造。
- 請求項95記載のプロトコルにおいて、前記サブ・ピクセルは、オン、オフまたは前記凸状多角形の縁を規定する中間の輝度レベルを有するプロトコル。
- 請求項100記載のデータ構造において、前記数量は塗りつぶされたまたは空白のサブ・ピクセルの加重加算に基づいているデータ構造。
- 請求項100記載のデータ構造において、前記数量は塗りつぶされたまたは空白のサブ・ピクセルの総数に基づいているデータ構造。
- 請求項95記載のプロトコルにおいて、前記ピクセル・マップおよびサブ・ピクセル・アレイは別々にアドレス指定可能なメモリーに格納されるプロトコル。
- 多角形の縁の一部分に対応する多値ピクセルの値を計算する方法であって、
サブ・ピクセルのアレイを提供するステップと、
特定の向きの縁に対応する事前に計算されたサブ・ピクセル・バー・マップ・セットを提供するステップと、
前記事前に計算されたサブ・ピクセル・バー・マップを適用することにより、塗りつぶされたまたは空白のサブ・ピクセルによって前記多角形の縁の部分を表現するステップと、
ピクセルに対応するサブ・ピクセルのセットをスーパー・サンプリングし、塗りつぶされたかまたは空白のセット内のサブ・ピクセルの数に対応するピクセルに値を割り当てるステップと、
を含む方法。 - 請求項107記載の方法において、前記事前に計算されたサブ・ピクセル・バー・マップは、塗りつぶされたバーのアレイとして表現され、前記事前に計算されたサブ・ピクセル・バー・マップを適用するステップは、更に、オフセット値を前記縁の交点、および前記サブ・ピクセルのアレイによって表現された領域の境界に対応する塗りつぶされたバーに適用するステップを含む方法。
- 辺を有し、且つサブ・ピクセルに細分される領域の内側の多角形の縁を規定する方法であって、
前記多角形の縁の潜在的切片および向きに対応する事前に計算された複数のサブ・ピクセル・バー・マップに前記領域の辺を提供するステップを含み、
前記潜在的切片は、前記領域の縁に沿った離散的位置に限定され、
前記潜在的方向は、前記離散的位置を接続する方向に限定され、
前記多角形の縁の2つの切片を前記領域の縁によって判定するステップと、
前記多角形の縁の向きを判定するステップと、
前記2つの切片および向きの少なくとも1つに対応する事前に計算されたサブ・ピクセル・バー・マップの1つを適用するステップと、
を含む方法。 - 請求項109記載の方法であって、更に、前記事前に計算されたサブ・ピクセル・バー・マップの1つ以上が適用された1つ以上のサブ・ピクセル・セットをスーパー・サンプリングするステップを含む方法。
- 請求項109記載の方法において、前記第1領域は256個以下のサブ・ピクセルによって細分され、前記離散位置はサブ・ピクセル毎に65個以下の位置に限定される方法。
- 請求項109記載の方法において、前記領域は64個以下のサブ・ピクセルによって細分され、前記離散的位置はサブ・ピクセル毎に33個以下の位置に限定される方法。
- 請求項109記載の方法において、前記領域は32×16以下のサブ・ピクセルによって細分され、前記サブ・ピクセルの縁に沿った17個の離散的位置がある方法。
- 請求項109記載の方法において、前記領域は16×8以下のサブ・ピクセルによって細分され、前記サブ・ピクセルの縁に沿った9個の離散的位置がある方法。
- 請求項109記載の方法において、前記事前に計算されたサブ・ピクセル・バー・マップは約45度の範囲を形成する潜在的方向のセットに限定され、前記事前に計算されたサブ・ピクセル・バー・マップは約180度の範囲をカバーするように変換される方法。
- 請求項109記載の方法において、前記事前に計算されたサブ・ピクセル・バー・マップは、潜在的切片の1つから1つのピクセルの縁に沿った離散的位置の範囲にわたる約45度の範囲を形成する潜在的方向の組み合わせを含む方法。
- 請求項109記載の方法において、前記事前に計算されたサブ・ピクセル・バー・マップは、潜在的切片の1つから1つのピクセルの縁に沿った離散的位置の範囲にわたる約45度の範囲を形成する潜在的方向のセットに限定される方法。
- 請求項117記載の方法において、前記事前に計算されたバー・マップは約180度の潜在的向きの範囲をカバーするように変換される方法。
- 請求項109記載の方法において、前記第1辺および第2辺は向かい合う方法。
- 請求項109記載の方法において、前記第1辺および第2辺は隣接する方法。
- 辺を有し、サブ・ピクセルに細分される領域内の多角形の縁を規定する方法であって、
前記多角形の縁の潜在的切片および方向に対応する事前に計算された複数のサブ・ピクセル・バー・マップに前記領域を提供するステップを含み、
前記潜在的切片は前記領域の辺に沿った離散的位置に限定され、
前記潜在的方向は、前記離散的位置を接続する方向に限定され、
前記多角形の縁の2つの切片および前記多角形縁の延長部を前記長方形領域の縁によって判定するステップと、
前記多角形の縁の方向を判定するステップと、
前記2つの切片および方向の少なくとも1つに対応する前記事前に計算されたサブ・ピクセル・バー・マップの1つを適用するステップを、
を含む方法。 - サブ・ピクセルに細分される長方形領域内の多角形の縁を規定する方法であって、
前記多角形の縁の潜在的切片に対応する事前に計算された複数のサブ・ピクセル・バー・マップに前記長方形領域を提供するステップを含み、
前記潜在的切片は、前記長方形領域の縁に沿った離散的位置に限定され、
前記多角形の縁の2つの切片を前記長方形領域の縁によって判定するステップと、
前記2つの切片に基づいて事前に計算されたサブ・ピクセル・バー・マップの1つを適用するステップと、
を含む方法。 - サブ・ピクセルに細分される長方形領域内の多角形の縁を規定する方法であって、
前記多角形の縁の潜在的切片に対応する事前に計算された複数のサブ・ピクセル・バー・マップに長方形領域を提供するステップを含み、
前記潜在的切片は前記長方形領域の縁に沿った離散的位置に限定され、
前記多角形の縁の2つの切片および前記多角形の縁の延長部を前記長方形領域の縁によって判定するステップと、
前記2つの切片に対応する前記事前に計算されたサブ・ピクセル・バー・マップの1つを適用するステップと、
を含む方法。 - 請求項123記載の方法であって、更に、前記事前に計算されたサブ・ピクセル・バー・マップの1つ以上が適用されたサブ・ピクセルのセットの1つ以上をスーパー・サンプリングするステップを含む方法。
- 請求項123記載の方法において、前記長方形領域の2つの対向する縁は、64以下のサブ・ピクセルによって細分され、前記離散的位置は、サブ・ピクセル毎に33以下の位置に限定される方法。
- 請求項123記載の方法において、前記長方形領域は、32×16のサブ・ピクセルによって細分され、前記サブ・ピクセルの1つの縁に沿った17個の離散的位置がある方法。
- 請求項123記載の方法において、前記長方形領域は、32×16のサブ・ピクセルによって細分され、前記サブ・ピクセルの1つの縁に沿った9個の離散的位置がある方法。
- 請求項123記載の方法において、前記事前に計算されたサブ・ピクセル・バー・マップは、ほぼ45度の範囲を形成する離散的位置間の潜在的方向のセットに限定され、前記事前に計算されたサブ・ピクセル・バー・マップは、約180度の範囲をカバーするように変換される方法。
- 請求項123記載の方法において、前記事前に計算されたサブ・ピクセル・バー・マップは、約45度の範囲を形成する離散的位置間の潜在的方向と、1つのサブ・ピクセルの1つの縁に沿った離散的位置の範囲にわたる潜在的切片の1つとの組み合わせを含む方法。
- 請求項123記載の方法において、前記事前に計算されたサブ・ピクセル・マップは、約45度の範囲を形成する離散的位置間の潜在的方向と、1つのサブ・ピクセルの1つの縁に沿った離散的位置の範囲にわたる潜在的切片の1つとの組み合わせに限定される方法。
- 請求項130記載の方法において、前記事前に計算されたサブ・ピクセル・バー・マップは、約180度の潜在的方向の範囲をカバーするように変換される方法。
- 少なくとも第1および第2の縁を有しサブ・ピクセルに細分される領域と、交差する縁を表すサブ・ピクセル・バー・マップを選択する方法であって、
前記第1および第2の縁に沿った切片間のセグメントであって、前記領域の第1および第2領域を規定するセグメントを構築するステップを含み、
前記切片は前記領域の縁に沿った離散的位置に限定され、
前記第1領域を表すサブ・ピクセルの候補セットを形成するステップであって、前記セットのサブ・ピクセルは完全にまたは部分的に前記第1領域の内側にあるステップと、
前記候補サブセットの領域範囲と、前記第1領域の領域範囲との間の分散を判定するステップと、
前記候補サブセットを別のセグメントのサブ・ピクセル・バー・マップと結合することによって形成された隅を評価するステップと、
前記分散の判定および前記隅の評価に基づいて前記候補サブセットの間から選択を行うステップと、
前記選択されたサブセットをメモリーに格納するステップと、
を含む方法。 - 請求項132記載の方法であって、更に、
前記第1および第2の縁に沿った潜在的切片を規定するセグメント・セット方法を繰り返すステップと、
冗長サブセットを間引くステップと、
を含む方法。 - 請求項133記載の方法において、前記間引きステップは、サブセットの最大数を考慮に入れて、潜在的切片を規定するセグメント・セットを表す方法。
- 請求項133記載の方法において、前記間引きステップは、サブセットを用いることにより容認できる最大のエラーを考慮に入れて潜在的切片を規定するセグメントのセットを表す方法。
- ピクセルに対応するサブ・ピクセルのサブ・ピクセル・バー・マップを事前に計算し、多角形の縁部分を規定する方法であって、
ピクセル対の第1辺上のサブ・ピクセルの1つの縁に沿った多角形の縁に対応するラインの潜在的第1切片を提供するステップと、
前記第1辺に対向するピクセル対の第2辺に沿ったラインの潜在的第2の切片を提供するステップと、を含み、
前記潜在的第1および第2切片は離散的位置に限定され、
所定範囲の角度を跨ぐ前記第1の潜在的切片と第2の潜在的切片とを接続するセグメントを提供するステップを含み、
前記セグメントに対し、サブ・ピクセル・バー・マップを選択し、前記セグメントによって境界が設定された領域を規定し、
前記サブ・ピクセル・バー・マップの選択が考慮に入れられる、
方法。 - 請求項136記載の方法において、角度の範囲は約45度である方法。
- 請求項136記載の方法において、角度の範囲は約90度である方法。
- 請求項136記載の方法であって、更に、約180度の範囲にわたるラインの潜在的方向の範囲に前記サブ・ピクセル・マップを適用させるように変換を行うステップを含む方法。
- 請求項136記載の方法であって、更に、約360度の範囲にわたるラインの潜在的方向の範囲に前記サブ・ピクセル・マップを適用させるように変換を行うステップを含む方法。
- 請求項136記載の方法であって、更に、含む。
- 多角形の第1および第2縁の交点の隅に対応するピクセル値を計算する方法であって、
サブ・ピクセルの第1アレイおよびサブ・ピクセルの第2アレイを含むメモリーを提供するステップであって、第1および第2アレイは、いずれもピクセルに対応するステップと、
前記第1および第2の縁を第1および第2のラインに延長するステップと、
前記第1アレイのサブ・ピクセルを、前記第1ラインによって規定された第1の領域に対応する塗りつぶされた、または空白のサブ・ピクセルに設定するステップと、
前記第2アレイのサブ・ピクセルを、前記第2のラインによって規定された第2の領域に対応する塗りつぶされた、または空白のサブ・ピクセルに設定するステップと、
前記第1アレイおよび第2アレイの交点を計算するステップと、
前記計算された交点からピクセルに対応するサブ・ピクセル・セットをスーパー・サンプリングし、値を前記サブ・ピクセルに対応するピクセルに割り当てるステップと、
を含む方法。 - 請求項142記載の方法において、前記サブ・ピクセル・アレイは長方形に対応し、前記領域に対応する前記サブ・ピクセルを設定するステップは、更に、前記ラインの潜在的切片および潜在的方向に対応する事前に計算された複数のサブ・ピクセル・バー・マップに長方形を提供するステップを含む方法。
- 請求項143記載の方法において、前記潜在的切片は前記長方形の縁に沿った離散的位置に限定され、前記潜在的方向は前記離散的位置を接続する方向に限定される方法。
- 請求項143記載の方法において、前記長方形の2つの対向する縁は64以下のサブ・ピクセルによって細分され、前記離散的位置はサブ・ピクセル毎に33以下の位置に限定される方法。
- 請求項143記載の方法において、前記長方形は32×16のサブ・ピクセルに細分され、前記サブ・ピクセルの1つの縁に沿った17の離散的位置がある方法。
請求項143記載の方法において、前記長方形は16×8のサブ・ピクセルに細分され、前記サブ・ピクセルの1つの縁に沿った9つの離散的位置がある方法。 - マイクロミラー・アレイのセグメントをロードする方法であって、
平行して動作する複数のレンダリング・プロセッサを利用して複数の多角形をレンダリングするステップと、
前記レンダリングされた多角形に対応するディジタル値をバッファに書き込むステップであって、該バッファは前記複数のレンダリング・プロセッサに対応する複数の領域を有し、且つ複数のセグメントを有する、ステップと、
前記バッファ・セグメントの1つからのディジタル値を、アナログ出力を有するディジタル/アナログ・コンバータ・セットに繰り返し書き込むステップと、
前記アナログ出力を、前記マイクロミラー・アレイ・セグメントの間で繰り返し切り替えるステップと、
を含む方法。 - 請求項147記載の方法において、レンダリング・サイクルが前記レンダリング・プロセッサによって完了すると、前記複数のレンダリング・プロセッサからのディジタル値は待ち行列に入れられ、前記バッファ領域に書き込まれる方法。
- マイクロミラー・アレイのセグメントをロードする方法であって、
平行して動作する複数のレンダリング・プロセッサを利用して複数の多角形を表示するステップと、
前記レンダリングされた多角形に対応するディジタル値を、前記複数のレンダリング・プロセッサに対応する複数の領域を有し、且つ複数のセグメントを有する複数のバッファの第1バッファに書き込むステップと、
前記第1バッファのセグメントの1つからの前記ディジタル値を、アナログ出力を有するディジタル/アナログ・コンバータ・セットに繰り返し転送するステップと、
前記アナログ出力を前記マイクロミラー・アレイ・セグメントの間で繰り返し切り替えるステップと、を含み、
前記レンダリングおよび書き込みステップは第2バッファを利用して進められ、前記転送および切り替えステップは前記第1バッファを利用して進められる、
方法。 - 請求項149記載の方法において、前記複数のレンダリング・プロセッサからのディジタル値は、前記レンダリング・プロセッサによるレンダリング・サイクルが完了すると、待ち行列に入れられ、前記バッファ領域に書き込まれる方法。
- ラスター化された画像の幾何学図形の大きさを調整する方法において、前記図形はグレイ・スケール・ピクセルによって表される縁を有し、
少なくとも1つの大きさ調整パラメータを受け取るステップと、
前記ラスター化された画像を格納するメモリーにアクセスするステップと、
畳み込みカーネルを前記メモリー内のピクセル近傍に適用するステップであって、前記近傍の中央のピクセルは縁を含み、前記縁が前記ピクセル近傍に対して水平、垂直、または45度であると分類して前記縁の方向を判定するステップと、
前記ラスター化された画像の幾何学図形の配置は修正せず、近傍のピクセルのグレイ・スケール値を修正することによって前記推定された方向と整合するサイズ調整パラメータを適用するステップであって、
水平方向の縁に対しては、前記近傍の中央のピクセルの水平方行のグレイ値を縦方向に摺動させ、次に前記中央のピクセルから水平方向に塗りつぶすステップと、
縦方向の縁に対しては、前記近傍の中央のピクセルの縦方行のグレイ値を水平方向に摺動させ、次に前記中央のピクセルから縦方向に塗りつぶすステップと、
45度の縁に対しては、前記中央のピクセルのグレイ・スケール値を、前記中央のピクセルの縁と内側の隅との間の距離に変換し、前記調整パラメータを適用し、更に、修正を行った距離を前記中央のピクセルおよび近傍のピクセルのグレイ・スケール値に変換して戻すステップと、
を含む前記適用するステップ、
を含む方法。 - 請求項151記載の方法であって、
畳み込みカーネルを適用することによって前記図形の隅を検出するステップと、
前記検出した隅近傍のピクセルのグレイ値を修正することによって、前記検出された隅を前記図形から内側または外側に非等方的に移動させるステップと、
を含む方法。 - メモリーに格納されたグレイ・スケール画像の幾何学図形の幅を調整する方法であって、
グレイ・スケール画像の図形の縁を検出するステップであって、該縁はグレイ・スケール・ピクセルによって表される、ステップと、
前記検出された縁の方向を推定するステップと、
前記縁の方向を、少なくとも水平、垂直、および45度の方向を含む種類に分類するステップと、
前記検出された縁を、前記方向の分類に整合するように、前記図形から内側または外側に非等方的に移動させるステップと、
を含む方法。 - 請求項153に記載の方法において、前記検出および推定ステップは、前記縁を含むピクセルの近傍に少なくとも1つの畳み込みカーネルを適用するステップを含む方法。
- 請求項153に記載の方法において、前記水平および垂直方向への移動ステップは、
畳み込みカーネルにおける中央のピクセルの行または列を縦方向または横方向にそれぞれ移動させるステップと、引き続き、
前記畳み込みカーネルの中央のピクセルを横方向または縦方向にそれぞれ移動させるステップと、
を含む方法。 - 請求項153に記載の方法において、前記45度方向に移動させるステップは、
畳み込みカーネルの中央のピクセルの前記グレイ・スケール値を、前記縁と前記中央のピクセルの内側の隅との間の距離に変換するステップと、
前記検出された縁を、前記ピクセルの内側の隅から内側または外側に移動させるステップと、
修正の結果得られた距離を前記中央のピクセル、および近傍ピクセルのグレイ・スケール値に変換するステップと、
を含む方法。 - 請求項153に記載の方法であって、更に、
前記図形の隅を検出するステップと、
前記検出された隅を前記図形から内側または外側に非等方的に移動するステップと、
を含む方法。 - 高コントラスト層をマルチパス、段階的に工作片上に照射する際のエネルギー変動を補償する方法であって、
マルチパス照射における意図するエネルギー寄与パターンに対応する重複区域に工作片をマッピングするステップと、
前記工作片の領域にエネルギーを照射するステップと、
前記領域内の重複区域の領域に印加されたエネルギーを記録するステップと、
前記特定の重複区域に印加されたエネルギーの記録に基づいて、次の露光パスにおける前記領域の特定の重複区域への照射を調整するステップと、
を含む方法。 - 請求項158に記載の方法において、前記領域に印加されたエネルギーは、前記照射ステップ中に測定される方法。
- 請求項159に記載の方法において、前記印加されたエネルギーは、前記エネルギー源の出力を検知することによって測定される方法。
- 請求項159に記載の方法において、前記印加されたエネルギーは、前記工作片から散乱されたエネルギーを検知することによって測定される方法。
- 請求項158に記載の方法において、4つの露光パスを用いて、1つの領域内の少なくとも81個の重複区域が1度に照射される方法。
- 請求項158に記載の方法において、前記印加されたエネルギーは、マイクロミラー・アレイによってエネルギー源から前記工作片に少なくとも部分的に反射される方法。
- 請求項158に記載の方法において、前記印加されたエネルギーは、エネルギー源と前記工作片との間のLCDアレイによって濾過される方法。
- マイクロミラー・アレイにおける個々のマイクロミラー間の応答の違いを補償する方法であって、
マイクロミラー・アレイにおける個々のマイクロミラーと関係付けられた補償関数アレイを与え、前記補償関数が照明データ値を駆動電圧に転送するステップと、
個々のマイクロミラーに対し、前記個々のマイクロミラーに対応する前記補償関数を適用することによって照明データ値を駆動電圧に変換するステップと、
を含む方法。 - 請求項165に記載の方法であって、更に、前記マイクロミラー・アレイの新しい動作履歴に基づいて、複数の補償関数アレイから前記補償関数の1つのアレイを選択するステップを含む方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/954,721 US7302111B2 (en) | 2001-09-12 | 2001-09-12 | Graphics engine for high precision lithography |
PCT/SE2002/001609 WO2003023488A1 (en) | 2001-09-12 | 2002-09-09 | Graphics engine for high precision lithography |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005502909A true JP2005502909A (ja) | 2005-01-27 |
JP2005502909A5 JP2005502909A5 (ja) | 2005-12-22 |
Family
ID=25495835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003527490A Pending JP2005502909A (ja) | 2001-09-12 | 2002-09-09 | 高精度リソグラフィ用グラフィックス・エンジン |
Country Status (6)
Country | Link |
---|---|
US (3) | US7302111B2 (ja) |
EP (1) | EP1425623A1 (ja) |
JP (1) | JP2005502909A (ja) |
KR (6) | KR100800240B1 (ja) |
CN (11) | CN1854905A (ja) |
WO (1) | WO2003023488A1 (ja) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005300812A (ja) * | 2004-04-09 | 2005-10-27 | Pentax Corp | 描画装置 |
JP2005300807A (ja) * | 2004-04-09 | 2005-10-27 | Pentax Corp | 描画装置 |
JP2006245556A (ja) * | 2005-02-04 | 2006-09-14 | Fuji Photo Film Co Ltd | 描画装置及び描画方法 |
JP2007501430A (ja) * | 2003-08-04 | 2007-01-25 | マイクロニック レーザー システムズ アクチボラゲット | Psm位置調整方法及び装置 |
JP2007025394A (ja) * | 2005-07-19 | 2007-02-01 | Fujifilm Holdings Corp | パターン形成方法 |
JP2007025022A (ja) * | 2005-07-13 | 2007-02-01 | Hitachi Via Mechanics Ltd | 描画装置及びそれを搭載した露光装置 |
JP2007123800A (ja) * | 2005-03-25 | 2007-05-17 | Asml Netherlands Bv | リソグラフィ装置及びマスクレス・リソグラフィにおける倍率及び位置の動的修正を利用したデバイス製造方法 |
JP2007298981A (ja) * | 2006-04-12 | 2007-11-15 | Asml Netherlands Bv | 線量の均一性に向けてデータパスとslmとのインタフェースにおける量子化の影響を低減するために用いられる露光装置及びデバイス製造方法 |
JP2009529802A (ja) * | 2006-03-10 | 2009-08-20 | マッパー・リソグラフィー・アイピー・ビー.ブイ. | リソグラフィシステムおよび投影方法 |
US7773287B2 (en) | 2005-06-30 | 2010-08-10 | Asml Holding N.V. | Method and system for maskless lithography real-time pattern rasterization and using computationally coupled mirrors to achieve optimum feature representation |
JP2012511168A (ja) * | 2008-12-05 | 2012-05-17 | マイクロニック マイデータ アーベー | マイクロリソグラフ印刷における勾配を援用した画像再サンプリング |
JP2019165199A (ja) * | 2018-01-09 | 2019-09-26 | アイエムエス ナノファブリケーション ゲーエムベーハー | 非線形的線量およびブラー(ボケ)に依存するエッジ配置の補正 |
JP7379510B2 (ja) | 2019-02-19 | 2023-11-14 | アプライド マテリアルズ インコーポレイテッド | マスクレスリソグラフィのためのハーフトーンスキーム |
JP7488827B2 (ja) | 2019-02-19 | 2024-05-22 | アプライド マテリアルズ インコーポレイテッド | マスクレスリソグラフィのためのハーフトーンスキーム |
Families Citing this family (115)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6833908B2 (en) * | 2001-03-23 | 2004-12-21 | Ultratech, Inc. | Computer architecture for and method of high-resolution imaging using a low-resolution image transducer |
US7302111B2 (en) * | 2001-09-12 | 2007-11-27 | Micronic Laser Systems A.B. | Graphics engine for high precision lithography |
US20030233630A1 (en) * | 2001-12-14 | 2003-12-18 | Torbjorn Sandstrom | Methods and systems for process control of corner feature embellishment |
JP2003315973A (ja) * | 2002-04-19 | 2003-11-06 | Fujitsu Ltd | マスク設計装置、マスク設計方法、プログラムおよび半導体装置製造方法 |
US7451410B2 (en) * | 2002-05-17 | 2008-11-11 | Pixel Velocity Inc. | Stackable motherboard and related sensor systems |
US7073158B2 (en) * | 2002-05-17 | 2006-07-04 | Pixel Velocity, Inc. | Automated system for designing and developing field programmable gate arrays |
US7302672B2 (en) * | 2002-07-12 | 2007-11-27 | Cadence Design Systems, Inc. | Method and system for context-specific mask writing |
US7249342B2 (en) * | 2002-07-12 | 2007-07-24 | Cadence Design Systems, Inc. | Method and system for context-specific mask writing |
JP2006502422A (ja) * | 2002-07-12 | 2006-01-19 | ケイデンス デザイン システムズ インコーポレイテッド | コンテクスト特定型のマスク検査のための方法及びシステム |
JP4375523B2 (ja) * | 2002-12-20 | 2009-12-02 | 富士ゼロックス株式会社 | 画像処理装置、画像処理方法、画像処理プログラム、印刷物検査装置、印刷物検査方法、印刷物検査プログラム |
US6998217B2 (en) * | 2003-01-06 | 2006-02-14 | Applied Materials, Inc. | Critical dimension edge placement and slope enhancement with central pixel dose addition and modulated inner pixels |
SE0300516D0 (sv) * | 2003-02-28 | 2003-02-28 | Micronic Laser Systems Ab | SLM direct writer |
US7474985B1 (en) * | 2003-04-25 | 2009-01-06 | The United States Of America As Represented By The Secretary Of The Navy | Method and system for detecting changes in data |
CA2526467C (en) | 2003-05-20 | 2015-03-03 | Kagutech Ltd. | Digital backplane recursive feedback control |
US20040239901A1 (en) * | 2003-05-29 | 2004-12-02 | Asml Holding N.V. | System and method for producing gray scaling using multiple spatial light modulators in a maskless lithography system |
US7024638B2 (en) * | 2003-07-14 | 2006-04-04 | Cadence Design Systems, Inc. | Method for creating patterns for producing integrated circuits |
JP2007521500A (ja) * | 2003-07-14 | 2007-08-02 | カデンス デザイン システムズ, インコーポレイテッド | 集積回路を製造するためのパターンを作成する方法 |
US7186486B2 (en) * | 2003-08-04 | 2007-03-06 | Micronic Laser Systems Ab | Method to pattern a substrate |
US7410736B2 (en) | 2003-09-30 | 2008-08-12 | Asml Holding N.V. | Methods and systems to compensate for a stitching disturbance of a printed pattern in a maskless lithography system not utilizing overlap of the exposure zones |
US6876440B1 (en) | 2003-09-30 | 2005-04-05 | Asml Holding N.V. | Methods and systems to compensate for a stitching disturbance of a printed pattern in a maskless lithography system utilizing overlap of exposure zones with attenuation of the aerial image in the overlap region |
US7433535B2 (en) * | 2003-09-30 | 2008-10-07 | Hewlett-Packard Development Company, L.P. | Enhancing text-like edges in digital images |
US7023526B2 (en) | 2003-09-30 | 2006-04-04 | Asml Holding N.V. | Methods and systems to compensate for a stitching disturbance of a printed pattern in a maskless lithography system utilizing overlap without an explicit attenuation |
US7003758B2 (en) | 2003-10-07 | 2006-02-21 | Brion Technologies, Inc. | System and method for lithography simulation |
US7842926B2 (en) | 2003-11-12 | 2010-11-30 | Micronic Laser Systems Ab | Method and device for correcting SLM stamp image imperfections |
US7153616B2 (en) * | 2004-03-31 | 2006-12-26 | Asml Holding N.V. | System and method for verifying and controlling the performance of a maskless lithography tool |
US7573599B2 (en) * | 2004-05-20 | 2009-08-11 | Primax Electronics Ltd. | Method of printing geometric figures |
JP4221594B2 (ja) * | 2004-05-25 | 2009-02-12 | セイコーエプソン株式会社 | 色情報取得装置 |
US7739577B2 (en) * | 2004-06-03 | 2010-06-15 | Inphase Technologies | Data protection system |
US7529421B2 (en) * | 2004-07-01 | 2009-05-05 | Applied Materials, Inc. | Optical proximity correction in raster scan printing based on corner matching templates |
US7407252B2 (en) * | 2004-07-01 | 2008-08-05 | Applied Materials, Inc. | Area based optical proximity correction in raster scan printing |
US7102733B2 (en) * | 2004-08-13 | 2006-09-05 | Asml Holding N.V. | System and method to compensate for static and dynamic misalignments and deformations in a maskless lithography tool |
US7713667B2 (en) | 2004-11-30 | 2010-05-11 | Asml Holding N.V. | System and method for generating pattern data used to control a pattern generator |
US7317510B2 (en) | 2004-12-27 | 2008-01-08 | Asml Netherlands B.V. | Lithographic apparatus and device manufacturing method |
US7403865B2 (en) * | 2004-12-28 | 2008-07-22 | Asml Netherlands B.V. | System and method for fault indication on a substrate in maskless applications |
US7676782B2 (en) * | 2004-12-29 | 2010-03-09 | Dhabalendu Samanta | Efficient method for mapping a logic design on field programmable gate arrays |
EP1696273B1 (en) * | 2005-02-23 | 2008-08-06 | ASML MaskTools B.V. | Method and apparatus for optimising illumination for full-chip layer |
US7495679B2 (en) * | 2005-08-02 | 2009-02-24 | Kolorific, Inc. | Method and system for automatically calibrating a color display |
US7528932B2 (en) * | 2005-12-21 | 2009-05-05 | Micronic Laser Systems Ab | SLM direct writer |
DE102006019963B4 (de) * | 2006-04-28 | 2023-12-07 | Envisiontec Gmbh | Vorrichtung und Verfahren zur Herstellung eines dreidimensionalen Objekts durch schichtweises Verfestigen eines unter Einwirkung von elektromagnetischer Strahlung verfestigbaren Materials mittels Maskenbelichtung |
US7751627B2 (en) * | 2006-07-31 | 2010-07-06 | Hewlett-Packard Development Company, L.P. | Image dominant line determination and use |
US20080036864A1 (en) * | 2006-08-09 | 2008-02-14 | Mccubbrey David | System and method for capturing and transmitting image data streams |
US20080151049A1 (en) * | 2006-12-14 | 2008-06-26 | Mccubbrey David L | Gaming surveillance system and method of extracting metadata from multiple synchronized cameras |
US7859537B2 (en) * | 2007-01-23 | 2010-12-28 | Microsoft Corporation | Evaluation of self-intersecting vector graphics objects via planar map profiles |
US8587661B2 (en) * | 2007-02-21 | 2013-11-19 | Pixel Velocity, Inc. | Scalable system for wide area surveillance |
US7903104B2 (en) * | 2007-03-21 | 2011-03-08 | Spatial Photonics, Inc. | Spatial modulator display system using two memories and display time slices having differing times |
US8009270B2 (en) * | 2007-03-22 | 2011-08-30 | Asml Netherlands B.V. | Uniform background radiation in maskless lithography |
US20090086023A1 (en) * | 2007-07-18 | 2009-04-02 | Mccubbrey David L | Sensor system including a configuration of the sensor as a virtual sensor device |
US7707539B2 (en) * | 2007-09-28 | 2010-04-27 | Synopsys, Inc. | Facilitating process model accuracy by modeling mask corner rounding effects |
WO2009070142A1 (en) * | 2007-11-30 | 2009-06-04 | Hewlett-Packard Development Company, L.P. | Method and system for measuring text-rendering quality |
KR101408183B1 (ko) * | 2007-12-21 | 2014-06-19 | 오렌지 | 적응적 윈도를 갖는 변환 기반 코딩/디코딩 |
TWI388202B (zh) * | 2008-08-25 | 2013-03-01 | Chunghwa Picture Tubes Ltd | 影像灰階分佈之統計裝置及其方法 |
US20110187924A1 (en) * | 2008-09-04 | 2011-08-04 | Japan Science And Technology Agency | Frame rate conversion device, corresponding point estimation device, corresponding point estimation method and corresponding point estimation program |
US8253923B1 (en) | 2008-09-23 | 2012-08-28 | Pinebrook Imaging Technology, Ltd. | Optical imaging writer system |
US9025136B2 (en) * | 2008-09-23 | 2015-05-05 | Applied Materials, Inc. | System and method for manufacturing three dimensional integrated circuits |
US8670106B2 (en) | 2008-09-23 | 2014-03-11 | Pinebrook Imaging, Inc. | Optical imaging writer system |
US9405203B2 (en) | 2008-09-23 | 2016-08-02 | Applied Materials, Inc. | Pixel blending for multiple charged-particle beam lithography |
US8065638B2 (en) * | 2009-01-30 | 2011-11-22 | Synopsys, Inc. | Incremental concurrent processing for efficient computation of high-volume layout data |
US8893061B2 (en) * | 2009-01-30 | 2014-11-18 | Synopsys, Inc. | Incremental concurrent processing for efficient computation of high-volume layout data |
JP5506272B2 (ja) | 2009-07-31 | 2014-05-28 | 富士フイルム株式会社 | 画像処理装置及び方法、データ処理装置及び方法、並びにプログラム |
JP5178662B2 (ja) * | 2009-07-31 | 2013-04-10 | 富士フイルム株式会社 | 画像処理装置及び方法、データ処理装置及び方法、並びにプログラム |
EP2499827A4 (en) * | 2009-11-13 | 2018-01-03 | Pixel Velocity, Inc. | Method for tracking an object through an environment across multiple cameras |
US8539395B2 (en) | 2010-03-05 | 2013-09-17 | Micronic Laser Systems Ab | Method and apparatus for merging multiple geometrical pixel images and generating a single modulator pixel image |
CN101799635A (zh) * | 2010-03-16 | 2010-08-11 | 芯硕半导体(中国)有限公司 | 一种无掩模光刻技术的曝光方法 |
KR101011463B1 (ko) * | 2010-09-10 | 2011-01-27 | 문혜숙 | 구이기 |
JP5803184B2 (ja) * | 2010-11-19 | 2015-11-04 | 株式会社リコー | 画像投影装置、メモリアクセス方法 |
KR101042970B1 (ko) * | 2010-12-20 | 2011-06-20 | 문혜숙 | 구이기 |
NL2007918A (en) * | 2010-12-20 | 2012-06-21 | Asml Netherlands Bv | Method of controlling a patterning device in a lithographic apparatus, device manufacturing method and lithographic apparatus. |
CN102184515B (zh) * | 2011-04-13 | 2013-02-06 | 合肥芯硕半导体有限公司 | 一种在fpga中实现梯形图填充的方法 |
CN102354327B (zh) * | 2011-05-31 | 2014-12-10 | 合肥芯硕半导体有限公司 | 一种扫描式无掩膜光刻机的数据处理方法 |
JP2013091222A (ja) * | 2011-10-25 | 2013-05-16 | Canon Inc | 画像形成処理装置及び画像処理方法 |
US9197713B2 (en) * | 2011-12-09 | 2015-11-24 | Google Inc. | Method and apparatus for pre-fetching remote resources for subsequent display on a mobile computing device |
ES2538412T3 (es) * | 2011-12-22 | 2015-06-19 | Airbus Operations S.L. | Sistemas paralelos heterogéneos para acelerar simulaciones basadas en métodos numéricos para mallas discretas |
WO2013108560A1 (ja) | 2012-01-18 | 2013-07-25 | 株式会社ニコン | 空間光変調器の駆動方法、露光用パターンの生成方法、並びに露光方法及び装置 |
JP6128744B2 (ja) * | 2012-04-04 | 2017-05-17 | キヤノン株式会社 | 描画装置、描画方法、および、物品の製造方法 |
US8745550B2 (en) * | 2012-07-09 | 2014-06-03 | Taiwan Semiconductor Manufacturing Company, Ltd. | Fracture aware OPC |
JP6557943B2 (ja) * | 2014-01-15 | 2019-08-14 | オムロン株式会社 | 画像照合装置、画像センサ、処理システム、画像照合方法 |
EP2913838B1 (en) | 2014-02-28 | 2018-09-19 | IMS Nanofabrication GmbH | Compensation of defective beamlets in a charged-particle multi-beam exposure tool |
US9570195B2 (en) * | 2014-02-28 | 2017-02-14 | Texas Instruments Incorporated | On chip characterization of timing parameters for memory ports |
CN103777474B (zh) * | 2014-03-04 | 2016-03-23 | 苏州大学 | 一种并行激光直写系统及光刻方法 |
US9443699B2 (en) | 2014-04-25 | 2016-09-13 | Ims Nanofabrication Ag | Multi-beam tool for cutting patterns |
EP2950325B1 (en) | 2014-05-30 | 2018-11-28 | IMS Nanofabrication GmbH | Compensation of dose inhomogeneity using overlapping exposure spots |
JP6892214B2 (ja) * | 2014-07-10 | 2021-06-23 | アイエムエス ナノファブリケーション ゲーエムベーハー | 畳み込みカーネルを使用する粒子ビーム描画機のカスタマイズ化 |
CN104240195B (zh) * | 2014-08-20 | 2017-01-18 | 京东方科技集团股份有限公司 | 一种基于虚拟算法的模型建立方法和系统 |
US9568907B2 (en) | 2014-09-05 | 2017-02-14 | Ims Nanofabrication Ag | Correction of short-range dislocations in a multi-beam writer |
JP6395219B2 (ja) | 2015-01-27 | 2018-09-26 | 日本電気株式会社 | ネットワークシステム |
KR102404639B1 (ko) * | 2015-02-02 | 2022-06-03 | 삼성전자주식회사 | 전자 빔 노광 방법 및 그를 포함하는 기판 제조 방법 |
CN105989589B (zh) * | 2015-02-09 | 2019-01-18 | 上海微电子装备(集团)股份有限公司 | 一种掩模图形灰度化方法 |
US9653263B2 (en) | 2015-03-17 | 2017-05-16 | Ims Nanofabrication Ag | Multi-beam writing of pattern areas of relaxed critical dimension |
EP3096342B1 (en) | 2015-03-18 | 2017-09-20 | IMS Nanofabrication AG | Bi-directional double-pass multi-beam writing |
US10410831B2 (en) | 2015-05-12 | 2019-09-10 | Ims Nanofabrication Gmbh | Multi-beam writing using inclined exposure stripes |
CN105204298B (zh) * | 2015-09-30 | 2017-06-30 | 合肥芯碁微电子装备有限公司 | 一种用于直写式光刻机图形发生器的凹四边形fpga硬件填充方法 |
JP6679933B2 (ja) * | 2016-01-05 | 2020-04-15 | 株式会社ニューフレアテクノロジー | 描画データ作成方法 |
JP6839720B2 (ja) * | 2016-04-22 | 2021-03-10 | エーエスエムエル ネザーランズ ビー.ブイ. | スタック差の決定及びスタック差を用いた補正 |
US10325756B2 (en) | 2016-06-13 | 2019-06-18 | Ims Nanofabrication Gmbh | Method for compensating pattern placement errors caused by variation of pattern exposure density in a multi-beam writer |
US10262393B2 (en) * | 2016-12-29 | 2019-04-16 | Intel Corporation | Multi-sample anti-aliasing (MSAA) memory bandwidth reduction for sparse sample per pixel utilization |
US10325757B2 (en) | 2017-01-27 | 2019-06-18 | Ims Nanofabrication Gmbh | Advanced dose-level quantization of multibeam-writers |
US9908324B1 (en) | 2017-02-27 | 2018-03-06 | Eastman Kodak Company | Printing with overlapping printheads |
US10489877B2 (en) * | 2017-04-24 | 2019-11-26 | Intel Corporation | Compute optimization mechanism |
US10522329B2 (en) | 2017-08-25 | 2019-12-31 | Ims Nanofabrication Gmbh | Dose-related feature reshaping in an exposure pattern to be exposed in a multi beam writing apparatus |
US11569064B2 (en) | 2017-09-18 | 2023-01-31 | Ims Nanofabrication Gmbh | Method for irradiating a target using restricted placement grids |
US10651010B2 (en) * | 2018-01-09 | 2020-05-12 | Ims Nanofabrication Gmbh | Non-linear dose- and blur-dependent edge placement correction |
US10840054B2 (en) | 2018-01-30 | 2020-11-17 | Ims Nanofabrication Gmbh | Charged-particle source and method for cleaning a charged-particle source using back-sputtering |
KR102160092B1 (ko) * | 2018-09-11 | 2020-09-25 | 스노우 주식회사 | 레이어드 마스크와 룩업테이블을 이용한 이미지 처리 방법 및 시스템 |
US11099482B2 (en) | 2019-05-03 | 2021-08-24 | Ims Nanofabrication Gmbh | Adapting the duration of exposure slots in multi-beam writers |
TWI730332B (zh) * | 2019-05-27 | 2021-06-11 | 瑞昱半導體股份有限公司 | 處理系統與控制方法 |
CN112015258B (zh) * | 2019-05-31 | 2022-07-15 | 瑞昱半导体股份有限公司 | 处理系统与控制方法 |
KR20210132599A (ko) | 2020-04-24 | 2021-11-04 | 아이엠에스 나노패브릭케이션 게엠베하 | 대전 입자 소스 |
GB2595696B (en) * | 2020-06-04 | 2022-12-28 | Envisics Ltd | Forming a hologram of a target image for projection using data streaming |
DE102020120906A1 (de) * | 2020-08-07 | 2022-02-10 | Infineon Technologies Ag | Verfahren zum Bestimmen eines Torsionswinkels eines Spiegelkörpers einer MEMS-Vorrichtung |
US20230280510A1 (en) * | 2020-09-03 | 2023-09-07 | Nil Technology Aps | Diffractive optical elements and master tools for producing the diffractive optical elements |
CN112508903B (zh) * | 2020-12-01 | 2022-04-19 | 电子科技大学 | 一种卫星望远镜镜片表面疵病轮廓检测方法 |
US11893741B2 (en) * | 2021-06-07 | 2024-02-06 | Fujifilm Healthcare Americas Corporation | Subpixel-based image region of interest rendering |
CN113654461A (zh) * | 2021-08-24 | 2021-11-16 | 凌云光技术股份有限公司 | 一种去除深度图像中局外点的圆锥拟合方法及装置 |
CN116758847A (zh) * | 2023-08-16 | 2023-09-15 | 南京国兆光电科技有限公司 | 一种双基色像素排布结构及显示装置 |
CN117572632B (zh) * | 2024-01-17 | 2024-04-02 | 中国科学院长春光学精密机械与物理研究所 | 一种适用于金字塔波前传感器的离散调制方法、系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07134776A (ja) * | 1993-05-28 | 1995-05-23 | Nippon Yunishisu Kk | 画像レンダリング方法とその装置 |
US5594854A (en) * | 1995-03-24 | 1997-01-14 | 3Dlabs Inc. Ltd. | Graphics subsystem with coarse subpixel correction |
WO1999045441A1 (en) * | 1998-03-02 | 1999-09-10 | Micronic Laser Systems Ab | Improved modulator design for pattern generator |
WO2000049577A1 (en) * | 1999-02-17 | 2000-08-24 | Sun Microsystems, Inc. | A graphics system configured to perform parallel sample to pixel calculation |
WO2000049574A1 (en) * | 1999-02-17 | 2000-08-24 | Sun Microsystems, Inc. | Graphics system which renders samples into a sample buffer and generates pixels in response to stored samples at different rates |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3644047A (en) * | 1969-05-08 | 1972-02-22 | Gc Optronics Inc | Apparatus and method of simultaneously inspecting a plurality of surfaces of a body by holographic interferometry |
US4425417A (en) * | 1979-09-17 | 1984-01-10 | Ingalls Marjorie D | Method for preparation of a color proof from a set of color separation films, masks or the like |
US4758965A (en) * | 1985-10-09 | 1988-07-19 | International Business Machines Corporation | Polygon fill processor |
US4879605A (en) | 1988-02-29 | 1989-11-07 | Ateq Corporation | Rasterization system utilizing an overlay of bit-mapped low address resolution databases |
US4945351A (en) | 1988-05-23 | 1990-07-31 | Hewlett-Packard Company | Technique for optimizing grayscale character displays |
US4908780A (en) | 1988-10-14 | 1990-03-13 | Sun Microsystems, Inc. | Anti-aliasing raster operations utilizing sub-pixel crossing information to control pixel shading |
US5103101A (en) | 1991-03-04 | 1992-04-07 | Etec Systems, Inc. | Multiphase printing for E-beam lithography |
US5278949A (en) | 1991-03-12 | 1994-01-11 | Hewlett-Packard Company | Polygon renderer which determines the coordinates of polygon edges to sub-pixel resolution in the X,Y and Z coordinates directions |
WO1993007580A1 (fr) * | 1991-10-02 | 1993-04-15 | Fujitsu Limited | Procede pour determiner la direction dans une region locale d'un segment de profil et procede pour determiner les lignes et les angles |
EP0562424B1 (en) | 1992-03-25 | 1997-05-28 | Texas Instruments Incorporated | Embedded optical calibration system |
US5673376A (en) | 1992-05-19 | 1997-09-30 | Eastman Kodak Company | Method and apparatus for graphically generating images of arbitrary size |
JPH06222747A (ja) * | 1992-10-08 | 1994-08-12 | Fujitsu Isotec Ltd | フォント圧縮装置及びフォント復元装置 |
CA2148121A1 (en) | 1992-11-02 | 1994-05-11 | Robin L. Teitzel | Rasterizer for a pattern generation apparatus |
DE4316847A1 (de) * | 1993-05-19 | 1994-11-24 | Philips Patentverwaltung | Verfahren zum Entzerren von Röntgenaufnahmen und Anordnung zur Durchführung des Verfahrens |
US5477272A (en) * | 1993-07-22 | 1995-12-19 | Gte Laboratories Incorporated | Variable-block size multi-resolution motion estimation scheme for pyramid coding |
CA2128858A1 (en) * | 1993-10-28 | 1995-04-29 | Douglas N. Curry | Two dimensional linear interpolation with slope output for a hyperacuity printer |
JP3313221B2 (ja) * | 1993-12-28 | 2002-08-12 | 松下電器産業株式会社 | 画像生成方法及び画像生成装置 |
US5666150A (en) * | 1993-12-29 | 1997-09-09 | Eastman Kodak Company | Non-uniformity correction for LED printhead in electrophotographic gray scale printing |
US5589851A (en) * | 1994-03-18 | 1996-12-31 | Ductus Incorporated | Multi-level to bi-level raster shape converter |
US5504504A (en) | 1994-07-13 | 1996-04-02 | Texas Instruments Incorporated | Method of reducing the visual impact of defects present in a spatial light modulator display |
US5684510A (en) | 1994-07-19 | 1997-11-04 | Microsoft Corporation | Method of font rendering employing grayscale processing of grid fitted fonts |
US6072510A (en) * | 1994-11-23 | 2000-06-06 | Compaq Computer Corporation | Anti-aliasing apparatus and method using pixel subset analysis and center pixel correction including specialized sample window |
US5801708A (en) * | 1995-06-06 | 1998-09-01 | Hewlett-Packard Company | MIP map texture storage by dividing and allocating among multiple blocks |
JPH0927028A (ja) * | 1995-07-07 | 1997-01-28 | Dainippon Screen Mfg Co Ltd | 多階調画像の修正装置 |
US5754618A (en) * | 1995-12-22 | 1998-05-19 | Matsushita Electric Industrial | Image processing apparatus and image processing method for favorably enhancing continuous boundaries which are affected by noise |
US5701365A (en) | 1996-06-21 | 1997-12-23 | Xerox Corporation | Subpixel character positioning with antialiasing with grey masking techniques |
US6339479B1 (en) * | 1996-11-22 | 2002-01-15 | Sony Corporation | Video processing apparatus for processing pixel for generating high-picture-quality image, method thereof, and video printer to which they are applied |
US6148117A (en) | 1996-12-27 | 2000-11-14 | Hewlett-Packard Company | Image processing system with alterable local convolution kernel |
US6188427B1 (en) | 1997-04-23 | 2001-02-13 | Texas Instruments Incorporated | Illumination system having an intensity calibration system |
US6201545B1 (en) | 1997-09-23 | 2001-03-13 | Ati Technologies, Inc. | Method and apparatus for generating sub pixel masks in a three dimensional graphic processing system |
JP3397101B2 (ja) | 1997-10-29 | 2003-04-14 | 株式会社日立製作所 | 欠陥検査方法および装置 |
US6611241B1 (en) * | 1997-12-02 | 2003-08-26 | Sarnoff Corporation | Modular display system |
US6850236B2 (en) * | 1998-02-17 | 2005-02-01 | Sun Microsystems, Inc. | Dynamically adjusting a sample-to-pixel filter in response to user input and/or sensor input |
EP1114395A1 (en) * | 1998-06-19 | 2001-07-11 | Equator Technologies, Inc. | Decoding an encoded image having a first resolution directly into a decoded image having a second resolution |
US6542171B1 (en) * | 1998-07-08 | 2003-04-01 | Nippon Telegraph Amd Telephone Corporation | Scheme for graphical user interface using polygonal-shaped slider |
US6978045B1 (en) * | 1998-10-02 | 2005-12-20 | Minolta Co., Ltd. | Image-processing apparatus |
KR100324879B1 (ko) * | 1999-02-01 | 2002-02-28 | 마찌다 가쯔히꼬 | 문자 표시 장치, 문자 표시 방법 및 기록 매체 |
AUPQ377599A0 (en) * | 1999-10-29 | 1999-11-25 | Canon Kabushiki Kaisha | Colour clamping |
JP3485052B2 (ja) * | 1999-12-16 | 2004-01-13 | 日本電気株式会社 | 参照画像作成方法、パターン検査装置及び参照画像作成プログラムを記録した記録媒体 |
US6879416B2 (en) * | 2000-04-27 | 2005-04-12 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and storage medium |
WO2001093303A2 (en) | 2000-06-01 | 2001-12-06 | Applied Materials, Inc. | High throughput multipass printing with lithographic quality |
US7136081B2 (en) * | 2001-05-25 | 2006-11-14 | Nvidia Corporation | System and method of line sampling object scene information |
US6829382B2 (en) * | 2001-06-13 | 2004-12-07 | Shih-Jong J. Lee | Structure-guided automatic alignment for image processing |
US7302111B2 (en) * | 2001-09-12 | 2007-11-27 | Micronic Laser Systems A.B. | Graphics engine for high precision lithography |
US6618185B2 (en) | 2001-11-28 | 2003-09-09 | Micronic Laser Systems Ab | Defective pixel compensation method |
-
2001
- 2001-09-12 US US09/954,721 patent/US7302111B2/en not_active Expired - Fee Related
-
2002
- 2002-09-09 CN CNA2006100803636A patent/CN1854905A/zh active Pending
- 2002-09-09 CN CNB2006100803570A patent/CN100474120C/zh not_active Expired - Fee Related
- 2002-09-09 JP JP2003527490A patent/JP2005502909A/ja active Pending
- 2002-09-09 KR KR1020047003724A patent/KR100800240B1/ko not_active IP Right Cessation
- 2002-09-09 CN CNB2006100803621A patent/CN100480865C/zh not_active Expired - Fee Related
- 2002-09-09 KR KR1020077019743A patent/KR20070093467A/ko not_active Application Discontinuation
- 2002-09-09 CN CNA200610080359XA patent/CN1904738A/zh active Pending
- 2002-09-09 KR KR1020077019742A patent/KR20070093466A/ko not_active Application Discontinuation
- 2002-09-09 CN CNA2006100803640A patent/CN1854906A/zh active Pending
- 2002-09-09 CN CNA2006100803585A patent/CN1866131A/zh active Pending
- 2002-09-09 KR KR1020077019745A patent/KR20070093468A/ko not_active Application Discontinuation
- 2002-09-09 KR KR1020077019741A patent/KR20070093465A/ko not_active Application Discontinuation
- 2002-09-09 EP EP02768253A patent/EP1425623A1/en not_active Withdrawn
- 2002-09-09 CN CNA2006100803566A patent/CN1869821A/zh active Pending
- 2002-09-09 CN CNA2006100803551A patent/CN1854902A/zh active Pending
- 2002-09-09 CN CNB2006100803602A patent/CN100465796C/zh not_active Expired - Fee Related
- 2002-09-09 CN CNB028224760A patent/CN100492094C/zh not_active Expired - Fee Related
- 2002-09-09 CN CNA2006100803617A patent/CN1854890A/zh active Pending
- 2002-09-09 WO PCT/SE2002/001609 patent/WO2003023488A1/en active Application Filing
- 2002-09-09 KR KR1020077019739A patent/KR20070091697A/ko not_active Application Discontinuation
-
2007
- 2007-11-02 US US11/934,485 patent/US7646919B2/en not_active Expired - Lifetime
- 2007-11-05 US US11/935,267 patent/US7715641B2/en not_active Expired - Lifetime
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07134776A (ja) * | 1993-05-28 | 1995-05-23 | Nippon Yunishisu Kk | 画像レンダリング方法とその装置 |
US5872902A (en) * | 1993-05-28 | 1999-02-16 | Nihon Unisys, Ltd. | Method and apparatus for rendering of fractional pixel lists for anti-aliasing and transparency |
US5594854A (en) * | 1995-03-24 | 1997-01-14 | 3Dlabs Inc. Ltd. | Graphics subsystem with coarse subpixel correction |
WO1999045441A1 (en) * | 1998-03-02 | 1999-09-10 | Micronic Laser Systems Ab | Improved modulator design for pattern generator |
JP2002506236A (ja) * | 1998-03-02 | 2002-02-26 | マイクロニック レーザー システムズ アクチボラゲット | 変調装置の設計を改良したパターン・ジェネレータ |
WO2000049577A1 (en) * | 1999-02-17 | 2000-08-24 | Sun Microsystems, Inc. | A graphics system configured to perform parallel sample to pixel calculation |
WO2000049574A1 (en) * | 1999-02-17 | 2000-08-24 | Sun Microsystems, Inc. | Graphics system which renders samples into a sample buffer and generates pixels in response to stored samples at different rates |
JP2002537612A (ja) * | 1999-02-17 | 2002-11-05 | サン マイクロシステムズ,インコーポレイティッド | サンプルをサンプル・バッファの中へレンダリングし、記憶されたサンプルに応答して、異なったレートでピクセルを生成するグラフィックス・システム |
JP2002537614A (ja) * | 1999-02-17 | 2002-11-05 | サン マイクロシステムズ,インコーポレイティッド | 並列のサンプル・ピクセル計算を実行するように構成されたグラフィックス・システム |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007501430A (ja) * | 2003-08-04 | 2007-01-25 | マイクロニック レーザー システムズ アクチボラゲット | Psm位置調整方法及び装置 |
JP2005300807A (ja) * | 2004-04-09 | 2005-10-27 | Pentax Corp | 描画装置 |
JP2005300812A (ja) * | 2004-04-09 | 2005-10-27 | Pentax Corp | 描画装置 |
JP2006245556A (ja) * | 2005-02-04 | 2006-09-14 | Fuji Photo Film Co Ltd | 描画装置及び描画方法 |
JP4638826B2 (ja) * | 2005-02-04 | 2011-02-23 | 富士フイルム株式会社 | 描画装置及び描画方法 |
JP2007123800A (ja) * | 2005-03-25 | 2007-05-17 | Asml Netherlands Bv | リソグラフィ装置及びマスクレス・リソグラフィにおける倍率及び位置の動的修正を利用したデバイス製造方法 |
US7773287B2 (en) | 2005-06-30 | 2010-08-10 | Asml Holding N.V. | Method and system for maskless lithography real-time pattern rasterization and using computationally coupled mirrors to achieve optimum feature representation |
JP4617210B2 (ja) * | 2005-07-13 | 2011-01-19 | 日立ビアメカニクス株式会社 | 描画装置及びそれを搭載した露光装置 |
JP2007025022A (ja) * | 2005-07-13 | 2007-02-01 | Hitachi Via Mechanics Ltd | 描画装置及びそれを搭載した露光装置 |
JP2007025394A (ja) * | 2005-07-19 | 2007-02-01 | Fujifilm Holdings Corp | パターン形成方法 |
JP2009529802A (ja) * | 2006-03-10 | 2009-08-20 | マッパー・リソグラフィー・アイピー・ビー.ブイ. | リソグラフィシステムおよび投影方法 |
USRE45552E1 (en) | 2006-03-10 | 2015-06-09 | Mapper Lithography Ip B.V. | Lithography system and projection method |
JP2007298981A (ja) * | 2006-04-12 | 2007-11-15 | Asml Netherlands Bv | 線量の均一性に向けてデータパスとslmとのインタフェースにおける量子化の影響を低減するために用いられる露光装置及びデバイス製造方法 |
JP2012511168A (ja) * | 2008-12-05 | 2012-05-17 | マイクロニック マイデータ アーベー | マイクロリソグラフ印刷における勾配を援用した画像再サンプリング |
JP2019165199A (ja) * | 2018-01-09 | 2019-09-26 | アイエムエス ナノファブリケーション ゲーエムベーハー | 非線形的線量およびブラー(ボケ)に依存するエッジ配置の補正 |
JP7299705B2 (ja) | 2018-01-09 | 2023-06-28 | アイエムエス ナノファブリケーション ゲーエムベーハー | 非線形的線量およびブラー(ボケ)に依存するエッジ配置の補正 |
JP7379510B2 (ja) | 2019-02-19 | 2023-11-14 | アプライド マテリアルズ インコーポレイテッド | マスクレスリソグラフィのためのハーフトーンスキーム |
JP7488827B2 (ja) | 2019-02-19 | 2024-05-22 | アプライド マテリアルズ インコーポレイテッド | マスクレスリソグラフィのためのハーフトーンスキーム |
Also Published As
Publication number | Publication date |
---|---|
KR100800240B1 (ko) | 2008-02-01 |
US7646919B2 (en) | 2010-01-12 |
US7302111B2 (en) | 2007-11-27 |
KR20070091697A (ko) | 2007-09-11 |
KR20040044914A (ko) | 2004-05-31 |
KR20070093468A (ko) | 2007-09-18 |
KR20070093467A (ko) | 2007-09-18 |
US20080074700A1 (en) | 2008-03-27 |
US7715641B2 (en) | 2010-05-11 |
CN1854904A (zh) | 2006-11-01 |
CN1585908A (zh) | 2005-02-23 |
CN1854903A (zh) | 2006-11-01 |
CN100480865C (zh) | 2009-04-22 |
CN1862388A (zh) | 2006-11-15 |
CN1854902A (zh) | 2006-11-01 |
CN100492094C (zh) | 2009-05-27 |
CN1866131A (zh) | 2006-11-22 |
CN1869821A (zh) | 2006-11-29 |
CN1854906A (zh) | 2006-11-01 |
KR20070093465A (ko) | 2007-09-18 |
CN1854890A (zh) | 2006-11-01 |
CN100474120C (zh) | 2009-04-01 |
US20030160980A1 (en) | 2003-08-28 |
WO2003023488A1 (en) | 2003-03-20 |
CN100465796C (zh) | 2009-03-04 |
CN1854905A (zh) | 2006-11-01 |
KR20070093466A (ko) | 2007-09-18 |
EP1425623A1 (en) | 2004-06-09 |
CN1904738A (zh) | 2007-01-31 |
US20080080782A1 (en) | 2008-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005502909A (ja) | 高精度リソグラフィ用グラフィックス・エンジン | |
US5533170A (en) | Rasterizer for a pattern generation apparatus | |
US9275442B2 (en) | Gradient assisted image resampling in micro-lithographic printing | |
KR102338831B1 (ko) | 구성가능한 변환 파라미터들을 갖는 다중 공간 렌더링 | |
JP4237729B2 (ja) | 空間光変調器アレイの空間像を計算する方法およびシステム | |
US6771272B2 (en) | Graphics system having a super-sampled sample buffer with hot spot correction | |
US6924816B2 (en) | Compensating for the chromatic distortion of displayed images | |
US7079157B2 (en) | Matching the edges of multiple overlapping screen images | |
KR101900883B1 (ko) | 디지털 마이크로미러 디바이스 제어기 및 그의 노광 이미지 출력 처리 방법 | |
US7038678B2 (en) | Dependent texture shadow antialiasing | |
US20210012562A1 (en) | Probe-based dynamic global illumination | |
CN112041894A (zh) | 渲染期间提高涉及水面的场景的真实感 | |
US7971159B2 (en) | Data generating method, data generating device, and program in an exposure system for irradiating multigradation-controllable spotlights | |
EP1363238A2 (en) | A graphics system having a super-sampled sample buffer with hot spot correction,edge blending, edge matching, distortion correction and chromatic distortion compensation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050329 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050329 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080408 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090522 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091023 |