(57)【要約】【課題】解像度を拡大しても視認性のよい画像を得る。【解決手段】太線化後の各行は、太線化前のデータの内容（黒／白ドットの並び）に関わらず、必ず所定の規則に従って構成される。すなわち、０行目、Ａ−１行目、Ｉ−２行目、Ｚ行目を除く各行は、当該行のラインデータと、その直前又は直後の行のラインデータと、に規則的に所定の処理が施されたデータの論理和で構成されている。【選択図】図７
2010232858.tif 000002
【特許請求の範囲】
【請求項１】
画像を構成するドットをｎ個に分割することで、各ラインをｎ本に分割して、当該画像の解像度をｎ（ｎ：１を除く自然数）倍に拡大する解像度拡大手段と、
ライン上の黒ドット領域端部に隣接する白ドットをそれぞれ黒ドットに変換し、当該ラインの端部が白ドットである場合に当該白ドットの外側に隣接する位置に白ドットを追加する処理を行う第１の処理手段と、
ラインの両端にそれぞれ白ドットを追加する第２の処理手段と、
前記解像度拡大手段により解像度が拡大された解像度拡大済み画像の各ラインを用いて、
（１）最初のラインに前記第１の処理を施したものを当該最初のラインに設定し、
（２）解像度拡大前のラインからｎ本に分割されたラインのうちの最下行のラインに前記第１の処理を施し、当該最下行のラインより１つ後のラインに前記第２の処理を施し、これらの論理和を当該最下行のラインに設定し、
（３）解像度拡大前のラインからｎ本に分割されたラインのうちの最上行のラインに前記第１の処理を施し、当該最上行のラインより１つ前のラインに前記第２の処理を施し、これらの論理和を当該最上行のラインに設定し、
（４）最後のラインに前記第１の処理を施したものを当該最後のラインに設定し、
（５）前記最初のラインに前記第２の処理を施したものを当該最初のラインより１つ前のラインに設定し、
（６）前記最後のラインに前記第２の処理を施したものを当該最後のラインより１つ後のラインに設定する
ように解像度拡大済み画像の処理を制御する画像処理制御手段と、
を備えた画像処理装置。
【請求項２】
前記画像処理制御手段は、更に、
（７）解像度拡大前のラインからｎ本に分割されたラインのうちの最上行でもなく最下行でもない中間ラインに前記第１の処理を施したものを当該中間ラインに設定する
ように解像度拡大済み画像の処理を制御する
請求項１に記載の画像処理装置。
【請求項３】
画像の解像度を２倍に拡大する解像度拡大手段と、
ライン上の黒ドット領域端部に隣接する白ドットをそれぞれ黒ドットに変換し、当該ラインの端部が白ドットである場合に当該白ドットの外側に隣接する位置に白ドットを追加する処理を行う第１の処理手段と、
ラインの両端にそれぞれ白ドットを追加する第２の処理手段と、
前記解像度拡大手段により解像度が拡大された解像度拡大済み画像の各ラインを用いて、
（１）最初のラインに前記第１の処理を施したものを当該最初のラインに設定し、
（２）偶数ラインに前記第１の処理を施し、当該偶数ラインより１つ後の奇数ラインに前記第２の処理を施し、これらの論理和を当該偶数ラインに設定し、
（３）奇数ラインに前記第１の処理を施し、当該偶数ラインより１つ前の偶数ラインに前記第２の処理を施し、これらの論理和を当該奇数ラインに設定し、
（４）最後のラインに前記第１の処理を施したものを当該最後のラインに設定し、
（５）最初のラインに前記第２の処理を施したものを当該最初のラインより１つ前のラインに設定し、
（６）最後のラインに前記第２の処理を施したものを当該最後のラインより１つ後のラインに設定する
ように解像度拡大済み画像の処理を制御する画像処理制御手段と、
を備えた画像処理装置。
【請求項４】
コンピュータを請求項１から請求項３のいずれか１項に記載の画像処理装置の各手段として機能させるための画像処理プログラム。
【請求項５】
請求項１から請求項３のいずれか１項に記載の画像処理装置と、
前記解像度拡大済み画像の解像度以上の解像度を有し、前記画像処理制御手段の制御により得られた解像度拡大済み画像に基づいて、画像を形成する画像形成手段と、
を備えた画像形成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラム並びに画像形成システムに関する。
【背景技術】
【０００２】
従来、同じフォントかつ同じポイント数である同一の文字であっても、プリンタの解像度によって縦線及び横線を構成するドット数が異なるため、見た目の印象が変わる。
【０００３】
そこで、解像度の低いプリンタから解像度の高いプリンタに代えた場合、文字が滑らか（綺麗）になる反面、文字を構成する線が細くなり、その結果、文字が薄く見える場合がある。このため、文字を強調（太線化）する必要がある。
【０００４】
特許文献１には、ポジ出力用のドットフォントをその形状を悪くすることなく強調化する技術が記載されている。特許文献１の技術は、ポジ出力用のドットフォントを用いたドットフォントの強調化方法において、同一直線上の対象ドット位置に対して強調化方向に隣接する次の直線、および当該次の直線の次の直線上の黒ドットおよび白ドットの配置状況を考慮して、対象ドットの強調化方向に隣接するドットを強調化するか否かを決定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−３２４０２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、上述した課題を解決するために提案されたものであり、解像度を拡大しても視認性のよい画像を得ることができる画像処理装置及びプログラム並びに画像形成システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１の発明である画像処理装置は、画像を構成するドットをｎ個に分割することで、各ラインをｎ本に分割して、当該画像の解像度をｎ（ｎ：１を除く自然数）倍に拡大する解像度拡大手段と、ライン上の黒ドット領域端部に隣接する白ドットをそれぞれ黒ドットに変換し、当該ラインの端部が白ドットである場合に当該白ドットの外側に隣接する位置に白ドットを追加する処理を行う第１の処理手段と、ラインの両端にそれぞれ白ドットを追加する第２の処理手段と、前記解像度拡大手段により解像度が拡大された解像度拡大済み画像の各ラインを用いて、（１）最初のラインに前記第１の処理を施したものを当該最初のラインに設定し、（２）解像度拡大前のラインからｎ本に分割されたラインのうちの最下行のラインに前記第１の処理を施し、当該最下行のラインより１つ後のラインに前記第２の処理を施し、これらの論理和を当該最下行のラインに設定し、（３）解像度拡大前のラインからｎ本に分割されたラインのうちの最上行のラインに前記第１の処理を施し、当該最上行のラインより１つ前のラインに前記第２の処理を施し、これらの論理和を当該最上行のラインに設定し、（４）最後のラインに前記第１の処理を施したものを当該最後のラインに設定し、（５）前記最初のラインに前記第２の処理を施したものを当該最初のラインより１つ前のラインに設定し、（６）前記最後のラインに前記第２の処理を施したものを当該最後のラインより１つ後のラインに設定するように解像度拡大済み画像の処理を制御する画像処理制御手段と、を備えている。
【０００８】
請求項２の発明は、請求項１に記載の画像処理装置であって、前記画像処理制御手段は、更に、（７）解像度拡大前のラインからｎ本に分割されたラインのうちの最上行でもなく最下行でもない中間ラインに前記第１の処理を施したものを当該中間ラインに設定するように解像度拡大済み画像の処理を制御する。
【０００９】
請求項３の発明である画像処理装置は、画像の解像度を２倍に拡大する解像度拡大手段と、ライン上の黒ドット領域端部に隣接する白ドットをそれぞれ黒ドットに変換し、当該ラインの端部が白ドットである場合に当該白ドットの外側に隣接する位置に白ドットを追加する処理を行う第１の処理手段と、ラインの両端にそれぞれ白ドットを追加する第２の処理手段と、前記解像度拡大手段により解像度が拡大された解像度拡大済み画像の各ラインを用いて、（１）最初のラインに前記第１の処理を施したものを当該最初のラインに設定し、（２）偶数ラインに前記第１の処理を施し、当該偶数ラインより１つ後の奇数ラインに前記第２の処理を施し、これらの論理和を当該偶数ラインに設定し、（３）奇数ラインに前記第１の処理を施し、当該偶数ラインより１つ前の偶数ラインに前記第２の処理を施し、これらの論理和を当該奇数ラインに設定し、（４）最後のラインに前記第１の処理を施したものを当該最後のラインに設定し、（５）最初のラインに前記第２の処理を施したものを当該最初のラインより１つ前のラインに設定し、（６）最後のラインに前記第２の処理を施したものを当該最後のラインより１つ後のラインに設定するように解像度拡大済み画像の処理を制御する画像処理制御手段と、を備えている。
【００１０】
請求項４の発明である画像処理プログラムは、コンピュータを請求項１から請求項３のいずれか１項に記載の画像処理装置の各手段として機能させるためのものである。
【００１１】
請求項５の発明である画像形成システムは、請求項１から請求項３のいずれか１項に記載の画像処理装置と、前記解像度拡大済み画像の解像度以上の解像度を有し、前記画像処理制御手段の制御により得られた解像度拡大済み画像に基づいて、画像を形成する画像形成手段と、を備えている。
【発明の効果】
【００１２】
請求項１及び４の発明は、本構成を有しない場合に比べて、解像度をｎ倍に拡大した場合でも視認性のよい画像を得ることができる。
【００１３】
請求項２の発明は、本構成を有しない場合に比べて、解像度をｎ倍に拡大した場合でも視認性のよい画像を得ることができる。
【００１４】
請求項３の発明は、本構成を有しない場合に比べて、解像度を２倍に拡大した場合でも視認性のよい画像を得ることができる。
【００１５】
請求項５の発明は、本構成を有しない場合に比べて、解像度をｎ倍に拡大した場合でも視認性のよい画像を形成することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態に係る画像形成システムの構成を示すブロック図である。
【図２】点を構成するドットを示す図であり、（Ａ）６００ｄｐｉのドット、（Ｂ）解像度変換後の１２００ｄｐｉのドット、（Ｃ）追加露光されたドットのそれぞれ場合を示す図である。
【図３】線を構成するドットを示す図であり、（Ａ）６００ｄｐｉのドット、（Ｂ）解像度変換後の１２００ｄｐｉのドット、（Ｃ）追加露光されたドットのそれぞれ場合を示す図である。
【図４】面を構成するドットを示す図であり、（Ａ）６００ｄｐｉのドット、（Ｂ）解像度変換後の１２００ｄｐｉのドット、（Ｃ）追加露光されたドットのそれぞれ場合を示す図である。
【図５】横方向太線化処理を説明する図である。
【図６】両端白ドット付加処理を説明する図である。
【図７】太線化後の各行がどのような処理によって生成されたかを説明するための図である。
【図８】太線化後のＡ−２、Ｂ−１、Ｂ−２行目がどのように構成されるかを説明するための図である。
【図９】太線化処理ルーチンを示すフローチャートである。
【図１０】横方向太線化ルーチンを示すフローチャートである。
【図１１】横方向太線化ルーチンにおけるラインバッファメモリの使用例を示す図である。
【図１２】ラインデータをシフトして横方向太線化処理を行うことを説明するための図である。
【図１３】６００ｄｐｉのドットで構成された文字「愛」を示す図である。
【図１４】１２００ｄｐｉのドットで構成された文字「愛」を示す図である。
【図１５】画像形成システムにより１２００ｄｐｉのドットで太線化された文字「愛」を示す図である。
【図１６】第２の実施形態において点を構成するドットを示す図であり、（Ａ）６００ｄｐｉのドット、（Ｂ）解像度変換後の１８００ｄｐｉのドット、（Ｃ）追加露光されたドットのそれぞれ場合を示す図である。
【図１７】線を構成するドットを示す図であり、（Ａ）６００ｄｐｉのドット、（Ｂ）解像度変換後の１８００ｄｐｉのドット、（Ｃ）追加露光されたドットのそれぞれ場合を示す図である。
【図１８】面を構成するドットを示す図であり、（Ａ）６００ｄｐｉのドット、（Ｂ）解像度変換後の１８００ｄｐｉのドット、（Ｃ）追加露光されたドットのそれぞれ場合を示す図である。
【図１９】太線化後の各行がどのような処理によって生成されたかを説明するための図である。
【図２０】太線化処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
【００１８】
［第１の実施形態］
図１は、本発明の第１の実施形態に係る画像形成システムの構成を示すブロック図である。画像形成装置は、印刷データの解像度を拡大して太線化処理を行う印刷データ制御部１０と、印刷データ制御部１０からの印刷データに基づいて露光して印刷するＬＥＤヘッド３０と、を備えている。
【００１９】
印刷データ制御部１０は、外部から４ビットずつの印刷データを受信して記憶する第１のＦＩＦＯ（First In First Out）メモリ１１と、第１のＦＩＦＯメモリ１１から読み出された４ビットずつの印刷データを一時記憶する第１のバッファメモリ１２と、外部から４ビットずつの印刷データを受信して記憶する第２のＦＩＦＯメモリ１３と、第２のＦＩＦＯメモリ１３から読み出された４ビットずつの印刷データを一時記憶する第２のバッファメモリ１４と、第１及び第２のバッファメモリ１２，１４から読み出された３２ビットずつの印刷データの解像度を拡大する拡大回路１５と、を備えている。
【００２０】
さらに、印刷データ制御部１０は、印刷データのうち６００ｄｐｉの１ライン分のラインデータを記憶するラインバッファメモリＬＢ６００と、解像度変換後の１２００ｄｐｉの１ライン分のラインデータを記憶するラインバッファメモリＬＢ１２００と、太線化処理を行って太文字化する太文字化制御回路１８と、太線化処理された１２００ｄｐｉの１ライン分のラインデータをそれぞれ記憶するラインバッファメモリＬＢ０，ＬＢ１，ＬＢ２と、太文字化制御回路１８で処理された印刷データをＬＥＤヘッド３０へ出力する制御を行う印刷データ出力制御回路２０と、当該印刷データ制御部１０の全体を制御する制御回路２５と、を備えている。
【００２１】
なお、ラインバッファメモリＬＢ０、ＬＢ１、ＬＢ２は、ラインバッファメモリＬＢ１２００よりも２ドット分だけ容量が大きい。また、太文字化制御回路１８は、両端白ドット付加回路１８Ａと、横方向太線化回路１８Ｂと、を備えている。なお、太文字化制御回路１８は、文字に対して太線化するだけでなく、文字以外の画像についても太線化することができる。
【００２２】
（概要）
以上のように構成された画像形成システムは、印刷データの解像度よりも印刷される画像の解像度が高い場合、例えば、受信された印刷データが６００ｄｐｉであるのに対してＬＥＤヘッド３０の解像度が１２００ｄｐｉの場合、受信された印刷データの解像度を６００ｄｐｉから１２００ｄｐｉに変換し、変換された印刷データに基づいて印刷する。
【００２３】
ここで、画像形成システムは、印刷データの解像度を１２００ｄｐｉに変換した後、元の印刷データのドットを囲むようにして、上下左右に１ドットずつ追加露光する。
【００２４】
図２は、点を構成するドットを示す図であり、（Ａ）６００ｄｐｉのドット、（Ｂ）解像度変換後の１２００ｄｐｉのドット、（Ｃ）追加露光されたドットのそれぞれ場合を示す図である。図３は、線を構成するドットを示す図であり、（Ａ）６００ｄｐｉのドット、（Ｂ）解像度変換後の１２００ｄｐｉのドット、（Ｃ）追加露光されたドットのそれぞれ場合を示す図である。図４は、面を構成するドットを示す図であり、（Ａ）６００ｄｐｉのドット、（Ｂ）解像度変換後の１２００ｄｐｉのドット、（Ｃ）追加露光されたドットのそれぞれ場合を示す図である。
【００２５】
図２〜４に示すように、画像サイズは、追加露光が行われた場合、縦・横共に２ドットずつ大きくなる。ここで、図４（Ａ）に示すように、解像度変換前の６００ｄｐｉの画像の各行をＡ〜Ｉとする。この場合、６００ｄｐｉ→１２００ｄｐｉへの解像度変換後の画像の各行は、同図（Ｂ）に示すように、Ａ×２行、Ｂ×２行、・・・、Ｉ×２行となり、それぞれ同じパターンのライン×２行ずつで構成される。
【００２６】
そこで、同図（Ｃ）に示すように、１２００ｄｐｉの太線化後の画像の各行は、０、Ａ−１、Ａ−２、Ｂ−１、Ｂ−２、…、Ｉ−１、Ｉ−２、Ｚで構成されるものとする。なお、０行とＺ行は、太線化（追加露光）によって上下に追加された行を示している。
【００２７】
（太線化処理の分解）
太線化後の画像を行単位に分解してみると、各行のラインデータは、太線化前のラインデータに対して、以下の（１）〜（３）の何れかの処理が施されたデータで構成されている。
（１）横方向太線化処理（図５）
横方向太線化処理は、ライン上の黒ドット連続領域の左右端部の隣接位置に１ドットずつ黒ドットを追加し、さらに、ラインの左右の端部が白ドットの場合はその端部の外側隣接位置に白ドットを追加する。
（２）両端白ドット付加処理（図６）
両端白ドット付加処理は、ラインの左右両端に１ドットずつ白ドットを付加する。
（３）論理和出力処理
論理和出力処理は、（１）と（２）でそれぞれ処理されたラインデータの論理和を出力する。
【００２８】
図７は、太線化後の各行が（１）〜（３）のいずれの処理によって生成されたかを説明するための図である。なお、図７中の“レ”が入っている箇所の縦の列は、その行を構成するのに必要な処理を示している。
【００２９】
太線化後０行目    →
１２００ｄｐｉ（太線化前）のＡ行目のデータに（２）の処理が施されたデータ
太線化後Ａ−１行目→
１２００ｄｐｉ（太線化前）のＡ行目のデータに（１）の処理が施されたデータ
太線化後Ａ−２行目→
１２００ｄｐｉ（太線化前）のＡ行目のデータに（１）の処理が施されたデータと、
１２００ｄｐｉ（太線化前）のＢ行目のデータに（２）の処理が施されたデータの論理和
太線化後Ｂ−１行目→
１２００ｄｐｉ（太線化前）のＢ行目のデータに（１）の処理が施されたデータと、
１２００ｄｐｉ（太線化前）のＡ行目のデータに（２）の処理が施されたデータの論理和
そして、太線化後の各行は、太線化前のデータの内容（黒／白ドットの並び）に関わらず、必ず図７に示す規則に従って構成される。
【００３０】
すなわち、０行目、Ａ−１行目、Ｉ−２行目、Ｚ行目を除く各行は、当該行のラインデータと、その直前又は直後の行のラインデータと、に規則的に所定の処理が施されたデータの論理和で構成されている。例として、図７に示す太線化後のＡ−２、Ｂ−１、Ｂ−２行目がどのように構成されるかについて説明する。
【００３１】
図８は、図７に示す太線化後のＡ−２、Ｂ−１、Ｂ−２行目がどのように構成されるかを説明するための図である。
【００３２】
同図の左側には、太線化前のＡ〜Ｃ行、「横方向太線化」されたＡ〜Ｃ行、「左右両端に白ドット追加」されたＡ〜Ｃ行が記載されている。また、同図の右側には、Ａ−２、Ｂ−１、Ｂ−２行の最終的なラインデータ、及び各これらを構成するために必要なラインデータを縦に並べて記載した図である。
【００３３】
追加露光後のＡ−２行←Ａ行横方向太線化＋Ｂ行左右両端白ドット追加
追加露光後のＢ−１行←Ｂ行横方向太線化＋Ａ行左右両端白ドット追加
追加露光後のＢ−２行←Ｂ行横方向太線化＋Ｃ行左右両端白ドット追加
【００３４】
（全体処理）
図９は、太線化処理ルーチンを示すフローチャートである。ここでは、図４（Ａ）に示す印刷データに対して太線化処理が行われる例について説明する。
【００３５】
（０行目及びＡ−１行目のデータ生成）  
ステップＳ１では、制御回路２５は、処理対象の行数ｎを初期化する。
【００３６】
ステップＳ２では、拡大回路１５は、バッファ１２，１４を介して、Ａ行目のデータを受信して、受信したデータをラインバッファメモリＬＢ６００に格納する。
【００３７】
ステップＳ３では、拡大回路１５は、ラインバッファメモリＬＢ６００からＡ行目のデータを読み出して、６００ｄｐｉから１２００ｄｐｉへ解像度を拡大して、１２００ｄｐｉのデータをラインバッファメモリＬＢ１２００に格納する。
【００３８】
ステップＳ４では、太文字化制御回路１８の両端白ドット付加回路１８Ａは、ラインバッファメモリＬＢ１２００から１２００ｄｐｉのＡ行のデータを読み出して、Ａ行の両端に白ドットを付加する両端白ドット付加処理を行うことで、太線化処理後の０行のデータを生成する。
【００３９】
ステップＳ５では、太文字化制御回路１８の横方向太線化回路１８Ｂは、ラインバッファメモリＬＢ１２００から１２００ｄｐｉのＡ行のデータを読み出して、横方向太線化処理を行うことで、太線化処理後のＡ−１行のデータを生成する。
【００４０】
ステップＳ６では、行情報が初期化される。
【００４１】
（Ａ−２行目からＩ−１行目のデータ生成）  
ステップＳ７では、２行のデータ合成ループが開始される。
【００４２】
ステップＳ８では、偶数ｎ−２（ｎ＝Ａ，Ｂ，Ｃ…）行が生成されるか否かが判定される。そして、偶数行を生成する場合はステップＳ９へ進み、偶数行を生成しない場合（奇数行を生成する場合）はステップＳ１３へ進む。
【００４３】
ステップＳ９では、太文字化制御回路１８は、ラインバッファメモリＬＢ１２００から１２００ｄｐｉのｎ行のデータを読み出して横方向太線化処理を行い、このデータをラインバッファメモリＬＢ０〜ＬＢ２のいずれかに格納する。そして、拡大回路１５は、バッファ１２，１４を介して、次（ｎ＋１）行目のデータを受信して、受信したデータをラインバッファメモリＬＢ６００に格納する。
【００４４】
ステップＳ１０では、拡大回路１５は、ラインバッファメモリＬＢ６００から（ｎ＋１）行目のデータを読み出して、６００ｄｐｉから１２００ｄｐｉへ解像度を拡大して、１２００ｄｐｉのデータをラインバッファメモリＬＢ１２００に格納する。
【００４５】
ステップＳ１１では、太文字化制御回路１８の両端白ドット付加回路１８Ａは、ラインバッファメモリＬＢ１２００から（ｎ＋１）行のデータを読み出して、両端白ドット付加処理を行い、両端白ドット付加済みのデータをラインバッファメモリＬＢ０〜ＬＢ２のいずれか（横方向太線化済みのｎ行目のデータが格納されていないラインバッファメモリ）に格納する。
【００４６】
そして、太文字化制御回路１８は、ｎ行目の横方向太線化済みのデータと、（ｎ＋１）行目の両端白ドット付加済みのデータと、の論理和を演算することで、偶数ｎ行のデータを生成する。
【００４７】
ステップＳ１２では、行数ｎを更新する。具体的には、Ａ行→Ｂ行、Ｂ行→Ｃ行、Ｃ行→Ｄ行、・・・と行数を１つ繰り下げればよい。そして、ステップＳ１４へ進む。
【００４８】
一方、ステップＳ１３において、１２００ｄｐｉに変換済みの奇数ｎ行のデータは、この直前の偶数（ｎ−１）行の生成処理で使用されたため、ラインバッファメモリＬＢ１２００に既に格納されている。そこで、横方向太線化回路１８Ｂは、ラインバッファメモリＬＢ１２００から奇数ｎ行のデータを読み出して横方向太線化処理を行い、横方向太線化済みのｎ行のデータをラインバッファメモリＬＢ０〜ＬＢ２のいずれかに格納する。そして、ステップＳ１３に進む。
【００４９】
ステップＳ１３では、太文字化制御回路１８は、奇数ｎ行目の横方向太線化済みデータと、偶数ｎ−１行の両端白ドット付加済みデータと、の論理和を演算することで、奇数ｎ行のデータを生成する。なお、偶数ｎ−１行の両端白ドット付加済みデータは、奇数ｎ−２行のデータの生成の際に使用されたものであり、ラインバッファメモリＬＢ０〜ＬＢ２のいずれかに格納されているものを使用すればよい。
【００５０】
ステップＳ１４では、行情報が更新される。すなわち、偶数行→奇数行、奇数行→偶数行と更新される。
【００５１】
ステップＳ１５では、Ａ−２行目からＩ−１行目までのデータ生成が終了した場合は、２行の合成データループを抜けてステップＳ１６へ進み、それが終了していない場合はステップＳ７へ戻る。
【００５２】
（Ｉ−２行目及びＺ行目のデータ生成）  
ステップＳ１６では、太文字化制御回路１８の横方向太線化回路１８Ｂは、Ｉ行目のデータに横方向太線化処理を行い、横方向太線化済みのデータを印刷データ出力制御回路２０へ供給する。
【００５３】
ステップＳ１７では、太文字化制御回路１８の両端白ドット付加回路１８Ａは、Ｉ行目のデータに両端白ドット付加処理を行い、両端白ドット付加済みのデータを印刷データ出力制御回路２０へ供給する。そして、本ルーチンが終了する。
【００５４】
以上のように、本ルーチンが実行されると、０、Ａ−１行目のデータは、Ａ行目のデータから生成される。Ｉ−２、Ｚ行目のデータは、Ｉ行目のデータから生成される。それら以外の各行のデータは、当該行のデータと、当該行の上又は下に隣接するデータと、の論理和で構成される。
【００５５】
２倍（２行）になった各行は、太線化の際に上下に隣接する行の影響を受ける。例えば、Ｂ行はＢ−１とＢ−２の２行となり、Ｂ−１行は上に隣接するＡ行の影響を受け、Ｂ−２行は下に隣接するＣ行の影響を受ける。すなわち、奇数行（ｎ−１）は、上に隣接する行の影響を受けるため、上の行との論理和が必要になる。また、偶数行（ｎ−２）は、下に隣接する行の影響を受けるため、下の行との論理和が必要になる。
【００５６】
なお、本ルーチンの横方向太線化処理では、次のルーチンが実行される。
【００５７】
（横方向太線化ルーチン）
図１０は、横方向太線化ルーチンを示すフローチャートである。
【００５８】
ステップＳ２１では、横方向太線化回路１８Ｂは、カウンタを初期化する。
【００５９】
ステップＳ２２では、横方向太線化回路１８Ｂは、太線化前の左端のドットは黒であるかを判定し、黒である場合はステップＳ２３へ進み、黒でない場合はステップＳ２５へ進む。
【００６０】
ステップＳ２３では、横方向太線化回路１８Ｂは、左端のドットの左に黒ドットを追加する。
【００６１】
ステップＳ２４では、横方向太線化回路１８Ｂは、現在位置＝“黒”と設定する。そして、ステップＳ２７へ進む。
【００６２】
一方、ステップＳ２５では、横方向太線化回路１８Ｂは、左端のドットの左に白ドットを追加する。
【００６３】
ステップＳ２６では、横方向太線化回路１８Ｂは、現在位置＝“白”と設定する。
【００６４】
ステップＳ２７では、横方向太線化回路１８Ｂは、太線化ループを開始して、以下のステップにおいて、左端ドットの次のドットから順に全ドットをチェックして、白から黒、又は、黒から白に変わる境目を検索する。
【００６５】
ステップＳ２８では、横方向太線化回路１８Ｂは、全ドットのチェックが完了したかを判定し、肯定判定の場合はステップＳ４７へ進み、否定判定の場合はステップＳ２９へ進む。
【００６６】
ステップＳ２９では、横方向太線化回路１８Ｂは、現在位置のドットは黒（現在位置＝“黒”）であるかを判定し、肯定判定の場合はステップＳ３０へ進み、否定判定の場合はステップＳ３８へ進む。
【００６７】
ステップＳ３０では、横方向太線化回路１８Ｂは、白ドットを検索する白ドット検索ループを開始する。白ドット検索ループでは、白ドットが見つけられるか又は全ドットのチェックが完了するまで、ステップＳ３０〜Ｓ３４が繰り返し実行される。
【００６８】
ステップＳ３１では、横方向太線化回路１８Ｂは、全ドットの検索が完了していないかを判定し、完了していない場合はステップＳ３２へ進み、完了している場合はステップＳ４６へ進む。
【００６９】
ステップＳ３２では、横方向太線化回路１８Ｂは、現在位置のドットは黒（現在位置＝“黒”）であるかを判定し、肯定判定の場合はステップＳ３３へ進み、否定判定の場合はステップＳ３５へ進む。
【００７０】
ステップＳ３３では、横方向太線化回路１８Ｂは、１つ右のドットを調査して、カウンタをインクリメントする（カウンタ＋１）。
【００７１】
ステップＳ３４では、横方向太線化回路１８Ｂは、白ドット検索ループの終端に達したので、白ドットを見つけるか又は全ドットのチェックが完了した場合に当該白ドット検索ループを抜けて、ステップＳ４６へ進む。また、白ドットを見つけてなく、かつ、全ドットのチェックが完了していない場合はステップＳ３０に戻る。
【００７２】
ステップＳ３５では、横方向太線化回路１８Ｂは、現在位置のドットを黒に変更する。
【００７３】
ステップＳ３６では、横方向太線化回路１８Ｂは、現在位置＝“白”と設定する。
【００７４】
ステップＳ３７では、横方向太線化回路１８Ｂは、１つ右のドットを調査して、カウンタをインクリメントして（カウンタ＋１）、ステップＳ４６へ進む。
【００７５】
一方、ステップＳ３８では、横方向太線化回路１８Ｂは、黒ドットを検索する黒ドット検索ループを開始する。黒ドット検索ループでは、黒ドットが見つけられるか又は全ドットのチェックが完了するまで、ステップＳ３８〜Ｓ４２が繰り返し実行される。
【００７６】
ステップＳ３９では、横方向太線化回路１８Ｂは、全ドットの検索が完了していないかを判定し、完了していない場合はステップＳ４０へ進み、完了している場合はステップＳ４６へ進む。
【００７７】
ステップＳ４０では、横方向太線化回路１８Ｂは、現在位置のドットは白（現在位置＝“白”）であるかを判定し、肯定判定の場合はステップＳ４１へ進み、否定判定の場合はステップＳ４３へ進む。
【００７８】
ステップＳ４１では、横方向太線化回路１８Ｂは、１つ右のドットを調査して、カウンタをインクリメントする（カウンタ＋１）。
【００７９】
ステップＳ４２では、横方向太線化回路１８Ｂは、黒ドット検索ループの終端に達したので、黒ドットを見つけるか又は全ドットのチェックが完了した場合に当該黒ドット検索ループを抜けて、ステップＳ４６へ進む。また、黒ドットを見つけてなく、かつ、全ドットのチェックが完了していない場合はステップＳ３８に戻る。
【００８０】
ステップＳ４３では、横方向太線化回路１８Ｂは、１つ前の位置のドットを黒に変更する。
【００８１】
ステップＳ４４では、横方向太線化回路１８Ｂは、現在位置＝“黒”と設定する。
【００８２】
ステップＳ４５では、横方向太線化回路１８Ｂは、１つ右のドットを調査して、カウンタをインクリメントして（カウンタ＋１）、ステップＳ４６へ進む。
【００８３】
ステップＳ４６では、横方向太線化回路１８Ｂは、全ドットをチェックした場合は太線化ループを抜けてステップＳ４７へ進み、全ドットをチェックしていない場合はステップＳ２７へ戻る。
【００８４】
ステップＳ４７では、横方向太線化回路１８Ｂは、太線化前の右端のドットは黒であるかを判定し、黒である場合はステップＳ４８へ進み、黒でない場合はステップＳ４９へ進む。
【００８５】
ステップＳ４８では、横方向太線化回路１８Ｂは、右端ドットの右に“黒ドット”を追加する処理を行って、図９に示す太線化処理ルーチンへリターンする。
【００８６】
ステップＳ４９では、横方向太線化回路１８Ｂは、右端ドットの右に“白ドット”を追加する処理を行って、図９に示す太線化処理ルーチンへリターンする。
【００８７】
以上のように、横方向太線化回路１８Ｂは、１ラインのデータを左端から１つずつ順次チェックし、白→黒ドットの境目及び黒ドット→白ドットの境目を検索し、黒ドットに隣接した白ドットを黒ドットに置き換える。これにより、太文字化制御回路１８は、１ライン上の黒ドットの左右両端に黒ドットを追加することで、横方向太線化を行っている。
【００８８】
（ラインバッファメモリの使用例）
上述した横方向太線化ルーチンの説明では、ラインバッファメモリの使用の仕方は限定されていない。しかし、ラインバッファメモリは、例えば次のように使用される。
【００８９】
図１１は、横方向太線化ルーチンにおけるラインバッファメモリの使用例を示す図である。ここでは、横方向太線化回路１８Ｂが０、Ａ−１、Ａ−２、Ｂ−１行目のデータを生成する際にどのようにラインバッファメモリＬＢ６００，ＬＢ１２００，ＬＢ０−ＬＢ２を使用するかについて説明する。
【００９０】
ステップＳ５１では、拡大回路１５は、バッファメモリ１２，１４を介して、Ａ行目のデータを受信すると、Ａ行目のデータをラインバッファメモリＬＢ６００にセットする。
【００９１】
ステップＳ５２では、拡大回路１５は、ラインバッファメモリＬＢ６００からデータを読み出して、Ａ行目のデータを１２００ｄｐｉに解像度を拡大（横方向に２倍）して、ラインバッファメモリＬＢ１２００にセットする。
【００９２】
ステップＳ５３では、太文字化制御回路１８の両端白ドット付加回路１８Ａは、ラインバッファメモリＬＢ１２００からデータを読み出して、Ａ行目のデータの加工として、両端白ドット付加処理を行い、処理済みのデータをラインバッファメモリＬＢ２にセットする。
【００９３】
ステップＳ５４では、両端白ドット付加回路１８Ａは、ラインバッファメモリＬＢ２からデータを読み出して、このデータを印刷データ出力制御回路２０へ供給する。印刷データ出力制御回路２０は、太文字化制御回路１８から供給されたデータを０行目のデータとしてＬＥＤヘッド３０へ送る。
【００９４】
ステップＳ５５では、横方向太線化回路１８Ｂは、ラインバッファメモリＬＢ１２００からデータを読み出して、横方向太線化処理を行って、処理済みのデータをラインバッファメモリＬＢ１へ格納する。
【００９５】
ステップＳ５６では、横方向太線化回路１８Ｂは、ラインバッファメモリＬＢ１からデータを読み出して、このデータを印刷データ出力制御回路２０へ供給する。印刷データ出力制御回路２０は、太文字化制御回路１８から供給されたデータをＡ−１行目のデータとしてＬＥＤヘッド３０へ送る。
【００９６】
ステップＳ５７では、拡大回路１５は、バッファメモリ１２，１４を介して、Ｂ行目のデータを受信すると、Ｂ行目のデータをラインバッファメモリＬＢ６００にセットする。
【００９７】
ステップＳ５８では、拡大回路１５は、ラインバッファメモリＬＢ６００からデータを読み出して、Ｂ行目のデータを１２００ｄｐｉに解像度を拡大（横方向に２倍）して、ラインバッファメモリＬＢ１２００にセットする。
【００９８】
ステップＳ５９では、両端白ドット付加回路１８Ａは、ラインバッファメモリＬＢ１２００からデータを読み出して、Ｂ行目のデータの加工として、両端白ドット付加処理を行い、処理済みのデータをラインバッファメモリＬＢ０にセットする。
【００９９】
ステップＳ６０では、太文字化制御回路１８は、ラインバッファメモリＬＢ０，ＬＢ１の各々のデータの論理和を演算することでＡ−２行のデータを生成し、このデータをラインバッファメモリＬＢ１にセットする。
【０１００】
ステップＳ６１では、太文字化制御回路１８は、ラインバッファメモリＬＢ１からデータを読み出して、このデータを印刷データ出力制御回路２０へ供給する。印刷データ出力制御回路２０は、太文字化制御回路１８から供給されたデータをＡ−２行目のデータとしてＬＥＤヘッド３０へ送る。
【０１０１】
ステップＳ６２では、横方向太線化回路１８Ｂは、ラインバッファメモリＬＢ１２００からＢ行目のデータを読み出し、横方向太線化処理を行って、処理済みのデータをラインバッファメモリＬＢ１へセットする。
【０１０２】
ステップＳ６３では、太文字化制御回路１８は、ラインバッファメモリＬＢ１，ＬＢ２の各々のデータの論理和を演算することでＢ−１行目のデータを生成し、このデータをラインバッファメモリＬＢ２にセットする。
【０１０３】
ステップＳ６４では、太文字化制御回路１８は、ラインバッファメモリＬＢ２からデータを読み出して、このデータを印刷データ出力制御回路２０へ供給する。印刷データ出力制御回路２０は、太文字化制御回路１８から供給されたデータをＢ−１行目のデータとしてＬＥＤヘッド３０へ送る。
【０１０４】
太文字化制御回路１８は、以上のような処理を行うことで、５つのラインバッファメモリを用いて太線化処理を行うことができる。
【０１０５】
（他の横方向太線化処理の例）
横方向太線化回路１８Ｂは、図１０に示す横方向太線化ルーチンを実行して１ラインの全データをチェックしなくても、次の処理を行うことで横方向太線化処理を行うことができる。
【０１０６】
図１２は、ラインデータをシフトして横方向太線化処理を行うことを説明するための図である。横方向太線化回路１８Ｂは、元のデータ（例えばＡ行のデータ）を左右に１ドットずつシフトして、Ａ行のデータ、Ａ行を１ドット左にシフトしたデータ、Ａ行を１ドット右にシフトしたデータの論理和を求めることで、「横方向太線化」されたデータを得ることができる。これにより、図１０に示す横方向太線化ルーチンを実行する場合に比べて、横方向太線化処理が短時間で実行される。
【０１０７】
図１３は、６００ｄｐｉのドットで構成された文字「愛」を示す図である。図１４は、１２００ｄｐｉのドットで構成された文字「愛」を示す図である。なお、ドットサイズが１／４になり、文字を構成するドット数が縦・横２倍になっただけで、文字の字体は図１３と同一である。図１５は、本発明の第１の実施形態に係る画像形成システムにより１２００ｄｐｉのドットで太線化された文字「愛」を示す図である。
【０１０８】
図１３及び図１５において○で囲われた部分は、元の６００ｄｐｉの文字では文字を構成する線が離れていた（白ドットが存在した）が、太文字化により線が繋がった（白→黒ドットとなった）場所である。
【０１０９】
ＬＥＤヘッド３０を有する印刷部が充分な容量のラインバッファを有していれば、太文字化前の文字において文字を構成する線が接していない場所をサーチ（認識）し、太線化によって線が繋がった場合は隣接しないように編集する、すなわち白ドットに戻す処理を行ってもよい。
【０１１０】
［第２の実施形態］
つぎに、本発明の第２の実施形態について説明する。なお、第１の実施形態と同一の部位には同一の符号を付し、重複する説明は省略する。
【０１１１】
第１の実施形態では、印刷データが６００ｄｐｉであるのに対してＬＥＤヘッド３０の解像度が１２００ｄｐｉ（元の解像度の２倍）である場合について説明した。第２の実施形態では、印刷データが６００ｄｐｉであるのに対してＬＥＤヘッド３０の解像度が１８００ｄｐｉ（元の解像度の３倍）である場合について説明する。この場合でも、第１の実施形態とほぼ同様のアルゴリズムが適用可能である。
【０１１２】
第２の実施形態に係る画像形成システムは、図１と同様に構成されており、６００ｄｐｉの印刷データの解像度を１８００ｄｐｉに変換した後、元の印刷データのドットを囲むようにして、上下左右に１ドットずつ追加露光する。
【０１１３】
図１６は、点を構成するドットを示す図であり、（Ａ）６００ｄｐｉのドット、（Ｂ）解像度変換後の１８００ｄｐｉのドット、（Ｃ）追加露光されたドットのそれぞれ場合を示す図である。図１７は、線を構成するドットを示す図であり、（Ａ）６００ｄｐｉのドット、（Ｂ）解像度変換後の１８００ｄｐｉのドット、（Ｃ）追加露光されたドットのそれぞれ場合を示す図である。図１８は、面を構成するドットを示す図であり、（Ａ）６００ｄｐｉのドット、（Ｂ）解像度変換後の１８００ｄｐｉのドット、（Ｃ）追加露光されたドットのそれぞれ場合を示す図である。
【０１１４】
（太線化処理の分解）
太線化後の画像を行単位に分解してみると、第１の実施形態と同様に、各行のラインデータは、太線化前のラインデータに対して、以下の（１）〜（３）の何れかの処理が施されたデータで構成されている。
（１）横方向太線化処理（図５）
横方向太線化処理は、ライン上の黒ドット連続領域の左右端部の隣接位置に１ドットずつ黒ドットを追加し、さらに、ラインの左右の端部が白ドットの場合はその端部の外側隣接位置に白ドットを追加する。
（２）両端白ドット付加処理（図６）
両端白ドット付加処理は、ラインの左右両端に１ドットずつ白ドットを付加する。
（３）論理和出力処理
論理和出力処理は、（１）と（２）でそれぞれ処理されたラインデータの論理和を出力する。
【０１１５】
第１の実施形態における６００ｄｐｉ→１２００ｄｐｉの解像度変換では、縦方向のドット数が２倍となっていた。これに対して、第２の実施形態における６００ｄｐｉ→１８００ｄｐｉの解像度変換では、縦方向のドット数が３倍となる。そして、解像度変換後の各行は、太線化の際に、上下の行の影響を受ける行と受けない行が存在する。
【０１１６】
例えば図１８に示すように、解像度変換前のＢ行は、解像度変換後はＢ−１、Ｂ−２、Ｂ−３の３行となる。第１の実施形態と同様に、Ｂ−１行は上に隣接するＡ行の影響を受け、Ｂ−３行は下に隣接するＣ行の影響を受ける。しかし、Ｂ−２行は上下の行（Ａ−ｘ行またはＣ−ｘ行）と隣接しないため、他の行の影響を受けず、この点が第１の実施形態と相違する。
【０１１７】
上下の行の影響を受けないｎ−２行（ｎ＝Ａ，Ｂ，Ｃ…）は、ｎ行のデータに前述の（１）横方向太線化処理を行うことで生成される。
【０１１８】
したがって、６００ｄｐｉ→１８００ｄｐｉの場合、各行を太線化する場合の組み合わせは次に示すようになる。
【０１１９】
図１９は、太線化後の各行が（１）〜（３）のいずれの処理によって生成されたかを説明するための図である。なお、図中の“レ”が入っている箇所の縦の列は、その行を構成するのに必要な処理を示している。同図に示すように、第１の実施形態に比べて、上下に隣接する行の影響を受けないで生成されるｎ−２行（ｎ＝Ａ，Ｂ，Ｃ…）が追加されている。
【０１２０】
以上のように構成された画像形成システムは、次の太線化処理ルーチンを実行することで、６００ｄｐｉ→１８００ｄｐｉの解像度変換をした後、太線化処理を行う。
【０１２１】
図２０は、太線化処理ルーチンを示すフローチャートである。図９の太線化処理ルーチンの解像度拡大倍率を２倍から３倍に変更すれば、本ルーチンと図９のルーチンは、多くの同一の処理を行う。そこで、以下では、主に異なる点について説明する。
【０１２２】
ステップＳ７１〜Ｓ７７では、解像度拡大倍率を除き、図９のステップＳ１〜Ｓ７と同様の処理が実行される。そして、ステップＳ７７が終了すると、ステップＳ７８ａへ進む。
【０１２３】
ステップＳ７８ａでは、ｎ−３行（ｎ＝Ａ，Ｂ，Ｃ…）が生成されるか否かが判定される。なお、ｎ−３行は、解像度拡大前のラインから解像度拡大によって３本に分割されたラインのうちの最下行のラインであり、その下のラインの影響を受ける。そして、肯定判定の場合（ｎ−３行が生成される場合）はステップＳ７９へ進み、否定判定の場合はステップＳ７８ｂへ進む。
【０１２４】
ステップＳ７８ｂでは、ｎ−１行（ｎ＝Ａ，Ｂ，Ｃ…）が生成されるか否かが判定される。ｎ−１行は、解像度拡大前のラインから解像度拡大によって３本に分割されたラインのうちの最上行のラインであり、その上のラインの影響を受ける。そして、肯定判定の場合（ｎ−１行が生成される場合）はステップＳ８３ａへ進み、否定判定の場合はステップＳ８３ｂへ進む。
【０１２５】
ステップＳ７９〜Ｓ８２、Ｓ８３ａでは、図９のステップＳ９〜Ｓ１３と同様の処理が実行される。そして、ステップＳ８２又はステップＳ８３ａが終了すると、ステップＳ８４へ進む。
【０１２６】
一方、ステップＳ７８ｂで否定判定の場合は、ステップＳ８３ｂへ進む。本ルーチンにステップＳ８３ｂがある点が、第１の実施形態と最も異なる点である。
【０１２７】
ステップＳ８３ｂでは、横方向太線化回路１８Ｂは、ラインバッファメモリＬＢ０〜ＬＢ２のいずれかからｎ行目の横方向太線化されたデータを読み出して、この読み出したデータをｎ−２行目のデータとして、印刷データ出力制御回路２０へ供給する。そして、ステップＳ８４へ進む。
【０１２８】
すなわち、ｎ−２行目は、解像度拡大前のラインから解像度拡大によって３本に分割されたラインのうちの中間ラインであり、他のラインの影響を受けるものではない。よって、ｎ−２行のデータは、ｎ行目の横方向太線化されたデータから得られる。
【０１２９】
そして、ステップＳ８４〜Ｓ８７では、図９のステップＳ１４〜Ｓ１７と同様の処理が実行される。そして、本ルーチンが終了する。
【０１３０】
なお、本発明は、上述した実施の形態に限定されるものではなく、特許請求の範囲に記載された範囲内で設計上の変更をされたものにも適用可能であるのは勿論である。
【０１３１】
例えば、６００ｄｐｉ→２４００ｄｐｉに解像度を拡大してもよい。この場合、縦方向のドット数が４倍となり、行数は４倍（４行）になる。そして、各行のうち上下に隣接する行の影響を受けない行が２行存在する。例えば、Ｂ行はＢ−１、Ｂ−２、Ｂ−３、Ｂ−４の４行となり、Ｂ−２とＢ−３行が上下の影響を受けない行となる。
【０１３２】
よって、太文字化制御回路１８は、Ｂ−１行については、当該Ｂ−１行に横方向太線化処理を施し、Ｂ−１行より１つ前の行に両端白ドット付加処理を施し、これらの処理結果の論理和を求めればよい。太文字化制御回路１８は、Ｂ−４行については、当該Ｂ−４行に横方向太線化処理を施し、Ｂ−１行より１つ後の行に両端白ドット付加処理を施し、これらの処理結果の論理和を求めればよい。
【０１３３】
また、太文字化制御回路１８は、Ｂ−２及びＢ−３行については、当該Ｂ行（Ｂ−２又はＢ−３行）に横方向太線化処理を施したものをそのまま用いればよい。さらに、上記画像形成システムは、解像度の拡大倍率が５倍以上であっても同様に適用可能である。
【符号の説明】
【０１３４】
１０  印刷データ制御部
１５  拡大回路
１８  太文字化制御回路
１８Ａ  両端白ドット付加回路
１８Ｂ  横方向太線化回路
２０  印刷データ出力制御回路
３０  ＬＥＤヘッド
【図１】
2010232858.tif 000003
【図９】
2010232858.tif 000004
【図１０】
2010232858.tif 000005
【図１１】
2010232858.tif 000006
【図２０】
2010232858.tif 000007
【図２】
2010232858.tif 000008
【図３】
2010232858.tif 000009
【図４】
2010232858.tif 000010
【図５】
2010232858.tif 000011
【図６】
2010232858.tif 000012
【図７】
2010232858.tif 000013
【図８】
2010232858.tif 000014
【図１２】
2010232858.tif 000015
【図１３】
2010232858.tif 000016
【図１４】
2010232858.tif 000017
【図１５】
2010232858.tif 000018
【図１６】
2010232858.tif 000019
【図１７】
2010232858.tif 000020
【図１８】
2010232858.tif 000021
【図１９】
2010232858.tif 000022