(57)【要約】【課題】  画像品質の劣化を抑制しつつ、画像処理およびデータ転送の高速化を図る。【解決手段】  画像処理装置は、（Ａ）画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部と、（Ｂ）前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、を備える。【選択図】    図１０
2006217084.tif 000002
【特許請求の範囲】
【請求項１】
（Ａ）画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部と、
（Ｂ）前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
（Ｃ）を備えたことを特徴とする画像処理装置。
【請求項２】
前記階調値と前記多値階調値データとが対応付けられた多値化テーブルを備え、
前記多値化処理部は、前記多値化テーブルを参照することにより前記多値階調値データを生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記多値化処理部は、前記画像データにより表される画像を構成する各画素の色別の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して前記多値階調値データを生成することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記多値化処理部は、前記階調値を当該階調値に対応する画素の位置に応じて多値化処理して前記多値階調値データを生成することを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記多値階調値データは、所定のビット数のデータとして前記多値化処理部により生成されることを特徴とする請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
前記多値階調値データと前記ドット個数データとが対応付けられたドット個数データ変換テーブルを備え、
前記ドット形成用データ生成部は、前記ドット個数データ変換テーブルを参照することにより、前記多値階調値データを前記ドット個数データに変換することを特徴とする請求項１〜５のいずれか１項に記載の画像処理装置。
【請求項７】
前記ドット形成用データ生成部は、前記ドット個数データに基づき、所定の個数の画素について個別にドット形成の有無を決定することを特徴とする請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項８】
前記ドット個数データには、ドットの個数の他に、ドットのサイズに関するデータが含まれていることを特徴とする請求項１〜７のいずれか１項に記載の画像処理装置。
【請求項９】
前記ドット形成用データ生成部は、前記ドット個数データの他に、ドット形成の順序を示すドット形成順序データに基づき、前記１以上の画素について個別にドット形成の有無を決定することを特徴とする請求項１〜８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記１以上の画素の中から前記出力画像を構成する画素として使用される画素の数が、前記出力画像の前記解像度に応じて異なることを特徴とする請求項１〜９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記１以上の画素の中から前記出力画像を構成する画素として使用される画素の位置が、前記多値階調値データを生成する際に多値化処理した階調値に対応する画素の位置に応じて異なることを特徴とする請求項１〜１０のいずれか１項に記載の画像処理装置。
【請求項１２】
（Ａ）画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部と、
（Ｂ）前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
（Ｃ）を備え、
（Ｄ）前記階調値と前記多値階調値データとが対応付けられた多値化テーブルを備え、前記多値化処理部は、前記多値化テーブルを参照することにより前記多値階調値データを生成し、
（Ｅ）前記多値化処理部は、前記画像データにより表される画像を構成する各画素の色別の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成し、
（Ｆ）前記多値化処理部は、前記階調値を当該階調値に対応する画素の位置に応じて多値化処理して多値階調値データを生成し、
（Ｇ）前記多値階調値データは、所定のビット数のデータとして前記多値化処理部により生成され、
（Ｈ）前記多値階調値データと前記ドット個数データとが対応付けられたドット個数データ変換テーブルを備え、前記ドット形成用データ生成部は、前記ドット個数データ変換テーブルを参照することにより、前記多値階調値データを前記ドット個数データに変換し、
（Ｉ）前記ドット形成用データ生成部は、前記ドット個数データに基づき、所定の個数の画素について個別にドット形成の有無を決定し、
（Ｊ）前記ドット個数データには、ドットの個数の他に、ドットのサイズに関するデータが含まれ、
（Ｋ）前記ドット形成用データ生成部は、前記ドット個数データの他に、ドット形成の順序を示すドット形成順序データに基づき、前記１以上の画素について個別にドット形成の有無を決定し、
（Ｌ）前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記１以上の画素の中から前記出力画像を構成する画素として使用される画素の数が、前記出力画像の前記解像度に応じて異なり、
（Ｍ）前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記１以上の画素の中から前記出力画像を構成する画素として使用される画素の位置が、前記多値階調値データを生成する際に多値化処理した階調値に対応する画素の位置に応じて異なることを特徴とする画像処理装置。
【請求項１３】
画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理ステップと、
前記多値化処理ステップにて生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成ステップと、
を有することを特徴とする画像処理方法。
【請求項１４】
画像処理装置と、この画像処理装置と通信可能な画像出力装置とを具備した画像処理システムであって、
前記画像処理装置は、画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部を有し、
前記画像出力装置は、前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部を有することを特徴とする画像処理システム。
【請求項１５】
（Ａ）画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部と、
（Ｂ）前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
（Ｃ）前記ドット形成用データ生成部により生成された前記ドット形成用データに基づき、媒体に対して印刷を施す印刷部と、
（Ｄ）を備えたことを特徴とする印刷装置。
【請求項１６】
コンピュータと、このコンピュータに接続可能な印刷装置とを具備した印刷システムにおいて、
前記コンピュータは、画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部を有し、
前記印刷装置は、前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、前記ドット形成用データ生成部により生成された前記ドット形成用データに基づき、媒体に対して印刷を施す印刷部とを有することを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに対して画像処理を施して、画像を印刷するための印刷データを作成する画像処理装置、画像処理方法、画像処理システム、印刷装置および印刷システムに関する。
【背景技術】
【０００２】
印刷媒体や液晶画面といった各種の出力媒体上にドットを形成することで画像を出力する画像出力装置は、各種画像機器の出力装置として広く使用されている。これら画像出力装置では、画像は画素と呼ばれる小さな領域に細分された状態で扱われており、ドットは、これらの画素に形成される。ドットを画素に形成した場合、もちろん画素１つ１つについて見れば、ドットが形成されるか否かのいずれかの状態しか取り得ない。しかし、ある程度の広さを持った領域で見れば、形成するドットの密度に粗密を生じさせることは可能であり、ドットの形成密度を変えることによって多階調の画像を出力することが可能である。例えば、印刷用紙上に黒いインクのドットを形成する場合、ドットが密に形成されている領域は暗く見えるし、逆にドットがまばらに形成されている領域は明るく見える。また、液晶画面に輝点のドットを形成する場合、ドットが密に形成された領域は明るく見え、まばらに形成された領域は暗く見える。従って、ドットの形成密度を適切に制御してやれば、多階調の画像を出力することが可能となる。このように、適切な形成密度が得られるようにドットの形成を制御するためのデータは、出力しようとする画像に所定の画像処理を施すことによって発生させる。
【０００３】
近年では、これら画像出力装置には、出力画像の高画質化や大画像化が要請されるようになってきた。高画質化の要請に対しては、画像をより細かな画素に分割することが効果的である。画素を小さくしてやれば、画素に形成されるドットが目立たなくなるので画質を向上させることができる。また、大画像化の要請に対しては、画素数を増加させることによって対応する。もちろん、個々の画素を大きくすることによっても出力画像を大きくすることはできるが、これでは画質の低下を招いてしまうので、大型化の要請に対しては、画素数を増加させることが効果的である。
【０００４】
もっとも、画像を構成する画素数が増加すると画像処理に時間がかかってしまい、画像を迅速に出力することが困難となる。そこで、画像処理を迅速に実行可能とする技術が提案されている（特許文献１）。
【特許文献１】特開２００２−１８５７８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、画像処理を迅速に行ったとしても、画像データの転送に、あるいは処理済みの画像データの転送に時間がかかってしまったのでは、画像の出力を迅速化する効果にも自ずから限界がある。
【０００６】
また、近年では、デジタルカメラなどで撮影した画像のデータを、印刷装置などの画像出力装置に直接供給して直ちに画像を出力したいという要請も存在する。このような場合は、いわゆるパーソナルコンピュータ等のような高い処理能力を備えた画像処理装置を用いて画像処理を行うことはできない。従って、デジタルカメラなどの画像撮影装置あるいは画像出力装置のいずれか、若しくは両者で分担して実行可能なように、簡素な画像処理としておく必要がある。
【０００７】
本発明は、このような事情に鑑みてなされたものであって、その目的は、画像品質の劣化を抑制しつつ、画像処理およびデータ転送の高速化を実現し得ることにある。
【課題を解決するための手段】
【０００８】
前記目的を達成するための主たる発明は、
（Ａ）画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部と、
（Ｂ）前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
（Ｃ）を備えたことを特徴とする画像処理装置である。
【０００９】
本発明の他の特徴は、本明細書及び添付図面の記載により明らかにする。
【発明を実施するための最良の形態】
【００１０】
＝＝＝開示の概要＝＝＝
本明細書及び添付図面の記載により、少なくとも以下の事項が明らかとなる。
【００１１】
（Ａ）画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部と、
（Ｂ）前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
（Ｃ）を備えたことを特徴とする画像処理装置。
【００１２】
このような画像処理装置にあっては、画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値化処理部により多値階調値データを生成し、この多値階調値データを、ドット形成用データ生成部によりドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するから、ドット形成用データを効率よく生成することができる。
【００１３】
かかる画像処理装置にあっては、前記階調値と前記多値階調値データとが対応付けられた多値化テーブルを備え、前記多値化処理部は、前記多値化テーブルを参照することにより前記多値階調値データを生成しても良い。このような多値化テーブルを備えれば、階調値から多値階調値データを簡単に取得することができる。
【００１４】
また、かかる画像処理装置にあっては、前記多値化処理部は、前記画像データにより表される画像を構成する各画素の色別の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して前記多値階調値データを生成しても良い。このように各画素の色別の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成することで、画像データが複数の色により表現されていた場合でも、ドット形成用データの生成処理をスムーズに行うことができる。
【００１５】
また、かかる画像処理装置にあっては、前記多値化処理部は、前記階調値を当該階調値に対応する画素の位置に応じて多値化処理して前記多値階調値データを生成してもよい。このように階調値に対応する画素の位置に応じて多値化処理部により多値化処理することで、より高画質なドット形成用データを生成することができ、出力画像の画質向上を図ることができる。
【００１６】
また、かかる画像処理装置にあっては、前記多値階調値データは、所定のビット数のデータとして前記多値化処理部により生成されても良い。このように多値階調値データが所定のビット数のデータとして生成されることで、多値化処理部により生成される多値階調値データのデータ量を出力画像の解像度に関わりなく一定にすることができる。
【００１７】
また、かかる画像処理装置にあっては、前記多値階調値データと前記ドット個数データとが対応付けられたドット個数データ変換テーブルを備え、前記ドット形成用データ生成部は、前記ドット個数データ変換テーブルを参照することにより、前記多値階調値データを前記ドット個数データに変換してもよい。このようなドット個数データ変換テーブルを備えることで、多値階調値データからドット個数データを簡単に取得することができる。
【００１８】
また、かかる画像処理装置にあっては、前記ドット形成用データ生成部は、前記ドット個数データに基づき、所定の個数の画素について個別にドット形成の有無を決定しても良い。このように所定の個数の画素についてドット形成の有無を決定すれば、処理をスムーズに行うことができる。
【００１９】
また、かかる画像処理装置にあっては、前記ドット個数データには、ドットの個数の他に、ドットのサイズに関するデータが含まれていても良い。このようにドットのサイズに関するデータが含まれていれば、サイズの異なるドットについて形成の有無を決定することができる。
【００２０】
また、かかる画像処理装置にあっては、前記ドット形成用データ生成部は、前記ドット個数データの他に、ドット形成の順序を示すドット形成順序データに基づき、前記１以上の画素について個別にドット形成の有無を決定してもよい。このようにドット形成順序データに基づき、１以上の画素について個別にドット形成の有無を決定すれば、処理をスムーズに行うことができる。
【００２１】
また、かかる画像処理装置にあっては、前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記１以上の画素の中から前記出力画像を構成する画素として使用される画素の数が、前記出力画像の前記解像度に応じて異なってもよい。このように１以上の画素の中から前記出力画像を構成する画素として使用される画素の数が、前記出力画像の前記解像度に応じて異なることで、解像度の異なる出力画像のドット形成用データを簡単に生成することができる。
【００２２】
また、かかる画像処理装置にあっては、前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記１以上の画素の中から前記出力画像を構成する画素として使用される画素の位置が、前記多値階調値データを生成する際に多値化処理した階調値に対応する画素の位置に応じて異なってもよい。このように１以上の画素の中から前記出力画像を構成する画素として使用される画素の位置が、多値階調値データを生成する際に多値化処理した階調値に対応する画素の位置に応じて異なることで、出力画像のドット形成用データをスムーズに生成することができる。
【００２３】
（Ａ）画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部と、
（Ｂ）前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
（Ｃ）を備え、
（Ｄ）前記階調値と前記多値階調値データとが対応付けられた多値化テーブルを備え、前記多値化処理部は、前記多値化テーブルを参照することにより前記多値階調値データを生成し、
（Ｅ）前記多値化処理部は、前記画像データにより表される画像を構成する各画素の色別の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成し、
（Ｆ）前記多値化処理部は、前記階調値を当該階調値に対応する画素の位置に応じて多値化処理して多値階調値データを生成し、
（Ｇ）前記多値階調値データは、所定のビット数のデータとして前記多値化処理部により生成され、
（Ｈ）前記多値階調値データと前記ドット個数データとが対応付けられたドット個数データ変換テーブルを備え、前記ドット形成用データ生成部は、前記ドット個数データ変換テーブルを参照することにより、前記多値階調値データを前記ドット個数データに変換し、
（Ｉ）前記ドット形成用データ生成部は、前記ドット個数データに基づき、所定の個数の画素について個別にドット形成の有無を決定し、
（Ｊ）前記ドット個数データには、ドットの個数の他に、ドットのサイズに関するデータが含まれ、
（Ｋ）前記ドット形成用データ生成部は、前記ドット個数データの他に、ドット形成の順序を示すドット形成順序データに基づき、前記１以上の画素について個別にドット形成の有無を決定し、
（Ｌ）前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記１以上の画素の中から前記出力画像を構成する画素として使用される画素の数が、前記出力画像の前記解像度に応じて異なり、
（Ｍ）前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記１以上の画素の中から前記出力画像を構成する画素として使用される画素の位置が、前記多値階調値データを生成する際に多値化処理した階調値に対応する画素の位置に応じて異なることを特徴とする画像処理装置。
【００２４】
画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理ステップと、
前記多値化処理ステップにて生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成ステップと、
を有することを特徴とする画像処理方法。
【００２５】
画像処理装置と、この画像処理装置と通信可能な画像出力装置とを具備した画像処理システムであって、
前記画像処理装置は、画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部を有し、
前記画像出力装置は、前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部を有することを特徴とする画像処理システム。
【００２６】
（Ａ）画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部と、
（Ｂ）前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
（Ｃ）前記ドット形成用データ生成部により生成された前記ドット形成用データに基づき、媒体に対して印刷を施す印刷部と、
（Ｄ）を備えたことを特徴とする印刷装置。
【００２７】
コンピュータと、このコンピュータに接続可能な印刷装置とを具備した印刷システムにおいて、
前記コンピュータは、画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部を有し、
前記印刷装置は、前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、前記ドット形成用データ生成部により生成された前記ドット形成用データに基づき、媒体に対して印刷を施す印刷部とを有することを特徴とする印刷システム。
【００２８】
＝＝＝画像処理装置等の概要＝＝＝
本発明に係る画像処理装置等の実施の形態として、印刷装置と、この印刷装置を制御するコンピュータとを備えた印刷システムに適用した場合を例にして説明する。ここで、印刷装置としては、インクジェットプリンタを例にして説明する。
【００２９】
コンピュータは、画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部として機能する。
【００３０】
また、インクジェットプリンタは、コンピュータにより生成された多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された１以上の画素のうちの少なくとも一部の画素を、出力画像を構成する画素として、前記解像度の出力画像のドット形成用データを生成するドット形成用データ生成部として機能する。これらコンピュータおよびインクジェットプリンタの各構成について詳しく説明する。
【００３１】
図１〜図５は、本実施形態に係る画像処理システム（印刷システム）を説明するものある。図１は、インクジェットプリンタおよびコンピュータの外観を示したものである。図２は、コンピュータ１５２の内部構成の一例を示したブロック構成図である。図３は、インクジェットプリンタ１の内部構成を示したものである。図４は、インクジェットプリンタ１の搬送部の構成を示したものである。図５は、インクジェットプリンタ１のシステム構成を示す。
【００３２】
コンピュータ１５２は、図１に示すように、インクジェットプリンタ１と有線または無線等により通信可能に接続される。コンピュータ１５２は、パーソナルコンピュータなどをはじめとする各種コンピュータであり、一般に、ＣＰＵをはじめとする各種演算処理装置や、ＲＡＭやＲＯＭ等の各種メモリ、ハードディスク装置（図示外）やＣＤ−ＲＯＭドライブ装置１５３、フロッピードライブ装置（ＦＤＤ）１５４等の各種ドライブ装置などを内部に備えている。また、この他に、コンピュータ１５２には、ＣＲＴディスプレイ等の表示装置１５５と、キーボード１５６やマウス１５７等の入力装置が接続されている。
【００３３】
コンピュータ１５２は、各種メモリや各種ドライブ装置からプログラムを読み出して、各種オペーレーティングシステム（Operating System：ＯＳ）の下にて各種プログラムを実行する。ここで実行されるプログラムの中には、各種アプリケーションプログラムなども含まれている他、コンピュータ１５２に接続されたインクジェットプリンタ１を制御するプログラムとしてプリンタドライバが含まれている。
【００３４】
プリンタドライバは、インターネット等の通信回線またはＣＤ−ＲＯＭ、フロッピーディスク（ＦＤ）などの記憶媒体等を通じて、コンピュータ１５２にインストールされたプログラムである。このプリンタドライバがコンピュータ１５２にインストールされることによって、コンピュータ１５２は、インクジェットプリンタ１（印刷装置）を制御する、いわゆる印刷制御装置としての機能を発揮する。
【００３５】
＜コンピュータの構成＞
コンピュータ１５２は、図２に示すように、フロッピードライブ装置（ＦＤＤ）１５４やＣＤ−ＲＯＭドライブ装置１５３の他に、ＣＰＵ１６２と、メモリ１６３と、ハードディスクドライブ装置１５８と、ビデオメモリ１５９と、操作入力インターフェース１６１と、外部通信インターフェース１６５（外部通信ＩＦ）とを備えている。
【００３６】
ＣＰＵ１６２は、コンピュータ１５２の全体の制御を行う。また、メモリ１６３は、ＣＰＵ１６２が使用するコンピュータプログラムを格納する領域や作業領域等を確保するためのものである。このメモリ１６３は、ＲＡＭ、ＥＥＰＲＯＭ、ＲＯＭ等により構成される。ハードディスクドライブ装置１５８には、本実施形態のインクジェットプリンタ１を制御するためのプログラムとして、プリンタドライバなどがインストールされている。ＣＰＵ１６２は、ハードディスクドライブ装置１５８に記憶されたプリンタドライバなどのプログラムを読み込んで、プログラムに従って動作する。また、ＣＰＵ１６２は、ビデオメモリ１５９を通じて表示装置１５５に向けて画面を映し出すための映像信号を出力する。また、ＣＰＵ１６２は、操作入力インターフェース１６４を介して、キーボード１５６やマウス１５７等の入力装置１６０からの操作入力を受け付ける。また、ＣＰＵ１６２は、外部通信インターフェース１６５を介して、インクジェットプリンタ１と接続されて、インクジェットプリンタ１との間でデータのやりとりをする。
【００３７】
＜インクジェットプリンタの構成＞
一方、インクジェットプリンタ１は、図１に示すように、背面から供給された印刷用紙等の媒体Ｓを前面から排出する構造を備えている。その背面部には、印刷される媒体Ｓがセットされる給紙部４が設けられている。この給紙部４には、媒体Ｓを支持するための給紙トレー８が設けられている。また、インクジェットプリンタ１の前面部には、印刷された媒体Ｓが排出される排紙部３が設けられている。この排紙部３には、排出された印刷済みの媒体Ｓを保持するための排紙トレー７が設けられている。
【００３８】
（１）内部構成
インクジェットプリンタ１の内部には、図３に示すように、キャリッジ４１が設けられている。このキャリッジ４１は、左右方向に沿って相対的に移動可能に設けられている。キャリッジ４１の周辺には、キャリッジモータ４２と、プーリ４４と、タイミングベルト４５と、ガイドレール４６とが設けられている。キャリッジモータ４２は、ＤＣモータなどにより構成され、キャリッジ４１を左右方向（以下、キャリッジ移動方向ともいう）に沿って相対的に移動させるための駆動源である。タイミングベルト４５は、プーリ４４を介してキャリッジモータ４２に接続されるとともに、その一部がキャリッジ４１に接続され、キャリッジモータ４２の回転駆動によってキャリッジ４１をキャリッジ移動方向（左右方向）に沿って相対的に移動させる。ガイドレール４６は、キャリッジ４１をキャリッジ移動方向（左右方向）に沿って案内する。
【００３９】
この他に、キャリッジ４１の周辺には、キャリッジ４１の位置を検出するリニア式エンコーダ５１と、媒体Ｓをキャリッジ４１の移動方向と交差する方向（図中、前後方向。以下、搬送方向ともいう）に沿って搬送するための搬送ローラ１７Ａと、この搬送ローラ１７Ａを回転駆動させる搬送モータ１５とが設けられている。
【００４０】
一方、キャリッジ４１には、各種インクを収容したインクカートリッジ４８と、媒体Ｓに対して印刷を行うヘッド２１とが設けられている。インクカートリッジ４８は、例えば、イエロ（Ｙ）やマゼンダ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）などの各色のインクを収容しており、キャリッジ４１に設けられたカートリッジ装着部４９に着脱可能に装着されている。また、ヘッド２１は、本実施形態では、媒体Ｓに対してインクを吐出して印刷を施す。このために、ヘッド２１には、インクを吐出するための多数のノズルが設けられている。
【００４１】
この他に、このインクジェットプリンタ１の内部には、ヘッド２１のノズルの目詰まりを解消するためにノズルからインクを吸い出すポンプ装置３１や、ヘッド２１のノズルの目詰まりを防止するために、印刷を行わないとき（待機時など）にヘッド２１のノズルを封止するキャッピング装置３５などが設けられている。
【００４２】
（２）搬送部
次にインクジェットプリンタ１の搬送部について説明する。この搬送部には、図４に示すように、給紙ローラ１３と、紙検知センサ５３と、搬送ローラ１７Ａと、排紙ローラ１７Ｂと、プラテン１４と、フリーローラ１８Ａ、１８Ｂとが設けられている。
【００４３】
印刷される媒体Ｓは、給紙トレイ８にセットされる。給紙トレイ８にセットされた媒体Ｓは、断面略Ｄ形状に成形された給紙ローラ１３により、図中矢印Ａ方向に沿って搬送されて、インクジェットプリンタ１の内部へと送られる。インクジェットプリンタ１の内部に送られてきた媒体Ｓは、紙検知センサ５３と接触する。この紙検知センサ５３は、給紙ローラ１３と、搬送ローラ１７Ａとの間に設置されたもので、給紙ローラ１３により給紙された媒体Ｓを検知する。
【００４４】
紙検知センサ５３により検知された媒体Ｓは、搬送ローラ１７Ａによって、印刷が実施されるプラテン１４へと順次搬送される。搬送ローラ１７Ａの対向位置には、フリーローラ１８Ａが設けられている。このフリーローラ１８Ａと搬送ローラ１７Ａとの間に、媒体Ｓを挟み込むことによって、媒体Ｓをスムーズに搬送する。
【００４５】
プラテン１４へと送り込まれた媒体Ｓは、ヘッド２１から吐出されたインクによって順次印刷される。プラテン１４は、ヘッド２１と対向して設けられ、印刷される媒体Ｓを下側から支持する。
【００４６】
印刷が施された媒体Ｓは、排紙ローラ１７Ｂにより順次、インクジェットプリンタ１の外部へと排出される。排紙ローラ１７Ｂは、搬送モータ１５と同期に駆動されていて、当該排紙ローラ１７Ｂに対向して設けられたフリーローラ１８Ｂとの間に媒体Ｓを挟み込んで、媒体Ｓをインクジェットプリンタ１の外部へと排出する。
【００４７】
（３）システム構成
次にこのインクジェットプリンタ１のシステム構成について説明する。このインクジェットプリンタ１は、図５に示すように、バッファメモリ１２２と、イメージバッファ１２４と、コントローラ１２６と、メインメモリ１２７と、通信インターフェース１２９と、キャリッジモータ制御部１２８と、搬送制御部１３０と、ヘッド駆動部１３２とを備えている。
【００４８】
通信インターフェース１２９は、当該インクジェットプリンタ１が、外部のコンピュータ１５２とデータのやりとりを行うたものである。通信インターフェース１２９は、外部のコンピュータ１５２と有線または無線等により通信可能に接続され、コンピュータ１５２から送信された印刷データ等の各種データを受信する。
【００４９】
バッファメモリ１２２には、通信インターフェース１２９により受信された印刷データ等の各種データが格納される。また、イメージバッファ１２４には、ヘッド２１からインクを吐出すべくヘッド２１を駆動するためのヘッド駆動データが順次格納される。イメージバッファ１２４に格納されたヘッド駆動データは、順次、ヘッド駆動部１３２へと送信される。また、メインメモリ１２７は、ＲＯＭやＲＡＭ、ＥＥＰＲＯＭなどにより構成される。メインメモリ１２７には、当該インクジェットプリンタ１を制御するための各種プログラムや各種設定データなどが記憶される。
【００５０】
コントローラ１２６は、メインメモリ１２７から制御用プログラムや各設定データなどを読み出して、当該制御用プログラムや各種設定データに従ってインクジェットプリンタ１全体の制御を行う。また、コントローラ１２６には、ロータリ式エンコーダ１３４やリニア式エンコーダ５１、紙検知センサ５３などの各種センサからの検出信号が入力される。
【００５１】
コントローラ１２６は、外部のコンピュータ１５２から送られてきた印刷データ等の各種データが通信インターフェース１２９により受信されてバッファメモリ１２２に格納されると、その格納されたデータの中から必要な情報をバッファメモリ１２２から読み出す。コントローラ１２６は、その読み出した情報に基づき、リニア式エンコーダ５１やロータリ式エンコーダ１３４からの出力を参照しながら、制御用プログラムに従って、キャリッジモータ制御部１２８や搬送制御部１３０、ヘッド駆動部１３２などを各々制御する。
【００５２】
キャリッジモータ制御部１２８は、コントローラ１２６からの命令に従って、キャリッジモータ４２の回転方向や回転数、トルクなどを駆動制御する。搬送制御部１３０は、コントローラ１２６からの命令に従って、搬送ローラ１７Ａを回転駆動する搬送モータ１５などの駆動を制御する。
【００５３】
ヘッド駆動部１３２は、コントローラ１２６からの命令に従って、イメージバッファ１２４に格納された印刷データに基づき、ヘッド２１に設けられた各色のノズルを駆動制御する。
【００５４】
（４）ヘッド
図６は、ヘッド２１の下面部に設けられたインクのノズルの配列を示した図である。ヘッド２１の下面部には、同図に示すように、イエロ（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）の各色ごとにそれぞれ複数のノズル♯１〜♯１８０からなるノズル列、即ちシアンノズル列２１１Ｃ、マゼンダノズル列２１１Ｍ、イエロノズル列２１１Ｙ、およびブラックノズル列２１１Ｋが設けられている。
【００５５】
各ノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋの各ノズル♯１〜♯１８０は、所定の方向（ここでは、媒体Ｓの搬送方向）に沿って相互に間隔をあけて直線状に１列に配列されている。各ノズル♯１〜♯１８０の間隔（ノズル間隔）は、それぞれ「ｋ・Ｄ」に設定されている。ここで、『Ｄ』とは、搬送方向における最小のドットピッチ（つまり、媒体Ｓに形成されるドットの最高解像度での間隔）である。また、『ｋ』は、１以上の整数である。例えば、ノズルピッチが１２０ｄｐｉ（１／１２０インチ）であって、搬送方向のドットピッチが３６０ｄｐｉ（１／３６０）である場合、ｋ＝３である。各ノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋは、ヘッド２１の移動方向（走査方向）に沿って相互に所定の間隔Ｄ１をあけて平行に配置されている。各ノズル♯１〜♯１８０には、インク滴を吐出するための駆動素子としてピエゾ素子（図示外）が設けられている。
【００５６】
各ノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋの各ノズル♯１〜♯１８０は、所定の方向に沿って直線状に配列されている。なお、本実施形態では、ヘッドが正常に設置されている場合、各ノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋの各ノズル♯１〜♯１８０は、媒体Ｓの搬送方向に沿って配置されているようになっている。各ノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋは、ヘッド２１の移動方向（走査方向）に沿って相互に間隔をあけて平行に配置されている。各ノズル♯１〜♯１８０には、インク滴を吐出するための駆動素子としてピエゾ素子（図示外）が設けられている。
【００５７】
ピエゾ素子は、その両端に設けられた電極間に所定時間幅の電圧を印加すると、電圧の印加時間に応じて伸張し、インクの流路の側壁を変形させる。これによって、インクの流路の体積がピエゾ素子の伸縮に応じて収縮し、この収縮分に相当するインクが、インク滴となって各色のノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋの各ノズル♯１〜♯１８０から吐出される。
【００５８】
（５）駆動回路
図７は、各ノズル♯１〜♯１８０の駆動回路２２０を示したものである。この駆動回路２２０は、同図に示すように、原駆動信号発生部２２１と、複数のマスク回路２２２とを備えている。原駆動信号発生部２２１は、各ノズル♯１〜♯１８０に共通して用いられる原駆動信号ＯＤＲＶを生成する。この原駆動信号ＯＤＲＶは、一画素分の主走査期間内（キャリッジ４１が一画素の間隔を横切る時間内）において、図中下部に示すように、第１パルスＷ１と第２パルスＷ２の２つのパルスを含む信号である。原駆動信号発生部２２１で生成された原駆動信号ＯＤＲＶは、各マスク回路２２２に出力される。
【００５９】
マスク回路２２２は、ヘッド２１のノズル♯１〜♯１８０をそれぞれ駆動する複数のピエゾ素子に対応して設けられている。各マスク回路２２２には、原駆動信号発生部２２１から原駆動信号ＯＤＲＶが入力されるとともに、印刷信号ＰＲＴ（ｉ）が入力される。この印刷信号ＰＲＴ（ｉ）は、画素に対応する画素データであり、一画素に対して２ビットの情報を有する２値信号である。その各ビットは、それぞれ第１パルスＷ１と第２パルスＷ２とに対応している。マスク回路２２２は、印刷信号ＰＲＴ（ｉ）のレベルに応じて、原駆動信号ＯＤＲＶを遮断したり通過させたりするためのゲートである。すなわち、印刷信号ＰＲＴ（ｉ）がレベル『０』のときには、原駆動信号ＯＤＲＶのパルスを遮断する一方、印刷信号ＰＲＴ（ｉ）がレベル『１』のときには、原駆動信号ＯＤＲＶの対応するパルスをそのまま通過させて実駆動信号ＤＲＶとして、各ノズル♯１〜♯１８０のピエゾ素子に向けて出力する。各ノズル♯１〜♯１８０のピエゾ素子は、マスク回路２２２からの実駆動信号ＤＲＶに基づき駆動してインクの吐出を行う。
【００６０】
（６）各信号波形
図８は、原駆動信号発生部２２１の動作を示す原駆動信号ＯＤＲＶ、印刷信号ＰＲＴ（ｉ）、実駆動信号ＤＲＶ（ｉ）のタイミングチャートである。同図に示すように、原駆動信号ＯＤＲＶは、各画素区間Ｔ１、Ｔ２、Ｔ３、Ｔ４において、第１パルスＷ１と第２パルスＷ２とを順に発生する。なお、画素区間とは、一画素分のキャリッジ４１の移動区間と同じ意味である。
【００６１】
ここで、印刷信号ＰＲＴ（ｉ）が２ビットの画素データ『１０』に対応しているとき、第１パルスＷ１のみが一画素区間の前半で出力される。これにより、ノズル♯１〜♯１８０から小さいインク滴が吐出され、媒体Ｓには小さいドット（小ドット）が形成される。また、印刷信号ＰＲＴ（ｉ）が２ビットの画素データ『０１』に対応しているとき、第２パルスＷ２のみが一画素区間の後半で出力される。これにより、ノズル♯１〜♯１８０から中サイズのインク滴が吐出され、媒体Ｓには、中サイズのドット（中ドット）が形成される。また、印刷信号ＰＲＴ（ｉ）が２ビットの画素データ『１１』に対応しているとき、第１パルスＷ１と第２パルスＷ２とが一画素区間で出力される。これにより、ノズル♯１〜♯１８０から大きいサイズのインク滴が吐出され、媒体Ｓには、大きいサイズのドット（大ドット）が形成される。以上説明したとおり、一画素区間における実駆動信号ＤＲＶ（ｉ）は、印刷信号ＰＲＴ（ｉ）の３つの異なる値に応じて互いに異なる３種類の波形を有するように整形され、これらの信号に基づいてヘッド２１は、３種類のサイズのドットを形成し、また画素区間内にて吐出するインク量を調整することが可能である。また、画素区間Ｔ４のように、印刷信号ＰＲＴ（ｉ）が２ビットの画素データ『００』に対応しているときには、ノズル♯１〜♯１８０からインク滴が吐出されず、媒体Ｓには、ドットが形成されないことになる。
【００６２】
本実施形態に係るインクジェットプリンタ１では、このようなノズル♯１〜♯１８０の駆動回路２２０が、各ノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋごと、即ち、イエロ（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）の各色ごとに各々個別に設けられ、各ノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋの各ノズル♯１〜１８０ごとに個別にピエゾ素子の駆動が行われるようになっている。
【００６３】
＝＝＝コンピュータの処理＝＝＝
図９は、コンピュータ１５２の内部処理について説明したものである。コンピュータ１５２では、このコンピュータ１５２に搭載されたオペレーティングシステムの下、ビデオドライバ１６２やアプリケーションプログラム１６０、プリンタドライバ１６４などの各種コンピュータプログラムが実行されている。ビデオドライバ１６２は、アプリケーションプログラム１６０やプリンタドライバ１６４からの表示命令に従って、表示装置１５５に画面表示をする機能を有する。
【００６４】
アプリケーションプログラム１６０は、例えば、画像編集などを行う機能を有し、画像に関するデータ（画像データ）を作成する。ユーザは、アプリケーションプログラム１６０のユーザインターフェースを介して、アプリケーションプログラム１６０により編集した画像を印刷する指示を与えることができる。アプリケーションプログラム１６０は、印刷の指示を受けると、プリンタドライバ１６４に画像データを出力する。
【００６５】
プリンタドライバ１６４は、アプリケーションプログラム１６０から取得した画像データに基づき、アプリケーションプログラム１６０から要求のあった画像をインクジェットプリンタ１にて印刷するための印刷データを生成する。ここで、印刷データとは、インクジェットプリンタ１が解釈できる形式のデータである。印刷データは、インクジェットプリンタ１に特定の動作の実行を指示するための各種のコマンドデータと、媒体に画像を印刷するためのデータとを有している。プリンタドライバ１６４は、このような印刷データを生成してインクジェットプリンタ１に向けて出力する。
【００６６】
＜従来の処理＞
従来、プリンタドライバ１６４にて印刷データを生成するために実行されていた処理について説明する。プリンタドライバ１６４は、図９にて説明するように、アプリケーションプログラム１６０から取得した画像データに基づき、印刷データを生成するために、解像度変換処理部１６６と、色変換処理部１６８と、ハーフトーン処理部１７０と、ラスタライズ処理部１７２とを有する。ここで各処理部１６６，１６８、１７０、１７２について説明する。
【００６７】
解像度変換処理部１６６は、アプリケーションプログラム１６０から出力された画像データ（テキストデータ、イメージデータなど）を、媒体Ｓに印刷する際の解像度に変換する解像度変換処理を行う。解像度変換処理とは、例えば、媒体Ｓに画像を印刷する際の解像度が７２０ｄｐｉ（横）×７２０ｄｐｉ（縦）に指定されている場合、アプリケーションプログラム１６０から受け取った画像データを７２０ｄｐｉ（横）×７２０ｄｐｉ（縦）の解像度の画像データに変換する。なお、解像度変換処理後の画像データは、ＲＧＢ色空間により表される多階調（例えば２５６階調）のＲＧＢデータである。以下、画像データを解像度変換処理したＲＧＢデータをＲＧＢ画像データと呼ぶ。
【００６８】
色変換処理部１６８は、ＲＧＢデータをＣＭＹＫ色空間により表されるＣＭＹＫ画像データに変換する色変換処理を行う。なお、ＣＭＹＫデータは、インクジェットプリンタ１が有するインクの色に対応したデータである。この色変換処理は、ＲＧＢ画像データの階調値とＣＭＹＫ画像データの階調値とを対応づけたテーブル、即ち色変換テーブルＬＵＴをプリンタドライバ１６４が参照することによって行われる。この色変換処理により、各画素についてのＲＧＢデータが、インク色に対応するＣＭＹＫデータに変換される。なお、色変換処理後のデータは、ＣＭＹＫ色空間により表される２５６階調のＣＭＹＫデータである。以下、ＲＧＢ画像データを色変換処理したＣＭＹＫデータをＣＭＹＫ画像データと呼ぶ。
【００６９】
ハーフトーン処理部１７０は、高階調数のデータを、インクジェットプリンタ１が形成可能な階調数のデータに変換するハーフトーン処理を行う。ハーフトーン処理とは、例えば、２５６階調を示すデータが、２階調を示す１ビットデータや４階調を示す２ビットデータに変換する処理のことである。このハーフトーン処理では、ディザ法・γ補正・誤差拡散法などを利用して、インクジェットプリンタ１がドットを分散して形成できるように画素データを作成する。ハーフトーン処理部１７０は、ハーフトーン処理を行うとき、ディザ法を行う場合には、ディザテーブルを参照し、γ補正を行う場合には、ガンマテーブルを参照し、誤差拡散法を行う場合は拡散された誤差を記憶するための誤差メモリを参照する。ハーフトーン処理されたデータは、前述のＲＧＢデータと同等の解像度（例えば、７２０ｄｐｉ（横）×７２０ｄｐｉ（縦））を有している。ハーフトーン処理されたデータは、例えば、各画素につき１ビット又は２ビットのデータから構成される。以下、ハーフトーン処理されたデータのうち、１ビットデータのものを２値データと呼び、２ビットデータのものを多値データと呼ぶ。
【００７０】
ラスタライズ処理部１７２は、ハーフトーン処理部によってハーフトーン処理されて得られた２値データや多値データ等のデータを、インクジェットプリンタ１に転送すべきデータ順に変更するラスタライズ処理を行う。このラスタライズ処理によって生成されたデータは、印刷データとしてインクジェットプリンタ１に向けて出力される。
【００７１】
インクジェットプリンタ１は、コンピュータ１５２から送られてきた印刷データに基づき、キャリッジ４１を媒体Ｓに対して相対的に移動させながら、ヘッド２１の各ノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋの各ノズル♯１〜♯１８０からそれぞれインクを吐出して、吐出したインクによって媒体Ｓ上にドットを形成して、アプリケーションプログラム１６０から指定された画像を媒体Ｓに印刷する。
【００７２】
＝＝＝今回の処理＝＝＝
本実施形態のプリンタドライバにあっては、従来の処理とは異なる新しい処理を実行する。図１０は、この新しい処理の概要を説明したものである。この新しい処理において、プリンタドライバ１８０は、従来と同様に、解像度変換処理および色変換処理を実行する。ただし、このプリンタドライバ１８０により実行される解像度変換処理は、従来の解像度変換処理と異なる。一方、従来の処理にて実行されていたハーフトーン処理およびラスタライズ処理については、本実施形態のプリンタドライバ１８０では実行されず、他の処理が実行される。以下に、本実施形態のプリンタドライバ１８０にて実施される処理の概要について説明する。
【００７３】
＜処理の概要＞
プリンタドライバ１８０は、解像度変換処理を実行する解像度変換処理部１６６と、色変換処理を実行する色変換処理部１６８とを備える。解像度変換処理部１６６は、従来の処理と同様に、アプリケーションプログラム１６０から出力された画像データ（テキストデータ、イメージデータなど）の解像度を変換する。ただし、ここでは、従来の処理のように、画像データの解像度が、媒体Ｓに印刷する際の解像度（出力解像度）に変換されるのではなく、所定の解像度に変換される。つまり、例えば、変換後の解像度が、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）に指定されている場合には、アプリケーションプログラム１６０から受け取った画像データを３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度の画像データに変換する。媒体Ｓに画像を印刷する際の解像度（出力解像度）への変換処理は、後の処理にて実行する。すなわち、媒体Ｓに印刷する際の解像度（出力解像度）が、７２０ｄｐｉ（横）×７２０ｄｐｉ（縦）であっても、この解像度変換処理においては、アプリケーションプログラム１６０から受け取った画像データは、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度の画像データに変換される。また、媒体Ｓに印刷する際の解像度（出力解像度）が、１４４０ｄｐｉ（横）×１４４０ｄｐｉ（縦）であった場合も、この解像度変換処理においては、アプリケーションプログラム１６０から受け取った画像データは、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度の画像データに変換される。この解像度変換処理によって、解像度変換処理部１６６は、ＲＧＢ色空間により表される多階調（例えば２５６階調）のＲＧＢ画像データを生成する。
【００７４】
色変換処理部１６８は、従来の処理と同様に、解像度変換処理部１６６により生成されたＲＧＢ画像データを、インクジェットプリンタ１が有するインクの色に対応したＣＭＹＫ色空間により表されるＣＭＹＫ画像データに変換する。色変換処理部１６８は、ＲＧＢ画像データの各画素の各色（ここでは、Ｒ(レッド)、Ｇ(グリーン)およびＢ(ブルー)の３色）の階調値とＣＭＹＫ画像データの各画素の各色（ここでは、例えば、Ｃ(シアン)、Ｍ(マゼンダ)、Ｙ(イエロ)およびＫ(ブラック)の４色）の階調値とを対応づけた色変換テーブルＬＵＴを使用して変換処理を行う。この色変換処理によって、各画素のＲＧＢデータが、インク色に対応するＣＭＹＫデータに変換される。なお、このＣＭＹＫデータは、ＣＭＹＫ色空間により表されるデータであり、ここでは、各色につき２５６階調のＣＭＹＫデータである。色変換処理部１６８により生成されるＣＭＹＫ画像データは、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度の画像データとなる。
【００７５】
色変換処理部１６８によりＣＭＹＫ画像データを生成した後、プリンタドライバ１８０は、このＣＭＹＫ画像データに対し、従来の処理のようにハーフトーン処理を実行するのではなく、従来の処理とは異なる別の処理を実行する。この別の処理とは、多値化処理のことである。本実施形態のプリンタドライバ１８０は、この多値化処理を実行するために多値化処理部１８２を備えている。
【００７６】
＜多値化処理＞
多値化処理部１８２は、色変換処理部１６８により生成されたＣＭＹＫ画像データの各画素の各色の階調値をそれぞれ多値化処理して多値階調値データに変換する。この変換にあっては、多値化処理部１８２は、ＣＭＹＫ画像データの各画素の各色の階調値を各画素の各色毎にそれぞれ、媒体Ｓに印刷する際の解像度（出力解像度）に応じて多値階調値データに変換する。
【００７７】
図１１は、このときの多値化処理部１８２の処理手順の一例を説明したものである。多値化処理部１８２は、同図にて説明するように、まず、ＣＭＹＫ画像データの各画素の階調値と、各画素の分類番号とを取得する（Ｓ１５０）。ここで、分類番号については、後で詳しく説明する。次に、多値化処理部１８２は、ステップＳ１５２へと進み、取得した階調値と分類番号とに基づき、多値階調値データを取得する。ここで、多値化処理部１８２は、多値階調値データが分類番号別に各階調値にそれぞれ対応付けられた多値化テーブルを用いて、多値階調値データを取得する。多値化テーブルについては、後で詳しく説明する。そして、多値化処理部１８２は、取得した多値階調値データを、ＣＭＹＫ画像データの画素の階調値に対応する多値階調値データとして出力する（Ｓ１５４）。このようにして変換処理を終了した後、多値化処理部１８２は、次に変換すべき画素がないかどうかチェックする（Ｓ１５６）。ここで、次に変換すべき画素がある場合には、多値化処理部１８２は、ステップＳ１５０へと戻り、再度、変換対象となる画素の階調値について、多値階調値データに変換する処理を実行する。このような処理を多値化処理部１８２は、変換すべき画素がなくなるまで実行する。次に変換すべき画素がない場合には、多値化処理部１８２は、処理を速やかに終了する。
【００７８】
＜多値化テーブル＞
図１２は、画素の階調値と分類番号とに基づき、多値階調値データを取得する際に使用される多値化テーブルの一例を概念的に示した説明図である。多値化テーブルは、同図に示すように、多値階調値データが画素の分類番号毎にそれぞれ画素の階調値別に各々対応付けられて設定されたテーブルである。多値化テーブルは、例えば、同図に示すように、縦方向に『画素の分類番号』が、横方向に『画素の階調値』が設定され、『分類番号』と『階調値』とからそれぞれ対応する多値階調値データを導き出せるようになっている。ここで、『階調値』は、『０』〜『２５５』までの２５６階調にて表されている。また、『分類番号』は、ＣＭＹＫ画像データの各画素ごとにそれぞれ割り振られる番号であり、ここでは、『１』〜『１０２４』の番号が割り振られている。多値階調値データは、これら『０』〜『２５５』の各階調値と、『１』〜『１０２４』の各分類番号とに応じて、『０』〜『３１』の値を取るようになっている。多値階調値データは、画素の階調値が増加するに従って段階的に増加するようになっている。
【００７９】
コンピュータ１５２には、このような多値化テーブルに関するデータが、ハードディスクドライブ１５８やメモリ１６３等のデータ記憶部（図２参照）に予め記憶されている。多値化処理部１８２は、画素の階調値を多値階調値データに変換する際に、ハードディスクドライブ１５８やメモリ１６３等のデータ記憶部から多値化テーブルに関するデータを取得する。
【００８０】
＜多値化段数＞
図１３は、画素の階調値が増加するに従って多値階調値データが段階的に増加していく様子を例示した説明図である。ここでは、同図に示すように、横軸に画素の階調値を取り、縦軸に多値階調値データを取った折れ線グラフにて、画素の階調値に対する多値階調値データを示している。分類番号Ｎ１〜Ｎ５は、それぞれ異なる分類番号を表す。これら分類番号Ｎ１〜Ｎ５に対応する５つの画素についての多値化結果を示している。なお、ここで、各分類番号Ｎ１〜Ｎ５の折れ線が重なって判別し難くなることを避けるために、多値階調値データの原点位置を縦軸方向に少しずつ、ずらして表示している。
【００８１】
図中、太い実線で示した分類番号Ｎ１について説明する。画素の階調値が『０』〜『４』の範囲では、多値階調値データは、「０」であるが、画素の階調値が『５』〜『２０』の範囲では、多値階調値データは、「１」に増加する。また、画素の階調値が『２１』〜『４２』の範囲では、多値階調値データは「２」に増加する。また、画素の階調値が『４３』〜『６９』の範囲では、多値階調値データは「３」に増加する。このように、画素の階調値が増加するに従って、多値階調値データも段階的に増加する。そして、最終的には、多値階調値データは「１５」まで増加する。すなわち、分類番号Ｎ１については、階調値『０』〜『２５５』の範囲を取り得る画素の階調値を、階調値『０』〜『１５』までの１６段階に多値化（言わば、１６値化）していることになる。
【００８２】
同様に、図中で太い破線で示した分類番号Ｎ２や、太い一点鎖線で示した分類番号Ｎ３については、階調値『０』〜『２５５』の範囲を取り得る画素の階調値を、階調値『０』〜『１７』までの１８段階に多値化（言わば、１８値化）している。更に、細い実線で示した分類番号Ｎ４および細い一点鎖線で示した分類番号Ｎ５については、画素の階調値を階調値『０』〜『２０』までの２１段階に多値化（言わば、２１値化）していることになる。このように、多値化処理部１８２では、各画素の多値化の段数（多値化の結果として取り得る状態数）が同じではなく、画素の分類番号に応じて固有の段数で多値化されている。この結果、同じ画素の階調値を多値化した場合でも、画素の分類番号が異なれば、多値化の段数が異なる。このため、画素の階調値が同じであっても、異なる多値階調値データに変換されることになる。
【００８３】
また、多値化段数が同じであったとしても、同じ多値階調値データが得られるわけではない。例えば、図１３に示した分類番号Ｎ２と、分類番号Ｎ３とを比較すれば明らかなように、これら画素についての多値化段数は、いずれも１８段であるが、多値階調値データが切り換わる画素の階調値は多くの場合、一致していない。分類番号Ｎ４と分類番号Ｎ５とについても同様に、これらの画素の多値化段数は、いずれも２１段であるが、多値階調値データが切り換わる画素の階調値は一致していないことが多い。このことから、例え画素の多値化段数が同じでも、分類番号が異なれば、異なる多値階調値データが得られることになる。
【００８４】
このように多値階調値データは、分類番号によってそれぞれ異なるものの、多値化の段数は１５〜２１程度となっている。つまり、多値化の段数は、多く見積もっても３０を越えることはないと考えられる。従って、多値階調値データは、５ビットのデータ量があれば十分に表現することが可能である。
【００８５】
＜分類番号の設定＞
ここで、ＣＭＹＫ画像データの各画素への分類番号の設定方法について説明する。ＣＭＹＫ画像データの各画素に対する分類番号の設定方法は、媒体Ｓに画像を印刷する際の解像度（出力解像度）に応じて異なる。つまり、媒体Ｓに画像を印刷する際の解像度（出力解像度）が異なると、ＣＭＹＫ画像データの各画素への分類番号の割り付け方が異なる。
【００８６】
本実施形態では、媒体Ｓに画像を印刷する際の解像度（出力解像度）として、７種類の解像度がある。つまり、『１×１モード』と、『２×１モード』と、『１×２モード』と、『２×２モード』と、『４×２モード』と、『２×４モード』と、『４×４モード』との７種類である。
【００８７】
（１）出力解像度
ここで、『１×１モード』とは、ＣＭＹＫ画像データの解像度と同じ解像度にて媒体Ｓに画像を印刷するモードである。つまり、例えば、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度のＣＭＹＫ画像データに基づいて画像を印刷する場合、印刷される画像の解像度は、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度となる。また、『２×１モード』とは、ＣＭＹＫ画像データの横方向の解像度を２倍にして媒体Ｓに画像を印刷するモードである。つまり、例えば、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度のＣＭＹＫ画像データに基づいて画像を印刷する場合、印刷される画像の解像度は、７２０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度となる。なお、縦方向の解像度については、ＣＭＹＫ画像データと等しい解像度にて画像を印刷する。
【００８８】
また、『１×２モード』とは、ＣＭＹＫ画像データの縦方向の解像度を２倍にして媒体Ｓに画像を印刷するモードである。つまり、例えば、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度のＣＭＹＫ画像データに基づき画像を印刷する場合、印刷される画像の解像度は、３６０ｄｐｉ（横）×７２０ｄｐｉ（縦）の解像度となる。なお、横方向の解像度については、ＣＭＹＫ画像データと等しい解像度にて画像を印刷する。
【００８９】
また、『２×２モード』とは、ＣＭＹＫ画像データの横方向および縦方向の解像度を２倍にして媒体Ｓに画像を印刷するモードである。つまり、例えば、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度のＣＭＹＫ画像データに基づき画像を印刷する場合、印刷される画像の解像度は、７２０ｄｐｉ（横）×７２０ｄｐｉ（縦）の解像度となる。また、『４×２モード』とは、ＣＭＹＫ画像データの横方向の解像度を４倍に、またＣＭＹＫ画像データの縦方向の解像度を２倍にして媒体Ｓに画像を印刷するモードである。つまり、例えば、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度のＣＭＹＫ画像データに基づき画像を印刷する場合、印刷される画像の解像度は、１４４０ｄｐｉ（横）×７２０ｄｐｉ（縦）の解像度となる。
【００９０】
また、『２×４モード』とは、ＣＭＹＫ画像データの横方向の解像度を２倍に、またＣＭＹＫ画像データの縦方向の解像度を４倍にして媒体Ｓに画像を印刷するモードである。つまり、例えば、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度のＣＭＹＫ画像データに基づき画像を印刷する場合、印刷される画像の解像度は、７２０ｄｐｉ（横）×１４４０ｄｐｉ（縦）の解像度となる。また、『４×４モード』とは、ＣＭＹＫ画像データの横方向および縦方向の解像度を４倍にして媒体Ｓに画像を印刷するモードである。つまり、例えば、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度のＣＭＹＫ画像データに基づき画像を印刷する場合、印刷される画像の解像度は、１４４０ｄｐｉ（横）×１４４０ｄｐｉ（縦）の解像度となる。
【００９１】
（２）解像度別分類番号設定
図１４Ａ〜図１４Ｅは、各出力解像度に応じた分類番号の設定方法についてそれぞれ説明したものである。図１４Ａは、『１×１モード』、即ち、ここでは、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度にて媒体Ｓに画像を印刷する場合を示す。図１４Ｂは、『２×１モード』、即ち、ここでは、７２０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度にて媒体Ｓに画像を印刷する場合を示す。図１４Ｃは、『１×２モード』、即ち、ここでは、３６０ｄｐｉ（横）×７２０ｄｐｉ（縦）の解像度にて媒体Ｓに画像を印刷する場合を示す。図１４Ｄは、『２×２モード』、即ち、ここでは、７２０ｄｐｉ（横）×７２０ｄｐｉ（縦）の解像度にて媒体Ｓに画像を印刷する場合を示す。図１４Ｅは、『４×２モード』、即ち、ここでは、１４４０ｄｐｉ（横）×７２０ｄｐｉ（縦）の解像度にて媒体Ｓに画像を印刷する場合を示す。なお、ここで、『２×４モード』および『４×４モード』については、『４×２モード』の場合と同様の設定処理を行うものとする。
【００９２】
『１×１モード』の場合には、図１４Ａに示すように、ＣＭＹＫ画像データを構成する画素のうち、相隣接する８つの画素を１つの単位としてそれぞれ分類番号を設定する。つまり、ＣＭＹＫ画像データを構成する画素のうちの相隣接する８つの画素が、全て同じ分類番号に設定される。ここでは、横方向に４画素、縦方向に２画素、計８画素を１つの単位としてこれら８つの画素についてそれぞれ同じ分類番号を割り当てる。つまり、ここでは、同図に示すように、ＣＭＹＫ画像データの左上隅角部に位置する８つの画素は、例えば、分類番号『１』に設定される。
【００９３】
一方、これら分類番号『１』が設定された８つの画素の図中右隣りの８つの画素（横方向４画素、縦方向２画素）については、例えば、分類番号『２』が設定される。また、分類番号『１』が設定された８つの画素の図中下側に隣接する８つの画素（横方向４画素、縦方向２画素）については、例えば、分類番号『３３』が設定される。また、分類番号『１』が設定された８つの画素の図中右下の８つの画素（横方向４画素、縦方向２画素）については、例えば、分類番号『３４』が設定される。
【００９４】
また、『２×１モード』の場合には、図１４Ｂに示すように、ＣＭＹＫ画像データを構成する画素のうち、相隣接する４つの画素を１つの単位としてそれぞれ分類番号を設定する。つまり、ＣＭＹＫ画像データを構成する画素のうちの相隣接する４つの画素が、全て同じ分類番号に設定される。ここでは、横方向に２画素、縦方向に２画素、計４画素を１つの単位としてこれら４つの画素についてそれぞれ同じ分類番号を設定する。つまり、ここでは、同図に示すように、ＣＭＹＫ画像データの左上隅角部に位置する４つの画素は、例えば、分類番号『１』に設定される。
【００９５】
一方、これら分類番号『１』が設定された４つの画素の図中右隣りの４つの画素（横方向２画素、縦方向２画素）については、例えば、分類番号『２』が設定される。さらに、図中右隣りの４つの画素（横方向２画素、縦方向２画素）には、例えば、分類番号『３』が設定される。また、分類番号『１』が設定された４つの画素の図中下側に隣接する４つの画素（横方向２画素、縦方向２画素）については、例えば、分類番号『３３』が設定される。このようにして、ＣＭＹＫ画像データを構成する他の画素についても同様に、相隣接する４つの画素を１つの単位としてそれぞれ分類番号が設定される。
【００９６】
また、『１×２モード』の場合には、図１４Ｃに示すように、ＣＭＹＫ画像データを構成する画素のうち、相隣接する４つの画素を１つの単位としてそれぞれ分類番号を設定する。つまり、ＣＭＹＫ画像データを構成する画素のうちの相隣接する４つの画素が、全て同じ分類番号に設定される。ここでは、横方向に４画素、縦方向に１画素、計４画素を１つの単位としてこれら４つの画素について各々同じ分類番号を設定する。つまり、ここでは、同図に示すように、ＣＭＹＫ画像データの左上隅角部に位置する４つの画素は、例えば、分類番号『１』に設定される。
【００９７】
一方、これら分類番号『１』が設定された４つの画素の図中右隣りの４つの画素（横方向４画素、縦方向１画素）については、例えば、分類番号『２』が設定される。また、分類番号『１』が設定された４つの画素の図中下側に隣接する４つの画素（横方向４画素、縦方向１画素）については、例えば、分類番号『３３』が設定される。さらに、分類番号『３３』が設定された４つの画素の図中下側に隣接する４つの画素（横方向４画素、縦方向１画素）は、例えば、分類番号『５』に設定される。さらに、図中下側に隣接する４つの画素（横方向４画素、縦方向１画素）については、例えば、分類番号『９７』に設定される。このようにして、ＣＭＹＫ画像データを構成する他の画素についても同様に、相隣接する４つの画素を１つの単位としてそれぞれ分類番号が設定される。
【００９８】
また、『２×２モード』の場合には、図１４Ｄに示すように、ＣＭＹＫ画像データを構成する画素のうち、相隣接する２つの画素を１つの単位としてそれぞれ分類番号を設定する。つまり、ＣＭＹＫ画像データを構成する画素のうち、相隣接する２つの画素が、全て同じ分類番号に設定される。ここでは、横方向に２画素、縦方向に１画素、計２画素を１つの単位としてこれら２つの画素について各々同じ分類番号を設定する。つまり、ここでは、同図に示すように、ＣＭＹＫ画像データの左上隅角部に位置する２つの画素は、例えば、例えば、分類番号『１』に設定される。
【００９９】
一方、これら分類番号『１』が設定された２つの画素の図中右隣りの２つの画素（横方向２画素、縦方向１画素）については、例えば、分類番号『２』が設定される。さらに、これら分類番号『２』が設定された２つの画素の図中右隣りの２つの画素（横方向２画素、縦方向１画素）には、例えば、分類番号『３』が設定される。さらに、その図中右隣りの２つの画素（横方向２画素、縦方向１画素）には、例えば、分類番号『４』が設定される。また、分類番号『１』が設定された２つの画素の図中下側に隣接する２つの画素（横方向２画素、縦方向１画素）については、例えば、分類番号『３３』が設定される。さらに、分類番号『３３』が設定された２つの画素の図中下側に隣接する２つの画素（横方向２画素、縦方向１画素）には、例えば、分類番号『５』が設定される。さらに、図中下側に隣接する２つの画素（横方向２画素、縦方向１画素）については、例えば、分類番号『９７』が設定される。このようにして、ＣＭＹＫ画像データを構成する他の画素についても同様に、相隣接する２つの画素を１つの単位としてそれぞれ分類番号が設定される。
【０１００】
また、『４×２モード』の場合には、図１４Ｅに示すように、ＣＭＹＫ画像データを構成する画素ごとにそれぞれ異なる分類番号を設定する。つまり、ここでは、同図に示すように、ＣＭＹＫ画像データの左上隅角部に位置する画素には、例えば、分類番号『１』が設定される。また、この画素に隣接する他の画素には、別の分類番号が設定される。つまり、例えば、分類番号『１』が設定された画素の図中右隣りの画素には、例えば、分類番号『２』が設定される。また、分類番号『２』が設定された画素の図中右隣りの画素には、例えば、分類番号『３』が設定される。またさらに、分類番号『３』が設定された画素の図中右隣りの画素には、例えば、分類番号『４』が設定される。
【０１０１】
一方、分類番号『１』が設定された画素の図中下側に隣接した画素には、例えば、分類番号『３３』が設定される。また、分類番号『３３』が設定された画素の図中下側に隣接した画素には、例えば、分類番号『６５』が設定される。またさらに、分類番号『６５』が設定された画素の図中下側に隣接した画素には、例えば、分類番号『９７』が設定される。
【０１０２】
なお、『２×４モード』および『４×４モード』の場合には、『４×２モード』の場合と同様に分類番号の設定を行う。
【０１０３】
以上のように、ＣＭＹＫ画像データの各画素の分類番号の設定は、媒体Ｓに画像を印刷する際の解像度（出力解像度）に応じてそれぞれ異なる方法により実施する。このようにして設定された分類番号に基づき、多値化処理部１８２は、色変換処理部１６８により生成されたＣＭＹＫ画像データの各画素の各色の階調値をそれぞれ多値化処理して多値階調値データを生成する。  
多値化処理部１８２により変換されて生成された多値階調値データは、図１０に示すように、印刷データとしてプリンタドライバ１８０によりコンピュータ１５２からインクジェットプリンタ１に向けて送信される。
【０１０４】
＝＝＝インクジェットプリンタの処理＝＝＝
インクジェットプリンタ１は、コンピュータ１５２から印刷データとして送られてきた多値階調値データを受信して、当該多値階調値データに基づきドット形成用データを生成して、媒体Ｓに対して画像を印刷する。インクジェットプリンタ１の内部には、図１０に示すように、ドット形成用データを生成するドット形成用データ生成部１８４が設けられている。このドット形成用データ生成部１８４の処理について詳しく説明する。なお、このドット形成用データ生成部１８４によるドット形成用データの生成処理は、本実施形態では、実際に、インクジェットプリンタ１のコントローラ１２６により実行されている。
【０１０５】
＜ドット形成用データの生成＞
ドット形成用データ生成部１８４は、コンピュータ１５２から印刷データとして送られてきた多値階調値データに基づきドット形成用データを生成する際に、多値階調値データをドット個数データに変換する。次に、ドット形成用データ生成部１８４は、変換により得られたドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定する。そして、ドット形成用データ生成部１８４は、ドット形成の有無が決定された１以上の画素のうちの少なくとも一部の画素を、印刷される画像（出力画像）を構成する画素として、ドット形成用データを生成する。
【０１０６】
図１５は、このときのドット形成用データ生成部の処理手順の一例について示したものである。ドット形成用データ生成部１８４は、同図にて説明するように、まず、多値階調値データと、それに対応する分類番号とを取得する（Ｓ２０２）。ここで、多値階調値データに対応する分類番号とは、多値階調値データが生成される際に使用された分類番号である。ドット形成用データ生成部１８４は、次に、取得した多値階調値データと分類番号とに基づき、ドット個数データを取得する（Ｓ２０４）。このドット個数データとは、形成すべきドットの個数を表すデータである。本実施形態では、このドット個数データが、形成すべきドットの個数の他、形成すべき各ドットのサイズ（即ち「小ドット」、「中ドット」、「大ドット」）をも表すコード化されたデータとなっている。このドット個数データについては後で詳しく説明する。ドット形成用データ生成部１８４は、ここで、ドット個数データが分類番号別に各多値階調値データにそれぞれ対応付けられたドット個数データ変換テーブルにより、ドット個数データを取得する。ドット個数データ変換テーブルについては、後で詳しく説明する。
【０１０７】
次に、ドット形成用データ生成部１８４は、取得したドット個数データに基づき、１以上の画素についてそれぞれドット形成の有無を決定する（Ｓ２０６）。本実施形態では、ドット形成用データ生成部１８４は、取得したドット個数データに基づき、８つの画素についてそれぞれドットを形成すべきか否か決定するようになっている。このドット形成の有無の決定にあたっては、形成すべきドットのサイズも決定される。
【０１０８】
そして次に、ドット形成用データ生成部１８４は、ドット形成の有無が決定された１以上の画素（ここでは８つの画素）に基づき、ドット形成用データを生成する（Ｓ２０８）。具体的には、ドット形成の有無が決定された１以上の画素（ここでは８つの画素）の中から少なくとも一部の画素を切り出して、その切り出した画素を、印刷する画像を構成する画素のデータとして使用する。ここで、ドット形成の有無が決定された１以上の画素（ここでは８つの画素）は、全部の画素が切り出されて、印刷する画像を構成する画素のデータとして使用されてもよい。ドット形成の有無が決定された１以上の画素（ここでは８つの画素）の中から切り出される画素の数は、媒体Ｓに画像を印刷する際の解像度（出力解像度）に応じて異なる。このようにしてドット形成用データ生成部１８４によりドット形成用データが生成される。
【０１０９】
ある多値階調値データについてドット形成用データの生成を終了した後、ドット形成用データ生成部１８４は、次に、処理すべき多値階調値データがないかどうかチェックする（Ｓ２１０）。ここで、次に処理すべき多値階調値データがある場合には、ドット形成用データ生成部１８４は、ステップＳ２０２へと戻り、再度、処理対象となる多値階調値データについて、ドット形成用データを生成する処理を実行する。このような処理をドット形成用データ生成部１８４は、処理すべき画素がなくなるまで実行する。処理すべき多値階調値データがなくなった場合には、ドット形成用データ生成部１８４は、処理を速やかに終了する。
【０１１０】
＜ドット個数データ変換テーブル＞
図１６は、多値階調値データをドット個数データに変換する際に使用されるドット個数データ変換テーブルの一例を概念的に説明したものである。このドット個数データ変換テーブルは、同図に示すように、ドット個数データが各分類番号毎にそれぞれ多値階調値データ別に各々対応付けられて設定されたテーブルである。ドット個数データ変換テーブルは、例えば、同図に示すように、縦方向に『分類番号』が、また横方向に『多値階調値データ』が設定され、『分類番号』と『多値階調値データ』とからそれぞれ対応するドット個数データを導き出せるようになっている。なお、ここで、『分類番号』は、先に説明したように、『１』〜『１０２４』の番号にて表される。また、『多値階調値データ』は、『０』〜『３１』までの数値にて表される。また、『ドット個数データ』は、ここでは、『０』〜『１６４』の数値にて表されるようになっている。ドット個数データは、これら『１』〜『１０２４』の分類番号と、『０』〜『３１』の多値階調値データとに応じてそれぞれ個別に用意されている。
【０１１１】
一例として、分類番号『１』について説明すると、多値階調値データ『０』に対して、ドット個数データは、「０」が設定されている。また、多値階調値データ『３』に対して、ドット個数データは、「３」が設定されている。また、多値階調値データ『１４』に対して、ドット個数データは、「１５７」が設定されている。更に、多値階調値データ『１５』に対して、ドット個数データは、「１６４」が設定されている。
【０１１２】
インクジェットプリンタ１には、このようなドット個数データ変換テーブルに関するデータが、メインメモリ１２７（図５参照）等に予め記憶されている。ドット形成用データ生成部１８４は、多値階調値データをドット個数データに変換する際に、メインメモリ１２７等からドット個数データ変換テーブルに関するデータを取得する。
【０１１３】
＜ドット個数データ＞
前述したように本実施形態のドット個数データは、形成すべきドットの個数の他、形成すべき各ドットのサイズ（即ち「小ドット」、「中ドット」、「大ドット」）をも表すコード化されたデータとなっている。
【０１１４】
図１７は、ドット個数データと、このドット個数データにより表される、形成すべきドットの個数およびサイズに関する情報との対応関係の一例を説明したものである。ドット個数データは、前述したように、『０』〜『１６４』の数値を取るようになっている。ドット個数データの各数値『０』〜『１６４』は、それぞれドット形成の有無と、ドットのサイズとを表すようになっている。つまり、ドット個数データ『０』は、「大ドット」、「中ドット」および「小ドット」につき共に形成しないことを表わす。また、ドット個数データ『１』は、「小ドット」のみを１個形成することを表す。また、ドット個数データ『２』は、「小ドット」のみを２個形成することを表す。また、ドット個数データ『３』は、「小ドット」のみを３個形成することを表す。また、ドット個数データ『１６０』は、「大ドット」を６個形成し、「中ドット」を２個形成し、「小ドット」は形成しないことを表す。また、ドット個数データ『１６１』は、「大ドット」のみを７個形成することを表わす。また、ドット個数データ『１６４』は、「大ドット」のみを８個形成することを表わす。
【０１１５】
このようにドット個数データが表されているのは、次の理由からである。つまり、本実施形態では、取得したドット個数データに基づき、８つの画素についてそれぞれドットを形成すべきか否か決定するようになっているためである。要するに、８つの画素について形成され得るドット個数は、最大でも８個である。例えば、大ドットが４個、中ドットが３個、小ドットが２個といったドット個数の組合せは、ドット個数の合計が９個となって８個を越えてしまうので現実には発生し得ない。こうした点に着目すれば、現実に発生し得るドット個数の組合せは、それほど多くの種類はないと考えられる。実際に算出すれば、次のようになる。つまり、８つの画素についてみれば「大ドットを形成する」、「中ドットを形成する」、「小ドットを形成する」、「ドットを形成しない」の４つの状態を取り得る。従って、ドット個数の組合せは、これら４つの状態を、重複を許容して８回選択した時の組合せの数に等しくなるから、４Ｈ８（＝４＋８−１Ｃ８）によって求めることができる。このことから、最大でも１６５通りの組合せしか出現しないことになる。ここで、ｎＨｒは、ｎ個の物の中から重複を許してｒ回選択するときの重複組合せ数を求める演算子である。また、ｎＣｒは、ｎ個の物の中から重複を許さずにｒ回選択するときの組合せ数を求める演算子である。１６５通りの組合せであれば、８ビットあれば表現することができる。
【０１１６】
一方、各ドットの個数をコード化せずに、そのまま表現しようとすると、大ドットの個数、中ドットの個数、小ドットの個数を表すためにそれぞれ４ビットずつ、合計では１２ビットのデータ量が必要となる。したがって、現実に発生し得るドット個数の組合せにコード番号を設定しておけば、形成すべきドット個数の組合せを８ビットのデータで表すことができる。結局、ドット個数の組合せをコード化しておくことで、ドットの種類毎に形成個数を表した場合よりも、必要なデータ量を低減することが可能となる。
【０１１７】
なお、もちろん、ドット個数データについては、前述した８ビットのデータの代わりに、各サイズのドットの個数をコード化せずにそのまま表現した１２ビットのデータを用いても構わない。
【０１１８】
＜ドット形成の有無の決定＞
ドット形成用データ生成部１８４は、取得したドット個数データに基づき、本実施形態では、１以上の画素についてそれぞれドット形成の有無を決定する。本実施形態では、ドット個数データに基づき、８つの画素（横４画素、縦２画素）についてそれぞれドット形成の有無とともにドットのサイズがドット形成用データ生成部１８４により決定される。ここで、８つの画素各々についてのドット形成の有無の決定は、順序値マトリックスに基づき行われる。なお、この順序値マトリックスは、「ドット形成順序データ」に相当する。
【０１１９】
ここで、順序値マトリックスとは、８つの画素についてそれぞれドットが形成されるべき順番を設定したマトリックスのことである。この順序値マトリックスには、横４画素、縦２画素、計８つの画素についてそれぞれドットを形成すべき順番を表わす番号が設定されている。８つの画素についてそれぞれ設定されるドットの形成順番を表わす番号は、分類番号毎にそれぞれ個別に設定されている。つまり、順序値マトリックスは、分類番号毎にそれぞれ異なるマトリックスに設定されている。
【０１２０】
＜順序値マトリックス＞
図１８は、ここで使用される順序値マトリックスの一例を説明したものである。図１８Ａは、分類番号『１』に対応して設定される順序値マトリックスの一例を説明している。図１８Ｂは、分類番号『２』に対応して設定される順序値マトリックスの一例を説明している。図１８Ｃは、分類番号『３』に対応して設定される順序値マトリックスの一例を説明している。
【０１２１】
分類番号『１』に対応する順序値マトリックスは、図１８Ａに示すように、ドット形成の有無が決定される８つの画素のうち、左上隅にある画素に対してドットの形成順番を表わす番号「１」が設定されている。このように左上隅の画素に数値「１」が設定されているのは、この画素が８つの画素のうち、１番目にドットが形成されるべきことを表している。なお、順序値マトリックスに設定されている、このような順番を表す数値を、順序値とも呼ぶ。また、８つの画素の中の右下隅の画素に順序値「２」が設定されているのは、この画素が８つの画素の中で２番目にドットが形成されるべきことを表している。このように、順序値マトリックスには、８つの画素についてそれぞれドットが形成される順番を示す順序値が設定されている。ここでは、画素の数が８つであるから、『１』〜『８』の番号が順序値として８つの画素にそれぞれ設定される。なお、８つの画素に設定される順序値は、それぞれ異なる。
【０１２２】
一方、ここで、分類番号『２』に対応する順序値マトリックスは、図１８Ｂに示すように、１番目にドットが形成されるべき画素（順序値「１」の画素）が、下段の左から２番目の画素となっている。また、２番目にドットが形成されるべき画素（順序値「２」の画素）は、右下隅の画素となっている。また、ここで、分類番号『３』に対応する順序値マトリックスは、図１８Ｂに示すように、１番目にドットが形成されるべき画素（順序値「１」の画素）が、上段の右から２番目の画素となっている。また、２番目にドットが形成されるべき画素（順序値「２」の画素）は、左下隅の画素となっている。
【０１２３】
インクジェットプリンタ１には、このような各分類番号『１』〜『１０２４』に各々対応する順序値マトリックスに関するデータが、メインメモリ１２７（図５参照）等に予め記憶されている。ドット形成用データ生成部１８４は、８つの画素についてそれぞれ個別にドット形成の有無を決定するときに、メインメモリ１２７等から順序値マトリックスに関するデータを取得する。
【０１２４】
＜各画素への決定＞
このように順序値マトリックスに関するデータを取得した後、ドット形成用データ生成部１８４は、次に、８つの画素の中から、先ず初めに大ドットを形成する画素を決定する。大ドットは他のドットよりもドットが目立ち易いことから、できるだけドットが分散して形成されるように、ドットを形成する画素位置を他のドットに優先させて決定しておくことが望ましい。このため、先ずはじめに大ドットを形成する画素を決定する。ドットを形成する画素の決定に際しては、多値階調値データを変換して得られたドット個数データと、それに対応する順序値マトリックスとを使用する。
【０１２５】
図１９は、ドット個数データと順序値マトリックスとに基づき、８つの画素についてそれぞれドット形成の有無を決定する手順の一例を概念的に説明したものである。ここでは、ドット個数データが、大ドットを１個、中ドットを２個、小ドットを１個、それぞれ形成すべき旨を表すデータであり、順序値マトリックスが、図１８Ａに示した分類番号『１』に対応する順序値マトリックスである場合を例にして説明する。
【０１２６】
前述したように、順序値マトリックスには、８つの画素についてそれぞれドットが形成される順番が設定されている。ここで、まずはじめに、［第１ステップ］にて、最も大きいドット、即ち大ドットが形成される画素が決定される。形成すべき大ドットの個数は１個であるから、大ドットが形成される画素は、順序値「１」が設定された画素のみとなる。すなわち、図中、８つの画素のうち、細かい斜線を付して表示した画素となる。
【０１２７】
次に、［第２ステップ］にて、２番目に大きいドット、即ち中ドットが形成される画素が決定される。形成すべき中ドットの個数は２個であることから、中ドットが形成される画素は、順序値「２」が設定された画素と、順序値「３」が設定された画素との２つになる。すなわち、図中、８つの画素のうち、少し粗い斜線を付して表示した画素となる。
【０１２８】
そして次に、［第３ステップ］にて、３番目に大きいドット、即ち小ドットが形成される画素が決定される。形成すべき小ドットの個数は１個であることから、小ドットが形成される画素は、順序値「４」が設定された画素のみとなる。すなわち、図中、８つの画素のうち、粗い斜線を付して表示した画素となる。
【０１２９】
このようにして大ドット、中ドットおよび小ドットについてそれぞれ、８つの画素の中から形成すべき画素を決定する。これら大ドット、中ドットおよび小ドットについて形成すべき指示がない残りの画素については、ドットを形成しない画素とする。これによって、最終的には、図中の下部に示すようなドット配置となる。また、８つの画素それぞれについてドットを形成するためのデータは、同じく図中の下部に示すようなドットデータとなる。
【０１３０】
＜画素の切り出し＞
次に、ドット形成用データ生成部１８４は、このようにして形成すべきドットの位置とサイズを決定した８つの画素の中から少なくとも一部の画素を切り出して、その切り出した画素を、印刷する画像を構成する画素のドット形成用データとして使用する。ここで切り出される画素の数は、媒体Ｓに画像を印刷する際の解像度（出力解像度）に応じて異なる。また、８つの画素の中から切り出される画素の位置は、多値階調値データを生成する際に、ＣＭＹＫ画像データにおける画素の中の位置に応じて異なる。
【０１３１】
（１）１×１モードの場合
『１×１モード』の場合には、媒体Ｓに画像を印刷する際の解像度（出力解像度）がＣＭＹＫ画像データの解像度と同じであるから、切り出される画素の数は１つである。図２０は、８つの画素の中から切り出される画素の位置について説明したものである。図２０Ａ〜図２０Ｈは、切り出される画素の位置のパターンをそれぞれ示したものである。また、図２１は、ＣＭＹＫ画像データにおける画素の位置について説明したものである。
【０１３２】
図２０Ａは、８つの画素の中の左上隅に位置する画素を切り出す場合について示したものである。図２０Ｂは、８つの画素の中の上段の左から２番目に位置する画素を切り出す場合について示したものである。図２０Ｃは、８つの画素の中の上段の右から２番目に位置する画素を切り出す場合について示したものである。図２０Ｄは、８つの画素の中の右上隅に位置する画素を切り出す場合について示したものである。図２０Ｅは、８つの画素の中の左下隅に位置する画素を切り出す場合について示したものである。図２０Ｆは、８つの画素の中の下段の左から２番目に位置する画素を切り出す場合について示したものである。図２０Ｇは、８つの画素の中の下段の右から２番目に位置する画素を切り出す場合について示したものである。図２０Ｈは、８つの画素の中の右下隅に位置する画素を切り出す場合について示したものである。
【０１３３】
図２０Ａに示すように、８つの画素の中の左上隅に位置する画素が切り出されるのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２１において『（１）』で示された位置、即ち同一の分類番号が設定される画素の中の左上隅の位置である場合である。つまり、ここでは、図２１に示す各分類番号『１』、『２』、『３３』、『３４』が設定された４画素（横）×２画素（縦）の８つの画素の中の左上隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２０Ａに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１１」という画素データをドット形成用データとして取得する。
【０１３４】
また、図２０Ｂに示すように、８つの画素の中の上段の左から２番目に位置する画素が切り出されるのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２１において『（２）』で示された位置、即ち同一の分類番号が設定される画素の中の上段の左から２番目の位置である場合である。つまり、ここでは、図２１に示すように各分類番号『１』、『２』、『３３』、『３４』がそれぞれ設定される４画素（横）×２画素（縦）の８つの画素の中の上段の左から２番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２０Ｂに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「００」という画素データをドット形成用データとして取得する。
【０１３５】
また、図２０Ｃに示すように、８つの画素の中の上段の右から２番目に位置する画素が切り出されるのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２１において『（３）』で示された位置、即ち同一の分類番号が設定される画素の中の上段の右から２番目の位置である場合である。つまり、ここでは、図２１に示すように各分類番号『１』、『２』、『３３』、『３４』がそれぞれ設定される４画素（横）×２画素（縦）の８つの画素の中の上段の右から２番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２０Ｃに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１０」という画素データをドット形成用データとして取得する。
【０１３６】
また、図２０Ｄに示すように、８つの画素の中の右上隅に位置する画素が切り出されるのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２１において『（４）』で示された画素の位置、即ち同一の分類番号が設定される画素の中の右上隅の位置である場合である。つまり、ここでは、図２１に示すように各分類番号『１』、『２』、『３３』、『３４』がそれぞれ設定される４画素（横）×２画素（縦）の８つの画素の中の右上隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２０Ｄに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「００」という画素データをドット形成用データとして取得する。
【０１３７】
図２０Ｅに示すように、８つの画素の中の左下隅に位置する画素が切り出されるのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２１において『（５）』で示された位置、即ち同一の分類番号が設定される画素の中の左上隅の位置である場合である。つまり、ここでは、図２１に示すように各分類番号『１』、『２』、『３３』、『３４』がそれぞれ設定される４画素（横）×２画素（縦）の８つの画素の中の左下隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２０Ｅに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「００」という画素データをドット形成用データとして取得する。
【０１３８】
また、図２０Ｆに示すように、８つの画素の中の下段の左から２番目に位置する画素が切り出されるのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２１において『（６）』で示された位置、即ち同一の分類番号が設定される画素の中の下段の左から２番目の位置である場合である。つまり、ここでは、図２１に示すように各分類番号『１』、『２』、『３３』、『３４』がそれぞれ設定される４画素（横）×２画素（縦）の８つの画素の中の下段の左から２番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２０Ｅに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「０１」という画素データをドット形成用データとして取得する。
【０１３９】
また、図２０Ｇに示すように、８つの画素の中の下段の右から２番目に位置する画素が切り出されるのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２１において『（７）』で示された位置、即ち同一の分類番号が設定される画素の中の下段の右から２番目の位置である場合である。つまり、ここでは、図２１に示すように各分類番号『１』、『２』、『３３』、『３４』がそれぞれ設定される４画素（横）×２画素（縦）の８つの画素の中の下段の右から２番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２０Ｇに示すよう画素の切り出し方を実行する。ここでは、このような切り出し方によって、「００」という画素データをドット形成用データとして取得する。
【０１４０】
また、図２０Ｈに示すように、８つの画素の中の右下隅に位置する画素が切り出されるのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の中の位置が、図２１において『（８）』で示された位置、即ち同一の分類番号が設定される画素の中の右上隅の位置である場合である。つまり、ここでは、図２１に示すように各分類番号『１』、『２』、『３３』、『３４』がそれぞれ設定される４画素（横）×２画素（縦）の８つの画素の中の右下隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２０Ｈに示すよう画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１０」という画素データをドット形成用データとして取得する。
【０１４１】
（２）２×１モードの場合
『２×１モード』の場合には、媒体Ｓに画像を印刷する際の横方向の解像度（出力解像度）が、ＣＭＹＫ画像データの解像度の２倍となる。このことから、『２×１モード』の場合に切り出される画素は、８つの画素のうちの横方向に並ぶ２つの画素となる。図２２は、８つの画素の中から切り出される画素の位置について説明したものである。図２２Ａ〜図２２Ｄは、切り出される画素の位置をそれぞれ示したものである。また、図２３は、ＣＭＹＫ画像データにおける画素の位置について説明したものである。
【０１４２】
図２２Ａは、８つの画素の中の上段の左から１番目および２番目に位置する画素を切り出す場合について説明したものである。図２２Ｂは、８つの画素の中の上段の右から１番目および２番目に位置する画素を切り出す場合について説明したものである。図２２Ｃは、８つの画素の中の下段の左から１番目および２番目に位置する画素を切り出す場合について説明したものである。図２２Ｄは、８つの画素の中の下段の右から１番目および２番目に位置する画素を切り出す場合について説明したものである。
【０１４３】
図２２Ａに示すように、８つの画素の中の上段の左から１番目および２番目に位置する画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２３において『（１）』で示された位置、即ち同一の分類番号が設定される画素の中の左上隅の位置である場合である。つまり、ここでは、図２３に示すように各分類番号『１』〜『４』、『３３』〜『３６』がそれぞれ設定される２画素（横）×２画素（縦）の４つの画素の中の左上隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２２Ａに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１１」および「００」という横方向に並ぶ２つの画素データをドット形成用データとして取得する。
【０１４４】
図２２Ｂに示すように、８つの画素の中の上段の右から１番目および２番目に位置する画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２３において『（２）』で示された位置、即ち同一の分類番号が設定される画素の中の右上隅の位置である場合である。つまり、ここでは、図２３に示すように各分類番号『１』〜『４』、『３３』〜『３６』がそれぞれ設定される２画素（横）×２画素（縦）の４つの画素の中の右上隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２２Ｂに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１０」および「００」という横方向に並ぶ２つの画素データをドット形成用データとして取得する。
【０１４５】
図２２Ｃに示すように、８つの画素の中の下段の左から１番目および２番目に位置する画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２３において『（３）』で示された位置、即ち同一の分類番号が設定される画素の中の左下隅の位置である場合である。つまり、ここでは、図２３に示すように各分類番号『１』〜『４』、『３３』〜『３６』がそれぞれ設定される２画素（横）×２画素（縦）の４つの画素の中の左下隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２２Ｃに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「００」および「０１」という横方向に並ぶ２つの画素データをドット形成用データとして取得する。
【０１４６】
図２２Ｄに示すように、８つの画素の中の下段の右から１番目および２番目に位置する画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２３において『（４）』で示された位置、即ち同一の分類番号が設定される画素の中の右下隅の位置である場合である。つまり、ここでは、図２３に示すように各分類番号『１』〜『４』、『３３』〜『３６』がそれぞれ設定される２画素（横）×２画素（縦）の４つの画素の中の右下隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２２Ｄに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「００」および「１０」という横方向に並ぶ２つの画素データをドット形成用データとして取得する。
【０１４７】
（３）１×２モード
『１×２モード』の場合には、媒体Ｓに画像を印刷する際の縦方向の解像度（出力解像度）が、ＣＭＹＫ画像データの解像度の２倍となる。このことから、『１×２モード』の場合に切り出される画素は、８つの画素のうちの縦方向に並ぶ２つの画素となる。図２４は、８つの画素の中から切り出される画素の位置について説明したものである。図２４Ａ〜図２４Ｄは、切り出される画素の位置をそれぞれ示したものである。また、図２５は、ＣＭＹＫ画像データにおける画素の位置について説明したものである。
【０１４８】
図２４Ａは、８つの画素の中の左から１番目の列に位置する上下２つの画素を切り出す場合について説明したものである。図２４Ｂは、８つの画素の中の左から２番目の列に位置する上下２つの画素を切り出す場合について説明したものである。図２４Ｃは、８つの画素の中の右から２番目の列に位置する上下２つの画素を切り出す場合について説明したものである。図２４Ｄは、８つの画素の中の右から１番目の列に位置する上下２つの画素を切り出す場合について説明したものである。
【０１４９】
図２４Ａに示すように、８つの画素の中の左から１番目の列に位置する上下２つの画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２５において『（１）』で示された位置、即ち同一の分類番号が設定される画素の中の左から１番目の位置である場合である。つまり、ここでは、図２５に示すように各分類番号『１』、『２』、『３３』、『３４』、『６５』、『６６』、『９７』、『９８』がそれぞれ設定される４画素（横）×１画素（縦）の４つの画素の中の左から１番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２４Ａに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１１」および「００」という縦方向に並ぶ２つの画素データをドット形成用データとして取得する。
【０１５０】
図２４Ｂに示すように、８つの画素の中の左から２番目の列に位置する上下２つの画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２５において『（２）』で示された位置、即ち同一の分類番号が設定される画素の中の左から２番目の位置である場合である。つまり、ここでは、図２５に示すように各分類番号『１』、『２』、『３３』、『３４』、『６５』、『６６』、『９７』、『９８』がそれぞれ設定される４画素（横）×１画素（縦）の４つの画素の中の左から２番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２４Ｂに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「００」および「０１」という縦方向に並ぶ２つの画素データをドット形成用データとして取得する。
【０１５１】
図２４Ｃに示すように、８つの画素の中の右から２番目の列に位置する上下２つの画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２５において『（３）』で示された位置、即ち同一の分類番号が設定される画素の中の右から２番目の位置である場合である。つまり、ここでは、図２５に示すように各分類番号『１』、『２』、『３３』、『３４』、『６５』、『６６』、『９７』、『９８』がそれぞれ設定される４画素（横）×１画素（縦）の４つの画素の中の右から２番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２４Ｃに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１０」および「００」という縦方向に並ぶ２つの画素データをドット形成用データとして取得する。
【０１５２】
図２４Ｄに示すように、８つの画素の中の右から１番目の列に位置する上下２つの画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２５において『（４）』で示された位置、即ち同一の分類番号が設定される画素の中の右から１番目の位置である場合である。つまり、ここでは、図２５に示すように各分類番号『１』、『２』、『３３』、『３４』、『６５』、『６６』、『９７』、『９８』がそれぞれ設定される４画素（横）×１画素（縦）の４つの画素の中の右から１番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２４Ｄに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「００」および「１０」という縦方向に並ぶ２つの画素データをドット形成用データとして取得する。
【０１５３】
（４）２×２モード
『２×２モード』の場合には、媒体Ｓに画像を印刷する際の横方向および縦方向の解像度（出力解像度）がそれぞれ、ＣＭＹＫ画像データの解像度の２倍となる。このことから、『２×２モード』の場合に切り出される画素は、８つの画素のうちの横方向に２画素分および縦方向に２画素分の計４画素となる。図２６は、８つの画素の中から切り出される画素の位置について説明したものである。図２６Ａおよび図２６Ｂは、切り出される画素の位置をそれぞれ示したものである。また、図２７は、ＣＭＹＫ画像データにおける画素の位置について説明したものである。
【０１５４】
図２６Ａに示すように、８つの画素の中の左側に位置する上下左右４つの画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２７において『（１）』で示された位置、即ち同一の分類番号が設定される画素の中の左側の位置である場合である。つまり、ここでは、図２７に示すように各分類番号『１』〜『４』、『３３』〜『３７』、『６５』〜『６８』、『９７』〜『１００』がそれぞれ設定される２画素（横）×１画素（縦）の２つの画素の中の左側に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２６Ａに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１１」、「００」、「００」および「０１」という上下方向および左右方向に並ぶ４つの画素データをドット形成用データとして取得する。
【０１５５】
図２６Ｂに示すように、８つの画素の中の右側に位置する上下左右４つの画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２７において『（２）』で示された位置、即ち同一の分類番号が設定される画素の中の右側の位置である場合である。つまり、ここでは、図２７に示すように各分類番号『１』〜『４』、『３３』〜『３７』、『６５』〜『６８』、『９７』〜『１００』がそれぞれ設定される２画素（横）×１画素（縦）の２つの画素の中の右側に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２６Ｂに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１０」、「００」、「００」および「１０」という上下方向および左右方向に並ぶ４つの画素データをドット形成用データとして取得する。
【０１５６】
（５）４×２モードの場合
『４×２モード』の場合には、媒体Ｓに画像を印刷する際の横方向の解像度（出力解像度）がＣＭＹＫ画像データの解像度の４倍に、また媒体Ｓに画像を印刷する際の縦方向の解像度（出力解像度）がＣＭＹＫ画像データの解像度の２倍になる。このことから、『４×２モード』の場合に切り出される画素は８つの画素全てとなる。図２８は、８つの画素の中から切り出される画素の位置について説明したものである。同図に示すように、形成すべきドットの位置とサイズを決定した８つの画素全てがドット形成用データとして切り出される。すなわち、ここでは、「１１」、「００」、「１０」、「００」、「００」、「０１」、「００」、「１０」という横方向に４つ、縦方向に２つ並ぶ８つの画素データをドット形成用データとして取得する。
【０１５７】
＜他のモードの場合＞
以上、『１×１モード』、『２×１モード』、『１×２モード』、『２×２モード』および『４×２モード』の場合については、前述した方法によりドット形成用データを生成する。しかし、他のモード、即ち『２×４モード』および『４×４モード』の場合には、前述した方法とは異なる方法によりドット形成用データを生成する。以下にその異なる方法について説明する。
【０１５８】
（１）２×４モードの場合
『２×４モード』の場合、前述した他のモードの場合に比べて。多値階調値データをドット個数データに変換する処理が異なる。ここでは、図１６にて説明したドット個数データ変換テーブルとは異なる、『２×４モード』のためのドット個数データ変換テーブルにより、多値階調値データがドット個数データに変換される。
【０１５９】
図２９は、『２×４モード』のためのドット個数データ変換テーブルの一例を概念的に説明したものである。このドット個数データ変換テーブルには、図１６にて説明したドット個数データ変換テーブルと同様に、ドット個数データが各分類番号毎にそれぞれ多値階調値データ別に各々対応付けられて設定され、『分類番号』と『多値階調値データ』とからそれぞれ対応するドット個数データを導き出せるようになっている。『分類番号』は、図１６の場合と同様、『１』〜『１０２４』の番号にて表される。また、『多値階調値データ』についても、図１６の場合と同様、『０』〜『３１』までの数値にて表される。また、『ドット個数データ』は、図１６の場合と同様、『０』〜『１６４』の数値にて表されている。ドット個数データは、これら『１』〜『１０２４』の分類番号と、『０』〜『３１』の多値階調値データとに応じてそれぞれ個別に用意されている。
【０１６０】
なお、ここで『ドット個数データ』は、形成すべきドットの個数の他、形成すべき各ドットのサイズ（即ち「小ドット」、「中ドット」、「大ドット」）をも表すコード化されたデータとなっている。ここでは、『ドット個数データ』に、８つの画素について形成されるドットの個数に関する情報が含まれることから、図１７にて説明した場合と同様に、『０』〜『１６４』の数値にて表されるようになっている。
【０１６１】
インクジェットプリンタ１には、このような『２×４モード』にて使用されるドット個数データ変換テーブルに関するデータが、メインメモリ１２７（図５参照）等に予め記憶されている。ドット形成用データ生成部１８４は、『２×４モード』にて多値階調値データをドット個数データに変換するときに、メインメモリ１２７等から『２×４モード』のドット個数データ変換テーブルに関するデータを取得する。
【０１６２】
ドット形成用データ生成部１８４は、『２×４モード』の場合に、このドット個数データ変換テーブルを参照して、多値階調値データをドット個数データに変換する。そして、ドット形成用データ生成部１８４は、この変換により取得したドット個数データに基づき、横２画素×縦４画素、計８個の画素について個別にドット形成の有無を決定する。このとき、ドット形成用データ生成部１８４は、『２×４モード』のために用意された順序値マトリックスに基づき、８個の画素について個別にドット形成の有無を決定する。
【０１６３】
図３０は、このときに使用される順序値マトリックスの一例を説明したものである。『２×４モード』にて使用される順序値マトリックスは、同図に示すように、横２画素、縦４画素、計８個の画素についてそれぞれドットを形成すべき順番を表わす番号（以下、「順序値」ともいう）が設定されたマトリックスによりなる。８つの画素についてそれぞれ設定された番号は、図１８にて説明した順序値マトリックスと同様に、それぞれドットが形成されるすべき順番を表わす。つまり、順序値『１』が設定された画素は、１番最初にドットが形成されるべき画素である。順序値『２』が設定された画素は、２番目にドットが形成されるべき画素である。順序値『３』が設定された画素は、３番目にドットが形成されるべき画素である。
【０１６４】
このような順序マトリックスは、『２×４モード』の場合でも、図１８にて説明した順序値マトリックスと同様に、分類番号毎にそれぞれ個別に設定されている。つまり、順序値マトリックスは、分類番号毎にそれぞれ異なるマトリックスに設定されている。
【０１６５】
インクジェットプリンタ１には、このような『２×４モード』にて使用される順序値マトリックスに関するデータが、メインメモリ１２７（図５参照）等に予め記憶されている。ドット形成用データ生成部１８４は、『２×４モード』にて、８つの画素についてそれぞれ個別にドット形成の有無を決定するときに、メインメモリ１２７等から『２×４モード』の順序値マトリックスに関するデータを取得する。
【０１６６】
このような順序値マトリックスに基づき、８個の画素についてそれぞれドット形成の有無を決定する方法は、図１９にて説明した場合と同じ方法である。すなわち、まずはじめに、ドットが目立ち易い大きいサイズのドットから順に、形成すべき画素の位置を決定する。
【０１６７】
図３１は、『２×４モード』において、ドット個数データと順序値マトリックスとに基づき、８つの画素についてそれぞれドット形成の有無を決定する手順の一例を概念的に説明したものである。ここでは、大ドットを１個、中ドットを２個、小ドットを１個、それぞれ形成すべき旨を表すドット個数データに基づき、図３０にて説明した順序値マトリックスを用いてドット形成の有無を決定する場合を例にして説明する。
【０１６８】
ここで、順序値『１』に対応する画素には、１番大きいドット、即ち大ドット（『１１』）が設定される。形成すべき大ドットの個数は１個であるから、順序値『２』に対応する画素には、中ドット（『１０』）が設定される。形成すべき中ドットの個数は２個であるから、順序値『３』に対応する画素にも、中ドット（『１０』）が設定される。次に、順序値『４』に対応する画素には、小ドット（『０１』）が設定される。形成すべき小ドットの個数は、１個であるから、他の残りの画素、即ち順序値『５』〜『８』に対応する画素には、ドットが形成されないことになる。
【０１６９】
このようにしてドット形成用データ生成部１８４は、『２×４モード』の場合に、多値階調値データに基づき、横２画素×縦４画素、計８個の画素についてそれぞれドット形成の有無を決定する。そして、ドット形成用データ生成部１８４は、ドット形成の有無を決定した８個の画素を全てドット形成用データとして用いる。
【０１７０】
（２）４×４モードの場合
『４×４モード』の場合、前述した他のモードの場合に比べて、多値階調値データをドット個数データに変換する処理が異なる。『４×４モード』の場合においても、『２×４モード』の場合と同様に、図１６や図２９にて説明したドット個数データ変換テーブルとは異なる、『４×４モード』のためのドット個数データ変換テーブルを使用する。
【０１７１】
図３２は、『４×４モード』のためのドット個数データ変換テーブルの一例を概念的に説明したものである。このドット個数データ変換テーブルには、図１６や図２９にて説明したドット個数データ変換テーブルと同様に、ドット個数データが各分類番号毎にそれぞれ多値階調値データ別に各々対応付けられて設定され、『分類番号』と『多値階調値データ』とからそれぞれ対応するドット個数データを導き出せるようになっている。『分類番号』は、図１６や図２９の場合と同様、『１』〜『１０２４』の番号にて表される。また、『多値階調値データ』についても、図１６の場合と同様、『０』〜『３１』までの数値にて表される。ドット個数データは、これら『１』〜『１０２４』の分類番号と、『０』〜『３１』の多値階調値データとに応じてそれぞれ個別に用意されている。
【０１７２】
ただし、『ドット個数データ』は、図１６や図２９の場合と異なり、『０』〜『９６８』の数値にて表されている。このように『ドット個数データ』が、『０』〜『９６８』の値を取るように設定されているのは、次の理由からである。すなわち、ドット個数データは、前述したように、形成すべきドットの個数の他、形成すべき各ドットのサイズ（即ち「小ドット」、「中ドット」、「大ドット」）をも表すコード化されたデータとなっている。『４×４モード』の場合には、ドット個数データに基づき、前述したように８つの画素についてドット形成の有無を決定するのではなく、１６個の画素（横４画素×縦４画素）についてドット形成の有無を決定する。１６個の画素について形成され得るドット個数は、最大でも１６個である。各画素において取り得る状態としては、「大ドット」、「中ドット」、「小ドット」、「ドット形成なし」の４段階であるから、ドット個数の組合せは、４Ｈ１６（＝４＋１６−１Ｃ１６）＝９６９通りとなる。このことから、ドット個数データを『０』〜『９６８』の値で表せば、全ての組合せを表現することができる。
【０１７３】
図３３は、ドット個数データと、このドット個数データにより表される、形成すべきドットの個数およびサイズに関する情報との対応関係の一例を説明したものである。ドット個数データは、前述したように、『０』〜『９６８』の数値を取るようになっている。ドット個数データの『０』〜『９６８』の数値は、それぞれドット形成の有無と、ドットのサイズとを表すようになっている。
【０１７４】
インクジェットプリンタ１には、このような『４×４モード』にて使用されるドット個数データ変換テーブルに関するデータが、メインメモリ１２７（図５参照）等に予め記憶されている。ドット形成用データ生成部１８４は、『４×４モード』にて、多値階調値データをドット個数データに変換するときに、メインメモリ１２７等から『４×４モード』のドット個数データ変換テーブルに関するデータを取得する。
【０１７５】
ドット形成用データ生成部１８４は、『４×４モード』の場合に、このドット個数データ変換テーブルを参照して、多値階調値データをドット個数データに変換する。そして、ドット形成用データ生成部１８４は、この変換により取得したドット個数データに基づき、横４画素×縦４画素、計１６個の画素について個別にドット形成の有無を決定する。このとき、ドット形成用データ生成部１８４は、『４×４モード』のために用意された順序値マトリックスに基づき、１６個の画素について個別にドット形成の有無を決定する。
【０１７６】
図３４は、このときに使用される順序値マトリックスの一例を説明したものである。『４×４モード』にて使用される順序値マトリックスは、同図に示すように、横４画素、縦４画素、計１６個の画素についてそれぞれドットを形成すべき順番を表わす番号（以下、「順序値」ともいう）が設定されたマトリックスによりなる。１６個の画素についてそれぞれ設定された番号は、図１８や図３０にて説明した順序値マトリックスと同様に、それぞれドットが形成されるすべき順番を表わす。つまり、順序値『１』が設定された画素は、１番最初にドットが形成されるべき画素である。順序値『２』が設定された画素は、２番目にドットが形成されるべき画素である。順序値『３』が設定された画素は、３番目にドットが形成されるべき画素である。
【０１７７】
このような順序マトリックスは、『４×４モード』の場合でも、図１８や図３０にて説明した順序値マトリックスと同様に、分類番号毎にそれぞれ個別に設定されている。つまり、順序値マトリックスは、分類番号毎にそれぞれ異なるマトリックスに設定されている。
【０１７８】
インクジェットプリンタ１には、このような『４×４モード』にて使用される順序値マトリックスに関するデータが、メインメモリ１２７（図５参照）等に予め記憶されている。ドット形成用データ生成部１８４は、『４×４モード』にて、１６個の画素についてそれぞれ個別にドット形成の有無を決定するときに、メインメモリ１２７等から『４×４モード』の順序値マトリックスに関するデータを取得する。
【０１７９】
このような順序値マトリックスに基づき、１６個の画素についてそれぞれドット形成の有無を決定する方法は、図１９にて説明した場合と同じ方法である。すなわち、まずはじめに、ドットが目立ち易い大きいサイズのドットから順に、形成すべき画素の位置を決定する。
【０１８０】
図３５は、『４×４モード』において、ドット個数データと順序値マトリックスとに基づき、１６個の画素についてそれぞれドット形成の有無を決定する手順の一例を概念的に説明したものである。ここでは、大ドットを６個、中ドットを４個、小ドットを１個、それぞれ形成すべき旨を表すドット個数データに基づき、図３４にて説明した順序値マトリックスを用いてドット形成の有無を決定する場合を例にして説明する。
【０１８１】
ここで、順序値『１』に対応する画素には、１番大きいドット、即ち大ドット（『１１』）が設定される。形成すべき大ドットの個数は６個であるから、順序値『２』〜『６』に対応する画素にも、大ドット（『１１』）が設定されることになる。次に、順序値『７』に対応する画素には、中ドット（『１０』）が設定される。形成すべき中ドットの個数は４個であるから、順序値『８』〜『１０』に対応する画素にも、中ドット（『１０』）が設定される。次に、順序値『１１』に対応する画素には、小ドット（『０１』）が設定される。形成すべき小ドットの個数は、１個であるから、他の残りの画素、即ち順序値『１２』〜『１６』に対応する画素には、ドットが形成されないことになる。
【０１８２】
このようにしてドット形成用データ生成部１８４は、『４×４モード』の場合に、多値階調値データに基づき、横４画素×縦４画素、計１６個の画素についてそれぞれドット形成の有無を決定する。そして、ドット形成用データ生成部１８４は、ドット形成の有無を決定した１６個の画素を全てドット形成用データとして用いる。
【０１８３】
＜印刷処理＞
インクジェットプリンタ１は、図１０にて説明するように、このようにしてドット形成用データ生成部１８４により生成されたドット形成用データに基づき、印刷処理を実行する。この印刷処理はコントローラ１２６により制御されて実行される。コントローラ１２６は、生成されたドット形成用データに基づき、キャリッジ４１を媒体Ｓに対して相対的に移動させながら、ヘッド２１の各ノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋの各ノズル♯１〜♯１８０からそれぞれインクを吐出して、吐出したインクによって媒体Ｓ上にドットを形成して、アプリケーションプログラム１６０から指定された画像を媒体Ｓに印刷する。
【０１８４】
＝＝＝ディザ法の概要＝＝＝
前述した多値化処理およびドット形成用データ生成処理は、いわゆるディザ法と呼ばれる方法をベースに実行されるものである。前述した多値化処理およびドット形成用データ生成処理において、分類番号を決定する考え方や、多値化テーブル、ドット個数データ変換テーブル、順序値マトリックスなどの設定方法は、すべてこのディザ法に基づいている。ここで、ディザ法の概要について簡単に説明する。
【０１８５】
ディザ法とは、画像データを、画素毎にドット形成の有無を表すデータに変換するために用いられる代表的な手法である。この手法では、ディザマトリックスと呼ばれるマトリックスに閾値を設定しておき、画像データの各画素の階調値とディザマトリックスに設定されている閾値とを画素毎に比較して、階調値の方が大きい画素についてはドットを形成すると判断し、そうでない画素についてはドットを形成しないと判断する。このような判断を画像データ中の全画素について行う。これによって、画像データを画素毎にそれぞれドット形成の有無を表すデータに変換することができる。
【０１８６】
図３６は、ディザマトリックスの一部を拡大して例示した説明図である。図示したマトリックスには、横方向に１２８画素、縦方向に６４画素、合計８１９２個の画素に、階調値「１」〜「２５５」の範囲から万遍なく選択された閾値がランダムに記憶されている。ここで、閾値の階調値が「１」〜「２５５」の範囲から選択されているのは、本実施例では、画像データの画素が階調値「０」〜「２５５」の値を取り得る１バイトデータとしていることに加えて、画像データの画素の階調値と閾値とが等しい場合、その画素にはドットを形成するものと判断していることによるものである。
【０１８７】
すなわち、ドットが形成されるのは、画像データの階調値が閾値よりも大きい画素に限る（すなわち階調値と閾値とが等しい画素には、ドットは形成しない）とした場合、画像データが取り得る最大階調値と同じ値の閾値を有する画素には、決してドットが形成されることはない。こうしたことを避けるため、閾値の取り得る範囲は、画素が取り得る範囲から最大階調値を除いた範囲とする。逆に、画像データの階調値と閾値とが等しい画素にもドットを形成するとした場合、画像データの取り得る最小階調値と同じ値の閾値を有する画素には、常にドットが形成されてしまうことになる。こうしたことを避けるため、閾値の取り得る範囲は、画像データの取り得る範囲から最小階調値を除いた範囲とする。本実施例では、画像データの取り得る階調値が「０」〜「２５５」であり、画像データと閾値が等しい画素にはドットを形成するとしていることから、閾値の取り得る範囲を「１」〜「２５５」としておくのである。なお、ディザマトリックスの大きさは、図３６に例示したような大きさに限られるものではなく、縦と横の画素数が同じマトリックスも含めて種々の大きさとすることができる。
【０１８８】
図３７は、ディザマトリックスを参照しながら、各画素についてのドット形成の有無を判断している様子を概念的に示した説明図である。ドット形成の有無を判断するに際しては、先ず、判断しようとする画素を選択し、この画素についての画像データの階調値と、ディザマトリックス中で対応する位置に記憶されている閾値とを比較する。図３７中に示した細い破線の矢印は、画像データの階調値と、ディザマトリックスに記憶されている閾値とを、画素毎に比較していることを模式的に表したものである。例えば、画像データの左上隅の画素については、画像データの階調値は「９７」であり、ディザマトリックスの閾値は「１」であるから、この画素には、ドットを形成すると判断する。図３７中に実線で示した矢印は、この画素には、ドットを形成すると判断して、判断結果をメモリに書き込んでいる様子を模式的に表したものである。一方、この画素の右隣の画素については、画像データの階調値は「９７」、ディザマトリックスの閾値は「１７７」であり、閾値の方が大きいので、この画素については、ドットを形成しないと判断する。ディザ法では、こうしてディザマトリックスを参照しながら、画素毎にドットを形成するか否かを判断することで、画像データを画素毎にドット形成の有無を表すデータに変換する。
【０１８９】
＝＝＝分類番号を設定するための考え方＝＝＝
＜分類番号＞
分類番号は、前述した図３６に示すディザマトリックスに基づき設定される。つまり、ディザマトリックスには、横方向に１２８画素、縦方向に６４画素、合計８１９２個の画素が形成されている。これら８１９２個の画素を、横方向に４画素、縦方向に２画素を１つの単位ブロックとして区分して、これら区分された各単位ブロック毎にそれぞれ個別に設定した通し番号が、「分類番号」となっている。
【０１９０】
図３８は、分類番号を設定するための考え方を示した説明図である。図３８Ａは、画像の一番左上隅の箇所において、横方向に４画素、縦方向に２画素の合計８画素を１つの単位ブロックとして区分した様子を概念的に示したものである。図３８Ｂは、このようにディザマトリックスの画素を区分して、各単位ブロックごとにそれぞれ「分類番号」が設定されたときの様子を説明したものである。
【０１９１】
ディザマトリックスには、横方向に４画素、縦方向に２画素を１つの単位ブロックとして区分することによって、横方向および縦方向にそれぞれ３２個ずつ、合計１０２４個の単位ブロックが形成される。これら１０２４個の単位ブロックに対してそれぞれ個別に通し番号を設定する。これにより、ディザマトリックスの各単位ブロックごとにそれぞれ『１』〜『１０２４』の分類番号が振られることになる。
【０１９２】
図３８Ｃは、画像データにディザマトリックスを適用した場合の一例について説明したものである。このように画像データにディザマトリックスを適用した場合、画像データの一番左上隅にある画素には、少なくとも、分類番号『１』が設定されることになる。なお、画像データの各画素への分類番号の設定方法は、先に図１４Ａ〜図１４Ｅにて説明したように、媒体Ｓに画像を印刷する際の解像度（出力解像度）に応じて異なる。つまり、『１×１モード』、『２×１モード』、『１×２モード』、『２×２モード』、『４×２モード』、『２×４モード』および『４×４モード』の各モードに応じて、各画素への分類番号の設定方法が異なる。
【０１９３】
＜分類番号の設定方法が異なる理由＞
ここで、ＣＭＹＫ画像データの各画素への分類番号の設定方法が、媒体Ｓに画像を印刷する際の解像度（出力解像度）に応じて異なる理由について説明する。つまり、分類番号は、ディザマトリックス上のにおいて、横４画素、縦２画素、合計８個の画素を１つの単位とした単位ブロックごとにそれぞれ割り振られている。このため、１つの分類番号に対応する１つの単位ブロックが適用されるのは、８個の画素ということになる。ＣＭＹＫ画像データ上の１つの画素から生成されるドット形成用データ上の画素の数は、媒体Ｓに画像を印刷する際の解像度（出力解像度）に応じて異なるから、出力解像度毎にそれぞれ異なる方法にて分類番号を設定する必要がある。
【０１９４】
『１×１モード』の場合には、ＣＭＹＫ画像データの中の１つの画素から、ドット形成用データとして１つの画素分のデータしか生成されない。このため、『１×１モード』の分類番号は、図１４Ａにて説明するように、横方向に４つ、縦方向に２つ、計８つの画素を１つの単位として同一の分類番号が設定されることになる。  
また、『２×１モード』の場合には、ＣＭＹＫ画像データの中の１つの画素から、ドット形成用データとして横方向に並ぶ２つの画素分のデータしか生成されない。このため、『２×１モード』の分類番号は、図１４Ｂにて説明するように、横方向に２つ、縦方向に２つ、計４つの画素を１つの単位として同一の分類番号が設定されることになる。  
また、『１×２モード』の場合には、ＣＭＹＫ画像データの中の１つの画素から、ドット形成用データとして縦方向に並ぶ２つの画素分のデータしか生成されない。このため、『１×２モード』の分類番号は、図１４Ｃにて説明するように、横方向に４つ、縦方向に１つ、計４つの画素を１つの単位として同一の分類番号が設定されることになる。  
また、『２×２モード』の場合には、ＣＭＹＫ画像データの中の１つの画素から、ドット形成用データとして横方向に２つ、縦方向に２つ並ぶ、計４つの画素分のデータしか生成されない。このため、『２×２モード』の分類番号は、図１４Ｄにて説明するように、横方向に並ぶ２つの画素を１つの単位として同一の分類番号が設定されることになる。  
また、『４×２モード』の場合には、ＣＭＹＫ画像データの中の１つの画素から、ドット形成用データとして横方向に４つ、縦方向に２つ並ぶ計８つ分の画素のデータが生成される。このため、『４×２モード』の分類番号は、図１４Ｅにて説明するように、各画素毎にそれぞれ異なる分類番号が設定されることになる。
【０１９５】
＜分類番号の特定方法＞
図３９は、分類番号の特定方法の一例について説明したものである。ここでは、『１×１モード』の場合の分類番号の特定方法について説明している。図３９Ａは、ＣＭＹＫ画像データ上の着目画素の位置を表している。着目画素の位置は、『●』の黒丸で示している。この着目画素の座標が（Ｘ，Ｙ）であるとする。横方向に４画素、縦方向に２画素の合計８画素を１つの単位ブロックとして区分しているから、Ｘ，Ｙについて次の関係式（１），（２）が成り立つ。  
Ｘ＝４ｎ＋α          …………（１）
Ｙ＝２ｍ＋β          …………（２）
ここで、ｎ、ｍは０以上の整数である。また、αは、０〜３の整数である。また、βは、１または０である。ｎは、着目画素の左側に並ぶ単位ブロックの数を表わす。また、ｍは、着目画素の上側に並ぶ単位ブロックの数を表す。
【０１９６】
ディザマトリックスは、例えば、図３９Ｂに示すように、ＣＭＹＫ画像データ上を横方向に少しずつ移動させながら、ＣＭＹＫ画像データの各画素に対して繰り返し適用される。ここで、着目画素には、図３９Ｃに示すように、ディザマトリックス中のＭ行Ｎ列目の単位ブロックが適用されるものとする。１つのディザマトリックスには、横方向および縦方向にそれぞれ３２個ずつ単位ブロックが設定されているから、『Ｍ』および『Ｎ』は、次の関係式（３）、（４）から簡単に求めることができる。  
Ｎ＝ｎ−ｉｎｔ（ｎ／３２）×３２＋１  …………（３）
Ｍ＝ｍ−ｉｎｔ（ｍ／３２）×３２＋１  …………（４）
ここで、ｉｎｔは、小数点以下を切り捨てて整数化することを表す演算子である。すなわち、ｉｎｔ（ｎ／３２）は、ｎ／３２の計算結果に対して小数点以下の数値を切り捨てることによって得られた整数値を表している。このように着目画素の座標（Ｘ，Ｙ）がわかれば、これらＸおよびＹから、着目画素が属する単位ブロックを特定することができる。これによって、着目画素に対してどの分類番号を設定すべきなのか調べることができる。
【０１９７】
なお、ここでは、『１×１モード』の場合を例にして説明したが、他のモードの場合についても、各々個別の関係式を用いることにより、着目画素の座標（Ｘ，Ｙ）から、当該着目画素に対応するディザマトリックス上の単位ブロックの位置を特定することができる。これによって、着目画素に設定すべき分類番号を導き出すことができる。
【０１９８】
＝＝＝多値化テーブルの設定方法＝＝＝
次に、図１２に示した多値化テーブルの設定方法について説明する。前述したように、多値化テーブルには、多値階調値データが画素の分類番号毎にそれぞれ画素の階調値別に各々対応付けられて設定されている。多値化テーブルを参照しながら多値化することで、画素の階調値を、図１３に示したように分類番号に応じた固有な態様で多値化することができる。
【０１９９】
本実施形態の多値化テーブルは、大きさの異なる複数種類のドットについて画素毎にドット形成の有無を判断可能なように、前述したディザ法を発展させた手法を基にして設定されている。多値化テーブルの設定方法を説明する前に、当該設定方法を理解する上で必要な基本的な技術の内容について簡単に説明しておく。
【０２００】
＜密度データ＞
図４０は、ディザ法を発展させて、画素毎に大ドット・中ドット・小ドットの形成の有無を決定可能としたハーフトーン処理の流れを示すフローチャートである。ハーフトーン処理を開始すると、先ず初めに、ドットの形成有無を判断しようとする画素を選択して、その画素の階調値を取得する（ステップＳ４００）。次いで、取得した画像データを、大中小の各ドットについての密度データに変換する。ここで、密度データとは、ドットをどの程度の密度で形成するかを表すデータである。密度データは、階調値が大きくなる程、ドットが高い密度で形成されることを表している。例えば、密度データの階調値「２５５」は、ドットの形成密度が１００％、すなわち全ての画素にドットが形成されることを表しており、密度データの階調値「０」は、ドットの形成密度が０％、すなわちいずれの画素にもドットが形成されないことを表している。こうした密度データへの変換は、ドット密度変換テーブルと呼ばれる数表を参照することによって行うことができる。
【０２０１】
図４１は、各画素の階調値を大中小各ドットについての密度データに変換する際に参照されるドット密度変換テーブルを概念的に示した説明図である。図示されているように、ドット密度変換テーブルには、画素の階調値に対して、小ドット・中ドット・大ドットの各ドットについての密度データが設定されている。階調値が「０」近傍の領域では、中ドット・大ドットの密度データは、いずれも階調値が「０」に設定されている。小ドットの密度データは、階調値が大きくなるに連れて増加して行くが、階調値がある値に達すると今度は逆に減少し始め、代わりに中ドットの密度データが増加し始める。階調値が更に増加してある値に達すると、小ドットの密度データが階調値「０」となり、中ドットの密度データが減少し始めて、代わりに大ドットの密度データが少しずつ増加していく。図４０のステップＳ４０２では、このドット密度変換テーブルを参照しながら、画素の階調値を、大ドットの密度データ、中ドットの密度データ、小ドットの密度データに変換する処理を行う。
【０２０２】
＜大ドットの形成有無の判断＞
処理対象とする画素について、大中小各ドットの密度データが得られたら、先ず初めに大ドットについての形成有無を判断する（図４０のステップＳ４０４）。かかる判断は、大ドットの密度データと、処理対象としている画素の対応する位置に設定されているディザマトリックスの閾値とを比較することによって行う。大ドットの密度データが閾値よりも大きい場合は、処理対象の画素には大ドットを形成するものと判断し、逆に密度データの方が小さい場合は、大ドットは形成しないものと判断する。
【０２０３】
次いで、処理対象の画素に大ドットを形成すると判断されているか否かを判定し（ステップＳ４０６）、大ドットを形成すると判断されている場合は（ステップＳ４０６：ｙｅｓ）、中ドットおよび小ドットについての判断は省略して、全画素を終了したか否かを判断する（ステップＳ４１８）。そして、ドット形成の有無を未判断の画素が残っている場合は（ステップＳ４１８：ｎｏ）、ステップＳ４００に戻って新たな画素を選択し、続く一連の処理を行う。
【０２０４】
＜中・小ドットの形成有無の判断＞
一方、処理対象の画素に大ドットを形成すると判断されていない場合は（ステップＳ４０６：ｎｏ）、中ドットについての形成有無を判断するべく、大ドットの密度データに中ドットの密度データを加算して中ドット用の中間データを算出する（ステップＳ４０８）。こうして得られた中ドット用の中間データと、ディザマトリックスの閾値とを比較する。そして、中ドット用の中間データの方が閾値よりも大きければ、中ドットを形成するものと判断し、逆に中間データよりもディザマトリックスの閾値の方が大きければ、中ドットを形成しないものと判断する（ステップＳ４１０）。
【０２０５】
次いで、処理対象の画素に中ドットを形成すると判断されているか否かを判定し（ステップＳ４１２）、中ドットを形成すると判断されている場合は（ステップＳ４１２：ｙｅｓ）、小ドットについての判断は省略して、全画素を終了したか否かを判断する（ステップＳ４１８）。
【０２０６】
処理対象の画素に中ドットを形成すると判断されていない場合は（ステップＳ４１２：ｎｏ）、小ドットについての形成有無を判断するべく、中ドット用の中間データに小ドットの密度データを加算して小ドット用の中間データを算出する（ステップＳ４１４）。そして、得られた小ドット用の中間データと、ディザマトリックスの閾値とを比較する。そして、小ドット用の中間データの方が閾値よりも大きければ、小ドットを形成するものと判断し、逆に中間データよりもディザマトリックスの閾値の方が大きければ、いずれのドットも形成しないものと判断する（ステップＳ４１６）。
【０２０７】
すなわち、大ドットの密度データよりもディザマトリックスに設定された閾値の方が大きい画素（大ドットが形成されない画素）については、大ドットの密度データに中ドットの密度データを加算して、得られた中間データと閾値とを比較し、中間データの方が大きくなれば、中ドットを形成すると判断する。一方、中間データよりも依然として閾値の方が大きい画素については、中間データに小ドットの密度データを加算して新たな中間データを算出する。そして、この中間データと閾値とを比較して、新たな中間データの方が大きくなれば小ドットを形成すると判断し、依然として閾値の方が大きい画素についてはいずれのドットも形成しないと判断するのである。
【０２０８】
以上のような処理を行うことにより、処理対象の画素について、大ドット、中ドット、小ドットのいずれのドットを形成するか、若しくは、いずれのドットも形成しないかを判断することができる。そこで、全画素についての処理を終了したか否かを判断し（ステップＳ４１８）、未判断の画素が残っている場合は（ステップＳ４１８：ｎｏ）、ステップＳ４００に戻って新たな画素を選択し、続く一連の処理を行う。このようにして、処理対象として選択された画素について１つずつ、大中小のいずれのドットを形成するか否かを判断していく。そして、全画素について処理を終了したと判断されたら（ステップＳ４１８：ｙｅｓ）、図４０に示したハーフトーン処理を終了する。
【０２０９】
以上、ディザマトリックスを利用して、大中小の各ドットについての形成有無を判断する方法について説明した。以下では、上述の説明を踏まえて、図１２に示した多値化テーブルの設定方法について説明する。
【０２１０】
＜概念図＞
前述したように多値階調値データ生成処理およびドット形成用データ生成処理では、ＣＭＹＫ画像データの１つの画素の階調値から８つの画素についてドット形成の有無が決定される。ここで、ＣＭＹＫ画像データの１つの画素の階調値が、８つの画素の階調値を代表していると考えて、前述したハーフトーン処理に当てはめている。
【０２１１】
図４２は、ＣＭＹＫ画像データの１つの画素の階調値が、８つの画素の階調値を代表していると考えて、ハーフトーン処理を実行したときの概要について説明したものである。図中では、ハーフトーン処理を行うために着目している８つの画素を太い実線で囲って表している。８つの画素の各階調値は、いずれも同じ値、ここでは階調値「９７」を有している。大中小各種ドットの形成有無を判断するためには、各画素の階調値を各ドットについての密度データに変換する。密度データへの変換は、図４１に示したドット密度変換テーブルを参照することによって行う。ここでは、８つの画素内の全画素が同じ階調値を有するものと考えているから、各種ドットについても密度データも全て画素について同じ値となる。図示した例では、大ドットの密度データの階調値が「２」、中ドットの密度データの階調値が「９５」、小ドットの密度データの階調値が「３０」であった場合を表している。
【０２１２】
次いで、図４０を用いて説明したように、大ドットの密度データ、中ドット用の中間データ、あるいは小ドット用の中間データと、ディザマトリックスに設定されている閾値とを比較することによって、各種ドットについての形成有無を画素毎に判断する。ここで、比較に用いるディザマトリックスの閾値は、ディザマトリックスの中から、着目している８つの画素に対応する箇所に設定されている閾値を使用する。例えば、図４２に示した例では、８つの画素が画像の左上隅にあることから、閾値についても、ディザマトリックス中の左上隅の８つの画素（１つの単位ブロック）に設定されている閾値を使用する。
【０２１３】
そして、８つの画素に設定されている８つの閾値の中で、大ドットの密度データよりも小さな閾値が設定されている画素については、大ドットを形成すると判断する。ここでは、大ドットの密度データは階調値「２」としているから、大ドットが形成される画素は、閾値「１」が設定されている画素だけである。図４２では、大ドットが形成されると判断された画素には、細かい斜線を付して表示している。大ドットの密度データ「２」よりも大きく、大ドットの密度データと中ドットの密度データとを加算して得られた中ドット用の中間データ「９７」よりも小さな閾値が設定されている画素には、中ドットを形成するものと判断する。このような画素は、閾値「４２」が設定された画素、および閾値「５８」が設定された画素の２つの画素だけである。図４２では、中ドットが形成されると判断された画素には、少し粗い斜線を付して表示している。そして、最後に、中ドット用の中間データ「９７」よりも大きく、中ドット用の中間データに小ドット用の密度データを加算して得られた小ドット用の中間データ「１２７」よりも小さな閾値が設定されている画素には、小ドットを形成するものと判断する。このような画素は、閾値「１０９」が設定された画素だけである。図４２では、小ドットが形成されると判断された画素には、粗い斜線を付して表示している。このようにして、大ドット、中ドット、小ドットの形成有無を判断した結果、着目している画素の階調値が「９７」である場合には、大ドット１個、中ドット２個、小ドット１個が形成されることになる。
【０２１４】
画素の階調値が大きく異なれば、８つの画素内に形成される大ドット、中ドット、小ドットの個数も異なったものとなる。また、画素の階調値を「０」から「２５５」まで変化させれば、それに伴って大ドット、中ドット、小ドットの個数は、幾段階かに変化するはずである。更に、画素に設定された分類番号が異なれば、ディザマトリックスの閾値も異なることから、ドット個数の変化の仕方も異なるはずである。図１２に示した多値化テーブルは、画素の階調値を「０」から「２５５」まで変化させたときの、各種ドットの個数が段階的に変化する挙動を、分類番号毎に調べることによって設定されている。
【０２１５】
＜多値化テーブルの生成方法＞
図４３は、実際に、多値化テーブルを設定する処理の流れを示したフローチャートである。以下、フローチャートに従って説明する。多値化テーブルの設定処理を開始すると、先ず初めに、分類番号を１つ選択する（ステップＳ５００）。例えば、ここでは分類番号『１』を選択したものとする。
【０２１６】
次いで、選択した分類番号に対応する閾値を、ディザマトリックスの中から読み出してやる（ステップＳ５０２）。例えば、ここでは分類番号『１』を選択したものとしているから、図３６に例示したディザマトリックスの中から、図３８Ｂ中で『１』と表示したブロック位置に設定されている８つの閾値を読み出す。
【０２１７】
そして、多値階調値データＲＶおよび画素の階調値ＢＤを「０」に設定し（ステップＳ５０４）、更に、大ドット、中ドット、小ドットの形成個数をいずれも０個に設定する（ステップＳ５０６）。
【０２１８】
続いて、図４１に示したドット密度変換テーブルを参照することにより、画素の階調値を大ドット、中ドット、小ドットについての密度データに変換した後（ステップＳ５０８）、これら密度データと先に読み込んでおいた閾値とに基づいて、大中小の各種ドットについての形成個数を決定する（ステップＳ５１０）。すなわち、図４０あるいは図４２を用いて説明したように、大ドットの密度データよりも小さな閾値の個数を求めて、得られた個数を大ドットの形成個数とする。また、大ドットの密度データよりも大きく且つ中ドット用の中間データよりも小さな閾値の個数を求めて、これを中ドットの形成個数とする。更に、中ドット用の中間データよりも大きく且つ小ドット用の中間データよりも小さな閾値の個数を求めて、これを小ドットの形成個数とする。
【０２１９】
こうして求めた各種ドットの形成個数が、先に設定されていた形成個数に対して変更されたか否かを判断する（ステップＳ５１２）。そして、形成個数が変更されたと判断されれば（ステップＳ５１２：ｙｅｓ）、多値階調値データＲＶを「１」だけ増加させて（ステップＳ５１４）、得られた多値階調値データＲＶを画素の階調値ＢＤに対応づけて記憶する（ステップＳ５１６）。一方、形成個数が変更されていないと判断された場合は（ステップＳ５１２：ｎｏ）、多値階調値データＲＶを増加させることなく、そのままの値を画素の階調値ＢＤに対応づけて記憶する（ステップＳ５１６）。
【０２２０】
以上のようにして、ある画素の階調値に対する多値階調値データを記憶したら、画素の階調値ＢＤが階調値２５５に達したか否かを判断する（ステップＳ５１８）。階調値２５５に達していなければ（ステップＳ５１８：ｎｏ）、画素の階調値ＢＤを「１」だけ増加させて（ステップＳ５２０）、ステップＳ５０８に戻って再び画素の階調値ＢＤを密度データに変換した後、続く一連の処理を行って、新たな画素の階調値ＢＤに対応づけて多値階調値データＲＶを記憶する（ステップＳ５１６）。画素の階調値ＢＤが階調値２５５に達するまで、こうした操作を繰り返す。そして、画素の階調値ＢＤが階調値２５５に達したら（ステップＳ５１６：ｙｅｓ）、選択した分類番号については、すべての多値階調値データを設定したことになる。
【０２２１】
そこで、すべての分類番号について、以上のような処理を行ったか否かを判断し（ステップＳ５２２）、未処理の分類番号が残っている場合は（ステップＳ５２２：ｎｏ）、ステップＳ５００に戻って再び上述した処理を行う。こうした処理を繰り返し、すべての分類番号について、すべての多値階調値データを設定したと判断されたら（ステップＳ５２２：ｙｅｓ）、図４３に示した多値化テーブル設定処理を終了する。
【０２２２】
以上の説明から明らかなように、多値階調値データは、画素の階調値を変換して得られた大中小各ドットの密度データと、ディザマトリックス中で分類番号に対応する位置に記憶されている閾値とによって決定される。ここで、図４１に示したドット密度変換テーブルは、分類番号が異なっていても同じテーブルを参照するから、画素の階調値に対する各ドットの密度データも、分類番号によらず同じ密度データが得られる。しかし、ディザマトリックスから読み出された閾値の組は、分類番号毎に異なったものとなる。何故なら、ディザマトリックスは、画像上でドットが一定のパターンで発生したり、あるいは近接した位置に固まって発生することで画質を悪化させることの無いように、閾値は出来るだけ分散させて且つ出来るだけランダムに設定されている。このため、分類番号に対応する複数個の閾値を組として見たときに、全く同じ組合せとなる可能性は極めて低いと考えられるからである。このような理由から、本実施形態の多値階調値データ生成処理で参照される多値化テーブルは、画素の階調値と多値階調値データとの対応関係が分類番号毎に異なったものとなり、また、多値階調値データが変化する回数（図１３に示した多値化の段数）も、分類番号に応じて異なったものとなっている。
【０２２３】
＝＝＝ドット個数データ変換テーブルの設定方法＝＝＝
次に、図１６に示すドット個数データ変換テーブルの設定方法について説明する。このドット個数データ変換テーブルは、図１１に示したドット形成有無決定処理中で、多値階調値データを分類番号と組み合わせて、分類番号に対応する８つの画素に形成されるドット個数を表すドット個数データに変換するために参照されるテーブルである。
【０２２４】
図４３にて説明した多値化テーブルの設定方法から明らかなように、多値化テーブルに設定されている多値階調値データは、分類番号に対応する８つの画素に形成される大中小の各ドットの個数に基づいて決定されている。もっとも、多値階調値データが、分類番号に対応する８つの画素に形成されるドット個数の組合せに直ちに対応しているわけではなく、多値階調値データと分類番号とを組み合わせることで初めて、具体的なドット個数の組合せに対応付けることができる。何故なら、多値階調値データは、画素の階調値を階調値「０」から階調値「２５５」まで増加させたときに、大中小各ドットの形成個数が変化したか否かだけを抽出し、具体的に各ドット個数の組合せがどのように変化したかを示す情報は省かれた状態で設定されているからである。
【０２２５】
とは言え、分類番号が分かっていれば、その分類番号に対応する８つの画素で何回目の変化に相当するか、すなわち多値階調値データから、各種ドットについての具体的な個数の組合せを特定することはできる。そこで、分類番号毎に、多値階調値データを設定する元になった各種ドットの具体的な個数を求め、得られたドット個数の組合せに対応するコードデータを、多値階調値データに対応付けて記憶しておく。図１６に示したドット個数データ変換テーブルは、こうした操作を、全ての分類番号について行うことによって設定されている。
【０２２６】
図４４は、ドット個数データ変換テーブルを設定する具体的な処理の流れを示したフローチャートである。以下、フローチャートに従って説明する。ドット個数データ変換テーブル設定処理を開始すると、先ず初めに、設定対象とする分類番号を１つ選択し（ステップＳ６００）、多値階調値データＲＶを０に設定する（ステップＳ６０２）。
【０２２７】
次いで、多値階調値データＲＶに対応する大中小各ドットの個数を取得する（ステップＳ６０４）。例えば、多値階調値データが「Ｎ」であったとすると、その分類番号について、画素の階調値を「０」から「２５５」に変化させながら大中小各ドットの形成有無を判断し、ドットの形成個数がＮ番目に変化したときの大ドット、中ドット、小ドットの個数を取得する。
【０２２８】
こうして取得した各ドットの個数の組合せを、コードデータに変換する（ステップＳ６０６）。ドット個数の組合せからコードデータへの変換は、図１７に示した対応表を参照することによって行う。次いで、得られたコードデータを、多値階調値データに対応付けて記憶した後（ステップＳ６０８）、対象としている分類番号についての最大の多値化結果に達したか否かを判断する（ステップＳ６１０）。すなわち、図１３を用いて説明したように、多値階調値データの最大値は、分類番号によって異なっていることから、対象としている分類番号についての多値階調値データの最大値に達したか否かを判断するのである。
【０２２９】
そして、多値階調値データの最大値に達していない場合は（ステップＳ６１０：ｎｏ）、多値階調値データＲＶの値を「１」だけ増加させる（ステップＳ６１２）。そして、ステップＳ６０４に戻って、新たな多値階調値データＲＶに対応する各ドットの個数を取得した後、続く一連の処理を繰り返す。こうした操作を繰り返し、対象としている分類番号の多値階調値データの最大値に達したと判断されたら（ステップＳ６１０：ｙｅｓ）、その分類番号については、全データがドット個数データ変換テーブルに設定されたことになる。
【０２３０】
そこで今度は、全ての分類番号について同様の処理を行ったか否かを判断する（ステップＳ６１４）。そして、未だ処理していない分類番号が残っている場合は、ステップＳ６００に戻って新たな分類番号を選択し、この分類番号について、上述した一連の処理を行う。こうして全ての分類番号について処理を終了したと判断されたら（ステップＳ６１４：ｙｅｓ）、ドット個数データ変換テーブルの全てのデータが設定されたことになるので、図４４に示す処理を終了する。
【０２３１】
＝＝＝順序値マトリックスの設定方法＝＝＝
次に、図１８にて説明した順序値マトリックスを設定する方法について説明する。前述したように、順序値マトリックスとは、分類番号に対応する８つの画素内の各画素について、ドットが形成される順番を設定したマトリックスである。ドット形成用データ生成処理においては、分類番号に対応する順序値マトリックスを読み込んで、マトリックスに設定されている順番に従って、大ドット、中ドット、小ドットを形成する画素を決定していた。
【０２３２】
順序値マトリックスも、前述した多値化テーブルと同様に、前述した手法を基にして設定されている。すなわち、多値化テーブルを設定する場合は、前述したように８つの画素内の全画素が同じ階調値を有するものとして、８つの画素内に形成される大中小ドットの個数を決定しながら、画素の階調値を「０」から「２５５」まで変化させて、このときに各ドットが形成される個数の変化に着目して多値階調値データを設定した。また、図１６に示すように、多値階調値データと分類番号とを組み合わせれば、８つの画素に形成される大中小の各ドットの個数までは復元することができた。しかし、これら各種ドットが、８つの画素内のどの画素に形成されるかに関する情報は省略されており、多値階調値データあるいは分類番号からは知ることはできない。順序値マトリックスは、８つの画素内で各種ドットが形成される画素位置に関する情報を記憶したものと考えることができる。すなわち、前述した手法を適用すれば、図４０ないし図４２にて説明したように、各種ドットの形成個数だけでなく、８つの画素内でドットが形成される画素位置まで決定可能であるところ、本実施形態では、この手法を２つの要素に分解して、各種ドットの形成個数に関する情報については、主に多値階調値データ（正確には、多値階調値データおよび分類番号の組合せ）に反映させ、ドットが形成される画素位置に関する情報ついては、順序値マトリックスに反映させていると考えることができる。このような順序値マトリックスは、実際には、比較的簡単に設定することができる。
【０２３３】
図４５は、順序値マトリックスを設定する方法について具体的に示した説明図である。以下、図を参照しながら説明する。ディザマトリックスには、図４５Ａに示すように、横４画素、縦２画素を１つの単位ブロックとして区分して、これら区分された各単位ブロック毎にそれぞれ個別に分類番号が設定されている。順序値マトリックスの設定に際しては、ディザマトリックスから各分類番号に対する８つの画素に対応する各閾値を取り出す。
【０２３４】
図４５Ｂは、一例として、分類番号『１』のブロックから順序値マトリックスを生成している様子を示した説明図である。図４５Ｂの左側には、分類番号『１』のブロックに含まれるディザマトリックスの閾値が示されている。図４２を用いて前述したように、ドットは小さな閾値が設定されている画素から順番に形成される。従って、図４５Ｂに示した分類番号『１』のブロックの中で１番初めにドットが形成される画素は、閾値「１」が設定された画素と考えることができる。そこで、この画素には、順序値として「１」を設定する。同様に、２番目にドットが形成される画素は、２番目に小さな閾値である閾値「４２」が設定された画素と考えることができる。そこで、この画素には順序値「２」を設定する。このようにして、分類番号『１』のブロック内に設定されている閾値の小さな画素から順番に、順序値「１」から順序値「８」までを決定してやれば、図４５Ｂの右側に示した分類番号『１』の順序値マトリックスを得ることができる。
【０２３５】
図４５Ｃは、同様にして、ブロック内で小さな閾値が設定されている画素から順番に、順序値「１」から順序値「８」までを設定することで、分類番号『２』の順序値マトリックスが得られる様子を示している。図４５Ａに示した分類番号『１』から『１０２４』までの全てのブロックについて、以上のような操作を行うことにより、分類番号『１』から『１０２４』までの順序値マトリックスを得ることができる。
【０２３６】
＝＝＝多値階調値データからドット形成有無を適切に決定可能な原理＝＝＝
以上に説明したように、本実施形態では、図１２にて説明した多値化テーブルを参照することにより、多値階調値データを決定する。次いで、図１６にて説明したドット個数データ変換テーブル、および図１８にて説明した順序値マトリックスを参照しながら、多値階調値データをドット個数データに変換し、ドット個数データに基づいて複数個の画素内に各種ドットを形成する画素位置を決定する。このようにしてドットを形成する画素位置を決定した場合でも、ドットが適切に分散された高画質な画像を出力することができる。加えて、比較的少数ずつ（本実施形態では８個ずつ）の画素をまとめて処理しているにも関わらず、いわゆるブルーノイズマスク、あるいはグリーンノイズマスクに代表される画素数が千個を越えるような大規模なディザマトリックスを用いることで実現されるような、良好なドット分布を得ることが可能である。以下では、このようなことが可能となる原理について説明する。
【０２３７】
前述した手法を用いれば、図４０および図４１にて説明したように、画像データを大ドットの密度データ、中ドット用の中間データ、小ドット用の中間データに変換して、ディザマトリックスに設定されている閾値と比較することで、大中小各ドットについての形成の有無を判断することができる。更に、このときに参照するディザマトリックスを、いわゆるブルーノイズマスク、あるいはグリーンノイズマスクに代表されるような分散性が考慮されたマトリックスとしておけば、ドットが良好に分散した高画質な画像を得ることができる。
【０２３８】
また、画像データは一般的に、隣接する画素間では近似する（若しくは同一の）階調値が割り当てられる傾向がある。近年では、高画質化の要請から画像データの解像度は益々高くなる傾向にあるが、隣接する画素間で近似若しくは同一の階調値が割り当てられる傾向は、画像データの解像度が高くなるほど顕著に現れる。このことから、図４２を用いて前述したように、複数個の画素をまとめてしまい、複数個の画素内の画素は全て同じ階調値を有するものとして大中小各ドットの形成有無を判断した場合でも、実際には画質に差が生じることは稀である。
【０２３９】
ここで、前述した多値階調値データ生成処理では、画素の階調値を多値化して、分類番号に依存した多値階調値データを生成する。こうして生成された多値階調値データは、画素の分類番号と組み合わせることで、８つの画素内に形成される各種ドットの個数を示すデータとなっている。図４２に示した８つの画素については、分類番号と組み合わせることで、大ドット、中ドット、小ドットの形成個数が、それぞれ１個、２個、１個であることを示すような多値階調値データが生成されることになる。
【０２４０】
前述したドット形成データ生成処理では、このような多値階調値データを受け取ると、８つの画素内の各画素について、大中小各ドットについての形成有無を決定する。図４６は、前述したドット形成データ生成処理において、多値階調値データを受け取って、８つの画素内の各画素について大中小各ドットの形成有無を判断する処理の大まかな流れを概念的にまとめた説明図である。図示されているように、多値階調値データを受け取ると、その多値階調値データが対応する画素の分類番号を求めた後、多値階調値データと分類番号とに基づいて、大中小各ドットの形成個数を取得する。また、予め記憶されている順序値マトリックスの中から、分類番号に対応付けて記憶されているマトリックスを読み出す。
【０２４１】
図４２に示した８つの画素を想定しながら説明すれば、８つの画素は画像の左上隅にあるから分類番号は『１』と求められる。多値階調値データと、求めた分類番号とを組み合わせることにより、この８つの画素には、大ドット１個、中ドット２個、小ドット１個がそれぞれ形成されることが分かる。これら各ドットが、８つの画素内のどの画素に形成されるかを決定するために、分類番号『１』の順序値マトリックスを参照する。この順序値マトリックスは、図４２において、ドット形成有無の判断に用いたディザマトリックスの該当部分、すなわち８つの画素内の各画素についてドット形成の有無を判断するために用いた該当部分から生成した順序値マトリックスである。
【０２４２】
このようにして得られた大中小各ドットの個数と、順序値マトリックスとに基づいて、８つの画素内でこれらドットを形成する画素位置を決定していく。画素位置を決定する具体的な方法は、図１９を用いて既に説明しているので、ここでは説明は省略して結果のみを示すと、大ドットは順序値１番の画素に形成され、中ドットは順序値２番の画素と３番の画素とに形成され、小ドットは順序値４番の画素に形成される。図４６では、図１９に倣って、大ドットを形成する画素には細かいハッチングを付し、中ドットを形成する画素には少し粗いハッチングを付し、小ドットを形成する画素には粗いハッチングを付して表している。こうして得られたドットの分布と、図４２に示した画素毎にドット形成の有無を判断して得られたドットの分布とを比較すれば、両者のドット分布は完全に一致していることが分かる。
【０２４３】
すなわち、分類番号に依存した多値階調値データのみを受け取った場合でも、上述した方法を用いてドット形成の有無を決定してやれば、ディザ法を参照しながら画素毎に大中小各ドットの形成有無を判断した場合と、等しいドット分布を得ることができる。このため、ドットが良好に分散された高画質な画像を得ることが可能となるのである。
【０２４４】
加えて、多値階調値データを生成するために参照された多値化テーブルは、ディザマトリックスに基づいて設定されている（図４４参照）。同様に、多値階調値データからドット形成有無を決定する過程で参照されたドット個数データ変換テーブルあるいは順序値マトリックスも、ディザマトリックスに基づいて設定されている（図４４、図４５参照）。従って、これらテーブル類の設定に用いられるディザマトリックスとして、いわゆるブルーノイズマスク、あるいはグリーンノイズマスクを使用すれば、これらマスクを用いることで初めて得られるような、高画質な画像を得ることが可能となる。
【０２４５】
＝＝＝まとめ＝＝＝
以上本実施形態にあっては、プリンタドライバ１８０にて色変換処理部１６８により生成されたＣＭＹＫ画像データを多値化処理部１８２にて多値化処理して多値階調値データを生成し、この多値階調値データをコンピュータ１５２からインクジェットプリンタ１に向けて印刷データとして送信することで、従来のように、ハーフトーン処理をした後、ラスタライズ処理を行って送る場合に比べて、印刷データのデータ量の大幅な削減を図ることができる。
【０２４６】
しかも、本実施形態では、プリンタドライバ１８０の解像度変換処理にて、媒体Ｓに印刷する際の解像度（出力解像度）に変換されるのではなく、所定の解像度に変換され、そして、媒体Ｓに印刷する際の解像度（出力解像度）への変換処理は、インクジェットプリンタ１側にて実行するようにしているから、印刷時の解像度に関わりなく、コンピュータ１５２からインクジェットプリンタ１に送信される印刷データのデータ量を一定にすることができ、通信負荷の大幅な軽減を図ることができる。
【０２４７】
また、多値化処理部１８２により多値化処理されて生成される多値階調値データは、所定の多値化段数にて表されたデータであるから、インクジェットプリンタ１側にて画像を印刷する場合にも、印刷される画像を十分に高い画質にて印刷することができる。
【０２４８】
さらに、インクジェットプリンタ１側にて、ドット形成用データ生成部１８４が、ドット個数データに基づき、所定の数の画素（ここでは８つの画素）についてそれぞれ個別にドット形成の有無を決定して、このようにドット形成の有無が決定された所定の個数の画素、（ここでは８つの画素）の中から、出力画像の解像度に応じて所定の個数ずつ切り出すことで、出力画像の解像度に応じてドット形成用データを生成する処理をスムーズに行うことができる。また、ドット形成の有無が決定された８つの画素の中から切り出す画素の位置を適宜変更することで、出力画像の解像度に応じてドット形成用データを生成する処理を簡単に行うことができる。
【０２４９】
＝＝＝他の実施形態＝＝＝
＜他の多値化テーブル＞
前述した実施形態では、多値化テーブルとして、『０』から『２５５』までの各階調値毎にそれぞれ対応する多値階調値データが設定された多値化テーブルを用いていた。しかしながら、多値階調値データは、ＣＭＹＫ画像データの画素の階調値が増加するに従って段階的に増加するだけなので、多値階調値データが切り換わる階調値だけを設定しておけば、ＣＭＹＫ画像データの各画素の階調値に対応する多値階調値データを求めることができる。
【０２５０】
図４７は、多値階調値データが切り換わる階調値だけが設定された多値化テーブルの一例を説明したものである。この多値化テーブルには、各分類番号『１』〜『１０２４』毎にそれぞれ、各多値階調値データ『０』〜『３１』に対応する、ＣＭＹＫ画像データの画素の階調値の閾値が設定されている。この閾値は、階調値を『０』から『２５５』まで増加させたときに、その多値階調値データとなる最も大きな階調値を示している。一例として、分類番号『１』においては、多値階調値データ『０』に対して閾値『２』が設定されている。これは、分類番号『１』については、ＣＭＹＫ画像データの画素の階調値が『０』から『２』までの範囲にあれば、多値階調値データが『０』となることを表している。また、多値階調値データが『１』に対しては、閾値『１５』が設定されている。これは、分類番号『１』については、ＣＭＹＫ画像データの階調値が『３』〜『１５』の範囲にあれば、多値階調値データが『１』となることを表している。同様に、多値階調値データが『１４』に対しては、閾値『２４３』が設定され、多値階調値データが『１５』に対しては、閾値『２５５』が設定されている。これは、ＣＭＹＫ画像データの画素の階調値が『２４４』から『２５５』までの範囲にあれば、多値階調値データが『１５』になることを示している。また、分類番号『１』については、多値階調値データの最大値が『１５』であることを表している。  
なお、図４７では、分類番号『１』〜『１０２４』別の閾値は、それぞれ多値階調値データに対応させて設定されているものとした。しかし、分類番号『１』〜『１０２４』別の閾値は、特に多値階調値データに対応付けることなく、単なる閾値の組を分類番号『１』〜『１０２４』毎に記憶することとしてもよい。この場合は、ＣＭＹＫ画像データの画素の階調値よりも小さな閾値の個数を数えることで、多値階調値データを求めることができる。ここで、分類番号『１』の場合を例に用いて説明する。例えば、ＣＭＹＫ画像データの階調値が『２０』であったとする。分類番号『１』に設定されている閾値の組の中で、階調値『２０』よりも小さな閾値は、『２』、『１５』、『１８』の３個である。このことから、階調値『２０』に対する多値化結果値は『３』であると求めることとしてもよい。  
以上このような多値化テーブルを備えれば、ＣＭＹＫ画像データの画素の階調値と、分類番号とを取得した後、多値階調値データを簡単に生成することができる。しかも、この多値化テーブルは、前述した図１２に示す多値化テーブルに比べて少ないデータ量で記憶しておくことができる。このため、ここでは、前述した図１２に示す多値化テーブルを備える場合に比べて、メモリ使用量を大幅に節約することが可能である。
【０２５１】
＜ドット形成の有無決定の他の方法（１）＞
前述した実施形態では、ドット形成用データ生成部１８４は、多値階調値データを、８つの画素について形成すべきドットの個数を表わすドット個数データに変換し、８つの画素（『４×４モード』の場合には、１６個の画素、以下同じ）についてドット形成の有無を決定するにあたっては、８つの画素の各画素についてドットを形成するか否かをドットの種類（サイズ）毎に決定した。例えば、図１９にて説明したように、まず最初に大ドットについてドット形成の有無を決定し、次に中ドットについてドット形成の有無を決定し、最後に小ドットについてドット形成の有無を決定するといった手順を取っていた。しかしながら、ドット形成の有無を決定する方法にあっては、このような方法に限られるものではない。例えば、８個の画素の中から１つの画素を選択して、各画素毎にそれぞれ、大中小のいずれのドットが形成されるのか、あるいはドットが形成されないかを決定することとしてもよい。
【０２５２】
図４８は、この場合のドット形成用データ生成部１８４によるドット形成の有無の流れを示したフローチャートである。ここでは、前述したドット形成の有無決定処理と同様に、まず最初に、処理対象とする多値階調値データを取得する（ステップＳ７００）。次に、取得した多値階調値データに対応する分類番号を取得する（ステップＳ７０２）。そして、分類番号と多値階調値データとに基づき、ドット個数データを取得する（ステップＳ７０４）。ドット個数データは、例えば、図１６にて説明したドット個数データ変換テーブルにより取得する。
【０２５３】
この後、ここで説明する処理は、取得したドット個のデータを一旦、１６ビット長の中間データに変換する（ステップＳ７０６）。すなわち、例えば、図１６にて説明したドット個数データ変換テーブルでは、データ量を低減するために、ドット個数データを８ビット長のコードデータとして表した。しかし、ここで説明する処理では、ドット形成有無をより簡便に決定可能な形式で表現された中間データに一旦変換する。ここで、中間データのデータ長が１６ビットとなっているのは、ドット形成の有無を決定すべき画素の数が８個であり、各画素についてのドット形成の有無は２ビットあれば表現可能であることによる。換言すれば、中間データは２ビットずつを１組として、画素数に相当する８組のデータを用いてドット個数を表すデータとなっている。８つの画素に形成するドット個数をこのような形式で表現しておけば、後述するように画素との対応が取り易くなるため、ドット形成有無を簡便に決定することが可能となる。ここで説明するドット形成の有無決定処理にあっては、ドット個数データと中間データとの対応関係が予め記憶されており、ステップＳ７０６の処理では、かかる対応関係を参照することによって中間データを取得する。
【０２５４】
図４９は、ドット個数データと中間データとを対応付けた対応表を示す説明図である。前述したようにドット個数データは、各種サイズのドットについての個数の組合せに対応付けられている（図１７参照）。このことから、２ビットを１組としてドットの種類を表し、そのビットの組をドットの個数に相当する数だけ並べた表現形式に変換すれば、１６ビットのデータを得ることができる。１６ビット長の中間データは、ドット個数データの表現形式をこの様にして変換して得られたデータとなっている。  
例えば、ドット個数データ『１』は、大ドット０個、中ドット０個、小ドット１個の組合せを示している。なお、図４９の右側には、各ドット個数データが示すドット個数の組合せが示されている。今、小ドットを表す２ビットデータを『０１』とすれば、コードデータ『１』に対応する１６ビットデータは、『０１』が１組だけ含まれ、他の７組の２ビットデータは『００』のデータとなる。尚、２ビットデータ『００』はドットを形成しないことを表す。  
同様に、ドット個数データ『１６３』は、大ドット７個、中ドット１個、小ドット０個の組合せを示している。大ドットを表す２ビットデータを『１１』として、中ドットを表す２ビットデータを『１０』とすれば、ドット個数データ『１６３』に対応する１６ビットデータは、『１１』の２ビットデータが７組含まれており、『１０』の２ビットデータが１組含まれたデータとなる。
【０２５５】
なお、これら２ビットデータは、大ドット、中ドット、小ドットの順番で、右詰めで設定されている。例えば、ドット個数の組合せが、大ドット１個、中ドット２個、小ドット３個であったとすると、８組の２ビットデータの中で、大ドットを表す２ビットデータ『１１』は右端に１組だけ設定され、その左隣に続けて、中ドットを表す２ビットデータ『１０』が２組設定され、更にその左隣に続けて、小ドットを表す２ビットデータ『０１』が３組設定され、残った２組には、ドットを形成しないことを表す２ビットデータ『００』が設定されることになる。もっとも、これら２ビットデータを左詰めで設定することとしても良い。すなわち、大ドット、中ドット、小ドットの順番で左から順番に設定しても良い。
【０２５６】
図４８にて説明したドット形成の有無決定処理のＳ７０６では、図４９に示した対応関係を参照することによって、ドット個数を表すデータを、中間データに変換する処理を行う。なお、以上の説明では、図１６にて説明したドット個数データ変換テーブルを参照することによって、多値階調値データをドット個数データに一旦変換した後、図４９にて説明した対応関係に基づいて、ドット個数データを１６ビットの中間データに変換するものとした。もっとも、ドット個数データと中間データとは、１対１に対応付けられていることから、図１６にて説明したドット個数データ変換テーブルに、８ビットのドット個数データではなく、１６ビットの中間データをドット個数データとして設定しておければ、直ちに中間データをドット個数データとして取得することも可能である。このようにすれば、ドット個数データ変換テーブルのデータ量は大きくなるものの、ドット個数データから中間データへの変換テーブルが不要になり、迅速に中間データを取得することができる。
【０２５７】
以上のようにして中間データを取得した後、次に、順序値マトリックスを取得する（ステップＳ７０８）。順序値マトリックスを取得した後、８つの画素の中からドット形成の有無を決定する画素を１つ選択して（ステップＳ７１０）、順序値マトリックス中で選択した画素位置に設定されている順序値を取得する（ステップＳ７１２）。  
次に、先に取得しておいた中間データの中から、順序値に対応する箇所に設定されている２ビットデータを読み出すことによって、選択した画素についてのドット形成の有無を決定することができる（ステップＳ７１４）。
【０２５８】
図５０は、中間データの中から順序値に対応する箇所のデータを読み出すことにより、ドット形成の有無を決定している様子を示した説明図である。図５０Ａは、ドット個数データを変換して得られた中間データを例示したものである。前述したように中間データは、１６ビット長のデータであり、２ビットずつ８組のデータから構成されている。また、図５０Ａに示した中間データには、大ドットを表す２ビットデータ『１１』が１組、中ドットを表す２ビットデータ『１０』が２組、小ドットを表す２ビットデータ『０１』が３組、ドットを形成しないことを表す２ビットデータ『００』が２組含まれており、これら２ビットデータが、大ドット、中ドット、小ドットの順序で右詰めに設定されている。  
ここで、例えば、ドット形成の有無を決定しようとしている画素の順序値が『３』であったとする。この場合、中間データの中で、右から３組目に設定されている２ビットデータを読み出せば、順序値『３』の画素に形成すべきドットの種類を決定することができる。図５０Ｂには、中間データの右端から３組目にある２ビットデータを読み出している様子が、概念的に示されている。図示した例では、読み出した２ビットデータは『１０』であるから、この画素には、中ドットを形成するものと決定すればよい。仮に、順序値が『１』であれば、中間データの右端に設定されている２ビットデータ（『１１』）を読み出して、大ドットを形成するものと決定すればよい。  
このように、このドット形成の有無決定処理では、中間データの中から、順序値に相当する箇所に設定されている２ビットデータを読み出すという極めて簡単な操作によって、ドット形成の有無を決定することができる。これは、次の理由によるものである。先ず、中間データには、大ドット、中ドット、小ドットを表す２ビットデータが右詰めで設定されている。一方、図４０や図４２にて説明したように、ディザ法を用いて大中小各ドットの形成有無を決定する処理では、大ドット、中ドット、小ドットの順番でドット形成の有無を決定している。従って、中間データに設定されている２ビットデータを右端から順番に読み出していけば、図４０や図４２を用いて前述した手法を適用して各種ドットを形成する画素位置を決定した順番と同じ順番で、大ドット、中ドット、小ドットを表す２ビットデータの並びが得られることになる。
【０２５９】
また、図４０や図４２を用いて前述した手法では、ディザマトリックスに小さな閾値が設定されている画素から順番にドットが形成される。一方、順序値マトリックスに設定されている順序値は、ディザマトリックスに設定されている閾値の小さい順番を表している。従って、順序値は、図４０あるいは図４２を用いて前述した手法を用いてドット形成の有無を決定したときに、ドットが形成された順番と一致する。  
このことから、対象としている画素の順序値が分かれば、図４０や図４２の手法を適用したときに、その画素が８つの画素の中で何番目にドットが形成された画素であるかを知ることができ、更に、中間データを右端から数えて順序値組目の２ビットデータを読み出せば、図４０や図４２の手法を適用したときに得られるドット形成有無の決定結果を知ることができるのである。
【０２６０】
なお、ここでは、中間データの中で２ビットデータを読み出す箇所を順序値に応じて変更するものとして説明したが、中間データの中で読み出す箇所を変えるのではなく、データを読み出す箇所は固定しておき、中間データを順序値に相当する組数だけシフトさせることとしても良い。この様にしても、ドット形成の有無を決定することができる。図５０Ｃは、中間データをシフトさせることによって、ドット形成有無を決定している様子を概念的に示した説明図である。図示した例では、中間データの右端にある２ビットデータを読み出すこととして、中間データを画素の順序値に応じた組数（具体的には順序値から１だけ少ない組数）だけ右方向にシフトさせている。図５０Ｂと図５０Ｃとを比較すれば明らかなように、どちらの操作を行った場合でも、結局は、中間データの中の同じ箇所に設定されている２ビットデータを読み出していることになる。データを所定のビット数だけシフトさせる処理は、比較的高速に実施可能であることから、この様にして中間データをシフトさせれば、順序値に応じた箇所の２ビットデータを迅速に読み出して、着目している画素についてのドット形成の有無を迅速に決定することができる。
【０２６１】
以上のようにして、中間データの中から順序値に相当する箇所に設定されている２ビットデータを読み出すことにより、着目している画素についてのドット形成の有無を決定したら（図４８のステップＳ７１４）、８つの画素全てについてドット形成の有無を決定したか否かを判断する（ステップＳ７１６）。そして、８つの画素の中に未だドット形成の有無を決定していない画素が残っている場合は（ステップＳ７１６：ｎｏ）、ステップＳ７１０に戻って新たな画素を１つ選択し、選択した画素について上述した続く一連の処理を行った後、再び８つの画素全てについてドット形成の有無を決定したか否かを判断する（ステップＳ７１６）。８つの画素全てについてドット形成の有無を決定するまで、こうした操作を繰り返し、全画素について決定したと判断されたら（ステップＳ７１６：ｙｅｓ）、今度は、全ての多値階調値データについて、前述した処理を行ってドット形成の有無を決定したか否かを判断する（ステップＳ７１８）。そして、未処理の多値階調値データが残っていれば（ステップＳ７１８：ｎｏ）、ステップＳ７００に戻って新たな多値階調値データを取得し、その多値階調値データについて一連の処理を行う。こうした操作を繰り返し、最終的に全ての多値階調値データについての処理を終了したと判断されたら（ステップＳ７１８：ｙｅｓ）、ドット形成の有無決定処理を終了する。
【０２６２】
以上に説明したように、ここでは、中間データの中から順序値に応じた適切な箇所に設定されている２ビットデータを読み出すだけで、簡便にドット形成の有無を決定することができる。このことから、このようにして迅速にドット形成の有無を決定することができ、よって、より迅速に画像を印刷することが可能となる。
【０２６３】
なお、ここでは、８つの画素について各々ドット形成の有無を決定する場合について説明したが、本実施形態の『４×４モード』においては、１６個のの画素について各々ドット形成の有無を決定することになる。つまり、図３３にて説明した『４×４モード』におけるドット個数データと各種サイズのドットについての個数の組合せとに基づき、中間データが設定される。
【０２６４】
＜ドット形成の有無決定の他の方法（２）＞
前述した実施の形態では、図１６にて説明したドット個数データ変換テーブルを参照することによって、一旦、多値階調値データをドット個数データに変換した後、順序値マトリックスを参照しながら、８つの画素（『４×４モード』の場合には、１６個の画素、以下同じ）の中にてドットを形成する画素の位置を決定した。しかしながら、ドット形成の有無の決定にあっては、前述したように順序値マトリックスを参照してドットを形成する画素の位置を決定することなく、取得した多値階調値データに基づき、直ちに、各種ドットを形成する画素位置を決定することも可能である。この方法について以下に詳しく説明する。
【０２６５】
前述した実施の形態では、図４６にて説明したように、多値階調値データと分類番号とを取得した後、多値階調値データと分類番号との組合せから、８つの画素に形成すべき各種ドットの個数を決定した。そして、これらドットを形成する画素位置については、分類番号に対応した順序値マトリックスを参照することによって決定していた。すなわち、多値階調値データおよび分類番号が決まれば、８つの画素の各画素に形成されるドットの種類を決定することができる。従って、予め、多値階調値データと分類番号との組合せ毎に、８つの画素内の各画素に形成されるドットの種類を求めて対応表に記憶しておけば、かかる対応表を参照するだけで、直ちにドット形成有無を決定することができるはずである。ここで説明するドット形成の有無決定処理は、このような考え方に基づいて、多値階調値データ、各画素についてそれぞれドット形成の有無を迅速に決定することが可能となっている。
【０２６６】
図５１は、ここで使用されるドット個数データ変換テーブルの一例を概念的に示した説明図である。このドット個数データ変換テーブルは、同図に示すように、多値化結果値と分類番号との組合せに対応付けて、８つの画素の中の各画素に形成されるドット種類を表すデータが設定されている。ここでは、このデータのことをドットデータと呼ぶこととする。図５１にて示すドット個数データ変換テーブルを参照すれば、多値階調値データと分類番号との組合せから、対応するドットデータを直ちに取得することができる。例えば、分類番号が『ｉ』であり、多値階調値データが『ｊ』であれば、ドットデータは、ＤＤ（ｉ，ｊ）となる。こうして取得されたドットデータには、８つの画素の中の各画素についてドット形成の有無に関する情報が含まれている。
【０２６７】
図５２は、ここで使用されるドット個数データ変換テーブルに設定されているドットデータのデータ構造の一例を示した説明図である。図５２Ａは、ドットデータの一例を説明する。図５２Ｂは、実際のドット形成イメージの一例を説明する。
【０２６８】
ドットデータは、図５２Ａに示すように、２ビットずつのデータ８組から構成された１６ビット長のデータとなっている。ここで、１つのドットデータが８組のデータから構成されているのは、１つの多値階調値データには、８つの画素に関する情報が含まれているからである。従って、例えば、本実施形態の『４×４モード』の場合のように、１つの多値階調値データが１６個の画素に関する情報が含まれる場合は、１つのドットデータは、１６組のデータから構成されることになる。この他に、本実施形態ではないが、１つの多値階調値データが４個の画素に関する情報が含まれる場合は、１つのドットデータは、４組のデータから構成されることになる。
【０２６９】
図５２に示すように、ドットデータを構成する８組のデータは、それぞれ８つの画素内の所定位置の画素に対応付けられている。例えば、図５２Ａに示したドットデータの先頭にある１組目のデータは、図５２Ｂに示すように、８つの画素の中の左上隅の画素に対応している。また、ドットデータの先頭から２組目のデータは、８つの画素の中の上段の左から２番目の画素に対応している。このように、ドットデータを構成する８組のデータは、それぞれ８つの画素の中の所定位置の画素に予め対応付けられている。
【０２７０】
そして、各組のデータの内容は、対応する画素に形成するドットの種類を表している。すなわち、２ビットのデータ『１１』は大ドットを形成することを意味している。２ビットのデータ『１０』は中ドットを形成することを意味しており、『０１』は小ドットを形成することを、そして、『００』はドットを形成しないことを意味している。以上の説明から分かるように、図５２Ａに例示したドットデータは、８つの画素の中の左上隅の画素には大ドットを形成し、上段の左から３番目の画素には中ドットを形成することを表わすようになっている。また、このドットデータは、下段の左から２番目の画素には小ドットを形成し、８つの画素の中の右下隅の画素には中ドットを形成することを表わすようになっている。さらに、このドットデータは、その他の画素にはドットを形成しないことを表すようになっている。  
このようなドット個数データ変換テーブルを参照すれば、分類番号と多値階調値データとに基づいて、８つの画素の中の各画素について各々ドット形成の有無を速やかに決定することが可能である。
【０２７１】
なお、本実施形態では、このようなドット個数データ変換テーブルの他に、『２×４モード』と『４×４モード』とにおいて、それぞれ専用のドット個数データ変換テーブルが必要となる。
【０２７２】
＝＝＝その他の実施の形態＝＝＝
以上、一実施形態に基づき、本発明に係るインクジェットプリンタ等の印刷装置について説明したが、上記の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更または改良され得るとともに、本発明には、その等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【０２７３】
＜多値化処理について＞
前述した実施の形態では、多値化テーブルを使用して多値階調値データを生成していたが、必ずしもこのような多値化テーブルを用いて多値階調値データを生成する場合には限らない。つまり、テーブルを用いずに演算等により多値階調値データを生成してもよい。
【０２７４】
＜ドット個数データ変換処理について＞
前述した実施の形態では、ドット個数データ変換テーブルを使用して多値階調値データをドット個数データに変換していたが、必ずしもこのようなドット個数データ変換テーブルを用いて多値階調値データをドット個数データに変換する必要はない。つまり、テーブルを用いずに演算等によりドット個数データを取得してもよい。
【０２７５】
＜多値階調値データについて＞
前述した実施の形態では、多値階調値データが３２階調の５ビットのデータとして生成されていたが、本発明では必ずしもこのようなビット数のデータにより生成される必要はない。つまり、多値階調値データのビット数は、多値化処理部が多値化する際の段数、即ち多値化段数に応じて適宜設定される。多値階調値データは、他のビット数のデータとして生成されてもよい。
【０２７６】
＜ドット個数データについて＞
前述した実施の形態では、ドット個数データが、形成すべきドットの個数の他、形成すべき各ドットのサイズ（即ち「小ドット」、「中ドット」、「大ドット」）をも表すコード化されたデータとなっていたが、本発明では必ずしもこのようにデータとなっている必要はない。つまり、ドット個数データは、少なくとも１種類のサイズのドットの個数を示せば良く、必ずしもドットのサイズ等の他の情報を表すデータとなっている必要はない。
【０２７７】
＜出力画像の解像度について＞
前述した実施の形態では、出力画像の解像度が、『１×１モード』と、『２×１モード』と、『１×２モード』と、『２×２モード』と、『４×２モード』と、『２×４モード』と、『４×４モード』との７種類であったが、本発明にあっては、必ずしもこのような解像度に限定されるものではない。つまり、出力画像の解像度としては、他の解像度に設定されてもよく、任意に設定されるものである。
【０２７８】
＜１以上の画素について＞
前述した実施の形態では、ドット形成用データ生成部により、ドット形成の有無が決定される「１以上の画素」として、８つの画素につきそれぞれ個別にドット形成の有無を決定していたが、この「１以上の画素」としては、必ずしもこのように８つの画素について個別にドット形成の有無が決定される場合に限らず、７つ以下の画素について個別にドット形成の有無が決定されてもよく、また９つ以上の画素について個別にドット形成の有無が決定されても良い。
【０２７９】
＜多値化処理部について＞
前述した実施の形態では、多値化処理部がパーソナルコンピュータ等のコンピュータに設けられていたが、多値化処理部は、必ずしもこのようにパーソナルコンピュータ等のコンピュータに設けられる場合には限られない。つまり、例えば、インクジェットプリンタ等の印刷装置の内部に設けられても良く、また、他の各種装置等に設けられても良い。
【０２８０】
＜ドット形成用データ生成部について＞
前述した実施の形態では、ドット形成用データ生成部がインクジェットプリンタ等の印刷装置に設けられていたが、ドット形成用データ生成部は、必ずしもこのようにインクジェットプリンタ等の印刷装置に設けられる必要はない。つまり、例えば、当該インクジェットプリンタ等の印刷装置が接続されたパーソナルコンピュータ等のコンピュータに設けられていてもよく、また、その他の各種装置等に設けられてもよい。
【０２８１】
＜画像処理装置について＞
前述した実施の形態では、画像処理装置として、印刷装置と、この印刷装置を制御するコンピュータとを備えた印刷システム（画像処理システム）に適用した場合を例にして説明したが、ここでいう画像処理装置にあっては、このような印刷システムに適用する場合に限らない。つまり、ここでいう画像処理装置は、印刷装置にのみ適用されても良い。すなわち、印刷装置に、多値化処理部とドット形成用データ生成部との双方が設けられていても良い。また、ここでいう画像処理装置は、印刷装置の制御等を行うコンピュータに適用されても良い。つまり、印刷装置の制御等を行うコンピュータに、多値化処理部とドット形成用データ生成部との双方が設けられていても良い。この他、画像データを処理して出力画像のドット形成用データを生成する装置であれば、どうような装置も、ここでいう画像処理装置に含まれる。
【０２８２】
＜印刷装置について＞
前述した実施の形態では、「印刷装置」としては、前述したようなインクジェットプリンタ１の場合を例にして説明したが、このような印刷装置に限らず、他の方式によりインクを吐出するインクジェットプリンタをはじめ、その他、インクを吐出しないタイプのプリンタ、例えば、ドットインパクト式プリンタや熱転写プリンタ、またレーザービーム式プリンタなど、印刷機能を備えた装置であれば、どのような印刷装置であっても構わない。
【図面の簡単な説明】
【０２８３】
【図１】本発明に係る画像処理装置が適用された印刷システムの斜視図。
【図２】コンピュータの内部構成の一例を説明する説明図。
【図３】印刷装置の内部構成を説明した斜視図。
【図４】印刷装置の搬送部を示す断面図。
【図５】印刷装置のシステム構成を示すブロック構成図。
【図６】ヘッドのノズルの配列を示す説明図。
【図７】ヘッドの駆動回路の一例を説明した図。
【図８】各信号のタイミングチャート。
【図９】プリンタドライバにおける従来の処理の概要を説明する説明図。
【図１０】プリンタドライバによる本実施形態の処理の概要を説明する説明図。
【図１１】多値化処理部の多値化処理の処理手順の一例を説明するフローチャート。
【図１２】多値化テーブルの一例を概念的に示した説明図。
【図１３】画素の階調値と多値階調値データとの関係について説明した説明図。
【図１４Ａ】『１×１モード』おける分類番号の設定方法を説明する説明図。
【図１４Ｂ】『２×１モード』おける分類番号の設定方法を説明する説明図。
【図１４Ｃ】『１×２モード』おける分類番号の設定方法を説明する説明図。
【図１４Ｄ】『２×２モード』おける分類番号の設定方法を説明する説明図。
【図１４Ｅ】『４×２モード』おける分類番号の設定方法を説明する説明図。
【図１５】ドット形成用データ生成部の処理手順の一例を示すフローチャート。
【図１６】ドット個数データ変換テーブルの一例の説明図。
【図１７】ドット個数データと、ドットの個数およびサイズとの対応関係の一例の説明図。
【図１８】図１８Ａは、分類番号『１』の順序値マトリックスの一例を説明し、図１８Ｂは、分類番号『２』の順序値マトリックスの一例を説明し、図１８Ｃは、分類番号『３』の順序値マトリックスの一例を説明している。
【図１９】ドット形成の有無を決定する手順の一例の説明図。
【図２０】図２０Ａは、左上隅の画素の切り出しの説明図であり、図２０Ｂは、上段の左から２番目の画素の切り出しの説明図であり、図２０Ｃは、上段の右から２番目の画素の切り出しの説明図であり、図２０Ｄは、右上隅の画素の切り出しの説明図であり、図２０Ｅは、左下隅の画素の切り出しの説明図であり、図２０Ｆは、下段の左から２番目の画素の切り出しの説明図であり、図２０Ｇは、下段の右から２番目の画素の切り出しの説明図であり、図２０Ｈは、右下隅の画素の切り出しの説明図である。
【図２１】ＣＭＹＫ画像データにおける画素の位置の説明図。
【図２２】図２２Ａは、上段の左から１番目および２番目の画素の切り出しの説明図であり、図２２Ｂは、上段の右から１番目および２番目の画素の切り出しの説明図であり、図２２Ｃは、下段の左から１番目および２番目の画素の切り出しの説明図であり、図２２Ｄは、下段の右から１番目および２番目の画素の切り出しの説明図である。
【図２３】ＣＭＹＫ画像データにおける画素の位置の説明図。
【図２４】図２４Ａは、左から１列目の上下２つの画素を切り出す場合の説明図であり、図２４Ｂは、左から２列目の上下２つの画素を切り出す場合の説明図であり、図２４Ｃは、右から２列目の上下２つの画素を切り出す場合の説明図であり、図２４Ｄは、右から１列目の上下２つの画素を切り出す場合の説明図である。
【図２５】ＣＭＹＫ画像データにおける画素の位置の説明図。
【図２６】図２６Ａは、左半分の４つの画素を切り出す場合の説明図であり、図２６Ｂは、右半分の４つの画素を切り出す場合の説明図である。
【図２７】ＣＭＹＫ画像データにおける画素の位置の説明図。
【図２８】『４×２モード』における画素の切り出し方法の説明図。
【図２９】『２×４モード』のドット個数データ変換テーブルの一例の説明図。
【図３０】『２×４モード』の順序値マトリックスの一例の説明図。
【図３１】『２×４モード』におけるドット形成の有無の決定方法の説明図。
【図３２】『４×４モード』のドット個数データ変換テーブルの一例の説明図。
【図３３】『４×４モード』のドット個数データと、このドット個数データにより表される、形成すべきドットの個数およびサイズに関する情報との対応関係の一例の説明図。
【図３４】『４×４モード』の順序値マトリックスの一例の説明図。
【図３５】『４×４モード』におけるドット形成の有無の決定方法の説明図。
【図３６】ディザマトリックスの一部を拡大して例示した説明図。
【図３７】ディザマトリックスによるドット形成の有無の決定手法を説明する説明図。
【図３８】図３８Ａは、ディザマトリックスに設定される単位ブロックの説明図、図３８Ｂは、ディザマトリックスに設定された分類番号の説明図、図３８Ｃは、画像データにディザマトリックスを適用した場合の説明図である。
【図３９】図３９Ａは、ＣＭＹＫ画像データ上の着目画素の位置の説明図、図３９Ｂは、ディザマトリックスのＣＭＹＫ画像データへの適用方法の一例の説明図、図３９Ｃは、着目画素が属する単位ブロックを特定する方法の説明図である。
【図４０】ハーフトーン処理の概要を説明するフローチャート。
【図４１】ドット密度変換テーブルの説明図。
【図４２】ハーフトーン処理の概要を説明する説明図。
【図４３】多値化テーブルの設定手順の一例を説明するフローチャート。
【図４４】ドット個数データ変換テーブルの設定手順の一例を説明するフローチャート。
【図４５】図４５Ａは、ディザマトリックスに設定された分類番号の説明図、図４５Ｂは、分類番号『１』の順序値マトリックスの生成手順の説明図、図４５Ｃは、分類番号『２』の順序値マトリックスの生成手順の説明図である。
【図４６】ドット形成用データ生成処理の概要の説明図。
【図４７】他のタイプの多値化テーブルの一例を説明する説明図。
【図４８】他方法によるドット形成用データ生成処理の一例を説明する説明図。
【図４９】ドット個数データと中間データとの対応表の一例を説明する説明図。
【図５０】図５０Ａは、中間データの概要を説明する説明図、図５０Ｂは、中間データの中から２ビットデータの読み出しを行う方法の説明図、図５０Ｃは、中間データをシフトさせることにより２ビットデータの読み出しを行う方法の説明図である。
【図５１】他のタイプのドット個数データ変換テーブルの一例を説明する説明図。
【図５２】図５２Ａは、ドットデータの一例の説明図、図５２Ｂは、実際のドット形成イメージの一例の説明図である。
【符号の説明】
【０２８４】
１  インクジェットプリンタ、２  操作パネル、３  排紙部、４  給紙部、
５  操作ボタン、６  表示ランプ、７  排紙トレイ、８  給紙トレイ、
１３  給紙ローラ、１４  プラテン、１５  搬送モータ、１７Ａ  搬送ローラ、
１７Ｂ  排紙ローラ、１８Ａ  フリーローラ、１８Ｂ  フリーローラ、２１  ヘッド、
３１  ポンプ装置、３５  キャッピング装置、４１  キャリッジ、
４２  キャリッジモータ、４４  プーリ、４５  タイミングベルト、
４６  ガイドレール、４８  インクカートリッジ、４９  カートリッジ装着部、
５１  リニア式エンコーダ、５３  紙検知センサ、
１２２  バッファメモリ、１２４  イメージバッファ、
１２６  コントローラ、１２７  メインメモリ、１２８  キャリッジモータ制御部、
１２９  通信インターフェース、１３０  搬送制御部、１３２  ヘッド駆動部、
１３４  ロータリ式エンコーダ、１５０  システム、１５２  コンピュータ、
１５３  ＣＤ−ＲＯＭドライブ装置、１５４  フロッピードライブ装置（ＦＤＤ）、
１５５  表示装置、１５６  キーボード、１５７  マウス、
１５８  ハードディスクドライブ装置、１５９  ビデオメモリ、
１６０  アプリケーションプログラム、１６２  ビデオドライバ、
１６１  操作入力インターフェース、１６３  メモリ、
１６４  プリンタドライバ、１６５  外部通信インターフェース、
１６６  解像度変換処理部、１６８  色変換処理部、
１７０  ハーフトーン処理部、１７２  ラスタライズ処理部、
１８０  プリンタドライバ、１８２  多値化処理部、
１８４  ドット形成用データ生成部、
２１１Ｙ  イエロノズル列、２１１Ｍ  マゼンダノズル列、
２１１Ｃ  シアンノズル列、２１１Ｋ  ブラックノズル列、
２２０  駆動回路、２２１  原駆動信号発生部、２２２  マスク回路
【図１】
2006217084.tif 000003
【図２】
2006217084.tif 000004
【図３】
2006217084.tif 000005
【図４】
2006217084.tif 000006
【図５】
2006217084.tif 000007
【図６】
2006217084.tif 000008
【図７】
2006217084.tif 000009
【図８】
2006217084.tif 000010
【図９】
2006217084.tif 000011
【図１０】
2006217084.tif 000012
【図１１】
2006217084.tif 000013
【図１２】
2006217084.tif 000014
【図１３】
2006217084.tif 000015
【図１５】
2006217084.tif 000016
【図１６】
2006217084.tif 000017
【図１７】
2006217084.tif 000018
【図１８】
2006217084.tif 000019
【図２９】
2006217084.tif 000020
【図３０】
2006217084.tif 000021
【図３２】
2006217084.tif 000022
【図３３】
2006217084.tif 000023
【図３４】
2006217084.tif 000024
【図３６】
2006217084.tif 000025
【図３７】
2006217084.tif 000026
【図３８】
2006217084.tif 000027
【図３９】
2006217084.tif 000028
【図４０】
2006217084.tif 000029
【図４１】
2006217084.tif 000030
【図４２】
2006217084.tif 000031
【図４３】
2006217084.tif 000032
【図４４】
2006217084.tif 000033
【図４５】
2006217084.tif 000034
【図４６】
2006217084.tif 000035
【図４７】
2006217084.tif 000036
【図４８】
2006217084.tif 000037
【図４９】
2006217084.tif 000038
【図５０】
2006217084.tif 000039
【図５１】
2006217084.tif 000040
【図５２】
2006217084.tif 000041
【図１４Ａ】
2006217084.tif 000042
【図１４Ｂ】
2006217084.tif 000043
【図１４Ｃ】
2006217084.tif 000044
【図１４Ｄ】
2006217084.tif 000045
【図１４Ｅ】
2006217084.tif 000046
【図１９】
2006217084.tif 000047
【図２０】
2006217084.tif 000048
【図２１】
2006217084.tif 000049
【図２２】
2006217084.tif 000050
【図２３】
2006217084.tif 000051
【図２４】
2006217084.tif 000052
【図２５】
2006217084.tif 000053
【図２６】
2006217084.tif 000054
【図２７】
2006217084.tif 000055
【図２８】
2006217084.tif 000056
【図３１】
2006217084.tif 000057
【図３５】
2006217084.tif 000058