(57)【要約】【課題】撮像画像から撮像時の光源を特定すること。【解決手段】色空間に設定された互いに異なる複数の基準色ＢＣ１、ＢＣ２、ＢＣ３、ＢＣ４に関し、異なる複数の光源ＬＴ１、ＬＴ２、ＬＴ３について各光源下における複数の基準色ＢＣ１、ＢＣ２、ＢＣ３、ＢＣ４の色座標の関係ＶＡ、ＶＢを光源別に記憶する記憶部１１と、処理対象となる対象画像Ｐ０から複数の基準色ＢＣ１、ＢＣ２、ＢＣ３、ＢＣ４の色座標を検出し、検出した当該色座標の関係ＶＡ、ＶＢと、記憶部１１により光源別に記憶されている色座標の関係ＶＡ、ＶＢとの類似度ＪＡｎ、ＪＢｎに基づいて対象画像Ｐ０の撮像時における光源を特定する演算部１２とを有する、画像処理装置１０が提供される。【選択図】図１
2016029770.tif 000002
【特許請求の範囲】
【請求項１】
色空間に設定された互いに異なる複数の基準色に関し、異なる複数の光源について各光源下における前記複数の基準色の色座標の関係を光源別に記憶する記憶部と、
処理対象となる対象画像から前記複数の基準色の色座標を検出し、検出した当該色座標の関係と、前記記憶部により光源別に記憶されている前記色座標の関係との類似度に基づいて前記対象画像の撮像時における光源を特定する演算部と
を有する、画像処理装置。
【請求項２】
前記記憶部は、前記複数の基準色の少なくとも一部を含む前記基準色の集合について、前記各光源下における前記基準色間の色座標の差を前記色座標の関係として記憶し、
前記演算部は、前記基準色の集合について、前記対象画像から検出した前記基準色の色座標から当該基準色間の色座標の差を計算し、計算した当該色座標の差と前記記憶部により記憶されている前記色座標の差との類似度に基づいて前記対象画像の撮像時における光源を特定する
請求項１に記載の画像処理装置。
【請求項３】
前記複数の基準色は、前記対象画像の色補正に用いる複数の第１基準色と、前記光源の判断に用いる第２基準色とを含み、
前記記憶部は、基準光源として設定された光源下及び当該基準光源とは異なる他の光源下における前記複数の第１基準色の色座標と前記第２基準色の色座標とを記憶し、
前記演算部は、前記基準光源下における前記複数の第１基準色の色座標と、前記対象画像から検出した前記複数の第１基準色の色座標との差、及び、前記基準光源下における前記複数の第１基準色のそれぞれと前記第２基準色との色座標の関係から、補間処理により前記対象画像における前記第２基準色の色座標を計算し、計算した当該第２基準色の色座標と前記記憶部により記憶されている前記第２基準色の色座標との距離に基づいて前記対象画像の撮像時における光源を特定する
請求項１に記載の画像処理装置。
【請求項４】
前記記憶部は、前記対象画像の色補正時に光源差による誤差の調整に用いる光源別の調整値を記憶し、
前記演算部は、前記複数の基準色の少なくとも一部について、前記基準光源下における前記基準色の色座標と、前記対象画像から検出した当該基準色の色座標との差に基づく補間処理により、前記対象画像から検出した色の色座標を補正して補正色とし、特定した前記光源に対応する前記調整値を用いて当該補正色の前記誤差を調整する
請求項２又は３に記載の画像処理装置。
【請求項５】
前記演算部は、前記記憶部により光源別に記憶されている前記色座標の関係の中から複数の前記色座標の関係を抽出し、抽出した前記各色座標の関係に対応する光源に応じた前記調整値に前記類似度に基づく重みを付して加算した値を用いて前記補正色の前記誤差を調整する
請求項４に記載の画像処理装置。
【請求項６】
コンピュータが、
色空間に設定された互いに異なる複数の基準色に関し、異なる複数の光源について各光源下における前記複数の基準色の色座標の関係を光源別に記憶する記憶部から前記色座標の関係を取得し、
処理対象となる対象画像から前記複数の基準色の色座標を検出し、検出した当該色座標の関係と、前記記憶部から取得した前記色座標の関係との類似度に基づいて前記対象画像の撮像時における光源を特定する
光源特定方法。
【請求項７】
コンピュータに、
色空間に設定された互いに異なる複数の基準色に関し、異なる複数の光源について各光源下における前記複数の基準色の色座標の関係を光源別に記憶する記憶部から前記色座標の関係を取得し、
処理対象となる対象画像から前記複数の基準色の色座標を検出し、検出した当該色座標の関係と、前記記憶部から取得した前記色座標の関係との類似度に基づいて前記対象画像の撮像時における光源を特定する
処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、光源特定方法、及びプログラムに関する。
【背景技術】
【０００２】
撮影した画像の色合いが本来の色合いからずれている場合に、画像中の各画素が有する色を本来の色へと変換する処理が行われる。この処理は色補正と呼ばれる。色補正を実現する方法としては、例えば、既知の色（以下、基準色）を含むサンプルを被写体と同時に撮影し、基準色の変化に基づいて各画素の色を本来の色へと変換する方法がある。
【０００３】
但し、画像の各画素が取り得る色の数は膨大であり、全ての取り得る色を基準色に設定し、各基準色について本来の色への変換を予め与えることは難しい。そのため、上記の方法を適用する場合、予め与えられた基準色から各画素の色（以下、入力色）を求める補間処理により、基準色に対する変換から入力色に対する変換を得る処理が行われ、得られた変換に基づいて入力色に対する色補正が行われる。
【０００４】
例えば、体積補間により入力色に対する変換を得る方法がある。この方法では、色空間内で基準色を頂点とする立体を設定し、入力色を内包する立体の頂点となる基準色の変換を利用して入力色の変換が求められる。この方法を適用する場合、色補正の精度は、補間処理に用いる基準色と入力色との距離が近いほど良くなる。そのため、色補正の精度を向上させる方法として、色空間に多くの立体を設定できるように、多数の基準色を撮影する方法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−４８１７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の体積補間による方法は、色空間における基準色の座標と入力色の座標との関係を利用して線形補間により入力色の変換を得ている。そのため、この方法に係る補間処理には色空間における座標以外の情報が利用されていない。
【０００７】
基準色と入力色との関係は、撮像時に利用された光源の種類（例えば、太陽光、蛍光灯、白熱電球など）などの環境に依存する。例えば、光源の分光分布特性（スペクトル）、被写体の反射特性、或いは、撮像素子の分光感度特性を変化させて同じ色のペアを撮像した場合、撮像画像から得られる色同士の関係は変化する。
【０００８】
こうした環境の変化があると、上記の体積補間による方法を適用した場合に色補正の誤差が生じる可能性がある。但し、被写体の反射特性や撮像素子の分光感度特性の変化による影響は、光源の分光分布特性の変化による影響に比べると小さい。そのため、撮像時の光源を特定できれば、光源に応じた高精度な色補正の実現への可能性が高まる。
【０００９】
そこで、１つの側面によれば、本発明の目的は、撮像画像から撮像時の光源を特定することが可能な画像処理装置、光源特定方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本開示の１つの側面によれば、色空間に設定された互いに異なる複数の基準色に関し、異なる複数の光源について各光源下における複数の基準色の色座標の関係を光源別に記憶する記憶部と、処理対象となる対象画像から複数の基準色の色座標を検出し、検出した当該色座標の関係と、記憶部により光源別に記憶されている色座標の関係との類似度に基づいて対象画像の撮像時における光源を特定する演算部とを有する、画像処理装置が提供される。
【００１１】
また、本開示の他の１つの側面によれば、コンピュータが、色空間に設定された互いに異なる複数の基準色に関し、異なる複数の光源について各光源下における複数の基準色の色座標の関係を光源別に記憶する記憶部から色座標の関係を取得し、処理対象となる対象画像から複数の基準色の色座標を検出し、検出した当該色座標の関係と、記憶部から取得した色座標の関係との類似度に基づいて対象画像の撮像時における光源を特定する光源特定方法が提供される。
【００１２】
また、本開示の他の１つの側面によれば、コンピュータに、色空間に設定された互いに異なる複数の基準色に関し、異なる複数の光源について各光源下における複数の基準色の色座標の関係を光源別に記憶する記憶部から色座標の関係を取得し、処理対象となる対象画像から複数の基準色の色座標を検出し、検出した当該色座標の関係と、記憶部から取得した色座標の関係との類似度に基づいて対象画像の撮像時における光源を特定する処理を実行させる、プログラムが提供される。
【発明の効果】
【００１３】
本発明によれば、撮像画像から撮像時の光源を特定することが可能になる。
【図面の簡単な説明】
【００１４】
【図１】第１実施形態に係る画像処理装置の一例を示した図である。
【図２】第２実施形態に係る画像処理装置の機能を実現することが可能なハードウェアの一例を示した図である。
【図３】第２実施形態に係る画像処理装置が有する機能の一例を示したブロック図である。
【図４】第２実施形態に係る基準色テーブルの一例を示した図である。
【図５】基準色について説明するための図である。
【図６】第２実施形態に係る補正色テーブルの一例を示した図である。
【図７】線形補間による補正量の計算方法について説明するための図である。
【図８】補正誤差について説明するための図である。
【図９】第２実施形態に係る誤差テーブルの一例を示した図である。
【図１０】第２実施形態に係る光源の特定方法について説明するための図である。
【図１１】第２実施形態の一変形例（変形例＃１）に係る光源の特定方法について説明するための図である。
【図１２】第２実施形態の一変形例（変形例＃２）に係る光源の特定方法について説明するための図である。
【図１３】第２実施形態に係るテーブルの作成について処理の流れを示したフロー図である。
【図１４】第２実施形態に係る画像の色補正について処理の流れを示したフロー図である。
【図１５】第２実施形態に係る光源の特定について処理の流れを示したフロー図である。
【図１６】第２実施形態に係る入力色の補正について処理の流れを示したフロー図である。
【図１７】第２実施形態の一変形例（変形例＃１）に係る光源の特定について処理の流れを示したフロー図である。
【図１８】第２実施形態の一変形例（変形例＃２）に係る光源の特定について処理の流れを示したフロー図である。
【図１９】第２実施形態の一変形例（変形例＃２）に係る入力色の補正について処理の流れを示したフロー図である。
【図２０】第３実施形態に係る基準色特徴テーブルの一例を示した図である。
【図２１】第３実施形態に係る基準色特徴テーブルの作成について処理の流れを示したフロー図である。
【図２２】第３実施形態に係る光源の特定について処理の流れを示したフロー図である。
【図２３】第３実施形態に係る混合光源の特定について処理の流れを示したフロー図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１６】
＜１．第１実施形態＞
図１を参照しながら、第１実施形態について説明する。図１は、第１実施形態に係る画像処理装置の一例を示した図である。なお、図１に例示した画像処理装置１０は、第１実施形態に係る画像処理装置の一例である。
【００１７】
図１に示すように、画像処理装置１０は、記憶部１１及び演算部１２を有する。
なお、記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置である。演算部１２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。但し、演算部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの電子回路であってもよい。演算部１２は、例えば、記憶部１１又は他のメモリに記憶されたプログラムを実行する。
【００１８】
記憶部１１は、色空間に設定された互いに異なる基準色ＢＣ１、ＢＣ２、ＢＣ３、ＢＣ４に関し、異なる光源ＬＴ１、ＬＴ２、ＬＴ３について各光源下における基準色ＢＣ１、ＢＣ２、ＢＣ３、ＢＣ４の色座標の関係ＶＡ、ＶＢを光源別に記憶する。なお、色空間としては、ＲＧＢ空間の他、ＨＳＶ空間やＹＵＶ空間などが適用可能である。
【００１９】
図１（Ａ）には、基準色ＢＣ１、ＢＣ２、ＢＣ３、ＢＣ４を異なる光源ＬＴ１、ＬＴ２、ＬＴ３の下で撮影した画像から得られる色座標の情報が例示されている。例えば、基準色ＢＣ１を光源ＬＴ１の下で撮影した画像から得られる色座標は（Ｒ１１，Ｇ１１，Ｂ１１）である。例えば、Ｒ１１が１００、Ｇ１１が５０、Ｂ１１が０などとなる。また、光源ＬＴ１、ＬＴ２、ＬＴ３は、例えば、太陽光（Ｄ６５光源）、蛍光灯（Ｆ光源）、電球（Ａ光源）などである。
【００２０】
また、図１（Ｂ）には、色座標の関係ＶＡ、ＶＢの例が示されている。色座標の関係ＶＡは、同じ光源に関し、基準色ＢＣ１の色座標から基準色ＢＣ２の色座標へと伸びる色空間上のベクトルを表す。また、色座標の関係ＶＢは、同じ光源に関し、基準色ＢＣ１の色座標から基準色ＢＣ３の色座標へと伸びる色空間上のベクトルを表す。
【００２１】
図１（Ｂ）には、色座標の関係ＶＡの一例として、２つの色座標（Ｒ１１，Ｇ１１，Ｂ１１）、（Ｒ１２，Ｇ１２，Ｂ１２）を結ぶベクトルＶＡ１（ＶＡ１＝（ｄＲＡ１，ｄＧＡ１，ｄＢＡ１））が示されている。ＶＡ１は、光源ＬＴ１に対応する。同様に、光源ＬＴ２に対応するＶＡ２（ＶＡ２＝（ｄＲＡ２，ｄＧＡ２，ｄＢＡ２））、及び光源ＬＴ３に対応するＶＡ３（ＶＡ３＝（ｄＲＡ３，ｄＧＡ３，ｄＢＡ３））が例示されている。
【００２２】
また、図１（Ｂ）には、色座標の関係ＶＢの例として、光源ＬＴ１に対応するＶＢ１（ＶＢ１＝（ｄＲＢ１，ｄＧＢ１，ｄＢＢ１））が示されている。さらに、光源ＬＴ２に対応するＶＢ２（ＶＢ２＝（ｄＲＢ２，ｄＧＢ２，ｄＢＢ２））、及び光源ＬＴ３に対応するＶＢ３（ＶＢ３＝（ｄＲＢ３，ｄＧＢ３，ｄＢＢ３））が例示されている。例えば、ｄＲＡ１が０、ｄＧＡ１が３０、ｄＢＡ１が０などとなる。
【００２３】
なお、ＶＡ、ＶＢ以外の色座標の関係が用意されていてもよい。また、ＶＡ１などのベクトルは長さが一定に規格化されていてもよい。また、基準色ＢＣ１、ＢＣ２、ＢＣ３、ＢＣ４の位置関係を示す情報であれば、２つの色座標を結ぶベクトル以外の情報を色座標の関係として適用することができる。例えば、基準色ＢＣ１、ＢＣ２、ＢＣ３、ＢＣ４を頂点とする立体の形状を表す任意の情報を色座標の関係として適用することができる。
【００２４】
演算部１２は、処理対象となる対象画像Ｐ０から基準色ＢＣ１、ＢＣ２、ＢＣ３、ＢＣ４の色座標を検出する。また、演算部１２は、検出した色座標の関係ＶＡ、ＶＢと、記憶部１１により光源別に記憶されている色座標の関係ＶＡ、ＶＢとの類似度ＪＡｎ、ＪＢｎ（ｎ＝１，２，３）を計算する。
【００２５】
図１の例では、基準色ＢＣ１の色座標（Ｒ０１，Ｇ０１，Ｂ０１）、基準色ＢＣ２の色座標（Ｒ０２，Ｇ０２，Ｂ０２）、基準色ＢＣ３の色座標（Ｒ０３，Ｇ０３，Ｂ０３）、基準色ＢＣ４の色座標（Ｒ０４，Ｇ０４，Ｂ０４）が検出されている。
【００２６】
演算部１２は、基準色ＢＣ１の色座標（Ｒ０１，Ｇ０１，Ｂ０１）、及び基準色ＢＣ２の色座標（Ｒ０２，Ｇ０２，Ｂ０２）を用いて色座標の関係ＶＡ０（ＶＡ０＝（ｄＲＡ０，ｄＧＡ０，ｄＢＡ０））を計算する。また、演算部１２は、基準色ＢＣ１の色座標（Ｒ０１，Ｇ０１，Ｂ０１）、及び基準色ＢＣ３の色座標（Ｒ０３，Ｇ０３，Ｂ０３）を用いて色座標の関係ＶＢ０（ＶＢ０＝（ｄＲＢ０，ｄＧＢ０，ｄＢＢ０））を計算する。
【００２７】
次に、演算部１２は、色座標の関係ＶＡ０、ＶＡ１の類似度ＪＡ１、色座標の関係ＶＡ０、ＶＡ２の類似度ＪＡ２、色座標の関係ＶＡ０、ＶＡ３の類似度ＪＡ３を計算する。また、演算部１２は、色座標の関係ＶＢ０、ＶＢ１の類似度ＪＢ１、色座標の関係ＶＢ０、ＶＢ２の類似度ＪＢ２、色座標の関係ＶＢ０、ＶＢ３の類似度ＪＢ３を計算する。
【００２８】
図１の例では、ＶＡ０とＶＡｎ（ｎ＝１，２，３）との内積が類似度ＪＡｎとして示され、ＶＢ０とＶＢｎとの内積が類似度ＪＢｎとして示されている。この場合、ＶＡ０とＶＡｎとが類似しているほど類似度ＪＡｎは大きな値となり、ＶＢ０とＶＢｎとが類似しているほど類似度ＪＢｎは大きな値となる。
【００２９】
この例の場合、演算部１２は、ｎ＝１，２，３について（ＪＡｎ＋ＪＢｎ）を比較し、（ＪＡｎ＋ＪＢｎ）が最大となるｎの値を特定する。ｎの値は光源の種類に対応する。つまり、演算部１２は、この処理により対象画像Ｐ０の撮像時における光源を特定する。例えば、ｎ＝１の場合に（ＪＡｎ＋ＪＢｎ）が最大となったならば、光源ＬＴ１が、対象画像Ｐ０の撮影時における光源として特定される。
【００３０】
なお、類似度ＪＡｎ、ＪＢｎとして、ベクトル同士の絶対値差分に基づく評価値を適用することもできる。絶対値差分は、類似度が高いほど小さな値となるため、評価値としては、例えば、絶対値差分の逆数などを適用することができる。この場合も上記と同様に、演算部１２は、類似度（ＪＡｎ＋ＪＢｎ）が最大となるｎの値を特定し、対象画像Ｐ０の撮像時における光源を特定する。
【００３１】
上記の方法を適用すれば、例えば、対象画像Ｐ０の色補正に利用する基準色の検出結果に基づいて光源を特定することが可能になる。また、光源が特定されることで、光源の種類に応じて色補正時に適用される補正量を調整することが可能になり、光源毎に調整値が用意できれば色補正の精度を高めることができる。
【００３２】
なお、図１及び上記説明においては、色座標の関係として色座標間を結ぶベクトルが例示されたが、第１実施形態に係る技術の適用範囲はこれに限定されない。
例えば、記憶部１１は、基準色ＢＣ１、ＢＣ２、ＢＣ３、ＢＣ４とは異なる他の基準色について、光源ＬＴ１の下で観測された基準色ＢＣ１、ＢＣ２、ＢＣ３、ＢＣ４の色座標から線形補間により求めた他の基準色の色座標を色座標の関係として記憶してもよい。同様に、記憶部１１は、光源ＬＴ２、ＬＴ３の下でそれぞれ観測された基準色ＢＣ１、ＢＣ２、ＢＣ３、ＢＣ４の色座標から線形補間により求めた上記他の基準色の色座標を色座標の関係として記憶してもよい。
【００３３】
上記の場合、演算部１２は、対象画像Ｐ０から取得した基準色ＢＣ１、ＢＣ２、ＢＣ３、ＢＣ４の色座標から線形補間により他の基準色の色座標を求め、記憶部１１に記憶されている上記他の基準色の色座標と比較する。この場合、類似度として色座標間の距離に基づく評価値（例えば、距離の逆数）などを利用することができる。このような仕組みにすれば、演算部１２は、類似度に基づいて光源を特定することができる。
【００３４】
上記の方法を適用すれば、例えば、対象画像Ｐ０の色補正に利用する基準色の検出結果に基づいて光源を特定することが可能になる。また、光源が特定されることで、光源の種類に応じて色補正時に適用される補正量を調整することが可能になり、光源毎に調整値が用意できれば色補正の精度を高めることができる。
【００３５】
以上、第１実施形態について説明した。
＜２．第２実施形態＞
次に、第２実施形態について説明する。
【００３６】
第２実施形態は、色座標が既知の基準色を含むサンプルを撮像対象の物体と共に撮像し、撮像画像における基準色のずれ方から、撮像画像に含まれる色を補正する色補正技術に関する。また、第２実施形態では、光源の違いに起因して生じる補正時の誤差を抑制する方法を提案する。以下、この方法を実現可能な装置の一例として画像処理装置１００を考え、画像処理装置１００のハードウェアや機能などについて順次説明する。
【００３７】
［２−１．ハードウェア］
ここで、図２を参照しながら、画像処理装置１００の機能を実現可能なハードウェアについて説明する。図２は、第２実施形態に係る画像処理装置の機能を実現することが可能なハードウェアの一例を示した図である。
【００３８】
画像処理装置１００が有する機能は、例えば、図２に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、画像処理装置１００が有する機能は、コンピュータプログラムを用いて図２に示すハードウェアを制御することにより実現される。
【００３９】
図２に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（Read Only Memory）９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０とを有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６とを有する。
【００４０】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
【００４１】
これらの要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
【００４２】
出力部９１８としては、例えば、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、又はＥＬＤ（Electro-Luminescence Display）などのディスプレイ装置が用いられる。また、出力部９１８として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部９１８は、情報を視覚的又は聴覚的に出力することが可能な装置である。
【００４３】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ＨＤＤなどの磁気記憶デバイスが用いられる。また、記憶部９２０として、ＳＳＤ（Solid State Drive）やＲＡＭディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
【００４４】
ドライブ９２２は、着脱可能な記録媒体であるリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
【００４５】
接続ポート９２４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small Computer System Interface）、ＲＳ−２３２Ｃポート、又は光オーディオ端子など、外部接続機器９３０を接続するためのポートである。外部接続機器９３０としては、例えば、カメラ、プリンタなどが用いられる。
【００４６】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスである。通信部９２６としては、例えば、有線又は無線ＬＡＮ（Local Area Network）用の通信回路、ＷＵＳＢ（Wireless USB）用の通信回路、光通信用の通信回路やルータ、ＡＤＳＬ（Asymmetric Digital Subscriber Line）用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークであり、例えば、インターネット、ＬＡＮ、放送網、衛星通信回線などを含む。
【００４７】
以上、ハードウェアについて説明した。
［２−２．画像処理装置の機能］
次に、図３を参照しながら、画像処理装置１００の機能について説明する。図３は、第２実施形態に係る画像処理装置が有する機能の一例を示したブロック図である。なお、説明の中で、適宜、図４〜図１０を参照する。
【００４８】
図３に示すように、画像処理装置１００は、記憶部１１１、テーブル作成部１１２、及び画像補正部１１３を有する。
なお、記憶部１１１の機能は、上述したＲＡＭ９０６や記憶部９２０などを用いて実現できる。また、テーブル作成部１１２及び画像補正部１１３の機能は、上述したＣＰＵ９０２などを用いて実現できる。また、画像処理装置１００には、外部接続機器９３０として、基準色を配置したカラーチャートを含む入力画像から基準色の位置を検出し、入力画像から基準色の情報を抽出する装置が接続されていてもよい。但し、入力画像に配置するカラーチャートの位置を予め決めておけば、このような装置を省略できる。
【００４９】
（記憶部１１１）
記憶部１１１について説明する。
記憶部１１１には、基準色テーブル１１１ａ、補正色テーブル１１１ｂ、及び誤差テーブル１１１ｃが格納される。なお、図中では「テーブル」を「ＴＢＬ」と表記している。
【００５０】
基準色テーブル１１１ａは、基準色を特定する番号と、基準色に対応する色空間上の座標（色座標）とを対応付けるテーブルである。補正色テーブル１１１ｂは、光源特定用の基準色を特定する番号と、光源別に計算された補正色の色座標とを対応付けるテーブルである。ここで、補正色とは、特定の光源下で光源特定用の基準色を観測して得た検出色を、色補正用の基準色に基づく線形補間により補正して得た色である。誤差テーブル１１１ｃは、各色座標と、光源の違いに起因する補正誤差と、該光源とを対応付けるテーブルである。
【００５１】
以下、基準色テーブル１１１ａ、補正色テーブル１１１ｂ、及び誤差テーブル１１１ｃについて、さらに説明する。
（基準色テーブルについて）
図４及び図５を参照しながら、基準色テーブル１１１ａについて説明する。図４は、第２実施形態に係る基準色テーブルの一例を示した図である。図５は、基準色について説明するための図である。
【００５２】
図４に例示した基準色テーブル１１１ａには、予め設定された基準色を識別する番号（Ｎｏ．）と、その基準色の色座標とが対応付けて記載されている。例えば、基準色＃１の色座標（Ｒ，Ｇ，Ｂ）は、（１２０，１００，２００）である。また、基準色＃２の色座標（Ｒ，Ｇ，Ｂ）は、（２００，５０，１５０）である。但し、Ｒは赤色成分、Ｇは緑色成分、Ｂは青色成分を表す。
【００５３】
基準色テーブル１１１ａに記載される基準色には、光源特定用の基準色と色補正用の基準色とが含まれる。そのため、１色の色補正に利用される色補正用の基準色がｈ個であれば、（ｈ＋１）個以上の基準色が基準色テーブル１１１ａに記載される。
【００５４】
また、光源特定用の基準色を２個以上設ける場合、基準色テーブル１１１ａには（ｈ＋２）個以上の基準色が記載される。ところで、入力画像を撮像する際には被写体と共に基準色を含むカラーサンプルが撮像される。このとき、色補正用の基準色と共に光源特定用の基準色を含むカラーサンプル（例えば、図５に示したカラーチャートや円形パッチなど）が用いられる。
【００５５】
（補正色テーブルについて）
次に、図６及び図７を参照しながら、補正色テーブル１１１ｂについて説明する。図６は、第２実施形態に係る補正色テーブルの一例を示した図である。図７は、線形補間による補正量の計算方法について説明するための図である。
【００５６】
図６に示すように、補正色テーブル１１１ｂには、光源特定用の基準色を識別する番号と、特定の光源下で撮像した画像から検出される光源特定用の基準色の検出色を、色補正用の基準色による補間処理で補正した補正色の色座標とが光源別に記載される。図６の例では、基準色＃１について、光源＃１における補正色の色座標（１２２，１００，２００）、及び光源＃２における補正色の色座標（１２０，１０４，１９９）が示されている。
【００５７】
光源特定用の基準色を補正した補正色は、図７に示すように、色補正用の基準色について検出された検出色から線形補間により計算することができる。図７には、色補正用の４つの基準色＃１、＃２、＃３、＃４（黒丸）と、基準色＃１、＃２、＃３、＃４の検出色（白丸）と、光源特定用の基準色＃５の検出色（矩形）とが例示されている。
【００５８】
基準色＃１、＃２、＃３、＃４の色座標は既知である。そのため、基準色＃１、＃２、＃３、＃４に関する４つの検出色と基準色＃１、＃２、＃３、＃４との差分ベクトルが、基準色＃１、＃２、＃３、＃４に関する補正量となる。また、色空間における基準色＃１、＃２、＃３、＃４の検出色と基準色＃５の検出色との位置関係から、線形補間により基準色＃５の補正色を計算することができる。
【００５９】
例えば、基準色＃１、＃２、＃３、＃４の検出色の色座標をそれぞれ（ｒo1，ｇo1，ｂo1）、（ｒo2，ｇo2，ｂo2）、（ｒo3，ｇo3，ｂo3）、（ｒo4，ｇo4，ｂo4）と表記する。また、基準色＃５の検出色の色座標を（ｒo5，ｇo5，ｂo5）と表記する。任意の色座標は、基準色間のベクトルの線形和で表現することができる。そのため、基準色＃５の検出色の色座標は、基準色＃１、＃２、＃３、＃４の検出色の色座標を用いて、下記の式（１）のように表現できる。但し、ｈ1、ｈ2、ｈ3はパラメータである。
【００６０】
【数１】
2016029770.tif 000003
【００６１】
また、上記の式（１）を変形した下記の式（２）を用いることでパラメータｈ1、ｈ2、ｈ3を計算することができる。ここで、基準色＃１、＃２、＃３、＃４の色座標をそれぞれ（ｒ1，ｇ1，ｂ1）、（ｒ2，ｇ2，ｂ2）、（ｒ3，ｇ3，ｂ3）、（ｒ4，ｇ4，ｂ4）と表記する。このとき、基準色＃１、＃２、＃３、＃４に関する補正量に基づいて基準色＃５の検出色を補正した補正色の色座標（ｒm5，ｇm5，ｂm5）は、下記の式（２）を用いて計算されたパラメータｈ1、ｈ2、ｈ3を利用し、下記の式（３）により計算できる。
【００６２】
【数２】
2016029770.tif 000004
【００６３】
【数３】
2016029770.tif 000005
【００６４】
全ての光源特定用の基準色について、上記の式（３）に基づく計算により補正色が求められ、補正色テーブル１１１ｂに記載される。同様に、異なる光源下で撮像された入力画像から基準色＃１、…、＃５の検出色が検出され、その検出色に基づいて上記の方法により補正色を求められ、補正色テーブル１１１ｂに記載される。このような方法により、補正色テーブル１１１ｂが得られる。
【００６５】
（誤差テーブルについて）
次に、図８及び図９を参照しながら、誤差テーブル１１１ｃについて説明する。図８は、補正誤差について説明するための図である。図９は、第２実施形態に係る誤差テーブルの一例を示した図である。
【００６６】
入力画像の各色は、上述した光源特定用の基準色＃５に関する補正色の計算方法と同様に、色補正用の基準色に基づく線形補間により補正される。つまり、補正色の色座標は、色空間における４つの検出色と入力色との位置関係、及び基準色＃１、＃２、＃３、＃４の色座標から線形補間により計算される。そのため、線形補間では補正しきれない非線形な誤差成分が補正色に残存している場合がある。
【００６７】
色は、光源の分光特性、物体の反射特性、カメラの感度特性の各周波数における積で与えられる。これらの特性の中でも、上記の非線形な誤差成分を与える要因となるのが光源の分光特性である。光源の分光特性は、基準とする光源（以下、基準光源；例えば、昼光）と蛍光灯や電球などとの間で大きく異なる。そのため、基準光源と異なる光源下で撮像された画像から色補正用の基準色に対応する検出色を検出し、その検出色で任意の入力色を補正した場合、入力色の補正色と本来の色との間に補正誤差が生じる場合がある。
【００６８】
また、図８に示すように、光源を光源＃１から光源＃２へと変えた場合、補正誤差の生じ方が変化する（図８の例ではｅ1からｅ2へと変化している。）。そこで、光源の違いに起因する補正誤差が記載された誤差テーブル１１１ｃを用意し、任意の色について計算された補正色から補正誤差を取り除けるようにする。
【００６９】
図９に示すように、誤差テーブル１１１ｃには、色空間の各色座標について用意された光源毎の補正誤差が記載されている。但し、図９の中で、ｄＲは補正色のＲ座標に生じる補正誤差を表し、ｄＧは補正色のＧ座標に生じる補正誤差を表し、ｄＢは補正色のＢ座標に生じる補正誤差を表す。
【００７０】
例えば、光源＃１下で撮像された入力画像のうち、色座標（０，０，１）を有する補正色に対し、補正誤差を打ち消すようにＲ座標を＋１、Ｇ座標を＋２、Ｂ座標を＋２だけシフトする調整が行われる。つまり、誤差テーブル１１１ｃに記載された補正誤差の値は、補正色の色座標を調整するために調整値として利用される。
【００７１】
以上、記憶部１１１について説明した。
（テーブル作成部１１２）
次に、テーブル作成部１１２について説明する。
【００７２】
再び図３を参照する。テーブル作成部１１２は、上述した基準色テーブル１１１ａ、補正色テーブル１１１ｂ、及び誤差テーブル１１１ｃを作成する。なお、テーブル作成部１１２は、サンプル作成部１２１、誤差計測部１２２、及び作成処理部１２３を有する。
【００７３】
基準色テーブル１１１ａを作成する場合、テーブル作成部１１２は、基準光源下で基準色を含むサンプルを撮像した撮像画像から基準色の色座標を検出し、検出した色座標と基準色の識別番号とを対応付けて基準色テーブル１１１ａに記載する。
【００７４】
補正色テーブル１１１ｂを作成する場合、テーブル作成部１１２は、光源特定用の基準色及び色補正用の基準色を含むサンプルを基準光源とは異なる光源下で撮像した画像から、各基準色に対応する検出色の色座標を検出する。
【００７５】
そして、テーブル作成部１１２は、上記の式（１）〜式（３）に基づいて色補正用の基準色から光源特定用の基準色に関する補正色を計算し、計算した補正色の色座標を光源特定用の基準色の識別番号に対応付けて補正色テーブル１１１ｂに記載する。
【００７６】
サンプル作成部１２１は、誤差テーブル１１１ｃを作成する場合に、擬似的に色のサンプル（以下、擬似サンプル）を作成する。誤差計測部１２２は、色補正用の基準色を用いて擬似サンプルの色を補正した場合に得られる補正誤差を計測する。作成処理部１２３は、補正誤差を擬似サンプルの色座標に対応付けて誤差テーブル１１１ｃに記載する。
【００７７】
ここで、擬似サンプルの作成方法及び補正誤差の計測方法について、さらに説明する。
色空間の全ての色を用意し、各色のサンプルを様々な光源下で撮像した撮像画像から補正誤差を計算する作業は負担が大きい。そのため、サンプル作成部１２１により作成された擬似サンプルを利用して補正誤差の計算が行われる。
【００７８】
色は、光源の分光特性、物体の反射特性、カメラの感度特性の各周波数における積で与えられる。物体の反射特性を特定する方法としては、例えば、（文献Ａ）「中尾ほか、“実時間分光画像処理による肌の色素成分分析”, Medical Imaging Technology, vol.20, No.2, pp.123-133, March 2002」に記載がある。また、カメラの感度特性を測定する方法としては、例えば、（文献Ｂ）「久野ほか、“ディジタルカメラの分光感度特性測定方法”、映像情報メディア学会技術報告、vol.22, no.73, pp.13-18, 1988.」に記載がある。
【００７９】
サンプル作成部１２１は、基準光源の下で特定の色になる擬似サンプルを作成する。擬似サンプルは、複数の実在するサンプルの分光反射特性を、主成分に対応するベクトルに分解し、分解したベクトルを線形結合することにより求めることができる。
【００８０】
ここで、光源の分光分布Ｐ（λ）（λは光の波長）が予め計測されているものとする。実在するサンプルとしてｎ個のサンプルが用意されているものとする。また、これらｎ個のサンプルの反射分光特性Ｒn（λ）が予め計測されているものとする。なお、以下では、波長λについてＰ（λ）を離散的に表現した｛Ｐλi｝、Ｒn（λ）を離散的に表現した｛Ｒn,λi｝を用いて説明する。但し、ｉ＝１，…，ｎである。例えば、４００ｎｍ〜７００ｎｍのスペクトルを１０ｎｍ間隔でサンプリングすると、反射分光特性の観測データとして、３１個のサンプリングデータ｛Ｐλ1，…，Ｐλ31｝が得られる。
【００８１】
サンプルを観測した反射分光特性から得られた平均ベクトルがμ、固有値（又は特異値）がηk、固有ベクトル（又は特異ベクトル）がφkであるとする。但し、ｋ＝１，２，３である。サンプル数がｎの場合、各サンプルに対する反射分光特性をベクトルＲm＝［Ｒm,λ1，…，Ｒm,λn］T（但し、ｍ＝１，…，ｎ）で表現すると、平均ベクトルμは、下記の式（４）で与えられる。但し、上付きのＴは転置を表す。
【００８２】
【数４】
2016029770.tif 000006
【００８３】
この場合、サンプル作成部１２１は、ベクトルＲmをｎ個横に並べたｎ×ｎの行列を生成し、該行列から固有値ηk、固有ベクトルφkを求める。なお、サンプル数が少なく、該行列が正方行列とならない場合、サンプル作成部１２１は、該行列を特異値分解し、特異値をηk、左特異ベクトルをφkとする。
【００８４】
また、サンプル作成部１２１は、特定光源の反射分光特性｛Ｐλ1，…，Ｐλn｝を対角要素に配置し、他の要素を０とした行列Ｓを生成する。ここで、カメラの感度特性｛ｒs，ｇs，ｂs｝が観測されているものとする。但し、ｒs＝［ｒλ1，ｒλ2，…，ｒλn］T、ｇs＝［ｇλ1，ｇλ2，…，ｇλn］T、ｂs＝［ｂλ1，ｂλ2，…，ｂλn］Tである。なお、カメラの感度特性｛ｒs，ｇs，ｂs｝は、上記文献Ｂに記載の方法などで得られる。
【００８５】
上記の固有値（又は特異値）ηk、固有ベクトル（又は特異ベクトル）φk、行列Ｓ、平均ベクトルμ、カメラの感度特性｛ｒs，ｇs，ｂs｝を用いると、色［ｒ，ｇ，ｂ］Tは、パラメータ｛α1，α2，α3｝を用いて下記の式（５）により与えられる。ここで、下記の式（６）によりベクトルμ0を定義すると、下記の式（５）は、下記の式（７）のように変形できる。
【００８６】
【数５】
2016029770.tif 000007
【００８７】
【数６】
2016029770.tif 000008
【００８８】
【数７】
2016029770.tif 000009
【００８９】
サンプル作成部１２１は、上記の式（７）を利用し、基準光源下における色［ｒx，ｇx，ｂx］Tの擬似サンプルを生成する。上記の式（７）は、下記の式（８）のように変形することができる。そこで、サンプル作成部１２１は、下記の式（８）によりパラメータ｛α1，α2，α3｝を計算する。このとき、物体の反射特性は、計算されたパラメータ｛α1，α2，α3｝により下記の式（９）のように表現される。
【００９０】
【数８】
2016029770.tif 000010
【００９１】
【数９】
2016029770.tif 000011
【００９２】
上記の色［ｒx，ｇx，ｂx］Tを変えることで、求めたい擬似サンプルの色を変えることができる。そのため、サンプル作成部１２１は、様々な色について上記の式（８）によりパラメータ｛α1，α2，α3｝を計算する。また、上記の行列Ｓを変化させることにより光源を変えることができる。そのため、サンプル作成部１２１は、［ｒx，ｇx，ｂx］Tを変えつつ、上記の式（５）により様々な光源下における擬似サンプルの色を求める。
【００９３】
誤差計測部１２２は、基準光源から他の光源に変更した場合に観測される誤差を計算する。基準光源下におけるサンプルの色が他の光源下でどのような色になるかは、上記の式（５）において行列Ｓを他の光源に関する行列Ｓに変更し、該他の光源で観測される色［ｒ，ｇ，ｂ］Tを計算することで得られる。例えば、誤差計測部１２２は、行列Ｓ及び［ｒx，ｇx，ｂx］Tを変えつつ、下記の式（１０）で与えられる補正誤差｛ｄＲ，ｄＧ，ｄＢ｝を計算し、誤差テーブル１１１ｃに格納する。
【００９４】
例えば、基準光源下で色座標が（１００，１００，１００）となるサンプルについて、他の光源下で色座標が（１０３，１０３，１０３）と計算された場合、誤差計測部１２２は、下記の式（１０）から（３，３，３）を計算し、誤差テーブル１１１ｃに格納する。サンプル作成部１２１による擬似サンプルの作成及び誤差計測部１２２による補正誤差の計算を全ての色の組み合わせに関して実行することにより誤差テーブル１１１ｃが得られる。
【００９５】
【数１０】
2016029770.tif 000012
【００９６】
以上、テーブル作成部１１２について説明した。
（画像補正部１１３）
次に、画像補正部１１３について説明する。なお、説明の中で、図１０を参照する。図１０は、第２実施形態に係る光源の特定方法について説明するための図である。
【００９７】
図３に示すように、画像補正部１１３は、基準色補正部１３１、光源特定部１３２、及び色補正部１３３を有する。
基準色補正部１３１は、入力画像から色補正用の基準色の検出色、及び光源特定用の基準色の検出色を検出し、上記の式（１）〜式（３）に基づいて光源特定用の基準色の補正色を計算する。基準色補正部１３１により計算された補正色の情報は、光源特定部１３２に入力される。光源特定部１３２は、補正色テーブル１１１ｂを参照し、基準色補正部１３１が計算した補正色の色座標に最も近い補正色を検出する。
【００９８】
例えば、基準色補正部１３１が基準色＃５について補正色を計算した場合（図１０を参照）、光源特定部１３２は、補正色テーブル１１１ｂに記載の基準色＃５に対応する補正色のうち、基準色補正部１３１が計算した補正色に最も近い補正色を検出する。
【００９９】
例えば、計算した補正色を（ｒm0，ｇm0，ｂm0）、光源＃１の補正色を（ｒmA，ｇmA，ｂmA）、光源＃２の補正色を（ｒmB，ｇmB，ｂmB）とした場合、最も近い補正色は、下記の式（１１）により得られる。但し、｜…｜はノルムを表す。なお、図１０の例では、基準色補正部１３１が計算した補正色に最も近い補正色として、光源＃１に対応する補正色が検出される。
【０１００】
【数１１】
2016029770.tif 000013
【０１０１】
光源特定部１３２は、補正色テーブル１１１ｂから検出した補正色に対応する光源を入力画像の撮像時に利用した光源であると特定する。図１０の例では、光源＃１が入力画像の撮像時に利用した光源であると特定される。光源特定部１３２により特定された光源の情報は色補正部１３３に入力される。
【０１０２】
色補正部１３３は、入力画像に含まれる各色（入力色）の検出色を検出し、光源特定用の基準色について補正色を計算した方法と同様に、上記の式（１）〜式（３）に基づいて入力色の補正色を計算する。例えば、上記の式（１）及び式（２）において、基準色＃５に関する検出色の色座標（ｒo5，ｇo5，ｂo5）を入力色に関する検出色の色座標（ｒo，ｇo，ｂo）に置き換えればよい。また、上記の式（３）において、基準色＃５に関する補正色の色座標（ｒm5，ｇm5，ｂm5）を入力色に関する補正色の色座標（ｒm，ｇm，ｂm）に置き換えればよい。
【０１０３】
色補正部１３３は、誤差テーブル１１１ｃを参照し、光源特定部１３２から入力された情報が示す光源及び補正色の色座標に対応する補正誤差を検出する。そして、色補正部１３３は、検出した補正誤差を打ち消すように補正色の色座標を調整する。
【０１０４】
以上、画像補正部１１３について説明した。
上記のように、補正誤差の生じ方に基づいて光源を特定し、特定した光源に基づく補正誤差を打ち消すように補正色の色座標を調整することで、光源に依存した補正誤差が抑制され、色補正の精度が向上する。
【０１０５】
以上、画像処理装置１００の機能について説明した。
［２−３．変形例＃１（投票（カウント）による光源の特定）］
ここで、図１１を参照しながら、第２実施形態の一変形例（変形例＃１）に係る光源の特定方法について説明する。図１１は、第２実施形態の一変形例（変形例＃１）に係る光源の特定方法について説明するための図である。
【０１０６】
変形例＃１に係る光源の特定方法は、光源特定用の基準色を複数利用する。一例として、図１１に示すように、光源特定用の基準色として基準色＃５、＃６、…、＃１０を利用する場合について考える。変形例＃１では、基準色補正部１３１及び光源特定部１３２が、基準色＃５、＃６、…、＃１０のそれぞれについて、色補正用の基準色に基づく補間処理により補正色を計算し、計算した補正色に最も近い補正色を補正色テーブル１１１ｂから検出する。そして、光源特定部１３２が、検出した補正色に対応する光源に投票する。
【０１０７】
例えば、基準色＃５の補正色に最も近い補正色テーブル１１１ｂの補正色が光源＃１に対応する場合、光源特定部１３２は、光源＃１の投票数を増加させる。光源特定部１３２は、基準色＃６、＃７、…、＃１０についても同様に投票を実行し、光源毎に投票数を集計する。そして、光源特定部１３２は、投票数が最大となる光源を選択し、選択した光源を入力画像の撮像時に利用した光源として特定する。このように、複数の基準色を利用することで、正しい光源を特定できる可能性を高めることができる。
【０１０８】
以上、変形例＃１に係る光源の特定方法について説明した。
［２−４．変形例＃２（混合割合の計算）］
次に、図１２を参照しながら、第２実施形態の一変形例（変形例＃２）に係る光源の特定方法について説明する。図１２は、第２実施形態の一変形例（変形例＃２）に係る光源の特定方法について説明するための図である。
【０１０９】
変形例＃２に係る光源の特定方法では、複数の光源を混合した混合光源を想定し、入力画像の撮像時に利用した光源に近い混合光源の混合割合を計算し、計算した混合割合に基づいて光源を特定する。
【０１１０】
いま、入力画像の撮像時に利用した光源が光源＃１、＃２、＃３の混合で表現されるとし、その混合割合を加重ｗA、ｗB、ｗCで表現する。また、光源特定用の基準色に対応する光源＃１の補正色を（ｒmA，ｇmA，ｂmA）、光源＃２の補正色を（ｒmB，ｇmB，ｂmB）、光源＃３の補正色を（ｒmC，ｇmC，ｂmC）と表記する。この場合、光源特定用の基準色の補正色（ｒm，ｂm，ｇm）は、下記の式（１２）により与えられる。従って、光源特定用の基準色が１つである場合、下記の式（１２）を変形した下記の式（１３）に基づいて加重ｗA、ｗB、ｗCを求めることができる。
【０１１１】
【数１２】
2016029770.tif 000014
【０１１２】
【数１３】
2016029770.tif 000015
【０１１３】
光源特定用の基準色が複数ある場合、図１２に示すように、最小二乗法を利用して加重ｗA、ｗB、ｗCを求めることができる。ここで、基準色補正部１３１が計算した基準色＃ｋ（ｋ＝５，６，…）の補正色を（ｒmk，ｇmk，ｂmk）と表記する。また、基準色＃ｋに対応する光源＃１の補正色を（ｒmAk，ｇmAk，ｂmAk）、光源＃２の補正色を（ｒmBk，ｇmBk，ｂmBk）、光源＃３の補正色を（ｒmCk，ｇmCk，ｂmCk）と表記する。光源特定部１３２は、下記の式（１４）に示す評価式Ｊが最小となる加重ｗA、ｗB、ｗCを計算する（下記の式（１５）を参照）。
【０１１４】
【数１４】
2016029770.tif 000016
【０１１５】
【数１５】
2016029770.tif 000017
【０１１６】
光源特定部１３２により計算された加重ｗA、ｗB、ｗCは、後述する混合光源の特定又は単一光源の特定に利用される。
（２−４−１．混合光源の特定）
加重ｗA、ｗB、ｗCを混合光源の特定に利用する方法について説明する。この方法は、入力画像の撮像時に利用された光源を混合光源で表現する方法である。この場合、光源特定部１３２により計算された加重ｗA、ｗB、ｗCは、色補正部１３３に入力される。色補正部１３３は、色補正部１３３により計算された補正色と、誤差テーブル１１１ｃに記載された補正誤差と、加重ｗA、ｗB、ｗCとを用いて補正色を調整する。
【０１１７】
例えば、入力色の補正色を（ｒm，ｇm，ｂm）、光源＃１に対応する補正誤差を（ｄＲA、ｄＧA、ｄＢA）、光源＃２に対応する補正誤差を（ｄＲB、ｄＧB、ｄＢB）、光源＃３に対応する補正誤差を（ｄＲC、ｄＧC、ｄＢC）と表記する。但し、これらの補正誤差は（ｒm，ｇm，ｂm）に対応する値である。この場合、調整後の補正色（ｒM，ｇM，ｂM）は、下記の式（１６）に従って求められる。このように、加重ｗA、ｗB、ｗCで重みを付けた補正誤差を補正色から減算することで混合光源に応じた色の調整を行うことができる。
【０１１８】
【数１６】
2016029770.tif 000018
【０１１９】
（２−４−２．単一光源の特定）
加重ｗA、ｗB、ｗCを利用した単一光源の特定方法について説明する。加重ｗA、ｗB、ｗCを計算した光源特定部１３２は、加重ｗA、ｗB、ｗCの最大値を検出し、検出した最大値に対応する光源を入力画像の撮像時に利用された光源として特定する。光源特定部１３２により特定された光源の情報は色補正部１３３に入力される。例えば、光源＃１であると特定された場合、色補正部１３３は、下記の式（１７）のように、入力色の補正色（ｒm，ｇm，ｂm）から光源＃１に対応する補正誤差（ｄＲA、ｄＧA、ｄＢA）を減算して調整後の補正色（ｒM，ｇM，ｂM）を求める。
【０１２０】
【数１７】
2016029770.tif 000019
【０１２１】
以上、変形例＃２に係る光源の特定方法について説明した。
以上、画像処理装置１００の機能について説明した。
［２−５．処理の流れ］
次に、画像処理装置１００が実行する処理の流れについて説明する。
【０１２２】
（テーブルの作成）
図１３を参照しながら、誤差テーブル１１１ｃの作成に関する処理の流れについて説明する。図１３は、第２実施形態に係るテーブルの作成について処理の流れを示したフロー図である。
【０１２３】
（Ｓ１０１）サンプル作成部１２１は、基準光源の下で特定の色になる擬似サンプルを作成する。擬似サンプルは、複数の実在するサンプルの分光反射特性を、主成分に対応するベクトルに分解し、分解したベクトルを線形結合することにより求めることができる。
【０１２４】
例えば、光源の分光分布Ｐ（λ）（λは光の波長）が予め計測され、実在するサンプルとしてｎ個のサンプルが用意されているものとする。また、これらｎ個のサンプルの反射分光特性Ｒm（λ）（ｍ＝１，…，ｎ）が予め計測されているものとする。
【０１２５】
以下の説明は、波長λについてＰ（λ）を離散的に表現した｛Ｐλi｝、及びＲn（λ）を離散的に表現した｛Ｒm,λi｝を用いる。但し、ｍ＝１，…，ｎである。例えば、４００ｎｍ〜７００ｎｍのスペクトルを１０ｎｍ間隔でサンプリングすると、反射分光特性の観測データとして、３１個のサンプリングデータ｛Ｐλ1，…，Ｐλ31｝が得られる。
【０１２６】
サンプルを観測した反射分光特性から得られた平均ベクトルがμ、固有値（又は特異値）がηk、固有ベクトル（又は特異ベクトル）がφkであるとする。但し、ｋ＝１，２，３である。サンプル数がｎの場合、各サンプルに対する反射分光特性をベクトルＲm＝［Ｒm,λ1，…，Ｒm,λn］T（但し、ｍ＝１，…，ｎ）で表現すると、平均ベクトルμは、上記の式（４）で与えられる。
【０１２７】
サンプル作成部１２１は、ベクトルＲmをｎ個横に並べたｎ×ｎの行列を生成し、該行列から固有値ηk、固有ベクトルφkを求める。なお、サンプル数が少なく、該行列が正方行列とならない場合、サンプル作成部１２１は、該行列を特異値分解し、特異値をηk、左特異ベクトルをφkとする。
【０１２８】
また、サンプル作成部１２１は、特定光源の反射分光特性｛Ｐλ1，…，Ｐλn｝を対角要素に配置し、他の要素を０とした行列Ｓを生成する。ここで、カメラの感度特性｛ｒs，ｇs，ｂs｝が観測されているものとする。但し、ｒs＝［ｒλ1，ｒλ2，…，ｒλn］T、ｇs＝［ｇλ1，ｇλ2，…，ｇλn］T、ｂs＝［ｂλ1，ｂλ2，…，ｂλn］Tである。
【０１２９】
サンプル作成部１２１は、上記の式（７）を利用し、基準光源下における色［ｒx，ｇx，ｂx］Tの擬似サンプルを生成する。上記の式（７）は、上記の式（８）のように変形できるため、サンプル作成部１２１は、上記の式（８）によりパラメータ｛α1，α2，α3｝を計算する。
【０１３０】
上記の色［ｒx，ｇx，ｂx］Tを変えることで、求めたい擬似サンプルの色を変えることができる。そのため、サンプル作成部１２１は、様々な色について上記の式（８）によりパラメータ｛α1，α2，α3｝を計算する。また、上記の行列Ｓを変化させることにより光源を変えることができる。そのため、サンプル作成部１２１は、［ｒx，ｇx，ｂx］Tを変えつつ、上記の式（５）により様々な光源下における擬似サンプルの色を求める。
【０１３１】
（Ｓ１０２）誤差測定部１２２は、誤差を測定する。
例えば、誤差計測部１２２は、基準光源から他の光源に変更した場合に観測される誤差を計算する。基準光源下におけるサンプルの色が他の光源下でどのような色になるかは、上記の式（５）において行列Ｓを他の光源に関する行列Ｓに変更し、該他の光源で観測される色［ｒ，ｇ，ｂ］Tを計算することで得られる。例えば、誤差計測部１２２は、行列Ｓ及び［ｒx，ｇx，ｂx］Tを変えつつ、上記の式（１０）で与えられる補正誤差｛ｄＲ，ｄＧ，ｄＢ｝を計算する。
【０１３２】
例えば、基準光源下で色座標が（１００，１００，１００）となるサンプルについて、他の光源下で色座標が（１０３，１０３，１０３）と計算された場合、誤差計測部１２２は、上記の式（１０）から（３，３，３）を計算し、誤差テーブル１１１ｃに格納する。
【０１３３】
（Ｓ１０３）誤差測定部１２２は、Ｓ１０２で計算した補正誤差を記載した誤差テーブル１１１ｃを作成する。なお、サンプル作成部１２１による擬似サンプルの作成及び誤差計測部１２２による補正誤差の計算は全ての色の組み合わせに関して実行される。これにより誤差テーブル１１１ｃが作成される。Ｓ１０３の処理が完了すると、図１３に示した一連の処理は終了する。
【０１３４】
（画像の色補正）
次に、図１４を参照しながら、画像の色補正に関する処理の流れについて説明する。図１４は、第２実施形態に係る画像の色補正について処理の流れを示したフロー図である。
【０１３５】
（Ｓ１１１）光源特定部１３２は、入力画像から検出した基準色の検出色に基づいて、入力画像の撮像時における光源を特定する。Ｓ１１１の処理については、図１５等を参照しながら後段において、さらに説明する。
【０１３６】
（Ｓ１１２）色補正部１３３は、入力画像に含まれる各色を線形補間により補正し、Ｓ１１１で特定した光源に応じた調整値を用いて補正後の各色を調整する。Ｓ１１２の処理については、図１６等を参照しながら後段において、さらに説明する。Ｓ１１２の処理が完了すると、図１４に示した一連の処理は終了する。
【０１３７】
（光源の特定）
ここで、図１５を参照しながら、光源の特定に関する処理の流れについて、さらに説明する。図１５は、第２実施形態に係る光源の特定について処理の流れを示したフロー図である。
【０１３８】
（Ｓ１２１）基準色補正部１３１は、基準色テーブル１１１ａから光源特定用の基準色及び色補正用の基準色を取得する。
（Ｓ１２２）基準色補正部１３１は、光源特定用の基準色について線形補間により補正色を計算する。例えば、基準色補正部１３１は、入力画像から色補正用の基準色の検出色、及び光源特定用の基準色の検出色を検出し、上記の式（１）〜式（３）に基づいて光源特定用の基準色の補正色を計算する。
【０１３９】
（Ｓ１２３）光源特定部１３２は、補正色テーブル１１１ｂを参照し、基準色補正部１３１により計算された補正色の色座標に最も近い補正色を検出する。そして、光源特定部１３２は、補正色テーブル１１１ｂから検出した補正色に対応する光源を入力画像の撮像時に利用した光源であると特定する。
【０１４０】
例えば、基準色補正部１３１が基準色＃５について補正色を計算した場合（図１０を参照）、光源特定部１３２は、補正色テーブル１１１ｂに記載の基準色＃５に対応する補正色のうち、基準色補正部１３１が計算した補正色に最も近い補正色を検出する。
【０１４１】
例えば、基準色補正部１３１が計算した補正色を（ｒm0，ｇm0，ｂm0）、光源＃１の補正色を（ｒmA，ｇmA，ｂmA）、光源＃２の補正色を（ｒmB，ｇmB，ｂmB）とした場合、最も近い補正色は、上記の式（１１）により得られる。図１０の例では、光源＃１が入力画像の撮像時に利用した光源であると特定される。Ｓ１２３の処理が完了すると、図１５に示した一連の処理は終了する。
【０１４２】
（入力色の補正）
次に、図１６を参照しながら、入力色の補正に関する処理の流れについて、さらに説明する。図１６は、第２実施形態に係る入力色の補正について処理の流れを示したフロー図である。
【０１４３】
（Ｓ１３１）色補正部１３３は、基準色テーブル１１１ａから色補正用の基準色を取得する。また、色補正部１３３は、入力画像に含まれる各色（入力色）の検出色を検出する。
【０１４４】
（Ｓ１３２）色補正部１３３は、Ｓ１３１で抽出した入力色を１つ選択する。
（Ｓ１３３）色補正部１３３は、Ｓ１３２で選択した入力色について、上記の式（１）において検出色の色座標（ｒo5，ｇo5，ｂo5）を入力色に関する検出色の色座標（ｒo，ｇo，ｂo）に置き換えた式に基づき、パラメータｈ1、ｈ2、ｈ3を計算する。
【０１４５】
（Ｓ１３４）色補正部１３３は、Ｓ１３３で計算したパラメータｈ1、ｈ2、ｈ3及びＳ１３１で取得した基準色を用いて線形補間で入力色の補正色を計算する。例えば、色補正部１３３は、上記の式（３）において補正色の色座標（ｒm5，ｇm5，ｂm5）を入力色に関する補正色の色座標（ｒm，ｇm，ｂm）に置き換えた式に基づいて入力色の補正色を計算する。
【０１４６】
（Ｓ１３５）色補正部１３３は、誤差テーブル１１１ｃから、光源特定部１３２により特定された光源に対応する、補正色の色座標についての調整値（補正誤差）を取得する。
（Ｓ１３６）色補正部１３３は、Ｓ１３５で取得した調整値で補正色を調整する。つまり、色補正部１３３は、調整値が表す補正誤差を打ち消すように補正色の色座標を調整する。例えば、各調整値の正負を反転させた値を補正色の色座標に加算することで、補正誤差を打ち消すことができる。
【０１４７】
（Ｓ１３７）画像補正部１１３は、Ｓ１３１で検出色が検出された入力色を全て選択し終えたか否かを判定する。入力色を選択し終えた場合、図１６に示した一連の処理は終了する。一方、未選択の入力色が存在する場合、処理はＳ１３２へと進む。
【０１４８】
（変形例＃１）
ここで、図１７を参照しながら、第２実施形態の一変形例（変形例＃１）について説明する。図１７は、第２実施形態の一変形例（変形例＃１）に係る光源の特定について処理の流れを示したフロー図である。変形例＃１は、光源の特定に関する処理の流れを変形するものである。なお、変形例＃１では、光源特定用の基準色が複数設定されている。
【０１４９】
（Ｓ１４１）基準色補正部１３１は、基準色テーブル１１１ａから複数の光源特定用の基準色及び色補正用の基準色を取得する。
（Ｓ１４２）基準色補正部１３１は、各光源特定用の基準色について線形変換（線形補間）により補正色を計算する。例えば、基準色補正部１３１は、入力画像から色補正用の基準色の検出色、及び光源特定用の基準色の検出色を検出し、上記の式（１）〜式（３）に基づいて光源特定用の基準色の補正色を計算する。
【０１５０】
（Ｓ１４３）光源特定部１３２は、Ｓ１４２で計算された補正色を１つ選択する。
（Ｓ１４４）光源特定部１３２は、補正色テーブル１１１ｂを参照し、Ｓ１４３で選択した補正色の色座標に最も近い補正色を抽出する。
【０１５１】
（Ｓ１４５）光源特定部１３２は、補正色テーブル１１１ｂから抽出した補正色に対応する光源に投票する。なお、ここで言う投票は、光源毎に用意されたカウンタのカウント値を増加させる処理である。
【０１５２】
（Ｓ１４６）光源特定部１３２は、Ｓ１４２で計算された補正色を全て選択し終えたか否かを判定する。補正色を全て選択し終えた場合、処理はＳ１４７へと進む。一方、未選択の補正色が存在する場合、処理はＳ１４３へと進む。
【０１５３】
（Ｓ１４７）光源特定部１３２は、投票数が最大の光源を選択し、その光源を入力画像の撮像時における光源であると特定する。つまり、光源特定部１３２は、光源毎に用意されたカウンタのカウント値を参照し、カウント値が最大の光源を、入力画像の撮像時における光源であると特定する。Ｓ１４７の処理が完了すると、図１７に示した一連の処理は終了する。
【０１５４】
（変形例＃２：光源の特定）
次に、図１８を参照しながら、第２実施形態の一変形例（変形例＃２）のうち、光源の特定に関する処理の流れを変形する方法について説明する。図１８は、第２実施形態の一変形例（変形例＃２）に係る光源の特定について処理の流れを示したフロー図である。なお、変形例＃２に係る光源の特定方法は、入力画像の撮像時における光源に近い混合光源の混合割合を計算し、その混合割合に基づいて光源を特定するものである。
【０１５５】
（Ｓ１５１）基準色補正部１３１は、基準色テーブル１１１ａから光源特定用の基準色及び色補正用の基準色を取得する。
（Ｓ１５２）入力画像の撮像時における光源が光源＃１、＃２、＃３の混合で表現される場合、その混合割合は加重ｗA、ｗB、ｗCで表現することができる。光源特定部１３２は、最小二乗法を利用して加重ｗA、ｗB、ｗCを計算する。
【０１５６】
例えば、基準色補正部１３１により基準色＃ｋ（ｋ＝５，６，…）の補正色（ｒmk，ｇmk，ｂmk）が計算されているものとする。また、基準色＃ｋに対応する光源＃１の補正色（ｒmAk，ｇmAk，ｂmAk）、光源＃２の補正色（ｒmBk，ｇmBk，ｂmBk）、光源＃３の補正色（ｒmCk，ｇmCk，ｂmCk）が計算されているものとする。この場合、光源特定部１３２は、上記の式（１４）に示す評価式Ｊが最小となるように上記の式（１５）に基づいて加重ｗA、ｗB、ｗCを計算する。
【０１５７】
（Ｓ１５３）光源特定部１３２は、Ｓ１５２で計算した加重の中から最大の加重を抽出し、抽出した加重に対応する光源を、入力画像の撮像時における光源であると特定する。Ｓ１５３の処理が完了すると、図１８に示した一連の処理は終了する。
【０１５８】
なお、図１８の例ではＳ１５３の処理において１つの光源（単一光源）を特定したが、Ｓ１５２で計算された加重を混合割合とする混合光源を、入力画像の撮像時における光源であると特定することもできる。この場合、Ｓ１５２で計算された加重は、図１９に示すように入力色の補正時に利用される。一方、単一光源を特定した場合、入力色の補正に関する処理の流れは図１６に示したものと同じになる。
【０１５９】
（変形例＃２：入力色の補正）
ここで、図１９を参照しながら、変形例＃２に係る入力色の補正に関する処理のうち、混合光源を特定した場合の処理の流れについて説明する。図１９は、第２実施形態の一変形例（変形例＃２）に係る入力色の補正について処理の流れを示したフロー図である。
【０１６０】
（Ｓ１６１）色補正部１３３は、基準色テーブル１１１ａから色補正用の基準色を取得する。また、色補正部１３３は、入力画像に含まれる各色（入力色）の検出色を検出する。
【０１６１】
（Ｓ１６２）色補正部１３３は、Ｓ１６１で抽出した入力色を１つ選択する。
（Ｓ１６３）色補正部１３３は、Ｓ１６２で選択した入力色について、上記の式（１）において検出色の色座標（ｒo5，ｇo5，ｂo5）を入力色に関する検出色の色座標（ｒo，ｇo，ｂo）に置き換えた式に基づき、パラメータｈ1、ｈ2、ｈ3を計算する。
【０１６２】
（Ｓ１６４）色補正部１３３は、Ｓ１６３で計算したパラメータｈ1、ｈ2、ｈ3及びＳ１６１で取得した基準色を用いて線形補間で入力色の補正色を計算する。例えば、色補正部１３３は、上記の式（３）において補正色の色座標（ｒm5，ｇm5，ｂm5）を入力色に関する補正色の色座標（ｒm，ｇm，ｂm）に置き換えた式に基づいて入力色の補正色を計算する。
【０１６３】
（Ｓ１６５）色補正部１３３は、誤差テーブル１１１ｃから、各光源に対応する、補正色の色座標についての調整値（補正誤差）を取得する。
（Ｓ１６６）色補正部１３３は、光源の混合割合を示す加重を係数とする調整値の線形和を計算する。例えば、入力色の補正色（ｒm，ｇm，ｂm）、光源＃１に対応する補正誤差（ｄＲA，ｄＧA，ｄＢA）、光源＃２に対応する補正誤差（ｄＲB，ｄＧB，ｄＢB）、光源＃３に対応する補正誤差（ｄＲC，ｄＧC，ｄＢC）が得られているとする。この場合、色補正部１３３は、下記の式（１８）に示す線形和を計算する。この線形和は、上記の式（１６）の右辺第２項から第４項において正負を反転したものに相当する。
【０１６４】
【数１８】
2016029770.tif 000020
【０１６５】
（Ｓ１６７）色補正部１３３は、Ｓ１６６で計算した線形和で補正色を調整する。例えば、色補正部１３３は、Ｓ１６６で計算した線形和の正負を反転させ、入力色の補正色（ｒm，ｇm，ｂm）に加算することで補正色を調整する。つまり、色補正部１３３は、上記の式（１６）により（ｒM，ｇM，ｂM）を計算する。このように、線形和の正負を反転させた値を補正色の色座標に加算することで、補正誤差を打ち消すことができる。
【０１６６】
（Ｓ１６８）画像補正部１１３は、Ｓ１６１で検出色が検出された入力色を全て選択し終えたか否かを判定する。入力色を選択し終えた場合、図１９に示した一連の処理は終了する。一方、未選択の入力色が存在する場合、処理はＳ１６２へと進む。
【０１６７】
以上、画像処理装置１００が実行する処理の流れについて説明した。
以上、第２実施形態について説明した。
＜３．第３実施形態＞
次に、第３実施形態について説明する。第２実施形態は光源特定用の基準色を利用して光源を特定する方法を採用しているが、第３実施形態は、色補正用の基準色を利用して光源を特定する方法を採用する。
【０１６８】
なお、第２実施形態と第３実施形態との相違点は主に光源の特定に関する処理にあり、その余の点については第２実施形態の技術が適用できる。従って、以下では光源の特定に関する処理について説明し、既に説明した内容については重複説明を省略する。
【０１６９】
（基準色特徴テーブル）
第３実施形態に係る画像処理装置１００の記憶部１１１には、基準色特徴テーブル２０１が格納される。ここで、図２０を参照しながら、基準色特徴テーブル２０１について説明する。図２０は、第３実施形態に係る基準色特徴テーブルの一例を示した図である。
【０１７０】
図２０に示すように、基準色特徴テーブル２０１は、光源の種類と、色特徴とを対応付けるテーブルである。ここで言う色特徴は、基準色の色座標を頂点とする立体の形状を規定する情報である。基準色の色座標を頂点とする立体の形状は光源の違いにより変化する。そのため、該立体の形状を規定する情報を光源の特定に利用することができる。例えば、基準色間の位置関係を規定する特徴量は色特徴となる。
【０１７１】
図２０には、光源の種類の例として光源＃１、＃２、＃３が示され、色特徴の例として色特徴ＣＺ１、ＣＺ２、ＣＺ３が示されている。色特徴ＣＺ１、ＣＺ２、ＣＺ３は、基準色間を結ぶ色空間上のベクトルＣＶ１、ＣＶ２、ＣＶ３を規格化したベクトルである。基準色間を結ぶ色空間上のベクトルは、基準色の色座標を頂点とする立体の形状を規定する情報であり、光源の特定に利用できる。
【０１７２】
例えば、光源＃１の下で色座標（ｒ0#1，ｇ0#1，ｂ0#1）となる基準色が、光源＃２の下で色座標（ｒ0#2，ｇ0#2，ｂ0#2）、光源＃３の下で色座標（ｒ0#3，ｇ0#3，ｂ0#3）と撮像されるとする。また、光源＃１の下で色座標（ｒ1#1，ｇ1#1，ｂ1#1）となる基準色が、光源＃２の下で色座標（ｒ1#2，ｇ1#2，ｂ1#2）、光源＃３の下で色座標（ｒ1#3，ｇ1#3，ｂ1#3）と撮像されるとする。
【０１７３】
上記２つの基準色を結ぶベクトルＣＶ１は、例えば、下記の式（１９）で与えられる。但し、ＣＶ１#1は光源＃１における上記２つの基準色を結ぶベクトルであり、ＣＶ１#2は光源＃２における上記２つの基準色を結ぶベクトルであり、ＣＶ１#3は光源＃３における上記２つの基準色を結ぶベクトルである。
【０１７４】
【数１９】
2016029770.tif 000021
【０１７５】
上記のＣＶ１#1、ＣＶ１#2、ＣＶ１#3をそのまま色特徴として利用することもできる。しかし、ここでは下記の式（２０）に示すように規格化したベクトルを色特徴として利用する。但し、下記の式（２０）に含まれるＺ01#1、Ｚ01#2、Ｚ01#3は、下記の式（２１）により与えられる。テーブル作成部１１２は、下記の式（２０）、式（２１）に基づいて計算したベクトルＣＺ１#1、ＣＺ１#2、ＣＺ１#3を色特徴として基準色特徴テーブル２０１に格納する。
【０１７６】
【数２０】
2016029770.tif 000022
【０１７７】
【数２１】
2016029770.tif 000023
【０１７８】
上記の式（２０）、式（２１）は、ベクトルの長さを１に規格化する式である。但し、ベクトルの長さを１以外に規格化することもできる。図２０は、ベクトルの長さを３０に規格化した場合における基準色特徴テーブル２０１の例を示している。この例において、色特徴ＣＺ１のうち、光源＃１に対応する色特徴ＣＺ１#1が（３０，０，０）であり、光源＃２に対応する色特徴ＣＺ１#2が（２７，５，０）であり、光源＃３に対応する色特徴ＣＺ１#3が（２７，−５，０）である。
【０１７９】
同様に、テーブル作成部１１２は、色特徴ＣＺ２、ＣＺ３を計算する。例えば、色特徴ＣＺ２、ＣＺ３は、下記の式（２２）、式（２３）により与えられる。
上記の通り、図２０の例はベクトルの長さを３０に規格化している。図２０の例では、光源＃１に対応する色特徴ＣＺ２#1が（０，３０，０）であり、光源＃２に対応する色特徴ＣＺ２#2が（０，２８，３）であり、光源＃３に対応する色特徴ＣＺ２#3が（０，２５，−７）である。また、光源＃１に対応する色特徴ＣＺ３#1が（０，０，３０）であり、光源＃２に対応する色特徴ＣＺ３#2が（０，８，２５）であり、光源＃３に対応する色特徴ＣＺ３#3が（０，−５，２７）である。
【０１８０】
【数２２】
2016029770.tif 000024
【０１８１】
【数２３】
2016029770.tif 000025
【０１８２】
【数２４】
2016029770.tif 000026
【０１８３】
なお、上記の例では３種類の色特徴ＣＺ１、ＣＺ２、ＣＺ３を光源毎に求めているが、色特徴の種類は２種類以下でもよいし、４種類以上でもよい。また、各ベクトルを規定する基準色の組み合わせも任意に設定することができる。
【０１８４】
ここで、図２１を参照しながら、基準色特徴テーブル２０１の作成に関する処理の流れについて説明する。図２１は、第３実施形態に係る基準色特徴テーブルの作成について処理の流れを示したフロー図である。
【０１８５】
（Ｓ２０１）テーブル作成部１１２は、基準色の色座標を光源毎に取得する。例えば、テーブル作成部１１２は、基準色テーブル１１１ａから基準光源下における基準色の色座標を取得する。また、テーブル作成部１１２は、上述した擬似サンプルの作成方法により、基準色テーブル１１１ａから色座標を取得した基準色について、基準光源とは異なる光源下における基準色の色座標を計算する。
【０１８６】
（Ｓ２０２）テーブル作成部１１２は、Ｓ２０１で得た基準色を組み合わせて基準色のペアを１つ選択する。
（Ｓ２０３）テーブル作成部１１２は、Ｓ２０２で選択したペアの色特徴を計算する。例えば、テーブル作成部１１２は、上記の式（１９）のように選択した基準色のペアを結ぶベクトルを計算する。そして、テーブル作成部１１２は、上記の式（２０）、式（２１）のようにベクトルを規格化して色特徴を計算する。
【０１８７】
（Ｓ２０４）テーブル作成部１１２は、Ｓ２０３で計算した色特徴を基準色特徴テーブル２０１に格納する。
（Ｓ２０５）テーブル作成部１１２は、基準色のペアを選択し終えたか否かを判定する。例えば、選択するペアの数が設定されている場合、テーブル作成部１１２は、設定されている数のペアを選択し終えたか否かを判定する。また、Ｓ２０１で得た基準色について全てのペアを選択する設定の場合、テーブル作成部１１２は、当該全てのペアを選択し終えたか否かを判定する。基準色のペアを選択し終えた場合、図２１に示した一連の処理は終了する。一方、基準色のペアを選択し終えていない場合、処理はＳ２０２へと進む。
【０１８８】
以上、基準色特徴テーブル２０１について説明した。
（光源の特定）
次に、図２２を参照しながら、光源の特定に関する処理の流れについて説明する。図２２は、第３実施形態に係る光源の特定について処理の流れを示したフロー図である。
【０１８９】
（Ｓ２１１）光源特定部１３２は、入力画像から基準色の色座標を取得する。
（Ｓ２１２）光源特定部１３２は、Ｓ２１１で色座標を取得した基準色を組み合わせた基準色のペアを１つ選択する。但し、ここで選択される基準色のペアは、基準色特徴テーブル２０１に含まれる色特徴の計算に用いた基準色のペアのいずれかと同じ組み合わせである。
【０１９０】
（Ｓ２１３）光源特定部１３２は、Ｓ２１２で選択したペアの色特徴を計算する。このとき、光源特定部１３２は、基準色特徴テーブル２０１の作成時にテーブル作成部１１２が実行した計算と同様の方法で色特徴を計算する。
【０１９１】
例えば、光源＃１の下で色座標（ｒ0#1，ｇ0#1，ｂ0#1）となる基準色が、入力画像において色座標（ｒ0(obs)，ｇ0(obs)，ｂ0(obs)）であるとする。また、光源＃１の下で色座標（ｒ1#1，ｇ1#1，ｂ1#1）となる基準色が、入力画像において色座標（ｒ1(obs)，ｇ1(obs)，ｂ1(obs)）であるとする。また、光源＃１の下で色座標（ｒ2#1，ｇ2#1，ｂ2#1）となる基準色が、入力画像において色座標（ｒ2(obs)，ｇ2(obs)，ｂ2(obs)）であるとする。
【０１９２】
入力画像について、基準色間を結ぶベクトルＣＶ１(obs)、ＣＶ２(obs)は、例えば、下記の式（２５）で与えられる。また、規格化して得られる色特徴ＣＺ１(obs)、ＣＺ２(obs)は、下記の式（２６）、式（２７）により与えられる。この場合、光源特定部１３２は、下記の式（２５）、式（２６）、式（２７）により色特徴ＣＺ１(obs)、ＣＺ２(obs)を計算する。なお、下記の式（２６）、式（２７）によりベクトルの長さが１に規格化されるが、光源特定部１３２は、基準色特徴テーブル２０１に記載の色特徴に合せて規格化後のベクトルの長さを調整する。
【０１９３】
【数２５】
2016029770.tif 000027
【０１９４】
【数２６】
2016029770.tif 000028
【０１９５】
【数２７】
2016029770.tif 000029
【０１９６】
（Ｓ２１４）光源特定部１３２は、基準色のペアを選択し終えたか否かを判定する。例えば、選択するペアの数が設定されている場合、光源特定部１３２は、設定されている数のペアを選択し終えたか否かを判定する。また、基準色特徴テーブル２０１に含まれる色特徴の計算に用いた基準色のペアを全て選択する設定の場合、光源特定部１３２は、該当する全てのペアを選択し終えたか否かを判定する。基準色のペアを選択し終えた場合、処理はＳ２１５へと進む。一方、基準色のペアを選択し終えていない場合、処理はＳ２１２へと進む。
【０１９７】
（Ｓ２１５）光源特定部１３２は、Ｓ２１２で選択した基準色のペアに対応する色特徴を基準色特徴テーブル２０１から取得する。例えば、上述した色特徴ＣＺ１に対応する基準色のペアについてＳ２１３で色特徴が計算されている場合、光源特定部１３２は、色特徴ＣＺ１について、基準色特徴テーブル２０１から各光源に対応する色特徴を取得する。
【０１９８】
（Ｓ２１６）光源特定部１３２は、Ｓ２１３で計算した色特徴と、Ｓ２１５で取得した各光源の色特徴とを用いて評価値を計算する。評価値として、光源特定部１３２は、色特徴を表すベクトル同士の内積や、ベクトルの差分絶対値などを利用する。
【０１９９】
内積を利用する場合、光源特定部１３２は、下記の式（２８）によりベクトル同士の内積Ｊ１#1、Ｊ１#2、Ｊ１#3を計算する。内積を評価値とした場合、ベクトル同士の類似度が高いほど評価値が大きくなる。つまり、内積をとる２つのベクトルに対応する２つの光源が近い特性の場合に評価値が大きくなる。
【０２００】
【数２８】
2016029770.tif 000030
【０２０１】
また、ベクトルの差分絶対値を利用する場合、光源特定部１３２は、下記の式（２９）により差分絶対値ＡＪ１#1、ＡＪ１#2、ＡＪ１#3を計算する。なお、差分絶対値ＡＪ１#1、ＡＪ１#2、ＡＪ１#3は、規格化せずにベクトルＣＶ１を利用する場合に評価値として利用される。差分絶対値を評価値とした場合、ベクトル同士の類似度が高いほど評価値が小さくなる。つまり、差分をとる２つのベクトルに対応する２つの光源が近い特性の場合に評価値が小さくなる。
【０２０２】
【数２９】
2016029770.tif 000031
【０２０３】
色特徴ＣＺ２についても同様に、光源特定部１３２は、評価値Ｊ２#1、Ｊ２#2、Ｊ２#3又はＡＪ２#1、ＡＪ２#2、ＡＪ２#3を計算し、光源毎の評価値の和Ｊ#1、Ｊ#2、Ｊ#3を評価値とする。但し、Ｊ#1＝（Ｊ１#1＋Ｊ２#1）、Ｊ#2＝（Ｊ１#2＋Ｊ２#2）、Ｊ#3＝（Ｊ１#3＋Ｊ２#3）、又は、Ｊ#1＝（ＡＪ１#1＋ＡＪ２#1）、Ｊ#2＝（ＡＪ１#2＋ＡＪ２#2）、Ｊ#3＝（ＡＪ１#3＋ＡＪ２#3）である。
【０２０４】
（Ｓ２１７）光源特定部１３２は、Ｓ２１６で計算した評価値が最も良い値をとる色特徴を抽出し、抽出した色特徴に対応する光源を、入力画像の撮像時における光源であると特定する。なお、評価値が最も良いとは、上記内積を評価値とした場合に評価値が最も大きいことを指し、上記差分絶対値を評価値とした場合に評価値が最も小さいことを指す。Ｓ２１７の処理が完了すると、図２２に示した一連の処理は終了する。
【０２０５】
（混合光源の特定）
ここで、図２３を参照しながら、混合光源を特定する処理の流れについて説明する。図２３は、第３実施形態に係る混合光源の特定について処理の流れを示したフロー図である。
【０２０６】
（Ｓ２２１）光源特定部１３２は、入力画像から基準色の色座標を取得する。
（Ｓ２２２）光源特定部１３２は、Ｓ２２１で色座標を取得した基準色を組み合わせた基準色のペアを１つ選択する。但し、ここで選択される基準色のペアは、基準色特徴テーブル２０１に含まれる色特徴の計算に用いた基準色のペアのいずれかと同じ組み合わせである。
【０２０７】
（Ｓ２２３）光源特定部１３２は、Ｓ２２２で選択したペアの色特徴を計算する。このとき、光源特定部１３２は、基準色特徴テーブル２０１の作成時にテーブル作成部１１２が実行した計算と同様の方法で色特徴を計算する。
【０２０８】
例えば、光源＃１の下で色座標（ｒ0#1，ｇ0#1，ｂ0#1）となる基準色が、入力画像において色座標（ｒ0(obs)，ｇ0(obs)，ｂ0(obs)）であるとする。また、光源＃１の下で色座標（ｒ1#1，ｇ1#1，ｂ1#1）となる基準色が、入力画像において色座標（ｒ1(obs)，ｇ1(obs)，ｂ1(obs)）であるとする。また、光源＃１の下で色座標（ｒ2#1，ｇ2#1，ｂ2#1）となる基準色が、入力画像において色座標（ｒ2(obs)，ｇ2(obs)，ｂ2(obs)）であるとする。
【０２０９】
入力画像について、基準色間を結ぶベクトルＣＶ１(obs)、ＣＶ２(obs)は、例えば、上記の式（２５）で与えられる。また、規格化して得られる色特徴ＣＺ１(obs)、ＣＺ２(obs)は、上記の式（２６）、式（２７）により与えられる。この場合、光源特定部１３２は、上記の式（２５）、式（２６）、式（２７）により色特徴ＣＺ１(obs)、ＣＺ２(obs)を計算する。なお、上記の式（２６）、式（２７）によりベクトルの長さが１に規格化されるが、光源特定部１３２は、基準色特徴テーブル２０１に記載の色特徴に合せて規格化後のベクトルの長さを調整する。
【０２１０】
（Ｓ２２４）光源特定部１３２は、基準色のペアを選択し終えたか否かを判定する。例えば、選択するペアの数が設定されている場合、光源特定部１３２は、設定されている数のペアを選択し終えたか否かを判定する。また、基準色特徴テーブル２０１に含まれる色特徴の計算に用いた基準色のペアを全て選択する設定の場合、光源特定部１３２は、該当する全てのペアを選択し終えたか否かを判定する。基準色のペアを選択し終えた場合、処理はＳ２２５へと進む。一方、基準色のペアを選択し終えていない場合、処理はＳ２２２へと進む。
【０２１１】
（Ｓ２２５）光源特定部１３２は、Ｓ２２２で選択した基準色のペアに対応する色特徴を基準色特徴テーブル２０１から取得する。例えば、上述したＣＺ１に対応する基準色のペアについてＳ２２３で色特徴が計算されている場合、光源特定部１３２は、色特徴ＣＺ１について、基準色特徴テーブル２０１から各光源に対応する色特徴を取得する。
【０２１２】
（Ｓ２２６）光源特定部１３２は、Ｓ２２３で計算した色特徴と、Ｓ２２５で取得した各光源の色特徴とを用いて評価値を計算する。評価値として、光源特定部１３２は、色特徴を表すベクトル同士の内積や、ベクトルの差分絶対値などを利用する。
【０２１３】
内積を利用する場合、光源特定部１３２は、上記の式（２８）によりベクトル同士の内積Ｊ１#1、Ｊ１#2、Ｊ１#3を計算する。内積を評価値とした場合、ベクトル同士の類似度が高いほど評価値が大きくなる。つまり、内積をとる２つのベクトルに対応する２つの光源が近い特性の場合に評価値が大きくなる。
【０２１４】
また、ベクトルの差分絶対値を利用する場合、光源特定部１３２は、上記の式（２９）により差分絶対値ＡＪ１#1、ＡＪ１#2、ＡＪ１#3を計算する。なお、差分絶対値ＡＪ１#1、ＡＪ１#2、ＡＪ１#3は、規格化せずにベクトルＣＶ１を利用する場合に評価値として利用される。差分絶対値を評価値とした場合、ベクトル同士の類似度が高いほど評価値が小さくなる。つまり、差分をとる２つのベクトルに対応する２つの光源が近い特性の場合に評価値が小さくなる。
【０２１５】
色特徴ＣＺ２についても同様に、光源特定部１３２は、評価値Ｊ２#1、Ｊ２#2、Ｊ２#3又はＡＪ２#1、ＡＪ２#2、ＡＪ２#3を計算し、光源毎の評価値の和Ｊ#1、Ｊ#2、Ｊ#3を評価値とする。但し、Ｊ#1＝（Ｊ１#1＋Ｊ２#1）、Ｊ#2＝（Ｊ１#2＋Ｊ２#2）、Ｊ#3＝（Ｊ１#3＋Ｊ２#3）、又は、Ｊ#1＝（ＡＪ１#1＋ＡＪ２#1）、Ｊ#2＝（ＡＪ１#2＋ＡＪ２#2）、Ｊ#3＝（ＡＪ１#3＋ＡＪ２#3）である。
【０２１６】
（Ｓ２２７）光源特定部１３２は、Ｓ２２６で計算した光源毎の評価値を合算する。例えば、光源特定部１３２は、ＪALL（ＪALL＝Ｊ#1＋Ｊ#2＋Ｊ#3）を計算する。そして、光源特定部１３２は、下記の式（３０）に基づいて各光源の混合割合ｗA、ｗB、ｗCを計算する。Ｓ２２７の処理が完了すると、図２３に示した一連の処理は終了する。なお、混合割合ｗA、ｗB、ｗCが得られると、既に図１９を参照しながら説明した方法により混合光源を想定した入力色の補正が可能になる。
【０２１７】
【数３０】
2016029770.tif 000032
【０２１８】
以上、第３実施形態について説明した。
なお、基準色の数、光源の数、色空間の表現方法などを適宜変形した変形例も上記実施形態の技術的範囲に属する。また、スマートフォンや携帯電話などの端末装置、パーソナルコンピュータやサーバなどの情報処理装置、デジタルカメラなどの撮像装置、或いは、プリンタ、コピー機、ファクシミリ、ディスプレイ装置などへの応用例も考えられる。こうした応用例についても当然に上記実施形態の技術的範囲に属する。また、上記の説明において、色空間としてＲＧＢ空間を例示していたが、ＨＳＶ空間やＹＵＶ空間に対しても同様に上記実施形態の技術を適用可能である。
【０２１９】
＜４．付記＞
以上説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）  色空間に設定された互いに異なる複数の基準色に関し、異なる複数の光源について各光源下における前記複数の基準色の色座標の関係を光源別に記憶する記憶部と、
処理対象となる対象画像から前記複数の基準色の色座標を検出し、検出した当該色座標の関係と、前記記憶部により光源別に記憶されている前記色座標の関係との類似度に基づいて前記対象画像の撮像時における光源を特定する演算部と
を有する、画像処理装置。
【０２２０】
（付記２）  前記記憶部は、前記複数の基準色の少なくとも一部を含む前記基準色の集合について、前記各光源下における前記基準色間の色座標の差を前記色座標の関係として記憶し、
前記演算部は、前記基準色の集合について、前記対象画像から検出した前記基準色の色座標から当該基準色間の色座標の差を計算し、計算した当該色座標の差と前記記憶部により記憶されている前記色座標の差との類似度に基づいて前記対象画像の撮像時における光源を特定する
付記１に記載の画像処理装置。
【０２２１】
（付記３）  前記複数の基準色は、前記対象画像の色補正に用いる複数の第１基準色と、前記光源の判断に用いる第２基準色とを含み、
前記記憶部は、基準光源として設定された光源下及び当該基準光源とは異なる他の光源下における前記複数の第１基準色の色座標と前記第２基準色の色座標とを記憶し、
前記演算部は、前記基準光源下における前記複数の第１基準色の色座標と、前記対象画像から検出した前記複数の第１基準色の色座標との差、及び、前記基準光源下における前記複数の第１基準色のそれぞれと前記第２基準色との色座標の関係から、補間処理により前記対象画像における前記第２基準色の色座標を計算し、計算した当該第２基準色の色座標と前記記憶部により記憶されている前記第２基準色の色座標との距離に基づいて前記対象画像の撮像時における光源を特定する
付記１に記載の画像処理装置。
【０２２２】
（付記４）  前記記憶部は、前記対象画像の色補正時に光源差による誤差の調整に用いる光源別の調整値を記憶し、
前記演算部は、前記複数の基準色の少なくとも一部について、前記基準光源下における前記基準色の色座標と、前記対象画像から検出した当該基準色の色座標との差に基づく補間処理により、前記対象画像から検出した色の色座標を補正して補正色とし、特定した前記光源に対応する前記調整値を用いて当該補正色の前記誤差を調整する
付記２又は３に記載の画像処理装置。
【０２２３】
（付記５）  前記演算部は、前記記憶部により光源別に記憶されている前記色座標の関係の中から複数の前記色座標の関係を抽出し、抽出した前記各色座標の関係に対応する光源に応じた前記調整値に前記類似度に基づく重みを付して加算した値を用いて前記補正色の前記誤差を調整する
付記４に記載の画像処理装置。
【０２２４】
（付記６）  コンピュータが、
色空間に設定された互いに異なる複数の基準色に関し、異なる複数の光源について各光源下における前記複数の基準色の色座標の関係を光源別に記憶する記憶部から前記色座標の関係を取得し、
処理対象となる対象画像から前記複数の基準色の色座標を検出し、検出した当該色座標の関係と、前記記憶部から取得した前記色座標の関係との類似度に基づいて前記対象画像の撮像時における光源を特定する
光源特定方法。
【０２２５】
（付記７）  コンピュータに、
色空間に設定された互いに異なる複数の基準色に関し、異なる複数の光源について各光源下における前記複数の基準色の色座標の関係を光源別に記憶する記憶部から前記色座標の関係を取得し、
処理対象となる対象画像から前記複数の基準色の色座標を検出し、検出した当該色座標の関係と、前記記憶部から取得した前記色座標の関係との類似度に基づいて前記対象画像の撮像時における光源を特定する
処理を実行させる、プログラム。
【０２２６】
（付記８）  前記記憶部は、前記複数の基準色の少なくとも一部を含む前記基準色の集合について、前記各光源下における前記基準色間の色座標の差を前記色座標の関係として記憶し、
前記コンピュータが、前記基準色の集合について、前記対象画像から検出した前記基準色の色座標から当該基準色間の色座標の差を計算し、計算した当該色座標の差と前記記憶部により記憶されている前記色座標の差との類似度に基づいて前記対象画像の撮像時における光源を特定する
付記６に記載の光源特定方法。
【０２２７】
（付記９）  前記複数の基準色は、前記対象画像の色補正に用いる複数の第１基準色と、前記光源の判断に用いる第２基準色とを含み、
前記記憶部は、基準光源として設定された光源下及び当該基準光源とは異なる他の光源下における前記複数の第１基準色の色座標と前記第２基準色の色座標とを記憶し、
前記コンピュータが、前記基準光源下における前記複数の第１基準色の色座標と、前記対象画像から検出した前記複数の第１基準色の色座標との差、及び、前記基準光源下における前記複数の第１基準色のそれぞれと前記第２基準色との色座標の関係から、補間処理により前記対象画像における前記第２基準色の色座標を計算し、計算した当該第２基準色の色座標と前記記憶部により記憶されている前記第２基準色の色座標との距離に基づいて前記対象画像の撮像時における光源を特定する
付記６に記載の光源特定方法。
【０２２８】
（付記１０）  前記記憶部は、前記対象画像の色補正時に光源差による誤差の調整に用いる光源別の調整値を記憶し、
前記コンピュータが、前記複数の基準色の少なくとも一部について、前記基準光源下における前記基準色の色座標と、前記対象画像から検出した当該基準色の色座標との差に基づく補間処理により、前記対象画像から検出した色の色座標を補正して補正色とし、特定した前記光源に対応する前記調整値を用いて当該補正色の前記誤差を調整する
付記８又は９に記載の光源特定方法。
【０２２９】
（付記１１）  前記コンピュータが、前記記憶部により光源別に記憶されている前記色座標の関係の中から複数の前記色座標の関係を抽出し、抽出した前記各色座標の関係に対応する光源に応じた前記調整値に前記類似度に基づく重みを付して加算した値を用いて前記補正色の前記誤差を調整する
付記１０に記載の光源特定方法。
【０２３０】
（付記１２）  付記７に記載のプログラムが格納された、コンピュータにより読み取り可能な記録媒体。
【符号の説明】
【０２３１】
１０  画像処理装置
１１  記憶部
１２  演算部
ＬＴ１、ＬＴ２、ＬＴ３  光源
ＢＣ１、ＢＣ２、ＢＣ３、ＢＣ４  基準色
ＶＡ、ＶＢ、ＶＡ０、ＶＢ０、ＶＡ１、ＶＡ２、ＶＡ３、ＶＢ１、ＶＢ２、ＶＢ３  色座標の関係
ＪＡ１、ＪＡ２、ＪＡ３、ＪＢ１、ＪＢ２、ＪＢ３  類似度
Ｐ０  対象画像
【図１】
2016029770.tif 000033
【図２】
2016029770.tif 000034
【図３】
2016029770.tif 000035
【図４】
2016029770.tif 000036
【図５】
2016029770.tif 000037
【図６】
2016029770.tif 000038
【図７】
2016029770.tif 000039
【図８】
2016029770.tif 000040
【図９】
2016029770.tif 000041
【図１０】
2016029770.tif 000042
【図１１】
2016029770.tif 000043
【図１２】
2016029770.tif 000044
【図１３】
2016029770.tif 000045
【図１４】
2016029770.tif 000046
【図１５】
2016029770.tif 000047
【図１６】
2016029770.tif 000048
【図１７】
2016029770.tif 000049
【図１８】
2016029770.tif 000050
【図１９】
2016029770.tif 000051
【図２０】
2016029770.tif 000052
【図２１】
2016029770.tif 000053
【図２２】
2016029770.tif 000054
【図２３】
2016029770.tif 000055