(57)【要約】【課題】  描画図形を示すための描画データを処理し、データ量を縮小する。【解決手段】  描画される図形に関する情報を、描画ベクタデータとしてワークステーションから描画装置へ転送（ステップＳ１０１）し、描画装置において、描画ベクタデータに基づいて、ラスタデータであるイメージ画像を形成する（ステップＳ１０２）。さらに、イメージ画像からランレングスデータを抽出（ステップＳ１０３）し、ランレングスデータをグループ化してグループ化ランレングスデータとする（ステップＳ１０４）。このグループ化ランレングスデータにより示される図形の輪郭に基づき、描画ベクタデータよりもデータ量の少ない輪郭ベクタデータを生成する（ステップＳ１０５）。【選択図】        図２
2005084798.tif 000002
【特許請求の範囲】
【請求項１】
被描画体に描画される図形に関する情報を、前記図形を示す描画ベクタデータとして、描画装置に転送する転送工程と、
前記描画装置内において、前記描画ベクタデータを処理して前記図形を示すラスタデータであるイメージ画像を形成するイメージ画像形成工程と、
前記イメージ画像からランレングスデータを抽出するデータ抽出工程と、
前記ランレングスデータをグループ化してグループ化ランレングスデータとするデータ統合工程と、
前記グループ化ランレングスデータにより示される図形の輪郭に基づく輪郭ベクタデータを、そのデータ量が前記描画ベクタデータよりも少なくなるようにして生成する輪郭データ生成工程と
を備えることを特徴とする描画データ処理方法。
【請求項２】
前記データ抽出工程が、
前記イメージ画像を規定する描画座標の座標軸に平行な第１の走査線に沿って前記イメージ画像を走査して、前記走査線上の前記ランレングスデータの始点座標および終点座標を抽出するランレングスデータ抽出工程と、
前記始点座標と前記終点座標とを、前記走査線を特定するライン番号にそれぞれ関連付けてメモリに格納するランレングスデータ格納工程と
を備えることを特徴とする請求項１に記載の描画データ処理方法。
【請求項３】
前記データ統合工程が、
前記第１の走査線上にある第１のランレングスデータと、前記第１の走査線に隣接する第２の走査線上にある第２のランレングスデータとの重複を、第１および第２のランレングスデータそれぞれの始点座標および終点座標と、前記第１の走査線および前記第２の走査線のライン番号とに基づいて検出するランレングスデータ重複検出工程と、
前記ランレングスデータ重複検出工程により、前記第１ランレングスデータと前記第２ランレングスデータとが重複していると判断された場合に、前記第１ランレングスデータの前記始点座標と前記第２ランレングスデータの前記始点座標とをグループ化して始点座標群を形成し、前記第１ランレングスデータの前記終点座標と前記第２ランレングスデータの前記終点座標とをグループ化して終点座標群を形成するグループ化ランレングスデータ生成工程と
を備えることを特徴とする請求項２に記載の描画データ処理方法。
【請求項４】
前記輪郭データ生成工程が、
前記始点座標群から始点輪郭ベクタデータを生成する始点側輪郭データ生成工程と、
前記終点座標群から終点輪郭ベクタデータを生成する終点側輪郭データ生成工程とを備えることを特徴とする請求項３に記載の描画データ処理方法。
【請求項５】
前記輪郭データ生成工程が、
前記始点輪郭ベクタデータの一部を排除始点輪郭ベクタデータとして除く間引き処理を行って前記始点輪郭ベクタデータを１本以上の連続する線分から成るデータに近似して、前記始点輪郭ベクタデータが屈曲する点を輪郭点として抽出し、
前記終点輪郭ベクタデータの一部を排除終点輪郭ベクタデータとして除く間引き処理を行って前記終点輪郭ベクタデータを１本以上の連続する線分から成るデータに近似して、前記終点輪郭ベクタデータが屈曲する点を輪郭点として抽出する
輪郭点抽出工程をさらに備えることを特徴とする請求項４に記載の描画データ処理方法。
【請求項６】
前記輪郭点抽出工程が、
前記図形の描画における解像度を設定することにより、前記始点輪郭ベクタデータに対する前記排除始点輪郭ベクタデータの割合と、前記終点輪郭ベクタデータに対する前記排除終点輪郭ベクタデータの割合とを変更可能であることを特徴とする請求項５に記載の描画データ処理方法。
【請求項７】
前記イメージ画像形成工程において前記描画ベクタデータの一部を処理して前記イメージ画像の一部を形成し、
前記イメージ画像形成工程と前記データ抽出工程と前記データ統合工程と前記輪郭データ生成工程とを反復することにより、前記図形に関する全ての情報が、前記輪郭ベクタデータにより示されることを特徴とする請求項１に記載の描画データ処理方法。
【請求項８】
前記描画ベクタデータが、複数のレイヤーから構成されていることを特徴とする請求項１に記載の描画データ処理方法。
【請求項９】
ワークステーションにおいて、被描画体に描画される図形を示す描画ベクタデータを処理し、前記図形を示すラスタデータであるイメージ画像を形成するイメージ画像形成工程と、
前記イメージ画像からランレングスデータを抽出するデータ抽出工程と、
前記ランレングスデータをグループ化してグループ化ランレングスデータとするデータ統合工程と、
前記グループ化ランレングスデータにより示される図形の輪郭に基づく輪郭ベクタデータを、そのデータ量が前記描画ベクタデータよりも少なくなるようにして生成する輪郭データ生成工程と、
前記輪郭ベクタデータを描画装置に転送する転送工程とを備えることを特徴とする描画データ処理方法。
【請求項１０】
被描画体に描画される図形に関する情報を、前記図形を示す描画ベクタデータとして受信する受信手段と、
前記描画ベクタデータを処理して前記図形を示すラスタデータであるイメージ画像を形成するイメージ画像形成手段と、
前記イメージ画像からランレングスデータを抽出するデータ抽出手段と、
前記ランレングスデータをグループ化してグループ化ランレングスデータとするデータ統合手段と、
前記グループ化ランレングスデータの輪郭に基づく輪郭ベクタデータを、そのデータ量が前記描画ベクタデータよりも少なくなるようにして生成する輪郭データ生成手段と
を備えること特徴とする描画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画装置が描画する図形のデータの処理方法、及びその描画装置に関する。
【背景技術】
【０００２】
従来、描画装置により、微細なパターンや文字等の記号が、被描画体の表面に光学的に描画されている（例えば特許文献１）。描画の代表例としては、フォトリゾグラフィの手法によるプリント回路基板への回路パターンの印刷が挙げられ、この場合、被描画体はフォトマスク用感光フィルムや、基板上のフォトレジスト層となる。
【０００３】
【特許文献１】特開２００３−８４４４４号公報（段落［０００２〜０００７］）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の描画装置は、ＣＡＤ等の上位ＣＰＵから送信されるベクタデータ（回路データ）に基づいて描画イメージ（ラスタデータ）を作成して、被描画体の露光を行っている。しかしながらこの方法においては、描画される図形を示すためのデータ量が多くなり、データ変換および転送に負担がかかる。
【０００５】
そこで本発明においては、描画図形を示すための描画データを処理し、データ量を縮小することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の描画データ処理方法は、被描画体に描画される図形に関する情報を、描画ベクタデータとして描画装置に転送する転送工程と、描画装置内において、描画ベクタデータを処理して図形を示すラスタデータであるイメージ画像を形成するイメージ画像形成工程とを備えている。さらに、イメージ画像からランレングスデータを抽出するデータ抽出工程と、ランレングスデータをグループ化してグループ化ランレングスデータとするデータ統合工程と、グループ化ランレングスデータにより示される図形の輪郭に基づく輪郭ベクタデータを生成する輪郭データ生成工程とを備えている。
【０００７】
データ抽出工程は、イメージ画像を規定する描画座標の座標軸に平行な第１の走査線に沿ってイメージ画像を走査し、走査線上のランレングスデータの始点座標および終点座標を抽出するランレングスデータ抽出工程と、抽出された始点座標と終点座標とを、走査線を特定するライン番号にそれぞれ関連付けてメモリに格納するランレングスデータ格納工程とを備えていることが好ましい。
【０００８】
データ統合工程は、第１の走査線上にある第１のランレングスデータと、第１の走査線に隣接する第２の走査線上にある第２のランレングスデータとの重複を、第１および第２のランレングスデータのそれぞれの始点座標および終点座標と、第１の走査線および第２の走査線のライン番号とに基づいて検出するランレングスデータ重複検出工程を備えていることが好ましい。さらに、ランレングスデータ重複検出工程により、第１ランレングスデータと第２ランレングスデータとが重複していると判断された場合に、第１ランレングスデータの始点座標と第２ランレングスデータの始点座標とをグループ化して始点座標群を形成し、第１ランレングスデータの終点座標と第２ランレングスデータの終点座標とをグループ化して終点座標群を形成するグループ化ランレングスデータ生成工程を備えることが好ましい。
【０００９】
輪郭データ生成工程は、始点座標群から始点輪郭ベクタデータを生成する始点側輪郭データ生成工程と、終点座標群から終点輪郭ベクタデータを生成する終点側輪郭データ生成工程とを備えていることが望ましい。
【００１０】
また、輪郭データ生成工程は、輪郭点抽出工程をさらに備えていることが好ましい。この輪郭点抽出工程により、始点輪郭ベクタデータの一部が排除始点輪郭ベクタデータとして間引き処理により除かれ、始点輪郭ベクタデータは１本以上の連続する線分から成るデータに近似され、この近似された始点輪郭ベクタデータの屈曲する点が輪郭点として抽出される。また始点輪郭ベクタデータと同様に、終点輪郭ベクタデータの一部が排除終点輪郭ベクタデータとして間引き処理により除かれ、終点輪郭ベクタデータは１本以上の連続する線分から成るデータに近似されて、近似された終点輪郭ベクタデータの屈曲する点が輪郭点として抽出される。
【００１１】
輪郭点抽出工程は、図形の描画における解像度を設定することにより、始点輪郭ベクタデータに対する排除始点輪郭ベクタデータの割合と、終点輪郭ベクタデータに対する排除終点輪郭ベクタデータの割合とを変更可能であることが望ましい。この場合、高い解像度が要求されない描画においては、排除始点輪郭ベクタデータ及び排除終点輪郭ベクタデータを増やす、すなわち抽出される輪郭点の数を減らすことにより、さらにデータ量を縮小することができる。
【００１２】
イメージ画像形成工程においては、まず、描画ベクタデータの一部を処理してイメージ画像の一部を形成し、データ抽出工程とデータ統合工程と輪郭データ生成工程とにより、図形に関する一部の情報が、輪郭ベクタデータにより示されても良い。この場合、イメージ画像形成工程、データ抽出工程、データ統合工程、および輪郭データ生成工程の反復により、描画される図形に関する全ての情報が、輪郭ベクタデータにより示されることが望ましい。
【００１３】
描画ベクタデータは、複数のレイヤーから構成されても良い。この場合、これらのレイヤーが合成されることにより、描画される図形が示される。
【００１４】
イメージ画像形成工程と、データ抽出工程と、データ統合工程と、輪郭データ生成工程とは、描画装置において実施されず、ワークステーションにおいて実施されても良い。この場合、本発明の描画データ処理方法は、輪郭データ生成工程においてワークステーションで生成された描画ベクタデータを、描画装置に転送する転送工程を備えている。
【００１５】
本発明の描画装置は、被描画体に描画される図形に関する情報を、図形を示す描画ベクタデータとして受信する受信手段と、描画ベクタデータを処理して図形を示すラスタデータであるイメージ画像を形成するイメージ画像形成手段とを備えている。さらに、描画装置は、形成されたイメージ画像からランレングスデータを抽出するデータ抽出手段と、ランレングスデータをグループ化してグループ化ランレングスデータとするデータ統合手段と、グループ化ランレングスデータの輪郭を示す輪郭ベクタデータを生成する輪郭データ生成手段とを備えている。
【発明の効果】
【００１６】
以上のように本発明によれば、描画図形を示すデータのデータ量を削減することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施形態を図面を参照して説明する。図１は、本発明の描画データ処理に用いられる描画装置１０を概略的に示す図である。
【００１８】
描画装置１０は、プリント回路基板上のフォトレジスト層に、回路パターンを直接描画するように構成されており、データ処理ユニット１２と、描画ユニット１４とを備える。データ処理ユニット１２には、ＣＰＵ１６および画像メモリ１８が含まれる。さらに描画装置１０は、上位ＣＰＵ（ワークステーション）であるＣＡＤ２０と接続されており、描画されるべき図形のデータが、ＣＡＤ２０から描画装置１０に転送される。転送された図形データは、後述のようにＣＰＵ１６において様々な処理が施された後、描画ユニット１４に転送され、描画ユニット１４により描画が行われる。
【００１９】
図２は、描画データの処理全般を概略的に示すフローチャートである。
【００２０】
ステップＳ１０１では、描画される図形に関する情報が、描画ベクタデータとしてワークステーションから描画装置１０へ転送（転送工程）され、ステップＳ１０２に進む。
【００２１】
ステップＳ１０２では、描画装置１０において、描画ベクタデータに基づいて、ラスタデータであるイメージ画像が形成（イメージ画像形成工程）され、ステップＳ１０３に進む。
【００２２】
ステップＳ１０３では、イメージ画像からランレングスデータが抽出（データ抽出工程）され、ステップＳ１０４に進む。
【００２３】
ステップＳ１０４では、ランレングスデータがグループ化されて、グループ化ランレングスデータとされる（データ統合工程）。そしてステップＳ１０５に進む。
【００２４】
ステップＳ１０５では、グループ化ランレングスデータにより示される図形の輪郭に基づく輪郭ベクタデータが生成（輪郭データ生成工程）され、ステップＳ１０６に進む。ステップＳ１０６では、輪郭ベクタデータが出力され、描画データの処理は終了する。
【００２５】
以上のように、ワークステーションから描画装置１０へ転送された描画図形に関する情報である描画ベクタデータが、様々な処理の結果、最終的に描画ベクタデータよりもデータ量の少ない輪郭ベクタデータに変換される。
【００２６】
図３は、描画ベクタデータに基づいて形成されるイメージ画像２６を示す概略図である。
【００２７】
描画される図形に関する情報が、複数のレイヤーにより構成される描画ベクタデータとして、ＣＡＤ２０から描画装置１０に転送される（転送工程）。この描画ベクタデータが、描画装置１０により受信されると、ＣＰＵ１６において処理され、ビットマップ展開されたイメージ画像２６が合成される（イメージ画像形成工程）。ここで、ＣＰＵ１６におけるイメージ画像形成に用いられる座標系を、描画座標系と定める。この描画座標は、スキャン座標（以下Ｓ座標という）とフィード座標（以下Ｆ座標という）とにより定められ、図３に示されるように、スキャン座標軸（以下Ｓ軸という）は右向きが正の方向であり、フィード座標軸（以下Ｆ軸という）は下向きが正の方向である。ここでは、描画データが、レイヤー２２〜２４の３層から構成されており、各レイヤーには、閉図形である描画図形の位置、形状、大きさ、色の情報が含まれている。この場合の描画図形の色の情報とは、描画されることを示す黒色であるか、描画されないことを示す白色であるかを意味している。ここでは、レイヤー２２は全ての領域を黒色に、レイヤー２３は矩形状の領域を白色に、レイヤー２４は「Ｘ」字型の描画図形の領域を黒色にすることをそれぞれ意味している。
【００２８】
複数のレイヤーから成る描画ベクタデータが組合せられてイメージ画像が形成されるために、各レイヤーには、読み出しの順番が定められている。この読み出しの順番は、各レイヤーの示す描画図形の外周上の点のうちＦ座標の値が最も小さい点のＦ座標の値を比較し、このＦ座標の値が小さい（Ｆ座標が原点Ｏに近い）レイヤーから順に読み出される。図３においてはレイヤー２２が１番目であり、以下レイヤー２３が２番目、レイヤー２４が３番目であり、この順番に従って各レイヤーが読出されることにより、イメージ画像２６が形成される（イメージ画像形成工程）。
【００２９】
図４は、イメージ画像２６におけるランレングスデータを概略的に示す図である。ここでは、図３に示されたレイヤー２２およびレイヤー２３の描画ベクタデータに基づく描画図形は省略されている。
【００３０】
先述のように、イメージ画像２６は、ＣＡＤ２０から転送される描画ベクタデータがビットマップ展開された画像である（図３参照）。従って、描画座標上のイメージ画像２６に含まれる整数値を座標に持つ点、すなわちＳ座標とＦ座標のいずれもが整数値である点（以下、ビットという）の全てが、描画されることを示すデータ「１」か、あるいは描画されないことを示すデータ「０」を有する。ここで、描画される領域（以下描画領域という）を特定するために、描画図形２８内の矢印で示される、データ「１」を持つビットの連続したランレングスデータが抽出される（データ抽出工程）。以下に、その抽出方法について説明する。
【００３１】
まず、描画座標系において、各ビットのデータが「１」であるか「０」であるかを調べて、ランレングスデータを探すための走査が行われる。最初の水平走査は、Ｓ軸に沿ってＳ軸正の方向に向かって行われ、走査線上に位置するビットが調べられる。そして、Ｆ軸に平行でイメージ画像２６の外縁を定める直線（Ｓ＝ＳＭＡＸ）に到達するとこの水平走査は終了し、以後、Ｓ軸に平行な直線Ｆ＝１，２, ３, …Ｎ（Ｎは整数）を走査線とする水平走査が、Ｓ軸に平行でイメージ画像２６の外縁を定める直線（Ｆ＝ＦＭＡＸ）に接するまで、走査が反復して行われる。この走査において、データが「０」のビットに続いてデータが「１」のビットが見出された場合、このビットがランレングスデータの始点ＬＳとなる。そして、走査線上の連続した「１」のビットがランレングスデータを形成し、再びデータが「０」になる直前のデータが「１」のビットがランレングスデータの終点ＬＥとなる（走査線上の最後のビットまでランレングスデータが継続する場合には、イメージ画像２６の外縁を定める直線Ｓ＝ＳＭＡＸ上の点が、ランレングスデータの終点ＬＥとなる）。こうして、始点ＬＳと終点ＬＥとを有するランレングスデータが抽出される（ランレングスデータ抽出工程）。
【００３２】
図５は、ランレングスデータの始点および終点に付加されるインデックスを示す表である。
【００３３】
ランレングスデータが抽出されると、その始点ＬＳおよび終点ＬＥのＳ座標値は、ランレングスデータの読込を重複せずに行い、処理を迅速化するためにデータの格納場所を示すインデックスが求められた上で、画像メモリ１８内のランレングスデータ格納バッファ配列ＬＢＵＦに記録される。以下に、その記録方法について説明する。
【００３４】
まず、図４に示される描画図形２８においては、Ｓ軸から開始された走査において、直線Ｆ＝３（以下ライン「３」という。同様に、直線Ｆ＝Ｎをライン「Ｎ」とし、この「Ｎ」をライン番号という）上に、始点ＬＳ0および終点ＬＥ0を有するランレングスデータが最初に見出される。そして、各始点ＬＳおよび終点ＬＥに対しては、データの格納位置を管理するための一連の格納番号ＬＮＯが、抽出された順番に０から割り振られる。ここでは、ライン「３」上の始点ＬＳ0の格納番号ＬＮＯが０であり、終点ＬＥ0の格納番号ＬＮＯは１となる。従って、ランレングスデータ格納バッファ配列ＬＢＵＦ［ＬＮＯ＝０］にＬＳ0が、続いてＬＢＵＦ［ＬＮＯ＝１］にＬＥ0が格納される。ここで、各始点ＬＳや終点ＬＥが、ランレングスデータ格納バッファ配列ＬＢＵＦに格納されるということは、各始点ＬＳや終点ＬＥのＳ座標の値が、それぞれランレングスデータ格納バッファ配列ＬＢＵＦに記録されることを意味する。
【００３５】
次に、ライン「Ｆ」についての最初の始点ＬＳと最後の終点ＬＥとが抽出されると、最初の始点ＬＳの格納位置を表すインデックス配列ＩＳ［Ｆ］および最後の終点ＬＥの格納位置を表すインデックス配列ＩＥ［Ｆ］が割り振られる。すなわち、あるライン「Ｆ」上で最初に抽出される始点ＬＳの格納番号ＬＮＯが、インデックス配列ＩＳ［Ｆ］に対して与えられ、続いて、あるライン「Ｆ」上で最後に抽出される終点ＬＥの格納番号の代わりに、次のライン「（Ｆ＋１）」上で最初に抽出される始点ＬＳの格納番号ＬＮＯが、インデックス配列ＩＥ［Ｆ］に与えられる。すなわち、ライン「Ｆ」の最後の終点ＬＥの格納位置は、次のライン「（Ｆ＋１）」の最初の始点ＬＳの格納位置でもって表される。ここでは、ライン「３」上で最初に抽出された始点ＬＳ0の格納番号ＬＮＯ＝０が、インデックス配列ＩＳ［３］に対して与えられ、続いて、ライン「３」上で最後に抽出された終点ＬＥ0の格納番号ＬＮＯの代わりに、次のライン「４」上で最初に抽出された始点ＬＳ1の格納番号ＬＮＯ＝２が、インデックス配列ＩＥ［３］に与えられる。こうして、ライン「３」上の最後の終点ＬＥ0の格納位置を示すインデックス配列ＩＥ［３］は、次のラインであるライン「４」上の最初の始点ＬＳ1の格納位置を表すインデックス配列ＩＳ［４］で表される。すなわち、インデックス配列ＩＥ［３］と、インデックス配列ＩＳ［４］とは等しくなり、ここではいずれも２である。
【００３６】
さらに、ライン「５」におけるように、同一ライン上でランレングスデータが複数（始点がＬＳ2 、終点がＬＥ2のランレングスデータと、始点がＬＳ3 、終点がＬＥ3のランレングスデータ）抽出された場合にも、ＬＢＵＦ［ＬＮＯ＝４］＝ＬＳ2、ＬＢＵＦ［ＬＮＯ＝５］＝ＬＥ2というように、ＬＮＯの値を加算しながらＬＢＵＦに順次格納される。そして、インデックス配列ＩＥ［Ｆ］は、終点ＬＥを格納する毎に、２ずつ加算される。こうして、インデックス配列ＩＳ［Ｆ］およびＩＥ［Ｆ］が割り振られたランレングスデータの始点ＬＳ及び終点ＬＥは、格納番号ＬＮＯが配列の指標と等しくなるようにランレングスデータ格納バッファ配列ＬＢＵＦに順番に記録される（ランレングスデータ格納工程）。
【００３７】
図６は、ランレングスデータの始点ＬＳおよび終点ＬＥに対するインデックス付加ルーチンを示すフローチャートである。
【００３８】
ランレングスデータの始点ＬＳおよび終点ＬＥに対するインデックスの付加方法を、フローチャートを参照して以下に説明する。ライン「０」からライン「ｎ−１」までの走査において、まずステップＳ２０１にて、始点ＬＳ、終点ＬＥ、に対して、それらの抽出された順番に応じた格納番号ＬＮＯ、格納番号ＬＮＯに基づいたインデックスＩＳ［Ｆ］とＩＥ［Ｆ］の全てに係わる変数の値が「０」に設定されて初期化され、ステップＳ２０２に進む。
【００３９】
ステップＳ２０２では、走査対象となる始点ＬＳあるいは終点ＬＥの属するライン番号Ｆの値が、先述のイメージ画像２６の外縁を定める直線Ｆ＝ＦＭＡＸ上の点のＦ座標ＦＭＡＸよりも小さいか否かが判断される。ライン番号Ｆの値が、ＦＭＡＸの値よりも小さくない、すなわち等しい場合、対象となる全ての始終点の処理が終了していることを意味するため、インデックス付加ルーチンは終了する。ライン番号Ｆの値が、ＦＭＡＸの値よりも小さい場合、ステップＳ２０３に進む。
【００４０】
ステップＳ２０３では、インデックス配列ＩＳ［Ｆ］とＩＥ［Ｆ］に、次にランレングスデータ格納バッファ配列ＬＢＵＦに記録される始点あるいは終点の格納番号ＬＮＯの値がいくつであるかが調べられ、ステップＳ２０４に進む。ステップＳ２０４では、ランレングスデータの走査を開始する位置のＳ座標の初期値が「０」に設定され、ステップＳ２０５に進む。
【００４１】
ステップＳ２０５では、ランレングスデータの始終点のＳ座標の値が、先述のイメージ画像２６の外縁を定める直線（Ｓ＝ＳＭＡＸ）上の点のＳ座標であるＳＭＡＸの値よりも小さいか否かが判断される。始終点のＳ座標の値が、ＳＭＡＸの値よりも小さくない、すなわち等しい場合、ステップS２０６に進む。始終点のＳ座標の値が、ＳＭＡＸの値よりも小さい場合、ステップＳ２０７に進む。
【００４２】
ステップＳ２０６では、対象となるライン「Ｆ」上の全ての始終点の処理が終了していることを意味するため、Ｆ座標が１だけ大きい次のラインを処理の対象として、ステップＳ２０２に戻る。
【００４３】
ステップＳ２０７では、ライン「Ｆ」上のある終点（Ｆ,Ｓ）の検出後、その終点に隣接する点（Ｆ，Ｓ＋１）からさらにランレングスデータの先頭座標を検索する。検索の結果、ランレングスデータの先頭、すなわち始点ＬＳが存在した場合には、ステップＳ２０８に進む。始点が存在しない場合、ステップＳ２０６に進む。
【００４４】
ステップＳ２０８では、ステップＳ２０７において始点ＬＳが抽出されていることから、同一のランレングスデータの終点ＬＥが、同一ライン上で検索、抽出され、ステップＳ２０９に進む。ステップＳ２０９では、始点ＬＳのＳ座標値が格納番号ＬＮＯで示されるランレングスデータ格納バッファ配列ＬＢＵＦの配列要素に記録され、終点ＬＥのＳ座標値については格納番号（ＬＮＯ＋１）で示されるランレングスデータ格納バッファ配列ＬＢＵＦの配列要素に記録される。そして、次の始点ＬＳの記録に備えて（ＬＮＯ＋２）を新たなＬＮＯの値とし、この新たなＬＮＯの値に基づいてＩＥ［Ｆ］を設定し、さらに走査するＳ座標の値についても、（終点ＬＥのＳ座標＋１）を新たなＳの値として、ステップＳ２０５に進む。以後、対象となる全てのライン上の始終点の抽出が終了するまで、必要なステップが反復され、最終的にステップＳ２０２において、始点のＦ座標がＦＭＡＸの値と等しいと判断されることにより、インデックス付加ルーチンは終了する。
【００４５】
イメージ画像から抽出され、インデックスと共に記録されたランレングスデータのうち、次のライン上のランレングスデータと互いに重なり合う領域を持つものは、グループ化される（データ統合工程）。以下に、そのグループ化の方法について説明する。
【００４６】
図７は、互いに重なり合うランレングスデータの概略を示す図である。
【００４７】
まず、記録されたランレングスデータが、ライン「０」から順に検索され、ラインｎ上のランレングスデータ（始点のＳ座標をスキャン開始Ｓ座標ＳＳｎ、終点のＳ座標をスキャン終了Ｓ座標ＳＥｎとする）について、その次のライン（ｎ+１）上のランレングスデータ（始点のＳ座標をスキャン開始Ｓ座標（ＳＳｎ＋１）、終点のＳ座標をスキャン終了Ｓ座標（ＳＥｎ＋1）とする）とＳ座標に重複があるか否か、すなわち互いに同一のＳ座標を有する箇所があるか否かが判断される（ランレングスデータ重複検出工程）。
【００４８】
そして、重複箇所があれば、同一の閉図形を構成するランレングスデータであると判断される。この操作を重複箇所がなくなるまで反復して、同一の閉図形を構成すると判断された全てのランレングスデータを同一グループ化する（グループ化ランレングスデータ生成工程）。なお、ライン「ｎ」上のランレングスデータが、ライン「ｎ＋１」上の複数のランレングスデータと重複する場合、あるいはライン「ｎ−１」上の複数のランレングスデータと重複する場合においては、いずれも走査順が最先、すなわちＳ座標の小さいランレングスデータとのみ、同一グループ化されるものとする。なお、図７に示されたランレングスデータは、いずれも同一グループ化されることとなる。
【００４９】
図８は、描画図形２８におけるグループ化されたランレングスデータを示す図である。
【００５０】
Ｓ軸から、グループ化のための走査が順次行われ、ライン「３」上のランレングスデータＬＲ1からグループ化された結果、分割描画図形３０が構成され、同様にランレングスデータＬＲ2からのグループ化により分割描画図形３２が、ランレングスデータＬＲ3からのグループ化により分割描画図形３４が、それぞれ構成される。なお、先述の通り、同一ライン上の複数のランレングスデータは同一グループ化されないため、図８に示されるように、単一の閉図形である描画図形２８に含まれるランレングスデータが、複数のグループに分割されることがある。
【００５１】
図９および図１０は、ランレングスデータのグループ化ルーチンを示すフローチャートである。図９は、あるライン上のランレングスデータの読み出しを示し、図１０は、読出されたランレングスデータとＳ座標が重複するランレングスデータのグループ化処理を示している。
【００５２】
まず、ステップＳ３０１において、走査の場合と同様にライン「０」（Ｓ軸）から順にランレングスデータの読み出しを行うため、Ｆ座標が０に設定されてステップＳ３０２に進む。ステップＳ３０２では、ライン「Ｆ」のＦ座標が、ＦＭＡＸよりも小さいか否かが判断される。Ｆ座標が、ＦＭＡＸよりも小さくない、すなわちＦＭＡＸと等しい場合、対象となる全てのランレングスデータのグループ化処理が終了していることを意味するため、ステップＳ３０３に進み、インデックス付加ルーチンは終了する。Ｆ座標の値がＦＭＡＸの値よりも小さい場合、ステップＳ３０４に進む。
【００５３】
ステップＳ３０４では、ＩＳ［Ｆ］がＩＥ［Ｆ］よりも小さいか否か、すなわち、ライン「Ｆ」上にランレングスデータが存在するか否かが判断される。その結果、ＩＳ［Ｆ］が、ＩＥ［Ｆ］よりも小さい、すなわちランレングスデータがライン「Ｆ」上に存在する場合、ステップＳ３０５に進む。また、ＩＳ［Ｆ］がＩＥ［Ｆ］よりも小さくない、すなわちＩＳ［Ｆ］がＩＥ［Ｆ］と等しい場合、もはや読出されるランレングスデータがライン「Ｆ」上に存在しないことを意味し、ステップＳ３０６に進む。
【００５４】
ステップＳ３０５では、ラインＦ上の、グループ化処理対象となる最初の始点ＬＳの格納位置を表す格納番号ＬＮＯがインデックス配列ＩＳ［Ｆ］より読み出され、インデックス配列ＩＳ［Ｆ］には新たな格納番号（ＬＮＯ＋２）が入れられてステップＳ３０７に進む。ステップＳ３０７においては、ランレングスデータ格納バッファ配列ＬＢＵＦから、ステップＳ３０５で読み出された格納番号ＬＮＯで示される配列要素、すなわち、始点ＬＳのＳ座標を読み出し、格納番号（ＬＮＯ＋１）で示される配列要素、すなわち、読み出された始点ＬＳに対応する終点ＬＥのＳ座標を読み出す。その後、ステップＳ４０１（図１０）に進む。
【００５５】
ステップＳ３０６においては、対象となるライン「Ｆ」上の全ての始終点の読み出しが終了したことから、Ｆ座標が１だけ大きい次のラインを処理の対象として、再びステップＳ３０２に進み、各ステップが反復される。
【００５６】
ステップＳ４０１（図１０参照）では、ステップＳ３０７で読み出された始点ＬＳのＳ座標および終点ＬＥのＳ座標がそれぞれ、スキャン始点配列ＳＳ［ｎ］とスキャン終点配列ＳＥ［ｎ］に格納され、ラインＦの次のライン、すなわちライン（Ｆ＋１）のＦ座標を作業フィード座標ＦＮと定義する。ここで、スキャン始点配列ＳＳ［ｎ］とスキャン終点配列ＳＥ［ｎ］の指標ｎは、同一グループ化の対象となるライン数を表す変数であり、（ｎ＋１）にインクリメントしてステップＳ４０２に進む。
【００５７】
ステップＳ４０２では、作業フィード座標ＦＮが、ＦＭＡＸよりも小さいか否かが判断される。作業フィード座標ＦＮがＦＭＡＸよりも小さくない、すなわちＦＭＡＸと等しい場合、全てのランレングスデータのグループ化が終了していることを意味し、ステップＳ４０３に進む。また、作業フィード座標ＦＮがＦＭＡＸの値よりも小さい場合、ステップＳ４０４に進む。
【００５８】
ステップＳ４０４では、ＩＳ［ＦＮ］がＩＥ［ＦＮ］よりも小さいか否か、すなわち、ライン「ＦＮ」上にランレングスデータが存在するか否かが判断される。その結果、ＩＳ［ＦＮ］が、ＩＥ［ＦＮ］よりも小さい、すなわちランレングスデータがライン「ＦＮ」上に存在する場合、ステップＳ４０５に進む。また、ＩＳ［ＦＮ］がＩＥ［ＦＮ］よりも小さくない、すなわちＩＳ［ＦＮ］がＩＥ［ＦＮ］と等しい場合、もはやランレングスデータがライン「ＦＮ」上に存在しないことを意味し、ステップＳ４０３に進む。
【００５９】
ステップＳ４０５では、ライン「ＦＮ」上のランレングスデータ、すなわち１組の始点ＬＳＮと終点ＬＥＮのそれぞれのＳ座標値がランレングスデータ格納バッファ配列ＬＢＵＦから読み出され（ステップＳ３０５、Ｓ３０７と同様）、ステップＳ４０６に進む。
【００６０】
ステップＳ４０６では、ライン「ＦＮ」上の終点ＬＥＮのＳ座標がライン「Ｆ」上の始点ＬＳのＳ座標よりも小さいか否か、およびライン「ＦＮ」上の始点ＬＳＮのＳ座標がライン「Ｆ」上の終点ＬＥのＳ座標よりも小さいか否かが判断される。これらの条件のいずれかが成立する場合、ライン「ＦＮ」上のランレングスデータと、ライン「Ｆ」上のランレングスデータとは、互いに重複する箇所を有しないことを意味し、ステップＳ４０３に進む。一方、これらの条件のいずれも成立しない場合は、ライン「ＦＮ」上のランレングスデータと、ライン「Ｆ」上のランレングスデータとに重複箇所があることを意味しており、ステップＳ４０７に進む。
【００６１】
ステップＳ４０７においては、ラインＦＮ上の始点ＬＳＮのＳ座標値を、ラインＦ上の始点ＬＳと同一グループ化する処理のためスキャン始点配列ＳＳ［ｎ］に記録し、同様に、ラインＦＮ上の終点ＬＥＮのＳ座標値を、ラインＦ上の終点ＬＥと同一グループ化する処理のためスキャン終点配列ＳＥ［ｎ］として記録する。そして、次のライン「ＦＮ＋１」上のランレングスデータのグループ化のため、同一グループ化の対象となるライン数を表す変数ｎをインクリメントしてステップＳ４０８に進む。
【００６２】
ステップＳ４０８では、次のライン（ＦＮ＋１）上のランレングスデータと、ライン「ＦＮ」上のランレングスデータとの重複を調べるため、ＩＳ［ＦＮ］に、格納番号（ＬＮＯ＋２）が代入され、作業フィード座標には新たに（ＦＮ＋１）が用いられ、ライン「ＦＮ」上のランレングスデータの始点ＬＳＮおよび終点ＬＥＮを、それぞれ新たな始点ＬＳ、終点ＬＥとして、ステップＳ４０４に進み、ステップＳ４０４上述のステップが反復される。
【００６３】
ステップＳ４０３では、同一グループ化されたスキャン始点の集合であるスキャン始点群ＳＳ（ＳＳ［０］〜［ｎ−１］，始点座標群）に新たに加わったスキャン始点ＳＳ［ｎ］と、同一グループ化されたスキャン終点の集合であるスキャン終点群ＳＥ（ＳＥ［０］〜［ｎ−１］，終点座標群）に新たに加わったスキャン終点ＳＥ［ｎ］のそれぞれについて、後述の輪郭データ処理が施され、ステップＳ３０４（図９参照）に進み、上述のステップが反復される。
【００６４】
図１１は、スキャン始点群ＳＳあるいはスキャン終点群ＳＥにおける輪郭ベクタデータ生成の概略を示す図である。
【００６５】
スキャン始点群ＳＳ（ＳＳ［０］〜［ｎ］）およびスキャン終点群ＳＥ（ＳＥ［０］〜［ｎ］）を構成する全ての始点および終点が抽出されると、スキャン始点群ＳＳおよびスキャン終点群ＳＥごとに、いくつかの点を抽出し、抽出された点同士を結ぶ直線である輪郭ベクタデータが生成される（輪郭データ生成工程）。なお、スキャン始点群ＳＳとスキャン終点群ＳＥとで、輪郭ベクタデータの生成方法は同じであるので、ここではスキャン始点群ＳＳについて、輪郭ベクタデータの生成方法を説明する。スキャン始点群ＳＳの中で最も走査順の早い点（ＳＳ［０］）をＰ0とし、走査順がＰ0の次の点（ＳＳ［１］）をＰ1とする。これらのスキャン始点は、ビットマップ展開されたイメージ画像２６上の点であるため、スキャン始点のＳ座標値は全て整数で表される。従って、点Ｐ1のＳ座標をＳ1とすると、描画座標上の描画図形２８の真の輪郭を定める直線としての直線Ｐ0Ｐ1の傾きｄ0は、Ｓ座標が（Ｓ1−０．５）である点Ｐ1’と点Ｐ0とを結ぶ直線の傾きｄＭｉｎ以上であり、なおかつＳ座標が（Ｓ1＋０．５）である点Ｐ1’’と点Ｐ0とを結ぶ直線の傾きｄＭａｘ以下の範囲に存在することとなる（Ｐ0とＰ1とのＦ座標の差を「１」とする）。同様に、走査順がＰ1の次の点Ｐ2とＰ0とを結ぶ直線の傾きｄ1は、ｄＬｏ以上ｄＨｉ以下の範囲に存在することとなる。
【００６６】
ここで、ｄＭｉｎ以上ｄＭａｘ以下の範囲にｄＬｏもしくはｄＨｉが存在する場合、Ｐ0からＰ2までの点が、同一直線上にあると判定する。これらの点が同一直線上にないと判断される場合、同一直線上にないと判断された点から新たな直線が形成される。なお、点Ｐ0とのＦ座標の隔たりがより大きい点と点Ｐ0とを結ぶ直線の傾きの方が、点Ｐ0とのＦ座標の隔たりがより小さい点と点とを結ぶ直線の傾きよりも、誤差の影響が小さく信頼性が高いことから、ｄＬｏがｄＭｉｎよりも大きい場合は、ｄＭｉｎをｄＬｏに更新し、ｄＨｉがｄＭａｘよりも小さい場合、ｄＭａｘをｄＨｉに更新し、真の輪郭を定める直線の傾きの範囲を狭めながら、さらに次の点へと同様の処理を繰り返す。こうして、描画図形２８の輪郭を定めるいくつかの直線が、スキャン始点群ＳＳから生成される（始点側輪郭データ生成工程）。
【００６７】
図１２は、ｎ個のスキャン始点群ＳＳ（ＳＳ［０］〜［ｎ−１］）に基づく輪郭ベクタデータ生成ルーチンを示すフローチャートである。
【００６８】
ステップＳ５０１において、ライン「Ｆ」のＦ座標が、（ｎ−１）よりも小さいか否かが判断される。そして、フィード座標Ｆの値が、（ｎ−１）よりも小さくない、すなわち等しい場合、対象となる全ての始点の処理が終了していることを意味するため、輪郭ベクタデータ処理ルーチンは終了する。フィード座標Ｆの値が、（ｎ−１）よりも小さい場合、ステップＳ５０２に進む。
【００６９】
ステップＳ５０２では、点Ｐ0のＦ（フィード）座標およびＳ（スキャン）座標を、それぞれ初期フィード座標ＦＯＲＧおよび初期スキャン座標ＳＯＲＧとして定義し、ＦＯＲＧ＝Ｆ、ＳＯＲＧ＝Ｓ［Ｆ］とする。さらに、点Ｐ0と点Ｐ1（Ｓ座標をＳ［Ｆ＋１］とする）との直線の傾きが取り得る値の最小値と最大値とを、それぞれ初期最小傾きＤＭＩＮと、初期最大傾きＤＭＡＸとして定め、ステップＳ５０３に進む。ここで、点Ｐ1のＦ座標の値は、点Ｐ0のＦ座標の値よりも１だけ大きいため、ＤＭＩＮおよびＤＭＡＸは、（１）式および（２）式のように表される。
ＤＭＩＮ＝（Ｓ［Ｆ＋１］−Ｓ［Ｆ］−０．５）／１  ・・・（１）
ＤＭＡＸ＝（Ｓ［Ｆ＋１］−Ｓ［Ｆ］＋０．５）／１  ・・・（２）
【００７０】
ステップＳ５０３では後述の輪郭点数ＮＯを「０」とし、さらに初期フィード座標ＦＯＲＧを輪郭Ｆ（フィード）座標ＯＦ、初期スキャン座標ＳＯＲＧを輪郭Ｓ（スキャン）座標ＯＳとして、新たにフィード座標Ｆを（Ｆ＋１）に更新してステップＳ５０４に進む。ステップＳ５０４では、新たなフィード座標Ｆが、（ｎ−１）よりも小さいか否かが判断される。そして、フィード座標Ｆの値が、（ｎ−１）よりも小さくない、すなわち等しい場合、全てのスキャン始点群ＳＳの処理が終了していることを意味するためステップＳ５０７に進む。なお、フィード座標Ｆの値が、（ｎ−１）よりも小さい場合、ステップＳ５０５に進む。
【００７１】
ステップＳ５０７では、新たに輪郭点数ＮＯが「１」増える処理が行われ、ステップＳ５０１に進む。
【００７２】
ステップＳ５０５においては、対象となっているスキャン始点ＳＳ［ｍ］とＰ0との直線（以下直線Ｐ0−ＳＳ［ｍ］という）が取り得る傾きの最小値と最大値とが、それぞれ最小傾きＭＩＮと、最大傾きＭＡＸとして求められ、ステップＳ５０６に進む。ステップＳ５０６においては、直線Ｐ0−ＳＳ［ｍ］の最大傾きＭＡＸと点Ｐ0とスキャン始点ＳＳ［ｍ−１］とを結ぶ直線（以下直線Ｐ0−ＳＳ［ｍ−１］という）の傾きが取り得る値の最小値ＤＭＩＮ、直線Ｐ0−ＳＳ［ｍ］の最小傾きＭＩＮと直線Ｐ0−ＳＳ［ｍ−１］の傾きが取り得る値の最大値ＤＭＡＸとが、それぞれ比較される。その結果、（３）式あるいは（４）式が成立すると、直線Ｐ0−ＳＳ［ｍ−１］と直線Ｐ0−ＳＳ［ｍ］とが、同一直線ではないことを意味するため、直線Ｐ0−ＳＳ［ｍ−１］と、スキャン始点ＳＳ［ｍ−１］とスキャン始点ＳＳ［ｍ］とを結ぶ直線（以下直線ＳＳ［ｍ−１］−ＳＳ［ｍ］という）とが直線Ｐ0−ＳＳ［ｍ−１］とは別の直線であって、輪郭ベクタデータが点ＳＳ［ｍ−１］において屈曲していること判断され、この屈曲点ＳＳ［ｍ−１］を新たに輪郭点と定め、ステップＳ５０７に進む。
ＭＡＸ  ＜  ＤＭＩＮ                              ・・・（３）
ＤＭＡＸ  ＞  ＭＩＮ                              ・・・（４）
一方、（３）式および（４）が成立しない場合、直線Ｐ0−ＳＳ［ｍ−１］と直線Ｐ0−ＳＳ［ｍ］とが同一直線であると判断されてステップＳ５０８に進む。
【００７３】
ステップＳ５０７では、新たに設定された輪郭点の座標（以下輪郭座標という）のフィード座標Ｆを輪郭Ｆ（フィード）座標配列ＯＦ［ＮＯ］、スキャン座標Ｓを輪郭Ｓ（スキャン）座標配列ＯＳ［ＮＯ］として記録して、輪郭点の数ＮＯが「１」増える処理が行われ、ステップＳ５０１に進む。
【００７４】
ステップＳ５０８〜ステップＳ５１１においては、スキャン始点ＳＳ［ｍ］が、直線Ｐ0−ＳＳ［ｍ−１］に新たに加わることで直線Ｐ0−ＳＳ［ｍ］が形成される際に、直線Ｐ0−ＳＳ［ｍ］の取り得る傾きの範囲が求められる。まずステップＳ５０８では、直線Ｐ0−ＳＳ［ｍ−１］の傾きが取り得る値の最小値ＤＭＩＮが、直線Ｐ0−ＳＳ［ｍ］の最小傾きＭＩＮよりも小さいか否かが判断され、ＤＭＩＮがＭＩＮよりも小さい場合、ステップＳ５０９に進む。ステップＳ５０９では、ＭＩＮを新たなＤＭＩＮとして更新し、ステップＳ５１０に進む。一方、ステップＳ５０８において、ＤＭＩＮがＭＩＮよりも小さくない場合、ＤＭＩＮは更新されずにステップＳ５１０に進む。
【００７５】
ステップＳ５１０においては、直線Ｐ0−ＳＳ［ｍ］の最大傾きＭＡＸが、直線Ｐ0−ＳＳ［ｍ−１］の傾きが取り得る値の最大値ＤＭＡＸよりも小さいか否かが判断される。ＭＡＸがＤＭＡＸよりも小さい場合、ステップＳ５１１に進む。ステップＳ５１１では、ＭＡＸを新たなＤＭＡＸとして更新し、ステップＳ５１２に進む。一方、ステップＳ５１０において、ＭＡＸがＤＭＡＸよりも小さくない場合、ＤＭＡＸは更新されずにステップＳ５１２に進む。
【００７６】
ステップＳ５１２においては、次のラインのスキャン始点について同様の処理をするために、（Ｆ＋１）を新たなＦ座標の値として、ステップＳ５０４に進む。そして、上述の各ステップが繰り返されることにより、スキャン始点群ＳＳに基づく輪郭ベクタデータ（始点輪郭ベクタデータ）が生成される（始点側輪郭データ生成工程）。
【００７７】
なお、先述のように、スキャン終点群ＳＥについてもステップＳ５０１〜Ｓ５１２と同じ方法に従って、輪郭ベクタデータ（終点輪郭ベクタデータ）が生成される（終点側輪郭データ生成工程）。
【００７８】
図１３は、最終的に得られるベクタデータの構成を示した図である。図１４は、スキャン始点群ＳＳおよびスキャン終点群ＳＥの輪郭点で囲まれた描画図形を示す図である。
【００７９】
生成されたスキャン始点群ＳＳに基づく輪郭ベクタデータとスキャン終点群ＳＥに基づく輪郭ベクタデータは、図１３に示すように、スキャン始点群ＳＳおよびスキャン終点群ＳＥの輪郭点の数のデータと共に１つにまとめられて再生成される。そして、図１４に示すように、それぞれ連続する線分から成り、屈曲する点である輪郭点を有するスキャン始点群ＳＳおよびスキャン終点群ＳＥに囲まれる単一の閉図形の内部が、塗りつぶされるように描画装置１０において描画が制御される。
【００８０】
このように、1つの描画図形は、その輪郭を形成する直線である輪郭ベクタデータによって表され、その輪郭ベクタデータは輪郭点の座標のみによって規定される。このため、輪郭点以外のスキャン始点、スキャン終点のデータは不要となるため、データ量の大幅な削減が可能となる。
【００８１】
図１５は、描画図形２８の分割描画図形３０、３２および３４の輪郭に基づく輪郭ベクタデータを示す図である。
【００８２】
ここでは、描画図形２８の分割描画図形３０、３２および３４が、それぞれ複数の輪郭ベクタデータにより表されている。最も複雑な形状の分割描画図形３２の輪郭ベクタデータについても、１０個の輪郭点で構成され、データが簡略化されている。なお、先述の輪郭ベクタデータ生成の方法に従うと、点Ａは輪郭点とはならないため直線ＡＢによるＳ軸に平行な輪郭ベクタデータは形成されず、代わりに輪郭点Ａ’および輪郭点Ｂによる輪郭ベクタデータが形成されるため、輪郭ベクタデータが本来の描画図形を表さない誤差が生じる。この誤差は、描画図形２８を簡略化して示す図１５においては大きいものの、実際の輪郭ベクタデータは、非常に多数のスキャン始点、スキャン終点から輪郭点が抽出されて形成されるため、実質上この誤差は補正が不要であり、許容できるものである。
【００８３】
輪郭ベクタデータの生成において、高い解像度が要求されない場合、スキャン始点群ＳＳおよびスキャン終点群ＳＥから輪郭点を抽出する際の同一直線化の条件を緩和し、抽出される輪郭点の数を減らす、すなわち間引き処理により除かれるデータ（排除始点輪郭ベクタデータと排除終点輪郭ベクタデータ）を増やして露光における解像度を下げ、さらにデータ量を縮小しても良い。具体的には、先述のステップＳ５０２において、下記（５）式および（６）式のｄの値をｄ＝０．５として（１）式および（２）式としていたところ、このｄの値を０．５より大きい値としても良い。例えば、解像度比Ｒを（輪郭ベクタデータ生成の解像度／露光装置の解像度）として定義した場合、ｄ＝１．０とした場合、Ｒ＝１／２となり、描画図形の輪郭が粗くなるものの、データ量がさらに縮小される。
ＤＭＩＮ＝（Ｓ［Ｆ＋１］−Ｓ［Ｆ］−ｄ）／１             ・・・（５）
ＤＭＡＸ＝（Ｓ［Ｆ＋１］−Ｓ［Ｆ］＋ｄ）／１             ・・・（６）
【００８４】
尚、本実施例では、全描画データを一度にビットマップ展開してイメージ画像を得たが、ＣＰＵ１６の性能および画像メモリ１８の容量に限界があり、描画データに基づくイメージ画像の合成を一度に実施することができない場合、描画データを所定のサイズに区分けし、その一部に基づいて描画されるべき図形の一部を示すイメージ画像を形成しても良い。そして、イメージ画像形成工程における一部のイメージ画像の形成と、描画図形の一部を示すイメージ画像に基づくデータ抽出工程以下の全ての工程が反復されることにより、全ての描画図形についての輪郭ベクタデータが形成される。この場合、迅速な描画データ処理のため、イメージ画像の新たな形成と、既に形成されたイメージ画像に基づくランレングスデータの抽出以下の工程とは、同時に平行して進められることが好ましい。
【００８５】
また、本実施例では、描画データ処理は描画装置１０内で行ったが、ＣＡＤ２０などのワークステーションにおいて実施されてから、輪郭ベクタデータが描画装置１０に転送される構成としても良い。
【００８６】
以上のように本発明によれば、描画図形を示すための描画データを処理することにより、データ量が縮小される。
【図面の簡単な説明】
【００８７】
【図１】本発明の描画データ処理に用いられる描画装置を概略的に示す図である。
【図２】描画データの処理全般を概略的に示すフローチャートである。
【図３】描画ベクタデータに基づいて形成されるイメージ画像を示す概略図である。
【図４】イメージ画像におけるランレングスデータを概略的に示す図である。
【図５】ランレングスデータの始点および終点に付加されるインデックスを示す図である。
【図６】ランレングスデータの始点および終点に対するインデックス付加ルーチンを示すフローチャートである。
【図７】描画図形におけるグループ化されたランレングスデータを示す図である。
【図８】ランレングスデータの概略を示す図である。
【図９】ランレングスデータのグループ化における、ランレングスデータの読み出しルーチンを示すフローチャートである。
【図１０】ランレングスデータのグループ化における、読出されたランレングスデータとＳ座標が重複するランレングスデータのグループ化処理ルーチンを示すフローチャートである。
【図１１】スキャン始点群における輪郭ベクタデータ生成の概略を示す図である。
【図１２】スキャン始点群に基づく輪郭ベクタデータ生成ルーチンを示すフローチャートである。
【図１３】最終的に得られるベクタデータの構成を示した図である。
【図１４】スキャン始点群およびスキャン終点群の輪郭点で囲まれた描画図形を示す図である。
【図１５】描画図形の輪郭に基づく輪郭ベクタデータを示す図である。
【符号の説明】
【００８８】
１０  描画装置
１２  データ処理ユニット
１６  ＣＰＵ
１８  画像メモリ（メモリ）
２０  ＣＡＤ（上位ＣＰＵ・ワークステーション）
【図１】
2005084798.tif 000003
【図２】
2005084798.tif 000004
【図３】
2005084798.tif 000005
【図４】
2005084798.tif 000006
【図５】
2005084798.tif 000007
【図６】
2005084798.tif 000008
【図７】
2005084798.tif 000009
【図８】
2005084798.tif 000010
【図９】
2005084798.tif 000011
【図１０】
2005084798.tif 000012
【図１１】
2005084798.tif 000013
【図１２】
2005084798.tif 000014
【図１３】
2005084798.tif 000015
【図１４】
2005084798.tif 000016
【図１５】
2005084798.tif 000017