画像処理装置
【課題】ジャギーが少なく滑らかで、かつ、偽色の少ない画素補間を行うことができる画像処理装置を提供する。
【解決手段】輪郭の有無・方向性評価部12〜15は、入力されたR画素、B画素、G_a画素、G_b画素をそれぞれ中心とする複数の画素範囲を評価領域とし、その評価領域のR画素、B画素、G画素の画素信号についての輪郭の有無の評価と、存在する輪郭の方向性の評価を行う。内挿・高域加算処理部16〜19は、G信号の方向性とB/R信号の方向性とが予め設定した角度範囲以内にあると判定したときは、判定された方向性が示す方向に配置された中心画素におけるその中心画素とは異なる二つの色要素の複数の画素の値に基づいて、二つの色要素の補間値を算出し、この算出した二つの色要素の補間値を中心画素における二つの色要素の画素値として内挿する。
【解決手段】輪郭の有無・方向性評価部12〜15は、入力されたR画素、B画素、G_a画素、G_b画素をそれぞれ中心とする複数の画素範囲を評価領域とし、その評価領域のR画素、B画素、G画素の画素信号についての輪郭の有無の評価と、存在する輪郭の方向性の評価を行う。内挿・高域加算処理部16〜19は、G信号の方向性とB/R信号の方向性とが予め設定した角度範囲以内にあると判定したときは、判定された方向性が示す方向に配置された中心画素におけるその中心画素とは異なる二つの色要素の複数の画素の値に基づいて、二つの色要素の補間値を算出し、この算出した二つの色要素の補間値を中心画素における二つの色要素の画素値として内挿する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置に係り、特にベイヤ配列の画像データに対して画素補間を行う画像処理装置に関する。
【背景技術】
【0002】
ベイヤ配列の色フィルタを受光面上に設けた固体撮像素子が知られている。このベイヤ配列の色フィルタは、図21に模式的に示すように、赤色光を透過させる1画素分の赤色フィルタ部Rと、緑色光を透過させる1画素分の緑色フィルタ部Gと、青色光を透過させる1画素分の青色フィルタ部Bとが配置された構成である。図21に示すベイヤ配列の色フィルタは、上記の色フィルタ部R,G,Bのうち、輝度信号の寄与する割合の高い緑色光を透過させる緑色フィルタ部Gを1画素ピッチおき毎に市松状に配置し、残りの箇所に赤色フィルタ部Rと青色フィルタ部Bとを1画素ピッチおき毎に市松状に配置した構成である。
【0003】
このように、ベイヤ配列の色フィルタは、同一の色要素の色フィルタ部が幾何学的に飛び飛びの画素位置に存在するため、ベイヤ配列の色フィルタを受光面上に設けた固体撮像素子から出力した撮像信号を処理する画像処理装置は、全画素について三原色の色要素の揃った信号にするために、この飛び飛びの画素位置に存在する色を補間する補間処理を行う。
【0004】
ここで、上記の画像処理装置が、上記の補間処理を単純な近傍画素の平均を計算することによって行うと、エッジ部分のジャギーや偽色(原画像に存在しない色彩)が発生することが広く知られている。そのため、従来から、これらのジャギーや偽色を軽減するための各種の画像処理装置が提案されている。その提案の多くは、色の連続性や相関性をもとに補間の条件を制御するような処理を行っている。
【0005】
例えば、斜め方向の相関性にポイントをおいた技術が従来、提案されている(例えば、特許文献1、特許文献2参照)。特許文献1には,画素値の複数の方向の勾配を算出し、それをもとに各方向の重みを変えて補間を行う画像処理装置が開示されている。また、特許文献2には、処理対象の画素の上下左右の画素の各値との相関性をもとに補間係数を決定して補間を行う画像処理装置が開示されている。
【0006】
また、偽色の問題のうちで、赤色信号R,青色信号Bの狭帯域を原因とするものに対する対策処理を行う従来の画像処理装置が知られている(例えば、特許文献3参照)。この特許文献3記載の画像処理装置では、高域におけるRGB相関性を利用して、緑色信号Gの高域を赤色信号R,青色信号Bにそれぞれ加算することにより広帯域化して、偽色を軽減している。
【0007】
【特許文献1】特開平10−164602号公報
【特許文献2】特開平11−177994号公報
【特許文献3】特開2000−50290号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかし、これらの先行技術においては、RGBの各原色の相関性が一般に高いなどといった経験則や一般的性質などを利用していないため、RGBの各原色のそれぞれが独立に相関性推定と補間係数が決定され、エッジ部のジャギーや偽色の抑圧が不十分であることがある。
【0009】
また、特許文献3における高域におけるRGB相関性は常に成立するものではなく、無相関の場合も逆相関の場合もあり、それらの場合は単純な加算処理は画質に悪影善を及ぼす。
【0010】
本発明は以上の点に鑑みなされたもので、ジャギーが少なく滑らかでかつ偽色の少ない画素補間を行うことができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記の目的を達成するため、第1の発明は、ベイヤ配列の色フィルタを受光面上に設けた固体撮像素子から出力された撮像信号を構成する色要素が三原色のうちいずれか一の原色である既知の各画素において、その既知の色要素以外の他の二つの色要素の原色信号を周辺の画素の値に基づいて補間する画像処理を行う画像処理装置であって、
入力された撮像信号の画素が、その画素の色要素とその画素を中心画素としたときの周辺の画素の色要素との関係に基づいて、複数の種類の画素タイプのいずれであるかを分類する画素タイプ分類手段と、画素タイプ分類手段により分類された各画素タイプ毎に、入力された撮像信号の画素と、その画素を中心とする複数の周辺の画素とからなる予め設定された画素領域内で、その画素領域内の各画素の値を用いて所定の演算式により演算して、三原色全ての原色信号について輪郭成分の最も大きな方向性を検出する検出手段と、画素タイプ分類手段により分類された各画素タイプのそれぞれについて、検出手段により検出した方向性が示す方向のうち、基準とする所定の一の原色信号の方向性が示す方向と残りの二つの原色信号の方向性が示す方向との間の角度が予め設定した角度範囲以内にあるか否かをそれぞれ判定する判定手段と、判定手段により角度が角度範囲以内にあると判定したときは、判定された方向性が示す方向に配置された中心画素におけるその中心画素とは異なる二つの色要素の複数の画素の値に基づいて、二つの色要素の補間値を算出し、この算出した二つの色要素の補間値を中心画素における二つの色要素の画素値として内挿する内挿手段と、を有することを特徴とする。
【0012】
また、上記の目的を達成するため、第2の発明は、第1の発明の構成に加えて、角度が前記角度範囲以内にあると判定した前記方向性が示す方向に配置された前記中心画素と同一の色要素の前記画素領域内の複数の画素の値に基づいて算出した、該中心画素と同一の色要素の原色信号の高周波数成分を、前記二つの色要素の画素値に、これらの画素値を求める際に用いた前記所定の演算式の演算結果に付される正負いずれかの符号に応じて加減算する加減算手段を有する。
【0013】
更に、上記の目的を達成するため、第3の発明は、上記発明の内挿手段を、判定手段により角度が角度範囲以内にあると判定した方向性が示す方向に配置された中心画素におけるその中心画素とは異なる二つの色要素の複数の画素の値を、二つの色要素毎に加重平均し、更にその加重平均値を中心画素の周辺のその色要素の複数の画素の最大値と最小値により決定される値によって制限された補間値とする手段であることを特徴とする。本発明は、広義の連続性や相関性を利用したものであり、斜め方向の補間に重点を置いた画素値のエッジ方向性を利用している。
【発明の効果】
【0014】
本発明によれば、三原色の画素の相関性を生かしたジャギーが少なく滑らかでかつ偽色の少ない画素補間を行うことができる。また、本発明によれば、画素補間に際して順相関・無相関・逆相関に配慮することで補間後の映像信号の広帯域化を実現することができる。
【発明を実施するための最良の形態】
【0015】
次に、本発明の一実施の形態について図面と共に詳細に説明する。
図1は、本発明になる画像処理装置の一実施の形態のブロック図を示す。この実施の形態の画像処理装置10は、ベイヤ配列の色フィルタを受光面上に設けた固体撮像素子から出力した撮像信号を処理する画像処理装置であって、固体撮像素子から出力されたベイヤ配列の撮像信号を入力として受ける中心画素タイプ分類部11と、中心画素タイプ分類部11により分類されて振り分け出力された撮像信号による表示映像に輪郭が含まれているか否かの輪郭の有無と、その輪郭の表示映像における方向を示す方向性とを互いに独立してそれぞれ評価する輪郭の有無・方向性評価部12、13、14、15と、輪郭の有無・方向性評価部12、13、14、15の出力信号に対して内挿・高域加算処理をそれぞれ別々に行う内挿・高域加算処理部16、17、18、19と、内挿・高域加算処理部16、17、18、19の各出力信号に対して無彩色化処理を行う無彩色化処理部20、21、22、23とより構成される。
【0016】
中心画素タイプ分類部11は、固体撮像素子から入力されたベイヤ配列の撮像信号の色フィルタ部の位置にある既知の中心画素が後述する4種類の画素タイプのうちどの画素タイプであるかを判別して分類し、分類した画素タイプに応じてその中心画素を振り分け出力する。
【0017】
輪郭の有無・方向性評価部12、13、14、15は、入力された画像信号の輪郭の有無を評価し、更にその輪郭の有無の評価結果に基づいて輪郭の方向性を評価する。
内挿・高域加算処理部16、17、18、19は、輪郭の有無・方向性評価部12、13、14、15に1対1に対応して設けられており、輪郭の有無・方向性評価部12、13、14、15から出力された輪郭の方向性の評価結果に基づいて、所定の2つの色要素の画素の内挿と高域加算の補間処理を行う。
【0018】
無彩色化処理部20、21、22、23は、内挿・高域加算処理部16、17、18、19に1対1に対応して設けられており、内挿・高域加算処理部16、17、18、19から出力された処理結果に対して、後述する条件を満足するときに無彩色化処理を行って、それぞれ所定の2つの色要素の画素の補間処理信号を出力する。
【0019】
次に、本実施の形態の動作について、図2A及び図2Bのフローチャートと図3乃至図20と共に詳細に説明する。中心画素タイプ分類部11は、ベイヤ配列の色フィルタを受光面上に設けた固体撮像素子から出力した撮像信号を入力として受ける(図2AのステップS1)。この入力撮像信号の各画素信号は、図21に示したベイヤ配列に基づいて、赤色信号R、緑色信号G、及び青色信号Bのどれかである。また、入力撮像信号の縦方向3画素、横方向3画素の中心画素の色要素がR、B、Gのどれであるかによって、図3(A)〜(D)に示す4種類に分類することができる。ここで、中心画素は、ベイヤ配列の色フィルタの色フィルタ部に対応した既知の画素である。
【0020】
図3(A)は、図21に示した色フィルタ部Rの位置にある中心画素が三原色のうちの色要素Rの画素(以下、R画素ともいう)の場合であり、上下左右の画素が三原色のうちの色要素Gの画素(以下、G画素ともいう)であり、左右の斜め方向の画素が三原色のうちの色要素Bの画素(以下、B画素ともいう)である。また、図3(B)は、図21に示した色フィルタ部Bの位置にある中心画素がB画素の場合であり、上下左右の画素がG画素であり、左右の斜め方向の画素がR画素である。
【0021】
図21に示した色フィルタ部Gの位置にある既知の中心画素がG画素の場合は、上下左右の画素に応じて、図3(C)、(D)に示す2種類ある。図3(C)、(D)に示す画素配列は、いずれも中心画素がG画素で、左右の斜め方向の画素もG画素である点で共通するが、図3(C)の画素配列は、上下の画素がB画素、左右の画素がR画素であるのに対し、図3(D)の画素配列は、上下の画素がR画素、左右の画素がB画素である点で相違する。ここでは、図3(C)の画素配列における中心画素をG_a画素、図3(D)の画素配列における中心画素をG_b画素と呼んで区別するものとする。
【0022】
中心画素タイプ分類部11は、入力されたベイヤ配列の撮像信号の画素が、図3(A)〜(D)に示した4種類のどのタイプであるかを判別し、判別した入力画素がR画素の場合は、輪郭の有無・方向性評価部12に入力画素信号を供給する。同様に、中心画素タイプ分類部11は、判別した入力画素がB画素の場合は、輪郭の有無・方向性評価部13に、判別した入力画素がG_a画素の場合は、輪郭の有無・方向性評価部14に、判別した入力画素がG_b画素の場合は、輪郭の有無・方向性評価部15に、それぞれ入力画素信号を供給する(以上、図2AのステップS2)。
【0023】
輪郭の有無・方向性評価部12は、入力されたR画素を中心とする縦方向7画素、横方向7画素の図4(A)〜(C)に示す画素範囲を評価領域とし、その評価領域の図4(A)に太丸で示すR画素の画素信号についての輪郭の有無の評価(図2AのステップS3)と、図4(B)に太丸で示すB画素の画素信号についての輪郭の有無の評価(図2AのステップS4)と、図4(C)に太丸で示すG画素の画素信号についての輪郭の有無の評価(図2AのステップS5)とを行う。続いて、輪郭の有無・方向性評価部12は、ステップS3〜S5において輪郭が存在すると評価した場合に、その存在する輪郭の方向性の評価を行う(図2AのステップS15〜S17)。
【0024】
同様に、輪郭の有無・方向性評価部13は、入力されたB画素を中心とする縦方向7画素、横方向7画素の図5(A)〜(C)に示す画素範囲を評価領域とし、その評価領域の図5(A)、(B)、(C)に太丸で示すR画素、B画素、G画素の画素信号についての輪郭の有無の評価を行う(図2AのステップS6〜S8)。続いて、輪郭の有無・方向性評価部13は、ステップS6〜S8において輪郭が存在すると評価した場合に、その存在する輪郭の方向性の評価を行う(図2AのステップS18〜S20)。
【0025】
また、輪郭の有無・方向性評価部14は、入力されたG_a画素を中心とする縦方向7画素、横方向7画素程度の図6(A)〜(C)に示す画素範囲を評価領域とし、その評価領域の図6(A)、(B)、(C)に太丸で示すR画素、B画素、G画素の画素信号についての輪郭の有無の評価を行う(図2AのステップS9〜S11)。続いて、輪郭の有無・方向性評価部15は、ステップS9〜S11において輪郭が存在すると評価した場合に、その存在する輪郭の方向性の評価を行う(図2AのステップS21〜S23)。
【0026】
同様に、輪郭の有無・方向性評価部15も、入力されたG_b画素を中心とする縦方向7画素、横方向7画素程度の図7(A)〜(C)に示す画素範囲を評価領域とし、その評価領域の図7(A)、(B)、(C)に太丸で示すR画素、B画素、G画素の画素信号についての輪郭の有無の評価を行う(図2AのステップS12〜S14)。続いて、輪郭の有無・方向性評価部15は、ステップS12〜S14において輪郭が存在すると評価した場合に、その存在する輪郭の方向性の評価を行う(図2AのステップS24〜S26)。
【0027】
事実上、輪郭の有無・方向性評価部12〜15による輪郭の有無の評価と方向性の評価とは同時に行われる。また、輪郭の有無の評価と方向性の評価は、図4〜図7に示した太丸で示された画素について行われるが、各画素タイプと評価をしようとしている色要素によって画素配置が異なるため、その評価のために複数の演算子型を用意しなければならない。
【0028】
具体的には、R画素におけるR信号の評価においては、図8に示す3行3列の演算子型OP0を用い、R画素におけるB信号の評価においては、図9に示す4行4列の演算子型OP1を用い、R画素におけるG信号の評価においては、図10に示す演算子型OP2を用いる。また、B画素におけるR信号の評価においては、図9に示す演算子型OP1を用い、B画素におけるB信号の評価においては図8に示す清算子型OP0を用い、B画素におけるG信号の評価においては図10に示す演算子型OP2を用いる。
【0029】
また、G_a画素におけるR信号の評価においては図11に示す3行4列の演算子型OP3を用い、G_a画素におけるB信号の詳価においては図12に示す4行3列の演算子型0P4を用い、G_a画素におけるG信号の評価においては図13に示す演算子型OP5を用いる。更に、G_b画素におけるR信号の評価においては図12に示す演算子型OP4を用い、G_b画素におけるB信号の評価においては図11に示す演算子型OP3を用い、G_b画素におけるG信号の評価においては図13に示す演算子型OP5を用いる。
【0030】
そして、上記の演算子型OP0〜OP5のそれぞれについて0°,22.5°,45°,67.5°,90°,112.5°,135°,157.5°の8方向のエッジ方向性を評価する微分演算子を構築する。図14〜図19は、演算子型OP0〜OP5についての8方向の微分演算子群を示す。また、図14〜図19において、丸は微分演算子としての画素を示し、また、各画素の右肩の数字は画素番号を示す。また、図14〜図19における各図(A)、(B)、(C)、(D)、(E)、(F)、(G)、(H)に示す直線は、それぞれ0°,22.5°,45°,67.5°,90°,112.5°,135°,157.5°の方向性を示す。
【0031】
ここで、図14〜図19における画素番号iの画素値をX[i]とし、演算子の係数c[i]を白丸の画素についてc[i]=1、黒丸の画素についてc[i]=−1、斜線の画素についてc[i]=0とし、演算子の全画素数をNo、白丸の画素の数をNw、黒丸の画素の数をNbとして、その演算子における相関性を(1)式により正規化した形で評価することにする。
【0032】
【数1】
【0033】
方向性評価では、(1)式の演算式による計算を上記の8つの角度のそれぞれについて行い、その中の最大値を示す角度をもってその角度の方向性を有するものと評価する。(1)式の値は、同一オペレータを使用する条件では、ある方向性における相対的な画素値の傾斜を表している。
【0034】
なお、(1)式の計算結果がどの角度においても所定の閾値を超えない場合は“輪郭なし”と判定する。以上で上記のステップS15〜S17、S18〜S20、S21〜S23、S24〜S26の処理が終了する。
【0035】
続いて、輪郭の有無・方向性評価部12〜15は、同一画素タイプ内での色による2つの方向性を比較して、近いかどうかを判定する(図2AのステップS27〜S28、S29〜S30、S31〜S32、S34〜S35)。ここでは、「方向性が近い」とは、比較する2つの方向性が同一の場合か、又は±22.5°以内の場合をいうものとする。
【0036】
すなわち、画素タイプR画素用の輪郭の有無・方向性評価部12は、R信号の方向性とG信号の方向性とが近いか否かの判定(ステップS27)と、B信号の方向性とG信号の方向性とが近いか否かの判定(ステップS28)とを行う。また、画素タイプB画素用の輪郭の有無・方向性評価部13は、R信号の方向性とG信号の方向性とが近いか否かの判定(ステップS29)と、B信号の方向性とG信号の方向性とが近いか否かの判定(ステップS30)とを行う。また、画素タイプG_a画素用の輪郭の有無・方向性評価部14は、R信号の方向性とG信号の方向性とが近いか否かの判定(ステップS31)と、B信号の方向性とG信号の方向性とが近いか否かの判定(ステップS32)とを行う。また、画素タイプG_b画素用の輪郭の有無・方向性評価部15は、R信号の方向性とG信号の方向性とが近いか否かの判定(ステップS34)と、B信号の方向性とG信号の方向性とが近いか否かの判定(ステップS35)とを行う。
【0037】
以上のような輪郭の有無の情報及び方向性の比較判定結果をもとに、以降のプロセスでの判断が行われる。ここで、以下“XをYの方向性で内挿”という場合には、YについてYに適合した演算子を使って算出した上記の方向性を、XについてXに適合した演算子型の下記のC言語的表記された演算を行った結果を補間値とするということを意味するものにする。
【0038】
ここで、前記の演算子型OP1〜OP4のそれぞれについて、前記の8つの方向性における中心画素の未知の色要素の補間値は、以下のように、方向性に沿った画素の値を加重平均し、更にその加重平均値を中心画素の複数の周辺画素の最大値と最小値とにより決定される値によって制限された制限値で表される。
【0039】
なお、以下の説明において、p[i]は画素番号iを示しており、これは図14〜図19におけるものと同じである。また、max(,,,)は括弧内の最大値、min(,,,)は括弧内の最小値を示す。また、limit_min_max(X,min1,max1)は、Xをmin1を下限、max1を上限として制限することを意味するものとする。更に、補間値は「intp」とする。
【0040】
(1)OP1について
max1=max(p[5],p[6],p[9],p[10]);min1=min(p[5],p[6],p[9],p[10]);thr=max1-min1;
//OP1-0°:最近傍4画素の単純平均
intp=(p[5]+p[6]+p[9]+p[10]+2)/4;
//OP1-22.5°:
if(abs(p[6]-p[7])<thr && abs(p[8]-p[9])<thr)
intp=limit_min_max((p[6]+p[7]+p[8]+p[9]+2)/4,min1,max1);
else
intp=(p[6]+p[9]+1)/2;
//OP1-45°:斜め2画素の単純平均
intp=(p[6]+p[9]+1)/2;
//OP1-67.5°:
if(abs(p[2]-p[6])<thr && abs(p[9]-p[13])<thr)
intp=limit_min_max((p[2]+p[6]+p[9]+p[13]+2)/4,min1,max1);
else
intp=(p[6]+p[9]+1)/2;
//OP1-90°:最近傍4画素の単純平均
intp=(p[5]+p[6]+p[9]+p[10]+2)/4;
//OP1-112.5°:
if(abs(p[1]-p[5])<thr && abs(p[10]-p[14])<thr)
intp=limit_min_max((p[1]+p[5]+p[10]+p[14]+2)/4,min1,max1);
else
intp=(p[5]+p[10]+1)/2;
//OP1-135°:斜め2画素の単純平均
intp=(p[5]+p[10]+1)/2;
//OP1-157.5°:
if(abs(p[4]-p[5])<thr && abs(p[10]-p[11])<thr)
intp=limit_min_max((p[4]+ p[5]+ p[10]+ p[11]+2)/4,min1,max1);
else
intp=(p[5]+p[10]+1)/2;
(2)OP2について
max1=max(p[8],p[11],p[12],p[15]);min1=min(p[8],p[11],p[12],p[15]);
thr=max1-min1;
//OP2-0°:左右2画素の単純平均
intp=(p[11]+p[12]+1)/2;
//OP2-22.5°:
if(abs(p[9]-p[12])<thr && abs(p[11]-p[14])<thr)
intp=limit_min_max((p[9]+ p[11]+ p[12]+ p[14]+2)/4,min1,max1);
else
intp=(p[11]+p[12]+1)/2;
//OP2-45°:最近傍4画素の単純平均
intp=(p[8]+p[11]+p[12]+p[15]+2)/4;
//OP2-67.5°:
if(abs(p[5]-p[8])<thr && abs(p[15]-p[18])<thr)
intp=limit_min_max((p[5]+ p[8]+ p[15]+ p[18]+2)/4,min1,max1);
else
intp=(p[8]+p[15]+1)/2;
//OP2-90°:上下2画素の単純平均
intp=(p[8]+p[15]+1)/2;
//OP2-112.5°:
if(abs(p[4]-p[8])<thr && abs(p[15]-p[19])<thr)
intp=limit_min_max((p[4]+p[8]+p[15]+p[19]+2)/4,min1,max1);
else
intp=(p[8]+p[15]+1)/2;
//OP2-135°:最近傍4画素の単純平均
intp=(p[8]+p[11]+p[12]+p[15] +2)/4;
//OP2-157.5°:
if(abs(p[7]-p[11])<thr && abs(p[12]-p[16])<thr)
intp=limit_min_max((p[7]+p[11]+p[12]+p[16]+2)/4,min1,max1);
else
intp=(p[11]+p[12]+1)/2;
(3)OP3について
max1=max(p[5],p[6]);min1=min(p[5],p[6]);thr=max1-min1;
//OP3-0°:左右2画素の単純平均
intp=(p[5]+p[6]+1)/2;
//OP3-22.5°:
if(abs(p[3]-p[6])<thr && abs(p[5]-p[8])<thr)
intp=limit_min_max((p[3]+p[6]+p[5]+p[8]+2)/4,min1,max1);
else
intp=(p[5]+p[6]+1)/2;
//OP3-45°:最近傍4画素の単純平均
if(abs(p[2]-p[6])<thr && abs(p[5]-p[9])<thr)
intp=limit_min_max((p[2]+p[6]+p[5]+p[9]+2)/4,min1,max1);
else
intp=(p[5]+p[6]+1)/2;
//OP3-67.5°:
intp=limit_min_max((p[2]+p[9]+1)/2,min1,max1);
//OP3-90°:左右2画素の単純平均
intp=(p[5]+p[6]+1)/2;
//OP3-112.5°:
intp=limit_min_max((p[1]+p[10]+1)/2,min1,max1);
//OP3-135°:最近傍4画素の単純平均
if(abs(p[1]-p[5])<thr && abs(p[6]-p[10])<thr)
intp=limit_min_max((p[1]+p[5]+p[6]+ p[10]+2)/4,min1,max1);
else
intp=(p[5]+p[6]+1)/2;
//OP3-157.5°:
if(abs(p[0]-p[5])<thr && abs(p[6]-p[11])<thr)
intp=limit_min_max((p[0]+p[5]+p[6]+p[11]+2)/4,min1,max1);
else
intp=(p[5]+p[6]+1)/2;
(4)OP4について
max1=max(p[4],p[7]);min1=min(p[4],p[7]);thr=max1-min1;
//OP4-0°:上下2画素の単純平均
intp= (p[4]+p[7]+1)/2;
//OP4-22.5°:
intp=limit_min_max((p[5]+p[6]+1)/2,min1,max1);
//OP4-45°:
if(abs(p[4]-p[5])<thr && abs(p[6]-p[7])<thr)
intp=limit_min_max((p[4]+p[5]+p[6]+p[7]+2)/4,min1,max1);
else
intp=(p[4]+p[7]+1)/2;
//OP4-67.5°:
if(abs(p[2]-p[4])<thr && abs(p[7]-p[9])<thr)
intp=limit_min_max((p[2]+p[4]+p[7]+p[9]+2)/4,min1,max1);
else
intp=(p[4]+p[7]+1)/2;
//OP4-90°:上下2画素の単純平均
intp=(p[4]+p[7]+1)/2;
//OP4-112.5°:
if(abs(p[0]-p[4])<thr && abs(p[7]-p[11])<thr)
intp=limit_min_max((p[0]+p[4]+p[7]+p[11]+2)/4,min1,max1);
else
intp=(p[4]+p[7]+1)/2;
//OP4-135°:
if(abs(p[3]-p[4])<thr && abs(p[7]-p[8])<thr)
intp=limit_min_max((p[3]+p[4]+p[7]+p[8]+2)/4,min1,max1);
else
intp=(p[4]+p[7]+1)/2;
//OP4-157.5°:
intp=limit_min_max((p[3]+p[8]+1)/2,min1,max1);
ここで、演算子型OP1,OP2については被補間画素(中心画素)の最近傍4画素で、また、演算子型OP3,OP4については被補間画素(中心画素)の最近傍2画素の画素値で最大値・最小値を制限しているが、これは補間値が突出することを防止するためのものである。ただし、最近傍画素の画素値の最大値・最小値を用いることに限定されず、他の制限値を使用することも可能である。
【0041】
また、OP1−22.5°、OP1−67.5゜、OP1−112.5°、OP1−157.5°、OP2−22.5°、OP2−67.5°、OP2−112.5°、OP2−157.5°、OP3−22.5°、OP3−45°、OP3−135°、OP3−157.5°、OP4−45°、OP4−67.5°、OP4−112.5°、OP4−135°における4値の加重平均にあたって使用する画素値の輪郭方向両側のペアについても差が上記最大値・最小値の差を超える場合は突出値によって補間値が乱れる危険が大として最近傍画素平均による補間に切り替える。これについても最近傍画素の画素値の最大値・最小値を用いることに限定されず、他の制限値を使用することも可能である。なお、演算子型OP0とOP5とは、既に中心画素の画素値が既知であるので、上記のような加重平均の計算で中央画素における未知の色要素の補間値を求めるプロセスは不要である。
【0042】
再び輪郭の有無の情報及び方向性の比較結果をもとにした判定プロセスの説明に戻る。図1の内挿・高域加算処理部16〜19は、R信号又はB信号の方向性がG信号の方向性と大きく矛盾しない場合の条件を満たすかどうかを判定し(図2BのステップS37、S48、S59、S66)、その判定結果に応じて、内挿処理と高域加算処理とを行う(図2BのステップS38〜S45、S49〜S56、S60〜S63、S67〜S70)。
【0043】
例えば、画素タイプR画素用の内挿・高域加算処理部16は、R信号又はB信号の方向性がG信号の方向性と大きく矛盾しない場合の条件を満たすと判断したときは(ステップS37のY)、G信号の方向性を優先的に採用し、まずG信号をG信号の方向性で内挿する(ステップS38)。ここで、上記のステップS37での条件は、R信号の輪郭が無く、かつ、G信号とB信号の輪郭が有り方向性が近い場合、又はB信号の輪郭が無く、かつ、G信号とR信号の輪郭が有り方向性が近い場合、又はR信号、G信号及びB信号の輪郭が有り、かつ、R信号とG信号の方向性及びB信号とG信号の方向性が近い場合、又はR信号とB信号の輪郭が無くG信号の輪郭が有る場合である。
【0044】
続いて、内挿・高域加算処理部16は、B−G信号を同じくG信号の方向性で内挿する(ステップS39)。なお、G信号については演算子型OP2を用い内挿し、B−G信号については近傍の画素のBの値から相当するGの結果を減じたものについて演算子型OP1を用いて内挿する。続いて、内挿・高域加算処理部16は、G信号の内挿結果に対してR信号の高域成分を加算する(ステップS40)。これについては後述する。同様に、内挿・高域加算処理部16は、B−G信号の内挿結果とG信号の内挿結果の和として得られたB信号に、G信号の高域成分を加算する(ステップS41)。
【0045】
一方、内挿・高域加算処理部16は、ステップS37の4つの判定条件のいずれも満たさないときには(ステップS37のN)、R信号又はB信号の方向性がG信号の方向性と大きく矛盾すると判断し、R画素の最近傍画素の画素値の平均値でG信号とB−G信号の内挿を行う(ステップS42、S43)。続いて、内挿・高域加算処理部16は、このG信号の内挿結果に対してR信号の高域成分を加算し(ステップS44)、B−G信号の内挿結果とG信号の内挿結果の和として得られたB信号に対して、G信号の高域成分を加算する(ステップS45)。そして、内挿・高域加算処理部16は、ステップS41又はS45の処理結果を、後述の偽色を無彩色化する処理のために無彩色化処理部20へ出力して無彩色化処理させる(図2BのステップS46)。
【0046】
また、画素タイプB画素用の内挿・高域加算処理部17は、R信号又はB信号の方向性がG信号の方向性と大きく矛盾しない場合の条件を満たすと判断したときは(ステップS48のY)、G信号の方向性を優先的に採用し、まずG信号をG信号の方向性で内挿する(ステップS49)。ここで、上記のステップS48での条件は、R信号の輪郭が無く、かつ、G信号とB信号の輪郭が有り方向性が近い場合、又はB信号の輪郭が無く、かつ、G信号とR信号の輪郭が有り方向性が近い場合、又はR信号、G信号及びB信号の輪郭が有り、かつ、R信号とG信号の方向性及びB信号とG信号の方向性が近い場合、又はR信号とB信号の輪郭が無くG信号の輪郭が有る場合である。
【0047】
続いて、内挿・高域加算処理部17は、R−G信号を同じくG信号の方向性で内挿する(ステップS50)。なお、G信号については演算子型OP2を用い内挿し、R−G信号については近傍の画素のRの値から相当するGの結果を減じたものについて演算子型OP1を用いて内挿する。続いて、内挿・高域加算処理部17は、G信号の内挿結果に対してB信号の高域成分を加算する(ステップS51)。これについては後述する。同様に、内挿・高域加算処理部17は、R−G信号の内挿結果とG信号の内挿結果の和として得られたR信号に、G信号の高域成分を加算する(ステップS52)。
【0048】
一方、内挿・高域加算処理部17は、ステップS48の4つの判定条件のいずれも満たさないときには(ステップS48のN)、R信号又はB信号の方向性がG信号の方向性と大きく矛盾すると判断し、B画素の最近傍画素の画素平均値でG信号とR−G信号の内挿を行う(ステップS53、S54)。続いて、内挿・高域加算処理部17は、このG信号の内挿結果に対してB信号の高域成分を加算し(ステップS55)、R−G信号の内挿結果とG信号の内挿結果の和として得られたR信号に対して、G信号の高域成分を加算する(ステップS56)。そして、内挿・高域加算処理部17は、ステップS52又はS56の処理結果を、後述の偽色を無彩色化する処理のために無彩色化処理部21へ出力して無彩色化処理させる(図2BのステップS57)。
【0049】
また、画素タイプG_a画素用の内挿・高域加算処理部18は、R信号又はB信号の方向性がG信号の方向性と大きく矛盾しない場合の条件を満たすと判断したときは(ステップS59のY)、G信号の方向性を優先的に採用し、R−G信号とB−G信号ともにG信号の方向性で内挿する(ステップS60)。ここで、上記のステップS59での条件は、R信号の輪郭が無く、かつ、G信号とB信号の輪郭が有り方向性が近い場合、又はB信号の輪郭が無く、かつ、G信号とR信号の輪郭が有り方向性が近い場合、又はR信号、G信号及びB信号の輪郭が有り、かつ、R信号とG信号の方向性及びB信号とG信号の方向性が近い場合、又はR信号とB信号の輪郭が無くG信号の輪郭が有る場合である。なお、内挿は、R−G信号については近傍の画素のRの値から相当するGの結果を減じたものについて演算子型OP3を用いて、B−G信号については近傍の画素のBの値から相当するGの結果を減じたものについて演算子型OP4を用いて計算する。
【0050】
続いて、内挿・高域加算処理部18は、R−G信号の内挿結果とG信号の内挿結果の和として得られたR信号に、G信号の高域成分を加算すると共に、B−G信号の内挿結果とG信号の内挿結果の和として得られたB信号に、G信号の高域成分を加算する(ステップS61)。これについては後述する。
【0051】
一方、内挿・高域加算処理部18は、ステップS59の4つの判定条件のいずれも満たさないときには(ステップS59のN)、R信号又はB信号の方向性がG信号の方向性と大きく矛盾すると判断し、R−G信号については中心画素であるG画素の左右のR画素の平均値で内挿を行い、B−G信号については中心画素であるG画素の上下のB画素の平均値で内挿を行う(ステップS62)。続いて、内挿・高域加算処理部18は、この内挿結果であるR信号、B信号に対してG信号の高域成分を加算する(ステップS63)。そして、内挿・高域加算処理部18は、ステップS61又はS63の処理結果を、後述の偽色を無彩色化する処理のために無彩色化処理部22へ出力して無彩色化処理させる(図2BのステップS64)。
【0052】
また、画素タイプG_b画素用の内挿・高域加算処理部19は、R信号又はB信号の方向性がG信号の方向性と大きく矛盾しない場合の条件を満たすと判断したときは(ステップS66のY)、G信号の方向性を優先的に採用し、R−G信号とB−G信号ともにG信号の方向性で内挿する(ステップS67)。ここで、上記のステップS66での条件は、R信号の輪郭が無く、かつ、G信号とB信号の輪郭が有り方向性が近い場合、又はB信号の輪郭が無く、かつ、G信号とR信号の輪郭が有り方向性が近い場合、又はR信号、G信号及びB信号の輪郭が有り、かつ、R信号とG信号の方向性及びB信号とG信号の方向性が近い場合、又はR信号とB信号の輪郭が無くG信号の輪郭が有る場合である。なお、内挿は、R−G信号については近傍の画素のRの値から相当するGの結果を減じたものについて演算子型OP4を用いて、B−G信号については近傍の画素のBの値から相当するGの結果を減じたものについて演算子型OP3を用いて計算する。
【0053】
続いて、内挿・高域加算処理部19は、R−G信号の内挿結果とG信号の内挿結果の和として得られたR信号に、G信号の高域成分を加算すると共に、B−G信号の内挿結果とG信号の内挿結果の和として得られたB信号に、G信号の高域成分を加算する(ステップS68)。これについては後述する。
【0054】
一方、内挿・高域加算処理部19は、ステップS66の4つの判定条件のいずれも満たさないときには(ステップS66のN)、R信号又はB信号の方向性がG信号の方向性と大きく矛盾すると判断し、R−G信号については中心画素であるG画素の上下のR画素の平均値で内挿を行い、B−G信号については中心画素であるG画素の左右のB画素の平均値で内挿を行う(ステップS69)。続いて、内挿・高域加算処理部19は、この内挿結果であるR信号、B信号に対してG信号の高域成分を加算する(ステップS70)。そして、内挿・高域加算処理部19は、ステップS68又はS70の処理結果を、後述の偽色を無彩色化する処理のために無彩色化処理部23へ出力して無彩色化処理させる(図2BのステップS71)。
【0055】
次に、ステップS40、S41、S44、S45、S51、S52、S55、S56、S61、S63、S68、S70の高域加算処理について説明する。
【0056】
未知色と既知色の輪郭方向性が一致している場合(相関がある場合)、それぞれの高域相関性が高いと判断し、既に求められた補間値(P[j][i]とする)に、下記のように高域成分を加算する。ここで、(1)式の分子の絶対値記号をはずした下記の(2)式を定義する。この(2)式の符号により、順相関か逆相関かの相関性を判定できる。
【0057】
【数2】
【0058】
(a)R画素,B画素の場合
R画素におけるR信号の評価、及びB画素におけるB信号の評価に用いる演算子型OP0と、R画素におけるG信号の評価、及びB画素におけるG信号の評価に用いる演算子型OP2についての(2)式の計算結果の符号がそれぞれ同一な場合は、輪郭が一致し、かつ、輪郭に垂直な方向についての画素値の増減が一致している順相関とし、符号が不一致な場合は逆相関とする。順相関の場合は、未知のG信号に既知の色要素のR/B画素のR/B信号の高域成分を加算する。逆相関の場合は、未知のG信号から既知の色要素のR/B画素のR/B信号の高域成分を減算する(R/B信号の逆位相の高域成分を加算する)(ステップS40、S44、S51、S55)。
【0059】
高域成分hpの導出にあたっては内挿の方向性に応じて、図14のOP0の微分演算子型群中の画素番号iの画素値をp[i]として以下のように計算する。
【0060】
0°:hp=(2*p[4] - p[3] - p[5]+1)/2;
22.5°:hp=(2*p[4] - p[2] - p[6]+1)/2;
45°:hp=(2*p[4] - p[2] - p[6]+1)/2;
67.5°:hp=(2*p[4] - p[2] - p[6]+1)/2;
90°:hp=(2*p[4] - p[1] - p[7]+1)/2;
112.5°:hp=(2*p[4] - p[0] - p[8]+1)/2;
135°:hp=(2*p[4] - p[0] - p[8]+1)/2;
157.5°:hp=(2*p[4] - p[0] - p[8]+1)/2;
以上のように得られたG信号についても同様な高域抽出を行い、B/R信号に加算する(ステップS41、S45、S52、S56)。
【0061】
(b)G_a画素,G_b画素の場合
G_a画素におけるR信号の評価、及びG_b画素におけるB信号の評価に用いる演算子型OP3と、G_a画素におけるB信号の評価、及びG_b画素におけるR信号の評価に用いる演算子型OP4と、G_a画素におけるG信号の評価、及びG_b画素におけるG信号の評価に用いる演算子型OP5についての(2)式の計算結果の符号がそれぞれ同一な場合は、輪郭が一致し、かつ、輪郭に垂直な方向についての画素値の増減が一致している順相関とし、符号が不一致な場合は逆相関とする。順相関の場合は、未知色のR/B信号に既知の色要素のG画素のG信号の高域成分を加算する。逆相関の場合は未知色のR/B信号から既知の色要素のG画素のG信号の高域成分を減算する(G信号の逆位相の高域成分を加算する)(ステップS61、S63、S68、S70)。
【0062】
高域成分hpの導出にあたっては内挿の方向性に応じて、図19のOP5の微分演算子型群中の画素番号iの画素値をp[i]として以下のように計算する。
【0063】
0°:hp=(2*p[10] - p[9] - p[11]+1)/2;
22.5°:hp=(2*p[10] - p[7] - p[13]+1)/2;
45°:hp=(2*p[10] - p[7] - p[13]+1)/2;
67.5°:hp=(2*p[10] - p[7] - p[13]+1)/2;
90°:hp=(2*p[10] - p[3] - p[17]+1)/2;
112.5°:hp=(2*p[10] - p[6] - p[14]+1)/2;
135°:hp=(2*p[10] - p[6] - p[14]+1)/2;
157.5°:hp=(2*p[10] - p[6] - p[14]+1)/2;
また、方向性に基づく補間が行われない場合は、補間を最近傍の線形補間で行うこととしているので、線形フィルタを使用して近傍画素の値から高域成分を取得する。
【0064】
次に、無彩色化処理部20〜23によるステップS46、S57、S64、S71での偽色の無彩色化処理について説明する。
【0065】
G信号中にはベイヤ配列の色フィルタにより水平・垂直方向の縞状の高域変動パターンが含まれ、これが偽色発生の原因になるので、無彩色化処理部20〜23はこの偽色を無彩色化する処理を行う。
【0066】
具体的には、無彩色化処理部20、21は、図20(A)、(B)に示すように、中心画素がR画素又はB画素であるときの演算子型OP2におけるG画素につき水平方向、垂直方向にそれぞれ3画素分又は4画素分の画素値の平均値を算出する。また、無彩色化処理部22、23は、図20(C)、(D)に示すように、中心画素がG_a画素又はG_b画素であるときの演算子型OP5におけるG画素につき水平方向、垂直方向にそれぞれ3画素分又は4画素分の画素値の平均値を算出する。そして、無彩色化処理部20〜23は、これらの平均値の変動が一定値を超える場合に、縞状の高域変動パターンであると判断して既に定まっているR画素、G画素、B画素の各画素値R,G,Bをもとに、次式
Y=0.715G+0.0772B+0.2126R (3)
により信号Yを生成し、これを新しいR画素、G画素、B画素の画素値とすることで無彩色化する。
【0067】
このようにして、無彩色化処理部20は、無彩色化処理して得たG信号及びB信号を出力する(図2BのステップS47)。また、無彩色化処理部21は、無彩色化処理して得たG信号及びR信号を出力する(図2BのステップS58)。また、無彩色化処理部22及び23は、それぞれ無彩色化処理して得たR信号及びB信号を出力する(図2BのステップS65、S72)。
【0068】
以上説明したように、本実施の形態によれば、ベイヤ配列の色フィルタを受光面上に設けた固体撮像素子から出力した撮像信号を4種類の画素タイプに分類し、分類したそれぞれの画素タイプの撮像信号におけるR画素、G画素、B画素とその周囲の近傍画素の各値に基づいてそれぞれの信号の輪郭の方向性を検出し、検出した方向性につき、R信号またはB信号の方向性がG信号の方向性と大きく矛盾しない場合には、G信号の方向性を優先的に採用し、更にR信号またはB信号の画素値補間にも利用することによって、R信号、G信号、B信号の相関性を生かしたジャギーが少なく滑らかで、かつ、偽色の少ない画素補間を行うことができる。
【0069】
また、本実施の形態によれば、輪郭の有無・方向性評価部12〜15によって検出された方向性に沿った画素値の加重平均を補間値とする際に、加重平均値を所定の複数の周辺画素の最大値と最小値により決定される値によって制限することにより補間値の突出を避けることができる。
【0070】
更に、本実施の形態によれば、(2)式の計算結果の符号がそれぞれ同一な場合は、輪郭が一致し、かつ、輪郭に垂直な方向についての画素値の増減が一致している順相関とし、符号が不一致な場合は逆相関とする。そして、方向性が示す方向に配置された中心画素と同一の色要素の画素領域内の複数の画素の値に基づいて算出した、中心画素と同一の色要素の原色信号の高周波数成分を、B画素、R画素の画素値に、順相関の場合は、これらの画素値を求める際に用いた加算し、逆相関の場合は減算し、画素補間に際して順相関・無相関・逆相関に配慮することで補間後の映像信号の広帯域化を実現することができる。
【0071】
なお、本発明は、ハードウェアのベイヤ画像補間処理を行う画像処理装置に限定されるものでなく、図1のブロック図の構成をコンピュータにより実行させるコンピュータプログラムも包含する。この場合のコンビュータプログラムである画像処理プログラムは、記録媒体からコンピュータに取り込まれてもよいし、ネットワーク経由でコンピュータに取り込まれてもよい。
【図面の簡単な説明】
【0072】
【図1】本発明の画像処理装置の一実施の形態のブロック図である。
【図2A】図1の動作説明用フローチャート(その1)である。
【図2B】図1の動作説明用フローチャート(その2)である。
【図3】本発明における画素タイプの分類を説明する図である。
【図4】R画素近傍のRGB画素配置を示す図である。
【図5】B画素近傍のRGB画素配置を示す図である。
【図6】G_a画素近傍のRGB画素配置を示す図である。
【図7】G_b画素近傍のRGB画素配置を示す図である。
【図8】演算子型OP0の画素配置を示す図である。
【図9】演算子型OP1の画素配置を示す図である。
【図10】演算子型OP2の画素配置を示す図である。
【図11】演算子型OP3の画素配置を示す図である。
【図12】演算子型OP4の画素配置を示す図である。
【図13】演算子型OP5の画素配置を示す図である。
【図14】演算子型OP0の画素配置を用いた微分演算子型群を示す図である。
【図15】演算子型OP1の画素配置を用いた微分演算子型群を示す図である。
【図16】演算子型OP2の画素配置を用いた微分演算子型群を示す図である。
【図17】演算子型OP3の画素配置を用いた微分演算子型群を示す図である。
【図18】演算子型OP4の画素配置を用いた微分演算子型群を示す図である。
【図19】演算子型OP5の画素配置を用いた微分演算子型群を示す図である。
【図20】偽色除去のための無彩色化すべき領域の検出法を説明するための図である。
【図21】ベイヤ配列の一例を示す図である。
【符号の説明】
【0073】
10 画像処理装置
11 中心画素タイプ分類部
12〜15 輪郭の有無・方向性評価部
16〜19 内挿・高域加算処理部
20〜23 無彩色化処理部
【技術分野】
【0001】
本発明は画像処理装置に係り、特にベイヤ配列の画像データに対して画素補間を行う画像処理装置に関する。
【背景技術】
【0002】
ベイヤ配列の色フィルタを受光面上に設けた固体撮像素子が知られている。このベイヤ配列の色フィルタは、図21に模式的に示すように、赤色光を透過させる1画素分の赤色フィルタ部Rと、緑色光を透過させる1画素分の緑色フィルタ部Gと、青色光を透過させる1画素分の青色フィルタ部Bとが配置された構成である。図21に示すベイヤ配列の色フィルタは、上記の色フィルタ部R,G,Bのうち、輝度信号の寄与する割合の高い緑色光を透過させる緑色フィルタ部Gを1画素ピッチおき毎に市松状に配置し、残りの箇所に赤色フィルタ部Rと青色フィルタ部Bとを1画素ピッチおき毎に市松状に配置した構成である。
【0003】
このように、ベイヤ配列の色フィルタは、同一の色要素の色フィルタ部が幾何学的に飛び飛びの画素位置に存在するため、ベイヤ配列の色フィルタを受光面上に設けた固体撮像素子から出力した撮像信号を処理する画像処理装置は、全画素について三原色の色要素の揃った信号にするために、この飛び飛びの画素位置に存在する色を補間する補間処理を行う。
【0004】
ここで、上記の画像処理装置が、上記の補間処理を単純な近傍画素の平均を計算することによって行うと、エッジ部分のジャギーや偽色(原画像に存在しない色彩)が発生することが広く知られている。そのため、従来から、これらのジャギーや偽色を軽減するための各種の画像処理装置が提案されている。その提案の多くは、色の連続性や相関性をもとに補間の条件を制御するような処理を行っている。
【0005】
例えば、斜め方向の相関性にポイントをおいた技術が従来、提案されている(例えば、特許文献1、特許文献2参照)。特許文献1には,画素値の複数の方向の勾配を算出し、それをもとに各方向の重みを変えて補間を行う画像処理装置が開示されている。また、特許文献2には、処理対象の画素の上下左右の画素の各値との相関性をもとに補間係数を決定して補間を行う画像処理装置が開示されている。
【0006】
また、偽色の問題のうちで、赤色信号R,青色信号Bの狭帯域を原因とするものに対する対策処理を行う従来の画像処理装置が知られている(例えば、特許文献3参照)。この特許文献3記載の画像処理装置では、高域におけるRGB相関性を利用して、緑色信号Gの高域を赤色信号R,青色信号Bにそれぞれ加算することにより広帯域化して、偽色を軽減している。
【0007】
【特許文献1】特開平10−164602号公報
【特許文献2】特開平11−177994号公報
【特許文献3】特開2000−50290号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかし、これらの先行技術においては、RGBの各原色の相関性が一般に高いなどといった経験則や一般的性質などを利用していないため、RGBの各原色のそれぞれが独立に相関性推定と補間係数が決定され、エッジ部のジャギーや偽色の抑圧が不十分であることがある。
【0009】
また、特許文献3における高域におけるRGB相関性は常に成立するものではなく、無相関の場合も逆相関の場合もあり、それらの場合は単純な加算処理は画質に悪影善を及ぼす。
【0010】
本発明は以上の点に鑑みなされたもので、ジャギーが少なく滑らかでかつ偽色の少ない画素補間を行うことができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記の目的を達成するため、第1の発明は、ベイヤ配列の色フィルタを受光面上に設けた固体撮像素子から出力された撮像信号を構成する色要素が三原色のうちいずれか一の原色である既知の各画素において、その既知の色要素以外の他の二つの色要素の原色信号を周辺の画素の値に基づいて補間する画像処理を行う画像処理装置であって、
入力された撮像信号の画素が、その画素の色要素とその画素を中心画素としたときの周辺の画素の色要素との関係に基づいて、複数の種類の画素タイプのいずれであるかを分類する画素タイプ分類手段と、画素タイプ分類手段により分類された各画素タイプ毎に、入力された撮像信号の画素と、その画素を中心とする複数の周辺の画素とからなる予め設定された画素領域内で、その画素領域内の各画素の値を用いて所定の演算式により演算して、三原色全ての原色信号について輪郭成分の最も大きな方向性を検出する検出手段と、画素タイプ分類手段により分類された各画素タイプのそれぞれについて、検出手段により検出した方向性が示す方向のうち、基準とする所定の一の原色信号の方向性が示す方向と残りの二つの原色信号の方向性が示す方向との間の角度が予め設定した角度範囲以内にあるか否かをそれぞれ判定する判定手段と、判定手段により角度が角度範囲以内にあると判定したときは、判定された方向性が示す方向に配置された中心画素におけるその中心画素とは異なる二つの色要素の複数の画素の値に基づいて、二つの色要素の補間値を算出し、この算出した二つの色要素の補間値を中心画素における二つの色要素の画素値として内挿する内挿手段と、を有することを特徴とする。
【0012】
また、上記の目的を達成するため、第2の発明は、第1の発明の構成に加えて、角度が前記角度範囲以内にあると判定した前記方向性が示す方向に配置された前記中心画素と同一の色要素の前記画素領域内の複数の画素の値に基づいて算出した、該中心画素と同一の色要素の原色信号の高周波数成分を、前記二つの色要素の画素値に、これらの画素値を求める際に用いた前記所定の演算式の演算結果に付される正負いずれかの符号に応じて加減算する加減算手段を有する。
【0013】
更に、上記の目的を達成するため、第3の発明は、上記発明の内挿手段を、判定手段により角度が角度範囲以内にあると判定した方向性が示す方向に配置された中心画素におけるその中心画素とは異なる二つの色要素の複数の画素の値を、二つの色要素毎に加重平均し、更にその加重平均値を中心画素の周辺のその色要素の複数の画素の最大値と最小値により決定される値によって制限された補間値とする手段であることを特徴とする。本発明は、広義の連続性や相関性を利用したものであり、斜め方向の補間に重点を置いた画素値のエッジ方向性を利用している。
【発明の効果】
【0014】
本発明によれば、三原色の画素の相関性を生かしたジャギーが少なく滑らかでかつ偽色の少ない画素補間を行うことができる。また、本発明によれば、画素補間に際して順相関・無相関・逆相関に配慮することで補間後の映像信号の広帯域化を実現することができる。
【発明を実施するための最良の形態】
【0015】
次に、本発明の一実施の形態について図面と共に詳細に説明する。
図1は、本発明になる画像処理装置の一実施の形態のブロック図を示す。この実施の形態の画像処理装置10は、ベイヤ配列の色フィルタを受光面上に設けた固体撮像素子から出力した撮像信号を処理する画像処理装置であって、固体撮像素子から出力されたベイヤ配列の撮像信号を入力として受ける中心画素タイプ分類部11と、中心画素タイプ分類部11により分類されて振り分け出力された撮像信号による表示映像に輪郭が含まれているか否かの輪郭の有無と、その輪郭の表示映像における方向を示す方向性とを互いに独立してそれぞれ評価する輪郭の有無・方向性評価部12、13、14、15と、輪郭の有無・方向性評価部12、13、14、15の出力信号に対して内挿・高域加算処理をそれぞれ別々に行う内挿・高域加算処理部16、17、18、19と、内挿・高域加算処理部16、17、18、19の各出力信号に対して無彩色化処理を行う無彩色化処理部20、21、22、23とより構成される。
【0016】
中心画素タイプ分類部11は、固体撮像素子から入力されたベイヤ配列の撮像信号の色フィルタ部の位置にある既知の中心画素が後述する4種類の画素タイプのうちどの画素タイプであるかを判別して分類し、分類した画素タイプに応じてその中心画素を振り分け出力する。
【0017】
輪郭の有無・方向性評価部12、13、14、15は、入力された画像信号の輪郭の有無を評価し、更にその輪郭の有無の評価結果に基づいて輪郭の方向性を評価する。
内挿・高域加算処理部16、17、18、19は、輪郭の有無・方向性評価部12、13、14、15に1対1に対応して設けられており、輪郭の有無・方向性評価部12、13、14、15から出力された輪郭の方向性の評価結果に基づいて、所定の2つの色要素の画素の内挿と高域加算の補間処理を行う。
【0018】
無彩色化処理部20、21、22、23は、内挿・高域加算処理部16、17、18、19に1対1に対応して設けられており、内挿・高域加算処理部16、17、18、19から出力された処理結果に対して、後述する条件を満足するときに無彩色化処理を行って、それぞれ所定の2つの色要素の画素の補間処理信号を出力する。
【0019】
次に、本実施の形態の動作について、図2A及び図2Bのフローチャートと図3乃至図20と共に詳細に説明する。中心画素タイプ分類部11は、ベイヤ配列の色フィルタを受光面上に設けた固体撮像素子から出力した撮像信号を入力として受ける(図2AのステップS1)。この入力撮像信号の各画素信号は、図21に示したベイヤ配列に基づいて、赤色信号R、緑色信号G、及び青色信号Bのどれかである。また、入力撮像信号の縦方向3画素、横方向3画素の中心画素の色要素がR、B、Gのどれであるかによって、図3(A)〜(D)に示す4種類に分類することができる。ここで、中心画素は、ベイヤ配列の色フィルタの色フィルタ部に対応した既知の画素である。
【0020】
図3(A)は、図21に示した色フィルタ部Rの位置にある中心画素が三原色のうちの色要素Rの画素(以下、R画素ともいう)の場合であり、上下左右の画素が三原色のうちの色要素Gの画素(以下、G画素ともいう)であり、左右の斜め方向の画素が三原色のうちの色要素Bの画素(以下、B画素ともいう)である。また、図3(B)は、図21に示した色フィルタ部Bの位置にある中心画素がB画素の場合であり、上下左右の画素がG画素であり、左右の斜め方向の画素がR画素である。
【0021】
図21に示した色フィルタ部Gの位置にある既知の中心画素がG画素の場合は、上下左右の画素に応じて、図3(C)、(D)に示す2種類ある。図3(C)、(D)に示す画素配列は、いずれも中心画素がG画素で、左右の斜め方向の画素もG画素である点で共通するが、図3(C)の画素配列は、上下の画素がB画素、左右の画素がR画素であるのに対し、図3(D)の画素配列は、上下の画素がR画素、左右の画素がB画素である点で相違する。ここでは、図3(C)の画素配列における中心画素をG_a画素、図3(D)の画素配列における中心画素をG_b画素と呼んで区別するものとする。
【0022】
中心画素タイプ分類部11は、入力されたベイヤ配列の撮像信号の画素が、図3(A)〜(D)に示した4種類のどのタイプであるかを判別し、判別した入力画素がR画素の場合は、輪郭の有無・方向性評価部12に入力画素信号を供給する。同様に、中心画素タイプ分類部11は、判別した入力画素がB画素の場合は、輪郭の有無・方向性評価部13に、判別した入力画素がG_a画素の場合は、輪郭の有無・方向性評価部14に、判別した入力画素がG_b画素の場合は、輪郭の有無・方向性評価部15に、それぞれ入力画素信号を供給する(以上、図2AのステップS2)。
【0023】
輪郭の有無・方向性評価部12は、入力されたR画素を中心とする縦方向7画素、横方向7画素の図4(A)〜(C)に示す画素範囲を評価領域とし、その評価領域の図4(A)に太丸で示すR画素の画素信号についての輪郭の有無の評価(図2AのステップS3)と、図4(B)に太丸で示すB画素の画素信号についての輪郭の有無の評価(図2AのステップS4)と、図4(C)に太丸で示すG画素の画素信号についての輪郭の有無の評価(図2AのステップS5)とを行う。続いて、輪郭の有無・方向性評価部12は、ステップS3〜S5において輪郭が存在すると評価した場合に、その存在する輪郭の方向性の評価を行う(図2AのステップS15〜S17)。
【0024】
同様に、輪郭の有無・方向性評価部13は、入力されたB画素を中心とする縦方向7画素、横方向7画素の図5(A)〜(C)に示す画素範囲を評価領域とし、その評価領域の図5(A)、(B)、(C)に太丸で示すR画素、B画素、G画素の画素信号についての輪郭の有無の評価を行う(図2AのステップS6〜S8)。続いて、輪郭の有無・方向性評価部13は、ステップS6〜S8において輪郭が存在すると評価した場合に、その存在する輪郭の方向性の評価を行う(図2AのステップS18〜S20)。
【0025】
また、輪郭の有無・方向性評価部14は、入力されたG_a画素を中心とする縦方向7画素、横方向7画素程度の図6(A)〜(C)に示す画素範囲を評価領域とし、その評価領域の図6(A)、(B)、(C)に太丸で示すR画素、B画素、G画素の画素信号についての輪郭の有無の評価を行う(図2AのステップS9〜S11)。続いて、輪郭の有無・方向性評価部15は、ステップS9〜S11において輪郭が存在すると評価した場合に、その存在する輪郭の方向性の評価を行う(図2AのステップS21〜S23)。
【0026】
同様に、輪郭の有無・方向性評価部15も、入力されたG_b画素を中心とする縦方向7画素、横方向7画素程度の図7(A)〜(C)に示す画素範囲を評価領域とし、その評価領域の図7(A)、(B)、(C)に太丸で示すR画素、B画素、G画素の画素信号についての輪郭の有無の評価を行う(図2AのステップS12〜S14)。続いて、輪郭の有無・方向性評価部15は、ステップS12〜S14において輪郭が存在すると評価した場合に、その存在する輪郭の方向性の評価を行う(図2AのステップS24〜S26)。
【0027】
事実上、輪郭の有無・方向性評価部12〜15による輪郭の有無の評価と方向性の評価とは同時に行われる。また、輪郭の有無の評価と方向性の評価は、図4〜図7に示した太丸で示された画素について行われるが、各画素タイプと評価をしようとしている色要素によって画素配置が異なるため、その評価のために複数の演算子型を用意しなければならない。
【0028】
具体的には、R画素におけるR信号の評価においては、図8に示す3行3列の演算子型OP0を用い、R画素におけるB信号の評価においては、図9に示す4行4列の演算子型OP1を用い、R画素におけるG信号の評価においては、図10に示す演算子型OP2を用いる。また、B画素におけるR信号の評価においては、図9に示す演算子型OP1を用い、B画素におけるB信号の評価においては図8に示す清算子型OP0を用い、B画素におけるG信号の評価においては図10に示す演算子型OP2を用いる。
【0029】
また、G_a画素におけるR信号の評価においては図11に示す3行4列の演算子型OP3を用い、G_a画素におけるB信号の詳価においては図12に示す4行3列の演算子型0P4を用い、G_a画素におけるG信号の評価においては図13に示す演算子型OP5を用いる。更に、G_b画素におけるR信号の評価においては図12に示す演算子型OP4を用い、G_b画素におけるB信号の評価においては図11に示す演算子型OP3を用い、G_b画素におけるG信号の評価においては図13に示す演算子型OP5を用いる。
【0030】
そして、上記の演算子型OP0〜OP5のそれぞれについて0°,22.5°,45°,67.5°,90°,112.5°,135°,157.5°の8方向のエッジ方向性を評価する微分演算子を構築する。図14〜図19は、演算子型OP0〜OP5についての8方向の微分演算子群を示す。また、図14〜図19において、丸は微分演算子としての画素を示し、また、各画素の右肩の数字は画素番号を示す。また、図14〜図19における各図(A)、(B)、(C)、(D)、(E)、(F)、(G)、(H)に示す直線は、それぞれ0°,22.5°,45°,67.5°,90°,112.5°,135°,157.5°の方向性を示す。
【0031】
ここで、図14〜図19における画素番号iの画素値をX[i]とし、演算子の係数c[i]を白丸の画素についてc[i]=1、黒丸の画素についてc[i]=−1、斜線の画素についてc[i]=0とし、演算子の全画素数をNo、白丸の画素の数をNw、黒丸の画素の数をNbとして、その演算子における相関性を(1)式により正規化した形で評価することにする。
【0032】
【数1】
【0033】
方向性評価では、(1)式の演算式による計算を上記の8つの角度のそれぞれについて行い、その中の最大値を示す角度をもってその角度の方向性を有するものと評価する。(1)式の値は、同一オペレータを使用する条件では、ある方向性における相対的な画素値の傾斜を表している。
【0034】
なお、(1)式の計算結果がどの角度においても所定の閾値を超えない場合は“輪郭なし”と判定する。以上で上記のステップS15〜S17、S18〜S20、S21〜S23、S24〜S26の処理が終了する。
【0035】
続いて、輪郭の有無・方向性評価部12〜15は、同一画素タイプ内での色による2つの方向性を比較して、近いかどうかを判定する(図2AのステップS27〜S28、S29〜S30、S31〜S32、S34〜S35)。ここでは、「方向性が近い」とは、比較する2つの方向性が同一の場合か、又は±22.5°以内の場合をいうものとする。
【0036】
すなわち、画素タイプR画素用の輪郭の有無・方向性評価部12は、R信号の方向性とG信号の方向性とが近いか否かの判定(ステップS27)と、B信号の方向性とG信号の方向性とが近いか否かの判定(ステップS28)とを行う。また、画素タイプB画素用の輪郭の有無・方向性評価部13は、R信号の方向性とG信号の方向性とが近いか否かの判定(ステップS29)と、B信号の方向性とG信号の方向性とが近いか否かの判定(ステップS30)とを行う。また、画素タイプG_a画素用の輪郭の有無・方向性評価部14は、R信号の方向性とG信号の方向性とが近いか否かの判定(ステップS31)と、B信号の方向性とG信号の方向性とが近いか否かの判定(ステップS32)とを行う。また、画素タイプG_b画素用の輪郭の有無・方向性評価部15は、R信号の方向性とG信号の方向性とが近いか否かの判定(ステップS34)と、B信号の方向性とG信号の方向性とが近いか否かの判定(ステップS35)とを行う。
【0037】
以上のような輪郭の有無の情報及び方向性の比較判定結果をもとに、以降のプロセスでの判断が行われる。ここで、以下“XをYの方向性で内挿”という場合には、YについてYに適合した演算子を使って算出した上記の方向性を、XについてXに適合した演算子型の下記のC言語的表記された演算を行った結果を補間値とするということを意味するものにする。
【0038】
ここで、前記の演算子型OP1〜OP4のそれぞれについて、前記の8つの方向性における中心画素の未知の色要素の補間値は、以下のように、方向性に沿った画素の値を加重平均し、更にその加重平均値を中心画素の複数の周辺画素の最大値と最小値とにより決定される値によって制限された制限値で表される。
【0039】
なお、以下の説明において、p[i]は画素番号iを示しており、これは図14〜図19におけるものと同じである。また、max(,,,)は括弧内の最大値、min(,,,)は括弧内の最小値を示す。また、limit_min_max(X,min1,max1)は、Xをmin1を下限、max1を上限として制限することを意味するものとする。更に、補間値は「intp」とする。
【0040】
(1)OP1について
max1=max(p[5],p[6],p[9],p[10]);min1=min(p[5],p[6],p[9],p[10]);thr=max1-min1;
//OP1-0°:最近傍4画素の単純平均
intp=(p[5]+p[6]+p[9]+p[10]+2)/4;
//OP1-22.5°:
if(abs(p[6]-p[7])<thr && abs(p[8]-p[9])<thr)
intp=limit_min_max((p[6]+p[7]+p[8]+p[9]+2)/4,min1,max1);
else
intp=(p[6]+p[9]+1)/2;
//OP1-45°:斜め2画素の単純平均
intp=(p[6]+p[9]+1)/2;
//OP1-67.5°:
if(abs(p[2]-p[6])<thr && abs(p[9]-p[13])<thr)
intp=limit_min_max((p[2]+p[6]+p[9]+p[13]+2)/4,min1,max1);
else
intp=(p[6]+p[9]+1)/2;
//OP1-90°:最近傍4画素の単純平均
intp=(p[5]+p[6]+p[9]+p[10]+2)/4;
//OP1-112.5°:
if(abs(p[1]-p[5])<thr && abs(p[10]-p[14])<thr)
intp=limit_min_max((p[1]+p[5]+p[10]+p[14]+2)/4,min1,max1);
else
intp=(p[5]+p[10]+1)/2;
//OP1-135°:斜め2画素の単純平均
intp=(p[5]+p[10]+1)/2;
//OP1-157.5°:
if(abs(p[4]-p[5])<thr && abs(p[10]-p[11])<thr)
intp=limit_min_max((p[4]+ p[5]+ p[10]+ p[11]+2)/4,min1,max1);
else
intp=(p[5]+p[10]+1)/2;
(2)OP2について
max1=max(p[8],p[11],p[12],p[15]);min1=min(p[8],p[11],p[12],p[15]);
thr=max1-min1;
//OP2-0°:左右2画素の単純平均
intp=(p[11]+p[12]+1)/2;
//OP2-22.5°:
if(abs(p[9]-p[12])<thr && abs(p[11]-p[14])<thr)
intp=limit_min_max((p[9]+ p[11]+ p[12]+ p[14]+2)/4,min1,max1);
else
intp=(p[11]+p[12]+1)/2;
//OP2-45°:最近傍4画素の単純平均
intp=(p[8]+p[11]+p[12]+p[15]+2)/4;
//OP2-67.5°:
if(abs(p[5]-p[8])<thr && abs(p[15]-p[18])<thr)
intp=limit_min_max((p[5]+ p[8]+ p[15]+ p[18]+2)/4,min1,max1);
else
intp=(p[8]+p[15]+1)/2;
//OP2-90°:上下2画素の単純平均
intp=(p[8]+p[15]+1)/2;
//OP2-112.5°:
if(abs(p[4]-p[8])<thr && abs(p[15]-p[19])<thr)
intp=limit_min_max((p[4]+p[8]+p[15]+p[19]+2)/4,min1,max1);
else
intp=(p[8]+p[15]+1)/2;
//OP2-135°:最近傍4画素の単純平均
intp=(p[8]+p[11]+p[12]+p[15] +2)/4;
//OP2-157.5°:
if(abs(p[7]-p[11])<thr && abs(p[12]-p[16])<thr)
intp=limit_min_max((p[7]+p[11]+p[12]+p[16]+2)/4,min1,max1);
else
intp=(p[11]+p[12]+1)/2;
(3)OP3について
max1=max(p[5],p[6]);min1=min(p[5],p[6]);thr=max1-min1;
//OP3-0°:左右2画素の単純平均
intp=(p[5]+p[6]+1)/2;
//OP3-22.5°:
if(abs(p[3]-p[6])<thr && abs(p[5]-p[8])<thr)
intp=limit_min_max((p[3]+p[6]+p[5]+p[8]+2)/4,min1,max1);
else
intp=(p[5]+p[6]+1)/2;
//OP3-45°:最近傍4画素の単純平均
if(abs(p[2]-p[6])<thr && abs(p[5]-p[9])<thr)
intp=limit_min_max((p[2]+p[6]+p[5]+p[9]+2)/4,min1,max1);
else
intp=(p[5]+p[6]+1)/2;
//OP3-67.5°:
intp=limit_min_max((p[2]+p[9]+1)/2,min1,max1);
//OP3-90°:左右2画素の単純平均
intp=(p[5]+p[6]+1)/2;
//OP3-112.5°:
intp=limit_min_max((p[1]+p[10]+1)/2,min1,max1);
//OP3-135°:最近傍4画素の単純平均
if(abs(p[1]-p[5])<thr && abs(p[6]-p[10])<thr)
intp=limit_min_max((p[1]+p[5]+p[6]+ p[10]+2)/4,min1,max1);
else
intp=(p[5]+p[6]+1)/2;
//OP3-157.5°:
if(abs(p[0]-p[5])<thr && abs(p[6]-p[11])<thr)
intp=limit_min_max((p[0]+p[5]+p[6]+p[11]+2)/4,min1,max1);
else
intp=(p[5]+p[6]+1)/2;
(4)OP4について
max1=max(p[4],p[7]);min1=min(p[4],p[7]);thr=max1-min1;
//OP4-0°:上下2画素の単純平均
intp= (p[4]+p[7]+1)/2;
//OP4-22.5°:
intp=limit_min_max((p[5]+p[6]+1)/2,min1,max1);
//OP4-45°:
if(abs(p[4]-p[5])<thr && abs(p[6]-p[7])<thr)
intp=limit_min_max((p[4]+p[5]+p[6]+p[7]+2)/4,min1,max1);
else
intp=(p[4]+p[7]+1)/2;
//OP4-67.5°:
if(abs(p[2]-p[4])<thr && abs(p[7]-p[9])<thr)
intp=limit_min_max((p[2]+p[4]+p[7]+p[9]+2)/4,min1,max1);
else
intp=(p[4]+p[7]+1)/2;
//OP4-90°:上下2画素の単純平均
intp=(p[4]+p[7]+1)/2;
//OP4-112.5°:
if(abs(p[0]-p[4])<thr && abs(p[7]-p[11])<thr)
intp=limit_min_max((p[0]+p[4]+p[7]+p[11]+2)/4,min1,max1);
else
intp=(p[4]+p[7]+1)/2;
//OP4-135°:
if(abs(p[3]-p[4])<thr && abs(p[7]-p[8])<thr)
intp=limit_min_max((p[3]+p[4]+p[7]+p[8]+2)/4,min1,max1);
else
intp=(p[4]+p[7]+1)/2;
//OP4-157.5°:
intp=limit_min_max((p[3]+p[8]+1)/2,min1,max1);
ここで、演算子型OP1,OP2については被補間画素(中心画素)の最近傍4画素で、また、演算子型OP3,OP4については被補間画素(中心画素)の最近傍2画素の画素値で最大値・最小値を制限しているが、これは補間値が突出することを防止するためのものである。ただし、最近傍画素の画素値の最大値・最小値を用いることに限定されず、他の制限値を使用することも可能である。
【0041】
また、OP1−22.5°、OP1−67.5゜、OP1−112.5°、OP1−157.5°、OP2−22.5°、OP2−67.5°、OP2−112.5°、OP2−157.5°、OP3−22.5°、OP3−45°、OP3−135°、OP3−157.5°、OP4−45°、OP4−67.5°、OP4−112.5°、OP4−135°における4値の加重平均にあたって使用する画素値の輪郭方向両側のペアについても差が上記最大値・最小値の差を超える場合は突出値によって補間値が乱れる危険が大として最近傍画素平均による補間に切り替える。これについても最近傍画素の画素値の最大値・最小値を用いることに限定されず、他の制限値を使用することも可能である。なお、演算子型OP0とOP5とは、既に中心画素の画素値が既知であるので、上記のような加重平均の計算で中央画素における未知の色要素の補間値を求めるプロセスは不要である。
【0042】
再び輪郭の有無の情報及び方向性の比較結果をもとにした判定プロセスの説明に戻る。図1の内挿・高域加算処理部16〜19は、R信号又はB信号の方向性がG信号の方向性と大きく矛盾しない場合の条件を満たすかどうかを判定し(図2BのステップS37、S48、S59、S66)、その判定結果に応じて、内挿処理と高域加算処理とを行う(図2BのステップS38〜S45、S49〜S56、S60〜S63、S67〜S70)。
【0043】
例えば、画素タイプR画素用の内挿・高域加算処理部16は、R信号又はB信号の方向性がG信号の方向性と大きく矛盾しない場合の条件を満たすと判断したときは(ステップS37のY)、G信号の方向性を優先的に採用し、まずG信号をG信号の方向性で内挿する(ステップS38)。ここで、上記のステップS37での条件は、R信号の輪郭が無く、かつ、G信号とB信号の輪郭が有り方向性が近い場合、又はB信号の輪郭が無く、かつ、G信号とR信号の輪郭が有り方向性が近い場合、又はR信号、G信号及びB信号の輪郭が有り、かつ、R信号とG信号の方向性及びB信号とG信号の方向性が近い場合、又はR信号とB信号の輪郭が無くG信号の輪郭が有る場合である。
【0044】
続いて、内挿・高域加算処理部16は、B−G信号を同じくG信号の方向性で内挿する(ステップS39)。なお、G信号については演算子型OP2を用い内挿し、B−G信号については近傍の画素のBの値から相当するGの結果を減じたものについて演算子型OP1を用いて内挿する。続いて、内挿・高域加算処理部16は、G信号の内挿結果に対してR信号の高域成分を加算する(ステップS40)。これについては後述する。同様に、内挿・高域加算処理部16は、B−G信号の内挿結果とG信号の内挿結果の和として得られたB信号に、G信号の高域成分を加算する(ステップS41)。
【0045】
一方、内挿・高域加算処理部16は、ステップS37の4つの判定条件のいずれも満たさないときには(ステップS37のN)、R信号又はB信号の方向性がG信号の方向性と大きく矛盾すると判断し、R画素の最近傍画素の画素値の平均値でG信号とB−G信号の内挿を行う(ステップS42、S43)。続いて、内挿・高域加算処理部16は、このG信号の内挿結果に対してR信号の高域成分を加算し(ステップS44)、B−G信号の内挿結果とG信号の内挿結果の和として得られたB信号に対して、G信号の高域成分を加算する(ステップS45)。そして、内挿・高域加算処理部16は、ステップS41又はS45の処理結果を、後述の偽色を無彩色化する処理のために無彩色化処理部20へ出力して無彩色化処理させる(図2BのステップS46)。
【0046】
また、画素タイプB画素用の内挿・高域加算処理部17は、R信号又はB信号の方向性がG信号の方向性と大きく矛盾しない場合の条件を満たすと判断したときは(ステップS48のY)、G信号の方向性を優先的に採用し、まずG信号をG信号の方向性で内挿する(ステップS49)。ここで、上記のステップS48での条件は、R信号の輪郭が無く、かつ、G信号とB信号の輪郭が有り方向性が近い場合、又はB信号の輪郭が無く、かつ、G信号とR信号の輪郭が有り方向性が近い場合、又はR信号、G信号及びB信号の輪郭が有り、かつ、R信号とG信号の方向性及びB信号とG信号の方向性が近い場合、又はR信号とB信号の輪郭が無くG信号の輪郭が有る場合である。
【0047】
続いて、内挿・高域加算処理部17は、R−G信号を同じくG信号の方向性で内挿する(ステップS50)。なお、G信号については演算子型OP2を用い内挿し、R−G信号については近傍の画素のRの値から相当するGの結果を減じたものについて演算子型OP1を用いて内挿する。続いて、内挿・高域加算処理部17は、G信号の内挿結果に対してB信号の高域成分を加算する(ステップS51)。これについては後述する。同様に、内挿・高域加算処理部17は、R−G信号の内挿結果とG信号の内挿結果の和として得られたR信号に、G信号の高域成分を加算する(ステップS52)。
【0048】
一方、内挿・高域加算処理部17は、ステップS48の4つの判定条件のいずれも満たさないときには(ステップS48のN)、R信号又はB信号の方向性がG信号の方向性と大きく矛盾すると判断し、B画素の最近傍画素の画素平均値でG信号とR−G信号の内挿を行う(ステップS53、S54)。続いて、内挿・高域加算処理部17は、このG信号の内挿結果に対してB信号の高域成分を加算し(ステップS55)、R−G信号の内挿結果とG信号の内挿結果の和として得られたR信号に対して、G信号の高域成分を加算する(ステップS56)。そして、内挿・高域加算処理部17は、ステップS52又はS56の処理結果を、後述の偽色を無彩色化する処理のために無彩色化処理部21へ出力して無彩色化処理させる(図2BのステップS57)。
【0049】
また、画素タイプG_a画素用の内挿・高域加算処理部18は、R信号又はB信号の方向性がG信号の方向性と大きく矛盾しない場合の条件を満たすと判断したときは(ステップS59のY)、G信号の方向性を優先的に採用し、R−G信号とB−G信号ともにG信号の方向性で内挿する(ステップS60)。ここで、上記のステップS59での条件は、R信号の輪郭が無く、かつ、G信号とB信号の輪郭が有り方向性が近い場合、又はB信号の輪郭が無く、かつ、G信号とR信号の輪郭が有り方向性が近い場合、又はR信号、G信号及びB信号の輪郭が有り、かつ、R信号とG信号の方向性及びB信号とG信号の方向性が近い場合、又はR信号とB信号の輪郭が無くG信号の輪郭が有る場合である。なお、内挿は、R−G信号については近傍の画素のRの値から相当するGの結果を減じたものについて演算子型OP3を用いて、B−G信号については近傍の画素のBの値から相当するGの結果を減じたものについて演算子型OP4を用いて計算する。
【0050】
続いて、内挿・高域加算処理部18は、R−G信号の内挿結果とG信号の内挿結果の和として得られたR信号に、G信号の高域成分を加算すると共に、B−G信号の内挿結果とG信号の内挿結果の和として得られたB信号に、G信号の高域成分を加算する(ステップS61)。これについては後述する。
【0051】
一方、内挿・高域加算処理部18は、ステップS59の4つの判定条件のいずれも満たさないときには(ステップS59のN)、R信号又はB信号の方向性がG信号の方向性と大きく矛盾すると判断し、R−G信号については中心画素であるG画素の左右のR画素の平均値で内挿を行い、B−G信号については中心画素であるG画素の上下のB画素の平均値で内挿を行う(ステップS62)。続いて、内挿・高域加算処理部18は、この内挿結果であるR信号、B信号に対してG信号の高域成分を加算する(ステップS63)。そして、内挿・高域加算処理部18は、ステップS61又はS63の処理結果を、後述の偽色を無彩色化する処理のために無彩色化処理部22へ出力して無彩色化処理させる(図2BのステップS64)。
【0052】
また、画素タイプG_b画素用の内挿・高域加算処理部19は、R信号又はB信号の方向性がG信号の方向性と大きく矛盾しない場合の条件を満たすと判断したときは(ステップS66のY)、G信号の方向性を優先的に採用し、R−G信号とB−G信号ともにG信号の方向性で内挿する(ステップS67)。ここで、上記のステップS66での条件は、R信号の輪郭が無く、かつ、G信号とB信号の輪郭が有り方向性が近い場合、又はB信号の輪郭が無く、かつ、G信号とR信号の輪郭が有り方向性が近い場合、又はR信号、G信号及びB信号の輪郭が有り、かつ、R信号とG信号の方向性及びB信号とG信号の方向性が近い場合、又はR信号とB信号の輪郭が無くG信号の輪郭が有る場合である。なお、内挿は、R−G信号については近傍の画素のRの値から相当するGの結果を減じたものについて演算子型OP4を用いて、B−G信号については近傍の画素のBの値から相当するGの結果を減じたものについて演算子型OP3を用いて計算する。
【0053】
続いて、内挿・高域加算処理部19は、R−G信号の内挿結果とG信号の内挿結果の和として得られたR信号に、G信号の高域成分を加算すると共に、B−G信号の内挿結果とG信号の内挿結果の和として得られたB信号に、G信号の高域成分を加算する(ステップS68)。これについては後述する。
【0054】
一方、内挿・高域加算処理部19は、ステップS66の4つの判定条件のいずれも満たさないときには(ステップS66のN)、R信号又はB信号の方向性がG信号の方向性と大きく矛盾すると判断し、R−G信号については中心画素であるG画素の上下のR画素の平均値で内挿を行い、B−G信号については中心画素であるG画素の左右のB画素の平均値で内挿を行う(ステップS69)。続いて、内挿・高域加算処理部19は、この内挿結果であるR信号、B信号に対してG信号の高域成分を加算する(ステップS70)。そして、内挿・高域加算処理部19は、ステップS68又はS70の処理結果を、後述の偽色を無彩色化する処理のために無彩色化処理部23へ出力して無彩色化処理させる(図2BのステップS71)。
【0055】
次に、ステップS40、S41、S44、S45、S51、S52、S55、S56、S61、S63、S68、S70の高域加算処理について説明する。
【0056】
未知色と既知色の輪郭方向性が一致している場合(相関がある場合)、それぞれの高域相関性が高いと判断し、既に求められた補間値(P[j][i]とする)に、下記のように高域成分を加算する。ここで、(1)式の分子の絶対値記号をはずした下記の(2)式を定義する。この(2)式の符号により、順相関か逆相関かの相関性を判定できる。
【0057】
【数2】
【0058】
(a)R画素,B画素の場合
R画素におけるR信号の評価、及びB画素におけるB信号の評価に用いる演算子型OP0と、R画素におけるG信号の評価、及びB画素におけるG信号の評価に用いる演算子型OP2についての(2)式の計算結果の符号がそれぞれ同一な場合は、輪郭が一致し、かつ、輪郭に垂直な方向についての画素値の増減が一致している順相関とし、符号が不一致な場合は逆相関とする。順相関の場合は、未知のG信号に既知の色要素のR/B画素のR/B信号の高域成分を加算する。逆相関の場合は、未知のG信号から既知の色要素のR/B画素のR/B信号の高域成分を減算する(R/B信号の逆位相の高域成分を加算する)(ステップS40、S44、S51、S55)。
【0059】
高域成分hpの導出にあたっては内挿の方向性に応じて、図14のOP0の微分演算子型群中の画素番号iの画素値をp[i]として以下のように計算する。
【0060】
0°:hp=(2*p[4] - p[3] - p[5]+1)/2;
22.5°:hp=(2*p[4] - p[2] - p[6]+1)/2;
45°:hp=(2*p[4] - p[2] - p[6]+1)/2;
67.5°:hp=(2*p[4] - p[2] - p[6]+1)/2;
90°:hp=(2*p[4] - p[1] - p[7]+1)/2;
112.5°:hp=(2*p[4] - p[0] - p[8]+1)/2;
135°:hp=(2*p[4] - p[0] - p[8]+1)/2;
157.5°:hp=(2*p[4] - p[0] - p[8]+1)/2;
以上のように得られたG信号についても同様な高域抽出を行い、B/R信号に加算する(ステップS41、S45、S52、S56)。
【0061】
(b)G_a画素,G_b画素の場合
G_a画素におけるR信号の評価、及びG_b画素におけるB信号の評価に用いる演算子型OP3と、G_a画素におけるB信号の評価、及びG_b画素におけるR信号の評価に用いる演算子型OP4と、G_a画素におけるG信号の評価、及びG_b画素におけるG信号の評価に用いる演算子型OP5についての(2)式の計算結果の符号がそれぞれ同一な場合は、輪郭が一致し、かつ、輪郭に垂直な方向についての画素値の増減が一致している順相関とし、符号が不一致な場合は逆相関とする。順相関の場合は、未知色のR/B信号に既知の色要素のG画素のG信号の高域成分を加算する。逆相関の場合は未知色のR/B信号から既知の色要素のG画素のG信号の高域成分を減算する(G信号の逆位相の高域成分を加算する)(ステップS61、S63、S68、S70)。
【0062】
高域成分hpの導出にあたっては内挿の方向性に応じて、図19のOP5の微分演算子型群中の画素番号iの画素値をp[i]として以下のように計算する。
【0063】
0°:hp=(2*p[10] - p[9] - p[11]+1)/2;
22.5°:hp=(2*p[10] - p[7] - p[13]+1)/2;
45°:hp=(2*p[10] - p[7] - p[13]+1)/2;
67.5°:hp=(2*p[10] - p[7] - p[13]+1)/2;
90°:hp=(2*p[10] - p[3] - p[17]+1)/2;
112.5°:hp=(2*p[10] - p[6] - p[14]+1)/2;
135°:hp=(2*p[10] - p[6] - p[14]+1)/2;
157.5°:hp=(2*p[10] - p[6] - p[14]+1)/2;
また、方向性に基づく補間が行われない場合は、補間を最近傍の線形補間で行うこととしているので、線形フィルタを使用して近傍画素の値から高域成分を取得する。
【0064】
次に、無彩色化処理部20〜23によるステップS46、S57、S64、S71での偽色の無彩色化処理について説明する。
【0065】
G信号中にはベイヤ配列の色フィルタにより水平・垂直方向の縞状の高域変動パターンが含まれ、これが偽色発生の原因になるので、無彩色化処理部20〜23はこの偽色を無彩色化する処理を行う。
【0066】
具体的には、無彩色化処理部20、21は、図20(A)、(B)に示すように、中心画素がR画素又はB画素であるときの演算子型OP2におけるG画素につき水平方向、垂直方向にそれぞれ3画素分又は4画素分の画素値の平均値を算出する。また、無彩色化処理部22、23は、図20(C)、(D)に示すように、中心画素がG_a画素又はG_b画素であるときの演算子型OP5におけるG画素につき水平方向、垂直方向にそれぞれ3画素分又は4画素分の画素値の平均値を算出する。そして、無彩色化処理部20〜23は、これらの平均値の変動が一定値を超える場合に、縞状の高域変動パターンであると判断して既に定まっているR画素、G画素、B画素の各画素値R,G,Bをもとに、次式
Y=0.715G+0.0772B+0.2126R (3)
により信号Yを生成し、これを新しいR画素、G画素、B画素の画素値とすることで無彩色化する。
【0067】
このようにして、無彩色化処理部20は、無彩色化処理して得たG信号及びB信号を出力する(図2BのステップS47)。また、無彩色化処理部21は、無彩色化処理して得たG信号及びR信号を出力する(図2BのステップS58)。また、無彩色化処理部22及び23は、それぞれ無彩色化処理して得たR信号及びB信号を出力する(図2BのステップS65、S72)。
【0068】
以上説明したように、本実施の形態によれば、ベイヤ配列の色フィルタを受光面上に設けた固体撮像素子から出力した撮像信号を4種類の画素タイプに分類し、分類したそれぞれの画素タイプの撮像信号におけるR画素、G画素、B画素とその周囲の近傍画素の各値に基づいてそれぞれの信号の輪郭の方向性を検出し、検出した方向性につき、R信号またはB信号の方向性がG信号の方向性と大きく矛盾しない場合には、G信号の方向性を優先的に採用し、更にR信号またはB信号の画素値補間にも利用することによって、R信号、G信号、B信号の相関性を生かしたジャギーが少なく滑らかで、かつ、偽色の少ない画素補間を行うことができる。
【0069】
また、本実施の形態によれば、輪郭の有無・方向性評価部12〜15によって検出された方向性に沿った画素値の加重平均を補間値とする際に、加重平均値を所定の複数の周辺画素の最大値と最小値により決定される値によって制限することにより補間値の突出を避けることができる。
【0070】
更に、本実施の形態によれば、(2)式の計算結果の符号がそれぞれ同一な場合は、輪郭が一致し、かつ、輪郭に垂直な方向についての画素値の増減が一致している順相関とし、符号が不一致な場合は逆相関とする。そして、方向性が示す方向に配置された中心画素と同一の色要素の画素領域内の複数の画素の値に基づいて算出した、中心画素と同一の色要素の原色信号の高周波数成分を、B画素、R画素の画素値に、順相関の場合は、これらの画素値を求める際に用いた加算し、逆相関の場合は減算し、画素補間に際して順相関・無相関・逆相関に配慮することで補間後の映像信号の広帯域化を実現することができる。
【0071】
なお、本発明は、ハードウェアのベイヤ画像補間処理を行う画像処理装置に限定されるものでなく、図1のブロック図の構成をコンピュータにより実行させるコンピュータプログラムも包含する。この場合のコンビュータプログラムである画像処理プログラムは、記録媒体からコンピュータに取り込まれてもよいし、ネットワーク経由でコンピュータに取り込まれてもよい。
【図面の簡単な説明】
【0072】
【図1】本発明の画像処理装置の一実施の形態のブロック図である。
【図2A】図1の動作説明用フローチャート(その1)である。
【図2B】図1の動作説明用フローチャート(その2)である。
【図3】本発明における画素タイプの分類を説明する図である。
【図4】R画素近傍のRGB画素配置を示す図である。
【図5】B画素近傍のRGB画素配置を示す図である。
【図6】G_a画素近傍のRGB画素配置を示す図である。
【図7】G_b画素近傍のRGB画素配置を示す図である。
【図8】演算子型OP0の画素配置を示す図である。
【図9】演算子型OP1の画素配置を示す図である。
【図10】演算子型OP2の画素配置を示す図である。
【図11】演算子型OP3の画素配置を示す図である。
【図12】演算子型OP4の画素配置を示す図である。
【図13】演算子型OP5の画素配置を示す図である。
【図14】演算子型OP0の画素配置を用いた微分演算子型群を示す図である。
【図15】演算子型OP1の画素配置を用いた微分演算子型群を示す図である。
【図16】演算子型OP2の画素配置を用いた微分演算子型群を示す図である。
【図17】演算子型OP3の画素配置を用いた微分演算子型群を示す図である。
【図18】演算子型OP4の画素配置を用いた微分演算子型群を示す図である。
【図19】演算子型OP5の画素配置を用いた微分演算子型群を示す図である。
【図20】偽色除去のための無彩色化すべき領域の検出法を説明するための図である。
【図21】ベイヤ配列の一例を示す図である。
【符号の説明】
【0073】
10 画像処理装置
11 中心画素タイプ分類部
12〜15 輪郭の有無・方向性評価部
16〜19 内挿・高域加算処理部
20〜23 無彩色化処理部
【特許請求の範囲】
【請求項1】
ベイヤ配列の色フィルタを受光面上に設けた固体撮像素子から出力された撮像信号を構成する色要素が三原色のうちいずれか一の原色である既知の各画素において、その既知の色要素以外の他の二つの色要素の原色信号を周辺の画素の値に基づいて補間する画像処理を行う画像処理装置であって、
入力された前記撮像信号の画素が、その画素の色要素とその画素を中心画素としたときの周辺の画素の色要素との関係に基づいて、複数の種類の画素タイプのいずれであるかを分類する画素タイプ分類手段と、
前記画素タイプ分類手段により分類された各画素タイプ毎に、入力された前記撮像信号の画素と、その画素を中心とする複数の周辺の画素とからなる予め設定された画素領域内で、その画素領域内の各画素の値を用いて所定の演算式により演算して、三原色全ての原色信号について輪郭成分の最も大きな方向性を検出する検出手段と、
前記画素タイプ分類手段により分類された各画素タイプのそれぞれについて、前記検出手段により検出した前記方向性が示す方向のうち、基準とする所定の一の原色信号の方向性が示す方向と残りの二つの原色信号の方向性が示す方向との間の角度が予め設定した角度範囲以内にあるか否かをそれぞれ判定する判定手段と、
前記判定手段により前記角度が前記角度範囲以内にあると判定したときは、判定された方向性が示す方向に配置された前記中心画素におけるその中心画素とは異なる二つの色要素の複数の画素の値に基づいて、該二つの色要素の補間値を算出し、この算出した二つの色要素の補間値を前記中心画素における前記二つの色要素の画素値として内挿する内挿手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記角度が前記角度範囲以内にあると判定した前記方向性が示す方向に配置された前記中心画素と同一の色要素の前記画素領域内の複数の画素の値に基づいて算出した、該中心画素と同一の色要素の原色信号の高周波数成分を、前記二つの色要素の画素値に、これらの画素値を求める際に用いた前記所定の演算式の演算結果に付される正負いずれかの符号に応じて加減算する加減算手段を更に有することを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記内挿手段は、
前記判定手段により前記角度が前記角度範囲以内にあると判定した方向性が示す方向に配置された前記中心画素におけるその中心画素とは異なる二つの色要素の複数の画素の値を、該二つの色要素毎に加重平均し、更にその加重平均値を前記中心画素の周辺のその色要素の複数の画素の最大値と最小値により決定される値によって制限した値を前記補間値とする手段であることを特徴とする請求項1又は2記載の画像処理装置。
【請求項1】
ベイヤ配列の色フィルタを受光面上に設けた固体撮像素子から出力された撮像信号を構成する色要素が三原色のうちいずれか一の原色である既知の各画素において、その既知の色要素以外の他の二つの色要素の原色信号を周辺の画素の値に基づいて補間する画像処理を行う画像処理装置であって、
入力された前記撮像信号の画素が、その画素の色要素とその画素を中心画素としたときの周辺の画素の色要素との関係に基づいて、複数の種類の画素タイプのいずれであるかを分類する画素タイプ分類手段と、
前記画素タイプ分類手段により分類された各画素タイプ毎に、入力された前記撮像信号の画素と、その画素を中心とする複数の周辺の画素とからなる予め設定された画素領域内で、その画素領域内の各画素の値を用いて所定の演算式により演算して、三原色全ての原色信号について輪郭成分の最も大きな方向性を検出する検出手段と、
前記画素タイプ分類手段により分類された各画素タイプのそれぞれについて、前記検出手段により検出した前記方向性が示す方向のうち、基準とする所定の一の原色信号の方向性が示す方向と残りの二つの原色信号の方向性が示す方向との間の角度が予め設定した角度範囲以内にあるか否かをそれぞれ判定する判定手段と、
前記判定手段により前記角度が前記角度範囲以内にあると判定したときは、判定された方向性が示す方向に配置された前記中心画素におけるその中心画素とは異なる二つの色要素の複数の画素の値に基づいて、該二つの色要素の補間値を算出し、この算出した二つの色要素の補間値を前記中心画素における前記二つの色要素の画素値として内挿する内挿手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記角度が前記角度範囲以内にあると判定した前記方向性が示す方向に配置された前記中心画素と同一の色要素の前記画素領域内の複数の画素の値に基づいて算出した、該中心画素と同一の色要素の原色信号の高周波数成分を、前記二つの色要素の画素値に、これらの画素値を求める際に用いた前記所定の演算式の演算結果に付される正負いずれかの符号に応じて加減算する加減算手段を更に有することを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記内挿手段は、
前記判定手段により前記角度が前記角度範囲以内にあると判定した方向性が示す方向に配置された前記中心画素におけるその中心画素とは異なる二つの色要素の複数の画素の値を、該二つの色要素毎に加重平均し、更にその加重平均値を前記中心画素の周辺のその色要素の複数の画素の最大値と最小値により決定される値によって制限した値を前記補間値とする手段であることを特徴とする請求項1又は2記載の画像処理装置。
【図1】
【図2A】
【図2B】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2A】
【図2B】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2009−206552(P2009−206552A)
【公開日】平成21年9月10日(2009.9.10)
【国際特許分類】
【出願番号】特願2008−44002(P2008−44002)
【出願日】平成20年2月26日(2008.2.26)
【出願人】(000004329)日本ビクター株式会社 (3,896)
【Fターム(参考)】
【公開日】平成21年9月10日(2009.9.10)
【国際特許分類】
【出願日】平成20年2月26日(2008.2.26)
【出願人】(000004329)日本ビクター株式会社 (3,896)
【Fターム(参考)】
[ Back to top ]