以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が、本明細書に記載されていることを確認するためのものである。したがって、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
更に、この記載は、本明細書に記載されている発明の全てを意味するものでもない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
本発明によれば画像処理装置が提供される。この画像処理装置(例えば、図5のデジタルカメラ201)は、単板式カラー撮像素子(例えば、図5のCCDイメージセンサ213)を用いて撮像されたモザイク画像に基づいて、各画素が複数の色成分を有するカラー画像を生成する画像処理装置であって、第1の色成分(例えば、G)が第1の水平ラインに配置されるとともに、第2の色成分(例えば、E)が第2の水平ラインに配置され、全ての水平ラインには、第1の色成分と第2の色成分のいずれかが配置され、第1の水平ラインにおいて、第1の水平ライン内の画素のみを用いて、第1の色成分がない画素(例えば、B)における第1の色成分(例えば、G)の補間値である第1の補間値(例えば、図12のステップS108の処理で算出されるL(j,k)(但し、(j,k)は処理画素位置))を算出し、第2の水平ラインにおいて、第2の水平ライン内の画素のみを用いて、第2の色成分がない画素(例えば、R)における第2の色成分の補間値である第2の補間値(例えば、図12のステップS104の処理で算出されるL(j,k))を算出する第1の補間値算出手段(例えば、図8のG,E補間処理部262)と、モザイク画像の注目画素の近傍の画素における第1の補間値および第1の色成分、並びに、注目画素の近傍の画素における第2の補間値および第2の色成分に基づいて、注目画素における第1の全色の補間値(例えば、図14のステップS154の処理で算出されるRF,GF,BF,EF)を算出する第2の補間値算出手段(図8の全色補間処理部264)と、モザイク画像の画素値に基づいて、各画素における第1の色成分と第2の色成分からなる第3の色成分(例えば、G+E)を生成する生成手段と、注目画素の近傍の画素における第3の色成分と、注目画素の近傍の画素の画素値に基づいて、注目画素における第2の全色の補間値(例えば、図23のステップS507の処理で算出されるRU,GU,BU,EU)を算出する第3の補間値算出手段(図8の全色補間処理部265)と、第1の全色の補間値および第2の全色の補間値を合成して、第3の全色の補間値(例えば、図24のステップS559で出力されるC’’)を算出する第4の補間値算出手段(例えば、図8の合成処理部266)とを含む。
第4の補間値算出手段は、前記第1の全色の補間値に基づいて彩度(例えば、彩度S)を算出する彩度算出手段(例えば、図9の彩度算出処理部302)と、前記第1の全色の補間値および前記第2の全色の補間値に基づいて、色度差(例えば、色度差ΔCc)を算出する色度差算出手段(例えば、図9の色度差算出処理部304)と、前記彩度算出手段により算出された前記彩度と前記色度差算出手段により算出された前記色度差に基づいて、ブレンド率(例えば、r)を算出するブレンド率算出手段(例えば、図9のブレンド率算出処理部303)と、前記第1の全色の補間値および前記第2の全色の補間値を、前記ブレンド率を用いて合成する合成手段(例えば、図9のブレンド処理部305)とをさらに備えるようにすることができる。
第1の色成分および第2の色成分は、互いに相関の高い分光感度を有するようにすることができる。
第1の補間値と第2の補間値を算出する前に、モザイク画像の画素に対して、ホワイトバランスを調整する調整手段(例えば、図7のホワイトバランス調整部251)をさらに備えるようにすることができる。
本発明によれば、画像処理方法が提供される。この画像処理方法は、単板式カラー撮像素子を用いて撮像されたモザイク画像に基づいて、各画素が複数の色成分を有するカラー画像を生成する画像処理装置(例えば、図5のデジタルカメラ201)の画像処理方法であって、第1の色成分(例えば、G)が第1の水平ラインに配置されるとともに、第2の色成分(例えば、E)が第2の水平ラインに配置され、全ての水平ラインには、前記第1の色成分と前記第2の色成分のいずれかが配置され、前記第1の水平ラインにおいて、前記第1の水平ライン内の画素のみを用いて、前記第1の色成分がない画素(例えば、B)における前記第1の色成分(例えば、G)の補間値である第1の補間値(例えば、図12のステップS108の処理で算出されるL(j,k))を算出する第1の補間値算出ステップ(例えば、図12のステップS108)と、前記第2の水平ラインにおいて、前記第2の水平ライン内の画素のみを用いて、前記第2の色成分がない画素(例えば、R)における前記第2の色成分の補間値である第2の補間値(例えば、図12のステップS104の処理で算出されるL(j,k))を算出する第2の補間値算出ステップ(例えば、図12のステップS104)と、前記モザイク画像の注目画素の近傍の画素における前記第1の補間値および第1の色成分、並びに、前記注目画素の近傍の画素における前記第2の補間値および前記第2の色成分に基づいて、前記注目画素における第1の全色の補間値(例えば、図14のステップS154の処理で算出されるRF,GF,BF,EF)を算出する第3の補間値算出ステップ(例えば、図11のステップS54)と、前記モザイク画像の画素値に基づいて、各画素における前記第1の色成分と前記第2の色成分からなる第3の色成分(例えば、G+E)を生成する生成ステップ(例えば、図11のステップS55)と、前記注目画素の近傍の画素における前記第3の色成分(例えば、G+E)と、前記注目画素の近傍の画素の画素値に基づいて、前記注目画素における第2の全色の補間値(例えば、図23のステップS507の処理で算出されるRU,GU,BU,EU)を算出する第4の補間値算出ステップ(例えば、図11のステップS56)と、前記第1の全色の補間値および前記第2の全色の補間値を合成して、第3の全色の補間値(例えば、図24のステップS559で出力されるC’’)を算出する第5の補間値算出ステップ(例えば、図11のステップS57)とを含む。
本発明によれば、プログラムが提供される。このプログラムは、単板式カラー撮像素子を用いて撮像されたモザイク画像に基づいて、各画素が複数の色成分を有するカラー画像を生成するプログラムであって、第1の色成分(例えば、G)が第1の水平ラインに配置されるとともに、第2の色成分(例えば、E)が第2の水平ラインに配置され、全ての水平ラインには、前記第1の色成分と前記第2の色成分のいずれかが配置され、前記第1の水平ラインにおいて、前記第1の水平ライン内の画素のみを用いて、前記第1の色成分がない画素(例えば、B)における前記第1の色成分(例えば、G)の補間値である第1の補間値(例えば、図12のステップS108の処理で算出されるL(j,k))を算出する第1の補間値算出ステップ(例えば、図12のステップS108)と、前記第2の水平ラインにおいて、前記第2の水平ライン内の画素のみを用いて、前記第2の色成分がない画素(例えば、R)における前記第2の色成分の補間値である第2の補間値(例えば、図12のステップS104の処理で算出されるL(j,k))を算出する第2の補間値算出ステップ(例えば、図12のステップS104)と、前記モザイク画像の注目画素の近傍の画素における前記第1の補間値および第1の色成分、並びに、前記注目画素の近傍の画素における前記第2の補間値および前記第2の色成分に基づいて、前記注目画素における第1の全色の補間値(例えば、図14のステップS154の処理で算出されるRF,GF,BF,EF)を算出する第3の補間値算出ステップ(例えば、図11のステップS54)と、前記モザイク画像の画素値に基づいて、各画素における前記第1の色成分と前記第2の色成分からなる第3の色成分(例えば、G+E)を生成する生成ステップ(例えば、図11のステップS55)と、前記注目画素の近傍の画素における前記第3の色成分(例えば、G+E)と、前記注目画素の近傍の画素の画素値に基づいて、前記注目画素における第2の全色の補間値(例えば、図23のステップS507の処理で算出されるRU,GU,BU,EU)を算出する第4の補間値算出ステップ(例えば、図11のステップS56)と、前記第1の全色の補間値および前記第2の全色の補間値を合成して、第3の全色の補間値(例えば、図24のステップS559で出力されるC’’)を算出する第5の補間値算出ステップ(例えば、図11のステップS57)とをコンピュータに実行させる。
以下、図を参照して、本発明の実施の形態について説明する。
図5は、本発明を適用したデジタルカメラ201の構成を示すブロック図である。
図5に示すように、デジタルカメラ201は、レンズ211、絞り212、CCD(Charge Coupled Devices)イメージセンサ213、相関2重サンプリング(CDS:Correlated Double Sampling)回路214、A/Dコンバータ215、DSP(Digital Signal Processor)ブロック216、タイミングジェネレータ217、D/Aコンバータ218、ビデオエンコーダ219、表示部220、コーデック(CODEC:COmpression/DECompression)処理部221、メモリ222、CPU(Central Processing Unit)223、および、操作入力部224から構成される。
CCDとは、光情報を電気信号に変換する(光電変換)半導体素子であり、CCDイメージセンサ213は、光を電気に変換する受光素子(画素)を複数個並べ、光の変化を画素ごとに独立して電気信号に変換するものである。相関2重サンプリング回路214は、CCDイメージセンサ213の出力信号に含まれるノイズのうちの主な成分であるリセットノイズを、出力の各画素信号のうち、映像信号期間をサンプリングしたものと、基準期間をサンプリングしたものとを引き算することにより除去する回路である。A/Dコンバータ215は、供給されたノイズ除去後のアナログ信号をデジタル信号に変換する。
DSPブロック216は、信号処理用プロセッサと画像用RAM(Random Access Memory)を持つブロックで、信号処理用プロセッサが画像用RAMに格納された画像データに対して、予めプログラムされた画像処理、または、ハードウェアによる演算処理として構成された画像処理を行うものである。タイミングジェネレータ217は、CCDを駆動するために必要な、水平および垂直の各種駆動パルス、並びに、アナログフロント処理で用いるパルスを、基準クロックに同期して発生させるロジック回路である。また、タイミングジェネレータ217により発生されるタイミングクロックは、バス225を介して、コーデック処理部221、メモリ222、および、CPU223にも供給されている。
D/Aコンバータ218は、供給されたデジタル信号をアナログ信号に変換して出力する。ビデオエンコーダ219は、供給されたアナログ信号を、表示部220において表示可能な形式のビデオデータにエンコードする。表示部220は、例えば、LCD(Liquid Crystal Display)などで構成され、ビデオエンコーダ219から供給されたビデオ信号を表示する。
コーデック処理部221は、例えば、MPEG(Moving Picture Coding Experts Group/Moving Picture Experts Group)などの、デジタルビデオデータの圧縮または伸張アルゴリズムによる処理を実行する。メモリ222は、例えば、半導体メモリ、磁気ディスク、光磁気ディスク、または、光ディスクなどにより構成され、CPU223の制御に基づいて、供給されたデータを記憶したり、または、記憶しているデータを出力する。なお、メモリ222は、デジタルカメラ201に対して着脱可能なようになされていても良い。
CPU223は、バス225を介して、操作入力部224から供給されたユーザの操作入力を基に、デジタルカメラ201の各部を制御する。操作入力部224は、録画を指令する場合のボタンをはじめとして、例えば、ジョグダイヤル、キー、レバー、ボタン、またはタッチパネルなどにより構成され、ユーザによる操作入力を受ける。
レンズ211および絞り212を介して入力された光は、CCDイメージセンサ213に入射され、受光素子での光電変換によって電気信号に変換され、相関2重サンプリング回路214に供給される。相関2重サンプリング回路214は、CCDイメージセンサ213の出力の各画素信号のうち、映像信号期間をサンプリングしたものと、基準期間をサンプリングしたものとを引き算することによりノイズを除去し、A/Dコンバータ215に供給する。A/Dコンバータ215は、供給されたノイズ除去後のアナログ信号をデジタル信号に変換し、DSPブロック216の画像用RAMに一時格納する。
タイミングジェネレータ217は、撮像中の状態において、一定のフレームレートによる画像取り込みを維持するように、CCDイメージセンサ213、相関2重サンプリング回路214、A/Dコンバータ215、および、DSPブロック216を制御する。
DSPブロック216は、一定のレートで画素のストリームデータの供給を受け、画像用RAMに一時格納し、信号処理用プロセッサにおいて、一時格納された画像データに対して、後述する画像処理を実行する。DSPブロック216は、画像処理の終了後、CPU223の制御に基づいて、その画像データを表示部220に表示させる場合は、D/Aコンバータ218に、メモリ222に記憶させる場合は、コーデック処理部221に画像データを供給する。
D/Aコンバータ218は、DSPブロック216から供給されたデジタルの画像データをアナログ信号に変換し、ビデオエンコーダ219に供給する。ビデオエンコーダ219は、供給されたアナログの画像信号を、ビデオ信号に変換し、表示部220に出力して表示させる。すなわち、表示部220は、デジタルカメラ201において、カメラのファインダの役割を担っている。コーデック処理部221は、DSPブロック216から供給された画像データに対して、所定の方式の符号化を施し、符号化された画像データをメモリ222に供給して記憶させる。
また、コーデック処理部221は、操作入力部224からユーザの操作入力を受けたCPU223の制御に基づいて、メモリ222に記憶されているデータのうち、ユーザに指定されたデータを読み取り、所定の復号方法で復号し、復号した信号をDSPブロック216に出力する。これにより、復号された信号が、DSPブロック216を介してD/Aコンバータ218に供給され、アナログ変換された後、ビデオエンコーダ219によりエンコードされて、表示部220に表示される。
ところで、図5のCCDイメージセンサ213のオンチップカラーフィルタには、通常、3種類または4種類の色が用いられており、これらのオンチップカラーフィルタは、受光素子ごとに、交互に異なる色になるようモザイク状に配列されている。本発明においては、RGB(Red,Green,Blue:赤、緑、青)の3色に、Gに分光特性が近い4色目となる色(以下、E(Emerald)と称する)を加えた4色を用いた配列のオンチップカラーフィルタを用いる。この4色のモザイク配列の例を、図6に示す。なお、本明細書中では、Gに近い分光特性の4色目となる色をEとしたが、この色はEmeraldに限定されず、Gに近い分光特性であれば何色でもよい。
図6に示されるように4色配列は、赤(R)の光のみを透過するRのフィルタが1個、緑色(G)の光のみを透過するGのフィルタが1個、青(B)の光のみを透過するBのフィルタが1個、エメラルド(E)の光のみを透過するEのフィルタが1個の、合計4個を最小単位として構成されている。すなわち、R,G,B,Eの各フィルタは、同じ密度で存在する。
このように、CCDイメージセンサ213のオンチップカラーフィルタに図6に示されるような4色のモザイクが用いられている場合、DSPブロック216の画像用RAMに一時格納されている画像は、各画素とも、R,G,B,Eのうちのいずれか1つの色しか持たない。そこで、DSPブロック216の信号処理用プロセッサは、予め組み込まれた画像処理プログラムまたはハードウェアによって、この画像を処理し、全画素において全色のデータを有する画像データを生成する。具体的には、DSPブロック216の信号処理用プロセッサは、まず、G,Eを合成した新たな色(以下、G+Eと称する)を全画素に生成し、3色のベイヤー配列においてGを全画素揃えることを前提とした補間方法を、4色のモザイク配列においても同様に適用できるようにする。
図7は、図5のDSPブロック216の更に詳細な構成を示すブロック図である。
DSPブロック216は、上述したように、画像用RAM241および信号処理用プロセッサ242で構成され、信号処理用プロセッサ242は、ホワイトバランス調整部251、ガンマ補正部252、およびデモザイク処理部253で構成される。
A/Dコンバータ215によってデジタル信号に変換されたモザイク画像は、画像用RAM241に一時保存される。モザイク画像は、各画素にR,G,BまたはEのいずれかの色に対応する強度信号、すなわち、CCDイメージセンサ213に用いられているカラーフィルタにより定められる配列(例えば、図6を用いて説明した4色のモザイク配列)の周期的なパターンの強度信号により構成されている。
ホワイトバランス調整部251は、モザイク画像に対して、無彩色の被写体領域の色バランスが無彩色になるように、各画素強度の持つ色に応じて適切な係数をかける処理(ホワイトバランスの調整処理、またはレベルバランスの調整処理)を実行する。ガンマ補正部252は、ホワイトバランス(レベルバランス)が調整されたモザイク画像の各画素強度に対して、ガンマ補正を行う。画像の階調の応答特性を表すために「ガンマ(γ)」という数値が使われる。ガンマ補正とは、表示部220に表示される画像の明るさや色の彩度を正しく表示するための補正処理のことである。表示部220に出力される信号は、画素ごとに特定の電圧を加えることで、画像の明るさや色が再現されるようになされている。しかしながら、実際に表示される画像の明るさや色は、表示部220が有する特性(ガンマ値)により、入力電圧を倍にしてもブラウン管の明るさが倍になるわけではない(非線形性を有する)ため、ガンマ補正部252において、表示部220に表示される画像の明るさや色の彩度が正しく表示されるように補正する処理が施される。
デモザイク処理部253は、ガンマ補正がなされたモザイク信号の各画素位置に、R,G,B,Eの4色の強度を揃えるデモザイク処理を実行するとともに、マトリックス処理およびクロマ成分に対する帯域制限を行うことで、YCbCrの色に対応する画像(Y画像およびC画像)を生成する。これにより、デモザイク処理部253からの出力信号は、YCbCrの色に対応する画像(Y画像およびC画像の)信号となる。
本例では、図6に示される4色のフィルタ配列を用いた例について説明する。間引き方は、8ラインを1セットとして、そのうち4ライン目と7ライン目を用いることにする。水平ライン内の補間のみで生成されたGとEが混在する輝度に基づいて得られた注目画素位置の全色の補間値と、G,Eを合成した新たな色成分G+Eを生成し、G+Eに基づいて得られた注目画素位置の全色の補間値を合成することにより偽色を抑えた全色の補間値を得ることができる画像処理方法について述べる。
図8は、全画素位置でRGBEの4色が存在するように、各画素位置ごとに順次、そこにない色の強度を補間または推定していく処理であるデモザイク処理を実行する、図7のデモザイク処理部253の更に詳細な構成を示すブロック図である。
デモザイク処理部253には、局所領域抽出部261、G,E補間処理部262、G+E生成処理部263、全色補間処理部264、全色補間処理部265および合成処理部266が設けられている。局所領域抽出部261は、ガンマ補正されたモザイク画像から、注目画素位置周囲の決まった大きさの局所領域の画素を切り出す。ここでは、切り出す局所領域を、注目画素位置を中心とした5×5画素の矩形領域とする。G,E補間処理部262は、局所領域内に存在する画素を用いて、Gが存在するラインでは、ライン内のGが存在しない画素位置に、左右に隣接するGを用いてGを補間し、Eが存在するラインでは、ライン内のEが存在しない画素位置に、左右に隣接するEを補間して、どの画素位置でもG,Eのいずれかが存在するように補間し、これらG,Eを輝度信号Lと見なす。全色補間処理部264は、輝度信号Lおよびモザイク信号Mを用いて、注目画素位置にR,G,B,Eの補間値RF,GF,BF,EF(以下、信号Cと称する)を算出する。G+E生成処理部263は、モザイク信号Mに基づいて新たな色成分G+Eを生成する。全色補間処理部265は、G+Eおよびモザイク信号Mに基づいて、注目画素位置にR,G,B,Eの補間値RU,GU,BU,EU(以下、信号C’と称する)を算出する。合成処理部266は、補間値RF,GF,BF,EF並びにRU,GU,BU,EUを合成して、最終的な全色補間信号を算出する。
図9は、図8の合成処理部266の詳細な構成例を示すブロック図である。合成処理部266は、色空間変換処理部301−1,色空間変換処理部301−2、彩度算出処理部302、ブレンド率算出処理部303、色度差算出処理部304およびブレンド処理部305により構成される。
色空間変換処理部301−1は、信号CをRGBEの色空間からRGBの色空間に変換し、さらに、輝度と色度で表される色空間に変換する。色空間変換処理部301−2は、信号C’をRGBEの色空間からRGBの色空間に変換し、さらに、輝度と色度で表される色空間に変換する。このような色空間のうち、本実施の形態では、ITU−R BT.601で規定されるYCbCr色空間を代表例として用いる。
彩度算出処理部302は、信号Cから得られた色度信号Ccに基づいて彩度Sを算出する。色度差算出処理部304は、色度信号Ccおよび信号C’から得られた色度信号C’cに基づいて、色度差ΔCcを算出する。ブレンド率算出処理部303は、彩度Sと色度差ΔCcに基づいて、色度信号Ccおよび色度信号C’cを合成するときの比率であるブレンド率rを算出する。ブレンド処理部305は、CcおよびC’cに基づいて、新たな色度信号C''cを算出するとともに、信号C’から得られた輝度信号C’lと色度信号C''cを併せて新たなYCbCr信号C’’が算出される。
次に、図10のフローチャートを参照して、図7のDSPブロック216の処理について説明する。
ステップS1において、画像用RAM241は、CCDイメージセンサ213に用いられているカラーフィルタにより定められる配列(例えば、図6を用いて説明した4色配列)の周期的なパターンの強度信号により構成されるモザイク画像を取得して、一時保存する。
ステップS2において、信号処理用プロセッサ242のホワイトバランス調整部251は、モザイク画像に対して、無彩色の被写体領域の色バランスが無彩色になるように、各画素強度の持つ色に応じて適切な係数をかける処理であるホワイトバランス調整処理(レベルバランス調整処理)を行う。
ステップS3において、ガンマ補正部252は、ホワイトバランスがとられたモザイク画像の各画素強度に対し、表示部220に表示される画像の明るさや色の彩度が正しく表示されるようにガンマ補正を行う。
ステップS4において、デモザイク処理部253により、図11を用いて後述するデモザイク処理が実行され、生成されたY画像およびC画像が出力され、処理が終了される。
このような処理により、DSPブロック216は、供給されたモザイク画像信号に対して、各種処理を施して、Y画像およびC画像を生成し、CPU223の制御に基づいて、その画像データを表示部220に表示させる場合は、D/Aコンバータ218に、メモリ222に記憶させる場合は、コーデック処理部221に供給する。
次に、図11のフローチャートを参照して、図10のステップS4において実行されるデモザイク処理について説明する。
局所領域抽出部261は、ステップS51において、未処理の画素のうちのいずれかを注目画素とし、ステップS52において、注目画素位置の周辺の所定数(2n+1)×(2n+1)の画素を、局所領域として抽出し、G,E補間処理部262、G+E生成処理部263、全色補間処理部264、全色補間処理部265に供給する。なお、nは、正の整数である。
ステップS53において、G,E補間処理部262は、図12および図13のフローチャートを参照して後述する、G,E補間処理を実行し、算出した値Lを全色補間処理部264に供給する。
ステップS54において、全色補間処理部264は、図14を参照して後述する、第1の全色補間処理を実行し、算出した信号Cを合成処理部266に供給する。
ステップS55において、G+E生成処理部263は、図20を参照して後述する、G+E生成処理を実行し、生成したG+Eを全色補間処理部265に供給する。
ステップS56において、全色補間処理部265は、図23を参照して後述する、第2の全色補間処理を実行し、算出したC’を合成処理部266に供給する。
ステップS57において、合成処理部266は、図24を参照して後述する合成処理を実行し、YCbCrの色信号を出力する。
ステップS58において、局所領域抽出部261は、全ての画素において処理が終了したか否かを判断する。ステップS58において、全ての画素において処理が終了していないと判断された場合、処理は、ステップS51に戻り、それ以降の処理が繰り返される。ステップS58において、全ての画素において処理が終了したと判断された場合、処理が終了される。
換言すれば、デモザイク処理部253を構成する各部は、ある注目画素位置が決定されたときにその注目画素位置においてそれぞれの処理を実行し、全画素において、ステップS51乃至ステップS57の処理が終了された場合、処理が終了される。
なお、ステップS53およびステップS54の処理と、ステップS55およびステップS56の処理は、その順番を逆にしてもよいし、並行して実行させるようにしてもよい。
次に、図12のフローチャートを参照して、図11のステップS53において実行されるG,E補間処理について説明する。この処理は、図8のG,E補間処理部262により実行される処理である。なお、nは、正の整数である。また、(j,k)は局所領域における中心(注目画素位置)を(0,0)とした場合の、処理を実行する画素位置(処理画素位置)を示す。
ステップS101において、G,E補間処理部262は、局所領域のうち、処理を実行する画素位置を示す第1のレジスタの値jを初期化してj=−n+1とし、ステップS102において、局所領域のうち、処理を実行する画素位置を示す第2のレジスタの値kを初期化してk=−nとする。ここでは、画素(0,0)を中心とする(2n+1)×(2n+1)の画素群に対して処理が行われる。なお、nは、正の整数である。ここで、jとkの初期値がj=−n+1、k=−nとなるのは、図12の処理において、処理画素位置がRまたはBである場合に、左右のEまたはGに基づいてG,E補間を行っているためである。なお、nの値は、処理に必要な任意の定数と考えることができる。したがって、本実施形態を実装する際には、このようなレジスタ値の細かい設定を省略することも可能である。特に、nが十分大きな値であるとすれば、実質的に同一の結果を得ることができるものと考えられる。このことは、後述するn’、n’’、およびn’’’についても同様である。
ステップS103において、G,E補間処理部262は、モザイク信号Mの画素位置(j,k)の色がRであるか否かを判定する。上述した図6に示される4色のフィルタ配列が公知であることから、この処理では、画素位置を用いて色を判定することができる。
ステップS103において、モザイク信号Mの画素位置(j,k)の色がRであると判定された場合、ステップS104において、G,E補間処理部262は、画素位置Rの左右のEを加算平均し、輝度L(j,k)とする。すなわち、画素(j−1,k)と画素(j+1,k)の平均値が輝度L(j,k)とされる。
ステップS103において、モザイク信号Mの画素位置(j,k)の色がRでないと判定された場合、ステップS105において、G,E補間処理部262は、画素(j,k)がGであるか否かを判定する。
ステップS105において、モザイク信号Mの画素位置(j,k)がGであると判定された場合、ステップS106において、G,E補間処理部262は、画素位置G(j,k)をL(j,k)とする。すなわち、処理画素位置のGがLとされる。
ステップS105において、モザイク信号Mの画素位置(j,k)がGでないと判定された場合、ステップS107において、G,E補間処理部262は、モザイク信号の画素位置(j,k)がBであるか否かを判定する。ステップS107において、モザイク信号の画素位置(j,k)がBであると判定された場合、ステップS108において、G,E補間処理部262は、画素Bの左右のGを加算平均し、輝度L(j,k)とする。すなわち、画素(j−1,k)と画素(j+1,k)の平均値が輝度L(j,k)とされる。
ステップS107において、モザイク信号Mの画素位置(j,k)がBでない、すなわちEであると判定された場合、ステップS109において、G,E補間処理部262は、画素位置のEをL(j,k)とする。すなわち、処理画素位置のEがLとされる。
ステップS104、ステップS106、ステップS108、またはステップS109の処理の後、ステップS110において、G,E補間処理部262は、第2のレジスタの値kを参照し、k=nであるか否かを判定する。ステップS110においてk=nでないと判定された場合、ステップS111において、G,E補間処理部262は、第2のレジスタの値kをk=k+1に更新して、処理はステップS103に戻り、それ以降の処理が繰り返される。
ステップS110においてk=nであると判定された場合、ステップS112において、G,E補間処理部262は、処理を実行する画素位置を示す第1のレジスタの値jを参照し、j=n−1であるか否かを判定する。ステップS112においてj=n−1ではないと判定された場合、ステップS113においてG,E補間処理部262は、第1のレジスタの値jをj=j+1に更新して、処理はステップS102に戻り、それ以降の処理が繰り返される。
ステップS112においてj=n−1であると判定された場合、ステップS114においてG,E補間処理部262は、注目画素付近の(2n+1)×(2n−1)画素の輝度信号Lの組を出力し、処理は図11のステップS54に進む。
図12および図13の処理をまとめると、G,E補間処理部262は、Gが存在するラインでは、ライン内のGが存在しない画素位置(B)に、左右に隣接するGを用いてGを補間し、Eが存在するラインでは、ライン内のEが存在しない画素位置(R)に、左右に隣接するEを用いてEを補間して、どの画素位置でもG,Eのどちらかが存在するようにし、それを輝度信号Lとみなしている。
次に、図14のフローチャートを参照して、図11のステップS54において実行される第1の全色補間処理を説明する。なお、この処理は、図8の全色補間処理部264により実行される処理である。
ステップS151において、全色補間処理部264は、注目画素位置におけるR,G,B,Eの推定値R’c,G’c,B’c,E’c算出処理を実行する。この処理の詳細は、図15を参照して後述する。
ステップS152において、全色補間処理部264は、注目画素位置の1画素上におけるR,G,B,Eの推定値R’u,G’u,B’u,E’u算出処理を実行する。この処理の詳細は、図15を参照して後述する。
ステップS153において、全色補間処理部264は、注目画素位置の1画素下におけるR,G,B,Eの推定値R’d,G’d,B’d,E’d算出処理を実行する。この処理の詳細は、図15を参照して後述する。
ステップS154において、全色補間処理部264は、注目画素位置の上下に補間された結果を加算平均し、その加算平均と注目画素位置に補間された結果をさらに加算平均し、推定値RF,GF,BF,EFを算出する。具体的には、式(1)乃至式(4)に示される演算が行われる。
RF=(R’c+(R’u+R’d)/2)/2 ・・・(1)
GF=(G’c+(G’u+G’d)/2)/2 ・・・(2)
BF=(B’c+(B’u+B’d)/2)/2 ・・・(3)
EF=(E’c+(E’u+E’d)/2)/2 ・・・(4)
ステップS154の処理の後、処理は図11のステップS55に進む。
なお、ステップS151、ステップS152およびステップS153の処理は、その順番を逆にしてもよいし、並行して実行させるようにしてもよい。
次に、図15のフローチャートを参照して、図14のステップS151において実行される推定値算出処理について説明する。図15は、色バランス補間によって、R,G,B,Eの推定を行う処理であり、R,G,B,Eの全てについて同じ処理が行われるので、図15においてXと記述されている部分については、適宜R,G,B,Eに読み替えられる。なお、色バランス補間とは、注目画素位置における輝度信号のDC成分と色信号のDC成分の比率に輝度信号を乗算して不明な色成分の補間を行うものである。
ステップS201において、全色補間処理部264は、線形補間処理を実行する。この処理の詳細は、図16および図17を参照して後述する。
ステップS202において、全色補間処理部264は、重み付き平均Mxa算出処理を実行する。この処理の詳細は、図18を参照して後述する。
ステップS203において、全色補間処理部264は、重み付き平均ML算出処理を実行する。この処理の詳細は、図18を参照して後述する。
ステップS204において、全色補間処理部264は、ML<(第1の定数)であるか否かを判定し、ML<(第1の定数)であると判定された場合、ステップS205においてML’=(第1の定数)と設定する。この第1の定数は、例えば、経験的にまたは実験的に定められる所定の値である。
ステップS204においてML<(第1の定数)でない、すなわちML≧(第1の定数)であると判定された場合、ステップS206において、全色補間処理部264は、ML’=MLと設定する。
ステップS205の処理の後、またはステップS206の処理の後、ステップS207において、全色補間処理部264は、X’=Mxa/ML’(L−ML)+Mxaとし、処理は図14のステップS152に進む。
本例では、図15の処理を図14のステップS151の処理の詳細として説明したが、図14のステップS152、ステップS153についても同様の処理が行われる。単に、注目画素位置の1画素上や1画素下のR,G,B,Eについて推定値算出処理が行われるだけである。
なお、ステップS202およびステップS203の処理は、その順番を逆にしてもよいし、並行して実行させるようにしてもよい。
次に、図16および図17のフローチャートを参照して、図15のステップS201において実行される線形補間処理を説明する。この処理は、注目画素近傍にR,G,B,Eを線形補間する処理手順を示すフローチャートである。R,G,B,Eの全てについて同様の処理が実行されるので、図16および図17においてXと記述されている部分については、適宜、R,G,B,Eに読み替えられる。なお、n'は、正の整数であり、(j',k')は局所領域における中心(注目画素位置)を(0,0)とした場合の、処理を実行する画素位置を示す。
ステップS251において、全色補間処理部264は、局所領域のうち、処理を実行する画素位置を示す第1のレジスタの値j’を初期化してj’=−n'+1とし、ステップS252において、局所領域のうち、処理を実行する画素位置を示す第2のレジスタの値k’を初期化してk’=−n'+1とする。ここでは、画素(0,0)を中心とする(2n'+1)×(2n'+1)の画素群に対して処理が行われる。
ステップS253において、全色補間処理部264は、信号Mの画素(j’,k’)のM(モザイク信号Mの)色がXであるか否かを判定する。ここでXは、R,G,B,Eに適宜読み替えられる。上述した図6に示される4色のフィルタ配列が公知であることから、この処理では、画素位置を用いて色を判定することができる。
ステップS253において、信号Mの画素(j’,k’)の色がXであると判定された場合、ステップS254において、全色補間処理部264は、信号Mの画素(j’,k’)の補間値XAを信号Mの画素(j’,k’)とする。すなわち、信号Mの画素位置の色がXであると判定された場合には、補間をする必要がないのでそのままの信号が用いられる。
ステップS253において、信号Mの画素(j’,k’)がXでないと判定された場合、ステップS255において、全色補間処理部264は、画素(j’−1,k’)がXであるか否かを判定する。すなわち、処理画素の横に隣接する画素の色がXであるか否かが判定される。
ステップS255において、信号Mの画素(j’−1,k’)の色がXであると判定された場合、ステップS256において、全色補間処理部264は、画素(j’,k’)の補間値XAを画素(j’−1,k’)と(j’+1,k’)の平均値とする。すなわち、横に隣接する画素の色がXであると判定された場合、左右から補間が行われる。
ステップS255において、信号Mの画素(j’−1,k’)の色がXでないと判定された場合、ステップS257において全色補間処理部264は、信号Mの画素(j’,k’−1)の色がXであるか否かを判定し、画素(j’,k’−1)の色がXであると判定された場合、ステップS258において、信号Mの画素(j’,k’)の補間値XAを画素(j’,k’−1)と画素(j’,k’+1)の平均とする。すなわち、縦に隣接する画素の色がXであると判定された場合、上下補間が行われる。
ステップS257において、画素(j’,k’−1)がXでないと判定された場合、ステップS259において、全色補間処理部264は、信号Mの画素(j’,k’)の補間値XAを、画素(j’−1,k’−1)、画素(j’+1,k’−1)、画素(j’−1,k’+1)、画素(j’+1,k’+1)の平均とする。すなわち、信号Mの画素(j’,k’)、画素の横に隣接する信号Mの画素(j’−1,k’)および画素の縦に隣接する信号Mの画素(j’,k’−1)の色がXでないと判定された場合、左上、右上、左下、右下から補間が行われる。
ステップS254、ステップS256、ステップS258、またはステップS259の処理の後、ステップS260において、全色補間処理部264は、第2のレジスタの値k’を参照し、k’=n'−1であるか否かを判定する。ステップS260においてk’=n'−1でないと判定された場合、ステップS261において、全色補間処理部264は、第2のレジスタの値k’をk’=k’+1に更新して、処理はステップS253に戻り、それ以降の処理が繰り返される。
ステップS260においてk’=n'−1であると判定された場合、ステップS262において、全色補間処理部264は、処理を実行する画素位置を示す第1のレジスタの値j’を参照し、j’=n'−1であるか否かを判定する。ステップS262においてj’=n'−1ではないと判定された場合、ステップS263において全色補間処理部264は、第1のレジスタの値j’をj’=j’+1に更新して、処理はステップS252に戻り、それ以降の処理が繰り返される。
ステップS262においてj’=n'−1であると判定された場合、ステップS264において全色補間処理部264は、注目画素付近の(2n'−1)×(2n'−1)画素のXの補間値XAの組を出力し、処理は図15のステップS202に進む。
図16および図17の処理をまとめると、以下のようになる。全色補間処理部264は、信号Mの処理画素位置の色がXであると判定された場合、補間の必要はないのでそのままの信号を用い、信号Mの処理画素の横に隣接する画素がXであると判定された場合、左右から補間を行い、信号Mの処理画素の縦に隣接する画素がXであると判定された場合、上下から補間を行い、以上の条件以外の場合は左上、右上、左下、右下から補間を行う。このような処理が、R,G,B,Eの全てについて行われ、RA,GA,BA,EAが算出される。
次に、図18のフローチャートを参照して、図15のステップS202またはステップS203において実行される重み付き平均値Mx(重み付き平均値Mxの添え字xは、図15のステップS202に対応する処理の場合xaに、図15のステップS203に対応する処理の場合Lに、それぞれ置き換えられる)算出処理を説明する。なお、図18の処理は、RA,GA,BA,EA,Lについて同様の処理が実行されるので、図18においてXと記述されている部分については、適宜RA,GA,BA,EA,Lに読み替えられる。このRA,GA,BA,EAは、上述した図16および図17の処理により算出された値である。なお、n''は、正の整数であり、(j'',k'')は局所領域における中心(注目画素位置)を(0,0)とした場合の、処理を実行する画素位置を示す。
ステップS301において、全色補間処理部264は、重み付き平均値Mxを0に初期化する。
ステップS302において、全色補間処理部264は、供給された局所領域の画素のうち、処理を実行する画素位置を示す第1のレジスタの値j’’を初期化してj’’=−n''とし、ステップS303において供給された局所領域の画素のうち、処理を実行する画素位置を示す第2のレジスタの値k’’を初期化してk’’=−n''とする。
ステップS304において、全色補間処理部264は、Mx=Mx+(重み係数wiが施された画素(j'’,k'’)のX)とする。すなわち、Mxに重み付きwiが施された画素(j’’,k’’)のXを加算したものが新たなMxとされる。
この重み係数wiは、i番目のデータの位置から注目画素への距離などを指標として予め設定されている値である。例えば、図19に示されるように設定される。図中四角形は5×5局所領域の画素位置を示し、四角形中の数字が該当する位置のデータの重み係数を示す。これらの重み係数は、図19に示されるものに限定されないことはいうまでもないが、図19に示されるように、注目画素に近い程重み係数が大きくなるようにした方が好適である。なお、図19においては、外周が0であるため、実質、内周の3×3の範囲において演算が行われることとなる。そのため、最初から内周の3×3の範囲に対してのみ演算を行うようにしてもよい。
ステップS305において、全色補間処理部264は、第2のレジスタの値k’’を参照し、k’’=n''であるか否かを判定する。ステップS305において、k’’=n''でないと判定された場合、ステップS306において、全色補間処理部264は、第2のレジスタの値k’’をk’’=k’’+1に更新して、処理はステップS304に戻り、それ以降の処理が繰り返される。
ステップS305において、k’’=n''であると判定された場合、ステップS307において、全色補間処理部264は、処理を実行する画素位置を示す第1のレジスタの値j’’を参照し、j’’=n''であるか否かを判定する。ステップS307においてj’’=n''ではないと判定された場合、ステップS308において全色補間処理部264は、第1のレジスタの値j’’をj’’=j’’+1に更新して、処理はステップS303に戻り、それ以降の処理が繰り返される。
ステップS307において、j’’=n''であると判定された場合、ステップS309において、全色補間処理部264は、Mx=Mx/Wとする。このWは重み係数wiの総和Wとされる。
ステップS310において、全色補間処理部264は、重み付き平均値Mxを出力し、処理は図15のステップS203またはステップS204に進む。
図18の処理により、処理画素近傍のRA,GA,BA,EA,Lの重み付き平均値Mx(xはRA,GA,BA,EA,Lに適宜読み替えられる)がそれぞれ算出される。
次に、図20のフローチャートを参照して、図11のステップS55において実行されるG+E生成処理を説明する。なお、この処理は、図6のG+E生成処理部263により実行される処理である。なお、n'' 'は、正の整数であり、(j'' ',k'' ')は局所領域における中心(注目画素位置)を(0,0)とした場合の、処理を実行する画素位置を示す。
ステップS351において、G+E生成処理部263は、供給された局所領域の画素のうち、処理を実行する画素位置を示す第1のレジスタの値j’’’を初期化してj’’’=−n'' 'とし、ステップS352において供給された局所領域の画素のうち、処理を実行する画素位置を示す第2のレジスタの値k’’’を初期化してk’’’=−n'' 'とする。
ステップS353において、G+E生成処理部263は、画素位置(j'' '、k'' ')のモザイク信号MがGまたはEであるか否かを判定し、GまたはEであると判定された場合、ステップS354において、G+E生成処理部263は、第1のG+E生成処理を実行する。なお、この処理の詳細は、図21を参照して後述する。
ステップS353において、処理画素位置のモザイク信号MがGまたはEでない、すなわちBまたはRであると判定された場合、ステップS355において、G+E生成処理部263は、第2のG+E生成処理を実行する。なお、この処理の詳細は、図22を参照して後述する。
ステップS354またはステップS355の処理の後、ステップS356において、G+E生成処理部263は、第2のレジスタの値k’’’を参照し、k’’’=n'' 'であるか否かを判定する。ステップS356において、k’’’=n'' 'でないと判定された場合、ステップS357において、G+E生成処理部263は、第2のレジスタの値k’’’をk’’’=k’’’+1に更新して、処理はステップS353に戻り、それ以降の処理が繰り返される。
ステップS356において、k’’’=n'' 'であると判定された場合、ステップS358において、G+E生成処理部263は、処理を実行する画素位置を示す第1のレジスタの値j’’’を参照し、j’’’=n'' 'であるか否かを判定する。ステップS358においてj’’’=n'' 'ではないと判定された場合、ステップS359においてG+E生成処理部263は、第1のレジスタの値j’’’をj’’’=j’’’+1に更新して、処理はステップS352に戻り、それ以降の処理が繰り返される。
ステップS358において、j’’’=n'' 'であると判定された場合、ステップS360において、G+E生成処理部263は、注目画素付近の(2n'' '+1)×(2n'' '+1)画素のG+Eを出力し、処理は図11のステップS56進む。
次に、図21のフローチャートを参照して、図20のステップS354において実行される第1のG+E生成処理を説明する。なお、この処理は、図6のG+E生成処理部263により実行される処理である。また、GとEのいずれかが存在する画素位置において、同様の処理が行われるので、Gが存在する画素位置では、図21においてXと表記されている部分をGに、Yを表記されている部分はEに読み替え、Eが存在する画素位置では、図21においてXをEに、YをGに適宜読み替えることにする。また、以下の処理では、Xが輝度、Yが色信号として扱われる。
ステップS401において、G+E生成処理部263は、線形補間処理を実行する。この処理は、上述した図16および図17の処理と同様であるので、その詳細は省略する。
ステップS402において、G+E生成処理部263は、重み付き平均Mxa算出処理を実行する。この処理は、上述した図18の処理と同様であるので、その詳細は省略する。
ステップS403において、G+E生成処理部263は、重み付き平均Mya算出処理を実行する。この処理は、上述した図18の処理と同様であるので、その詳細は省略する。
ステップS404において、G+E生成処理部263は、重み付き平均Mxa<(第2の定数)であるか否かを判定し、重み付き平均Mxa<(第2の定数)であると判定された場合、ステップS405において、Mxa’=(第2の定数)と設定する。この第2の定数は、例えば、経験的にまたは実験的に定められる所定の値である。ステップS404においてMxa<(第2の定数)でない、すなわちMxa≧(第2の定数)であると判定された場合、ステップS406において、G+E生成処理部263は、Mxa’=Mxaと設定する。
ステップS405の処理の後、またはステップS406の処理の後、ステップS407において、G+E生成処理部263は、モザイク画像上における注目画素位置を(x、y)とした場合、注目画素(x,y)におけるG+Eの値を((Mya/Mxa’(M(x,y)−Mxa)+Mya)+M(x,y))/2とし、処理は図20のステップS356に進む。
図21の処理により、Gが存在する画素位置にはEが、Eが存在する画素位置にはGが色バランス補間によって補間され、同一画素上のGとEが合成されて新たな色成分G+Eが生成される。
なお、ステップS401乃至ステップS403の処理は、その順番を逆にしてもよいし、並行して実行させるようにしてもよい。
次に、図22のフローチャートを参照して、図20のステップS355において実行される第2のG+E生成処理を説明する。なお、この処理は、図6のG+E生成処理部263により実行される処理である。RとBのいずれかが存在する画素位置において、同様の処理が行われるので、図22においてXと記述されている部分については、適宜R,Bに読み替えることにする。また、以下の処理では、Xが輝度、GとEが色信号として扱われる。
ステップS451において、G+E生成処理部263は、線形補間処理を実行する。この処理は、上述した図16および図17の処理と同様であるので、その詳細は省略する。
ステップS452において、G+E生成処理部263は、重み付き平均Mxa算出処理を実行する。この処理は、上述した図18の処理と同様であるので、その詳細は省略する。
ステップS453において、G+E生成処理部263は、重み付き平均Mga算出処理を実行する。この処理は、上述した図18の処理と同様であるので、その詳細は省略する。
ステップS454において、G+E生成処理部263は、重み付き平均Mea算出処理を実行する。この処理は、上述した図18の処理と同様であるので、その詳細は省略する。
ステップS455において、G+E生成処理部263は、重み付き平均Mxa<(第3の定数)であるか否かを判定し、重み付き平均Mxa<(第3の定数)であると判定された場合、ステップS456において、Mxa’=(第3の定数)と設定する。この第3の定数は、例えば、経験的にまたは実験的に定められる所定の値である。ステップS455においてMxa<(第3の定数)でない、すなわちMxa≧(第3の定数)であると判定された場合、ステップS457において、G+E生成部263は、Mxa’=Mxaと設定する。
ステップS456の処理の後、またはステップS457の処理の後、ステップS458において、G+E生成処理部263は、注目画素(x、y)におけるG+Eの値を((Mga/Mxa’(M(x,y)−Mxa)+Mga)+(Mea/Mxa’(M(x,y)−Mxa)+Mea))/2とし、処理は図20のステップS356に進む。
図22の処理により、注目画素位置のモザイク信号がRもしくはBの場合に、その画素位置にGとEが色バランス補間によって補間され、それらが合成されて新たな色成分G+Eが生成される。
なお、ステップS451乃至ステップS454の処理は、その順番を逆にしてもよいし、並行して実行させるようにしてもよい。
次に、図23のフローチャートを参照して、図11のステップS56において実行される第2の全色補間処理を説明する。なお、この処理は図6の全色補間処理部265により実行される処理である。ここでは、色バランス補間によってR,G,B,Eの推定が行われる。この処理は、R,G,B,Eの全てについて同様の処理が実行されるので、図中Xと記述されている部分については、適宜、R,G,B,Eに読み替えることにする。また、この処理では、G+Eが輝度、Xが色信号として扱われる。
ステップS501において、全色補間処理部265は、上述した図21のステップS401または図22のステップS451でG+E生成処理部263により算出された線形補間処理の結果を取得する。
ステップS502において、全色補間処理部265は、重み付き平均Mxa算出処理を実行する。この処理は、上述した図18と同様の処理であるので、その説明は省略する。なお、ステップS502では、上述した図21のステップS402またはステップS452の処理で用いる重み係数wiとは異なる重み係数を用いて、重み付き平均Mxaを求めるようにしてもよい。この場合、ステップS502で算出される重み付き平均Mxaと、図21のステップS402またはステップS452で算出される重み付き平均Mxaの値は異なることになる。
ステップS503において、全色補間処理部265は、重み付き平均MG+E算出処理を実行する。この処理は、上述した図18と同様の処理であるので、その説明は省略する。具体的には、図18において、xが上述した図20の処理で求められるG+Eに変更されるだけである。
ステップS504において、全色補間処理部265は、MG+E<(第4の定数)であるか否かを判定し、MG+E<(第4の定数)であると判定された場合、ステップS505において、全色補間処理部265は、MG+E’=(第4の定数)と設定する。この第4の定数は、例えば、経験的にまたは実験的に定められる所定の値である。ステップS504において、MG+E<(第4の定数)でない、すなわちMG+E≧(第4の定数)であると判定された場合、ステップS506において、全色補間処理部265は、MG+E’=MG+Eと設定する。
ステップS505の処理の後、またはステップS506の処理の後、ステップS507において、全色補間処理部265は、Xの推定値XUを、Mxa/MG+E’((G+E)(x,y)−MG+E)+Mxaとし、処理は図11のステップS58に進む。
なお、ステップS501乃至ステップS503の処理は、その順番を逆にしてもよいし、並行して実行させるようにしてもよい。
次に、図24のフローチャートを参照して、図11のステップS57において実行される合成処理を説明する。なおこの処理は、図6の合成処理部266により実行される処理である。
ステップS551において、合成処理部266は、注目画素位置のR,G,B,Eの補間値RF,GF,BF,EFを信号Cとして取得する。この値は、全色補間処理部264(図11のステップS54の処理)により算出された値である。
ステップS552において、合成処理部266は、注目画素位置のR,G,B,Eの補間値RU,GU,BU,EUを信号C’として取得する。この値は、全色補間処理部265(図11のステップS56の処理)により算出された値である。
ステップS553において、合成処理部266の色空間変換処理部301−1は、ステップS551の処理で取得された信号CのRGBEの色空間で表される信号をRGBの色空間に変換するとともに、RGBをYCbCrに変換する。また、ステップS554において、合成処理部266の色空間変換処理部301−2は、ステップS552の処理で取得された信号C’のRGBEの色空間で表される信号をRGBの色空間に変換するとともに、RGBをYCbCrに変換する。ここで、色空間変換処理部301−1と色空間変換処理部301−2は同様の処理を実行する。以下、色空間変換処理部301−1と色空間変換処理部301−2を個々に区別する必要がない場合、色空間変換処理部301と称する。RGBEの色空間からRGBの色空間(RGBの表色系)への変換マトリックスは、式(5)に示される。
式(5)において、行列内のパラメータTij(i=1乃至3,j=1乃至4)は、色再現性に関する部分であり、使用するフィルタの分光特性に合わせて任意に与えられる。例えば、特開2002−271804号公報には、465nm、530nm、585nm、615nmを分光感度曲線のピーク波長とする、ある4色のフィルタセットの場合にXYZ色空間へ変換するためのパラメータが示されている。なお、XYZ色空間からRGB色空間への変換は、CCIR 601に示される。
また、RGB色空間からYCbCr色空間への変換マトリックスは、式(6)に示される。
式(6)においては、Yが本実施の形態における輝度信号C’lとされ、Cb,Crは、色度信号Cc,C’cとされる。以下、色度信号Ccに含まれる2つの信号をCb,Crと記述する。
ステップS555において、合成処理部266の彩度算出処理部302は、色度信号Ccに基づいて、彩度Sを算出する。具体的には、式(7)に示される演算が行われる。
ステップS556において、合成処理部266の色度差算出処理部304は、色度信号CcおよびC’cに基づいて色度差ΔCcを算出する。具体的には、式(8)に示される演算が行われる。
ステップS557において、合成処理部266のブレンド率算出処理部303は、彩度Sと色度差ΔCcに基づいてブレンド率rを算出する。具体的には、式(9)に示される演算によりブレンド率rが求められる。
式(9)において、第5の定数および第6の定数は任意の定数である。式6により求められたrが1より大きい場合には、1にクリップされる。この第5の定数および第6の定数は、例えば、経験的にまたは実験的に定められる所定の値である。
ステップS558において、合成処理部266のブレンド処理部305は、色度信号CcおよびC’cをブレンド率rに基づいてブレンドし、色度信号C''cを生成する。具体的には、式(10)および式(11)に示される演算により色度信号C''cが生成される。
C’’b=Cb×r+C’b×(1−r) ・・・(10)
C’’r=Cr×r+C’r×(1−r) ・・・(11)
ステップS559において、合成処理部266のブレンド処理部305は、色度信号C''cと、ステップS552の処理で色空間変換処理部301−2により算出された輝度信号C’lをあわせて新たなYCbCr信号C’’として出力する。
なお、ステップS553およびステップS554の処理は、その順番を逆にしてもよいし、並行して実行させるようにしてもよい。
以上の例では、色空間変換処理部301により、RGBE色空間で表される信号を輝度と色差で表される色空間に変換してからブレンド処理を行っている。このような構成を取ることで、信号C’に比べ縦方向の解像度が落ちている信号Cをブレンドに用いても最終的に得られる信号C’’は信号C’の輝度信号を用いていることから、信号C’と同等の解像感が得られる。逆に、ブレンドによる解像度の低下が問題にならないならば、例えば、図25に示されるような、色空間の変換を行わない、より簡単な方法を用いても構わない。
図25は、本発明を適用した他の実施の形態である、図8の合成処理部266の詳細な構成を示すブロック図である。すなわち図9の合成処理部266の変形例(他の実施の形態)である。図25の合成処理部266は、輝度算出処理部401、彩度算出処理部402、ブレンド率算出処理部403、色度差算出処理部404、およびブレンド処理部405により構成される。信号Cは、上述した図8の全色補間処理部264から供給され、信号C’は、上述した図8の全色補間処理部265から供給される。以下、信号Cに含まれる4つの色成分をR,G,B,Eで表し、信号C’に含まれる4つの色成分をR’,G’,B’,E’で表す。
輝度算出処理部401は、信号Cから輝度を算出する。この実施の形態(他の実施の形態)では、輝度Lを以下の式(12)に示されるように定義する。
L=(R+G+B+E)/4 ・・・(12)
彩度算出処理部402は、信号Cと、輝度算出処理部401により得られた輝度Lに基づいて、彩度Sを算出する。この実施の形態(他の実施の形態)では、彩度Sを以下の式(13)に示されるように定義する。
色度差算出処理部404は、信号C,C’に基づいて色度差を算出する。この実施の形態(他の実施の形態)では、色度差ΔCを以下の式(14)に示されるように定義する。
ブレンド率算出処理部403は、再度算出処理部402により得られた彩度Sと、色度差算出処理部404により得られた色度差ΔCに基づいて、ブレンド率rを以下の式(15)を用いて算出する。
なお、式(15)において、第7の定数および第8の定数は任意の定数である。また式(15)により算出されたrが1よりも大きい場合は、1にクリップされる。この第7の定数および第8の定数は、例えば、経験的にまたは実験的に定められる所定の値である。
ブレンド処理部405は、信号C,C’をブレンド率に基づいてブレンドし、新たな信号C’’Aを算出する。以下、C’’Aに含まれる4つの色成分をR’’,G’’,B’’,E’’で表す。またブレンド方法は、以下の式(16)乃至式(20)に示される。
R’’=R×r+R’×(1−r) ・・・(16)
G’’=G×r+G’×(1−r) ・・・(17)
B’’=B×r+B’×(1−r) ・・・(18)
E’’=E×r+E’×(1−r) ・・・(19)
このように、G、Eについて、1つの水平ライン内にGが存在する場合、そのライン内にEが存在しないフィルタ配列を持つ単板カラー撮像素子によって間引きして撮像された色のモザイク画像より、偽色の発生は抑えられているが、解像度が低く、信頼性が低い、第1の全色の補間値と、偽色は発生しやすいが、解像度が高く、偽色が出ていない画素位置では色の信頼性が高い、第2の全色の補間値を得ることができる。また、この2つの全色の補間値を比較することにより、従来困難であった偽色の発生位置の判定を精度良く行うことが可能になる。
さらに、2つの全色の補間値から得られる彩度と色度差に基づいて、第1の全色の補間値(例えば、全色補間処理部264により生成される信号C)の特徴である偽色の少なさと第2の全色の補間値(例えば、全色補間処理部265により生成される信号C’)の特徴である解像度の高さと色の信頼性が高さを生かした、2つの全色の補間値の効果的な合成を行うことができ、もって、高品位な色成分の補間を可能にする。
このことは、従来行われていた、発生した偽色を無彩色に近づける処理とは異なり、単に無彩色にするよりは真値に近い第1の全色の補間値を偽色抑制処理に用いることができるので、より自然な補間画像を得ることができる。
なお、本実施の形態および他の実施の形態では、彩度算出処理部302,402、色度差算出処理部304,404において彩度や色度差の算出にユークリッド距離(偏差の自乗和の平方値)を用いているが、マンハッタン距離(偏差の絶対値の総和)を用いても構わない。
また、ブレンド率rは定性的には色度差ΔCが大きくなると大きくなり、彩度Sが大きくなると小さくなれば良いので、式(9)や式(15)に限らず、式(20)を用いるようにしてもよい。
r=ΔC×(第9の定数)−S×(第10の定数)・・・(20)
当然、同様の挙動を示すさらに別の式を用いても構わない。
また、以上の例では、図6に示されるような4色のフィルタ配列の場合について述べてきたが、さらにフィルタの色数が増えても構わない。本発明の本質は、ある色G,Eについて、すべての水平ライン内にG,Eのいずれかが存在し、1つの水平ライン内にGが存在する時はそのライン内にEが存在しないフィルタ配列において、G,Eに基づいて2種類の輝度を生成する点にある。人間の視覚が色成分に対して輝度に対するほど敏感でないことを考慮すると、輝度さえ同等の精度で生成できれば、他の色についてはDC成分が取れる程度のサンプル数があれば問題なく補間することができる。例えば本発明は、6色配列である図26に対しても適用する事ができる。
以上の処理をまとめると、以下の通りとなる。
画素補間方法として、輝度信号を全画素に生成し、それを参照情報として他の色成分を補間する方法が一般的に用いられている。例えば、「U.S. Patent 4,642, 678「Cok,David R. "Signal processing method and apparatus for producing interpolated chrominance values in a sampled color image signal"」には、局所領域における色の比率がほぼ一定であるという仮定の元、全画素にあらかじめGを揃え、近傍画素におけるRとGの比率の平均、およびBとGの比率の平均を注目画素位置のGに乗算し、不明な色成分の推定を行う画素補間方法が提案されている。
そこで、本発明では、注目画素位置における輝度信号のDC成分と色信号のDC成分の比率に輝度信号を乗算して不明な色成分の補間を行う。以下、これを色バランス補間と称する。DC成分は注目画素近傍の画素値を平均することで簡易に求められる。
間引いて撮像している場合、輝度信号の補間に用いる画素間の距離が広がると、偽色増大の大きな原因となる。ベイヤー配列では輝度として用いられるGが市松に存在するため、水平ライン毎の間引きを行ってもGが存在しない画素位置には横近傍のGを用いて補間することができ、上記の問題を回避できる。
しかしながら、輝度として全画素に共通して用いられる色成分が、横近傍の画素だけでは作れない配列では、ベイヤー配列と同じ手法を用いることはできない。そこで、本実施の形態では、2種類の輝度を生成し、それぞれに基づいて補間した2つの補間値の特徴をいかして合成することで、同等の効果を得るようにする。
以下に、図6に示される4色のフィルタ配列を例として、色の補間に色バランス補間を用いた場合について説明する。間引き後も、図6の配列となるように間引くこととし、解像度の低下を抑えるために、できる限り均等な間隔で間引きを行う。例えば、8ラインを1セットとして、そのうち、4ライン目と7ライン目を用いて1/4に間引くパターンが考えられる。なお、配列や補間方法はこの説明で使用しているものに限定されない。
最初に、Gが存在するラインでは、ライン内のGが存在しない画素位置に、左右に隣接するGを用いてGの補間を行い、Eが存在するラインでは、ライン内のEが存在しない画素位置に、左右に隣接するEを用いてEの補間を行う。その結果、全ての画素にGまたはEが存在することになるが、それらを区別せずに1つの輝度とみなす。図27は、GとEがライン毎に補間された状態を示す。例として、撮像対象がDC成分のみを持ち、得られたモザイク信号値がRの値が0.5、Gの値が1、Eの値が0.8であるとき、位置452に位置するRを推定する場合を考える。
位置451における色の補間のために、近傍3×3領域454の輝度の平均値を求めると、約0.87となる。位置452における色の補間のために、近傍3×3領域455の輝度の平均値を求めると、約0.93となる。Rの平均値は、どの領域においても0.5となるので、色バランス補間を用いると、位置451のRの補間値R1は、式(21)で示されるように演算され、位置452のRの補間値R2は、式(22)で示されるように演算される。
このように、ライン毎に注目画素位置で輝度とみなしている色が異なり、また輝度の平均も同一にはならないため、単に色バランス補間を行うだけでは、画素位置によって補間される色が変わることになる。そこで、注目画素位置の輝度がGである場合と、Eである場合の補間結果を合成し、画素間のバランスを取ることにする。ここで用いている間引き方では、注目画素位置の輝度がGである場合と、Eである場合の補間結果が1ライン毎に得られるので、注目画素位置およびその上下に補間された色を用いる。領域456の輝度の平均値を用いて、位置453に補間したRの補間値をR3とした場合、位置452のRの最終的な補間値R2’は、式(23)により求められる。
このような方法により、全色を揃えた補間画素は、輝度の生成にサンプリング間隔が広い縦方向の近傍画素を用いていないため偽色がでにくい。しかし、複数の補間値の足しあわせにより解像度の低下を招いている。また、GとEを区別せずに補間を行っているので、色の推定に誤りが含まれ、補間された色の信頼度が低くなっている。この信頼を上げるためには、なるべくGとEの分光特性が近い方が好ましい。また、無彩色に対してGとEが同じであるとみなすために、モザイク信号の段階でレベルバランス(ホワイトバランス)をあわせておくことも信頼性の向上につながる。
続いて、別の輝度を用いた補間を行う。まず線形補間等、適当な補間法で全ての画素位置にGとEをそろえる。そして、同一画素上のG,Eを加算平均し、新たな色成分G+Eを生成する。このG+Eを輝度とみなして、不明な色成分を色バランス補間で補間する。G+Eは生成時にサンプリング間隔が広い縦方向の近傍画素を用いるため偽色がでやすいが、撮像対象のDC成分に対しては、色の推定が正しく行われるため、偽色がでていない画素位置では、補間された色の信頼性が高い。
以上の2つの推定方法を用いて、偽色の発生が抑えられているが、解像度が低く、色の信頼性が低い第1の全色の補間値C(RF,GF,BF,EF)と、偽色は発生しやすいが、解像度が高く、偽色が出ていない画素位置では色の信頼性が高い、第2の全色の補間値C’(RU,GU,BU,EU)が得られる。この2つの全色の補間値を合成することにより、偽色の発生が抑えられていて、色の信頼性が高く、解像度が高い、新たな第3の全色の補間値を生成することができる。その方法としては、最初に現在の色空間から、輝度と色度で表される色空間に変換し、第1の全色の補間値から第1の輝度と第1の色度を生成する。次に、第2の全色の補間値から第2の輝度と第2の色度を生成する。
視覚の特性として、輝度の解像度に対しては敏感で、色度の解像度に対しては鈍感であることを利用し、輝度については解像度の高い第2の輝度(例えば、図9の輝度信号C’l)をそのまま用い、色度について合成を行う。偽色が発生している画素位置では、色度の信頼性は第1の色度(例えば、図9の色度信号Cc)の方が高く、逆に偽色が発生していない画素位置では、第2の色度の方が高くなるという仮定の元、第1および第2の色度を比較し色度差が大きい場合は偽色であると判断し、第1の色度の合成比率を上げ、また、偽色が目立つ無彩色部分を重点的に第1の色度の合成比率を上げることで、偽色が出ていない部分の色度が信頼性の高い第2の色度になるように合成を行う。
以上の処理により、例えば、G,Eについて、すべての水平ライン内にGまたはEが配置され、1つの水平ライン内にGが存在する場合、そのライン内にEが存在しないフィルタ配列を持つ単板カラー撮像素子によって間引きして撮像された色のモザイク画像より、偽色の発生は抑えられているが、解像度が低く、信頼性が低い、第1の全色の補間値と、偽色は発生しやすいが、解像度が高く、偽色が出ていない画素位置では色の信頼性が高い、第2の全色の補間値が得られる。この2つの全色の補間値を比較することにより、偽色の発生位置の判定を精度良く行うことが可能になる。
また、2つの全色の補間値から得られる彩度と色度差に基づいて、第1の全色の補間値の特徴である偽色の少なさと第2の全色の補間値の特徴である解像度の高さと色の信頼性が高さを生かした、2つの全色の補間値の効果的な合成を行うことができ、もって、高品位な色成分の補間を可能にする。
この処理は、従来行われていた、発生した偽色を無彩色に近づける処理とは異なり、単に無彩色にするよりは真値に近い第1の全色の補間値を偽色抑制処理に用いることができるので、より自然な補間画像を得ることができる。
なお、図18のステップS309において、重み係数wiの総和Wで、所定の値が除算されているが、重み係数wiを中心位置からの距離に応じて変化させ、その総和を2の累乗となるように定めることにより、重み係数wiの総和Wで、所定の値を除算する処理(画素数を用いた除算)に代って、シフト演算を用いるようにしてもよい。これにより、演算を簡略化することが可能となる。
また、本発明は、デジタルカメラを初めとする、固体撮像素子および固体撮像素子を利用した撮像装置(例えば、デジタルスチルカメラ)に適用することができる。具体的には、1つの固体撮像素子によってカラー画像を得る方式(単板カラー方式)の撮像装置に本発明を適用することによって、不明な色成分を推定することができる。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。
この場合、ソフトウェアをDSPブロック216が実行することにより、上述した機能が実現される。また、例えば、デモザイク処理部253は、図28に示されるようなパーソナルコンピュータ501により構成することが可能となる。
図28において、CPU(Central Processing Unit)511は、ROM(Read Only Memory)512に記憶されているプログラム、または記憶部518からRAM(Random Access Memory)513にロードされたプログラムに従って、各種の処理を実行する。RAM513にはまた、CPU511が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU511、ROM512、およびRAM513は、バス514を介して相互に接続されている。このバス514にはまた、入出力インタフェース515も接続されている。
入出力インタフェース515には、キーボード、マウスなどよりなる入力部516、ディスプレイやスピーカなどよりなる出力部517、ハードディスクなどより構成される記憶部518、モデム、ターミナルアダプタなどより構成される通信部519が接続されている。通信部519は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース515にはまた、必要に応じてドライブ520が接続され、磁気ディスク531、光ディスク532、光磁気ディスク533、もしくは、半導体メモリ534などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部518にインストールされる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェア(例えば、DSPブロック216や、その中に含まれている、デモザイク処理部253、G,E補間処理部262、G+E生成処理部263、全色補間処理部264、全色補間処理部265、または合成処理部266)に組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
この記録媒体は、図28に示されるように、装置本体とは別に、ユーザにプログラムを供給するために配布される、プログラムが記憶されている磁気ディスク531(フロッピディスクを含む)、光ディスク532(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク533(MO(Magnet Optical Disk)を含む)、もしくは半導体メモリ534などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに供給される、プログラムが記憶されているROM512や、記憶部518に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記憶されるプログラムを記述するステップは、含む順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的もしくは個別に実行される処理をも含むものである。
216 DSPブロック, 251 ホワイトバランス調整部, 253 デモザイク処理部, 261 局所領域抽出部, 262 G,E補間処理部, 263 G+E生成処理部, 264,265 全色補間処理部, 266 合成処理部, 301−1,301−2 色空間変換処理部, 302 彩度算出処理部, 303 ブレンド率算出処理部, 304 色度差算出処理部, 305 ブレンド処理部