(57)【要約】【課題】ハーフトーン処理においてさらなる高速化が望まれていた。【解決手段】複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータを記憶しておき、ｎ×ｍ（ｎ，ｍは自然数）画素からなるブロック毎に当該ディザマトリクスに規定された閾値と上記画像データの各画素の階調値とを比較するに当たり、当該ブロック内の閾値の最小値およびまたは最大値と当該ブロック内での一画素分の階調値とを比較し、当該階調値より閾値の最小値の方が大きい場合にはブロック内の全画素についてドットを形成しないように指定し、当該階調値より閾値の最大値の方が小さい場合にはブロック内の全画素についてドットを形成するように指定したハーフトーン画像データを生成する。【選択図】  図７
2004241850.tif 000002
【特許請求の範囲】
【請求項１】
ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、各画素についてのドット形成の有無を指定したハーフトーン画像データに変換する画像データ処理装置であって、
複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータを記憶するディザマトリクスデータ記憶手段と、
ｎ×ｍ（ｎ，ｍは自然数）画素からなるブロック毎に当該ディザマトリクスに規定された閾値と上記画像データの各画素の階調値とを比較するに当たり、当該ブロック内の閾値の最小値およびまたは最大値と当該ブロック内での一画素分の階調値とを比較し、当該階調値より閾値の最小値の方が大きい場合にはブロック内の全画素についてドットを形成しないように指定し、当該階調値より閾値の最大値の方が小さい場合にはブロック内の全画素についてドットを形成するように指定したハーフトーン画像データを生成するハーフトーン処理手段とを備えることを特徴とする画像データ処理装置。
【請求項２】
ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、各画素についてのドット形成の有無を指定したハーフトーン画像データに変換する画像データ処理装置であって、
複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータを記憶するディザマトリクスデータ記憶手段と、
ｎ×ｍ（ｎ，ｍは自然数）画素からなるブロックについてディザ処理後のドット形成状態を予め規定したハーフトーン画像データをブロック内のドット形成数毎に記憶するハーフトーン画像データ記憶手段と、
上記ブロック毎にディザ処理後のドット形成数を取得するドット形成数取得手段と、
同取得したドット形成数に対応したハーフトーン画像データを上記ハーフトーン画像データ記憶手段から取得し、上記ブロック内の画像データを当該取得したハーフトーン画像データに変換するハーフトーン処理手段とを備えることを特徴とする画像データ処理装置。
【請求項３】
上記ディザマトリクスデータはＮ×Ｍ画素（Ｎ，Ｍは自然数）の閾値を規定したデータであるとともに、ｎ×ｍ画素からなる各ブロック内のデータはＮ×Ｍ個の階調をＬ個（Ｌ＝ｎ×ｍ）に分類するとともに各分類から一階調ずつ抽出して閾値としたデータであることを特徴とする上記請求項１または請求項２のいずれかに記載の画像データ処理装置。
【請求項４】
上記ディザマトリクスデータの各ブロックに登録される各閾値において、第ｘ分類（ｘは１からＬの自然数）の閾値と第（ｘ＋１）分類の閾値との数値間隔は一定であることを特徴とする上記請求項３に記載の画像データ処理装置。
【請求項５】
上記ディザマトリクスデータは上記ブロックのいずれにおいても第Ｌ分類の閾値を同じ位置の画素に対応させたデータであり、上記ハーフトーン画像データ記憶手段はドット形成数の値毎に一つのハーフトーン画像データを記憶していることを特徴とする上記請求項３または請求項４のいずれかに記載の画像データ処理装置。
【請求項６】
上記ディザマトリクスデータ記憶手段は上記各ブロック内に登録された閾値を昇順あるいは降順に並べたブロック閾値テーブルデータを記憶しており、上記ドット形成数取得手段は上記ブロック内での一画素分の階調値と当該閾値を昇順に比較して階調値が閾値より小さいと判定された段階で（比較回数−１）個をドット形成数として取得する処理あるいは上記ブロック内での一画素分の階調値と当該閾値を降順に比較して階調値が閾値より大きいと判定された段階で（ｎ×ｍ＋１−比較回数）個をドット形成数として取得する処理によってドット形成数を取得することを特徴とする上記請求項２〜請求項５のいずれかに記載の画像データ処理装置。
【請求項７】
上記ドット形成数取得手段は、上記ブロック内での一画素分の階調値が所定の低階調域にあるときは当該階調値を上記閾値と昇順に比較し、上記ブロック内での一画素分の階調値が所定の高階調域にあるときは当該階調値を上記閾値と降順に比較することを特徴とする上記請求項６に記載の画像データ処理装置。
【請求項８】
上記ディザマトリクスデータ記憶手段は上記各ブロック内に登録された閾値を昇順に第１分類から第Ｌ分類のＬ個（Ｌ＝ｎ×ｍ）に分類したブロック閾値テーブルデータを記憶しており、上記ドット形成数取得手段は、画像データの階調値域を第１分類から第Ｌ分類のＬ個に分割し、上記ブロック内での一画素分の階調値がＬ個の分類のうち第ｘ分類（ｘは１からＬの自然数）に含まれるときに、上記ブロック閾値テーブルデータを参照して第ｘ分類の閾値と比較し、閾値より階調値が小さい場合にドット形成数をｘ個、閾値より階調値が大きい場合にドット形成数を（ｘ＋１）個とすることを特徴とする上記請求項２〜請求項５のいずれかに記載の画像データ処理装置。
【請求項９】
上記ブロック内での一画素分の階調値は、当該ブロック内にあるいずれかの画素の階調値であることを特徴とする上記請求項１〜請求項８のいずれかに記載の画像データ処理装置。
【請求項１０】
上記画像データは、補間処理によって元画像の画素数を増加させた後のデータであることを特徴とする上記請求項９に記載の画像データ処理装置。
【請求項１１】
上記ブロック内での一画素分の階調値は、当該ブロック内にある画素の階調値の平均値であることを特徴とする上記請求項１〜請求項８のいずれかに記載の画像データ処理装置。
【請求項１２】
ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータに従って、上記画像データを各画素についてのドット形成の有無を指定したハーフトーン画像データに変換する画像データ処理方法であって、
ｎ×ｍ（ｎ，ｍは自然数）画素からなるブロック毎に当該ディザマトリクスに規定された閾値と上記画像データの各画素の階調値とを比較するに当たり、当該ブロック内の閾値の最小値およびまたは最大値と当該ブロック内での一画素分の階調値とを比較し、当該階調値より閾値の最小値の方が大きい場合にはブロック内の全画素についてドットを形成しないように指定し、当該階調値より閾値の最大値の方が小さい場合にはブロック内の全画素についてドットを形成するように指定したハーフトーン画像データを生成することを特徴とする画像データ処理方法。
【請求項１３】
ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータに従って、上記画像データを各画素についてのドット形成の有無を指定したハーフトーン画像データに変換する画像データ処理方法であって、
所定の記憶媒体にｎ×ｍ（ｎ，ｍは自然数）画素からなるブロックについてディザ処理後のドット形成状態を予め規定したハーフトーン画像データをブロック内のドット形成数毎に記憶しておき、上記ブロック毎にディザ処理後のドット形成数を取得し、上記ブロック内の画像データを当該取得したドット形成数に対応したハーフトーン画像データに変換することを備えることを特徴とする画像データ処理方法。
【請求項１４】
ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、各画素についてのドット形成の有無を指定したハーフトーン画像データに変換する画像データ処理プログラムであって、
複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータを所定の記憶媒体に記憶するディザマトリクスデータ記憶機能と、
ｎ×ｍ（ｎ，ｍは自然数）画素からなるブロック毎に当該ディザマトリクスに規定された閾値と上記画像データの各画素の階調値とを比較するに当たり、当該ブロック内の閾値の最小値およびまたは最大値と当該ブロック内での一画素分の階調値とを比較し、当該階調値より閾値の最小値の方が大きい場合にはブロック内の全画素についてドットを形成しないように指定し、当該階調値より閾値の最大値の方が小さい場合にはブロック内の全画素についてドットを形成するように指定したハーフトーン画像データを生成するハーフトーン処理機能とをコンピュータに実現させることを特徴とする画像データ処理プログラム。
【請求項１５】
ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、各画素についてのドット形成の有無を指定したハーフトーン画像データに変換する画像データ処理プログラムであって、
複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータを所定の記憶媒体に記憶するディザマトリクスデータ記憶機能と、
ｎ×ｍ（ｎ，ｍは自然数）画素からなるブロックについてディザ処理後のドット形成状態を予め規定したハーフトーン画像データを所定の記憶媒体内にブロック内のドット形成数毎に記憶するハーフトーン画像データ記憶機能と、
上記ブロック毎にディザ処理後のドット形成数を取得するドット形成数取得機能と、
同取得したドット形成数に対応したハーフトーン画像データを上記所定の記憶媒体から取得し、上記ブロック内の画像データを当該取得したハーフトーン画像データに変換するハーフトーン処理機能とをコンピュータに実現させることを特徴とする画像データ処理プログラム。
【請求項１６】
ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、当該画像を印刷するための印刷データを生成して印刷装置に画像を印刷させる印刷制御装置であって、
複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータを記憶するディザマトリクスデータ記憶手段と、
ｎ×ｍ（ｎ，ｍは自然数）画素からなるブロック毎に当該ディザマトリクスに規定された閾値と上記画像データの各画素の階調値とを比較するに当たり、当該ブロック内の閾値の最小値およびまたは最大値と当該ブロック内での一画素分の階調値とを比較し、当該階調値より閾値の最小値の方が大きい場合にはブロック内の全画素についてドットを形成しないように指定し、当該階調値より閾値の最大値の方が小さい場合にはブロック内の全画素についてドットを形成するように指定したハーフトーン画像データを生成するハーフトーン処理手段と、
同ハーフトーン画像データを印刷装置において使用される順番に並べ替えて上記画像を印刷させる印刷データを生成し印刷装置に対して出力する印刷データ出力手段とを備えることを特徴とする印刷制御装置。
【請求項１７】
ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、当該画像を印刷するための印刷データを生成して印刷装置に画像を印刷させる印刷制御装置であって、
複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータを記憶するディザマトリクスデータ記憶手段と、
ｎ×ｍ（ｎ，ｍは自然数）画素からなるブロックについてディザ処理後のドット形成状態を予め規定したハーフトーン画像データをブロック内のドット形成数毎に記憶するハーフトーン画像データ記憶手段と、
上記ブロック毎にディザ処理後のドット形成数を取得するドット形成数取得手段と、
同取得したドット形成数に対応したハーフトーン画像データを上記ハーフトーン画像データ記憶手段から取得し、上記ブロック内の画像データを当該取得したハーフトーン画像データに変換するハーフトーン処理手段と、
同ハーフトーン画像データを印刷装置において使用される順番に並べ替えて上記画像を印刷させる印刷データを生成し印刷装置に対して出力する印刷データ出力手段とを備えることを特徴とする印刷制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび印刷制御装置に関する。
【０００２】
【従来の技術】
従来、画像を印刷する際には、画像をドットマトリクス状の画素で多階調表現した画像データを入力し、プリンタで表現可能な階調数に合わせるため、入力画像データをドット形成の有無により各画素の階調を表現したハーフトーンデータに変換する。このハーフトーン処理としては、比較的低速であるが比較的高画質の画像が得られる誤差拡散法や比較的高速であるが比較的低画質の画像が得られるディザ法等、種々の手法が知られている（例えば、特許文献１参照。）。
【０００３】
【特許文献１】
特開２００２−１８５７８９号公報
【０００４】
【発明が解決しようとする課題】
上述した従来のハーフトーン処理においては、さらなる高速化が望まれていた。すなわち、近年のプリンタの高性能化に伴って印刷時の解像度が飛躍的に向上し、高解像度の画像を印刷するために非常に多数の画素数からなる画像を印刷することが可能になった。このように多数の画素数からなる画像を印刷する場合には非常に多数の演算を繰り返すため、多くの時間を必要とし、印刷処理の全時間に大きな影響を与えてしまう。
本発明は、上記課題にかんがみてなされたもので、高速にハーフトーン処理を実行可能な画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび印刷制御装置の提供を目的とする。
【０００５】
【課題を解決するための手段および発明の効果】
上記目的を達成するため、本発明ではディザ処理において冗長な比較処理を排除する。このために、画像データ処理装置では、ハーフトーン処理手段においてディザマトリクスの各ブロックで閾値の最小値に満たない階調値や閾値の最大値を超える階調値についてはブロック内の全画素における比較を行わない。すなわち、閾値より階調値の方が大きな場合にその画素についてはドットを形成し、閾値より階調値の方が小さな場合にその画素についてはドットを形成しないような構成において階調値が閾値の最小値に満たない場合は全画素についてドットを形成しない。
【０００６】
従って、ドットを形成する画素のブロック内での位置を識別することなくブロック内の全画素についてドットを形成しないことにして次のブロックでの処理に移ることができる。同様に、階調値が閾値の最大値に満たない場合は全画素についてドットを形成しないので、ドットを形成しない画素のブロック内での位置を識別することなくブロック内の全画素についてドットを形成することにして次のブロックでの処理に移ることができる。このように、本発明ではディザマトリクスの閾値と画像データの階調値とについて不要な比較をすることなく次のブロックでの処理に移ることができ、処理速度を高速化することができる。
【０００７】
本発明におけるハーフトーン処理では、ディザマトリクスデータに従ってドット形成の有無を指定することができればよいので、単純な構成としてはドットを形成する状態と形成しない状態との２つの状態を形成すればよいが、むろん、ドット径の大きさを変動させて１画素につき４階調有するような構成に適用しても良い。また、ディザマトリクスデータにおいては画像データの階調値と比較される閾値を登録していればよく、画像データの階調値と閾値とを直接比較する場合は、両者の値域が一致している必要があるが、階調値と閾値とのいずれかを定数倍してから比較しても良く、この場合、定数倍する前に値域が一致している必要はない。
【０００８】
上記ブロックはｎ×ｍ画素の画素から構成されていればよく、これらの画素はディザマトリクスの一部である。すなわち、ディザマトリクスではｎ×ｍ画素より多数の画素について閾値を規定している。ディザマトリクスの全体について閾値と画像データの階調値とを比較する場合には、画素の総てがドット形成あるいはドット非形成になることは非常にまれであるが、ディザマトリクスより小さな領域であるブロック毎に閾値と画像データの階調値とを比較することによって、ブロック内の総てがドット形成あるいはドット非形成となる状態を作り出すことができる。従って、ブロック毎の比較をすることによって冗長な処理を排除することが可能になる。
【０００９】
本発明ではブロック内での一画素分の階調値とブロック内の閾値の最小値あるいは最大値を比較することができればよい。一画素分の階調値としては後述するようにブロック内のいずれかの画素の階調値やブロック内の画素の平均階調値等を採用可能である。むろん、ブロック内の画素の階調値について最小値や最大値を取得して階調値の最小値と閾値の最大値とを比較し、階調値の最大値と閾値の最小値とを比較しても良い。
【００１０】
また、閾値の最小値や最大値に基づいて冗長な処理を排除するとともにこれら最小値や最大値以外の閾値について冗長な処理を排除する構成を採用することも可能である。このために、ディザ処理後のハーフトーン画像データを予めブロック内のドット形成数毎に記憶しておき、各ブロック毎の処理に際してディザ処理後のドット形成数を取得すれば、画素毎の逐次的な比較をすることなくハーフトーン画像データを得ることができ、非常に高速にディザ処理を行うことができる。
【００１１】
すなわち、予めドット形成数毎にディザ処理後のハーフトーン画像データを記憶しておく。そして、階調値と閾値とを比較したとしたら合計何個のドットを形成することになるか、あるいはドットを形成しない画素が何個あるかを各ブロック毎に取得する。ドット形成数が判明すれば、ブロック内の画像データを当該ドット形成数に対応したハーフトーン画像データに変換することにより、ディザ処理において各画素の閾値と画像データの階調値とを逐一比較することなく各ブロック内のドット形成、非形成を決定することができる。
【００１２】
各ブロック毎の閾値は予め決定されており、この閾値からディザ処理後のハーフトーン画像データをドット形成数毎に予め決定することができる。各ブロック毎に当該ディザ処理後のハーフトーン画像データを変更しても良いし、各ブロック毎に共通にしても良い。ディザマトリクスデータに登録する閾値の大小関係の順序および位置を各ブロック毎に共通にしておけば、ディザ処理後のハーフトーン画像データを全ブロック共通にすることができる。
【００１３】
以上のように、ドット形成数毎にディザ処理後のハーフトーン画像データを記憶することにより、逐次的な閾値判別をすることなく画像データをハーフトーン画像データに変換することができる。むろん、この処理は、上述のように閾値の最小値に満たない階調値や閾値の最大値を超える階調値についてブロックの全画素についてドットを形成せず、あるいは全画素についてドットを形成する処理も含んでいる。
【００１４】
予め記憶するディザマトリクスデータの構成例として、Ｎ×Ｍ画素（Ｎ，Ｍは自然数）の閾値を規定し、その中にｎ×ｍ画素からなる各ブロックを考え、当該ブロック内のデータはＮ×Ｍ個の階調をＬ個（Ｌ＝ｎ×ｍ）に分類するとともに各分類から一階調ずつ抽出して閾値とすることもできる。この構成を採用すると、閾値が属するＬ個の分類からそれぞれ一つずつのみが各ブロックに登録されることになる。従って、閾値は各ブロックに対してまばらに振り分けられ、ディザ処理後に画像の位置によってドット形成に差異が生じにくくなる。さらに、各ブロックにＬ個の分類のそれぞれが登録されているので、Ｌ個の分類のうち第ｘ分類（ｘは１〜Ｌ）に入る閾値の位置を各ブロック毎に共通の値にすれば、上記ディザ処理後のハーフトーン画像データを全ブロックについて共通にすることができる。また、この構造のディザマトリクスデータであれば上述の請求項８と組み合わせて非常に高速にドット形成数を決定することが可能になる。
【００１５】
さらに、ディザマトリクスデータにおいて、各ブロックに登録される閾値相互のピッチを一定にしても良い。すなわち、第ｘ分類（ｘは１からＬの自然数）の閾値と第（ｘ＋１）分類の閾値との数値間隔を一定とする。具体的には、（第１分類の閾値＋（ｘ−１）×Ｎ×Ｍ／ｎ／ｍ）などの式によって第ｘ分類の閾値を決定することができる。この式によれば、第１分類の閾値を決定するのみで残りの閾値をディザマトリクスデータの画素数およびブロックの画素数によって算出することができる。従って、第１分類の閾値のみを記憶すれば充分であり、ディザマトリクスデータのために必要とされる記憶容量を抑えることができる。
【００１６】
さらに、ディザマトリクスデータとしては、上記ブロックのいずれにおいても第Ｌ分類の閾値を同じ位置の画素に対応させたデータとすることが好ましい。かかる構成によれば、ドット形成数が同じ場合にディザマトリクスデータに基づいて決定されるハーフトーン画像データも同じになる。従って、ドット形成数の値毎に一つのハーフトーン画像データを記憶するのみで充分な構成を確実に構築することができる。この結果、ハーフトーン画像データを記憶するための記憶容量を抑えることができる。
【００１７】
さらに、ドット形成数取得手段においては各ブロック毎にドット形成数あるいはドット非形成の数を取得すれば良く、種々の構成を採用可能である。その一例として、各ブロックに登録された閾値を昇順あるいは降順に並べたブロック閾値テーブルデータを利用することができる。このブロック閾値テーブルデータは、各ブロック内に登録された閾値の最小値を抽出してマトリクス状に並べることにより第１のブロック閾値テーブルデータとし、２番目に小さい閾値を抽出してマトリクス状に並べることにより第２のブロック閾値テーブルデータとするなどして形成することができる。この場合、ブロック閾値テーブルデータは、ディザマトリクスデータがＮ×Ｍ画素であり、各ブロックの画素がｎ×ｍ画素であるときに（Ｎ／ｎ）×（Ｍ／ｍ）個の要素からなるマトリクスが昇順あるいは降順にｎ×ｍ個形成される。
【００１８】
このブロック閾値テーブルデータを記憶していれば、上記ブロック内での一画素分の階調値と当該ブロック閾値テーブルデータとを比較することによってドット形成数を取得することができる。すなわち、ブロック内での一画素の階調値とブロック閾値テーブルデータの閾値とを閾値が小さい方から順に（昇順に）比較すれば、第ｘ番目の閾値についての比較で階調値が閾値を下回ったときにドット形成数がｘ−１（比較回数−１）とすることができる。
【００１９】
むろん、降順でも同様であり、ブロック内での一画素の階調値とブロック閾値テーブルデータの閾値とを閾値が大きい方から順に比較すれば、第ｘ番目の比較で階調値が閾値を上回ったことによってドット非形成数をｘ−１（比較回数−１）とすることができる。従って、この場合、ドット形成数は（ｎ×ｍ＋１−比較回数）個とすることができる。比較回数は最大でｎ×ｍ（各ブロックについてのブロック閾値テーブルデータの数）個であるから、最大でも閾値と階調値との逐次的な比較での処理回数と同じであるし、ほとんどの場合それより少ない処理回数で次のブロックの処理へ移行することができる。従って、ハーフトーン処理の速度が非常に速くなる。
【００２０】
この構成において、階調値が閾値を下回るあるいは上回ることを少ない比較回数で見つけることができれば、より速度を向上することができる。このために、ブロック内での一画素分の階調値が所定の低階調域にあるときは当該階調値を上記閾値と昇順に比較し、上記ブロック内での一画素分の階調値が所定の高階調域にあるときは当該階調値を上記閾値と降順に比較すると好ましい。すなわち、低階調域であればドット形成数は少なく、高階調域ではドット非形成数が少ないので、低階調域で昇順、高階調域で降順に比較すれば、非常に早い段階で閾値と階調値との比較を終了することができる。低階調域はドット形成数が少ない領域であり、高階調域はドット形成数が多い領域であれば良く、画像データの階調値域を２分して階調値が小さい方の階調域に属する場合は低階調域とし、大きい方の階調域に属する場合は高階調とするなど種々の構成を採用可能である。
【００２１】
さらに、ドット形成数を取得する他の構成として、ブロック閾値テーブルデータにおける閾値および画像データの階調値域を上記ブロック内の画素数で除してＬ個に分類し、階調値が第ｘ分類（ｘは１からＬの自然数）に含まれるときに第ｘ分類の閾値と比較し、閾値より階調値が小さい場合にドット形成数をｘ個、閾値より階調値が大きい場合にドット形成数を（ｘ＋１）個としてもよい。すなわち、ドット形成数を決定するために階調値と比較する閾値として最も重要なものは階調値前後の閾値である。そこで、上記分類によって比較すべき閾値を類推することにより、高速に比較すべき閾値を発見することができ、閾値と階調値とを順次比較してドット形成数を決定する構成より非常に高速に処理を行うことができる。尚、階調値域をＬ個に分割する際にその分割手法は種々の手法を採用可能であるが、均等に分割したり、ドット形成数の増加とともに明度の低下率が鈍くなるインクの一般的性質に鑑みて低階調域では階調を細かく分割する構成にしても良い。
【００２２】
本発明においては各ブロックの閾値の最小値，最大値やブロック閾値テーブルデータをブロック内での一画素分の階調値と比較するに当たり、一画素分の階調値として一画素相当の値であれば種々の値を採用することができる。例えば、ブロック内にあるいずれかの画素の階調値を採用することができる。ｎ×ｍ画素のブロックとして、数個から数十個程度であれば、近年のデジタルスチルカメラの画像等多くの画像において階調値が非常に似通っていると言える。従って、ブロック内の画素のいずれかを代表として採用しておけば、非常に簡易的かつ高速にブロック内のドット形成状態を決定することが可能になる。
【００２３】
ブロック内の画素の階調値が似通っている状態の画像データとしては、補間処理後の画像データが挙げられる。例えば、ニアリスト補間処理であればある画素の階調値がそのまま隣の画素の階調値になるし、バイリニア，キュービック補間等を利用したとしても隣接画素の階調値が劇的に異なることはまれである。従って、補間処理後の画像データであれば、数個から数十個程度のブロック内のいずれかの画素について本発明による処理を行うのみでハーフトーン処理を実行することが可能になる。むろん、他にも種々の構成を採用することが可能であり、ブロック内にある画素の階調値の平均値を採用することも可能である。
【００２４】
ところで、上述した画像データ処理装置は、単独で実施される場合もあるし、ある機器に組み込まれた状態で他の方法とともに実施されることもあるなど、発明の思想としては各種の態様を含むものであって、適宜、変更可能である。また、上述した画像データを変換する際の手法は、所定の手順に従って処理を進めていくうえで、その根底にはその手順に発明が存在するということは当然である。したがって、本発明は方法としても適用可能であり、請求項１２，請求項１３にかかる発明においても、基本的には同様の作用となる。
【００２５】
本発明を実施しようとする際に、画像データ処理装置にて所定のプログラムを実行させる場合もある。そこで、そのプログラムとしても適用可能であり、請求項１４，請求項１５にかかる発明においても、基本的には同様の作用となる。さらに、変換後の画像データに基づく画像を印刷する印刷手段を備える印刷制御装置としても適用可能であり、請求項１６，請求項１７にかかる発明においても、基本的には同様の作用となる。
【００２６】
むろん、請求項２〜請求項１１に記載された構成を上記方法やプログラムや印刷制御装置に対応させることも可能であることは言うまでもない。また、いかなる記憶媒体もプログラムを提供するために使用可能である。例えば、磁気記録媒体や光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一部がソフトウェアであって、一部がハードウェアで実現される場合においても本発明の思想において全く異なるものではなく、一部を記録媒体上に記録しておいて必要に応じて適宜読み込む形態のものも含まれる。さらに、一次複製品、二次複製品などの複製段階については全く問う余地なく同等である。
【００２７】
【発明の実施の形態】
以下、下記の順序に従って本発明の実施形態を説明する。
（１）画像データ処理装置の構成：
（２）画像データ処理プログラムの概略構成：
（３）画像データ処理装置が行う処理の概略：
（４）画像データ処理装置が行う処理の詳細：
（５）他の実施形態：
【００２８】
（１）画像データ処理装置の構成：
図１は、本発明の第一の実施形態にかかる画像データ処理装置の概略構成を示している。画像データ処理装置は汎用的なパーソナルコンピュータ（ＰＣ）１０によって構成されている。同ＰＣ１０は演算処理の中枢をなすＣＰＵ１１を備えており、このＣＰＵ１１はシステムバス１０ａを介してＰＣ１０全体の制御を行う。同システムバス１０ａには、ＲＯＭ１２、ＲＡＭ１３、ハードディスクドライブ１４やＣＤ−ＲＯＭドライブ１５、入力インターフェイス（入力Ｉ／Ｆ）１６、ＣＲＴインターフェイス（ＣＲＴＩ／Ｆ）１７、通信インターフェイス（通信Ｉ／Ｆ）１８、プリンタインターフェイス（プリンタＩ／Ｆ）１９等が接続されている。
【００２９】
本実施形態のＰＣ１０はいわゆるデスクトップ型ＰＣであり、構成を簡略化して説明している。むろん、ＰＣ１０にはコンピュータとして一般的な構成を有するものを採用することができ、ノート型であるとか、モバイル対応のものであってもよい。また、画像データ処理装置に適用可能なコンピュータは、ＰＣに限定されるものではないし、複数のコンピュータによる分散処理を行う構成であっても良い。
【００３０】
ハードディスクドライブ１４には、ソフトウェアとしてオペレーティングシステム（ＯＳ）や文書情報や画像情報を作成可能なアプリケーションプログラム（ＡＰＬ）等が格納されており、これらのソフトウェアは、実行時にＣＰＵ１１によって適宜ＲＡＭ１３に転送される。そして、ＣＰＵ１１は、ＲＡＭ１３を一時的なワークエリアとして適宜アクセスしながら種々のプログラムを実行することになる。
【００３１】
入力Ｉ／Ｆ１６には、キーボード１６ａやマウス１６ｂが操作用入力機器として接続されるとともに、図示しないスキャナやデジタルカメラ等も接続されるようになっている。また、ＣＲＴＩ／Ｆ１７には、表示用のディスプレイ１７ａが接続されている。さらに、プリンタＩ／Ｆ１９には、パラレルＩ／Ｆケーブルを介してプリンタ２０が接続されている。むろん、プリンタ２０との接続Ｉ／ＦはパラレルＩ／Ｆに限られる必要もなく、シリアルＩ／ＦやＳＣＳＩ、ＵＳＢ接続など種々の接続態様を採用可能であるし、今後開発されるいかなる接続態様であっても同様である。
【００３２】
なお、本発明の画像データ処理プログラムを記憶したハードディスクドライブ１４は画像データ処理プログラムを記録した媒体となるが、本画像データ処理プログラムを格納可能な記録媒体はハードディスクに限定されるものではない。例えば、ＣＤ−ＲＯＭやフレキシブルディスクであってもよい。これらの記録媒体に記録されたソフトウェアはＣＤ−ＲＯＭドライブ１５や図示しないフレキシブルディスクドライブを介して読み込まれ、ハードディスクドライブ１４にインストールされて、ＣＰＵ１１によってＲＡＭ１３上に読み込まれて各種処理が実行されることになる。また、記録媒体は、これらに限定されず、光磁気ディスクや半導体デバイスである不揮発性メモリなどであってもよい。さらに、システムバス１０ａに接続されたモデム等の通信Ｉ／Ｆ１８をインターネット網に接続し、種々のプログラムを格納したサーバにアクセスして本画像データ処理プログラムをダウンロードすることも可能である。
【００３３】
本実施形態で使用するプリンタ２０は、インクジェットプリンタであり、カラー印刷時に、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）、の計４色の色インクを使用することができる。むろん、ライトシアン（ｌｃ）やライトマゼンタ（ｌｍ）を使用して６色にすることもできるし、さらにダークイエロー（ＤＹ）を加えて７色にすることもできる。複数色のカラートナーを使用するレーザープリンタを使用することもできる。いずれにしても、ＰＣ１０ではプリンタ２０にて解釈可能な印刷実行データを作成し、プリンタＩ／Ｆ１９を介して出力する。プリンタ２０では当該印刷実行データに基づいて画像を構成する各画素についてインクを記録することによって画像を印刷する。
【００３４】
（２）画像データ処理プログラムの概略構成：
ＰＣ１０では、以上のハードウェアを基礎としてバイオスが実行され、その上層にてＯＳとＡＰＬとが実行される。基本的には、ＯＳがバイオスを介するか直にハードウェアとアクセスし、ＡＰＬはＯＳを介してハードウェアとデータなどのやりとりを行う。ＯＳにはハードウェアを制御するための各種のドライバ類が組み込まれ、ＯＳの一部となって各種の制御を実行する。このドライバ類は、ＣＲＴＩ／Ｆ１７を制御するディスプレイドライバや、プリンタＩ／Ｆ１９を制御するプリンタドライバ３０等である。同プリンタドライバ３０には本発明の画像データ処理プログラムが含まれており、本画像データ処理プログラムの各種機能を有するＰＣ１０は本発明にいう画像データ処理装置となる。
【００３５】
プリンタドライバ３０は、ＡＰＬの印刷機能の実行時に稼働され、プリンタＩ／Ｆ１９を介してプリンタ２０と双方向の通信を行うことが可能である。同プリンタドライバ３０は、ＯＳを介してＡＰＬから画像データを受け取ってプリンタ２０に対して出力する印刷データに変換し、印刷ジョブとしてプリンタ２０に送出する。このため、ＯＳには、グラフィックスに関してＡＰＬとＯＳとの間でグラフィックユーザーインターフェイス機能を実現するＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ  ）等も組み込まれている。
【００３６】
図２は、上記プリンタドライバ３０の概略構成を模式的に示している。図において、プリンタドライバ３０は、画像データ取得モジュール３１、解像度変換モジュール３２、色変換モジュール３３、ハーフトーン処理モジュール３４、インターレース処理モジュール３５を備えており、図示しない機能制御モジュールの制御に基づいて所定の機能を実現しつつ連携動作して画像データをハーフトーン画像に変換することが可能である。変換されたハーフトーン画像では印刷画像における各画素についてドット形成およびドット非形成が指定されており、これらの指定に基づいて印刷を実行する印刷実行データを生成、出力する。
【００３７】
（３）画像データ処理装置が行う処理の概略：
図３は、画像データ処理装置が行う処理のゼネラルフローである。ここでは、当該図３および図２によって処理の概略を説明する。上記ＡＰＬにて印刷指示がなされると、画像データ取得モジュール３１は、ＡＰＬにて作成されたＲＧＢ各色の画像データを取得する（ステップＳ１００）。同画像データは、ＲＧＢの各色毎に画像をドットマトリクス状の画素で多階調表現したデータである。解像度変換モジュール３２は補間演算処理を実行可能であり、上記取得した画像データにおける画素数とプリンタ２０にて印刷を行う際の画素数とが異なる場合に補間演算処理によって画像を拡大あるいは縮小する。縮小の際には間引き処理を行っても良い。
【００３８】
解像度変換モジュール３２は、上記ＡＰＬによる印刷指示に含まれる印刷解像度の情報から必要な画素数を算出し、上記取得した画像データの画素数とを比較して解像度変換処理が必要であるか否かを判別する（ステップＳ１１０）。同ステップＳ１１０にて解像度変換処理が必要と判別され、拡大処理が実行される際には所定の拡大済みフラグをＯＮにし（ステップＳ１２０）、補間処理によって画像の解像度を変換する（ステップＳ１３０）。上記ステップＳ１１０にて解像度変換処理が必要であると判別されないときにはステップＳ１２０，Ｓ１３０はスキップする。尚、近年のインクジェットプリンタの解像度は非常に高解像度になっており、現在の高画質デジタルスチルカメラにおける画像であってもＬ版写真サイズの印刷時に補間が必要であることが通常であり、ほとんどの場合に拡大処理が行われる。
【００３９】
色変換モジュール３３は、上記ＲＧＢの各色からなる画像データをＣＭＹＫの色インクのそれぞれに対応したデータに変換する（ステップＳ１４０）。このとき、ＬＵＴ（ルックアップテーブル）と呼ばれる色変換テーブルを参照して画像データを変換する。本実施形態のＬＵＴは、２５６階調のＲＧＢそれぞれの階調値をＣＭＹＫそれぞれについて２５６階調とされた階調値に対応させたテーブルであり、例えば、１７×１７×１７の格子点に対応した大量のデータを備えている。変換された画像データも、画像をドットマトリクス状の画素で多階調表現したデータであり、階調値が大きくなるほどＣＭＹＫ各成分が大きくなるようにしてある。したがって、階調値が大きくなるほど、印刷媒体上に形成されるドット密度は大きくなる。
【００４０】
尚、本実施形態では、ＣＭＹＫに基づく画像データの階調数も各８ビットを割り当てて階調値０から２５５の２５６階調としているが、２５６階調以外にも様々な階調とすることが可能であることは言うまでもない。さらに、本実施形態では後述するディザマトリクスに登録された閾値の値域にＣＭＹＫの階調値域を合わせている。階調値域を合わせるためには上記ＣＭＹＫの階調値を定数倍するなどの処理を行えばよい。
【００４１】
ハーフトーン処理モジュール３４は、上記ＣＭＹＫの各色からなる画像データのそれぞれについてＣＭＹＫ各色の階調値を２値化するハーフトーン処理を実行するモジュールである。同ハーフトーン処理モジュール３４は高速に２値化処理を実行可能であり、この処理を行うため、ハードディスクドライブ１４には予めディザマトリクスデータ１４ａとブロック閾値テーブルデータ１４ｂとハーフトーン画像データ１４ｃとが保存されている。
【００４２】
ディザマトリクスデータ１４ａは、Ｎ×Ｍ個のマトリクス状の画素について閾値を規定したデータであり、図４はその一例を簡易的に示す図である。同図においては縦１６画素，横１６画素のディザマトリクスを例として示している。すなわち、同図における一つの四角形が一つの画素の閾値に相当する。また、本実施形態においてハーフトーン処理はディザマトリクス内の縦４画素，横４画素のブロック毎に実施される。図４においては、各画素に相当する閾値を一つの四角形の中に示すとともに、各ブロックの境界を太線で示している。
【００４３】
ディザマトリクスデータにはＮ×Ｍ階調の閾値が登録されている。すなわち、同図に示す例では”０”〜”２５５”を値域とした２５６階調の閾値が登録されている。また、本実施形態において、各ブロック内には２５６階調を均等に１６分類するとともに各分類から一階調ずつ抽出た閾値が登録してある。具体的には、２５６階調を１６等分すると各分類には１６個の閾値が含まれる。すなわち、第１分類には”０”〜”１５”の閾値が含まれ、第２分類には”１６”〜”３１”、、、第１６分類には”２４０”〜”２５５”の閾値が含まれることになる。
【００４４】
この例において、同図左上のブロックには第１分類の閾値”０”，第２分類の閾値”１６”が登録されており、第ｌ分類（ｌは１〜１６の自然数）の閾値がそれぞれ一つ登録されている。他のブロックでも同様であり、同図左端の上から２番目のブロックには第１分類の閾値”１２”，第２分類の閾値”２８”が登録されており、第ｌ分類の閾値がそれぞれ一つ登録されている。ここでは、１６×１６画素のディザマトリクスについて説明したが、むろん、２５６×１２８画素など、他の画素数のディザマトリクスを予め規定することができる。
【００４５】
１６×１６画素であれば閾値の階調数が２５６であってＣＭＹＫの階調数と同一であるが、２５６×１２８画素であれば階調数が多くなる。この場合、上述のようにＣＭＹＫの階調値を定数倍する処理を実行して閾値域とＣＭＹＫの階調値域を合わせればよい。尚、本実施形態において、各ブロックに登録される第ｌ分類の閾値の位置は総て共通である。例えば、第１分類の閾値は各ブロックの左上に登録されている。この構成によれば、後述するハーフトーン画像データを総てのブロックについて共通にすることができ、必要な記憶容量を抑えることができる。
【００４６】
ブロック閾値テーブルデータ１４ｂは、上記ディザマトリクスに登録された閾値の一つを抽出し、昇順に並べたデータである。すなわち、一つのブロックには上記分類のいずれかに含まれる閾値が一つ登録されているので、上述の例では閾値を昇順に並べると、第１分類から第１６分類まで一つずつ閾値が並ぶことになる。図５の左側にはこのブロック閾値テーブルデータを示している。ブロック閾値テーブルデータにおいては、各ブロックについて一つの閾値を抽出しているので、各分類においてブロック閾値テーブルデータがブロックの数だけ存在する。
【００４７】
図５においては、各分類毎の閾値をマトリクス状に配置して示している。従って、各分類においては１６個（＝１６×１６／４×４）の閾値が存在し、全部で１６個の分類についてマトリクス状の閾値が特定されている。具体的には、図５における第１分類の左上の四角形は上記図４に示すディザマトリクスの左上に示すブロック内の最小の閾値（＝０）に該当し、図５における第１分類の左端の上から２段目の四角形は上記図４に示すディザマトリクスの左端の上から２段目に示すブロック内の最小の閾値（＝１２）に該当する。図５における第２分類の左上の四角形は上記図４に示すディザマトリクスの左上に示すブロック内で二番目に小さい閾値（＝１６）に該当し、図５における第２分類の左端の上から２段目の四角形は上記図４に示すディザマトリクスの左端の上から２段目に示すブロック内で二番目に小さい閾値（＝２８）に該当する。
【００４８】
ハーフトーン画像データ１４ｃは、上記ディザマトリクスにおいてディザ処理をした場合のディザ処理後のドット形成状態を示すデータであり、本実施形態においてはドット形成数に対して一通りのデータが保存されている。図５においては、各画素においてドット形成を指定するデータを”１”、ドット非形成を指定するデータを”０”として示している。ハーフトーン処理モジュール３４においては、上記色変換モジュール３３によって色変換されたＣＭＹＫ画像データを取得し、必要に応じて階調値を定数倍した後にこの画像データに対して上記ディザマトリクスデータ１４ａを適用する。
【００４９】
そして、画像データの各画素値についてブロック毎にハーフトーン画像データに変換する処理を行う（ステップＳ１５０）。このとき、ブロック閾値テーブルデータ１４ｂを参照し、ブロック内のいずれかの画素の階調値とブロック閾値テーブルデータ１４ｂの閾値とを昇順に比較するとともに”比較回数−１”をドット形成数として取得し、当該ドット形成数に対応したハーフトーン画像データを採用して変換処理を行う。すなわち、ディザ処理は各ブロックに登録された閾値と画像データの各画素の階調値とを比較して閾値より階調値の方が大きい場合にその画素についてドットを形成するように設定する処理である。また、ディザマトリクスにおいては各ブロックに登録された閾値が異なるが、上述のように各ブロックには各分類の中から閾値が一つしか登録されていない。
【００５０】
従って、ブロック内の全画素が特定の階調値であると想定し、上記ブロック閾値テーブルデータと当該階調値とを比較すれば、”比較回数−１”個がそのブロックでのドット形成数であり、このドット形成数からハーフトーン画像データを得ることができる。本実施形態ではこの考え方を利用してドット形成数を取得するとともに、取得したドット形成数から各ブロックのハーフトーン画像データを決定している。ハーフトーン画像データは上記ドット形成数毎に予め決められているので、この決定の際にはブロック内の全画素についてのドット形成／非形成を一度に確定することができる。
【００５１】
また、あらゆる場合に画像データの各ブロック内の全画素が特定の階調値に等しいと言うことはできないが、上記解像度変換モジュール３２にて拡大処理を行った場合、隣接する数画素はほぼ等しいとすることができる。従って、上記ブロック閾値テーブルデータと階調値とを比較する際に、ブロック内のいずれかの画素の階調値を採用すればよい。これにより、ブロック内の全画素について比較をする必要がなくなり、処理速度を高速化することができる。
【００５２】
ハーフトーン処理モジュール３４において以上のようなハーフトーン処理を行うと、インターレース処理モジュール３５はプリンタ２０のドットの形成順序を考慮しながらドット形成の有無により表現した画像データをプリンタ２０のノズルで使用される順序に並べ替えるインターレース処理を行う（ステップＳ１６０）。そして、最終的に得られた画像データにプリンタ２０の駆動コマンド等を付加して印刷データとし、当該印刷データをプリンタ２０に対して出力する（ステップＳ１７０）。すると、プリンタ２０は、同印刷データを取得し、印刷ヘッドを駆動して各色インクのドットを印刷媒体上に形成する。その結果、ＡＰＬからの画像データに対応したカラー画像が印刷媒体に印刷されることになる。
【００５３】
（４）画像データ処理装置が行う処理の詳細：
次に、上記ハーフトーン処理モジュール３４での処理を実例とともにフローチャートに沿って説明する。図６はハーフトーン処理モジュール３４での処理を示すフローチャートであり、図７は処理の実例を示す説明図である。図７においては、印刷対象のＣＭＹＫ画像データのいずれかの色を画像データＤａ，ディザマトリクスをＭＴ，処理対象のブロックをブロックＢＬとして示している。また、ブロックＢＬ内の画像データを画像データｄａ，画像データｄａに対応するブロック閾値テーブルデータのいくつかをブロック閾値ＢＴｈ，画像データｄａを変換した後のデータをハーフトーン画像データＨＴＤａとして示している。
【００５４】
ハーフトーン処理モジュール３４が、色変換モジュール３３から画像データＤａを取得すると、ハードディスクドライブ１４からディザマトリクスデータ１４ａを読み出し、当該画像データＤａの左上の端にディザマトリクスＭＴを適用する（ステップＳ２００）。ここで、ディザマトリクスＭＴを画像データＤａに適用するとは、画像データＤａの各画素とディザマトリクスＭＴの各閾値とを一対一に対応させることを意味し、図７に示すように画像データＤａがディザマトリクスＭＴより大きい場合には、図７に示す位置における処理が終了した後にディザマトリクスＭＴを移動させていく。
【００５５】
本実施形態においては、ディザマトリクスＭＴを画像データＤａに適用した状態で、さらにディザマトリクスＭＴの一部に相当するブロックＢＬをディザマトリクスＭＴ内で逐次移動させながら本発明にかかる処理あるいは従来の処理を行う。この処理の分岐を行うために拡大済みフラグがＯＮになっているか否かを判別（ステップＳ２０５）し、上述の解像度変換モジュール３２によって拡大がなされたか否かを判別する。同ステップＳ２０５にて拡大済みフラグがＯＮになっていると判別されないときには、画像データにおいて隣接する数画素の階調値が同等の値ではないと見なして、本発明による処理を行わない。すなわち、ブロックＢＬ内の各画素についてディザマトリクスＭＴの閾値と画像データｄａの階調値とを逐次比較してディザ処理を実施する（ステップＳ２１０）。
【００５６】
拡大処理がなされた画像データｄａは、図７に示すように４×４画素程度ではそのほとんどが同等の値になる場合が多い。そこで、ステップＳ２０５にて拡大済みフラグがＯＮになっていると判別されたときには、ブロックＢＬ内の画像データｄａからいずれかの画素を抽出する（ステップＳ２１５）。次に、ブロックＢＬに相当するブロック閾値ＢＴｈをハードディスクドライブ１４から昇順に取得（ステップＳ２２０）し、ブロック閾値ＢＴｈが上記ステップＳ２１５で抽出した画素の階調値より大きいと判別するまでステップＳ２２０の処理を繰り返すループ処理を行う（ステップＳ２２５）。
【００５７】
ここで、データを昇順に取得するとは、ステップＳ２２０，Ｓ２２５によって実行されるループ処理においてループ処理の回数が増えるに従って大きな値のブロック閾値ＢＴｈを取得するという意味である。図７においては、上記図５に示すブロック閾値テーブルデータの値を例にして示している。すなわち、この例ではディザマトリクスＭＴの左上のブロックＢＬに相当するブロック閾値は第１分類から順に”０”，”１６”，”３２”、、、”２４０”になっており、ループの回数が増加するに従って、この数値を大きくする。そして、逐次ブロック閾値ＢＴｈと比較する。
【００５８】
この処理の後、上記ループ処理にて比較を行った回数ｘを取得するとともに”ｘ−１”をブロックＢＬ内のドット形成数として取得する（ステップＳ２３０）。回数ｘは、初期値を”１”としてｘをカウンタにしつつループ処理を行うなどして取得することができる。ハーフトーン画像データＨＴＤａは上述のようにドット形成数毎に記憶されているので、上記ハードディスクドライブ１４から上記取得したドット形成数に該当するハーフトーン画像データＨＴＤａを読み出し、画像データｄａをハーフトーン画像データＨＴＤａに変換する（ステップＳ２３５）。
【００５９】
図７に示す例では、ステップＳ２１５において画像データｄａから階調値１８の画素を抽出し、ステップＳ２２５においてブロック閾値ＢＴｈと比較している状態を想定している。この状態において、階調値１８は第２分類のブロック閾値ＢＴｈ１６と第３分類のブロック閾値ＢＴｈ３２の間に存在する。従って、上記ステップＳ２２５における比較回数は３になり、画像データｄａはドット形成数”２”のハーフトーン画像データＨＴＤａに変換されることになる。
【００６０】
以上の処理の結果、ブロックＢＬの全画素を３回の比較のみで２値化したことになる。本実施形態において、ブロック閾値ＢＴｈはブロックＢＬの画素数と等しい個数に分類されているので、上記ステップＳ２２０，Ｓ２２５におけるループ処理の最大繰り返し回数はブロックＢＬの画素数と等しい。従来の逐次的な比較によるディザ処理ではブロックＢＬの画素数分の比較を行うが、本実施形態においては最大でも従来のディザ処理と同数回の比較しか行わない。ほとんどの場合は従来のディザ処理より少ない比較回数で処理を終了する。従って、非常に高速にブロック毎のハーフトーン画像データＨＴＤａを決定することができる。
【００６１】
ブロックＢＬについてハーフトーン画像データＨＴＤａを決定した後には、ディザマトリクスＭＴ内に想定しうる総てのブロックについて画像データｄａをハーフトーン画像データＨＴＤａに変換する処理を終了したか否かを判別する（ステップＳ２４０）。そして、ステップＳ２４０にて総てのブロックについて処理が終了したと判別されなければ、次のブロックに移動、すなわちディザマトリクスＭＴ内の未処理の領域にブロックＢＬを設定（ステップＳ２４５）してステップＳ２１５以降の処理を繰り返す。
【００６２】
この処理によってディザマトリクスＭＴ内の画像データの全画素について変換処理を行った後には、全画像データＤａについてハーフトーン画像データＨＴＤａに変換する処理を終了したか否かを判別する（ステップＳ２５０）。そして、ステップＳ２５０にて全画像データＤａについて処理が終了したと判別されなければ、ディザマトリクスＭＴを移動、すなわち画像データＤａ内の未処理の領域にディザマトリクスＭＴを設定（ステップＳ２５５）してステップＳ２０５以降の処理を繰り返す。以上の結果、非常に高速に画像データを２値化することができる。
【００６３】
（５）他の実施形態：
上記実施形態は本発明にかかる画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび印刷制御装置を実現する一例であり、むろん他の構成を採用することも可能である。すなわち、上記実施形態においては、本発明に含まれる複数の技術的思想を反映したディザマトリクスを採用し、このディザマトリクスに基づくハーフトーン処理を行っていた。例えば、ディザマトリクスの一部に相当するブロック毎に閾値と階調値とを比較してブロック毎にハーフトーン画像データを割り当てる点、ディザマトリクス上の階調をＬ分類して各分類から一階調ずつ抽出して各ブロックに登録する点、各ブロックに登録される第ｌ分類の閾値の位置は総て共通である点等を反映した構成になっている。
【００６４】
しかし、これらの一部あるいは一部の組み合わせを反映させた構成や他の技術的思想と組み合わせた構成を採用しても良い。具体的には、上記図４に示すディザマトリクスデータにおいて、各ブロック内の閾値は登録すべき位置や分類が決まっていたが、これらと全く無関係に従来のディザマトリクス、例えば、閾値をランダムに配置したマトリクスを採用しても良い。この場合、各ブロック内の閾値の配置が異なるため、総てのブロックについて一つのドット形成数に対して共通の一つのハーフトーン画像データが対応するとは言えない。
【００６５】
しかし、閾値の配置は考えずに一つのドット形成数に対して一つのハーフトーン画像データを対応させておけば、少なくとも、各ブロックから閾値を順番に抽出して作成したブロック閾値テーブルデータを参照して上記図６に示す処理を行うことにより、高速にハーフトーン処理を実施することが可能になる。また、上述のように各ブロックに登録される第ｌ分類の閾値の位置を総て共通にすることにより、ドット形成数毎に一つのハーフトーン画像データを記憶するだけで充分となり、さらに、ドット形成数を取得するのみで総てのブロックにおいてディザマトリクスの階調値パターンに確実に合致したハーフトーン画像データを決定することが可能になる。
【００６６】
さらに、ディザマトリクス上の階調をＬ分類して各分類から一階調ずつ抽出して各ブロックに登録する構成と他の構成と組み合わせることにより非常に高速に処理を行うことが可能になる。その具体的な構成としては、図６に示すフローチャートにおいてステップＳ２２０，Ｓ２２５の代わりに以下の処理を行う構成を採用可能である。すなわち、予め各画素の階調値域をＬ個に分類しておき、ステップＳ２１５で取得した一画素の階調値がいずれの分類に入るのかを判別する。上記ブロック閾値テーブルデータ１４ｂにおいても閾値がＬ個に分類されているので、上記階調値が第ｘ分類に含まれるとすれば、この階調値と比較すべき閾値はブロック閾値テーブルデータ１４ｂにおける第ｘ分類である。
【００６７】
そこで、第ｘ分類のブロック閾値テーブルデータ１４ｂと上記ステップＳ２１５で取得した一画素の階調値とを比較すれば、この一回の比較処理のみでドット形成数を特定することができる。すなわち、閾値より階調値が小さい場合にドット形成数をｘ個、閾値より階調値が大きい場合にドット形成数を（ｘ＋１）個とすることができ、この結果、一回の比較処理のみでハーフトーン画像データを決定することができる。従って、非常に高速にハーフトーン処理を実施することができる。
【００６８】
さらに、この構成に加え、ディザマトリクスデータの各ブロックに登録される各閾値において、第ｘ分類（ｘは１からＬの自然数）の閾値と第（ｘ＋１）分類の閾値との数値間隔を一定にすれば、ブロック閾値テーブルデータ１４ｂを記憶するための記憶容量を非常に少なくすることができる。すなわち、ブロック閾値テーブルデータ１４ｂにおいては、Ｎ×Ｍ個の階調をＬ個（Ｌ＝ｎ×ｍ）に分類するとともに各分類から一階調ずつ抽出して各ブロック内の閾値としている。
【００６９】
従って、この規則に加えて隣り合う分類の閾値の数値間隔を一定にすれば、各ブロックについて少なくとも閾値を一つ記憶しておくことにより、他の閾値は演算にて算出することができる。例えば、第ｘ分類の閾値＝第１分類の閾値＋（ｘ−１）×Ｎ×Ｍ／ｎ／ｍとすればよい。これにより、ブロック閾値テーブルデータ１４ｂを記憶するために必要な記憶容量を非常に少なくすることができる。以上のように技術的思想の一部を利用したりその組み合わせを利用したりすることが可能であり、組み合わせによれば記憶容量の低減と処理速度の高速化を同時に実現することができる。
【００７０】
さらに、上記実施形態においては、各ブロックのドット形成数を取得することによってドット形成数が何個であっても高速に処理できるようにしていたが、特定のドット形成数について高速化することも可能である。例えば、閾値の最小値とブロック内のいずれかの画素の階調値とを比較し、閾値の最小値が当該階調値より大きければブロック内の全画素をドット非形成にする構成を採用しても処理速度を高速化することができる。また、閾値の最大値とブロック内のいずれかの画素の階調値とを比較し、閾値の最大値が当該階調値より小さければブロック内の全画素でドットを形成する構成を採用しても処理速度を高速化することができる。
【００７１】
さらに、ディザマトリクスの大きさ（画素数）としても上記図４に示すものに限られないし、大きさの変動に伴ってディザマトリクスに登録する閾値の値域を変動させることも可能である。また、各ブロックにおいて同じ分類に属する閾値を同じ位置に登録することが必須というわけではない。この場合には、各ブロック毎に別個のハーフトーン画像データを予め記憶しておき、ドット形成数を取得するとともに各ブロックに対応したハーフトーン画像データに変換すればよい。
【００７２】
この構成によれば、各ブロックでドット形成パターンに差異を持たせることができるので、印刷物において特定のドットパターンを生じさせることはなく、より自然な印刷結果を得ることができる。むろん、各ブロックにおいて同じ分類に属する閾値が必ず一つ存在するように構成するのではなく、分類を考慮せず、マトリクス内で閾値をまばらに分散させてディザマトリクスを構成しても良い。
【００７３】
さらに、本実施形態において、上記ブロックでの処理が終了すると未処理のブロックに対して処理を行うが、各ブロックを処理する際の順序は特に限定されない。むろん、ディザマトリクスも同様であり、未処理の画像データに対してディザマトリクスを移動させる際に、処理する順序は特に限定されない。
【００７４】
さらに、上記実施形態においては、ブロック閾値テーブルデータとブロック内の一画素分の階調値とを比較することによってドット形成数を取得していたが、むろん、ドットを形成しない画素の数に主眼をおいてもドット形成数に基づく処理と実質的に等価である。ドット非形成数はブロック内の画素数−ドット非形成数となるからである。ドット非形成数に主眼をおく場合には上記図６のステップＳ２２０において現在のブロックのブロック閾値データを降順に取得し、ステップＳ２２５において閾値が階調値より小さいことを判別すればよい。この結果、比較回数−１がドット非形成数になる。
【００７５】
画像データをハーフトーン画像データに変換するためには、ドット非形成数毎にハーフトーン画像データを記憶しておいても良いし、ドット非形成数からドット形成数を算出し、ブロック内の画像データをドット形成数に対応づけられたハーフトーン画像データに変換しても良い。さらに、比較回数を少なくするという意味では、ドット形成数の分布を考慮した構成にしても良い。すなわち、画像データの階調値に基づいてドット形成数が少ないことがはじめから分かっているときには、上記ステップＳ２２０のようにブロック閾値データを昇順に取得するループを行う。ドット形成数が少ないと言うことは、ステップＳ２２５での比較回数が少ないことを意味するので、高速に処理を行うことができる。
【００７６】
ドット非形成数が少ないこと（あるいはドット形成数が多いこと）がはじめから分かっているときには、ステップＳ２２０においてブロック閾値データを降順に取得するループを行う。この場合は降順に比較した方が早期にブロック閾値＜階調値という条件を満たす状態を発見できるので、少ない比較回数で高速に処理を行うことができる。ドット形成数が少ないという条件は画像データの画素が低階調（高明度）の場合が該当し、ドット非形成数が少ないという条件は画像データの画素が高階調（低明度）の場合が該当する。
【００７７】
従って、画像データから抽出した一画素の階調値が低明度域に属するか高明度域に属するかを判別した上で、ブロック閾値データの比較順序を決定しても良い。より具体的な例としては、階調値が階調値域の中央値より低階調側にあるときはブロック閾値データを昇順に比較し、高階調側にあるときはブロック閾値データを降順に比較する構成等を採用可能である。むろん、中央値で分ける構成のみではなく種々の指標に基づいて低階調域と高階調域とを分けることができる。例えば、高階調になるほど単位階調変化に対する明度の低下度合いが鈍くなるインクの特性を考慮して、インクによって表現可能な明度域を２つに分割して高明度域と低明度域とを分けても良い。
【００７８】
さらに、上述のステップＳ２１５においてはブロック内での一画素分の階調値を抽出することができれば良く、他にも種々の手法によって一画素分の階調値を抽出可能である。例えば、ブロック内の画素の総てあるいは一部について階調値を平均化してあたいでも良いし、上述の解像度変換モジュール３２によって拡大処理が施される前の元画像の階調値を取得しても良い。
【００７９】
さらに、上記実施形態では、拡大済みフラグがＯＮになっているか否かによって従来の逐次比較によるディザ処理を実行するか、本発明にかかる処理を実行するかを分岐していたが、むろん、逐次比較によるディザ処理を行わないで、本発明にかかる処理のみを実施する専用の装置等を構成することも可能である。この場合には、上記ディザマトリクスデータ記憶手段にディザマトリクスデータ１４ａを保存しておくことが必須にはならず、ディザマトリクスＭＴから予めブロック閾値テーブルデータ１４ｂを決定し、当該ブロック閾値テーブルデータ１４ｂのみを保存しておく構成を採用しても良い。
【図面の簡単な説明】
【図１】画像データ処理装置の概略構成を示す図である。
【図２】プリンタドライバの概略構成を模式的に示す図である。
【図３】画像データ処理装置が行う処理のゼネラルフローである。
【図４】ディザマトリクスの例を簡易的に示す図である。
【図５】ブロック閾値テーブルデータとハーフトーン画像データとを示す図である。
【図６】ハーフトーン処理を示すフローチャートである。
【図７】ハーフトーン処理の実例を示す説明図である。
【符号の説明】
１０…ＰＣ、１０ａ…システムバス、１４…ハードディスクドライブ、１４ａ…ディザマトリクスデータ、１４ｂ…ブロック閾値テーブルデータ、１４ｃ…ハーフトーン画像データ、２０…プリンタ、３０…プリンタドライバ、３１…画像データ取得モジュール、３２…解像度変換モジュール、３３…色変換モジュール、３４…ハーフトーン処理モジュール、３５…インターレース処理モジュール
【図１】
2004241850.tif 000003
【図２】
2004241850.tif 000004
【図３】
2004241850.tif 000005
【図４】
2004241850.tif 000006
【図５】
2004241850.tif 000007
【図６】
2004241850.tif 000008
【図７】
2004241850.tif 000009