(57)【要約】  【課題】  斜め線、図形の角（エッジ成分）がある場合にも偽色を大幅に軽減することができる色分離処理回路を提供する。  【解決手段】  図１に示す色分離部１１が色分離を行った、ローパスフィルタを掛ける前の画素データからベイヤー配列の４画素の単位配列毎に生成した水平、垂直、及び斜め方向の色差データで相関を判定する。相関が高いと判定された方向の色差データを前記４画素の単位配列毎に選択し、選択された色差データを複数画素分集めたものに対してフィルタ処理を行う事により、斜め線、図形の角（エッジ成分）がある場合にも偽色を大幅に軽減することができる。【選択図】  図１
2005072786.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子に入射する光を画素単位に１の色と、それと異なる複数の他の色とに色分解する色セルの配列を有し、前記色セルの配列は前記複数の他の色の色セルの各配置位置に対して水平方向、及び垂直方向に前記１の色の色セルがそれぞれ隣接して配置されてなる色セルの配列を最小単位とする色フィルタを備えた撮像素子から撮像データを得、この撮像データを色分離処理する色分離処理回路であって、
前記撮像データを構成する各画素データを、色フィルタの色セルの色に対応づけて分離する色分離手段と、
前記分離された画素データの内、前記他の色に対応する画素データから、その水平、垂直方向に隣接する前記１の色に対応する画素データを各々減算し、色セルの配列の最小単位毎に複数の色差データを生成する色差データ生成手段と、
得られた複数の色差データの中から絶対値最小のものを、色セルの配列の最小単位毎に選択する選択実行手段と、
選択された色差データに対し、ローパスフィルタ処理を行うローパスフィルタ手段と
を備えることを特徴とする色分離処理回路。
【請求項２】
前記色分離処理回路は、さらに、
前記１の色に対応する複数の異なる位置の画素データを補間して、前記１の色に対応する新たな位置の画素データを色セルの配列の最小単位毎に生成する色補間手段
を備え、
前記色差データ生成手段は、さらに、
前記色分離手段により色フィルタの前記他の色に対応付けられた画素データから、前記色補間手段により生成された前記１の色に対応する新たな位置の画素データを減算する事により新たな色差データを色セルの配列の最小単位毎に生成する
ことを特徴とする請求項１に記載の色分離処理回路。
【請求項３】
前記色分離処理回路は、さらに、
前記色分離手段と、前記色差データ生成手段と、前記選択実行手段とに対し、Ｋを自然数として垂直方向にＫ個の色差データを同時に生成するよう制御する並列処理制御手段
を備え、
前記ローパスフィルタ手段は、前記色分離手段と、前記色差データ生成手段と、前記選択実行手段とにより、垂直方向に同時に生成されたＫ個の色差データに対してローパスフィルタ処理を行う
ことを特徴とする請求項１に記載の色分離処理回路。
【請求項４】
前記色分離処理回路は、さらに、
前記色分離手段と、前記色補間手段と、前記色差データ生成手段と、前記選択実行手段とに対し、Ｋを自然数として垂直方向にＫ個の色差データを同時に生成するよう制御する並列処理制御手段
を備え、
前記ローパスフィルタ手段は、前記色分離手段と、前記色補間手段と、前記色差データ生成手段と、前記選択実行手段とにより、垂直方向に同時に生成されたＫ個の色差データに対してローパスフィルタ処理を行う
ことを特徴とする請求項２に記載の色分離処理回路。
【請求項５】
前記ローパスフィルタ手段は、
垂直方向を添字ｉ（i＝0,１，・・・，Ｌ-1）、水平方向を添字ｊ（ｊ＝0,１，・・・，Ｍ-1）で指定される縦横Ｌ×Ｍの領域に並んだ２次元配列データＣij（i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1）の各要素に対し、Ｌ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）と、Ｍ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）との積として構成されるＬ×Ｍ個のフィルタ係数ｆij＝ａi＊ｂｊ（i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1）の各要素を各々乗算したｆij＊Ｃij に対し、ｉ，ｊに関する和を取るローパスフィルタ処理を行う際の２次元配列データＣijの垂直方向の個数である垂直タップ数Ｌと、水平方向の個数である水平タップ数Ｍとを記憶するタップ数記憶手段と、
前記タップ数記憶手段に記憶された垂直タップ数Ｌと、Ｌ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）とを対応づけて記憶し、また水平タップ数Ｍと、Ｍ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）とを対応づけて記憶するフィルタ係数記憶手段と、
前記タップ数記憶手段に記憶された垂直タップ数Ｌの値に応じて、前記垂直タップ数Ｌの値に対応づけられたＬ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）を取得し、また前記タップ数記憶手段に記憶された水平タップ数Ｍの値に応じて、前記垂直タップ数Ｍの値に対応づけられたＭ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）を取得するフィルタ係数取得手段と、
前記フィルタ係数取得手段が取得したＬ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）、及びＭ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）とを用いてｆij＝ａi＊ｂｊ（i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1）として構成されるＬ×Ｍ個のフィルタ係数ｆijを使用して、縦横Ｌ×Ｍの領域に並んだ前記２次元配列データＣijの各要素に対しフィルタ係数ｆijを各々乗算したもの ｆij＊Ｃij （i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1） に対し、ｉ、及びｊに関する和を取ることにより２次元ローパスフィルタ演算を行うフィルタ演算手段と
を備えることを特徴とする請求項３、又は４記載の色分離処理回路。
【請求項６】
前記フィルタ演算手段は、
縦横Ｌ×Ｍ領域の中のｊ（ｊ＝0,１，・・・，Ｍ-1）で指定される列のＬ個の前記色差データＣij（i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1）に対して、Ｌ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）を各々乗算したａi＊Ｃij に対し、ｉに関する和をとることによりＳj（ｊ＝0,１，・・・，Ｍ-1）を生成する垂直フィルタ演算手段と、
前記垂直フィルタ演算手段が生成した、ａi＊Ｃijのｉに関する和であるＳj（ｊ＝0,１，・・・，Ｍ-1）に対して、Ｍ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）を各々乗算した後、ｊに関する和をとる水平フィルタ演算手段と
を備えることを特徴とする請求項５に記載の色分離処理回路。
【請求項７】
前記垂直フィルタ演算手段は、
前記Ｌ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）のｉ番目の要素を２項係数ａi＝Ｌ−１Ｃｉとすることにより、i＊ａiのｉに関する和をａiのｉに関する和で除算した値である、前記垂直フィルタ係数の重心ｉGが垂直方向のセンター位置ｉC＝（Ｌ−１）／２の垂直ローパスフィルタ処理を行い、
前記水平フィルタ演算手段は、
前記Ｍ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）のｊ番目の要素を２項係数ｂj＝Ｍ−１Ｃjとすることにより、ｊ＊ｂjのｊに関する和をｂjのｊに関する和で除算した値である、前記水平フィルタ係数の重心ｊGが水平方向のセンター位置ｊC＝（Ｍ−１）／２の水平ローパスフィルタ処理を行い、
前記ローパスフィルタ手段は、
前記垂直フィルタ係数の重心ｉG、及び前記水平フィルタ係数の重心ｊGを用いて構成される前記Ｌ×Ｍ個のフィルタ係数ｆij＝ａi＊ｂｊ（i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1）の重心座標（ｉG，ｊG）が、前記縦横Ｌ×Ｍの領域のセンター位置座標（ｉC，ｊC）＝（（Ｌ−１）／２，（Ｍ−１）／２）に一致する２次元ローパスフィルタ処理を行う
ことを特徴とする請求項６に記載の色分離処理回路。
【請求項８】
前記垂直タップ数Ｌと、前記水平タップ数Ｍとは同じ値であり、
前記ローパスフィルタ手段は、
前記同じ値をタップ数Ｎとし、２次元タップ数Ｎ×Ｎの２次元ローパスフィルタ処理を行う
ことを特徴とする請求項７に記載の色分離処理回路。
【請求項９】
前記ローパスフィルタ手段は、
２次元タップ数Ｎ×Ｎのローパスフィルタ処理を行う際に元となる縦横（Ｎ＋１）×（Ｎ＋１）の画素領域に含まれる各画素データの位置を指定する座標（ｋ，ｌ）（ｋ，ｌ＝−１／２，１／２,３／２，・・・，Ｎ−１／２）と、前記各画素データの位置を指定する座標（ｋ，ｌ）で指定される（Ｎ＋１）×（Ｎ＋１）個の各画素データに対して乗算された各画素データに対するフィルタ係数Ｄklとの積に対し、色フィルタの各色毎にｋ，ｌに関する和を取ったものを、前記乗算された各係数Ｄklに対し、色フィルタの各色毎にｋ，ｌに関する和を取ったもので除算した結果である色フィルタの各色毎の画素重心座標（ｋG，ｌG）が、色フィルタの色が前記他の複数の色セルの色である場合に、前記縦横（Ｎ＋１）×（Ｎ＋１）の画素領域のセンター位置座標（ｉC，ｊC）＝（（Ｎ−１）／２，（Ｎ−１）／２）に一致する２次元ローパスフィルタ処理を行う
ことを特徴とする請求項８に記載の色分離処理回路。
【請求項１０】
前記ローパスフィルタ手段は、
前記タップ数Ｎを５とし、縦横６×６画素の領域内の隣接する６行×２列の画素データに対して、垂直方向に並列に色差データ生成処理を行うことにより同時に生成される５個の色差データに対する垂直ローパスフィルタ処理を、処理対象となる６行×２列の領域を水平方向に１列ずつシフトしながら５回繰り返し、これによって生成される５個の垂直ローパスフィルタ処理されたデータに対して水平ローパスフィルタ処理を行うことにより、垂直方向、水平方向のフィルタ係数が１：４：６：４：１の比を持った２次元タップ数５×５の２次元ローパスフィルタ処理を行う
ことを特徴とする請求項９に記載の色分離処理回路。
【請求項１１】
前記ローパスフィルタ手段は、
前記タップ数Ｎを３とし、縦横４×４画素の領域内の隣接する４行×２列の画素データに対して、垂直方向に並列に色差データ生成処理を行うことにより同時に生成される３個の色差データに対する垂直ローパスフィルタ処理を、処理対象となる４行×２列の領域を水平方向に１列ずつシフトしながら３回繰り返し、これによって生成される３個の垂直ローパスフィルタ処理されたデータに対して水平ローパスフィルタ処理を行うことにより、垂直方向、水平方向のフィルタ係数が１：２：１の比を持った２次元タップ数３×３の２次元ローパスフィルタ処理を行う
ことを特徴とする請求項９に記載の色分離処理回路。
【請求項１２】
前記ローパスフィルタ手段は、
前記タップ数Ｎを７とし、縦横８×８画素の領域内の隣接する８行×２列の画素データに対して、垂直方向に並列に色差データ生成処理を行うことにより同時に生成される７個の色差データに対する垂直ローパスフィルタ処理を、処理対象となる８行×２列の領域を水平方向に１列ずつシフトしながら７回繰り返し、これによって生成される７個の垂直ローパスフィルタ処理されたデータに対して水平ローパスフィルタ処理を行うことにより、垂直方向、水平方向のフィルタ係数が１：６：１５：２０：１５：６：１の比を持った２次元タップ数７×７の２次元ローパスフィルタ処理を行う
ことを特徴とする請求項９に記載の色分離処理回路。
【請求項１３】
撮像素子に入射する光を画素単位に１の色と、それと異なる複数の他の色とに色分解する色セルの配列を有し、前記色セルの配列は前記複数の他の色の色セルの各配置位置に対して水平方向、及び垂直方向に前記１の色の色セルがそれぞれ隣接して配置されてなる色セルの配列を最小単位とする色フィルタを備えた撮像素子から撮像データを得、この撮像データを色分離処理する色分離処理方法であって、
前記撮像データを構成する各画素データを、色フィルタの色セルの色に対応づけて分離する色分離ステップと、
前記分離された画素データの内、前記他の色に対応する画素データから、その水平、垂直方向に隣接する前記１の色に対応する画素データを各々減算し、色セルの配列の最小単位毎に複数の色差データを生成する色差データ生成ステップと、
得られた複数の色差データの中から絶対値最小のものを、色セルの配列の最小単位毎に選択する選択実行ステップと、
選択された色差データに対し、ローパスフィルタ処理を行うローパスフィルタステップと
を含むことを特徴とする色分離処理方法。
【請求項１４】
撮像素子に入射する光を画素単位に１の色と、それと異なる複数の他の色とに色分解する色セルの配列を有し、前記色セルの配列は前記複数の他の色の色セルの各配置位置に対して水平方向、及び垂直方向に前記１の色の色セルがそれぞれ隣接して配置されてなる色セルの配列を最小単位とする色フィルタを備えた撮像素子から撮像データを得、この撮像データを色分離処理するためのコンピュータ実行可能なプログラムであって、
前記撮像データを構成する各画素データを、色フィルタの色セルの色に対応づけて分離する色分離ステップと、
前記分離された画素データの内、前記他の色に対応する画素データから、その水平、垂直方向に隣接する前記１の色に対応する画素データを各々減算し、色セルの配列の最小単位毎に複数の色差データを生成する色差データ生成ステップと、
得られた複数の色差データの中から絶対値最小のものを、色セルの配列の最小単位毎に選択する選択実行ステップと、
選択された色差データに対し、ローパスフィルタ処理を行うローパスフィルタステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項１５】
撮像素子に入射する光を光電変換することにより得られた撮像データを信号処理し、撮影された被写体の画像を表す情報を生成し記録するデジタルカメラであって、
請求項１乃至請求項１２のいずれか１つに記載の色分離処理回路
を備えることを特徴とするデジタルカメラ 。
【請求項１６】
撮像素子に入射する光を光電変換することにより得られた撮像データを信号処理し、撮影された被写体の画像を表す情報を生成し記録するデジタルカメラであって、
請求項１３に記載の色分離処理方法を行う
ことを特徴とするデジタルカメラ 。
【請求項１７】
撮像素子に入射する光を光電変換することにより得られた撮像データを信号処理し、撮影された被写体の画像を表す情報を生成し記録するデジタルカメラであって、
請求項１４に記載のプログラムを記憶する記憶手段を備え、
前記記憶手段により記憶された前記プログラムを実行することにより色分離処理を行う
ことを特徴とするデジタルカメラ 。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、色フィルタを備えた撮像素子から出力される輝度信号をサンプリングした画素データを取得し、色分離処理を行う色分離処理回路に関する。
【背景技術】
【０００２】
近年、デジタルカメラの高性能化には目覚しいものがある。撮像素子の画素数は年々増える一方であり、画素間の距離である画素ピッチが低下することにより、その解像度は光学的な分解能の限界に近づきつつある。このように高解像度化の一途を辿るデジタルカメラではあるが、その一方で、撮像素子内に形成された光学像を個々の画素に分解する受光素子は、現状において光の色を識別する事が出来ない。その為単板式カメラの場合は、撮像素子の前面に、前記受光素子と一対一に対応した色付きのセルで受光面が区切られた色フィルタを配置している。
【０００３】
色分離処理回路は、このような色フィルタを使用した撮像素子からの輝度信号を受け取って色演算処理を行い色差信号Ｒ−Ｙ、Ｂ−Ｙを出力するが、この色差信号には一般に、各色画素間の位置ずれと、それに伴う色補間処理に起因する「偽色」成分が含まれる。「偽色」とは、特定の画素において本来存在しない色が生じる事を言い、白と黒の境界や、点光源などのコントラストの急激な変化を撮影した場合に見られる現象である。
【０００４】
一般に画素数を増やして画面の解像度を上げると「偽色」もそれだけ発生しやすくなるが、これを抑制する為に、種々の色処理方式が提案されている。そのような方式の１つとして、ＲＧＢベイヤー配列における各画素に対して周辺画素の補間処理を行い、２種類のＲ−Ｇ信号、Ｂ−Ｇ信号について水平方向、及び垂直方向の相関度を判定する事により偽色の発生を抑圧する技術が下記の特許文献１に開示されている。
【０００５】
図１５は、従来の色分離処理回路１９０を備えるデジタルカメラの基本的な構成を示している。同図において、撮像素子１８２から出力された輝度信号は、サンプルホールド回路（ＣＤＳ）１８３、及びＡ／Ｄコンバータ１８４によってデジタル変換された後、色分離処理部１９０に入力され、色分離部１９１による色分離処理、ローパスフィルタ部１９２による２次元ローパスフィルタ処理、色差データ生成部１９３による色差データ生成処理、選択実行部１９４による色差データの選択処理、及び色差マトリクス部１９５による色差信号生成処理を経て、色差信号Ｒ−Ｙ、Ｂ−Ｙが生成される。
【０００６】
ここで、１回のフィルタ処理を行って１画素分の色差データＲ−Ｇ、Ｂ−Ｇを生成する為にバッファメモリから画素データを取り出す領域を、フィルタ原画素領域という。１回のフィルタ処理により生成される色差データは、前記フィルタ原画素領域のセンター位置における色差データである。従来の色分離処理方式の場合、ローパスフィルタのタップ数をＮとすると、フィルタ原画素領域は画面上縦横Ｎ×Ｎのサイズの領域である。
【０００７】
図１６は、従来の色分離処理回路が行う色分離処理を示す図である。ここではフィルタのタップ数は、Ｎ＝４である。同図において、バッファメモリ２００から取り出したフィルタ原画素領域である縦横４×４のサイズの領域に含まれる１６個の画素データに対し、色分離部２０１がベイヤー配列の各色Ｒ、Ｂ、Ｇ１、Ｇ２に対応付ける処理を行う。
【０００８】
上記各色に対応つけられた画素データに対し、ローパスフィルタ部２０２乃至２０５において、１６個の係数である２次元ＬＰＦ係数２０７を各画素に対して乗じたものを色別に加算し、色差データ生成部２０６において引き算する事により、２組の色差データ（Ｒ−Ｇ１、Ｒ−Ｇ２）、及び（Ｂ−Ｇ１、Ｂ−Ｇ２）が生成される。これら２組の色差データに対し、後続の選択実行部（不図示）が各々絶対値の小さい方を選択する事により、フィルタ原画素領域のセンター位置の色差データＲ−Ｇ、Ｂ−Ｇが生成される。
（色差信号の計算式）
従来の色分離処理回路が生成する色差信号Ｒ−Ｇ、Ｂ−Ｇは、入力画像を具体的に与える事によって、数式を用いて計算する事ができる。図１７は、バッファメモリ内の任意のフィルタ原画素領域における１６個の画素をＲａ、Ｂｂ、Ｇ１ｃ等、ａ、ｂ、ｃ、ｄの添字をつけて指定する方法を示す。この方法によると、従来の色分離処理回路が生成するフィルタ原画素領域のセンター位置の色差データは、フィルタ原画素領域内の各画素の輝度Ｒi、Ｂi、Ｇ１i、Ｇ２i（ｉ＝ａ、ｂ、ｃ、ｄ）を用いて、次のような式で表わされる。
【０００９】
Ｒ−Ｇ ＝
ａｂｓｍｉｎ（（３Ｒａ＋９Ｒｂ＋Ｒｄ＋３Ｒｃ）−（Ｇ１ａ＋３Ｇ１ｂ＋３Ｇ１ｄ＋９Ｇ１ｃ）、（３Ｒａ＋９Ｒｂ＋Ｒｄ＋３Ｒｃ）−（９Ｇ２ａ＋３Ｇ２ｂ＋３Ｇ２ｄ＋Ｇ２ｃ））                                     ・・・（１）
Ｂ−Ｇ ＝
ａｂｓｍｉｎ（（３Ｂａ＋Ｂｂ＋９Ｂｄ＋３Ｂｃ）−（Ｇ１ａ＋３Ｇ１ｂ＋３Ｇ１ｄ＋９Ｇ１ｃ）、（３Ｂａ＋Ｂｂ＋９Ｂｄ＋３Ｂｃ）−（９Ｇ２ａ＋３Ｇ２ｂ＋３Ｇ２ｄ＋Ｇ２ｃ））                                     ・・・（２）
ここで、上式のａｂｓｍｉｎ（）関数は、引数として与えられた数値の絶対値を比較し、それが最小となるものを返す関数である。
【００１０】
上述したように、このようして得られた２種類の色差信号は、一般にベイヤー配列の特性に起因する「偽色」成分を含んでいるが、その度合いを評価する為に、下記の「偽色レベル」を定義する。
（偽色レベルの定義）
明るい白色の被写体を撮影した場合にＲ、Ｇ、Ｂ各色の受光素子が出力する輝度が、（Ｒ、Ｇ、Ｂ）＝（ｒ、ｇ、ｂ）（ｒ、ｇ、ｂはＲ、Ｇ、Ｂ各色の輝度の最大値）であるとすると、通常の撮影時における各受光素子の輝度は、Ｒ画素は０からr迄、Ｂ画素は０からｂ迄、Ｇ１及びＧ２画素は０からｇ迄の範囲のいずれかの値を取る。
【００１１】
ここで、白と黒の２色のみから構成される被写体を撮影し、その画像を表示した際に、ある特定の画素において「偽色」を生じた為に色差信号が
（Ｒ−Ｇ、Ｂ−Ｇ）＝（Ａ・ｒ−Ｂ・ｇ、Ｃ・ｂ−Ｄ・ｇ）  ・・・（３）
（Ａ、Ｂ、Ｃ、Ｄは係数）となった場合、その画素の「偽色レベル」が
（ＦＲ−Ｇ、ＦＢ−Ｇ）＝（Ａ−Ｂ、Ｃ−Ｄ）                   ・・・（４）
であると定義する。「偽色レベル」は、特定画素におけるＲ、Ｇ、Ｂ各色の混合比の白色からのずれを数値的に表したものであり、上記のように成分表示された２次元ベクトル（ＦＲ−Ｇ、ＦＢ−Ｇ）の大きさ（ＦＲ−Ｇ2＋ＦＢ−Ｇ2の平方根）が小さい程、表示される色が真の色に近い。
（偽色レベルの計算）
上記の色差信号を計算する式（１）、及び式（２）に対し、入力した画像データに応じてＲａ、Ｒｂ、Ｒｃ、Ｒｄ、Ｂａ、Ｂｂ、Ｂｃ、Ｂｄ、Ｇ１ａ、Ｇ１ｂ、Ｇ１ｃ、Ｇ１ｄ、Ｇ２ａ、Ｇ２ｂ、Ｇ２ｃ、Ｇ２ｄの１６画素の輝度（Ｒに対しては０からｒ迄、Ｂに対しては０からｂ迄、Ｇ１、及びＧ２に対しては、０からｇ迄）を代入する事により、フィルタ原画素領域のセンター位置の色差信号の値が計算できる。
【００１２】
図１８、及び図１９は、それぞれ縦線、及び横線の白黒２値画像を撮像した場合の偽色の程度を示す図であり、元の画像を（ａ）撮像画像に、またバッファメモリ内のデータの様子を（ｂ）バッファメモリに示す。このような画像について、色分離処理を行った結果出力される色差信号（Ｒ−Ｇ）、（Ｂ−Ｇ）に対し、偽色レベル（ＦＲ−Ｇ、ＦＢ−Ｇ）を式（１）乃至（４）を用いて計算した結果を同図の（ｃ）偽色レベルの比較において、「従来方式」の欄に示している。
【００１３】
このように、４×４の１６画素の領域を縦線や横線が横切る場合には、偽色レベル（ＦＲ−Ｇ、ＦＢ−Ｇ）はいずれも０となり、偽色が発生しない。この場合従来の色分離処理は、偽色成分を除去する効果を有する。
【特許文献１】特開２００２−１６９３０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、上記のような色分離処理回路を用いても、以下に示す問題が発生する。
【００１５】
即ち、１６画素の領域を斜め線が横切る場合や、図形の角（エッジ成分）が領域内に存在する場合には、偽色を生じる。
【００１６】
図２０、図２１、及び図２２は、それぞれ斜め線、右下エッジ成分、及び右上エッジ成分の白黒２値画像を撮像した場合の偽色の程度を示す図であり、元の画像を（ａ）撮像画像に、またバッファメモリ内のデータの様子を（ｂ）バッファメモリに示す。このような画像について色分離処理を行った結果出力される色差信号（Ｒ−Ｇ）、（Ｂ−Ｇ）について、偽色レベル（ＦＲ−Ｇ、ＦＢ−Ｇ）を式（１）乃至式（４）を用いて計算した結果を同図の（ｃ）偽色レベルの比較において、「従来方式」の欄に示している。
【００１７】
このように、１６画素のフィルタ原画素領域内を斜め線が横切ったり、領域内に図形の角（エッジ成分）が存在している場合には、偽色レベル（ＦＲ−Ｇ、ＦＢ−Ｇ）はいずれも０とならず、この場合、色分離処理を行う事により偽色を生じる事が分かる。
【００１８】
本発明は、上記問題点を解決する為になされたものであり、斜め線、図形の角（エッジ成分）がある場合にも偽色を大幅に軽減することのできる色分離処理回路、及び色分離処理方法の提供を目的とする。
【課題を解決するための手段】
【００１９】
上記目的を達成する為、本発明の色分離処理回路は、撮像素子に入射する光を画素単位に１の色と、それと異なる複数の他の色とに色分解する色セルの配列を有し、前記色セルの配列は前記複数の他の色の色セルの各配置位置に対して水平方向、及び垂直方向に前記１の色の色セルがそれぞれ隣接して配置されてなる色セルの配列を最小単位とする色フィルタを備えた撮像素子から撮像データを得、この撮像データを色分離処理する色分離処理回路であって、前記撮像データを構成する各画素データを、色フィルタの色セルの色に対応づけて分離する色分離手段と、前記分離された画素データの内、前記他の色に対応する画素データから、その水平、垂直方向に隣接する前記１の色に対応する画素データを各々減算し、色セルの配列の最小単位毎に複数の色差データを生成する色差データ生成手段と、得られた複数の色差データの中から絶対値最小のものを、色セルの配列の最小単位毎に選択する選択実行手段と、選択された色差データに対し、ローパスフィルタ処理を行うローパスフィルタ手段とを備える。
【００２０】
また、前記色分離処理回路は、さらに、前記１の色に対応する複数の異なる位置の画素データを補間して、前記１の色に対応する新たな位置の画素データを色セルの配列の最小単位毎に生成する色補間手段を備え、前記色差データ生成手段は、さらに、前記色分離手段により色フィルタの前記他の色に対応付けられた画素データから、前記色補間手段により生成された前記１の色に対応する新たな位置の画素データを減算する事により新たな色差データを色セルの配列の最小単位毎に生成してもよい。
【００２１】
また、前記色分離処理回路は、さらに、前記色分離手段と、前記色差データ生成手段と、前記選択実行手段とに対し、Ｋを自然数として垂直方向にＫ個の色差データを同時に生成するよう制御する並列処理制御手段を備え、前記ローパスフィルタ手段は、前記色分離手段と、前記色差データ生成手段と、前記選択実行手段とにより、垂直方向に同時に生成されたＫ個の色差データに対してローパスフィルタ処理を行ってもよい。
【００２２】
また、前記色分離処理回路は、さらに、前記色分離手段と、前記色補間手段と、前記色差データ生成手段と、前記選択実行手段とに対し、Ｋを自然数として垂直方向にＫ個の色差データを同時に生成するよう制御する並列処理制御手段を備え、前記ローパスフィルタ手段は、前記色分離手段と、前記色補間手段と、前記色差データ生成手段と、前記選択実行手段とにより、垂直方向に同時に生成されたＫ個の色差データに対してローパスフィルタ処理を行ってもよい。
【００２３】
また、前記ローパスフィルタ手段は、垂直方向を添字ｉ（i＝0,１，・・・，Ｌ-1）、水平方向を添字ｊ（ｊ＝0,１，・・・，Ｍ-1）で指定される縦横Ｌ×Ｍの領域に並んだ２次元配列データＣij（i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1）の各要素に対し、Ｌ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）と、Ｍ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）との積として構成されるＬ×Ｍ個のフィルタ係数ｆij＝ａi＊ｂｊ（i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1）の各要素を各々乗算したｆij＊Ｃij に対し、ｉ，ｊに関する和を取るローパスフィルタ処理を行う際の２次元配列データＣijの垂直方向の個数である垂直タップ数Ｌと、水平方向の個数である水平タップ数Ｍとを記憶するタップ数記憶手段と、前記タップ数記憶手段に記憶された垂直タップ数Ｌと、Ｌ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）とを対応づけて記憶し、また水平タップ数Ｍと、Ｍ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）とを対応づけて記憶するフィルタ係数記憶手段と、前記タップ数記憶手段に記憶された垂直タップ数Ｌの値に応じて、前記垂直タップ数Ｌの値に対応づけられたＬ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）を取得し、また前記タップ数記憶手段に記憶された水平タップ数Ｍの値に応じて、前記垂直タップ数Ｍの値に対応づけられたＭ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）を取得するフィルタ係数取得手段と、前記フィルタ係数取得手段が取得したＬ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）、及びＭ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）とを用いてｆij＝ａi＊ｂｊ（i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1）として構成されるＬ×Ｍ個のフィルタ係数ｆijを使用して、縦横Ｌ×Ｍの領域に並んだ前記２次元配列データＣijの各要素に対しフィルタ係数ｆijを各々乗算したもの ｆij＊Ｃij （i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1） に対し、ｉ、及びｊに関する和を取ることにより２次元ローパスフィルタ演算を行うフィルタ演算手段とを備えてもよい。
【００２４】
また、前記フィルタ演算手段は、縦横Ｌ×Ｍ領域の中のｊ（ｊ＝0,１，・・・，Ｍ-1）で指定される列のＬ個の前記色差データＣij（i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1）に対して、Ｌ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）を各々乗算したａi＊Ｃij に対し、ｉに関する和をとることによりＳj（ｊ＝0,１，・・・，Ｍ-1）を生成する垂直フィルタ演算手段と、前記垂直フィルタ演算手段が生成した、ａi＊Ｃijのｉに関する和であるＳj（ｊ＝0,１，・・・，Ｍ-1）に対して、Ｍ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）を各々乗算した後、ｊに関する和をとる水平フィルタ演算手段とを備えてもよい。
【００２５】
また、前記垂直フィルタ演算手段は、前記Ｌ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）のｉ番目の要素を２項係数ａi＝Ｌ−１Ｃｉとすることにより、i＊ａiのｉに関する和をａiのｉに関する和で除算した値である、前記垂直フィルタ係数の重心ｉGが垂直方向のセンター位置ｉC＝（Ｌ−１）／２の垂直ローパスフィルタ処理を行い、前記水平フィルタ演算手段は、前記Ｍ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）のｊ番目の要素を２項係数ｂj＝Ｍ−１Ｃjとすることにより、ｊ＊ｂjのｊに関する和をｂjのｊに関する和で除算した値である、前記水平フィルタ係数の重心ｊGが水平方向のセンター位置ｊC＝（Ｍ−１）／２の水平ローパスフィルタ処理を行い、前記ローパスフィルタ手段は、
前記垂直フィルタ係数の重心ｉG、及び前記水平フィルタ係数の重心ｊGを用いて構成される前記Ｌ×Ｍ個のフィルタ係数ｆij＝ａi＊ｂｊ（i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1）の重心座標（ｉG，ｊG）が、前記縦横Ｌ×Ｍの領域のセンター位置座標（ｉC，ｊC）＝（（Ｌ−１）／２，（Ｍ−１）／２）に一致する２次元ローパスフィルタ処理を行ってもよい。
【００２６】
また、前記垂直タップ数Ｌと、前記水平タップ数Ｍとは同じ値であり、前記ローパスフィルタ手段は、前記同じ値をタップ数Ｎとし、２次元タップ数Ｎ×Ｎの２次元ローパスフィルタ処理を行ってもよい。
【００２７】
また、前記ローパスフィルタ手段は、２次元タップ数Ｎ×Ｎのローパスフィルタ処理を行う際に元となる縦横（Ｎ＋１）×（Ｎ＋１）の画素領域に含まれる各画素データの位置を指定する座標（ｋ，ｌ）（ｋ，ｌ＝−１／２，１／２,３／２，・・・，Ｎ−１／２）と、前記各画素データの位置を指定する座標（ｋ，ｌ）で指定される（Ｎ＋１）×（Ｎ＋１）個の各画素データに対して乗算された各画素データに対するフィルタ係数Ｄklとの積に対し、色フィルタの各色毎にｋ，ｌに関する和を取ったものを、前記乗算された各係数Ｄklに対し、色フィルタの各色毎にｋ，ｌに関する和を取ったもので除算した結果である色フィルタの各色毎の画素重心座標（ｋG，ｌG）が、色フィルタの色が前記他の複数の色セルの色である場合に、前記縦横（Ｎ＋１）×（Ｎ＋１）の画素領域のセンター位置座標（ｉC，ｊC）＝（（Ｎ−１）／２，（Ｎ−１）／２）に一致する２次元ローパスフィルタ処理を行ってもよい。
【００２８】
また、前記ローパスフィルタ手段は、前記タップ数Ｎを５とし、縦横６×６画素の領域内の隣接する６行×２列の画素データに対して、垂直方向に並列に色差データ生成処理を行うことにより同時に生成される５個の色差データに対する垂直ローパスフィルタ処理を、処理対象となる６行×２列の領域を水平方向に１列ずつシフトしながら５回繰り返し、これによって生成される５個の垂直ローパスフィルタ処理されたデータに対して水平ローパスフィルタ処理を行うことにより、垂直方向、水平方向のフィルタ係数が１：４：６：４：１の比を持った２次元タップ数５×５の２次元ローパスフィルタ処理を行ってもよい。
【００２９】
また、前記ローパスフィルタ手段は、前記タップ数Ｎを３とし、縦横４×４画素の領域内の隣接する４行×２列の画素データに対して、垂直方向に並列に色差データ生成処理を行うことにより同時に生成される３個の色差データに対する垂直ローパスフィルタ処理を、処理対象となる４行×２列の領域を水平方向に１列ずつシフトしながら３回繰り返し、これによって生成される３個の垂直ローパスフィルタ処理されたデータに対して水平ローパスフィルタ処理を行うことにより、垂直方向、水平方向のフィルタ係数が１：２：１の比を持った２次元タップ数３×３の２次元ローパスフィルタ処理を行ってもよい。
【００３０】
また、前記ローパスフィルタ手段は、前記タップ数Ｎを７とし、縦横８×８画素の領域内の隣接する８行×２列の画素データに対して、垂直方向に並列に色差データ生成処理を行うことにより同時に生成される７個の色差データに対する垂直ローパスフィルタ処理を、処理対象となる８行×２列の領域を水平方向に１列ずつシフトしながら７回繰り返し、これによって生成される７個の垂直ローパスフィルタ処理されたデータに対して水平ローパスフィルタ処理を行うことにより、垂直方向、水平方向のフィルタ係数が１：６：１５：２０：１５：６：１の比を持った２次元タップ数７×７の２次元ローパスフィルタ処理を行ってもよい。
【００３１】
上記目的を達成する為、本発明の色分離処理方法は、撮像素子に入射する光を画素単位に１の色と、それと異なる複数の他の色とに色分解する色セルの配列を有し、前記色セルの配列は前記複数の他の色の色セルの各配置位置に対して水平方向、及び垂直方向に前記１の色の色セルがそれぞれ隣接して配置されてなる色セルの配列を最小単位とする色フィルタを備えた撮像素子から撮像データを得、この撮像データを色分離処理する色分離処理方法であって、前記撮像データを構成する各画素データを、色フィルタの色セルの色に対応づけて分離する色分離ステップと、前記分離された画素データの内、前記他の色に対応する画素データから、その水平、垂直方向に隣接する前記１の色に対応する画素データを各々減算し、色セルの配列の最小単位毎に複数の色差データを生成する色差データ生成ステップと、得られた複数の色差データの中から絶対値最小のものを、色セルの配列の最小単位毎に選択する選択実行ステップと、選択された色差データに対し、ローパスフィルタ処理を行うローパスフィルタステップとを含む。
【００３２】
上記目的を達成する為、本発明のプログラムは、撮像素子に入射する光を画素単位に１の色と、それと異なる複数の他の色とに色分解する色セルの配列を有し、前記色セルの配列は前記複数の他の色の色セルの各配置位置に対して水平方向、及び垂直方向に前記１の色の色セルがそれぞれ隣接して配置されてなる色セルの配列を最小単位とする色フィルタを備えた撮像素子から撮像データを得、この撮像データを色分離処理するためのコンピュータ実行可能なプログラムであって、前記撮像データを構成する各画素データを、色フィルタの色セルの色に対応づけて分離する色分離ステップと、前記分離された画素データの内、前記他の色に対応する画素データから、その水平、垂直方向に隣接する前記１の色に対応する画素データを各々減算し、色セルの配列の最小単位毎に複数の色差データを生成する色差データ生成ステップと、得られた複数の色差データの中から絶対値最小のものを、色セルの配列の最小単位毎に選択する選択実行ステップと、選択された色差データに対し、ローパスフィルタ処理を行うローパスフィルタステップとをコンピュータに実行させる。
【００３３】
上記目的を達成する為、本発明のデジタルカメラは、撮像素子に入射する光を光電変換することにより得られた撮像データを信号処理し、撮影された被写体の画像を表す情報を生成し記録するデジタルカメラであって、請求項１乃至請求項１２のいずれか１つに記載の色分離処理回路を備える。
【００３４】
上記目的を達成する為、本発明のデジタルカメラは、撮像素子に入射する光を光電変換することにより得られた撮像データを信号処理し、撮影された被写体の画像を表す情報を生成し記録するデジタルカメラであって、請求項１３に記載の色分離処理方法を行う。
【００３５】
上記目的を達成する為、本発明のデジタルカメラは、撮像素子に入射する光を光電変換することにより得られた撮像データを信号処理し、撮影された被写体の画像を表す情報を生成し記録するデジタルカメラであって、請求項１４に記載のプログラムを記憶する記憶手段を備え、前記記憶手段により記憶された前記プログラムを実行することにより色分離処理を行う。
【発明の効果】
【００３６】
本発明の色分離処理回路は、撮像素子に入射する光を画素単位に１の色と、それと異なる複数の他の色とに色分解する色セルの配列を有し、前記色セルの配列は前記複数の他の色の色セルの各配置位置に対して水平方向、及び垂直方向に前記１の色の色セルがそれぞれ隣接して配置されてなる色セルの配列を最小単位とする色フィルタを備えた撮像素子から撮像データを得、この撮像データを色分離処理する色分離処理回路であって、前記撮像データを構成する各画素データを、色フィルタの色セルの色に対応づけて分離する色分離手段と、前記分離された画素データの内、前記他の色に対応する画素データから、その水平、垂直方向に隣接する前記１の色に対応する画素データを各々減算し、色セルの配列の最小単位毎に複数の色差データを生成する色差データ生成手段と、得られた複数の色差データの中から絶対値最小のものを、色セルの配列の最小単位毎に選択する選択実行手段と、選択された色差データに対し、ローパスフィルタ処理を行うローパスフィルタ手段とを備える。
【００３７】
この構成によれば、ベイヤー配列の最小単位毎に生成された垂直方向、及び水平方向の各色差データの中から絶対値最小、つまり色同士の相関が高いものを選択し、当該選択された複数の色差データに対してローパスフィルタ処理を行う事により、複数の色差データ間で平均化され空間周波数の高い成分が除去される前の色差データに対して色同士の相関を判定する為、撮像画像に斜め線、図形の角（エッジ成分）がある場合にも偽色の発生を大幅に軽減することができる。
【００３８】
また、前記色分離処理回路は、さらに、前記１の色に対応する複数の異なる位置の画素データを補間して、前記１の色に対応する新たな位置の画素データを色セルの配列の最小単位毎に生成する色補間手段を備え、前記色差データ生成手段は、さらに、前記色分離手段により色フィルタの前記他の色に対応付けられた画素データから、前記色補間手段により生成された前記１の色に対応する新たな位置の画素データを減算する事により新たな色差データを色セルの配列の最小単位毎に生成してもよい。
【００３９】
この構成によれば、前記複数の色差データの中から絶対値最小、つまり色同士の相関が高いものを選択する処理において、相関を判定する垂直方向、及び水平方向に減算を行った色差データに加えて、前記１の色の色セルの新たな位置について補間した画素データについて減算を行った色差データが加わる事により、より多くの色差データの中から相関の高いものを選択する事ができる。
【００４０】
また、前記色分離処理回路は、さらに、前記色分離手段と、前記色差データ生成手段と、前記選択実行手段とに対し、Ｋを自然数として垂直方向にＫ個の色差データを同時に生成するよう制御する並列処理制御手段を備え、前記ローパスフィルタ手段は、前記色分離手段と、前記色差データ生成手段と、前記選択実行手段とにより、垂直方向に同時に生成されたＫ個の色差データに対してローパスフィルタ処理を行ってもよい。
【００４１】
この構成によれば、画面垂直方向にＫ画素分の色差データを同時に生成する為、画面垂直方向に行うＫ画素分のローパスフィルタ処理を、上記処理に続いて連続的に行う事が出来る。その為ローパスフィルタ処理による処理時間の増加や、色差信号を出力するタイミングの遅れを最小限に抑える事が出来る。
【００４２】
また、前記色分離処理回路は、さらに、前記色分離手段と、前記色補間手段と、前記色差データ生成手段と、前記選択実行手段とに対し、Ｋを自然数として垂直方向にＫ個の色差データを同時に生成するよう制御する並列処理制御手段を備え、前記ローパスフィルタ手段は、前記色分離手段と、前記色補間手段と、前記色差データ生成手段と、前記選択実行手段とにより、垂直方向に同時に生成されたＫ個の色差データに対してローパスフィルタ処理を行ってもよい。
【００４３】
この構成によれば、画面垂直方向にＫ画素分の色差データを同時に生成する為、画面垂直方向に行うＫ画素分のローパスフィルタ処理を、上記処理に続いて連続的に行う事が出来る。その為ローパスフィルタ処理による処理時間の増加や、色差信号を出力するタイミングの遅れを最小限に抑える事が出来る。
【００４４】
また、前記ローパスフィルタ手段は、垂直方向を添字ｉ（i＝0,１，・・・，Ｌ-1）、水平方向を添字ｊ（ｊ＝0,１，・・・，Ｍ-1）で指定される縦横Ｌ×Ｍの領域に並んだ２次元配列データＣij（i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1）の各要素に対し、Ｌ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）と、Ｍ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）との積として構成されるＬ×Ｍ個のフィルタ係数ｆij＝ａi＊ｂｊ（i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1）の各要素を各々乗算したｆij＊Ｃij に対し、ｉ，ｊに関する和を取るローパスフィルタ処理を行う際の２次元配列データＣijの垂直方向の個数である垂直タップ数Ｌと、水平方向の個数である水平タップ数Ｍとを記憶するタップ数記憶手段と、前記タップ数記憶手段に記憶された垂直タップ数Ｌと、Ｌ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）とを対応づけて記憶し、また水平タップ数Ｍと、Ｍ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）とを対応づけて記憶するフィルタ係数記憶手段と、前記タップ数記憶手段に記憶された垂直タップ数Ｌの値に応じて、前記垂直タップ数Ｌの値に対応づけられたＬ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）を取得し、また前記タップ数記憶手段に記憶された水平タップ数Ｍの値に応じて、前記垂直タップ数Ｍの値に対応づけられたＭ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）を取得するフィルタ係数取得手段と、前記フィルタ係数取得手段が取得したＬ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）、及びＭ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）とを用いてｆij＝ａi＊ｂｊ（i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1）として構成されるＬ×Ｍ個のフィルタ係数ｆijを使用して、縦横Ｌ×Ｍの領域に並んだ前記２次元配列データＣijの各要素に対しフィルタ係数ｆijを各々乗算したもの ｆij＊Ｃij （i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1） に対し、ｉ、及びｊに関する和を取ることにより２次元ローパスフィルタ演算を行うフィルタ演算手段とを備えてもよい。
【００４５】
この構成によれば、タップ数記憶手段に記憶された垂直タップ数Ｌ、水平タップ数Ｍ、及びフィルタ係数記憶手段に記憶されたフィルタ係数を各々書き換える事により、画面垂直方向にＬ個の色差データを同時生成する並列処理による負荷や、２次元ローパスフィルタ処理による空間周波数の高い成分を抑制する効果の大小を、当該処理を行うハードウェア構成や撮像画像に応じて柔軟かつ最適な設定を行うことができる。また、縦横Ｌ×Ｍの領域の色差データに対して２次元ローパスフィルタ処理を行う為に保持するフィルタ係数ｆijは、垂直フィルタ係数ａi、及び水平フィルタ係数ｂｊの積ａi＊ｂｊとして構成されることにより、フィルタ係数記憶手段が記憶するフィルタ係数の個数は高々（Ｌ＋Ｍ）個である為、フィルタ係数の記憶容量の軽減化、並びにフィルタ係数を設定する為のソフトウェアやローパスフィルタ部のハードウェア構成を簡素化する事ができる。
【００４６】
また、前記フィルタ演算手段は、縦横Ｌ×Ｍ領域の中のｊ（ｊ＝0,１，・・・，Ｍ-1）で指定される列のＬ個の前記色差データＣij（i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1）に対して、Ｌ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）を各々乗算したａi＊Ｃij に対し、ｉに関する和をとることによりＳj（ｊ＝0,１，・・・，Ｍ-1）を生成する垂直フィルタ演算手段と、前記垂直フィルタ演算手段が生成した、ａi＊Ｃijのｉに関する和であるＳj（ｊ＝0,１，・・・，Ｍ-1）に対して、Ｍ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）を各々乗算した後、ｊに関する和をとる水平フィルタ演算手段とを備えてもよい。
【００４７】
この構成によれば、縦横Ｌ×Ｍの領域の色差データに対して行う２次元ローパスフィルタ処理は、垂直フィルタ演算処理と、水平フィルタ演算処理の２段階に分けて行われる為、垂直方向に同時生成されたＬ個の色差データを同時にローパスフィルタ処理するのに適している。
【００４８】
また、前記垂直フィルタ演算手段は、前記Ｌ個の垂直フィルタ係数ａi（i＝0,１，・・・，Ｌ-1）のｉ番目の要素を２項係数ａi＝Ｌ−１Ｃｉとすることにより、i＊ａiのｉに関する和をａiのｉに関する和で除算した値である、前記垂直フィルタ係数の重心ｉGが垂直方向のセンター位置ｉC＝（Ｌ−１）／２の垂直ローパスフィルタ処理を行い、前記水平フィルタ演算手段は、前記Ｍ個の水平フィルタ係数ｂj（ｊ＝0,１，・・・，Ｍ-1）のｊ番目の要素を２項係数ｂj＝Ｍ−１Ｃjとすることにより、ｊ＊ｂjのｊに関する和をｂjのｊに関する和で除算した値である、前記水平フィルタ係数の重心ｊGが水平方向のセンター位置ｊC＝（Ｍ−１）／２の水平ローパスフィルタ処理を行い、前記ローパスフィルタ手段は、
前記垂直フィルタ係数の重心ｉG、及び前記水平フィルタ係数の重心ｊGを用いて構成される前記Ｌ×Ｍ個のフィルタ係数ｆij＝ａi＊ｂｊ（i＝0,１，・・・，Ｌ-1；ｊ＝0,１，・・・，Ｍ-1）の重心座標（ｉG，ｊG）が、前記縦横Ｌ×Ｍの領域のセンター位置座標（ｉC，ｊC）＝（（Ｌ−１）／２，（Ｍ−１）／２）に一致する２次元ローパスフィルタ処理を行ってもよい。
【００４９】
この構成によれば、フィルタ係数の重心が垂直方向、及び水平方向で各々センター位置となる２次元ローパスフィルタ処理を行うので、縦横Ｌ×Ｍのサイズのフィルタ対象領域のセンター位置に近い色差データ程寄与が大きくなる為、フィルタ処理の結果、元の撮像画像に忠実な色差信号を生成することができる。
【００５０】
また、前記垂直タップ数Ｌと、前記水平タップ数Ｍとは同じ値であり、前記ローパスフィルタ手段は、前記同じ値をタップ数Ｎとし、２次元タップ数Ｎ×Ｎの２次元ローパスフィルタ処理を行ってもよい。
【００５１】
この構成によれば、タップ数記憶部が保持するタップ数の値は１個で良い為、フィルタ係数の記憶容量の削減、並びにフィルタ係数を設定する為のソフトウェアやハードウェアの構成を簡素化する事が出来る。また垂直タップ数Ｌ、及び水平タップ数Ｍの値が、等しい値Ｎとなることにより、水平、垂直各方向のローパスフィルタ処理による空間周波数の高い成分を除去する効果を、水平、垂直方向で均等にすることができる。
【００５２】
また、前記ローパスフィルタ手段は、２次元タップ数Ｎ×Ｎのローパスフィルタ処理を行う際に元となる縦横（Ｎ＋１）×（Ｎ＋１）の画素領域に含まれる各画素データの位置を指定する座標（ｋ，ｌ）（ｋ，ｌ＝−１／２，１／２,３／２，・・・，Ｎ−１／２）と、前記各画素データの位置を指定する座標（ｋ，ｌ）で指定される（Ｎ＋１）×（Ｎ＋１）個の各画素データに対して乗算された各画素データに対するフィルタ係数Ｄklとの積に対し、色フィルタの各色毎にｋ，ｌに関する和を取ったものを、前記乗算された各係数Ｄklに対し、色フィルタの各色毎にｋ，ｌに関する和を取ったもので除算した結果である色フィルタの各色毎の画素重心座標（ｋG，ｌG）が、色フィルタの色が前記他の複数の色セルの色である場合に、前記縦横（Ｎ＋１）×（Ｎ＋１）の画素領域のセンター位置座標（ｉC，ｊC）＝（（Ｎ−１）／２，（Ｎ−１）／２）に一致する２次元ローパスフィルタ処理を行ってもよい。
【００５３】
この構成によれば、ローパスフィルタ処理を行う事により乗算される、縦横Ｎ×Ｎ個の色差データを生成する際に元となった縦横（Ｎ＋１）×（Ｎ＋１）画素の領域に含まれる各画素データに対するフィルタ係数の、色フィルタの各色毎の重心が、色フィルタの色が前記他の複数の色セルの色である場合に前記領域のセンター位置に一致する為、前記他の複数の色セルの色に対応する画素間の位置ずれによる影響が、全体として打ち消される事により、偽色抑圧効果が得られる。
【００５４】
また、前記ローパスフィルタ手段は、前記タップ数Ｎを５とし、縦横６×６画素の領域内の隣接する６行×２列の画素データに対して、垂直方向に並列に色差データ生成処理を行うことにより同時に生成される５個の色差データに対する垂直ローパスフィルタ処理を、処理対象となる６行×２列の領域を水平方向に１列ずつシフトしながら５回繰り返し、これによって生成される５個の垂直ローパスフィルタ処理されたデータに対して水平ローパスフィルタ処理を行うことにより、垂直方向、水平方向のフィルタ係数が１：４：６：４：１の比を持った２次元タップ数５×５の２次元ローパスフィルタ処理を行ってもよい。
【００５５】
この構成によれば、並列処理により同時に生成する色差データの個数、及びローパスフィルタ行う際の領域の大きさが適当であるので、並列処理による負荷を余り大きくせずに、空間周波数の高い成分を抑制し、偽色の発生を抑える事が出来る。
【００５６】
また、前記ローパスフィルタ手段は、前記タップ数Ｎを３とし、縦横４×４画素の領域内の隣接する４行×２列の画素データに対して、垂直方向に並列に色差データ生成処理を行うことにより同時に生成される３個の色差データに対する垂直ローパスフィルタ処理を、処理対象となる４行×２列の領域を水平方向に１列ずつシフトしながら３回繰り返し、これによって生成される３個の垂直ローパスフィルタ処理されたデータに対して水平ローパスフィルタ処理を行うことにより、垂直方向、水平方向のフィルタ係数が１：２：１の比を持った２次元タップ数３×３の２次元ローパスフィルタ処理を行ってもよい。
【００５７】
この構成によれば、並列処理により同時に生成する色差データの個数、及びローパスフィルタ行う際の領域のサイズが小さい為、画面垂直方向に行う並列処理の負荷が軽減される。
【００５８】
また、前記ローパスフィルタ手段は、前記タップ数Ｎを７とし、縦横８×８画素の領域内の隣接する８行×２列の画素データに対して、垂直方向に並列に色差データ生成処理を行うことにより同時に生成される７個の色差データに対する垂直ローパスフィルタ処理を、処理対象となる８行×２列の領域を水平方向に１列ずつシフトしながら７回繰り返し、これによって生成される７個の垂直ローパスフィルタ処理されたデータに対して水平ローパスフィルタ処理を行うことにより、垂直方向、水平方向のフィルタ係数が１：６：１５：２０：１５：６：１の比を持った２次元タップ数７×７の２次元ローパスフィルタ処理を行ってもよい。
【００５９】
この構成によれば、並列処理により同時に生成する色差データの個数、及びローパスフィルタ行う際の領域のサイズが大きい為、並列処理による負荷は大きいが、２次元ローパスフィルタによる空間周波数の高い成分を除去し、標本化定理で定まる限界周波数（ナイキスト周波数）以下に収まるように周波数帯域を制限して折り返し歪（エイリアス）の発生を防止する能力が向上する。
【００６０】
本発明の色分離処理方法は、撮像素子に入射する光を画素単位に１の色と、それと異なる複数の他の色とに色分解する色セルの配列を有し、前記色セルの配列は前記複数の他の色の色セルの各配置位置に対して水平方向、及び垂直方向に前記１の色の色セルがそれぞれ隣接して配置されてなる色セルの配列を最小単位とする色フィルタを備えた撮像素子から撮像データを得、この撮像データを色分離処理する色分離処理方法であって、前記撮像データを構成する各画素データを、色フィルタの色セルの色に対応づけて分離する色分離ステップと、前記分離された画素データの内、前記他の色に対応する画素データから、その水平、垂直方向に隣接する前記１の色に対応する画素データを各々減算し、色セルの配列の最小単位毎に複数の色差データを生成する色差データ生成ステップと、得られた複数の色差データの中から絶対値最小のものを、色セルの配列の最小単位毎に選択する選択実行ステップと、選択された色差データに対し、ローパスフィルタ処理を行うローパスフィルタステップとを含む。
【００６１】
この構成によれば、ベイヤー配列の最小単位毎に生成された垂直方向、及び水平方向の各色差データの中から絶対値最小、つまり色同士の相関が高いものを選択し、当該選択された複数の色差データに対してローパスフィルタ処理を行う事により、複数の色差データ間で平均化され空間周波数の高い成分が除去される前の色差データに対して色同士の相関を判定する為、撮像画像に斜め線、図形の角（エッジ成分）がある場合にも偽色の発生を大幅に軽減することができる。
【００６２】
本発明のプログラムは、撮像素子に入射する光を画素単位に１の色と、それと異なる複数の他の色とに色分解する色セルの配列を有し、前記色セルの配列は前記複数の他の色の色セルの各配置位置に対して水平方向、及び垂直方向に前記１の色の色セルがそれぞれ隣接して配置されてなる色セルの配列を最小単位とする色フィルタを備えた撮像素子から撮像データを得、この撮像データを色分離処理するためのコンピュータ実行可能なプログラムであって、前記撮像データを構成する各画素データを、色フィルタの色セルの色に対応づけて分離する色分離ステップと、前記分離された画素データの内、前記他の色に対応する画素データから、その水平、垂直方向に隣接する前記１の色に対応する画素データを各々減算し、色セルの配列の最小単位毎に複数の色差データを生成する色差データ生成ステップと、得られた複数の色差データの中から絶対値最小のものを、色セルの配列の最小単位毎に選択する選択実行ステップと、選択された色差データに対し、ローパスフィルタ処理を行うローパスフィルタステップとをコンピュータに実行させる。
【００６３】
この構成によれば、ベイヤー配列の最小単位毎に生成された垂直方向、及び水平方向の各色差データの中から絶対値最小、つまり色同士の相関が高いものを選択し、当該選択された複数の色差データに対してローパスフィルタ処理を行う事により、複数の色差データ間で平均化され空間周波数の高い成分が除去される前の色差データに対して色同士の相関を判定する為、撮像画像に斜め線、図形の角（エッジ成分）がある場合にも偽色の発生を大幅に軽減することができる。
【００６４】
本発明のデジタルカメラは、撮像素子に入射する光を光電変換することにより得られた撮像データを信号処理し、撮影された被写体の画像を表す情報を生成し記録するデジタルカメラであって、請求項１乃至請求項１２のいずれか１つに記載の色分離処理回路を備える。
【００６５】
この構成によれば、ベイヤー配列の最小単位毎に生成された垂直方向、及び水平方向の各色差データの中から絶対値最小、つまり色同士の相関が高いものを選択し、当該選択された複数の色差データに対してローパスフィルタ処理を行う事により、複数の色差データ間で平均化され空間周波数の高い成分が除去される前の色差データに対して色同士の相関を判定する為、撮像画像に斜め線、図形の角（エッジ成分）がある場合にも偽色の発生を大幅に軽減することができるデジタルカメラが得られる。
【００６６】
本発明のデジタルカメラは、撮像素子に入射する光を光電変換することにより得られた撮像データを信号処理し、撮影された被写体の画像を表す情報を生成し記録するデジタルカメラであって、請求項１３に記載の色分離処理方法を行う。
【００６７】
この構成によれば、ベイヤー配列の最小単位毎に生成された垂直方向、及び水平方向の各色差データの中から絶対値最小、つまり色同士の相関が高いものを選択し、当該選択された複数の色差データに対してローパスフィルタ処理を行う事により、複数の色差データ間で平均化され空間周波数の高い成分が除去される前の色差データに対して色同士の相関を判定する為、撮像画像に斜め線、図形の角（エッジ成分）がある場合にも偽色の発生を大幅に軽減することができるデジタルカメラが得られる。
【００６８】
本発明のデジタルカメラは、撮像素子に入射する光を光電変換することにより得られた撮像データを信号処理し、撮影された被写体の画像を表す情報を生成し記録するデジタルカメラであって、請求項１４に記載のプログラムを記憶する記憶手段を備え、前記記憶手段により記憶された前記プログラムを実行することにより色分離処理を行う。
【００６９】
この構成によれば、ベイヤー配列の最小単位毎に生成された垂直方向、及び水平方向の各色差データの中から絶対値最小、つまり色同士の相関が高いものを選択し、当該選択された複数の色差データに対してローパスフィルタ処理を行う事により、複数の色差データ間で平均化され空間周波数の高い成分が除去される前の色差データに対して色同士の相関を判定する為、撮像画像に斜め線、図形の角（エッジ成分）がある場合にも偽色の発生を大幅に軽減することができるデジタルカメラが得られる。
【発明を実施するための最良の形態】
【００７０】
（実施の形態１）以下、本実施の形態について、図面を参照しながら説明する。
【００７１】
（全体構成）
本実施の形態のデジタルカメラは、図１において、色フィルタ１、撮像素子２、ＣＤＳ／ＡＧＣ回路３、Ａ／Ｄコンバータ４、バッファメモリ５、タイミングジェネレータ６、制御部７、及び色分離処理部１０を含んで構成され、図中の色分離処理部１０が、本実施の形態の色分離処理回路に相当する。
【００７２】
色フィルタには、図２（ａ）に示すＲ、Ｇ、Ｂの３色で構成される原色フィルタと、図２（ｂ）に示すＹｅ、Ｃｙ、Ｍｇ、Ｇｒの４色で構成される補色フィルタの２種類があるが、本実施の形態では、色フィルタ１としてセル配列の最小単位が図３に示す２×２のＲＧＢベイヤー配列である原色フィルタを用いる。
【００７３】
撮像素子２の前面には、上記ＲＧＢベイヤー配列のセルを持つ色フィルタ１が配置され、図示しないレンズを通り、色フィルタ１を透過して撮像素子２に入射した光は、受光面に配置された受光素子（不図示）によって光電変換され、タイミングジェネレータ６が生成し撮像素子２を制御する垂直駆動、及び水平駆動信号により、連続的なアナログ輝度信号として出力される。ＣＤＳ／ＡＧＣ回路３は、撮像素子２から出力された前記アナログ輝度信号のノイズを除去すると共に、信号が所定のレベルになるよう可変利得増幅器（不図示）のゲインをコントロールする。
【００７４】
Ａ／Ｄコンバータ４は、撮像素子２から出力されたアナログ輝度信号をデジタル信号に変換する。バッファメモリ５は、Ａ／Ｄコンバータ４によりデジタル信号に変換された画素データを記憶すると共に、受け取ったデータを色分離処理部１０に出力する。
【００７５】
色分離処理部１０は、撮像素子２から出力されたアナログ輝度信号をデジタル変換した画素データを受け取り、色分離、色差データ生成、２次元ローパスフィルタ、及び色差マトリクスの各種デジタル信号処理を行い、その結果を色差信号Ｒ−Ｙ、Ｂ−Ｙとして出力する。
【００７６】
タイミングジェネレータ５は、撮像素子２の垂直駆動、水平駆動を行う駆動パルスを発生する。制御部６は、具体的には、ＣＰＵ（Central Processing Unit）、当該ＣＰＵが実行する各種の制御プログラムを記憶しているＲＯＭ（Read Only Memory）、及び当該ＣＰＵがプログラムを実行する際の作業領域であるＲＡＭ（Random Access Memory）からなるコンピュータであり、本実施の形態の色分離処理回路に対して画素クロックを供給すると共に、本実施の形態のデジタルカメラ全体を制御する。
【００７７】
本実施の形態では、上記のように、先に色差データを生成してベイヤー配列の２×２の単位配列毎に色差データの相関を判定した後に、ローパスフィルタ処理（以下、フィルタ処理という）を行う。一般にフィルタ処理では、まとまった領域（フィルタ原画素領域）の複数個のデータに対して個別にフィルタ係数を掛けてから、それらを加えるという演算を行うが、背景技術の項で述べたように、先にフィルタ処理を行ってから色差データを生成する従来の方式では、１回分のフィルタ処理を行う画素データは、バッファメモリ内に予め格納されている為に、必要なデータを順次読み出して来るだけでよい。
【００７８】
これに対して本実施例のように、先に色差データを生成してからフィルタ処理を行う方式では、フィルタ処理を行う色差データは、画素データを各処理部が処理を行っていく過程で順次生成される為、ベイヤー配列の２×２の単位配列毎に生成される複数の色差データに対して同時にフィルタ処理を行う為には、生成される色差データを一時的に記憶領域に保持するか、又はそれらの色差データを１回分のフィルタ処理に必要なだけ同時に生成して処理する方法のいずれかを選択しなければならない。前者の場合には、所定量の色差データを一旦蓄積してからフィルタ処理を行う為、処理時間の増加やタイミングの遅れ等が問題となるが、後者の場合には、複数の色差データを同時に生成する事が出来れば、前者のような処理時間の増加やタイミングの遅れは最小限に抑えられる。
【００７９】
なお本明細書では、複数の色差データの「並列処理」や、色差データを「同時に」生成するという事を、制御部６が供給する画素クロック（撮像素子の１画素の輝度信号が出力されてから、隣の画素の輝度信号が出力される迄の時間）の範囲内で、複数の色差データを処理、もしくは生成するという意味で用いる。
【００８０】
（色分離処理部１０の詳細）
色分離処理部１０は、色分離部１１、色補間部１２、色差データ生成部１３、選択実行部１４、ローパスフィルタ部１５、色差マトリクス部１６、及び並列処理制御部１７で構成され、色分離処理、色差データ生成処理、２次元ローパスフィルタ処理、及び色差マトリクス処理の各種デジタル信号処理を行う。
【００８１】
ここで、色分離処理部１０は、具体的には、ＤＳＰ（Digital Signal Processor）、当該ＤＳＰが実行する各種の制御プログラムを記憶しているＲＯＭ（Read Only Memory）、及び当該ＤＳＰがプログラムを実行する際の作業領域であるＲＡＭ（Random Access Memory）からなり、当該各部の機能は、当該ＤＳＰが当該プログラムを実行することによって実現される。
【００８２】
並列処理制御部１７は、処理開始時には、ローパスフィルタ部１５に含まれる後述のタップ数記憶部に保持されているタップ数Ｎを取得して、上記に述べた理由により、各処理部がベイヤー配列の２×２の単位配列毎に生成される色差データＮ個分に関する並列処理を行う為の初期設定を行うと共に、並列処理実行時の動作が円滑に行われるように必要な制御を行う。並列処理制御部１７の制御により、色分離部１１、色補間部１２、色差データ生成部１３、選択実行部１４が上記の並列動作を行う事により、ローパスフィルタ部１５にはＮ個の色差データであるＲi−Ｇi、及びＢi−Ｇi（ｉ＝０、１、２、・・・、Ｎ−１）が、画素クロック毎に同時に供給される。
【００８３】
色分離処理部１０に入力された画素データは、まず色分離部１１に送られ、画面内での位置に基づいてＲＧＢベイヤー配列の各色（Ｒ、Ｂ、Ｇ１、Ｇ２）と対応付ける色分離処理が行われる。
【００８４】
（色分離部１１の詳細）
撮像素子２から１画素ごとに読み出され、Ａ／Ｄコンバータ４によってデジタル変換された画素データは、バッファメモリ５により所定の画素数分の画素データが蓄積された後、画面上での位置に対応したＲＧＢベイヤー配列の各色（Ｒ、Ｂ、Ｇ１、Ｇ２）と対応付ける色分離処理が行われる。
【００８５】
図４は、バッファメモリから読み出した画素データを基に、色分離部１１による色分離処理、及び色補間部による色混合処理が行われる様子を示している。同図においてバッファメモリに格納された画素データ４０は、本実施の形態の色分離処理の処理単位であるベイヤー配列の２×２の単位配列の画素データが、水平方向に並んでいる様子を表わしている。色分離処理の１回分の処理対象となるベイヤー配列の２×２の単位配列は、制御部７から供給される画素クロック毎に１画素ずつ右にシフトして行く。右端に到達した場合は、１行（１画素分）下がると共に、左端に戻る。
【００８６】
スイッチ回路４１は、ベイヤー配列の２×２の単位配列の４画素を、画素クロックで１画素ずつ水平方向にシフトした際に、４画素中上方２画素のうち、常にＲ画素を選択し、同様にスイッチ回路４２は、４画素中下方２画素のうち、常にＢ画素を選択し、同様にスイッチ回路４３は、４画素中上方２画素のうち、常にＧ１画素を選択し、同様にスイッチ回路４４は、４画素中下方２画素のうち、常にＧ２画素を選択する。
【００８７】
処理対象となるベイヤー配列の２×２の単位配列の４画素は、画素クロックが加えられ処理対象となる４画素が水平方向にシフトしていく度に、４画素内での色配置が変化する為、前記スイッチ回路４１乃至４４で切り替えることにより、各スイッチ回路から常に同一色の画素データが出力されるようにする。色分離部１１により色分離処理された画素データの内、Ｇ１とＧ２に対応付けられた画素データからは、色補間部４５により、Ｇの斜め方向成分Ｇ３が生成される。
【００８８】
（色補間部１２の詳細）
図４において、色補間部４５は加算器４６、及び倍率器４７で構成される。同図において加算器４６は、Ｇ１、及びＧ２の画素データを加算し、Ｇ１＋Ｇ２を生成する。倍率器４７は、前記加算器４６で加算されたＧ１＋Ｇ２に対して、係数１／２を乗算する事により、Ｇ１、Ｇ２に対応する画素の中点を補間した値（Ｇ１＋Ｇ２）／２を生成し、これを新たな画素データＧ３として出力する。
【００８９】
ＲＧＢベイヤー配列の２×２の単位配列に属する画素データから生成されたＲ、Ｂ、Ｇ１、Ｇ２、Ｇ３各色の画素データは、次の色差データ生成部に送られ、６つの色差データＲ―Ｇ１、Ｒ−Ｇ２、Ｒ−Ｇ３、Ｂ−Ｇ１、Ｂ−Ｇ２、Ｂ−Ｇ３が生成される。
【００９０】
（色差データ生成部１３の詳細）
図５において、色差データ生成部は、加算器（引算器）５０乃至５５により構成される。同図において、加算器（引算器）５０乃至５５が、前記色分離部、及び色補間部から出力される画素データを引算する事により、６個の色差データＲ−Ｇ１、Ｒ−Ｇ２、Ｒ−Ｇ３、Ｂ−Ｇ１、Ｂ−Ｇ２、Ｂ−Ｇ３が生成される。
【００９１】
前記色差データ生成部が生成した２組の色差データ（Ｒ―Ｇ１、Ｒ−Ｇ２、Ｒ−Ｇ３）、及び（Ｂ−Ｇ１、Ｂ−Ｇ２、Ｂ−Ｇ３）は、次の選択実行部において絶対値が最小のものがそれぞれ選択され、色差データＲ−Ｇ、及びＢ−Ｇとして出力される。
【００９２】
（選択実行部１４の詳細）
図５において、選択実行部は、絶対値生成回路５６乃至６１、最小値選択回路６２、６３、及び選択回路６４、６５により構成される。同図において、絶対値生成回路５６乃至６１は、色差データ生成部が生成した６個の色差データＲ−Ｇ１、Ｒ−Ｇ２、Ｒ−Ｇ３、Ｂ−Ｇ１、Ｂ−Ｇ２、Ｂ−Ｇ３の絶対値を各々生成する。最小値選択回路６２、６３は、色差データの組（Ｒ−Ｇ１、Ｒ−Ｇ２、Ｒ−Ｇ３）、及び（Ｂ−Ｇ１、Ｂ−Ｇ２、Ｂ−Ｇ３）に対し、絶対値生成回路５６乃至６１が生成した各色差データの絶対値の大小を比較する事により、絶対値が最小となるものをそれぞれ選択し、当該選択された色差データの情報を選択回路６４、及び６５に通知する。選択回路６４、及び６５は、（Ｒ−Ｇ１、Ｒ−Ｇ２、Ｒ−Ｇ３）、及び（Ｂ−Ｇ１、Ｂ−Ｇ２、Ｂ−Ｇ３）の各組から、最小値選択回路６２、及び６３により通知された信号をそれぞれ選択し、当該選択した信号を色差データＲ−Ｇ、及びＢ−Ｇとして出力する。
【００９３】
上記のように（Ｒ−Ｇ１、Ｒ−Ｇ２、Ｒ−Ｇ３）の組と、（Ｂ−Ｇ１、Ｂ−Ｇ２、Ｂ−Ｇ３）の組とで絶対値が最小のものを各々選択する事により、選択実行部１４は色差データを生成した画素データの組み合わせのうち、色同士の相関が最も高いものを選択する。選択実行部１４により色同士の相関が高いと判定され、選択された色差データＲ−Ｇ、及びＢ−Ｇはローパスフィルタ部１５に送られるが、ローパスフィルタ部１５がローパスフィルタ処理を行って空間周波数の高域成分が除去される前の色差データに対し相関を判定する事により、偽色の発生を大幅に抑制する効果が得られる。
【００９４】
前記選択実行部１４がベイヤー配列の２×２の単位配列毎に選択した色差データであるＲ−Ｇ、及びＢ−Ｇに対し、次のローパスフィルタ部１５が２次元ローパスフィルター処理を行う。
【００９５】
（ローパスフィルタ部１５の詳細）
図６は、ローパスフィルタ部１５の構成を示す図である。同図において、ローパスフィルタ部７０は、タップ数記憶部７１、フィルタ係数記憶部７２、フィルタ係数取得部７３、フィルタ演算部７４を含んで構成される。
【００９６】
タップ数記憶部７１は、ローパスフィルタ部７０が色差データに対して垂直方向、及び水平方向のローパスフィルタ処理を行う際に、１回のフィルタ演算処理を行う際に使用する色差データの個数であるタップ数を記憶している。
【００９７】
フィルタ係数記憶部７２は、垂直、及び水平の各方向のローパスフィルタ処理を行う為の異なる複数個のフィルタ係数を記憶し、フィルタ係数取得部７３は、タップ数記憶部７１が保持するタップ数Ｎの値に基づき、前記タップ数Ｎに対応付けて記憶されたＮ個のフィルタ係数を取得する。
【００９８】
フィルタ演算を行うフィルタ演算部７４は、前記フィルタ係数取得部７２が取得したＮ個のフィルタ係数を用いて、各々垂直方向、及び水平方向に２次元タップ数Ｎ×Ｎの２次元ローパスフィルタ処理を行い、垂直方向、及び水平方向にローパスフィルタ処理を行う垂直フィルタ演算部７７、及び水平フィルタ演算部７８を含んで構成される。
【００９９】
垂直フィルタ演算部７７、及び水平フィルタ演算部７８は、それぞれ前記フィルタ係数取得部７３が取得したＮ個のフィルタ係数を用いて、各々垂直方向、及び水平方向の１次元ローパスフィルタ処理を行うが、これらの処理を続けて行う事により等価的に、Ｎ×Ｎの２次元領域の色差データに対する２次元ローパスフィルタ処理を行う。これにより、色差データから空間周波数の高い成分を除去し、空間周波数が標本化定理で定まる限界周波数（ナイキスト周波数）以下に収まるように周波数帯域を制限して折り返し歪（エイリアス）の発生を防止する。
【０１００】
上記フィルタ処理を経て得られた色差データＲ−Ｇ、Ｂ−Ｇは、色差マトリクス部７６に出力される。
【０１０１】
（フィルタ係数設定処理）
図７は、ローパスフィルタ部１５が行う、フィルタ係数設定処理の流れを示すフローチャートである。ローパスフィルタ部１５は、まずタップ数記憶部７１が保持するタップ数の値Ｎを取得する（Ｓ８０）。次にローパスフィルタ部１５は、フィルタ係数記憶部７２に保持されているフィルタ係数を検索し、前記取得されたタップ数の値Ｎに対応付けられたフィルタ係数ａi、及びｂj（ｉ，ｊ＝０，１，・・・，Ｎ−１）を取得する（Ｓ８１）。最後にローパスフィルタ部１５は、並列処理制御部７５に対して、前記取得されたタップ数Ｎの値を通知する（Ｓ８２）。以上の処理により、ローパスフィルタ部１５におけるフィルタ係数の設定処理が完了する。
【０１０２】
（並列処理制御部１７による初期化処理）
図８は、並列処理制御部１７が、並列処理開始時に色分離部１１、色補間部１２、色差データ生成部１３、及び選択実行部１４に対して初期設定を行う際の処理の流れを示すフローチャートである。並列処理開始時において並列処理制御部１７は、まずローパスフィルタ部１５に含まれるタップ数記憶部７１が保持するタップ数Ｎの値を取得する（Ｓ９０）。次に並列処理制御部１７は、上記の各処理部に対して、画面垂直方向に色差データＮ個分の並列処理を行うよう初期設定を行う（Ｓ９１）。最後に並列処理制御部１７は、色分離部１１、色補間部１２、色差データ生成部１３、及び選択実行部１４に対して、上記の設定に基づいて並列処理を開始するように指示する（Ｓ９２）。以上の処理により、並列処理を行う各処理部に対する初期設定が行われ、色差データＮ個分の並列処理が開始される。
【０１０３】
（ローパスフィルタ処理の概要）
図９は、垂直フィルタ演算部７７、及び水平フィルタ演算部７８が行うローパスフィルタ処理の概要を示す図である。
【０１０４】
なお、本実施の形態のタップ数はＮ＝５であり、フィルタ係数は ａi＝ｂi＝｛１、４、６、４、１｝（ｉ＝０，１，・・・，４）である。この場合、ｉ番目のフィルタ係数は、ａi、ｂi共に２項係数 Ｎ−１Ｃi で与えられ、左上を原点（０、０）として、座標（ｉ、ｊ）で指定される２次元等価ＬＰＦ係数は、図９の下部において示すように、ａi＊ｂｊ＝Ｎ−１Ｃi × Ｎ−１Ｃj で与えられる（ｉ、ｊ＝０，１，・・・，４）。
【０１０５】
同図において、１回分のフィルタ処理の対象領域である縦横６×６のフィルタ原画素領域の画素データが、バッファメモリ１００に保持されている。
【０１０６】
上述の図４に示した色分離部、及び色補間部、並びに図５に示した色差データ生成部、及び選択実行部を、ここではフィルタ前処理部１０１乃至１０５として模式的に表わしている。バッファメモリ１００に保持された画素データからは、前記領域内に取られるベイヤー配列の２×２の単位配列毎に、１組の色差データ（Ｒ−Ｇ、Ｂ−Ｇ）が生成される。
【０１０７】
ここで、背景技術の項で述べたのと同様、１回のフィルタ処理を行って１画素分の色差データＲ−Ｇ、Ｂ−Ｇを生成する為にバッファメモリから画素データを取り出す領域を、フィルタ原画素領域という。１回のフィルタ処理により生成される色差データは、前記フィルタ原画素領域のセンター位置における色差データである。ローパスフィルタのタップ数をＮとすると、フィルタ原画素領域は本実施形態の場合、画面上縦横（Ｎ＋１）×（Ｎ＋１）のサイズの画素領域である。
【０１０８】
従って縦横６×６のサイズのフィルタ原画素領域からは、縦横５×５組の色差データが１回分のフィルタ処理の為に生成される。ここで、行と行の間を整数ｉ、列と列の間を整数ｊで指定すると、上記領域内に取られる５×５個の各ベイヤー配列の２×２の単位配列は、左上端を原点（０、０）として、（ｉ、ｊ）の組で指定される（ｉ、ｊ＝０、１、２、３、４）。従って、各ベイヤー配列の２×２の単位配列から生成される１組の色差データ（Ｒ−Ｇ、Ｂ−Ｇ）は、２個の添字ｉ、ｊを用いて（Ｒij−Ｇij、Ｂij−Ｇij）のように指定する事ができる。
【０１０９】
本実施例では、垂直方向の色差データに対しては並列処理を行って同時に生成する為、添字ｊが同じ色差データは同時に生成される。一方、添字ｊが異なるものについては、画素クロックによりベイヤー配列の２×２の単位配列が１画素ずつ右にシフトする度にｊを０から１ずつ加算して行くにつれて、添字ｊに対応する色差データ（Ｒij−Ｇij、Ｂij−Ｇij）（ｉ＝０、１、２、３、４）が順次生成される。
【０１１０】
画素クロックに従ってｊが０から４迄カウントされる事により、６×６の画素データから順次生成された色差データ（Ｒij−Ｇij、Ｂij−Ｇij）（ｉ＝０、１、２、３、４）は、ｊ＝０のもの（（Ｒi0−Ｇi0）、及び（Ｂi0−Ｇi0））から順番にローパスフィルタ部に送られ、垂直フィルタ演算部１０６により垂直方向のローパスフィルタ処理が行われ、さらに水平フィルタ演算部１０９により水平方向のローパスフィルタ処理が行われる。これら２方向のローパスフィルタ処理を続けて行う事により、結果として２次元ローパスフィルタ処理が行われる。
【０１１１】
（垂直フィルタ演算部１０６）
垂直フィルタ演算部１０６は、画素クロック毎に生成されるｊ列目の、２×Ｎ個の色差データ（Ｒkj−Ｇkj、Ｂkj−Ｇkj）（ｋ＝０、１、２、３、４）を１クロック毎に読み込み、その第ｉ番目の成分（Ｒij−Ｇij、Ｂij−Ｇij）に対し、垂直フィルタ係数１０７のａｉを乗算したものを、加算器１０８でｉ＝０から４まで各々加算し、結果を水平フィルタ演算部１０９に出力する。
【０１１２】
（水平フィルタ演算部１０９）
水平フィルタ演算部１０９は、垂直フィルタ演算部１０６の加算器１０８が加算した結果を、１クロック毎に取得する。前記取得された値であり、画素クロックに従ってｊ番目（ｊ＝０、１、２、３、４）に取得された値に対して、水平フィルタ係数１１０のｂｊを乗算したものを、加算器１１１でｊ＝０から４まで各々加算し、色差データとして出力する。
【０１１３】
（２次元等価フィルタ係数）
図９の下部に示す２次元等価ＬＰＦ係数１１２は、前記垂直フィルタ演算部１０６と水平フィルタ演算部１０９が各々行うローパスフィルタ処理を続けて行った場合の、等価的な２次元フィルタ係数を表し、縦横６×６の領域にある各画素データから生成される縦横５×５の各色差データ（Ｒij−Ｇij、Ｂij−Ｇij）（ｉ、ｊ＝０、１、２、３、４）に対して、総合的に乗算される係数である。
【０１１４】
（２次元フィルタ処理）
図１０は、ローパスフィルタ部１５が行う、２次元フィルタ処理の流れを示すフローチャートである。ローパスフィルタ部１５は、まずタップ数Ｎ＝５を取得する（Ｓ１２０）。次に、色差データを規格化する定数Ｖとして、垂直フィルタ係数ａｉ、及び水平フィルタ係数ｂｊ（ｉ、ｊ＝０、１、２、・・・、Ｎ−１）の積 ａｉ＊ｂｊ の最大値をセットする（Ｓ１２１）。次に、列を指定する変数ｊに０をセットすると共に、ＵR-G に０をセット（Ｓ１２２）し、画素クロックに従って、ｊ列目のＮ個の色差データ（Ｒkj−Ｇkj ）（ｋ＝０、１、２、・・・、Ｎ−１）を取得する（Ｓ１２３）。次に、行を指定する変数ｉに０をセットすると共に、ＳR-G に０をセットする（Ｓ１２４）。次に、画素クロックに従って取得された、ｊ列目のＮ個の色差データ（Ｒkj−Ｇkj）（ｋ＝０、１、２、３、４）のうちの、第ｉ番目の成分（Ｒij−Ｇij）に対し、垂直フィルタ係数ａｉを乗算したものを、ＳR-G に加え（Ｓ１２５）た後、ｉに１を加算する（Ｓ１２６）。ｉがＮ以上（Ｓ１２７：Ｙｅｓ）であれば、ステップＳ１２８に進み、そうでなければ（Ｓ１２７：Ｎｏ）、ステップＳ１２３に戻る。次に、ＳR-Gに対し、水平フィルタ係数ｂｊを乗算したものを、ＵR-G に加え（Ｓ１２８）た後、ｊに１を加算する（Ｓ１２９）。ｊがＮ以上（Ｓ１３０：Ｙｅｓ）であれば、ステップＳ１３１に進み、そうでなければ（Ｓ１３０：Ｎｏ）、ステップＳ１２３に戻る。最後に ＵR-Gを前記規格化定数Ｖで除算した ＵR-G／Ｖ を、縦横６×６画素の領域のセンター位置の色差データＲ−Ｇとして出力する（Ｓ１３１）。以上の処理により、ローパスフィルタ部１５における２次元フィルタ処理が完了する。なお、もう一方の色差データＢ−Ｇについても、上記と同様に行う事により、センター位置の色差データＲ−Ｇが出力される。
【０１１５】
（フィルタ係数を２項係数とした場合の画質の向上）
本実施の形態の場合のように、フィルタ係数が２項係数ａi＝ｂi＝Ｎ−１Ｃi（ｉ＝０，１，・・・，Ｎ−１；Ｎはタップ数）で与えられる場合には、各色差データに対して乗算されるフィルタ係数の重心は、i＊ａiのｉに関する和をａiのｉに関する和で除算した値である、前記垂直フィルタ係数の重心ｉGが垂直方向のセンター位置ｉC＝（Ｎ−１）／２であり、またｊ＊ｂjのｊに関する和をｂjのｊに関する和で除算した値である、前記水平フィルタ係数の重心ｊGが水平方向のセンター位置ｊC＝（Ｎ−１）／２であるという性質がある。この為、フィルタ係数の重心が垂直方向、及び水平方向で各々センター位置となるローパスフィルタ処理を行うので、縦横Ｎ×Ｎのサイズのフィルタ対象領域のセンター位置（ｉC，ｊC）に近い色差データ程、寄与が大きくなる為、空間周波数の高域成分を抑えつつ、元の撮像画像に忠実な画像が再現できる。
【０１１６】
（フィルタ係数を２項係数とした場合の偽色抑圧効果）
また前項と同様、本実施の形態の場合のように、フィルタ係数が２項係数ａi＝ｂi＝Ｎ−１Ｃi（ｉ＝０，１，・・・，Ｎ−１；Ｎはタップ数）で与えられる場合には、以下のような特長がある。
【０１１７】
Ｎ×Ｎ個の色差データＲij−Ｇij、もしくはＢij−Ｇij（ｉ，ｊ＝０，１，・・・，Ｎ-1）を生成する元になった、（Ｎ＋１）×（Ｎ＋１）のフィルタ原画素領域の画素データについて考えると、前記フィルタ原画素領域に含まれる各画素データの位置を指定する座標（ｋ，ｌ）（ｋ，ｌ＝−１／２，１／２,３／２，・・・，Ｎ−１／２）と、前記各画素データの位置を指定する座標（ｋ，ｌ）で指定される（Ｎ＋１）×（Ｎ＋１）個の各画素データに対してフィルタ処理を行う事によって乗算されるフィルタ係数Ｄklとの積に対し、色フィルタの各色（Ｒ、Ｇ１、Ｇ２、Ｂ）毎にｋ，ｌに関する和を取ったものを、前記乗算された各係数Ｄklに対し、色フィルタの各色（Ｒ、Ｇ１、Ｇ２、Ｂ）毎にｋ，ｌに関する和を取ったもので除算した結果である色フィルタの各色（Ｒ、Ｇ１、Ｇ２、Ｂ）毎の画素重心座標（ｋG，ｌG）が、色フィルタの色が前記他の複数の色セルの色（Ｒ、Ｂ）である場合に、前記縦横Ｎ×Ｎ領域のセンター位置座標（ｉC，ｊC）＝（（Ｎ−１）／２，（Ｎ−１）／２）に一致する。即ち、前記他の複数の色セルの色（Ｒ、Ｂ）に対応する画素間の位置ずれが、フィルタ処理により総体的に平均化され吸収される事により、ローパスフィルタ部から出力される色差データＲ−Ｇ、Ｂ−Ｇには、Ｒ、Ｂの各色について、画素間の位置ずれによる影響が、全体として打ち消される。
【０１１８】
図１１は、フィルタ処理によりフィルタ原画素領域（Ｎ＝５）の各Ｒ画素に対してそれぞれ乗算される係数を示す図であり、また図１２は、フィルタ処理によりフィルタ原画素領域（Ｎ＝５）の各Ｂ画素に対してそれぞれ乗算される係数を示す図である。
【０１１９】
両図において式で示すように、Ｒ、Ｂの各場合について、ｋ＊Ｄklについてｋ，ｌに関する和を取ったものを、Ｄklについてｋ，ｌに関する和を取ったもので除算した結果である画素重心ｋGは、フィルタ原画素領域（Ｎ＝５）のセンター位置ｉC＝（Ｎ−１）／２に一致し、また、ｌ＊Ｄklについてｋ，ｌに関する和を取ったものを、Ｄklについてｋ，ｌに関する和を取ったもので除算した結果である画素重心ｌGは、フィルタ原画素領域（Ｎ＝５）のセンター位置ｊC＝（Ｎ−１）／２に一致する。
【０１２０】
従って、本実施形態のようにフィルタ係数を２項係数とした場合には、フィルタ処理においても偽色抑圧効果が得られる事により、全体的な画質が更に向上する。なお、Ｇ１、Ｇ２については、選択実行手段により色同士の相関を判定する際に、各ベイヤー配列の単位配列において、どちらを含んだ色差データが選択されるかは予め確定していない。この為、Ｇ１画素、及びＧ２画素の場合には、上記のＲ画素、Ｂ画素の場合のような特長は成立しない。
【０１２１】
(色差マトリクス部１６)
前記ローパスフィルタ部１５により２次元ローパスフィルタ処理された画素データＲ−Ｇ、及びＢ−Ｇは、色差マトリクス部１６において色差マトリクス処理が行われ、下記の変換式（５）、（６）により最終的に色信号から輝度信号を分離した形の色差信号Ｒ−Ｙ、Ｂ−Ｙが出力される。
【０１２２】
Ｒ−Ｙ ＝   ０．７（Ｒ−Ｇ）−０．１１（Ｂ−Ｇ）          ・・・（５）
Ｂ−Ｙ ＝ −０．３（Ｒ−Ｇ）＋０．８９（Ｂ−Ｇ）          ・・・（６）
（色差信号の計算式）
本実施の形態の色分離処理回路で生成される色差データＲ−Ｇ、Ｂ−Ｇは、入力画像を具体的に与える事によって、数式を用いて計算する事ができる。背景技術の項で説明したのと同様に、バッファメモリ内の任意のフィルタ原画素領域における１６個の画素を、図１７の様にＲａ、Ｂｂ、Ｇ１ｃ等、ａ、ｂ、ｃ、ｄの添字をつけて指定する。この方法によると、本実施の形態の色分離処理回路が生成するフィルタ原画素領域のセンター位置の色差信号は、フィルタ原画素領域内の各画素の輝度Ｒi、Ｂi、Ｇ１i、Ｇ２i（ｉ＝ａ、ｂ、ｃ、ｄ）を用いて、次のような式で表わされる。
【０１２３】
Ｒ−Ｇ ＝
ａｂｓｍｉｎ（Ｒａ−Ｇ１ａ、Ｒａ−Ｇ２ａ、Ｒａ−（Ｇ１ａ＋Ｇ２ａ）／２）＋２×ａｂｓｍｉｎ（Ｒｂ−Ｇ１ｂ、Ｒｂ−Ｇ２ａ、Ｒａ−（Ｇ１ｂ＋Ｇ２ａ）／２）＋ａｂｓｍｉｎ（Ｒｂ−Ｇ１ｂ、Ｒｂ−Ｇ２ｂ、Ｒａ−（Ｇ１ｂ＋Ｇ２ｂ）／２）＋２×ａｂｓｍｉｎ（Ｒａ−Ｇ１ｄ、Ｒａ−Ｇ２ａ、Ｒａ−（Ｇ１ｄ＋Ｇ２ａ）／２）＋４×ａｂｓｍｉｎ（Ｒｂ−Ｇ１ｃ、Ｒｂ−Ｇ２ａ、Ｒｂ−（Ｇ１ｃ＋Ｇ２ａ）／２）＋２×ａｂｓｍｉｎ（Ｒｂ−Ｇ１ｃ、Ｒｂ−Ｇ２ｂ、Ｒｂ−（Ｇ１ｃ＋Ｇ２ｂ）／２）＋ａｂｓｍｉｎ（Ｒｄ−Ｇ１ｄ、Ｒｄ−Ｇ２ｄ、Ｒｄ−（Ｇ１ｄ＋Ｇ２ｄ）／２）＋２×ａｂｓｍｉｎ（Ｒｃ−Ｇ１ｃ、Ｒｃ−Ｇ２ｄ、Ｒｃ−（Ｇ１ｃ＋Ｇ２ｄ）／２）＋ａｂｓｍｉｎ（Ｒｃ−Ｇ１ｃ、Ｒｃ−Ｇ２ｃ、Ｒｃ−（Ｇ１ｃ＋Ｇ２ｃ）／２）                    ・・・（７）
Ｂ−Ｇ ＝
ａｂｓｍｉｎ（Ｂａ−Ｇ１ａ、Ｂａ−Ｇ２ａ、Ｂａ−（Ｇ１ａ＋Ｇ２ａ）／２）＋２×ａｂｓｍｉｎ（Ｂａ−Ｇ１ｂ、Ｂａ−Ｇ２ａ、Ｂａ−（Ｇ１ｂ＋Ｇ２ａ）／２）＋ａｂｓｍｉｎ（Ｂｂ−Ｇ１ｂ、Ｂｂ−Ｇ２ｂ、Ｂｂ−（Ｇ１ｂ＋Ｇ２ｂ）／２）＋２×ａｂｓｍｉｎ（Ｂｄ−Ｇ１ｄ、Ｂｄ−Ｇ２ａ、Ｂｄ−（Ｇ１ｄ＋Ｇ２ａ）／２）＋４×ａｂｓｍｉｎ（Ｂｄ−Ｇ１ｃ、Ｂｄ−Ｇ２ａ、Ｂｄ−（Ｇ１ｃ＋Ｇ２ａ）／２）＋２×ａｂｓｍｉｎ（Ｂｃ−Ｇ１ｃ、Ｂｃ−Ｇ２ｂ、Ｂｃ−（Ｇ１ｃ＋Ｇ２ｂ）／２）＋ａｂｓｍｉｎ（Ｂｄ−Ｇ１ｄ、Ｂｄ−Ｇ２ｄ、Ｂｄ−（Ｇ１ｄ＋Ｇ２ｄ）／２）＋２×ａｂｓｍｉｎ（Ｂｄ−Ｇ１ｃ、Ｂｄ−Ｇ２ｄ、Ｂｄ−（Ｇ１ｃ＋Ｇ２ｄ）／２）＋ａｂｓｍｉｎ（Ｂｃ−Ｇ１ｃ、Ｂｃ−Ｇ２ｃ、Ｂｃ−（Ｇ１ｃ＋Ｇ２ｃ）／２）                  ・・・（８）
上式のａｂｓｍｉｎ（）関数は、背景技術の項で説明したものと同様、引数として与えられた数値の絶対値を比較し、それが最小となるものを返す関数である。
【０１２４】
撮像素子に対して任意の画像を入力した場合に、本実施の形態の色分離処理回路で生成される色差データは、上式を用いて計算する事ができる。
【０１２５】
一方、本実施の形態の色分離処理回路で生成される色差データＲ−Ｇ、Ｂ−Ｇに含まれる偽色の度合いは、背景技術の項で述べた偽色レベルの定義を用いる。
（偽色レベルの計算）
上記の色差信号を計算する式（７）、及び式（８）に対し、入力した画像データに応じてＲａ、Ｒｂ、Ｒｃ、Ｒｄ、Ｂａ、Ｂｂ、Ｂｃ、Ｂｄ、Ｇ１ａ、Ｇ１ｂ、Ｇ１ｃ、Ｇ１ｄ、Ｇ２ａ、Ｇ２ｂ、Ｇ２ｃ、Ｇ２ｄの１６画素の輝度（Ｒに対しては０からｒ迄、Ｂに対しては０からｂ迄、Ｇ１、及びＧ２に対しては、０からｇ迄）を具体的に代入する事により、フィルタ原画素領域のセンター位置の色差信号の値が計算される。
【０１２６】
図１８、及び図１９は、それぞれ縦線、及び横線の白黒２値画像を撮像した場合の偽色の程度を示す図であり、元の画像を（ａ）撮像画像に、またバッファメモリ内のデータの様子を（ｂ）バッファメモリに示す。このような画像について、色分離処理を行った結果出力される色差信号（Ｒ−Ｇ）、（Ｂ−Ｇ）に対し、偽色レベル（ＦＲ−Ｇ、ＦＢ−Ｇ）を式（７）乃至式（８）、及び式（３）乃至式（４）を用いて計算した結果を同図の（ｃ）偽色レベルの比較において、「新方式」の欄に示している。
【０１２７】
このように、４×４の１６画素の領域を縦線や横線が横切る場合には、偽色レベル（ＦＲ−Ｇ、ＦＢ−Ｇ）はいずれも０となり、偽色が発生しない。この場合本実施の形態の色分離処理回路は、従来の色分離処理回路に比べて、少なくとも同等以上の性能を有する。
【０１２８】
図２０、図２１、及び図２２は、それぞれ斜め線、右下エッジ成分、及び右上エッジ成分の白黒２値画像を撮像した場合の偽色の程度を示す図であり、元の画像を（ａ）撮像画像に、またバッファメモリ内のデータの様子を（ｂ）バッファメモリに示す。このような画像について色分離処理を行った結果出力される色差信号（Ｒ−Ｇ）、（Ｂ−Ｇ）について、偽色レベル（ＦＲ−Ｇ、ＦＢ−Ｇ）を式（７）乃至式（８）、及び式（３）乃至式（４）を用いて計算した結果を同図の（ｃ）偽色レベルの比較において、「新方式」の欄に示している。
【０１２９】
このように、１６画素のフィルタ原画素領域内を斜め線が横切ったり、領域内に図形の角（エッジ成分）が存在している場合には、従来の色分離処理回路では偽色レベル（ＦＲ−Ｇ、ＦＢ−Ｇ）がいずれも０とならなかったが、一方、本実施の形態の色分離処理回路の場合には、偽色レベル（ＦＲ−Ｇ、ＦＢ−Ｇ）がいずれも０となる（斜め線、右下エッジ成分の場合）か、又は０とならない場合でも、従来の色分離処理回路の偽色レベルよりは小さい値となっている（右上エッジ成分の場合）。右上エッジ成分の場合は、本実施の形態の色分離処理回路においても偽色レベル（ＦＲ−Ｇ、ＦＢ−Ｇ）が０とならないが、（ＦＲ−Ｇ、ＦＢ−Ｇ）を２次元ベクトルとして考えた場合の大きさ（ＦＲ−Ｇ2＋ＦＢ−Ｇ2の平方根）は、「従来方式」の場合が（４０）1/2≒６．３２４５５であり、一方「新方式」の場合は４である。両者の比を取ると「新方式」／「従来方式」≒０．６３２５となり、この場合、約３7％の偽色抑圧効果が得られている。
【０１３０】
従って本実施の形態の色分離処理回路は、従来の色分離処理回路に比べて、偽色を抑制する効果が高い。
【０１３１】
（実施の形態２）
図１３は、本実施の形態のデジタルカメラにおける色分離処理回路のローパスフィルタ処理の概要を示す図である。
【０１３２】
実施の形態１では、タップ数Ｎ＝５であり、フィルタ係数はＮ＝５とした場合の２項係数 ａi＝ｂj＝｛１、４、６、４、１｝（ｉ，ｊ＝０，１，２，３，４）であったが、本実施形態のタップ数は、Ｎ＝３であり、フィルタ係数はＮ＝３とした場合の２項係数 ａi＝ｂj＝｛１、２、１｝（ｉ，ｊ＝０，１，２）である。本実施の形態はタップ数Ｎの値と、フィルタ係数ａi、ｂjの各値が実施の形態１と異なるのみであり、これ以外の構成は実施の形態１と全く同じである。
【０１３３】
この場合、左上を原点（０、０）として、座標（ｉ、ｊ）で指定される２次元フィルタ係数は、ａi＊ｂｊ＝２Ｃi × ２Ｃj （ｉ，ｊ＝０，１，２）で与えられる為、実施の形態１で述べたのと同様な画質向上効果が期待できる。
【０１３４】
タップ数Ｎの値が実施の形態１よりも小さい為、垂直方向に色差データを同時生成する並列処理の負荷は軽減されるが、その一方、２次元ローパスフィルタ処理を行う際のフィルタ原画素領域のサイズが小さくなる事から、ローパスフィルタにより空間周波数が高い成分を除去し、標本化定理で定まる限界周波数（ナイキスト周波数）以下に収まるように周波数帯域を制限する能力が低下する事により、折り返し歪（エイリアス）が発生しやすくなる。
【０１３５】
（実施の形態３）
図１４は、本実施の形態のデジタルカメラにおける色分離処理回路のローパスフィルタ処理の概要を示す図である。
【０１３６】
実施の形態１では、タップ数Ｎ＝５であり、フィルタ係数はＮ＝５とした場合の２項係数 ａi＝ｂj＝｛１、４、６、４、１｝（ｉ，ｊ＝０，１，２，３，４）であったが、本実施形態のタップ数は、Ｎ＝７であり、フィルタ係数はＮ＝７とした場合の２項係数 ａi＝ｂj＝｛１、６、１５、２０、１５、６、１｝（ｉ，ｊ＝０，１，２，・・・，６）である。本実施の形態はタップ数Ｎの値と、フィルタ係数ａi、ｂjの各値が実施の形態１、及び実施の形態２と異なるのみであり、これ以外の構成は実施の形態１と全く同じである。
【０１３７】
この場合、左上を原点（０、０）として、座標（ｉ、ｊ）で指定される２次元フィルタ係数は、ａi＊ｂｊ＝６Ｃi × ６Ｃj （ｉ，ｊ＝０，１，２，・・・，６）で与えられる為、実施の形態１で述べたのと同様な画質向上効果が期待できる。
【０１３８】
タップ数Ｎの値が実施の形態１よりも大きい為、２次元ローパスフィルタ処理を行う際のフィルタ原画素領域のサイズが大きくなり、垂直方向に色差データを同時生成する並列処理の負荷が増大するが、ローパスフィルタによる空間周波数の高い成分を除去し、標本化定理で定まる限界周波数（ナイキスト周波数）以下に収まるように周波数帯域を制限して折り返し歪（エイリアス）の発生を防止する能力が向上する。
（まとめ）
以上のようにしてＲＧＢベイヤー配列の最小単位毎に生成された垂直方向、水平方向、及び斜め方向の各色差データの中から絶対値最小、つまり色同士の相関が高いものを選択し、当該選択された複数の色差データに対してローパスフィルタ処理を行う事により、複数の色差データ間で平均化され空間周波数の高い成分が除去される前の色差データに対して色同士の相関を判定する為、撮像画像に斜め線、図形の角（エッジ成分）がある場合にも偽色の発生を大幅に軽減することができる。
【０１３９】
またフィルタ係数ａi、ｂｊ（ｉ，ｊ＝０，１，・・・，Ｎ−１；Ｎはタップ数）として２項係数を用いる事により、前記他の複数の色セルの色（Ｒ、Ｂ）に対応する画素間の位置ずれが、フィルタ処理により総体的に平均化され吸収される事により、ローパスフィルタ部から出力される色差データＲ−Ｇ、Ｂ−Ｇには、Ｒ、Ｂの各色について、画素間の位置ずれによる影響が、全体として打ち消される。
【０１４０】
従って、本実施形態のようにフィルタ係数を２項係数とした場合には、フィルタ処理においても偽色抑圧効果が得られる事により、全体的な画質が更に向上する。
（その他の変形例）
なお、本発明を上記の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
（１）本発明は、実施の形態で説明したステップを含む方法を、コンピュータシステムを用いて実現するためのコンピュータプログラムであるとしてもよいし、前記プログラムを表すデジタル信号であるとしてもよい。
【０１４１】
また、本発明は、前記プログラム又は前記デジタル信号を記録したコンピュータ読取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ、ＭＯ、ＤＶＤ、半導体メモリ等であるとしてもよい。
【０１４２】
また、本発明は、電気通信回線、無線又は有線通信回線、若しくはインターネットに代表されるネットワーク等を経由して伝送される前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【０１４３】
また、前記プログラム又は前記デジタル信号は、前記記録媒体に記録されて移送され、若しくは、前記ネットワーク等を経由して移送され、独立した他のコンピュータシステムにおいて実施されるとしてもよい。
（２）実施の形態では、タップ数をＮとした場合、ベイヤー配列の２×２の単位配列毎に生成される色差データＮ個分に関する並列処理を行うものとしたが、並列処理は行わなくてもよい。その場合には、全体の処理時間の増加や、フィルタ処理の済んだ色差データが画素クロック毎に生成されない事による、表示タイミングの遅れが生じる。
（３）実施の形態では、画素クロック毎に生成され、選択実行部から出力されたＮ個の色差データは、メモリに保持せずにそのままローパスフィルタ部に送られる構成としたが、そのままローパスフィルタ部に送る構成でなくても良い。選択実行部から出力された後、一旦バッファメモリに１画面分、或いは複数行分蓄積する構成でも良い。その場合にはＮ個の色差データを同時に生成してローパスフィルタ部に供給する必要はないが、前項と同様に表示タイミングの遅れ等が生じる。
（４）実施の形態では、色差データに対して乗算されるフィルタ係数は全て２項係数として整数を用いたが、フィルタ係数は整数に限らない。フィルタ係数は実数であれば良い。その場合、各フィルタ係数の比が２項係数の比となるように値を設定する。また、各フィルタ係数の比が正確に２項係数の比に一致していなくても、誤差の範囲内（当該システムにおいて値を調整、もしくは制御可能な最小限度内）で一致していると認められる場合は、本発明に含まれる。
（５）実施の形態では、タップ数Ｎの値は、Ｎ＝｛３、５、７｝のうちのいずれかであったが、タップ数Ｎの値はこれに限らない。タップ数Ｎの値が任意の自然数である場合も、本発明に含まれる。
（６）実施の形態では、タップ数は処理開始時にタップ数記憶部に記憶された値を読み出し、読み出されたタップ数に応じて各処理部を初期設定する構成としたが、構成はこれに限らない。タップ数やフィルタ係数を始めからデフォルトで固定しておく場合も、本発明に含まれる。
（７）実施の形態では、他の色（Ｒ、又はＢ）に対して相関を判定する１の色（Ｇ１、又はＧ２）の画素データは、垂直方向（Ｇ１、又はＧ２）、水平方向（Ｇ２、又はＧ１）、及び垂直方向のセルと水平方向のセルの中点を補間したもの（Ｒ、Ｂに対してＧ３＝（Ｇ１＋Ｇ２）／２）の３つであったが、最後のＧ３は相関の判定に加えなくても良い。前記他の色（Ｒ、又はＢ）に対して、垂直方向と水平方向（Ｇ１、及びＧ２）のみで相関を判定する場合も、本発明に含まれる。
（８）実施の形態では、他の色（Ｒ、又はＢ）に対して相関を判定する１の色（Ｇ１、又はＧ２）の画素データは、垂直方向（Ｇ１、又はＧ２）、水平方向（Ｇ２、又はＧ１）、及び垂直方向のセルと水平方向のセルの中点を補間したもの（Ｒ、Ｂに対してＧ３＝（Ｇ１＋Ｇ２）／２）の３つであったが、Ｇ３はＧ１、Ｇ２の中点を補間した値でなくても良い。前記他の色（Ｒ、又はＢ）に対して、垂直方向と水平方向のセル（Ｇ１、及びＧ２）を通る直線上の任意の位置について補間した値をＧ３として用いる場合も、本発明に含まれる。
（９）実施の形態では、色フィルタとして、色セルの配列がＲＧＢベイヤー配列である原色フィルタを用いる構成としたが、色フィルタの色セルの配列はこれに限らない。ベイヤー配列は、補色で構成されても良いし、または他の色で構成されても良い。更に、色フィルタの色セルの配列はベイヤー配列に限らず、他の色セルの配列で構成される色フィルタでも良い。その場合には、請求項１における複数の他の色の色セルに対し、１の色の色セルが水平方向、及び垂直方向に隣接する色セルの配列を持った色フィルタを使用する。
（１０）上記実施の形態、及び上記変形例をそれぞれ組み合わせて実施する場合も、本発明に含まれる。
【産業上の利用可能性】
【０１４４】
本発明の色分離処理回路は、デジタルスチルカメラ、デジタルビデオカメラ、及びデジタルカメラ付き携帯電話機といった、撮像素子から出力される輝度信号をデジタル信号処理するデジタルカメラにおける信号処理回路として有用である。
【図面の簡単な説明】
【０１４５】
【図１】本発明の色分離処理回路の構成を示す、機能ブロック図である（実施の形態１）。
【図２】原色フィルタ、及び補色フィルタの例を示す図である。
【図３】ＲＧＢベイヤー配列の単位セル配列を示す図である。
【図４】本実施の形態の色分離処理回路の色分離部、及び色補間部を示す図である。
【図５】本実施の形態の色分離処理回路の色差データ生成部、及び選択実行部を示す図である。
【図６】本実施の形態の色分離処理回路のローパスフィルタ部の構成を示す、機能ブロック図である。
【図７】ローパスフィルタ部が行う、フィルタ係数設定処理の流れを示すフローチャートである。
【図８】並列処理制御部が行う、色差データの並列処理に関する初期設定の流れを示すフローチャートである。
【図９】実施の形態１の色分離処理回路のローパスフィルタ部を示す図である（Ｎ＝５）。
【図１０】ローパスフィルタ部が行う、２次元フィルタ処理の流れを示すフローチャートである。
【図１１】フィルタ処理により、フィルタ原画素領域（Ｎ＝５）のＲ画素に対して乗算される係数を示す図である。
【図１２】フィルタ処理により、フィルタ原画素領域（Ｎ＝５）のＢ画素に対して乗算される係数を示す図である。
【図１３】実施の形態２の色分離処理回路のローパスフィルタ部を示す図である（Ｎ＝３）。
【図１４】実施の形態３の色分離処理回路のローパスフィルタ部を示す図である（Ｎ＝７）。
【図１５】従来の色分離処理回路の構成を示す、機能ブロック図である。
【図１６】従来の色分離処理回路における色分離処理を示す図である。
【図１７】バッファメモリ内の４×４画素フィルタ原画素領域における、各画素の指定方法を示す図である。
【図１８】縦線の画像を入力した場合の、従来方式と新方式の色差信号、及び偽色レベルを示す図である。
【図１９】横線の画像を入力した場合の、従来方式と新方式の色差信号、及び偽色レベルを示す図である。
【図２０】斜め線の画像を入力した場合の、従来方式と新方式の色差信号、及び偽色レベルを示す図である。
【図２１】右下エッジ成分の画像を入力した場合の、従来方式と新方式の色差信号、及び偽色レベルを示す図である。
【図２２】右上エッジ成分の画像を入力した場合の、従来方式と新方式の色差信号、及び偽色レベルを示す図である。
【符号の説明】
【０１４６】
１      色フィルタ
２      撮像素子
３      ＣＤＳ／ＡＧＣ回路
４      Ａ／Ｄコンバータ
５      バッファメモリ
６      タイミングジェネレータ
７      制御部
１０    色分離処理部
１１    色分離部
１２    色補間部
１３    色差データ生成部
１４    選択実行部
１５    ローパスフィルタ部
１６    色差マトリクス部
１７    並列処理制御部
２０    原色フィルタ
２１    補色フィルタ
３０    ＲＧＢベイヤー配列の単位セル配列
４０    バッファメモリ
４１    スイッチ回路（Ｒ）
４２    スイッチ回路（Ｂ）
４３    スイッチ回路（Ｇ１）
４４    スイッチ回路（Ｇ２）
４５    色補間部
４６    加算器
４７    倍率器
５０    加算器（引算器）
５１    加算器（引算器）
５２    加算器（引算器）
５３    加算器（引算器）
５４    加算器（引算器）
５５    加算器（引算器）
５６    絶対値回路
５７    絶対値回路
５８    絶対値回路
５９    絶対値回路
６０    絶対値回路
６１    絶対値回路
６２    最小値選択回路
６３    最小値選択回路
６４    選択回路
６５    選択回路
７０    ローパスフィルタ部
７１    タップ数記憶部
７２    フィルタ係数記憶部
７３    フィルタ係数取得部
７４    フィルタ演算部
７５    並列処理制御部
７６    色差マトリクス部
７７    垂直フィルタ演算部
７８    水平フィルタ演算部
１００  バッファメモリ
１０１  フィルタ前処理部
１０２  フィルタ前処理部
１０３  フィルタ前処理部
１０４  フィルタ前処理部
１０５  フィルタ前処理部
１０６  垂直フィルタ演算部
１０７  垂直フィルタ係数
１０８  加算器
１０９  水平フィルタ演算部
１１０  水平フィルタ係数
１１１  加算器
１１２  ２次元等価ＬＰＦ係数（Ｎ＝５）
１２０  フィルタ原画素領域（Ｎ＝５）のＲ画素に対して乗算される係数
１３０  フィルタ原画素領域（Ｎ＝５）のＢ画素に対して乗算される係数
１４０  バッファメモリ
１４１  フィルタ前処理部
１４２  フィルタ前処理部
１４３  フィルタ前処理部
１４４  垂直フィルタ演算部
１４５  垂直フィルタ係数
１４６  加算器
１４７  水平フィルタ演算部
１４８  水平フィルタ係数
１４９  加算器
１５０  ２次元等価ＬＰＦ係数（Ｎ＝３）
１６０  バッファメモリ
１６１  フィルタ前処理部
１６２  フィルタ前処理部
１６３  フィルタ前処理部
１６４  フィルタ前処理部
１６５  フィルタ前処理部
１６６  フィルタ前処理部
１６７  フィルタ前処理部
１６８  垂直フィルタ演算部
１６９  垂直フィルタ係数
１７０  加算器
１７１  水平フィルタ演算部
１７２  水平フィルタ係数
１７３  加算器
１７４  ２次元等価ＬＰＦ係数（Ｎ＝７）
１８１  色フィルタ
１８２  撮像素子
１８３  ＣＤＳ／ＡＧＣ回路
１８４  Ａ／Ｄコンバータ
１８５  バッファメモリ
１８６  タイミングジェネレータ
１８７  制御部
１９０  色分離制御部
１９１  色分離部
１９２  ローパスフィルタ部
１９３  色差データ生成部
１９４  選択実行部
１９５  色差マトリクス部
２００  バッファメモリ
２０１  色分離部
２０２  フィルタ係数乗算器（Ｒ）
２０３  フィルタ係数乗算器（Ｂ）
２０４  フィルタ係数乗算器（Ｇ１）
２０５  フィルタ係数乗算器（Ｇ２）
２０６  色差データ生成部
２０７  ２次元ＬＰＦ係数（Ｎ＝４）
２１０  バッファメモリ内の４×４画素フィルタ原画素領域における各画素の指定
２２０  撮像画像（縦線）
２２１  バッファメモリ
２３０  撮像画像（横線）
２３１  バッファメモリ
２４０  撮像画像（斜め線）
２４１  バッファメモリ
２５０  撮像画像（右下エッジ成分）
２５１  バッファメモリ
２６０  撮像画像（右上エッジ成分）
２６１  バッファメモリ
【図１】
2005072786.tif 000003
【図２】
2005072786.tif 000004
【図３】
2005072786.tif 000005
【図４】
2005072786.tif 000006
【図５】
2005072786.tif 000007
【図６】
2005072786.tif 000008
【図７】
2005072786.tif 000009
【図８】
2005072786.tif 000010
【図９】
2005072786.tif 000011
【図１０】
2005072786.tif 000012
【図１１】
2005072786.tif 000013
【図１２】
2005072786.tif 000014
【図１３】
2005072786.tif 000015
【図１４】
2005072786.tif 000016
【図１５】
2005072786.tif 000017
【図１６】
2005072786.tif 000018
【図１７】
2005072786.tif 000019
【図１８】
2005072786.tif 000020
【図１９】
2005072786.tif 000021
【図２０】
2005072786.tif 000022
【図２１】
2005072786.tif 000023
【図２２】
2005072786.tif 000024