【実施例】
【0020】
上記した本発明の一実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係る色推定装置、色推定方法及び色推定プログラムについて、
図1乃至
図12を参照して説明する。
図1乃至
図3は、本実施例の印刷システムの構成例を示す模式図であり、
図4は、本実施例の色推定装置の構成を示すブロック図である。また、
図5は、本実施例のプリンタ(スキャナ及び測色器を含む場合)の構成例を示す模式図であり、
図6は、プリンタ(色推定装置、スキャナ及び測色器を含む場合)の構成を示すブロック図である。また、
図7乃至
図9は、本実施例の色推定装置の動作を示すフローチャート図であり、
図10乃至
図12は、本実施例の色推定方法を説明する模式図である。
【0021】
なお、以下の説明において、スキャナプロファイルによる変換前の色をRGB値、変換後の色をL*a*b*値とする。
【0022】
図1に示すように、本実施例の印刷システム10は、出力指示端末20と、色推定装置30と、プリンタ40と、スキャナ50と、測色器60などで構成される。これらはイーサネット(登録商標)、トークンリング、FDDI(Fiber-Distributed Data Interface)等の規格により定められるLAN(Local Area Network)やWAN(Wide Area Network)等の通信ネットワーク70を介して接続されている。なお、色推定装置30とプリンタ40、スキャナ50、測色器60とはPCI(Peripheral Component Interconnect)接続など、専用線で接続されていてもよい。
【0023】
出力指示端末20は、クライアントのコンピュータ装置であり、プリンタドライバや専用のソフトウェアを用いてジョブを発行する。
【0024】
色推定装置30は、プリンタ40から出力されたカラーチャートを用いてスキャナプロファイルや必要に応じてプリンタプロファイルを作成する。また、色推定装置30は、出力指示端末20から発行されたジョブに基づいてプリンタ40から出力された原稿をスキャンして得たRGB値に対して、色変換(RGB値からL*a*b*値への色変換、必要に応じてL*a*b*値からCMYK値への色変換)を行い、色変換後の画像データをプリンタ40に転送する。上記RGB値からL*a*b*値への色変換は予め作成したスキャナプロファイルを用いて行うが、本実施例では、スキャナプロファイルにおけるフレアの影響を考慮して、原稿の各領域の色を推定し、推定した色に対して色変換を行う。この色推定装置30の詳細な構成は後述する。
【0025】
プリンタ40は、色推定装置30から画像データを受け取り、画像データに基づく画像を用紙上に形成して出力する。このプリンタ40の詳細な構成も後述する。
【0026】
スキャナ50は、例えば、RGBの3種類のセンサで構成され、プリンタ40から出力されたカラーチャートや原稿をスキャンし、RGB値を出力する。
【0027】
測色器60は、光の波長ごとに計測可能なスペクトル方式(分光光度計)の測色器であり、プリンタ40から出力されたカラーチャートを測色し、測色値(L*a*b*値、XYZ値など)を出力する。
【0028】
なお、
図1は本実施例の印刷システムの一例であり、その構成は適宜変更可能である。例えば、
図2に示すように、スキャナ50や測色器60がプリンタ40に内蔵される構成としてもよいし、
図3に示すように、更に色推定装置30がプリンタ40に内蔵される構成としてもよい。以下、色推定装置30とプリンタ40について詳細に説明する。
【0029】
[色推定装置]
色推定装置30は、
図4(a)に示すように、制御部31、記憶部35、ネットワークI/F部36、表示部37、操作部38などで構成される。
【0030】
制御部31は、CPU(Central Processing Unit)32とROM(Read Only Memory)33やRAM(Random Access Memory)34などのメモリとで構成され、CPU32は、ROM33や記憶部35に記憶した制御プログラムをRAM34に展開して実行することにより、色推定装置30全体の動作を制御する。
【0031】
上記制御部31は、
図4(b)に示すように、RGB値取得部31a、測色値取得部31b、プロファイル作成部31c、対応付け部31d、色推定部31e、色変換部31fなどとしても機能する。
【0032】
RGB値取得部31aは、スキャナプロファイル作成時においては、スキャナ50(又は後述するプリンタ40のインラインスキャナ49a)から、カラーチャートの各パッチのRGB値(以下、RGB値1と称す。)を取得する。また、スキャナプロファイル使用時(スキャナプロファイルを用いた色変換時)においては、スキャナ50(又はインラインスキャナ49a)から、原稿の推定対象色の領域内で取得位置又は取得範囲を変えた複数のRGB値(以下、RGB値2と称す。)を取得する。その際、原稿が自然画像かチャート画像かに応じて、複数のRGB値2を取得する方法を切り替えることができる。例えば、原稿が自然画像の場合は、オブジェクト内で取得位置又は取得範囲を変えて複数のRGB値2を取得し、原稿がチャート画像の場合は、原稿の端から順に取得位置をずらして複数のRGB値2を取得することができる。また、RGB値取得部31aは、原稿からRGB値2を取得する際に、スキャナ50(又はプリンタ40のインラインスキャナ49a)の最小読取サイズ(例えば、64ピクセル)以上の領域を確保できる取得位置又は取得範囲を全て探し出し、その中から取得位置又は取得範囲を選択するようにしてもよい。また、カラーチャートと原稿とでフレアの影響を同等にするために、カラーチャートからRGB値1を取得する際の読取サイズでRGB値2を取得できるように、原稿の各推定対象色の領域を分割してもよい。
【0033】
測色値取得部31bは、スキャナプロファイル作成時においては、測色器60(又は後述するプリンタ40のインライン測色器49b)から、カラーチャートの各パッチの測色値(本実施例ではL*a*b*値)を取得する。
【0034】
プロファイル作成部31cは、RGB値取得部31aが取得したカラーチャートの各パッチのRGB値(RGB値1)と測色値取得部31bが取得したカラーチャートの各パッチの測色値(L*a*b*値)とを対応付ける(RGB値を測色値(L*a*b*値)に変換する)スキャナプロファイルを作成する。
【0035】
対応付け部31dは、RGB値取得部31aが取得したカラーチャートの各パッチのRGB値(RGB値1)に基づいて、各パッチを含む周辺パッチ(各パッチを中心とした所定の範囲のパッチ、例えば、3×3のパッチ)のRGB値の平均値(例えば、RGB値の加重平均、以下、RGB平均値1と称す。)を算出し、RGB値1とRGB平均値1とを対応付けて記憶部35などに記憶する。例えば、RGB値1とRGB平均値1とを対応付けるテーブルを作成したり、プロファイル作成部31cが作成したスキャナプロファイルに、各パッチのRGB値1に対応するRGB平均値1を追加したりする。なお、カラーチャートが、パッチ周囲のRGB値が均等化されるようにパッチを並び替えたカラーチャートの場合は、チャート毎にRGB平均値1を記憶すればよく、通常のカラーチャートの場合は、パッチ毎にRGB平均値1を記憶すればよい。
【0036】
色推定部31eは、原稿のスキャンデータを解析して、原稿に含まれる同一色の領域を抽出する。また、原稿の各推定対象色について、各々のRGB値2を取得した取得位置又は取得範囲を含む周辺領域(各々の取得位置又は取得範囲を中心とした所定の範囲(好ましくは、上述した周辺パッチと同程度の範囲)の領域)のRGB値の平均値(例えば、RGB値の加重平均、以下、RGB平均値2と称す。)を算出する。そして、算出した複数のRGB平均値2の中から、上記推定対象色に対応するRGB値1に対応付けたRGB平均値1との差が予め定めた閾値以下のRGB平均値2を特定し、特定したRGB平均値2に対応する取得位置又は取得範囲から取得したRGB値2を、推定対象色に対応するRGB値として選択する。その際に、色推定部31eは、RGB平均値1及びRGB平均値2の各RGB値の差が最小となるように、RGB平均値2を特定することができる。
【0037】
色変換部31fは、スキャナプロファイルを用いて、原稿の各推定対象色に対して色推定部31eが選択したRGB値2をL*a*b*値に変換する。また、色変換部31fは、必要に応じて、プリンタプロファイルを用いて、変換したL*a*b*値をCMYK値に変換する。そして、色変換部31fは、L*a*b*値又はCMYK値をプリンタ40(印刷処理部49)に出力する。
【0038】
上記RGB値取得部31a、測色値取得部31b、プロファイル作成部31c、対応付け部31d、色推定部31e、色変換部31fは、ハードウェアとして構成してもよいし、制御部31を、RGB値取得部31a、測色値取得部31b、プロファイル作成部31c、対応付け部31d、色推定部31e、色変換部31f(特に、RGB値取得部31a、測色値取得部31b、対応付け部31d、色推定部31e)として機能させる色推定プログラムとして構成し、当該色推定プログラムをCPU32に実行させる構成としてもよい。
【0039】
記憶部35は、HDD(Hard Disk Drive)やSSD(Solid State Drive)などで構成され、CPU32が各部を制御するためのプログラム、自装置の処理機能に関する情報、測色値取得部31bが取得したRGB値、測色値取得部31bが取得した測色値、プロファイル作成部31cが作成したスキャナプロファイル、対応付け部31dが作成したテーブルなどを記憶する。
【0040】
ネットワークI/F部36は、NIC(Network Interface Card)やモデムなどで構成され、色推定装置30を通信ネットワーク70に接続し、出力指示端末20やプリンタ40、スキャナ50、測色器60とのデータ通信を可能にする。
【0041】
表示部37は、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)ディスプレイなどであり、スキャナプロファイルの作成や原稿の色変換などに関する各種画面を表示する。
【0042】
操作部38は、マウス、キーボード、ハードスイッチなどであり、スキャナプロファイルの作成や原稿の色変換などに関する各種操作を可能にする。
【0043】
[プリンタ]
プリンタ40は、MFP(Multi-Functional Peripherals)などの画像形成装置であり、スキャナプロファイル作成用のカラーチャートや、スキャナプロファイルを用いて色変換を行う原稿(例えば、人物や風景などの自然画像やパッチ配置を変更出来ないチャート画像)などを出力する。このプリンタ40は、
図6(a)に示すように、制御部41、記憶部45、ネットワークI/F部46、表示操作部47、画像処理部48、印刷処理部49などで構成される。
【0044】
制御部41は、CPU42とROM43やRAM44などのメモリとで構成され、CPU42は、ROM43や記憶部45に記憶した制御プログラムをRAM44に展開して実行することにより、プリンタ40全体の動作を制御する。プリンタ40が色推定装置30の機能を備える場合、上記制御部41は、
図6(b)に示すように、プロファイル作成部41a、対応付け部41b、色推定部41cなどとしても機能する。なお、プロファイル作成部41a、対応付け部41b、色推定部41cの機能は、色推定装置30のプロファイル作成部31c、対応付け部31d、色推定部31eと同様であるため、説明を省略する。
【0045】
記憶部45は、HDDやSSDなどで構成され、CPU42が各部を制御するためのプログラム、自装置の処理機能に関する情報、プリンタプロファイル、必要に応じて、後述するインラインスキャナ49aが取得したRGB値、インライン測色器49bが取得した測色値、プロファイル作成部41aが作成したスキャナプロファイル、対応付け部41bが作成したテーブルなどを記憶する。
【0046】
ネットワークI/F部46は、NICやモデムなどで構成され、プリンタ40を通信ネットワーク70に接続し、色推定装置30などとのデータ通信を可能にする。
【0047】
表示操作部47は、表示部上に透明電極が格子状に配置された感圧式の操作部(タッチセンサ)を設けたタッチパネルなどであり、印刷処理に関する各種画面を表示し、印刷処理に関する各種操作を可能にする。また、プリンタ40が色推定装置30の機能を備える場合は、表示操作部47は、スキャナプロファイルの作成や原稿の色変換などに関する各種画面を表示し、スキャナプロファイルの作成や原稿の色変換などに関する各種操作を可能にする。
【0048】
画像処理部48は、予め作成したプリンタプロファイルを用いて、原稿のL*a*b*値をCMYK値に色変換する。そして、色変換後の画像に対して、画像処理(色調整、濃度調整、サイズ調整などの処理)やスクリーニングを行い、画像処理後の画像データを印刷処理部49に転送する。なお、プリンタ40が色推定装置30の機能を備える場合は、画像処理部48は、プロファイル作成部41aが作成したスキャナプロファイルを用いて、原稿のRGB値をL*a*b*値に色変換する。
【0049】
印刷処理部(印刷エンジン)49は、画像処理後の画像データに基づいて印刷処理を実行する。この印刷処理部49は、帯電装置により帯電された感光体ドラムに露光装置から画像に応じた光を照射して静電潜像を形成し、現像装置で帯電したトナーを付着させて現像し、そのトナー像を転写ベルトに1次転写し、転写ベルトから用紙に2次転写し、更に定着装置で用紙上のトナー像を定着させる処理を行う。また、
図5に示すように、プリンタ40がスキャナ50及び測色器60の機能を備える場合、印刷処理部49は、インラインスキャナ49a及びインライン測色器49bを含む。
【0050】
インラインスキャナ49aは、例えば、RGBの3種類のセンサで構成され、RGBセンサで取得したRGB値を出力する。このインラインスキャナ49aは、プリンタ40が色推定装置30の機能を備える場合は、RGB値取得部として機能する。
【0051】
インライン測色器49bは、例えば、外部測色器と同様に光の波長ごとに計測可能なスペクトル方式(分光光度計)の測色器であり、外部測色器と同様な精度で測色値(L*a*b*値、XYZ値など)を出力する。このインライン測色器49bは、プリンタ40が色推定装置30の機能を備える場合は、測色値取得部として機能する。
【0052】
なお、
図4乃至
図6は、本実施例の色推定装置30及びプリンタ40の一例であり、その構成は適宜変更可能である。
【0053】
例えば、色推定装置30がスキャナプロファイルを作成する場合は、色推定装置30は、プリンタ40、スキャナ50及び測色器60(又はインラインスキャナ及びインライン測色器を備えるプリンタ40)を制御するコントローラとして機能させることができ、色推定装置30が予め作成されたスキャナプロファイルを利用する(すなわち、スキャナプロファイルの作成は行わない)場合は、色推定装置30は、スキャナ50(又はインラインスキャナを備えるプリンタ40)を制御するコントローラとして機能させることができる。
【0054】
以下、本実施例の色推定装置30(又は、色推定装置30の機能を備えるプリンタ40)の動作について説明する。CPU32は、ROM33又は記憶部35に記憶した色推定プログラムをRAM34に展開して実行することにより、
図7乃至
図9のフローチャート図に示す各ステップの処理を実行する。
【0055】
[スキャナプロファイル作成処理]
まず、スキャナプロファイルを作成する手順について、
図7のフローチャート図を参照して説明する。なお、本実施例では、色推定装置30がスキャナプロファイルを作成し、作成したスキャナプロファイルを用いて後述する色変換を行うが、予め作成されたスキャナプロファイルを取得し、取得したスキャナプロファイルを用いて後述する色変換を行ってもよい。
【0056】
図7に示すように、色推定装置30の制御部31は、プリンタの色域全体の情報が取得できるようにパッチを配置したカラーチャートの画像データを生成してプリンタ40に送信し、プリンタ40にカラーチャートを出力させる(S101)。その際、特許文献1の技術を利用して、パッチ周囲のRGB値が均等化されるようにパッチを並び替えたカラーチャートを出力させてもよい。
【0057】
次に、制御部31(RGB取得部31a)は、スキャナ50(若しくはプリンタ40のインラインスキャナ49a)から上記カラーチャートの各パッチのRGB値(RGB値1)を取得する(S102)。
【0058】
次に、制御部31(測色値取得部31b)は、測色器60(若しくはプリンタ40のインライン測色器49b)から上記カラーチャートの各パッチの測色値(L*a*b*値)を取得する(S103)。
【0059】
次に、制御部31(プロファイル作成部31c)は、チャートの各パッチのRGB値1と測色値(L*a*b*値)とを対応付ける色変換テーブル(スキャナプロファイル)を作成し、記憶部35などに記憶する(S104)。
【0060】
次に、制御部31(対応付け部31d)は、カラーチャートの各パッチを含む周辺パッチのRGB平均値1を算出し(S105)、RGB値1とRGB平均値1とを対応付けて記憶する(S106)。例えば、RGB値1とRGB平均値1とを対応付けるテーブルを作成したり、スキャナプロファイルのRGB値1にRGB平均値1を対応付けてスキャナプロファイルを修正したりする。なお、カラーチャートが、パッチ周囲のRGB値が均等化されるようにパッチを並び替えたカラーチャートの場合は、チャート毎にRGB平均値1を記憶すればよく、通常のカラーチャートの場合は、パッチ毎にRGB平均値1を記憶すればよい。
【0061】
[色変換処理]
次に、原稿のRGB値を測色値(L*a*b*値)に変換する手順について、
図8及び
図9のフローチャート図を参照して説明する。
【0062】
図8に示すように、制御部31(RGB取得部31a)は、スキャナ50(若しくはプリンタ40のインラインスキャナ49a)から、原稿の各領域のRGB値(RGB値2)を取得する(S201)。
【0063】
次に、制御部31(色推定部31e)は、原稿の推定対象色のRGB値を推定する(S202)。
【0064】
図9はこのステップの詳細を示しており、制御部31(色推定部31e)は、推定対象色として任意のCMYK値を選択する(S301)。
【0065】
次に、制御部31(色推定部31e)は、取得位置又は取得範囲を変えた複数(n個)のRGB値2及びRGB平均値2を取得する方法を決定する(S302)。具体的には、原稿が自然画像かチャート画像かに応じて、複数のRGB値2及びRGB平均値2を取得する方法を選択する。例えば、原稿が自然画像の場合は、オブジェクト内で取得位置又は取得範囲を変えて複数のRGB値2を取得し、原稿がチャート画像の場合は、原稿の端から順に取得位置をずらして複数のRGB値2を取得する。
【0066】
次に、制御部31(色推定部31e)は、n個の取得位置又は取得範囲毎のRGB値2と、取得位置又は取得範囲を含む周辺領域(取得位置又は取得範囲を中心とした所定の範囲の領域)のRGB平均値2と、を格納する箱(記憶領域、RGB_BOX[n][2])を用意する(S303)。
【0067】
次に、制御部31(色推定部31e)は、以下のS304〜306のステップをn回ループして実行する。具体的には、原稿のスキャンデータを解析して推定対象色の領域を抽出し、その領域に対して取得位置又は取得範囲を変えてRGB値2(Block_RGB)を取得し(S304)、その取得位置又は取得範囲を含む周辺領域のRGB平均値2(PeripheryAve_RGB)を取得する(S305)。そして、取得したデータをそれぞれRGB_BOXへ代入する(S306)。すなわち、RGB_BOX[n][0]にBlock_RGBを代入し、RGB_BOX[n][1]にPeripheryAve_RGBを代入する。
【0068】
次に、制御部31(色推定部31e)は、記憶部35などに記憶したテーブルや修正したスキャナプロファイルを参照して、推定対象色に対応するRGB値1に対応付けたRGB平均値1を読み出し、このRGB平均値1と上記n個のRGB平均値2とを比較し、RGB平均値1との差が予め定めた閾値以下のRGB平均値2を特定する(S307)。
【0069】
そして、制御部31(色推定部31e)は、上記S307で特定したRGB平均値2に対応する取得位置又は取得範囲から取得したRGB値2を、S301で選択した推定対象色に対応するRGB値として選択する(S308)。
【0070】
図8に戻って、制御部31(色変換部31f)は、
図7のS104で作成したスキャナプロファイルを用いて、S202で推定したRGB値(選択したRGB値2)をL*a*b*値に変換する(S203)。
【0071】
次に、制御部31(色変換部31f)は、必要に応じて、プリンタプロファイルを用いて、S203で変換したL*a*b*値をCMYK値に変換する(S204)。
【0072】
次に、制御部31(色変換部31f)は、S203で変換したL*a*b*値、又は、S204で変換したCMYK値をプリンタ40に出力して印刷を指示する(S205)。
【0073】
以下、本実施例の色推定方法について具体例を挙げて説明する。
【0074】
図10は、本実施例の色推定方法を説明する模式図である。図の左側のように、星形、円形、三角形の3つのオブジェクト(オブジェクトの色の違いをハッチングの種類を変えて表現している。)を含む評価用自然画像において、星形のオブジェクトがY100%のオブジェクトの場合、図の右側の表の「L*a*b*値」の欄に示すように、そのオブジェクト内の3つの取得位置(黒塗りの丸、星、三角)におけるL*a*b*値は同じ値であっても、「RGB値」の欄に示すように、スキャナで測定するRGB値はフレアの影響により変化する。ここで、ある位置のRGB値とその位置の周辺のRGB平均値との差分をフレア影響度と定義する。スキャナプロファイルのY100%のオブジェクトのフレア影響度が(7,2,4)の場合、その値と「フレア影響度」の欄に示す各々の取得位置のフレア影響度とを比較し、スキャナプロファイルのフレア影響度に最も近い三角を取得位置に決定し、決定した取得位置におけるRGB値(10,240,245)をY100%のオブジェクトのRGB値として選択する。
【0075】
図11は、本実施例の色推定方法の他の例を説明する模式図である。
図10と同様に、図の左側のように、星形、円形、三角形の3つのオブジェクトを含む評価用自然画像において、星形のオブジェクトがY100%のオブジェクトの場合、図の右側の表の「L*a*b*値」の欄に示すように、そのオブジェクト内の3つの取得範囲(細い実線、細い破線、太い実線)におけるL*a*b*値は同じ値であっても、「RGB値」の欄に示すように、スキャナで測定するRGB値はフレアの影響により変化する。ここで、スキャナプロファイルのフレア影響度が(7,2,4)の場合、その値と「フレア影響度」の欄に示す各々の取得範囲のフレア影響度とを比較し、スキャナプロファイルのフレア影響度に最も近い太い実線を取得範囲に決定し、決定した取得範囲におけるRGB値(10,240,245)をY100%のオブジェクトのRGB値として選択する。
【0076】
なお、
図10及び
図11では、オブジェクトが均一の色(Y100%)の場合について記載したが、オブジェクト内で色が変化する場合もある。例えば、
図12に示すように、星形のオブジェクトの色がオブジェクト内部で変化している(オブジェクトの色の変化をハッチングの種類を変えて表現している。)場合は、取得位置又は取得範囲を設定する際に、対象のオブジェクトの中の同じ色の領域(RGB値が近い領域)の中から複数の取得位置又は取得範囲を設定することが好ましい。
【0077】
このように、スキャナプロファイルにおけるフレアの影響を考慮して、推定対象色のRGB値の取得位置又は取得範囲を決定し、その取得位置又は取得範囲のRGB値を選択することにより、自然画像やパッチ配置を変更できないチャートなどの原稿に対しても、適切に色を推定することができ、スキャナプロファイルを用いた色変換の精度を向上させることができる。
【0078】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、システムや各装置の構成や制御は適宜変更可能である。
【0079】
例えば、上記実施例では、測色値としてCIE 1976色空間のL*a*b*値を例示したが、CIE 1931色空間のXYZ値としてもよいし、CIECAM02などの色の見えモデルなどとしてもよく、特に制限されない。
【0080】
また、上記実施例では、色推定装置30がスキャナプロファイルの作成及びスキャナプロファイルを用いた色変換を行う場合について記載したが、プリンタ40がスキャナプロファイルの作成及びスキャナプロファイルを用いた色変換を行う場合においても、本発明の色推定方法を同様に適用することができる。