以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の第1の側面のカラーフィルタは、レンズを介して入射された光を受けて、複数の異なる分光成分のうちのいずれかを有する光信号を画素ごとに透過させ、撮像素子に照射させるカラーフィルタ(例えば、図4のカラーフィルタ22)であって、複数の異なる前記分光成分は、複数の異なる前記分光成分のうち最も周波数の帯域幅が広い第1の分光成分(例えば、Wに対応する分光成分)と、前記レンズにおいて色収差の発生しない周波数近傍の所定の周波数帯域に対応する第2の分光成分(例えば、Gに対応する分光成分)と、前記第1の分光成分に第1の重み係数を乗算した値と、前記第2の係数に第2の重み係数を乗算した値との線形和により表される第3の分光成分(例えば、Mに対応する分光成分)とを含んで構成される。
複数の異なる前記分光成分は、前記第1の分光成分、前記第2の分光成分、および前記第3の分光成分を含む5種類の分光成分であり、前記第1の分光成分および前記第3の分光成分、並びに、第4の分光成分(例えば、Rに対応する分光成分)および第5の分光成分(例えば、Bに対応する分光成分)にそれぞれ対応する画素は、前記画素が配列される平面上の配列の一方の方向を0度として、0度方向、45度方向、90度方向、または、135度方向のいずれかの方向に、前記第2の分光成分に対応する画素と隣接して配置されるとともに、前記第1の分光成分および前記第3の分光成分に対応する画素が、前記第2の分光成分に対応する画素に対して直行する方向に配列され、前記第4の分光成分および前記第5の分光成分に対応する画素が、前記第2の分光成分に対応する画素に対して直行する方向に配列されるものとすることができる。
本発明の第2の側面の画像処理装置は、レンズを介して所定のカラーフィルタに入射されて取得された光信号であって、画素ごとに、複数の異なる分光成分のうちのいずれかの分光成分を有する光信号の入力を受け、前記画素ごとの前記光信号を基に、画像データを生成する画像処理装置(例えば、図10のデモザイク処理部44または図8のカメラ信号処理部25)であって、所定の前記画素における前記光信号に対応する第1の画素値と、前記所定の画素の隣接画素が有する画素値を用いて実行される補間処理により得られる第2の画素値とを基に、前記画像データのコントラスト成分を演算するコントラスト成分演算手段(例えば、図10の0度方向補間G画像計算処理部71、45度方向補間G画像計算処理部72、90度方向補間G画像計算処理部73、135度方向補間G画像計算処理部74、および、G画像計算処理部75、または、R画像計算処理部81、B画像計算処理部82)を備え、前記コントラスト成分演算手段は、前記第1の画素値または前記第2の画素値のうち、複数の異なる前記分光成分のうち最も周波数の帯域幅が広い第1の分光成分(例えば、Wに対応する分光成分)に対応する画素値、前記レンズにおいて色収差の発生しない周波数近傍の所定の周波数帯域に対応する第2の分光成分(例えば、Gに対応する分光成分)に対応する画素値、または、前記第1の分光成分に第1の重み係数を乗算した値と、前記第2の分光成分(例えば、Gに対応する分光成分)に第2の重み係数を乗算した値との線形和により表される第3の分光成分(例えば、Mに対応する分光成分)に対応する画素値を用いた演算処理に基づいて、前記画像データのコントラスト成分を求める。
前記コントラスト成分演算手段は、前記第1の画素値または前記第2の画素値に基づいて、緑色に対応する各画素の画素値を算出する緑色成分算出手段(例えば、図10のG画像計算処理部75)と、複数の異なる前記分光成分のうち、赤色に対応する所定の周波数成分に対応する画素値と、前記緑色成分算出手段による算出結果とに基づいて、赤色に対応する各画素の画素値を算出する赤色成分算出手段(例えば、図10のR画像計算処理部81)と、複数の異なる前記分光成分のうち、青色に対応する所定の周波数成分に対応する画素値と、前記緑色成分算出手段による算出結果とに基づいて、青色に対応する各画素の画素値を算出する青色成分算出手段(例えば、図10のB画像計算処理部82)とを備えることができる。
前記画像データにおけるそれぞれの画素近辺の模様の方向を推定する模様方向推定手段(例えば、図10の模様方向判定部65)を更に備えることができ、前記コントラスト成分演算手段は、前記模様方向検出手段による、それぞれの画素近辺の模様の方向の推定結果に基づいて、前記画像データのコントラスト成分を演算することができる。
前記画素が配列される平面上の配列の一方の方向を0度として、0度方向、45度方向、90度方向、および、135度方向のそれぞれの方向において模様がある確度を求める模様確度算出手段(例えば、図10の0度方向の模様分析処理部51、45度方向の模様分析処理部52、90度方向の模様分析処理部53、および、135度方向の模様分析処理部54)を更に備えることができ、前記模様方向検出手段は、前記模様確度算出手段による算出結果に基づいて、前記画像データにおけるそれぞれの画素近辺の模様の方向を推定することができる。
複数の異なる前記分光成分は、前記第1の分光成分、前記第2の分光成分、および前記第3の分光成分を含む5種類の分光成分であり、前記第1の分光成分および前記第3の分光成分、並びに、第4の分光成分(例えば、Rに対応する分光成分)および第5の分光成分(例えば、Bに対応する分光成分)にそれぞれ対応する画素は、前記画素が配列される平面上の配列の一方の方向を0度として、0度方向、45度方向、90度方向、または、135度方向のいずれかの方向に、前記第2の分光成分に対応する画素と隣接して配置されるとともに、前記第1の分光成分および前記第3の分光成分に対応する画素が、前記第2の分光成分に対応する画素に対して直行する方向に配列され、前記第4の分光成分および前記第5の分光成分に対応する画素が、前記第2の分光成分に対応する画素に対して直行する方向に配列されるものとすることができる。
本発明の第2の側面の画像処理方法は、レンズを介して所定のカラーフィルタに入射されて取得された、複数の異なる分光成分のうちのいずれかの分光成分を有する光信号の入力を受け、画素ごとの前記光信号を基に、画像データを生成する画像処理装置(例えば、図10のデモザイク処理部44または図8のカメラ信号処理部25)の画像処理方法であって、所定の前記画素における前記光信号に対応する第1の画素値を取得し(図12のステップS41の処理)、前記所定の画素の隣接画素が有する画素値を用いて補間処理を実行して第2の画素値を取得し(例えば、図24のステップS244,246,249などの処理であり、または、図26、図27、図29における同様の処理)、前記第1の画素値および前記第2の画素値のうち、複数の異なる前記分光成分のうち最も周波数の帯域幅が広い第1の分光成分(例えば、Wに対応する分光成分)に対応する画素値、前記レンズにおいて色収差の発生しない周波数近傍の所定の周波数帯域に対応する第2の分光成分(例えば、Gに対応する分光成分)に対応する画素値、または、前記第1の分光成分に第1の重み係数を乗算した値と、前記第2の分光成分(例えば、Gに対応する分光成分)に第2の重み係数を乗算した値との線形和により表される第3の分光成分(例えば、Mに対応する分光成分)に対応する画素値を用いた演算処理により、前記画像データのコントラスト成分を求める(例えば、図24、または、図26、図27、図29、図30、図32における処理)ステップを含む。
本発明の第2の側面のプログラムは、レンズを介して所定のカラーフィルタに入射されて取得された、複数の異なる分光成分のうちのいずれかの分光成分を有する光信号の入力を受け、画素ごとの前記光信号を基に、画像データを生成する処理を制御するコンピュータが実行可能なプログラムであって、所定の前記画素における前記光信号に対応する第1の画素値の取得を制御し(図12のステップS41の処理)、前記所定の画素の隣接画素が有する画素値を用いて補間処理を実行して第2の画素値を算出し(例えば、図24のステップS244,246,249などの処理であり、または、図26、図27、図29における同様の処理)、前記第1の画素値および前記第2の画素値のうち、複数の異なる前記分光成分のうち最も周波数の帯域幅が広い第1の分光成分(例えば、Wに対応する分光成分)に対応する画素値、前記レンズにおいて色収差の発生しない周波数近傍の所定の周波数帯域に対応する第2の分光成分(例えば、Gに対応する分光成分)に対応する画素値、または、前記第1の分光成分に第1の重み係数を乗算した値と、前記第2の分光成分(例えば、Gに対応する分光成分)に第2の重み係数を乗算した値との線形和により表される第3の分光成分(例えば、Mに対応する分光成分)に対応する画素値を用いた演算処理により、前記画像データのコントラスト成分を求める(例えば、図24、または、図26、図27、図29、図30、図32における処理)ステップを含む処理をコンピュータに実行させる。
本発明の第3の側面の撮像装置は、画像を撮像する撮像装置(例えば、図2の撮像装置11)であって、レンズ(例えば、図2のレンズ21)を介して入射された光を、所定のカラーフィルタ(例えば、図2のカラーフィルタ22)を介することにより複数の異なる分光成分の光信号として画素ごとに取得する光信号取得手段(例えば、図2の固体撮像素子23)と、前記光信号取得手段により取得された前記光信号をデジタル信号に変換する変換手段(例えば、図2のA/D変換部24)と、前記変換手段により変換された前記デジタル信号を処理して、全画素において、所定の複数の色成分に対応する画素値が揃った画像データを生成する画像処理手段(例えば、図10のデモザイク処理部44または図8のカメラ信号処理部25)とを備え、前記画像処理手段は、所定の前記画素における前記光信号に対応する第1の画素値と、前記所定の画素の隣接画素が有する画素値を用いて実行される補間処理により得られる第2の画素値とを基に、前記画像データのコントラスト成分を演算するコントラスト成分演算手段(例えば、図10の0度方向補間G画像計算処理部71、45度方向補間G画像計算処理部72、90度方向補間G画像計算処理部73、135度方向補間G画像計算処理部74、および、G画像計算処理部75、または、R画像計算処理部81、B画像計算処理部82)を備え、前記コントラスト成分演算手段は、前記第1の画素値または前記第2の画素値のうち、複数の異なる前記分光成分のうち最も周波数の帯域幅が広い第1の分光成分(例えば、Wに対応する分光成分)に対応する画素値、前記レンズにおいて色収差の発生しない周波数近傍の所定の周波数帯域に対応する第2の分光成分(例えば、Gに対応する分光成分)に対応する画素値、または、前記第1の分光成分に第1の重み係数を乗算した値と、前記第2の分光成分(例えば、Gに対応する分光成分)に第2の重み係数を乗算した値との線形和により表される第3の分光成分(例えば、Mに対応する分光成分)に対応する画素値を用いた演算処理に基づいて、前記画像データのコントラスト成分を求める。
前記コントラスト成分演算手段は、前記第1の画素値または前記第2の画素値に基づいて、緑色に対応する各画素の画素値を算出する緑色成分算出手段(例えば、図10のG画像計算処理部75)と、複数の異なる前記分光成分のうち、赤色に対応する所定の周波数成分に対応する画素値と、前記緑色成分算出手段による算出結果とに基づいて、赤色に対応する各画素の画素値を算出する赤色成分算出手段(例えば、図10のR画像計算処理部81)と、複数の異なる前記分光成分のうち、青色に対応する所定の周波数成分に対応する画素値と、前記緑色成分算出手段による算出結果とに基づいて、青色に対応する各画素の画素値を算出する青色成分算出手段(例えば、図10のB画像計算処理部82)とを備えることができる。
前記画像処理手段は、前記画像データにおけるそれぞれの画素近辺の模様の方向を推定する模様方向推定手段(例えば、図10の模様方向判定部65)を更に備えることができ、前記コントラスト成分演算手段は、前記模様方向検出手段による、それぞれの画素近辺の模様の方向の推定結果に基づいて、前記画像データのコントラスト成分を演算することができる。
前記画像処理手段は、前記画素が配列される平面上の配列の一方の方向を0度として、0度方向、45度方向、90度方向、および、135度方向のそれぞれの方向において模様がある確度を求める模様確度算出手段(例えば、図10の0度方向の模様分析処理部51、45度方向の模様分析処理部52、90度方向の模様分析処理部53、および、135度方向の模様分析処理部54)を更に備えることができ、前記模様方向検出手段は、前記模様確度算出手段による算出結果に基づいて、前記画像データにおけるそれぞれの画素近辺の模様の方向を推定することができる。
複数の異なる前記分光成分は、前記第1の分光成分、前記第2の分光成分、および前記第3の分光成分を含む5種類の分光成分であり、前記第1の分光成分および前記第3の分光成分、並びに、第4の分光成分(例えば、Rに対応する分光成分)および第5の分光成分(例えば、Bに対応する分光成分)にそれぞれ対応する画素は、前記画素が配列される平面上の配列の一方の方向を0度として、0度方向、45度方向、90度方向、または、135度方向のいずれかの方向に、前記第2の分光成分に対応する画素と隣接して配置されるとともに、前記第1の分光成分および前記第3の分光成分に対応する画素が、前記第2の分光成分に対応する画素に対して直行する方向に配列され、前記第4の分光成分および前記第5の分光成分に対応する画素が、前記第2の分光成分に対応する画素に対して直行する方向に配列されるものとすることができる。
本発明の第3の側面の撮像方法は、画像を撮像する撮像装置(例えば、図2の撮像装置11)の撮像方法であって、レンズ(例えば、図2のレンズ21)を介して入射された光を、所定のカラーフィルタ(例えば、図2のカラーフィルタ22)を介することにより複数の異なる分光成分の光信号として画素ごとに取得し(例えば、図11のステップS1の処理)、取得された前記光信号をデジタル信号に変換し(例えば、図11のステップS2の処理)、変換された前記デジタル信号から、所定の前記画素における前記光信号に対応する第1の画素値を取得し(図12のステップS41の処理)、前記所定の画素の隣接画素が有する画素値を用いて補間処理を実行して第2の画素値を取得し(例えば、図24のステップS244,246,249などの処理であり、または、図26、図27、図29における同様の処理)、前記第1の画素値および前記第2の画素値のうち、複数の異なる前記分光成分のうち最も周波数の帯域幅が広い第1の分光成分(例えば、Wに対応する分光成分)に対応する画素値、前記レンズにおいて色収差の発生しない周波数近傍の所定の周波数帯域に対応する第2の分光成分(例えば、Gに対応する分光成分)に対応する画素値、または、前記第1の分光成分に第1の重み係数を乗算した値と、前記第2の分光成分(例えば、Gに対応する分光成分)に第2の重み係数を乗算した値との線形和により表される第3の分光成分(例えば、Mに対応する分光成分)に対応する画素値を用いた演算処理により、前記画像データのコントラスト成分を求める(例えば、図24、または、図26、図27、図29、図30、図32における処理)ステップを含む。
本発明の第3の側面のプログラムは、画像を撮像する処理を制御するコンピュータが実行可能なプログラムであって、レンズ(例えば、図2のレンズ21)を介して入射され、所定のカラーフィルタ(例えば、図2のカラーフィルタ22)を介することにより複数の異なる分光成分として画素ごとに得られる光信号の取得を制御し(例えば、図11のステップS1の処理)、取得された前記光信号のデジタル信号への変換を制御し(例えば、図11のステップS2の処理)、変換された前記デジタル信号からの、所定の前記画素における前記光信号に対応する第1の画素値の取得を制御し(図12のステップS41の処理)、前記所定の画素の隣接画素が有する画素値を用いて補間処理を実行して第2の画素値を算出し(例えば、図24のステップS244,246,249などの処理であり、または、図26、図27、図29における同様の処理)、前記第1の画素値および前記第2の画素値のうち、複数の異なる前記分光成分のうち最も周波数の帯域幅が広い第1の分光成分(例えば、Wに対応する分光成分)に対応する画素値、前記レンズにおいて色収差の発生しない周波数近傍の所定の周波数帯域に対応する第2の分光成分(例えば、Gに対応する分光成分)に対応する画素値、または、前記第1の分光成分に第1の重み係数を乗算した値と、前記第2の分光成分(例えば、Gに対応する分光成分)に第2の重み係数を乗算した値との線形和により表される第3の分光成分(例えば、Mに対応する分光成分)に対応する画素値を用いた演算処理により、前記画像データのコントラスト成分を求める(例えば、図24、または、図26、図27、図29、図30、図32における処理)ステップを含む。
以下、図を参照して、本発明の実施の形態について説明する。
図4は、固体撮像素子を具備する撮像装置11の構成を示すブロック図である。
光学レンズ21を介して入射される光は、カラーフィルタ22に照射される。
カラーフィルタ22は、図6を用いて後述する配列を有しており、それぞれの画素ごとに所定の周波数の光を透過して、固体撮像素子23に入射させる。
固体撮像素子23は、光学レンズ11を通して入射される光のうち、カラーフィルタ22を透過する光を受光し、受光して得られた光エネルギを、画素ごとに光電変換により電気信号に変換する。固体撮像素子23で光電変換されて電気信号として出力される画像信号は、A/D変換部24によりデジタル信号に変換された後、カメラ信号処理部25に供給される。
カメラ信号処理部25は、供給されたデジタル信号に対して、クリッピング処理、ガンマ補正、ホワイトバランス補正、デモザイク処理などを施し、表示部26、または、画像圧縮部27に供給する。カメラ信号処理部25が実行するデモザイク処理の詳細については後述する。
表示部26は、例えば、液晶表示素子および素子を駆動するドライバなどを含んで構成され、必要に応じて、カメラ信号処理部25により所定の処理が施されて得られた画像データに対応する画像を表示する。
画像圧縮部27は、供給された画像信号に圧縮処理を施して、画像信号のデータ量を削減し、所定の記録用画像フォーマットに変換して、記録部28または外部出力部29に出力する。記録部28は、変換された画像データを、例えば、ハードディスクもしくは半導体メモリなどの記憶素子、または、所定のドライバに装着された着脱可能な記録媒体に記録する。外部出力部29は、変換された画像データを、有線または無線の通信により、他の装置へ出力する。なお、記録される、または、外部出力される信号に対して、画像圧縮部27によって必ずしも画像圧縮処理が施されなくても良いが、近年では撮像素子の画素数が増加し、かつ装置自体の小型化が要求されているために、画像データが記録される場合や、所定の媒体を介して外部出力される場合には、画像圧縮が行われると好適である。
一般的なカラーフィルタ、および、図4のカラーフィルタ12の分光特性について、図5を参照して説明する。
例えば、図1を用いて説明したような、一般的なベイヤー配列のカラーフィルタにおいて、Bチャネルに対応するフィルタは、青色に相当する約200乃至300nmの波長の光信号の透過率が高いフィルタであり、Gチャネルに対応するフィルタは、緑色に相当する約450乃至550nmの波長の光信号の透過率が高いフィルタであり、Rチャネルに対応するフィルタは、赤色に相当する約550乃至650nmの波長の光信号の透過率が高いフィルタである。これらのRGB対応のフィルタは、約700nm以上の波長を持つ赤外光成分はほとんど透過しない性質を有する。
これに対して、カラーフィルタ22は、RGBに加えて、更に2つの波長帯域の分光成分を含む光信号を取得する5つのフィルタを有している。
カラーフィルタ22は、被写体が明るくない場合にも対応できるように、より広い波長帯域の分光成分(以下、第1の分光成分と称する)の光信号を取得できる画素群(以下、第1の画素群と称する)」を得るためのフィルタとして、例えば、RGBの可視光全体を取得するか、または、可視光および赤外光等の不可視光成分を含む光信号を取得するためのフィルタを用意する。
低照度条件下では、色温度が低くて、赤外光の放射量の多い光源が使われている場合が多い。また、補助光として赤外光などの不可視光を使えば雰囲気を損なうことが少ない。以上のことから、赤外光などの不可視光を多く含む光源下において、実効的な撮影感度を上げる技術が望まれている。
したがって、第1の分光成分として、可視光および赤外光を含む光信号を取得するようにすると好適であるが、赤外光を除いた、RGBの可視光全体を第1の分光成分としても良いし、それ以外にも、例えば、可視光および赤外光を含む波長帯域から、所定の帯域のみを除いた分光成分や、可視光から所定の帯域のみを除いた分光成分としてもよく、第1の分光成分が含む波長領域幅が広ければその分だけ、撮影感度を向上させることが可能となる。
すなわち、カラーフィルタ22が、最も広範囲の波長帯域の分光成分の光信号を取得するフィルタとして、可視光全体を取得するフィルタを用いても、従来における場合と比較して、SN比を改善することが可能となる。しかしながら、この場合においても、十分な照度があれば感度は充分であるが、十分な照度が得られない暗闇のような環境や、光源に赤外光が多く含まれる低照度の条件、あるいは低照度で赤外光の補助光を使用する撮影条件においては、感度はまだ不十分となり、ノイズを削減した高品質な画像を生成することができない。これに対して、最も広範囲の波長帯域の分光成分である第1の分光成分の光信号を取得するフィルタとして、可視光および赤外光等の不可視光成分を含む光信号を取得するためのフィルタを用いるものとすると、十分な照度が得られない暗闇のような場合や、光源に赤外光が多く含まれる低照度の条件、あるいは低照度で赤外光の補助光を使用する撮影条件においても、ノイズを削減した高品質な画像を生成することが可能となり、好適である。
例えば、可視光および赤外光等の不可視光成分を含む光信号を取得するためのフィルタは、図中Wとして分光特性を示すように、ピークは約530nm付近であるが、RGB成分のすべての信号を透過するとともに、700nm以上の赤外光成分も透過する性質を有する。
以下、カラーフィルタ22は、第1の分光成分として、可視光および赤外光等の不可視光成分(以下、Wとも記載する)を含む光信号を取得するものとして説明する。
また、さらに、カラーフィルタ22は、第1の分光成分から、所定範囲の波長成分を除いた分光成分(以下、第2の分光成分と称する)を取得できる画素群(以下、第2の画素群と称する)を取得することができる。
第2の分光成分は、第1の分光成分から、RGBのいずれに対応する波長成分を除いた分光成分としても良いが、容易にピントのボケを補正した画像を得るためには、色収差のない成分を第1の分光成分から除いた分光成分を第2の分光成分とすると好適である。人間の目は、555nmの緑付近の波長の光を感じる感度が最も良いことから、一般的に、緑の成分に色収差が発生しないようにレンズが設定されているので、特に、第1の分光成分からG(緑色)に対応する波長成分を除いた分光成分、すなわち、マゼンダの色成分に対応する分光成分を第2の分光成分とすると好適である。
もちろん、第1の分光成分からB(青)に対応する波長成分を除いた分光成分、すなわち、イエローの分光成分を第2の分光成分としても良いし、第1の分光成分からR(赤)に対応する波長成分を除いた分光成分、すなわち、シアンに対応する波長成分を除いた分光成分を第2の分光成分としても良い。
以下、カラーフィルタ22は、第2の分光成分として、可視光および赤外光等の不可視光成分の波長領域から、G(緑)に対応する波長成分を除いた分光成分、すなわち、マゼンダに対応する分光成分(以下、Mとも記載する)の光信号を取得するものとして説明する。
このように、カラーフィルタ22を用いることにより、固体撮像素子23は、従来のカラーフィルタと同様のRGBそれぞれの分光成分を取得する画素群に加えて、被写体が明るくない場合にも、固体撮像素子23に充分な光量が入射されるように、従来のカラーフィルタのRGBそれぞれにおける波長帯域よりも広い波長帯域の分光成分である第1の分光成分を取得できる画素群と、第1の分光成分から、所定の領域の波長成分を除いた分光成分である第2の分光成分を取得できる画素群とを取得することが可能になる。
このようにして取得された画素データに対して、第1の画素群の画素データから、第2の画素群の画素データを減算する(換言すれば、重みW1=1、重みW2=(−1)として、重みW1とW2による、第1の画素群と第2に画素群とそれぞれの画素値の線形和を得る)ことで、所定の領域の波長成分の画素データを得ることができる。この所定の領域の波長成分の画素データに色収差が発生していない場合、ボケのない鮮明な画像を得ることができる。換言すれば、第1の画素群の画素データから、第2の画素群の画素データを減算することによって得られる所定の領域の波長において色収差が無いようにレンズ21を設定し、この所定の領域の波長成分の画素データ、すなわち、色収差を除去した画素データをコントラスト成分として使用することで、色収差のない画素データを作成することができ、色収差をキャンセルした、鮮明な画像を作成することができる。
図6を用いて、カラーフィルタ22におけるカラーフィルタ配列の一例と、固体撮像素子23において取得される各画素について説明する。図6は、カラーフィルタ22の一部分のフィルタ配列を表している。
カラーフィルタ22によってそれぞれ取得可能な分光成分が異なるようになされている固体撮像素子23の各画素は、Wで示される画素、Mで示される画素、Gで示される画素、Rで示される画素、および、Bで示される画素の5種類に分類される。
Wで示される画素(上述した第1の分光成分を取得する第1の画素群に対応する画素)とは、広い波長帯域の分光成分(上述したの第1の分光成分)を取得する画素である。具体的には、例えば、Wで示される画素とは、B(青)の分光成分、G(緑)の分光成分、R(赤)の分光成分、および、IR(赤外)の分光成分のすべてを取得することができる画素である。なお、カラーフィルタ22において、通常、固体撮像素子23の対応する画素の前面に何も加工しなければ、固体撮像素子23において第1の分光成分を取得できる画素になる。
Mで示される画素(上述した第2の分光成分を取得する第2の画素群に対応する画素)とは、第1の分光成分から、所定の範囲の波長成分(例えば、G(緑)に対応する所定の範囲の波長成分)を除いた分光成分(上述した第2の分光成分)を取得する画素である。具体的には、例えば、B(青)の分光成分、R(赤)の分光成分、および、IR(赤外)の分光成分を取得することができる画素である。なお、カラーフィルタ22において、通常、固体撮像素子23の対応する画素の前面にマゼンダ色を通過させる色フィルタを付けることで、固体撮像素子23において第2の分光成分を取得できる画素になる。
そして、Gで示される画素とは、G(緑)の分光成分を取得できる画素である。なお、カラーフィルタ22において、通常、固体撮像素子23の対応する画素の前面に緑色を通過させる色フィルタと赤外カットフィルタを付けることで、固体撮像素子23においてG(緑)の分光成分を取得することができる画素になる。
Rで示される画素とは、R(赤)の分光成分を取得できる画素である。なお、カラーフィルタ22において、通常、固体撮像素子23の対応する画素の前面に赤色を通過させる色フィルタと赤外カットフィルタを付けることで、固体撮像素子23においてR(赤)の分光成分を取得することができる画素になる。
そして、Bで示される画素とは、B(青)の分光成分を取得できる画素である。なお、カラーフィルタ22において、通常、固体撮像素子23の対応する画素の前面に青色を通過させる色フィルタと赤外カットフィルタを付けることで、固体撮像素子23においてB(青)の分光成分を取得することができる画素になる。
カラーフィルタ22は、図6に示されるように、例えば、Wで示されるある画素を基準、すなわち、図中、座標(0,0)として、座標(0,0)(2,0)(0,2)(2,2)にWで示される画素が配置され、座標(1,1)(1,3)(3,1)(3,3)にMで示される画素が配置され、座標(0,1)(0,3)(2,1)(2,3)にGで示される画素が配置され、座標(1,0)(3,2)にBで示される画素が配置され、座標(3,0)(1,2)にRで示される画素が配置されるような、最小単位が4×4のマトリクスとなるようなフィルタ配列を有している。
すなわち、カラーフィルタ22において、X軸方向を0度として、Gで示される画素に注目した場合、Gで示される画素は、0度方向、45度方向、90度方向、および、135度方向のいずれにおいても1画素おきに配置され、Gで示される画素に0度方向で隣接する画素は、いずれも、Mで示される画素であり、Gで示される画素に90度方向で隣接する画素は、いずれも、Wで示される画素であり、Gで示される画素に45度方向で隣接する画素は、いずれも、RまたはBで示される画素であり、Gで示される画素に135度方向で隣接する画素は、いずれも、45度方向で隣接している画素とは異なる、RまたはBのうちのいずれか一方の画素である。
このようなカラーフィルタ22および固体撮像素子23を用いて撮影された画像データに対して、カメラ信号処理部25により所定の処理が施され、最終的な出力画像を得ることが出来る。
なお、このカラーフィルタ22において、WとMのそれぞれの画素の配置が逆転しても、後述するデモザイク処理は同様にして実行可能であり、BとRのそれぞれの画素の配置が逆転しても、後述するデモザイク処理は同様にして実行可能である。
図6を用いて説明したカラーフィルタ22における5つの波長帯域について、図7を用いて説明する。
図7において、横軸は、波長を表している。図中(イ)は、B(青)の分光成分を示しており、図中(ロ)は、G(緑)の分光成分を示しており、図中(ハ)は、R(赤)の分光成分、または、R(赤)とIR(赤外)の合計の分光成分を示している。
そして、Wで示される第1の画素群が取得する波長成分(即ち、第1の分光成分)は、図中(イ)(ロ)(ハ)の波長成分の合計である。そして、Mで示される第2の画素群が取得できる波長成分(即ち、第2の分光成分)は、図中(イ)(ハ)の波長成分の合計である。
すなわち、Wで示される第1の画素群が取得した光信号から、Mで示される第2の画素群が取得した光信号を減算すると、色収差のない、図中(ロ)で示されるG(緑)の分光成分を得ることができる。この、色収差が除去されたG(緑)の分光成分の画素データをコントラスト成分として使用することで、色収差をキャンセルした、ピントの合ったコントラストの高い鮮明な画像を作成することができる。
以上説明したように、カメラ信号処理部25に入力されるデータは、固体撮像素子23から出力されたW、M、G、B、Rで示されるそれぞれ異なる分光成分に対応する画素群である。すなわち、カメラ信号処理部25に入力される画像データを構成する画素は、W、M、G、B、Rで示される画素群に分類可能であり、Wで示される画素群が配置されている画素の座標(X,Y)において、Xは偶数、Yは偶数であるとすると、Mで示される画素群が配置されている画素の座標(X,Yにおいて、Xは奇数、Yは奇数となり、Gで示される画素群が配置されている画素の座標(X,Y)において、Xは偶数、Yは奇数となり、Bで示される画素群が配置されている画素の座標(X,Y)において、Xは奇数、Yは偶数、かつ、X−Y−1は4の倍数となり、Rで示される画素群が配置されている画素の座標(X,Y)において、Xは奇数、Yは偶数、かつ、X−Y−3は4の倍数となる。
換言すれば、例えば、Wで示されるある画素の画素位置を基準点(0,0)としたとき、カメラ信号処理部25に入力されるデータのうち、XおよびYがいずれも偶数である画素はWに対応し、XおよびYがいずれも奇数である画素はMに対応し、Xが偶数でありYが奇数である画素はGに対応し、Xは奇数、Yは偶数、かつ、X−Y−1は4の倍数である画素はBに対応し、Xは奇数、Yは偶数、かつ、X−Y−3は4の倍数である画素はRに対応する。
そして、カメラ信号処理部25から出力される画像データは、全ての画素位置におけるR(赤)、G(緑)、B(青)の3つのコンポーネントから成るデータ、すなわち、デモザイク後の画像データである。
図8は、カメラ信号処理部25の更に詳細な構成を示すブロック図である。カメラ信号処理部25は、クリッピング処理部41、ガンマ補正部42、ホワイトバランス補正部43、および、デモザイク処理部44で構成されている。
クリッピング処理部41は、供給された画像データの各画素の画素値が、定義されている範囲内であるか否かを確認し、その画素値が定義された範囲の下限値未満の場合、画素値を下限値に補正(ノイズレベルにクリッピング)し、画素値が定義された範囲の上限値を超えている場合、画素値を上限値に補正(飽和レベルにクリッピング)する。
ガンマ補正部42は、入力されたモザイク画像の各画素のそれぞれの画素値に対して、ガンマ補正を実行する。
ホワイトバランス補正部43は、ホワイトバランス、すなわち、撮影時の光源による色味の違いを補正する。
デモザイク処理部44は、供給された所定のカラーフィルタ配列のモザイク画像を基に、カラーフィルタ配列のそれぞれの画素がRGBのいずれかの色成分を有していないとき、有していない色成分を補間する処理、すなわち、デモザイク処理を実行し、全画素がRGBそれぞれの画素値を有する画像データを生成する。
なお、ここでは、クリッピング処理部41、ガンマ補正部42、ホワイトバランス補正部43、デモザイク処理部44の順に配列され、この順に画像処理が実行されるものとして説明しているが、例えば、クリッピング処理部41、デモザイク処理部44、ガンマ補正部42、ホワイトバランス補正部43の順に配列され、この順に画像処理が実行されるものとしても良く、このような順番に画像処理が実行される場合であっても、以下に説明するデモザイク処理部44においては、同様のデモザイク処理が実行される。
デモザイク処理部44においては、画像を構成するそれぞれの画素を注目画素として着目し、それぞれの画素(座標(H,K)とする。H、Kは、ともに整数)におけるR、G、Bの値を求めなくてはいけないが、入力データの画素(H、K)には、W,M,G,R,Bうちのいずれか1つのデータしか存在しない。そこで、デモザイク処理部44は、座標(H,K)の画素の近傍の画素から画素値を推測する補間処理を行って、それぞれの画素におけるR,G,Bの値を求める。
どの方向に隣接している画素の画素値を用いて補間を行うか、すなわち、補間の方向によって、補間処理の結果得られる画素値が異なる場合がある。図9を用いて、具体的な例を用いて説明する。
例えば、図9に示されるように、所定の角度θの方向に白黒のグラデーション模様が入っているような画像において、注目画素101を近傍の画素を用いて補間することを考える。実際には、隣接した画素を用いて補間が行われるが、ここでは、補間に用いる画素の方向による補間結果の影響が極端に現れるように、少し離れた位置の画素を用いて補間処理を行う場合を想定して説明する。
実際には白または白に近い色の注目画素101に対して、注目画素近傍の画素であり、ほぼ同一の色を有する画素102および画素103、または、注目画素近傍の画素であるが、模様の角度θに対して90度の角度となるため、注目画素とは異なり暗い色を有する画素104および画素105のいずれかを用いて補間処理を行う場合について考える。ここで、画素104および画素105を用いて補間処理を行えば、画素101の画素値は、実際よりも暗い色となってしまう。一方、画素102および画素103を用いて補間処理を行えば、正しい結果を得ることが可能となる。
すなわち、補間処理は、注目画素近傍の模様(色や明度の変化を含む)に基づいて、適切な方向の近傍画素を用いて実行しなければならない。
そこで、デモザイク処理部44においては、注目画素近傍の模様の方向が、0度方向、45度方向、90度方向、135度方向のそれぞれである可能性、換言すれば、模様の方向がこの角度である確度(らしさ)に対応する数値を求める。その結果を、各画素位置においての0度方向の模様確度、45度方向の模様確度、90度方向の模様確度、135度方向の模様確度と称するものとする。模様確度の詳細については後述する。
そして、デモザイク処理部44は、0度方向の模様確度、45度方向の模様確度、90度方向の模様確度、135度方向の模様確度に基づいて、それぞれの角度における補間処理の適正度、すなわち、それぞれの角度の近傍画素値を用いた補間処理が適正である可能性を表す数値を求める。
ここでは、それぞれの角度における「模様確度」は、他の角度のことは考慮せずに、その角度が正しいかを判定する確からしさの指標として用いられるものとする。それに対して、それぞれの角度における補間処理の「適正度」は、他の角度のことも考慮して、その角度が正しいかを判定する確からしさの指標として用いられるものとする。
また、デモザイク処理部44は、G(緑)成分に関して、0度方向の近傍画素値を用いて補間した結果得られるG(緑)成分の補間画素値、45度方向の近傍画素値を用いて補間した結果得られるG(緑)成分の補間画素値、90度方向の近傍画素値を用いて補間した結果得られるG(緑)成分の補間画素値、および、135度方向の近傍画素値を用いて補間した結果得られるG(緑)成分の補間画素値を求め、それぞれの角度における補間の適正度で重み付けした重み加算を行うことにより、模様の方向を考慮したG(緑)成分のみの画像データを得ることができる。
そして、デモザイク処理部44は、模様の方向を考慮したG(緑)成分の画像データを基に、G(緑)とR(赤)の相関係数、G(緑)とB(青)の相関係数を求めて、R(赤)とB(青)の各画素の画素値を求める。これにより、各画素位置におけるR(赤)、G(緑)、B(青)の画素値が求まるので、デモザイク処理部44は、これを結果画像として出力する。
図10は、図8を用いて説明したカメラ信号処理部24のデモザイク処理部44の詳細な構成例を示すブロック図である。
デモザイク処理部44は、0度方向の模様分析処理部61、45度方向の模様分析処理部62、90度方向の模様分析処理部63、135度方向の模様分析処理部64、模様方向判定部65、0度方向補間G画像計算処理部71、45度方向補間G画像計算処理部72、90度方向補間G画像計算処理部73、135度方向補間G画像計算処理部74、G画像計算処理部75、R画像計算処理部81、および、B画像計算処理部82で構成されている。
0度方向の模様分析処理部61、45度方向の模様分析処理部62、90度方向の模様分析処理部63、および、135度方向の模様分析処理部64は、注目画素から所定範囲内の画素の画素値を基に、カラーフィルタ22のフィルタ配列に応じて、それぞれの方向における補間処理を行う。図6を用いて説明したフィルタ配列においては、X軸方向を0度として、0度方向においては、隣接するGとMとのいずれか一方に対して他方で補間処理を行い、45度方向においては、隣接するWとMとのいずれか一方に対して他方で補間処理を行い、90度方向においては、隣接するGとWとのいずれか一方に対して他方で補間処理を行い、135度方向においては、隣接するWとMとのいずれか一方に対して他方で補間処理を行う。このようにして、所定範囲内において、複数の画素において、もともと有していた色成分の画素値以外に、補間処理によって他の色成分の画素値を得て、それら2つの色成分の画素値の主成分分析を実行することにより、それぞれの角度における模様確度を求める。
具体的には、0度方向の模様分析処理部61は、注目画素から所定範囲内のG成分の画素値を有している画素に着目し、その画素にX軸に対して0度方向で隣接する2つのM成分の画素値を用いて補間処理を行い、このG成分の画素値とM成分の補間画素値の複数のペアの画素値の分散を求めて主成分分析する。ここで、第1主成分の寄与率が高ければ、0度方向の模様確度は高いと言うことができる。なお、0度方向の模様分析処理部61は、注目画素から所定範囲内のM成分の画素値を有している画素に着目し、その画素にX軸に対して0度方向で隣接する2つのG成分の画素値を用いて補間処理を行うことにより、主成分分析を行うようにしても、同様にして、0度方向の模様確度を求めることが可能である。
45度方向の模様分析処理部62は、注目画素から所定範囲内のW成分の画素値を有している画素に着目し、その画素にX軸に対して45度方向で隣接する2つのM成分の画素値を用いて補間処理を行い、このW成分の画素値とM成分の補間画素値の複数のペアの画素値の分散を求めて主成分分析する。ここで、第1主成分の寄与率が高ければ、45度方向の模様確度は高いと言うことができる。なお、45度方向の模様分析処理部62は、注目画素から所定範囲内のM成分の画素値を有している画素に着目し、その画素にX軸に対して45度方向で隣接する2つのW成分の画素値を用いて補間処理を行うことにより、主成分分析を行うようにしても、同様にして、45度方向の模様確度を求めることが可能である。
90度方向の模様分析処理部63は、注目画素から所定範囲内のG成分の画素値を有している画素に着目し、その画素にX軸に対して90度方向で隣接する2つのW成分の画素値を用いて補間処理を行い、このG成分の画素値とW成分の補間画素値の複数のペアの画素値の分散を求めて主成分分析する。ここで、第1主成分の寄与率が高ければ、90度方向の模様確度は高いと言うことができる。なお、90度方向の模様分析処理部63は、注目画素から所定範囲内のW成分の画素値を有している画素に着目し、その画素にX軸に対して90度方向で隣接する2つのG成分の画素値を用いて補間処理を行うことにより、主成分分析を行うようにしても、同様にして、90度方向の模様確度を求めることが可能である。
135度方向の模様分析処理部64は、注目画素から所定範囲内のW成分の画素値を有している画素に着目し、その画素にX軸に対して135度方向で隣接する2つのM成分の画素値を用いて補間処理を行い、このW成分の画素値とM成分の補間画素値の複数のペアの画素値の分散を求めて主成分分析する。ここで、第1主成分の寄与率が高ければ、135度方向の模様確度は高いと言うことができる。なお、135度方向の模様分析処理部64は、注目画素から所定範囲内のM成分の画素値を有している画素に着目し、その画素にX軸に対して135度方向で隣接する2つのW成分の画素値を用いて補間処理を行うことにより、主成分分析を行うようにしても、同様にして、135度方向の模様確度を求めることが可能である。
上述したように、それぞれの角度における「模様確度」は、他の角度のことは考慮せずに、その角度が模様の方向として正しいかを判定する確からしさの指標として用いられるものとする。それぞれの模様確度の算出の詳細な例については、図14乃至図21を用いて後述する。
模様方向判定部65は、0度方向の模様分析処理部61、45度方向の模様分析処理部62、90度方向の模様分析処理部63、および、135度方向の模様分析処理部64により求められた、それぞれの角度における模様確度を基に、0度方向補間の適正度、45度方向補間の適正度、90度方向補間の適正度、135度方向補間の適正度を求める。
ここでは、上述したように、それぞれの角度における補間処理の「適正度」は、他の角度のことも考慮して、その角度が正しいかを判定する確からしさの指標として用いられるものとする。それぞれの方向における補間の適正度の算出の詳細な例については、図22および図23のフローチャートを用いて後述する。
0度方向補間G画像計算処理部71は、G成分を有さない画素において、0度方向の補間処理を実行することにより、G(緑)成分のみの画像データを生成する。具体的には、0度方向保管G画像計算処理部71は、図6を用いて説明したカラーフィルタ配列が用いられた場合、RとBの画素には0度方向にWの画素が隣接し、GとMの画素はお互い0度方向に隣接していることからGとMの画素値の加算によりWの画素値を推定することができることを利用して、全ての画素のW成分を得る。そして、注目画素近傍の所定の範囲内の画素のうち、入力信号においてG成分を有している画素を抽出して、それら複数の画素のG成分とW成分との主成分分析を行うことにより、注目画素のG成分を求める。その処理の詳細な演算手順の例については、図24および図25を用いて後述する。
45度方向補間G画像計算処理部72は、G成分を有さない画素において、45度方向の補間処理を実行することにより、G(緑)成分のみの画像データを生成する。具体的には、45度方向補間G画像計算処理部72は、図6を用いて説明したカラーフィルタ配列が用いられた場合、RとBの画素は45度方向にGの画素が隣接し、WとMの画素はお互い45度方向に隣接していることからWの画素値からMの画素値を減算することによりGの画素値を推定することができることを利用して、全ての画素のG成分を得る。その処理の詳細な演算手順の例については、図26を用いて後述する。
90度方向補間G画像計算処理部73は、G成分を有さない画素において、90度方向の補間処理を実行することにより、G(緑)成分のみの画像データを生成する。具体的には、90度方向補間G画像計算処理部73は、図6を用いて説明したカラーフィルタ配列が用いられた場合、RとBの画素は90度方向にMの画素が隣接し、GとWの画素はお互い90度方向に隣接していることからWの画素値からGの画素値を減算することによりMの画素値を推定することができることを利用して、全ての画素のM成分を推定する。そして、注目画素近傍の所定の範囲内の画素のうち、入力信号においてG成分を有している画素を抽出して、それら複数の画素のG成分とM成分との主成分分析を行うことにより、注目画素のG成分を求める。その処理の詳細な演算手順の例については、図27および図28を用いて後述する。
135度方向補間G画像計算処理部74は、G成分を有さない画素において、135度方向の補間処理を実行することにより、G(緑)成分のみの画像データを生成する。具体的には、135度方向補間G画像計算処理部74は、図6を用いて説明したカラーフィルタ配列が用いられた場合、RとBの画素は135度方向にGの画素が隣接し、WとMの画素はお互い135度方向に隣接していることからWの画素値からMの画素値を減算することによりGの画素値を推定することができることを利用して、全ての画素のG成分を得る。その処理の詳細な演算手順の例については、図29を用いて後述する。
G画像計算処理部75は、0度方向補間G画像計算処理部71、45度方向補間G画像計算処理部72、90度方向補間G画像計算処理部73、135度方向補間G画像計算処理部74により求められた、それぞれの方向の補間処理により生成されたG成分の画像に対して、模様方向判定部65の処理により求められた、0度方向補間の適正度、45度方向補間の適正度、90度方向補間の適正度、135度方向補間の適正度を重み付けして加算することにより、模様の方向が考慮されたG成分の画像データを求める。
R画像計算処理部81は、撮像データに含まれるR成分の画素値と、G画像計算処理部75により求められたG成分の画像データとを基に、主成分分析を行って、R成分とG成分との相関を求め、これを基に、R成分の画像データを求める。その処理の詳細については、図30および図31を参照して後述する。
B画像計算処理部82は、撮像データに含まれるB成分の画素値と、G画像計算処理部75により求められたG成分の画像データとを基に、主成分分析を行って、B成分とG成分との相関を求め、これを基に、B成分の画像データを求める。その処理の詳細については、図32および図33を参照して後述する。
次に、図11のフローチャートを参照して、撮像装置11が実行する撮像処理について説明する。
ステップS1において、イメージセンサ、すなわち、カラーフィルタ22および固体撮像素子23は、レンズ21を介して入射された光を受光し、得られた光エネルギを画素ごとに光電変換により電気信号に変換して、画像データを取得し、A/D変換部24に供給する。得られた画像データのそれぞれの画素が有している色成分は、図6に示されるフィルタ配列によって決まる。カラーフィルタ22は、図6を用いて説明したフィルタ配列を有している。
ステップS2において、A/D変換部24は、供給されたアナログの画像データをデジタル信号の画像データに変換する、すなわち、AD変換を行う。
ステップS3において、カメラ信号処理部25は、クリッピング処理部41においてクリッピング処理、ガンマ補正部42においてガンマ補正、ホワイトバランス補正部43においてホワイトバランス補正を行う。
ステップS4において、カメラ信号処理部25は、図12および図13のフローチャートを用いて後述するデモザイク処理を実行する。
ステップS5において、カメラ信号処理部25は、処理された画像は表示されるか否かを判断する。ステップS5において、画像は表示されないと判断された場合、処理は、ステップS7に進む。
ステップS5において、画像は表示されると判断された場合、ステップS6において、カメラ信号処理部25は、処理済の画像データを表示部26に供給する。表示部26は、供給された画像データに対応する画像を表示する。
ステップS5において、画像は表示されないと判断された場合、または、ステップS6の処理の終了後、ステップS7において、カメラ信号処理部25は、処理された画像は外部出力されるか否かを判断する。ステップS7において、画像は外部出力されないと判断された場合、処理は、後述するステップS9に進む。
ステップS7において、画像は外部出力されると判断された場合、ステップS8において、カメラ信号処理部25は、処理済の画像データを画像圧縮部37に供給する。画像圧縮部37は、供給された画像データを必要に応じて圧縮し、外部出力部29に供給する。外部出力部29は、供給された画像データを外部出力する。
ステップS7において、画像は外部出力されないと判断された場合、または、ステップS8の処理の終了後、ステップS9において、カメラ信号処理部25は、処理された画像は記録されるか否かを判断する。ステップS9において、画像は記録されないと判断された場合、処理は終了される。
ステップS9において、画像は記録されると判断された場合、ステップS10において、カメラ信号処理部25は、処理済の画像データを画像圧縮部37に供給する。画像圧縮部37は、供給された画像データを必要に応じて圧縮し、記録部28に供給する。記録部28は、供給された画像データを、例えば、ハードディスク、もしくは、半導体メモリなどの記憶素子、または、所定のドライバに装着された着脱可能な記録媒体などに記録して、処理が終了される。
このような処理により、広い周波数帯域の光信号を取得する画素を含む画像データが撮像されて、デモザイク処理を含む各種処理が施され、必要に応じて、表示、外部出力、または、記録される。ステップS4の、図12および図13のフローチャートを用いて後述するデモザイク処理においては、色収差が発生しないようにして、コントラスト成分が抽出される。
次に、図12および図13のフローチャートを参照して、図11のステップS4において実行されるデモザイク処理について説明する。
ステップS41において、デモザイク処理部44は、それぞれの画素が、図6を用いて説明したフィルタ配列に基づいた、R,G,B,W,Mのいずれかの成分の画素値を有する画像データを取得する。
ステップS42において、図14のフローチャートを用いて後述する、0度方向の模様角度算出処理が実行される。
すなわち、ステップS42において、0度方向の模様分析処理部61は、出力画像中の注目画素において、0度方向に補間したデータに関する主成分分析を行い、0度方向の模様確度として、第1主成分の寄与率を求める。この寄与率が小さいということは、0度方向の模様ではない、すなわち、0度方向の隣接画素を用いた補間処理が適切ではない可能性が高いことを意味する。そして、この寄与率が大きいということは、90度方向に模様が変化しているかもしれないが、少なくとも、0度方向には模様が変化していない、すなわち、0度方向の隣接画素を用いた補間処理が適切である可能性が高いことを意味する。
ステップS43において、図16のフローチャートを用いて後述する、45度方向の模様角度算出処理が実行される。
すなわち、ステップS43において、45度方向の模様分析処理部62は、出力画像中の注目画素において、45度方向に補間したデータに関する主成分分析を行い、45度方向の模様確度として、第1主成分の寄与率を求める。この寄与率が小さいということは、45度方向の模様ではない、すなわち、45度方向の隣接画素を用いた補間処理が適切ではない可能性が高いことを意味する。そして、この寄与率が大きいということは、135度方向に模様が変化しているかもしれないが、少なくとも、45度方向には模様が変化していない、すなわち、45度方向の隣接画素を用いた補間処理が適切である可能性が高いことを意味する。
ステップS44において、図18のフローチャートを用いて後述する、90度方向の模様角度算出処理が実行される。
すなわち、ステップS44において、90度方向の模様分析処理部63は、出力画像中の注目画素において、90度方向に補間したデータに関する主成分分析を行い、90度方向の模様確度として、第1主成分の寄与率を求める。この寄与率が小さいということは、90度方向の模様ではない、すなわち、90度方向の隣接画素を用いた補間処理が適切ではない可能性が高いことを意味する。そして、この寄与率が大きいということは、0度方向に模様が変化しているかもしれないが、少なくとも、90度方向には模様が変化していない、すなわち、90度方向の隣接画素を用いた補間処理が適切である可能性が高いことを意味する。
ステップS45において、図20のフローチャートを用いて後述する、135度方向の模様角度算出処理が実行される。
すなわち、ステップS45において、135度方向の模様分析処理部64は、出力画像中の注目画素において、135度方向に補間したデータに関する主成分分析を行い、135度方向の模様確度として、第1主成分の寄与率を求める。この寄与率が小さいということは、135度方向の模様ではない、すなわち、135度方向の隣接画素を用いた補間処理が適切ではない可能性が高いことを意味する。そして、この寄与率が大きいということは、45度方向に模様が変化しているかもしれないが、少なくとも、135度方向には模様が変化していない、すなわち、135度方向の隣接画素を用いた補間処理が適切である可能性が高いことを意味する。
ステップS46において、図22および図23のフローチャートを用いて後述する、角度補間適正度算出処理が実行される。
すなわち、ステップS46において、模様方向判定部65は、ステップS42乃至ステップS45の処理によって求められた、4つの方向のそれぞれの模様確度に基づいて、注目画素に関して、0度方向補間の適正度、45度方向補間の適正度、90度方向補間の適正度、および、135度方向補間の適正度を、それぞれ、計算する。
ステップS47において、図24のフローチャートを用いて後述する、0度方向補間G成分画像生成処理が実行される。
すなわち、ステップS47において、0度方向補間G画像計算処理部71は、0度方向の補間処理を実行した結果得られるG(緑)成分の画像データを生成する。
ステップS48において、図26のフローチャートを用いて後述する、45度方向補間G成分画像生成処理が実行される。
すなわち、ステップS48において、45度方向補間G画像計算処理部72は、45度方向の補間処理を実行した結果得られるG(緑)成分の画像データを生成する。
ステップS49において、図27のフローチャートを用いて後述する、90度方向補間G成分画像生成処理が実行される。
すなわち、ステップS49において、90度方向補間G画像計算処理部73は、90度方向の補間処理を実行した結果得られるG(緑)成分の画像データを生成する。
ステップS50において、図29のフローチャートを用いて後述する、135度方向補間G成分画像生成処理が実行される。
すなわち、ステップS50において、135度方向補間G画像計算処理部74は、135度方向の補間処理を実行した結果得られるG(緑)成分の画像データを生成する。
ステップS51において、G画像計算処理部75は、ステップS47乃至ステップS50の処理により得られた、それぞれの方向に補間した結果得られた緑成分の画像を、ステップS46において得られた、それぞれの角度の補正適正度に基づいて、重み付け加算することにより、模様の方向を考慮したG(緑)成分の画像データを求める。
具体的には、G画像計算処理部75は、注目画素の座標を(H,K)として、その画素において、0度方向補間の適正度×0度方向補間G画像の画素値+45度方向補間の適正度×45度方向補間G画像の画素値+90度方向補間の適正度×90度方向補間G画像の画素値+135度方向補間の適正度×135度方向補間G画像の画素値を、模様の方向を考慮したG(緑)画像の座標(H,K)における画素値として算出する。そして、この演算が全画素において実行され、模様の方向を考慮したG(緑)成分の画像データが生成される。
ここで生成されたG(緑)成分の画像データは、従来のR・G・Bのそれぞれの色成分のうちのいずれかに対応する周波数帯域よりも広い周波数帯域の光を受光するWおよびMのデータを利用して生成されている。すなわち、ここで生成されたG(緑)成分の画像データは、従来のR・G・Bのそれぞれの色成分のみで生成された画像と比較して、暗い被写体であっても、良好な画像を得ることができる。また、WおよびMのデータを利用して、色収差のないGの成分が生成されているので、広い周波数帯域の光を用いているのにもかかわらず、色収差によるぼけが抑制されたG成分の画像データを得ることができる。
ステップS52において、図30のフローチャートを用いて後述する、R成分画素値算出処理が実行される。
すなわち、ステップ52において、R画像計算処理部81は、入力信号に含まれるR成分の画素値と、G画像計算処理部75により求められたG成分の画像データとを基に、主成分分析を行って、R成分とG成分との相関を求め、これを基に、R成分の画像データを求める。
ステップS53において、図32のフローチャートを用いて後述する、B成分画素値算出処理が実行される。
すなわち、ステップS53において、B画像計算処理部82は、入力信号に含まれるB成分の画素値と、G画像計算処理部75により求められたG成分の画像データとを基に、主成分分析を行って、B成分とG成分との相関を求め、これを基に、B成分の画像データを求める。
そして、ステップS54において、デモザイク処理部44は、G画像計算処理部75、R画像計算処理部81、および、B画像計算処理部82によりそれぞれ算出された、各画素におけるG・R・Bの画素値を、出力画像データとして出力し、処理は、図11のステップS4に戻り、ステップS5に進む。
このような処理により、デモザイク処理が実行され、RGBWMの5つの色成分により構成されたモザイク画像から、各画素にRGBの色成分が揃った画像データを得ることができる。
また、ここでは、RGBのそれぞれの色成分より周波数帯域の広い、すなわち、これらの色成分と比較して受光量が多い、WおよびMの画素値を用いて、色収差のないGの画像データを生成し、これを基にして、RおよびBの画像データを生成しているので、例えば、被写体が暗い場合などにおいても、良好な画像を得ることができる。
また、画像中の模様の方向を考慮した補間処理を実行しているため、模様の方向を全く考慮することなく、全方向の近傍画素の画素値を用いて補間処理を行う場合と比較して、より良好な画像を得ることができる。
次に、図14のフローチャートを参照して、図12のステップS42において実行される、0度方向の模様確度算出処理について説明する。
ステップS81において、0度方向の模様分析処理部61は、未処理の注目画素を1つ選択する。ここで、例えば、注目画素の画素位置を座標(H,K)とする。
ステップS82において、0度方向の模様分析処理部61は、注目画素から所定の範囲内に存在するGの画素を検出する。
例えば、図6を用いて説明したフィルタ配列において、X座標が偶数、かつ、Y座標が奇数となる複数の座標(X,Y)には、Gで示される画素がある。0度方向の模様分析処理部61は、このような座標で示されるGの画素を検出する。また、ここで、所定の範囲とは、主成分分析のためのサンプル数や、注目画素と離れることによる相関性の強さなどの条件を基に経験的または実験的に定められる範囲である。所定の範囲とは、例えば、注目画素の画素位置を座標(H,K)とした場合に、H−4≦X≦H+4、かつ、K+4≦Y≦K+4となる座標(X、Y)で示される9×9画素の範囲などであっても良く、これ以外の大きさであっても、また、注目画素を中心として、画素間の距離が近い画素から選択される所定数の画素の範囲であっても良い。
ステップS83において、0度方向の模様分析処理部61は、検出された全てのGの画素(X,Y)に対して、0度方向に隣接するMで補間する。
すなわち、ステップS82において検出された座標(X,Y)のGの画素においては、図15に示されるように、0度方向に隣接して、座標(X−1,Y)および座標(X+1,Y)で示されるMの画素が配置されている。そこで、これら2つの点のMの値の平均値を求めることにより、座標(X,Y)における0度方向に補間されたMの補間画素値を求めることができる。すなわち、0度方向の模様分析処理部61は、式(1)により、Xが偶数、かつ、Yが奇数となる座標(X,Y)における0度方向に補間されたMの値を求めることができる。
Xが偶数、かつ、Yが奇数となる座標(X,Y)で0度方向に補間されたMの値
={(座標(X−1,Y)のMの値)+(座標(X+1,Y)のMの値)}÷2
・・・(1)
ステップS84において、0度方向の模様分析処理部61は、ステップS82において所定範囲内において検出されたGに対応する画素位置における、それぞれのGの画素値と、ステップS83において求められたMの補間画素値とを、GとMの2次元空間にプロットし、主成分分析を行う。
すなわち、所定範囲内において、X座標が偶数、かつ、Y座標が奇数となる座標(X,Y)の位置の入力画像には、Gの画素値が存在し、ステップS83において、対応する位置のMの0度方向の補間画素値が求められた。これを用いて、所定範囲内において、X座標が偶数、かつ、Y座標が奇数となる複数の座標(X,Y)において、Gの値とMの値のペアが成立する。したがって、0度方向の模様分析処理部61は、この複数のペアを、GとMの2次元空間にプロットすることにより、主成分分析を行うことができる。
ステップS85において、0度方向の模様分析処理部61は、ステップS84における主成分分析における第1主成分の寄与率を求め、0度方向の模様確度とする。
第1主成分の寄与率は、(第1主成分の分散値)/(各変量の分散の和)で求められるが、これは(第1主成分の分散値)/(試料全体の散らばり量)と同義である。すなわち、0度方向に模様が変化しない部分では、0度方向に補間することで正しく補間されて、GとMの2次元空間にプロットされたペアは、1つの直線上に乗るはずである。換言すれば、0度方向に模様が変化しない場合、主成分分析の結果、第1主成分以外の寄与率は、略0となる。したがって、第1主成分の寄与率は、注目画素における0度方向の模様確度と同義である。主成分分析した結果、第1主成分の寄与率が小さければ、0度方向に模様が変化しているため、0度方向の補間により正しい補間画像を得ることができないと推定することができる。
なお、ここでは、例えば、H−4≦X≦H+4、かつ、K+4≦Y≦K+4などで示される局所領域においては、GとMの値には、相関があると仮定する。また、模様の変化する位置では色相は変化しないのが一般的である。つまり、Gの値とMの値とは比例関係(比例係数は正)になるのが一般的である。従って、第1主成分を求める際に、原点を通るという条件付きで求めても良いし、あるいは、第1主成分の方向が負の傾きを持つ場合には、0度方向の模様確度の値を所定の割合で減少させるようにしても良い。
ステップS86において、0度方向の模様分析処理部61は、全画素分の0度方向の模様確度を算出したか否かを判断する。ステップS86において、全画素分の0度方向の模様確度が算出されていないと判断された場合、処理は、ステップS81に戻り、それ以降の処理が繰り替えさえる。ステップS86において、全画素分の0度方向の模様確度が算出されたと判断された場合、処理は、図12のステップS42に戻り、ステップS43に進む。
このような処理により、入力画像データのうち、Gの色成分を持つ画素の画素値と、Mの色成分を持つ画素の画素値とを用いて、注目画素近傍の模様の方向が0度方向である可能性、換言すれば、模様の方向が0度である確度(らしさ)を求めることができる。
次に、図16のフローチャートを参照して、図12のステップS43において実行される、45度方向の模様確度算出処理について説明する。
ステップS111において、45度方向の模様分析処理部62は、未処理の注目画素を1つ選択する。ここで、例えば、注目画素の画素位置を座標(H,K)とする。
ステップS112において、45度方向の模様分析処理部62は、注目画素から所定の範囲内に存在するWの画素を検出する。
例えば、図6を用いて説明したフィルタ配列において、Xが偶数、かつ、Yが偶数となる複数の座標(X,Y)には、Wで示される画素がある。45度方向の模様分析処理部62は、このような座標で示されるWの画素を検出する。
ステップS113において、45度方向の模様分析処理部62は、検出された全てのWの画素(X,Y)に対して、45度方向に隣接するMで補間する。
すなわち、ステップS112において検出された座標(X,Y)のWの画素においては、図17に示されるように、45度方向に隣接して、座標(X−1,Y−1)および座標(X+1,Y+1)で示されるMの画素が配置されている。そこで、これら2つの点のMの値の平均値を求めることにより、座標(X,Y)における45度方向で補間したMの補間画素値を求めることができる。すなわち、45度方向の模様分析処理部62は、式(2)により、Xが偶数、かつ、Yが偶数となる複数の座標(X,Y)における45度方向で補間したMの値を求めることができる。
Xが偶数、かつ、Yが偶数となる座標(X,Y)の45度方向で補間したMの値
={(座標(X−1,Y−1)のMの値)+(座標(X+1,Y+1)のMの値)}÷2
・・・(2)
ステップS114において、45度方向の模様分析処理部62は、ステップS112において所定範囲内において検出されたWに対応する画素位置における、それぞれのWの画素値と、ステップS113において求められたMの補間画素値とを、WとMの2次元空間にプロットし、主成分分析を行う。
すなわち、所定範囲内において、X座標が偶数、かつ、Y座標が偶数となる座標(X,Y)の位置の入力画像には、Wの画素値が存在し、ステップS113において、対応する位置のMの45度方向の補間画素値が求められた。これを用いて、所定範囲内において、X座標が偶数、かつ、Y座標が偶数となる複数の座標(X,Y)において、Wの値とMの値のペアが成立する。したがって、45度方向の模様分析処理部62は、この複数のペアを、WとMの2次元空間にプロットすることにより、主成分分析を行うことができる。
ステップS115において、45度方向の模様分析処理部62は、ステップS114における主成分分析における第1主成分の寄与率を求め、45度方向の模様確度とする。
第1主成分の寄与率は、(第1主成分の分散値)/(各変量の分散の和)で求められるが、これは(第1主成分の分散値)/(試料全体の散らばり量)と同義である。すなわち、45度方向に模様が変化しない部分では、45度方向に補間することで正しく補間されて、WとMの2次元空間にプロットされたペアは、1つの直線上に乗るはずである。換言すれば、45度方向に模様が変化しない場合、主成分分析の結果、第1主成分以外の寄与率は、略0となる。したがって、第1主成分の寄与率は、注目画素における45度方向の模様確度と同義である。主成分分析した結果、第1主成分の寄与率が小さければ、45度方向に模様が変化しているため、45度方向の補間により正しい補間画像を得ることができないと推定することができる。
なお、ここでは、例えば、H−4≦X≦H+4、かつ、K+4≦Y≦K+4などで示される局所領域においては、WとMの値には、相関があると仮定する。また、模様の変化する位置では色相は変化しないのが一般的である。つまり、Wの値とMの値とは比例関係(比例係数は正)になるのが一般的である。従って、第1主成分を求める際に、原点を通るという条件付きで求めても良いし、あるいは、第1主成分の方向が負の傾きを持つ場合には、45度方向の模様確度の値を所定の割合で減少させるようにしても良い。
ステップS116において、45度方向の模様分析処理部62は、全画素分の45度方向の模様確度を算出したか否かを判断する。ステップS116において、全画素分の45度方向の模様確度が算出されていないと判断された場合、処理は、ステップS111に戻り、それ以降の処理が繰り替えさえる。ステップS116において、全画素分の45度方向の模様確度が算出されたと判断された場合、処理は、図12のステップS43に戻り、ステップS44に進む。
このような処理により、入力画像データのうち、Wの色成分を持つ画素の画素値と、Mの色成分を持つ画素の画素値とを用いて、注目画素近傍の模様の方向が45度方向である可能性、換言すれば、模様の方向が45度である確度(らしさ)を求めることができる。
次に、図18のフローチャートを参照して、図12のステップS44において実行される、90度方向の模様確度算出処理について説明する。
ステップS141において、90度方向の模様分析処理部63は、未処理の注目画素を1つ選択する。ここで、例えば、注目画素の画素位置を座標(H,K)とする。
ステップS142において、90度方向の模様分析処理部63は、注目画素から所定の範囲内に存在するGの画素を検出する。
上述したように、図6を用いて説明したフィルタ配列において、X座標が偶数、かつ、Y座標が奇数となる複数の座標(X,Y)には、Gで示される画素がある。90度方向の模様分析処理部63は、このような座標で示されるGの画素を検出する。
ステップS143において、90度方向の模様分析処理部63は、検出された全てのGの画素(X,Y)に対して、90度方向に隣接するWで補間する。
すなわち、ステップS142において検出された座標(X,Y)のGの画素においては、図19に示されるように、90度方向に隣接して、座標(X,Y+1)および座標(X,Y−1)で示されるWの画素が配置されている。そこで、これら2つの点のWの値の平均値を求めることにより、座標(X,Y)の90度方向に補間されたWの補間画素値を求めることができる。すなわち、90度方向の模様分析処理部63は、式(3)により、Xが偶数、かつ、Yが奇数となる座標(X,Y)の90度方向に補間されたWの値を求めることができる。
Xが偶数、Yが奇数となる座標(X,Y)の90度方向に補間されたWの値
={(座標(X,Y+1)のWの値)+(座標(X,Y−1)のWの値)}÷2
・・・(3)
ステップS144において、90度方向の模様分析処理部63は、ステップS142において所定範囲内において検出されたGに対応する画素位置における、それぞれのGの画素値と、ステップS143において求められたWの補間画素値とを、GとWの2次元空間にプロットし、主成分分析を行う。
すなわち、所定範囲内において、X座標が偶数、かつ、Y座標が奇数となる座標(X,Y)の位置の入力画像には、Gの画素値が存在し、ステップS143において、対応する位置のWの90度方向の補間画素値が求められた。これを用いて、所定範囲内において、X座標が偶数、かつ、Y座標が奇数となる複数の座標(X,Y)において、Gの値とWの値のペアが成立する。したがって、90度方向の模様分析処理部63は、この複数のペアを、GとWの2次元空間にプロットすることにより、主成分分析を行うことができる。
ステップS145において、90度方向の模様分析処理部63は、ステップS144における主成分分析における第1主成分の寄与率を求め、90度方向の模様確度とする。
第1主成分の寄与率は、(第1主成分の分散値)/(各変量の分散の和)で求められるが、これは(第1主成分の分散値)/(試料全体の散らばり量)と同義である。すなわち、90度方向に模様が変化しない部分では、90度方向に補間することで正しく補間されて、GとWの2次元空間にプロットされたペアは、1つの直線上に乗るはずである。換言すれば、90度方向に模様が変化しない場合、主成分分析の結果、第1主成分以外の寄与率は、略0となる。したがって、第1主成分の寄与率は、注目画素における90度方向の模様確度と同義である。主成分分析した結果、第1主成分の寄与率が小さければ、90度方向に模様が変化しているため、90度方向の補間により正しい補間画像を得ることができないと推定することができる。
なお、ここでは、例えば、H−4≦X≦H+4、かつ、K+4≦Y≦K+4などで示される局所領域においては、GとWの値には、相関があると仮定する。また、模様の変化する位置では色相は変化しないのが一般的である。つまり、Gの値とWの値とは比例関係(比例係数は正)になるのが一般的である。従って、第1主成分を求める際に、原点を通るという条件付きで求めても良いし、あるいは、第1主成分の方向が負の傾きを持つ場合には、90度方向の模様確度の値を所定の割合で減少させるようにしても良い。
ステップS146において、90度方向の模様分析処理部63は、全画素分の90度方向の模様確度を算出したか否かを判断する。ステップS146において、全画素分の90度方向の模様確度が算出されていないと判断された場合、処理は、ステップS141に戻り、それ以降の処理が繰り替えさえる。ステップS146において、全画素分の90度方向の模様確度が算出されたと判断された場合、処理は、図12のステップS44に戻り、ステップS45に進む。
このような処理により、入力画像データのうち、Gの色成分を持つ画素の画素値と、Wの色成分を持つ画素の画素値とを用いて、注目画素近傍の模様の方向が90度方向である可能性、換言すれば、模様の方向が90度である確度(らしさ)を求めることができる。
次に、図20のフローチャートを参照して、図12のステップS45において実行される、135度方向の模様確度算出処理について説明する。
ステップS171において、135度方向の模様分析処理部64は、未処理の注目画素を1つ選択する。ここで、例えば、注目画素の画素位置を座標(H,K)とする。
ステップS172において、135度方向の模様分析処理部64は、注目画素から所定の範囲内に存在するWの画素を検出する。
例えば、図6を用いて説明したフィルタ配列において、X座標が偶数、かつ、Y座標が偶数となる複数の座標(X,Y)には、Wで示される画素がある。135度方向の模様分析処理部64は、このような座標で示されるWの画素を検出する。
ステップS173において、135度方向の模様分析処理部64は、検出された全てのWの画素(X,Y)に対して、135度方向に隣接するMで補間する。
すなわち、ステップS172において検出された座標(X,Y)のWの画素においては、図21に示されるように、135度方向に隣接して、座標(X−1,Y+1)および座標(X+1,Y−1)で示されるMの画素が配置されている。そこで、これら2つの点のMの値の平均値を求めることにより、座標(X,Y)の135度方向に補間されたMの補間画素値を求めることができる。すなわち、135度方向の模様分析処理部64は、式(4)により、Xが偶数、かつ、Yが偶数となる座標(X,Y)における135度方向に補間されたMの値を求めることができる。
Xが偶数、Yが偶数となる座標(X,Y)で135度方向に補間されたMの値
={(座標(X−1,Y+1)のMの値)+(座標(X+1,Y−1)のMの値)}÷2
・・・(4)
ステップS174において、135度方向の模様分析処理部64は、ステップS172において所定範囲内において検出されたWに対応する画素位置における、それぞれのWの画素値と、ステップS173において求められたMの補間画素値とを、WとMの2次元空間にプロットし、主成分分析を行う。
すなわち、所定範囲内において、X座標が偶数、かつ、Y座標が偶数となる座標(X,Y)の位置の入力画像には、Wの画素値が存在し、ステップS173において、対応する位置のMの135度方向の補間画素値が求められた。これを用いて、所定範囲内において、X座標が偶数、かつ、Y座標が偶数となる複数の座標(X,Y)において、Wの値とMの値のペアが成立する。したがって、135度方向の模様分析処理部64は、この複数のペアを、WとMの2次元空間にプロットすることにより、主成分分析を行うことができる。
ステップS175において、135度方向の模様分析処理部64は、ステップS174における主成分分析における第1主成分の寄与率を求め、135度方向の模様確度とする。
第1主成分の寄与率は、(第1主成分の分散値)/(各変量の分散の和)で求められるが、これは(第1主成分の分散値)/(試料全体の散らばり量)と同義である。すなわち、135度方向に模様が変化しない部分では、135度方向に補間することで正しく補間されて、WとMの2次元空間にプロットされたペアは、1つの直線上に乗るはずである。換言すれば、135度方向に模様が変化しない場合、主成分分析の結果、第1主成分以外の寄与率は、略0となる。したがって、第1主成分の寄与率は、注目画素における135度方向の模様確度と同義である。主成分分析した結果、第1主成分の寄与率が小さければ、135度方向に模様が変化しているため、135度方向の補間により正しい補間画像を得ることができないと推定することができる。
なお、ここでは、例えば、H−4≦X≦H+4、かつ、K+4≦Y≦K+4などで示される局所領域においては、WとMの値には、相関があると仮定する。また、模様の変化する位置では色相は変化しないのが一般的である。つまり、Wの値とMの値とは比例関係(比例係数は正)になるのが一般的である。従って、第1主成分を求める際に、原点を通るという条件付きで求めても良いし、あるいは、第1主成分の方向が負の傾きを持つ場合には、135度方向の模様確度の値を所定の割合で減少させるようにしても良い。
ステップS176において、135度方向の模様分析処理部64は、全画素分の135度方向の模様確度を算出したか否かを判断する。ステップS176において、全画素分の135度方向の模様確度が算出されていないと判断された場合、処理は、ステップS171に戻り、それ以降の処理が繰り替えさえる。ステップS176において、全画素分の135度方向の模様確度が算出されたと判断された場合、処理は、図12のステップS45に戻り、ステップS46に進む。
このような処理により、入力画像データのうち、Wの色成分を持つ画素の画素値と、Mの色成分を持つ画素の画素値とを用いて、注目画素近傍の模様の方向が135度方向である可能性、換言すれば、模様の方向が135度である確度(らしさ)を求めることができる。
次に、図22および図23のフローチャートを参照して、図12のステップS46において実行される、角度補間適正度算出処理について説明する。
ここで、図14乃至図21を用いて説明した、それぞれの角度における模様確度は、他の角度のことは考えずに、模様の角度としてその角度が正しいかを判定する指標として用いられている。それに対して、適正度という言葉は、他の角度のことも考慮して、模様の角度としてその角度が正しいかを判定する指標として用いられている。
ステップS201において、模様方向判定部65は、未処理の注目画素を1つ選択する。
ステップS202において、模様方向判定部65は、注目画素の0度方向の模様確度と90度方向の模様確度を基に、0度と90度のうちの0度方向に模様がある確度P0を求める。具体的には、模様方向判定部65は、0度と90度のうちの0度方向に模様がある確度P0=(0度方向の模様確度)÷{(0度方向の模様確度)+(90度方向の模様確度)}を求める。
ステップS203において、模様方向判定部65は、注目画素の0度方向の模様確度と90度方向の模様確度を基に、0度と90度のうちの90度方向に模様がある確度P90を求める。具体的には、模様方向判定部65は、0度と90度のうちの90度方向に模様がある確度=(90度方向の模様確度)÷{(0度方向の模様確度)+(90度方向の模様確度)}を求める。
ステップS204において、模様方向判定部65は、注目画素の45度方向の模様確度と135度方向の模様確度を基に、45度と135度のうちの45度方向に模様がある確度P45を求める。具体的には、模様方向判定部65は、45度と135度のうちの45度方向に模様がある確度P45=(45度方向の模様確度)÷{(45度方向の模様確度)+(135度方向の模様確度)}を求める。
ステップS205において、模様方向判定部65は、注目画素の45度方向の模様確度と135度方向の模様確度を基に、45度と135度のうちの135度方向に模様がある確度P135を求める。具体的には、模様方向判定部65は、45度と135度のうちの135度方向に模様がある確度P135=(135度方向の模様確度)÷{(45度方向の模様確度)+(135度方向の模様確度)}を求める。
なお、ステップS202およびステップS203において求められた確度P0および確度P90は、45度方向の模様確度および135度方向の模様確度を考慮しない値であり、ステップS204およびステップS205において求められた確度P45および確度P135は、0度方向の模様確度および90度方向の模様確度を考慮しない値である。
ステップS206において、模様方向判定部65は、得られた確度P0と確度P90を用いて、模様が0度または90度のいずれかの方向である確度Q090を求める。具体的には、模様方向判定部65は、模様が0度または90度のいずれかの方向である確度Q090を、(P0−P90の絶対値)÷{(P0−P90の絶対値)+(P45−P135の絶対値)}として算出する。
ステップS207において、模様方向判定部65は、得られた確度P45と確度P135を用いて、模様が45度または135度のいずれかの方向である確度Q45135を求める。具体的には、模様方向判定部65は、模様が45度または135度のいずれかの方向である確度Q45135を、(P45−P135の絶対値)÷{(P0−P90の絶対値)+(P45−P135の絶対値)}として算出する。
ステップS208において、模様方向判定部65は、得られた確度P0と確度Q090とを基に、0度補間の適正度を算出する。具体的には、模様方向判定部65は、0度方向補間の適正度=P0×Q090を求める。
ステップS209において、模様方向判定部65は、得られた確度P90と確度Q090とを基に、90度補間の適正度を算出する。具体的には、模様方向判定部65は、90度方向補間の適正度=P90×Q090を求める。
ステップS210において、模様方向判定部65は、得られた確度P45と確度Q45135とを基に、45度補間の適正度を算出する。具体的には、模様方向判定部65は、45度方向補間の適正度=P45×Q45135を求める。
ステップS211において、模様方向判定部65は、得られた確度P135と確度Q45135とを基に、135度補間の適正度を算出する。具体的には、模様方向判定部65は、135度方向補間の適正度=P135×Q45135を求める。
ステップS212において、模様方向判定部65は、全ての画素における処理が終了したか否かを判断する。ステップS212において、全ての画素における処理が終了していないと判断された場合、処理は、ステップS201に戻り、それ以降の処理が繰り返される。ステップS212において、全ての画素における処理が終了していないと判断された場合、処理は、図12のステップS46に戻り、ステップS47に進む。
このような処理により、まず、0度方向の模様確度と90度方向の模様確度の2つから、0度方向補間の適正度と90度方向補間の適正度の比が求められ、45度方向の模様確度と135度方向の模様確度の2つから、45度方向補間の適正度と135度方向補間の適正度の比が求められる。これにより、直交する2つの方向に対して、どちらが、どれだけ正しいと考えられるかが推定される。
そして、次に、0度方向補間の適正度と90度方向補間の適正度の合計と、45度方向補間の適正度と135度方向補間の適正度の合計との比が求められる。そして、最終的に、0度方向補間の適正度、45度方向補間の適正度、90度方向補間の適正度、および、135度方向補間の適正度が求められる。
45度だけずれた方向の違いを判定するのは難しいが、90度ずれた方向の違いを判定するのは比較的容易である。すなわち、「0度方向補間の適正度と45度方向補間の適正度の比」から、0度方向の補間の適正度と45度方向の補間の適正度とをそれぞれ求める事は、方向が45度という僅かな違いなので、困難であるが、それに対して、「0度方向補間の適正度と90度方向補間の適正度の比」から、0度方向の補間の適正度と90度方向の補間の適正度とをそれぞれ求める事は、それぞれの角度が大きく異なるため、容易である。したがって、このような手順により、複雑な演算処理を行うことなく、それぞれの角度の補間の適正度を求めることが可能となる。
具体的な例として、0度方向の模様がある場合、それぞれの角度に対して、どのような適正度が求められるかについて説明する。
まず、0度方向の模様であるため、「0度方向の模様確度」は大きく、そして、それと直交する「90度方向の模様確度」は小さい。そのため、ステップS201およびステップS202において求められる確度P0および確度P90は、P0≒1、P90≒0となる。また、45度方向と、135度方向に関しては、それぞれ、実際の模様の方向に対して、同じ角度(45度)だけずれているので、「45度方向の模様確度」≒「135度方向の模様確度」となる。そのため、ステップS204およびステップS205において求められる確度P45および確度P135は、P45≒P135となる。
したがって、ステップS206において、確度Q090≒1÷(1+0)≒1が求められ、ステップS207において、確度Q45135≒0÷(1+0)≒0が求められる。そして、ステップS208において、「0度方向補間の適正度」≒1×1≒1、ステップS209において、「90度方向補間の適正度」≒0が求められる。また、ステップS210において、「45度方向補間の適正度」≒0、ステップS211において、「135度方向補間の適正度」≒0が求められる。したがって、0度方向の補間によりデモザイク処理が行われて、良好な画像を得ることができる。
また、例えば、模様のない被写体を投影した部分については、0度方向の模様確度、45度方向の模様確度、90度方向の模様確度、135度方向の模様確度のすべての値が、同程度に大きいので、結果として、0度方向補間の適正度≒0.25、45度方向補間の適正度≒0.25、90度方向補間の適正度≒0.25、135度方向補間の適正度≒0.25となり、全ての方向について、同程度の重みで補間処理が実行される。
次に、図24のフローチャートを参照して、図13のステップS47において実行される、0度方向補間G成分画像生成処理について説明する。
図6を用いて説明したカラーフィルタ22のフィルタ配列においては、Y軸の値が奇数であるラインには、入力画像中に一つおきにGの値が存在しているので、Mで示される画素においては、0度方向の補間により、Gの補間画素値を算出することが出来る。しかしながら、Y軸の値が偶数であるラインは、入力画像中にGの値が存在しないので、0度方向の補間によりGの補間画素値を直接計算することが出来ない。そこで、まず、0度方向の補間により、全ての画素におけるWの画像を計算し、その後、GとWの相関により、全画素におけるGを計算するものとする。
まず、ステップS241において、0度方向補間G画像計算処理部71は、Wの値の抽出または補間処理が未処理の注目画素を1つ選択する。
ステップS242において、0度方向補間G画像計算処理部71は、注目画素は、Wの画素値を有する画素であるか否かを判断する。Xは偶数、かつ、Yは偶数となる座標(X,Y)には、もともとWで示される画素がある。ステップS242において、注目画素は、Wの画素値を有する画素であると判断された場合、この値を、座標(X,Y)におけるWの値とすれば良いので、処理は、後述するステップS251に進む。
ステップS242において、注目画素は、Wの画素値を有する画素ではないと判断された場合、ステップS243において、0度方向補間G画像計算処理部71は、注目画素に対して0度方向に隣接する画素として、Wの画素が存在するか否かを判断する。Xは奇数、かつ、Yは偶数となる座標(X,Y)の画素に対して、0度方向に隣接する座標(X−1,Y)および座標(X+1,Y)の画素は、Wの画素値を有している。ステップS243において、注目画素に対して0度方向にWの画素が存在しないと判断された場合、処理は、後述するステップS245に進む。
ステップS243において、注目画素に対して0度方向にWの画素が存在すると判断された場合、ステップS244において、0度方向補間G画像計算処理部71は、0度方向に隣接しているWの画素値を基に、Wの補間値を得る。すなわち、0度方向補間G画像計算処理部71は、座標(X−1,Y)における画素値と座標(X+1,Y)における画素値との平均を、座標(X,Y)におけるWの補間画素値とし、処理は、後述するステップS251に進む。
ステップS243において、注目画素に対して0度方向にWの画素が存在しないと判断された場合、ステップS245において、0度方向補間G画像計算処理部71は、注目画素は、Gの画素値を有する画素であるか否かを判断する。ステップS245において、注目画素は、Gの画素値を有する画素ではないと判断された場合、処理は、後述するステップS248に進む。
ステップS245において、注目画素は、Gの画素値を有する画素であると判断された場合、ステップS246において、0度方向補間G画像計算処理部71は、0度方向に隣接するMの画素値を基に、注目画素のMの補間値を得る。すなわち、Xは偶数、かつ、Yは奇数となる座標(X,Y)には、Gで示される画素がある。そして、その画素に対して、0度方向に隣接する画素、すなわち、座標(X−1,Y)および座標(X+1,Y)の位置にはMで示される画素があるので、これら2点の平均値を、座標(X,Y)におけるMの補間画素値とすることができる。
ステップS247において、0度方向補間G画像計算処理部71は、Wの画素値=Gの画素値+Mの画素値であることに基づいて、注目画素のGの画素値とMの補間値とを加算して、Wの画素値を求め、処理は、後述するステップS251に進む。
ステップS245において、注目画素は、Gの画素値を有する画素ではないと判断された場合、ステップS248において、0度方向補間G画像計算処理部71は、注目画素は、Mの画素値を有する画素であるか否かを判断する。ステップS248において、注目画素は、Mの画素値を有する画素ではないと判断された場合、処理は、後述するステップS251に進む。
ステップS248において、注目画素は、Mの画素値を有する画素であると判断された場合、ステップS249において、0度方向補間G画像計算処理部71は、注目画素に対して0度方向に隣接する画素が有するGの画素値を基に、注目画素におけるGの補間値を得る。すなわち、Xは奇数、かつ、Yは奇数となる座標(X,Y)には、Mで示される画素がある。そして、その画素に対して0度方向に隣接する画素、すなわち、座標(X−1,Y)および座標(X+1,Y)の位置にはGで示される画素があるので、これら2点の平均値を、座標(X,Y)におけるGの補間画素値とすることができる。
ステップS250において、0度方向補間G画像計算処理部71は、Wの画素値=Gの画素値+Mの画素値であることに基づいて、注目画素のMの画素値とGの補間値とを加算して、Wの画素値を求め、処理は、後述するステップS251に進む。
ステップS242において、注目画素は、Wの画素値を有する画素であると判断された場合、ステップS244、もしくは、ステップS247の処理の終了後、ステップS248において、注目画素は、Mの画素値を有する画素ではないと判断された場合、または、ステップS250の処理の終了後、ステップS251において、0度方向補間G画像計算処理部71は、全ての画素においてWの値が得られたか否かを判断する。ステップS251において、全ての画素においてWの値が得られていないと判断された場合、処理は、ステップS241に戻り、それ以降の処理が繰り返される。
ステップS251において、全ての画素においてWの値が得られたと判断された場合、ステップS252において、0度方向補間G画像計算処理部71は、Gの値の決定処理が未処理の注目画素を1つ選択する。
ステップS253において、0度方向補間G画像計算処理部71は、注目画素から所定の範囲内に存在するGの画素を検出する。ここで、所定の範囲とは、主成分分析のためのサンプル数や、注目画素と離れることによる相関性の強さなどの条件を基に経験的または実験的に定められる範囲である。所定の範囲とは、例えば、注目画素の画素位置を座標(H,K)とした場合に、H−4≦X≦H+4、かつ、K+4≦Y≦K+4となる座標(X、Y)で示される9×9画素の範囲などであっても良く、これ以外の大きさであっても、また、注目画素を中心として、画素間の距離が近い画素から選択される所定数の画素の範囲であっても良い。
また、ここでいう所定の範囲、および、後述する90度方向補間G成分画像生成処理における所定の範囲は、上述した、0度、45度、90度、または、135度のそれぞれの方向の模様確度算出処理において用いた所定の範囲と同一であっても、異なるものであっても良い。
ステップS254において、0度方向補間G画像計算処理部71は、ステップS253において検出されたそれぞれの画素のGの画素値と、その画素位置において求められたWの値とを、GとWの2次元空間にプロットし、主成分分析を行う。
すなわち、上述した処理により、全ての画素位置におけるWの値が求められているので、当然、検出されたGの画素の画素位置においても、Wの画素値が求められている。したがって、所定の範囲を、注目画素の座標(H,K)に対して、例えば、H−4≦X≦H+4、かつ、K+4≦Y≦K+4としたとき、Xは偶数、かつ、Yは奇数となる座標(X,Y)で示されるGの画素は所定の範囲内に複数含まれるので、Wの値とGの値とのペアを複数作ることが出来る。この複数のペアを、WとGの2次元空間にプロットし、主成分分析を行うことにより、図25に示されるような、第1主成分の直線を求めることができる。
ここで、ステップS253において検出された、所定範囲内のGの画素値の分散をvarianceG、平均をAveGとし、それらの画素位置におけるWの画素値の分散をvarianceW、平均をAveWとしたとき、第1主成分の直線の式は、次の式(5)で示される。
ただし、係数Sは、正の相関のときは+1、負の相関のときは−1である。
ステップS255において、0度方向補間G画像計算処理部71は、主成分分析の結果得られた直線と、注目画素におけるWの画素値とを基に、Gの画素値を求める。
具体的には、図25に示されるように、第1主成分の直線上における注目画素のWの画素値に対応するGの画素値を求めるものであり、式(5)に示した直線の式に、注目画素(H,K)におけるWの値を代入することにより、Gの値がもとめられる。ただし、ここでは、例えば、H−4≦X≦H+4、かつ、K+4≦Y≦K+4などの所定範囲内においては、WとGの値には相関があると仮定する。
ステップS256において、0度方向補間G画像計算処理部71は、全ての画素においてGの値が得られたか否かを判断する。ステップS256において、全ての画素においてGの値が得られていないと判断された場合、処理は、ステップS252に戻り、それ以降の処理が繰り返される。ステップS256において、全ての画素においてGの値が得られたと判断された場合、処理は、図13のステップS47にもどり、ステップS48に進む。
このような処理により、0度方向の補間により、全ての画素におけるWの画像を計算し、その結果を用いて、GとWの相関により、全画素におけるGを計算して、0度方向の補間によるG成分の画像を得ることができる。
次に、図26のフローチャートを参照して、図13のステップS48において実行される、45度方向補間G成分画像生成処理について説明する。
図6を用いて説明したカラーフィルタ22のフィルタ配列においては、X+Yが奇数となる座標(X,Y)により構成される、45度方向に伸びるラインには、入力画像中に一つおきにGの値が存在しているので、RまたはBで示される画素においては、45度方向の補間により、Gの補間画素値を算出することが出来る。しかしながら、X+Yが偶数となる座標(X,Y)により構成される、45度方向に伸びるラインには、入力画像中にGの値は存在しないが、WまたはMにより構成されているので、W−Mにより、Gの値を計算することができる。
まず、ステップS281において、45度方向補間G画像計算処理部72は、Gの値の抽出または補間処理が未処理の注目画素を1つ選択する。
ステップS282において、45度方向補間G画像計算処理部72は、注目画素は、Gの画素値を有する画素であるか否かを判断する。Xは偶数、かつ、Yは奇数となる座標(X,Y)には、もともとGで示される画素がある。ステップS282において、注目画素は、Gの画素値を有する画素であると判断された場合、この値を、座標(X,Y)におけるGの値とすれば良いので、処理は、後述するステップS291に進む。
ステップS282において、注目画素は、Gの画素値を有する画素ではないと判断された場合、ステップS283において、45度方向補間G画像計算処理部72は、注目画素に対して45度方向に隣接する画素として、Gの画素が存在するか否かを判断する。X+Yが奇数となる座標(X,Y)の画素に対して、45度方向に隣接する座標(X−1,Y−1)および座標(X+1,Y+1)の画素は、Gの画素値を有している。ステップS283において、注目画素に対して45度方向にGの画素が存在しないと判断された場合、処理は、後述するステップS285に進む。
ステップS283において、注目画素に対して45度方向にGの画素が存在すると判断された場合、ステップS284において、45度方向補間G画像計算処理部72は、45度方向のGの画素値を基に、Gの補間値を得る。すなわち、45度方向補間G画像計算処理部72は、座標(X−1,Y−1)における画素値と座標(X+1,Y+1)における画素値との平均を、座標(X,Y)におけるGの補間画素値とし、処理は、後述するステップS291に進む。
ステップS283において、注目画素に対して45度方向にGの画素が存在しないと判断された場合、ステップS285において、45度方向補間G画像計算処理部72は、注目画素は、Wの画素値を有する画素であるか否かを判断する。ステップS285において、注目画素は、Wの画素値を有する画素ではないと判断された場合、処理は、後述するステップS288に進む。
ステップS285において、注目画素は、Wの画素値を有する画素であると判断された場合、ステップS286において、45度方向補間G画像計算処理部72は、45度方向のMの画素値を基に、Mの補間値を得る。すなわち、Xは偶数、かつ、Yは偶数となる座標(X,Y)には、Wで示される画素がある。そして、その画素に対して、45度方向に隣接する画素、すなわち、座標(X−1,Y−1)および座標(X+1,Y+1)の位置にはMで示される画素があるので、これら2点の平均値を、座標(X,Y)におけるMの補間画素値とすることができる。
ステップS287において、45度方向補間G画像計算処理部72は、Gの画素値=Wの画素値−Mの画素値であることに基づいて、注目画素のWの画素値からMの補間値を減算して、Gの画素値を求め、処理は、後述するステップS291に進む。
ステップS285において、注目画素は、Wの画素値を有する画素ではないと判断された場合、ステップS288において、45度方向補間G画像計算処理部72は、注目画素は、Mの画素値を有する画素であるか否かを判断する。ステップS288において、注目画素は、Mの画素値を有する画素ではないと判断された場合、処理は、後述するステップS291に進む。
ステップS288において、注目画素は、Mの画素値を有する画素であると判断された場合、ステップS289において、45度方向補間G画像計算処理部72は、注目画素に対して45度方向に隣接する画素が有するWの画素値を基に、Wの補間値を得る。すなわち、Xは奇数、かつ、Yは奇数となる座標(X,Y)には、Mで示される画素がある。そして、その画素に対して45度方向に隣接する画素、すなわち、座標(X−1,Y−1)および座標(X+1,Y+1)の位置にはWで示される画素があるので、これら2点の平均値を、座標(X,Y)におけるWの補間画素値とすることができる。
ステップS290において、45度方向補間G画像計算処理部72は、Gの画素値=Wの画素値−Mの画素値であることに基づいて、注目画素のWの補間値からMの画素値を減算して、Gの画素値を求め、処理は、後述するステップS291に進む。
ステップS282において、注目画素は、Gの画素値を有する画素であると判断された場合、ステップS284、もしくは、ステップS287の処理の終了後、ステップS288において、注目画素は、Mの画素値を有する画素ではないと判断された場合、または、ステップS290の処理の終了後、ステップS291において、45度方向補間G画像計算処理部72は、全ての画素においてGの値が得られたか否かを判断する。
ステップS291において、全ての画素においてGの値が得られていないと判断された場合、処理は、ステップS281に戻り、それ以降の処理が繰り返される。ステップS291において、全ての画素においてGの値が得られたと判断された場合、処理は、図13のステップS48に戻り、ステップS49に進む。
このような処理により、45度方向の補間により、G成分の画像を得ることができる。
次に、図27のフローチャートを参照して、図13のステップS49において実行される、90度方向補間G成分画像生成処理について説明する。
図6を用いて説明したカラーフィルタ22のフィルタ配列においては、X軸の値が偶数であるラインには、入力画像中に一つおきにGの値が存在しているので、Wで示される画素においては、90度方向の補間により、Gの補間画素値を算出することが出来る。しかしながら、X軸の値が奇数であるラインは、入力画像中にGの値が存在しないので、90度方向の補間によりGの補間画素値を直接計算することが出来ない。そこで、まず、90度方向の補間により、全ての画素におけるMの画像を計算し、その後、GとMの相関により、全画素におけるGを計算するものとする。
まず、ステップS321において、90度方向補間G画像計算処理部73は、Mの値の抽出または補間処理が未処理の注目画素を1つ選択する。
ステップS322において、90度方向補間G画像計算処理部73は、注目画素は、Mの画素値を有する画素であるか否かを判断する。Xは奇数、かつ、Yは奇数となる座標(X,Y)には、もともとMで示される画素がある。ステップS322において、注目画素は、Mの画素値を有する画素であると判断された場合、この値を、座標(X,Y)におけるMの値とすれば良いので、処理は、後述するステップS331に進む。
ステップS322において、注目画素は、Mの画素値を有する画素ではないと判断された場合、ステップS323において、90度方向補間G画像計算処理部73は、注目画素に対して90度方向に隣接する画素として、Mの画素が存在するか否かを判断する。Xは奇数、かつ、Yは偶数となる座標(X,Y)の画素に対して、90度方向に隣接する座標(X,Y−1)および座標(X,Y+1)の画素は、Mの画素値を有している。ステップS323において、注目画素に対して90度方向にMの画素が存在しないと判断された場合、処理は、後述するステップS325に進む。
ステップS323において、注目画素に対して90度方向にMの画素が存在すると判断された場合、ステップS324において、90度方向補間G画像計算処理部73は、90度方向のMの画素値を基に、Mの補間値を得る。すなわち、90度方向補間G画像計算処理部73は、座標(X,Y−1)における画素値と座標(X,Y+1)における画素値との平均を、座標(X,Y)におけるMの補間画素値とし、処理は、後述するステップS331に進む。
ステップS323において、注目画素に対して90度方向にMの画素が存在しないと判断された場合、ステップS325において、90度方向補間G画像計算処理部73は、注目画素は、Gの画素値を有する画素であるか否かを判断する。ステップS325において、注目画素は、Gの画素値を有する画素ではないと判断された場合、処理は、後述するステップS328に進む。
ステップS325において、注目画素は、Gの画素値を有する画素であると判断された場合、ステップS326において、90度方向補間G画像計算処理部73は、90度方向のWの画素値を基に、Wの補間値を得る。すなわち、Xは偶数、かつ、Yは奇数となる座標(X,Y)には、Gで示される画素がある。そして、その画素に対して、90度方向に隣接する画素、すなわち、座標(X,Y−1)および座標(X,Y+1)の位置にはWで示される画素があるので、これら2点の平均値を、座標(X,Y)におけるWの補間画素値とすることができる。
ステップS327において、90度方向補間G画像計算処理部73は、Mの画素値=Wの画素値−Gの画素値であることに基づいて、注目画素のWの補間値からGの画素値を減算して、Mの画素値を求め、処理は、後述するステップS331に進む。
ステップS325において、注目画素は、Gの画素値を有する画素ではないと判断された場合、ステップS328において、90度方向補間G画像計算処理部73は、注目画素は、Wの画素値を有する画素であるか否かを判断する。ステップS328において、注目画素は、Wの画素値を有する画素ではないと判断された場合、処理は、後述するステップS331に進む。
ステップS328において、注目画素は、Wの画素値を有する画素であると判断された場合、ステップS329において、90度方向補間G画像計算処理部73は、注目画素に対して90度方向に隣接する画素が有するGの画素値を基に、Gの補間値を得る。すなわち、Xは偶数、かつ、Yは偶数となる座標(X,Y)には、Wで示される画素がある。そして、その画素に対して90度方向に隣接する画素、すなわち、座標(X,Y−1)および座標(X,Y+1)の位置にはGで示される画素があるので、これら2点の平均値を、座標(X,Y)におけるGの補間画素値とすることができる。
ステップS330において、90度方向補間G画像計算処理部73は、Mの画素値=Wの画素値−Gの画素値であることに基づいて、注目画素のWの画素値からGの補間画素値を減算して、Mの画素値を求め、処理は、後述するステップS331に進む。
ステップS322において、注目画素は、Mの画素値を有する画素であると判断された場合、ステップS324、もしくは、ステップS327の処理の終了後、ステップS328において、注目画素は、Wの画素値を有する画素ではないと判断された場合、または、ステップS330の処理の終了後、ステップS331において、90度方向補間G画像計算処理部73は、全ての画素においてMの値が得られたか否かを判断する。ステップS331において、全ての画素においてMの値が得られていないと判断された場合、処理は、ステップS321に戻り、それ以降の処理が繰り返される。
ステップS331において、全ての画素においてMの値が得られたと判断された場合、ステップS332において、90度方向補間G画像計算処理部73は、Gの値の決定処理が未処理の注目画素を1つ選択する。
ステップS333において、90度方向補間G画像計算処理部73は、注目画素から所定の範囲内に存在するGの画素を検出する。ここで、所定の範囲とは、主成分分析のためのサンプル数や、注目画素と離れることによる相関性の強さなどの条件を基に経験的または実験的に定められる範囲である。所定の範囲とは、例えば、注目画素の画素位置を座標(H,K)とした場合に、H−4≦X≦H+4、かつ、K+4≦Y≦K+4となる座標(X、Y)で示される9×9画素の範囲などであっても良く、これ以外の大きさであっても、また、注目画素を中心として、画素間の距離が近い画素から選択される所定数の画素の範囲であっても良い。
ステップS334において、90度方向補間G画像計算処理部73は、ステップS333において検出されたそれぞれの画素のGの画素値と、その画素位置において求められたMの値とを、GとMの2次元空間にプロットし、主成分分析を行う。
すなわち、上述した処理により、全ての画素位置におけるMの値が求められているので、当然、検出されたGの画素の画素位置においても、Mの画素値が求められている。したがって、所定の範囲を、注目画素の座標(H,K)に対して、例えば、H−4≦X≦H+4、かつ、K+4≦Y≦K+4としたとき、Xは偶数、かつ、Yは奇数となる座標(X,Y)で示されるGの画素は複数含まれるので、Mの値とGの値とのペアを複数作ることが出来る。この複数のペアを、MとGの2次元空間にプロットし、主成分分析を行うことにより、図28に示されるような、第1主成分の直線を求めることができる。
ここで、ステップS333において検出された、所定範囲内のGの画素値の分散をvarianceG、平均をAveGとし、それらの画素位置におけるMの画素値の分散をvarianceM、平均をAveMとしたとき、第1主成分の直線の式は、次の式(6)で示される。
ただし、係数Sは、正の相関のときは+1、負の相関のときは−1である。
ステップS335において、90度方向補間G画像計算処理部73は、主成分分析の結果得られた直線と、注目画素におけるMの画素値とを基に、Gの画素値を求める。
具体的には、図25に示されるように、第1主成分の直線上における注目画素のMの画素値に対応するGの画素値を求めるものであり、式(6)に示した直線の式に、注目画素(H,K)におけるMの値を代入することにより、Gの値がもとめられる。ただし、ここでは、例えば、H−4≦X≦H+4、かつ、K+4≦Y≦K+4などの所定範囲内においては、MとGの値には相関があると仮定する。
ステップS336において、90度方向補間G画像計算処理部73は、全ての画素においてGの値が得られたか否かを判断する。ステップS336において、全ての画素においてGの値が得られていないと判断された場合、処理は、ステップS332に戻り、それ以降の処理が繰り返される。ステップS336において、全ての画素においてGの値が得られたと判断された場合、処理は、図13のステップS49にもどり、ステップS50に進む。
このような処理により、90度方向の補間により、全ての画素におけるMの画像を計算し、その結果を用いて、GとMの相関により、全画素におけるGを計算して、90度方向の補間によるG成分の画像を得ることができる。
次に、図29のフローチャートを参照して、図13のステップS50において実行される、135度方向補間G成分画像生成処理について説明する。
図6を用いて説明したカラーフィルタ22のフィルタ配列においては、X−Yが奇数となる座標(X,Y)により構成される、135度方向に伸びるラインには、入力画像中に一つおきにGの値が存在しているので、RまたはBで示される画素においては、135度方向の補間により、Gの補間画素値を算出することが出来る。しかしながら、X−Yが偶数となる座標(X,Y)により構成される、135度方向に伸びるラインには、入力画像中にGの値は存在しないが、WまたはMにより構成されているので、W−Mにより、Gの値を計算することができる。
まず、ステップS361において、135度方向補間G画像計算処理部74は、Gの値の抽出または補間処理が未処理の注目画素を1つ選択する。
ステップS362において、135度方向補間G画像計算処理部74は、注目画素は、Gの画素値を有する画素であるか否かを判断する。Xは偶数、かつ、Yは奇数となる座標(X,Y)には、もともとGで示される画素がある。ステップS362において、注目画素は、Gの画素値を有する画素であると判断された場合、この値を、座標(X,Y)におけるGの値とすれば良いので、処理は、後述するステップS371に進む。
ステップS362において、注目画素は、Gの画素値を有する画素ではないと判断された場合、ステップS363において、135度方向補間G画像計算処理部74は、注目画素に対して135度方向に隣接する画素として、Gの画素が存在するか否かを判断する。X+Yが奇数となる座標(X,Y)の画素に対して、135度方向に隣接する座標(X−1,Y+1)および座標(X+1,Y−1)の画素は、Gの画素値を有している。ステップS363において、注目画素に対して135度方向にGの画素が存在しないと判断された場合、処理は、後述するステップS365に進む。
ステップS363において、注目画素に対して135度方向にGの画素が存在すると判断された場合、ステップS364において、135度方向補間G画像計算処理部74は、135度方向のGの画素値を基に、Gの補間値を得る。すなわち、135度方向補間G画像計算処理部74は、座標(X−1,Y+1)における画素値と座標(X+1,Y−1)における画素値との平均を、座標(X,Y)におけるGの補間画素値とし、処理は、後述するステップS371に進む。
ステップS363において、注目画素に対して135度方向にGの画素が存在しないと判断された場合、ステップS365において、135度方向補間G画像計算処理部74は、注目画素は、Wの画素値を有する画素であるか否かを判断する。ステップS365において、注目画素は、Wの画素値を有する画素ではないと判断された場合、処理は、後述するステップS368に進む。
ステップS365において、注目画素は、Wの画素値を有する画素であると判断された場合、ステップS366において、135度方向補間G画像計算処理部74は、135度方向のMの画素値を基に、Mの補間値を得る。すなわち、Xは偶数、かつ、Yは偶数となる座標(X,Y)には、Wで示される画素がある。そして、その画素に対して、135度方向に隣接する画素、すなわち、座標(X−1,Y+1)および座標(X+1,Y−1)の位置にはMで示される画素があるので、これら2点の平均値を、座標(X,Y)におけるMの補間画素値とすることができる。
ステップS367において、135度方向補間G画像計算処理部74は、Gの画素値=Wの画素値−Mの画素値であることに基づいて、注目画素のWの画素値からMの補間値を減算して、Gの画素値を求め、処理は、後述するステップS371に進む。
ステップS365において、注目画素は、Wの画素値を有する画素ではないと判断された場合、ステップS368において、135度方向補間G画像計算処理部74は、注目画素は、Mの画素値を有する画素であるか否かを判断する。ステップS368において、注目画素は、Mの画素値を有する画素ではないと判断された場合、処理は、後述するステップS371に進む。
ステップS368において、注目画素は、Mの画素値を有する画素であると判断された場合、ステップS369において、135度方向補間G画像計算処理部74は、注目画素に対して135度方向に隣接する画素が有するWの画素値を基に、Wの補間値を得る。すなわち、Xは奇数、かつ、Yは奇数となる座標(X,Y)には、Mで示される画素がある。そして、その画素に対して135度方向に隣接する画素、すなわち、座標(X−1,Y+1)および座標(X+1,Y−1)の位置にはWで示される画素があるので、これら2点の平均値を、座標(X,Y)におけるWの補間画素値とすることができる。
ステップS370において、135度方向補間G画像計算処理部74は、Gの画素値=Wの画素値−Mの画素値であることに基づいて、注目画素のWの補間値からMの画素値を減算して、Gの画素値を求め、処理は、後述するステップS371に進む。
ステップS362において、注目画素は、Gの画素値を有する画素であると判断された場合、ステップS364、もしくは、ステップS367の処理の終了後、ステップS368において、注目画素は、Mの画素値を有する画素ではないと判断された場合、または、ステップS370の処理の終了後、ステップS371において、135度方向補間G画像計算処理部74は、全ての画素においてGの値が得られたか否かを判断する。
ステップS371において、全ての画素においてGの値が得られていないと判断された場合、処理は、ステップS361に戻り、それ以降の処理が繰り返される。ステップS371において、全ての画素においてGの値が得られたと判断された場合、処理は、図13のステップS50に戻り、ステップS51に進む。
このような処理により、135度方向の補間により、G成分の画像を得ることができる。
そして、上述したように、図13のステップS51において、各角度の方向で補正されたG成分の画像に、確度補正適正度が重み付け係数として乗算されて、画素ごとに加算されることにより、模様の方向を考慮し、また、WおよびMの成分の画素におけるW−M=Gの性質を利用して生成されるG成分画像が生成される。
次に、図30のフローチャートを参照して、図13のステップS52において実行される、R成分画素値算出処理について説明する。
ステップS401において、R画像計算処理部81は、未処理の注目画素を1つ選択する。
ステップS402において、R画像計算処理部81は、注目画素から所定範囲内に存在するRの画素を検出する。ここで、所定の範囲とは、主成分分析のためのサンプル数や、注目画素と離れることによる相関性の強さなどの条件を基に経験的または実験的に定められる範囲である。所定の範囲とは、例えば、注目画素の画素位置を座標(H,K)とした場合に、H−4≦X≦H+4、かつ、K+4≦Y≦K+4となる座標(X、Y)で示される9×9画素の範囲などであっても良く、これ以外の大きさであっても、また、注目画素を中心として、画素間の距離が近い画素から選択される所定数の画素の範囲であっても良い。
また、ここでいう所定の範囲、および、後述するB成分画素値算出処理における所定の範囲は、上述したいずれかの処理において用いた所定の範囲と同一であっても、異なるものであっても良い。
例えば、注目画素の画素位置を座標(H,K)とした場合に、H−4≦X≦H+4、K+4≦Y≦K+4、Xは奇数、Yは偶数、かつ、X−Y−3は4の倍数となる座標(X,Y)には、Rで示される画素がある。
ステップS403において、R画像計算処理部81は、検出された全てのRの画素(X,Y)の画素位置に対して、図13のステップS51の処理により推定されたGの画素値を取得する。すなわち、R画像計算処理部81は、検出された全てのRの画素(X,Y)の画素位置におけるRの画素値とGの画素値とのペアを複数取得する。
ステップS404において、R画像計算処理部81は、それぞれの画素のRの値とGのペアの値を、図31に示されるように、RとGの2次元空間にプロットし、主成分分析を行う。
ここで、所定範囲内のRの画素値の分散をvarianceR、平均をAveRとし、それらの画素位置におけるGの画素値の分散をvarianceG、平均をAveGとしたとき、第1主成分の直線の式は、次の式(7)で示される。
ただし、係数Sは、正の相関のときは+1、負の相関のときは−1である。
ステップS405において、R画像計算処理部81は、主成分分析の結果得られた直線と、注目画素のGの値とを基に、Rの値を求める。すなわち、R画像計算処理部81は、上述した式(7)に注目画素のGの画素値を代入することにより、Rの値を求める。
ステップS406において、R画像計算処理部81は、全ての画素においてRが求められたか否かを判断する。ステップS406において、全ての画素においてRが求められていないと判断された場合、処理は、ステップS401に戻り、それ以降の処理が繰り返される。ステップS406において、全ての画素においてRが求められたと判断された場合、処理は、図13のステップS52に戻り、ステップS53に進む。
このような処理により、撮像データに含まれるRの画素値と、図13のステップS51の処理により推定されたGの画素値とに基づいて、全画素分のR成分の画素値が求められる。
なお、ここでは、例えば、H−4≦X≦H+4、かつ、K+4≦Y≦K+4などの所定の領域内においては、R成分とG成分のそれぞれの画素値に相関があるものと仮定して処理が実行されている。
次に、図32のフローチャートを参照して、図13のステップS53において実行される、B成分画素値算出処理について説明する。
ステップS441において、B画像計算処理部82は、未処理の注目画素を1つ選択する。
ステップS442において、B画像計算処理部82は、注目画素から所定範囲内に存在するBの画素を検出する。ここで、所定の範囲とは、主成分分析のためのサンプル数や、注目画素と離れることによる相関性の強さなどの条件を基に経験的または実験的に定められる範囲である。所定の範囲とは、例えば、注目画素の画素位置を座標(H,K)とした場合に、H−4≦X≦H+4、かつ、K+4≦Y≦K+4となる座標(X、Y)で示される9×9画素の範囲などであっても良く、これ以外の大きさであっても、また、注目画素を中心として、画素間の距離が近い画素から選択される所定数の画素の範囲であっても良い。
例えば、注目画素の画素位置を座標(H,K)とした場合に、H−4≦X≦H+4、K+4≦Y≦K+4、Xは奇数、Yは偶数、かつ、X−Y−1が4の倍数となる座標(X,Y)には、Bで示される画素がある。
ステップS443において、B画像計算処理部82は、検出された全てのBの画素(X,Y)の画素位置に対して、図13のステップS51の処理により推定されたGの画素値を取得する。すなわち、B画像計算処理部82は、検出された全てのBの画素(X,Y)の画素位置におけるBの画素値とGの画素値とのペアを複数取得する。
ステップS444において、B画像計算処理部82は、それぞれの画素のBの値とGのペアの値を、図33に示されるように、BとGの2次元空間にプロットし、主成分分析を行う。
ここで、所定範囲内のBの画素値の分散をvarianceB、平均をAveBとし、それらの画素位置におけるGの画素値の分散をvarianceG、平均をAveGとしたとき、第1主成分の直線の式は、次の式(8)で示される。
ただし、係数Sは、正の相関のときは+1、負の相関のときは−1である。
ステップS445において、B画像計算処理部82は、主成分分析の結果得られた直線と、注目画素のGの値とを基に、Bの値を求める。すなわち、B画像計算処理部82は、上述した式(8)に注目画素のGの画素値を代入することにより、Bの値を求める。
ステップS446において、B画像計算処理部82は、全ての画素においてBが求められたか否かを判断する。ステップS446において、全ての画素においてBが求められていないと判断された場合、処理は、ステップS441に戻り、それ以降の処理が繰り返される。ステップS446において、全ての画素においてBが求められたと判断された場合、処理は、図13のステップS52に戻り、ステップS53に進む。
このような処理により、撮像データに含まれるBの画素値と、図13のステップS51の処理により推定されたGの画素値とに基づいて、全画素分のB成分の画素値が求められる。
なお、ここでも、例えば、H−4≦X≦H+4、かつ、K+4≦Y≦K+4などの所定の領域内においては、B成分とG成分のそれぞれの画素値に相関があるものと仮定して処理が実行されている。
また、上述したそれぞれの処理では、第1の分光成分のデータを有する第1の画素群の画素(例えば、Wで示される画素)データから、第2の分光成分のデータを有する第2の画素群の画素(例えば、Mで示される画素)データを減算する(換言すれば、重みW1=1、重みW2=(−1)として、重みW1とW2による、第1の画素群と第2に画素群との線形和を求める)ことで、色収差のない所定の周波数範囲の分光成分(例えば、G(緑)成分)の画素データを得ることについて説明した。すなわち、G=W−Mの関係にある場合について述べた。これに対して、例えば、Mの画素の感度に対して、感度が1/2であるM´が用いられた場合、G=W−M´は成立しないため、これに代わって、G=W−2×M´に基づいて、デモザイク処理を実行するようにすれば良い。具体的には、例えば、固体撮像素子23のMに対応する画素の出力値を2倍にゲインアップして、A/D変換部24に供給し、同様の処理を実行するようにしても良い。同様に、いずれかの色成分に対応する信号の感度が他のものと比較して劣っているような場合、固体撮像素子23の対応する画素の出力値を所定倍率でゲインアップした後、A/D変換部24に供給し、同様の処理を実行するようにしても良い。
すなわち、第1の分光成分の周波数帯域の信号(または、その信号に所定の係数が乗ぜられた値)から第2の分光成分の周波数帯域の信号(または、その信号に所定の係数が乗ぜられた値)を減算することにより得られる所定周波数領域の分光成分に対応する信号成分を基にして、色収差のない周波数領域の画像を得て、これを基準としてデモザイク処理を実行するようになされていれば、例えば、第1の分光成分の周波数帯域や、第2の分光成分の周波数帯域が、例示された周波数帯域以外のものである場合にも、また、連続せずに複数の乖離した周波数帯域から構成される場合にも、本発明は適用可能である。また、例示した処理のように、第1の分光成分の周波数帯域から第2の分光成分の周波数帯域を減算することにより得られる所定周波数領域の分光成分が、色収差のない周波数領域と一致すれば、処理が簡単になり、好適である。例えば、第1の分光成分の周波数帯域を、G(緑)成分と赤外成分とし、第2の分光成分の周波数帯域を赤外成分としたり、第1の分光成分の周波数帯域を、赤外成分を除いた可視光成分とし、第2の分光成分の周波数帯域をR(赤)成分およびB(青)成分としても、本発明は適用可能である。
このように本発明を適用すれば、広い波長帯域の分光成分を取得できる画素を有しながら、かつ、レンズの色収差をキャンセルしてデモザイク処理を実行することが可能である。
なお、カラーフィルタの配列は、図7に示す配列構成の他の設定も可能であり、例えば図34に示す配列としてもよい。図34に示すカラーフィルタの配列は、図7に示す配列を45度回転させた構成に相当する。
すなわち、図34に示されるカラーフィルタにおいては、X軸方向を0度として、Gで示される画素に注目した場合、Gで示される画素は、0度方向、45度方向、90度方向、および、135度方向のいずれにおいても1画素おきに配置され、Gで示される画素に0度方向で隣接する画素は、いずれも、BまたはRで示される画素であり、Gで示される画素に90度方向で隣接する画素は、いずれもBまたは、Rで示される画素であり、Gで示される画素に45度方向で隣接する画素は、いずれも、Mで示される画素であり、Gで示される画素に135度方向で隣接する画素は、いずれも、Wで示される画素である。
なお、図34に示されるカラーフィルタ配列においても、WとMのそれぞれの画素の配置が逆転しても、上述したデモザイク処理は同様にして実行可能であり、BとRのそれぞれの画素の配置が逆転しても、上述したデモザイク処理は同様にして実行可能である。
すなわち、X軸方向を0度として、Gで示される画素に注目した場合、Gで示される画素は、0度方向、45度方向、90度方向、および、135度方向のいずれにおいても1画素おきに配置され、他の色成分R,B,W,Mの画素が、RとB、WとMがGの画素に対して直行する位置となるように、それぞれの方向に隣接して配置されるカラーフィルタが用いられた場合、上述したデモザイク処理は同様にして実行可能である。
なお、以上説明した処理においては、0度、45度、90度、および135度の4つの角度において、模様確度を求め、それぞれの方向の補間処理によるG成分の画像を求めることにより、デモザイク処理を実行するようになされていたが、本発明は、0度、45度、90度、および135度の4つの角度における処理以外にも適用可能であり、例えば、0度と90度、または、45度と135度など、2つの角度における場合などにも、適用可能であるのはいうまでもない。
一般的に、風景などを撮像した場合、撮像画像に対して0度方向と90度方向に模様が入る場合が多く、これらと比較すると、45度または135度の模様は、あまり存在しない。そこで、回路規模を削減したり、演算時間を減少させるために、0度、および、90度の2つの角度において、模様確度を求め、それぞれの方向の補間処理によるG成分の画像を求めることにより、デモザイク処理を実行するようにしてもよい。
上述した一連の処理のうち、特に、カメラ信号処理部25において実行された処理は、ハードウェアのみならず、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体などからインストールされる。この場合、例えば、図4を用いて説明した撮像装置11は、図35に示されるようなパーソナルコンピュータ101により構成される。
図35において、CPU(Central Processing Unit)111は、ROM(Read Only Memory)112に記憶されているプログラム、または記憶部118からRAM(Random Access Memory)113にロードされたプログラムにしたがって、各種の処理を実行する。RAM113にはまた、CPU111が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU111、ROM112、およびRAM113は、バス114を介して相互に接続されている。このバス114にはまた、入出力インタフェース115も接続されている。
入出力インタフェース115には、キーボード、マウスなどよりなる入力部116、ディスプレイやスピーカなどよりなる出力部117、ハードディスクなどより構成される記憶部118、モデム、ターミナルアダプタなどより構成される通信部119、および、撮像処理部120が接続されている。通信部119は、インターネットを含むネットワークを介しての通信処理を行う。
撮像処理部120は、図4を用いて説明した光学レンズ21、カラーフィルタ22、固体撮像素子23、および、A/D変換部24を有しているか、または、同様の機能を実行可能なようになされており、図5を用いて説明したカメラ信号処理部25、および、図4の画像圧縮部27の機能を有するCPU111の制御に基づいて、上述した場合と同様の処理を実行する。
入出力インタフェース115にはまた、必要に応じてドライブ121が接続され、磁気ディスク111、光ディスク112、光磁気ディスク133、もしくは、半導体メモリ134などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部118にインストールされる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
この記録媒体は、図35に示されるように、装置本体とは別に、ユーザにプログラムを供給するために配布される、プログラムが記憶されている磁気ディスク111(フロッピディスクを含む)、光ディスク112(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク133(MD(Mini-Disk)(商標)を含む)、もしくは半導体メモリ134などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに供給される、プログラムが記憶されているROM112や、記憶部118に含まれるハードディスクなどで構成される。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
11 撮像装置 21 レンズ, 22 カラーフィルタ, 23 固体撮像素子, 24 A/D変換部, 25 カメラ信号処理部, 26 表示部, 27 画像圧縮部, 28 記録部, 29 外部出力部, 44 デモザイク処理部, 61 0度方向の模様分析処理部, 62 45度方向の模様分析処理部, 63 90度方向の模様分析処理部, 64 135度方向の模様分析処理部, 65 模様方向判定部, 71 0度方向補間G画像計算処理部, 72 45度方向補間G画像計算処理部, 73 90度方向補間G画像計算処理部, 74 135度方向補間G画像計算処理部, 75 G画像計算処理部, 81 R画像計算処理部, 82 B画像計算処理部