(57)【要約】【課題】印刷画像に含まれる任意の色の階段状変化部（斜めエッジ部）におけるジャギーを、色みを変化させることなく低減する。【解決手段】画像を複数サイズのドットを利用して印刷する際のドットの形成状態を決定する画像処理装置は、画像における階段状変化部（斜めエッジ部）を形成する画素を判定する階段状変化判定部と、階段状変化部におけるジャギーの低減のために、階段状変化部周辺画素とその近傍画素とでハーフトーン処理後のドットサイズデータを交換するドットサイズ交換処理部とを備える。【選択図】図１
2010183326.tif 000002
【特許請求の範囲】
【請求項１】
画像を複数サイズのドットを利用して印刷する際のドットの形成状態を決定する画像処理装置であって、
前記画像の輪郭部における階段状変化部を形成する第１の画素を検出する検出手段と、
前記第１の画素のドットサイズと、前記第１の画素から所定の距離にある第２の画素のドットサイズとを交換する交換手段と、
を備え、
ドットサイズを交換された前記階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上である画像処理装置。
【請求項２】
前記交換手段は、前記階段状変化部を形成する画素からの距離に応じて、前記輪郭部を形成する第３の画素のドットサイズと、前記第３の画素から所定の距離にある第４の画素のドットサイズとを交換する請求項１に記載の画像処理装置。
【請求項３】
前記第１の画素は、前記階段状変化部の凹部を形成する画素であり、
前記第４の画素のドットサイズは、前記第２の画素のドットサイズ以下である請求項２に記載の画像処理装置。
【請求項４】
前記交換手段は、前記第１の画素との距離が前記第１の画素と前記第３の画素との距離よりも大きく、前記所定の距離にある第６の画素のドットサイズが前記第４の画素のドットサイズ以下であり、かつ、前記輪郭部を形成する第５の画素について、前記第５の画素のドットサイズと前記第６の画素のドットサイズとを交換する請求項３に記載の画像処理装置。
【請求項５】
前記第１の画素は、前記階段状変化部の凸部を形成する画素であり、
前記第４の画素のドットサイズは、前記第２の画素のドットサイズ以上である請求項２に記載の画像処理装置。
【請求項６】
前記交換手段は、前記第１の画素との距離が前記第１の画素と前記第３の画素との距離よりも大きく、前記所定の距離にある第６の画素のドットサイズが前記第４の画素のドットサイズ以上であり、かつ、前記輪郭部を形成する第５の画素について、前記第５の画素のドットサイズと前記第６の画素のドットサイズとを交換する請求項５に記載の画像処理装置。
【請求項７】
前記画像はハーフトーン処理前の階調画像である請求項１ないし請求項６のいずれか一項に記載の画像処理装置。
【請求項８】
前記交換手段は、前記階段状変化部を形成する画素の濃度または前記濃度に相当する値に基づいて交換する請求項１ないし請求項７のいずれか一項に記載の画像処理装置。
【請求項９】
請求項１ないし請求項８のいずれか一項に記載の画像処理装置と、
前記画像処理装置により決定されたドットの形成状態に基づいて、印刷媒体にドットを形成する印刷装置と、
を備える印刷システム。
【請求項１０】
画像を複数サイズのドットを利用して印刷する際のドットの形成状態を、コンピューターを用いて決定する画像処理方法であって、
コンピューターが、前記画像の輪郭部における階段状変化部を形成する第１の画素を検出するステップと、
コンピューターが、前記第１の画素のドットサイズと、前記第１の画素から所定の距離にある第２の画素のドットサイズとを交換するステップと、
を含み、
ドットサイズを交換された前記階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上である画像処理方法。
【請求項１１】
画像を複数サイズのドットを利用して印刷する際のドットの形成状態を決定するコンピュータープログラムであって、
前記画像の輪郭部における階段状変化部を形成する第１の画素を検出する機能と、
前記第１の画素のドットサイズと、前記第１の画素から所定の距離にある第２の画素のドットサイズとを交換する機能と、
をコンピューターに実現させ、
ドットサイズを交換された前記階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上であるコンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画素から構成される画像を複数サイズのドットを利用して印刷する際のドットの形成状態を決定する画像処理装置、画像処理方法およびコンピュータープログラムに関する。
【背景技術】
【０００２】
一般にプリンター、複写機、ファクシミリ等の画像出力装置は、入力された画像情報に基づいて、紙、布、フィルムなどの各種印刷媒体に対してドットパターンからなる画像を出力画像として記録していく。
通常これらのドットはある一定の解像度の正方格子上に配置されるので、文字の輪郭線や図形などの斜線部分にジャギーと呼ばれる画素の段差が知覚される状態が生じ、画像品質が低下する場合がある。
【０００３】
一方、インクジェットプリンターには、例えばシアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の各色のインクに対して、例えば大ドット（Ｌドット）、中ドット（Ｍドット）、小ドット（Ｓドット）のように、複数サイズのドットを形成可能なものがある。
以下の特許文献１および特許文献２では、インクジェットプリンターで吐出可能な複数サイズのドットを用いることで、文字の輪郭線や図形などの斜線部分のジャギーの課題を解決する方法が開示されている。
【０００４】
【特許文献１】特開２００４−１７５４６号公報
【特許文献２】特開２００３−１４５７４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に開示された方法では、入力されるデータが多階調のデータであった場合、ジャギー発生部を検出する処理が二値化処理の後に行われるため、たとえば薄い灰色の文字はジャギー発生部とは検出されずジャギーを低減する効果が得られない。また仮にジャギー発生部として検出されたとしても過度に多いドットを付加する処理が行われ、本来表現すべき濃度よりも濃い文字が再現されてしまう問題があった。
また、特許文献２においては、入力データを画素ごとに高濃度、中濃度、低濃度の３つに分類し、高濃度画素とその他の画素のパターンマッチングによりジャギー発生部を検出していたため、たとえば薄い灰色の文字はジャギー発生部として検出されず、効果が得られない問題があった。
【課題を解決するための手段】
【０００６】
本発明は、斜線部分における画像品質の低下を低減することを目的とし、以下の形態または適用例として実現することが可能である。
【０００７】
［適用例１］
画像を複数サイズのドットを利用して印刷する際のドットの形成状態を決定する画像処理装置であって、前記画像の輪郭部における階段状変化部を形成する第１の画素を検出する検出手段と、前記第１の画素のドットサイズと、前記第１の画素から所定の距離にある第２の画素のドットサイズとを交換する交換手段と、を備え、ドットサイズを交換された前記階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上である画像処理装置。
適用例１の画像処理装置では、画像の輪郭部における階段状変化部を形成する画素を検出し、検出された階段状変化部を形成する第１の画素のドットサイズと、第１の画素から所定の距離にある第２の画素のドットサイズとを交換し、交換された階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上であるため、色みおよび階調性を維持しつつ、階段状変化部のジャギーの発生を抑え、印刷画質を向上することができる。
【０００８】
［適用例２］
前記交換手段は、前記階段状変化部を形成する画素からの距離に応じて、前記輪郭部を形成する第３の画素のドットサイズと、前記第３の画素から所定の距離にある第４の画素のドットサイズとを交換する適用例１に記載の画像処理装置。
適用例２の画像処理装置では、階段状変化部を形成する画素からの距離に応じて、輪郭部を形成する第３の画素のドットサイズと、第３の画素から所定の距離にある第４の画素のドットサイズとを交換するので、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
【０００９】
［適用例３］
前記第１の画素は、前記階段状変化部の凹部を形成する画素であり、前記第４の画素のドットサイズは、前記第２の画素のドットサイズ以下である適用例２に記載の画像処理装置。
適用例３の画像処理装置では、第１の画素が階段状変化部の凹部を形成する場合に、ドットサイズの交換により、輪郭部を形成する画素のドットサイズを、階段状変化部を形成する画素のドットサイズ以下にするので、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
【００１０】
［適用例４］
前記交換手段は、前記第１の画素との距離が前記第１の画素と前記第３の画素との距離よりも大きく、前記所定の距離にある第６の画素のドットサイズが前記第４の画素のドットサイズ以下であり、かつ、前記輪郭部を形成する第５の画素について、前記第５の画素のドットサイズと前記第６の画素のドットサイズとを交換する適用例３に記載の画像処理装置。
適用例４の画像処理装置では、第１の画素が階段状変化部の凹部を形成する場合に、第１の画素からの距離が大きくなるに応じて、輪郭部を形成する画素のドットサイズが小さくなるようにドットサイズの交換を行うので、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
【００１１】
［適用例５］
前記第１の画素は、前記階段状変化部の凸部を形成する画素であり、前記第４の画素のドットサイズは、前記第２の画素のドットサイズ以上である適用例２に記載の画像処理装置。
適用例５の画像処理装置では、第１の画素が階段状変化部の凸部を形成する場合に、ドットサイズの交換により、輪郭部を形成する画素のドットサイズを、階段状変化部を形成する画素のドットサイズ以上にするので、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
【００１２】
［適用例６］
前記交換手段は、前記第１の画素との距離が前記第１の画素と前記第３の画素との距離よりも大きく、前記所定の距離にある第６の画素のドットサイズが前記第４の画素のドットサイズ以上であり、かつ、前記輪郭部を形成する第５の画素について、前記第５の画素のドットサイズと前記第６の画素のドットサイズとを交換する適用例５に記載の画像処理装置。
適用例６の画像処理装置では、第１の画素が階段状変化部の凸部を形成する場合に、第１の画素からの距離が大きくなるに応じて、輪郭部を形成する画素のドットサイズが大きくなるようにドットサイズの交換を行うので、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
【００１３】
［適用例７］
前記画像はハーフトーン処理前の階調画像であることを特徴とする上記適用例１ないし適用例６のいずれかに記載の画像処理装置。
適用例７の画像処理装置では、ハーフトーン処理前の階調画像に対して輪郭部における階段状変化部を形成する画素を検出するため、より正確に階段状変化部を形成する画素を検出することができ、ジャギーを抑制する効果を高めることができる。
【００１４】
［適用例８］
前記交換手段は、前記階段状変化部を形成する画素の濃度または前記濃度に相当する値に基づいて制御することを特徴とする上記適用例１ないし適用例７のいずれかに記載の画像処理装置。
適用例７の画像処理装置では、前記階段状変化部を形成する画素の濃度または濃度に相当する値に応じて、最適なドットサイズのデータに交換するため、薄い画像および濃い画像の両方に対して、ジャギーを抑制する効果を得ることができる。
【００１５】
［適用例９］
適用例１ないし適用例８のいずれか１項に記載の画像処理装置と、前記画像処理装置により決定されたドットの形成状態に基づいて、印刷媒体にドットを形成する印刷装置と、を備える印刷システム。
適用例９の印刷システムでは、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行うことができる。
【００１６】
［適用例１０］
画像を複数サイズのドットを利用して印刷する際のドットの形成状態を、コンピューターを用いて決定する画像処理方法であって、コンピューターが、前記画像の輪郭部における階段状変化部を形成する第１の画素を検出するステップと、コンピューターが、前記第１の画素のドットサイズと、前記第１の画素から所定の距離にある第２の画素のドットサイズとを交換するステップと、を含み、ドットサイズを交換された前記階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上である画像処理方法。
適用例１０の画像処理方法は、画像の輪郭部における階段状変化部を形成する画素を検出し、検出された階段状変化部を形成する第１の画素のドットサイズと、第１の画素から所定の距離にある第２の画素のドットサイズとを交換し、交換された階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上であるため、色みおよび階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
【００１７】
［適用例１１］
画像を複数サイズのドットを利用して印刷する際のドットの形成状態を決定するコンピュータープログラムであって、前記画像の輪郭部における階段状変化部を形成する第１の画素を検出する機能と、前記第１の画素のドットサイズと、前記第１の画素から所定の距離にある第２の画素のドットサイズとを交換する機能と、をコンピューターに実現させ、ドットサイズを交換された前記階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上であるコンピュータープログラム。
適用例１１のコンピュータープログラムは、画像の輪郭部における階段状変化部を形成する画素を検出する機能と、検出された階段状変化部を形成する第１の画素のドットサイズと、第１の画素から所定の距離にある第２の画素のドットサイズとを交換する機能とをコンピュータに実現させ、交換された階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上であるため、色みおよび階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
【発明を実施するための最良の形態】
【００１８】
次に、本発明の実施の形態を実施例に基づいて以下に説明する。
Ａ．第１実施例
Ａ１．実施例の全体構成
図１は、本発明の第１実施例における印刷システムの構成を概略的に示す説明図である。本実施例における印刷システム１０００は、画像処理装置としてのパーソナルコンピューター１００と、パーソナルコンピューター１００に有線または無線によって接続された印刷装置としてのプリンター２００と、を備えている。
【００１９】
Ａ２．画像処理装置の構成
パーソナルコンピューター１００は、プログラムを実行することにより種々の処理や制御を行うＣＰＵ１１０と、プログラムやデータ・情報を格納するメモリー１２０と、外部に接続される周辺機器との間でデータや情報のやりとりを行う入出力インターフェイス（Ｉ／Ｆ）部１３０と、を備えている。メモリー１２０は、出力バッファー３２を有している。パーソナルコンピューター１００は、さらに、キーボードやポインティングデバイスなどの入力装置、ディスプレーなどの表示装置、ＣＤ−ＲＯＭドライブ装置などの記録再生装置等を備えていてもよい。
【００２０】
パーソナルコンピューター１００には、アプリケーションプログラム１０やプリンタードライバー２０などのプログラムがインストールされている。アプリケーションプログラム１０やプリンタードライバー２０は、所定のオペレーティングシステム（図示せず）の下でＣＰＵ１１０により実行される。
【００２１】
アプリケーションプログラム１０は、例えば画像編集機能を実現するためのプログラムである。ユーザーは、アプリケーションプログラム１０の提供するユーザーインタフェイスを介して、アプリケーションプログラム１０により編集された画像を印刷する指示を与えることができる。アプリケーションプログラム１０は、ユーザーより印刷の指示を受けると、プリンタードライバー２０に印刷の対象となる画像データを出力する。なお、本実施例では、画像データはＲＧＢデータとして出力される。
【００２２】
プリンタードライバー２０は、アプリケーションプログラム１０から出力された画像データに基づき印刷データを生成する機能を実現するためのプログラムである。プリンタードライバー２０は、ＣＤ−ＲＯＭなどの各種記憶媒体（コンピューター読み取り可能な記録媒体等）に記憶されて配布されたり、またはインターネットなど各種通信手段を通じて配信されたりする。
【００２３】
プリンタードライバー２０は、アプリケーションプログラム１０から画像データを受け取り、画像データに基づき印刷データを生成し、生成された印刷データをプリンター２００に出力する。ここで、印刷データは、プリンター２００が解釈できる形式のデータであって、各種のコマンドデータとドットデータとを含む。コマンドデータは、プリンター２００に特定の動作の実行を指示するためのデータである。ドットデータは、印刷される画像（印刷画像）を構成する画素（印刷画素）におけるドットの形成状態を表すデータであり、具体的には、各印刷画素にどの色のどのサイズのドットを形成するか（あるいはドットを形成しないか）を示すデータである。ここで、「ドット」とは、プリンター２００から噴射されたインクが印刷媒体に着弾して形成される１つの領域をいう。
【００２４】
プリンタードライバー２０は、アプリケーションプログラム１０から出力された画像データを印刷データに変換するために、解像度変換処理部２１と、色変換処理部２２と、階段状変化判定部２３と、ハーフトーン処理部２４と、ドットサイズ交換処理部２５と、ラスタライズ処理部２６と、を含んでいる。
【００２５】
解像度変換処理部２１は、アプリケーションプログラム１０から出力された画像データの解像度をプリンター２００の印刷解像度に一致するように変換する解像度変換処理を行う。
【００２６】
色変換処理部２２は、画像データを構成する画素を対象に、色変換処理を行う。本実施例で用いられるプリンター２００は、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の各色のインクを用いて印刷を行うプリンターである。そのため、色変換処理部２２は、対象画素のそれぞれについて、ＲＧＢ値で表された画素値をＣＭＹＫ値に変換する。
【００２７】
階段状変化判定部２３は、メモリー１２０に格納されたエッジパターンテーブルを参照して、画像データに基づき、画像における階段状変化部を形成する画素を検出する。階段状変化部とは、画像におけるエッジの内、エッジ方向が斜めのものを意味する。ここで、エッジ方向が斜めとは、マトリクス状の画素配列において、エッジを形成する画素が、上下左右のいずれかの方向ではなく、斜め方向に隣接している状態（すなわち、エッジを形成する画素が階段状に配置されている状態）を意味している。
また、ここでの画像データとは、白色画素を０、いずれかのインク色の濃度が０を超える画素を１に対応させたものを意味しており、注目画素周辺の画素が持つ０または１の値と、エッジパターンテーブルに記録された０または１のパターンが一致する場合に、注目画素は階段状変化部を形成する画素であると判定される。
【００２８】
ハーフトーン処理部２４は、色変換処理部２２による色変換処理後の画素値に基づきハーフトーン処理を行い、各画素に対応した印刷画素におけるドットの形成状態を決定し、出力バッファー３２に記録する。本実施例では、ディザーマトリクスによる閾値処理によってハーフトーン処理を行う。なお、本実施例で用いられるプリンター２００は、小さいサイズの小ドット（以下「Ｓドット」とも呼ぶ）と中程度のサイズの中ドット（以下「Ｍドット」とも呼ぶ）と大きいサイズの大ドット（以下「Ｌドット」とも呼ぶ）との３種類のサイズのドットを形成可能なプリンターである。そのため、印刷画素におけるドットの形成状態としては、各インク色について、ドットを形成しない、Ｓドットを形成する、Ｍドットを形成する、Ｌドットを形成する、の計４つの選択肢が存在することとなる。
【００２９】
ドットサイズ交換処理部２５は、階段状変化判定部２３の判定結果を受け取り、注目画素が、階段状に変化しているエッジを形成する画素であり、かつハーフトーン処理部２４によって決定され、出力バッファー３２に記録されているドットの形成状態を表すデータの中に、所定の条件を満たす注目画素近傍の画素が存在するか否かを判定し、存在した場合は注目画素と近傍の画素のドットの形成状態を表すデータを交換する処理を行う。
【００３０】
本実施例ではハーフトーン処理部２４によって決定され、出力バッファー３２に記録されたドットの形成状態を表すデータが、ドットサイズ交換処理部２５によって変更され、その結果が出力バッファー３２に再び記録されることとなる。
【００３１】
ラスタライズ処理部２６は、出力バッファー３２に記録された各印刷画素におけるドットの形成状態に基づきドットデータを生成すると共に、ドットデータをプリンター２００に転送すべき順序に並び替える。
【００３２】
Ａ３．印刷装置の構成
本実施例のプリンター２００は、印刷媒体にインクドットを形成して画像を印刷するインクジェットプリンターである。プリンター２００は、プログラムを実行することによりプリンター２００全体の制御や各種処理を行うＣＰＵ２１０と、プログラムやデータ・情報を格納するメモリー２２０と、外部に接続されるパーソナルコンピューター１００との間でデータや情報のやりとりを行う入出力インターフェイス（Ｉ／Ｆ）部２３０と、ＣＰＵ２１０からの指示に従って各ユニットを制御するユニット制御回路２４０と、ヘッドユニット２５０と、キャリッジユニット２６０と、搬送ユニット２７０と、を備えている。
【００３３】
ヘッドユニット２５０は、印刷媒体にインクを噴射するためのヘッド（図示せず）を有している。ヘッドは、複数のノズルを有し、各ノズルから断続的にインクを噴射する。このヘッドはキャリッジ（図示せず）に搭載されており、キャリッジが所定の走査方向（主走査方向）に移動すると、ヘッドも主走査方向に移動する。ヘッドが主走査方向に移動している間にインクを断続的に噴射することにより、主走査方向に沿ったドットライン（ラスタライン）が印刷媒体上に形成される。
【００３４】
キャリッジユニット２６０は、ヘッドを搭載するキャリッジを主走査方向に往復移動させるための駆動装置である。キャリッジには、ヘッドの他、インクを収容するインクカートリッジも着脱可能に保持されている。
【００３５】
搬送ユニット２７０は、印刷媒体を印刷可能な位置に送り込み、印刷時に所定の搬送方向に所定の搬送量で印刷媒体を搬送させることによって副走査方向の移動を行うための駆動装置である。搬送ユニット２７０は、例えば、給紙ローラー、搬送モーター、搬送ローラー、プラテン、及び排紙ローラー（図示せず）などによって構成される。
【００３６】
Ａ４．実施例の全体処理
ユーザがアプリケーションプログラム１０上で画像の印刷を指示すると、アプリケーションプログラム１０からプリンタードライバー２０に印刷命令が発せられる。この印刷命令には、アプリケーションプログラム１０上で編集された画像データ（ＲＧＢデータ）が含まれる。
【００３７】
印刷命令を受領したプリンタードライバー２０では、解像度変換処理部２１が、印刷命令の中に含まれている画像データの解像度を、印刷解像度に一致するように変換する。続いて、画像データを構成する各画素について、色変換処理部２２によって色変換処理が行われるとともに、階段状変化判定部２３によって、注目画素が階段状に変化しているエッジを形成する画素であるか否かを判定する。
【００３８】
色変換処理部２２によって出力されたデータはハーフトーン処理部２４によるハーフトーン処理を介してドットの形成状態が一旦決定され、出力バッファー３２に記録される。
その後、階段状に変化しているエッジを形成する画素に対しては、ドットサイズ交換処理部２５が近傍の画素とドットの形成状態を交換する処理を行う。
【００３９】
交換後のドットの形成状態は、出力バッファー３２に再び記録される。ドットの形成状態を交換する処理については後に詳述する。ラスタライズ処理部２６は、出力バッファー３２に記録された各印刷画素におけるドットの形成状態に基づきドットデータを生成すると共に、ドットデータをプリンター２００に転送すべき順序に並び替え、ドットデータを含む印刷データを、入出力インターフェイス部１３０を介してプリンター２００に出力する。
【００４０】
プリンター２００は、パーソナルコンピューター１００から印刷データを受領すると、印刷処理を実行する。まず、ＣＰＵ２１０は、パーソナルコンピューター１００から入出力インターフェイス部２３０を介して印刷データを受領し、受領した印刷データに含まれる各種コマンドの内容を解析する。ＣＰＵ２１０は、解析結果に基づき、ユニット制御回路２４０を介して搬送ユニット２７０を制御する。この制御により、搬送ユニット２７０は、印刷すべき紙（印刷媒体）をプリンター２００内に供給させ、印刷開始位置に紙を位置決めする。
【００４１】
次に、ＣＰＵ２１０は、ユニット制御回路２４０を介してキャリッジユニット２６０を制御する。この制御により、キャリッジユニット２６０は、ヘッドを搭載したキャリッジを主走査方向に移動させる。また、ＣＰＵ２１０は、ユニット制御回路２４０を介して印刷データに基づいてヘッドユニット２５０を制御する。この制御により、ヘッドユニット２５０は、主走査方向に沿って移動するヘッドから、印刷データに基づいてインクを断続的に噴射させ、噴射されたインク滴が紙上に着弾することにより紙上にドットを形成させる。さらに、ＣＰＵ２１０は、搬送ユニット２７０を制御し、紙を搬送方向に搬送させて、ヘッドに対し相対的に移動させる。これにより、ヘッドは、先ほど形成されたドットの位置とは異なる位置にドットを形成することが可能になる。こうして、印刷するためのデータがなくなるまで、ドット形成や搬送などの処理を繰り返し、ドットから構成される画像を紙に印刷する。その後、印刷するためのデータがなくなれば、印刷処理が完了する。
【００４２】
Ｂ．ドット形成状態の決定処理
Ｂ−１．決定処理の全体構成
図２は、ドット形成状態が決定されるまでの処理の流れを示すフローチャートである。ドット形成状態の決定処理は、解像度変換処理部２１による解像度変換処理後の画像データに基づき、各印刷画素におけるドットの形成状態を決定し、出力バッファー３２に記録する処理である。
【００４３】
図３は、解像度変換処理後の印刷対象画像の一例を示す説明図である。以下では、図３に示す印刷対象画像４０に基づき印刷処理が行われるものとして説明する。図３に示す印刷対象画像４０は、線画Ａを含んでいる。線画Ａは、主走査方向に４画素、副走査方向には６画素につき１画素の比率で主走査方向にずれた階段状の３つのブロックで構成されており、総合計７２個の水色（シアン色）の画素によって構成されている。この水色を示す画素のＲＧＢの各値は（６４，２５５，２５５）である。印刷対象画像４０の線画Ａ以外の部分の画素はすべて白色画素である。すなわち、印刷対象画像４０は、白色とインクドット色の１つであるシアン色とのみにより構成された単色の画像である。なお、図３において、×印は後述する注目画素を示しており、実線矢印は注目画素が移動する軌跡を示している。
【００４４】
図４は、出力バッファー３２（図１参照）の構成を示す説明図である。出力バッファー３２は、印刷対象画像４０の各画素に対応した印刷画素におけるドット形成状態が記録可能なように構成されている。図４に示した部分３２Ａは、印刷対象画像４０の線画Ａに対応した部分である。なお、出力バッファー３２は、必ずしも印刷対象画像４０全体の各画素に対応した印刷画素におけるドット形成状態が記録可能に構成されている必要はなく、印刷処理をバンド（印刷対象画像４０を複数の帯状領域に分割した分割画像）単位で実行する場合には、出力バッファー３２はバンド内の各画素に対応した印刷画素におけるドット形成状態が記録可能に構成されていればよい。
【００４５】
図２に示すフローの概略を説明する。ステップＳ１０４〜ステップＳ１１６では画像を構成する全画素について色変換処理およびハーフトーン処理を行う。次に、ステップＳ１１８〜ステップＳ１３４にて、エッジ部分におけるドットの交換処理を行う。ここではエッジ画素を含む直線エッジの長さと、階段状変化部からの方向とに応じたドットサイズ交換処理を行う。ドットサイズ交換処理は、階段状変化部（段差部）の凸部を形成するドットを、よりドットサイズの小さい近傍ドットと交換し、階段状変化部（段差部）の凹部を形成するドットを、よりドットサイズの大きい近傍ドットと交換する。
【００４６】
Ｂ−２.ドットサイズ交換処理
以降、図２のフローを詳述する。処理が開始されると、ＣＰＵ１１０は、解像度変換処理部２１による解像度変換処理後の画像データを読み込む（ステップＳ１０２）。次いで、ＣＰＵ１１０は、図３の印刷対象画像４０における左上の画素を最初の注目画素として設定する（ステップＳ１０４）。以降、図２のフローにおける注目画素を注目画素×と記述する。
【００４７】
次いで、色変換処理部２２は注目画素×に対して色変換処理を行う。
最初の注目画素×については背景の白色画素のため、この色変換処理によってＲＧＢで示された値（２５５，２５５，２５５）からＣＭＹＫで示すデータ（０％，０％，０％，０％）に変換される（ステップＳ１０６）。
次に、ＣＰＵ１１０は注目画素×のＣＭＹＫの各データに対して、ハーフトーン処理を行い、各画素のドットの形成状態を仮決定する（ステップＳ１０８）。
注目画素×についてはＣＭＹＫ全ての色成分が０％であるため、ドットの形成状態は「ドットを形成しない」という状態に仮決定される。
ステップＳ１０８の実行後、ステップＳ１１０（図２）において、ＣＰＵ１１０は、注目画素×が印刷対象画像４０の右端の画素であるか否かを判定する。注目画素×が印刷対象画像４０の右端の画素ではないと判定された場合には（ステップＳ１１０：Ｎｏ）、ＣＰＵ１１０は、注目画素×を右に１画素分移動する（ステップＳ１１２）。その後、処理はステップＳ１０６に戻る。
【００４８】
図３の状態において、注目画素×に対応した印刷画素のドット形成状態が決定されると、注目画素×が１画素分右に移動されることになる。この後、再度ステップＳ１０６およびＳ１０８において、色変換処理部２２による色変換処理およびハーフトーン処理部２４によるハーフトーン処理が実行され、注目画素×に対応した印刷画素のドット形成状態は「ドットを形成しない」という状態に決定される。このような処理が繰り返され、図３の状態から注目画素×が印刷対象画像４０の右端まで移動すると、ステップＳ１１０において注目画素×は右端であると判定される（ステップＳ１１０：Ｙｅｓ）。このときには、ＣＰＵ１１０が、注目画素×は画像の下端の画素であるか否かを判定する（ステップＳ１１４）。注目画素×は画像の下端の画素ではないと判定された場合には（ステップＳ１１４：Ｎｏ）、ＣＰＵ１１０が、注目画素×を１ライン下の画像左端に移動する（ステップＳ１１６）。その後、処理はステップＳ１０６に戻る。
【００４９】
上述の処理が繰り返され、注目画素×が図５に示す位置まで移動すると、ＣＰＵ１１０は、ステップＳ１０６ないしＳ１０８の処理を実行して、シアン色画素の集合領域である線画Ａに含まれる注目画素×に対応した印刷画素のドット形成状態を決定する。
このシアン色画素の集合領域に含まれる画素に対しては、ステップＳ１０６の色変換処理によってＲＧＢで示された値（６４，２５５，２５５）からＣＭＹＫで示すデータ（５３％，０％，０％，０％）に変換され、ステップＳ１０８のハーフトーン処理では、各画素に対応する閾値との比較により、ドットの形成状態が仮決定される。
【００５０】
上述の処理が繰り返され、画像全体の画素に対して色変換処理およびハーフトーン処理が実行されると、出力バッファー３２には画像全体もしくはバンド内の画素のドット形成状態が記録された状態となる。ここまでの処理の流れの説明では、簡単にするためシアン色のハーフトーン処理結果が出力バッファー３２に記録されるまでを説明したが、残りのドット色、マゼンタ、イエロー、ブラックについても、それぞれ対応する出力バッファーが存在し、各バッファーにドットの形成状態が記録される。
【００５１】
図６に、色変換後の印刷対象画像４０のシアン成分を、図７にはハーフトーン処理後のドット色シアンのドット形成状態が仮決定された状態を示す。図７（ａ）はドットサイズをＳ，Ｍ，Ｌ（小、中、大）の記号で示した図を、図７（ｂ）は黒丸の大きさでドットサイズを示した図を示している。
【００５２】
ハーフトーン処理によって画像全体、あるいはバンド内のドット形成状態が仮決定された後、ＣＰＵ１１０は、図３の印刷対象画像４０における左上の画素を再び注目画素×として設定する（ステップＳ１１８）。なお、以降の説明における注目画素×は第１の画素に対応している。
【００５３】
図８は、注目画素×の位置と出力バッファー３２の状態とを対応付けて示す説明図である。図８の上段には、印刷対象画像４０上の線画Ａ（図３参照）との関係における注目画素×の位置（×マークで示す）を示しており、下段には、出力バッファー３２における線画Ａに対応した部分３２Ａ（図４参照）の状態を示している。図中の記号「Ｓ」は「Ｓドットを形成する」というドット形成状態を示している。同様に、図中の記号「Ｍ」は「Ｍドットを形成する」というドット形成状態を、記号「Ｌ」は「Ｌドットを形成する」というドット形成状態を、それぞれ示している。時間の経過と共に、図８の上段左端の状態（状態１ａ）から右端の状態（状態１ｅ）、さらに図８下段の左端の状態（状態１ｆ）から右端の状態（状態１ｊ）へと推移するものとする。図８に示した状態１ａは、印刷対象画像４０における左上の画素が注目画素×として設定されたときの状態を示している。
【００５４】
次いで、階段状変化判定部２３は図３の印刷対象画像４０に対して、ＲＧＢ成分のいずれかが最大値未満である場合を１、いずれも最大値である場合を０として、それらのデータがあらかじめ決められた所定のパターンと一致するか否かを判定する、「縦斜め線用４パターンマッチング」処理を行う（ステップＳ１２０）。このパターンマッチング処理では、図９に示す２値で表された４つのエッジパターンを用いる。図９に示したエッジパターンはメモリー１２０に記録されている。なお、図９においてハッチングで示した画素は１に、白色かつ実線で囲まれた画素は０に対応する。なお図９において点線で囲まれた白色の画素はパターンマッチング処理の対象とはならない。
注目画素×と、図９の各２値パターン内の●で示した画素との座標を一致させた場合に、ＲＧＢ成分から導いた２値パターンと、図９の各２値パターンとが一致するか否かを判定する。印刷対象画像４０における左上の画素が注目画素×である場合は、近傍の画素は全て白色（０）であり、いずれのパターンにもマッチしないため、パターンなしと判定される（ステップＳ１２０：パターンなし）。
【００５５】
続いて、「横斜め線用４パターンマッチング」処理を行う（ステップＳ１２２）。
この処理では図１０に示す４つのエッジパターンを用いる。図１０に示したエッジパターンはメモリー１２０に記録されている。
なお、図１０においても、ハッチングで示した画素は１に、白色かつ実線で囲まれた画素は０に対応する。また図１０においても、点線で囲まれた白色の画素はパターンマッチング処理の対象とはならない。
この処理では注目画素×の近傍の画素はいずれのパターンにもマッチしないため、パターンなしと判定される（ステップＳ１２２：パターンなし）。そして、ステップＳ１２２の実行後、ステップＳ１２８（図２）において、ＣＰＵ１１０は、注目画素×が印刷対象画像４０の右端の画素であるか否かを判定する。注目画素×が印刷対象画像４０の右端の画素ではないと判定された場合には（ステップＳ１２８：Ｎｏ）、ＣＰＵ１１０は、注目画素×を右に１画素分移動する（ステップＳ１３２）。その後、処理はステップＳ１２０に戻る。
【００５６】
図８の状態１ａにおいて、注目画素×に対応したパターンマッチング処理が終了すると、注目画素×が１画素分右に移動されることになる。この後、再度ステップＳ１２０およびステップＳ１２２において、階段状変化判定部２３によるパターンマッチング処理が実行され、注目画素×はパターンにマッチしないという判定が行われる。このような処理が繰り返され、図８の状態１ａから注目画素×が印刷対象画像４０の右端まで移動すると、ステップＳ１２８において注目画素×は右端であると判定される（ステップＳ１２８：Ｙｅｓ）。このときには、ＣＰＵ１１０が、注目画素×は画像の下端の画素であるか否かを判定する（ステップＳ１３０）。注目画素×は画像の下端の画素ではないと判定された場合には（ステップＳ１３０：Ｎｏ）、ＣＰＵ１１０が、注目画素×を１ライン下の画像左端に移動する（ステップＳ１３４）。その後、処理はステップＳ１２０に戻る。
【００５７】
上述の処理が繰り返され、注目画素×が図８の状態１ｂに示す位置まで移動した場合の処理について説明する。
ステップＳ１２０において注目画素×について階段状変化判定部２３は、「縦斜め線用４パターンマッチング」処理を実行する。その結果、図９の一番左のパターンにマッチすると判定される。このパターンの方向係数は１である。「パターンあり」と判定されたため、ドットサイズ交換処理部２５は「縦方向ドットサイズ交換処理」（ステップＳ１２４）を実行する。
【００５８】
「縦方向ドットサイズ交換処理」のフローを図１１に示す。
ステップＳ２０２においてＣＰＵ１１０はパターンの中央列の下側画素が白色か否かを判定する。
このパターンでは中央列の下側画素が白色であるため、Ｙｅｓと判定される。
次いでＣＰＵ１１０は印刷対象画像４０において階段状変化部から上方向に伸びる直線エッジの長さをカウントする。（ステップＳ２１６）ここで、上方向には６画素が直線エッジを形成しているため、ｎｕｍ１には値６が代入される。
続いて、ＣＰＵ１１０は印刷対象画像４０において階段状変化部から下方向に延びる直線エッジの長さをカウントする。（ステップＳ２１８）下方向には６画素が直線エッジを形成しているため、ｎｕｍ２には値６が代入される。
引き続き、ＣＰＵ１１０は上側凸処理（シアン）を実行する（ステップＳ２２０）。
【００５９】
上側凸処理のフローを図１２に示す。上側凸処理においては、まずｎｕｍ１が２を超えるか否かを判定する（ステップＳ３０２）。
ここでは、ｎｕｍ１＝６＞２のため、Ｙｅｓと判定される。次にＣＰＵ１１０は変数ｉに０を代入し初期化を行う（ステップＳ３０４）。
ここではＹｅｓと判定されたが、Ｎｏと判定された（ｎｕｍ１が２を超えない）場合は、階段状変化部を構成する画素が少ないため、注目画素×にのみ、後述する相対小ドット交換処理を実行する。
【００６０】
次にステップＳ３０６に進み、ここで、これまで述べてきた注目画素×とは異なる、「縦方向ドットサイズ交換処理」内で使用する２つめの注目画素を定義する。この２つ目の注目画素を注目画素○とする。なお、この注目画素○は第２の画素に対応している。
この注目画素○をマッチしたパターンの中央列の非白画素（●画素）に対応した画素（図８の状態１ｃにおいて○で示した画素）に設定する（ステップＳ３０６）。
次にドットサイズ交換処理部２５は相対小ドット交換処理を行う（ステップＳ３０８）。
【００６１】
相対小ドット交換処理のフローを図１３に示す。
相対小ドット交換処理ではまず出力バッファー３２の注目画素○に対応する位置のドットサイズが小ドットか否かを判定する（ステップＳ９０２）。注目画素○の位置のドットサイズはＬ（大）であるため、Ｎｏと判定される。次いで、マッチパターンは縦方向か否かの判定が行われる（ステップＳ９０４）。この処理は縦斜め線用のパターンにマッチした結果実行されているため、Ｙｅｓと判定される。次に、マッチパターンの方向係数が１か否かの判定を行う（ステップＳ９１４）。ステップＳ１２０において、マッチパターンの方向係数は１と判定されているため、ここではＹｅｓと判定される。次に、注目画素○および、注目画素○から見て右、右上、右下（楕円で囲まれた画素）を含めた４画素の内で、最もドットサイズが小さい画素を探索する。（ステップＳ９１８）この処理では、ドットが打たれないことを示すデータは対象に含めず、ドットサイズＳ（小）を最小とみなして探索を行う。ここでは、右下の画素のドットサイズＳ（小）が最小と判定される。よって注目画素のドットデータが最小ではないため、ステップＳ９１２の判定処理の結果はＮｏとなる。次いで、出力バッファー３２に記録された注目画素○のドットデータＬと、右下の画素のドットデータＳを交換する。（ステップＳ９１９）その結果、図８の状態１ｄに示した状態となる。状態１ｄでは交換の対象となった画素を太文字で表している。これで相対小ドット交換処理を終了し、図１２の上側凸処理に戻る。
【００６２】
次いで、ｉの値を１つ増加させる（ステップＳ３１０）。その結果ｉには１が代入される。次に、ｉの値がｎｕｍ１／３つまり２よりも小さいか否かを判定し、Ｙｅｓと判定される（ステップＳ３１２）。次に、注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から上側１番目の画素（図８の状態１ｅにおいて○で示した画素）に移動する（ステップＳ３０６）。次に、再び相対小ドット交換処理を行う（ステップＳ３０８）。この処理でも同様に注目画素○および注目画素○から見て右、右上、右下（楕円で囲まれた画素）を含めた４画素のうちで、最もドットサイズが小さい画素を探索する。（ステップＳ９１８）ここでは、右上の画素のドットサイズＳ（小）が最小と判定される。よって、ステップＳ９１２の判定結果はＮｏとなる。
次いで、出力バッファー３２に記録された注目画素○のドットデータＬと、右上の画素のドットデータＳを交換する。（ステップＳ９１９）その結果、図８の状態１ｆに示した状態となる。
【００６３】
再び、図１２の上側凸処理に戻る。ステップＳ３１０にてｉの値を１つ増加させる。その結果ｉには２が代入される。次に、ｉの値がｎｕｍ１／３つまり２よりも小さいか否かを判定し、Ｎｏと判定される。次に注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から上側２番目の画素（図８の状態１ｇにおいて○で示した画素）に移動する（ステップＳ３１４）次に、中ドット交換処理を行う（ステップＳ３１６）。
【００６４】
中ドット交換処理のフローを図１４に示す。
中ドット交換処理ではまず出力バッファー３２の注目画素○に対応する位置のドットサイズが中ドットか否かを判定する（ステップＳ９６０）。注目画素○の位置のドットサイズはＳ（小）であるため、Ｎｏと判定される。次いで、マッチパターンは縦方向か否かの判定が行われる（ステップＳ９６２）。この処理は縦斜め線用のパターンにマッチした結果実行されているため、Ｙｅｓと判定される。次に、マッチパターンの方向係数が１か否かの判定を行う（ステップＳ９７４）。ステップＳ１２０において、マッチパターンの方向係数は１と判定されているため、ここではＹｅｓと判定される。次に、注目画素○から見て右、右上、右下（楕円で囲まれた画素）の３画素の中から、ドットサイズ中の画素を探索する（ステップＳ９７８）。
その結果、３画素のなかにはドットサイズ中の画素は無いため、ステップＳ９６８ではＮｏと判定され、中ドット交換処理は終了する。
【００６５】
再び図１２の上側凸処理に戻り、ステップＳ３１８にてｉの値を１つ増加させる。その結果ｉには３が代入される。次にｉの値がｎｕｍ１×２／３つまり４よりも小さいか否かを判定し、Ｙｅｓと判定される（ステップＳ３２０）。次に、注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から上側３番目の画素（図８の状態１ｈにおいて○で示した画素）に移動する（ステップＳ３１４）。
【００６６】
次に、中ドット交換処理を行う（ステップＳ３１６）。ここでも注目画素○から見て右、右上、右下（楕円で囲まれた画素）の３画素の中から、ドットサイズ中の画素を探索する。（ステップＳ９７８）その結果、３画素のなかにはドットサイズ中の画素は無いため、ステップＳ９６８ではＮｏと判定され、中ドット交換処理を終了する。
【００６７】
再び図１２の上側凸処理に戻り、ステップＳ３１８にてｉの値を１つ増加させる。その結果ｉには４が代入される。次にｉの値がｎｕｍ１×２／３つまり４よりも小さいか否かを判定し、Ｎｏと判定される（ステップＳ３２０）。
次いで、ｎｕｍ２の値が２を超えるか否かが判定される（ステップＳ３２２）ここでｎｕｍ２には６が代入されているため、Ｙｅｓと判定される。
ここではＹｅｓと判定されたが、Ｎｏと判定された（ｎｕｍ２が２を超えない）場合は、階段状変化部を構成する画素が少ないため、マッチしたパターンの下行の非白画素にのみ、後述する相対大ドット交換処理を実行する。
【００６８】
ついでｉには０が代入される（ステップＳ３２４）。
次に、注目画素○をマッチしたパターンの下行の非白画素（図８の状態１ｉにおいて○で示した画素）に移動する（ステップＳ３２６）。次に、相対大ドット交換処理を行う（ステップＳ３２８）。相対大ドット交換処理のフローを図１５に示す。この処理ではまず注目画素○が大ドットか否かの判定を行う（ステップＳ９８０）。出力バッファー３２の注目画素○の位置には大ドット（Ｌ）がすでに記録されているため、判定はＹｅｓとなり、この相対大ドット処理を終了する。
【００６９】
再び図１２の上側凸処理に戻り、ステップＳ３３０にてｉの値を１つ増加させる。その結果ｉには１が代入される。次にｉの値がｎｕｍ１／３つまり２よりも小さいか否かを判定し、Ｙｅｓと判定される（ステップＳ３３２）。次に、注目画素○をマッチしたパターンの下行の非白画素から下側１番目の画素（図８の状態１ｊにおいて○で示した画素）に移動する（ステップＳ３２６）。
【００７０】
次に、相対大ドット交換処理を行う（ステップＳ３２８）。この処理では注目画素○が大ドットか否かの判定を行う（ステップＳ９８０）。出力バッファー３２の注目画素○の位置には大ドット（Ｌ）がすでに記録されているため、判定はＹｅｓとなり、この相対大ドット処理は終了する。
【００７１】
再び図１２の上側凸処理に戻り、ステップＳ３３０にてｉの値を１つ増加させる。その結果ｉには２が代入される。次にｉの値がｎｕｍ１／３つまり２よりも小さいか否かを判定し、Ｎｏと判定される（ステップＳ３３２）。以上で上側凸処理が終了し、図１１の縦方向ドットサイズ交換処理のシアンに対する上側凸処理（ステップＳ２２０）が終了する。
【００７２】
続いて、シアンと同様の上側凸処理をマゼンタのドットパターン（ステップＳ２２２）、イエローのドットパターン（ステップＳ２２４）、ブラックのドットパターン（ステップＳ２２６）に対しても行い、縦方向のドットサイズ交換処理が終了する。
【００７３】
再び、図２の処理フローに戻り、注目画素×が画像の右端か否かの判定（ステップＳ１２８：Ｙｅｓ）および下端か否かの判定（ステップＳ１３０：Ｎｏ）を行い、注目画素を一ライン下の左端に移動した（ステップＳ１３４）のち、パターンマッチング処理（ステップＳ１２０およびステップＳ１２２）を行う。
【００７４】
上述の処理が繰り返され、注目画素×が図１６の状態１ｋに示す位置まで移動した場合の処理について説明する。
ステップＳ１２０において階段状変化判定部２３は、「縦斜め線用４パターンマッチング」処理を実行する。その結果、図９一番右のパターンにマッチすると判定される。このパターンの方向係数は−１である。「パターンあり」と判定されたため、ドットサイズ交換処理部２５は「縦方向ドットサイズ交換処理」（図２のステップＳ１２４）を実行する。
【００７５】
「縦方向ドットサイズ交換処理」（図１１）のステップＳ２０２においてＣＰＵ１１０はマッチしたパターンの中央列の下側画素が白色か否かを判定する。このパターンでは中央列の上側画素が白色であるため、Ｎｏと判定される。
次いでＣＰＵ１１０は階段状変化部から下方向に伸びる直線エッジの長さをカウントする（ステップＳ２０４）。ここで、下方向には６画素が直線エッジを形成しているため、ｎｕｍ１には値６が代入される。続いて、ＣＰＵ１１０は階段状変化部から上方向に延びる直線エッジの長さをカウントする（ステップＳ２０６）。上方向には６画素が直線エッジを形成しているため、ｎｕｍ２には値６が代入される。
【００７６】
引き続き、ＣＰＵ１１０は下側凸処理（シアン）を実行する（ステップＳ２０８）下側凸処理のフローを図１７に示す。下側凸処理においては、まずｎｕｍ１が２を超えるか否かを判定する（ステップＳ３５２）。ここでは、ｎｕｍ１＝６＞２のため、Ｙｅｓと判定される。ここではＹｅｓと判定されたが、Ｎｏと判定された（ｎｕｍ１が２を超えない）場合は、階段状変化部を形成する画素が少ないため、注目画素×に対してのみ、後述する相対小ドット交換処理を実行する。
【００７７】
次にＣＰＵ１１０は変数ｉに０を代入し初期化を行う（ステップＳ３５４）。次に、注目画素○をマッチしたパターンの中央列の非白画素に対応した画素（図１６の状態１ｌにおいて○で示した画素）に移動する。（ステップＳ３５６）。
次にドットサイズ交換処理部２５は相対小ドット交換処理（図１３）を行う（ステップＳ３５８）。相対小ドット交換処理では、まず出力バッファー３２の注目画素○に対応する位置のドットサイズが小ドットか否かを判定する（ステップＳ９０２）。注目画素○の位置のドットサイズはＳ（小）であるため、Ｙｅｓと判定される。よって相対小ドット交換処理を終了し、図１７の下側凸処理に戻る。
【００７８】
次いで、ｉの値を１つ増加させる（ステップＳ３６０）。その結果ｉには１が代入される。次に、ｉの値がｎｕｍ１／３つまり２よりも小さいか否かを判定し、Ｙｅｓと判定される（ステップＳ３６２）。次に、注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から下側１番目の画素（図１６の状態１ｍに示した○の画素）に移動する（ステップＳ３５６）。
【００７９】
次に、再び相対小ドット交換処理を行う（ステップＳ３５８）。注目画素○の位置に記録されたドットデータはＬ（大）であり、マッチパターンは縦方向、マッチパターンの方向係数は−１であるため、注目画素○および注目画素○から見て左、左上、左下（楕円で囲まれた画素）を含めた４画素のうちで、最もドットサイズが小さい画素を探索する（ステップＳ９１６）。ここでは、左の画素のドットサイズＳ（小）が最小と判定される。よって、ステップＳ９１２の判定結果はＮｏとなる。
次いで、出力バッファー３２に記録された注目画素○のドットデータＬと、左の画素のドットデータＳを交換する（ステップＳ９１９）。その結果、図１６の状態１ｎに示した状態となる。
【００８０】
再び、図１７の下側凸処理に戻る。ステップＳ３６０にてｉの値を１つ増加させる。その結果ｉには２が代入される。次に、ｉの値がｎｕｍ１／３つまり２よりも小さいか否かを判定し、Ｎｏと判定される（ステップＳ３６２）。次に注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から下側２番目の画素（図１６の状態１ｏにおいて○で示した画素）に移動する（ステップＳ３６４）。
【００８１】
次に、中ドット交換処理を行う（ステップＳ３６６）。
中ドット交換処理（図１４）ではまず出力バッファー３２の注目画素○に対応する位置のドットサイズが中ドットか否かを判定する（ステップＳ９６０）。注目画素○の位置のドットサイズはＭ（中）であるため、Ｙｅｓと判定される。よって中ドット交換処理を終了し、図１７の下側凸処理に戻る。
【００８２】
次に、ステップＳ３６８にてｉの値を１つ増加させる。その結果ｉには３が代入される。
次にｉの値がｎｕｍ１×２／３つまり４よりも小さいか否かを判定し、Ｙｅｓと判定される（ステップＳ３７０）。次に、注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から下側３番目の画素（図１６の状態１ｐにおいて○で示した画素）に移動する（ステップＳ３６４）。
【００８３】
次に、中ドット交換処理を行う（ステップＳ３６６）。
中ドット交換処理では、出力バッファー３２の注目画素○に対応する位置のドットサイズが中ドットか否かを判定する（図１４のステップＳ９６０）。注目画素○の位置のドットサイズはＭ（中）であるため、Ｙｅｓと判定される。よって中ドット交換処理を終了し、図１７の下側凸処理に戻る。
【００８４】
再び、ステップＳ３６８にてｉの値を１つ増加させる。その結果ｉには４が代入される。
次にｉの値がｎｕｍ１×２／３つまり４よりも小さいか否かを判定し、Ｎｏと判定される（ステップＳ３７０）。次いで、ｎｕｍ２の値が２を超えるか否かが判定される（ステップＳ３７２）。ここでｎｕｍ２には６が代入されているため、Ｙｅｓと判定される。ここではＹｅｓと判定されたが、Ｎｏと判定された（ｎｕｍ２が２を超えない）場合は、階段状変化部を形成する画素が少ないため、マッチしたパターンの上行の非白画素に対してのみ、後述する相対大ドット交換処理を実行する。
【００８５】
次いでｉには０が代入される（ステップＳ３７４）。
次に、注目画素○をマッチしたパターンの上行の非白画素（図１６の状態１ｑに示した○の画素）に移動する（ステップＳ３７６）。次に、相対大ドット交換処理を行う（ステップＳ３７８）。相対大ドット交換処理（図１５）ではまず注目画素○が大ドットか否かの判定を行う（ステップＳ９８０）。出力バッファー３２の注目画素○の位置には空白のドットが記録されているため、判定はＮｏとなる。
【００８６】
次いで、マッチパターンは縦方向か否かの判定が行われる（ステップＳ９８２）。この処理は縦斜め線用のパターンにマッチした結果実行されているため、Ｙｅｓと判定される。次に、マッチパターンの方向係数が１か否かの判定を行う（ステップＳ９９２）。ステップＳ１２０において、マッチパターンの方向係数は−１と判定されているため、ここではＮｏと判定される。次に、注目画素○および注目画素○から見て左、左上、左下（楕円で囲まれた画素）の４画素の中から、ドットサイズが最大の画素を探索する（ステップＳ９９４）。その結果、左下のＬ（大）ドットが最大と判定される。ここで注目画素が最大ではないため、ステップＳ９８８の判定結果はＮｏとなる。次いで、出力バッファー３２に記録された注目画素○のドットデータ空白と、左下の画素のドットデータＬを交換する（ステップＳ９９８）。その結果、図１６の状態１ｒに示した状態となる。
【００８７】
再び図１７の下側凸処理に戻り、ステップＳ３８０にてｉの値を１つ増加させる。その結果ｉには１が代入される。次にｉの値がｎｕｍ１／３つまり２よりも小さいか否かを判定し、Ｙｅｓと判定される（ステップＳ３８２）。次に、注目画素○をマッチしたパターンの上行の非白画素から上側１番目の画素（図１６の状態１ｓにおいて○で示した画素）に移動する（ステップＳ３７６）。
【００８８】
次に、相対大ドット交換処理を行う（ステップＳ３７８）。この処理では注目画素○が大ドットか否かの判定を行う（図１５のステップＳ９８０）。
出力バッファー３２の注目画素○の位置にはＭドットが記録されているため、判定はＮｏとなる。
次いで、マッチパターンは縦方向であり（ステップＳ９８２：Ｙｅｓ）、方向係数は−１と判定されているため（ステップＳ９９２：Ｎｏ）、次に、注目画素○および注目画素○から見て左、左上、左下（楕円で囲まれた画素）の４画素の中から、ドットサイズが最大の画素を探索する（ステップＳ９９４）。
その結果、注目画素○のＭ（中）ドットが最大と判定されるため、よって、ステップＳ９８８の判定結果はＹｅｓとなる。よってドットデータの交換処理を行わず、この相対大ドット交換処理は終了する。
【００８９】
再び図１７の下側凸処理に戻り、ステップＳ３８０にてｉの値を１つ増加させる。その結果ｉには２が代入される。次にｉの値がｎｕｍ１／３つまり２よりも小さいか否かを判定し、Ｎｏと判定される（ステップＳ３８２）。以上で下側凸処理が終了し、図１１の縦方向ドットサイズ交換処理のシアンに対する下側凸処理（ステップＳ２０８）が終了する。続いて、シアンと同様の下側凸処理をマゼンタのドットパターン（ステップＳ２１０）、イエローのドットパターン（ステップＳ２１２）、ブラックのドットパターン（ステップＳ２１４）に対しても行い、縦方向のドットサイズ交換処理が終了する。
【００９０】
再び、図２の処理フローに戻り、注目画素×が画像の右端か否かの判定（ステップＳ１２８：Ｙｅｓ）および下端か否かの判定（ステップＳ１３０：Ｎｏ）を行い、注目画素を一ライン下の左端に移動した（ステップＳ１３４）のち、パターンマッチング処理（ステップＳ１２０およびステップＳ１２２）を行う。
【００９１】
図１８の状態１ｔから状態１ａａは、入力画像の左下に存在する階段状変化部にパターンがマッチし、ドット交換処理が行われる状態遷移を示している。パターンマッチ処理およびドットデータ交換処理はマゼンタ、イエロー、ブラックの各色に対しても実行される。
【００９２】
図１９の状態図１ａｂから状態１ａｋは、入力画像の右下に存在する階段状変化部にパターンがマッチし、ドット交換処理が行われる状態遷移を示している。パターンマッチ処理およびドットデータ交換処理はマゼンタ、イエロー、ブラックの各色に対しても実行される。
【００９３】
そして全ての画素に対するパターンマッチ処理および全ての色成分に対するドットデータの交換処理が終了すると、ラスタライズ処理部２６は、出力バッファー３２に記録された各印刷画素におけるドットの形成状態に基づきドットデータを生成すると共に、ドットデータをプリンター２００に転送すべき順序に並び替え、プリンター２００に印刷データを送信する。
【００９４】
以上の説明では、垂直に近い角度の斜め線に対する処理を説明したが、水平に近い角度の斜め線に対しては、横斜め線用のパターンがマッチし、横方向ドットサイズ交換処理が行われる。横方向ドットサイズ交換処理のフローを図２０に示す。
また、水平に近い角度の斜め線に対しては、左側凸処理または右側凸処理が用いられる。それぞれの処理フローを図２１および図２２に示す。
左側凸処理および右側凸処理は、上側凸処理および下側凸処理と同様に、注目画素近傍から所定のドットデータを探索し、見つかった場合はドットデータを交換する処理である。詳細な説明は省略する。
【００９５】
以上のように構成されたドットデータ交換処理により、斜線を形成する画素のうち、階段状変化部（段差部）の凸部を形成し、斜線からはみ出して見えやすい画素に対しては、ドットデータをより小さいドットに交換する。一方、階段状変化部（段差部）の凹部を形成し、斜線からへこんで見えやすい画素に対しては、ドットデータをより大きなドットに交換する。
以上のドット交換を行うことにより、段差（ジャギー）が知覚されにくい、きれいな斜線の印刷を行わせることができる。
【００９６】
また、階段状変化部（段差部）のドットデータを近傍の画素のドットデータと交換する処理を行っているため、交換処理の前後では、局所的にも、画像全体でも印刷に使用される色材（インクなど）の量は変化しない。すなわち、印刷対象画像の色みや階調性を維持したまま、斜線部分のジャギーの発生を抑えた、高品位な印刷を行うことができる効果を奏する。
【００９７】
ドットデータ交換処理後のドット色シアンのドットパターンを図２３に示す。
図２３（ａ）はドットサイズをＳ，Ｍ，Ｌ（小、中、大）の記号で示した図を、図２３（ｂ）は黒丸の大きさでドットサイズを示した図を示している。
図２３（ｂ）において、縞のパターンおよび点線の四角で示したドットデータは、ドットデータ交換処理によって位置が変化したドットデータを示している。
ハーフトーン処理後のドットデータ（図７（ｂ））と比較してドットデータ交換処理後のデータ（図２３（ｂ））は段差（ジャギー）が知覚されにくいパターンとなっている。
【００９８】
Ｄ．第２実施例
本発明の第２実施例について説明する。第２実施例における印刷システムは、第１実施例における印刷システムと比較して、ハードウェア構成は同一であり、ソフトウェア構成の一部が相違するだけである。第１実施例は、比較的濃い色の入力画像を対象として説明したが、第２実施例は、より淡い色に対しても効果がある構成となっている。第２実施例において、ドット形成状態の決定処理の流れを示すフロー（図２）は第１実施例におけるドット形成状態の決定処理の流れと同一である。
【００９９】
第２実施例では、第１実施例と同様に、入力画像に対して色変換処理（図２のステップＳ１０６）およびハーフトーン処理（ステップＳ１０８）が実行され、ドットの形成状態が仮決定される。第１実施例においては、解像度変換処理後の印刷対象画像（図３）では、線画ＡはＲＧＢの各値が（６４，２５５，２５５）で示される色を持っていた。第２実施例では、ＲＧＢの各値が（１４０，２５５，２５５）で示される、より淡いシアン色である線画Ｂを対象として説明する。
【０１００】
第２実施例における入力画像を図２４に示す。第２実施例における線画Ｂの画素は、ＲＧＢの各値が（１４０，２５５，２５５）であり、色変換処理ステップＳ１０６により、ＣＭＹＫで示すデータ（４１％，０％，０％，０％）に変換される。また、ステップＳ１０８のハーフトーン処理では、各画素に対応する閾値との比較により、ドットの形成状態が仮決定される。全ての画素についてドット形成状態が仮決定され、出力バッファー３２に記録されたドットパターンを図２５に示す。図２５（ａ）はドットサイズをＳ，Ｍ，Ｌ（小、中、大）の記号で表した図であり、図２５（ｂ）は黒丸の大きさでドットサイズを表した図である。
【０１０１】
ハーフトーン処理によって画像全体、あるいはバンド内のドット形成状態が仮決定された後、ＣＰＵ１１０は、印刷対象画像４０における左上の画素を再び注目画素として設定する（図２のステップＳ１１８）。
【０１０２】
図２６と図３１、及び図３４は、注目画素の位置と出力バッファー３２の状態とを対応付けて示す説明図である。
図２６に示した状態２ａは、印刷対象画像４０における左上の画素が注目画素×として設定されたときの状態を示している。図２６の状態２ａにおいて、注目画素×に対応したパターンマッチング処理が終了すると、注目画素×に対する右端判定および下端判定が行われ、注目画素×が１画素分右あるいは１ライン下の画像左端に移動されることになる。
上述のパターンマッチング処理および移動処理が繰り返され、注目画素×が図２６の状態２ｂに示す位置まで移動した場合の処理について説明する。
【０１０３】
図２のステップＳ１２０において階段状変化判定部２３は、注目画素について「縦斜め線用４パターンマッチング」処理を実行する。その結果、図９に示すエッジパターンの内、一番左のパターンにマッチすると判定される。このパターンの方向係数は１である。「パターンあり」と判定されたため、ドットサイズ交換処理部２５は「縦方向ドットサイズ交換処理」（ステップＳ１２４）を実行する。
【０１０４】
第２実施例においては、入力画像の濃度に対応した「縦方向ドットサイズ交換処理」および、「横方向ドットサイズ交換処理」を行う。濃度に対応した「縦方向ドットサイズ交換処理」のフローを図２７に示す。
【０１０５】
図２７のステップＳ５０２においてＣＰＵ１１０はマッチしたパターンの中央列の下側画素が白色か否かを判定する。このパターンでは中央列の下側画素が白色であるため、Ｙｅｓと判定される。
次いでＣＰＵ１１０は階段状変化部から上方向に伸びる直線エッジの長さをカウントする（ステップＳ５３２）。ここで、上方向には６画素が直線エッジを形成しているため、ｎｕｍ１には値６が代入される。続いて、ＣＰＵ１１０は階段状変化部から下方向に延びる直線エッジの長さをカウントする（ステップＳ５３４）。下方向には６画素が直線エッジを形成しているため、ｎｕｍ２には値６が代入される。引き続き、ＣＰＵ１１０は注目画素×（マッチしたパターンの●で示した画素と同座標）のシアン成分の濃度があらかじめ決められた閾値Ｔｈ＿ｃよりも小さいか否かを判定する（ステップＳ５３６）。
ここで、あらかじめ決められた閾値Ｔｈ＿ｃは５０％であるとする。注目画素×のシアン成分の濃度は４１％であるため、判定の結果はＹｅｓとなり、ドットサイズ交換処理部２５は上側凸処理２を実行する（ステップＳ５４０）。
【０１０６】
上側凸処理２のフローを図２８に示す。上側凸処理２においては、まずｎｕｍ１が２を超えるか否かを判定する（ステップＳ７０２）。ここでは、ｎｕｍ１＝６＞２のため、Ｙｅｓと判定される。
ここではＹｅｓと判定されたが、Ｎｏと判定された（ｎｕｍ１が２を超えない）場合は、階段状変化部を形成する画素が少ないため、注目画素×に対してのみ、後述する空白含む相対小ドット交換処理を実行する。次にＣＰＵ１１０は変数ｉに０を代入し初期化を行う（ステップＳ７０４）。
次に、注目画素○をマッチしたパターンの中央列の非白画素（マッチパターン内の●で示した画素位置）に対応した画素（図２６の状態２ｃにおいて○で示した画素）に移動する。（ステップＳ７０６）。
次にドットサイズ交換処理部２５は空白含む相対小ドット交換処理を行う（ステップＳ７０８）。
【０１０７】
空白含む相対小ドット交換処理のフローを図２９に示す。空白含む相対小ドット交換処理ではまず出力バッファー３２の注目画素○に対応する位置のドットサイズが空白ドットか否かを判定する（ステップＳ９２０）。注目画素○の位置のドットサイズはＭ（中）であるため、Ｎｏと判定される。次いで、マッチパターンは縦方向か否かの判定が行われる（ステップＳ９２２）。この処理は縦斜め線用のパターンにマッチした結果実行されているため、Ｙｅｓと判定される。次に、マッチパターンの方向係数が１か否かの判定を行う（ステップＳ９３２）。ステップＳ１２０において、マッチパターンの方向係数は１と判定されているため、ここではＹｅｓと判定される。次に、注目画素○および、注目画素○から見て右、右上、右下（楕円で囲まれた画素）を含めた４画素の内で、最もドットサイズが小さい画素を探索する（ステップＳ９３６）。この処理では、ドットが打たれないことを示すデータも対象に含め、空白のドットデータを最小とみなして探索を行う。ここでは、右の画素のドットサイズＳ（小）が最小と判定される。よって、ステップＳ９３０の判定結果はＮｏとなる。次いで、出力バッファー３２に記録された注目画素○のドットデータＭと、右の画素のドットデータＳを交換する（ステップＳ９３８）。その結果、図２６の状態２ｄに示した状態となる。ここで交換の対象となった画素を太文字で表している。これで空白含む相対小ドット交換処理を終了し、図２８の上側凸処理２に戻る。
【０１０８】
次いで、ステップＳ７１０にてｉの値を１つ増加させる。その結果ｉには１が代入される。次に、ｉの値がｎｕｍ１／３つまり２よりも小さいか否かを判定し、Ｙｅｓと判定される（ステップＳ７１２）。次に、注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から上側１番目の画素（図２６の状態２ｅにおいて○で示した画素）に移動する（ステップＳ７０６）。次に、再び空白含む相対小ドット交換処理を行う（ステップＳ７０８）。この処理でも同様に注目画素○および注目画素○から見て右、右上、右下（楕円で囲まれた画素）を含めた４画素のうちで、最もドットサイズが小さい画素を探索する。（図２９のステップＳ９３６）ここでは、右上の画素の空白ドットが最小と判定される。よって、ステップＳ９３０の判定結果はＮｏとなる。
次いで、出力バッファー３２に記録された注目画素○のドットデータＬと、右上の画素の空白ドットデータを交換する。（ステップＳ９３８）その結果、図２６の状態２ｆに示した状態となる。
再び、図２８の上側凸処理２に戻る。ステップＳ７１０にてｉの値を１つ増加させる。その結果ｉには２が代入される。次に、ｉの値がｎｕｍ１／３つまり２よりも小さいか否かを判定し、Ｎｏと判定される。次に注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から上側２番目の画素（図２６の状態２ｇに示した○の画素）に移動する（ステップＳ７１４）。次に、小ドット交換処理を行う（ステップＳ７１６）。
【０１０９】
小ドット交換処理のフローを図３０に示す。小ドット交換処理ではまず出力バッファー３２の注目画素○に対応する位置のドットサイズが小ドットか否かを判定する（ステップＳ９４０）。注目画素○の位置のドットサイズは空白ドットであるため、Ｎｏと判定される。次いで、マッチパターンは縦方向か否かの判定が行われる（ステップＳ９４２）。この処理は縦斜め線用のパターンにマッチした結果実行されているため、Ｙｅｓと判定される。次に、マッチパターンの方向係数が１か否かの判定を行う（ステップＳ９５４）。ステップＳ１２０において、マッチパターンの方向係数は１と判定されているため、ここではＹｅｓと判定される。次に、注目画素○から見て右、右上、右下（楕円で囲まれた画素）の３画素の中から、ドットサイズ小の画素を探索する。（ステップＳ９５８）ここでは、右下の画素がＳドットと判定される（ステップＳ９４８：Ｙｅｓ）。次いで、出力バッファー３２に記録された注目画素○の空白ドットデータと、右下の画素のＳドットデータを交換する。（ステップＳ９５０）その結果、図２６の状態２ｈに示した状態となる。
【０１１０】
再び図２８の上側凸処理２に戻り、ステップＳ７１８にてｉの値を１つ増加させる。その結果ｉには３が代入される。次にｉの値がｎｕｍ１×２／３つまり４よりも小さいか否かを判定し、Ｙｅｓと判定される（ステップＳ７２０）。次に、注目画素をマッチしたパターンの中央列の非白画素に対応した画素から上側３番目の画素（図示せず）に移動する（ステップＳ７１４）。次に、小ドット交換処理を行う（ステップＳ７１６）。ここでも注目画素○から見て右、右上、右下（楕円で囲まれた画素）の３画素の中から、ドットサイズ小の画素を探索する（図３０のステップＳ９５８）。その結果、３画素の中にはドットサイズ小の画素は無いため、ステップＳ９４８においてＮｏと判定され、小ドット交換処理は終了する。
【０１１１】
再び図２８の上側凸処理２に戻り、ステップＳ７１８にてｉの値を１つ増加させる。その結果ｉには４が代入される。次にｉの値がｎｕｍ１×２／３つまり４よりも小さいか否かを判定し、Ｎｏと判定される（ステップＳ７２０）。次いで、ｎｕｍ２の値が２を超えるか否かが判定される（ステップ７２２）ここでｎｕｍ２には６が代入されているため、Ｙｅｓと判定される。
ここではＹｅｓと判定されたが、Ｎｏと判定された（ｎｕｍ２が２を超えない）場合は、階段状変化部を形成する画素が少ないため、注目画素×に対してのみ、相対大ドット交換処理を実行する。
ついでｉには０が代入される（ステップＳ７２４）。
【０１１２】
次に、注目画素○をマッチしたパターンの下行の非白画素（図２６の状態２ｉに示した○の画素）に移動する（ステップＳ７２６）。次に、相対大ドット交換処理を行う（ステップＳ７２８）。この処理ではまず注目画素○が大ドットか否かの判定を行う（図１５のステップＳ９８０）。出力バッファー３２の注目画素の位置には小ドット（Ｓ）が記録されているため、判定はＮｏとなる。次いで、マッチパターンは縦方向か否かの判定が行われる（ステップＳ９８２）。この処理は縦斜め線用のパターンにマッチした結果実行されているため、Ｙｅｓと判定される。次に、マッチパターンの方向係数が１か否かの判定を行う（ステップＳ９９２）。ステップＳ１２０において、マッチパターンの方向係数は１と判定されているため、ここではＹｅｓと判定される。次に、注目画素○および注目画素○から見て右、右上、右下（楕円で囲まれた画素）の４画素の中から、ドットサイズが最大の画素を探索する（ステップＳ９９６）。
その結果、右のＭ（中）ドットが最大と判定されるため、ステップＳ９８８の判定結果はＮｏとなる。次いで、出力バッファー３２に記録された注目画素○のドットデータＳと、右の画素のドットデータＭを交換する（ステップＳ９９８）。その結果、図２６の状態２ｊに示した状態となる。
【０１１３】
再び図２８の上側凸処理２に戻り、ステップＳ７３０にてｉの値を１つ増加させる。その結果ｉには１が代入される。次にｉの値がｎｕｍ１／３つまり２よりも小さいか否かを判定し、Ｙｅｓと判定される（ステップＳ７３２）。次に、注目画素をマッチしたパターンの下行の非白画素から下側１番目の画素（図３１の状態２ｋに示した○の画素）に移動する（ステップＳ７２６）。
次に、相対大ドット交換処理を行う（ステップＳ７２８）。この処理では注目画素○が大ドットか否かの判定を行う（図１５のステップＳ９８０）。出力バッファー３２の注目画素の位置には中ドット（Ｍ）が記録されているため、判定はＮｏとなる。次いで、マッチパターンは縦方向か否か（ステップＳ９８２：Ｙｅｓ）、マッチパターンの方向係数が１か否かの判定（ステップＳ９９２：Ｙｅｓ）が行われる。
次に、注目画素○および注目画素○から見て右、右上、右下（楕円で囲まれた画素）の４画素の中から、ドットサイズが最大の画素を探索する（ステップＳ９９６）。
その結果、注目画素○のＭ（中）ドットが最大と判定されるため（ステップＳ９８８）、ドットデータの交換処理は行わず、終了する。
【０１１４】
再び図２８の上側凸処理２に戻り、ステップＳ７３０にてｉの値を１つ増加させる。その結果ｉには２が代入される。次にｉの値がｎｕｍ１／３つまり２よりも小さいか否かを判定し、Ｎｏと判定される（ステップＳ７３２）。以上で上側凸処理２が終了し、図２７の縦方向ドットサイズ交換処理のシアンに対する上側凸処理２（ステップＳ５４０）が終了する。
【０１１５】
続いて、注目画素×のマゼンタ濃度の判定（ステップＳ５４２）およびその判定に応じた上側凸処理（ステップＳ５４４またはＳ５４６）、注目画素×のイエロー濃度の判定（ステップＳ５４８）およびその判定に応じた上側凸処理（ステップＳ５５０またはＳ５５２）、注目画素×のブラック濃度の判定（ステップＳ５５４）およびその判定に応じた上側凸処理（ステップＳ５５６またはＳ５５８）、が実行され、縦方向のドットサイズ交換処理が終了する。
【０１１６】
再び、図２の処理フローに戻り、注目画素×が画像の右端か否かの判定（ステップＳ１２８：Ｙｅｓ）および下端か否かの判定（ステップＳ１３０：Ｎｏ）を行い、注目画素を一ライン下の左端に移動した（ステップＳ１３４）のち、パターンマッチング処理（ステップＳ１２０およびステップＳ１２２）を行う。
【０１１７】
上述の処理が繰り返され、注目画素×が図３１の状態２ｌに示す位置まで移動した場合の処理について説明する。ステップＳ１２０において注目画素について階段状変化判定部２３は、「縦斜め線用４パターンマッチング」処理を実行する。その結果、図９のエッジパターンの内、一番右のパターンにマッチすると判定される。このパターンの方向係数は−１である。「パターンあり」と判定されたため、ドットサイズ交換処理部２５は図２７の「縦方向ドットサイズ交換処理」（ステップＳ１２４）を実行する。
【０１１８】
図２７のステップＳ５０２においてＣＰＵ１１０はパターンの中央列の下側画素が白色か否かを判定する。
このパターンでは中央列の上側画素が白色であるため、Ｎｏと判定される。次いでＣＰＵ１１０は階段状変化部から下方向に伸びる直線エッジの長さをカウントする（ステップＳ５０４）。ここで、下方向には６画素が直線エッジを形成しているため、ｎｕｍ１には値６が代入される。
続いて、ＣＰＵ１１０は階段状変化部から上方向に延びる直線エッジの長さをカウントする。（ステップＳ５０６）上方向には６画素が直線エッジを形成しているため、ｎｕｍ２には値６が代入される。
【０１１９】
引き続き、ＣＰＵ１１０は注目画素×（マッチしたパターンの●で示した画素と同座標）のシアン成分の濃度があらかじめ決められた閾値Ｔｈ＿ｃよりも小さいか否かを判定する（ステップＳ５０８）。
ここで、注目画素×のシアン成分の濃度は４１％であるため、判定の結果はＹｅｓとなり、ドットサイズ交換処理部２５は下側凸処理２を実行する（ステップＳ５１２）。
【０１２０】
下側凸処理２のフローを図３２に示す。下側凸処理２においては、まずｎｕｍ１が２を超えるか否かを判定する（ステップＳ７５２）。ここでは、ｎｕｍ１＝６＞２のため、Ｙｅｓと判定される。次にＣＰＵ１１０は変数ｉに０を代入し初期化を行う（ステップＳ７５４）。次に、注目画素をマッチしたパターンの中央列の非白画素に対応した画素（図３１の状態２ｍに示した○の画素）に移動する（ステップＳ７５６）。
【０１２１】
次にドットサイズ交換処理部２５は空白含む相対小ドット交換処理（図２９）を行う（ステップＳ７５８）。空白含む相対小ドット交換処理ではまず出力バッファー３２の注目画素○に対応する位置のドットサイズが空白ドットか否かを判定する（ステップＳ９２０）。注目画素○の位置のドットサイズは空白ドットであるため、Ｙｅｓと判定される。よって空白含む相対小ドット交換処理を終了し、図３２の下側凸処理２に戻る。
【０１２２】
次いでステップＳ７６０にてｉの値を１つ増加させる。その結果ｉには１が代入される。次に、ｉの値がｎｕｍ１／３つまり２よりも小さいか否かを判定し、Ｙｅｓと判定される（ステップＳ７６２）。次に、注目画素をマッチしたパターンの中央列の非白画素に対応した画素から下側１番目の画素（図３１の状態２ｎに示した○の画素）に移動する（ステップＳ７５６）。
【０１２３】
次に、再び空白含む相対小ドット交換処理を行う（ステップＳ７５８）。注目画素○に記録されたドットデータはＭ（中）であり（図２９のステップＳ９２０：Ｎｏ）、マッチパターンは縦方向（ステップＳ９２２：Ｙｅｓ）、マッチパターンの方向係数は−１であるため（ステップＳ９３２：Ｎｏ）、注目画素○および注目画素○から見て左、左上、左下（楕円で囲まれた画素）を含めた４画素のうちで、空白ドットを含めて、最もドットサイズが小さい画素を探索する（ステップＳ９３４）。ここでは、左の画素のドットサイズＳ（小）が最小と判定される。よって、ステップＳ９３０の判定結果はＮｏとなる。次いで、出力バッファー３２に記録された注目画素○のドットデータＭと、左の画素のドットデータＳを交換する（ステップＳ９３８）。その結果、図３１の状態２ｏに示した状態となる。
【０１２４】
再び、図３２の下側凸処理２に戻る。ステップＳ７６０にてｉの値を１つ増加させる。その結果ｉには２が代入される。次に、ｉの値がｎｕｍ１／３つまり２よりも小さいか否かを判定し、Ｎｏと判定される。次に注目画素をマッチしたパターンの中央列の非白画素に対応した画素から下側２番目の画素（図３１の状態２ｐに示した○の画素）に移動する（ステップＳ７６４）次に、小ドット交換処理を行う（ステップＳ７６６）。
【０１２５】
小ドット交換処理（図３０）では、まず出力バッファー３２の注目画素○に対応する位置のドットサイズが小ドットか否かを判定する（ステップＳ９４０）。注目画素○の位置のドットサイズはＳ（小）であるため、Ｙｅｓと判定される。よって小ドット交換処理を終了し、図３２の下側凸処理２に戻る。
【０１２６】
ステップＳ７６８にてｉの値を１つ増加させる。その結果ｉには３が代入される。次にｉの値がｎｕｍ１×２／３つまり４よりも小さいか否かを判定し、Ｙｅｓと判定される（ステップＳ７７０）。次に、注目画素をマッチしたパターンの中央列の非白画素に対応した画素から下側３番目の画素（図３１の状態２ｑに示した○の画素）に移動する（ステップＳ７６４）。
【０１２７】
次に、小ドット交換処理を行う（ステップＳ７６６）。小ドット交換処理では、出力バッファー３２の注目画素○に対応する位置のドットサイズが小ドットか否かを判定する（図３０のステップＳ９４０）。注目画素○の位置のドットサイズはＳ（小）であるため、Ｙｅｓと判定される。よって小ドット交換処理を終了し、図３２の下側凸処理２に戻る。
【０１２８】
ステップＳ７６８にてｉの値を１つ増加させる。その結果ｉには４が代入される。
次にｉの値がｎｕｍ１×２／３つまり４よりも小さいか否かを判定し、Ｎｏと判定される（ステップＳ７７０）。次いで、ｎｕｍ２の値が２を超えるか否かが判定される（ステップＳ７７２）。ここでｎｕｍ２には６が代入されているため、Ｙｅｓと判定される。ついでｉには０が代入される（ステップＳ７７４）。次に、注目画素をマッチしたパターンの上行の非白画素（図３１の状態２ｒに示した○の画素）に移動する（ステップＳ７７６）。
【０１２９】
次に、相対大ドット交換処理を行う（ステップＳ７７８）。相対大ドット交換処理（図１５）ではまず注目画素○が大ドットか否かの判定を行う（ステップＳ９８０）。出力バッファー３２の注目画素の位置には空白のドットが記録されているため、判定はＮｏとなる。次いで、マッチパターンは縦方向か否かの判定が行われる（ステップＳ９８２）。この処理は縦斜め線用のパターンにマッチした結果実行されているため、Ｙｅｓと判定される。次に、マッチパターンの方向係数が１か否かの判定を行う（ステップＳ９９２）。ステップＳ１２０において、マッチパターンの方向係数は−１と判定されているため、ここではＮｏと判定される。次に、注目画素○および注目画素○から見て左、左上、左下（楕円で囲まれた画素）の４画素の中から、ドットサイズが最大の画素を探索する（ステップＳ９９４）。
その結果、左下のＳ（小）ドットが最大と判定されるため、ステップＳ９８８の判定結果はＮｏとなる。次いで、出力バッファー３２に記録された注目画素○のドットデータ空白と、左下の画素のドットデータＳを交換する（ステップＳ９９８）。その結果、図３１の状態２ｓに示した状態となる。
【０１３０】
再び図３２の下側凸処理２に戻り、ステップＳ７８０にてｉの値を１つ増加させる。その結果ｉには１が代入される。次にｉの値がｎｕｍ１／３つまり２よりも小さいか否かを判定し、Ｙｅｓと判定される（ステップＳ７８２）。次に、注目画素をマッチしたパターンの上行の非白画素から上側１番目の画素（図示せず）に移動する（ステップＳ７７６）。
【０１３１】
次に、相対大ドット交換処理を行う（ステップＳ７７８）。この処理では注目画素○が大ドットか否かの判定を行う（ステップＳ９８０）。出力バッファー３２の注目画素の位置にはＳドットが記録されているため、判定はＮｏとなる。次いで、マッチパターンは縦方向であり（ステップＳ９８２：Ｙｅｓ）、方向係数は−１（ステップＳ９９２：Ｎｏ）と判定されているため、次に、注目画素○および注目画素○から見て左、左上、左下の４画素の中から、ドットサイズが最大の画素を探索する（ステップＳ９９４）。その結果、注目画素○のＳ（小）ドットが最大と判定されるため（ステップＳ９８８）、交換処理を行わず、この相対大ドット処理は終了する。
【０１３２】
再び図３２の下側凸処理２に戻り、ステップＳ７８０にてｉの値を１つ増加させる。その結果ｉには２が代入される。次にｉの値がｎｕｍ１／３つまり２よりも小さいか否かを判定し、Ｎｏと判定される（ステップＳ７８２）。以上で下側凸処理２が終了し、図２７の縦方向ドットサイズ交換処理のシアンに対する下側凸処理２（図２７のステップＳ５１２）が終了する。
【０１３３】
続いて、注目画素×のマゼンタ濃度の判定（ステップＳ５１４）およびその判定に応じた下側凸処理（ステップＳ５１６またはＳ５１８）、注目画素×のイエロー濃度の判定（ステップＳ５２０）およびその判定に応じた下側凸処理（ステップＳ５２２またはＳ５２４）、注目画素×のブラック濃度の判定（ステップＳ５２６）およびその判定に応じた下側凸処理（ステップＳ５２８またはＳ５３０）が実行され、縦方向のドットサイズ交換処理が終了する。
【０１３４】
再び、図２の処理フローに戻り、注目画素×が画像の右端か否かの判定（ステップＳ１２８）および下端か否かの判定（ステップＳ１３０）を行い、パターンマッチング処理（ステップＳ１２０およびステップＳ１２２）を行う。図３１の状態２ｔから図３３の状態２ａｂまでは、印刷対象画像４０の左下に存在する階段状変化部にパターンがマッチし、ドット交換処理が行われる状態遷移を示している。
同様の処理はマゼンタ、イエロー、ブラックの各色に対しても実行される。
【０１３５】
また、図３３の状態２ａｃから図３４の状態２ａｌまでは、入力画像の右下に存在する階段状変化部にパターンがマッチし、ドット交換処理が行われる状態遷移を示している。パターンマッチ処理およびドットデータ交換処理はマゼンタ、イエロー、ブラックの各色に対しても実行される。
【０１３６】
全ての画素に対するパターンマッチ処理および全ての色成分に対するドットデータの交換処理が終了すると、ラスタライズ処理部２６は、出力バッファー３２に記録された各印刷画素におけるドットの形成状態に基づきドットデータを生成すると共に、ドットデータをプリンター２００に転送すべき順序に並び替え、プリンターに印刷データを送信する。
【０１３７】
以上の説明では、垂直に近い角度の斜め線に対する処理を説明したが、水平に近い角度の斜め線に対しては、横斜め線用のパターンがマッチし、横方向ドットサイズ交換処理が行われる。横方向ドットサイズ交換処理のフローを図３５に示す。
また、淡い濃度かつ、水平に近い角度の斜め線に対しては、左側凸処理２または右側凸処理２が用いられるため、それぞれの処理フローを図３６および図３７に示す。
左側凸処理２および右側凸処理２は上側凸処理２および下側凸処理２と同様に、注目画素近傍から所定のドットデータを探索し、見つかった場合はドットデータを交換する処理である。詳細な説明は省略する。
【０１３８】
ハーフトーン処理の特徴として、濃度が低い（淡い）印刷対象画像に対しては、濃度が高い（濃い）印刷対象画像よりも、より小さいドットが生成され易い。そのため、濃度が低い印刷対象画像の場合は、第１実施例の構成のように、斜線からはみ出して見え易い画素位置のドットの近傍画素に対して小ドット及び中ドットを探索しても、空白ドットまたは小ドット等のより小さいドットしか存在せず、見つからない場合があり得る。
【０１３９】
以上説明した第２実施例では、斜線を形成する階段状変化部（段差部）の凸部の画素濃度が所定の値よりも低い場合は、斜線からはみ出して見えやすい画素位置のドットデータを第１実施例よりもさらに１段小さい、空白も含めたドットに交換することで、段差（ジャギー）が知覚されにくい、きれいな斜線の印刷を行わせることができる効果がある。
【０１４０】
また、第１実施例と同様に、階段状変化部（段差部）のドットデータを近傍の画素のドットデータと交換する処理を行っているため、交換処理の前後では、局所的にも、画像全体でも印刷に使用されるインク量が変化しない。すなわち、印刷対象画像の色みや階調性を維持したまま、斜線部分のジャギーの発生を抑えた、高品位な印刷を行わせることができる効果を奏する。
【０１４１】
ドットデータ交換処理後のドット色シアンのドットパターンを図３８に示す。
図３８（ａ）はドットサイズをＳ，Ｍ，Ｌ（小、中、大）の記号で表した図である。図３８（ｂ）は黒丸の大きさでドットサイズを表した図である。図３８（ｂ）において、縞のパターンおよび点線の四角で示したドットデータは、ドットデータ交換処理によって位置が変化したドットデータを示している。ハーフトーン処理後のドットデータ（図２５（ｂ））と比較して、ドットデータ交換処理後のデータ（図３８（ｂ））は段差（ジャギー）が知覚されにくいパターンとなっていることがわかる。
【０１４２】
（変形例１）
第１実施例および第２実施例では、ＲＧＢデータに対して階段状変化部の判定を行ったが、色変換後のＣＭＹＫデータに対して階段状変化部の判定を行い、それぞれの判定結果に応じて、色別にドットサイズ交換処理を行うようにしても良い。
【０１４３】
（変形例２）
第１実施例および第２実施例の説明では階段状変化部（段差部）の注目画素×と、ドットデータ交換の対象となる注目画素○は隣接していたが、注目画素○は注目画素×と隣接していなくとも良い。すなわち、注目画素×からみて、より離れた位置の画素を注目画素○として設定し、ドットデータの交換処理を実施しても良い。
【図面の簡単な説明】
【０１４４】
【図１】本発明の一実施例における印刷システムの構成を概略的に示す説明図。
【図２】ドット形成状態の決定処理の流れを示すフローチャート。
【図３】解像度変換処理後の印刷対象画像の一例を示す説明図。
【図４】出力バッファーの構成を示す説明図。
【図５】ハーフトーン処理後の印刷対象画像の一例を示す説明図。
【図６】色変換後のシアン成分のパターンを示す説明図。
【図７】ハーフトーン処理後のシアン成分のドットパターンを示す説明図。
【図８】ドットサイズ交換処理の状態遷移を示す説明図。
【図９】縦斜め線検出用エッジパターンを示す説明図。
【図１０】横斜め線検出用エッジパターンを示す説明図。
【図１１】縦方向ドットサイズ交換処理のフローを示す図。
【図１２】上側凸処理のフローを示す図。
【図１３】相対小ドット交換処理のフローを示す図。
【図１４】中ドット交換処理のフローを示す図。
【図１５】相対大ドット交換処理のフローを示す図。
【図１６】ドットサイズ交換処理の状態遷移を示す図。
【図１７】下側凸処理のフローを示す図。
【図１８】ドットサイズ交換処理の状態遷移を示す図。
【図１９】ドットサイズ交換処理の状態遷移を示す図。
【図２０】横方向ドットサイズ交換処理のフローを示す図。
【図２１】左側凸処理のフローを示す図。
【図２２】右側凸処理のフローを示す図。
【図２３】ドット交換処理後のドットパターンを示す図。
【図２４】淡い入力画像に対する、色変換後のシアン成分パターンを示す図。
【図２５】淡い入力画像に対する、ハーフトーン処理後のシアン成分のドットパターンを示す説明図。
【図２６】淡い入力画像に対するドット交換処理の状態遷移を示す図。
【図２７】濃度対応縦ドットサイズ交換処理のフローを示す図。
【図２８】上側凸処理のフローを示す図。
【図２９】空白含む相対小ドット交換処理のフローを示す図。
【図３０】小ドット交換処理のフローを示す図。
【図３１】淡い入力画像に対するドット交換処理の状態遷移を示す図。
【図３２】下側凸処理のフローを示す図。
【図３３】淡い入力画像に対するドット交換処理の状態遷移を示す図。
【図３４】淡い入力画像に対するドット交換処理の状態遷移を示す図。
【図３５】濃度対応横ドットサイズ交換処理のフローを示す図。
【図３６】左側凸処理のフローを示す図。
【図３７】右側凸処理のフローを示す図。
【図３８】淡い入力画像に対するドット交換処理後のドットパターンを示す図。
【符号の説明】
【０１４５】
１０…アプリケーションプログラム、２０…プリンタードライバー、２１…解像度変換処理部、２２…色変換処理部、２３…階段状変化判定部、２４…ハーフトーン処理部、２５…ドットサイズ交換処理部、２６…ラスタライズ処理部、３２…出力バッファー、４０…印刷対象画像、１００…パーソナルコンピューター、１１０…ＣＰＵ、１２０…メモリー、１３０…入出力インターフェイス部、２００…プリンター、２１０…ＣＰＵ、２２０…メモリー、２３０…入出力インターフェイス部、２４０…ユニット制御回路、２５０…ヘッドユニット、２６０…キャリッジユニット、２７０…搬送ユニット、１０００…印刷システム。
【図１】
2010183326.tif 000003
【図２】
2010183326.tif 000004
【図３】
2010183326.tif 000005
【図４】
2010183326.tif 000006
【図５】
2010183326.tif 000007
【図６】
2010183326.tif 000008
【図７】
2010183326.tif 000009
【図８】
2010183326.tif 000010
【図９】
2010183326.tif 000011
【図１０】
2010183326.tif 000012
【図１１】
2010183326.tif 000013
【図１２】
2010183326.tif 000014
【図１３】
2010183326.tif 000015
【図１４】
2010183326.tif 000016
【図１５】
2010183326.tif 000017
【図１６】
2010183326.tif 000018
【図１７】
2010183326.tif 000019
【図１８】
2010183326.tif 000020
【図１９】
2010183326.tif 000021
【図２０】
2010183326.tif 000022
【図２１】
2010183326.tif 000023
【図２２】
2010183326.tif 000024
【図２３】
2010183326.tif 000025
【図２４】
2010183326.tif 000026
【図２５】
2010183326.tif 000027
【図２６】
2010183326.tif 000028
【図２７】
2010183326.tif 000029
【図２８】
2010183326.tif 000030
【図２９】
2010183326.tif 000031
【図３０】
2010183326.tif 000032
【図３１】
2010183326.tif 000033
【図３２】
2010183326.tif 000034
【図３３】
2010183326.tif 000035
【図３４】
2010183326.tif 000036
【図３５】
2010183326.tif 000037
【図３６】
2010183326.tif 000038
【図３７】
2010183326.tif 000039
【図３８】
2010183326.tif 000040