(57)【要約】【課題】  画像品質の劣化を抑制しつつ、画像処理およびデータ転送の高速化を図る。【解決手段】  画像処理装置は、（Ａ）画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して、前記解像度に依存しない所定のビット数の多値階調値データを生成する多値化処理部と、（Ｂ）前記多値化処理部により生成された前記多値階調値データが格納されるメモリと、（Ｃ）前記メモリから取得した前記多値階調値データをそれぞれドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、を備える。【選択図】  図１０
2006217537.tif 000002
【特許請求の範囲】
【請求項１】
（Ａ）画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して、前記解像度に依存しない所定のビット数の多値階調値データを生成する多値化処理部と、
（Ｂ）前記多値化処理部により生成された前記多値階調値データが格納されるメモリと、
（Ｃ）前記メモリから取得した前記多値階調値データをそれぞれドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
（Ｄ）を備えたことを特徴とする画像処理装置。
【請求項２】
前記階調値と前記多値階調値データとが対応付けられた多値化テーブルを備え、
前記多値化処理部は、前記多値化テーブルを参照することにより前記多値階調値データを生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記多値化テーブルが前記メモリに格納されることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記多値化処理部は、前記画像データにより表される画像を構成する各画素の色別の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して前記多値階調値データを生成することを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記多値化処理部は、前記階調値を当該階調値に対応する画素の位置に応じて多値化処理して前記多値階調値データを生成することを特徴とする請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
前記多値階調値データと前記ドット個数データとが対応付けられたドット個数データ変換テーブルを備え、
前記ドット形成用データ生成部は、前記ドット個数データ変換テーブルを参照することにより、前記多値階調値データを前記ドット個数データに変換することを特徴とする請求項１〜５のいずれか１項に記載の画像処理装置。
【請求項７】
前記ドット個数データ変換テーブルが前記メモリに格納されることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記ドット形成用データ生成部は、前記ドット個数データに基づき、所定の個数の画素について個別にドット形成の有無を決定することを特徴とする請求項１〜７のいずれか１項に記載の画像処理装置。
【請求項９】
前記ドット個数データには、ドットの個数の他に、ドットのサイズに関するデータが含まれていることを特徴とする請求項１〜８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記ドット形成用データ生成部は、前記ドット個数データの他に、ドット形成の順序を示すドット形成順序データに基づき、前記１以上の画素について個別にドット形成の有無を決定することを特徴とする請求項１〜９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記ドット形成順序データが前記メモリに格納されることを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記１以上の画素の中から前記出力画像を構成する画素として使用される画素の数が、前記出力画像の前記解像度に応じて異なることを特徴とする請求項１〜１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記１以上の画素の中から前記出力画像を構成する画素として使用される画素の位置が、前記多値階調値データを生成する際に多値化処理した階調値に対応する画素の位置に応じて異なることを特徴とする請求項１〜１２のいずれか１項に記載の画像処理装置。
【請求項１４】
前記メモリがＳＤＲＡＭにより構成されていることを特徴とする請求項１〜１３のいずれか１項に記載の画像処理装置。
【請求項１５】
前記画像データが所定の解像度の画像データであることを特徴とする請求項１〜１４のいずれか１項に記載の画像処理装置。
【請求項１６】
（Ａ）画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して、前記解像度に依存しない所定のビット数の多値階調値データを生成する多値化処理部と、
（Ｂ）前記多値化処理部により生成された前記多値階調値データが格納されるメモリと、
（Ｃ）前記メモリから取得した前記多値階調値データをそれぞれドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
（Ｄ）を備え、
（Ｅ）前記階調値と前記多値階調値データとが対応付けられた多値化テーブルを備え、前記多値化処理部は、前記多値化テーブルを参照することにより前記多値階調値データを生成し、
（Ｆ）前記多値化テーブルが前記メモリに格納され、
（Ｇ）前記多値化処理部は、前記画像データにより表される画像を構成する各画素の色別の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して前記多値階調値データを生成し、
（Ｈ）前記多値化処理部は、前記階調値を当該階調値に対応する画素の位置に応じて多値化処理して前記多値階調値データを生成し、
（Ｉ）前記多値階調値データと前記ドット個数データとが対応付けられたドット個数データ変換テーブルを備え、前記ドット形成用データ生成部は、前記ドット個数データ変換テーブルを参照することにより、前記多値階調値データを前記ドット個数データに変換し、
（Ｊ）前記ドット個数データ変換テーブルが前記メモリに格納され、
（Ｋ）前記ドット形成用データ生成部は、前記ドット個数データに基づき、所定の個数の画素について個別にドット形成の有無を決定し、
（Ｌ）前記ドット個数データには、ドットの個数の他に、ドットのサイズに関するデータが含まれ、
（Ｍ）前記ドット形成用データ生成部は、前記ドット個数データの他に、ドット形成の順序を示すドット形成順序データに基づき、前記１以上の画素について個別にドット形成の有無を決定し、
（Ｏ）前記ドット形成順序データが前記メモリに格納され、
（Ｐ）前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記１以上の画素の中から前記出力画像を構成する画素として使用される画素の数が、前記出力画像の前記解像度に応じて異なり、
（Ｑ）前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記１以上の画素の中から前記出力画像を構成する画素として使用される画素の位置が、前記多値階調値データを生成する際に多値化処理した階調値に対応する画素の位置に応じて異なり、
（Ｒ）前記メモリがＳＤＲＡＭにより構成され、
（Ｓ）前記画像データが所定の解像度の画像データであることを特徴とする画像処理装置。
【請求項１７】
画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して、前記解像度に依存しない所定のビット数の多値階調値データを生成するステップと、
生成された前記多値階調値データをメモリに格納するステップと、
前記メモリから前記多値階調値データを取得して、取得した前記多値階調値データをドットの個数を表すドット個数データに変換して、変換により得られた前記ドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として前記解像度の前記出力画像のドット形成用データを生成するステップと、
を有することを特徴とする画像処理方法。
【請求項１８】
画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して、前記解像度に依存しない所定のビット数の多値階調値データを生成するステップと、
生成した前記多値階調値データをメモリに格納するステップと、
前記メモリから取得した前記多値階調値データをそれぞれドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として前記解像度の前記出力画像のドット形成用データを生成するステップと、
を実行することを特徴とするプログラム。
【請求項１９】
（Ａ）画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して、前記解像度に依存しない所定のビット数の多値階調値データを生成する多値化処理部と、
（Ｂ）前記多値化処理部により生成された前記多値階調値データが格納されるメモリと、
（Ｃ）前記メモリから取得した前記多値階調値データをそれぞれドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
（Ｄ）前記ドット形成用データ生成部により生成された前記ドット形成用データに基づき、媒体に対して印刷を施す印刷部と、
（Ｅ）を備えたことを特徴とする印刷装置。
【請求項２０】
原稿から画像を読み取ってその画像のデータを生成する画像読み取り部を備え、
前記画像読み取り部により生成された前記データが前記画像データとして前記多値化処理部により多値化処理されることを特徴とする請求項１９に記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに対して画像処理を施して、画像を印刷するための印刷データを作成する画像処理装置、画像処理方法、プログラムおよび印刷装置に関する。
【背景技術】
【０００２】
印刷媒体や液晶画面といった各種の出力媒体上にドットを形成することで画像を出力する画像出力装置は、各種画像機器の出力装置として広く使用されている。これら画像出力装置では、画像は画素と呼ばれる小さな領域に細分された状態で扱われており、ドットは、これらの画素に形成される。ドットを画素に形成した場合、もちろん画素１つ１つについて見れば、ドットが形成されるか否かのいずれかの状態しか取り得ない。しかし、ある程度の広さを持った領域で見れば、形成するドットの密度に粗密を生じさせることは可能であり、ドットの形成密度を変えることによって多階調の画像を出力することが可能である。例えば、印刷用紙上に黒いインクのドットを形成する場合、ドットが密に形成されている領域は暗く見えるし、逆にドットがまばらに形成されている領域は明るく見える。また、液晶画面に輝点のドットを形成する場合、ドットが密に形成された領域は明るく見え、まばらに形成された領域は暗く見える。従って、ドットの形成密度を適切に制御してやれば、多階調の画像を出力することが可能となる。このように、適切な形成密度が得られるようにドットの形成を制御するためのデータは、出力しようとする画像に所定の画像処理を施すことによって発生させる。
【０００３】
近年では、これら画像出力装置には、出力画像の高画質化や大画像化が要請されるようになってきた。高画質化の要請に対しては、画像をより細かな画素に分割することが効果的である。画素を小さくしてやれば、画素に形成されるドットが目立たなくなるので画質を向上させることができる。また、大画像化の要請に対しては、画素数を増加させることによって対応する。もちろん、個々の画素を大きくすることによっても出力画像を大きくすることはできるが、これでは画質の低下を招いてしまうので、大型化の要請に対しては、画素数を増加させることが効果的である。
【０００４】
もっとも、画像を構成する画素数が増加すると画像処理に時間がかかってしまい、画像を迅速に出力することが困難となる。そこで、画像処理を迅速に実行可能とする技術が提案されている（特許文献１）。
【特許文献１】特開２００２−１８５７８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、画像処理を迅速に行ったとしても、画像データの転送に、あるいは処理済みの画像データの転送に時間がかかってしまったのでは、画像の出力を迅速化する効果にも自ずから限界がある。
【０００６】
また、近年では、デジタルカメラなどで撮影した画像のデータを、印刷装置などの画像出力装置に直接供給して直ちに画像を出力したいという要請も存在する。このような場合は、いわゆるパーソナルコンピュータ等のような高い処理能力を備えた画像処理装置を用いて画像処理を行うことはできない。従って、デジタルカメラなどの画像撮影装置あるいは画像出力装置のいずれか、若しくは両者で分担して実行可能なように、簡素な画像処理としておく必要がある。
【０００７】
本発明は、このような事情に鑑みてなされたものであって、その目的は、画像品質の劣化を抑制しつつ、画像処理およびデータ転送の高速化を実現し得ることにある。
【課題を解決するための手段】
【０００８】
前記目的を達成するための主たる発明は、
（Ａ）画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して、前記解像度に依存しない所定のビット数の多値階調値データを生成する多値化処理部と、
（Ｂ）前記多値化処理部により生成された前記多値階調値データが格納されるメモリと、
（Ｃ）前記メモリから取得した前記多値階調値データをそれぞれドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
（Ｄ）を備えたことを特徴とする画像処理装置である。
【０００９】
本発明の他の特徴は、本明細書及び添付図面の記載により明らかにする。
【発明を実施するための最良の形態】
【００１０】
＝＝＝開示の概要＝＝＝
本明細書及び添付図面の記載により、少なくとも以下の事項が明らかとなる。
【００１１】
（Ａ）画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して、前記解像度に依存しない所定のビット数の多値階調値データを生成する多値化処理部と、
（Ｂ）前記多値化処理部により生成された前記多値階調値データが格納されるメモリと、
（Ｃ）前記メモリから取得した前記多値階調値データをそれぞれドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
（Ｄ）を備えたことを特徴とする画像処理装置。
【００１２】
このような画像処理装置にあっては、画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値化処理部により多値階調値データを生成し、この多値階調値データを、ドット形成用データ生成部によりドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するから、ドット形成用データを効率よく生成することができる。また、多値階調値データとして、出力画像の解像度に依存しない所定のビット数のデータが生成されるから、多値階調値データを格納するための前記メモリ上の領域を出力画像の解像度に関わりなく一定にすることができる。これにより、メモリ容量やメモリへのアクセス回数の削減を図ることができる。したがって、画像処理およびデータ転送の高速化を実現することができる。
【００１３】
かかる画像処理装置にあっては、前記階調値と前記多値階調値データとが対応付けられた多値化テーブルを備え、前記多値化処理部は、前記多値化テーブルを参照することにより前記多値階調値データを生成しても良い。このような多値化テーブルを備えれば、階調値から多値階調値データを簡単に取得することができる。
【００１４】
また、かかる画像処理装置にあっては、前記多値化テーブルが前記メモリに格納されても良い。このように多値化テーブルが前記メモリに格納されれば、多値化処理部は、多値化テーブルをスムーズに参照することができる。
【００１５】
また、かかる画像処理装置にあっては、前記多値化処理部は、前記画像データにより表される画像を構成する各画素の色別の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して前記多値階調値データを生成しても良い。このように各画素の色別の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成することで、画像データが複数の色により表現されていた場合でも、ドット形成用データの生成処理をスムーズに行うことができる。
【００１６】
また、かかる画像処理装置にあっては、前記多値化処理部は、前記階調値を当該階調値に対応する画素の位置に応じて多値化処理して前記多値階調値データを生成してもよい。このように階調値に対応する画素の位置に応じて多値化処理部により多値化処理することで、より高精細なドット形成用データを生成することができ、出力画像の画質向上を図ることができる。
【００１７】
また、かかる画像処理装置にあっては、前記多値階調値データと前記ドット個数データとが対応付けられたドット個数データ変換テーブルを備え、前記ドット形成用データ生成部は、前記ドット個数データ変換テーブルを参照することにより、前記多値階調値データを前記ドット個数データに変換してもよい。このようなドット個数データ変換テーブルを備えることで、多値階調値データからドット個数データを簡単に取得することができる。
【００１８】
また、かかる画像処理装置にあっては、前記ドット個数データ変換テーブルが前記メモリに格納されても良い。このようにドット個数データ変換テーブルが前記メモリに格納されれば、ドット形成用データ生成部は、ドット個数データ変換テーブルをスムーズに参照することができる。
【００１９】
また、かかる画像処理装置にあっては、前記ドット形成用データ生成部は、前記ドット個数データに基づき、所定の個数の画素について個別にドット形成の有無を決定しても良い。このように所定の個数の画素についてドット形成の有無を決定すれば、処理をスムーズに行うことができる。
【００２０】
また、かかる画像処理装置にあっては、前記ドット個数データには、ドットの個数の他に、ドットのサイズに関するデータが含まれていても良い。このようにドットのサイズに関するデータが含まれていれば、サイズの異なるドットについて形成の有無を決定することができる。
【００２１】
また、かかる画像処理装置にあっては、前記ドット形成用データ生成部は、前記ドット個数データの他に、ドット形成の順序を示すドット形成順序データに基づき、前記１以上の画素について個別にドット形成の有無を決定してもよい。このようにドット形成順序データに基づき、１以上の画素について個別にドット形成の有無を決定すれば、処理をスムーズに行うことができる。
【００２２】
また、かかる画像処理装置にあっては、前記ドット形成順序データが前記メモリに格納されてもよい。このようにドット形成順序データが前記メモリに格納されれば、ドット形成用データ生成部は、ドット形成順序データをスムーズに参照することができる。
【００２３】
また、かかる画像処理装置にあっては、前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記１以上の画素の中から前記出力画像を構成する画素として使用される画素の数が、前記出力画像の前記解像度に応じて異なってもよい。このように１以上の画素の中から前記出力画像を構成する画素として使用される画素の数が、前記出力画像の前記解像度に応じて異なることで、解像度の異なる出力画像のドット形成用データを簡単に生成することができる。
【００２４】
また、かかる画像処理装置にあっては、前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記１以上の画素の中から前記出力画像を構成する画素として使用される画素の位置が、前記多値階調値データを生成する際に多値化処理した階調値に対応する画素の位置に応じて異なってもよい。このように１以上の画素の中から前記出力画像を構成する画素として使用される画素の位置が、多値階調値データを生成する際に多値化処理した階調値に対応する画素の位置に応じて異なることで、出力画像のドット形成用データをスムーズに生成することができる。
【００２５】
また、かかる画像処理装置にあっては、前記メモリがＳＤＲＡＭにより構成されていても良い。このようにメモリがＳＤＲＡＭにより構成されれば、データの読み書きを高速に行うことができる。
【００２６】
また、かかる画像処理装置にあっては、前記画像データが所定の解像度の画像データであっても良い。このように画像データが所定の解像度の画像データであれば、多値階調値データを格納するために必要なメモリ上の領域サイズを一定にすることができる。
【００２７】
（Ａ）画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して、前記解像度に依存しない所定のビット数の多値階調値データを生成する多値化処理部と、
（Ｂ）前記多値化処理部により生成された前記多値階調値データが格納されるメモリと、
（Ｃ）前記メモリから取得した前記多値階調値データをそれぞれドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
（Ｄ）を備え、
（Ｅ）前記階調値と前記多値階調値データとが対応付けられた多値化テーブルを備え、前記多値化処理部は、前記多値化テーブルを参照することにより前記多値階調値データを生成し、
（Ｆ）前記多値化テーブルが前記メモリに格納され、
（Ｇ）前記多値化処理部は、前記画像データにより表される画像を構成する各画素の色別の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して前記多値階調値データを生成し、
（Ｈ）前記多値化処理部は、前記階調値を当該階調値に対応する画素の位置に応じて多値化処理して前記多値階調値データを生成し、
（Ｉ）前記多値階調値データと前記ドット個数データとが対応付けられたドット個数データ変換テーブルを備え、前記ドット形成用データ生成部は、前記ドット個数データ変換テーブルを参照することにより、前記多値階調値データを前記ドット個数データに変換し、
（Ｊ）前記ドット個数データ変換テーブルが前記メモリに格納され、
（Ｋ）前記ドット形成用データ生成部は、前記ドット個数データに基づき、所定の個数の画素について個別にドット形成の有無を決定し、
（Ｌ）前記ドット個数データには、ドットの個数の他に、ドットのサイズに関するデータが含まれ、
（Ｍ）前記ドット形成用データ生成部は、前記ドット個数データの他に、ドット形成の順序を示すドット形成順序データに基づき、前記１以上の画素について個別にドット形成の有無を決定し、
（Ｏ）前記ドット形成順序データが前記メモリに格納され、
（Ｐ）前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記１以上の画素の中から前記出力画像を構成する画素として使用される画素の数が、前記出力画像の前記解像度に応じて異なり、
（Ｑ）前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記１以上の画素の中から前記出力画像を構成する画素として使用される画素の位置が、前記多値階調値データを生成する際に多値化処理した階調値に対応する画素の位置に応じて異なり、
（Ｒ）前記メモリがＳＤＲＡＭにより構成され、
（Ｓ）前記画像データが所定の解像度の画像データであることを特徴とする画像処理装置。
【００２８】
画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して、前記解像度に依存しない所定のビット数の多値階調値データを生成するステップと、
生成された前記多値階調値データをメモリに格納するステップと、
前記メモリから前記多値階調値データを取得して、取得した前記多値階調値データをドットの個数を表すドット個数データに変換して、変換により得られた前記ドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として前記解像度の前記出力画像のドット形成用データを生成するステップと、
を有することを特徴とする画像処理方法。
【００２９】
画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して、前記解像度に依存しない所定のビット数の多値階調値データを生成するステップと、
生成した前記多値階調値データをメモリに格納するステップと、
前記メモリから取得した前記多値階調値データをそれぞれドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として前記解像度の前記出力画像のドット形成用データを生成するステップと、
を実行することを特徴とするプログラム。
【００３０】
（Ａ）画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して、前記解像度に依存しない所定のビット数の多値階調値データを生成する多値化処理部と、
（Ｂ）前記多値化処理部により生成された前記多値階調値データが格納されるメモリと、
（Ｃ）前記メモリから取得した前記多値階調値データをそれぞれドットの個数を表すドット個数データに変換して、このドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記１以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
（Ｄ）前記ドット形成用データ生成部により生成された前記ドット形成用データに基づき、媒体に対して印刷を施す印刷部と、
（Ｅ）を備えたことを特徴とする印刷装置。
【００３１】
かかる印刷装置にあっては、原稿から画像を読み取ってその画像のデータを生成する画像読み取り部を備え、 前記画像読み取り部により生成された前記データが前記画像データとして前記多値化処理部により多値化処理されても良い。このような画像読み取り部を備え、この画像読み取り部により生成されたデータが前記画像データとして多値化処理されれば、読み取った画像のデータをスムーズにドット形成用データに変換して、画像を印刷することができる。
【００３２】
＝＝＝画像処理装置の概要＝＝＝
本発明に係る画像処理装置等の実施の形態について説明する。ここでは、本発明に係る画像処理装置の実施の形態として印刷装置に適用した場合を例にして説明する。さらに、ここでは、本発明に係る印刷装置の実施の形態として、スキャナを搭載したインクジェットプリンタ１に適用した場合を例にして説明する。
【００３３】
図１〜図６は、このインクジェットプリンタ１の概要を説明したものである。図１は、このインクジェットプリンタ１の外観を説明する斜視図である。図２は、このインクジェットプリンタ１のスキャナ部１０の概要を説明する斜視図である。図３は、このインクジェットプリンタ１のプリンタ部３０の概要を説明する斜視図である。図４は、このインクジェットプリンタ１の内部構成を概略的に説明する説明図である。図５は、このインクジェットプリンタ１のプリンタ部３０の搬送機構を説明する断面図である。図６は、このインクジェットプリンタ１の操作パネル２を説明する平面図である。
【００３４】
このスキャナ付きインクジェットプリンタ１は、原稿から画像を読み取って画像データを生成するスキャナ機能と、ホストコンピュータ（図示外）から送られてきた印刷データに基づき印刷用紙等の各種媒体に印刷をするプリンタ機能と、原稿から読み取った画像を媒体に印刷して複写するローカルコピー機能とを備えたスキャナ・プリンタ・コピー複合装置（以下、ＳＰＣ複合装置ともいう）である。このＳＰＣ複合装置１は、図１に示すように、その上部に原稿５から画像を読み取るためのスキャナ部１０を備え、また、このＳＰＣ複合装置１の下部に、印刷用紙等の媒体Ｓに印刷をするためのプリンタ部３０を備えている。また、このＳＰＣ複合装置１の前面部には、操作パネル２が設けられている。
【００３５】
スキャナ部１０は、図２に示すように、原稿５がセットされるガラス板が設けられた原稿台１１と、当該原稿台１１を上方から覆う原稿台カバー１２とを備えている。原稿台カバー１２は、ＳＰＣ複合装置１の後端部に回動可能に取付けられ、原稿台１１の上面部を開閉するように設けられている。なお、スキャナ部１０は、「画像読み取り部」に相当する。
【００３６】
一方、プリンタ部３０は、図３に示すように、スキャナ部１０を上方に持ち上げることによって、その内部が開口部３２を通じて外部に開放されるように構成されている。つまり、スキャナ部１０は、ＳＰＣ複合装置１の後部にヒンジ部３４を介して回動自在に装着されている。スキャナ部１０が上方へと持ち上げられると、プリンタ部３０の内部に通じる開口部３２が開放される。プリンタ部３０の内部には、インクカートリッジを搭載するキャリッジ４１などが配置されている。このようにプリンタ部３０の内部が開放されることにより、その開口部３２を通じてインクカートリッジの交換等のメンテナンス作業や、紙詰まり等のエラー対処等を容易に行うことができるようになっている。
【００３７】
また、プリンタ部３０は、ＳＰＣ複合装置１の背部に、印刷用紙等の媒体Ｓがセットされて当該媒体Ｓを順次供給する給紙部４を備えている。また、プリンタ部３０は、ＳＰＣ複合装置１の前部に、印刷された媒体Ｓが排出される排紙部３を備えている。給紙部４は、給紙トレイ８を備えている。給紙トレイ８には、印刷用紙等の媒体がセットされるようになっている。また、排紙部３は、排紙トレイ７を備え、印刷されて排出された媒体Ｓを受ける。なお、給紙部４にセットされる媒体Ｓとしては、カット紙などの単票状印刷用紙のみならず、ロール紙などの連続した印刷用紙でも構わず、給紙部４がこれらの媒体Ｓに対応した構造を備えていても良い。
【００３８】
＝＝＝スキャナ部１０・プリンタ部３０の内部機構＝＝＝
図４は、スキャナ部１０およびプリンタ部３０の内部機構を示したものである。
【００３９】
＜スキャナ部＞
スキャナ部１０は、同図の上部に示すように、原稿台１１の下側に、スキャナ用キャリッジ６０と、このスキャナ用キャリッジ６０を原稿台１１に対して所定の間隔を保ちつつ図中矢印Ａ方向に沿って平行に移動させる駆動機構６２と、このスキャナ用キャリッジ６０を支持しつつその移動を案内するガイド６４とを備えている。
【００４０】
スキャナ用キャリッジ６０には、原稿台１１を介して原稿５に対し光を照射する光源としての露光ランプ６６と、原稿５から反射された反射光を案内する複数枚のミラー６８と、ミラー６８により案内された反射光を集光するレンズ７０と、このレンズ７０により集光された反射光を受光するＣＣＤセンサ７２とが搭載されている。
【００４１】
ＣＣＤセンサ７２は、光信号を電気信号に変換するフォトダイオードが列状に配置されて構成された３本のリニアセンサ（図示外）を備えている。これら３本のリニアセンサは、相互に間隔をあけて平行に配置され、それぞれＲ（レッド）、Ｇ（グリーン）およびＢ（ブルー）の３色の異なるフィルタが設けられている。各リニアセンサは、各フィルタの色に対応した成分の光をそれぞれ反射光から検出し、その検出結果を制御部５０に出力する。
【００４２】
また、駆動機構６２は、スキャナ用キャリッジ６０に接続されたタイミングベルト７４と、このタイミングベルト７４が掛け渡された一対のプーリ７５、７６と、一方のプーリ７５を回転駆動する駆動モータ７７とを備えている。駆動モータ７７は、制御部５０からの制御信号によって駆動制御される。
【００４３】
＜プリンタ部＞
一方、プリンタ部３０は、図４の下部に示すように、プリンタ用キャリッジ４１と、このプリンタ用キャリッジ４１に搭載されたヘッド２１と、プリンタ用キャリッジ４１を媒体Ｓに対して所定の間隔を保持しつつ相対的に平行に移動させる駆動機構２４と、媒体Ｓをプリンタ用キャリッジ４１の移動方向と直交する方向に沿って搬送する搬送機構３６とを備えている。
【００４４】
プリンタ用キャリッジ４１には、カートリッジ装着部が設けられ、このカートリッジ装着部には、黒（Ｋ）、シアン（Ｃ）、マゼンタ（Ｍ）、イエロ（Ｙ）等のインクが収容されたインクカートリッジが装着される。
【００４５】
ヘッド２１は、インクカートリッジから供給された各色のインクを媒体Ｓに向けて吐出して当該媒体Ｓ上にドットを形成して、媒体Ｓに画像を形成して印刷を施す。ヘッド２１のインク吐出機構については後に詳しく説明する。
【００４６】
駆動機構２４は、プリンタ用キャリッジ４１に接続されたタイミングベルト４５と、このタイミングベルト４５に噛合されたプーリ４４と、このプーリ４４を回転駆動するキャリッジモータ４２（以下、ＣＲモータともいう）と、プリンタ用キャリッジ４１の移動を案内するガイドレール４６と、プリンタ用キャリッジ４１の位置を検出するリニア式エンコーダとしてリニア式エンコーダ符号板５１およびこのリニア式エンコーダ符号板５１を読み取る検出部５２とを備えている。この駆動機構２４は、キャリッジモータ４２を駆動してプーリ４４を介してタイミングベルト４５を回転させる。これにより、プリンタ用キャリッジ４１は、媒体Ｓに対してガイドレール４６に沿って相対的に移動する。キャリッジモータ４２は、制御部５０からの制御信号により駆動制御される。
【００４７】
搬送機構３６は、プラテン１４と、搬送ローラ１７Ａと、当該搬送ローラ１７Ａを回転駆動する搬送モータ１５（以下、ＰＦモータともいう）と、媒体Ｓが所定位置に到達したか否かを検出する紙検知センサ５３と、搬送ローラ１７Ａの回転量を検出するロータリ式エンコーダ５６とを備えている。プラテン１４は、ヘッド２１に対向して配置されている。搬送モータ１５が駆動すると、搬送ローラ１７Ａが回転して、媒体Ｓがプラテン１４上を搬送される。搬送モータ１５は、制御部５０からの制御信号により駆動制御される。
【００４８】
印刷時には、媒体Ｓが搬送ローラ１７Ａにより間欠的に所定の搬送量で搬送され、その間欠的な搬送の合間にプリンタ用キャリッジ４１が、搬送ローラ１７Ａによる搬送方向に対して交差する方向に沿って移動しながら、ヘッド２１から媒体Ｓに向けてインクを吐出して印刷が施される。
【００４９】
＜搬送機構＞
プリンタ部３０の搬送機構について説明する。この搬送機構は、図５に示すように、給紙ローラ１３と、紙検知センサ５３と、搬送ローラ１７Ａと、排紙ローラ１７Ｂと、プラテン１４と、フリーローラ１８Ａ、１８Ｂとを備えている。
【００５０】
印刷される媒体Ｓは、給紙部４の給紙トレイ８にセットされる。給紙トレイ８にセットされた媒体Ｓは、断面略Ｄ形状に成形された給紙ローラ１３により、図中矢印Ａ方向に沿って搬送されて、インクジェットプリンタ１の内部へと送られる。インクジェットプリンタ１の内部に送られてきた媒体Ｓは、紙検知センサ５３と接触する。この紙検知センサ５３は、給紙ローラ１３と、搬送ローラ１７Ａとの間に設置されたもので、給紙ローラ１３により給紙された媒体Ｓを検知する。
【００５１】
紙検知センサ５３により検知された媒体Ｓは、搬送ローラ１７Ａによって、印刷が実施されるプラテン１４へと順次搬送される。搬送ローラ１７Ａの対向位置には、フリーローラ１８Ａが設けられている。このフリーローラ１８Ａと搬送ローラ１７Ａとの間に、媒体Ｓを挟み込むことによって、媒体Ｓをスムーズに搬送する。
【００５２】
プラテン１４へと送り込まれた媒体Ｓは、ヘッド２１から吐出されたインクによって順次印刷される。プラテン１４は、ヘッド２１と対向して設けられ、印刷される媒体Ｓを下側から支持する。
【００５３】
印刷が施された媒体Ｓは、排紙ローラ１７Ｂにより順次、プリンタ部３０の外部へと排出される。排紙ローラ１７Ｂは、搬送モータ１５と同期に駆動されていて、当該排紙ローラ１７Ｂに対向して設けられたフリーローラ１８Ｂとの間に媒体Ｓを挟み込んで、媒体Ｓをプリンタ部３０の外部へと排出する。
【００５４】
＝＝＝操作パネル＝＝＝
図６は、このＳＰＣ複合装置１の操作パネル２を示したものである。  
操作パネル２は、そのほぼ中央部に液晶ディスプレイ８０を備えている。液晶ディスプレイ８０は、文字や画像の表示が可能である。液晶ディスプレイ８０の表示内容は、設定項目や設定状態、動作状態等に応じて変化する。
【００５５】
液晶ディスプレイ８０の左側には、報知ランプ８１と、電源ボタン８２と、各種設定ボタン８３と、モードボタン８４、８５、８６、８７と、給排紙ボタン８８とが設けられている。報知ランプ８１は、赤色ＬＥＤであり、エラー発生時に点灯してユーザーにエラー発生を報知する。電源ボタン８２は、ＳＰＣ複合装置１の電源をオン、オフするためのボタンである。各種設定ボタン８３は、ＳＰＣ複合装置１の各種設定を行うための画面を液晶ディスプレイ８０に表示するためのボタンである。モードボタン８４、８５、８６、８７は、それぞれＳＰＣ複合装置１のモードを設定するためのボタンである。ここでは、モードボタンとして、コピーモードボタン８４と、メモリカード印刷モードボタン８５と、フィルム印刷モードボタン８６と、スキャンモードボタン８７とが設けられている。ここで、例えば、コピーモードボタン８４が押されると、コピー枚数、倍率、用紙タイプ、用紙サイズ、コピー品質、コピーモード等の設定条件を入力するための画面が液晶ディスプレイ８０に表示される。給排紙ボタン８８は、ＳＰＣ複合装置１に媒体Ｓを給紙したり、ＳＰＣ複合装置１内の媒体Ｓを排紙したりするときに押される。
【００５６】
液晶ディスプレイ８０の右側には、ＯＫボタン８９Ａと、キャンセルボタン８９Ｂと、保存ボタン８９Ｃと、カラーコピーボタン８９Ｄと、モノクロコピーボタン８９Ｅと、ストップボタン８９Ｆと、十字ボタン８９Ｇと、メニューボタン８９Ｈとが設けられている。ＯＫボタン８９Ａが押されると、液晶ディスプレイ８０に表示されている内容にて設定条件が決定される。キャンセルボタン８９Ｂが押されると、設定条件がクリアされ、各設定項目がデフォルト値に変更される。保存ボタン８９Ｃが３秒間以上押し続けられると、設定値が記憶される。そして、保存ボタン８９Ｃが３秒以下で押されると、記憶された設定値が読み出され、その設定条件が液晶ディスプレイ８０に表示される。カラーコピーボタン８９Ｄは、カラーコピーを開始させるためのボタンである。モノクロコピーボタン８９Ｅは、モノクロコピーを開始させるためのボタンである。ストップボタン８９Ｆは、一旦開始したコピー動作を中止させるためのボタンである。十字ボタン８９Ｇは、その上下左右の４箇所を選択的に押すことが可能であり、１つのボタンで４つの機能（上ボタン、下ボタン、左ボタン及び右ボタンの機能）を果たす。メニューボタン８９Ｈは、液晶ディスプレイ８０に表示される設定項目を切り替える。
【００５７】
＝＝＝ヘッド＝＝＝
＜ヘッドの構成＞
図７Ａは、ヘッド２１の下面部に設けられたインクのノズルの配列を示した図である。ヘッド２１の下面部には、同図に示すように、イエロ（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）の各色ごとにそれぞれ複数のノズル♯１〜♯１８０からなるノズル列、即ちシアンノズル列２１１Ｃ、マゼンダノズル列２１１Ｍ、イエロノズル列２１１Ｙ、ブラックノズル列２１１Ｋが設けられている。
【００５８】
各ノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋの各ノズル♯１〜♯１８０（「液体吐出ノズル」に相当）は、所定の方向（ここでは、媒体Ｓの搬送方向）に沿って相互に間隔をあけて直線状に１列に配列されている。各ノズル♯１〜♯１８０の間隔（ノズル間隔）は、それぞれ「ｋ・Ｄ」に設定されている。ここで、『Ｄ』とは、搬送方向における最小のドットピッチ（つまり、媒体Ｓに形成されるドットの最高解像度での間隔）である。また、『ｋ』は、１以上の整数である。例えば、ノズルピッチが１２０ｄｐｉ（１／１２０インチ）であって、搬送方向のドットピッチが３６０ｄｐｉ（１／３６０インチ）である場合、ｋ＝３である。各ノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋは、ヘッド２１の移動方向（走査方向）に沿って相互に間隔をあけて平行に配置されている。各ノズル♯１〜♯１８０には、インク滴を吐出するための駆動素子としてピエゾ素子（図示外）が設けられている。
【００５９】
ピエゾ素子は、その両端に設けられた電極間に所定時間幅の電圧を印加すると、電圧の印加時間に応じて伸張し、インクの流路の側壁を変形させる。これによって、インクの流路の体積がピエゾ素子の伸縮に応じて収縮し、この収縮分に相当するインクが、インク滴となって各色のノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋの各ノズル♯１〜♯１８０から吐出される。
【００６０】
＜駆動回路＞
図７Ｂは、各ノズル♯１〜♯１８０の駆動回路２２０を示したものである。この駆動回路２２０は、同図に示すように、原駆動信号発生部２２１と、複数のマスク回路２２２とを備えている。原駆動信号発生部２２１は、各ノズル♯１〜♯１８０に共通して用いられる原駆動信号ＯＤＲＶを生成する。この原駆動信号ＯＤＲＶは、一画素分の主走査期間内（キャリッジ４１が一画素の間隔を横切る時間内）において、図中下部に示すように、第１パルスＷ１と第２パルスＷ２の２つのパルスを含む信号である。原駆動信号発生部２２１で生成された原駆動信号ＯＤＲＶは、各マスク回路２２２に出力される。
【００６１】
マスク回路２２２は、ヘッド２１のノズル♯１〜♯１８０をそれぞれ駆動する複数のピエゾ素子に対応して設けられている。各マスク回路２２２には、原駆動信号発生部２２１から原駆動信号ＯＤＲＶが入力されるとともに、印刷信号ＰＲＴ（ｉ）が入力される。この印刷信号ＰＲＴ（ｉ）は、画素に対応する画素データであり、一画素に対して２ビットの情報を有する２値信号である。その各ビットは、それぞれ第１パルスＷ１と第２パルスＷ２とに対応している。マスク回路２２２は、印刷信号ＰＲＴ（ｉ）のレベルに応じて、原駆動信号ＯＤＲＶを遮断したり通過させたりするためのゲートである。すなわち、印刷信号ＰＲＴ（ｉ）がレベル『０』のときには、原駆動信号ＯＤＲＶのパルスを遮断する一方、印刷信号ＰＲＴ（ｉ）がレベル『１』のときには、原駆動信号ＯＤＲＶの対応するパルスをそのまま通過させて実駆動信号ＤＲＶとして、各ノズル♯１〜♯１８０のピエゾ素子に向けて出力する。各ノズル♯１〜♯１８０のピエゾ素子は、マスク回路２２２からの実駆動信号ＤＲＶに基づき駆動してインクの吐出を行う。
【００６２】
＜各信号波形＞
図７Ｃは、原駆動信号発生部２２１の動作を示す原駆動信号ＯＤＲＶ、印刷信号ＰＲＴ（ｉ）、実駆動信号ＤＲＶ（ｉ）のタイミングチャートである。同図に示すように、原駆動信号ＯＤＲＶは、各画素区間Ｔ１、Ｔ２、Ｔ３、Ｔ４において、第１パルスＷ１と第２パルスＷ２とを順に発生する。なお、画素区間とは、一画素分のキャリッジ４１の移動区間と同じ意味である。
【００６３】
ここで、印刷信号ＰＲＴ（ｉ）が２ビットの画素データ『１０』に対応しているとき、第１パルスＷ１のみが一画素区間の前半で出力される。これにより、ノズル♯１〜♯１８０から小さいインク滴が吐出され、媒体Ｓには小さいドット（小ドット）が形成される。また、印刷信号ＰＲＴ（ｉ）が２ビットの画素データ『０１』に対応しているとき、第２パルスＷ２のみが一画素区間の後半で出力される。これにより、ノズル♯１〜♯１８０から中サイズのインク滴が吐出され、媒体Ｓには、中サイズのドット（中ドット）が形成される。また、印刷信号ＰＲＴ（ｉ）が２ビットの画素データ『１１』に対応しているとき、第１パルスＷ１と第２パルスＷ２とが一画素区間で出力される。これにより、ノズル♯１〜♯１８０から大きいサイズのインク滴が吐出され、媒体Ｓには、大きいサイズのドット（大ドット）が形成される。以上説明したとおり、一画素区間における実駆動信号ＤＲＶ（ｉ）は、印刷信号ＰＲＴ（ｉ）の３つの異なる値に応じて互いに異なる３種類の波形を有するように整形され、これらの信号に基づいてヘッド２１は、３種類のサイズのドットを形成し、また画素区間内にて吐出するインク量を調整することが可能である。また、画素区間Ｔ４のように、印刷信号ＰＲＴ（ｉ）が２ビットの画素データ『００』に対応しているときには、ノズル♯１〜♯１８０からインク滴が吐出されず、媒体には、ドットが形成されないことになる。
【００６４】
本実施形態に係るインクジェットプリンタ１では、このようなノズル♯１〜♯１８０の駆動回路２２０が、各ノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋごと、即ち、イエロ（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）の各色ごとに各々個別に設けられ、各ノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋの各ノズル♯１〜１８０ごとに個別にピエゾ素子の駆動が行われるようになっている。
【００６５】
＝＝＝印刷動作＝＝＝
次に前述したインクジェットプリンタ１の印刷動作について説明する。ここでは、「双方向印刷」を例にして説明する。図８は、ＳＰＣ複合装置１の印刷動作の処理手順の一例を示したフローチャートである。ここでは、印刷動作は、制御部５０がプログラムに従って、リニア式エンコーダ（リニア式エンコーダ符号板５１および検出部５２）やロータリー式エンコーダ５６、紙検知センサ５３などのセンサからの情報に基づき、搬送モータ１５やキャリッジモータ４２、ヘッド２１の駆動回路２２０などを各々制御することにより実行される。
【００６６】
制御部５０は、印刷処理を実行する際に、まず、給紙処理を行う（Ｓ１０２）。給紙処理は、印刷しようとする媒体Ｓをインクジェットプリンタ１内に供給し、印刷開始位置（頭出し位置とも言う）まで搬送する処理である。制御部５０は、給紙ローラ１３を回転させて、印刷しようとする媒体Ｓを搬送ローラ１７Ａまで送る。制御部５０は、搬送ローラ１７Ａを回転させて、給紙ローラ１３から送られてきた媒体Ｓを印刷開始位置（プラテン１４の上方付近）に位置決めする。
【００６７】
次に、制御部５０は、キャリッジモータ４２を駆動して、キャリッジ４１を媒体Ｓに対して相対的に移動させて媒体Ｓに対して印刷を施す印刷処理を実行する。ここでは、まず、キャリッジ４１をガイドレール４６に沿って一の方向に向かって移動させながら、ヘッド２１からインクを吐出する往路印刷を実行する（Ｓ１０４）。制御部５０は、キャリッジモータ４２を駆動してキャリッジ４１を移動させるとともに、ヘッド２１の駆動回路２２０を駆動してヘッド２１の各ノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋの各ノズル♯１〜♯１８０からインクを吐出する。ヘッド２１から吐出されたインクは、媒体Ｓに到達して媒体Ｓ上にドットとして形成される。
【００６８】
このようにして印刷を行った後、次に、制御部５０は、媒体Ｓを所定量だけ搬送する搬送処理を実行する（Ｓ１０６）。ここでは、制御部５０は、搬送モータ１５を駆動して搬送ローラ１７Ａを回転させて、媒体Ｓをヘッド２１に対して相対的に搬送方向に所定量だけ搬送する。この搬送処理により、ヘッド２１は、先ほどの印刷した領域とは異なる領域に印刷をすることが可能になる。
【００６９】
このようにして搬送処理を行った後、制御部５０は、排紙すべきか否か排紙判断を実行する（Ｓ１０８）。ここで、制御部５０は、印刷中の媒体Ｓに印刷すべき他のデータがなければ、排紙処理を実行する（Ｓ１１６）。一方、制御部５０は、印刷中の媒体Ｓに印刷すべき他のデータがあれば、排紙処理は行わずに、復路印刷を実行する（Ｓ１１０）。この復路印刷は、キャリッジ４１をガイドレール４６に沿って先ほどの往路印刷とは反対の方向に移動させて印刷を行う。ここでも、制御部５０は、キャリッジモータ４２を先ほどとは逆に回転駆動させてキャリッジ４１を移動させるとともに、ヘッド２１の駆動回路２２０を駆動してヘッドの各ノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋの各ノズル♯１〜♯１８０からインクを吐出して印刷をする。
【００７０】
復路印刷を実行した後、搬送処理を実行し（Ｓ１１２）、その後、排紙判断を行う（Ｓ１１４）。ここで、印刷中の媒体Ｓに印刷すべき他のデータがあれば、排紙処理は行わずに、ステップＳ１０４に戻って、再度往路印刷を実行する（Ｓ１０４）。一方、印刷中の媒体Ｓに印刷すべき他のデータがなければ、排紙処理を実行する（Ｓ１１６）。
【００７１】
排紙処理を行った後、次に、印刷終了か否かを判断する印刷終了判断を実行する（Ｓ１１８）。ここでは、次に印刷すべき媒体Ｓがないかどうかチェックする。ここで、次に印刷すべき媒体Ｓがある場合には、ステップＳ１０２に戻り、再び給紙処理を実行して、印刷を開始する。一方、次に印刷すべき媒体Ｓがない場合には、印刷処理を終了する。
【００７２】
＝＝＝制御部５０の構成および処理＝＝＝
以下に制御部５０の構成および処理について説明する。ここでは、本実施形態の制御部５０について、従来の制御部４９の構成および処理と対比しながら説明する。まず、従来の制御部４９の構成および処理について説明する。
【００７３】
＜従来の構成＞
（Ａ）構成の概要
図９は、従来の制御部４９の構成を示したブロック構成図である。従来の制御部４９は、ＳＰＣ複合装置１全体の制御を司るＣＰＵ９０と、制御のためのプログラムを記憶したメモリ９２と、スキャナ機能、プリント機能、ローカルコピー機能の各制御を司るＡＳＩＣ９４と、ＣＰＵ９０から直接データを読み書き可能なＳＤＲＡＭ９６と、入力手段としての操作パネル２とがＣＰＵバス９８によって繋がっている。ＡＳＩＣ９４には、スキャナ部１０、ヘッドユニット１００、およびＡＳＩＣ９４からデータの読み書きが可能なＡＳＩＣ用ＳＤＲＡＭ１０２と、このＡＳＩＣ用ＳＤＲＡＭ１０２をコントロールするＳＤＲＡＭコントローラ１０３とが設けられている。この制御部４９は、ＳＰＣ複合装置１の各種制御を行うための制御部（コントローラ）となる。
【００７４】
ＡＳＩＣ９４は、スキャナコントロールユニット１０４と、リサイズユニット１０６と、２値化処理ユニット１０８と、インターレース処理ユニット１１０と、イメージバッファユニット１１２と、バスコントローラ１１４と、ヘッドコントロールユニット１１６と、外部のホストコンピュータ１４０との入出力手段としてのＵＳＢインターフェイス１１８と、スキャナ部１０及びプリンタ部３０が備える各モータやランプ等のドライバ（図示外）とを備えている。
【００７５】
また、ＡＳＩＣ用ＳＤＲＡＭ１０２には、ラインバッファ１２０、リサイズバッファ１２２、インターレースバッファ１２４、イメージバッファ１２６、１２７がそれぞれ設けられている。ＡＳＩＣ９４とＳＤＲＡＭコントローラ１０３（ＡＳＩＣ用ＳＤＲＡＭ１０２）との間では、データ転送の高速化を図るためにデータの転送単位を６４ビットとする、いわゆるバースト転送が行われる。ＡＳＩＣ９４内の各ユニット１０４、１０６、１０８、１１０、１１２、１１４およびＳＤＲＡＭコントローラ１０３は、ローカルバス１２８を介して接続されている。
【００７６】
スキャナコントロールユニット１０４は、スキャナ部１０が備える露光ランプ６６、ＣＣＤセンサ７２、スキャナ用キャリッジ６０の駆動モータ７７等を制御する。スキャナコントロールユニット１０４は、ＣＣＤセンサ７２を介して読み込んだ画像データを送出する機能を有する。ここでは、Ｒ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）の３色からなるＲＧＢ画像を送出する。スキャナコントロールユニット１０４は、原稿５から読み取った画像のデータをＡＳＩＣ用ＳＤＲＡＭ１０２に割り振られたラインバッファ１２０に一旦格納する。そして、ラインバッファ１２０に格納された画像データには、ライン間補正処理が施される。このライン間補正処理とは、スキャナ部１０に構造上発生するＲ、Ｇ、Ｂの各リニアセンサ間の読み取り位置のズレを補正する処理である。つまり、スキャナ部１０が有するＣＣＤセンサ７２は、カラーセンサでありＲ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）の３色に対し色毎に１ラインずつのリニアセンサを有している。これら３本のリニアセンサは、スキャナ用キャリッジ６０の移動方向に平行に並べられているため、原稿５の同一ラインに照射された反射光を同時に受光することができない。すなわち、原稿５の同一ラインに照射された反射光が各リニアセンサに受光される際には、時間的なズレが生じることになる。このため、リニアセンサの配列に伴う遅延時間分だけ遅れて送られてくるデータを同期させるための処理である。スキャナコントロールユニット１０４は、このようなライン間補正処理が施された画像データを、多階調のＲＧＢ画像データ（例えば、２５６階調のＲＧＢ画像データ）として出力する。なお、ここでスキャナコントロールユニット１０４からは、スキャナ部１０の読み取り解像度等に応じた所定の解像度、例えば、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）等の画像データが出力される。
【００７７】
リサイズユニット１０６は、所定のサイズの画像データを受け取り、その画像データのサイズを変更し、サイズ変更された画像データを送出する機能を有する。ここで、画像データのサイズとは、その画像の縦横の画素の数である。縦横の画素の数が多ければ画像は大きく、縦横の画素の数が少なければ画像は小さい。但し、実際に印刷される画像は、画素の数が多くても、印刷解像度に応じて大きさが異なる。例えば、同じ画素数であっても、２００ｄｐｉ×２００ｄｐｉの画像データは、１４４０ｄｐｉ×７２０ｄｐｉの画像データよりも大きい画像データである。すなわち、画像データのサイズの変更とは、解像度を変更することでもある。
【００７８】
２値化処理ユニット１０８は、送出された多階調のＲＧＢ画像データをＣＭＹＫの２値データ（又は２ビットデータ）に変換する、いわゆるハーフトーン処理を実行する。このとき、２値化処理ユニット１０８は、ＡＳＩＣ用ＳＤＲＡＭ１０２内に格納されているルックアップテーブル１３６（ＬＵＴ）に基づいて、多階調のＲＧＢ画像データをＣＭＹＫの２値データ（又は２ビットデータ）に変換する。このようにして２値化処理ユニット１０８により変換されて生成されたＣＭＹＫの２値データ（又は２ビットデータ）は、インターレース処理ユニット１１０へと送信される。
【００７９】
インターレース処理ユニット１１０は、２値化処理ユニットから送られてきたＣＭＹＫの２値データ（又は２ビットデータ）を、ＡＳＩＣ側ＳＤＲＡＭ１０２に設けられたインターレースバッファ１２４に格納する。そして、インターレース処理ユニット１１０は、インターレースバッファ１２４に格納されたＣＭＹＫの２値データ（又は２ビットデータ）を、インターレース処理ユニット１１０内のＳＲＡＭ１３０に所定のサイズ毎に読み出して、ＳＲＡＭ１３０上で、ノズル配列に対応させるべく並び替えてイメージバッファユニット１１２に送出する。
【００８０】
イメージバッファユニット１１２では、インターレース処理ユニット１１０から送出されたデータから、プリンタ用のキャリッジ４１の移動毎の各ノズルにインクを吐出させるためのヘッド駆動データを生成する機能を有する。ここでイメージバッファユニット１１２は、ＳＤＲＡＭ１０２上に設けられたイメージバッファ１２６、１２７にヘッド駆動データを格納する。イメージバッファ１２６、１２７には、それぞれプリンタ用のキャリッジ４１が１回移動する毎のヘッド駆動データが格納される。
【００８１】
バスコントローラ１１４は、ＡＳＩＣ９４に接続されたＡＳＩＣ用ＳＤＲＡＭ１０２へのＣＰＵ９０からのアクセスを可能とする機能を有している。制御部４９においては、イメージバッファ１２６、１２７により生成されたヘッド駆動データに基づいてヘッドコントロールユニット１１６を駆動する場合等に利用されている。
【００８２】
ヘッドコントロールユニット１１６は、ＣＰＵ９０の制御によりヘッド駆動データに基づいてヘッド２１を駆動し、ヘッド２１の各ノズル♯１〜♯１８０からインクを吐出させる機能を有する。
【００８３】
（Ｂ）制御部内でのデータの流れ
《１》スキャナ機能時のデータの流れ
ＡＳＩＣ９４のＵＳＢインターフェイス１１８に接続されたホストコンピュータ１４０から、スキャナ部１０による画像読み取り指令信号と、読み取り解像度、読み取り領域等の読み取り情報データとが制御部４９に送信される。制御部４９では、画像読み取り指令信号と読み取り情報データとに基づいて、スキャナコントロールユニット１０４が制御され、スキャナ部１０による原稿５の読み取りが開始される。このとき、スキャナコントロールユニット１０４では、ランプ駆動ユニット、ＣＣＤ駆動ユニット、スキャナ用キャリッジ移動駆動ユニット等が駆動され、所定の周期にてＣＣＤセンサ７２からＲＧＢデータが読み込まれる。読み込まれたＲＧＢデータは、ＡＳＩＣ用ＳＤＲＡＭ１０２に設けられたラインバッファ１２０に一旦蓄えられ、Ｒ、Ｇ、Ｂの各データのライン間補正処理が施される。これにより、ＲＧＢ画像データが生成される。生成されたＲＧＢ画像データは、ＵＳＢインターフェース１１８を介してホストコンピュータ１４０に送出される。
【００８４】
《２》プリンタ機能時のデータの流れ
プリンタ機能時には、ホストコンピュータ１４０のプリンタドライバが画像データをヘッド駆動データに変換し、ヘッド駆動データがＵＳＢインターフェース１１８から入力される。このヘッド駆動データは、例えば、インターレース方式の印刷をする場合には、印刷する画像の解像度とプリンタ用のキャリッジ４１のノズル列２１１Ｃ、２１１Ｍ、２１１Ｙ、２１１Ｋが有するノズル♯１〜♯１８０のピッチ及び数に対応させたラスタデータを抽出し、プリンタ用のキャリッジ４１の移動毎に印刷する順に並び換え、ヘッドユニット１００を駆動するための信号となるデータである。
【００８５】
ヘッド駆動データは、ＣＰＵバス９８に接続されたＳＤＲＡＭ９６に割り付けられたイメージバッファ１３２に記憶される。イメージバッファ１３２は、２つに分けられたメモリ領域（イメージバッファ１３３、１３４）を備えている。各イメージバッファ１３３、１３４は、プリンタ用のキャリッジ４１の１回の移動により印刷するためのヘッド駆動データを記憶することができる容量を有する。そして、一方のイメージバッファ１３３に１回の移動分のデータが書き込まれると、ヘッドコントロールユニット１１６に転送される。このとき、一方のイメージバッファ１３３のイメージデータがヘッドコントロールユニット１１６に転送されると、他方のイメージバッファ１３４には次の移動の際に印刷するためのヘッド駆動データが記憶される。そして他方のイメージバッファ１３４に１回の移動分のデータが書き込まれると、ヘッドコントロールユニット１１６に転送され、前記一方のイメージバッファ１３３にイメージデータが書き込まれる。このように、２つのイメージバッファ１３３，１３４を用いて、ヘッド駆動データの書き込み、読み出しを交互に行いながらヘッドコントロールユニット１１６にてヘッド２１が駆動されて印刷が実行される。
【００８６】
《３》コピー機能時のデータの流れ
次に、コピー機能時におけるデータの流れを説明する。コピー機能時には、原稿台にセットされた原稿が、スキャナ部１０により読み込まれる。スキャナ部１０により読み込まれた画像のデータは、スキャナコントロールユニット１０４を介してラインバッファ１２０に取り込まれる。ラインバッファ１２０に取り込まれたＲＧＢデータは、前述したＲＧＢのライン間補正処理が順次施されて、ＲＧＢ画像データとしてスキャナコントロールユニット１０４から２値化処理ユニット１０８へと順次送り込まれる。
【００８７】
２値化処理ユニット１０８は、送られてきたＲＧＢ画像データをハーフトーン処理する。ここで、２値化処理ユニット１０８は、ＳＤＲＡＭ１０２内のルックアップテーブル１３６（ＬＵＴ）に基づいて、ＲＧＢ画像データをＣＭＹＫの色毎の２値データに変換する。２値化処理ユニットにより変換されたＣＭＹＫの２値データは、インターレース処理ユニット１１０へと送られる。
【００８８】
インターレース処理ユニット１１０に送り込まれたＣＭＹＫの２値データは、ＡＳＩＣ側ＳＤＲＡＭ１０２に設けられたインターレースバッファ１２４に格納される。インターレースバッファ１２４に格納されたＣＭＹＫの２値データは、インターレース処理ユニット１１０内のＳＲＡＭ１３０に所定のサイズ毎に読み出されて、ＳＲＡＭ１３０上にてノズル配列に対応させるべく並び替えられて、インターレース処理ユニット１１０からイメージバッファユニット１１２へと送出される。
【００８９】
イメージバッファユニット１１２では、ＳＲＡＭ１３０の容量により細かくブロック化された画像データをイメージバッファ１２６、１２７にバースト転送する。ここで、イメージバッファユニット１１２は、プリンタ用のキャリッジ４１の移動毎の各ノズル♯１〜♯１８０にインクを吐出させるためのヘッド駆動データを生成する。
【００９０】
イメージバッファ１２６、１２７のヘッド駆動データは、ＣＰＵ９０に制御されてバスコントローラ１１４を介してＣＰＵ９０に読み込まれ、ＣＰＵ９０によりヘッドコントロールユニット１１６に転送される。ヘッドコントロールユニット１１６によりヘッド駆動データに基づいてヘッドユニット１００が駆動されて、媒体Ｓに画像が印刷される。
【００９１】
通常のコピー動作時には、ＲＧＢの画像データがスキャナコントロールユニット１０４によって読み込まれてからＣＭＹＫのヘッド駆動データがイメージバッファ１２６、１２７に書き込まれるまでの間、ＣＰＵ９０による演算を必要とするレイアウト処理は行われていない。つまり、ＲＧＢ画像データをＣＭＹＫのヘッド駆動データへ変換する処理は、ＣＰＵ９０を必要とせず、ＡＳＩＣ９４を中心に処理されている。そのため、この処理の間、ＡＳＩＣ用ＳＤＲＡＭ１０２とＣＰＵ用のＳＤＲＡＭ９６との間でデータを受け渡さなくても良い。すなわち、ローカルバス１２８のみを用いてＡＳＩＣ９４とＡＳＩＣ用ＳＤＲＡＭ１０２との間でデータが送出されるので、ＣＰＵバス９８はほとんど用いられない。このため、処理が早くなり、コピー速度を高めることができる。
【００９２】
＜本実施形態の制御部＞
（Ａ）構成の概要
図１０は、本実施形態の制御部５０の構成を示したブロック構成図である。従来の制御部５０は、従来の場合と同様に、ＳＰＣ複合装置１全体の制御を司るＣＰＵ９０と、制御のためのプログラムを記憶したメモリ９２と、スキャナ機能、プリント機能、ローカルコピー機能の各制御を司るＡＳＩＣ９５と、ＣＰＵ９０から直接データを読み書き可能なＳＤＲＡＭ９６と、入力手段としての操作パネル２とがＣＰＵバス９８によって接続されている。ＡＳＩＣ９５には、スキャナ部１０、ヘッドユニット１００、およびＡＳＩＣ９５がデータの読み書きが可能なＡＳＩＣ用ＳＤＲＡＭ１０２と、このＡＳＩＣ用ＳＤＲＡＭ１０２をコントロールするＳＤＲＡＭコントローラ１０３とが設けられている。つまり、この制御部５０は、ＳＰＣ複合装置１の各種制御を行うための制御部（コントローラ）となっている。ただし、ここで搭載されるＡＳＩＣ９５は、従来のＡＳＩＣ９４と構成が異なっている。このＡＳＩＣ９５の構成について詳しく説明する。
【００９３】
ＡＳＩＣ９５は、同図に示すように、従来と同様、スキャナコントロールユニット１０４と、イメージバッファユニット１１２と、バスコントローラ１１４と、ヘッドコントロールユニット１１６と、ＵＳＢインターフェイス１１８とを備えている。この他に、ＡＳＩＣ９５は、従来のリサイズユニット１０６、２値化処理ユニット１０８およびインターレースユニット１１０に代えて、色変換処理ユニット１８０と、多値化処理ユニット１８２と、ドット形成用データ生成ユニット１８４とを備えている。これら色変換処理ユニット１８０、多値化処理ユニット１８２およびドット形成用データ生成ユニット１８４は、従来のリサイズユニット１０６、２値化処理ユニット１０８およびインターレースユニット１１０とは異なる処理を行う。一方、スキャナコントロールユニット１０４、バスコントローラ１１４、ヘッドコントロールユニット１１６およびＵＳＢインターフェイス１１８については、従来の場合と同様の処理を行う。
【００９４】
なお、ＡＳＩＣ９５に設けられた各ユニット、即ちスキャナコントロールユニット１０４やイメージバッファユニット１１２と、バスコントローラ１１４、ヘッドコントロールユニット１１６、ＵＳＢインターフェイス１１８、色変換処理ユニット１８０、多値化処理ユニット１８２、ドット形成用データ生成ユニット１８４は、それぞれ各種処理回路により構成されたもので、ハードウェアにより実現されたものである。
【００９５】
また、多値化処理ユニット１８２は、「多値化処理部」に相当し、ドット形成用データ生成ユニット１８４は、「ドット形成用データ生成部」に相当する。
【００９６】
また、ＡＳＩＣ用ＳＤＲＡＭ１０２には、従来と同様、ラインバッファ１２０と、ルックアップテーブル１３６（ＬＵＴ）と、イメージバッファ１２６、１２７とが設けられている。この他に、ＡＳＩＣ用ＳＤＲＡＭ１０２には、従来のリサイズバッファ１２２およびインターレースバッファ１２４に代えて、多値階調値データバッファ１８８と、ドット形成用データバッファ１９０とが設けられている。以下に、色変換処理ユニット１８０、多値化処理ユニット１８２およびドット形成用データ生成ユニット１８４について詳しく説明する。
【００９７】
色変換処理ユニット１８０は、スキャナコントロールユニット１０４から出力された所定の解像度（例えば、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦））のＲＧＢ画像データを、プリンタ部３０が有するインクの色に対応したＣＭＹＫ色空間により表されるＣＭＹＫ画像データに変換する処理を行う。ここで、色変換処理ユニット１８０は、ＲＧＢ画像データの各画素の各色（ここでは、Ｒ(レッド)、Ｇ(グリーン)およびＢ(ブルー)の３色）の階調値と、ＣＭＹＫ画像データの各画素の各色（ここでは、例えば、Ｃ(シアン)、Ｍ(マゼンダ)、Ｙ(イエロ)およびＫ(ブラック)の４色）の階調値とを対応づけた色変換テーブルＬＵＴを使用して色変換処理を行う。この色変換処理によって、Ｃ(シアン)、Ｍ(マゼンダ)、Ｙ(イエロ)およびＫ(ブラック)の各色２５６階調のＣＭＹＫ画像データが生成される。色変換処理ユニット１８０は、スキャナコントロールユニットから送られてきたＲＧＢ画像データに対して１画素ずつ順次色変換処理を行って、１画素ずつＣＭＹＫ画像データを多値化処理ユニット１８２へと送出する。
【００９８】
多値化処理ユニット１８２は、色変換処理ユニット１８０により生成されたＣＭＹＫ画像データの各画素の各色の階調値をそれぞれ多値化処理して多値階調値データに変換する。この変換にあって、多値化処理ユニット１８２は、ＣＭＹＫ画像データの各画素の各色の階調値を各画素の各色毎にそれぞれ、媒体Ｓに印刷する際の解像度（出力解像度）に応じて多値階調値データに変換する。ここで行われる多値化処理については、後で詳しく説明する。この多値化処理によって生成された多値階調値データは、多値化処理ユニット１８２によって、ＡＳＩＣ用ＳＤＲＡＭ１０２に設けられた多値階調値データバッファ１８８に格納される。
【００９９】
ドット形成用データ生成ユニット１８４は、多値化処理ユニット１８２により生成された多値階調値データを多値階調値データバッファ１８８から取得する。そして、ドット形成用データ生成ユニット１８４は、その取得した多値階調値データに基づき、媒体Ｓに印刷される画像（出力画像）のドット形成用データを生成する。ここで行われるドット形成用データの生成処理については、後で詳しく説明する。ドット形成用データ生成ユニット１８４は、生成したドット形成用データを、ＡＳＩＣ用ＳＤＲＡＭ１０２に設けられたドット形成用データバッファ１９０に格納する。
【０１００】
ドット形成用データバッファ１９０に格納されたドット形成用データは、イメージバッファユニット１１２により読み取られる。イメージバッファユニット１１２は、ドット形成用データバッファ１９０から取得したドット形成用データを、イメージバッファ１２６、１２７に転送して、プリンタ用のキャリッジ４１の移動毎の各ノズルにインクを吐出させるためのヘッド駆動データを生成する。イメージバッファ１２６、１２７には、それぞれプリンタ用のキャリッジ４１が１回移動する毎のヘッド駆動データが格納される。
【０１０１】
これらイメージバッファ１２６、１２７に格納されたヘッド駆動データは、従来の場合と同様に、バスコントローラ１１４を介してＣＰＵ９０に読み込まれ、ＣＰＵ９０によりヘッドコントロールユニット１１６に転送される。
【０１０２】
（Ｂ）制御部内でのデータの流れ
《１》スキャナ機能時のデータの流れ
スキャナ機能時のデータの流れについては、従来と同様である。すなわち、ホストコンピュータ１４０から、スキャナ部１０による画像読み取り指令信号と、読み取り解像度、読み取り領域等の読み取り情報データとが制御部４９に送信されると、制御部５０は、画像読み取り指令信号と読み取り情報データとに基づき、スキャナ部１０により原稿５の読み取りを開始する。このとき、スキャナコントロールユニット１０４では、ＣＣＤセンサ７２からＲＧＢデータが読み込まれる。読み込まれたＲＧＢデータは、ＡＳＩＣ用ＳＤＲＡＭ１０２に設けられたラインバッファ１２０に一旦蓄えられ、Ｒ、Ｇ、Ｂの各データのライン間補正処理が施され、その後、ＲＧＢ画像データとして、ＵＳＢインターフェース１１８を介してホストコンピュータ１４０に送出される。
【０１０３】
《２》プリンタ機能時のデータの流れ
プリンタ機能時のデータの流れについては、従来と同様である。すなわち、ホストコンピュータから送られてきたヘッド駆動データは、ＣＰＵバス９８に接続されたＳＤＲＡＭ９６に割り付けられたイメージバッファ１３２に記憶される。各イメージバッファ１３３、１３４は、プリンタ用のキャリッジ４１の１回の移動により印刷するためのヘッド駆動データを記憶することができる容量を有し、各イメージバッファ１３３、１３４に格納されたヘッド駆動データは、ヘッドコントロールユニット１１６に転送される。ヘッドコントロールユニット１１６は、転送されてきたヘッド駆動データに基づき、ヘッド２１を駆動して印刷処理を実行する。
【０１０４】
《３》コピー機能時のデータの流れ
コピー機能時においては、次のようなデータの流れとなる。コピー機能時には、スキャナ部１０により原稿台１１に置かれた原稿５の画像が読み取られる。スキャナコントロールユニット１０は、スキャナ部１０により読み取られた画像データに対して、ライン間補正処理等を施してＲＧＢ画像データとして色変換処理ユニット１８０へと送出する。
【０１０５】
色変換処理ユニット１８０へと送られてきたＲＧＢ画像データは、色変換処理ユニット１８０により色変換テーブルＬＵＴの参照によりＣＭＹＫ画像データに変換される。色変換処理ユニット１８０により生成されたＣＭＹＫ画像データは、多値化処理ユニット１８２へと送られる。
【０１０６】
多値化処理ユニット１８２に送られてきたＣＭＹＫ画像データは、多値化処理ユニット１８２におり多値化処理されて多値階調値データに変換される。この変換により生成された多値階調値データは、多値化処理ユニット１８２によりＡＳＩＣ用ＳＤＲＡＭ１０２上の多値階調値データバッファ１８８に格納される。多値階調値データバッファ１８８に格納された多値階調値データは、ドット形成用データ生成ユニット１８４により読み取られる。
【０１０７】
ドット形成用データ生成ユニット１８４により読み取られた多値階調値データは、順次、媒体Ｓに印刷される画像（出力画像）のドット形成用データに変換される。この変換により生成されたドット形成用データは、ＡＳＩＣ用ＳＤＲＡＭ１０２上のドット形成用データバッファ１９０に格納される。
【０１０８】
ドット形成用データバッファ１９０に格納されたドット形成用データは、イメージバッファユニット１１２により順次読み取られ、イメージバッファユニット１１２によりイメージバッファ１２６、１２７にヘッド駆動データとして格納される。イメージバッファ１２６、１２７に格納されたヘッド駆動データは、バスコントローラ１１４を介してＣＰＵ９０に読み込まれる。ＣＰＵ９０により読み込まれたヘッド駆動データは、ヘッドコントロールユニット１１６へと転送される。ヘッドコントロールユニット１１６へと転送されたヘッド駆動データは、順次ヘッド２１へと送出されて、印刷処理が実行される。
【０１０９】
＝＝＝多値化処理ユニット＝＝＝
以下に多値化処理ユニット１８２により実行される多値化処理について説明する。
【０１１０】
＜多値化処理＞
多値化処理ユニット１８２は、色変換処理ユニット１８０により生成されたＣＭＹＫ画像データの各画素の各色の階調値をそれぞれ多値化処理して多値階調値データに変換する。この変換にあっては、多値化処理ユニット１８２は、ＣＭＹＫ画像データの各画素の各色の階調値を各画素の各色毎にそれぞれ、媒体Ｓに印刷する際の解像度（出力解像度）に応じて多値階調値データに変換する。
【０１１１】
図１１は、このときの多値化処理ユニット１８２の処理手順の一例を説明したものである。多値化処理ユニット１８２は、同図にて説明するように、まず、ＣＭＹＫ画像データの各画素の階調値と、各画素の分類番号とを取得する（Ｓ１５０）。ここで、分類番号については、後で詳しく説明する。次に、多値化処理ユニット１８２は、ステップＳ１５２へと進み、取得した階調値と分類番号とに基づき、多値階調値データを取得する。ここで、多値化処理ユニット１８２は、多値階調値データが分類番号別に各階調値にそれぞれ対応付けられた多値化テーブルを用いて、多値階調値データを取得する。多値化テーブルについては、後で詳しく説明する。そして、多値化処理ユニット１８２は、取得した多値階調値データを、ＣＭＹＫ画像データの画素の階調値に対応する多値階調値データとして出力する（Ｓ１５４）。このようにして変換処理を終了した後、多値化処理ユニット１８２は、次に変換すべき画素がないかどうかチェックする（Ｓ１５６）。ここで、次に変換すべき画素がある場合には、多値化処理ユニット１８２は、ステップＳ１５０へと戻り、再度、変換対象となる画素の階調値について、多値階調値データに変換する処理を実行する。このような処理を多値化処理ユニット１８２は、変換すべき画素がなくなるまで実行する。次に変換すべき画素がない場合には、多値化処理ユニット１８２は、処理を速やかに終了する。
【０１１２】
＜多値化テーブル＞
図１２Ａは、画素の階調値と分類番号とに基づき、多値階調値データを取得する際に使用される多値化テーブルの一例を概念的に示した説明図である。多値化テーブルは、同図に示すように、多値階調値データが画素の分類番号毎にそれぞれ画素の階調値別に各々対応付けられて設定されたテーブルである。多値化テーブルは、例えば、同図に示すように、縦方向に『画素の分類番号』が、横方向に『画素の階調値』が設定され、『分類番号』と『階調値』とからそれぞれ対応する多値階調値データを導き出せるようになっている。ここで、『階調値』は、『０』〜『２５５』までの２５６階調にて表されている。また、『分類番号』は、ＣＭＹＫ画像データの各画素ごとにそれぞれ割り振られる番号であり、ここでは、『１』〜『１０２４』の番号が割り振られている。多値階調値データは、これら『０』〜『２５５』の各階調値と、『１』〜『１０２４』の各分類番号とに応じて、『０』〜『３１』の値を取るようになっている。多値階調値データは、画素の階調値が増加するに従って段階的に増加するようになっている。
【０１１３】
本実施形態では、このような多値化テーブルに関するデータがＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納されている。多値化処理ユニット１８２は、色変換処理ユニット１８０から送られてきたＣＭＹＫ画像データの各画素の各色の階調値を多値化処理する際に、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納された多値化テーブルを参照して、多値階調値データを生成する。
【０１１４】
なお、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納される多値化テーブルに関するデータは、例えば、ＳＰＣ複合装置１に搭載されたＲＯＭ９２等の不揮発性メモリに格納されていて、多値化処理ユニット１８２が多値化処理を実行する際に、ＲＯＭ９２等の不揮発性メモリから読み出されて、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納される。
【０１１５】
＜多値化段数＞
図１２Ｂは、画素の階調値が増加するに従って多値階調値データが段階的に増加していく様子を例示した説明図である。ここでは、同図に示すように、横軸に画素の階調値を取り、縦軸に多値階調値データを取った折れ線グラフにて、画素の階調値に対する多値階調値データを示している。分類番号Ｎ１〜Ｎ５は、それぞれ異なる分類番号を表す。これら分類番号Ｎ１〜Ｎ５に対応する５つの画素についての多値化結果を示している。なお、ここで、各分類番号Ｎ１〜Ｎ５の折れ線が重なって判別し難くなることを避けるために、多値階調値データの原点位置を縦軸方向に少しずつ、ずらして表示している。
【０１１６】
図中、太い実線で示した分類番号Ｎ１について説明する。画素の階調値が『０』〜『４』の範囲では、多値階調値データは、「０」であるが、画素の階調値が『５』〜『２０』の範囲では、多値階調値データは、「１」に増加する。また、画素の階調値が『２１』〜『４２』の範囲では、多値階調値データは「２」に増加する。また、画素の階調値が『４３』〜『６９』の範囲では、多値階調値データは「３」に増加する。このように、画素の階調値が増加するに従って、多値階調値データも段階的に増加する。そして、最終的には、多値階調値データは「１５」まで増加する。すなわち、分類番号Ｎ１については、階調値『０』〜『２５５』の範囲を取り得る画素の階調値を、階調値『０』〜『１５』までの１６段階に多値化（言わば、１６値化）していることになる。
【０１１７】
同様に、図中で太い破線で示した分類番号Ｎ２や、太い一点鎖線で示した分類番号Ｎ３については、階調値『０』〜『２５５』の範囲を取り得る画素の階調値を、階調値『０』〜『１７』までの１８段階に多値化（言わば、１８値化）している。更に、細い実線で示した分類番号Ｎ４および細い一点鎖線で示した分類番号Ｎ５については、画素の階調値を階調値『０』〜『２０』までの２１段階に多値化（言わば、２１値化）していることになる。このように、多値化処理ユニット１８２では、各画素の多値化の段数（多値化の結果として取り得る状態数）が同じではなく、画素の分類番号に応じて固有の段数で多値化されている。この結果、同じ画素の階調値を多値化した場合でも、画素の分類番号が異なれば、多値化の段数が異なる。このため、画素の階調値が同じであっても、異なる多値階調値データに変換されることになる。
【０１１８】
また、多値化段数が同じであったとしても、同じ多値階調値データが得られるわけではない。例えば、図１２Ｂに示した分類番号Ｎ２と、分類番号Ｎ３とを比較すれば明らかなように、これら画素についての多値化段数は、いずれも１８段であるが、多値階調値データが切り換わる画素の階調値は多くの場合、一致していない。分類番号Ｎ４と分類番号Ｎ５とについても同様に、これらの画素の多値化段数は、いずれも２１段であるが、多値階調値データが切り換わる画素の階調値は一致していないことが多い。このことから、例え画素の多値化段数が同じでも、分類番号が異なれば、異なる多値階調値データが得られることになる。
【０１１９】
このように多値階調値データは、分類番号によってそれぞれ異なるものの、多値化の段数は１５〜２１程度となっている。つまり、多値化の段数は、多く見積もっても３０を越えることはないと考えられる。従って、多値階調値データは、５ビットのデータ量があれば十分に表現することが可能である。
【０１２０】
＜分類番号の設定＞
ここで、ＣＭＹＫ画像データの各画素への分類番号の設定方法について説明する。ＣＭＹＫ画像データの各画素に対する分類番号の設定方法は、媒体Ｓに画像を印刷する際の解像度（出力解像度）に応じて異なる。つまり、媒体Ｓに画像を印刷する際の解像度（出力解像度）が異なると、ＣＭＹＫ画像データの各画素への分類番号の割り付け方が異なる。
【０１２１】
本実施形態では、媒体Ｓに画像を印刷する際の解像度（出力解像度）として、７種類の解像度がある。つまり、『１×１モード』と、『２×１モード』と、『１×２モード』と、『２×２モード』と、『４×２モード』と、『２×４モード』と、『４×４モード』との７種類である。
【０１２２】
（１）出力解像度
ここで、『１×１モード』とは、ＣＭＹＫ画像データの解像度と同じ解像度にて媒体Ｓに画像を印刷するモードである。つまり、例えば、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度のＣＭＹＫ画像データに基づいて画像を印刷する場合、印刷される画像の解像度は、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度となる。また、『２×１モード』とは、ＣＭＹＫ画像データの横方向の解像度を２倍にして媒体Ｓに画像を印刷するモードである。つまり、例えば、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度のＣＭＹＫ画像データに基づいて画像を印刷する場合、印刷される画像の解像度は、７２０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度となる。なお、縦方向の解像度については、ＣＭＹＫ画像データと等しい解像度にて画像を印刷する。
【０１２３】
また、『１×２モード』とは、ＣＭＹＫ画像データの縦方向の解像度を２倍にして媒体Ｓに画像を印刷するモードである。つまり、例えば、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度のＣＭＹＫ画像データに基づき画像を印刷する場合、印刷される画像の解像度は、３６０ｄｐｉ（横）×７２０ｄｐｉ（縦）の解像度となる。なお、横方向の解像度については、ＣＭＹＫ画像データと等しい解像度にて画像を印刷する。
【０１２４】
また、『２×２モード』とは、ＣＭＹＫ画像データの横方向および縦方向の解像度を２倍にして媒体Ｓに画像を印刷するモードである。つまり、例えば、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度のＣＭＹＫ画像データに基づき画像を印刷する場合、印刷される画像の解像度は、７２０ｄｐｉ（横）×７２０ｄｐｉ（縦）の解像度となる。また、『４×２モード』とは、ＣＭＹＫ画像データの横方向の解像度を４倍に、またＣＭＹＫ画像データの縦方向の解像度を２倍にして媒体Ｓに画像を印刷するモードである。つまり、例えば、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度のＣＭＹＫ画像データに基づき画像を印刷する場合、印刷される画像の解像度は、１４４０ｄｐｉ（横）×７２０ｄｐｉ（縦）の解像度となる。
【０１２５】
また、『２×４モード』とは、ＣＭＹＫ画像データの横方向の解像度を２倍に、またＣＭＹＫ画像データの縦方向の解像度を４倍にして媒体Ｓに画像を印刷するモードである。つまり、例えば、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度のＣＭＹＫ画像データに基づき画像を印刷する場合、印刷される画像の解像度は、７２０ｄｐｉ（横）×１４４０ｄｐｉ（縦）の解像度となる。また、『４×４モード』とは、ＣＭＹＫ画像データの横方向および縦方向の解像度を４倍にして媒体Ｓに画像を印刷するモードである。つまり、例えば、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度のＣＭＹＫ画像データに基づき画像を印刷する場合、印刷される画像の解像度は、１４４０ｄｐｉ（横）×１４４０ｄｐｉ（縦）の解像度となる。
【０１２６】
（２）解像度別分類番号設定
図１３Ａ〜図１３Ｅは、各出力解像度に応じた分類番号の設定方法についてそれぞれ説明したものである。図１３Ａは、『１×１モード』、即ち、ここでは、３６０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度にて媒体Ｓに画像を印刷する場合を示す。図１３Ｂは、『２×１モード』、即ち、ここでは、７２０ｄｐｉ（横）×３６０ｄｐｉ（縦）の解像度にて媒体Ｓに画像を印刷する場合を示す。図１３Ｃは、『１×２モード』、即ち、ここでは、３６０ｄｐｉ（横）×７２０ｄｐｉ（縦）の解像度にて媒体Ｓに画像を印刷する場合を示す。図１３Ｄは、『２×２モード』、即ち、ここでは、７２０ｄｐｉ（横）×７２０ｄｐｉ（縦）の解像度にて媒体Ｓに画像を印刷する場合を示す。図１３Ｅは、『４×２モード』、即ち、ここでは、１４４０ｄｐｉ（横）×７２０ｄｐｉ（縦）の解像度にて媒体Ｓに画像を印刷する場合を示す。なお、ここで、『２×４モード』および『４×４モード』については、『４×２モード』の場合と同様の設定処理を行うものとする。
【０１２７】
『１×１モード』の場合には、図１３Ａに示すように、ＣＭＹＫ画像データを構成する画素のうち、相隣接する８つの画素を１つの単位としてそれぞれ分類番号を設定する。つまり、ＣＭＹＫ画像データを構成する画素のうちの相隣接する８つの画素が、全て同じ分類番号に設定される。ここでは、横方向に４画素、縦方向に２画素、計８画素を１つの単位としてこれら８つの画素についてそれぞれ同じ分類番号を割り当てる。つまり、ここでは、同図に示すように、ＣＭＹＫ画像データの左上隅角部に位置する８つの画素は、例えば、分類番号『１』に設定される。
【０１２８】
一方、これら分類番号『１』が設定された８つの画素の図中右隣りの８つの画素（横方向４画素、縦方向２画素）については、例えば、分類番号『２』が設定される。また、分類番号『１』が設定された８つの画素の図中下側に隣接する８つの画素（横方向４画素、縦方向２画素）については、例えば、分類番号『３３』が設定される。また、分類番号『１』が設定された８つの画素の図中右下の８つの画素（横方向４画素、縦方向２画素）については、例えば、分類番号『３４』が設定される。
【０１２９】
また、『２×１モード』の場合には、図１３Ｂに示すように、ＣＭＹＫ画像データを構成する画素のうち、相隣接する４つの画素を１つの単位としてそれぞれ分類番号を設定する。つまり、ＣＭＹＫ画像データを構成する画素のうちの相隣接する４つの画素が、全て同じ分類番号に設定される。ここでは、横方向に２画素、縦方向に２画素、計４画素を１つの単位としてこれら４つの画素についてそれぞれ同じ分類番号を設定する。つまり、ここでは、同図に示すように、ＣＭＹＫ画像データの左上隅角部に位置する４つの画素は、例えば、分類番号『１』に設定される。
【０１３０】
一方、これら分類番号『１』が設定された４つの画素の図中右隣りの４つの画素（横方向２画素、縦方向２画素）については、例えば、分類番号『２』が設定される。さらに、図中右隣りの４つの画素（横方向２画素、縦方向２画素）には、例えば、分類番号『３』が設定される。また、分類番号『１』が設定された４つの画素の図中下側に隣接する４つの画素（横方向２画素、縦方向２画素）については、例えば、分類番号『３３』が設定される。このようにして、ＣＭＹＫ画像データを構成する他の画素についても同様に、相隣接する４つの画素を１つの単位としてそれぞれ分類番号が設定される。
【０１３１】
また、『１×２モード』の場合には、図１３Ｃに示すように、ＣＭＹＫ画像データを構成する画素のうち、相隣接する４つの画素を１つの単位としてそれぞれ分類番号を設定する。つまり、ＣＭＹＫ画像データを構成する画素のうちの相隣接する４つの画素が、全て同じ分類番号に設定される。ここでは、横方向に４画素、縦方向に１画素、計４画素を１つの単位としてこれら４つの画素について各々同じ分類番号を設定する。つまり、ここでは、同図に示すように、ＣＭＹＫ画像データの左上隅角部に位置する４つの画素は、例えば、分類番号『１』に設定される。
【０１３２】
一方、これら分類番号『１』が設定された４つの画素の図中右隣りの４つの画素（横方向４画素、縦方向１画素）については、例えば、分類番号『２』が設定される。また、分類番号『１』が設定された４つの画素の図中下側に隣接する４つの画素（横方向４画素、縦方向１画素）については、例えば、分類番号『３３』が設定される。さらに、分類番号『３３』が設定された４つの画素の図中下側に隣接する４つの画素（横方向４画素、縦方向１画素）は、例えば、分類番号『５』に設定される。さらに、図中下側に隣接する４つの画素（横方向４画素、縦方向１画素）については、例えば、分類番号『９７』に設定される。このようにして、ＣＭＹＫ画像データを構成する他の画素についても同様に、相隣接する４つの画素を１つの単位としてそれぞれ分類番号が設定される。
【０１３３】
また、『２×２モード』の場合には、図１３Ｄに示すように、ＣＭＹＫ画像データを構成する画素のうち、相隣接する２つの画素を１つの単位としてそれぞれ分類番号を設定する。つまり、ＣＭＹＫ画像データを構成する画素のうち、相隣接する２つの画素が、全て同じ分類番号に設定される。ここでは、横方向に２画素、縦方向に１画素、計２画素を１つの単位としてこれら２つの画素について各々同じ分類番号を設定する。つまり、ここでは、同図に示すように、ＣＭＹＫ画像データの左上隅角部に位置する２つの画素は、例えば、例えば、分類番号『１』に設定される。
【０１３４】
一方、これら分類番号『１』が設定された２つの画素の図中右隣りの２つの画素（横方向２画素、縦方向１画素）については、例えば、分類番号『２』が設定される。さらに、これら分類番号『２』が設定された２つの画素の図中右隣りの２つの画素（横方向２画素、縦方向１画素）には、例えば、分類番号『３』が設定される。さらに、その図中右隣りの２つの画素（横方向２画素、縦方向１画素）には、例えば、分類番号『４』が設定される。また、分類番号『１』が設定された２つの画素の図中下側に隣接する２つの画素（横方向２画素、縦方向１画素）については、例えば、分類番号『３３』が設定される。さらに、分類番号『３３』が設定された２つの画素の図中下側に隣接する２つの画素（横方向２画素、縦方向１画素）には、例えば、分類番号『５』が設定される。さらに、図中下側に隣接する２つの画素（横方向２画素、縦方向１画素）については、例えば、分類番号『９７』が設定される。このようにして、ＣＭＹＫ画像データを構成する他の画素についても同様に、相隣接する２つの画素を１つの単位としてそれぞれ分類番号が設定される。
【０１３５】
また、『４×２モード』の場合には、図１３Ｅに示すように、ＣＭＹＫ画像データを構成する画素ごとにそれぞれ異なる分類番号を設定する。つまり、ここでは、同図に示すように、ＣＭＹＫ画像データの左上隅角部に位置する画素には、例えば、分類番号『１』が設定される。また、この画素に隣接する他の画素には、別の分類番号が設定される。つまり、例えば、分類番号『１』が設定された画素の図中右隣りの画素には、例えば、分類番号『２』が設定される。また、分類番号『２』が設定された画素の図中右隣りの画素には、例えば、分類番号『３』が設定される。またさらに、分類番号『３』が設定された画素の図中右隣りの画素には、例えば、分類番号『４』が設定される。
【０１３６】
一方、分類番号『１』が設定された画素の図中下側に隣接した画素には、例えば、分類番号『３３』が設定される。また、分類番号『３３』が設定された画素の図中下側に隣接した画素には、例えば、分類番号『６５』が設定される。またさらに、分類番号『６５』が設定された画素の図中下側に隣接した画素には、例えば、分類番号『９７』が設定される。
【０１３７】
なお、『２×４モード』および『４×４モード』の場合には、『４×２モード』の場合と同様に分類番号の設定を行う。
【０１３８】
以上のように、ＣＭＹＫ画像データの各画素の分類番号の設定は、媒体Ｓに画像を印刷する際の解像度（出力解像度）に応じてそれぞれ異なる方法により実施する。このようにして設定された分類番号に基づき、多値化処理ユニット１８２は、色変換処理ユニット１８０により生成されたＣＭＹＫ画像データの各画素の各色の階調値をそれぞれ多値化処理して多値階調値データを生成する。
【０１３９】
＜実際に実行される処理＞
多値化処理ユニット１８２は、色変換処理ユニット１８２から送られてきたＣＭＹＫ画像データを１画素ずつ順次、多値階調値データに変換する。図１４は、このとき行われる処理のイメージを概略的に説明したものである。多値化処理ユニット１８２は、同図に示すように、ＣＭＹＫ画像データ上にて着目画素を変更しながら１画素ずつかつ１ラスタラインずつ順次変換処理を実施する。すなわち、多値化処理ユニット１８２は、同図に説明するように、まずはじめに、ＣＭＹＫ画像データ上の１行目のラスタラインＬ１の各画素について順次変換処理をした後、次に、２行目のラスタラインＬ２の各画素について順次変換処理を実施する。そして、２行目のラスタラインＬ２の各画素について変換処理が終了した後、次に多値化処理ユニット１８２は、３行目のラスタラインＬ３の各画素について変換処理を実施する。このようにして、多値化処理ユニット１８２は、色変換処理ユニット１８２から送られてくるＣＭＹＫ画像データを１画素ずつ着目画素をずらしながら、１ラスタラインごとに順次変換処理をする。
【０１４０】
＝＝＝ドット形成用データの生成＝＝＝
＜ドット形成用データの生成＞
ドット形成用データ生成ユニット１８４は、多値化処理ユニット１８２により生成された多値階調値データに基づき、媒体Ｓに印刷される画像（出力画像）のドット形成用データを生成する際に、多値階調値データをドット個数データに変換する。次に、ドット形成用データ生成ユニット１８４は、変換により得られたドット個数データに基づき、１以上の画素について個別にドット形成の有無を決定する。そして、ドット形成用データ生成ユニット１８４は、ドット形成の有無が決定された１以上の画素のうちの少なくとも一部の画素を、印刷される画像（出力画像）を構成する画素として、印刷される画像（出力画像）のドット形成用データを生成する。
【０１４１】
図１５は、このときのドット形成用データ生成ユニット１８４の処理手順の一例について示したものである。ドット形成用データ生成ユニット１８４は、同図にて説明するように、まず、多値階調値データと、それに対応する分類番号とを取得する（Ｓ２０２）。ここで、多値階調値データに対応する分類番号とは、多値階調値データが生成される際に使用された分類番号である。ドット形成用データ生成ユニット１８４は、次に、取得した多値階調値データと分類番号とに基づき、ドット個数データを取得する（Ｓ２０４）。このドット個数データとは、形成すべきドットの個数を表すデータである。本実施形態では、このドット個数データが、形成すべきドットの個数の他、形成すべき各ドットのサイズ（即ち「小ドット」、「中ドット」、「大ドット」）をも表すコード化されたデータとなっている。このドット個数データについては後で詳しく説明する。ドット形成用データ生成ユニット１８４は、ここで、ドット個数データが分類番号別に各多値階調値データにそれぞれ対応付けられたドット個数データ変換テーブルにより、ドット個数データを取得する。ドット個数データ変換テーブルについては、後で詳しく説明する。
【０１４２】
次に、ドット形成用データ生成ユニット１８４は、取得したドット個数データに基づき、１以上の画素についてそれぞれドット形成の有無を決定する（Ｓ２０６）。本実施形態では、ドット形成用データ生成ユニット１８４は、取得したドット個数データに基づき、８つの画素についてそれぞれドットを形成すべきか否か決定するようになっている。このドット形成の有無の決定にあたっては、形成すべきドットのサイズも決定される。
【０１４３】
そして次に、ドット形成用データ生成ユニット１８４は、ドット形成の有無が決定された１以上の画素（ここでは８つの画素）に基づき、ドット形成用データを生成する（Ｓ２０８）。具体的には、ドット形成の有無が決定された１以上の画素（ここでは８つの画素）の中から少なくとも一部の画素を切り出して、その切り出した画素を、印刷する画像を構成する画素のデータとして使用する。ここで、ドット形成の有無が決定された１以上の画素（ここでは８つの画素）は、全部の画素が切り出されて、印刷する画像を構成する画素のデータとして使用されてもよい。ドット形成の有無が決定された１以上の画素（ここでは８つの画素）の中から切り出される画素の数は、媒体Ｓに画像を印刷する際の解像度（出力解像度）に応じて異なる。このようにしてドット形成用データ生成ユニット１８４によりドット形成用データが生成される。
【０１４４】
ある多値階調値データについてドット形成用データの生成を終了した後、ドット形成用データ生成ユニット１８４は、次に、処理すべき多値階調値データがないかどうかチェックする（Ｓ２１０）。ここで、次に処理すべき多値階調値データがある場合には、ドット形成用データ生成ユニット１８４は、ステップＳ２０２へと戻り、再度、処理対象となる多値階調値データについて、ドット形成用データを生成する処理を実行する。このような処理をドット形成用データ生成ユニット１８４は、処理すべき画素がなくなるまで実行する。処理すべき多値階調値データがなくなった場合には、ドット形成用データ生成ユニット１８４は、処理を速やかに終了する。
【０１４５】
＜ドット個数データ変換テーブル＞
図１６は、多値階調値データをドット個数データに変換する際に使用されるドット個数データ変換テーブルの一例を概念的に説明したものである。このドット個数データ変換テーブルは、同図に示すように、ドット個数データが各分類番号毎にそれぞれ多値階調値データ別に各々対応付けられて設定されたテーブルである。ドット個数データ変換テーブルは、例えば、同図に示すように、縦方向に『分類番号』が、また横方向に『多値階調値データ』が設定され、『分類番号』と『多値階調値データ』とからそれぞれ対応するドット個数データを導き出せるようになっている。なお、ここで、『分類番号』は、先に説明したように、『１』〜『１０２４』の番号にて表される。また、『多値階調値データ』は、『０』〜『３１』までの数値にて表される。また、『ドット個数データ』は、ここでは、『０』〜『１６４』の数値にて表されるようになっている。ドット個数データは、これら『１』〜『１０２４』の分類番号と、『０』〜『３１』の多値階調値データとに応じてそれぞれ個別に用意されている。
【０１４６】
一例として、分類番号『１』について説明すると、多値階調値データ『０』に対して、ドット個数データは、「０」が設定されている。また、多値階調値データ『３』に対して、ドット個数データは、「３」が設定されている。また、多値階調値データ『１４』に対して、ドット個数データは、「１５７」が設定されている。更に、多値階調値データ『１５』に対して、ドット個数データは、「１６４」が設定されている。
【０１４７】
本実施形態では、このようなドット個数データ変換テーブルに関するデータがＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納されている。ドット形成用データ生成ユニット１８４は、多値階調値データバッファ１８８から多値階調値データを取得して、ドット個数データに変換する際に、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納されたドット個数データ変換テーブルに関するデータを参照する。
【０１４８】
なお、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納されるドット個数データ変換テーブルに関するデータは、例えば、ＳＰＣ複合装置１に搭載されたＲＯＭ９２等の不揮発性メモリに格納されていて、ドット形成用データ生成ユニット１８４がドット個数データに変換するにあたって、ＲＯＭ９２等の不揮発性メモリから読み出されて、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納される。
【０１４９】
＜ドット個数データ＞
前述したように本実施形態のドット個数データは、形成すべきドットの個数の他、形成すべき各ドットのサイズ（即ち「小ドット」、「中ドット」、「大ドット」）をも表すコード化されたデータとなっている。
【０１５０】
図１７は、ドット個数データと、このドット個数データにより表される、形成すべきドットの個数およびサイズに関する情報との対応関係の一例を説明したものである。ドット個数データは、前述したように、『０』〜『１６４』の数値を取るようになっている。ドット個数データの各数値『０』〜『１６４』は、それぞれドット形成の有無と、ドットのサイズとを表すようになっている。つまり、ドット個数データ『０』は、「大ドット」、「中ドット」および「小ドット」につき共に形成しないことを表わす。また、ドット個数データ『１』は、「小ドット」のみを１個形成することを表す。また、ドット個数データ『２』は、「小ドット」のみを２個形成することを表す。また、ドット個数データ『３』は、「小ドット」のみを３個形成することを表す。また、ドット個数データ『１６０』は、「大ドット」を６個形成し、「中ドット」を２個形成し、「小ドット」は形成しないことを表す。また、ドット個数データ『１６１』は、「大ドット」のみを７個形成することを表わす。また、ドット個数データ『１６４』は、「大ドット」のみを８個形成することを表わす。
【０１５１】
このようにドット個数データが表されているのは、次の理由からである。つまり、本実施形態では、取得したドット個数データに基づき、８つの画素についてそれぞれドットを形成すべきか否か決定するようになっているためである。要するに、８つの画素について形成され得るドット個数は、最大でも８個である。例えば、大ドットが４個、中ドットが３個、小ドットが２個といったドット個数の組合せは、ドット個数の合計が９個となって８個を越えてしまうので現実には発生し得ない。こうした点に着目すれば、現実に発生し得るドット個数の組合せは、それほど多くの種類はないと考えられる。実際に算出すれば、次のようになる。つまり、８つの画素についてみれば「大ドットを形成する」、「中ドットを形成する」、「小ドットを形成する」、「ドットを形成しない」の４つの状態を取り得る。従って、ドット個数の組合せは、これら４つの状態を、重複を許容して８回選択した時の組合せの数に等しくなるから、４Ｈ８（＝４＋８−１Ｃ８）によって求めることができる。このことから、最大でも１６５通りの組合せしか出現しないことになる。ここで、ｎＨｒは、ｎ個の物の中から重複を許してｒ回選択するときの重複組合せ数を求める演算子である。また、ｎＣｒは、ｎ個の物の中から重複を許さずにｒ回選択するときの組合せ数を求める演算子である。１６５通りの組合せであれば、８ビットあれば表現することができる。
【０１５２】
一方、各ドットの個数をコード化せずに、そのまま表現しようとすると、大ドットの個数、中ドットの個数、小ドットの個数を表すためにそれぞれ４ビットずつ、合計では１２ビットのデータ量が必要となる。したがって、現実に発生し得るドット個数の組合せにコード番号を設定しておけば、形成すべきドット個数の組合せを８ビットのデータで表すことができる。結局、ドット個数の組合せをコード化しておくことで、ドットの種類毎に形成個数を表した場合よりも、必要なデータ量を低減することが可能となる。
【０１５３】
なお、もちろん、ドット個数データについては、前述した８ビットのデータの代わりに、各サイズのドットの個数をコード化せずにそのまま表現した１２ビットのデータを用いても構わない。
【０１５４】
＜ドット形成の有無の決定＞
ドット形成用データ生成ユニット１８４は、取得したドット個数データに基づき、本実施形態では、１以上の画素についてそれぞれドット形成の有無を決定する。本実施形態では、ドット個数データに基づき、８つの画素（横４画素、縦２画素）についてそれぞれドット形成の有無とともにドットのサイズがドット形成用データ生成ユニット１８４により決定される。ここで、８つの画素各々についてのドット形成の有無の決定は、順序値マトリックスに基づき行われる。なお、この順序値マトリックスは、「ドット形成順序データ」に相当する。
【０１５５】
ここで、順序値マトリックスとは、８つの画素についてそれぞれドットが形成されるべき順番を設定したマトリックスのことである。この順序値マトリックスには、横４画素、縦２画素、計８つの画素についてそれぞれドットを形成すべき順番を表わす番号が設定されている。８つの画素についてそれぞれ設定されるドットの形成順番を表わす番号は、分類番号毎にそれぞれ個別に設定されている。つまり、順序値マトリックスは、分類番号毎にそれぞれ異なるマトリックスに設定されている。
【０１５６】
＜順序値マトリックス＞
図１８は、ここで使用される順序値マトリックスの一例を説明したものである。図１８Ａは、分類番号『１』に対応して設定される順序値マトリックスの一例を説明している。図１８Ｂは、分類番号『２』に対応して設定される順序値マトリックスの一例を説明している。図１８Ｃは、分類番号『３』に対応して設定される順序値マトリックスの一例を説明している。
【０１５７】
分類番号『１』に対応する順序値マトリックスは、図１８Ａに示すように、ドット形成の有無が決定される８つの画素のうち、左上隅にある画素に対してドットの形成順番を表わす番号「１」が設定されている。このように左上隅の画素に数値「１」が設定されているのは、この画素が８つの画素のうち、１番目にドットが形成されるべきことを表している。なお、順序値マトリックスに設定されている、このような順番を表す数値を、順序値とも呼ぶ。また、８つの画素の中の右下隅の画素に順序値「２」が設定されているのは、この画素が８つの画素の中で２番目にドットが形成されるべきことを表している。このように、順序値マトリックスには、８つの画素についてそれぞれドットが形成される順番を示す順序値が設定されている。ここでは、画素の数が８つであるから、『１』〜『８』の番号が順序値として８つの画素にそれぞれ設定される。なお、８つの画素に設定される順序値は、それぞれ異なる。
【０１５８】
一方、ここで、分類番号『２』に対応する順序値マトリックスは、図１８Ｂに示すように、１番目にドットが形成されるべき画素（順序値「１」の画素）が、下段の左から２番目の画素となっている。また、２番目にドットが形成されるべき画素（順序値「２」の画素）は、右下隅の画素となっている。また、ここで、分類番号『３』に対応する順序値マトリックスは、図１８Ｂに示すように、１番目にドットが形成されるべき画素（順序値「１」の画素）が、上段の右から２番目の画素となっている。また、２番目にドットが形成されるべき画素（順序値「２」の画素）は、左下隅の画素となっている。
【０１５９】
本実施形態では、このような順序値マトリックスに関するデータがＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納されている。ドット形成用データ生成ユニット１８４は、取得したドット個数データに基づき、１以上の画素についてそれぞれドット形成の有無を決定する際に、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納された順序値マトリックスに関する情報を参照する。
【０１６０】
なお、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納される順序値マトリックスに関する情報は、例えば、ＳＰＣ複合装置１に搭載されたＲＯＭ９２等の不揮発性メモリに格納されていて、ドット形成用データ生成ユニット１８４がドット個数データに基づき、１以上の画素についてそれぞれドット形成の有無を決定するにあたって、ＲＯＭ９２等の不揮発性メモリから読み出されて、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納される。
【０１６１】
＜各画素への決定＞
このように順序値マトリックスに関するデータを取得した後、ドット形成用データ生成ユニット１８４は、次に、８つの画素の中から、先ず初めに大ドットを形成する画素を決定する。大ドットは他のドットよりもドットが目立ち易いことから、できるだけドットが分散して形成されるように、ドットを形成する画素位置を他のドットに優先させて決定しておくことが望ましい。このため、先ずはじめに大ドットを形成する画素を決定する。ドットを形成する画素の決定に際しては、多値階調値データを変換して得られたドット個数データと、それに対応する順序値マトリックスとを使用する。
【０１６２】
図１９は、ドット個数データと順序値マトリックスとに基づき、８つの画素についてそれぞれドット形成の有無を決定する手順の一例を概念的に説明したものである。ここでは、ドット個数データが、大ドットを１個、中ドットを２個、小ドットを１個、それぞれ形成すべき旨を表すデータであり、順序値マトリックスが、図１８Ａに示した分類番号『１』に対応する順序値マトリックスである場合を例にして説明する。
【０１６３】
前述したように、順序値マトリックスには、８つの画素についてそれぞれドットが形成される順番が設定されている。ここで、まずはじめに、［第１ステップ］にて、最も大きいドット、即ち大ドットが形成される画素が決定される。形成すべき大ドットの個数は１個であるから、大ドットが形成される画素は、順序値「１」が設定された画素のみとなる。すなわち、図中、８つの画素のうち、細かい斜線を付して表示した画素となる。
【０１６４】
次に、［第２ステップ］にて、２番目に大きいドット、即ち中ドットが形成される画素が決定される。形成すべき中ドットの個数は２個であることから、中ドットが形成される画素は、順序値「２」が設定された画素と、順序値「３」が設定された画素との２つになる。すなわち、図中、８つの画素のうち、少し粗い斜線を付して表示した画素となる。
【０１６５】
そして次に、［第３ステップ］にて、３番目に大きいドット、即ち小ドットが形成される画素が決定される。形成すべき小ドットの個数は１個であることから、小ドットが形成される画素は、順序値「４」が設定された画素のみとなる。すなわち、図中、８つの画素のうち、粗い斜線を付して表示した画素となる。
【０１６６】
このようにして大ドット、中ドットおよび小ドットについてそれぞれ、８つの画素の中から形成すべき画素を決定する。これら大ドット、中ドットおよび小ドットについて形成すべき指示がない残りの画素については、ドットを形成しない画素とする。これによって、最終的には、図中の下部に示すようなドット配置となる。また、８つの画素それぞれについてドットを形成するためのデータは、同じく図中の下部に示すようなドットデータとなる。
【０１６７】
＜画素の切り出し＞
次に、ドット形成用データ生成ユニット１８４は、このようにして形成すべきドットの位置とサイズを決定した８つの画素の中から少なくとも一部の画素を切り出して、その切り出した画素を、印刷する画像のドット形成用データの画素として使用する。ここで切り出される画素の数は、媒体Ｓに画像を印刷する際の解像度（出力解像度）に応じて異なる。また、８つの画素の中から切り出される画素の位置は、多値階調値データを生成する際に、ＣＭＹＫ画像データにおける画素の中の位置に応じて異なる。
【０１６８】
（１）１×１モードの場合
『１×１モード』の場合には、媒体Ｓに画像を印刷する際の解像度（出力解像度）がＣＭＹＫ画像データの解像度と同じであるから、切り出される画素の数は１つである。図２０は、８つの画素の中から切り出される画素の位置について説明したものである。図２０Ａ〜図２０Ｈは、切り出される画素の位置のパターンをそれぞれ示したものである。また、図２１は、ＣＭＹＫ画像データにおける画素の位置について説明したものである。
【０１６９】
図２０Ａは、８つの画素の中の左上隅に位置する画素を切り出す場合について示したものである。図２０Ｂは、８つの画素の中の上段の左から２番目に位置する画素を切り出す場合について示したものである。図２０Ｃは、８つの画素の中の上段の右から２番目に位置する画素を切り出す場合について示したものである。図２０Ｄは、８つの画素の中の右上隅に位置する画素を切り出す場合について示したものである。図２０Ｅは、８つの画素の中の左下隅に位置する画素を切り出す場合について示したものである。図２０Ｆは、８つの画素の中の下段の左から２番目に位置する画素を切り出す場合について示したものである。図２０Ｇは、８つの画素の中の下段の右から２番目に位置する画素を切り出す場合について示したものである。図２０Ｈは、８つの画素の中の右下隅に位置する画素を切り出す場合について示したものである。
【０１７０】
図２０Ａに示すように、８つの画素の中の左上隅に位置する画素が切り出されるのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２１において『（１）』で示された位置、即ち同一の分類番号が設定される画素の中の左上隅の位置である場合である。つまり、ここでは、図２１に示す各分類番号『１』、『２』、『３３』、『３４』が設定された４画素（横）×２画素（縦）の８つの画素の中の左上隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２０Ａに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１１」という画素データをドット形成用データとして取得する。
【０１７１】
また、図２０Ｂに示すように、８つの画素の中の上段の左から２番目に位置する画素が切り出されるのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２１において『（２）』で示された位置、即ち同一の分類番号が設定される画素の中の上段の左から２番目の位置である場合である。つまり、ここでは、図２１に示すように各分類番号『１』、『２』、『３３』、『３４』がそれぞれ設定される４画素（横）×２画素（縦）の８つの画素の中の上段の左から２番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２０Ｂに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「００」という画素データをドット形成用データとして取得する。
【０１７２】
また、図２０Ｃに示すように、８つの画素の中の上段の右から２番目に位置する画素が切り出されるのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２１において『（３）』で示された位置、即ち同一の分類番号が設定される画素の中の上段の右から２番目の位置である場合である。つまり、ここでは、図２１に示すように各分類番号『１』、『２』、『３３』、『３４』がそれぞれ設定される４画素（横）×２画素（縦）の８つの画素の中の上段の右から２番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２０Ｃに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１０」という画素データをドット形成用データとして取得する。
【０１７３】
また、図２０Ｄに示すように、８つの画素の中の右上隅に位置する画素が切り出されるのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２１において『（４）』で示された画素の位置、即ち同一の分類番号が設定される画素の中の右上隅の位置である場合である。つまり、ここでは、図２１に示すように各分類番号『１』、『２』、『３３』、『３４』がそれぞれ設定される４画素（横）×２画素（縦）の８つの画素の中の右上隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２０Ｄに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「００」という画素データをドット形成用データとして取得する。
【０１７４】
図２０Ｅに示すように、８つの画素の中の左下隅に位置する画素が切り出されるのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２１において『（５）』で示された位置、即ち同一の分類番号が設定される画素の中の左上隅の位置である場合である。つまり、ここでは、図２１に示すように各分類番号『１』、『２』、『３３』、『３４』がそれぞれ設定される４画素（横）×２画素（縦）の８つの画素の中の左下隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２０Ｅに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「００」という画素データをドット形成用データとして取得する。
【０１７５】
また、図２０Ｆに示すように、８つの画素の中の下段の左から２番目に位置する画素が切り出されるのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２１において『（６）』で示された位置、即ち同一の分類番号が設定される画素の中の下段の左から２番目の位置である場合である。つまり、ここでは、図２１に示すように各分類番号『１』、『２』、『３３』、『３４』がそれぞれ設定される４画素（横）×２画素（縦）の８つの画素の中の下段の左から２番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２０Ｅに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「０１」という画素データをドット形成用データとして取得する。
【０１７６】
また、図２０Ｇに示すように、８つの画素の中の下段の右から２番目に位置する画素が切り出されるのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２１において『（７）』で示された位置、即ち同一の分類番号が設定される画素の中の下段の右から２番目の位置である場合である。つまり、ここでは、図２１に示すように各分類番号『１』、『２』、『３３』、『３４』がそれぞれ設定される４画素（横）×２画素（縦）の８つの画素の中の下段の右から２番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２０Ｇに示すよう画素の切り出し方を実行する。ここでは、このような切り出し方によって、「００」という画素データをドット形成用データとして取得する。
【０１７７】
また、図２０Ｈに示すように、８つの画素の中の右下隅に位置する画素が切り出されるのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の中の位置が、図２１において『（８）』で示された位置、即ち同一の分類番号が設定される画素の中の右上隅の位置である場合である。つまり、ここでは、図２１に示すように各分類番号『１』、『２』、『３３』、『３４』がそれぞれ設定される４画素（横）×２画素（縦）の８つの画素の中の右下隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２０Ｈに示すよう画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１０」という画素データをドット形成用データとして取得する。
【０１７８】
（２）２×１モードの場合
『２×１モード』の場合には、媒体Ｓに画像を印刷する際の横方向の解像度（出力解像度）が、ＣＭＹＫ画像データの解像度の２倍となる。このことから、『２×１モード』の場合に切り出される画素は、８つの画素のうちの横方向に並ぶ２つの画素となる。図２２は、８つの画素の中から切り出される画素の位置について説明したものである。図２２Ａ〜図２２Ｄは、切り出される画素の位置をそれぞれ示したものである。また、図２３は、ＣＭＹＫ画像データにおける画素の位置について説明したものである。
【０１７９】
図２２Ａは、８つの画素の中の上段の左から１番目および２番目に位置する画素を切り出す場合について説明したものである。図２２Ｂは、８つの画素の中の上段の右から１番目および２番目に位置する画素を切り出す場合について説明したものである。図２２Ｃは、８つの画素の中の下段の左から１番目および２番目に位置する画素を切り出す場合について説明したものである。図２２Ｄは、８つの画素の中の下段の右から１番目および２番目に位置する画素を切り出す場合について説明したものである。
【０１８０】
図２２Ａに示すように、８つの画素の中の上段の左から１番目および２番目に位置する画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２３において『（１）』で示された位置、即ち同一の分類番号が設定される画素の中の左上隅の位置である場合である。つまり、ここでは、図２３に示すように各分類番号『１』〜『４』、『３３』〜『３６』がそれぞれ設定される２画素（横）×２画素（縦）の４つの画素の中の左上隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２２Ａに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１１」および「００」という横方向に並ぶ２つの画素データをドット形成用データとして取得する。
【０１８１】
図２２Ｂに示すように、８つの画素の中の上段の右から１番目および２番目に位置する画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２３において『（２）』で示された位置、即ち同一の分類番号が設定される画素の中の右上隅の位置である場合である。つまり、ここでは、図２３に示すように各分類番号『１』〜『４』、『３３』〜『３６』がそれぞれ設定される２画素（横）×２画素（縦）の４つの画素の中の右上隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２２Ｂに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１０」および「００」という横方向に並ぶ２つの画素データをドット形成用データとして取得する。
【０１８２】
図２２Ｃに示すように、８つの画素の中の下段の左から１番目および２番目に位置する画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２３において『（３）』で示された位置、即ち同一の分類番号が設定される画素の中の左下隅の位置である場合である。つまり、ここでは、図２３に示すように各分類番号『１』〜『４』、『３３』〜『３６』がそれぞれ設定される２画素（横）×２画素（縦）の４つの画素の中の左下隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２２Ｃに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「００」および「０１」という横方向に並ぶ２つの画素データをドット形成用データとして取得する。
【０１８３】
図２２Ｄに示すように、８つの画素の中の下段の右から１番目および２番目に位置する画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２３において『（４）』で示された位置、即ち同一の分類番号が設定される画素の中の右下隅の位置である場合である。つまり、ここでは、図２３に示すように各分類番号『１』〜『４』、『３３』〜『３６』がそれぞれ設定される２画素（横）×２画素（縦）の４つの画素の中の右下隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２２Ｄに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「００」および「１０」という横方向に並ぶ２つの画素データをドット形成用データとして取得する。
【０１８４】
（３）１×２モード
『１×２モード』の場合には、媒体Ｓに画像を印刷する際の縦方向の解像度（出力解像度）が、ＣＭＹＫ画像データの解像度の２倍となる。このことから、『１×２モード』の場合に切り出される画素は、８つの画素のうちの縦方向に並ぶ２つの画素となる。図２４は、８つの画素の中から切り出される画素の位置について説明したものである。図２４Ａ〜図２４Ｄは、切り出される画素の位置をそれぞれ示したものである。また、図２５は、ＣＭＹＫ画像データにおける画素の位置について説明したものである。
【０１８５】
図２４Ａは、８つの画素の中の左から１番目の列に位置する上下２つの画素を切り出す場合について説明したものである。図２４Ｂは、８つの画素の中の左から２番目の列に位置する上下２つの画素を切り出す場合について説明したものである。図２４Ｃは、８つの画素の中の右から２番目の列に位置する上下２つの画素を切り出す場合について説明したものである。図２４Ｄは、８つの画素の中の右から１番目の列に位置する上下２つの画素を切り出す場合について説明したものである。
【０１８６】
図２４Ａに示すように、８つの画素の中の左から１番目の列に位置する上下２つの画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２５において『（１）』で示された位置、即ち同一の分類番号が設定される画素の中の左から１番目の位置である場合である。つまり、ここでは、図２５に示すように各分類番号『１』、『２』、『３３』、『３４』、『６５』、『６６』、『９７』、『９８』がそれぞれ設定される４画素（横）×１画素（縦）の４つの画素の中の左から１番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２４Ａに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１１」および「００」という縦方向に並ぶ２つの画素データをドット形成用データとして取得する。
【０１８７】
図２４Ｂに示すように、８つの画素の中の左から２番目の列に位置する上下２つの画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２５において『（２）』で示された位置、即ち同一の分類番号が設定される画素の中の左から２番目の位置である場合である。つまり、ここでは、図２５に示すように各分類番号『１』、『２』、『３３』、『３４』、『６５』、『６６』、『９７』、『９８』がそれぞれ設定される４画素（横）×１画素（縦）の４つの画素の中の左から２番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２４Ｂに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「００」および「０１」という縦方向に並ぶ２つの画素データをドット形成用データとして取得する。
【０１８８】
図２４Ｃに示すように、８つの画素の中の右から２番目の列に位置する上下２つの画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２５において『（３）』で示された位置、即ち同一の分類番号が設定される画素の中の右から２番目の位置である場合である。つまり、ここでは、図２５に示すように各分類番号『１』、『２』、『３３』、『３４』、『６５』、『６６』、『９７』、『９８』がそれぞれ設定される４画素（横）×１画素（縦）の４つの画素の中の右から２番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２４Ｃに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１０」および「００」という縦方向に並ぶ２つの画素データをドット形成用データとして取得する。
【０１８９】
図２４Ｄに示すように、８つの画素の中の右から１番目の列に位置する上下２つの画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２５において『（４）』で示された位置、即ち同一の分類番号が設定される画素の中の右から１番目の位置である場合である。つまり、ここでは、図２５に示すように各分類番号『１』、『２』、『３３』、『３４』、『６５』、『６６』、『９７』、『９８』がそれぞれ設定される４画素（横）×１画素（縦）の４つの画素の中の右から１番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２４Ｄに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「００」および「１０」という縦方向に並ぶ２つの画素データをドット形成用データとして取得する。
【０１９０】
（４）２×２モード
『２×２モード』の場合には、媒体Ｓに画像を印刷する際の横方向および縦方向の解像度（出力解像度）がそれぞれ、ＣＭＹＫ画像データの解像度の２倍となる。このことから、『２×２モード』の場合に切り出される画素は、８つの画素のうちの横方向に２画素分および縦方向に２画素分の計４画素となる。図２６は、８つの画素の中から切り出される画素の位置について説明したものである。図２６Ａおよび図２６Ｂは、切り出される画素の位置をそれぞれ示したものである。また、図２７は、ＣＭＹＫ画像データにおける画素の位置について説明したものである。
【０１９１】
図２６Ａに示すように、８つの画素の中の左側に位置する上下左右４つの画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２７において『（１）』で示された位置、即ち同一の分類番号が設定される画素の中の左側の位置である場合である。つまり、ここでは、図２７に示すように各分類番号『１』〜『４』、『３３』〜『３７』、『６５』〜『６８』、『９７』〜『１００』がそれぞれ設定される２画素（横）×１画素（縦）の２つの画素の中の左側に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２６Ａに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１１」、「００」、「００」および「０１」という上下方向および左右方向に並ぶ４つの画素データをドット形成用データとして取得する。
【０１９２】
図２６Ｂに示すように、８つの画素の中の右側に位置する上下左右４つの画素を切り出すのは、多値階調値データを生成する際にＣＭＹＫ画像データにおいて参照される画素の位置が、図２７において『（２）』で示された位置、即ち同一の分類番号が設定される画素の中の右側の位置である場合である。つまり、ここでは、図２７に示すように各分類番号『１』〜『４』、『３３』〜『３７』、『６５』〜『６８』、『９７』〜『１００』がそれぞれ設定される２画素（横）×１画素（縦）の２つの画素の中の右側に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図２６Ｂに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「１０」、「００」、「００」および「１０」という上下方向および左右方向に並ぶ４つの画素データをドット形成用データとして取得する。
【０１９３】
（５）４×２モードの場合
『４×２モード』の場合には、媒体Ｓに画像を印刷する際の横方向の解像度（出力解像度）がＣＭＹＫ画像データの解像度の４倍に、また媒体Ｓに画像を印刷する際の縦方向の解像度（出力解像度）がＣＭＹＫ画像データの解像度の２倍になる。このことから、『４×２モード』の場合に切り出される画素は８つの画素全てとなる。図２８は、８つの画素の中から切り出される画素の位置について説明したものである。同図に示すように、形成すべきドットの位置とサイズを決定した８つの画素全てがドット形成用データとして切り出される。すなわち、ここでは、「１１」、「００」、「１０」、「００」、「００」、「０１」、「００」、「１０」という横方向に４つ、縦方向に２つ並ぶ８つの画素データをドット形成用データとして取得する。
【０１９４】
＜他のモードの場合＞
以上、『１×１モード』、『２×１モード』、『１×２モード』、『２×２モード』および『４×２モード』の場合については、前述した方法によりドット形成用データを生成する。しかし、他のモード、即ち『２×４モード』および『４×４モード』の場合には、前述した方法とは異なる方法によりドット形成用データを生成する。以下にその異なる方法について説明する。
【０１９５】
（１）２×４モードの場合
『２×４モード』の場合、前述した他のモードの場合に比べて。多値階調値データをドット個数データに変換する処理が異なる。ここでは、図１６にて説明したドット個数データ変換テーブルとは異なる、『２×４モード』のためのドット個数データ変換テーブルにより、多値階調値データがドット個数データに変換される。
【０１９６】
図２９は、『２×４モード』のためのドット個数データ変換テーブルの一例を概念的に説明したものである。このドット個数データ変換テーブルには、図１６にて説明したドット個数データ変換テーブルと同様に、ドット個数データが各分類番号毎にそれぞれ多値階調値データ別に各々対応付けられて設定され、『分類番号』と『多値階調値データ』とからそれぞれ対応するドット個数データを導き出せるようになっている。『分類番号』は、図１６の場合と同様、『１』〜『１０２４』の番号にて表される。また、『多値階調値データ』についても、図１６の場合と同様、『０』〜『３１』までの数値にて表される。また、『ドット個数データ』は、図１６の場合と同様、『０』〜『１６４』の数値にて表されている。ドット個数データは、これら『１』〜『１０２４』の分類番号と、『０』〜『３１』の多値階調値データとに応じてそれぞれ個別に用意されている。
【０１９７】
なお、ここで『ドット個数データ』は、形成すべきドットの個数の他、形成すべき各ドットのサイズ（即ち「小ドット」、「中ドット」、「大ドット」）をも表すコード化されたデータとなっている。ここでは、『ドット個数データ』に、８つの画素について形成されるドットの個数に関する情報が含まれることから、図１７にて説明した場合と同様に、『０』〜『１６４』の数値にて表されるようになっている。
【０１９８】
本実施形態では、このような『２×４モード』にて使用されるドット個数データ変換テーブルに関するデータがＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納されている。ドット形成用データ生成ユニット１８４は、多値階調値データバッファ１８８から多値階調値データを取得して、『２×４モード』にてドット個数データに変換する際に、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納された『２×４モード』のドット個数データ変換テーブルに関するデータを参照する。
【０１９９】
なお、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納される『２×４モード』のドット個数データ変換テーブルに関するデータは、例えば、ＳＰＣ複合装置１に搭載されたＲＯＭ９２等の不揮発性メモリに格納されていて、ドット形成用データ生成ユニット１８４が『２×４モード』にてドット個数データに変換するにあたって、ＲＯＭ９２等の不揮発性メモリから読み出されて、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納される。
【０２００】
ドット形成用データ生成ユニット１８４は、『２×４モード』の場合に、このドット個数データ変換テーブルを参照して、多値階調値データをドット個数データに変換する。そして、ドット形成用データ生成ユニット１８４は、この変換により取得したドット個数データに基づき、横２画素×縦４画素、計８個の画素について個別にドット形成の有無を決定する。このとき、ドット形成用データ生成ユニット１８４は、『２×４モード』のために用意された順序値マトリックスに基づき、８個の画素について個別にドット形成の有無を決定する。
【０２０１】
図３０Ａは、このときに使用される順序値マトリックスの一例を説明したものである。『２×４モード』にて使用される順序値マトリックスは、同図に示すように、横２画素、縦４画素、計８個の画素についてそれぞれドットを形成すべき順番を表わす番号（以下、「順序値」ともいう）が設定されたマトリックスによりなる。８つの画素についてそれぞれ設定された番号は、図１８にて説明した順序値マトリックスと同様に、それぞれドットが形成されるすべき順番を表わす。つまり、順序値『１』が設定された画素は、１番最初にドットが形成されるべき画素である。順序値『２』が設定された画素は、２番目にドットが形成されるべき画素である。順序値『３』が設定された画素は、３番目にドットが形成されるべき画素である。
【０２０２】
このような順序値マトリックスは、『２×４モード』の場合でも、図１８にて説明した順序値マトリックスと同様に、分類番号毎にそれぞれ個別に設定されている。つまり、順序値マトリックスは、分類番号毎にそれぞれ異なるマトリックスに設定されている。
【０２０３】
本実施形態では、このような『２×４モード』で使用される順序値マトリックスに関するデータがＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納されている。ドット形成用データ生成ユニット１８４は、取得したドット個数データに基づき、『２×４モード』にて８個の画素についてそれぞれドット形成の有無を決定する際に、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納された『２×４モード』の順序値マトリックスに関する情報を参照する。
【０２０４】
なお、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納される『２×４モード』の順序値マトリックスに関する情報は、例えば、ＳＰＣ複合装置１に搭載されたＲＯＭ９２等の不揮発性メモリに格納されていて、ドット形成用データ生成ユニット１８４がドット個数データに基づき、『２×４モード』にて８個の画素についてそれぞれドット形成の有無を決定するにあたって、ＲＯＭ９２等の不揮発性メモリから読み出されて、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納される。
【０２０５】
このような順序値マトリックスに基づき、８個の画素についてそれぞれドット形成の有無を決定する方法は、図１９にて説明した場合と同じ方法である。すなわち、まずはじめに、ドットが目立ち易い大きいサイズのドットから順に、形成すべき画素の位置を決定する。
【０２０６】
図３０Ｂは、『２×４モード』において、ドット個数データと順序値マトリックスとに基づき、８つの画素についてそれぞれドット形成の有無を決定する手順の一例を概念的に説明したものである。ここでは、大ドットを１個、中ドットを２個、小ドットを１個、それぞれ形成すべき旨を表すドット個数データに基づき、図３０Ａにて説明した順序値マトリックスを用いてドット形成の有無を決定する場合を例にして説明する。
【０２０７】
ここで、順序値『１』に対応する画素には、１番大きいドット、即ち大ドット（『１１』）が設定される。形成すべき大ドットの個数は１個であるから、順序値『２』に対応する画素には、中ドット（『１０』）が設定される。形成すべき中ドットの個数は２個であるから、順序値『３』に対応する画素にも、中ドット（『１０』）が設定される。次に、順序値『４』に対応する画素には、小ドット（『０１』）が設定される。形成すべき小ドットの個数は、１個であるから、他の残りの画素、即ち順序値『５』〜『８』に対応する画素には、ドットが形成されないことになる。
【０２０８】
このようにしてドット形成用データ生成ユニット１８４は、『２×４モード』の場合に、多値階調値データに基づき、横２画素×縦４画素、計８個の画素についてそれぞれドット形成の有無を決定する。そして、ドット形成用データ生成ユニット１８４は、ドット形成の有無を決定した８個の画素を全てドット形成用データとして用いる。
【０２０９】
（２）４×４モードの場合
『４×４モード』の場合、前述した他のモードの場合に比べて、多値階調値データをドット個数データに変換する処理が異なる。『４×４モード』の場合においても、『２×４モード』の場合と同様に、図１６や図２９にて説明したドット個数データ変換テーブルとは異なる、『４×４モード』のためのドット個数データ変換テーブルを使用する。
【０２１０】
図３１は、『４×４モード』のためのドット個数データ変換テーブルの一例を概念的に説明したものである。このドット個数データ変換テーブルには、図１６や図２９にて説明したドット個数データ変換テーブルと同様に、ドット個数データが各分類番号毎にそれぞれ多値階調値データ別に各々対応付けられて設定され、『分類番号』と『多値階調値データ』とからそれぞれ対応するドット個数データを導き出せるようになっている。『分類番号』は、図１６や図２９の場合と同様、『１』〜『１０２４』の番号にて表される。また、『多値階調値データ』についても、図１６の場合と同様、『０』〜『３１』までの数値にて表される。ドット個数データは、これら『１』〜『１０２４』の分類番号と、『０』〜『３１』の多値階調値データとに応じてそれぞれ個別に用意されている。
【０２１１】
ただし、『ドット個数データ』は、図１６や図２９の場合と異なり、『０』〜『９６８』の数値にて表されている。このように『ドット個数データ』が、『０』〜『９６８』の値を取るように設定されているのは、次の理由からである。すなわち、ドット個数データは、前述したように、形成すべきドットの個数の他、形成すべき各ドットのサイズ（即ち「小ドット」、「中ドット」、「大ドット」）をも表すコード化されたデータとなっている。『４×４モード』の場合には、ドット個数データに基づき、前述したように８つの画素についてドット形成の有無を決定するのではなく、１６個の画素（横４画素×縦４画素）についてドット形成の有無を決定する。１６個の画素について形成され得るドット個数は、最大でも１６個である。各画素において取り得る状態としては、「大ドット」、「中ドット」、「小ドット」、「ドット形成なし」の４段階であるから、ドット個数の組合せは、４Ｈ１６（＝４＋１６−１Ｃ１６）＝９６９通りとなる。このことから、ドット個数データを『０』〜『９６８』の値で表せば、全ての組合せを表現することができる。
【０２１２】
図３２は、ドット個数データと、このドット個数データにより表される、形成すべきドットの個数およびサイズに関する情報との対応関係の一例を説明したものである。ドット個数データは、前述したように、『０』〜『９６８』の数値を取るようになっている。ドット個数データの『０』〜『９６８』の数値は、それぞれドット形成の有無と、ドットのサイズとを表すようになっている。
【０２１３】
本実施形態では、このような『４×４モード』にて使用されるドット個数データ変換テーブルに関するデータがＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納されている。ドット形成用データ生成ユニット１８４は、多値階調値データバッファ１８８から多値階調値データを取得して、『４×４モード』にてドット個数データに変換する際に、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納された『４×４モード』のドット個数データ変換テーブルに関するデータを参照する。
【０２１４】
なお、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納される『４×４モード』のドット個数データ変換テーブルに関するデータは、例えば、ＳＰＣ複合装置１に搭載されたＲＯＭ９２等の不揮発性メモリに格納されていて、ドット形成用データ生成ユニット１８４が『４×４モード』にてドット個数データに変換するにあたって、ＲＯＭ９２等の不揮発性メモリから読み出されて、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納される。
【０２１５】
ドット形成用データ生成ユニット１８４は、『４×４モード』の場合に、このドット個数データ変換テーブルを参照して、多値階調値データをドット個数データに変換する。そして、ドット形成用データ生成ユニット１８４は、この変換により取得したドット個数データに基づき、横４画素×縦４画素、計１６個の画素について個別にドット形成の有無を決定する。このとき、ドット形成用データ生成ユニット１８４は、『４×４モード』のために用意された順序値マトリックスに基づき、１６個の画素について個別にドット形成の有無を決定する。
【０２１６】
図３３Ａは、このときに使用される順序値マトリックスの一例を説明したものである。『４×４モード』にて使用される順序値マトリックスは、同図に示すように、横４画素、縦４画素、計１６個の画素についてそれぞれドットを形成すべき順番を表わす番号（以下、「順序値」ともいう）が設定されたマトリックスによりなる。１６個の画素についてそれぞれ設定された番号は、図１８や図３０Ａにて説明した順序値マトリックスと同様に、それぞれドットが形成されるすべき順番を表わす。つまり、順序値『１』が設定された画素は、１番最初にドットが形成されるべき画素である。順序値『２』が設定された画素は、２番目にドットが形成されるべき画素である。順序値『３』が設定された画素は、３番目にドットが形成されるべき画素である。
【０２１７】
このような順序値マトリックスは、『４×４モード』の場合でも、図１８や図３０Ａにて説明した順序値マトリックスと同様に、分類番号毎にそれぞれ個別に設定されている。つまり、順序値マトリックスは、分類番号毎にそれぞれ異なるマトリックスに設定されている。
【０２１８】
本実施形態では、このような『４×４モード』で使用される順序値マトリックスに関するデータがＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納されている。ドット形成用データ生成ユニット１８４は、取得したドット個数データに基づき、『４×４モード』にて１６個の画素についてそれぞれドット形成の有無を決定する際に、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納された『４×４モード』の順序値マトリックスに関する情報を参照する。
【０２１９】
なお、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納される『４×４モード』の順序値マトリックスに関する情報は、例えば、ＳＰＣ複合装置１に搭載されたＲＯＭ９２等の不揮発性メモリに格納されていて、ドット形成用データ生成ユニット１８４がドット個数データに基づき、『４×４モード』にて１６個の画素についてそれぞれドット形成の有無を決定するにあたって、ＲＯＭ９２等の不揮発性メモリから読み出されて、ＡＳＩＣ９５側のＳＤＲＡＭ１０２に格納される。
【０２２０】
このような順序値マトリックスに基づき、１６個の画素についてそれぞれドット形成の有無を決定する方法は、図１９にて説明した場合と同じ方法である。すなわち、まずはじめに、ドットが目立ち易い大きいサイズのドットから順に、形成すべき画素の位置を決定する。
【０２２１】
図３３Ｂは、『４×４モード』において、ドット個数データと順序値マトリックスとに基づき、１６個の画素についてそれぞれドット形成の有無を決定する手順の一例を概念的に説明したものである。ここでは、大ドットを６個、中ドットを４個、小ドットを１個、それぞれ形成すべき旨を表すドット個数データに基づき、図３３Ａにて説明した順序値マトリックスを用いてドット形成の有無を決定する場合を例にして説明する。
【０２２２】
ここで、順序値『１』に対応する画素には、１番大きいドット、即ち大ドット（『１１』）が設定される。形成すべき大ドットの個数は６個であるから、順序値『２』〜『６』に対応する画素にも、大ドット（『１１』）が設定されることになる。次に、順序値『７』に対応する画素には、中ドット（『１０』）が設定される。形成すべき中ドットの個数は４個であるから、順序値『８』〜『１０』に対応する画素にも、中ドット（『１０』）が設定される。次に、順序値『１１』に対応する画素には、小ドット（『０１』）が設定される。形成すべき小ドットの個数は、１個であるから、他の残りの画素、即ち順序値『１２』〜『１６』に対応する画素には、ドットが形成されないことになる。
【０２２３】
このようにしてドット形成用データ生成ユニット１８４は、『４×４モード』の場合に、多値階調値データに基づき、横４画素×縦４画素、計１６個の画素についてそれぞれドット形成の有無を決定する。そして、ドット形成用データ生成ユニット１８４は、ドット形成の有無を決定した１６個の画素を全てドット形成用データとして用いる。
【０２２４】
＜実際に実行される処理＞
ドット形成用データ生成ユニット１８４は、多値化処理ユニット１８２により生成された多値階調値データに基づき、印刷される画像のドット形成用データを１ラスタラインずつ生成する。図３４は、このときに行われる処理のイメージを概略的に説明したものである。ドット形成用データ生成ユニット１８４は、多値階調値データバッファ１８８に格納された多値階調値データの中から、１つのラスタラインに対応する多値階調値データを取得する。そして、取得したその多値階調値データに基づき、１ラスタライン分のドット形成用データを生成する。つまり、例えば、まずはじめに、同図に示す１行目のラスタラインＭ１のドット形成用データを形成する場合、ドット形成用データ生成ユニット１８４は、当該１行目のラスタラインＭ１に対応する多値階調値データを多値階調値データバッファ１８８から取得する。また、２行目のラスタラインＭ２のドット形成用データを生成する場合には、ドット形成用データ生成ユニット１８４は、当該２行目のラスタラインＭ２に対応する多値階調値データを多値階調値データバッファ１８８から取得する。また、３行目のラスタラインＭ３のドット形成用データを生成する場合には、ドット形成用データ生成ユニット１８４は、当該３行目のラスタラインＭ３に対応する多値階調値データを多値階調値データバッファ１８８から取得する。このようにしてドット形成用データ生成ユニット１８４は、１ラスタラインずつドット形成用データを生成する。
【０２２５】
図３５Ａ〜図３５Ｇは、各モードにおけるドット形成用データの生成方法の一例をそれぞれ説明したものである。図３５Ａは、『１×１モード』の場合の一例を説明したものである。図３５Ｂは、『２×１モード』の場合の一例を説明したものである。図３５Ｃは、『１×２モード』の場合の一例を説明したものである。図３５Ｄは、『２×２モード』の場合の一例を説明したものである。図３５Ｅは、『４×２モード』の場合の一例を説明したものである。図３５Ｆは、『２×４モード』の場合の一例を説明したものである。図３５Ｇは、『４×４モード』の場合の一例を説明したものである。
【０２２６】
（１）１×１モードの場合
『１×１モード』の場合には、図２０にて説明したように、８つの画素の中から１つの画素のデータが切り出される。ドット形成用データ生成ユニット１８４は、このようにして切り出した１つの画素のデータを、１つのラスタラインを構成する画素のデータとしてそのまま用いる。つまり、図３５Ａにて説明するように、ドット形成用データ生成ユニット１８４が、例えば、１行目のラスタラインＭ１を生成する際に、切り出された１つの画素のデータ（ここでは、『１１』（大ドット）のデータ）が、そのままそのラスタラインＭ１を構成する画素のデータとして用いられる。このようにして順次、１行目のラスタラインＭ１に対応する多値階調値データを多値階調値データバッファ１８８から取得して、１行目のラスタラインＭ１のドット形成用データを生成する。
【０２２７】
他のラスタラインＭ２、Ｍ３、Ｍ４、Ｍ５についても同様、８つの画素の中から切り出された１つの画素のデータを各ラスタラインＭ２、Ｍ３、Ｍ４、Ｍ５を構成する画素のデータとして用いて、各ラスタラインＭ２、Ｍ３、Ｍ４、Ｍ５のドット形成用データを生成する。
【０２２８】
（２）２×１モードの場合
『２×１モード』の場合には、図２２にて説明したように、８つの画素の中から、横２画素×縦１画素、計２個の横に並ぶ２つの画素のデータが切り出される。ドット形成用データ生成ユニット１８４は、このようにして切り出した２つの画素のデータを、１つのラスタラインを構成する画素のデータとしてそのまま用いる。つまり、図３５Ｂにて説明するように、ドット形成用データ生成ユニット１８４が、例えば、１行目のラスタラインＭ１を生成する際に、切り出された２つの画素のデータ（ここでは、『１０』（中ドット）および『０１』（小ドット））が、そのまま、そのラスタラインＭ１を構成する画素のデータとして用いられる。すなわち、横に並んだ状態にて２つの画素のデータ（『１０』および『０１』）が、そのラスタラインＭ１を構成する画素のデータとして貼り付けられる。このようにして順次、多値階調値データバッファ１８８から１行目のラスタラインＭ１に対応する多値階調値データを取得して、１行目のラスタラインＭ１のドット形成用データを生成する。
【０２２９】
他のラスタラインＭ２、Ｍ３、Ｍ４、Ｍ５についても同様、８つの画素の中から切り出された２つの画素のデータを、各ラスタラインＭ２、Ｍ３、Ｍ４、Ｍ５を構成する画素のデータとして用いて、各ラスタラインＭ２、Ｍ３、Ｍ４、Ｍ５のドット形成用データを生成する。
【０２３０】
（３）１×２モードの場合
『１×２モード』の場合には、図２４にて説明したように、８つの画素の中から横１個×縦２個の計２個の画素が切り出される。このようにして縦方向に並ぶ画素が切り出された場合、ドット形成用データ生成ユニット１８４は、切り出された２つの画素のデータを、それぞれ異なるラスタラインを構成する画素のデータとして用いる。つまり、切り出された２つの画素のうちの一方の画素のデータが、あるラスタラインを構成する画素のデータとして用いられた場合、他方の画素のデータは、あるラスタラインとは異なる別のラスタラインを構成する画素のデータとして用いられる。例えば、図３５Ｃにて説明するように、ドット形成用データ生成ユニット１８４が１行目のラスタラインＭ１を生成する際には、縦方向に並ぶ２つの画素のうち、上段に位置する画素のデータ（ここでは、『１０』（中ドット））が、１行目のラスタラインＭ１を構成する画素のデータとして用いられる。一方、ドット形成用データ生成ユニット１８４が、２行目のラスタラインＭ２を生成する際には、縦方向に並ぶ２つの画素のうち、下段に位置する画素のデータ（ここでは、『０１』（小ドット））が、２行目のラスタラインＭ２を構成する画素のデータとして用いられる。このようにして２つのラスタラインＭ１、Ｍ２は、同じ多値階調値データに対応して切り出された画素によって、各々生成される。
【０２３１】
他のラスタラインＭ３、Ｍ４についても同様、同じ多値階調値データに対応して切り出された画素によってそれぞれ生成される。
【０２３２】
（４）２×２モードの場合
『２×２モード』の場合には、図２６にて説明したように、８つの画素の中から横２画素×縦２画素の計４個の画素が切り出される。ここで切り出された４個の画素は、縦方向に並ぶ画素が２つあることから、２つの異なるラスタラインのドット形成用データとして用いられる。つまり、図３５Ｄにて説明するように、ドット形成用データ生成ユニット１８４が、例えば、１行目のラスタラインＭ１を生成する際には、４個の画素のうち、上段に位置する２つの画素のデータ（ここでは、『１１』（大ドット）および『０１』（小ドット））が、１行目のラスタラインＭ１を構成する画素のデータとして用いられる。一方、ドット形成用データ生成ユニット１８４が、２行目のラスタラインＭ２を生成する際には、４個の画素のうち、下段に位置する２つの画素（ここでは、『００』（ドット形成無し）および『１０』（中ドット））が、２行目のラスタラインＭ２を構成する画素のデータとして用いられる。このようにして２つのラスタラインＭ１、Ｍ２は、同じ多値階調値データから順次生成される。
【０２３３】
他のラスタラインＭ３、Ｍ４についても同様、同じ多値階調値データに対応して切り出された４個の画素によって順次生成される。
【０２３４】
（５）４×２モードの場合
『４×２モード』の場合には、図２８にて説明したように、８つの画素が全て切り出される。この場合でも、切り出された８個の画素には、縦方向に並ぶ画素を含むことから、２以上の異なるラスタラインのドット形成用データとして用いられる。つまり、図３５Ｅにて説明するように、ドット形成用データ生成ユニット１８４が、例えば、１行目のラスタラインＭ１を生成する際には、８個の画素のうち、上段に位置する４つの画素（ここでは、『１１』（大ドット）、『００』（ドット形成無し）、『１０』（中ドット）および『００』（ドット形成無し））が、１行目のラスタラインＭ１を構成する画素のデータとして用いられる。一方、ドット形成用データ生成ユニット１８４が、２行目のラスタラインＭ２を生成する際には、８個の画素のうち、下段に位置する４つの画素（ここでは、『００』（ドット形成無し）、『０１』（小ドット）、『００』（ドット形成無し）および『１０』（中ドット））が、２行目のラスタラインＭ２を構成する画素のデータとして用いられる。このようにして２つのラスタラインＭ１、Ｍ２は、同じ多値階調値データから順次生成される。
【０２３５】
他のラスタラインＭ３、Ｍ４についても同様、同じ多値階調値データに対応して切り出された画素によってそれぞれ生成される。
【０２３６】
（６）２×４モードの場合
『２×４モード』の場合には、図３０Ｂにて説明したように、横２画素×縦４画素の計８個の画素が切り出される。ここで切り出された８個の画素も、縦方向に並ぶ画素を４個有していることから、４つの異なるラスタラインのドット形成用データとして用いられる。つまり、図３５Ｆにて説明するように、ドット形成用データ生成ユニット１８４が、例えば、１行目のラスタラインＭ１を生成する際には、８個の画素のうち、上から１段目に並ぶ２つの画素のデータ（ここでは、『００』（ドット形成無し）および『１１』（大ドット））が、１行目のラスタラインＭ１を構成する画素のデータとして用いられる。また、ドット形成用データ生成ユニット１８４が、２行目のラスタラインＭ２を生成する際には、８個の画素のうち、上から２段目に並ぶ２つの画素のデータ（ここでは、『０１』（小ドット）および『００』（ドット形成無し））が、２行目のラスタラインＭ２を構成する画素のデータとして用いられる。また、ドット形成用データ生成ユニット１８４が、３行目のラスタラインＭ３を生成する際には、８個の画素のうち、上から３段目に並ぶ２つの画素のデータ（ここでは、『１０』（中ドット）および『００』（ドット形成無し））が、３行目のラスタラインＭ３を構成する画素のデータとして用いられる。また、ドット形成用データ生成ユニット１８４が、４行目のラスタラインＭ４を生成する際には、８個の画素のうち、最下段に並ぶ２つの画素のデータ（ここでは、『００』（ドット形成無し）および『１０』（中ドット））が、４行目のラスタラインＭ４を構成する画素のデータとして用いられる。このようにして４つのラスタラインＭ１、Ｍ２、Ｍ３、Ｍ４は、同じ多値階調値データから順次生成される。
【０２３７】
（７）４×４モードの場合
『４×４モード』の場合には、図３３Ｂにて説明したように、１６個の画素が全て切り出される。ここで切り出される１６個の画素は、縦方向に並ぶ画素を含むことから、４本の異なるラスタラインのドット形成用データとして用いられる。つまり、図３５Ｇにて説明するように、ドット形成用データ生成ユニット１８４が、例えば、１行目のラスタラインＭ１を生成する際には、１６個の画素のうち、上から１段目に並ぶ４つの画素のデータ（ここでは、『１１』（大ドット）、『００』（ドット形成無し）、『１１』（大ドット）および『１０』（中ドット））が、ラスタラインＭ１を構成する画素のデータとして用いられる。また、ドット形成用データ生成ユニット１８４が、２行目のラスタラインＭ２を生成する際には、１６個の画素のうち、上から２段目に並ぶ４つの画素のデータ（ここでは、『１１』（大ドット）、『０１』（小ドット）、『１１』（大ドット）および『０１』（小ドット））が、ラスタラインＭ２を構成する画素のデータとして用いられる。また、ドット形成用データ生成ユニット１８４が、３行目のラスタラインＭ３を生成する際には、１６個の画素のうち、上から３段目に並ぶ４つの画素のデータ（ここでは、『００』（ドット形成無し）、『１０』（中ドット）、『００』（ドット形成無し）および『１１』（大ドット））が、ラスタラインＭ３を構成する画素のデータとして用いられる。また、ドット形成用データ生成ユニット１８４が、４行目のラスタラインＭ４を生成する際には、最下段に並ぶ４つの画素のデータ（ここでは、『００』（ドット形成無し）、『１０』（中ドット）、『００』（ドット形成無し）および『１１』（大ドット））が、ラスタラインＭ４を構成する画素のデータとして用いられる。このようにして４つのラスタラインＭ１、Ｍ２、Ｍ３、Ｍ４は、同じ多値階調値データから順次生成される。
【０２３８】
＜ラスタラインの生成順序＞
なお、ドット形成用データの各ラスタラインの生成順序については、必ずしも１行目のラスタラインから順に、２行目、３行目、４行目と順次生成されるとは限らない。つまり、ドット形成用データ生成ユニット１８４により１行目のラスタラインが生成された後、次に３行目のラスタラインが生成されたり、また４行目のラスタラインが生成される場合がある。これは、ヘッド２１へのヘッド駆動データの送信順序と関係する。つまり、ヘッド２１に対して先に送信すべきヘッド駆動データに対応するラスタラインから順に、ドット形成用データ生成ユニット１８４により生成される。一方、ヘッド２１に対して後から送信されるヘッド駆動データに対応するラスタラインについては、ドット形成用データ生成ユニット１８４により後から生成される。
【０２３９】
ドット形成用データ生成ユニット１８４は、各ラスタラインを生成する都度、多値階調値データバッファ１８８から多値階調値データを取得して、その取得した多値階調値データをドット個数データに変換し、そのドット個数データに基づき１以上の画素について個別にドット形成の有無を決定し、その１以上の画素のうちの少なくとも一部の画素のデータを、ラスタラインを構成する画素のデータとして用いる。
【０２４０】
このため、『１×２モード』や『２×２モード』、『４×２モード』、『２×４モード』、『４×４モード』の場合には、ドット形成用データ生成ユニット１８４は、各ラスタラインを生成する都度、多値階調値データバッファ１８８から同じ多値階調値データを２回以上取得して、ラスタラインを構成する画素のデータを取得することになる。
【０２４１】
＜ドット形成用データバッファ＞
ドット形成用データ生成ユニット１８４により生成されたドット形成用データの各ラスタラインのデータは、イメージバッファユニット１１２に送られる前に、一旦、ＡＳＩＣ用ＳＤＲＡＭ１０２に設けられたドット形成用データバッファ１９０に格納される。このドット形成用データバッファ１９０は、ドット形成用データ生成ユニット１８４により生成されたドット形成用データが、２以上のラスタライン分格納されている。
【０２４２】
イメージバッファユニット１１２は、このドット形成用データバッファ１９０に格納されたドット形成用データを１ラスタラインずつ順次読み出して、イメージバッファ１２６、１２７にヘッド駆動データとして格納する。
【０２４３】
イメージバッファ１２６、１２７に格納されたヘッド駆動データは、バスコントローラ１１４を介してＣＰＵ９０に読み込まれて、ＣＰＵ９０によりヘッドコントロールユニット１１６へと転送される。ヘッドコントロールユニット１１６へと転送されたヘッド駆動データは、順次ヘッド２１へと送出されて、印刷処理が実行される。
【０２４４】
＝＝＝ＳＤＲＡＭの領域割り当て＝＝＝
ＡＳＩＣ９５用のＳＤＲＡＭ１０２内のデータ格納領域について説明する。図３６は、そのＳＤＲＡＭ１０２のデータ格納領域の割り当て状況について説明する。ＳＤＲＡＭ１０２のデータ格納領域には、ラインバッファ１２０が設けられる領域１０２Ａと、ルックアップテーブル１３６（ＬＵＴ）が格納される領域１０２Ｂと、多値化テーブルが格納される領域１０２Ｃと、ドット個数データ変換テーブルが格納される領域１０２Ｄと、順序値マトリックスに関するデータが格納される領域１０２Ｅと、多値階調値データバッファ１８８が設定される領域１０２Ｆと、ドット形成用データバッファ１９０が設定される領域１０２Ｇと、イメージバッファ１２６、１２７が設定される領域１０２Ｈと、その他のデータが格納される領域１０２Ｉが設けられる。
【０２４５】
領域１０２Ｄには、ドット個数データ変換テーブルとして、『１×１モード』〜『４×２モード』にて使用されるドット個数データ変換テーブルと、『２×４モード』にて使用されるドット個数データ変換テーブルと、『４×４モード』にて使用されるドット個数データ変換テーブルとが格納される。また、領域１０２Ｅには、順序値マトリックスに関するデータとして、『１×１モード』〜『４×２モード』にて使用される順序値マトリックスに関するデータと、『２×４モード』にて使用される順序値マトリックスに関するデータと、『４×４モード』にて使用される順序値マトリックスに関するデータとが格納される。
【０２４６】
ここで、多値階調値データバッファ１８８が設定される領域１０２Ｆは、多値階調値データバッファ１８８に格納される多値階調値データが、媒体Ｓに印刷される画像（出力画像）の解像度に依存しない所定のビット数のデータであることから、媒体Ｓに印刷される画像（出力画像）の解像度に関わりなく一定にすることができる。これにより、高い解像度にて媒体Ｓに画像を印刷するときには、ＳＤＲＡＭ１０２上に確保しなければならない多値階調値データバッファ１８８の大きさを大幅に小さくすることができる。また、ＳＤＲＡＭ１０２へのアクセス回数を抑制することができる。
【０２４７】
＝＝＝ディザ法の概要＝＝＝
前述した多値化処理およびドット形成用データ生成処理は、いわゆるディザ法と呼ばれる方法をベースに実行されるものである。前述した多値化処理およびドット形成用データ生成処理において、分類番号を決定する考え方や、多値化テーブル、ドット個数データ変換テーブル、順序値マトリックスなどの設定方法は、すべてこのディザ法に基づいている。ここで、ディザ法の概要について簡単に説明する。
【０２４８】
ディザ法とは、画像データを、画素毎にドット形成の有無を表すデータに変換するために用いられる代表的な手法である。この手法では、ディザマトリックスと呼ばれるマトリックスに閾値を設定しておき、画像データの各画素の階調値とディザマトリックスに設定されている閾値とを画素毎に比較して、階調値の方が大きい画素についてはドットを形成すると判断し、そうでない画素についてはドットを形成しないと判断する。このような判断を画像データ中の全画素について行う。これによって、画像データを画素毎にそれぞれドット形成の有無を表すデータに変換することができる。
【０２４９】
図３７Ａは、ディザマトリックスの一部を拡大して例示した説明図である。図示したマトリックスには、横方向に１２８画素、縦方向に６４画素、合計８１９２個の画素に、階調値「１」〜「２５５」の範囲から万遍なく選択された閾値がランダムに記憶されている。ここで、閾値の階調値が「１」〜「２５５」の範囲から選択されているのは、本実施例では、画像データの画素が階調値「０」〜「２５５」の値を取り得る１バイトデータとしていることに加えて、画像データの画素の階調値と閾値とが等しい場合、その画素にはドットを形成するものと判断していることによるものである。
【０２５０】
すなわち、ドットが形成されるのは、画像データの階調値が閾値よりも大きい画素に限る（すなわち階調値と閾値とが等しい画素には、ドットは形成しない）とした場合、画像データが取り得る最大階調値と同じ値の閾値を有する画素には、決してドットが形成されることはない。こうしたことを避けるため、閾値の取り得る範囲は、画素が取り得る範囲から最大階調値を除いた範囲とする。逆に、画像データの階調値と閾値とが等しい画素にもドットを形成するとした場合、画像データの取り得る最小階調値と同じ値の閾値を有する画素には、常にドットが形成されてしまうことになる。こうしたことを避けるため、閾値の取り得る範囲は、画像データの取り得る範囲から最小階調値を除いた範囲とする。本実施例では、画像データの取り得る階調値が「０」〜「２５５」であり、画像データと閾値が等しい画素にはドットを形成するとしていることから、閾値の取り得る範囲を「１」〜「２５５」としておくのである。なお、ディザマトリックスの大きさは、図３７Ａに例示したような大きさに限られるものではなく、縦と横の画素数が同じマトリックスも含めて種々の大きさとすることができる。
【０２５１】
図３７Ｂは、ディザマトリックスを参照しながら、各画素についてのドット形成の有無を判断している様子を概念的に示した説明図である。ドット形成の有無を判断するに際しては、先ず、判断しようとする画素を選択し、この画素についての画像データの階調値と、ディザマトリックス中で対応する位置に記憶されている閾値とを比較する。図３７Ｂ中に示した細い破線の矢印は、画像データの階調値と、ディザマトリックスに記憶されている閾値とを、画素毎に比較していることを模式的に表したものである。例えば、画像データの左上隅の画素については、画像データの階調値は「９７」であり、ディザマトリックスの閾値は「１」であるから、この画素には、ドットを形成すると判断する。図３７Ｂ中に実線で示した矢印は、この画素には、ドットを形成すると判断して、判断結果をメモリに書き込んでいる様子を模式的に表したものである。一方、この画素の右隣の画素については、画像データの階調値は「９７」、ディザマトリックスの閾値は「１７７」であり、閾値の方が大きいので、この画素については、ドットを形成しないと判断する。ディザ法では、こうしてディザマトリックスを参照しながら、画素毎にドットを形成するか否かを判断することで、画像データを画素毎にドット形成の有無を表すデータに変換する。
【０２５２】
＝＝＝分類番号を設定するための考え方＝＝＝
＜分類番号＞
分類番号は、前述した図３７Ａに示すディザマトリックスに基づき設定される。つまり、ディザマトリックスには、横方向に１２８画素、縦方向に６４画素、合計８１９２個の画素が形成されている。これら８１９２個の画素を、横方向に４画素、縦方向に２画素を１つの単位ブロックとして区分して、これら区分された各単位ブロック毎にそれぞれ個別に設定した通し番号が、「分類番号」となっている。
【０２５３】
図３８は、分類番号を設定するための考え方を示した説明図である。図３８Ａは、画像の一番左上隅の箇所において、横方向に４画素、縦方向に２画素の合計８画素を１つの単位ブロックとして区分した様子を概念的に示したものである。図３８Ｂは、このようにディザマトリックスの画素を区分して、各単位ブロックごとにそれぞれ「分類番号」が設定されたときの様子を説明したものである。  
ディザマトリックスには、横方向に４画素、縦方向に２画素を１つの単位ブロックとして区分することによって、横方向および縦方向にそれぞれ３２個ずつ、合計１０２４個の単位ブロックが形成される。これら１０２４個の単位ブロックに対してそれぞれ個別に通し番号を設定する。これにより、ディザマトリックスの各単位ブロックごとにそれぞれ『１』〜『１０２４』の分類番号が振られることになる。
【０２５４】
図３８Ｃは、画像データにディザマトリックスを適用した場合の一例について説明したものである。このように画像データにディザマトリックスを適用した場合、画像データの一番左上隅にある画素には、少なくとも、分類番号『１』が設定されることになる。なお、画像データの各画素への分類番号の設定方法は、先に図１３Ａ〜図１３Ｅにて説明したように、媒体Ｓに画像を印刷する際の解像度（出力解像度）に応じて異なる。つまり、『１×１モード』、『２×１モード』、『１×２モード』、『２×２モード』、『４×２モード』、『２×４モード』および『４×４モード』の各モードに応じて、各画素への分類番号の設定方法が異なる。
【０２５５】
＜分類番号の設定方法が異なる理由＞
ここで、ＣＭＹＫ画像データの各画素への分類番号の設定方法が、媒体Ｓに画像を印刷する際の解像度（出力解像度）に応じて異なる理由について説明する。つまり、分類番号は、ディザマトリックス上のにおいて、横４画素、縦２画素、合計８個の画素を１つの単位とした単位ブロックごとにそれぞれ割り振られている。このため、１つの分類番号に対応する１つの単位ブロックが適用されるのは、８個の画素ということになる。ＣＭＹＫ画像データ上の１つの画素から生成されるドット形成用データ上の画素の数は、媒体Ｓに画像を印刷する際の解像度（出力解像度）に応じて異なるから、出力解像度毎にそれぞれ異なる方法にて分類番号を設定する必要がある。
【０２５６】
『１×１モード』の場合には、ＣＭＹＫ画像データの中の１つの画素から、ドット形成用データとして１つの画素分のデータしか生成されない。このため、『１×１モード』の分類番号は、図１３Ａにて説明するように、横方向に４つ、縦方向に２つ、計８つの画素を１つの単位として同一の分類番号が設定されることになる。  
また、『２×１モード』の場合には、ＣＭＹＫ画像データの中の１つの画素から、ドット形成用データとして横方向に並ぶ２つの画素分のデータしか生成されない。このため、『２×１モード』の分類番号は、図１３Ｂにて説明するように、横方向に２つ、縦方向に２つ、計４つの画素を１つの単位として同一の分類番号が設定されることになる。  
また、『１×２モード』の場合には、ＣＭＹＫ画像データの中の１つの画素から、ドット形成用データとして縦方向に並ぶ２つの画素分のデータしか生成されない。このため、『１×２モード』の分類番号は、図１３Ｃにて説明するように、横方向に４つ、縦方向に１つ、計４つの画素を１つの単位として同一の分類番号が設定されることになる。  
また、『２×２モード』の場合には、ＣＭＹＫ画像データの中の１つの画素から、ドット形成用データとして横方向に２つ、縦方向に２つ並ぶ、計４つの画素分のデータしか生成されない。このため、『２×２モード』の分類番号は、図１３Ｄにて説明するように、横方向に並ぶ２つの画素を１つの単位として同一の分類番号が設定されることになる。  
また、『４×２モード』の場合には、ＣＭＹＫ画像データの中の１つの画素から、ドット形成用データとして横方向に４つ、縦方向に２つ並ぶ計８つ分の画素のデータが生成される。このため、『４×２モード』の分類番号は、図１３Ｅにて説明するように、各画素毎にそれぞれ異なる分類番号が設定されることになる。
【０２５７】
＜分類番号の特定方法＞
図３９は、分類番号の特定方法の一例について説明したものである。ここでは、『１×１モード』の場合の分類番号の特定方法について説明している。図３９Ａは、ＣＭＹＫ画像データ上の着目画素の位置を表している。着目画素の位置は、『●』の黒丸で示している。この着目画素の座標が（Ｘ，Ｙ）であるとする。横方向に４画素、縦方向に２画素の合計８画素を１つの単位ブロックとして区分しているから、Ｘ，Ｙについて次の関係式（１），（２）が成り立つ。  
Ｘ＝４ｎ＋α                    …………（１）
Ｙ＝２ｍ＋β                    …………（２）
ここで、ｎ、ｍは０以上の整数である。また、αは、０〜３の整数である。また、βは、１または０である。ｎは、着目画素の左側に並ぶ単位ブロックの数を表わす。また、ｍは、着目画素の上側に並ぶ単位ブロックの数を表す。
【０２５８】
ディザマトリックスは、例えば、図３９Ｂに示すように、ＣＭＹＫ画像データ上を横方向に少しずつ移動させながら、ＣＭＹＫ画像データの各画素に対して繰り返し適用される。ここで、着目画素には、図３９Ｃに示すように、ディザマトリックス中のＭ行Ｎ列目の単位ブロックが適用されるものとする。１つのディザマトリックスには、横方向および縦方向にそれぞれ３２個ずつ単位ブロックが設定されているから、『Ｍ』および『Ｎ』は、次の関係式（３）、（４）から簡単に求めることができる。  
Ｎ＝ｎ−ｉｎｔ（ｎ／３２）×３２＋１  …………（３）
Ｍ＝ｍ−ｉｎｔ（ｍ／３２）×３２＋１  …………（４）
ここで、ｉｎｔは、小数点以下を切り捨てて整数化することを表す演算子である。すなわち、ｉｎｔ（ｎ／３２）は、ｎ／３２の計算結果に対して小数点以下の数値を切り捨てることによって得られた整数値を表している。このように着目画素の座標（Ｘ，Ｙ）がわかれば、これらＸおよびＹから、着目画素が属する単位ブロックを特定することができる。これによって、着目画素に対してどの分類番号を設定すべきなのか調べることができる。
【０２５９】
なお、ここでは、『１×１モード』の場合を例にして説明したが、他のモードの場合についても、各々個別の関係式を用いることにより、着目画素の座標（Ｘ，Ｙ）から、当該着目画素に対応するディザマトリックス上の単位ブロックの位置を特定することができる。これによって、着目画素に設定すべき分類番号を導き出すことができる。
【０２６０】
＜他の設定方法について＞
なお、ここでは、分類番号がディザマトリックス上において、横４画素×縦２画素、計８画素を１つの単位ブロックとして各単位ブロックごとにそれぞれ設定されていたが、分類番号の設定方法にあってはこのような方法に限らない。すなわち、例えば、分類番号は、ディザマトリックス上において、横２画素×縦２画素、計８画素を１つの単位ブロックとして各単位ブロック毎に設定されてもよく、また、横４画素×縦４画素、計１６画素を１つの単位ブロックとして各単位ブロック毎に設定されても良い。つまり、前述した実施の形態では、１つの多値階調値データに基づき、横４画素×縦２画素、計８画素について各々ドット形成の有無を決定する関係から、１つの単位ブロックが横４画素×縦２画素の大きさを有していたが、分類番号が設定される単位ブロックの大きさは、前述した実施形態の大きさに限らない。
【０２６１】
＝＝＝多値化テーブルの設定方法＝＝＝
次に、図１２Ａに示した多値化テーブルの設定方法について説明する。前述したように、多値化テーブルには、多値階調値データが画素の分類番号毎にそれぞれ画素の階調値別に各々対応付けられて設定されている。多値化テーブルを参照しながら多値化することで、画素の階調値を、図１２Ｂに示したように分類番号に応じた固有な態様で多値化することができる。
【０２６２】
本実施形態の多値化テーブルは、大きさの異なる複数種類のドットについて画素毎にドット形成の有無を判断可能なように、前述したディザ法を発展させた手法を基にして設定されている。多値化テーブルの設定方法を説明する前に、当該設定方法を理解する上で必要な基本的な技術の内容について簡単に説明しておく。
【０２６３】
＜密度データ＞
図４０は、ディザ法を発展させて、画素毎に大ドット・中ドット・小ドットの形成の有無を決定可能としたハーフトーン処理の流れを示すフローチャートである。ハーフトーン処理を開始すると、先ず初めに、ドットの形成有無を判断しようとする画素を選択して、その画素の階調値を取得する（ステップＳ４００）。次いで、取得した画像データを、大中小の各ドットについての密度データに変換する。ここで、密度データとは、ドットをどの程度の密度で形成するかを表すデータである。密度データは、階調値が大きくなる程、ドットが高い密度で形成されることを表している。例えば、密度データの階調値「２５５」は、ドットの形成密度が１００％、すなわち全ての画素にドットが形成されることを表しており、密度データの階調値「０」は、ドットの形成密度が０％、すなわちいずれの画素にもドットが形成されないことを表している。こうした密度データへの変換は、ドット密度変換テーブルと呼ばれる数表を参照することによって行うことができる。
【０２６４】
図４１は、各画素の階調値を大中小各ドットについての密度データに変換する際に参照されるドット密度変換テーブルを概念的に示した説明図である。図示されているように、ドット密度変換テーブルには、画素の階調値に対して、小ドット・中ドット・大ドットの各ドットについての密度データが設定されている。階調値が「０」近傍の領域では、中ドット・大ドットの密度データは、いずれも階調値が「０」に設定されている。小ドットの密度データは、階調値が大きくなるに連れて増加して行くが、階調値がある値に達すると今度は逆に減少し始め、代わりに中ドットの密度データが増加し始める。階調値が更に増加してある値に達すると、小ドットの密度データが階調値「０」となり、中ドットの密度データが減少し始めて、代わりに大ドットの密度データが少しずつ増加していく。図４０のステップＳ４０２では、このドット密度変換テーブルを参照しながら、画素の階調値を、大ドットの密度データ、中ドットの密度データ、小ドットの密度データに変換する処理を行う。
【０２６５】
＜大ドットの形成有無の判断＞
処理対象とする画素について、大中小各ドットの密度データが得られたら、先ず初めに大ドットについての形成有無を判断する（図４０のステップＳ４０４）。かかる判断は、大ドットの密度データと、処理対象としている画素の対応する位置に設定されているディザマトリックスの閾値とを比較することによって行う。大ドットの密度データが閾値よりも大きい場合は、処理対象の画素には大ドットを形成するものと判断し、逆に密度データの方が小さい場合は、大ドットは形成しないものと判断する。
【０２６６】
次いで、処理対象の画素に大ドットを形成すると判断されているか否かを判定し（ステップＳ４０６）、大ドットを形成すると判断されている場合は（ステップＳ４０６：ｙｅｓ）、中ドットおよび小ドットについての判断は省略して、全画素を終了したか否かを判断する（ステップＳ４１８）。そして、ドット形成の有無を未判断の画素が残っている場合は（ステップＳ４１８：ｎｏ）、ステップＳ４００に戻って新たな画素を選択し、続く一連の処理を行う。
【０２６７】
＜中・小ドットの形成有無の判断＞
一方、処理対象の画素に大ドットを形成すると判断されていない場合は（ステップＳ４０６：ｎｏ）、中ドットについての形成有無を判断するべく、大ドットの密度データに中ドットの密度データを加算して中ドット用の中間データを算出する（ステップＳ４０８）。こうして得られた中ドット用の中間データと、ディザマトリックスの閾値とを比較する。そして、中ドット用の中間データの方が閾値よりも大きければ、中ドットを形成するものと判断し、逆に中間データよりもディザマトリックスの閾値の方が大きければ、中ドットを形成しないものと判断する（ステップＳ４１０）。
【０２６８】
次いで、処理対象の画素に中ドットを形成すると判断されているか否かを判定し（ステップＳ４１２）、中ドットを形成すると判断されている場合は（ステップＳ４１２：ｙｅｓ）、小ドットについての判断は省略して、全画素を終了したか否かを判断する（ステップＳ４１８）。
【０２６９】
処理対象の画素に中ドットを形成すると判断されていない場合は（ステップＳ４１２：ｎｏ）、小ドットについての形成有無を判断するべく、中ドット用の中間データに小ドットの密度データを加算して小ドット用の中間データを算出する（ステップＳ４１４）。そして、得られた小ドット用の中間データと、ディザマトリックスの閾値とを比較する。そして、小ドット用の中間データの方が閾値よりも大きければ、小ドットを形成するものと判断し、逆に中間データよりもディザマトリックスの閾値の方が大きければ、いずれのドットも形成しないものと判断する（ステップＳ４１６）。
【０２７０】
すなわち、大ドットの密度データよりもディザマトリックスに設定された閾値の方が大きい画素（大ドットが形成されない画素）については、大ドットの密度データに中ドットの密度データを加算して、得られた中間データと閾値とを比較し、中間データの方が大きくなれば、中ドットを形成すると判断する。一方、中間データよりも依然として閾値の方が大きい画素については、中間データに小ドットの密度データを加算して新たな中間データを算出する。そして、この中間データと閾値とを比較して、新たな中間データの方が大きくなれば小ドットを形成すると判断し、依然として閾値の方が大きい画素についてはいずれのドットも形成しないと判断するのである。
【０２７１】
以上のような処理を行うことにより、処理対象の画素について、大ドット、中ドット、小ドットのいずれのドットを形成するか、若しくは、いずれのドットも形成しないかを判断することができる。そこで、全画素についての処理を終了したか否かを判断し（ステップＳ４１８）、未判断の画素が残っている場合は（ステップＳ４１８：ｎｏ）、ステップＳ４００に戻って新たな画素を選択し、続く一連の処理を行う。このようにして、処理対象として選択された画素について１つずつ、大中小のいずれのドットを形成するか否かを判断していく。そして、全画素について処理を終了したと判断されたら（ステップＳ４１８：ｙｅｓ）、図４０に示したハーフトーン処理を終了する。
【０２７２】
以上、ディザマトリックスを利用して、大中小の各ドットについての形成有無を判断する方法について説明した。以下では、上述の説明を踏まえて、図１２Ａに示した多値化テーブルの設定方法について説明する。
【０２７３】
＜概念図＞
前述したように多値階調値データ生成処理およびドット形成用データ生成処理では、ＣＭＹＫ画像データの１つの画素の階調値から８つの画素についてドット形成の有無が決定される。ここで、ＣＭＹＫ画像データの１つの画素の階調値が、８つの画素の階調値を代表していると考えて、前述したハーフトーン処理に当てはめてる。
【０２７４】
図４２は、ＣＭＹＫ画像データの１つの画素の階調値が、８つの画素の階調値を代表していると考えて、ハーフトーン処理を実行したときの概要について説明したものである。図中では、ハーフトーン処理を行うために着目している８つの画素を太い実線で囲って表している。８つの画素の各階調値は、いずれも同じ値、ここでは階調値「９７」を有している。大中小各種ドットの形成有無を判断するためには、各画素の階調値を各ドットについての密度データに変換する。密度データへの変換は、図４１に示したドット密度変換テーブルを参照することによって行う。ここでは、８つの画素内の全画素が同じ階調値を有するものと考えているから、各種ドットについても密度データも全て画素について同じ値となる。図示した例では、大ドットの密度データの階調値が「２」、中ドットの密度データの階調値が「９５」、小ドットの密度データの階調値が「３０」であった場合を表している。
【０２７５】
次いで、図４０を用いて説明したように、大ドットの密度データ、中ドット用の中間データ、あるいは小ドット用の中間データと、ディザマトリックスに設定されている閾値とを比較することによって、各種ドットについての形成有無を画素毎に判断する。ここで、比較に用いるディザマトリックスの閾値は、ディザマトリックスの中から、着目している８つの画素に対応する箇所に設定されている閾値を使用する。例えば、図４２に示した例では、８つの画素が画像の左上隅にあることから、閾値についても、ディザマトリックス中の左上隅の８つの画素（１つの単位ブロック）に設定されている閾値を使用する。
【０２７６】
そして、８つの画素に設定されている８つの閾値の中で、大ドットの密度データよりも小さな閾値が設定されている画素については、大ドットを形成すると判断する。ここでは、大ドットの密度データは階調値「２」としているから、大ドットが形成される画素は、閾値「１」が設定されている画素だけである。図４２では、大ドットが形成されると判断された画素には、細かい斜線を付して表示している。大ドットの密度データ「２」よりも大きく、大ドットの密度データと中ドットの密度データとを加算して得られた中ドット用の中間データ「９７」よりも小さな閾値が設定されている画素には、中ドットを形成するものと判断する。このような画素は、閾値「４２」が設定された画素、および閾値「５８」が設定された画素の２つの画素だけである。図４２では、中ドットが形成されると判断された画素には、少し粗い斜線を付して表示している。そして、最後に、中ドット用の中間データ「９７」よりも大きく、中ドット用の中間データに小ドット用の密度データを加算して得られた小ドット用の中間データ「１２７」よりも小さな閾値が設定されている画素には、小ドットを形成するものと判断する。このような画素は、閾値「１０９」が設定された画素だけである。図４２では、小ドットが形成されると判断された画素には、粗い斜線を付して表示している。このようにして、大ドット、中ドット、小ドットの形成有無を判断した結果、着目している画素の階調値が「９７」である場合には、大ドット１個、中ドット２個、小ドット１個が形成されることになる。
【０２７７】
画素の階調値が大きく異なれば、８つの画素内に形成される大ドット、中ドット、小ドットの個数も異なったものとなる。また、画素の階調値を「０」から「２５５」まで変化させれば、それに伴って大ドット、中ドット、小ドットの個数は、幾段階かに変化するはずである。更に、画素に設定された分類番号が異なれば、ディザマトリックスの閾値も異なることから、ドット個数の変化の仕方も異なるはずである。図１２Ａに示した多値化テーブルは、画素の階調値を「０」から「２５５」まで変化させたときの、各種ドットの個数が段階的に変化する挙動を、分類番号毎に調べることによって設定されている。
【０２７８】
＜多値化テーブルの生成方法＞
図４３は、実際に、多値化テーブルを設定する処理の流れを示したフローチャートである。以下、フローチャートに従って説明する。多値化テーブルの設定処理を開始すると、先ず初めに、分類番号を１つ選択する（ステップＳ５００）。例えば、ここでは分類番号『１』を選択したものとする。  
次いで、選択した分類番号に対応する閾値を、ディザマトリックスの中から読み出してやる（ステップＳ５０２）。例えば、ここでは分類番号『１』を選択したものとしているから、図３７Ａに例示したディザマトリックスの中から、図３８Ｂ中で『１』と表示したブロック位置に設定されている８つの閾値を読み出す。  
そして、多値階調値データＲＶおよび画素の階調値ＢＤを「０」に設定し（ステップＳ５０４）、更に、大ドット、中ドット、小ドットの形成個数をいずれも０個に設定する（ステップＳ５０６）。
【０２７９】
続いて、図４１に示したドット密度変換テーブルを参照することにより、画素の階調値を大ドット、中ドット、小ドットについての密度データに変換した後（ステップＳ５０８）、これら密度データと先に読み込んでおいた閾値とに基づいて、大中小の各種ドットについての形成個数を決定する（ステップＳ５１０）。すなわち、図４０あるいは図４２を用いて説明したように、大ドットの密度データよりも小さな閾値の個数を求めて、得られた個数を大ドットの形成個数とする。また、大ドットの密度データよりも大きく且つ中ドット用の中間データよりも小さな閾値の個数を求めて、これを中ドットの形成個数とする。更に、中ドット用の中間データよりも大きく且つ小ドット用の中間データよりも小さな閾値の個数を求めて、これを小ドットの形成個数とする。
【０２８０】
こうして求めた各種ドットの形成個数が、先に設定されていた形成個数に対して変更されたか否かを判断する（ステップＳ５１２）。そして、形成個数が変更されたと判断されれば（ステップＳ５１２：ｙｅｓ）、多値階調値データＲＶを「１」だけ増加させて（ステップＳ５１４）、得られた多値階調値データＲＶを画素の階調値ＢＤに対応づけて記憶する（ステップＳ５１６）。一方、形成個数が変更されていないと判断された場合は（ステップＳ５１２：ｎｏ）、多値階調値データＲＶを増加させることなく、そのままの値を画素の階調値ＢＤに対応づけて記憶する（ステップＳ５１６）。
【０２８１】
以上のようにして、ある画素の階調値に対する多値階調値データを記憶したら、画素の階調値ＢＤが階調値２５５に達したか否かを判断する（ステップＳ５１８）。階調値２５５に達していなければ（ステップＳ５１８：ｎｏ）、画素の階調値ＢＤを「１」だけ増加させて（ステップＳ５２０）、ステップＳ５０８に戻って再び画素の階調値ＢＤを密度データに変換した後、続く一連の処理を行って、新たな画素の階調値ＢＤに対応づけて多値階調値データＲＶを記憶する（ステップＳ５１６）。画素の階調値ＢＤが階調値２５５に達するまで、こうした操作を繰り返す。そして、画素の階調値ＢＤが階調値２５５に達したら（ステップＳ５１６：ｙｅｓ）、選択した分類番号については、すべての多値階調値データを設定したことになる。
【０２８２】
そこで、すべての分類番号について、以上のような処理を行ったか否かを判断し（ステップＳ５２２）、未処理の分類番号が残っている場合は（ステップＳ５２２：ｎｏ）、ステップＳ５００に戻って再び上述した処理を行う。こうした処理を繰り返し、すべての分類番号について、すべての多値階調値データを設定したと判断されたら（ステップＳ５２２：ｙｅｓ）、図４３に示した多値化テーブル設定処理を終了する。
【０２８３】
以上の説明から明らかなように、多値階調値データは、画素の階調値を変換して得られた大中小各ドットの密度データと、ディザマトリックス中で分類番号に対応する位置に記憶されている閾値とによって決定される。ここで、図４１に示したドット密度変換テーブルは、分類番号が異なっていても同じテーブルを参照するから、画素の階調値に対する各ドットの密度データも、分類番号によらず同じ密度データが得られる。しかし、ディザマトリックスから読み出された閾値の組は、分類番号毎に異なったものとなる。何故なら、ディザマトリックスは、画像上でドットが一定のパターンで発生したり、あるいは近接した位置に固まって発生することで画質を悪化させることの無いように、閾値は出来るだけ分散させて且つ出来るだけランダムに設定されている。このため、分類番号に対応する複数個の閾値を組として見たときに、全く同じ組合せとなる可能性は極めて低いと考えられるからである。このような理由から、本実施形態の多値階調値データ生成処理で参照される多値化テーブルは、画素の階調値と多値階調値データとの対応関係が分類番号毎に異なったものとなり、また、多値階調値データが変化する回数（図１２Ｂに示した多値化の段数）も、分類番号に応じて異なったものとなっている。
【０２８４】
＝＝＝ドット個数データ変換テーブルの設定方法＝＝＝
次に、図１６に示すドット個数データ変換テーブルの設定方法について説明する。このドット個数データ変換テーブルは、図１１に示したドット形成有無決定処理中で、多値階調値データを分類番号と組み合わせて、分類番号に対応する８つの画素に形成されるドット個数を表すドット個数データに変換するために参照されるテーブルである。
【０２８５】
図４３にて説明した多値化テーブルの設定方法から明らかなように、多値化テーブルに設定されている多値階調値データは、分類番号に対応する８つの画素に形成される大中小の各ドットの個数に基づいて決定されている。もっとも、多値階調値データが、分類番号に対応する８つの画素に形成されるドット個数の組合せに直ちに対応しているわけではなく、多値階調値データと分類番号とを組み合わせることで初めて、具体的なドット個数の組合せに対応付けることができる。何故なら、多値階調値データは、画素の階調値を階調値「０」から階調値「２５５」まで増加させたときに、大中小各ドットの形成個数が変化したか否かだけを抽出し、具体的に各ドット個数の組合せがどのように変化したかを示す情報は省かれた状態で設定されているからである。
【０２８６】
とは言え、分類番号が分かっていれば、その分類番号に対応する８つの画素で何回目の変化に相当するか、すなわち多値階調値データから、各種ドットについての具体的な個数の組合せを特定することはできる。そこで、分類番号毎に、多値階調値データを設定する元になった各種ドットの具体的な個数を求め、得られたドット個数の組合せに対応するコードデータを、多値階調値データに対応付けて記憶しておく。図１６に示したドット個数データ変換テーブルは、こうした操作を、全ての分類番号について行うことによって設定されている。
【０２８７】
図４４は、ドット個数データ変換テーブルを設定する具体的な処理の流れを示したフローチャートである。以下、フローチャートに従って説明する。ドット個数データ変換テーブル設定処理を開始すると、先ず初めに、設定対象とする分類番号を１つ選択し（ステップＳ６００）、多値階調値データＲＶを０に設定する（ステップＳ６０２）。
【０２８８】
次いで、多値階調値データＲＶに対応する大中小各ドットの個数を取得する（ステップＳ６０４）。例えば、多値階調値データが「Ｎ」であったとすると、その分類番号について、画素の階調値を「０」から「２５５」に変化させながら大中小各ドットの形成有無を判断し、ドットの形成個数がＮ番目に変化したときの大ドット、中ドット、小ドットの個数を取得する。
【０２８９】
こうして取得した各ドットの個数の組合せを、コードデータに変換する（ステップＳ６０６）。ドット個数の組合せからコードデータへの変換は、図１７に示した対応表を参照することによって行う。次いで、得られたコードデータを、多値階調値データに対応付けて記憶した後（ステップＳ６０８）、対象としている分類番号についての最大の多値化結果に達したか否かを判断する（ステップＳ６１０）。すなわち、図１２Ｂを用いて説明したように、多値階調値データの最大値は、分類番号によって異なっていることから、対象としている分類番号についての多値階調値データの最大値に達したか否かを判断するのである。
【０２９０】
そして、多値階調値データの最大値に達していない場合は（ステップＳ６１０：ｎｏ）、多値階調値データＲＶの値を「１」だけ増加させる（ステップＳ６１２）。そして、ステップＳ６０４に戻って、新たな多値階調値データＲＶに対応する各ドットの個数を取得した後、続く一連の処理を繰り返す。こうした操作を繰り返し、対象としている分類番号の多値階調値データの最大値に達したと判断されたら（ステップＳ６１０：ｙｅｓ）、その分類番号については、全データがドット個数データ変換テーブルに設定されたことになる。
【０２９１】
そこで今度は、全ての分類番号について同様の処理を行ったか否かを判断する（ステップＳ６１４）。そして、未だ処理していない分類番号が残っている場合は、ステップＳ６００に戻って新たな分類番号を選択し、この分類番号について、上述した一連の処理を行う。こうして全ての分類番号について処理を終了したと判断されたら（ステップＳ６１４：ｙｅｓ）、ドット個数データ変換テーブルの全てのデータが設定されたことになるので、図４４に示す処理を終了する。
【０２９２】
＝＝＝順序値マトリックスの設定方法＝＝＝
次に、図１８にて説明した順序値マトリックスを設定する方法について説明する。前述したように、順序値マトリックスとは、分類番号に対応する８つの画素内の各画素について、ドットが形成される順番を設定したマトリックスである。ドット形成用データ生成処理においては、分類番号に対応する順序値マトリックスを読み込んで、マトリックスに設定されている順番に従って、大ドット、中ドット、小ドットを形成する画素を決定していた。
【０２９３】
順序値マトリックスも、前述した多値化テーブルと同様に、前述した手法を基にして設定されている。すなわち、多値化テーブルを設定する場合は、前述したように８つの画素内の全画素が同じ階調値を有するものとして、８つの画素内に形成される大中小ドットの個数を決定しながら、画素の階調値を「０」から「２５５」まで変化させて、このときに各ドットが形成される個数の変化に着目して多値階調値データを設定した。また、図１６に示すように、多値階調値データと分類番号とを組み合わせれば、８つの画素に形成される大中小の各ドットの個数までは復元することができた。しかし、これら各種ドットが、８つの画素内のどの画素に形成されるかに関する情報は省略されており、多値階調値データあるいは分類番号からは知ることはできない。順序値マトリックスは、８つの画素内で各種ドットが形成される画素位置に関する情報を記憶したものと考えることができる。すなわち、前述した手法を適用すれば、図４０ないし図４２にて説明したように、各種ドットの形成個数だけでなく、８つの画素内でドットが形成される画素位置まで決定可能であるところ、本実施形態では、この手法を２つの要素に分解して、各種ドットの形成個数に関する情報については、主に多値階調値データ（正確には、多値階調値データおよび分類番号の組合せ）に反映させ、ドットが形成される画素位置に関する情報ついては、順序値マトリックスに反映させていると考えることができる。このような順序値マトリックスは、実際には、比較的簡単に設定することができる。
【０２９４】
図４５は、順序値マトリックスを設定する方法について具体的に示した説明図である。以下、図を参照しながら説明する。ディザマトリックスには、図４５Ａに示すように、横４画素、縦２画素を１つの単位ブロックとして区分して、これら区分された各単位ブロック毎にそれぞれ個別に分類番号が設定されている。順序値マトリックスの設定に際しては、ディザマトリックスから各分類番号に対する８つの画素に対応する各閾値を取り出す。
【０２９５】
図４５Ｂは、一例として、分類番号『１』のブロックから順序値マトリックスを生成している様子を示した説明図である。図４５Ｂの左側には、分類番号『１』のブロックに含まれるディザマトリックスの閾値が示されている。図４２を用いて前述したように、ドットは小さな閾値が設定されている画素から順番に形成される。従って、図４５Ｂに示した分類番号『１』のブロックの中で１番初めにドットが形成される画素は、閾値「１」が設定された画素と考えることができる。そこで、この画素には、順序値として「１」を設定する。同様に、２番目にドットが形成される画素は、２番目に小さな閾値である閾値「４２」が設定された画素と考えることができる。そこで、この画素には順序値「２」を設定する。このようにして、分類番号『１』のブロック内に設定されている閾値の小さな画素から順番に、順序値「１」から順序値「８」までを決定してやれば、図４５Ｂの右側に示した分類番号『１』の順序値マトリックスを得ることができる。
【０２９６】
図４５Ｃは、同様にして、ブロック内で小さな閾値が設定されている画素から順番に、順序値「１」から順序値「８」までを設定することで、分類番号『２』の順序値マトリックスが得られる様子を示している。図４５Ａに示した分類番号『１』から『１０２４』までの全てのブロックについて、以上のような操作を行うことにより、分類番号『１』から『１０２４』までの順序値マトリックスを得ることができる。
【０２９７】
＝＝＝多値階調値データからドット形成有無を適切に決定可能な原理＝＝＝
以上に説明したように、本実施形態では、図１２Ａにて説明した多値化テーブルを参照することにより、多値階調値データを決定する。次いで、図１６にて説明したドット個数データ変換テーブル、および図１８にて説明した順序値マトリックスを参照しながら、多値階調値データをドット個数データに変換し、そのドット個数データに基づいて複数個の画素内に各種ドットを形成する画素位置を決定する。このようにしてドットを形成する画素位置を決定した場合でも、ドットが適切に分散された高画質な画像を出力することができる。加えて、比較的少数ずつ（本実施形態では８個ずつ）の画素をまとめて処理しているにも関わらず、いわゆるブルーノイズマスク、あるいはグリーンノイズマスクに代表される画素数が千個を越えるような大規模なディザマトリックスを用いることで実現されるような、良好なドット分布を得ることが可能である。以下では、このようなことが可能となる原理について説明する。
【０２９８】
前述した手法を用いれば、図４０および図４１にて説明したように、画像データを大ドットの密度データ、中ドット用の中間データ、小ドット用の中間データに変換して、ディザマトリックスに設定されている閾値と比較することで、大中小各ドットについての形成の有無を判断することができる。更に、このときに参照するディザマトリックスを、いわゆるブルーノイズマスク、あるいはグリーンノイズマスクに代表されるような分散性が考慮されたマトリックスとしておけば、ドットが良好に分散した高画質な画像を得ることができる。
【０２９９】
また、画像データは一般的に、隣接する画素間では近似する（若しくは同一の）階調値が割り当てられる傾向がある。近年では、高画質化の要請から画像データの解像度は益々高くなる傾向にあるが、隣接する画素間で近似若しくは同一の階調値が割り当てられる傾向は、画像データの解像度が高くなるほど顕著に現れる。このことから、図４２を用いて前述したように、複数個の画素をまとめてしまい、複数個の画素内の画素は全て同じ階調値を有するものとして大中小各ドットの形成有無を判断した場合でも、実際には画質に差が生じることは稀である。
【０３００】
ここで、前述した多値階調値データ生成処理では、画素の階調値を多値化して、分類番号に依存した多値階調値データを生成する。こうして生成された多値階調値データは、画素の分類番号と組み合わせることで、８つの画素内に形成される各種ドットの個数を示すデータとなっている。図４２に示した８つの画素については、分類番号と組み合わせることで、大ドット、中ドット、小ドットの形成個数が、それぞれ１個、２個、１個であることを示すような多値階調値データが生成されることになる。
【０３０１】
前述したドット形成データ生成処理では、このような多値階調値データを受け取ると、８つの画素内の各画素について、大中小各ドットについての形成有無を決定する。図４６は、前述したドット形成データ生成処理において、多値階調値データを受け取って、８つの画素内の各画素について大中小各ドットの形成有無を判断する処理の大まかな流れを概念的にまとめた説明図である。図示されているように、多値階調値データを受け取ると、その多値階調値データが対応する画素の分類番号を求めた後、多値階調値データと分類番号とに基づいて、大中小各ドットの形成個数を取得する。また、予め記憶されている順序値マトリックスの中から、分類番号に対応付けて記憶されているマトリックスを読み出す。
【０３０２】
図４２に示した８つの画素を想定しながら説明すれば、８つの画素は画像の左上隅にあるから分類番号は『１』と求められる。多値階調値データと、求めた分類番号とを組み合わせることにより、この８つの画素には、大ドット１個、中ドット２個、小ドット１個がそれぞれ形成されることが分かる。これら各ドットが、８つの画素内のどの画素に形成されるかを決定するために、分類番号『１』の順序値マトリックスを参照する。この順序値マトリックスは、図４２において、ドット形成有無の判断に用いたディザマトリックスの該当部分、すなわち８つの画素内の各画素についてドット形成の有無を判断するために用いた該当部分から生成した順序値マトリックスである。
【０３０３】
このようにして得られた大中小各ドットの個数と、順序値マトリックスとに基づいて、８つの画素内でこれらドットを形成する画素位置を決定していく。画素位置を決定する具体的な方法は、図１９を用いて既に説明しているので、ここでは説明は省略して結果のみを示すと、大ドットは順序値１番の画素に形成され、中ドットは順序値２番の画素と３番の画素とに形成され、小ドットは順序値４番の画素に形成される。図４６では、図１９に倣って、大ドットを形成する画素には細かいハッチングを付し、中ドットを形成する画素には少し粗いハッチングを付し、小ドットを形成する画素には粗いハッチングを付して表している。こうして得られたドットの分布と、図４２に示した画素毎にドット形成の有無を判断して得られたドットの分布とを比較すれば、両者のドット分布は完全に一致していることが分かる。
【０３０４】
すなわち、分類番号に依存した多値階調値データのみを受け取った場合でも、上述した方法を用いてドット形成の有無を決定してやれば、ディザ法を参照しながら画素毎に大中小各ドットの形成有無を判断した場合と、等しいドット分布を得ることができる。このため、ドットが良好に分散された高画質な画像を得ることが可能となるのである。
【０３０５】
加えて、多値階調値データを生成するために参照された多値化テーブルは、ディザマトリックスに基づいて設定されている（図４４参照）。同様に、多値階調値データからドット形成有無を決定する過程で参照されたドット個数データ変換テーブルあるいは順序値マトリックスも、ディザマトリックスに基づいて設定されている（図４４、図４５参照）。従って、これらテーブル類の設定に用いられるディザマトリックスとして、いわゆるブルーノイズマスク、あるいはグリーンノイズマスクを使用すれば、これらマスクを用いることで初めて得られるような、高画質な画像を得ることが可能となる。
【０３０６】
＝＝＝まとめ＝＝＝
以上本実施形態にあっては、色変換処理ユニット１８０により生成されたＣＭＹＫ画像データの各画素の階調値を多値化処理ユニット１８２により多値階調値データに変換し、ドット形成用データ生成ユニット１８４が、多値階調値データをドット個数データに変換し、このドット個数データに基づき、所定の数の画素（ここでは８つの画素）についてそれぞれ個別にドット形成の有無を決定して、そのドット形成の有無が決定された画素（ここでは８つの画素）の中から、出力画像の解像度に応じて所定の個数ずつ切り出して、出力画像の解像度に応じてドット形成用データを生成するから、ドット形成用データを生成する処理をスムーズに効率よく行うことができる。これにより、画像処理およびデータ転送の高速化を図ることができる。
【０３０７】
また、本実施形態では、多値化処理を行う前に、媒体Ｓに印刷する際の解像度（出力解像度）への変換処理を行う必要はなく、ドット形成用データ生成ユニット１８４にてドット形成用データを生成する段階にて、媒体Ｓに印刷する際の解像度（出力解像度）に応じて変換が行われるから、画像処理中のデータ量の発生を大幅に抑制することができる。
【０３０８】
また、ここで生成される多値階調値データは、出力画像の解像度に依存しない所定のビット数（ここでは、５ビット）のデータであるから、ＳＤＲＡＭ１０２上にて、多値階調値データを格納する多値階調値データバッファ１８８を設定するために確保しなければならない領域のサイズを、媒体Ｓに印刷される画像（出力画像）の解像度に関わりなく、一定にすることができる。これにより、高い解像度にて媒体Ｓに画像を印刷するときに、ＳＤＲＡＭ１０２上に確保される多値階調値データバッファ１８８の大きさを大幅に小さくすることができる。また、ＳＤＲＡＭ１０２へのアクセス回数を抑制することができる。これらのことから、画像処理およびデータ転送の高速化をより一層実現することができる。
【０３０９】
しかも、多値化処理ユニット１８２により多値化処理されて生成される多値階調値データは、所定の多値化段数にて表されたデータであるから、画像を印刷する場合にも、印刷される画像を十分に高い画質にて印刷することができる。
【０３１０】
さらに、ドット形成用データ生成ユニット１８４が、ドット個数データに基づき、所定の数の画素（ここでは８つの画素）についてそれぞれ個別にドット形成の有無を決定して、このようにドット形成の有無が決定された所定の個数の画素（ここでは８つの画素）の中から、出力画像の解像度に応じて所定の個数ずつ切り出すことで、出力画像の解像度に応じてドット形成用データを生成する処理をスムーズに行うことができる。また、ドット形成の有無が決定された８つの画素の中から切り出す画素の位置を適宜変更することで、出力画像の解像度に応じてドット形成用データを生成する処理を簡単に行うことができる。
【０３１１】
＝＝＝他の実施形態＝＝＝
＜他の多値化テーブル＞
前述した実施形態では、多値化テーブルとして、『０』から『２５５』までの各階調値毎にそれぞれ対応する多値階調値データが設定された多値化テーブルを用いていた。しかしながら、多値階調値データは、ＣＭＹＫ画像データの画素の階調値が増加するに従って段階的に増加するだけなので、多値階調値データが切り換わる階調値だけを設定しておけば、ＣＭＹＫ画像データの各画素の階調値に対応する多値階調値データを求めることができる。
【０３１２】
図４７は、多値階調値データが切り換わる階調値だけが設定された多値化テーブルの一例を説明したものである。この多値化テーブルには、各分類番号『１』〜『１０２４』毎にそれぞれ、各多値階調値データ『０』〜『３１』に対応する、ＣＭＹＫ画像データの画素の階調値の閾値が設定されている。この閾値は、階調値を『０』から『２５５』まで増加させたときに、その多値階調値データとなる最も大きな階調値を示している。一例として、分類番号『１』においては、多値階調値データ『０』に対して閾値『２』が設定されている。これは、分類番号『１』については、ＣＭＹＫ画像データの画素の階調値が『０』から『２』までの範囲にあれば、多値階調値データが『０』となることを表している。また、多値階調値データが『１』に対しては、閾値『１５』が設定されている。これは、分類番号『１』については、ＣＭＹＫ画像データの階調値が『３』〜『１５』の範囲にあれば、多値階調値データが『１』となることを表している。同様に、多値階調値データが『１４』に対しては、閾値『２４３』が設定され、多値階調値データが『１５』に対しては、閾値『２５５』が設定されている。これは、ＣＭＹＫ画像データの画素の階調値が『２４４』から『２５５』までの範囲にあれば、多値階調値データが『１５』になることを示している。また、分類番号『１』については、多値階調値データの最大値が『１５』であることを表している。  
なお、図４７では、分類番号『１』〜『１０２４』別の閾値は、それぞれ多値階調値データに対応させて設定されているものとした。しかし、分類番号『１』〜『１０２４』別の閾値は、特に多値階調値データに対応付けることなく、単なる閾値の組を分類番号『１』〜『１０２４』毎に記憶することとしてもよい。この場合は、ＣＭＹＫ画像データの画素の階調値よりも小さな閾値の個数を数えることで、多値階調値データを求めることができる。ここで、分類番号『１』の場合を例に用いて説明する。例えば、ＣＭＹＫ画像データの階調値が『２０』であったとする。分類番号『１』に設定されている閾値の組の中で、階調値『２０』よりも小さな閾値は、『２』、『１５』、『１８』の３個である。このことから、階調値『２０』に対する多値化結果値は『３』であると求めることとしてもよい。  
以上このような多値化テーブルを備えれば、ＣＭＹＫ画像データの画素の階調値と、分類番号とを取得した後、多値階調値データを簡単に生成することができる。しかも、この多値化テーブルは、前述した図１２Ａに示す多値化テーブルに比べて少ないデータ量で記憶しておくことができる。このため、ここでは、前述した図１２Ａに示す多値化テーブルを備える場合に比べて、メモリ使用量を大幅に節約することが可能である。
【０３１３】
＜ドット形成の有無決定の他の方法（１）＞
前述した実施形態では、ドット形成用データ生成ユニット１８４は、多値階調値データを、８つの画素について形成すべきドットの個数を表わすドット個数データに変換し、８つの画素（『４×４モード』の場合には、１６個の画素、以下同じ）についてドット形成の有無を決定するにあたっては、８つの画素の各画素についてドットを形成するか否かをドットの種類（サイズ）毎に決定した。例えば、図１９にて説明したように、まず最初に大ドットについてドット形成の有無を決定し、次に中ドットについてドット形成の有無を決定し、最後に小ドットについてドット形成の有無を決定するといった手順を取っていた。しかしながら、ドット形成の有無を決定する方法にあっては、このような方法に限られるものではない。例えば、８個の画素の中から１つの画素を選択して、各画素毎にそれぞれ、大中小のいずれのドットが形成されるのか、あるいはドットが形成されないかを決定することとしてもよい。
【０３１４】
図４８は、この場合のドット形成用データ生成ユニット１８４によるドット形成の有無の流れを示したフローチャートである。ここでは、前述したドット形成の有無決定処理と同様に、まず最初に、処理対象とする多値階調値データを取得する（ステップＳ７００）。次に、取得した多値階調値データに対応する分類番号を取得する（ステップＳ７０２）。そして、分類番号と多値階調値データとに基づき、ドット個数データを取得する（ステップＳ７０４）。ドット個数データは、例えば、図１６にて説明したドット個数データ変換テーブルにより取得する。
【０３１５】
この後、ここで説明する処理は、取得したドット個のデータを一旦、１６ビット長の中間データに変換する（ステップＳ７０６）。すなわち、例えば、図１６にて説明したドット個数データ変換テーブルでは、データ量を低減するために、ドット個数データを８ビット長のコードデータとして表した。しかし、ここで説明する処理では、ドット形成有無をより簡便に決定可能な形式で表現された中間データに一旦変換する。ここで、中間データのデータ長が１６ビットとなっているのは、ドット形成の有無を決定すべき画素の数が８個であり、各画素についてのドット形成の有無は２ビットあれば表現可能であることによる。換言すれば、中間データは２ビットずつを１組として、画素数に相当する８組のデータを用いてドット個数を表すデータとなっている。８つの画素に形成するドット個数をこのような形式で表現しておけば、後述するように画素との対応が取り易くなるため、ドット形成有無を簡便に決定することが可能となる。ここで説明するドット形成の有無決定処理にあっては、ドット個数データと中間データとの対応関係が予め記憶されており、ステップＳ７０６の処理では、かかる対応関係を参照することによって中間データを取得する。
【０３１６】
図４９は、ドット個数データと中間データとを対応付けた対応表を示す説明図である。前述したようにドット個数データは、各種サイズのドットについての個数の組合せに対応付けられている（図１７参照）。このことから、２ビットを１組としてドットの種類を表し、そのビットの組をドットの個数に相当する数だけ並べた表現形式に変換すれば、１６ビットのデータを得ることができる。１６ビット長の中間データは、ドット個数データの表現形式をこの様にして変換して得られたデータとなっている。
【０３１７】
例えば、ドット個数データ『１』は、大ドット０個、中ドット０個、小ドット１個の組合せを示している。なお、図４９の右側には、各ドット個数データが示すドット個数の組合せが示されている。今、小ドットを表す２ビットデータを『０１』とすれば、コードデータ『１』に対応する１６ビットデータは、『０１』が１組だけ含まれ、他の７組の２ビットデータは『００』のデータとなる。尚、２ビットデータ『００』はドットを形成しないことを表す。  
同様に、ドット個数データ『１６３』は、大ドット７個、中ドット１個、小ドット０個の組合せを示している。大ドットを表す２ビットデータを『１１』として、中ドットを表す２ビットデータを『１０』とすれば、ドット個数データ『１６３』に対応する１６ビットデータは、『１１』の２ビットデータが７組含まれており、『１０』の２ビットデータが１組含まれたデータとなる。
【０３１８】
なお、これら２ビットデータは、大ドット、中ドット、小ドットの順番で、右詰めで設定されている。例えば、ドット個数の組合せが、大ドット１個、中ドット２個、小ドット３個であったとすると、８組の２ビットデータの中で、大ドットを表す２ビットデータ『１１』は右端に１組だけ設定され、その左隣に続けて、中ドットを表す２ビットデータ『１０』が２組設定され、更にその左隣に続けて、小ドットを表す２ビットデータ『０１』が３組設定され、残った２組には、ドットを形成しないことを表す２ビットデータ『００』が設定されることになる。もっとも、これら２ビットデータを左詰めで設定することとしても良い。すなわち、大ドット、中ドット、小ドットの順番で左から順番に設定しても良い。
【０３１９】
図４８にて説明したドット形成の有無決定処理のＳ７０６では、図４９に示した対応関係を参照することによって、ドット個数を表すデータを、中間データに変換する処理を行う。なお、以上の説明では、図１６にて説明したドット個数データ変換テーブルを参照することによって、多値階調値データをドット個数データに一旦変換した後、図４９にて説明した対応関係に基づいて、ドット個数データを１６ビットの中間データに変換するものとした。もっとも、ドット個数データと中間データとは、１対１に対応付けられていることから、図１６にて説明したドット個数データ変換テーブルに、８ビットのドット個数データではなく、１６ビットの中間データをドット個数データとして設定しておければ、直ちに中間データをドット個数データとして取得することも可能である。このようにすれば、ドット個数データ変換テーブルのデータ量は大きくなるものの、ドット個数データから中間データへの変換テーブルが不要になり、迅速に中間データを取得することができる。
【０３２０】
以上のようにして中間データを取得した後、次に、順序値マトリックスを取得する（ステップＳ７０８）。順序値マトリックスを取得した後、８つの画素の中からドット形成の有無を決定する画素を１つ選択して（ステップＳ７１０）、順序値マトリックス中で選択した画素位置に設定されている順序値を取得する（ステップＳ７１２）。
【０３２１】
次に、先に取得しておいた中間データの中から、順序値に対応する箇所に設定されている２ビットデータを読み出すことによって、選択した画素についてのドット形成の有無を決定することができる（ステップＳ７１４）。
【０３２２】
図５０は、中間データの中から順序値に対応する箇所のデータを読み出すことにより、ドット形成の有無を決定している様子を示した説明図である。図５０Ａは、ドット個数データを変換して得られた中間データを例示したものである。前述したように中間データは、１６ビット長のデータであり、２ビットずつ８組のデータから構成されている。また、図５０Ａに示した中間データには、大ドットを表す２ビットデータ『１１』が１組、中ドットを表す２ビットデータ『１０』が２組、小ドットを表す２ビットデータ『０１』が３組、ドットを形成しないことを表す２ビットデータ『００』が２組含まれており、これら２ビットデータが、大ドット、中ドット、小ドットの順序で右詰めに設定されている。
【０３２３】
ここで、例えば、ドット形成の有無を決定しようとしている画素の順序値が『３』であったとする。この場合、中間データの中で、右から３組目に設定されている２ビットデータを読み出せば、順序値『３』の画素に形成すべきドットの種類を決定することができる。図５０Ｂには、中間データの右端から３組目にある２ビットデータを読み出している様子が、概念的に示されている。図示した例では、読み出した２ビットデータは『１０』であるから、この画素には、中ドットを形成するものと決定すればよい。仮に、順序値が『１』であれば、中間データの右端に設定されている２ビットデータ（『１１』）を読み出して、大ドットを形成するものと決定すればよい。
【０３２４】
このように、このドット形成の有無決定処理では、中間データの中から、順序値に相当する箇所に設定されている２ビットデータを読み出すという極めて簡単な操作によって、ドット形成の有無を決定することができる。これは、次の理由によるものである。先ず、中間データには、大ドット、中ドット、小ドットを表す２ビットデータが右詰めで設定されている。一方、図４０や図４２にて説明したように、ディザ法を用いて大中小各ドットの形成有無を決定する処理では、大ドット、中ドット、小ドットの順番でドット形成の有無を決定している。従って、中間データに設定されている２ビットデータを右端から順番に読み出していけば、図４０や図４２を用いて前述した手法を適用して各種ドットを形成する画素位置を決定した順番と同じ順番で、大ドット、中ドット、小ドットを表す２ビットデータの並びが得られることになる。
【０３２５】
また、図４０や図４２を用いて前述した手法では、ディザマトリックスに小さな閾値が設定されている画素から順番にドットが形成される。一方、順序値マトリックスに設定されている順序値は、ディザマトリックスに設定されている閾値の小さい順番を表している。従って、順序値は、図４０あるいは図４２を用いて前述した手法を用いてドット形成の有無を決定したときに、ドットが形成された順番と一致する。
【０３２６】
このことから、対象としている画素の順序値が分かれば、図４０や図４２の手法を適用したときに、その画素が８つの画素の中で何番目にドットが形成された画素であるかを知ることができ、更に、中間データを右端から数えて順序値組目の２ビットデータを読み出せば、図４０や図４２の手法を適用したときに得られるドット形成有無の決定結果を知ることができるのである。
【０３２７】
なお、ここでは、中間データの中で２ビットデータを読み出す箇所を順序値に応じて変更するものとして説明したが、中間データの中で読み出す箇所を変えるのではなく、データを読み出す箇所は固定しておき、中間データを順序値に相当する組数だけシフトさせることとしても良い。この様にしても、ドット形成の有無を決定することができる。図５０Ｃは、中間データをシフトさせることによって、ドット形成有無を決定している様子を概念的に示した説明図である。図示した例では、中間データの右端にある２ビットデータを読み出すこととして、中間データを画素の順序値に応じた組数（具体的には順序値から１だけ少ない組数）だけ右方向にシフトさせている。図５０Ｂと図５０Ｃとを比較すれば明らかなように、どちらの操作を行った場合でも、結局は、中間データの中の同じ箇所に設定されている２ビットデータを読み出していることになる。データを所定のビット数だけシフトさせる処理は、比較的高速に実施可能であることから、この様にして中間データをシフトさせれば、順序値に応じた箇所の２ビットデータを迅速に読み出して、着目している画素についてのドット形成の有無を迅速に決定することができる。
【０３２８】
以上のようにして、中間データの中から順序値に相当する箇所に設定されている２ビットデータを読み出すことにより、着目している画素についてのドット形成の有無を決定したら（図４８のステップＳ７１４）、８つの画素全てについてドット形成の有無を決定したか否かを判断する（ステップＳ７１６）。そして、８つの画素の中に未だドット形成の有無を決定していない画素が残っている場合は（ステップＳ７１６：ｎｏ）、ステップＳ７１０に戻って新たな画素を１つ選択し、選択した画素について上述した続く一連の処理を行った後、再び８つの画素全てについてドット形成の有無を決定したか否かを判断する（ステップＳ７１６）。８つの画素全てについてドット形成の有無を決定するまで、こうした操作を繰り返し、全画素について決定したと判断されたら（ステップＳ７１６：ｙｅｓ）、今度は、全ての多値階調値データについて、前述した処理を行ってドット形成の有無を決定したか否かを判断する（ステップＳ７１８）。そして、未処理の多値階調値データが残っていれば（ステップＳ７１８：ｎｏ）、ステップＳ７００に戻って新たな多値階調値データを取得し、その多値階調値データについて一連の処理を行う。こうした操作を繰り返し、最終的に全ての多値階調値データについての処理を終了したと判断されたら（ステップＳ７１８：ｙｅｓ）、ドット形成の有無決定処理を終了する。
【０３２９】
以上に説明したように、ここでは、中間データの中から順序値に応じた適切な箇所に設定されている２ビットデータを読み出すだけで、簡便にドット形成の有無を決定することができる。このことから、このようにして迅速にドット形成の有無を決定することができ、よって、より迅速に画像を印刷することが可能となる。
【０３３０】
なお、ここでは、８つの画素について各々ドット形成の有無を決定する場合について説明したが、本実施形態の『４×４モード』においては、１６個のの画素について各々ドット形成の有無を決定することになる。つまり、図３２にて説明した『４×４モード』におけるドット個数データと各種サイズのドットについての個数の組合せとに基づき、中間データが設定される。
【０３３１】
＜ドット形成の有無決定の他の方法（２）＞
前述した実施の形態では、図１６にて説明したドット個数データ変換テーブルを参照することによって、一旦、多値階調値データをドット個数データに変換した後、順序値マトリックスを参照しながら、８つの画素（『４×４モード』の場合には、１６個の画素、以下同じ）の中にてドットを形成する画素の位置を決定した。しかしながら、ドット形成の有無の決定にあっては、前述したように順序値マトリックスを参照してドットを形成する画素の位置を決定することなく、取得した多値階調値データに基づき、直ちに、各種ドットを形成する画素位置を決定することも可能である。この方法について以下に詳しく説明する。
【０３３２】
前述した実施の形態では、図４６にて説明したように、多値階調値データと分類番号とを取得した後、多値階調値データと分類番号との組合せから、８つの画素に形成すべき各種ドットの個数を決定した。そして、これらドットを形成する画素位置については、分類番号に対応した順序値マトリックスを参照することによって決定していた。すなわち、多値階調値データおよび分類番号が決まれば、８つの画素の各画素に形成されるドットの種類を決定することができる。従って、予め、多値階調値データと分類番号との組合せ毎に、８つの画素内の各画素に形成されるドットの種類を求めて対応表に記憶しておけば、かかる対応表を参照するだけで、直ちにドット形成有無を決定することができるはずである。ここで説明するドット形成の有無決定処理は、このような考え方に基づいて、多値階調値データ、各画素についてそれぞれドット形成の有無を迅速に決定することが可能となっている。
【０３３３】
図５１は、ここで使用されるドット個数データ変換テーブルの一例を概念的に示した説明図である。このドット個数データ変換テーブルは、同図に示すように、多値化結果値と分類番号との組合せに対応付けて、８つの画素の中の各画素に形成されるドット種類を表すデータが設定されている。ここでは、このデータのことをドットデータと呼ぶこととする。図５１にて示すドット個数データ変換テーブルを参照すれば、多値階調値データと分類番号との組合せから、対応するドットデータを直ちに取得することができる。例えば、分類番号が『ｉ』であり、多値階調値データが『ｊ』であれば、ドットデータは、ＤＤ（ｉ，ｊ）となる。こうして取得されたドットデータには、８つの画素の中の各画素についてドット形成の有無に関する情報が含まれている。
【０３３４】
図５２は、ここで使用されるドット個数データ変換テーブルに設定されているドットデータのデータ構造の一例を示した説明図である。図５２Ａは、ドットデータの一例を説明する。図５２Ｂは、実際のドット形成イメージの一例を説明する。
【０３３５】
ドットデータは、図５２Ａに示すように、２ビットずつのデータ８組から構成された１６ビット長のデータとなっている。ここで、１つのドットデータが８組のデータから構成されているのは、１つの多値階調値データには、８つの画素に関する情報が含まれているからである。従って、例えば、本実施形態の『４×４モード』の場合のように、１つの多値階調値データが１６個の画素に関する情報が含まれる場合は、１つのドットデータは、１６組のデータから構成されることになる。この他に、本実施形態ではないが、１つの多値階調値データが４個の画素に関する情報が含まれる場合は、１つのドットデータは、４組のデータから構成されることになる。
【０３３６】
図５２に示すように、ドットデータを構成する８組のデータは、それぞれ８つの画素内の所定位置の画素に対応付けられている。例えば、図５２Ａに示したドットデータの先頭にある１組目のデータは、図５２Ｂに示すように、８つの画素の中の左上隅の画素に対応している。また、ドットデータの先頭から２組目のデータは、８つの画素の中の上段の左から２番目の画素に対応している。このように、ドットデータを構成する８組のデータは、それぞれ８つの画素の中の所定位置の画素に予め対応付けられている。
【０３３７】
そして、各組のデータの内容は、対応する画素に形成するドットの種類を表している。すなわち、２ビットのデータ『１１』は大ドットを形成することを意味している。２ビットのデータ『１０』は中ドットを形成することを意味しており、『０１』は小ドットを形成することを、そして、『００』はドットを形成しないことを意味している。以上の説明から分かるように、図５２Ａに例示したドットデータは、８つの画素の中の左上隅の画素には大ドットを形成し、上段の左から３番目の画素には中ドットを形成することを表わすようになっている。また、このドットデータは、下段の左から２番目の画素には小ドットを形成し、８つの画素の中の右下隅の画素には中ドットを形成することを表わすようになっている。さらに、このドットデータは、その他の画素にはドットを形成しないことを表すようになっている。
【０３３８】
このようなドット個数データ変換テーブルを参照すれば、分類番号と多値階調値データとに基づいて、８つの画素の中の各画素について各々ドット形成の有無を速やかに決定することが可能である。
【０３３９】
なお、本実施形態では、このようなドット個数データ変換テーブルの他に、『２×４モード』と『４×４モード』とにおいて、それぞれ専用のドット個数データ変換テーブルが必要となる。
【０３４０】
＝＝＝その他の実施の形態＝＝＝
以上、一実施形態に基づき、本発明に係るインクジェットプリンタ等の印刷装置について説明したが、上記の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更または改良され得るとともに、本発明には、その等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【０３４１】
＜多値化処理について＞
前述した実施の形態では、多値化テーブルを使用して多値階調値データを生成していたが、必ずしもこのような多値化テーブルを用いて多値階調値データを生成する場合には限らない。つまり、テーブルを用いずに演算等により多値階調値データを生成してもよい。
【０３４２】
＜ドット個数データ変換処理について＞
前述した実施の形態では、ドット個数データ変換テーブルを使用して多値階調値データをドット個数データに変換していたが、必ずしもこのようなドット個数データ変換テーブルを用いて多値階調値データをドット個数データに変換する必要はない。つまり、テーブルを用いずに演算等によりドット個数データを取得してもよい。
【０３４３】
＜多値階調値データについて＞
前述した実施の形態では、多値階調値データが３２階調の５ビットのデータとして生成されていたが、本発明では必ずしもこのようなビット数のデータにより生成される必要はない。つまり、多値階調値データのビット数は、多値化処理部（多値化処理ユニット）が多値化する際の段数、即ち多値化段数に応じて適宜設定される。多値階調値データは、他のビット数のデータとして生成されてもよい。
【０３４４】
＜ドット個数データについて＞
前述した実施の形態では、ドット個数データが、形成すべきドットの個数の他、形成すべき各ドットのサイズ（即ち「小ドット」、「中ドット」、「大ドット」）をも表すコード化されたデータとなっていたが、本発明では必ずしもこのようにデータとなっている必要はない。つまり、ドット個数データは、少なくとも１種類のサイズのドットの個数を示せば良く、必ずしもドットのサイズ等の他の情報を表すデータとなっている必要はない。
【０３４５】
＜出力画像の解像度について＞
前述した実施の形態では、出力画像の解像度が、『１×１モード』と、『２×１モード』と、『１×２モード』と、『２×２モード』と、『４×２モード』と、『２×４モード』と、『４×４モード』との７種類であったが、本発明にあっては、必ずしもこのような解像度に限定されるものではない。つまり、出力画像の解像度としては、他の解像度に設定されてもよく、任意に設定されるものである。
【０３４６】
＜１以上の画素について＞
前述した実施の形態では、ドット形成用データ生成部（ドット形成用データ生成ユニット）により、ドット形成の有無が決定される「１以上の画素」として、８つの画素につきそれぞれ個別にドット形成の有無を決定していたが、この「１以上の画素」としては、必ずしもこのように８つの画素について個別にドット形成の有無が決定される場合に限らず、７つ以下の画素について個別にドット形成の有無が決定されてもよく、また９つ以上の画素について個別にドット形成の有無が決定されても良い。
【０３４７】
＜多値化処理部について＞
前述した実施の形態では、多値化処理部が多値化処理ユニットとしてＡＳＩＣ９５内に設けられていたが、多値化処理部にあっては、必ずしもこのようなＡＳＩＣ９５内に設けられる場合には限られない。つまり、例えば、ＡＳＩＣ９５内にではなく、独立して別途専用の処理回路等により構成されても良く、またソフトウェア的に処理する機能を有する構成部により構成されても良い。
【０３４８】
＜ドット形成用データ生成部について＞
前述した実施の形態では、ドット形成用データ生成部がドット形成用データ生成ユニットとしてＡＳＩＣ９５内に設けられていたが、ドット形成用データ生成部にあっては、必ずしもこのようにこのようなＡＳＩＣ９５内に設けられる場合には限られない。つまり、例えば、ＡＳＩＣ９５内にではなく、独立して別途専用の処理回路等により構成されても良く、またソフトウェア的に処理する機能を有する構成部により構成されても良い。
【０３４９】
＜メモリについて＞
前述した実施の形態では、「メモリ」としてＳＤＲＡＭが例示されていたが、ここでいう「メモリ」にあっては、このようなＳＤＲＡＭに限らない。つまり、ＳＤＲＡＭ以外に他の種類のメモリ、例えば、ＳＲＡＭやＥＥＰＲＯＭ等の書き換え可能な揮発性メモリであれば良く、この他に、ハードディスクドライブやその他データの書き換えが可能なデータ記憶装置であれば、どのような装置であっても、ここでいう「メモリ」に含まれる。
【０３５０】
＜画像処理装置について＞
前述した実施の形態では、画像処理装置として、原稿から画像を読み取って画像データを生成するスキャナ機能と、ホストコンピュータ（図示外）から送られてきた印刷データに基づき印刷用紙等の各種媒体に印刷をするプリンタ機能と、原稿から読み取った画像を媒体に印刷して複写するローカルコピー機能とを備えたスキャナ・プリンタ・コピー複合装置（以下、ＳＰＣ複合装置ともいう）を例にして説明したが、ここでいう画像処理装置にあってはこのような複合装置の場合に限らない。つまり、原稿から画像を読み取って画像データを生成するスキャナ機能や原稿から読み取った画像を媒体に印刷して複写するローカルコピー機能がない通常の印刷装置であっても良く、また、このような印刷機能がない、単に画像データを処理するのみの装置であっても良い。この他、画像データを処理して出力画像のドット形成用データを生成する装置であれば、どうような装置も、ここでいう画像処理装置に含まれる。
【０３５１】
＜印刷装置について＞
前述した実施の形態では、印刷装置として、画像処理装置として、稿から画像を読み取って画像データを生成するスキャナ機能と、ホストコンピュータ（図示外）から送られてきた印刷データに基づき印刷用紙等の各種媒体に印刷をするプリンタ機能と、原稿から読み取った画像を媒体に印刷して複写するローカルコピー機能とを備えたスキャナ・プリンタ・コピー複合装置（以下、ＳＰＣ複合装置ともいう）を例にして説明したが、ここでいう印刷装置は、このような複合装置には限られない。つまり、原稿から画像を読み取って画像データを生成するスキャナ機能や原稿から読み取った画像を媒体に印刷して複写するローカルコピー機能がなくても良く、ホストコンピュータ（図示外）から送られてきた印刷データに基づき印刷用紙等の各種媒体に印刷をするプリンタ機能のみを備えた印刷装置であっても良い。
【０３５２】
また、前述した実施の形態では、印刷装置として、前述したようなインクジェットプリンタ１の場合を例にして説明したが、このような印刷装置に限らず、他の方式によりインクを吐出するプリンタをはじめ、その他、インクを吐出しないタイプのプリンタ、例えば、ドットインパクト方式のプリンタや熱転写方式のプリンタ、またレーザービーム式プリンタなど、印刷機能を備えた装置であれば、どのような印刷装置であっても構わない。
【図面の簡単な説明】
【０３５３】
【図１】スキャナ・プリンタ・コピー複合装置の外観を説明した斜視図。
【図２】図１の複合装置のスキャナ部のカバーを開いたときの斜視図。
【図３】図１の複合装置の印刷部を示す斜視図。
【図４】図１の複合装置のスキャナ部及びプリンタ部の構成を説明する説明図。
【図５】プリンタ部の搬送部を説明する断面図。
【図６】図１の複合装置の操作パネルを説明する説明図。
【図７Ａ】ヘッドのノズルの配列を示す説明図。
【図７Ｂ】ヘッドの駆動回路の一例を説明した図。
【図７Ｃ】各信号のタイミングチャートである。
【図８】印刷処理の一例を説明するフローチャート。
【図９】従来の制御部の構成の一例を説明する図。
【図１０】本実施形態の制御部の構成の一例を説明する図。
【図１１】多値化処理ユニットの多値化処理の処理手順の一例を説明するフローチャート。
【図１２Ａ】多値化テーブルの一例を概念的に示した説明図
【図１２Ｂ】画素の階調値と多値階調値データとの関係について説明した説明図。
【図１３Ａ】『１×１モード』おける分類番号の設定方法を説明する説明図。
【図１３Ｂ】『２×１モード』おける分類番号の設定方法を説明する説明図。
【図１３Ｃ】『１×２モード』おける分類番号の設定方法を説明する説明図。
【図１３Ｄ】『２×２モード』おける分類番号の設定方法を説明する説明図。
【図１３Ｅ】『４×２モード』おける分類番号の設定方法を説明する説明図。
【図１４】実際に実施される多値化処理の概要の説明図。
【図１５】ドット形成用データ生成ユニットの処理手順の一例を示すフローチャート。
【図１６】ドット個数データ変換テーブルの一例の説明図。
【図１７】ドット個数データと、ドットの個数およびサイズとの対応関係の一例の説明図。
【図１８】図１８Ａは、分類番号『１』の順序値マトリックスの一例を説明し、図１８Ｂは、分類番号『２』の順序値マトリックスの一例を説明し、図１８Ｃは、分類番号『３』の順序値マトリックスの一例を説明している。
【図１９】ドット形成の有無を決定する手順の一例の説明図。
【図２０】図２０Ａは、左上隅の画素の切り出しの説明図であり、図２０Ｂは、上段の左から２番目の画素の切り出しの説明図であり、図２０Ｃは、上段の右から２番目の画素の切り出しの説明図であり、図２０Ｄは、右上隅の画素の切り出しの説明図であり、図２０Ｅは、左下隅の画素の切り出しの説明図であり、図２０Ｆは、下段の左から２番目の画素の切り出しの説明図であり、図２０Ｇは、下段の右から２番目の画素の切り出しの説明図であり、図２０Ｈは、右下隅の画素の切り出しの説明図である。
【図２１】ＣＭＹＫ画像データにおける画素の位置の説明図。
【図２２】図２２Ａは、上段の左から１番目および２番目の画素の切り出しの説明図であり、図２２Ｂは、上段の右から１番目および２番目の画素の切り出しの説明図であり、図２２Ｃは、下段の左から１番目および２番目の画素の切り出しの説明図であり、図２２Ｄは、下段の右から１番目および２番目の画素の切り出しの説明図である。
【図２３】ＣＭＹＫ画像データにおける画素の位置の説明図。
【図２４】図２４Ａは、左から１列目の上下２つの画素を切り出す場合の説明図であり、図２４Ｂは、左から２列目の上下２つの画素を切り出す場合の説明図であり、図２４Ｃは、右から２列目の上下２つの画素を切り出す場合の説明図であり、図２４Ｄは、右から１列目の上下２つの画素を切り出す場合の説明図である。
【図２５】ＣＭＹＫ画像データにおける画素の位置の説明図。
【図２６】図２６Ａは、左半分の４つの画素を切り出す場合の説明図であり、図２６Ｂは、右半分の４つの画素を切り出す場合の説明図である。
【図２７】ＣＭＹＫ画像データにおける画素の位置の説明図。
【図２８】『４×２モード』における画素の切り出し方法の説明図。
【図２９】『２×４モード』のドット個数データ変換テーブルの一例の説明図。
【図３０Ａ】『２×４モード』の順序値マトリックスの一例の説明図。
【図３０Ｂ】『２×４モード』におけるドット形成の有無の決定方法の説明図。
【図３１】『４×４モード』のドット個数データ変換テーブルの一例の説明図。
【図３２】『４×４モード』のドット個数データと、このドット個数データにより表される、形成すべきドットの個数およびサイズに関する情報との対応関係の一例の説明図。
【図３３Ａ】『４×４モード』の順序値マトリックスの一例の説明図。
【図３３Ｂ】『４×４モード』におけるドット形成の有無の決定方法の説明図。
【図３４】ドット形成用データの実際の生成処理の概要の説明図。
【図３５Ａ】『１×１モード』におけるドット形成用データの生成方法の説明図。
【図３５Ｂ】『２×１モード』におけるドット形成用データの生成方法の説明図。
【図３５Ｃ】『１×２モード』におけるドット形成用データの生成方法の説明図。
【図３５Ｄ】『２×２モード』におけるドット形成用データの生成方法の説明図。
【図３５Ｅ】『４×２モード』におけるドット形成用データの生成方法の説明図。
【図３５Ｆ】『２×４モード』におけるドット形成用データの生成方法の説明図。
【図３５Ｇ】『４×４モード』におけるドット形成用データの生成方法の説明図。
【図３６】ＳＤＲＡＭのメモリ空間の領域割り当ての説明図。
【図３７Ａ】ディザマトリックスの一部を拡大して例示した説明図。
【図３７Ｂ】ディザマトリックスによるドット形成の有無の決定手法を説明する説明図。
【図３８】図３８Ａは、ディザマトリックスに設定される単位ブロックの説明図、図３８Ｂは、ディザマトリックスに設定された分類番号の説明図、図３８Ｃは、画像データにディザマトリックスを適用した場合の説明図である。
【図３９】図３９Ａは、ＣＭＹＫ画像データ上の着目画素の位置の説明図、図３９Ｂは、ディザマトリックスのＣＭＹＫ画像データへの適用方法の一例の説明図、図３９Ｃは、着目画素が属する単位ブロックを特定する方法の説明図である。
【図４０】ハーフトーン処理の概要を説明するフローチャート。
【図４１】ドット密度変換テーブルの説明図。
【図４２】ハーフトーン処理の概要を説明する説明図。
【図４３】多値化テーブルの設定手順の一例を説明するフローチャート。
【図４４】ドット個数データ変換テーブルの設定手順の一例を説明するフローチャート。
【図４５】図４５Ａは、ディザマトリックスに設定された分類番号の説明図、図４５Ｂは、分類番号『１』の順序値マトリックスの生成手順の説明図、図４５Ｃは、分類番号『２』の順序値マトリックスの生成手順の説明図である。
【図４６】ドット形成用データ生成処理の概要の説明図。
【図４７】他のタイプの多値化テーブルの一例を説明する説明図。
【図４８】他方法によるドット形成用データ生成処理の一例を説明する説明図。
【図４９】ドット個数データと中間データとの対応表の一例を説明する説明図。
【図５０】図５０Ａは、中間データの概要を説明する説明図、図５０Ｂは、中間データの中から２ビットデータの読み出しを行う方法の説明図、図５０Ｃは、中間データをシフトさせることにより２ビットデータの読み出しを行う方法の説明図である。
【図５１】他のタイプのドット個数データ変換テーブルの一例を説明する説明図。
【図５２】図５２Ａは、ドットデータの一例の説明図、図５２Ｂは、実際のドット形成イメージの一例の説明図である。
【符号の説明】
【０３５４】
１  ＳＰＣ複合装置、２  操作パネル、３  排紙部、４  給紙部、５  原稿、
７  排紙トレイ、８  給紙トレイ、１０  スキャナ部、１１  原稿台、
１２  原稿台カバー、１３  給紙ローラ、１４  プラテン、１５  搬送モータ、
１７Ａ  搬送ローラ、１７Ｂ  排紙ローラ、１８Ａ  フリーローラ、
１８Ｂ  フリーローラ、２１  ヘッド、２４  駆動機構、３０  プリンタ部、
３２  開口部、３４  ヒンジ部、３６  搬送機構、４１  キャリッジ、
４２  キャリッジモータ、４４  プーリ、４５  タイミングベルト、
４６  ガイドレール、４９  制御部、５０  制御部、
５１  リニア式エンコーダ符号板、５２  検出部、５３  紙検知センサ、
５６  ロータリー式エンコーダ、６０  スキャナ用キャリッジ、
６２  駆動機構、６４  ガイド、６６  露光ランプ、６８  ミラー、７０  レンズ、
７２  ＣＣＤセンサ、７４  タイミングベルト、７５  プーリ、７６  プーリ、
７７  駆動モータ、８０  液晶ディスプレイ、８１  報知ランプ、８２  電源ボタン、
８３  各種設定ボタン、８４  コピーモードボタン、
８５  メモリカード印刷モードボタン、８６  フィルム印刷モードボタン、
８７  スキャンモードボタン、８８  給排紙ボタン、８９Ａ  ＯＫボタン、
８９Ｂ  キャンセルボタン、８９Ｃ  保存ボタン、８９Ｄ  カラーコピーボタン、
８９Ｅ  モノクロコピーボタン、８９Ｆ  ストップボタン、８９Ｇ  十字ボタン、
８９Ｈ  メニューボタン、９０  ＣＰＵ、９２  メモリ、９４  ＡＳＩＣ、
９５  ＡＳＩＣ、９６  ＳＤＲＡＭ、９８  ＣＰＵバス、１００  ヘッドユニット、
１０２  ＳＤＲＡＭ、１０２Ａ  領域、１０２Ｂ  領域、１０２Ｃ  領域、
１０２Ｄ  領域、１０２Ｅ  領域、１０２Ｆ  領域、１０２Ｇ  領域、
１０２Ｈ  領域、１０２Ｉ  領域、１０３  ＳＤＲＡＭコントローラ、
１０４  スキャナコントロールユニット、１０６  リサイズユニット、
１０８  ２値化処理ユニット、１１０  インターレース処理ユニット、
１１２  イメージバッファユニット、１１４  バスコントローラ、
１１６  ヘッドコントロールユニット、１１８  ＵＳＢインターフェイス、
１２０  ラインバッファ、１２２  リサイズバッファ、
１２４  インターレースバッファ、１２６  イメージバッファ、
１２７  イメージバッファ、１２８  ローカルバス、１３０  ＳＲＡＭ、
１３２  イメージバッファ、１３３  イメージバッファ、１３４  イメージバッファ、
１３６  ルックアップテーブル、１４０  ホストコンピュータ、
１８０  色変換処理ユニット、１８２  多値化処理ユニット、
１８４  ドット形成用データ生成ユニット、１８６  多値階調値データバッファ、
１８８  多値階調値データバッファ、１９０  ドット形成用データバッファ、
２１１Ｙ  イエロノズル列、２１１Ｍ  マゼンダノズル列、
２１１Ｃ  シアンノズル列、２１１Ｋ  ブラックノズル列、
２２０  駆動回路、２２１  原駆動信号発生部、２２２  マスク回路
【図１】
2006217537.tif 000003
【図２】
2006217537.tif 000004
【図３】
2006217537.tif 000005
【図４】
2006217537.tif 000006
【図５】
2006217537.tif 000007
【図６】
2006217537.tif 000008
【図７Ａ】
2006217537.tif 000009
【図７Ｂ】
2006217537.tif 000010
【図７Ｃ】
2006217537.tif 000011
【図８】
2006217537.tif 000012
【図９】
2006217537.tif 000013
【図１０】
2006217537.tif 000014
【図１１】
2006217537.tif 000015
【図１２Ａ】
2006217537.tif 000016
【図１２Ｂ】
2006217537.tif 000017
【図１５】
2006217537.tif 000018
【図１６】
2006217537.tif 000019
【図１７】
2006217537.tif 000020
【図１８】
2006217537.tif 000021
【図２９】
2006217537.tif 000022
【図３０Ａ】
2006217537.tif 000023
【図３１】
2006217537.tif 000024
【図３２】
2006217537.tif 000025
【図３３Ａ】
2006217537.tif 000026
【図３４】
2006217537.tif 000027
【図３６】
2006217537.tif 000028
【図３７Ａ】
2006217537.tif 000029
【図３７Ｂ】
2006217537.tif 000030
【図３８】
2006217537.tif 000031
【図３９】
2006217537.tif 000032
【図４０】
2006217537.tif 000033
【図４１】
2006217537.tif 000034
【図４２】
2006217537.tif 000035
【図４３】
2006217537.tif 000036
【図４４】
2006217537.tif 000037
【図４５】
2006217537.tif 000038
【図４６】
2006217537.tif 000039
【図４７】
2006217537.tif 000040
【図４８】
2006217537.tif 000041
【図４９】
2006217537.tif 000042
【図５０】
2006217537.tif 000043
【図５１】
2006217537.tif 000044
【図５２】
2006217537.tif 000045
【図１３Ａ】
2006217537.tif 000046
【図１３Ｂ】
2006217537.tif 000047
【図１３Ｃ】
2006217537.tif 000048
【図１３Ｄ】
2006217537.tif 000049
【図１３Ｅ】
2006217537.tif 000050
【図１４】
2006217537.tif 000051
【図１９】
2006217537.tif 000052
【図２０】
2006217537.tif 000053
【図２１】
2006217537.tif 000054
【図２２】
2006217537.tif 000055
【図２３】
2006217537.tif 000056
【図２４】
2006217537.tif 000057
【図２５】
2006217537.tif 000058
【図２６】
2006217537.tif 000059
【図２７】
2006217537.tif 000060
【図２８】
2006217537.tif 000061
【図３０Ｂ】
2006217537.tif 000062
【図３３Ｂ】
2006217537.tif 000063
【図３５Ａ】
2006217537.tif 000064
【図３５Ｂ】
2006217537.tif 000065
【図３５Ｃ】
2006217537.tif 000066
【図３５Ｄ】
2006217537.tif 000067
【図３５Ｅ】
2006217537.tif 000068
【図３５Ｆ】
2006217537.tif 000069
【図３５Ｇ】
2006217537.tif 000070