(57)【特許請求の範囲】
【請求項１】
デバイス依存の色データから第一の色度データを算出する第一の算出手段と、
テーブルを参照して、前記第一の色度データを第二の色度データに変換する変換手段と、
前記テーブルを参照して、前記デバイス依存の色データからデバイス非依存の色データの総和量を算出する第二の算出手段と、
前記総和量を用いて、前記第二の色度データから前記デバイス非依存の色データを算出する第三の算出手段とを有する色処理装置。
【請求項２】
前記第二の算出手段は、前記テーブルに記録された前記第一の色度データに対応する補正係数と前記デバイス依存の色データの総和の乗算によって、前記総和量を算出する請求項1に記載された色処理装置。
【請求項３】
前記補正係数は、同一色に対する前記デバイス依存の色データの総和と前記デバイス非依存の色データの総和の比に相当する請求項2に記載された色処理装置。
【請求項４】
前記テーブルは、前記第一の色度データに対応する、前記第二の色度データおよび前記補正係数が記録された二要素入力、三出力のテーブルである請求項2または請求項3に記載された色処理装置。
【請求項５】
前記第二の算出手段は、前記テーブルに記録された前記第一の色度データに対応する係数を用いる、前記デバイス依存の色データの各値の線形和によって、前記総和量を算出する請求項1に記載された色処理装置。
【請求項６】
前記総和量の算出に必要な情報が前記テーブルに記録されていない場合、前記第二の算出手段は、前記デバイス依存の色データの総和を前記総和量として出力する請求項1から請求項5の何れか一項に記載された色処理装置。
【請求項７】
画像入力デバイスから前記デバイス依存の色データを入力する入力手段を有する請求項1から請求項6の何れか一項に記載された色処理装置。
【請求項８】
前記デバイス非依存の色データを記憶装置に出力する出力手段を有する請求項1から請求項7の何れか一項に記載された色処理装置。
【請求項９】
前記デバイス依存の色データは三次元のRGBデータ、前記第一の色度データは二次元のrg色度データ、前記第二の色度データは二次元のxy色度データ、前記デバイス非依存の色データは三次元のXYZデータである請求項1から請求項7の何れか一項に記載された色処理装置。
【請求項１０】
デバイス依存の色データから第一の色度データを算出し、
テーブルを参照して、前記第一の色度データを第二の色度データに変換し、
前記テーブルを参照して、前記デバイス依存の色データからデバイス非依存の色データの総和量を算出し、
前記総和量を用いて、前記第二の色度データから前記デバイス非依存の色データを算出する色処理方法。
【請求項１１】
コンピュータを請求項1から請求項9の何れか一項に記載された色処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像入力デバイスから入力される画像データの色変換処理に関する。
【背景技術】
【０００２】
ディジタルカメラに代表される画像入力機器の分光感度特性は、一般に、人間の視覚の分光特性（等色関数）とは一致しない。画像入力機器によって取得された画像データのRGB値は、画像入力機器の特性に依存した値である。そのため、デバイス依存の色信号であるRGB値（以下、デバイスRGB値）を、デバイス非依存の色信号である三刺激値（XYZ値）、あるいは、sRGB空間やAdobeRGB空間などの標準的なRGB値に変換する必要がある。
【０００３】
マトリクス演算により、デバイスRGB値を三刺激値に変換する方法が知られているが、マトリクス演算処理によれば、とくに高彩度色の高精度な変換が得られず、色変換精度が低下する。そこで、特許文献1は、デバイスRGB値からXYZ値への変換を、マトリクス演算ではなくルックアップテーブル(LUT)演算により行い、可視光全域において高精度な色変換処理を行う発明を開示する。
【０００４】
特許文献1の発明は、色変換に用いるLUTを作成するために、可視光範囲の全体を格子分割し、各格子点に対応する分光データを生成する。その後、各格子点の分光データに対する、デバイスRGB値とXYZ値を算出して、デバイスRGB値とXYZ値の対応を示すLUTを形成する。このLUTは二次元の入出力形式であり、特許文献1の発明は、三次元の色情報（RGB値）を二次元の色度情報p=R/(R+G+B)、q=G/(R+G+B)に変換し、色度情報pqを当該LUTに入力して二次元のxy色度データを得る。そして、xy色度データを用いて三刺激値（XYZ値）を算出する。
【０００５】
xy色度データからXYZ値への変換には、本来、変換係数として(X+Y+Z)によって算出される値を必要とする。特許文献1の発明は、当該変換係数の代替として(R+G+B)によって算出される値を用いてXYZ値を算出するため、XYZ値の算出精度が高いとは言えない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開2013/101639号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、デバイス依存の色データを色度データに変換し、デバイス非依存の色データに変換する際の色再現精度の向上を目的とする。
【課題を解決するための手段】
【０００８】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【０００９】
本発明にかかる色処理装置は、デバイス依存の色データから第一の色度データを算出する第一の算出手段と、テーブルを参照して、前記第一の色度データを第二の色度データに変換する変換手段と、前記テーブルを参照して、前記デバイス依存の色データからデバイス非依存の色データの総和量を算出する第二の算出手段と、前記総和量を用いて、前記第二の色度データから前記デバイス非依存の色データを算出する第三の算出手段とを有する。
【発明の効果】
【００１０】
本発明によれば、デバイス依存の色データを色度データに変換し、デバイス非依存の色データに変換する際の色再現精度が向上する。
【図面の簡単な説明】
【００１１】
【図１】実施例1の色処理装置の処理構成例を示すブロック図。
【図２】色処理装置における色変換処理を説明するフローチャート。
【図３】二つのパラメータλ1、λ2を変化させた場合の分光分布を示す図。
【図４】可視域全域のrg色度データとxy色度データとの対応関係例を示す図。
【図５】実施例2の色処理装置の処理構成例を示すブロック図。
【図６】実施例2の色変換処理を説明するフローチャート。
【図７】色処理装置のハードウェア構成例を示すブロック図。
【発明を実施するための形態】
【００１２】
以下、本発明にかかる実施例の画像処理装置（色処理装置）および画像処理方法（色処理方法）を図面を参照して詳細に説明する。なお、実施例は特許請求の範囲にかかる本発明を限定するものではなく、また、実施例において説明する構成の組み合わせのすべてが本発明の解決手段に必須とは限らない。
【実施例１】
【００１３】
［装置の構成］
図1のブロック図により実施例1の色処理装置11の処理構成例を示す。色処理装置11は、ルックアップテーブル(LUT)記憶部13が記憶するLUTに基づき、画像取得装置12から入力される画像データの色変換処理を行い、色変換処理によって得られる画像データを例えば記憶装置14に格納する。
【００１４】
色処理装置11において、入力部111は、ディジタルカメラやスキャナなどの画像入力デバイスである画像取得装置12から画像データ（RGBデータ）を入力する。入力色データ取得部112は、入力された画像データの各画素の、デバイス依存の三次元の色データ（以下、入力色データ）を取得する。入力色度データ算出部113は、入力色データから二次元の色度データ（以下、入力色度データ）を算出する。色度データ変換部114は、LUT記憶部13が記憶するLUTに基づき、入力色度データを出力色度データに変換する。
【００１５】
総和量算出部115は、入力色データに基づき、後述する出力データの総和量（以下、出力総和量）を算出する。出力色データ算出部116は、出力色度データと出力総和量を用いて、デバイス非依存の出力色データを算出する。出力部117は、出力色データに基づく画像データ（以下、出力画像データ）を例えば記憶装置14に格納する。
【００１６】
図7のブロック図により色処理装置11のハードウェア構成例を示す。マイクロプロセッサ(CPU)201は、ランダムアクセスメモリ(RAM)202をワークメモリとして、記憶部203に格納されたプログラムを実行し、図1に示す処理構成を実現する。記憶部203は、リードオンリメモリ(R0M)、フラッシュメモリなどで構成され、オペレーティングシステム(OS)や処理構成を実現するためのプログラムなどが格納される。
【００１７】
メディアインタフェイス204は、例えば、USBなどのシリアルバスインタフェイスやメモリカードホストコントローラなどであり、USBメモリやメモリカードとして提供されるLUT記憶部13の接続用に使用される。入力インタフェイス205は、例えば、USB、SATA、PCIe、SDI、MIPI（登録商標）などのインタフェイスであり、ディジタルカメラやスキャナなどの画像取得装置12からの画像データの入力に使用される。
【００１８】
出力インタフェイス206は、USB、SATA、メモリカードホストコントローラなどのインタフェイスである。出力インタフェイス206は、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、USBメモリ、メモリカードなどの記録媒体である記憶装置14への画像データの出力に使用される。CPU201は、システムバス207を介して各インタフェイスを制御し、画像データの入出力やLUTの参照を行う。
【００１９】
なお、LUT記憶部13と記憶装置14は一体として提供されてもよい。また、色処理装置11と、画像取得装置12、LUT記憶部13および記憶装置14の間の接続には有線または無線ネットワークを用いることができる。ネットワークを使用する場合、LUT記憶部13と記憶装置14は、ネットワーク上のサーバ装置として提供されてもよい。また、出力部117の出力先として記憶装置14の代わりにモニタを使用する場合、出力インタフェイス206としてSDI、HDMI（登録商標）、DisplayPortなども使用することができる。
【００２０】
［色変換処理］
図2のフローチャートにより色処理装置11における色変換処理を説明する。入力部111は、画像取得装置12から画像データを入力する(S21)。入力色データ取得部112は、入力された画像データの各画素の三次元の色データRGBを入力色データとして取得する(S22)。
【００２１】
次に、入力色度データ算出部113は、入力色度データとして、下式により入力色データから入力色度データrgを算出する(S23)。
r = R/(R + G + B)；
g = G/(R + G + B)；      …(1)
【００２２】
次に、色度データ変換部114は、LUT記憶部13に記憶されたLUTを参照する補間演算を用いる入力色度データrgから出力色度データxyの算出により、入力色度データrgを出力色度データxyに変換する(S24)。つまり、LUTには、入力色度データrgに対応する出力色度データxyが記録されている。総和量算出部115は、詳細は後述するが、入力色度データrgに基づき、入力色データRGBから出力総和量Σ'XYZを算出する(S25)。
【００２３】
次に、出力色データ算出部116は、出力色度データxyおよび出力総和量Σ'XYZを用いて、下式により出力色データXYZを算出する(S26)。
X = xΣ'XYZ；
Y = yΣ'XYZ；
Z = (1 - x -y)Σ'XYZ；      …(2)
【００２４】
次に、出力部117は、出力色データXYZに基づき生成した出力画像データ（XYZデータ）を例えば記憶装置14に格納する(S27)。
【００２５】
［LUTの作成］
分光分布を示す矩形形状を二つのパラメータで表すことを考える。波長λ1において放射輝度が0から1に変化し、波長λ2において放射輝度が1から0に変化すると仮定すると、任意の分光分布を二つのパラメータ（波長λ1、λ2）によって表すことができる。
【００２６】
図3により二つのパラメータλ1、λ2を変化させた場合の分光分布を示す。λ1＜λ2の場合は図3(a)(b)に示すようなバンドパス形状の分光分布になり、λ1＞λ2の場合は図3(c)(d)に示すようなバンドエリミネーション形状の分光分布になる。図3に示す形状を有する分光データを以下では「矩形分光データ」と呼ぶことにする。矩形分光データIλ1λ2(λ)は次式で表すことができる。
if (λ1＜λ2) {
if (λ1≦λ≦λ2)
Iλ1λ2(λ) = 1；
else
Iλ1λ2(λ) = 0；
}
if (λ1≧λ2) {
if (λ2＜λ＜λ1)
Iλ1λ2(λ) = 0；
else
Iλ1λ2(λ) = 1；
}                                    …(3)
【００２７】
矩形分光データIλ1λ2(λ)の三刺激値Xλ1λ2Yλ1λ2Zλ1λ2は下式によって算出される。
Xλ1λ2 = k∫visIλ1λ2(λ)x(λ)dλ；
Yλ1λ2 = k∫visIλ1λ2(λ)y(λ)dλ；
Zλ1λ2 = k∫visIλ1λ2(λ)z(λ)dλ：      …(4)
ここで、∫visdλは可視波長範囲の積分、
k = 100/∫visy(λ)dλ、
x(λ)y(λ)z(λ)は等色関数。
【００２８】
また、矩形分光データIλ1λ2(λ)を画像取得装置12により取得する場合の撮像デバイスの出力値Rλ1λ2Gλ1λ2Bλ1λ2は下式によって算出される。
Rλ1λ2 = ∫visIλ1λ2(λ)r(λ)dλ；
Gλ1λ2 = ∫visIλ1λ2(λ)g(λ)dλ；
Bλ1λ2 = ∫visIλ1λ2(λ)b(λ)dλ：      …(5)
ここで、r(λ)g(λ)b(λ)は撮像デバイスの分光感度特性。
【００２９】
式(5)により算出されるRGB値Rλ1λ2Gλ1λ2Bλ1λ2を、式(1)を用いてrg色度データrλ1λ2gλ1λ2に変換する。さらに、式(4)により算出されるXYZ値Xλ1λ2Yλ1λ2Zλ1λ2を、下式を用いてxy色度データxλ1λ2yλ1λ2に変換する。
xλ1λ2 = Xλ1λ2/(Xλ1λ2 + Yλ1λ2 + Zλ1λ2)；
yλ1λ2 = Yλ1λ2/(Xλ1λ2 + Yλ1λ2 + Zλ1λ2)；      …(6)
【００３０】
こうして得られるrg色度データrλ1λ2gλ1λ2およびxy色度データxλ1λ2yλ1λ2を、矩形分光データIλ1λ2(λ)に対応するrg色度データ（入力）とxy色度データ（出力）の対応関係としてLUTに記録する。その際、二つのパラメータ（λ1、λ2）を等間隔（例えば5nm間隔）に変化させて、矩形分光データIλ1λ2(λ)の特性を変化させることにより、可視域全域のrg色度データとxy色度データとの対応関係が得られる。
【００３１】
図4により可視域全域のrg色度データ（図4(a)）とxy色度データ（図4(b)）との対応関係例を示す。図4に示す対応関係を記録したLUTを用いれば、当該LUTを参照する補間演算により、任意の入力色度データrgに対応する出力色度データxyの算出が可能になる。
【００３２】
［出力総和量の算出］
xy色度データを三刺激値XYZに変換するには下式の変換が必要になる。
X = xΣXYZ = x(X + Y + Z)；
Y = yΣXYZ = y(X + Y + Z)；
Z = zΣXYZ = (1 - x - y)(X + Y + Z)；      …(7)
【００３３】
特許文献1の発明は、XYZ値が未知であるため、出力総和量ΣXYZ=(X+Y+Z)も未知である。そこで、出力総和量ΣXYZの代替として、ΣRGB=(R+G+B)により算出される値を変換係数（以下、入力総和量）に用いて下式によりXYZ値を算出する。
X = xΣRGB；
Y = yΣRGB；
Z = (1 - x - y)ΣRGB；      …(8)
【００３４】
画像取得装置12の撮像デバイスの分光感度特性がルータ条件（r(λ)g(λ)b(λ)=x(λ)y(λ)z(λ)）を満す場合はΣXYZ=ΣRGBになり、正確な三刺激値が算出される。しかし、一般的な撮像デバイスの分光感度特性はルータ条件を満たさず、ΣXYZ≠ΣRGBになり、その結果、算出される三刺激値に誤差が生じる。
【００３５】
そこで、実施例においては、下式に示す補正係数gainによる補正を入力総和値ΣRGBに施すことにより、出力総和量Σ'XYZを算出する。
Σ'XYZ = gain・ΣRGB      …(9)
【００３６】
この補正により、Σ'XYZ≒ΣXYZになり、xy色度データから三刺激値XYZへの変換を高精度に行うことが可能になる。式(9)による補正を行うため、LUTを作成する際、ある色を測色計などを用いて測定して得たXmYmZm値と、同一色に対して画像取得装置12が出力するRmGmBm値の関係から下式により補正係数gainを算出する。
gain = (Xm + Ym + Zm)/(Rm + Gm + Bm)；
r = Rm/(Rm + Gm + Bm)；
g = Gm/(Rm + Gm + Bm)；              …(10)
【００３７】
つまり、補正係数gainは、同一色に対するデバイス依存の色データRGBとデバイス非依存の色データXYZの比を示す。補正係数gainとrg色度データを対応付けてLUTの出力値に付加することにより、rg二要素入力、xyとgain三出力のLUTに拡張する。これにより、入力色度データrgに対する補正係数gainの取得が可能になる。なお、LUTに記録されたrg色度データと入力色度データrgが一致しない場合、補間演算によって入力色度データrgに対応する補正係数gainを算出することは言うまでもない。
【００３８】
出力総和量Σ'XYZの算出方法は、式(9)に示す補正係数gainと入力総和量ΣRGBの乗算に限定されない。例えば、式(11)に示すRGB値の線形和による算出方法でもよいし、式(12)に示す非線形項まで用いる多項式による算出方法でもよい。
Σ'XYZ = aR + bG + cB + d；      …(11)
Σ'XYZ = aR2 + bG2 + cB2
+ dR + eG + fB
+ gRG + hGB +iBR
+ j                      …(12)
【００３９】
なお、式(11)(12)において、係数a-dまたは係数a-jはrg色度データに対応付けてLUTの出力値に付加される。言い替えれば、変換係数ΣRGBに比べて、補正結果であるΣ'XYZが(X+Y+Z)に近付く補正方法であればよく、その補正方法は限定されない。
【００４０】
［出力色データ算出部］
上記の説明から明らかなように、出力色データ算出部116は、下式により出力色度データxyから三刺激値XYZを算出する。
X = xΣ'XYZ = x・gain・ΣRGB；
Y = yΣ'XYZ = y・gain・ΣRGB；
Z = (1 - x - y)Σ'XYZ = (1 - x - y)・gain・ΣRGB；      …(13)
【００４１】
このように、二次元LUTを用いて色度データrgから色度データxyを算出し、色度データxyから三刺激値XYZを算出する。その際、xy値をXYZ値に変換するための変換係数ΣXYZとしてΣRGBを補正したΣ'XYZを用いることにより、XYZ値の算出精度、つまり色再現精度が向上する。
【実施例２】
【００４２】
以下、本発明にかかる実施例2の画像処理装置（色処理装置）および画像処理方法（色処理方法）を説明する。なお、実施例2において、実施例1と略同様の構成については、同一の符号を付して、その詳細な説明を省略する場合がある。実施例2においては、実施例1において説明した色変換処理に、出力総和量Σ'XYZの算出に必要な情報の有無を判断し、判断結果に基づき色変換処理を制御する機能を加えた例を説明する。
【００４３】
図5のブロック図により実施例2の色処理装置11の処理構成例を示す。図5に示す色処理装置11の構成は、図1に示す処理構成に加えて、出力総和量Σ'XYZの算出に必要な情報が、LUT記憶部13が記憶するLUTに含まれるか否かを判定する判定部121を備える。
【００４４】
図6のフローチャートにより実施例2の色変換処理を説明する。ステップS21からS24までの処理は実施例1と同様である。次に、判定部121は、出力総和量Σ'XYZの算出に必要な情報（例えば補正係数gain）がLUT記憶部13が記憶するLUTに含まれるか否かを判定する(S31)。LUTが当該情報を含む場合、処理はステップS25に進み、総和量算出部115は、実施例1と同様に出力総和量Σ'XYZを算出する。
【００４５】
一方、出力総和量Σ'XYZの算出に必要な情報をLUTが含まない場合、総和量算出部115は、入力総和量ΣRGBを出力総和量Σ'XYZとして算出する(S32)。以降、実施例1と同様に、出力色データ算出部116による出力色度データxyおよび出力総和量Σ'XYZを用いた出力色データXYZの算出(S26)、出力部117による出力画像データの格納(S27)が行われる。
【００４６】
このように、出力総和量Σ'XYZの算出に必要な情報が得られる場合のみ実施例1と同様の色変換処理を行い、当該情報を備えないLUTを使用する場合は従来技術と同様の色変換処理を行うことが可能になる。
【００４７】
［変形例］
上記では、出力色データをXYZ値と説明したが、これに限られず、例えば、sRGBやAdobeRGBなど定義された色空間のRGB値、あるいは、CIELab、CIELuv、CIECAM02などの値を出力色データに用いてもよい。また、出力色データをXYZ値とし、その後、一般的な定義式やICCプロファイルなどによって、XYZ値を標準色空間で定義されるRGB値またはCIELab、CIELuv、CIECAM02などの値に変換し、それら値を出力画像データとしてもよい。言い替えれば、デバイス依存のRGB値を色度データに変換した後、デバイス非依存の色データに変換する色変換処理であれば、本発明を適用することができる。
【００４８】
［その他の実施例］
本発明は、上述の実施形態の一以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、一以上の機能を実現する回路（例えば、ASIC）によっても実現可能である。
【符号の説明】
【００４９】
113 … 入力色度データ算出部、114 … 色度データ変換部、115 … 総和量算出部、116 … 出力色データ算出部
【図１】
0006646456.tif 000002
【図２】
0006646456.tif 000003
【図３】
0006646456.tif 000004
【図４】
0006646456.tif 000005
【図５】
0006646456.tif 000006
【図６】
0006646456.tif 000007
【図７】
0006646456.tif 000008