JP2004241850A - 画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび印刷制御装置 - Google Patents
画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび印刷制御装置 Download PDFInfo
- Publication number
- JP2004241850A JP2004241850A JP2003026386A JP2003026386A JP2004241850A JP 2004241850 A JP2004241850 A JP 2004241850A JP 2003026386 A JP2003026386 A JP 2003026386A JP 2003026386 A JP2003026386 A JP 2003026386A JP 2004241850 A JP2004241850 A JP 2004241850A
- Authority
- JP
- Japan
- Prior art keywords
- image data
- block
- pixels
- value
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Color, Gradation (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】ハーフトーン処理においてさらなる高速化が望まれていた。
【解決手段】複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータを記憶しておき、n×m(n,mは自然数)画素からなるブロック毎に当該ディザマトリクスに規定された閾値と上記画像データの各画素の階調値とを比較するに当たり、当該ブロック内の閾値の最小値およびまたは最大値と当該ブロック内での一画素分の階調値とを比較し、当該階調値より閾値の最小値の方が大きい場合にはブロック内の全画素についてドットを形成しないように指定し、当該階調値より閾値の最大値の方が小さい場合にはブロック内の全画素についてドットを形成するように指定したハーフトーン画像データを生成する。
【選択図】 図7
【解決手段】複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータを記憶しておき、n×m(n,mは自然数)画素からなるブロック毎に当該ディザマトリクスに規定された閾値と上記画像データの各画素の階調値とを比較するに当たり、当該ブロック内の閾値の最小値およびまたは最大値と当該ブロック内での一画素分の階調値とを比較し、当該階調値より閾値の最小値の方が大きい場合にはブロック内の全画素についてドットを形成しないように指定し、当該階調値より閾値の最大値の方が小さい場合にはブロック内の全画素についてドットを形成するように指定したハーフトーン画像データを生成する。
【選択図】 図7
Description
【0001】
【発明の属する技術分野】
本発明は、画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび印刷制御装置に関する。
【0002】
【従来の技術】
従来、画像を印刷する際には、画像をドットマトリクス状の画素で多階調表現した画像データを入力し、プリンタで表現可能な階調数に合わせるため、入力画像データをドット形成の有無により各画素の階調を表現したハーフトーンデータに変換する。このハーフトーン処理としては、比較的低速であるが比較的高画質の画像が得られる誤差拡散法や比較的高速であるが比較的低画質の画像が得られるディザ法等、種々の手法が知られている(例えば、特許文献1参照。)。
【0003】
【特許文献1】
特開2002−185789号公報
【0004】
【発明が解決しようとする課題】
上述した従来のハーフトーン処理においては、さらなる高速化が望まれていた。すなわち、近年のプリンタの高性能化に伴って印刷時の解像度が飛躍的に向上し、高解像度の画像を印刷するために非常に多数の画素数からなる画像を印刷することが可能になった。このように多数の画素数からなる画像を印刷する場合には非常に多数の演算を繰り返すため、多くの時間を必要とし、印刷処理の全時間に大きな影響を与えてしまう。
本発明は、上記課題にかんがみてなされたもので、高速にハーフトーン処理を実行可能な画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび印刷制御装置の提供を目的とする。
【0005】
【課題を解決するための手段および発明の効果】
上記目的を達成するため、本発明ではディザ処理において冗長な比較処理を排除する。このために、画像データ処理装置では、ハーフトーン処理手段においてディザマトリクスの各ブロックで閾値の最小値に満たない階調値や閾値の最大値を超える階調値についてはブロック内の全画素における比較を行わない。すなわち、閾値より階調値の方が大きな場合にその画素についてはドットを形成し、閾値より階調値の方が小さな場合にその画素についてはドットを形成しないような構成において階調値が閾値の最小値に満たない場合は全画素についてドットを形成しない。
【0006】
従って、ドットを形成する画素のブロック内での位置を識別することなくブロック内の全画素についてドットを形成しないことにして次のブロックでの処理に移ることができる。同様に、階調値が閾値の最大値に満たない場合は全画素についてドットを形成しないので、ドットを形成しない画素のブロック内での位置を識別することなくブロック内の全画素についてドットを形成することにして次のブロックでの処理に移ることができる。このように、本発明ではディザマトリクスの閾値と画像データの階調値とについて不要な比較をすることなく次のブロックでの処理に移ることができ、処理速度を高速化することができる。
【0007】
本発明におけるハーフトーン処理では、ディザマトリクスデータに従ってドット形成の有無を指定することができればよいので、単純な構成としてはドットを形成する状態と形成しない状態との2つの状態を形成すればよいが、むろん、ドット径の大きさを変動させて1画素につき4階調有するような構成に適用しても良い。また、ディザマトリクスデータにおいては画像データの階調値と比較される閾値を登録していればよく、画像データの階調値と閾値とを直接比較する場合は、両者の値域が一致している必要があるが、階調値と閾値とのいずれかを定数倍してから比較しても良く、この場合、定数倍する前に値域が一致している必要はない。
【0008】
上記ブロックはn×m画素の画素から構成されていればよく、これらの画素はディザマトリクスの一部である。すなわち、ディザマトリクスではn×m画素より多数の画素について閾値を規定している。ディザマトリクスの全体について閾値と画像データの階調値とを比較する場合には、画素の総てがドット形成あるいはドット非形成になることは非常にまれであるが、ディザマトリクスより小さな領域であるブロック毎に閾値と画像データの階調値とを比較することによって、ブロック内の総てがドット形成あるいはドット非形成となる状態を作り出すことができる。従って、ブロック毎の比較をすることによって冗長な処理を排除することが可能になる。
【0009】
本発明ではブロック内での一画素分の階調値とブロック内の閾値の最小値あるいは最大値を比較することができればよい。一画素分の階調値としては後述するようにブロック内のいずれかの画素の階調値やブロック内の画素の平均階調値等を採用可能である。むろん、ブロック内の画素の階調値について最小値や最大値を取得して階調値の最小値と閾値の最大値とを比較し、階調値の最大値と閾値の最小値とを比較しても良い。
【0010】
また、閾値の最小値や最大値に基づいて冗長な処理を排除するとともにこれら最小値や最大値以外の閾値について冗長な処理を排除する構成を採用することも可能である。このために、ディザ処理後のハーフトーン画像データを予めブロック内のドット形成数毎に記憶しておき、各ブロック毎の処理に際してディザ処理後のドット形成数を取得すれば、画素毎の逐次的な比較をすることなくハーフトーン画像データを得ることができ、非常に高速にディザ処理を行うことができる。
【0011】
すなわち、予めドット形成数毎にディザ処理後のハーフトーン画像データを記憶しておく。そして、階調値と閾値とを比較したとしたら合計何個のドットを形成することになるか、あるいはドットを形成しない画素が何個あるかを各ブロック毎に取得する。ドット形成数が判明すれば、ブロック内の画像データを当該ドット形成数に対応したハーフトーン画像データに変換することにより、ディザ処理において各画素の閾値と画像データの階調値とを逐一比較することなく各ブロック内のドット形成、非形成を決定することができる。
【0012】
各ブロック毎の閾値は予め決定されており、この閾値からディザ処理後のハーフトーン画像データをドット形成数毎に予め決定することができる。各ブロック毎に当該ディザ処理後のハーフトーン画像データを変更しても良いし、各ブロック毎に共通にしても良い。ディザマトリクスデータに登録する閾値の大小関係の順序および位置を各ブロック毎に共通にしておけば、ディザ処理後のハーフトーン画像データを全ブロック共通にすることができる。
【0013】
以上のように、ドット形成数毎にディザ処理後のハーフトーン画像データを記憶することにより、逐次的な閾値判別をすることなく画像データをハーフトーン画像データに変換することができる。むろん、この処理は、上述のように閾値の最小値に満たない階調値や閾値の最大値を超える階調値についてブロックの全画素についてドットを形成せず、あるいは全画素についてドットを形成する処理も含んでいる。
【0014】
予め記憶するディザマトリクスデータの構成例として、N×M画素(N,Mは自然数)の閾値を規定し、その中にn×m画素からなる各ブロックを考え、当該ブロック内のデータはN×M個の階調をL個(L=n×m)に分類するとともに各分類から一階調ずつ抽出して閾値とすることもできる。この構成を採用すると、閾値が属するL個の分類からそれぞれ一つずつのみが各ブロックに登録されることになる。従って、閾値は各ブロックに対してまばらに振り分けられ、ディザ処理後に画像の位置によってドット形成に差異が生じにくくなる。さらに、各ブロックにL個の分類のそれぞれが登録されているので、L個の分類のうち第x分類(xは1〜L)に入る閾値の位置を各ブロック毎に共通の値にすれば、上記ディザ処理後のハーフトーン画像データを全ブロックについて共通にすることができる。また、この構造のディザマトリクスデータであれば上述の請求項8と組み合わせて非常に高速にドット形成数を決定することが可能になる。
【0015】
さらに、ディザマトリクスデータにおいて、各ブロックに登録される閾値相互のピッチを一定にしても良い。すなわち、第x分類(xは1からLの自然数)の閾値と第(x+1)分類の閾値との数値間隔を一定とする。具体的には、(第1分類の閾値+(x−1)×N×M/n/m)などの式によって第x分類の閾値を決定することができる。この式によれば、第1分類の閾値を決定するのみで残りの閾値をディザマトリクスデータの画素数およびブロックの画素数によって算出することができる。従って、第1分類の閾値のみを記憶すれば充分であり、ディザマトリクスデータのために必要とされる記憶容量を抑えることができる。
【0016】
さらに、ディザマトリクスデータとしては、上記ブロックのいずれにおいても第L分類の閾値を同じ位置の画素に対応させたデータとすることが好ましい。かかる構成によれば、ドット形成数が同じ場合にディザマトリクスデータに基づいて決定されるハーフトーン画像データも同じになる。従って、ドット形成数の値毎に一つのハーフトーン画像データを記憶するのみで充分な構成を確実に構築することができる。この結果、ハーフトーン画像データを記憶するための記憶容量を抑えることができる。
【0017】
さらに、ドット形成数取得手段においては各ブロック毎にドット形成数あるいはドット非形成の数を取得すれば良く、種々の構成を採用可能である。その一例として、各ブロックに登録された閾値を昇順あるいは降順に並べたブロック閾値テーブルデータを利用することができる。このブロック閾値テーブルデータは、各ブロック内に登録された閾値の最小値を抽出してマトリクス状に並べることにより第1のブロック閾値テーブルデータとし、2番目に小さい閾値を抽出してマトリクス状に並べることにより第2のブロック閾値テーブルデータとするなどして形成することができる。この場合、ブロック閾値テーブルデータは、ディザマトリクスデータがN×M画素であり、各ブロックの画素がn×m画素であるときに(N/n)×(M/m)個の要素からなるマトリクスが昇順あるいは降順にn×m個形成される。
【0018】
このブロック閾値テーブルデータを記憶していれば、上記ブロック内での一画素分の階調値と当該ブロック閾値テーブルデータとを比較することによってドット形成数を取得することができる。すなわち、ブロック内での一画素の階調値とブロック閾値テーブルデータの閾値とを閾値が小さい方から順に(昇順に)比較すれば、第x番目の閾値についての比較で階調値が閾値を下回ったときにドット形成数がx−1(比較回数−1)とすることができる。
【0019】
むろん、降順でも同様であり、ブロック内での一画素の階調値とブロック閾値テーブルデータの閾値とを閾値が大きい方から順に比較すれば、第x番目の比較で階調値が閾値を上回ったことによってドット非形成数をx−1(比較回数−1)とすることができる。従って、この場合、ドット形成数は(n×m+1−比較回数)個とすることができる。比較回数は最大でn×m(各ブロックについてのブロック閾値テーブルデータの数)個であるから、最大でも閾値と階調値との逐次的な比較での処理回数と同じであるし、ほとんどの場合それより少ない処理回数で次のブロックの処理へ移行することができる。従って、ハーフトーン処理の速度が非常に速くなる。
【0020】
この構成において、階調値が閾値を下回るあるいは上回ることを少ない比較回数で見つけることができれば、より速度を向上することができる。このために、ブロック内での一画素分の階調値が所定の低階調域にあるときは当該階調値を上記閾値と昇順に比較し、上記ブロック内での一画素分の階調値が所定の高階調域にあるときは当該階調値を上記閾値と降順に比較すると好ましい。すなわち、低階調域であればドット形成数は少なく、高階調域ではドット非形成数が少ないので、低階調域で昇順、高階調域で降順に比較すれば、非常に早い段階で閾値と階調値との比較を終了することができる。低階調域はドット形成数が少ない領域であり、高階調域はドット形成数が多い領域であれば良く、画像データの階調値域を2分して階調値が小さい方の階調域に属する場合は低階調域とし、大きい方の階調域に属する場合は高階調とするなど種々の構成を採用可能である。
【0021】
さらに、ドット形成数を取得する他の構成として、ブロック閾値テーブルデータにおける閾値および画像データの階調値域を上記ブロック内の画素数で除してL個に分類し、階調値が第x分類(xは1からLの自然数)に含まれるときに第x分類の閾値と比較し、閾値より階調値が小さい場合にドット形成数をx個、閾値より階調値が大きい場合にドット形成数を(x+1)個としてもよい。すなわち、ドット形成数を決定するために階調値と比較する閾値として最も重要なものは階調値前後の閾値である。そこで、上記分類によって比較すべき閾値を類推することにより、高速に比較すべき閾値を発見することができ、閾値と階調値とを順次比較してドット形成数を決定する構成より非常に高速に処理を行うことができる。尚、階調値域をL個に分割する際にその分割手法は種々の手法を採用可能であるが、均等に分割したり、ドット形成数の増加とともに明度の低下率が鈍くなるインクの一般的性質に鑑みて低階調域では階調を細かく分割する構成にしても良い。
【0022】
本発明においては各ブロックの閾値の最小値,最大値やブロック閾値テーブルデータをブロック内での一画素分の階調値と比較するに当たり、一画素分の階調値として一画素相当の値であれば種々の値を採用することができる。例えば、ブロック内にあるいずれかの画素の階調値を採用することができる。n×m画素のブロックとして、数個から数十個程度であれば、近年のデジタルスチルカメラの画像等多くの画像において階調値が非常に似通っていると言える。従って、ブロック内の画素のいずれかを代表として採用しておけば、非常に簡易的かつ高速にブロック内のドット形成状態を決定することが可能になる。
【0023】
ブロック内の画素の階調値が似通っている状態の画像データとしては、補間処理後の画像データが挙げられる。例えば、ニアリスト補間処理であればある画素の階調値がそのまま隣の画素の階調値になるし、バイリニア,キュービック補間等を利用したとしても隣接画素の階調値が劇的に異なることはまれである。従って、補間処理後の画像データであれば、数個から数十個程度のブロック内のいずれかの画素について本発明による処理を行うのみでハーフトーン処理を実行することが可能になる。むろん、他にも種々の構成を採用することが可能であり、ブロック内にある画素の階調値の平均値を採用することも可能である。
【0024】
ところで、上述した画像データ処理装置は、単独で実施される場合もあるし、ある機器に組み込まれた状態で他の方法とともに実施されることもあるなど、発明の思想としては各種の態様を含むものであって、適宜、変更可能である。また、上述した画像データを変換する際の手法は、所定の手順に従って処理を進めていくうえで、その根底にはその手順に発明が存在するということは当然である。したがって、本発明は方法としても適用可能であり、請求項12,請求項13にかかる発明においても、基本的には同様の作用となる。
【0025】
本発明を実施しようとする際に、画像データ処理装置にて所定のプログラムを実行させる場合もある。そこで、そのプログラムとしても適用可能であり、請求項14,請求項15にかかる発明においても、基本的には同様の作用となる。さらに、変換後の画像データに基づく画像を印刷する印刷手段を備える印刷制御装置としても適用可能であり、請求項16,請求項17にかかる発明においても、基本的には同様の作用となる。
【0026】
むろん、請求項2〜請求項11に記載された構成を上記方法やプログラムや印刷制御装置に対応させることも可能であることは言うまでもない。また、いかなる記憶媒体もプログラムを提供するために使用可能である。例えば、磁気記録媒体や光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一部がソフトウェアであって、一部がハードウェアで実現される場合においても本発明の思想において全く異なるものではなく、一部を記録媒体上に記録しておいて必要に応じて適宜読み込む形態のものも含まれる。さらに、一次複製品、二次複製品などの複製段階については全く問う余地なく同等である。
【0027】
【発明の実施の形態】
以下、下記の順序に従って本発明の実施形態を説明する。
(1)画像データ処理装置の構成:
(2)画像データ処理プログラムの概略構成:
(3)画像データ処理装置が行う処理の概略:
(4)画像データ処理装置が行う処理の詳細:
(5)他の実施形態:
【0028】
(1)画像データ処理装置の構成:
図1は、本発明の第一の実施形態にかかる画像データ処理装置の概略構成を示している。画像データ処理装置は汎用的なパーソナルコンピュータ(PC)10によって構成されている。同PC10は演算処理の中枢をなすCPU11を備えており、このCPU11はシステムバス10aを介してPC10全体の制御を行う。同システムバス10aには、ROM12、RAM13、ハードディスクドライブ14やCD−ROMドライブ15、入力インターフェイス(入力I/F)16、CRTインターフェイス(CRTI/F)17、通信インターフェイス(通信I/F)18、プリンタインターフェイス(プリンタI/F)19等が接続されている。
【0029】
本実施形態のPC10はいわゆるデスクトップ型PCであり、構成を簡略化して説明している。むろん、PC10にはコンピュータとして一般的な構成を有するものを採用することができ、ノート型であるとか、モバイル対応のものであってもよい。また、画像データ処理装置に適用可能なコンピュータは、PCに限定されるものではないし、複数のコンピュータによる分散処理を行う構成であっても良い。
【0030】
ハードディスクドライブ14には、ソフトウェアとしてオペレーティングシステム(OS)や文書情報や画像情報を作成可能なアプリケーションプログラム(APL)等が格納されており、これらのソフトウェアは、実行時にCPU11によって適宜RAM13に転送される。そして、CPU11は、RAM13を一時的なワークエリアとして適宜アクセスしながら種々のプログラムを実行することになる。
【0031】
入力I/F16には、キーボード16aやマウス16bが操作用入力機器として接続されるとともに、図示しないスキャナやデジタルカメラ等も接続されるようになっている。また、CRTI/F17には、表示用のディスプレイ17aが接続されている。さらに、プリンタI/F19には、パラレルI/Fケーブルを介してプリンタ20が接続されている。むろん、プリンタ20との接続I/FはパラレルI/Fに限られる必要もなく、シリアルI/FやSCSI、USB接続など種々の接続態様を採用可能であるし、今後開発されるいかなる接続態様であっても同様である。
【0032】
なお、本発明の画像データ処理プログラムを記憶したハードディスクドライブ14は画像データ処理プログラムを記録した媒体となるが、本画像データ処理プログラムを格納可能な記録媒体はハードディスクに限定されるものではない。例えば、CD−ROMやフレキシブルディスクであってもよい。これらの記録媒体に記録されたソフトウェアはCD−ROMドライブ15や図示しないフレキシブルディスクドライブを介して読み込まれ、ハードディスクドライブ14にインストールされて、CPU11によってRAM13上に読み込まれて各種処理が実行されることになる。また、記録媒体は、これらに限定されず、光磁気ディスクや半導体デバイスである不揮発性メモリなどであってもよい。さらに、システムバス10aに接続されたモデム等の通信I/F18をインターネット網に接続し、種々のプログラムを格納したサーバにアクセスして本画像データ処理プログラムをダウンロードすることも可能である。
【0033】
本実施形態で使用するプリンタ20は、インクジェットプリンタであり、カラー印刷時に、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)、の計4色の色インクを使用することができる。むろん、ライトシアン(lc)やライトマゼンタ(lm)を使用して6色にすることもできるし、さらにダークイエロー(DY)を加えて7色にすることもできる。複数色のカラートナーを使用するレーザープリンタを使用することもできる。いずれにしても、PC10ではプリンタ20にて解釈可能な印刷実行データを作成し、プリンタI/F19を介して出力する。プリンタ20では当該印刷実行データに基づいて画像を構成する各画素についてインクを記録することによって画像を印刷する。
【0034】
(2)画像データ処理プログラムの概略構成:
PC10では、以上のハードウェアを基礎としてバイオスが実行され、その上層にてOSとAPLとが実行される。基本的には、OSがバイオスを介するか直にハードウェアとアクセスし、APLはOSを介してハードウェアとデータなどのやりとりを行う。OSにはハードウェアを制御するための各種のドライバ類が組み込まれ、OSの一部となって各種の制御を実行する。このドライバ類は、CRTI/F17を制御するディスプレイドライバや、プリンタI/F19を制御するプリンタドライバ30等である。同プリンタドライバ30には本発明の画像データ処理プログラムが含まれており、本画像データ処理プログラムの各種機能を有するPC10は本発明にいう画像データ処理装置となる。
【0035】
プリンタドライバ30は、APLの印刷機能の実行時に稼働され、プリンタI/F19を介してプリンタ20と双方向の通信を行うことが可能である。同プリンタドライバ30は、OSを介してAPLから画像データを受け取ってプリンタ20に対して出力する印刷データに変換し、印刷ジョブとしてプリンタ20に送出する。このため、OSには、グラフィックスに関してAPLとOSとの間でグラフィックユーザーインターフェイス機能を実現するGDI(Graphics Device Interface )等も組み込まれている。
【0036】
図2は、上記プリンタドライバ30の概略構成を模式的に示している。図において、プリンタドライバ30は、画像データ取得モジュール31、解像度変換モジュール32、色変換モジュール33、ハーフトーン処理モジュール34、インターレース処理モジュール35を備えており、図示しない機能制御モジュールの制御に基づいて所定の機能を実現しつつ連携動作して画像データをハーフトーン画像に変換することが可能である。変換されたハーフトーン画像では印刷画像における各画素についてドット形成およびドット非形成が指定されており、これらの指定に基づいて印刷を実行する印刷実行データを生成、出力する。
【0037】
(3)画像データ処理装置が行う処理の概略:
図3は、画像データ処理装置が行う処理のゼネラルフローである。ここでは、当該図3および図2によって処理の概略を説明する。上記APLにて印刷指示がなされると、画像データ取得モジュール31は、APLにて作成されたRGB各色の画像データを取得する(ステップS100)。同画像データは、RGBの各色毎に画像をドットマトリクス状の画素で多階調表現したデータである。解像度変換モジュール32は補間演算処理を実行可能であり、上記取得した画像データにおける画素数とプリンタ20にて印刷を行う際の画素数とが異なる場合に補間演算処理によって画像を拡大あるいは縮小する。縮小の際には間引き処理を行っても良い。
【0038】
解像度変換モジュール32は、上記APLによる印刷指示に含まれる印刷解像度の情報から必要な画素数を算出し、上記取得した画像データの画素数とを比較して解像度変換処理が必要であるか否かを判別する(ステップS110)。同ステップS110にて解像度変換処理が必要と判別され、拡大処理が実行される際には所定の拡大済みフラグをONにし(ステップS120)、補間処理によって画像の解像度を変換する(ステップS130)。上記ステップS110にて解像度変換処理が必要であると判別されないときにはステップS120,S130はスキップする。尚、近年のインクジェットプリンタの解像度は非常に高解像度になっており、現在の高画質デジタルスチルカメラにおける画像であってもL版写真サイズの印刷時に補間が必要であることが通常であり、ほとんどの場合に拡大処理が行われる。
【0039】
色変換モジュール33は、上記RGBの各色からなる画像データをCMYKの色インクのそれぞれに対応したデータに変換する(ステップS140)。このとき、LUT(ルックアップテーブル)と呼ばれる色変換テーブルを参照して画像データを変換する。本実施形態のLUTは、256階調のRGBそれぞれの階調値をCMYKそれぞれについて256階調とされた階調値に対応させたテーブルであり、例えば、17×17×17の格子点に対応した大量のデータを備えている。変換された画像データも、画像をドットマトリクス状の画素で多階調表現したデータであり、階調値が大きくなるほどCMYK各成分が大きくなるようにしてある。したがって、階調値が大きくなるほど、印刷媒体上に形成されるドット密度は大きくなる。
【0040】
尚、本実施形態では、CMYKに基づく画像データの階調数も各8ビットを割り当てて階調値0から255の256階調としているが、256階調以外にも様々な階調とすることが可能であることは言うまでもない。さらに、本実施形態では後述するディザマトリクスに登録された閾値の値域にCMYKの階調値域を合わせている。階調値域を合わせるためには上記CMYKの階調値を定数倍するなどの処理を行えばよい。
【0041】
ハーフトーン処理モジュール34は、上記CMYKの各色からなる画像データのそれぞれについてCMYK各色の階調値を2値化するハーフトーン処理を実行するモジュールである。同ハーフトーン処理モジュール34は高速に2値化処理を実行可能であり、この処理を行うため、ハードディスクドライブ14には予めディザマトリクスデータ14aとブロック閾値テーブルデータ14bとハーフトーン画像データ14cとが保存されている。
【0042】
ディザマトリクスデータ14aは、N×M個のマトリクス状の画素について閾値を規定したデータであり、図4はその一例を簡易的に示す図である。同図においては縦16画素,横16画素のディザマトリクスを例として示している。すなわち、同図における一つの四角形が一つの画素の閾値に相当する。また、本実施形態においてハーフトーン処理はディザマトリクス内の縦4画素,横4画素のブロック毎に実施される。図4においては、各画素に相当する閾値を一つの四角形の中に示すとともに、各ブロックの境界を太線で示している。
【0043】
ディザマトリクスデータにはN×M階調の閾値が登録されている。すなわち、同図に示す例では”0”〜”255”を値域とした256階調の閾値が登録されている。また、本実施形態において、各ブロック内には256階調を均等に16分類するとともに各分類から一階調ずつ抽出た閾値が登録してある。具体的には、256階調を16等分すると各分類には16個の閾値が含まれる。すなわち、第1分類には”0”〜”15”の閾値が含まれ、第2分類には”16”〜”31”、、、第16分類には”240”〜”255”の閾値が含まれることになる。
【0044】
この例において、同図左上のブロックには第1分類の閾値”0”,第2分類の閾値”16”が登録されており、第l分類(lは1〜16の自然数)の閾値がそれぞれ一つ登録されている。他のブロックでも同様であり、同図左端の上から2番目のブロックには第1分類の閾値”12”,第2分類の閾値”28”が登録されており、第l分類の閾値がそれぞれ一つ登録されている。ここでは、16×16画素のディザマトリクスについて説明したが、むろん、256×128画素など、他の画素数のディザマトリクスを予め規定することができる。
【0045】
16×16画素であれば閾値の階調数が256であってCMYKの階調数と同一であるが、256×128画素であれば階調数が多くなる。この場合、上述のようにCMYKの階調値を定数倍する処理を実行して閾値域とCMYKの階調値域を合わせればよい。尚、本実施形態において、各ブロックに登録される第l分類の閾値の位置は総て共通である。例えば、第1分類の閾値は各ブロックの左上に登録されている。この構成によれば、後述するハーフトーン画像データを総てのブロックについて共通にすることができ、必要な記憶容量を抑えることができる。
【0046】
ブロック閾値テーブルデータ14bは、上記ディザマトリクスに登録された閾値の一つを抽出し、昇順に並べたデータである。すなわち、一つのブロックには上記分類のいずれかに含まれる閾値が一つ登録されているので、上述の例では閾値を昇順に並べると、第1分類から第16分類まで一つずつ閾値が並ぶことになる。図5の左側にはこのブロック閾値テーブルデータを示している。ブロック閾値テーブルデータにおいては、各ブロックについて一つの閾値を抽出しているので、各分類においてブロック閾値テーブルデータがブロックの数だけ存在する。
【0047】
図5においては、各分類毎の閾値をマトリクス状に配置して示している。従って、各分類においては16個(=16×16/4×4)の閾値が存在し、全部で16個の分類についてマトリクス状の閾値が特定されている。具体的には、図5における第1分類の左上の四角形は上記図4に示すディザマトリクスの左上に示すブロック内の最小の閾値(=0)に該当し、図5における第1分類の左端の上から2段目の四角形は上記図4に示すディザマトリクスの左端の上から2段目に示すブロック内の最小の閾値(=12)に該当する。図5における第2分類の左上の四角形は上記図4に示すディザマトリクスの左上に示すブロック内で二番目に小さい閾値(=16)に該当し、図5における第2分類の左端の上から2段目の四角形は上記図4に示すディザマトリクスの左端の上から2段目に示すブロック内で二番目に小さい閾値(=28)に該当する。
【0048】
ハーフトーン画像データ14cは、上記ディザマトリクスにおいてディザ処理をした場合のディザ処理後のドット形成状態を示すデータであり、本実施形態においてはドット形成数に対して一通りのデータが保存されている。図5においては、各画素においてドット形成を指定するデータを”1”、ドット非形成を指定するデータを”0”として示している。ハーフトーン処理モジュール34においては、上記色変換モジュール33によって色変換されたCMYK画像データを取得し、必要に応じて階調値を定数倍した後にこの画像データに対して上記ディザマトリクスデータ14aを適用する。
【0049】
そして、画像データの各画素値についてブロック毎にハーフトーン画像データに変換する処理を行う(ステップS150)。このとき、ブロック閾値テーブルデータ14bを参照し、ブロック内のいずれかの画素の階調値とブロック閾値テーブルデータ14bの閾値とを昇順に比較するとともに”比較回数−1”をドット形成数として取得し、当該ドット形成数に対応したハーフトーン画像データを採用して変換処理を行う。すなわち、ディザ処理は各ブロックに登録された閾値と画像データの各画素の階調値とを比較して閾値より階調値の方が大きい場合にその画素についてドットを形成するように設定する処理である。また、ディザマトリクスにおいては各ブロックに登録された閾値が異なるが、上述のように各ブロックには各分類の中から閾値が一つしか登録されていない。
【0050】
従って、ブロック内の全画素が特定の階調値であると想定し、上記ブロック閾値テーブルデータと当該階調値とを比較すれば、”比較回数−1”個がそのブロックでのドット形成数であり、このドット形成数からハーフトーン画像データを得ることができる。本実施形態ではこの考え方を利用してドット形成数を取得するとともに、取得したドット形成数から各ブロックのハーフトーン画像データを決定している。ハーフトーン画像データは上記ドット形成数毎に予め決められているので、この決定の際にはブロック内の全画素についてのドット形成/非形成を一度に確定することができる。
【0051】
また、あらゆる場合に画像データの各ブロック内の全画素が特定の階調値に等しいと言うことはできないが、上記解像度変換モジュール32にて拡大処理を行った場合、隣接する数画素はほぼ等しいとすることができる。従って、上記ブロック閾値テーブルデータと階調値とを比較する際に、ブロック内のいずれかの画素の階調値を採用すればよい。これにより、ブロック内の全画素について比較をする必要がなくなり、処理速度を高速化することができる。
【0052】
ハーフトーン処理モジュール34において以上のようなハーフトーン処理を行うと、インターレース処理モジュール35はプリンタ20のドットの形成順序を考慮しながらドット形成の有無により表現した画像データをプリンタ20のノズルで使用される順序に並べ替えるインターレース処理を行う(ステップS160)。そして、最終的に得られた画像データにプリンタ20の駆動コマンド等を付加して印刷データとし、当該印刷データをプリンタ20に対して出力する(ステップS170)。すると、プリンタ20は、同印刷データを取得し、印刷ヘッドを駆動して各色インクのドットを印刷媒体上に形成する。その結果、APLからの画像データに対応したカラー画像が印刷媒体に印刷されることになる。
【0053】
(4)画像データ処理装置が行う処理の詳細:
次に、上記ハーフトーン処理モジュール34での処理を実例とともにフローチャートに沿って説明する。図6はハーフトーン処理モジュール34での処理を示すフローチャートであり、図7は処理の実例を示す説明図である。図7においては、印刷対象のCMYK画像データのいずれかの色を画像データDa,ディザマトリクスをMT,処理対象のブロックをブロックBLとして示している。また、ブロックBL内の画像データを画像データda,画像データdaに対応するブロック閾値テーブルデータのいくつかをブロック閾値BTh,画像データdaを変換した後のデータをハーフトーン画像データHTDaとして示している。
【0054】
ハーフトーン処理モジュール34が、色変換モジュール33から画像データDaを取得すると、ハードディスクドライブ14からディザマトリクスデータ14aを読み出し、当該画像データDaの左上の端にディザマトリクスMTを適用する(ステップS200)。ここで、ディザマトリクスMTを画像データDaに適用するとは、画像データDaの各画素とディザマトリクスMTの各閾値とを一対一に対応させることを意味し、図7に示すように画像データDaがディザマトリクスMTより大きい場合には、図7に示す位置における処理が終了した後にディザマトリクスMTを移動させていく。
【0055】
本実施形態においては、ディザマトリクスMTを画像データDaに適用した状態で、さらにディザマトリクスMTの一部に相当するブロックBLをディザマトリクスMT内で逐次移動させながら本発明にかかる処理あるいは従来の処理を行う。この処理の分岐を行うために拡大済みフラグがONになっているか否かを判別(ステップS205)し、上述の解像度変換モジュール32によって拡大がなされたか否かを判別する。同ステップS205にて拡大済みフラグがONになっていると判別されないときには、画像データにおいて隣接する数画素の階調値が同等の値ではないと見なして、本発明による処理を行わない。すなわち、ブロックBL内の各画素についてディザマトリクスMTの閾値と画像データdaの階調値とを逐次比較してディザ処理を実施する(ステップS210)。
【0056】
拡大処理がなされた画像データdaは、図7に示すように4×4画素程度ではそのほとんどが同等の値になる場合が多い。そこで、ステップS205にて拡大済みフラグがONになっていると判別されたときには、ブロックBL内の画像データdaからいずれかの画素を抽出する(ステップS215)。次に、ブロックBLに相当するブロック閾値BThをハードディスクドライブ14から昇順に取得(ステップS220)し、ブロック閾値BThが上記ステップS215で抽出した画素の階調値より大きいと判別するまでステップS220の処理を繰り返すループ処理を行う(ステップS225)。
【0057】
ここで、データを昇順に取得するとは、ステップS220,S225によって実行されるループ処理においてループ処理の回数が増えるに従って大きな値のブロック閾値BThを取得するという意味である。図7においては、上記図5に示すブロック閾値テーブルデータの値を例にして示している。すなわち、この例ではディザマトリクスMTの左上のブロックBLに相当するブロック閾値は第1分類から順に”0”,”16”,”32”、、、”240”になっており、ループの回数が増加するに従って、この数値を大きくする。そして、逐次ブロック閾値BThと比較する。
【0058】
この処理の後、上記ループ処理にて比較を行った回数xを取得するとともに”x−1”をブロックBL内のドット形成数として取得する(ステップS230)。回数xは、初期値を”1”としてxをカウンタにしつつループ処理を行うなどして取得することができる。ハーフトーン画像データHTDaは上述のようにドット形成数毎に記憶されているので、上記ハードディスクドライブ14から上記取得したドット形成数に該当するハーフトーン画像データHTDaを読み出し、画像データdaをハーフトーン画像データHTDaに変換する(ステップS235)。
【0059】
図7に示す例では、ステップS215において画像データdaから階調値18の画素を抽出し、ステップS225においてブロック閾値BThと比較している状態を想定している。この状態において、階調値18は第2分類のブロック閾値BTh16と第3分類のブロック閾値BTh32の間に存在する。従って、上記ステップS225における比較回数は3になり、画像データdaはドット形成数”2”のハーフトーン画像データHTDaに変換されることになる。
【0060】
以上の処理の結果、ブロックBLの全画素を3回の比較のみで2値化したことになる。本実施形態において、ブロック閾値BThはブロックBLの画素数と等しい個数に分類されているので、上記ステップS220,S225におけるループ処理の最大繰り返し回数はブロックBLの画素数と等しい。従来の逐次的な比較によるディザ処理ではブロックBLの画素数分の比較を行うが、本実施形態においては最大でも従来のディザ処理と同数回の比較しか行わない。ほとんどの場合は従来のディザ処理より少ない比較回数で処理を終了する。従って、非常に高速にブロック毎のハーフトーン画像データHTDaを決定することができる。
【0061】
ブロックBLについてハーフトーン画像データHTDaを決定した後には、ディザマトリクスMT内に想定しうる総てのブロックについて画像データdaをハーフトーン画像データHTDaに変換する処理を終了したか否かを判別する(ステップS240)。そして、ステップS240にて総てのブロックについて処理が終了したと判別されなければ、次のブロックに移動、すなわちディザマトリクスMT内の未処理の領域にブロックBLを設定(ステップS245)してステップS215以降の処理を繰り返す。
【0062】
この処理によってディザマトリクスMT内の画像データの全画素について変換処理を行った後には、全画像データDaについてハーフトーン画像データHTDaに変換する処理を終了したか否かを判別する(ステップS250)。そして、ステップS250にて全画像データDaについて処理が終了したと判別されなければ、ディザマトリクスMTを移動、すなわち画像データDa内の未処理の領域にディザマトリクスMTを設定(ステップS255)してステップS205以降の処理を繰り返す。以上の結果、非常に高速に画像データを2値化することができる。
【0063】
(5)他の実施形態:
上記実施形態は本発明にかかる画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび印刷制御装置を実現する一例であり、むろん他の構成を採用することも可能である。すなわち、上記実施形態においては、本発明に含まれる複数の技術的思想を反映したディザマトリクスを採用し、このディザマトリクスに基づくハーフトーン処理を行っていた。例えば、ディザマトリクスの一部に相当するブロック毎に閾値と階調値とを比較してブロック毎にハーフトーン画像データを割り当てる点、ディザマトリクス上の階調をL分類して各分類から一階調ずつ抽出して各ブロックに登録する点、各ブロックに登録される第l分類の閾値の位置は総て共通である点等を反映した構成になっている。
【0064】
しかし、これらの一部あるいは一部の組み合わせを反映させた構成や他の技術的思想と組み合わせた構成を採用しても良い。具体的には、上記図4に示すディザマトリクスデータにおいて、各ブロック内の閾値は登録すべき位置や分類が決まっていたが、これらと全く無関係に従来のディザマトリクス、例えば、閾値をランダムに配置したマトリクスを採用しても良い。この場合、各ブロック内の閾値の配置が異なるため、総てのブロックについて一つのドット形成数に対して共通の一つのハーフトーン画像データが対応するとは言えない。
【0065】
しかし、閾値の配置は考えずに一つのドット形成数に対して一つのハーフトーン画像データを対応させておけば、少なくとも、各ブロックから閾値を順番に抽出して作成したブロック閾値テーブルデータを参照して上記図6に示す処理を行うことにより、高速にハーフトーン処理を実施することが可能になる。また、上述のように各ブロックに登録される第l分類の閾値の位置を総て共通にすることにより、ドット形成数毎に一つのハーフトーン画像データを記憶するだけで充分となり、さらに、ドット形成数を取得するのみで総てのブロックにおいてディザマトリクスの階調値パターンに確実に合致したハーフトーン画像データを決定することが可能になる。
【0066】
さらに、ディザマトリクス上の階調をL分類して各分類から一階調ずつ抽出して各ブロックに登録する構成と他の構成と組み合わせることにより非常に高速に処理を行うことが可能になる。その具体的な構成としては、図6に示すフローチャートにおいてステップS220,S225の代わりに以下の処理を行う構成を採用可能である。すなわち、予め各画素の階調値域をL個に分類しておき、ステップS215で取得した一画素の階調値がいずれの分類に入るのかを判別する。上記ブロック閾値テーブルデータ14bにおいても閾値がL個に分類されているので、上記階調値が第x分類に含まれるとすれば、この階調値と比較すべき閾値はブロック閾値テーブルデータ14bにおける第x分類である。
【0067】
そこで、第x分類のブロック閾値テーブルデータ14bと上記ステップS215で取得した一画素の階調値とを比較すれば、この一回の比較処理のみでドット形成数を特定することができる。すなわち、閾値より階調値が小さい場合にドット形成数をx個、閾値より階調値が大きい場合にドット形成数を(x+1)個とすることができ、この結果、一回の比較処理のみでハーフトーン画像データを決定することができる。従って、非常に高速にハーフトーン処理を実施することができる。
【0068】
さらに、この構成に加え、ディザマトリクスデータの各ブロックに登録される各閾値において、第x分類(xは1からLの自然数)の閾値と第(x+1)分類の閾値との数値間隔を一定にすれば、ブロック閾値テーブルデータ14bを記憶するための記憶容量を非常に少なくすることができる。すなわち、ブロック閾値テーブルデータ14bにおいては、N×M個の階調をL個(L=n×m)に分類するとともに各分類から一階調ずつ抽出して各ブロック内の閾値としている。
【0069】
従って、この規則に加えて隣り合う分類の閾値の数値間隔を一定にすれば、各ブロックについて少なくとも閾値を一つ記憶しておくことにより、他の閾値は演算にて算出することができる。例えば、第x分類の閾値=第1分類の閾値+(x−1)×N×M/n/mとすればよい。これにより、ブロック閾値テーブルデータ14bを記憶するために必要な記憶容量を非常に少なくすることができる。以上のように技術的思想の一部を利用したりその組み合わせを利用したりすることが可能であり、組み合わせによれば記憶容量の低減と処理速度の高速化を同時に実現することができる。
【0070】
さらに、上記実施形態においては、各ブロックのドット形成数を取得することによってドット形成数が何個であっても高速に処理できるようにしていたが、特定のドット形成数について高速化することも可能である。例えば、閾値の最小値とブロック内のいずれかの画素の階調値とを比較し、閾値の最小値が当該階調値より大きければブロック内の全画素をドット非形成にする構成を採用しても処理速度を高速化することができる。また、閾値の最大値とブロック内のいずれかの画素の階調値とを比較し、閾値の最大値が当該階調値より小さければブロック内の全画素でドットを形成する構成を採用しても処理速度を高速化することができる。
【0071】
さらに、ディザマトリクスの大きさ(画素数)としても上記図4に示すものに限られないし、大きさの変動に伴ってディザマトリクスに登録する閾値の値域を変動させることも可能である。また、各ブロックにおいて同じ分類に属する閾値を同じ位置に登録することが必須というわけではない。この場合には、各ブロック毎に別個のハーフトーン画像データを予め記憶しておき、ドット形成数を取得するとともに各ブロックに対応したハーフトーン画像データに変換すればよい。
【0072】
この構成によれば、各ブロックでドット形成パターンに差異を持たせることができるので、印刷物において特定のドットパターンを生じさせることはなく、より自然な印刷結果を得ることができる。むろん、各ブロックにおいて同じ分類に属する閾値が必ず一つ存在するように構成するのではなく、分類を考慮せず、マトリクス内で閾値をまばらに分散させてディザマトリクスを構成しても良い。
【0073】
さらに、本実施形態において、上記ブロックでの処理が終了すると未処理のブロックに対して処理を行うが、各ブロックを処理する際の順序は特に限定されない。むろん、ディザマトリクスも同様であり、未処理の画像データに対してディザマトリクスを移動させる際に、処理する順序は特に限定されない。
【0074】
さらに、上記実施形態においては、ブロック閾値テーブルデータとブロック内の一画素分の階調値とを比較することによってドット形成数を取得していたが、むろん、ドットを形成しない画素の数に主眼をおいてもドット形成数に基づく処理と実質的に等価である。ドット非形成数はブロック内の画素数−ドット非形成数となるからである。ドット非形成数に主眼をおく場合には上記図6のステップS220において現在のブロックのブロック閾値データを降順に取得し、ステップS225において閾値が階調値より小さいことを判別すればよい。この結果、比較回数−1がドット非形成数になる。
【0075】
画像データをハーフトーン画像データに変換するためには、ドット非形成数毎にハーフトーン画像データを記憶しておいても良いし、ドット非形成数からドット形成数を算出し、ブロック内の画像データをドット形成数に対応づけられたハーフトーン画像データに変換しても良い。さらに、比較回数を少なくするという意味では、ドット形成数の分布を考慮した構成にしても良い。すなわち、画像データの階調値に基づいてドット形成数が少ないことがはじめから分かっているときには、上記ステップS220のようにブロック閾値データを昇順に取得するループを行う。ドット形成数が少ないと言うことは、ステップS225での比較回数が少ないことを意味するので、高速に処理を行うことができる。
【0076】
ドット非形成数が少ないこと(あるいはドット形成数が多いこと)がはじめから分かっているときには、ステップS220においてブロック閾値データを降順に取得するループを行う。この場合は降順に比較した方が早期にブロック閾値<階調値という条件を満たす状態を発見できるので、少ない比較回数で高速に処理を行うことができる。ドット形成数が少ないという条件は画像データの画素が低階調(高明度)の場合が該当し、ドット非形成数が少ないという条件は画像データの画素が高階調(低明度)の場合が該当する。
【0077】
従って、画像データから抽出した一画素の階調値が低明度域に属するか高明度域に属するかを判別した上で、ブロック閾値データの比較順序を決定しても良い。より具体的な例としては、階調値が階調値域の中央値より低階調側にあるときはブロック閾値データを昇順に比較し、高階調側にあるときはブロック閾値データを降順に比較する構成等を採用可能である。むろん、中央値で分ける構成のみではなく種々の指標に基づいて低階調域と高階調域とを分けることができる。例えば、高階調になるほど単位階調変化に対する明度の低下度合いが鈍くなるインクの特性を考慮して、インクによって表現可能な明度域を2つに分割して高明度域と低明度域とを分けても良い。
【0078】
さらに、上述のステップS215においてはブロック内での一画素分の階調値を抽出することができれば良く、他にも種々の手法によって一画素分の階調値を抽出可能である。例えば、ブロック内の画素の総てあるいは一部について階調値を平均化してあたいでも良いし、上述の解像度変換モジュール32によって拡大処理が施される前の元画像の階調値を取得しても良い。
【0079】
さらに、上記実施形態では、拡大済みフラグがONになっているか否かによって従来の逐次比較によるディザ処理を実行するか、本発明にかかる処理を実行するかを分岐していたが、むろん、逐次比較によるディザ処理を行わないで、本発明にかかる処理のみを実施する専用の装置等を構成することも可能である。この場合には、上記ディザマトリクスデータ記憶手段にディザマトリクスデータ14aを保存しておくことが必須にはならず、ディザマトリクスMTから予めブロック閾値テーブルデータ14bを決定し、当該ブロック閾値テーブルデータ14bのみを保存しておく構成を採用しても良い。
【図面の簡単な説明】
【図1】画像データ処理装置の概略構成を示す図である。
【図2】プリンタドライバの概略構成を模式的に示す図である。
【図3】画像データ処理装置が行う処理のゼネラルフローである。
【図4】ディザマトリクスの例を簡易的に示す図である。
【図5】ブロック閾値テーブルデータとハーフトーン画像データとを示す図である。
【図6】ハーフトーン処理を示すフローチャートである。
【図7】ハーフトーン処理の実例を示す説明図である。
【符号の説明】
10…PC、10a…システムバス、14…ハードディスクドライブ、14a…ディザマトリクスデータ、14b…ブロック閾値テーブルデータ、14c…ハーフトーン画像データ、20…プリンタ、30…プリンタドライバ、31…画像データ取得モジュール、32…解像度変換モジュール、33…色変換モジュール、34…ハーフトーン処理モジュール、35…インターレース処理モジュール
【発明の属する技術分野】
本発明は、画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび印刷制御装置に関する。
【0002】
【従来の技術】
従来、画像を印刷する際には、画像をドットマトリクス状の画素で多階調表現した画像データを入力し、プリンタで表現可能な階調数に合わせるため、入力画像データをドット形成の有無により各画素の階調を表現したハーフトーンデータに変換する。このハーフトーン処理としては、比較的低速であるが比較的高画質の画像が得られる誤差拡散法や比較的高速であるが比較的低画質の画像が得られるディザ法等、種々の手法が知られている(例えば、特許文献1参照。)。
【0003】
【特許文献1】
特開2002−185789号公報
【0004】
【発明が解決しようとする課題】
上述した従来のハーフトーン処理においては、さらなる高速化が望まれていた。すなわち、近年のプリンタの高性能化に伴って印刷時の解像度が飛躍的に向上し、高解像度の画像を印刷するために非常に多数の画素数からなる画像を印刷することが可能になった。このように多数の画素数からなる画像を印刷する場合には非常に多数の演算を繰り返すため、多くの時間を必要とし、印刷処理の全時間に大きな影響を与えてしまう。
本発明は、上記課題にかんがみてなされたもので、高速にハーフトーン処理を実行可能な画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび印刷制御装置の提供を目的とする。
【0005】
【課題を解決するための手段および発明の効果】
上記目的を達成するため、本発明ではディザ処理において冗長な比較処理を排除する。このために、画像データ処理装置では、ハーフトーン処理手段においてディザマトリクスの各ブロックで閾値の最小値に満たない階調値や閾値の最大値を超える階調値についてはブロック内の全画素における比較を行わない。すなわち、閾値より階調値の方が大きな場合にその画素についてはドットを形成し、閾値より階調値の方が小さな場合にその画素についてはドットを形成しないような構成において階調値が閾値の最小値に満たない場合は全画素についてドットを形成しない。
【0006】
従って、ドットを形成する画素のブロック内での位置を識別することなくブロック内の全画素についてドットを形成しないことにして次のブロックでの処理に移ることができる。同様に、階調値が閾値の最大値に満たない場合は全画素についてドットを形成しないので、ドットを形成しない画素のブロック内での位置を識別することなくブロック内の全画素についてドットを形成することにして次のブロックでの処理に移ることができる。このように、本発明ではディザマトリクスの閾値と画像データの階調値とについて不要な比較をすることなく次のブロックでの処理に移ることができ、処理速度を高速化することができる。
【0007】
本発明におけるハーフトーン処理では、ディザマトリクスデータに従ってドット形成の有無を指定することができればよいので、単純な構成としてはドットを形成する状態と形成しない状態との2つの状態を形成すればよいが、むろん、ドット径の大きさを変動させて1画素につき4階調有するような構成に適用しても良い。また、ディザマトリクスデータにおいては画像データの階調値と比較される閾値を登録していればよく、画像データの階調値と閾値とを直接比較する場合は、両者の値域が一致している必要があるが、階調値と閾値とのいずれかを定数倍してから比較しても良く、この場合、定数倍する前に値域が一致している必要はない。
【0008】
上記ブロックはn×m画素の画素から構成されていればよく、これらの画素はディザマトリクスの一部である。すなわち、ディザマトリクスではn×m画素より多数の画素について閾値を規定している。ディザマトリクスの全体について閾値と画像データの階調値とを比較する場合には、画素の総てがドット形成あるいはドット非形成になることは非常にまれであるが、ディザマトリクスより小さな領域であるブロック毎に閾値と画像データの階調値とを比較することによって、ブロック内の総てがドット形成あるいはドット非形成となる状態を作り出すことができる。従って、ブロック毎の比較をすることによって冗長な処理を排除することが可能になる。
【0009】
本発明ではブロック内での一画素分の階調値とブロック内の閾値の最小値あるいは最大値を比較することができればよい。一画素分の階調値としては後述するようにブロック内のいずれかの画素の階調値やブロック内の画素の平均階調値等を採用可能である。むろん、ブロック内の画素の階調値について最小値や最大値を取得して階調値の最小値と閾値の最大値とを比較し、階調値の最大値と閾値の最小値とを比較しても良い。
【0010】
また、閾値の最小値や最大値に基づいて冗長な処理を排除するとともにこれら最小値や最大値以外の閾値について冗長な処理を排除する構成を採用することも可能である。このために、ディザ処理後のハーフトーン画像データを予めブロック内のドット形成数毎に記憶しておき、各ブロック毎の処理に際してディザ処理後のドット形成数を取得すれば、画素毎の逐次的な比較をすることなくハーフトーン画像データを得ることができ、非常に高速にディザ処理を行うことができる。
【0011】
すなわち、予めドット形成数毎にディザ処理後のハーフトーン画像データを記憶しておく。そして、階調値と閾値とを比較したとしたら合計何個のドットを形成することになるか、あるいはドットを形成しない画素が何個あるかを各ブロック毎に取得する。ドット形成数が判明すれば、ブロック内の画像データを当該ドット形成数に対応したハーフトーン画像データに変換することにより、ディザ処理において各画素の閾値と画像データの階調値とを逐一比較することなく各ブロック内のドット形成、非形成を決定することができる。
【0012】
各ブロック毎の閾値は予め決定されており、この閾値からディザ処理後のハーフトーン画像データをドット形成数毎に予め決定することができる。各ブロック毎に当該ディザ処理後のハーフトーン画像データを変更しても良いし、各ブロック毎に共通にしても良い。ディザマトリクスデータに登録する閾値の大小関係の順序および位置を各ブロック毎に共通にしておけば、ディザ処理後のハーフトーン画像データを全ブロック共通にすることができる。
【0013】
以上のように、ドット形成数毎にディザ処理後のハーフトーン画像データを記憶することにより、逐次的な閾値判別をすることなく画像データをハーフトーン画像データに変換することができる。むろん、この処理は、上述のように閾値の最小値に満たない階調値や閾値の最大値を超える階調値についてブロックの全画素についてドットを形成せず、あるいは全画素についてドットを形成する処理も含んでいる。
【0014】
予め記憶するディザマトリクスデータの構成例として、N×M画素(N,Mは自然数)の閾値を規定し、その中にn×m画素からなる各ブロックを考え、当該ブロック内のデータはN×M個の階調をL個(L=n×m)に分類するとともに各分類から一階調ずつ抽出して閾値とすることもできる。この構成を採用すると、閾値が属するL個の分類からそれぞれ一つずつのみが各ブロックに登録されることになる。従って、閾値は各ブロックに対してまばらに振り分けられ、ディザ処理後に画像の位置によってドット形成に差異が生じにくくなる。さらに、各ブロックにL個の分類のそれぞれが登録されているので、L個の分類のうち第x分類(xは1〜L)に入る閾値の位置を各ブロック毎に共通の値にすれば、上記ディザ処理後のハーフトーン画像データを全ブロックについて共通にすることができる。また、この構造のディザマトリクスデータであれば上述の請求項8と組み合わせて非常に高速にドット形成数を決定することが可能になる。
【0015】
さらに、ディザマトリクスデータにおいて、各ブロックに登録される閾値相互のピッチを一定にしても良い。すなわち、第x分類(xは1からLの自然数)の閾値と第(x+1)分類の閾値との数値間隔を一定とする。具体的には、(第1分類の閾値+(x−1)×N×M/n/m)などの式によって第x分類の閾値を決定することができる。この式によれば、第1分類の閾値を決定するのみで残りの閾値をディザマトリクスデータの画素数およびブロックの画素数によって算出することができる。従って、第1分類の閾値のみを記憶すれば充分であり、ディザマトリクスデータのために必要とされる記憶容量を抑えることができる。
【0016】
さらに、ディザマトリクスデータとしては、上記ブロックのいずれにおいても第L分類の閾値を同じ位置の画素に対応させたデータとすることが好ましい。かかる構成によれば、ドット形成数が同じ場合にディザマトリクスデータに基づいて決定されるハーフトーン画像データも同じになる。従って、ドット形成数の値毎に一つのハーフトーン画像データを記憶するのみで充分な構成を確実に構築することができる。この結果、ハーフトーン画像データを記憶するための記憶容量を抑えることができる。
【0017】
さらに、ドット形成数取得手段においては各ブロック毎にドット形成数あるいはドット非形成の数を取得すれば良く、種々の構成を採用可能である。その一例として、各ブロックに登録された閾値を昇順あるいは降順に並べたブロック閾値テーブルデータを利用することができる。このブロック閾値テーブルデータは、各ブロック内に登録された閾値の最小値を抽出してマトリクス状に並べることにより第1のブロック閾値テーブルデータとし、2番目に小さい閾値を抽出してマトリクス状に並べることにより第2のブロック閾値テーブルデータとするなどして形成することができる。この場合、ブロック閾値テーブルデータは、ディザマトリクスデータがN×M画素であり、各ブロックの画素がn×m画素であるときに(N/n)×(M/m)個の要素からなるマトリクスが昇順あるいは降順にn×m個形成される。
【0018】
このブロック閾値テーブルデータを記憶していれば、上記ブロック内での一画素分の階調値と当該ブロック閾値テーブルデータとを比較することによってドット形成数を取得することができる。すなわち、ブロック内での一画素の階調値とブロック閾値テーブルデータの閾値とを閾値が小さい方から順に(昇順に)比較すれば、第x番目の閾値についての比較で階調値が閾値を下回ったときにドット形成数がx−1(比較回数−1)とすることができる。
【0019】
むろん、降順でも同様であり、ブロック内での一画素の階調値とブロック閾値テーブルデータの閾値とを閾値が大きい方から順に比較すれば、第x番目の比較で階調値が閾値を上回ったことによってドット非形成数をx−1(比較回数−1)とすることができる。従って、この場合、ドット形成数は(n×m+1−比較回数)個とすることができる。比較回数は最大でn×m(各ブロックについてのブロック閾値テーブルデータの数)個であるから、最大でも閾値と階調値との逐次的な比較での処理回数と同じであるし、ほとんどの場合それより少ない処理回数で次のブロックの処理へ移行することができる。従って、ハーフトーン処理の速度が非常に速くなる。
【0020】
この構成において、階調値が閾値を下回るあるいは上回ることを少ない比較回数で見つけることができれば、より速度を向上することができる。このために、ブロック内での一画素分の階調値が所定の低階調域にあるときは当該階調値を上記閾値と昇順に比較し、上記ブロック内での一画素分の階調値が所定の高階調域にあるときは当該階調値を上記閾値と降順に比較すると好ましい。すなわち、低階調域であればドット形成数は少なく、高階調域ではドット非形成数が少ないので、低階調域で昇順、高階調域で降順に比較すれば、非常に早い段階で閾値と階調値との比較を終了することができる。低階調域はドット形成数が少ない領域であり、高階調域はドット形成数が多い領域であれば良く、画像データの階調値域を2分して階調値が小さい方の階調域に属する場合は低階調域とし、大きい方の階調域に属する場合は高階調とするなど種々の構成を採用可能である。
【0021】
さらに、ドット形成数を取得する他の構成として、ブロック閾値テーブルデータにおける閾値および画像データの階調値域を上記ブロック内の画素数で除してL個に分類し、階調値が第x分類(xは1からLの自然数)に含まれるときに第x分類の閾値と比較し、閾値より階調値が小さい場合にドット形成数をx個、閾値より階調値が大きい場合にドット形成数を(x+1)個としてもよい。すなわち、ドット形成数を決定するために階調値と比較する閾値として最も重要なものは階調値前後の閾値である。そこで、上記分類によって比較すべき閾値を類推することにより、高速に比較すべき閾値を発見することができ、閾値と階調値とを順次比較してドット形成数を決定する構成より非常に高速に処理を行うことができる。尚、階調値域をL個に分割する際にその分割手法は種々の手法を採用可能であるが、均等に分割したり、ドット形成数の増加とともに明度の低下率が鈍くなるインクの一般的性質に鑑みて低階調域では階調を細かく分割する構成にしても良い。
【0022】
本発明においては各ブロックの閾値の最小値,最大値やブロック閾値テーブルデータをブロック内での一画素分の階調値と比較するに当たり、一画素分の階調値として一画素相当の値であれば種々の値を採用することができる。例えば、ブロック内にあるいずれかの画素の階調値を採用することができる。n×m画素のブロックとして、数個から数十個程度であれば、近年のデジタルスチルカメラの画像等多くの画像において階調値が非常に似通っていると言える。従って、ブロック内の画素のいずれかを代表として採用しておけば、非常に簡易的かつ高速にブロック内のドット形成状態を決定することが可能になる。
【0023】
ブロック内の画素の階調値が似通っている状態の画像データとしては、補間処理後の画像データが挙げられる。例えば、ニアリスト補間処理であればある画素の階調値がそのまま隣の画素の階調値になるし、バイリニア,キュービック補間等を利用したとしても隣接画素の階調値が劇的に異なることはまれである。従って、補間処理後の画像データであれば、数個から数十個程度のブロック内のいずれかの画素について本発明による処理を行うのみでハーフトーン処理を実行することが可能になる。むろん、他にも種々の構成を採用することが可能であり、ブロック内にある画素の階調値の平均値を採用することも可能である。
【0024】
ところで、上述した画像データ処理装置は、単独で実施される場合もあるし、ある機器に組み込まれた状態で他の方法とともに実施されることもあるなど、発明の思想としては各種の態様を含むものであって、適宜、変更可能である。また、上述した画像データを変換する際の手法は、所定の手順に従って処理を進めていくうえで、その根底にはその手順に発明が存在するということは当然である。したがって、本発明は方法としても適用可能であり、請求項12,請求項13にかかる発明においても、基本的には同様の作用となる。
【0025】
本発明を実施しようとする際に、画像データ処理装置にて所定のプログラムを実行させる場合もある。そこで、そのプログラムとしても適用可能であり、請求項14,請求項15にかかる発明においても、基本的には同様の作用となる。さらに、変換後の画像データに基づく画像を印刷する印刷手段を備える印刷制御装置としても適用可能であり、請求項16,請求項17にかかる発明においても、基本的には同様の作用となる。
【0026】
むろん、請求項2〜請求項11に記載された構成を上記方法やプログラムや印刷制御装置に対応させることも可能であることは言うまでもない。また、いかなる記憶媒体もプログラムを提供するために使用可能である。例えば、磁気記録媒体や光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一部がソフトウェアであって、一部がハードウェアで実現される場合においても本発明の思想において全く異なるものではなく、一部を記録媒体上に記録しておいて必要に応じて適宜読み込む形態のものも含まれる。さらに、一次複製品、二次複製品などの複製段階については全く問う余地なく同等である。
【0027】
【発明の実施の形態】
以下、下記の順序に従って本発明の実施形態を説明する。
(1)画像データ処理装置の構成:
(2)画像データ処理プログラムの概略構成:
(3)画像データ処理装置が行う処理の概略:
(4)画像データ処理装置が行う処理の詳細:
(5)他の実施形態:
【0028】
(1)画像データ処理装置の構成:
図1は、本発明の第一の実施形態にかかる画像データ処理装置の概略構成を示している。画像データ処理装置は汎用的なパーソナルコンピュータ(PC)10によって構成されている。同PC10は演算処理の中枢をなすCPU11を備えており、このCPU11はシステムバス10aを介してPC10全体の制御を行う。同システムバス10aには、ROM12、RAM13、ハードディスクドライブ14やCD−ROMドライブ15、入力インターフェイス(入力I/F)16、CRTインターフェイス(CRTI/F)17、通信インターフェイス(通信I/F)18、プリンタインターフェイス(プリンタI/F)19等が接続されている。
【0029】
本実施形態のPC10はいわゆるデスクトップ型PCであり、構成を簡略化して説明している。むろん、PC10にはコンピュータとして一般的な構成を有するものを採用することができ、ノート型であるとか、モバイル対応のものであってもよい。また、画像データ処理装置に適用可能なコンピュータは、PCに限定されるものではないし、複数のコンピュータによる分散処理を行う構成であっても良い。
【0030】
ハードディスクドライブ14には、ソフトウェアとしてオペレーティングシステム(OS)や文書情報や画像情報を作成可能なアプリケーションプログラム(APL)等が格納されており、これらのソフトウェアは、実行時にCPU11によって適宜RAM13に転送される。そして、CPU11は、RAM13を一時的なワークエリアとして適宜アクセスしながら種々のプログラムを実行することになる。
【0031】
入力I/F16には、キーボード16aやマウス16bが操作用入力機器として接続されるとともに、図示しないスキャナやデジタルカメラ等も接続されるようになっている。また、CRTI/F17には、表示用のディスプレイ17aが接続されている。さらに、プリンタI/F19には、パラレルI/Fケーブルを介してプリンタ20が接続されている。むろん、プリンタ20との接続I/FはパラレルI/Fに限られる必要もなく、シリアルI/FやSCSI、USB接続など種々の接続態様を採用可能であるし、今後開発されるいかなる接続態様であっても同様である。
【0032】
なお、本発明の画像データ処理プログラムを記憶したハードディスクドライブ14は画像データ処理プログラムを記録した媒体となるが、本画像データ処理プログラムを格納可能な記録媒体はハードディスクに限定されるものではない。例えば、CD−ROMやフレキシブルディスクであってもよい。これらの記録媒体に記録されたソフトウェアはCD−ROMドライブ15や図示しないフレキシブルディスクドライブを介して読み込まれ、ハードディスクドライブ14にインストールされて、CPU11によってRAM13上に読み込まれて各種処理が実行されることになる。また、記録媒体は、これらに限定されず、光磁気ディスクや半導体デバイスである不揮発性メモリなどであってもよい。さらに、システムバス10aに接続されたモデム等の通信I/F18をインターネット網に接続し、種々のプログラムを格納したサーバにアクセスして本画像データ処理プログラムをダウンロードすることも可能である。
【0033】
本実施形態で使用するプリンタ20は、インクジェットプリンタであり、カラー印刷時に、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)、の計4色の色インクを使用することができる。むろん、ライトシアン(lc)やライトマゼンタ(lm)を使用して6色にすることもできるし、さらにダークイエロー(DY)を加えて7色にすることもできる。複数色のカラートナーを使用するレーザープリンタを使用することもできる。いずれにしても、PC10ではプリンタ20にて解釈可能な印刷実行データを作成し、プリンタI/F19を介して出力する。プリンタ20では当該印刷実行データに基づいて画像を構成する各画素についてインクを記録することによって画像を印刷する。
【0034】
(2)画像データ処理プログラムの概略構成:
PC10では、以上のハードウェアを基礎としてバイオスが実行され、その上層にてOSとAPLとが実行される。基本的には、OSがバイオスを介するか直にハードウェアとアクセスし、APLはOSを介してハードウェアとデータなどのやりとりを行う。OSにはハードウェアを制御するための各種のドライバ類が組み込まれ、OSの一部となって各種の制御を実行する。このドライバ類は、CRTI/F17を制御するディスプレイドライバや、プリンタI/F19を制御するプリンタドライバ30等である。同プリンタドライバ30には本発明の画像データ処理プログラムが含まれており、本画像データ処理プログラムの各種機能を有するPC10は本発明にいう画像データ処理装置となる。
【0035】
プリンタドライバ30は、APLの印刷機能の実行時に稼働され、プリンタI/F19を介してプリンタ20と双方向の通信を行うことが可能である。同プリンタドライバ30は、OSを介してAPLから画像データを受け取ってプリンタ20に対して出力する印刷データに変換し、印刷ジョブとしてプリンタ20に送出する。このため、OSには、グラフィックスに関してAPLとOSとの間でグラフィックユーザーインターフェイス機能を実現するGDI(Graphics Device Interface )等も組み込まれている。
【0036】
図2は、上記プリンタドライバ30の概略構成を模式的に示している。図において、プリンタドライバ30は、画像データ取得モジュール31、解像度変換モジュール32、色変換モジュール33、ハーフトーン処理モジュール34、インターレース処理モジュール35を備えており、図示しない機能制御モジュールの制御に基づいて所定の機能を実現しつつ連携動作して画像データをハーフトーン画像に変換することが可能である。変換されたハーフトーン画像では印刷画像における各画素についてドット形成およびドット非形成が指定されており、これらの指定に基づいて印刷を実行する印刷実行データを生成、出力する。
【0037】
(3)画像データ処理装置が行う処理の概略:
図3は、画像データ処理装置が行う処理のゼネラルフローである。ここでは、当該図3および図2によって処理の概略を説明する。上記APLにて印刷指示がなされると、画像データ取得モジュール31は、APLにて作成されたRGB各色の画像データを取得する(ステップS100)。同画像データは、RGBの各色毎に画像をドットマトリクス状の画素で多階調表現したデータである。解像度変換モジュール32は補間演算処理を実行可能であり、上記取得した画像データにおける画素数とプリンタ20にて印刷を行う際の画素数とが異なる場合に補間演算処理によって画像を拡大あるいは縮小する。縮小の際には間引き処理を行っても良い。
【0038】
解像度変換モジュール32は、上記APLによる印刷指示に含まれる印刷解像度の情報から必要な画素数を算出し、上記取得した画像データの画素数とを比較して解像度変換処理が必要であるか否かを判別する(ステップS110)。同ステップS110にて解像度変換処理が必要と判別され、拡大処理が実行される際には所定の拡大済みフラグをONにし(ステップS120)、補間処理によって画像の解像度を変換する(ステップS130)。上記ステップS110にて解像度変換処理が必要であると判別されないときにはステップS120,S130はスキップする。尚、近年のインクジェットプリンタの解像度は非常に高解像度になっており、現在の高画質デジタルスチルカメラにおける画像であってもL版写真サイズの印刷時に補間が必要であることが通常であり、ほとんどの場合に拡大処理が行われる。
【0039】
色変換モジュール33は、上記RGBの各色からなる画像データをCMYKの色インクのそれぞれに対応したデータに変換する(ステップS140)。このとき、LUT(ルックアップテーブル)と呼ばれる色変換テーブルを参照して画像データを変換する。本実施形態のLUTは、256階調のRGBそれぞれの階調値をCMYKそれぞれについて256階調とされた階調値に対応させたテーブルであり、例えば、17×17×17の格子点に対応した大量のデータを備えている。変換された画像データも、画像をドットマトリクス状の画素で多階調表現したデータであり、階調値が大きくなるほどCMYK各成分が大きくなるようにしてある。したがって、階調値が大きくなるほど、印刷媒体上に形成されるドット密度は大きくなる。
【0040】
尚、本実施形態では、CMYKに基づく画像データの階調数も各8ビットを割り当てて階調値0から255の256階調としているが、256階調以外にも様々な階調とすることが可能であることは言うまでもない。さらに、本実施形態では後述するディザマトリクスに登録された閾値の値域にCMYKの階調値域を合わせている。階調値域を合わせるためには上記CMYKの階調値を定数倍するなどの処理を行えばよい。
【0041】
ハーフトーン処理モジュール34は、上記CMYKの各色からなる画像データのそれぞれについてCMYK各色の階調値を2値化するハーフトーン処理を実行するモジュールである。同ハーフトーン処理モジュール34は高速に2値化処理を実行可能であり、この処理を行うため、ハードディスクドライブ14には予めディザマトリクスデータ14aとブロック閾値テーブルデータ14bとハーフトーン画像データ14cとが保存されている。
【0042】
ディザマトリクスデータ14aは、N×M個のマトリクス状の画素について閾値を規定したデータであり、図4はその一例を簡易的に示す図である。同図においては縦16画素,横16画素のディザマトリクスを例として示している。すなわち、同図における一つの四角形が一つの画素の閾値に相当する。また、本実施形態においてハーフトーン処理はディザマトリクス内の縦4画素,横4画素のブロック毎に実施される。図4においては、各画素に相当する閾値を一つの四角形の中に示すとともに、各ブロックの境界を太線で示している。
【0043】
ディザマトリクスデータにはN×M階調の閾値が登録されている。すなわち、同図に示す例では”0”〜”255”を値域とした256階調の閾値が登録されている。また、本実施形態において、各ブロック内には256階調を均等に16分類するとともに各分類から一階調ずつ抽出た閾値が登録してある。具体的には、256階調を16等分すると各分類には16個の閾値が含まれる。すなわち、第1分類には”0”〜”15”の閾値が含まれ、第2分類には”16”〜”31”、、、第16分類には”240”〜”255”の閾値が含まれることになる。
【0044】
この例において、同図左上のブロックには第1分類の閾値”0”,第2分類の閾値”16”が登録されており、第l分類(lは1〜16の自然数)の閾値がそれぞれ一つ登録されている。他のブロックでも同様であり、同図左端の上から2番目のブロックには第1分類の閾値”12”,第2分類の閾値”28”が登録されており、第l分類の閾値がそれぞれ一つ登録されている。ここでは、16×16画素のディザマトリクスについて説明したが、むろん、256×128画素など、他の画素数のディザマトリクスを予め規定することができる。
【0045】
16×16画素であれば閾値の階調数が256であってCMYKの階調数と同一であるが、256×128画素であれば階調数が多くなる。この場合、上述のようにCMYKの階調値を定数倍する処理を実行して閾値域とCMYKの階調値域を合わせればよい。尚、本実施形態において、各ブロックに登録される第l分類の閾値の位置は総て共通である。例えば、第1分類の閾値は各ブロックの左上に登録されている。この構成によれば、後述するハーフトーン画像データを総てのブロックについて共通にすることができ、必要な記憶容量を抑えることができる。
【0046】
ブロック閾値テーブルデータ14bは、上記ディザマトリクスに登録された閾値の一つを抽出し、昇順に並べたデータである。すなわち、一つのブロックには上記分類のいずれかに含まれる閾値が一つ登録されているので、上述の例では閾値を昇順に並べると、第1分類から第16分類まで一つずつ閾値が並ぶことになる。図5の左側にはこのブロック閾値テーブルデータを示している。ブロック閾値テーブルデータにおいては、各ブロックについて一つの閾値を抽出しているので、各分類においてブロック閾値テーブルデータがブロックの数だけ存在する。
【0047】
図5においては、各分類毎の閾値をマトリクス状に配置して示している。従って、各分類においては16個(=16×16/4×4)の閾値が存在し、全部で16個の分類についてマトリクス状の閾値が特定されている。具体的には、図5における第1分類の左上の四角形は上記図4に示すディザマトリクスの左上に示すブロック内の最小の閾値(=0)に該当し、図5における第1分類の左端の上から2段目の四角形は上記図4に示すディザマトリクスの左端の上から2段目に示すブロック内の最小の閾値(=12)に該当する。図5における第2分類の左上の四角形は上記図4に示すディザマトリクスの左上に示すブロック内で二番目に小さい閾値(=16)に該当し、図5における第2分類の左端の上から2段目の四角形は上記図4に示すディザマトリクスの左端の上から2段目に示すブロック内で二番目に小さい閾値(=28)に該当する。
【0048】
ハーフトーン画像データ14cは、上記ディザマトリクスにおいてディザ処理をした場合のディザ処理後のドット形成状態を示すデータであり、本実施形態においてはドット形成数に対して一通りのデータが保存されている。図5においては、各画素においてドット形成を指定するデータを”1”、ドット非形成を指定するデータを”0”として示している。ハーフトーン処理モジュール34においては、上記色変換モジュール33によって色変換されたCMYK画像データを取得し、必要に応じて階調値を定数倍した後にこの画像データに対して上記ディザマトリクスデータ14aを適用する。
【0049】
そして、画像データの各画素値についてブロック毎にハーフトーン画像データに変換する処理を行う(ステップS150)。このとき、ブロック閾値テーブルデータ14bを参照し、ブロック内のいずれかの画素の階調値とブロック閾値テーブルデータ14bの閾値とを昇順に比較するとともに”比較回数−1”をドット形成数として取得し、当該ドット形成数に対応したハーフトーン画像データを採用して変換処理を行う。すなわち、ディザ処理は各ブロックに登録された閾値と画像データの各画素の階調値とを比較して閾値より階調値の方が大きい場合にその画素についてドットを形成するように設定する処理である。また、ディザマトリクスにおいては各ブロックに登録された閾値が異なるが、上述のように各ブロックには各分類の中から閾値が一つしか登録されていない。
【0050】
従って、ブロック内の全画素が特定の階調値であると想定し、上記ブロック閾値テーブルデータと当該階調値とを比較すれば、”比較回数−1”個がそのブロックでのドット形成数であり、このドット形成数からハーフトーン画像データを得ることができる。本実施形態ではこの考え方を利用してドット形成数を取得するとともに、取得したドット形成数から各ブロックのハーフトーン画像データを決定している。ハーフトーン画像データは上記ドット形成数毎に予め決められているので、この決定の際にはブロック内の全画素についてのドット形成/非形成を一度に確定することができる。
【0051】
また、あらゆる場合に画像データの各ブロック内の全画素が特定の階調値に等しいと言うことはできないが、上記解像度変換モジュール32にて拡大処理を行った場合、隣接する数画素はほぼ等しいとすることができる。従って、上記ブロック閾値テーブルデータと階調値とを比較する際に、ブロック内のいずれかの画素の階調値を採用すればよい。これにより、ブロック内の全画素について比較をする必要がなくなり、処理速度を高速化することができる。
【0052】
ハーフトーン処理モジュール34において以上のようなハーフトーン処理を行うと、インターレース処理モジュール35はプリンタ20のドットの形成順序を考慮しながらドット形成の有無により表現した画像データをプリンタ20のノズルで使用される順序に並べ替えるインターレース処理を行う(ステップS160)。そして、最終的に得られた画像データにプリンタ20の駆動コマンド等を付加して印刷データとし、当該印刷データをプリンタ20に対して出力する(ステップS170)。すると、プリンタ20は、同印刷データを取得し、印刷ヘッドを駆動して各色インクのドットを印刷媒体上に形成する。その結果、APLからの画像データに対応したカラー画像が印刷媒体に印刷されることになる。
【0053】
(4)画像データ処理装置が行う処理の詳細:
次に、上記ハーフトーン処理モジュール34での処理を実例とともにフローチャートに沿って説明する。図6はハーフトーン処理モジュール34での処理を示すフローチャートであり、図7は処理の実例を示す説明図である。図7においては、印刷対象のCMYK画像データのいずれかの色を画像データDa,ディザマトリクスをMT,処理対象のブロックをブロックBLとして示している。また、ブロックBL内の画像データを画像データda,画像データdaに対応するブロック閾値テーブルデータのいくつかをブロック閾値BTh,画像データdaを変換した後のデータをハーフトーン画像データHTDaとして示している。
【0054】
ハーフトーン処理モジュール34が、色変換モジュール33から画像データDaを取得すると、ハードディスクドライブ14からディザマトリクスデータ14aを読み出し、当該画像データDaの左上の端にディザマトリクスMTを適用する(ステップS200)。ここで、ディザマトリクスMTを画像データDaに適用するとは、画像データDaの各画素とディザマトリクスMTの各閾値とを一対一に対応させることを意味し、図7に示すように画像データDaがディザマトリクスMTより大きい場合には、図7に示す位置における処理が終了した後にディザマトリクスMTを移動させていく。
【0055】
本実施形態においては、ディザマトリクスMTを画像データDaに適用した状態で、さらにディザマトリクスMTの一部に相当するブロックBLをディザマトリクスMT内で逐次移動させながら本発明にかかる処理あるいは従来の処理を行う。この処理の分岐を行うために拡大済みフラグがONになっているか否かを判別(ステップS205)し、上述の解像度変換モジュール32によって拡大がなされたか否かを判別する。同ステップS205にて拡大済みフラグがONになっていると判別されないときには、画像データにおいて隣接する数画素の階調値が同等の値ではないと見なして、本発明による処理を行わない。すなわち、ブロックBL内の各画素についてディザマトリクスMTの閾値と画像データdaの階調値とを逐次比較してディザ処理を実施する(ステップS210)。
【0056】
拡大処理がなされた画像データdaは、図7に示すように4×4画素程度ではそのほとんどが同等の値になる場合が多い。そこで、ステップS205にて拡大済みフラグがONになっていると判別されたときには、ブロックBL内の画像データdaからいずれかの画素を抽出する(ステップS215)。次に、ブロックBLに相当するブロック閾値BThをハードディスクドライブ14から昇順に取得(ステップS220)し、ブロック閾値BThが上記ステップS215で抽出した画素の階調値より大きいと判別するまでステップS220の処理を繰り返すループ処理を行う(ステップS225)。
【0057】
ここで、データを昇順に取得するとは、ステップS220,S225によって実行されるループ処理においてループ処理の回数が増えるに従って大きな値のブロック閾値BThを取得するという意味である。図7においては、上記図5に示すブロック閾値テーブルデータの値を例にして示している。すなわち、この例ではディザマトリクスMTの左上のブロックBLに相当するブロック閾値は第1分類から順に”0”,”16”,”32”、、、”240”になっており、ループの回数が増加するに従って、この数値を大きくする。そして、逐次ブロック閾値BThと比較する。
【0058】
この処理の後、上記ループ処理にて比較を行った回数xを取得するとともに”x−1”をブロックBL内のドット形成数として取得する(ステップS230)。回数xは、初期値を”1”としてxをカウンタにしつつループ処理を行うなどして取得することができる。ハーフトーン画像データHTDaは上述のようにドット形成数毎に記憶されているので、上記ハードディスクドライブ14から上記取得したドット形成数に該当するハーフトーン画像データHTDaを読み出し、画像データdaをハーフトーン画像データHTDaに変換する(ステップS235)。
【0059】
図7に示す例では、ステップS215において画像データdaから階調値18の画素を抽出し、ステップS225においてブロック閾値BThと比較している状態を想定している。この状態において、階調値18は第2分類のブロック閾値BTh16と第3分類のブロック閾値BTh32の間に存在する。従って、上記ステップS225における比較回数は3になり、画像データdaはドット形成数”2”のハーフトーン画像データHTDaに変換されることになる。
【0060】
以上の処理の結果、ブロックBLの全画素を3回の比較のみで2値化したことになる。本実施形態において、ブロック閾値BThはブロックBLの画素数と等しい個数に分類されているので、上記ステップS220,S225におけるループ処理の最大繰り返し回数はブロックBLの画素数と等しい。従来の逐次的な比較によるディザ処理ではブロックBLの画素数分の比較を行うが、本実施形態においては最大でも従来のディザ処理と同数回の比較しか行わない。ほとんどの場合は従来のディザ処理より少ない比較回数で処理を終了する。従って、非常に高速にブロック毎のハーフトーン画像データHTDaを決定することができる。
【0061】
ブロックBLについてハーフトーン画像データHTDaを決定した後には、ディザマトリクスMT内に想定しうる総てのブロックについて画像データdaをハーフトーン画像データHTDaに変換する処理を終了したか否かを判別する(ステップS240)。そして、ステップS240にて総てのブロックについて処理が終了したと判別されなければ、次のブロックに移動、すなわちディザマトリクスMT内の未処理の領域にブロックBLを設定(ステップS245)してステップS215以降の処理を繰り返す。
【0062】
この処理によってディザマトリクスMT内の画像データの全画素について変換処理を行った後には、全画像データDaについてハーフトーン画像データHTDaに変換する処理を終了したか否かを判別する(ステップS250)。そして、ステップS250にて全画像データDaについて処理が終了したと判別されなければ、ディザマトリクスMTを移動、すなわち画像データDa内の未処理の領域にディザマトリクスMTを設定(ステップS255)してステップS205以降の処理を繰り返す。以上の結果、非常に高速に画像データを2値化することができる。
【0063】
(5)他の実施形態:
上記実施形態は本発明にかかる画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび印刷制御装置を実現する一例であり、むろん他の構成を採用することも可能である。すなわち、上記実施形態においては、本発明に含まれる複数の技術的思想を反映したディザマトリクスを採用し、このディザマトリクスに基づくハーフトーン処理を行っていた。例えば、ディザマトリクスの一部に相当するブロック毎に閾値と階調値とを比較してブロック毎にハーフトーン画像データを割り当てる点、ディザマトリクス上の階調をL分類して各分類から一階調ずつ抽出して各ブロックに登録する点、各ブロックに登録される第l分類の閾値の位置は総て共通である点等を反映した構成になっている。
【0064】
しかし、これらの一部あるいは一部の組み合わせを反映させた構成や他の技術的思想と組み合わせた構成を採用しても良い。具体的には、上記図4に示すディザマトリクスデータにおいて、各ブロック内の閾値は登録すべき位置や分類が決まっていたが、これらと全く無関係に従来のディザマトリクス、例えば、閾値をランダムに配置したマトリクスを採用しても良い。この場合、各ブロック内の閾値の配置が異なるため、総てのブロックについて一つのドット形成数に対して共通の一つのハーフトーン画像データが対応するとは言えない。
【0065】
しかし、閾値の配置は考えずに一つのドット形成数に対して一つのハーフトーン画像データを対応させておけば、少なくとも、各ブロックから閾値を順番に抽出して作成したブロック閾値テーブルデータを参照して上記図6に示す処理を行うことにより、高速にハーフトーン処理を実施することが可能になる。また、上述のように各ブロックに登録される第l分類の閾値の位置を総て共通にすることにより、ドット形成数毎に一つのハーフトーン画像データを記憶するだけで充分となり、さらに、ドット形成数を取得するのみで総てのブロックにおいてディザマトリクスの階調値パターンに確実に合致したハーフトーン画像データを決定することが可能になる。
【0066】
さらに、ディザマトリクス上の階調をL分類して各分類から一階調ずつ抽出して各ブロックに登録する構成と他の構成と組み合わせることにより非常に高速に処理を行うことが可能になる。その具体的な構成としては、図6に示すフローチャートにおいてステップS220,S225の代わりに以下の処理を行う構成を採用可能である。すなわち、予め各画素の階調値域をL個に分類しておき、ステップS215で取得した一画素の階調値がいずれの分類に入るのかを判別する。上記ブロック閾値テーブルデータ14bにおいても閾値がL個に分類されているので、上記階調値が第x分類に含まれるとすれば、この階調値と比較すべき閾値はブロック閾値テーブルデータ14bにおける第x分類である。
【0067】
そこで、第x分類のブロック閾値テーブルデータ14bと上記ステップS215で取得した一画素の階調値とを比較すれば、この一回の比較処理のみでドット形成数を特定することができる。すなわち、閾値より階調値が小さい場合にドット形成数をx個、閾値より階調値が大きい場合にドット形成数を(x+1)個とすることができ、この結果、一回の比較処理のみでハーフトーン画像データを決定することができる。従って、非常に高速にハーフトーン処理を実施することができる。
【0068】
さらに、この構成に加え、ディザマトリクスデータの各ブロックに登録される各閾値において、第x分類(xは1からLの自然数)の閾値と第(x+1)分類の閾値との数値間隔を一定にすれば、ブロック閾値テーブルデータ14bを記憶するための記憶容量を非常に少なくすることができる。すなわち、ブロック閾値テーブルデータ14bにおいては、N×M個の階調をL個(L=n×m)に分類するとともに各分類から一階調ずつ抽出して各ブロック内の閾値としている。
【0069】
従って、この規則に加えて隣り合う分類の閾値の数値間隔を一定にすれば、各ブロックについて少なくとも閾値を一つ記憶しておくことにより、他の閾値は演算にて算出することができる。例えば、第x分類の閾値=第1分類の閾値+(x−1)×N×M/n/mとすればよい。これにより、ブロック閾値テーブルデータ14bを記憶するために必要な記憶容量を非常に少なくすることができる。以上のように技術的思想の一部を利用したりその組み合わせを利用したりすることが可能であり、組み合わせによれば記憶容量の低減と処理速度の高速化を同時に実現することができる。
【0070】
さらに、上記実施形態においては、各ブロックのドット形成数を取得することによってドット形成数が何個であっても高速に処理できるようにしていたが、特定のドット形成数について高速化することも可能である。例えば、閾値の最小値とブロック内のいずれかの画素の階調値とを比較し、閾値の最小値が当該階調値より大きければブロック内の全画素をドット非形成にする構成を採用しても処理速度を高速化することができる。また、閾値の最大値とブロック内のいずれかの画素の階調値とを比較し、閾値の最大値が当該階調値より小さければブロック内の全画素でドットを形成する構成を採用しても処理速度を高速化することができる。
【0071】
さらに、ディザマトリクスの大きさ(画素数)としても上記図4に示すものに限られないし、大きさの変動に伴ってディザマトリクスに登録する閾値の値域を変動させることも可能である。また、各ブロックにおいて同じ分類に属する閾値を同じ位置に登録することが必須というわけではない。この場合には、各ブロック毎に別個のハーフトーン画像データを予め記憶しておき、ドット形成数を取得するとともに各ブロックに対応したハーフトーン画像データに変換すればよい。
【0072】
この構成によれば、各ブロックでドット形成パターンに差異を持たせることができるので、印刷物において特定のドットパターンを生じさせることはなく、より自然な印刷結果を得ることができる。むろん、各ブロックにおいて同じ分類に属する閾値が必ず一つ存在するように構成するのではなく、分類を考慮せず、マトリクス内で閾値をまばらに分散させてディザマトリクスを構成しても良い。
【0073】
さらに、本実施形態において、上記ブロックでの処理が終了すると未処理のブロックに対して処理を行うが、各ブロックを処理する際の順序は特に限定されない。むろん、ディザマトリクスも同様であり、未処理の画像データに対してディザマトリクスを移動させる際に、処理する順序は特に限定されない。
【0074】
さらに、上記実施形態においては、ブロック閾値テーブルデータとブロック内の一画素分の階調値とを比較することによってドット形成数を取得していたが、むろん、ドットを形成しない画素の数に主眼をおいてもドット形成数に基づく処理と実質的に等価である。ドット非形成数はブロック内の画素数−ドット非形成数となるからである。ドット非形成数に主眼をおく場合には上記図6のステップS220において現在のブロックのブロック閾値データを降順に取得し、ステップS225において閾値が階調値より小さいことを判別すればよい。この結果、比較回数−1がドット非形成数になる。
【0075】
画像データをハーフトーン画像データに変換するためには、ドット非形成数毎にハーフトーン画像データを記憶しておいても良いし、ドット非形成数からドット形成数を算出し、ブロック内の画像データをドット形成数に対応づけられたハーフトーン画像データに変換しても良い。さらに、比較回数を少なくするという意味では、ドット形成数の分布を考慮した構成にしても良い。すなわち、画像データの階調値に基づいてドット形成数が少ないことがはじめから分かっているときには、上記ステップS220のようにブロック閾値データを昇順に取得するループを行う。ドット形成数が少ないと言うことは、ステップS225での比較回数が少ないことを意味するので、高速に処理を行うことができる。
【0076】
ドット非形成数が少ないこと(あるいはドット形成数が多いこと)がはじめから分かっているときには、ステップS220においてブロック閾値データを降順に取得するループを行う。この場合は降順に比較した方が早期にブロック閾値<階調値という条件を満たす状態を発見できるので、少ない比較回数で高速に処理を行うことができる。ドット形成数が少ないという条件は画像データの画素が低階調(高明度)の場合が該当し、ドット非形成数が少ないという条件は画像データの画素が高階調(低明度)の場合が該当する。
【0077】
従って、画像データから抽出した一画素の階調値が低明度域に属するか高明度域に属するかを判別した上で、ブロック閾値データの比較順序を決定しても良い。より具体的な例としては、階調値が階調値域の中央値より低階調側にあるときはブロック閾値データを昇順に比較し、高階調側にあるときはブロック閾値データを降順に比較する構成等を採用可能である。むろん、中央値で分ける構成のみではなく種々の指標に基づいて低階調域と高階調域とを分けることができる。例えば、高階調になるほど単位階調変化に対する明度の低下度合いが鈍くなるインクの特性を考慮して、インクによって表現可能な明度域を2つに分割して高明度域と低明度域とを分けても良い。
【0078】
さらに、上述のステップS215においてはブロック内での一画素分の階調値を抽出することができれば良く、他にも種々の手法によって一画素分の階調値を抽出可能である。例えば、ブロック内の画素の総てあるいは一部について階調値を平均化してあたいでも良いし、上述の解像度変換モジュール32によって拡大処理が施される前の元画像の階調値を取得しても良い。
【0079】
さらに、上記実施形態では、拡大済みフラグがONになっているか否かによって従来の逐次比較によるディザ処理を実行するか、本発明にかかる処理を実行するかを分岐していたが、むろん、逐次比較によるディザ処理を行わないで、本発明にかかる処理のみを実施する専用の装置等を構成することも可能である。この場合には、上記ディザマトリクスデータ記憶手段にディザマトリクスデータ14aを保存しておくことが必須にはならず、ディザマトリクスMTから予めブロック閾値テーブルデータ14bを決定し、当該ブロック閾値テーブルデータ14bのみを保存しておく構成を採用しても良い。
【図面の簡単な説明】
【図1】画像データ処理装置の概略構成を示す図である。
【図2】プリンタドライバの概略構成を模式的に示す図である。
【図3】画像データ処理装置が行う処理のゼネラルフローである。
【図4】ディザマトリクスの例を簡易的に示す図である。
【図5】ブロック閾値テーブルデータとハーフトーン画像データとを示す図である。
【図6】ハーフトーン処理を示すフローチャートである。
【図7】ハーフトーン処理の実例を示す説明図である。
【符号の説明】
10…PC、10a…システムバス、14…ハードディスクドライブ、14a…ディザマトリクスデータ、14b…ブロック閾値テーブルデータ、14c…ハーフトーン画像データ、20…プリンタ、30…プリンタドライバ、31…画像データ取得モジュール、32…解像度変換モジュール、33…色変換モジュール、34…ハーフトーン処理モジュール、35…インターレース処理モジュール
Claims (17)
- ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、各画素についてのドット形成の有無を指定したハーフトーン画像データに変換する画像データ処理装置であって、
複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータを記憶するディザマトリクスデータ記憶手段と、
n×m(n,mは自然数)画素からなるブロック毎に当該ディザマトリクスに規定された閾値と上記画像データの各画素の階調値とを比較するに当たり、当該ブロック内の閾値の最小値およびまたは最大値と当該ブロック内での一画素分の階調値とを比較し、当該階調値より閾値の最小値の方が大きい場合にはブロック内の全画素についてドットを形成しないように指定し、当該階調値より閾値の最大値の方が小さい場合にはブロック内の全画素についてドットを形成するように指定したハーフトーン画像データを生成するハーフトーン処理手段とを備えることを特徴とする画像データ処理装置。 - ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、各画素についてのドット形成の有無を指定したハーフトーン画像データに変換する画像データ処理装置であって、
複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータを記憶するディザマトリクスデータ記憶手段と、
n×m(n,mは自然数)画素からなるブロックについてディザ処理後のドット形成状態を予め規定したハーフトーン画像データをブロック内のドット形成数毎に記憶するハーフトーン画像データ記憶手段と、
上記ブロック毎にディザ処理後のドット形成数を取得するドット形成数取得手段と、
同取得したドット形成数に対応したハーフトーン画像データを上記ハーフトーン画像データ記憶手段から取得し、上記ブロック内の画像データを当該取得したハーフトーン画像データに変換するハーフトーン処理手段とを備えることを特徴とする画像データ処理装置。 - 上記ディザマトリクスデータはN×M画素(N,Mは自然数)の閾値を規定したデータであるとともに、n×m画素からなる各ブロック内のデータはN×M個の階調をL個(L=n×m)に分類するとともに各分類から一階調ずつ抽出して閾値としたデータであることを特徴とする上記請求項1または請求項2のいずれかに記載の画像データ処理装置。
- 上記ディザマトリクスデータの各ブロックに登録される各閾値において、第x分類(xは1からLの自然数)の閾値と第(x+1)分類の閾値との数値間隔は一定であることを特徴とする上記請求項3に記載の画像データ処理装置。
- 上記ディザマトリクスデータは上記ブロックのいずれにおいても第L分類の閾値を同じ位置の画素に対応させたデータであり、上記ハーフトーン画像データ記憶手段はドット形成数の値毎に一つのハーフトーン画像データを記憶していることを特徴とする上記請求項3または請求項4のいずれかに記載の画像データ処理装置。
- 上記ディザマトリクスデータ記憶手段は上記各ブロック内に登録された閾値を昇順あるいは降順に並べたブロック閾値テーブルデータを記憶しており、上記ドット形成数取得手段は上記ブロック内での一画素分の階調値と当該閾値を昇順に比較して階調値が閾値より小さいと判定された段階で(比較回数−1)個をドット形成数として取得する処理あるいは上記ブロック内での一画素分の階調値と当該閾値を降順に比較して階調値が閾値より大きいと判定された段階で(n×m+1−比較回数)個をドット形成数として取得する処理によってドット形成数を取得することを特徴とする上記請求項2〜請求項5のいずれかに記載の画像データ処理装置。
- 上記ドット形成数取得手段は、上記ブロック内での一画素分の階調値が所定の低階調域にあるときは当該階調値を上記閾値と昇順に比較し、上記ブロック内での一画素分の階調値が所定の高階調域にあるときは当該階調値を上記閾値と降順に比較することを特徴とする上記請求項6に記載の画像データ処理装置。
- 上記ディザマトリクスデータ記憶手段は上記各ブロック内に登録された閾値を昇順に第1分類から第L分類のL個(L=n×m)に分類したブロック閾値テーブルデータを記憶しており、上記ドット形成数取得手段は、画像データの階調値域を第1分類から第L分類のL個に分割し、上記ブロック内での一画素分の階調値がL個の分類のうち第x分類(xは1からLの自然数)に含まれるときに、上記ブロック閾値テーブルデータを参照して第x分類の閾値と比較し、閾値より階調値が小さい場合にドット形成数をx個、閾値より階調値が大きい場合にドット形成数を(x+1)個とすることを特徴とする上記請求項2〜請求項5のいずれかに記載の画像データ処理装置。
- 上記ブロック内での一画素分の階調値は、当該ブロック内にあるいずれかの画素の階調値であることを特徴とする上記請求項1〜請求項8のいずれかに記載の画像データ処理装置。
- 上記画像データは、補間処理によって元画像の画素数を増加させた後のデータであることを特徴とする上記請求項9に記載の画像データ処理装置。
- 上記ブロック内での一画素分の階調値は、当該ブロック内にある画素の階調値の平均値であることを特徴とする上記請求項1〜請求項8のいずれかに記載の画像データ処理装置。
- ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータに従って、上記画像データを各画素についてのドット形成の有無を指定したハーフトーン画像データに変換する画像データ処理方法であって、
n×m(n,mは自然数)画素からなるブロック毎に当該ディザマトリクスに規定された閾値と上記画像データの各画素の階調値とを比較するに当たり、当該ブロック内の閾値の最小値およびまたは最大値と当該ブロック内での一画素分の階調値とを比較し、当該階調値より閾値の最小値の方が大きい場合にはブロック内の全画素についてドットを形成しないように指定し、当該階調値より閾値の最大値の方が小さい場合にはブロック内の全画素についてドットを形成するように指定したハーフトーン画像データを生成することを特徴とする画像データ処理方法。 - ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータに従って、上記画像データを各画素についてのドット形成の有無を指定したハーフトーン画像データに変換する画像データ処理方法であって、
所定の記憶媒体にn×m(n,mは自然数)画素からなるブロックについてディザ処理後のドット形成状態を予め規定したハーフトーン画像データをブロック内のドット形成数毎に記憶しておき、上記ブロック毎にディザ処理後のドット形成数を取得し、上記ブロック内の画像データを当該取得したドット形成数に対応したハーフトーン画像データに変換することを備えることを特徴とする画像データ処理方法。 - ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、各画素についてのドット形成の有無を指定したハーフトーン画像データに変換する画像データ処理プログラムであって、
複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータを所定の記憶媒体に記憶するディザマトリクスデータ記憶機能と、
n×m(n,mは自然数)画素からなるブロック毎に当該ディザマトリクスに規定された閾値と上記画像データの各画素の階調値とを比較するに当たり、当該ブロック内の閾値の最小値およびまたは最大値と当該ブロック内での一画素分の階調値とを比較し、当該階調値より閾値の最小値の方が大きい場合にはブロック内の全画素についてドットを形成しないように指定し、当該階調値より閾値の最大値の方が小さい場合にはブロック内の全画素についてドットを形成するように指定したハーフトーン画像データを生成するハーフトーン処理機能とをコンピュータに実現させることを特徴とする画像データ処理プログラム。 - ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、各画素についてのドット形成の有無を指定したハーフトーン画像データに変換する画像データ処理プログラムであって、
複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータを所定の記憶媒体に記憶するディザマトリクスデータ記憶機能と、
n×m(n,mは自然数)画素からなるブロックについてディザ処理後のドット形成状態を予め規定したハーフトーン画像データを所定の記憶媒体内にブロック内のドット形成数毎に記憶するハーフトーン画像データ記憶機能と、
上記ブロック毎にディザ処理後のドット形成数を取得するドット形成数取得機能と、
同取得したドット形成数に対応したハーフトーン画像データを上記所定の記憶媒体から取得し、上記ブロック内の画像データを当該取得したハーフトーン画像データに変換するハーフトーン処理機能とをコンピュータに実現させることを特徴とする画像データ処理プログラム。 - ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、当該画像を印刷するための印刷データを生成して印刷装置に画像を印刷させる印刷制御装置であって、
複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータを記憶するディザマトリクスデータ記憶手段と、
n×m(n,mは自然数)画素からなるブロック毎に当該ディザマトリクスに規定された閾値と上記画像データの各画素の階調値とを比較するに当たり、当該ブロック内の閾値の最小値およびまたは最大値と当該ブロック内での一画素分の階調値とを比較し、当該階調値より閾値の最小値の方が大きい場合にはブロック内の全画素についてドットを形成しないように指定し、当該階調値より閾値の最大値の方が小さい場合にはブロック内の全画素についてドットを形成するように指定したハーフトーン画像データを生成するハーフトーン処理手段と、
同ハーフトーン画像データを印刷装置において使用される順番に並べ替えて上記画像を印刷させる印刷データを生成し印刷装置に対して出力する印刷データ出力手段とを備えることを特徴とする印刷制御装置。 - ドットマトリクス状の画素で構成される画像について各画素の色を多階調表現した画像データを取得し、当該画像を印刷するための印刷データを生成して印刷装置に画像を印刷させる印刷制御装置であって、
複数の画素についてドット形成の有無を決定する閾値を規定したディザマトリクスデータを記憶するディザマトリクスデータ記憶手段と、
n×m(n,mは自然数)画素からなるブロックについてディザ処理後のドット形成状態を予め規定したハーフトーン画像データをブロック内のドット形成数毎に記憶するハーフトーン画像データ記憶手段と、
上記ブロック毎にディザ処理後のドット形成数を取得するドット形成数取得手段と、
同取得したドット形成数に対応したハーフトーン画像データを上記ハーフトーン画像データ記憶手段から取得し、上記ブロック内の画像データを当該取得したハーフトーン画像データに変換するハーフトーン処理手段と、
同ハーフトーン画像データを印刷装置において使用される順番に並べ替えて上記画像を印刷させる印刷データを生成し印刷装置に対して出力する印刷データ出力手段とを備えることを特徴とする印刷制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003026386A JP2004241850A (ja) | 2003-02-03 | 2003-02-03 | 画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび印刷制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003026386A JP2004241850A (ja) | 2003-02-03 | 2003-02-03 | 画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび印刷制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004241850A true JP2004241850A (ja) | 2004-08-26 |
Family
ID=32954415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003026386A Pending JP2004241850A (ja) | 2003-02-03 | 2003-02-03 | 画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび印刷制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004241850A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006209611A (ja) * | 2005-01-31 | 2006-08-10 | Noritsu Koki Co Ltd | 画像処理システム |
-
2003
- 2003-02-03 JP JP2003026386A patent/JP2004241850A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006209611A (ja) * | 2005-01-31 | 2006-08-10 | Noritsu Koki Co Ltd | 画像処理システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6490055B1 (en) | Printing apparatus with execution of software rendering and hardware rendering | |
JP4917104B2 (ja) | 透明を含むアートワークを印刷するシステムおよび方法 | |
JPH10108022A (ja) | ハーフトーン・イメージ・データ獲得方法と装置およびハーフトーン印刷方法と装置 | |
JPH1115966A (ja) | ハーフトーン方法 | |
JPH1051632A (ja) | 複合モードの文書の品質を向上させるための方法及び装置 | |
JP2008005317A (ja) | 画像処理装置及びその方法、並びに、コンピュータプログラムおよび記録媒体 | |
JP4135195B2 (ja) | 印刷処理システム及び印刷処理方法並びに印刷処理制御プログラムが記録されたコンピュータ読み取り可能な記録媒体 | |
JP3667181B2 (ja) | 画像処理方法および画像処理装置 | |
US10674037B2 (en) | Image processing apparatus, image processing method, and storage medium with halftone processing using dither matrix of dot concentration type or dither matrix of dot distribution type | |
JP4564986B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP2009071831A (ja) | 画像処理装置、画像処理方法及び画像形成装置 | |
JP5715386B2 (ja) | 画像処理装置及びその制御方法、並びにプログラム及び記憶媒体 | |
JP4131205B2 (ja) | 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム | |
JP2004241850A (ja) | 画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび印刷制御装置 | |
JP2004241849A (ja) | 画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび印刷制御装置 | |
US9332155B2 (en) | Digital image halftone conversion with selective enhancement | |
US7542173B2 (en) | Image processing device and image processing program causing computer to execute image processing | |
JP6765103B2 (ja) | 画像処理装置、画像処理プログラム及び画像処理方法 | |
JP2005252911A (ja) | 画像処理方法および画像処理装置 | |
JP7005796B2 (ja) | 画像形成装置、その制御方法、及びプログラム | |
JP2005295131A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP4636145B2 (ja) | 画像処理装置及びプログラム | |
JP2004241848A (ja) | 印刷制御装置、印刷制御方法および印刷制御プログラム | |
JP2001069349A (ja) | 画像処理方法、画像処理装置および記録媒体 | |
JP4072403B2 (ja) | 情報処理装置、情報処理方法及びプログラム |