(57)【特許請求の範囲】
【請求項１】
光電変換素子群と、複数色のカラーフィルタとを有し、前記カラーフィルタが前記光電変換素子群に対して配置された撮像素子を備え、
前記カラーフィルタは、前記複数色のうち少なくとも１色では同色で透過率が異なる複数のカラーフィルタを有し、透過率が異なる前記カラーフィルタの同色における２つ以上の組み合わせでの合計配列の空間周波数成分及び同色のすべての前記カラーフィルタの合計配列の空間周波数成分がともに低周波数領域で略０となり、高周波数領域で帯域成分を持つように、前記光電変換素子群の各光電変換素子に配置されていることを特徴とする撮像装置。
【請求項２】
前記カラーフィルタは、透過率が異なる前記カラーフィルタのうち、透過率が最も低いフィルタの配列の空間周波数成分が低周波数領域で略０となり、高周波数領域で帯域成分を持つように配置されていることを特徴とする請求項１記載の撮像装置。
【請求項３】
前記カラーフィルタは、同色で透過率が異なる前記カラーフィルタのうち、透過率が最も高いフィルタを除いたフィルタの合計配列の空間周波数成分が低周波数領域で略０となり、高周波数領域で帯域成分を持つように配置されていることを特徴とする請求項１又は２記載の撮像装置。
【請求項４】
前記撮像素子により取得された画像信号に対して補間処理を施し、各色に対応した画像信号を生成する画素補間手段を備えることを特徴とする請求項１〜３の何れか１項に記載の撮像装置。
【請求項５】
前記カラーフィルタが有する同色で透過率が異なるカラーフィルタは、透過率が異なる２つのカラーフィルタからなり、
前記画素補間手段は、透過率が高い一方のカラーフィルタに対応する前記光電変換素子が飽和するハイライト領域では、透過率が低い他方のカラーフィルタに対応する前記光電変換素子により得られる画像信号に基づき前記補間処理を行い、前記光電変換素子が飽和しない非ハイライト領域では、前記一方のカラーフィルタに対応する前記光電変換素子により得られる画像信号及び前記他方のカラーフィルタに対応する前記光電変換素子により得られる画像信号に基づき前記補間処理を行うことを特徴とする請求項４記載の撮像装置。
【請求項６】
前記複数色のうち、輝度の低い色に対応するカラーフィルタの合計配列から順に決定し、前記光電変換素子群の各光電変換素子に配置することを特徴とする請求項１〜５の何れか１項に記載の撮像装置。
【請求項７】
複数色のうち少なくとも１色では同色で透過率が異なる複数のカラーフィルタを有し、透過率が異なる前記カラーフィルタの同色における２つ以上の組み合わせでの合計配列の空間周波数成分及び同色のすべての前記カラーフィルタの合計配列の空間周波数成分がともに低周波数領域で略０となり、高周波数領域で帯域成分を持つように、前記複数色のカラーフィルタが光電変換素子群に対して配置された撮像素子により画像信号を取得する撮像工程と、
前記撮像工程で取得された画像信号に対して補間処理を施し、各色に対応した画像信号を生成する画素補間工程とを有することを特徴とする撮像方法。
【請求項８】
複数色のうち少なくとも１色では同色で透過率が異なる複数のカラーフィルタを有し、透過率が異なる前記カラーフィルタの同色における２つ以上の組み合わせでの合計配列の空間周波数成分及び同色のすべての前記カラーフィルタの合計配列の空間周波数成分がともに低周波数領域で略０となり、高周波数領域で帯域成分を持つように、前記複数色のカラーフィルタが光電変換素子群に対して配置された撮像素子により画像信号を取得する撮像ステップと、
前記撮像ステップで取得された画像信号に対して補間処理を施し、各色に対応した画像信号を生成する画素補間ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置、撮像方法、及びプログラムに関し、カラーフィルタを有する撮像装置に用いて好適なものである。
【背景技術】
【０００２】
一般に、撮像管及び固体撮像素子に代表される撮像素子は、撮像装置に広く用いられている。特に、単管又は単板（Single Sensor）カラー撮像装置に使用されるカラー撮像素子は、以下の３つの特徴をもつため、撮像装置の主流になっている。
１．１つの撮像素子でカラー撮像装置を構成できるため、色分離プリズムが不要でレンズの小型化が可能である。
２．レジストレーションなど多板式の撮像素子のような各種調整の必要がない。
３．消費電力が小さいなど多くの特徴を有し、カラー撮像装置の小型化、省電力化に多くの貢献を果している。
【０００３】
このようなカラー撮像素子は、いずれも１つの受光面で色情報を得るため、色フィルタを用いて受光平面内で色変調（カラーフィルタ処理）を行っている。例えばＲ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）の３色のカラーフィルタを所定の規則的配列で各光電変換素子（画素）上に張り付けることで、画素毎に異なる分光感度を持たせている。したがって、被写体を撮像して得られた映像信号には、カラーフィルタ配列に従った点順次の色情報が含まれており、配列に従って各色のカラーフィルタに対応した信号毎に分離し、分離した信号を取り出すことで色情報を取り出せる。輝度信号（Ｙ信号）を得るためにはＲＧＢ情報がすべて必要であるから、１画素の輝度情報を得るには最低３画素（ＲＧＢ各１画素ずつ）を必要とし、輝度解像度は犠牲になるものの１つの撮像素子でカラー撮像を行うことができるようになっている。
【０００４】
このようなカラー撮像素子において、ダイナミックレンジを向上させるために、ＲＧＢの各々について透過率の異なる２種類のカラーフィルタを作成し、計６色のカラーフィルタを配列する技術が提案されている（例えば特許文献１参照。）。また、ベイヤー（Bayer）配列等のように規則的なカラーフィルタ配列を用いた空間サンプリングを行うと、偽解像、いわゆるモアレの発生を伴う問題が発生する。モアレの問題を解決するため、カラーフィルタ配列をランダムに配列し、さらにランダムにモザイク配列された画素値情報から例えばＲＧＢの独立プレーン情報を得るための補間処理法が提案されている（例えば特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−３１６１６９号公報
【特許文献２】特開２０００−６９４９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の透過率の異なるフィルタを配列する方法では、カラーフィルタを規則的に配列するため、その配列による空間サンプリングに基づいた偽解像（色モアレ）が発生してしまう問題があった。特に、ダイナミックレンジを向上させるためにフィルタ数を増やす場合には、空間的なサンプリング周波数が低下してしまうために各カラーフィルタの配列の空間周波数特性が低周波数側に寄ってしまい、モアレが発生し易くなる。このため、従来の単板カラー撮像装置は、画質確保のために光学ローパスフィルタを必須としており、これが画像の解像度低下の原因となっていた。また、特許文献２に記載のようにカラーフィルタ配列をランダムにすることでモアレの発生を抑えることができるが、画像の空間周波数に低周波数成分が含まれることになり、視覚的に目障りなノイズを引き起こす問題があった。
【０００７】
本発明は、透過率の異なるカラーフィルタを用いてダイナミックレンジを向上させる場合に、色モアレの発生を低減し、かつノイズを抑制することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る撮像装置は、光電変換素子群と、複数色のカラーフィルタとを有し、前記カラーフィルタが前記光電変換素子群に対して配置された撮像素子を備え、前記カラーフィルタは、前記複数色のうち少なくとも１色では同色で透過率が異なる複数のカラーフィルタを有し、透過率が異なる前記カラーフィルタの同色における２つ以上の組み合わせでの合計配列の空間周波数成分及び同色のすべての前記カラーフィルタの合計配列の空間周波数成分がともに低周波数領域で略０となり、高周波数領域で帯域成分を持つように、前記光電変換素子群の各光電変換素子に配置されていることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、解像度の低下を招くことなく、かつ、色モアレの発生の低減、及びノイズの抑制を実現することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係る撮像装置の構成例を示す図である。
【図２】本実施形態における光量と光電変換電荷量との関係を示す図である。
【図３】本実施形態でのフィルタ配列決定処理を示すフローチャートである。
【図４】第１の実施形態での濃淡合計配列の配列処理を示すフローチャートである。
【図５】濃淡合計配列の配列処理を行う機能部の構成例を示す図である。
【図６】誤差拡散係数及び累積誤差ラインバッファの例を示す図である。
【図７】本実施形態における濃淡合計配列及び濃Ｇ・淡Ｇのフィルタ配列の一例を示す図である。
【図８】本実施形態での濃フィルタ、淡フィルタの配列処理を行う機能部の構成例を示す図である。
【図９】濃フィルタ、淡フィルタの配列処理を示すフローチャートである。
【図１０】本実施形態における撮像装置の動作例を示すフローチャートである。
【図１１】本実施形態での画像補間処理を示すフローチャートである。
【図１２】Ｇ飽和率と値a(GS)との関係の一例を示す図である。
【図１３】画素補間用ディジタルフィルタを説明するための図である。
【図１４】第２の実施形態での濃淡合計配列の配列処理を示すフローチャートである。
【図１５】濃淡合計配列の配列処理を行う機能部の構成例を示す図である。
【図１６】第３の実施形態での濃Ｇフィルタの配列処理を示すフローチャートである。
【図１７】濃Ｇフィルタの配列処理を行う機能部の構成例を示す図である。
【図１８】ＬＰＦを適用した結果の周波数特性の一例を示す図である。
【図１９】ＬＰＦにおける遮断周波数の一例を示す図である。
【図２０】配列の評価値最小化のための編集処理を示すフローチャートである。
【図２１】編集順序の一例を示す図である。
【図２２】８×８の初期ランダム画像の一例を示す図である。
【図２３】（Ａ）は編集ブロックと参照ブロックを説明するための図であり、（Ｂ）は交叉を説明するための図であり、（Ｃ）は突然変異を説明するための図である。
【図２４】第３の実施形態での淡Ｇフィルタの配列処理を示すフローチャートである。
【図２５】淡Ｇフィルタの配列処理を行う機能部の構成例を示す図である。
【発明を実施するための形態】
【００１１】
（第１の実施形態）
本発明の第１の実施形態について説明する。
［構成］
図１は、第１の実施形態に係る撮像装置１の構成例を示すブロック図である。撮像装置１において、光学部１０１は、レンズや光学ＬＰＦ（ローパスフィルタ）等で構成される。カラー撮像素子部１０２は、モザイク状に複数色配列されたカラーフィルタと、光電変換素子群を有するＣＣＤやＣＭＯＳ等の撮像素子とから構成される。画素補間部１０３は、カラー撮像素子部１０２で取得したモザイク状の被写体像（画像信号）に補間処理を施し、複数枚の独立プレーン画像を得る。画像処理部１０５は、画素補間部１０３での処理により得られた独立プレーン画像に対して、色処理、ノイズ低減処理、鮮鋭性向上処理等の画像処理を施す。画素補間パラメータ保持部１０４は、画素補間に必要なディジタルフィルタパラメータを保持する。画像処理パラメータ保持部１０６は、画像処理パラメータ（色処理パラメータ、ノイズ低減処理パラメータ、鮮鋭性向上処理パラメータなど）等のデータを保持する。メモリ部１０７は、画像処理部１０５にて処理された画像を保持する。表示部１０８は、例えば液晶ディスプレイ等の表示装置を有し、撮影中や撮影後、画像処理後の画像等を表示する。なお、画素補間部１０３は、画素補間パラメータ保持部１０４に格納された画素補間パラメータを用いて画素補間を行い、画像処理部１０５は、画像処理パラメータ保持部１０６に格納された画像処理パラメータを用いて画像処理を行う。データ出力部１０９には、ケーブル等を介してプリンタを接続したり、メモリカード等の記録媒体を接続したりすることができる。
【００１２】
本実施形態におけるカラー撮像素子部１０２では、レッド（Ｒ）、グリーン（Ｇ）、及びブルー（Ｂ）の３色について、それぞれ同じ色で透過率の異なる２種類のカラーフィルタが用いられ、計６種類のカラーフィルタが撮像素子に貼り付けられている。すなわち、６種類のカラーフィルタが、撮像素子が有する光電変換素子群の各光電変換素子に対して配置されている。ここで、透過率が低いレッドフィルタを濃Ｒフィルタ、透過率が高いレッドフィルタを淡Ｒフィルタと呼ぶ。同様に、透過率が低いグリーンフィルタを濃Ｇフィルタ、透過率が高いグリーンフィルタを淡Ｇフィルタと呼び、透過率が低いブルーフィルタを濃Ｂフィルタ、透過率が高いブルーフィルタを淡Ｂフィルタと呼ぶ。本実施形態では、一例として濃フィルタの透過率は淡フィルタの透過率の１／２とするが、濃フィルタの透過率と淡フィルタの透過率との比はこれに限定されるものではなく、他の値であっても良い。図２は、本実施形態における光量と光電変換電荷量との関係を示しており、淡フィルタが貼り付けられた撮像素子は、濃フィルタが貼り付けられた撮像素子に比べて１／２の光量において電荷量の飽和点に達する。
【００１３】
カラー撮像素子部１０２が有するカラーフィルタの配列の決定方法について、図３に示すフローチャートを参照して説明する。
まず、カラーフィルタを配列する領域（カラー撮像素子部１０２内の撮像素子についてのカラーフィルタ配置対象領域）に対する濃Ｒ／淡Ｒ／濃Ｇ／淡Ｇ／濃Ｂ／淡Ｂそれぞれのカラーフィルタの面積率を決定する（ステップＳ１０１）。本実施形態では、視覚感度の比率を考慮して、各フィルタの面積比率を濃Ｒ：淡Ｒ：濃Ｇ：淡Ｇ：濃Ｂ：淡Ｂ＝３：３：６：６：１：１とするが、これに限定されるものではない。
【００１４】
次に、決定した各フィルタの面積比率に基づいて、濃淡ＲＧＢの６つの各プレーン内の画素値が均一で、６つのプレーンの画素値の合計が２５５となるような８ビットの面積率画像を作成する（ステップＳ１０２）。ここで、ビット数をbnとし、（濃Ｒ比率＋淡Ｒ比率＋濃Ｇ比率＋淡Ｇ比率＋濃Ｂ比率＋淡Ｂ比率）をSUMAとすると、濃Ｒの面積率I_RDは以下のようになる。
I_RD＝２bn×（濃Ｒの比率）／SUMA＝２8×３／２０≒３８
同様に、淡Ｒの面積率I_RL、濃Ｇの面積率I_GD、淡Ｇの面積率I_GL、濃Ｂの面積率I_BD、淡Ｂの面積率I_BLは、それぞれ以下のようになる。
I_RL＝２bn×（淡Ｒの比率）／SUMA＝２8×６／２０≒３８
I_GD＝２bn×（濃Ｇの比率）／SUMA＝２8×３／２０≒７７
I_GL＝２bn×（淡Ｇの比率）／SUMA＝２8×３／２０≒７６
I_BD＝２bn×（濃Ｂの比率）／SUMA＝２8×１／２０≒１３
I_BL＝２bn×（淡Ｂの比率）／SUMA＝２8×１／２０≒１３
なお、この画像の横幅Wと縦幅Hは配列したいカラー撮像素子の横数、縦数と同じか、それ以上の数とする。
【００１５】
次に、濃淡Ｒの合計配列、濃淡Ｇの合計配列、及び濃淡Ｂの合計配列を後述する方法によって決定する（ステップＳ１０３）。濃淡Ｒの合計配列は、濃Ｒフィルタと淡Ｒフィルタとのどちらかが配列される位置を示す。濃淡Ｇの合計配列は、濃Ｇフィルタと淡Ｇフィルタとのどちらかが配列される位置を示す。濃淡Ｂの合計配列は、濃Ｂフィルタと淡Ｂフィルタとのどちらかが配列される位置を示す。その後、濃フィルタ、淡フィルタの配列処理を行う（ステップＳ１０４）。この処理では、濃淡Ｒの合計配列に基づいて、濃Ｒのカラーフィルタ配列及び淡Ｒのカラーフィルタ配列を決定する。同様に、濃淡Ｇの合計配列に基づいて濃Ｇのカラーフィルタ配列及び淡Ｇのカラーフィルタ配列を決定し、濃淡Ｂの合計配列に基づいて濃Ｂのカラーフィルタ配列及び淡Ｂのカラーフィルタ配列を決定する。ステップＳ１０１〜Ｓ１０４の処理を撮像素子のすべての画素について行うことで、カラーフィルタの配列を決定することができる。
【００１６】
以下に、ステップＳ１０３での濃淡合計配列の配列処理について、図４に示すフローチャート及び図５に示すブロック図を参照して説明する。濃淡合計配列の配列処理には、例えばR.Floydらにより提案された誤差拡散法を用いる。
最初に、ステップＳ２０１にて、濃淡ＲＧＢ面積率合計データI_RGBを濃淡ＲＧＢ合計部３０１に入力する。濃淡ＲＧＢ面積率合計データI_RGBは、面積率I_RD、I_RL、I_GD、I_GL、I_BD、I_BLの合計値（I_RGB＝I_RD＋I_RL＋I_GD＋I_GL＋I_BD＋I_BL）であり、本実施形態では２５５となる。
【００１７】
次に、ステップＳ２０２にて、濃淡ＲＧ面積率合計データI_RGを濃淡ＲＧ配列化部３０２に入力する。濃淡ＲＧ面積率合計データI_RGは、面積率I_RD、I_RL、I_GD、I_GLの合計値（I_RG＝I_RD＋I_RL＋I_GD＋I_GL）である。
【００１８】
誤差拡散係数が図６（Ａ）に示すようにK1〜K4の４つの係数を持つ場合、図５に示す濃淡ＲＧ配列化部３０２内の濃淡ＲＧ累積誤差ラインバッファ３０４は、図６（Ｂ）に示すように構成される。すなわち、濃淡ＲＧ累積誤差ラインバッファ３０４は、１個の記憶領域E_RG0と入力画像の横画素数Wと同数の記憶領域E_RG（x）（0≦x≦W−1）とを有し、後述する方法で量子化誤差が格納されている。なお、濃淡ＲＧ累積誤差ラインバッファ３０４は、処理開始前にすべて初期値０で初期化されていても良いし、ランダム値で初期化されても良い。
【００１９】
次に、ステップＳ２０３にて、濃淡ＲＧ累積誤差加算部３０５で、入力された着目画素における濃淡ＲＧ面積率合計データI_RGに濃淡ＲＧ面積率合計データの横画素位置xに対応する誤差E_RG（x）が加算される。すなわち、入力された着目画素における濃淡ＲＧ面積率合計データI_RGの値は、累積誤差加算後のデータをI_RG'とすると、I_RG'＝I_RG＋E_RG（x）となる。
【００２０】
次に、ステップＳ２０４にて、濃淡ＲＧ閾値選択部３０６が閾値T_RGを選択する。閾値T_RGは、予め一定値（例えば、１２８など）を設定するようにしても良いし、配列生成遅延を回避するために（I_RGB−I_RG）の値に応じて細かく変更するようにしても良い。
【００２１】
次に、ステップＳ２０５にて、濃淡ＲＧ量子化部３０７が、誤差加算後の濃淡ＲＧ面積率合計データI_RG'と閾値T_RGとを比較し、以下の規則に従って濃淡ＲＧ面積率合計データの配列total_RG及び濃淡Ｂの合計配列total_Bを決定する。I_RG'＜T_RGの場合には、total_RG＝０、total_B＝１とし、I_RG'≧T_RGの場合には、total_RG＝１、total_B＝０とする。このようにして、濃淡ＲＧ面積率合計データの配列total_RG（量子化値０，１）が決定するとともに、濃淡Ｂの合計配列total_B（量子化値０，１）が決定する。
【００２２】
なお、total_B＝１は、濃Ｂフィルタ又は淡Ｂフィルタのどちらかが配列されることを意味し、total_B＝０は、濃Ｂフィルタ及び淡Ｂフィルタのどちらも配列されないことを意味する。また、total_RG＝１は、その位置に、濃Ｒフィルタ、淡Ｒフィルタ、濃Ｇフィルタ、及び淡Ｇフィルタのうちのいずれか１つが配列されることを意味する。ただし、その場所に濃Ｒフィルタ、淡Ｒフィルタ、濃Ｇフィルタ、及び淡Ｇフィルタのいずれが配列されるかは確定しない。この時点で確定していることは、濃Ｒフィルタ、淡Ｒフィルタ、濃Ｇフィルタ、淡Ｇフィルタのどれが配列されるかわからないが、少なくともどれか１つが配列されることが確定しているに過ぎない。total_RG＝０は、濃Ｒフィルタ、淡Ｒフィルタ、濃Ｇフィルタ、及び淡Ｇフィルタのいずれも配列されないことを意味する。
【００２３】
次に、ステップＳ２０６にて、濃淡ＲＧ誤差演算部３０８で、誤差加算後の濃淡ＲＧ面積率合計データI_RG'と濃淡ＲＧ面積率合計データの配列total_RGとの差分Err_RGが計算される。差分Err_RGは、Err_RG（x）＝I_RG'−（total_RG×２５５）として求められる。
【００２４】
次に、ステップＳ２０７にて、濃淡ＲＧ誤差拡散部３０９が、横画素位置xに応じて以下のように誤差Err_RG（x）の拡散処理を行う。濃淡ＲＧ誤差拡散部３０９においては、処理画素の縦アドレスyによって処理方向が変わる。
例えば縦アドレスy（0≦y≦H−1）が２で割り切れるとき（y％２＝０（％は剰余記号）のとき）には、濃淡ＲＧ誤差拡散部３０９は、図６（Ａ）の４０１のように左から右へ処理し、以下のように誤差を拡散する。
E_RG（x＋1）←E_RG（x＋1）＋Err_RG（x）×K1    （x＜W−1）
E_RG（x−1）←E_RG（x−1）＋Err_RG（x）×K2    （x＞0）
E_RG（x）←E0_RG＋Err_RG（x）×K3
E0_RG←E_RG×K4    （x＜W−1）
E0_RG←0           （x＝W−1）
一方、縦アドレスy（0≦y≦H−1）が２で割り切れないとき（y％２＝１（％は剰余記号）のとき）には、濃淡ＲＧ誤差拡散部３０９は、図６（Ａ）の４０２のように右から左へ処理し、以下のように誤差を拡散する。
E_RG（x−1）←E_RG（x−1）＋Err_RG（x）×K1    （x＞0）
E_RG（x＋1）←E_RG（x＋1）＋Err_RG（x）×K2    （x＜W−1）
E_RG（x）←E0_RG＋Err_RG（x）×K3
E0_RG←E_RG×K4    （x＞0）
E0_RG←0           （x＝0）
なお、本実施形態では、K1＝7/16、K2＝3/16、K3＝5/16、K4＝1/16とするが、（I_RGB−I_RG）、I_RG、I_BDやI_BLの値に応じて係数K1〜K4の値を変化させても良い。
【００２５】
以上で、１画素分の濃淡ＲＧ面積率合計データI_RGに対しての配列total_RG（量子化値０，１）が完了する。同時に、濃淡Ｂの合計配列total_B（量子化値０，１）が確定する。
続いて、濃淡Ｒの合計配列、及び濃淡Ｇの合計配列を決定するために、濃Ｇの面積率I_GDと淡Ｇの面積率I_GLの合計値である濃淡Ｇ面積率合計データI_G（＝I_GD＋I_GL）に対して誤差拡散処理を施し配列化を行う。
【００２６】
まず、ステップＳ２０８にて、濃淡Ｇ面積率合計データI_Gを濃淡Ｇ配列化部３０３に入力する。誤差拡散係数が図６（Ａ）に示すようにK1〜K4の４つの係数を持つ場合、図５に示す濃淡Ｇ配列化部３０３内の濃淡Ｇ累積誤差ラインバッファ３１０は、図６（Ｂ）に示すように構成される。すなわち、濃淡Ｇ累積誤差ラインバッファ３１０は、１個の記憶領域E_G0と入力画像の横画素数Wと同数の記憶領域E_G（x）（x＝0〜W−1）とを有し、後述する方法で量子化誤差が格納されている。なお、濃淡Ｇ累積誤差ラインバッファ３１０は、処理開始前にすべて初期値０で初期化されていても良いし、ランダム値で初期化されても良い。
【００２７】
次に、ステップＳ２０９にて、濃淡Ｇ累積誤差加算部３１１で、入力された着目画素の濃淡Ｇ面積率合計データI_Gに、横画素位置xが対応する誤差E_G（x）を加算する。すなわち、入力された着目画素の濃淡Ｇ面積率合計データI_Gの値は、累積誤差加算後のデータをI_G'とすると、I_G'＝I_G＋E_G（x）となる。
【００２８】
次に、ステップＳ２１０にて、濃淡Ｇ閾値選択部３１２が閾値T_Gを選択する。閾値T_Gは、予め一定値（例えば、１２８など）を設定するようにしても良いし、配列生成遅延を回避するために（I_RG−I_G）の値に応じて細かく変更するようにしても良い。
【００２９】
次に、ステップＳ２１１にて、濃淡Ｇ量子化部３１３が、誤差加算後の濃淡Ｇ面積率合計データI_G'と閾値T_Gとを比較し、以下の規則に従って濃淡Ｒの合計配列total_R及び濃淡Ｇの合計配列total_Gを決定する。I_G'≧T_Gの場合には、total_G＝total_RG、total_R＝０とし、I_G'＜T_Gの場合には、total_G＝０、total_R＝total_RGとする。このようにして、濃淡Ｇの合計配列total_G（量子化値０，１）が決定すると同時に濃淡Ｒ合計配列total_R（量子化値０，１）が決定する。
【００３０】
なお、total_G＝total_RGは、total_RG＝１の場合に濃Ｇフィルタ又は淡Ｇフィルタのどちらかが配列されることを意味し、total_RG＝０の場合には濃Ｇフィルタ及び淡Ｇフィルタのどちらも配列されないことを意味する。また、total_G＝０は、濃Ｇフィルタ及び淡Ｇフィルタのどちらも配列されないことを意味する。同様に、total_R＝total_RGは、total_RG＝１の場合に濃Ｒフィルタ又は淡Ｒフィルタのどちらかが配列されることを意味し、total_RG＝０の場合には濃Ｒフィルタ及び淡Ｒフィルタのどちらも配列されないことを意味する。また、total_R＝０は、濃Ｒフィルタ及び淡Ｒフィルタのどちらも配列されないことを意味する。
【００３１】
次に、ステップＳ２１２にて、濃淡Ｇ誤差演算部３１４で、誤差加算後の濃淡Ｇ面積率合計データI_G'と濃淡Ｇの合計配列total_Gとの差分Err_Gが計算される。差分Err_Gは、Err_G（x）＝I_G'−（total_G×２５５）として求められる。
【００３２】
続いて、ステップＳ２１３にて、濃淡Ｇ誤差拡散部３１５が、横画素位置xに応じて以下のように誤差Err_G（x）の拡散処理を行う。濃淡Ｇ誤差拡散部３１５は、処理画素の縦アドレスy（0≦y≦H−1）によって処理方向を変える。
縦アドレスyが２で割り切れるとき（y％２＝０（％は剰余記号）のとき）には、濃淡Ｇ誤差拡散部３１５は、以下のように誤差を拡散する。
E_G（x＋1）←E_G（x＋1）＋Err_G（x）×K1    （x＜W−1）
E_G（x−1）←E_G（x−1）＋Err_G（x）×K2    （x＞0）
E_G（x）←E0_G＋Err_G（x）×K3
E0_G←E_G×K4    （x＜W−1）
E0_G←0          （x＝W−1）
一方、縦アドレスyが２で割り切れないとき（y％２＝１（％は剰余記号）のとき）には、濃淡Ｇ誤差拡散部３１５は、以下のように誤差を拡散する。
E_G（x−1）←E_G（x−1）＋Err_G（x）×K1    （x＞0）
E_G（x＋1）←E_G（x＋1）＋Err_G（x）×K2    （x＜W−1）
E_G（x）←E0_G＋Err_G（x）×K3
E0_G←E_G×K4    （x＞0）
E0_G←0          （x＝0）
なお、本実施形態では、K1＝7/16、K2＝3/16、K3＝5/16、K4＝1/16とするが、（I_RG−I_G）の値や濃淡Ｇ画素率合計データI_Gの値に応じて係数K1〜K4を変化させても良い。
【００３３】
以上で、１画素分のＲＧＢそれぞれの濃淡合計配列が決定し、ステップＳ１０３における本実施形態での濃淡合計配列の配列処理が完了する。前述した濃淡合計配列の配列処理を全画素について実施することでＲＧＢの濃淡合計配列が決定する。図７（Ａ）に本実施形態を適用して作成したＲＧＢの濃淡合計配列の一例を示す。図７（Ａ）に示すように、ＲＧＢの各々の濃淡合計配列を誤差拡散法によって演算しているため、規則性がなく、かつ分散性が高く配列できている。すなわち、配列の空間周波数特性をみると、低周波成分が少なく、高周波で帯域成分をもっている。
【００３４】
次に、ステップＳ１０４での濃フィルタ、淡フィルタの配列処理について説明する。濃フィルタ、淡フィルタの配列処理は、濃Ｒ、淡Ｒ、濃Ｇ、淡Ｇ、濃Ｂ、淡Ｂのそれぞれのカラーフィルタ配列を決定する処理である。以下では、一例として濃Ｇ及び淡Ｇのカラーフィルタ配列を決定する場合について、図８（Ａ）に示すブロック図及び図９に示すフローチャートを参照しながら説明する。
【００３５】
まず、ステップＳ３０１にて、濃Ｇの面積率I_GDを濃Ｇ、淡Ｇフィルタ配列決定部５０１に入力する（ステップＳ３０１）。次に、ステップＳ３０２にて、濃Ｇ累積誤差加算部５０３で、入力された濃Ｇの面積率I_GDに処理画素位置に対応した濃Ｇの累積誤差E_GD（x）を加算する。累積誤差加算後のデータをI_GD'とすると、I_GD'＝I_GD＋E_GD（x）となる。なお、濃Ｇの累積誤差E_GD（x）は、図８（Ｂ）に示す濃Ｇ累積誤差ラインバッファ５０２に格納されている。濃Ｇ累積誤差ラインバッファ５０２は、前述した濃淡ＲＧ累積誤差ラインバッファ３０４等と同様に、処理開始前にすべて初期値０で初期化しても良いし、ランダム値で初期化しても良い。
【００３６】
次に、ステップＳ３０３にて、濃Ｇ閾値選択部５０４が閾値T_GDを選択する。閾値T_GDは、予め一定値（例えば、１２８など）を設定するようにしても良いし、配列生成遅延を回避するために（I_G−I_GD）の値に応じて細かく変更するようにしても良い。
【００３７】
次に、ステップＳ３０４にて、濃Ｇ量子化部５０５が、誤差加算後の濃Ｇ面積率データI_GD'と閾値T_GDとを比較して、濃Ｇ及び淡Ｇのカラーフィルタ配列を以下のように決定する。I_GD'≧T_GDの場合には、Out_GD＝total_G、Out_GL＝０とし、I_GD'＜T_GDの場合には、Out_GD＝０、Out_GL＝total_Gとする。このようにして、濃Ｇのカラーフィルタ配列が決定するとともに、淡Ｇのカラーフィルタ配列が決定する。
具体的には、累積誤差加算後の濃Ｇ面積率データI_GD'が閾値T_GD以上で、かつtotal_G＝１の場合のみに濃Ｇフィルタが配列される。また、累積誤差加算後の濃Ｇ面積率データI_GD'が閾値T_GDより小さく、かつtotal_G＝１の場合のみに淡Ｇフィルタが配列される。すなわち、前述した濃淡Ｇ配列化部３０３において求めた濃Ｇフィルタ又は淡Ｇフィルタのどちらかが配列される濃淡Ｇの合計配列total_Gの中から、濃Ｇフィルタを配列する場所を誤差拡散処理により求めている。そして、濃淡Ｇの合計配列total_Gのうち濃Ｇフィルタが配列されなかった場所に淡Ｇフィルタを配列している。
【００３８】
次に、ステップＳ３０５にて、濃Ｇ誤差演算部５０６で、誤差加算後の濃Ｇ面積率データI_GD'と出力値Out_GDとの差分Err_GDが計算される。差分Err_GDは、Err_GD（x）＝I_GD'−（Out_GD×２５５）として求められる。
【００３９】
続いて、ステップＳ３０６にて、濃Ｇ誤差拡散部５０７が、注目画素の周辺画素へ誤差Err_GD（x）を拡散する。濃Ｇ誤差拡散部５０７は、処理画素の縦アドレスy（0≦y≦H−1）によって処理方向を変える。
縦アドレスyが２で割り切れるとき（y％２＝０（％は剰余記号）のとき）には、濃Ｇ誤差拡散部５０７は、以下のように誤差を拡散する。
E_GD（x＋1）←E_GD（x＋1）＋Err_GD（x）×K1    （x＜W−1）
E_GD（x−1）←E_GD（x−1）＋Err_GD（x）×K2    （x＞0）
E_GD（x）←E0_GD＋Err_GD（x）×K3
E0_GD←E_GD×K4    （x＜W−1）
E0_GD←0          （x＝W−1）
一方、縦アドレスyが２で割り切れないとき（y％２＝１（％は剰余記号）のとき）には、濃Ｇ誤差拡散部５０７は、以下のように誤差を拡散する。
E_GD（x−1）←E_GD（x−1）＋Err_GD（x）×K1    （x＞0）
E_GD（x＋1）←E_GD（x＋1）＋Err_GD（x）×K2    （x＜W−1）
E_GD（x）←E0_GD＋Err_RD（x）×K3
E0_GD←E_GD×K4    （x＞0）
E0_GD←0          （x＝0）
なお、本実施形態では、K1＝7/16、K2＝3/16、K3＝5/16、K4＝1/16とするが、（I_G−I_GD）の値や濃Ｇの面積率I_GDに応じて係数K1〜K4の値を変化させても良い。
【００４０】
以上で、１画素について濃Ｇ及び淡Ｇのカラーフィルタ配列が決定する。濃Ｒ及び淡Ｒのカラーフィルタ配列、濃Ｂ及び淡Ｂのカラーフィルタ配列の決定方法は、濃Ｇ及び淡Ｇのカラーフィルタ配列の決定方法と同様であるため、説明は省略する。前述の処理を全画素に適用することで、濃Ｒ、淡Ｒ、濃Ｇ、淡Ｇ、濃Ｂ、及び淡Ｂのすべてのカラーフィルタ配列が決定できる。図７（Ｂ）に本実施形態を適用した濃Ｇフィルタ配列と淡Ｇフィルタ配列の一例を示す。図７（Ｂ）に示すように、濃Ｇ及び淡Ｇのどちらのカラーフィルタ配列も、規則性がなく、かつ分散性が高い配列となっている。図示しないが、濃Ｒ、淡Ｒ、濃Ｂ、淡Ｂについても同様に規則性がなく、かつ分散性が高いカラーフィルタ配列となる。すなわち、濃Ｇフィルタ単独のカラーフィルタ配列の空間周波数特性は、低周波成分が少なく、高周波で帯域成分を有する。
【００４１】
以上のように、本実施形態では、ＲＧＢ各色のカラーフィルタにおいて、同一色の濃淡カラーフィルタ配列の合計配列は、低周波成分が少なく（略０であることが好ましい）、高周波に帯域成分を持つ空間周波数特性となる。さらに、ＲＧＢ各色のカラーフィルタにおいて、濃単独のカラーフィルタ配列もまた、低周波成分が少なく（略０であることが好ましい）、高周波に帯域成分を持つ空間周波数特性となる。
【００４２】
前述した実施形態では、各色について透過率が低いフィルタ（濃フィルタ）及び透過率が高いフィルタ（淡フィルタ）の２種類のカラーフィルタを用いる場合について説明したが、３種類以上の異なる透過率のカラーフィルタを用いても良い。例えば、１色につき透過率が低いフィルタ（濃フィルタ）、透過率が高いフィルタ（淡フィルタ）、及び透過率が濃フィルタと淡フィルタとの間であるフィルタ（中フィルタ）の３種類のカラーフィルタを用いるようにしても良い。この場合には、各色の濃フィルタ、中フィルタ、及び淡フィルタのカラーフィルタ配列が以下のような空間周波数成分を持つように配列する。
（１）濃フィルタ、中フィルタ、及び淡フィルタの合計配列の空間周波数成分は、低周波数領域で成分が少なく（略０）、高周波数領域で帯域成分を持つ。
（２）濃フィルタ及び中フィルタの合計配列（透過率が最も高いフィルタを除いた他のフィルタの合計配列）の空間周波数成分は、低周波数領域で成分が少なく（略０）、高周波数領域で帯域成分を持つ。
（３）濃フィルタ（透過率が最も低いフィルタ）単独のフィルタ配列の空間周波数成分は、低周波数領域で成分が少なく（略０）、高周波数領域で帯域成分を持つ。
【００４３】
ここで、前述のようにカラーフィルタ配列を、低周波成分が少なく、高周波に帯域成分を持つ空間周波数特性となるよう配列する理由について説明する。一般に、人間の視覚は「低周波に敏感、高周波に鈍感」な特性を持つ。例えばカラーフィルタ配列をランダムに配列すると、全空間周波数帯域で成分を持つため、そのうちの低周波成分が人間の視覚にはノイズとして感じてしまう。一方、本実施形態においては、低周波にほとんど成分を持たないため、人間の視覚にはノイズとして感じ難い良好な画像が得られる。これより、撮像によって得られる画像のノイズを低減するために、低周波成分が少ない空間周波数特性の配列とする。他方、ベイヤー型配列等のようにカラーフィルタを規則的に配列した場合（ある周波数で線スペクトルを持つ場合）は、規則的なパターンを撮像した際、撮像対象のパターンとカラーフィルタ配列が干渉し、モアレが発生してしまう。しかし、本実施形態のカラーフィルタ配列は、規則性がない（高周波で帯域成分を持つ）配列のため、モアレが発生し難い。これより、モアレを低減するために、線スペクトルを持たず、帯域成分を持つ空間周波数特性の配列とする。以上より、ノイズを低減し、かつモアレを低減するために、低周波で成分が少なく、高周波で帯域成分を持つカラーフィルタ配列としている。
【００４４】
次に、前述の処理にてカラーフィルタ配列を得たカラー撮像素子部１０２を備えた撮像装置１の動作について、図１に示したブロック図及び図１０に示すフローチャートを参照して説明する。
【００４５】
まず、ステップＳ４０１にて、被写体像を形成する光線がレンズ、及び光学ＬＰＦ等の光学部１０１を通過し、カラー撮像素子部１０２に入力される。次に、ステップＳ４０２にて、カラー撮像素子部１０２のカラーフィルタにて特定の光波長帯域だけ通過し、撮像素子にて光電変換され、さらにＡ／Ｄ変換処理を施して離散信号値を得る。
本実施形態におけるカラー撮像素子部１０２は、濃Ｒ、淡Ｒ、濃Ｇ、淡Ｇ、濃Ｂ、及び淡Ｂの６種類の異なるカラーフィルタを有する。カラーフィルタ配列は、前述したように同一色で２つ以上の異なる透過率であるカラーフィルタの合計配列は、低周波で成分が少なく、高周波で帯域成分を持つ空間周波数特性である。また、濃Ｒフィルタ等の透過率が低いフィルタ（濃フィルタ）の各カラーフィルタ配列は単独でも、低周波で成分が少なく、高周波で帯域成分と持つ空間周波数特性である。
カラーフィルタは１つの受光面で色情報を得るため、被写体撮像によって得られた画像信号は、前記カラーフィルタ配列に従った単プレーン（１枚）の色情報RGB_m（x,y）となる。なお、色情報RGB_m（x,y）には、濃淡ＲＧＢの色情報を含む。また、本実施形態では得られた離散信号値は８ビット（０〜２５５）とするが、それ以上のビット数であってもよい。
【００４６】
次に、ステップＳ４０３にて、画素補間部１０３は、前記単プレーンの離散信号値RGB_m（x,y）を、濃Ｒ、淡Ｒ、濃Ｇ、淡Ｇ、濃Ｂ、及び淡Ｂの各色信号に分離し、独立６プレーン画像を得る。以下のように、RGB_m（x,y）と各色カラーフィルタ配列Out_RD（x,y）、Out_RL（x,y）、Out_GD（x,y）、Out_GL（x,y）、Out_BD（x,y）、Out_BL（x,y）のそれぞれとの積をとる。これにより、RD_m、RD_m、GD_m、GL_m、BD_m、BL_mの独立した６プレーンに展開する。
RD_m（x,y）＝RGB_m（x,y）×Out_RD（x,y）
RL_m（x,y）＝RGB_m（x,y）×Out_RL（x,y）
GD_m（x,y）＝RGB_m（x,y）×Out_GD（x,y）
GL_m（x,y）＝RGB_m（x,y）×Out_GL（x,y）
BD_m（x,y）＝RGB_m（x,y）×Out_BD（x,y）
BL_m（x,y）＝RGB_m（x,y）×Out_BL（x,y）
【００４７】
続いて、ステップＳ４０４にて、画素補間部１０３は、画素補間パラメータ保持部１０４に保持された画素補間パラメータを用いて、濃淡プレーンの合成及び画素補間処理を実施しＲＧＢの独立３プレーン画像を得る。以下に、ステップＳ４０４での画素補間処理について、図１１に示すフローチャートを参照して説明する。なお、以下ではＧ信号に対する（濃Ｇ及び淡Ｇの２プレーンに対する）画素補間処理を一例として説明するが、Ｒ信号やＢ信号についても行う処理は同様である。
【００４８】
まず、画素補間部１０３は、画素補間を行う前に淡Ｇプレーンと濃Ｇプレーンとを合成しＧプレーンの画像情報を得る。しかし、図２に示したようにハイライト領域においては、入射光が淡Ｇフィルタを通過する画素では光量が多く光電変換電荷量が飽和してしまい、有意な淡Ｇ信号GL_mを得ることができない。そこで、本実施形態では、注目画素（x,y）の周辺での淡Ｇフィルタが配列された画素のうち、光電変換電荷量が飽和している画素の割合に応じて濃Ｇ信号GD_mと淡Ｇ信号GL_mとの合成方法を変える。ここで、注目画素の周辺において、淡Ｇフィルタが配列された画素のうち光電変換電荷量が飽和している画素の割合をＧ飽和率GSとする。同様に、Ｒ、ＢについてもＲ飽和率RS、Ｂ飽和率BSとする。
ステップＳ５０１にて、画素補間部１０３は、注目画素（x,y）周辺のＧ飽和率GSを計算する。本実施形態においては、Ｇ飽和率GSは、注目画素（x,y）を含む任意のサイズ（例えばＮ×Ｍ画素）の領域における淡Ｇ信号GL_mが飽和している画素の割合とする。
【００４９】
次に、ステップＳ５０２にて、画素補間部１０３は、濃信号と淡信号の合成を行う。本実施形態では濃フィルタは淡フィルタの１／２の透過率を持つとしているため、図２に示したように淡Ｇ信号が飽和するまで、同じ光量に対しては濃Ｇフィルタが配列された画素では、淡Ｇフィルタが配列された画素の１／２の電荷量が蓄積される。したがって、淡Ｇ信号が飽和していない場合には、淡Ｇフィルタが配列された画素の電荷量を１／２倍すると、濃Ｇフィルタが同一場所に配列されたときに蓄積される電荷量と同等と見なすことができる。そこで、非ハイライト領域での濃Ｇ信号GD_m（x,y）と淡Ｇ信号GL_m（x,y）との合成後のＧ信号G_mは、G_m（x,y）＝GD_m（x,y）＋a（GS）×GL_m（x,y）／２と表すことができる。ここで、a（GS）は、Ｇ飽和率GSに応じて変化する値であり、0≦a（GS）≦1を満たす実数である。値a（GS）は、図１２に一例を示すようにＧ飽和率GSに応じて滑らかに変化するように設定しても良い。また、Ｇ飽和率GSが、GS＝0の場合には値a（GS）＝1とし、0＜GS＜1の場合には値a（GS）＝0とするようにしても良い。
【００５０】
淡Ｇ信号が飽和していない非ハイライト領域では、淡Ｇ信号GL_m（x,y）と濃Ｇ信号GD_m（x,y）とを合成することによってＧ信号G_mを得る。そのため、濃Ｇ又は淡Ｇ単独のカラーフィルタ配列を用いた場合に比べて有意なＧ信号を持つカラーフィルタ密度を高め、高い解像度の画像を撮像することが可能となる。さらに、空間周波数特性において、低周波で成分が少なく、高周波で帯域成分を持つ空間周波数特性をもつＧ信号G_mを得ることができる。一方、ハイライト領域では、前述の値a（GS）が０となるため、淡Ｇ信号GL_mを用いずに、濃Ｇ信号GD_m（x,y）のみからＧ信号G_m（x,y）を算出する。電荷が飽和量に達していない濃Ｇ信号のみを用いるため、淡Ｇ信号が飽和してしまうような状況においても画像を得ることができるだけではなく、低周波成分が少なく、高周波では帯域成分を持つという空間周波数特性を持つＧ信号G_mを得ることができる。
【００５１】
次に、ステップＳ５０３にて、画素補間部１０３は、画素補間パラメータ保持部１０４において、Ｇ信号における有意な信号が得ることができる配列の面積率をG_Aとして、画素補間用ディジタルフィルタF_G（G_A）を設定する。Ｇ信号面積率G_Aは、G_A＝I_GD＋a（GS）×I_GLで表される。Ｇ信号面積率G_AはＧ飽和率GSによって変化する。例えば値a（GS）をGS＝0では１、0＜GS＜1では０とするように設定した場合には、Ｇ信号面積率G_Aは、ハイライト領域では濃Ｇの面積率I_GDに等しくなり、非ハイライト領域では濃Ｇの面積率I_GDと淡Ｇの面積率I_GLの和に等しくなる。
【００５２】
また、本実施形態における画素補間用ディジタルフィルタF_G（G_A）は、F_G（G_A）＝F'_G（G_A）／Sum_F_Gのように表されるローパス特性のディジタルフィルタである。なお、Sum_F_Gは、F'_G（G_A）係数の合計値である。また、F'_Gは下式（１）で表される。
【数１】
0005484015.tif 000002
式（１）において、σx（G_A）、σy（G_A）は、画素補間用ディジタルフィルタの広がり度合いを示すパラメータであり、注目画素（x,y）の周辺のＧ信号面積率G_Aに応じて値が変化する。本実施形態では、図１３（Ａ）の６０１に示すようにＧ信号面積率G_Aが増えるとσx（G_A）、σy（G_A）は減少するよう設定する。これは、図１３（Ａ）の６０２に示すとおり、Ｇ信号面積率G_Aの増加に対して、Ｇ信号G_mにおいて有効な値を持っている画素同士の距離である相対配列間隔が単調減少関係となるためである。すなわち、Ｇ信号面積率G_Aが増えると相対配列間隔が短くなるので、広がり度合いσx、σyが小さいディジタルフィルタでも画素補間が可能となる。言い換えれば、図１３（Ａ）の６０３に示すとおり、Ｇ信号面積率G_Aが増えると相対周波数が上がるので、ボケの小さいディジタルフィルタでも画素補間が可能となる。なお、本実施形態では、ｘ方向のディジタルフィルタの広がり度合いσx（G_A)とｙ方向のディジタルフィルタの広がり度合いσy（G_A）を同じ値としているが、異なる値であっても良い。
【００５３】
ここで、ＲＧＢの各信号に対するディジタルフィルタF_R（R_A）、F_G（G_A）、F_B（B_A）の具体例を図１３（Ｂ）にそれぞれ示す。ここでは、値a（GS）をGS＝0では１、0＜GS＜1では０とするように設定した場合を一例として示す。そのため、各色の信号に対して、淡信号が飽和する前と飽和した後の２種類のディジタルフィルタを用意する。本実施形態では、サイズが５×５画素、９×９画素の正方形として例を示すが、この形態に限るものではない。例えば、サイズは、３×５画素、５×７画素、５×９画素のような長方形でも良い。図１３（Ｂ）においては、ＲＧＢ各色の信号面積率がG_A＞R_A＞B_Aとなっているため、ディジタルフィルタの広がり度合いはF_B＞F_R＞F_Gとなっている。
【００５４】
画素補間用ディジタルフィルタと各色の信号について、周波数領域で関係を示すと図１３（Ｃ）に示すようになる。図１３（Ｃ）の上段は各色の淡信号が飽和する前の状態におけるディジタルフィルタと信号の空間周波数特性の関係を表す。８０１はＲ（レッド）用のディジタルフィルタF_R（R_A）の周波数特性を示しており、８０２はＲ信号R_mの周波数特性を示している。また、８０５はＧ（グリーン）用のディジタルフィルタF_G（G_A）の周波数特性を示しており、８０６はＧ信号G_mの周波数特性を示している。同様に、８０９はＢ（ブルー）用のディジタルフィルタF_B（B_A）の周波数特性を示しており、８１０はＢ信号B_mの周波数特性を示している。図１３（Ｃ）の下段は各色の淡信号が飽和した後に用いるディジタルフィルタと信号の空間周波数特性の関係を表す。８０３はＲ（レッド）用のディジタルフィルタF_R（R_A）の周波数特性を示しており、８０４はＲ信号R_mの周波数特性を示している。また、８０７はＧ（グリーン）用のディジタルフィルタF_G（G_A）の周波数特性を示しており、８０８はＧ信号G_mの周波数特性を示している。同様に、８１１はＢ（ブルー）用のディジタルフィルタF_B（B_A）の周波数特性を示しており、８１２はＢ信号B_mの周波数特性を示している。
【００５５】
淡Ｂ信号が飽和した後のＢ信号B_mの周波数特性８１２は、信号面積率が最も低いため、他の色の信号のよりも高周波にならず、相対的に低周波側にスペクトルが分布している。この低周波スペクトルを取り除かずに画素補間処理を行うと、ノイズ発生原因となるため、画素補間のためのディジタルフィルタF_B（B_A）の周波数特性８１１は、強い減衰特性（＝ボケの大きいディジタルフィルタ）とすれば良いことが分かる。反対に、淡Ｇ信号が飽和する前のＧ信号G_mの周波数特性８０６は、信号面積率が高いため、他の色の信号よりも高周波にスペクトルが分布する。よって、画素補間のためのディジタルフィルタF_G（G_A）の周波数特性８０５は、弱い減衰特性（＝ボケの小さいディジタルフィルタ）とすれば良いことが分かる。また、淡信号が飽和するハイライト領域では、本実施形態では各色の信号の面積率が１／２に下がるので、飽和前の非ハイライト領域に比べ広く減衰特性の強いディジタルフィルタを用いる。
以上で、図１１に示したステップＳ５０３でのディジタルフィルタ設定が終了する。
【００５６】
続いて、ステップＳ５０４にて、画素補間部１０３は、Ｇ信号G_m（x,y）に対して、ステップＳ５０３において設定したディジタルフィルタF_G（G_A）を用いて処理を施し、画素補間後画像G_p（x,y）を得る。画素補間後画像G_p（x,y）は、G_p（x,y）＝G_m（x,y）＊F_G（G_A）で表される（ただし、＊はコンボリューションを示す。）。なお、本実施形態におけるＧ信号の画素補間処理においては、Ｒ信号、Ｂ信号とは独立の画素補間処理を行ったが、Ｒ信号やＢ信号に応じた画素補間処理を行っても良い。
【００５７】
次に、ステップＳ５０５にて、画素補間部１０３は、以下に示すゲイン処理を行う。
R_p_g（x,y）＝R_p（x,y）×Gain_R
G_p_g（x,y）＝G_p（x,y）×Gain_G
B_p_g（x,y）＝G_p（x,y）×Gain_B
なお、Gain_R＝２５５／R_A、Gain_G＝２５５／G_A、Gain_B＝２５５／B_Aであり、ＲＧＢ各色の信号の面積率R_A、G_A、B_Aは、各プレーンにおいて注目点の周辺の光量によって変化する値である。
ステップＳ５０５でのゲイン処理は、撮像画像の輝度分布を被写体に合わせる処理である。例えば非ハイライト領域では、ＲＧＢの各信号の面積率はR_A＝76、G_A＝153、B_A＝26であるため、画素補間後画像R_p、G_p、B_pは目標とする輝度のそれぞれ、76／255、153／255、26／255しか得られていない。本処理は、目標輝度にあわせるために演算する。
以上で、図１０に示したステップＳ４０４での画素補間処理が終了する。
【００５８】
次に、ステップＳ４０５にて、画像処理部１０５は、前述した処理によって得られた独立３プレーン画像に対して、画像処理パラメータ保持部１０６に保持された画像処理パラメータを用いて、γ変換、色処理、ノイズ低減処理、鮮鋭性向上処理等を行う。これにより、画像処理後の画像R_c、G_c、B_cを得る。次に、ステップＳ４０６にて、画像処理後の画像R_c、G_c、B_cがメモリ部１０７に一時的に保持される。最後に、ステップＳ４０７にて、メモリ部１０７に保持された画像R_c、G_c、B_cを表示部１０８に表示し、データ出力部１０９にて外部記憶（不図示）やプリンタ（不図示）に転送する。
以上により、撮像装置１の動作がすべて終了する。
【００５９】
なお、前述した説明では画素補間部１０３での処理では、単一のディジタルフィルタを用いたが、これに限定されるものではない。例えば、場所や取得したモザイク状画像の信号値に応じて変化する（例えば周辺のカラーフィルタの位置関係や密度、信号値等に依存して変化する）ディジタルフィルタを用いても良い。また、画素補間処理では、線形のディジタルフィルタを用いて画素補間を行ったが、その他、線形補間関数（バイリニア等）を用いて補間しても良い。また、非線形なディジタルフィルタや非線形補間関数で補間しても良い。
【００６０】
また、本実施形態のフィルタ配列方法は、同じ色内では濃フィルタの配列を優先しているが、淡フィルタの配列を優先しても良い。すなわち、優先させたいカラーフィルタ配列に対して、より低周波の少ない配列を確保して、優先するカラーフィルタが配列されなかった画素に優先順位の低いカラーフィルタを配列するようにしても良い。いずれのカラーフィルタ配列についても誤差拡散処理を施した結果として得られた配列であるので、低周波で成分が少なく、高周波で帯域成分を持つ空間周波数特性を得ることができる。同様に、ＲＧＢの中では、Ｇフィルタの配列を優先するようにしているが、どの色を優先して配列しても良い。
また、本実施形態では、濃淡ＲＧＢ単板のカラー撮像素子について述べたが、２板以上の多板のカラー撮像素子について用いても良い。
【００６１】
また、本実施形態ではＲＧＢの全色に対して濃淡フィルタを用いる場合について説明したが、例えばＧのみなどのＲＧＢのうち一部の色についてのみ濃淡フィルタを用いる場合についても適用できる。さらに、ＲＧＢの３色に濃淡フィルタを用いる場合に限らず、ＣｙＭｇＹｅＧの４色、又はＲＧＢＣｙＭｇＹｅの６色、又はそれ他のどのようなマルチカラーフィルタ配列に対し濃淡フィルタを用いる場合についても適用できる。
【００６２】
本実施形態によれば、同色で透過率が異なるカラーフィルタの合計配列は誤差拡散法で決定しているため、規則性がなく分散性の高い配列となる。すなわち、低周波成分が少なく、高周波に帯域成分を多くもつ空間周波数特性となる。よって、非ハイライト領域において、同色で透過率の異なるカラーフィルタ配列から色信号を作成した場合には、ノイズを低減し、さらに、モアレの発生を低減することが可能となる。また、各色の各透過率のカラーフィルタ配列もまた、規則性がなく分散性が高い配列となる。よって、ハイライト領域において、透過率の低いカラーフィルタ配列のみを用いて色信号を作成した場合にも、ノイズを低減し、さらに、モアレの発生を低減することが可能となる。
【００６３】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
第１の実施形態では、濃淡ＲＧの合計配列及び濃淡Ｂの合計配列をまず決め、決定した濃淡ＲＧの合計配列に基づいて濃淡Ｇの合計配列を再度誤差拡散によって決定した。第２の実施形態では、まず濃淡Ｇの合計配列を決め、その余りから濃淡Ｒの合計配列を求め、さらにその残りを濃淡Ｂの合計配列とする。ここで、濃淡Ｇフィルタ及び濃淡Ｒフィルタは濃淡Ｂフィルタに対して相対的に輝度情報を構成する割合が多いため、濃淡Ｇの合計配列と濃淡Ｒの合計配列とを互いに接近して配列すると解像感（鮮鋭感）を失うことがあった。本実施形態では、濃淡Ｇの合計配列と濃淡Ｒの合計配列とが接近しないようにカラーフィルタの配列を決定し、解像感（鮮鋭感）を向上することができる。
第２の実施形態は、図３に示したステップＳ１０３での濃淡合計配列の配列処理以外は、第１実施形態と同様であるので重複する説明は省略する。
【００６４】
以下、第２の実施形態における濃淡合計配列の配列処理について、図１４に示すフローチャート及び図１５（Ａ）に示すブロック図を参照して説明する。なお、本実施形態における各色画像は０〜２５５の８ビット画像とする。
まず、ステップＳ６０１にて、濃淡Ｇ面積率合計データI_G（＝I_GD＋I_GL）を濃淡Ｇ配列化部９０１に入力する。誤差拡散係数が図６（Ａ）に示したようにK1〜K4の４つの係数を持つ場合、図１５（Ａ）に示す濃淡Ｇ配列化部９０１内の濃淡Ｇ累積誤差ラインバッファ９０３は、図１５（Ｂ）に示すように構成される。すなわち、濃淡Ｇ累積誤差ラインバッファ９０３は、１個の記憶領域E_G0と入力画像の横画素数Wと同数の記憶領域E_G（x）（0≦x≦W−1）とを有し、後述する方法で量子化誤差が格納されている。なお、濃淡Ｇ累積誤差ラインバッファ９０３は、処理開始前にすべて初期値０で初期化されていても良いし、ランダム値で初期化されても良い。
【００６５】
次に、ステップＳ６０２にて、濃淡Ｇ累積誤差加算部９０４で、入力された着目画素の濃淡Ｇ面積率合計データI_Gに、横画素位置xに対応する誤差E_G（x）が加算される。すなわち、入力された着目画素における濃淡Ｇ面積率合計データI_Gの値は、累積誤差加算後のデータをI_G'とすると、I_G'＝I_G＋E_G（x）となる。
【００６６】
次に、ステップＳ６０３にて、濃淡Ｇ閾値選択部９０５が閾値T_Gを選択する。閾値T_Gは、予め一定値（例えば、１２８など）を設定するようにしても良いし、配列生成遅延を回避するため、平均量子化誤差が小さくなるよう、濃淡Ｇ面積率合計データI_Gの値に応じて細かく変更するようにしても良い。
【００６７】
次に、ステップＳ６０４にて、濃淡Ｇ量子化部９０６が、誤差加算後の濃淡Ｇ面積率合計データI_G'と閾値T_Gとを比較し、以下の規則に従って濃淡Ｇの合計配列total_Gを決定する。I_G'＜T_Gの場合にはtotal_G＝０とし、I_G'≧T_Gの場合にはtotal_G＝１とする。このようにして、濃淡Ｇの合計配列total_G（量子化値０，１）が決定する。
【００６８】
次に、ステップＳ６０５にて、濃淡Ｇ誤差演算部９０７で、誤差加算後の濃淡Ｇ面積率合計データI_G'と濃淡Ｇの合計配列total_Gとの差分Err_Gが計算される。差分Err_Gは、Err_G（x）＝I_G'−（total_G×２５５）として求められる。
【００６９】
次に、ステップＳ６０６にて、濃淡Ｇ誤差拡散部９０８が、横画素位置xに応じて以下のように誤差Err_G（x）の拡散処理を行う。濃淡Ｇ誤差拡散部９０８においては、処理画素の縦アドレスyによって処理方向が変わる。
例えば縦アドレスy（0≦y≦H−1）が２で割り切れるとき（y％２＝０（％は剰余記号）のとき）には、濃淡Ｇ誤差拡散部９０８は、図６（Ａ）の４０１のように左から右へ処理し、以下のように誤差を拡散する。
E_G（x＋1）←E_G（x＋1）＋Err_G（x）×K1    （x＜W−1）
E_G（x−1）←E_G（x−1）＋Err_G（x）×K2    （x＞0）
E_G（x）←E0_G＋Err_G（x）×K3
E0_G←E_G×K4    （x＜W−1）
E0_G←0          （x＝W−1）
一方、縦アドレスy（0≦y≦H−1）が２で割り切れないとき（y％２＝１（％は剰余記号）のとき）には、濃淡Ｇ誤差拡散部９０８は、図６（Ａ）の４０２のように右から左へ処理し、以下のように誤差を拡散する。
E_G（x−1）←E_G（x−1）＋Err_G（x）×K1    （x＞0）
E_G（x＋1）←E_G（x＋1）＋Err_G（x）×K2    （x＜W−1）
E_G（x）←E0_G＋Err_G（x）×K3
E0_G←E_G×K4    （x＞0）
E0_G←0          （x＝0）
なお、本実施形態では、K1＝7/16、K2＝3/16、K3＝5/16、K4＝1/16とするが、濃淡Ｇ面積率合計データI_Gの値に応じて係数K1〜K4の値を変化させても良い。
【００７０】
以上で、１画素について、濃淡Ｇの合計配列total_G（量子化値０，１）が決定する。
続いて、濃淡Ｒの合計配列を求める。まず、ステップ６０７にて、濃淡Ｇ制約情報データ演算部９０９で制約情報データC_Gが演算される。制約情報データC_Gは、C_G＝（−total_G×２５５＋I_G）×hで表される。なお、hは定数（実数）であり、本実施形態では１．０をとる。
【００７１】
次に、ステップＳ６０８にて、濃淡Ｇ制約情報反映部９１０で制約情報データC_Gを濃淡Ｒ面積率合計データI_R（I_RD＋I_RL）に反映させる。制約情報データC_Gを反映させた反映後濃淡Ｒ面積率合計データをI_R_rとすると、I_R_r＝I_R＋C_Gとなる。なお、制約情報データの反映処理によって、次に形成される濃淡Ｒの合計配列と、既に形成された濃淡Ｇの合計配列がなるべく遠くになるようフィルタが配列化される。
【００７２】
次に、反映後濃淡Ｒ面積率合計データI_R_rに対して誤差拡散処理を施し配列化を行う。まず、ステップＳ６０９にて、反映後濃淡Ｒ面積率合計データI_R_rを濃淡Ｒ配列化部９０２に入力する。誤差拡散係数が図６（Ａ）に示したようにK1〜K4の４つの係数を持つ場合、図１５（Ａ）に示す濃淡Ｒ配列化部９０２内の濃淡Ｒ累積誤差ラインバッファ９１１は、図１５（Ｂ）に示すように構成される。すなわち、濃淡Ｒ累積誤差ラインバッファ９１１は、１個の記憶領域E_R0と入力画像の横画素数Wと同数の記憶領域E_R（x）（x＝0〜W−1）とを有し、後述する方法で量子化誤差が格納されている。なお、濃淡Ｒ累積誤差ラインバッファ９１１は、処理開始前にすべて初期値０で初期化されていても良いし、ランダム値で初期化されても良い。
【００７３】
次に、ステップＳ６１０にて、濃淡Ｒ累積誤差加算部９１２で、入力された着目画素の濃淡Ｒ面積率合計データI_Rに、横画素位置xに対応する誤差E_R（x）が加算される。すなわち、入力された着目画素における濃淡Ｒ面積率合計データI_Rの値は、累積誤差加算後のデータをI_R'とすると、I_R'＝I_R_r＋E_R（x）となる。
【００７４】
次に、ステップＳ６１１にて、濃淡Ｒ閾値選択部９１３が閾値T_Rを選択する。閾値T_Rは、予め一定値（例えば、１２８など）を設定するようにしても良いし、配列生成遅延を回避するため、平均量子化誤差が小さくなるよう、濃淡Ｒ面積率合計データI_Rの値に応じて細かく変更するようにしても良い。
【００７５】
次に、ステップＳ６１２にて、濃淡Ｒ量子化部９１４が、誤差加算後の濃淡Ｒ面積率合計データI_R'と閾値T_Rとを比較し、以下の規則に従って濃淡Ｒの合計配列total_Rを決定する。I_R'≧T_Rの場合にはtotal_R＝１とし、I_R'＜T_Rの場合にはtotal_R＝０とする。このようにして、濃淡Ｒの合計配列total_R（量子化値０，１）が決定する。
【００７６】
次に、ステップＳ６１３にて、濃淡Ｒ誤差演算部９１５で、誤差加算後の濃淡Ｒ面積率合計データI_R'と濃淡Ｒの合計配列total_Rとの差分Err_Rが計算される。差分Err_Rは、Err_R（x）＝I_R'−（total_R×２５５）として求められる。
【００７７】
次に、ステップＳ６１４にて、濃淡Ｒ誤差拡散部９１６が、横画素位置xに応じて以下のように誤差Err_R（x）の拡散処理を行う。濃淡Ｒ誤差拡散部９１６においては、処理画素の縦アドレスyによって処理方向が変わる。
例えば縦アドレスy（0≦y≦H−1）が２で割り切れるとき（y％２＝０（％は剰余記号）のとき）には、濃淡Ｒ誤差拡散部９１６は、図６（Ａ）の４０１のように左から右へ処理し、以下のように誤差を拡散する。
E_R（x＋1）←E_R（x＋1）＋Err_R（x）×K1    （x＜W−1）
E_R（x−1）←E_R（x−1）＋Err_R（x）×K2    （x＞0）
E_R（x）←E0_R＋Err_R（x）×K3
E0_R←E_R×K4    （x＜W−1）
E0_R←0          （x＝W−1）
一方、縦アドレスy（0≦y≦H−1）が２で割り切れないとき（y％２＝１（％は剰余記号）のとき）には、濃淡Ｒ誤差拡散部９１６は、図６（Ａ）の４０２のように右から左へ処理し、以下のように誤差を拡散する。
E_R（x−1）←E_R（x−1）＋Err_R（x）×K1    （x＞0）
E_R（x＋1）←E_R（x＋1）＋Err_R（x）×K2    （x＜W−1）
E_R（x）←E0_R＋Err_R（x）×K3
E0_R←E_R×K4    （x＞0）
E0_R←0          （x＝0）
なお、本実施形態では、K1＝7/16、K2＝3/16、K3＝5/16、K4＝1/16とするが、濃淡Ｒ面積率合計データI_Rの値に応じて係数K1〜K4の値を変化させても良い。
【００７８】
以上で、１画素分の濃淡Ｒの合計配列total_R（量子化値０，１）が決定する。
次に、ステップＳ６１５にて、濃淡Ｂの合計配列を決定する。濃淡Ｇの合計配列total_G、及び濃淡Ｒの合計配列total_Rのいずれも１となっていない箇所に、濃淡Ｂの合計配列を配列させる。すなわち、濃淡Ｂの合計配列total_Bは、以下のように決定する。total_G＝０かつtotal_R＝０の場合にはtotal_B＝１とし、それ以外の場合には（total_G＝１又はtotal_R＝１の場合には）total_B＝０とする。
【００７９】
以上で、１画素において、ＲＧＢ３色の濃淡合計配列を決定することができる。
続いて、濃Ｒ、淡Ｒ、濃Ｇ、淡Ｇ、濃Ｂ、及び淡Ｂの各カラーフィルタ配列を決定するが、合計配列から濃、淡単独の配列を求める方法は、第１の実施形態と同様であるので説明を省略する。以上のカラーフィルタ配列化処理をすべての画素について行うことで、本実施形態でのカラーフィルタ配列処理が完了する。
【００８０】
なお、本実施形態の説明では、濃淡Ｇの合計配列を他の配列より優先させ、濃淡Ｇの合計配列、濃淡Ｒの合計配列、濃淡Ｂの合計配列の順にカラーフィルタ配列を決定した。しかし、カラーフィルタ配列の決定の順番は、この順に限られるものではなく、他の順番であっても良い。
【００８１】
本実施形態によれば、第１の実施形態と同様に、同色で透過率が異なるカラーフィルタの合計配列の空間周波数特性は、低周波成分が少なく、高周波に帯域成分を持つ。よって、非ハイライト領域において、同色で透過率の異なるカラーフィルタ配列から色信号を作成した場合には、ノイズを低減し、さらに、モアレの発生を低減することが可能となる。また、各色の各透過率のカラーフィルタ配列の空間周波数特性も、低周波成分が少なく、高周波に帯域成分を持つ。よって、ハイライト領域において、透過率の低いカラーフィルタ配列のみを用いて色信号を作成した場合にも、ノイズを低減し、さらに、モアレの発生を低減することが可能となる。また、本実施形態では、まず濃淡Ｇの合計配列を決定し、その濃淡Ｇの合計配列を考慮して濃淡Ｒの合計配列を決定する。これにより、濃淡Ｇの合計配列と濃淡Ｒの合計配列が必要以上に近づくことを回避することができ、解像感（鮮鋭感）を向上させることができる。
【００８２】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。
前述した第１及び第２の実施形態では、誤差拡散法を用いてカラーフィルタ配列を求める例を説明した。第３実施形態では、誤差拡散法に代えて、低周波で成分が少なく高周波で帯域成分を持つよう評価関数を最小化してカラーフィルタ配列を求める手法（遺伝的アルゴリズムやブルーノイズ型のしきい値マトリクス生成法等）の例を示す。これにより、第１実施形態と同様に低周波で成分が少なく、高周波で帯域成分を持つカラーフィルタ配列を求めることができる。
【００８３】
以下、遺伝的アルゴリズムを用いて低周波で成分が少なく、高周波で帯域成分を持つよう評価関数を最小化してカラーフィルタ配列を求める方法について説明する。第３実施形態においては、濃Ｇのカラーフィルタ配列を決定し、濃Ｇフィルタが配列されなかった画素から淡Ｇフィルタを配列し、その後、同様に、濃Ｒ、淡Ｒ、濃Ｂ、淡Ｂの順にカラーフィルタ配列を決定する。ただし、カラーフィルタ配列を決定する順番は、これに限られるものではなく、他の順序でもよい。
【００８４】
以下では、本実施形態における濃Ｇ及び淡Ｇのカラーフィルタ配列の決定方法について説明し、濃Ｒ、淡Ｒ、濃Ｂ、淡Ｂのカラーフィルタ配列の決定方法は説明を省略するが、濃Ｇ及び淡Ｇのカラーフィルタ配列の決定方法と同様である。
まず、濃Ｇのカラーフィルタ配列の決定方法について、図１６に示すフローチャート及び図１７に示すブロック図を参照して説明する。
【００８５】
まず、ステップＳ７０１にて、濃Ｇの面積率I_GDを濃Ｇ配列化部１００１に入力する。次に、ステップＳ７０２にて、濃Ｇ配列評価パラメータ設定部１００２にて評価パラメータを設定する。評価パラメータの設定とは、カラーフィルタ配列をどのような空間周波数特性にするかのパラメータ設定である。
【００８６】
本実施形態では、低周波で成分が少なく高周波で帯域成分をもつ空間周波数特性を備えるカラーフィルタ配列を実現することが狙いである。そこで、カラーフィルタ配列のスペクトルの低周波成分量を評価値として用い、この値がなるべく小さいカラーフィルタ配列を探索すれば良い。カラーフィルタ配列のスペクトルの低周波成分量は、例えば、濃Ｇのカラーフィルタ配列のスペクトルと任意のローパスフィルタ（ＬＰＦ）のスペクトルとの積の積分値として計算することができる。図１８（Ａ）に、ランダムなカラーフィルタ配列の周波数スペクトル１１０１と、ＬＰＦの空間周波数応答１１０２とを掛けた周波数特性を１１０３に示す。ここで、ランダムなカラーフィルタ配列の周波数スペクトル１１０１は低周波数にスペクトルを持っているため、ＬＰＦの周波数応答１１０２との積は、１１０３のように低周波数にスペクトルを持つ結果となる。一方、図１８（Ｂ）に示すように、カラーフィルタ配列の周波数スペクトル１２０１が低周波で成分が少なく高周波で帯域成分をもつ場合、ＬＰＦの周波数応答１２０２との積は、１２０３のように全帯域においてスペクトルが小さいことがわかる。
【００８７】
ＬＰＦとしては、例えばＧａｕｓｓ分布に応じた周波数応答を示すＬＰＦを用いることができる。平均をμ、分散をσ2、Ｇａｕｓｓ分布密度関数をN（μ,σ2）、遮断周波数をf_cutoff_GD（I_GD）とすると、以下の式（２）で表すことができる。
【数２】
0005484015.tif 000003
ここでaはガウス特性の広がりを示すパラメータである。a＝3の時、Gs_GD（f）はf＝f_cutoff_GD（I_GD）においてほぼ減衰する。また、a＝1の時、Gs_GD（f）はf＝f_cutoff_GD（I_GD）においてあまり減衰しない。このようにaによって、Gs_GD（f）が変化する。よって、aは評価用のＬＰＦを決定するパラメータの一つとなる。なお、ＬＰＦはＧａｕｓｓ分布でなくてももちろん良い。例えば、矩形ＬＰＦでも良く、矩形ＬＰＦでは理想遮断周波数をパラメータとすると良い。選択するパラメータにより、再現したいカラーフィルタ配列の周波数特性が決まる。
以上をまとめると、ＬＰＦ：Gs_GD（f）を設計し、Gs_GD（f）を通過するスペクトルが最小になるように濃Ｇのカラーフィルタ配列を編集すれば良い。そしてそのGs_GD（f）は遮断周波数f_cutoff_GD（I_GD）より設定される。
【００８８】
以下、本実施形態では、f_cutoff_GD（I_GD）の設定は、以下の式（３）〜（５）のようにする。例えば式（３）〜（５）においてA＝50とすると、遮断周波数f_cutoff_GD（I_GD）は図１９のように表すことができる。
【数３】
0005484015.tif 000004
なお、式（３）〜（５）においてAを大きくすると、中間階調で分散型となりカラーフィルタ配列の解像性が増し、Aを小さくすると、集中型のカラーフィルタ配列となりカラーフィルタ配列の階調性が増す。よって、ＬＰＦ：Gs_GD（f）の遮断周波数f_cutoff_GD（I_GD）を決定するには、Aを決めれば良い。すなわち遮断周波数f_cutoff_GD（I_GD）を求めるにAを与えれば良いことになる。
以上をまとめると、ステップＳ７０２では評価パラメータとしてaとAを与えれば良い。
【００８９】
次に、ステップＳ７０３にて、濃Ｇのカラーフィルタ配列の評価値最小化のための編集部１００３において、濃Ｇのカラーフィルタ配列の周波数特性の評価値が最小となるように濃Ｇのカラーフィルタ配列を編集する。本実施形態では前述のとおり遺伝的アルゴリズムを用いるが、他の手法であっても良い。
以下に遺伝的アルゴリズムの表現を使用するが、遺伝的アルゴリズムは既知のアルゴリズムであるので、ここでは処理の詳細は説明しない。
【００９０】
以下、ステップＳ７０３での処理の詳細を、図２０に示すフローチャートを参照して説明する。
編集の際は、画像を小さなブロックに分けて編集する。このようにするのは、編集サイズが大きいと、収束するのに多大な時間を要してしまうためである。ブロックサイズは８×８〜６４×６４サイズ程度にすると収束しやすい。図２１に示すように、ブロックサイズをＬ×Ｌ（Ｌは２のべき乗）、編集したい画像全体のサイズをＮ×Ｎ（ＮはＬの整数倍）として、以下に処理例を示す。なお、本実施形態は図２１に示すように画像の左上から順次編集することを例にして説明するが、その他の順番で編集を行っても良い。
まず、ステップＳ８０１にて、画像全範囲（Ｎ×Ｎサイズ）の編集が終了したかどうかの判定を行う。終了した場合には処理を終了し、そうでない場合にはステップＳ８０２へ進む。
【００９１】
ステップＳ８０２にて、Ｐ個のブロックサイズＬ×Ｌの初期ランダム配列を生成する。ここでの処理は、遺伝的アルゴリズムでＰ個の初期集団を生成することと等価である。なお、集団とは、個体（＝染色体）の集まりである。８×８の初期ランダム画像の例を図２２に示すと、遺伝子：１に相当するのが白（配列ＯＮ）、遺伝子：０に相当するのが黒（配列ＯＦＦ）である。なお、白黒配列比率を考えずに画像を生成しても良いし、面積率と同じとなるように拘束条件を設定しても良い。なお「面積率と同じ比率となるように配列を生成する」というのは、例えば面積率６４に相当するカラーフィルタ配列を生成したい場合、ＯＦＦとＯＮの比率を、ＯＮ：ＯＦＦ＝６４：（２５６−６４）＝１：３とすることである。この場合、最適化の収束が速くなるが、配列比率を考えずに生成したほうが、より広い可能性を探索することが可能となる。
【００９２】
ステップＳ８０３でＰ個の配列を濃Ｇ配列評価パラメータ設定部１００２において設定するパラメータである「a,A」からＬＰＦ：Gs_GD（f）を与えて評価する。なお、評価の際、編集ブロックの位置によって評価方法が異なる。図２１のように配列の左上から順次編集することを考えると、図２３（Ａ）に示すように、ブロックの位置によって参照ブロックの扱い方が異なる。ここでいう参照ブロックとは、「現在編集中のブロック（編集ブロック）」と「既に編集されたブロック」とに不連続性がないように、参照するブロックのことである。
【００９３】
例えば、図２３（Ａ）の黒のブロックを編集する場合、既に編集済みのブロックは存在しないため、編集ブロックのみを評価する。図２３（Ａ）の斜線のブロックを編集する場合、左隣のブロックは既に編集済みであるため、左隣のブロックを参照ブロックとし、H＝2L、V＝Lのサイズを評価する。図２３（Ａ）の縦線のブロックを編集する場合、上隣のブロックは既に編集済みであるため、上隣のブロックを参照ブロックとし、H＝L、V＝2Lのサイズを評価する。図２３（Ａ）の白のブロックを編集する場合、左、左上、上隣のブロックは既に編集済みであるため、左、左上、上隣のブロックを参照ブロックとし、H＝2L、V＝2Lのサイズを評価する。なお、各参照ブロックの配列は既に決定されたものであるから、編集の際に変更はしない。
【００９４】
評価に使用する評価関数J_GDは、J_GD＝wn×N_GD＋wd×D_GD（wn，wdは重み値）で表される。なお、この評価関数は一例であり、他の評価関数でも良いことはいうまでもない。また、N_GDは濃Ｇカラーフィルタ配列のノイズを表し、D_GDは濃Ｇの面積率I_GDに対して配列数の保存性を表す。
ここで、
【数４】
0005484015.tif 000005
ただし
【数５】
0005484015.tif 000006
また、
【数６】
0005484015.tif 000007
ただし
【数７】
0005484015.tif 000008
【００９５】
遺伝的アルゴリズムは、適応度が大きい個体を探索するアルゴリズムなので、評価値J_GDが小さいものほど大きな適応度を持たす必要がある。このため例えば、適応度Fを、F＝（J_GD_max−J_GD）＋αとすれば良い。ここでαは正の定数であり、J_GD_maxはその世代における集団が持つ最大の評価関数（最も評価が悪い個体の値）である。なお、評価関数J_GDから適応度Fへの変換式は、前述した式に限るものではなく、シグモイド関数等を用いて、評価関数J_GDが小さくなればなるほど、適応度Fを大きくするようにしても良い。
【００９６】
ステップＳ８０４でブロックに対して編集が終了したかどうかの判定を行う。終了した場合には次の注目ブロックへ移りステップＳ８０１へ、そうでない場合にはステップＳ８０５へ進む。
【００９７】
ステップＳ８０５で遺伝的アルゴリズムでの選択を行う。遺伝的アルゴリズムの選択は、適応度の大きな個体を次の世代に残す処理である。適応度が大きければ大きいほど選択される確率が大きくなるように、ルーレットルールを設定する。この他に、選択にトーナメント方式を採用しても良い。ルーレットルール、トーナメント方式については遺伝的アルゴリズムの既知の処理である。
【００９８】
ステップＳ８０６にて、ステップＳ８０５において選択した個体同士を交叉確率pc（0≦pc≦1）で交叉させる。交叉には図２３（Ｂ）に示すように、縦交叉と横交叉の２種類の交叉方向がある。交叉位置と、交叉方向はランダムに切り替える。
【００９９】
次に、ステップＳ８０７では、突然変異確率pm（0≦pm≦1）で、個体を突然変異させる。突然変異は、図２３（Ｃ）のようにランダムに選択した画素の白黒反転を行う。選択した画素が白（配列ＯＮ）であれば黒（配列ＯＦＦ）に反転し、黒（配列ＯＦＦ）であれば白（配列ＯＮ）に反転する。突然変異が終了するとステップＳ８０３へ進む。
【０１００】
以上でステップＳ７０３での濃Ｇのカラーフィルタ配列の評価値最小化のための編集が終了する。そして、この編集を適応度が予め設定した適応度許容限度以下になるまで繰り返すことによって、濃Ｇフィルタ面積率データの配列化結果Out_GD（量子化値０，１）が定まる（ステップＳ７０４）。
以上で、濃Ｇのカラーフィルタ配列処理が終了する。
【０１０１】
続いて、淡Ｇのカラーフィルタ配列処理を行う。淡Ｇのカラーフィルタの配列処理について、図２４に示すフローチャート及び図２５に示すブロック図を参照して説明する。なお、淡Ｇフィルタ以降の濃Ｒ、淡Ｒ、濃Ｂ、淡Ｂのカラーフィルタ配列の決定方法も同様である。
【０１０２】
まず、ステップＳ９０１にて、既に確定したカラーフィルタの合計配列をフィルタ配列化部１３０１に入力する。淡Ｇのカラーフィルタ配列を決定する場合には、既に確定した配列は濃Ｇのカラーフィルタ配列だけであるので、濃Ｇのフィルタ配列Out_GDをフィルタ配列化部１３０１に入力する。次に、ステップＳ９０２にて、処理済のカラーフィルタの面積率と、処理を行おうとしているカラーフィルタの面積率との合計をフィルタ配列化部１３０１に入力する。淡Ｇのフィルタ配列を決定する場合には、濃Ｇの面積率と淡Ｇの面積率の合計である濃淡Ｇ面積率合計データI_G（＝I_GD＋I_GL）をフィルタ配列化部１３０１に入力する。
【０１０３】
続いて、ステップＳ９０３では、配列評価パラメータ設定部１３０２において、ステップＳ９０２において入力された面積率合計データに応じて配列評価パラメータを設定する。このステップＳ９０３での処理は、図１６に示したステップＳ７０２における濃Ｇ配列評価パラメータの算出方法における濃Ｇの面積率I_GDを濃淡Ｇ面積率合計データI_Gに置き換えたものと同様であるため説明を省略する。
【０１０４】
続いて、ステップＳ９０４にて、配列評価値最小化のための編集部１３０３においてカラーフィルタ配列の周波数特性における評価関数が最小となるようにカラーフィルタ配列を編集する。本実施形態では前述のとおり遺伝的アルゴリズムを用いるが、もちろん他の手法であっても良い。なお、図１６に示したステップＳ７０３では、濃Ｇのカラーフィルタ配列の空間周波数特性とＬＰＦ：Gs_GDの空間周波数特性を掛けたものを評価値として利用した。しかし、ステップＳ９０４では、既に確定しているカラーフィルタ配列と処理を行っているカラーフィルタ配列の合計配列の空間周波数とＬＰＦの空間周波数特性とを掛けたものを評価値として利用する。すなわち、淡Ｇのカラーフィルタ配列を決定する場合には、既に確定している濃Ｇのカラーフィルタ配列と処理中の淡Ｇのカラーフィルタ配列との合計配列に対し空間周波数特性の評価を行うのである。それ以外の点はステップＳ７０３での処理と同様であるので説明を省略する。ただし、処理中のカラーフィルタを量子化する場合には、処理中のカラーフィルタ配列が１（配列ＯＮ）となる箇所は、必ず既に確定しているカラーフィルタの合計配列が０（配列ＯＦＦ）である画素に限定する。
【０１０５】
以上で、淡Ｇのカラーフィルタ配列が決定する（量子化値０，１）（ステップＳ９０５）。以後、濃Ｒ、淡Ｒ、濃Ｂ、淡Ｂの各カラーフィルタ配列を決定を、濃Ｇ及び淡Ｇのフィルタ配列の決定方法と同様に行うことで、濃淡ＲＧＢの各々についてカラーフィルタ配列が決定する。
【０１０６】
本実施形態を用いて濃Ｇのフィルタ配列、及び淡Ｇのフィルタ配列を決定することにより、濃淡Ｇの合計配列は、低周波で成分が少なく、高周波で帯域成分を持つ空間周波数特性となる。さらに、濃Ｇのフィルタ配列単独でも、低周波で成分が少なく、高周波で帯域成分を持つ空間周波数特性となる。また、Ｇ以外のＲ、Ｂのカラーフィルタについても同様の空間周波数特性が実現できる。
なお、本実施形態において、カラーフィルタ配列の決定順序は、濃Ｇ、淡Ｇ、濃Ｒ、淡Ｒ、濃Ｂ、淡Ｂとしたが、これ以外の順番で求めても良い。また、本実施形態では、ＲＧＢの各色について濃淡２種類の透過率のカラーフィルタを利用する場合について説明を行ったが、透過率の異なるカラーフィルタは３種類以上であっても良い。また、ＲＧＢ３色に対し透過率が異なる濃淡カラーフィルタを配列する例を示したが、２以上のマルチカラーフィルタについて同様に配列を求めることができる。
【０１０７】
（本発明の他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１０８】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１０９】
１  撮像装置、１０２  カラー撮像素子部、１０３  画素補間部、１０５  画像処理部、１０４  画素補間パラメータ保持部、１０６  画像処理パラメータ保持部
【図１】
0005484015.tif 000009
【図２】
0005484015.tif 000010
【図３】
0005484015.tif 000011
【図４】
0005484015.tif 000012
【図５】
0005484015.tif 000013
【図６】
0005484015.tif 000014
【図７】
0005484015.tif 000015
【図８】
0005484015.tif 000016
【図９】
0005484015.tif 000017
【図１０】
0005484015.tif 000018
【図１１】
0005484015.tif 000019
【図１２】
0005484015.tif 000020
【図１３】
0005484015.tif 000021
【図１４】
0005484015.tif 000022
【図１５】
0005484015.tif 000023
【図１６】
0005484015.tif 000024
【図１７】
0005484015.tif 000025
【図１８】
0005484015.tif 000026
【図１９】
0005484015.tif 000027
【図２０】
0005484015.tif 000028
【図２１】
0005484015.tif 000029
【図２２】
0005484015.tif 000030
【図２３】
0005484015.tif 000031
【図２４】
0005484015.tif 000032
【図２５】
0005484015.tif 000033