(57)【特許請求の範囲】
【請求項１】
複数ラインの画素列からなる画像を各ラインに沿った第１の方向に細らせまたは太らせるとともに各ラインに直交する第２の方向に細らせる処理を行う画像処理装置であって、
前記画像の複数ラインの画素列に対応する複数ライン分のランレングスデータを画素値の変化点を表す変化点データとして順に読み込む読み込み手段と、
前記読み込み手段により読み込まれた各ラインの変化点データに前記第１の方向への細らせまたは太らせ処理を行う処理手段と、
前記処理手段により細らせまたは太らせ処理された変化点データを前記第２の方向への細らせ量に基づいて決定される数の複数ラインずつ合成することにより各ラインの変化点データを順に得る合成手段と、
前記合成手段により得られた各ラインの変化点データをランレングスデータとして出力する出力手段とを備えたことを特徴とする画像処理装置。
【請求項２】
前記処理手段および前記合成手段は、前記第１の方向への細らせまたは太らせ処理および合成の対象とする変化点データを前記第２の方向への細らせ量よりも１多いライン数から前記第２の方向への細らせ量の２倍よりも１多いライン数まで１ラインずつ順に増加させた後、前記第１の方向への細らせまたは太らせ処理および合成の対象とする変化点データを１ラインずつ所定回数シフトし、前記第１の方向への細らせまたは太らせ処理および合成の対象とする変化点データを前記第２の方向への細らせ量の２倍よりも１多いライン数から前記第２の方向への細らせ量よりも１多いライン数まで１ラインずつ順に減少させることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記読み込み手段は、前記第２の方向への細らせ時に前記複数ライン分のランレングスデータを反転された画像に対応する変化点データとして読み込み、
前記処理手段は、前記第２の方向への細らせかつ前記第１の方向への細らせ時に前記読み込み手段により読み込まれた各ラインの変化点データに前記第１の方向への太らせ処理を行い、前記第２の方向への細らせかつ前記第１の方向への太らせ時に前記読み込み手段により読み込まれた各ラインの変化点データに前記第１の方向への細らせ処理を行うことを特徴とする請求項１または２記載の画像処理装置。
【請求項４】
複数ラインの画素列からなる画像を各ラインに沿った第１の方向に細らせまたは太らせるとともに各ラインに直交する第２の方向に細らせる処理をコンピュータに実行させる画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記画像処理プログラムは、
前記画像の複数ラインの画素列に対応する複数ライン分のランレングスデータを画素値の変化点を表す変化点データとして順に読み込む処理と、
前記読み込まれた各ラインの変化点データに前記第１の方向への細らせまたは太らせを行う処理と、
細らせまたは太らせ処理された変化点データを前記第２の方向への細らせ量に基づいて決定される数の複数ラインずつ合成することにより各ラインの変化点データを順に得る処理と、
前記得られた各ラインの変化点データをランレングスデータとして出力する処理とを、コンピュータに実行させることを特徴とする画像処理プログラムを記録した記録媒体。
【請求項５】
光ビームを用いて対象物に描画を行う描画装置であって、
光ビームを点灯および消灯させつつ前記対象物の第１の走査方向に走査させる光ビーム走査手段と、
前記光ビーム走査手段と前記対象物とを前記第１の走査方向と直交する第２の走査方向に相対的に移動させる駆動手段と、
複数ラインの画素列からなる画像を各ラインに沿った第１の方向に細らせまたは太らせるとともに各ラインに直交する第２の方向に細らせる処理を行う画像処理装置と、
前記画像処理装置から出力されるデータに基づいて前記光ビーム走査手段および前記駆動手段を制御する描画制御手段とを備え、
前記画像処理装置は、
前記画像の複数ラインの画素列に対応する複数ライン分のランレングスデータを画素値の変化点を表す変化点データとして順に読み込む読み込み手段と、
前記読み込み手段により読み込まれた各ラインの変化点データに前記第１の方向への細らせまたは太らせ処理を行う処理手段と、
前記処理手段により処理された変化点データを前記第２の方向への細らせ量に基づいて決定される数の複数ラインずつ合成することにより各ラインの変化点データを順に得る合成手段と、
前記合成手段により得られた各ラインの変化点データをランレングスデータとして出力する出力手段とを備えたことを特徴とする描画装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像の太らせ処理または細らせ処理を行う画像処理装置、画像処理プログラムを記録した記録媒体およびそれらを用いた描画装置に関する。
【０００２】
【従来の技術】
レーザプロッタ等の描画装置により描かれる画像を太らせまたは細らせるために画像の太らせ処理または細らせ処理が行われる。
【０００３】
図４７は従来の画像の太らせ処理の一例を示す図である。図４７（ａ）に示す画像を２画素分太らせる場合には、図４７（ｂ）に示すように、各黒画素の４近傍の白画素を黒画素に変換し、図４７（ｃ）に示すように、各黒画素の８近傍の白画素を黒画素に変換する。このようにして、黒画素からなる画像が縦方向および横方向に２画素ずつ拡大する。
【０００４】
画像を２画素分細らせる場合には、逆に、各白画素の４近傍の黒画素を白画素に変換し、各白画素の８近傍の黒画素を白画素に変換する。それにより、黒画素からなる画像が縦方向および横方向に２画素ずつ縮小する。
【０００５】
【発明が解決しようとする課題】
上記の従来の太らせ処理および細らせ処理では、１画素ごとに白画素か黒画素かを判別するとともに４近傍または８近傍の画素の値を１画素ずつ変換する必要がある。その場合、連続する同一値の画素の数を示すランレングスデータを各画素の値に対応するビットマップデータに変換し、各ビットマップデータを１つずつ読み出す必要がある。そのため、データの読み出し回数が多くなり、処理時間がかかる。また、縦方向および横方向の太らせ量または細らせ量を独立に制御することができない。
【０００６】
本発明の目的は、画像を互いに直交する２方向のうち少なくとも一方向に高速に細らせかつ他方向に細らせまたは太らせることができるとともに２方向へ細らせ量または太らせ量をそれぞれ独立に制御することができる画像処理装置、画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体および画像処理装置を用いた描画装置を提供することである。
【０００７】
【課題を解決するための手段および発明の効果】
（１）第１の発明
第１の発明に係る画像処理装置は、複数ラインの画素列からなる画像を各ラインに沿った第１の方向に細らせまたは太らせるとともに各ラインに直交する第２の方向に細らせる処理を行う画像処理装置であって、画像の複数ラインの画素列に対応する複数ライン分のランレングスデータを画素値の変化点を表す変化点データとして順に読み込む読み込み手段と、読み込み手段により読み込まれた各ラインの変化点データに第１の方向への細らせまたは太らせ処理を行う処理手段と、処理手段により細らせまたは太らせ処理された変化点データを第２の方向への細らせ量に基づいて決定される数の複数ラインずつ合成することにより各ラインの変化点データを順に得る合成手段と、合成手段により得られた各ラインの変化点データをランレングスとして出力する出力手段とを備えたものである。
【０００８】
本発明に係る画像処理装置においては、画像の複数ラインの画素列に対応する複数ライン分のランレングスデータが読み込み手段により変化点データとして順に読み込まれる。読み込み手段により読み込まれた各ラインの変化点データに対して合成手段により第１の方向への細らせまたは太らせ処理が行われつつ処理された変化点データが第２の方向への細らせ量に基づいて決定される数の複数ラインずつ合成され、各ラインの変化点データが順に得られる。合成手段により得られた各ラインの変化点データは出力手段によりランレングスとして出力される。
【０００９】
この場合、変化点データの数は画像を構成する画素の数に比べて少ないので、データの読み込み時間が短くなる。したがって、画像を高速に第１の方向に細らせまたは太らせるとともに第２の方向に細らせることができる。
【００１０】
また、各ラインの変化点データに第１の方向への細らせまたは太らせ処理を行うことにより画像を第１の方向へ細らせまたは太らせ、変化点データを複数ラインずつ合成することにより画像を第２の方向に細らせるので、第１の方向への細らせ量または太らせ量および第２の方向への細らせ量をそれぞれ独立に制御することが可能になる。
【００１１】
（２）第２の発明
第２の発明に係る画像処理装置は、第１の発明に係る画像処理装置の構成において、処理手段および合成手段は、第１の方向への細らせまたは太らせ処理および合成の対象とする変化点データを第２の方向への細らせ量よりも１多いライン数から第２の方向への細らせ量の２倍よりも１多いライン数まで１ラインずつ順に増加させた後、第１の方向への細らせまたは太らせ処理および合成の対象とする変化点データを１ラインずつ所定回数シフトし、第１の方向への細らせまたは太らせ処理および合成の対象とする変化点データを第２の方向への細らせ量の２倍よりも１多いライン数から第２の方向への細らせ量よりも１多いライン数まで１ラインずつ順に減少させるものである。
【００１２】
この場合、第１の方向への細らせまたは太らせ処理および合成の対象とする変化点データを第２の方向への細らせ量よりも１多いライン数から第２の方向への細らせ量の２倍よりも１多いライン数まで１ラインずつ順に増加させることにより、画像の一方側の細らせ結果が得られる。また、第１の方向への細らせまたは太らせ処理および合成の対象とする変化点データを１ラインずつ所定回数シフトすることにより、画像の中央部の細らせ結果が得られる。さらに、第１の方向への太らせ処理および合成の対象とする変化点データを第２の方向への細らせ量の２倍よりも１多いライン数から第２の方向への細らせ量よりも１多いライン数まで１ラインずつ減少させることにより、画像の他方側の細らせ結果が得られる。
【００１３】
（３）第３の発明
第３の発明に係る画像処理装置は、第１または第２の発明に係る画像処理装置の構成において、読み込み手段は、第２の方向への細らせ時に複数ライン分のランレングスデータを反転された画像に対応する変化点データとして読み込み、処理手段は、第２の方向への細らせかつ第１の方向への細らせ時に読み込み手段により読み込まれた各ラインの変化点データに第１の方向への太らせ処理を行い、第２の方向への細らせかつ第１の方向への太らせ時に読み込み手段により読み込まれた各ラインの変化点データに第１の方向への細らせ処理を行うものである。
【００１４】
第２の方向への細らせ時には、読み込み手段により複数ライン分のランレングスデータが反転された画像に対応する変化点データとして読み込まれる。この場合、第１の方向への細らせ時には、合成手段により各ラインの変化点データに第１の方向への太らせ処理が行われ、第１の方向への太らせ時には、合成手段により各ラインの変化点データに第１の方向への細らせ処理が行われる。
【００１５】
（４）第４の発明
第４の発明に係る画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体は、複数ラインの画素列からなる画像を各ラインに沿った第１の方向に細らせまたは太らせるとともに各ラインに直交する第２の方向に細らせる処理をコンピュータに実行させる画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、画像処理プログラムは、画像の複数ラインの画素列に対応する複数ライン分のランレングスデータを画素値の変化点を表す変化点データとして順に読み込む処理と、読み込まれた各ラインの変化点データに第１の方向への細らせまたは太らせを行う処理と、細らせまたは太らせ処理された変化点データを第２の方向への細らせ量に基づいて決定される数の複数ラインずつ合成することにより各ラインの変化点データを順に得る処理と、得られた各ラインの変化点データをランレングスデータとして出力する処理とを、コンピュータに実行させるものである。
【００１６】
本発明に係る画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体によれば、画像の複数ラインの画素列に対応する複数ライン分のランレングスデータが変化点データとして順に読み込まれ、読み込まれた各ラインの変化点データに第１の方向への細らせまたは太らせ処理が行われつつ、細らせまたは太らせ処理された変化点データが第２の方向への細らせ量に基づいて決定される数の複数ラインずつ合成され、各ラインの変化点データが順に得られる。得られた各ラインの変化点データはランレングスデータとして出力される。
【００１７】
この場合、変化点データの数は画像を構成する画素の数に比べて少ないので、データの読み込み時間が短くなる。したがって、画像を高速に第１の方向に細らせまたは太らせるとともに第２の方向に細らせることができる。
【００１８】
また、各ラインの変化点データに第１の方向への細らせまたは太らせ処理を行うことにより画像を第１の方向に細らせまたは太らせ、変化点データを複数ラインずつ合成することにより画像を第２の方向に細らせるので、第１の方向への細らせまたは太らせ量および第２の方向への細らせ量をそれぞれ独立に制御することが可能となる。
【００１９】
（５）第５の発明
第５の発明に係る描画装置は、光ビームを用いて対象物に描画を行う描画装置であって、光ビームを点灯および消灯させつつ対象物の第１の走査方向に走査させる光ビーム走査手段と、光ビーム走査手段と対象物とを第１の走査方向と直交する第２の走査方向に相対的に移動させる駆動手段と、複数ラインの画素列からなる画像を各ラインに沿った第１の方向に細らせまたは太らせるとともに各ラインに直交する第２の方向に細らせる処理を行う画像処理装置と、画像処理装置から出力されるデータに基づいて光ビーム走査手段および駆動手段を制御する描画制御手段とを備え、画像処理装置は、画像の複数ラインの画素列に対応する複数ライン分のランレングスデータを画素値の変化点を表す変化点データとして順に読み込む読み込み手段と、読み込み手段により読み込まれた各ラインの変化点データに第１の方向への細らせまたは太らせ処理を行う処理手段と、処理手段により処理された変化点データを第２の方向への細らせ量に基づいて決定される数の複数ラインずつ合成することにより各ラインの変化点データを順に得る合成手段と、合成手段により得られた各ラインの変化点データをランレングスデータとして出力する出力手段とを備えたものである。
【００２０】
本発明に係る描画装置においては、光ビーム走査手段により光ビームが点灯および消灯されつつ対象物の第１の走査方向に走査される。また、駆動手段により光ビーム走査手段と対象物とが第２の方向に相対的に移動する。この場合、画像処理装置から出力されるデータに基づいて光ビーム走査手段および駆動手段が制御される。
【００２１】
特に、本発明に係る描画装置においては、画像処理装置により画像を高速に第１の方向に細らせまたは太らせつつかつ第２の方向に細らせることができるとともに、第１の方向への細らせ量または太らせ量および第２の方向への細らせ量をそれぞれ独立に制御することが可能となる。したがって、画像を高速に第１の方向に細らせまたは太らせつつ第２の方向に細らせながら対象物に描画することが可能になるとともに、第１の方向への細らせ量または太らせ量および第２の方向への細らせ量をそれぞれ独立に制御することが可能となる。
【００２２】
【発明の実施の形態】
図１は本発明の一実施例における画像処理装置の構成を示すブロック図である。
【００２３】
図１において、画像処理装置１は、画像データ保存用メモリ１１、制御演算部１２、補助メモリ１３および外部記憶装置１４を備える。制御演算部１２はＣＰＵ（中央演算処理装置）からなる。
【００２４】
外部記録装置１４は、ハードディスク装置、フロッピィディスク装置等の記録媒体からなり、後述する太らせ処理および細らせ／太らせ処理を行う画像処理プログラムを格納する。補助メモリ１３は作業領域として用いられる。
【００２５】
この画像処理装置１には、画像入力装置２、画像出力装置３、表示装置４およびポインティングデバイス５が接続される。画像入力装置２は、例えばイメージスキャナ、ＣＡＤ（Computer Aided Design)データを入力する入力装置等である。画像出力装置３は、例えば後述する描画装置である。表示装置４は、例えばディスプレイであり、ポインティングデバイス５は、例えばマウスである。
【００２６】
画像入力装置２から入力された画像データは画像データ保存用メモリ１１に記憶される。制御演算部１２は、外部記憶装置１４に格納される画像処理プログラムに従って画像データ保存用メモリ１１に記憶される画像データに対して後述する太らせ処理または細らせ／太らせ処理を行い、処理された画像データを画像データ保存用メモリ１１を介して画像出力装置３に出力する。
【００２７】
表示装置４は、画像入力装置２により入力された画像データに対応する画像を表示するとともに、制御演算部１２により処理された画像データに対応する画像を表示する。ポインティングデバイス５は、太らせ処理および細らせ／太らせ処理に関する各種パラメータを入力するために用いられる。
【００２８】
本実施例では、画像データ保存用メモリ１１、制御演算部１２および補助メモリ１３が読み込み手段を構成し、制御演算部１２および補助メモリ１３が合成手段を構成し、画像データ保存用メモリ１１および制御演算部１２が出力手段を構成する。
【００２９】
以下、図１の画像処理装置により行われる太らせ処理および細らせ／太らせ処理について説明する。以下の説明では、画像の横方向（左右方向）をｘ方向とし、画像の縦方向（上下方向）をｙ方向とする。
【００３０】
太らせ処理は、画像をｘ方向およびｙ方向に拡大する処理をいい、細らせ／太らせ処理は、画像をｘ方向およびｙ方向の少なくとも一方向に縮小しかつ他方向に縮小または拡大する処理をいう。
【００３１】
また、説明の便宜上、図２に示すように、１ラインの画像を図２（ｂ）に示す丸印および直線からなる記号で表す。ランレングスデータは、同一値の画素（白画素または黒画素）の連続する数を表すデータである。白画素の画素値は例えば"０"であり、黒画素の画素値は例えば"１"である。例えば図２（ａ）の例では、白画素が５つ連続し、黒画素が６つ連続し、白画素が７つ連続するので、ランレングスデータは５，６，７，ＬＦとなる。ＬＦはラインフィードを表す。また、変化点データは、白画素から黒画素または黒画素から白画素への変化点の位置（変化点アドレス）を示すデータである。図２（ａ）の例では、変化点データは０，５，１１，Max となる。Max はラインフィードＬＦに対応する記号を表す。
【００３２】
さらに、以下の説明では、図２（ｂ）に示すように、白画素をオフとし、黒画素をオンとし、オフからオンへの変化点およびオンからオフへの変化点を丸印で表し、オンの画素を直線で表す。
【００３３】
図３は太らせ処理および細らせ／太らせ処理における条件の設定処理を示すフローチャートである。
【００３４】
まず、ｘ方向の太らせまたは細らせ量Δｘおよびｙ方向の太らせまたは細らせ量Δｙを入力する（ステップＳ１）。そして、補助メモリ１３にｘ方向の太らせ幅に相当する（２Δｘ＋１）ライン分のデータ読み込み領域を確保する（ステップＳ２）。
【００３５】
たとえば、ｘ方向の太らせ量または細らせ量Δｘが２画素の場合には、図４に示すように、５ライン分のデータ読み込み領域１００を確保する。図４において、Ｌ１〜Ｌ５はデータ読み込み領域１００の５つのラインを示す。このデータ読み込み領域１００には初期値としてMax を書き込む。
【００３６】
ｘ方向およびｙ方向共に太らせを行う場合には後述する太らせ処理に進み、ｘ方向およびｙ方向の少なくとも一方向に細らせ処理を行う場合には後述する細らせ／太らせ処理に進む（ステップＳ３）。
【００３７】
（１）太らせ処理
太らせ処理では、太らせ形状テーブルに基づいて各ラインの画像をｙ方向に太らせるとともに複数ラインの変化点データをマージ処理することにより、画像をｘ方向およびｙ方向の両方に太らせる。
【００３８】
図５はｙ方向の太らせ方法を示す図である。ｙ方向の太らせでは、奇数番目の変化点データから太らせ量分減算し、偶数番目の変化点データに太らせ量分加算する。減算結果が負になる場合には０を設定する。また、減算または加算により２つの変化点データの大小関係が入れ替わる場合または２つの変化点データが等しくなる場合にはそれらの２つの変化点データを消去する。
【００３９】
図５（ａ）の例では、変化点データ１，５，６，９，１３，１５，Max をｙ方向に２太らせることにより変化点データ０，１７，Max が得られる。図５（ｂ）の例では、変化点データ３，１０，１５，１７，Max をｙ方向に２太らせることにより変化点データ１，１２，１３，１９，Max が得られる。図５（ｃ）の例では、変化点データ３，１１，１５，１７，Max をｙ方向に１太らせることにより変化点データ２，１２，１４，１８，Max が得られる。
【００４０】
図６はマージ処理を説明するための図である。マージ処理では、２ライン分の変化点データを１ラインの変化点データに合成する。このマージ処理は、２ライン分の画素に対して論理和演算を行うことに相当する。
【００４１】
図６（ａ）の例では、変化点データ１，５，８，１０，１３，１６，Max と変化点データ１，３，１２，１４，Max とをマージ処理することにより変化点データ１，５，８，１０，１２，１６，Max が得られる。図６（ｂ）の例では、変化点データ１，１２，１３，１９，Max と変化点データ２，１２，１４，１８，Max とをマージ処理することにより変化点データ１，１２，１３，１９，Max が得られる。
【００４２】
図７、８および図９は太らせ処理を示すフローチャートである。
まず、太らせ形状テーブルを作成する（図７のステップＳ４）。この場合、入力されたｘ方向の太らせ量Δｘおよびｙ方向の太らせ量Δｙに基づいて太らせ処理された１つのラインの画像の端部が円または楕円に近い形状になるようにマージ処理におけるｙ方向の太らせ量ｙを設定する。具体的には、入力されたｙ方向の太らせ量Δｙを半径とする円の方程式からｘ方向の太らせ幅（２Δｘ＋１）の範囲の太らせ量ｙの値を算出する。
【００４３】
例えば、図１０（ａ）に示すように、ｙ方向の太らせ量Δｙ＝２およびｘ方向の太らせ量Δｘ＝２の場合、円の方程式は（ｘ−２）2 ＋ｙ2 ＝４となり、図１０（ｂ）に示す太らせ形状テーブル１０１が得られる。この太らせ形状テーブル１０１のｘ方向の範囲はｘ方向の太らせ幅（２Δｘ＋１）に相当し、本例では５となる。
【００４４】
次に、（Δｘ＋１）ライン分のランレングスデータを変化点データとしてデータ読み込み領域１００に読み込む（図７のステップＳ５）。そして、データ読み込み領域１００の変化点データをｙ方向に太らせながらマージ処理を行う（ステップＳ６）。その後、マージ処理により得られた１ライン分の変化点データをランレングスデータとして出力する（ステップＳ７）。
【００４５】
さらに、次の１ライン分のランレングスデータを変化点データとしてデータ読み込み領域１００に読み込む（図８のステップＳ８）。そして、データ読み込み領域１００の変化点データをｙ方向に太らせながらマージ処理を行う（ステップＳ９）。その後、マージ処理により得られた１ライン分の変化点データをランレングスデータとして出力する（ステップＳ１０）。すべてのランレングスデータをデータ読み込み領域１００に読み込むまでステップＳ８〜Ｓ１０の処理を繰り返す（ステップＳ１１）。その後、変数ｉをｘ方向の太らせ量Δｘに設定する（ステップＳ１２）。
【００４６】
次に、データ読み込み領域１００の最も古い１ライン分の変化点データを消去する（ステップＳ１３）。そして、データ読み込み領域１００の変化点データをｙ方向に太らせながらマージ処理を行う（ステップＳ１４）。その後、マージ処理により得られた１ライン分の変化点データをランレングスデータとして出力した後（ステップＳ１５）、変数ｉから１を減算する（ステップＳ１６）。変数ｉが０になるまでステップＳ１３〜Ｓ１６の処理を繰り返す（ステップＳ１７）。
【００４７】
次に、図１１〜図２０を参照しながら太らせ処理の具体例を説明する。
ここでは、図１１（ａ）に示すランレングスデータに対して太らせ処理を行うものとする。図１１（ｂ）は図１１（ａ）のランレングスデータに対応する画像を示し、図１１（ｃ）は図１１（ａ）のランレングスデータに対応する変化点データを示す。ｘ方向の太らせ量Δｘを２とし、ｙ方向の太らせ量Δｙを２とする。
【００４８】
この場合、図１２に示すように、５ライン分のランレングスデータを記憶するデータ読み込み領域１００を確保し、各ラインＬ１〜Ｌ５に初期値として変化点データMax を書き込む。まず、図１１の第１番目〜第３番目のラインのランレングスデータを変化点データとしてデータ読み込み領域１００のラインＬ１〜Ｌ３に読み込む。
【００４９】
次に、図１３（ａ）に示すように、補助メモリ１３にマージ処理領域ＭＳ，ＭＲを確保し、マージ処理領域ＭＳの先頭に初期値として変化点データMax を書き込む。この場合、データ読み込み領域Ｌ１〜Ｌ５の変化点データに対する太らせ量ｙは太らせ形状テーブル１０１に基づいてそれぞれ２，１，０，０，１に設定する。
【００５０】
まず、データ読み込み領域１００のラインＬ１の変化点データMax をｙ方向に２太らせてマージ処理領域ＭＲに書き込み、マージ処理領域ＭＳの変化点データMax とマージ処理領域ＭＲの変化点データMax とをマージ処理し、処理結果である変化点データMax をマージ処理領域ＭＳに書き込む。
【００５１】
次に、データ読み込み領域１００のラインＬ２の変化点データMax をｙ方向に１太らせてマージ処理領域ＭＲに書き込み、マージ処理領域ＭＳの変化点データMax とマージ処理領域ＭＲの変化点データMax とをマージ処理し、処理結果である変化点データMax をマージ処理領域ＭＳに書き込む。
【００５２】
さらに、データ読み込み領域１００のラインＬ３の変化点データ３，１０，１５，１７，Max をｙ方向に０太らせてマージ処理領域ＭＲに書き込み、マージ処理領域ＭＳの変化点データMax とマージ処理領域ＭＲの変化点データ３，１０，１５，１７，Max とをマージ処理し、処理結果である変化点データ３，１０，１５，Max をマージ処理領域ＭＳに書き込む。
【００５３】
データ読み込み領域１００のラインＬ４，Ｌ５の変化点データについても同様にマージ処理を行い、最終的なマージ処理結果である変化点データ３，１０，１５，１７，Max を処理結果格納領域Ｍ０に書き込む。
【００５４】
図１３（ｂ）に示すように、処理結果格納領域Ｍ０の変化点データ３，１０，１５，１７，Max をランレングスデータ３，７，５，２，ＬＦとしてデータ出力領域Ｍ１に出力する。なお、ランレングスデータは、各２つの変化点データの差を順に求めることにより得られる。図１３（ｃ）にマージ処理により得られた画像を示す。
【００５５】
この場合、データ読み込み領域１００のラインＬ４，Ｌ５には変化点データが読み込まれていないので、実質的には３ライン分の変化点データに対してマージ処理を行ったことになる。
【００５６】
図１４（ａ）に示すように、図１１の第４番目のラインのランレングスデータを変化点データとしてデータ読み込み領域１００のラインＬ４に読み込む。この場合にも、マージ処理領域ＭＳの先頭に初期値として変化点データMax を書き込む。データ読み込み領域Ｌ１〜Ｌ５の変化点データに対する太らせ量ｙはそれぞれ１，２，１，０，０に設定する。
【００５７】
まず、データ読み込み領域１００のラインＬ２の変化点データMax をｙ方向に２太らせてマージ処理領域ＭＲに書き込み、マージ処理領域ＭＳの変化点データMax とマージ処理領域ＭＲの変化点データMax とをマージ処理し、処理結果である変化点データMax をマージ処理領域ＭＳに書き込む。
【００５８】
次に、データ読み込み領域１００のラインＬ３の変化点データ３，１０，１５，１７，Max をｙ方向に１太らせ、得られた変化点データ２，１１，１４，１８，Max をマージ処理領域ＭＲに書き込み、マージ処理領域ＭＳの変化点データMax とマージ処理領域ＭＲの変化点データ２，１１，１４，１８，Max とをマージ処理し、処理結果である変化点データ２，１１，１４，１８，Max をマージ処理領域ＭＳに書き込む。
【００５９】
さらに、データ読み込み領域１００のラインＬ４の変化点データ３，１１，１５，１７，Max をｙ方向に０太らせてマージ処理領域ＭＲに書き込み、マージ処理領域ＭＳの変化点データ２，１１，１４，１８，Max とマージ処理領域ＭＲの変化点データ３，１１，１５，１７，Max とをマージ処理し、処理結果である変化点データ２，１１，１４，１８，Max をマージ処理領域ＭＳに書き込む。
【００６０】
データ読み込み領域１００のラインＬ５，Ｌ１の変化点データについても同様にマージ処理を行い、最終的なマージ処理結果である変化点データ２，１１，１４，１８，Max を処理結果格納領域Ｍ０に書き込む。
【００６１】
図１４（ｂ）に示すように、処理結果格納領域Ｍ０の変化点データ２，１１，１４，１８，Max をランレングスデータ２，９，３，４，ＬＦとしてデータ出力領域Ｍ１に出力する。図１４（ｃ）にマージ処理により得られた画像を示す。
【００６２】
この場合、データ読み込み領域１００のラインＬ５には変化点データが読み込まれていないので、実質的には４ライン分の変化点データに対してマージ処理を行ったことになる。
【００６３】
次に、図１５（ａ）に示すように、図１１の第５番目のラインのランレングスデータを変化点データとしてデータ読み込み領域１００のラインＬ５に読み込み、ラインＬ３，Ｌ４，Ｌ５，Ｌ１，Ｌ２の順にｙ方向の太らせおよびマージ処理を行い、最終的なマージ結果である変化点データ１，１２，１３，１９，Max を処理結果格納領域Ｍ０に書き込む。そして、処理結果格納領域Ｍ０の変化点データ１，１２，１３，１９，Max をランレングスデータ１，１１，１，６，ＬＦとしてデータ出力領域Ｍ１に出力する。図１５（ｂ）にマージ処理により得られた画像を示す。
【００６４】
さらに、図１６（ａ）に示すように、図１１の第６番目のラインのランレングスデータを変化点データとしてデータ読み込み領域１００のラインＬ１に読み込み、ラインＬ４，Ｌ５，Ｌ１，Ｌ２，Ｌ３の順にｙ方向の太らせおよびマージ処理を行い、最終的なマージ結果である変化点データ１，１９，Max を処理結果格納領域Ｍ０に書き込む。そして、処理結果格納領域Ｍ０の変化点データ１，１９，Max をランレングスデータ１，１８，ＬＦとしてデータ出力領域Ｍ１に出力する。図１６（ｂ）にマージ処理により得られた画像を示す。
【００６５】
次に、図１７（ａ）に示すように、図１２の第７番目のラインのランレングスデータを変化点データとしてデータ読み込み領域１００のラインＬ２に読み込み、ラインＬ５，Ｌ１，Ｌ２，Ｌ３，Ｌ４の順にｙ方向の太らせおよびマージ処理を行い、最終的なマージ結果である変化点データ１，１２，１３，１９，Max を処理結果格納領域Ｍ０に書き込む。そして、処理結果格納領域Ｍ０の変化点データ１，１２，１３，１９，Max をランレングスデータ１，１１，１，６，ＬＦとしてデータ出力領域Ｍ１に出力する。図１７（ｂ）にマージ処理により得られた画像を示す。
【００６６】
この時点で、すべてのランレングスデータがデータ読み込み領域１００に読み込まれたことになる。
【００６７】
次に、図１８（ａ）に示すように、データ読み込み領域１００のラインＬ３の変化点データを消去する。変化点データの消去は、変化点データMax を書き込むことにより行う。この場合、ラインＬ３には変化点データMax が既に書き込まれているので、変化点データは変化しない。データ読み込み領域１００のラインＬ１，Ｌ２，Ｌ３，Ｌ４，Ｌ５の順にｙ方向の太らせおよびマージ処理を行い、最終的なマージ結果である変化点データ１，１１，１４，１８，Max を処理結果格納領域Ｍ０に書き込む。そして、処理結果格納領域Ｍ０の変化点データ１，１１，１４，１８，Max をランレングスデータ１，１０，３，４，ＬＦとしてデータ出力領域Ｍ１に出力する。図１８（ｂ）にマージ処理により得られた画像を示す。
【００６８】
この場合、データ読み込み領域１００のラインＬ３の変化点データは消去されているので、実質的に４ライン分の変化点データに対してマージ処理を行ったことになる。
【００６９】
最後に、図１９（ａ）に示すように、データ読み込み領域１００のラインＬ４の変化点データを消去し、ラインＬ２，Ｌ３，Ｌ４，Ｌ５，Ｌ１の順にｙ方向の太らせおよびマージ処理を行い、最終的なマージ結果である変化点データ２，９，１５，１７，Max を処理結果格納領域Ｍ０に書き込む。そして、処理結果格納領域Ｍ０の変化点データ２，９，１５，１７，Max をランレングスデータ２，７，６，２，ＬＦとしてデータ出力領域Ｍ１に出力する。図１９（ｂ）にマージ処理により得られた画像を示す。
【００７０】
この場合には、データ読み込み領域１００のラインＬ３，Ｌ４の変化点データが消去されているので、実質的に３ライン分の変化点データに対してマージ処理を行ったことになる。
【００７１】
このようにして、図２０（ａ）に示す画像に対してｙ方向の太らせおよびマージ処理を行うことにより、図２０（ｂ）に示す画像が得られる。この太らせ処理では、画像の第１〜第３ラインを用いたマージ処理により第１ラインの処理結果が得られ、第１〜第４ラインを用いたマージ処理により第２ラインの処理結果が得られ、第１〜第５ラインを用いたマージ処理により第３ラインの処理結果が得られる。また、第２〜第６ラインを用いたマージ処理により第４ラインの処理結果が得られ、第３〜第７ラインを用いたマージ処理により第５ラインの処理結果が得られる。さらに、第４〜第７ラインを用いたマージ処理により第６ラインの処理結果が得られ、第５〜第７ラインを用いたマージ処理により第７ラインの処理結果が得られる。
【００７２】
本実施例の太らせ処理では、変化点データを用いて画像をｘ方向およびｙ方向に太らせることができるので、処理速度が高速になる。また、ｘ方向およびｙ方向の太らせ量をそれぞれ独立に制御することができる。
【００７３】
図２１は複数ライン分の変化点データのマージ処理を示すフローチャートである。まず、データ読み込み領域１００のマージ開始位置のライン番号ｎを取得する（ステップＳ４１）。そして、変数ｋを０に設定する（ステップＳ４２）。次に、マージ処理領域ＭＳの先頭に初期値として変化点データMax を書き込む（ステップＳ４３）。
【００７４】
データ読み込み領域１００の（ｎ＋ｋ）番目のラインの変化点データにｙ方向の太らせを行ってマージ処理領域ＭＲに書き込む（ステップＳ４４）。その後、マージ処理領域ＭＳの変化点データとマージ処理領域ＭＲの変化点データとにマージ処理を行い、処理結果をマージ処理領域ＭＳに書き込み（ステップＳ４５）、変数ｋに１を加算する（ステップＳ４６）。変数ｋがｘ方向の太らせ幅（２Δｘ＋１）以上になるまでステップＳ４４〜Ｓ４６の処理を繰り返す。
【００７５】
なお、データ読み込み領域１００の（２Δｘ＋１）番目のラインの次は１番目のラインに戻る。例えば、図４の例では、データ読み込み領域１００のラインＬ５の次にはラインＬ１に戻る。
【００７６】
図２２、図２３および図２４は２ライン分の変化点データのマージ処理を示すフローチャートである。
【００７７】
図２２〜図２４において、Ａ状態フラグは一方のラインの画像のオンまたはオフの状態を示し、Ｂ状態フラグは他方のラインの画像のオンまたはオフの状態を示し、マージ状態フラグはマージ処理により得られる画像のオンまたはオフの状態を示す。また、Ａ［ｎＡ］は一方のラインにおけるｎＡ番目の変化点データを示し、Ｂ［ｎＢ］は他方のラインにおけるｎＢ番目の変化点データを示す。さらに、Ｍ［ｎｍ］はマージ処理により得られるｎｍ番目の変化点データを示す。
【００７８】
最初に、Ａ状態フラグをオフにし、Ｂ状態フラグをオフにし、マージ状態フラグをオフにし、ｎＡ＝０、ｎＢ＝０、ｎｍ＝０に設定する（ステップＳ５１）。
【００７９】
まず、一方のラインの０番目の変化点データＡ［ｎＡ］と他方のラインの０番目の変化点データＢ［ｎＢ］とを比較する（ステップＳ５２）。Ｂ［ｎＢ］≧Ａ［ｎＡ］の場合には、Ａ状態フラグをオンにし（ステップＳ５３）、Ｍ［ｎｍ］をＡ［ｎＡ］に設定した後（ステップＳ５４）、ｎＡに１を加算する（ステップＳ５５）。
【００８０】
一方、ステップＳ５２でＡ［ｎＡ］＞Ｂ［ｎＢ］の場合には、Ｂ状態フラグをオンにし（ステップＳ５６）、Ｍ［ｎｍ］をＢ［ｎＢ］に設定した後（ステップＳ５７）、ｎＢに１を加算する（ステップＳ５８）。
【００８１】
次に、ｎｍに１を加算し（ステップＳ５９）、一方のラインのｎＡ番目の変化点データＡ［ｎＡ］と他方のラインのｎＢ番目の変化点データＢ［ｎＢ］とを比較する（ステップＳ６０）。
【００８２】
Ｂ［ｎＢ］≧Ａ［ｎＡ］の場合には、Ａ状態フラグの状態を反転させる（ステップＳ６１）。すなわち、Ａ状態フラグがオンの場合にはオフにし、Ａ状態フラグがオフの場合にはオンにする。
【００８３】
次に、Ａ状態フラグがマージ状態フラグと異なりかつＡ状態フラグがオフであるか否かを判別する（ステップＳ６２）。Ａ状態フラグがマージ状態フラグと異なりかつＡ状態フラグがオフの場合には、Ｍ［ｎｍ］をＡ［ｎＡ］に設定する（ステップＳ６３）。
【００８４】
次に、マージ状態フラグがオフでＭ［ｎｍ−１］とＭ［ｎｍ］とが一致するか否かを判別する（ステップＳ６４）。すなわち、マージ処理により得られる画像がオフの状態でかつマージ処理により得られた１つ前の変化点データと現在の変化点データとが一致するか否かを判別する。マージ状態フラグがオフでかつＭ［ｎｍ−１］とＭ［ｎｍ］とが一致する場合には、ｎｍから１を減算し（ステップＳ６５）、マージ状態フラグを反転させる（ステップＳ６６）。マージ状態フラグがオンまたはＭ［ｎｍ−１］とＭ［ｎｍ］とが一致しない場合には、ｎｍに１を加算し（ステップＳ６７）、マージ状態フラグを反転させる（ステップＳ６８）。
【００８５】
その後、ｎＡに１を加算し（ステップＳ６９）、ステップＳ５９に戻る。ステップＳ６２でＡ状態フラグがマージ処理フラグと一致するかまたはＡ状態フラグがオンの場合にはステップＳ６９に進む。
【００８６】
図２２のステップＳ６０でＡ［ｎＡ］＞Ｂ［ｎＢ］の場合には、Ｂ状態フラグを反転させる（図２４のステップＳ７０）。すなわち、Ｂ状態フラグがオンの場合にはオフにし、Ｂ状態フラグがオフの場合にはオンにする。
【００８７】
次に、Ｂ状態フラグがマージ状態フラグと異なりかつＢ状態フラグがオフであるか否かを判別する（ステップＳ７１）。Ｂ状態フラグがマージ状態フラグと異なりかつＢ状態フラグがオフの場合には、Ｍ［ｎｍ］をＢ［ｎＢ］に設定する（ステップＳ７２）。
【００８８】
次に、マージ状態フラグがオフでＭ［ｎｍ−１］とＭ［ｎｍ］とが一致するか否かを判別する（ステップＳ７３）。すなわち、マージ処理により得られる画像がオフの状態でかつマージ処理により得られた１つ前の変化点データと現在の変化点データとが一致するか否かを判別する。マージ状態フラグがオフでかつＭ［ｎｍ−１］とＭ［ｎｍ］とが一致する場合には、ｎｍから１を減算し（ステップＳ７４）、マージ状態フラグを反転させる（ステップＳ７５）。マージ状態フラグがオンまたはＭ［ｎｍ−１］とＭ［ｎｍ］とが一致しない場合には、ｎｍに１を加算し（ステップＳ７６）、マージ状態フラグを反転させる（ステップＳ７７）。
【００８９】
その後、ｎＢに１を加算し（ステップＳ７８）、ステップＳ５９に戻る。ステップＳ７１でＢ状態フラグがマージ状態フラグと一致するかまたはＢ状態フラグがオンの場合にはステップＳ７８に進む。
【００９０】
このようにして、２つのラインの変化点データを先頭から順に比較しつつ、小さい方をその時点のマージ処理された変化点データの状態に基づいて保存する。
【００９１】
（２）細らせ／太らせ処理
細らせ／太らせ処理では、各ラインの画像をｙ方向に細らせるとともに複数ラインの変化点データをマージ処理することにより画像をｘ方向に太らせるか、各ラインの画像をｙ方向に細らせるとともに複数ラインの変化点データをマージ処理することにより画像をｘ方向に細らせるか、あるいは各ラインの画像をｙ方向に太らせるとともに複数ラインの変化点データをマージ処理することにより画像をｘ方向に細らせる。
【００９２】
画像をｘ方向に太らせる場合には、元の画像に対応する変化点データをそのままマージ処理する。画像をｘ方向に細らせる場合には、元の画像のオンおよびオフを反転させ、反転された画像に対応する変化点データをマージ処理する。
【００９３】
図２５はｙ方向の細らせまたは太らせ方法を示す図である。ｘ方向に太らせながらｙ方向に細らせる場合には、奇数番目の変化点データに細らせ量分加算し、偶数番目の変化点データから細らせ量分減算する。減算または加算により２つの変化点データの大小関係が入れ替わる場合または２つの変化点データが等しくなる場合にはそれらの変化点データを消去する。
【００９４】
ｘ方向に細らせながらｙ方向に細らせまたは太らせる場合には、変化点データの先頭に０を挿入し、画像のオンおよびオフを反転させる。ｙ方向の細らせでは、奇数番目の変化点データから細らせ量分減算し、偶数番目の変化点データに細らせ量分加算することにより、反転された画像をｙ方向に太らせる。ｙ方向の太らせでは、奇数番目の変化点データに太らせ量分加算し、偶数番目の変化点データから太らせ量分減算することにより、反転された画像をｙ方向に細らせる。
【００９５】
図２５（ａ）の例では、ｘ方向の太らせ時に、変化点データ３，１１，１５，１７，Max をｙ方向に２細らせることにより、変化点データ５，９，Max が得られる。図２５（ｂ）の例では、ｘ方向の細らせ時に、変化点データ３，１１，１５，１７，Max の先頭に０を挿入することにより、オンおよびオフが反転された変化点データ０，３，１１，１５，１７，Max が得られる。そして、得られた変化点データをｙ方向に２太らせることにより変化点データ０，５，９，Max が得られる。この場合、変化点データ０，５，９，Max を再度は反転させることにより、元の画像をｙ方向に２細らせた画像が得られる。
【００９６】
図２６はマージ処理を説明するための図である。マージ処理では、複数のライン分の変化点データを変化点アドレスおよび変化量を用いて１ラインの変化点データに合成する。このマージ処理は、複数ライン分の画素に対して論理和演算を行うことに相当する。
【００９７】
変化点アドレスは、複数ラインの変化点データに対応し、変化量は複数ラインにおいて同一の変化点データの数を示す。この変化量は、オフからオンに変化する変化点データ（ランレングスデータのデータ開始位置）で１を加算し、オンからオフに変化する変化点データ（ランレングスデータのデータの終了位置）で１を減算することにより得られる。
【００９８】
図２６の例では、変化点データ１，４，６，８と変化点データ２，４，５，７と変化点データ２，４とをマージ処理することにより変化点データ１，４，５，８が得られる。この場合、変化量を先頭から順に積算し、先頭の変化点アドレスをオフからオンに変化する変化点データに設定し、変化量の積算値が０になる変化点アドレスをオンからオフに変化する変化点データに設定し、次の変化点アドレスをオフからオンに変化する変化点データに設定する。
【００９９】
図２７、図２８および図２９は細らせ／太らせ処理を示すフローチャートである。
【０１００】
まず、図１の補助メモリ１３に２組の変化点アドレス保存領域ＣＰおよび変化量保存領域ＣＣを確保する（ステップＳ２０）。次に、（Δｘ＋１）ライン分のランレングスデータを変化点データとしてｙ方向にΔｙ太らせまたは細らせながらデータ読み込み領域１００に読み込み、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量を更新する（ステップＳ２１）。その後、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量に基づいて１ライン分の変化点データをランレングスデータとして出力する（ステップＳ２２）。
【０１０１】
その後、次のラインのランレングスデータを変化点データとしてｙ方向にΔｙ太らせまたは細らせながらデータ読み込み領域１００に読み込み、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量を更新する（図２７のステップＳ２３）。そして、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量に基づいて１ライン分の変化点データをランレングスデータとして出力する（ステップＳ２４）。データ読み込み領域１００の全てのラインに変化点データを読み込むまでステップＳ２３，Ｓ２４の処理を繰り返す。
【０１０２】
次に、データ読み込み領域１００の最も古い１ライン分の変化点データを消去し、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量を更新する（図２８のステップＳ２６）。そして、次の１ライン分のランレングスデータを変化点データとしてｙ方向にΔｙ太らせまたは細らせながらデータ読み込み領域１００に読み込み、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量を更新する（ステップＳ２７）。その後、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量に基づいて１ライン分のランレングスデータを出力する（ステップＳ２８）。全てのランレングスデータをデータ読み込み領域１００に読み込むまでステップＳ２６〜Ｓ２８の処理を繰り返す。その後、変数ｉをｘ方向の細らせ量または太らせ量Δｘに設定する（ステップＳ３０）。
【０１０３】
次に、データ読み込み領域１００の最も古い１ライン分の変化点データを消去し、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量を更新する（図２９のステップＳ３１）。その後、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量に基づいて１ライン分の変化点データをランレングスデータとして出力し（ステップＳ３２）、変数ｉから１を減算する（ステップＳ３３）。変数ｉが０になるまでステップＳ３１〜Ｓ３３の処理を繰り返す。
【０１０４】
次に、図３０〜図４３を参照しながら細らせ／太らせ処理の具体例を説明する。
【０１０５】
ここでは、図３０（ａ）に示すランレングスデータをｘ方向に細らせかつｙ方向に細らせるものとする。図３０（ｂ）は図３０（ａ）のランレングスデータに対応する画像を示し、図３０（ｃ）は図３０（ａ）のランレングスデータに対応する変化点データを示す。また、ｘ方向の細らせ量Δｘを２とし、ｙ方向の細らせ量Δｙを２とする。
【０１０６】
ｘ方向の細らせでは、図３１（ａ）に示すように、各ラインの変化点データの先頭に０を挿入することにより変化点データのオンおよびオフの状態を反転させる。それにより、図３０（ｂ）に示した画像のオンおよびオフが図３１（ｂ）に示すように反転する。
【０１０７】
さらに、図３１（ｃ）に示すように、反転された図３１（ａ）の変化点データをｙ方向に２太らせる。ｙ方向の太らせでは、奇数番目の変化点データから太らせ量分減算し、偶数番目の変化点データに太らせ量分加算する。減算結果が負になる場合には０を設定する。減算または加算により２つの変化点データの大小関係が入れ替わる場合または２つの変化点データが等しくなる場合にはそれらの２つの変化点データを消去する。ｙ方向の太らせの結果、図３１（ｄ）に示す画像が得られる。
【０１０８】
まず、図３２〜図３４に示すように、データ読み込み領域１００のラインＬ１，Ｌ２，Ｌ３に図３０の第１番目〜第３番目のラインのランレングスデータを変化点データとして図３１に示した方法で反転およびｙ方向に２太らせながら順に読み込み、読み込み時に、変化点データの偶数番目の値を負にする。
【０１０９】
このとき、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量を更新する。それにより、データ読み込み領域１００のラインＬ１に変化点データ０，−Max が記憶され、ラインＬ２に変化点データ０，−５，８，−Max が記憶され、ラインＬ３に変化点データ０，−５，９，−Max が記憶される。また、変化点アドレス保存領域ＣＰの変化点アドレスが０，５，８，９，Max に更新され、変化量保存領域ＣＣの変化量が３，−２，１，１，−３に更新される。
【０１１０】
この時点で、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量に基づいて１ライン分の変化点データをランレングスデータとして出力する。この場合、変化量を先頭から順に積算し、先頭の変化点アドレス、積算値が０となる変化点アドレスおよび次の変化点アドレスを変化点データとし、０の挿入により反転された変化点データを元に戻すために先頭の変化点データ０を消去する。図３４の例では、変化点データはMax となり、ランレングスデータとしてＬＦを出力する。
【０１１１】
図３５に示すように、図３０の第４番目のラインのランレングスデータを変化点データとして図３１の方法で反転およびｙ方向に２太らせながらデータ読み込み領域１００のラインＬ４に読み込み、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量を更新する。それにより、変化点アドレス保存領域ＣＰの変化点アドレスが０，４，５，７，８，９，Max に更新され、変化量保存領域ＣＣの変化量が４，−１，−２，１，１，１，−４に更新される。
【０１１２】
変化量保存領域ＣＣの変化量を積算し、先頭の変化点アドレス０および積算値が０となる変化点アドレスMax を変化点データとし、先頭の変化点データ０を消去する。そして、変化点データMax をランレングスデータＬＦとして出力する。
【０１１３】
次に、図３６に示すように、図３０の第５番目のラインのランレングスデータを変化点データとして図３１の方法で反転およびｙ方向に２太らせながらデータ読み込み領域１００のラインＬ５に読み込み、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量を更新する。
【０１１４】
同様に、先頭の変化点アドレス０および変化量保存領域ＣＣの変化量の積算値が０となる変化点アドレスMax を変化点データとし、先頭の変化点データ０を消去する。そして、変化点データMax をランレングスデータＬＦとして出力する。この時点でデータ読み込み領域１００の全てのラインＬ１〜Ｌ５にデータが読み込まれている。
【０１１５】
図３７に示すように、データ読み込み領域１００のラインＬ１の変化点データ０，−Max を消去し、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量を更新する。この場合、変化点アドレス保存領域ＣＰの変化点アドレスは０，４，５，７，８，９，−Max に更新され、変化量保存領域ＣＣの変化量は４，−２，−２，１，２，１，−４に更新される。
【０１１６】
続いて、図３８に示すように、図３０の第６番目のラインのランレングスデータを変化点データとして図３０の方法で反転およびｙ方向に２太らせながらデータ読み込み領域１００のラインＬ１に読み込み、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量を更新する。
【０１１７】
それにより、変化点アドレス保存領域ＣＰの変化点アドレスが０，４，５，７，８，９，Max に更新され、変化量保存領域ＣＣの変化量が５，−３，−２，１，３，１，−５に更新される。先頭の変化点アドレス０、変化量保存領域ＣＣの変化量の積算値が０となる変化点アドレス５、次の変化点アドレス７および積算値が０となる変化点アドレスMax を変化点データとし、先頭の変化点データ０を消去する。そして、変化点データ５，７，Max をランレングスデータ５，２，ＬＦとして出力する。
【０１１８】
次に、図３９に示すように、データ読み込み領域１００のラインＬ２の変化点データを消去し、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量を更新した後、図３０の第７番目のラインのランレングスデータを変化点データとして図３１の方法で反転およびｙ方向に２太らせながらデータ読み込み領域１００のラインＬ２に読み込み、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量を更新する。
【０１１９】
それにより、変化点アドレス保存領域ＣＰの変化点アドレスが０，４，５，７，８，９，Max に更新され、変化量保存領域ＣＣの変化量が５，−３，−１，１，２，１，−５に更新される。先頭の変化点アドレス０および変化量保存領域ＣＣの変化量の積算値が０となる変化点アドレスMax を変化点データとし、先頭の変化点データ０を消去する。そして、変化点データMax をランレングスデータＬＦとして出力する。この時点で、データ読み込み領域１００に全てのランレングスデータが読み込まれている。
【０１２０】
図４０に示すように、データ読み込み領域１００のラインＬ３の変化点データを消去し、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量を更新する。それにより、変化点アドレス保存領域ＣＰの変化点アドレスが０，４，７，８，Max に更新され、変化量保存領域ＣＣの変化量が４，−３，１，２，−４に更新される。先頭の変化点アドレス０および変化量保存領域ＣＣの変化量の積算値が０となる変化点アドレスMax を変化点データとし、先頭の変化点データ０を消去する。そして、変化点データMax をランレングスデータＬＦとして出力する。
【０１２１】
最後に、図４１に示すように、データ読み込み領域１００のラインＬ４の変化点データを消去し、変化点アドレス保存領域ＣＰの変化点アドレスおよび変化量保存領域ＣＣの変化量を更新する。それにより、変化点アドレス保存領域ＣＰの変化点アドレスが０，４，８，Max に更新され、変化量保存領域ＣＣの変化量が３，−２，２，−３に更新される。先頭の変化点アドレス０および変化量保存領域ＣＣの変化量の積算値が０となる変化点アドレスMax を変化点データとし、先頭の変化点データ０を消去する。そして、変化点データMax をランレングスデータＬＦとして出力する。図４２に上記の細らせ／太らせ処理により得られた画像を示す。
【０１２２】
このようにして、図４３（ａ）に示す画像に対して反転、ｙ方向の太らせ、マージ処理および反転を行うことにより、図４３（ｂ）に示す画像が得られる。この細らせ／太らせ処理では、画像の第１〜第３ラインを用いたマージ処理により第１ラインの処理結果が得られ、第１〜第４ラインを用いたマージ処理により第２ラインの処理結果が得られ、第１〜第５ラインを用いたマージ処理により第３ラインの処理結果が得られる。また、第２〜第６ラインを用いたマージ処理により第４ラインの処理結果が得られ、第３〜第７ラインを用いたマージ処理により第５ラインの処理結果が得られる。さらに、第４〜第７ラインを用いたマージ処理により第６ラインの処理結果が得られ、第５〜第７ラインを用いたマージ処理により第７ラインの処理結果が得られる。
【０１２３】
本実施例の細らせ／太らせ処理では、変化点データを用いて画像をｘ方向およびｙ方向のうち少なくとも一方向に細らせかつ他方向に細らせまたは太らせることができるので、処理速度が高速になる。また、ｘ方向およびｙ方向の細らせ量または太らせ量をそれぞれ独立に制御することができる。
【０１２４】
図４４は図１の画像処理装置１を用いた描画装置の主要部のブロック図、図４５は図４４の描画装置の概略斜視図である。
【０１２５】
図４４の描画装置は、描画ヘッド３１を備えた走査光学系３０、テーブル３２、Ｘ軸駆動モータ３３、Ｙ軸駆動モータ３４および描画制御装置３５を含む。
【０１２６】
走査光学系３０の描画ヘッド３１は、レーザビームをＸ軸方向（主走査方向）に所定の走査幅で走査させつつテーブル３２上の感光材１００に照射する。図４５に示すように、テーブル３２は、基台３８上に配置されたテーブルガイド３９によってＹ軸方向（副走査方向）に移動可能に案内されている。このテーブル３２は、Ｙ軸駆動モー３２（図４４参照）によりＹ軸方向に駆動される。
【０１２７】
走査光学系３０は、テーブル３２の上方においてヘッドガイド４０によりＸ軸方向（主走査方向）に移動可能に案内されている。この走査光学系３０は、ボールねじ４１を介してＸ軸駆動モータ３３に連結されており、Ｘ軸駆動モータ３３によりＸ軸方向に駆動される。
【０１２８】
図４４の描画制御装置３５には、図１に示した画像処理装置１が接続され、画像処理装置１に画像入力装置２が接続される。画像処理装置１は、画像入力装置２により入力された画像データに対して上記の画像処理を行い、処理された画像データを描画制御装置３５に出力する。
【０１２９】
描画制御装置３５は、画像処理装置１から与えられた画像データに基づいて、走査光学系３０、Ｘ軸駆動モータ３３およびＹ軸駆動モータ３４を制御する。
【０１３０】
図４４の描画装置では、図４６に示すように、感光材２００を所定の原点位置からＹ軸方向（副走査方向）にほぼ一定速度で移動させながら、レーザビームＢを偏向してＸ軸方向（主走査方向）に所定のドットビッチで走査させることにより、感光材２００の表面に一定の走査幅Ｗで描画を行う。
【０１３１】
感光材２００がストローク端部にまで移動すれば、感光材２００をＹ軸方向の原点側に戻すとともに、描画ヘッド３１を一定距離だけＸ軸方向に移動させる。その後、感光材２００をＹ軸方向に移動させるとともにレーザビームＢをＸ軸方向に走査させる。
【０１３２】
このような動作を繰り返すことにより感光材２００上の短冊状の領域（ストライプ領域）２０１ごとに順次露光が行われ、最終的に感光材２００の全面に描画が行われる。
【０１３３】
各ストライプ領域２０１の描画では、画像データに基づいて走査ライン上のドットごとにレーザビームが点灯または消灯されつつＸ軸方向に走査され、感光材２００上にビーム像が形成される。
【０１３４】
本実施例では、走査光学系３０が光ビーム走査手段に相当し、Ｙ軸駆動モータ３４が駆動手段に相当し、画像処理装置１が画像処理装置に相当し、描画制御装置３５が描画制御手段に相当する。
【０１３５】
上記の描画装置においては、図１の画像処理装置１を用いているので、画像を高速に太らせまたは細らせつつ描画を行うことが可能になるとともに太らせ量または細らせ量をｘ方向およびｙ方向にそれぞれ独立に制御することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施例における画像処理装置の構成を示すブロック図である。
【図２】１ライン分の画像、ランレングスデータおよび変化点データの一例を示す図である。
【図３】太らせ処理および細らせ／太らせ処理における条件の設定処理を示すフローチャートである。
【図４】データ読み込み領域を示す図である。
【図５】ｙ方向の太らせ方法を説明するための図である。
【図６】マージ処理を説明するための図である。
【図７】太らせ処理を示すフローチャートである。
【図８】太らせ処理を示すフローチャートである。
【図９】太らせ処理を示すフローチャートである。
【図１０】太らせ形状テーブルの一例を示す図である。
【図１１】ランレングスデータ、対応する画像および変化点データの一例を示す図である。
【図１２】３ライン分の変化点データが読み込まれたデータ読み込み領域を示す図である。
【図１３】太らせ処理の具体例を示す図である。
【図１４】太らせ処理の具体例を示す図である。
【図１５】太らせ処理の具体例を示す図である。
【図１６】太らせ処理の具体例を示す図である。
【図１７】太らせ処理の具体例を示す図である。
【図１８】太らせ処理の具体例を示す図である。
【図１９】太らせ処理の具体例を示す図である。
【図２０】太らせ処理前および太らせ処理後の画像を示す図である。
【図２１】複数ライン分の変化点データのマージ処理を示すフローチャートである。
【図２２】２つのラインの変化点データのマージ処理を示すフローチャートである。
【図２３】２つのラインの変化点データのマージ処理を示すフローチャートである。
【図２４】２つのラインの変化点データのマージ処理を示すフローチャートである。
【図２５】ｙ方向の細らせ処理を説明するための図である。
【図２６】マージ処理を説明するための図である。
【図２７】細らせ／太らせ処理を示すフローチャートである。
【図２８】細らせ／太らせ処理を示すフローチャートである。
【図２９】細らせ／太らせ処理を示すフローチャートである。
【図３０】ランレングスデータ、対応する画像および変化点データの一例を示す図である。
【図３１】変化点データの反転、対応する画像、ｙ方向の太らせおよび対応する画像を示す図である。
【図３２】細らせ／太らせ処理の具体例を示す図である。
【図３３】細らせ／太らせ処理の具体例を示す図である。
【図３４】細らせ／太らせ処理の具体例を示す図である。
【図３５】細らせ／太らせ処理の具体例を示す図である。
【図３６】細らせ／太らせ処理の具体例を示す図である。
【図３７】細らせ／太らせ処理の具体例を示す図である。
【図３８】細らせ／太らせ処理の具体例を示す図である。
【図３９】細らせ／太らせ処理の具体例を示す図である。
【図４０】細らせ／太らせ処理の具体例を示す図である。
【図４１】細らせ／太らせ処理の具体例を示す図である。
【図４２】細らせ／太らせ処理により得られた画像を示す図である。
【図４３】細らせ／太らせ処理前および細らせ／太らせ処理後の画像を示す図である。
【図４４】図１の画像処理装置を用いた描画装置の主要部のブロック図である。
【図４５】図４４の描画装置の概略斜視図である。
【図４６】図４４の描画装置による描画を示す斜視図である。
【図４７】従来の画像の太らせ処理を示す図である。
【符号の説明】
１  画像処理装置
２  画像入力装置
３  画像出力装置
１１  画像データ保存用メモリ
１２  制御演算部
１３  補助メモリ
１４  外部記憶装置
３０  走査光学系
３１  描画ヘッド
３２  テーブル
３３  Ｘ軸駆動モータ
３４  Ｙ軸駆動モータ
３５  描画制御装置
【図１】
0003549730.tif 000002
【図２】
0003549730.tif 000003
【図３】
0003549730.tif 000004
【図４】
0003549730.tif 000005
【図５】
0003549730.tif 000006
【図６】
0003549730.tif 000007
【図７】
0003549730.tif 000008
【図８】
0003549730.tif 000009
【図９】
0003549730.tif 000010
【図１０】
0003549730.tif 000011
【図１１】
0003549730.tif 000012
【図１２】
0003549730.tif 000013
【図１３】
0003549730.tif 000014
【図１４】
0003549730.tif 000015
【図１５】
0003549730.tif 000016
【図１６】
0003549730.tif 000017
【図１７】
0003549730.tif 000018
【図１８】
0003549730.tif 000019
【図１９】
0003549730.tif 000020
【図２０】
0003549730.tif 000021
【図２１】
0003549730.tif 000022
【図２２】
0003549730.tif 000023
【図２３】
0003549730.tif 000024
【図２４】
0003549730.tif 000025
【図２５】
0003549730.tif 000026
【図２６】
0003549730.tif 000027
【図２７】
0003549730.tif 000028
【図２８】
0003549730.tif 000029
【図２９】
0003549730.tif 000030
【図３０】
0003549730.tif 000031
【図３１】
0003549730.tif 000032
【図３２】
0003549730.tif 000033
【図３３】
0003549730.tif 000034
【図３４】
0003549730.tif 000035
【図３５】
0003549730.tif 000036
【図３６】
0003549730.tif 000037
【図３７】
0003549730.tif 000038
【図３８】
0003549730.tif 000039
【図３９】
0003549730.tif 000040
【図４０】
0003549730.tif 000041
【図４１】
0003549730.tif 000042
【図４２】
0003549730.tif 000043
【図４３】
0003549730.tif 000044
【図４４】
0003549730.tif 000045
【図４５】
0003549730.tif 000046
【図４６】
0003549730.tif 000047
【図４７】
0003549730.tif 000048