(57)【要約】  【課題】  従来に比較してＮ値化処理を高速化できる画像処理装置および画像処理プログラムを提供すること。  【解決手段】  複数種類のディザマトリックス２０，２２，２４，２６の一行を構成する閾値の個数は、複数種類のディザパターン２０ａ，２２ａ，２４ａ，２６ａの一行を構成する閾値の個数の公倍数である。各ディザパターン２０ａ，２２ａ，２４ａ，２６ａの一行を構成する閾値の個数は互いに異なるが、複数種類のディザマトリックス２０，２２，２４，２６の一行を構成する閾値の数は全て等しい。したがって、各ディザマトリックス２０，２２，２４，２６の一行における読み出し位置を特定する値を保持するカウンタ１３ｃを共通化できる。よって、複数種類のディザマトリックス２０，２２，２４，２６のそれぞれにカウンタを設ける場合に比較して、カウンタの数が減少し、カウンタの制御に要する処理数を全体として減らすことができる。  【選択図】    図２
2007013623.tif 000002
【特許請求の範囲】
【請求項１】
複数色のそれぞれについて設定された複数種類のディザパターンを用いて、各色毎の閾値を読み出し、読み出された閾値に基づいて、入力画像データを構成する画素に含まれる複数色の色成分値を各色毎にＮ値化する（Ｎは２以上の整数）Ｎ値化手段を備えた画像処理装置において、
１つのディザパターンまたは一種類のディザパターンの繰り返しから構成されるディザマトリックスを、前記複数種類のディザパターンのそれぞれについて記憶するディザマトリックス記憶手段と、
前記ディザマトリックス記憶手段に記憶された前記複数種類のディザマトリックスの一行における読出位置を特定する値を保持するカウンタと、
前記カウンタの値に基づいて、前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスのそれぞれから、前記Ｎ値化手段に用いる各色毎の閾値を読み出す読出手段とを備え、
前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスの一行を構成する閾値の個数は、前記複数種類のディザパターンの一行を構成する閾値の個数の公倍数であることを特徴とする画像処理装置。
【請求項２】
前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスの一行を構成する閾値の個数は、前記複数種類のディザパターンの一行を構成する閾値の個数の最小公倍数であることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記読出手段は、前記カウンタの値が初期値のとき、前記ディザマトリックス記憶手段に記憶された前記複数種類のディザマトリックスの一行における先頭から前記閾値を読み出すものであり、
前記読出手段により、前記複数種類のディザマトリックスのそれぞれから前記閾値が読み出されると前記カウンタの値に所定値を加算し、且つ、前記複数種類のディザマトリックスのそれぞれから一行分の閾値が読み出されると前記カウンタの値を前記初期値に戻すカウンタ更新手段を備えるものであることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記ディザマトリックス記憶手段に記憶された前記複数種類のディザマトリックスの各基準位置を特定する基準値を記憶する基準値記憶手段を備え、
前記読出手段は、前記基準値記憶手段に記憶された各ディザマトリックスの基準値に、前記カウンタの値を加算した値に基づいて、前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスのそれぞれから、前記Ｎ値化手段に用いる各色毎の閾値を読み出すものであることを特徴とする請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
複数色のそれぞれについて設定された複数種類のディザパターンを用いて、各色毎に閾値を読み出し、読み出された閾値に基づいて、入力画像データを構成する画素に含まれる複数色の色成分値を各色毎にＮ値化するＮ値化手段を備えた画像処理装置において、
１つのディザパターンまたは一種類のディザパターンの繰り返しから構成されるディザマトリックスであって、一行を構成する閾値の個数がｎ個（ｎは整数）であるｎディザマトリックスまたは一行を構成する閾値の個数がｍ個（ｍは整数）であるｍディザマトリックスのいずれかを、前記複数種類のディザパターンのそれぞれについて記憶するディザマトリックス記憶手段と、
前記ディザマトリックス記憶手段に記憶された前記ｎディザマトリックスおよび前記ｍディザマトリックスの一行における読出位置を特定する値を保持するカウンタと、
前記ディザマトリックス記憶手段に記憶された前記ｎディザマトリックスおよび前記ｍディザマトリックスの各基準位置を特定する基準値を記憶する基準値記憶手段と、
前記基準値記憶手段に記憶された各ディザマトリックスの基準値に、前記カウンタの値を加算した値に基づいて、前記ディザマトリックス記憶手段に記憶された前記ｎディザマトリックスおよび前記ｍディザマトリックスのそれぞれから、前記Ｎ値化手段に用いる各色毎の閾値を読み出し、且つ、前記カウンタの値が初期値のとき、前記ｎディザマトリックスの一行における先頭から前記閾値を読み出す読出手段と、
前記読出手段により、前記ｎディザマトリックスおよび前記ｍディザマトリックスのそれぞれから前記閾値が読み出されると前記カウンタの値に所定値を加算し、且つ、前記ｎディザマトリックスから一行分の閾値が読み出されると前記カウンタの値を前記初期値に戻すカウンタ更新手段と、
前記カウンタ更新手段により前記カウンタの値が前記初期値に戻されると、前記基準値記憶手段に記憶された、前記ｍディザマトリックスの基準値にｎを加算するｎ加算手段とを備えることを特徴とする画像処理装置。
【請求項６】
前記読出手段により、前記ｍディザマトリックスから一行分の閾値が読み出されると、前記基準値記憶手段に記憶されたｍディザマトリックスの基準値からｍを減算するｍ減算手段を備えることを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記ｍディザマトリックスから一行分の閾値が読み出されるまでに前記カウンタ更新手段により前記カウンタが更新される回数に相当する更新回数値を記憶する更新回数記憶手段と、
前記更新回数値記憶手段により記憶された更新回数値と前記カウンタの値とに基づいて、前記ｍディザマトリックスから一行分の閾値が読み出されたかを判断する読出判断手段とを備え、
前記ｍ減算手段は、前記読出判断手段により、前記ｍディザマトリックスから一行分の閾値が読み出されたと判断された場合、前記ｍディザマトリックスの基準値からｍを減算するものであることを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記カウンタ更新手段は、前記読出手段により、前記ｎディザマトリックスおよび前記ｍディザマトリックスのそれぞれから前記閾値が読み出されると前記カウンタの値に１を加算するものであって、
前記ｎ加算手段により、前記ｍディザマトリックスの基準値にｎが加算されると、前記更新回数値記憶手段に記憶された更新回数値からｎを減算し、前記ｍ減算手段により、前記ｍディザマトリックスの基準値からｍが減算されると、前記更新回数記憶手段に記憶された更新回数値にｍを加算する更新回数算出手段を備えるものであることを特徴とする請求項７記載の画像処理装置。
【請求項９】
複数色のそれぞれについて設定された複数種類のディザパターンを用いて、各色毎の閾値を読み出し、読み出された閾値に基づいて、入力画像データを構成する画素に含まれる複数色の色成分値を各色毎にＮ値化する（Ｎは２以上の整数）Ｎ値化ステップをコンピュータに実行させる画像処理プログラムにおいて、
前記コンピュータは、１つのディザパターンまたは一種類のディザパターンの繰り返しから構成されるディザマトリックスを、前記複数種類のディザパターンのそれぞれについて記憶するディザマトリックス記憶手段と、
前記ディザマトリックス記憶手段に記憶された前記複数種類のディザマトリックスの一行における読出位置を特定する値を保持するカウンタとを備え、
前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスの一行を構成する閾値の個数は、前記複数種類のディザパターンの一行を構成する閾値の個数の公倍数であって、
前記カウンタの値に基づいて、前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスのそれぞれから、前記Ｎ値化ステップに用いる各色毎の閾値を読み出す読出ステップを前記コンピュータに実行させるものであることを特徴とする画像処理プログラム。
【請求項１０】
前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスの一行を構成する閾値の個数は、前記複数種類のディザパターンの一行を構成する閾値の個数の最小公倍数であることを特徴とする請求項９記載の画像処理プログラム。
【請求項１１】
前記読出ステップは、前記カウンタの値が初期値のとき、前記ディザマトリックス記憶手段に記憶された前記複数種類のディザマトリックスの一行における先頭から前記閾値を読み出すものであり、
前記読出ステップにより、前記複数種類のディザマトリックスのそれぞれから前記閾値が読み出されると前記カウンタの値に所定値を加算し、且つ、前記複数種類のディザマトリックスのそれぞれから一行分の閾値が読み出されると前記カウンタの値を前記初期値に戻すカウンタ更新ステップを、前記コンピュータに実行させるものであることを特徴とする請求項９または１０に記載の画像処理プログラム。
【請求項１２】
前記コンピュータは、前記ディザマトリックス記憶手段に記憶された前記複数種類のディザマトリックスの各基準位置を特定する基準値を記憶する基準値記憶手段を備え、
前記読出ステップは、前記基準値記憶手段に記憶された各ディザマトリックスの基準値に、前記カウンタの値を加算した値に基づいて、前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスのそれぞれから、前記Ｎ値化ステップに用いる各色毎の閾値を読み出すものであることを特徴とする請求項９から１１のいずれかに記載の画像処理プログラム。
【請求項１３】
複数色のそれぞれについて設定された複数種類のディザパターンを用いて、各色毎に閾値を読み出し、読み出された閾値に基づいて、入力画像データを構成する画素に含まれる複数色の色成分値を各色毎にＮ値化するＮ値化ステップをコンピュータに実行させる画像処理プログラムにおいて、
前記コンピュータは、１つのディザパターンまたは一種類のディザパターンの繰り返しから構成されるディザマトリックスであって、一行を構成する閾値の個数がｎ個（ｎは整数）であるｎディザマトリックスまたは一行を構成する閾値の個数がｍ個（ｍは整数）であるｍディザマトリックスのいずれかを、前記複数種類のディザパターンのそれぞれについて記憶するディザマトリックス記憶手段と、
前記ディザマトリックス記憶手段に記憶された前記ｎディザマトリックスおよび前記ｍディザマトリックスの一行における読出位置を特定する値を保持するカウンタと、
前記ディザマトリックス記憶手段に記憶された前記ｎディザマトリックスおよび前記ｍディザマトリックスの各基準位置を特定する基準値を記憶する基準値記憶手段とを備え、
前記基準値記憶手段に記憶された各ディザマトリックスの基準値に、前記カウンタの値を加算した値に基づいて、前記ディザマトリックス記憶手段に記憶された前記ｎディザマトリックスおよび前記ｍディザマトリックスのそれぞれから、前記Ｎ値化ステップに用いる各色毎の閾値を読み出し、且つ、前記カウンタの値が初期値のとき、前記ｎディザマトリックスの一行における先頭から前記閾値を読み出す読出ステップと、
前記読出ステップにより、前記ｎディザマトリックスおよび前記ｍディザマトリックスのそれぞれから前記閾値が読み出されると前記カウンタの値に所定値を加算し、且つ、前記ｎディザマトリックスから一行分の閾値が読み出されると前記カウンタの値を前記初期値に戻すカウンタ更新ステップと、
前記カウンタ更新ステップにより前記カウンタの値が前記初期値に戻されると、前記基準値記憶手段に記憶された、前記ｍディザマトリックスの基準値にｎを加算するｎ加算ステップを、前記コンピュータに実行させるものであることを特徴とする画像処理プログラム。
【請求項１４】
前記読出ステップにより、前記ｍディザマトリックスから一行分の閾値が読み出されると、前記基準値記憶手段に記憶されたｍディザマトリックスの基準値からｍを減算するｍ減算ステップを、前記コンピュータに実行させるものであることを特徴とする請求項１３記載の画像処理プログラム。
【請求項１５】
前記コンピュータは、前記ｍディザマトリックスから一行分の閾値が読み出されるまでに前記カウンタ更新ステップにより前記カウンタが更新される回数に相当する更新回数値を記憶する更新回数記憶手段を備え、
前記更新回数値記憶手段により記憶された更新回数値と前記カウンタの値とに基づいて、前記ｍディザマトリックスから一行分の閾値が読み出されたかを判断する読出判断ステップを前記コンピュータに実行させるものであり、
前記ｍ減算ステップは、前記読出判断ステップにより、前記ｍディザマトリックスから一行分の閾値が読み出されたと判断された場合、前記ｍディザマトリックスの基準値からｍを減算するものであることを特徴とする請求項１４記載の画像処理プログラム。
【請求項１６】
前記カウンタ更新ステップは、前記読出ステップにより、前記ｎディザマトリックスおよび前記ｍディザマトリックスのそれぞれから前記閾値が読み出されると前記カウンタの値に１を加算するものであって、
前記ｎ加算ステップにより、前記ｍディザマトリックスの基準値にｎが加算されると、前記更新回数値記憶手段に記憶された更新回数値からｎを減算し、前記ｍ減算手段により、前記ｍディザマトリックスの基準値からｍが減算されると、前記更新回数記憶手段に記憶された更新回数値にｍを加算する更新回数算出ステップを前記コンピュータに実行させるものであることを特徴とする請求項１５記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および画像処理プログラムに関するものである。
【背景技術】
【０００２】
ディスプレイで表示する色は赤、緑、青の成分で構成されている。それぞれの頭文字をとってRGB形式と呼ばれる。それに対して印刷装置で印刷される色は主にシアン、マゼンダ、イエロー、ブラックの成分で構成されている。これも頭文字をとってCMYK形式と呼ばれる。またディスプレイ上のRGB形式では一般的に各色とも明るさに２５６段階の諧調があり、この諧調により色の濃淡を表現している。それに対して印刷装置のCMYKは各色トナーを置くか置かないかの2段階しかなく、トナーの置く量により濃淡を表現している。つまりディスプレイ上の色は多値RGBで表現され、印刷装置からの出力結果は2値のCMYKで表現されているということになる。
【０００３】
ディスプレイで表示している色を印刷装置で印字する場合は、多値のRGB形式で表現された色を二値のCMYK形式に変換する必要があるが、通常、多値のRGBから二値のCMYKに直接変換するのではなく、多値RGB→多値CMYK→二値CMYKといった段階を踏んで変換を行う。
【０００４】
多値のCMYKから2値のCMYKへの変換にはディザパターンを用いて変換を行う方法がある。これはディザパターンをあらかじめ用意しておき、変換したい多値のデータとそのディザパターンとを比較し、変換したい値がディザパターンに書かれている閾値以上であれば１、そうでなければ０にするというものである。
図１２（ａ）に、４×４のディザパターンの一例を示す。図１２（ａ）を用いて変換することにより、図１２（ｂ）の左図の多値データは、それぞれ図１２（ｂ）の右図のように二値化される。
【０００５】
実際には、画像データの一ライン分の画素の多値データを二値化する場合には、ディザパターンの一ライン分の閾値が用いられる。すなわち、画像データの一ライン分の画素の値を一画素ずつ読み込むと共に、ディザパターンの一ライン分の閾値が先頭（図１２（ａ）に示す左端）から順次読み込み、値の大小を比較して二値化処理を実行する。そして、ディザパターンの一ライン分の後尾の閾値が読み込まれると、再び同じ一行の先頭の閾値を読み込む処理を繰り返す。すなわち、ディザーパターンの一行における閾値の読込位置は周期的に変動する。よって、周期的に変動する値をカウンタに発生させ、そのカウンタの値に基づいて、ディザパターンの一行における読込位置を発生させることが行われている（例えば、特許文献１参照）。
【特許文献１】特開平７−２６２３４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ディザパターンはCMYKそれぞれサイズが異なるものを使うことが多い。これは各色間の色の干渉を避けるために、ディザパターンにはそれぞれ異なる角度を設定していることが多いので、水平方向のディザパターンのサイズが必然的に異なってくるからである。よって実際にCMYKの多値画像をそれぞれ二値化しようとすると、CMYKのディザパターンの周期が異なるため、カウンタを1つずつ用意する必要があった。
【０００７】
このカウンタに対して、比較処理やカウントアップ処理、代入処理などの各種制御処理を行うわけであるが、この１つ１つの作業量は大したものではないが、二値化処理は印刷する画像の全てのデータに対して行う必要があり、Ａ４の用紙を６００ｄｐｉの解像度で印刷しようとする場合、二値化しなければいけない点は約３２００万点にものぼる。二値化はCMYKそれぞれに行う必要があるため、約１億２８００万回のカウンタに対する処理が繰り返されることとなり、わずかに処理が増えても大きなスピードの低下へと繋がっていた。
【０００８】
本発明は上述した問題点を解決するためになされたものであり、従来に比較してＮ値化処理を高速化できる画像処理装置および画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
この目的を達成するために、請求項１記載の画像処理装置は、複数色のそれぞれについて設定された複数種類のディザパターンを用いて、各色毎の閾値を読み出し、読み出された閾値に基づいて、入力画像データを構成する画素に含まれる複数色の色成分値を各色毎にＮ値化する（Ｎは２以上の整数）Ｎ値化手段を備えたものにおいて、１つのディザパターンまたは一種類のディザパターンの繰り返しから構成されるディザマトリックスを、前記複数種類のディザパターンのそれぞれについて記憶するディザマトリックス記憶手段と、前記ディザマトリックス記憶手段に記憶された前記複数種類のディザマトリックスの一行における読出位置を特定する値を保持するカウンタと、前記カウンタの値に基づいて、前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスのそれぞれから、前記Ｎ値化手段に用いる各色毎の閾値を読み出す読出手段とを備え、前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスの一行を構成する閾値の個数は、前記複数種類のディザパターンの一行を構成する閾値の個数の公倍数である。
【００１０】
請求項２記載の画像処理装置は、請求項１記載の画像処理装置において、前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスの一行を構成する閾値の個数は、前記複数種類のディザパターンの一行を構成する閾値の個数の最小公倍数である。
【００１１】
請求項３記載の画像処理装置は、請求項１または２に記載の画像処理装置において、前記読出手段は、前記カウンタの値が初期値のとき、前記ディザマトリックス記憶手段に記憶された前記複数種類のディザマトリックスの一行における先頭から前記閾値を読み出すものであり、前記読出手段により、前記複数種類のディザマトリックスのそれぞれから前記閾値が読み出されると前記カウンタの値に所定値を加算し、且つ、前記複数種類のディザマトリックスのそれぞれから一行分の閾値が読み出されると前記カウンタの値を前記初期値に戻すカウンタ更新手段を備えるものである。
【００１２】
請求項４記載の画像処理装置は、請求項１から３のいずれかに記載の画像処理装置において、前記ディザマトリックス記憶手段に記憶された前記複数種類のディザマトリックスの各基準位置を特定する基準値を記憶する基準値記憶手段を備え、前記読出手段は、前記基準値記憶手段に記憶された各ディザマトリックスの基準値に、前記カウンタの値を加算した値に基づいて、前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスのそれぞれから、前記Ｎ値化手段に用いる各色毎の閾値を読み出すものである。
【００１３】
請求項５記載の画像処理装置は、複数色のそれぞれについて設定された複数種類のディザパターンを用いて、各色毎に閾値を読み出し、読み出された閾値に基づいて、入力画像データを構成する画素に含まれる複数色の色成分値を各色毎にＮ値化するＮ値化手段を備えたものにおいて、１つのディザパターンまたは一種類のディザパターンの繰り返しから構成されるディザマトリックスであって、一行を構成する閾値の個数がｎ個（ｎは整数）であるｎディザマトリックスまたは一行を構成する閾値の個数がｍ個（ｍは整数）であるｍディザマトリックスのいずれかを、前記複数種類のディザパターンのそれぞれについて記憶するディザマトリックス記憶手段と、前記ディザマトリックス記憶手段に記憶された前記ｎディザマトリックスおよび前記ｍディザマトリックスの一行における読出位置を特定する値を保持するカウンタと、前記ディザマトリックス記憶手段に記憶された前記ｎディザマトリックスおよび前記ｍディザマトリックスの各基準位置を特定する基準値を記憶する基準値記憶手段と、前記基準値記憶手段に記憶された各ディザマトリックスの基準値に、前記カウンタの値を加算した値に基づいて、前記ディザマトリックス記憶手段に記憶された前記ｎディザマトリックスおよび前記ｍディザマトリックスのそれぞれから、前記Ｎ値化手段に用いる各色毎の閾値を読み出し、且つ、前記カウンタの値が初期値のとき、前記ｎディザマトリックスの一行における先頭から前記閾値を読み出す読出手段と、前記読出手段により、前記ｎディザマトリックスおよび前記ｍディザマトリックスのそれぞれから前記閾値が読み出されると前記カウンタの値に所定値を加算し、且つ、前記ｎディザマトリックスから一行分の閾値が読み出されると前記カウンタの値を前記初期値に戻すカウンタ更新手段と、前記カウンタ更新手段により前記カウンタの値が前記初期値に戻されると、前記基準値記憶手段に記憶された、前記ｍディザマトリックスの基準値にｎを加算するｎ加算手段とを備える。
【００１４】
請求項６記載の画像処理装置は、請求項５記載の画像処理装置において、前記読出手段により、前記ｍディザマトリックスから一行分の閾値が読み出されると、前記基準値記憶手段に記憶されたｍディザマトリックスの基準値からｍを減算するｍ減算手段を備える。
【００１５】
請求項７記載の画像処理装置は、請求項６記載の画像処理装置において、前記ｍディザマトリックスから一行分の閾値が読み出されるまでに前記カウンタ更新手段により前記カウンタが更新される回数に相当する更新回数値を記憶する更新回数記憶手段と、前記更新回数値記憶手段により記憶された更新回数値と前記カウンタの値とに基づいて、前記ｍディザマトリックスから一行分の閾値が読み出されたかを判断する読出判断手段とを備え、前記ｍ減算手段は、前記読出判断手段により、前記ｍディザマトリックスから一行分の閾値が読み出されたと判断された場合、前記ｍディザマトリックスの基準値からｍを減算するものである。
【００１６】
請求項８記載の画像処理装置は、請求項７記載の画像処理装置において、前記カウンタ更新手段は、前記読出手段により、前記ｎディザマトリックスおよび前記ｍディザマトリックスのそれぞれから前記閾値が読み出されると前記カウンタの値に１を加算するものであって、前記ｎ加算手段により、前記ｍディザマトリックスの基準値にｎが加算されると、前記更新回数値記憶手段に記憶された更新回数値からｎを減算し、前記ｍ減算手段により、前記ｍディザマトリックスの基準値からｍが減算されると、前記更新回数記憶手段に記憶された更新回数値にｍを加算する更新回数算出手段を備える。
【００１７】
請求項９記載の画像処理プログラムは、複数色のそれぞれについて設定された複数種類のディザパターンを用いて、各色毎の閾値を読み出し、読み出された閾値に基づいて、入力画像データを構成する画素に含まれる複数色の色成分値を各色毎にＮ値化する（Ｎは２以上の整数）Ｎ値化ステップをコンピュータに実行させるものにおいて、前記コンピュータは、１つのディザパターンまたは一種類のディザパターンの繰り返しから構成されるディザマトリックスを、前記複数種類のディザパターンのそれぞれについて記憶するディザマトリックス記憶手段と、前記ディザマトリックス記憶手段に記憶された前記複数種類のディザマトリックスの一行における読出位置を特定する値を保持するカウンタとを備え、前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスの一行を構成する閾値の個数は、前記複数種類のディザパターンの一行を構成する閾値の個数の公倍数であって、前記カウンタの値に基づいて、前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスのそれぞれから、前記Ｎ値化ステップに用いる各色毎の閾値を読み出す読出ステップを前記コンピュータに実行させるものである。
【００１８】
請求項１０記載の画像処理プログラムは、請求項９記載の画像処理プログラムにおいて、前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスの一行を構成する閾値の個数は、前記複数種類のディザパターンの一行を構成する閾値の個数の最小公倍数である。
【００１９】
請求項１１記載の画像処理プログラムは、請求項９または１０に記載の画像処理プログラムにおいて、前記読出ステップは、前記カウンタの値が初期値のとき、前記ディザマトリックス記憶手段に記憶された前記複数種類のディザマトリックスの一行における先頭から前記閾値を読み出すものであり、前記読出ステップにより、前記複数種類のディザマトリックスのそれぞれから前記閾値が読み出されると前記カウンタの値に所定値を加算し、且つ、前記複数種類のディザマトリックスのそれぞれから一行分の閾値が読み出されると前記カウンタの値を前記初期値に戻すカウンタ更新ステップを、前記コンピュータに実行させるものである。
【００２０】
請求項１２記載の画像処理プログラムは、請求項９から１１のいずれかに記載の画像処理プログラムにおいて、前記コンピュータは、前記ディザマトリックス記憶手段に記憶された前記複数種類のディザマトリックスの各基準位置を特定する基準値を記憶する基準値記憶手段を備え、前記読出ステップは、前記基準値記憶手段に記憶された各ディザマトリックスの基準値に、前記カウンタの値を加算した値に基づいて、前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスのそれぞれから、前記Ｎ値化ステップに用いる各色毎の閾値を読み出すものである。
【００２１】
請求項１３記載の画像処理プログラムは、複数色のそれぞれについて設定された複数種類のディザパターンを用いて、各色毎に閾値を読み出し、読み出された閾値に基づいて、入力画像データを構成する画素に含まれる複数色の色成分値を各色毎にＮ値化するＮ値化ステップをコンピュータに実行させるものにおいて、前記コンピュータは、１つのディザパターンまたは一種類のディザパターンの繰り返しから構成されるディザマトリックスであって、一行を構成する閾値の個数がｎ個（ｎは整数）であるｎディザマトリックスまたは一行を構成する閾値の個数がｍ個（ｍは整数）であるｍディザマトリックスのいずれかを、前記複数種類のディザパターンのそれぞれについて記憶するディザマトリックス記憶手段と、前記ディザマトリックス記憶手段に記憶された前記ｎディザマトリックスおよび前記ｍディザマトリックスの一行における読出位置を特定する値を保持するカウンタと、前記ディザマトリックス記憶手段に記憶された前記ｎディザマトリックスおよび前記ｍディザマトリックスの各基準位置を特定する基準値を記憶する基準値記憶手段とを備え、前記基準値記憶手段に記憶された各ディザマトリックスの基準値に、前記カウンタの値を加算した値に基づいて、前記ディザマトリックス記憶手段に記憶された前記ｎディザマトリックスおよび前記ｍディザマトリックスのそれぞれから、前記Ｎ値化ステップに用いる各色毎の閾値を読み出し、且つ、前記カウンタの値が初期値のとき、前記ｎディザマトリックスの一行における先頭から前記閾値を読み出す読出ステップと、前記読出ステップにより、前記ｎディザマトリックスおよび前記ｍディザマトリックスのそれぞれから前記閾値が読み出されると前記カウンタの値に所定値を加算し、且つ、前記ｎディザマトリックスから一行分の閾値が読み出されると前記カウンタの値を前記初期値に戻すカウンタ更新ステップと、前記カウンタ更新ステップにより前記カウンタの値が前記初期値に戻されると、前記基準値記憶手段に記憶された、前記ｍディザマトリックスの基準値にｎを加算するｎ加算ステップを、前記コンピュータに実行させるものである。
【００２２】
請求項１４記載の画像処理プログラムは、請求項１３記載の画像処理プログラムにおいて、前記読出ステップにより、前記ｍディザマトリックスから一行分の閾値が読み出されると、前記基準値記憶手段に記憶されたｍディザマトリックスの基準値からｍを減算するｍ減算ステップを、前記コンピュータに実行させるものである。
【００２３】
請求項１５記載の画像処理プログラムは、請求項１４記載の画像処理プログラムにおいて、前記コンピュータは、前記ｍディザマトリックスから一行分の閾値が読み出されるまでに前記カウンタ更新ステップにより前記カウンタが更新される回数に相当する更新回数値を記憶する更新回数記憶手段を備え、前記更新回数値記憶手段により記憶された更新回数値と前記カウンタの値とに基づいて、前記ｍディザマトリックスから一行分の閾値が読み出されたかを判断する読出判断ステップを前記コンピュータに実行させるものであり、前記ｍ減算ステップは、前記読出判断ステップにより、前記ｍディザマトリックスから一行分の閾値が読み出されたと判断された場合、前記ｍディザマトリックスの基準値からｍを減算するものである。
【００２４】
請求項１６記載の画像処理プログラムは、請求項１５記載の画像処理プログラムにおいて、前記カウンタ更新ステップは、前記読出ステップにより、前記ｎディザマトリックスおよび前記ｍディザマトリックスのそれぞれから前記閾値が読み出されると前記カウンタの値に１を加算するものであって、前記ｎ加算ステップにより、前記ｍディザマトリックスの基準値にｎが加算されると、前記更新回数値記憶手段に記憶された更新回数値からｎを減算し、前記ｍ減算手段により、前記ｍディザマトリックスの基準値からｍが減算されると、前記更新回数記憶手段に記憶された更新回数値にｍを加算する更新回数算出ステップを前記コンピュータに実行させるものである。
【発明の効果】
【００２５】
請求項１記載の画像処理装置によれば、前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスの一行を構成する閾値の個数は、前記複数種類のディザパターンの一行を構成する閾値の個数の公倍数である。すなわち、前記複数種類のディザマトリックスは、一行を構成する閾値の数が等しい。したがって、複数種類のディザパターンの一行を構成する閾値の個数が互いに異なるものであっても、複数種類のディザマトリックスの一行における読み出し位置を特定する値を保持するカウンタを共通化できる。よって、複数種類のディザマトリックスのそれぞれにカウンタを設ける場合に比較して、カウンタの数が減少し、カウンタの制御に要する処理数を全体として減らすことができる。その結果、従来に比較してＮ値化処理を高速化できるという効果がある。特に、処理対象の画素数が多い場合には、一回のＮ値化処理がわずかでも高速化することにより、Ｎ値化処理全体としてみると、処理速度の大きな向上に繋がる。
【００２６】
請求項２記載の画像処理装置によれば、請求項１記載の画像処理装置の奏する効果に加え、前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスの一行を構成する閾値の個数は、前記複数種類のディザパターンの一行を構成する閾値の個数の最小公倍数であるので、複数種類のディザマトリックスのデータ量を可能な限り小さくすることができ、メモリの使用量を抑えることができるという効果がある。
【００２７】
請求項３記載の画像処理装置によれば、請求項１または２に記載の画像処理装置の奏する効果に加え、前記複数種類のディザマトリックスのそれぞれから一行分の閾値が読み出されると（すなわち、一行における後尾の閾値が読み出されると）、カウンタ更新手段により、前記カウンタの値が初期値に戻され、複数種類のディザマトリックスの一行における先頭から再び閾値が読み出される。よって、複数種類のディザマトリックスのそれぞれにカウンタを設けなくても、各ディザマトリックスから所定の周期で閾値を読み出すことができる。すなわち、複数種類のディザマトリックスのそれぞれにカウンタを設けなくてもよいので、Ｎ値化処理を高速化できる。
【００２８】
請求項４記載の画像処理装置によれば、請求項１から３のいずれかに記載の画像処理装置の奏する効果に加え、前記基準値記憶手段に記憶された各ディザマトリックスの基準値に、前記カウンタの値を加算した値に基づいて、前記複数種類のディザマトリックスのそれぞれから、Ｎ値化手段に用いる各色毎の閾値が読み出される。よって、複数種類のディザマトリックスのそれぞれにカウンタを設けなくても、複数のディザマトリックスのそれぞれから閾値を読み出すことができる。すなわち、複数種類のディザマトリックスのそれぞれにカウンタを設けなくてもよいので、Ｎ値化処理を高速化できる。
【００２９】
請求項５記載の画像処理装置によれば、前記基準値記憶手段に記憶されたｎディザマトリックスおよびｍディザマトリックスの各基準値に、前記カウンタの値を加算した値に基づいて、前記ディザマトリックス記憶手段に記憶されたｎディザマトリックスおよびｍディザマトリックスのそれぞれから、前記Ｎ値化手段に用いる各色毎の閾値が読み出される。
【００３０】
ここで、前記ｎディザマトリックスから一行分の閾値が読み出されると（すなわち、一行における後尾の閾値が読み出されると）、カウンタ更新手段により、前記カウンタの値が初期値に戻されるので、ｎディザマトリックスの一行における先頭から再び閾値が読み出される。よって、ｎディザマトリックスのそれぞれから所定の周期で閾値を読み出すことができる。
【００３１】
一方で、前記カウンタ更新手段により前記カウンタの値が前記初期値に戻されると、ｎ加算手段により、前記基準値記憶手段に記憶された、前記ｍディザマトリックスの基準値にｎが加算される。その結果、ｍディザマトリックスの一行における先頭からｎ個目の閾値の位置が読出位置とされる。すなわち、カウンタの値が初期値に戻されても、ｍディザマトリックスの読出位置は、先頭には戻されない。
【００３２】
よって、ｎディザマトリックスおよびｍディザマトリックスのそれぞれにカウンタを設けなくても、各ディザマトリックスのそれぞれから閾値を読み出すことができる。すなわち、ｎディザマトリックスおよびｍディザマトリックスのカウンタを共通化することができるので、カウンタの数が減少し、カウンタの制御に要する処理数を全体として減らすことができる。その結果、Ｎ値化処理を高速化できるという効果がある。特に、処理対象の画素数が多い場合には、一回のＮ値化処理がわずかでも高速化することにより、Ｎ値化処理全体としてみると、処理速度の大きな向上に繋がる。
【００３３】
請求項６記載の画像処理装置によれば、請求項５記載の画像処理装置の奏する効果に加え、前記読出手段により、前記ｍディザマトリックスから一行分の閾値が読み出されると、ｍ減算手段により、前記基準値記憶手段に記憶されたｍディザマトリックスの基準値からｍが減算されるので、ｍディザマトリックスの先頭から再び閾値が読み出される。よって、ｍディザマトリックスのそれぞれから所定の周期で閾値を読み出すことができる。すなわち、ｎディザマトリックスおよびｍディザマトリックスのカウンタを共通化することができるので、Ｎ値化処理を高速化できる。
【００３４】
請求項７記載の画像処理装置によれば、請求項６記載の画像処理装置の奏する効果に加え、前記更新回数値記憶手段により記憶された更新回数値と前記カウンタの値とに基づいて、前記ｍディザマトリックスから一行分の閾値が読み出されたかを判断することができるので、前記ｍディザマトリックスから一行分の閾値が読み出されか否かを判断するために、別途カウンタを設ける必要がない。よって、カウンタの制御に必要な処理数が増加してＮ値化処理が低速化することを抑制できる。
【００３５】
請求項８記載の画像処理装置によれば、請求項７記載の画像処理装置の奏する効果に加え、前記ｎ加算手段により、前記ｍディザマトリックスの基準値にｎが加算されると、前記更新回数値記憶手段に記憶された更新回数値からｎが減算され、前記ｍ減算手段により、前記ｍディザマトリックスの基準値からｍが減算されると、前記更新回数記憶手段に記憶された更新回数値にｍが加算されるので、簡単な処理で更新回数値を算出することができる。よって、前記ｍディザマトリックスから一行分の閾値が読み出されか否かを判断するために、別途カウンタを設ける必要がないので、Ｎ値化処理が低速化することを抑制できる。
【００３６】
請求項９記載の画像処理プログラムによれば、前記コンピュータの前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスの一行を構成する閾値の個数が、前記複数種類のディザパターンの一行を構成する閾値の個数の公倍数である。すなわち、前記複数種類のディザマトリックスは、一行を構成する閾値の数が等しい。したがって、複数種類のディザパターンの一行を構成する閾値の個数が互いに異なるものであっても、複数種類のディザマトリックスのそれぞれに対応したカウンタを設ける必要がなく、読出ステップにより、共通のカウンタの値に基づいて、複数種類のディザマトリックスのそれぞれから、Ｎ値化ステップに用いる各色毎の閾値を読み出すことができる。よって、複数種類のディザマトリックスのそれぞれにカウンタを設ける場合に比較して、カウンタの数が減少し、カウンタの制御に要する処理数を全体として減らすことができる。その結果、Ｎ値化処理を高速化できるという効果がある。特に、処理対象の画素数が多い場合には、一回のＮ値化処理がわずかでも高速化することにより、Ｎ値化処理全体としてみると、処理速度の大きな向上に繋がる。
【００３７】
請求項１０記載の画像処理プログラムによれば、請求項９記載の画像処理プログラムの奏する効果に加え、前記ディザマトリックス記憶手段に記憶された複数種類のディザマトリックスの一行を構成する閾値の個数は、前記複数種類のディザパターンの一行を構成する閾値の個数の最小公倍数であるので、複数種類のディザマトリックスのデータ量を可能な限り小さくすることができ、メモリの使用量を抑えることができるという効果がある。
【００３８】
請求項１１記載の画像処理プログラムによれば、請求項９または１０に記載の画像処理プログラムの奏する効果に加え、前記複数種類のディザマトリックスのそれぞれから一行分の閾値が読み出されると（すなわち、一行における後尾の閾値が読み出されると）、カウンタ更新ステップにより、前記カウンタの値が初期値に戻され、複数種類のディザマトリックスの一行における先頭から再び閾値が読み出される。よって、複数種類のディザマトリックスのそれぞれにカウンタを設けなくても、各ディザマトリックスから所定の周期で閾値を読み出すことができる。すなわち、複数種類のディザマトリックスのそれぞれにカウンタを設けなくてもよいので、Ｎ値化処理を高速化できる。
【００３９】
請求項１２記載の画像処理プログラムによれば、請求項９から１１のいずれかに記載の画像処理プログラムの奏する効果に加え、前記基準値記憶手段に記憶された各ディザマトリックスの基準値に、前記カウンタの値を加算した値に基づいて、複数種類のディザマトリックスのそれぞれから、Ｎ値化ステップに用いる各色毎の閾値が読み出される。よって、複数種類のディザマトリックスのそれぞれにカウンタを設けなくても、複数のディザマトリックスのそれぞれから閾値を読み出すことができる。すなわち、複数種類のディザマトリックスのそれぞれにカウンタを設けなくてもよいので、Ｎ値化処理を高速化できる。
【００４０】
請求項１３記載の画像処理プログラムによれば、前記コンピュータの前記基準値記憶手段に記憶されたｎディザマトリックスおよびｍディザマトリックスの各基準値に、前記カウンタの値を加算した値に基づいて、前記コンピュータの前記ディザマトリックス記憶手段に記憶されたｎディザマトリックスおよびｍディザマトリックスのそれぞれから、前記Ｎ値化ステップに用いる各色毎の閾値が読み出される。
【００４１】
ここで、前記ｎディザマトリックスから一行分の閾値が読み出されると（すなわち、一行における先頭からｎ個目の閾値が読み出されると）、カウンタ更新ステップにより、前記カウンタの値が初期値に戻されるので、ｎディザマトリックスの一行における先頭から再び閾値が読み出される。よって、ｎディザマトリックスのそれぞれから所定の周期で閾値を読み出すことができる。
【００４２】
一方で、前記カウンタ更新ステップにより前記カウンタの値が前記初期値に戻されると、ｎ加算ステップにより、前記コンピュータの前記基準値記憶手段に記憶された、前記ｍディザマトリックスの基準値にｎが加算される。その結果、ｍディザマトリックスの一行における先頭よりもｎ個分後尾側の閾値の位置が読出位置とされる。すなわち、カウンタの値が初期値に戻されても、ｍディザマトリックスの読出位置は、先頭には戻されない。
【００４３】
よって、ｎディザマトリックスおよびｍディザマトリックスのそれぞれにカウンタを設けなくても、各ディザマトリックスのそれぞれから閾値を読み出すことができる。すなわち、ｎディザマトリックスおよびｍディザマトリックスのカウンタを共通化することができるので、カウンタの数が減少し、カウンタの制御に要する処理数を全体として減らすことができる。その結果、Ｎ値化処理を高速化できるという効果がある。特に、処理対象の画素数が多い場合には、一回のＮ値化処理がわずかでも高速化することにより、Ｎ値化処理全体としてみると、処理速度の大きな向上に繋がる。
【００４４】
請求項１４記載の画像処理プログラムによれば、請求項１３記載の画像処理プログラムの奏する効果に加え、前記読出ステップにより、前記ｍディザマトリックスから一行分の閾値が読み出されると、ｍ減算ステップにより、前記コンピュータの前記基準値記憶手段に記憶されたｍディザマトリックスの基準値からｍが減算されるので、ｍディザマトリックスの先頭から再び閾値が読み出される。よって、ｍディザマトリックスのそれぞれから所定の周期で閾値を読み出すことができる。すなわち、ｎディザマトリックスおよびｍディザマトリックスのカウンタを共通化することができるので、Ｎ値化処理を高速化できる。
【００４５】
請求項１５記載の画像処理プログラムによれば、請求項１４記載の画像処理プログラムの奏する効果に加え、前記コンピュータの前記更新回数値記憶手段により記憶された更新回数値と前記カウンタの値とに基づいて、前記ｍディザマトリックスから一行分の閾値が読み出されたかを判断することができるので、前記ｍディザマトリックスから一行分の閾値が読み出されか否かを判断するために、別途カウンタを設ける必要がない。よって、カウンタの制御に必要な処理数が増加してＮ値化処理が低速化することを抑制できる。
【００４６】
請求項１６記載の画像処理プログラムによれば、請求項１５記載の画像処理プログラムの奏する効果に加え、前記ｎ加算ステップにより、前記ｍディザマトリックスの基準値にｎが加算されると、前記コンピュータの前記更新回数値記憶手段に記憶された更新回数値からｎが減算され、前記ｍ減算ステップにより、前記ｍディザマトリックスの基準値からｍが減算されると、前記コンピュータの前記更新回数記憶手段に記憶された更新回数値にｍが加算されるので、簡単な処理で更新回数値を算出することができる。よって、前記ｍディザマトリックスから一行分の閾値が読み出されか否かを判断するために、別途カウンタを設ける必要がないので、Ｎ値化処理が低速化することを抑制できる。
【発明を実施するための最良の形態】
【００４７】
以下、本発明の好ましい実施例について、添付図面を参照して説明する。図１は、本発明における第１実施例の画像処理装置として機能するパーソナルコンピュータ１０（以下、これをＰＣ１０と称する。）を含むプリントシステムの全体構成を示すブロック図である。図１に示されるようなプリントシステムは、ＰＣ１０と、ＰＣ１０に接続されるプリンタ５０とを備えている。
【００４８】
ＰＣ１０は、文書作成アプリケーションや画像作成アプリケーションなどで作成された文書データや画像データに対し、色変換処理や後述する二値化処理（図５参照）などの各種処理を実行し、プリンタ５０において印刷可能な印刷データに変換してプリンタ５０に出力する装置である。
【００４９】
ＰＣ１０は、図１に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１４と、入力装置１５と、表示装置１６と、プリンタ５０に接続するプリンタ用インターフェース１８（Ｉ／Ｆ１８）とを備えている。
【００５０】
ＣＰＵ１１は、このＰＣ１０を総括的に制御する中央演算処理であり、図５，図６，図７のフローチャートで示す処理を実行するプリンタドライバ１４ａなど、各種プログラムを実行する。
【００５１】
ＲＯＭ１２は、ＣＰＵ１１により実行される各種制御プログラムや、それらの制御プログラムをＣＰＵ１１により実行する上で必要なデータなどを格納した読み出し専用のメモリである。
【００５２】
ＲＡＭ１３は、ＣＰＵ１１により実行される各種処理に必要なデータやプログラムを一時的に記憶するためのメモリである。このＲＡＭ１３は、入力画像メモリ１３ａと出力画像メモリ１３ｂと、カウンタ１３ｃと、Ｃ基準アドレスメモリ１３ｄと、Ｍ基準アドレスメモリ１３ｅと、Ｙ基準アドレスメモリ１３ｆと、Ｋ基準アドレスメモリ１３ｇと、Ｃ値メモリ１３ｈと、Ｍ値メモリ１３ｉと、Ｙ値メモリ１３ｊと、Ｋ値メモリ１３ｋとを備えている。入力画像メモリ１３ａは、後述する二値化処理（図５参照）の対象である入力画像データを格納するメモリである。入力画像データは、各画素が、その色濃度に相当するＣＭＹＫの各色成分値（階調値）を含むビットマップデータである。なお、本第１実施例において、入力画像データを構成する各画素に含まれるＣＭＹＫの各色成分値は、それぞれ０以上２５５以下のいずれかの値をとるものとして説明する。
【００５３】
出力画像メモリ１３ｂは、出力画像データを格納するメモリである。入力画像メモリ１３ａに格納された入力画像データは、後述する二値化処理（図５参照）により、入力画像データを構成する各画素に含まれるＣＭＹＫの各色成分値が、それぞれ「０」または「１」に二値化された出力画像データに変換される。
【００５４】
カウンタ１３ｃは、後述するＣディザマトリックス２０、Ｍディザマトリックス２２、Ｙディザマトリックス２４、Ｋディザマトリックス２６（図２参照）の一行における読み出し位置を特定する値を保持するカウンタである。カウンタ１３ｃの初期値は「０」であって、本第１実施例においては「０〜３６」の範囲で１カウントずつ更新される。
【００５５】
Ｃ基準アドレスメモリ１３ｄは、後述するディザマトリックスメモリ１４ｂ（図３参照）に格納されたＣディザマトリックス２０のうち、読出対象である一行における閾値の読出開始位置（請求項の基準位置に相当）を特定するアドレスを、Ｃ基準アドレス（請求項の基準値に相当）として格納するメモリである。Ｍ基準アドレスメモリ１３ｅは、後述するディザマトリックスメモリ１４ｂに格納されたＭディザマトリックス２２のうち、読出対象である一行における閾値の読出開始位置（請求項の基準位置に相当）を特定するアドレスを、Ｍ基準アドレス（請求項の基準値に相当）として格納するメモリである。
【００５６】
Ｙ基準アドレスメモリメモリ１３ｆは、後述するディザマトリックスメモリ１４ｂに格納されたＹディザマトリックス２４のうち、読出対象である一行における閾値の読出開始位置（請求項の基準位置に相当）を特定するアドレスを、Ｙ基準アドレス（請求項の基準値に相当）として格納するメモリである。Ｋ基準アドレスメモリ１３ｇは、後述するディザマトリックスメモリ１４ｂに格納されたＫディザマトリックス２６のうち、読出対象である一行における閾値の読出開始位置（請求項の基準位置に相当）を特定するアドレスを、Ｋ基準アドレス（請求項の基準値に相当）として格納するメモリである。なお、本第１実施例においては、基準アドレスメモリ１３ｄ，１３ｅ，１３ｆ，１３ｇに記憶される各基準アドレスは、読出対象である一行における先頭の閾値のアドレスに相当するアドレスである。
【００５７】
Ｃ値メモリ１３ｈは、二値化処理の対象である入力画像データの１画素に含まれるＣの色成分値が格納されるメモリである。Ｍ値メモリ１３ｉは、二値化処理の対象である入力画像データの１画素に含まれるＭの色成分値が格納されるメモリである。Ｙ値メモリ１３ｊは、二値化処理の対象である入力画像データの１画素に含まれるＹの色成分値が格納されるメモリである。Ｋ値メモリ１３ｋは、二値化処理の対象である入力画像データの１画素に含まれるＫの色成分値が格納されるメモリである。なお、Ｃ値メモリ１３ｈ、Ｍ値メモリ１３ｉ、Ｙ値メモリ１３ｊ、Ｋ値メモリ１３ｋに格納されるＣＭＹＫの各色成分値は、多値（本第１実施例においては、０〜２５５）である。
【００５８】
ＨＤＤ１４は、ハードディスクを含むハードディスク読取装置であり、プリンタドライバ１４ａと、ディザマトリックスメモリ１４ｂと、ディザデータメモリ１４ｃとを備えている。
【００５９】
プリンタドライバ１４ａは、文書作成アプリケーションや画像作成アプリケーションなど、各種アプリケーションで作成された文書データや画像データを、プリンタ５０において処理可能な印刷データに変換し、プリンタ５０へ出力するためのプログラムである。ＰＣ１０は、プリンタドライバ１４ａに従って、文書データや画像データに含まれる文字や画像に対して描画処理を行い、ＲＧＢ形式のデータをＣＭＹＫ形式のデータに変換する色変換処理、図５を参照して後述する二値化処理など各種処理を施すことにより、印刷データに変換する。二値化処理により、ＰＣ１０は、多値（本第１実施例においては、０〜２５５）のＣＭＹＫ各色成分値で構成される入力値を、その入力値に対応する二値（本第１実施例においては、１または０）のＣＭＹＫの各値に変換して出力する。
【００６０】
ディザマトリックスメモリ１４ｂは、Ｃディザマトリックス２０、Ｍディザマトリクス２２、Ｙディザマトリックス２４、Ｋディザマトリックス２６を格納するメモリである。なお、ディザマトリックスメモリ１４ｂの構成、およびディザマトリックスメモリ１４ｂに格納されるディザマトリックスについては、図２，図３を参照しつつ後述する。
【００６１】
ディザデータメモリ１４ｃは、ディザマトリックスメモリ１４ｂに格納されたＣディザマトリックス２０、Ｍディザマトリクス２２、Ｙディザマトリックス２４、Ｋディザマトリックス２６のそれぞれの最先頭アドレスと、周期と、行数とを記憶するメモリである。なお、ディザデータメモリ１４ｃの構成については、図４を参照しつつ後述する。
【００６２】
入力装置１５は、ＰＣ１０へデータ又はコマンドを入力するものであり、キーボード、マウスなどにより構成されている。表示装置１６は、プリンタサーバ１０で実行される処理内容や入力されたデータなどを視覚的に確認するために、文字や画像などを表示するものであり、例えば、ＣＲＴディスプレイや液晶ディスプレイなどにより構成されている。
【００６３】
Ｉ／Ｆ１８は、ＰＣ１０とプリンタ５０とを接続するものであり、ＰＣ１０は、このＩ／Ｆ１８を介することにより、プリントコマンドや、印刷データをプリンタ５０に送信し、プリンタ５０に記録用紙への印刷を実行させることができる。
【００６４】
図１に示すように、上述したＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、ＨＤＤ１４と、入力装置１５と、表示装置１６と、Ｉ／Ｆ１８とは、バスライン１９を介して互いに接続されている。
【００６５】
また、図１に示すように、ＰＣ１０に接続されるプリンタ５０は、ＣＰＵ５１と、ＲＯＭ５２と、ＲＡＭ５３と、シート搬送モータ５４と、キャリッジモータ５５と、印字ヘッド５８と、ＰＣ１０に接続するインターフェース５７（Ｉ／Ｆ５７）とを備えている。
【００６６】
プリンタ５０における上記のような構成において、ＣＰＵ５１は、プリンタ５０の動作を制御するものであり、各種プログラムを実行する。ＲＯＭ５２は、プリンタ５０の動作を制御するためのプログラムなどが格納されたメモリである。
【００６７】
シート搬送モータ５４は、プリンタ５０の所定の位置に配置された記録用紙を上流から下流への方向又はその逆方向に搬送するためのステッピングモータであり、その移動はＣＰＵ５１により制御される。キャリッジモータ５５は、印字ヘッド５８を装着した非図示のキャリッジを、シート搬送モータ５４による搬送方向に対して直交方向に、キャリッジの初期位置である始点と、該始点とは反対側の限界位置である終点との間を往復移動させるべく駆動するためのステッピングモータであり、その移動はＣＰＵ５１により制御される。
【００６８】
印字ヘッド５８は、複数のノズル、アクチュエータ（いずれも非図示）を備えたインクジェットヘッドであり、ＣＰＵ５１により制御されるアクチュエータの駆動によってインクをノズルから噴射して、所定の文字又は模様を印刷するものである。また、Ｉ／Ｆ５７は、プリンタ５０とＰＣ１０とを接続するものであり、このＩ／Ｆ５７を介して、ＰＣ１０からプリントコマンドや印刷データが入力される。
【００６９】
図１に示すように、上述したＣＰＵ５１と、ＲＯＭ５２と、ＲＡＭ５３と、シート搬送モータ５４と、キャリッジモータ５５と、印字ヘッド５８と、Ｉ／Ｆ５７とは、バスライン５９を介して互いに接続されている。
【００７０】
図２を参照して、ディザマトリックスメモリ１４ｂに格納されるディザテーブルについて説明する。図２は、Ｃディザマトリックス２０、Ｍディザマトリックス２２、Ｙディザマトリックス２４、Ｋディザマトリックス２６の構成を模式的に示す図である。なお、図２においては、Ｃディザマトリックス２０のみ全体図を示し、他のディザマトリックス２２，２４，２６は、一行目のみを図示して他の行の図示は省略する。ここでは、まず、Ｃディザマトリックス２０を例に挙げて説明する。
【００７１】
後述する二値化処理（図５参照）では、これらのディザマトリックス２０，２２，２４，２６を用いて二値化処理が行われる。このようなディザマトリックスを用いた二値化処理方法は、ディザ法と称される。ディザ法とは、“所定領域を構成する複数の画素を遠くから見ると、その領域内の全ての画素の色を平均化した色に見える”という原理に基づき、階調数を擬似的に増加させる二値化処理方法である。すなわち、所定領域を構成する複数の画素に対し、１画素毎にそれぞれ異なる閾値を設定し、二値化処理を行う。この所定領域内の画素分の閾値で構成される閾値群をディザパターンと称する。このディザパターンの範囲で、所定領域内の画素に含まれる色成分値を二値化処理をすることにより、所定領域内の画素を平均した色濃度を、所望の色濃度に近似させることができる。
【００７２】
図２に示すように、Ｃディザマトリックス２０は、３個のＣディザパターン２０ａの繰り返しから構成される。各Ｃディザパターン２０ａは、一行が１２個の閾値で構成される４行の閾値群（すなわち４８個の閾値群）であって、且つ、１つのＣディザパターン２０ａは、互いに異なる値である４８個の閾値群で構成される。すなわち、一つのＣディザパターン２０ａは、４８画素分の画素を平均した色（Ｃ）濃度が所望の色濃度と近似するように設定されたディザパターンである。
【００７３】
Ｃディザマトリックス２０は、３個のＣディザパターン２０ａが行方向に繰り返し配列された閾値群である。すなわち、一行が３６（＝１２×３）個の閾値で構成される４行の閾値群である。
【００７４】
図２に示すように、Ｃディザパターン２０ａ、Ｍディザパターン２２ａ、Ｙディザパターン２４ａ、Ｋディザパターン２６ａは、一行を構成する閾値の個数がそれぞれ異なる。すなわち、Ｍディザパターン２２ａの一行は６個の閾値で構成され、Ｙディザパターン２４ａの一行は４個の閾値で構成され、Ｋディザパターン２６ａの一行は９個の閾値で構成される。
【００７５】
しかし、Ｍディザマトリックス２２は、６個のＭディザパターン２２ａの繰り返しから構成されるので、一行が３６（＝６×６）個の閾値で構成される。Ｙディザマトリックス２４は、９個のＹディザパターン２４ａの繰り返しから構成されるので、一行が３６（＝４×９）個の閾値で構成される。Ｋディザマトリックス２６は、４個のＫディザパターン２６ａの繰り返しから構成されるので、一行が３６（＝９×４）の閾値で構成される。このように、各ディザパターン２０ａ、２２ａ、２４ａ、２６ａは、一行を構成する閾値の個数が互いに異なるが、各ディザマトリックス２０，２２，２４，２６は、一行を構成する閾値の個数は全て３６となるように構成されている。すなわち、各ディザマトリックス２０，２２，２４，２６の一行を構成する閾値の個数（本第１実施例では３６）が、各ディザパターン２０ａ，２２ａ，２４ａ，２６ａの一行を構成する閾値の個数（本第１実施例では、１２，６，４，９）の最小公倍数となるように、各ディザマトリックス２０，２２，２４，２６が構成されている。
【００７６】
図３を参照して、ディザマトリックスメモリ１４ｂの構成について説明する。図３は、ディザマトリックスメモリ１４ｂの構成を模式的に示す図である。ディザマトリックスメモリ１４ｂは、Ｃディザマトリックス２０、Ｍディザマトリックス２２、Ｙディザマトリックス２４、Ｋディザマトリックス２６を記憶するメモリである。なお、図３においては、Ｃディザマトリックス２０における２行分の閾値を図示し、他は図示を省略する。
【００７７】
図３において、図面左側には、ディザマトリックスメモリ１４ｂにおけるアドレスを、１６進数表記で示している。後述する色変換処理（図５参照）では、指定されたアドレスに格納された閾値が、ディザマトリックスメモリ１４ｂから読み出され、二値化処理に用いられる。なお、図３においては、Ｃディザマトリックス２０の一行分の閾値を太線で囲んで図示する。
【００７８】
図４を参照して、ディザデータメモリ１４ｃに記憶されるデータの構成について説明する。図４は、ディザデータメモリ１４ｃに記憶されるデータの構成を模式的に示す図である。図４に示すように、ディザデータメモリ１４ｃには、各ディザマトリックス２０，２２，２４，２６の最先頭アドレスと、周期と、行数とが記憶されている。最先頭アドレスとは、各ディザマトリックス２０，２２，２４，２６の一行一列目の閾値のアドレスである。例えば、Ｃディザマトリックス２０の一行一列目の閾値は、アドレス「０ｘ００００１０００」で特定されるディザマトリックスメモリ１４ｂ上の位置に格納されている（図３参照）。
【００７９】
周期は、各ディザマトリックス２０，２２，２４，２６の一行を構成する閾値の個数に相当する。本第１実施例では、全て３６が格納される。行数は、各ディザマトリックス２０，２２，２４，２６のそれぞれの行数に相当する。例えば、Ｃディザマトリックス２０は４行で構成されるので（図２参照）、行数として４が格納される。
【００８０】
図５を参照して、上記のように構成されるＰＣ１０において実行される、二値化処理について説明する。図５は、ＰＣ１０で実行される二値化処理のフローチャートである。この二値化処理は、入力画像メモリ１３ａに入力画像データが格納されると起動する処理であり、入力画像データを一ラインずつ、二値化処理するものである。
【００８１】
まず、変数ｙを「０」とする（Ｓ２）。次に、変数ｙが入力画像データの全体のライン数よりも小さいか否かを判断する（Ｓ４）。
【００８２】
変数ｙが入力画像データの全体のライン数よりも小さい場合（Ｓ４：Ｙｅｓ）、次に、入力画像データのｙライン目のデータを読み込む（Ｓ５）。次に、処理対象であるｙライン目のデータを二値化処理するために、Ｃディザテーブル２０の何行目の閾値を参照するべきかに相当する値であるＣ参照行数を算出する（Ｓ６）。具体的には、ディザデータメモリ１４ｃから、Ｃディザマトリックス２０の行数を読み込み、変数ｙをＣのディザテーブルの行数（本第１実施例では４）で割った余りを、Ｃ参照行数として算出する。例えば、入力画像データの０ライン目のデータが読み込まれた場合は、０がＣ参照行数とされる。また入力画像データの１ライン目が読み込まれた場合は、１がＣ参照行数とされる。また入力画像データの２ライン目が読み込まれた場合は、２がＣ参照行数とされる。また入力画像データの３ライン目が読み込まれた場合は、３がＣ参照行数とされる。また入力画像データの４ライン目が読み込まれた場合は、０が参照行数とされる。すなわち、Ｃディザマトリックス２０は、二値化処理対象のライン数に応じて、０行目から３行目までのいずれかが参照され、０行目から３行目まで順次参照されると、再び０行目から参照される。
【００８３】
次に、Ｃディザマトリックス２０の読出対象の一行の先頭の閾値のアドレスに相当する基準アドレスを算出する（Ｓ８）。具体的には、ディザデータメモリ１４ｃからＣディザマトリックス２０の最先頭アドレス（本第１実施例では０ｘ００００１０００）とＣディザマトリックスの周期（本第１実施例では３６）とを読み込み、Ｃディザマトリックスの周期にＣ参照行数を乗算した乗算結果を、読み込まれた最先頭アドレスに加算することにより、Ｃ基準アドレスが算出される。算出されたＣ基準アドレスは、Ｃ基準アドレスメモリ１３ｄに格納される。
【００８４】
次に、処理対象であるｙライン目のデータを二値化処理するために、Ｍディザテーブル２２の何行目の閾値を参照するべきかを特定する値であるＭ参照行数を算出する（Ｓ１０）。そして、Ｍディザマトリックス２２の参照されるべき一行の先頭の閾値が格納された位置を特定するＭ基準アドレスを算出し、Ｍ基準アドレスメモリ１３ｅに格納する（Ｓ１２）。
【００８５】
次に、処理対象であるｙライン目のデータを二値化処理するために、Ｙディザテーブル２４の何行目の閾値を参照するべきかを特定する値であるＹ参照行数を算出する（Ｓ１４）。そして、Ｙディザマトリックス２４の参照されるべき一行の先頭の閾値が格納された位置を特定するＹ基準アドレスを算出し、Ｙ基準アドレスメモリ１３ｆに格納する（Ｓ１６）。
【００８６】
次に、処理対象であるｙライン目のデータを二値化処理するために、Ｋディザテーブル２６の何行目の閾値を参照するべきかを特定する値であるＫ参照行数を算出する（Ｓ１８）。そして、Ｋディザマトリックス２６の参照されるべき一行の先頭の閾値が格納された位置を特定するＫ基準アドレスを算出し、Ｋ基準アドレスメモリ１３ｇに格納する（Ｓ２０）。
【００８７】
なお、Ｍ参照行数、Ｙ参照行数、Ｋ参照行数、およびＭ基準アドレス、Ｙ基準アドレス、Ｋ基準アドレスの算出方法については、上述のＣ参照行数、およびＣ基準アドレスの算出方法とほぼ同様であるため、図５のフローチャートにのみ示し、詳細は説明は省略する。
【００８８】
このようにして、各ディザマトリックス２０，２２，２４，２６の基準アドレスが決定されると、その決定された基準アドレスに基づいて、各ディザマトリックス２０，２２，２４，２６から閾値が読み出され、読み出された閾値に基づいて、入力画像データの一ライン分のデータの二値化処理が行われる（Ｓ２２）。なお、データの二値化処理については下記に記述する。そして、入力画像データの一ライン分のデータに対して二値化処理がされると、変数ｙに「１」を加算し、Ｓ４の処理に戻る（Ｓ２４）。したがって、入力画像データから次のラインが読み込まれ、処理が繰り返される。入力画像データに含まれる全てのラインについて二値化処理がされ、変数ｙが入力画像データのライン数に等しくなると（Ｓ４：Ｎｏ）、処理を終了する。
【００８９】
さて、図６を参照して、１ライン分の二値化処理（Ｓ２２）について説明する。図６は、１ライン分の二値化処理を示すフローチャートである。１ライン分の二値化処理では、まず、変数ｘを「０」とする（Ｓ２２２）。変数ｘは、入力画像データの一ライン分のデータのうち、先頭から何番目の画素が二値化処理対象であるかを示す変数である。
【００９０】
次に、カウンタ１３ｃの値を初期値「０」にする（Ｓ２２４）。カウンタ１３ｃの値は、後述する１画素分の二値化処理で用いられる値であって、各ディザマトリックス２０，２２，２４，２６の一行における読み出し位置を特定する値である。このカウンタ１３ｃの値が初期値「０」である場合、後述する１画素分の二値化処理において、各ディザマトリックス２０，２２，２４，２６の一行における先頭の閾値（すなわち基準アドレスで特定される閾値）が読み出される。また、カウンタ１３ｃの値は、複数のディザマトリックス２０，２２，２４，２６のそれぞれから閾値が読み出されることにより、後述するＳ２３４の処理において、「１」カウントアップされる。
【００９１】
次に、変数ｘが入力画像データの１ラインを構成する画素数よりも小さいか否かを判断する（Ｓ２２６）。変数ｘが入力画像データの１ラインを構成する画素数よりも小さい場合（Ｓ２２６：Ｙｅｓ）、入力画像データの１ライン分のデータを構成する先頭の画素からｘ番目の画素に含まれるＣＭＹＫの各色成分値を読み込み、Ｃ値メモリ１３ｈ、Ｍ値メモリ１３ｉ、Ｙ値メモリ１３ｊ、Ｋ値メモリ１３ｋに、それぞれ書き込む（Ｓ２２８）。そしてＣ値メモリ１３ｈ、Ｍ値メモリ１３ｉ、Ｙ値メモリ１３ｊ、Ｋ値メモリ１３ｋに書き込まれた値をそれぞれ二値化する１画素分の二値化処理を実行する（Ｓ２３０）。なお、１画素分の二値化処理については下記に記述する。
【００９２】
次に、変数ｘに「１」を加算し（Ｓ２３２）、カウンタ１３ｃを「１」カウントアップする（Ｓ２３４）。すなわち、１画素分の二値化処理（Ｓ２３０）において、各ディザマトリックス２０，２２，２４，２６からそれぞれ閾値が読み出されると、カウンタが１カウントアップされるのである。次に、カウンタ１３ｃの値が各ディザマトリックス２０，２２，２４，２６の周期（本第１実施例では３６）よりも小さいか否かを判断する。後述するように、カウンタ１３ｃの値は、基準アドレスから何番目の位置にある閾値を読み出すべきであるかを示す値に相当することから、カウンタ１３ｃと各ディザマトリックス２０，２２，２４，２６の周期とを比較することにより、各ディザマトリックス２０，２２，２４，２６のそれぞれから一行分の閾値が読み出されたか否か（すなわち、一行の後尾の閾値が読み出されたか）を判断することができる。
【００９３】
カウンタ１３ｃの値が周期よりも小さい場合（Ｓ２３６：Ｙｅｓ）、Ｓ２２６から処理を繰り返す。一方、カウンタ１３ｃの値が周期に等しくなったとき（Ｓ２３６：Ｎｏ）、すなわち、カウンタ１３ｃの値が３６となり、各ディザマトリックス２０，２２，２４，２６のそれぞれから一行分の閾値が読み出されたと判断された場合、Ｓ２２４の処理に戻り、カウンタ１３ｃの値を「０」とする（Ｓ２２４）。
【００９４】
そして、入力画像データの一ライン分のデータを構成する全ての画素について二値化処理がされると、変数ｘの値が入力画像データの一ライン分の画素数に等しくなるので（Ｓ２２６：Ｎｏ）、１ライン分の二値化処理を終了し、図５のＳ２４の処理に戻る。
【００９５】
さて、図７を参照して、１画素分の二値化処理（Ｓ２３０）について説明する。図７は、１画素分の二値化処理を示すフローチャートである。まず、Ｃ基準アドレスメモリ１３ｄに記憶されたＣ基準アドレスを読み出し、そのＣ基準アドレスに、カウンタ１３ｃの値を加算する（Ｓ２３０２）。そして、加算結果の値で示されるアドレスの閾値を、ディザマトリックスメモリ１４ｂに記憶されたＣディザマトリックス２０から読み出す（Ｓ２３０４）。すなわち、Ｃ基準アドレスは、参照されるべき一行の先頭の閾値が格納された位置を特定するアドレスであって、カウンタ１３ｃの値は、基準アドレスから何番目の位置にある閾値を読み出すべきであるかを示す値であるので、基準アドレスにカウンタ１３ｃの値を加算することにより、読出位置を特定することができる。例えば、Ｃ基準アドレスとして、「０ｘ００００１０００」（１６進数で表記）が記憶されている場合、そのＣ基準アドレスにカウンタの値３を加算した値で示されるアドレス「０ｘ００００１００３」で特定される位置の閾値が読み出される。
【００９６】
また、カウンタ１３ｃの値は、上述のように、１画素分の二値化処理が行われると１カウントアップされる。よって、Ｃディザマトリックス２０の参照されるべき一行を構成する閾値を、先頭から順番に読み出すことができる。例えば、アドレス「０ｘ００００１００３」で特定される位置の閾値が読み出されて１画素分の二値化処理が行われると、次は、アドレス「０ｘ００００１００４」で特定される位置の閾値が読み出される。
【００９７】
次に、Ｃ値メモリ１３ｈに格納されているＣの色成分値が、読み出された閾値以上であるかを判断する（Ｓ２３０６）。Ｃの色成分値が、読み出された閾値以上である場合（Ｓ２３０６：Ｙｅｓ）、「１」をＣの出力値として、出力画像メモリ１３ｂに書き込む（Ｓ２３１０）。一方、Ｃの色成分値が、読み出された閾値よりも小さい場合（Ｓ２３０６：Ｎｏ）、「０」をＣの出力値として出力画像メモリ１３ｂに書き込む（Ｓ２３０８）。
【００９８】
次に、Ｍ基準アドレスメモリ１３ｅに記憶されたＭ基準アドレスを読み出し、カウンタ１３ｃの値を加算する（Ｓ２３１２）。そして、加算結果の値で示されるアドレスで特定される位置に格納された閾値を、ディザマトリックスメモリ１４ｂに記憶されたＭディザマトリックス２２から読み出す（Ｓ２３１４）。
【００９９】
次に、Ｍ値メモリ１３ｉに格納されているＭの色成分値が、読み出された閾値以上であるかを判断する（Ｓ２３１６）。Ｍの色成分値が、読み出された閾値以上である場合（Ｓ２３１６：Ｙｅｓ）、「１」をＭの出力値として、出力画像メモリ１３ｂに書き込む（Ｓ２３２０）。一方、Ｍの色成分値が、読み出された閾値よりも小さい場合（Ｓ２３１６：Ｎｏ）、「０」をＭの出力値として出力画像メモリ１３ｂに書き込む（Ｓ２３１８）。
【０１００】
次に、Ｙ基準アドレスメモリ１３ｆに記憶されたＹ基準アドレスを読み出し、カウンタ１３ｃの値を加算する（Ｓ２３２２）。そして、加算結果の値で示されるアドレスで特定される位置に格納された閾値を、ディザマトリックスメモリ１４ｂに記憶されたＹディザマトリックス２４から読み出す（Ｓ２３２４）。
【０１０１】
次に、Ｙ値メモリ１３ｊに格納されているＹの色成分値が、読み出された閾値以上であるかを判断する（Ｓ２３２６）。Ｙの色成分値が、読み出された閾値以上である場合（Ｓ２３２６：Ｙｅｓ）、「１」をＹの出力値として、出力画像メモリ１３ｂに書き込む（Ｓ２３３０）。一方、Ｙの色成分値が、読み出された閾値よりも小さい場合（Ｓ２３２６：Ｎｏ）、「０」をＹの出力値として出力画像メモリ１３ｂに書き込む（Ｓ２３２８）。
【０１０２】
次に、Ｋ基準アドレスメモリ１３ｇに記憶されたＫ基準アドレスを読み出し、カウンタ１３ｃの値を加算する（Ｓ２３３２）。そして、加算結果の値で示されるアドレスで特定される位置に格納された閾値を、ディザマトリックスメモリ１４ｂに記憶されたＫディザマトリックス２６から読み出す（Ｓ２３３４）。
【０１０３】
次に、Ｋ値メモリ１３ｋに格納されているＫの色成分値が、読み出された閾値以上であるかを判断する（Ｓ２３３６）。Ｋの色成分値が、読み出された閾値以上である場合（Ｓ２３３６：Ｙｅｓ）、「１」をＫの出力値として、出力画像メモリ１３ｂに書き込む（Ｓ２３４０）。一方、Ｋの色成分値が、読み出された閾値よりも小さい場合（Ｓ２３３６：Ｎｏ）、「０」をＫの出力値として出力画像メモリ１３ｂに書き込む（Ｓ２３３８）。
【０１０４】
このようにして、一画素に含まれるＣＭＹＫの各色成分値に対し二値化処理がされると、一画素分の二値化処理を終了し、図６のＳ２３２の処理に戻る。
【０１０５】
本第１実施例によれば、複数種類のディザマトリックス２０，２２，２４，２６の一行を構成する閾値の個数は、複数種類のディザパターン２０ａ，２２ａ，２４ａ，２６ａの一行を構成する閾値の個数の公倍数である。すなわち、各ディザパターン２０ａ，２２ａ，２４ａ，２６ａの一行を構成する閾値の個数は互いに異なるが、複数種類のディザマトリックス２０，２２，２４，２６の一行を構成する閾値の数は全て等しい。したがって、各ディザマトリックス２０，２２，２４，２６の一行における読み出し位置を特定する値を保持するカウンタ１３ｃを共通化できる。よって、複数種類のディザマトリックス２０，２２，２４，２６のそれぞれにカウンタを設ける場合に比較して、カウンタの数が減少し、カウンタの制御に要する処理数を全体として減らすことができる。その結果、二値化処理を高速化できるという効果がある。特に、処理対象の画素数が多い場合には、一回の（１画素分の）二値化処理がわずかでも高速化することにより、二値化処理全体としてみると、処理速度の大きな向上に繋がる。
【０１０６】
また、複数種類のディザマトリックス２０，２２，２４，２６の一行を構成する閾値の個数は、複数種類のディザパターン２０ａ，２２ａ，２４ａ，２６ａの一行を構成する閾値の個数の最小公倍数とされているので、複数種類のディザマトリックス２０，２２，２４，２６のデータ量を可能な限り小さくすることができる。
【０１０７】
また、カウンタ１３ｃの値が３６までカウントアップしたことに基づいて、複数種類のディザマトリックス２０，２２，２４，２６のそれぞれから一行分の閾値が読み出されたことが判断されると、カウンタ１３ｃの値が初期値である０に戻され、複数種類のディザマトリックス２０，２２，２４，２６の一行における先頭から、再び閾値が読み出される。よって、複数種類のディザマトリックス２０，２２，２４，２６のそれぞれにカウンタを設けなくても、各ディザマトリックス２０，２２，２４，２６から所定の周期で閾値を読み出すことができる。すなわち、複数種類のディザマトリックス２０，２２，２４，２６のそれぞれにカウンタを設けなくてもよいので、二値化処理を高速化できる。
【０１０８】
また、Ｃ基準アドレスメモリ１３ｄ、Ｍ基準アドレスメモリ１３ｅ、Ｙ基準アドレスメモリ１３ｆ、Ｋ基準アドレスメモリ１３ｇにそれぞれ記憶された各ディザマトリックス２０，２２，２４，２６の基準アドレスに、カウンタ１３ｃの値を加算した値に基づいて、複数種類のディザマトリックス２０，２２，２４，２６のそれぞれから、二値化処理に用いる各色毎の閾値が読み出される。よって、複数種類のディザマトリックス２０，２２，２４，２６のそれぞれにカウンタを設けなくても、複数のディザマトリックス２０，２２，２４，２６のそれぞれから閾値を読み出すことができる。すなわち、複数種類のディザマトリックス２０，２２，２４，２６のそれぞれにカウンタを設けなくてもよいので、二値化処理を高速化できる。
【０１０９】
次に、図８〜図１１を参照して、ＰＣ１０による二値化処理の第２実施例について説明する。上記した第１実施例では、複数種類のディザマトリックス２０，２２，２４，２６の一行を構成する閾値の個数が全て等しくされていたが、第２実施例では、複数種類のディザマトリックス３０，３２，３４，３６の一行を構成する閾値の個数が、ｎ個（本第２実施例では１８個）またはｍ個（本第２実施例では２８個）のいずれかとなるように、複数種類のディザマトリックス３０，３２，３４，３６が構成されている点が、上記第１実施例と異なる。また、本第１実施例においては、基準アドレスメモリ１３ｄ，１３ｅ，１３ｆ，１３ｇに記憶される各基準アドレスは、読出対象である一行における先頭の閾値のアドレスに相当するアドレスであったが、本第２実施例における基準アドレスは、必ずしも一行の先頭の閾値のアドレスに相当するアドレスではない点において、上記第１実施例と異なる。なお、この第２実施例において、上記した第１実施例と同一の部分には同一の符号を付して、その説明を省略する。
【０１１０】
図８を参照して、本第２実施例に用いられる複数種類のディザマトリックス３０，３２，３４，３６の構成について説明する。図８は、Ｃディザマトリックス３０、Ｍディザマトリックス３２、Ｙディザマトリックス３４、Ｋディザマトリックス３６の構成を模式的に示す図であり、図２に相当する図である。なお、図８においては、各ディザマトリックス３０，３２，３４，３６は、それぞれ一行のみを図示して他の行の図示は省略する。
【０１１１】
図８に示すように、Ｃディザマトリックス３０は、７個のＣディザパターン３０ａの繰り返しから構成される。各Ｃディザパターン３０ａは、一行が７個の閾値で構成される４行の閾値群（すなわち２８個の閾値群）であって、且つ、１つのディザパターン３０ａは、互いに異なる値である２８個の閾値群で構成される。すなわち、一つのＣディザパターン３２ａは、２８画素分の画素を平均した色（Ｃ）濃度が所望の色濃度と近似するように設定されたディザパターンである。
【０１１２】
図８に示すように、Ｃディザパターン３０ａ、Ｍディザパターン３２ａ、Ｙディザパターン３４ａ、Ｋディザパターン３６ａは、一行を構成する閾値の個数がそれぞれ異なる。すなわち、Ｍディザパターン３２ａの一行は６個の閾値で構成され、Ｙディザパターン３４ａの一行は４個の閾値で構成され、Ｋディザパターン３６ａの一行は９個の閾値で構成される。
【０１１３】
しかし、Ｍディザマトリックス３２は、３個のＭディザパターン３２ａの繰り返しから構成されるので、一行が１８（＝６×３）個の閾値で構成され、Ｙディザマトリックス３４は、７個のＹディザパターン３４ａの繰り返しから構成されるので、一行が２８（＝４×７）個の閾値で構成され、Ｋディザマトリックス３６は、２個のＫディザパターン３６ａの繰り返しから構成されるので、一行が１８（＝９×２）の閾値で構成される。このように、各ディザパターン３０ａ、３２ａ、３４ａ、３６ａは、一行を構成する閾値の個数が互いに異なるが、Ｃディザマトリックス３０とＹディザマトリックス３４とは、一行を構成する閾値の数が２８個となるように構成され、Ｍディザマトリックス３２とＫディザマトリックス３４とは、一行を構成する閾値の数が１８個となるように構成されている。
【０１１４】
すなわち、Ｃディザマトリックス３０とＹディザマトリックス３４とは、一行を構成する閾値の個数が、Ｃディザパターン３０ａとＹディザパターン３４ａの一行を構成する閾値の個数の最小公倍数となるように構成されている。また、Ｍディザマトリックス３２とＫディザマトリックス３６とは、一行を構成する閾値の個数が、Ｍディザパターン３２ａとＫディザパターン３６ａの一行を構成する閾値の個数の最小公倍数となるように構成されている。本第２実施例においては、第１実施例において説明した複数種類のディザマトリックス２０，２２，２４，２６に代えて、Ｃディザマトリックス３０、Ｍディザマトリックス３２、Ｙディザマトリックス３４、Ｋディザマトリックス３６が、ディザマトリックスメモリ１４ｂに格納されているものとして説明する。
【０１１５】
図９を参照して、本第２実施例において、ディザデータメモリ１４ｃに記憶されるデータの構成について説明する。図９は、ディザデータメモリ１４ｃに記憶されるデータの構成を模式的に示す図である。図９に示すように、ディザデータメモリ１４ｃには、第１実施例で説明したのと同様に、各ディザマトリックス３０，３２，３４，３６の最先頭アドレスと、周期と、行数とが記憶されている。
【０１１６】
図９に示すように、上述した第１実施例では、周期が全て３６であったのに対し、本第２実施例では、周期（各ディザマトリックス３０，３２，３４，３６の一行を構成する閾値の個数に相当）が、１８または２８のいずれかである点が異なる。なお、短い周期の値を、以下「周期Ｓ」と称し、長い周期の値を、以下、「周期Ｌ」と称する。なお、本第２実施例では、１８が周囲Ｓに相当し、２８が周期Ｌに相当する。
【０１１７】
図１０を参照して、本第２実施例における１ライン分の二値化処理（Ｓ３２）について説明する。図１０は、本第２実施例における１ライン分の二値化処理を示すフローチャートであり、図６に相当するフローチャートである。なお、図１０を参照して説明する１ライン分の二値化処理（Ｓ３２）は、第１実施例の１ライン分の二値化処理（Ｓ２２、図５参照）に代えて実行される処理である。したがって、第１実施例と同様に、１ライン分の二値化処理（Ｓ３２）の開始時には、基準アドレスメモリ１３ｄ，１３ｅ，１３ｆ，１３ｇには、読出対象である一行における先頭の閾値のアドレスに相当する基準アドレスが格納されている。
【０１１８】
本第２実施例における１ライン分の二値化処理では、まず、変数ｘを「０」とする（Ｓ３２２）。変数ｘは、入力画像データの一ライン分のデータのうち、先頭から何番目の画素が二値化処理対象であるかを示す変数である。次に、変数Ｎｅｘｔの値を「周期Ｌ」とする（Ｓ３２４）。なお、変数Ｎｅｘｔは、カウンタ１３ｃの値が初期化（本第２実施例では０）されてから、Ｃディザマトリックス３０およびＹディザマトリックス３４（共に周期Ｌを有する）から一行分の閾値が読み出されるまでに、カウンタ１３ｃが更新される回数に相当する更新回数値を示す値である。変数Ｎｅｘｔは、ＲＡＭ１３に設けられた所定領域に格納される。本第２実施例において、ＲＡＭ１３が請求項の更新回数記憶手段に相当する。
【０１１９】
次に、カウンタ１３ｃの値を初期値「０」にする（Ｓ３２６）。カウンタ１３ｃの値は、後述する１画素分の二値化処理（Ｓ２３０）で用いられる値であって、各ディザマトリックス３０，３２，３４，３６の一行における読み出し位置を特定する値である。このカウンタ１３ｃの値が初期値「０」である場合、後述する１画素分の二値化処理（Ｓ２３０）において、Ｍディザマトリックス３２，Ｋディザマトリックス３６（共に周期Ｓを有する）の一行における先頭の閾値が読み出される。また、カウンタ１３ｃの値は、複数のディザマトリックス３０，３２，３４，３６のそれぞれから閾値が読み出されることにより、後述するＳ３３４の処理において、「１」カウントアップされる。
【０１２０】
次に、変数ｘが入力画像データの１ラインを構成する画素数よりも小さいか否かを判断する（Ｓ３２８）。変数ｘが入力画像データの１ラインを構成する画素数よりも小さい場合（Ｓ３２８：Ｙｅｓ）、入力画像データの１ライン分のデータを構成する先頭の画素からｘ番目の画素に含まれるＣＭＹＫの各色成分値を読み込み、Ｃ値メモリ１３ｈ、Ｍ値メモリ１３ｉ、Ｙ値メモリ１３ｊ、Ｋ値メモリ１３ｋに、それぞれ書き込む（Ｓ３３０）。そしてＣ値メモリ１３ｈ、Ｍ値メモリ１３ｉ、Ｙ値メモリ１３ｊ、Ｋ値メモリ１３ｋに書き込まれた値をそれぞれ二値化する１画素分の二値化処理を実行する（Ｓ２３０）。なお、１画素分の二値化処理（Ｓ２３０）は、第１実施例と同様の処理が行われるものであるため、同一の符号を付して図示および詳細な説明は省略する。
【０１２１】
次に、変数ｘに「１」を加算し（Ｓ３３２）、カウンタ１３ｃを「１」カウントアップする（Ｓ３３４）。すなわち、１画素分の二値化処理（Ｓ２３０）において、各ディザマトリックス３０，３２，３４，３６のそれぞれから閾値が読み出されると、カウンタが１カウントアップされるのである。次に、カウンタ１３ｃの値が周期Ｓ（本第２実施例では１８）よりも小さいか否かを判断する（Ｓ３３６）。後述するように、カウンタ１３ｃの値は、基準アドレスから何番目の位置にある閾値を読み出すべきであるかを示す値に相当することから、カウンタ１３ｃと周期Ｓとを比較することにより、Ｍディザマトリックス３２、Ｋディザマトリックス３６（共に周期Ｓを有する）から、一行分の閾値が読み出されたか否か（すなわち、一行の後尾の閾値が読み出されたか）を判断することができる。
【０１２２】
次に、カウンタ１３ｃの値が周期Ｓを判断する。カウンタ１３ｃの値が周期Ｓよりも小さい場合（Ｓ３３６：Ｙｅｓ）、カウンタ１３ｃの値が変数Ｎｅｘｔよりも小さいか否かを判断する（Ｓ３４４）。カウンタ１３ｃの値が変数Ｎｅｘｔよりも小さい間は（Ｓ３４４：Ｙｅｓ）、Ｓ３２８に戻り処理を繰り返す。
【０１２３】
ここで、図１１を参照して、基準アドレス、カウンタ１３ｃの値、および変数Ｎｅｘｔの関係について説明する。図１１は、Ｍディザマトリックス３２（周期Ｓを有する）の一行およびＣディザマトリックス３０（周期Ｌを有する）の一行における基準アドレス、カウンタ１３ｃの値、および変数Ｎｅｘｔの関係を模式的に示す図である。なお、Ｙディザマトリックス３４（周期Ｌを有する）の読出位置とカウンタ１３ｃの値との関係は、Ｃディザマトリックス３０とほぼ同様であり、Ｋディザマトリックス３６（周期Ｓを有する）の読出位置とカウンタ１３ｃの値との関係は、Ｍディザマトリックス３２とほぼ同様であるので、これらについては図示を省略する。
【０１２４】
図１１（ａ）は、Ｓ３３４の処理の直後における状態を示す図である。基準アドレスおよび変数Ｎｅｘｔを白抜きの三角で示し、基準アドレスにカウンタ１３ｃの値を加算した加算結果のアドレスで特定される位置を塗りつぶした三角で示す。図１１（ａ）に示すように、カウンタ１３ｃの値は０から開始されるので、各ディザマトリックスの一行の先頭の閾値から読み出される。また閾値が読み出されるとカウンタ１３ｃの値が１カウントアップされるので、読み出し位置が１つずつ順次移動する。そして、Ｍディザマトリックス３２の一行分の閾値が読み出されると（すなわち、Ｍディザマトリックス３２の一行の後尾の閾値が読み出されると）、カウンタ１３ｃの値が周期Ｓ（本第２実施例では１８）に等しくなる。
【０１２５】
さて、図１０に戻り説明する。カウンタ１３ｃの値が周期Ｓに等しくなると（Ｓ３３６：Ｎｏ）、カウンタ１３ｃの値を０とし（Ｓ３３８）、Ｃディザマトリックス３０およびＹディザマトリックス３４（共に周期Ｌを有する）の基準アドレスに、周期Ｓを加算する（Ｓ３４０）。そして、変数Ｎｅｘｔから、周期Ｓを減算する（Ｓ３４２）。
【０１２６】
ここで、図１１（ｂ）を参照して説明する。図１１（ｂ）は、Ｓ３４２の処理の直後における状態を示す図である。図１１（ｂ）に示すように、Ｍディザマトリックス３２（周期Ｓを有する）の基準アドレスは変更されず、且つカウンタ１３ｃの値が０なので、Ｍディザマトリックス３２の一行の先頭が読出位置とされる。一方、Ｃディザマトリックス３０（周期Ｌを有する）の基準アドレスには、周期Ｓが加算されるので、一行の先頭の閾値よりも周期Ｓ分進んだ位置が読出開始位置とされる。また、変数Ｎｅｘｔから周期Ｓが減算される。例えば、１ライン分の二値化処理（Ｓ３２）の開始時、変数Ｎｅｘｔの値は、周期Ｌとされるので、変数Ｎｅｘｔの値は、（周期Ｌ−周期Ｓ）とされる（本第２実施例では１０となる）。変数Ｎｅｘｔは、カウンタ１３ｃの値が「０」に初期化されてから、周期Ｌのディザマトリックス３０，３４から一行分の閾値が読み出されるまでに、カウンタ１３ｃが更新される回数に相当する更新回数値を示す値である。したがって、カウンタ１３ｃの値が「０」に初期化され（Ｓ３３８）、周期Ｌのディザマトリックス３０，３４の基準アドレスが更新されると、変数Ｎｅｘｔから周期Ｓを減算して、変数Ｎｅｘｔを更新するのである。
【０１２７】
さて、図１０に戻り説明する。次に、カウンタ１３ｃの値が変数Ｎｅｘｔよりも小さいか否かを判断する（Ｓ３４４）。カウンタ１３ｃの値が変数Ｎｅｘｔよりも小さい間は（Ｓ３４４：Ｙｅｓ）、Ｓ３２８の処理に戻り、処理を繰り返す。一方、カウンタ１３ｃの値が変数Ｎｅｘｔに等しくなると（Ｓ３４４：Ｎｏ）、Ｃディザマトリックス３０およびＹディザマトリックス３４（共に周期Ｌを有する）の基準アドレスから、周期Ｌを減算する（Ｓ３４６）。そして、変数Ｎｅｘｔに、周期Ｌを加算し（Ｓ３４８）、Ｓ３２８に戻る。そして、入力画像データの一ライン分のデータを構成する全ての画素について二値化処理がされると、変数ｘの値が入力画像データの一ライン分の画素数に等しくなるので（Ｓ３２８：Ｎｏ）、１ライン分の二値化処理を終了し、図５のＳ２４の処理に戻る。
【０１２８】
次に、図１１（ｃ），（ｄ）を参照して説明する。図１１（ｃ）は、Ｓ３４６の処理の直前における状態を示す図であり、図１１（ｄ）は、Ｓ３４８の処理の直後における状態を示す図である。図１１（ｃ）に示すように、Ｃディザマトリックス３０の一行分の閾値が読み出されると（すなわち、一行の後尾の閾値が読み出されると）、カウンタ１３ｃの値が変数Ｎｅｘｔ（図１１（ｃ）においては１０）に等しくなる。
【０１２９】
図１１（ｃ）に示すように、カウンタ１３ｃの値が変数Ｎｅｘｔに等しくなると、図１１（ｄ）に示すように、Ｃディザマトリックス３０（周期Ｌを有する）のＣ基準アドレスから、周期Ｌが減算される。一方、Ｍディザマトリックス３２（周期Ｓを有する）のＭ基準アドレスは変更されない。また、且つカウンタ１３ｃの値が変数Ｎｅｘｔに等しい（図１１（ｄ）においては１０）ので、Ｍディザマトリックス３２の一行の先頭から１０番目の閾値が格納された位置が読出位置とされる。一方、Ｃ基準アドレスからは、周期Ｌが減算されるので、Ｃディザマトリックス３０は、一行の後尾よりも周期Ｌ分だけ先頭側が読出位置とされる。よって、Ｃディザマトリックス３０においても、再び一行の先端から閾値が読み出される。また、Ｃディザマトリックス３０において、再び一行の先端から閾値が読み出されると、Ｃディザマトリックス３０から一行分の閾値が読み出されるまでに、カウンタ１３ｃが更新される回数に相当する更新回数値も変化することから、カウンタ１３ｃの更新回数値を示す値である変数Ｎｅｘｔに周期Ｌを加算して、変数Ｎｅｘｔを更新する。
【０１３０】
本第２実施例によれば、周期Ｓを有するディザマトリックス３２，３６から一行分の閾値が読み出されると（すなわち、一行における後尾の閾値が読み出されると）、カウンタ１３ｃの値が初期値「０」に戻されるので、周期Ｓを有するディザマトリックス３２，３６の一行における先頭から再び閾値が読み出される。よって、周期Ｓを有するディザマトリックス３２，３６のそれぞれから所定の周期で閾値を読み出すことができる。
【０１３１】
一方で、カウンタ１３ｃの値が初期値「０」に戻されると、周期Ｌを有するディザマトリックス３０，３４の基準アドレスに周期Ｓが加算される。その結果、周期Ｌのディザマトリックス３０，３４の一行における先頭よりも「周期Ｓ」個目の閾値の位置が読出位置とされる。すなわち、カウンタ１３ｃの値が初期値「０」に戻されても、周期Ｌのディザマトリックスの読出位置は、一行の先頭には戻されない（図１１（ｂ）参照）。
【０１３２】
よって、周期Ｓのディザマトリックス３２，３６および周期Ｌのディザマトリックス３０，３４のそれぞれにカウンタ１３ｃを設けなくても、各ディザマトリックス３０，３２，３４，３６のそれぞれから閾値を読み出すことができる。すなわち、周期Ｓのディザマトリックス３２，３５および周期Ｌのディザマトリックス３０，３６のカウンタ１３ｃを共通化することができるので、カウンタの数が減少し、カウンタの制御に要する処理数を全体として減らすことができる。その結果、二値化処理を高速化できる。特に、処理対象の画素数が多い場合には、一回（一画素分）の二値化処理がわずかでも高速化することにより、Ｎ値化処理全体としてみると、処理速度の大きな向上に繋がる。
【０１３３】
また、周期Ｌのディザマトリックス３０，３４から一行分の閾値が読み出されると、周期Ｌのディザマトリックス３０，３４の基準アドレスから周期Ｌが減算されるので、周期Ｌのディザマトリックス３０，３４の先頭から再び閾値が読み出される。よって、周期Ｌのディザマトリックス３０，３４のそれぞれから所定の周期で閾値を読み出すことができる。すなわち、周期Ｓのディザマトリックス３２，３６および周期Ｌのディザマトリックス３０，３４のカウンタを共通化することができるので、二値化処理を高速化できる。
【０１３４】
また、変数Ｎｅｘｔ（更新回数値）とカウンタ１３ｃの値とに基づいて、周期Ｌのディザマトリック３０，３４スから一行分の閾値が読み出されたかを判断することができるので、周期Ｌのディザマトリックス３０，３４から一行分の閾値が読み出されか否かを判断するために、別途カウンタを設ける必要がない。よって、カウンタの制御に必要な処理数が増加して二値化処理が低速化することを抑制できる。
【０１３５】
また、周期Ｌのディザマトリックス３０，３４の基準アドレスに周期Ｓが加算されると、変数Ｎｅｘｔ（更新回数値）から周期Ｓが減算され、周期Ｌのディザマトリックス３０，３４の基準アドレスから周期Ｌが減算されると、変数Ｎｅｘｔ（更新回数値）に周期Ｌが加算されるので、簡単な処理で更新回数値を算出することができる。よって、周期Ｌのディザマトリックス３０，３４から一行分の閾値が読み出されか否かを判断するために、別途カウンタを設ける必要がないので、二値化処理が低速化することを抑制できる。
【０１３６】
以上、実施例に基づき本発明を説明したが、本発明は上述した実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【０１３７】
例えば、第１実施例では、４種類のディザマトリックス２０，２２，２４，２６の一行を構成する閾値の個数が全て等しく、カウンタ１３ｃを１つのみ用いる場合について説明したが、少なくとも２種類のディザマトリックスの一行を構成する閾値の個数が等しくされているものであればよい。このようにすれば、少なくとも２種類のディザマトリックスについては、カウンタを共通化できるので、複数種類のディザマトリックスの全てに対しカウンタを設ける場合に比較して、二値化処理を高速化できる。
【０１３８】
また、第１実施例および第２実施例では、ディザマトリックスを用いた二値化処理がされていたが、三値化処理および四値化処理する場合にも、本発明は適用できる。
【０１３９】
また、第２実施例では、４種類のディザマトリックス３０，３２，３４，３６のうち、２つのディザマトリックス３０，３４の一行を構成する閾値の個数が等しくされ、２つのディザマトリックス３２，３６の一行を構成する閾値の個数が等しくされていたが、３つの３つのディザマトリックスの一行を構成する閾値の個数が等しく、１つのディザマトリックスの一行を構成する閾値の個数がそれと異なるものであってもよい。
【図面の簡単な説明】
【０１４０】
【図１】本発明における第１実施例の画像処理装置として機能するＰＣを含むプリントシステムの全体構成を示すブロック図である。
【図２】Ｃディザマトリックス、Ｍディザマトリックス、Ｙディザマトリックス、Ｋディザマトリックスの構成を模式的に示す図である。
【図３】ディザマトリックスメモリの構成を模式的に示す図である。
【図４】ディザデータメモリに記憶されるデータの構成を模式的に示す図である。
【図５】ＰＣで実行される二値化処理のフローチャートである。
【図６】１ライン分の二値化処理を示すフローチャートである。
【図７】１画素分の二値化処理を示すフローチャートである。
【図８】第２実施例におけるＣディザマトリックス、Ｍディザマトリックス、Ｙディザマトリックス、Ｋディザマトリックスの構成を模式的に示す図であり、図２に相当する図である。
【図９】第２実施例におけるディザデータメモリに記憶されるデータの構成を模式的に示す図である。
【図１０】第２実施例における１ライン分の二値化処理を示すフローチャートであり、図６に相当するフローチャートである。
【図１１】Ｍディザマトリックスの一行およびＣディザマトリックスの一行における基準アドレス、カウンタ１３ｃの値、および変数Ｎｅｘｔの関係を模式的に示す図である。
【図１２】従来のディザパターンとそのディザパターンを用いた二値化処理を模式的に示す図である。
【符号の説明】
【０１４１】
１０                    ＰＣ（画像処理装置）
１３ｃ                  カウンタ
１３ｄ                  Ｃ基準アドレスメモリ（基準値記憶手段の一部）
１３ｅ                  Ｍ基準アドレスメモリ（基準値記憶手段の一部）
１３ｆ                  Ｙ基準アドレスメモリ（基準値記憶手段の一部）
１３ｇ                  Ｋ基準アドレスメモリ（基準値記憶手段の一部）
１４ｂ                  ディザマトリックスメモリ
２０，３０              Ｃディザマトリックス
２２，３２              Ｍディザマトリックス
２４，３４              Ｙディザマトリックス
２６，３６              Ｋディザマトリックス
２０ａ，３０ａ          Ｃディザパターン
２２ａ，３２ａ          Ｍディザパターン
２４ａ，３４ａ          Ｙディザパターン
２６ａ，３６ａ          Ｋディザパターン
Ｓ２３０４              読出手段（読出ステップ）
Ｓ２３１４              読出手段（読出ステップ）
Ｓ２３２４              読出手段（読出ステップ）
Ｓ２３３４              読出手段（読出ステップ）
Ｓ２３０                Ｎ値化手段（Ｎ値化ステップ）
Ｓ２２４，Ｓ２３４      カウンタ更新手段（カウンタ更新ステップ）
Ｓ３３４，Ｓ３３８      カウンタ更新手段（カウンタ更新ステップ）
Ｓ３４０                ｎ加算手段（Ｎ加算ステップ）
Ｓ３４２，Ｓ３４８      更新回数算出手段（更新回数算出ステップ）
Ｓ３４４                読出判断手段（読出判断ステップ）
Ｓ３４６                ｍ減算手段（Ｍ減算ステップ）
【図１】
2007013623.tif 000003
【図２】
2007013623.tif 000004
【図３】
2007013623.tif 000005
【図４】
2007013623.tif 000006
【図５】
2007013623.tif 000007
【図６】
2007013623.tif 000008
【図７】
2007013623.tif 000009
【図８】
2007013623.tif 000010
【図９】
2007013623.tif 000011
【図１０】
2007013623.tif 000012
【図１１】
2007013623.tif 000013
【図１２】
2007013623.tif 000014