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