画像処理装置及び画像処理方法ならびに画像処理方法を実行するプログラム
【課題】 複数のセンサを用いて混色のキャリブレーションを行うシステムにおいて、センサの個体差の影響で階調段差等の画質劣化の発生を抑制する。
【解決手段】 本発明の画像処理装置は、色域の情報を取得する手段と、前記取得した色域を分割する色域分割手段と、前記分割された色域毎に測定に用いられるパッチを決定する決定手段と、色を補正するため、前記決定手段により決定された色域毎に測定に用いられるパッチを、同一のセンサで測定するようにチャートデータを作成するチャートデータ作成手段とを有することを特徴とする。
【解決手段】 本発明の画像処理装置は、色域の情報を取得する手段と、前記取得した色域を分割する色域分割手段と、前記分割された色域毎に測定に用いられるパッチを決定する決定手段と、色を補正するため、前記決定手段により決定された色域毎に測定に用いられるパッチを、同一のセンサで測定するようにチャートデータを作成するチャートデータ作成手段とを有することを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はプリンタからの出力物の色を補正するチャートデータを作成するための画像処理装置及び画像処理方法ならびに画像処理パラメータを作成するプログラムに関するものである。
【背景技術】
【0002】
近年電子写真装置の性能が向上し、印刷機と同等の画質を実現した機械が登場している。しかし電子写真特有の不安定性のため色の変動量が印刷機に比べて大きいことが課題として残されている。そこで、従来の電子写真装置ではシアン、マゼンタ、イエロー、ブラック(以下、C、M、Y、Kで示す)の各トナーに対応した1次元の階調補正用のLUT(Look Up Table)を作成するキャリブレーション技術が搭載されている。LUTとは、特定の間隔で区切られた入力データに対応した出力データを示すテーブルであり、演算式では表せない非線形な特性を表現することが可能である。1次元の階調補正用のLUTはC、M、Y、Kの各入力信号値を表現可能なプリンタ側の出力信号値を表しており、この出力信号値に対応したトナーを使って紙上に画像を形成する。まず、C、M、Y、Kの各トナーに対応した階調の異なるパッチ(データ)で構成されたチャートを用意してプリンタで出力する。プリンタで出力されたチャートの各パッチをスキャナや測色機等で値を読み取る。そして、読み取った値である測定データを予め持っているターゲットデータと比較することでCMYK独立に補正用の1次元のLUTを作成する。
【0003】
しかし、1次元のLUTで単色の階調特性をあわせてもレッド、グリーン、ブルー、CMYを使ったグレー等の複数のトナーを使用する「混色」はプリンタに応じて非線形な差分が発生するため色を保証することは難しい。そこで、プリンタが再現可能な範囲の混色で作成されたチャートを出力してスキャナや測色機で測定して目標値であるターゲットデータと比較し、補正値を作成する技術が提案されている(例えば特許文献1参照)。ICCプロファイルが持つデスティネーションプロファイルに着目し、それを修正することで混色の色差を補正する技術が提案されている。ICCプロファイルとは、ICC(International Color Consortium)が定めた色変換時に使用するデータのことである。まず、混色で作成されたチャートをプリンタで出力し、スキャナや測色機で測定する。その測色結果と目標値を用いて差分を作成してICCプロファイルが持つデバイス非依存色空間(L*a*b*)をデバイス依存色空間(CMYK)に変換する3次元のLUT(デスティネーションプロファイル)を更新して混色の色を補正することが可能となる。L*a*b*とはデバイスに依存しない色空間の1つであり、L*は輝度、a*b*は色相及び彩度を表す。
【0004】
また、近年ではスキャナや外部に接続された測色器の代わりにプリンタ内部の用紙を定着してから排紙をするまでの搬送路上後にセンサを配置し、定着器を通過して出力された階調補正用のチャートを読み込むシステムが提供されている。
【0005】
また、キャリブレーション用のCMYKチャートをプリント、定着後にセンサで値を読み取り、読み取った値を予め持っているターゲットデータと比較することで補正用の1次元のLUTを作成する。このセンサで測定値を読み取るシステムでは、搬送される用紙を読み取るため、センサの位置が固定となる。そのため、副走査方向(紙の搬送方向)にしかチャートのパッチを生成するためのデータであるパッチの数を増やすことができない。センサによってチャート上の1つパッチを読み取るためには、チャート上に印刷されたパッチはある程度以上の大きさが必要となる。よって1枚に配置できるデータ数は限られてしまう。よってスキャナに比べてプリント直後のセンサを用いた手法で十分な数のパッチを読み取らすためには、多数のチャートを作成する必要があり、紙の消費量が激しいという問題があった。そのため、従来のシステムでは1台の機械に搭載するセンサの数を増やすことで、1枚の紙で読めるデータ数を増やしていた。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−165864
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、1回のキャリブレーションを実行する際に、複数個のセンサを用いる場合、センサ自体が個体差を持つため読み取り値の精度が低下してしまう。よって最終的なキャリブレーション精度が低下するという問題がある。1次元のLUTによる補正の場合はC、M、Y、Kの各トナーにセンサを割り当て、同じトナーのパッチを同一のセンサで読むことで、センサの個体差による影響を少なくすることが可能である。ところが、複数のトナーを使用して再現する「混色パッチ」はトナーとセンサの対応付けが困難であるためセンサの個体差による影響を受けやすい。このように特に様々な色相/明度/彩度を持つ「混色」のキャリブレーションではセンサの個体差による問題が顕著となってしまっていた。
【課題を解決するための手段】
【0008】
上述した課題を解決するために、色域の情報を取得する手段と、前記取得した色域を分割する色域分割手段と、前記分割された色域毎に測定に用いられるパッチを決定する決定手段と、色を補正するため、前記決定手段により決定された色域毎に測定に用いられるパッチを、同一のセンサで測定するようにチャートデータを作成するチャートデータ作成手段とを有することを特徴とする。
【発明の効果】
【0009】
複数のセンサから得られる測定値を用いて混色を補正するシステムにおいて、センサの個体差があっても階調性等に関する画質への影響を減らして混色の補正を実施することが可能になる。
【図面の簡単な説明】
【0010】
【図1】システムの構成図である。
【図2】画像処理の流れを示した図である。
【図3】プリンタ内の測定部を詳細に示した図である。
【図4】混色のキャリブレーション処理の流れを示した図である。
【図5】混色のキャリブレーション処理の中の3次元LUT補正処理を示した図である。
【図6】混色のキャリブレーション処理の中の4次元LUT作成処理を示した図である。
【図7】従来のチャートデータを作成する処理の流れを示した図である。
【図8】単色の補正と混色の補正の処理の違いを示した図である。
【図9】センサの個体差による階調性の違いを示した図である。
【図10】実施例1におけるチャートデータを作成する処理の流れを示した図である。
【図11】実施例1における色域の分割の例を示した図である。
【図12】実施例1における混色のキャリブレーション処理の流れを示した図である。
【図13】実施例2におけるチャートデータを作成する処理の流れを示した図である。
【図14】実施例2における色域の分割の例を示した図である。
【図15】実施例2における混色のキャリブレーション処理の流れを示した図である。
【図16】実施例3におけるチャートデータを作成する処理の流れを示した図である。
【発明を実施するための形態】
【0011】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例1】
【0012】
本発明の実施の形態について説明する。本実施例ではプリンタに内蔵されたセンサを用いてデバイスが再現する混色の出力濃度を補正するためのチャートを作成する手法について説明する。この内蔵されたセンサは背景技術でも述べたように、用紙が定着されてから排紙されるまでの搬送路上に固定して配置されている。また、このセンサは、チャート上に作成されたパッチデータの濃度値、輝度値、L*a*b*やXYZ等のデバイスに依存しない色空間の値、反射率等を検知する。
【0013】
図1は本実施例におけるシステムの構成図である。C、M、Y、Kの各トナーを用いる第1のMFP101はネットワーク123を介して接続されている。またPC124はネットワーク123を介して第1のMFP101と接続されている。PC124内のプリンタドライバ125は第1のMFP101へ印刷データを送信する。
【0014】
MFP101について詳細に説明する。ネットワークI/F122は印刷データ等の受信や後述するラスター画像や制御データ等の送信を行う。コントローラ102はCPU103やレンダラ112、画像処理部114で構成される。CPU103のインタプリタ104は受信した印刷データのPDL(ページ記述言語)部分を解釈し、中間言語データ105を生成する。そしてCMS106ではソースプロファイル107及びデスティネーションプロファイル108を用いて色変換を行い、中間言語データ(CMS後)111を生成する。ここでCMSとはColor Management Systemの略であり、後述するプロファイルの情報を用いて色変換を行う。また、ソースプロファイル107はRGBやCMYK等のデバイスに依存する色空間をCIE(国際照明委員会)が定めたL*a*b*やXYZ等のデバイス非依存の色空間に変換するためのプロファイルである。XYZはL*a*b*と同様にデバイス非依存の色空間であり、3種類の刺激値で色を表現する。また、デスティネーションプロファイル108はデバイス非依存色空間をデバイス(プリンタ115)に依存したCMYK色空間に変換するためのプロファイルである。一方、CMS109ではデバイスリンクプロファイル110を用いて色変換を行い、中間言語データ(CMS後)111を生成する。ここでデバイスリンクプロファイル110はRGBやCMYK等のデバイス依存色空間をデバイス(プリンタ115)に依存したCMYK色空間に直接変換するためのプロファイルである。どちらのCMSが選ばれるかはプリンタドライバ125における設定に依存する。本実施例ではプロファイルの種類によってCMSを分けているが、1つのCMSで複数種類のプロファイルを扱ってもよい。また、プロファイルの種類は本実施例で挙げた例に限らずプリンタ115のデバイス依存CMYK色空間を用いるのであればどのような種類のプロファイルでもよい。
【0015】
レンダラ112は生成した中間言語データ(CMS後)111からラスター画像113を生成する。画像処理部114はラスター画像113やスキャナ119で読み込んだ画像に対して画像処理を行う。コントローラ102と接続されたプリンタ115はC、M、Y、K等の有色トナーを用いて紙上に出力データを形成するプリンタである。プリンタ115は紙の給紙を行う給紙部116と出力データを形成した紙を排紙する排紙部117を持つ。表示装置118はユーザへの指示やMFP101の状態を示すUI(ユーザーインターフェース)を表示する。スキャナ119はオートドキュメントフィーダーを含むスキャナである。スキャナ119は束状のあるいは一枚の原稿画像を図示しない光源で照射し、原稿反射像をレンズでCCD(Charge Coupled Device)センサ等の固体撮像素子上に結像する。そして、固体撮像素子からラスター状の画像読み取り信号を画像データとして得る。例えば入力装置120はユーザからの入力を受け付けるためのインタフェースである。記憶装置121はコントローラ102で処理されたデータやコントローラ102が受け取ったデータ等を保存する。
【0016】
プリンタ115の測定部126はL*a*b*やXYZ等のデバイスに依存しない色空間の値を取得できるセンサ127を持つ。測定部126はプリンタ115で紙上に出力されたパッチをセンサ127読み取り、読み取った数値情報をコントローラ102へ送信する。コントローラ102はその数値情報を用いて演算を行い、単色や混色の色補正に利用する。
【0017】
センサ127の詳細を図3に示す。測定部126のセンサは位置を固定する必要がある。よって、チャート上に生成される読み取りパッチ数を増やす場合は紙の搬送方向306に向かって増やす必要がある。また、センサ1つだけでは1枚の紙で読み取れるパッチ数が不十分となるため、紙の搬送方向306と垂直にセンサの個数を増やす必要がある。図3では4つのセンサを使用しており、チャート305はセンサ301、センサ302、センサ303、センサ304が固定されている位置に合わせてパッチを配置している。紙が搬送されてチャート305上のパッチが各センサを通り過ぎる際に測定値を取得して測定部126がコントローラ102に送信する。
【0018】
次に画像処理部114の流れについて図2を用いて説明する。
【0019】
ステップS201にて画像処理部114は画像データを受信する。そしてステップS202にて画像処理部114は受け取ったデータがスキャナ119から受信したスキャンデータかプリンタドライバ125から送られたラスター画像113かを判別する。スキャンデータではない場合はラスター画像113であり、CMSによってプリンタデバイスに依存するCMYKに変換されたCMYK画像211となる。スキャンデータの場合はRGB画像203であるため、ステップS204にて画像処理部114は色変換処理を行い、共通RGB画像205を生成する。ここで共通RGB画像205とはデバイスに依存しないRGB色空間で定義されており、演算によってL*a*b*等のデバイス非依存色空間に変換することが可能である。一方、ステップS206にて画像処理部114は文字判定処理を行い、文字判定データ207を生成する。ここでは画像のエッジ等を検出して文字判定データ207を生成する。そしてステップS208にて画像処理部114は共通RGB画像205に対してフィルタ処理を行う。ここで、文字判定データ207を用いて文字部とそれ以外で異なるフィルタ処理を行う。次に画像処理部114はステップS209にて下地飛ばし処理、ステップS210で色変換処理を行って下地を除去したCMYK画像211を生成する。
【0020】
次にステップS212にて画像処理部114は4D−LUTを用いた補正処理を行う。4D−LUTとはC、M、Y、Kを異なるC、M、Y、Kに変換する4次元のLUTである。4D−LUTを用いることでと複数のトナーを使用した色である混色の色を補正することが可能になる。混色の色を補正する4D−LUTの作成方法については後述する。そして混色の色を補正した後、画像処理部114はステップS213にて1D−LUTを用いてC、M、Y、Kの各単色の階調特性を補正する。1D−LUT とはC、M、Y、Kのそれぞれの色を補正する1次元のLUTのことである。1D−LUTの作成方法は各色の目標値と測定値を比較して目標値が再現できるように補正値を作る処理であり、詳細な説明は省略する。最後にステップS214にて画像処理部114はハーフトーン処理や誤差拡散処理のような画像形成処理を行ってCMYK画像(2値)215を作成し、ステップS216にて画像データをプリンタ115へ送信する。
【0021】
次に混色の色を補正する4D−LUTを作成する流れについて図4〜図6を用いて説明する。以下の処理はコントローラ102のCPU103の指示により行う。
【0022】
図4は4D−LUTを作成する処理の流れを示したものである。まず、ステップS401にてコントローラ102は記憶装置121に格納されているチャートデータ(ターゲットデータ)402を取得し、プリンタ115に対して出力指示を出し、チャート403を作成する。チャートデータ402の作成方法については詳細に後述する。そしてステップS404にてコントローラ102は測定部126に指示を出し、センサ127を用いてチャート403の測定を行い、L*a*b*値を得る。次にステップS405にてコントローラ102はチャート上のパッチを測定した測定データであるパッチデータを、測定部126を経由して受け取り、有彩色と無彩色に分類して測色値406を得て記憶装置121に格納する。ここでの分類方法はチャートデータ402に予め有彩色か無彩色かの情報を付加してもよいし、チャートデータの数値あるいは測定したパッチデータを分析することによって判断してもよい。次にコントローラ102は記憶装置121から測色値406、基準値408及びL*a*b*→CMYの3D−LUT409を読み出し、ステップS407にて3次元LUT補正処理を行い、L*a*b*→CMYの3D−LUT410(補正後)を出力する。ステップS407の3次元LUTの補正処理については後述する。基準値408とは目標値となるL*a*b*値のことであり、有彩色と無彩色のそれぞれで定められている。L*a*b*→CMYの3D−LUT409は既知の手法を用いて作成した色変換用のLUTであり、格子状に一定の間隔で定めたL*a*b*値に対応したデバイス固有のCMY値を記述したデータである。任意のL*a*b*値に対して補間演算を行い、CMY値を出力する。最後に、コントローラ102はステップS411にてCMY→L*a*b*の3D−LUT412と L*a*b*→CMYの3D−LUT(補正後)410とデバイス情報413を用いてCMYK→CMYKの4D−LUT414を作成する。ステップS411の4次元LUTの作成処理についても後述する。CMY→L*a*b*の3D−LUT412は既知の手法を用いて作成した色変換用のLUTであり、格子状に一定の間隔で定めたCMY値に対応したL*a*b*値を記述したデータである。任意のCMY値に対して補間演算を行い、L*a*b*値を出力する。
【0023】
次にステップS407で示す3次元LUT補正処理の詳細について、図5を用いて説明する。まず、ステップS501にてコントローラ102は記憶装置121から測色値406と基準値408を用いて有彩色のデータと無彩色のデータのそれぞれに対して差分データ510を算出する。差分データ502はチャートデータ402のパッチの個数分算出され、有彩色と無彩色で分類されている。次にステップS502にてコントローラ102は記憶装置121からL*a*b*→CMYの3D−LUT409を読み出し、格子点データ(L*a*b*)の1つを抽出し、有彩色か無彩色かを判定する。判定方法の例を説明する。a*及びb*の値は色相/彩度を示すデータであるため、両方のデータが0に近いものを無彩色として判定する。例えば閾値を定めるなど、ここでの判定方法はどのようなものでもよい。この判定したデータが格子点データ(L*a*b*及び有彩無彩情報)503となる。ここで、L*a*b*のデータはL*が0〜100、a*とb*がそれぞれ−128〜128の範囲で、格子点の数が33×33×33の場合、L*が約3ずつ、a*とb*が8ずつ均等に増加したデータとなる。つまり、ここで抽出した格子点データは(L*,a*,b*)=(0,−128,−128)から、(L*,a*,b*)=(100,128,128)の範囲で構成された33×33×33=35937個のデータの1つとなる。さらに、有彩色であるか無彩色であるかの情報が付加されている。
【0024】
次に、ステップS504にてコントローラ102は格子点データ(L*a*b*及び有彩無彩情報)503と基準値408との距離を算出する。そしてステップS505にてコントローラ102は距離が一定の閾値以内の差分データを抽出し、その差分データから格子点データ(L*a*b*及び有彩無彩情報)503の補正量を決定する。その際に格子点データの有彩無彩情報を参照して、有彩色の時は有彩色の差分データを、無彩色の時は無彩色の差分データを用いて抽出処理を行う。ここで、抽出された差分データは複数個ある可能性があり、その中でも格子点データ(L*a*b*及び有彩無彩情報)503に対して距離が近いデータ、遠いデータが存在する。距離が近い差分データの影響を強く、距離が遠い差分データの影響を弱くするため、差分データに対して計算した距離を使って重みつき加算を行い、格子点補正量を決定する。ここで、一定の閾値以内に差分データが存在しない場合の補正量は0となる。
【0025】
次にステップS506にてコントローラ102は格子点補正量を格子点データ(L*a*b*及び有彩無彩情報)503に反映し、補正後格子点データ(L*a*b*)507として格納する。そして、ステップS508にてコントローラ102は全ての格子点データに対して処理を行ったか判定を行い、処理を行っていない場合は新しい格子点データをステップS502にて抽出して処理を繰り返す。全ての格子点を処理した場合はステップS509にてコントローラ102は補間演算処理を行う。全ての格子点データを処理している場合、格子点の数の分だけ補正後格子点データ(L*a*b*)S507が作成されている。このデータに対してL*a*b*→CMYの3D−LUT409を使って補間演算を行って新しいCMY値を算出する。このCMY値を元々の格子点データに対する出力値として格納し、L*a*b*→CMYの3D−LUT(補正後)410を作成する。以上のように格子点から一定の距離内にある差分データを参照して格子点の補正量を決定することで、少ないデータ数で多くの格子点データの補正量を決定することが可能となる。なお、本実施例の例に限らず、L*a*b*→CMYの3D−LUT409を補正する手法であればどのようなものであってもよい。
【0026】
次にステップS411の4次元LUTを作成する処理について、図6を用いて説明する。まず、ステップS601にてコントローラ102はCMYK均等データ602からCMY値を抽出する。ここでCMYK均等データの数は、CMYK→CMYKの4D−LUT414の格子点と同じ数であり、データの間隔も同じである。例えばCMYK→CMYKの4D−LUT811の格子点数が8×8×8×8=4096個の場合は、CMYK均等データ602の数は4096個となる。データが8ビット(0〜255)で表現される場合は、データの間隔は約36となる。次にステップS603にてコントローラ102はCMY→L*a*b*の3D−LUT412とL*a*b*→CMYの3D−LUT(補正後)410を用いて補間演算を行い、CMY値を決定する。まず、抽出されたCMY値からCMY→L*a*b*の3D−LUT412を用いて補間演算を実行してL*a*b*値を求める。次に先ほど算出したL*a*b*値からL*a*b*→CMYの3D−LUT(補正後)410を用いて補間演算を実行してCMY値を算出する。次に、ステップS604にてコントローラ102はCMYK均等データ602のKの値を抽出し、先ほど決定されたCMY値を組み合わせてCMYK値605を作成する。ここで抽出したK値はステップS601にて抽出されたCMY値に対応するものである。そしてステップS606にてコントローラ102はデバイス情報413を用いて載り量制限処理を行う。ここでデバイス情報413とはプリンタ115が適用可能なトナー量を数値で表現したものであり、本実施例では「載り量」と定義する。例えばCMYKの場合、単色の最大値を100%とすると最大で400%の信号値が設定できる。しかし、適用可能なトナーの総数が300%の場合の載り量は300%となる。
【0027】
CMYK値605はその組み合わせによっては規定の載り量を超える可能性があるため、既知のUCR処理等を行って載り量制限処理を行う。ここで、UCR処理とはCMYのトナーをKのトナーに置き換える処理のことである。一般に黒を表現する場合、CMYを等量用いて表現する手法とK単独で表現する手法が存在する。K単独で表現した場合、CMYで表現する場合に比べて濃度が低くなってしまうが載り量を少なくできるというメリットがある。そしてステップS607にてコントローラ102は純色化処理を行ってCMYK値(補正後)608を作成する。CMYK→CMYKの4D−LUT414で補正する際に、例えばC単色のデータはC単色で出力されることが理想である。それを実現するため、元となったCMYK均等データ602を参照して、純色データであった場合CMYK値を純色データに修正する。例えばCMYK均等データ602がC単色であるのにCMYK値(補正後)608にMの値が入っている場合はMの値を0にする。そしてステップS609にてコントローラ102はCMYK値(補正後)608をCMYK→CMYKの4D−LUT414に格納する。最後にステップS610にてコントローラ102はCMYK均等データ602を全て処理したかの判定を行い、全てのデータを処理していない場合は残りのCMYK均等データ602からCMY値を抽出して処理を繰り返す。全てのデータをした場合は処理を終了し、CMYK→CMYKの4D−LUT414が完成する。
【0028】
ここで、LUTの格子点の数については、本実施例の例に限らずどのようなものであってもよい。さらに、格子点数は例えばCMYK→CMYKの4D−LUT414でCとMの格子点数が異なるなど、特殊な構成のLUTでもよい。
【0029】
次にチャートデータ402を作成する際の従来の処理の流れを図7に示す。以下の処理はコントローラ102のCPU103の指示により行う。まず、ステップS701にてコントローラ102は記憶装置121に格納されている色差均等L*a*b*データ702からL*a*b*データ703を抽出する。色差均等L*a*b*データ702とはL*a*b*が表現するデータ範囲を一定の間隔で区切ったデータである。次にステップS704にてコントローラ102はL*a*b*データ703と記憶装置121に格納されているL*a*b*→CMYの3D−LUT409を用いて補間演算を行い、チャート候補データ(CMY)705を作成する。さらに次にステップS706にてコントローラ102はチャート候補データ(CMY)705において色域内外判定を行う。色域内判定手法の例を示す。チャート候補データ(CMY)705に対してCMY→L*a*b*の3D−LUT412を使って補間演算を行うことでL*a*b*値を算出する。そのL*a*b*値とL*a*b*データ703の差分が一定の閾値内にあるか否かを判定して、閾値内の場合は色域内と判定し、閾値外の場合は色域外と判定する。ステップS707にてコントローラ102は色域内のデータを抽出し、チャートデータ402として格納する。最後にステップS708にて全ての色差均等L*a*b*データを処理したかを判定し、処理した場合は終了する。処理していない場合はステップS701以降の処理を繰り返す。
【0030】
従来の処理の流れでチャートデータ402を作成した場合、図3の301〜304で示すセンサで読み込む際に問題が発生する。センサ301〜304は取り付け精度や個体差の影響により同じデータを読んでも測定結果が異なる可能性がある。特に混色を補正する4D−LUTの場合は測定結果の違いによる影響が顕著になる。図8、図9を用いて説明する。図8の構成図である801はステップS213の1D−LUT補正処理の構成を示している。C、M、Y、Kをそれぞれ個別の1D−LUTで変換してC’、M’、Y’、K’を作成する。そのため、Cのデータをセンサ301、Mのデータをセンサ302といったようにトナーの色ごと(1D−LUTごと)にセンサを割り当てればセンサ間で個体差があっても目標値との差分は発生するが、各色の階調性は保つことが可能である。
【0031】
図8の構成図である802はステップS212の4D−LUT補正処理の構成を示している。特定のCMYKの組み合わせである混色を1種類の4D−LUTで別のC’’、M’’、Y’’、K’’の混色に変換するため、トナーの色ごとにセンサを割り当てることが困難である。4D−LUT補正時にセンサの個体差があった場合の問題を図9の表901に示す。図9の表901は横軸を入力信号値、縦軸を濃度値としたグラフである。実際のセンサ読み値はL*a*b*値であるが、説明を容易にするため濃度値を使って例を示す。902は入力信号値に対する理想的な濃度値を示す。センサ301〜センサ304で個体差が無い場合は902のような特性となる。903はセンサの個体差が発生した場合の特性であり、904の範囲はセンサ301、905の範囲はセンサ302、906の範囲はセンサ303で読んだ場合の濃度値の例を示す。個体差は同じ傾向になるとは限らないので、理想的な濃度値よりも大きくなるケース、小さくなるケースが存在する。図9の例ではセンサ301は理想値よりも大きく、センサ302は理想値よりも小さく、センサ303は理想値よりも大きい。このような現象が起きると、データの連続性が失われて、階調性が保てずに階調ギャップ等の問題が発生し、画質の深刻な劣化を招く。
【0032】
図9の表907も横軸を入力信号値、縦軸を濃度値としたグラフである。908は入力信号値に対する理想的な濃度値を示す。表901と異なる点は、1つのセンサのみで読み込んだ場合の特性909を示していることである。910はセンサ301のみで読んだ場合の濃度値を示す。理想とする特性からは外れているが、1つのセンサで読んでいるため階調ギャップ等の深刻な問題は発生しない。本実施例は上記の特性に着目したものであり、チャートデータの特性を分析して分類することで深刻な画質劣化を防ぐことを目的とする。
【0033】
図10は本実施例におけるチャートデータ作成処理の流れを示した図である。以下の処理はコントローラ102のCPU103の指示により行う。ステップS1001にてコントローラ102は記憶装置121から1センサあたりの測定できるパッチ個数1002からパッチ(データ)個数を取得する。1枚の用紙に配置するパッチ数をなるべく多くして用紙の無駄を避けるため、図3に示すようにデータを配置し、全てのセンサが同一のパッチ個数を測定するように設定する。例えば、1枚の用紙にパッチが80個必要で、センサが4つある場合、1センサあたり20個のパッチを測定するよう設定する。そして、図3のセンサ301によってパッチの測定がされるように、読み取る紙の搬送方向に20個のパッチを並べる。他のセンサ302〜304に対しても同様に、20個のパッチデータの測定がセンサによりできるようにデータを並べる。このように、センサが測定を行えるチャートデータの作成を行う。
【0034】
次にステップS1003にてコントローラ102は記憶装置121から無彩色定義データ1004とCMY→L*a*b*の3D−LUT412を取得する。具体例を図11に示す。無彩色定義データ1004とは無彩色データの候補となるL*a*b*値である。図11の1101はCMY→L*a*b*の3D−LUT412から得られるプリンタ115が再現可能な色の範囲を示している。本来はL*a*b*の3次元情報で表すべきものだが、a*b*平面に投影している。a*が大きいほど赤色に、小さいほど緑色になる。また、b*が大きいほど黄色に、小さいほど青色になる。領域1102は無彩色領域を示し、a*及びb*が0に近い値である。次にステップS1005にて無彩色定義データ1004とCMY→L*a*b*の3D−LUT412を用いて無彩色データ(L*a*b*)の算出を行う。特にL*が明るすぎるデータや暗すぎるデータはプリンタ115が再現できないため、CMY→L*a*b*の3D−LUT412を用いてL*の観点で再現可能かを判定する。次にステップ1007にてコントローラ102は記憶装置121から色域分割定義データ1008とセンサの個数情報1009を用いて色域の分割を行う。
【0035】
例を図11に示す。1107及び1108は色域分割定義データ1008を示しており、本実施例ではa*b*平面における直線の式となっている。色域1101から無彩色領域1102を除いたデータに対して1107及び1108で4つの領域(黄色の領域1103、赤色の領域1104、青色の領域1105、緑色の領域1106)分割する。ここで4つの領域に分割するのはセンサの個数情報がセンサ301〜センサ304の4つのためである。色域分割定義データ1008は曲線等を示す複雑なデータであってもよい。
【0036】
次にステップ1007にてコントローラ102は記憶装置121から色差均等L*a*b*データ1011を読み出し、最も狭い分割後の色域を決定し、分割後色域情報1012を出力する。具体的には色差均等L*a*b*データ1011に対して黄色の領域1103、赤色の領域1104、青色の領域1105、緑色の領域1106に対して色域内外判定を行い、色域内のパッチの個数で判定を行う。分割後色域情報1012はセンサの数だけ個別に定義されており、最も狭い領域であるか否かの情報を持つ。
【0037】
ステップS1013にてコントローラ102は分割後色域情報1012を抽出する。そしてステップS1014にてコントローラ102は最も狭い分割色域か否かを判定する。狭い領域で無い場合はステップS1018にて分割後色域情報1012とL*a*b*→CMYの3D−LUT409と色差均等L*a*b*データ1016を用いてセンサ別チャートデータ1017を作成する。まず、色差均等L*a*b*データ1016に対して分割後色域情報1012を用いて色域内のL*a*b*データを抽出する。次に抽出されたL*a*b*データとL*a*b*→CMYの3D−LUT409を用いてチャートデータのCMY値を算出する。色差均等L*a*b*データ1016は間隔の異なるデータが複数用意されている。パッチの個数が1センサあたりのパッチ個数1002と合わない場合は、間隔の異なる色差均等L*a*b*データ1016を読み出し、決められたパッチ個数になるまで処理を繰り返す。ステップS1014で最も狭い分割領域であると判定された場合は、ステップS1015にてコントローラ102は無彩色データを考慮してセンサ別チャートデータ1017を作成する。具体的には、無彩色データ(L*a*b*)1006にて無彩色パッチの個数が決まっているため、それを含めて1センサあたりのパッチ個数となるように色域内のチャートデータを算出する。無彩色データは領域が限定されているため、有彩色データに比べてパッチ数が少なくなることが多い。そこで本実施例では最もデータの個数が少なくなる狭い色域が割り当てられるセンサに無彩色データを割り当てている。もちろん、無彩色単体で1つのセンサを割り当ててもよい。最後にステップS1019にて全ての分割領域のデータを決定したかを判定し、決定していない場合はステップS1013の処理を繰り返す。
【0038】
センサ別チャートデータ1017を用いて4D−LUTを作成する処理の流れを図12に示す。以下の処理はコントローラ102のCPU103の指示により行う。まず、コントローラ102は記憶装置121からセンサ別チャートデータ1017を読み出してプリンタへの出力指示を行い、チャート(センサ別)1202を出力する。チャート(センサ別)1202は、図11に示すようにチャートデータを色相ごとに分類し、各センサに割り当てたものである。次にステップS1203にてコントローラ102はセンサによる測定を行う。そしてステップS1204にてコントローラ102はセンサ別チャートデータ1017の情報を用いてデータを有彩色と無彩色に分類し、測色値1205を得る。ステップS407、ステップS411の処理は図4と同様であるため、説明を省略する。
【0039】
本実施例ではチャートデータを色相の観点で分類したが、例えば明度、彩度といった観点で分類してもよい。また、色相、明度、彩度の概念を組み合わせてもよい。例えば低明度部、低明度以外の高彩度部に対してそれぞれセンサを割り当て、低明度以外かつ高彩度以外の領域については色相で半分に分けてそれぞれセンサを割り当てる等の方法が考えられる。さらに、入力装置120等を用いて分類の観点を切り替えてもよい。また、本実施例では有彩色と無彩色を区別して処理を行っているが、区別しないで処理を行ってもよい。また、本実施例では4D−LUTを用いて混色を補正しているが、例えば混色の測定結果をマトリックスや1D−LUTに反映させるなど別の手段を用いてもよい。さらに、本実施例ではチャートデータの作成をコントローラ102が行ったが、予めPC等を用いて図10の処理を行い、センサ別チャートデータ1017を作成してもよい。
【0040】
また、本実施例ではL*a*b*やXYZ等のデバイスに依存しない色空間の値を用いたが、例えば、輝度値や反射率を取得して既知の手段でL*a*b*やXYZ等のデバイスに依存しない色空間の値に変換してもよい。
【0041】
本実施例により、複数のセンサから得られる測定値を用いて混色の補正をするシステムにおいて、センサの個体差があっても色域毎に濃度を測定するパッチを同一のセンサで測定するようにチャートデータを作成する。これにより、階調性等に関する画質への影響を減らして混色の補正を実施することが可能になる。
【実施例2】
【0042】
次に色域を分割する際にマージン領域を設ける場合の実施例について説明する。実施例1ではセンサの個数やデバイスの色域情報を用いてセンサ別チャートデータを算出し、それを用いて4D−LUTを作成する処理の流れを説明した。本実施例ではさらにマージン領域を用いた場合の例について説明する。
【0043】
マージン領域を用いてセンサ別チャートデータを作成する処理の流れを図13に示す。以下の処理はコントローラ102のCPU103の指示により行う。
【0044】
マージン領域について図14を用いて説明する。図14は図11にマージン領域を加えたものである。マージン領域は領域間に設定され、マージン領域1401、マージン領域1402、マージン領域1403、マージン領域1404が該当する。例えばマージン領域1401は黄色の領域1103と緑色の領域1106の間にある。黄色の領域1103を担当するセンサと緑色の領域1106を担当するセンサの両方でマージン領域1401のパッチの測定を行い、平均化することでセンサの個体差による領域間のギャップを減らせるため、画質の劣化をさらに防ぐことが可能になる。
【0045】
まず、ステップS1001〜S1013の処理は図10の処理と同様であるため説明を省略する。ただし、色域分割定義データ1301は図14で示すマージン領域を含むため、実施例1に比べて広い色域となり、色域間での重なりが発生する。例えば黄色の領域1103の場合は、マージン領域1401とマージン領域1402を含めて1つの色域とする。赤色の領域1104の場合は、マージン領域1402とマージン領域1403を含めて1つの色域とする。青色の領域1104の場合は、マージン領域1403とマージン領域1404を含めて1つの色域とする。緑色の領域1106の場合は、マージン領域1404とマージン領域1401を含めて1つの色域とする。同様に分割後色域情報1302もマージン領域を含んだものとなる。具体的には色差均等L*a*b*データ1011に対してマージン領域を含む各色域に対して色域内外判定を行い、色域内のパッチの個数で判定を行う。分割後色域情報1012はセンサの数だけ個別に定義されており、最も狭い領域であるか否かの情報を持つ。
【0046】
ステップS1303においてコントローラ102は記憶装置121からステップS1013で抽出した分割色域情報を用いて対応するマージン領域のL*a*b*データ1304を取得する。図14の例では黄色の領域1103の場合はマージン領域1401、マージン領域1402に設定されているL*a*b*値を取得する。そして図10と同様にステップS1014にてコントローラ102はステップS1013で抽出した色域情報を判定する。最も狭い分割色域で無い場合はステップS1306にて分割後色域情報1012とL*a*b*→CMYの3D−LUT409と色差均等L*a*b*データ1016を用いてセンサ別チャートデータ1307を算出する。センサ別チャートデータ1307はマージン情報であるか否かの情報を持つ。まず、色差均等L*a*b*データ1016及び抽出したマージン領域のL*a*b*データに対して分割後色域情報1012を用いて色域内のL*a*b*データを抽出する。次に抽出されたL*a*b*データとL*a*b*→CMYの3D−LUT409を用いてチャートデータのCMY値を算出する。色差均等L*a*b*データ1016は間隔の異なるデータが複数用意されている。データの個数が1センサあたりのパッチ個数1002と合わない場合は、間隔の異なる色差均等L*a*b*データ1016を読み出し、決められた個数になるまで処理を繰り返す。ステップS1014で最も狭い分割領域であると判定された場合は、ステップS1305にてステップS1306の処理に加えて無彩色を考慮した処理を行い、センサ別チャートデータ1307を算出する。無彩色を考慮した処理については図10のステップS1015と同様であるため、省略する。
【0047】
次にマージン情報を含むセンサ別チャートデータ1305を用いて4D−LUTを作成する処理の流れを図15に示す。以下の処理はコントローラ102のCPU103の指示により行う。まず、コントローラ102は記憶装置121からマージン情報を含むセンサ別チャートデータ1305を読み出してプリンタへの出力指示を行い、チャート(マージンあり)1502を出力する。チャート(センサ別)1502は、図14に示すようにチャートデータを色相ごとに分類し、各センサに割り当てたものに加え、マージン情報のデータを持つ。マージン情報のデータは図14の領域1401〜1404に該当し、異なるセンサに割り当てられた同じ信号値を持つデータである。次にステップS1503にてコントローラ102はセンサによる測定を行う。そしてステップS1504にてコントローラ102はマージン情報を含むセンサ別チャートデータ1305の情報を用いてデータを有彩色と無彩色に分類し、測色値1205を得る。次にステップS1505にてコントローラ102はマージン情報を含むセンサ別チャートデータ1305を用いてマージン領域のデータを抽出して平均化処理を行い、平均化後測色値1506を得る。ステップS407、ステップS411の処理は図4と同様であるため、説明を省略する。マージン領域を平均化することで、分割した色域の境界部で発生する階調段差を減らすことが可能となり、画質の劣化を少なくすることができる。本実施例の方法によらず、マージン領域の設定方法はどのようなものであってもよい。また、全ての領域に対してマージン領域を定めなくてもよい。また、本実施例では有彩色と無彩色を区別して処理を行っているが、区別しないで処理を行ってもよい。
【0048】
本実施例により、複数のセンサから得られる測定値を用いて混色を補正するシステムにおいて、センサの個体差があっても階調性等に関する画質への影響を減らして混色の補正を実施することが可能になる。さらに本実施例により、マージン領域を定めることでセンサの個体差による画質への影響をさらに少なくすることが可能になる。
【実施例3】
【0049】
次にチャートデータの間隔を均等にした場合の実施例について説明する。先の実施例では領域ごとにセンサに割り当てられた個数分のチャートデータを算出するため、チャートデータのL*a*b*空間における間隔が均等にならなくなる可能性がある。L*a*b*空間における間隔の均等性が大きく崩れると、混色の補正の効果が色域によって変わる可能性がある。実施例3ではチャートデータのL*a*b*空間における間隔の均等性を維持しながらセンサ別のチャートデータを算出する場合の処理の流れについて説明する。
【0050】
チャートデータのL*a*b*空間における間隔の均等性を維持しながらセンサ別のチャートデータを算出する場合の処理の流れを図16に示す。以下の処理はコントローラ102のCPU103の指示により行う。ステップS701〜ステップS708は図7と同様であるため、説明を省略する。作成されたチャートデータ402はL*a*b*空間において色差が均等なデータとなる。
【0051】
ステップS1601にてコントローラ102は無彩色定義データ1603とCMY→L*a*b*の3D−LUT412を用いて無彩色データの算出を行い、チャートデータ(有彩色、無彩色)1604を算出する。無彩色定義データ1603は図10の無彩色定義データ1004と同様である。次にCMY→L*a*b*の3D−LUT412、センサの個数情報1606、色域分割定義データ1607を用いてチャートデータ(有彩色、無彩色)1604を分割し、センサ別チャートデータ1608を得る。具体的には、CMY→L*a*b*の3D−LUT412と色域分割定義データ1607を用いてチャートデータ(有彩色、無彩色)1604を分割する。他の実施例と同様に無彩色のデータは最も色域の狭いデータに割り当てる。色域分割定義データ1607は複数種類用意されており、チャートデータが均等な個数にならない場合は異なる色域分割定義データを用いて処理を繰り返す。本実施例ではチャートデータが均等になることを終了の条件にしているが、例えばダミーのデータを用いるなどしてもよい。また、本実施例では有彩色と無彩色を区別して処理を行っているが、区別しないで処理を行ってもよい。さらに、実施例では説明を省略したが、実施例2のようにマージン領域を定めてもよい。
【0052】
4D−LUTを作成する処理の流れは図12と同じであるため説明を省略する。
【0053】
本実施例により、複数のセンサから得られる測定値を用いて混色を補正するシステムにおいて、センサの個体差があっても画質への影響を減らして補正を実施することが可能になる。さらに本実施例により、チャートデータのL*a*b*空間における間隔の均等性を維持しながらセンサ別のチャートデータを算出することが可能となるため、混色の補正効果を色域に依らずに均一にすることが可能となる。
【0054】
(その他の実施例)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明はプリンタからの出力物の色を補正するチャートデータを作成するための画像処理装置及び画像処理方法ならびに画像処理パラメータを作成するプログラムに関するものである。
【背景技術】
【0002】
近年電子写真装置の性能が向上し、印刷機と同等の画質を実現した機械が登場している。しかし電子写真特有の不安定性のため色の変動量が印刷機に比べて大きいことが課題として残されている。そこで、従来の電子写真装置ではシアン、マゼンタ、イエロー、ブラック(以下、C、M、Y、Kで示す)の各トナーに対応した1次元の階調補正用のLUT(Look Up Table)を作成するキャリブレーション技術が搭載されている。LUTとは、特定の間隔で区切られた入力データに対応した出力データを示すテーブルであり、演算式では表せない非線形な特性を表現することが可能である。1次元の階調補正用のLUTはC、M、Y、Kの各入力信号値を表現可能なプリンタ側の出力信号値を表しており、この出力信号値に対応したトナーを使って紙上に画像を形成する。まず、C、M、Y、Kの各トナーに対応した階調の異なるパッチ(データ)で構成されたチャートを用意してプリンタで出力する。プリンタで出力されたチャートの各パッチをスキャナや測色機等で値を読み取る。そして、読み取った値である測定データを予め持っているターゲットデータと比較することでCMYK独立に補正用の1次元のLUTを作成する。
【0003】
しかし、1次元のLUTで単色の階調特性をあわせてもレッド、グリーン、ブルー、CMYを使ったグレー等の複数のトナーを使用する「混色」はプリンタに応じて非線形な差分が発生するため色を保証することは難しい。そこで、プリンタが再現可能な範囲の混色で作成されたチャートを出力してスキャナや測色機で測定して目標値であるターゲットデータと比較し、補正値を作成する技術が提案されている(例えば特許文献1参照)。ICCプロファイルが持つデスティネーションプロファイルに着目し、それを修正することで混色の色差を補正する技術が提案されている。ICCプロファイルとは、ICC(International Color Consortium)が定めた色変換時に使用するデータのことである。まず、混色で作成されたチャートをプリンタで出力し、スキャナや測色機で測定する。その測色結果と目標値を用いて差分を作成してICCプロファイルが持つデバイス非依存色空間(L*a*b*)をデバイス依存色空間(CMYK)に変換する3次元のLUT(デスティネーションプロファイル)を更新して混色の色を補正することが可能となる。L*a*b*とはデバイスに依存しない色空間の1つであり、L*は輝度、a*b*は色相及び彩度を表す。
【0004】
また、近年ではスキャナや外部に接続された測色器の代わりにプリンタ内部の用紙を定着してから排紙をするまでの搬送路上後にセンサを配置し、定着器を通過して出力された階調補正用のチャートを読み込むシステムが提供されている。
【0005】
また、キャリブレーション用のCMYKチャートをプリント、定着後にセンサで値を読み取り、読み取った値を予め持っているターゲットデータと比較することで補正用の1次元のLUTを作成する。このセンサで測定値を読み取るシステムでは、搬送される用紙を読み取るため、センサの位置が固定となる。そのため、副走査方向(紙の搬送方向)にしかチャートのパッチを生成するためのデータであるパッチの数を増やすことができない。センサによってチャート上の1つパッチを読み取るためには、チャート上に印刷されたパッチはある程度以上の大きさが必要となる。よって1枚に配置できるデータ数は限られてしまう。よってスキャナに比べてプリント直後のセンサを用いた手法で十分な数のパッチを読み取らすためには、多数のチャートを作成する必要があり、紙の消費量が激しいという問題があった。そのため、従来のシステムでは1台の機械に搭載するセンサの数を増やすことで、1枚の紙で読めるデータ数を増やしていた。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−165864
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、1回のキャリブレーションを実行する際に、複数個のセンサを用いる場合、センサ自体が個体差を持つため読み取り値の精度が低下してしまう。よって最終的なキャリブレーション精度が低下するという問題がある。1次元のLUTによる補正の場合はC、M、Y、Kの各トナーにセンサを割り当て、同じトナーのパッチを同一のセンサで読むことで、センサの個体差による影響を少なくすることが可能である。ところが、複数のトナーを使用して再現する「混色パッチ」はトナーとセンサの対応付けが困難であるためセンサの個体差による影響を受けやすい。このように特に様々な色相/明度/彩度を持つ「混色」のキャリブレーションではセンサの個体差による問題が顕著となってしまっていた。
【課題を解決するための手段】
【0008】
上述した課題を解決するために、色域の情報を取得する手段と、前記取得した色域を分割する色域分割手段と、前記分割された色域毎に測定に用いられるパッチを決定する決定手段と、色を補正するため、前記決定手段により決定された色域毎に測定に用いられるパッチを、同一のセンサで測定するようにチャートデータを作成するチャートデータ作成手段とを有することを特徴とする。
【発明の効果】
【0009】
複数のセンサから得られる測定値を用いて混色を補正するシステムにおいて、センサの個体差があっても階調性等に関する画質への影響を減らして混色の補正を実施することが可能になる。
【図面の簡単な説明】
【0010】
【図1】システムの構成図である。
【図2】画像処理の流れを示した図である。
【図3】プリンタ内の測定部を詳細に示した図である。
【図4】混色のキャリブレーション処理の流れを示した図である。
【図5】混色のキャリブレーション処理の中の3次元LUT補正処理を示した図である。
【図6】混色のキャリブレーション処理の中の4次元LUT作成処理を示した図である。
【図7】従来のチャートデータを作成する処理の流れを示した図である。
【図8】単色の補正と混色の補正の処理の違いを示した図である。
【図9】センサの個体差による階調性の違いを示した図である。
【図10】実施例1におけるチャートデータを作成する処理の流れを示した図である。
【図11】実施例1における色域の分割の例を示した図である。
【図12】実施例1における混色のキャリブレーション処理の流れを示した図である。
【図13】実施例2におけるチャートデータを作成する処理の流れを示した図である。
【図14】実施例2における色域の分割の例を示した図である。
【図15】実施例2における混色のキャリブレーション処理の流れを示した図である。
【図16】実施例3におけるチャートデータを作成する処理の流れを示した図である。
【発明を実施するための形態】
【0011】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例1】
【0012】
本発明の実施の形態について説明する。本実施例ではプリンタに内蔵されたセンサを用いてデバイスが再現する混色の出力濃度を補正するためのチャートを作成する手法について説明する。この内蔵されたセンサは背景技術でも述べたように、用紙が定着されてから排紙されるまでの搬送路上に固定して配置されている。また、このセンサは、チャート上に作成されたパッチデータの濃度値、輝度値、L*a*b*やXYZ等のデバイスに依存しない色空間の値、反射率等を検知する。
【0013】
図1は本実施例におけるシステムの構成図である。C、M、Y、Kの各トナーを用いる第1のMFP101はネットワーク123を介して接続されている。またPC124はネットワーク123を介して第1のMFP101と接続されている。PC124内のプリンタドライバ125は第1のMFP101へ印刷データを送信する。
【0014】
MFP101について詳細に説明する。ネットワークI/F122は印刷データ等の受信や後述するラスター画像や制御データ等の送信を行う。コントローラ102はCPU103やレンダラ112、画像処理部114で構成される。CPU103のインタプリタ104は受信した印刷データのPDL(ページ記述言語)部分を解釈し、中間言語データ105を生成する。そしてCMS106ではソースプロファイル107及びデスティネーションプロファイル108を用いて色変換を行い、中間言語データ(CMS後)111を生成する。ここでCMSとはColor Management Systemの略であり、後述するプロファイルの情報を用いて色変換を行う。また、ソースプロファイル107はRGBやCMYK等のデバイスに依存する色空間をCIE(国際照明委員会)が定めたL*a*b*やXYZ等のデバイス非依存の色空間に変換するためのプロファイルである。XYZはL*a*b*と同様にデバイス非依存の色空間であり、3種類の刺激値で色を表現する。また、デスティネーションプロファイル108はデバイス非依存色空間をデバイス(プリンタ115)に依存したCMYK色空間に変換するためのプロファイルである。一方、CMS109ではデバイスリンクプロファイル110を用いて色変換を行い、中間言語データ(CMS後)111を生成する。ここでデバイスリンクプロファイル110はRGBやCMYK等のデバイス依存色空間をデバイス(プリンタ115)に依存したCMYK色空間に直接変換するためのプロファイルである。どちらのCMSが選ばれるかはプリンタドライバ125における設定に依存する。本実施例ではプロファイルの種類によってCMSを分けているが、1つのCMSで複数種類のプロファイルを扱ってもよい。また、プロファイルの種類は本実施例で挙げた例に限らずプリンタ115のデバイス依存CMYK色空間を用いるのであればどのような種類のプロファイルでもよい。
【0015】
レンダラ112は生成した中間言語データ(CMS後)111からラスター画像113を生成する。画像処理部114はラスター画像113やスキャナ119で読み込んだ画像に対して画像処理を行う。コントローラ102と接続されたプリンタ115はC、M、Y、K等の有色トナーを用いて紙上に出力データを形成するプリンタである。プリンタ115は紙の給紙を行う給紙部116と出力データを形成した紙を排紙する排紙部117を持つ。表示装置118はユーザへの指示やMFP101の状態を示すUI(ユーザーインターフェース)を表示する。スキャナ119はオートドキュメントフィーダーを含むスキャナである。スキャナ119は束状のあるいは一枚の原稿画像を図示しない光源で照射し、原稿反射像をレンズでCCD(Charge Coupled Device)センサ等の固体撮像素子上に結像する。そして、固体撮像素子からラスター状の画像読み取り信号を画像データとして得る。例えば入力装置120はユーザからの入力を受け付けるためのインタフェースである。記憶装置121はコントローラ102で処理されたデータやコントローラ102が受け取ったデータ等を保存する。
【0016】
プリンタ115の測定部126はL*a*b*やXYZ等のデバイスに依存しない色空間の値を取得できるセンサ127を持つ。測定部126はプリンタ115で紙上に出力されたパッチをセンサ127読み取り、読み取った数値情報をコントローラ102へ送信する。コントローラ102はその数値情報を用いて演算を行い、単色や混色の色補正に利用する。
【0017】
センサ127の詳細を図3に示す。測定部126のセンサは位置を固定する必要がある。よって、チャート上に生成される読み取りパッチ数を増やす場合は紙の搬送方向306に向かって増やす必要がある。また、センサ1つだけでは1枚の紙で読み取れるパッチ数が不十分となるため、紙の搬送方向306と垂直にセンサの個数を増やす必要がある。図3では4つのセンサを使用しており、チャート305はセンサ301、センサ302、センサ303、センサ304が固定されている位置に合わせてパッチを配置している。紙が搬送されてチャート305上のパッチが各センサを通り過ぎる際に測定値を取得して測定部126がコントローラ102に送信する。
【0018】
次に画像処理部114の流れについて図2を用いて説明する。
【0019】
ステップS201にて画像処理部114は画像データを受信する。そしてステップS202にて画像処理部114は受け取ったデータがスキャナ119から受信したスキャンデータかプリンタドライバ125から送られたラスター画像113かを判別する。スキャンデータではない場合はラスター画像113であり、CMSによってプリンタデバイスに依存するCMYKに変換されたCMYK画像211となる。スキャンデータの場合はRGB画像203であるため、ステップS204にて画像処理部114は色変換処理を行い、共通RGB画像205を生成する。ここで共通RGB画像205とはデバイスに依存しないRGB色空間で定義されており、演算によってL*a*b*等のデバイス非依存色空間に変換することが可能である。一方、ステップS206にて画像処理部114は文字判定処理を行い、文字判定データ207を生成する。ここでは画像のエッジ等を検出して文字判定データ207を生成する。そしてステップS208にて画像処理部114は共通RGB画像205に対してフィルタ処理を行う。ここで、文字判定データ207を用いて文字部とそれ以外で異なるフィルタ処理を行う。次に画像処理部114はステップS209にて下地飛ばし処理、ステップS210で色変換処理を行って下地を除去したCMYK画像211を生成する。
【0020】
次にステップS212にて画像処理部114は4D−LUTを用いた補正処理を行う。4D−LUTとはC、M、Y、Kを異なるC、M、Y、Kに変換する4次元のLUTである。4D−LUTを用いることでと複数のトナーを使用した色である混色の色を補正することが可能になる。混色の色を補正する4D−LUTの作成方法については後述する。そして混色の色を補正した後、画像処理部114はステップS213にて1D−LUTを用いてC、M、Y、Kの各単色の階調特性を補正する。1D−LUT とはC、M、Y、Kのそれぞれの色を補正する1次元のLUTのことである。1D−LUTの作成方法は各色の目標値と測定値を比較して目標値が再現できるように補正値を作る処理であり、詳細な説明は省略する。最後にステップS214にて画像処理部114はハーフトーン処理や誤差拡散処理のような画像形成処理を行ってCMYK画像(2値)215を作成し、ステップS216にて画像データをプリンタ115へ送信する。
【0021】
次に混色の色を補正する4D−LUTを作成する流れについて図4〜図6を用いて説明する。以下の処理はコントローラ102のCPU103の指示により行う。
【0022】
図4は4D−LUTを作成する処理の流れを示したものである。まず、ステップS401にてコントローラ102は記憶装置121に格納されているチャートデータ(ターゲットデータ)402を取得し、プリンタ115に対して出力指示を出し、チャート403を作成する。チャートデータ402の作成方法については詳細に後述する。そしてステップS404にてコントローラ102は測定部126に指示を出し、センサ127を用いてチャート403の測定を行い、L*a*b*値を得る。次にステップS405にてコントローラ102はチャート上のパッチを測定した測定データであるパッチデータを、測定部126を経由して受け取り、有彩色と無彩色に分類して測色値406を得て記憶装置121に格納する。ここでの分類方法はチャートデータ402に予め有彩色か無彩色かの情報を付加してもよいし、チャートデータの数値あるいは測定したパッチデータを分析することによって判断してもよい。次にコントローラ102は記憶装置121から測色値406、基準値408及びL*a*b*→CMYの3D−LUT409を読み出し、ステップS407にて3次元LUT補正処理を行い、L*a*b*→CMYの3D−LUT410(補正後)を出力する。ステップS407の3次元LUTの補正処理については後述する。基準値408とは目標値となるL*a*b*値のことであり、有彩色と無彩色のそれぞれで定められている。L*a*b*→CMYの3D−LUT409は既知の手法を用いて作成した色変換用のLUTであり、格子状に一定の間隔で定めたL*a*b*値に対応したデバイス固有のCMY値を記述したデータである。任意のL*a*b*値に対して補間演算を行い、CMY値を出力する。最後に、コントローラ102はステップS411にてCMY→L*a*b*の3D−LUT412と L*a*b*→CMYの3D−LUT(補正後)410とデバイス情報413を用いてCMYK→CMYKの4D−LUT414を作成する。ステップS411の4次元LUTの作成処理についても後述する。CMY→L*a*b*の3D−LUT412は既知の手法を用いて作成した色変換用のLUTであり、格子状に一定の間隔で定めたCMY値に対応したL*a*b*値を記述したデータである。任意のCMY値に対して補間演算を行い、L*a*b*値を出力する。
【0023】
次にステップS407で示す3次元LUT補正処理の詳細について、図5を用いて説明する。まず、ステップS501にてコントローラ102は記憶装置121から測色値406と基準値408を用いて有彩色のデータと無彩色のデータのそれぞれに対して差分データ510を算出する。差分データ502はチャートデータ402のパッチの個数分算出され、有彩色と無彩色で分類されている。次にステップS502にてコントローラ102は記憶装置121からL*a*b*→CMYの3D−LUT409を読み出し、格子点データ(L*a*b*)の1つを抽出し、有彩色か無彩色かを判定する。判定方法の例を説明する。a*及びb*の値は色相/彩度を示すデータであるため、両方のデータが0に近いものを無彩色として判定する。例えば閾値を定めるなど、ここでの判定方法はどのようなものでもよい。この判定したデータが格子点データ(L*a*b*及び有彩無彩情報)503となる。ここで、L*a*b*のデータはL*が0〜100、a*とb*がそれぞれ−128〜128の範囲で、格子点の数が33×33×33の場合、L*が約3ずつ、a*とb*が8ずつ均等に増加したデータとなる。つまり、ここで抽出した格子点データは(L*,a*,b*)=(0,−128,−128)から、(L*,a*,b*)=(100,128,128)の範囲で構成された33×33×33=35937個のデータの1つとなる。さらに、有彩色であるか無彩色であるかの情報が付加されている。
【0024】
次に、ステップS504にてコントローラ102は格子点データ(L*a*b*及び有彩無彩情報)503と基準値408との距離を算出する。そしてステップS505にてコントローラ102は距離が一定の閾値以内の差分データを抽出し、その差分データから格子点データ(L*a*b*及び有彩無彩情報)503の補正量を決定する。その際に格子点データの有彩無彩情報を参照して、有彩色の時は有彩色の差分データを、無彩色の時は無彩色の差分データを用いて抽出処理を行う。ここで、抽出された差分データは複数個ある可能性があり、その中でも格子点データ(L*a*b*及び有彩無彩情報)503に対して距離が近いデータ、遠いデータが存在する。距離が近い差分データの影響を強く、距離が遠い差分データの影響を弱くするため、差分データに対して計算した距離を使って重みつき加算を行い、格子点補正量を決定する。ここで、一定の閾値以内に差分データが存在しない場合の補正量は0となる。
【0025】
次にステップS506にてコントローラ102は格子点補正量を格子点データ(L*a*b*及び有彩無彩情報)503に反映し、補正後格子点データ(L*a*b*)507として格納する。そして、ステップS508にてコントローラ102は全ての格子点データに対して処理を行ったか判定を行い、処理を行っていない場合は新しい格子点データをステップS502にて抽出して処理を繰り返す。全ての格子点を処理した場合はステップS509にてコントローラ102は補間演算処理を行う。全ての格子点データを処理している場合、格子点の数の分だけ補正後格子点データ(L*a*b*)S507が作成されている。このデータに対してL*a*b*→CMYの3D−LUT409を使って補間演算を行って新しいCMY値を算出する。このCMY値を元々の格子点データに対する出力値として格納し、L*a*b*→CMYの3D−LUT(補正後)410を作成する。以上のように格子点から一定の距離内にある差分データを参照して格子点の補正量を決定することで、少ないデータ数で多くの格子点データの補正量を決定することが可能となる。なお、本実施例の例に限らず、L*a*b*→CMYの3D−LUT409を補正する手法であればどのようなものであってもよい。
【0026】
次にステップS411の4次元LUTを作成する処理について、図6を用いて説明する。まず、ステップS601にてコントローラ102はCMYK均等データ602からCMY値を抽出する。ここでCMYK均等データの数は、CMYK→CMYKの4D−LUT414の格子点と同じ数であり、データの間隔も同じである。例えばCMYK→CMYKの4D−LUT811の格子点数が8×8×8×8=4096個の場合は、CMYK均等データ602の数は4096個となる。データが8ビット(0〜255)で表現される場合は、データの間隔は約36となる。次にステップS603にてコントローラ102はCMY→L*a*b*の3D−LUT412とL*a*b*→CMYの3D−LUT(補正後)410を用いて補間演算を行い、CMY値を決定する。まず、抽出されたCMY値からCMY→L*a*b*の3D−LUT412を用いて補間演算を実行してL*a*b*値を求める。次に先ほど算出したL*a*b*値からL*a*b*→CMYの3D−LUT(補正後)410を用いて補間演算を実行してCMY値を算出する。次に、ステップS604にてコントローラ102はCMYK均等データ602のKの値を抽出し、先ほど決定されたCMY値を組み合わせてCMYK値605を作成する。ここで抽出したK値はステップS601にて抽出されたCMY値に対応するものである。そしてステップS606にてコントローラ102はデバイス情報413を用いて載り量制限処理を行う。ここでデバイス情報413とはプリンタ115が適用可能なトナー量を数値で表現したものであり、本実施例では「載り量」と定義する。例えばCMYKの場合、単色の最大値を100%とすると最大で400%の信号値が設定できる。しかし、適用可能なトナーの総数が300%の場合の載り量は300%となる。
【0027】
CMYK値605はその組み合わせによっては規定の載り量を超える可能性があるため、既知のUCR処理等を行って載り量制限処理を行う。ここで、UCR処理とはCMYのトナーをKのトナーに置き換える処理のことである。一般に黒を表現する場合、CMYを等量用いて表現する手法とK単独で表現する手法が存在する。K単独で表現した場合、CMYで表現する場合に比べて濃度が低くなってしまうが載り量を少なくできるというメリットがある。そしてステップS607にてコントローラ102は純色化処理を行ってCMYK値(補正後)608を作成する。CMYK→CMYKの4D−LUT414で補正する際に、例えばC単色のデータはC単色で出力されることが理想である。それを実現するため、元となったCMYK均等データ602を参照して、純色データであった場合CMYK値を純色データに修正する。例えばCMYK均等データ602がC単色であるのにCMYK値(補正後)608にMの値が入っている場合はMの値を0にする。そしてステップS609にてコントローラ102はCMYK値(補正後)608をCMYK→CMYKの4D−LUT414に格納する。最後にステップS610にてコントローラ102はCMYK均等データ602を全て処理したかの判定を行い、全てのデータを処理していない場合は残りのCMYK均等データ602からCMY値を抽出して処理を繰り返す。全てのデータをした場合は処理を終了し、CMYK→CMYKの4D−LUT414が完成する。
【0028】
ここで、LUTの格子点の数については、本実施例の例に限らずどのようなものであってもよい。さらに、格子点数は例えばCMYK→CMYKの4D−LUT414でCとMの格子点数が異なるなど、特殊な構成のLUTでもよい。
【0029】
次にチャートデータ402を作成する際の従来の処理の流れを図7に示す。以下の処理はコントローラ102のCPU103の指示により行う。まず、ステップS701にてコントローラ102は記憶装置121に格納されている色差均等L*a*b*データ702からL*a*b*データ703を抽出する。色差均等L*a*b*データ702とはL*a*b*が表現するデータ範囲を一定の間隔で区切ったデータである。次にステップS704にてコントローラ102はL*a*b*データ703と記憶装置121に格納されているL*a*b*→CMYの3D−LUT409を用いて補間演算を行い、チャート候補データ(CMY)705を作成する。さらに次にステップS706にてコントローラ102はチャート候補データ(CMY)705において色域内外判定を行う。色域内判定手法の例を示す。チャート候補データ(CMY)705に対してCMY→L*a*b*の3D−LUT412を使って補間演算を行うことでL*a*b*値を算出する。そのL*a*b*値とL*a*b*データ703の差分が一定の閾値内にあるか否かを判定して、閾値内の場合は色域内と判定し、閾値外の場合は色域外と判定する。ステップS707にてコントローラ102は色域内のデータを抽出し、チャートデータ402として格納する。最後にステップS708にて全ての色差均等L*a*b*データを処理したかを判定し、処理した場合は終了する。処理していない場合はステップS701以降の処理を繰り返す。
【0030】
従来の処理の流れでチャートデータ402を作成した場合、図3の301〜304で示すセンサで読み込む際に問題が発生する。センサ301〜304は取り付け精度や個体差の影響により同じデータを読んでも測定結果が異なる可能性がある。特に混色を補正する4D−LUTの場合は測定結果の違いによる影響が顕著になる。図8、図9を用いて説明する。図8の構成図である801はステップS213の1D−LUT補正処理の構成を示している。C、M、Y、Kをそれぞれ個別の1D−LUTで変換してC’、M’、Y’、K’を作成する。そのため、Cのデータをセンサ301、Mのデータをセンサ302といったようにトナーの色ごと(1D−LUTごと)にセンサを割り当てればセンサ間で個体差があっても目標値との差分は発生するが、各色の階調性は保つことが可能である。
【0031】
図8の構成図である802はステップS212の4D−LUT補正処理の構成を示している。特定のCMYKの組み合わせである混色を1種類の4D−LUTで別のC’’、M’’、Y’’、K’’の混色に変換するため、トナーの色ごとにセンサを割り当てることが困難である。4D−LUT補正時にセンサの個体差があった場合の問題を図9の表901に示す。図9の表901は横軸を入力信号値、縦軸を濃度値としたグラフである。実際のセンサ読み値はL*a*b*値であるが、説明を容易にするため濃度値を使って例を示す。902は入力信号値に対する理想的な濃度値を示す。センサ301〜センサ304で個体差が無い場合は902のような特性となる。903はセンサの個体差が発生した場合の特性であり、904の範囲はセンサ301、905の範囲はセンサ302、906の範囲はセンサ303で読んだ場合の濃度値の例を示す。個体差は同じ傾向になるとは限らないので、理想的な濃度値よりも大きくなるケース、小さくなるケースが存在する。図9の例ではセンサ301は理想値よりも大きく、センサ302は理想値よりも小さく、センサ303は理想値よりも大きい。このような現象が起きると、データの連続性が失われて、階調性が保てずに階調ギャップ等の問題が発生し、画質の深刻な劣化を招く。
【0032】
図9の表907も横軸を入力信号値、縦軸を濃度値としたグラフである。908は入力信号値に対する理想的な濃度値を示す。表901と異なる点は、1つのセンサのみで読み込んだ場合の特性909を示していることである。910はセンサ301のみで読んだ場合の濃度値を示す。理想とする特性からは外れているが、1つのセンサで読んでいるため階調ギャップ等の深刻な問題は発生しない。本実施例は上記の特性に着目したものであり、チャートデータの特性を分析して分類することで深刻な画質劣化を防ぐことを目的とする。
【0033】
図10は本実施例におけるチャートデータ作成処理の流れを示した図である。以下の処理はコントローラ102のCPU103の指示により行う。ステップS1001にてコントローラ102は記憶装置121から1センサあたりの測定できるパッチ個数1002からパッチ(データ)個数を取得する。1枚の用紙に配置するパッチ数をなるべく多くして用紙の無駄を避けるため、図3に示すようにデータを配置し、全てのセンサが同一のパッチ個数を測定するように設定する。例えば、1枚の用紙にパッチが80個必要で、センサが4つある場合、1センサあたり20個のパッチを測定するよう設定する。そして、図3のセンサ301によってパッチの測定がされるように、読み取る紙の搬送方向に20個のパッチを並べる。他のセンサ302〜304に対しても同様に、20個のパッチデータの測定がセンサによりできるようにデータを並べる。このように、センサが測定を行えるチャートデータの作成を行う。
【0034】
次にステップS1003にてコントローラ102は記憶装置121から無彩色定義データ1004とCMY→L*a*b*の3D−LUT412を取得する。具体例を図11に示す。無彩色定義データ1004とは無彩色データの候補となるL*a*b*値である。図11の1101はCMY→L*a*b*の3D−LUT412から得られるプリンタ115が再現可能な色の範囲を示している。本来はL*a*b*の3次元情報で表すべきものだが、a*b*平面に投影している。a*が大きいほど赤色に、小さいほど緑色になる。また、b*が大きいほど黄色に、小さいほど青色になる。領域1102は無彩色領域を示し、a*及びb*が0に近い値である。次にステップS1005にて無彩色定義データ1004とCMY→L*a*b*の3D−LUT412を用いて無彩色データ(L*a*b*)の算出を行う。特にL*が明るすぎるデータや暗すぎるデータはプリンタ115が再現できないため、CMY→L*a*b*の3D−LUT412を用いてL*の観点で再現可能かを判定する。次にステップ1007にてコントローラ102は記憶装置121から色域分割定義データ1008とセンサの個数情報1009を用いて色域の分割を行う。
【0035】
例を図11に示す。1107及び1108は色域分割定義データ1008を示しており、本実施例ではa*b*平面における直線の式となっている。色域1101から無彩色領域1102を除いたデータに対して1107及び1108で4つの領域(黄色の領域1103、赤色の領域1104、青色の領域1105、緑色の領域1106)分割する。ここで4つの領域に分割するのはセンサの個数情報がセンサ301〜センサ304の4つのためである。色域分割定義データ1008は曲線等を示す複雑なデータであってもよい。
【0036】
次にステップ1007にてコントローラ102は記憶装置121から色差均等L*a*b*データ1011を読み出し、最も狭い分割後の色域を決定し、分割後色域情報1012を出力する。具体的には色差均等L*a*b*データ1011に対して黄色の領域1103、赤色の領域1104、青色の領域1105、緑色の領域1106に対して色域内外判定を行い、色域内のパッチの個数で判定を行う。分割後色域情報1012はセンサの数だけ個別に定義されており、最も狭い領域であるか否かの情報を持つ。
【0037】
ステップS1013にてコントローラ102は分割後色域情報1012を抽出する。そしてステップS1014にてコントローラ102は最も狭い分割色域か否かを判定する。狭い領域で無い場合はステップS1018にて分割後色域情報1012とL*a*b*→CMYの3D−LUT409と色差均等L*a*b*データ1016を用いてセンサ別チャートデータ1017を作成する。まず、色差均等L*a*b*データ1016に対して分割後色域情報1012を用いて色域内のL*a*b*データを抽出する。次に抽出されたL*a*b*データとL*a*b*→CMYの3D−LUT409を用いてチャートデータのCMY値を算出する。色差均等L*a*b*データ1016は間隔の異なるデータが複数用意されている。パッチの個数が1センサあたりのパッチ個数1002と合わない場合は、間隔の異なる色差均等L*a*b*データ1016を読み出し、決められたパッチ個数になるまで処理を繰り返す。ステップS1014で最も狭い分割領域であると判定された場合は、ステップS1015にてコントローラ102は無彩色データを考慮してセンサ別チャートデータ1017を作成する。具体的には、無彩色データ(L*a*b*)1006にて無彩色パッチの個数が決まっているため、それを含めて1センサあたりのパッチ個数となるように色域内のチャートデータを算出する。無彩色データは領域が限定されているため、有彩色データに比べてパッチ数が少なくなることが多い。そこで本実施例では最もデータの個数が少なくなる狭い色域が割り当てられるセンサに無彩色データを割り当てている。もちろん、無彩色単体で1つのセンサを割り当ててもよい。最後にステップS1019にて全ての分割領域のデータを決定したかを判定し、決定していない場合はステップS1013の処理を繰り返す。
【0038】
センサ別チャートデータ1017を用いて4D−LUTを作成する処理の流れを図12に示す。以下の処理はコントローラ102のCPU103の指示により行う。まず、コントローラ102は記憶装置121からセンサ別チャートデータ1017を読み出してプリンタへの出力指示を行い、チャート(センサ別)1202を出力する。チャート(センサ別)1202は、図11に示すようにチャートデータを色相ごとに分類し、各センサに割り当てたものである。次にステップS1203にてコントローラ102はセンサによる測定を行う。そしてステップS1204にてコントローラ102はセンサ別チャートデータ1017の情報を用いてデータを有彩色と無彩色に分類し、測色値1205を得る。ステップS407、ステップS411の処理は図4と同様であるため、説明を省略する。
【0039】
本実施例ではチャートデータを色相の観点で分類したが、例えば明度、彩度といった観点で分類してもよい。また、色相、明度、彩度の概念を組み合わせてもよい。例えば低明度部、低明度以外の高彩度部に対してそれぞれセンサを割り当て、低明度以外かつ高彩度以外の領域については色相で半分に分けてそれぞれセンサを割り当てる等の方法が考えられる。さらに、入力装置120等を用いて分類の観点を切り替えてもよい。また、本実施例では有彩色と無彩色を区別して処理を行っているが、区別しないで処理を行ってもよい。また、本実施例では4D−LUTを用いて混色を補正しているが、例えば混色の測定結果をマトリックスや1D−LUTに反映させるなど別の手段を用いてもよい。さらに、本実施例ではチャートデータの作成をコントローラ102が行ったが、予めPC等を用いて図10の処理を行い、センサ別チャートデータ1017を作成してもよい。
【0040】
また、本実施例ではL*a*b*やXYZ等のデバイスに依存しない色空間の値を用いたが、例えば、輝度値や反射率を取得して既知の手段でL*a*b*やXYZ等のデバイスに依存しない色空間の値に変換してもよい。
【0041】
本実施例により、複数のセンサから得られる測定値を用いて混色の補正をするシステムにおいて、センサの個体差があっても色域毎に濃度を測定するパッチを同一のセンサで測定するようにチャートデータを作成する。これにより、階調性等に関する画質への影響を減らして混色の補正を実施することが可能になる。
【実施例2】
【0042】
次に色域を分割する際にマージン領域を設ける場合の実施例について説明する。実施例1ではセンサの個数やデバイスの色域情報を用いてセンサ別チャートデータを算出し、それを用いて4D−LUTを作成する処理の流れを説明した。本実施例ではさらにマージン領域を用いた場合の例について説明する。
【0043】
マージン領域を用いてセンサ別チャートデータを作成する処理の流れを図13に示す。以下の処理はコントローラ102のCPU103の指示により行う。
【0044】
マージン領域について図14を用いて説明する。図14は図11にマージン領域を加えたものである。マージン領域は領域間に設定され、マージン領域1401、マージン領域1402、マージン領域1403、マージン領域1404が該当する。例えばマージン領域1401は黄色の領域1103と緑色の領域1106の間にある。黄色の領域1103を担当するセンサと緑色の領域1106を担当するセンサの両方でマージン領域1401のパッチの測定を行い、平均化することでセンサの個体差による領域間のギャップを減らせるため、画質の劣化をさらに防ぐことが可能になる。
【0045】
まず、ステップS1001〜S1013の処理は図10の処理と同様であるため説明を省略する。ただし、色域分割定義データ1301は図14で示すマージン領域を含むため、実施例1に比べて広い色域となり、色域間での重なりが発生する。例えば黄色の領域1103の場合は、マージン領域1401とマージン領域1402を含めて1つの色域とする。赤色の領域1104の場合は、マージン領域1402とマージン領域1403を含めて1つの色域とする。青色の領域1104の場合は、マージン領域1403とマージン領域1404を含めて1つの色域とする。緑色の領域1106の場合は、マージン領域1404とマージン領域1401を含めて1つの色域とする。同様に分割後色域情報1302もマージン領域を含んだものとなる。具体的には色差均等L*a*b*データ1011に対してマージン領域を含む各色域に対して色域内外判定を行い、色域内のパッチの個数で判定を行う。分割後色域情報1012はセンサの数だけ個別に定義されており、最も狭い領域であるか否かの情報を持つ。
【0046】
ステップS1303においてコントローラ102は記憶装置121からステップS1013で抽出した分割色域情報を用いて対応するマージン領域のL*a*b*データ1304を取得する。図14の例では黄色の領域1103の場合はマージン領域1401、マージン領域1402に設定されているL*a*b*値を取得する。そして図10と同様にステップS1014にてコントローラ102はステップS1013で抽出した色域情報を判定する。最も狭い分割色域で無い場合はステップS1306にて分割後色域情報1012とL*a*b*→CMYの3D−LUT409と色差均等L*a*b*データ1016を用いてセンサ別チャートデータ1307を算出する。センサ別チャートデータ1307はマージン情報であるか否かの情報を持つ。まず、色差均等L*a*b*データ1016及び抽出したマージン領域のL*a*b*データに対して分割後色域情報1012を用いて色域内のL*a*b*データを抽出する。次に抽出されたL*a*b*データとL*a*b*→CMYの3D−LUT409を用いてチャートデータのCMY値を算出する。色差均等L*a*b*データ1016は間隔の異なるデータが複数用意されている。データの個数が1センサあたりのパッチ個数1002と合わない場合は、間隔の異なる色差均等L*a*b*データ1016を読み出し、決められた個数になるまで処理を繰り返す。ステップS1014で最も狭い分割領域であると判定された場合は、ステップS1305にてステップS1306の処理に加えて無彩色を考慮した処理を行い、センサ別チャートデータ1307を算出する。無彩色を考慮した処理については図10のステップS1015と同様であるため、省略する。
【0047】
次にマージン情報を含むセンサ別チャートデータ1305を用いて4D−LUTを作成する処理の流れを図15に示す。以下の処理はコントローラ102のCPU103の指示により行う。まず、コントローラ102は記憶装置121からマージン情報を含むセンサ別チャートデータ1305を読み出してプリンタへの出力指示を行い、チャート(マージンあり)1502を出力する。チャート(センサ別)1502は、図14に示すようにチャートデータを色相ごとに分類し、各センサに割り当てたものに加え、マージン情報のデータを持つ。マージン情報のデータは図14の領域1401〜1404に該当し、異なるセンサに割り当てられた同じ信号値を持つデータである。次にステップS1503にてコントローラ102はセンサによる測定を行う。そしてステップS1504にてコントローラ102はマージン情報を含むセンサ別チャートデータ1305の情報を用いてデータを有彩色と無彩色に分類し、測色値1205を得る。次にステップS1505にてコントローラ102はマージン情報を含むセンサ別チャートデータ1305を用いてマージン領域のデータを抽出して平均化処理を行い、平均化後測色値1506を得る。ステップS407、ステップS411の処理は図4と同様であるため、説明を省略する。マージン領域を平均化することで、分割した色域の境界部で発生する階調段差を減らすことが可能となり、画質の劣化を少なくすることができる。本実施例の方法によらず、マージン領域の設定方法はどのようなものであってもよい。また、全ての領域に対してマージン領域を定めなくてもよい。また、本実施例では有彩色と無彩色を区別して処理を行っているが、区別しないで処理を行ってもよい。
【0048】
本実施例により、複数のセンサから得られる測定値を用いて混色を補正するシステムにおいて、センサの個体差があっても階調性等に関する画質への影響を減らして混色の補正を実施することが可能になる。さらに本実施例により、マージン領域を定めることでセンサの個体差による画質への影響をさらに少なくすることが可能になる。
【実施例3】
【0049】
次にチャートデータの間隔を均等にした場合の実施例について説明する。先の実施例では領域ごとにセンサに割り当てられた個数分のチャートデータを算出するため、チャートデータのL*a*b*空間における間隔が均等にならなくなる可能性がある。L*a*b*空間における間隔の均等性が大きく崩れると、混色の補正の効果が色域によって変わる可能性がある。実施例3ではチャートデータのL*a*b*空間における間隔の均等性を維持しながらセンサ別のチャートデータを算出する場合の処理の流れについて説明する。
【0050】
チャートデータのL*a*b*空間における間隔の均等性を維持しながらセンサ別のチャートデータを算出する場合の処理の流れを図16に示す。以下の処理はコントローラ102のCPU103の指示により行う。ステップS701〜ステップS708は図7と同様であるため、説明を省略する。作成されたチャートデータ402はL*a*b*空間において色差が均等なデータとなる。
【0051】
ステップS1601にてコントローラ102は無彩色定義データ1603とCMY→L*a*b*の3D−LUT412を用いて無彩色データの算出を行い、チャートデータ(有彩色、無彩色)1604を算出する。無彩色定義データ1603は図10の無彩色定義データ1004と同様である。次にCMY→L*a*b*の3D−LUT412、センサの個数情報1606、色域分割定義データ1607を用いてチャートデータ(有彩色、無彩色)1604を分割し、センサ別チャートデータ1608を得る。具体的には、CMY→L*a*b*の3D−LUT412と色域分割定義データ1607を用いてチャートデータ(有彩色、無彩色)1604を分割する。他の実施例と同様に無彩色のデータは最も色域の狭いデータに割り当てる。色域分割定義データ1607は複数種類用意されており、チャートデータが均等な個数にならない場合は異なる色域分割定義データを用いて処理を繰り返す。本実施例ではチャートデータが均等になることを終了の条件にしているが、例えばダミーのデータを用いるなどしてもよい。また、本実施例では有彩色と無彩色を区別して処理を行っているが、区別しないで処理を行ってもよい。さらに、実施例では説明を省略したが、実施例2のようにマージン領域を定めてもよい。
【0052】
4D−LUTを作成する処理の流れは図12と同じであるため説明を省略する。
【0053】
本実施例により、複数のセンサから得られる測定値を用いて混色を補正するシステムにおいて、センサの個体差があっても画質への影響を減らして補正を実施することが可能になる。さらに本実施例により、チャートデータのL*a*b*空間における間隔の均等性を維持しながらセンサ別のチャートデータを算出することが可能となるため、混色の補正効果を色域に依らずに均一にすることが可能となる。
【0054】
(その他の実施例)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
色域の情報を取得する手段と、
前記取得した色域を分割する色域分割手段と、
前記分割された色域毎に測定に用いられるパッチを決定する決定手段と、
色を補正するため、前記決定手段により決定された色域毎に測定に用いられるパッチを、同一のセンサで測定するようにチャートデータを作成するチャートデータ作成手段と
を有することを特徴とする画像処理装置。
【請求項2】
前記測定を行うセンサの数に関する情報を取得する手段と、
前記センサにより測定されるパッチの数に関する情報を取得する手段と、
前記色域分割手段は、前記色域を前記取得したセンサの数に関する情報を用いて分割し、
該分割された色域と前記取得したパッチの数に関する情報を用いて、前記センサそれぞれに対応した色を補正するためのチャートデータを作成する手段と、
を有することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記センサの数に関する情報を用いて色域を分割する際は、センサの数とは別に無彩色領域を決定することを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記チャートデータを作成する手段は、前記分割された色域の中で無彩色領域を含まない最も狭い色領域を決定し、該色領域には、無彩色領域のパッチも含めてパッチが予め決められた個数になるように制御することを特徴とする請求項1記載の画像処理装置。
【請求項5】
前記センサの数に関する情報を用いて色域を分割する際は色域の境界にマージンを設定して領域を分割することを特徴とする請求項1記載の画像処理装置。
【請求項6】
前記色域の境界に設定されたマージンにあるパッチに関しては前記補正を実行する際に、異なる色領域で取得された値の平均が用いられることを特徴とする請求項5記載の画像処理装置。
【請求項7】
前記色域分割手段にて前記センサの数に関する情報を用いて色域を分割する際は、色相または明度または彩度のうち1つ以上の情報を用いることで前記色域を分割することを特徴とする請求項1記載の画像処理装置。
【請求項8】
前記センサの数に関する情報を用いて色域を分割する手段は、前記作成されたチャートデータが色差均等になるように前記色域を分割することを特徴とする請求項1記載の画像処理装置。
【請求項9】
前記センサを用いて前記作成されたチャートデータを測定する際には、前記パッチを有彩色と無彩色に分類して測定値を得ることを特徴とする請求項1記載の画像処理装置。
【請求項10】
色域の情報を取得するステップと、
前記取得した色域を分割する色域分割ステップと、
前記分割された色域毎に測定に用いられるパッチを決定する決定ステップと、
色を補正するため、前記決定ステップにより決定された色域毎に測定に用いられるパッチを同一のセンサで測定するようにチャートデータを作成するチャートデータ作成ステップとを有することを特徴とする画像処理方法。
【請求項11】
前記測定を行うセンサの数に関する情報を取得するステップと、
前記センサにより測定されるパッチの数に関する情報を取得するステップと、
前記色域分割ステップは、前記色域を前記取得したセンサの数に関する情報を用いて分割し、
前記分割された色域と前記取得したパッチの数に関する情報を用いて、前記センサそれぞれに対応した色を補正するためのチャートデータを作成するステップと、
を有することを特徴とする請求項10に記載の画像処理方法。
【請求項12】
前記センサの数の情報に関する情報を用いて色域を分割する際は、センサの数とは別に無彩色領域を決定することを特徴とする請求項10に記載の画像処理方法。
【請求項13】
前記チャートデータを作成するステップは、前記分割された色域の中で無彩色領域を含まない最も狭い色領域を決定し、該色領域には、無彩色領域のパッチも含めてパッチが予め決められた個数になるように制御することを特徴とする請求項10記載の画像処理方法。
【請求項14】
前記センサの数に関する情報を用いて色域を分割する際は色域の境界にマージンを設定して領域を分割することを特徴とする請求項10記載の画像処理方法。
【請求項15】
前記色域の境界に設定されたマージンにあるパッチに関しては前記補正を実行する際に、異なる色領域で取得された値の平均が用いられることを特徴とする請求項14記載の画像処理方法。
【請求項16】
前記色域分割ステップにて前記センサの数の情報を用いて色域を分割する際は、色相または明度または彩度のうち1つ以上の情報を用いることで前記色域を分割することを特徴とする請求項10記載の画像処理方法。
【請求項17】
前記センサの数に関する情報を用いて色域を分割するステップは、前記作成されたチャートデータが色差均等になるように前記色域を分割することを特徴とする請求項10記載の画像処理方法。
【請求項18】
前記センサを用いて前記作成されたチャートデータを測定する際には、前記パッチを有彩色と無彩色に分類して測定値を得ることを特徴とする請求項10記載の画像処理方法。
【請求項19】
請求項18に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【請求項1】
色域の情報を取得する手段と、
前記取得した色域を分割する色域分割手段と、
前記分割された色域毎に測定に用いられるパッチを決定する決定手段と、
色を補正するため、前記決定手段により決定された色域毎に測定に用いられるパッチを、同一のセンサで測定するようにチャートデータを作成するチャートデータ作成手段と
を有することを特徴とする画像処理装置。
【請求項2】
前記測定を行うセンサの数に関する情報を取得する手段と、
前記センサにより測定されるパッチの数に関する情報を取得する手段と、
前記色域分割手段は、前記色域を前記取得したセンサの数に関する情報を用いて分割し、
該分割された色域と前記取得したパッチの数に関する情報を用いて、前記センサそれぞれに対応した色を補正するためのチャートデータを作成する手段と、
を有することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記センサの数に関する情報を用いて色域を分割する際は、センサの数とは別に無彩色領域を決定することを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記チャートデータを作成する手段は、前記分割された色域の中で無彩色領域を含まない最も狭い色領域を決定し、該色領域には、無彩色領域のパッチも含めてパッチが予め決められた個数になるように制御することを特徴とする請求項1記載の画像処理装置。
【請求項5】
前記センサの数に関する情報を用いて色域を分割する際は色域の境界にマージンを設定して領域を分割することを特徴とする請求項1記載の画像処理装置。
【請求項6】
前記色域の境界に設定されたマージンにあるパッチに関しては前記補正を実行する際に、異なる色領域で取得された値の平均が用いられることを特徴とする請求項5記載の画像処理装置。
【請求項7】
前記色域分割手段にて前記センサの数に関する情報を用いて色域を分割する際は、色相または明度または彩度のうち1つ以上の情報を用いることで前記色域を分割することを特徴とする請求項1記載の画像処理装置。
【請求項8】
前記センサの数に関する情報を用いて色域を分割する手段は、前記作成されたチャートデータが色差均等になるように前記色域を分割することを特徴とする請求項1記載の画像処理装置。
【請求項9】
前記センサを用いて前記作成されたチャートデータを測定する際には、前記パッチを有彩色と無彩色に分類して測定値を得ることを特徴とする請求項1記載の画像処理装置。
【請求項10】
色域の情報を取得するステップと、
前記取得した色域を分割する色域分割ステップと、
前記分割された色域毎に測定に用いられるパッチを決定する決定ステップと、
色を補正するため、前記決定ステップにより決定された色域毎に測定に用いられるパッチを同一のセンサで測定するようにチャートデータを作成するチャートデータ作成ステップとを有することを特徴とする画像処理方法。
【請求項11】
前記測定を行うセンサの数に関する情報を取得するステップと、
前記センサにより測定されるパッチの数に関する情報を取得するステップと、
前記色域分割ステップは、前記色域を前記取得したセンサの数に関する情報を用いて分割し、
前記分割された色域と前記取得したパッチの数に関する情報を用いて、前記センサそれぞれに対応した色を補正するためのチャートデータを作成するステップと、
を有することを特徴とする請求項10に記載の画像処理方法。
【請求項12】
前記センサの数の情報に関する情報を用いて色域を分割する際は、センサの数とは別に無彩色領域を決定することを特徴とする請求項10に記載の画像処理方法。
【請求項13】
前記チャートデータを作成するステップは、前記分割された色域の中で無彩色領域を含まない最も狭い色領域を決定し、該色領域には、無彩色領域のパッチも含めてパッチが予め決められた個数になるように制御することを特徴とする請求項10記載の画像処理方法。
【請求項14】
前記センサの数に関する情報を用いて色域を分割する際は色域の境界にマージンを設定して領域を分割することを特徴とする請求項10記載の画像処理方法。
【請求項15】
前記色域の境界に設定されたマージンにあるパッチに関しては前記補正を実行する際に、異なる色領域で取得された値の平均が用いられることを特徴とする請求項14記載の画像処理方法。
【請求項16】
前記色域分割ステップにて前記センサの数の情報を用いて色域を分割する際は、色相または明度または彩度のうち1つ以上の情報を用いることで前記色域を分割することを特徴とする請求項10記載の画像処理方法。
【請求項17】
前記センサの数に関する情報を用いて色域を分割するステップは、前記作成されたチャートデータが色差均等になるように前記色域を分割することを特徴とする請求項10記載の画像処理方法。
【請求項18】
前記センサを用いて前記作成されたチャートデータを測定する際には、前記パッチを有彩色と無彩色に分類して測定値を得ることを特徴とする請求項10記載の画像処理方法。
【請求項19】
請求項18に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2013−16914(P2013−16914A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2011−146502(P2011−146502)
【出願日】平成23年6月30日(2011.6.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願日】平成23年6月30日(2011.6.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]