以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
(第1実施形態)
本発明に係る画像処理装置の第1実施形態として、情報処理装置であるパーソナルコンピュータ(以下PCと呼ぶ)及び画像形成装置を含む画像処理システムを例に挙げて以下に説明する。
<システム構成>
図1は、第1実施形態に係る画像処理システムの構成を示すブロック図である。同図において、アプリケーション101は、PC上で文書作成、図形作成、イメージ画像処理等を行うプログラムである。また、アプリケーション101は、特定の色値を有する色を「特定色」として指定する機能を有する。
プリンタドライバ102は、アプリケーション101において生成されたデータを、画像形成装置103により解釈可能なプリンタ/ページ記述言語で記述された命令データ(以下PDLコマンドと呼ぶ)に変換するプログラムである。
PDLコマンド生成部107は、アプリケーション101から受け取ったコマンド(処理の対象である画像データ)をPDLコマンドに変換する。特定色判定部108は、PDLコマンドに含まれる特定色を判別する。色値線形圧縮演算部109は、特定色が指定された場合にPDLコマンドに含まれる特定色以外の色値を線形に圧縮する。
特定色リスト生成部104は、画像形成装置103と通信を行い、特定色を格納した格子点の座標を指し示す色値と特定色との関係をリストとして生成する。特定色置換部110は、特定色が指定された場合に、特定色リスト生成部104が生成したリストを参照して、PDLコマンドに含まれる特定色の色値を特定の色値に置き換える。
制御コマンド生成部111は、特定色が指定されたPDLコマンドであるか否かの制御コマンド(後述の特定色有情報)を生成する。PDLコマンド送信部112は、PDLコマンドを画像形成装置103に送信する。なお、ここでは、PDLコマンドには、制御コマンド生成部111で生成された制御コマンドが埋め込まれるものとして説明する。
なお、アプリケーション101及びプリンタドライバ102は、例えば、PC上で実行される。PCは、種々の演算、制御、判別などの処理動作を実行するCPU、プログラムなどを格納するROM、CPUの処理動作中のデータや入力データなどを一時的に格納するRAMなどを有する。PCは、アプリケーション101及びプリンタドライバ102などの各種プログラムをRAMより読み出しCPUで実行する。
画像形成装置103は、プリンタドライバ102からPDLコマンドを受け取って印刷可能なデータを生成し、記録媒体上に画像形成(印刷)する装置である。
PDLコマンド受信部113は、プリンタドライバ102からPDLコマンドを受信する。制御コマンド分離部114は、受信したPDLコマンドから制御コマンドを分離する。制御コマンド解析部115は、PDLコマンドから分離した制御コマンドにおいて特定色が指定されているか否かを解析する。そして、制御コマンド解析部115は、特定色が指定されている場合、特定色対応の色変換テーブルであり、入力色から出力色への変換を規定するルックアップテーブル(以下LUTと呼ぶ)を色変換部117にセットする。一方、特定色が指定されていない場合、通常色用のLUTを色変換部117にセットする。
レンダリング部116は、PDLコマンドを描画してビットマップを生成する。色変換部117は、セットされているLUTを用いて、レンダリング部116で生成されたビットマップを、PDLコマンド色空間からプリント色空間に変換する。画像形成部118は、プリント色空間に変換されたビットマップを印刷可能な画像へと変換し、画像形成を実行する。
特定色対応LUT生成部105は、プリンタドライバ102から特定色の格納が指示された場合、特定色対応LUTの空きの格子点に指定された出力値を格納する。また、当該格子点を指し示す色値をプリンタドライバ102に返信する。色変換テーブル保存部106は、通常色用LUTと生成した特定色対応LUTとを格納する。
画像形成装置103は、画像処理及び画像形成等、種々の演算、制御、判別などの処理動作を実行するCPU、プログラムなどを格納するROM、CPUの処理動作中のデータや入力データなどを一時的に格納するRAMなどを有する。なお、後述する色変換や画像形成の制御は、画像形成装置103のCPUが、対応する制御プログラムをROMから読み出し実行すること実現される。
図2は、特定色対応LUTの生成を説明する図である。特定色対応LUTは、図2(a)に示す通常の色変換処理に用いられる通常色用LUT201に基づき生成される。通常色用LUTは、各軸方向にN個の格子点を有する1次元以上(1軸以上)のLUTとして構成される。ここでは、N=6であり、RGBで示される入力値に対しCMYKで示される出力値が設定される6×6×6の格子点を有する3次元LUTを用いて説明する。
図2(b)の格子点減量LUT202は、通常色用LUT201から格子点数を減じて再生成したLUTである。図2(c)の特定色対応LUT203は、格子点減量LUT202を、格子点を減じる前(すなわち図2(a))と同等の格子点数のLUTに再配置し、未使用の格子点に新たに出力色を格納したものである。すなわち、特定色対応LUT203の内部の部分空間である5×5×5の格子点を有する3次元空間が、通常色用LUT201の示す色空間の全部を示すように変換テーブルを再配置している。このようにして使用格子点数を減じることにより、未使用の格子点を確保している。
図2(a)に示す通常色用LUT201において、(R,G,B)=(0,5,5)座標の格子点204には出力値(C,M,Y,K)=(176,0,0,0)が格納されている。また、(R,G,B)=(5,0,0)座標の格子点205には出力値(C,M,Y,K)=(0,200,200,0)が格納されている。
図2(b)の格子点減量LUT202は通常色用LUT201から格子点数をM個(ここではM=1)だけ減じたものである。すなわち、格子点減量LUT202は5×5×5の格子点を有する3次元LUTである。そして、(R,G,B)=(0,4,4)座標の格子点206には出力値(C,M,Y,K)=(176,0,0,0)が格納される。また、(R,G,B)=(4,0,0)座標の格子点207には出力値(C,M,Y,K)=(0,200,200,0)が格納される。
図2(c)の特定色対応LUT203は、格子点減量LUT202を、6×6×6の格子点を有する3次元LUTに再配置したものである。つまり、特定色対応LUT203において、(R,G,B)=(0,4,4)座標の格子点212には出力値(C,M,Y,K)=(176,0,0,0)が格納されている。また、(R,G,B)=(4,0,0)座標の格子点213には出力値(C,M,Y,K)=(0,200,200,0)が格納されている。更に、特定色対応LUT203においては、格子点(R,G,B)=(0,5,5)の座標の格子点208には、出力値(C,M,Y,K)=(255,0,0,0)が設定されている。(R,G,B)=(5,0,5)座標の格子点210には、出力値(C,M,Y,K)=(0,255,0,0)が設定されている。(R,G,B)=(0,0,0)座標の格子点211には、出力値(C,M,Y,K)=(0,0,0,255)が設定されている。
<色処理の説明>
図6は、第1実施形態の各工程におけるデータが示す画像の変化を例示的に示す図である。具体的には、プリンタドライバ102で処理されるPDLコマンド及び画像形成装置で処理されるビットマップのそれぞれが示す画像の変化を示したものである。
図6(a)は、アプリケーションが生成したコマンドが示す画像を表している。図6(b)は、図6(a)のコマンドに対し色値線形圧縮を実施した後のPDLコマンドが示す画像を表している。図6(c)は、図6(b)のPDLコマンドに基づき画像形成装置103が生成したビットマップが示す画像を表している。図6(d)は、図6(c)のビットマップに対し色変換を実施した後のビットマップが示す画像を表している。
<システムの動作>
図3は、特定色の登録からリスト生成までの手順を示すフローチャートである。具体的には、プリンタドライバ102は、アプリケーション101から指定された特定色の出力値を画像形成装置102内のLUTの空き格子点に格納すると共に、ドライバの管理する特定色リストを生成する処理である。
ステップS301では、特定色リスト生成部104は、アプリケーション101から特定色登録指定を受け付ける(受付手段)。ここでは、「色名」として「SKYBLUE」を「色材の混合率(出力色)」として「(C,M,Y,K)=(153,20,0,0)」が指定された特定色を登録する指定を受信するものとして説明する。
ステップS302では、特定色リスト生成部104は、画像形成装置103の特定色対応LUT生成部105に対して特定色対応LUT801に空きの格子点があるかを問い合わせる。
図8は、特定色対応LUTを例示的に示す図である。ここで、特定色対応LUT801は、図2(c)で説明した特定色対応LUT203と同等の構造である。
特定色対応LUT801の格子点806には出力値(C,M,Y,K)=(176,0,0,0)が格納されている。格子点807には出力値(C,M,Y,K)=(0,200,200,0)が格納されている。格子点802には出力値(C,M,Y,K)=(255,0,0,0)が格納されている。そして、格子点805には出力値(C,M,Y,K)=(0,255,0,0)が格納されている。
ステップS303では、特定色対応LUT生成部105は、空きの格子点が存在する場合、空きの格子点座標(R,G,B)=(0,0,5)を取得し、特定色リスト生成部104に返信する。一方、空きの格子点が存在しない場合は、アプリケーション101に対して登録不可の返信をした後、処理を終了する。
ステップS305では、特定色リスト生成部104は、空きの格子点座標(R,G,B)=(0,0,5)を当該格子点が示す色値(R,G,B)=(0,0,255)に変換して、当該色値を特定色の色名「SKYBLUE」と関連付けて特定色リスト701に登録する。図7は、特定色を登録した特定色リストを例示的に示す図である。
ステップS306では、特定色リスト生成部104は、空きの格子点座標(R,G,B)=(0,0,5)に対して出力値(C,M,Y,K)=(153,20,0,0)を格納するよう画像形成装置103に信号を送信する。これにより、特定色対応LUT生成部105は、格子点座標(R,G,B)=(0,0,5)である格子点803に出力値(C,M,Y,K)=(153,20,0,0)を格納する。
上述の処理により、プリンタドライバ102で管理される特定色リストと、画像形成装置103で管理される特定色対応LUTとにおいて、特定色「SKYBLUE」に関する出力色情報が関連付けられることになる。
なお、上述の説明においては、特定色対応LUTを画像形成装置102で生成しているが、特定色対応LUTをアプリケーション101又はプリンタドライバ102で生成しても良い。その場合、アプリケーション101又はプリンタドライバ102で生成された特定色対応LUTは画像形成装置103にダウンロードされる。
図4は、第1実施形態におけるPDLコマンドの生成から画像形成装置への送信までの手順を示すフローチャートである。
ステップS401では、プリンタドライバ102のPDLコマンド生成部107は、アプリケーション101から受信したコマンドが特定色を含むか否かを確認しながらPDLコマンドを生成する。ここでは、図6の画像600を示すPDLコマンド生成されるものとして説明する。画像600において、オブジェクト601の色値は(R,G,B)=(255,0,0)、オブジェクト603の色値は(R,G,B)=(255,0,255)、オブジェクト602の色値は特定色「SKYBLUE」が指定されているものとする。
ステップS402では、PDLコマンド生成部107は、特定色を含むコマンドであったと判断した場合は、制御コマンド生成部111に特定色を含むという信号を送信し、ステップS403へ進む。一方、特定色を含まないコマンドであったと判断した場合は、制御コマンド生成部111に特定色を含まないという信号を送信し、ステップS410へ進む。
ステップS403では、制御コマンド生成部111は、特定色有情報をオンに設定し、ステップS404へ進む。ステップS404では、特定色判定部108は、PDLコマンドの一部が通常色指定であるのか特定色指定であるのかを確認し、ステップS405へ進む。ステップS405では、特定色判定部108は、PDLコマンドに含まれるオブジェクトが特定色指定であると判断した場合は、ステップS406へ進む。一方、PDLコマンドに含まれるオブジェクトが通常色指定であると判断した場合は、ステップS408へ進む。
ステップS406では、特定色置換部110(色値置換手段)は、特定色リスト生成部104から特定色リスト701を取得する。ステップS407では、特定色置換部110は、オブジェクトに指定の特定色の色名を特定色リスト701に登録の色値に置き換える。ここでは、オブジェクト602には特定色「SKYBLUE」が指定されているため、特定色リスト701に基づいて、「SKYBLUE」を(R,G,B)=(0,0,255)に置き換え、オブジェクト606の情報を生成する。
ステップS408では、色値線形圧縮演算部108(色値圧縮手段)は、PDLコマンドに含まれるオブジェクトの色値を線形圧縮する。ここで、通常色指定のオブジェクト601の色値(R,G,B)=(255,0,0)を、(6−2)/(6−1)=4/5倍する。すなわち(R,G,B)=(255×4/5,0×4/5,0×4/5)=(204,0,0)とし、オブジェクト605の情報を生成する。また、通常色指定のオブジェクト603の色値(R,G,B)=(255,0,255)を(6−2)/(6−1)=4/5倍して(R,G,B)=(255×4/5,0×4/5,255×4/5)=(204,0,204)とし、オブジェクト607の情報を生成する。
ステップS409では、PDLコマンドに含まれるオブジェクト全てを確認したかを確認し、確認が終了していない場合はステップS404に進みこれを繰り返す。一方、確認が終了した場合はステップS411へ進む。
ステップS410では、制御コマンド生成部111は、特定色が指定されたオブジェクトが有るか否かを示す特定色有情報を「オフ」に設定し、ステップS411へ進む。ステップS411では、PDLコマンド送信部112は、画像形成装置103にPDLコマンドを送信して終了する。ここで、特定色を含む場合のオブジェクト604を含むPDLコマンドを特定色有情報「オン」と共に送信する。
図5は、第1実施形態におけるPDLコマンドの受信から画像形成までの手順を示すフローチャートである。すなわち、図4で説明したフローの実施後に画像形成装置103において実施される手順を示したフローチャートである。
ステップS501では、画像形成装置103のPDLコマンド受信部113は、特定色有情報及びPDLコマンドを受信し、ステップS114へ進む。ここで、受信した特定色有情報は「オン」であり、PDLコマンドは画像604を示すものである。
ステップS502では、制御コマンド分離部114は、特定色有情報とPDLコマンドを分離してメモリに保存する。ステップS503では、レンダリング部116は、オブジェクト604をレンダリングし、ビットマップ608を生成する。ステップS504では、制御コマンド解析部115は、メモリに保存している特定色有情報を取得する。
ステップS505では、制御コマンド解析部115は、特定色有情報が「オン」であると判定した場合は、ステップS506へ進む。一方、特定色有情報が「オフ」であると判定した場合は、ステップS507へ進む。
ステップS506では、制御コマンド解析部115は、色変換テーブル保存部106から特定色対応LUT801を取得し、色変換部117へ送信する。これにより、色変換部117はビットマップの色変換を行うことになる。
ここで、ビットマップ608上のオブジェクト609の色値(R,G,B)=(204,0,0)は、特定色対応LUT801の(R,G,B)=(4,0,0)座標の格子点807を介して得られる。具体的には、色値(R,G,B)=(204,0,0)は出力値(C,M,Y,K)=(0,200,200,0)に変換され、ビットマップ612上のオブジェクト613の情報として得られることになる。
また、ビットマップ608上のオブジェクト611の色値(R,G,B)=(204,0,204)は、特定色対応LUT801の(R,G,B)=(4,0,4)座標の格子点806を介して得られる。具体的には、色値(R,G,B)=(204,0,204)は出力値(C,M,Y,K)=(176,0,0,0)に変換され、ビットマップ612上のオブジェクト615の情報として得られることになる。
更に、ビットマップ608上のオブジェクト610の色値(R,G,B)=(0,0,255)は、特定色対応LUT801の(R,G,B)=(0,0,5)座標を介して得られる。具体的には、色値(R,G,B)=(0,0,255)は、出力値(C,M,Y,K)=(153,20,0,0)に変換され、ビットマップ612上のオブジェクト614の情報として得られることになる。このようにしてビットマップ612が生成される。
ステップS507では、制御コマンド解析部115は、色変換テーブル保存部106から通常用LUTを取得し、色変換部117へ渡し、色変換部117においてビットマップの色変換を行い、ステップS508へ進む。
ステップS508では、画像形成部118は、ビットマップを印刷可能な画像へと変換し、画像形成処理を実行し、処理を終了する。
以上説明したとおり、第1実施形態によれば、特定色の出力色をLUTの空きの格子点に割り当てることにより得られる特定色対応LUTを利用することにより統一的な色処理が可能となる。具体的には、ビットマップを生成した後にLUTを用いた色変換を1回実行するのみで、特定色に対しては所定の出力色(色材の混合率)を割り当て、特定色以外の色に対しては通常色用LUTと同等の色処理を施すことが可能となる。
(第2実施形態)
第2実施形態では、地紋パターンに用いる色を特定色として指定する場合について説明する。特に、以下の説明では、地紋パターンに、シアン、マゼンタ、ブラックを使用する例について説明している。
<システムの構成>
図9は、第2実施形態に係る画像処理システムの構成を示すブロック図である。同図において、アプリケーション901は、PC上で文書作成、図形作成、イメージ画像処理等を行いうプログラムである。地紋パターン生成アプリケーション902は、地紋のパターン画像を生成するプログラムである。なお、地紋のパターン画像は、当該地紋のパターン画像を印刷した印刷物を複写したときに、オリジナルの印刷物でないこと示す画像が現れるように構成されたパターン画像である。プリンタドライバ903は、アプリケーション901において生成されたデータを、画像形成装置904により解釈可能なプリンタ記述言語で記述された命令データ(以下PDLコマンドと呼ぶ)に変換するプログラムである。
プリンタドライバ903は、アプリケーション901及び地紋パターン生成アプリケーション902において生成されたデータ(入力画像及び地紋画像)を、画像形成装置103により解釈可能なプリンタ記述言語で記述された命令データ(以下PDLコマンドと呼ぶ)に変換するプログラムである。
ユーザインターフェース(UI)905は、ユーザがプリンタドライバ903に制御を指示するためインターフェースである。PDLコマンド生成部906は、アプリケーション901から受け取ったコマンドをPDLコマンドに変換する。地紋パターン受信部908は、地紋パターン生成アプリケーション902から地紋パターン画像を受け取る。制御コマンド生成部912は、地紋が付加されたPDLコマンドであるか否かの制御コマンド(後述の地紋パターン付加情報)を生成する。
特定色置換部909は、地紋パターン画像に指定された特定色を特定の色値に置き換える。PDLコマンド変換部910は、地紋パターン画像及び特定色置換部909で置き換えられた色値をPDLコマンドに変換する。色値線形圧縮演算部907は、地紋が付加された場合はPDLコマンドの色値を線形に圧縮する。PDLコマンド結合部911は、色値線形圧縮演算部907とPDLコマンド変換部910とから得られたPDLコマンドを結合する。PDLコマンド送信部913は、生成したPDLコマンドを画像形成装置に送信する。
なお、アプリケーション901、地紋パターン生成アプリケーション902及びプリンタドライバ903は、例えば、PC上で実行される。PCは、種々の演算、制御、判別などの処理動作を実行するCPU、プログラムなどを格納するROM、CPUの処理動作中のデータや入力データなどを一時的に格納するRAMなどを有する。PCは、アプリケーション901、地紋パターン生成アプリケーション902及びプリンタドライバ903などの各種プログラムをRAMより読み出しCPUで実行する。
画像形成装置904はプリンタドライバ903からPDLコマンドを受け取って印刷可能なデータを生成し画像形成(印刷)を実行する装置である。
PDLコマンド受信部914は、プリンタドライバ903からPDLコマンドを受信する。制御コマンド分離部915は、受信したPDLコマンドから制御コマンドを分離する。制御コマンド解析部916は、PDLコマンドから分離した制御コマンドにおいて地紋の付加が指定されているか否かを解析する。そして、制御コマンド解析部916は、地紋の付加が指定されている場合、特定色対応の色変換テーブルであるLUTを色変換部918にセットする。一方、地紋の付加が指定されていない場合、通常色用のLUTを色変換部918にセットする。
レンダリング部917は、PDLコマンドを描画してビットマップを生成する。色変換部918は、セットされているLUTを用いて、レンダリング部917で生成されたビットマップを、PDLコマンド色空間からプリント色空間に変換する。画像形成部919は、プリント色空間に変換されたビットマップを印刷可能な画像へと変換し画像形成を実行する。
画像形成装置904は、画像処理及び画像形成等、種々の演算、制御、判別などの処理動作を実行するCPU、プログラムなどを格納するROM、CPUの処理動作中のデータや入力データなどを一時的に格納するRAMなどを有する。なお、後述する色変換や画像形成の制御は、画像形成装置904のCPUが、対応する制御プログラムをROMから読み出し実行すること実現される。
<色処理の説明>
図12は、第2実施形態の各工程におけるデータが示す画像の変化を例示的に示す図である。具体的には、プリンタドライバ903で処理されるPDLコマンド及び画像形成装置で処理されるビットマップのそれぞれが示す画像の変化を示したものである。
図12(a)は、アプリケーション901が生成されたコマンドが示す画像を表している。図12(b)は、地紋パターン生成アプリケーション902が生成されたコマンドが示す地紋パターン1203と指定された指定色1204を表している。
図12(c)は、地紋を付加する場合に、図12(a)のコマンドに対し色値線形圧縮を実施した後のPDLコマンドが示す画像を表している。図12(d)は、図12(b)の地紋パターンに対して特定色置換部909において色値を置換した後の地紋パターン1207と指定色1208を表している。
図12(e)は、地紋を付加しない場合に、図12(a)のコマンドに基づき画像形成装置904が生成したビットマップが示す画像を表している。図12(f)は、地紋を付加する場合に、図12(c)のコマンドに基づき画像形成装置904が生成したビットマップが示す画像を表している。
図12(g)は、地紋を付加しない場合に、図12(e)のビットマップに対して色変換を実施した後のビットマップを表している。図12(h)は、地紋を付加する場合に、図12(f)のビットマップに対して色変換を実施した後のビットマップを表している。
<システムの動作>
図10は、第2実施形態におけるPDLコマンドの生成から画像形成装置への送信までの手順を示すフローチャートである。
ステップS1001では、PDLコマンド生成部906は、アプリケーション901より受信したコマンドからオブジェクト1201、1202を生成する。ここで、オブジェクト1201の指定色は(R,G,B)=(255,0,0)、オブジェクト1202の指定色は(R,G,B)=(255,0,255)とする。
ステップS1002では、プリンタドライバ903のUI905は、地紋パターンを付加する設定になっているかを確認し、地紋パターンを付加する設定になっていない場合は、ステップS1003へ進む。一方、地紋パターンを付加する設定になっている場合は、ステップS1005へ進む。
ステップS1003では、制御コマンド生成部912は、地紋パターン付加情報を「オフ」として制御コマンドを生成する。ステップS1016では、色値線形圧縮演算部907は、演算を行わない設定にし、PDLコマンドをそのままスルーする。PDLコマンド結合部913は、オブジェクト1201、1202に対するPDLコマンドを生成し、ステップS1004へ進む。
ステップS1004では、PDLコマンド送信部913は、制御コマンドである地紋パターン付加情報、及び、オブジェクト1201、1202に対するPDLコマンドを画像形成装置904へ送信する。
ステップS1005では、制御コマンド生成部912は、地紋パターン付加情報を「オン」として制御コマンドを生成する。ステップS1006では、地紋パターン受信部908は、地紋パターン生成アプリケーション902から、地紋パターン画像1203と地紋パターンの指定色1204とを受信する。ステップS1007では、特定色置換部909は、地紋パターンの指定色1204を確認し、指定色がシアンの場合はステップS1008へ進む。一方、地紋パターンの指定色1204がシアンではない場合、ステップS1009へ進む。
ステップS1008では、特定色置換部909は、地紋パターンの指定色1204を(R,G,B)=(0,255,255)に置き換え、PDLコマンド変換部910においてオブジェクト1207、1208を生成する。
ステップS1009では、特定色置換部909は、地紋パターンの指定色1204を確認し指定色がマゼンタの場合はステップS1010へ進む。一方、地紋パターンの指定色1204がマゼンタではない場合、ステップS1011へ進む。ステップS1010では、特定色置換部909は、地紋パターンの指定色1204を(R,G,B)=(255,0,255)に置き換えて、PDLコマンド変換部910においてオブジェクト1207、1208を生成する。
ステップS1011では、特定色置換部909は、地紋パターンの指定色1204を確認し指定色がブラックの場合はステップS1012へ進む。一方、地紋パターンの指定色1204がブラックではない場合、ステップS1015へ進む。ステップS1012では、特定色置換部909は、地紋パターンの指定色1204を(R,G,B)=(0,0,0)に置き換えて、PDLコマンド変換部910においてオブジェクト1207、1208を生成する。
ステップS1013では、色値線形圧縮演算部907は、オブジェクト1201、1202の指定色値を、それぞれ線形圧縮する。ここでは、(6−2)/(6−1)=4/5倍してオブジェクト1205、1206を再生成する。ここで、オブジェクト1205の指定色は(R,G,B)=(255×4/5,0×4/5,0×4/5)=(204,0,0)である。また、オブジェクト1202の指定色は(R,G,B)=(255×4/5,0×4/5,255×4/5)=(204,0,204)となる。
ステップS1014では、PDLコマンド結合部911は、オブジェクト1205、1206、1207、1208を結合してPDLコマンドを再生成し、ステップS1004へ進む。一方、ステップS1015では、地紋パターン画像1203及び地紋パターンの指定色1204を破棄し、PDLコマンド結合部911の処理はスルーして、ステップS1004へ進む。
ステップS1004では、PDLコマンド送信部913は、再生成されたPDLコマンドを画像形成装置904へ送信する。ここで、PDLコマンドは、制御コマンドである地紋パターン付加情報、及び、オブジェクト1205、1206、1207、1208を含む。
図11は、第2実施形態におけるPDLコマンドの受信から画像形成までの手順を示すフローチャートである。すなわち、図10で説明したフローの実施後に画像形成装置904において実施される手順を示したフローチャートである。
ステップS1101では、画像形成装置904のPDLコマンド受信部914は、プリンタドライバ903より発信されたPDLコマンドを受信する。ステップS1102では、制御コマンド分離部915は、PDLコマンドから制御コマンドを分離する。
ステップS1103では、レンダリング部917は、PDLコマンドに含まれる、オブジェクト1201、1202、或いは、1205、1206、1207、1208をレンダリングし、ビットマップ1209、或いは、ビットマップ1212を生成する。
ステップS1104では、制御コマンド解析部916は、地紋パターン付加情報を取得する。ステップS1105では、制御コマンド解析部916は、地紋パターン付加情報がオンであるかを確認し、オフであった(オンではない)場合は、ステップS1106へ進む。一方、地紋パターン付加情報がオンであった場合は、ステップS1107へ進む。
ステップS1106では、色変換部918は、通常色用LUT201を用いてビットマップ1209の色処理を行い、ビットマップ1216を生成する。ここで、ビットマップ1209上のオブジェクト1210の色値(R,G,B)=(255,0,0)は、通常用LUT201の(R,G,B)=(5,0,0)座標の格子点204を参照する。そのため、ビットマップ1216上のオブジェクト1217の色値は(C,M,Y,K)=(0,200,200,0)となる。
また、ビットマップ1209上のオブジェクト1211の色値(R,G,B)=(255,0,255)は、通常用LUT201の(R,G,B)=(5,0,5)座標の格子点205を参照する。そのため、ビットマップ1216上のオブジェクト1218の色値は(C,M,Y,K)=(176,0,0,0)となる。
ステップS1107では、色変換部918は、特定色対応LUT203を用いてビットマップ1212の色変換を行い、ビットマップ1219を生成する。ここで、ビットマップ1212上のオブジェクト1213の色値(R,G,B)=(204,0,0)は、特定色対応LUT203の(R,G,B)=(4,0,0)座標の格子点213を参照する。そのため、ビットマップ1219上のオブジェクト1220の色値は(C,M,Y,K)=(0,200,200,0)となる。また、ビットマップ1212上のオブジェクト1214の色値(R,G,B)=(204,0,204)は特定色対応LUT203の(R,G,B)=(4,0,4)座標の格子点212を参照する。そのため、ビットマップ1219上のオブジェクト1221の色値は(C,M,Y,K)=(176,0,0,0)となる。
更に、ビットマップ1212上のオブジェクト1215の色値(R,G,B)=(255,0,255)は、特定色対応LUT203の(R,G,B)=(5,0,5)座標の格子点208を参照する。そのため、ビットマップ1219上のオブジェクト1222の色値は(C,M,Y,K)=(255,0,0,0)となる。
ステップS1108では、画像形成部919は、ビットマップを印刷可能な画像へと変換し、画像形成処理を実行し、処理を終了する。
以上説明したとおり、第2実施形態によれば、地紋パターンに用いる色を特定色として指定することにより、地紋パターンをより好適に印刷出力することが可能となる。具体的には、ディザ処理との干渉を起こして地紋パターンが崩れたり消えたりすることを防止することが可能となる。一方、アプリケーションで作成された画像に関しては通常時の印刷と同様に、表示部での表示色に近い色での出力が可能となる。
(第3実施形態)
第3実施形態では、地紋パターンに用いる色を特定色として指定する他の例について説明する。特に、以下の説明では、画像形成前に地紋パターンを退避して、画像形成後に再度地紋パターンを付加する方法について説明する。なお、以下の説明では、地紋パターンに、シアン、マゼンタ、ブラックを使用する例について説明している。
<システムの構成>
図13は、第3実施形態に係る画像処理システムの構成を示すブロック図である。同図において、アプリケーション1301は、PC上で文書作成、図形作成、イメージ画像処理等を行いうプログラムである。地紋パターン生成アプリケーション1302は、地紋のパターン画像を生成するプログラムである。なお、地紋のパターン画像は、当該地紋のパターン画像を印刷した印刷物を複写したときに、オリジナルの印刷物でないこと示す画像が現れるように構成されたパターン画像である。プリンタドライバ1303は、アプリケーション1301において生成されたデータを、画像形成装置1304により解釈可能なプリンタ記述言語で記述された命令データ(以下PDLコマンドと呼ぶ)に変換するプログラムである。
プリンタドライバ1303は、アプリケーション1301及び地紋パターン生成アプリケーション1302において生成されたデータ(入力画像及び地紋画像)を、画像形成装置1304により解釈可能なプリンタ記述言語で記述された命令データ(以下PDLコマンドと呼ぶ)に変換するプログラムである。
ユーザインターフェース(UI)1305は、ユーザがプリンタドライバ1303に制御を指示するためインターフェースである。PDLコマンド生成部1306は、アプリケーション1301から受け取ったコマンドをPDLコマンドに変換する。地紋パターン受信部1308は、地紋パターン生成アプリケーション1302から地紋パターン画像を受け取る。制御コマンド生成部1312は、地紋が付加されたPDLコマンドであるか否かの制御コマンド(後述の地紋パターン付加情報)を生成する。
特定色置換部1309は、地紋パターン画像に指定された特定色を特定の色値に置き換える。PDLコマンド変換部1310は、地紋パターン画像及び特定色置換部1309で置き換えられた色値をPDLコマンドに変換する。色値線形圧縮演算部1307は、地紋が付加された場合はPDLコマンドの色値を線形に圧縮する。PDLコマンド結合部1311は、色値線形圧縮演算部1307とPDLコマンド変換部1310とから得られたPDLコマンドを結合する。PDLコマンド送信部1313は、生成したPDLコマンドを画像形成装置に送信する。
なお、アプリケーション1301、地紋パターン生成アプリケーション1302及びプリンタドライバ1303は、例えば、PC上で実行される。PCは、種々の演算、制御、判別などの処理動作を実行するCPU、プログラムなどを格納するROM、CPUの処理動作中のデータや入力データなどを一時的に格納するRAMなどを有する。PCは、アプリケーション1301、地紋パターン生成アプリケーション1302及びプリンタドライバ1303などの各種プログラムをRAMより読み出しCPUで実行する。
画像形成装置1304はプリンタドライバ1303からPDLコマンドを受け取って印刷可能なデータを生成し画像形成(印刷)を実行する装置である。
PDLコマンド受信部1314は、プリンタドライバ1303からPDLコマンドを受信する。制御コマンド分離部1315は、受信したPDLコマンドから制御コマンドを分離する。制御コマンド解析部1316は、PDLコマンドから分離した制御コマンドにおいて地紋の付加が指定されているか否かを解析する。そして、制御コマンド解析部1316は、地紋の付加が指定されている場合、地紋パターン分離の指示を地紋パターン分離部1318に通知し、また、特定色対応の色変換テーブルであるLUTを色変換部1319にセットする。一方、地紋の付加が指定されていない場合、地紋パターン分離の指示を地紋パターン分離部1318に通知せず、通常色用のLUTを色変換部1319にセットする。
レンダリング部1317は、PDLコマンドを描画してビットマップを生成する。地紋パターン分離部1318は、レンダリング部1317じゃら受け取ったビットマップから地紋パターン分離の指示が通知された場合は地紋パターンを抜き取り地紋フラグとして保存しつつ地紋パターン画素をビットマップの周りの画素値で埋める。また、地紋パターン分離の指示が通知されない場合は何もしない。
色変換部1319は、セットされているLUTを用いて、地紋パターン分離部1318から受け取ったビットマップを、PDLコマンド色空間からプリント色空間に変換する。画像生成部1320は、プリント色空間に変換されたビットマップを印刷可能な画像へと変換する。
画像合成部1321は、印刷可能な画像へ変換された画像と地紋パターン分離部1318が地紋フラグを保存している場合は地紋フラグを地紋パターンへと変換しながら合成する。画像形成部1322は、画像生成部1320又は画像合成部1321で生成された画像に基づいて、用紙などの記録媒体に対して画像形成を実行する。
画像形成装置1304は、画像処理及び画像形成等、種々の演算、制御、判別などの処理動作を実行するCPU、プログラムなどを格納するROM、CPUの処理動作中のデータや入力データなどを一時的に格納するRAMなどを有する。なお、後述する色変換や画像形成の制御は、画像形成装置1304のCPUが、対応する制御プログラムをROMから読み出し実行すること実現される。
<色処理の説明>
図18は、第3実施形態の各工程におけるデータが示す画像の変化を例示的に示す図である。具体的には、プリンタドライバ1303で処理されるPDLコマンド及び画像形成装置で処理されるビットマップのそれぞれが示す画像の変化を示したものである。
図18(a)は、アプリケーション1301が生成されたコマンドが示す画像を表している。図18(b)は、地紋パターン生成アプリケーション1302が生成されたコマンドが示す地紋パターン1803と指定された指定色1804を表している。
図18(c)は、地紋を付加する場合に、図18(a)のコマンドに対し色値線形圧縮を実施した後のPDLコマンドが示す画像を表している。図18(d)は、図18(b)の地紋パターンに対して特定色置換部1309において色値を置換した後の地紋パターン1807と指定色1808を表している。
図18(e)は、地紋を付加しない場合に、図18(a)のコマンドに基づき画像形成装置1304が生成したビットマップが示す画像を表している。図18(f)は、地紋を付加する場合に、図18(c)のコマンドに基づき画像形成装置1304が生成したビットマップが示す画像を表している。
図18(g)は、地紋を付加しない場合に、図18(e)のビットマップに対して色変換を実施した後のビットマップが示す画像を表している。図18(h)は、図18(f)のビットマップにおいて、地紋画素部分を所定の画素(ここでは周囲の画素)で置き換えたビットマップが示す画像を表している。図18(i)は、図18(f)のビットマップに対する地紋フラグを示すビットマップが示す画像を表している。
図18(j)は、図18(h)のビットマップに対して色変換を実施した後のビットマップが示す画像を表している。図18(k)は、地紋を合成したビットマップが示す画像を表している。
図17は、第3実施形態の地紋パターン分離部1318及び画像合成部1321における画像の変化を例示的に示す図である。図17(a)は、地紋を付加する場合に、レンダリング部1317が生成したビットマップの一部を示す画像を表している。図17(b)は、地紋を付加する場合に、地紋パターン分離部1318において、図17(a)のビットマップに対して地紋を表す画素を周囲の画素で埋めて生成した後のビットマップを表している。図17(c)は、地紋を付加する場合に、地紋パターン分離部1318において、図17(a)のビットマップに対して地紋を表す画素部分を、色値によってビットの組み合わせを選択しながら出力生成した地紋フラグを表している。
<システムの動作>
図14は、第3実施形態におけるPDLコマンドの生成から画像形成装置への送信までの手順を示すフローチャートである。
ステップS1401では、PDLコマンド生成部1306は、アプリケーション1301より受信したコマンドからオブジェクト1801、1802を生成する。ここで、オブジェクト1801の指定色は(R,G,B)=(255,0,0)、オブジェクト1802の指定色は(R,G,B)=(255,0,255)とする。
ステップS1402では、プリンタドライバ1303のUI1305は、地紋パターンを付加する設定になっているかを確認し、地紋パターンを付加する設定になっていない場合は、ステップS1403へ進む。一方、地紋パターンを付加する設定になっている場合は、ステップS1405へ進む。
ステップS1403では、制御コマンド生成部1312は、地紋パターン付加情報を「オフ」として制御コマンドを生成する。ステップS1416では、色値線形圧縮演算部1307は、演算を行わない設定にし、PDLコマンドをそのままスルーする。PDLコマンド結合部1313は、オブジェクト1801、1802に対するPDLコマンドを生成し、ステップS1404へ進む。
ステップS1404では、PDLコマンド送信部1313は、制御コマンドである地紋パターン付加情報、及び、オブジェクト1801、1802に対するPDLコマンドを画像形成装置1304へ送信する。
ステップS1405では、制御コマンド生成部1312は、地紋パターン付加情報を「オン」として制御コマンドを生成する。ステップS1406では、地紋パターン受信部1308は、地紋パターン生成アプリケーション1302から、地紋パターン画像1803と地紋パターンの指定色1804とを受信する。ステップS1407では、特定色置換部1309は、地紋パターンの指定色1804を確認し、指定色がシアンの場合はステップS1408へ進む。一方、地紋パターンの指定色1804がシアンではない場合、ステップS1409へ進む。
ステップS1408では、特定色置換部1309は、地紋パターンの指定色1804を(R,G,B)=(0,255,255)に置き換え、PDLコマンド変換部1310においてオブジェクト1807、1808を生成する。
ステップS1409では、特定色置換部1309は、地紋パターンの指定色1804を確認し指定色がマゼンタの場合はステップS1410へ進む。一方、地紋パターンの指定色1804がマゼンタではない場合、ステップS1411へ進む。ステップS1410では、特定色置換部1309は、地紋パターンの指定色1804を(R,G,B)=(255,0,255)に置き換えて、PDLコマンド変換部1310においてオブジェクト1807、1808を生成する。
ステップS1411では、特定色置換部1309は、地紋パターンの指定色1804を確認し指定色がブラックの場合はステップS1412へ進む。一方、地紋パターンの指定色1804がブラックではない場合、ステップS1415へ進む。ステップS1412では、特定色置換部1309は、地紋パターンの指定色1804を(R,G,B)=(255,255,0)に置き換えて、PDLコマンド変換部1310においてオブジェクト1807、1808を生成する。
ステップS1413では、色値線形圧縮演算部1307は、オブジェクト1801、1802の指定色値を、それぞれ線形圧縮する。ここでは、(6−2)/(6−1)=4/5倍してオブジェクト1805、1806を再生成する。ここで、オブジェクト12805の指定色は(R,G,B)=(255×4/5,0×4/5,0×4/5)=(204,0,0)である。また、オブジェクト1802の指定色は(R,G,B)=(255×4/5,0×4/5,255×4/5)=(204,0,204)となる。
ステップS1414では、PDLコマンド結合部1311は、オブジェクト1805、1806、1807、1808を結合してPDLコマンドを再生成し、ステップS1404へ進む。一方、ステップS1415では、地紋パターン画像1803及び地紋パターンの指定色1804を破棄し、PDLコマンド結合部1311の処理はスルーして、ステップS1404へ進む。
ステップS1404では、PDLコマンド送信部1313は、再生成されたPDLコマンドを画像形成装置1304へ送信する。ここで、PDLコマンドは、制御コマンドである地紋パターン付加情報、及び、オブジェクト1805、1806、1807、1808を含む。
図15は、第3実施形態におけるPDLコマンドの受信から画像形成までの手順を示すフローチャートである。すなわち、図14で説明したフローの実施後に画像形成装置1304において実施される手順を示したフローチャートである。
ステップS1501では、画像形成装置1304のPDLコマンド受信部1314は、プリンタドライバ1303より発信されたPDLコマンドを受信する。ステップS1502では、制御コマンド分離部1315は、PDLコマンドから制御コマンドを分離する。
ステップS1503では、レンダリング部1317は、PDLコマンドに含まれる、オブジェクト1801、1802、或いは、1805、1806、1807、1808をレンダリングし、ビットマップ1809、或いは、ビットマップ1812を生成する。
ステップS1504では、制御コマンド解析部1316は、地紋パターン付加情報を取得する。ステップS1505では、制御コマンド解析部1316は、地紋パターン付加情報がオンであるかを確認し、オフであった(オンではない)場合は、ステップS1506へ進む。一方、地紋パターン付加情報がオンであった場合は、ステップS1507へ進む。
ステップS1506では、色変換部1319は、通常色用LUT201を用いてビットマップ1809の色処理を行い、ビットマップ1816を生成する。ここで、ビットマップ1809上のオブジェクト1810の色値(R,G,B)=(255,0,0)は、通常用LUT201の(R,G,B)=(5,0,0)座標の格子点204を参照する。そのため、ビットマップ1816上のオブジェクト1817の色値は(C,M,Y,K)=(0,200,200,0)となる。
また、ビットマップ1809上のオブジェクト1811の色値(R,G,B)=(255,0,255)は、通常用LUT201の(R,G,B)=(5,0,5)座標の格子点205を参照する。そのため、ビットマップ1816上のオブジェクト1818の色値は(C,M,Y,K)=(176,0,0,0)となる。
ステップS1507では、地紋パターン分離部1318は、ビットマップ1812から地紋フラグ1822を生成しながら地紋画素部分を周囲の画素で置き換えたビットマップ1819を生成する。ここでビットマップ1819上のオブジェクト1820の色値は(R,G,B)=(204,0,0)のままであり、オブジェクト1821の色値は(R,G,B)=(204,0,204)のままである。また、地紋フラグ1822は2ビットのデータであり地紋パターンが(R,G,B)=(0,255,255)の場合その画素を”1”とし、その他は”0”で構成される。
ステップS1508では、色変換部1319は、特定色対応LUT203を用いてビットマップ1819の色変換を行い、ビットマップ1823を生成する。ここで、ビットマップ1819上のオブジェクト1820の色値(R,G,B)=(204,0,0)は、特定色対応LUT203の(R,G,B)=(4,0,0)座標の格子点213を参照する。そのため、ビットマップ1823上のオブジェクト1824の色値は(C,M,Y,K)=(0,200,200,0)となる。また、ビットマップ1819上のオブジェクト1821の色値(R,G,B)=(204,0,204)は特定色対応LUT203の(R,G,B)=(4,0,4)座標の格子点212を参照する。そのため、ビットマップ1823上のオブジェクト1825の色値は(C,M,Y,K)=(176,0,0,0)となる。
ステップS1509では、画像生成部1320は、色処理されたビットマップを印刷可能な形式のビットマップへと変換する。
ステップS1510では、画像合成部1321は、地紋パターン分離部1318が地紋パターンを分離した場合は地紋フラグ1822をビットマップに変換しながらS1509で生成したビットマップと合成してビットマップ1826を生成し終了する。ここで地紋フラグ1822は”0”と”1”で構成されているため、”1”の部分を(C,M,Y,K)=(255,0,0,0)に置き換えて合成する。地紋パターン分離部1318において地紋パターンが分離されていない場合は地紋フラグは全て”0”となっているのでビットマップ1816と合成しても何も変わらない。
ステップS1511では、画像形成部1322は、生成されたビットマップ1826に基づいて、用紙などの記録媒体に対して画像形成を実行する。
図16は、地紋パターン分離部1318がビットマップから地紋フラグを生成しながら、地紋パターンの画素を周りの画素で埋めるまでの手順を示すフローチャートである。
ステップS1601では、地紋パターン分離部1318は、レンダリング部1318で生成したビットマップ1701を読み込む。ステップS1602では、地紋パターン分離部1318は、ビットマップ1702と同サイズの各画素2ビット(0x0〜0x3)で構成される地紋フラグを格納するメモリを獲得する。ステップS1603では、地紋パターン分離部1318は、ビットマップ1702の現在の画素位置を”0”に初期化する。
ステップS1604では、地紋パターン分離部1318は、ビットマップ1702からから現在の画素位置を中心とする5x5画素を読み込む。ここで5x5画素がビットマップ1702からはみ出す場合は(R,G,B)=(255,255,255)があるものとして補うとよい。ステップS1605では、地紋パターン分離部1318は、カウンタ用のメモリを獲得し、”0”で初期化する。ステップS1606では、地紋パターン分離部1318は、代表色登録用のメモリを獲得し、”0”で初期化する。
ステップS1607では、地紋パターン分離部1318は、5x5画素の中心にある注目画素が地紋指定色であるかを判定する。ここで地紋指定色は(R,G,B)=(0,255,255)、(R,G,B)=(255,0,255)、(R,G,B)=(255,255,0)のいずれかである。注目画素が地紋指定色である場合はステップS1608へ進む。一方、注目画素が地紋指定色でない場合はステップS1629へ進む。
ステップS1608では、地紋パターン分離部1318は、注目画素が地紋指定色(R,G,B)=(0,255,255)であるか判定し、(R,G,B)=(0,255,255)の場合はステップS1609へ進む。一方、注目画素が地紋指定色(R,G,B)=(0,255,255)でない場合はステップS1610へ進む。
ステップS1609では、地紋パターン分離部1318は、地紋フラグのビットマップの現在の画素の位置に”0x1”を格納する。
ステップS1610では、地紋パターン分離部1318は、注目画素が地紋指定色(R,G,B)=(255,0,255)であるか判定し、(R,G,B)=(255,0,255)の場合はステップS1611へ進む。一方、注目画素が地紋指定色(R,G,B)=(255,0,255)でない場合はステップS1612へ進む。
ステップS1611では、地紋パターン分離部1318は、地紋フラグのビットマップの現在の画素の位置に”0x2”を格納する。ここで、ビットマップ1701には地紋指定色1703(R,G,B)=(255,0,255)が含まれており、ビットマップ1701の全画素の処理が終了した時には地紋フラグ1706が完成する。地紋フラグ1706に含まれる画素1707は”0x2”である。
ステップS1612では、地紋パターン分離部1318は、地紋フラグのビットマップの現在の画素の位置に”0x3”を格納する。
ステップS1613では、地紋パターン分離部1318は、注目画素の周囲1画素に地紋指定色が存在するかを確認し、存在する場合はステップS1614へ進む。一方、存在しない場合はステップS1615へ進む。
ステップS1614では、地紋パターン分離部1318は、処理を行うウィンドウを、注目画素を中心とする5x5画素の領域として設定する。ステップS1615では、地紋パターン分離部1318は、処理を行うウィンドウを、注目画素を中心とする3x3画素の領域として設定する。
ステップS1616では、地紋パターン分離部1318は、現在の処理ウィンドウの画素位置を”0”に初期化する。
ステップS1617では、地紋パターン分離部1318は、現在の画素位置の画素が地紋指定色であるかを確認し、地紋指定色の場合はステップS1627へ進む。一方、現在の画素位置の画素が地紋指定色でない場合はステップS1618へ進む。
ステップS1618では、地紋パターン分離部1318は、現在の画素位置の画素のRの値を17で除算し商を求める。ここでビットマップ1701の画素1702が(R,G,B)=(56,98,238)の場合、56÷17で商は”3”となる。ステップS1619では、地紋パターン分離部1318は、カウンタメモリの商の番地のカウンタをインクリメントする(1上げる)。ここで、商は”3”であるので3番地のカウンタをインクリメントする。ステップS1620では、地紋パターン分離部1318は、代表色登録メモリの商の番地にRの色値を登録する。ここで、商は”3”であるので代表色登録メモリの3番地にRの色値”56”を登録する。
ステップS1621では、地紋パターン分離部1318は、現在の画素位置の画素のGの値を17で除算し商を求める。ここでビットマップ1701の画素1702が(R,G,B)=(56,98,238)の場合、98÷17で商は”5”となる。ステップS1622では、地紋パターン分離部1318は、カウンタメモリの16+商の番地のカウンタをインクリメントする。ここで、商は”5”であるので16+5=21番地のカウンタをインクリメントする。ステップS1623では、地紋パターン分離部1318は、代表色登録メモリの16+商の番地にGの色値を登録する。ここで、商は5であるので代表色登録メモリの16+5=21番地にGの色値”98”を登録する。
ステップS1624では、地紋パターン分離部1318は、現在の画素位置の画素のBの値を17で除算し商を求める。ここでビットマップ1701の画素1702が(R,G,B)=(56,98,238)の場合、238÷17で商は”14”となる。ステップS1625では、地紋パターン分離部1318は、カウンタメモリの32+商の番地のカウンタをインクリメントする。ここで、商は”14”であるので32+14=46番地のカウンタをインクリメントする。ステップS1626では、地紋パターン分離部1318は、代表色登録メモリの32+商の番地にBの色値を登録する。ここで、商は”14”であるので代表色登録メモリの32+14=46番地にBの色値”238”を登録する。
ステップS1627では、地紋パターン分離部1318は、処理ウィンドウの全ての画素の処理が終了したかを確認し、終了していない場合はステップS1628へ進む。一方、全ての画素の処理が終了した場合はステップS1630へ進む。ステップS1628では、地紋パターン分離部1318は、現在の処理ウィンドウの画素位置を1つ進めて、ステップS1617へ進みこれを繰り返す。
ステップS1629では、地紋パターン分離部1318は、地紋フラグのビットマップの現在の画素位置に”0x0”を格納する。
ステップS1630では、地紋パターン分離部1318は、カウンタメモリの0〜15番地は全て”0”であるか否かを確認し、全て”0”の場合はステップS1631へ進み、”0”でない番地がある場合はステップS1632へ進む。ステップS1631では、地紋パターン分離部1318は、注目画素の色値のRの値を出力のRの値とする。
ステップS1632では、地紋パターン分離部1318は、カウンタメモリの0〜15番地で最大のカウンタ値を持つ番地を獲得する。ステップS1633では、地紋パターン分離部1318は、代表色登録メモリのステップS1632で得た番地に登録の色値を出力のRの値とする。ここで、ビットマップ1702の画素1702の画素を含むウィンドウの場合は出力のRの値は”56”となる。
ステップS1634では、地紋パターン分離部1318は、カウンタメモリの16〜31番地は全て”0”であるか否かを確認し、全て0の場合はステップS1635へ進み、”0”でない番地がある場合はステップS1636へ進む。ステップS1635では、地紋パターン分離部1318は、注目画素の色値のGの値を出力のGの値とする。
ステップS1636では、地紋パターン分離部1318は、カウンタメモリの16〜31番地で最大のカウンタ値を持つ番地を獲得する。ステップS1637では、地紋パターン分離部1318は、代表色登録メモリのステップS1636で得た番地に登録の色値を出力のGの値とする。ここで、ビットマップ1702の画素1702の画素を含むウィンドウの場合は出力のGの値は”98”となる。
ステップS1638では、地紋パターン分離部1318は、カウンタメモリの32〜47番地は全て”0”であるか否かを確認し、全て”0”の場合はステップS1639へ進み、”0”でない番地がある場合はステップS1640へ進む。ステップS1639では、地紋パターン分離部1318は、注目画素の色値のBの値を出力のBの値とする。
ステップS1640では、地紋パターン分離部1318は、カウンタメモリの32〜47番地で最大のカウンタ値を持つ番地を獲得する。ステップS1641では、地紋パターン分離部1318は、代表色登録メモリのステップS1640で得た番地に登録の色値を出力のBの値とする。ここで、ビットマップ1702の画素1702の画素を含むウィンドウの場合は出力のBの値は”238”となる。
ステップS1642では、地紋パターン分離部1318は、ビットマップの全画素の処理を完了したかを確認し、終了していない場合はステップS1643へ進む。一方、全画素の処理を終了した場合は処理を終了する。ここで全ての全画素の処理が終了した時、画素1705(R,G,B)=(56,98,238)を含む出力ビットマップ1704と画素1707”0x2”を含む地紋フラグ1706が完成する。
ステップS1643では、地紋パターン分離部1318は、ビットマップの現在の画素位置を1つ進めて、ステップS1604へ戻り以上の処理を繰り返す。
以上説明したとおり、第3実施形態によれば、地紋パターンに用いる色を特定色として指定し、分離して他の処理を加えた上で合成することで、地紋パターンをより好適に印刷出力することが可能となる。具体的には、ディザ処理前に新たな画像処理を追加することが可能となる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。