A.第1実施例:
図1は、本発明の一実施例としての印刷システム1000を示す説明図である。印刷システム1000は、画像処理装置100と、画像処理装置100に接続された印刷装置300と、を有している。
画像処理装置100は、例えば、パーソナルコンピュータである。画像処理装置100は、プロセッサ110と、揮発性記憶装置120と、不揮発性記憶装置130と、表示部140と、操作部150と、装置インタフェース160と、を備える。
プロセッサ110は、データ処理を行う装置であり、例えば、いわゆるCPUである。揮発性記憶装置120は、例えば、いわゆるDRAMであり、不揮発性記憶装置130は、例えば、いわゆるフラッシュメモリである。不揮発性記憶装置130は、プログラム132と、色変換情報の例としての色変換テーブル134(以下、「テーブル134」と呼ぶ)と、を格納している。
プロセッサ110は、プログラム132を実行することによって、種々の機能を実現する。本実施例では、プロセッサ110は、取得部210と、変換部220と、印刷データ生成部230と、のそれぞれの機能を実現する。各処理部の詳細については、後述する。また、プロセッサ110は、プログラム(例えば、プログラム132)の実行に利用される種々の中間データを、記憶装置(例えば、揮発性記憶装置120、または、不揮発性記憶装置130)に、一時的に格納する。
表示部140は、画像を表示する装置であり、例えば、液晶ディスプレイである。操作部150は、ユーザによる操作を受け取る装置であり、例えば、表示部140上に重ねて配置されたタッチパネルである。ユーザは、操作部150を操作することによって、後述する印刷処理の開始指示等の種々の指示を入力可能である。装置インタフェース160は、他の装置と通信するためのインタフェースである(例えば、USBインタフェース、有線LANインタフェース、または、IEEE802.11の無線インタフェース)。画像処理装置100は、装置インタフェース160を介して、印刷装置300と通信可能である。
印刷装置300は、用紙(印刷媒体の一例)上に画像を印刷する装置である。印刷装置300は、本実施例では、シアンCとマゼンタMとイエロYとブラックKのそれぞれのトナーを用いるレーザ式印刷装置である。ただし、印刷装置300としては、他の方式の印刷装置(例えば、インクジェット式印刷装置)を採用可能である。
図2は、印刷システム1000(図1)によって実行される印刷処理の例を示すフローチャートである。プロセッサ110は、ユーザの指示に応じて、印刷処理を開始する。ステップS100では、取得部210は、元画像データを取得する。取得部210は、例えば、不揮発性記憶装置130から元画像データを取得する。これに代えて、取得部210は、装置インタフェース160を介して図示しないネットワークを通じて、他の装置から元画像データを取得してもよい。
図3は、元画像データによって表される元画像IMGの例を示す概略図である。元画像データは、例えば、PDF形式等のPDL(page description language)で記述された画像データである。元画像データは、例えば、1以上のオブジェクトを表す1以上のオブジェクトデータを含んでいる。各オブジェクトデータは、オブジェクトの形状を表す形状情報と、オブジェクトの色を表す色情報と、オブジェクトの種類を表す種類情報と、を含み得る。種類情報には、例えば、「文字」、「イメージ」、「グラフィック」がある。イメージのオブジェクトとしては、例えば、写真がある。グラフィックのオブジェクトとしては、例えば、イラストがある。グラフィックのオブジェクトの形状情報は、例えば、形状を表すベクトルデータである。グラフィックのオブジェクトの色情報は、ベクトルデータによって表される線分や領域等の要素の色を、第1色空間の色値で表している。本実施例では、第1色空間は、RGB色空間であり、第1色空間の色値は、赤Rと緑Gと青Bとの3個の色成分のそれぞれの値(例えば、ゼロから255までの256階調)で表される。
図3の元画像IMGは、オブジェクトとして、写真PHと、QRコードQCと、を表している。写真PHには、種類情報としてイメージが割り当てられる。QRコードQCには、種類情報としてグラフィックが割り当てられる。QRコードQCの形状情報は、QRコードのドットパターンを表している。QRコードの色情報は、QRコードの色を表している。本実施例では、QRコードQCのドットパターンの全体が、単一の色で塗りつぶされており、その色値が、青色を表す色値(R=0,G=0,B=255)であることとする。
図2のステップS105では、変換部220は、元画像データによって表されるオブジェクトの中から、未処理のオブジェクトを、注目オブジェクトとして選択する。ステップS110では、変換部220は、種類情報を参照して、注目オブジェクトの種類を特定する。注目オブジェクトの種類が「グラフィック」である場合、変換部220は、注目オブジェクトを解析して、注目オブジェクトがQRコードであるか否かを判断する。変換部220は、例えば、形状情報としてのベクトルデータにおける長さが所定値よりも短いベクトルの割合が所定の閾値以上であり、かつ、ベクトルデータによって表されるパターンが一色で塗りつぶされている場合に、注目オブジェクトがQRコードであると判断する。ステップS115では、変換部220は、注目オブジェクトの種類が、特定の種類であるか否かを判断する。ここで、「特定の種類」は、情報を表すオブジェクトを示しており、本実施例では、「QRコード」である。以下、特定の種類のオブジェクトを、特定対象物とも呼ぶ。例えば、QRコードQCのことを、特定対象物QCとも呼ぶ。
注目オブジェクトの種類が特定の種類でない場合(S115:No)、例えば、注目オブジェクトが写真PH(図3)である場合、処理は、後述するステップS132に移行する。
オブジェクトの種類が特定の種類である場合(S115:Yes)、例えば、注目オブジェクトがQRコードQC(図3)である場合、ステップS120で、変換部220は、元画像データを解析して、注目オブジェクトの色を表す色値(「目標色値」と呼ぶ)を特定する。目標色値は、第1色空間の色値である。上述したように、QRコードQCの目標色値は、青色を表す色値(R=0,G=0,B=255)である。以下、目標色値によって表される色(すなわち、特定対象物の色)を、「目標色」とも呼ぶ。
ステップS125では、変換部220は、修正変換色値を決定する。図4は、修正変換色値の決定処理の例のフローチャートである。ステップS200では、変換部220は、目標色値とテーブル134とを用いて、変換色値を特定する。
図5は、色変換テーブル134の例を示す説明図である。本実施例では、テーブル134は、第1色空間内の予め決められた複数個の格子点(グリッドとも呼ぶ)のそれぞれに、第2色空間の色値を対応付けるテーブルである。このようなテーブルは、ルックアップテーブルとも呼ばれる。第2色空間の色値は、印刷に用いられる複数種類の色材に対応する複数個の色成分の値で表される。本実施例では、第2色空間は、CMYK色空間であり、第2色空間の色値は、シアンCとマゼンタMとイエロYとブラックKとの4個の色成分のそれぞれの値(例えば、ゼロから255までの256階調)で表される。図5の例では、各グリッドの第1色空間の赤Rの値は、ゼロから255までの範囲を16等分して得られる17個の値のうちのいずれかである。各グリッドの第1色空間の緑G,青Bも同様である。グリッドの総数は、17*17*17=4913個である。
図中の色値Ca1は、QRコードQCの色を示す目標色値である。変換色値Ca2は、テーブル134によって目標色値Ca1に対応付けられる第2色空間の色値である。このように、テーブル134によって目標色値に対応付けられる第2色空間での色値を「変換色値」と呼ぶ。また、変換色値によって表される色を「変換色」とも呼ぶ。図4のステップS200では、変換部220は、目標色値Ca1とテーブル134とを用いて、変換色値Ca2を特定する。目標色値Ca1と同じグリッドがテーブル134に含まれていない場合には、変換部220は、テーブル134に含まれる複数のグリッドのうちの少なくとも一部の複数のグリッドを補間することによって、変換色値Ca2を特定する。
図4のステップS210では、変換部220は、変換色値とテーブル134とを用いて、以下のルールに従って、修正変換色値を決定する。まず、変換部220は、変換色値の複数の色成分(例えばC,M,Y,K色成分)のそれぞれの値のうち、最大色成分(例えばC成分)以外の色成分(例えばM,Y,K成分)のそれぞれの値をゼロに変更することによって、最大色成分の値のみがゼロよりも大きい色値を決定する(「参考値」と呼ぶ)。図5中、変換色値Ca2(C=224,M=143,Y=0,K=0)から算出される参考値は、色値Cs2(C=224,M=0,Y=0,K=0)である。色値Cs2のシアンCの値は、変換色値Ca2のシアンCの値と同じであり、色値Cs2の他の色成分M、Y、Kの値は、いずれもゼロである。
変換部220は、テーブル134に含まれる複数のグリッドにそれぞれ対応付けられた第2色空間の複数の色値のうち、参考値に最も近い色値を、修正変換色値Cb2として採用する。本実施例では、変換部220は、検索幅wを用いて複数の色成分(例えばCMYKの4つの色成分)のそれぞれの値の検索範囲を決定する。各色成分の検索範囲は、参考値の各色成分のそれぞれの値を中心とする幅が2*wである範囲である(演算記号「*」は、乗算記号。以下同様)。例えば、参考値Cs2(C=224,M=0,Y=0,K=0)に基づく各色成分の検索範囲は、以下の通りである。
シアンC : 224−w以上、224+w以下
マゼンタM :0−w以上、0+w以下
イエロY :0−w以上、0+w以下
ブラックK :0−w以上、0+w以下
変換部220は、テーブル134の第2色空間の色値から、全ての色成分のそれぞれの値が上記の対応する色成分の検索範囲内であるという条件を満たす色値を検索する。ここで、変換部220は、例えば、検索幅wの初期値として「10」を採用し、上記条件を満たす色値が見つかるまで、検索幅wを所定値(例えば、10)ずつ増大させる。また、変換部220は、検索幅wをゼロから1ずつ増大させ、そして、最初に見つかった色値を、修正変換色値として採用してもよい。同時に複数の色値が見つかった場合には、複数の色成分(例えばCMYKの4つの色成分)の値の合計値が最も小さい色値が、修正変換色値として採用される。図5の色値Cb2は、参考値Cs2に基づいて決定された修正変換色値を示している(「修正変換色値Cb2」と呼ぶ)。以上のように、変換部220は、最大色成分の値が変換色値Ca2の最大色成分の値に近く、かつ、最大色成分以外の色成分の値が小さい色値を、修正変換色値として決定する。そして、変換部220は、図4の処理を終了する。以下、修正変換色値によって表される色を「修正変換色」とも呼ぶ。
以上のように決定される修正変換色値は、以下のような特徴を有している。
第1特徴C1)修正変換色値の複数個の色成分(例えばCMYKの4つの色成分)のうち最も大きな値を有する最大色成分が、変換色値の複数個の色成分(例えばCMYKの4つの色成分)のうち最も大きな値を有する最大色成分と同じである。
第2特徴C2)修正変換色値の複数個の色成分(例えばCMYKの4つの色成分)のうち最大色成分以外の色成分の値の合計値が、変換色値の複数個の色成分(例えばCMYKの4つの色成分)のうち最大色成分以外の色成分の値の合計値よりも、小さい。
例えば、図5の修正変換色値Cb2の最大色成分であるシアンCは、変換色値Ca2の最大色成分であるシアンCと、同じである(第1特徴C1)。そして、修正変換色値Cb2の最大色成分以外の色成分M、Y、Kの値の合計値(6+9+0=15)は、変換色値Ca2の最大色成分以外の色成分M、Y、Kの値の合計値(143+0+0=143)よりも、小さい(第2特徴C2)。
これらの特徴C1、C2は、修正変換色値の最大色成分以外の色成分に基づく濃度が、変換色値Ca2の最大色成分以外の色成分に基づく濃度よりも、小さいことを示している。このため、修正変換色値は、変換色値Ca2と比べて複数種類の色材のそれぞれの像の間の位置ズレが目立ち難い色値と言える(詳細は、後述)。
図2のステップS130では、変換部220は、注目オブジェクト(すなわち、特定対象物)のうち、テーブル134に従わない色変換処理の対象の領域である対象領域を決定する。図6は、対象領域の決定処理の例のフローチャートである。ステップS300では、変換部220は、変換色値Ca2と修正変換色値Cb2との間の類似性の評価値を、換言すれば、変換色値Ca2によって表される変換色と、修正変換色値Cb2によって表される修正変換色との間の類似性の評価値を算出する。本実施例では、評価値として、変換色値Ca2と修正変換色値Cb2との間の色相の差分が、採用される。従って、評価値が小さいほど、類似性が高い。なお、各色値Ca2,Cb2の色相としては、例えば、各色値をHSV色空間の色値に変換することによって得られるH成分の値を採用可能である。第2色空間の色値とHSV色空間の色値との間の対応関係としては、予め決められた対応関係(例えば周知の変換式)が、用いられる。
ステップS310では、変換部220は、類似性が高いか否かを判断する。本実施例では、評価値としての色相の差分が所定の閾値(例えば60度)以下である場合に、類似性が高いと判断される。
類似性が高いと判断される場合(S310:Yes)、ステップS320で、変換部220は、注目オブジェクトの全体を、対象領域として選択し、図6の処理を終了する。
類似性が高くないと判断される場合(S310:No)、ステップS330で、変換部220は、注目オブジェクトの縁を含む縁領域を、対象領域として選択し、図6の処理を終了する。
図7は、対象領域の説明図である。図7(A)は、QRコードQC(図3)の一部分である部分コードQCpを示している。図中では、部分コードQCpが、ハッチングで示されている。
図7(B)には、類似性が高いと判断される場合の対象領域TA1がハッチングで示されている。図示するように、部分コードQCpの全体が、対象領域TA1として選択されている。図7(C)には、類似性が高くないと判断される場合の対象領域TA2がハッチングで示されている。部分コードQCpは、部分コードQCpの縁を含む縁領域A1と、部分コードQCpのうちの縁領域A1に囲まれた中領域A2と、に区分されている。本実施例では、縁領域A1は、オブジェクトの縁からの距離が所定の画素数Pw(例えば、印刷済の画像上における0.25mmに相当する画素数。画素密度が600dpiである場合、6画素)以下の範囲内の領域である。この縁領域A1が、対象領域TA2として選択される。なお、図7(B)の対象領域TA1は、図7(C)の対象領域TA2と異なり、縁領域A1と中領域A2との双方を含んでいる。図7(B),図7(C)から分かるように、縁領域A1は、変換色(色値Ca2)と修正変換色(色値Cb2)との間の類似性に拘わらずに、対象領域として選択される。変換色と修正変換色との間の類似性に応じて対象領域が異なる理由については、後述する。また、画素数Pwとしては、複数種類の色材のそれぞれの像の間で生じ得る位置ズレの距離に相当する値を採用することが好ましい。
図2のステップS132では、変換部220は、注目オブジェクトのラスタライズを実行することによって、注目オブジェクトを表すビットマップデータ(ラスタデータとも呼ばれる)を生成する。本実施例では、RGBのビットマップデータが生成される。
ステップS140では、変換部220は、全てのオブジェクトの処理が終了したか否かを判断する。未処理のオブジェクトが残っている場合(S140:No)、変換部220は、ステップS105に戻り、未処理のオブジェクトに対するステップS105〜S140の処理を実行する。
全てのオブジェクトの処理が終了した場合(S140:Yes)、変換部220は、ビットマップデータに対して色変換処理を実行して、第2色空間の色値で表される変換済画像データを生成する。そして、印刷データ生成部230は、変換済画像データを用いて印刷装置300に供給すべき印刷データを生成する。
ステップS145では、変換部220は、ビットマップデータによって表される複数の画素の中から、未処理の画素を、注目画素として選択する。ステップS150では、変換部220は、注目画素が対象領域内の画素であるか否かを判断する。注目画素が対象領域内の画素ではない場合(S150:No)、ステップS155で、変換部220は、テーブル134に従って注目画素の色値を第1色空間の色値から第2色空間の色値に変換し、注目画素の色変換済の色値を決定する。例えば、注目画素の色値が図5の目標色値Ca1である場合、色変換済の色値は、変換色値Ca2である。ステップS165では、印刷データ生成部230は、注目画素の色変換済の色値に対するハーフトーン処理を実行する。ハーフトーン処理としては、いわゆる誤差拡散法に従った処理が行われる。この代わりに、ディザマトリクスを用いる方法を採用してもよい。そして、処理は、ステップS170に移行する。なお、元画像IMG中の特定の種類とは異なる種類のオブジェクトを表す領域内では、色変換処理は、ステップS155で実行される。
注目画素が対象領域内の画素である場合(S150:Yes)、ステップS160で、変換部220は、注目画素の目標色値を、テーブル134に従わずに、修正変換色値に変換する。例えば、図5の例では、注目画素の目標色値Ca1は、修正変換色値Cb2に変換される。ステップS165では、注目画素の色変換済の色値に対するハーフトーン処理が実行され、そして、処理は、ステップS170に移行する。
ステップS170では、変換部220は、ビットマップデータの全ての画素の処理が終了したか否かを判断する。未処理の画素が残っている場合(S170:No)、変換部220は、ステップS145に戻り、未処理の画素に対する処理(S145〜S170)を実行する。全ての画素の処理が終了した場合(S170:Yes)、変換部220は、ビットマップデータの全ての画素の色変換処理を完了する。すなわち、変換部220は、全ての画素に対して色変換処理(S155、S160)を実行することによって、第2色空間の色値で表される変換済画像データを生成している、ということができる。ステップS172では、印刷データ生成部230は、色変換済の色値に対するハーフトーン処理の結果(すなわち、変換済画像データに対するハーフトーン処理の結果)を用いて、印刷データを生成する。ステップS175で、印刷データ生成部230は、生成した印刷データを、印刷装置300に送信する。ステップS180では、印刷装置300は、受信した印刷データに従って、画像を印刷する。そして、図2の処理が終了する。
以上のように、対象領域では、テーブル134に従わずに、目標色値Ca1が修正変換色値Cb2に変換される色変換処理が行われ、対象領域以外では、テーブル134に従って、目標色値Ca1が変換色値Ca2に変換される色変換処理が行われる。以下、この理由について説明する。
図8は、複数種類の色材のそれぞれの像の間で生じる位置ズレが印刷済画像に与え得る影響を説明する説明図である。図8は、仮にテーブル134に従って部分コードQCp(図7(A))の全体の色変換処理が実行される場合に印刷される画像の例を示している。この場合、部分コードQCpの全体が、変換色値Ca2(図5)で表される。図8の左部には、部分コードQCpを表すCMYKの像Ca2c、Ca2m、Ca2y、Ca2kが示されている。図5の変換色値Ca2では、C=224,M=143,Y=0,K=0である。シアンCの像Ca2cとマゼンタMの像Ca2mとは、濃いパターンを形成する。他の色成分Y、Kの像Ca2y、Ca2kは、パターンを形成しない。すなわち、図中、各色成分の像は、対応する色成分の値が大きいほど、ハッチングが濃くなるように描かれている。
図8の中央部には、用紙上に印刷された部分コードQCp、すなわち、用紙上に重なり合った像Ca2c、Ca2m、Ca2y、Ca2kによって表される重畳画像ICa2の例が示されている。ここでは、シアンCの像Ca2cの位置が、他の像Ca2m、Ca2y、Ca2kと比べて、右上にずれていることとしている。上記のように、シアンCの像Ca2cに加えて、マゼンタMの像Ca2mも、濃いパターンを形成する。従って、重畳画像ICa2は、本来の部分コードQCpと比べて、右上に向かって太くなったパターンを表している。
図8の右部には、カメラ付きの携帯端末等の読取装置を用いて重畳画像ICa2を読み取ることによって得られる読取画像RCa2が示されている。図示するように、読取画像RCa2は、図7(A)の部分コードQCpと比べて太いパターンを表している。この結果、印刷されたQRコードQC(図3)を読取装置を用いて読み取る場合に、QRコードQCを正しく読み取ることが困難である。
図9は、変換色と修正変換色との間の類似性が高いと判断される場合に印刷され得る部分コードQCpの説明図である。図7(B)に示すように、部分コードQCpの全体が対象領域TA1として選択されるので、部分コードQCpの全体で、目標色値Ca1は、テーブル134に従わずに修正変換色値Cb2に変換される(図2:S160)。
図9の左部には、部分コードQCpを表すCMYKの像Cb2c、Cb2m、Cb2y、Cb2kが示されている。図5の修正変換色値Cb2では、C=226,M=6,Y=9,K=0であり、最大色成分であるシアンCの値は226であるが、他の色成分の値は、いずれも、10未満である。従って、シアンCの像Ca2cは、濃いパターンを形成するが、他の色成分M、Y、Kの像Cb2m、Cb2y、Cb2kは、濃いパターンを形成しない。
図9の中央部には、用紙上に印刷された部分コードQCp、すなわち、用紙上に重なり合った像Cb2c、Cb2m、Cb2y、Cb2kによって表される重畳画像ICb2の例が示されている。ここでは、図8の例と同様に、シアンCの像Cb2cの位置が、他の像Cb2m、Cb2y、Cb2kと比べて、右上にずれていることとしている。上記のように、シアンCとは異なる他の色成分M、Y、Kの像Cb2m、Cb2y、Cb2kは、濃いパターンを形成しない。従って、重畳画像ICb2の濃い部分は、主にシアンCの像Cb2cによって表されるパターン、すなわち、部分コードQCpとおおよそ同じ形のパターンを、表している。このように、印刷された部分コードQCpの縁において色材の像の位置ズレを目立ち難くすることができる。
図9の右部には、上記の読取装置を用いて重畳画像ICb2を読み取ることによって得られる読取画像RCb2が示されている。図示するように、読取画像RCb2は、図7(A)の部分コードQCpとおおよそ同じ形のパターンを表している。この結果、印刷されたQRコードQC(図3)を読取装置を用いて読み取る場合に、QRコードQCを正しく読み取ることが可能である。
なお、図9の例では、変換色値Ca2(図5)によって表される色(変換色)は、目標色値Ca1によって表される色(目標色)と、ほぼ同じである。修正変換色値Cb2によって表される修正変換色が、変換色値Ca2によって表される変換色と類似する場合には、修正変換色は、目標色と類似する。従って、QRコードQCの全体の領域において、目標色値Ca1が、目標色に類似する修正変換色を表す修正変換色値Cb2に変換される、ということができる。また、印刷されたQRコードQCを観察する観察者は、全体として、QRコードQCの色が目標色に類似しているように感じる。
図10は、変換色と修正変換色との間の類似性が高くないと判断される場合に印刷され得る部分コードQCpの説明図である。図7(C)に示すように、縁領域A1が対象領域TA2として選択され、中領域A2は、対象領域として選択されない。このため、縁領域A1では、目標色値Ca1は、テーブル134に従わずに修正変換色値Cb2に変換され(図2:S160)、中領域A2では、目標色値Ca1は、テーブル134に従って変換色値Ca2に変換される(図2:S155)。
図10の左部には、部分コードQCpを表すCMYKの像Cabc、Cabm、Caby、Cabkが示されている。各像Cabc、Cabm、Caby、Cabkの縁領域A1c、A1m、A1y、A1kは、修正変換色値Cb2によって表される。図5の修正変換色値Cb2では、C=226,M=6,Y=9,K=0であり、最大色成分であるシアンCの値は226であるが、他の色成分の値は、10未満である。従って、シアンCの像Cabcの縁領域A1cは、濃いパターンを形成するが、他の色成分M、Y、Kの像Cabm、Caby、Cabkの縁領域A1m、A1y、A1kは、濃いパターンを形成しない。
また、各像Cabc、Cabm、Caby、Cabkの中領域A2c、A2m、A2y、A2kは、変換色値Ca2によって表される。図5の変換色値Ca2では、C=224,M=143,Y=0,K=0である。従って、シアンCの像CabcとマゼンタMの像Cabmとの中領域A2c、A2mは、濃いパターンを形成するが、他の色成分Y、Kの中領域A2y、A2kは、濃いパターンを形成しない。
図10の中央部には、用紙上に印刷された部分コードQCp、すなわち、用紙上に重なり合った像Cabc、Cabm、Caby、Cabkによって表される重畳画像ICabの例が示されている。ここでは、図8の例と同様に、シアンCの像Cabcの位置が、他の像Cabm、Caby、Cabkと比べて、右上にずれていることとしている。図10の例では、色成分M、Y、Kの像Cabm、Caby、Cabkの縁領域A1m、A1y、A1kの左下部分は、シアンCの像Cabcの外に配置されている。上記のように、これらの縁領域A1m、A1y、A1kは、濃いパターンを形成しない。従って、これらの縁領域A1m、A1y、A1kが、重畳画像ICabによって表される濃いパターンを、シアンCの像Cabcのパターンよりも大きくすることを、抑制できる。
また、図10の例では、色成分M、Y、Kの像Cabm、Caby、Cabkの中領域A2m、A2y、A2kは、シアンCの像Cabcの内に配置されている。上記のように、マゼンタMの像Cabmの中領域A2mは、濃いパターンを形成するが、この中領域A2mは、シアンCの像Cabcの内に配置されている。また、他の色成分Y、Kの中領域A2y、A2kは、濃いパターンを形成しない。従って、これらの中領域A2m、A2y、A2kが、重畳画像ICabによって表される濃いパターンを、シアンCの像Cabcのパターンよりも大きくすることを、抑制できる。
以上により、重畳画像ICabの濃い部分は、主にシアンCの像Cabcによって表されるパターン、すなわち、部分コードQCpとおおよそ同じ形のパターンを、表している。このように、印刷された部分コードQCpの縁において色材の像の位置ズレを目立ち難くすることができる。
図10の右部には、上記の読取装置を用いて重畳画像ICabを読み取ることによって得られる読取画像RCabが示されている。図示するように、読取画像RCabは、図7(A)の部分コードQCpとおおよそ同じ形のパターンを表している。この結果、印刷されたQRコードQC(図3)を読取装置を用いて読み取る場合に、QRコードQCを正しく読み取ることが可能である。
また、重畳画像ICabの内(特に、シアンCの像Cabcの内)の一部の領域Cpは、4つの縁領域A1c〜A1kを含まずに、4つの中領域A2c、A2m、A2y、A2kのみで表されている。上述した通り、4つの中領域A2c、A2m、A2y、A2kは、修正変換色値Cb2ではなく、変換色値Ca2で表されている。従って、部分領域Cpは、テーブル134に従った適切な色で、印刷される。この結果、変換色(色値Ca2)と修正変換色(色値Cb2)との間の類似性が高くないと判断される場合であっても、印刷される重畳画像ICabの色が元画像データによって表される色から大きく変化することを抑制できる。
なお、図10の例では、変換色値Ca2(図5)によって表される色(変換色)は、目標色値Ca1によって表される色(目標色)と、ほぼ同じである。修正変換色値Cb2によって表される修正変換色が、変換色値Ca2によって表される変換色と類似しない場合には、修正変換色は、目標色と類似しない。従って、縁領域A1では、目標色値Ca1が、目標色に類似しない修正変換色を表す修正変換色値Cb2に変換され、中領域A2では、目標色値Ca1が、目標色に類似する変換色を表す変換色値Ca2に変換される、ということができる。通常は、中領域A2の面積は、縁領域A1の面積よりも、大きい。従って、QRコードQCを表す領域では、目標色に類似する変換色の方が、目標色に類似しない修正変換色よりも、優勢である。この結果、印刷されたQRコードQCを観察する観察者は、全体として、QRコードQCの色が目標色に類似しているように感じる。
以上、シアンCの像の位置が右上にずれる場合について説明したが、位置ズレの方向が他の方向である場合も、同様に、部分コードQCpの縁において色材の像の位置ズレが目立つことを抑制できる。また、シアンCとは異なる色成分の像の位置がずれる場合も、同様に、部分コードQCpの縁において色材の像の位置ズレが目立つことを抑制できる。また、シアンCとは異なる色成分が最大色成分である場合も、同様に、部分コードQCpの縁において色材の像の位置ズレが目立つことを抑制できる。
以上のように、本実施例では、変換部220は、特定対象物(具体的には、QRコードQC(図3))の少なくとも縁領域A1(図7(B)、図7(C))が修正変換色値Cb2で表された変換済画像データを生成し(図2:S160)、印刷データ生成部230は、変換済画像データを用いて印刷データを生成する。この結果、特定対象物の縁において最大色成分以外の色成分の寄与が小さくなるので、仮に、複数種類の色材のそれぞれの像の間で位置ズレが生じる場合でも、印刷された特定対象物の縁において位置ズレを目立ち難くすることができる。
また、変換部220は、変換色(色値Ca2)と修正変換色(色値Cb2)とが類似しないと判断される場合(図6:S310:No)、特定対象物QCの縁領域A1(図7(C))が修正変換色値Cb2で表され、特定対象物QCの中領域A2が変換色値Ca2で表される変換済画像データを生成する。この結果、特定対象物QCの中領域A2の色値が、テーブル134によって目標色値Ca1に対応付けられる変換色値Ca2に維持されるので、印刷される特定対象物QCの色が元画像データによって表される色から大きく変化することを抑制しつつ、印刷された特定対象物QCの縁において位置ズレを目立ち難くすることができる。
さらに、変換部220は、変換色(色値Ca2)と修正変換色(色値Cb2)とが類似すると判断される場合(図6:S310:Yes)、特定対象物QCの全体が修正変換色値Cb2で表される変換済画像データを生成する(図7(B))。この場合、変換部220は、特定対象物QCの縁領域を選択する処理(図6:S330)を実行せずに済むので、画像処理の負担を軽減できる。また、変換色(色値Ca2)と修正変換色(色値Cb2)とが類似しないと判断される場合(図6:S310:No)、特定対象物QCの縁領域A1が修正変換色値Cb2で表され、特定対象物QCの中領域A2が変換色値Ca2で表される画像データを、変換済画像データとして生成する(図7(C))。従って、変換色(色値Ca2)と修正変換色(色値Cb2)とが類似する場合と類似しない場合との双方の場合において、印刷される特定対象物QCの色が元画像データによって表される色から大きく変化することを抑制しつつ、印刷された特定対象物QCの縁において位置ズレを目立ち難くすることができる。
また、変換部220は、変換色値Ca2と修正変換色値Cb2とを用いて、変換色(色値Ca2)と修正変換色(色値Cb2)とが類似するか否かを判断する(図6:S300、S310)。このように、変換色と修正変換色とが類似するか否かの判断に、同じ第2色空間の色値Ca2、Cb2が用いられるので、適切な判定が可能である。
また、変換部220は、変換色と修正変換色とが類似すると判断される場合に(図6:S310:Yes)、特定対象物QCの全体を、対象領域TA1として選択する(S320、図7(B))。また、変換部220は、変換色と修正変換色とが類似しないと判断される場合に(図6:S310:No)、特定対象物QCのうち中領域A2を対象領域として選択せずに縁領域A1を対象領域TA2として選択する(S330、図7(C))。そして、変換部220は、元画像IMGのうちの対象領域として選択されていない領域に対して、テーブル134に従って色変換処理を実行する(図2:S155)。また、変換部220は、元画像IMGのうちの対象領域に対して、テーブル134に従わずに色変換処理を実行する(図2:S160)。
この結果、変換色(変換色値Ca2)と修正変換色(修正変換色値Cb2)とが類似すると判断される場合には、特定対象物QCのうちの対象領域TA1(図7(B))として選択された全体において、目標色値Ca1が修正変換色値Cb2に変換される(図2:S160)。変換色(変換色値Ca2)と修正変換色(修正変換色値Cb2)とが類似しないと判断される場合には、以下の通りである。特定対象物QCのうちの対象領域TA2として選択されなかった中領域A2において、目標色値Ca1が変換色値Ca2に変換される(図2:S155)。特定対象物QCのうちの対象領域TA2として選択された縁領域A1において、目標色値Ca1が修正変換色値Cb2に変換される(図2:S160)。
このように、特定対象物QCの中領域A2における色変換処理が、変換色(変換色値Ca2)と修正変換色(修正変換色値Cb2)とが類似するか否かに応じて異なるので、印刷される特定対象物QCの色が元画像データによって表される色から大きく変化することを抑制しつつ、印刷された特定対象物QCの縁において位置ズレを目立ち難くすることができる。
B.第2実施例:
図11は、印刷処理の別の実施例のフローチャートである。図2の第1実施例との差異は、3点ある。第1の差異は、第1実施例では、変換色と修正変換色とが類似するか否かの判断が、第2色空間の色値Ca2、Cb2を用いて実行されるが、第2実施例では、変換色と修正変換色とが類似するか否かの判断が、第1色空間の色値を用いて実行される点である。第2の差異は、第1実施例では、変換色と修正変換色とが類似するか否かの判断結果に応じて異なる色変換処理によって第2色空間の色値で表される変換済画像データが生成されるが、第2実施例では、変換色と修正変換色とが類似するか否かの判断結果に応じて第1色空間の色値が修正されることによって、第1色空間の色値で表される修正済画像データが生成される点である。第3の差異は、第1実施例では、変換色と修正変換色とが類似するか否かの判断結果に応じて異なる色変換処理が実行されるが、第2実施例では、修正済画像データに対して、画像の全体に亘って、テーブル134に従って色変換処理が実行される点である。第2実施例で用いられる印刷システム1000の構成は、図1に示す印刷システム1000の構成と、同じである。
図11のステップのうち、図2で説明したステップと同じステップには、同じ符号を伏して、その説明を省略する。図示するように、ステップS100〜S120は、図2の実施例のステップS100〜S120と同じである。ステップS120の後のステップS125aでは、変換部220は、テーブル134によって修正変換色値Cb2に対応付けられる第1色空間での色値である修正目標色値を特定する。
図12は、修正目標色値の決定処理の例を示すフローチャートである。ステップS200、S210は、図4のステップS200、S210と同じである。追加のステップS220では、変換部220は、修正変換色値とテーブル134とを用いて、修正目標色値を特定する。図4のステップS210で説明したように、修正変換色値としては、テーブル134に格納されている第2色空間の色値が採用される。そこで、変換部220は、テーブル134から修正変換色値を検索し、修正変換色値に対応付けられる第1色空間の色値を修正目標色値として採用する。例えば、図5の例では、修正変換色値Cb2に対応付けられる色値Cb1が、修正目標色値として採用される(「修正目標色値Cb1」と呼ぶ)。ステップS220の終了に応じて、図12の処理は終了する。以下、修正目標色値によって表される色を「修正目標色」とも呼ぶ。
図11のステップS135では、変換部220は、変換色と修正変換色との間の類似性の評価値を算出する。第2実施例では、評価値として、目標色値と修正目標色値との間の色相の差分が採用される。目標色値は、テーブル134によって変換色値に対応付けられた色値であり、修正目標色値は、テーブル134によって修正変換色値に対応付けられた色値である。従って、算出される色相の差分は、適切に、変換色と修正変換色との間の類似性を表すことができる。なお、評価値が小さいほど、類似性が高い。また、目標色値と修正目標色値とのそれぞれの色相は、例えば、各色値をHSV色空間の色値に変換することによって得られるH成分の値を、それぞれ採用可能である。第1色空間の色値とHSV色空間の色値との間の対応関係としては、予め決められた対応関係(例えば、周知の変換式)が、用いられる。
ステップS136では、変換部220は、類似性が高いか否かを判断する。第2実施例では、評価値としての色相の差分が所定の閾値以下である場合に、類似性が高いと判断される。閾値としては、例えば、60度を採用可能である。
類似性が高いと判断される場合(S136:Yes)、ステップS137で、変換部220は、注目オブジェクト(すなわち、特定対象物)の全体の色値を、修正目標色値に変更し、そして、修正目標色値で表される特定対象物のラスタライズを実行することによって、修正目標色値で特定対象物を表すビットマップデータを生成する。そして、変換部220は、ステップS140に移行する。
例えば、図7(B)の部分コードQCpが処理される場合、部分コードQCpの全体の色値が、目標色値Ca1から修正目標色値Cb1に変更される。後述するように、修正目標色値Cb1は、テーブル134に従って、修正変換色値Cb2に変換される。すなわち、部分コードQCpを表す変換済画像データとしては、図7(B)で説明した第1実施例と同様の変換済画像データが生成される。
類似性が高くないと判断される場合(S136:No)、ステップS138で、変換部220は、特定対象物の縁領域の色値を、修正目標色値に変更する。縁領域は、図7(C)と同様に、特定される。中領域の色値は、目標色値に維持される。そして、変換部220は、修正目標色値で表される縁領域と目標色値で表される中領域とで構成される特定対象物のラスタライズを実行することによって、目標色値と修正変換色値とで特定対象物を表すビットマップデータを生成する。そして、変換部220は、ステップS140に移行する。
例えば、図7(C)の部分コードQCpが処理される場合、縁領域A1の色値は、目標色値Ca1から修正目標色値Cb1に変更される。中領域A2の色値は、目標色値Ca1のまま、維持される。そして、後述するように、縁領域A1の修正目標色値Cb1は、テーブル134に従って、修正変換色値Cb2に変換される。中領域A2の目標色値Ca1は、テーブル134に従って、変換色値Ca2に変換される。すなわち、部分コードQCpを表す変換済画像データとしては、図7(C)で説明した第1実施例と同様の変換済画像データが生成される。
注目オブジェクトの種類が特定の種類に含まれない場合(S115:No)、ステップS139で、変換部220は、注目オブジェクトのラスタライズを実行することによって、注目オブジェクトを表すビットマップデータを生成する。そして、変換部220は、ステップS140に移行する。
未処理のオブジェクトが残っている場合(S140:No)、変換部220は、ステップS105に戻り、未処理のオブジェクトに対するステップS105〜S140の処理を実行する。
全てのオブジェクトの処理が終了した場合(S140:Yes)、変換部220は、元画像IMGに含まれる全てのオブジェクトを表すビットマップデータ、すなわち、修正済画像データの生成を完了する。ステップS155aで、変換部220は、テーブル134に従って修正済画像データに対して色変換処理を実行することによって、変換済画像データを生成する。続くステップS165〜S180は、図2のステップS165〜S180と、それぞれ同じである。以上により、印刷装置300は、画像を印刷する。そして、図11の処理が終了する。
上述したように、生成される変換済画像データは、図7(B)、図7(C)で説明した第1実施例の変換済画像データと、同じである。従って、第2実施例においても、図8〜図10で説明したように、特定対象物(例えば、QRコードQC)の縁において、色材の像の位置ズレが目立つことを抑制できる。また、図10で説明したように、変換色と修正変換色との間の類似性が高くないと判断される場合であっても、印刷される重畳画像ICabの色が元画像データによって表される色から大きく変化することを抑制できる。
例えば、修正変換色値Cb2によって表される修正変換色が、変換色値Ca2によって表される変換色と類似する場合には、QRコードQC(図3)の全体の領域において、目標色値Ca1が、目標色に類似する修正変換色を表す修正変換色値Cb2に変換される(図9)。また、修正変換色が変換色と類似しない場合には、縁領域A1(図7(C))では、目標色値Ca1が、目標色に類似しない修正変換色を表す修正変換色値Cb2に変換され、中領域A2では、目標色値Ca1が、目標色に類似する変換色を表す変換色値Ca2に変換される(図10)。ただし、中領域A2の面積は、縁領域A1の面積よりも、大きい。従って、QRコードQCを表す領域では、目標色に類似する変換色の方が、目標色に類似しない修正変換色よりも、優勢である。以上により、修正変換色が変換色と類似するか否かに拘わらず、印刷されたQRコードQCを観察する観察者は、全体として、QRコードQCの色が目標色に類似しているように感じる。
以上のように、第2実施例では、変換部220は、目標色値Ca1と修正目標色値Cb1とを用いて、変換色(色値Ca2)と修正変換色(色値Cb2)とが類似するか否かを判断する(図11:S136)。このように、変換色と修正変換色とが類似するか否かの判断に、同じ第1色空間の色値である目標色値Ca1と修正目標色値Cb1とが用いられるので、適切な判定が可能である。
また、変換部220は、変換色と修正変換色とが類似すると判断される場合に(図11:S136:Yes)、特定対象物QCの全体が修正目標色値Cb1で表される画像データを、修正済画像データとして生成する(S137)。また、変換部220は、変換色と修正変換色とが類似しないと判断される場合に(S136:No)、特定対象物QCの縁領域A1が修正目標色値Cb1で表され、特定対象物QCの中領域A2が目標色値Ca1で表される画像データを、修正済画像データとして生成する(S138)。また、変換部220は、テーブル134を用いて、修正済画像データに対して色変換処理を実行することによって、変換済画像データを生成する(S155a)。この結果、変換色と修正変換色とが類似する場合と類似しない場合との双方の場合において、印刷される特定対象物QCの色が元画像データによって表される色から大きく変化することを抑制しつつ、印刷された特定対象物QCの縁において位置ズレを目立ち難くすることができる。
C.変形例:
(1)色変換処理に用いられる色変換情報としては、色変換テーブル134に限らず、第1色空間の色値と第2色空間の色値との対応関係を表す種々のデータを採用可能である。例えば、第1色空間の色値と第2色空間の色値との間の関係式を採用してもよい。
(2)変換色と修正変換色とが類似しているか否かを判断する方法としては、図6のS300、S310と図11のS135、S136で説明したような色相の差分を用いる方法に限らず、他の種々の方法を採用可能である。例えば、色値の複数の色成分の値の合計値を算出し、2個の色値の間の合計値の差分を評価値として採用してもよい。この場合、評価値が小さいほど、類似性が高い。また、変換色値の複数の色成分の値の合計値に対する評価値の割合が所定の閾値以下である場合に、変換色と修正変換色とが類似していると判断可能である。閾値としては、例えば、25%を採用可能である。
(3)図4、図12の処理では、変換部220は、目標色値Ca1とテーブル134とを用いて、変換色値Ca2を特定し(S200)、変換色値Ca2とテーブル134とを用いて修正変換色値Cb2を決定する(S210)。このように、変換部220は、テーブル134を用いることによって、適切な修正変換色値Cb2を決定できる。
ただし、変換部220は、テーブル134を用いずに、修正変換色値を決定してもよい。すなわち、変換部220は、テーブル134に含まれるグリッドに対応付けられた第2色空間の色値とは異なる色値を、修正変換色値として採用してもよい。例えば、変換部220は、上述した参考値(例えば、図5の参考値Cs2)を、修正変換色値として採用してもよい。この場合、図12のステップS220では、変換部220は、テーブル134に含まれる複数のグリッドのうちの少なくとも一部の複数のグリッドを補間することによって、修正変換色値に対応付けられる第1色空間の色値(すなわち、修正目標色値)を算出すればよい。
一般的には、変換部220は、少なくとも変換色値を用いて、修正変換色値を決定すればよい。また、変換部220は、変換色値と色変換情報(例えば、色変換テーブル134)とを用いて、修正変換色値を決定してもよい。ここで、変換部220は、変換色値と色変換情報とを用いて、所定のルール(例えば、図4のステップS210で説明したルール)に従って、修正変換色値を決定することとしてもよい。なお、修正変換色値としては、変換色値と比べて複数種類の色材のそれぞれの像の間の位置ズレが目立ちにくい種々の色値を採用可能である。上記の特徴C1、C2を有する色値(参考値を含む)は、そのような位置ズレが目立ちにくい色値の例である。
(4)印刷処理の手順としては、他の種々の手順を採用可能である。例えば、変換部220は、変換色と修正変換色とが類似するか否かを判断せずに、常に、特定対象物の縁領域と中領域との間で異なる処理を実行することとしてもよい。例えば、図6の手順からは、ステップS300、S310、S320が省略され、そして、ステップS330が常に実行される。図2の手順は、変更無く、実行される。また、図11の手順からは、ステップS135、S136、S137が省略され、そして、ステップS125aの次には、ステップS138が実行される。これらの場合には、変換色と修正変換色とが類似するか否かに拘わらずに、常に、図10で説明したように特定対象物が印刷されるので、印刷された特定対象物の縁において色材の像の位置ズレを目立ち難くすることができる。また、印刷される特定対象物の一部は、変換色値で表現され得るので、変換色と修正変換色とが類似しない場合であっても、印刷される特定対象物の色が、元画像データによって表される色から大きく変化することを抑制できる。
(5)修正変換色値を用いる色変換の対象となるオブジェクト(すなわち、特定の種類のオブジェクトである特定対象物)としては、情報を表す種々のオブジェクト、例えば、図3のQRコードQCに限らず他の種々の二次元コードや、バーコード等の一次元コードや、文字等を採用可能である。また、これらの種類から任意に選択された任意の数の種類のオブジェクトを採用してもよい。例えば、二次元コードを採用してもよく、一次元コードと二次元コードとを採用してもよく、文字を採用してもよく、一次元コードと二次元コードとの少なくとも一方と文字とを採用してもよい。いずれの場合も、カメラ付きの携帯端末等の読取装置を用いて画像を読み取る場合に、読み取りエラーの可能性を低減できる。すなわち、読取装置は、画像(すなわち、オブジェクト)によって表される情報を正しく取得可能である。例えば、一次元コードと二次元コードとの少なくとも一方を用いる場合には、読取装置は、コードによって表される情報を適切に認識できる。文字を用いる場合には、読取装置は、文字を適切に認識できる(OCR(Optical Character Recognition)とも呼ばれる)。
(6)オブジェクトの種類が特定の種類であるか否かを判断する方法としては、種々の方法を採用可能である。例えば、オブジェクトデータに付加情報(例えば、コメント)を付加可能な場合には、付加情報に、オブジェクトの種類が特定の種類であるか否かを表す情報(例えば、「QRコード」、「バーコード」、「文字」等の詳細な種類)を記述することとしてもよい。この場合、変換部220は、付加情報を参照することによって、オブジェクトの種類が特定の種類であるか否かを判断可能である。また、オブジェクトデータに含まれる種類情報として、オブジェクトの詳細な種類(例えば、「QRコード」、「バーコード」、「文字」等)を表す情報を用いることとしてもよい。この場合、変換部220は、種類情報を参照することによって、オブジェクトの種類が特定の種類であるか否かを判断可能である。
(7)元画像データとしては、PDLで記述された画像データに限らず、他の任意の形式の画像データを採用可能である。例えば、JPEGデータ等のビットマップデータを採用してもよい。この場合、変換部220は、元画像データを解析することによって元画像中のオブジェクトを表す領域を抽出し、オブジェクトを表す領域を解析することによってオブジェクトの種類を識別し、識別された種類が上記の特定の種類である場合に、そのオブジェクトを表す領域を、修正変換色値を用いる色変換の対象となる領域として採用すればよい。なお、オブジェクトを表す領域を抽出する方法と、オブジェクトの種類を識別する方法と、のそれぞれとしては、公知の方法を採用可能である。
(8)図1の画像処理装置100は、パーソナルコンピュータとは異なる種類の装置(例えば、デジタルカメラ、スキャナ、スマートフォン)であってもよい。また、画像処理装置100が、印刷装置300の一部であってもよい。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、画像処理装置100による画像処理の機能を一部ずつ分担して、全体として、画像処理の機能を提供してもよい(これらの装置を備えるシステムが画像処理装置に対応する)。
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図1の変換部220の機能を、論理回路を有する専用のハードウェア回路によって実現してもよい。
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD−ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含んでいる。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。