(57)【特許請求の範囲】
【請求項１】
画像処理装置であって、
第１種の画素と第２種の画素を含む元画像を表す元画像データを取得する取得部と、
前記元画像データに対して拡大処理を実行して、前記元画像を第１の方向に拡大した拡大画像を表す拡大画像データを生成する拡大処理部と、
を備え、
前記拡大処理部は、
前記元画像内に前記第１種の画素と前記第２種の画素とによって構成される特定パターンが含まれる場合に、前記拡大画像内の前記第１の方向と交差する第２の方向に延びる画素群を選択する画素群選択部であって、前記拡大画像内の前記画素群は、前記元画像内の特定画素に対応する対応特定画素と、前記対応特定画素の前記第２の方向に位置する画素と、を含み、前記元画像内の前記特定画素は、前記特定パターンを構成する特定の前記第１種の画素に対応する画素であり、前記拡大画像内の前記画素群を構成する画素の数は、第１の連続数と第２の連続数とに応じた数であり、前記第１の連続数は、前記元画像において前記特定画素から前記第２の方向に向かって第１のパターンが連続する数であり、前記第２の連続数は、前記元画像において前記特定画素から前記第２の方向の反対方向に向かって第２のパターンが連続する数であり、前記第１のパターンは、前記特定パターンのうち、前記第２の方向の側の一部に基づくパターンであり、前記第２のパターンは、前記特定パターンのうち、前記第２の方向の前記反対方向の側の一部に基づくパターンである、前記画素群選択部と、
前記拡大画像内の前記画素群のうち、前記第１の方向において前記第２種の画素に隣接する画素を、前記第２種の画素に設定する設定部と、
を備える、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記第１のパターンは、前記第１種の画素である第１の中央画素と、前記第１の中央画素に対して前記第１の方向に隣接する前記第１種の画素である第１隣接画素と、前記第１の中央画素に対して前記第１の方向の反対方向に隣接する前記第２種の画素である第２隣接画素と、を含むパターンであり、
前記第２のパターンは、前記第２種の画素である第２の中央画素と、前記第２の中央画素に対して前記第１の方向に隣接する前記第１種の画素である第３隣接画素と、を含むパターンであり、
前記第１の中央画素の前記第１の方向の位置と、前記第２の中央画素の前記第１の方向の位置とは、前記元画像内の前記特定画素の前記第１の方向の位置と同じである、画像処理装置。
【請求項３】
請求項１または請求項２に記載の画像処理装置であって、
前記第１のパターンは、前記特定パターンの一部である第１部分パターンであり、
前記第２のパターンは、前記特定パターンの一部であり、前記第１部分パターンと異なる第２部分パターンである、画像処理装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の画像処理装置であって、
前記特定パターンは、前記特定画素に対して前記第２の方向に隣接する第１部分パターンと、前記特定画素に対して前記第２の方向の反対方向に隣接する第２部分パターンと、を含み、
前記第１部分パターンは、前記特定画素に対して前記第２の方向に隣接する中央画素と、前記中央画素に対して前記第１の方向に隣接する前記第１種の画素である第１周辺画素と、前記中央画素に対して前記第１の方向の反対方向に隣接する前記第２種の画素である第２周辺画素と、を含むパターンであり、
前記第２部分パターンは、前記特定画素に対して前記第２の方向の反対方向に隣接する前記第２種の画素である第３周辺画素と、前記第３周辺画素に対して前記第１の方向に隣接する前記第１種の画素である第４周辺画素と、を含むパターンである、画像処理装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の画像処理装置であって、
前記拡大処理部は、
前記第１の連続数が前記第２の連続数より多い場合には、前記画素群を構成する画素の数を、前記第２の連続数を用いて決定し、前記第１の連続数が前記第２の連続数より小さい場合には、前記画素群を構成する画素の数を、前記第１の連続数を用いて決定する決定部を備える、画像処理装置。
【請求項６】
請求項１ないし請求項５のいずれかに記載の画像処理装置であって、
前記拡大処理部は、前記元画像を構成する複数の画素の中から順次に対象画素を選択する対象画素選択部を備え、
前記拡大処理部は、前記対象画素が選択される度に、第１処理と第２処理とを含む複数の処理のうちのいずれかを実行することによって、前記拡大画像データを生成し、
前記第１処理は、前記対象画素が前記特定画素を含む場合に実行される処理であって、前記画素群選択部による前記画素群の選択と、前記設定部による前記画素群を構成する画素の設定と、を含む処理であり、
前記第２処理は、前記対象画素が前記特定画素を含まない場合に実行される処理であって、前記画素群選択部による前記画素群の選択と、前記設定部による前記画素群を構成する画素の設定と、を含まない処理である、画像処理装置。
【請求項７】
請求項１ないし請求項６のいずれかに記載の画像処理装置であって、
前記拡大処理部は、歪みのない前記元画像に対して前記拡大処理を実行して、歪みのある前記拡大画像を表す前記拡大画像データを生成し、
前記画像処理装置は、ドット画像を印刷する印刷実行部のための装置であり、
前記画像処理装置は、さらに、
前記拡大処理部によって生成された歪みのある前記拡大画像を表す前記拡大画像データに対して、画素毎にドットの形成状態を表すドットデータを生成するハーフトーン処理を実行して、歪みのある歪ドット画像を表す歪ドットデータを生成するハーフトーン処理部と、
前記歪ドットデータに対して前記拡大処理とは異なる処理を実行して、前記歪ドット画像を少なくとも前記第２の方向に拡大した歪みのない無歪ドット画像を表す無歪ドットデータを生成するドット画像拡大部と、
を備える、画像処理装置。
【請求項８】
請求項７に記載の画像処理装置であって、
前記無歪ドット画像は、同一行の組を複数個含み、
前記同一行の組は、前記無歪ドット画像を構成する前記第１の方向に沿った複数の行のうち、互いに隣接するとともに、各構成画素のドットの形成状態が互いに同一である２以上の行を含む組であり、
前記無歪ドットデータは、前記同一行の組を表す圧縮データを含み、
前記圧縮データは、１つの代表行を表す代表行データと、前記代表行データが繰り返されることを示すデータと、を含む、画像処理装置。
【請求項９】
請求項１ないし請求項８のいずれかに記載の画像処理装置であって、
前記拡大処理部は、前記元画像において前記特定パターンを検出する検出部を備え、
前記拡大処理部は、検出された前記特定パターンについて、前記画素群選択部による前記画素群の選択と、前記設定部による前記画素群を構成する画素の設定と、を実行する、画像処理装置。
【請求項１０】
請求項１ないし請求項８のいずれかに記載の画像処理装置であって、
前記拡大処理部は、前記拡大画像において、前記元画像の前記特定パターンに対応する対応特定パターンを検出する検出部を備え、
前記拡大処理部は、検出された前記対応特定パターンについて、前記画素群選択部による前記画素群の選択と、前記設定部による前記画素群を構成する画素の設定と、を実行する、画像処理装置。
【請求項１１】
画像処理プログラムであって、
第１種の画素と第２種の画素を含む元画像を表す元画像データを取得する取得機能と、
前記元画像データに対して拡大処理を実行して、前記元画像を第１の方向に拡大した拡大画像を表す拡大画像データを生成する拡大処理機能と、
をコンピュータに実現させ、
前記拡大処理機能は、
前記元画像内に前記第１種の画素と前記第２種の画素とによって構成される特定パターンが含まれる場合に、前記拡大画像内の前記第１の方向と交差する第２の方向に延びる画素群を選択する画素群選択機能であって、前記拡大画像内の前記画素群は、前記元画像内の特定画素に対応する対応特定画素と、前記対応特定画素の前記第２の方向に位置する画素と、を含み、前記元画像内の前記特定画素は、前記特定パターンを構成する特定の前記第１種の画素に対応する画素であり、前記拡大画像内の前記画素群を構成する画素の数は、第１の連続数と第２の連続数とに応じた数であり、前記第１の連続数は、前記元画像において前記特定画素から前記第２の方向に向かって第１のパターンが連続する数であり、前記第２の連続数は、前記元画像において前記特定画素から前記第２の方向の反対方向に向かって第２のパターンが連続する数であり、前記第１のパターンは、前記特定パターンのうち、前記第２の方向の側の一部に基づくパターンであり、前記第２のパターンは、前記特定パターンのうち、前記第２の方向の前記反対方向の側の一部に基づくパターンである、前記画素群選択機能と、
前記拡大画像内の前記画素群のうち、前記第１の方向において前記第２種の画素に隣接する画素を、前記第２種の画素に設定する設定機能と、
を備える、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡大処理を含む画像処理に関する。
【背景技術】
【０００２】
画像処理装置は、元画像を表す元画像データを用いて、元画像の大きさを拡大する拡大処理を実行して、拡大画像データを生成することがある。例えば、印刷を行う際に、当該拡大処理を実行すれば、元画像が比較的小さい場合であっても、比較的大きな印刷画像を印刷することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−２５８２５５号公報
【特許文献２】特開２００３−３１９１８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、拡大処理を行うと、拡大画像において、エッジの見栄えが損なわれる場合があった。例えば、元画像を横方向に２倍に拡大した拡大画像では、元画像における横方向の１画素分の段差が、２画素分の段差になるので、当該段差を含むエッジは、がたつきが目立つ場合があった。
【０００５】
本発明の主な利点は、拡大処理後の拡大画像におけるエッジの見栄えを向上することである。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【０００７】
［適用例１］第１種の画素と第２種の画素を含む元画像を表す元画像データであって、前記第１種の画素の色と前記第２種の画素の色との色差は特定基準値以上である、前記元画像データを取得する取得部と、元画像データに対して拡大処理を実行して、前記元画像を第１の方向に拡大した拡大画像を表す拡大画像データを生成する拡大処理部と、を備え、前記拡大処理部は、前記元画像内に前記第１種の画素と前記第２種の画素とによって構成される特定パターンが含まれる場合に、前記拡大画像内の前記第１の方向と交差する第２の方向に延びる画素群を選択する画素群選択部であって、前記拡大画像内の前記画素群は、前記元画像内の特定画素に対応する対応特定画素と、前記対応特定画素の前記第２の方向に位置する画素と、を含み、前記元画像内の前記特定画素は、前記特定パターンを構成する特定の前記第１種の画素に対応する画素であり、前記拡大画像内の前記画素群を構成する画素の数は、第１の連続数と第２の連続数とに応じた数であり、前記第１の連続数は、前記元画像において前記特定画素から前記第２の方向に向かって第１のパターンが連続する数であり、前記第２の連続数は、前記元画像において前記特定画素から前記第２の方向の反対方向に向かって第２のパターンが連続する数である、前記画素群選択部と、前記拡大画像内の前記画素群を構成する画素を、前記第２種の画素に設定する設定部と、を備える、画像処理装置。
【０００８】
上記構成によれば、元画像の特定パターンを構成する第１種の画素である特定画素に対応する画素を含む拡大画像の画素群を選択し、選択された画素群を第２種の画素に設定する。画素群を構成する画素の数は、第１の連続数と第２の連続数とに応じた数である。この結果、元画像の特定パターンの周囲の画像を考慮して、特定パターンに対応する拡大画像のエッジの見栄えを向上することができる。
【０００９】
［適用例２］適用例１に記載の画像処理装置であって、前記第１のパターンは、前記第１種の画素である第１の中央画素と、前記第１の中央画素に対して前記第１の方向に隣接する前記第１種の画素である第１隣接画素と、前記第１の中央画素に対して前記第１の方向の反対方向に隣接する前記第２種の画素である第２隣接画素と、を含むパターンであり、前記第２のパターンは、前記第２種の画素である第２の中央画素と、前記第２の中央画素に対して前記第１の方向に隣接する前記第１種の画素である第３隣接画素と、を含むパターンであり、前記第１の中央画素の前記第１の方向の位置と、前記第２の中央画素の前記第１の方向の位置とは、前記元画像内の前記特定画素の前記第１の方向の位置と同じである、画像処理装置。
上記構成によれば、画素群を構成する画素の数を適切に定めることができる。
【００１０】
［適用例３］適用例１または適用例２に記載の画像処理装置であって、前記第１のパターンは、前記特定パターンの一部である第１部分パターンであり、前記第２のパターンは、前記特定パターンの一部であり、前記第１部分パターンと異なる第２部分パターンである、画像処理装置。
上記構成によれば、見栄えを向上するべきエッジを適切に選んで、当該エッジの見栄えを向上することができる。
【００１１】
［適用例４］適用例１ないし適用例３のいずれかに記載の画像処理装置であって、前記特定パターンは、前記特定画素に対して前記第２の方向に隣接する第１部分パターンと、前記特定画素に対して前記第２の方向の反対方向に隣接する第２部分パターンと、を含み、前記第１部分パターンは、前記特定画素に対して前記第２の方向に隣接する中央画素と、前記中央画素に対して前記第１の方向に隣接する前記第１種の画素である第１周辺画素と、前記中央画素に対して前記第１の方向の反対方向に隣接する前記第２種の画素である第２周辺画素と、を含むパターンであり、前記第２部分パターンは、前記特定画素に対して前記第２の方向の反対方向に隣接する前記第２種の画素である第３周辺画素と、前記第３周辺画素に対して前記第１の方向に隣接する前記第１種の画素である第４周辺画素と、を含むパターンである、画像処理装置。
上記構成によれば、見栄えを向上するべきエッジを適切に選んで、当該エッジの見栄えを向上することができる。
【００１２】
［適用例５］適用例１ないし適用例４のいずれかに記載の画像処理装置であって、前記拡大処理部は、前記第１の連続数が前記第２の連続数より多い場合には、前記画素群を構成する画素の数を、前記第２の連続数を用いて決定し、前記第１の連続数が前記第２の連続数より小さい場合には、前記画素群を構成する画素の数を、前記第１の連続数を用いて決定する決定部を備える、画像処理装置。
上記構成によれば、画素群を構成する画素の数を適切に決定することができる。
【００１３】
［適用例６］適用例１ないし適用例５のいずれかに記載の画像処理装置であって、前記拡大処理部は、前記元画像を構成する複数の画素の中から順次に対象画素を選択する対象画素選択部を備え、前記拡大処理部は、前記対象画素が選択される度に、第１処理と第２処理とを含む複数の処理のうちのいずれかを実行することによって、前記拡大画像データを生成し、前記第１処理は、前記対象画素が前記特定画素を含む場合に実行される処理であって、前記画素群選択部による前記画素群の選択と、前記設定部による前記画素群を構成する画素の設定と、を含む処理であり、前記第２処理は、前記対象画素が前記特定画素を含まない場合に実行される処理であって、前記画素群選択部による前記画素群の選択と、前記設定部による前記画素群を構成する画素の設定と、を含まない処理である、画像処理装置。
上記構成によれば、エッジの見栄えを向上できる拡大画像データを容易に作成することができる。
【００１４】
［適用例７］適用例１ないし適用例６のいずれかに記載の画像処理装置であって、前記拡大処理部は、歪みのない前記元画像に対して前記拡大処理を実行して、歪みのある前記拡大画像を表す前記拡大画像データを生成し、前記画像処理装置は、ドット画像を印刷する印刷実行部のための装置であり、前記画像処理装置は、さらに、前記拡大処理部によって生成された歪みのある前記拡大画像を表す前記拡大画像データに対して、画素毎にドットの形成状態を表すドットデータを生成するハーフトーン処理を実行して、歪みのある歪ドット画像を表す歪ドットデータを生成するハーフトーン処理部と、前記歪ドットデータに対して前記拡大処理とは異なる処理を実行して、前記歪ドット画像を少なくとも前記第２の方向に拡大した歪みのない無歪ドット画像を表す無歪ドットデータを生成するドット画像拡大部と、を備える、画像処理装置。
上記構成によれば、無歪ドット画像を印刷するためのハーフトーン処理の処理量を低減できるとともに、印刷された無歪ドット画像において、エッジの見栄えを向上することができる。
【００１５】
［適用例８］適用例７に記載の画像処理装置であって、前記無歪ドット画像は、同一行の組を複数個含み、前記同一行の組は、前記無歪ドット画像を構成する前記第１の方向に沿った複数の行のうち、互いに隣接するとともに、各構成画素のドットの形成状態が互いに同一である２以上の行を含む組であり、前記無歪ドットデータは、前記同一行の組を表す圧縮データを含み、前記圧縮データは、１つの代表行を表す代表行データと、前記代表行データが繰り返されることを示すデータと、を含む、画像処理装置。
上記構成によれば、無歪ドットデータのデータ量を低減することができる。
【００１６】
［適用例９］適用例１ないし適用例８のいずれかに記載の画像処理装置であって、前記拡大処理部は、前記元画像において前記特定パターンを検出する検出部を備え、前記拡大処理部は、検出された前記特定パターンについて、前記画素群選択部による前記画素群の選択と、前記設定部による前記画素群を構成する画素の設定と、を実行する、画像処理装置。
【００１７】
［適用例１０］適用例１ないし適用例８のいずれかに記載の画像処理装置であって、前記拡大処理部は、前記拡大画像において、前記元画像の前記特定パターンに対応する対応特定パターンを検出する検出部を備え、前記拡大処理部は、検出された前記対応特定パターンについて、前記画素群選択部による前記画素群の選択と、前記設定部による前記画素群を構成する画素の設定と、を実行する、画像処理装置。
【００１８】
本発明は、種々の形態で実現することが可能であり、例えば、上記装置の機能を実現する方法、上記装置の機能を実現するコンピュータプログラム、当該コンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【００１９】
【図１】実施例の計算装置１００と印刷装置２００のブロック図。
【図２】画像処理のフローチャート。
【図３】画像処理を説明する概念図。
【図４】圧縮処理のフローチャート。
【図５】圧縮ドットデータ３００を概念的に示す図。
【図６】ディザマトリクスＤＭ１を示す図。
【図７】ディザマトリクスＤＭ１のスクリーン角度について説明する図。
【図８】無歪ドット画像ＧＤ２に表れるスクリーン角度を説明する図。
【図９】横方向拡大処理（図２：Ｓ６００）のフローチャート。
【図１０】実施例の横方向拡大処理における特定パターンとカウント用パターンについて説明する図。
【図１１】エッジ補完処理のフローチャート。
【図１２】エッジ補完処理について説明する図。
【図１３】拡大画像における補完画素の配置例を示す図。
【図１４】拡大画像における補完画素の配置例を示す図。
【図１５】実施例の印刷画像のエッジと比較例の印刷画像のエッジを示す図。
【図１６】縦方向拡大処理における特定パターンとカウント用パターンについて説明する図。
【図１７】変形例における横方向拡大処理のフローチャート。
【図１８】変形例の横方向拡大処理における特定パターンとカウント用パターンについて説明する図。
【発明を実施するための形態】
【００２０】
Ａ．実施例：
Ａ−１：計算装置１００と印刷装置２００の構成
本発明の実施の形態を実施例に基づき説明する。図１は、実施例の画像処理装置としての計算装置１００と、印刷装置２００のブロック図である。
【００２１】
計算装置１００は、印刷装置２００と通信可能に接続されたコンピュータ（例えば、パーソナルコンピュータ）である。計算装置１００は、ＣＰＵ１１０と、ＲＯＭやＲＡＭなどの内部記憶装置１２０と、ハードディスクなどの外部記憶装置１３０と、キーボードやマウスなどの操作部１７０と、液晶ディスプレイなどの表示部１８０と、外部装置（例えば、印刷装置２００）との通信のためのインタフェースを含む通信部１９０とを備えている。
【００２２】
外部記憶装置１３０は、本実施例の画像処理プログラムとしてのドライバプログラム１３２と、図示しないアプリケーションプログラムによって作成された画像データ１３４とを格納している。
【００２３】
ＣＰＵ１１０は、ドライバプログラム１３２を実行することによって、プリンタドライバＭ１０の機能を実現する。プリンタドライバＭ１０は、画像データ取得部Ｍ１２と、拡大処理部Ｍ１４と、ハーフトーン処理部Ｍ１６と、ドット画像拡大部Ｍ１８と、圧縮部Ｍ１９とを備え、本実施例の画像処理（後述）を実行する。拡大処理部Ｍ１４は、対象画素選択部Ｍ１４１と、パターン検出部Ｍ１４２と、連続数決定部Ｍ１４３と、画素群選択部Ｍ１４４と、画素データ設定部Ｍ１４５とを備える。
【００２４】
印刷装置２００は、集積回路２１０と、プリンタエンジン２５０と、各種のボタンやタッチパネルなどの操作部２７０と、液晶パネルなどの表示部２８０と、外部機器（例えば、計算装置１００）との通信のためのインタフェースを含む通信部２９０と、を備えている。
【００２５】
集積回路２１０は、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）であり、制御回路２１２と、ＤＲＡＭなどの揮発性メモリ２１４と、マスクＲＯＭやＥＥＰＲＯＭなどの不揮発性メモリ２１６を含んでいる。揮発性メモリ２１４は、制御回路２１２が用いるバッファ領域を提供する。不揮発性メモリ２１６は、制御回路２１２が参照する制御データ、プログラムなどを格納している。制御回路２１２は、印刷装置２００の全体を制御する装置制御部Ｍ２０として機能する。なお、揮発性メモリ２１４や不揮発性メモリ２１６の全部または一部は、集積回路２１０の外部に設けられていても良い。
【００２６】
プリンタエンジン２５０は、装置制御部Ｍ２０（集積回路２１０）の制御および装置制御部Ｍ２０から供給される印刷データに従って、印刷を行う機構部である。プリンタエンジン２５０は、例えば、印刷材として黒色のトナーを用いて印刷媒体にドット画像を印刷するモノクロレーザープリンタとしての機能を実現する。すなわち、プリンタエンジン２５０は、レーザを用いて感光体を露光する露光工程と、露光によって感光体に形成された静電潜像にトナーを感光体に付着させる現像工程と、現像されたトナー像を感光体から印刷媒体に転写する転写工程と、転写されたトナー像を印刷媒体に定着させる定着工程と、を実現する。装置制御部Ｍ２０とプリンタエンジン２５０との全体は、印刷実行部の例である。
【００２７】
プリンタドライバＭ１０の機能を実現するドライバプログラム１３２や、装置制御部Ｍ２０の機能を実現するプログラムは、コンピュータ読み取り可能な記録媒体に格納された形で提供され得る。
【００２８】
Ａ−２：プリンタドライバＭ１０の画像処理：
図２は、計算装置１００のプリンタドライバＭ１０によって実行される画像処理のフローチャートである。この画像処理は、画像データ１３４を用いて印刷装置２００に供給する印刷データを生成する処理である。プリンタドライバＭ１０は、例えば、ユーザの印刷指示に応じて、画像処理を開始する。
【００２９】
ステップＳ１００では、プリンタドライバＭ１０の画像データ取得部Ｍ１２は、処理対象の画像データ（対象画像データ）を取得する。対象画像データは、例えば、上述した画像データ１３４（図１）であり、当該画像データ１３４を作成したアプリケーションプログラムから取得される。対象画像データは、当該画像データを作成したアプリケーションプログラムごとに異なるデータ形式を有している。
【００３０】
ステップＳ２００では、画像データ取得部Ｍ１２は、対象画像データを、ＲＧＢ画素データで構成されたビットマップデータ（ＲＧＢ画像データ）に変換するラスタライズ処理を実行する。ＲＧＢ画素データは、ＲＧＢの各色成分の階調値（例えば、２５６階調）を含む。
【００３１】
ステップＳ３００では、画像データ取得部Ｍ１２は、ＲＧＢ画像データを、黒（Ｋ）成分の濃度を表す単色画素データで構成されたビットマップデータ（単色画像データ）に変換する（モノクロ変換処理）。本実施例では、単色画素データは、０〜２５５の範囲の階調値であり、階調値「０」は白を表し、階調値「２５５」は黒を表し、中間階調値は階調数が大きいほど濃度が高いグレーを表す。具体的には、画像データ取得部Ｍ１２は、例えば、ＲＧＢ画素データの輝度値Ｙを算出する。画像データ取得部Ｍ１２は、輝度値Ｙを、ルックアップテーブルを用いて単色画素データに変換する。
【００３２】
ステップＳ４００では、画像データ取得部Ｍ１２は、生成された単色画像データが表す単色画像が縦長の画像（ポートレイト）であるか否か、すなわち、縦方向の画素数に対する横方向の画素数比Ｓが１より小さい画像であるか否かを判断する。画像データ取得部Ｍ１２は、単色画像が縦長の画像でない、すなわち、横長の画像（ランドスケープ）であると判断した場合には（ステップＳ４００：ＮＯ）、単色画像を９０度回転する回転処理を実行して、縦長の単色画像を表す単色画像データを生成する（ステップＳ５００）。画像データ取得部Ｍ１２は、単色画像が縦長の画像であると判断した場合には（ステップＳ４００：ＹＥＳ）、ステップＳ６００に処理を進める。
【００３３】
図３は、画像処理を説明する概念図である。図３（Ａ）には、単色画像データによって表される単色画像ＰＧ１（９０度回転処理が行われる場合には、回転処理後の単色画像ＰＧ１）が示されている。本実施例の単色画像ＰＧ１の大きさ（画素数）は、縦３４０７画素×横２３８０画素である。単色画像ＰＧ１の画素数比Ｓは、約０．７０である。画素数比Ｓは、縦方向の画素数に対する横方向の画素数の比である。
【００３４】
ステップＳ６００では、プリンタドライバＭ１０の拡大処理部Ｍ１４は、単色画像データに対して、単色画像ＰＧ１の横方向の大きさを２倍に拡大する（横方向の画素数を２倍に増やす）横方向拡大処理を実行する。横方向拡大処理によって、拡大単色画像ＰＧ２を表す拡大単色画像データが生成される。図３（Ｂ）には、拡大単色画像ＰＧ２が示されている。横方向拡大処理の具体的な処理内容については後述する。
【００３５】
拡大単色画像ＰＧ２の横方向の画素数は、単色画像ＰＧ１の横方向の画素数の２倍になり、図３（Ｂ）の例では、４７６０画素になる。拡大単色画像ＰＧ２の縦方向の画素数は、３４０７画素であり、単色画像ＰＧ１の縦方向の画素数と同じである。すなわち、拡大単色画像ＰＧ２の画素数比Ｓ２は、単色画像ＰＧ１の画素数比Ｓの２倍、図３（Ｂ）の例では、約１．４０になる。ここで、図３（Ａ）（Ｂ）に示すように、拡大単色画像ＰＧ２は、歪みのない単色画像ＰＧ１を歪ませた歪みのある画像となる。以下では、単色画像ＰＧ１を無歪画像ＰＧ１とも呼び、拡大単色画像ＰＧ２を歪画像ＰＧ２とも呼ぶ。また、無歪画像ＰＧ１を表す単色画像データを無歪画像データとも呼び、歪画像ＰＧ２を表す拡大単色画像データを歪画像データとも呼ぶ。
【００３６】
ステップＳ７００では、プリンタドライバＭ１０のハーフトーン処理部Ｍ１６は、取得された歪画像データに対してハーフトーン処理を実行する。ハーフトーン処理は、ディザマトリクスＤＭ１（図５：後述）を用いて、画素毎にドットの形成状態を表すドットデータを生成する処理である。具体的には、ドットデータを構成する各画素データは、対応する画素がドットを形成することを表す「１」と、対応する画素がドットを形成しないことを表す「０」と、のいずれかの値を取る二値データである。本ステップのハーフトーン処理によって、歪画像ＰＧ２（図３（Ｂ））に対応する歪みのある歪ドット画像ＧＤ１を表す歪ドットデータが生成される。図３（Ｃ）には、歪ドット画像ＧＤ１の一例が示されている。歪ドット画像ＧＤ１の縦方向の画素数および横方向の画素数は、歪画像ＰＧ２の縦方向の画素数および横方向の画素数と同じである。したがって、歪ドット画像ＧＤ１の画素数比も、歪画像ＰＧ２の画素数比Ｓ２と同じである。
【００３７】
ステップＳ８００では、プリンタドライバＭ１０のドット画像拡大部Ｍ１８は、歪ドットデータに対してドット画像拡大処理を実行して、歪のない無歪ドット画像ＧＤ２を表す無歪ドットデータを生成する。図３（Ｄ）には、無歪ドット画像ＧＤ２の一例が示されている。
【００３８】
具体的には、ドット画像拡大部Ｍ１８は、歪ドットデータを構成するｎ番目の行データと、（ｎ＋１）番目の行データとの間に、ｎ番目の行データのコピーデータを挿入することによって、無歪ドットデータを生成する。したがって、無歪ドットデータにおいて、奇数行データと、当該奇数行データの次の偶数行データとは、同一のデータになる。したがって、図３（Ｃ）（Ｄ）に示すように、無歪ドットデータが表す無歪ドット画像ＧＤ２の（２ｎ−１）番目の行の各画素ＰＸ２を表す各画素データと２ｎ番目の行の各画素ＰＸ２を表す各画素データは、同じデータ（歪ドット画像ＧＤ１のｎ番目の行の各画素ＰＸ２を表す各画素データ）となる。また、無歪ドットデータが表す無歪ドット画像ＧＤ２の（２ｎ＋１）番目の行の各画素ＰＸ２を表す各画素データと（２ｎ＋２）番目の行の各画素ＰＸ２を表す各画素データは、同じデータ（歪ドット画像ＧＤ１の（ｎ＋１）番目の行の各画素ＰＸ２を表す各画素データ）となる。
【００３９】
無歪ドット画像ＧＤ２の縦方向の画素数は、歪ドット画像ＧＤ１および無歪画像ＰＧ１および歪画像ＰＧ２の縦方向の画素数の２倍である（例えば、６８１４画素）。無歪ドット画像ＧＤ２の横方向の画素数は、歪ドット画像ＧＤ１および歪画像ＰＧ２の横方向の画素数と同じであり、無歪画像ＰＧ１の横方向の画素数の２倍である（例えば、４７６０画素）。したがって、無歪ドット画像ＧＤ２の画素数比は、無歪画像ＰＧ１の画素数比Ｓと同じであり、歪画像ＰＧ２および歪ドット画像ＧＤ１の画素数比Ｓ２の１／２である。
【００４０】
ここで、無歪ドット画像ＧＤ２の（２ｎ−１）番目の行と２ｎ番目の行の組のように、無歪ドット画像を構成する複数の行のうち、互いに隣接するとともに、各構成画素のドットの形成状態（ドットデータを構成する画素データの画素値）が互いに同一である２以上の行の組を、同一行の組とも呼ぶ。また、無歪ドットデータに含まれる、同一行の組を表す行データの組を、同一行データの組とも呼ぶ。無歪ドット画像ＧＤ２の縦方向の画素数（行数）をＮとすると、無歪ドット画像ＧＤ２は、（Ｎ／２）個の同一行の組を含む。
【００４１】
ステップＳ９００では、プリンタドライバＭ１０の圧縮部Ｍ１９は、無歪ドットデータを圧縮する圧縮処理を実行して圧縮ドットデータ３００を生成する。図４は、圧縮処理のフローチャートである。図５は、圧縮ドットデータ３００を概念的に示す図である。
【００４２】
ステップＳ９０２では、圧縮部Ｍ１９は、処理対象である無歪ドットデータが表す無歪ドット画像ＧＤ２を構成する行を順次に（具体的には、図３（Ｄ）の上から順に）処理対象行として選択する。ステップＳ９０４では、圧縮部Ｍ１９は、処理対象行の行データ（処理対象行データ）が、前回の処理対象行データと同一か否かを判断する。この例では、奇数番目の行が処理対象行である場合には、処理対象行データと、前回の処理対象行データとは同一ではない。一方、偶数番目の行が処理対象行である場合には、処理対象行データと、前回の処理対象行データとは同一である。
【００４３】
圧縮部Ｍ１９は、処理対象行データが、前回の処理対象行データと同一でないと判断すると（ステップＳ９０４：ＮＯ）、「ＯＦＦ」の参照フラグを表す参照フラグデータを生成する（ステップＳ９０６）。ステップＳ９０８では、圧縮部Ｍ１９は、圧縮行データと、圧縮行データのデータ量を表すデータ量データを生成する。圧縮部Ｍ１９は、処理対象行データを、ランレングス圧縮によって圧縮して、圧縮行データを生成する。
【００４４】
圧縮部Ｍ１９は、処理対象行データが、前回の処理対象行データと同一であると判断すると（ステップＳ９０４：ＹＥＳ）、「ＯＮ」の参照フラグを表す参照フラグデータを生成する（ステップＳ９１０）。
【００４５】
ステップＳ９１２では、圧縮部Ｍ１９は、処理対象である無歪ドットデータが表す無歪ドット画像ＧＤ２を構成する全ての行を処理対象行として選択したか否かを判断する。圧縮部Ｍ１９は、全ての行が処理対象行として選択されていない場合には（ステップＳ９１２：ＮＯ）、ステップＳ９０２に戻って、未選択の行を新たな処理選択行として、ステップＳ９０４〜Ｓ９１０の処理を繰り返す。圧縮部Ｍ１９は、全ての行が処理対象行として選択されている場合には（ステップＳ９１２：ＹＥＳ）、圧縮処理を終了する。
【００４６】
図５に示すように、圧縮処理によって生成される圧縮ドットデータ３００は、無歪ドット画像ＧＤ２の各行を表すデータを含む。奇数行を表すデータ（例えば、図５：１行目および３行目のデータ）は、「ＯＦＦ」の参照フラグデータ３１０Ａと、データ量データ３２０と、圧縮行データ３３０とを含む。偶数行を表すデータ（例えば、図５：２行目および４行目のデータ）は、「ＯＮ」の参照フラグデータ３１０Ｂを含む。「ＯＦＦ」の参照フラグデータ３１０Ａは、その後に、データ量データ３２０と、データ量データ３２０が表すデータ量の圧縮行データ３３０とが続くことを示すフラグである。「ＯＮ」の参照フラグデータ３１０Ｂは、直前の圧縮行データ３３０で表される行が繰り返されることを示すデータである。このように、同一のデータによって表される行が繰り返されるときには、繰り返される行のうち、２番目以降の行を表す行データを、直前の行データを参照することを示す情報（「ＯＮ」の参照フラグデータ３１０Ｂ）に置き換えることによって、ドットデータを圧縮する。この圧縮処理を「前参照圧縮処理」とも呼ぶ。
【００４７】
以上の説明から解るように、奇数行を表すデータ３１０Ａ、３２０、３３０と、当該奇数行の次の偶数行を表すデータ３１０Ｂとの組は、上述した同一行の組を表す圧縮データであり、上述した同一行データの組を圧縮した圧縮データである。同一行の組を表す圧縮データは、１つの代表行を表す代表行データ（この例では、奇数行を表すデータ３１０Ａ、３２０、３３０）と、代表行データが繰り返されることを表すデータ（この例では、偶数行を表すデータ３１０Ｂ）との組を含むデータであると言うことができる。
【００４８】
図２のステップＳ１０００では、プリンタドライバＭ１０は、生成された圧縮ドットデータ３００に、各種のプリンタ制御コードや、データ識別コードを付加して、印刷装置２００の装置制御部Ｍ２０（図１）が解釈可能な印刷データを生成する。ステップＳ１１００では、プリンタドライバＭ１０は、生成された印刷データを、印刷装置２００に対して送信して、処理を終了する。
【００４９】
印刷データを受信した印刷装置２００の装置制御部Ｍ２０（集積回路２１０）は、印刷データを揮発性メモリ２１４に格納する。装置制御部Ｍ２０は、印刷データに含まれる圧縮ドットデータ３００を所定量ずつ（例えば、特定行数分ずつ）復元しながら順次にプリンタエンジン２５０に供給することによって、無歪ドット画像ＧＤ２を印刷する。
【００５０】
Ａ−３．ディザマトリクスＤＭ１：
図６は、ディザマトリクスＤＭ１を示す図である。ディザマトリクスＤＭ１は、歪ドット画像ＧＤ１の各画素（図３（Ｃ））に対応する升ＰＭ１を縦８行×横１６列（計１２８個）に並べて構成されている。ディザマトリクスＤＭ１は、縦２個×横４個＝８個のサブマトリクスＣＥ１を含み、各サブマトリクスは、それぞれ縦４行×横４列の１６個の升ＰＭ１を含んでいる。各升ＰＭ１には、閾値ＴＨ１が規定されている。図６の各升ＰＭ１の内部に示した番号は、各升ＰＭ１に設定されている閾値ＴＨ１を示している。この例では、１２８個の閾値ＴＨ１は、入力される階調値の取り得る範囲（例えば、０〜２５５）の全体に略均等に分布するように設定されている。この結果、このディザマトリクスＤＭ１を用いて生成された歪ドットデータが表す歪ドット画像ＧＤ１は、縦８画素×横１６画素の範囲で、１２８階調を表現することができる。
【００５１】
図７は、ディザマトリクスＤＭ１のスクリーン角度について説明する図である。図７の模式図は、ディザマトリクスＤＭ１の升ＰＭ１のうち、閾値ＴＨ１が１１２以下である升ＰＭ１に対応する領域にハッチングを付し、閾値ＴＨ１が１１２より大きい升ＰＭ１に対応する領域を白色とした図である。また、この図７は、ディザマトリクスＤＭ１を用いて生成された歪ドットデータが表す歪ドット画像ＧＤ１に表れる部分歪ドット画像ＰＧＤ１を示しているとも言える。すなわち、部分歪ドット画像ＰＧＤ１は、階調値が１２２である単色画素データで構成された一定濃度の画像領域に対して、ハーフトーン処理を行ったドットデータに対応している。
【００５２】
図７に示す部分歪ドット画像ＰＧＤ１から解るように、歪ドット画像ＧＤ１には、ディザマトリクスＤＭ１におけるサブマトリクスＣＥ１に対応するドットの集合ＤＴ１が表れる。図７に示す実線ＤＬ１から解るように、歪ドット画像ＧＤ１には、複数のドットＤＴ１が繋がってできる複数のドットラインが表れる。このドットラインの角度は、ディザマトリクスＤＭ１のスクリーン角度を表している。一般的に、スクリーン角度φは、反時計回りに、３時の方向（図６の右方向）からドットラインまでの角度で表される。この例では、スクリーン角度φは、約２６．５６度である。ドットラインは、スクリーン角度の方向に沿って、複数のドットによって形成されるラインである。
【００５３】
図８は、印刷される無歪ドット画像ＧＤ２に表れるスクリーン角度を説明する図である。図８は、図７に示す部分歪ドット画像ＰＧＤ１に対応する無歪ドット画像ＧＤ２の領域（部分無歪ドット画像ＰＧＤ２とも呼ぶ）を示している。
【００５４】
図８に示す部分無歪ドット画像ＰＧＤ２から解るように、無歪ドット画像ＧＤ２に表れるドットの集合ＤＴ２は、歪ドット画像ＧＤ１に表れる対応するドットの集合ＤＴ１（図７）を縦方向に２倍に拡大した形状になる。図８に示す実線ＤＬ２から解るように、無歪ドット画像ＧＤ２には、複数のドットが繋がってできる複数のドットラインが表れる。このドットラインの角度、すなわち、印刷される無歪ドット画像ＧＤ２に表れるスクリーン角度をθとする。この例では、スクリーン角度θは、約４５度である。
【００５５】
ところで、ディザマトリクスＤＭ１のスクリーン角度φ（歪ドット画像ＧＤ１に表れるスクリーン角度）の正接（ｔａｎφ）は、ＴＬ１／ＹＬ１である。ここで、ＴＬ１は、歪ドット画像ＧＤ１の複数のドットラインの横方向の周期（図７の例では、４画素（４升）分の長さ）である。ＹＬ１は、歪ドット画像ＧＤ１の複数のドットラインの横方向の周期（図７の例では、８画素（８升）分の長さ）である。そして、無歪ドット画像ＧＤ２に表れるスクリーン角度θの正接（ｔａｎθ）＝ＴＬ２／ＹＬ２である。ここで、ＴＬ２は、無歪ドット画像ＧＤ２の複数のドットラインの横方向の周期（図８の例では、８画素（８升）分の長さ）である。ＹＬ２は、無歪ドット画像ＧＤ２の複数のドットラインの横方向の周期（図８の例では、８画素（８升）分の長さ）である。そして、ＴＬ２＝２×ＴＬ１であり、ＹＬ１＝ＹＬ２であるから、ｔａｎφ＝（ｔａｎθ）／２である。従って、ディザマトリクスＤＭ１のスクリーン角度φは、約ａｒｃｔａｎ（（ｔａｎθ）／２）に設定されている、と言うことができる。
【００５６】
歪ドット画像ＧＤ１の複数のドットラインのライン間隔Ｌは、ｃｏｓφ×ＴＬ１で表される。また、無歪ドット画像ＧＤ２の複数のドットラインのライン間隔Ｄは、ｃｏｓθ×ＴＬ２で表される。したがって、歪ドット画像ＧＤ１の複数のドットラインのライン間隔Ｌは、Ｌ＝（１／２）×Ｄ×ｃｏｓφ／ｃｏｓθに設定されている、と言うことができる。ここで、上述の通り、φ＝ａｒｃｔａｎ（（ｔａｎθ）／２）である。本実施例では、ディザマトリクスＤＭ１の１つの升ＰＭ１に対応するドット画像の画素を単位として、歪ドット画像ＧＤ１のライン間隔Ｌ＝約３．１６画素、無歪ドット画像ＧＤ２のライン間隔Ｄ＝約５．６６画素である。
【００５７】
印刷される無歪ドット画像ＧＤ２に表れるスクリーン角度θや、無歪ドット画像ＧＤ２の複数のドットラインのライン間隔Ｄに基づいて定まる線数（単位はＬｐｉ（line per inch））は、公知のスクリーンゲージを用いて、印刷された無歪ドット画像ＧＤ２を測定することによって、容易に認識することができる。
【００５８】
Ａ−４．横方向拡大処理：
図９は、横方向拡大処理（図２：Ｓ６００）のフローチャートである。上述したように、横方向拡大処理は、無歪画像ＰＧ１を表す無歪画像データに対して実行される処理である。横方向拡大処理の結果、無歪画像ＰＧ１の横方向の大きさを２倍に拡大した（横方向の画素数を２倍に増やした）歪画像ＰＧ２を表す歪画像データが生成される。横方向処理の説明では、無歪画像ＰＧ１を元画像とも呼び、無歪画像データを元画像データとも呼ぶ。また、歪画像ＰＧ２を拡大画像とも呼び、歪画像データを拡大画像データとも呼ぶ。この横方向拡大処理は、単純に、元画像の横方向の大きさを２倍に拡大するだけでなく、拡大画像のエッジの見栄えを向上するために、拡大画像に補完画素を追加する処理（エッジ補完処理）を含んでいる。
【００５９】
ステップＳ６０５では、拡大処理部Ｍ１４の対象画素選択部Ｍ１４１は、元画像（無歪画像ＰＧ１）を構成する画素の中から処理対象とする対象画素ＳＰを順次に１つずつ選択する。具体的には、本処理では、図３（Ａ）に示す無歪画像ＰＧ１の上端の行（左右方向の画素行）から順に、下方に向かって処理対象とする。同じ行の中では、左端の画素から、右に向かって順次に処理対象とする。
【００６０】
ステップＳ６１０では、拡大処理部Ｍ１４は、対象画素ＳＰの画素値（画素データ）を用いて、対象画素ＳＰは白画素であるか否かを判断する。上述したように、無歪画像ＰＧＡを構成する画素の画素値（単色画素データ）は、階調数が大きいほど濃度が高い（黒に近い）無彩色を表す。ここで、白画素は、例えば、画素値が、０または比較的０に近い値の画素値を有する画素、具体的には、画素値が白画素判定用基準値（例えば、５）以下の画素である。すなわち、白画素は、例えば、画素値が、０〜５のいずれかである画素である。なお、後述する黒画素は、例えば、画素値が、２５５または比較的２５５に近い値の画素値を有する画素、具体的には、画素値が黒画素判定用基準値（例えば、２５０）以上の画素である。すなわち、黒画素は、例えば、画素値が、２５０〜２５５のいずれかである画素である。なお、黒画素および白画素を除く画素（例えば、画素値が６以上２４９以下である画素）を灰色画素とも呼ぶ。
【００６１】
対象画素ＳＰが白画素でないと判断すると（ステップＳ６１０：ＮＯ）、拡大処理部Ｍ１４は、対象画素ＳＰに対応する拡大画像内の画素（対応対象画素）ＴＰは未設定であるか否かを判断する。元画像の対象画素ＳＰの座標を（Ｘａ、Ｙａ）とすると、拡大画像の対応対象画素ＴＰの座標は、（２Ｘａ、Ｙａ）と（２Ｘａ＋１、Ｙａ）である。なお、元画像（無歪画像ＰＧ１（図３（Ａ））の座標と、拡大画像（歪画像ＰＧ２（図３（Ｂ））の座標は、ともに、画像の左上を原点（０、０）とし、右方向をＸ軸の正方向、下方向をＹ軸の正方向とした座標（単位は画素）を用いる。
【００６２】
拡大処理部Ｍ１４は、対応対象画素ＴＰが未設定でない（設定済みである）と判断すると（ステップＳ６１５：ＮＯ）、ステップＳ６３５に処理を進める。拡大処理部Ｍ１４は、対応対象画素ＴＰが未設定であると判断すると（ステップＳ６１５：ＹＥＳ）、未設定である２つの対応対象画素ＴＰの画素値を、それぞれ対象画素ＳＰの画素値と同じ値に設定する（対応対象画素ＴＰの画素データを生成する）。
【００６３】
上述したステップＳ６１０にて、拡大処理部Ｍ１４は、対象画素ＳＰが白画素であると判断すると（ステップＳ６１０：ＹＥＳ）、拡大処理部Ｍ１４のパターン検出部Ｍ１４２は、元画像において、対象画素ＳＰとその周辺画素とは、後述する４種類の特定パターン１〜４のいずれかを形成するか否かを判断する（ステップＳ６２５）。
【００６４】
図１０は、本実施例の横方向拡大処理における特定パターンとカウント用パターンについて説明する図である。図１０に示すように、４種類の特定パターン１〜４は、それぞれ縦３×横３の計９個の画素で構成される。
【００６５】
特定パターン１は、横方向に並んだ３つの画素で構成される中央部分パターンＭＰ１と、中央部分パターンＭＰ１の上方向に隣接する上部分パターンＵＰ１と、中央部分パターンＭＰ１の下方向に隣接する下部分パターンＢＰ１とを含む。
【００６６】
中央部分パターンＭＰ１は、白画素である中央画素と、この中央画素に対して右方向に隣接する白画素である右隣接画素と、この中央画素に対して左方向に隣接する黒画素である左隣接画素とを含む。上部分パターンＵＰ１は、中央部分パターンＭＰ１と同じく、白画素である中央画素と、この中央画素に対して右方向に隣接する白画素である右隣接画素と、この中央画素に対して左方向に隣接する黒画素である左隣接画素とを含む。下部分パターンＢＰ１は、黒画素である中央画素と、この中央画素に対して右方向に隣接する白画素である右隣接画素とを含む。なお、下部分パターンＢＰ１において、中央画素に対して左方向に隣接する画素（図１０：「ａｎｙ」の文字が記された画素）は任意の画素（白画素または黒画素または灰色画素のいずれか）であって良い。
【００６７】
中央部分パターンＭＰ１における中央画素（図１０においてバツ印が付された白画素）を、特定パターン１の中心画素とも呼ぶ。パターン検出部Ｍ１４２は、対象画素ＳＰを中心画素として、対象画素ＳＰとその周辺画素が特定パターンに該当するか否かを判断する。なお、図１０において、クロスハッチングされた画素は、黒画素を表し、ハッチングがされていない画素およびバツ印が付された画素（中心画素）は、白画素を表す。
【００６８】
特定パターン２、３、４は、それぞれ、中心画素を含む中央部分パターンＭＰ２、ＭＰ３、ＭＰ４と、中央部分パターンＭＰ２、ＭＰ３、ＭＰ４の上方向に隣接する上部分パターンＵＰ２、ＵＰ３、ＵＰ４と、中央部分パターンＭＰ２、ＭＰ３、ＭＰ４の下方向に隣接する下部分パターンＢＰ２、ＢＰ３、ＢＰ４と、を含む。図１０に示すように、特定パターン２は、特定パターン１を上下に反転したパターンであり、特定パターン３は、特定パターン１を左右に反転したパターンであり、特定パターン４は、特定パターン３を上下に反転したパターンである。
【００６９】
対象画素ＳＰとその周辺画素が、特定パターン１〜４のいずれかを形成しない場合には（ステップＳ６２５：ＮＯ）、拡大処理部Ｍ１４の画素データ設定部Ｍ１４５は、上述したステップＳ６１５、６２０の処理を行う。すなわち、画素データ設定部Ｍ１４５は、対象画素ＳＰに対応する対応対象画素ＴＰが未設定であれば、対応対象画素ＴＰの画素値を、対象画素ＳＰの画素値と同じ値に設定して、ステップＳ６３５に処理を進める。
【００７０】
対象画素ＳＰとその周辺画素が、特定パターン１〜４のいずれかを形成する場合には（ステップＳ６２５：ＹＥＳ）、拡大処理部Ｍ１４は、エッジ補完処理を実行する（ステップＳ６３０）。
【００７１】
図１１は、エッジ補完処理のフローチャートである。ステップＳ６３０５では、連続数決定部Ｍ１４３は、対象画素ＳＰとその周辺画素によって形成される特定パターンに応じて、連続数をカウントするためのカウント用パターンをそれぞれ設定する。図１０には、特定パターン１〜４のそれぞれに対応するカウント用パターンが図示されている。カウント用パターンは、第１の連続数ＣＬをカウントするための第１のパターンＬＣＰと、第２の連続数ＣＵをカウントするための第２のパターンＵＣＰとを含んでいる。
【００７２】
第１のパターンＬＣＰは、対応する特定パターンに含まれる３つの部分パターンのうち、中心画素に対して第１の連続数ＣＬのカウント方向ＣＤ１（図１０：後述）に隣接する部分パターンと同じパターンである。第２のパターンＵＣＰは、対応する特定パターンに含まれる３つの部分パターンのうち、中心画素に対して第２の連続数ＣＵのカウント方向ＣＤ２（図１０：後述）に隣接する部分パターンと同じパターンである。例えば、図１０に示すように、特定パターン１に対応する第１のパターンＬＣＰ１は、特定パターン１の上部分パターンＵＰ１と同じであり、特定パターン１に対応する第２のパターンＵＣＰ１は、特定パターン１の下部分パターンＢＰ１と同じである。特定パターン２に対応する第１のパターンＬＣＰ２は、特定パターン２の下部分パターンＢＰ２と同じであり、特定パターン２に対応する第２のパターンＵＣＰ２は、特定パターン２の上部分パターンＵＰ２と同じである。
【００７３】
より具体的には、特定パターン１に対応する第１のパターンＬＣＰ１は、特定パターン１の中心画素が位置する縦方向の画素列に位置する中央画素（白画素）と、この中央画素に対して右方向に隣接する右隣接画素（白画素）と、この中央画素に対して左方向に隣接する左隣接画素（黒画素）とを含む。すなわち、第１のパターンＬＣＰ１の中央画素（白画素）の左右方向の位置は、特定パターン１の中心画素の左右方向の位置と同じである。特定パターン１に対応する第２のパターンＵＣＰ１は、特定パターン１の中心画素が位置する縦方向の画素列に位置する中央画素（黒画素）と、この中央画素に対して右方向に隣接する右隣接画素（白画素）とを含む。すなわち、第２のパターンＬＣＰ２の中央画素（黒画素）の左右方向の位置は、特定パターン１の中心画素の左右方向の位置と同じである。なお、この第２のパターンＵＣＰ１において、中央画素に対して左方向に隣接する画素（図１０：「ａｎｙ」の文字が記された画素）は任意の画素（白画素または黒画素または灰色画素のいずれか）であって良い。ここで、この例では、第１のパターンＬＣＰ１の画素数（３画素）と、第２のパターンＬＣＰ２の画素数（３画素）は、同じであるが、異なっていても良い。例えば、第２のパターンＬＣＰ２は、「ａｎｙ」の文字が記された画素を除いた２画素で構成されても良い。
【００７４】
ステップＳ６３１０では、連続数決定部Ｍ１４３は、カウント用パターン（第１のパターンＬＣＰおよび第２のパターンＵＣＰ）を用いて、第１の連続数ＣＬと第２の連続数ＣＵとをカウントする。第１の連続数ＣＬは、対象画素ＳＰから、カウント方向ＣＤ１に向かって第１のパターンＬＣＰが連続する数である。第２の連続数ＣＵは、対象画素ＳＰから、カウント方向ＣＤ２に向かって第２のパターンＵＣＰが連続する数である。カウント方向ＣＤ１とカウント方向ＣＤ２との組み合わせは、４種類の特定パターンごとに、定められている。カウント方向ＣＤ１とカウント方向ＣＤ２とは互いに逆方向である。図１０に示すように、特定パターン１の場合には、カウント方向ＣＤ１は、上向きであり、カウント方向ＣＤ２は、下向きである。特定パターン２の場合は、カウント方向ＣＤ１は、下向きであり、カウント方向ＣＤ２は、上向きである。
【００７５】
図１２は、エッジ補完処理について説明する図である。図１２（Ａ）に示すように、対象画素ＳＰを中心とする縦３画素×横３画素の領域ＡＲが特定パターン２を形成している場合を例に説明する。この場合には、第１の連続数ＣＬ＝３となり、第２の連続数ＣＵ＝４である。
【００７６】
ステップＳ６３１５では、連続数決定部Ｍ１４３は、第１の連続数ＣＬと第２の連続数ＣＵの少なくとも一方は、１であるか否かを判断する。連続数決定部Ｍ１４３は、第１の連続数ＣＬと第２の連続数ＣＵの少なくとも一方が、１である場合には（ステップＳ６３１５：ＹＥＳ）、連続数決定部Ｍ１４３は、補完数ＳＣを１に決定する。連続数決定部Ｍ１４３は、第１の連続数ＣＬと第２の連続数ＣＵの両方が、１でない場合には（ステップＳ６３１５：ＮＯ）、第１の連続数ＣＬは、第２の連続数ＣＵより大きいか否かを判断する（ステップＳ６３２５）。
【００７７】
連続数決定部Ｍ１４３は、第１の連続数ＣＬが、第２の連続数ＣＵより大きいと判断した場合には（ステップＳ６３２５：ＹＥＳ）、補完数ＳＣを、（第２の連続数ＣＵ−１）個に決定する（ステップＳ６３３０）。連続数決定部Ｍ１４３は、第１の連続数ＣＬが、第２の連続数ＣＵ以下であると判断した場合には（ステップＳ６３２５：ＮＯ）、補完数ＳＣを、（第１の連続数ＣＬ／２（ただし、２で割り切れない場合は四捨五入によって整数値とする））に決定する（ステップＳ６３３５）。
【００７８】
図１２（Ａ）に示す例では、第１の連続数ＣＬ＜第２の連続数ＣＵである。この場合には、第１の連続数ＣＬ／２＝３／２＝１．５であるから、四捨五入されて、補完数ＳＣ＝２に決定される。
【００７９】
補完数ＳＣが決定されると、拡大処理部Ｍ１４は、補完画素を含む画素の画素値を設定する（ステップＳ６３４０）。具体的には、拡大処理部Ｍ１４の画素群選択部Ｍ１４４は、拡大画像において設定対象の画素群ＳＣＰを選択する。図１２（Ｂ）には、画素群ＳＣＰの例が示されている。画素群ＳＣＰは、対象画素ＳＰ（座標（Ｘａ、Ｙａ））に対応する１組の対応対象画素ＴＰ（座標（２Ｘａ、Ｙａ）、（２Ｘａ＋１、Ｙａ））を含む。さらに、補完数ＳＣが２以上である場合には、画素群ＳＣＰは、一方の対応対象画素ＴＰ（座標（２Ｘａ、Ｙａ）から補完方向ＳＤに連続する（ＳＣ−１）個の画素と、他方の対応対象画素ＴＰ（座標（２Ｘａ＋１、Ｙａ）から補完方向ＳＤに連続する（ＳＣ−１）個の画素とを含む。つまり、画素群ＳＣＰは、横方向に並ぶ２個の画素の組がＳＣ個分、２×ＳＣ個の画素を含む。補完方向ＳＤは、図１０に示すように、４種類の特定パターンごとに、定められている。補完方向ＳＤは、第１の連続数ＣＬのカウント方向ＣＤ１と同じ方向であり、第２の連続数ＣＵのカウント方向ＣＤ２の反対方向である。図１２（Ｂ）の例では、補完数ＳＣ＝２であり、画素群ＳＣＰは、座標（２Ｘａ、Ｙａ）、（２Ｘａ＋１、Ｙａ）の画素の組と、座標（２Ｘａ、Ｙａ−１）、（２Ｘａ＋１、Ｙａ−１）の画素の組と、を含む４つの画素を含む。
【００８０】
画素データ設定部Ｍ１４５は、選択された画素群ＳＣＰに含まれる横方向に並ぶ２個の画素の各組を、補完パターンＳＤＰにそれぞれ設定する。補完パターンＳＤＰは、４種類の特定パターンごとに、定められている（図１０：ＳＤＰ１〜ＳＤＰ４）。この結果、図１２に拡大画像において、画素群ＳＣＰに含まれる画素のうち、横方向に黒画素が隣接する画素群は、黒画素に設定される。また、拡大画像において、画素群ＳＣＰに含まれる画素のうち、横方向に白画素が隣接する画素群は、白画素に設定される。横方向に黒画素が隣接する画素群は、特定パターン１、２の場合には、画素群ＳＣＰのうち、Ｘ座標が２Ｘａである画素列の画素群であり、特定パターン３、４の場合には、画素群ＳＣＰのうち、Ｘ座標が（２Ｘａ＋１）である画素列の画素群である。ここで、黒画素に設定される画素は、例えば、その画素値が、２５５に設定されても良いし、その画素値が、元画像の対象画素ＳＰの近傍の黒画素（例えば、右方向または左方向に隣接する黒画素）の画素値と同じ値に設定されても良い。また、白画素に設定される画素は、例えば、その画素値が０に設定されても良いし、その画素値が、元画像の対象画素ＳＰの画素値と同じ値に設定されても良い。  
【００８１】
図９に戻って説明を続ける。ステップＳ６３５では、拡大処理部Ｍ１４は、元画像の全ての画素が対象画素ＳＰとして選択済みであるか否かを判断する。拡大処理部Ｍ１４は、未選択の画素があると判断すると（ステップＳ６３５：ＮＯ）、ステップＳ６０５に戻って、未選択の画素を新たな対象画素ＳＰとして選択して、上述したステップＳ６１０〜Ｓ６３０の処理を繰り返す。拡大処理部Ｍ１４は、全ての画素が選択済みであると判断すると（ステップＳ６３５：ＹＥＳ）、横方向拡大処理を終了する。
【００８２】
横方向拡大処理によって生成される拡大画像（歪画像ＰＧ２（図３（Ｂ）））は、単純拡大画像に、補完画素を付加した画像となる。ここで、単純拡大画像は、元画像を構成する縦方向に沿ったｍ番目の画素列と、（ｍ＋１）番目の画素列との間に、ｍ番目の画素列と同じ画素列が配置された画像である。すなわち、単純拡大画像は、奇数番目の画素列と、当該画素列の次の偶数番目の画素列と、が同じになる。補完画素（上述のステップＳ６３４０（図１１）で黒画素に設定される画素）を構成する画素群は、元画像において特定パターン１〜４を構成する９個の画素のうちの特定画素（特定パターンの中心に位置する白画素）に対応する拡大画像の画素（対応特定画素）を含み、縦方向に延びる補完数ＳＣ個の画素である。
【００８３】
図１２（Ｂ）に示す拡大画像の例では、クロスハッチングされた画素は、単純拡大画像を構成する黒画素を示し、シングルハッチングされた画素は、補完画素である黒画素を示している。後述する図１３に示す拡大画像の例でも同様とする。
【００８４】
図１２（Ｃ）には、図１２（Ｂ）に示す拡大画像（歪画像ＰＧ２）に対応する印刷画像（無歪ドット画像ＧＤ２）が示されている。図１２（Ｃ）において、クロスハッチングされた画素は、拡大画像における単純拡大画像を構成する黒画素に対応するドット形成画素（画素値「１」の画素）を示す。また、シングルハッチングされた画素は、拡大画像における補完画素に対応するドット形成画素を示す。印刷画像は、図２を参照して説明したように、歪画像ＰＧ２を縦方向に２倍に拡大した画像であるので、印刷画像において、補完画素に対応するドット形成画素ＳＣＤの数は、拡大画像（図１２（Ｂ））における補完画素の数の２倍になる。
【００８５】
以上説明した本実施例によれば、画素群選択部Ｍ１４４は、元画像において特定パターン１〜４（図１０）のいずれかを構成する白画素である特定画素（本実施例では、各特定パターンを形成する９個の画素の中心に位置する画素）に対応する対応特定画素を含む拡大画像の画素群ＳＣＰを選択する（図１２）。画素データ設定部Ｍ１４５は、２列の画素群ＳＣＰのうちの一列の画素群を黒画素に設定する、すなわち、画素群ＳＣＰに対応する領域に補完画素を配置する。黒画素に設定される画素の数（補完数ＳＣ）は、第１の連続数ＣＬと第２の連続数ＣＵとに応じた数である。この結果、元画像の特定パターンの特定画素から見て、上方向の画素と、下方向の画素の配置を考慮して、特定パターンに対応する拡大画像のエッジの見栄えを向上することができる。
【００８６】
より具体的には、例えば、特定パターン１は、図１０に示す上部分パターンＵＰ１と、中央部分パターンＭＰ１と、下部分パターンＢＰ１を含むパターンである。すなわち、特定パターン１は、黒画素によって形成される形状が、Ｌ字型となる（横方向に一画素分の段差がある形状）パターンである。他の特定パターン２〜３も同様である。
【００８７】
図１３および図１４は、拡大画像における補完画素の配置例を示す図である。図１３（Ａ）〜（Ｆ）および図１４（Ａ）、（Ｂ）のそれぞれにおいて、左側は、元画像の一部分の例を示し、右側は、左側の元画像の一部分に対応する拡大画像の一部分を示している。また、図１３および図１４に示す拡大画像における破線は、白画素と黒画素によって形成されるエッジの方向を大まかに示している。
【００８８】
これらの図から解るように、元画像における横方向に１画素分の段差が、単純拡大画像では、横方向に２画素分の段差になる。したがって、単純拡大画像では、斜め方向のエッジのがたつきが元画像と比較して大きくなる。この結果、単純拡大画像を用いて、最終的に印刷される無歪ドット画像ＧＤ２においても斜め方向のエッジのがたつきが目立ちやすくなる。
【００８９】
本実施例では、上述のように、Ｌ字型の特定パターンを検出して、補完画素の配置対象とするので、見栄えを向上するべきエッジを適切に選んで、当該エッジの見栄えを向上することができる。例えば、図１３（Ａ）〜（Ｅ）に示す例では、補完画素を配置するが、図１３（Ｆ）に示す例では、補完画素を配置しない。この結果、補完画素を配置することによって、エッジの全体の形状（例えば、図１３（Ｆ）の破線を参照）が損なわれる可能性がある箇所に、補完画素が配置されることを抑制することができる。なお、図１３（Ａ）〜（Ｅ）、図１４（Ａ）は、特定パターン２に対応する補完対象箇所の例を示し、図１４（Ｂ）は、特定パターン２に対応する補完対象箇所（上側）と、特定パターン１に対応する補完対象箇所（下側）とが近接している例を示している。
【００９０】
さらに、連続数決定部Ｍ１４３は、特定パターン１〜４の部分パターンＵＰ１、ＢＰ２、ＵＰ３、ＢＰ４と同じパターンである第１のパターンＬＣＰ１〜ＬＣＰ４を用いて、第１の連続数ＣＬをカウントする。連続数決定部Ｍ１４３は、特定パターン１〜４の部分パターンＢＰ１、ＵＰ２、ＢＰ３、ＵＰ４と同じパターンである第２のパターンＵＣＰ１〜ＬＣＰ４を用いて、第２の連続数ＣＵをカウントする。この結果、補完数ＳＣを定めるための第１の連続数ＣＬと第２の連続数ＣＵとを適切にカウントすることができる。
【００９１】
さらに、連続数決定部Ｍ１４３は、第１の連続数ＣＬが第２の連続数ＣＵより多い場合には、補完数ＳＣを、第２の連続数ＣＵを用いて、決定している（具体的には、ＳＣ＝ＣＵ−１としている。図１１：Ｓ６３３０）。
【００９２】
例えば、図１３（Ａ）は、第１の連続数ＣＬ＝７、第２の連続数ＣＵ＝４である補完対象箇所が、１つある例を示し、図１４（Ｂ）は、第１の連続数ＣＬ＝７、第２の連続数ＣＵ＝４である補完対象箇所が、２つある例を示している。この例では、第２の連続数ＣＵを用いて補完数ＳＣが適切な数（３個）に定められることによって、破線で示す方向に延びるエッジの全体の形状を維持しつつ、エッジを滑らかにされている。また、図１４（Ｂ）の例では、補完数ＳＣが適切な数（上下３個ずつ）に定められることによって、図１３に符号ＶＰで示す画素が黒画素に設定されない。すなわち、上側の補完画素と下側の補完画素とが繋がってしまうことが抑制される。この結果、表現すべき段差が補完画素によって消失することなく、エッジを滑らかにすることができる。
【００９３】
さらに、連続数決定部Ｍ１４３は、第１の連続数ＣＬが第２の連続数ＣＵ以下である場合には、補完数ＳＣを、第１の連続数ＣＬを用いて、決定している（具体的には、ＳＣ＝ＣＬ／２としている。図１１：Ｓ６３３５）。
【００９４】
例えば、図１３（Ｂ）は、第１の連続数ＣＬ＝４、第２の連続数ＣＵ＝４である補完対象箇所の例を示し、図１３（Ｄ）は、第１の連続数ＣＬ＝２、第２の連続数ＣＵ＝４である補完対象箇所がの例を示している。この例では、第１の連続数ＣＬを用いて、補完数ＳＣが適切な数（図１３（Ｂ）：２個、図１３（Ｄ）：１個）に定められることによって、破線で示す方向に延びるエッジの全体の形状を維持しつつ、エッジを滑らかにされている。
【００９５】
さらに、連続数決定部Ｍ１４３は、第１の連続数ＣＬと第２の連続数ＣＵとの少なくとも一方が１である場合には、補完数ＳＣを、１に決定している（図１１：Ｓ６３２０）。
【００９６】
例えば、図１３（Ｃ）は、第１の連続数ＣＬ＝１、第２の連続数ＣＵ＝１である補完対象箇所の例を示し、図１３（Ｅ）は、第１の連続数ＣＬ＝１、第２の連続数ＣＵ＝４である補完対象箇所の例を示し、図１４（Ａ）は、第１の連続数ＣＬ＝４、第２の連続数ＣＵ＝１である補完対象箇所の例を示している。これらの例では、補完数ＳＣが適切な数（１個）に定められることによって、破線で示す方向に延びるエッジの全体の形状を維持しつつ、エッジを滑らかにされている。
【００９７】
このように、第１の連続数ＣＬと第２の連続数ＣＵを適切に用いて、補完数ＳＣを決定する結果、拡大画像において、再現すべきエッジの全体の形状を維持しつつ、エッジのがたつきを抑制することができる。したがって、最終的な印刷画像（無歪ドット画像ＧＤ２）において、元画像のエッジの全体の形状を維持しつつ、エッジのがたつきを抑制することができる。
【００９８】
図１５は、本実施例の印刷画像のエッジと、比較例の印刷画像のエッジを示す図である。図１５（Ａ）は、ステップＳ１００（図２）において取得された対象画像データがポートレイトである場合の例を示している。図１５（Ｂ）は、ステップＳ１００（図２）において取得された対象画像データがランドスケープである場合の例を示している。図１５（Ａ）、（Ｂ）において、右側は、本実施例の画像処理が行われた場合、すなわち、補完画素が付加された場合を示し、左側は、単純拡大画像を用いた場合、すなわち、補完画素が付加されなかった場合を示している。
【００９９】
図１５（Ａ）、（Ｂ）ともに、右側の本実施例の印刷画像は、左側の単純拡大画像を用いた印刷画像と比較して、白画素と黒画素とで形成されるエッジの全体の形状は変化していないにも拘わらず、エッジのがたつきが抑制されていることが解る。本実施例の印刷画像は、特に、斜め方向に延びるエッジ（例えば、符号Ｅ１〜Ｅ６で示す部分）で、顕著にエッジのがたつきが抑制されていることが解る。
【０１００】
さらに、本実施例の拡大処理部Ｍ１４は、元画像を構成する複数の画素の中から順次に対象画素ＳＰを選択し（図９：Ｓ６０５、Ｓ６３５）、対象画素ＳＰが選択される度に、エッジ補完処理を含む第１処理（図９：ステップＳ６３０）と、エッジ補完処理を含まない第２処理（例えば、図９：ステップＳ６１５、Ｓ６２０）のうちのいずれかを実行することによって、拡大画像データを生成している。第１処理は、対象画素ＳＰが特定画素（特定パターンを形成する画素群の中心画素）を含む場合に実行される。第２処理は、対象画素ＳＰが特定画素を含まない場合に実行される。この結果、補完画素が付加された拡大画像（無歪画像ＰＧ１）を容易に作成することができる。
【０１０１】
また、本実施例によれば、ハーフトーン処理部Ｍ１６は、ディザマトリクスを用いて、画素数比Ｓ２が無歪画像ＰＧ１の画素数比Ｓの２倍である歪ドット画像ＧＤ１を表す歪ドットデータを生成する（図２：Ｓ７００）。そして、ドット画像拡大部Ｍ１８は、歪ドットデータに対してドット画像拡大処理を実行して、無歪ドット画像ＧＤ２を表す無歪ドットデータを生成する（図２：Ｓ８００）。この結果、ハーフトーン処理部Ｍ１６は、無歪ドット画像ＧＤ２より小さい歪ドット画像ＧＤ１を表す歪ドットデータを生成すれば良いので、ハーフトーン処理の処理量を低減することができる。
【０１０２】
また、上記実施例では、圧縮部Ｍ１９は、同一行の組を含む無歪ドット画像ＧＤ２を表す無歪ドットデータを、前参照圧縮処理（図４）を用いて圧縮するので、無歪ドットデータのデータ量を低減できる。したがって、印刷装置２００に送信する印刷データのデータ量を低減できる。この結果、印刷装置２００に必要なメモリ容量（例えば、揮発性メモリ２１４の容量）を低減することができる。
【０１０３】
さらに、印刷画像に表れるスクリーン角度、すなわち、本実施例では、無歪ドット画像ＧＤ２（部分無歪ドット画像ＰＧＤ２（図８））に表れるスクリーン角度は、画質に影響を与える。例えば、人間の視覚特性において、縦方向および横方向の縞模様に対する分解能が高く、斜め方向の縞模様に対する分解能が低いことが知られている。このために、縦方向および横方向の縞模様は目立ちやすく、斜め方向の縞模様は目立ちにくい。このような人間の視覚特性を考慮して、モノクロ印刷では、印刷画像に表れるスクリーン角度は４５度に設定されるのが一般的である。上記構成によれば、無歪ドット画像ＧＤ２（部分無歪ドット画像ＰＧＤ２（図８））に表れるスクリーン角度が目標値θになるように、ディザマトリクスＤＭ１のスクリーン角度φは、φ＝ａｒｃｔａｎ（（ｔａｎθ）／２）に設定されている。具体的には、無歪ドット画像ＧＤ２（部分無歪ドット画像ＰＧＤ２（図８））に表れるスクリーン角度θが約４５度になるように、ディザマトリクスＤＭ１のスクリーン角度φは、約２６．５６度に設定されている。この結果、印刷画像、すなわち、無歪ドット画像ＧＤ２に表れるスクリーン角度を適正化して、印刷画像の画質を向上することができる。
【０１０４】
また、印刷画像における線数（単位は、line per inch）、すなわち、本実施例では、無歪ドット画像ＧＤ２（部分無歪ドット画像ＰＧＤ２（図８））における線数は、画質に影響を与える。例えば、線数が小さい場合には、互いに隣接するドットの集合の大きさ（サブマトリクスＣＥ１に対応（図６））が大きくなるので、トナーの安定性が向上して、バンディングなどの不具合が起こりにくくなる。一方、線数が小さい場合には、画像が粗くなり、エッジのがたつきが大きくなる。このような、利点と欠点を考慮して、適切な線数が定められる。無歪ドット画像ＧＤ２（部分無歪ドット画像ＰＧＤ２（図８））における線数は、上述したライン間隔Ｄによって定まる。上記構成によれば、無歪ドット画像ＧＤ２（部分無歪ドット画像ＰＧＤ２（図８））に表れるライン間隔が目標値Ｄになるように、ディザマトリクスＤＭ１は、歪ドット画像ＧＤ１（部分歪ドット画像ＰＧＤ１：図７）に表れるライン間隔Ｌが、およそ（１／２）×Ｄ×ｃｏｓφ／ｃｏｓθ、ただし、φ＝ａｒｃｔａｎ（（ｔａｎθ）／２）  となるように、設定されている。この結果、印刷画像、すなわち、無歪ドット画像ＧＤ２に表れるライン間隔Ｄ、および、ライン間隔Ｄによって定まる線数を適正化して、印刷画像の画質を向上することができる。
【０１０５】
以上の説明から解るように、本実施例における上方向および下方向のいずれか一方は、第１の方向の例であり、右方向および左方向のいずれか一方が、第１の方向と交差する第２の方向の例である。また、本実施例における特定パターン１、３の上部分パターンＵＰ１、ＵＰ３は、第１部分パターンの例であり、本実施例における特定パターン１、３の下部分パターンＢＰ１、ＢＰ３は、第２部分パターンの例である。また、本実施例における特定パターン２、４の下部分パターンＢＰ２、ＢＰ４は、第１部分パターンの例であり、本実施例における特定パターン２、４の上部分パターンＵＰ２、ＵＰ４は、第２部分パターンの例である。
【０１０６】
Ｂ．変形例：
（１）実施例では、拡大処理部Ｍ１４は、元画像（無歪画像ＰＧ１）を拡大して、拡大画像（歪画像ＰＧ２）を生成する処理として、元画像を横方向に拡大する横方向拡大処理（図２：ステップＳ６００）を実行しているが、元画像を縦方向に拡大する縦方向拡大処理を実行しても良い。例えば、ステップＳ１００（図２）において取得された対象画像データがランドスケープである場合に、拡大処理部Ｍ１４は、９０度回転処理（図２：Ｓ５００）を行うことなく、横方向拡大処理に代えて、縦方向拡大処理を実行しても良い。この場合には、縦方向拡大処理によって生成された拡大画像（歪画像）を表す拡大画像データに対して、ハーフトーン処理（図２：Ｓ７００）を行う前に、９０度回転処理を行うことが好ましい。
【０１０７】
図１６は、縦方向拡大処理における特定パターンとカウント用パターンについて説明する図である。縦方向拡大処理は、実施例における横方向拡大処理（図９、図１１）と基本的に同じであるが、以下の点が異なる。
１）縦方向拡大処理では、元画像の対象画素ＳＰの座標を（Ｘａ、Ｙａ）とすると、拡大画像の対応対象画素ＴＰの座標は、（Ｘａ、２Ｙａ）と（Ｘａ、２Ｙａ＋１）である。
２）図１６に示すように、縦方向拡大処理の４種類の特定パターン１〜４は、横方向拡大処理の４種類の特定パターン１〜４（図１０）を、それぞれ９０度回転（図１６の例では、反時計回りに９０度）させたパターンである。
３）図１６に示すように、縦方向拡大処理の特定パターン１〜４に対応する第１のパターンＬＣＰ１〜ＬＣＰ４、第２のパターンＵＣＰ１〜ＵＣＰ４、カウント方向ＣＤ１、ＣＤ２、補完方向ＳＤ、補完パターンＳＤＰ１〜ＳＤＰ４は、横方向拡大処理におけるこれらの要素ＬＣＰ１〜ＬＣＰ４、ＵＣＰ１〜ＵＣＰ４、ＣＤ１、ＣＤ２、ＳＤ、ＳＤＰ１〜ＳＤＰ４を、それぞれ、９０度回転（図１６の例では、反時計回りに９０度）させたものである。
【０１０８】
例えば、縦方向拡大処理の特定パターン１〜４は、それぞれ、縦方向に並んだ３つの画素で構成される中央部分パターンＭＰ１〜ＭＰ４と、中央部分パターンＭＰ１〜ＭＰ４の左方向にそれぞれ隣接する左部分パターンＬＰ１〜ＬＰ４と、中央部分パターンＭＰ１の右方向にそれぞれ隣接する右部分パターンＲＰ１〜ＲＰ４とを含む。
【０１０９】
そして、縦方向拡大処理の第１のパターンＬＣＰ１〜ＬＣＰ４は、対応する特定パターンに含まれる３つの部分パターンのうち、中心画素に対してカウント方向ＣＤ１に隣接する部分パターンと同じパターンである。縦方向拡大処理の第２のパターンＵＣＰ１〜ＵＣＰ４は、対応する特定パターンに含まれる３つの部分パターンのうち、中心画素に対してカウント方向ＣＤ２に隣接する部分パターンと同じパターンである。
【０１１０】
縦方向拡大処理を採用しても、実施例と同様の作用・効果を奏する。
また、以上の説明から解るように、本変形例における右方向および左方向のいずれか一方は、第１の方向の例であり、下方向および上方向のいずれか一方が、第１の方向と交差する第２の方向の例である。また、本変形例における特定パターン１、３の左部分パターンＬＰ１、ＬＰ３は、第１部分パターンの例であり、本変形例における特定パターン１、３の右部分パターンＲＰ１、ＲＰ３は、第２部分パターンの例である。また、本変形例における特定パターン２、４の右部分パターンＲＰ２、ＲＰ４は、第１部分パターンの例であり、本変形例における特定パターン２、４の左部分パターンＬＰ２、ＬＰ４は、第２部分パターンの例である。
【０１１１】
（２）上記実施例における横方向拡大処理（図９）に代えて、先に、単純拡大画像を表す単純拡大画像データを生成し、単純拡大画像に補完画素を付加するように、単純拡大画像データを修正することによって、拡大画像データを生成しても良い。
【０１１２】
図１７は、本変形例における横方向拡大処理のフローチャートである。ステップＳ６０２Ｂでは、拡大処理部Ｍ１４は、単純拡大画像データを生成する。ステップＳ６０５では、拡大処理部Ｍ１４は、単純拡大画像を構成する画素の中から処理対象とする対象画素を順次に１つずつ選択する。具体的には、単純拡大画像の上端の行から順に、下方に向かって処理対象とする。同じ行の中では、左端の画素から、右に向かって順次に処理対象とする。
【０１１３】
ステップＳ６１０Ｂでは、実施例のステップ６１０と同様に、拡大処理部Ｍ１４は、対象画素は白画素であるか否かを判断する。対象画素が白画素であると判断されると（ステップＳ６１０Ｂ：ＹＥＳ）、拡大処理部Ｍ１４のパターン検出部Ｍ１４２は、単純拡大画像において、対象画素とその周辺画素とは、後述する４種類の特定パターン１〜４のいずれかを形成するか否かを判断する（ステップＳ６２５Ｂ）。
【０１１４】
図１８は、本変形例の横方向拡大処理における特定パターンとカウント用パターンについて説明する図である。本変形例における特定パターンは、実施例における元画像の特定パターン１〜４（図１０）にそれぞれ対応する、拡大画像の特定パターン１〜４（図１８）である。本変形例における拡大画像の特定パターン１〜４を対応特定パターンとも呼ぶ。例えば、対応特定パターン１〜４は、４つの縦方向の列を含む、縦３画素×横４画素（計１２画素）のパターンである（図１８）。対応特定パターン１〜４の中央の２列（２列目と３列目）は、元画像の特定パターン１〜４（図１０）を構成する３つの縦方向の列のうち、中央の列と同じである。パターン検出部Ｍ１４２は、このような拡大画像の対応特定パターン１〜４を、単純拡大画像において検出することによって、実施例において補完画素を付加すべき位置として検出される拡大画像上の位置と同じ位置を、単純拡大画像において検出することができる。
【０１１５】
ステップＳ６１０Ｂにおいて、対象画素は白画素でないと判断された場合（ステップＳ６１０Ｂ：ＮＯ）、および、ステップＳ６２５Ｂにおいて、対象画素とその周辺画素とは、単純拡大画像において４種類の対応特定パターン１〜４のいずれも形成しないと判断された場合（ステップＳ６２５Ｂ：ＮＯ）には、拡大処理部Ｍ１４は、ステップＳ６３５に処理を進める。
【０１１６】
対象画素とその周辺画素とは、単純拡大画像において４種類の対応特定パターン１〜４のいずれかを形成すると判断された場合（ステップＳ６２５Ｂ：ＹＥＳ）には、拡大処理部Ｍ１４は、エッジ補完処理を実行する（ステップＳ６３０Ｂ）。
【０１１７】
本変形例のエッジ補完処理の処理フローは、実施例におけるエッジ補完処理（図１１）と基本的に同じであるが、以下の点が異なる。
１）本変形例では、第１の連続数ＣＬと第２の連続数ＣＵのカウントは、単純拡大画像においてカウントされる。本変形例において、これらのカウントに用いられる第１のパターンＬＣＰ１〜ＬＣＰ４および第２のパターンＵＣＰ１〜ＵＣＰ４は、図１８に示すように、対応特定パターン１〜４の一部分である横方向に並んだ４個の画素（上部分パターンＵＰ１〜ＵＰ４および下部分パターンＢＰ１〜ＢＰ４のいずれか）と同じパターンである。
【０１１８】
このように、単純拡大画像において、第１の連続数ＣＬおよび第２の連続数ＣＵをカウントしても、実施例のように、元画像において第１の連続数ＣＬおよび第２の連続数ＣＵをカウントしても、結果的には、第１の連続数ＣＬおよび第２の連続数ＣＵは同じ値となる。この結果、いずれの場合であっても、連続数決定部Ｍ１４３は、補完数ＳＣを、元画像における第１の連続数ＣＬと第２の連続数ＣＵに応じた数に、適切に決定することができる。
【０１１９】
なお、本変形例においても、第１の連続数ＣＬと第２の連続数ＣＵのカウントは、実施例と同様に、元画像においてカウントされても良い。ただし、単純拡大画像においてカウントすれば、単純拡大画像データを生成した時点で、元画像データを消去しても良いので、処理に要するメモリ量を削減することができる。
【０１２０】
本変形例の横方向拡大処理を採用しても、実施例と同様の作用・効果を奏する。
【０１２１】
（３）上記実施例の横方向拡大処理では、元画像に白画素と黒画素とによって構成される特定パターンが含まれる場合に、拡大画像に、黒画素を補完画素として付加しているが、白画素と黒画素の組合せに限らず、互いの色の相違が比較的大きい（基準値より大きい）色をそれぞれ表す第１種の画素と第２種の画素との組合せであれば良い。例えば、黒以外の色成分（例えば、ＲＧＢや、ＣＭＹのいずれか）の階調値を表す画素のうち、最大値近傍の色の画素と、最小値近傍の色の画素との組合せであっても良い。第１種の画素は、特定の階調値（例えば、ＲＧＢのいずれかの階調値、ＣＭＹＫのいずれかの階調値）が、当該階調値が取り得る値の最大値および最小値のうちの一方である画素を含むことが好ましく、第２種の画素は、当該特定の階調値が、当該階調値が取り得る値の最大値および最小値のうちの他方である画素を含むことが好ましい。
【０１２２】
（４）上記実施例では、モノクロ印刷のための印刷データを生成しているが、これに代えて、カラー印刷のための印刷データを生成しても良い。例えば、ＲＧＢ画像データや、カラー印刷に用いられる印刷材（具体的には、ＣＭＹＫのトナー）に対応する色成分の階調値の組（具体的には、ＣＭＹＫの階調値の組）を表すＣＭＹＫ画素データで構成されたビットマップデータ（ＣＭＹＫ画像データ）に対して、上述した画像処理を行って良い。具体的には、プリンタドライバＭ１０は、各色成分の画素値で表される各単色画像データに対して、それぞれ、上述した横方向拡大処理を含む処理（図２：Ｓ６００〜Ｓ９００）を実行して、ＣＭＹＫの各色成分の圧縮ドットデータ３００を生成しても良い。プリンタドライバＭ１０は、圧縮ドットデータ３００を用いて印刷データを生成して、印刷装置２００に送信しても良い。
【０１２３】
（５）上記実施例において、カウント用パターン（第１のパターンＬＣＰと第２のパターンＵＣＰ）は、対応する特定パターンの一部である部分特定パターンと同じパターンであるが、部分特定パターンとは異なるパターンであっても良い。
【０１２４】
（６）なお、上記実施例では、ドット画像拡大部Ｍ１８が、圧縮されていない無歪ドットデータを生成した後に、圧縮部Ｍ１９が該無歪ドットデータを圧縮して圧縮ドットデータ３００（図５）を生成している。これに代えて、ドット画像拡大部Ｍ１８が、歪ドットデータを用いて、圧縮されていない無歪ドットデータを生成することなく、圧縮ドットデータ３００を生成しても良い。具体的には、ドット画像拡大部Ｍ１８は、歪ドットデータに含まれる各行データを圧縮して、無歪ドットデータにおける奇数行データ３１０Ａ、３２０、３３０を生成する度に、偶数行データ３１０Ｂ（ＯＮの参照フラグデータ）を、奇数行データの直後に付加するしても良い。ドット画像拡大部Ｍ１８は、この処理を、歪ドットデータに含まれる全ての行データについて繰り返すことによって、圧縮されていない無歪ドットデータを生成することなく、圧縮された無歪ドットデータである圧縮ドットデータ３００を生成しても良い。すなわち、ドット画像拡大部Ｍ１８は、同一行の組を表す圧縮データを含む無歪ドットデータ（圧縮ドットデータ３００）を、歪ドットデータを用いて生成しても良い。
【０１２５】
（７）上記実施例の画像処理において、ステップＳ８００とＳ９００（図２）の処理を省略して、Ｓ７００において生成された歪ドットデータを印刷データとして、印刷装置２００に供給しても良い。この場合には、印刷装置２００の装置制御部Ｍ２０が、歪ドットデータを用いて無歪ドットデータを生成し、生成した無歪ドットデータをプリンタエンジン２５０に供給しても良い。こうすれば、印刷装置２００は、上記実施例と同様に、無歪ドットデータが表す無歪ドット画像ＧＤ２を印刷することができる。
【０１２６】
（８）上記実施例におけるプリンタドライバＭ１０の各機能部Ｍ１２〜Ｍ１９は、印刷装置２００の制御回路２１２によって実現されても良い。すなわち、印刷装置２００の制御回路２１２において、上述した画像処理が実行されても良い。この場合には、印刷装置２００における画像処理によって、印刷画像におけるエッジの見栄えを向上することができる。
【０１２７】
（９）上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。
【０１２８】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０１２９】
１００...計算装置、１１０...ＣＰＵ、１２０...内部記憶装置、１３０...外部記憶装置、１３２...ドライバプログラム、１３４...画像データ、１７０...操作部、１８０...表示部、１９０...通信部、２００...印刷装置、２１０...集積回路、２１２...制御回路、２１４...揮発性メモリ、２１６...不揮発性メモリ、２５０...プリンタエンジン、２７０...操作部、２８０...表示部、２９０...通信部、Ｍ１０...プリンタドライバ、Ｍ２０...装置制御部、Ｍ１２...画像データ取得部、Ｍ１４...拡大処理部、Ｍ１６...ハーフトーン処理部、Ｍ１８...ドット画像拡大部、Ｍ１９...圧縮部、Ｍ１４１...対象画素選択部、Ｍ１４２...パターン検出部、Ｍ１４３...連続数決定部、Ｍ１４４...画素群選択部、Ｍ１４５...画素データ設定部
【図１】
0005927984.tif 000002
【図２】
0005927984.tif 000003
【図３】
0005927984.tif 000004
【図４】
0005927984.tif 000005
【図５】
0005927984.tif 000006
【図６】
0005927984.tif 000007
【図７】
0005927984.tif 000008
【図８】
0005927984.tif 000009
【図９】
0005927984.tif 000010
【図１０】
0005927984.tif 000011
【図１１】
0005927984.tif 000012
【図１２】
0005927984.tif 000013
【図１３】
0005927984.tif 000014
【図１４】
0005927984.tif 000015
【図１５】
0005927984.tif 000016
【図１６】
0005927984.tif 000017
【図１７】
0005927984.tif 000018
【図１８】
0005927984.tif 000019