(57)【特許請求の範囲】
【請求項１】
異なる分光感度を有する第１から第３の光電変換素子を単一面上に配置して撮像面が形成された撮像デバイスであって、前記第１および前記第２の光電変換素子を所定方向に交互に配置して第１ラインを形成し、前記第１および前記第３の光電変換素子を前記所定方向に交互に配置して第２ラインを形成し、前記所定方向と直交する直交方向において前記第１および前記第２の光電変換素子が交互に、かつ前記第１および前記第３の光電変換素子が交互に配置されるよう、前記第１および前記第２ラインを前記直交方向に交互に配置することにより、第１から第３画素からなる前記撮像面が形成された撮像デバイスにおいて得られた第１から第３信号値に基づいて、全画素位置における前記第１から第３信号値のうち少なくとも１つの信号値を推定する画像処理方法において、
信号値を推定する画素位置が、グレーエッジにあるか色エッジにあるかを判定し、
前記所定方向についての信号値の推定値である所定方向推定値および前記直交方向についての信号値の推定値である直交方向推定値を算出し、
前記判定の結果に応じた異なる演算方法により、前記所定方向についての信号値の変動量を表す所定方向変動値および前記直交方向についての信号値の変動量を表す直交方向変動値を算出し、
前記所定方向変動値および前記直交方向変動値に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数を設定し、
該重み付け係数に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算して、前記第１から第３信号値のうち少なくとも１つの信号値を推定することを特徴とする画像処理方法。
【請求項２】
前記所定方向変動値と前記直交方向変動値との加算値を算出し、該加算値に対する前記所定方向変動値または前記直交方向変動値の比率を算出し、該比率を前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定することを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記所定方向変動値および前記直交方向変動値の加算値に対する前記所定方向変動値または前記直交方向変動値の比率を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定するに際し、
前記重み付け係数が一定であるとした場合の前記所定方向変動値と前記直交方向変動値とが比例関係にあることに基づいて、所定方向変動値および直行方向変動値により規定される２次元平面上に、複数の重み付け係数のそれぞれを傾きとする複数の直線を設定し、該２次元平面上に該複数の直線のそれぞれを基準とする複数の傾きの範囲を設定することにより生成した、各種所定方向変動値および各種直行方向変動値に対する重み付け係数を決定するためのテーブルを参照して、前記所定方向変動値および前記直交方向変動値に基づいて、前記複数の重み付け係数から一の重み付け係数を選択し、該選択された一の重み付け係数を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定することを特徴とする請求項１記載の画像処理方法。
【請求項４】
前記テーブルにおける前記複数の重み付け係数が、前記加算値に対する前記所定方向変動値または前記直交方向変動値の比率が１／２ｎ（ｎは自然数）となるように設定されてなり、
前記重み付け加算を、前記重み付け係数に基づくビットシフトにより行うことを特徴とする請求項３記載の画像処理方法。
【請求項５】
前記信号値を推定する画素位置が、前記第１から第３信号値のいずれか１つの信号値のみからなる単色平坦部にあるか否かを判定し、
前記単色平坦部にあると判定された場合には、該単色平坦部内における前記第１から第３信号値に基づく線形補間演算により、前記第１から第３信号値のうち少なくとも１つの信号値を推定し、
前記単色平坦部にないと判定された場合に、前記グレーエッジにあるか色エッジにあるか否かの判定、前記所定方向推定値および前記直交方向推定値の算出、前記所定方向変動値および前記直交方向変動値の算出、前記重み付け係数の設定、および該重み付け係数に基づく信号値の推定を行うことを特徴とする請求項１から４のいずれか１項記載の画像処理方法。
【請求項６】
異なる分光感度を有する第１から第３の光電変換素子を単一面上に配置して撮像面が形成された撮像デバイスであって、前記第１および前記第２の光電変換素子を所定方向に交互に配置して第１ラインを形成し、前記第１および前記第３の光電変換素子を前記所定方向に交互に配置して第２ラインを形成し、前記所定方向と直交する直交方向において前記第１および前記第２の光電変換素子が交互に、かつ前記第１および前記第３の光電変換素子が交互に配置されるよう、前記第１および前記第２ラインを前記直交方向に交互に配置することにより、第１から第３画素からなる前記撮像面が形成された撮像デバイスにおいて得られた第１から第３信号値に基づいて、全画素位置における前記第１から第３信号値のうち少なくとも１つの信号値を推定する画像処理装置において、
信号値を推定する画素位置が、グレーエッジにあるか色エッジにあるかを判定する判定手段と、
前記所定方向についての信号値の推定値である所定方向推定値および前記直交方向についての信号値の推定値である直交方向推定値を算出する推定値算出手段と、
前記判定の結果に応じた異なる演算方法により、前記所定方向についての信号値の変動量を表す所定方向変動値および前記直交方向についての信号値の変動量を表す直交方向変動値を算出する変動値算出手段と、
前記所定方向変動値および前記直交方向変動値に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数を設定する重み付け係数設定手段と、
該重み付け係数に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算して、前記第１から第３信号値のうち少なくとも１つの信号値を推定する重み付け加算手段とを備えたことを特徴とする画像処理装置。
【請求項７】
前記重み付け係数設定手段は、前記所定方向変動値と前記直交方向変動値との加算値を算出し、該加算値に対する前記所定方向変動値または前記直交方向変動値の比率を算出する比率算出手段を備え、
該比率を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定する手段であることを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記重み付け係数設定手段は、前記所定方向変動値と前記直交方向変動値との加算値に対する前記所定方向変動値または前記直交方向変動値の比率を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定するに際し、前記重み付け係数が一定であるとした場合の前記所定方向変動値と前記直交方向変動値とが比例関係にあることに基づいて、所定方向変動値および直行方向変動値により規定される２次元平面上に、複数の重み付け係数のそれぞれを傾きとする複数の直線を設定し、該２次元平面上に該複数の直線のそれぞれを基準とする複数の傾きの範囲を設定することにより生成した、各種所定方向変動値および各種直行方向変動値に対する重み付け係数を決定するためのテーブルを記憶した記憶手段と、
前記所定方向変動値および前記直交方向変動値に基づいて、前記テーブルを参照して前記複数の重み付け係数から一の重み付け係数を選択する重み付け係数選択手段とを備え、
該選択された一の重み付け係数を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定する手段であることを特徴とする請求項６記載の画像処理装置。
【請求項９】
前記テーブルにおける前記複数の重み付け係数が、前記加算値に対する前記所定方向変動値または前記直交方向変動値の比率が１／２ｎ（ｎは自然数）となるように設定されてなり、
前記重み付け加算手段は、前記重み付け加算を、前記重み付け係数に基づくビットシフトにより行う手段であることを特徴とする請求項８記載の画像処理装置。
【請求項１０】
前記信号値を推定する画素位置が、前記第１から第３信号値のいずれか１つの信号値のみからなる単色平坦部にあるか否かを判定する平坦部判定手段と、
前記単色平坦部にあると判定された場合に、該単色平坦部内における前記第１から第３信号値に基づく線形補間演算により、前記第１から第３信号値のうち少なくとも１つの信号値を推定する線形補間手段とをさらに備え、
前記単色平坦部にないと判定された場合に、前記判定手段によるグレーエッジにあるか色エッジにあるかの判定、前記推定値算出手段による前記所定方向推定値および前記直交方向推定値の算出、前記変動値算出手段による前記所定方向変動値および前記直交方向変動値の算出、前記重み付け係数設定手段による前記重み付け係数の設定、および前記重み付け加算手段による前記重み付け係数に基づく信号値の推定を行うことを特徴とする請求項６から９のいずれか１項記載の画像処理装置。
【請求項１１】
異なる分光感度を有する第１から第３の光電変換素子を単一面上に配置して撮像面が形成された撮像デバイスであって、前記第１および前記第２の光電変換素子を所定方向に交互に配置して第１ラインを形成し、前記第１および前記第３の光電変換素子を前記所定方向に交互に配置して第２ラインを形成し、前記所定方向と直交する直交方向において前記第１および前記第２の光電変換素子が交互に、かつ前記第１および前記第３の光電変換素子が交互に配置されるよう、前記第１および前記第２ラインを前記直交方向に交互に配置することにより、第１から第３画素からなる前記撮像面が形成された撮像デバイスにおいて得られた第１から第３信号値に基づいて、全画素位置における前記第１から第３信号値のうち少なくとも１つの信号値を推定する画像処理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体において、
前記プログラムは、信号値を推定する画素位置が、グレーエッジにあるか色エッジにあるかを判定する手順と、
前記所定方向についての信号値の推定値である所定方向推定値および前記直交方向についての信号値の推定値である直交方向推定値を算出する手順と、
前記判定の結果に応じた異なる演算方法により、前記所定方向についての信号値の変動量を表す所定方向変動値および前記直交方向についての信号値の変動量を表す直交方向変動値を算出する手順と、
前記所定方向変動値および前記直交方向変動値に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数を設定する手順と、
該重み付け係数に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算して、前記第１から第３信号値のうち少なくとも１つの信号値を推定する手順とを有することを特徴とするコンピュータ読取り可能な記録媒体。
【請求項１２】
前記重み付け係数を設定する手順は、前記所定方向変動値と前記直交方向変動値との加算値を算出し、該加算値に対する前記所定方向変動値または前記直交方向変動値の比率を算出する手順を有し、
該比率を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定する手順であることを特徴とする請求項１１記載のコンピュータ読取り可能な記録媒体。
【請求項１３】
前記重み付け係数を設定する手順は、前記所定方向変動値および前記直交方向変動値の加算値に対する前記所定方向変動値または前記直交方向変動値の比率を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定するに際し、
前記重み付け係数が一定であるとした場合の前記所定方向変動値と前記直交方向変動値とが比例関係にあることに基づいて、所定方向変動値および直行方向変動値により規定される２次元平面上に、複数の重み付け係数のそれぞれを傾きとする複数の直線を設定し、該２次元平面上に該複数の直線のそれぞれを基準とする複数の傾きの範囲を設定することにより生成した、各種所定方向変動値および各種直行方向変動値に対する重み付け係数を決定するためのテーブルを参照して、前記所定方向変動値および前記直交方向変動値に基づいて、前記複数の重み付け係数から一の重み付け係数を選択する手順を有し、
該選択された一の重み付け係数を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定する手順であることを特徴とする請求項１１記載のコンピュータ読取り可能な記録媒体。
【請求項１４】
前記テーブルにおける前記複数の重み付け係数が、前記加算値に対する前記所定方向変動値または前記直交方向変動値の比率が１／２ｎ（ｎは自然数）となるように設定されてなり、
前記重み付け加算を行う手順は、前記重み付け加算を、前記重み付け係数に基づくビットシフトにより行う手順であることを特徴とする請求項１３記載のコンピュータ読取り可能な記録媒体。
【請求項１５】
前記信号値を推定する画素位置が、前記第１から第３信号値のいずれか１つの信号値のみからなる単色平坦部にあるか否かを判定する手順と、
前記単色平坦部にあると判定された場合には、該単色平坦部内における前記第１から第３信号値に基づく線形補間演算により、前記第１から第３信号値のうち少なくとも１つの信号値を推定する手順と、
前記単色平坦部にないと判定された場合に、前記グレーエッジにあるか色エッジにあるか否かの判定、前記所定方向推定値および前記直交方向推定値の算出、前記所定方向変動値および前記直交方向変動値の算出、前記重み付け係数の設定、および該重み付け係数に基づく信号値の推定を行う手順とをさらに有することを特徴とする請求項１１から１４のいずれか１項記載のコンピュータ読取り可能な記録媒体。
【請求項１６】
請求項６から１０のいずれか１項記載の画像処理装置を備えたことを特徴とする撮像装置。
【請求項１７】
請求項６から１０のいずれか１項記載の画像処理装置を備えたことを特徴とする画像読取装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、単板ＣＣＤのような撮像デバイスにおいて得られた信号値を用いて、撮像デバイスの全画素位置における信号値を推定する画像処理方法および装置並びに画像処理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体に関するものである。
【０００２】
【従来の技術】
デジタルカメラに用いられるＣＣＤ等の撮像デバイスとしては、分光感度が異なる複数種類の光電変換素子を同一平面上に交互に配置して構成されているものが知られている（以下単板ＣＣＤと称する）。ここで、Ｒ，Ｇ，Ｂのそれぞれに分光感度を有する光電変換素子、すなわちＲ，Ｇ，Ｂの各チャンネルの光電変換素子を交互に配置した単板ＣＣＤの場合、連続したＲ，Ｇ，Ｂチャンネルの３個の光電変換素子の組が１つの画素を構成することとなる。しかしながら、このような単板ＣＣＤにおいては各画素のＲ，Ｇ，Ｂ信号値を同一画素位置において得ることができないため、色ずれや偽色が生じることがある。また、各チャンネルの光電変換素子数は単板ＣＣＤを構成する全素子数よりも少ないため、高解像度の画像を得ることができない。例えばＲ，Ｇ，Ｂ各チャンネルの光電変換素子を交互に配置した単板ＣＣＤにおいては、各チャンネルの光電変換素子数は全素子数の１／３しかないため、同一素子数のモノクロ撮像装置に比べて解像度が１／３となってしまう。このため、Ｒ，Ｇ，Ｂ各チャンネルの光電変換素子が存在しない部分における信号値を補間処理により求める方法が提案されているが、単に補間処理を行うのみでは、信号値が大きく変化する部分において偽色が発生することがある。この場合、撮像系に光学ローパスフィルタを使用したり、撮像信号に対してローパスフィルタによる平滑化処理を行うことにより偽色の発生を防止することができるが、この場合解像度が悪化するという問題がある。
【０００３】
ここで、人間の視覚特性は色よりも輝度に対して感度が高いものである。このため、単板ＣＣＤにおいて得られたカラー撮像信号から、各画素の輝度を表す高周波の輝度信号と、上述した補間処理およびローパスフィルタによる平滑化処理によって得られた低周波の色信号とを生成し、輝度信号および色信号を用いてカラー画像信号を再構成するようにした方法が提案されている（特開平１０−２００９０６号等）。この方法によれば、人間の視覚特性において感度が高い輝度成分に対してより多くの情報が与えられることとなるため、見かけ上解像度が高い画像を再現可能なカラー画像信号を得ることができる。
【０００４】
ところで、単板ＣＣＤとして、例えば図３３に示すように市松状に画素が配置されたハニカム配列のアレイ構造を有するＣＣＤが知られている（例えば特開平１０−１３６３９１号）。なお、これを市松状の画素配列と称することもある。また、図３４に示すように正方状に画素が配置されたベイヤー配列のアレイ構造を有するＣＣＤも知られている。なお、これを正方状の画素配列と称することもある。このようなアレイ構造すなわち画素配列を有する単板ＣＣＤにおいても上記と同様に偽色の問題が生じる。このため、上述したベイヤー配列のＣＣＤにおいて得られた光量ベースの信号について偽色を除去するために、画像中の局所的な領域においてはｒ，ｇ，ｂの信号の比は略一定であるという仮定に基づいて、ベイヤー配列のＣＣＤにおける垂直方向または水平方向のラインにおいて、隣接するラインにおけるｒ信号とｇ信号との比をｇ信号に乗算することにより、そのラインにおけるｒ信号を算出するようにした方法が知られている（特開平９−２１４９８９号）。この方法は、具体的には、図３５に示す画素配列において、ｇ１２画素位置におけるｒ信号ｒ１２を求めるには、まずｒ１１画素位置におけるｇ１１信号を（ｇ６＋ｇ１６）／２の演算により算出し、ｒ１１：ｇ１１＝ｒ１２：ｇ１２という仮定に基づいて、ｒ１２＝ｇ１２×ｒ１１／ｇ１１の演算によりｒ１２信号を算出するものである。
【０００５】
しかしながら、上記特開平１０−２００９０６号等に記載された方法においては、単板ＣＣＤにおいて得られた撮像信号に対してどのようなローパスフィルタにより平滑化処理を施しても、実際の画像における高周波成分が画像中にすでに折り返されてしまっているため、折り返しひずみによるモアレを取り除くことができず、その結果偽色を十分に除去することができない。
【０００６】
一方、上記特開平９−２１４９８９号に記載された方法によれば、効果的に偽色を除去することができる。とくにこの方法は、画像の局所的な領域においては、ｒ：ｇ：ｂの光量の比が一定であるという仮定に基づいており、得られたＲＧＢ信号の比が光量に比例しているアナログ信号である場合には、ベイヤー配列のＣＣＤにおいて得られる画像信号における偽色を効率よく除去することができる。しかしながら、デジタルカメラにより得られる画像信号は、Ａ／Ｄ変換を行って光量ｒｇｂをデジタルのＲＧＢ信号に変換する場合に、量子化誤差を低減するため、およびコンピュータ系のビデオ回路へ信号を入力するために、例えばＲ＝ｒ０．４５、Ｒ＝ｌｏｇ（ｒ）のように、光量に対する指数値、対数値となるように信号値が表されていることから、ｒ：ｇ：ｂ＝Ｒ：Ｇ：Ｂとはならないものである。このため、上記特開平９−２１４９８９号に記載された方法は、信号値が光量に比例するアナログ信号に対しては偽色を除去することができるが、信号値が光量の指数値や対数値により表されている場合には偽色を除去することはできない。また、偽色はベイヤー配列の単板ＣＣＤのみならずハニカム配列の単板ＣＣＤにおいても発生する。
【０００７】
このため、撮像デバイスにおいて得られた信号値が、光量に対する指数値や対数値により表されている場合、画像の局所的な領域においてはＲＧＢ各信号値の差は一定であるという前提に基づき、信号値を算出する画素位置における信号値が変化する方向を考慮して、各画素位置における信号値を算出する方法が提案されている（特願平１１−２１２２０２号）。以下、この方法について具体的に説明する。
【０００８】
まず、撮像デバイスであるＣＣＤの画素配列を図３３に示すハニカム配列とし、図３６に示すように各画素位置に参照番号を付与する。なお、この画素配列を正方配列と見なした場合に、信号値を有さない画素位置を図３６において＊を用いて示す。また、各チャンネルにおいて得られる信号値は８ビットであるものとし、紙面左上から右下に延在する方向を矢印Ａ方向、紙面右上から左下に延在する方向を矢印Ｂ方向とし、以下本明細書中においては矢印Ａ方向および矢印Ｂ方向は不変とする。なお、ここではＢ２４画素位置におけるＲ信号（以下Ｒ（Ｂ２４）信号と表記する）の算出について説明する。まず、矢印Ａ方向について、下記の式（１）によりＢ２４画素位置のＲ（Ｂ２４）Ａ信号を求める。
【０００９】
R(B24)A=G(B24)A+((R(G33)A-G33)+(R(G15)A-G15))/2    （１）
但し、Ｇ（Ｂ２４）Ａ信号は、画素がＢ０２，Ｇ１３，Ｂ２４，Ｇ３５…と並ぶライン上のＧ画素位置におけるＧ信号に対して、矢印Ａ方向に１次元Cubicスプライン補間演算等の１次元補間演算を施して求めたＢ２４画素位置のＧ信号である。また、Ｒ（Ｇ３３）Ａ信号は、画素が…Ｒ２２，Ｇ３３，Ｒ４４，Ｇ５５…と並ぶライン上のＲ画素位置におけるＲ信号に対して、矢印Ａ方向に１次元補間演算を施して求めたＧ３３画素位置のＲ信号である。さらに、Ｒ（Ｇ１５）Ａ信号は、画素がＲ０４，Ｇ１５，Ｒ２６，Ｇ３７…と並ぶライン上のＲ画素位置におけるＲ信号に対して、矢印Ａ方向に１次元補間演算を施して求めたＧ１５画素位置のＲ信号である。
【００１０】
次に、矢印Ｂ方向について、下記の式（２）によりＢ２４画素位置のＲ（Ｂ２４）Ｂ信号を求める。
【００１１】
R(B24)B=G(B24)B+((R(G13)B-G13)+(R(G35)B-G35))/2    （２）
但し、Ｇ（Ｂ２４）Ｂ信号は、画素がＢ０６，Ｇ１５，Ｂ２４，Ｇ３３…と並ぶライン上のＧ画素位置におけるＧ信号に対して、矢印Ｂ方向に１次元補間演算を施して求めたＢ２４画素位置のＧ信号である。また、Ｒ（Ｇ１３）Ｂ信号は、画素がＲ０４，Ｇ１３，Ｒ２２，Ｇ３１…と並ぶライン上のＲ画素位置におけるＲ信号に対して、矢印Ｂ方向に１次元補間演算を施して求めたＧ１３画素位置のＲ信号である。さらに、Ｒ（Ｇ３５）Ｂ信号は、画素が…Ｒ２６，Ｇ３５，Ｒ４４，Ｇ５３…と並ぶライン上のＲ画素位置におけるＲ信号に対して、矢印Ｂ方向に１次元補間演算を施して求めたＧ３５画素位置のＲ信号である。
【００１２】
そして、下記の式（３ａ）、（３ｂ）により、Ｂ２４画素位置における矢印Ａ方向および矢印Ｂ方向についての信号値の変動量を表す変動値ＳＡ，ＳＢを算出し、さらに、変動値ＳＡ，ＳＢを用いて式（３ｃ）によりＲ（Ｂ２４）Ａ信号とＲ（Ｂ２４）Ｂ信号とを重み付け加算するための重み付け係数Ｓｊを算出する。
【００１３】
SA=|B24-G(B24)A|/(B24+G(B24)A)            （３ａ）
SB=|B24-G(B24)B|/(B24+G(B24)B)            （３ｂ）
Sj=SA/(SA+SB)(SA+SB=0ならSj=0.5)          （３ｃ）
このように重み付け係数Sjが求められると、下記の式（４）により、Ｒ（Ｂ２４）信号を算出する。
【００１４】
R(B24)=(1-Sj)*R(B24)A+Sj*R(B24)B          （４）
この方法によれば、撮像デバイスにおいて得られた信号値が指数値や対数値により表されている場合であっても、偽色を発生させることなく全画素位置における信号値を求めることができる。また、この方法において、信号値が変化する方向に応じて、撮像デバイス上の所定方向およびこれに直交する直交方向について算出された信号値を上記式（４）に示すように重み付け加算して、各画素位置における信号値を算出することにより、信号値の変化方向に拘わらず偽色の発生を防止できるとともに、アーチファクトの発生をも防止することができる。
【００１５】
【発明が解決しようとする課題】
しかしながら、特願平１１−２１２２０２号の方法では、信号値を推定する画素位置が画像の色エッジ上にある場合には、偽色を発生させることなく信号値を算出することができるが、信号値を推定する画素がグレーエッジ上にある場合には、偽色を十分に低減することができない。以下、この問題点について説明する。まず、上記図３６に示す画素配列において、図１６に示すように信号値が得られて白（信号値が２５５）および黒（信号値が０または０に近い値）のグレーエッジが表されているものとする。なお、ここではＲ４４画素位置におけるＢ（Ｒ４４）信号の算出について説明する。まず、矢印Ａ方向について、下記の式（５）によりＲ４４画素位置のＢ（Ｒ４４）Ａ信号を求める。
【００１６】
B(R44)A=G(R44)A+((B(G35)A-G35)+(B(G53)A-G53))/2
=0+((2-0)+(255-255))/2=1                      （５）
但し、G(R44)A=0，B(G35)A=2，B(G53)A=255
また、矢印Ｂ方向について、下記の式（６）によりＲ４４画素位置のＢ（Ｒ４４）Ｂ信号を求める。
【００１７】
B(R44)B=G(R44)B+((B(G33)B-G33)+(B(G55)B-G55))/2
=103+((105-0)+(105-0))/2=208                  （６）
但し、G(R44)B≒103，B(G33)B≒105，B(G55)B≒105
そして、下記の式（７）によりＢ（Ｒ４４）Ａ信号とＢ（Ｒ４４）Ｂ信号とを重み付け加算するための重み付け係数を算出する。
【００１８】
SA=|R44-G(R44)A|/(R44+G(R44)A)=|1-0|/(1+0)=1
SB=|R44-G(R44)B|/(R44+G(R44)B)=|1-103|/(1+103)≒0.98   （７）
Sj=SA/(SA+SB)=1/(1+0.98)≒0.5
このように重み付け係数Ｓｊが求められると、下記の式（８）により、Ｂ（Ｒ４４）信号を算出する。
【００１９】
B(R44)=(1-Sj)*B(R44)A+Sj*B(R44)B=0.5*1+0.5*208≒105    （８）
ここで、Ｒ４４画素位置は黒いエッジ上にあるため、Ｂ（Ｒ４４）信号の値は０に近い値であることが好ましい。しかしながら、上記式（７）に示すように重み付け係数Ｓｊを算出して式（８）によりＢ（Ｒ４４）信号の値を求めると、その値は１０５となるため、ここに偽色が発生することとなる。
【００２０】
本発明は上記事情に鑑みなされたものであり、グレーエッジであっても偽色を生じさせることなく信号値を推定できる画像処理方法および装置並びに画像処理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体を提供することを目的とするものである。
【００２１】
【課題を解決するための手段】
本発明による画像処理方法は、異なる分光感度を有する第１から第３の光電変換素子を単一面上に配置して撮像面が形成された撮像デバイスであって、前記第１および前記第２の光電変換素子を所定方向に交互に配置して第１ラインを形成し、前記第１および前記第３の光電変換素子を前記所定方向に交互に配置して第２ラインを形成し、前記所定方向と直交する直交方向において前記第１および前記第２の光電変換素子が交互に、かつ前記第１および前記第３の光電変換素子が交互に配置されるよう、前記第１および前記第２ラインを前記直交方向に交互に配置することにより、第１から第３画素からなる前記撮像面が形成された撮像デバイスにおいて得られた第１から第３信号値に基づいて、全画素位置における前記第１から第３信号値のうち少なくとも１つの信号値を推定する画像処理方法において、
信号値を推定する画素位置が、グレーエッジにあるか色エッジにあるかを判定し、
前記所定方向についての信号値の推定値である所定方向推定値および前記直交方向についての信号値の推定値である直交方向推定値を算出し、
前記判定の結果に応じた異なる演算方法により、前記所定方向についての信号値の変動量を表す所定方向変動値および前記直交方向についての信号値の変動量を表す直交方向変動値を算出し、
前記所定方向変動値および前記直交方向変動値に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数を設定し、
該重み付け係数に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算して、前記第１から第３信号値のうち少なくとも１つの信号値を推定することを特徴とするものである。
【００２２】
ここで、図３３に示すようなハニカム配列の単板ＣＣＤにおいて、第１から第３画素、第１信号値から第３信号値をそれぞれＧ，Ｒ，Ｂに対応させるとすると、第１ラインは図３３上左上から右下方向（これを所定方向とする）にＧＲ画素を交互に配置したＧＲラインとなり、第２ラインは第１ラインと同様の方向にＧＢ画素を交互に配置したＧＢラインとなる。また、所定方向と直交する方向にもＧＲラインおよびＧＢラインが交互に配置されている。本発明による画像処理方法は、単板ＣＣＤのような撮像デバイスにおいて得られる信号値が光量に対する指数値や対数値により表されている場合には、画像上の局所的な領域において、各信号値の差分値が等しくなるという前提に基づいて、このような撮像デバイスにおいて得られた第１から第３信号値から、各画素位置における全ての信号値を推定するようにしたものである。なお、本発明においては撮像デバイスの画素配列はこれに限定されるものではない。
【００２３】
「所定方向推定値」および「直交方向推定値」とは、所定方向および直交方向についてそれぞれ推定した第１から第３信号値のうち少なくとも１つの信号値のことである。
【００２４】
「判定の結果に応じた異なる演算方法により、所定方向変動値および直交方向変動値を算出する」とは、色エッジであると判定された場合には、例えば上記式（３ａ）、（３ｂ）に示す演算方法により変動値ＳＡおよび変動値ＳＢを所定方向変動値および直交方向変動値として求め、グレーエッジであると判定された場合には、例えば下記の式（９ａ）、（９ｂ）に示す演算方法により変動値ＳＡおよび変動値ＳＢを所定方向変動値および直交方向変動値として求めることをいう。
【００２５】
SA=|B24-G(B24)A|                            （９ａ）
SB=|B24-G(B24)B|                            （９ｂ）
「重み付け係数を設定する」とは、グレーエッジと判定された場合には、偽色が発生しないように所定方向推定値および直交方向推定値を重み付ける重み付け係数を設定し、色エッジと判定された場合には、偽色を低減させつつも細かな色味を残すことができるような重み付け係数を設定することをいう。
【００２６】
また、本発明による画像処理方法においては、前記所定方向変動値と前記直交方向変動値との加算値を算出し、該加算値に対する前記所定方向変動値または前記直交方向変動値の比率を算出し、該比率を前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定することが好ましい。
【００２７】
さらに、本発明による画像処理方法においては、前記所定方向変動値および前記直交方向変動値の加算値に対する前記所定方向変動値または前記直交方向変動値の比率を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定するに際し、
前記重み付け係数が一定であるとした場合の前記所定方向変動値と前記直交方向変動値との関係に基づいて、複数の重み付け係数に対する所定方向変動値および直交方向変動値の対応関係を予め算出して記憶した記憶手段を参照して、前記所定方向変動値および前記直交方向変動値に基づいて、前記複数の重み付け係数から一の重み付け係数を選択し、該選択された一の重み付け係数を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定することが好ましい。
【００２８】
また、この場合、前記記憶手段に記憶された前記対応関係における前記複数の重み付け係数を、前記加算値に対する前記所定方向変動値または前記直交方向変動値の比率が１／２ｎ（ｎは自然数）となるように設定し、
前記重み付け加算を、前記重み付け係数に基づくビットシフトにより行うことが好ましい。
【００２９】
ここで、加算値に対する所定方向変動値または直交方向変動値の比率が１／２ｎ（ｎは自然数）となるように重み付け係数が設定されていると、所定方向推定値および直交方向推定値を２進数で表した場合、これらに１／２ｎを乗算することは、これらの推定値を右側にｎビットシフトさせることと等価な演算を行っていることとなる。したがって、「重み付け係数に基づくビットシフト」とは、選択された一の重み付け係数の値１／２ｎに基づいて、所定方向推定値および直交方向推定値を右側にｎビットシフトさせることにより、重み付け加算を行うことをいう。
【００３０】
また、本発明による画像処理方法においては、前記信号値を推定する画素位置が、前記第１から第３信号値のいずれか１つの信号値のみからなる単色平坦部にあるか否かを判定し、
前記単色平坦部にあると判定された場合には、該単色平坦部内における前記第１から第３信号値に基づく線形補間演算により、前記第１から第３信号値のうち少なくとも１つの信号値を推定し、
前記単色平坦部にないと判定された場合に、前記グレーエッジにあるか色エッジにあるか否かの判定、前記所定方向推定値および前記直交方向推定値の算出、前記所定方向変動値および前記直交方向変動値の算出、前記重み付け係数の設定、および該重み付け係数に基づく信号値の推定を行うことが好ましい。
【００３１】
また、本発明による画像処理方法においては、前記第１から前記第３の光電変換素子が、それぞれＧ（グリーン）、Ｂ（ブルー）、Ｒ（レッド）のいずれかの色、あるいはＹ（イエロー）、Ｇ（グリーン）、Ｃ（シアン）のいずれかの色に分光感度を有するものであることが好ましい。
【００３２】
本発明による画像処理装置は、異なる分光感度を有する第１から第３の光電変換素子を単一面上に配置して撮像面が形成された撮像デバイスであって、前記第１および前記第２の光電変換素子を所定方向に交互に配置して第１ラインを形成し、前記第１および前記第３の光電変換素子を前記所定方向に交互に配置して第２ラインを形成し、前記所定方向と直交する直交方向において前記第１および前記第２の光電変換素子が交互に、かつ前記第１および前記第３の光電変換素子が交互に配置されるよう、前記第１および前記第２ラインを前記直交方向に交互に配置することにより、第１から第３画素からなる前記撮像面が形成された撮像デバイスにおいて得られた第１から第３信号値に基づいて、全画素位置における前記第１から第３信号値のうち少なくとも１つの信号値を推定する画像処理装置において、
信号値を推定する画素位置が、グレーエッジにあるか色エッジにあるかを判定する判定手段と、
前記所定方向についての信号値の推定値である所定方向推定値および前記直交方向についての信号値の推定値である直交方向推定値を算出する推定値算出手段と、
前記判定の結果に応じた異なる演算方法により、前記所定方向についての信号値の変動量を表す所定方向変動値および前記直交方向についての信号値の変動量を表す直交方向変動値を算出する変動値算出手段と、
前記所定方向変動値および前記直交方向変動値に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数を設定する重み付け係数設定手段と、
該重み付け係数に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算して、前記第１から第３信号値のうち少なくとも１つの信号値を推定する重み付け加算手段とを備えたことを特徴とするものである。
【００３３】
なお、本発明による画像処理装置においては、前記重み付け係数設定手段は、前記所定方向変動値と前記直交方向変動値との加算値を算出し、該加算値に対する前記所定方向変動値または前記直交方向変動値の比率を算出する比率算出手段を備え、
該比率を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定する手段であることが好ましい。
【００３４】
また、本発明による画像処理装置においては、前記重み付け係数設定手段は、前記所定方向変動値と前記直交方向変動値との加算値に対する前記所定方向変動値または前記直交方向変動値の比率を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定するに際し、前記重み付け係数が一定であるとした場合の前記所定方向変動値と前記直交方向変動値との関係に基づいて、複数の重み付け係数に対する所定方向変動値および直交方向変動値の対応関係を予め算出して、該対応関係を記憶した記憶手段と、
前記所定方向変動値および前記直交方向変動値に基づいて、前記記憶手段を参照して前記複数の重み付け係数から一の重み付け係数を選択する重み付け係数選択手段とを備え、
該選択された一の重み付け係数を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定する手段であることが好ましい。
【００３５】
また、この場合、前記記憶手段に記憶された前記対応関係における前記複数の重み付け係数を、前記加算値に対する前記所定方向変動値または前記直交方向変動値の比率が１／２ｎ（ｎは自然数）となるように設定し、
前記重み付け加算手段は、前記重み付け加算を、前記重み付け係数に基づくビットシフトにより行う手段であることが好ましい。
【００３６】
また、本発明による画像処理装置においては、前記信号値を推定する画素位置が、前記第１から第３信号値のいずれか１つの信号値のみからなる単色平坦部にあるか否かを判定する平坦部判定手段と、
前記単色平坦部にあると判定された場合に、該単色平坦部内における前記第１から第３信号値に基づく線形補間演算により、前記第１から第３信号値のうち少なくとも１つの信号値を推定する線形補間手段とをさらに備え、
前記単色平坦部にないと判定された場合に、前記判定手段によるグレーエッジにあるか色エッジにあるかの判定、前記推定値算出手段による前記所定方向推定値および前記直交方向推定値の算出、前記変動値算出手段による前記所定方向変動値および前記直交方向変動値の算出、前記重み付け係数設定手段による前記重み付け係数の設定、および前記重み付け加算手段による前記重み付け係数に基づく信号値の推定を行うことが好ましい。
【００３７】
さらに、本発明による画像処理装置においては、前記第１から前記第３の光電変換素子が、それぞれＧ、Ｂ、Ｒのいずれかの色に、あるいはＹ、Ｇ、Ｃのいずれかの色に分光感度を有するものであることが好ましい。
【００３８】
なお、本発明による画像処理方法をコンピュータに実行させるためのプログラムとして、コンピュータ読取り可能な記録媒体に記録して提供してもよい。
【００３９】
また、本発明による画像処理装置をデジタルカメラ等の撮像装置、あるいはスキャナ等の画像読取装置に搭載して提供してもよい。
【００４０】
【発明の効果】
本発明によれば、信号値を推定する画素位置がグレーエッジにあるか色エッジにあるかを判定し、その判定の結果に応じた異なる演算方法により、所定方向についての信号値の変動量を表す所定方向変動値および直交方向についての信号値の変動量を表す直交方向変動値を算出し、この所定方向変動値および直交方向変動値に基づいて所定方向推定値および直交方向推定値を重み付け加算する際の重み付け係数を設定するようにしたものである。ここで、仮に所定方向にエッジが延在するとした場合、エッジ上のある画素位置の所定方向推定値は、エッジ上の他の画素位置の信号値と略一致する値となるが、直交方向推定値は、エッジに直交する方向に存在する画素位置における信号値の影響を受けて、エッジ上の他の画素位置の信号値とは異なる値となる。エッジがグレーエッジである場合には、直交方向推定値の影響がなくなるように重み付け係数を設定することが好ましい。一方、エッジが色エッジである場合、直交方向推定値の影響をなくすことが好ましいが、直交方向推定値の影響を完全になくして信号値を推定すると、エッジ付近における細かい色味がなくなってしまうため、却って不自然な画像となってしまう。
【００４１】
ここで、所定方向にエッジが延在するとした場合、上記式（３ａ）、（３ｂ）および式（９ａ）、（９ｂ）により算出したＳＡ，ＳＢをそれぞれ所定方向変動値、直交方向変動値として、これらを比較すると、式（９ａ）、（９ｂ）の場合除算を行っていないため、所定方向変動値に対する直交方向変動値の比率は、式（９ａ）、（９ｂ）により算出した場合の方が大きくなる。したがって、式（９ａ）、（９ｂ）により算出した所定方向変動値および直交方向変動値により求められた重み付け係数は、直交方向推定値に対する重み付けが所定方向推定値に対する重み付けと比較して、非常に小さくなる。一方、式（３ａ）、（３ｂ）により算出した所定方向変動値および直交方向変動値により求められた重み付け係数は、直交方向推定値に対する重み付けが所定方向推定値に対する重み付けと比較して小さくなるものの、式（９ａ）、（９ｂ）の場合ほど小さくはならない。
【００４２】
したがって、所定方向変動値および直交方向変動値の演算方法を判定結果に応じて異なるものとして重み付け係数を設定することにより、グレーエッジの場合には偽色をほとんど発生させることなく信号値を推定でき、色エッジの場合には偽色を低減させつつも細かな色味を残すことができるように、信号値を推定することができる。
【００４３】
なお、上記式（３ｃ）に示すように重み付け係数を算出してもよいが、この式（３ｃ）においては、ＳＡを（ＳＡ＋ＳＢ）にて除算しているため、この演算を実施するための装置の構成が大型化し、また演算量も多くなる。このため、請求項３，８，１３の発明のように、所定方向変動値と直交方向変動値との加算値に対する所定方向変動値または直交方向変動値の比率を重み付け係数として設定するに際し、重み付け係数が一定であるとした場合の所定方向変動値と直交方向変動値との関係に基づいて、複数の重み付け係数に対する所定方向変動値および直交方向変動値の対応関係を予め算出して、これを記憶手段に記憶しておき、算出された所定方向変動値および直交方向変動値に基づいて、上記記憶手段を参照して一の重み付け係数を選択し、この一の重み付け係数に基づいて、所定方向推定値と直交方向推定値との重み付け加算を行うことが好ましい。
【００４４】
ここで、重み付け係数を上記式（３ｃ）により算出する場合、これを変動量ＳＢについて解くと、
SB=((1-Sj)/Sj)*SA        （３ｃ′）
となる。これは重み付け係数Ｓｊが一定であると、変動値ＳＡと変動値ＳＢとの関係は比例関係にあることを示している。したがって、変動値ＳＡを所定方向変動値、変動値ＳＢを直交方向変動値と対応させ、ｘ軸を所定方向変動値、ｙ軸を直交方向変動値とする２次元平面を設定すると、この２次元平面上においては、複数の重み付け係数はその重み付け係数に応じた傾きを有する原点を通る（厳密には原点を含まないが）直線として表されるものとなる。
【００４５】
よって、例えば、重み付け係数に応じた傾きを有する複数の直線により、２次元平面を複数の領域に分割して、これを複数の重み付け係数に対する所定方向変動値および直交方向変動値の対応関係として求めてこれを記憶手段に記憶しておき、算出された所定方向変動値および直交方向変動値が上記２次元平面上のいずれの領域に含まれるかを判断し、これらが位置すると判断された領域に対応する重み付け係数を一の重み付け係数として選択することができる。
【００４６】
したがって、請求項３，８，１３の発明によれば、重み付け係数を求めるために、式（３ｃ）に示すように、所定方向変動値または直交方向変動値を所定方向変動値および直交方向変動値の加算値により除算する必要がなくなり、これにより、演算量を低減でき、演算を行うための回路の構成も簡易なものとすることができる。したがって、本発明を実施するための装置をデジタルカメラ等の小型の撮像装置や、スキャナ等の画像読取装置に搭載することが容易となる。
【００４７】
また、重み付け係数が加算値に対する所定方向変動値または直交方向変動値の値が１／２ｎ（ｎは自然数）となるように設定されている場合、所定方向推定値および直交方向推定値を２進数で表すと、これらに１／２ｎを乗算することは、値を右側にｎビットシフトさせることと等価な演算を行っていることとなる。したがって、ビットシフトにより所定方向推定値および直交方向推定値の重み付け加算を行うことにより、演算を簡易に行って処理時間を短縮することができる。
【００４８】
また、信号値を推定する画素位置が、単色の信号値のみからなる単色平坦部にある場合には、単純な線形補間演算を行っても偽色を発生させることなく信号値を推定できる。したがって、信号値を推定する画素位置が単色平坦部にあるか否かを判定し、単色平坦部にある場合には、線形補間演算により信号値を推定することにより、信号値推定のための演算時間を短縮することができる。
【００４９】
【発明の実施の形態】
以下図面を参照して本発明の実施形態について説明する。図１は本発明の第１の実施形態による画像処理装置の構成を示す概略ブロック図である。図１に示すように本発明の第１の実施形態による画像処理装置は、単板ＣＣＤ１を構成する各光電変換素子において得られた信号値に対して補間処理を施して、全画素位置における信号値を求めるものであり、各信号値により構成される画像データＳ０に対して補間処理を施して、補間済み画像データＳ１を得る補間手段２を備える。補間手段２は、後述するようにして補間演算によりＧ信号ＱＧを算出するＧ補間手段３と、Ｒ信号ＱＲおよびＢ信号ＱＢを算出するＲＢ補間手段４と、Ｇ信号ＱＧ、Ｒ信号ＱＲおよびＢ信号ＱＢから後述する図３に示す空孔画素位置＊の信号値を算出する市松正方補間手段５とを備える。なお、図１に示す単板ＣＣＤ１においては、これを構成する光電変換素子からはアナログ信号が得られるものであるが、本実施形態における画像データＳ０は、アナログ信号をＡ／Ｄ変換したデジタル信号であり、なおかつこのデジタル信号は単板ＣＣＤ１に入力する光量の０．４５乗あるいは対数値となるように変換されているものとする。
【００５０】
なお、本実施形態による画像処理装置は、デジタルカメラのような撮像装置やフイルムから画像を読み取るスキャナ等の読取装置に設けられるものであってもよく、これらの装置において得られた画像信号を再生するモニタやプリンタ等の再生装置に設けられるものであってもよい。また、画像処理装置単体として用いてもよい。
【００５１】
図２は本実施形態において用いられる単板ＣＣＤ１の画素配列を示す図である。図２（ａ）に示す画素配列は、ｙ方向にＲ，Ｇチャンネルに対応する画素を交互に配列した第１のラインと、ｙ方向にＧ，Ｂチャンネルに対応する画素を交互に配列した第２のラインとを、ｘ方向に交互に配列したものであり、ｘ方向における各ラインにおいてもＲ，ＧチャンネルおよびＧ，Ｂチャンネルが交互に配列された正方状の画素配列となっている。このような正方状の画素配列としては、図３４に示すベイヤー配列が知られており、本実施形態においては図２（ａ）に示す画素配列をベイヤー配列と称するものとする。
【００５２】
また、図２（ｂ）に示す画素配列は、ｙ方向にＲ，Ｂチャンネルに対応する画素を交互に配設したラインと、ｙ方向にＧチャンネルに対応する画素を配列したラインとを、各ラインの画素の配列間隔が他のラインの画素配列に対してｙ方向に略１／２相対的にずれるように配列したものであり、市松状の画素配列となっている。このような市松状の画素配列としては、上記特開平１０−１３６３９１号に記載されたハニカム配列（図３３）が知られており、本実施形態においては図２（ｂ）に示す画素配列をハニカム配列と称するものとする。このハニカム配列は、ｘ方向に対して４５度傾斜した方向についてみれば、Ｒ，Ｇチャンネルの画素を交互に配列したラインと、同様に４５度傾斜した方向にＧ，Ｂチャンネルの画素を交互に配列したラインとを、この方向に直交する方向に交互に配列したものとなっている。なお、ハニカム配列は図２（ａ）に示すようなベイヤー配列と画素の配列を４５度回転させた関係となっている。また、ハニカム配列は上述したように市松状に画素が配列されてなるものであり、信号値を有さない空孔画素位置＊を用いて図３に示すように正方状に表現することも可能である。本実施形態においては、図２（ｂ）すなわち図３に示すハニカム配列の単板ＣＣＤ１において得られた画像データＳ０に対して処理を行うものとして説明する。
【００５３】
図４は、ハニカム配列の単板ＣＣＤ１の画素位置を示す図であり、各画素位置に参照番号を付して示すものである。ここでは、図４の左上から右下に向かう方向、すなわち図４において画素がＲ００，Ｇ１１，Ｒ２２，Ｇ３３，Ｒ４４…と並ぶ方向（矢印Ａ方向）を所定方向とし、この所定方向すなわち矢印Ａ方向に直交する方向を矢印Ｂ方向とする。なお、本実施形態では画素位置に付与された参照番号を信号値の参照番号としても使用する。
【００５４】
図５は、ＲＢ補間手段４の構成を示す概略ブロック図である。図５に示すように、ＲＢ補間手段４は、信号値を推定する画素位置がグレーエッジにあるか色エッジにあるか否かを判定する判定手段１０と、図４における矢印Ａ方向について全画素位置でのＲ信号およびＢ信号（総称して信号Ｑ１とする）を算出する第１補間手段１１と、矢印Ｂ方向について全画素位置でのＲ信号およびＢ信号（総称して信号Ｑ２とする）を算出する第２補間手段１２と、判定手段１０における判定結果を表す判定情報Ｈに基づいて、矢印Ａ方向および矢印Ｂ方向における信号値の変動量を表す値を変動値ＳＡ，ＳＢとして算出する変動値算出手段１３と、変動値算出手段１３において算出された変動値ＳＡ，ＳＢに基づいて、第１補間手段１１および第２補間手段１２において得られた信号Ｑ１，Ｑ２を重み付け補間する際の重み付け係数Ｓｊを算出する重み付け係数算出手段１４と、重み付け係数算出手段１４において算出された重み付け係数Ｓｊにより、第１補間手段１１および第２補間手段において得られた信号Ｑ１，Ｑ２を重み付け加算してＲ信号ＱＲおよびＢ信号ＱＢを得る重み付け加算手段１５とを備える。なお、図５における重み付け係数算出手段１４が本発明における重み付け係数設定手段と観念される。
【００５５】
次いで、本実施形態のＧ補間手段３におけるＧ信号ＱＧおよびＲＢ補間手段４におけるＲ信号ＱＲ、Ｂ信号ＱＢの算出について説明する。
【００５６】
（１）まず、ＲおよびＢ画素位置におけるＧ信号の算出処理について説明する。このＧ信号の算出はＧ補間手段３において行われる。ＲおよびＢ画素位置におけるＧ信号は、その画素位置周辺のＧ画素位置において得られるＧ信号に対してスプライン補間演算を施すことにより算出することができる。図６はスプライン補間演算を行う２次元Cubicスプライン補間フィルタの例を示す図である。図６に示す２次元Cubicスプライン補間フィルタは、Ｇ信号を算出する画素位置の近傍１６画素のＧ画素位置におけるＧ信号に対して補間演算を施すものである。したがって、図７において実線で囲んだＲ４４画素位置でのＧ（Ｒ４４）信号は、破線で囲んだその周囲の１６のＧ画素位置（Ｇ１１，Ｇ１３，Ｇ１５，Ｇ１７，Ｇ３１，Ｇ３３，Ｇ３５，Ｇ３７，Ｇ５１，Ｇ５３，Ｇ５５，Ｇ５７，Ｇ７１，Ｇ７３，Ｇ７５，Ｇ７７）のＧ信号に対して、図６に示す２次元Cubicスプライン補間フィルタによりフィルタリング処理を施すことにより算出される。一方、Ｂ４６画素位置でのＧ（Ｂ４６）信号は、破線で囲んだその周囲のＧ画素位置（Ｇ１３，Ｇ１５，Ｇ１７，Ｇ１９，Ｇ３３，Ｇ３５，Ｇ３７，Ｇ３９，Ｇ５３，Ｇ５５，Ｇ５７，Ｇ５９，Ｇ７３，Ｇ７５，Ｇ７７，Ｇ７９）のＧ信号に対して、同様にフィルタリング処理を施すことにより算出される。これにより、補間前にＧ信号が有する周波数成分を損なうことなく補間を行うことができ、この結果、全ての画素位置において元の周波数情報を保持したＧ信号を得ることができる。
【００５７】
ここで、補間演算の手法としては図４における縦横２次元方向における補間演算であれば、いかなる手法をも適用することができる。なお、Ｇ信号を算出する画素位置周辺のＧ画素位置において得られるＧ信号に対して単純な線形補間演算を施すことによりＲ、Ｇ画素位置におけるＧ信号を算出してもよい。例えば図７において実線で囲んだＲ４４画素位置でのＧ（Ｒ４４）信号およびＢ４６画素位置でのＧ（Ｂ４６）信号は、その周囲の４つのＧ画素位置におけるＧ信号を用いて下記の式（１０）、（１１）により算出してもよい。
【００５８】
Ｇ（Ｒ４４）＝（Ｇ３３＋Ｇ３５＋Ｇ５３＋Ｇ５５）／４      （１０）
Ｇ（Ｂ４６）＝（Ｇ３５＋Ｇ３７＋Ｇ５５＋Ｇ５７）／４      （１１）
（２）次に、ＲＢ補間手段４におけるＲ信号ＱＲおよびＢ信号ＱＢの算出について説明する。まず、第１および第２補間手段１１，１２における信号Ｑ１，Ｑ２の算出について説明する。
【００５９】
１まず、矢印Ａ方向においてＲ，Ｇ画素が並ぶライン（以下第１のラインとする）におけるＧ画素位置での、矢印Ａ方向についてのＲ信号の算出処理について説明する。この矢印Ａ方向についての信号の算出は第１補間手段１１において行われる。なお、以降の説明において、矢印Ａ方向について算出された信号には参照符号に（Ａ）を付し、矢印Ｂ方向について算出された信号には参照符号に（Ｂ）を付するものとする。また、矢印Ａ方向にＲ，Ｇ画素が並ぶラインを第１のライン、矢印Ａ方向にＢ，Ｇ画素が並ぶラインを第２のライン、矢印Ｂ方向にＲ，Ｇ画素が並ぶラインを第３のライン、矢印Ｂ方向にＢ，Ｇ画素が並ぶラインを第４のラインとする。
【００６０】
第１のラインにおける矢印Ａ方向についてのＧ画素位置におけるＲ信号の算出処理は、そのＧ画素位置が含まれる第１のライン上におけるＲ信号に対して１次元補間演算を施すことにより行われる。例えば、図８における実線で囲んだＧ３３画素位置でのＲ（Ｇ３３）Ａ信号は、Ｇ３３画素位置が存在する第１のライン上のＧ３３画素位置周辺の４点のＲ画素（Ｒ００，Ｒ２２，Ｒ４４，Ｒ６６）において得られるＲ信号に対して、下記の式（１２）に示す１次元Cubicスプライン補間演算等の１次元補間演算を施すことにより算出される。
【００６１】
R(G33)A=(-3*ROO+19*R22+19*R44-3*R66)/32        （１２）
なお、第１のラインにおいて矢印Ａ方向に隣接する２つのＲ画素位置におけるＲ２２，Ｒ４４信号を用いて下記の式（１３）により算出してもよい。
【００６２】
R(G33)A=(R22+R44)/2                            （１３）
また、補間演算の手法としてはこの第１のライン上の矢印Ａ方向における１次元補間演算であれば、いかなる手法をも適用することができる。そしてこれにより第１のライン上のＧ画素位置におけるＲ信号を算出することができる。
【００６３】
２次に、矢印Ａ方向においてＲ，Ｇ画素が並ぶ第１のラインにおけるＧ画素位置での、矢印Ｂ方向についてのＲ信号の算出処理について説明する。この矢印Ｂ方向についての信号の算出は第２補間手段１２において以下のようにして行われる。まず、Ｒ信号を算出するＧ画素位置に矢印Ａ方向において隣接する画素位置を求める。例えば、ここでは図９に示す実線で囲んだＧ３３画素位置でのＲ（Ｇ３３）Ｂ信号を算出するものとすると、Ｇ３３画素位置に隣接する画素位置は破線で囲んだＲ２２画素位置およびＲ４４画素位置となる。そしてこのＲ２２画素位置におけるＲ２２信号とＧ（Ｒ２２）信号との差およびＲ４４画素位置におけるＲ４４信号とＧ（Ｒ４４）信号との差の平均値を、Ｇ３３画素位置におけるＧ３３信号に加算し、その加算結果をＧ３３画素位置におけるＲ（Ｇ３３）Ｂ信号とする。
【００６４】
ここで、Ｒ２２信号のみを用いた場合、Ｇ３３画素位置でのＲ（Ｇ３３）Ｂ信号は下記の式（１４）により算出される。
【００６５】
R(G33)B=G33+(R22-G(R22))              （１４）
なお、式（１４）は画像の局所的な領域におけるＲ信号とＧ信号との差は等しいという前提により定められるものである。例えば、Ｒ２２画素位置およびＧ３３画素位置でのＲ信号とＧ信号との差が等しいとは、
R(G33)B-G33=R22-G(R22)                （１５）
の関係を満たすということであり、式（１５）をＲ（Ｇ３３）Ｂ信号について解いたものが式（１４）となる。なお、式（１４）においてＧ（Ｒ２２）信号は、上記（１）の処理により算出されたものではなく、Ｒ２２画素位置が存在する第３のライン上のＧ信号に対して、矢印Ｂ方向に下記の式（１６）に示す線形補間演算や式（１２）に示す１次元Cubicスプライン補間演算等の１次元補間演算を施すことにより算出したものである。したがって、Ｇ（Ｒ２２）信号には参照符号Ｂが付されることとなる。
【００６６】
G(R22)B=(G31+G13)/2        （１６）
すなわち、式（１４）では、画像の局所的な領域におけるＲ信号とＧ信号との差は等しいという前提により信号値を算出しており、信号値の算出に使用するのは矢印Ｂ方向においてＧ３３画素位置が存在する第４のラインと、Ｒ２２画素位置が存在する第３のラインである。これは、第３および第４のライン上にある画素値の相関関係に基づいて信号値を算出しているということであり、不明な信号値について矢印Ｂ方向における信号値の変化を反映させて信号値を算出する必要がある。２の処理において、Ｒ２２信号のみを用いた場合、Ｇ３３画素位置でのＲ（Ｇ３３）Ｂ信号は上記式（１５）に示す関係に基づいて算出されるが、Ｇ（Ｒ２２）信号が不明であるため、これを推定する必要がある。ここで、式（１５）は第３および第４のライン間における相関関係を表しているため、Ｇ（Ｒ２２）信号を推定するには、第３のライン上において矢印Ｂ方向の信号値の変化を反映させる必要がある。この場合、上記（１）の方法により算出したＧ信号を使用することが考えられるが、このＧ信号は式（１０）、（１１）に示すように、別のラインの信号値を用いて算出しているものであるため、第３のライン上における矢印Ｂ方向の信号値の変化を反映したものではない。このため、矢印Ｂ方向の信号値の変化を反映させるために、式（１６）のように第３のライン上において、矢印Ｂ方向についての１次元補間演算を行ってＧ（Ｒ２２）Ｂ信号を算出しているものである。
【００６７】
一方、Ｒ４４信号のみを用いると、上記式（１５）の関係に基づいて、Ｇ３３画素位置でのＲ（Ｇ４４）Ｂ信号は下記の式（１７）により算出される。
【００６８】
R(G33)B=G33+(R44-G(R44)B)              （１７）
なお、Ｇ（Ｒ４４）Ｂ信号は式（１６）と同様に算出される。ここで、本実施形態においては、式（１４）あるいは（１７）のいずれかによりＲ（Ｇ３３）Ｂ信号を求めてもよいが、Ｇ画素位置の片側にのみ隣接する画素位置の信号値を用いたのでは、画像の位相がその方向に近寄ってしまう。これを防止するために、下記の式（１８）に示すように、Ｒ信号を算出するＧ画素位置（例えばＧ３３画素位置）の両隣の画素位置（Ｒ２２，Ｒ４４画素位置）におけるＲ信号とＧ信号との差の平均値を、Ｒ信号を算出するＧ画素位置におけるＧ信号に加算したものを、そのＧ画素位置におけるＲ信号としたものである。
【００６９】
R(G33)B=G33+((R22-G(R22)B)+(R44-G(R44)B))/2      （１８）
そしてこれにより、矢印Ｂ方向についてのＧ画素位置でのＲ（Ｇ３３）Ｂ信号を算出することができる。
【００７０】
３次に、矢印Ａ方向においてＢ，Ｇ画素が並ぶ第２のラインにおけるＧ画素位置での、矢印Ａ方向についてのＲ信号の算出処理について説明する。この矢印Ａ方向についての信号の算出は第１補間手段１１において行われる。まず、Ｒ信号を算出するＧ画素位置に矢印Ｂ方向において隣接する画素位置を求める。例えば、ここでは図１０に示す実線で囲んだＧ３５画素位置でのＲ（Ｇ３５）Ａ信号を算出するものとすると、Ｇ３５画素位置に隣接する画素位置は破線で囲んだＲ２６画素位置およびＲ４４画素位置となる。そして上記２の処理と同様に、下記の式（１９）に示すように、Ｒ２６画素位置におけるＲ２６信号とＧ（Ｒ２６）Ａ信号との差およびＲ４４画素位置におけるＲ４４信号とＧ（Ｒ４４）Ａ信号との差の平均値を、Ｇ３５画素位置におけるＧ３５信号に加算し、その加算結果をＧ３５画素位置におけるＲ（Ｇ３５）Ａ信号とする。
【００７１】
R(G35)A=G35+((R26-G(R26)A)+(R44-G(R44)A))/2      （１９）
なお、Ｇ（Ｒ２６）Ａ信号およびＧ（Ｒ４４）Ａ信号は、Ｒ２６およびＲ４４画素位置が存在する第１のライン上におけるＧ信号に対して、矢印Ａ方向に１次元補間演算を施すことにより算出したものである。そしてこれにより、矢印Ａ方向についてのＧ画素位置でのＲ（Ｇ３５）Ａ信号を算出することができる。
【００７２】
４次に、矢印Ａ方向においてＢ，Ｇ画素が並ぶ第２のラインにおけるＧ画素位置での、矢印Ｂ方向についてのＲ信号の算出処理について説明する。この矢印Ｂ方向についての信号の算出は、第２補間手段１２において、そのＧ画素位置が含まれる第３のライン上におけるＲ信号に対して、１次元補間演算を施すことにより行われる。例えば、図１１における実線で囲んだＧ３５画素位置でのＲ（Ｇ３５）Ｂ信号は、Ｇ３５画素位置が存在する第３のライン上におけるＧ３５画素位置周辺の４点のＲ画素（Ｒ０８，Ｒ２６，Ｒ４４，Ｒ６２）において得られるＲ信号に対して、１の処理と同様に１次元補間演算を施すことにより算出される。１次元Cubicスプライン補間演算による算出の例を下記の式（２０）に示す。
【００７３】
R(G35)B=(-3*RO8+19*R26+19*R44-3*R62)/32        （２０）
５次に、矢印Ａ方向においてＢ，Ｇ画素が並ぶ第２のラインにおけるＢ画素位置での矢印Ａ方向についてのＲ信号の算出処理について説明する。この矢印Ａ方向についての信号の算出は第１補間手段１１において行われる。まず、Ｒ信号を算出するＢ画素位置に矢印Ｂ方向において隣接する画素位置を求める。例えば、ここでは図１２に示す実線で囲んだＢ２４画素位置でのＲ（Ｂ２４）Ａ信号を算出するものとすると、Ｂ２４画素位置に隣接する画素位置は破線で囲んだＧ１５画素位置およびＧ３３画素位置となる。そして上記２の処理と同様に、下記の式（２１）に示すように、Ｇ１５画素位置におけるＲ（Ｇ１５）Ａ信号とＧ１５信号との差およびＧ３３画素位置におけるＲ（Ｇ３３）Ａ信号とＧ３３信号との差の平均値を、Ｂ２４画素位置におけるＧ（Ｂ２４）Ａ信号に加算し、その加算結果をＢ２４画素位置におけるＲ（Ｂ２４）Ａ信号とする。
【００７４】
R(B24)A=G(B24)A+((R(G33)A-G33)+(R(G15)A-G15))/2    （２１）
なお、Ｒ（Ｇ１５）Ａ信号およびＲ（Ｇ３３）Ａ信号は、Ｇ１５およびＧ３３画素位置が存在する第１のライン上におけるＲ信号に対して、矢印Ａ方向に１次元補間演算を施すことにより算出したものであり、１の処理において算出したＲ信号そのものである。また、Ｇ（Ｂ２４）Ａ信号は、Ｂ２４画素位置が存在する第２のライン上におけるＧ信号に対して矢印Ａ方向に１次元補間演算を施すことにより算出したものである。そしてこれにより、矢印Ａ方向についてのＢ画素位置でのＲ（Ｂ２４）Ａ信号を算出することができる。
【００７５】
６次に、矢印Ａ方向においてＢ，Ｇ画素が並ぶ第２のラインにおけるＢ画素位置での矢印Ｂ方向についてのＲ信号の算出処理について説明する。この矢印Ｂ方向についての信号の算出は第２補間手段１２において行われる。まず、Ｒ信号を算出するＢ画素位置に矢印Ａ方向において隣接する画素位置を求める。例えば、ここでは図１３に示す実線で囲んだＢ２４画素位置でのＲ（Ｂ２４）Ｂ信号を算出するものとすると、Ｂ２４画素位置に隣接する画素位置は破線で囲んだＧ１３画素位置およびＧ３５画素位置となる。そして上記２の処理と同様に、下記の式（２２）に示すように、Ｇ１３画素位置におけるＲ（Ｇ１３）Ｂ信号とＧ１３信号との差およびＧ３５画素位置におけるＲ（Ｇ３５）Ｂ信号とＧ３５信号との差の平均値を、Ｂ２４画素位置におけるＧ（Ｂ２４）Ｂ信号に加算し、その加算結果をＢ２４画素位置におけるＲ（Ｂ２４）Ｂ信号とする。
【００７６】
R(B24)B=G(B24)B+((R(G35)B-G35)+(R(G13)B-G13))/2    （２２）
なお、Ｒ（Ｇ１３）Ｂ信号およびＲ（Ｇ３５）Ｂ信号は、Ｇ１３およびＧ３５画素位置が存在する第３のライン上におけるＲ信号に対して、矢印Ｂ方向に１次元補間演算を施すことにより算出したものであり、４の処理において算出したＲ信号そのものである。また、Ｇ（Ｂ２４）Ｂ信号は、Ｂ２４画素位置が存在する第４のライン上におけるＧ信号に対して、矢印Ｂ方向に１次元補間演算を施すことにより算出したものである。そしてこれにより、矢印Ｂ方向についてのＢ画素位置でのＲ（Ｂ２４）Ｂ信号を算出することができる。
【００７７】
以上、１の処理により、矢印Ａ方向においてＲ，Ｇ画素が並ぶ第１のラインにおけるＧ画素位置での矢印Ａ方向についてのＲ信号が算出され、２の処理により、矢印Ａ方向においてＲ，Ｇ画素が並ぶ第１のラインにおけるＧ画素位置での矢印Ｂ方向についてのＲ信号が算出される。
【００７８】
また、３の処理により、矢印Ａ方向においてＢ，Ｇ画素が並ぶ第２のラインにおけるＧ画素位置での矢印Ａ方向についてのＲ信号が算出され、４の処理により、矢印Ａ方向においてＢ，Ｇ画素が並ぶ第２のラインにおけるＧ画素位置での矢印Ｂ方向についてのＲ信号が算出される。
【００７９】
さらに、５の処理により、矢印Ａ方向においてＢ，Ｇ画素が並ぶ第２のラインにおけるＢ画素位置での矢印Ａ方向についてのＲ信号が算出され、６の処理により、矢印Ａ方向においてＢ，Ｇ画素が並ぶ第２のラインにおけるＢ画素位置での矢印Ｂ方向についてのＲ信号が算出される。
【００８０】
以上、各画素位置における矢印Ａ，Ｂ両方向でのＲ信号の算出について説明したが、Ｂ信号についても上記１から６の処理において説明したようにＲ信号と同様にして算出することができる。
【００８１】
判定手段１０は、以下のようにして信号値を推定する画素位置がグレーエッジにあるか色エッジにあるかを判定する。図１４は赤（Ｒ）および緑（Ｇ）からなる色エッジの例を示す図、図１５は白および黒からなるグレーエッジの例を示す図である。なお、図１４，１５においては、信号値が０の画素位置を白抜きで示し、それ以外の画素は信号値が２５５であるものとして説明する。また、ここではＲ４４画素位置での判定について説明する。まず、判定手段１０は、下記の式（２３）から（２６）により、エッジの判断値Ｄａｔ１〜Ｄａｔ４を求める。
【００８２】
Dat1=|R44-G33|+|R44-G55|+|G35-B24|+|G35-B46|      （２３）
Dat2=|R44-G33|+|R44-G55|+|G53-B42|+|G53-B64|      （２４）
Dat3=|R44-G35|+|R44-G53|+|G33-B24|+|G33-B42|      （２５）
Dat4=|R44-G35|+|R44-G53|+|G55-B46|+|G55-B64|      （２６）
ここで、式（２３）は矢印Ａ方向において、Ｒ４４画素位置の右上部分のエッジの色を判断するための判断値Ｄａｔ１を算出するものであり、式（２４）は矢印Ａ方向において、Ｒ４４画素位置の左下部分のエッジの色を判断するための判断値Ｄａｔ２を算出するものである。また、式（２５）は矢印Ｂ方向において、Ｒ４４画素位置の左上部分のエッジの色を判断するための判断値Ｄａｔ３を算出するものであり、式（２６）は矢印Ｂ方向において、Ｒ４４画素位置の右下部分のエッジの色を判断するための判断値Ｄａｔ４を算出するものである。
【００８３】
信号値を推定する画素位置がグレーエッジにある場合は、上記判断値Ｄａｔ１〜Ｄａｔ４のうちいずれか１つは必ず値が小さくなる。例えば、図１５に示すグレーエッジの場合、上記式（２３）〜（２６）において算出される判断値Ｄａｔ１〜Ｄａｔ４において、判断値Ｄａｔ１およびＤａｔ２が０となる。一方、信号値を推定する画素位置が図１４に示すような色エッジにある場合は、上記判断値Ｄａｔ１〜Ｄａｔ４のいずれの値も大きくなる。したがって、判断値Ｄａｔ１〜Ｄａｔ４の最小値Ｄｍｉｎを予め定められた閾値Ｔと比較し、最小値Ｄｍｉｎが閾値Ｔ以下である場合、すなわち、
Dmin=min(Dat1,Dat2,Dat3,Dat4)≦Ｔ      （２７）
である場合には、その画素位置をグレーエッジであると判定し、それ以外の場合、すなわち、
Dmin=min(Dat1,Dat2,Dat3,Dat4)＞Ｔ      （２８）
である場合には色エッジであると判定する。ここで、閾値Ｔの値としては、信号値が８ビットで表される場合１２８程度の値とする。そして、判定手段１０はこの判定結果を判定情報Ｈとして変動値算出手段１３に入力する。
【００８４】
変動値算出手段１３は、後述する重み付け係数算出手段１４において、１と２、３と４および５と６の処理により算出された矢印Ａ，Ｂ方向の信号値を重み付け加算するための重み付け係数の算出に必要な変動値ＳＡ，ＳＢを算出するものである。ここで、変動値ＳＡ，ＳＢとは信号値を推定する画素位置において、信号値の変動量を表す値のことをいう。まず、１および２の処理により算出された矢印Ａ，Ｂ方向のＲ信号の重み付け係数を算出するための変動値ＳＡ，ＳＢの算出について説明する。
【００８５】
まず、判定情報Ｈにより信号値を算出する画素位置が色エッジにあると判定された場合、矢印Ａ方向についての変動値ＳＡおよび矢印Ｂ方向についての変動値ＳＢを下記の式（２９）、（３０）により算出する。なお、ここでは１および２の処理と同様に、図８に示すＧ３３画素位置での信号値の変動値ＳＡ，ＳＢを算出するものとする。
【００８６】
SA=|R(G33)A-G33|/(R(G33)A+G33)      （２９）
SB=|B(G33)B-G33|/(B(G33)B+G33)      （３０）
ここで、式（２９）におけるＲ（Ｇ３３）Ａは１の処理において式（１２）により算出された信号値、式（３０）におけるＢ（Ｇ３３）Ｂは第４のライン上のＧ３３画素位置周辺の４点のＢ画素位置（Ｂ０６，Ｂ２４，Ｂ４２，Ｂ６０）において得られるＢ信号に対して、１次元補間演算を施すことにより算出された信号値である。このように算出された変動値ＳＡは、Ｇ３３画素位置の矢印Ａ方向における信号値の変化を表し、変動値ＳＢはＧ３３画素位置の矢印Ｂ方向における信号値の変化を表す。
【００８７】
一方、判定情報Ｈにより信号値を算出する画素位置がグレーエッジにあると判定された場合、変動値ＳＡおよび変動値ＳＢを式（２９）、（３０）の分母を省略した下記の式（３１）、（３２）により算出する。
【００８８】
SA=|R(G33)A-G33|                     （３１）
SB=|B(G33)B-G33|                     （３２）
次に、３および４の処理により算出された矢印Ａ，Ｂ方向のＲ信号の重み付け係数を算出するための変動値の算出について説明する。
【００８９】
まず、判定情報Ｈにより信号値を算出する画素位置が色エッジにあると判定された場合、矢印Ａ方向についての変動値ＳＡおよび矢印Ｂ方向についての変動値ＳＢを下記の式（３３）、（３４）により算出する。なお、ここでは３および４の処理と同様に、図１０に示すＧ３５画素位置での信号値の変動値を算出するものとする。
【００９０】
SA=|B(G35)A-G35|/(B(G35)A+G35)       （３３）
SB=|R(G35)B-G35|/(R(G35)B+G35)       （３４）
ここで、式（３３）におけるＢ（Ｇ３５）Ａは第２のライン上のＧ３５画素位置周辺の４点のＢ画素位置（Ｂ０２，Ｂ２４，Ｂ４６，Ｂ６８）において得られるＢ信号に対して、１次元補間演算を施すことにより算出された信号値、式（３４）におけるＲ（Ｇ３５）Ｂは上記４の処理において式（２０）により算出された信号値である。このように算出された変動値ＳＡは、Ｇ３５画素位置の矢印Ａ方向における信号値の変化を表し、変動値ＳＢはＧ３５画素位置の矢印Ｂ方向における信号値の変化を表す。
【００９１】
一方、判定情報Ｈにより信号値を算出する画素位置がグレーエッジにあると判定された場合、変動値ＳＡおよび変動値ＳＢを式（３３）、（３４）の分母を省略した下記の式（３５）、（３６）により算出する。
【００９２】
SA=|B(G35)A-G35|                     （３５）
SB=|R(G35)B-G35|                     （３６）
次に、５および６の処理により算出された矢印Ａ，Ｂ方向のＲ信号の重み付け係数を算出するための変動値の算出について説明する。
【００９３】
まず、判定情報Ｈにより信号値を算出する画素位置が色エッジにあると判定された場合、矢印Ａ方向についての変動値ＳＡおよび矢印Ｂ方向についての変動値ＳＢを下記の式（３７）、（３８）により算出する。なお、ここでは５および６の処理と同様に、図１２、図１３に示すＢ２４画素位置での信号値の変動値を算出するものとする。
【００９４】
SA=|B24-G(B24)A|/(B24+G(B24)A)       （３７）
SB=|B24-G(B24)B|/(B24+G(B24)B)       （３８）
ここで、式（３７）におけるＧ（Ｂ２４）Ａは、上記５の処理においてＢ２４画素位置が存在する第２のライン上のＧ信号に対して、矢印Ａ方向に１次元補間演算を施すことにより算出した信号値、式（３８）におけるＧ（Ｂ２４）Ｂは、上記６の処理においてＢ２４画素位置が存在する第４のライン上のＧ信号に対して、矢印Ｂ方向に１次元補間演算を施すことにより算出した信号値である。このように算出された変動値ＳＡは、Ｂ２４画素位置の矢印Ａ方向における信号値の変化を表し、変動値ＳＢはＢ２４画素位置の矢印Ｂ方向における信号値の変化を表す。
【００９５】
一方、判定情報Ｈにより信号値を算出する画素位置がグレーエッジにあると判定された場合、変動値ＳＡおよび変動値ＳＢを式（３７）、（３８）の分母を省略した下記の式（３９）、（４０）により算出する。
【００９６】
SA=|B24-G(B24)A|                     （３９）
SB=|B24-G(B24)B|                     （４０）
以上のように算出された変動値ＳＡ，ＳＢは重み付け係数算出手段１４に入力され、下記の式（４１）により、重み付け係数Ｓｊが算出される。重み付け係数Ｓｊは、重み付け加算手段１５に入力される。
【００９７】
Sj=SA/(SA+SB)  (if SA+SB=0 then Sj=0.5)  （４１）
なお、式（４１）においてＳＡ＋ＳＢ＝０となるのは、ＳＡ，ＳＢ≧０であることから、ＳＡ＝ＳＢ＝０の場合である。
【００９８】
重み付け加算手段１５においては、１と２、３と４および５と６のそれぞれの場合について、下記の式（４２）〜（４４）により信号値が算出される。なお、式（４２）〜（４４）は、それぞれ矢印Ａ方向においてＲ，Ｇ画素が並ぶ第１のラインにおけるＧ３３画素位置でのＲ（Ｇ３３）信号、矢印Ａ方向においてＢ，Ｇ画素が並ぶ第２のラインにおけるＧ３５画素位置でのＲ（Ｇ３５）信号、矢印Ａ方向においてＢ，Ｇ画素が並ぶ第２のラインにおけるＢ２４画素位置でのＲ（Ｂ２４）信号を算出するものである。
【００９９】
R(G33)=(1-Sj)*R(G33)A+Sj*R(G33)B      （４２）
R(G35)=(1-Sj)*R(G35)A+Sj*R(G35)B      （４３）
R(B24)=(1-Sj)*R(B24)A+Sj*R(B24)B      （４４）
なお、信号Ｑ１、Ｑ２を用いた一般式を式（４５）に示す。
【０１００】
QR,QB=(1-Sj)*Q1+Sj*Q2                 （４５）
これにより、信号値の変化が少ない方向ほど大きな重み付けがなされて、Ｒ、Ｂ信号ＱＲ，ＱＢが算出されることとなる。
【０１０１】
ここで、色エッジおよびグレーエッジの場合における変動値ＳＡ，ＳＢの算出方法の差異について説明する。図１６は変動値ＳＡ，ＳＢの算出方法の差異を説明するための図である。図１６に示す画素配列においては白（信号値が２５５）および黒（信号値が０または０に近い値）のグレーエッジが表されているものとする。なお、ここではＲ４４画素におけるＢ（Ｒ４４）信号の算出について説明する。まず、矢印Ａ方向について、下記の式（４６）によりＲ４４画素位置のＢ（Ｒ４４）Ａ信号を求める。
【０１０２】
B(R44)A=G(R44)A+((B(G35)A-G35)+(B(G53)A-G53))/2
=0+((2-0)+(255-255))/2=1                        （４６）
但し、G(R44)A=0，B(G35)A=2，B(G53)A=255であり、これらの値の算出には、式（１２）、（２０）に示すような１次元Cubicスプライン補間演算を用いた。
【０１０３】
また、矢印Ｂ方向について、下記の式（４７）によりＲ４４画素位置のＢ（Ｒ４４）Ｂ信号を求める。
【０１０４】
B(R44B)=G(R44)B+((B(G33)B-G33)+(B(G55)B-G55))/2
=103+((105-0)+(105-0))/2=208                    （４７）
但し、G(R44)B≒103，B(G33)B≒105，B(G55)B≒105であり、これらの値の算出には、式（１２）、（２０）に示すような１次元Cubicスプライン補間演算を用いた。
【０１０５】
そして、下記の式（４８）により変動値ＳＡ，ＳＢを求め、式（４９）によりＢ（Ｒ４４）Ａ信号とＢ（Ｒ４４）Ｂ信号とを重み付け加算するための重み付け係数Ｓｊを算出する。
【０１０６】
SA=|R44-G(R44)A|/(R44+G(R44)A)=|1-0|/(1+0)=1
SB=|R44-G(R44)B|/(R44+G(R44)B)=|1-103|/(1+103)≒0.98     （４８）
Sj=SA/(SA+SB)=1/(1+0.98)≒0.5                            （４９）
このように重み付け係数Ｓｊが求められると、下記の式（５０）によりＢ（Ｒ４４）信号を算出する。
【０１０７】
B(R44)=(1-Sj)*B(R44)A+Sj*B(R44)B=0.5*1+0.5*208≒105      （５０）
ここで、Ｒ４４画素位置は黒いエッジ上にあるため、Ｂ（Ｒ４４）信号の値は０に近い値であることが好ましい。しかしながら、上記式（４８）、（４９）に示すように重み付け係数Ｓｊを算出して式（５０）によりＢ（Ｒ４４）信号の値を求めるとその値は１０５となるため、ここに偽色が発生することとなる。これは、矢印Ａ方向において信号値の変動が少ないほど重み付け係数Ｓｊの値は０に近くなるが、信号値を算出する画素位置周辺の画素位置における信号値によっては、式（５０）に示すように、重み付け係数Ｓｊが０に近い値とならない場合があるからである。
【０１０８】
一方、本実施形態においては、信号値を算出する画素位置がグレーエッジにある場合には、式（４８）において分母を省略して変動値ＳＡ，ＳＢを算出するものであり、Ｒ４４画素位置においてそのように変動値ＳＡ，ＳＢを算出すると、
SA=|R44-G(R44)A|=|1-0|=1
SB=|R44-G(R44)B|=|1-103|=102                             （５１）
となり、重み付け係数Ｓｊは、
Sj=SA/(SA+SB)=1/(1+102)≒0.01                            （５２）
となる。このように算出された重み付け係数ＳｊによりＢ（Ｒ４４）信号を算出すると、
B(R44)=(1-Sj)*B(R44)A+Sj*B(R44)B=0.99*1+0.01*208≒2.99   （５３）
となる。これにより、Ｂ（Ｒ４４）信号は０に近い値となり、その結果偽色を低減することができる。
【０１０９】
一方、色エッジであると判定された場合に、式（５１）により変動値ＳＡ，ＳＢを算出しても偽色を低減できるが、エッジ付近における細かな色味がなくなってしまうため、画像が不自然なものとなる。したがって、本実施形態においては、信号値を算出する画素位置がグレーエッジであるか色エッジであるかに応じて、変動値ＳＡ，ＳＢの算出方法を変更するようにしたものである。
【０１１０】
なお、図２（ａ）に示すベイヤー配列の単板ＣＣＤ１においては画素配列を４５度回転させると、その画素配列は図２（ｂ）に示すハニカム配列と空孔画素位置＊を除けば同様のものとなる。したがって、上記の説明において、矢印Ａ方向を図２における紙面上下方向、矢印Ｂ方向を図２における紙面左右方向とすることにより、ベイヤー配列の場合もハニカム配列の場合と同様に、全画素位置におけるＲＧＢ信号を算出することができる。
【０１１１】
このようにして、全ての画素位置においてＲＧＢ全ての信号値ＱＲ，ＱＧ，ＱＢが得られると、市松正方補間手段５において、図３における空孔画素位置＊でのＲＧＢ信号値を補間演算により算出して、画素が正方状に配列されてなる補間済み画像データＳ１を得る。この補間演算は、図１７に示すような空孔画素位置＊周辺の４画素位置の信号値を用いた補間フィルタや、図１８に示すように４×４画素についての２次元Cubicスプライン補間演算を行う補間フィルタの補間係数の配置を４５度傾斜させた補間係数の配置を有する補間フィルタを用いて補間演算を行うことにより求めることができる。なお、この空孔画素位置＊における信号値を算出するための補間演算を市松正方補間演算とする。また、補間演算についてはこれらに限定されるものではなく、上述したように求められた各画素位置におけるＲＧＢ信号をＹＣＣ輝度色差空間に変換し、ＹＣＣ毎に異なる補間フィルタによる補間演算を施す等、空孔画素位置＊における信号値を算出するための補間演算であればいかなる方法をも採用可能である。
【０１１２】
次いで、第１の実施形態の動作について説明する。図１９は第１の実施形態の動作を示すフローチャートである。まず、被写体を撮影して単板ＣＣＤ１において画像データＳ０を得る（ステップＳ１）。次いで、補間手段２のＧ補間手段３において、上記（１）の処理により所定方向におけるＲまたはＢ画素位置におけるＧ信号ＱＧが算出される（ステップＳ２）。そして、補間手段２において、算出する信号をＲ信号にセットし（ステップＳ３）、ＲＢ補間手段４においてＲ信号ＱＲが算出される（ステップＳ４）。
【０１１３】
図２０はステップＳ４の処理を示すフローチャートである。まず、上記処理１および２により信号値を算出し（ステップＳ１１）、ステップＳ３および４により信号値を算出し（ステップＳ１２）、処理５および６により信号値を算出する（ステップＳ１３）。一方、判定手段１０においては、信号値を算出する画素位置がグレーエッジにあるか否かが判定され（ステップＳ１４）、その判定結果を表す判定情報Ｈが変動値算出手段１３に入力される。変動値算出手段１３においては、信号値を算出する画素位置がグレーエッジにある場合には、上記式（３１）、（３２）等に示すようにグレーエッジ用の変動値ＳＡ，ＳＢを算出する（ステップＳ１５）。逆に色エッジである場合には、上記式（２９）、（３０）等に示すように色エッジ用の変動値ＳＡ，ＳＢを算出する（ステップＳ１６）。そして、変動値ＳＡ，ＳＢは重み付け係数算出手段１４に入力されて、ここで重み付け係数Ｓｊが算出され（ステップＳ１７）、ステップＳ１１，Ｓ１２，Ｓ１３の処理により算出された信号値が重み付け加算されて、Ｒ信号ＱＲが算出される（ステップＳ１８）。
【０１１４】
図１９に戻り、Ｒ，Ｂ全ての信号を算出したか否かが判断され（ステップＳ５）、ステップＳ５が否定された場合には、ステップＳ６において算出する信号をＢ信号にセットし、ステップＳ４に戻ってステップＳ４，Ｓ５の処理を繰り返してＢ信号ＱＢが算出される。
【０１１５】
ステップＳ５が肯定されると、空孔画素位置以外の全ての画素位置においてＲＧＢ信号ＱＲ，ＱＧ，ＱＢが算出されたとして、市松正方補間手段５において、各画素の信号値に対して図１７あるいは図１８に示す補間フィルタによる市松正方補間演算を行って、空孔画素位置における信号値を算出し（ステップＳ７）、処理を終了する。
【０１１６】
そしてこれにより、図２（ｂ）に示すハニカム配列による単板ＣＣＤ１の空孔画素位置を含む全画素位置におけるＲＧＢ信号を得ることができ、全画素位置においてＲＧＢ信号を有する補間済み画像データＳ１を得ることができる。
【０１１７】
なお、図１９に示すフローチャートのステップＳ３においては、算出する信号をＲ信号にセットしているが、先にＢ信号にセットしてもよい。この場合、ステップＳ５が否定されるとステップＳ６において、算出する信号がＢ信号からＲ信号に切り替えられることとなる。
【０１１８】
このように、第１の実施形態によれば、信号値を算出する画素位置がグレーエッジにあるか色エッジにあるかを判定し、判定結果に応じて重み付け係数Ｓｊを算出するための変動値ＳＡ，ＳＢの算出方法を変更するようにしたため、信号値を算出する画素位置がグレーエッジにある場合であっても、偽色を低減できる。また、信号値を算出する画素位置が色エッジにある場合には、エッジ付近における細かい色味を残して自然な感じとなる画像を得ることができる。
【０１１９】
次いで、本発明の第２の実施形態について説明する。
【０１２０】
図２１は本発明の第２の実施形態による画像処理装置のＲＢ補間手段の構成を示す概略ブロック図である。なお、図２１において図５と同一の構成については同一の参照番号を付し、詳細な説明は省略する。第２の実施形態においては、判定手段１０に代えて、信号値を推定する画素位置がグレーエッジにあるか色エッジにあるかの判定に加えて、単色の信号値からなる単色平坦部にあるか否かを判定する判定手段２１を備え、さらに、画素位置が単色平坦部にあると判定された場合に、線形補間演算によりその画素位置におけるＲ信号ＱＲおよびＢ信号ＱＢを算出する線形補間手段２２を備えた点が第１の実施形態と異なるものである。
【０１２１】
判定手段２１におけるグレーエッジにあるか色エッジにあるかの判定処理は、第１の実施形態における判定手段１０における判定処理と同一であり、グレーエッジまたは色エッジにあると判定された場合は、その判定結果を表す判定情報Ｈが変動値算出手段１３に入力され、第１の実施形態と同様に変動値ＳＡ，ＳＢが算出され、さらに重み付け係数算出手段１４において重み付け係数Ｓｊが算出される。この場合、第１の実施形態と同様に第１補間手段１１および第２補間手段１２において、各画素位置における矢印Ａ方向および矢印Ｂ方向の信号Ｑ１，Ｑ２が算出され、その信号値が重み付け加算手段１５に入力されて、重み付け係数Ｓｊにより重み付け加算されてＲ信号ＱＲおよびＢ信号ＱＢが算出される。
【０１２２】
以下、判定手段２１における単色平坦部にあるか否かの判定について説明する。図２２は緑（Ｇ）の単色平坦部の信号値を示す図、図２３は青（Ｂ）の単色平坦部の信号値を示す図、図２４は赤（Ｒ）の単色平坦部の信号値を示す図である。図２２においてはＧ画素位置のみが２５５の信号値を有し、図２３においてはＢ画素位置のみが２５５の信号値を有し、図２４においてはＲ画素位置のみが２５５の信号値を有するものとなっている。判定手段２１は、信号値を算出する画素位置およびその画素位置周辺のＲ信号の平均値をＤａｔ１１、Ｇ信号の平均値をＤａｔ１２、Ｂ信号の平均値をＤａｔ１３として求める。例えば、図２２から図２４に示す画素配列において、Ｒ４４画素位置についてみると、
Dat11=(R22+R26+R44+R62+R66)/5
Dat12=(G33+G35+G53+G55)/4                      （５４）
Dat13=(B24+B42+B46+B64)/4
により、平均値Ｄａｔ１１〜Ｄａｔ１３を算出する。
【０１２３】
また、Ｂ４２画素位置については、
Dat11=(R22+R40+R44+R62)/4
Dat12=(G31+G33+G51+G53)/4                      （５５）
Dat13=(B20+B24+B42+B60+B64)/5
により、平均値Ｄａｔ１１〜Ｄａｔ１３を算出する。
【０１２４】
さらに、Ｇ３３画素位置については、
Dat11=(R04+R22+R44+R62)/4
Dat12=(G11+G13+G15+G31+G33+G35+G51+G53+G55)/9  （５６）
Dat13=(B02+B24+B42+B64)/4
により、平均値Ｄａｔ１１〜Ｄａｔ１３を算出する。
【０１２５】
そして、各平均値Ｄａｔ１１〜Ｄａｔ１３の差分値の絶対値|Dat11-Dat12|、|Dat12-Dat13|、|Dat13-Dat11|を算出し、これらの和が予め定められた閾値Ｔ１より大きいか否かを判断し、大きい場合、すなわち下記の式（５７）の条件を満たす場合にはその画素位置は単色平坦部にあると見なすものである。
【０１２６】
|Dat11-Dat12|+|Dat12-Dat13|+|Dat13-Dat11|>T1          （５７）
すなわち、図２２に示すＧの単色平坦部の場合、Ｇ画素位置のみが信号値を有するため、式（５４）〜（５６）においては、平均値Ｄａｔ１２のみが値を有し、Ｄａｔ１１，Ｄａｔ１３は値を有さない。したがって、|Dat11-Dat12|、|Dat12-Dat13|の値は非常に大きい値となる。また、図２３に示すＢの単色平坦部の場合、Ｂ画素位置のみが信号値を有するため、式（５４）〜（５６）においては、平均値Ｄａｔ１３のみが値を有し、Ｄａｔ１１，Ｄａｔ１２は値を有さない。したがって、|Dat12-Dat13|、|Dat13-Dat11|の値は非常に大きい値となる。さらに、図２４に示すＲの単色平坦部の場合、Ｒ画素位置のみが信号値を有するため、式（５４）〜（５６）においては、平均値Ｄａｔ１１のみが値を有し、Ｄａｔ１２，Ｄａｔ１３は値を有さない。したがって、|Dat11-Dat12|、|Dat13-Dat11|の値は非常に大きい値となる。
【０１２７】
このように、信号値を算出する画素位置が単色平坦部にあると、|Dat11-Dat12|、|Dat12-Dat13|、|Dat13-Dat11|のうち２つは大きな値となるため、これらの値の和も大きな値となる。したがって、閾値Ｔ１を適切に設定しておき、上記式（５７）に示す関係を満たすか否かを判断することにより、画素位置が単色平坦部にあるか否かを判定することができる。
【０１２８】
ここで、信号値を算出する画素位置が単色平坦部にある場合には、上記第１補間演算１１および第２補間演算１２における信号値の算出を行わなくとも、単純に線形補間演算を行っても偽色は発生しないものである。したがって、判定手段２１は、信号値を算出する画素位置が単色平坦部にあると判定された場合には、画像データＳ０を線形補間手段２２に入力する。そして、線形補間手段２２においては、信号値を算出する画素位置とその周囲の画素位置との信号値を用いて線形補間演算を行って、信号値を算出する。
【０１２９】
例えば、Ｇ画素位置におけるＲ信号を算出する場合、信号値を算出する画素位置をＧ３３画素位置とすると、
R(G33)=(R22+R24)/2          （５８）
によりＲ（Ｇ３３）信号を算出する。また、Ｇ３３画素位置におけるＢ（Ｇ３３）信号を算出する場合、
B(G33)=(B24+B42)/2          （５９）
によりＢ（Ｇ３３）信号を算出する。
【０１３０】
また、Ｒ画素位置におけるＢ信号を算出する場合、信号値を算出する画素位置をＲ４４とすると、
B(R44)=(B24+B42+B46+B64)/4  （６０）
によりＢ（Ｒ４４）信号を算出する。
【０１３１】
さらに、Ｂ画素位置におけるＲ信号を算出する場合、信号値を算出する画素位置をＢ２４とすると、
R(B24)=(R04+R22+R26+R44)/4  （６１）
によりＲ（Ｂ２４）信号を算出する。
【０１３２】
次いで、第２の実施形態の動作について説明する。なお、第２の実施形態の動作は基本的には図１９に示す第１の実施形態の動作と同一であり、図１９におけるステップＳ４における処理のみが異なるものであるため、ここではステップＳ４における信号算出処理についてのみ説明する。図２５は第２の実施形態における信号算出処理の動作を示すフローチャートである。まず、判定手段２１において、上記式（５７）により、信号値を算出する画素位置が単色平坦部にあるか否かが判断される（ステップＳ２１）。単色平坦部にある場合にはステップＳ２１が肯定され、線形補間手段２２において上記式（５８）および（６１）に示す線形補間演算によりＲ信号ＱＲが算出され（ステップＳ３０）、処理を終了する。なお、Ｂ信号ＱＢについては、上記式（５９）および（６０）に示す線形補間演算により算出される。
【０１３３】
ステップＳ２１が否定された場合は、ステップＳ２２に進み、第１の実施形態と同様に、処理１および２による信号値の算出（ステップＳ２２）、処理３および４による信号値の算出（ステップＳ２３）、処理５および６による信号値の算出（ステップＳ２４）、グレーエッジか否かの判断（ステップＳ２５）、グレーエッジ用変動値算出（ステップＳ２６）、色エッジ用変動値算出（ステップＳ２７）、重み付け係数算出（ステップＳ２８）および重み付け加算（ステップＳ２９）が行われて、Ｒ信号ＱＲ、Ｂ信号ＱＢが算出される。
【０１３４】
このように、第２の実施形態においては、Ｒ、Ｂ信号ＱＲ、ＱＢを算出する際に、まず信号値を算出する画素位置が単色平坦部にあるか否かを判断し、単色平坦部にある場合には、線形補間演算により信号値を算出するようにしたため、全ての画素について第１の実施形態の方法により信号値を算出する場合と比較して、単色平坦部の画素位置については演算量を低減することができ、これにより高速に処理を行うことができることとなる。
【０１３５】
ここで、単板ＣＣＤ１を使用した撮像装置においては、偽色を低減するために、画像データを得るための撮像系において、光学ローパスフィルタを用いる必要がある。図２６はハニカム配列の単板ＣＣＤを用いたデジタルカメラの撮像系を示す図、図２７はハニカム配列の単板ＣＣＤにおいて得られた信号値の周波数特性を示す図である。なお、図２７ではｆｓ／２がナイキスト周波数であり、図２７（ａ）における実線は従来の処理により再現可能な周波数帯域、図２７（ｂ）における実線は本実施形態の処理により再現可能な周波数帯域をそれぞれ示している。図２６に示すように、デジタルカメラの撮像系は被写体から順に撮影レンズ３１、光学ローパスフィルタ３２およびハニカム配列の単板ＣＣＤ３３が配列されてなる。なお、光軸をＸで示す。上記特開平１０−２０９０６号、同１０−１３６３９１号等に記載された方法においては、偽色の低減効果が不十分であるため、図２７（ａ）に示す実線より外側の周波数帯域をカットするための帯域の狭い光学ローパスフィルタ３２を使用する必要がある。しかしながら、このような帯域の狭い光学ローパスフィルタを使用すると、得られる画像の解像度が低下する。また、このような周波数帯域の狭い光学ローパスフィルタ３２を作成するには、中心波長６３０〜７８５ｎｍ程度の１／４波長板を図２８（ａ）に示すように３枚張り合わせる必要があるため、撮像系の構成が大型化する。
【０１３６】
本発明によれば、従来の方法と比較して偽色を低減することができるため、光学ローパスフィルタ３２の周波数帯域を図２７（ｂ）に示すように広げることができ、これにより、単板ＣＣＤ３３において得られる画像データＳ０により表される画像の解像度を向上させることができる。また、図２８（ｂ）に示すように２枚の１／４波長板を張り合わせることにより、図２７（ｂ）に示す特性を得ることができるため、撮像系を小型化することができる。
【０１３７】
なお、上記第１および第２の実施形態においては、重み付け係数算出手段１４において、式（４１）に示すように、変動値ＳＡに対して（ＳＡ＋ＳＢ）による除算を行うことにより、重み付け係数Ｓｊを算出している。
【０１３８】
Sj=SA/(SA+SB)  (if SA+SB=0 then Sj=0.5)  （４１）
ここで、種々の演算を行う演算回路においては、演算が加算、減算および乗算のみである場合には、比較的少ない演算素子により回路を構成することができる。しかしながら、上記式（４１）のように除算が含まれると、演算が複雑となるため多数の演算素子が必要となり回路の構成が複雑化するとともに、演算に長時間を要するものとなる。
【０１３９】
ここで、重み付け係数Ｓｊを式（４１）により算出する場合、これを変動量ＳＢについて解くと、
SB=((1-Sj)/Sj)*SA        （４１′）
となる。これは重み付け係数Ｓｊが一定であると、変動値ＳＡと変動値ＳＢとの関係は、比例関係にあることを示している。したがって、ｘ軸を変動値ＳＡ、ｙ軸を変動値ＳＢとする２次元平面を設定すると、この２次元平面上においては、図２９に示すように、重み付け係数Ｓｊはその重み付け係数に応じた傾きを有する原点を通る（厳密には原点を含まないが）直線として表されるものとなる。以下、この関係を用いて式（４１）における除算処理を省略する実施形態を第３の実施形態として説明する。
【０１４０】
図３０は第３の実施形態の処理を説明するための図、図３１は第３の実施形態による画像処理装置のＲＢ補間手段の構成を示す概略ブロック図である。なお、図３１において図５と同一の構成については同一の参照番号を付し、詳細な説明は省略する。第３の実施形態においては、重み付け係数算出手段１４に代えて、第１補間手段１１および第２補間手段１２において得られた信号Ｑ１，Ｑ２を重み付け補間する際の重み付け係数Ｓｊに対する変動値ＳＡ，ＳＢの対応関係を、複数の重み付け係数について記憶したメモリ１４Ａと、変動値算出手段１３において算出された変動値ＳＡ，ＳＢに基づいて、メモリ１４Ａに記憶された対応関係を参照して複数の重み付け係数から一の重み付け係数Ｓｊを選択する重み付け係数選択手段２４とを備え、重み付け加算手段１５においては、重み付け係数選択手段２４において選択された重み付け係数Ｓｊにより、重み付け加算を行うようにしたものである。なお、第３の実施形態においては、重み付け係数選択手段２４およびメモリ１４Ａが本発明における重み付け係数設定手段と観念される。
【０１４１】
まず、重み付け係数Ｓｊに対する変動値ＳＡ，ＳＢの対応関係の求め方について説明する。第３の実施形態においては、重み付け係数Ｓｊが一定であると変動値ＳＡと変動値ＳＢとは比例関係にあり、ＳＡ−ＳＢ平面においては重み付け係数Ｓｊはその値に応じた傾きを有する直線となる、ということを利用して、まず重み付け係数Ｓｊを図２９に示すようにＳｊ＝０，０．２５，０．５，０．７５，１．０の５段階に量子化する。そして、図３０に示すようにＳＡ−ＳＢ平面上においてＳｊ＝０，０．１２５，０．３７５，０．６２５，０．８７５，１を境界として５つの領域Ａ１〜Ａ５を設定し、各領域Ａ１〜Ａ５をそれぞれＳｊ＝０，０．２５，０．５，０．７５，１．０に対応付ける。ここで、Ｓｊ＝０．１２５の場合ＳＢ＝７ＳＡ、Ｓｊ＝０．３７５の場合ＳＢ＝５／３ＳＡ、Ｓｊ＝０．６２５の場合ＳＢ＝３／５ＳＡ、Ｓｊ＝０．８７５の場合ＳＢ＝１／７ＳＡとなる。
【０１４２】
したがって、図３１に示すように、メモリ１４Ａを設け、このメモリ１４Ａに図３０に示す関係をテーブルとして記憶させておき、重み付け係数選択手段２４において変動値ＳＡ，ＳＢに基づいてこのテーブルを参照することにより、式（４１）に示すように除算を行うことなく重み付け係数Ｓｊを求めることができる。例えば、算出された変動値ＳＡ，ＳＢの値が３／５ＳＡ＜ＳＢ≦５／３ＳＡの関係、すなわち３ＳＡ＜５ＳＢかつ５ＳＡ≧３ＳＢの関係にある場合には、変動値ＳＡ，ＳＢは図３０に示すグラフの領域Ａ３にプロットされることから、重み付け係数をＳｊ＝０．５として求めることができる。また、７ＳＡ＜ＳＢの関係にある場合にはプロットは領域Ａ１にあるためＳｊ＝０、５／３ＳＡ＜ＳＢ≦７ＳＡの関係、すなわち５ＳＡ＜３ＳＢかつ７ＳＡ≧ＳＢの関係にある場合にはプロットは領域Ａ２にあるためＳｊ＝０．２５、１／７ＳＡ＜ＳＢ≦３／５ＳＡの関係、すなわちＳＡ＜７ＳＢかつ３ＳＡ≧５ＳＢの関係にある場合にはプロットは領域Ａ４にあるためＳｊ＝０．７５、ＳＢ≦１／７ＳＡの関係、すなわちＳＡ≧７ＳＢの関係にある場合にはプロットは領域Ａ５にあるためＳｊ＝１として求めることができる。
【０１４３】
なお、重み付け係数Ｓｊはより細かく量子化した方が好ましいが、変動値ＳＡ，ＳＢが存在する領域の判断のための演算時間を考慮すると、５段階程度であることが好ましい。本出願人の実験によれば、５段階に量子化したものであっても、十分に偽色低減効果が得られるものである。
【０１４４】
そして、重み付け加算手段１５においては、この重み付け係数Ｓｊを用いて上記式（４２）〜（４４）に示す重み付け加算が行われて信号値が算出される。例えばＲ４４画素におけるＢ（Ｒ４４）信号の算出は、重み付け係数Ｓｊ＝０．５とした場合、
B(R44)=(1-Sj)*B(R44)A+Sj*B(R44)B=0.5*B(R44)A+0.5*B(R44)B   （６２）
として算出されるが、第３の実施形態においては、Ｓｊまたは（１−Ｓｊ）＝１／２ｎ（ｎは自然数）となるように重み付け係数が設定されているため、下記の式（６３）のように、ビットシフトを用いて整数化して演算を行うことも可能である。
【０１４５】
B(R44)=(B(R44)A+B(R44)B+1)>>1  （６３）
ここで、＞＞１は信号値を２進数で表した際に、右側に１ビットシフトさせることを表す。このように、右側に１ビットシフトさせることにより、信号値は１／２倍されるため、式（６２）と同様の演算を行っていることとなる。なお、式（６３）において１を加算しているのは、演算結果を四捨五入するためである。
【０１４６】
さらに、上記第１および第２の実施形態において、変動値算出手段１３において、色エッジである場合の変動値ＳＡ，ＳＢの算出は、上記式（２９）、（３０）等により行っているが、これらの式においては除算が含まれるため、演算量を低減させるためには、除算を行わないことが好ましい。この場合、変動値ＳＡ，ＳＢの比率が変わらなければ重み付け係数Ｓｊの算出に支障はない。したがって、上記式（２９）、（３０）の場合、右辺に(R(G33)A+G33)*(B(G33)B+G33)を乗算し、下記の式（２９′）、（３０′）により、変動値ＳＡ，ＳＢを算出することが好ましい。
【０１４７】
SA=|R(G33)A-G33|*(B(G33)B+G33)      （２９′）
SB=|B(G33)B-G33|*(R(G33)A+G33)      （３０′）
なお、上記式（３３）、（３４）については、(B(G35)A+G35)*(R(G35)B+G35)を乗算して、下記の式（３３′）、（３４′）により変動値ＳＡ，ＳＢを算出すればよい。
【０１４８】
SA=|B(G35)A-G35|*(R(G35)B+G35)      （３３′）
SB=|R(G35)B-G35|*(B(G35)A+G35)      （３４′）
また、上記式（３７）、（３８）については、(B24+G(B24)A)*(B24+G(B24)B)を乗算して、下記の式（３７′）、（３８′）により変動値ＳＡ，ＳＢを算出すればよい。
【０１４９】
SA=|B24-G(B24)A|*(B24+G(B24)B)      （３７′）
SB=|B24-G(B24)B|*(B24+G(B24)A)      （３８′）
以下、第３の実施形態においてビットシフトを用いて信号値を求める動作について説明する。図３２は第３の実施形態の動作を示すフローチャートである。なお、図３２においては、上記第１および第２の実施形態と変動値ＳＡ，ＳＢの算出までの処理は同一であるため詳細な説明は省略し、変動値ＳＡ，ＳＢが算出されたものとして、重み付け係数Ｓｊの算出および重み付け加算の処理についてのみ説明する。また、図３２においては、Ｒ４４画素位置におけるＢ（Ｒ４４）信号の算出を表すものである。まず、変動値ＳＡ，ＳＢの和が０であるか否かが判断される（ステップＳ４１）。ステップＳ４１が肯定されると、ＳＡ＝ＳＢ＝０．５としてビットシフトを用いて、式（６３）によりＢ（Ｒ４４）信号が算出される（ステップＳ４２）。
【０１５０】
B(R44)=(B(R44)A+B(R44)B+1)>>1    （６３）
ステップＳ４１が否定されると、ＳＡ≧７ＳＢであるか否かが判断される（ステップＳ４３）。ステップＳ４３が肯定されると、変動値ＳＡ，ＳＢの関係は図３０の領域Ａ５にあることからＳｊ＝１とされ、下記の式（６４）によりＢ（Ｒ４４）信号が算出される（ステップＳ４４）。
【０１５１】
B(R44)=B(R44)B                   （６４）
ステップＳ４３が否定されると、３ＳＡ≧５ＳＢであるか否かが判断される（ステップＳ４５）。ステップＳ４５が肯定されると、変動値ＳＡ，ＳＢの関係は図３０の領域Ａ４にあることからＳｊ＝０．７５とされ、下記の式（６５）によりＢ（Ｒ４４）信号が算出される（ステップＳ４６）。
【０１５２】
B(R44)=(B(R44)A+3B(R44)B+2)>>2   （６５）
ステップＳ４５が否定されると、５ＳＡ≧３ＳＢであるか否かが判断される（ステップＳ４７）。ステップＳ４７が肯定されると、変動値ＳＡ，ＳＢの関係は図３０の領域Ａ３にあることからＳｊ＝０．５とされ、式（６３）によりＢ（Ｒ４４）信号が算出される（ステップＳ４８）。
【０１５３】
ステップＳ４７が否定されると、７ＳＡ≧ＳＢであるか否かが判断される（ステップＳ４９）。ステップＳ４９が肯定されると、変動値ＳＡ，ＳＢの関係は図３０の領域Ａ２にあることからＳｊ＝０．２５とされ、下記の式（６６）によりＢ（Ｒ４４）信号が算出される（ステップＳ５０）。
【０１５４】
B(R44)=(3*B(R44)A+B(R44)B+2)>>2   （６６）
そして、ステップＳ４９が否定されると、変動値ＳＡ，ＳＢの関係は図３０の領域Ａ１にあることからＳｊ＝０とされ、下記の式（６７）によりＢ（Ｒ４４）信号が算出される（ステップＳ５１）。
【０１５５】
B(R44)=B(R44)A            （６７）
このように、第３の実施形態によれば、重み付け係数Ｓｊを算出する際に除算を行わないため、重み付け係数Ｓｊの算出を行う回路の構成を簡易なものとすることができ、その結果、本実施形態を実施するための装置の構成を簡易なものとすることができるとともに、また演算時間も短縮することができる。また、ビットシフトを行うことにより、整数値にて演算を行うことができるため、演算を簡易に行って処理時間を短縮することができる。したがって、本発明を実施するための装置をデジタルカメラ等の撮像装置やスキャナ等の画像読取装置、あるいはプリンタ等に搭載することが容易となり、これにより高機能の装置を作成することができる。
【０１５６】
なお、上記各実施形態においては単板ＣＣＤ１として、Ｇ画素がＲ，Ｂ画素に対して倍の密度を有するものについて説明したが、Ｒ画素がＧ，Ｂ画素に対して、あるいはＢ画素がＲ，Ｇ画素に対して倍の密度を有するものであってもよい。また、Ｒ，Ｇ，Ｂに対して分光感度を有するものについて説明したが、単板ＣＣＤ１としてはこれに限定されるものではなく、Ｙ（イエロー）、Ｇ（グリーン）、Ｃ（シアン）に対して分光感度を有するもの、あるいはＹ、Ｗ（ホワイト）、Ｃに対して分光感度を有するものであってもよい。
【０１５７】
また、上記各実施形態においては、３色全ての信号値を算出しているが、１色または２色のみの信号値を算出するようにしてもよい。
【０１５８】
さらに、上記第１および第２の実施形態においては、式（４１）により重み付け係数Ｓｊを算出しているが、下記の式（６８）により重み付け係数Ｓｊを算出してもよい。
【０１５９】
Sj=SB/(SA+SB)  (if SA+SB=0 then Sj=0.5)  （６８）
この場合、Ｒ、Ｂ信号ＱＲ、ＱＢはは、下記の式（６９）により算出される。
【０１６０】
QR,QB=Sj*Q1+(1-Sj)*Q2                    （６９）
【図面の簡単な説明】
【図１】本発明の第１の実施形態による画像処理装置の構成を示す概略ブロック図
【図２】単板ＣＣＤにおける画素配列を示す図
【図３】ハニカム配列の単板ＣＣＤの画素配列を示す図
【図４】ハニカム配列の単板ＣＣＤの各画素位置を参照番号を付して示す図
【図５】ＲＢ補間手段の構成を示す概略ブロック図
【図６】  Cubicスプライン補間フィルタの例を示す図
【図７】信号値の算出を説明するための図（その１）
【図８】信号値の算出を説明するための図（その２）
【図９】信号値の算出を説明するための図（その３）
【図１０】信号値の算出を説明するための図（その４）
【図１１】信号値の算出を説明するための図（その５）
【図１２】信号値の算出を説明するための図（その６）
【図１３】信号値の算出を説明するための図（その７）
【図１４】赤（Ｒ）および緑（Ｇ）からなる色エッジの例を示す図
【図１５】グレーエッジの例を示す図
【図１６】変動値ＳＡ，ＳＢの算出方法の差異を説明するための図
【図１７】市松正方フィルタの例を示す図（その１）
【図１８】市松正方フィルタの例を示す図（その２）
【図１９】第１の実施形態の動作を示すフローチャート
【図２０】信号算出処理の動作を示すフローチャート
【図２１】本発明の第２の実施形態による画像処理装置におけるＲＢ補間手段の構成を示す概略ブロック図
【図２２】緑（Ｇ）の単色平坦部の信号値を示す図
【図２３】青（Ｂ）の単色平坦部の信号値を示す図
【図２４】赤（Ｒ）の単色平坦部の信号値を示す図
【図２５】第２の実施形態における信号算出処理の動作を示すフローチャート
【図２６】ハニカム配列の単板ＣＣＤを用いたデジタルカメラの撮像系を示す図
【図２７】ハニカム配列の単板ＣＣＤにおいて得られた信号値の周波数特性を示す図
【図２８】光学ローパスフィルタの配置を示す図
【図２９】変動値ＳＡ，ＳＢと重み付け係数Ｓｊとの関係を示す図
【図３０】第３の実施形態の処理を説明するための図
【図３１】本発明の第３の実施形態による画像処理装置におけるＲＢ補間手段の構成を示す概略ブロック図
【図３２】第３の実施形態の動作を示すフローチャート
【図３３】ハニカム配列を示す図
【図３４】ベイヤー配列を示す図
【図３５】ベイヤー配列の画素位置を参照番号を付して示す図
【図３６】ハニカム配列の画素位置を参照番号を付して示す図
【符号の説明】
１，３３    単板ＣＣＤ
２    補間手段
３    Ｇ補間手段
４    ＲＢ補間手段
５    市松正方補間手段
１０，２１    判定手段
１１    第１補間手段
１２    第２補間手段
１３    変動値算出手段
１４    重み付け係数算出手段
１４Ａ    メモリ
１５    重み付け加算手段
２２    線形補間手段
２４    重み付け係数選択手段
３１    撮影レンズ
３２    光学ローパスフィルタ
【図１】
0004302854.tif 000002
【図２】
0004302854.tif 000003
【図３】
0004302854.tif 000004
【図４】
0004302854.tif 000005
【図５】
0004302854.tif 000006
【図６】
0004302854.tif 000007
【図７】
0004302854.tif 000008
【図８】
0004302854.tif 000009
【図９】
0004302854.tif 000010
【図１０】
0004302854.tif 000011
【図１１】
0004302854.tif 000012
【図１２】
0004302854.tif 000013
【図１３】
0004302854.tif 000014
【図１４】
0004302854.tif 000015
【図１５】
0004302854.tif 000016
【図１６】
0004302854.tif 000017
【図１７】
0004302854.tif 000018
【図１８】
0004302854.tif 000019
【図１９】
0004302854.tif 000020
【図２０】
0004302854.tif 000021
【図２１】
0004302854.tif 000022
【図２２】
0004302854.tif 000023
【図２３】
0004302854.tif 000024
【図２４】
0004302854.tif 000025
【図２５】
0004302854.tif 000026
【図２６】
0004302854.tif 000027
【図２７】
0004302854.tif 000028
【図２８】
0004302854.tif 000029
【図２９】
0004302854.tif 000030
【図３０】
0004302854.tif 000031
【図３１】
0004302854.tif 000032
【図３２】
0004302854.tif 000033
【図３３】
0004302854.tif 000034
【図３４】
0004302854.tif 000035
【図３５】
0004302854.tif 000036
【図３６】
0004302854.tif 000037