(57)【特許請求の範囲】
【請求項１】
直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するためのデータ変換装置であって、
１枚の描画エリアをＹ軸方向に沿って複数のフィールドに分割し、各フィールド毎に、前記ベクトルデータに基づいて、所定の出力機での描画処理に適合する描画データを生成する描画データ生成手段と、
前記描画データ生成手段の処理の対象となるベクトルデータが現在のフィールドを突き抜けるとき、その突き抜けた部分のデータを、直後のフィールドに繰り越すために一時記憶する記憶手段と、
現在のフィールドに含まれるデータが直前のフィールドから繰り越された繰り越しベクトルデータのみであって、しかもそれら繰り越しベクトルデータが全てＹ軸方向に平行でかつ１フィールド分以上の長さを有するか否かを、前記描画データ生成手段が描画データの生成を開始する前に前記記憶手段の記憶内容を参照して判定する判定手段と、
直前のフィールドについての前記判定手段の判定結果が肯定であり、さらに現在のフィールドについての判定結果も肯定である場合に、リピート処理の実行を指示する制御手段とを備え、
前記描画データ生成手段は、前記制御手段からの指示に応じて、現在のフィールドの描画データを新たに生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力するリピート処理を実行することを特徴とする、データ変換装置。
【請求項２】
前記描画データは、Ｘ軸方向に沿って白から黒への変化点と黒から白への変化点とを記述したランレングスデータであることを特徴とする、請求項１に記載のデータ変換装置。
【請求項３】
前記出力機は、１枚の描画エリアをＸ軸方向に沿って複数のストライプに分割し、各ストライプ毎に描画処理を実行するように構成されており、
前記描画データ生成手段は、前記各ストライプを複数のフィールドに分割するように構成されており、
前記ベクトルデータが複数の前記ストライプに跨るとき、当該ベクトルデータをストライプの境界線で分割するためのベクトル分割手段をさらに備える、請求項１または２に記載のデータ変換装置。
【請求項４】
直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するデータ変換装置において用いられる方法であって、
前記データ変換装置が、１枚の描画エリアをＹ軸方向に沿って複数のフィールドに分割し、各フィールド毎に、前記ベクトルデータに基づいて、所定の出力機での描画処理に適合する描画データを生成する第１のステップと、
前記第１のステップでの処理の対象となるベクトルデータが現在のフィールドを突き抜けるとき、前記データ変換装置が、その突き抜けた部分のデータを直後のフィールドに繰り越すために記憶手段に一時記憶する第２のステップと、
現在のフィールドに含まれるデータが前記第２のステップで直前のフィールドから繰り越された繰り越しベクトルデータのみであって、しかもそれら繰り越しベクトルデータが全てＹ軸方向に平行でかつ１フィールド分以上の長さを有するか否かを、前記データ変換装置が、前記第１のステップで描画データの生成が開始される前に前記第２のステップにおいて記憶した記憶内容を参照して判定する第３のステップと、
直前のフィールドについての前記第３のステップでの判定結果が肯定であり、さらに現在のフィールドについての判定結果も肯定である場合に、前記データ変換装置がリピート処理を実行する第４のステップとを有し、
前記第１のステップでは、前記第４のステップでの指示に応じて、現在のフィールドの描画データを新たに生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力するリピート処理を前記データ変換装置が実行することを特徴とする、データ変換方法。
【請求項５】
直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するための、コンピュータ装置において実行されるプログラムを記録した記録媒体であって、
１枚の描画エリアをＹ軸方向に沿って複数のフィールドに分割し、各フィールド毎に、前記ベクトルデータに基づいて、所定の出力機での描画処理に適合する描画データを生成する第１のステップと、
前記第１のステップでの処理の対象となるベクトルデータが現在のフィールドを突き抜けるとき、その突き抜けた部分のデータを直後のフィールドに繰り越すために前記コンピュータ装置のメモリに一時的に保持させる第２のステップと、
現在のフィールドに含まれるデータが前記第２のステップで直前のフィールドから繰り越された繰り越しベクトルデータのみであって、しかもそれら繰り越しベクトルデータが全てＹ軸方向に平行でかつ１フィールド分以上の長さを有するか否かを、前記第１のステップで描画データの生成が開始される前に前記メモリの記憶内容を参照して判定する第３のステップと、
直前のフィールドについての前記第３のステップでの判定結果が肯定であり、さらに現在のフィールドについての判定結果も肯定である場合に、リピート処理の実行を指示する第４のステップとを前記コンピュータ装置に実行させ、
前記第１のステップでは、前記第４のステップでの指示に応じて、現在のフィールドの描画データを新たに生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力するリピート処理を前記コンピュータ装置が実行することを特徴とするプログラムを記録した、記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ変換装置に関し、より特定的には、例えばＣＡＤデータを変換して得られる、直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するためのデータ変換装置に関する。
【０００２】
【従来の技術】
ＣＡＤシステムは、コンピュータを利用した設計用作図システムであり、近年、様々な分野で利用されている。通常、ＣＡＤシステムでは、Ｘ−Ｙプロッタやフォト製図機が出力機として用いられる。そのため、ＣＡＤシステムの出力データの形式も、これらの出力機に適合するようなフォーマット（Ｇｅｒｂｅｒフォーマット、ＤＳフォーマット、ＣＡＬＣＯＭＰフォーマット等）を採用している。
【０００３】
ところで、最近、ＣＡＤシステムで作成されたデータを利用して、微細設計パターンを、乾板上に描画し、露光させることが行われている。このとき使用される描画露光機としては、レーザプロッタが一般的である。しかしながら、レーザプロッタの入力データの形式は、Ｘ−Ｙプロッタやフォト製図機の入力データの形式と異なるため、何らかのデータ変換が必要となる。
【０００４】
図１８は、ＣＡＤシステムを用いた従来の描画露光システムの概略構成を示すブロック図である。図１８において、ＣＡＤシステム１からデータ変換装置２には、ＣＡＤデータおよびアパーチャデータが出力される。ＣＡＤデータは、直線の情報を始点と終点とによって表現し、円の情報を始点と終点と中心点とによって表現している。アパーチャデータは、描画に用いるペンの種類（すなわち、ペン先の形状）を示す情報を含む。さらに、データ変換装置２には、フォーマット情報および配置データが与えられる。フォーマット情報は、ＣＡＤデータのフォーマット（Ｇｅｒｂｅｒフォーマット、ＤＳフォーマット、ＣＡＬＣＯＮＰフォーマット等）を定義するための情報を含む。配置データは、ＣＡＤデータを表示領域に配置するときの情報（位置、回転、ポジ／ネガ、拡大／縮小）を含む。
【０００５】
データ変換装置２は、ＣＡＤデータを、一旦、ベクトルデータに変換した後、ランレングスデータに変換する。ベクトルデータでは、表現する図形が円の場合、当該円の輪郭は、複数の微小区間に分割され、各分割区間がベクトルデータに置き換えられて表記される。ベクトルデータに変換するのは、作成した図形をベクトルデータの形式で保存しておけば、後に行う編集作業（ソート、移動、回転、変形、拡大／縮小等）が容易になるからである。ランレングスデータは、描画エリアの１走査ライン毎の描画データを、白領域から黒領域への変化点と黒領域から白領域への変化点とで表したデータであり、レーザプロッタ３の描画処理に適している。レーザプロッタ３は、与えられるランレングスデータに従って、１ライン毎に描画を行う。
【０００６】
図１９は、上記データ変換装置２において作成されるベクトルデータの一例を示す図である。図１９に示すように、ベクトルデータは、ベクトルａおよびそれを平行移動したベクトルａ’を含んでいる。図２０は、図１９のベクトルデータを変換して得られたランレングスデータを示す図である。図２０に示すように、ランレングスデータは、白領域から黒領域への変化点（ａ1 ，…，ａ7 ）と、黒領域から白領域への変化点（ａ’1 ，…，ａ’7 ）とを含んでいる。
【０００７】
図１９および２０において、ベクトルデータをランレングスデータに変換する際、最初、変化点のＹ座標をセットしてそれに対応するＸ座標を算出する処理を反復することによって、白領域から黒領域への一連の変化点を求め、次に、同様にして黒領域から白領域への一連の変化点を求める。そして、得られた変化点データをレーザプロッタ３の描画処理に適合するようにソートし、得られたデータをランレングスデータとして出力する。ここでソートとは、データを所定の基準で並べ替えることを意味する。図２０では、ａ1 →ａ2 →…→ａ7 →ａ’1 →ａ’2 →…→ａ’7 の順に作成された変化点データは、ソートの結果、ａ1 →ａ’1 →ａ2 →ａ’2 →…→ａ7 →ａ’7 の順に出力される。
【０００８】
【発明が解決しようとする課題】
微細設計パターン等では、ＣＡＤデータをベクトルデータに変換したとき、ベクトルデータが膨大な量になる。よって、ベクトルデータをランレングスデータに変換するときには、これら膨大な量のベクトルデータについて上記のようにして変化点を算出する処理を行い、その後さらに、得られた変化点をソートする処理を行わねばならず、変換処理に許容しがたい程の長時間を要する。
【０００９】
それ故に、本発明の目的は、ベクトルデータをランレングスデータに変換する際に、変化点を算出するための処理と変化点をソートする処理とが共に軽くて済み、データ処理時間を大幅に短縮化できるデータ変換装置および方法を提供することである。
【００１０】
【課題を解決するための手段および発明の効果】
第１の発明は、直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するためのデータ変換装置であって、
１枚の描画エリアをＹ軸方向に沿って複数のフィールドに分割し、各フィールド毎に、ベクトルデータに基づいて、所定の出力機での描画処理に適合する描画データを生成する描画データ生成手段と、
描画データ生成手段の処理の対象となるベクトルデータが現在のフィールドを突き抜けるとき、その突き抜けた部分のデータを、直後のフィールドに繰り越すために一時記憶する記憶手段と、
現在のフィールドに含まれるデータが直前のフィールドから繰り越された繰り越しベクトルデータのみであって、しかもそれら繰り越しベクトルデータが全てＹ軸方向に平行でかつ１フィールド分以上の長さを有するか否かを、描画データ生成手段が描画データの生成を開始する前に記憶手段の記憶内容を参照して判定する判定手段と、
直前のフィールドについての判定手段の判定結果が肯定であり、さらに現在のフィールドについての判定結果も肯定である場合に、リピート処理の実行を指示する制御手段とを備え、
描画データ生成手段は、制御手段からの指示に応じて、現在のフィールドの描画データを新たに生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力するリピート処理を実行することを特徴としている。
【００１１】
上記のように、第１の発明では、現在のフィールドに含まれるベクトルデータが全て直前のフィールドからの繰り越しベクトルデータであって、しかもＹ軸に平行でかつ１フィールド分以上の長さを有するか否かを判定する。そして、判定結果が直前のフィールドに引き続き現在のフィールドについても肯定であることによって、現在のフィールドの描画データを直前のフィールドのそれで代用可能と判断し、描画データを生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力する。これにより、特にＹ軸方向に平行な直線を多く含む微細設計パターン等に関して描画データを生成する処理が効果的に軽減され、データ処理時間を大幅に短縮化できる。
【００１２】
第２の発明は、第１の発明において、
描画データは、Ｘ軸方向に沿って白から黒への変化点と黒から白への変化点とを記述したランレングスデータであることを特徴としている。
【００１３】
上記のように、第２の発明では、描画データとしてランレングスデータを用いているので、レーザプロッタ等の出力機に適合するインターフェース装置が得られる。また、ベクトルデータからランレングスデータの変換では、変化点を求める処理と、求めた変化点をソートする処理とが共に軽減されるため、データ処理時間を特に大幅に短縮化できる。
【００１４】
第３の発明は、第１または２の発明において、
出力機は、１枚の描画エリアをＸ軸方向に沿って複数のストライプに分割し、各ストライプ毎に描画処理を実行するように構成されており、
描画データ生成手段は、各ストライプを複数のフィールドに分割するように構成されており、
ベクトルデータが複数のストライプに跨るとき、当該ベクトルデータをストライプの境界線で分割するためのベクトル分割手段をさらに備えている。
【００１５】
上記のように、第３の発明では、複数のストライプに跨るベクトルデータをストライプの境界線で分割するようにしているので、出力機においてストライプ毎に描画処理を実行することが可能となる。
【００１６】
第４の発明は、直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するための方法であって、
１枚の描画エリアをＹ軸方向に沿って複数のフィールドに分割し、各フィールド毎に、ベクトルデータに基づいて、所定の出力機での描画処理に適合する描画データを生成する第１のステップと、
第１のステップでの処理の対象となるベクトルデータが現在のフィールドを突き抜けるとき、その突き抜けた部分のデータを直後のフィールドに繰り越す第２のステップと、
現在のフィールドに含まれるデータが第２のステップで直前のフィールドから繰り越された繰り越しベクトルデータのみであって、しかもそれら繰り越しベクトルデータが全てＹ軸方向に平行でかつ１フィールド分以上の長さを有するか否かを、第１のステップで描画データの生成が開始される前に判定する第３のステップと、
直前のフィールドについての第３のステップでの判定結果が肯定であり、さらに現在のフィールドについての判定結果も肯定である場合に、リピート処理の実行を指示する第４のステップとを備え、
第１のステップでは、第４のステップでの指示に応じて、現在のフィールドの描画データを新たに生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力するリピート処理を実行することを特徴としている。
【００１７】
上記のように、第４の発明では、現在のフィールドに含まれるベクトルデータが全て直前のフィールドからの繰り越しベクトルデータであって、しかもＹ軸に平行でかつ１フィールド分以上の長さを有するか否かを判定する。そして、判定結果が直前のフィールドに引き続き現在のフィールドについても肯定であることによって、現在のフィールドの描画データを直前のフィールドのそれで代用可能と判断し、描画データを生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力する。これにより、特にＹ軸方向に平行な直線を多く含む微細設計パターン等に関して描画データを生成する処理が効果的に軽減され、データ処理時間を大幅に短縮化できる。
【００１８】
第５の発明は、直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するための、コンピュータ装置において実行されるプログラムを記録した記録媒体であって、
１枚の描画エリアをＹ軸方向に沿って複数のフィールドに分割し、各フィールド毎に、ベクトルデータに基づいて、所定の出力機での描画処理に適合する描画データを生成する第１のステップと、
第１のステップでの処理の対象となるベクトルデータが現在のフィールドを突き抜けるとき、その突き抜けた部分のデータを直後のフィールドに繰り越す第２のステップと、
現在のフィールドに含まれるデータが第２のステップで直前のフィールドから繰り越された繰り越しベクトルデータのみであって、しかもそれら繰り越しベクトルデータが全てＹ軸方向に平行でかつ１フィールド分以上の長さを有するか否かを、第１のステップで描画データの生成が開始される前に判定する第３のステップと、
直前のフィールドについての第３のステップでの判定結果が肯定であり、さらに現在のフィールドについての判定結果も肯定である場合に、リピート処理の実行を指示する第４のステップとを備え、
第１のステップでは、第４のステップでの指示に応じて、現在のフィールドの描画データを新たに生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力するリピート処理を実行することを特徴とする動作環境を、コンピュータ装置上で実現するためのプログラムを記録した、記録媒体である。
【００２０】
【発明の実施の形態】
図１は、本発明の一実施形態に係るデータ変換装置を用いた露光描画システムの構成を示すブロック図である。図１において、データ変換装置４には、オンライン伝送路５を介して外部のＣＡＤシステム（図示せず）からＣＡＤデータが与えられる。また、データ変換装置４には、ＤＡＴ等の記憶装置６に格納されたＣＡＤデータが、読み出されて与えられる。すなわち、データ変換装置４には、オンラインまたはオフラインの形式でＣＡＤデータが与えられる。データ変換装置４は、与えられたＣＡＤデータを、ベクトルデータに変換した後、さらにランレングスデータに変換し、レーザプロッタ７に出力する。本実施形態では、ベクトルデータからランレングスデータへの変換の仕方が従来と異なっている。
【００２１】
図２は、図１におけるデータ変換装置４のより詳細な構成を示すブロック図である。図２において、データ変換装置４は、ＣＰＵ４１と、プログラムメモリ４２と、ＲＡＭ４３とを備えている。プログラムメモリ４２には、ＣＰＵ４１の動作プログラムが格納されており、ＣＰＵ４１は、この動作プログラムに従って、所定の処理を実行する。なお、プログラムメモリ４２は、ＲＯＭによって構成され、予めプログラムが格納されていても良い。また、プログラムメモリ４２は、書き換え可能な記憶媒体（ＲＡＭ、ハードディスク、ＭＯＤ）によって構成され、出荷前にプログラムがインストールされても良い。また、オンライン伝送路５を介してプログラムメモリに４２にプログラムがダウンロードされても良い。ＲＡＭ４３は、ＣＰＵ４１が所定の処理を実行する際に必要な種々のデータを記憶する。
【００２２】
図３は、図１におけるレーザプロッタ７の描画エリアを示す図である。図３に示すように、描画エリアは、Ｙ軸方向に沿って延びる複数のストライプに分割されている。描画は、Ｘ軸方向を主走査方向、Ｙ軸方向を副走査方向として移動する露光点によって各ストライプ毎に行われる。各ストライプは、複数のフィールドに分割されている。データ変換装置４における各種データ処理は、各フィールド毎に行われる。
【００２３】
図４は、図１におけるデータ変換装置４の動作を示すフローチャートである。以下、この図４を参照して、データ変換装置４の動作を説明する。まず、ステップＳ１において、ベクトル変換処理が行われる。このステップＳ１では、ＣＡＤデータがベクトルデータに変換される。次に、ステップＳ２において、スリット分割処理が行われる。このステップＳ２では、ステップＳ１で生成されたベクトルデータの内、複数のストライプに跨るベクトルデータをストライプ単位で分割する。次に、ステップＳ３において、出力データ生成処理が行われる。このステップＳ３では、ベクトルデータが、レーザプロッタ７に適合するランレングスデータに変換されて出力される。
【００２４】
図５は、上記ステップＳ１のベクトル変換処理の動作をより詳細に示すフローチャートである。以下、この図５を参照して、ベクトル変換処理について説明する。まず、ステップＳ１０１において、データ変換装置４のＣＰＵ４１は、ＣＡＤデータを読み込み、ＲＡＭ４３に格納する。次に、ＣＰＵ４１は、ＲＡＭ４３に格納されたＣＡＤデータのフォーマット（例えば、アスキーコード形式）を、所定の中間データのフォーマット（例えば、バイナリコード形式）に変換する（ステップＳ１０２）。次に、ＣＰＵ４１は、全てのＣＡＤデータについて中間データへの変換が終了したか否かを判断し（ステップＳ１０３）、終了していない場合は、再びステップＳ１０１、Ｓ１０２の処理を繰り返す。変換された中間データは、ＲＡＭ４３に格納される。
【００２５】
図６は、中間データの一例を、描画エリア上にイメージ化して示した図である。図６において、各データに付された番号は、データの出現順序を表している。周知のように、ＣＡＤデータは、出力機でのペン先の移動が最短距離ですむように、また紙に対するペン先の接触／離反の回数が最小限ですむように、データの出現順序が定められている。中間データも、このＣＡＤデータと同様の出現順序を有している。従って、図６に示すように、中間データの出現順序は、描画エリアのＸ軸、Ｙ軸方向に対して規則性を有していない。しかしながら、レーザプロッタ７における描画は、ストライプ毎（図３参照）に行われるので、データの出現順序を、描画エリアのＸ軸、Ｙ軸方向に対して順番になるように、整理する必要がある。この処理は、従来の技術の項目で説明した変化点の並べ替え同様、ソートと呼ばれ、後に詳細に説明する。
【００２６】
全てのＣＡＤデータが中間データに変換されると、ＣＰＵ４１は、ＲＡＭ４３から中間データを読み出す（ステップＳ１０４）。次に、ＣＰＵ４１は、読み出した中間データをベクトルデータに変換する（ステップＳ１０５）。以下、このベクトルデータへの変換処理について詳細に説明する。
【００２７】
中間データが直線を示すデータの場合、ステップＳ１０５で生成されるベクトルデータは、前述した従来のシステムで生成されるベクトルデータと同様である。また、中間データが円を示すデータの場合にも、ステップＳ１０５で生成されるベクトルデータは、前述した従来のシステムで生成されるベクトルデータと同様である。すなわち、１つの円の輪郭線が複数の微小区間に分割され、各微小区間が直線を示すベクトルデータで表現される。
【００２８】
図７は、上記ステップＳ１０５で生成されるベクトルのデータ構造を示している。図７において、ベクトルは、ベクトルの始点座標（ｓｘ，ｓｙ）と、終点座標（ｅｘ，ｅｙ）と、白黒フラグｗｂｆとを含む。白黒フラグｗｂｆには、Ｘ軸方向に沿って白領域から黒領域への境界を示す白黒フラグＡと、黒領域から白領域への境界を示す白黒フラグＢとがある。
【００２９】
次に、ＣＰＵ４１は、ステップＳ１０５で生成されたベクトルデータを、描画エリアのＸ軸方向（主走査方向）に沿って順次ソートする（ステップＳ１０６）。すなわち、各ベクトルの始点のＸ座標を比較し、小さい順に並び替える。すると、例えば図６に示すデータは、その出現順序が、図８に示すように変更される。次に、ＣＰＵ４１は、全ての中間データについてベクトルデータへの変換およびソートが終了したか否かを判断し（ステップＳ１０７）、終了していない場合は、再びステップＳ１０４〜Ｓ１０６の処理を繰り返す。変換されたベクトルデータは、ＲＡＭ４３に格納される。全中間データについて、ベクトルデータへの変換およびソートが終了した場合、ＣＰＵ４１は、図４のメインルーチンに戻り、ステップＳ２のスリット分割処理を実行する。
【００３０】
図９は、上記ステップＳ２のスリット分割処理の動作をより詳細に示すフローチャートである。以下、この図９を参照して、スリット分割処理について説明する。まず、ステップＳ２０１において、ＣＰＵ４１は、今回処理の対象とする１つのストライプを選択する。このとき、ＣＰＵ４１は、上位のストライプ（図３のストライプ０）から順番に選択していく。次に、ＣＰＵ４１は、選択したストライプに属するベクトルデータを、１個ずつＲＡＭ４３から読み込む（ステップＳ２０２）。なお、ベクトルデータの始点座標が選択したストライプ内に存在する場合に、当該ベクトルデータが当該ストライプに属するものとされる。次に、ＣＰＵ４１は、ステップＳ２０２において読み出したベクトルデータを、描画エリアのＹ軸方向に沿ってソートする（ステップＳ２０３）。これによって、選択されたストライプ内において、データの出現順序が、Ｙ軸方向（副走査方向）に並ぶように、付け替えられていく。また、図１０に示すように、ベクトルが複数のストライプに跨る場合、ストライプの境界線でベクトルが分割される。処理中のストライプに属する方の分割後のベクトルは、該ストライプの中でソートされ、属しない方の分割後のベクトルは、次のストライプに属するベクトルとしてＲＡＭ４３に記憶される。この分割処理では、ベクトルがストライプの境界線（以下、スリットと称す）を跨ぐとき、当該ベクトルは、当該スリットを境にして単純に前半部と後半部とに分割される。
【００３１】
次に、ＣＰＵ４１は、選択した１ストライプ分の全てのデータについてＹ軸方向（副走査方向）のソートが終了したか否かを判断し（ステップＳ２０４）、終了していない場合は、再びステップＳ２０２およびＳ２０３の処理を繰り返す。一方、１ストライプ分の全てのベクトルデータについて分割処理とソートが終了した場合、ＣＰＵ４１は、描画エリア内の全ストライプについて処理が終了したか否かを判断し（ステップＳ２０５）、終了していない場合は、再びステップＳ２０１〜Ｓ２０４の処理を繰り返す。一方、描画エリア内の全ストライプについて処理が終了した場合、ＣＰＵ４１は、図４のメインルーチンに戻り、ステップＳ３の出力データ生成処理を実行する。
【００３２】
図１１は、上記ステップＳ３の出力データ生成処理の動作をより詳細に示すフローチャートである。以下、この図１１を参照して、出力データ生成処理について説明する。まず、ステップＳ３０１において、ＣＰＵ４１は、今回処理の対象とする１つのストライプを選択する。このとき、ＣＰＵ４１は、上位のストライプ（図３のストライプ０）から順番に選択していく。次に、ＣＰＵ４１は、今回処理の対象とする１つのフィールドを選択する（ステップＳ３０２）。このとき、ＣＰＵ４１は、上位のフィールド（図３のフィールド０）から順番に選択していく。
【００３３】
次に、ＣＰＵ４１は、選択したフィールドに含まれるベクトルデータを、ＲＡＭ４３から読み込む（ステップＳ３０３）。そして、選択したフィールドについて、リピート処理を実行するか否かを判断する（ステップＳ３０４）。以下、この判断処理について詳述する。
なお、ここで言うリピート処理とは、選択したフィールドの変化点データ（後述）を、前回選択したフィールドのそれで代用可能と判断して、変化点を算出／ソートして出力する代わりに、すでに求めた、前回選択したフィールドの変化点データを、現在のフィールドのデータとして出力することを指す。
以下では、リピート処理に関与するフィールドをリピート対象フィールドと呼ぶ。また、リピート対象フィールドのうち、リピート処理の実行対象となるフィールドをリピート実行フィールド、リピート処理に用いられる側のフィールドをリピートフィールドと呼ぶ。
【００３４】
ＣＰＵ４１は、読み込んだ全部のベクトルデータが以下の３つの条件（条件＃１〜＃３）を全て満足する場合、選択したフィールドをリピート対象フィールドと判定する。ステップＳ３０４では、ＣＰＵ４１は、前回選択したフィールドがリピート対象フィールドであるのに引き続き、選択したフィールドもリピート対象フィールドである場合に、選択したフィールドをリピート実行フィールドと判定して、ＲＡＭ４３のワークエリア（後述）内の、前回選択したフィールドの変化点データを、現在のフィールドのランレングスデータとして出力する（ステップＳ３０５）。３条件のいずれか１つでも満足しないベクトルデータが存在する場合には、ステップＳ３０６に進む。
【００３５】
条件＃１…ＲＡＭ４３の繰り越し領域（後述）から読み込んだベクトルデータであること。
条件＃２…Ｙ軸方向に平行なベクトルデータであること。
条件＃３…データ長が２５６ドット以上であること。
参考のために、リピート対象フィールド、リピートフィールドおよびリピート実行フィールドのイメージを図１４に示す。
【００３６】
次に、ＣＰＵ４１は、読み込んだベクトルデータに基づいて、変化点データを作成する（ステップＳ３０６）。以下、この変化点データの作成処理について詳述する。
なお、ここで言う変化点とは、露光が開始されまたは露光を終了するピクセルのことである。
【００３７】
ＣＰＵ４１は、ＲＡＭ４３上に、図１２に示すようなワークエリアを有している。このワークエリアは、１フィールド分の変化点データを格納するために用いられる。図１２に示すごとく、ワークエリアは、複数のバッファ（本実施形態では、バッファ０〜バッファ２５５）で構成されている。バッファの数は、１フィールドに含まれるＹ軸方向のピクセル数に対応している。各バッファは、Ｘ軸方向の変化点を格納するために、１フィールド分に含まれるＸ軸方向のピクセル数に対応する数（本実施形態では、２５６０個）の記憶エリアを有している。各記憶エリアは、例えば３２ビットで構成されており、各記憶エリアは、露光記録時の１ピクセルに対応している。
【００３８】
図１３は、ステップＳ３０６の変化点作成処理の詳細を示すフローチャートである。
ＣＰＵ４１はまず、前述のステップＳ３０３で読み込んだベクトルデータの中から、１つのベクトルを選択する（ステップＳ４０１）。
次からの処理は、選択されたベクトルが規定する直線の輪郭とＹ軸（走査線）との交点（変化点）の座標を見つけだす処理である。具体的には、直線の発生範囲内に含まれる変化点のＹ座標をセットし、これに対応するＸ座標を算出し、次に、Ｙ座標を更新し同様の処理で次の変化点のＸ座標を算出するという手順になる。
【００３９】
まず、ＣＰＵ４１は、内部のＹカウンタ（図示せず）に対して、選択されたベクトルの始点のＹ座標をセットする（ステップＳ４０２）。次に、直線の通過点点座標データと、ステップＳ４０２でセットされたＹ座標とを、直線の方程式に当てはめて、セットされたＹ座標上に発生する変化点のＸ座標を算出する（ステップＳ４０３）。
【００４０】
次に、ＣＰＵ４１は、ステップＳ４０３で求めたＸ座標値を、変化点データとして、ワークエリア内の対応するバッファ（すなわち、ＹカウンタにセットされたＹ座標に対応するバッファ）に格納する（ステップＳ４０４）。また、ＣＰＵ４１は、このとき、ベクトルが保有している白黒フラグｗｂｆをＸ座標値と共に格納する。次に、ＣＰＵ４１は、Ｙカウンタの値を１だけデクリメントする（ステップＳ４０５）。これによって、ＹカウンタにセットされたＹ座標値が−１される。次に、ＣＰＵ４１は、ＹカウンタにセットされたＹ座標値が、現在選択されているフィールドから次のフィールドに移ったか否かを判断する（ステップＳ４０６）。ＹカウンタにセットされたＹ座標値が次のフィールドに移行していない場合、ＣＰＵ４１は、ＹカウンタにセットされたＹ座標値が、ベクトルデータの終点のＹ座標を越えたか否かを判断する（ステップＳ４０７）。ＹカウンタにセットされたＹ座標値が、ベクトルデータの終点のＹ座標を越えていない場合、ＣＰＵ４１は、再びステップＳ４０３以下の動作を繰り返す。
【００４１】
ステップＳ４０３〜Ｓ４０７処理を繰り返し実行し、ＹカウンタにセットされたＹ座標値が、ベクトルデータの終点のＹ座標を越えた場合、ＣＰＵ４１は、そのベクトルデータに対する処理を終了し、図１１のルーチンに戻る。図１５は、変化点データの生成過程をイメージ的に示す図である。なお、図１５は、一例として、直線を規定するベクトルデータにおける変化点データの生成過程を示している。
【００４２】
ところで、上記ステップＳ４０６において、ＹカウンタにセットされたＹ座標値が、ベクトルデータの終点のＹ座標を越えたと判断した場合、ＣＰＵ４１は、繰り越し処理を実行する（ステップＳ４０８）。ベクトルデータの繰り越し処理では、図１６に示すように、複数のフィールドに跨るベクトルにおいて、次のフィールドに突き抜ける部分の情報が、ＲＡＭ４３内の繰り越し領域に保存される。
【００４３】
再び図１１を参照して、ＣＰＵ４１は、選択したフィールド内に存在する全ベクトルデータに対する処理を終了したか否かを判断する（ステップＳ３０７）。未処理のベクトルデータが存在する場合、ＣＰＵ４１は、再びステップＳ３０６の処理に戻り、ステップＳ４０１で次のベクトルデータを選択して、ステップＳ４０２〜Ｓ４０８の処理を繰り返す。選択したフィールド内の全てのベクトルデータに対する処理が終了すると、ＣＰＵ４１は、ワークエリア内に格納されたそのフィールドに対する変化点データを、ランレングスデータとしてレーザプロッタ７に出力する（ステップＳ３０８）。応じて、レーザプロッタ７は、与えられたランレングスデータに基づいて描画を行う。参考のために、レーザプロッタ７における最終出力イメージの一例を図１７に示す。
【００４４】
次に、ＣＰＵ４１は、ステップＳ３０１で選択したストライプ内の全フィールドに対する出力データ生成処理が終了したか否かを判断する（ステップＳ３０９）。未処理のフィールドが存在する場合、ＣＰＵ４１は、ステップＳ３０２の処理に戻って次のフィールドを選択し、ステップＳ３０３〜Ｓ３０９において、次のフィールドに対する出力データ生成処理を実行する。一方、選択したストライプ内の全フィールドに対する出力データ生成処理が終了した場合、ＣＰＵ４１は、描画エリア内の全ストライプに対する出力データ生成処理が終了したか否かを判断する（ステップＳ３１０）。未処理のストライプが存在する場合、ＣＰＵ４１は、ステップＳ３０１に戻って次のストライプを選択し、ステップＳ３０２の〜Ｓ３１０において、次のフィールドに対する出力データ生成処理を実行する。全ストライプに対する出力データ生成処理が終了すると、ＣＰＵ４１は、その動作を終了する。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るデータ変換装置を用いた露光描画システムの構成を示すブロック図である。
【図２】図１におけるデータ変換装置４のより詳細な構成を示すブロック図である。
【図３】図１におけるレーザプロッタ７の描画エリアを示す図である。
【図４】図１におけるデータ変換装置４の動作を示すフローチャートである。
【図５】図４のステップＳ１のベクトル変換処理を、より詳細に示すフローチャートである。
【図６】中間データの一例を、描画エリア上にイメージ化して示した図である。
【図７】図５のステップＳ１０５で生成されるベクトルのデータ構造を示している。
【図８】図５のステップＳ１０５で生成されたベクトルデータを、描画エリアのＸ軸方向（ストライプと直交する方向）に沿ってソートした場合のデータの出現順序を示す図である。
【図９】図４のステップＳ２のスリット分割処理を、より詳細に示すフローチャートである。
【図１０】複数のストライプに跨るベクトルを示す図である。
【図１１】図４のステップＳ３の出力データ生成処理を、より詳細に示すフローチャートである。
【図１２】１フィールド分の変化点データを格納するために用いられるワークエリアの構成を示す図である。
【図１３】図１１のステップＳ３０６の変化点作成処理の詳細を示すフローチャートである。
【図１４】リピート対象フィールド、リピートフィールドおよびリピート実行フィールドのイメージを示す図である。
【図１５】変化点データの生成過程をイメージ的に示す図である。
【図１６】複数のフィールドに跨るベクトルを示す図である。
【図１７】図１のレーザプロッタ７における最終出力イメージの一例を示す図である。
【図１８】ＣＡＤシステムを用いた従来の描画露光システムの概略構成を示すブロック図である。
【図１９】図１８のデータ変換装置２において作成されるベクトルデータの一例を示す図である。
【図２０】図１９のベクトルデータを変換して得られたランレングスデータを示す図である。
【符号の簡単な説明】
４…データ変換装置
５…オンライン伝送路
６…記憶装置
７…レーザプロッタ
４１…ＣＰＵ
４２…プログラムメモリ
４３…ＲＡＭ
【図１】
0003700810.tif 000002
【図２】
0003700810.tif 000003
【図３】
0003700810.tif 000004
【図４】
0003700810.tif 000005
【図５】
0003700810.tif 000006
【図６】
0003700810.tif 000007
【図７】
0003700810.tif 000008
【図８】
0003700810.tif 000009
【図９】
0003700810.tif 000010
【図１０】
0003700810.tif 000011
【図１１】
0003700810.tif 000012
【図１２】
0003700810.tif 000013
【図１３】
0003700810.tif 000014
【図１４】
0003700810.tif 000015
【図１５】
0003700810.tif 000016
【図１６】
0003700810.tif 000017
【図１７】
0003700810.tif 000018
【図１８】
0003700810.tif 000019
【図１９】
0003700810.tif 000020
【図２０】
0003700810.tif 000021