(57)【要約】【課題】  分光推定を行う際に誤差を増大させずに分光データの推定を行うことを課題とする。【解決手段】  入力データを分光データに線形変換する第一の変換処理と、前記複数の色データのうち少なくとも２つの色データを乗じて得られたデータを含む多次項色データを分光データに変換する第二の変換処理と、第一の変換処理と第二の変換処理に対する重み係数とに基づいて、入力データを分光データに変換する。【選択図】  図３
2012108066.tif 000002
【特許請求の範囲】
【請求項１】
複数の色データからなる入力データを分光データに変換する画像処理装置であって、
前記入力データを分光データに線形変換する第一の変換処理と、前記入力データを分光データに非線形変換する第二の変換処理とを入力する入力手段と、
前記入力データに応じて、第一の変換処理と前記第二の変換処理に対する重み係数を設定する設定手段と、
前記重み係数と前記第一の変換処理と前記第二の変換処理とに基づいて、前記入力データを前記分光データに変換する変換手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記第二の変換処理は、前記複数の色データのうち少なくとも２つの色データを乗じて得られたデータを含むデータを分光データに変換するための係数であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第一の変換処理、及び前記第二の変換処理は行列であることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記設定手段は、前記色データの値に基づいて前記重み係数を設定することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記重み係数は、前記複数の色データに対応する画素の位置に基づいて設定されることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項６】
前記色データの値に基づいて、前記色データを取得する際の撮像素子の飽和の状態を示す飽和率を算出する算出手段を更に有し、
前記設定手段は、前記算出手段により算出された飽和率に基づいて重み係数を設定することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項７】
前記複数の色データは、４色以上のデータであることを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
複数の色データからなる入力データと分光データとの組み合せを教師データとして、前記第一の変換処理、及び前記第二の変換処理を算出する算出手段を更に有することを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
コンピュータを、請求項１乃至請求項８の何れか１項に記載された画像処理装置の各手段として機能させることを特徴とするプログラム。
【請求項１０】
請求項９に記載のプログラムを記録したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力データから分光データを推定する技術に関する。
【背景技術】
【０００２】
４色以上のカラーフィルタを持つマルチバンドカメラを用いて被写体を撮影することにより取得された色データから、推定行列を用いて分光データを推定する技術が知られている。推定行列は、被写体の分光データと４色以上のカラーフィルタを持つマルチバンドカメラから出力される色データ（画素値）との組み合わせを教師データとして、ウィナー推定を用いて、算出される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−０３３９３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、一つの推定行列を用いて広範囲な色データに対して高精度に分光データを推定することはできない。
【０００５】
そこで本発明は、入力される色データに対して高精度に分光データを推定できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために本発明にかかる画像処理装置は、複数の色データからなる入力データを分光データに変換する画像処理装置であって、前記入力データを分光データに線形変換する第一の変換処理と、前記入力データを分光データに非線形変換する第二の変換処理とを入力する入力手段と、前記第一の変換処理と前記第二の変換処理に対する重み係数を設定する設定手段と、前記重み係数と前記第一の変換処理と前記第二の変換処理とに基づいて、前記入力データを前記分光データに変換する変換手段とを有する。
【発明の効果】
【０００７】
本発明によれば、入力される色データに対して高精度に分光データを推定することができる。
【図面の簡単な説明】
【０００８】
【図１】実施例１における画像処理装置の構成を示すブロック図である。
【図２】実施例１における分光画像推定部の構成を示すブロック図である。
【図３】実施例１における分光画像推定部の処理の流れを示すフローチャートである。
【図４】実施例１における飽和率算出および暗部率算出を説明するための図である。
【図５】実施例１における重み係数算出を説明するための図である。
【図６】実施例２における分光画像推定部の構成を示すブロック図である。
【図７】実施例２における分光画像推定部の処理の流れを示すフローチャートである。
【図８】実施例２における撮影条件に応じたパラメータの一例である。
【図９】撮像素子に入力される光量と出力される色データとの関係を示した図である。
【図１０】中間部の教師データ用いて、ダーク部の色データ及びハイライト部の色データに対する推定行列の算出を模式的に示した図である。
【発明を実施するための形態】
【０００９】
（実施例１）
図１は、本実施例における画像処理装置の構成を示すブロック図である。画像処理装置１０１は、画像入力部１０２、ＣＰＵ１０３，ＲＡＭ１０４、ＲＯＭ１０５、表示部１０６、入力部１０７、分光画像推定部１０８、システムバス１０９を有する。画像入力部１０２は、不図示の記憶媒体やネットワークを介して、マルチバンドカメラにより取得された画像データを入力する。かかるマルチバンドカメラは一画素当たり６バンドの色データを有する画像データを取得する。ＣＰＵ１０３は画像処理装置１０１内の各部を制御する。ＲＡＭ１０４は画像処理装置１０１を制御するためのプログラムや画像データなどを保持する。ＲＯＭ１０５はプログラムなどのデータを保持する。表示部１０６は、操作者に対して画像や各種指示を表示するＬＣＤ等である。入力部１０７は、操作者の指示を入力するキーボードやマウスなどである。分光画像推定部１０８は色データから分光画像データを推定する。推定された分光画像データの各画素は３６バンドの分光データを有する。システムバス１０９は各種データをやり取りする。
【００１０】
図２は、本実施例における分光画像推定部１０８のブロック図を示している。飽和率算出部２０１は、対象画素の画素値の飽和の度合いを示す飽和率を算出する。重み係数算出部２０２は、後述する線形変換及び非線形変換それぞれに対する重みを示す重み係数を算出する。推定行列記憶部２０３は線形変換の推定行列および非線形変換の推定行列を記憶する。分光データ算出部２０４は、線形変換の推定行列および非線形変換の推定行列を用いて色データから分光データを算出する。暗部率算出部２０５は、対象画素の画素値が暗部０に近い度合いを示す暗部率を算出する。パラメータ記憶部２０６は、重み調整パラメータ等の各種パラメータを一時的に保持する。
【００１１】
図３は、分光画像推定部１０８による分光推定処理を示すフローチャートである。まず、ステップＳ３０１では、画像入力部１０２から入力された画像データ（入力色データ）をＲＡＭ１０４に書き込む。画像データの各画素は６バンドの色データで示される。ステップＳ３０２では、推定行列記憶部２０３に記憶している線形変換の推定行列と非線形変換の推定行列を取得する。ステップＳ３０３では重み調整パラメータをパラメータ記憶部２０６から読み込み、ＲＡＭ１０４に書き込む。ステップＳ３０４では、ステップＳ３０１において書き込まれた画像データに対して、処理画素位置を初期化する。本実施例では、ステップＳ３０１の初期化により処理画素位置を基準位置である画像の左上ピクセルに設定する。
【００１２】
ステップＳ３０５では、飽和率算出部２０１及び暗部率算出部２０５は飽和率及び暗部率を算出する。ステップＳ３０６では、重み係数算出部２０２はステップＳ３０５によって算出された飽和率と暗部率およびＳ３０３で取得した重み調整パラメータに基づき重み係数を算出する。
【００１３】
ステップＳ３０７では、分光データ算出部２０４が、ステップＳ３０６で算出した重み係数とステップＳ３０２で取得した線形変化の推定行列と非線形変換の推定行列とを用いて、処理画素位置の６バンドの色データから分光データを推定し、ＲＡＭ１０４に格納する。なお、ステップＳ３０５、ステップＳ３０６、ステップＳ３０７の各処理の詳細については後述する。
【００１４】
ステップＳ３０８では、ステップＳ３０５からステップＳ３０７の処理が全ての画素位置について処理したかを判定する。全ての画素について処理したと判定された場合には、分光推定処理を終了し、全ての画素について処理していない場合にはステップＳ３０９に進む。ステップＳ３０９では、処理画素位置の更新を行い、処理画素位置を一つ右に移動する。なお、走査線の右端を処理した場合には、次の走査線の左端が次の処理画素位置となる。
【００１５】
［分光推定行列］
ステップＳ３０２において推定行列記憶部２０３から読み込む線形変換の推定行列および非線形変換の推定行列について説明する。以下、推定行列を用いて６バンドの色データを、可視光領域３８０〜７３０ｎｍを１０ｎｍごとにサンプリングした３６バンドの分光データに変換する場合を用いて説明する。
【００１６】
推定行列は、マルチバンドカメラにより取得された６バンドの色データを３６バンドの分光データに変換する行列である。マルチバンドカメラのバンド数をｍ、変換後の分光データのバンド数をｎとすると、ｍ＝６、ｎ＝３６となる。推定行列記憶部２０３に記憶されている線形変換の推定行列をＧ１とし、非線形変換の推定行列をＧ２とする。
【００１７】
線形変換の推定行列Ｇ１は、６バンドの色データを線形変換することにより分光データを算出するための行列である。
【００１８】
一方で、非線形変換の推定行列Ｇ２は、６バンドの色データを非線形変換することにより分光データを算出するための行列である。例えば、非線形変換の推定行列Ｇ２は、６バンドの色データのうち少なくとも２つのバンドデータを乗じて得られたデータを分光データに変換するための行列である。以後、この少なくとも２つのバンドデータを乗じて得られたデータを多次項データと呼ぶ。
【００１９】
線形変換の推定行列Ｇ１は、式（１）に示す通り６×３６の行列である。
【００２０】
【数１】
2012108066.tif 000003
【００２１】
以下の式（２）により線形変換の推定行列Ｇ１を用いて、６バンド色データＣ１から分光データｒ１を推定することができる。
【００２２】
【数２】
2012108066.tif 000004
【００２３】
ｒ１：線形変換の推定行列Ｇ１を用いて推定された分光データ（１×３６の行列）
Ｃ１：６バンド色データ（１×６の行列）
色データの各バンドデータをＯ１〜Ｏ６とすると、
Ｃ１＝［Ｏ１  Ｏ２  Ｏ３  Ｏ４  Ｏ５  Ｏ６］      （３）
となる。以下、このような各バンドデータを一次項データと呼ぶ。
【００２４】
一方で、非線形変換の推定行列Ｇ２は、式（４）に示す通り２７×３６の行列となる。
【００２５】
【数３】
2012108066.tif 000005
【００２６】
以下の式（５）により非線形変換を示す推定行列Ｇ２を用いて分光データを推定することができる。
【００２７】
【数４】
2012108066.tif 000006
【００２８】
ｒ２：非線形変換の推定行列Ｇ２を用いて推定された分光データ（１×３６の行列）
Ｃ２：入力された６バンドの色データの１次項データおよび２次項データを有するデータ（１×２７の行列）
【００２９】
データＣ２は、色データの各バンドデータをＯ１〜Ｏ６とすると、以下のような１×２７の行列となる。
Ｃ２＝［Ｏ１２  Ｏ２２  Ｏ３２  Ｏ４２  Ｏ５２  Ｏ６２  Ｏ１Ｏ２  Ｏ１Ｏ３  Ｏ１Ｏ４  Ｏ１Ｏ５  Ｏ１Ｏ６  Ｏ２Ｏ３  Ｏ２Ｏ４  Ｏ２Ｏ５  Ｏ２Ｏ６  Ｏ３Ｏ４  Ｏ３Ｏ５  Ｏ３Ｏ６  Ｏ４Ｏ５  Ｏ４Ｏ６  Ｏ５Ｏ６  Ｏ１  Ｏ２  Ｏ３  Ｏ４  Ｏ５  Ｏ６］      （６）
多次項色データは、色データＯ１〜Ｏ６のうちの２つを乗じて得られたデータ（Ｏ２２やＯ１Ｏ２等）を含むデータである。
【００３０】
以下、線形変換の推定行列Ｇ１と非線形変換を示す推定行列Ｇ２の算出方法を示す。
【００３１】
ある色票の既知の分光データと、この色票をマルチバンドカメラにより撮影することにより取得された複数の６バンドの色データとの組み合わせである教師データを用いてウィナー推定や主成分分析を行うことにより、線形変換の推定行列Ｇ１及び非線形変換の推定行列Ｇ２を算出する。
【００３２】
図９は、一般的なＣＭＯＳやＣＣＤなどの撮像素子に入力される光量と出力される撮像素子に対応する色データとの関係を示している。○印と△印は教師データのサンプルを示している。図から明らかなようにダーク部９０１及びハイライト部９０２では、色データの挙動が不自然であり誤差を多く含んでいることがわかる。この部分のデータ（△印）を教師データとして推定行列Ｇ１、Ｇ２を算出した場合、この誤差の影響により推定行列による推定精度が低下してしまう場合がある。一方で、ダーク部９０１及びハイライト部９０２を含まない中間部９０３においては、誤差が少ない。従って、本実施例では、中間部９０３における教師データ（○印）のみを用いて、ダーク部９０１、ハイライト部９０２、及び中間部９０３における推定行列Ｇ１、Ｇ２を算出する。
【００３３】
以下、線形変換の推定行列Ｇ１を用いた分光推定と、非線形変換の推定行列Ｇ２を用いた分光推定との対比を示す。
【００３４】
マルチバンドカメラから出力される色データと分光データとの関係は非線形であることが知られている。
よって、信頼性の高い教師データを用いて算出された非線形変換の推定行列Ｇ２を使用した分光推定は、線形変換の推定行列Ｇ１を用いた分光推定と比べて推定精度が高い。
【００３５】
上述の通り、本実施例ではダーク部９０１及びハイライト部９０２のデータは誤差を多く含んでいるため、この部分のデータは教師データとしない。したがって、非線形変換の推定行列Ｇ２のダーク部およびハイライト部における推定精度が、中間部における推定精度と同様に高いとは限らない。図９に示すように、中間部の教師データであっても多少のばらつきは生じている。したがって、中間部の教師データから作成された非線形変換の推定行列Ｇ２のダーク部およびハイライト部における推定精度が悪い場合も考えられる。マルチバンドカメラの特性は完全な線形ではないが、プリンタなどにくらべると線形性の度合が強い。したがって、ダーク部およびハイライト部に対して、中間部の教師データを用いて算出された線形変換の推定行列Ｇ１を使用して分光データを推測した場合、極端に推定精度が悪くなることを防ぐとともに、ある程度の推定精度を得ることができる。
【００３６】
図１０は、中間部の教師データ１００３を用いて、教師データの存在しないダーク部の色データ１００２及びハイライト部の色データ１００１に対する推定行列の算出を模式的に示した図である。
【００３７】
教師データの存在しないハイライト部やダーク部における推定行列を算出する場合、中間部の教師データ１００３の傾向によっては、推定行列の誤差を増大させてしまう恐れがある。この誤差を多く含む推定行列により得られる分光データの推定値は大きな誤差を含むものとなってしまう。特に、非線形変換を示す推定行列Ｇ２を用いて分光推定を行った場合、中間部の教師データの傾向によっては、かかる分光データの推定値の誤差は非常に大きなものとなってしまう。
【００３８】
一方で、中間部の教師データ１００３を用いて、線形変換を示す推定行列Ｇ１を用いて分光推定を行うことも可能である。前述の通り、線形変換を示す推定行列Ｇ１を用いて分光推定を行う場合は、非線形変換を示す推定行列Ｇ２を用いて分光推定を行う場合と比較して推定精度は良くない。しかしながら、中間部の教師データを用いて、教師データの存在しないダーク部の色データ１００１とハイライト部の色データ１００２とに対する推定行列を算出する場合、推定行列Ｇ２と比較して推定行列Ｇ１の誤差の増大はある程度抑制することができる。また、推定行列Ｇ１を用いた分光推定であってもある程度の推定精度は得ることができる。
【００３９】
本実施例では線形変換を示す推定行列Ｇ１と非線形変換を示す推定行列Ｇ２とを以下のように使用する。
中間部の色データに対して非線形変換の推定行列Ｇ２を用いて分光データの推定をすることにより、高精度な分光推定を実現する。ダーク部およびハイライト部については、重み係数算出部２０２により算出された重み係数を用いて、線形変換の推定行列Ｇ１および非線形変換の推定行列Ｇ２結果を重みづけ演算することにより分光データを推定する。ハイライト部において、よりハイライト側（飽和する側）の色データに対しては線形変換の推定行列Ｇ１による分光推定の影響度を大きくしていく。ダーク部においても、よりダーク側（暗い側）の色データに対しては線形変換を示す推定行列Ｇ１による分光推定の影響度を大きくしていく。このように分光推定を行うことにより、ハイライト部、及びダーク部において推定精度が悪化することを抑制することができる。
【００４０】
［飽和率・暗部率の算出］
ステップＳ３０５の飽和率の算出について説明する。図４は、撮像素子に入力される光量と出力される色データ（画素値）との関係を示している。本実施例では、まず、各バンドの色データの飽和率を算出する。対象とする色データをＯＳ、撮像素子が飽和する際の飽和画素値をＳａ、変曲点（センサの特性によって決定されるハイライト部４０２と中間部４０３との境界）の色データを閾値ｉｎｆ１とすると、ｍバンド目の色データの飽和率Ｓｍは次式により算出する。
【００４１】
【数５】
2012108066.tif 000007
【００４２】
式（７）は、以下のことを示している。
・ダーク部４０１、及び中間部４０３では飽和率Ｓｍは０である。
・飽和率Ｓｍは、ハイライト部４０２にかかる閾値ｉｎｆ１の時に０となり、ハイライト部４０２では色データＯＳに比例して増加する。
さらに、次式により全バンドの飽和率Ｓｍを考慮した代表飽和率Ｓを算出する。
【００４３】
【数６】
2012108066.tif 000008
【００４４】
上式で算出された代表飽和率Ｓに基づいて、後述する線形変換を示す推定行列Ｇ１と非線形変換を示す推定行列Ｇ２に対する重み係数を算出し、分光データを推定する。ここで、代表飽和率Ｓは各バンドの飽和率Ｓｍの平均値としている。これは、飽和率の高い特定のバンドの影響により、他の飽和率の高くないバンドのデータまでも飽和率が高いとみなされることを抑制している。
【００４５】
同様にステップＳ３０５の暗部率の算出について説明する。各バンドの色データをＯＤ、変曲点（ダーク部４０１と中間部４０３との境界）の色データを閾値ｉｎｆ２とするとｍバンド目の色データの暗部率Ｄｍは次式により算出される。
【００４６】
【数７】
2012108066.tif 000009
【００４７】
式（９）は、以下のことを示している
・中間部４０３、及びハイライト部４０２では暗部率Ｄｍは０である。
・暗部率Ｄｍは、ダーク部４０１にかかる閾値ｉｎｆ２の時に０となり、ダーク部４０１では色データＯＤに比例して減少する。
そして、次式により全バンドの暗部率Ｄｍを平均した代表暗部率Ｄを算出する。
【００４８】
【数８】
2012108066.tif 000010
【００４９】
なお、代表飽和率Ｓと代表暗部率Ｄは全バンドの平均値に基づいて決定されるものしたが、例えば、中央値や最頻値等の他の統計値を利用して代表飽和率Ｓと代表暗部率Ｄを決定しても良い。
【００５０】
［重み係数の算出］
ステップＳ３０６の重み係数算出部２０２について説明する。図５（ａ）はハイライト部４０２における代表飽和率Ｓから重み係数を算出時の概念図を示している。横軸を代表飽和率Ｓ、縦軸を重み係数αとすると、次式によって、重み係数αを算出する。
【００５１】
【数９】
2012108066.tif 000011
【００５２】
ここで、ａとｂは０≦ａ≦ｂ≦１．０の条件を満たし、ステップＳ３０３にて読み込んだパラメータである。同様に、ダーク部４０１における重み係数αを次式により求める。
【００５３】
【数１０】
2012108066.tif 000012
【００５４】
式（１１）の場合と同様にａとｂは０≦ａ≦ｂ≦１．０の条件を満たし、ステップＳ３０３にて読み込んだ重み調整パラメータである。
【００５５】
ａとｂとは、線形変換による分光推定と非線形変換による分光推定との影響度合いを調整するためのパラメータである。例えば、ハイライト部４０２（又はダーク部４０１）において広い光量領域にわたり線形変換による分光推定を行いたい場合は、ａを大きく設定すればよい。また、ハイライト部４０２（又はダーク部４０１）において広い光量領域において非線形変換による分光推定を行いたい場合は、ｂを小さく設定すればよい。
【００５６】
［分光データの推定］
ステップＳ３０７の分光の推定について説明する。分光データｒ（１×３６行列）は、ステップＳ３０２にて読み込んだ線形変換を示す推定行列Ｇ１と非線形変換を示す推定行列Ｇ２、および、色データＣ１とデータＣ２、さらにステップＳ３０６にて算出した重み係数αを用いて式（６）によって算出する。
【００５７】
【数１１】
2012108066.tif 000013
【００５８】
本実施例では、飽和率および暗部率に応じて決定される重み係数αを用いて重みづけ演算することにより、推定された分光データの連続性を維持することができる。
【００５９】
以上の通り、中間部の教師データを用いてダーク部とハイライト部の分光データを推定する場合、中間部における教師データの誤差が、ダーク部とハイライト部において増大されてしまう場合がある。この誤差の増大は、線形変換を用いた推定よりも非線形変換を用いた推定の方が大きい。式（１３）は、暗部になればなるほど、或いはハイライトになればなるほど、線形変換の影響を大きくし、非線形変換の影響を小さくする。よって、本実施例によればハイライト部、及びダーク部において推定精度が悪化することを抑制することができる。よって、本実施例によれば、ダーク部、中間部、ハイライト部において分光データの推定を適切に行うことができる。
【００６０】
［変形例］
以下、本実施例の変形例を示す。
【００６１】
・上記実施例では、６バンド出力のマルチバンドカメラから出力される色データを、３６バンドの分光データに変換するとしたが、２４バンドなど他のバンド数の分光データに変換しても構わない。
【００６２】
・上記実施例では、線形変換を示す推定行列Ｇ１は６×３６の行列、非線形変換を示す推定行列Ｇ２は、２７×３６の行列としたが、定数項を含めて７×３６の行列や２８×３６の行列としてもよい。
【００６３】
・上記実施例では、代表飽和率Ｓおよび代表暗部率Ｄを算出する際、各バンドの飽和率Ｓｍの平均値を用いた。しかし、平均値ではなく他の統計値であってもよい。例えば、各バンドの飽和率Ｓｍの最大値を代表飽和率とすることにより、最も誤差が生ずるバンドを考慮して分光データを推定することが可能となる。
【００６４】
・上記本実施例では、色データから分光データへの変換を行列演算としたが、これに限らない。例えば、行列演算の代わりに多項式演算を用いてもよい。この場合、線形変換を示す推定行列Ｇ１は線形変換を示す多項式演算Ｆ１となり、非線形変換を示す推定行列Ｇ２は非線形変換を示す多項式演算Ｆ２となる。これら行列演算及び多項式演算を変換処理と称する。
【００６５】
・上記本実施例では、線形変換を示す推定行列の入力として一次項色データを用い、非線形変換を示す推定行列の入力として二次項色データを用いた例を示したが、これに限定されることがないのは言うまでもない。非線形変換を示す推定行列の入力として三次項色データや四次項色データを用いてもよい。
【００６６】
・上記実施例では、中間部の教師データのみを用いてダーク部とハイライト部の分光データを推定するとした。これは、ダーク部とハイライト部における教師データの精度が悪いためである。しかしながら、ダーク部とハイライト部の教師データを用いて分光データを推定しても構わない。すなわち、誤差を多く含んだ教師データを用いる場合に、ダーク部やハイライト部において誤差を増大させないために線形変換を示す行列の影響を大きくする一方で、非線形変換を示す行列の影響を小さくした方が良い。上述の式（１３）は、暗部になればなるほど、或いはハイライトになればなるほど、線形変換の影響を大きくし、非線形変換の影響を小さくすることを示していることから、上述のような効果を実現することができる。
【００６７】
（実施例２）
光学系の収差の影響により画像中の像高が高い領域においては誤差が乗りやすい。一方で、画像中の像高が低い領域においては収差の影響は少なく誤差が少ない。したがって、像高が低い領域における教師データを用いて推定行列を算出することが望まれる。
【００６８】
本実施例では、収差の影響の少ない像高の低い領域の教師データに基づいて、（１）像高の低い領域に対して非線形変換を示す推定行列を算出し、（２）像高の高い領域に対して線形変換を示す推定行列を算出する。
【００６９】
本実施例における画像処理装置１０１は実施例１と等しいため省略する。図６は本実施例における分光画像推定部１０８のブロック図である。実施例１と等しいところは説明を省略する。撮影条件抽出部６０１は、マルチバンドカメラによる撮影時の絞り値、焦点距離、被写体距離等の撮影条件を入力する。像高算出部６０２は、画像中の処理画素の像高を算出する。
【００７０】
図７は本実施例の分光画像推定部１０８のフローチャートである。まず、ステップＳ７０１では、画像入力部１０２から画像データをＲＡＭ１０４に読み込む。ステップＳ７０３では分光画像推定処理に必要なパラメータとして、線形変換を示す推定行列Ｇ１、非線形変換を示す推定行列Ｇ２を推定行列記憶部２０３からＲＡＭ１０４に読み込む。ステップＳ７０３では、撮影条件抽出部６０１にて読み込んだ画像データのメタデータなどから、撮影条件（絞り値、焦点距離、被写体距離など）を抽出し、撮影条件に対応するパラメータを読み込む（詳細は後述する）。ステップＳ７０４では、ステップＳ７０１において読み込んだ画像データに対して、処理画素位置を初期化する。ステップＳ７０５では、像高算出部６０２にて、処理画素位置の像高を算出する（詳細は後述する）。ステップＳ７０６では、ステップＳ７０５の結果およびステップＳ７０３にて読み込んだパラメータに基づき重み係数算出部２０２にて重み係数を算出する（詳細は後述する）。ステップＳ７０７では、ステップＳ７０６で算出した重み係数に基づき、分光データ算出部２０４にて分光データを推定する。ステップＳ７０８では、ステップＳ７０５からステップＳ７０７の処理がすべての画素位置について処理したかを判定する。処理した場合には、ステップＳ７０９に進み、そうでない場合にはエンドに進む。最後にステップＳ７０９では、処理画素位置の更新を行う。
【００７１】
［撮影条件に応じたパラメータ］
図８は、パラメータ記憶部２０６に保持されている撮影条件に応じた重み調整パラメータの例である。光学系の収差は、レンズの絞り、焦点距離、被写体距離等の撮影条件によって変化する。そこで、Ｓ７０３において、各撮影条件に応じて、後述するａ、ｂの重み調整パラメータを予め設定しておき、画像のメタデータに応じてテーブル情報を読み込む。
【００７２】
［像高算出］
ステップＳ７０５の像高算出について説明する。光学系の収差は、光軸中心に対して、点対称となることが一般的である。光軸中心を（ｘ０、ｙ０）、処理画素位置（ｘ、ｙ）とすると、光軸中心からの距離の像高ｒは、次式によって算出する。
【００７３】
【数１２】
2012108066.tif 000014
【００７４】
［重み係数の算出］
ステップＳ７０７において、次式によって重み係数は算出される。
【００７５】
【数１３】
2012108066.tif 000015
【００７６】
重み調整パラメータａ、ｂはステップＳ７０２において、撮影条件に応じて読み込まれるパラメータである。
【００７７】
推定行列の算出方法や、分光データの推定などについては実施例１と同様のため省略する。
【００７８】
以上、説明したように本処理によって、光学系の収差の影響により、画像領域（像高）によって推定の誤差が増大することを防ぐことで、全画面において分光推定を良好に行う。
【００７９】
（その他の実施例）
実施例１および実施例２では、飽和率、及び、像高をパラメータとして、線形変換を示す推定行列と非線形変換を示す推定行列を算出するとしたが、飽和率と像高の組み合わせによって、重み係数を算出したとしてもかまわない。その際、飽和率と像高に対してそれぞれ重みをつけることで適切な重み率を算出する。
【００８０】
また、本発明は、上述した実施例の機能（例えば、上記のフローチャートにより示される機能）を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が、コンピュータが読み取り可能に記憶媒体に格納されたプログラムコードを読み出し実行することにより、上述した実施例の機能を実現する。
【図１】
2012108066.tif 000016
【図２】
2012108066.tif 000017
【図３】
2012108066.tif 000018
【図４】
2012108066.tif 000019
【図５】
2012108066.tif 000020
【図６】
2012108066.tif 000021
【図７】
2012108066.tif 000022
【図８】
2012108066.tif 000023
【図９】
2012108066.tif 000024
【図１０】
2012108066.tif 000025