(57)【要約】      （修正有）【課題】分光感度を考慮した補間を行うことで多原色撮像を可能にする撮像装置を提供する。【解決手段】撮像データ入力部１０１、スペクトル強度関数推定部１０２、スペクトル強度推定部１０３とで構成する。まず、ブロック内の様々な分光感度を持つ受光素子から撮像データを得る。次に、その撮像データをもとにブロック内の光の強度の変化をスペクトル強度関数としてモデル化する。最後に、得られたスペクトル強度関数を用いてブロック内の各点の光の強度を推定する。これにより、ブロック内の異なるスペクトルを持つ光の強度を個別に推定できる。【選択図】図１
2009077051.tif 000002
【特許請求の範囲】
【請求項１】
異なる分光感度を持つ複数の受光素子を有する撮像素子と、
前記撮像素子上の任意の領域に含まれる各受光素子について、前記各受光素子の前記撮像素子上での位置を示す受光素子位置、分光感度及び測定信号量を含む撮像データを取得する撮像データ入力部と、
前記領域内における、互いに異なる分光透過スペクトルを持つ光毎の強度を記述する複数のスペクトル強度関数のパラメータのそれぞれを、前記撮像データから推定するパラメータ推定部と、
前記複数のスペクトル強度関数とそれぞれの前記パラメータとから、前記領域内における前記光毎の強度をそれぞれ推定する強度推定部と、
前記光毎のそれぞれの推定強度を受光素子毎に出力する出力部と、
を備える撮像装置。
【請求項２】
前記パラメータ推定部は、
前記複数のスペクトル強度関数を記憶する第１記憶部と、
前記撮像素子の各受光素子において、前記各スペクトル強度関数にそれぞれ対応付けられた分光透過スペクトルと、前記受光素子が持つ前記分光感度が類似しているほど大きくなる実数である分光重みを記憶する第２記憶部と、
前記分光重みを用いた前記スペクトル強度関数の重み付け和であるモデル信号量と、前記受光素子から得られた測定信号量の差の絶対値が大きくなるほど大きくなるモデル誤差が、最小となるように前記パラメータを求める演算部と、
を備える請求項１記載の撮像装置。
【請求項３】
前記演算部は、前記受光素子毎に算出される前記測定信号量と前記モデル信号量の差の二乗の和から前記モデル誤差を求める、
請求項２記載の撮像装置。
【請求項４】
前記演算部は、記受光素子毎に算出される前記測定信号量と前記モデル信号量の差の二乗の値に、前記受光素子の位置が前記領域の中心から離れるほど小さくなる位置重みを乗じて加算した値から前記モデル誤差を求める、
請求項２記載の撮像装置。
【請求項５】
前記演算部は、前記受光素子毎に算出される前記測定信号量と前記モデル信号量の差の二乗の値に、前記受光素子の位置が前記領域内に撮像されている画像のエッジから離れるほど小さくなる位置重みを乗じて加算した値から前記モデル誤差を求める、
請求項２記載の撮像装置。
【請求項６】
前記第１記憶部が記憶している２つ以上、または、全ての前記スペクトル強度関数の導関数が一致している、
請求項２記載の撮像装置。
【請求項７】
前記第１記憶部は、前記領域内の位置を表す複数の基底関数のそれぞれを、実数である前記パラメータで重み付けして加算した関数を、前記スペクトル強度関数として記憶している、
請求項２記載の撮像装置。
【請求項８】
前記第１記憶部が記憶している２つ以上、または、全ての前記スペクトル強度関数について、同一の前記基底関数に対応するパラメータが同一である、
請求項７記載の撮像装置。
【請求項９】
前記基底関数が、前記領域内の位置を表す２次元座標系の座標から構成される多項式である、
請求項７記載の撮像装置。
【請求項１０】
前記多項式が、５次以下である、
請求項９記載の撮像装置。
【請求項１１】
前記基底関数が、前記領域内の位置を表す２次元座標系の座標を用いた三角関数である、
請求項６記載の撮像装置。
【請求項１２】
前記スペクトル強度推定部は、前記画像の各位置における前記各スペクトル強度関数のそれぞれの値を出力する、
請求項１記載の撮像装置。
【請求項１３】
カラーフィルタによって異なる分光感度を持つ複数の受光素子から構成される撮像素子上の任意の領域に含まれる各受光素子について、前記各受光素子の前記撮像素子上での位置を示す受光素子位置、分光感度及び測定信号量を含む撮像データを取得する撮像データ入力ステップと、
前記領域内における、互いに異なる分光透過スペクトルを持つ光毎の強度を記述する複数のスペクトル強度関数のパラメータのそれぞれを、前記撮像データから推定するパラメータ推定ステップと、
前記複数のスペクトル強度関数とそれぞれの前記パラメータとから、前記領域内における前記光毎の強度をそれぞれ推定する強度推定ステップと、
前記光毎のそれぞれの推定強度を受光素子毎に出力する出力ステップと、
を備える撮像方法。
【請求項１４】
カラーフィルタによって異なる分光感度を持つ複数の受光素子から構成される撮像素子上の任意の領域に含まれる各受光素子について、前記各受光素子の前記撮像素子上での位置を示す受光素子位置、分光感度及び測定信号量を含む撮像データを取得する撮像データ入力機能と、
前記領域内における、互いに異なる分光透過スペクトルを持つ光毎の強度を記述する複数のスペクトル強度関数のパラメータのそれぞれを、前記撮像データから推定するパラメータ推定機能と、
前記複数のスペクトル強度関数とそれぞれの前記パラメータとから、前記領域内における前記光毎の強度をそれぞれ推定する強度推定機能と、
前記光毎のそれぞれの推定強度を受光素子毎に出力する出力機能と、
をコンピュータによって実現する撮像プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カラーフィルタの分光透過スペクトルを利用した補間処理により、任意のカラーフィルタを装着した単板撮像素子を用いて、多原色出力を可能にした撮像装置、及びその撮像方法に関する。
【背景技術】
【０００２】
小型カメラの実現のため、単板撮像素子に数種類の分光透過スペクトルを持つカラーフィルタを並べたカラーフィルタ配列を装着し、この単板撮像素子によって得た撮像データから、カラー画像を得るというニーズがある。
【０００３】
従来のカラーフィルタには、Ｒ，Ｇ，ＢのカラーフィルタからなるＢａｙｅｒ配列やＣｙ，Ｍｇ，Ｙｅ，Ｇのカラーフィルタからなる補色フィルタなど、３原色表示を意図して作成されたものが多く用いられている。
【０００４】
また、各カラーフィルタの出力からカラー画像を得るため専用のデモザイキング手法が提案されており、例えばＢａｙｅｒ配列ならばＡＣＰＩ法（例えば、特許文献１参照）が提案されている。
【０００５】
ところで、色再現性を高めるため、上記のような３原色を用いた画像表示と異なる４色以上を用いた多原色表示も研究されている。例えば、非特許文献１に示すような多原色撮像系が提案されている。しかし、装置が大型であるという問題点があった。
【０００６】
また、特許文献２のように、色再現性を高めるためにＧのフィルタを２種類用意する手法も提案されているが、３原色表示に特化しており４色以上の出力には対応できないという問題点があった。
【０００７】
また、カラーフィルタの変更により色再現性を高める以外の効果を得られる技術も開示されており、例えば特許文献３ではダイナミックレンジを拡張することができる。
【０００８】
しかしこれらの手法は、基本的に３原色表示対応であり、また個別のカラーフィルタに特化したものとなっている。そのため、カラーフィルタの変更を行うもしくは出力する色の数を変えるといった変更を加える場合には、専用のデモザイキング手法を新規開発する必要があった。
【特許文献１】特許第３５１００３７号公報
【特許文献２】特開２００３−２８４０８４公報
【特許文献３】特開２００３−１９９１１７公報
【非特許文献１】M.Yamaguchi,T.Teraji,K.Ohsawa,T.Uchiyama,H.Motomura,Y.Murakami,and N.Ohyama,「Color image reproduction based on the multispectral and multiprimary imaging: Experimental evaluation,」 Proc.SPIE,vol.4663（2002）15-26.
【非特許文献２】H.Takeda,S.Farsiu,and P. Milanfar,「Kernel Regression for Image Processing and Reconstruction,」 Trans. on IP,vol.16,pp.349-366,2007.
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述したように、従来技術ではカラーフィルタや出力の色数を変更するたびに新規のデモザイキングアルゴリズム開発が必要になるという問題点があった。
【００１０】
そこで本発明は、上記従来技術の問題点を解決するためになされたものであって、任意のカラーフィルタを装着した単板撮像素子を用いて、多原色出力が可能な撮像装置、及びその撮像方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、カラーフィルタによって異なる分光感度を持つ複数の受光素子から構成される撮像素子と、前記撮像素子上の任意の領域に含まれる各受光素子について、前記各受光素子の前記撮像素子上での位置を示す受光素子位置、分光感度及び測定信号量を含む撮像データを取得する撮像データ入力部と、前記領域内における、互いに異なる分光透過ベクトルを持つ光毎の強度を記述する複数のスペクトル強度関数のパラメータのそれぞれを、前記撮像データから推定するパラメータ推定部と、前記複数のスペクトル強度関数とそれぞれの前記パラメータとから、前記領域内における前記光毎の強度をそれぞれ推定する強度推定部と、前記光毎のそれぞれの推定強度を受光素子毎に出力する出力部と、を備える撮像装置である。
【発明の効果】
【００１２】
本発明によれば、カラーフィルタの変更に容易に対応でき、多原色出力が可能な単板撮像素子の実現が可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施形態の撮像装置１００について説明する。
【００１４】
（撮像装置１００の概念）
まず、各実施形態を説明する前に撮像装置１００の概念について図３，図４、図１４に基づいて説明する。
【００１５】
（１）撮像装置１００の目的
本実施形態の撮像装置１００は、例えばＲＧＢの３色以上の色を用いて画像を表示する多原色ディスプレイ用の画像データを得るために用いることができる。
【００１６】
例えば、図１４の１５０１〜１５０４に示すスペクトル（以後それぞれをスペクトルａ，ｂ，ｃ，ｄと呼ぶ）に対応する４色を用いて画像を表示する多原色表示ディスプレイに接続する場合、撮像装置１００は同じく４つの分光透過スペクトルａ〜ｄに対応する信号を出力できる。
【００１７】
なお、本実施形態の撮像装置１００の出力は、必ずしも想定するディスプレイのカラーフィルタの分光透過スペクトルと一致させる必要はなく、後段で色空間変換を行いディスプレイのカラーフィルタの分光透過スペクトルと一致させることができるものであればよい。
【００１８】
（２）撮像装置１００の概要
本実施形態の撮像装置１００は、撮像素子内のブロック状の領域内の光の強度を分光透過スペクトル毎に推定する。撮像素子上で、ブロック（領域）をずらしながら処理を行うことで、撮像素子上の全点の光の強度が推定できる。
【００１９】
以後の説明は図３に示すような、Ｒのカラーフィルタを備えたＲ受光素子、Ｇのカラーフィルタを備えたＧ受光素子、Ｂのカラーフィルタを備えたＢ受光素子、カラーフィルタなしのＷ受光素子の４種類の異なる分光感度を持つ受光素子からなる単板撮像素子を用い、ブロックサイズを５×５ピクセルとした場合を例に説明する。
【００２０】
次に、各実施形態の説明に必要となる「スペクトル強度関数」、「分光重み」、「モデル誤差Ｅ」について説明する。
【００２１】
（３）スペクトル強度関数
まず、スペクトル強度関数について説明する。
【００２２】
スペクトル強度関数は、ブロック内の光の強度の変化を表す関数モデルである。本実施形態では、一つのブロックの中の光の強度の変化を示すため複数個のスペクトル強度関数を定義する。なお、スペクトル強度関数の数は、最大でカラーフィルタの色の種類の数と同じ数である。また、各スペクトル強度関数にそれぞれ異なる分光透過スペクトルを対応付ける。
【００２３】
以後は、スペクトル強度関数を図１４で示した４つの分光透過スペクトルａ，ｂ，ｃ，ｄに対応する４つの関数ｆａ（ｘ，ｙ），ｆｂ（ｘ，ｙ），ｆｃ（ｘ，ｙ），ｆｄ（ｘ，ｙ）とする場合を例に説明を行う。なお、ｘ，ｙはブロック内の位置を表現するための２次元座標系であり、ブロックの中心を座標系の原点とする。
【００２４】
スペクトル強度関数は、例えば、
【数１】
2009077051.tif 000003
【００２５】
とすることができる。このスペクトル強度関数が、ブロック内の光の強度の変化を忠実に表すことができれば、出力画像の画質が高まる。
【００２６】
光の強度の変化は様々であるため、スペクトル強度関数も様々な変化に対応できる形が望ましいと考えられる。式（１）はｆａ（ｘ，ｙ）のみ見れば、任意の関数をマクローリン展開して、２次の項までを用いて近似した形となっており、対応できる関数の数が多いと考えられる。マクローリン展開であれば項の数を増やすことでより複雑な形の曲面に対応できる。但し、項の数を増やすとノイズに弱くなる。
【００２７】
また、スペクトル強度関数の形を工夫することで偽色の抑圧を行うことができる。ＡＣＰＩ法では、被写体の色が局所的には一定であるとみなし、出力画像のＲＧＢ成分に相関を持たせることで偽色の抑圧を行っている。本実施形態では、光の強度はスペクトルが異なる場合でも正の相関を持つとみなし、ｆａ（ｘ，ｙ）〜ｆｄ（ｘ，ｙ）が正の相関を持つよう、定数項以外のパラメータは全て同じとすることで同様の効果が得られる。すなわち、２つ以上、または、全ての前記スペクトル強度関数の導関数が一致するようにする。
【００２８】
なお、このスペクトル強度関数の形は、パラメータの値を除く部分について、ユーザーが任意に決めておき、予め記憶させておく。
【００２９】
（４）分光重み
次に、分光重みについて説明する。
【００３０】
本実施形態では、ＷＲＧＢの各受光素子の分光感度を示す曲線、スペクトル強度関数に対応付けられた分光透過スペクトルに形が近いほど値が大きくなる正の実数である分光重みを使って表現する。
【００３１】
分光重みはｃ［Ｂ，ａ］というように、カラーフィルタの符号（Ｗ，Ｒ，Ｇ，Ｂのいずれか）と対応する分光透過スペクトル、すなわち対応するスペクトル強度関数を表す符合（ａ，ｂ，ｃ，ｄのいずれか）を用いて表記する。
【００３２】
図４のグラフにおいて、縦軸は分光透過スペクトルを示し、横軸が波長を示している。但し、縦軸は最大値を１．０として正規化している。この図４において、Ｂ受光素子の分光感度が曲線４０１で表され、Ｇ受光素子の分光感度は曲線４０２で表され、Ｒ受光素子の分光感度は曲線４０３で表され、Ｗ受光素子の分光感度は曲線４０４で表される場合を考える。その場合の分光重みは例えば、
【数２】
2009077051.tif 000004
【００３３】
となる。式（２）の行列の各要素は、各カラーフィルタの分光感度（図４）と、スペクトル強度関数に対応付けられた分光透過スペクトルの重なりが大きいほど、大きな値とする。なお、出力できる色数は式（２）の行列Ｃｃｆのランクが上限となる。
【００３４】
この分光重みは、先に用意したスペクトル強度関数１つ１つに対して定義しておく必要がある。
【００３５】
（５）モデル誤差Ｅ
最後に、モデル誤差Ｅについて述べる。
【００３６】
本実施形態では、スペクトル強度関数によるブロック内の光の強度のモデルが実際の測定データを正しく説明できているかを示す数値尺度として、正の実数であるモデル誤差Ｅを用いる。
【００３７】
まず、スペクトル強度関数を分光重みにしたがって重み付け加算したモデル信号量Ｉ’［ｘ，ｙ］は式（３）のようになる。
【数３】
2009077051.tif 000005
【００３８】
そして、モデル誤差Ｅは、モデル信号量Ｉ’［ｘ，ｙ］と撮像素子を構成する受光素子から実際に得られた測定信号量ｓ［ｘ，ｙ］との差の絶対値が小さくなるほど、その値が小さくなるように設定する。
【００３９】
なお、ｆｃｆ（ｘ，ｙ）は位置（ｘ，ｙ）におけるカラーフィルタを表し、例えば図３のブロックにおける処理であればｆｃｆ（０，０）＝Ｂとなる。
【００４０】
例えば、モデル誤差Ｅは、
【数４】
2009077051.tif 000006
【００４１】
とすることができる。
【００４２】
式（４）のモデル誤差Ｅは変形すると、
【数５】
2009077051.tif 000007
【００４３】
となる。なお、
【数６】
2009077051.tif 000008
【００４４】
である。
【００４５】
式（５）の形で定義されるモデル誤差Ｅを最小化するベクトルβを求める手法としては、最急降下法や共役勾配法などの逐次更新手法を用いることができる。
【００４６】
また、ＳとＷの擬似逆行列Ｗ＋＝（ＷｔＷ−１）Ｗｔを用いて
【数７】
2009077051.tif 000009
【００４７】
としてもよい。すなわち、Ｗ＋はスペクトル強度関数のパラメータを得るためのフィルタとも言える。
【００４８】
スペクトル強度関数及びモデル誤差Ｅの形はユーザーが任意に決めることができるが、その値を最小にするスペクトル強度関数のパラメータを算出する効率的な手法が確立しているものが望ましい。
【００４９】
例えば、最急降下法や共役勾配法を用いるためには、まず、スペクトル強度関数は位置座標の関数である基底関数を、スペクトル強度関数のパラメータで重み付け加算した形で表現できることが必要である。具体的には、式（１）の４つのスペクトル強度関数は、基底関数「１」，「ｘ」，「ｙ」，「ｘ２」，「ｘｙ」，「ｙ２」をスペクトル強度関数のパラメータβａ〜β５で重み付けして加算した関数になっている。
【００５０】
また、スペクトル強度関数のパラメータの総数が、ブロック内部に存在する撮像素子の受光素子の総数以下である必要がある。例えば５×５のブロック（図３参照）を用いる場合はブロック内の受光素子数が２５個なので、スペクトル強度関数のパラメータの数が２５以下にする。
【００５１】
（６）まとめ
以上により、撮像素子の撮像面の一部のブロック内において、異なるスペクトルを持つ光の強度を適切にモデル化できたならば、測定信号量とモデル信号量が近い値となると考えられる。
【００５２】
そこで、本実施形態の撮像装置１００は、モデル信号量と測定信号量の差の絶対値が大きいほど大きな値をとる正の実数であるモデル誤差を定義し、モデル誤差を最小にするスペクトル強度関数を求める。得られたスペクトル強度関数を用いれば、前記ブロック内の任意の位置の光の強度を推定し出力画像を生成することができる。
【００５３】
また、カラーフィルタの分光透過スペクトルが既知である撮像素子であれば実施可能であるため、特殊な撮像系を必要としない。
【００５４】
また、単板撮像素子を用いて実施する場合も、分光重みをカラーフィルタに応じて変えることでカラーフィルタの変更に柔軟に対処できる。
【００５５】
また、多原色表示系に合わせて出力する色数を増加させる場合も、スペクトル強度関数の数を増やすことで対応することができる。
【００５６】
（第１の実施形態）
以下、本発明の第１の実施形態の撮像装置１００について図１〜図３に基づいて説明する。
【００５７】
（１）撮像装置１００の構成
図１は、本実施形態に係わる撮像装置１００を示すブロック図である。
【００５８】
撮像装置１００は、ブロック内の各受光素子から測定信号量の組である撮像データを取得する撮像データ入力部１０１、撮像データから撮像素子の各受光素子に入射した光の強度を記述するスペクトル強度関数のパラメータを推定するスペクトル強度関数推定部１０２、スペクトル強度関数のパラメータから各受光素子に入射した光の強度を推定するスペクトル強度推定部１０３とを備える。
【００５９】
なお、撮像装置１００は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、撮像データ入力部１０１、スペクトル強度関数推定部１０２、スペクトル強度推定部１０３は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、撮像装置１００は、上記のプログラムをコンピュータ装置に予めインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。
【００６０】
また、撮像データ入力部１０１、スペクトル強度関数推定部１０２、スペクトル強度推定部１０３は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒなどの記憶媒体などを適宜利用して実現することができる。
【００６１】
なお、第２の実施形態と第３の実施形態の撮像装置１００も同様である。
【００６２】
（２）撮像装置１００の動作
以後は、上記で定義した分光重み、スペクトル強度関数、モデル誤差に加え図１及び図２を用いて、本実施形態に係わる撮像装置１００の動作について説明する。なお、図２は、本実施形態に係わる撮像装置１００の動作を示すフローチャートである。
【００６３】
まず、撮像データ入力部１０１は、ブロック内の各受光素子が持つ分光感度と各受光素子において得られた測定信号量からなる撮像データを取得する（ステップ１）。
【００６４】
次に、スペクトル強度関数推定部１０２は、ブロック内の光の強度の変化を記述するスペクトル強度関数のパラメータを推定する（ステップ２）。なお、このスペクトル強度関数推定部１０２に、スペクトル強度関数の形、分光重み及びモデル誤差Ｅの形を予め記憶させておく。
【００６５】
最後に、スペクトル強度推定部１０３は、スペクトル強度関数推定部１０２から得られたスペクトル強度関数のパラメータを用いて、ブロック中心（ｘ，ｙ）＝（０，０）における光の強度を算出する（ステップ３）。既にこれまでの処理でスペクトル強度関数が得られているので、スペクトル強度関数にｘ＝０，ｙ＝０を代入することでブロック中心の光の強度を算出することができる。例えば式（１）のスペクトル強度関数を用いた場合、出力はβａ，βｂ，βｃ，βｄの４つとなる。
【００６６】
（３）効果
このように本実施形態の撮像装置１００によれば、ブロック内の光の強度のモデルであるスペクトル強度関数のパラメータを測定信号量から推定することで、ブロック内の異なるスペクトルを持つ光の強度を個別に推定することが可能になる。
【００６７】
（４）変更例
次に、第１の実施形態の変更例について説明する。
【００６８】
これまで、図３に示すブロックを例に第１の実施形態を説明したが、以下に述べる５つの要素を変更して実施することも可能である。
【００６９】
（４−１）第１の変更例
第１の変更例について説明する。
【００７０】
式（２）の分光重みをカラーフィルタの分光透過スペクトルに合わせて書き換えることで、ＷＲＧＢからなるカラーフィルタ以外のカラーフィルタを用いた撮像素子にも対処できる。
【００７１】
但し、出力する色の数は、式（２）の行列Ｃｃｆのランク以下である必要がある。この条件は、カラーフィルタの種類の数が出力できる色数の上限であるとも言える。
【００７２】
（４−２）第２の変更例
次に、第２の変更例について説明する。
【００７３】
正方格子以外の受光素子配列にも適用することが可能であり、正方形以外のブロック形状でも実行可能である。
【００７４】
例えば、図５のように受光素子が互い違いに配列されたハニカム配列や六角格子の撮像素子では、図３のようにブロック中心に受光素子が存在する正方形のブロックを取ることができない。
【００７５】
また、ハニカム配列や六角格子の撮像素子から正方格子上に受光素子が並んだ出力画像を得るには、図５の点５０１のような受光素子と受光素子の隙間の部分の光の強度を算出する必要がある。
【００７６】
本実施形態におけるスペクトル強度関数のパラメータ推定法は、受光素子配列が正方格子であることを前提としていない。
【００７７】
（４−３）第３の変更例
次に、第３の変更例について説明する。
【００７８】
図３のｘ，ｙ軸の原点を変えることでブロック内の任意の位置の光の強度を算出することが可能である。
【００７９】
（４−４）第４の変更例
次に、第４の変更例について説明する。
【００８０】
スペクトル強度関数は、式（１）のような２次多項式以外の形にすることもできる。
【００８１】
まず、多項式の次数を上げることは容易である。次数を高めるほどスペクトル強度関数は複雑な形を表現できるようになり、鮮鋭な画像が得られるようになる。一方でノイズに弱くなる。
【００８２】
また、多項式以外の関数も基底関数として利用できる。多項式を基底関数に用いる式（１）のスペクトル強度関数は関数のマクローリン展開の形と一致する。
【００８３】
同様に考えれば、基底関数を三角関数とすることで、スペクトル強度関数は関数のフーリエ級数展開の形にできる。
【００８４】
他には、ウェーブレットの基底となる全ての関数についても、本実施形態の基底関数として利用することができる。
【００８５】
（４−５）第５の変更例
次に、第５の変更例について説明する。
【００８６】
式（１）のスペクトル強度関数は、定数項以外の項が全て共通化されている。すなわち、同一の値となっている。しかし、スペクトル強度関数は、位置座標の関数である基底関数をスペクトル強度関数のパラメータで重み付け加算した形で表現できるという条件を満たせば他の形でも実現可能である。
【００８７】
例えば、明らかに青の挙動が他の色と相関を持たないことが事前に分かっていれば、ｆａ（ｘ，ｙ）のみパラメータを別にするといった実装も可能である。但し、パラメータの総数はブロック内の受光素子数を超えてはならない。
【００８８】
（４−６）第６の変更例
次に、第６の変更例について説明する。
【００８９】
モデル誤差Ｅの定義は、式（５）の形である必要はない。例えば、正の実数Ｇを用いて、
【数８】
2009077051.tif 000010
【００９０】
となる位置重みＫ（ｘ，ｙ）を導入し、
【数９】
2009077051.tif 000011
【００９１】
としてもよい。
【００９２】
Ｇの値は、ユーザーが画質を見ながら人手で調整する。Ｇの値を大きくするほど出力画像がぼけ、小さくしすぎるとスペクトル強度関数のパラメータの推定精度が悪くなる。
【００９３】
スペクトル強度関数は、式（１）のようなマクローリン展開を意識した形で定義できるが、この近似方法の精度はブロック周辺に行くに従って低下する。
【００９４】
そのためスペクトル強度関数が、ブロック内の光の強度を記述する真の関数のマクローリン展開と一致したとしてもブロック周辺ではモデルと測定のずれが大きくなると考えられる。そこで、ブロックの中心から外れた部分の誤差の影響を下げることで、スペクトル強度関数が真の関数のマクローリン展開と一致する可能性が高くなる。
【００９５】
式（９）は、
【数１０】
2009077051.tif 000012
【００９６】
と書き直せる。
【００９７】
なお、Ｋは、
【数１１】
2009077051.tif 000013
【００９８】
なる対角行列である。式（９）のモデル誤差を最小にするスペクトル強度関数のパラメータも、最急降下法や共役勾配法で求めることができる。
【００９９】
また、式（７）と同様に
【数１２】
2009077051.tif 000014
【０１００】
としても良い。
【０１０１】
（第２の実施形態）
次に、本発明の第２の実施形態について図６〜図１０に基づいて述べる。
【０１０２】
（１）第２の実施形態の目的
本実施形態は、例えばエッジ部分のように、ブロック内の異なるスペクトルを持つ光の強度が互いに相関を持たない部分に第１の実施形態を適用すると、本来の光の強度と大きく異なる出力が得られる。これは、本来ブロック中心の光の強度と相関を持たない測定信号量を用いてスペクトル強度関数のパラメータを生成するためである。
【０１０３】
この問題点を解決するには、エッジの強度が強いときには、エッジとの距離が遠い受光素子がモデル誤差に及ぼす影響を低減するようにできればよい。第２の実施形態はこれを実現するためのものである。
【０１０４】
（２）撮像装置１００の構成
図６は、本実施形態に係わる撮像装置１００を示すブロック図である。
【０１０５】
撮像装置１００は、複数の受光素子からなる撮像素子の各受光素子における測定信号量の組である撮像データを取得する撮像データ入力部１０１、撮像素子の各受光素子にエッジの方向と強度に応じた重みを付与する重み決定部２０１、撮像データから撮像素子の各受光素子に入射した光の量を記述するスペクトル強度関数のパラメータ推定するスペクトル強度関数推定部２０２、スペクトル強度関数のパラメータから各受光素子に入射した異なるスペクトルを持つ光の強度を個別に推定するスペクトル強度推定部１０３とを備えている。
【０１０６】
（３）撮像装置１００の動作
以下、図６〜図９を用いて、本実施形態に係わる撮像装置１００の動作について説明する。なお、図７は、本実施形態に係わる撮像装置１００の動作を示すフローチャートである。以下の説明も図３のブロックの例を用いる。
【０１０７】
（３−１）ステップ１
まず、撮像データ入力部１０１は、ブロック内の各受光素子がもつ分光感度と各受光素子において得られた測定信号量からなる撮像データを取得する（ステップ１）。
【０１０８】
（３−２）ステップ２
次に、重み決定部２０１はブロック内の各受光素子から得られた測定信号量に基づき、ブロック内の各受光素子に正の実数である位置重みを付与する（ステップ２）。すなわち、式（９）のＫ（ｘ，ｙ）を求める。
【０１０９】
位置重みを付与する方法について述べる。
【０１１０】
まず、ブロック内から同じ分光感度を持ち、同一直線上に存在しない受光素子を３つ選び、ｐｉ（ｘｉ，ｙｉ），ｐｊ（ｘｊ，ｙｊ），ｐｋ（ｘｋ，ｙｋ）とする。また、それらから得られた信号量をｓｉ，ｓｊ，ｓｋと表す。図９に示すように撮像素子上の位置を表すｘ，ｙ軸及び測定信号量を表すｓ軸からなる３次元空間においては、点ｐｉ，ｐｊ，ｐｋはそれぞれ点９０２，９０３，９０４に対応する。ｐｉ，ｐｊ，ｐｋで囲まれた三角形の領域内で光の強度が図９の点９０２，９０３，９０４からなる三角形９０１に示すように平面状に変化すると仮定したとき、三角形９０１のｘ軸方向の傾きｄｘ及びｙ軸方向の傾きｄｙは、
【数１３】
2009077051.tif 000015
【０１１１】
となる。ブロック内部にＬ種類の分光感度を持つ受光素子が存在し、その中のｍ番目の分光感度を持つ受光素子からなる三角形がｎ［ｍ］（ｍ＝０，・・・，Ｌ−１）個存在したとする。またｍ番目の分光感度を持つ受光素子からなるｑ（ｑ＝０，・・・，ｎ［ｍ］−１）番目の三角形から得られたｘ軸方向の傾きｄｘ及びｙ軸方向の傾きｄｙをｄｘ［ｍ，ｑ］及びｄｙ［ｍ，ｑ］と表す。
【０１１２】
例えば、図３の例ではブロック内にＲＧＢＷの４種類の分光感度を持つ受光素子が存在する。その中で０番目の色をＢ受光素子とし、０番目の分光感度を持つ受光素子からなる０番目の三角形は例えば図３中の受光素子１３００，受光素子１３０１，受光素子１３０２からなる三角形とすることができる。するとｄｘ［０，０］及びｄｙ［０，０］は式（１３）に（ｘｉ，ｙｉ，ｓｉ）＝（−２，−２，ｓ０），（ｘｊ，ｙｊ，ｓｊ）＝（０，−２，ｓ２），（ｘｋ，ｙｋ，ｓｋ）＝（０，−２，ｓ１０）を代入することで得られる。
【０１１３】
このとき、受光素子重みＫを
【数１４】
2009077051.tif 000016
【０１１４】
とする。
【０１１５】
受光素子重みＫの等高線は、図８の左図の楕円８０１のようにエッジに沿って伸びる楕円となる。また、エッジの方向が変化すると、図８の中央図の楕円８０２のように長軸の方向が変化し、長軸と短軸の長さが変わる。さらに、図８の右図のコーナー部分では楕円８０３のように長軸と短軸がともに短くなる。エッジ強度が大きいほど楕円の長軸と短軸の長さが短くなる。受光素子重みはブロックの中心から離れるほど値が小さくなる。
【０１１６】
（３−３）ステップ３
次に、スペクトル強度関数のパラメータ推定部２０２はスペクトル強度関数のパラメータを推定する（ステップ３）。
【０１１７】
スペクトル強度関数、分光重みの定義は、第１の実施形態と同じでよいが、モデル誤差は式（９）となる。
【０１１８】
（３−４）ステップ４
最後に、スペクトル強度推定部１０３は、スペクトル強度関数推定部１０２から得られたスペクトル強度関数のパラメータを用いて、ブロック中心（ｘ，ｙ）＝（０，０）における光の強度をスペクトル毎に算出する（ステップ３）。
【０１１９】
（４）変更例
次に、第２の実施形態の変更例について説明する。
【０１２０】
（４−１）第１の変更例
第２の実施形態も第１の実施形態と同様に、ブロックのサイズや形状によらず適用が可能である。
【０１２１】
（４−２）第２の変更例
第２の実施形態も第１の実施形態と同様に、スペクトル強度関数の形もｘ，ｙの多項式に限定されない。
【０１２２】
（４−３）第３の変更例
第２の実施形態も第１の実施形態と同様に、重み関数は、正の実数である限りはいかなる形でも良い。
【０１２３】
（４−４）第４の変更例
第２の実施形態も第１の実施形態と同様に、ｄｘとｄｙについても、ブロック内の光の強度の位置による変化量と正の相関を持つ量を用いるのであれば式（１３）の形である必要はない。
【０１２４】
（４−５）第５の変更例
位置重みＫは、ブロック内のカラーフィルタの数の内訳によっても変化するので、それを補正しても良い。例えば、５×５ピクセルのブロック内のカラーフィルタの配置が、図３に示したものである場合と図１０に示したものである場合を考える。
【０１２５】
まず、式（１４）の行列Ｃの各成分は、同じカラーフィルタを持つ受光素子から得られた測定信号量の差の二乗和に相当する。
【０１２６】
次に、ＲＧＢ受光素子に比べ全波長に渡り高い感度を持つＷ受光素子は測定信号量の値が相対的に大きく、受光素子間の測定信号量の差も大きくなる。結果としてＷ受光素子から得られるｄｘとｄｙは他のものに比べ大きくなる。
【０１２７】
Ｗ受光素子の数は、図３のパターンで６個、図１０のパターンで４個であり前者の方が２つ多いため、式（１４）の行列Ｃの各成分も図３のパターンから得られたものより、図１０のパターンから得られたものの方が大きい値をとる。そのため、同じテクスチャを撮像した場合でも受光素子に与えられる重みがブロックを移動させる毎に大きく変動することになり、結果として線上のテクスチャ部に周期性を持つノイズが発生する。
【０１２８】
この問題点の解決には、ブロック内のカラーフィルタの数のばらつきを補正するためのフィルタ数重みｗ［ｍ］を導入し、
【数１５】
2009077051.tif 000017
【０１２９】
とすることが有効である。ｗ［ｍ］は画面全体でのカラーフィルタの数の比をブロック内のカラーフィルタ数で割ったものである。
【０１３０】
例えば、図３の場合はＷＲＧＢのカラーフィルタの数が１：１：１：１である。ブロック内のカラーフィルタの数は、ＷとＧが６個、Ｒが４個、Ｂが９個である。そのためｗ［０］をＷに、ｗ［１］をＲに、ｗ［２］をＧに、ｗ［３］をＢにそれぞれ対応付けると、ｗ［０］＝１／６，ｗ［１］＝１／４，ｗ［２］＝１／６，ｗ［３］＝１／９となる。
【０１３１】
また、図３のＷ受光素子をＧ受光素子に変えたＢａｙｅｒ配列の場合は、Ｒ：Ｇ：Ｂが１：２：１なので、ｗ［１］＝１／４，ｗ［２］＝２／１２，ｗ［３］＝１／９とすればよい。
【０１３２】
これにより、ブロック内のカラーフィルタの割合の変化による重みの変動が抑制され、ノイズを抑えることが可能になる。
【０１３３】
（第３の実施形態）
次に、本発明の第３の実施形態の撮像装置１００について図１１〜図１３に基づいて説明する。
【０１３４】
（１）第３の実施形態の目的
第１の実施形態では、スペクトル強度関数のパラメータを求めるためにモデル誤差を最小化する計算を行う必要がある。しかしモデル誤差の最小化に用いられる最急降下法、共役勾配法、擬似逆行列などの計算は、全て大きな計算コストを要する。
【０１３５】
一方で、カラーフィルタは同一のパターンが周期的に繰り返されるため、画面全体を処理する場合でも式（５）のＷは、有限個のパターンしか出現しない。例えば、図３のカラーフィルタ配列の場合は、図１３中の１４００〜１４０３の４種類に限定することができる。そのため、この有限個のパターンに対応するＷの擬似逆行列（すなわちスペクトル強度関数のパラメータを推定するためのフィルタ）を予め算出してメモリに蓄積しておくことで、処理時間を短縮できる。
【０１３６】
本実施形態は、この高速化を行うことができる撮像装置１００を提供する。
【０１３７】
（２）撮像装置１００の構成
本実施形態の撮像装置１００は、複数の受光素子からなる撮像素子の各受光素子における測定信号量の組である撮像データを取得する撮像データ入力部１０１、撮像データからスペクトル強度関数のパラメータを推定するためのフィルタを蓄積しておくためのフィルタ蓄積部３０１、フィルタ蓄積部３０１から適切なフィルタを選択するフィルタ選定部３０２、測定信号量とフィルタ選定部３０２で選ばれたフィルタを用いてスペクトル強度関数のパラメータを推定するスペクトル強度関数推定部３０３、スペクトル強度関数のパラメータから各受光素子に入射したスペクトルが異なる光の強度を個別に推定するスペクトル強度推定部１０３とを備えている。
【０１３８】
（３）撮像装置１００の動作
以下、図１１及び図１２を用いて、本実施形態に係わる撮像装置１００の動作について説明する。なお、図１２は、撮像装置１００の動作を示すフローチャートである。以後の説明も図３のブロックの例を用いる。
【０１３９】
ブロック毎の処理を始める前に、フィルタ蓄積部３０１は、式（５）のエネルギーを最小にするスペクトル強度関数のパラメータβの推定に必要なフィルタＷ＋を事前に算出して内部に蓄積する。Ｗは、ブロックの形状と位置が決まれば一つに決まる。例えば、図３のようなカラーフィルタ配列の場合、ブロック内のカラーフィルタの配置は図１３中に示す４通りしか存在しないため、Ｗも４通りに限定することができる。この４通りのＷに対応するＷ＋を算出してフィルタ蓄積部３０１内に蓄積する。
【０１４０】
以後は、撮像素子内のブロック状の領域の中で処理を行い、ブロック中心における光の強度をスペクトル毎に推定する。ブロック内の処理が完了したらブロックの位置をずらして同じ処理を続ける。
【０１４１】
まず、撮像データ入力部１０１は、ブロック内の各受光素子が持つ分光感度と各受光素子において得られた測定信号量からなる撮像データを取得する（ステップ１）。
【０１４２】
次に、フィルタ選定部３０２は、撮像データを出力したブロック内の各受光素子の分光感度のパターンを元にフィルタ蓄積部３０１に蓄積されたフィルタの中から適切なものを選択する（ステップ２）。
【０１４３】
次に、スペクトル強度関数推定部３０３は、得られたフィルタと撮像データをなす測定信号量を用いて式（７）の畳み込み演算を行い、スペクトル強度関数のパラメータを推定する（ステップ３）。
【０１４４】
最後に、スペクトル強度推定部１０３は得られたスペクトル強度関数のパラメータを用いてブロック中心部の光の強度を推定する（ステップ４）。
【０１４５】
（４）変更例
次に、第３の実施形態の変更例について説明する。
【０１４６】
第３の実施形態は、フィルタ蓄積部１３０１に蓄積するフィルタを増やすことで更なる画質の向上が可能である。
【０１４７】
第１の実施形態は、式（７）のＷが有限個のパターンであることに着目して高速化を行った。しかしそのままでは、エッジに応じたフィルタの調整ができないため画質を高めることができない。
【０１４８】
一方、第２の実施形態は、エッジに応じたフィルタを用いるため画質を高めることができる。しかし、フィルタである（ＫＷ）＋Ｋは、エッジに応じた無数のパターンが存在し、事前に全てを計算することはできない。
【０１４９】
そこで、有限個のパターンのＫに対応するフィルタ（ＫＷ）＋Ｋをメモリに蓄積し、エッジに応じて切り替えることで、第１の実施形態及び第３の実施形態より高画質であり、第２の実施形態より高速な処理を行うことができる。
【０１５０】
位置重みＫは
【数１６】
2009077051.tif 000018
【０１５１】
という形に書き下すことができる。式（１６）の行列Ｃの要素から
【数１７】
2009077051.tif 000019
【０１５２】
という３つのパラメータが得られる。
【０１５３】
３つのパラメータλ＋，λ−，θは、図８の楕円の形状と関係を持ち、短軸の長さが（１／λ＋）０．５に、長軸の長さが（１／λ−）０．５に、長軸とｘ軸のなす角度がθに相当する。
【０１５４】
これらを用いると式（１６）は、
【数１８】
2009077051.tif 000020
【０１５５】
と書くことができる。
【０１５６】
３つのパラメータλ＋，λ−，θを一定の刻み幅で変化させ、対応する位置重みＫからフィルタを生成すれば、偏りなく様々なエッジの強度と角度に対応したフィルタを蓄積することができる。
【０１５７】
例えば、λ＋とλ−を１／９〜１の間で１０種類用意し、θを０〜πの範囲で４種類用意すればよい。テーブルにフィルタを蓄積する際には元となったλ＋，λ−，θを一緒に蓄積する。
【０１５８】
フィルタを選択するときには、まず、ブロック内から式（１６）の行列Ｃを算出する。次に、式（１７）を用いてλ＋，λ−，θを算出する。最後に、得られたλ＋，λ−，θに近いものによって生成されたＫに対応するフィルタをテーブルに蓄積されたものの中から選択すればよい。
【０１５９】
（変更例）
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
【０１６０】
また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【０１６１】
さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１６２】
【図１】本発明の第１の実施形態に係わる撮像装置の構成を示すブロック図である。
【図２】第１の実施形態の動作を示すフローチャートである。
【図３】ＷＲＧＢ配列からＢ受光素子を中心として切り出した５×５ピクセルのブロックを表す図である。
【図４】第１の実施形態に接続する撮像素子の受光素子毎の分光感度を表す図である。
【図５】正方格子とは異なる受光素子配列の撮像素子を表す図である。
【図６】第２の実施形態に関わる撮像装置の構成を示すブロック図である。
【図７】第２の実施形態の動作を示すフローチャートである。
【図８】位置重みの概念を表すフローチャートである。
【図９】微小領域における光の強度変化を算出する方法の概念を表す図である。
【図１０】図３のブロックを右方向に１ラインずらして得られる５×５ピクセルのブロックを表す図である。
【図１１】第３の実施形態に関わる撮像装置の構成を示すブロック図である。
【図１２】第３の実施形態の動作を示すフローチャートである。
【図１３】図３のカラーフィルタ配列から得られるブロック内のカラーフィルタ配置の種類を示す図である。
【図１４】４つの分光透過スペクトルを示す図である。
【符号の説明】
【０１６３】
１００    撮像装置
１０１    撮像データ入力部
１０２    スペクトル強度関数推定部
１０３    スペクトル強度推定部
【図１】
2009077051.tif 000021
【図２】
2009077051.tif 000022
【図３】
2009077051.tif 000023
【図４】
2009077051.tif 000024
【図５】
2009077051.tif 000025
【図６】
2009077051.tif 000026
【図７】
2009077051.tif 000027
【図８】
2009077051.tif 000028
【図９】
2009077051.tif 000029
【図１０】
2009077051.tif 000030
【図１１】
2009077051.tif 000031
【図１２】
2009077051.tif 000032
【図１３】
2009077051.tif 000033
【図１４】
2009077051.tif 000034
【手続補正書】
【提出日】平成20年8月11日(2008.8.11)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
また、ＳとＷの擬似逆行列Ｗ＋＝（ＷｔＷ）−１Ｗｔを用いて
【数７】
2009077051.tif 000035