以下に、本発明にかかる画像処理装置、画像処理プログラムおよび画像処理方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によって本発明が限定されるものではない。
(実施の形態1)
図1は、本発明の実施の形態1にかかる画像処理装置を備えた画像出力装置の一構成例を模式的に示すブロック図である。図1に示すように、この実施の形態1にかかる画像出力装置100は、被写体の画像を撮像する撮像部1と、撮像部1が撮像した画像に対して各種画像処理を行う画像処理装置2と、画像処理装置2によって画像処理された画像を出力する出力部3とを備える。
撮像部1は、レンズ、IRカットフィルタおよび光学ローパスフィルタ等の光学系、CCDまたはCMOSイメージセンサ等の撮像素子、および撮像素子の駆動制御部等を用いて実現される。この撮像部1において、レンズは、被写体からの光を撮像素子の受光部に集光して、この被写体の光学像を撮像素子の受光部に結像する。IRカットフィルタは、このレンズを通過する光束から赤外線領域の光をカットする。光学ローパスフィルタは、この撮像部の受光部に受光される被写体からの光学像の空間周波数を帯域制限するための光学フィルタである。
なお、撮像素子上の光学像の解像度低減は、G成分の色信号のサンプリング間隔において折り返し歪によるモアレが許容レベル以上に発生しない空間周波数となるように光学ローパスフィルタの空間周波数を設計することによって、抑制している。
また、撮像部1の撮像素子は、ベイヤ配列等のようにモザイク状に2次元配列されたカラーフィルタを有する単板式の撮像素子である。図2は、撮像素子によって撮像された色信号のベイヤ配列の一具体例を示す模式図である。撮像部1の撮像素子は、例えば図2に示すようにベイヤ配列順に並んだ複数色(例えばR、G、B)のカラーフィルタを通して、被写体のカラー画像を撮像する。
この撮像部1において、光学系を介して撮像素子の受光部に結像した光は、図2に示すようにベイヤ配列順に並んだ赤、緑、青のうちの何れかの単一色フィルタの画素、すなわちR成分画素、G成分画素、B成分画素によって光電変換処理される。これによって、被写体のカラー画像を形成するR成分の色信号Rs、G成分の色信号Gs、およびB成分の色信号Bsが生成される。一方、撮像部1における駆動制御部は、撮像素子の駆動を制御し、且つ、被写体のカラー画像を形成する色信号Rs,Gs,Bsを撮像毎に順次画像処理装置2に出力するように撮像素子を制御する。
画像処理装置2は、撮像部1によって撮像された画像に対して各種画像処理を行うものであり、図1に示すように、画像取得部10と、G補間色差算出部20と、同時化補間処理部30と、RGB算出部40と、出力処理部50とを備える。
画像取得部10は、撮像部1によって撮像された画像を取得する。具体的には、画像取得部10は、上述したように撮像部1が撮像した被写体のカラー画像を形成する各色信号Rs,Gs,Bsを取得する。また、画像取得部10は、特に図示しないが、増幅器、A/D変換器および処理制御部を有する。
この画像取得部10において、増幅器は、撮像部1から取得した各色信号Rs,Gs,Bsを増幅し、A/D変換器は、この増幅した各色信号Rs,Gs,Bsをアナログ信号からデジタル信号に変換する。一方、この画像取得部10の処理制御部は、ノイズ低減処理機能およびホワイトバランス処理機能等の画像処理機能を有し、このようにデジタル化された各色信号Rs,Gs,Bsに対して、ノイズ低減処理およびホワイトバランス処理等の各種画像処理を行う。
このような画像取得部10は、処理制御部の制御に基づいて、各種画像処理後の各色信号Rs,Gs,Bsを、G成分の色信号GsとG成分以外(すなわちR成分、B成分)色信号Rs,Bsとに分けてG補間色差算出部20に送信する。
G補間色差算出部20は、撮像部1によって撮像された画像を形成する各色信号に基づいた補間信号および色差信号を算出する。具体的には、G補間色差算出部20は、まず、画像取得部10から撮像画像の各色信号Rs,Gs,Bsを取得する。つぎに、G補間色差算出部20は、取得した色信号Rs,Bsの画素位置に対応するG成分の補間信号である補間G信号Giを算出する。なお、この実施の形態1において、色信号Rs,Bsの各画素位置は、特定色信号の一例であるG成分の色信号Gsが欠落した画素位置(以下、G欠落画素位置という)である。次いで、G補間色差算出部20は、G欠落画素位置における色信号Rと補間G信号Giとの信号差である色差信号R−Giと、色信号Bと補間G信号Giとの信号差である色差信号B−Giとを算出する。
ここで、色信号Rは、R成分の色信号の総称であり、G欠落画素位置のうちのR成分の画素位置における色信号Rsまたはローパスフィルタ等によって色信号Rsを帯域制限した色信号RLである。一方、色信号Bは、B成分の色信号の総称であり、G欠落画素位置のうちのB成分の画素位置における色信号Bsまたはローパスフィルタ等によって色信号Bsを帯域制限した色信号BLである。
すなわち、色差信号R−Giは、色信号Rsと補間G信号Giとの信号差である色差信号Rs−Gi、または色信号RLと補間G信号Giとの信号差である色差信号RL−Giである。同様に、色差信号B−Giは、色信号Bsと補間G信号Giとの信号差である色差信号Bs−Gi、または色信号BLと補間G信号Giとの信号差である色差信号BL−Giである。
その後、G補間色差算出部20は、上述した色差信号R−Gi,B−Giを所定の順序で同時化補間処理部30に順次出力する。図3は、G補間色差算出部が出力する色差信号の2次元配列の一具体例を示す模式図である。G補間色差算出部20は、図3に示すような2次元配列の色差信号R−Gi,B−Giをラスタスキャン順に同時化補間処理部30に順次出力する。
なお、図1に示した色差信号X−Giは、色差信号R−Gi,B−Giを総称したものであり、色差信号R−Giまたは色差信号B−Giである。すなわち、色信号Xは、G成分以外の色信号の総称であり、上述したR成分の色信号RまたはB成分の色信号Bである。
一方、G補間色差算出部20は、上述したG成分の色信号Gsおよび補間G信号Giを所定の順序で同時化補間処理部30に順次出力する。図4は、G補間色差算出部20が出力するG成分信号の2次元配列の一具体例を示す模式図である。G補間色差算出部20は、図4に示すような2次元配列の色信号Gsおよび補間G信号Giをラスタスキャン順に同時化補間処理部30に順次出力する。なお、図1に示した色信号Gは、G成分の色信号Gsおよび補間G信号Giを総称したものであり、色信号Gまたは補間G信号Giである。
なお、以下では、本実施の形態1における特定色信号の一例であるG成分の色信号Gsの画素をG画素と称し、この特定色信号と異なる色成分の色信号である異色信号の一例としての色信号Rs,Bsの各画素をR画素、B画素と称する場合がある。また、これらR画素およびB画素を総称してX画素と称する場合がある。すなわち、X画素の色信号として、例えば、上述したR成分の色信号Rs,RLおよびB成分の色信号Bs,BLが挙げられる。
また、異色信号の画素(X画素)を特にXL画素と称する場合、このXL画素の色信号は、ローパスフィルタ等によって帯域制限された色信号RL,BLである。同様に、異色信号の総称である色信号Xを色信号XLと称する場合、この色信号XLは、帯域制限された色信号RLまたは色信号BLである。なお、X画素は、特定色信号の一例である色信号Gsが欠落した画素、すなわちG欠落画素に相当する。
同時化補間処理部30は、G補間色差算出部20から取得した色差信号X−Giおよび色信号Gをもとに、同一サンプリング位置に複数の色信号を生成する。具体的には、同時化補間処理部30は、まず、G補間色差算出部20からの色差信号X−Giとして、色差信号R−Gi,B−Giを取得し、G補間色差算出部20からの色信号Gとして、G成分の色信号Gsおよび補間G信号Giを取得する。
ここで、色差信号R−Gi,B−Giは、G欠落画素位置の補間処理種別に対応して選択された色差信号であり、補間G信号Giは、G欠落画素位置における色信号Gsの補間信号である。また、色信号Gsは、上述したように、本実施の形態1における特定色信号である。
つぎに、同時化補間処理部30は、G補間色差算出部20からの色差信号R−Gi,B−Gi、補間G信号Gi、および色信号Gsをもとに、同一サンプリング位置に複数(例えば3つ)の色信号を生成する。図5は、G補間色差算出部から出力されるG成分の色信号の2次元配列の一具体例を示す模式図である。図6は、G補間色差算出部から出力されるR成分の色差信号の2次元配列の一具体例を示す模式図である。図7は、G補間色差算出部から出力されるB成分の色差信号の2次元配列の一具体例を示す模式図である。
同時化補間処理部30は、図5〜7に示すように、例えば8×8画素領域を用い、この8×8画素領域の中央位置に、色信号Gと色差信号R−Gi,B−Giとを補間処理して、3つの色信号である色差信号R−G,B−Gと色信号Gとを同一位置に生成する。その後、同時化補間処理部30は、このように同一位置に生成した3つの色信号、詳細には2つの色差信号R−G,B−Gおよび1つの色信号GをRGB算出部40に出力する。
RGB算出部40は、同時化補間処理部30によって同一位置に生成された複数の色信号に基づいてRGBの各色信号を算出する。具体的には、RGB算出部40は、まず、同時化補間処理部30によって同一位置に生成された複数の色信号である色差信号R−G,B−Gおよび色信号Gを取得する。
つぎに、RGB算出部40は、同一位置における色差信号R−G,B−Gおよび色信号Gをもとに生成した色信号R,G,Bに対して、カラーマッチング処理およびγ補正処理を行う。これによって、RGB算出部40は、これらの処理が施されたR成分の色信号Rγ、G成分の色信号GγおよびB成分の色信号Bγを算出する。その後、RGB算出部40は、このように算出した色信号Rγ,Gγ,Bγを出力処理部50に出力する。
出力処理部50は、まず、RGB算出部40によって算出された色信号Rγ,Gγ,Bγを取得し、この取得した色信号Rγ,Gγ,Bγを出力画像データの色信号に変換する。具体的には、出力処理部50は、RGB算出部40からの色信号Rγ,Gγ,BγをYUV形式の各信号に変換し、さらに、このYUV形式の各信号をJPEGまたはMPEG等の高能率圧縮符号化処理がなされた圧縮データに変換する。その後、出力処理部50は、この圧縮データを出力画像データとして出力部3に送信する。
なお、出力処理部50は、RGB算出部40からの色信号Rγ,Gγ,BγをYUV形式以外の所定の信号規格(例えばRGB形式の各信号)に変換し、得られた変換データを出力画像データとして出力部3に送信してもよい。
出力部3は、画像処理装置2によって画像処理された画像データを出力する。具体的には、例えばCRTディスプレイまたは液晶ディスプレイ等の所望のディスプレイを用いて実現され、画像処理装置2によって画像処理された画像データに基づく画像、すなわち、上述した撮像部1によって撮像された被写体の画像を表示出力する。
なお、出力部3は、上述したように画像データを表示出力するディスプレイ等の装置に限らず、画像処理装置2によって画像処理された画像データに基づく画像(撮像部1が撮像した被写体の画像)を所定の記憶媒体に記憶する記憶装置であってもよいし、被写体の画像を紙等の媒体に印刷するプリンタであってもよい。
また、記憶装置としての出力部3の記憶媒体は、フラッシュメモリの半導体メモリであってもよいし、ハードディスク等の据え置き型の記憶媒体であってもよいし、磁気テープ、光ディスクまたはメモリーカード等の可搬型の記憶媒体であってもよい。
つぎに、本発明の実施の形態1にかかる画像処理装置2のG補間色差算出部20について詳細に説明する。図8は、本発明の実施の形態1にかかる画像処理装置のG補間色差算出部の一構成例を模式的に示すブロック図である。
図8に示すように、この実施の形態1にかかるG補間色差算出部20は、メモリ21a〜21gと、縦補間算出部22aと、横補間算出部22bと、4画素平均補間算出部22cと、減算部23a〜23dと、乗算部23eと、ローパスフィルタ24と、色差類似度算出部25a〜25cと、G変動量算出部26と、判定部27と、種別情報修正部28と、色差選択部29とを備える。
メモリ21a,21bは、上述したG欠落画素位置における2次元的な補間処理が実施可能になる画素のデータ(色信号等)が揃うまでの遅延を得るためのものである。具体的には、メモリ21aは、撮像画像を形成する各画素の色信号のうちの本実施の形態1における異色信号、すなわち画像取得部10から出力された色信号Rs,Bsを順次取得し、所定のライン数分(例えば3ライン以上)の色信号Rs,Bsを格納する。その後、メモリ21aは、所定のライン数分の色信号Rs,Bsを格納した場合、この所定のライン数分の色信号Rs,Bsを減算部23a,23b,23dに順次出力する。
一方、メモリ21bは、撮像画像を形成する各画素の色信号のうちの本実施の形態1における特定色信号、すなわち画像取得部10から出力された色信号Gsを順次取得し、所定のライン数分の色信号Gsを格納する。その後、メモリ21bは、所定のライン数分の色信号Gsを格納した場合、この所定のライン数分の色信号Gsを縦補間算出部22a、横補間算出部22b、4画素平均補間算出部22c、G変動量算出部26および同時化補間処理部30(図1参照)に順次出力する。
このようにして、メモリ21a,21bは、上述したG欠落画素位置における2次元的な補間処理が実施可能になる画素数のデータ、すなわち所定のライン数分の色信号Rs,Gs,Bsが揃うまでの遅延を得る。
縦補間算出部22a、横補間算出部22bおよび4画素平均補間算出部22cは、補間処理種別毎に特定色信号(色信号Gs)の異なる補間信号を算出する複数の補間信号算出部として機能する。
具体的には、縦補間算出部22aは、G欠落画素位置の縦方向に隣接する各画素位置の特定色信号をもとに縦方向の補間処理(以下、縦補間処理という)を行って、縦方向の補間処理種別に対応する補間信号を算出する。
横補間算出部22bは、G欠落画素位置の横方向に隣接する各画素位置の特定色信号をもとに横方向の補間処理(以下、横補間処理という)を行って、横方向の補間処理種別に対応する補間信号を算出する。
4画素平均補間算出部22cは、G欠落画素位置の縦、横に隣接する全画素位置の特定色信号をもとに縦横方向(十字方向)の補間処理(以下、4画素平均補間処理という)を行って、4画素平均補間の補間処理種別に対応する補間信号を算出する。
以下に、縦補間処理、横補間処理および4画素平均補間処理について具体的に説明する。図9は、本実施の形態1における補間処理種別に異なる補間処理対象画素のベイヤ配列上の画素位置の具体例を示す模式図である。
縦補間算出部22aは、G欠落画素であるX画素の縦方向に隣接する2つの画素(図9参照)の各色信号Gsをメモリ21bから取得し、この取得した各色信号Gsの信号値G1,G2を用いて次式(1)に基づく縦補間処理を行う。これによって、縦補間算出部22aは、このX画素におけるG成分の補間値Gvを算出する。その後、縦補間算出部22aは、式(1)に基づいて算出した補間値Gvを信号値とする補間信号を減算部23aに出力する。
Gv=(G1+G2)/2 ・・・(1)
一方、横補間算出部22bは、G欠落画素であるX画素の横方向に隣接する2つの画素(図9参照)の各色信号Gsをメモリ21bから取得し、この取得した各色信号Gsの信号値G3,G4を用いて次式(2)に基づく横補間処理を行う。これによって、横補間算出部22bは、このX画素におけるG成分の補間値Ghを算出する。その後、横補間算出部22bは、式(2)に基づいて算出した補間値Ghを信号値とする補間信号を減算部23bに出力する。
Gh=(G3+G4)/2 ・・・(2)
他方、4画素平均補間算出部22cは、G欠落画素であるX画素の十字方向に隣接する4つの画素(図9参照)の各色信号Gsをメモリ21bから取得し、この取得した各色信号Gsの信号値G1〜G4を用いて次式(3)に基づく4画素平均補間処理を行う。これによって、4画素平均補間算出部22cは、このX画素におけるG成分の補間値Gaを算出する。その後、4画素平均補間算出部22cは、式(3)に基づいて算出した補間値Gaを信号値とする補間信号を減算部23cに出力する。
Ga=(G1+G2+G3+G4)/2 ・・・(3)
ここで、上述した補間値Gv,Gh,Gaは、補間処理種別毎に異なる補間信号の各信号値である。詳細には、補間値Gvは、縦補間処理によって算出されるG欠落画素の補間G信号Giの信号値であり、補間値Ghは、横補間処理によって算出されるG欠落画素の補間G信号Giの信号値であり、補間値Gaは、4画素平均補間処理によって算出されるG欠落画素の補間G信号Giの信号値である。
減算部23a〜23cは、補間処理種別毎に、本実施の形態1における異色信号と特定色信号との信号差の候補である色差信号候補を算出する複数の色差信号候補算出部として機能する。具体的には、減算部23aは、まず、縦補間算出部22aから縦補間処理の補間値Gvを有する補間信号を取得し、メモリ21aからG欠落画素(X画素)における色信号Xを取得する。つぎに、減算部23aは、補間値Gvの補間信号と色信号Xとの減算処理を行って、縦補間処理に対応する色差信号候補である色差信号X−Gvを算出する。その後、減算部23aは、この算出した色差信号X−Gvをメモリ21cに出力する。なお、減算部23aが算出した色差信号X−Gvとして、例えば、縦補間処理に対応する色差信号R−Gi,B−Giが挙げられる。
一方、減算部23bは、まず、横補間算出部22bから横補間処理の補間値Ghを有する補間信号を取得し、メモリ21aからX画素における色信号Xを取得する。つぎに、減算部23bは、補間値Ghの補間信号と色信号Xとの減算処理を行って、横補間処理に対応する色差信号候補である色差信号X−Ghを算出する。その後、減算部23bは、この算出した色差信号X−Ghをメモリ21dに出力する。なお、減算部23bが算出した色差信号X−Ghとして、例えば、横補間処理に対応する色差信号R−Gi,B−Giが挙げられる。
他方、減算部23cは、まず、4画素平均補間算出部22cから4画素平均補間処理の補間値Gaを有する補間信号を取得し、ローパスフィルタ24から色信号XLを取得する。なお、色信号XLは、メモリ21aからのX画素の色信号Xがローパスフィルタ24によって帯域制限処理された色信号である。つぎに、減算部23cは、補間値Gaの補間信号と色信号XLとの減算処理を行って、4画素平均補間処理に対応する色差信号候補である色差信号XL−Gaを算出する。その後、減算部23cは、この算出した色差信号XL−Gaをメモリ21eに出力する。なお、減算部23cが算出した色差信号XL−Gaとして、例えば、4画素平均補間処理に対応する色差信号RL−Gi,BL−Giが挙げられる。
ローパスフィルタ24は、メモリ21aに格納された色信号X(すなわち本実施の形態1における異色信号)に対して帯域制限処理を行い、所定の周波数帯域幅に帯域制限した色信号XLを減算部23cに出力する。図10は、ローパスフィルタの帯域制限処理において用いる色信号のベイヤ配列上の画素位置の具体例を示す模式図である。なお、図10には、後述するG変動量算出部26が行う処理において用いる色信号のベイヤ配列上の画素位置の具体例も示されている。
具体的には、ローパスフィルタ24は、G欠落画素であるX画素の色信号Rs,Bsをメモリ21aから取得し、この取得した色信号Rs,Bsに対して帯域制限処理を行って、色信号RL,BLを生成する。なお、色信号RLは、帯域制限処理によって色信号Rsを帯域制限したものであり、色信号BLは、帯域制限処理によって色信号Bsを帯域制限したものである。
より具体的には、図10に示すように、ローパスフィルタ24は、処理対象のX画素であるX(n,m)と、このX画素の上下左右に位置する同種(同じ色成分)のX画素であるX(n,m−2)、X(n,m+2)、X(n−2,m)、X(n+2,m)とを用い、次式(4)に基づいてXL(n,m)を算出する。なお、XL(n,m)は、処理対象のX画素を帯域制限したものであり、以下、上述したXL画素に該当する。その後、ローパスフィルタ24は、式(4)に基づいて帯域制限処理した色信号XL(具体的には色信号RL,BL)を減算部23cに出力する。
XL(n,m)=α×X(n,m)+β×{X(n,m+2)+X(n,m-2)+X(n-2,m)+X(n+2,m)}・・・(4)
ここで、式(4)におけるαおよびβは、X画素に対して4つの周辺G画素平均の斜め45度方向の空間周波数特性に近似させる重み係数である。また、nは画像内の水平方向の座標値であり、mは画像内の垂直方向の座標値である。すなわち、画像内の画素位置は、水平方向の座標値と垂直方向の座標値とによって規定される。
メモリ21c〜21eは、補間処理種別毎に、上述した色差信号候補を記憶する複数の記憶部として機能する。具体的には、メモリ21cは、まず、減算部23aによって算出された縦補間処理の色差信号候補である色差信号X−Gvを順次取得し、所定の画素数分の色差信号X−Gvを格納する。その後、メモリ21cは、所定の画素数分の色差信号X−Gvを格納した場合、この格納した色差信号X−Gvを色差類似度算出部25aおよび色差選択部29に適宜出力する。
メモリ21dは、まず、減算部23bによって算出された横補間処理の色差信号候補である色差信号X−Ghを順次取得し、所定の画素数分の色差信号X−Ghを格納する。その後、メモリ21dは、所定の画素数分の色差信号X−Ghを格納した場合、この格納した色差信号X−Ghを色差類似度算出部25bおよび色差選択部29に適宜出力する。
メモリ21eは、まず、減算部23cによって算出された4画素平均補間処理の色差信号候補である色差信号XL−Gaを順次取得し、所定の画素数分の色差信号XL−Gaを格納する。その後、メモリ21eは、所定の画素数分の色差信号XL−Gaを格納した場合、この格納した色差信号XL−Gaを色差類似度算出部25cおよび色差選択部29に適宜出力する。
上述したようにして、メモリ21c〜21eは、所定の画素数分(例えば5行5列の画素数分)の色差信号X−Gv,X−Gh,XL−Gaを含む画素領域における色差類似度の算出処理が実施可能になるまでの遅延を得る。なお、色差類似度の算出処理は、後述する色差類似度算出部25a〜25cによって実施される。
以下に、メモリ21c〜21eの各動作をより具体的に説明する。図11は、縦補間処理に対応する色差類似度の算出処理に用いる色差信号のベイヤ配列上の画素位置の具体例を示す模式図である。図12は、横補間処理に対応する色差類似度の算出処理に用いる色差信号のベイヤ配列上の画素位置の具体例を示す模式図である。図13は、4画素平均補間処理に対応する色差類似度の算出処理に用いる色差信号のベイヤ配列上の画素位置の具体例を示す模式図である。
より具体的には、図11に示すように、メモリ21cは、例えば5行5列の画素数分の色差信号X−Gvを減算部23aから取得し、この取得した5行5列の画素数分の色差信号X−Gv、すなわち、(X−Gv)(n−2,m+2)、(X−Gv)(n,m+2)、(X−Gv)(n+2,m+2)、(X−Gv)(n−1,m+1)、(X−Gv)(n+1,m+1)、(X−Gv)(n−2,m)、(X−Gv)(n,m)、(X−Gv)(n+2,m)、(X−Gv)(n−1,m−1)、(X−Gv)(n+1,m−1)、(X−Gv)(n−2,m−2)、(X−Gv)(n,m−2)、(X−Gv)(n+2,m−2)を格納する。その後、メモリ21cは、この格納した5行5列の画素数分の全色差信号X−Gvを色差類似度算出部25aに出力するとともに、これら全色差信号X−Gvのうちの処理対象の色差信号(例えば、色差信号(X−Gv)(n,m))を色差選択部29に出力する。
一方、図12に示すように、メモリ21dは、例えば5行5列の画素数分の色差信号X−Ghを減算部23bから取得し、この取得した5行5列の画素数分の色差信号X−Gh、すなわち、(X−Gh)(n−2,m+2)、(X−Gh)(n,m+2)、(X−Gh)(n+2,m+2)、(X−Gh)(n−1,m+1)、(X−Gh)(n+1,m+1)、(X−Gh)(n−2,m)、(X−Gh)(n,m)、(X−Gh)(n+2,m)、(X−Gh)(n−1,m−1)、(X−Gh)(n+1,m−1)、(X−Gh)(n−2,m−2)、(X−Gh)(n,m−2)、(X−Gh)(n+2,m−2)を格納する。その後、メモリ21dは、この格納した5行5列の画素数分の全色差信号X−Ghを色差類似度算出部25bに出力するとともに、これら全色差信号X−Ghのうちの処理対象の色差信号(例えば、色差信号(X−Gh)(n,m))を色差選択部29に出力する。
他方、図13に示すように、メモリ21eは、例えば5行5列の画素数分の色差信号XL−Gaを減算部23cから取得し、この取得した5行5列の画素数分の色差信号XL−Ga、すなわち、(XL−Ga)(n−2,m+2)、(XL−Ga)(n,m+2)、(XL−Ga)(n+2,m+2)、(XL−Ga)(n−1,m+1)、(XL−Ga)(n+1,m+1)、(XL−Ga)(n−2,m)、(XL−Ga)(n,m)、(XL−Ga)(n+2,m)、(XL−Ga)(n−1,m−1)、(XL−Ga)(n+1,m−1)、(XL−Ga)(n−2,m−2)、(XL−Ga)(n,m−2)、(XL−Ga)(n+2,m−2)を格納する。その後、メモリ21eは、この格納した5行5列の画素数分の全色差信号XL−Gaを色差類似度算出部25cに出力するとともに、これら全色差信号XL−Gaのうちの処理対象の色差信号(例えば、色差信号(XL−Ga)(n,m))を色差選択部29に出力する。
色差類似度算出部25a〜25cは、上述したメモリ21c〜21eが補間処理種別に各々記憶した補間処理種別毎の色差信号候補をもとに、補間処理種別毎に色差信号候補間の類似度を算出する複数の色差類似度算出部として機能する。
具体的には、色差類似度算出部25aは、まず、メモリ21cに格納された所定の画素数分の色差信号候補(色差信号X−Gv)を取得する。つぎに、色差類似度算出部25aは、取得した所定の画素数分の色差信号候補をもとに、複数の補間処理種別のうちの縦補間処理に対応する色差信号候補間の類似度を算出する。例えば、色差類似度算出部25aは、図11に示した5行5列の画素数分の色差信号X−Gvを取得し、この取得した5行5列の画素数分の色差信号X−Gvを用い、次式(5)に基づいて、処理対象のX画素(G欠落画素)の画素位置であるX(n,m)における色差類似度Sv(n,m)を算出する。その後、色差類似度算出部25aは、この算出した色差類似度Sv(n,m)を判定部27に出力する。
Sv(n,m)=Sv1(n,m)+Sv2(n,m) ・・・(5)
ここで、この式(5)において、Sv1(n,m)およびSv2(n,m)は、メモリ21cに格納された所定の画素数分の色差信号X−Gvを用いて算出可能である。例えば図11に示した5行5列の画素数分の色差信号X−Gvを用いた場合、Sv1(n,m)は、中央のG欠落画素位置の色差信号とその外側の周辺8つのG欠落画素位置の色差信号とを用い、次式(6)に基づいて算出される。Sv2(n,m)は、その内側の周辺4つのG欠落画素位置の色差信号を用い、次式(7)に基づいて算出される。
Sv1(n,m)={|(X-Gv)(n,m-2)−(X-Gv)(n,m)|+|(X-Gv)(n,m+2)−(X-Gv)(n,m)|}×Wvc1
+{|(X-Gv)(n-2,m-2)−(X-Gv)(n-2,m)|+|(X-Gv)(n-2,m+2)−(X-Gv)(n-2,m)|
+|(X-Gv)(n+2,m-2)−(X-Gv)(n+2,m)|+|(X-Gv)(n+2,m+2)−(X-Gv)(n+2,m)|}×Wva1
・・・(6)
Sv2(n,m)={|(X-Gv)(n-1,m-1)−(X-Gv)(n-1,m+1)|+|(X-Gv)(n+1,m-1)
−(X-Gv)(n+1,m+1)|}×Wv2 ・・・(7)
なお、この式(6)、(7)において、Wvc1、Wva1およびWv2は、Wvc1+2×Wva1=Wv2の関係にある。
一方、色差類似度算出部25bは、まず、メモリ21dに格納された所定の画素数分の色差信号候補(色差信号X−Gh)を取得する。つぎに、色差類似度算出部25bは、取得した所定の画素数分の色差信号候補をもとに、複数の補間処理種別のうちの横補間処理に対応する色差信号候補間の類似度を算出する。例えば、色差類似度算出部25bは、図12に示した5行5列の画素数分の色差信号X−Ghを取得し、この取得した5行5列の画素数分の色差信号X−Ghを用い、次式(8)に基づいて、処理対象のX画素(G欠落画素)の画素位置であるX(n,m)における色差類似度Sh(n,m)を算出する。その後、色差類似度算出部25bは、この算出した色差類似度Sh(n,m)を判定部27に出力する。
Sh(n,m)=Sh1(n,m)+Sh2(n,m) ・・・(8)
ここで、この式(8)において、Sh1(n,m)およびSh2(n,m)は、メモリ21dに格納された所定の画素数分の色差信号X−Ghを用いて算出可能である。例えば図12に示した5行5列の画素数分の色差信号X−Ghを用いた場合、Sh1(n,m)は、中央のG欠落画素位置の色差信号とその外側の周辺8つのG欠落画素位置の色差信号とを用い、次式(9)に基づいて算出される。Sh2(n,m)は、その内側の周辺4つのG欠落画素位置の色差信号を用い、次式(10)に基づいて算出される。
Sh1(n,m)={|(X-Gh)(n-2,m)−(X-Gh)(n,m)|+|(X-Gh)(n+2,m)−(X-Gh)(n,m)|}×Whc1
+{|(X-Gh)(n-2,m-2)−(X-Gh)(n,m-2)|+|(X-Gh)(n+2,m-2)−(X-Gh)(n,m-2)|
+|(X-Gh)(n-2,m+2)−(X-Gh)(n,m+2)|+|(X-Gh)(n+2,m+2)−(X-Gh)(n,m+2)|}×Wha1
・・・(9)
Sh2(n,m)={|(X-Gh)(n-1,m-1)−(X-Gh)(n+1,m-1)|+|(X-Gh)(n-1,m+1)
−(X-Gh)(n+1,m+1)|}×Wh2 ・・・(10)
なお、この式(9)、(10)において、Whc1、Wha1およびWh2は、Whc1+2×Wha1=Wh2の関係にある。
他方、色差類似度算出部25cは、まず、メモリ21eに格納された所定の画素数分の色差信号候補(色差信号XL−Ga)を取得する。つぎに、色差類似度算出部25cは、取得した所定の画素数分の色差信号候補をもとに、複数の補間処理種別のうちの4画素平均補間処理に対応する色差信号候補間の類似度を算出する。例えば、色差類似度算出部25cは、図13に示した5行5列の画素数分の色差信号XL−Gaを取得し、この取得した5行5列の画素数分の色差信号XL−Gaを用い、次式(11)に基づいて、処理対象のXL画素(G欠落画素)の画素位置であるXL(n,m)における色差類似度Sa(n,m)を算出する。その後、色差類似度算出部25cは、この算出した色差類似度Sa(n,m)を乗算部23eに出力する。
Sa(n,m)=Sa1(n,m)+Sa2(n,m) ・・・(11)
ここで、この式(11)において、Sa1(n,m)およびSa2(n,m)は、メモリ21eに格納された所定の画素数分の色差信号XL−Gaを用いて算出可能である。例えば図13に示した5行5列の画素数分の色差信号XL−Gaを用いた場合、Sa1(n,m)は、中央のG欠落画素位置の色差信号とその外側の周辺8つのG欠落画素位置の色差信号とを用い、次式(12)に基づいて算出される。Sa2(n,m)は、その内側の周辺4つのG欠落画素位置の色差信号を用い、次式(13)に基づいて算出される。
Sa1(n,m)={|(XL-Ga)(n-2,m-2)−(XL-Ga)(n,m)|+|(XL-Ga)(n,m-2)−(XL-Ga)(n,m)|
+|(XL-Ga)(n-2,m-2)−(XL-Ga)(n,m)|+|(XL-Ga)(n-2,m)−(XL-Ga)(n,m)|
+|(XL-Ga)(n+2,m)−(XL-Ga)(n,m)|+|(XL-Ga)(n-2,m+2)−(XL-Ga)(n,m)|
+|(XL-Ga)(n,m+2)−(XL-Ga)(n,m)|+|(XL-Ga)(n+2,m+2)−(XL-Ga)(n,m)|}×Wa1
・・・(12)
Sa2(n,m)={|(XL-Ga)(n-1,m-1)−(XL-Ga)(n+1,m+1)|+|(XL-Ga)(n-1,m+1)
−(XL-Ga)(n+1,m-1)|}×Wa2 ・・・(13)
なお、この式(12)、(13)において、Wa1およびWa2は、4×Wa1=Wa2の関係にある。
G変動量算出部26は、本実施の形態1における画像内の特定色信号である色信号Gsをもとに、G欠落画素の画素位置(X(n,m))におけるG変動量を算出し、この算出したG変動量に基づいて、G欠落画素の画素位置におけるG変動量重み係数w(n,m)を算出する。
具体的には、G変動量算出部26は、図10に示したように、G欠落画素位置であるX(n,m)の周辺に位置する各画素位置の色信号Gs、すなわち、Gs(n−1,m+2)、Gs(n+1,m+2)、Gs(n−2,m+1)、Gs(n,m+1)、Gs(n+2,m+1)、Gs(n−1,m)、Gs(n+1,m)、Gs(n−2,m−1)、Gs(n,m−1)、Gs(n+2,m−1)、Gs(n−1,m−2)、Gs(n+1,m−2)を用い、次式(14)に基づいて、G欠落画素の画素位置(X(n,m))におけるG変動量GR(n,m)を算出する。なお、G変動量算出部26は、上述したメモリ21bの格納情報の中から、このG欠落画素位置の周辺に位置する各画素位置の色信号Gsを読み込む。
GR(n,m) =Dc(n, m)/P+{Dr1(n,m)+Dr2(n,m)+Dr3(n,m)+Dr4(n,m)}/Q ・・・(14)
ここで、この式(14)において、
Dc(n,m)=|Gs(n-1,m)−Gs(n,m-1)+Gs(n+1,m)−Gs(n,m+1)|+|Gs(n-1,m)+Gs(n,m-1)−Gs(n+1,m)−Gs(n,m+1)|+|Gs(n-1,m)−Gs(n,m-1)−Gs(n+1,m)+Gs(n,m+1)|
であり、
Dr1(n,m)=|Gs(n-2,m-1)−Gs(n-1,m-2)+Gs(n,m-1)−Gs(n-1,m)|+|Gs(n-2,m-1)+Gs(n-1,m-2)−Gs(n,m-1)−Gs(n-1,m)|+|Gs(n-2,m-1)−Gs(n-1,m-2)−Gs(n,m-1)+Gs(n-1,m)|
であり、
Dr2(n,m)=|Gs(n,m-1)−Gs(n+1,m-2)+Gs(n+2,m-1)−Gs(n+1,m)|+|Gs(n,m-1)+Gs(n+1,m-2)−Gs(n+2,m-1)−Gs(n+1,m)|+|Gs(n,m-1)−Gs(n+1,m-2)−Gs(n+2,m-1)+Gs(n+1,m)|
であり、
Dr3(n,m)=|Gs(n,m+1)−Gs(n+1,m)+Gs(n+2,m+1)−Gs(n+1,m+2)|+|Gs(n,m+1)+Gs(n+1,m)−Gs(n+2,m+1)−Gs(n+1,m+2)|+|Gs(n,m+1)−Gs(n+1,m)−Gs(n+2,m+1)+Gs(n+1,m+2)|
であり、
Dr4(n,m)=|Gs(n-2,m+1)−Gs(n-1,m)+Gs(n,m+1)−Gs(n-1,m+2)|+|Gs(n-2,m+1)+Gs(n-1,m)−Gs(n,m+1)−Gs(n-1,m+2)|+|Gs(n-2,m+1)−Gs(n-1,m)−Gs(n,m+1)+Gs(n-1,m+2)|
である。また、PおよびQは、中央の画素位置(X(n,m))とその周辺の画素位置との変動量の重み係数であって正の任意定数である。
また、G変動量算出部26は、上述した式(14)に基づいてG欠落画素の画素位置(X(n,m))におけるG変動量GR(n,m)を算出した後、このG変動量GR(n,m)に対応するG変動量重み係数w(n,m)を算出する。
図14は、G欠落画素の画素位置におけるG変動量とその重み係数との関係の一具体例を示す模式図である。具体的には、G変動量算出部26は、図14に示すようなG変動量と重み係数との相関関係に基づいて、この算出したG変動量GR(n,m)に対応するG変動量重み係数w(n,m)を算出する。その後、G変動量算出部26は、G変動量重み係数w(n,m)をメモリ21fに出力する。
ここで、G変動量算出部26によって算出されるG変動量重み係数w(n,m)は、図14に示すように、予め設定された所定の閾値以上のG変動量範囲において「1」であり、この閾値未満のG変動量範囲において、G変動量GR(n,m)の減少に伴って減少する。
なお、G変動量算出部26は、図14に示すG変動量と重み係数との相関関係に対応した所定の計算式に基づいてG変動量重み係数w(n,m)を算出してもよいし、図14に示すG変動量と重み係数との相関関係を示すルックアップテーブルを予め有し、このルックアップテーブルに基づいてG変動量GR(n,m)をG変動量重み係数w(n,m)に変換してもよい。
メモリ21fは、上述したG変動量算出部26によるG変動量重み係数w(n,m)を更新可能に格納し、この格納したG変動量重み係数w(n,m)を乗算部23eに出力する。このようなメモリ21fは、G変動量算出部26によるG変動量重み係数w(n,m)を取得する都度、G変動量重み係数w(n,m)を更新して最新のG変動量重み係数w(n,m)を格納する。
乗算部23eは、まず、複数の補間処理種別のうちの4画素平均補間処理に対応する色差類似度Sa(n,m)を色差類似度算出部25cから取得し、上述したG変動量重み係数w(n,m)をメモリ21fから読み込む。つぎに、乗算部23eは、色差類似度Sa(n,m)とG変動量重み係数w(n,m)とを乗算処理し、この乗算処理後の色差類似度Sa(n,m)×w(n,m)を判定部27に出力する。
ここで、乗算部23eが、補間値Gaを用いて算出された色差信号XL−Gaの色差類似度Sa(n,m)に1以下であるG変動量重み係数w(n,m)を乗算処理することによって、この乗算処理後の色差類似度Sa(n,m)×w(n,m)は、G変動量GR(n,m)が所定の閾値未満である場合に乗算処理前の色差類似度Sa(n,m)に比して小さい値となる。このため、色差類似度Sa(n,m)×w(n,m)は、判定部27において、他の色差類似度Sv(n,m),Sh(n,m)に比して小さい値となる(すなわち最小値となる)可能性が増大することになる。この結果、後述する判定部27は、G変動量が小さい平坦な画素領域においてノイズによる影響をキャンセルするように、G成分の縦補間処理または横補間処理ではなく、G成分の4画素平均補間処理を積極的に選択することができる。
判定部27は、画像を形成する複数の色信号の画素位置のうちの特定色信号が欠落した欠落画素位置における特定色信号の補間処理種別を判定する種別判定部として機能する。具体的には、判定部27は、本実施の形態1における特定色信号である色信号Gsが欠落したG欠落画素(X画素またはXL画素)の画素位置における色信号Gsの補間処理種別として、上述した縦補間処理、横補間処理および4画素平均補間処理のうちの1つを選択的に判定する。
より具体的には、判定部27は、色差類似度算出部25aから縦補間処理に対応する色差類似度Sv(n,m)を取得し、色差類似度算出部25bから横補間処理に対応する色差類似度Sh(n,m)を取得する。また、判定部27は、乗算部23eから4画素平均補間処理に対応する色差類似度Sa(n,m)×w(n,m)を取得する。つぎに、判定部27は、補間処理種別に異なる色差類似度Sv(n,m),Sh(n,m),Sa(n,m)×w(n,m)を比較処理し、これらの色差類似度のうちの最小となる色差類似度を選択する。次いで、判定部27は、この選択した最小の色差類似度に対応する補間処理種別(本実施の形態1では、縦補間処理、横補間処理、4画素平均補間処理のいずれか)をG欠落画素位置における色信号Gsの補間処理種別として選択的に判定する。その後、判定部27は、このように判定したG欠落画素位置における色信号Gsの補間処理種別を示す種別情報をメモリ21gに出力する。
ここで、判定部27は、比較処理によって色差類似度Sv(n,m)を選択した場合、この色差類似度Sv(n,m)に対応する縦補間処理をG欠落画素位置における補間処理種別として判定する。この場合、判定部27は、G欠落画素位置(n,m)における補間処理種別が縦補間処理である旨を示す種別情報Tv(n,m)をメモリ21gに出力する。
一方、判定部27は、比較処理によって色差類似度Sh(n,m)を選択した場合、この色差類似度Sh(n,m)に対応する横補間処理をG欠落画素位置における補間処理種別として判定する。この場合、判定部27は、G欠落画素位置(n,m)における補間処理種別が横補間処理である旨を示す種別情報Th(n,m)をメモリ21gに出力する。
他方、判定部27は、比較処理によって色差類似度Sa(n,m)×w(n,m)を選択した場合、この色差類似度Sa(n,m)×w(n,m)に対応する4画素平均補間処理をG欠落画素位置における補間処理種別として判定する。この場合、判定部27は、G欠落画素位置(n,m)における補間処理種別が4画素平均補間処理である旨を示す種別情報Ta(n,m)をメモリ21gに出力する。
なお、判定部27は、上述した補間処理種別の色差類似度Sv(n,m),Sh(n,m),Sa(n,m)×w(n,m)を比較処理した結果、最小値が複数となった場合、所定の優先順位に従って、例えば色差類似度Sa(n,m)×w(n,m)、色差類似度Sh(n,m)、色差類似度Sv(n,m)の順に優先して色差類似度を選択する。
メモリ21gは、判定部27による判定後の補間処理種別を示す種別情報を欠落画素位置毎に記憶する種別情報記憶部として機能する。具体的には、メモリ21gは、G欠落画素位置における補間処理種別を示す種別情報を判定部27から取得し、この取得した種別情報を2次元配列のG欠落画素位置毎に順次格納する。
より具体的には、メモリ21gは、補間処理種別の種別情報Tv(n,m),Th(n,m),Ta(n,m)の中から判定部27が判定出力した種別情報を順次取得し、この取得した種別情報(すなわち種別情報Tv(n,m),Th(n,m),Ta(n,m)のうちのいずれか)をベイヤ配列内のG欠落画素位置毎に順次格納する。このようにして、メモリ21gは、所定のライン数分(例えば3ライン以上)の補間処理種別の種別情報を格納する。なお、メモリ21gが所定のライン数分格納した各種別情報は、種別情報修正部28によって読み出される。
種別情報修正部28は、特定色信号の欠落画素位置の周辺に位置する複数の周辺欠落画素位置の補間処理種別をもとに、判定部27による判定後の補間処理種別を修正する種別修正部として機能する。具体的には、種別情報修正部28は、メモリ21gが所定のライン数分(例えば3ライン以上)の補間処理種別の種別情報を格納した場合、この所定ライン数分の種別情報を読み込む。
なお、本実施の形態1において、種別情報修正部28がメモリ21gから読み込んだ所定ライン数分の種別情報には、上述した種別情報Tv(n,m),Th(n,m),Ta(n,m)のうちの少なくとも1つが含まれる。
つぎに、種別情報修正部28は、この読み込んだ所定ライン数分の種別情報の中から処理対象のG欠落画素位置の種別情報を選択し、この処理対象以外の残りの種別情報、すなわち、この処理対象のG欠落画素位置の周辺に位置する複数のG欠落画素位置(以下、周辺G欠落画素位置という)の各種別情報の状態を判定する。
次いで、種別情報修正部28は、これら複数の周辺G欠落画素位置の各識別情報の判定結果に基づいて、この処理対象のG欠落画素位置の種別情報が誤判定情報であるか否かを判定し、誤判定情報である場合、この種別情報に示される補間処理種別を修正する。例えば、種別情報修正部28は、これら複数の周辺G欠落画素位置の各識別情報による補間処理種別が同一であり、且つこの処理対象のG欠落画素位置の種別情報と周辺G欠落画素位置の識別情報とが異なる補間処理種別を示す場合、この処理対象のG欠落画素位置の種別情報を周辺G欠落画素位置と同一補間処理種別を示す種別情報に修正する。
その後、種別情報修正部28は、上述したように補間処理種別を修正した修正後の種別情報をメモリ21gに出力する。この場合、メモリ21gは、この修正後の種別情報を種別情報修正部28から取得し、この修正後の種別情報を同一格納位置に上書き保存して、この同一格納位置の既存の種別情報をこの修正後の種別情報に更新する。なお、種別情報修正部28の詳細については、後述する。
色差選択部29は、上述した特定色信号の欠落画素位置の補間処理種別に対応して特定色信号と異色信号との色差信号を選択し、この補間処理種別が修正された場合、この修正後の補間処理種別に対応して特定色信号と異色信号との色差信号を選択する色差信号選択部として機能する。
具体的には、色差選択部29は、まず、上述したメモリ21c〜21eから補間処理種別に異なる色差信号候補である色差信号X−Gv,X−Gh,XL−Gaを取得する。また、色差選択部29は、判定部27による判定後の種別情報をメモリ21gから取得する。一方、色差選択部29は、上述した種別情報修正部28が処理対象のG欠落画素位置の種別情報を修正した場合、この種別情報修正部28による修正後(すなわちメモリ21gによる更新後)の種別情報をメモリ21gから取得する。
なお、メモリ21c〜21eから取得した色差信号X−Gv,X−Gh,XL−Gaとメモリ21gから取得した判定後または更新後の種別情報とは、同一の処理対象画素位置(G欠落画素位置)のものである。
つぎに、色差選択部29は、判定部27による判定後の種別情報を取得した場合、この取得した種別情報によって示されるG欠落画素位置の補間処理種別に対応して、これら複数の色差信号X−Gv,X−Gh,XL−Gaの中から出力対象の色差信号を選択する。一方、色差選択部29は、更新後の種別情報を取得した場合、この取得した種別情報によって示されるG欠落画素位置の補間処理種別、すなわち種別情報修正部28による修正後の補間処理種別に対応して、これら複数の色差信号X−Gv,X−Gh,XL−Gaの中から出力対象の色差信号を選択する。
その後、色差選択部29は、上述したように処理対象のG欠落画素位置の補間処理種別に対応して選択した色差信号X−Giを減算部23dおよび同時化補間処理部30(図1参照)に出力する。具体的には、色差選択部29は、同時化補間処理部30に対して、ラスタスキャン順(図3に示した2次元配列の左上から右下への順)に出力対象の色差信号X−Giを出力する。なお、本実施の形態1において、この出力対象の色差信号X−Giは、色差信号X−Gv,X−Gh,XL−Gaのうちのいずれかである。
減算部23dは、上述したように補間処理種別の種別情報に基づいて選択された色差信号をもとに特定色信号の欠落画素位置における特定色信号の補間信号を生成する補間信号生成部として機能する。具体的には、減算部23dは、まず、処理対象のG欠落画素位置における色信号X(色信号Rs,Bs)をメモリ21aから取得し、この処理対象のG欠落画素位置における色差信号X−Giを色差選択部29から取得する。
ここで、この色差信号X−Giは、上述したように、色差選択部29が処理対象のG欠落画素位置における判定後または更新後の種別情報に基づいて、選択した色差信号であり、本実施の形態においては、色差信号X−Gv,X−Gh,XL−Gaのうちのいずれかである。
つぎに、減算部23dは、色差選択部29からの色差信号X−Giとメモリ21aからの色信号Xとを減算処理して、処理対象のG欠落画素位置における補間G信号Giを算出する。例えば、減算部23dは、色差信号X−Gvを取得した場合、メモリ21aからの色信号Xから色差信号X−Gvを減算処理して、補間値Gvの補間G信号Giを生成し、色差信号X−Ghを取得した場合、メモリ21aからの色信号Xから色差信号X−Ghを減算処理して、補間値Ghの補間G信号Giを生成する。また、減算部23dは、色差信号XL−Gaを取得した場合、メモリ21aからの色信号Xから色差信号XL−Gaを減算処理して、この減算処理による算出補間値(X−(XL−Ga))の補間G信号Giを生成する。
その後、減算部23dは、上述したように算出した補間G信号Giを同時化補間処理部30(図1参照)に出力する。この場合、減算部23dから出力された補間G信号Giおよびメモリ21bからの色信号Gsは、例えば図4に示したように2次元配列の状態に合成され、色成分の欠落が無い2次元配列の色信号Gとしてラスタスキャン順(図4に示した2次元配列の左上から右下への順)に同時化補間処理部30に出力される。
つぎに、上述した種別情報修正部28について詳細に説明する。図15は、本発明の実施の形態1における種別情報修正部の一構成例を模式的に示すブロック図である。図16は、補間処理種別の修正処理に用いる種別情報を抽出する画素領域の一具体例を示す模式図である。図17は、処理対象のG欠落画素位置の種別情報を縦補間処理の種別情報に修正する場合の周辺G欠落画素位置の種別情報の一具体例を示す模式図である。図18は、処理対象のG欠落画素位置の種別情報を横補間処理の種別情報に修正する場合の周辺G欠落画素位置の種別情報の一具体例を示す模式図である。
図15に示すように、この実施の形態1における種別情報修正部28は、種別情報抽出部28aと、種別累積部28bと、修正処理部28cとを備える。種別情報抽出部28aは、メモリ21gが記憶するG欠落画素位置毎の補間処理種別の種別情報の中から、処理対象のG欠落画素位置における色信号Gsの判定後の補間処理種別、すなわち判定部27による判定後の補間処理種別の種別情報と、この処理対象のG欠落画素位置の周辺に位置する複数の周辺G欠落画素位置の補間処理種別を示す複数の種別情報とを抽出する。
具体的には、種別情報抽出部28aは、メモリ21gに格納された所定ライン数分の補間処理種別の種別情報の中から、処理対象のG欠落画素位置の種別情報と、その周辺に位置する複数の周辺G欠落画素位置の各種別情報とを抽出する。例えば、種別情報抽出部28aは、メモリ21gに格納された3ライン分の画素領域(図16参照)の中から、処理対象であるG欠落画素位置の種別情報T(n−2,m)と、その周辺G欠落画素位置の種別情報T(n−4,m),T(n,m),T(n−3,m−1),T(n−1,m−1),T(n−2,m−2)とを抽出する。
ここで、図16に示す種別情報T(n,m)は、上述した補間処理種別毎に異なる種別情報Tv(n,m),Th(n,m),Ta(n,m)のうちのいずれかであって、判定部27において比較処理された複数の色差類似度のうちの最小値に対応する種別情報(すなわち所定数の画素領域内における色差の類似性が最も高いとして判定された補間処理種別の種別情報)である。このことは、他のG欠落画素位置についても同様である。なお、図16に示す各G欠落画素位置の種別情報のうち、種別情報T(n,m)が、判定部27から出力された最新の種別情報である。
すなわち、種別情報抽出部28aは、この最新の種別情報T(n,m)の2画素左に位置するG欠落画素(図16の太枠部分参照)の種別情報T(n−2,m)を処理対象の種別情報として抽出し、これと同時に、この処理対象の種別情報T(n−2,m)の周辺の各G欠落画素位置(図16の斜線部参照)の種別情報T(n−4,m),T(n,m),T(n−3,m−1),T(n−1,m−1),T(n−2,m−2)を抽出する。
その後、種別情報抽出部28aは、上述したように抽出した6つの種別情報のうち、処理対象の種別情報T(n−2,m)を修正処理部28cに出力し、周辺の種別情報T(n−4,m),T(n,m),T(n−3,m−1),T(n−1,m−1),T(n−2,m−2)を種別累積部28bに出力する。
種別累積部28bは、処理対象の種別情報の周辺に位置する複数の種別情報によって示される複数の周辺G欠落画素位置の補間処理種別を計数処理する計数処理部として機能する。具体的には、種別累積部28bは、まず、処理対象の種別情報の周辺に位置する複数のG欠落画素位置の種別情報を種別情報抽出部28aから取得する。つぎに、種別累積部28bは、取得した複数の種別情報を同一種別に計数処理する。
例えば、種別累積部28bは、種別情報抽出部28aから5つの種別情報T(n−4,m),T(n,m),T(n−3,m−1),T(n−1,m−1),T(n−2,m−2)を取得した場合、これら5つの種別情報T(n−4,m),T(n,m),T(n−3,m−1),T(n−1,m−1),T(n−2,m−2)について同一補間処理種別の数を計数する。
なお、本実施の形態1において想定している補間処理種別は、「縦補間処理」、「横補間処理」および「4画素平均補間処理」の3種類であり、これら5つの種別情報T(n−4,m),T(n,m),T(n−3,m−1),T(n−1,m−1),T(n−2,m−2)が、これら3種類の補間処理種別のいずれかにカウントされる。
種別情報の計数処理において、種別累積部28bは、まず、これら5つの種別情報のうちの4つの種別情報(例えば種別情報T(n,m),T(n−4,m),T(n−3,m−1),T(n−1,m−1))を計数処理する。次いで、種別累積部28bは、これら4つの種別情報を全て「縦補間処理」にカウントした場合、残り1つの種別情報(例えば種別情報T(n−2,m−2))が「縦補間処理」を示す種別情報であるか否かを判定する。
ここで、種別累積部28bは、この残り1つの種別情報が「縦補間処理」を示す種別情報である場合、すなわち、合計5つの種別情報T(n−4,m),T(n,m),T(n−3,m−1),T(n−1,m−1),T(n−2,m−2)の全てを「縦補間処理」にカウントした場合、処理対象の種別情報T(n−2,m)が「縦補間処理」であるべき旨の種別判定情報を修正処理部28cに出力する。
一方、種別累積部28bは、これら4つの種別情報を全て「横補間処理」にカウントした場合、すなわち、合計4つの種別情報T(n−4,m),T(n,m),T(n−3,m−1),T(n−1,m−1)の全てを「横補間処理」にカウントした場合、処理対象の種別情報T(n−2,m)が「横補間処理」であるべき旨の種別判定情報を修正処理部28cに出力する。他方、種別累積部28bは、上述した計数処理結果以外を得た場合、「不定」である旨の種別判定情報を修正処理部28cに出力する。
修正処理部28cは、上述した種別累積部28bによる計数処理結果をもとに、処理対象のG欠落画素位置における色信号Gsの判定後の補間処理種別、すなわち判定部27による判定後の補間処理種別が誤って判定されたものであるか否かを判定し、誤判定された補間処理種別である場合、この補間処理種別を修正し、この修正した補間処理種別を示す修正後の種別情報をメモリ21gに送信する。
具体的には、修正処理部28cは、まず、種別情報抽出部28aから処理対象の種別情報T(n−2,m)を取得し、この処理対象の種別情報T(n−2,m)に対する種別判定情報を種別累積部28bから取得する。なお、この種別判定情報は、種別累積部28bによる計数処理結果であり、この処理対象の種別情報T(n−2,m)が示すべき補間処理種別の判定結果を含む。つぎに、修正処理部28cは、種別累積部28bによる種別判定情報に基づいて、この処理対象の種別情報T(n−2,m)の補正処理種別を修正する。
例えば、種別累積部28bによる種別判定情報が「縦補間処理」を示す情報である場合、この処理対象の種別情報T(n−2,m)の周辺に位置する5つの種別情報は、図17に示すように、縦補間処理種別を示す種別情報Tv(n−4,m),Tv(n,m),Tv(n−3,m−1),Tv(n−1,m−1),Tv(n−2,m−2)である。
この状態において、修正処理部28cは、処理対象の種別情報T(n−2,m)が示す補間処理種別を確認し、この処理対象の補間処理種別が縦補間処理以外である場合、すなわち処理対象が「横補間処理」の種別情報Th(n−2,m)または「4画素平均補間処理」の種別情報Ta(n−2,m)である場合、この処理対象の種別情報T(n−2,m)を「縦補間処理」の種別情報Tv(n−2,m)に修正する。これによって、修正処理部28cは、処理対象の種別情報T(n−2,m)の補間処理種別を本来あるべき「縦補間処理」に種別変更する。
一方、上述した種別累積部28bによる種別判定情報が「横補間処理」を示す情報である場合、この処理対象の種別情報T(n−2,m)の周辺に位置する4つの種別情報は、図18に示すように、横補間処理種別を示す種別情報Th(n−4,m),Th(n,m),Th(n−3,m−1),Th(n−1,m−1)である。
この状態において、修正処理部28cは、処理対象の種別情報T(n−2,m)が示す補間処理種別を確認し、この処理対象の補間処理種別が横補間処理以外である場合、すなわち処理対象が「縦補間処理」の種別情報Tv(n−2,m)または「4画素平均補間処理」の種別情報Ta(n−2,m)である場合、この処理対象の種別情報T(n−2,m)を「横補間処理」の種別情報Th(n−2,m)に修正する。これによって、修正処理部28cは、処理対象の種別情報T(n−2,m)の補間処理種別を本来あるべき「横補間処理」に種別変更する。
ここで、座標位置(n−2,m−2)のG欠落画素の種別情報T(n−2,m−2)も横補間処理種別を示す情報であるが、処理対象のG欠落画素の座標位置(n−2,m)に対して縦方向に離間しているため、修正処理部28cの修正処理に用いられていない。これは、処理対象の種別情報T(n−2,m)に対して横方向に可能な限り近接した画素位置の種別情報を用いることが望ましいからである。なお、横補間処理種別の修正処理において種別情報T(n−2,m−2)を用いてもよい。
他方、上述した種別累積部28bによる種別判定情報が「不定」を示す情報である場合、修正処理部28cは、処理対象の種別情報T(n−2,m)が示す補間処理種別に関わらず、この処理対象の種別情報T(n−2,m)の状態を維持する。すなわち、修正処理部28cは、「不定」を示す種別判定情報を取得した場合、この処理対象の種別情報T(n−2,m)によって示される補間処理種別を変更せず維持する。
上述したように、修正処理部28cは、種別累積部28bからの種別判定情報に基づいて処理対象の種別情報T(n−2,m)の補間処理種別を修正または維持し、その後、この修正処理後の種別情報T(n−2,m)をメモリ21gに出力する。この場合、メモリ21gは、この修正後の種別情報T(n−2,m)を種別情報修正部28から取得し、この修正後の種別情報T(n−2,m)を同一格納位置に上書き保存して、この同一格納位置の既存の種別情報をこの修正後の種別情報T(n−2,m)に更新する。なお、メモリ21gに格納された更新後の種別情報は、種別情報修正部28による今後の修正処理における過去の種別情報の一つとして用いられる。
なお、このような種別情報修正部28において、種別累積部28bは、上述した計数処理によって4つの種別情報T(n,m),T(n−4,m),T(n−3,m−1),T(n−1,m−1)を全て「4画素平均補間処理」にカウントした場合、残り1つの種別情報T(n−2,m−2)が「4画素平均補間処理」を示す種別情報であるか否かを判定してもよい。
具体的には、種別累積部28bは、上述した残り1つの種別情報が「4画素平均補間処理」を示す種別情報である場合、すなわち、合計5つの種別情報T(n−4,m),T(n,m),T(n−3,m−1),T(n−1,m−1),T(n−2,m−2)の全てを「4画素平均補間処理」にカウントした場合、処理対象の種別情報T(n−2,m)が「4画素平均補間処理」であるべき旨の種別判定情報を修正処理部28cに出力してもよい。
一方、修正処理部28cは、処理対象の種別情報T(n−2,m)が示す補間処理種別を確認し、この処理対象の補間処理種別が4画素平均補間処理以外である場合、すなわち処理対象が「縦補間処理」の種別情報Tv(n−2,m)または「横補間処理」の種別情報Th(n−2,m)である場合、この処理対象の種別情報T(n−2,m)を「4画素平均補間処理」の種別情報Ta(n−2,m)に修正してもよい。
つぎに、本発明の実施の形態1にかかる画像処理装置2の同時化補間処理部30(図1参照)について詳細に説明する。図19は、本発明の実施の形態1にかかる画像処理装置の同時化補間処理部の一構成例を模式的に示すブロック図である。図19に示すように、この実施の形態1における同時化補間処理部30は、色差選別部31と、メモリ32a〜32dと、補間算出部33〜35と、補間係数算出部36と、制御部37とを備える。
色差選別部31は、まず、上述したG補間色差算出部20によって出力された色差信号X−Giを取得する。なお、この色差信号X−Giは、図3に示した色差信号R−Gi,B−Giの2次元配列構造を有する信号である。つぎに、色差選別部31は、2次元配列構造の色差信号X−Giを色差信号R−Giと色差信号B−Giとに分離する。その後、色差選別部31は、得られた色差信号R−Gi,B−Giをメモリ32a,32bに各々出力する。
メモリ32aは、まず、色差選別部31から出力された色差信号R−Giを順次取得し、所定位置への補間処理に必要なライン数分、色差信号R−Giを格納する。その後、メモリ32aは、必要ライン数分の色差信号R−Giを格納した場合、すなわち、所定位置への補間処理が開始可能となった際、この格納した必要ライン数分の色差信号R−Giを補間算出部33に出力する。
メモリ32bは、まず、色差選別部31から出力された色差信号B−Giを順次取得し、所定位置への補間処理に必要なライン数分、色差信号B−Giを格納する。その後、メモリ32bは、必要ライン数分の色差信号B−Giを格納した場合、すなわち、所定位置への補間処理が開始可能となった際、この格納した必要ライン数分の色差信号B−Giを補間算出部34に出力する。
メモリ32cは、まず、上述したG補間色差算出部20によって出力された色信号Gを取得する。具体的には、この色信号Gは、図4に示した補間G信号Giおよび色信号Gsの2次元配列構造を有する信号である。メモリ32cは、このような色信号Gを同時化補間処理部30からラスタスキャン順に順次取得し、所定位置への補間処理に必要なライン数分、色信号Gを格納する。その後、メモリ32cは、必要ライン数分の色信号Gを格納した場合、すなわち、所定位置への補間処理が開始可能となった際、この格納した必要ライン数分の色信号Gを補間算出部35に出力する。
補間算出部33は、まず、メモリ32aから必要ライン数分の色差信号R−Giを取得し、制御部37から補間フィルタ係数を取得する。つぎに、補間算出部33は、必要ライン数分の色差信号R−Giおよび補間フィルタ係数に基づいて、補間画素である色差信号R−Gを算出する。その後、補間算出部33は、この算出した色差信号R−GをRGB算出部40(図1参照)に出力する。
補間算出部34は、まず、メモリ32bから必要ライン数分の色差信号B−Giを取得し、制御部37から補間フィルタ係数を取得する。つぎに、補間算出部34は、必要ライン数分の色差信号B−Giおよび補間フィルタ係数に基づいて、補間画素である色差信号B−Gを算出する。その後、補間算出部33は、この算出した色差信号B−GをRGB算出部40(図1参照)に出力する。
補間算出部35は、まず、メモリ32cから必要ライン数分の色信号Gを取得し、制御部37から補間フィルタ係数を取得する。つぎに、補間算出部35は、必要ライン数分の色信号Gおよび補間フィルタ係数に基づいて、補間画素である色信号Gを算出する。その後、補間算出部35は、この算出した色信号GをRGB算出部40(図1参照)に出力する。
制御部37は、まず、システムコントローラ(図示せず)からユーザが決定した記録画像サイズを取得し、補間係数算出部36に対して、この記録画像サイズに対応する補間処理を作用させる画素位置およびその補間フィルタ係数を算出するよう指示する。この場合、補間係数算出部36は、制御部37の指示に基づいて制御され、この記録画像サイズに対応する補間処理を作用させる画素位置(補間画素位置)と、この補間画素位置に対応する補間フィルタ係数とを算出する。次いで、補間係数算出部36は、補間画素位置および補間フィルタ係数の算出結果をメモリ32dに出力する。メモリ32dは、補間画素位置に応じて補間フィルタ係数を格納する。その後、制御部37は、メモリ32dに格納されている補間フィルタ係数を補間画素位置に応じて読み出し、この読み出した補間フィルタ係数を補間算出部33〜35に出力する。
なお、上述した同時化補間処理部30の構成においては、記録画像サイズが入力された時点に補間フィルタ係数を算出していたが、これに限らず、既に予め複数種類の記録画像サイズに対応した補間フィルタ係数をメモリ32dに格納しておいてもよい。この場合、上述した補間係数算出部36は必要無く、制御部37が、記録画像サイズのユーザ指定に基づいて、メモリ32dに予め格納されている複数の補間フィルタ係数からなる係数ルックアップテーブルの中から、この記録画像サイズに対応する補間フィルタ係数を読み出し、この読み出した補間フィルタ係数を補間算出部33〜35に供給することになる。
一方、上述した同時化補間処理部30による同時化補間処理については、画像サイズを変更する例を挙げたが、画像サイズを変更しない場合は、特に補間フィルタ係数の切り替えを行わなくてもよい。また、例えば上述した色信号Gと色差信号R−G,B−Gとにおいて異なる補間フィルタ係数を用いてもよい。
なお、上述した色信号Gと色差信号R−G,B−Gとにおいて異なる補間フィルタ係数を用いる場合は、特に色差信号R−G,B−Gに関して周波数帯域を制限した周波数特性とすることによって、エッジ部周辺の偽色を低減することができる。
ここで、上述した補間算出部33〜35における補間算出処理は、例えば図5〜7に示した8×8画素領域に対するものであり、撮像部1の撮像素子と同一解像度の画像サイズを指定した場合の例として水平方向、垂直方向ともに1/2画素位置シフトした位置に画素を作成するものである。
このような補間算出処理において使用する補間フィルタの例としては、Lanczosフィルタ等の畳み込みフィルタを使用でき、水平方向に処理した1次元フィルタ結果に垂直方向の1次元フィルタを施し、この結果、補間画素を算出できる。なお、これらの1次元フィルタは、2次元フィルタとすることも可能である。
つぎに、本発明の実施の形態1にかかる画像処理装置2のRGB算出部40(図1参照)について詳細に説明する。図20は、本発明の実施の形態1にかかる画像処理装置のRGB算出部の一構成例を模式的に示すブロック図である。図20に示すように、この実施の形態1におけるRGB算出部40は、加算部42,43と、カラーマトリックス処理部44と、γ補正部45〜47とを備える。
加算部42は、まず、上述した同時化補間処理部30によって算出された色差信号R−Gと色信号Gとを画素位置毎に取得する。つぎに、加算部42は、同一画素位置の色差信号R−Gと色信号Gとを加算処理して、画素位置毎にR成分の色信号Rを算出する。
加算部43は、まず、上述した同時化補間処理部30によって算出された色差信号B−Gと色信号Gとを画素位置毎に取得する。つぎに、加算部43は、同一画素位置の色差信号B−Gと色信号Gとを加算処理して、画素位置毎にB成分の色信号Bを算出する。
ここで、加算部42,43の各処理によって、同一画素位置におけるR、G、Bの各色成分の色信号が復元できたことになる。これら復元されたR、G、Bの各色成分の色信号は、カラーマトリックス処理部44に入力される。カラーマトリックス処理部44は、例えばsRGB等の所定の色空間の信号に、これらの復元R、G、Bの各色信号を変換する。なお、カラーマトリックス処理部44によって変換処理されたR、G、Bの各色信号は、例えば12ビットの線形信号である。
γ補正部45〜47は、カラーマトリックス処理部44による変換処理後のR、G、Bの各色信号に対してγ補正処理を行う。具体的には、γ補正部45は、カラーマトリックス処理部44による変換処理後のR成分の色信号に対してγ補正処理を行って、γ補正後のR成分の色信号Rγを生成する。γ補正部46は、カラーマトリックス処理部44による変換処理後のB成分の色信号に対してγ補正処理を行って、γ補正後のB成分の色信号Bγを生成する。γ補正部47は、カラーマトリックス処理部44による変換処理後のG成分の色信号に対してγ補正処理を行って、γ補正後のG成分の色信号Gγを生成する。
ここで、γ補正部45〜47によるγ補正処理後の各色信号Rγ,Gγ,Bγは、γ補正前のR,G,Bの各色信号のビット数を例えば8ビットに変換した色信号である。γ補正部45〜47は、γ補正処理後の各色信号Rγ,Gγ,Bγを出力処理部50(図1参照)に各々出力する。
つぎに、本発明の実施の形態1にかかる画像処理装置2のソフトウェア処理に基づく動作について説明する。図21は、本発明の実施の形態1にかかる画像処理装置の処理手順を例示するフローチャートである。なお、この実施の形態1にかかる画像処理装置2は、上述したように、ハードウェア処理に基づいて各種画像処理を実行可能であるが、必要な処理プログラムを有するコンピュータが行うソフトウェア処理に基づいて動作することも可能である。
すなわち、図21に示すように、画像処理装置2は、まず、撮像部1によって撮像された画像のRAWファイル入力処理を行う(ステップS101)。このステップS101において、画像処理装置2は、コンピュータ内に保存されている複数のRAWファイルのうちの所望のファイル名がユーザによって指定された際に、この指定されたファイル名に対応するRAWファイルを取り込む。なお、本実施の形態1では、撮像部1によって撮像された画像を形成する各色成分の色信号Rs,Gs,Bsの画素からなるRAWファイルがコンピュータ内に複数保存されている。
つぎに、画像処理装置2は、RAWファイルのヘッダ抽出処理を行う(ステップS102)。このステップS102において、画像処理装置2は、ステップS101の処理手順で取り込んだRAWファイルのヘッダ情報を抽出し、この抽出したヘッダ情報をもとに、このRAWファイルのサイズ、階調レベル数、色フィルタ配列情報、撮像条件および色マトリックス係数等の属性情報を取得する。
続いて、画像処理装置2は、このRAWファイルに対するG補間色差算出処理を行う(ステップS103)。このステップS103において、画像処理装置2は、ステップS102の処理手順で取得したこのRAWファイルの属性情報に基づいて、G欠落画素位置におけるG成分の色信号の補間値算出処理と、このG成分の色信号に基づいたG欠落画素位置の色差信号算出処理とを行う。
その後、画像処理装置2は、所定の同一位置に対する同時化補間処理を行う(ステップS104)。このステップS104において、画像処理装置2は、ステップS103の処理手順によって算出した色信号Gおよび色差信号X−Giをもとに、所定の同一位置の周辺に位置する複数の周辺画素を用いた補間処理を行って、この同一位置の色信号Gおよび色差信号R−G,B−Gを算出する。
つぎに、画像処理装置2は、R,G,Bの各色成分の色信号を算出するRGB算出処理を行う(ステップS105)。このステップS105において、画像処理装置2は、ステップS104の処理手順によって同一位置に補間処理された色信号Gと色差信号R−G,B−Gとを加算処理して、R成分の色信号とB成分の色信号とを復元し、得られたR、G、Bの各色成分の色信号をカラーマトリックス処理によって例えばsRGB等の所定の色空間に変換処理し、その後、これら変換処理後の各色信号に対してγ補正処理を行って、例えば8ビットに変換された各色成分の色信号Rγ,Gγ,Bγを得る。
続いて、画像処理装置2は、画像データの出力処理を行う(ステップS106)。このステップS106において、画像処理装置2は、ステップS105の処理手順によって取得した各色成分の色信号Rγ,Gγ,BγをYUV形式の各信号に変換し、さらに、このYUV形式の各信号をJPEGまたはMPEG等の高能率圧縮符号化処理がなされた圧縮データに変換する。画像処理装置2は、圧縮データを現像処理済みの画像ファイル(すなわち出力画像データ)として出力部3に送信する。
その後、画像処理装置2は、ユーザ指定の処理画像の有無を判定する(ステップS107)。このステップS107において、画像処理装置2は、ユーザ指定の未処理画像ファイルが残っているか否かを判定し、残っている場合、すなわちユーザ指定の処理画像ありの場合(ステップS107,Yes)、上述したステップS101に戻り、このステップS101の処理手順を繰り返す。
一方、画像処理装置2は、ステップS107においてユーザ指定の未処理画像ファイルが残っているか否かを判定し、残っていない場合、すなわちユーザ指定の処理画像なしの場合(ステップS107,No)、本処理を終了する。
つぎに、上述したステップS103の処理手順におけるG補間色差算出処理について詳細に説明する。図22は、本発明の実施の形態1にかかる画像処理装置によるG補間色差算出処理の処理手順を例示するフローチャートである。
この実施の形態1にかかる画像処理装置2は、上述したステップS103の処理手順を実行する際、図22に示すように、まず、補間処理種別毎に異なる複数の色差候補を算出する(ステップS201)。
このステップS201において、画像処理装置2は、図21に示したステップS101の処理手順で取り込んだRAWファイルとステップS102の処理手順で取得した属性情報とに基づいて、G欠落画素位置における補間処理種別の補間値、すなわち、縦補間処理による補間値Gv(式(1)参照)、横補間処理による補間値Gh(式(2)参照)および4画素平均補間処理による補間値Ga(式(3)参照)を算出する。
次いで、画像処理装置2は、このように算出した補間処理種別の補間値Gv,Gh,Gaと色信号Xとをもとに、補間処理種別に異なる複数の色差候補である色差信号X−Ga,X−Gh,XL−Gaを算出する。画像処理装置2は、得られた複数の色差信号X−Ga,X−Gh,XL−Gaをメモリに保存する。
つぎに、画像処理装置2は、G欠落画素位置におけるG変動量を算出する(ステップS202)。このステップS202において、画像処理装置2は、G欠落画素位置の周辺画素におけるG成分の色信号を用い、上述した式(14)に基づいて、このG欠落画素位置のG変動量を算出する。画像処理装置2は、算出したG変動量をメモリに保存する。
続いて、画像処理装置2は、ステップS201の処理手順において算出した各色差候補に対して色差類似度を算出する(ステップS203)。このステップS203において、画像処理装置2は、ステップS201の処理手順でメモリに保存している補間処理種別の各色差信号候補、すなわち、色差信号X−Gv,X−Gh,XL−Gaをもとに、処理対象のG欠落画素位置とその周辺に位置する複数の周辺G欠落画素位置との同一種別の色差信号間における色差類似度Sv(n,m),Sh(n,m),Sa(n,m)を上述した式(5),(8),(11)に基づいて算出する。
つぎに、画像処理装置2は、ステップS203の処理手順によって算出した色差類似度のうちの1つにG変動量重み係数を乗算する(ステップS204)。このステップS204において、画像処理装置2は、上述した式(5),(8),(11)に基づいて算出した補間処理種別の色差類似度Sv(n,m),Sh(n,m),Sa(n,m)のうち、平坦部分の色信号Gに適した補間処理、すなわち、方向依存性の無い4画素平均補間処理によって算出した色差類似度Sa(n,m)に、同一位置のG変動量に基づいて決定されるG変動量重み係数w(n,m)を乗算する。これによって、画像処理装置2は、4画素平均補間処理に対応する新たな色差類似度Sa(n,m)×w(n,m)を算出する。
その後、画像処理装置2は、補間処理種別の色差類似度が最も高い色差候補を1つ選択する(ステップS205)。このステップS205において、画像処理装置2は、上述したように算出した3つの色差類似度Sv(n,m),Sh(n,m),Sa(n,m)×w(n,m)を比較処理し、この3つの色差類似度の中から最小値となる色差類似度を選択し、この選択した色差類似度に対応する色差信号を補間処理種別の色差信号X−Gv,X−Gh,XL−Gaの中から1つ選択する。
つぎに、画像処理装置2は、ステップS205の処理手順において選択した色差候補に応じて補間処理種別を判定して保存する(ステップS206)。このステップS206において、画像処理装置2は、ステップS205の処理手順によって選択した色差候補である色差信号(すなわち色差信号X−Gv,X−Gh,XL−Gaのうちのいずれか)に対応する補間処理種別を判定し、この判定した補間処理種別を示す種別情報をメモリに保存する。
具体的には、画像処理装置2は、色差候補として色差信号X−Gvを選択した場合、この色差信号X−Gvに対応する縦補間処理を示す種別情報Tv(n,m)をメモリに保存し、色差候補として色差信号X−Ghを選択した場合、この色差信号X−Ghに対応する横補間処理を示す種別情報Th(n,m)をメモリに保存する。また、画像処理装置2は、色差候補として色差信号XL−Gaを選択した場合、この色差信号XL−Gaに対応する4画素平均補間処理を示す種別情報Ta(n,m)をメモリに保存する。
続いて、画像処理装置2は、ステップS206の処理手順によってメモリに保存した所定のライン数分の保存種別をその周辺の種別情報によって修正する(ステップS207)。このステップS207において、画像処理装置2は、まず、メモリに保存した所定ライン数の種別情報の中から、処理対象の種別情報とその周辺に位置する複数の種別情報とを読み出す。
次いで、画像処理装置2は、この読み出した各種別情報の配列状態が図17,18に例示したような特定の配列状態である場合に、これら周辺の各種別情報と同一種別の補間処理の種別情報に処理対象の種別情報を修正する。画像処理装置2は、この修正後の種別情報を同一格納位置に上書き保存する。一方、画像処理装置2は、この読み出した各種別情報の配列状態が特定の配列状態ではない場合、この処理対象の種別情報の状態(補間処理種別)を維持する。
その後、画像処理装置2は、ステップS207の処理手順による修正種別情報に対応する色差候補を最終的な色差に決定する(ステップS208)。このステップS208において、画像処理装置2は、上述した補間処理種別の色差候補である3つの色差信号X−Gv,X−Gh,XL−Gaの中から、ステップS207の処理手順による修正処理後の種別情報に示される補間処理種別に対応する色差信号に選択し直し、この選択し直した色差信号を最終的な色差信号に決定する。
つぎに、画像処理装置2は、G欠落画素位置における色信号、すなわちR成分の色信号RまたはB成分の色信号BとステップS208の処理手順による決定色差信号とをもとにG成分の色信号を算出する(ステップS209)。このステップS209において、画像処理装置2は、G欠落画素位置の色信号XとステップS208の処理手順によって最終的に決定した色差信号(色差信号X−Gv,X−Gh,XL−Gaのうちのいずれか)とを減算処理して、G欠落画素位置におけるG成分の補間信号である補間G信号Giを生成する。次いで、画像処理装置2は、この生成した補間G信号Giと色信号Gsとを合成した2次元配列構造(図4参照)の色信号Gを出力する。
その後、画像処理装置2は、未処理のG欠落画素位置の有無を判定し(ステップS210)、未処理画素がある場合(ステップS210,Yes)、上述したステップS201に戻り、このステップS201以降の処理手順を繰り返す。一方、画像処理装置2は、このステップS210において未処理画素がない場合(ステップS210,No)、このG補間色差算出処理を終了し、図21に示したステップS103の処理手順にリターンする。
以上、説明したように、本発明の実施の形態1では、画像を形成する複数の色信号の画素位置のうちの特定色信号であるG成分の色信号が欠落したG欠落画素位置における補間処理種別を判定し、このG欠落画素位置の周辺に配列される複数の周辺G欠落画素位置の補間処理種別をもとに、この判定後の補間処理種別を修正し、この修正後の補間処理種別に対応して、このG欠落画素位置における色差信号を選択し、この選択した色差信号をもとに、このG欠落画素位置におけるG成分の補間信号を生成するように構成した。このため、G欠落画素位置およびその周辺画素の色差類似度に基づいて一度判定したG欠落画素位置における補間処理種別を、複数の周辺G欠落画素位置の各補間処理種別に合わせて正確に修正でき、この修正後の補間処理種別に対応してG欠落画素位置に最適な色差信号を選択することができる。これによって、G欠落画素位置に最適なG成分の補間信号を生成することができ、この結果、撮像画像に含まれる処理対象の画素位置の欠落色成分の補間処理種別の誤判定を正確に修正できるとともに、撮像画像に対して解像度および彩度の保持と局所的な偽色低減とを両立するデモザイキング処理を行うことができる。
また、複数の周辺G欠落画素位置の各補間処理種別に合わせて正確に修正した修正後の補間処理種別の種別情報を同一G欠落画素位置の種別情報として更新し、この更新後の種別情報による補間処理種別を別のG欠落画素位置の補間処理種別の修正処理に用いる巡回型に構成している。このため、撮像画像の画素領域内において孤立点状に生じる偽色のみならず、より広い画素領域の偽色も低減することができる。なお、上述した補間処理種別の修正処理を過去の修正処理結果を用いないで行う非巡回型の構成であってもよいことは言うまでも無い。
(実施の形態1の変形例1)
つぎに、本発明の実施の形態1の変形例1について説明する。上述した実施の形態1では、処理対象のG欠落画素位置の周辺に位置する複数の周辺G欠落画素位置の補間処理種別の計数処理結果をもとに、この処理対象のG欠落画素位置の補間処理種別を修正していたが、この変形例1では、これら複数の周辺G欠落画素位置の補間処理種別の配列パターンをもとに、この処理対象のG欠落画素位置の補間処理種別を修正している。
図23は、本発明の実施の形態1の変形例1にかかる画像処理装置の種別情報修正部の一構成例を模式的に示すブロック図である。図23に示すように、この変形例1における種別情報修正部128は、上述した実施の形態1における種別情報修正部28の種別情報28a、種別累積部28bおよび修正処理部28cに代えて種別情報抽出部128a、種別パターン判定部128b、種別パターンテーブル128cおよび修正処理部128dを備える。なお、この変形例1におけるG補間色差算出部は、上述した実施の形態1におけるG補間色差算出部20の種別情報修正部28に代えて種別情報修正部128を備える。その他の構成は実施の形態1と同じであり、同一構成部分には同一符号を付している。
種別情報抽出部128aは、メモリ21gが記憶するG欠落画素位置毎の補間処理種別の種別情報の中から、処理対象のG欠落画素位置における色信号Gsの判定後の補間処理種別、すなわち上述した判定部27による判定後の補間処理種別の種別情報と、この処理対象のG欠落画素位置の周辺に位置する複数の周辺G欠落画素位置の補間処理種別を示す複数の種別情報とを抽出する。
具体的には、種別情報抽出部128aは、まず、メモリ21gに格納された所定ライン数分の補間処理種別の種別情報の中から、処理対象のG欠落画素位置の種別情報と、その周辺に位置する複数の周辺G欠落画素位置の各種別情報とを抽出する。
図24は、実施の形態1の変形例1における補間処理種別の修正処理に用いる種別情報を抽出する画素領域の一具体例を示す模式図である。例えば図24に示すように、種別情報抽出部128aは、メモリ21gに格納された5ライン分の画素領域の中から、処理対象であるG欠落画素位置の種別情報T(n,m−2)と、その周辺G欠落画素位置の種別情報T(n,m),T(n−1,m−1),T(n+1,m−1),T(n−2,m−2),T(n+2,m−2),T(n−1,m−3),T(n+1,m−3),T(n,m−4)とを抽出する。
ここで、図24に示す種別情報T(n,m)は、上述した補間処理種別毎に異なる種別情報Tv(n,m),Th(n,m),Ta(n,m)のうちのいずれかであって、判定部27において比較処理された複数の色差類似度のうちの最小値に対応する種別情報(すなわち所定数の画素領域内における色差の類似性が最も高いとして判定された補間処理種別の種別情報)である。このことは、他のG欠落画素位置についても同様である。なお、図24に示す各G欠落画素位置の種別情報のうち、種別情報T(n,m)が、判定部27から出力された最新の種別情報である。
すなわち、種別情報抽出部128aは、この最新の種別情報T(n,m)の2画素上に位置するG欠落画素(図24の太枠部分参照)の種別情報T(n,m−2)を処理対象の種別情報として抽出し、これと同時に、この処理対象の種別情報T(n,m−2)の周辺の各G欠落画素位置(図24の斜線部参照)の種別情報T(n,m),T(n−1,m−1),T(n+1,m−1),T(n−2,m−2),T(n+2,m−2),T(n−1,m−3),T(n+1,m−3),T(n,m−4)を抽出する。
その後、種別情報抽出部128aは、上述したように抽出した9つの種別情報のうち、処理対象の種別情報T(n,m−2)を修正処理部128dに出力し、周辺の種別情報T(n,m),T(n−1,m−1),T(n+1,m−1),T(n−2,m−2),T(n+2,m−2),T(n−1,m−3),T(n+1,m−3),T(n,m−4)を種別パターン判定部128bに出力する。
種別パターン判定部128bは、処理対象の種別情報の周辺に位置する複数の種別情報によって示される複数の周辺G欠落画素位置の補間処理種別の配列パターンと、予め設定され、補間処理種別毎に異なる配列パターンを示す設定配列パターンとが一致するか否かを判定する。
具体的には、種別パターン判定部128bは、まず、種別パターンテーブル128cに予め格納されている複数の補間処理種別の設定配列パターンを参照する。つぎに、種別パターン判定部128bは、種別情報抽出部128aから取得したG欠落画素位置周辺における複数の種別情報の配列パターン、すなわち、これら複数の種別情報によって示される補間処理種別の配列パターンと、これら複数の設定配列パターンとを比較処理する。これによって、種別パターン判定部128bは、配列パターンと設定配列パターンとが一致するか否かを判定する。
図25は、横補間処理種別に対応する種別情報の配列パターンの一具体例を示す模式図である。図26は、縦補間処理種別に対応する種別情報の配列パターンの一具体例を示す模式図である。例えば図25に示すように、横補間処理種別に対応する種別情報の配列パターンには、8つ存在する周辺の種別情報のうちの上側4つの種別情報が全て「横補間処理」を示す種別情報Th(n−2,m−2),Th(n+2,m−2),Th(n−1,m−3),Th(n+1,m−3)である配列パターン、あるいは下側4つの種別情報が全て「横補間処理」を示す種別情報Th(n−1,m−1),Th(n+1,m−1),Th(n−2,m−2),Th(n+2,m−2)である配列パターン等が挙げられる。
種別パターンテーブル128cには、上述したような横補間処理種別に対応する種別情報の複数(例えば3つ)の配列パターンが予め格納されている。種別パターン判定部128bは、種別情報抽出部128aから取得した周辺の種別情報T(n,m),T(n−1,m−1),T(n+1,m−1),T(n−2,m−2),T(n+2,m−2),T(n−1,m−3),T(n+1,m−3),T(n,m−4)の配列パターンが上述した横補間処理種別に対応する配列パターンのいずれかと一致するか否かを判定し、一致する場合、処理対象の種別情報T(n,m−2)が「横補間処理」であるべき旨の種別判定情報を修正処理部128dに出力する。
一方、縦補間処理種別に対応する種別情報の配列パターンには、例えば図26に示すように、8つ存在する周辺の種別情報のうちの左側4つの種別情報が全て「縦補間処理」を示す種別情報Tv(n,m),Tv(n−1,m−1),Tv(n−1,m−3),Tv(n,m−4)である配列パターン、あるいは右側4つの種別情報が全て「縦補間処理」を示す種別情報Tv(n,m),Tv(n+1,m−1),Tv(n+1,m−3),Tv(n,m−4)である配列パターン等が挙げられる。
種別パターンテーブル128cには、上述したような縦補間処理種別に対応する種別情報の複数の配列パターンが予め格納されている。種別パターン判定部128bは、種別情報抽出部128aから取得した周辺の種別情報T(n,m),T(n−1,m−1),T(n+1,m−1),T(n−2,m−2),T(n+2,m−2),T(n−1,m−3),T(n+1,m−3),T(n,m−4)の配列パターンが上述した縦補間処理種別に対応する配列パターンのいずれかと一致するか否かを判定し、一致する場合、処理対象の種別情報T(n,m−2)が「縦補間処理」であるべき旨の種別判定情報を修正処理部128dに出力する。
ここで、種別パターン判定部128bは、種別情報抽出部128aから取得した周辺の種別情報T(n,m),T(n−1,m−1),T(n+1,m−1),T(n−2,m−2),T(n+2,m−2),T(n−1,m−3),T(n+1,m−3),T(n,m−4)の配列パターンが上述した縦補間処理種別または横補間処理種別に対応する配列パターンのいずれかとも一致しない場合、「不定」である旨の種別判定情報を修正処理部128dに出力する。
修正処理部128dは、上述した種別パターン判定部128bによる判定結果をもとに、処理対象のG欠落画素位置における色信号Gsの判定後の補間処理種別、すなわち判定部27による判定後の補間処理種別が誤って判定されたものであるか否かを判定し、誤判定された補間処理種別である場合、この補間処理種別を修正し、この修正した補間処理種別を示す修正後の種別情報をメモリ21gに送信する。
具体的には、修正処理部128dは、まず、種別情報抽出部128aから処理対象の種別情報T(n,m−2)を取得し、この処理対象の種別情報T(n,m−2)に対する種別判定情報を種別パターン判定部128bから取得する。なお、この種別判定情報は、種別パターン判定部128bによる判定結果であり、この処理対象の種別情報T(n,m−2)が示すべき補間処理種別の判定結果を含む。つぎに、修正処理部128dは、種別パターン判定部128bによる種別判定情報に基づいて、この処理対象の種別情報T(n,m−2)の補正処理種別を修正する。
例えば、種別パターン判定部128bによる種別判定情報が「横補間処理」を示す情報である場合、この処理対象の種別情報T(n,m−2)の周辺に位置する8つの種別情報の配列パターンは、図25に示した配列パターンのいずれかと一致する。
この状態において、修正処理部128dは、処理対象の種別情報T(n,m−2)が示す補間処理種別を確認し、この処理対象の補間処理種別が横補間処理以外である場合、すなわち処理対象が「縦補間処理」の種別情報Tv(n,m−2)または「4画素平均補間処理」の種別情報Ta(n,m−2)である場合、この処理対象の種別情報T(n,m−2)を「横補間処理」の種別情報Th(n,m−2)に修正する。これによって、修正処理部128dは、処理対象の種別情報T(n,m−2)の補間処理種別を本来あるべき「横補間処理」に種別変更する。
一方、種別パターン判定部128bによる種別判定情報が「縦補間処理」を示す情報である場合、この処理対象の種別情報T(n,m−2)の周辺に位置する8つの種別情報の配列パターンは、図26に示した配列パターンのいずれかと一致する。
この状態において、修正処理部128dは、処理対象の種別情報T(n,m−2)が示す補間処理種別を確認し、この処理対象の補間処理種別が縦補間処理以外である場合、すなわち処理対象が「横補間処理」の種別情報Th(n,m−2)または「4画素平均補間処理」の種別情報Ta(n,m−2)である場合、この処理対象の種別情報T(n,m−2)を「縦補間処理」の種別情報Tv(n,m−2)に修正する。これによって、修正処理部128dは、処理対象の種別情報T(n,m−2)の補間処理種別を本来あるべき「縦補間処理」に種別変更する。
他方、上述した種別パターン判定部128bによる種別判定情報が「不定」を示す情報である場合、修正処理部128dは、処理対象の種別情報T(n,m−2)が示す補間処理種別に関わらず、この処理対象の種別情報T(n,m−2)の状態を維持する。すなわち、修正処理部128dは、「不定」を示す種別判定情報を取得した場合、この処理対象の種別情報T(n,m−2)によって示される補間処理種別を変更せず維持する。
上述したように、修正処理部128dは、種別パターン判定部128bからの種別判定情報に基づいて処理対象の種別情報T(n,m−2)の補間処理種別を修正または維持し、その後、この修正処理後の種別情報T(n,m−2)をメモリ21gに出力する。この場合、メモリ21gは、上述した実施の形態1の場合と同様に、この修正後の種別情報T(n,m−2)を種別情報修正部128から取得し、この修正後の種別情報T(n,m−2)を同一格納位置に上書き保存して、この同一格納位置の既存の種別情報をこの修正後の種別情報T(n,m−2)に更新する。なお、メモリ21gに格納された更新後の種別情報は、種別情報修正部128による今後の修正処理における過去の種別情報の一つとして用いられる。
なお、このような種別情報修正部128において、予め種別パターンテーブル128cに「4画素平均補間処理」に対応する種別情報の設定配列パターンを1つ以上格納しておき、種別パターン判定部128bは、この「4画素平均補間処理」に対応する種別情報の設定配列パターンを参照して、処理対象の種別情報の周囲に位置する複数の種別情報の配列パターンを判定してもよい。
具体的には、種別パターン判定部128bは、上述した複数の種別情報の配列パターンと「4画素平均補間処理」に対応する種別情報の設定配列パターンとが一致するか否かを判定し、一致する場合、処理対象の種別情報T(n,m−2)が「4画素平均補間処理」であるべき旨の種別判定情報を修正処理部128dに出力してもよい。
一方、修正処理部128dは、処理対象の種別情報T(n,m−2)が示す補間処理種別を確認し、この処理対象の補間処理種別が4画素平均補間処理以外である場合、すなわち処理対象が「縦補間処理」の種別情報Tv(n,m−2)または「横補間処理」の種別情報Th(n,m−2)である場合、この処理対象の種別情報T(n,m−2)を「4画素平均補間処理」の種別情報Ta(n,m−2)に修正してもよい。
以上、説明したように、本発明の実施の形態1の変形例1では、処理対象のG欠落画素位置の周辺に位置する複数のG欠落画素位置の種別情報によって示される周辺複数の補間処理種別の配列パターンを判定し、この判定した配列パターンに対応する補間処理種別に処理対象の種別情報の補間処理種別を修正するようにし、その他を実施の形態1と同様に構成した。このため、上述した実施の形態1の場合と同様の作用効果を享受するとともに、予め設定した複数の設定配列パターンと周辺の種別情報の配列パターンとが一致するか否かの判定処理結果に基づいて処理対象の種別情報の補間処理種別を変更できるので、複数の最適な判定条件を利用して補間処理種別の誤判定を一層高精度に修正することができる。
(実施の形態1の変形例2)
つぎに、本発明の実施の形態1の変形例2について説明する。上述した実施の形態1では、G欠落画素位置の補間処理の種別を縦補間処理、横補間処理および4画素平均補間処理の3種類にしていたが、この変形例2では、さらに、斜め右上がり(スラッシュ)方向の補間処理である斜め補間処理と、斜め右下がり(バックスラッシュ)方向の補間処理である逆斜め補間処理とを加えた合計5種類の補間処理にしている。
図27は、本発明の実施の形態1の変形例2にかかる画像処理装置のG補間色差算出部の一構成例を模式的に示すブロック図である。図27に示すように、この実施の形態1の変形例2におけるG補間色差算出部120は、上述した実施の形態1におけるG補間色差算出部20と同様の構成を有し、さらに、斜め補間算出部22dと、逆斜め補間算出部22eと、減算部23f,23gと、メモリ21h,21iと、色差類似度算出部25d,25eとを備える。なお、この変形例2にかかる画像処理装置は、実施の形態1にかかる画像処理装置2のG補間色差算出部20に代えてG補間色差算出部120を備える。その他の構成は実施の形態1と同じであり、同一構成部分には同一符号を付している。
斜め補間算出部22dおよび逆斜め補間算出部22eは、上述した縦補間算出部22a、横補間算出部22bおよび4画素平均補間算出部22cと同様に、補間処理種別毎に特定色信号(色信号Gs)の異なる補間信号を算出する複数の補間信号候補算出部として機能する。
具体的には、斜め補間算出部22dは、G欠落画素位置のスラッシュ方向に近接する各画素位置の特定色信号をもとにスラッシュ方向の補間処理(斜め補間処理)を行って、スラッシュ方向の補間処理種別に対応する補間信号を算出する。
逆斜め補間算出部22eは、G欠落画素位置のバックスラッシュ方向に近接する各画素位置の特定色信号をもとにバックスラッシュ方向の補間処理(逆斜め補間処理)を行って、バックスラッシュ方向の補間処理種別に対応する補間信号を算出する。
以下に、斜め補間処理および逆斜め補間処理について具体的に説明する。図28は、斜め補間処理および逆斜め補間処理における補間処理対象画素のベイヤ配列上の画素位置の具体例を示す模式図である。
斜め補間算出部22dは、図28に示すG欠落画素であるX画素のスラッシュ方向(右上がり方向)に近接する8つの画素の各色信号Gsをメモリ21bから取得し、この取得した各色信号Gsの信号値を用いて斜め補間処理を行う。これによって、斜め補間算出部22dは、このX画素に対してスラッシュ方向のG成分の補間値を算出する。その後、斜め補間算出部22dは、算出した補間値を信号値とする補間信号を減算部23fに出力する。
一方、逆斜め補間算出部22eは、図28に示すG欠落画素であるX画素のバックスラッシュ方向(右下がり方向)に近接する8つの画素の各色信号Gsをメモリ21bから取得し、この取得した各色信号Gsの信号値を用いて逆斜め補間処理を行う。これによって、逆斜め補間算出部22eは、このX画素に対してバックスラッシュ方向のG成分の補間値を算出する。その後、逆斜め補間算出部22eは、算出した補間値を信号値とする補間信号を減算部23gに出力する。
ここで、斜め補間算出部22dまたは逆斜め補間算出部22eによる補間値は、補間処理種別毎に異なる補間信号の各信号値である。詳細には、斜め補間算出部22dによる補間値は、斜め補間処理によって算出されるG欠落画素の補間G信号Giの信号値であり、逆斜め補間算出部22eによる補間値は、逆斜め補間処理によって算出されるG欠落画素の補間G信号Giの信号値である。
減算部23f,23gは、上述した減算部23a〜23cと同様に、補間処理種別毎に異色信号と特定色信号との色差信号候補を算出する複数の色差信号候補算出部として機能する。具体的には、減算部23fは、まず、斜め補間算出部22dから斜め補間処理の補間値を有する補間信号を取得し、メモリ21aからG欠落画素(X画素)における色信号Xを取得する。つぎに、減算部23fは、斜め補間処理による補間信号と色信号Xとの減算処理を行って、斜め補間処理に対応する色差信号候補を算出する。その後、減算部23fは、この算出した色差信号候補をメモリ21hに出力する。
減算部23gは、まず、逆斜め補間算出部22eから逆斜め補間処理の補間値を有する補間信号を取得し、メモリ21aからG欠落画素(X画素)における色信号Xを取得する。つぎに、減算部23gは、逆斜め補間処理による補間信号と色信号Xとの減算処理を行って、逆斜め補間処理に対応する色差信号候補を算出する。その後、減算部23gは、この算出した色差信号候補をメモリ21iに出力する。
メモリ21h,21iは、上述したメモリ21c〜21eと同様に、補間処理種別毎に上述した色差信号候補を記憶する複数の記憶部として機能する。具体的には、メモリ21hは、まず、減算部23fによって算出された斜め補間処理の色差信号候補を順次取得し、所定の画素数分の斜め補間処理の色差信号候補を格納する。その後、メモリ21hは、所定の画素数分の色差信号候補を格納した場合、この格納した斜め補間処理の色差信号候補を色差類似度算出部25dおよび色差選択部29に適宜出力する。
メモリ21iは、まず、減算部23gによって算出された逆斜め補間処理の色差信号候補を順次取得し、所定の画素数分の逆斜め補間処理の色差信号候補を格納する。その後、メモリ21iは、所定の画素数分の色差信号候補を格納した場合、この格納した逆斜め補間処理の色差信号候補を色差類似度算出部25eおよび色差選択部29に適宜出力する。
上述したようにして、メモリ21h,21iは、所定の画素数分(例えば5行5列の画素数分)の色差信号候補を含む画素領域における色差類似度の算出処理が実施可能になるまでの遅延を得る。なお、この場合の色差類似度の算出処理は、後述する色差類似度算出部25d,25eによって実施される。
色差類似度算出部25d,25eは、上述した色差類似度算出部25a〜25cと同様に、メモリ21h,21iが補間処理種別に各々記憶した補間処理種別毎の色差信号候補をもとに、補間処理種別毎に色差信号候補間の類似度を算出する複数の色差類似度算出部として機能する。
具体的には、色差類似度算出部25dは、まず、メモリ21hに格納された所定の画素数分の色差信号候補(斜め補間処理に対応する色差信号)を取得する。つぎに、色差類似度算出部25dは、取得した所定の画素数分の色差信号候補をもとに、複数の補間処理種別のうちの斜め補間処理に対応する色差信号候補間の類似度である色差類似度Ss(n,m)を算出する。その後、色差類似度算出部25dは、この算出した色差類似度Ss(n,m)を判定部27に出力する。
一方、色差類似度算出部25eは、まず、メモリ21iに格納された所定の画素数分の色差信号候補(逆斜め補間処理に対応する色差信号)を取得する。つぎに、色差類似度算出部25eは、取得した所定の画素数分の色差信号候補をもとに、複数の補間処理種別のうちの逆斜め補間処理に対応する色差信号候補間の類似度である色差類似度Sb(n,m)を算出する。その後、色差類似度算出部25eは、この算出した色差類似度Sb(n,m)を判定部27に出力する。
ここで、この実施の形態1の変形例2において、判定部27は、上述した特定色信号である色信号Gsが欠落したG欠落画素(X画素またはXL画素)の画素位置における色信号Gsの補間処理種別として、縦補間処理、横補間処理、4画素平均補間処理、斜め補間処理および逆斜め補間処理のうちの1つを選択的に判定する。
具体的には、判定部27は、上述したように色差類似度Sv(n,m),Sh(n,m),Sa(n,m)×w(n,m)を取得し、さらに、色差類似度算出部25dから斜め補間処理に対応する色差類似度Ss(n,m)を取得し、色差類似度算出部25eから逆斜め補間処理に対応する色差類似度Sb(n,m)を取得する。
つぎに、判定部27は、補間処理種別に異なる色差類似度Sv(n,m),Sh(n,m),Sa(n,m)×w(n,m),Ss(n,m),Sb(n,m)を比較処理し、これらの色差類似度のうちの最小となる色差類似度を選択する。
次いで、判定部27は、この選択した最小の色差類似度に対応する補間処理種別(本変形例2では、縦補間処理、横補間処理、4画素平均補間処理、斜め補間処理、逆斜め補間処理のいずれか)をG欠落画素位置における色信号Gsの補間処理種別として選択的に判定する。その後、判定部27は、このように判定したG欠落画素位置における色信号Gsの補間処理種別を示す種別情報をメモリ21gに出力する。
例えば、判定部27は、比較処理によって色差類似度Ss(n,m)を選択した場合、この色差類似度Ss(n,m)に対応する斜め補間処理をG欠落画素位置における補間処理種別として判定し、G欠落画素位置(n,m)における補間処理種別が斜め補間処理である旨を示す種別情報Ts(n,m)をメモリ21gに出力する。
また、判定部27は、比較処理によって色差類似度Sb(n,m)を選択した場合、この色差類似度Sb(n,m)に対応する逆斜め補間処理をG欠落画素位置における補間処理種別として判定し、G欠落画素位置(n,m)における補間処理種別が逆斜め補間処理である旨を示す種別情報Tb(n,m)をメモリ21gに出力する。なお、その他の色差類似度については、上述した実施の形態1の場合と同様である。
一方、この変形例2における種別情報修正部28は、上述した実施の形態1の場合と同様の修正機能に加え、さらに、処理対象の種別情報の補間処理種別を斜め補間処理または逆斜め補間処理に修正する機能を備える。図29は、斜め補間処理種別に対応する種別情報の配列状態の一具体例を示す模式図である。図30は、逆斜め補間処理種別に対応する種別情報の配列状態の一具体例を示す模式図である。
種別情報修正部28は、例えば上述した実施の形態1の変形例1の場合と同様に、まず、メモリ21gから、処理対象の種別情報T(n,m−2)と、その周辺の種別情報T(n,m),T(n−1,m−1),T(n+1,m−1),T(n−2,m−2),T(n+2,m−2),T(n−1,m−3),T(n+1,m−3),T(n,m−4)とを取得する。
つぎに、種別情報修正部28は、例えば図29に示すように、周辺の種別情報T(n,m),T(n−1,m−1),T(n+1,m−1),T(n−2,m−2),T(n+1,m−3)または種別情報T(n−1,m−1),T(n−2,m−2),T(n−1,m−3),T(n+1,m−3),T(n,m−4)が各々斜め補間処理に対応する種別情報Tsであり、且つ、処理対象の種別情報T(n,m−2)が斜め補間処理以外の補間処理種別を示す場合、この処理対象を斜め補間処理に対応する種別情報Ts(n,m−2)に修正する。すなわち、種別情報修正部28は、処理対象の種別情報Tv(n,m−2)、Ta(n,m−2)、Th(n,m−2)、Tb(n,m−2)を種別情報Ts(n,m−2)に修正する。その後、種別情報修正部28は、この修正後の種別情報Ts(n,m−2)をメモリ21gに出力する。
一方、種別情報修正部28は、例えば図30に示すように、周辺の種別情報T(n,m),T(n−1,m−1),T(n+1,m−1),T(n−2,m−2),T(n−1,m−3)または種別情報T(n+1,m−1),T(n+2,m−2),T(n+1,m−3),T(n−1,m−3),T(n,m−4)が各々逆斜め補間処理に対応する種別情報Tbであり、且つ、処理対象の種別情報T(n,m−2)が逆斜め補間処理以外の補間処理種別を示す場合、この処理対象を逆斜め補間処理に対応する種別情報Tb(n,m−2)に修正する。すなわち、種別情報修正部28は、処理対象の種別情報Tv(n,m−2)、Ta(n,m−2)、Th(n,m−2)、Ts(n,m−2)を種別情報Tb(n,m−2)に修正する。その後、種別情報修正部28は、この修正後の種別情報Tb(n,m−2)をメモリ21gに出力する。
なお、この変形例2における種別情報修正部28は、上述した斜め補間処理または逆斜め補間処理の修正機能以外、上述した実施の形態1または変形例1と同様の機能を有する。このような種別情報修正部28は、実施の形態1と同様に、種別情報の計数処理結果に基づいて種別情報を修正してもよいし、変形例1と同様に、種別情報の配列パターンの判定結果に基づいて種別情報を修正してもよい。
一方、この変形例2における色差選択部29は、上述した色差信号X−Gv,X−Gh,XL−Gaに加え、さらに、メモリ21h,21iから斜め補間処理の色差信号候補と逆斜め補間処理の色差信号候補とを取得する。具体的には、色差選択部29は、メモリ21gから判定後または更新後の種別情報を取得し、この取得した種別情報が斜め補間処理を示す場合、斜め補間処理の色差信号候補を選択し、この取得した種別情報が逆斜め補間処理を示す場合、逆斜め補間処理の色差信号候補を選択する。なお、この変形例2における色差選択部29は、このような斜め補間処理または逆斜め補間処理の色差信号候補を選択する機能以外、上述した実施の形態1と同様の機能を有する。
以上、説明したように、本発明の実施の形態1の変形例2では、処理対象のG欠落画素位置における補間処理種別として斜め補間処理と逆斜め補間処理とを追加し、斜め補間処理に対応する色差信号または逆斜め補間処理に対応する色差信号を選択できるようにし、その他を実施の形態1または変形例1と同様に構成した。このため、上述した実施の形態1または変形例1の場合と同様の作用効果を享受するとともに、より多様の補間処理種別に応じて色差信号を選択できるようになり、これによって、より多様に画素領域の補間処理種別の誤判定を修正することができ、この結果、より多様な画素領域の偽色を低減することができる。
(実施の形態2)
つぎに、本発明の実施の形態2について説明する。上述した実施の形態1では、補間処理種別毎に異なる複数の色差信号候補を算出し、判定後または修正後の種別情報に基づく補間処理種別に応じて、これら複数の色差信号候補の中から出力対象の色差信号を選択していたが、この実施の形態2では、G欠落画素位置の補間処理種別を先に判定し、この判定後の補間処理種別または修正後の補間処理種別に対応する補間信号算出手段を1つ選択して、この選択した補間信号算出手段によって補間G信号Giを算出するようにしている。
図31は、本発明の実施の形態2にかかる画像処理装置を備えた画像出力装置の一構成例を模式的に示すブロック図である。図31に示すように、この実施の形態2にかかる画像出力装置200は、上述した実施の形態1にかかる画像出力装置100の画像処理装置2に代えて画像処理装置202を備える。また、画像処理装置202は、上述した実施の形態1におけるG補間色差算出部20に代えてG補間色差算出部220を備える。その他の構成は実施の形態1と同じであり、同一構成部分には同一符号を付している。
図32は、本発明の実施の形態2にかかる画像処理装置のG補間色差算出部220の一構成例を模式的に示すブロック図である。図32に示すように、この実施の形態2にかかるG補間色差算出部220は、メモリ221a,221b,224と、G補間種別判定部222と、補間選択部223と、種別情報修正部225と、縦補間算出部226aと、横補間算出部226bと、4画素平均補間算出部226cと、ローパスフィルタ227と、選択部228と、減算部229a,229bとを備える。
メモリ221aは、上述した実施の形態1におけるメモリ21aと同様の機能を有している。具体的には、メモリ221aは、まず、所定のライン数分(例えば3ライン以上)の色信号Rs,Bsを格納し、その後、この所定のライン数分の色信号Rs,Bsを格納した場合、この所定のライン数分の色信号Rs,BsをG補間種別判定部222、ローパスフィルタ227および選択部228に順次出力する。
メモリ221bは、上述した実施の形態1におけるメモリ21bと同様の機能を有している。具体的には、メモリ221bは、まず、所定のライン数分の色信号Gsを格納し、その後、この所定のライン数分の色信号Gsを格納した場合、この所定のライン数分の色信号GsをG補間種別判定部222、補間選択部223および同時化補間処理部30(図31参照)に順次出力する。
このようにして、メモリ221a,221bは、G欠落画素位置における2次元的な補間処理が実施可能になる画素数のデータ、すなわち所定のライン数分の色信号Rs,Gs,Bsが揃うまでの遅延を得る。
G補間種別判定部222は、画像を形成する複数の色信号の画素位置のうちの特定色信号が欠落した欠落画素位置における特定色信号の補間処理種別を判定する種別判定部として機能する。具体的には、G補間種別判定部222は、まず、メモリ221aから所定ライン数分の色信号X(色信号Rs,Bs)を取得し、メモリ221bから所定ライン数分の色信号Gsを取得する。
つぎに、G補間種別判定部222は、所定ライン数分の色信号Xおよび色信号Gsを用い、次式(15)、(16)に基づいて、縦方向の色相関値である縦色相関値Cvと横方向の色相関値である横色相関値Chとを算出する。
Cv(i,j)=|G(i,j-1)-G(i,j+1)|×α(i,j)+{|G(i,j-1)-X(i,j)|+|G(i,j+1)-X(i,j)|}×(1-α(i,j)) ・・・(15)
Ch(i,j)=|G(i-1,j)-G(i+1,j)|×α(i,j)+{|G(i-1,j)-X(i,j)|+|G(i+1,j)-X(i,j)|}×(1-α(i,j)) ・・・(16)
なお、この式(15)、(16)において、α(i,j)は1以下の変数であり、上述した図10に示す画素領域における色信号Gの総和と色信号Xの総和とによって決定され、α(i,j)=Σn,mG(i+n, j+m)/(Σn,mG(i+n,j+m)+Σk,lX(i+k,j+l)×β)である。
また、Σn,mおよびΣk,lは、画素位置を示す座標値(i,j)に対する周辺の画素領域を定義する定義域の範囲内での総和を示し、β=Σn,m1/Σk,l1である。すなわち、色信号Gと色信号Xとの相関が高い場合は、α=0.5に近い値となり、第1項と第2項との比率を同一に扱う。一方、色信号Gが色信号Xに比して大きければ、第1項に大きな重みが付き、逆に色信号Xが色信号Gに比して大きければ、第2項に大きな重みが付く。
続いて、G補間種別判定部222は、式(15)、(16)に基づいて算出した縦色相関値Cvと横色相関値Chとの差の絶対値|Cv−Ch|を算出し、この算出した絶対値|Cv−Ch|と所定の閾値との比較判定処理を行う。
この比較判定処理の結果、G補間種別判定部222は、この絶対値|Cv−Ch|が所定の閾値未満である場合、G欠落画素位置の種別情報として、4画素平均補間処理の種別情報Taを選択的に決定する。一方、G補間種別判定部222は、この絶対値|Cv−Ch|が所定の閾値以上であり且つ縦色相関値Cvが横色相関値Chに比して大きい場合、G欠落画素位置の種別情報として、横補間処理の種別情報Thを選択的に決定する。また、G補間種別判定部222は、この絶対値|Cv−Ch|が所定の閾値以上であり且つ縦色相関値Cvが横色相関値Chに比して小さい場合、G欠落画素位置の種別情報として、縦補間処理の種別情報Tvを選択的に決定する。その後、G補間種別判定部222は、このように決定したG欠落画素位置の種別情報(種別情報Ta,Th,Tvのいずれか)をメモリ224に出力する。
メモリ224は、G補間種別判定部222による判定後の補間処理種別を示す種別情報を欠落画素位置毎に記憶する種別情報記憶部として機能する。具体的には、メモリ224は、まず、上述したG欠落画素位置における補間処理種別を示す種別情報をG補間種別判定部222から取得し、この取得した種別情報を2次元配列のG欠落画素位置毎に順次格納する。
より具体的には、メモリ224は、補間処理種別の種別情報Tv(i,j),Th(i,j),Ta(i,j)の中からG補間種別判定部222が判定出力した種別情報を順次取得し、この取得した種別情報(すなわち種別情報Tv(i,j),Th(i,j),Ta(i,j)のうちのいずれか)をベイヤ配列内のG欠落画素位置毎に順次格納する。
このようにして、メモリ224は、所定のライン数分(例えば3ライン以上)の補間処理種別の種別情報を格納する。なお、メモリ224が所定のライン数分格納した各種別情報は、種別情報修正部225によって読み出される。
ここで、種別情報修正部225は、上述した実施の形態1における種別情報修正部28または変形例1における種別情報修正部128と同様の機能を有する。すなわち、メモリ224は、この種別情報修正部225による修正後の種別情報を種別情報修正部225から取得し、この修正後の種別情報を同一格納位置に上書き保存して、この同一格納位置の既存の種別情報をこの修正後の種別情報に更新する。例えば、種別情報修正部225によって修正処理された種別情報T(i−2,j)がメモリ224内の修正前の格納位置に上書き保存される。なお、この種別情報T(i−2,j)は、最新の種別情報T(i,j)の2画素分左に遅延した情報である。
補間選択部223は、処理対象のG欠落画素位置の補間処理種別に応じて複数の補間処理種別の補間算出手段の中から補間信号を算出させる補間信号算出手段を選択する補間算出手段選択部として機能する。
具体的には、補間選択部223は、まず、メモリ221bから色信号Gsを取得し、メモリ224から処理対象のG欠落画素位置における補間処理種別を示す種別情報を取得する。なお、メモリ224から取得する種別情報は、G補間種別判定部222による判定結果が維持された種別情報または種別情報修正部225によって修正された種別情報である。
つぎに、補間選択部223は、メモリ224から読み出した種別情報が示す補間処理種別を確認し、この種別情報が縦補間処理の種別情報Tvである場合、メモリ221bからの色信号Gsを縦補間算出部226aに出力して、この縦補間算出部226aにG欠落画素位置の補間G信号Giを算出させる。
一方、補間選択部223は、メモリ224から読み出した種別情報が横補間処理の種別情報Thである場合、メモリ221bからの色信号Gsを横補間算出部226bに出力して、この横補間算出部226bにG欠落画素位置の補間G信号Giを算出させる。また、補間選択部223は、メモリ224から読み出した種別情報が4画素平均補間処理の種別情報Taである場合、メモリ221bからの色信号Gsを4画素平均補間算出部226cに出力して、この4画素平均補間算出部226cにG欠落画素位置の補間G信号Giを算出させる。
縦補間算出部226a、横補間算出部226bおよび4画素平均補間算出部226cは、補間処理種別毎に特定色信号(色信号Gs)の異なる補間信号を算出する複数の補間信号算出部として機能する。
具体的には、縦補間算出部226aは、補間選択部223からG欠落画素位置の周辺画素の色信号Gsを取得した場合、上述した実施の形態1における縦補間算出部22aの場合と同様に、式(1)に基づいて、縦補間処理の補間値Gvを有する補間G信号Giを算出する。
横補間算出部226bは、補間選択部223からG欠落画素位置の周辺画素の色信号Gsを取得した場合、上述した実施の形態1における横補間算出部22bの場合と同様に、式(2)に基づいて、横補間処理の補間値Ghを有する補間G信号Giを算出する。
4画素平均補間算出部226cは、補間選択部223からG欠落画素位置の周辺画素の色信号Gsを取得した場合、上述した実施の形態1における4画素平均補間算出部22cの場合と同様に、式(3)に基づいて、4画素平均補間処理の補間値Gaを有する補間G信号Giを算出する。
すなわち、縦補間算出部226a、横補間算出部226bおよび4画素平均補間算出部226cのうちの補間選択部223によって選択された1つが、補間G信号Giを算出し、この算出した補間G信号Giを減算部229aに出力する。
ローパスフィルタ227は、まず、メモリ221aに格納された色信号Xを取得する。つぎに、ローパスフィルタ227は、上述した実施の形態1におけるローパスフィルタ24の場合と同様に、この取得した色信号Xに対して帯域制限処理を行って、所定の周波数帯域幅に帯域制限した色信号XLを生成する。その後、ローパスフィルタ227は、帯域制限処理後の色信号XLを選択部228に出力する。
選択部228は、メモリ224から読み込んだ更新後の種別情報によって示されるG欠落画素位置の修正後の補間処理種別に対応して、異色信号である色信号X,XLを選択する信号選択部として機能する。
具体的には、選択部228は、まず、メモリ221aから色信号Xを取得し、ローパスフィルタ227から帯域制限処理後の色信号XLを取得する。また、選択部228は、メモリ224に格納された更新後または判定後の種別情報を取得する。
つぎに、選択部228は、メモリ224からの種別情報に示される補間処理種別に応じて、減算部229に対する出力対象信号を色信号X,XLのいずれかに選択する。すなわち、選択部228は、種別情報に示される補間処理種別が縦補間処理または横補間処理である場合、メモリ221aからの色信号Xを選択し、その後、この選択した色信号Xを減算部229aに出力する。
一方、選択部228は、種別情報に示される補間処理種別が4画素平均補間処理である場合、ローパスフィルタ227からの色信号XLを選択し、その後、この選択した色信号XLを減算部229aに出力する。
減算部229aは、選択部228が選択した異色信号(色信号X,XLのいずれか)と補間選択部223が選択した補間信号算出手段(縦補間算出部226a、横補間算出部226b、4画素平均補間算出部226cのうちのいずれか)によって算出された補間信号との減算処理を行ってG欠落画素位置の色差信号を算出する色差信号算出部として機能する。
具体的には、減算部229aは、縦補間算出部226aから縦補間処理の補間値Gvを有する補間G信号Giを取得した場合、選択部228から取得した色信号Xと、この補間G信号Giとの減算処理を行って、縦補間処理に対応する色差信号X−Gvを算出する。また、減算部229aは、横補間算出部226bから横補間処理の補間値Ghを有する補間G信号Giを取得した場合、選択部228から取得した色信号Xと、この補間G信号Giとの減算処理を行って、横補間処理に対応する色差信号X−Ghを算出する。
一方、減算部229aは、4画素平均補間算出部226cから4画素平均補間処理の補間値Gaを有する補間G信号Giを取得した場合、選択部228から取得した色信号XLと、この補間G信号Giとの減算処理を行って、4画素平均補間処理に対応する色差信号XL−Gaを算出する。
その後、減算部229aは、上述したように算出した色差信号X−Gi(すなわち色差信号X−Gv,X−Gh,XL−Gaのうちのいずれか)を減算部229bおよび同時化補間処理部30に出力する。
ここで、上述した補間選択部223、縦補間算出部226a、横補間算出部226b、4画素平均補間算出部226c、選択部228および減算部229aは、メモリ224内の更新後の種別情報によって示されるG欠落画素位置の修正後の補間処理種別に対応して色差信号を選択する色差信号選択部220aを構成する。
このような色差信号選択部220aは、上述した各構成部の作用によって、判定後または修正後の種別情報によって示される補間処理種別に対応する色差信号X−Gi(すなわち色差信号X−Gv,X−Gh,XL−Gaのうちのいずれか)を選択出力する。
減算部229bは、補間処理種別の種別情報に基づいて選択された色差信号をもとに特定色信号の欠落画素位置における特定色信号の補間信号を生成する補間信号生成部として機能する。具体的には、減算部229bは、まず、処理対象のG欠落画素位置における色信号X(色信号Rs,Bs)をメモリ221aから取得し、この処理対象のG欠落画素位置における色差信号X−Giを色差選択部220aの減算部229aから取得する。
ここで、色差信号X−Giは、上述したように、色差選択部220aが処理対象のG欠落画素位置における判定後または更新後の補間処理種別に基づいて選択した色差信号であり、本実施の形態2においては、色差信号X−Gv,X−Gh,XL−Gaのうちのいずれかである。
つぎに、減算部229bは、色差選択部220aからの色差信号X−Giとメモリ221aからの色信号Xとを減算処理して、上述した実施の形態1における減算部23dの場合と同様に、処理対象のG欠落画素位置における補間G信号Giを算出する。その後、減算部229bは、このように算出した補間G信号Giを同時化補間処理部30(図31参照)に出力する。
このような減算部229bから出力された補間G信号Giおよびメモリ221bからの色信号Gsは、例えば図4に示したように2次元配列の状態に合成され、その後、色成分の欠落が無い2次元配列の色信号Gとしてラスタスキャン順に同時化補間処理部30に出力される。
つぎに、本発明の実施の形態2にかかる画像処理装置202のソフトウェア処理に基づく動作について説明する。なお、この実施の形態2にかかる画像処理装置202は、上述したようにハードウェア処理に基づいて各種画像処理を実行可能であるが、図21に示したステップS101〜S107の処理手順と略同様に、必要な処理プログラムを有するコンピュータが行うソフトウェア処理に基づいて動作することも可能である。この場合、この実施の形態2にかかる画像処理装置202は、上述したステップS103のG補間色差算出処理のみ、実施の形態1と異なる。以下に、本実施の形態2におけるステップS103のG補間色差算出処理の処理手順を詳細に説明する。
図33は、本発明の実施の形態2にかかる画像処理装置によるG補間色差算出処理の処理手順を例示するフローチャートである。この実施の形態2にかかる画像処理装置202は、図21に示したステップS103の処理手順を実行する際、図33に示すように、まず、G欠落画素位置に対する縦色相関値Cvを算出する(ステップS301)。
このステップS301において、画像処理装置202は、図21に示したステップS101の処理手順で取り込んだRAWファイルとステップS102の処理手順で取得した属性情報をもとに、式(15)に基づいてG欠落画素位置における縦色相関値Cvを算出する。
つぎに、画像処理装置202は、G欠落画素位置に対する横色相関値Chを算出する(ステップS302)。このステップS302において、画像処理装置202は、図21に示したステップS101の処理手順で取り込んだRAWファイルとステップS102の処理手順で取得した属性情報をもとに、式(16)に基づいてG欠落画素位置における横色相関値Chを算出する。
続いて、画像処理装置202は、G欠落画素位置における縦色相関値Cvと横色相関値Chとの差の絶対値|Cv−Ch|を算出する(ステップS303)。このステップS303において、画像処理装置202は、ステップS301の処理手順によって算出した縦色相関値Cv(i,j)とステップS302の処理手順によって算出した横色相関値Ch(i,j)との差の絶対値|Cv−Ch|を算出する。
つぎに、画像処理装置202は、ステップS303の処理手順によって算出した絶対値|Cv−Ch|と予め設定された所定の閾値とを比較処理し(ステップS304)、絶対値|Cv−Ch|が閾値以上である場合(ステップS304,No)、ステップS301,S302の処理手順による縦色相関値Cv(i,j)と横色相関値Ch(i,j)との大小判定処理を行う(ステップS306)。
一方、画像処理装置202は、このステップS304において絶対値|Cv−Ch|が閾値未満である場合(ステップS304,Yes)、4画素平均補間の種別情報Taをメモリに記憶する(ステップS305)。
他方、ステップS306において、画像処理装置202は、縦色相関値Cv(i,j)が横色相関値Ch(i,j)に比して小さい場合(ステップS306,No)、縦補間処理の種別情報Tvをメモリに記憶し(ステップS307)、縦色相関値Cv(i,j)が横色相関値Ch(i,j)に比して大きい場合(ステップS306,Yes)、横補間処理の種別情報Thをメモリに記憶する(ステップS308)。
その後、画像処理装置202は、処理対象の種別情報(すなわち種別情報Tv,Ta,Thのうちのいずれか)の修正処理および更新処理を行う(ステップS309)。このステップS309において、画像処理装置202は、メモリに格納されている処理対象の種別情報とその周辺の種別情報(例えば図16または図24参照)をもとに、この処理対象の種別情報の補間処理種別を修正し、この修正後の種別情報をメモリの同一位置に上書き保存する。
つぎに、画像処理装置202は、ステップS309の処理手順による修正処理後の種別情報に応じてG補間値を算出する(ステップS310)。このステップS310において、画像処理装置202は、縦補間処理、横補間処理および4画素平均補間処理の中から、メモリに格納されている修正処理後の種別情報によって示される補間処理を選択し、この選択した補間処理によって補間G信号Giを算出する。
具体的には、画像処理装置202は、縦補間処理を選択した場合、補間値Gvの補間G信号Giを算出し、横補間処理を選択した場合、補間値Ghの補間G信号Giを算出し、4画素平均補間処理を選択した場合、補間値Gaの補間G信号Giを算出する。
続いて、画像処理装置202は、ステップS309の処理手順による修正処理後の種別情報に応じた色信号選択処理を行う(ステップS311)。このステップS311において、画像処理装置202は、上述した修正処理後の種別情報が4画素平均補間処理を示す種別情報Taである場合、処理対象のG欠落画素位置の色信号Xとその周辺に位置する複数のG欠落画素位置の各色信号Xとをもとに、高域成分を帯域制限した色信号XLを算出する。
ここで、この算出した色信号XLは、この処理対象のG欠落画素位置における信号である。このため、画像処理装置202は、上述した修正処理後の種別情報が4画素平均補間処理を示す種別情報Taである場合、この処理対象のG欠落画素位置の色信号XLを選択する。一方、画像処理装置202は、上述した修正処理後の種別情報が縦補間処理または横補間処理を示す種別情報Tv,Thである場合、メモリに格納されているG欠落画素位置の色信号Xを選択する。
その後、画像処理装置202は、ステップS309の処理手順による修正処理後の種別情報に応じて選択色信号と補間G信号との色差信号を算出する(ステップS312)。このステップS312において、画像処理装置202は、修正処理後の種別情報が4画素平均補間処理を示す種別情報Taである場合、ステップS311の処理手順によって得られた処理対象のG欠落画素位置における帯域制限処理後の色信号XLと補間G信号Giとの色差信号XL−Gaを算出する。
一方、画像処理装置202は、上述した修正処理後の種別情報が縦補間処理を示す種別情報Tvである場合、メモリに格納されているG欠落画素位置の色信号Xと補間G信号Giとの色差信号X−Gvを算出し、上述した修正処理後の種別情報が横補間処理を示す種別情報Thである場合、メモリに格納されているG欠落画素位置の色信号Xと補間G信号Giとの色差信号X−Ghを算出する。
つぎに、画像処理装置202は、ステップS312の処理手順による算出色差信号を用いて補間G信号を再算出する(ステップS313)。このステップS313において、画像処理装置202は、上述した修正処理後の種別情報が4画素平均補間処理を示す種別情報Taである場合、処理対象のG欠落画素位置における色信号XLとステップS312における色差信号XL−Gaとを減算処理して、この処理対象のG欠落画素位置における補間G信号Giを再算出する。
一方、画像処理装置202は、上述した修正処理後の種別情報が縦補間処理を示す種別情報Tvである場合、処理対象のG欠落画素位置における色信号XとステップS312における色差信号X−Gvとを減算処理して、この処理対象のG欠落画素位置における補間G信号Giを再算出する。また、画像処理装置202は、上述した修正処理後の種別情報が横補間処理を示す種別情報Thである場合、処理対象のG欠落画素位置における色信号XとステップS312における色差信号X−Ghとを減算処理して、この処理対象のG欠落画素位置における補間G信号Giを再算出する。
その後、画像処理装置202は、上述した各種画像処理が全ての画素に対して行われたか否かを判定し(ステップS314)、未処理画素が残っている場合(ステップS314,No)、上述したステップS301に戻り、このステップS301以降の処理手順を繰り返す。
一方、画像処理装置202は、このステップS314において未処理画素が残っていない場合、すなわち総画素数終了した場合(ステップS314,Yes)、このG補間色差算出処理を終了して図21に示したステップS103にリターンする。
以上、説明したように、本発明の実施の形態2では、処理対象のG欠落画素位置における縦方向の色相関値と横方向の色相関値をもとに補間処理種別を先に判定し、この処理対象のG欠落画素位置の周辺に位置する複数のG欠落画素位置の補間処理種別をもとに、この判定後の補間処理種別を修正し、この修正後の補間処理種別に対応して、この処理対象のG欠落画素位置の色差信号を選択するようにし、その他を実施の形態1と同様に構成した。このため、上述した実施の形態1の場合と同様の作用効果を享受するとともに、複数の補間処理の中から、修正後の補間処理種別と一致する1つの補間処理によってG欠落画素位置のG成分の補間信号を算出できるので、処理時間の短縮化の促進および装置構成の簡易化を実現することができる。
なお、上述した実施の形態1,2および変形例2では、処理対象のG欠落画素位置の周辺に位置する複数の周辺G欠落画素位置の補間処理種別を計数処理し、これら複数の周辺G欠落画素位置の全補間処理種別が同一種別であり且つ処理対象のG欠落画素位置の補間処理種別と異なる場合に、この処理対象のG欠落画素位置の補間処理種別を周辺G欠落画素位置の補間処理種別と同一種別に修正していたが、これに限らない。
具体的には、誤修正してしまう頻度とのトレードオフとなるが、これら複数の周辺G欠落画素位置の補間処理種別のうちの所定数以上の補間処理種別が同一種別であり且つ処理対象のG欠落画素位置の補間処理種別と異なる場合に、この処理対象のG欠落画素位置の補間処理種別をこの所定数以上の補間処理種別と同一種別に修正してもよい。または、これら複数の周辺G欠落画素位置の補間処理種別のうちの過半数以上の補間処理種別が同一種別であり且つ処理対象のG欠落画素位置の補間処理種別と異なる場合に、この処理対象のG欠落画素位置の補間処理種別をこの過半数以上の補間処理種別と同一種別に修正してもよい。
または、これら複数の周辺G欠落画素位置の補間処理種別のうちの最も多い同一の補間処理種別が処理対象のG欠落画素位置の補間処理種別と異なる場合に、この処理対象のG欠落画素位置の補間処理種別をこの最多の補間処理種別と同一種別に修正する多数決処理を行ってもよい。
また、上述した実施の形態1,2および変形例1,2では、画像を形成する複数色の色信号のうちのG成分の色信号を特定色信号としていたが、これに限らず、本発明における特定色信号は、G成分以外の色信号であってもよく、画像を形成する複数色の色信号のうちの所望の色成分の色信号を特定色信号としてもよい。
さらに、上述した実施の形態2では、実施の形態1の場合と同様に、処理対象のG欠落画素位置の周辺に位置する複数の周辺G欠落画素位置の補間処理種別を計数処理し、この計数処理結果に基づいて、この処理対象のG欠落画素位置の補間処理種別を修正していたが、これに限らず、実施の形態1の変形例1の場合と同様に、これら複数の周辺G欠落画素位置の補間処理種別の配列パターンを判定し、この配列パターンの判定結果をもとに、この処理対象のG欠落画素位置の補間処理種別を修正してもよい。すなわち、上述した実施の形態1の変形例1と実施の形態2とを適宜組み合わせた画像処理装置、画像処理プログラムおよび画像処理方法であってもよい。
また、上述した実施の形態2では、複数の周辺G欠落画素位置の各補間処理種別に合わせて正確に修正した修正後の補間処理種別の種別情報を同一G欠落画素位置の種別情報として更新し、この更新後の種別情報による補間処理種別を別のG欠落画素位置の補間処理種別の修正処理に用いる巡回型に構成していたが、これに限らず、過去の修正処理結果を用いずに補間処理種別の修正処理を行う非巡回型の構成であってもよい。
さらに、上述した実施の形態1,2および変形例1,2では、RGBの各色信号をベイヤ配列した場合を例示したが、これに限らず、R,G,B等の複数の色成分の信号をベイヤ配列以外の2次元状にモザイク配列し、且つ、G成分の色信号等の特定色信号の欠落画素位置に対する複数の補間処理を複数の周辺欠落画素の補間処理種別に対応して切り替えるようにしてもよい。
また、上述した実施の形態1,2および変形例1,2では、処理プログラムを実行するコンピュータの動作に基づいたソフトウェアによる画像処理装置の処理手順を説明したが、これに限らず、本発明にかかる画像処理装置は、ハードウェアによる処理手順を実行してもよい。この場合、本発明にかかる画像処理装置部は、図22または図33に例示した各処理ステップをハードウェアの動作によって行ってもよい。