JP6435560B1 - 画像処理装置、画像処理方法、プログラム及び撮像装置 - Google Patents

画像処理装置、画像処理方法、プログラム及び撮像装置 Download PDF

Info

Publication number
JP6435560B1
JP6435560B1 JP2018043672A JP2018043672A JP6435560B1 JP 6435560 B1 JP6435560 B1 JP 6435560B1 JP 2018043672 A JP2018043672 A JP 2018043672A JP 2018043672 A JP2018043672 A JP 2018043672A JP 6435560 B1 JP6435560 B1 JP 6435560B1
Authority
JP
Japan
Prior art keywords
pixel
image
code
tap
color component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018043672A
Other languages
English (en)
Other versions
JP2019161376A (ja
Inventor
明弘 奥村
明弘 奥村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Realop
Original Assignee
Realop
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Realop filed Critical Realop
Priority to JP2018043672A priority Critical patent/JP6435560B1/ja
Priority to PCT/JP2018/041564 priority patent/WO2019176161A1/ja
Application granted granted Critical
Publication of JP6435560B1 publication Critical patent/JP6435560B1/ja
Publication of JP2019161376A publication Critical patent/JP2019161376A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/10Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
    • H04N23/12Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths with one sensor only

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Color Television Image Signal Generators (AREA)

Abstract

【課題】ベイヤー配列の色フィルタアレイが配置された撮像素子から出力された画像から、各色成分の高画質の画像を生成する。
【解決手段】高解像G生成部35は、ベイヤー配列の色フィルタアレイが配置されたイメージセンサから出力された第1の画像から1つの注目画素を選択する注目画素選択部と、第1の画像のG成分の画素であって複数の画素からなるコードタップを選択するGコードタップ選択部61と、選択されたコードタップのGコードを演算するGコード演算部63と、コード毎に複数のG係数を記憶し、演算されたGコードに基づいて複数のG係数を出力するG係数記憶部64と、第1の画像のG成分の画素であって複数の画素からなるフィルタタップを選択するGフィルタタップ選択部62と、選択されたフィルタタップの各画素値と、出力された複数のG係数とに基づいて、注目画素毎に対応する出力画素の画素値を演算するG積和演算部65とを備える。
【選択図】図11

Description

本発明は、画像処理装置、画像処理方法、プログラム及び撮像装置に関する。
カメラの小型化、軽量化のために、3枚のイメージセンサを用いた3板式カメラではなく、1枚のイメージセンサを用いた単板式カメラが採用されている。
単板式カメラのイメージセンサの光入射面には、1画素毎に割り当てられた色フィルタアレイからなる色コーディングフィルタが設置される。これにより、このイメージセンサは、色コーディングフィルタにより色コーディングされた色成分の信号を1画素毎に生成する。色コーディングフィルタを構成する色フィルタアレイとして、例えば、R(赤),G(緑),B(青)の3原色フィルタアレイがある。
単板式カメラは、イメージセンサにより1画素毎に1つの色成分の信号を得て、各画素が持っている色成分の信号以外の色信号を線形補間処理により生成する。これにより、単板式カメラは、3板式カメラにより得られる画像に近い画像を得る。
色コーディングフィルタを構成する色フィルタアレイとして、ベイヤー配列の3原色色フィルタアレイが用いられることが多い。ベイヤー配列では、Gの色フィルタが市松状に配置され、残った部分にRとBの各色フィルタが一列毎に交互に配置される。
イメージセンサの各画素には、R,G,Bの3原色のいずれか1つの色のフィルタが配置される。各画素は、配置されたフィルタの色に対応する画像信号のみを出力する。
すなわち、Rの色フィルタが配置された画素からは、R成分の画像信号が出力されるが、G成分およびB成分の画像信号は出力されない。同様に、G成分の画素からは、G成分の画像信号のみが出力され、R成分およびB成分の画像信号は出力されない。B成分の画素からは、B成分の画像信号のみが出力され、R成分およびG成分の画像信号は出力されない。
そこで、従来、不足する色成分を補間する技術であるDLMMSE法が開示されている(非特許文献1参照)。DLMMSE法では、まず、水平・垂直の2方向において、イメージセンサからの入力画像の各画素位置の補間色差が求められて、注目している画素の位置の近傍の5画素の統計量が算出される。
算出された統計量を用いて、注目している画素の方向性(水平方向または垂直方向)が検出され、その検出結果に応じて、水平色差と垂直色差とが混合(按分)されることで、色差(R−G、B−G)が求められる。
このようにして求められた色差(R−G、B−G)に基づいて、G画素の画像信号、R画素の画像信号、およびB画素の画像信号がそれぞれ求められ、出力画像として生成される。
また、3板式カメラのCCD出力に相当する画像信号を単板式カメラのCCDイメージセンサで得られるようにする技術が開示されている(特許文献1参照)。特許文献1の技術は、入力画像における注目画素に対応する画素およびその周辺の画素値を変数とし、予め学習により得られた係数を用いた積和演算により出力画像の注目画素の画素値を予測する。
また、複数の色成分により構成される色フィルタアレイを有するイメージセンサの出力から、画質を劣化させることなく、各色成分の画像信号を得る技術が開示されている(特許文献2参照)。
特許文献2の技術は、単板式画素部から出力される第1の画像から指定領域を選択し、その指定領域の各々の色成分の代表値を算出し、指定領域の画素値から得られる特徴量に基づいて、予め記憶されている係数を読み出す。そして、特許文献2の技術は、 指定領域内の所定の画素に係る画素値を予測タップとし、代表値を用いて予測タップの各色成分の画素値を変換値に変換し、変換値を変数とし、読み出された係数を用いた積和演算により、各色成分の画素のみで構成される画像の各画素値をそれぞれ演算する。
また、単板式カメラにより取得された画像信号の偽色や雑音を低減する技術が開示されている(特許文献3)。
特許文献3の技術は、ベイヤー配列の単板式画素部から出力される画像信号により構成される第1の画像から、参照エリアを設定するとともに、参照エリアの領域を変化させて、参照エリア内の画素の画素値から得られる統計量を評価して、第1の画像内の注目位置の方向性を検出することで、注目位置の方向性をより高い精度で検出する。これにより、ナイキスト周波数に近い高周波成分を含む入力画像が入力された場合でも、参照エリアを広げることで、正確な方向性を検出して、確実に偽色や雑音を低減する。
特開2000−308079公報 特開2014−200008公報 特開2014−200033公報
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.
非特許文献1の技術は、色差(R−G、B−G)に基づいて、すなわち、R画素やB画素の情報を用いてG画素の画像信号を生成する。このため、G画素の画像信号に予測誤差が生じるため、ジッパーノイズが発生して画質が劣化する問題がある。
特許文献1の技術では、イメージセンサにおけるR、G、Bのそれぞれに対応する画素値が、そのまま、予測演算の変数であるタップとして用いられる。
しかしながら、R、G、Bの各画素値は、もともと相関が小さいため、例えば、注目画素周辺の複数の画素値をタップとして入力しても、予測演算において、十分な効果を発揮することができなかった。例えば、R、G、Bの各画素値の変化にほとんど相関がみられない領域などにおいて予測演算により画素値が生成されると、ジッパーノイズ、偽色、色にじみ、リンギングなどの画質劣化が顕著に発生する問題がある。
特許文献2の技術でも、G画素の画素値の予測精度が不足しており、ジッパーノイズを十分に抑えることができない問題がある。
また、特許文献3の技術でも、偽色を改善できない場合や、また水平・垂直を閾値で2値判定をおこなっているため、中間レベルがうまく処理できない。規模が大きいなどのデメリットがあった。
本発明は、上述した従来の問題を解決するものである。すなわち、本発明の目的は、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された画像から、画質を劣化させることなく、高画質の各色成分の画像を得ることができる画像処理装置、画像処理方法、プログラム及び撮像装置を提供することである。
本発明に係る画像処理装置は、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第1の画像に対して、前記第1の画像の中の1つの画素を注目画素として選択する注目画素選択部と、前記第1の画像の主成分となる第1の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第1の色成分の複数の画素が第1の配列パターンで配列されたコードタップを選択する第1のコードタップ選択部と、前記第1のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第1のコード演算部と、コード毎に、コード分類型適応フィルタの第1の学習処理によって予め求められた複数の第1のタップ係数を記憶し、前記第1のコード演算部により演算されたコードに基づいて複数の第1のタップ係数を出力する第1の係数記憶部と、前記第1の画像の主成分となる第1の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第1の色成分の複数の画素が第2の配列パターンで配列されたフィルタタップを選択する第1のフィルタタップ選択部と、前記第1のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第1の係数記憶部から出力された複数の第1のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第1の色成分の画像を生成する第1の画像生成部と、を備えている。前記第1のタップ係数は、所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第1の画像と同一である画像から、前記第1の色成分のみで構成された第1の生徒画像と、前記所定の被写体について、前記第1の画像と同一サイズの前記第1の色成分のみで構成され、前記第1の生徒画像に対して水平方向及び垂直方向に半画素シフトした第1の教師画像と、を用いた前記第1の学習処理であって、前記第1の生徒画像の各画素と前記第1の教師画像の各画素のマッピングされた正規方程式を解く前記第1の学習処理により算出されたタップ係数である。
本発明に係る画像処理方法は、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第1の画像に対して、前記第1の画像の中の1つの画素を注目画素として選択する注目画素選択ステップと、前記第1の画像の主成分となる第1の色成分の画素であって前記注目画素選択ステップで選択された注目画素に対して、前記第1の色成分の複数の画素が第1の配列パターンで配列されたコードタップを選択する第1のコードタップ選択ステップと、前記第1のコードタップ選択ステップで選択された前記コードタップの特徴量を示すコードを演算する第1のコード演算ステップと、コード毎に、コード分類型適応フィルタの学習処理によって予め求められた複数の第1のタップ係数を記憶する係数記憶部から、前記第1のコード演算ステップで演算されたコードに基づいて複数の第1のタップ係数を読み出す第1の係数読み出しステップと、前記第1の画像の主成分となる第1の色成分の画素であって前記注目画素選択ステップで選択された注目画素に対して、前記第1の色成分の複数の画素が第2の配列パターンで配列されたフィルタタップを選択する第1のフィルタタップ選択ステップと、前記第1のフィルタタップ選択ステップで選択されたフィルタタップの各画素値と、前記係数読み出しステップで読み出された複数の第1のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第1の色成分の画像を生成する画像生成ステップと、を備えている。前記第1のタップ係数は、所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第1の画像と同一である画像から、前記第1の色成分のみで構成された第1の生徒画像と、前記所定の被写体について、前記第1の画像と同一サイズの前記第1の色成分のみで構成され、前記第1の生徒画像に対して水平方向及び垂直方向に半画素シフトした第1の教師画像と、を用いた第1の学習処理であって、前記第1の生徒画像の各画素と前記第1の教師画像の各画素のマッピングされた正規方程式を解く前記第1の学習処理により算出されたタップ係数である。
本発明に係るプログラムは、コンピュータを、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第1の画像に対して、前記第1の画像の中の1つの画素を注目画素として選択する注目画素選択部と、前記第1の画像の主成分となる第1の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第1の色成分の複数の画素が第1の配列パターンで配列されたコードタップを選択する第1のコードタップ選択部と、前記第1のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第1のコード演算部と、コード毎に、コード分類型適応フィルタの学習処理によって予め求められた複数の第1のタップ係数を記憶し、前記第1のコード演算部により演算されたコードに基づいて複数の第1のタップ係数を出力する第1の係数記憶部と、前記第1の画像の主成分となる第1の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第1の色成分の複数の画素が第2の配列パターンで配列されたフィルタタップを選択する第1のフィルタタップ選択部と、前記第1のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第1の係数記憶部から出力された複数の第1のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第1の色成分の画像を生成する第1の画像生成部と、して機能させるためのプログラムである。前記第1のタップ係数は、所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第1の画像と同一である画像から、前記第1の色成分のみで構成された第1の生徒画像と、前記所定の被写体について、前記第1の画像と同一サイズの前記第1の色成分のみで構成され、前記第1の生徒画像に対して水平方向及び垂直方向に半画素シフトした第1の教師画像と、を用いた第1の学習処理であって、前記第1の生徒画像の各画素と前記第1の教師画像の各画素のマッピングされた正規方程式を解く前記第1の学習処理により算出されたタップ係数である。
本発明に係る撮像装置は、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子と、前記撮像素子から出力された第1の画像に対して画像処理を行う前記画像処理装置と、を備えている。

本発明に係る画像処理装置、画像処理方法、プログラム及び撮像装置は、複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された画像から、各色成分の高画質の画像を得ることができる。
撮像装置の一実施の形態の構成例を示すブロック図である。 デモザイク部の構成例を示すブロック図である。 仮想色差(R−G)生成部33の構成例を示すブロック図である。 仮G生成部の構成例を示すブロック図である。 R画素位置における水平方向のG成分値の補間方法を説明する図である。 水平補間色差及び垂直補間色差の説明図である。 入力画像中のR44画素が注目画素の場合における仮Grの求め方を説明する図である。 入力画像中のB55画素が注目画素の場合における仮Grの求め方を説明する図である。 仮想色差(R−G)生成部内の仮G生成部による仮G生成ルーチンを説明するフローチャートである。 G画素位置における仮Rの生成を説明する図である。 高解像G生成部の構成例を示すブロック図である。 Gコードタップの構成例を示す図である。 Gフィルタタップの構成例を示す図である。 Gコード演算部の構成例を示すブロック図である。 1ビットDR量子化の例を説明する図である。 高解像(R−G)生成部の構成例を示すブロック図である。 (R−G)コードタップの構成例を示す図である。 (R−G)フィルタタップの構成例を示す図である。 (B−G)コードタップの構成例を示す図である。 (B−G)フィルタタップの構成例を示す図である。 デモザイク処理ルーチンを示すフローチャートである。 入力画像に対する画像処理によって生成された高解像画像を示す図である。 学習装置の構成例を示すブロック図である。 高解像度画像から生成される生徒画像及び教師画像を説明するための図である。 G係数データ生成部の構成例を示す図である。 (R−G)係数データ生成部の構成例を示す図である。 学習装置による学習処理ルーチンを説明するフローチャートである。
以下、図面を参照しながら本技術の実施の形態について説明する。
<撮像装置10の構成>
図1は、撮像装置10の一実施の形態の構成例を示すブロック図である。撮像装置10は、静止画、及び、動画のいずれも撮影することができる。
撮像装置は、光学系11、イメージセンサ12、アナログ信号処理部13、アナログ/ディジタル(A/D)色分離部14、欠陥補正部15、デモザイク部16、色処理部17、ガンマ補正部18、Y色差変換部19、コーデック部20、出力部21、及び制御部22を備える。
光学系11は、例えば、図示しないズームレンズや、フォーカスレンズ、絞り、光学ローパスフィルタ等を有する。光学系11は、外部からの被写体光を、イメージセンサ12に入射させる。
イメージセンサ12は、例えば、複数の受光素子(画素)を有するCMOS(Complementary Metal Oxide Semiconductor)イメージセンサである。イメージセンサ12の光入射面には、3原色RGBからなるベイヤー配列の色フィルタアレイが配置される。
イメージセンサ12は、光学系11からの入射光を受光し、受光素子毎に光電変換を行って、光学系11からの入射光に対応する電気信号として画像信号を出力する。したがって、Rの色フィルタが配置された画素(R画素)からは、R成分の画像信号が得られるが、G成分およびB成分の画像信号は得られない。同様に、G画素からは、G成分の画像信号が得られるが、R成分およびB成分の画像信号は得られない。B画素からは、B成分の画像信号が得られるが、R成分およびG成分の画像信号は得られない。
アナログ信号処理部13は、イメージセンサ12から出力された画像信号に対して相関二重サンプリング処理等の所定のアナログ信号処理を実行する。
A/D色分離部14は、アナログ信号処理部13から出力された画像信号をA/D変換し、さらに色分離処理を行い、赤(R)、緑(G)、青(B)のそれぞれの画像データを出力する。
欠陥補正部15は、A/D色分離部14から出力されたRGBの各画像データに対して欠陥補正処理を実行する。
デモザイク部16は、欠陥補正部15から出力されたRGBの各画像データにデモザイク処理を実行する。なお、デモザイク部16の詳細な構成は後述する。
色処理部17は、デモザイク部16から出力されたRGBの各画像データに色補正処理を実行する。
ガンマ補正部18は、色処理部17から出力されたRGBの画像データにガンマ補正処理を実行する。
Y色差変換部19は、ガンマ補正部18から出力されたRGBの画像データをY色差の画像データに変換する。
コーデック部20は、MPEGなどのエンコーダを用いて、Y色差変換部19から出力されたY色差の画像データを圧縮処理する。
出力部21は、コーデック部20からの画像データを出力する。例えば、出力部21は、半導体メモリや、磁気ディスク、光ディスク等の記録媒体を駆動する図示しないドライバを有し、コーデック部20からの画像データをその記録媒体に記録する。また、出力部21は、コーデック部20からの画像データを、例えば、ネットワークや各種ケーブル、無線などの通信手段に出力してもよい。
制御部22は、ユーザ操作等に従い、撮像装置10を構成する各ブロックを制御する。
<デモザイク部16の構成例>
図2は、デモザイク部16の構成例を示すブロック図である。デモザイク部16で行われるデモザイク処理について説明する。
デモザイク部16は、入力画像の注目している画素(以下、注目画素という)の位置における方向性を検出し、その方向性に基づき仮G画像を生成する。その後、R及びBを補間した仮R及び仮Bを生成し、さらに仮想色差(R−G)及び仮想色差(B−G)を生成する。デモザイク部16は、これらの仮想色差(R−G)及び(B−G)の画素と、コード分類型適応フィルタの学習処理によって予め求められた係数と、に基づいて、入力画像の各画素位置から半画素シフトした画像を生成する。
また、デモザイク部16は、G画素の画素値と、コード分類型適応フィルタの学習処理によって予め求められた係数と、に基づいて、入力画像の各画素位置から半画素シフトした高解像G画像を生成する。最後に、デモザイク部16は、この高解像G画像と仮想色差(R−G)及び(B−G)とに基づいて、高解像R画像または高解像B画像を生成する。
デモザイク部16は、ベイヤー配列の色フィルタアレイが配置されたイメージセンサ12からの画像(入力画像)に対してデモザイク処理を施し、高解像R画像、高解像G画像、及び高解像B画像をそれぞれ出力する。
以下の説明では、イメージセンサ12のR画素から出力された信号値を画素値Rとする。同様に、G画素、B画素から出力された信号値をそれぞれ画素値G、画素値Bとする。
デモザイク部16は、入力画像から注目画素を選択する注目画素選択部31、入力G画像の遅延処理を行う遅延部32,仮想色差(R−G)を生成する仮想色差(R−G)生成部33、仮想色差(B−G)を生成する仮想色差(B−G)生成部34を備える。
さらに、デモザイク部16は、高解像G画像を生成する高解像G生成部35、高解像(R−G)を生成する高解像(R−G)生成部36、高解像(B−G)を生成する高解像(B−G)生成部37、加算器38、及び加算器39を備える。
注目画素選択部31は、入力画像を構成する各画素を走査し、複数の画素の中から1つの画素を注目画素として順次選択する。これにより、デモザイク部16の各ブロックでは、選択中の注目画素に関する画像処理が実行される。
遅延部32は、高解像G生成部35、高解像(R−G)生成部36、高解像(B−G)生成部37における画像生成タイミングがそろうように、入力画像に遅延処理を施して、高解像G生成部35へ出力する。
仮想色差(R−G)生成部33は、入力画像R及びGを用いて、入力画像のR画素位置及びG画素位置における色差(R−G)(以下、仮想色差(R−G)という。)を生成する。また、仮想色差(B−G)生成部34は、入力画像B及びGを用いて、入力画像のB画素位置及びG画素位置における色差(B−G)(以下、仮想色差(B−G)という。)を生成する。
高解像G生成部35は、遅延部32から出力された入力画像Gのみを用いて、入力画像Gに対して2倍の画素数を有する高解像G画像を生成する。高解像(R−G)生成部36は、仮想色差(R−G)生成部33から出力された仮想色差(R−G)を用いて、入力画像Rに対して4倍の画素数を有する高解像R画像を生成する。高解像(B−G)生成部37は、仮想色差(B−G)生成部34から出力された仮想色差(B−G)を用いて、入力画像Bに対して4倍の画素数を有する高解像B画像を生成する。
加算器38は、高解像G生成部35から出力された高解像G画像と、高解像(R−G)生成部36から出力された高解像(R−G)と、を加算することで、高解像R画像を生成する。加算器39は、高解像G生成部35から出力された高解像G画像と、高解像(B−G)生成部37から出力された高解像(B−G)と、を加算することで、高解像B画像を生成する。
<仮想色差(R−G)生成部33の構成例>
図3は、仮想色差(R−G)生成部33の構成例を示すブロック図である。仮想色差(R−G)生成部33は、仮G生成部41、仮R生成部42、及び仮想色差(R−G)演算部43を備える。
仮G生成部41は、入力画像Gを用いて、入力画像のR位置において補間されたG成分値である仮Gを生成する。仮R生成部42は、入力画像Rを用いて、入力画像のG位置において補間されたR成分値である仮Rを生成する。
仮想色差(R−G)演算部43は、入力画像のそれぞれのR位置及びG位置における色差(R−G)(以下、仮想色差(R−G)という。)を生成する。具体的には、仮想色差(R−G)演算部43は、入力画像のR位置においては、入力画像Rと仮G生成部41で生成された仮Gとを用いて、R−仮Gを演算することで、仮想色差(R−G)を生成する。仮想色差(R−G)演算部43は、入力画像のG位置においては、入力画像Gと仮R生成部42で生成された仮Rとを用いて、仮R−Gを演算することで、仮想色差(R−G)を生成する。なお、仮想色差(R−G)演算部43は、入力画像のB位置においては、仮想色差を生成しない。
図4は、仮G生成部41の構成例を示すブロック図である。
仮G生成部41は、水平補間部51、水平補間色差演算部52、水平補間色差統計量算出部53、垂直補間部54、垂直補間色差演算部55、垂直補間色差統計量算出部56、および仮G演算部57を備える。
水平補間部81は、入力画像のR画素の画素位置(以下、R画素位置という。)において水平方向に補間されたG成分値である補間値Ghを算出する。
図5は、R画素位置における水平方向のG成分値の補間方法を説明する図である。
ベイヤー配列において、R画素が中心画素となる場合、その中心画素の周囲(上下左右)には4つのG画素である画素G1〜G4が配置される。この場合、水平補間部81は、中心画素の左右両隣に位置するG2画素の画素値G2と、G3画素の画素値G3とを用いて、式(1)に従って、中心画素の画素位置における水平方向に補間されたG成分値である補間値Ghを演算する。
Gh=(G2+G3)/2 ・・・(1)
水平補間部51により補間された補間値Ghは、水平補間色差演算部52と仮G演算部57に供給される。これにより、入力画像のR画素置では、画素値Rおよび補間値Ghが得られる。
水平補間色差演算部52は、各R画素位置において、入力画像のうちのR画素位置の画素値Rと、水平補間部51から供給された水平方向の補間値Ghと、の差分である水平補間色差rhを演算する。具体的には、水平補間色差演算部52は、式(2)に従って、水平補間色差rhを演算する。
rh=R−Gh ・・・(2)
水平補間色差演算部52により求められた水平補間色差rhは、水平補間色差統計量算出部53及び仮G演算部57に供給される。
水平補間色差統計量算出部53は、水平補間色差演算部52から供給される水平補間色差rhに基づいて、水平補間色差rhの平均である平均Arghと、水平補間色差rhの分散である分散Vrghとをそれぞれ算出し、これらの値を仮G演算部57に供給する。
一方、垂直補間部54は、入力画像のR画素位置において垂直方向に補間されたG成分値である補間値Gvを算出する。
垂直補間部54は、図5に示すように、中心画素の上下両隣に位置するG1画素の画素値G1と、G4画素の画素値G4とを用いて、式(3)に従って、中心画素の画素位置における垂直方向に補間されたG成分値である補間値Gvを演算する。
Gv=(G1+G4)/2 ・・・(3)
垂直補間部54により補間された補間値Gvは、垂直補間色差演算部55と仮G演算部57に供給される。これにより、入力画像のR画素置では、画素値Rおよび補間値Gvが得られる。
垂直補間色差演算部55は、各R画素位置において、入力画像のうちのR画素位置の画素値Rと、垂直補間部54から供給された垂直方向の補間値Gvと、の差分である垂直補間色差rvを演算する。具体的には、垂直補間色差演算部55は、式(4)に従って、垂直補間色差rvを演算する。
rv=R−Gv ・・・(4)
垂直補間色差演算部55により求められた垂直補間色差rvは、垂直補間色差統計量算出部56及び仮G演算部57に供給される。
垂直補間色差統計量算出部56は、水平補間色差演算部55から供給される垂直補間色差rvに基づいて、垂直補間色差rvの平均である平均Argvと、垂直補間色差rvの分散である分散Vrgvとをそれぞれ算出し、これらの値を仮G演算部57に供給する。
仮G演算部57は、水平補間色差演算部52で求められた水平補間色差rh、水平補間色差統計量算出部53で求められた平均Argh及び分散Vrghと、垂直補間色差演算部55で求められた垂直補間色差rvと、垂直補間色差統計量算出部56で求められた平均Argv及び分散Vrgvと、を用いて、R画素位置におけるG成分値である仮Gを演算する。
仮G演算部57は、最初に、水平補間色差rhの分散Vrghと、垂直補間色差rvの分散Vrgvの大小判定を行い、大きい方をLVrg、小さい方をSVrgと設定する。そして、仮G演算部57は、式(5)に従って、R画素位置における仮Gを演算する。
一方、仮想色差(B−G)生成部34は、仮想色差(R−G)生成部33と同様に構成されるが、仮想色差(R−G)生成部33で使用したR画素位置や画素値Rの代わりに、B画素位置や画素値Bを使用する。
よって、仮想色差(B−G)生成部34は、仮想色差(R−G)生成部33と同様に、B画素位置において、水平方向に補間されたG成分値である補間値Gh、垂直方向に補間されたG成分値である補間値Gvを算出する。
さらに、仮想色差(B−G)生成部34は、水平補間色差bh(=B−Gh)を演算し、当該水平補間色差bhに基づいて、水平補間色差bhの平均である平均Abghと、水平補間色差bhの分散である分散Vbghとをそれぞれ算出する。
仮想色差(B−G)生成部34は、同様に、垂直補間色差bv(=B−Gv)を演算し、当該垂直補間色差bvに基づいて、垂直補間色差bvの平均である平均Abgvと、垂直補間色差bvの分散である分散Vbgvとをそれぞれ算出する。
仮想色差(B−G)生成部34は、水平補間色差bh、平均Abgh及び分散Vbgh、垂直補間色差bv、平均Abgv及び分散Vbgvを用いて、B画素位置におけるG成分値である仮Gを演算する。
このとき、水平補間色差bhの分散Vbghと、垂直補間色差bvの分散Vbgvの大小判定が行われ、大きい方がLVbg、小さい方がSVbgに設定される。そして、式(6)に従って、B画素位置における仮Gが演算される。
図6は、水平補間色差及び垂直補間色差の説明図である。図中のそれぞれの円は、1画素を表す。画素毎に、色成分値が与えられる。
入力画像におけるR画素位置においては、水平方向の補間値Ghが演算される。そして、R画素位置毎に、画素値Rと補間値Ghとの差分が演算され、水平補間色差rhが求められる。つまり、入力画像のR画素位置では、rh=R−Ghが演算される。
さらに、R画素位置において、垂直方向の補間値Gvが演算される。そして、R画素位置毎に、画素値Rと補間値Gvとの差分が演算され、垂直補間色差rvが求められる。つまり、入力画像のR画素位置では、rv=R−Gvも演算される。
一方、入力画像におけるB画素位置においては、水平方向の補間値Ghが演算される。そして、B画素位置毎に、画素値Bと補間値Ghとの差分が演算され、水平補間色差bhが求められる。つまり、入力画像のB画素位置では、bh=B−Ghが演算される。
さらに、B画素位置において、垂直方向の補間値Gvが演算される。そして、B画素位置毎に、画素値Bと補間値Gvとの差分が演算され、垂直補間色差bvが求められる。つまり、入力画像のB画素位置では、bv=B−Gvも演算される。
R画素位置の仮Grは、垂直補間色差rvまたは水平補間色差rhにおける注目位置を中心とした参照画素毎に求められる。また、B画素位置の仮Gbは、垂直補間色差bvまたは水平補間色差bhにおける注目位置を中心とした参照画素毎に求められる。
図7は、入力画像中のR44画素が注目画素の場合における仮Grの求め方を説明する図である。なお、図中の上段の各円内に記されたR、G、Bのいずれかの文字は、各画素の色成分を表す。R、G、Bのいずれかに続く数字は、左上から順にY方向の位置を示す0〜9、X方向の位置を示す0〜9の2桁の番号が付されている。
また、図中の下段の各円内に記されたrh、bhは、R画素又はB画素の位置の水平補間色差を表す。rv、bvは、R画素又はB画素の位置の垂直補間色差を表す。さらに、rh、bh、rv、bvに続く番号は、入力画像の対応する画素と同一の番号である。
水平補間色差rhは、例えば次のように算出される。
rh00=R00−Gh00
rh02=R02−Gh02
rh04=R04−Gh04
水平補間色差bhは、例えば次のように算出される。
bh11=B11−Gh11
bh13=B13−Gh13
bh15=B15−Gh15
垂直補間色差rvは、例えば次のように算出される。
rv00=R00−Gv00
rv02=R02−Gv02
rv04=R04−Gv04
垂直補間色差bvは、例えば次のように算出される。
bv11=B11−Gv11
bv13=B13−Gv13
bv15=B15−Gv15
なお、他の画素位置においても同様の演算が行われる。
R44画素が注目画素の場合、R44画素の画素位置を中心とする複数の参照画素の画素値に基づいて、水平補間色差の平均Argh及び分散Vrgh、垂直補間色差の平均Argv及び分散Vrgvが求められる。
複数の参照画素は、R44画素を中心として十字状に配列された9画素(図7の下段の太線の円)が該当する。ただし、参照画素は、十字状に配列された9画素に限定されるものではない。また、参照画素は、注目画素を中心として矩形に配列されたものでもよいが、画素数が少なく、広い領域をカバーできるものが好ましい。
具体的には、水平補間色差の平均Argh及び分散Vrgh、垂直補間色差の平均Argv及び分散Vrgvは、次の式(7)の従って算出される。
Argh=A(rh04,rh24,rh40,rh42,rh44,rh46,rh48,rh64,rh84)
Argv=A(rv04,rv24,rv40,rv42,rv44,rv46,rv48,rv64,rv84)
Vrgh=V(rh04,rh24,rh40,rh42,rh44,rh46,rh48,rh64,rh84)
Vrgv=V(rv04,rv24,rv40,rv42,rv44,rv46,rv48,rv64,rv84)
・・・(7)
そして、R画素位置における仮Grは、以上のように求められた水平補間色差の平均Argh及び分散Vrgh、垂直補間色差の平均Argv及び分散Vrgv等に基づき、上述した式(5)に従って演算される。
図8は、入力画像中のB55画素が注目画素の場合における仮Grの求め方を説明する図である。
B55画素が注目画素の場合、B55画素の画素位置を中心とする複数の参照画素の画素値に基づいて、水平補間色差の平均Abgh及び分散Vbgh、垂直補間色差の平均Abgv及び分散Vbgvが求められる。複数の参照画素は、B55画素を中心として十字状に配列された9画素(図8の下段の太線の円)が該当するが、この例に限定されるものではない。
具体的には、水平補間色差の平均Abgh及び分散Vbgh、垂直補間色差の平均Abgv及び分散Vbgvは、次の式(8)の従って算出される。
Abgh=A(bh15,bh35,bh51,bh53,bh55,bh57,bh59,bh75,rh95)
Abgv=A(bv15,bv35,bv51,bv53,bv55,bv57,bv59,bv75,rv95)
Vbgh=V(bh15,bh35,bh51,bh53,bh55,bh57,bh59,bh75,rh95)
Vbgv=V(bv15,bv35,bv51,bv53,bv55,bv57,bv59,bv75,rv95)
・・・(8)
そして、画素位置における仮Gbは、以上のように求められた水平補間色差の平均Abgh及び分散Vbgh、垂直補間色差の平均Abgv及び分散Vbgv等に基づき、上述した式(6)に従って演算される。
<仮G生成ルーチン>
図9は、仮想色差(R−G)生成部33内の仮G生成部41による仮G生成ルーチンを説明するフローチャートである。ここでは、R画素位置における仮Gの生成について説明する。なお、B画素位置における仮Gの生成、つまり仮想色差(B−G)生成部34による仮Gの生成も、図9に示すルーチンと同様に行われる。
仮G生成部41の入力画像は、ベイヤー配列の色フィルタアレイが配置されたイメージセンサ12から出力された画像である。このため、入力画像は、イメージセンサ12のG画素から出力されたG画像、R画素から出力されたR画像、及びB画素から出力されたB画像で構成される。
ステップS11において、仮G生成部41内の水平補間部51及び垂直補間部54は、入力画像におけるR画素とB画素のそれぞれの画素位置における式(1)及び式(3)を演算する。これにより、中心画素の画素位置における水平方向に補間されたG成分の値である補間値Ghと、垂直方向に補間されたG成分の値である補間値Gvとが算出される。そして、ステップS12に進む。
ステップS12において、水平補間色差演算部52及び垂直補間色差演算部55は、入力画像におけるR画素とB画素のそれぞれの画素位置における式(2)及び式(4)を演算する。これにより、水平補間色差rhと垂直補間色差rvが算出され、算出された各値が図示しないメモリに保持される。そして、ステップS13に進む。
ステップS13において、水平補間色差統計量算出部53及び垂直補間色差統計量算出部56は、水平補間色差の平均Argh及び分散Vrgh、垂直補間色差の平均Argv、分散Vrgvを算出する。
ステップS14において、仮G演算部57は、水平補間色差統計量算出部53及び垂直補間色差統計量算出部56で算出された水平補間色差の平均Argh及び分散Vrgh、垂直補間色差の平均Argv、分散Vrgv等を用いて、式(5)に従って水平方向及び垂直方向に重み付けを行って、R画素位置における仮Grを演算する。仮Grが生成されると、仮Gr生成ルーチンは終了する。
一方、図3に示す仮R生成部42は、入力画像のG画素位置において、当該R画素位置の周囲にある複数のR画素の画素値を用いて、R成分値である仮Rを生成する。
図10は、G画素位置における仮Rの生成を説明する図である。
仮R生成部42は、例えば、R00画素とR02画素の間にあるG画素が中心画素になった場合、中心画素の左右両隣にあるR00画素とR02画素の各画素値R00、R02を用いて、式(9)に従って、水平方向に補間されたR成分値である仮R(r01)を算出する。
r01=(R00+R02)/2 ・・・(9)
また、仮R生成部42は、例えば、R00画素とR20画素の間にあるG画素が中心画素になった場合、中心画素の上下両隣にあるR00画素とR20画素の各画素値R00、R20を用いて、式(10)に従って、垂直方向に補間されたR成分値である仮R(r10)を算出する。
r01=(R00+R20)/2 ・・・(10)
以上のように、仮想色差(R−G)生成部33内の仮R生成部42では、入力画像のG画素位置において、水平方向又は垂直方向に隣接するR画素の画素値を補間することによって、仮Rが生成される。仮想色差(B−G)生成部34でも同様に、入力画像のG画素位置において、水平方向又は垂直方向に隣接するB画素の画素値を補間することによって、仮Bが生成される。
図3に示す仮想色差(R−G)演算部43は、入力画像のR画素位置において、当該R画素位置の画素値Rと、当該R画素位置において仮G生成部41で生成された仮Gと、の差分を演算して、仮想色差(R−仮G)を生成する。また、仮想色差(R−G)演算部43は、入力画像のG画素位置において、当該G画素位置において仮R生成部42で生成された仮Rと、当該G画素位置の画素値Gと、の差分を演算して、仮想色差(仮R−G)を生成する。仮想色差(R−G)とは、仮想色差(R−仮G)及び仮想色差(仮R−G)を総称したものである。なお、B画素位置では、仮想色差(R−G)は生成されない。仮想色差(R−G)は、高解像(R−G)生成部36に供給される。
以上のように、仮想色差(R−G)生成部33内の仮想色差(R−G)演算部43では、入力画像のR画素位置及びG画素位置において、仮想色差(R−G)が生成される。仮想色差(B−G)生成部34でも同様に、入力画像のB画素位置及びG画素位置において、仮想色差(B−G)が生成される。なお、R画素位置では、仮想色差(B−G)は生成されない。仮想色差(B−G)は、高解像(B−G)生成部37に供給される。
<高解像G画像の生成>
図2に示す高解像G生成部35は、遅延部32から供給される入力G画像に基づいて、当該入力G画像の2倍の解像度を有する高解像G画像を生成する。具体的には、高解像G生成部35は、入力画像における注目画素に対応する画素およびその周辺の画素値を変数とし、予め学習により得られた係数を用いて積和演算を行うことにより、出力画像の注目画素の画素値を予測する。
図11は、高解像G生成部35の構成例を示すブロック図である。
高解像G生成部35は、Gコードタップ選択部61、Gフィルタタップ選択部62と、Gコード演算部63、G係数記憶部64、及びG積和演算部65を備える。
Gコードタップ選択部61は、遅延部32から供給される入力画像から、高解像G画像を生成するため必要となる所定パターンのG成分からなるコードタップ(以下、Gコードタップという。)を選択する。Gコードタップは、例えば、出力画像の注目画素に対応する位置の入力画像の画素を中心画素とした所定の個数の画素で構成される。Gコードタップ選択部61により選択されたGコードタップは、Gコード演算部63に供給される。
<コードタップの構成例>
図12は、Gコードタップ選択部61で選択されるGコードタップの構成例を示す図である。細い線の丸印は、入力画像である入力画素を表す。ドット柄の丸印は、出力画像の入力画素に対する画素位置位相のイメージを表す。
出力画素は、図12に示すように、入力画素から位相をシフトさせた位置に存在する。したがって、入力画像は、半画素位相シフトした出力画像に変換される。また、十字の一点差線の中心画素は、注目画素になっている入力画素を表す。太線の丸印は、Gコードタップとなる入力画素を表す。なお、Gコードタップは、図12に示す構成例に限定されるものではなく、他の構成であってもよい。
Gコードタップ選択部61は、例えば、注目画素に対応する入力画素の位置に最も近い入力画素を基準として、注目画素についてのGコードタップとなる入力画素を選択し、選択したGコードタップをGコード演算部63に供給する。
Gコード演算部63は、Gコードタップ選択部69で選択されたGコードタップに基づき、例えば、DR量子化による量子化やその他ダイナミックレンジの幅をコード化して特徴量等を抽出する。Gコード演算部63は、抽出した特徴量等の情報を用いて、所定の規則に従って注目画素をコード分類し、その結果、注目画素に対応するGコードを得る。Gコード演算部63は、注目画素に対応するGコードをG係数記憶部64に供給する。なお、Gコード演算部63の詳細構成については後述する。
G係数記憶部64には、後述する学習によって求められたGコード毎のタップ係数が、予め、Gコードに対応づけられて記憶されている。そして、G係数記憶部64は、既に記憶されているタップ係数の中から、Gコード演算部63から供給されるGコードに対応するアドレスに記憶されているタップ係数を読み出し、読み出したタップ係数をG積和演算部65に供給する。
Gフィルタタップ選択部62は、高解像G画像を生成するために必要となる所定パターンのG成分からなるフィルタタップ(以下、Gフィルタタップという。)を入力画像から選択して取得する。Gフィルタタップは、例えば、出力画像の注目画素に対応する位置の入力画像の画素を中心画素とした所定の個数の画素で構成される。Gフィルタタップ選択部62により選択されたGフィルタタップは、G積和演算部65に供給される。
<Gフィルタタップの構成例>
図13は、Gフィルタタップ選択部62で選択されるフィルタタップの構成例を示す図である。細い線の丸印は、入力画像である入力画素を表す。ドット柄の丸印は、出力画像の入力画素に対する画素位置位相のイメージを表す。
出力画素は、図13に示すように、入力画素から位相をシフトさせた位置に存在する。したがって、入力画像は、半画素位相シフトした出力画像に変換される。また、十字の一点差線の中心画素は、注目画素になっている入力画素を表す。さらに太線の丸印は、Gフィルタタップとなる入力画素を表す。なお、Gフィルタタップは、図13に示す構成例に限定されるものではなく、他の構成であってもよい。また、図13に示すGフィルタタップは、図13に示すGコードタップと異なる構成であってもよい。
Gフィルタタップ選択部62は、例えば、注目画素に対応する入力画素の位置に最も近い入力画素を基準として、注目画素についてのフィルタタップとなる入力画素を選択する。
G積和演算部65は、予め設定された線形一次式において、Gフィルタタップ選択部62から出力されるGフィルタタップを変数として代入し、G係数記憶部64から供給された係数を用いてフィルタの演算を行う。すなわち、G積和演算部65は、入力G画像における注目画素に対応する出力画素の画素値を、式(11)に従い、Gフィルタタップを用いてフィルタ演算する。
ここで、Nは、Gフィルタタップの画素数である。Xは、Gフィルタタップ選択部62で選択されたGフィルタタップを構成する各G画素の画素値である。Wは、G係数記憶部64から読み出されたタップ係数である。
G積和演算部65は、式(11)に示すフィルタ演算を行うことによって、注目画素に対応する出力画素を予測(演算)する。G積和演算部65は、入力画像のすべてのG画素の中から1つの注目画素が選択される毎に、当該注目画素に対応する出力画素を予測(演算)する。これにより、入力G画像の2倍の解像度である高解像G画像が生成される。
図2に示す高解像G生成部35は、生成した高解像G画像を外部へ出力すると共に、加算器38へ供給する。
<Gコード演算部63の構成例>
図14は、上述したGコード演算部63の構成例を示すブロック図である。Gコード演算部63は、量子化演算部91、及び、変換テーブル記憶部92を備える。
量子化演算部91は、Gコードタップ選択部61から供給されるGコードタップを構成する入力画素の各画素値を、例えば1ビットのDR量子化を用いて量子化し、各入力画素の1ビットを所定の順番で配列したコードを、変換テーブル記憶部92に供給する。
ここで、コード分類を行う1つの手法として、例えば、コードタップとしての画素値を量子化するDR(Dynamic Range)量子化がある。
DR量子化では、注目画素のコードタップを構成する各画素の画素値が量子化され、量子化によって得られたDR量子化コードにしたがって、注目画素のコードが決定される。
例えば、NビットDR量子化の場合、コードタップを構成する各画素の画素値の最大値MAXと最小値MINが検出される。そして、コードタップを構成する各画素の集合の局所的なダイナミックレンジDR(=MAX−MIN)が演算される。このダイナミックレンジDRに基づいて、コードタップを構成する各画素の画素値がNビットに量子化される。より具体的には、コードタップを構成する各画素の画素値から最小値MINが減算され、その減算値がDR/2で除算(量子化)される。以上の処理によって得られたコードタップを構成するNビットの各画素の画素値が所定の順番で並べられ、並べられたビット列がDR量子化コードとして出力される。
したがって、コードタップが例えば1ビットDR量子化処理された場合、そのコードタップを構成する各画素の画素値は、最大値MAXと最小値MINとの平均で除算される(整数演算)。これにより、各画素の画素値が1ビットとされる(二値化)。そして、その1ビットの画素値を所定の順番で並べたビット列が、DR量子化コードとして出力される。DR量子化のみでコード分類が行われる場合、例えば、DR量子化コードが、Gコード演算部63で発生されるコードとなる。
なお、Gコード演算部63は、例えば、コードタップを構成する画素の画素値のレベル分布のパターンを、そのままクラスコードとして出力することも可能である。この場合、コードタップがM個の画素の画素値で構成され、各画素の画素値にAビットが割り当てられるとすると、コード演算部34から出力されたコードの場合の数は、(2通りとなり、画素の画素値のビット数Aに指数的に比例した膨大な数となる。
したがって、Gコード演算部63は、コードタップの情報量を前述のDR量子化又はベクトル量子化等によって圧縮することにより、コード分類を行うのが好ましい。
図15は、1ビットDR量子化の例を説明する図である。なお、横軸は、コードタップを構成する入力画素の順番(又は位置)を表す。縦軸は、コードタップを構成する入力画素の画素値を表す。
1ビットDR量子化では、コードタップを構成する入力画素の画素値の中の最大画素値Maxから最小画素値Minを減算することにより、単純ダイナミックレンジDRが求められる。そして、単純ダイナミックレンジDRを2等分するレベルを閾値として、コードタップを構成する各入力画素の画素値が2値化され、1ビットのコードに変換される。
図13に示すコードタップの場合、例えば、8画素すべてのコードタップについて1ビットDR量子化が行われると、8ビットのDR量子化コードが得られる。量子化演算部91で得られたコードは、変換テーブル記憶部92に供給される。
変換テーブル記憶部92には、変換テーブルが記憶されている。この変換テーブルは、量子化演算部91で得られたコード(入力コード)を最適化して、G係数記憶部64に対応できるコード(出力コード)に変換する。よって、量子化演算部91で得られたコードは、変換テーブル記憶部92に予め記憶された変換テーブルによって、G係数記憶部64用のコードに変換される。そして、変換されたコードは、G係数記憶部64に供給される。
なお、G係数記憶部64の記憶容量が十分大きい場合、変換テーブル記憶部92は省略可能である。その場合は、量子化演算部91より得られたコードは、そのままG係数記憶部64に供給される。
また、変換テーブル記憶部92に記憶されている変換テーブルは、出力コードを最適化するように、適宜更新可能である。これにより、変換テーブルは、例えば、ある入力コードの発生頻度が低い場合は、当該入力コードに対応する出力コードを代表的なコードに置き換えてもよい。また、変換テーブルは、異なる出力コードであっても近似する係数に対応づけられている場合、異なる出力コードを同一コードにしてもよい。
<高解像(R−G)画像の生成>
図2に示す高解像(R−G)生成部36は、仮想色差(R−G)生成部33で生成された仮想色差(R−G)に基づいて、高解像G画像と同じ解像度である高解像(R−G)画像を生成する。
図16は、高解像(R−G)生成部36の構成例を示すブロック図である。
高解像G生成部35は、(R−G)コードタップ選択部71、(R−G)フィルタタップ選択部72と、(R−G)コード演算部73、(R−G)係数記憶部74、及び(R−G)積和演算部75を備える。
(R−G)コードタップ選択部71は、仮想色差(R−G)生成部33で生成された仮想色差(R−G)画像の中から、高解像(R−G)画像を生成するために必要となる所定パターンの色差(R−G)成分からなるコードタップ(以下、(R−G)コードタップという。)を選択する。(R−G)コードタップ選択部71により選択された(R−G)コードタップは、(R−G)コード演算部73に供給される。
<(R−G)コードタップの構成例>
図17は、(R−G)コードタップ選択部71で選択される(R−G)コードタップの構成例を示す図である。細い線の丸印は、入力画像である入力画素を表す。ドット柄の丸印は、出力画像の入力画素に対する画素位置位相のイメージを表す。
出力画素は、図17に示すように、入力画素から位相をシフトさせた位置に存在する。したがって、入力画像は、半画素位相シフトした出力画像に変換される。また、十字の一点差線の中心画素は、注目画素になっている入力画素を表す。太線の丸印は、(R−G)コードタップとなる入力画素を表す。なお、(R−G)コードタップは、図12に示す構成例に限定されるものではなく、他の構成であってもよい。
(R−G)コードタップ選択部71は、例えば、注目画素に対応する入力画素の位置に最も近い入力画素を基準として、注目画素についての(R−G)コードタップとなる入力画素を選択する。
(R−G)コード演算部73は、(R−G)コードタップ選択部71で選択された(R−G)コードタップに基づき、例えば、DR量子化による量子化やその他ダイナミックレンジの幅をコード化して特徴量等を抽出する。(R−G)コード演算部73は、抽出した特徴量等の情報を用いて、所定の規則に従って注目画素をコード分類し、その結果、注目画素に対応する(R−G)コードを得る。Gコード演算部63は、注目画素に対応する(R−G)コードを(R−G)係数記憶部74に供給する。
(R−G)係数記憶部74には、後述する学習によって求められた(R−G)コード毎のタップ係数が、予め、(R−G)コードに対応づけられている記憶されている。そして、(R−G)係数記憶部74は、既に記憶されているタップ係数の中から、(R−G)コード演算部73から供給される(R−G)コードに対応するアドレスに記憶されているタップ係数を読み出し、読み出したタップ係数を(R−G)積和演算部75に供給する。
(R−G)フィルタタップ選択部72は、仮想色差(R−G)生成部33で生成された仮想色差(R−G)画像の中から、高解像(R−G)画像を生成するために必要となる所定パターンの(R−G)成分からなるフィルタタップ(以下、(R−G)フィルタタップという。)を選択して取得する。(R−G)フィルタタップ選択部72は、選択した(R−G)フィルタタップを(R−G)積和演算部75へ供給する。
<(R−G)フィルタタップの構成例>
図18は、(R−G)フィルタタップ選択部72で選択される(R−G)フィルタタップの構成例を示す図である。細い線の丸印は、入力画像である入力画素を表す。ドット柄の丸印は、出力画像の入力画素に対する画素位置位相のイメージを表す。
出力画素は、図18に示すように、入力画素から位相をシフトさせた位置に存在する。したがって、入力画像は、半画素位相シフトした出力画像に変換される。また、十字の一点差線の中心画素は、注目画素になっている入力画素を表す。さらに太線の丸印は、(R−G)フィルタタップとなる入力画素を表す。なお、(R−G)フィルタタップは、図18に示す構成例に限定されるものではなく、他の構成であってもよい。また、図18に示すGフィルタタップは、図17に示すGコードタップと異なる構成であってもよい。
(R−G)フィルタタップ選択部72は、例えば、注目画素に対応する入力画素の位置に最も近い入力画素を基準として、注目画素についての(R−G)フィルタタップとなる入力画素を選択する。
(R−G)積和演算部75は、予め設定された線形一次式において、(R−G)フィルタタップ選択部72から出力される(R−G)フィルタタップを変数として代入し、(R−G)係数記憶部74から供給された係数を用いてフィルタの演算を行う。すなわち、(R−G)積和演算部75は、入力(R−G)画像における注目画素に対応する出力画素の画素値を、上述した式(11)に従い、(R−G)フィルタタップを用いてフィルタ演算する。
式(11)において、Nは、(R−G)フィルタタップの画素数である。Xは、(R−G)フィルタタップ選択部72で選択された(R−G)フィルタタップを構成する各画素の(R−G)成分値である。Wは、(R−G)係数記憶部74から読み出されたタップ係数である。
(R−G)積和演算部75は、式(11)に示すフィルタ演算を行うことによって、注目画素に対応する出力画素を予測(演算)する。(R−G)積和演算部75は、入力画像のすべての(R−G)成分を有する画素の中から1つの注目画素が選択される毎に、当該注目画素に対応する出力画素を予測(演算)する。これにより、高解像G画像と同じ解像度である高解像(R−G)画像が生成される。
そして、図2に示す高解像(R−G)生成部36は、生成した高解像(R−G)画像を加算器38へ供給する。
高解像(B−G)生成部37は、高解像(R−G)生成部36と同様に構成されており、R画素に代えてB画素を取り扱う。
<(B−G)コードタップの構成例>
図19は、(B−G)コードタップの構成例を示す図である。細い線の丸印は、入力画像である入力画素を表す。ドット柄の丸印は、出力画像の入力画素に対する画素位置位相のイメージを表す。
出力画素は、図19に示すように、入力画素から位相をシフトさせた位置に存在する。したがって、入力画像は、半画素位相シフトした出力画像に変換される。また、十字の一点差線の中心画素は、注目画素になっている入力画素を表す。さらに太線の丸印は、(B−G)フィルタタップとなる入力画素を表す。なお、(B−G)コードタップは、図19に示す構成例に限定されるものではなく、他の構成であってもよい。
<(B−G)フィルタタップの構成例>
図20は、(B−G)フィルタタップの構成例を示す図である。細い線の丸印は、入力画像である入力画素を表す。ドット柄の丸印は、出力画像の入力画素に対する画素位置位相のイメージを表す。
出力画素は、図20に示すように、入力画素から位相をシフトさせた位置に存在する。したがって、入力画像は、半画素位相シフトした出力画像に変換される。また、十字の一点差線の中心画素は、注目画素になっている入力画素を表す。さらに太線の丸印は、(B−G)フィルタタップとなる入力画素を表す。なお、(B−G)フィルタタップは、図20に示す構成例に限定されるものではなく、他の構成であってもよい。また、図20に示す(B−G)フィルタタップは、図19に示すGコードタップと異なる構成であってもよい。
高解像(B−G)生成部37は、高解像(R−G)生成部36と同様の処理を行って、高解像G画像と同じ解像度の高解像(B−G)画像を生成する。
加算器38は、高解像G生成部35で生成された高解像G画像と、高解像(R−G)生成部36で生成された高解像(R−G)画像と、を加算することで、高解像G画像と同じ解像度である高解像R画像を生成する。
加算器39は、高解像G生成部35で生成された高解像G画像と、高解像(B−G)生成部37で生成された高解像(B−G)画像と、を加算することで、高解像G画像と同じ解像度である高解像B画像を生成する。
<デモザイク処理ルーチン>
図21は、デモザイク部16によるデモザイク処理ルーチンを示すフローチャートである。
デモザイク部16内の図2及び図3等に示す各ブロックは、ベイヤー配列の色フィルタアレイが用いられたイメージセンサ12の出力値により構成される入力画像に対してステップS21以降の処理を実行する。
ステップS21において、図3に示す仮G生成部41は、R画素位置において、近接するG画素の画素値Gから補間された仮Gを生成する。同様に、仮想色差(B−G)生成部34は、B画素位置において、近接するG画素の画素値Gから補間された仮Gを生成する。
ステップS22において、仮R生成部42は、G画素位置において、近接するR画素の画素値Rから補間された仮Rを生成する。同様に、仮想色差(B−G)生成部34は、G画素位置において、近接するB画素の画素値Bから補間された仮Bを生成する。
ステップS23において、仮想色差(R−G)演算部43は、仮G生成部41で生成された仮Gと入力画像のR画素値とを用いて、仮想色差(R−仮G)を生成する。また、仮想色差(R−G)演算部43は、仮R生成部42で生成された仮Rと入力画像の画素値Gとを用いて、仮想色差(仮R−G)を生成する。
同様に、仮想色差(B−G)生成部34は、仮Gと入力画像のB画素値とを用いて仮想色差(B−仮G)を生成し、仮Bと入力画像の画素値Gとを用いて、仮想色差(仮B−G)を生成する。
ステップS24において、注目画素選択部31は、入力画像に対する出力画像を構成する画素のうち、まだ、注目画素として選択されていない画素の1つを注目画素として選択する。すなわち、注目画素選択部31は、例えば、出力画像を構成する画素のうち、ラスタスキャン順で、まだ、注目画素とされていない画素を注目画素として選択する。
ステップS25において、Gコードタップ選択部61は、入力画像に対する注目画素についてのGコードタップを選択する。(R−G)コードタップ選択部71は、入力画像に対する注目画素についての(R−G)コードタップを選択する。高解像(B−G)生成部37は、入力画像に対する注目画素についての(B−G)コードタップを選択する。
ステップS26において、Gコード演算部63は、供給されたGコードタップを符号化して符号化コードを生成する。(R−G)コード演算部73は、供給された(R−G)コードタップを符号化して符号化コードを生成する。高解像(B−G)生成部37は、(B−G)コードタップを符号化して符号化コードを生成する。
ステップS27において、Gフィルタタップ選択部62は、入力画像に対する注目画素についてのGフィルタタップを選択する。(R−G)フィルタタップ選択部72は、入力画像に対する注目画素についての(R−G)フィルタタップを選択する。高解像(B−G)生成部37は、入力画像に対する注目画素についての(B−G)フィルタタップを選択する。
ステップS28において、G係数記憶部64から、ステップS26で演算された符号化コードに対応づけられたタップ係数であるG係数が読み出される。(R−G)係数記憶部74から、ステップS26で演算された符号化コードに対応づけられた(R−G)係数が読み出される。また、高解像(B−G)生成部37では、ステップS26で演算された符号化コードに対応づけられた(B−G)係数が内部記憶部から読み出される。
ステップS29において、G積和演算部65は、注目画素について積和演算を行う。具体的には、G積和演算部65は、式(11)のX,X,・・・,Xに対してステップS27で選択されたGフィルタタップの各画素値を代入し、タップ係数wに対してステップS28で読み出されたG係数を代入し、式(11)の演算を行う。同様に、(R−G)積和演算部75及び高解像(B−G)生成部37も、式(11)に従って注目画素についてフィルタ演算を行う。
ステップS30において、G画素の生成処理であるか否かが判定され、G画素の生成処理である場合はステップS32に進み、G画素の生成処理でない場合はステップS31に進む。
ステップS31では、加算器38は、注目画素について、ステップS29の処理でフィルタ演算された画素値Gと、同様にフィルタ演算された色差成分(R−G)と、を加算することで、高解像B画像を構成する画素値Rを生成する。また、加算器39は、注目画素について、ステップS29の処理でフィルタ演算された画素値Gと、同様にフィルタ演算された色差成分(B−G)と、を加算することで、高解像B画像を構成する画素値Rを生成する。
ステップS32では、注目画素選択部31が、まだ注目画素として選択されていない画素があるか否かを判定する。注目画素として選択されていない画素がある場合はステップS24に戻り、その画素がない場合は本ルーチンが終了する。
図22は、デモザイク部16の入力画素に対する生成画素を示す図である。同図に示すように、G入力画素に対してG生成画素の解像度は2倍になる。R入力画素に対してR生成画素の解像度は4倍になる。B入力画素に対してB生成画素の解像度は4倍になる。
以上のように、デモザイク部16は、ベイヤー配列の色フィルタが配置されたイメージセンサ12の入力画像の中から、G画素の画素値のみを用いて、コード分類型適応フィルタの学習結果を利用して、高解像G画像を生成することができる。
さらに、デモザイク部16は、入力画像の中から、R画素及びG画素の画素値を用いて、コード分類型適応フィルタの学習結果を利用して、高解像(R−G)を生成する。そして、デモザイク部16は、高解像(R−G)と高解像G画像とに基づいて高解像R画像を生成する。すなわち、デモザイク部16は、B画素の画素値を用いることなく高解像R画像を生成することができる。同様に、デモザイク部16は、R画素の画素値を用いることなく高解像B画像を生成することができる。これにより、ジッパーノイズ、偽色、色にじみ、リンギング等が大幅に低減された高解像画像が生成される。
<コード分類型適応フィルタの学習原理>
デモザイク処理のために使用されるタップ係数は、コード分類型適応フィルタの学習処理によって、以下の手順で求められる。
ここでは、低画質画像(第1の画像)は、高画質画像(第2の画像)をLPF(low Pass Filter)によってフィルタリングするなどして画質(解像度)を低下させたものをいう。
コード分類型適応フィルタの学習処理では、低画質画像からフィルタタップが選択され、そのフィルタタップとタップ係数を用いて、高画質画像の画素(高画質画素)の画素値が所定の演算によって求められる。所定の演算とは、例えば線形1次予測演算である。
この場合、高画質画素の画素値yは、式(12)に示す線形1次式によって求められる。
フィルタタップは、N個の低画質画像の画素(低画質画素)x、x、・・・、x、・・・、xで構成される。xは、高画質画素yについてのフィルタタップを構成するN個の低画質画素のうち、n番目の低画質画素の画素値を表す。wは、n番目の低画質画素(の画素値)xに乗算されるn番目のタップ係数を表す。
高画質画素の画素値yは、式(12)に示した線形1次式に限らず、例えば2次以上の高次の式によっても算出可能である。
第kサンプル(k番目)の高画質画素の画素値の真値をyと表し、式(12)によって得られるその真値yの予測値をy’と表す。このとき、予測値y’の真値yに対する予測誤差eは、式(13)で表される。
式(13)の予測値y’は、式(12)に従って求められる。そこで、式(13)のy’を、式(12)に従って置き換えると、次の式(14)が得られる。
n,kは、第kサンプルの高画質画素yについてのフィルタタップを構成するn番目の低画質画素を表す。
式(14)(又は式(13))の予測誤差eを0とするタップ係数wが、高画質画素yを予測するために最適なタップ係数となる。しかし、すべての高画質画素yについて、そのようなタップ係数wを求めることは、一般的には困難である。
そこで、タップ係数wが最適な値であることを表す規範として、例えば、最小自乗法を採用する。この場合、最適なタップ係数wは、次の式(15)で表される自乗誤差の総和Eが最小になるときの係数である。
Kは、高画質画素yと、その高画質画素yについてのフィルタタップを構成する低画質画素x1,k、x2,k、・・・、xn,kとのセットのサンプル数(学習用のサンプルの数)を表す。
式(15)の自乗誤差の総和Eの最小値(極小値)は、式(16)に示すように、総和Eをタップ係数wで編微分した結果を0とするwによって与えられる。
そこで、前述の式(14)をタップ係数wで編微分すると、次の式(17)が得られる。
式(16)と式(17)から、式(18)が得られる。
式(18)のeに式(14)を代入すると、式(18)は次の式(19)に示す正規方程式で表される。
式(19)の正規方程式は、例えば、掃き出し法(Gauss−Jordanの消去法)などを用いることにより、タップ係数wについて解くことができる。
式(19)の正規方程式をコード毎にたてて解くことにより、最適なタップ係数(自乗誤差の総和Eを最小にするタップ係数)wが、コード毎に求められる。このようにして求められたタップ係数wが、例えばG係数としてG係数記憶部64に記憶される。タップ係数は、例えば図23に示す学習装置100によって求められる。
<学習装置100の構成>
図23は、学習装置100の構成例を示すブロック図である。学習装置100は、教師画像及び生徒画像を用いて学習することにより、高解像G画像、高解像(R−G)画像、高解像(B−G)画像をそれぞれ生成するために使用されるG係数、(R−G)係数、及び(B−G)係数を生成する。
学習装置100は、生徒画像生成部101、教師画像生成部102、注目画素選択部103、遅延部104、仮想色差(R−G)生成部105、仮想色差(B−G)生成部106、G係数データ生成部107、(R−G)係数データ生成部108、(B−G)係数データ生成部109を備えている。
学習装置100に入力される高解像度画像は、例えば、R成分、G成分及びB成分のそれぞれに対応する3つのイメージセンサからそれぞれ生成されたRGB各成分の高解像画像RGBである。
図24は、高解像度画像から生成される生徒画像及び教師画像を説明するための図である。
生徒画像生成部101は、学習装置100に入力される高解像度画像RGBをそれぞれダウンコンバートする。ここで、ダウンコンバートのフィルタ特性は、例えば、4画素平均処理、LPF処理等でよい。その後、生徒画像生成部102は、ダウンコンバートされた画像RGBから、ベイヤー配列に従ってRGBが配置された生徒画像を生成する。すなわち、生徒画像は、ベイヤー配列の色フィルタアレイが配置されたイメージセンサ12からそのまま出力された画像に対応する。
教師画像生成部102は、学習装置100に入力される高解像度画像RGBをそれぞれダウンコンバートして、ダウンコンバート済みの画像RGBを半画素シフトすることで、RGB各成分の教師画像RGBを生成する。なお、ダウンコンバートのフィルタ特性は、生徒画像生成部101と同様である。
注目画素選択部103は、教師画像生成部102で生成された教師画像の中の任意の1画素を注目画素として選択する。注目画素選択部103は、注目画素として選択した画素の座標値などの情報を、仮想色差(R−G)生成部105,G係数データ生成部107、(R−G)係数データ生成部108等の各ブロックに供給する。
仮想色差(R−G)生成部105は、図2に示す仮想色差(R−G)生成部33と同様に構成され、同様の処理を行う。すなわち、仮想色差(R−G)生成部105は、生徒画像生成部101で生成された生徒画像のR成分及び成分Gを用いて、R画素位置及びG画素位置における色差(R−G)である仮想色差(R−G)を生成する。
仮想色差(B−G)生成部106は、図2に示す仮想色差(B−G)生成部34と同様に構成され、同様の処理を行う。すなわち、仮想色差(B−G)生成部106は、生徒画像生成部101で生成された生徒画像の成分B及び成分Gを用いて、B画素位置及びG画素位置における色差(B−G)である仮想色差(B−G)を生成する。
遅延部104は、仮想色差(R−G)生成部105及び仮想色差(B−G)生成部106の各出力タイミングに合うように、生徒画像生成部101で生成された生徒画像を遅延させてG係数データ生成部107に供給する。
<G係数データ生成部107の構成例>
図25は、G係数データ生成部107の構成例を示す図である。
G係数データ生成部107は、Gコードタップ選択部111、Gフィルタタップ選択部112、Gコード演算部113、G正規方程式加算部114、及びG係数データ演算部115を備える。
Gコードタップ選択部111、Gフィルタタップ選択部112、及びGコード演算部113は、図11に示すGコードタップ選択部61、Gフィルタタップ選択部62、及びGコード演算部63と同様に構成され、同様の処理を行う。
G正規方程式加算部114は、Gコード演算部113から供給されるコード毎に、教師画像生成部102で生成された教師画像Gの注目画素(教師データ)yと、Gフィルタタップ選択部112で選択された注目画素についてのGフィルタタップ(生徒データ(画素))xn,kとを対象とした足し込みを行う。
そして、G正規方程式加算部114は、Gコード演算部113から供給されるコード毎に、フィルタタップ(生徒データ)xn,kを用い、式(19)の左辺の行列における生徒データどうしの乗算(xn,kn‘,k)と、サメーション(Σ)に相当する演算を行う。
さらに、G正規方程式加算部114は、Gコード演算部113から供給されるコード毎に、Gフィルタタップ(生徒データ)xn,kと教師データyとを用い、式(19)の右辺のベクトルにおける生徒データxn,kと教師データyの乗算(xn,k)と、サメーション(Σ)に相当する演算を行う。
すなわち、G正規方程式加算部114は、前回注目画素とされた教師データについて求められた式(19)における左辺の行列のコンポーネント(Σxn,kn‘,k)と、右辺のベクトルのコンポーネント(Σxn,k)と、を図示しない記憶部に記憶している。そして、G正規方程式加算部114は、行列コンポーネント(Σxn,kn‘,k)またはベクトルコンポーネント(Σxn,k)に対して、新たに注目画素とされた教師データについて、教師データyk+1と生徒データxn,k+1を用いて計算する、対応コンポーネントxn,k+1n‘,k+1又はxn,k+1k+1を、それぞれ足し込む(式(19)のサメーションで表される加算)。
そして、G正規方程式加算部114は、入力された高解像度画像の教師データすべてを注目画素として、前述の足し込みを行うことにより、各コードについて、式(19)に示した正規方程式をたてる。G正規方程式加算部114は、各コードの正規方程式を、G係数データ演算部115に供給する。
G係数データ演算部115は、G正規方程式加算部114から供給される各コードについての正規方程式を解くことにより、各コードについて、最適なタップ係数wを演算する。そして、G係数データ演算部115は、注目画素が設定された教師画像の種類(G成分の画像)に応じて、得られたタップ係数wを、フィルタ演算を行うために必要となるG係数として出力する。このようにして、得られたコード毎のG係数が、図11に示すG係数記憶部64に記憶される。
<G係数データ生成部107の構成例>
図26は、(R−G)係数データ生成部108の構成例を示す図である。
(R−G)係数データ生成部108は、(R−G)コードタップ選択部121、(R−G)フィルタタップ選択部122、(R−G)生成部123、(R−G)コード演算部124、(R−G)正規方程式加算部125、及び(R−G)係数データ演算部126を備える。
(R−G)コードタップ選択部121、(R−G)フィルタタップ選択部122、及び(R−G)コード演算部124は、図16に示す(R−G)コードタップ選択部71、(R−G)フィルタタップ選択部72、及び(R−G)コード演算部33と同様に構成され、同様の処理を行う。
(R−G)生成部123は、ベイヤー配列のRGB色フィルタアレイのR画素位置及びG画素位置において、教師画像生成部102で生成されたR成分及びG成分の各教師画像RGの差分を演算することで、仮想色差ではなく実色差である(R−G)成分を生成する。(R−G)生成部123は、生成した(R−G)成分を教師データとして、(R−G)正規方程式加算部125へ供給する。
(R−G)正規方程式加算部125は、(R−G)コード演算部114から供給されるコード毎に、(R−G)生成部123で生成された注目画素の色差成分(R−G)(教師データ)yと、(R−G)フィルタタップ選択部122で選択された注目画素についての(R−G)フィルタタップ(生徒データ(画素))xn,kとを対象とした足し込みを行う。
すなわち、(R−G)正規方程式加算部125は、教師データとして教師画像のG成分の代わりに(R−G)成分を用いる点を除き、G正規方程式加算部114と同様の処理を行い、各(R−G)コードについて、式(19)に示した正規方程式をたてる。そして、(R−G)正規方程式加算部125は、各(R−G)コードの正規方程式を、(R−G)係数データ演算部126に供給する。
(R−G)係数データ演算部126は、G係数データ演算部115と同様の処理を行って、(R−G)係数データを生成する。
<学習装置による学習処理ルーチン>
図27は、図21の学習装置100による学習処理ルーチンを説明するフローチャートである。学習装置100は、3つのイメージセンサからそれぞれ生成されたRGB各成分の高解像画像RGBが入力されると、ステップS31以降の処理を実行する。
ステップS31において、図23に示す生徒画像生成部102は、入力された高解像度画像RGBから、例えば、LPFのシミュレーションモデルを用いるなどして、高解像度画像をダウンコンバートして、ベイヤー配列に従ってRGBが配置された生徒画像(生徒データ)を生成する。
ステップS32において、教師画像生成部103は、入力された高解像度画像RGBを、生徒画像と同様にしてダウンコンバートすると共に、生徒画像に対し半画素位相をシフトした教師画像(教師データ)を生成する。
ステップS33において、図23に示す仮想色差(R−G)生成部105は、生徒画像生成部101で生成された生徒画像のG成分を用いて、R位置において補間された仮Gを生成する。仮想色差(R−G)生成部105は、生徒画像のR成分を用いて、G位置において補間された仮Rを生成する。そして、仮想色差(R−G)生成部105は、生徒画像のR成分及びG成分、上記の仮G及び仮Rを用いて、R画素位置及びG画素位置における色差(R−G)である仮想色差(R−G)を生成する。
また、仮想色差(B−G)生成部106は、生徒画像生成部101で生成された生徒画像のG成分を用いて、B位置において補間された仮Gを生成する。仮想色差(B−G)生成部106は、生徒画像のB成分を用いて、G位置において補間された仮Bを生成する。そして、仮想色差(B−G)生成部106は、生徒画像のB成分及びG成分G、上記の仮G及び仮Bを用いて、B画素位置及びG画素位置における色差(B−G)である仮想色差(B−G)を生成する。
ステップS34において、注目画素選択部103は、教師画像生成部102で生成された教師画像を構成する画素の中の未選択の任意の1画素を注目画素として選択する。すなわち、注目画素選択部101は、教師画像を構成する画素のうち、ラスタスキャン順で、まだ注目画素とされていない画素を注目画素として選択する。
ステップS35において、図25に示すGコードタップ選択部111及び(R−G)コードタップ選択部116は、供給される生徒画像から、注目画素についてのGコードタップ及び(R−G)コードタップをそれぞれ選択する。また、図23に示す(R−G)データ生成部109は、生徒画像から注目画素についての(B−G)コードタップを選択する。
ステップS36において、Gコード演算部113は、供給されたGコードタップを符号化して符号化コードを生成する。(R−G)コード演算部124は、供給された(R−G)コードタップを符号化して符号化コードを生成する。図23に示す(B−G)係数データ生成部109は、(B−G)コードタップを符号化して符号化コードを生成する。
ステップS37において、Gフィルタタップ選択部112及び(R−G)フィルタタップ選択部122は、それぞれの生徒画像から注目画素についてのGフィルタタップ及び(R−G)フィルタタップを選択する。また、(B−G)係数データ生成部109は、生徒画像から注目画素についての(B−G)フィルタタップを選択する。
ステップS38において、G正規方程式加算部114は、上述した式(12)に示す線形1次式を生成し、Gコードタップ選択部111で選択されたGコードタップを式(12)の画素X,・・・,Xとして用いる。G正規方程式加算部114は、このようにして生成した線形1次式を、ステップS36で生成された符号化コード毎に足し込んで、式(19)の正規方程式を生成する。G正規化方程式加算部114は、生成した正規化方程式をG係数データ演算部115に供給する。(R−G)正規方程式加算部125、(B−G)係数データ生成部109も同様に正規化方程式を生成する。
ステップS39において、注目画素選択部103は、次の注目画素があるか否かを判定する。肯定判定の場合、すなわち次の注目画素がある場合は、ステップS34に戻り、ステップS34以降の処理が繰り返し実行される。否定判定の場合、ステップS40に進む。
ステップS40において、G係数データ演算部115は、G係数データを生成する。具体的には、G係数データ演算部115は、式(19)の正規方程式に対して、例えば掃き出し法(Gauss−Jordanの消去法)を用いることによりタップ係数wを演算する。
G係数データ演算部115は、注目画素が設定された教師画像の種類(G成分の画像)に応じて、得られたタップ係数wを、G出力画像の予測演算を行うために必要となるG係数として出力する。
同様に、(R−G)係数データ演算部126は、(R−G)係数データを演算し、(B−G)係数データ生成部109は、(B−G)係数データを演算する。
このようにして、得られた符号化コード毎のG係数、(R−G)係数、および(B−G)係数は、高解像G生成部35、高解像(R−G)生成部36、高解像(B−G)生成部37にそれぞれ記憶される。
本発明は、上述した実施形態に限定されるものではなく、特許請求の範囲に記載された事項の範囲内で設計変更されたものにも適用可能である。
例えば、図1又は図2に示すデモザイク部16は、半導体集積回路や、上述した各ステップを実行するためのプログラムがインストールされたコンピュータ等によって実現可能である。また、このプログラムは、光ディスク、ハードディスク等の記録媒体からコンピュータにインストールされたものでもよいし、有線又は無線通信手段を経由して、外部からコンピュータに伝送されたものでもよい。
10 撮像装置,16 デモザイク部,33 仮想色差(R−G)生成部,34 仮想色差(B−G)生成部,35 高解像G生成部,36 高解像(R−G)生成部,37 高解像(B−G)生成部,38 加算器,39 加算器,41 仮G生成部,42 仮R生成部,43 仮想色差(R−G)演算部,61 Gコードタップ選択部,62 Gフィルタタップ選択部,63 Gコード演算部,64 G係数記憶部,65 G積和演算部,71 (R−G)コードタップ選択部,72 (R−G)フィルタタップ選択部,73 (R−G)コード演算部,74 (R−G)係数記憶部,75 (R−G)積和演算部,100 学習装置



Claims (9)

  1. 複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第1の画像に対して、前記第1の画像の中の1つの画素を注目画素として選択する注目画素選択部と、
    前記第1の画像の主成分となる第1の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第1の色成分の複数の画素が第1の配列パターンで配列されたコードタップを選択する第1のコードタップ選択部と、
    前記第1のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第1のコード演算部と、
    コード毎に、コード分類型適応フィルタの第1の学習処理によって予め求められた複数の第1のタップ係数を記憶し、前記第1のコード演算部により演算されたコードに基づいて複数の第1のタップ係数を出力する第1の係数記憶部と、
    前記第1の画像の主成分となる第1の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第1の色成分の複数の画素が第2の配列パターンで配列されたフィルタタップを選択する第1のフィルタタップ選択部と、
    前記第1のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第1の係数記憶部から出力された複数の第1のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第1の色成分の画像を生成する第1の画像生成部と、を備え、
    前記第1のタップ係数は、
    所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第1の画像と同一である画像から、前記第1の色成分のみで構成された第1の生徒画像と、
    前記所定の被写体について、前記第1の画像と同一サイズの前記第1の色成分のみで構成され、前記第1の生徒画像に対して水平方向及び垂直方向に半画素シフトした第1の教師画像と、
    を用いた前記第1の学習処理であって、前記第1の生徒画像の各画素と前記第1の教師画像の各画素のマッピングされた正規方程式を解く前記第1の学習処理により算出されたタップ係数である
    画像処理装置。
  2. 前記第1の色成分の各画素の画素位置、及び前記第1の色成分と異なる1つの色成分である第2の色成分の各画素の画素位置において、前記第1の色成分の画素の画素値と、前記第2の色成分の画素の画素値と、の差分である色差成分を生成する色差成分生成部と、
    前記第1の色成分又は前記第2の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記色差成分の複数の画素が第3の配列パターンで配列されたコードタップを選択する第2のコードタップ選択部と、
    前記第2のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第2のコード演算部と、
    コード毎に、コード分類型適応フィルタの第2の学習処理によって予め求められた複数の第2のタップ係数を記憶し、前記第2のコード演算部により演算されたコードに基づいて複数の第2のタップ係数を出力する第2の係数記憶部と、
    前記第1の色成分又は前記第2の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記色差成分の複数の画素が第4の配列パターンで配列されたフィルタタップを選択する第2のフィルタタップ選択部と、
    前記第2のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第2の係数記憶部から出力された複数の第2のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記色差成分の画像を生成する第2の画像生成部と、
    前記第1の画像生成部により生成された前記第1の色成分の画像と、前記第2の画像生成部により生成された前記色差成分の画像と、に基づいて、前記第2の色成分の画像を演算する演算部と、
    を更に備えた請求項1に記載の画像処理装置。
  3. 前記第2のタップ係数は、
    前記所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第1の画像と同一である画像から、前記第1及び前記第2の各色成分の差分として得られた色差画像である第2の生徒画像と、
    前記所定の被写体について、前記第1の画像と同一サイズの前記第1の色成分の画像と前記同一サイズの前記第2の色成分の画像との差分として得られた色差画像であって、前記第1の生徒画像に対して水平方向及び垂直方向に半画素シフトした前記色差画像である第2の教師画像と、
    を用いた前記第2の学習処理であって、前記第2の生徒画像の各画素と前記第2の教師画像の各画素のマッピングされた正規方程式を解く前記第2の学習処理により算出されたタップ係数である
    請求項2に記載の画像処理装置。
  4. 前記色差成分生成部、前記第2のコードタップ選択部、前記第2のコード演算部、前記第2の係数記憶部、前記第2のフィルタタップ選択部、前記第2の画像生成部、及び前記演算部は、前記第1の画像において前記第1の色成分と異なる第2の色成分が複数存在する場合には、それぞれの第2の色成分毎に設けられる
    請求項2又は請求項3に記載の画像処理装置。
  5. 前記色差成分生成部は、
    前記第2の色成分の各画素の画素位置において、当該画素位置に近接する第1の色成分の各画素の画素値から補間することで、前記第1の色成分の補間画素値を演算する第1の補間画素値演算部と、
    前記第1の色成分の各画素の画素位置において、当該画素位置に近接する第2の色成分の各画素の画素値から補間することで、前記第2の色成分の補間画素値を演算する第2の補間画素値演算部と、
    前記第2の色成分の各画素の画素位置においては、当該画素位置における第1の色成分の補間画素値と、当該画素位置における第2の色成分の画素値と、の差分を演算することで前記色差成分を生成し、前記第1の色成分の各画素の画素位置においては、当該画素位置における第1の色成分の画素値と、当該画素位置における第2の色成分の補間画素値と、の差分を演算することで前記色差成分を生成する差分演算部と、
    を備えた請求項2から請求項4のいずれか1項に記載の画像処理装置。
  6. 第1の補間画素値演算部は、前記第2の色成分の各画素の画素位置において、当該画素位置の水平方向及び垂直方向にそれぞれ近接する前記第1の色成分の複数の画素がある場合、水平方向における第1の色成分の各画素の画素値から水平補間値を演算し、垂直方向における第1の色成分の各画素の画素値から垂直補間値を演算し、前記水平補間値及び前記垂直補間値のそれぞれの分散に基づいて、前記水平補間値及び前記垂直補間値の重み付け平均値を演算することで、前記第2の色成分の補間値を演算する
    請求項5に記載の画像処理装置。
  7. 複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第1の画像に対して、前記第1の画像の中の1つの画素を注目画素として選択する注目画素選択ステップと、
    前記第1の画像の主成分となる第1の色成分の画素であって前記注目画素選択ステップで選択された注目画素に対して、前記第1の色成分の複数の画素が第1の配列パターンで配列されたコードタップを選択する第1のコードタップ選択ステップと、
    前記第1のコードタップ選択ステップで選択された前記コードタップの特徴量を示すコードを演算する第1のコード演算ステップと、
    コード毎に、コード分類型適応フィルタの学習処理によって予め求められた複数の第1のタップ係数を記憶する係数記憶部から、前記第1のコード演算ステップで演算されたコードに基づいて複数の第1のタップ係数を読み出す第1の係数読み出しステップと、
    前記第1の画像の主成分となる第1の色成分の画素であって前記注目画素選択ステップで選択された注目画素に対して、前記第1の色成分の複数の画素が第2の配列パターンで配列されたフィルタタップを選択する第1のフィルタタップ選択ステップと、
    前記第1のフィルタタップ選択ステップで選択されたフィルタタップの各画素値と、前記係数読み出しステップで読み出された複数の第1のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第1の色成分の画像を生成する画像生成ステップと、を備え、
    前記第1のタップ係数は、
    所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第1の画像と同一である画像から、前記第1の色成分のみで構成された第1の生徒画像と、
    前記所定の被写体について、前記第1の画像と同一サイズの前記第1の色成分のみで構成され、前記第1の生徒画像に対して水平方向及び垂直方向に半画素シフトした第1の教師画像と、
    を用いた第1の学習処理であって、前記第1の生徒画像の各画素と前記第1の教師画像の各画素のマッピングされた正規方程式を解く前記第1の学習処理により算出されたタップ係数である
    画像処理方法。
  8. コンピュータを、
    複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子から出力された第1の画像に対して、前記第1の画像の中の1つの画素を注目画素として選択する注目画素選択部と、
    前記第1の画像の主成分となる第1の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第1の色成分の複数の画素が第1の配列パターンで配列されたコードタップを選択する第1のコードタップ選択部と、
    前記第1のコードタップ選択部により選択された前記コードタップの特徴量を示すコードを演算する第1のコード演算部と、
    コード毎に、コード分類型適応フィルタの学習処理によって予め求められた複数の第1のタップ係数を記憶し、前記第1のコード演算部により演算されたコードに基づいて複数の第1のタップ係数を出力する第1の係数記憶部と、
    前記第1の画像の主成分となる第1の色成分の画素であって前記注目画素選択部により選択された注目画素に対して、前記第1の色成分の複数の画素が第2の配列パターンで配列されたフィルタタップを選択する第1のフィルタタップ選択部と、
    前記第1のフィルタタップ選択部により選択されたフィルタタップの各画素値と、前記第1の係数記憶部から出力された複数の第1のタップ係数と、に基づいて、前記注目画素毎に対応する出力画素の画素値を演算することで、前記第1の色成分の画像を生成する第1の画像生成部と、して機能させるためのものであって、
    前記第1のタップ係数は、
    所定の被写体について、色成分、前記色成分の配列、及びサイズのそれぞれが前記第1の画像と同一である画像から、前記第1の色成分のみで構成された第1の生徒画像と、
    前記所定の被写体について、前記第1の画像と同一サイズの前記第1の色成分のみで構成され、前記第1の生徒画像に対して水平方向及び垂直方向に半画素シフトした第1の教師画像と、
    を用いた第1の学習処理であって、前記第1の生徒画像の各画素と前記第1の教師画像の各画素のマッピングされた正規方程式を解く前記第1の学習処理により算出されたタップ係数である
    プログラム。
  9. 複数の色成分のそれぞれに対応する画素が所定の配列で構成された撮像素子と、
    前記撮像素子から出力された第1の画像に対して画像処理を行う請求項1から請求項6のいずれか1項に記載の画像処理装置と、
    を備えた撮像装置。
JP2018043672A 2018-03-10 2018-03-10 画像処理装置、画像処理方法、プログラム及び撮像装置 Active JP6435560B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018043672A JP6435560B1 (ja) 2018-03-10 2018-03-10 画像処理装置、画像処理方法、プログラム及び撮像装置
PCT/JP2018/041564 WO2019176161A1 (ja) 2018-03-10 2018-11-08 画像処理装置、画像処理方法、記録媒体及び撮像装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018043672A JP6435560B1 (ja) 2018-03-10 2018-03-10 画像処理装置、画像処理方法、プログラム及び撮像装置

Publications (2)

Publication Number Publication Date
JP6435560B1 true JP6435560B1 (ja) 2018-12-12
JP2019161376A JP2019161376A (ja) 2019-09-19

Family

ID=64655830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018043672A Active JP6435560B1 (ja) 2018-03-10 2018-03-10 画像処理装置、画像処理方法、プログラム及び撮像装置

Country Status (2)

Country Link
JP (1) JP6435560B1 (ja)
WO (1) WO2019176161A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112532970B (zh) * 2020-10-26 2022-03-04 奥比中光科技集团股份有限公司 一种多抽头像素传感器的抽头非一致性校正方法、装置及tof相机

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014200033A (ja) * 2013-03-29 2014-10-23 ソニー株式会社 画像処理装置および方法、並びにプログラム
JP2015154308A (ja) * 2014-02-17 2015-08-24 ソニー株式会社 画像処理装置、画像処理方法、およびプログラム
CN107924558B (zh) * 2016-03-14 2019-04-30 Realop株式会社 图像处理装置、图像处理方法、记录介质以及拍摄装置

Also Published As

Publication number Publication date
WO2019176161A1 (ja) 2019-09-19
JP2019161376A (ja) 2019-09-19

Similar Documents

Publication Publication Date Title
JP6758859B2 (ja) 撮像装置、撮像システム、および画像処理方法
JP4284628B2 (ja) 撮像装置、画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体
JP5306563B2 (ja) 撮像装置及び画像生成方法
JP6164564B1 (ja) 画像処理装置、画像処理方法、記録媒体、プログラム及び撮像装置
JP4946581B2 (ja) 画像処理装置
JP2014194706A (ja) 画像処理装置、画像処理方法、及び、プログラム
JP2012004787A (ja) 画像処理装置、および画像処理方法、並びにプログラム
JP2013162347A (ja) 画像処理装置、画像処理方法、プログラム、および装置
US7868925B2 (en) Device, method, and program for generating high-resolution image data at a low data transfer rate
JP4983093B2 (ja) 撮像装置および方法
JP2013009293A (ja) 画像処理装置、画像処理方法、プログラム、および記録媒体、並びに学習装置
JP6276580B2 (ja) 画素補間処理装置、撮像装置、プログラムおよび集積回路
JP2014200009A (ja) 画像処理装置および方法、並びにプログラム
JP6435560B1 (ja) 画像処理装置、画像処理方法、プログラム及び撮像装置
JP2004519156A (ja) 画像検知器の出力信号用の輪郭フィルタ
KR20070074467A (ko) 표시 장치 및 표시 방법, 학습 장치 및 학습 방법과프로그램
JP2009048487A (ja) 画像処理装置及び画像処理プログラム
JP2014200000A (ja) 画像処理装置および方法、並びにプログラム
JP4298446B2 (ja) 画像処理装置
JP2010118940A (ja) 画像処理装置、画像処理方法、及びプログラム
WO2014156732A1 (ja) 画像処理装置および方法、並びにプログラム
JP3946913B2 (ja) 信号生成方法および装置並びに記録媒体
JP4085396B2 (ja) 学習装置及び学習方法
JP2014192586A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP6694626B1 (ja) 画像処理装置、画像処理方法、プログラム及び撮像装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180405

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180405

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180906

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180920

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181022

R150 Certificate of patent or registration of utility model

Ref document number: 6435560

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20220303

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250