以下、本発明に係る実施形態について、図面を参照して詳細に説明する。
以下で説明する実施形態は、インクジェット記録装置を例にしているが、本発明は、インクジェット記録装置に限られるものではない。ドットを記録するための記録手段と記録媒体との相対移動中に、記録手段によって記録媒体に画像を記録する方式の装置であれば、インクジェット記録装置以外の装置でも適用可能である。
また、記録手段と記録媒体との「相対移動(あるいは相対走査)」とは、記録媒体に対して記録手段が相対的に移動(走査)する動作、あるいは、記録手段に対して記録媒体が相対的に移動(搬送)する動作を指す。シリアル型の記録装置でマルチパス記録を実行する場合、記録媒体の同一領域に対して記録手段が複数回対向するように、記録ヘッドの走査が複数回実行される。一方、フルライン型の記録装置でマルチパス記録を実行する場合、記録媒体の同一領域に対して記録手段が複数回対向するように、記録媒体の搬送が複数回実行される。なお、記録手段とは、1つ以上の記録素子群(ノズル列)あるいは1つ以上の記録ヘッドを指す。
以下で説明する画像処理装置では、記録媒体の同一領域(所定領域)に対する記録手段の複数回の相対移動あるいは複数の記録素子群の相対移動によって上記同一領域に画像を記録するためのデータ処理を行う。ここで、「同一領域(所定領域)」とは、ミクロ的には「1つの画素領域」を指し、マクロ的には「1回の相対移動で記録可能な領域」を指す。「画素領域(単に「画素」と呼ぶ場合もある)」とは、多値画像データによって階調表現可能な最小単位の領域を指す。一方、「1回の相対移動で記録可能な領域」とは、1回の相対移動中に記録手段が通過する記録媒体上の領域、あるいは、この領域よりも小なる領域(例えば、1ラスター領域)を指す。例えば、シリアル型の記録装置において、図11に示されるようなM(Mは2以上の整数)パスのマルチパスモードを実行する場合、マクロ的には図中の1つの記録領域を同一領域と定義することも可能である。
<記録装置の概要説明>
図1は、本発明の実施の形態に係るフォトダイレクトプリンタ装置(以下、PDプリンタ)1000、すなわち画像形成装置(画像処理装置)の概観斜視図である。PDプリンタ1000は、ホストコンピュータ(PC)からデータを受信して印刷する通常のPCプリンタとしての機能以外に、以下のような様々な機能を持ち合わせている。すなわち、メモリカードなどの記憶媒体に記憶されている画像データを直接読取って印刷する機能や、デジタルカメラやPDAなどからの画像データを受信して印刷する機能である。
図1において、本実施形態に係るPDプリンタ1000の外殻をなす本体は、下ケース1001、上ケース1002、アクセスカバー1003及び排出トレイ1004の外装部材を有している。また、下ケース1001は、PDプリンタ1000の略下半部を、上ケース1002は本体の略上半部をそれぞれ形成している。両ケースの組合せによって内部に後述の各機構を収納する収納空間を有する中空体構造をなし、その上面部及び前面部にはそれぞれ開口部が形成されている。
排出トレイ1004は、その一端部が下ケース1001に回転自在に保持され、その回転によって下ケース1001の前面部に形成される開口部を開閉させ得るようになっている。このため、記録時には、排出トレイ1004を前面側へと回転させて開口部を開成させることにより、ここから記録された記録媒体(普通紙、専用紙、樹脂シート等を含む)が排出可能となると共に、排出された記録媒体を順次積載し得るようになっている。また排紙トレイ1004には、2枚の補助トレイ1004a,1004bが収納されており、必要に応じて各トレイを手前に引き出すことにより、記録媒体の支持面積を3段階に拡大、縮小させ得るようになっている。
アクセスカバー1003は、その一端部が上ケース1002に回転自在に保持され、上面に形成される開口部を開閉し得るようになっている。アクセスカバー1003を開くことによって本体内部に収納されている記録ヘッドカートリッジ(不図示)或いはインクタンク(不図示)等の交換が可能となる。尚、アクセスカバー1003を開閉させると、その裏面に形成された突起がカバー開閉レバーを回転させ、その回転位置をマイクロスイッチなどで検出することにより、アクセスカバー1003の開閉状態を検出し得るようになっている。
上ケース1002の上面には、電源キー1005が設けられている。上ケース1002の右側には、液晶表示部1006や各種キースイッチ等を備える操作パネル1010が設けられている。操作パネル1010の構造は、図2を参照して詳しく後述する。1007は自動給送部で、記録媒体を装置本体内へと自動的に給送する。1008はヘッド・紙間選択レバーで、記録ヘッドと記録媒体との間隔を調整するためのレバーである。1009はカードスロットで、ここにメモリカードを装着可能なアダプタが挿入され、このアダプタを介してメモリカードに記憶されている画像データを直接取り込んで印刷することができる。メモリカード(PC)としては、例えばコンパクトフラッシュ(登録商標)メモリ、スマートメディア、メモリスティック等がある。1011はビューワ(液晶表示部)で、PDプリンタ1000の本体に着脱可能であり、PCカードに記憶されている画像の中からプリントしたい画像を検索する場合などに、1コマ毎の画像やインデックス画像などを表示するのに使用される。1012は後述するデジタルカメラを接続するためのUSB端子である。PD装置1000の後面には、パーソナルコンピュータ(PC)を接続するためのUSBコネクタが設けられている。
<操作部の概要説明>
図2は、本発明の実施の形態に係るPDプリンタ1000の操作パネル1010の概観図である。図において、液晶表示部1006には、印刷に関する条件を各種設定するためのメニュー項目が表示される。例えば、以下の項目が有る。
・複数ある写真画像ファイルの内、印刷したい写真画像の先頭番号
・指定コマ番号(開始コマ指定/印刷コマ指定)
・印刷を終了したい最後の写真番号(終了)
・印刷部数(部数)
・印刷に使用する記録媒体の種類(用紙種類)
・1枚の記録媒体に印刷する写真の枚数設定(レイアウト)
・印刷の品位の指定(品位)
・撮影した日付を印刷するかどうかの指定(日付印刷)
・写真を補正して印刷するかどうかの指定(画像補正)
・印刷に必要な記録媒体の枚数表示(用紙枚数)
これら項目は、カーソルキー2001を用いて選択、或いは指定することが出来る。また、モードキー2002を押下する毎に、印刷の種類(インデックス印刷、全コマ印刷、1コマ印刷、指定コマ印刷等)を切り替えることができ、これに応じて対応するLED2003が点灯する。メンテナンスキー2004は、記録ヘッドのクリーニング等、記録装置のメンテナンスを行わせるためのキーである。印刷開始キー2005は、印刷の開始を指示する時、或いはメンテナンスの設定を確立する際に押下される。印刷中止キー2006は、印刷を中止させる時や、メンテナンスの中止を指示する際に押下される。
<制御部電気仕様概要>
図3は本発明の実施の形態に係るPDプリンタ1000の制御に係る主要部の構成を示すブロック図である。図3において、前述の図面と共通する部分は同じ記号を付与して、それらの説明は省略する。以下の説明から明らかとなるように、PDプリンタ1000は画像処理装置として機能する。
図3において、3000は制御部(制御基板)を示している。3001は画像処理ASIC(専用カスタムLSI)を示している。3002はDSP(デジタル信号処理プロセッサ)で、内部にCPUを有し、後述する各種制御処理及び、輝度信号(RGB)から濃度信号(CMYK)への変換、スケーリング、ガンマ変換、誤差拡散等の画像処理等を担当している。3003はメモリで、DSP3002のCPUの制御プログラムを記憶するプログラムメモリ3003a、及び実行時のプログラムを記憶するRAMエリア、画像データなどを記憶するワークメモリとして機能するメモリエリアを有している。3004はプリンタエンジンで、ここでは、複数色のカラーインクを用いてカラー画像を印刷するインクジェットプリンタのプリンタエンジンが搭載されている。3005はデジタルカメラ(DSC)3012を接続するためのポートとしてのUSBコネクタである。3006はビューワ1011を接続するためのコネクタである。3008はUSBハブ(USB HUB)で、PDプリンタ1000がPC3010からの画像データに基づいて印刷を行う際には、PC3010からのデータをそのままスルーし、USB3021を介してプリンタエンジン3004に出力する。これにより、接続されているPC3010は、プリンタエンジン3004と直接、データや信号のやり取りを行って印刷を実行することができる(一般的なPCプリンタとして機能する)。3009は電源コネクタで、電源3019により、商用ACから変換された直流電圧を入力している。PC3010は一般的なパーソナルコンピュータ、3011は前述したメモリカード(PCカード)、3012はデジタルカメラ(DSC:Digital Still Camera)である。
なお、この制御部3000とプリンタエンジン3004との間の信号のやり取りは、前述したUSB3021又はIEEE1284バス3022を介して行われる。
<プリンタエンジン部電気仕様概要>
図4は、本発明の実施の形態に係る、プリンタエンジン3004の内部構成を示すブロック図である。図において、E1004はメイン基板である。E1102はエンジン部ASIC(Application Specific Integrated Circuit)である。これは、制御バスE1014を通じてROM E1004に接続され、ROM E1004に格納されたプログラムに従って、各種制御を行っている。例えば、各種センサに関連するセンサ信号E0104や、マルチセンサE3000に関連するマルチセンサ信号E4003の送受信を行う。そのほか、エンコーダ信号E1020、電源キー1005や操作パネル1010上の各種キーからの出力の状態を検出している。また、ホストI/F E0017、フロントパネル上のデバイスI/F E0100の接続およびデータ入力状態に応じて、各種論理演算や条件判断等を行い、各構成要素を制御し、PDプリンタ1000の駆動制御を司っている。
E1103はドライバ・リセット回路である。これは、エンジン部ASIC E1102からのモータ制御信号E1106に従って、CRモータ駆動信号E1037、LFモータ駆動信号E1035、APモータ駆動信号E4001およびPRモータ駆動信号E4002を生成し、各モータを駆動する。さらに、ドライバ・リセット回路E1103は、電源回路を有しており、メイン基板E0014、記録ヘッドを搭載して移動するキャリッジに備えられたキャリッジ基板、操作パネル1010など各部に必要な電源を供給する。さらには電源電圧の低下を検出して、リセット信号E1015の発生および初期化を行う。
E1010は電源制御回路であり、エンジン部ASIC E1102からの電源制御信号E1024に従って発光素子を有する各センサ等への電源供給を制御する。
ホストI/F E0017は、図3中の制御部3000中の画像処理ASIC3001およびUSB HUB3008を介してPC3010と接続されている。そして、エンジン部ASIC E1102からのホストI/F信号E1028を、ホストI/FケーブルE1029に伝達したり、ケーブルE1029からの信号をエンジン部ASIC E1102に伝達したりする。
プリンタエンジンの電力は、図3の電源コネクタ3009と接続された電源ユニットE0015から供給され、メイン基板E0014内外の各部へは、必要に応じて電圧変換されてから供給される。一方、電源ユニット制御信号E4000がエンジン部ASIC E1102から電源ユニットE0015に送信され、PDプリンタ本体の低消費電力モード等の制御に用いられる。
エンジン部ASIC E1102は1チップの演算処理装置内蔵半導体集積回路であり、前述したモータ制御信号E1106、電源制御信号E1024および電源ユニット制御信号E4000等を出力する。そして、ホストI/F E0017との信号の授受を行うとともに、パネル信号E0107を通じて、操作パネル上のデバイスI/F E0100との信号の授受を行う。さらに、センサ信号E0104を通じてPEセンサ、ASFセンサ等各部センサ類により状態を検知する。さらに、マルチセンサ信号E4003を通じてマルチセンサE3000を制御するとともに状態を検知する。またパネル信号E0107の状態を検知して、パネル信号E0107の駆動を制御して操作パネル上のLED 2003の点滅を制御する。
さらにエンジン部ASIC E1102は、エンコーダ信号(ENC)E1020の状態を検知してタイミング信号を生成し、ヘッド制御信号E1021で記録ヘッド5004とのインターフェースをとり記録動作を制御する。ここにおいて、エンコーダ信号(ENC)E1020はCRFFC E0012を通じて入力されるエンコーダセンサE0004の出力信号である。また、ヘッド制御信号E1021は、フレキシブルフラットケーブルE0012を通じて不図示のキャリッジ基板に接続される。キャリッジ基板で受信されたヘッド制御信号は、ここに構成されたヘッド駆動電圧変調回路およびヘッドコネクタを経て記録ヘッドH1000に供給されるとともに、記録ヘッドH1000からの各種情報をASIC E1102に伝達する。このうち吐出部毎のヘッド温度情報については、メイン基板上のヘッド温度検出回路E3002で信号増幅された後、エンジン部ASICE1102に入力され、各種制御判断に用いられる。
図中、E3007はDRAMであり、記録用のデータバッファ、図3中の制御部3000中の画像処理ASIC3001またはUSB HUB3008を介したPC3010からの受信データバッファ等として使用される。また各種制御動作に必要なワーク領域としても使用される。
<記録部の概要>
図5は、本発明の実施の形態に係るシリアル型のインクジェット記録装置のプリンタエンジン部の記録部の概要を示す斜視図である。記録媒体Pは、自動給送部1007によって搬送経路上に配置された搬送ローラ5001とこれに従動するピンチローラ5002とのニップ部に給送される。その後、記録媒体Pは、搬送ローラ5001の回転によって、プラテン5003上に案内、支持されながら図中矢印A方向(副走査方向)に搬送される。ピンチローラ5002は、不図示のバネ等の押圧手段により、搬送ローラ5001に対して弾性的に付勢されている。これら搬送ローラ5001およびピンチローラ5002が記録媒体搬送方向の上流側にある第1搬送手段の構成要素をなす。
プラテン5003は、インクジェット形態の記録ヘッド5004の吐出口が形成された面(吐出面)と対向する記録位置に設けられ、記録媒体Pの裏面を支持することで、記録媒体Pの表面と吐出面との距離を一定の距離に維持する。プラテン5003上に搬送されて記録が行われた記録媒体Pは、回転する排出ローラ5005とこれに従動する回転体である拍車5006との間に挟まれてA方向に搬送され、プラテン5003から排紙トレイ1004に排出される。排出ローラ5005および拍車5006が記録媒体搬送方向の下流側にある第2搬送手段の構成要素をなす。
記録ヘッド5004は、その吐出口面をプラテン5003ないし記録媒体Pに対向させた姿勢で、キャリッジ5008に着脱可能に搭載されている。キャリッジ5008は、キャリッジモータE0001の駆動力により2本のガイドレール5009および5010に沿って往復移動され、その移動の過程で記録ヘッド5004は記録信号に応じたインク吐出動作を実行する。キャリッジ5008が移動する方向は、記録媒体が搬送される方向(矢印A方向)と交差する方向であり、主走査方向と呼ばれる。これに対し、記録媒体搬送方向は副走査方向と呼ばれている。キャリッジ5008および記録ヘッド5004の主走査(記録を伴う移動)と、記録媒体の搬送(副走査)とを交互に繰り返すことにより、記録媒体Pに対する記録が行われる。
図20は、記録ヘッド5004を吐出口形成面から観察した場合の概略図である。図中、51は第1シアンノズル列(記録素子群)であり、58は第2シアンノズル列である。52は第1マゼンタノズル列であり、57は第2マゼンタノズル列である。53は第1イエローノズル列であり、56は第2イエローノズル列である。54は第1ブラックノズル列であり、55は第2ブラックノズル列である。各ノズル列の副走査方向における幅はdであり、1回の走査によってdの幅の記録が可能となっている。
本実施形態の記録ヘッド5004は、シアン(C)、マゼンタ(M)、イエロー(Y)およびブラック(K)の各色について、ほぼ等量のインクを吐出する2本ずつのノズル列を備え、その両方のノズル列を用いて記録媒体に画像を記録する。これによって、個々のノズルのばらつきに起因する濃度むらやすじを、約1/2に低減することが出来る。また、本例のように各色のノズル列を主走査方向に対し対称に配置することによって、往路方向の記録走査でも復路方向の記録走査でも記録媒体に対するインクの付与順序を一定にすることが出来る。すなわち、往路方向であっても復路方向であっても、記録媒体に対するインクの付与順序は、C→M→Y→K→K→Y→M→Cとなり、双方向記録を行ってもインクの付与順序に起因する色むらは発生しない。
また、本実施形態の記録装置はマルチパス記録を実行することが出来るので、記録ヘッド5004が1回の記録走査で記録可能な領域は、複数回の記録走査によって段階的に画像が形成される。このとき、各記録走査の間に記録ヘッド5004の幅dよりも小さな量の搬送動作を行うことにより、個々のノズルのばらつきに起因する濃度むらやすじをさらに低減することが出来る。マルチパス記録を行うか否か、あるいはマルチパス数(同一領域に対し記録走査を行う回数)は、操作パネル1010からユーザが入力した情報や、ホスト装置から受信される画像情報によって、適宜定められるようになっている。
次に、上記記録装置にて実行可能なマルチパス記録の一例について図11を用いて説明する。ここでは、マルチパス記録の一例として2パス記録を例に挙げて説明するが、本発明は2パス記録に限定されるものではなく、3パス、4パス、8パス、16パス等のM(Mは2以上の整数)パス記録であればよい。なお、本発明において好適に適用される「M(Mは2以上の整数)パスモード」とは、記録素子の配列範囲の幅よりも小なる量の記録媒体の搬送を介在させた記録素子群のM回の走査によって記録媒体上の同一領域に記録を行うモードである。このようなMパスモードでは、記録媒体の1回の搬送量を、記録素子の配列範囲の幅の1/Mの幅に対応した量に等しく設定するのが好ましく、このような設定を行うことで、上記同一領域の搬送方向における幅が記録媒体の1回の搬送量に対応する幅に等しくなる。
図11は、2パス記録の様子を模式的に示した図であり、4つの同一領域に相当する第1記録領域から第4記録領域に対して記録する場合の記録ヘッド5004と記録領域との相対的な位置関係を示している。この図11では、図5に示される記録ヘッド5004のうちのある色の1つのノズル列(1つの記録素子群)51だけを示している。そして、以下では、ノズル列(記録素子群)51を構成する複数のノズル(記録素子)のうち、搬送方向上流側に位置するノズル群を上流側ノズル群105Aと称し、搬送方向下流側に位置するノズル群を下流側ノズル群105Bと称する。また、各同一領域(各記録領域)の副走査方向(搬送方向)における幅は、記録ヘッドの複数の記録素子の配列範囲の幅(1280ノズル幅)の約半分に相当する幅(640ノズル幅)に等しい。
第1走査では、上流側ノズル群105Aを用いて第1記録領域に記録されるべき画像の一部だけを記録する。この上流側ノズル群105Aによって記録される画像データは、個々の画素について、オリジナル画像データ(第1記録領域に最終的に記録すべき画像に対応した多値の画像データ)の階調値が約1/2に低減されたものとなっている。このような第1走査での記録終了後、Y方向に沿って640ノズル分の距離だけ記録媒体を搬送する。
次いで、第2走査では、上流側ノズル群105Aを用いて第2記録領域に記録されるべき画像の一部だけを記録すると共に、下流側ノズル群105Bを用いて第1記録領域に記録されるべき画像を完成させる。この下流側ノズル群105Bによって記録される画像データついても、オリジナル画像データ(第1記録領域に最終的に記録すべき画像に対応した多値の画像データ)の階調値が約1/2に低減されたものとなっている。これにより、第1記録領域には、階調値が約1/2に低減された画像データが2回記録されることになるので、オリジナル画像データの階調値が保存される。このような第2走査での記録終了後、記録媒体をY方向に640ノズル分の距離だけ搬送する。
次いで、第3走査では、上流側ノズル群105Aを用いて第3記録領域に記録されるべき画像の一部だけを記録すると共に、下流側ノズル群105Bを用いて第2記録領域に記録されるべき画像を完成させる。この後、記録媒体をY方向に640ノズル分の距離だけ搬送する。最後に、第4走査では、上流側ノズル群105Aを用いて第4記録領域に記録されるべき画像の一部だけを記録すると共に、下流側ノズル群105Bを用いて第3記録領域に記録されるべき画像を完成させる。この後、記録媒体をY方向に640ノズル分の距離だけ搬送する。他の記録領域に対しても同様な記録動作を行っていく。以上のような記録主走査と搬送動作とを繰り返すことにより、各記録領域に対して2パス記録が行われる。
なお、このようなマルチパス記録を記録媒体全域に渡って行う際、記録媒体の先端部、中央部および後端部では、搬送ローラ5001や排出ローラ5005によるニップ状態が異なっている。そして、先端部から中央部に記録が移行していく際や、中央部から後端部に記録が移行していく際は、記録媒体の端部が排出ローラのニップ部に突入したり搬送ローラのニップ部から外れたりするときの衝撃によって、数十μm程度の突発的な搬送誤差が生じることがある。この場合、この搬送動作の前後に行われる記録走査においては、記録媒体に記録するドット群のずれ(プレーン間のずれ)が発生しやすい。つまり、中央部から先端部や後端部に切り替わる領域では、他の領域に比べて濃度が変化するなどの弊害が発生しやすい傾向にある。
<ドット重複率の制御と濃度むらおよび粒状感の関係>
背景技術の項や発明が解決しようとする課題の項で述べたように、異なる走査や異なる記録素子群で記録されるドット同士がずれて重なると、画像の濃度変動が生じ、これが濃度むらとして知覚される。そこで本発明では、同じ位置(同じ画素や同じサブ画素)に重複して記録すべきドットを予め幾つか用意し、記録位置ずれが生じた際に、隣り合うドットが互いに重なり合い白紙領域を増加させる一方、重複したドットが互いに離れ白紙領域を減少させるようにする。これにより、記録位置ずれによる白紙領域の増と減、すなわち濃度の増と減が相殺し合い、画像全体としての濃度変化を抑制することが期待できる。
但し、重複したドットを予め用意することは、粒状感を悪化させることにも繋がる。例えば、全てのドットを2つずつ重ねながらN個のドットを記録する場合は、ドットを記録する位置が(N/2)個になり、ドットを全く重ねない場合に比べて、ドット同士の間隔が広がる。従って、全ドットを重ねた場合の画像の空間周波数は、ドットを全く重ねない場合の画像よりも低周波側に移行する。一般に、インクジェット記録装置により記録される画像の空間周波数は、人間の視覚特性が比較的敏感に反応する低周波領域から比較的鈍感になる高周波領域を含んでいる。よって、ドットの記録周期を低周波側に移動させることは、粒状感を感知させ画像弊害を招致することに繋がる。
すなわち、粒状感を抑えるためにドットの分散性を高くする(ドットの重複率を低く抑える)とロバスト性が損なわれ、ロバスト性を重視するためにドットの重複率を高くすると粒状感が問題視されることになり、両者を同時且つ完全に回避することは困難となる。
しかしながら、上記濃度変化についても粒状感についても、それぞれ、ある程度の許容範囲(人間の視覚特性上、視認されにくい範囲)を有している。よって、この許容範囲内に両者を抑える程度に、ドット重複率を調整することが出来れば、弊害の目立たない画像を出力することが期待できる。但し、上記許容範囲やドットの径や配置状態は、例えばインクの種類や記録媒体の種類、また濃度データ値など様々な条件に応じて変化し、適切なドット重複率が常に一定とは限らない。よって、より積極的にドットの重複率を制御可能な構成を備え、様々な条件に応じてこれを調整することが好ましい。
ここで「ドット重複率」について説明する。「ドット重複率」とは、図7や後述する図19に示されるように、K(Kは1以上の整数)個の画素領域で構成される単位領域に記録されるべき総ドット数のうち、異なる走査あるいは異なる記録素子群によって同じ位置に重複して記録されるべきドット(重なりドット)数の割合である。なお、同じ位置とは、図7の場合には同じ画素位置を指し、図19の場合にはサブ画素位置を指す。
以下、図7を用いて、4画素(主走査方向)×3画素(副走査方向)で構成される単位領域に対応した第1プレーンと第2プレーンのドット重複率について説明する。なお「第1プレ−ン」とは、第1走査あるいは第1ノズル群に対応した2値データの集合を表し、「第2プレ−ン」とは、第2走査あるいは第2ノズル群に対応した2値データの集合を表している。また、「1」はドットの記録を示すデータを表し、「0」はドットの非記録を示すデータを表している。
図7(A)〜(E)では、第1プレーンの「1」の個数が“4”で、第2プレ−ンの「1」の個数も“4”であるため、4画素×3画素で構成される単位領域に記録されるべき総ドット数は“8”となる。一方、同じ画素位置に対応する、第1プレーンと第2プレーンの「1」の個数が、同じ画素に重ねて記録されるべきドット(重なりドット)の数となる。この定義によれば、重なりドット数は、図7(A)の場合に“0”、図7(B)の場合には“2”、図7(C)の場合には“4”、図7(D)の場合には“6”、図7(E)の場合には“8”となる。従って、図7(H)に示されるように、図7(A)〜(E)のドット重複率は、それぞれ、0%、25%、50%、75%、100%となる。
さらに、図7(F)および(G)は、プレーンの記録ドット数および総ドット数が、図7(A)〜(E)の場合とは異なる場合を示している。図7(F)は、第1プレーンの記録ドット数“4”で、第2プレ−ンの記録ドット数が“3”で、総ドット数が“8”で、重なりドット数が“3”で、ドット重複率が57%の場合を示している。一方、図7(G)は、第1プレーンの記録ドット数“4”で、第2プレ−ンの記録ドット数が“2”で、総ドット数が“6”で、重なりドット数が“2”で、ドット重複率が33%の場合を示している。
このように本明細書における「ドット重複率」は、異なる走査あるいは異なる記録素子群に対応したドットデータを仮想的に重ねた場合のドットデータの重複率であって、紙面上においてドットが重複する面積率や割合を示すものではない。
以下、ドット重複率を制御するための画像処理方法について、複数の実施形態を例に説明する。
(第1の実施形態)
図21は、図11で示したように2回の記録走査によって記録媒体の同一領域の画像を完成させるマルチパス記録を行う場合の画像処理を説明するためのブロック図である。ここでは、デジタルカメラ3012などの画像入力機器から入力された画像データに対し、図の21〜25までの処理を図3で説明した制御部3000で行い、27以降の処理をプリンタエンジン3004によって行うものとする。このように、図21に示される多値画像データ入力部(21)、色変換/画像データ分割部(22)、階調補正処理部(23−1、23−2)および量子化処理部(25)は、制御部3000に備えられている。一方、2値データ分割処理部(27−1、27−2)は、プリンタエンジン3004に備えられている。
外部機器から、多値画像データ入力部21によって、RGBの多値の画像データ(256値)が入力される。この入力画像データ(多値のRGBデータ)は、画素毎に、色変換/画像データ分割部22によって、各インク色に対応した第1記録走査用と第2記録走査用の2組の多値画像データ(CMYKデータ)に変換される。具体的には、色変換/画像データ分割部22には、RGB値と、第1走査用のCMYK値(C1,M1,Y1,K1)および第2走査用のCMYK値(C2,M2,Y2,K2)と、が対応付けられた3次元のルックアップテーブルが予め設けられている。そして、この3次元のルックアップテーブル(LUT)を用いることにより、多値のRGBデータが、第1走査用の多値データ(C1,M1,Y1,K1)と第2走査用の多値データ(C2,M2,Y2,K2)に一括して変換される。この際、テーブル格子点値から外れる入力値に対しては、その周囲のテーブル格子点の出力値から補間によって出力値を算出してもよい。このように色変換/画像データ分割部22は、画素に対応する入力画像データに基づいて、第1走査用の多値データ(C1,M1,Y1,K1)と第2走査用の多値データ(C2,M2,Y2,K2)を生成するデータ生成部の役割を担う。
なお、色変換/画像データ分割部22の構成は、上述したような3次元のルックアップテーブルを用いる形態に限定されるものではない。例えば、多値のRGBデータを記録装置で使用するインクに対応した多値のCMYKデータに一旦変換し、更にこの多値のCMYKのそれぞれをほぼ2分割する形態であってもよい。
次に、第1走査用多値データと第2走査用多値データは、それぞれ、色毎に、階調補正処理部23−1および23−2にて階調補正処理が施される。ここでは、多値データの信号値と記録媒体上で表現される濃度値との関係が線形となるように、多値データの信号値変換が行われる。その結果、第1走査用の多値データ24−1(C1´,M1´,Y1´,K1´)と第2走査用の多値データ24−2(C2´,M2´,Y2´,K2´)が得られる。以下の処理は、シアン(C)、マゼンタ(M)、イエロー(Y)およびブラック(K)のそれぞれについて独立に並行して行われるので、これ以後の説明はブラック(K)のみについて行う。
続いて、量子化処理部25では、第1走査用の多値データ24−1(K1´)と第2走査用の多値データ24−2(K2´)のそれぞれに対し2値化処理(量子化処理)が行われる。すなわち、各多値データは0または1のどちらかに変換(量子化)されて、第1走査用の2値データK1″(第1の量子化データ)26−1および第2走査用のK2″(第2の量子化データ)26−2となる。この際、K1″とK2″の両方が1である画素にはドットが重複して記録され、K1″とK2″の両方が0である画素にはドットが記録されないことになる。また、K1″とK2″のどちらか一方が1である画素には、ドットが1つだけ記録されることになる。
量子化処理部25において実行される処理工程を、図26のフローチャートを用いて説明する。このフローチャートにおいて、K1´およびK2´は注目画素における入力多値データであり0〜255の値を有している。また、K1errおよびK2errは、既に量子化処理が終了した周辺の画素から発生した累積誤差値で、K1ttlおよびK2ttlは入力多値データと累積誤差値を合計した値である。更にK1″およびK2″は、第1記録走査用と第2記録走査用の2値の量子化データである。
本処理においては、2値の量子化データであるK1″やK2″の値を決定する際に用いる閾値(量子化パラメータ)が、K1ttlやK2ttlの値に応じて異なるようになっている。そのためにK1ttlやK2ttlの値に応じて閾値が一義的に決まるようなテーブルが予め用意されている。ここで、K1″を決定する際にK1ttlと比較するための閾値をK1table[K2ttl]とし、K2″を決定する際にK2ttlと比較するための閾値をK2table[K1ttl]とする。K1table[K2ttl]はK2ttlの値によって定まる値であり、K2table[K1ttl]はK1ttlの値によって定まる値である。
本処理が開始されると、まず、S21によりK1ttlおよびK2ttlを算出する。次いで、S22において、下記表1に示されるような閾値テーブルを参照することにより、S21で求めたK1ttlおよびK2ttlから、2つの閾値K1table[K2ttl]およびK2table[K1ttl]を取得する。閾値K1table[K2ttl]は、表1の閾値テーブルの「参照値」としてK2ttlを用いることによって一義的に定められる。一方、閾値K2table[K1ttl]は、表1の閾値テーブルの「参照値」としてK1ttlを用いることによって一義的に定められる。
続くS23〜S25においてK1″の値を決定し、S26〜S28においてK2″を決定する。具体的には、S23において、S21で算出したK1ttlがS22で取得した閾値K1table[K2ttl]以上であるか否かを判定する。そして、K1ttlが閾値以上であると判定された場合にはK1″=1とし、この出力値(K1″=1)に応じて累積誤差値K1err(=K1ttl−255)を算出して更新する(S25)。一方、K1ttlが閾値未満であると判定された場合にはK1″=0とし、この出力値(K1″=0)に応じて累積誤差値K1err(=K1ttl)を算出して更新する(S24)。
次いで、S26において、S21で算出したK2ttlがS22で取得した閾値K2table[K1ttl]以上であるか否かを判定する。そして、K2ttlが閾値以上であると判定された場合にはK2″=1とし、この出力値(K1″=1)に応じて累積誤差値K2err(=K2ttl−255)を算出して更新する(S28)。一方、K2ttlが閾値未満であると判定された場合にはK2″=0とし、この出力値(K2″=0)に応じて累積誤差値K2err(=K2ttl)を算出して更新する(S27)。
その後、S29において、上記のように更新された累積誤差値K1errおよびK2errを、図13に示される誤差拡散マトリクスに従って、未だ量子化処理が終了していない周辺画素に拡散する。本実施形態では、累積誤差値K1errを周辺画素に拡散するために図13(A)に示される誤差拡散マトリクスを用い、一方、累積誤差値K2errを周辺画素に拡散するために図13(B)に示される誤差拡散マトリクスを用いる。
このように本実施形態では、第1走査に対応した多値データ(K1ttl)に量子化処理を行うのに用いる閾値(量子化パラメータ)を、第2走査に対応した多値データ(K2ttl)に基づいて決定している。同様に、第2走査に対応した多値データ(K2ttl)に量子化処理を行うのに用いる閾値(量子化パラメータ)を、第1走査に対応した多値データ(K1ttl)に基づいて決定している。つまり、2回の走査のうちの一方の走査に対応した多値データと他方の走査に対応した多値データの両方に基づいて、一方の走査に対応した多値データの量子化処理も、他方の走査に対応した多値データの量子化処理も実行するのである。これにより、例えば、一方の走査でドットが記録される画素には、他方の走査ではドットが極力記録されないように制御することができるため、ドットの重なりに起因する粒状感の悪化を抑制することができる。
図22(A)は、上記図26のフローチャートに従って、下記表1の閾値テーブルの図22(A)の欄に記述される閾値を用いて量子化処理(2値化処理)を行った結果を入力値(K1ttlおよびK2ttl)と対応付けて説明するための図である。K1ttlおよびK2ttlは共に0〜255の値を取り得、閾値テーブルの図22の欄に示されるように閾値128を境に記録(1)および非記録(0)が決定される。図中のポイント221は全くドットを記録しない領域(K1″=0且つK2″=0)と、2つのドットが重なる領域(K1″=1且つK2″=1)の境界点となる。この例では、K1″=1となる確率(すなわちドット記録率)はK1´/255となり、K2″=1となる確率はK2´/255となる。
図22(B)は、上記図26のフローチャートに従って、下記表1の閾値テーブルの図22(B)の欄に記述される閾値を用いて量子化処理(2値化処理)を行った結果を、入力値(K1ttlおよびK2ttl)と対応付けて説明するための図である。ポイント231は、全くドットを記録しない領域(K1″=0且つK2″=0)と1ドットのみを生ずる領域(K1″=1且つK2″=0、あるいはK1″=0且つK2″=0)との境界である。また、ポイント232は、2つのドットを重複して記録する領域(K1″=1且つK2″=1)と1ドットのみを生ずる領域(K1″=1且つK2″=0、あるいはK1″=0且つK2″=0)との境界である。ポイント231と232がある程度の距離を置いて離れていることにより、図22(A)の場合に比べ、どちらか一方のドットが記録される領域が増え、両方のドットが記録される領域が減少している。つまり、図22(B)の場合は、図22(A)の場合よりも、ドット重複率が低減される確率が高く、粒状性を低く抑えるのに有利である。図22(A)の様にドット重複率が急峻に変化するポイントが存在すると、階調の僅かな変化によって濃度むらが発生する場合が有り得るが、図22(B)の場合には階調の変化に応じてドット重複率も滑らかに変化していくので、その様な濃度むらも起こり難い。
本実施形態の量子化処理においては、Kttlの値やK1´とK2´の関係に対して様々な条件を設けることにより、K1″およびK2″の値ひいてはドット重複率を様々に調整することが出来る。以下にいくつかの例を図22(C)〜図22(G)を用いて説明する。なお、図22(C)〜図22(G)は、上述した図22(A)および図22(B)と同様、下記表1に示される閾値テーブルに記述される閾値を用いて量子化した結果(K1″およびK2″)と入力値(K1ttlおよびK2ttl)との対応関係を示した図である。
図22(C)は、ドット重複率を図22(A)と図22(B)の間の値にするようにした場合を示す図である。ポイント241は図22(A)のポイント221と図22(B)のポイント231の中間点になるように定められている。また、ポイント242は図22(A)のポイント221と図22(B)のポイント232の中間点になるように定められている。
また、図22(D)は、図22(B)の場合よりもドット重複率を更に低減するようにした場合を示す図である。ポイント251は図22(A)のポイント221と図22(B)のポイント231を3:2に外分する点に定められている。また、ポイント252は図22(A)のポイント221と図22(B)のポイント232を3:2に外分する点に定められている。
図22(E)は、図22(A)の場合よりもドット重複率を増加させるようにした場合を示している。図において、ポイント261は、全くドットを記録しない領域(K1″=0且つK2″=0)と1ドットのみを生ずる領域(K1″=1且つK2″=0)と、2つのドットを重複して記録する領域(K1″=1且つK2″=1)との境界点である。また、ポイント262は、全くドットを記録しない領域(K1″=0且つK2″=0)と1ドットのみを生ずる領域(K1″=0且つK2″=1)と、2つのドットを重複して記録する領域(K1″=1且つK2″=1)との境界点である。図22(E)によれば、全くドットを記録しない領域(K1″=0且つK2″=0)から、2つのドットを重複して記録する領域(K1″=1且つK2″=1)への遷移が生じ易くなり、ドット重複率を増加させる事が出来る。
また、図22(F)は、ドット重複率を図22(A)と図22(E)の間の値にするようにした場合を示す図である。ポイント271は図22(A)のポイント221と図22(E)のポイント261の中間点となるように定められている。そして、ポイント272は図22(A)のポイント221と図22(E)のポイント262の中間点となるように定められている。
更に、図22(G)は、図22(E)の場合よりも更にドット重複率を増加させるようにした場合を示している。ポイント281は図22(A)のポイント221と図22(E)のポイント261を3:2に外分する点に定められている。そして、ポイント282は図22(A)のポイント221と図22(E)のポイント262を3:2に外分する点に定められている。
次に、下記表1に示される閾値テーブルを用いた量子化処理の方法について具体的に説明する。表1は、図22(A)〜図22(G)に示した処理結果を実現するために、図26で説明したフローチャートのS22において閾値を取得するための閾値テーブルである。
ここでは、入力値(K1ttl、K2ttl)が(100、120)で、且つ、閾値テーブルの図22(B)の欄に記述される閾値を用いる場合について説明する。まず、図26のS22では、表1に示される閾値テーブルと、K2ttl(参照値)に基づいて、閾値K1table[K2ttl]を求める。参照値(K2ttl)が「120」であれば、閾値K1table[K2ttl]は「120」となる。同様に、閾値テーブルとK1ttl(参照値)に基づいて、閾値K2table[K1ttl]を求める。参照値(K1ttl)が「100」であれば、閾値K2table[K1ttl]は「101」となる。次いで、図26のS23において、K1ttlと閾値K1table[K2ttl]を比較判定し、この場合、K1ttl(=100)<閾値K1table[K2ttl](=120)であるため、K1″=0(S24)となる。同様に、図26のS26において、K2ttlと閾値K2table[K1ttl]を比較判定し、この場合、K2ttl(=120)≧閾値K2table[K1ttl](=101)であるため、K2″=1(S28)となる。この結果、図22(B)に示されるように、(K1ttl、K2ttl)=(100、120)の場合には、(K1″、K2″)=(0、1)となる。
また、別の例として、入力値(K1ttl、K2ttl)=(120、120)で、且つ、閾値テーブルの図22(C)の欄に記述される閾値を用いる場合について説明する。この場合、閾値K1table[K2ttl]は「120」となり、閾値K2table[K1ttl]は「121」となる。従って、K1ttl(=120)≧閾値K1table[K2ttl](=120)であるため、K1″=1となり、一方、K2ttl(=120)<閾値K2table[K1ttl](=121)であるため、K2″=0となる。この結果、図22(C)に示されるように、(K1ttl、K2ttl)=(120、120)の場合には、(K1″、K2″)=(1、0)となる。
以上のような量子化処理によれば、2回の走査に対応した多値データの両方に基づいて、2回の走査夫々に対応した多値データを量子化することで、2回の走査間でのドット重複率を制御している。これにより、一方の走査で記録されるドットと他方の走査で記録されるドットの重複率を好適な範囲内、すなわち、高いロバスト性と低い粒状性を両立させることができる範囲内に収めることができる。
再び、図21に戻る。量子化処理部25によって、以上説明したような所望のドット重複率を実現するための2値の画像データK1″およびK2″が得られると、これらデータはそれぞれ、IEEE1284バス3022を介して図3で示したプリンタエンジン3004に送られる。以後の処理はプリンタエンジン3004で実行される。
プリンタエンジン3004において、2値の画像データK1″(26−1)およびK2″(26−2)は、それぞれ、2つのノズル列54と55に対応した2値データに分割される。すなわち、第1走査用の2値画像データK1″(26−1)は、第1走査2値データ分割処理部27−1によって、第1ノズル列の第1走査用の2値データ28−1と、第2ノズル列の第1走査用の2値データ28−2に分割される。また、第2走査用の2値画像データK2″(26−2)は、第2走査2値データ分割処理部27−2によって、第1ノズル列の第2走査用の2値データ28−3と、第2ノズル列の第2走査用の2値データ28−4に分割される。
ここで、第1走査2値データ分割処理部および第2走査2値データ分割処理部について詳しく説明する。本実施形態において、第1走査2値データ分割処理部27−1および第2走査2値データ分割処理部27−2では、予めメモリ(ROM E1004)に記憶されているマスクを利用して分割処理が実行される。マスクとは、個々の画素に対して2値画像データの記録の許容(1)または非許容(0)が予め定められたデータの集合体であり、2値画像データと画素毎に論理積演算することで、上記2値画像データを分割するものである。
2値の画像データをN分割する場合、N個のマスクが用いられるのが一般であり、2値の画像データを2分割する本実施形態では、図8に示されるような2つのマスク1801、1802が使用される。ここでは、マスク1801は第1ノズル列用の2値データを生成するために利用され、マスク1802は第2ノズル列用の2値データを生成するために利用される。これら2つのマスクは互いに補完の関係を有しているため、これらマスクで分割された2値データ同士は互いに重ねることがない。従って、異なるノズル列によって記録されるドット同士が紙面上で重なる確率が低く抑えられるため、上述した走査間に対して行われるドット重複率制御に比べて、粒状感の悪化を招きにくい。なお、図8において、黒で示される部分が画像データの記録を許容するデータ(1:画像データをマスクしないデータ)であり、白で示される部分は画像データの記録を許容しないデータ(0:画像データをマスクするデータ)である。
このようなマスク1801、1802を用いて、第1走査2値データ分割処理部および第2走査2値データ分割処理部で分割処理が行われる。詳しくは、第1走査2値データ分割処理部27−1では、2値データK1″(26−1)とマスク1801との論理積演算を画素毎に行うことで第1ノズル列用の2値データ28−1が生成される。同様に、2値データK1″(26−1)とマスク1802との論理積演算を画素毎に行うことで第2ノズル列用の2値データ28−1が生成される。一方、第2走査2値データ分割処理部27−2では、2値データK1″(26−2)とマスク1801との論理積演算を画素毎に行うことで第1ノズル列用の2値データ28−3が生成される。同様に、2値データK1″(26−2)とマスク1802との論理積演算を画素毎に行うことで第2ノズル列用の2値データ28−4が生成される。なお、第1走査2値データ分割処理部27−1と第2走査2値データ分割処理部27−2とでは、同じマスクパターン1801および1802のセットを用いているが、異なるマスクパターンのセットを使用してもよい。
その後、各2値画像データ(28−1〜4)は、対応するノズル列の対応する走査ごとに用意されたバッファ(29−1〜4)に格納される。そして、個々のバッファに2値の画像データが必要量格納されると、対応するバッファに格納されているデータに従って記録動作が実行される。
以下、図21で説明した画像処理について、図12を用いてより具体的に説明する。図12は、図21に示した画像処理の具体例をイメージ化したものである。ここでは、4画素×4画素の計16画素に対応した入力画像データ141を処理する場合について説明する。符号A〜Pは、各画素に対応する入力画像データ141のRGB値の組合せを示している。符号A1〜P1は、各画素に対応した第1走査用の多値画像データ142のCMYK値の組合せを示している。符号A2〜P2は、各画素に対応した第2走査用の多値画像データ143のCMYK値の組合せを示している。
図において、第1走査用の多値画像データ142が図21の第1走査用の多値データ24−1に相当し、第2走査用の多値画像データ143が図21の第1走査用の多値データ24−2に相当する。また、第1走査用の量子化データ144が図21の第1走査用の2値データ26−1に相当し、第2走査用の量子化データ145が図21の第2走査用の2値データ26−2に相当する。更に、第1ノズル列に対応した第1走査用の量子化データ146が図21の2値データ28−1に相当し、第2ノズル列に対応した第1走査用の量子化データ147が図21の2値データ28−2に相当する。また、第1ノズル列に対応した第2走査用の量子化データ148が図21の2値データ28−3に相当し、第2ノズル列に対応した第2走査用の量子化データ149が図21の2値データ28−4に相当する。
まず、入力画像データ141(RGBデータ)が、図21の色変換/画像データ分割部22に入力される。すると、色変換/画像データ分割部22では、3次元のLUTによって、入力画像データ141(RGBデータ)が、画素毎に、第1走査用の多値画像データ142(CMYKデータ)と第2走査用の多値画像データ143(CMYKデータ)に変換される。例えば、符号Aで示される入力画像データのRGB値が(R、G、B)=(0、0、0)である場合、符号A1で示される多値画像データ142のCMYK値が(C1、M1、Y1、K1)=(0,0,0、128)となる。また、符号A2で示される多値画像データ143のCMYK値が(C2、M2、Y2、K2)=(0,0,0、127)となる。このように色変換/画像データ分割部22では、入力画像データ141に基づいて、2回の走査に対応した2つの多値画像データ(142および143)が生成される。なお、これ以降の処理(階調補正処理、量子化処理、マスク処理)は、CMYKの各色について独立に並行して行われるので、以下では、説明の便宜上、1色(K)のみについて示し、その他の色については省略する。
上述のようにして得られた第1走査用および第2走査用の多値画像データ(142、143)は図21の量子化部25に入力される。量子化部25では、第1走査用および第2走査用の多値画像データ(142、143)のそれぞれに対して誤差拡散処理が施され、第1走査用および第2走査用の量子化データ(144、145)が生成される。より詳しくは、第1走査用の多値画像データ142に誤差拡散処理を行う場合、図26および表1を用いて説明した通り、誤差拡散処理の際に用いる閾値を第2走査用の多値画像データ143に基づいて決定する。その後、こうして決定された閾値と、図13(A)で示される誤差拡散マトリックスAを用いて、第1走査用の多値画像データ142に対し2値化のための誤差拡散処理を行う。これにより、第1走査用の2値の量子化データ144が生成される。同様に、第2走査用の多値画像データ143に誤差拡散処理を行う場合、図26および表1を用いて説明した通り、誤差拡散処理の際に用いる閾値を第1走査用の多値画像データ142に基づいて決定する。その後、こうして決定された閾値と、図13(B)で示される誤差拡散マトリックスBを用いて、第2走査用の多値画像データ143に対し2値化のための誤差拡散処理を行う。これにより、第2走査用の2値の量子化データ145が生成される。なお、第1走査用および第2走査用の量子化データ(144、145)のうち、「1」のデータはドットの記録(インクの吐出)を示すデータであり、「0」のデータはドットの非記録(インクの非吐出)を示すデータである。
続いて、第1走査2値データ分割処理部27−1では、第1走査用の量子化データ144をマスクにより分割することで、第1ノズル列に対応した第1走査用の量子化データ146と第2ノズル列に対応した第1走査用の量子化データ147を生成する。詳しくは、第1走査用の量子化データ144を図8のマスク1801によって間引くことにより、第1ノズル列に対応した第1走査用の量子化データ146を得る。また、第1走査用の量子化データ144を図8のマスク1802によって間引くことにより、第2ノズル列に対応した第1走査用の量子化データ147を得る。一方、第2走査2値データ分割処理部27−2では、第2走査用の量子化データ145をマスクにより分割することで、第1ノズル列に対応した第2走査用の量子化データ148と第2ノズル列に対応した第2走査用の量子化データ149を生成する。詳しくは、第2走査用の量子化データ145を図8のマスク1801によって間引くことにより、第1ノズル列に対応した第2走査用の量子化データ148を得る。また、第2走査用の量子化データ145を図8のマスク1802によって間引くことにより、第2ノズル列に対応した第2走査用の量子化データ149を得る。このようにして2つのノズル列の2回の走査で記録される4種類の2値データ146〜149が生成される。
ところで、本実施形態では、互いに補間関係のある2つのマスクパターンを用いて2つのノズル列に対応した同一走査用の2値データを生成しているため、ノズル列間では上述したようなドット重複率制御は適用されない。勿論、走査間のみならずノズル列間にもドット重複率制御を適用することは可能であるが、ノズル列間にもドット重複率制御を適用すると、量子化対象のデータ数が多くなるため、データ処理の負荷が大きくなってしまう。また、多くの記録装置では、ノズル間での記録位置ずれは走査間での記録位置ずれよりも小さい傾向にあり、ノズル列間にドット重複率制御を適用せずとも、濃度変動による濃度むらが生じにくい。このような理由から、本実施形態では、走査間にだけドット重複率制御を適用し、ノズル列間にはドット重複率制御を適用しないようにしている。
以上のように図12に示される処理によれば、異なる走査に対応した2値画像データ(144、145)を重ねた場合に、ドット同士が重なる箇所(両方のプレーンに“1”が存在する画素)がある程度存在するため、濃度変動に強い画像を得ることができる。その一方で、ドット同士が重なる箇所はそれ程多くないため、ドット同士の重なりが原因で生じる粒状感の悪化を招かずに済む。更に、走査間にだけドット重複率制御を適用し、ノズル列間にはドット重複率制御を適用しないようにしているので、ドット重複率制御による処理負荷を抑制しながら、濃度むら低減と粒状感低減をバランスよく実現することが出来る。
以上説明したように、本実施形態によれば、第1走査用と第2走査用の多値の画像データの両方に基づいて、第1走査用の多値の画像データの量子化処理も、第2走査用の多値の画像データの量子化処理も実行する。これにより、2つの走査において所望のドット重複率を有する画像を出力することが可能となり、ロバスト性に優れ粒状感も低減された高品位な画像が得られる。
(第1の実施形態の変形例1)
上述したように、本実施形態で好適に実行される量子化処理は、図26を用いて説明したようなドット重複率を制御できる誤差拡散処理であるが、本実施形態において適用可能な量子化処理はこれに限られるものではない。以下、本実施形態で適用可能な量子化処理の別例について図25を用いて説明する。
図25は、本実施形態の制御部3000が、ドット重複率を低減するために実行可能な誤差拡散法の一例を説明するためのフローチャートである。当該フローチャートにおいて、各種パラメータは図26で説明したものと同じである。
注目画素に対する量子化処理が開始されると、まずS11において、K1ttlおよびK2ttlが算出され、更にこれらを加算したKttlが算出される。このとき、Kttlは0〜510の値を有する。続くS12〜S17では、Kttlの値やK1ttlおよびK2ttlの大小関係に応じて、2値の量子化データに相当するK1“およびK2”の値を決定する。
Kttl>128+255の場合はS14へ進み、K1″およびK2″を共に1とする。また、Kttl≦128の場合はS17へ進み、K1″およびK2″を共に0とする。一方、128+255≧Kttl>128の場合はS13進み、K1ttlとK2ttlの大小関係を更に調べる。S13でK1ttl>K2ttlの場合はS16に進み、K1″=1且つK2″=0とする。K1ttl≦K2ttlの場合はS15に進み、K1″=0且つK2″=1とする。
なお、S14〜S17においては、それぞれの決定した出力値に応じて累積誤差値K1errおよびK2errを新たに算出して更新する。すなわち、K1″=1の場合にはK1err=K1ttl−255とし、K1″=0の場合にはK1err=K1ttlとする。同様に、K2″=1の場合にはK2err=K2ttl−255とし、K2″=0の場合にはK2err=K2ttlとする。さらに続くS18では、更新された累積誤差値K1errおよびK2errを、所定の拡散マトリクス(例えば、図13に示される拡散マトリクス)に従って、未だ量子化処理が終了していない周辺画素に拡散する。以上で本処理が完了する。なお、ここでは、累積誤差値K1errを周辺画素に拡散するために図13(A)に示される誤差拡散マトリクスを用い、累積誤差値K2errを周辺画素に拡散するために図13(B)に示される誤差拡散マトリクスを用いる。
以上説明した変形例1によれば、第1走査用と第2走査用の多値の画像データの両方に基づいて、第1走査用の多値の画像データの量子化処理も、第2走査用の多値の画像データの量子化処理も実行する。これにより、2つの走査において所望のドット重複率を有する画像を出力することが可能となり、ロバスト性に優れ粒状感も低減された高品位な画像が得られる。
(第1の実施形態の変形例2)
上述の実施形態では、2回の記録走査で同一領域(例えば、画素領域)の記録を完成させる、いわゆる2パス記録の例を説明したが、本実施形態は2パス記録に限定されるものではない。本実施形態は3パス、4パス、8パス等のM(Mは2以上の整数)パス記録に適用可能である。以下、3パス記録を行う場合の画像処理について説明する。
本変形例2では、同一領域に対する走査回数すなわちマルチパス数を3にし、3つのプレーンについてドット重複率を制御する。この場合、図21の色変換/画像データ分配部22で生成される多値の濃度データの数は3つになる。すなわち、入力画像データ(RGB)と3パスに対応した多値の濃度データ(C1M1Y1K1/C3M2Y2K2/C3M3Y3K3)とが対応付けられた3次元LUTを参照することで、入力画像データが多値の濃度データに一括変換される。それに伴い、量子化処理部25は、3つの多値データすなわち第1多値データ〜第3多値データのそれぞれに対し、用意された閾値テーブルを参照することにより得られた閾値を用いて量子化処理を行い、3つの2値データを出力することになる。
図14は、本実施形態の制御部3000が、3回の走査に対応した3プレーンの多値データを量子化する際の処理工程を説明するためのフローチャートである。当該フローチャートにおいて、各種パラメータは図26で説明したものと同じである。但し、第3走査用の、入力多値データK3´、累積誤差値K3err、入力多値データと累積誤差値を合計した値K3ttl、および2値の出力データK3″がパラメータとして追加されている。また、K3″を決定するためにK3ttlと比較するための閾値をK3tableとし、K3tableは、閾値テーブルを参照することによって、K1ttlとK2ttlの中の最大値から定められる値とする。
本処理が開始されると、まず、S31によりK1ttl、K2ttlおよびK3ttlが算出され、更にS32において、閾値テーブルを参照することにより、K1table、K2tableおよびK3tableを取得する。本例で参照する閾値テーブルは、表1に記載の閾値テーブルに対し、K3table用の1列分が増えた形態となっている。そして、K1tableについては、K2ttlおよびK3ttlのうち、より大きい値MAX[K2ttl、K3ttl]を、閾値を選択するための参照値とする。また、K2tableについてはMAX[K1ttl、K3ttl]を、さらに、K3tableについてはMAX[K1ttl、K2ttl]を、それぞれ閾値を選択するための参照値とする。
続くS33〜S35においてK1″の値を決定し、S36〜S38においてK2″を決定し、S39〜S41においてK3″を決定する。いずれも、K1ttl、K2ttlあるいはK3ttlがS32で取得した閾値以上であれば、K1″=1(S35)、K2″=1(S38)またはK3″=1(S41)とする。一方、K1ttl、K2ttlあるいはK3ttlがS32で取得した閾値未満であれば、K1″=0(S34)、K2″=0(S37)またはK3″=0(S40)とする。そして、それぞれの出力値に応じて累積誤差値K1err、K2errおよびK3errを算出して更新する。更にS42において、更新された累積誤差値K1err、K2errおよびK3errを、所定の拡散マトリクスに従って、未だ量子化処理が終了していない周辺画素に拡散する。以上で本処理が終了する。なお、ここでも、累積誤差値K1errを周辺画素に拡散するために図13(A)に示される誤差拡散マトリクスを用い、累積誤差値K2errを周辺画素に拡散するために図13(B)に示される誤差拡散マトリクスを用いる。
以上では、注目する記録走査に対応した多値データを量子化する際に用いる閾値(例えばK1table)を決めるための参照値を、他の1回の記録走査に対応する多値データの最大値(MAX[K2ttl、K3ttl])とした。しかし、本実施形態において参照値はこれに限られるものではない。例えば他の複数の記録走査に対応する多値データの和(K2ttl+K3ttl)を参照値とすることも出来る。どのような方法で参照値を定めるにせよ、その参照値から個々の記録走査の多値データを量子化するための適切な閾値が一義的に得られるような閾値テーブルが用意されていれば、本方法は有効となる。
以上説明した方法を用いれば、3パス用のデータを、所望のドット重複率が実現されるように生成することが可能となる。また、上記方法を応用すれば、記録媒体の同一領域(例えば、画素領域)に対して記録ヘッドをM(Mは2以上の整数)回走査させるマルチパス記録であっても、所望のドット重複率が実現されるようにMパスのデータを生成することが出来る。この場合、Mパスのデータ夫々の量子化処理においては、M個の多値データに基づいて閾値が選択される構成となる。
(第1の実施形態の変形例3)
上述した第1の実施形態では、走査間にだけドット重複率制御を適用し、ノズル列間にはドット重複率制御を適用していない。しかし、走査間のみならずノズル列間にもドット重複率制御を適用することはできる。以下、走査間にだけドット重複率制御を適用する形態、および、走査間とノズル列間の両方にドット重複率制御を適用する形態の、それぞれの利点について説明する。
上述した濃度変動を生じさせ得る複数の要因として、記録走査間の記録位置のずれ(要因A)、および、ノズル列間の記録位置のずれ(要因B)が考えられる。このような両方の要因に起因する濃度変動を低減するべく、走査間とノズル列間の両方にドット重複率制御を適用しようとすると、量子化処理において、以下に示す4つのプレーンのデータに基づいて、4つのプレーンのドット重複率を調整する必要が生じる。ここで、4つのプレーンとは、第1ノズルの第1走査用のプレーンと、第1ノズルの第2走査用のプレーンと、第2ノズルの第1走査用のプレーンと、第2ノズルの第2走査用のプレーンである。上述したドット重複率制御は、マスクパターンを用いた分割処理に比べて、データ処理の負荷が大きい。よって、上述の両要因に起因する記録位置ずれに対応するために全てのプレーン間のドット重複率を制御しようとすると、多大な処理時間が要され、この処理が原因で印刷速度が低下してしまう場合も懸念される。
そこで、上述した第1の実施形態では、データ処理の負荷を軽減しつつ、記録位置ずれに起因した濃度変動を抑制するために、記録位置ずれが相対的に大きい傾向にある走査間にだけドット重複率制御を適用する。そして、記録位置ずれが相対的に小さい傾向にあるノズル列間には、ドット重複率制御を適用しないようにしている。詳しく説明すると、多くのプリンタでは、ノズル列間の記録位置ずれが走査間の記録位置ずれよりも小さい傾向にある。特に、図20のような各色のノズル列が一体的に配置されている記録ヘッドを使用する場合には、ノズル列間にドット重複処理を適用せずとも濃度変動による濃度むらが顕在化されにくい。従って、濃度むら軽減よりもデータ処理負荷軽減を優先して、ノズル列間にはドット重複制御を適用しないようにしている。また、ノズル列間にはマスクを用いた分割処理を適用しているが、これらマスクは互いに補完の関係を有しているため、これらマスクで分割された2値データ同士は互いに重ねることがない。従って、異なるノズル列で記録されるドット同士が紙面上で重なる確率は低くなるので、ノズル列間にドット重複率制御を適用した場合に比べて、粒状感の低減を図ることもできる。
以上のような理由で、第1の実施形態では、走査間にだけドット重複率制御を適用し、ノズル列間にはドット重複率制御を適用していない。しかし、ノズル列間の記録位置ずれに起因した濃度変動による濃度むらが全く生じないわけではない。例えば、記録ヘッドの製造誤差や記録ヘッドを装置に搭載したときの誤差等によってノズル列間の記録位置にずれが生じ、これが原因となって上記濃度むら問題が顕在化される場合もある。また、図20のようなノズル列が一体成形されたものではなく、ノズル列が別々の独立したヘッドに設けられている場合には、ノズル列間の記録位置ずれが生じやすい。従って、処理負荷軽減よりも濃度むら抑制を優先するのであれば、走査間とノズル列間の両方にドット重複率制御を適用すること形態が好ましい。このような形態によれば、上述の両要因に起因する記録位置ずれに起因する濃度むらを軽減できる。
また、場合によっては、ノズル列間の記録位置ずれ量と記録走査間の記録位置ずれ量の大小関係が、上述した関係と逆転することも有り得る。例えば図5に示したガイドレール5009および5010が湾曲し、キャリッジ5008の傾きが走査中に変動してしまうような場合には、ノズル列間の記録位置ずれの方が、記録走査間の記録位置ずれよりも大きくなり得る。このような場合には、ノズル列間にだけドット重複率制御を適用し、走査間にはマスク分割処理を適用する形態、あるいは、ノズル列間と走査間の両方にドット重複率制御を適用する形態を採用するのが好ましい。前者の形態の場合、図21における24−1が第1ノズル列用の多値データとなり、26−1が第1ノズル列2値データとなる。また、28−1および28−2が、それぞれ、第1ノズル列第1走査2値データおよび第1ノズル列第2走査2値データとなる。一方、24−2は第2ノズル列用の多値データとなり、26−2は第2ノズル列2値データとなり、28−1および28−2がそれぞれ第2ノズル列第1走査2値データおよび第2ノズル列第2走査2値データとなる。
(その他)
上記では、所望のドット重複率を実現するために、2値化(量子化)のための閾値を参照値から選択可能なテーブルを用意する内容で説明したが、量子化の方法は上記に限られるものではない。必ずしも、閾値と比較することによって、記録(1)と非記録(0)が決定される構成でなくてもよい。例えば、2プレーンの場合には、K1″やK2″が K1ttlおよびK2ttlの両方を参照値とすることによって一義的に記録(1)または非記録(0)が決定されるような2次元テーブルを用意することも出来る。また、3プレーンの場合には、K1″、K2″およびK3″のそれぞれが、K1ttl、K2ttlおよびK3ttlの3つを参照値とすることによって一義的に決定されるような3次元テーブルを用意することも出来る。
テーブルの詳細は省略するが、このような多次元のテーブルを利用する場合には、よりシンプルな制御で、且つ、ドット重複率をより自由度の高い状態で制御出来るというメリットが得られる。一方、表1に示したような1次元の閾値テーブルを利用する場合には、より少ないメモリ容量でテーブルを作成することが出来るというメリットが得られる。
更には、全くテーブルを用いずに分岐と演算のみで2値化(量子化)処理を行うことも可能である。この場合、演算に用いられる何らかの係数が、所望のドット重複率を実現する値に設定されていれば、本実施例の効果を得ることが可能となる。このような場合、上述したテーブルを用意する場合に比べて、更にメモリ容量(消費ROMサイズやRAMサイズ)を小さくする事が出来る。
(第2の実施形態)
第1の実施形態では、例えばブラックインクのような同色のインクの複数の記録走査におけるドット重複率を制御するための量子化処理について説明した。これに対し本実施形態では、記録走査間のドット重複率に加え、異色インク同士のドット重複率も制御可能な量子化処理について説明する。
一般にインクジェット記録装置に用いられる、シアン(C)、マゼンタ(M)、イエロー(Y)およびブラック(K)については、その明度が互いに大きく異なり、粒状感や濃度むらの目立ち方の程度も互いに異なっている。例えば、シアンやマゼンタはイエローに比べて明度が低く、視覚的にも認知されやすい。すなわち、シアンとマゼンタが重なって記録媒体で青色のドットを形成した場合には、更に認知されやすいドットが形成されることになる。このことから、シアンとマゼンタはお互いに重なりを少なくする事で粒状感を低減する制御を行うことが好ましい。
そこで、本実施形態では、第1の実施形態で説明したような2つの記録走査間でのドット重複率を制御することに加え、シアンとマゼンタのような異色インク間でのドット重複率も制御するようにしている。この場合、例えば、以下の4つのプレーン間のドット重なり状態を考慮する必要が生じる。すなわち、シアンインク(第1の色のインク)の第1走査用のプレーン、シアンインクの第2走査用のプレーン、マゼンタインク(第2の色のインク)の第1走査用のプレーン、およびマゼンタインクの第2走査用のプレーンである。
図24は、本実施形態における2回の記録走査によって記録媒体の同一領域の画像を完成させるマルチパス記録を行う場合の、シアンインクとマゼンタインクのための画像処理を説明するためのブロック図である。
多値画像データ入力部31〜色変換回路/画像分割部32までの処理は、図21の多値画像データ入力部21〜色変換回路/画像分割部22と同じ処理なので、ここでは説明を省略する。上記処理によって、先行する第1走査用の多値データ(C1´,M1´,Y1´,K1´)と後続する第2走査用の多値データ(C2´,M2´,Y2´,K2´)が生成される。以降の処理については、シアンインク(第1の色のインク)およびマゼンタインク(第2の色のインク)について説明する。
色変換回路/画像分割部32により生成された多値のデータは階調補正処理部34−1〜34−4へ入力される。階調補正処理部33−1〜33−4では、Cの第1走査用多値データ(C1´)34−1、Cの第2走査用多値データ(C2´)34−2、Mの第1走査用多値データ(M1´)34−3、Mの第2走査用多値データ(M2´)34−4が生成される。そして、これら4種類の多値データ(C1´、C2´、M1´、M2´)は量子化部35に入力される。
図15は、本実施形態の制御部3000に含まれる量子化部35が、ドット重複率を低減するために実行する量子化処理の一例を説明するためのフローチャートである。C1´およびC2´は、注目画素におけるシアン(第1の色のインク)の2回の走査それぞれの多値データ(第1および第3の多値画像データ)であり、0〜255の値を有している。M1´およびM2´は、注目画素におけるマゼンタ(第2の色のインク)の2回の走査それぞれの多値データ(第2および第4の多値画像データ)であり、0〜255の値を有している。また、C1err、C2err、M1errおよびM2errは、既に量子化処理が終了した周辺の画素から発生した累積誤差値である。そして、C1ttl、C2ttl、M1ttl、およびM2ttlは、それぞれ、注目画素における入力多値データと累積誤差値を合計した値である。更にC1″、C2″は、それぞれの走査における2値の出力データ(第1の2値データ)である。また、M1″およびM2″は、それぞれの走査における2値の出力データ(第2の2値データ)である。また、C1″を決定するためにC1ttlと比較するための閾値をC1table、C2″を決定するためにC2ttlと比較するための閾値をC2tableとしている。同様に、M1″を決定するためにM1ttlと比較するための閾値をM1table、およびM2″を決定するためにM2ttlと比較するための閾値をM2tableとしている。
本処理が開始されると、まず、S51によりC1ttl、C2ttl、M1ttlおよびM2ttlが算出され、更にS52において、閾値テーブルを参照することにより、C1table、C2table、M1tableおよびM2tableを取得する。本例で参照するテーブルは、表1に記載の閾値テーブルに対し、1つの参照値から、C1table、C2table、M1tableおよびM2tableのそれぞれが一義的に決まる構成になっている。そして、C1tableについては、C2ttl、M1ttlおよびM2ttlの中の最大値MAX[C2ttl、M1ttl、M2ttl]を、閾値を選択するための参照値とする。また、C2tableについてはMAX[C1ttl、M1ttl、M2ttl]を、閾値を選択するための参照値とする。また、M1tableについてはMAX[C1ttl、C2ttl、M2ttl]を、更にM2tableについてはMAX[C1ttl、C2ttl、M1ttl]を、それぞれ閾値を選択するための参照値とする。
続くS53〜S55においてC1″の値を決定し、S56〜S58においてC2″を決定し、S59〜S61においてM1″を決定し、S62〜S64においてM2″を決定する。いずれも、C1ttl、C2ttl、M1ttlあるいはM2ttlがS52で取得した閾値以上であれば、C1″=1(S55)、C2″=1(S57)、M1″=1(S60)、あるいはM2″=1(S63)とする。一方、C1ttl、C2ttl、M1ttlあるいはM2ttlがS52で取得した閾値未満であれば、C1″=0(S54)、C2″=0(S56)、M1″=0(S59)、あるいはM2″=0(S62)とする。そして、それぞれの出力値に応じて累積誤差値C1err、C2err、M1errおよびM2errを算出して更新する。更にS65において、更新された累積誤差値C1err、C2err、M1errおよびM2errを、所定の拡散マトリクス(例えば、図13に示される拡散マトリクス)に従って、未だ量子化処理が終了していない周辺画素に拡散する。以上で本処理が終了する。このように量子化処理部35では、4種類の多値画像データ(C1´、M1´、C2´、M2´)34−1〜4を量子化することにより、4種類の2値画像データ(C1″、M1″、C2″、M2″)36−1〜4が生成される。再度図24を参照する。量子化処理部35によって、所望のドット重複率を実現するための2値の画像データC1″、C2″、M1″およびM2″が得られると、これら4種類のデータはそれぞれ、IEEE1284バス3022を介して図3で示したプリンタエンジン3004に送られる。
プリンタエンジン3004において、第1走査用の2値画像データC1″および第2走査用の2値画像データC2″は、それぞれ2つのノズル列51と58が記録するデータに分割される。すなわち、C1″(36−1)は、第1走査2値データ分割処理部37−1によって、第1ノズル列の第1走査用の2値データ38−1と、第2ノズル列の第1走査用の2値データ38−2に分割される。また、C2″(36−2)は、第2走査2値データ分割処理部37−2によって、第1ノズル列の第2走査用の2値データ38−3と、第2ノズル列の第2走査用の2値データ38−4に分割される。また、M1″(36−3)は、第1走査2値データ分割処理部37−3によって、第1ノズル列の第1走査用の2値データ38−5と、第2ノズル列の第1走査用の2値データ38−6に分割される。さらに、M2″(36−4)は、第2走査2値データ分割処理部37−4によって、第1ノズル列の第2走査用の2値データ38−7と、第2ノズル列の第2走査用の2値データ38−8に分割される。この2値データ分割処理部37−1〜37−4における分割処理は、第1の実施形態と同様、予めメモリに記憶されているマスクを利用して実行する。
このようにして生成された38−1〜38−8の画像データは、対応するノズル列の対応する走査ごとに用意されたバッファ(39−1〜39−8)に格納される。その後、個々のバッファに画像データが所定量格納されると、対応する
バッファに格納されているデータに従って記録動作が実行される。 以上説明した本実施形態によれば、シアンドットおよびマゼンタドットにおける所望のドット重複率を実現するような量子化のテーブルを予め用意し、これを利用してシアンおよびマゼンタの第1走査用と第2走査用の多値の画像データの量子化処理を実行する。これにより、ロバスト性に優れ混色の粒状感も低減された高品位な画像を出力することが可能となる。
なお、以上では、ドットの重複率の制御対象となる異色インクの組合せとして、シアンインクとマゼンタインクの組合せを例にして説明したが、本実施形態で適用可能な異色インクの組み合わせはこれに限られるものではない。例えば、イエローインクとシアンインクの組合せ、イエローインクとマゼンタインクの組合せ等に適用することも可能である。
(第3の実施形態)
第2の実施形態では、シアンノズル列の第1及び第2走査用の2値データ、並びに、マゼンタノズル列の第1及び第2走査用の2値データを取得するための閾値が、1つの共通テーブルから得られる構成で説明した。しかしながら、実際には、同色インクにおける複数の記録走査間の記録位置ずれによる画像弊害の目立ち方と、異色インク間の記録位置ずれによる画像弊害の目立ち方は必ずしも同じではない。
例えば、一般に、図20のような各色のノズル列が一体的に配置されている記録ヘッド5004を使用する場合には、異色間の記録位置ずれよりも、記録走査間の記録位置ずれのほうが大きくなることが予想される。すなわち、この場合には、異色間のドット重複率よりも記録走査間のドット重複率を大きく設定することが望ましい。一方で、例えば図5に示したガイドレール5009および5010が湾曲し、キャリッジ5008の傾きが走査中に変動してしまうような場合には、異色間の記録位置ずれの方が、記録走査間の記録位置ずれよりも大きくなることが予想される。すなわち、この場合には、異色間のドット重複率を記録走査間のドット重複率よりも大きく設定することが望ましい。
本実施形態では、このような状況に対応するため、異色間(シアンとマゼンタ間)のドット重複率を重視して量子化をするためのテーブル(第1閾値テーブル)と、記録走査間のドット重複率を重視して量子化するためのテーブル(第2閾値テーブル)を用意する。これら閾値テーブルにおいては、記録装置や記録ヘッドの特性に応じて、それぞれ適切な重なり率が得られるようにその内容が独立に定められている。
図16は、本実施形態の制御部3000が、量子化処理を実行する際の工程を説明するためのフローチャートである。当該フローチャートにおいて、各種パラメータは図15で説明したものと同じである。ここで、シアンの第1記録走査目の多値データC1および第2記録走査目の多値データC2に対し、マゼンタとのドット重複率を制御するための第1テーブルをC1table_colおよびC2table_colとする。また、これら記録走査間のドット重複率を制御するための第2テーブルをC1table_passおよびC2table_passとする。一方、マゼンタの第1記録走査目の多値データM1および第2記録走査目の多値データM2に対し、シアンとのドット重複率を制御するためのテーブルをM1table_colおよびM2table_colとする。そして、これら記録走査間のドット重複率を制御するためのテーブルをM1table_passおよびM2table_passとする。
本処理が開始されると、まず、S71によりC1ttl、C2ttl、M1ttlおよびM2ttlが算出される。そして、続くS72〜S82によって、量子化を行う際の閾値を決定するために参照するテーブルを、C1、C2、M1およびM2のそれぞれについて設定する。
例えばC1については、S72において、C2ttlとM1ttlとM2ttlの中の最大値がC2ttlであるか否かを判断する。C2ttlが最大値である場合は、異色間の記録位置ずれよりも記録走査間の記録位置ずれのほうが重視されるので、S74へ進み、C2ttlを参照値としてC1table_passを参照し、閾値C1tableを取得する。一方、C2ttlが最大値でない場合は、異色間の記録位置ずれの方が記録走査間の記録位置ずれよりも重視されるので、S73へ進み、M1ttlとM2ttlのより大きい方を参照値としてC1table_colを参照し、閾値C1tableを取得する。以上のような工程を、C2、M1およびM2のそれぞれについても行い、4つの閾値C1table、C2table、M1tableおよびM2tableを得る。
その後の処理は、図15で説明したS53〜S65と同様である。すなわち、得られた閾値と累積誤差を加算した多値データとを比較し、記録(1)あるいは非記録(0)を決定し、累積誤差を補正してから周辺の画素へ分散する。
以上説明した本実施形態によれば、C1、C2、M1およびM2のように複数の組合せが存在する場合でも、記録位置ずれの弊害がより懸念される組み合わせの重複率を優先して量子化を実行することが可能となる。
なお、図16で説明したフローチャートでは、例えばS72などにおいて、多値データ(C2、M1、M2)の大小関係によって、参照するテーブル(C1table_pass、C1table_col)を決定する内容で説明した。しかし、異色間のドット重なり率を優先するべきか記録走査間のドット重なり率を優先するべきかは、多値データの大小関係だけでなく、その他様々な要因に応じて変化する。本実施形態のように複数の閾値テーブルを用意した場合には、様々な判断材料を利用して参照する閾値テーブルを決定することが好ましい。
(第4の実施形態)
第1〜第3の実施形態では、画像データの入力から記録までの一連の処理を、全て記録解像度と等しい解像度で行う場合について説明した。しかしながら、今日のように記録解像度が益々高まる状況においては、全ての処理を記録解像度と等しい解像度で行っていると、処理のために要するメモリや時間が多大になり、装置の負担が大きくなってしまう。よって、主な画像処理は記録解像度よりも低い(粗い)解像度で行い、256階調の多値の画像データをより低い階調のL(Lは3以上)値の多値データに変換した状態で、記録装置のプリンタエンジンに送信する形態が有用されている。この場合、プリンタエンジンでは、受信した低い階調のL値の多値データを、記録解像度に対応した2値データに変換するためのドットパターン(インデックスパターン)をメモリに備えている。なお、以下では、L値化の一例として3値化を例に挙げて説明するが、Lの値は3に限られるものでなく、L=4、5、9あるいは16等の様々な値を取り得ることは言うまでもない。
図23は、本実施形態における、2回の記録走査によって同一領域(例えば、画素領域)の画像を完成させるマルチパス記録を行う場合の画像処理を説明するためのブロック図である。多値画像データ入力部41〜階調補正処理部43−までの処理は、図21で示した多値画像データ入力部21〜階調補正処理部23と同じ処理なので、ここでは説明を省略する。これ以後の説明はブラック(K)のみについて行う。
量子化処理部45には、第1走査用の多値データ(K1´)44−1と第2走査用の多値データ(K2´)44−2が入力される。量子化処理部45において、第1走査用の多値データ(K1´)と第2走査用の多値データ(K2´)のそれぞれは0〜2の3値に量子化され、第1走査用の量子化データ(K1″)および第2走査用の量子化データ(K2″)が生成される。具体的には、第1の実施形態の量子化処理部25で行う量子化処理と同様、まずK1´およびK2´に周辺の誤差を累積したK1ttlおよびK2ttlを得る。その後、第1走査用の多値データ(K1´)を量子化する際に用いる閾値を、K2ttlに基づいて決定し、第2走査用の多値データ(K2´)を量子化する際に用いる閾値を、K1ttlに基づいて決定する。
本実施形態の場合、3値に量子化するため、2つの閾値すなわち第一の閾値とこれよりも大きな第二の閾値を用いる。そして、注目画素における入力多値データと累積誤差値を合計した値(合計値:K1ttlやK2ttl)と第一および第二の閾値との大小関係によって、出力値は決定される。すなわち、合計値が第二閾値以上の場合には出力値は「2」となり、合計値が第一閾値以上で且つ第二閾値未満の場合には出力値は「1」となり、合計値が第一閾値未満の場合には出力値は「0」となる。
このように、K2ttlに基づいて決定された閾値に基づいて、第1走査用の多値データ(K1´)を量子化して第1走査用の量子化データ(K1″)を得る。同様に、K1ttlに基づいて決定された閾値を用いて、第2走査用の多値データ(K2´)を量子化することで第2走査用の量子化データ(K2″)を得る。第一の閾値と第二の閾値の決定方法としては、2値化の例と同様、第一の閾値テーブルと第二の閾値テーブルを同一の参照値を用いてそれぞれ決定すればよい。
図18は、量子化処理部45における量子化(3値化)処理の結果(K1″およびK2″)と入力値(K1ttlおよびK2ttl)との対応関係を、図22と同様に示した図である。図18において、K1″の値とK2″の値は、1回目の記録走査および2回目の記録走査のそれぞれで注目画素に記録されるドットの数を示している。ここでは、K2ttlを量子化するために用いる第一の閾値を太点線で示し、第二の閾値を太破線で示している。
例えば、K1″とK2″の両方が2である注目画素には、1回目の記録走査と2回目の記録走査で2個ずつドットが記録される。また、K1″が1で且つK2″が2である注目画素には、1回目の記録走査で1個ドットが記録され且つ2回目の記録走査で2個ドットが記録される。また、K1″とK2″の両方が0である注目画素にはドットが記録されない。
再び図23を参照するに、量子化処理部45において量子化された3値の画像データ(量子化データ)K1″およびK2″はプリンタエンジン3004に送信され、インデックス展開処理部46においてインデックス処理が実行される。なお、インデックス展開処理は、L(Lは3以上の整数)値の量子化データを2値化するものであるので、量子化処理の一部としてとらえることができる。このインデックス展開処理については下記で詳しく説明する。次いで、このインデックス展開処理部46によって、3値の画像データK1″は、第1走査用の2値画像データ(第1走査用の2値の量子化データ)47−1に変換される。同様に、3値の画像データK2″は、第1走査用の2値画像データ(第2走査用の2値の量子化データ)47−2に変換される。その後、第1走査用の2値画像データ47−1は、第1走査2値デ−タ分割部48−1によって、第1ノズル列の第1走査用2値データ49−1と第2ノズル列の第1走査用2値デ−タ49−2に分割される。同様に、第2走査用の2値画像データ47−2は、第1走査2値デ−タ分割部48−2によって、第1ノズル列の第1走査用2値データ49−3と第2ノズル列の第2走査用2値デ−タ49−4に分割される。この分割処理は、第1の実施形態と同様、マスクパターンを利用して実行される。そして、これら4種類の2値データ(49−1〜4)は、それぞれ、対応するバッファ(50−1〜4)に格納される。その後、個々のバッファに2値データが所定量格納されると、対応するバッファに格納されているデータに従って記録動作が実行される。
図19は、本実施形態におけるインデックス展開処理およびインデックスパターン(ドットパターン)の例を説明するための図である。本実施形態のインデックス展開処理部46では、1画素に対応する3値の画像データ(K1″、K2″)が、2サブ画素×2サブ画素に対応する2値の画像データ(ドットパターン)に変換される。詳しくは、0〜2のいずれかの値を有する3値の画像データK1″は、第1走査用のドットパターンに変換される。同様に、0〜2のいずれかの値を有する3値の画像データK2″は、第2走査用のドットパターンに変換される。そして、これら第1走査用のドットパターンと第2走査用のドットパターンを重ね合わせたパターン(図中の最も右側に示される「記録媒体上でのドットパターン」)が画素に記録されることになる。なお、第1および第2の走査用のドットパターンに関して、斜線部分はサブ画素へのドットの記録を示すデータ(「1」のデータ)を意味しており、白部分はサブ画素へのドットの非記録を示すデータ(「0」のデータ)を意味している。また、記録媒体上でのドットパターンに関し、黒部分はサブ画素に2ドット記録されることを意味し、斜線部分はサブ画素に1ドット記録されることを意味し、白部分はサブ画素にドットが記録されないことを意味している。
ここで、画素に対応する3値以上の画像データをm×nのサブ画素に対応する2値のドットパターンに変換するような画像処理を採用した場合の、ドット重複率について図19を用いて説明する。このような場合の「ドット重複率」とは、複数のサブ画素で構成される1画素領域に記録されるべき総ドット数のうち、異なる走査(あるいは異なる記録素子群)で画素領域内の同じサブ画素位置に重複して記録されるドット数の割合を指す。具体的に説明すると、図19を参照するに、K1″とK2″の両方が0の場合、第1記録走査でも第2記録走査でもドットは記録されずドット重複率は0である。K1″とK2″のどちらか一方が0の場合、一方の走査でだけドットが記録されるので、ドット重複率は0%のままである。K1″とK2″の両方が1の場合、2サブ画素×2サブ画素の左上のサブ画素に2つのドットが重複して記録されるため、ドット重複率は100%(=2÷2×100)となる。また、どちらか一方が1で他方が2の場合、2サブ画素×2サブ画素のうち左下のサブ画素に2つのドットが重複して記録され、左上のサブ画素に1ドットだけ記録されるため、ドット重複率は67%(=2÷3×100)となる。更に、K1″とK2″の両方が2の場合、サブ画素でドットが重ならないのでドット重複率は0%となる。つまり、図19に示したような各レベルに一対一で対応するインデックスパターン(ドットパターン)を予め用意しておけば、図18に示した量子化処理でK1″とK2″の組み合わせが決まることにより、画素領域のドットの重複率も一義的に定まることになる。
以上説明した本実施形態によれば、図18に示したような量子化方法と、図19に示したドットパターンを利用することにより、インデックス展開処理を利用しながらも、所望のドット重複率を有する画像を出力することが可能となる。結果、ロバスト性に優れ粒状感も低減された高品位な画像を、高速且つ高解像度に出力することが可能となる。
(第5の実施形態)
本発明が課題とする複数のプレーンの記録位置が互いにずれた場合に発生する濃度むらは、マスクを工夫することによっても、ある程度低減できる。よって、本実施形態では、このようなマスクの効果を併用しながら、更にプレーン間のドット重複率も調整することにより、より一層ロバスト性に優れた画像出力を可能とする。
本実施形態における画像処理方法は、使用マスクが異なる点を除いて、第1の実施形態で説明した画像処理方法と同じである。従って、第1の実施形態と同様、本実施形態でも、量子化処理部25によってドット重複率処理が行われる。また、マスクを利用して分割処理を行う点でもこれら2つの実施形態は共通しているが、本実施形態では後述するような横長マスクを用いており、この点が第1の実施形態と異なる。
以下にマスクについて説明する。マスクとは、個々の画素(あるいはサブ画素)に対して記録の許容(1)または非許容(0)が予め定められた2値データの集合体である。実際に分割処理を実行する際には、個々の画素(あるいはサブ画素)について、1または0の値を有する2値データ(K1″あるいはK2″)と、マスクの2値データとの間で論理積をとり、その結果が第1のノズル列あるいは第2ノズル列に対する出力値となる。
ここで、記録を許容(1)するデータ(記録許容マスク画素)を主走査方向にある程度連続させるような横長マスクにすれば、キャリッジの走査変動のような主走査方向に記録位置がずれた場合でも濃度むらが発生し難くなる。また、記録を許容(1)するデータ(記録許容マスク画素)を副走査方向に連続するような縦長マスクにすれば、記録媒体の搬送変動のような副走査方向に記録位置がずれた場合でも濃度むらが発生し難くなる。しかしながら一方で、これら縦長や横長のマスクを使用した場合には、長手方向と垂直な方向、すなわち縦長マスクであれば副走査方向、横長マスクであれば主走査方向の記録位置ずれに対しては、むしろ濃度むらが顕著になりやすいことも確認されている。
また、上記実施形態で説明したように、ドット重複率を高めることによって濃度むらを低減する方法では、あまりドット重複率を高くしてしまうと粒状感が目立ってしまう。そこで、本実施形態では、マスクによる濃度むらの低減方法とドット重複率の制御によって濃度むらを低減する方法の両方を、互いの弊害が現れない程度に適度に補いながら併用することにより、濃度むらの目立たない高品位な画像出力を実現する。以下、具体的にその方法を説明する。
記録装置では様々な要因でプレーン間の記録位置ずれが発生しうるが、記録中のずれの方向と程度はある程度予測することが出来る。例えば、要因1に起因する主走査方向のずれをXerr1、副走査方向のずれをYerr1、要因2に起因する主走査方向のずれをXerr2、副走査方向のずれをYerr2とする。そして、Xerr1≒0、Yerr2≒0およびXerr2>Yerr1であったとする。この場合、要因1と要因2のずれ量の和は、√((Yerr1)2+(Xerr2)2)となり、この値はYerr1、Xerr2のいずれよりも大きくなる。
本実施形態では、このように、ずれ量や方向の異なる2つの要因のそれぞれに対し、ドット重複率を調整する方法と、マスクを横長(あるいは縦長)にすることによって対応する方法を別々に採用する。具体的には、要因1に対してはドット重複率を調整することによって対応し、要因2に対しては、横長マスクを採用することによって対応する。こうすることで、ドット重複率の制御によって低減すべき記録位置ずれの量を、Yerr1に限定することが出来るようになる。結果、必要以上にドット重複率を高めて粒状感を悪化させることなく、濃度むらを低減することが可能となる。
以上説明したように本実施形態によれば、複数の要因による記録位置ずれが発生する場合でも、マスクによる濃度むら低減方法を併用しながら、ドット重複率を調整する。これにより、ロバスト性に優れた高品位な画像を、処理速度を落さずに出力することが可能となる。
(第6の実施形態)
上述した第1の実施形態では、3パス以上のMパス記録モードを実行する場合に、M回の相対移動に対応したM組の多値画像データを生成しているが、本発明はこれに限定されるものではない。3パス以上のMパス記録モードでは、M組の多値画像データを生成することは必須ではなく、Mよりも少ないP(Nは2以上の整数)組の多値画像データを生成する形態であってもよい。この場合、まず、Mよりも少ないP組の多値画像データを生成し、その後、P組の多値画像データを上記実施形態の内容に従って量子化してP組の量子化データを得る。その後、P組の量子化データのうちの少なくとも1組の量子化データを分割してMパス分のM組の量子化データを得るのである。
以下、より具体的に3パスモードの一例について説明する。3パスモードの場合、まず、同一領域(画素領域)に対応した入力画像データ(RGBデータ)に基づいて、第1および第3の相対移動に共通した第1の多値画像データと、第2の相対移動に対応した第2の多値画像データとを生成する。次いで、第2の多値画像データに基づいて第1の多値画像データに量子化処理を行うことで量子化データAを得て、この量子化データAをマスクパターンにより分割することで第1の相対移動用の量子化データと第3の相対移動用の量子化データを得る。一方、第1の多値画像データに基づいて第2の多値画像データに量子化処理を行うことで第2の相対移動用の量子化データを得る。これにより、3回の相対移動分の量子化データ(2値データ)を得ることができる。
次に、4パスモードの一例について説明する。4パスモードの場合、まず、同一領域(画素領域)に対応した入力画像データ(RGBデータ)に基づいて、第1および第2の相対移動に共通に対応した第1の多値画像データと、第3および第4の相対移動に共通に対応した第2の多値画像データとを生成する。次いで、第2の多値画像データに基づいて第1の多値画像データに量子化処理を行うことで量子化データBを得て、この量子化データBをマスクパターンにより分割することで第1の相対移動用の量子化データと第2の相対移動用の量子化データを得る。一方、第1の多値画像データに基づいて第2の多値画像データに量子化処理を行うことで量子化データCを得て、この量子化データCをマスクパターンにより分割することで第3の相対移動用の量子化データと第4の相対移動用の量子化データを得る。これにより、4回の相対移動分の量子化データ(2値データ)を得ることができる。
以上から明らかなように、本発明のMパス記録モードでは、この第6の実施形態のようにMよりも少ないP組の多値画像データを生成してもよいし、上述した第1の実施形態のようにM組の多値画像データを生成してもよい。要するに、本発明では、複数回の相対移動のうちの少なくとも1回の相対移動に対応した第1の多値画像データと、複数回の相対移動のうち他の少なくとも1回の相対移動に対応した第2の多値画像データを生成すればよい。
(第7の実施形態)
第1〜第6の実施形態では、入力画像データに基づいて複数回の相対走査に対応した複数の多値画像データを生成し、これら複数の多値画像データに対して特徴的な量子化処理を行う場合について説明したが、本発明はこれに限られるものではない。第1〜第6の実施形態における複数回の相対走査を複数の記録素子群に置き換えることも可能である。すなわち、上述した通り、ノズル列間の記録位置ずれの方が、記録走査間の記録位置ずれよりも大きくなる場合もある。このような場合、ノズル列間にだけドット重複率制御を適用し、走査間にはマスク分割処理を適用する形態が考えられる。そこで、本実施形態では、図17に示されるように、入力画像データに基づいて複数の記録素子群に対応した複数の多値画像データを生成し、これら複数の多値画像データに対して特徴的な量子化処理を行うようにしている。
図17は、本実施形態における画像処理を説明するためのブロック図である。本実施形態では、図20に示したような同種のインクを吐出するための記録素子群が2つ設けられた記録ヘッドを用いる。そして、この同種のインクを吐出するための2つの記録素子群(第1の記録素子群、第2の記録素子群)によって1回の相対移動中に同一領域に記録を行う。なお、図における多値画像データ入力部81および階調補正処理部8003は、図21で示した多値画像データ入力部21および階調補正処理部23と同じ機能を有するものである。また、色変換/画像データ分割処理部82および量子化処理部85は、図21で示した色変換/画像データ分割処理部22および量子化処理部25と機能的には同じであるが、扱うデータが異なっている。図21では走査に対応したデータを扱っているのに対し、図では記録素子群に対応したデータを扱う。
多値画像データ入力部81によってRGBの多値の画像データ(256値)が入力される。この入力画像データ(RGBデータ)は、画素毎に、色変換/画像データ分割部82によって、2つの記録素子群に対応した2つの多値画像データ(CMYKデータ)に変換される。これら2つの多値画像データは、それぞれ、階調補正処理部83−1〜2において階調補正処理(濃度補正処理)が行われる。こうして第1記録素子群用の多値画像データ84−1および第2記録素子群用の多値画像データ84−2が生成される。
階調補正処理が行われた第1記録素子群用の多値画像データ84−1および第2記録素子群用の多値画像データ84−2は、その後、量子化処理部85にて量子化される。この量子化処理部85における量子化処理は、第1の実施形態の図25、図26および図14で説明した処理と同じである。このような量子化処理の結果、第1記録素子群用の2値画像データ86−1(第1の量子化データ)および第2記録素子群用の2値画像データ86−2(第2の量子化データ)が生成される。
その後、第1記録素子群用の2値画像データ86−1は第1の記録素子群へ転送され、第2記録素子群用の2値画像データ86−2は第2の記録素子群へ転送される。そして、1回の相対移動中に、第2記録素子群用の2値画像データ86−1に基づいて第1の記録素子群が駆動されると共に、第2記録素子群用の2値画像データ86−2に基づいて第2の記録素子群が駆動される。これにより、同種のインクを吐出するための2つの記録素子群(第1の記録素子群、第2の記録素子群)によって1回の相対移動中に同一領域に記録が行われる。
なお、本実施形態では、同色のインクを吐出するノズル列(記録素子群)を2列ずつ配備した記録ヘッドを用いる例について説明したが、これに限られるものではない。同色インクを吐出するノズル列(記録素子群)の数は4、8等のN(Nは2以上の整数)であれば適用可能である。この場合、入力画像データからN個の記録素子群に対応したN組の多値画像データを生成し、これらN個の記録素子群に対応したN組の多値画像データに対して上記特徴的な量子化処理を行えばよい。
また、以上では、N個の記録素子群を用いる場合に、N個の記録素子群に対応したN組の多値画像データを生成しているが、本発明はこれに限定されるものではない。3個以上のN個の記録素子を用いる場合には、N組の多値画像データを生成することは必須ではなく、Nよりも少ないQ(Qは2以上の整数)組の多値画像データを生成する形態であってもよい。この場合、第6の実施形態を応用すればよく、まず、Nよりも少ないQ組の多値画像データを生成し、その後、Q組の多値画像データを上記実施形態の内容に従って量子化してQ組の量子化データを得る。その後、Q組の量子化データのうちの少なくとも1組の量子化データを分割してN個の記録素子群に対応するN組の量子化データを得るのである。例えば、Nが4であれば、第1および第2の記録素子群に共通する第1の多値画像データと第3および第4の記録素子群に共通する第2の多値画像データとを生成し、これら第1および第2の多値画像データに量子化処理を施せばよい。以上から明らかなように、N個の記録素子群を用いる場合には、Nよりも少ないP組の多値画像データを生成してもよいし、M組の多値画像データを生成してもよい。要するに、本発明では、N個の記録素子群のうちの少なくとも1つの記録素子群に対応した第1の多値画像データと、N個の記録素子群のうちの他の少なくとも1つの記録素子群に対応した第2の多値画像データを生成すればよい。
(その他の実施形態)
上記第1〜第6の実施形態では、同色のインクを吐出するノズル列(記録素子群)を2列ずつ配備した記録ヘッドを用いる例について説明したが、本発明は、同色インクを吐出するノズル列(記録素子群)の数は2に限られるものではない。同色インクを吐出するノズル列(記録素子群)の数は1、4、8等のN(Nは1以上の整数)であればよい。
上記の実施形態では、ある相対移動に対応した多値画像データを量子化する際、他の全ての相対移動に対応した全ての多値画像データを考慮しているが、本発明はこれに限られるものではない。例えば、3パスモードにおいて、3回の相対移動に対応した3つの多値画像データを量子化する際、2つの多値画像データは互いに考慮しながら量子化するが、残り1つの多値画像データは上記2つの多値画像データを考慮せずに無相関に量子化してもよい。この場合であっても、ある相対移動で記録されるドットと別の相対移動で記録されるドットとの重複率は制御できるため、ロバスト性向上と粒状感低減の効果を得ることができる。
また、上記実施形態では、CMYKの4色のインクを用いる形態について説明したが、使用可能なインク色の種類数はこれに限られるものではない。上記4色のインクに、淡シアン(Lc)や淡マゼンタインク(Lm)を加えたり、レッドインク(R)やブルーインク(B)等の特色インクを加えたりしてもよい。また、上記実施形態では、複数色のインクが使用されるカラー記録モードを実行する場合について説明したが、本発明は単色インクが使用されるモノカラーモードにも適用可能である。この場合、入力画像データ(RGB)から、複数回の相対移動に対応した複数の単色の濃度データが生成される。更には、本発明は、カラープリンタのみならず、モノクロプリンタにも適用可能である。
また、以上の実施形態では、図20に示したように、複数のノズル列が一体的に並列して構成された記録ヘッドを用いたが、無論本発明はこのような形態に限定されるものではない。同色のインクを吐出するノズル列は1列ずつであっても良いし、同色のインクを吐出する複数のノズル列が1つの記録ヘッドに並列されていても良い。また、それぞれのノズル列が異なる記録ヘッドに構成されている形態であっても良い。このように、記録ヘッドの数が増えた場合、同じ記録走査におけるノズル列間の記録位置ずれは更に大きくなることが予想される。
また、上記実施形態では、図3〜図4の電気ブロック図を有する記録装置を用いる場合について説明したが、本発明はこのような構成に限定されるものではない。例えばプリンタ制御部とプリンタエンジン部は、それぞれ独立のモジュールとして説明したが、制御部とプリンタエンジン部で同一のASIC・CPU・ROM・RAMを共用しても良い。また、図では制御部とプリンタエンジン部が汎用のI/FであるUSBやIEEE1284によって接続されているが、本発明はいずれの接続方法を用いても構わない。またPCからの接続が、USB HUBを介して直接プリンタエンジン部に接続された形式を取っているが、制御部が画像データを中継しても良い。更には必要に応じて制御部がPCからの画像データに対して適宜画像処理を行ってからプリンタエンジン部に送信する形を取っても良い。
以上の実施形態では、量子化までの画像処理を制御部3000で、それ以降の処理をプリンタエンジン3004で実行する構成について説明したが、本発明はこのような構成に限定されるものでもない。上述したような一連の処理が実行されるのであれば、ハードウエア、ソフトウエアを問わず、いずれの処理手段によって実行される形態であっても本発明の範疇である。
以上の実施形態では、画像処理機能を有する制御部3000を備えた記録装置(画像形成装置)を例に、本発明の特徴的な画像処理を実行する画像処理装置を説明してきたが、本発明はこのような構成に限定されるものではない。本発明の特徴的な画像処理が、プリンタドライバがインストールされたホスト装置(例えば、図3のPC3010)で実行され、量子化処理後あるいは分割処理後の画像データが記録装置に入力されるような構成であっても構わない。このような場合、記録装置に接続されるホスト装置(外部機器)が、本発明の画像処理装置に該当する。本発明の特徴的な画像処理とは、少なくとも1回の相対移動に対応した第1の多値画像データに基づいて少なくとも他の1回の相対移動に対応した第2の多値画像データを量子化し、第2の多値画像データに基づいて第1の多値画像データを量子化する処理を指す。
本発明は、上述した画像処理の機能を実現するためのコンピュータ可読プログラムを構成するプログラムコード、またはそれを記憶した記憶媒体によっても実現される。この場合、ホスト装置や画像形成装置のコンピュータ(またはCPUやMPU)が上記プログラムコードを読出し実行することによって上述した画像処理が実現されることになる。このように、上述した画像処理をコンピュータに実行させるための、コンピュータにより読み取り可能なプログラム、あるいは、そのプログラムを記憶した記憶媒体も本発明に含まれる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSが実際の処理の一部または全部を行うものであってもよい。更に、プログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、CPUなどが実際の処理の一部または全部を行うものであってもよい。