(57)【特許請求の範囲】
【請求項１】
ホスト装置と、各画素についてドット形成の有無を示すドットデータを用いて印刷を行うプリンターとを備える印刷システムであって、
前記ホスト装置は、
複数の画素をグループ化することによって、疑似画素を生成する疑似画素生成部と、
内部にエッジを含まない前記疑似画素それぞれについて、該疑似画素を構成する各画素の表色値を反映した代表値を割り当てる割り当て部と、
内部にエッジを含む前記疑似画素を構成する画素を対象にしたハーフトーン処理を実行することによって、前記ドットデータを生成するホストハーフトーン処理部と、
前記割り当て部によって割り当てられた代表値と、前記ホストハーフトーン処理部によって生成されたドットデータとを前記プリンターに転送する転送部とを備え、
前記プリンターは、
前記ホスト装置から転送された代表値を対象にしたハーフトーン処理を実行することによって、前記ドットデータを生成するプリンターハーフトーン処理部と、
前記プリンターハーフトーン処理部によって生成されたドットデータと、前記ホスト装置から転送されたドットデータとによって印刷を行う印刷部とを備え、
前記割り当て部は、前記疑似画素の中で、内部にエッジを含まないものに加えて、内部にエッジを含むものそれぞれに前記代表値を割り当て、
前記転送部は、前記内部にエッジを含む疑似画素と、前記内部にエッジを含まない疑似画素とに割り当てられた前記代表値を転送し、
前記印刷部は、前記ホスト装置から転送されたドットデータと、前記プリンターハーフトーン処理部によって生成されたドットデータとが同一の画素について存在する場合、該画素について前記ホスト装置から転送されたドットデータによって印刷を行う
印刷システム。
【請求項２】
ホスト装置と、各画素についてドット形成の有無を示すドットデータを用いて印刷を行うプリンターとを備える印刷システムであって、
前記ホスト装置は、
複数の画素をグループ化することによって、疑似画素を生成する疑似画素生成部と、
内部にエッジを含まない前記疑似画素それぞれについて、該疑似画素を構成する各画素の表色値を反映した代表値を割り当てる割り当て部と、
内部にエッジを含む前記疑似画素を構成する画素を対象にしたハーフトーン処理を実行することによって、前記ドットデータを生成するホストハーフトーン処理部と、
前記割り当て部によって割り当てられた代表値と、前記ホストハーフトーン処理部によって生成されたドットデータとを前記プリンターに転送する転送部とを備え、
前記プリンターは、
前記ホスト装置から転送された代表値を対象にしたハーフトーン処理を実行することによって、前記ドットデータを生成するプリンターハーフトーン処理部と、
前記プリンターハーフトーン処理部によって生成されたドットデータと、前記ホスト装置から転送されたドットデータとによって印刷を行う印刷部とを備え、
前記転送部は、前記代表値を圧縮して転送し、
前記ホスト装置は、前記内部にエッジを含む疑似画素の代表値を、隣の疑似画素の代表値と同じ値に変更する変更部を備える
印刷システム。
【請求項３】
ホスト装置と、各画素についてドット形成の有無を示すドットデータを用いて印刷を行うプリンターとを備える印刷システムであって、
前記ホスト装置は、
複数の画素をグループ化することによって、疑似画素を生成する疑似画素生成部と、
内部にエッジを含まない前記疑似画素それぞれについて、該疑似画素を構成する各画素の表色値を反映した代表値を割り当てる割り当て部と、
内部にエッジを含む前記疑似画素を構成する画素を対象にしたハーフトーン処理を実行することによって、前記ドットデータを生成するホストハーフトーン処理部と、
前記割り当て部によって割り当てられた代表値と、前記ホストハーフトーン処理部によって生成されたドットデータとを前記プリンターに転送する転送部とを備え、
前記プリンターは、
前記ホスト装置から転送された代表値を対象にしたハーフトーン処理を実行することによって、前記ドットデータを生成するプリンターハーフトーン処理部と、
前記プリンターハーフトーン処理部によって生成されたドットデータと、前記ホスト装置から転送されたドットデータとによって印刷を行う印刷部とを備え、
前記ホストハーフトーン処理部は、前記内部にエッジを含まない疑似画素同士の境界にエッジが存在する場合、該エッジとしての境界を共有する疑似画素の少なくとも１つを選択し、該選択した疑似画素を構成する画素をハーフトーン処理の対象に加える
印刷システム。
【請求項４】
請求項１から請求項３の何れか一つに記載の印刷システムであって、
前記代表値は、前記疑似画素それぞれを構成する画素の表色値の統計値である
印刷システム。
【請求項５】
請求項１から請求項４の何れか一つに記載の印刷システムであって、
前記表色値は、無彩色を示すためのものである
印刷システム。
【請求項６】
ホスト装置に実行させるためのホスト用プログラムと、各画素についてドットの有無を示すドットデータを用いて印刷を行うプリンターに実行させるためのプリンター用プログラムとを備える印刷システム用プログラムであって、
前記ホスト用プログラムは、
複数の画素をグループ化することによって、前記プリンターの解像度よりも低い解像度を有する疑似画素を生成する疑似画素生成手順と、
前記疑似画素の中で内部にエッジを含まないものそれぞれについて、該疑似画素を構成する各画素に割り当てられた表色値を基にして決定される代表値を割り当てる割り当て手順と、
前記疑似画素の中で内部にエッジを含むものを構成する画素を対象にしたハーフトーン処理を実行することによって、前記ドットデータを生成するホストハーフトーン処理手順と、
前記割り当て手順によって割り当てられた代表値と、前記ホストハーフトーン処理手順によって生成されたドットデータとを前記プリンターに転送する転送手順と
を実行させるためのものであり、
前記プリンター用プログラムは、
前記ホスト装置から転送された代表値を対象にしたハーフトーン処理を実行することによって、前記ドットデータを生成するプリンターハーフトーン処理手順と、
前記プリンターハーフトーン処理手順によって生成されたドットデータと、前記ホスト装置から転送されたドットデータとによって印刷を行う印刷手順と
を実行させるためのものであり、
前記割り当て手順では、前記疑似画素の中で、内部にエッジを含まないものに加えて、内部にエッジを含むものそれぞれに前記代表値を割り当て、
前記転送手順では、前記内部にエッジを含む疑似画素と、前記内部にエッジを含まない疑似画素とに割り当てられた前記代表値を転送し、
前記印刷手順では、前記ホスト装置から転送されたドットデータと、前記プリンターハーフトーン処理手順によって生成されたドットデータとが同一の画素について存在する場合、該画素について前記ホスト装置から転送されたドットデータによって印刷を行う
ための印刷システム用プログラム。
【請求項７】
ホスト装置に実行させるためのホスト用プログラムと、各画素についてドットの有無を示すドットデータを用いて印刷を行うプリンターに実行させるためのプリンター用プログラムとを備える印刷システム用プログラムであって、
前記ホスト用プログラムは、
複数の画素をグループ化することによって、前記プリンターの解像度よりも低い解像度を有する疑似画素を生成する疑似画素生成手順と、
前記疑似画素の中で内部にエッジを含まないものそれぞれについて、該疑似画素を構成する各画素に割り当てられた表色値を基にして決定される代表値を割り当てる割り当て手順と、
前記疑似画素の中で内部にエッジを含むものを構成する画素を対象にしたハーフトーン処理を実行することによって、前記ドットデータを生成するホストハーフトーン処理手順と、
前記割り当て手順によって割り当てられた代表値と、前記ホストハーフトーン処理手順によって生成されたドットデータとを前記プリンターに転送する転送手順と
を実行させるためのものであり、
前記プリンター用プログラムは、
前記ホスト装置から転送された代表値を対象にしたハーフトーン処理を実行することによって、前記ドットデータを生成するプリンターハーフトーン処理手順と、
前記プリンターハーフトーン処理手順によって生成されたドットデータと、前記ホスト装置から転送されたドットデータとによって印刷を行う印刷手順と
を実行させるためのものである
前記転送手順では、前記代表値を圧縮して転送し、
前記ホスト装置は、前記内部にエッジを含む疑似画素の代表値を、隣の疑似画素の代表値と同じ値に変更する
ための印刷システム用プログラム。
【請求項８】
ホスト装置に実行させるためのホスト用プログラムと、各画素についてドットの有無を示すドットデータを用いて印刷を行うプリンターに実行させるためのプリンター用プログラムとを備える印刷システム用プログラムであって、
前記ホスト用プログラムは、
複数の画素をグループ化することによって、前記プリンターの解像度よりも低い解像度を有する疑似画素を生成する疑似画素生成手順と、
前記疑似画素の中で内部にエッジを含まないものそれぞれについて、該疑似画素を構成する各画素に割り当てられた表色値を基にして決定される代表値を割り当てる割り当て手順と、
前記疑似画素の中で内部にエッジを含むものを構成する画素を対象にしたハーフトーン処理を実行することによって、前記ドットデータを生成するホストハーフトーン処理手順と、
前記割り当て手順によって割り当てられた代表値と、前記ホストハーフトーン処理手順によって生成されたドットデータとを前記プリンターに転送する転送手順と
を実行させるためのものであり、
前記プリンター用プログラムは、
前記ホスト装置から転送された代表値を対象にしたハーフトーン処理を実行することによって、前記ドットデータを生成するプリンターハーフトーン処理手順と、
前記プリンターハーフトーン処理手順によって生成されたドットデータと、前記ホスト装置から転送されたドットデータとによって印刷を行う印刷手順と
を実行させるためのものであり、
前記ホストハーフトーン処理手順では、前記内部にエッジを含まない疑似画素同士の境界にエッジが存在する場合、該エッジとしての境界を共有する疑似画素の少なくとも１つを選択し、該選択した疑似画素を構成する画素をハーフトーン処理の対象に加える
ための印刷システム用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷を行うシステムに関する。
【背景技術】
【０００２】
印刷装置は、通常、各画素についてドット形成の有無を示すデータ（ドットデータ）を基に印刷を行う。ドットデータは、通常、ＲＧＢ形式による画像データを変換することによって生成される。画像の解像度が高くなればなるほど、この変換に時間を要する。
【０００３】
そこで、複数の画素をグループ化し、グループ内のエッジの有無に応じた処理を行うことによって、変換に要する時間を短縮する技術が知られている。ここで言うエッジとは、色や明度が急激に変化することによって生じる境界線のことである。この技術では、エッジを有するグループは従来通りに変換する一方、エッジを有しないグループは情報を圧縮して変換を行う。この変換は、通常、プリンターと通信するホスト装置（コンピューター）が実行する。変換によって生成されたドットデータは、印刷のためのデータとして、ホスト装置からプリンターに転送される。プリンターは、転送されたドットデータを基に印刷を行う（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２８９２７４
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記先行技術は、印刷のためのデータをプリンターに転送する時間の短縮と、印刷画質の劣化の抑制とを両立させることが課題であった。特に近年は、ホスト装置によるドットデータへの変換速度の向上や、ラインプリンターによる用紙送り速度の向上によって、ホスト装置からプリンターへのデータの転送に要する時間が、印刷処理にとっての律速となる状況が生じていた。よって、データの転送時間の短縮が課題となっていた。もちろん、解像度を低くすれば、データの転送時間の短縮を容易に実現できるが、その分、画質が劣化する。このように、ドットデータをプリンターに転送する時間の短縮と、印刷画質の劣化の抑制とを両立させることが課題となっていた。
【課題を解決するための手段】
【０００６】
本発明は、上記課題の少なくとも一部を解決するためのものであり、以下の形態または適用例として実現できる。
【０００７】
適用例１：ホスト装置と、各画素についてドット形成の有無を示すドットデータを用いて印刷を行うプリンターとを備える印刷システムであって、
前記ホスト装置は、
複数の画素をグループ化することによって、疑似画素を生成する疑似画素生成部と、
内部にエッジを含まない前記疑似画素それぞれについて、該疑似画素を構成する各画素の表色値を反映した代表値を割り当てる割り当て部と、
内部にエッジを含む前記疑似画素を構成する画素を対象にしたハーフトーン処理を実行することによって、前記ドットデータを生成するホストハーフトーン処理部と、
前記割り当て部によって割り当てられた代表値と、前記ホストハーフトーン処理部によって生成されたドットデータとを前記プリンターに転送する転送部とを備え、
前記プリンターは、
前記ホスト装置から転送された代表値を対象にしたハーフトーン処理を実行することによって、前記ドットデータを生成するプリンターハーフトーン処理部と、
前記プリンターハーフトーン処理部によって生成されたドットデータと、前記ホスト装置から転送されたドットデータとによって印刷を行う印刷部とを備えることを要旨とする。
この印刷システムによれば、印刷のためのデータの転送時間の短縮と、印刷画質の劣化の抑制とを両立できる。この印刷システムにおいては、内部にエッジを含まない疑似画素について、ドットデータではなく、代表値を転送する。代表値は、複数の画素から構成されることによって低解像度化された疑似画素についてのデータなので、ドットデータよりもデータ量が小さい。よって、ホスト装置からプリンターへ転送するデータ量を小さくできる。ひいては、データ転送にかかる時間を短縮できる。
エッジを含まない疑似画素の印刷は、代表値によっても、各画素の表色値によっても、エッジを含まないのだから画質に大差はない。よって、この印刷システムによれば、印刷のためのデータの転送時間の短縮と、画質の劣化の抑制とを両立できる。
【０００８】
適用例２：適用例１に記載の印刷システムであって、
前記割り当て部は、前記疑似画素の中で、内部にエッジを含まないものに加えて、内部にエッジを含むものそれぞれに前記代表値を割り当て、
前記転送部は、前記内部にエッジを含む疑似画素と、前記内部にエッジを含まない疑似画素とに割り当てられた前記代表値を転送し、
前記印刷部は、前記ホスト装置から転送されたドットデータと、前記プリンターハーフトーン処理部によって生成されたドットデータとが同一の画素について存在する場合、該画素について前記ホスト装置から転送されたドットデータによって印刷を行うことを要旨とする。
この印刷システムによれば、疑似画素にエッジが含まれるか否かを、割り当て部及び転送部が判断する必要がなくなる。よって、ホスト装置の処理負荷が低くなる。なお、プリンターハーフトーン処理部は、内部にエッジを含む疑似画素を構成する画素のドットデータを生成しても良いし、しなくても良い。
【０００９】
適用例３：適用例１又は適用例２に記載の印刷システムであって、
前記転送部は、前記代表値を圧縮して転送することを要旨とする。
この印刷システムによれば、代表値に関するデータ量を更に小さくすることができる。
【００１０】
適用例４：適用例３に記載の印刷システムであって、
前記ホスト装置は、前記内部にエッジを含む疑似画素の代表値を、隣の疑似画素の代表値と同じ値に変更する変更部を備えることを要旨とする。
この印刷システムによれば、代表値に関するデータ量を更に小さくすることができる。データ圧縮の圧縮率は、同じデータが連続するほど、高くなる場合が多い。よって、内部にエッジを含む疑似画素の代表値を、隣の疑似画素の代表値と同じ値に変更することによって、圧縮率が高くなり、データ量が小さくなる。なお、内部にエッジを含む疑似画素の代表値は、印刷には用いられないので、値を変更しても画質には影響しない。「隣の疑似画素」とは、圧縮において隣のデータとなる疑似画素のことである。
【００１１】
適用例５：適用例１から適用例４の何れか一つに記載の印刷システムであって、
前記代表値は、前記疑似画素それぞれを構成する複数の画素の表色値の統計値である
印刷システム。
この印刷システムによれば、代表値を簡単に算出できるので、割り当てにかかる時間を短縮できる。統計値としては、例えば、平均値、最大値、最小値などが考えられる。
【００１２】
適用例６：適用例１から適用例５の何れか一つに記載の印刷システムであって、
前記表色値は、無彩色を示すためのものであることを要旨とする。
この印刷システムによれば、カラー印刷の場合に比べて、代表値とホストハーフトーン処理部によるドットデータとのデータ量が小さくなるので、データを転送する時間を短縮できる。
【００１３】
適用例７：適用例１から適用例６の何れか一つに記載の印刷システムであって、
前記ホストハーフトーン処理部は、前記内部にエッジを含まない疑似画素同士の境界にエッジが存在する場合、該エッジとしての境界を共有する疑似画素の少なくとも１つを選択し、該選択した疑似画素を構成する画素をハーフトーン処理の対象に加えることを要旨とする。
この印刷システムによれば、疑似画素同士の境界にエッジが存在する場合でも、高画質な印刷ができる。
【００１４】
適用例８：ホスト装置に実行させるためのホスト用プログラムと、各画素についてドットの有無を示すドットデータを用いて印刷を行うプリンターに実行させるためのプリンター用プログラムとを備える印刷システム用プログラムであって、
前記ホスト用プログラムは、
複数の画素をグループ化することによって、前記プリンターの解像度よりも低い解像度を有する疑似画素を生成する疑似画素生成手順と、
前記疑似画素の中で内部にエッジを含まないものそれぞれについて、該疑似画素を構成する各画素に割り当てられた表色値を基にして決定される代表値を割り当てる割り当て手順と、
前記疑似画素の中で内部にエッジを含むものを構成する画素を対象にしたハーフトーン処理を実行することによって、前記ドットデータを生成するホストハーフトーン処理手順と、
前記割り当て手順によって割り当てられた代表値と、前記ホストハーフトーン処理手順によって生成されたドットデータとを前記プリンターに転送する転送手順と
を実行させるためのものであり、
前記プリンター用プログラムは、
前記ホスト装置から転送された代表値を対象にしたハーフトーン処理を実行することによって、前記ドットデータを生成するプリンターハーフトーン処理手順と、
前記プリンターハーフトーン処理手順によって生成されたドットデータと、前記ホスト装置から転送されたドットデータとによって印刷を行う印刷手順と
を実行させるためのものであることを要旨とする。
この印刷システム用プログラムによれば、適用例１と同じ効果を得ることができる。
【図面の簡単な説明】
【００１５】
【図１】印刷システム１０の構成。
【図２】ホストコンピューター２００とプリンター３００との構成。
【図３】ホスト側処理を示すフローチャート。
【図４】データが変換される様子。
【図５】ホストハーフトーン処理を示すフローチャート。
【図６】プリンター側処理を示すフローチャート。
【発明を実施するための形態】
【００１６】
１．印刷システム（図１、図２）：
図１は、印刷システム１０の構成を説明する図である。印刷システム１０は、ホストコンピューター２００とプリンター３００とを備える。ホストコンピューター２００とプリンター３００とはＵＳＢケーブル１２０によって接続されている。ホストコンピューター２００は、印刷のためのデータ（以下「印刷用画像データ」と言う。）をプリンター３００に転送する。プリンター３００は、ホストコンピューター２００から転送された印刷用画像データに基づいて、解像度１４４０×７２０ｄｐｉによって印刷媒体に画像を印刷する。この印刷用画像データは、表示用画像データが、プリンタードライバーによって変換されたデータである。表示用画像データは、ホストコンピューター２００に備えられたディスプレイ装置２１５（図２と共に後述）に画像を表示させるためのものである。表示用画像データは、１画素当たり８ｂｉｔ×３原色のＲＧＢ形式データであり、解像度が７２０×７２０ｄｐｉである。
【００１７】
図２は、ホストコンピューター２００とプリンター３００の構成を概略的に示す図である。ホストコンピューター２００は、ＣＰＵ２０１、ＲＡＭ２０３、ＲＯＭ２０５、ディスプレイ装置コントローラー２０７、キーボードコントローラー２０９、メモリーコントローラー２１１、ハードディスクドライブ（ＨＤＤ）２１３、通信インターフェイス（Ｉ／Ｆ）２２０を備える。これらの構成要素はバス２３０を介して互いに接続されている。ディスプレイ装置コントローラー２０７には、ディスプレイ装置２１５が接続される。キーボードコントローラー２０９にはキーボード２１７が接続され、メモリーコントローラー２１１には外部メモリー２１９が接続されている。通信Ｉ／Ｆ２２０にはＵＳＢケーブル１２０が接続されている。本実施形態においては、通信Ｉ／Ｆ２２０と後述する通信Ｉ／Ｆ３２０との規格はＵＳＢ２．０である。ＵＳＢケーブル１２０はＵＳＢ２．０に対応したケーブルである。ＣＰＵ２０１は、ホストコンピューター２００全体の動作を制御するために、ＨＤＤ２１３に記憶されているプログラムをＲＡＭ２０３に読み出して実行する。
【００１８】
一方、プリンター３００は、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の４色のインクを用いて印刷を行うラインプリンターである。プリンター３００はＣＰＵ３０１、ＲＡＭ３０３、ＲＯＭ３０５、印刷部インターフェイス（Ｉ／Ｆ）３０７、メモリーコントローラー３０９、操作パネル３１３、通信インターフェイス（Ｉ／Ｆ）３２０を備える。これらの構成要素はバス３３０によって互いに接続されている。印刷部Ｉ／Ｆ３０７には印刷部３１１が接続され、メモリーコントローラー３０９には外部メモリー３１５が接続されている。
【００１９】
ＣＰＵ３０１は、プリンター３００全体の動作を制御するために、ＲＯＭ３０５に記憶されているプログラムをＲＡＭ３０３に読み出して実行する。印刷部３１１は、インクを蓄えるインクカートリッジ、印刷ヘッド、プラテンなど、印刷媒体にインクを吐出して印刷を行うためのハードウェアである。
【００２０】
操作パネル３１３は、ユーザーが、印刷に関わる設定や指示を行うためのユーザーインターフェイスである。この設定とは、印刷媒体の種類や大きさなどの設定である。この指示とは、印刷の開始や中止などの指示である。
【００２１】
プリンター３００は、印刷媒体にドットを形成する際に、大ドット、中ドット、小ドットの３種類の大きさのドットを使い分ける。よって、ドットデータは、１画素当たり、２ｂｉｔ×４色の８ｂｉｔが必要である。
【００２２】
２．ホスト側処理（図３、図５）：
図３は、ホスト側処理を示すフローチャートである。ホスト側処理の実行主体は、ホストコンピューター２００に備えられたＣＰＵ２０１である。処理の開始の契機は、操作パネル３１３を介して印刷の指示が入力されることである。
【００２３】
図４は、ホスト側処理およびプリンター側処理（図６と共に後述）によって、データが変換される様子を示した図である。図４の（Ａ）（Ｂ）は、表示用画像データを構成する多数の画素の一部として、４画素×４画素の１６画素分を示す。１６画素分のデータ量は、８ｂｉｔ×３原色×１６画素の３８４ｂｉｔとなる。
【００２４】
ＣＰＵ２０１は、ホスト側処理を開始すると、表示用画像データの画素を４つずつグループ化することによって、疑似画素を生成する（ステップＳ４１０）。疑似画素は、縦２画素×横２画素によって構成される。図４の（Ｃ）は、１６の画素を基にした４つの疑似画素を示す。疑似画素の解像度は、３６０×３６０ｄｐｉということになる。
【００２５】
次に、各疑似画素に代表値を割り当てる（ステップＳ４２０）。代表値とは、疑似画素に属する画素のＲＧＢ値の平均値のことである。つまり、１つの疑似画素に１色分の情報を割り当てる。疑似画素のデータ量は、８ｂｉｔ×３原色×４画素の９６ｂｉｔとなり、元の３８４ｂｉｔに比べて小さい。次に、ホストハーフトーン処理を実行する（ステップＳ４３０）。
【００２６】
図５は、ホストハーフトーン処理を示すフローチャートである。まず、内部にエッジを含む疑似画素（以下「内部エッジ疑似画素」と言う。）のフラグ（以下、このフラグを「エッジフラグ」と言う。）をＯＮに設定する（ステップＳ４３１）。エッジフラグは、初期値がＯＦＦである。ここで言う「エッジを含む」とは、疑似画素を構成する４つの画素のＲＧＢ値が、所定範囲内に収まっていないことを意味する。「所定範囲内に収まっていない」とは、ＲＧＢ３つの値それぞれについて、最大値と最小値との差が２５６階調値中３３階調値以上である場合のことである。つまり、ＲＧＢ値のうち１つでも最大値と最小値との差が３３階調値以上であれば、エッジを含むと判定される。
【００２７】
続いて、エッジフラグがＯＦＦの疑似画素の中から、未選択のものを１つ選択する（ステップＳ４３３）。この「未選択のもの」とは、ステップＳ４３３が、エッジフラグがＯＦＦの疑似画素の数だけ繰り返し実行されるものであり、過去に選択対象となった疑似画素を選択対象から除外することを意味する。
【００２８】
次に、選択した疑似画素の境界の少なくとも一部にエッジがあるかを判定する（ステップＳ４３５）。ここでのエッジの判定方法は、或る１つの画素と、その画素と共に疑似画素の境界を共有する画素との比較によって行う。比較方法は、内部エッジ疑似画素の場合と同様に、ＲＧＢ３つの値それぞれについて、差が２５６階調値中３２階調値以下か否かによって行う。
【００２９】
境界にエッジがある場合（ステップＳ４３５，ＹＥＳ）、エッジを共有する疑似画素のエッジフラグがＯＮかを判定する（ステップＳ４３７）。ＯＦＦの場合（ステップＳ４３７ＮＯ）、エッジを共有する疑似画素の代表値によって定まる色に比べて、選択された疑似画素の代表値によって定まる色の方が明るいか（明度が高いか）を判定する（ステップＳ４３９）。選択された疑似画素の方が明るいとは言えない（暗い又は同じ）場合（ステップＳ４３９，ＮＯ）、選択している疑似画素のエッジフラグをＯＮに設定し（ステップＳ４４１）、ステップＳ４４３に進む。
【００３０】
一方、選択した疑似画素の境界にはエッジがない（ステップＳ４３５，ＮＯ）、エッジを共有する疑似画素のエッジフラグがＯＮである（ステップＳ４３７，ＹＥＳ）、又はエッジを共有する疑似画素の代表値によって定まる色に比べて、選択された疑似画素の代表値によって定まる色の方が明るい（ステップＳ４３９，ＹＥＳ）場合、ステップＳ４４１を実行せずに、エッジフラグをＯＦＦのままにして、ステップＳ４４３に進む。
【００３１】
上記の通りステップＳ４３３〜ステップＳ４４１は、境界にエッジが存在する疑似画素（以下「境界エッジ疑似画素」と言う。）のエッジフラグをＯＮに設定することを目的としている。この処理は、エッジの再現性の向上が目的なので、エッジフラグをＯＮに設定する境界エッジ疑似画素は、全てでなくても良く、エッジを共有する境界エッジ疑似画素の何れか１つで良い。よって、エッジを共有する疑似画素が内部エッジ疑似画素であれば、選択した疑似画素のエッジフラグをＯＮに変更する必要はない。一方、両方とも内部エッジ疑似画素ではない場合、何れかのエッジ疑似画素を選択する。選択する疑似画素は、ステップＳ４４１で説明した通り、色が暗い方である。色が暗い方、つまり、より広い面積のインクドットによって形成される方を選択することによって、エッジの再現性がより良くなる。
【００３２】
ステップＳ４４３に進むと、ステップＳ４３３において未選択の疑似画素が残っているかを判定する。未選択のものが残っていれば（ステップＳ４４３，ＹＥＳ）、ステップＳ４３３に戻る。
【００３３】
内部エッジ疑似画素以外の疑似画素が全て選択されたら（ステップＳ４４３，ＮＯ）、エッジフラグがＯＮの疑似画素（以下「エッジＯＮ疑似画素」と言う。）を構成する画素を対象にして、ＣＭＹＫ変換を実行する（ステップＳ４４５）。ＣＭＹＫ変換は、ＲＯＭ２０５に記憶された変換用ＬＵＴを参照し、ＬＵＴ上に無いデータについては補間演算をすることによって実行する。
【００３４】
続いて、ＣＭＹＫ変換された画素を対象にして、ハーフトーン処理を実行し（ステップＳ４４７）、ホストハーフトーン処理を終える。このハーフトーン処理によって、プリンターの解像度である１４４０×７２０ｄｐｉによるドットデータを生成する。なお、ハーフトーン処理には、誤差拡散法を用いる。誤差拡散法を用いることによって、特に境界エッジ疑似画素を構成する画素について画質が良好になる。
【００３５】
図４の（Ｄ）は、ステップＳ４４５におけるハーフトーン処理によって生成されたドットデータを構成する多数の画素の一部として、３２画素分を示す。３２画素分のドットデータのデータ量は、２ｂｉｔ×４色×３２画素の２５６ｂｉｔである。
【００３６】
次に、エッジＯＮ疑似画素の代表値を、隣の疑似画素と同じものになるように変更する（ステップＳ４５０）。隣の疑似画素とは、原則は左隣で、左隣が存在しない場合（左端の疑似画素の場合）は、右隣である。このステップは、次のステップＳ４６０におけるハフマン符号化法による圧縮の圧縮率を向上させることを目的としている。隣の疑似画素として左隣のものを選択するのは、ハフマン符号化法の順列にならったものである。
【００３７】
続いて、全疑似画素の代表値とエッジフラグとをハフマン符号化法によって圧縮してプリンター３００に転送すると共に、ハーフトーン処理によって生成されたドットデータをプリンター３００に転送し（ステップＳ４６０）、ホスト側処理を終える。この３種類のデータが、先述した印刷用画像データを構成する。
【００３８】
３．プリンター側処理（図６）：
図６は、プリンター側処理を示すフローチャートである。プリンター側処理の実行主体は、プリンター３００に備えられたＣＰＵ３０１である。処理の開始の契機は、ホストコンピューター２００から印刷用画像データの転送を受けたことである。
【００３９】
まず、転送された圧縮データの解凍によって、代表値とエッジフラグとを取得する（ステップＳ５１０）。次に、代表値をＣＭＹＫ変換する（ステップＳ５２０）。このＣＭＹＫ変換は、ＲＯＭ３０５に記憶された変換用ＬＵＴを参照することによって実行する。この変換用ＬＵＴは、ホストコンピューター２００のＲＯＭ２０５に記憶されたものと同じである。
【００４０】
次に、ＣＭＹＫ変換された代表値によってハーフトーン処理を実行する（ステップＳ５３０）。このハーフトーン処理においても、１４００×７２０ｄｐｉのドットデータを生成する。図４の（Ｅ）は、ステップＳ５３０におけるハーフトーン処理によって生成されたドットデータを構成する多数の画素の一部として、３２画素分を示す。
【００４１】
続いて、代表値に基づき生成されたドットデータを、ホストコンピューター２００から転送されたドットデータによって上書きを行う（ステップＳ５４０）。この上書きは、エッジＯＮ疑似画素を構成する画素が対象になる。図４の（Ｆ）は、ステップＳ５４０によって生成されたドットデータを構成する多数の画素の一部として、３２画素分を示す。
【００４２】
最後に、上書きの結果として生成されたドットデータを基に印刷をし（ステップＳ５５０）、プリンター側処理を終える。
【００４３】
４．効果：
印刷システム１０によれば、ホストコンピューター２００からプリンター３００へ印刷用画像データを転送する時間を短縮できる。なぜなら、本実施形態の印刷用画像データは、全画素を対象にしたドットデータやＲＧＢ形式のデータよりもデータ量が小さいからである。
【００４４】
先述したように、印刷用画像データは、全疑似画素の代表値およびエッジフラグが圧縮されたデータ、並びにエッジＯＮ疑似画素を構成する画素のドットデータである。印刷用画像データのデータ量は、エッジＯＮ疑似画素数が全疑似画素数に占める割合に依存する。つまり、その割合が小さいほど、印刷用画像データのデータ量は小さくなる。なぜなら、エッジフラグについては圧縮率が高くなり、ドットデータについては、対象となる画素が減少するので当然、データ量が小さくなる。よって、印刷用画像データのデータ量がどの程度小さいかを一概に言うことはできない。しかし、一般的な画像は、エッジを含まない領域（いわゆるベタ領域）が大半を占める。従って、一般的に、印刷用画像データのデータ量は、全画素を対象としたドットデータよりも、かなり小さいと言える。
【００４５】
さらに、エッジＯＮ疑似画素の代表値を、隣の疑似画素と同じ値に変更することによって、圧縮率を向上させている。この結果、印刷用画像データのデータ量を更に小さくしている。
【００４６】
このようにデータ量を小さくしつつも、印刷用画像データに基づく印刷は、高画質なものである。なぜなら、エッジについては、解像度を低くすることなく、印刷するからである。一方、ベタ領域については、解像度が低くなるものの、色の変化が小さい領域なので、解像度が低いことは視認されにくい。
【００４７】
５．実施形態と適用例との対応関係：
ステップＳ４１０が疑似画素生成部を、ステップＳ４２０が割り当て部を、ステップＳ４３０がホストハーフトーン処理部を、ステップＳ４５０が変更部を、ステップＳ４６０が転送部を、ステップＳ５３０がプリンターハーフトーン処理部を、ステップＳ５４０及びステップＳ５５０が印刷部をそれぞれ実現するためのソフトウェアに相当する。
【００４８】
６．他の実施形態：
本発明は、先述した実施形態になんら限定されるものではなく、発明の技術的範囲内における種々の形態により実施できる。例えば、実施形態の構成要素の中で付加的なものは、実施形態から省略できる。ここで言う付加的な構成要素とは、実質的に独立している適用例においては特定されていない事項に対応する要素のことである。また、例えば、以下のような実施形態でも良い。
【００４９】
印刷用画像データは、モノクロ印刷用でも良い。この場合、印刷用画像データは、無彩色を示すためのものになるので、印刷用画像データのデータ量がより小さくなる。
【００５０】
疑似画素の大きさ（疑似画素が何個の画素によって構成されるか）は、実施形態と異なっていても良い。ただし、疑似画素の解像度は、印刷用画像データのデータ量を小さくするために、ドットデータの解像度よりも低いことが好ましい。一方、疑似画素の解像度が著しく低い場合、エッジＯＮ疑似画素の割合が大きくなってしまい、データ量が小さくならないことが考えられる。このような事情を踏まえ、疑似画素の大きさを決定するのが好ましい。
【００５１】
境界エッジ疑似画素のエッジフラグを、ＯＮに変更しないようにしても良い。実施形態の場合、ステップＳ４３３〜ステップＳ４４３を省くことになる。こうすれば、ホストコンピューター２００による処理負荷が低くなる。
【００５２】
誤差拡散法の代わりに、処理が簡単で高速なディザ法を用いても良い。
ディザ法を用いる場合、ホストコンピューター２００とプリンター３００とで同じディザマスクを用いるのが好ましい。同じディザマスクを用いることによって、エッジＯＮ疑似画素と、エッジフラグがＯＦＦの疑似画素とのつながりを滑らかにでき、疑似輪郭の発生を抑制できる。ディザマスクは、ブルーノイズ特性を有する巨大サイズのマスクを用いる、ブルーノイズマスク法が好ましい。
【００５３】
エッジの定義は、実施形態と異なっていても良い。例えば、ＲＧＢ値を３次元座標値に見立てて、比較する色同士の距離を求め、その距離が所定値以上か否かによって判定しても良い。
【００５４】
転送速度が低速の場合や、印刷用画像データのデータ量が大きくなりそうな場合（例えば、文字を多く含む場合など）は、エッジＯＮ疑似画素を少なくするために判定を厳しくしても良い。
【００５５】
エッジの閾値の増減は、ユーザーからの入力に応じて実行しても良い。例えば、高画質モードが選択された場合はエッジＯＮ疑似画素を多くするために判定を緩くし、高速印刷モードが選択された場合はエッジＯＮ疑似画素を少なくするために判定を厳しくしても良い。
【００５６】
エッジＯＮ疑似画素を構成する画素については、プリンター３００によるハーフトーン処理の対象外としても良い。ハーフトーン処理を実行しても、印刷には用いられないからである。
【００５７】
エッジブロック近傍の画素で、エッジブロックから誤差が拡散されてきた画素については、「近傍の処理済画素からの拡散誤差」を近傍の未処理画素に拡散する工程を実施すると好ましい。こうすることで、エッジブロック画素から非エッジブロック画素に拡散された誤差が無視されず、その一部は再び別のエッジＯＮ疑似画素を構成する画素に拡散されるため、エッジの再現性がより良くなる。
【００５８】
また、ホストコンピューター２００によるエッジブロック処理では、エッジの再現性に優れた誤差拡散法を採用し、プリンター３００による非エッジブロック処理では、誤差拡散法に近いドット配置が得られるディザ法のブルーノイズマスク法を採用するのは特に有効である。ブルーノイズマスク法は誤差拡散法よりも中間階調でのエッジ再現性が劣る、という課題があるが、この構成ではその欠点が解消され、データの大部分を占める非エッジブロックを高速なディザ法で処理するので処理速度と画質が両立する。
またこの時、エッジブロックと非エッジブロックの間にハーフトーン切り替えによる疑似輪郭が発生する場合がある。疑似輪郭の発生を抑制するには、エッジブロック近傍の非エッジブロック画素については、ステップＳ５３０での処理後に、そのハーフトーン結果を用いて誤差を計算し、近傍の未処理画素へ拡散する、誤差拡散法同様の誤差拡散工程を実施するなどが、有効である。
【００５９】
代表値は、平均値でなくても良く、他の統計値、例えば、最大値や最小値などでも良い。或いは、統計値でなくても良く、例えば、常に左上の画素の値を代表値として採用しても良い。
【００６０】
転送される代表値は、ＣＭＹＫ値でも良い。例えば、ホストコンピューター２００が、ＲＧＢ形式による代表値を決定した後に、その代表値をＣＭＹＫ変換しても良いし、各画素のＲＧＢ値をＣＭＹＫ変換してから代表値を決定しても良い。このように、ホストコンピューター２００が、各画素のＲＧＢ値をＣＭＹＫ変換する場合、エッジ判定をＣＭＹＫ値に基づいて行っても良い。
【００６１】
ホストコンピューター２００は、代表値を割り当てるための処理と、ドットデータを生成するための処理とを並列に実行しても良い。
エッジＯＮ疑似画素については、代表値の転送を省いても良い。
圧縮の手法は、ハフマン符号化法でなくても、例えば、ランレングス法でも良い。また、ＪＰＥＧ法などの、非可逆的な圧縮法でもよい。
プリンター３００は、シリアルプリンターでも良い。
【符号の説明】
【００６２】
１０…印刷システム
１２０…ＵＳＢケーブル
２００…ホストコンピューター
２０１…ＣＰＵ
２０３…ＲＡＭ
２０５…ＲＯＭ
２０７…ディスプレイ装置コントローラー
２０９…キーボードコントローラー
２１１…メモリーコントローラー
２１３…ハードディスクドライブ
２１５…ディスプレイ装置
２１７…キーボード
２１９…外部メモリー
２２０…通信インターフェイス
２３０…バス
３００…プリンター
３０１…ＣＰＵ
３０３…ＲＡＭ
３０５…ＲＯＭ
３０７…印刷部インターフェイス
３０９…メモリーコントローラー
３１１…印刷部
３１３…操作パネル
３１５…外部メモリー
３２０…通信インターフェイス
３３０…バス
【図１】
0005853650.tif 000002
【図２】
0005853650.tif 000003
【図３】
0005853650.tif 000004
【図４】
0005853650.tif 000005
【図５】
0005853650.tif 000006
【図６】
0005853650.tif 000007