(57)【要約】【課題】  画像データに対し、ディザマトリックスを方眼状に配置して多値化を行った場合、ドットの形成パターンが規則的となり画質を低下させる場合があった。【解決手段】  画像データに対しディザマトリックスを階段状に配置して多値化を行う。つまり、主走査方向または副走査方向に順次ずらしながらディザマトリックスを配置する。いずれか一方にずらすものとしてもよいし、双方にずらすものとしてもよい。こうすることにより、ドットの形成パターンが主走査方向および副走査方向に規則正しく繰り返されることを回避でき、バンディングの発生を抑えて画質を向上することができる。マトリックスのデータをノイズとして付加して行う誤差拡散法に適用することもできる。マトリックスとしては既存のマトリックスの他、階段状に配置することを前提として設計されたドット分散型マトリックスを用いることができる。【選択図】  図１
2005278209.tif 000002
【特許請求の範囲】
【請求項１】
２次元的な画素の配列により構成され、各画素ごとに予め定めた範囲の階調値を有する画像データに対し、前記各画素ごとに前記階調値と所定の閾値との大小関係に応じてドットのオン・オフを判定し、前記画像データの多値化を行う画像処理装置であって、
前記２次元的な画素の配列により構成された画像データの大きさよりも小さいサイズで、予め設定された値を成分とする２次元マトリックスを記憶する記憶手段と、
前記マトリックスを前記画像データに対し、方眼状からずれた状態で配置した対応関係で、該マトリックスの成分を前記画像データの前記階調値または前記閾値に反映させて、前記多値化を行う多値化手段とを備える画像処理装置。
【請求項２】
ｘ方向にｎｘ個、ｙ方向にｎｙ個（ｎｘ，ｎｙは２以上の整数）からなる合計ｎｘ×ｎｙ個の画素で構成され、各画素ごとに予め定めた範囲の階調値を有する画像データに対し、前記各画素ごとに前記階調値と所定の閾値との大小関係に応じてドットのオン・オフを判定し、前記画像データの多値化を行う画像処理装置であって、
予め設定された値を成分とするｍｘ×ｍｙ（１≦ｍｘ＜ｎｘ，１≦ｍｙ＜ｎｙなる整数）のマトリックスを記憶する記憶手段と、
前記各画素ごとに前記階調値または前記閾値に前記マトリックスの成分を反映させて、前記多値化を行う多値化手段とを備え、
前記ｘ方向にｋｘ番目（ｋｘは０≦ｋｘ≦ｎｘなる整数）、ｙ方向にｋｙ番目の画素（ｋｙは０≦ｋｙ≦ｎｙなる整数）に反映させるマトリックスの成分は、次式で与えられる（ｘｔ，ｙｔ）（０≦ｘｔ≦ｍｘ、０≦ｙｔ≦ｍｙの整数）である画像処理装置。
ｘｔ＝（ｒｘ・ｄｘ１＋ｒｙ・ｄｘ２＋ｋｘ）％ｍｘ；
ｙｔ＝（ｒｘ・ｄｙ１＋ｒｙ・ｄｙ２＋ｋｙ）％ｍｙ；
ｒｘ＝ｋｘ  ｄｉｖ  ｍｘ；
ｒｙ＝ｋｙ  ｄｉｖ  ｍｙ；
ここで、
ａ  ｄｉｖ  ｂはａ／ｂの商を整数値で求める演算子、
ａ％ｂはａ／ｂの余りを求める剰余演算子、
ｄｘ１，ｄｘ２，ｄｙ１，ｄｙ２は０以上の整数であって、ｄｘ１，ｄｘ２，ｄｙ１，ｄｙ２のうち少なくとも一つは０以外の値である整数。
【請求項３】
請求項１又は請求項２記載の画像処理装置であって、
前記多値化手段は、前記閾値として前記マトリックスの成分を用いるディザ法により多値化を行う手段である画像処理装置。
【請求項４】
請求項３記載の画像処理装置であって、
前記マトリックスは、該マトリックスを単位とした画像領域内でのドットの分散性が高い多値化を行うことが可能なドット分散型のディザマトリックスである画像処理装置。
【請求項５】
請求項４記載の画像処理装置であって、
前記マトリックスは、ベイヤ型のディザマトリックスである画像処理装置。
【請求項６】
請求項４記載の画像処理装置であって、
前記マトリックスは、ブルーノイズマスク型のマトリックスである画像処理装置。
【請求項７】
請求項４記載の画像処理装置であって、
前記マトリックスは、前記マトリックスの大きさに対応する領域よりも広い画像領域で、ドットの分散性が高い多値化を行うことが可能なマトリックスである画像処理装置。
【請求項８】
請求項１又は請求項２記載の画像処理装置であって、
前記多値化手段は、前記マトリックスの成分をノイズデータとして前記画像データに反映させた上で多値化を行う手段である画像処理装置。
【請求項９】
ｘ方向にｎｘ個、ｙ方向にｎｙ個（ｎｘ，ｎｙは２以上の整数）からなる合計ｎｘ×ｎｙ個の画素で構成され、各画素ごとに予め定めた範囲の階調値を有する画像データに対し、前記各画素ごとに前記階調値と所定の閾値との大小関係に応じて判定された多値化結果に応じて、ヘッドを駆動してドットを形成することにより印刷媒体上に画像を印刷する印刷装置であって、
予め設定された値を成分とするｍｘ×ｍｙ（１≦ｍｘ＜ｎｘ，１≦ｍｙ＜ｎｙなる整数）のマトリックスを記憶する記憶手段と、
前記各画素ごとに前記階調値と前記閾値のいずれか一方に前記マトリックスのいずれかの成分を反映させて、前記多値化を行う多値化手段とを備え、
前記ｘ方向にｋｘ番目（ｋｘは０≦ｋｘ≦ｎｘなる整数）、ｙ方向にｋｙ番目の画素（ｋｙは０≦ｋｙ＜ｎｙなる整数）に反映させるマトリックスの成分は、次式で与えられる（ｘｔ，ｙｔ）（０≦ｘｔ≦ｍｘ、０≦ｙｔ≦ｍｙの整数）である印刷装置。
ｘｔ＝（ｒｘ・ｄｘ１＋ｒｙ・ｄｘ２＋ｋｘ）％ｍｘ；
ｙｔ＝（ｒｘ・ｄｙ１＋ｒｙ・ｄｙ２＋ｋｙ）％ｍｙ；
ｒｘ＝ｋｘ  ｄｉｖ  ｍｘ；
ｒｙ＝ｋｙ  ｄｉｖ  ｍｙ；
ここで、
ａ  ｄｉｖ  ｂはａ／ｂの商を整数値で求める演算子、
ａ％ｂはａ／ｂの余りを求める剰余演算子、
ｄｘ１，ｄｘ２，ｄｙ１，ｄｙ２は０以上の整数であって、ｄｘ１，ｄｘ２，ｄｙ１，ｄｙ２のうち少なくとも一つは０以外の値である整数。
【請求項１０】
請求項９記載の印刷装置であって、
前記ヘッドは、前記ｙ方向に並ぶ複数のノズルを備えるヘッドであり、
前記ヘッドを前記ｘ方向に前記印刷媒体に対して相対的に往復動する主走査手段と、
前記ヘッドと前記印刷媒体を前記ｙ方向に相対的に移動する副走査手段と、
前記主走査手段、副走査手段およびヘッドの駆動を制御して、前記ｘ方向に並ぶ各ドット列を２以上のノズルを用いて形成する駆動制御手段とを備え、
少なくとも前記ｄｙ１≠０である印刷装置。
【請求項１１】
２次元的な画素の配列により構成され、各画素ごとに予め定めた範囲の階調値を有する画像データに対し、前記各画素ごとに前記階調値と所定の閾値との大小関係に応じてドットのオン・オフを判定し、前記画像データの多値化を行う画像処理方法であって、
予め設定された値を成分とする２次元マトリックスを前記画像データに対し、方眼状からずれた状態で配置した対応関係で、該マトリックスの成分を前記画像データの前記階調値または前記閾値に反映させて、前記多値化を行う画像処理方法。
【請求項１２】
ｘ方向にｎｘ個、ｙ方向にｎｙ個（ｎｘ，ｎｙは２以上の整数）からなる合計ｎｘ×ｎｙ個の画素で構成され、各画素ごとに予め定めた範囲の階調値を有する画像データに対し、前記各画素ごとに前記階調値と所定の閾値との大小関係に応じてドットのオン・オフを判定する多値化を行う際に、前記階調値または前記閾値に反映させる値を予め記憶したｍｘ×ｍｙ（１≦ｍｘ＜ｎｘ，１≦ｍｙ＜ｎｙなる整数）のマトリックスの設計方法であって、
（ａ）  前記多値化における各画素と該マトリックスの成分との対応を設定する工程と、
（ｂ）  該マトリックスに割り当てられる値を大小関係に応じて並べた場合の先頭からｎ個（ｎは１以上の整数）の値を、閾値の分散性を考慮して前記マトリックスの任意の成分として設定する工程と、
（ｃ）  該マトリックスに割り当てられるべき値として残っている値を、所定の演算により求められた成分に順次設定する工程とを備え、
前記工程（ｃ）は、
（ｃ−１）  該マトリックスのうち値が割り当てられていない各成分と既に値が設定された前記マトリックスの成分との距離を、前記画像データを構成する各画素に対応付けられた複数のマトリックスに亘って評価する工程と、
（ｃ−２）  既に値が設定された成分からの距離が最も遠いと評価される成分に、前記残っている値を前記大小関係に応じて並べた場合の先頭の値を設定する工程とからなるマトリックスの設計方法。
【請求項１３】
請求項１２のマトリックスの設計方法であって、
前記工程（ａ）における対応は、
前記ｘ方向にｋｘ番目（ｋｘは０≦ｋｘ≦ｎｘなる整数）、ｙ方向にｋｙ番目の画素（ｋｙは０≦ｋｙ≦ｎｙなる整数）に反映させるマトリックスの成分が、次式で与えられる（ｘｔ，ｙｔ）（０≦ｘｔ≦ｍｘ、０≦ｙｔ≦ｍｙの整数）対応である設計方法。
ｘｔ＝（ｒｘ・ｄｘ１＋ｒｙ・ｄｘ２＋ｋｘ）％ｍｘ；
ｙｔ＝（ｒｘ・ｄｙ１＋ｒｙ・ｄｙ２＋ｋｙ）％ｍｙ；
ｒｘ＝ｋｘ  ｄｉｖ  ｍｘ；
ｒｙ＝ｋｙ  ｄｉｖ  ｍｙ；
ここで、
ａ  ｄｉｖ  ｂはａ／ｂの商を整数値で求める演算子、
ａ％ｂはａ／ｂの余りを求める剰余演算子、
ｄｘ１，ｄｘ２，ｄｙ１，ｄｙ２は０以上の整数であって、ｄｘ１，ｄｘ２，ｄｙ１，ｄｙ２のうち少なくとも一つは０以外の値である整数。
【請求項１４】
ｘ方向にｎｘ個、ｙ方向にｎｙ個（ｎｘ，ｎｙは２以上の整数）からなる合計ｎｘ×ｎｙ個の画素で構成され、各画素ごとに予め定めた範囲の階調値を有する画像データに対し、前記各画素ごとに前記階調値と所定の閾値との大小関係に応じてドットのオン・オフを判定する多値化を行うためのプログラムをコンピュータ読みとり可能に記録した記録媒体であって、
予め設定された値を成分として記憶されたｍｘ×ｍｙ（１≦ｍｘ＜ｎｘ，１≦ｍｙ＜ｎｙなる整数）のマトリックスと、
前記ｘ方向にｋｘ番目（ｋｘは０≦ｋｘ≦ｎｘなる整数）、ｙ方向にｋｙ番目の画素（ｋｙは０≦ｋｙ≦ｎｙなる整数）の前記階調値または前記閾値に、前記マトリックスのうち次式で与えられる（ｘｔ，ｙｔ）（０≦ｘｔ≦ｍｘ、０≦ｙｔ≦ｍｙの整数）成分を反映させて前記多値化を行う機能を実現するためのプログラムを記録した記録媒体。
ｘｔ＝（ｒｘ・ｄｘ１＋ｒｙ・ｄｘ２＋ｋｘ）％ｍｘ；
ｙｔ＝（ｒｘ・ｄｙ１＋ｒｙ・ｄｙ２＋ｋｙ）％ｍｙ；
ｒｘ＝ｋｘ  ｄｉｖ  ｍｘ；
ｒｙ＝ｋｙ  ｄｉｖ  ｍｙ；
ここで、
ａ  ｄｉｖ  ｂはａ／ｂの商を整数値で求める演算子、
ａ％ｂはａ／ｂの余りを求める剰余演算子、
ｄｘ１，ｄｘ２，ｄｙ１，ｄｙ２は０以上の整数であって、ｄｘ１，ｄｘ２，ｄｙ１，ｄｙ２のうち少なくとも一つは０以外の値である整数。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め定めた階調数の範囲で、画像を構成する各画素ごとに階調値を有する画像データを、前記階調数よりも低い階調数たる出力階調数における階調値に多値化する画像処理装置、画像処理方法およびそのためのプログラムを記録した記録媒体に関し、並びに該画像処理の技術を利用して画像を印刷する印刷装置、および前記画像処理に用いられるマトリックスを設計する設計方法に関する。
【背景技術】
【０００２】
従来より、コンピュータの出力装置として、ヘッドに備えられた複数のノズルから吐出される数色のインクによりドットを形成して画像を記録するインクジェットプリンタが提案されており、コンピュータ等が処理した画像を多色多階調で印刷するのに広く用いられている。かかるプリンタでは、通常、各画素ごとにはドットのオン・オフの２階調しか採り得ない。従って、原画像データの有する階調をドットの分散性により表現するための画像処理、いわゆるハーフトーン処理を施した上で画像を印刷する。
【０００３】
近年では、階調表現を豊かにするために、各ドットごとにオン・オフの２値以上の階調表現を可能としたインクジェットプリンタ、いわゆる多値プリンタが提案されている。例えば、ドット径やインク濃度を変化させることにより各画素ごとに３種類以上の濃度を表現可能としたプリンタや各画素ごとに複数のドットを重ねて形成することにより多階調を表現可能としたプリンタである。かかるプリンタであっても各画素単位では原画像データの有する階調を十分表現し得ないため、ハーフトーン処理が必要となる。
【０００４】
かかるハーフトーン処理には、種々の方法が提案されており、その代表的な手法の一つとしてディザ法がある。ディザ法では、予め設定された閾値を各成分とするディザマトリックスを用いる。ディザマトリックスの一例として、ベイヤ型と呼ばれるマトリックスを図２５に示す。図２５に示す通り、４×４のサイズのベイヤ型マトリックスでは０〜１５までの１６個の閾値を有している。ディザ法では、このディザマトリックスを画像データに対応させて各画素のドットのオン・オフ判定を行う。図２６にディザマトリックスと画像データとの対応を示す。図２６中で（ａ，ｂ）のように示したのは、図２５のディザマトリックスの成分をそれぞれ表している。当然ながら画像データは縦横それぞれの方向にディザマトリックスのサイズの何倍も大きい画素を有している。従って、ディザ法では図２５に示したディザマトリックスを縦横それぞれの方向に方眼状に配置して繰り返し用いる。
【０００５】
なお、いわゆるドット集中型の網点ディザ法などでは、網点印刷を模したスクリーン角度を発生させるためにマトリックスの繰り返し方向を２次元的な画素の配列方向に対して一定の角度を有するようにディザマトリックスを配置することもあるが、ドット分散型のディザ法では、網点印刷とは無関係なため、ディザマトリックスを方眼状に配置するのが通常である。
【０００６】
ディザ法におけるドットのオン・オフ判定の考え方を図２７に示した。図２７は各画素ごとに一定の階調値８を有する画像に対するドットのオン・オフ判定の結果を示している。図示する通り、画像データの階調値と各画素に対応するディザマトリックスの閾値とを比較し、画像データの階調値の方が大きい画素にドットを形成するものと判定する。階調値８に対しては、図２７に示す通り、市松状にドットをオンにすることになる。もちろんドットをオンにする画素は、画像データの階調値および多値化で用いられるディザマトリックスに応じて変化する。
【０００７】
図２７のオン・オフ判定の結果を画像領域に展開した状態を図２８に示す。図２８は、図２６に示した対応関係でディザマトリックスを用いることによって得られるドットのオン・オフ判定の結果を示している。図２８中のハッチングを付した部分がドットをオンにすべき画素である。図示する通り、ドットを形成すべき画素は市松状に広く分布する。多値化に用いるディザマトリックスが変われば図２８とは異なるパターンでドットがオンになる。インクジェットプリンタでは、例えば上述したディザ法のような多値化手段による結果に応じて各画素にドットを形成する。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、ディザ法を用いて多値化を行った場合には、ディザマトリックスと画像データとの対応関係（図２６）から明らかな通り、画像領域にはディザマトリックスの大きさを単位としてほぼ一定のドットの形成パターンが方眼状に現れる。従来の印刷装置では、このような一定のパターンに起因して、以下の理由により画質が低下することがあった。
【０００９】
インクジェットプリンタでは、インクを吐出するノズルに機械的な製造誤差等が存在すると、吐出されるインク量や、形成されるドットの位置にノズルごとのばらつきが生じる。特定のノズルのインク吐出量が多かったり、ドットの形成位置のずれによって、隣接するラスタ間の間隔に広狭が生じると、その部分で印刷画像に濃度ムラが生じる。特にヘッドを主走査しながらドットを形成するプリンタでは、主走査方向に同様のムラが連続的に生じやすいため、主走査方向にバンディングと呼ばれる筋状の濃度ムラが現れることもあった。
【００１０】
ディザマトリックスによってドットの発生を決定した場合、ディザマトリックスの閾値と画像データの階調値に応じて、ドットの発生率がラスタごとに偏ることがある。ディザマトリックスを方眼状に配置して画像全体のドットの発生を決定した場合、かかる偏りをもったパターンが繰り返し生じることになり、ラスタごとのドットの発生率の偏りが助長される。かかる場合に、ドット数が多いラスタが、ドットの位置がずれて形成されるノズルによって形成されると、顕著なバンディングを生じ、画質を低下させることがあった。
【００１１】
かかる問題は、ベイヤ型のディザマトリックスを用いた場合のみならず、特定の規則性のないランダムなドット発生パターンを持ついわゆるブルーノイズマスク型のディザマトリックスを用いた場合にも同様に生じる。これは、ブルーノイズマスク型のディザマトリックスにより生成される規則性のないランダムなドット発生パターンであっても、各ラスタごとのドット発生率には大きなばらつきが生じるからである。
【００１２】
一方、バンディングの発生を抑制して画質を向上する技術として、いわゆるオーバラップ方式による記録が提案されている。これは、各ラスタを２つ以上の異なるノズルを用いて形成する技術である。一例として、各ラスタを２つのノズルを用いて、２回の主走査で形成する場合を考える。１回目の主走査では各ラスタの奇数番目のドットのみを間欠的に形成する。その後副走査を行い、２回目の主走査では、１回目とは異なるノズルを用いて偶数番目のドットのみを間欠的に形成する。かかる記録方式を採用すれば、各ラスタを２つ以上の異なるノズルで形成するため、ノズルの特性等に起因して生じるドットの形成位置のずれを各ラスタ上で分散させることができ、画質を向上することができる。
【００１３】
ところが、ディザ法を用いて多値化を行った場合には、上記オーバラップの効果が十分に得られないことがあった。ディザ法による多値化により図２８に示す結果が得られた場合を考える。このとき、ドットをオンにすべき画素は市松状に並んでいる。これは、各ラスタごとに見れば、奇数番目または偶数番目のいずれかの画素のドットがオンになっていることを意味している。上述したオーバラップ方式による記録の例では、１回目の主走査では各ラスタの奇数番目の画素のドットを形成し、２回目の主走査では各ラスタの偶数番目の画素のドットを形成する。図２８の多値化結果に対して、かかるオーバラップ方式による記録を実行した場合、結局各ラスタは１回目または２回目のいずれかの主走査によってのみ形成されることになる。かかる場合には、各ラスタ上のドットを異なるノズルを用いて形成することにより得られるオーバラップ方式の利点が生かせず、画質の向上というメリットは十分には得られないことがあった。
【００１４】
上述の例で用いたベイヤ型のディザマトリックスはディザ法による多値化において比較的多く用いられているマトリックスである。かかるマトリックスを用いた場合には、オーバラップ方式による利点が十分に得られないという問題が顕著に生じることが分かった。
【００１５】
以上の説明では、ベイヤ型のディザマトリックスを例にとったが、他のディザマトリックスを用いた場合も、あらゆる階調値でラスタ毎のドット発生率や、偶数画素と奇数画素のドット発生率をほぼ等しくすることは困難であるため、同様の課題が生じていた。ベイヤ型と異なるディザマトリックスを用いれば、ドットは図２８に示したパターンとは異なるパターンで形成される。とはいえ、この場合でもディザマトリックス単位で同様のパターンが画像の縦横それぞれの方向に方眼状に繰り返し現れることに変わりはない。従って、ラスタ毎に形成されるドットの数に偏りがあれば、インクの吐出方向のバラツキに基づいてバンディングを生じる可能性がある。また、奇数番目の画素に比較的小さい閾値が偏って存在するラスタがあれば、オーバラップ方式による記録の効果を十分に得ることはできない。
【００１６】
同様の課題は、ディザ法以外の多値化手段においても同様に生じていた。ディザ法以外の多値化手法としては、例えば誤差拡散法と呼ばれる手法がある。かかる手法は、本来はマトリックスを用いることなく多値化を行うものであるが、多値化結果の連続性を確保する等の目的で画像データに敢えて所定のノイズを付加した上で多値化を行うことがある。このノイズデータとして予め定めたノイズデータを有するマトリックスを図２６に示した対応関係で用いた場合、一定の繰り返しパターンでノイズを付加することに起因して、ディザ法を例にとって説明した上述の問題と同様の問題が生じることがあった。
【００１７】
この発明は、上述の課題を解決するためになされたものであり、所定のマトリックスを用いた多値化手段において、ドットが形成されるパターンが画像領域内で縦および横方向に周期的に現れることを回避し、画質を向上するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１８】
上述の課題の少なくとも一部を解決するため、本発明は、次の構成を採用した。
本発明の画像処理装置は、
２次元的な画素の配列により構成され、各画素ごとに予め定めた範囲の階調値を有する画像データに対し、前記各画素ごとに前記階調値と所定の閾値との大小関係に応じてドットのオン・オフを判定して、前記画像データの多値化を行う画像処理装置であって、
前記２次元的な画素の配列により構成された画像データの大きさよりも小さいサイズで、予め設定された値を成分とする２次元マトリックスを記憶する記憶手段と、
前記マトリックスを前記画像データに対し、方眼状からずれた状態で配置した対応関係で、該マトリックスの成分を前記画像データの前記階調値または前記閾値に反映させて、前記多値化を行う多値化手段とを備えることを要旨とする。
【００１９】
本発明の画像処理方法は、
２次元的な画素の配列により構成され、各画素ごとに予め定めた範囲の階調値を有する画像データに対し、前記各画素ごとに前記階調値と所定の閾値との大小関係に応じてドットのオン・オフを判定して、前記画像データの多値化を行う画像処理方法であって、
予め設定された値を成分とする２次元マトリックスを前記画像データに対し、方眼状からずれた状態で配置した対応関係で、該マトリックスの成分を前記画像データの前記階調値または前記閾値に反映させて、前記多値化を行うことを要旨とする。
【００２０】
かかる画像処理装置および画像処理方法によれば、ドットの形成パターンが前記マトリックス単位で方眼状に繰り返し生じることを抑制でき、画質を向上することができる。方眼状とは、例えば、図２６に示したようにマトリックスを一つの単位として捕らえた場合に、画像データ上の配置が方眼状になっていることを意味する。上記発明の画像処理装置および画像処理方法では、方眼状からずれた状態でマトリックスが対応付けられるため、ｘ方向およびｙ方向にドットが一定のパターンで繰り返し形成されることを回避できる。
【００２１】
ドットが一定のパターンで繰り返し形成される場合には、前記ｘ方向またはｙ方向の並びごとにドットの形成数に偏りが生じやすい。例えば前記ｘ方向の並びごとにドットの形成数に偏りがある場合、ドットの数が多い並びの記録位置にずれが生じると、顕著なバンディングを生じて画質が低下する。本発明の画像処理装置および画像処理方法では、ドットが一定のパターンで繰り返し形成されることを回避することにより、各並びごとにドットの形成数に偏りが生じることを回避できる。従って、バンディングの発生を抑制し、画質に優れた多値化を行うことができる。
【００２２】
ドットが一定のパターンで繰り返し形成されることを回避するという観点のみからすれば、マトリックスのサイズを非常に大きなものに設定することも可能ではある。かかる手段によればマトリックスのデータを記憶するためのメモリが膨大なものとなる。また、該メモリのデータを読み出すために長時間を要することになる。本発明の画像処理装置および画像処理方法によれば、マトリックスのサイズを大きくすることなく、上記効果を得ることができる。つまり、本発明の画像処理装置および画像処理方法によれば、メモリや処理時間を増加させることなく、画質を向上することができるという利点も有している。
【００２３】
なお、方眼状からずれた状態の例を図１に示す。図１は画像データとマトリックスとの対応関係を示す説明図である。図１中の各マスはそれぞれ画素を示している。また、図１中の太線は、マトリックスを単位として対応させる領域を示している。従来は図２６に示すように方眼状にマトリックスを対応させていたが、本発明の画像処理装置では、例えば図１に示すように順次ｙ方向に階段状にずらした状態でマトリックスを対応させるのである。図１ではｙ方向にずらした例を示しているが、ｘ方向にずらしつつ対応させても構わないし、双方にずらして対応させても構わない。また、それぞれの方向にずらしていく量も種々の値に設定可能である。さらに、画像データの全ての領域において、マトリックスをずらして対応させる必要はなく、一部の領域において方眼状からずらして対応させるものとしてもよい。
【００２４】
上述した本発明の画像処理装置において、画像データとマトリックスとの対応を数式を用いてより正確に記述すれば、  
ｘ方向にｎｘ個、ｙ方向にｎｙ個（ｎｘ，ｎｙは２以上の整数）からなる合計ｎｘ×ｎｙ個の画素で構成され、各画素ごとに予め定めた範囲の階調値を有する画像データに対し、前記各画素ごとに前記階調値と所定の閾値との大小関係に応じてドットのオン・オフを判定する２値以上の多値化を行う画像処理装置であって、
予め設定された値を成分とするｍｘ×ｍｙ（１≦ｍｘ＜ｎｘ，１≦ｍｙ＜ｎｙなる整数）のマトリックスを記憶する記憶手段と、
前記各画素ごとに前記階調値または前記閾値に前記マトリックスの成分を反映させて、前記多値化を行う多値化手段とを備え、
前記ｘ方向にｋｘ番目（ｋｘは０≦ｋｘ≦ｎｘなる整数）、ｙ方向にｋｙ番目の画素（ｋｙは０≦ｋｙ≦ｎｙなる整数）に反映させるマトリックスの成分は、次式（１）で与えられる（ｘｔ，ｙｔ）（０≦ｘｔ≦ｍｘ、０≦ｙｔ≦ｍｙの整数）である画像処理装置となる。
【００２５】
ｘｔ＝（ｒｘ・ｄｘ１＋ｒｙ・ｄｘ２＋ｋｘ）％ｍｘ；
ｙｔ＝（ｒｘ・ｄｙ１＋ｒｙ・ｄｙ２＋ｋｙ）％ｍｙ；
ｒｘ＝ｋｘ  ｄｉｖ  ｍｘ；
ｒｙ＝ｋｙ  ｄｉｖ  ｍｙ；                            ...（１）
ここで、
ａ  ｄｉｖ  ｂはａ／ｂの商を整数値で求める演算子、
ａ％ｂはａ／ｂの余りを求める剰余演算子、
ｄｘ１，ｄｘ２，ｄｙ１，ｄｙ２は０以上の整数であって、ｄｘ１，ｄｘ２，ｄｙ１，ｄｙ２のうち少なくとも一つは０以外の値である。
【００２６】
かかる画像処理装置によれば、上述の画像処理装置と同様、ドットの形成パターンが前記マトリックス単位で一方向に繰り返し生じることを低減することができ、画質を向上することができる。上記発明における画像データとマトリックスとの対応について図１を用いて具体的に説明する。
【００２７】
図１に示す通り、画像データはｘ方向およびｙ方向に２次元的に配列された画素から構成されており、ｘ方向に０番〜ｎｘ−１番までのｎｘ個の画素、ｙ方向に０番〜ｎｙ−１番までのｎｙ個の画素を有している。この画像データの任意の画素をｘ方向、ｙ方向の番号（以下、画素番号という）を用いて（ｋｘ，ｋｙ）と表すものとする。マトリックスは同じく２次元的に配列されたデータから構成されており、ｘ方向に０番〜ｍｘ−１番までのｍｘ個の成分、ｙ方向に０番〜ｍｙ−１番までのｍｙ個の成分を有している。マトリックスの任意の成分を（ｘｔ，ｙｔ）と表すものとする。
【００２８】
このマトリックスと画像データとの対応は上式（１）により求められる。ｋｘ＜ｍｘかつｋｙ＜ｍｙなる領域を考える。図１に示す領域Ａ１である。このとき、
ｒｘ＝ｋｘ  ｄｉｖ  ｍｘ＝０；
ｒｙ＝ｋｙ  ｄｉｖ  ｍｙ＝０；
となるから、上式（１）は、
ｘｔ＝ｋｘ％ｍｘ＝ｋｘ；
ｙｔ＝ｋｙ％ｍｙ＝ｋｙ；
となる。つまり、この領域では、画像データの図１における左上の画素と、マトリックスの左上の成分を一致させた状態での対応となる。
【００２９】
次に、ｍ１≦ｋｘ＜２ｍｘかつｋｙ＜ｍｙなる領域を考える。図１における領域Ａ２である。かかる領域では、
ｒｘ＝ｋｘ  ｄｉｖ  ｍｘ＝１；
ｒｙ＝ｋｙ  ｄｉｖ  ｍｙ＝０；
であるから、上式（１）は、
ｘｔ＝（ｄｘ１＋ｋｘ）％ｍｘ；
ｙｔ＝（ｄｙ１＋ｋｙ）％ｍｙ；
となる。ｄｘ１＝ｄｙ１＝０であれば、ｘｔ＝ｋｘ％ｍｘ、ｙｔ＝ｋｙ％ｍｙとなり、ｋｘ＝ｍｘ、ｍｘ＋１、ｍｘ＋２・・・に対し、ｋｘ％ｍｘ＝０，１，２・・・となるから、領域Ａ１にマトリックスを対応させたのと同じ対応関係が領域Ａ２の画像データとマトリックスとの間に与えられることになる。
【００３０】
これに対し、ｄｙ１＝１であれば、ｋｙ＝０，１，２・・・に対し、ｙｔ＝（１＋ｋｙ）％ｍｙ＝１，２，３・・・となるから、領域Ａ２では画像データに対してマトリックスをｙ方向の負の方向に値１だけずらして対応させた状態となる。図１では、かかる状態におけるマトリックスと画像データとの関係を示した。図１中に太線および破線で示された部分でマトリックスが対応付けられている。
【００３１】
他の画像領域でも同様にして、画像データにマトリックスを対応付けることができる。ｄｙ１＝１とした場合には、図１に太線で示すようにマトリックスが対応付けられる。つまり、ｘ方向の画素番号が大きくなるにつれて対応するマトリックスが徐々にｙ方向の負の方向にずれるように対応付けられる。ｄｙ１が１よりも大きな値であれば、マトリックスがずれる量はさらに大きなものとなる。
【００３２】
図１では、ｄｘ１＝ｄｘ２＝ｄｙ２＝０かつｄｙ１＝１の場合を示している。ｄｘ１≠０であれば、ｘ方向の画素番号が大きくなるにつれて対応するマトリックスはｘ方向にずれる。ｄｘ２≠０であれば、ｙ方向の画素番号が大きくなるにつれて対応するマトリックスがｘ方向にずれる。ｄｙ２≠０であれば、ｙ方向の画素番号が大きくなるにつれて対応するマトリックスがｙ方向にずれる。本発明では、ｄｘ１，ｄｘ２，ｄｙ１，ｄｙ２の少なくとも一つは０以外の値に設定される。従って、本発明では、画素番号が大きくなるにつれて対応するマトリックスがｘ方向およびｙ方向の少なくとも一方にずれることになる。
【００３３】
また、図１ではｄｙ１を一定値とした場合について示しているが、例えば、ｒｘまたはｒｙの値が変化する度にｄｙ１を変化させるものとしても構わない。このようにｄｙ１を設定すれば、マトリックスのｙ方向のずれ方が種々変化することになる。その他の値ｄｘ１，ｄｘ２，ｄｙ２についても同様にｒｘまたはｒｙの値が変化するごとに異なる値を採るものとしても構わない。
【００３４】
例えば、図１に示したようにマトリックスを対応させ、一定の階調値を有する画像データについて、ｋｘ＝０〜ｎｘ−１、ｋｙ＝０の画素の多値化を行う場合を考える。ｋｘ＝０〜ｍｘ−１（図１中の領域Ａ１に対応）の多値化結果と、ｋｘ＝ｍｘ〜２ｍｘ−１（領域Ａ２に対応）の多値化結果とは対応するマトリックスの値が異なるため、当然、多値化結果も異なるものとなる。この結果、ｋｘ＝０〜ｎｘ−１の画素における多値化結果、即ちドットの形成パターンがｘ方向に繰り返し現れことを回避できる。本発明の画像処理装置では、ドットの形成パターンの繰り返しを抑制することにより、画質に優れた多値化を行うことができる。当然、かかる効果は一定の階調値からなる画像データに限定されるものではない。
【００３５】
以上の説明では、多値化に用いられるマトリックスが１種類の場合を前提として説明しているが、本発明はかかるマトリックスが複数種類備えられている場合にも適用可能である。例えば、図１における領域Ａ２を含むその他の領域と、領域Ａ１とで異なるマトリックスを用いるものとしても構わない。
【００３６】
上記画像処理装置における多値化手段としては、種々の手段が考えられる。
例えば、前記多値化手段は、前記マトリックスの成分をノイズデータとして前記画像データに反映させた上で多値化を行う手段であるものとすることができる。
具体的には、例えば誤差拡散法により多値化を行う場合等が挙げられる。
【００３７】
一方、多値化に用いられる閾値にマトリックスの成分を反映させる場合として、
前記多値化手段は、前記閾値として前記マトリックスのいずれかの成分を用いるディザ法により多値化を行う手段であるものとすることができる。
【００３８】
ディザ法では、画像データの階調値とマトリックスの閾値との大小関係に応じて多値化が行われるため、画像データとマトリックスの対応関係に応じて一定のドットの形成パターンが繰り返し生じやすい。上記画像処理装置によれば、マトリックスをずらして対応させることによって、かかる繰り返しを回避し、画質を向上することができる。しかも、多値化に要する処理時間が短いというディザ法の長所は損なうことなく画質を向上することができる。
【００３９】
さらに、本発明の画像処理装置において、
前記マトリックスは、該マトリックスを単位とした画像領域内でのドットの分散性が高い多値化を行うことが可能なドット分散型のディザマトリックスとすることが望ましい。
【００４０】
ドット分散型のディザマトリックスとは、階調値に応じて形成されるドットの位置がマトリックス内で、できるだけ分散するように閾値が設定されたマトリックスをいう。かかるマトリックスは、ドットをまばらに形成することにより、ドットの視認性を低下させる目的で用いられることが多い。本発明の画像処理装置はドットの形成パターンの繰り返しを回避することによって、ドットの分散性に偏りが生じることを回避して濃度ムラを抑制する効果を得るものであるため、ドット分散型のディザマトリックスを用いればその効果を有効に発揮し画質を向上することができる。
【００４１】
かかるドット分散型のディザマトリックスとしては、種々のマトリックスが知られている。例えば、
前記マトリックスは、ベイヤ型のディザマトリックスとすることができる。
【００４２】
ベイヤ型のディザマトリックスとして４×４のマトリックスの例を図２に示す。閾値０〜１５までの１６種類の閾値を有するマトリックスである。図２の領域Ｐ１に示す３×３の部分を見ると、その四隅の成分は値０〜３までが順番に割り当てられている。同様に、領域Ｐ４に示す３×３の部分の四隅には値４〜７が割り当てられ、領域Ｐ２の四隅には値８〜１１が割り当てられ、領域Ｐ３の四隅には値１２〜１５が割り当てられている。このようにディザマトリックスのサイズよりも小さい所定サイズの四隅に対し、所定のパターンで４つの閾値を割り当てた小マトリックスを複数用意し、これらを組み合わせてディザマトリックスを生成したのがベイヤ型と呼ばれるディザマトリックスである。図２では４×４の場合を例にとって説明したが、その他のサイズのマトリックスも同様にして定義される。
【００４３】
ベイヤ型のマトリックスは上述した方法で生成されるため、閾値のマトリックス内の各成分への割り当てが規則的であるという特徴がある。従って、階調値に応じて形成されるドットが画像領域全体で規則的なパターンとなり、バンディングを生じやすい。本発明の画像処理装置によれば、かかる規則的なパターンの発生を低減することができるため、画質を大きく向上することができる。
【００４４】
また、前記マトリックスは、ブルーノイズマスク型のマトリックスであるものとしてもよい。
ブルーノイズマスク型のマトリックスとして６４×６４のマトリックスの例を図３に示す。図示の都合上、一部についてのみ示す。このディザマトリックスでは、６４×６４の大きさのマトリックスの内部のいずれの１６×１６の領域をとっても閾値（０〜２５５）の出現に偏りがないように閾値が割り当てられている。かかる性質を有するマトリックスをブルーノイズマスク型のマトリックスと呼ぶ。ブルーノイズマスク型のマトリックスは種々のサイズおよび閾値の範囲に対して設定可能である。
【００４５】
さらに、前記マトリックスは、前記マトリックスの大きさに対応する領域よりも広い画像領域で、ドットの分散性が高い多値化を行うことが可能なマトリックスであるものとしてもよい。
【００４６】
上記発明の画像処理装置を用いることにより、次に示す印刷装置の発明を実現することもできる。
本発明の印刷装置は、
ｘ方向にｎｘ個、ｙ方向にｎｙ個（ｎｘ，ｎｙは２以上の整数）からなる合計ｎｘ×ｎｙ個の画素で構成され、各画素ごとに予め定めた範囲の階調値を有する画像データに対し、前記各画素ごとに前記階調値と所定の閾値との大小関係に応じて判定された多値化結果に応じて、ヘッドを駆動してドットを形成することにより印刷媒体上に画像を印刷する印刷装置であって、
予め設定された値を成分とするｍｘ×ｍｙ（１≦ｍｘ＜ｎｘ，１≦ｍｙ＜ｎｙなる整数）のマトリックスを記憶する記憶手段と、
前記各画素ごとに前記階調値と前記閾値のいずれか一方に前記マトリックスのいずれかの成分を反映させて、前記多値化を行う多値化手段とを備え、
前記ｘ方向にｋｘ番目（ｋｘは０≦ｋｘ≦ｎｘなる整数）、ｙ方向にｋｙ番目の画素（ｋｙは０≦ｋｙ≦ｎｙなる整数）に反映させるマトリックスの成分は、上式（１）で与えられる（ｘｔ，ｙｔ）（０≦ｘｔ≦ｍｘ、０≦ｙｔ≦ｍｙの整数）であることを要旨とする。
【００４７】
かかる印刷装置によれば、先に説明した画像処理装置と同じく、マトリックスをずらして対応させた上で多値化を行い、該多値化の結果に応じてドットを形成するため、高画質な印刷が可能となる。かかる印刷装置においても先に説明した画像処理装置と同様、マトリックスと画像データとは種々の対応が可能である。
【００４８】
さらに、上記印刷装置において、
前記ヘッドは、前記ｙ方向に並ぶ複数のノズルを備えるヘッドであり、
前記ヘッドを前記ｘ方向に前記印刷媒体に対して相対的に往復動する主走査手段と、
前記ヘッドと前記印刷媒体を前記ｙ方向に相対的に移動する副走査手段と、
前記主走査手段、副走査手段およびヘッドの駆動を制御して、前記ｘ方向に並ぶ各ドット列を２以上のノズルを用いて形成する駆動制御手段とを備え、
少なくとも前記ｄｙ１≠０であるものとすることが望ましい。
【００４９】
かかる印刷装置では、前記ｘ方向に並ぶ各ドット列を２以上のノズルを用いて形成する。異なるノズルを用いてドット列を形成することにより、ノズルの特性に起因するドットの形成位置のずれを分散させ画質を向上させることができる。上記印刷装置では、ｄｙ１≠０に設定することで、画像データに対してマトリックスを順次ｙ方向にずらしながら対応させて多値化を行った上でドットを形成する。従って、上記印刷装置では、異なるノズルを用いて各ドット列を形成する効果を十分に発揮することができ高画質な印刷が可能となる。かかる効果について具体例を挙げて説明する。
【００５０】
例えば、２つのノズルＡ，Ｂを用いてドット列を記録する場合を考える。この場合のドット列の記録方法としては、ノズルＡでｘ方向の奇数番目のドットを記録し、ノズルＢで偶数番目のドットを記録する方法が考えられる。マトリックスを画像データに対し方眼状に対応させた場合、画像データの階調値およびマトリックスの閾値との関係によっては、ドットが形成される画素が前記ｘ方向の奇数番目の画素に偏る場合がある。かかる偏りが生じると、該ドット列は大部分がノズルＡで形成されることになり、異なるノズルを用いてドット列を形成する効果が十分に得られない。マトリックスをｙ方向にずらしつつ対応させて多値化を行えば、画像データとマトリックスの閾値とが種々変化して対応付けられるため、ドットが形成される画素が前記奇数番目の画素に偏ることを抑制できる。この結果、各ドット列を異なるノズルで形成する効果を十分に得ることができるようになる。ここでは、２つのノズルでドット列を形成する場合を例にとって説明したが、各ドット列を形成するために用いるノズル数が異なった場合でも同様の効果を得ることができる。
【００５１】
なお、上記印刷装置においては、「少なくとも前記ｄｙ１≠０」としている。これは、マトリックスをｙ方向にずらしつつ対応させる場合に画質を向上する効果が大きいためである。もとより、マトリックスをｘ方向にのみずらして対応させるものとしても構わないし、ｘ方向およびｙ方向の双方にずらして対応させるものとしても構わない。
【００５２】
本発明の画像処理装置に用いるマトリックスとしては、先に説明したベイヤ型のマトリックスやブルーノイズマスク型のマトリックス等の既存のマトリックスを用いるものとしてもよいが、以下に示す設計方法により設計されたマトリックスを用いるものとすることもできる。
【００５３】
本発明のマトリックスの設計方法は、
ｘ方向にｎｘ個、ｙ方向にｎｙ個（ｎｘ，ｎｙは２以上の整数）からなる合計ｎｘ×ｎｙ個の画素で構成され、各画素ごとに予め定めた範囲の階調値を有する画像データに対し、前記各画素ごとに前記階調値と所定の閾値との大小関係に応じてドットのオン・オフを判定する多値化を行う際に、前記階調値または前記閾値に反映させる値を予め記憶したｍｘ×ｍｙ（１≦ｍｘ＜ｎｘ，１≦ｍｙ＜ｎｙなる整数）のマトリックスの設計方法であって、
（ａ）  前記多値化における各画素と該マトリックスの成分との対応を設定する工程と、
（ｂ）  該マトリックスに割り当てられる値を大小関係に応じて並べた場合の先頭からｎ個（ｎは１以上の整数）の値を、閾値の分散性を考慮して前記マトリックスの任意の成分として設定する工程と、
（ｃ）  該マトリックスに割り当てられるべき値として残っている値を、所定の演算により求められた成分に順次設定する工程とを備え、
前記工程（ｃ）は、
（ｃ−１）  該マトリックスのうち値が割り当てられていない各成分と既に値が設定された前記マトリックスの成分との距離を、前記画像データを構成する各画素に対応付けられた前記マトリックスの各成分との関係を複数のマトリックスに亘って考慮して評価する工程と、
（ｃ−２）  既に値が設定された成分からの距離が最も遠いと評価される成分に、前記残っている値を前記大小関係に応じて並べた場合の先頭の値を設定する工程とからなることを要旨とする。
【００５４】
上記設計方法により設計されたマトリックスは、設計者の意思によって閾値が設定される成分と、演算により閾値が設定される成分とから成る。上記設計方法における工程（ａ）は、換言すれば画像データへのマトリックスの配置を設定する工程である。配置としては、図２６に示したような方眼状の配置を始めとし、図１に示したようにマトリックスをｙ方向に順次ずらした配置など種々の配置が考えられる。
【００５５】
工程（ｂ）ではｎ個の閾値をマトリックスの成分に割り当てる。閾値を小さい順に並べた場合、小さい方からｎ個の閾値を割り当てた例を図４に示す。図４では閾値０，１，２・・・ｎ−１のｎ個の閾値をそれぞれ（０，０）、（２，０）等の成分に割り当てている。この割り当ては、ドットの分散性を考慮してなされるが基本的には任意の成分に割り当て可能である。また、ｎ個の閾値は１個であっても構わない。ｎ＝１の場合には、図４の値０のみを割り当てることになる。
【００５６】
工程（ｃ−１）では、複数のマトリックスに亘って前記距離の評価を行う。「複数のマトリックスに亘って」の意味について説明する。図５にかかる評価の例を示した。図５は工程（ａ）で設定した対応関係で画像データにマトリックスを対応させた状態を示している。図５中の太線で示した部分がマトリックスに対応している。図４で示した成分に値０〜ｎ−１までの閾値が設定されているものとすれば、それぞれ図５に示した場所に値０〜ｎ−１の閾値が設定されていることになる。ここで、値が未定義の成分として例えば（２，ｍｙ−１）なる成分について距離の評価を行う場合を考える。この成分が対応する画素の一つであるｍｐを図５ではハッチングを付して示した。このとき、既に閾値０が設定された成分が対応する画素は上記画素ｍｐの周囲にいくつか存在する。これらの画素との距離は、例えば図５中にｄ１〜ｄ４で示すように種々の値が算出される。この中でｄ２〜ｄ４は画素ｍｐとは異なるマトリックスに対応した画素との距離である。「複数のマトリックスに亘って」とは、このように異なるマトリックス上の画素との距離も評価の対象とすることを意味する。こうして算出された距離ｄ１〜ｄ４等から一つを閾値０に対する評価値として選択する。図５では、閾値０が割り当てられている画素の一部を対象として距離を算出しているが、当然、全ての画素を対象としても構わない。同様にして、既に設定された値０〜ｎ−１までの全ての閾値に対する評価値を算出する。また、かかる評価値を画素ｍｐのみならず、閾値が未定義の全ての成分について算出する。
【００５７】
工程（ｃ−２）では、工程（ｃ−１）で算出された評価値に基づいて既に閾値が設定された成分から最も遠いと評価される成分を求める。かかる成分が最も分散性が高くなる成分に相当する。そして、かかる成分に対してｎ番目の閾値を設定する。図５の例では、閾値を小さい順に与えているので、設定される閾値はｎ番目に小さい値となる。
【００５８】
本発明のマトリックスの設計方法によれば、上述した工程（ｃ−１）および（ｃ−２）を順次繰り返すことにより、画像データへのマトリックスの配置を考慮した上で、ドットの分散性を重視して閾値を設定することができる。従って、本発明の設計方法により設計されたマトリックスを用いて多値化を行えば、高画質な多値化を実行することができる。
【００５９】
なお、図５で示した例とは逆に大きい閾値から順に設定していくものとしてもよい。例えば、いわゆるベタ領域に発生する白いドットの分散性を十分に確保したい場合などには、大きい閾値から順に設定していくことが望ましい場合もある。また、ドットの分散性以外の要素を加味した上で上記距離の評価を行って、マトリックスの閾値を設定するものとすることもできる。
【００６０】
上記マトリックスの設計方法において、
前記工程（ａ）における対応は、
前記ｘ方向にｘ１番目（ｘ１は０≦ｘ１≦ｎｘなる整数）、ｙ方向にｙ１番目の画素（ｙ１は０≦ｙ１≦ｎｙなる整数）に反映させるマトリックスの成分が、上式（１）で与えられる（ｘｔ，ｙｔ）（０≦ｘｔ≦ｍｘ、０≦ｙｔ≦ｍｙの整数）対応であるものとすることもできる。
【００６１】
かかる対応関係は、先に画像処理装置で説明した通り、マトリックスを画像データに対して方眼状からずれた状態で対応させる場合に相当する。つまり、上記設計方法によれば、マトリックスを方眼状からずれた状態で対応させることを前提としつつ、画像領域全体でドットの分散性を十分確保したマトリックスの生成が可能となる。従って、上記設計方法により設計されたマトリックスを用いれば、高画質な画像処理が可能となる。
【００６２】
以上で説明した本発明の画像装置は、上記多値化をコンピュータにより実現させることによっても構成することができるため、本発明は、かかるプログラムを記録した記録媒体としての態様を採ることもできる。
【００６３】
本発明の記録媒体は、
ｘ方向にｎｘ個、ｙ方向にｎｙ個（ｎｘ，ｎｙは２以上の整数）からなる合計ｎｘ×ｎｙ個の画素で構成され、各画素ごとに予め定めた範囲の階調値を有する画像データに対し、前記各画素ごとに前記階調値と所定の閾値との大小関係に応じてドットのオン・オフを判定する多値化を行うためのプログラムをコンピュータ読みとり可能に記録した記録媒体であって、
予め設定された値を成分として記憶されたｍｘ×ｍｙ（１≦ｍｘ＜ｎｘ，１≦ｍｙ＜ｎｙなる整数）のマトリックスと、
前記ｘ方向にｋｘ番目（ｋｘは０≦ｋｘ≦ｎｘなる整数）、ｙ方向にｋｙ番目の画素（ｋｙは０≦ｋｙ≦ｎｙなる整数）の前記階調値または前記閾値に、前記マトリックスのうち上式（１）で与えられる（ｘｔ，ｙｔ）（０≦ｘｔ≦ｍｘ、０≦ｙｔ≦ｍｙの整数）成分を反映させて前記多値化を行う機能を実現するためのプログラムを記録した記録媒体である。
【００６４】
上記の各記録媒体に記録されたプログラムが、前記コンピュータに実行されることにより、先に説明した本発明の画像処理装置を実現することができる。なお、記憶媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等、コンピュータが読取り可能な種々の媒体を利用できる。また、コンピュータに上記の画像処理装置の多値化機能を実現させるコンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様も含む。
【発明を実施するための最良の形態】
【００６５】
以下、本発明の実施の形態について、実施例に基づき説明する。
（１）装置の構成：
図６は、本発明の一実施例としての画像処理装置および印刷装置の構成を示すブロック図である。図示するように、コンピュータ９０にスキャナ１２とカラープリンタ２２とが接続されている。このコンピュータ９０に所定のプログラムがロードされ実行されることにより画像処理装置として機能する他、プリンタ２２と併せて印刷装置として機能する。このコンピュータ９０は、プログラムに従って画像処理に関わる動作を制御するための各種演算処理を実行するＣＰＵ８１を中心に、バス８０により相互に接続された次の各部を備える。ＲＯＭ８２は、ＣＰＵ８１で各種演算処理を実行するのに必要なプログラムやデータを予め格納しており、ＲＡＭ８３は、同じくＣＰＵ８１で各種演算処理を実行するのに必要な各種プログラムやデータが一時的に読み書きされるメモリである。入力インターフェイス８４は、スキャナ１２やキーボード１４からの信号の入力を司り、出力インタフェース８５は、プリンタ２２へのデータの出力を司る。ＣＲＴＣ８６は、カラー表示可能なＣＲＴ２１への信号出力を制御し、ディスクコントローラ（ＤＤＣ）８７は、ハードディスク１６やフレキシブルドライブ１５あるいは図示しないＣＤ−ＲＯＭドライブとの間のデータの授受を制御する。ハードディスク１６には、ＲＡＭ８３にロードされて実行される各種プログラムやデバイスドライバの形式で提供される各種プログラムなどが記憶されている。
【００６６】
このほか、バス８０には、シリアル入出力インタフェース（ＳＩＯ）８８が接続されている。このＳＩＯ８８は、モデム１８に接続されており、モデム１８を介して、公衆電話回線ＰＮＴに接続されている。コンピュータ９０は、このＳＩＯ８８およびモデム１８を介して、外部のネットワークに接続されており、特定のサーバーＳＶに接続することにより、画像処理に必要なプログラムをハードディスク１６にダウンロードすることも可能である。また、必要なプログラムをフレキシブルディスクＦＤやＣＤ−ＲＯＭによりロードし、コンピュータ９０に実行させることも可能である。
【００６７】
図７は本印刷装置のソフトウェアの構成を示すブロック図である。コンピュータ９０では、所定のオペレーティングシステムの下で、アプリケーションプログラム９５が動作している。オペレーティングシステムには、ビデオドライバ９１やプリンタドライバ９６が組み込まれており、アプリケーションプログラム９５からはこれらのドライバを介して、プリンタ２２に転送するための画像データＦＮＬが出力されることになる。画像のレタッチなどを行うアプリケーションプログラム９５は、スキャナ１２から画像を読み込み、これに対して所定の処理を行いつつビデオドライバ９１を介してＣＲＴディスプレイ２１に画像を表示している。スキャナ１２から供給されるデータＯＲＧは、カラー原稿から読みとられ、レッド（Ｒ），グリーン（Ｇ），ブルー（Ｂ）の３色の色成分からなる原カラー画像データＯＲＧである。
【００６８】
このアプリケーションプログラム９５が、印刷命令を発すると、コンピュータ９０のプリンタドライバ９６が、画像情報をアプリケーションプログラム９５から受け取り、これをプリンタ２２が処理可能な信号（ここではシアン、マゼンダ、イエロー、ブラックの各色についての多値化された信号）に変換している。図７に示した例では、プリンタドライバ９６の内部には、解像度変換モジュール９７と、色補正モジュール９８と、色補正テーブルＬＵＴと、ハーフトーンモジュール９９と、ラスタライザ１００とが備えられている。
【００６９】
解像度変換モジュール９７は、アプリケーションプログラム９５が扱っているカラー画像データの解像度、即ち単位長さ当たりの画素数をプリンタドライバ９６が扱うことができる解像度に変換する役割を果たす。こうして解像度変換された画像データはまだＲＧＢの３色からなる画像情報であるから、色補正モジュール９８は色補正テーブルＬＵＴを参照しつつ、各画素ごとにプリンタ２２が使用するシアン（Ｃ）、マゼンダ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の各色のデータに変換する。こうして色補正されたデータは例えば２５６階調等の幅で階調値を有している。ハーフトーンモジュール９９は、ドットを分散して形成することによりプリンタ２２でかかる階調値を表現するためのハーフトーン処理を実行する。本実施例におけるハーフトーンモジュール９９が、少なくとも本発明における画像処理装置に含まれる。こうして処理された画像データは、ラスタライザ１００によりプリンタ２２に転送すべきデータ順に並べ替えられて、最終的な画像データＦＮＬとして出力される。本実施例では、プリンタ２２は画像データＦＮＬに従ってドットを形成する役割を果たすのみであり画像処理は行っていないが、もちろんこれらの処理をプリンタ２２で行うものとしても差し支えない。
【００７０】
次に、図８によりプリンタ２２の概略構成を説明する。図示するように、このプリンタ２２は、紙送りモータ２３によって用紙Ｐを搬送する機構と、キャリッジモータ２４によってキャリッジ３１をプラテン２６の軸方向に往復動させる機構と、キャリッジ３１に搭載された印字ヘッド２８を駆動してインクの吐出およびドット形成を行う機構と、これらの紙送りモータ２３，キャリッジモータ２４，印字ヘッド２８および操作パネル３２との信号のやり取りを司る制御回路４０とから構成されている。
【００７１】
キャリッジ３１をプラテン２６の軸方向に往復動させる機構は、プラテン２６の軸と並行に架設されキャリッジ３１を摺動可能に保持する摺動軸３４と、キャリッジモータ２４との間に無端の駆動ベルト３６を張設するプーリ３８と、キャリッジ３１の原点位置を検出する位置検出センサ３９等から構成されている。
【００７２】
なお、このキャリッジ３１には、黒インク（Ｂｋ）用のカートリッジ７１とシアン（Ｃ），マゼンタ（Ｍ），イエロ（Ｙ）の３色のインクを収納したカラーインク用カートリッジ７２が搭載可能である。キャリッジ３１の下部の印字ヘッド２８には計４個のインク吐出用ヘッド６１ないし６４が形成されており、キャリッジ３１の底部には、この各色用ヘッドにインクタンクからのインクを導く導入管６７（図９参照）が立設されている。キャリッジ３１に黒（Ｂｋ）インク用のカートリッジ７１およびカラーインク用カートリッジ７２を上方から装着すると、各カートリッジに設けられた接続孔に導入管６７が挿入され、各インクカートリッジから吐出用ヘッド６１ないし６４へのインクの供給が可能となる。
【００７３】
インクの吐出およびドット形成を行う機構について説明する。図９はインク吐出用ヘッド２８の内部の概略構成を示す説明図である。インク用カートリッジ７１，７２がキャリッジ３１に装着されると、図９に示すように毛細管現象を利用してインク用カートリッジ内のインクが導入管６７を介して吸い出され、キャリッジ３１下部に設けられた印字ヘッド２８の各色ヘッド６１ないし６４に導かれる。なお、初めてインクカートリッジが装着されたときには、専用のポンプによりインクを各色のヘッド６１ないし６４に吸引する動作が行われるが、本実施例では吸引のためのポンプ、吸引時に印字ヘッド２８を覆うキャップ等の構成については図示および説明を省略する。
【００７４】
各色のヘッド６１ないし６４には、後で説明する通り、各色毎に４８個のノズルＮｚが設けられており（図１２参照）、各ノズル毎に電歪素子の一つであって応答性に優れたピエゾ素子ＰＥが配置されている。ピエゾ素子ＰＥとノズルＮｚとの構造を詳細に示したのが図１０である。図１０上段に図示するように、ピエゾ素子ＰＥは、ノズルＮｚまでインクを導くインク通路６８に接する位置に設置されている。ピエゾ素子ＰＥは、周知のように、電圧の印加により結晶構造が歪み、極めて高速に電気−機械エネルギの変換を行う素子である。本実施例では、ピエゾ素子ＰＥの両端に設けられた電極間に所定時間幅の電圧を印加することにより、図１０下段に示すように、ピエゾ素子ＰＥが電圧の印加時間だけ伸張し、インク通路６８の一側壁を変形させる。この結果、インク通路６８の体積はピエゾ素子ＰＥの伸張に応じて収縮し、この収縮分に相当するインクが、粒子Ｉｐとなって、ノズルＮｚの先端から高速に吐出される。このインク粒子Ｉｐがプラテン２６に装着された用紙Ｐに染み込むことにより印刷が行われる。
【００７５】
次にプリンタ２２の制御回路４０の内部構成を説明するとともに、ヘッドに備えられた複数のノズルＮｚからなるヘッド２８を駆動する方法について説明する。図１１は制御回路４０の内部構成を示す説明図である。図１１に示す通り、この制御回路４０の内部には、ＣＰＵ８１，ＰＲＯＭ４２，ＲＡＭ４３の他、コンピュータ９０とのデータのやりとりを行うＰＣインタフェース４４と、紙送りモータ２３、キャリッジモータ２４および操作パネル３２などとの信号をやりとりする周辺入出力部（ＰＩＯ）４５と、計時を行うタイマ４６と、ヘッド６１〜６６にドットのオン・オフの信号を出力する駆動用バッファ４７などが設けられており、これらの素子および回路はバス４８で相互に接続されている。また、制御回路４０には、所定周波数でピエゾ素子を駆動するための駆動波形を出力する発信器５１、および発信器５１からの出力をヘッド６１〜６４に所定のタイミングで分配する分配器５５も設けられている。制御回路４０は、コンピュータ９０で処理されたドットデータを受け取り、これを一時的にＲＡＭ４３に蓄え、所定のタイミングで駆動用バッファ４７に出力する。
【００７６】
制御回路４０がヘッド６１〜６４に対して信号を出力する形態について説明する。図１２は、ヘッド６１〜６４の１つのノズル列を例にとって、その配置および接続について示す説明図である。これらのノズルは、４８個のノズルＮｚが一定のノズルピッチｋで千鳥状に配列されている。図１２の右側に本実施例のノズル列により形成されるドットの様子を示した。実線で示した円が１回の主走査により形成可能なドットである。破線はドットの間隔を示す目安として示した。図１２に示す通り、本実施例ではノズルのピッチｋは２ドット分に相当する。なお、各ノズルアレイに含まれる４８個のノズルＮｚは、千鳥状に配列されている必要はなく、一直線上に配置されていてもよい。但し、図１２に示すように千鳥状に配列すれば、製造上、ノズルピッチｋを小さく設定し易いという利点がある。
【００７７】
ヘッド６１〜６４の各ノズル列は、駆動用バッファ４７をソース側とし、分配出力器５５をシンク側とする回路に介装されており、ノズル列を構成する各ピエゾ素子ＰＥは、その電極の一方が駆動用バッファ４７の各出力端子に、他方が一括して分配出力器５５の出力端子に、それぞれ接続されている。分配出力器５５からは図１２に示す通り、発信器５１の駆動波形が出力されている。ＣＰＵ８１から各ノズル毎にオン・オフを定め、駆動用バッファ４７の各端子に信号を出力すると、駆動波形に応じて、駆動用バッファ４７側からオン信号を受け取っていたピエゾ素子ＰＥだけが駆動される。この結果、転送用バッファ４７からオン信号を受け取っていたピエゾ素子ＰＥのノズルから一斉にインク粒子Ｉｐが吐出される。なお、図１２に示す通り、ノズル列は千鳥状に形成されているから、キャリッジ３１を搬送しつつドットを形成する場合、主走査方向に１列に並ぶドットを形成するためには、それぞれのノズル列のインクの吐出タイミングをずらす必要がある。また、各ヘッド６１〜６４についても同様にインクの吐出タイミングをずらす必要がある。ＣＰＵ８１は、かかるタイミングのずれを勘案した上で、各ドットのオン・オフの信号を駆動用バッファ４７を介して出力し、各色のドットを形成している。
【００７８】
以上で説明したハードウェア構成により、本実施例のプリンタ２２は、紙送りモータ２３により用紙Ｐを搬送しつつ（以下、副走査という）、キャリッジ３１をキャリッジモータ２４により往復動させ（以下、主走査という）、同時に印字ヘッド２８の各色ヘッド６１〜６４のピエゾ素子ＰＥを駆動して、各色インクの吐出を行い、ドットを形成して用紙Ｐ上に多色の画像を形成する。
【００７９】
なお、本実施例では、上述の通りピエゾ素子ＰＥを用いてインクを吐出するヘッドを備えたプリンタ２２を用いているが、他の方法によりインクを吐出するプリンタを用いるものとしてもよい。例えば、インク通路に配置したヒータに通電し、インク通路内に発生する泡（バブル）によりインクを吐出するタイプのプリンタに適用するものとしてもよい。
【００８０】
（２）ドット形成制御：
次に本実施例におけるドット形成の制御処理について説明する。ドット形成制御処理ルーチンの流れを図１３に示す。これは、コンピュータ９０のＣＰＵ８１が実行する処理である。
【００８１】
この処理が開始されると、ＣＰＵ８１は、画像データを入力する（ステップＳ１００）。この画像データは、図２に示したアプリケションプログラム９５から受け渡されるデータであり、画像を構成する各画素ごとにＲ，Ｇ，Ｂそれぞれの色について、値０〜１５の１６段階の階調値を有するデータである。この画像データの解像度は、原画像のデータＯＲＧの解像度等に応じて変化する。
【００８２】
ＣＰＵ８１は、入力された画像データの解像度をプリンタ２２が印刷するための解像度に変換する（ステップＳ１０５）。画像データが印刷解像度よりも低い場合には、線形補間により隣接する原画像データの間に新たなデータを生成することで解像度変換を行う。逆に画像データが印刷解像度よりも高い場合には、一定の割合でデータを間引くことにより解像度変換を行う。なお、解像度変換処理は本実施例において本質的なものではなく、かかる処理を行わずに印刷を実行するものとしても構わない。
【００８３】
次に、ＣＰＵ８１は、色補正処理を行う（ステップＳ１１０）。色補正処理とはＲ，Ｇ，Ｂの階調値からなる画像データをプリンタ２２で使用するＣ，Ｍ，Ｙ，Ｋの各色の階調値のデータに変換する処理である。この処理は、Ｒ，Ｇ，Ｂのそれぞれの組み合わせからなる色をプリンタ２２で表現するためのＣ，Ｍ，Ｙ，Ｋの組み合わせを記憶した色補正テーブルＬＵＴ（図７参照）を用いて行われる。色補正テーブルＬＵＴを用いて色補正する処理自体については、公知の種々の技術が適用可能であり、例えば補間演算による処理（特開平４−１４４４８１記載の技術等）が適用できる。
【００８４】
こうして色補正された画像データに対して、ＣＰＵ８１は多値化処理を行う（ステップＳ２００）。多値化とは、原画像データの階調値（本実施例では１６階調）をプリンタ２２が各画素ごとに表現可能な階調値に変換することをいう。後述する通り、本実施例ではドットのオン・オフの２階調への多値化を行っているが、更に多くの階調への多値化を行うものとしてもよい。本実施例の印刷装置では、ディザ法による多値化処理を行っている。
【００８５】
ディザ法による多値化処理の流れを図１４に示す。この処理が開始されると、ＣＰＵ８１は画像データＣＤを入力する（ステップＳ２０２）。ここで入力される画像データＣＤとは、色補正処理（図１３のステップＳ１１０）を施され、Ｃ，Ｍ，Ｙ，Ｋの各色につき１６階調を有するデータである。また、画像データを構成する画素番号（ｋｘ，ｋｙ）にそれぞれ値０を代入して初期化を行う（ステップＳ２０４）。画像データは主走査方向にｎｘ個、副走査方向にｎｙ個の２次元的に配列された画素から構成されている。画像データと画素の関係を図１に示す。各画素は、それぞれ図１の左側から主走査方向（図１のｘ方向）に付された画素番号ｋｘ、および図１の上側から副走査方向（図１のｙ方向）に付された画素番号ｋｙを用いて表される。上記初期化によって、図１に示した左上の画素が処理を開始する画素として設定されたことになる。
【００８６】
次に、ＣＰＵ８１は多値化に用いるディザマトリックスの成分番号（ｘｔ，ｙｔ）を算出する（ステップＳ２０６）。ディザマトリックスは主走査方向にｍｘ個、副走査方向にｍｙ個の２次元的に配列された成分から構成されている。各成分は、０≦ｘｔ＜ｍｘおよび０≦ｙｔ＜ｍｙなる整数の成分番号（ｘｔ，ｙｔ）を用いて表される。ディザマトリックスとしては、種々のマトリックスを適用可能であるが、本実施例では４×４のベイヤ型のディザマトリックス（図２参照）を用いた。従って、ｍｘ＝ｍｙ＝４である。その他、例えばブルーノイズマスク型（図３参照）のマトリックスを用いるものとしてもよい。また、マトリックスのサイズも種々のサイズのものが適用可能である。
【００８７】
ステップＳ２０６では、次式（２）によりそれぞれの成分番号を算出する。
ｘｔ＝ｋｘ％ｍｘ；
ｙｔ＝（（ｋｘ  ｄｉｖ  ｍｘ）×ｄｙ＋ｋｙ）％ｍｙ；  ...（２）
ここで、％は剰余演算子であり、例えばｋｘ％ｍｘはｋｘ／ｍｘの余りを意味する。
また、（ｋｘ  ｄｉｖ  ｍｘ）はｋｘ／ｍｘの商を意味する。
ｄｙは１以上の整数で任意の値に設定可能である。本実施例ではｄｙ＝１に設定した。
【００８８】
後述する通り、上式（２）の計算により求められる成分番号に対応する閾値が画素（ｋｘ，ｋｙ）の多値化に用いられる。図１５にディザマトリックスの成分と各画素との対応関係を示した。図示の都合上、画像データの一部についてのみ示す。図１５中に各画素に対応するディザマトリックスの成分を、それぞれ（ｘｔ，ｙｔ）の形で表した。図１５の上方に付した０〜９までの値は、主走査方向の画素番号を意味しており、左側に付した０〜５までの値は、副走査方向の画素番号を意味している。
【００８９】
例えば、画素（０，０）については、上式（２）の計算結果は、
ｘｔ＝０％４＝０；
ｙｔ＝（（０  ｄｉｖ  ４）×１＋０）％４＝０；
となる。従って、画素（０，０）については、ディザマトリックスの成分（０，０）が対応する。ｋｘ≦３かつｋｙ≦３の各画素については、同様の演算により、それぞれｘｔ＝ｋｘ、ｙｔ＝ｋｙで特定される成分が対応する。
【００９０】
次に、画素（４，０）について、上式（２）の計算結果は、
ｘｔ＝４％４＝０；
ｙｔ＝（（４  ｄｉｖ  ４）×１＋０）％４＝１；
となる。従って、画素（４，０）については、ディザマトリックスの成分（０，１）が対応する。同様にして画素とディザマトリックスの成分について以下の対応関係が得られる。「→」の左側の画素に対し、右側の成分が対応する。
画素（５，０）〜（７，０）→成分（１，１）〜（３，１）；
画素（４，１）〜（７，１）→成分（０，２）〜（３，２）；
画素（４，２）〜（７，２）→成分（０，３）〜（３，３）；
【００９１】
その他の画素についても同様にして画像データとディザマトリックスとの対応関係が得られる。これらの対応関係は、図１５に示す通り、画像データに対してディザマトリックスを階段状に上方に一画素分ずらして対応させた状態に相当する。図１５中の太線は、ディザマトリックスを一つのまとまりとして捕らえた場合の配置を示している。本実施例では、上式（２）におけるｄｙを値１に設定しているため、それぞれ１画素分上方にずれた対応関係となっている。つまり、ｄｙはマトリックスのずれ量を意味しているのである。また、本実施例では副走査方向にのみマトリックスをずらすものとしているが、主走査方向にずらして対応するものとしても構わないし、双方にずらして対応させるものとしても構わない。本実施例では、副走査方向へのずれ量ｄｙも画像領域全体で一定の値としているが、主走査方向または副走査方向にマトリックスが繰り返し使われる度にずれ量を変化させるものとすることもできる。
【００９２】
こうして、ディザマトリックスの成分番号が設定されると、ＣＰＵ８１は画像データの階調値ＣＤ（ｋｘ、ｋｙ）とディザマトリックスの閾値ＤＭ（ｘｔ、ｙｔ）との比較を行う（ステップＳ２０８）。この結果、階調値が閾値よりも大きい場合、即ちＣＤ（ｋｘ，ｋｙ）＞ＤＭ（ｘｔ，ｙｔ）である場合には、その画素についてドットをオンにすべきと判断し、結果値ＣＤＲ（ｋｘ，ｋｙ）にドットのＯＮを意味する値を代入する（ステップＳ２１２）。逆の場合にはドットをオフにすべきと判断し、結果値ＣＤＲ（ｋｘ，ｋｙ）にドットのＯＦＦを意味する値を代入する（ステップＳ２１０）。この結果値ＣＤＲは後に示すラスタライズ等の処理を経て、駆動用バッファ４７（図１２参照）に転送され、各ノズルのオン・オフを決定する。
【００９３】
以上の処理により、一つの画素についてドットのオン・オフ判定がされたことになる。次に、ＣＰＵ８１は画素番号ｋｘを値１だけ増加する（ステップＳ２１４）。つまり、処理対象となる画素を主走査方向に１つだけずらす。また、こうして設定された画素番号ｋｘが値ｎｘ以上であるか否かを判定する（ステップＳ２１６）。先に説明した通り、画像データは主走査方向にｎｘ個の画素を有しており、画素番号ｋｘは値０〜ｎｘ−１までを採ることができる。画素番号ｋｘが値ｎｘ以上になった場合には、主走査方向に並ぶ一列分の画素（以下、ラスタと呼ぶ）についての処理が終了したことを意味する。従って、ＣＰＵ８１は主走査方向の画素番号ｋｘに値０を代入して初期化し、副走査方向の画素番号ｋｙを値１だけ増加する（ステップＳ２１８）。これは、次のラスタの処理を開始することを意味する。
【００９４】
先に説明した通り、画像データは副走査方向にはｎｙ個の画素を有しており、画素番号ｋｙは値０〜ｎｙ−１までを採ることができる。画素番号ｋｙが値ｎｙ以上になった場合には、画像データの全ての画素について処理が終了したことを意味する。従って、ＣＰＵ８１は、上記ステップＳ２１８において画素番号ｋｙを増加した後、その画素番号ｋｙと値ｎｙとを比較し（ステップＳ２２０）、ｋｙが値ｎｙ以上である場合には、多値化処理を終了する。
【００９５】
一方、ステップＳ２１６において画素番号ｋｘが値ｎｘよりも小さいと判定された場合、およびステップＳ２２０において画素番号ｋｙが値ｎｙよりも小さいと判定された場合は、それぞれ未処理の画像データが残っていることを意味するため、ステップＳ２０６に戻りドットのオン・オフ判定を実行する。
【００９６】
以上の処理を行った結果の一例を図１６に示す。図１６は一定の階調値８を有する画像データに対し、図２に示したベイヤ型のマトリックスを用いて多値化を行った結果を示している。マトリックスと画像データとの対応関係は図１５に示した通りである。図２に示すベイヤ型のマトリックスと前記階調値８を比較すると、（０，０）、（２，０）、（１，１）、（３，１）、（０，２）、（２，２）、（１，３）、（３，３）の成分として設定されている閾値に比べて階調値の方が大きい。従って、かかる成分に対応する画素でドットがオンとなる。図１６においてハッチングを付した画素はドットがオンとなる画素を意味している。マトリックスごとのまとまりで見れば、ドットが市松状に形成されるものの、画像データに対してマトリックスが副走査方向にずれて対応づけられているため、画像データ全体ではドットは市松状にはならない。
【００９７】
以上の処理により多値化された結果値ＣＤＲに対し、ＣＰＵ８１はラスタライズを行う（図１３のステップＳ３００）。これは、１ラスタ分のデータをプリンタ２２のヘッドに転送する順序に並べ替えることをいう。プリンタ２２がラスタを形成する記録方法には種々のモードがある。最も単純なのは、ヘッドの１回の往運動で各ラスタのドットを全て形成するモードである。この場合には１ラスタ分のデータを処理された順序でヘッドに出力すればよい。他のモードとしては、いわゆるオーバラップがある。例えば、１回目の主走査では各ラスタのドットを例えば１つおきに形成し、２回目の主走査で残りのドットを形成する記録方法である。この場合は各ラスタを２回の主走査で形成することになる。かかる記録方法を採用する場合には、各ラスタのドットを１つおきにピックアップしたデータをヘッドに転送する必要がある。さらに別の記録モードとしていわゆる双方向記録がある。これはヘッドの往運動のみならず復運動時にもドットを形成するものである。かかる記録モードを採用する場合には、往運動時用のデータと復運動時用のデータとは転送順序を逆転する必要が生じる。いずれのモードで記録を行うかは、使用者が指定することができる。このようにプリンタ２２が行う記録方法に応じてヘッドに転送すべきデータを作成するのが上記ステップＳ２４０での処理である。こうしてプリンタ２２が印刷可能なデータが生成されると、ＣＰＵ８１は該データを出力し、プリンタ２２に転送する（ステップＳ３１０）。
【００９８】
一例として、オーバラップ方式によるドットの記録の例を図１７に示す。図示の都合上、ノズル数を６つに減らして示した。副走査方向のノズルピッチは２ドット分である。図１７の左側にはヘッドの副走査方向の位置を、１回目〜５回目までの主走査に対応させて示した。それぞれノズルの位置を「○」で示している。また、丸で囲まれた数字はノズル番号を示している。図１７の右側には各主走査において形成されるドットの様子を示した。
【００９９】
図１７に示す通り、１回目の主走査では、主走査方向の奇数番目の画素を間欠的に形成する。この際、ドットを形成するのは５番ノズルおよび６番ノズルのみであり、１番〜４番のノズルはドットを形成しない。図１７では、実際に形成されるドットを実線で示し、１番〜４番のノズルに対応するドットを破線で示した。これらのドットを形成しないのは、副走査の送り量との関係で、それぞれのラスタを完全に形成することができないからである。
【０１００】
１回目の主走査を終えると、３ドットに相当する送り量で副走査を行った後、２回目の主走査を行いつつドットを形成する。この場合も上述の理由により、４番〜６番のノズルのみを用いてドットを形成する。さらに、３ドットに相当する副走査を行った後、３回目の主走査を行いつつドットを形成する。３回目の主走査における２番ノズルの位置は、１回目の主走査における５番ノズルの位置と一致する。従って、２番ノズルは１回目の主走査でドットが形成されていない画素、即ち偶数番目の画素を記録する。以下、同様に３ドット分の副走査を行いつつ主走査を行えば、図１７中のＰＡで示す領域にドットを隙間なく形成することができる。このとき、各ラスタは奇数番目の画素と偶数番目の画素とが、それぞれ異なるノズルで形成される。かかる記録を行うことにより各ノズルの特性に起因して生じるドットの形成位置のずれを各ラスタ上で分散させることができ、画質を向上することができる効果を有する。
【０１０１】
以上で説明した印刷装置によれば、ディザマトリックスを画像データに対して方眼状から階段状にずらして対応させることにより、ドットがマトリックス単位の規則的なパターンで形成されることを抑制することができる。本実施例と同じディザマトリックスを方眼状に対応させた場合、一定の階調値８を有する画像データに対しては、図２８に示す通り完全に市松状にドットが形成されることになる。これに対し、本実施例の印刷装置によれば、図１６に示す通りドットの規則性が崩れていることが分かる。
【０１０２】
本実施例の印刷装置によれば、ドットの規則性が崩れることにより、各ラスタごとにドットの数の偏りが生じることを抑制できる。従って、機械的な製造誤差に基づきドットの形成位置にずれが生じるノズルが含まれる場合に、そのようなノズルによって形成されるドット数が増えることを回避できる。この結果、該ノズルによって形成されるラスタ部分で顕著なバンディングが生じることを回避でき、画質を向上することができる。この効果は、オーバラップ方式による記録を行う場合、１回の主走査でそれぞれのラスタを完成する場合の双方で同様に得られる。
【０１０３】
また、本実施例の印刷装置によれば、以下に示す理由により、オーバラップ方式による記録を行う場合にも画質を向上することができる。図２８に示すような規則的なパターンでドットを形成する場合、各ラスタごとに見れば、ドットが形成される画素が奇数番目の画素または偶数番目の画素に偏ることが多い。かかる偏りが生じている場合には、オーバラップ方式による記録を採用しても実質的には各ラスタの大部分を単一のノズルで形成することになるため、オーバラップ方式による効果を十分に得ることができない。これに対し、本実施例の印刷装置では、上記規則的なパターンを抑制する結果、ドットが形成される画素が奇数番目または偶数番目に偏ることを抑制できる。従って、オーバラップ方式による画質向上の効果を十分に得ることができるのである。
【０１０４】
上述の効果は、端的な例として一定の階調値を有する画像データを例にとって説明した。本実施例の印刷装置による上記効果は、一定の階調値を有する画像データに限定して得られるものではなく、種々の階調値からなる画像データに対して同様に得られるものである。
【０１０５】
（３）第２実施例：
次に本発明の第２実施例としての印刷装置について説明する。第２実施例の印刷装置のハードウェア構成は第１実施例の印刷装置（図６〜図１２参照）と同じである。また、ドット形成制御処理も第１実施例と同じである（図１３参照）。第２実施例では、多値化処理（図１３のステップＳ２００）の内容が第１実施例と相違する。第２実施例では、誤差拡散法を用いて多値化を行う。
【０１０６】
第２実施例における多値化処理、即ち誤差拡散法による多値化処理の内容を図１８に示す。この処理が開始されるとＣＰＵ８１は、画像データＣＤを読み込み（ステップＳ２５０）、画素番号（ｋｘ，ｋｙ）の双方に値０を代入して初期化を行う（ステップＳ２５２）。これらの処理内容は第１実施例における多値化（図１４のステップＳ２０２，Ｓ２０４）と同じである。
【０１０７】
ＣＰＵ８１は初期化された画素番号（０，０）の画像データに基づき、拡散誤差補正データＣＤＸの生成を行う（ステップＳ２５４）。誤差拡散処理は処理済みの画素について生じた階調表現の誤差をその画素の周りの画素に所定の重みを付けて予め配分しておくので、ステップＳ２５４では該当する誤差分を読み出し、これを今から処理しようと着目している画素に反映させるのである。着目している画素ＰＰに対して、周辺のどの画素にどの程度の重み付けで、この誤差を配分するかを、図１９に例示した。着目している画素ＰＰに対して、キャリッジ３１の走査方向で数画素、および用紙Ｐの搬送方向後ろ側の隣接する数画素に対して、濃度誤差が所定の重み（１／４，１／８、１／１６）を付けて配分される。誤差拡散処理については後で詳述する。
【０１０８】
次に、ＣＰＵ８１はマトリックスの成分番号（ｘｔ，ｙｔ）を算出する（ステップＳ２５６）。成分番号（ｘｔ，ｙｔ）の算出は第１実施例で説明した式（２）を用いて行う。本実施例において使用するマトリックスのサイズおよびずらし量ｄｙも第１実施例と同じである。従って、マトリックスと画像データとの対応関係も第１実施例と同じとなる。つまり、マトリックスを方眼状から副走査方向に１画素分だけ階段状にずらした対応関係となる。
【０１０９】
こうして設定されたマトリックスの成分ＤＭ（ｘｔ，ｙｔ）をステップＳ２５４で求められた拡散誤差補正データＣＤＸ（ｋｘ，ｋｙ）に対しノイズとして付加する。ノイズが付加された後の画像データをノイズ付加データＣＤＮ（ｋｘ，ｋｙ）とすると、次式（３）を演算するのである。このようにノイズを付加する理由は後述する。
ＣＤＮ（ｋｘ，ｋｙ）＝ＣＤＸ（ｋｘ，ｋｙ）＋ＤＭ（ｘｔ，ｙｔ）...（３）
【０１１０】
こうして生成されたノイズ付加データＣＤＮと予め定められた閾値ＴＨとの大小を比較し（ステップＳ２６０）、データＣＤＮが閾値ＴＨよりも大きい場合には、結果値ＣＤＲ（ｋｘ，ｋｙ）にドットのオンを意味する値を代入し、閾値ＴＨ以下の場合には結果値ＣＤＲ（ｋｘ，ｋｙ）にドットのオフを意味する値を代入する（ステップＳ２４０）。閾値ＴＨはこのようにドットのオン・オフを判定する基準となる値である。この閾値ＴＨはいずれの値に設定することもできるが、本実施例では画像データＣＤが採りうる０〜１５の１６段階の階調値の中間の値である値７に設定した。
【０１１１】
以上の処理により一つの画素についてドットのオン・オフが判定されたことになる。次に、ＣＰＵ８１は、多値化により生じた誤差を計算し、その誤差を周辺の画素に拡散する処理を実行する（ステップＳ２６６）。誤差とは多値化後の各ドットにより表現される濃度の評価値から原画像データの階調値を引いた値をいう。例えば、原画像データにおける階調値１５の画素を考え、ドットの形成による濃度の評価値を階調値１５相当とする。ドットを形成しない場合の濃度評価値は階調値０相当である。この画素について、大ドットを形成するものと判定された場合は、原画像データの階調値と表現される濃度評価値は共に値１５で一致しているため誤差は生じない。一方、ドットを形成しないものと判定された場合はＥｒｒ＝０−１５＝−１５の誤差を生じることになる。
【０１１２】
こうして演算された誤差は図１９に示した割合で周辺の画素に拡散される。例えば、着目している画素ＰＰにおいて階調値４に相当する誤差が算出された場合には、隣の画素Ｐ１には誤差の１／４である階調値１に相当する誤差が拡散されることになる。その他の画素についても同様に図１９で示した割合で誤差が拡散される。こうして拡散された誤差が、先に説明したステップＳ２５４で画像データＣＤに反映され、拡散誤差補正データＣＤＸが生成されるのである。
【０１１３】
以上の処理が終了すると、ＣＰＵ８１は画素番号ｋｘを値１だけ増大し（ステップＳ２６８）、主走査方向の画素数ｎｘとの大小関係を比較する（ステップＳ２７０）。画素番号ｋｘが画素数ｎｘ以上である場合には、ｋｘに値０を代入した後、副走査方向の画素番号ｋｘを値１だけ増大し（ステップＳ２７２）、副走査方向の画素数ｎｙとの大小関係を比較する（ステップＳ２７４）。これらの処理により全画素について処理が終了するまで、処理対象となる画素を順次移動させるのである。かかる処理については第１実施例と同様である。こうして全画素について処理が終了すれば、多値化処理ルーチンを終了しドット形成制御処理ルーチン（図１３）に戻る。以後の処理は第１実施例と同様である。
【０１１４】
以上で説明した多値化処理では、ステップＳ２５８において拡散誤差補正データＣＤＸにノイズを付加している。誤差拡散法は本来、ノイズの付加を行わなくても多値化をすることができる。しかし、閾値ＴＨとドットの濃度評価値との関係によっては、階調値の変化に応じてドットの発生率が急激に変化することがある。例えば、一様な階調値８を有する画像データでは、ドットがオンとなる場合もオフとなる場合も大きな誤差を生じることになるため、ドットのオン・オフの判定は非常に不安定なものとなりやすい。ドットの発生率が急激に変化すれば、そこで疑似輪郭が生じ、画質が低下することがある。本実施例では、かかる現象を避けるためにノイズを付加しているのである。画像データにノイズを付加すれば、上述の不安定な階調値が広範囲に亘って存在するのを避けることができるため、ドットの発生率の急変を抑制することができるのである。
【０１１５】
本実施例では、各成分の値の平均値が０となるように設定されたマトリックスを用いている。平均値が０以外の値である場合には、全体として表現される濃度が変化してしまうからである。本実施例では、ベイヤ型のマトリックスの各成分を−７〜７の範囲に収まるようにシフトしたマトリックスを用いた。もちろん、ブルーノイズマスク型のマトリックスなど種々のマトリックスを閾値の平均値が０となるようにシフトして用いることもできる。
【０１１６】
以上で説明した第２実施例の印刷装置によれば、マトリックスに基づいてノイズを付加することにより、高画質な多値化および印刷を行うことができる。この際、マトリックスを画像データに対して方眼状に対応させた場合には、加えられるノイズが規則正しいパターンの繰り返しとなるため、ドットが規則的なパターンで形成されることもある。第２実施例の印刷装置によれば、マトリックスを画像データに対して階段状にずらして対応させるため、かかる規則的なパターンの形成を回避することができ、さらに高画質な印刷を行うことができる。かかる効果は、各ラスタを１回の主走査で完成する記録を行う場合でも、オーバラップ方式による記録を行う場合でも得ることができる。
【０１１７】
なお、第２実施例の印刷装置では、副走査方向に階段状にずらしながらマトリックスを対応させているが、主走査方向にずらすものとしても構わないし、双方にずらして対応させるものとしても構わない。
【０１１８】
以上で説明した画像処理装置および印刷装置は、コンピュータによる処理を含んでいることから、かかる処理を実現するためのプログラムを記録した記録媒体としての実施の態様を採ることもできる。このような記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等の、コンピュータが読取り可能な種々の媒体を利用できる。また、コンピュータに上記で説明した画像処理等を行うコンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様も可能である。
【０１１９】
（４）マトリックスの設計方法：
上述した各実施例の画像処理装置および印刷装置では、多値化の際に一般によく知られているベイヤ型のマトリックスを用いていた。もちろん、ブルーノイズマスク型のマトリックスを用いることもできることは説明した通りである。かかる公知のマトリックスの他、上記画像処理装置および印刷装置のために設計されたマトリックスを用いることもできる。
【０１２０】
図２０に本発明実施例としてのマトリックスの設計方法の手順を流れ図的に示す。また、図２１〜図２４に具体的な設計例を示す。これらの図を用いて本実施例におけるマトリックスの設計方法を説明する。
【０１２１】
まず最初にマトリックスのサイズを設定し、マトリックスに記憶される閾値の範囲を設定する（ステップＳ１０）。マトリックスサイズは多値化により表現すべき階調値およびマトリックスを記憶するメモリ容量に応じて設定する。また、閾値は多値化により表現すべき階調値に応じて設定する。本実施例ではマトリックスサイズを４×４に設定し、閾値を値０〜１５までの範囲に設定した。なお、本実施例では、閾値は値０〜１５までの範囲で連続の整数としたが、離散的な閾値を記憶するものとしても構わない。また、重複する閾値が存在しても構わない。
【０１２２】
次に、マトリックスの配置を設定する（ステップＳ１２）。マトリックスの配置とは画像データへのマトリックスの対応関係をいう。マトリックスを画像データに対して方眼状に配置するものとしてもよいし、階段状にずらして配置するものとしても構わない。本実施例では後述する通り、階段状に配置するものとした。
【０１２３】
次に、閾値０，１をマトリックス内の成分に割り当てる（ステップＳ１４）。本実施例における閾値の割り当てを図２１に示す。成分（０，０）に値０を割り当て、成分（２，１）に値１を割り当てた。マトリックス内に配置される全閾値のうち小さい方から２つの閾値を割り当てたことになる。小さい方から３つ以上の閾値を割り当てるものとしても構わないし、最も小さい閾値のみを割り当てるものとしても構わない。閾値は任意の成分に割り当てることができるが、ドットの分散性を考慮して割り当てることが望ましい。
【０１２４】
こうして一部の閾値を設定した後は、以下に示す処理を繰り返し実行して計算により残りの閾値を設定する。閾値は小さい方から順次設定する。上述の通り、閾値０，１は既に設定されているため、次は閾値２を設定することになる。図２０では、この意味で設定対象となる閾値ｎｃに値２を代入するステップを示した。
【０１２５】
次に、マトリックス内でまだ閾値が設定されていない成分を一つ選択し（ステップＳ１８）、この成分から既に閾値が設定された成分までの距離の評価値を算出する（ステップＳ２０）。本実施例では最初に成分（３，０）を選択した。この成分の画像データ上での位置を図２２に示した。図２２は、本実施例でのマトリックスと画像データとの対応関係を示している。成分（３，０）は図２２中の画素ＤＤに対応する。もちろん、図２２中にはマトリックスが階段状に配置されているため、成分（３，０）に対応する画素も多数存在するが、その中の一つを選択すればよい。
【０１２６】
既に設定された閾値は値０，１の２種類あるので、それぞれについて距離の評価値を算出する。距離の評価値は、後述するように既に閾値が設定された画素との距離を算出するというステップと、この距離に基づいて距離の評価値を求めるステップを経て算出される。
【０１２７】
距離の算出は次の要領で行う。閾値が未定義の画素ＤＤの周囲には、マトリックスの配置に応じて閾値０が割り当てられている画素が多数存在する。このように多数存在する画素の中から最も距離の短い画素を選択して距離を算出するのである。図２２では、画素ＤＤの右上に隣接する画素が最も近接する画素となっている。両者の距離は図２２中でｄｉ０で示されており、主走査方向の距離ｄｘと副走査方向の距離ｄｙとを用いて√（ｄｘ・ｄｘ＋ｄｙ・ｄｙ）により求められる。図２２の場合はｄｉ０＝√２となる。同様にして閾値１が割り当てられている画素と画素ＤＤとの距離も算出する。本実施例では、画素ＤＤの左下に隣接する画素が最も近接する画素となる。この画素への距離をｄｉ１とすれば、ｄｉ１＝√２となる。この段階では、設定された閾値は０，１の２つのみであるため、ｄｉ０，ｄｉ１の２つの距離を算出して次のステップに進む。設定された閾値が増えた場合には、それぞれの閾値に対応した距離を算出することになる。以上で説明した通り、閾値が割り当てられた画素との距離は、画像データへのマトリックスの配置を考慮した上で算出する。この理由は後述する。
【０１２８】
こうして算出された距離に基づいて、距離の評価値ｅｖｌを次式（４）により求める。ここで、「＾」はべき乗演算子である。
ｅｖｌ＝１／ｄｉ０＾２＋１／ｄｉ１＾２  ...（４）
つまり、各距離の２乗分の１の総和を評価値ｅｖｌとする。設定された閾値が増え、距離がｄｉ２，ｄｉ３・・・と算出された場合には、それぞれ１／ｄｉ２＾２、１／ｄｉ３＾２・・・も加えた値が評価値ｅｖｌとなる。上述の通り、成分（３，０）に対しては距離ｄｉ０＝ｄｉ１＝√２であるから、ｅｖｌ＝１である。以上の演算を閾値が割り当てられていない全ての成分について行う（ステップＳ２２）。こうして算出された評価値を図２３に示す。
【０１２９】
次に、評価値が最小となっている成分を選択する（ステップＳ２４）。図２３から明らかな通り、本実施例では成分（２，３）が評価値０．４５で最小となっている。従って、この成分に閾値ｎｃを設定する。この段階ではｎｃ＝２であるから閾値２を成分（２，３）に割り当てるのである。上式（４）から明らかな通り、評価値ｅｖｌが最小の成分は、既に閾値が設定されたいずれの画素からも距離が遠い画素に対応する。従って、かかる成分に閾値を割り当てて設計されたマトリックスを用いて多値化を行えば、画像データ全体でドットの分散性を確保することができるのである。本実施例では、画像データ上のマトリックスの配置も考慮した上で、既に閾値が設定された画素と未定義の画素との距離の算出を行っている。この理由は、画像データ全体でのドットの分散性を確保するためなのである。
【０１３０】
以上の処理により閾値０，１，２が成分に割り当てられたことになるため、次の閾値を設定対象とする。本実施例でいえば、閾値ｎｃを値１だけ増やすことになる（ステップＳ２６）。この閾値について上述したステップＳ１８〜Ｓ２４までの処理を行って、マトリックスのいずれかの成分に閾値ｎｃを割り当てる。全ての成分に閾値が割り当てられるまでこの処理を繰り返し実行する（ステップＳ２８）。
【０１３１】
こうして閾値が割り当てられた結果を図２４に示す。これが、本発明のマトリックスの設計方法により設計されたマトリックスの一例である。図２４に示されるマトリックスはベイヤ型ともブルーノイズマスク型とも異なるマトリックスとなっている。なお、こうして得られたマトリックスに対し、処理対象となる画像データとの関係に応じた補正を施すものとしてもよい。例えば、画像データが０〜２５５までの階調値を有している場合には、図２４のマトリックスが最大２５５の閾値を採るように、各閾値を係数倍する補正を施すものとしてもよい。また、図１８で示した多値化処理におけるノイズマトリックスとして用いる場合には、平均値が０となるように各成分の値をシフトさせる補正を施すものとしてもよい。その他、画像データとの関係等に応じて種々の補正を施すことが可能である。
【０１３２】
以上で説明したマトリックスの設計方法によれば、画像データに対するマトリックスの配置を考慮した上で、ドットの分散性の高いマトリックスを得ることができる。こうして設計されたマトリックスを用いて多値化を行えば、画像データ全体におけるドットの分散性の高い高画質な多値化が可能となる。また、上記設計方法によれば、マトリックスを画像データに対して図２２に示すような階段状に配置することを前提としたマトリックスを得ることができる。この結果、先に説明した本実施例の画像処理装置や印刷装置に最も適したマトリックスを得ることが可能となる。
【０１３３】
以上、本発明の種々の実施例について説明してきたが、本発明はこれらに限定されるものではなく、その要旨を逸脱しない範囲で、種々の形態による実施が可能である。例えば、上記実施例で説明した種々の制御処理は、その一部または全部をハードウェアにより実現してもよい。
【図面の簡単な説明】
【０１３４】
【図１】画像データとマトリックスとの対応関係を示す説明図である。
【図２】ベイヤ型マトリックスの内容を示す説明図である。
【図３】ブルーノイズマスク型のマトリックスの例を示す説明図である。
【図４】マトリックスへの閾値の配置を示す説明図である。
【図５】各成分との距離の算出について示す説明図である。
【図６】本発明の印刷装置の概略構成図である。
【図７】ソフトウェアの構成を示す説明図である。
【図８】本発明のプリンタの概略構成図である。
【図９】本発明のプリンタのドット記録ヘッドの概略構成を示す説明図である。
【図１０】本発明のプリンタにおけるドット形成原理を示す説明図である。
【図１１】プリンタの制御装置の内部構成を示す説明図である。
【図１２】本発明のプリンタにおけるノズルの駆動波形および該駆動波形により形成されるドットの様子を示す説明図である。
【図１３】ドット形成制御ルーチンの流れを示すフローチャートである。
【図１４】ディザ法による多値化処理の流れを示すフローチャートである。
【図１５】実施例におけるマトリックスと画像データとの対応を示す説明図である。
【図１６】実施例によるドットの形成結果を示す説明図である。
【図１７】オーバラップ方式によるドットの形成の様子を示す説明図である。
【図１８】誤差拡散法による多値化処理の流れを示すフローチャートである。
【図１９】誤差を拡散する際の重みを示す説明図である。
【図２０】実施例の設計方法の手順を示すフローチャートである。
【図２１】実施例の設計方法における閾値の設定について示す説明図である。
【図２２】実施例の設計方法における距離の算出について示す説明図である。
【図２３】実施例の設計方法における距離の評価値を示す説明図である。
【図２４】実施例の設計方法により設計されたマトリックスを示す説明図である。
【図２５】ベイヤ型のマトリックスを示す説明図である。
【図２６】従来技術におけるマトリックスと画像データとの対応を示す説明図である。
【図２７】ディザ法によるドットのオン・オフ判定の考え方を示す説明図である。
【図２８】従来技術におけるドットの形成結果を示す説明図である。
【符号の説明】
【０１３５】
１２...スキャナ
１４...キーボード
１５...フレキシブルドライブ
１６...ハードディスク
１８...モデム
２１...カラーディスプレイ
２２...カラープリンタ
２３...紙送りモータ
２４...キャリッジモータ
２６...プラテン
２８...印字ヘッド
３１...キャリッジ
３２...操作パネル
３４...摺動軸
３６...駆動ベルト
３８...プーリ
３９...位置検出センサ
４０...制御回路
４１...ＣＰＵ
４２...プログラマブルＲＯＭ（ＰＲＯＭ）
４３...ＲＡＭ
４４...ＰＣインタフェース
４５...周辺入出力部（ＰＩＯ）
４６...タイマ
４７...転送用バッファ
４８...バス
５１...発信器
５５...分配出力器
６１、６２、６３、６４...インク吐出用ヘッド
６７...導入管
６８...インク通路
７１...黒インク用のカートリッジ
７２...カラーインク用カートリッジ
８０...バス
８１...ＣＰＵ
８２...ＲＯＭ
８３...ＲＡＭ
８４...入力インターフェイス
８５...出力インタフェース
８６...ＣＲＴＣ
８７...ディスクコントローラ（ＤＤＣ）
８８...シリアル入出力インタフェース（ＳＩＯ）
９０...パーソナルコンピュータ
９１...ビデオドライバ
９５...アプリケーションプログラム
９６...プリンタドライバ
９７...解像度変換モジュール
９８...色補正モジュール
９９...ハーフトーンモジュール
１００...ラスタライザ
【図１】
2005278209.tif 000003
【図２】
2005278209.tif 000004
【図３】
2005278209.tif 000005
【図４】
2005278209.tif 000006
【図５】
2005278209.tif 000007
【図６】
2005278209.tif 000008
【図７】
2005278209.tif 000009
【図８】
2005278209.tif 000010
【図９】
2005278209.tif 000011
【図１０】
2005278209.tif 000012
【図１１】
2005278209.tif 000013
【図１２】
2005278209.tif 000014
【図１３】
2005278209.tif 000015
【図１４】
2005278209.tif 000016
【図１５】
2005278209.tif 000017
【図１６】
2005278209.tif 000018
【図１７】
2005278209.tif 000019
【図１８】
2005278209.tif 000020
【図１９】
2005278209.tif 000021
【図２０】
2005278209.tif 000022
【図２１】
2005278209.tif 000023
【図２２】
2005278209.tif 000024
【図２３】
2005278209.tif 000025
【図２４】
2005278209.tif 000026
【図２５】
2005278209.tif 000027
【図２６】
2005278209.tif 000028
【図２７】
2005278209.tif 000029
【図２８】
2005278209.tif 000030