(57)【要約】      （修正有）【課題】ベイヤー配列の色フィルタアレイが配置された撮像素子から出力された画像から、各色成分の高画質の画像を生成する。【解決手段】高解像Ｇ生成部３５は、ベイヤー配列の色フィルタアレイが配置されたイメージセンサから出力された第１の画像から１つの注目画素を選択する注目画素選択部と、第１の画像のＧ成分の画素であって複数の画素からなるコードタップを選択するＧコードタップ選択部６１と、選択されたコードタップのＧコードを演算するＧコード演算部６３と、コード毎に複数のＧ係数を記憶し、演算されたＧコードに基づいて複数のＧ係数を出力するＧ係数記憶部６４と、第１の画像のＧ成分の画素であって複数の画素からなるフィルタタップを選択するＧフィルタタップ選択部６２と、選択されたフィルタタップの各画素値と、出力された複数のＧ係数とに基づいて、注目画素毎に対応する出力画素の画素値を演算するＧ積和演算部６５とを備える。【選択図】図１１
2019161376.tif 000002
【特許請求の範囲】
【請求項１】
複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択部と、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択部と、
前記第１のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算部と、
コード毎に、コード分類型適応フィルタの第１の学習処理によって予め求められた複数の第１のタップ係数を記憶し、前記第１のコード演算部により演算されたコードに基づいて複数の第１のタップ係数を出力する第１の係数記憶部と、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択部と、
前記第１のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第１の係数記憶部から出力された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する第１の画像生成部と、
を備えた画像処理装置。
【請求項２】
前記第１のタップ係数は、
所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第１の画像と同一である画像から、前記第１の色成分のみで構成された第１の生徒画像と、
前記所定の被写体について、前記第１の画像と同一サイズの前記第１の色成分のみで構成され、前記第１の生徒画像に対して水平方向及び垂直方向に半画素シフトした第１の教師画像と、
を用いた前記第１の学習処理であって、前記第１の生徒画像の各画素と前記第１の教師画像の各画素のマッピングされた正規方程式を解く前記第１の学習処理により算出されたタップ係数である
請求項１に記載の画像処理装置。
【請求項３】
前記第１の色成分の各画素の画素位置、及び前記第１の色成分と異なる１つの色成分である第２の色成分の各画素の画素位置において、前記第１の色成分の画素の画素値と、前記第２の色成分の画素の画素値と、の差分である色差成分を生成する色差成分生成部と、
前記第１の色成分又は前記第２の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記色差成分の複数の画素が第３の配列パターンで配列されたコードタップを選択する第２のコードタップ選択部と、
前記第２のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第２のコード演算部と、
コード毎に、コード分類型適応フィルタの第２の学習処理によって予め求められた複数の第２のタップ係数を記憶し、前記第２のコード演算部により演算されたコードに基づいて複数の第２のタップ係数を出力する第２の係数記憶部と、
前記第１の色成分又は前記第２の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記色差成分の複数の画素が第４の配列パターンで配列されたフィルタタップを選択する第２のフィルタタップ選択部と、
前記第２のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第２の係数記憶部から出力された複数の第２のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記色差成分の画像を生成する第２の画像生成部と、
前記第１の画像生成部により生成された前記第１の色成分の画像と、前記第２の画像生成部により生成された前記色差成分の画像と、に基づいて、前記第２の色成分の画像を演算する演算部と、
を更に備えた請求項１又は請求項２に記載の画像処理装置。
【請求項４】
前記第２のタップ係数は、
前記所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第１の画像と同一である画像から、前記第１及び前記第２の各色成分の差分として得られた色差画像である第２の生徒画像と、
前記所定の被写体について、前記第１の画像と同一サイズの前記第１の色成分の画像と前記同一サイズの前記第２の色成分の画像との差分として得られた色差画像であって、前記第１の生徒画像に対して水平方向及び垂直方向に半画素シフトした前記色差画像である第２の教師画像と、
を用いた前記第２の学習処理であって、前記第２の生徒画像の各画素と前記第２の教師画像の各画素のマッピングされた正規方程式を解く前記第２の学習処理により算出されたタップ係数である
請求項３に記載の画像処理装置。
【請求項５】
前記色差成分生成部、前記第２のコードタップ選択部、前記第２のコード演算部、前記第２の係数記憶部、前記第２のフィルタタップ選択部、前記第２の画像生成部、及び前記第１の演算部は、前記第１の画像において前記第１の色成分と異なる第２の色成分が複数存在する場合には、それぞれの第２の色成分毎に設けられる
請求項３又は請求項４に記載の画像処理装置。
【請求項６】
前記色差成分生成部は、
前記第２の色成分の各画素の画素位置において、当該画素位置に近接する第１の色成分の各画素の画素値から補間することで、前記第１の色成分の補間画素値を演算する第１の補間画素値演算部と、
前記第１の色成分の各画素の画素位置において、当該画素位置に近接する第２の色成分の各画素の画素値から補間することで、前記第２の色成分の補間画素値を演算する第２の補間画素値演算部と、
前記第２の色成分の各画素の画素位置においては、当該画素位置における第１の色成分の補間画素値と、当該画素位置における第２の色成分の画素値と、の差分を演算することで前記色差成分を生成し、前記第１の色成分の各画素の画素位置においては、当該画素位置における第１の色成分の画素値と、当該画素位置における第２の色成分の補間画素値と、の差分を演算することで前記色差成分を生成する差分演算部と、
を備えた請求項３から請求項５のいずれか１項に記載の画像処理装置。
【請求項７】
第１の補間画素値演算部は、前記第２の色成分の各画素の画素位置において、当該画素位置の水平方向及び垂直方向にそれぞれ近接する前記第１の色成分の複数の画素がある場合、水平方向における第１の色成分の各画素の画素値から水平補間値を演算し、垂直方向における第１の色成分の各画素の画素値から垂直補間値を演算し、前記水平補間値及び前記垂直補間値のそれぞれの分散に基づいて、前記水平補間値及び前記垂直補間値の重み付け平均値を演算することで、前記第２の色成分の補間値を演算する
請求項６に記載の画像処理装置。
【請求項８】
複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択ステップと、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択ステップで選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択ステップと、
前記第１のコードタップ選択ステップで選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算ステップと、
コード毎に、コード分類型適応フィルタの学習処理によって予め求められた複数の第１のタップ係数を記憶する係数記憶部から、前記第１のコード演算ステップで演算されたコードに基づいて複数の第１のタップ係数を読み出す第１の係数読み出しステップと、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択ステップで選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択ステップと、
前記第１のフィルタタップ選択ステップで選択されたフィルタタップの各画素値と、前記係数読み出しステップで読み出された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する画像生成ステップと、
を備えた画像処理方法。
【請求項９】
コンピュータを、
複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択部と、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択部と、
前記第１のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算部と、
コード毎に、コード分類型適応フィルタの学習処理によって予め求められた複数の第１のタップ係数を記憶し、前記第１のコード演算部により演算されたコードに基づいて複数の第１のタップ係数を出力する第１の係数記憶部と、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択部と、
前記第１のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第１の係数記憶部から出力された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する第１の画像生成部と、
して機能させるためのプログラム。
【請求項１０】
複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子と、
前記撮像素子から出力された第１の画像に対して画像処理を行う請求項１から請求項７のいずれか１項に記載の画像処理装置と、
を備えた撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、プログラム及び撮像装置に関する。
【背景技術】
【０００２】
カメラの小型化、軽量化のために、３枚のイメージセンサを用いた３板式カメラではなく、１枚のイメージセンサを用いた単板式カメラが採用されている。
【０００３】
単板式カメラのイメージセンサの光入射面には、１画素毎に割り当てられた色フィルタアレイからなる色コーディングフィルタが設置される。これにより、このイメージセンサは、色コーディングフィルタにより色コーディングされた色成分の信号を１画素毎に生成する。色コーディングフィルタを構成する色フィルタアレイとして、例えば、Ｒ（赤），Ｇ（緑），Ｂ（青）の３原色フィルタアレイがある。
【０００４】
単板式カメラは、イメージセンサにより１画素毎に１つの色成分の信号を得て、各画素が持っている色成分の信号以外の色信号を線形補間処理により生成する。これにより、単板式カメラは、３板式カメラにより得られる画像に近い画像を得る。
【０００５】
色コーディングフィルタを構成する色フィルタアレイとして、ベイヤー配列の３原色色フィルタアレイが用いられることが多い。ベイヤー配列では、Ｇの色フィルタが市松状に配置され、残った部分にＲとＢの各色フィルタが一列毎に交互に配置される。
【０００６】
イメージセンサの各画素には、Ｒ，Ｇ，Ｂの３原色のいずれか１つの色のフィルタが配置される。各画素は、配置されたフィルタの色に対応する画像信号のみを出力する。
【０００７】
すなわち、Ｒの色フィルタが配置された画素からは、Ｒ成分の画像信号が出力されるが、Ｇ成分およびＢ成分の画像信号は出力されない。同様に、Ｇ成分の画素からは、Ｇ成分の画像信号のみが出力され、Ｒ成分およびＢ成分の画像信号は出力されない。Ｂ成分の画素からは、Ｂ成分の画像信号のみが出力され、Ｒ成分およびＧ成分の画像信号は出力されない。
【０００８】
そこで、従来、不足する色成分を補間する技術であるＤＬＭＭＳＥ法が開示されている（非特許文献１参照）。ＤＬＭＭＳＥ法では、まず、水平・垂直の２方向において、イメージセンサからの入力画像の各画素位置の補間色差が求められて、注目している画素の位置の近傍の５画素の統計量が算出される。
【０００９】
算出された統計量を用いて、注目している画素の方向性（水平方向または垂直方向）が検出され、その検出結果に応じて、水平色差と垂直色差とが混合（按分）されることで、色差（Ｒ−Ｇ、Ｂ−Ｇ）が求められる。
【００１０】
このようにして求められた色差（Ｒ−Ｇ、Ｂ−Ｇ）に基づいて、Ｇ画素の画像信号、Ｒ画素の画像信号、およびＢ画素の画像信号がそれぞれ求められ、出力画像として生成される。
【００１１】
また、３板式カメラのＣＣＤ出力に相当する画像信号を単板式カメラのＣＣＤイメージセンサで得られるようにする技術が開示されている（特許文献１参照）。特許文献１の技術は、入力画像における注目画素に対応する画素およびその周辺の画素値を変数とし、予め学習により得られた係数を用いた積和演算により出力画像の注目画素の画素値を予測する。
【００１２】
また、複数の色成分により構成される色フィルタアレイを有するイメージセンサの出力から、画質を劣化させることなく、各色成分の画像信号を得る技術が開示されている（特許文献２参照）。
【００１３】
特許文献２の技術は、単板式画素部から出力される第１の画像から指定領域を選択し、その指定領域の各々の色成分の代表値を算出し、指定領域の画素値から得られる特徴量に基づいて、予め記憶されている係数を読み出す。そして、特許文献２の技術は、 指定領域内の所定の画素に係る画素値を予測タップとし、代表値を用いて予測タップの各色成分の画素値を変換値に変換し、変換値を変数とし、読み出された係数を用いた積和演算により、各色成分の画素のみで構成される画像の各画素値をそれぞれ演算する。
【００１４】
また、単板式カメラにより取得された画像信号の偽色や雑音を低減する技術が開示されている（特許文献３）。
【００１５】
特許文献３の技術は、ベイヤー配列の単板式画素部から出力される画像信号により構成される第１の画像から、参照エリアを設定するとともに、参照エリアの領域を変化させて、参照エリア内の画素の画素値から得られる統計量を評価して、第１の画像内の注目位置の方向性を検出することで、注目位置の方向性をより高い精度で検出する。これにより、ナイキスト周波数に近い高周波成分を含む入力画像が入力された場合でも、参照エリアを広げることで、正確な方向性を検出して、確実に偽色や雑音を低減する。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２０００−３０８０７９公報
【特許文献２】特開２０１４−２００００８公報
【特許文献３】特開２０１４−２０００３３公報
【非特許文献】
【００１７】
【非特許文献１】DLMMSE algorithm from L. Zhang and X. Wu, “Color demosaicking via directional linear minimum mean square-error estimation,” IEEE Trans. on Image Processing, vol. 14, no. 12, pp. 2167-2178, 2005.
【発明の概要】
【発明が解決しようとする課題】
【００１８】
非特許文献１の技術は、色差（Ｒ−Ｇ、Ｂ−Ｇ）に基づいて、すなわち、Ｒ画素やＢ画素の情報を用いてＧ画素の画像信号を生成する。このため、Ｇ画素の画像信号に予測誤差が生じるため、ジッパーノイズが発生して画質が劣化する問題がある。
【００１９】
特許文献１の技術では、イメージセンサにおけるＲ、Ｇ、Ｂのそれぞれに対応する画素値が、そのまま、予測演算の変数であるタップとして用いられる。
【００２０】
しかしながら、Ｒ、Ｇ、Ｂの各画素値は、もともと相関が小さいため、例えば、注目画素周辺の複数の画素値をタップとして入力しても、予測演算において、十分な効果を発揮することができなかった。例えば、Ｒ、Ｇ、Ｂの各画素値の変化にほとんど相関がみられない領域などにおいて予測演算により画素値が生成されると、ジッパーノイズ、偽色、色にじみ、リンギングなどの画質劣化が顕著に発生する問題がある。
【００２１】
特許文献２の技術でも、Ｇ画素の画素値の予測精度が不足しており、ジッパーノイズを十分に抑えることができない問題がある。
【００２２】
また、特許文献３の技術でも、偽色を改善できない場合や、また水平・垂直を閾値で２値判定をおこなっているため、中間レベルがうまく処理できない。規模が大きいなどのデメリットがあった。
【００２３】
本発明は、上述した従来の問題を解決するものである。すなわち、本発明の目的は、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された画像から、画質を劣化させることなく、高画質の各色成分の画像を得ることができる画像処理装置、画像処理方法、プログラム及び撮像装置を提供することである。
【課題を解決するための手段】
【００２４】
本発明に係る画像処理装置は、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択部と、前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択部と、前記第１のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算部と、コード毎に、コード分類型適応フィルタの第１の学習処理によって予め求められた複数の第１のタップ係数を記憶し、前記第１のコード演算部により演算されたコードに基づいて複数の第１のタップ係数を出力する第１の係数記憶部と、前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択部と、前記第１のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第１の係数記憶部から出力された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する第１の画像生成部と、を備えている。
【００２５】
本発明に係る画像処理方法は、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択ステップと、前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択ステップで選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択ステップと、前記第１のコードタップ選択ステップで選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算ステップと、コード毎に、コード分類型適応フィルタの学習処理によって予め求められた複数の第１のタップ係数を記憶する係数記憶部から、前記第１のコード演算ステップで演算されたコードに基づいて複数の第１のタップ係数を読み出す第１の係数読み出しステップと、前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択ステップで選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択ステップと、前記第１のフィルタタップ選択ステップで選択されたフィルタタップの各画素値と、前記係数読み出しステップで読み出された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する画像生成ステップと、を備えている。
【００２６】
本発明に係るプログラムは、コンピュータを、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択部と、前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択部と、前記第１のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算部と、コード毎に、コード分類型適応フィルタの学習処理によって予め求められた複数の第１のタップ係数を記憶し、前記第１のコード演算部により演算されたコードに基づいて複数の第１のタップ係数を出力する第１の係数記憶部と、前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択部と、前記第１のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第１の係数記憶部から出力された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する第１の画像生成部と、して機能させるためのプログラムである。
【００２７】
本発明に係る撮像装置は、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子と、前記撮像素子から出力された第１の画像に対して画像処理を行う請求項１から請求項５のいずれか１項に記載の画像処理装置と、を備えている。
【発明の効果】
【００２８】
本発明に係る画像処理装置、画像処理方法、プログラム及び撮像装置は、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された画像から、各色成分の高画質の画像を得ることができる。
【図面の簡単な説明】
【００２９】
【図１】撮像装置の一実施の形態の構成例を示すブロック図である。
【図２】デモザイク部の構成例を示すブロック図である。
【図３】仮想色差（Ｒ−Ｇ）生成部３３の構成例を示すブロック図である。
【図４】仮Ｇ生成部の構成例を示すブロック図である。
【図５】Ｒ画素位置における水平方向のＧ成分値の補間方法を説明する図である。
【図６】水平補間色差及び垂直補間色差の説明図である。
【図７】入力画像中のＲ４４画素が注目画素の場合における仮Ｇｒの求め方を説明する図である。
【図８】入力画像中のＢ５５画素が注目画素の場合における仮Ｇｒの求め方を説明する図である。
【図９】仮想色差（Ｒ−Ｇ）生成部内の仮Ｇ生成部による仮Ｇ生成ルーチンを説明するフローチャートである。
【図１０】Ｇ画素位置における仮Ｒの生成を説明する図である。
【図１１】高解像Ｇ生成部の構成例を示すブロック図である。
【図１２】Ｇコードタップの構成例を示す図である。
【図１３】Ｇフィルタタップの構成例を示す図である。
【図１４】Ｇコード演算部の構成例を示すブロック図である。
【図１５】１ビットＤＲ量子化の例を説明する図である。
【図１６】高解像（Ｒ−Ｇ）生成部の構成例を示すブロック図である。
【図１７】（Ｒ−Ｇ）コードタップの構成例を示す図である。
【図１８】（Ｒ−Ｇ）フィルタタップの構成例を示す図である。
【図１９】（Ｂ−Ｇ）コードタップの構成例を示す図である。
【図２０】（Ｂ−Ｇ）フィルタタップの構成例を示す図である。
【図２１】デモザイク処理ルーチンを示すフローチャートである。
【図２２】入力画像に対する画像処理によって生成された高解像画像を示す図である。
【図２３】学習装置の構成例を示すブロック図である。
【図２４】高解像度画像から生成される生徒画像及び教師画像を説明するための図である。
【図２５】Ｇ係数データ生成部の構成例を示す図である。
【図２６】（Ｒ−Ｇ）係数データ生成部の構成例を示す図である。
【図２７】学習装置による学習処理ルーチンを説明するフローチャートである。
【発明を実施するための形態】
【００３０】
以下、図面を参照しながら本技術の実施の形態について説明する。
＜撮像装置１０の構成＞
図１は、撮像装置１０の一実施の形態の構成例を示すブロック図である。撮像装置１０は、静止画、及び、動画のいずれも撮影することができる。
【００３１】
撮像装置は、光学系１１、イメージセンサ１２、アナログ信号処理部１３、アナログ／ディジタル（Ａ／Ｄ）色分離部１４、欠陥補正部１５、デモザイク部１６、色処理部１７、ガンマ補正部１８、Ｙ色差変換部１９、コーデック部２０、出力部２１、及び制御部２２を備える。
【００３２】
光学系１１は、例えば、図示しないズームレンズや、フォーカスレンズ、絞り、光学ローパスフィルタ等を有する。光学系１１は、外部からの被写体光を、イメージセンサ１２に入射させる。
【００３３】
イメージセンサ１２は、例えば、複数の受光素子（画素）を有するＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）イメージセンサである。イメージセンサ１２の光入射面には、３原色ＲＧＢからなるベイヤー配列の色フィルタアレイが配置される。
【００３４】
イメージセンサ１２は、光学系１１からの入射光を受光し、受光素子毎に光電変換を行って、光学系１１からの入射光に対応する電気信号として画像信号を出力する。したがって、Ｒの色フィルタが配置された画素（Ｒ画素）からは、Ｒ成分の画像信号が得られるが、Ｇ成分およびＢ成分の画像信号は得られない。同様に、Ｇ画素からは、Ｇ成分の画像信号が得られるが、Ｒ成分およびＢ成分の画像信号は得られない。Ｂ画素からは、Ｂ成分の画像信号が得られるが、Ｒ成分およびＧ成分の画像信号は得られない。
【００３５】
アナログ信号処理部１３は、イメージセンサ１２から出力された画像信号に対して相関二重サンプリング処理等の所定のアナログ信号処理を実行する。
Ａ／Ｄ色分離部１４は、アナログ信号処理部１３から出力された画像信号をＡ／Ｄ変換し、さらに色分離処理を行い、赤（Ｒ）、緑（Ｇ）、青（Ｂ）のそれぞれの画像データを出力する。
欠陥補正部１５は、Ａ／Ｄ色分離部１４から出力されたＲＧＢの各画像データに対して欠陥補正処理を実行する。
【００３６】
デモザイク部１６は、欠陥補正部１５から出力されたＲＧＢの各画像データにデモザイク処理を実行する。なお、デモザイク部１６の詳細な構成は後述する。
【００３７】
色処理部１７は、デモザイク部１６から出力されたＲＧＢの各画像データに色補正処理を実行する。
ガンマ補正部１８は、色処理部１７から出力されたＲＧＢの画像データにガンマ補正処理を実行する。
Ｙ色差変換部１９は、ガンマ補正部１８から出力されたＲＧＢの画像データをＹ色差の画像データに変換する。
【００３８】
コーデック部２０は、ＭＰＥＧなどのエンコーダを用いて、Ｙ色差変換部１９から出力されたＹ色差の画像データを圧縮処理する。
出力部２１は、コーデック部２０からの画像データを出力する。例えば、出力部２１は、半導体メモリや、磁気ディスク、光ディスク等の記録媒体を駆動する図示しないドライバを有し、コーデック部２０からの画像データをその記録媒体に記録する。また、出力部２１は、コーデック部２０からの画像データを、例えば、ネットワークや各種ケーブル、無線などの通信手段に出力してもよい。
制御部２２は、ユーザ操作等に従い、撮像装置１０を構成する各ブロックを制御する。
【００３９】
＜デモザイク部１６の構成例＞
図２は、デモザイク部１６の構成例を示すブロック図である。デモザイク部１６で行われるデモザイク処理について説明する。
【００４０】
デモザイク部１６は、入力画像の注目している画素（以下、注目画素という）の位置における方向性を検出し、その方向性に基づき仮Ｇ画像を生成する。その後、Ｒ及びＢを補間した仮Ｒ及び仮Ｂを生成し、さらに仮想色差（Ｒ−Ｇ）及び仮想色差（Ｂ−Ｇ）を生成する。デモザイク部１６は、これらの仮想色差（Ｒ−Ｇ）及び（Ｂ−Ｇ）の画素と、コード分類型適応フィルタの学習処理によって予め求められた係数と、に基づいて、入力画像の各画素位置から半画素シフトした画像を生成する。
【００４１】
また、デモザイク部１６は、Ｇ画素の画素値と、コード分類型適応フィルタの学習処理によって予め求められた係数と、に基づいて、入力画像の各画素位置から半画素シフトした高解像Ｇ画像を生成する。最後に、デモザイク部１６は、この高解像Ｇ画像と仮想色差（Ｒ−Ｇ）及び（Ｂ−Ｇ）とに基づいて、高解像Ｒ画像または高解像Ｂ画像を生成する。
【００４２】
デモザイク部１６は、ベイヤー配列の色フィルタアレイが配置されたイメージセンサ１２からの画像（入力画像）に対してデモザイク処理を施し、高解像Ｒ画像、高解像Ｇ画像、及び高解像Ｂ画像をそれぞれ出力する。
【００４３】
以下の説明では、イメージセンサ１２のＲ画素から出力された信号値を画素値Ｒとする。同様に、Ｇ画素、Ｂ画素から出力された信号値をそれぞれ画素値Ｇ、画素値Ｂとする。
【００４４】
デモザイク部１６は、入力画像から注目画素を選択する注目画素選択部３１、入力Ｇ画像の遅延処理を行う遅延部３２，仮想色差（Ｒ−Ｇ）を生成する仮想色差（Ｒ−Ｇ）生成部３３、仮想色差（Ｂ−Ｇ）を生成する仮想色差（Ｂ−Ｇ）生成部３４を備える。
【００４５】
さらに、デモザイク部１６は、高解像Ｇ画像を生成する高解像Ｇ生成部３５、高解像（Ｒ−Ｇ）を生成する高解像（Ｒ−Ｇ）生成部３６、高解像（Ｂ−Ｇ）を生成する高解像（Ｂ−Ｇ）生成部３７、加算器３８、及び加算器３９を備える。
【００４６】
注目画素選択部３１は、入力画像を構成する各画素を走査し、複数の画素の中から１つの画素を注目画素として順次選択する。これにより、デモザイク部１６の各ブロックでは、選択中の注目画素に関する画像処理が実行される。
【００４７】
遅延部３２は、高解像Ｇ生成部３５、高解像（Ｒ−Ｇ）生成部３６、高解像（Ｂ−Ｇ）生成部３７における画像生成タイミングがそろうように、入力画像に遅延処理を施して、高解像Ｇ生成部３５へ出力する。
【００４８】
仮想色差（Ｒ−Ｇ）生成部３３は、入力画像Ｒ及びＧを用いて、入力画像のＲ画素位置及びＧ画素位置における色差（Ｒ−Ｇ）（以下、仮想色差（Ｒ−Ｇ）という。）を生成する。また、仮想色差（Ｂ−Ｇ）生成部３４は、入力画像Ｂ及びＧを用いて、入力画像のＢ画素位置及びＧ画素位置における色差（Ｂ−Ｇ）（以下、仮想色差（Ｂ−Ｇ）という。）を生成する。
【００４９】
高解像Ｇ生成部３５は、遅延部３２から出力された入力画像Ｇのみを用いて、入力画像Ｇに対して２倍の画素数を有する高解像Ｇ画像を生成する。高解像（Ｒ−Ｇ）生成部３６は、仮想色差（Ｒ−Ｇ）生成部３３から出力された仮想色差（Ｒ−Ｇ）を用いて、入力画像Ｒに対して４倍の画素数を有する高解像Ｒ画像を生成する。高解像（Ｂ−Ｇ）生成部３７は、仮想色差（Ｂ−Ｇ）生成部３４から出力された仮想色差（Ｂ−Ｇ）を用いて、入力画像Ｂに対して４倍の画素数を有する高解像Ｂ画像を生成する。
【００５０】
加算器３８は、高解像Ｇ生成部３５から出力された高解像Ｇ画像と、高解像（Ｒ−Ｇ）生成部３６から出力された高解像（Ｒ−Ｇ）と、を加算することで、高解像Ｒ画像を生成する。加算器３９は、高解像Ｇ生成部３５から出力された高解像Ｇ画像と、高解像（Ｂ−Ｇ）生成部３７から出力された高解像（Ｂ−Ｇ）と、を加算することで、高解像Ｂ画像を生成する。
【００５１】
＜仮想色差（Ｒ−Ｇ）生成部３３の構成例＞
図３は、仮想色差（Ｒ−Ｇ）生成部３３の構成例を示すブロック図である。仮想色差（Ｒ−Ｇ）生成部３３は、仮Ｇ生成部４１、仮Ｒ生成部４２、及び仮想色差（Ｒ−Ｇ）演算部４３を備える。
【００５２】
仮Ｇ生成部４１は、入力画像Ｇを用いて、入力画像のＲ位置において補間されたＧ成分値である仮Ｇを生成する。仮Ｒ生成部４２は、入力画像Ｒを用いて、入力画像のＧ位置において補間されたＲ成分値である仮Ｒを生成する。
【００５３】
仮想色差（Ｒ−Ｇ）演算部４３は、入力画像のそれぞれのＲ位置及びＧ位置における色差（Ｒ−Ｇ）（以下、仮想色差（Ｒ−Ｇ）という。）を生成する。具体的には、仮想色差（Ｒ−Ｇ）演算部４３は、入力画像のＲ位置においては、入力画像Ｒと仮Ｇ生成部４１で生成された仮Ｇとを用いて、Ｒ−仮Ｇを演算することで、仮想色差（Ｒ−Ｇ）を生成する。仮想色差（Ｒ−Ｇ）演算部４３は、入力画像のＧ位置においては、入力画像Ｇと仮Ｒ生成部４２で生成された仮Ｒとを用いて、仮Ｒ−Ｇを演算することで、仮想色差（Ｒ−Ｇ）を生成する。なお、仮想色差（Ｒ−Ｇ）演算部４３は、入力画像のＢ位置においては、仮想色差を生成しない。
【００５４】
図４は、仮Ｇ生成部４１の構成例を示すブロック図である。
仮Ｇ生成部４１は、水平補間部５１、水平補間色差演算部５２、水平補間色差統計量算出部５３、垂直補間部５４、垂直補間色差演算部５５、垂直補間色差統計量算出部５６、および仮Ｇ演算部５７を備える。
水平補間部８１は、入力画像のＲ画素の画素位置（以下、Ｒ画素位置という。）において水平方向に補間されたＧ成分値である補間値Ｇｈを算出する。
【００５５】
図５は、Ｒ画素位置における水平方向のＧ成分値の補間方法を説明する図である。
ベイヤー配列において、Ｒ画素が中心画素となる場合、その中心画素の周囲（上下左右）には４つのＧ画素である画素Ｇ１〜Ｇ４が配置される。この場合、水平補間部８１は、中心画素の左右両隣に位置するＧ２画素の画素値Ｇ２と、Ｇ３画素の画素値Ｇ３とを用いて、式（１）に従って、中心画素の画素位置における水平方向に補間されたＧ成分値である補間値Ｇｈを演算する。
Ｇｈ＝（Ｇ２＋Ｇ３）／２      ・・・（１）
【００５６】
水平補間部５１により補間された補間値Ｇｈは、水平補間色差演算部５２と仮Ｇ演算部５７に供給される。これにより、入力画像のＲ画素置では、画素値Ｒおよび補間値Ｇｈが得られる。
【００５７】
水平補間色差演算部５２は、各Ｒ画素位置において、入力画像のうちのＲ画素位置の画素値Ｒと、水平補間部５１から供給された水平方向の補間値Ｇｈと、の差分である水平補間色差ｒｈを演算する。具体的には、水平補間色差演算部５２は、式（２）に従って、水平補間色差ｒｈを演算する。
ｒｈ＝Ｒ−Ｇｈ                ・・・（２）
【００５８】
水平補間色差演算部５２により求められた水平補間色差ｒｈは、水平補間色差統計量算出部５３及び仮Ｇ演算部５７に供給される。
水平補間色差統計量算出部５３は、水平補間色差演算部５２から供給される水平補間色差ｒｈに基づいて、水平補間色差ｒｈの平均である平均Ａｒｇｈと、水平補間色差ｒｈの分散である分散Ｖｒｇｈとをそれぞれ算出し、これらの値を仮Ｇ演算部５７に供給する。
一方、垂直補間部５４は、入力画像のＲ画素位置において垂直方向に補間されたＧ成分値である補間値Ｇｖを算出する。
【００５９】
垂直補間部５４は、図５に示すように、中心画素の上下両隣に位置するＧ１画素の画素値Ｇ１と、Ｇ４画素の画素値Ｇ４とを用いて、式（３）に従って、中心画素の画素位置における垂直方向に補間されたＧ成分値である補間値Ｇｖを演算する。
Ｇｖ＝（Ｇ１＋Ｇ４）／２      ・・・（３）
【００６０】
垂直補間部５４により補間された補間値Ｇｖは、垂直補間色差演算部５５と仮Ｇ演算部５７に供給される。これにより、入力画像のＲ画素置では、画素値Ｒおよび補間値Ｇｖが得られる。
【００６１】
垂直補間色差演算部５５は、各Ｒ画素位置において、入力画像のうちのＲ画素位置の画素値Ｒと、垂直補間部５４から供給された垂直方向の補間値Ｇｖと、の差分である垂直補間色差ｒｖを演算する。具体的には、垂直補間色差演算部５５は、式（４）に従って、垂直補間色差ｒｖを演算する。
ｒｖ＝Ｒ−Ｇｖ                ・・・（４）
【００６２】
垂直補間色差演算部５５により求められた垂直補間色差ｒｖは、垂直補間色差統計量算出部５６及び仮Ｇ演算部５７に供給される。
【００６３】
垂直補間色差統計量算出部５６は、水平補間色差演算部５５から供給される垂直補間色差ｒｖに基づいて、垂直補間色差ｒｖの平均である平均Ａｒｇｖと、垂直補間色差ｒｖの分散である分散Ｖｒｇｖとをそれぞれ算出し、これらの値を仮Ｇ演算部５７に供給する。
【００６４】
仮Ｇ演算部５７は、水平補間色差演算部５２で求められた水平補間色差ｒｈ、水平補間色差統計量算出部５３で求められた平均Ａｒｇｈ及び分散Ｖｒｇｈと、垂直補間色差演算部５５で求められた垂直補間色差ｒｖと、垂直補間色差統計量算出部５６で求められた平均Ａｒｇｖ及び分散Ｖｒｇｖと、を用いて、Ｒ画素位置におけるＧ成分値である仮Ｇを演算する。
【００６５】
仮Ｇ演算部５７は、最初に、水平補間色差ｒｈの分散Ｖｒｇｈと、垂直補間色差ｒｖの分散Ｖｒｇｖの大小判定を行い、大きい方をＬＶｒｇ、小さい方をＳＶｒｇと設定する。そして、仮Ｇ演算部５７は、式（５）に従って、Ｒ画素位置における仮Ｇを演算する。
【００６６】
【数１】
2019161376.tif 000003
【００６７】
一方、仮想色差（Ｂ−Ｇ）生成部３４は、仮想色差（Ｒ−Ｇ）生成部３３と同様に構成されるが、仮想色差（Ｒ−Ｇ）生成部３３で使用したＲ画素位置や画素値Ｒの代わりに、Ｂ画素位置や画素値Ｂを使用する。
【００６８】
よって、仮想色差（Ｂ−Ｇ）生成部３４は、仮想色差（Ｒ−Ｇ）生成部３３と同様に、Ｂ画素位置において、水平方向に補間されたＧ成分値である補間値Ｇｈ、垂直方向に補間されたＧ成分値である補間値Ｇｖを算出する。
【００６９】
さらに、仮想色差（Ｂ−Ｇ）生成部３４は、水平補間色差ｂｈ（＝Ｂ−Ｇｈ）を演算し、当該水平補間色差ｂｈに基づいて、水平補間色差ｂｈの平均である平均Ａｂｇｈと、水平補間色差ｂｈの分散である分散Ｖｂｇｈとをそれぞれ算出する。
【００７０】
仮想色差（Ｂ−Ｇ）生成部３４は、同様に、垂直補間色差ｂｖ（＝Ｂ−Ｇｖ）を演算し、当該垂直補間色差ｂｖに基づいて、垂直補間色差ｂｖの平均である平均Ａｂｇｖと、垂直補間色差ｂｖの分散である分散Ｖｂｇｖとをそれぞれ算出する。
【００７１】
仮想色差（Ｂ−Ｇ）生成部３４は、水平補間色差ｂｈ、平均Ａｂｇｈ及び分散Ｖｂｇｈ、垂直補間色差ｂｖ、平均Ａｂｇｖ及び分散Ｖｂｇｖを用いて、Ｂ画素位置におけるＧ成分値である仮Ｇを演算する。
【００７２】
このとき、水平補間色差ｂｈの分散Ｖｂｇｈと、垂直補間色差ｂｖの分散Ｖｂｇｖの大小判定が行われ、大きい方がＬＶｂｇ、小さい方がＳＶｂｇに設定される。そして、式（６）に従って、Ｂ画素位置における仮Ｇが演算される。
【００７３】
【数２】
2019161376.tif 000004
【００７４】
図６は、水平補間色差及び垂直補間色差の説明図である。図中のそれぞれの円は、１画素を表す。画素毎に、色成分値が与えられる。
【００７５】
入力画像におけるＲ画素位置においては、水平方向の補間値Ｇｈが演算される。そして、Ｒ画素位置毎に、画素値Ｒと補間値Ｇｈとの差分が演算され、水平補間色差ｒｈが求められる。つまり、入力画像のＲ画素位置では、ｒｈ＝Ｒ−Ｇｈが演算される。
【００７６】
さらに、Ｒ画素位置において、垂直方向の補間値Ｇｖが演算される。そして、Ｒ画素位置毎に、画素値Ｒと補間値Ｇｖとの差分が演算され、垂直補間色差ｒｖが求められる。つまり、入力画像のＲ画素位置では、ｒｖ＝Ｒ−Ｇｖも演算される。
【００７７】
一方、入力画像におけるＢ画素位置においては、水平方向の補間値Ｇｈが演算される。そして、Ｂ画素位置毎に、画素値Ｂと補間値Ｇｈとの差分が演算され、水平補間色差ｂｈが求められる。つまり、入力画像のＢ画素位置では、ｂｈ＝Ｂ−Ｇｈが演算される。
【００７８】
さらに、Ｂ画素位置において、垂直方向の補間値Ｇｖが演算される。そして、Ｂ画素位置毎に、画素値Ｂと補間値Ｇｖとの差分が演算され、垂直補間色差ｂｖが求められる。つまり、入力画像のＢ画素位置では、ｂｖ＝Ｂ−Ｇｖも演算される。
【００７９】
Ｒ画素位置の仮Ｇｒは、垂直補間色差ｒｖまたは水平補間色差ｒｈにおける注目位置を中心とした参照画素毎に求められる。また、Ｂ画素位置の仮Ｇｂは、垂直補間色差ｂｖまたは水平補間色差ｂｈにおける注目位置を中心とした参照画素毎に求められる。
【００８０】
図７は、入力画像中のＲ４４画素が注目画素の場合における仮Ｇｒの求め方を説明する図である。なお、図中の上段の各円内に記されたＲ、Ｇ、Ｂのいずれかの文字は、各画素の色成分を表す。Ｒ、Ｇ、Ｂのいずれかに続く数字は、左上から順にＹ方向の位置を示す０〜９、Ｘ方向の位置を示す０〜９の２桁の番号が付されている。
【００８１】
また、図中の下段の各円内に記されたｒｈ、ｂｈは、Ｒ画素又はＢ画素の位置の水平補間色差を表す。ｒｖ、ｂｖは、Ｒ画素又はＢ画素の位置の垂直補間色差を表す。さらに、ｒｈ、ｂｈ、ｒｖ、ｂｖに続く番号は、入力画像の対応する画素と同一の番号である。
【００８２】
水平補間色差ｒｈは、例えば次のように算出される。
ｒｈ００＝Ｒ００−Ｇｈ００
ｒｈ０２＝Ｒ０２−Ｇｈ０２
ｒｈ０４＝Ｒ０４−Ｇｈ０４
【００８３】
水平補間色差ｂｈは、例えば次のように算出される。
ｂｈ１１＝Ｂ１１−Ｇｈ１１
ｂｈ１３＝Ｂ１３−Ｇｈ１３
ｂｈ１５＝Ｂ１５−Ｇｈ１５
【００８４】
垂直補間色差ｒｖは、例えば次のように算出される。
ｒｖ００＝Ｒ００−Ｇｖ００
ｒｖ０２＝Ｒ０２−Ｇｖ０２
ｒｖ０４＝Ｒ０４−Ｇｖ０４
【００８５】
垂直補間色差ｂｖは、例えば次のように算出される。
ｂｖ１１＝Ｂ１１−Ｇｖ１１
ｂｖ１３＝Ｂ１３−Ｇｖ１３
ｂｖ１５＝Ｂ１５−Ｇｖ１５
なお、他の画素位置においても同様の演算が行われる。
【００８６】
Ｒ４４画素が注目画素の場合、Ｒ４４画素の画素位置を中心とする複数の参照画素の画素値に基づいて、水平補間色差の平均Ａｒｇｈ及び分散Ｖｒｇｈ、垂直補間色差の平均Ａｒｇｖ及び分散Ｖｒｇｖが求められる。
【００８７】
複数の参照画素は、Ｒ４４画素を中心として十字状に配列された９画素（図７の下段の太線の円）が該当する。ただし、参照画素は、十字状に配列された９画素に限定されるものではない。また、参照画素は、注目画素を中心として矩形に配列されたものでもよいが、画素数が少なく、広い領域をカバーできるものが好ましい。
【００８８】
具体的には、水平補間色差の平均Ａｒｇｈ及び分散Ｖｒｇｈ、垂直補間色差の平均Ａｒｇｖ及び分散Ｖｒｇｖは、次の式（７）の従って算出される。
【００８９】
Ａｒｇｈ＝Ａ（ｒｈ０４，ｒｈ２４，ｒｈ４０，ｒｈ４２，ｒｈ４４，ｒｈ４６，ｒｈ４８，ｒｈ６４，ｒｈ８４）
Ａｒｇｖ＝Ａ（ｒｖ０４，ｒｖ２４，ｒｖ４０，ｒｖ４２，ｒｖ４４，ｒｖ４６，ｒｖ４８，ｒｖ６４，ｒｖ８４）
Ｖｒｇｈ＝Ｖ（ｒｈ０４，ｒｈ２４，ｒｈ４０，ｒｈ４２，ｒｈ４４，ｒｈ４６，ｒｈ４８，ｒｈ６４，ｒｈ８４）
Ｖｒｇｖ＝Ｖ（ｒｖ０４，ｒｖ２４，ｒｖ４０，ｒｖ４２，ｒｖ４４，ｒｖ４６，ｒｖ４８，ｒｖ６４，ｒｖ８４）
・・・（７）
【００９０】
そして、Ｒ画素位置における仮Ｇｒは、以上のように求められた水平補間色差の平均Ａｒｇｈ及び分散Ｖｒｇｈ、垂直補間色差の平均Ａｒｇｖ及び分散Ｖｒｇｖ等に基づき、上述した式（５）に従って演算される。
【００９１】
図８は、入力画像中のＢ５５画素が注目画素の場合における仮Ｇｒの求め方を説明する図である。
Ｂ５５画素が注目画素の場合、Ｂ５５画素の画素位置を中心とする複数の参照画素の画素値に基づいて、水平補間色差の平均Ａｂｇｈ及び分散Ｖｂｇｈ、垂直補間色差の平均Ａｂｇｖ及び分散Ｖｂｇｖが求められる。複数の参照画素は、Ｂ５５画素を中心として十字状に配列された９画素（図８の下段の太線の円）が該当するが、この例に限定されるものではない。
【００９２】
具体的には、水平補間色差の平均Ａｂｇｈ及び分散Ｖｂｇｈ、垂直補間色差の平均Ａｂｇｖ及び分散Ｖｂｇｖは、次の式（８）の従って算出される。
【００９３】
Ａｂｇｈ＝Ａ（ｂｈ１５，ｂｈ３５，ｂｈ５１，ｂｈ５３，ｂｈ５５，ｂｈ５７，ｂｈ５９，ｂｈ７５，ｒｈ９５）
Ａｂｇｖ＝Ａ（ｂｖ１５，ｂｖ３５，ｂｖ５１，ｂｖ５３，ｂｖ５５，ｂｖ５７，ｂｖ５９，ｂｖ７５，ｒｖ９５）
Ｖｂｇｈ＝Ｖ（ｂｈ１５，ｂｈ３５，ｂｈ５１，ｂｈ５３，ｂｈ５５，ｂｈ５７，ｂｈ５９，ｂｈ７５，ｒｈ９５）
Ｖｂｇｖ＝Ｖ（ｂｖ１５，ｂｖ３５，ｂｖ５１，ｂｖ５３，ｂｖ５５，ｂｖ５７，ｂｖ５９，ｂｖ７５，ｒｖ９５）
・・・（８）
【００９４】
そして、画素位置における仮Ｇｂは、以上のように求められた水平補間色差の平均Ａｂｇｈ及び分散Ｖｂｇｈ、垂直補間色差の平均Ａｂｇｖ及び分散Ｖｂｇｖ等に基づき、上述した式（６）に従って演算される。
【００９５】
＜仮Ｇ生成ルーチン＞
図９は、仮想色差（Ｒ−Ｇ）生成部３３内の仮Ｇ生成部４１による仮Ｇ生成ルーチンを説明するフローチャートである。ここでは、Ｒ画素位置における仮Ｇの生成について説明する。なお、Ｂ画素位置における仮Ｇの生成、つまり仮想色差（Ｂ−Ｇ）生成部３４による仮Ｇの生成も、図９に示すルーチンと同様に行われる。
【００９６】
仮Ｇ生成部４１の入力画像は、ベイヤー配列の色フィルタアレイが配置されたイメージセンサ１２から出力された画像である。このため、入力画像は、イメージセンサ１２のＧ画素から出力されたＧ画像、Ｒ画素から出力されたＲ画像、及びＢ画素から出力されたＢ画像で構成される。
【００９７】
ステップＳ１１において、仮Ｇ生成部４１内の水平補間部５１及び垂直補間部５４は、入力画像におけるＲ画素とＢ画素のそれぞれの画素位置における式（１）及び式（３）を演算する。これにより、中心画素の画素位置における水平方向に補間されたＧ成分の値である補間値Ｇｈと、垂直方向に補間されたＧ成分の値である補間値Ｇｖとが算出される。そして、ステップＳ１２に進む。
【００９８】
ステップＳ１２において、水平補間色差演算部５２及び垂直補間色差演算部５５は、入力画像におけるＲ画素とＢ画素のそれぞれの画素位置における式（２）及び式（４）を演算する。これにより、水平補間色差ｒｈと垂直補間色差ｒｖが算出され、算出された各値が図示しないメモリに保持される。そして、ステップＳ１３に進む。
【００９９】
ステップＳ１３において、水平補間色差統計量算出部５３及び垂直補間色差統計量算出部５６は、水平補間色差の平均Ａｒｇｈ及び分散Ｖｒｇｈ、垂直補間色差の平均Ａｒｇｖ、分散Ｖｒｇｖを算出する。
【０１００】
ステップＳ１４において、仮Ｇ演算部５７は、水平補間色差統計量算出部５３及び垂直補間色差統計量算出部５６で算出された水平補間色差の平均Ａｒｇｈ及び分散Ｖｒｇｈ、垂直補間色差の平均Ａｒｇｖ、分散Ｖｒｇｖ等を用いて、式（５）に従って水平方向及び垂直方向に重み付けを行って、Ｒ画素位置における仮Ｇｒを演算する。仮Ｇｒが生成されると、仮Ｇｒ生成ルーチンは終了する。
【０１０１】
一方、図３に示す仮Ｒ生成部４２は、入力画像のＧ画素位置において、当該Ｒ画素位置の周囲にある複数のＲ画素の画素値を用いて、Ｒ成分値である仮Ｒを生成する。
【０１０２】
図１０は、Ｇ画素位置における仮Ｒの生成を説明する図である。
仮Ｒ生成部４２は、例えば、Ｒ００画素とＲ０２画素の間にあるＧ画素が中心画素になった場合、中心画素の左右両隣にあるＲ００画素とＲ０２画素の各画素値Ｒ００、Ｒ０２を用いて、式（９）に従って、水平方向に補間されたＲ成分値である仮Ｒ（ｒ０１）を算出する。
ｒ０１＝（Ｒ００＋Ｒ０２）／２        ・・・（９）
【０１０３】
また、仮Ｒ生成部４２は、例えば、Ｒ００画素とＲ２０画素の間にあるＧ画素が中心画素になった場合、中心画素の上下両隣にあるＲ００画素とＲ２０画素の各画素値Ｒ００、Ｒ２０を用いて、式（１０）に従って、垂直方向に補間されたＲ成分値である仮Ｒ（ｒ１０）を算出する。
ｒ０１＝（Ｒ００＋Ｒ２０）／２        ・・・（１０）
【０１０４】
以上のように、仮想色差（Ｒ−Ｇ）生成部３３内の仮Ｒ生成部４２では、入力画像のＧ画素位置において、水平方向又は垂直方向に隣接するＲ画素の画素値を補間することによって、仮Ｒが生成される。仮想色差（Ｂ−Ｇ）生成部３４でも同様に、入力画像のＧ画素位置において、水平方向又は垂直方向に隣接するＢ画素の画素値を補間することによって、仮Ｂが生成される。
【０１０５】
図３に示す仮想色差（Ｒ−Ｇ）演算部４３は、入力画像のＲ画素位置において、当該Ｒ画素位置の画素値Ｒと、当該Ｒ画素位置において仮Ｇ生成部４１で生成された仮Ｇと、の差分を演算して、仮想色差（Ｒ−仮Ｇ）を生成する。また、仮想色差（Ｒ−Ｇ）演算部４３は、入力画像のＧ画素位置において、当該Ｇ画素位置において仮Ｒ生成部４２で生成された仮Ｒと、当該Ｇ画素位置の画素値Ｇと、の差分を演算して、仮想色差（仮Ｒ−Ｇ）を生成する。仮想色差（Ｒ−Ｇ）とは、仮想色差（Ｒ−仮Ｇ）及び仮想色差（仮Ｒ−Ｇ）を総称したものである。なお、Ｂ画素位置では、仮想色差（Ｒ−Ｇ）は生成されない。仮想色差（Ｒ−Ｇ）は、高解像（Ｒ−Ｇ）生成部３６に供給される。
【０１０６】
以上のように、仮想色差（Ｒ−Ｇ）生成部３３内の仮想色差（Ｒ−Ｇ）演算部４３では、入力画像のＲ画素位置及びＧ画素位置において、仮想色差（Ｒ−Ｇ）が生成される。仮想色差（Ｂ−Ｇ）生成部３４でも同様に、入力画像のＢ画素位置及びＧ画素位置において、仮想色差（Ｂ−Ｇ）が生成される。なお、Ｒ画素位置では、仮想色差（Ｂ−Ｇ）は生成されない。仮想色差（Ｂ−Ｇ）は、高解像（Ｂ−Ｇ）生成部３７に供給される。
【０１０７】
＜高解像Ｇ画像の生成＞
図２に示す高解像Ｇ生成部３５は、遅延部３２から供給される入力Ｇ画像に基づいて、当該入力Ｇ画像の２倍の解像度を有する高解像Ｇ画像を生成する。具体的には、高解像Ｇ生成部３５は、入力画像における注目画素に対応する画素およびその周辺の画素値を変数とし、予め学習により得られた係数を用いて積和演算を行うことにより、出力画像の注目画素の画素値を予測する。
【０１０８】
図１１は、高解像Ｇ生成部３５の構成例を示すブロック図である。
高解像Ｇ生成部３５は、Ｇコードタップ選択部６１、Ｇフィルタタップ選択部６２と、Ｇコード演算部６３、Ｇ係数記憶部６４、及びＧ積和演算部６５を備える。  
【０１０９】
Ｇコードタップ選択部６１は、遅延部３２から供給される入力画像から、高解像Ｇ画像を生成するため必要となる所定パターンのＧ成分からなるコードタップ（以下、Ｇコードタップという。）を選択する。Ｇコードタップは、例えば、出力画像の注目画素に対応する位置の入力画像の画素を中心画素とした所定の個数の画素で構成される。Ｇコードタップ選択部６１により選択されたＧコードタップは、Ｇコード演算部６３に供給される。
【０１１０】
＜コードタップの構成例＞
図１２は、Ｇコードタップ選択部６１で選択されるＧコードタップの構成例を示す図である。細い線の丸印は、入力画像である入力画素を表す。ドット柄の丸印は、出力画像の入力画素に対する画素位置位相のイメージを表す。
【０１１１】
出力画素は、図１２に示すように、入力画素から位相をシフトさせた位置に存在する。したがって、入力画像は、半画素位相シフトした出力画像に変換される。また、十字の一点差線の中心画素は、注目画素になっている入力画素を表す。太線の丸印は、Ｇコードタップとなる入力画素を表す。なお、Ｇコードタップは、図１２に示す構成例に限定されるものではなく、他の構成であってもよい。
【０１１２】
Ｇコードタップ選択部６１は、例えば、注目画素に対応する入力画素の位置に最も近い入力画素を基準として、注目画素についてのＧコードタップとなる入力画素を選択し、選択したＧコードタップをＧコード演算部６３に供給する。
【０１１３】
Ｇコード演算部６３は、Ｇコードタップ選択部６９で選択されたＧコードタップに基づき、例えば、ＤＲ量子化による量子化やその他ダイナミックレンジの幅をコード化して特徴量等を抽出する。Ｇコード演算部６３は、抽出した特徴量等の情報を用いて、所定の規則に従って注目画素をコード分類し、その結果、注目画素に対応するＧコードを得る。Ｇコード演算部６３は、注目画素に対応するＧコードをＧ係数記憶部６４に供給する。なお、Ｇコード演算部６３の詳細構成については後述する。
【０１１４】
Ｇ係数記憶部６４には、後述する学習によって求められたＧコード毎のタップ係数が、予め、Ｇコードに対応づけられて記憶されている。そして、Ｇ係数記憶部６４は、既に記憶されているタップ係数の中から、Ｇコード演算部６３から供給されるＧコードに対応するアドレスに記憶されているタップ係数を読み出し、読み出したタップ係数をＧ積和演算部６５に供給する。
【０１１５】
Ｇフィルタタップ選択部６２は、高解像Ｇ画像を生成するために必要となる所定パターンのＧ成分からなるフィルタタップ（以下、Ｇフィルタタップという。）を入力画像から選択して取得する。Ｇフィルタタップは、例えば、出力画像の注目画素に対応する位置の入力画像の画素を中心画素とした所定の個数の画素で構成される。Ｇフィルタタップ選択部６２により選択されたＧフィルタタップは、Ｇ積和演算部６５に供給される。
【０１１６】
＜Ｇフィルタタップの構成例＞
図１３は、Ｇフィルタタップ選択部６２で選択されるフィルタタップの構成例を示す図である。細い線の丸印は、入力画像である入力画素を表す。ドット柄の丸印は、出力画像の入力画素に対する画素位置位相のイメージを表す。
【０１１７】
出力画素は、図１３に示すように、入力画素から位相をシフトさせた位置に存在する。したがって、入力画像は、半画素位相シフトした出力画像に変換される。また、十字の一点差線の中心画素は、注目画素になっている入力画素を表す。さらに太線の丸印は、Ｇフィルタタップとなる入力画素を表す。なお、Ｇフィルタタップは、図１３に示す構成例に限定されるものではなく、他の構成であってもよい。また、図１３に示すＧフィルタタップは、図１３に示すＧコードタップと異なる構成であってもよい。
【０１１８】
Ｇフィルタタップ選択部６２は、例えば、注目画素に対応する入力画素の位置に最も近い入力画素を基準として、注目画素についてのフィルタタップとなる入力画素を選択する。
【０１１９】
Ｇ積和演算部６５は、予め設定された線形一次式において、Ｇフィルタタップ選択部６２から出力されるＧフィルタタップを変数として代入し、Ｇ係数記憶部６４から供給された係数を用いてフィルタの演算を行う。すなわち、Ｇ積和演算部６５は、入力Ｇ画像における注目画素に対応する出力画素の画素値を、式（１１）に従い、Ｇフィルタタップを用いてフィルタ演算する。
【０１２０】
【数３】
2019161376.tif 000005
【０１２１】
ここで、Ｎは、Ｇフィルタタップの画素数である。Ｘｎは、Ｇフィルタタップ選択部６２で選択されたＧフィルタタップを構成する各Ｇ画素の画素値である。Ｗｎは、Ｇ係数記憶部６４から読み出されたタップ係数である。
【０１２２】
Ｇ積和演算部６５は、式（１１）に示すフィルタ演算を行うことによって、注目画素に対応する出力画素を予測（演算）する。Ｇ積和演算部６５は、入力画像のすべてのＧ画素の中から１つの注目画素が選択される毎に、当該注目画素に対応する出力画素を予測（演算）する。これにより、入力Ｇ画像の２倍の解像度である高解像Ｇ画像が生成される。
【０１２３】
図２に示す高解像Ｇ生成部３５は、生成した高解像Ｇ画像を外部へ出力すると共に、加算器３８へ供給する。
【０１２４】
＜Ｇコード演算部６３の構成例＞
図１４は、上述したＧコード演算部６３の構成例を示すブロック図である。Ｇコード演算部６３は、量子化演算部９１、及び、変換テーブル記憶部９２を備える。
量子化演算部９１は、Ｇコードタップ選択部６１から供給されるＧコードタップを構成する入力画素の各画素値を、例えば１ビットのＤＲ量子化を用いて量子化し、各入力画素の１ビットを所定の順番で配列したコードを、変換テーブル記憶部９２に供給する。
【０１２５】
ここで、コード分類を行う１つの手法として、例えば、コードタップとしての画素値を量子化するＤＲ（Ｄｙｎａｍｉｃ  Ｒａｎｇｅ）量子化がある。
ＤＲ量子化では、注目画素のコードタップを構成する各画素の画素値が量子化され、量子化によって得られたＤＲ量子化コードにしたがって、注目画素のコードが決定される。
【０１２６】
例えば、ＮビットＤＲ量子化の場合、コードタップを構成する各画素の画素値の最大値ＭＡＸと最小値ＭＩＮが検出される。そして、コードタップを構成する各画素の集合の局所的なダイナミックレンジＤＲ（＝ＭＡＸ−ＭＩＮ）が演算される。このダイナミックレンジＤＲに基づいて、コードタップを構成する各画素の画素値がＮビットに量子化される。より具体的には、コードタップを構成する各画素の画素値から最小値ＭＩＮが減算され、その減算値がＤＲ／２Ｎで除算（量子化）される。以上の処理によって得られたコードタップを構成するＮビットの各画素の画素値が所定の順番で並べられ、並べられたビット列がＤＲ量子化コードとして出力される。
【０１２７】
したがって、コードタップが例えば１ビットＤＲ量子化処理された場合、そのコードタップを構成する各画素の画素値は、最大値ＭＡＸと最小値ＭＩＮとの平均で除算される（整数演算）。これにより、各画素の画素値が１ビットとされる（二値化）。そして、その１ビットの画素値を所定の順番で並べたビット列が、ＤＲ量子化コードとして出力される。ＤＲ量子化のみでコード分類が行われる場合、例えば、ＤＲ量子化コードが、Ｇコード演算部６３で発生されるコードとなる。
【０１２８】
なお、Ｇコード演算部６３は、例えば、コードタップを構成する画素の画素値のレベル分布のパターンを、そのままクラスコードとして出力することも可能である。この場合、コードタップがＭ個の画素の画素値で構成され、各画素の画素値にＡビットが割り当てられるとすると、コード演算部３４から出力されたコードの場合の数は、（２Ｍ）Ａ通りとなり、画素の画素値のビット数Ａに指数的に比例した膨大な数となる。
【０１２９】
したがって、Ｇコード演算部６３は、コードタップの情報量を前述のＤＲ量子化又はベクトル量子化等によって圧縮することにより、コード分類を行うのが好ましい。
【０１３０】
図１５は、１ビットＤＲ量子化の例を説明する図である。なお、横軸は、コードタップを構成する入力画素の順番（又は位置）を表す。縦軸は、コードタップを構成する入力画素の画素値を表す。
【０１３１】
１ビットＤＲ量子化では、コードタップを構成する入力画素の画素値の中の最大画素値Ｍａｘから最小画素値Ｍｉｎを減算することにより、単純ダイナミックレンジＤＲが求められる。そして、単純ダイナミックレンジＤＲを２等分するレベルを閾値として、コードタップを構成する各入力画素の画素値が２値化され、１ビットのコードに変換される。
【０１３２】
図１３に示すコードタップの場合、例えば、８画素すべてのコードタップについて１ビットＤＲ量子化が行われると、８ビットのＤＲ量子化コードが得られる。量子化演算部９１で得られたコードは、変換テーブル記憶部９２に供給される。
【０１３３】
変換テーブル記憶部９２には、変換テーブルが記憶されている。この変換テーブルは、量子化演算部９１で得られたコード（入力コード）を最適化して、Ｇ係数記憶部６４に対応できるコード（出力コード）に変換する。よって、量子化演算部９１で得られたコードは、変換テーブル記憶部９２に予め記憶された変換テーブルによって、Ｇ係数記憶部６４用のコードに変換される。そして、変換されたコードは、Ｇ係数記憶部６４に供給される。
【０１３４】
なお、Ｇ係数記憶部６４の記憶容量が十分大きい場合、変換テーブル記憶部９２は省略可能である。その場合は、量子化演算部９１より得られたコードは、そのままＧ係数記憶部６４に供給される。
【０１３５】
また、変換テーブル記憶部９２に記憶されている変換テーブルは、出力コードを最適化するように、適宜更新可能である。これにより、変換テーブルは、例えば、ある入力コードの発生頻度が低い場合は、当該入力コードに対応する出力コードを代表的なコードに置き換えてもよい。また、変換テーブルは、異なる出力コードであっても近似する係数に対応づけられている場合、異なる出力コードを同一コードにしてもよい。
【０１３６】
＜高解像（Ｒ−Ｇ）画像の生成＞
図２に示す高解像（Ｒ−Ｇ）生成部３６は、仮想色差（Ｒ−Ｇ）生成部３３で生成された仮想色差（Ｒ−Ｇ）に基づいて、高解像Ｇ画像と同じ解像度である高解像（Ｒ−Ｇ）画像を生成する。
【０１３７】
図１６は、高解像（Ｒ−Ｇ）生成部３６の構成例を示すブロック図である。
高解像Ｇ生成部３５は、（Ｒ−Ｇ）コードタップ選択部７１、（Ｒ−Ｇ）フィルタタップ選択部７２と、（Ｒ−Ｇ）コード演算部７３、（Ｒ−Ｇ）係数記憶部７４、及び（Ｒ−Ｇ）積和演算部７５を備える。
【０１３８】
（Ｒ−Ｇ）コードタップ選択部７１は、仮想色差（Ｒ−Ｇ）生成部３３で生成された仮想色差（Ｒ−Ｇ）画像の中から、高解像（Ｒ−Ｇ）画像を生成するために必要となる所定パターンの色差（Ｒ−Ｇ）成分からなるコードタップ（以下、（Ｒ−Ｇ）コードタップという。）を選択する。（Ｒ−Ｇ）コードタップ選択部７１により選択された（Ｒ−Ｇ）コードタップは、（Ｒ−Ｇ）コード演算部７３に供給される。
【０１３９】
＜（Ｒ−Ｇ）コードタップの構成例＞
図１７は、（Ｒ−Ｇ）コードタップ選択部７１で選択される（Ｒ−Ｇ）コードタップの構成例を示す図である。細い線の丸印は、入力画像である入力画素を表す。ドット柄の丸印は、出力画像の入力画素に対する画素位置位相のイメージを表す。
【０１４０】
出力画素は、図１７に示すように、入力画素から位相をシフトさせた位置に存在する。したがって、入力画像は、半画素位相シフトした出力画像に変換される。また、十字の一点差線の中心画素は、注目画素になっている入力画素を表す。太線の丸印は、（Ｒ−Ｇ）コードタップとなる入力画素を表す。なお、（Ｒ−Ｇ）コードタップは、図１２に示す構成例に限定されるものではなく、他の構成であってもよい。
【０１４１】
（Ｒ−Ｇ）コードタップ選択部７１は、例えば、注目画素に対応する入力画素の位置に最も近い入力画素を基準として、注目画素についての（Ｒ−Ｇ）コードタップとなる入力画素を選択する。
【０１４２】
（Ｒ−Ｇ）コード演算部７３は、（Ｒ−Ｇ）コードタップ選択部７１で選択された（Ｒ−Ｇ）コードタップに基づき、例えば、ＤＲ量子化による量子化やその他ダイナミックレンジの幅をコード化して特徴量等を抽出する。（Ｒ−Ｇ）コード演算部７３は、抽出した特徴量等の情報を用いて、所定の規則に従って注目画素をコード分類し、その結果、注目画素に対応する（Ｒ−Ｇ）コードを得る。Ｇコード演算部６３は、注目画素に対応する（Ｒ−Ｇ）コードを（Ｒ−Ｇ）係数記憶部７４に供給する。
【０１４３】
（Ｒ−Ｇ）係数記憶部７４には、後述する学習によって求められた（Ｒ−Ｇ）コード毎のタップ係数が、予め、（Ｒ−Ｇ）コードに対応づけられている記憶されている。そして、（Ｒ−Ｇ）係数記憶部７４は、既に記憶されているタップ係数の中から、（Ｒ−Ｇ）コード演算部７３から供給される（Ｒ−Ｇ）コードに対応するアドレスに記憶されているタップ係数を読み出し、読み出したタップ係数を（Ｒ−Ｇ）積和演算部７５に供給する。
【０１４４】
（Ｒ−Ｇ）フィルタタップ選択部７２は、仮想色差（Ｒ−Ｇ）生成部３３で生成された仮想色差（Ｒ−Ｇ）画像の中から、高解像（Ｒ−Ｇ）画像を生成するために必要となる所定パターンの（Ｒ−Ｇ）成分からなるフィルタタップ（以下、（Ｒ−Ｇ）フィルタタップという。）を選択して取得する。（Ｒ−Ｇ）フィルタタップ選択部７２は、選択した（Ｒ−Ｇ）フィルタタップを（Ｒ−Ｇ）積和演算部７５へ供給する。
【０１４５】
＜（Ｒ−Ｇ）フィルタタップの構成例＞
図１８は、（Ｒ−Ｇ）フィルタタップ選択部７２で選択される（Ｒ−Ｇ）フィルタタップの構成例を示す図である。細い線の丸印は、入力画像である入力画素を表す。ドット柄の丸印は、出力画像の入力画素に対する画素位置位相のイメージを表す。
【０１４６】
出力画素は、図１８に示すように、入力画素から位相をシフトさせた位置に存在する。したがって、入力画像は、半画素位相シフトした出力画像に変換される。また、十字の一点差線の中心画素は、注目画素になっている入力画素を表す。さらに太線の丸印は、（Ｒ−Ｇ）フィルタタップとなる入力画素を表す。なお、（Ｒ−Ｇ）フィルタタップは、図１８に示す構成例に限定されるものではなく、他の構成であってもよい。また、図１８に示すＧフィルタタップは、図１７に示すＧコードタップと異なる構成であってもよい。
【０１４７】
（Ｒ−Ｇ）フィルタタップ選択部７２は、例えば、注目画素に対応する入力画素の位置に最も近い入力画素を基準として、注目画素についての（Ｒ−Ｇ）フィルタタップとなる入力画素を選択する。
【０１４８】
（Ｒ−Ｇ）積和演算部７５は、予め設定された線形一次式において、（Ｒ−Ｇ）フィルタタップ選択部７２から出力される（Ｒ−Ｇ）フィルタタップを変数として代入し、（Ｒ−Ｇ）係数記憶部７４から供給された係数を用いてフィルタの演算を行う。すなわち、（Ｒ−Ｇ）積和演算部７５は、入力（Ｒ−Ｇ）画像における注目画素に対応する出力画素の画素値を、上述した式（１１）に従い、（Ｒ−Ｇ）フィルタタップを用いてフィルタ演算する。
【０１４９】
式（１１）において、Ｎは、（Ｒ−Ｇ）フィルタタップの画素数である。Ｘｎは、（Ｒ−Ｇ）フィルタタップ選択部７２で選択された（Ｒ−Ｇ）フィルタタップを構成する各画素の（Ｒ−Ｇ）成分値である。Ｗｎは、（Ｒ−Ｇ）係数記憶部７４から読み出されたタップ係数である。
【０１５０】
（Ｒ−Ｇ）積和演算部７５は、式（１１）に示すフィルタ演算を行うことによって、注目画素に対応する出力画素を予測（演算）する。（Ｒ−Ｇ）積和演算部７５は、入力画像のすべての（Ｒ−Ｇ）成分を有する画素の中から１つの注目画素が選択される毎に、当該注目画素に対応する出力画素を予測（演算）する。これにより、高解像Ｇ画像と同じ解像度である高解像（Ｒ−Ｇ）画像が生成される。
【０１５１】
そして、図２に示す高解像（Ｒ−Ｇ）生成部３６は、生成した高解像（Ｒ−Ｇ）画像を加算器３８へ供給する。
高解像（Ｂ−Ｇ）生成部３７は、高解像（Ｒ−Ｇ）生成部３６と同様に構成されており、Ｒ画素に代えてＢ画素を取り扱う。
【０１５２】
＜（Ｂ−Ｇ）コードタップの構成例＞
図１９は、（Ｂ−Ｇ）コードタップの構成例を示す図である。細い線の丸印は、入力画像である入力画素を表す。ドット柄の丸印は、出力画像の入力画素に対する画素位置位相のイメージを表す。
【０１５３】
出力画素は、図１９に示すように、入力画素から位相をシフトさせた位置に存在する。したがって、入力画像は、半画素位相シフトした出力画像に変換される。また、十字の一点差線の中心画素は、注目画素になっている入力画素を表す。さらに太線の丸印は、（Ｂ−Ｇ）フィルタタップとなる入力画素を表す。なお、（Ｂ−Ｇ）コードタップは、図１９に示す構成例に限定されるものではなく、他の構成であってもよい。
【０１５４】
＜（Ｂ−Ｇ）フィルタタップの構成例＞
図２０は、（Ｂ−Ｇ）フィルタタップの構成例を示す図である。細い線の丸印は、入力画像である入力画素を表す。ドット柄の丸印は、出力画像の入力画素に対する画素位置位相のイメージを表す。
【０１５５】
出力画素は、図２０に示すように、入力画素から位相をシフトさせた位置に存在する。したがって、入力画像は、半画素位相シフトした出力画像に変換される。また、十字の一点差線の中心画素は、注目画素になっている入力画素を表す。さらに太線の丸印は、（Ｂ−Ｇ）フィルタタップとなる入力画素を表す。なお、（Ｂ−Ｇ）フィルタタップは、図２０に示す構成例に限定されるものではなく、他の構成であってもよい。また、図２０に示す（Ｂ−Ｇ）フィルタタップは、図１９に示すＧコードタップと異なる構成であってもよい。
【０１５６】
高解像（Ｂ−Ｇ）生成部３７は、高解像（Ｒ−Ｇ）生成部３６と同様の処理を行って、高解像Ｇ画像と同じ解像度の高解像（Ｂ−Ｇ）画像を生成する。
【０１５７】
加算器３８は、高解像Ｇ生成部３５で生成された高解像Ｇ画像と、高解像（Ｒ−Ｇ）生成部３６で生成された高解像（Ｒ−Ｇ）画像と、を加算することで、高解像Ｇ画像と同じ解像度である高解像Ｒ画像を生成する。
加算器３９は、高解像Ｇ生成部３５で生成された高解像Ｇ画像と、高解像（Ｂ−Ｇ）生成部３７で生成された高解像（Ｂ−Ｇ）画像と、を加算することで、高解像Ｇ画像と同じ解像度である高解像Ｂ画像を生成する。
【０１５８】
＜デモザイク処理ルーチン＞
図２１は、デモザイク部１６によるデモザイク処理ルーチンを示すフローチャートである。
【０１５９】
デモザイク部１６内の図２及び図３等に示す各ブロックは、ベイヤー配列の色フィルタアレイが用いられたイメージセンサ１２の出力値により構成される入力画像に対してステップＳ２１以降の処理を実行する。
【０１６０】
ステップＳ２１において、図３に示す仮Ｇ生成部４１は、Ｒ画素位置において、近接するＧ画素の画素値Ｇから補間された仮Ｇを生成する。同様に、仮想色差（Ｂ−Ｇ）生成部３４は、Ｂ画素位置において、近接するＧ画素の画素値Ｇから補間された仮Ｇを生成する。
【０１６１】
ステップＳ２２において、仮Ｒ生成部４２は、Ｇ画素位置において、近接するＲ画素の画素値Ｒから補間された仮Ｒを生成する。同様に、仮想色差（Ｂ−Ｇ）生成部３４は、Ｇ画素位置において、近接するＢ画素の画素値Ｂから補間された仮Ｂを生成する。
【０１６２】
ステップＳ２３において、仮想色差（Ｒ−Ｇ）演算部４３は、仮Ｇ生成部４１で生成された仮Ｇと入力画像のＲ画素値とを用いて、仮想色差（Ｒ−仮Ｇ）を生成する。また、仮想色差（Ｒ−Ｇ）演算部４３は、仮Ｒ生成部４２で生成された仮Ｒと入力画像の画素値Ｇとを用いて、仮想色差（仮Ｒ−Ｇ）を生成する。
【０１６３】
同様に、仮想色差（Ｂ−Ｇ）生成部３４は、仮Ｇと入力画像のＢ画素値とを用いて仮想色差（Ｂ−仮Ｇ）を生成し、仮Ｂと入力画像の画素値Ｇとを用いて、仮想色差（仮Ｂ−Ｇ）を生成する。
【０１６４】
ステップＳ２４において、注目画素選択部３１は、入力画像に対する出力画像を構成する画素のうち、まだ、注目画素として選択されていない画素の１つを注目画素として選択する。すなわち、注目画素選択部３１は、例えば、出力画像を構成する画素のうち、ラスタスキャン順で、まだ、注目画素とされていない画素を注目画素として選択する。
【０１６５】
ステップＳ２５において、Ｇコードタップ選択部６１は、入力画像に対する注目画素についてのＧコードタップを選択する。（Ｒ−Ｇ）コードタップ選択部７１は、入力画像に対する注目画素についての（Ｒ−Ｇ）コードタップを選択する。高解像（Ｂ−Ｇ）生成部３７は、入力画像に対する注目画素についての（Ｂ−Ｇ）コードタップを選択する。
【０１６６】
ステップＳ２６において、Ｇコード演算部６３は、供給されたＧコードタップを符号化して符号化コードを生成する。（Ｒ−Ｇ）コード演算部７３は、供給された（Ｒ−Ｇ）コードタップを符号化して符号化コードを生成する。高解像（Ｂ−Ｇ）生成部３７は、（Ｂ−Ｇ）コードタップを符号化して符号化コードを生成する。
【０１６７】
ステップＳ２７において、Ｇフィルタタップ選択部６２は、入力画像に対する注目画素についてのＧフィルタタップを選択する。（Ｒ−Ｇ）フィルタタップ選択部７２は、入力画像に対する注目画素についての（Ｒ−Ｇ）フィルタタップを選択する。高解像（Ｂ−Ｇ）生成部３７は、入力画像に対する注目画素についての（Ｂ−Ｇ）フィルタタップを選択する。
【０１６８】
ステップＳ２８において、Ｇ係数記憶部６４から、ステップＳ２６で演算された符号化コードに対応づけられたタップ係数であるＧ係数が読み出される。（Ｒ−Ｇ）係数記憶部７４から、ステップＳ２６で演算された符号化コードに対応づけられた（Ｒ−Ｇ）係数が読み出される。また、高解像（Ｂ−Ｇ）生成部３７では、ステップＳ２６で演算された符号化コードに対応づけられた（Ｂ−Ｇ）係数が内部記憶部から読み出される。
【０１６９】
ステップＳ２９において、Ｇ積和演算部６５は、注目画素について積和演算を行う。具体的には、Ｇ積和演算部６５は、式（１１）のＸ１，Ｘ２，・・・，ＸＮに対してステップＳ２７で選択されたＧフィルタタップの各画素値を代入し、タップ係数ｗｎに対してステップＳ２８で読み出されたＧ係数を代入し、式（１１）の演算を行う。同様に、（Ｒ−Ｇ）積和演算部７５及び高解像（Ｂ−Ｇ）生成部３７も、式（１１）に従って注目画素についてフィルタ演算を行う。
【０１７０】
ステップＳ３０において、Ｇ画素の生成処理であるか否かが判定され、Ｇ画素の生成処理である場合はステップＳ３２に進み、Ｇ画素の生成処理でない場合はステップＳ３１に進む。
【０１７１】
ステップＳ３１では、加算器３８は、注目画素について、ステップＳ２９の処理でフィルタ演算された画素値Ｇと、同様にフィルタ演算された色差成分（Ｒ−Ｇ）と、を加算することで、高解像Ｂ画像を構成する画素値Ｒを生成する。また、加算器３９は、注目画素について、ステップＳ２９の処理でフィルタ演算された画素値Ｇと、同様にフィルタ演算された色差成分（Ｂ−Ｇ）と、を加算することで、高解像Ｂ画像を構成する画素値Ｒを生成する。
【０１７２】
ステップＳ３２では、注目画素選択部３１が、まだ注目画素として選択されていない画素があるか否かを判定する。注目画素として選択されていない画素がある場合はステップＳ２４に戻り、その画素がない場合は本ルーチンが終了する。
【０１７３】
図２２は、デモザイク部１６の入力画素に対する生成画素を示す図である。同図に示すように、Ｇ入力画素に対してＧ生成画素の解像度は２倍になる。Ｒ入力画素に対してＲ生成画素の解像度は４倍になる。Ｂ入力画素に対してＢ生成画素の解像度は４倍になる。
【０１７４】
以上のように、デモザイク部１６は、ベイヤー配列の色フィルタが配置されたイメージセンサ１２の入力画像の中から、Ｇ画素の画素値のみを用いて、コード分類型適応フィルタの学習結果を利用して、高解像Ｇ画像を生成することができる。
【０１７５】
さらに、デモザイク部１６は、入力画像の中から、Ｒ画素及びＧ画素の画素値を用いて、コード分類型適応フィルタの学習結果を利用して、高解像（Ｒ−Ｇ）を生成する。そして、デモザイク部１６は、高解像（Ｒ−Ｇ）と高解像Ｇ画像とに基づいて高解像Ｒ画像を生成する。すなわち、デモザイク部１６は、Ｂ画素の画素値を用いることなく高解像Ｒ画像を生成することができる。同様に、デモザイク部１６は、Ｒ画素の画素値を用いることなく高解像Ｂ画像を生成することができる。これにより、ジッパーノイズ、偽色、色にじみ、リンギング等が大幅に低減された高解像画像が生成される。
【０１７６】
＜コード分類型適応フィルタの学習原理＞
デモザイク処理のために使用されるタップ係数は、コード分類型適応フィルタの学習処理によって、以下の手順で求められる。
【０１７７】
ここでは、低画質画像（第１の画像）は、高画質画像（第２の画像）をＬＰＦ（ｌｏｗ  Ｐａｓｓ  Ｆｉｌｔｅｒ）によってフィルタリングするなどして画質（解像度）を低下させたものをいう。
【０１７８】
コード分類型適応フィルタの学習処理では、低画質画像からフィルタタップが選択され、そのフィルタタップとタップ係数を用いて、高画質画像の画素（高画質画素）の画素値が所定の演算によって求められる。所定の演算とは、例えば線形１次予測演算である。
【０１７９】
この場合、高画質画素の画素値ｙは、式（１２）に示す線形１次式によって求められる。
【０１８０】
【数４】
2019161376.tif 000006
【０１８１】
フィルタタップは、Ｎ個の低画質画像の画素（低画質画素）ｘ１、ｘ２、・・・、ｘｎ、・・・、ｘＮで構成される。ｘｎは、高画質画素ｙについてのフィルタタップを構成するＮ個の低画質画素のうち、ｎ番目の低画質画素の画素値を表す。ｗｎは、ｎ番目の低画質画素（の画素値）ｘｎに乗算されるｎ番目のタップ係数を表す。
【０１８２】
高画質画素の画素値ｙは、式（１２）に示した線形１次式に限らず、例えば２次以上の高次の式によっても算出可能である。
【０１８３】
第ｋサンプル（ｋ番目）の高画質画素の画素値の真値をｙｋと表し、式（１２）によって得られるその真値ｙｋの予測値をｙｋ’と表す。このとき、予測値ｙｋ’の真値ｙｋに対する予測誤差ｅｋは、式（１３）で表される。
【０１８４】
【数５】
2019161376.tif 000007
【０１８５】
式（１３）の予測値ｙｋ’は、式（１２）に従って求められる。そこで、式（１３）のｙｋ’を、式（１２）に従って置き換えると、次の式（１４）が得られる。
【０１８６】
【数６】
2019161376.tif 000008
【０１８７】
ｘｎ，ｋは、第ｋサンプルの高画質画素ｙｋについてのフィルタタップを構成するｎ番目の低画質画素を表す。
【０１８８】
式（１４）（又は式（１３））の予測誤差ｅｋを０とするタップ係数ｗｎが、高画質画素ｙｋを予測するために最適なタップ係数となる。しかし、すべての高画質画素ｙｋについて、そのようなタップ係数ｗｎを求めることは、一般的には困難である。
【０１８９】
そこで、タップ係数ｗｎが最適な値であることを表す規範として、例えば、最小自乗法を採用する。この場合、最適なタップ係数ｗｎは、次の式（１５）で表される自乗誤差の総和Ｅが最小になるときの係数である。
【０１９０】
【数７】
2019161376.tif 000009
【０１９１】
Ｋは、高画質画素ｙｋと、その高画質画素ｙｋについてのフィルタタップを構成する低画質画素ｘ１，ｋ、ｘ２，ｋ、・・・、ｘｎ，ｋとのセットのサンプル数（学習用のサンプルの数）を表す。
【０１９２】
式（１５）の自乗誤差の総和Ｅの最小値（極小値）は、式（１６）に示すように、総和Ｅをタップ係数ｗｎで編微分した結果を０とするｗｎによって与えられる。
【０１９３】
【数８】
2019161376.tif 000010
【０１９４】
そこで、前述の式（１４）をタップ係数ｗｎで編微分すると、次の式（１７）が得られる。
【０１９５】
【数９】
2019161376.tif 000011
【０１９６】
式（１６）と式（１７）から、式（１８）が得られる。
【０１９７】
【数１０】
2019161376.tif 000012
【０１９８】
式（１８）のｅｋに式（１４）を代入すると、式（１８）は次の式（１９）に示す正規方程式で表される。
【０１９９】
【数１１】
2019161376.tif 000013
【０２００】
式（１９）の正規方程式は、例えば、掃き出し法（Ｇａｕｓｓ−Ｊｏｒｄａｎの消去法）などを用いることにより、タップ係数ｗｎについて解くことができる。
【０２０１】
式（１９）の正規方程式をコード毎にたてて解くことにより、最適なタップ係数（自乗誤差の総和Ｅを最小にするタップ係数）ｗｎが、コード毎に求められる。このようにして求められたタップ係数ｗｎが、例えばＧ係数としてＧ係数記憶部６４に記憶される。タップ係数は、例えば図２３に示す学習装置１００によって求められる。
【０２０２】
＜学習装置１００の構成＞
図２３は、学習装置１００の構成例を示すブロック図である。学習装置１００は、教師画像及び生徒画像を用いて学習することにより、高解像Ｇ画像、高解像（Ｒ−Ｇ）画像、高解像（Ｂ−Ｇ）画像をそれぞれ生成するために使用されるＧ係数、（Ｒ−Ｇ）係数、及び（Ｂ−Ｇ）係数を生成する。
【０２０３】
学習装置１００は、生徒画像生成部１０１、教師画像生成部１０２、注目画素選択部１０３、遅延部１０４、仮想色差（Ｒ−Ｇ）生成部１０５、仮想色差（Ｂ−Ｇ）生成部１０６、Ｇ係数データ生成部１０７、（Ｒ−Ｇ）係数データ生成部１０８、（Ｂ−Ｇ）係数データ生成部１０９を備えている。
【０２０４】
学習装置１００に入力される高解像度画像は、例えば、Ｒ成分、Ｇ成分及びＢ成分のそれぞれに対応する３つのイメージセンサからそれぞれ生成されたＲＧＢ各成分の高解像画像ＲＧＢである。
【０２０５】
図２４は、高解像度画像から生成される生徒画像及び教師画像を説明するための図である。
生徒画像生成部１０１は、学習装置１００に入力される高解像度画像ＲＧＢをそれぞれダウンコンバートする。ここで、ダウンコンバートのフィルタ特性は、例えば、４画素平均処理、ＬＰＦ処理等でよい。その後、生徒画像生成部１０２は、ダウンコンバートされた画像ＲＧＢから、ベイヤー配列に従ってＲＧＢが配置された生徒画像を生成する。すなわち、生徒画像は、ベイヤー配列の色フィルタアレイが配置されたイメージセンサ１２からそのまま出力された画像に対応する。
【０２０６】
教師画像生成部１０２は、学習装置１００に入力される高解像度画像ＲＧＢをそれぞれダウンコンバートして、ダウンコンバート済みの画像ＲＧＢを半画素シフトすることで、ＲＧＢ各成分の教師画像ＲＧＢを生成する。なお、ダウンコンバートのフィルタ特性は、生徒画像生成部１０１と同様である。
【０２０７】
注目画素選択部１０３は、教師画像生成部１０２で生成された教師画像の中の任意の１画素を注目画素として選択する。注目画素選択部１０３は、注目画素として選択した画素の座標値などの情報を、仮想色差（Ｒ−Ｇ）生成部１０５，Ｇ係数データ生成部１０７、（Ｒ−Ｇ）係数データ生成部１０８等の各ブロックに供給する。
【０２０８】
仮想色差（Ｒ−Ｇ）生成部１０５は、図２に示す仮想色差（Ｒ−Ｇ）生成部３３と同様に構成され、同様の処理を行う。すなわち、仮想色差（Ｒ−Ｇ）生成部１０５は、生徒画像生成部１０１で生成された生徒画像のＲ成分及び成分Ｇを用いて、Ｒ画素位置及びＧ画素位置における色差（Ｒ−Ｇ）である仮想色差（Ｒ−Ｇ）を生成する。
【０２０９】
仮想色差（Ｂ−Ｇ）生成部１０６は、図２に示す仮想色差（Ｂ−Ｇ）生成部３４と同様に構成され、同様の処理を行う。すなわち、仮想色差（Ｂ−Ｇ）生成部１０６は、生徒画像生成部１０１で生成された生徒画像の成分Ｂ及び成分Ｇを用いて、Ｂ画素位置及びＧ画素位置における色差（Ｂ−Ｇ）である仮想色差（Ｂ−Ｇ）を生成する。
【０２１０】
遅延部１０４は、仮想色差（Ｒ−Ｇ）生成部１０５及び仮想色差（Ｂ−Ｇ）生成部１０６の各出力タイミングに合うように、生徒画像生成部１０１で生成された生徒画像を遅延させてＧ係数データ生成部１０７に供給する。
【０２１１】
＜Ｇ係数データ生成部１０７の構成例＞
図２５は、Ｇ係数データ生成部１０７の構成例を示す図である。
Ｇ係数データ生成部１０７は、Ｇコードタップ選択部１１１、Ｇフィルタタップ選択部１１２、Ｇコード演算部１１３、Ｇ正規方程式加算部１１４、及びＧ係数データ演算部１１５を備える。
【０２１２】
Ｇコードタップ選択部１１１、Ｇフィルタタップ選択部１１２、及びＧコード演算部１１３は、図１１に示すＧコードタップ選択部６１、Ｇフィルタタップ選択部６２、及びＧコード演算部６３と同様に構成され、同様の処理を行う。
【０２１３】
Ｇ正規方程式加算部１１４は、Ｇコード演算部１１３から供給されるコード毎に、教師画像生成部１０２で生成された教師画像Ｇの注目画素（教師データ）ｙｋと、Ｇフィルタタップ選択部１１２で選択された注目画素についてのＧフィルタタップ（生徒データ（画素））ｘｎ，ｋとを対象とした足し込みを行う。
【０２１４】
そして、Ｇ正規方程式加算部１１４は、Ｇコード演算部１１３から供給されるコード毎に、フィルタタップ（生徒データ）ｘｎ，ｋを用い、式（１９）の左辺の行列における生徒データどうしの乗算（ｘｎ，ｋｘｎ‘，ｋ）と、サメーション（Σ）に相当する演算を行う。
【０２１５】
さらに、Ｇ正規方程式加算部１１４は、Ｇコード演算部１１３から供給されるコード毎に、Ｇフィルタタップ（生徒データ）ｘｎ，ｋと教師データｙｋとを用い、式（１９）の右辺のベクトルにおける生徒データｘｎ，ｋと教師データｙｋの乗算（ｘｎ，ｋｙｋ）と、サメーション（Σ）に相当する演算を行う。
【０２１６】
すなわち、Ｇ正規方程式加算部１１４は、前回注目画素とされた教師データについて求められた式（１９）における左辺の行列のコンポーネント（Σｘｎ，ｋｘｎ‘，ｋ）と、右辺のベクトルのコンポーネント（Σｘｎ，ｋｙｋ）と、を図示しない記憶部に記憶している。そして、Ｇ正規方程式加算部１１４は、行列コンポーネント（Σｘｎ，ｋｘｎ‘，ｋ）またはベクトルコンポーネント（Σｘｎ，ｋｙｋ）に対して、新たに注目画素とされた教師データについて、教師データｙｋ＋１と生徒データｘｎ，ｋ＋１を用いて計算する、対応コンポーネントｘｎ，ｋ＋１ｘｎ‘，ｋ＋１又はｘｎ，ｋ＋１ｙｋ＋１を、それぞれ足し込む（式（１９）のサメーションで表される加算）。
【０２１７】
そして、Ｇ正規方程式加算部１１４は、入力された高解像度画像の教師データすべてを注目画素として、前述の足し込みを行うことにより、各コードについて、式（１９）に示した正規方程式をたてる。Ｇ正規方程式加算部１１４は、各コードの正規方程式を、Ｇ係数データ演算部１１５に供給する。
【０２１８】
Ｇ係数データ演算部１１５は、Ｇ正規方程式加算部１１４から供給される各コードについての正規方程式を解くことにより、各コードについて、最適なタップ係数ｗｎを演算する。そして、Ｇ係数データ演算部１１５は、注目画素が設定された教師画像の種類（Ｇ成分の画像）に応じて、得られたタップ係数ｗｎを、フィルタ演算を行うために必要となるＧ係数として出力する。このようにして、得られたコード毎のＧ係数が、図１１に示すＧ係数記憶部６４に記憶される。
【０２１９】
＜Ｇ係数データ生成部１０７の構成例＞
図２６は、（Ｒ−Ｇ）係数データ生成部１０８の構成例を示す図である。
（Ｒ−Ｇ）係数データ生成部１０８は、（Ｒ−Ｇ）コードタップ選択部１２１、（Ｒ−Ｇ）フィルタタップ選択部１２２、（Ｒ−Ｇ）生成部１２３、（Ｒ−Ｇ）コード演算部１２４、（Ｒ−Ｇ）正規方程式加算部１２５、及び（Ｒ−Ｇ）係数データ演算部１２６を備える。
【０２２０】
（Ｒ−Ｇ）コードタップ選択部１２１、（Ｒ−Ｇ）フィルタタップ選択部１２２、及び（Ｒ−Ｇ）コード演算部１２４は、図１６に示す（Ｒ−Ｇ）コードタップ選択部７１、（Ｒ−Ｇ）フィルタタップ選択部７２、及び（Ｒ−Ｇ）コード演算部３３と同様に構成され、同様の処理を行う。
【０２２１】
（Ｒ−Ｇ）生成部１２３は、ベイヤー配列のＲＧＢ色フィルタアレイのＲ画素位置及びＧ画素位置において、教師画像生成部１０２で生成されたＲ成分及びＧ成分の各教師画像ＲＧの差分を演算することで、仮想色差ではなく実色差である（Ｒ−Ｇ）成分を生成する。（Ｒ−Ｇ）生成部１２３は、生成した（Ｒ−Ｇ）成分を教師データとして、（Ｒ−Ｇ）正規方程式加算部１２５へ供給する。
【０２２２】
（Ｒ−Ｇ）正規方程式加算部１２５は、（Ｒ−Ｇ）コード演算部１１４から供給されるコード毎に、（Ｒ−Ｇ）生成部１２３で生成された注目画素の色差成分（Ｒ−Ｇ）（教師データ）ｙｋと、（Ｒ−Ｇ）フィルタタップ選択部１２２で選択された注目画素についての（Ｒ−Ｇ）フィルタタップ（生徒データ（画素））ｘｎ，ｋとを対象とした足し込みを行う。
【０２２３】
すなわち、（Ｒ−Ｇ）正規方程式加算部１２５は、教師データとして教師画像のＧ成分の代わりに（Ｒ−Ｇ）成分を用いる点を除き、Ｇ正規方程式加算部１１４と同様の処理を行い、各（Ｒ−Ｇ）コードについて、式（１９）に示した正規方程式をたてる。そして、（Ｒ−Ｇ）正規方程式加算部１２５は、各（Ｒ−Ｇ）コードの正規方程式を、（Ｒ−Ｇ）係数データ演算部１２６に供給する。
【０２２４】
（Ｒ−Ｇ）係数データ演算部１２６は、Ｇ係数データ演算部１１５と同様の処理を行って、（Ｒ−Ｇ）係数データを生成する。
【０２２５】
＜学習装置による学習処理ルーチン＞
図２７は、図２１の学習装置１００による学習処理ルーチンを説明するフローチャートである。学習装置１００は、３つのイメージセンサからそれぞれ生成されたＲＧＢ各成分の高解像画像ＲＧＢが入力されると、ステップＳ３１以降の処理を実行する。
【０２２６】
ステップＳ３１において、図２３に示す生徒画像生成部１０２は、入力された高解像度画像ＲＧＢから、例えば、ＬＰＦのシミュレーションモデルを用いるなどして、高解像度画像をダウンコンバートして、ベイヤー配列に従ってＲＧＢが配置された生徒画像（生徒データ）を生成する。
【０２２７】
ステップＳ３２において、教師画像生成部１０３は、入力された高解像度画像ＲＧＢを、生徒画像と同様にしてダウンコンバートすると共に、生徒画像に対し半画素位相をシフトした教師画像（教師データ）を生成する。
【０２２８】
ステップＳ３３において、図２３に示す仮想色差（Ｒ−Ｇ）生成部１０５は、生徒画像生成部１０１で生成された生徒画像のＧ成分を用いて、Ｒ位置において補間された仮Ｇを生成する。仮想色差（Ｒ−Ｇ）生成部１０５は、生徒画像のＲ成分を用いて、Ｇ位置において補間された仮Ｒを生成する。そして、仮想色差（Ｒ−Ｇ）生成部１０５は、生徒画像のＲ成分及びＧ成分、上記の仮Ｇ及び仮Ｒを用いて、Ｒ画素位置及びＧ画素位置における色差（Ｒ−Ｇ）である仮想色差（Ｒ−Ｇ）を生成する。
【０２２９】
また、仮想色差（Ｂ−Ｇ）生成部１０６は、生徒画像生成部１０１で生成された生徒画像のＧ成分を用いて、Ｂ位置において補間された仮Ｇを生成する。仮想色差（Ｂ−Ｇ）生成部１０６は、生徒画像のＢ成分を用いて、Ｇ位置において補間された仮Ｂを生成する。そして、仮想色差（Ｂ−Ｇ）生成部１０６は、生徒画像のＢ成分及びＧ成分Ｇ、上記の仮Ｇ及び仮Ｂを用いて、Ｂ画素位置及びＧ画素位置における色差（Ｂ−Ｇ）である仮想色差（Ｂ−Ｇ）を生成する。
【０２３０】
ステップＳ３４において、注目画素選択部１０３は、教師画像生成部１０２で生成された教師画像を構成する画素の中の未選択の任意の１画素を注目画素として選択する。すなわち、注目画素選択部１０１は、教師画像を構成する画素のうち、ラスタスキャン順で、まだ注目画素とされていない画素を注目画素として選択する。
【０２３１】
ステップＳ３５において、図２５に示すＧコードタップ選択部１１１及び（Ｒ−Ｇ）コードタップ選択部１１６は、供給される生徒画像から、注目画素についてのＧコードタップ及び（Ｒ−Ｇ）コードタップをそれぞれ選択する。また、図２３に示す（Ｒ−Ｇ）データ生成部１０９は、生徒画像から注目画素についての（Ｂ−Ｇ）コードタップを選択する。
【０２３２】
ステップＳ３６において、Ｇコード演算部１１３は、供給されたＧコードタップを符号化して符号化コードを生成する。（Ｒ−Ｇ）コード演算部１２４は、供給された（Ｒ−Ｇ）コードタップを符号化して符号化コードを生成する。図２３に示す（Ｂ−Ｇ）係数データ生成部１０９は、（Ｂ−Ｇ）コードタップを符号化して符号化コードを生成する。
【０２３３】
ステップＳ３７において、Ｇフィルタタップ選択部１１２及び（Ｒ−Ｇ）フィルタタップ選択部１２２は、それぞれの生徒画像から注目画素についてのＧフィルタタップ及び（Ｒ−Ｇ）フィルタタップを選択する。また、（Ｂ−Ｇ）係数データ生成部１０９は、生徒画像から注目画素についての（Ｂ−Ｇ）フィルタタップを選択する。
【０２３４】
ステップＳ３８において、Ｇ正規方程式加算部１１４は、上述した式（１２）に示す線形１次式を生成し、Ｇコードタップ選択部１１１で選択されたＧコードタップを式（１２）の画素Ｘ１，２，・・・，ＸＮとして用いる。Ｇ正規方程式加算部１１４は、このようにして生成した線形１次式を、ステップＳ３６で生成された符号化コード毎に足し込んで、式（１９）の正規方程式を生成する。Ｇ正規化方程式加算部１１４は、生成した正規化方程式をＧ係数データ演算部１１５に供給する。（Ｒ−Ｇ）正規方程式加算部１２５、（Ｂ−Ｇ）係数データ生成部１０９も同様に正規化方程式を生成する。
【０２３５】
ステップＳ３９において、注目画素選択部１０３は、次の注目画素があるか否かを判定する。肯定判定の場合、すなわち次の注目画素がある場合は、ステップＳ３４に戻り、ステップＳ３４以降の処理が繰り返し実行される。否定判定の場合、ステップＳ４０に進む。
【０２３６】
ステップＳ４０において、Ｇ係数データ演算部１１５は、Ｇ係数データを生成する。具体的には、Ｇ係数データ演算部１１５は、式（１９）の正規方程式に対して、例えば掃き出し法（Ｇａｕｓｓ−Ｊｏｒｄａｎの消去法）を用いることによりタップ係数ｗｎを演算する。
【０２３７】
Ｇ係数データ演算部１１５は、注目画素が設定された教師画像の種類（Ｇ成分の画像）に応じて、得られたタップ係数ｗｎを、Ｇ出力画像の予測演算を行うために必要となるＧ係数として出力する。
同様に、（Ｒ−Ｇ）係数データ演算部１２６は、（Ｒ−Ｇ）係数データを演算し、（Ｂ−Ｇ）係数データ生成部１０９は、（Ｂ−Ｇ）係数データを演算する。
【０２３８】
このようにして、得られた符号化コード毎のＧ係数、（Ｒ−Ｇ）係数、および（Ｂ−Ｇ）係数は、高解像Ｇ生成部３５、高解像（Ｒ−Ｇ）生成部３６、高解像（Ｂ−Ｇ）生成部３７にそれぞれ記憶される。
【０２３９】
本発明は、上述した実施形態に限定されるものではなく、特許請求の範囲に記載された事項の範囲内で設計変更されたものにも適用可能である。
【０２４０】
例えば、図１又は図２に示すデモザイク部１６は、半導体集積回路や、上述した各ステップを実行するためのプログラムがインストールされたコンピュータ等によって実現可能である。また、このプログラムは、光ディスク、ハードディスク等の記録媒体からコンピュータにインストールされたものでもよいし、有線又は無線通信手段を経由して、外部からコンピュータに伝送されたものでもよい。
【符号の説明】
【０２４１】
１０  撮像装置，１６  デモザイク部，３３  仮想色差（Ｒ−Ｇ）生成部，３４  仮想色差（Ｂ−Ｇ）生成部，３５  高解像Ｇ生成部，３６  高解像（Ｒ−Ｇ）生成部，３７  高解像（Ｂ−Ｇ）生成部，３８  加算器，３９  加算器，４１  仮Ｇ生成部，４２  仮Ｒ生成部，４３  仮想色差（Ｒ−Ｇ）演算部，６１  Ｇコードタップ選択部，６２  Ｇフィルタタップ選択部，６３  Ｇコード演算部，６４  Ｇ係数記憶部，６５  Ｇ積和演算部，７１  （Ｒ−Ｇ）コードタップ選択部，７２  （Ｒ−Ｇ）フィルタタップ選択部，７３  （Ｒ−Ｇ）コード演算部，７４  （Ｒ−Ｇ）係数記憶部，７５  （Ｒ−Ｇ）積和演算部，１００  学習装置
【図１】
2019161376.tif 000014
【図２】
2019161376.tif 000015
【図３】
2019161376.tif 000016
【図４】
2019161376.tif 000017
【図５】
2019161376.tif 000018
【図６】
2019161376.tif 000019
【図７】
2019161376.tif 000020
【図８】
2019161376.tif 000021
【図９】
2019161376.tif 000022
【図１０】
2019161376.tif 000023
【図１１】
2019161376.tif 000024
【図１２】
2019161376.tif 000025
【図１３】
2019161376.tif 000026
【図１４】
2019161376.tif 000027
【図１５】
2019161376.tif 000028
【図１６】
2019161376.tif 000029
【図１７】
2019161376.tif 000030
【図１８】
2019161376.tif 000031
【図１９】
2019161376.tif 000032
【図２０】
2019161376.tif 000033
【図２１】
2019161376.tif 000034
【図２２】
2019161376.tif 000035
【図２３】
2019161376.tif 000036
【図２４】
2019161376.tif 000037
【図２５】
2019161376.tif 000038
【図２６】
2019161376.tif 000039
【図２７】
2019161376.tif 000040
【手続補正書】
【提出日】平成30年7月11日(2018.7.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択部と、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択部と、
前記第１のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算部と、
コード毎に、コード分類型適応フィルタの第１の学習処理によって予め求められた複数の第１のタップ係数を記憶し、前記第１のコード演算部により演算されたコードに基づいて複数の第１のタップ係数を出力する第１の係数記憶部と、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択部と、
前記第１のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第１の係数記憶部から出力された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する第１の画像生成部と、を備え、
前記第１のタップ係数は、
所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第１の画像と同一である画像から、前記第１の色成分のみで構成された第１の生徒画像と、
前記所定の被写体について、前記第１の画像と同一サイズの前記第１の色成分のみで構成され、前記第１の生徒画像に対して水平方向及び垂直方向に半画素シフトした第１の教師画像と、
を用いた前記第１の学習処理であって、前記第１の生徒画像の各画素と前記第１の教師画像の各画素のマッピングされた正規方程式を解く前記第１の学習処理により算出されたタップ係数である
画像処理装置。
【請求項２】
前記第１の色成分の各画素の画素位置、及び前記第１の色成分と異なる１つの色成分である第２の色成分の各画素の画素位置において、前記第１の色成分の画素の画素値と、前記第２の色成分の画素の画素値と、の差分である色差成分を生成する色差成分生成部と、
前記第１の色成分又は前記第２の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記色差成分の複数の画素が第３の配列パターンで配列されたコードタップを選択する第２のコードタップ選択部と、
前記第２のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第２のコード演算部と、
コード毎に、コード分類型適応フィルタの第２の学習処理によって予め求められた複数の第２のタップ係数を記憶し、前記第２のコード演算部により演算されたコードに基づいて複数の第２のタップ係数を出力する第２の係数記憶部と、
前記第１の色成分又は前記第２の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記色差成分の複数の画素が第４の配列パターンで配列されたフィルタタップを選択する第２のフィルタタップ選択部と、
前記第２のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第２の係数記憶部から出力された複数の第２のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記色差成分の画像を生成する第２の画像生成部と、
前記第１の画像生成部により生成された前記第１の色成分の画像と、前記第２の画像生成部により生成された前記色差成分の画像と、に基づいて、前記第２の色成分の画像を演算する演算部と、
を更に備えた請求項１に記載の画像処理装置。
【請求項３】
前記第２のタップ係数は、
前記所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第１の画像と同一である画像から、前記第１及び前記第２の各色成分の差分として得られた色差画像である第２の生徒画像と、
前記所定の被写体について、前記第１の画像と同一サイズの前記第１の色成分の画像と前記同一サイズの前記第２の色成分の画像との差分として得られた色差画像であって、前記第１の生徒画像に対して水平方向及び垂直方向に半画素シフトした前記色差画像である第２の教師画像と、
を用いた前記第２の学習処理であって、前記第２の生徒画像の各画素と前記第２の教師画像の各画素のマッピングされた正規方程式を解く前記第２の学習処理により算出されたタップ係数である
請求項２に記載の画像処理装置。
【請求項４】
前記色差成分生成部、前記第２のコードタップ選択部、前記第２のコード演算部、前記第２の係数記憶部、前記第２のフィルタタップ選択部、前記第２の画像生成部、及び前記演算部は、前記第１の画像において前記第１の色成分と異なる第２の色成分が複数存在する場合には、それぞれの第２の色成分毎に設けられる
請求項２又は請求項３に記載の画像処理装置。
【請求項５】
前記色差成分生成部は、
前記第２の色成分の各画素の画素位置において、当該画素位置に近接する第１の色成分の各画素の画素値から補間することで、前記第１の色成分の補間画素値を演算する第１の補間画素値演算部と、
前記第１の色成分の各画素の画素位置において、当該画素位置に近接する第２の色成分の各画素の画素値から補間することで、前記第２の色成分の補間画素値を演算する第２の補間画素値演算部と、
前記第２の色成分の各画素の画素位置においては、当該画素位置における第１の色成分の補間画素値と、当該画素位置における第２の色成分の画素値と、の差分を演算することで前記色差成分を生成し、前記第１の色成分の各画素の画素位置においては、当該画素位置における第１の色成分の画素値と、当該画素位置における第２の色成分の補間画素値と、の差分を演算することで前記色差成分を生成する差分演算部と、
を備えた請求項２から請求項４のいずれか１項に記載の画像処理装置。
【請求項６】
第１の補間画素値演算部は、前記第２の色成分の各画素の画素位置において、当該画素位置の水平方向及び垂直方向にそれぞれ近接する前記第１の色成分の複数の画素がある場合、水平方向における第１の色成分の各画素の画素値から水平補間値を演算し、垂直方向における第１の色成分の各画素の画素値から垂直補間値を演算し、前記水平補間値及び前記垂直補間値のそれぞれの分散に基づいて、前記水平補間値及び前記垂直補間値の重み付け平均値を演算することで、前記第２の色成分の補間値を演算する
請求項５に記載の画像処理装置。
【請求項７】
複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択ステップと、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択ステップで選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択ステップと、
前記第１のコードタップ選択ステップで選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算ステップと、
コード毎に、コード分類型適応フィルタの学習処理によって予め求められた複数の第１のタップ係数を記憶する係数記憶部から、前記第１のコード演算ステップで演算されたコードに基づいて複数の第１のタップ係数を読み出す第１の係数読み出しステップと、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択ステップで選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択ステップと、
前記第１のフィルタタップ選択ステップで選択されたフィルタタップの各画素値と、前記係数読み出しステップで読み出された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する画像生成ステップと、を備え、
前記第１のタップ係数は、
所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第１の画像と同一である画像から、前記第１の色成分のみで構成された第１の生徒画像と、
前記所定の被写体について、前記第１の画像と同一サイズの前記第１の色成分のみで構成され、前記第１の生徒画像に対して水平方向及び垂直方向に半画素シフトした第１の教師画像と、
を用いた前記第１の学習処理であって、前記第１の生徒画像の各画素と前記第１の教師画像の各画素のマッピングされた正規方程式を解く前記第１の学習処理により算出されたタップ係数である
画像処理方法。
【請求項８】
コンピュータを、
複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択部と、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択部と、
前記第１のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算部と、
コード毎に、コード分類型適応フィルタの学習処理によって予め求められた複数の第１のタップ係数を記憶し、前記第１のコード演算部により演算されたコードに基づいて複数の第１のタップ係数を出力する第１の係数記憶部と、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択部と、
前記第１のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第１の係数記憶部から出力された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する第１の画像生成部と、して機能させるためのものであって、
前記第１のタップ係数は、
所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第１の画像と同一である画像から、前記第１の色成分のみで構成された第１の生徒画像と、
前記所定の被写体について、前記第１の画像と同一サイズの前記第１の色成分のみで構成され、前記第１の生徒画像に対して水平方向及び垂直方向に半画素シフトした第１の教師画像と、
を用いた前記第１の学習処理であって、前記第１の生徒画像の各画素と前記第１の教師画像の各画素のマッピングされた正規方程式を解く前記第１の学習処理により算出されたタップ係数である
プログラム。
【請求項９】
複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子と、
前記撮像素子から出力された第１の画像に対して画像処理を行う請求項１から請求項６のいずれか１項に記載の画像処理装置と、
を備えた撮像装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
本発明に係る画像処理装置は、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択部と、前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択部と、前記第１のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算部と、コード毎に、コード分類型適応フィルタの第１の学習処理によって予め求められた複数の第１のタップ係数を記憶し、前記第１のコード演算部により演算されたコードに基づいて複数の第１のタップ係数を出力する第１の係数記憶部と、前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択部と、前記第１のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第１の係数記憶部から出力された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する第１の画像生成部と、を備えている。前記第１のタップ係数は、所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第１の画像と同一である画像から、前記第１の色成分のみで構成された第１の生徒画像と、前記所定の被写体について、前記第１の画像と同一サイズの前記第１の色成分のみで構成され、前記第１の生徒画像に対して水平方向及び垂直方向に半画素シフトした第１の教師画像と、を用いた前記第１の学習処理であって、前記第１の生徒画像の各画素と前記第１の教師画像の各画素のマッピングされた正規方程式を解く前記第１の学習処理により算出されたタップ係数である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
本発明に係る画像処理方法は、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択ステップと、前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択ステップで選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択ステップと、前記第１のコードタップ選択ステップで選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算ステップと、コード毎に、コード分類型適応フィルタの学習処理によって予め求められた複数の第１のタップ係数を記憶する係数記憶部から、前記第１のコード演算ステップで演算されたコードに基づいて複数の第１のタップ係数を読み出す第１の係数読み出しステップと、前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択ステップで選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択ステップと、前記第１のフィルタタップ選択ステップで選択されたフィルタタップの各画素値と、前記係数読み出しステップで読み出された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する画像生成ステップと、を備えている。前記第１のタップ係数は、所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第１の画像と同一である画像から、前記第１の色成分のみで構成された第１の生徒画像と、前記所定の被写体について、前記第１の画像と同一サイズの前記第１の色成分のみで構成され、前記第１の生徒画像に対して水平方向及び垂直方向に半画素シフトした第１の教師画像と、を用いた前記第１の学習処理であって、前記第１の生徒画像の各画素と前記第１の教師画像の各画素のマッピングされた正規方程式を解く前記第１の学習処理により算出されたタップ係数である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
本発明に係るプログラムは、コンピュータを、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択部と、前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択部と、前記第１のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算部と、コード毎に、コード分類型適応フィルタの学習処理によって予め求められた複数の第１のタップ係数を記憶し、前記第１のコード演算部により演算されたコードに基づいて複数の第１のタップ係数を出力する第１の係数記憶部と、前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択部と、前記第１のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第１の係数記憶部から出力された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する第１の画像生成部と、して機能させるためのプログラムである。前記第１のタップ係数は、所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第１の画像と同一である画像から、前記第１の色成分のみで構成された第１の生徒画像と、前記所定の被写体について、前記第１の画像と同一サイズの前記第１の色成分のみで構成され、前記第１の生徒画像に対して水平方向及び垂直方向に半画素シフトした第１の教師画像と、を用いた前記第１の学習処理であって、前記第１の生徒画像の各画素と前記第１の教師画像の各画素のマッピングされた正規方程式を解く前記第１の学習処理により算出されたタップ係数である。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
本発明に係る撮像装置は、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子と、前記撮像素子から出力された第１の画像に対して画像処理を行う前記画像処理装置と、を備えている。
【手続補正書】
【提出日】平成30年9月6日(2018.9.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択部と、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択部と、
前記第１のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算部と、
コード毎に、コード分類型適応フィルタの第１の学習処理によって予め求められた複数の第１のタップ係数を記憶し、前記第１のコード演算部により演算されたコードに基づいて複数の第１のタップ係数を出力する第１の係数記憶部と、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択部と、
前記第１のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第１の係数記憶部から出力された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する第１の画像生成部と、を備え、
前記第１のタップ係数は、
所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第１の画像と同一である画像から、前記第１の色成分のみで構成された第１の生徒画像と、
前記所定の被写体について、前記第１の画像と同一サイズの前記第１の色成分のみで構成され、前記第１の生徒画像に対して水平方向及び垂直方向に半画素シフトした第１の教師画像と、
を用いた前記第１の学習処理であって、前記第１の生徒画像の各画素と前記第１の教師画像の各画素のマッピングされた正規方程式を解く前記第１の学習処理により算出されたタップ係数である
画像処理装置。
【請求項２】
前記第１の色成分の各画素の画素位置、及び前記第１の色成分と異なる１つの色成分である第２の色成分の各画素の画素位置において、前記第１の色成分の画素の画素値と、前記第２の色成分の画素の画素値と、の差分である色差成分を生成する色差成分生成部と、
前記第１の色成分又は前記第２の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記色差成分の複数の画素が第３の配列パターンで配列されたコードタップを選択する第２のコードタップ選択部と、
前記第２のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第２のコード演算部と、
コード毎に、コード分類型適応フィルタの第２の学習処理によって予め求められた複数の第２のタップ係数を記憶し、前記第２のコード演算部により演算されたコードに基づいて複数の第２のタップ係数を出力する第２の係数記憶部と、
前記第１の色成分又は前記第２の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記色差成分の複数の画素が第４の配列パターンで配列されたフィルタタップを選択する第２のフィルタタップ選択部と、
前記第２のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第２の係数記憶部から出力された複数の第２のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記色差成分の画像を生成する第２の画像生成部と、
前記第１の画像生成部により生成された前記第１の色成分の画像と、前記第２の画像生成部により生成された前記色差成分の画像と、に基づいて、前記第２の色成分の画像を演算する演算部と、
を更に備えた請求項１に記載の画像処理装置。
【請求項３】
前記第２のタップ係数は、
前記所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第１の画像と同一である画像から、前記第１及び前記第２の各色成分の差分として得られた色差画像である第２の生徒画像と、
前記所定の被写体について、前記第１の画像と同一サイズの前記第１の色成分の画像と前記同一サイズの前記第２の色成分の画像との差分として得られた色差画像であって、前記第１の生徒画像に対して水平方向及び垂直方向に半画素シフトした前記色差画像である第２の教師画像と、
を用いた前記第２の学習処理であって、前記第２の生徒画像の各画素と前記第２の教師画像の各画素のマッピングされた正規方程式を解く前記第２の学習処理により算出されたタップ係数である
請求項２に記載の画像処理装置。
【請求項４】
前記色差成分生成部、前記第２のコードタップ選択部、前記第２のコード演算部、前記第２の係数記憶部、前記第２のフィルタタップ選択部、前記第２の画像生成部、及び前記演算部は、前記第１の画像において前記第１の色成分と異なる第２の色成分が複数存在する場合には、それぞれの第２の色成分毎に設けられる
請求項２又は請求項３に記載の画像処理装置。
【請求項５】
前記色差成分生成部は、
前記第２の色成分の各画素の画素位置において、当該画素位置に近接する第１の色成分の各画素の画素値から補間することで、前記第１の色成分の補間画素値を演算する第１の補間画素値演算部と、
前記第１の色成分の各画素の画素位置において、当該画素位置に近接する第２の色成分の各画素の画素値から補間することで、前記第２の色成分の補間画素値を演算する第２の補間画素値演算部と、
前記第２の色成分の各画素の画素位置においては、当該画素位置における第１の色成分の補間画素値と、当該画素位置における第２の色成分の画素値と、の差分を演算することで前記色差成分を生成し、前記第１の色成分の各画素の画素位置においては、当該画素位置における第１の色成分の画素値と、当該画素位置における第２の色成分の補間画素値と、の差分を演算することで前記色差成分を生成する差分演算部と、
を備えた請求項２から請求項４のいずれか１項に記載の画像処理装置。
【請求項６】
第１の補間画素値演算部は、前記第２の色成分の各画素の画素位置において、当該画素位置の水平方向及び垂直方向にそれぞれ近接する前記第１の色成分の複数の画素がある場合、水平方向における第１の色成分の各画素の画素値から水平補間値を演算し、垂直方向における第１の色成分の各画素の画素値から垂直補間値を演算し、前記水平補間値及び前記垂直補間値のそれぞれの分散に基づいて、前記水平補間値及び前記垂直補間値の重み付け平均値を演算することで、前記第２の色成分の補間値を演算する
請求項５に記載の画像処理装置。
【請求項７】
複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択ステップと、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択ステップで選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択ステップと、
前記第１のコードタップ選択ステップで選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算ステップと、
コード毎に、コード分類型適応フィルタの学習処理によって予め求められた複数の第１のタップ係数を記憶する係数記憶部から、前記第１のコード演算ステップで演算されたコードに基づいて複数の第１のタップ係数を読み出す第１の係数読み出しステップと、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択ステップで選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択ステップと、
前記第１のフィルタタップ選択ステップで選択されたフィルタタップの各画素値と、前記係数読み出しステップで読み出された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する画像生成ステップと、を備え、
前記第１のタップ係数は、
所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第１の画像と同一である画像から、前記第１の色成分のみで構成された第１の生徒画像と、
前記所定の被写体について、前記第１の画像と同一サイズの前記第１の色成分のみで構成され、前記第１の生徒画像に対して水平方向及び垂直方向に半画素シフトした第１の教師画像と、
を用いた第１の学習処理であって、前記第１の生徒画像の各画素と前記第１の教師画像の各画素のマッピングされた正規方程式を解く前記第１の学習処理により算出されたタップ係数である
画像処理方法。
【請求項８】
コンピュータを、
複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択部と、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択部と、
前記第１のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算部と、
コード毎に、コード分類型適応フィルタの学習処理によって予め求められた複数の第１のタップ係数を記憶し、前記第１のコード演算部により演算されたコードに基づいて複数の第１のタップ係数を出力する第１の係数記憶部と、
前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択部と、
前記第１のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第１の係数記憶部から出力された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する第１の画像生成部と、して機能させるためのものであって、
前記第１のタップ係数は、
所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第１の画像と同一である画像から、前記第１の色成分のみで構成された第１の生徒画像と、
前記所定の被写体について、前記第１の画像と同一サイズの前記第１の色成分のみで構成され、前記第１の生徒画像に対して水平方向及び垂直方向に半画素シフトした第１の教師画像と、
を用いた第１の学習処理であって、前記第１の生徒画像の各画素と前記第１の教師画像の各画素のマッピングされた正規方程式を解く前記第１の学習処理により算出されたタップ係数である
プログラム。
【請求項９】
複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子と、
前記撮像素子から出力された第１の画像に対して画像処理を行う請求項１から請求項６のいずれか１項に記載の画像処理装置と、
を備えた撮像装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
本発明に係る画像処理方法は、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択ステップと、前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択ステップで選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択ステップと、前記第１のコードタップ選択ステップで選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算ステップと、コード毎に、コード分類型適応フィルタの学習処理によって予め求められた複数の第１のタップ係数を記憶する係数記憶部から、前記第１のコード演算ステップで演算されたコードに基づいて複数の第１のタップ係数を読み出す第１の係数読み出しステップと、前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択ステップで選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択ステップと、前記第１のフィルタタップ選択ステップで選択されたフィルタタップの各画素値と、前記係数読み出しステップで読み出された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する画像生成ステップと、を備えている。前記第１のタップ係数は、所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第１の画像と同一である画像から、前記第１の色成分のみで構成された第１の生徒画像と、前記所定の被写体について、前記第１の画像と同一サイズの前記第１の色成分のみで構成され、前記第１の生徒画像に対して水平方向及び垂直方向に半画素シフトした第１の教師画像と、を用いた第１の学習処理であって、前記第１の生徒画像の各画素と前記第１の教師画像の各画素のマッピングされた正規方程式を解く前記第１の学習処理により算出されたタップ係数である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
本発明に係るプログラムは、コンピュータを、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第１の画像に対して、前記第１の画像の中の１つの画素を注目画素として選択する注目画素選択部と、前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第１の配列パターンで配列されたコードタップを選択する第１のコードタップ選択部と、前記第１のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第１のコード演算部と、コード毎に、コード分類型適応フィルタの学習処理によって予め求められた複数の第１のタップ係数を記憶し、前記第１のコード演算部により演算されたコードに基づいて複数の第１のタップ係数を出力する第１の係数記憶部と、前記第１の画像の主成分となる第１の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第１の色成分の複数の画素が第２の配列パターンで配列されたフィルタタップを選択する第１のフィルタタップ選択部と、前記第１のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第１の係数記憶部から出力された複数の第１のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第１の色成分の画像を生成する第１の画像生成部と、して機能させるためのプログラムである。前記第１のタップ係数は、所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第１の画像と同一である画像から、前記第１の色成分のみで構成された第１の生徒画像と、前記所定の被写体について、前記第１の画像と同一サイズの前記第１の色成分のみで構成され、前記第１の生徒画像に対して水平方向及び垂直方向に半画素シフトした第１の教師画像と、を用いた第１の学習処理であって、前記第１の生徒画像の各画素と前記第１の教師画像の各画素のマッピングされた正規方程式を解く前記第１の学習処理により算出されたタップ係数である。