(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          （６）
この方法によれば、撮像デバイスにおいて得られた信号値が指数値や対数値により表されている場合であっても、偽色を発生させることなく全画素位置における信号値を求めることができる。また、この方法において、信号値が変化する方向に応じて、撮像デバイス上の所定方向およびこれに直交する直交方向について算出された信号値を上記式（６）に示すように重み付け加算して、各画素位置における信号値を算出することにより、信号値の変化方向に拘わらず偽色の発生を防止できるとともに、アーチファクトの発生をも防止することができる。
【００１５】
【発明が解決しようとする課題】
上記特願平１１−２１２２０２号の方法では、上記式（５）において、変動値ＳＡに対して変動値ＳＡと変動値ＳＢとの加算値（ＳＡ＋ＳＢ）による除算を行うことにより、重み付け係数を算出している。ここで、種々の演算を行う演算回路においては、演算が加算、減算および乗算のみである場合には、比較的少ない演算素子により回路を構成することができる。しかしながら、上記式（５）のように除算が含まれると、演算が複雑となるため多数の演算素子が必要となり回路の構成が複雑化するとともに、演算に長時間を要するものとなる。
【００１６】
本発明は上記事情に鑑みなされたものであり、簡易な回路構成により重み付け係数を求めることができる画像処理方法および装置並びに画像処理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体を提供することを目的とするものである。
【００１７】
【課題を解決するための手段】
本発明による画像処理方法は、異なる分光感度を有する第１から第３の光電変換素子を単一面上に配置して撮像面が形成された撮像デバイスであって、前記第１および前記第２の光電変換素子を所定方向に交互に配置して第１ラインを形成し、前記第１および前記第３の光電変換素子を前記所定方向に交互に配置して第２ラインを形成し、前記所定方向と直交する直交方向において前記第１および前記第２の光電変換素子が交互に、かつ前記第１および前記第３の光電変換素子が交互に配置されるよう、前記第１および前記第２ラインを前記直交方向に交互に配置することにより、第１から第３画素からなる前記撮像面が形成された撮像デバイスにおいて得られた第１から第３信号値に基づいて、全画素位置における前記第１から第３信号値のうち少なくとも１つの信号値を推定する画像処理方法において、
前記所定方向についての信号値の推定値である所定方向推定値および前記直交方向についての信号値の推定値である直交方向推定値を算出し、
前記所定方向についての信号値の変動量を表す所定方向変動値および前記直交方向についての信号値の変動量を表す直交方向変動値を算出し、
前記所定方向変動値および前記直交方向変動値の加算値に対する前記所定方向変動値または前記直交方向変動値の比率を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として算出するに際し、
前記重み付け係数が一定であるとした場合の前記所定方向変動値と前記直交方向変動値との関係に基づいて、複数の重み付け係数に対する所定方向変動値および直交方向変動値の対応関係を予め算出して記憶した記憶手段を参照して、前記所定方向変動値および前記直交方向変動値に基づいて、前記複数の重み付け係数から一の重み付け係数を選択し、
該一の重み付け係数に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算して、前記第１から第３信号値のうち少なくとも１つの信号値を推定することを特徴とするものである。
【００１８】
ここで、図３０に示すようなハニカム配列の単板ＣＣＤにおいて、第１から第３画素、第１信号値から第３信号値をそれぞれＧ，Ｒ，Ｂに対応させるとすると、第１ラインは図３０上左上から右下方向（これを所定方向とする）にＧＲ画素を交互に配置したＧＲラインとなり、第２ラインは第１ラインと同様の方向にＧＢ画素を交互に配置したＧＢラインとなる。また、所定方向と直交する方向にもＧＲラインおよびＧＢラインが交互に配置されている。本発明による画像処理方法は、単板ＣＣＤのような撮像デバイスにおいて得られる信号値が光量に対する指数値や対数値により表されている場合には、画像上の局所的な領域において、各信号値の差分値が等しくなるという前提に基づいて、このような撮像デバイスにおいて得られた第１から第３信号値から、各画素位置における全ての信号値を推定するようにしたものである。なお、本発明においては撮像デバイスの画素配列はこれに限定されるものではない。
【００１９】
「所定方向推定値」および「直交方向推定値」とは、所定方向および直交方向についてそれぞれ推定した第１から第３信号値のうち少なくとも１つの信号値のことである。
【００２０】
「所定方向変動値および直交方向変動値を算出する」とは、例えば上記式（３）、（４）に示す演算方法により変動値ＳＡおよび変動値ＳＢを所定方向変動値および直交方向変動値として求めることをいう。また、下記の式（７）、（８）に示す演算方法により変動値ＳＡおよび変動値ＳＢを所定方向変動値および直交方向変動値として求めてもよい。
【００２１】
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    （２２）
なお、Ｒ（Ｇ１３）Ｂ信号およびＲ（Ｇ３５）Ｂ信号は、Ｇ１３およびＧ３５画素位置が存在する第３のライン上におけるＲ信号に対して、矢印Ｂ方向に１次元補間演算を施すことにより算出したものであり、４の処理において算出したＲ信号そのものである。また、Ｇ（Ｂ２４）Ｂ信号は、Ｂ２４画素位置が存在する第４のライン上におけるＧ信号に対して、矢印Ｂ方向に１次元補間演算を施すことにより算出したものである。そしてこれにより、矢印Ｂ方向についてのＢ画素位置でのＲ（Ｂ２４）Ｂ信号を算出することができる。
【００６２】
以上、１の処理により、矢印Ａ方向においてＲ，Ｇ画素が並ぶ第１のラインにおけるＧ画素位置での矢印Ａ方向についてのＲ信号が算出され、２の処理により、矢印Ａ方向においてＲ，Ｇ画素が並ぶ第１のラインにおけるＧ画素位置での矢印Ｂ方向についてのＲ信号が算出される。
【００６３】
また、３の処理により、矢印Ａ方向においてＢ，Ｇ画素が並ぶ第２のラインにおけるＧ画素位置での矢印Ａ方向についてのＲ信号が算出され、４の処理により、矢印Ａ方向においてＢ，Ｇ画素が並ぶ第２のラインにおけるＧ画素位置での矢印Ｂ方向についてのＲ信号が算出される。
【００６４】
さらに、５の処理により、矢印Ａ方向においてＢ，Ｇ画素が並ぶ第２のラインにおけるＢ画素位置での矢印Ａ方向についてのＲ信号が算出され、６の処理により、矢印Ａ方向においてＢ，Ｇ画素が並ぶ第２のラインにおけるＢ画素位置での矢印Ｂ方向についてのＲ信号が算出される。
【００６５】
以上、各画素位置における矢印Ａ，Ｂ両方向でのＲ信号の算出について説明したが、Ｂ信号についても上記１から６の処理において説明したようにＲ信号と同様にして算出することができる。
【００６６】
変動値算出手段１３は、後述する重み付け係数選択手段１４において、１と２、３と４および５と６の処理により算出された矢印Ａ，Ｂ方向の信号値を重み付け加算するための重み付け係数の算出に必要な変動値ＳＡ，ＳＢを算出するものである。ここで、変動値ＳＡ，ＳＢとは信号値を推定する画素位置において、信号値の変動量を表す値のことをいう。
【００６７】
まず、１および２の処理により算出された矢印Ａ，Ｂ方向のＲ信号の重み付け係数を算出するための変動値ＳＡ，ＳＢの算出について説明する。この矢印Ａ方向についての変動値ＳＡおよび矢印Ｂ方向についての変動値ＳＢは下記の式（２３）、（２４）により算出する。なお、ここでは１および２の処理と同様に、図８に示すＧ３３画素位置での信号値の変動値ＳＡ，ＳＢを算出するものとする。
【００６８】
SA=|R(G33)A-G33|                     （２３）
SB=|B(G33)B-G33|                     （２４）
ここで、式（２３）におけるＲ（Ｇ３３）Ａは１の処理において式（１２）により算出された信号値、式（２４）におけるＢ（Ｇ３３）Ｂは第４のライン上のＧ３３画素位置周辺の４点のＢ画素位置（Ｂ０６，Ｂ２４，Ｂ４２，Ｂ６０）において得られるＢ信号に対して、１次元補間演算を施すことにより算出された信号値である。このように算出された変動値ＳＡは、Ｇ３３画素位置の矢印Ａ方向における信号値の変化を表し、変動値ＳＢはＧ３３画素位置の矢印Ｂ方向における信号値の変化を表す。
【００６９】
次に、３および４の処理により算出された矢印Ａ，Ｂ方向のＲ信号の重み付け係数を算出するための変動値の算出について説明する。この矢印Ａ方向についての変動値ＳＡおよび矢印Ｂ方向についての変動値ＳＢは下記の式（２５）、（２６）により算出する。なお、ここでは３および４の処理と同様に、図１０に示すＧ３５画素位置での信号値の変動値を算出するものとする。
【００７０】
SA=|B(G35)A-G35|                     （２５）
SB=|R(G35)B-G35|                     （２６）
ここで、式（２５）におけるＢ（Ｇ３５）Ａは第２のライン上のＧ３５画素位置周辺の４点のＢ画素位置（Ｂ０２，Ｂ２４，Ｂ４６，Ｂ６８）において得られるＢ信号に対して、１次元補間演算を施すことにより算出された信号値、式（２６）におけるＲ（Ｇ３５）Ｂは上記４の処理において式（２０）により算出された信号値である。このように算出された変動値ＳＡは、Ｇ３５画素位置の矢印Ａ方向における信号値の変化を表し、変動値ＳＢはＧ３５画素位置の矢印Ｂ方向における信号値の変化を表す。
【００７１】
次に、５および６の処理により算出された矢印Ａ，Ｂ方向のＲ信号の重み付け係数を算出するための変動値の算出について説明する。この矢印Ａ方向についての変動値ＳＡおよび矢印Ｂ方向についての変動値ＳＢは下記の式（２７）、（２８）により算出する。なお、ここでは５および６の処理と同様に、図１２、図１３に示すＢ２４画素位置での信号値の変動値を算出するものとする。
【００７２】
SA=|B24-G(B24)A|                     （２７）
SB=|B24-G(B24)B|                     （２８）
ここで、式（２７）におけるＧ（Ｂ２４）Ａは、上記５の処理においてＢ２４画素位置が存在する第２のライン上のＧ信号に対して、矢印Ａ方向に１次元補間演算を施すことにより算出した信号値、式（２８）におけるＧ（Ｂ２４）Ｂは、上記６の処理においてＢ２４画素位置が存在する第４のライン上のＧ信号に対して、矢印Ｂ方向に１次元補間演算を施すことにより算出した信号値である。このように算出された変動値ＳＡは、Ｂ２４画素位置の矢印Ａ方向における信号値の変化を表し、変動値ＳＢはＢ２４画素位置の矢印Ｂ方向における信号値の変化を表す。
【００７３】
以上のように算出された変動値ＳＡ，ＳＢは重み付け係数選択手段１４に入力される。以下、重み付け係数選択手段１４における重み付け係数の算出について説明する。本実施形態においては、基本的には下記の式（２９）に示すように重み付け係数Ｓｊが算出される。
【００７４】
Sj=SA/(SA+SB)  (if SA+SB=0 then Sj=0.5)  （２９）
なお、式（２９）においてＳＡ＋ＳＢ＝０となるのは、ＳＡ，ＳＢ≧０であることから、ＳＡ＝ＳＢ＝０の場合である。ここで、種々の演算を行う演算回路においては、演算が加算、減算および乗算のみである場合には、比較的少ない演算素子により回路を構成することができる。しかしながら、式（２９）のように除算が含まれると、演算が複雑となるため多数の演算素子が必要となり回路の構成が複雑化するとともに、演算に長時間を要するものとなる。
【００７５】
ここで、重み付け係数Ｓｊを式（２９）により算出する場合、これを変動量ＳＢについて解くと、
SB=((1-Sj)/Sj)*SA        （２９′）
となる。これは重み付け係数Ｓｊが一定であると、変動値ＳＡと変動値ＳＢとの関係は、比例関係にあることを示している。したがって、ｘ軸を変動値ＳＡ、ｙ軸を変動値ＳＢとする２次元平面を設定すると、この２次元平面上においては、図１４に示すように、重み付け係数Ｓｊはその重み付け係数に応じた傾きを有する原点を通る（ＳＡ＝ＳＢ＝０すなわち原点を除く）直線として表されるものとなる。以下、この関係を用いて式（２９）における除算処理の省略について説明する。
【００７６】
図１５は重み付け係数選択手段１４における重み付け係数Ｓｊの算出処理を説明するための図である。本実施形態においては、重み付け係数Ｓｊが一定であると変動値ＳＡと変動値ＳＢとは比例関係にあり、ＳＡ−ＳＢ平面においては重み付け係数Ｓｊはその値に応じた傾きを有する直線となる、ということを利用して、まず重み付け係数Ｓｊを図１４に示すようにＳｊ＝０，０．２５，０．５，０．７５，１．０の５段階に量子化する。そして、図１５に示すようにＳＡ−ＳＢ平面上においてＳｊ＝０，０．１２５，０．３７５，０．６２５，０．８７５，１を境界として５つの領域Ａ１〜Ａ５を設定し、各領域Ａ１〜Ａ５をそれぞれＳｊ＝０，０．２５，０．５，０．７５，１．０に対応付ける。ここで、Ｓｊ＝０．１２５の場合ＳＢ＝７ＳＡ、Ｓｊ＝０．３７５の場合ＳＢ＝５／３ＳＡ、Ｓｊ＝０．６２５の場合ＳＢ＝３／５ＳＡ、Ｓｊ＝０．８７５の場合ＳＢ＝１／７ＳＡとなる。
【００７７】
したがって、重み付け係数選択手段１４に接続されたメモリ１４Ａに、図１５に示す関係をテーブルとして記憶させておき、変動値ＳＡ，ＳＢの値の関係に基づいてこのテーブルを参照することにより、式（２９）に示すように除算を行うことなく重み付け係数Ｓｊを求めることができる。例えば、算出された変動値ＳＡ，ＳＢの値が３／５ＳＡ＜ＳＢ≦５／３ＳＡの関係、すなわち３ＳＡ＜５ＳＢかつ５ＳＡ≧３ＳＢの関係にある場合には、変動値ＳＡ，ＳＢは図１５に示すグラフの領域Ａ３にプロットされることから、重み付け係数をＳｊ＝０．５として求めることができる。また、７ＳＡ＜ＳＢの関係にある場合にはプロットは領域Ａ１にあるためＳｊ＝０、５／３ＳＡ＜ＳＢ≦７ＳＡの関係、すなわち５ＳＡ＜３ＳＢかつ７ＳＡ≧ＳＢの関係にある場合にはプロットは領域Ａ２にあるためＳｊ＝０．２５、１／７ＳＡ＜ＳＢ≦３／５ＳＡの関係、すなわちＳＡ＜７ＳＢかつ３ＳＡ≧５ＳＢの関係にある場合にはプロットは領域Ａ４にあるためＳｊ＝０．７５、ＳＢ≦１／７ＳＡの関係、すなわちＳＡ≧７ＳＢの関係にある場合にはプロットは領域Ａ５にあるためＳｊ＝１として求めることができる。
【００７８】
なお、重み付け係数Ｓｊはより細かく量子化した方が好ましいが、変動値ＳＡ，ＳＢが存在する領域の判断のための演算時間を考慮すると、５段階程度であることが好ましい。本出願人の実験によれば、５段階に量子化したものであっても、十分に偽色低減効果が得られるものである。
【００７９】
重み付け加算手段１５においては、１と２、３と４および５と６のそれぞれの場合について、下記の式（３０）〜（３２）により信号値が算出される。なお、式（３０）〜（３２）は、それぞれ矢印Ａ方向においてＲ，Ｇ画素が並ぶ第１のラインにおけるＧ３３画素位置でのＲ（Ｇ３３）信号、矢印Ａ方向においてＢ，Ｇ画素が並ぶ第２のラインにおけるＧ３５画素位置でのＲ（Ｇ３５）信号、矢印Ａ方向においてＢ，Ｇ画素が並ぶ第２のラインにおけるＢ２４画素位置でのＲ（Ｂ２４）信号を算出するものである。
【００８０】
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)=(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  （３５）
ここで、＞＞１は信号値を２進数で表した際に、右側に１ビットシフトさせることを表す。このように、右側に１ビットシフトさせることにより、信号値は１／２倍されるため、式（３４）と等価な演算を行っていることとなる。なお、式（３５）において１を加算しているのは、演算結果を四捨五入するためである。
【００８４】
なお、図２（ａ）に示すベイヤー配列の単板ＣＣＤ１においては画素配列を４５度回転させると、その画素配列は図２（ｂ）に示すハニカム配列と空孔画素位置＊を除けば同様のものとなる。したがって、上記の説明において、矢印Ａ方向を図２における紙面上下方向、矢印Ｂ方向を図２における紙面左右方向とすることにより、ベイヤー配列の場合もハニカム配列の場合と同様に、全画素位置におけるＲＧＢ信号を算出することができる。
【００８５】
このようにして、全ての画素位置においてＲＧＢ全ての信号値ＱＲ，ＱＧ，ＱＢが得られると、市松正方補間手段５において、図３における空孔画素位置＊でのＲＧＢ信号値を補間演算により算出して、画素が正方状に配列されてなる補間済み画像データＳ１を得る。この補間演算は、図１６に示すような空孔画素位置＊周辺の４画素位置の信号値を用いた補間フィルタや、図１７に示すように４×４画素についての２次元Cubicスプライン補間演算を行う補間フィルタの補間係数の配置を４５度傾斜させた補間係数の配置を有する補間フィルタを用いて補間演算を行うことにより求めることができる。なお、この空孔画素位置＊における信号値を算出するための補間演算を市松正方補間演算とする。また、補間演算についてはこれらに限定されるものではなく、上述したように求められた各画素位置におけるＲＧＢ信号をＹＣＣ輝度色差空間に変換し、ＹＣＣ毎に異なる補間フィルタによる補間演算を施す等、空孔画素位置＊における信号値を算出するための補間演算であればいかなる方法をも採用可能である。
【００８６】
次いで、第１の実施形態の動作について説明する。図１８は第１の実施形態の動作を示すフローチャートである。まず、被写体を撮影して単板ＣＣＤ１において画像データＳ０を得る（ステップＳ１）。次いで、補間手段２のＧ補間手段３において、上記（１）の処理により所定方向におけるＲまたはＢ画素位置におけるＧ信号ＱＧが算出される（ステップＳ２）。そして、補間手段２において、算出する信号をＲ信号にセットし（ステップＳ３）、ＲＢ補間手段４においてＲ信号ＱＲが算出される（ステップＳ４）。
【００８７】
図１９はステップＳ４の処理を示すフローチャートである。まず、上記処理１および２により信号値を算出し（ステップＳ１１）、ステップＳ３および４により信号値を算出し（ステップＳ１２）、処理５および６により信号値を算出する（ステップＳ１３）。そして、変動値算出手段１３において、上記式（２３）、（２４）等に示すように変動値ＳＡ，ＳＢを算出する（ステップＳ１４）。そして、変動値ＳＡ，ＳＢは重み付け係数選択手段１４に入力されて、ここで重み付け係数Ｓｊが選択され、ステップＳ１１，Ｓ１２，Ｓ１３の処理により算出された信号値が重み付け加算されて、Ｒ信号ＱＲが算出される（ステップＳ１５）。
【００８８】
図２０はステップＳ１５の処理を示すフローチャートである。なお、図２０はビットシフトを用いての重み付け係数Ｓｊの算出および重み付け加算の動作を示すものである。また、図２０においては、Ｒ４４画素位置におけるＢ（Ｒ４４）信号の算出を表すものである。まず、変動値ＳＡ，ＳＢの和が０であるか否かが判断される（ステップＳ２１）。ステップＳ２１が肯定されると、ＳＡ＝ＳＢ＝０．５としてビットシフトを用いて、式（３５）によりＢ（Ｒ４４）信号が算出される（ステップＳ２２）。
【００８９】
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            （３９）
図１８に戻り、Ｒ，Ｂ全ての信号を算出したか否かが判断され（ステップＳ５）、ステップＳ５が否定された場合には、ステップＳ６において算出する信号をＢ信号にセットし、ステップＳ４に戻ってステップＳ４，Ｓ５の処理を繰り返してＢ信号ＱＢが算出される。
【００９５】
ステップＳ５が肯定されると、空孔画素位置以外の全ての画素位置においてＲＧＢ信号ＱＲ，ＱＧ，ＱＢが算出されたとして、市松正方補間手段５において、各画素の信号値に対して図１６あるいは図１７に示す補間フィルタによる市松正方補間演算を行って、空孔画素位置における信号値を算出し（ステップＳ７）、処理を終了する。
【００９６】
そしてこれにより、図２（ｂ）に示すハニカム配列による単板ＣＣＤ１の空孔画素位置を含む全画素位置におけるＲＧＢ信号を得ることができ、全画素位置においてＲＧＢ信号を有する補間済み画像データＳ１を得ることができる。
【００９７】
なお、図１８に示すフローチャートのステップＳ３においては、算出する信号をＲ信号にセットしているが、先にＢ信号にセットしてもよい。この場合、ステップＳ５が否定されるとステップＳ６において、算出する信号がＢ信号からＲ信号に切り替えられることとなる。
【００９８】
このように、第１の実施形態によれば、重み付け係数Ｓｊを算出する際に除算を行わないため、重み付け係数Ｓｊの算出を行う回路の構成を簡易なものとすることができ、その結果、本実施形態を実施するための装置の構成を簡易なものとすることができるとともに、演算時間も短縮することができる。また、ビットシフトを行うことにより、整数値にて演算を行うことができるため、演算を簡易に行って処理時間を短縮することができる。したがって、本発明を実施するための装置をデジタルカメラ等の撮像装置やスキャナ等の画像読取装置、あるいはプリンタ等に搭載することが容易となり、これにより高機能の装置を作成することができる。
【００９９】
なお、上記第１の実施形態においては、ビットシフトを用いて重み付け加算を行っているが、重み付け係数選択手段１４において算出された重み付け係数Ｓｊを用いて、ビットシフトを行うことなく、重み付け加算手段１５において、上記式（３３）に示す重み付け加算を行うようにしてもよい。
【０１００】
次いで、本発明の第２の実施形態について説明する。図２１は本発明の第２の実施形態による画像処理装置のＲＢ補間手段の構成を示す概略ブロック図である。なお、図２１において図５と同一の構成については同一の参照番号を付し、詳細な説明は省略する。第２の実施形態においては、信号値を推定する画素位置がグレーエッジにあるか色エッジにあるか否かを判定する判定手段１０と、判定手段１０における判定結果を表す判定情報Ｈに基づいて、矢印Ａ方向および矢印Ｂ方向における信号値の変動量を表す値を変動値ＳＡ，ＳＢとして算出する変動値算出手段２３とを備えた点が第１の実施形態と異なるものである。
【０１０１】
判定手段１０は、以下のようにして信号値を推定する画素位置がグレーエッジにあるか色エッジにあるかを判定する。図２２は赤（Ｒ）および緑（Ｇ）からなる色エッジの例を示す図、図２３は白および黒からなるグレーエッジの例を示す図である。なお、図２２，２３においては、信号値が０の画素位置を白抜きで示し、それ以外の画素は信号値が２５５であるものとして説明する。また、ここではＲ４４画素位置での判定について説明する。まず、判定手段１０は、下記の式（４０）から（４３）により、エッジの判断値Ｄａｔ１〜Ｄａｔ４を求める。
【０１０２】
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|                     （２８）
ここで、色エッジおよびグレーエッジの場合における変動値ＳＡ，ＳＢの算出方法の差異について説明する。図２４は変動値ＳＡ，ＳＢの算出方法の差異を説明するための図である。図２４に示す画素配列においては白（信号値が２５５）および黒（信号値が０または０に近い値）のグレーエッジが表されているものとする。なお、ここではＲ４４画素におけるＢ（Ｒ４４）信号の算出について説明する。まず、矢印Ａ方向について、下記の式（５２）によりＲ４４画素位置のＢ（Ｒ４４）Ａ信号を求める。
【０１１３】
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   （５９）
となる。これにより、Ｂ（Ｒ４４）信号は０に近い値となり、その結果偽色を低減することができる。
【０１２０】
一方、色エッジであると判定された場合に、式（５７）により変動値ＳＡ，ＳＢを算出しても偽色を低減できるが、エッジ付近における細かな色味がなくなってしまうため、画像が不自然なものとなる。したがって、第２の実施形態においては、信号値を算出する画素位置がグレーエッジであるか色エッジであるかに応じて、変動値ＳＡ，ＳＢの算出方法を変更するようにしたものである。
【０１２１】
なお、第２の実施形態においては、変動値算出手段２３において、色エッジである場合の変動値ＳＡ，ＳＢの算出は、上記式（４６）、（４７）等により行っているが、これらの式においては除算が含まれるため、演算量を低減させるためには、除算を行わないことが好ましい。この場合、変動値ＳＡ，ＳＢの比率が変わらなければ重み付け係数Ｓｊの算出に支障はない。したがって、上記式（４６）、（４７）の場合、右辺に(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)      （５１′）
次いで、第２の実施形態の動作について説明する。なお、第２の実施形態の動作は基本的には図１８に示す第１の実施形態の動作と同一であり、図１８におけるステップＳ４における処理のみが異なるものであるため、ここではステップＳ４における信号算出処理についてのみ説明する。図２５は第２の実施形態における信号算出処理の動作を示すフローチャートである。まず、第１の実施形態と同様に処理１および２による信号値の算出（ステップＳ４１）、処理３および４による信号値の算出（ステップＳ４２）、処理５および６による信号値の算出（ステップＳ４３）が行われる。
【０１２５】
一方、判定手段１０においては、信号値を算出する画素位置がグレーエッジにあるか否かが判定され（ステップＳ４４）、その判定結果を表す判定情報Ｈが変動値算出手段２３に入力される。変動値算出手段２３においては、信号値を算出する画素位置がグレーエッジにある場合には、上記式（２３）、（２４）等に示すようにグレーエッジ用の変動値ＳＡ，ＳＢを算出する（ステップＳ４５）。逆に色エッジである場合には、上記式（４６′）、（４７′）等に示すように色エッジ用の変動値ＳＡ，ＳＢを算出する（ステップＳ４６）。そして、変動値ＳＡ，ＳＢは重み付け係数選択手段１４に入力されて、第１の実施形態と同様に、メモリ１４Ａに記憶されたテーブルを参照して重み付け係数Ｓｊが選択され、ステップＳ１１，Ｓ１２，Ｓ１３の処理により算出された信号値がビットシフトを用いて重み付け加算されて、Ｒ信号ＱＲが算出される（ステップＳ４７）。なお、ビットシフトを行うことなく、上記式（３３）に示す重み付け加算を行うようにしてもよいことはもちろんである。
【０１２６】
このように、第２の実施形態によれば、信号値を算出する画素位置がグレーエッジにあるか色エッジにあるかを判定し、判定結果に応じて重み付け係数Ｓｊを算出するための変動値ＳＡ，ＳＢの算出方法を変更するようにしたため、信号値を算出する画素位置がグレーエッジにある場合であっても、偽色を低減できる。また、信号値を算出する画素位置が色エッジにある場合には、エッジ付近における細かい色味を残して自然な感じとなる画像を得ることができる。
【０１２７】
ここで、単板ＣＣＤ１を使用した撮像装置においては、偽色を低減するために、画像データを得るための撮像系において、光学ローパスフィルタを用いる必要がある。図２６はハニカム配列の単板ＣＣＤを用いたデジタルカメラの撮像系を示す図、図２７はハニカム配列の単板ＣＣＤにおいて得られた信号値の周波数特性を示す図である。なお、図２７ではｆｓ／２がナイキスト周波数であり、図２７（ａ）における実線は従来の処理により再現可能な周波数帯域、図２７（ｂ）における実線は本実施形態の処理により再現可能な周波数帯域をそれぞれ示している。図２６に示すように、デジタルカメラの撮像系は被写体から順に撮影レンズ３１、光学ローパスフィルタ３２およびハニカム配列の単板ＣＣＤ３３が配列されてなる。なお、光軸をＸで示す。上記特開平１０−２０９０６号、同１０−１３６３９１号等に記載された方法においては、偽色の低減効果が不十分であるため、図２７（ａ）に示す実線より外側の周波数帯域をカットするための帯域の狭い光学ローパスフィルタ３２を使用する必要がある。しかしながら、このような帯域の狭い光学ローパスフィルタを使用すると、得られる画像の解像度が低下する。また、このような周波数帯域の狭い光学ローパスフィルタ３２を作成するには、中心波長６３０〜７８５ｎｍ程度の１／４波長板を図２８（ａ）に示すように３枚張り合わせる必要があるため、撮像系の構成が大型化する。
【０１２８】
本発明によれば、従来の方法と比較して偽色を低減することができるため、光学ローパスフィルタ３２の周波数帯域を図２７（ｂ）に示すように広げることができ、これにより、単板ＣＣＤ３３において得られる画像データＳ０により表される画像の解像度を向上させることができる。また、図２８（ｂ）に示すように２枚の１／４波長板を張り合わせることにより、図２７（ｂ）に示す特性を得ることができるため、撮像系を小型化することができる。
【０１２９】
なお、上記第１および第２の実施形態においては単板ＣＣＤ１として、Ｇ画素がＲ，Ｂ画素に対して倍の密度を有するものについて説明したが、Ｒ画素がＧ，Ｂ画素に対して、あるいはＢ画素がＲ，Ｇ画素に対して倍の密度を有するものであってもよい。また、Ｒ，Ｇ，Ｂに対して分光感度を有するものについて説明したが、単板ＣＣＤ１としてはこれに限定されるものではなく、Ｙ（イエロー）、Ｇ（グリーン）、Ｃ（シアン）に対して分光感度を有するもの、あるいはＹ、Ｗ（ホワイト）、Ｃに対して分光感度を有するものであってもよい。
【０１３０】
また、上記第１および第２の実施形態においては、３色全ての信号値を算出しているが、１色または２色のみの信号値を算出するようにしてもよい。
【０１３１】
さらに、上記第１および第２の実施形態においては、式（２９）により重み付け係数Ｓｊを算出するものとしているが、下記の式（６０）により重み付け係数Ｓｊを算出するものとしてもよい。
【０１３２】
Sj=SB/(SA+SB)  (if SA+SB=0 then Sj=0.5)  （６０）
この場合、重み付け係数Ｓｊと変動値ＳＡ，ＳＢとの対応関係は、図２９に示すようにｘ軸方向に変動値ＳＢ、ｙ軸方向に変動値ＳＡとした２次元平面上において規定されることとなる。
【０１３３】
また、この場合、Ｒ、Ｂ信号ＱＲ、ＱＢは、下記の式（６１）により算出される。
【０１３４】
QR,QB=Sj*Q1+(1-Sj)*Q2                    （６１）
【図面の簡単な説明】
【図１】本発明の第１の実施形態による画像処理装置の構成を示す概略ブロック図
【図２】単板ＣＣＤにおける画素配列を示す図
【図３】ハニカム配列の単板ＣＣＤの画素配列を示す図
【図４】ハニカム配列の単板ＣＣＤの各画素位置を参照番号を付して示す図
【図５】ＲＢ補間手段の構成を示す概略ブロック図
【図６】  Cubicスプライン補間フィルタの例を示す図
【図７】信号値の算出を説明するための図（その１）
【図８】信号値の算出を説明するための図（その２）
【図９】信号値の算出を説明するための図（その３）
【図１０】信号値の算出を説明するための図（その４）
【図１１】信号値の算出を説明するための図（その５）
【図１２】信号値の算出を説明するための図（その６）
【図１３】信号値の算出を説明するための図（その７）
【図１４】変動値ＳＡ，ＳＢと重み付け係数Ｓｊとの関係を示す図
【図１５】第１の実施形態の処理を説明するための図
【図１６】市松正方フィルタの例を示す図（その１）
【図１７】市松正方フィルタの例を示す図（その２）
【図１８】第１の実施形態の動作を示すフローチャート
【図１９】信号算出処理の動作を示すフローチャート
【図２０】ビットシフトを用いた重み付け加算処理の動作を示すフローチャート
【図２１】本発明の第２の実施形態による画像処理装置におけるＲＢ補間手段の構成を示す概略ブロック図
【図２２】赤（Ｒ）および緑（Ｇ）からなる色エッジの例を示す図
【図２３】グレーエッジの例を示す図
【図２４】変動値ＳＡ，ＳＢの算出方法の差異を説明するための図
【図２５】第２の実施形態における信号算出処理の動作を示すフローチャート
【図２６】ハニカム配列の単板ＣＣＤを用いたデジタルカメラの撮像系を示す図
【図２７】ハニカム配列の単板ＣＣＤにおいて得られた信号値の周波数特性を示す図
【図２８】光学ローパスフィルタの配置を示す図
【図２９】変動値ＳＡ，ＳＢと重み付け係数Ｓｊとの関係を示す図
【図３０】ハニカム配列を示す図
【図３１】ベイヤー配列を示す図
【図３２】ベイヤー配列の画素位置を参照番号を付して示す図
【図３３】ハニカム配列の画素位置を参照番号を付して示す図
【符号の説明】
１    単板ＣＣＤ
２    補間手段
３    Ｇ補間手段
４    ＲＢ補間手段
５    市松正方補間手段
１０    判定手段
１１    第１補間手段
１２    第２補間手段
１３，２３    変動値算出手段
１４    重み付け係数選択手段
１５    重み付け加算手段
３１    撮影レンズ
３２    光学ローパスフィルタ
【図１】
0004302855.tif 000002
【図２】
0004302855.tif 000003
【図３】
0004302855.tif 000004
【図４】
0004302855.tif 000005
【図５】
0004302855.tif 000006
【図６】
0004302855.tif 000007
【図７】
0004302855.tif 000008
【図８】
0004302855.tif 000009
【図９】
0004302855.tif 000010
【図１０】
0004302855.tif 000011
【図１１】
0004302855.tif 000012
【図１２】
0004302855.tif 000013
【図１３】
0004302855.tif 000014
【図１４】
0004302855.tif 000015
【図１５】
0004302855.tif 000016
【図１６】
0004302855.tif 000017
【図１７】
0004302855.tif 000018
【図１８】
0004302855.tif 000019
【図１９】
0004302855.tif 000020
【図２０】
0004302855.tif 000021
【図２１】
0004302855.tif 000022
【図２２】
0004302855.tif 000023
【図２３】
0004302855.tif 000024
【図２４】
0004302855.tif 000025
【図２５】
0004302855.tif 000026
【図２６】
0004302855.tif 000027
【図２７】
0004302855.tif 000028
【図２８】
0004302855.tif 000029
【図２９】
0004302855.tif 000030
【図３０】
0004302855.tif 000031
【図３１】
0004302855.tif 000032
【図３２】
0004302855.tif 000033
【図３３】
0004302855.tif 000034