JP3700810B2 - データ変換方法および装置 - Google Patents
データ変換方法および装置 Download PDFInfo
- Publication number
- JP3700810B2 JP3700810B2 JP30090297A JP30090297A JP3700810B2 JP 3700810 B2 JP3700810 B2 JP 3700810B2 JP 30090297 A JP30090297 A JP 30090297A JP 30090297 A JP30090297 A JP 30090297A JP 3700810 B2 JP3700810 B2 JP 3700810B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- field
- vector
- current field
- vector data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、データ変換装置に関し、より特定的には、例えばCADデータを変換して得られる、直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するためのデータ変換装置に関する。
【0002】
【従来の技術】
CADシステムは、コンピュータを利用した設計用作図システムであり、近年、様々な分野で利用されている。通常、CADシステムでは、X−Yプロッタやフォト製図機が出力機として用いられる。そのため、CADシステムの出力データの形式も、これらの出力機に適合するようなフォーマット(Gerberフォーマット、DSフォーマット、CALCOMPフォーマット等)を採用している。
【0003】
ところで、最近、CADシステムで作成されたデータを利用して、微細設計パターンを、乾板上に描画し、露光させることが行われている。このとき使用される描画露光機としては、レーザプロッタが一般的である。しかしながら、レーザプロッタの入力データの形式は、X−Yプロッタやフォト製図機の入力データの形式と異なるため、何らかのデータ変換が必要となる。
【0004】
図18は、CADシステムを用いた従来の描画露光システムの概略構成を示すブロック図である。図18において、CADシステム1からデータ変換装置2には、CADデータおよびアパーチャデータが出力される。CADデータは、直線の情報を始点と終点とによって表現し、円の情報を始点と終点と中心点とによって表現している。アパーチャデータは、描画に用いるペンの種類(すなわち、ペン先の形状)を示す情報を含む。さらに、データ変換装置2には、フォーマット情報および配置データが与えられる。フォーマット情報は、CADデータのフォーマット(Gerberフォーマット、DSフォーマット、CALCONPフォーマット等)を定義するための情報を含む。配置データは、CADデータを表示領域に配置するときの情報(位置、回転、ポジ/ネガ、拡大/縮小)を含む。
【0005】
データ変換装置2は、CADデータを、一旦、ベクトルデータに変換した後、ランレングスデータに変換する。ベクトルデータでは、表現する図形が円の場合、当該円の輪郭は、複数の微小区間に分割され、各分割区間がベクトルデータに置き換えられて表記される。ベクトルデータに変換するのは、作成した図形をベクトルデータの形式で保存しておけば、後に行う編集作業(ソート、移動、回転、変形、拡大/縮小等)が容易になるからである。ランレングスデータは、描画エリアの1走査ライン毎の描画データを、白領域から黒領域への変化点と黒領域から白領域への変化点とで表したデータであり、レーザプロッタ3の描画処理に適している。レーザプロッタ3は、与えられるランレングスデータに従って、1ライン毎に描画を行う。
【0006】
図19は、上記データ変換装置2において作成されるベクトルデータの一例を示す図である。図19に示すように、ベクトルデータは、ベクトルaおよびそれを平行移動したベクトルa’を含んでいる。図20は、図19のベクトルデータを変換して得られたランレングスデータを示す図である。図20に示すように、ランレングスデータは、白領域から黒領域への変化点(a1 ,…,a7 )と、黒領域から白領域への変化点(a’1 ,…,a’7 )とを含んでいる。
【0007】
図19および20において、ベクトルデータをランレングスデータに変換する際、最初、変化点のY座標をセットしてそれに対応するX座標を算出する処理を反復することによって、白領域から黒領域への一連の変化点を求め、次に、同様にして黒領域から白領域への一連の変化点を求める。そして、得られた変化点データをレーザプロッタ3の描画処理に適合するようにソートし、得られたデータをランレングスデータとして出力する。ここでソートとは、データを所定の基準で並べ替えることを意味する。図20では、a1 →a2 →…→a7 →a’1 →a’2 →…→a’7 の順に作成された変化点データは、ソートの結果、a1 →a’1 →a2 →a’2 →…→a7 →a’7 の順に出力される。
【0008】
【発明が解決しようとする課題】
微細設計パターン等では、CADデータをベクトルデータに変換したとき、ベクトルデータが膨大な量になる。よって、ベクトルデータをランレングスデータに変換するときには、これら膨大な量のベクトルデータについて上記のようにして変化点を算出する処理を行い、その後さらに、得られた変化点をソートする処理を行わねばならず、変換処理に許容しがたい程の長時間を要する。
【0009】
それ故に、本発明の目的は、ベクトルデータをランレングスデータに変換する際に、変化点を算出するための処理と変化点をソートする処理とが共に軽くて済み、データ処理時間を大幅に短縮化できるデータ変換装置および方法を提供することである。
【0010】
【課題を解決するための手段および発明の効果】
第1の発明は、直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するためのデータ変換装置であって、
1枚の描画エリアをY軸方向に沿って複数のフィールドに分割し、各フィールド毎に、ベクトルデータに基づいて、所定の出力機での描画処理に適合する描画データを生成する描画データ生成手段と、
描画データ生成手段の処理の対象となるベクトルデータが現在のフィールドを突き抜けるとき、その突き抜けた部分のデータを、直後のフィールドに繰り越すために一時記憶する記憶手段と、
現在のフィールドに含まれるデータが直前のフィールドから繰り越された繰り越しベクトルデータのみであって、しかもそれら繰り越しベクトルデータが全てY軸方向に平行でかつ1フィールド分以上の長さを有するか否かを、描画データ生成手段が描画データの生成を開始する前に記憶手段の記憶内容を参照して判定する判定手段と、
直前のフィールドについての判定手段の判定結果が肯定であり、さらに現在のフィールドについての判定結果も肯定である場合に、リピート処理の実行を指示する制御手段とを備え、
描画データ生成手段は、制御手段からの指示に応じて、現在のフィールドの描画データを新たに生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力するリピート処理を実行することを特徴としている。
【0011】
上記のように、第1の発明では、現在のフィールドに含まれるベクトルデータが全て直前のフィールドからの繰り越しベクトルデータであって、しかもY軸に平行でかつ1フィールド分以上の長さを有するか否かを判定する。そして、判定結果が直前のフィールドに引き続き現在のフィールドについても肯定であることによって、現在のフィールドの描画データを直前のフィールドのそれで代用可能と判断し、描画データを生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力する。これにより、特にY軸方向に平行な直線を多く含む微細設計パターン等に関して描画データを生成する処理が効果的に軽減され、データ処理時間を大幅に短縮化できる。
【0012】
第2の発明は、第1の発明において、
描画データは、X軸方向に沿って白から黒への変化点と黒から白への変化点とを記述したランレングスデータであることを特徴としている。
【0013】
上記のように、第2の発明では、描画データとしてランレングスデータを用いているので、レーザプロッタ等の出力機に適合するインターフェース装置が得られる。また、ベクトルデータからランレングスデータの変換では、変化点を求める処理と、求めた変化点をソートする処理とが共に軽減されるため、データ処理時間を特に大幅に短縮化できる。
【0014】
第3の発明は、第1または2の発明において、
出力機は、1枚の描画エリアをX軸方向に沿って複数のストライプに分割し、各ストライプ毎に描画処理を実行するように構成されており、
描画データ生成手段は、各ストライプを複数のフィールドに分割するように構成されており、
ベクトルデータが複数のストライプに跨るとき、当該ベクトルデータをストライプの境界線で分割するためのベクトル分割手段をさらに備えている。
【0015】
上記のように、第3の発明では、複数のストライプに跨るベクトルデータをストライプの境界線で分割するようにしているので、出力機においてストライプ毎に描画処理を実行することが可能となる。
【0016】
第4の発明は、直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するための方法であって、
1枚の描画エリアをY軸方向に沿って複数のフィールドに分割し、各フィールド毎に、ベクトルデータに基づいて、所定の出力機での描画処理に適合する描画データを生成する第1のステップと、
第1のステップでの処理の対象となるベクトルデータが現在のフィールドを突き抜けるとき、その突き抜けた部分のデータを直後のフィールドに繰り越す第2のステップと、
現在のフィールドに含まれるデータが第2のステップで直前のフィールドから繰り越された繰り越しベクトルデータのみであって、しかもそれら繰り越しベクトルデータが全てY軸方向に平行でかつ1フィールド分以上の長さを有するか否かを、第1のステップで描画データの生成が開始される前に判定する第3のステップと、
直前のフィールドについての第3のステップでの判定結果が肯定であり、さらに現在のフィールドについての判定結果も肯定である場合に、リピート処理の実行を指示する第4のステップとを備え、
第1のステップでは、第4のステップでの指示に応じて、現在のフィールドの描画データを新たに生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力するリピート処理を実行することを特徴としている。
【0017】
上記のように、第4の発明では、現在のフィールドに含まれるベクトルデータが全て直前のフィールドからの繰り越しベクトルデータであって、しかもY軸に平行でかつ1フィールド分以上の長さを有するか否かを判定する。そして、判定結果が直前のフィールドに引き続き現在のフィールドについても肯定であることによって、現在のフィールドの描画データを直前のフィールドのそれで代用可能と判断し、描画データを生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力する。これにより、特にY軸方向に平行な直線を多く含む微細設計パターン等に関して描画データを生成する処理が効果的に軽減され、データ処理時間を大幅に短縮化できる。
【0018】
第5の発明は、直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するための、コンピュータ装置において実行されるプログラムを記録した記録媒体であって、
1枚の描画エリアをY軸方向に沿って複数のフィールドに分割し、各フィールド毎に、ベクトルデータに基づいて、所定の出力機での描画処理に適合する描画データを生成する第1のステップと、
第1のステップでの処理の対象となるベクトルデータが現在のフィールドを突き抜けるとき、その突き抜けた部分のデータを直後のフィールドに繰り越す第2のステップと、
現在のフィールドに含まれるデータが第2のステップで直前のフィールドから繰り越された繰り越しベクトルデータのみであって、しかもそれら繰り越しベクトルデータが全てY軸方向に平行でかつ1フィールド分以上の長さを有するか否かを、第1のステップで描画データの生成が開始される前に判定する第3のステップと、
直前のフィールドについての第3のステップでの判定結果が肯定であり、さらに現在のフィールドについての判定結果も肯定である場合に、リピート処理の実行を指示する第4のステップとを備え、
第1のステップでは、第4のステップでの指示に応じて、現在のフィールドの描画データを新たに生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力するリピート処理を実行することを特徴とする動作環境を、コンピュータ装置上で実現するためのプログラムを記録した、記録媒体である。
【0020】
【発明の実施の形態】
図1は、本発明の一実施形態に係るデータ変換装置を用いた露光描画システムの構成を示すブロック図である。図1において、データ変換装置4には、オンライン伝送路5を介して外部のCADシステム(図示せず)からCADデータが与えられる。また、データ変換装置4には、DAT等の記憶装置6に格納されたCADデータが、読み出されて与えられる。すなわち、データ変換装置4には、オンラインまたはオフラインの形式でCADデータが与えられる。データ変換装置4は、与えられたCADデータを、ベクトルデータに変換した後、さらにランレングスデータに変換し、レーザプロッタ7に出力する。本実施形態では、ベクトルデータからランレングスデータへの変換の仕方が従来と異なっている。
【0021】
図2は、図1におけるデータ変換装置4のより詳細な構成を示すブロック図である。図2において、データ変換装置4は、CPU41と、プログラムメモリ42と、RAM43とを備えている。プログラムメモリ42には、CPU41の動作プログラムが格納されており、CPU41は、この動作プログラムに従って、所定の処理を実行する。なお、プログラムメモリ42は、ROMによって構成され、予めプログラムが格納されていても良い。また、プログラムメモリ42は、書き換え可能な記憶媒体(RAM、ハードディスク、MOD)によって構成され、出荷前にプログラムがインストールされても良い。また、オンライン伝送路5を介してプログラムメモリに42にプログラムがダウンロードされても良い。RAM43は、CPU41が所定の処理を実行する際に必要な種々のデータを記憶する。
【0022】
図3は、図1におけるレーザプロッタ7の描画エリアを示す図である。図3に示すように、描画エリアは、Y軸方向に沿って延びる複数のストライプに分割されている。描画は、X軸方向を主走査方向、Y軸方向を副走査方向として移動する露光点によって各ストライプ毎に行われる。各ストライプは、複数のフィールドに分割されている。データ変換装置4における各種データ処理は、各フィールド毎に行われる。
【0023】
図4は、図1におけるデータ変換装置4の動作を示すフローチャートである。以下、この図4を参照して、データ変換装置4の動作を説明する。まず、ステップS1において、ベクトル変換処理が行われる。このステップS1では、CADデータがベクトルデータに変換される。次に、ステップS2において、スリット分割処理が行われる。このステップS2では、ステップS1で生成されたベクトルデータの内、複数のストライプに跨るベクトルデータをストライプ単位で分割する。次に、ステップS3において、出力データ生成処理が行われる。このステップS3では、ベクトルデータが、レーザプロッタ7に適合するランレングスデータに変換されて出力される。
【0024】
図5は、上記ステップS1のベクトル変換処理の動作をより詳細に示すフローチャートである。以下、この図5を参照して、ベクトル変換処理について説明する。まず、ステップS101において、データ変換装置4のCPU41は、CADデータを読み込み、RAM43に格納する。次に、CPU41は、RAM43に格納されたCADデータのフォーマット(例えば、アスキーコード形式)を、所定の中間データのフォーマット(例えば、バイナリコード形式)に変換する(ステップS102)。次に、CPU41は、全てのCADデータについて中間データへの変換が終了したか否かを判断し(ステップS103)、終了していない場合は、再びステップS101、S102の処理を繰り返す。変換された中間データは、RAM43に格納される。
【0025】
図6は、中間データの一例を、描画エリア上にイメージ化して示した図である。図6において、各データに付された番号は、データの出現順序を表している。周知のように、CADデータは、出力機でのペン先の移動が最短距離ですむように、また紙に対するペン先の接触/離反の回数が最小限ですむように、データの出現順序が定められている。中間データも、このCADデータと同様の出現順序を有している。従って、図6に示すように、中間データの出現順序は、描画エリアのX軸、Y軸方向に対して規則性を有していない。しかしながら、レーザプロッタ7における描画は、ストライプ毎(図3参照)に行われるので、データの出現順序を、描画エリアのX軸、Y軸方向に対して順番になるように、整理する必要がある。この処理は、従来の技術の項目で説明した変化点の並べ替え同様、ソートと呼ばれ、後に詳細に説明する。
【0026】
全てのCADデータが中間データに変換されると、CPU41は、RAM43から中間データを読み出す(ステップS104)。次に、CPU41は、読み出した中間データをベクトルデータに変換する(ステップS105)。以下、このベクトルデータへの変換処理について詳細に説明する。
【0027】
中間データが直線を示すデータの場合、ステップS105で生成されるベクトルデータは、前述した従来のシステムで生成されるベクトルデータと同様である。また、中間データが円を示すデータの場合にも、ステップS105で生成されるベクトルデータは、前述した従来のシステムで生成されるベクトルデータと同様である。すなわち、1つの円の輪郭線が複数の微小区間に分割され、各微小区間が直線を示すベクトルデータで表現される。
【0028】
図7は、上記ステップS105で生成されるベクトルのデータ構造を示している。図7において、ベクトルは、ベクトルの始点座標(sx,sy)と、終点座標(ex,ey)と、白黒フラグwbfとを含む。白黒フラグwbfには、X軸方向に沿って白領域から黒領域への境界を示す白黒フラグAと、黒領域から白領域への境界を示す白黒フラグBとがある。
【0029】
次に、CPU41は、ステップS105で生成されたベクトルデータを、描画エリアのX軸方向(主走査方向)に沿って順次ソートする(ステップS106)。すなわち、各ベクトルの始点のX座標を比較し、小さい順に並び替える。すると、例えば図6に示すデータは、その出現順序が、図8に示すように変更される。次に、CPU41は、全ての中間データについてベクトルデータへの変換およびソートが終了したか否かを判断し(ステップS107)、終了していない場合は、再びステップS104〜S106の処理を繰り返す。変換されたベクトルデータは、RAM43に格納される。全中間データについて、ベクトルデータへの変換およびソートが終了した場合、CPU41は、図4のメインルーチンに戻り、ステップS2のスリット分割処理を実行する。
【0030】
図9は、上記ステップS2のスリット分割処理の動作をより詳細に示すフローチャートである。以下、この図9を参照して、スリット分割処理について説明する。まず、ステップS201において、CPU41は、今回処理の対象とする1つのストライプを選択する。このとき、CPU41は、上位のストライプ(図3のストライプ0)から順番に選択していく。次に、CPU41は、選択したストライプに属するベクトルデータを、1個ずつRAM43から読み込む(ステップS202)。なお、ベクトルデータの始点座標が選択したストライプ内に存在する場合に、当該ベクトルデータが当該ストライプに属するものとされる。次に、CPU41は、ステップS202において読み出したベクトルデータを、描画エリアのY軸方向に沿ってソートする(ステップS203)。これによって、選択されたストライプ内において、データの出現順序が、Y軸方向(副走査方向)に並ぶように、付け替えられていく。また、図10に示すように、ベクトルが複数のストライプに跨る場合、ストライプの境界線でベクトルが分割される。処理中のストライプに属する方の分割後のベクトルは、該ストライプの中でソートされ、属しない方の分割後のベクトルは、次のストライプに属するベクトルとしてRAM43に記憶される。この分割処理では、ベクトルがストライプの境界線(以下、スリットと称す)を跨ぐとき、当該ベクトルは、当該スリットを境にして単純に前半部と後半部とに分割される。
【0031】
次に、CPU41は、選択した1ストライプ分の全てのデータについてY軸方向(副走査方向)のソートが終了したか否かを判断し(ステップS204)、終了していない場合は、再びステップS202およびS203の処理を繰り返す。一方、1ストライプ分の全てのベクトルデータについて分割処理とソートが終了した場合、CPU41は、描画エリア内の全ストライプについて処理が終了したか否かを判断し(ステップS205)、終了していない場合は、再びステップS201〜S204の処理を繰り返す。一方、描画エリア内の全ストライプについて処理が終了した場合、CPU41は、図4のメインルーチンに戻り、ステップS3の出力データ生成処理を実行する。
【0032】
図11は、上記ステップS3の出力データ生成処理の動作をより詳細に示すフローチャートである。以下、この図11を参照して、出力データ生成処理について説明する。まず、ステップS301において、CPU41は、今回処理の対象とする1つのストライプを選択する。このとき、CPU41は、上位のストライプ(図3のストライプ0)から順番に選択していく。次に、CPU41は、今回処理の対象とする1つのフィールドを選択する(ステップS302)。このとき、CPU41は、上位のフィールド(図3のフィールド0)から順番に選択していく。
【0033】
次に、CPU41は、選択したフィールドに含まれるベクトルデータを、RAM43から読み込む(ステップS303)。そして、選択したフィールドについて、リピート処理を実行するか否かを判断する(ステップS304)。以下、この判断処理について詳述する。
なお、ここで言うリピート処理とは、選択したフィールドの変化点データ(後述)を、前回選択したフィールドのそれで代用可能と判断して、変化点を算出/ソートして出力する代わりに、すでに求めた、前回選択したフィールドの変化点データを、現在のフィールドのデータとして出力することを指す。
以下では、リピート処理に関与するフィールドをリピート対象フィールドと呼ぶ。また、リピート対象フィールドのうち、リピート処理の実行対象となるフィールドをリピート実行フィールド、リピート処理に用いられる側のフィールドをリピートフィールドと呼ぶ。
【0034】
CPU41は、読み込んだ全部のベクトルデータが以下の3つの条件(条件#1〜#3)を全て満足する場合、選択したフィールドをリピート対象フィールドと判定する。ステップS304では、CPU41は、前回選択したフィールドがリピート対象フィールドであるのに引き続き、選択したフィールドもリピート対象フィールドである場合に、選択したフィールドをリピート実行フィールドと判定して、RAM43のワークエリア(後述)内の、前回選択したフィールドの変化点データを、現在のフィールドのランレングスデータとして出力する(ステップS305)。3条件のいずれか1つでも満足しないベクトルデータが存在する場合には、ステップS306に進む。
【0035】
条件#1…RAM43の繰り越し領域(後述)から読み込んだベクトルデータであること。
条件#2…Y軸方向に平行なベクトルデータであること。
条件#3…データ長が256ドット以上であること。
参考のために、リピート対象フィールド、リピートフィールドおよびリピート実行フィールドのイメージを図14に示す。
【0036】
次に、CPU41は、読み込んだベクトルデータに基づいて、変化点データを作成する(ステップS306)。以下、この変化点データの作成処理について詳述する。
なお、ここで言う変化点とは、露光が開始されまたは露光を終了するピクセルのことである。
【0037】
CPU41は、RAM43上に、図12に示すようなワークエリアを有している。このワークエリアは、1フィールド分の変化点データを格納するために用いられる。図12に示すごとく、ワークエリアは、複数のバッファ(本実施形態では、バッファ0〜バッファ255)で構成されている。バッファの数は、1フィールドに含まれるY軸方向のピクセル数に対応している。各バッファは、X軸方向の変化点を格納するために、1フィールド分に含まれるX軸方向のピクセル数に対応する数(本実施形態では、2560個)の記憶エリアを有している。各記憶エリアは、例えば32ビットで構成されており、各記憶エリアは、露光記録時の1ピクセルに対応している。
【0038】
図13は、ステップS306の変化点作成処理の詳細を示すフローチャートである。
CPU41はまず、前述のステップS303で読み込んだベクトルデータの中から、1つのベクトルを選択する(ステップS401)。
次からの処理は、選択されたベクトルが規定する直線の輪郭とY軸(走査線)との交点(変化点)の座標を見つけだす処理である。具体的には、直線の発生範囲内に含まれる変化点のY座標をセットし、これに対応するX座標を算出し、次に、Y座標を更新し同様の処理で次の変化点のX座標を算出するという手順になる。
【0039】
まず、CPU41は、内部のYカウンタ(図示せず)に対して、選択されたベクトルの始点のY座標をセットする(ステップS402)。次に、直線の通過点点座標データと、ステップS402でセットされたY座標とを、直線の方程式に当てはめて、セットされたY座標上に発生する変化点のX座標を算出する(ステップS403)。
【0040】
次に、CPU41は、ステップS403で求めたX座標値を、変化点データとして、ワークエリア内の対応するバッファ(すなわち、YカウンタにセットされたY座標に対応するバッファ)に格納する(ステップS404)。また、CPU41は、このとき、ベクトルが保有している白黒フラグwbfをX座標値と共に格納する。次に、CPU41は、Yカウンタの値を1だけデクリメントする(ステップS405)。これによって、YカウンタにセットされたY座標値が−1される。次に、CPU41は、YカウンタにセットされたY座標値が、現在選択されているフィールドから次のフィールドに移ったか否かを判断する(ステップS406)。YカウンタにセットされたY座標値が次のフィールドに移行していない場合、CPU41は、YカウンタにセットされたY座標値が、ベクトルデータの終点のY座標を越えたか否かを判断する(ステップS407)。YカウンタにセットされたY座標値が、ベクトルデータの終点のY座標を越えていない場合、CPU41は、再びステップS403以下の動作を繰り返す。
【0041】
ステップS403〜S407処理を繰り返し実行し、YカウンタにセットされたY座標値が、ベクトルデータの終点のY座標を越えた場合、CPU41は、そのベクトルデータに対する処理を終了し、図11のルーチンに戻る。図15は、変化点データの生成過程をイメージ的に示す図である。なお、図15は、一例として、直線を規定するベクトルデータにおける変化点データの生成過程を示している。
【0042】
ところで、上記ステップS406において、YカウンタにセットされたY座標値が、ベクトルデータの終点のY座標を越えたと判断した場合、CPU41は、繰り越し処理を実行する(ステップS408)。ベクトルデータの繰り越し処理では、図16に示すように、複数のフィールドに跨るベクトルにおいて、次のフィールドに突き抜ける部分の情報が、RAM43内の繰り越し領域に保存される。
【0043】
再び図11を参照して、CPU41は、選択したフィールド内に存在する全ベクトルデータに対する処理を終了したか否かを判断する(ステップS307)。未処理のベクトルデータが存在する場合、CPU41は、再びステップS306の処理に戻り、ステップS401で次のベクトルデータを選択して、ステップS402〜S408の処理を繰り返す。選択したフィールド内の全てのベクトルデータに対する処理が終了すると、CPU41は、ワークエリア内に格納されたそのフィールドに対する変化点データを、ランレングスデータとしてレーザプロッタ7に出力する(ステップS308)。応じて、レーザプロッタ7は、与えられたランレングスデータに基づいて描画を行う。参考のために、レーザプロッタ7における最終出力イメージの一例を図17に示す。
【0044】
次に、CPU41は、ステップS301で選択したストライプ内の全フィールドに対する出力データ生成処理が終了したか否かを判断する(ステップS309)。未処理のフィールドが存在する場合、CPU41は、ステップS302の処理に戻って次のフィールドを選択し、ステップS303〜S309において、次のフィールドに対する出力データ生成処理を実行する。一方、選択したストライプ内の全フィールドに対する出力データ生成処理が終了した場合、CPU41は、描画エリア内の全ストライプに対する出力データ生成処理が終了したか否かを判断する(ステップS310)。未処理のストライプが存在する場合、CPU41は、ステップS301に戻って次のストライプを選択し、ステップS302の〜S310において、次のフィールドに対する出力データ生成処理を実行する。全ストライプに対する出力データ生成処理が終了すると、CPU41は、その動作を終了する。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るデータ変換装置を用いた露光描画システムの構成を示すブロック図である。
【図2】図1におけるデータ変換装置4のより詳細な構成を示すブロック図である。
【図3】図1におけるレーザプロッタ7の描画エリアを示す図である。
【図4】図1におけるデータ変換装置4の動作を示すフローチャートである。
【図5】図4のステップS1のベクトル変換処理を、より詳細に示すフローチャートである。
【図6】中間データの一例を、描画エリア上にイメージ化して示した図である。
【図7】図5のステップS105で生成されるベクトルのデータ構造を示している。
【図8】図5のステップS105で生成されたベクトルデータを、描画エリアのX軸方向(ストライプと直交する方向)に沿ってソートした場合のデータの出現順序を示す図である。
【図9】図4のステップS2のスリット分割処理を、より詳細に示すフローチャートである。
【図10】複数のストライプに跨るベクトルを示す図である。
【図11】図4のステップS3の出力データ生成処理を、より詳細に示すフローチャートである。
【図12】1フィールド分の変化点データを格納するために用いられるワークエリアの構成を示す図である。
【図13】図11のステップS306の変化点作成処理の詳細を示すフローチャートである。
【図14】リピート対象フィールド、リピートフィールドおよびリピート実行フィールドのイメージを示す図である。
【図15】変化点データの生成過程をイメージ的に示す図である。
【図16】複数のフィールドに跨るベクトルを示す図である。
【図17】図1のレーザプロッタ7における最終出力イメージの一例を示す図である。
【図18】CADシステムを用いた従来の描画露光システムの概略構成を示すブロック図である。
【図19】図18のデータ変換装置2において作成されるベクトルデータの一例を示す図である。
【図20】図19のベクトルデータを変換して得られたランレングスデータを示す図である。
【符号の簡単な説明】
4…データ変換装置
5…オンライン伝送路
6…記憶装置
7…レーザプロッタ
41…CPU
42…プログラムメモリ
43…RAM
【発明の属する技術分野】
本発明は、データ変換装置に関し、より特定的には、例えばCADデータを変換して得られる、直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するためのデータ変換装置に関する。
【0002】
【従来の技術】
CADシステムは、コンピュータを利用した設計用作図システムであり、近年、様々な分野で利用されている。通常、CADシステムでは、X−Yプロッタやフォト製図機が出力機として用いられる。そのため、CADシステムの出力データの形式も、これらの出力機に適合するようなフォーマット(Gerberフォーマット、DSフォーマット、CALCOMPフォーマット等)を採用している。
【0003】
ところで、最近、CADシステムで作成されたデータを利用して、微細設計パターンを、乾板上に描画し、露光させることが行われている。このとき使用される描画露光機としては、レーザプロッタが一般的である。しかしながら、レーザプロッタの入力データの形式は、X−Yプロッタやフォト製図機の入力データの形式と異なるため、何らかのデータ変換が必要となる。
【0004】
図18は、CADシステムを用いた従来の描画露光システムの概略構成を示すブロック図である。図18において、CADシステム1からデータ変換装置2には、CADデータおよびアパーチャデータが出力される。CADデータは、直線の情報を始点と終点とによって表現し、円の情報を始点と終点と中心点とによって表現している。アパーチャデータは、描画に用いるペンの種類(すなわち、ペン先の形状)を示す情報を含む。さらに、データ変換装置2には、フォーマット情報および配置データが与えられる。フォーマット情報は、CADデータのフォーマット(Gerberフォーマット、DSフォーマット、CALCONPフォーマット等)を定義するための情報を含む。配置データは、CADデータを表示領域に配置するときの情報(位置、回転、ポジ/ネガ、拡大/縮小)を含む。
【0005】
データ変換装置2は、CADデータを、一旦、ベクトルデータに変換した後、ランレングスデータに変換する。ベクトルデータでは、表現する図形が円の場合、当該円の輪郭は、複数の微小区間に分割され、各分割区間がベクトルデータに置き換えられて表記される。ベクトルデータに変換するのは、作成した図形をベクトルデータの形式で保存しておけば、後に行う編集作業(ソート、移動、回転、変形、拡大/縮小等)が容易になるからである。ランレングスデータは、描画エリアの1走査ライン毎の描画データを、白領域から黒領域への変化点と黒領域から白領域への変化点とで表したデータであり、レーザプロッタ3の描画処理に適している。レーザプロッタ3は、与えられるランレングスデータに従って、1ライン毎に描画を行う。
【0006】
図19は、上記データ変換装置2において作成されるベクトルデータの一例を示す図である。図19に示すように、ベクトルデータは、ベクトルaおよびそれを平行移動したベクトルa’を含んでいる。図20は、図19のベクトルデータを変換して得られたランレングスデータを示す図である。図20に示すように、ランレングスデータは、白領域から黒領域への変化点(a1 ,…,a7 )と、黒領域から白領域への変化点(a’1 ,…,a’7 )とを含んでいる。
【0007】
図19および20において、ベクトルデータをランレングスデータに変換する際、最初、変化点のY座標をセットしてそれに対応するX座標を算出する処理を反復することによって、白領域から黒領域への一連の変化点を求め、次に、同様にして黒領域から白領域への一連の変化点を求める。そして、得られた変化点データをレーザプロッタ3の描画処理に適合するようにソートし、得られたデータをランレングスデータとして出力する。ここでソートとは、データを所定の基準で並べ替えることを意味する。図20では、a1 →a2 →…→a7 →a’1 →a’2 →…→a’7 の順に作成された変化点データは、ソートの結果、a1 →a’1 →a2 →a’2 →…→a7 →a’7 の順に出力される。
【0008】
【発明が解決しようとする課題】
微細設計パターン等では、CADデータをベクトルデータに変換したとき、ベクトルデータが膨大な量になる。よって、ベクトルデータをランレングスデータに変換するときには、これら膨大な量のベクトルデータについて上記のようにして変化点を算出する処理を行い、その後さらに、得られた変化点をソートする処理を行わねばならず、変換処理に許容しがたい程の長時間を要する。
【0009】
それ故に、本発明の目的は、ベクトルデータをランレングスデータに変換する際に、変化点を算出するための処理と変化点をソートする処理とが共に軽くて済み、データ処理時間を大幅に短縮化できるデータ変換装置および方法を提供することである。
【0010】
【課題を解決するための手段および発明の効果】
第1の発明は、直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するためのデータ変換装置であって、
1枚の描画エリアをY軸方向に沿って複数のフィールドに分割し、各フィールド毎に、ベクトルデータに基づいて、所定の出力機での描画処理に適合する描画データを生成する描画データ生成手段と、
描画データ生成手段の処理の対象となるベクトルデータが現在のフィールドを突き抜けるとき、その突き抜けた部分のデータを、直後のフィールドに繰り越すために一時記憶する記憶手段と、
現在のフィールドに含まれるデータが直前のフィールドから繰り越された繰り越しベクトルデータのみであって、しかもそれら繰り越しベクトルデータが全てY軸方向に平行でかつ1フィールド分以上の長さを有するか否かを、描画データ生成手段が描画データの生成を開始する前に記憶手段の記憶内容を参照して判定する判定手段と、
直前のフィールドについての判定手段の判定結果が肯定であり、さらに現在のフィールドについての判定結果も肯定である場合に、リピート処理の実行を指示する制御手段とを備え、
描画データ生成手段は、制御手段からの指示に応じて、現在のフィールドの描画データを新たに生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力するリピート処理を実行することを特徴としている。
【0011】
上記のように、第1の発明では、現在のフィールドに含まれるベクトルデータが全て直前のフィールドからの繰り越しベクトルデータであって、しかもY軸に平行でかつ1フィールド分以上の長さを有するか否かを判定する。そして、判定結果が直前のフィールドに引き続き現在のフィールドについても肯定であることによって、現在のフィールドの描画データを直前のフィールドのそれで代用可能と判断し、描画データを生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力する。これにより、特にY軸方向に平行な直線を多く含む微細設計パターン等に関して描画データを生成する処理が効果的に軽減され、データ処理時間を大幅に短縮化できる。
【0012】
第2の発明は、第1の発明において、
描画データは、X軸方向に沿って白から黒への変化点と黒から白への変化点とを記述したランレングスデータであることを特徴としている。
【0013】
上記のように、第2の発明では、描画データとしてランレングスデータを用いているので、レーザプロッタ等の出力機に適合するインターフェース装置が得られる。また、ベクトルデータからランレングスデータの変換では、変化点を求める処理と、求めた変化点をソートする処理とが共に軽減されるため、データ処理時間を特に大幅に短縮化できる。
【0014】
第3の発明は、第1または2の発明において、
出力機は、1枚の描画エリアをX軸方向に沿って複数のストライプに分割し、各ストライプ毎に描画処理を実行するように構成されており、
描画データ生成手段は、各ストライプを複数のフィールドに分割するように構成されており、
ベクトルデータが複数のストライプに跨るとき、当該ベクトルデータをストライプの境界線で分割するためのベクトル分割手段をさらに備えている。
【0015】
上記のように、第3の発明では、複数のストライプに跨るベクトルデータをストライプの境界線で分割するようにしているので、出力機においてストライプ毎に描画処理を実行することが可能となる。
【0016】
第4の発明は、直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するための方法であって、
1枚の描画エリアをY軸方向に沿って複数のフィールドに分割し、各フィールド毎に、ベクトルデータに基づいて、所定の出力機での描画処理に適合する描画データを生成する第1のステップと、
第1のステップでの処理の対象となるベクトルデータが現在のフィールドを突き抜けるとき、その突き抜けた部分のデータを直後のフィールドに繰り越す第2のステップと、
現在のフィールドに含まれるデータが第2のステップで直前のフィールドから繰り越された繰り越しベクトルデータのみであって、しかもそれら繰り越しベクトルデータが全てY軸方向に平行でかつ1フィールド分以上の長さを有するか否かを、第1のステップで描画データの生成が開始される前に判定する第3のステップと、
直前のフィールドについての第3のステップでの判定結果が肯定であり、さらに現在のフィールドについての判定結果も肯定である場合に、リピート処理の実行を指示する第4のステップとを備え、
第1のステップでは、第4のステップでの指示に応じて、現在のフィールドの描画データを新たに生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力するリピート処理を実行することを特徴としている。
【0017】
上記のように、第4の発明では、現在のフィールドに含まれるベクトルデータが全て直前のフィールドからの繰り越しベクトルデータであって、しかもY軸に平行でかつ1フィールド分以上の長さを有するか否かを判定する。そして、判定結果が直前のフィールドに引き続き現在のフィールドについても肯定であることによって、現在のフィールドの描画データを直前のフィールドのそれで代用可能と判断し、描画データを生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力する。これにより、特にY軸方向に平行な直線を多く含む微細設計パターン等に関して描画データを生成する処理が効果的に軽減され、データ処理時間を大幅に短縮化できる。
【0018】
第5の発明は、直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するための、コンピュータ装置において実行されるプログラムを記録した記録媒体であって、
1枚の描画エリアをY軸方向に沿って複数のフィールドに分割し、各フィールド毎に、ベクトルデータに基づいて、所定の出力機での描画処理に適合する描画データを生成する第1のステップと、
第1のステップでの処理の対象となるベクトルデータが現在のフィールドを突き抜けるとき、その突き抜けた部分のデータを直後のフィールドに繰り越す第2のステップと、
現在のフィールドに含まれるデータが第2のステップで直前のフィールドから繰り越された繰り越しベクトルデータのみであって、しかもそれら繰り越しベクトルデータが全てY軸方向に平行でかつ1フィールド分以上の長さを有するか否かを、第1のステップで描画データの生成が開始される前に判定する第3のステップと、
直前のフィールドについての第3のステップでの判定結果が肯定であり、さらに現在のフィールドについての判定結果も肯定である場合に、リピート処理の実行を指示する第4のステップとを備え、
第1のステップでは、第4のステップでの指示に応じて、現在のフィールドの描画データを新たに生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力するリピート処理を実行することを特徴とする動作環境を、コンピュータ装置上で実現するためのプログラムを記録した、記録媒体である。
【0020】
【発明の実施の形態】
図1は、本発明の一実施形態に係るデータ変換装置を用いた露光描画システムの構成を示すブロック図である。図1において、データ変換装置4には、オンライン伝送路5を介して外部のCADシステム(図示せず)からCADデータが与えられる。また、データ変換装置4には、DAT等の記憶装置6に格納されたCADデータが、読み出されて与えられる。すなわち、データ変換装置4には、オンラインまたはオフラインの形式でCADデータが与えられる。データ変換装置4は、与えられたCADデータを、ベクトルデータに変換した後、さらにランレングスデータに変換し、レーザプロッタ7に出力する。本実施形態では、ベクトルデータからランレングスデータへの変換の仕方が従来と異なっている。
【0021】
図2は、図1におけるデータ変換装置4のより詳細な構成を示すブロック図である。図2において、データ変換装置4は、CPU41と、プログラムメモリ42と、RAM43とを備えている。プログラムメモリ42には、CPU41の動作プログラムが格納されており、CPU41は、この動作プログラムに従って、所定の処理を実行する。なお、プログラムメモリ42は、ROMによって構成され、予めプログラムが格納されていても良い。また、プログラムメモリ42は、書き換え可能な記憶媒体(RAM、ハードディスク、MOD)によって構成され、出荷前にプログラムがインストールされても良い。また、オンライン伝送路5を介してプログラムメモリに42にプログラムがダウンロードされても良い。RAM43は、CPU41が所定の処理を実行する際に必要な種々のデータを記憶する。
【0022】
図3は、図1におけるレーザプロッタ7の描画エリアを示す図である。図3に示すように、描画エリアは、Y軸方向に沿って延びる複数のストライプに分割されている。描画は、X軸方向を主走査方向、Y軸方向を副走査方向として移動する露光点によって各ストライプ毎に行われる。各ストライプは、複数のフィールドに分割されている。データ変換装置4における各種データ処理は、各フィールド毎に行われる。
【0023】
図4は、図1におけるデータ変換装置4の動作を示すフローチャートである。以下、この図4を参照して、データ変換装置4の動作を説明する。まず、ステップS1において、ベクトル変換処理が行われる。このステップS1では、CADデータがベクトルデータに変換される。次に、ステップS2において、スリット分割処理が行われる。このステップS2では、ステップS1で生成されたベクトルデータの内、複数のストライプに跨るベクトルデータをストライプ単位で分割する。次に、ステップS3において、出力データ生成処理が行われる。このステップS3では、ベクトルデータが、レーザプロッタ7に適合するランレングスデータに変換されて出力される。
【0024】
図5は、上記ステップS1のベクトル変換処理の動作をより詳細に示すフローチャートである。以下、この図5を参照して、ベクトル変換処理について説明する。まず、ステップS101において、データ変換装置4のCPU41は、CADデータを読み込み、RAM43に格納する。次に、CPU41は、RAM43に格納されたCADデータのフォーマット(例えば、アスキーコード形式)を、所定の中間データのフォーマット(例えば、バイナリコード形式)に変換する(ステップS102)。次に、CPU41は、全てのCADデータについて中間データへの変換が終了したか否かを判断し(ステップS103)、終了していない場合は、再びステップS101、S102の処理を繰り返す。変換された中間データは、RAM43に格納される。
【0025】
図6は、中間データの一例を、描画エリア上にイメージ化して示した図である。図6において、各データに付された番号は、データの出現順序を表している。周知のように、CADデータは、出力機でのペン先の移動が最短距離ですむように、また紙に対するペン先の接触/離反の回数が最小限ですむように、データの出現順序が定められている。中間データも、このCADデータと同様の出現順序を有している。従って、図6に示すように、中間データの出現順序は、描画エリアのX軸、Y軸方向に対して規則性を有していない。しかしながら、レーザプロッタ7における描画は、ストライプ毎(図3参照)に行われるので、データの出現順序を、描画エリアのX軸、Y軸方向に対して順番になるように、整理する必要がある。この処理は、従来の技術の項目で説明した変化点の並べ替え同様、ソートと呼ばれ、後に詳細に説明する。
【0026】
全てのCADデータが中間データに変換されると、CPU41は、RAM43から中間データを読み出す(ステップS104)。次に、CPU41は、読み出した中間データをベクトルデータに変換する(ステップS105)。以下、このベクトルデータへの変換処理について詳細に説明する。
【0027】
中間データが直線を示すデータの場合、ステップS105で生成されるベクトルデータは、前述した従来のシステムで生成されるベクトルデータと同様である。また、中間データが円を示すデータの場合にも、ステップS105で生成されるベクトルデータは、前述した従来のシステムで生成されるベクトルデータと同様である。すなわち、1つの円の輪郭線が複数の微小区間に分割され、各微小区間が直線を示すベクトルデータで表現される。
【0028】
図7は、上記ステップS105で生成されるベクトルのデータ構造を示している。図7において、ベクトルは、ベクトルの始点座標(sx,sy)と、終点座標(ex,ey)と、白黒フラグwbfとを含む。白黒フラグwbfには、X軸方向に沿って白領域から黒領域への境界を示す白黒フラグAと、黒領域から白領域への境界を示す白黒フラグBとがある。
【0029】
次に、CPU41は、ステップS105で生成されたベクトルデータを、描画エリアのX軸方向(主走査方向)に沿って順次ソートする(ステップS106)。すなわち、各ベクトルの始点のX座標を比較し、小さい順に並び替える。すると、例えば図6に示すデータは、その出現順序が、図8に示すように変更される。次に、CPU41は、全ての中間データについてベクトルデータへの変換およびソートが終了したか否かを判断し(ステップS107)、終了していない場合は、再びステップS104〜S106の処理を繰り返す。変換されたベクトルデータは、RAM43に格納される。全中間データについて、ベクトルデータへの変換およびソートが終了した場合、CPU41は、図4のメインルーチンに戻り、ステップS2のスリット分割処理を実行する。
【0030】
図9は、上記ステップS2のスリット分割処理の動作をより詳細に示すフローチャートである。以下、この図9を参照して、スリット分割処理について説明する。まず、ステップS201において、CPU41は、今回処理の対象とする1つのストライプを選択する。このとき、CPU41は、上位のストライプ(図3のストライプ0)から順番に選択していく。次に、CPU41は、選択したストライプに属するベクトルデータを、1個ずつRAM43から読み込む(ステップS202)。なお、ベクトルデータの始点座標が選択したストライプ内に存在する場合に、当該ベクトルデータが当該ストライプに属するものとされる。次に、CPU41は、ステップS202において読み出したベクトルデータを、描画エリアのY軸方向に沿ってソートする(ステップS203)。これによって、選択されたストライプ内において、データの出現順序が、Y軸方向(副走査方向)に並ぶように、付け替えられていく。また、図10に示すように、ベクトルが複数のストライプに跨る場合、ストライプの境界線でベクトルが分割される。処理中のストライプに属する方の分割後のベクトルは、該ストライプの中でソートされ、属しない方の分割後のベクトルは、次のストライプに属するベクトルとしてRAM43に記憶される。この分割処理では、ベクトルがストライプの境界線(以下、スリットと称す)を跨ぐとき、当該ベクトルは、当該スリットを境にして単純に前半部と後半部とに分割される。
【0031】
次に、CPU41は、選択した1ストライプ分の全てのデータについてY軸方向(副走査方向)のソートが終了したか否かを判断し(ステップS204)、終了していない場合は、再びステップS202およびS203の処理を繰り返す。一方、1ストライプ分の全てのベクトルデータについて分割処理とソートが終了した場合、CPU41は、描画エリア内の全ストライプについて処理が終了したか否かを判断し(ステップS205)、終了していない場合は、再びステップS201〜S204の処理を繰り返す。一方、描画エリア内の全ストライプについて処理が終了した場合、CPU41は、図4のメインルーチンに戻り、ステップS3の出力データ生成処理を実行する。
【0032】
図11は、上記ステップS3の出力データ生成処理の動作をより詳細に示すフローチャートである。以下、この図11を参照して、出力データ生成処理について説明する。まず、ステップS301において、CPU41は、今回処理の対象とする1つのストライプを選択する。このとき、CPU41は、上位のストライプ(図3のストライプ0)から順番に選択していく。次に、CPU41は、今回処理の対象とする1つのフィールドを選択する(ステップS302)。このとき、CPU41は、上位のフィールド(図3のフィールド0)から順番に選択していく。
【0033】
次に、CPU41は、選択したフィールドに含まれるベクトルデータを、RAM43から読み込む(ステップS303)。そして、選択したフィールドについて、リピート処理を実行するか否かを判断する(ステップS304)。以下、この判断処理について詳述する。
なお、ここで言うリピート処理とは、選択したフィールドの変化点データ(後述)を、前回選択したフィールドのそれで代用可能と判断して、変化点を算出/ソートして出力する代わりに、すでに求めた、前回選択したフィールドの変化点データを、現在のフィールドのデータとして出力することを指す。
以下では、リピート処理に関与するフィールドをリピート対象フィールドと呼ぶ。また、リピート対象フィールドのうち、リピート処理の実行対象となるフィールドをリピート実行フィールド、リピート処理に用いられる側のフィールドをリピートフィールドと呼ぶ。
【0034】
CPU41は、読み込んだ全部のベクトルデータが以下の3つの条件(条件#1〜#3)を全て満足する場合、選択したフィールドをリピート対象フィールドと判定する。ステップS304では、CPU41は、前回選択したフィールドがリピート対象フィールドであるのに引き続き、選択したフィールドもリピート対象フィールドである場合に、選択したフィールドをリピート実行フィールドと判定して、RAM43のワークエリア(後述)内の、前回選択したフィールドの変化点データを、現在のフィールドのランレングスデータとして出力する(ステップS305)。3条件のいずれか1つでも満足しないベクトルデータが存在する場合には、ステップS306に進む。
【0035】
条件#1…RAM43の繰り越し領域(後述)から読み込んだベクトルデータであること。
条件#2…Y軸方向に平行なベクトルデータであること。
条件#3…データ長が256ドット以上であること。
参考のために、リピート対象フィールド、リピートフィールドおよびリピート実行フィールドのイメージを図14に示す。
【0036】
次に、CPU41は、読み込んだベクトルデータに基づいて、変化点データを作成する(ステップS306)。以下、この変化点データの作成処理について詳述する。
なお、ここで言う変化点とは、露光が開始されまたは露光を終了するピクセルのことである。
【0037】
CPU41は、RAM43上に、図12に示すようなワークエリアを有している。このワークエリアは、1フィールド分の変化点データを格納するために用いられる。図12に示すごとく、ワークエリアは、複数のバッファ(本実施形態では、バッファ0〜バッファ255)で構成されている。バッファの数は、1フィールドに含まれるY軸方向のピクセル数に対応している。各バッファは、X軸方向の変化点を格納するために、1フィールド分に含まれるX軸方向のピクセル数に対応する数(本実施形態では、2560個)の記憶エリアを有している。各記憶エリアは、例えば32ビットで構成されており、各記憶エリアは、露光記録時の1ピクセルに対応している。
【0038】
図13は、ステップS306の変化点作成処理の詳細を示すフローチャートである。
CPU41はまず、前述のステップS303で読み込んだベクトルデータの中から、1つのベクトルを選択する(ステップS401)。
次からの処理は、選択されたベクトルが規定する直線の輪郭とY軸(走査線)との交点(変化点)の座標を見つけだす処理である。具体的には、直線の発生範囲内に含まれる変化点のY座標をセットし、これに対応するX座標を算出し、次に、Y座標を更新し同様の処理で次の変化点のX座標を算出するという手順になる。
【0039】
まず、CPU41は、内部のYカウンタ(図示せず)に対して、選択されたベクトルの始点のY座標をセットする(ステップS402)。次に、直線の通過点点座標データと、ステップS402でセットされたY座標とを、直線の方程式に当てはめて、セットされたY座標上に発生する変化点のX座標を算出する(ステップS403)。
【0040】
次に、CPU41は、ステップS403で求めたX座標値を、変化点データとして、ワークエリア内の対応するバッファ(すなわち、YカウンタにセットされたY座標に対応するバッファ)に格納する(ステップS404)。また、CPU41は、このとき、ベクトルが保有している白黒フラグwbfをX座標値と共に格納する。次に、CPU41は、Yカウンタの値を1だけデクリメントする(ステップS405)。これによって、YカウンタにセットされたY座標値が−1される。次に、CPU41は、YカウンタにセットされたY座標値が、現在選択されているフィールドから次のフィールドに移ったか否かを判断する(ステップS406)。YカウンタにセットされたY座標値が次のフィールドに移行していない場合、CPU41は、YカウンタにセットされたY座標値が、ベクトルデータの終点のY座標を越えたか否かを判断する(ステップS407)。YカウンタにセットされたY座標値が、ベクトルデータの終点のY座標を越えていない場合、CPU41は、再びステップS403以下の動作を繰り返す。
【0041】
ステップS403〜S407処理を繰り返し実行し、YカウンタにセットされたY座標値が、ベクトルデータの終点のY座標を越えた場合、CPU41は、そのベクトルデータに対する処理を終了し、図11のルーチンに戻る。図15は、変化点データの生成過程をイメージ的に示す図である。なお、図15は、一例として、直線を規定するベクトルデータにおける変化点データの生成過程を示している。
【0042】
ところで、上記ステップS406において、YカウンタにセットされたY座標値が、ベクトルデータの終点のY座標を越えたと判断した場合、CPU41は、繰り越し処理を実行する(ステップS408)。ベクトルデータの繰り越し処理では、図16に示すように、複数のフィールドに跨るベクトルにおいて、次のフィールドに突き抜ける部分の情報が、RAM43内の繰り越し領域に保存される。
【0043】
再び図11を参照して、CPU41は、選択したフィールド内に存在する全ベクトルデータに対する処理を終了したか否かを判断する(ステップS307)。未処理のベクトルデータが存在する場合、CPU41は、再びステップS306の処理に戻り、ステップS401で次のベクトルデータを選択して、ステップS402〜S408の処理を繰り返す。選択したフィールド内の全てのベクトルデータに対する処理が終了すると、CPU41は、ワークエリア内に格納されたそのフィールドに対する変化点データを、ランレングスデータとしてレーザプロッタ7に出力する(ステップS308)。応じて、レーザプロッタ7は、与えられたランレングスデータに基づいて描画を行う。参考のために、レーザプロッタ7における最終出力イメージの一例を図17に示す。
【0044】
次に、CPU41は、ステップS301で選択したストライプ内の全フィールドに対する出力データ生成処理が終了したか否かを判断する(ステップS309)。未処理のフィールドが存在する場合、CPU41は、ステップS302の処理に戻って次のフィールドを選択し、ステップS303〜S309において、次のフィールドに対する出力データ生成処理を実行する。一方、選択したストライプ内の全フィールドに対する出力データ生成処理が終了した場合、CPU41は、描画エリア内の全ストライプに対する出力データ生成処理が終了したか否かを判断する(ステップS310)。未処理のストライプが存在する場合、CPU41は、ステップS301に戻って次のストライプを選択し、ステップS302の〜S310において、次のフィールドに対する出力データ生成処理を実行する。全ストライプに対する出力データ生成処理が終了すると、CPU41は、その動作を終了する。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るデータ変換装置を用いた露光描画システムの構成を示すブロック図である。
【図2】図1におけるデータ変換装置4のより詳細な構成を示すブロック図である。
【図3】図1におけるレーザプロッタ7の描画エリアを示す図である。
【図4】図1におけるデータ変換装置4の動作を示すフローチャートである。
【図5】図4のステップS1のベクトル変換処理を、より詳細に示すフローチャートである。
【図6】中間データの一例を、描画エリア上にイメージ化して示した図である。
【図7】図5のステップS105で生成されるベクトルのデータ構造を示している。
【図8】図5のステップS105で生成されたベクトルデータを、描画エリアのX軸方向(ストライプと直交する方向)に沿ってソートした場合のデータの出現順序を示す図である。
【図9】図4のステップS2のスリット分割処理を、より詳細に示すフローチャートである。
【図10】複数のストライプに跨るベクトルを示す図である。
【図11】図4のステップS3の出力データ生成処理を、より詳細に示すフローチャートである。
【図12】1フィールド分の変化点データを格納するために用いられるワークエリアの構成を示す図である。
【図13】図11のステップS306の変化点作成処理の詳細を示すフローチャートである。
【図14】リピート対象フィールド、リピートフィールドおよびリピート実行フィールドのイメージを示す図である。
【図15】変化点データの生成過程をイメージ的に示す図である。
【図16】複数のフィールドに跨るベクトルを示す図である。
【図17】図1のレーザプロッタ7における最終出力イメージの一例を示す図である。
【図18】CADシステムを用いた従来の描画露光システムの概略構成を示すブロック図である。
【図19】図18のデータ変換装置2において作成されるベクトルデータの一例を示す図である。
【図20】図19のベクトルデータを変換して得られたランレングスデータを示す図である。
【符号の簡単な説明】
4…データ変換装置
5…オンライン伝送路
6…記憶装置
7…レーザプロッタ
41…CPU
42…プログラムメモリ
43…RAM
Claims (5)
- 直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するためのデータ変換装置であって、
1枚の描画エリアをY軸方向に沿って複数のフィールドに分割し、各フィールド毎に、前記ベクトルデータに基づいて、所定の出力機での描画処理に適合する描画データを生成する描画データ生成手段と、
前記描画データ生成手段の処理の対象となるベクトルデータが現在のフィールドを突き抜けるとき、その突き抜けた部分のデータを、直後のフィールドに繰り越すために一時記憶する記憶手段と、
現在のフィールドに含まれるデータが直前のフィールドから繰り越された繰り越しベクトルデータのみであって、しかもそれら繰り越しベクトルデータが全てY軸方向に平行でかつ1フィールド分以上の長さを有するか否かを、前記描画データ生成手段が描画データの生成を開始する前に前記記憶手段の記憶内容を参照して判定する判定手段と、
直前のフィールドについての前記判定手段の判定結果が肯定であり、さらに現在のフィールドについての判定結果も肯定である場合に、リピート処理の実行を指示する制御手段とを備え、
前記描画データ生成手段は、前記制御手段からの指示に応じて、現在のフィールドの描画データを新たに生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力するリピート処理を実行することを特徴とする、データ変換装置。 - 前記描画データは、X軸方向に沿って白から黒への変化点と黒から白への変化点とを記述したランレングスデータであることを特徴とする、請求項1に記載のデータ変換装置。
- 前記出力機は、1枚の描画エリアをX軸方向に沿って複数のストライプに分割し、各ストライプ毎に描画処理を実行するように構成されており、
前記描画データ生成手段は、前記各ストライプを複数のフィールドに分割するように構成されており、
前記ベクトルデータが複数の前記ストライプに跨るとき、当該ベクトルデータをストライプの境界線で分割するためのベクトル分割手段をさらに備える、請求項1または2に記載のデータ変換装置。 - 直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するデータ変換装置において用いられる方法であって、
前記データ変換装置が、1枚の描画エリアをY軸方向に沿って複数のフィールドに分割し、各フィールド毎に、前記ベクトルデータに基づいて、所定の出力機での描画処理に適合する描画データを生成する第1のステップと、
前記第1のステップでの処理の対象となるベクトルデータが現在のフィールドを突き抜けるとき、前記データ変換装置が、その突き抜けた部分のデータを直後のフィールドに繰り越すために記憶手段に一時記憶する第2のステップと、
現在のフィールドに含まれるデータが前記第2のステップで直前のフィールドから繰り越された繰り越しベクトルデータのみであって、しかもそれら繰り越しベクトルデータが全てY軸方向に平行でかつ1フィールド分以上の長さを有するか否かを、前記データ変換装置が、前記第1のステップで描画データの生成が開始される前に前記第2のステップにおいて記憶した記憶内容を参照して判定する第3のステップと、
直前のフィールドについての前記第3のステップでの判定結果が肯定であり、さらに現在のフィールドについての判定結果も肯定である場合に、前記データ変換装置がリピート処理を実行する第4のステップとを有し、
前記第1のステップでは、前記第4のステップでの指示に応じて、現在のフィールドの描画データを新たに生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力するリピート処理を前記データ変換装置が実行することを特徴とする、データ変換方法。 - 直線をベクトルによって表現したベクトルデータを、他の形式のデータに変換するための、コンピュータ装置において実行されるプログラムを記録した記録媒体であって、
1枚の描画エリアをY軸方向に沿って複数のフィールドに分割し、各フィールド毎に、前記ベクトルデータに基づいて、所定の出力機での描画処理に適合する描画データを生成する第1のステップと、
前記第1のステップでの処理の対象となるベクトルデータが現在のフィールドを突き抜けるとき、その突き抜けた部分のデータを直後のフィールドに繰り越すために前記コンピュータ装置のメモリに一時的に保持させる第2のステップと、
現在のフィールドに含まれるデータが前記第2のステップで直前のフィールドから繰り越された繰り越しベクトルデータのみであって、しかもそれら繰り越しベクトルデータが全てY軸方向に平行でかつ1フィールド分以上の長さを有するか否かを、前記第1のステップで描画データの生成が開始される前に前記メモリの記憶内容を参照して判定する第3のステップと、
直前のフィールドについての前記第3のステップでの判定結果が肯定であり、さらに現在のフィールドについての判定結果も肯定である場合に、リピート処理の実行を指示する第4のステップとを前記コンピュータ装置に実行させ、
前記第1のステップでは、前記第4のステップでの指示に応じて、現在のフィールドの描画データを新たに生成する代わりに、直前のフィールドの描画データを現在のフィールドの描画データとして出力するリピート処理を前記コンピュータ装置が実行することを特徴とするプログラムを記録した、記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30090297A JP3700810B2 (ja) | 1997-10-31 | 1997-10-31 | データ変換方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30090297A JP3700810B2 (ja) | 1997-10-31 | 1997-10-31 | データ変換方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11134381A JPH11134381A (ja) | 1999-05-21 |
JP3700810B2 true JP3700810B2 (ja) | 2005-09-28 |
Family
ID=17890512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30090297A Expired - Fee Related JP3700810B2 (ja) | 1997-10-31 | 1997-10-31 | データ変換方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3700810B2 (ja) |
-
1997
- 1997-10-31 JP JP30090297A patent/JP3700810B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11134381A (ja) | 1999-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR950012083B1 (ko) | 문자/도형 발생 장치 및 정보 처리장치 | |
JPS63280388A (ja) | ラスタ・アウトプット・スキャナ上に埋められた輪郭を表示する方法 | |
US5524198A (en) | Character or graphic processing method and apparatus | |
US4972330A (en) | Clipping process and processor | |
EP0661669B1 (en) | Character processing apparatus and method | |
US5920324A (en) | Character pattern producing apparatus capable of producing character pattern having connected character elements | |
EP0356262B1 (en) | Image processing apparatus | |
US5088050A (en) | Apparatus for preparing output data from input image data, using basic output-image unit pattern data | |
JP3700810B2 (ja) | データ変換方法および装置 | |
US5936637A (en) | Image processing system having outline font data input | |
JPH08180200A (ja) | 図形配置装置 | |
EP0542317B1 (en) | Apparatus for generating a character pattern for a serial printer | |
US5091974A (en) | Method of processing linework with electronic image processor | |
EP0458571A2 (en) | Image processing method and apparatus | |
JP2003099770A (ja) | データ変換装置およびその方法、並びに当該方法を用いたプログラム | |
JP2680295B2 (ja) | 電子ビーム露光装置の描画データ作成方法及びその装置 | |
JP3494425B2 (ja) | 画像変換方法およびそれを実行するデータ変換装置 | |
JP2768331B2 (ja) | 曲線の直線近似装置 | |
JP3087427B2 (ja) | 輪郭線データ変換装置 | |
JP2937508B2 (ja) | ビットマップ展開方式 | |
JPH1021415A (ja) | 図形処理装置並びに図形処理方法 | |
JP2762768B2 (ja) | アウトラインデータ描画装置 | |
JP2857260B2 (ja) | 矩形領域の判定方法 | |
JPH1063245A (ja) | 罫線文字作成方法および装置 | |
JPH06168337A (ja) | 塗り潰し処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050323 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050421 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050706 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050706 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |