JP4302854B2 - Image processing method and apparatus, and recording medium - Google Patents
Image processing method and apparatus, and recording medium Download PDFInfo
- Publication number
- JP4302854B2 JP4302854B2 JP2000104977A JP2000104977A JP4302854B2 JP 4302854 B2 JP4302854 B2 JP 4302854B2 JP 2000104977 A JP2000104977 A JP 2000104977A JP 2000104977 A JP2000104977 A JP 2000104977A JP 4302854 B2 JP4302854 B2 JP 4302854B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- signal
- predetermined direction
- orthogonal direction
- weighting coefficient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000003672 processing method Methods 0.000 title claims description 21
- 238000004364 calculation method Methods 0.000 claims description 124
- 238000000034 method Methods 0.000 claims description 65
- 238000012545 processing Methods 0.000 claims description 58
- 238000003384 imaging method Methods 0.000 claims description 42
- 238000006243 chemical reaction Methods 0.000 claims description 38
- 230000035945 sensitivity Effects 0.000 claims description 12
- 230000003595 spectral effect Effects 0.000 claims description 11
- 208000024891 symptom Diseases 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 45
- 239000003086 colorant Substances 0.000 description 13
- 230000014509 gene expression Effects 0.000 description 11
- 101100241173 Caenorhabditis elegans dat-1 gene Proteins 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
Images
Landscapes
- Color Television Image Signal Generators (AREA)
- Editing Of Facsimile Originals (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、単板CCDのような撮像デバイスにおいて得られた信号値を用いて、撮像デバイスの全画素位置における信号値を推定する画像処理方法および装置並びに画像処理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体に関するものである。
【0002】
【従来の技術】
デジタルカメラに用いられるCCD等の撮像デバイスとしては、分光感度が異なる複数種類の光電変換素子を同一平面上に交互に配置して構成されているものが知られている(以下単板CCDと称する)。ここで、R,G,Bのそれぞれに分光感度を有する光電変換素子、すなわちR,G,Bの各チャンネルの光電変換素子を交互に配置した単板CCDの場合、連続したR,G,Bチャンネルの3個の光電変換素子の組が1つの画素を構成することとなる。しかしながら、このような単板CCDにおいては各画素のR,G,B信号値を同一画素位置において得ることができないため、色ずれや偽色が生じることがある。また、各チャンネルの光電変換素子数は単板CCDを構成する全素子数よりも少ないため、高解像度の画像を得ることができない。例えばR,G,B各チャンネルの光電変換素子を交互に配置した単板CCDにおいては、各チャンネルの光電変換素子数は全素子数の1/3しかないため、同一素子数のモノクロ撮像装置に比べて解像度が1/3となってしまう。このため、R,G,B各チャンネルの光電変換素子が存在しない部分における信号値を補間処理により求める方法が提案されているが、単に補間処理を行うのみでは、信号値が大きく変化する部分において偽色が発生することがある。この場合、撮像系に光学ローパスフィルタを使用したり、撮像信号に対してローパスフィルタによる平滑化処理を行うことにより偽色の発生を防止することができるが、この場合解像度が悪化するという問題がある。
【0003】
ここで、人間の視覚特性は色よりも輝度に対して感度が高いものである。このため、単板CCDにおいて得られたカラー撮像信号から、各画素の輝度を表す高周波の輝度信号と、上述した補間処理およびローパスフィルタによる平滑化処理によって得られた低周波の色信号とを生成し、輝度信号および色信号を用いてカラー画像信号を再構成するようにした方法が提案されている(特開平10−200906号等)。この方法によれば、人間の視覚特性において感度が高い輝度成分に対してより多くの情報が与えられることとなるため、見かけ上解像度が高い画像を再現可能なカラー画像信号を得ることができる。
【0004】
ところで、単板CCDとして、例えば図33に示すように市松状に画素が配置されたハニカム配列のアレイ構造を有するCCDが知られている(例えば特開平10−136391号)。なお、これを市松状の画素配列と称することもある。また、図34に示すように正方状に画素が配置されたベイヤー配列のアレイ構造を有するCCDも知られている。なお、これを正方状の画素配列と称することもある。このようなアレイ構造すなわち画素配列を有する単板CCDにおいても上記と同様に偽色の問題が生じる。このため、上述したベイヤー配列のCCDにおいて得られた光量ベースの信号について偽色を除去するために、画像中の局所的な領域においてはr,g,bの信号の比は略一定であるという仮定に基づいて、ベイヤー配列のCCDにおける垂直方向または水平方向のラインにおいて、隣接するラインにおけるr信号とg信号との比をg信号に乗算することにより、そのラインにおけるr信号を算出するようにした方法が知られている(特開平9−214989号)。この方法は、具体的には、図35に示す画素配列において、g12画素位置におけるr信号r12を求めるには、まずr11画素位置におけるg11信号を(g6+g16)/2の演算により算出し、r11:g11=r12:g12という仮定に基づいて、r12=g12×r11/g11の演算によりr12信号を算出するものである。
【0005】
しかしながら、上記特開平10−200906号等に記載された方法においては、単板CCDにおいて得られた撮像信号に対してどのようなローパスフィルタにより平滑化処理を施しても、実際の画像における高周波成分が画像中にすでに折り返されてしまっているため、折り返しひずみによるモアレを取り除くことができず、その結果偽色を十分に除去することができない。
【0006】
一方、上記特開平9−214989号に記載された方法によれば、効果的に偽色を除去することができる。とくにこの方法は、画像の局所的な領域においては、r:g:bの光量の比が一定であるという仮定に基づいており、得られたRGB信号の比が光量に比例しているアナログ信号である場合には、ベイヤー配列のCCDにおいて得られる画像信号における偽色を効率よく除去することができる。しかしながら、デジタルカメラにより得られる画像信号は、A/D変換を行って光量rgbをデジタルのRGB信号に変換する場合に、量子化誤差を低減するため、およびコンピュータ系のビデオ回路へ信号を入力するために、例えばR=r0.45、R=log(r)のように、光量に対する指数値、対数値となるように信号値が表されていることから、r:g:b=R:G:Bとはならないものである。このため、上記特開平9−214989号に記載された方法は、信号値が光量に比例するアナログ信号に対しては偽色を除去することができるが、信号値が光量の指数値や対数値により表されている場合には偽色を除去することはできない。また、偽色はベイヤー配列の単板CCDのみならずハニカム配列の単板CCDにおいても発生する。
【0007】
このため、撮像デバイスにおいて得られた信号値が、光量に対する指数値や対数値により表されている場合、画像の局所的な領域においてはRGB各信号値の差は一定であるという前提に基づき、信号値を算出する画素位置における信号値が変化する方向を考慮して、各画素位置における信号値を算出する方法が提案されている(特願平11−212202号)。以下、この方法について具体的に説明する。
【0008】
まず、撮像デバイスであるCCDの画素配列を図33に示すハニカム配列とし、図36に示すように各画素位置に参照番号を付与する。なお、この画素配列を正方配列と見なした場合に、信号値を有さない画素位置を図36において*を用いて示す。また、各チャンネルにおいて得られる信号値は8ビットであるものとし、紙面左上から右下に延在する方向を矢印A方向、紙面右上から左下に延在する方向を矢印B方向とし、以下本明細書中においては矢印A方向および矢印B方向は不変とする。なお、ここではB24画素位置におけるR信号(以下R(B24)信号と表記する)の算出について説明する。まず、矢印A方向について、下記の式(1)によりB24画素位置のR(B24)A信号を求める。
【0009】
R(B24)A=G(B24)A+((R(G33)A-G33)+(R(G15)A-G15))/2 (1)
但し、G(B24)A信号は、画素がB02,G13,B24,G35…と並ぶライン上のG画素位置におけるG信号に対して、矢印A方向に1次元Cubicスプライン補間演算等の1次元補間演算を施して求めたB24画素位置のG信号である。また、R(G33)A信号は、画素が…R22,G33,R44,G55…と並ぶライン上のR画素位置におけるR信号に対して、矢印A方向に1次元補間演算を施して求めたG33画素位置のR信号である。さらに、R(G15)A信号は、画素がR04,G15,R26,G37…と並ぶライン上のR画素位置におけるR信号に対して、矢印A方向に1次元補間演算を施して求めたG15画素位置のR信号である。
【0010】
次に、矢印B方向について、下記の式(2)によりB24画素位置のR(B24)B信号を求める。
【0011】
R(B24)B=G(B24)B+((R(G13)B-G13)+(R(G35)B-G35))/2 (2)
但し、G(B24)B信号は、画素がB06,G15,B24,G33…と並ぶライン上のG画素位置におけるG信号に対して、矢印B方向に1次元補間演算を施して求めたB24画素位置のG信号である。また、R(G13)B信号は、画素がR04,G13,R22,G31…と並ぶライン上のR画素位置におけるR信号に対して、矢印B方向に1次元補間演算を施して求めたG13画素位置のR信号である。さらに、R(G35)B信号は、画素が…R26,G35,R44,G53…と並ぶライン上のR画素位置におけるR信号に対して、矢印B方向に1次元補間演算を施して求めたG35画素位置のR信号である。
【0012】
そして、下記の式(3a)、(3b)により、B24画素位置における矢印A方向および矢印B方向についての信号値の変動量を表す変動値SA,SBを算出し、さらに、変動値SA,SBを用いて式(3c)によりR(B24)A信号とR(B24)B信号とを重み付け加算するための重み付け係数Sjを算出する。
【0013】
SA=|B24-G(B24)A|/(B24+G(B24)A) (3a)
SB=|B24-G(B24)B|/(B24+G(B24)B) (3b)
Sj=SA/(SA+SB)(SA+SB=0ならSj=0.5) (3c)
このように重み付け係数Sjが求められると、下記の式(4)により、R(B24)信号を算出する。
【0014】
R(B24)=(1-Sj)*R(B24)A+Sj*R(B24)B (4)
この方法によれば、撮像デバイスにおいて得られた信号値が指数値や対数値により表されている場合であっても、偽色を発生させることなく全画素位置における信号値を求めることができる。また、この方法において、信号値が変化する方向に応じて、撮像デバイス上の所定方向およびこれに直交する直交方向について算出された信号値を上記式(4)に示すように重み付け加算して、各画素位置における信号値を算出することにより、信号値の変化方向に拘わらず偽色の発生を防止できるとともに、アーチファクトの発生をも防止することができる。
【0015】
【発明が解決しようとする課題】
しかしながら、特願平11−212202号の方法では、信号値を推定する画素位置が画像の色エッジ上にある場合には、偽色を発生させることなく信号値を算出することができるが、信号値を推定する画素がグレーエッジ上にある場合には、偽色を十分に低減することができない。以下、この問題点について説明する。まず、上記図36に示す画素配列において、図16に示すように信号値が得られて白(信号値が255)および黒(信号値が0または0に近い値)のグレーエッジが表されているものとする。なお、ここではR44画素位置におけるB(R44)信号の算出について説明する。まず、矢印A方向について、下記の式(5)によりR44画素位置のB(R44)A信号を求める。
【0016】
B(R44)A=G(R44)A+((B(G35)A-G35)+(B(G53)A-G53))/2
=0+((2-0)+(255-255))/2=1 (5)
但し、G(R44)A=0,B(G35)A=2,B(G53)A=255
また、矢印B方向について、下記の式(6)によりR44画素位置のB(R44)B信号を求める。
【0017】
B(R44)B=G(R44)B+((B(G33)B-G33)+(B(G55)B-G55))/2
=103+((105-0)+(105-0))/2=208 (6)
但し、G(R44)B≒103,B(G33)B≒105,B(G55)B≒105
そして、下記の式(7)によりB(R44)A信号とB(R44)B信号とを重み付け加算するための重み付け係数を算出する。
【0018】
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 (7)
Sj=SA/(SA+SB)=1/(1+0.98)≒0.5
このように重み付け係数Sjが求められると、下記の式(8)により、B(R44)信号を算出する。
【0019】
B(R44)=(1-Sj)*B(R44)A+Sj*B(R44)B=0.5*1+0.5*208≒105 (8)
ここで、R44画素位置は黒いエッジ上にあるため、B(R44)信号の値は0に近い値であることが好ましい。しかしながら、上記式(7)に示すように重み付け係数Sjを算出して式(8)によりB(R44)信号の値を求めると、その値は105となるため、ここに偽色が発生することとなる。
【0020】
本発明は上記事情に鑑みなされたものであり、グレーエッジであっても偽色を生じさせることなく信号値を推定できる画像処理方法および装置並びに画像処理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体を提供することを目的とするものである。
【0021】
【課題を解決するための手段】
本発明による画像処理方法は、異なる分光感度を有する第1から第3の光電変換素子を単一面上に配置して撮像面が形成された撮像デバイスであって、前記第1および前記第2の光電変換素子を所定方向に交互に配置して第1ラインを形成し、前記第1および前記第3の光電変換素子を前記所定方向に交互に配置して第2ラインを形成し、前記所定方向と直交する直交方向において前記第1および前記第2の光電変換素子が交互に、かつ前記第1および前記第3の光電変換素子が交互に配置されるよう、前記第1および前記第2ラインを前記直交方向に交互に配置することにより、第1から第3画素からなる前記撮像面が形成された撮像デバイスにおいて得られた第1から第3信号値に基づいて、全画素位置における前記第1から第3信号値のうち少なくとも1つの信号値を推定する画像処理方法において、
信号値を推定する画素位置が、グレーエッジにあるか色エッジにあるかを判定し、
前記所定方向についての信号値の推定値である所定方向推定値および前記直交方向についての信号値の推定値である直交方向推定値を算出し、
前記判定の結果に応じた異なる演算方法により、前記所定方向についての信号値の変動量を表す所定方向変動値および前記直交方向についての信号値の変動量を表す直交方向変動値を算出し、
前記所定方向変動値および前記直交方向変動値に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数を設定し、
該重み付け係数に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算して、前記第1から第3信号値のうち少なくとも1つの信号値を推定することを特徴とするものである。
【0022】
ここで、図33に示すようなハニカム配列の単板CCDにおいて、第1から第3画素、第1信号値から第3信号値をそれぞれG,R,Bに対応させるとすると、第1ラインは図33上左上から右下方向(これを所定方向とする)にGR画素を交互に配置したGRラインとなり、第2ラインは第1ラインと同様の方向にGB画素を交互に配置したGBラインとなる。また、所定方向と直交する方向にもGRラインおよびGBラインが交互に配置されている。本発明による画像処理方法は、単板CCDのような撮像デバイスにおいて得られる信号値が光量に対する指数値や対数値により表されている場合には、画像上の局所的な領域において、各信号値の差分値が等しくなるという前提に基づいて、このような撮像デバイスにおいて得られた第1から第3信号値から、各画素位置における全ての信号値を推定するようにしたものである。なお、本発明においては撮像デバイスの画素配列はこれに限定されるものではない。
【0023】
「所定方向推定値」および「直交方向推定値」とは、所定方向および直交方向についてそれぞれ推定した第1から第3信号値のうち少なくとも1つの信号値のことである。
【0024】
「判定の結果に応じた異なる演算方法により、所定方向変動値および直交方向変動値を算出する」とは、色エッジであると判定された場合には、例えば上記式(3a)、(3b)に示す演算方法により変動値SAおよび変動値SBを所定方向変動値および直交方向変動値として求め、グレーエッジであると判定された場合には、例えば下記の式(9a)、(9b)に示す演算方法により変動値SAおよび変動値SBを所定方向変動値および直交方向変動値として求めることをいう。
【0025】
SA=|B24-G(B24)A| (9a)
SB=|B24-G(B24)B| (9b)
「重み付け係数を設定する」とは、グレーエッジと判定された場合には、偽色が発生しないように所定方向推定値および直交方向推定値を重み付ける重み付け係数を設定し、色エッジと判定された場合には、偽色を低減させつつも細かな色味を残すことができるような重み付け係数を設定することをいう。
【0026】
また、本発明による画像処理方法においては、前記所定方向変動値と前記直交方向変動値との加算値を算出し、該加算値に対する前記所定方向変動値または前記直交方向変動値の比率を算出し、該比率を前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定することが好ましい。
【0027】
さらに、本発明による画像処理方法においては、前記所定方向変動値および前記直交方向変動値の加算値に対する前記所定方向変動値または前記直交方向変動値の比率を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定するに際し、
前記重み付け係数が一定であるとした場合の前記所定方向変動値と前記直交方向変動値との関係に基づいて、複数の重み付け係数に対する所定方向変動値および直交方向変動値の対応関係を予め算出して記憶した記憶手段を参照して、前記所定方向変動値および前記直交方向変動値に基づいて、前記複数の重み付け係数から一の重み付け係数を選択し、該選択された一の重み付け係数を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定することが好ましい。
【0028】
また、この場合、前記記憶手段に記憶された前記対応関係における前記複数の重み付け係数を、前記加算値に対する前記所定方向変動値または前記直交方向変動値の比率が1/2n(nは自然数)となるように設定し、
前記重み付け加算を、前記重み付け係数に基づくビットシフトにより行うことが好ましい。
【0029】
ここで、加算値に対する所定方向変動値または直交方向変動値の比率が1/2n(nは自然数)となるように重み付け係数が設定されていると、所定方向推定値および直交方向推定値を2進数で表した場合、これらに1/2nを乗算することは、これらの推定値を右側にnビットシフトさせることと等価な演算を行っていることとなる。したがって、「重み付け係数に基づくビットシフト」とは、選択された一の重み付け係数の値1/2nに基づいて、所定方向推定値および直交方向推定値を右側にnビットシフトさせることにより、重み付け加算を行うことをいう。
【0030】
また、本発明による画像処理方法においては、前記信号値を推定する画素位置が、前記第1から第3信号値のいずれか1つの信号値のみからなる単色平坦部にあるか否かを判定し、
前記単色平坦部にあると判定された場合には、該単色平坦部内における前記第1から第3信号値に基づく線形補間演算により、前記第1から第3信号値のうち少なくとも1つの信号値を推定し、
前記単色平坦部にないと判定された場合に、前記グレーエッジにあるか色エッジにあるか否かの判定、前記所定方向推定値および前記直交方向推定値の算出、前記所定方向変動値および前記直交方向変動値の算出、前記重み付け係数の設定、および該重み付け係数に基づく信号値の推定を行うことが好ましい。
【0031】
また、本発明による画像処理方法においては、前記第1から前記第3の光電変換素子が、それぞれG(グリーン)、B(ブルー)、R(レッド)のいずれかの色、あるいはY(イエロー)、G(グリーン)、C(シアン)のいずれかの色に分光感度を有するものであることが好ましい。
【0032】
本発明による画像処理装置は、異なる分光感度を有する第1から第3の光電変換素子を単一面上に配置して撮像面が形成された撮像デバイスであって、前記第1および前記第2の光電変換素子を所定方向に交互に配置して第1ラインを形成し、前記第1および前記第3の光電変換素子を前記所定方向に交互に配置して第2ラインを形成し、前記所定方向と直交する直交方向において前記第1および前記第2の光電変換素子が交互に、かつ前記第1および前記第3の光電変換素子が交互に配置されるよう、前記第1および前記第2ラインを前記直交方向に交互に配置することにより、第1から第3画素からなる前記撮像面が形成された撮像デバイスにおいて得られた第1から第3信号値に基づいて、全画素位置における前記第1から第3信号値のうち少なくとも1つの信号値を推定する画像処理装置において、
信号値を推定する画素位置が、グレーエッジにあるか色エッジにあるかを判定する判定手段と、
前記所定方向についての信号値の推定値である所定方向推定値および前記直交方向についての信号値の推定値である直交方向推定値を算出する推定値算出手段と、
前記判定の結果に応じた異なる演算方法により、前記所定方向についての信号値の変動量を表す所定方向変動値および前記直交方向についての信号値の変動量を表す直交方向変動値を算出する変動値算出手段と、
前記所定方向変動値および前記直交方向変動値に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数を設定する重み付け係数設定手段と、
該重み付け係数に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算して、前記第1から第3信号値のうち少なくとも1つの信号値を推定する重み付け加算手段とを備えたことを特徴とするものである。
【0033】
なお、本発明による画像処理装置においては、前記重み付け係数設定手段は、前記所定方向変動値と前記直交方向変動値との加算値を算出し、該加算値に対する前記所定方向変動値または前記直交方向変動値の比率を算出する比率算出手段を備え、
該比率を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定する手段であることが好ましい。
【0034】
また、本発明による画像処理装置においては、前記重み付け係数設定手段は、前記所定方向変動値と前記直交方向変動値との加算値に対する前記所定方向変動値または前記直交方向変動値の比率を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定するに際し、前記重み付け係数が一定であるとした場合の前記所定方向変動値と前記直交方向変動値との関係に基づいて、複数の重み付け係数に対する所定方向変動値および直交方向変動値の対応関係を予め算出して、該対応関係を記憶した記憶手段と、
前記所定方向変動値および前記直交方向変動値に基づいて、前記記憶手段を参照して前記複数の重み付け係数から一の重み付け係数を選択する重み付け係数選択手段とを備え、
該選択された一の重み付け係数を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定する手段であることが好ましい。
【0035】
また、この場合、前記記憶手段に記憶された前記対応関係における前記複数の重み付け係数を、前記加算値に対する前記所定方向変動値または前記直交方向変動値の比率が1/2n(nは自然数)となるように設定し、
前記重み付け加算手段は、前記重み付け加算を、前記重み付け係数に基づくビットシフトにより行う手段であることが好ましい。
【0036】
また、本発明による画像処理装置においては、前記信号値を推定する画素位置が、前記第1から第3信号値のいずれか1つの信号値のみからなる単色平坦部にあるか否かを判定する平坦部判定手段と、
前記単色平坦部にあると判定された場合に、該単色平坦部内における前記第1から第3信号値に基づく線形補間演算により、前記第1から第3信号値のうち少なくとも1つの信号値を推定する線形補間手段とをさらに備え、
前記単色平坦部にないと判定された場合に、前記判定手段によるグレーエッジにあるか色エッジにあるかの判定、前記推定値算出手段による前記所定方向推定値および前記直交方向推定値の算出、前記変動値算出手段による前記所定方向変動値および前記直交方向変動値の算出、前記重み付け係数設定手段による前記重み付け係数の設定、および前記重み付け加算手段による前記重み付け係数に基づく信号値の推定を行うことが好ましい。
【0037】
さらに、本発明による画像処理装置においては、前記第1から前記第3の光電変換素子が、それぞれG、B、Rのいずれかの色に、あるいはY、G、Cのいずれかの色に分光感度を有するものであることが好ましい。
【0038】
なお、本発明による画像処理方法をコンピュータに実行させるためのプログラムとして、コンピュータ読取り可能な記録媒体に記録して提供してもよい。
【0039】
また、本発明による画像処理装置をデジタルカメラ等の撮像装置、あるいはスキャナ等の画像読取装置に搭載して提供してもよい。
【0040】
【発明の効果】
本発明によれば、信号値を推定する画素位置がグレーエッジにあるか色エッジにあるかを判定し、その判定の結果に応じた異なる演算方法により、所定方向についての信号値の変動量を表す所定方向変動値および直交方向についての信号値の変動量を表す直交方向変動値を算出し、この所定方向変動値および直交方向変動値に基づいて所定方向推定値および直交方向推定値を重み付け加算する際の重み付け係数を設定するようにしたものである。ここで、仮に所定方向にエッジが延在するとした場合、エッジ上のある画素位置の所定方向推定値は、エッジ上の他の画素位置の信号値と略一致する値となるが、直交方向推定値は、エッジに直交する方向に存在する画素位置における信号値の影響を受けて、エッジ上の他の画素位置の信号値とは異なる値となる。エッジがグレーエッジである場合には、直交方向推定値の影響がなくなるように重み付け係数を設定することが好ましい。一方、エッジが色エッジである場合、直交方向推定値の影響をなくすことが好ましいが、直交方向推定値の影響を完全になくして信号値を推定すると、エッジ付近における細かい色味がなくなってしまうため、却って不自然な画像となってしまう。
【0041】
ここで、所定方向にエッジが延在するとした場合、上記式(3a)、(3b)および式(9a)、(9b)により算出したSA,SBをそれぞれ所定方向変動値、直交方向変動値として、これらを比較すると、式(9a)、(9b)の場合除算を行っていないため、所定方向変動値に対する直交方向変動値の比率は、式(9a)、(9b)により算出した場合の方が大きくなる。したがって、式(9a)、(9b)により算出した所定方向変動値および直交方向変動値により求められた重み付け係数は、直交方向推定値に対する重み付けが所定方向推定値に対する重み付けと比較して、非常に小さくなる。一方、式(3a)、(3b)により算出した所定方向変動値および直交方向変動値により求められた重み付け係数は、直交方向推定値に対する重み付けが所定方向推定値に対する重み付けと比較して小さくなるものの、式(9a)、(9b)の場合ほど小さくはならない。
【0042】
したがって、所定方向変動値および直交方向変動値の演算方法を判定結果に応じて異なるものとして重み付け係数を設定することにより、グレーエッジの場合には偽色をほとんど発生させることなく信号値を推定でき、色エッジの場合には偽色を低減させつつも細かな色味を残すことができるように、信号値を推定することができる。
【0043】
なお、上記式(3c)に示すように重み付け係数を算出してもよいが、この式(3c)においては、SAを(SA+SB)にて除算しているため、この演算を実施するための装置の構成が大型化し、また演算量も多くなる。このため、請求項3,8,13の発明のように、所定方向変動値と直交方向変動値との加算値に対する所定方向変動値または直交方向変動値の比率を重み付け係数として設定するに際し、重み付け係数が一定であるとした場合の所定方向変動値と直交方向変動値との関係に基づいて、複数の重み付け係数に対する所定方向変動値および直交方向変動値の対応関係を予め算出して、これを記憶手段に記憶しておき、算出された所定方向変動値および直交方向変動値に基づいて、上記記憶手段を参照して一の重み付け係数を選択し、この一の重み付け係数に基づいて、所定方向推定値と直交方向推定値との重み付け加算を行うことが好ましい。
【0044】
ここで、重み付け係数を上記式(3c)により算出する場合、これを変動量SBについて解くと、
SB=((1-Sj)/Sj)*SA (3c′)
となる。これは重み付け係数Sjが一定であると、変動値SAと変動値SBとの関係は比例関係にあることを示している。したがって、変動値SAを所定方向変動値、変動値SBを直交方向変動値と対応させ、x軸を所定方向変動値、y軸を直交方向変動値とする2次元平面を設定すると、この2次元平面上においては、複数の重み付け係数はその重み付け係数に応じた傾きを有する原点を通る(厳密には原点を含まないが)直線として表されるものとなる。
【0045】
よって、例えば、重み付け係数に応じた傾きを有する複数の直線により、2次元平面を複数の領域に分割して、これを複数の重み付け係数に対する所定方向変動値および直交方向変動値の対応関係として求めてこれを記憶手段に記憶しておき、算出された所定方向変動値および直交方向変動値が上記2次元平面上のいずれの領域に含まれるかを判断し、これらが位置すると判断された領域に対応する重み付け係数を一の重み付け係数として選択することができる。
【0046】
したがって、請求項3,8,13の発明によれば、重み付け係数を求めるために、式(3c)に示すように、所定方向変動値または直交方向変動値を所定方向変動値および直交方向変動値の加算値により除算する必要がなくなり、これにより、演算量を低減でき、演算を行うための回路の構成も簡易なものとすることができる。したがって、本発明を実施するための装置をデジタルカメラ等の小型の撮像装置や、スキャナ等の画像読取装置に搭載することが容易となる。
【0047】
また、重み付け係数が加算値に対する所定方向変動値または直交方向変動値の値が1/2n(nは自然数)となるように設定されている場合、所定方向推定値および直交方向推定値を2進数で表すと、これらに1/2nを乗算することは、値を右側にnビットシフトさせることと等価な演算を行っていることとなる。したがって、ビットシフトにより所定方向推定値および直交方向推定値の重み付け加算を行うことにより、演算を簡易に行って処理時間を短縮することができる。
【0048】
また、信号値を推定する画素位置が、単色の信号値のみからなる単色平坦部にある場合には、単純な線形補間演算を行っても偽色を発生させることなく信号値を推定できる。したがって、信号値を推定する画素位置が単色平坦部にあるか否かを判定し、単色平坦部にある場合には、線形補間演算により信号値を推定することにより、信号値推定のための演算時間を短縮することができる。
【0049】
【発明の実施の形態】
以下図面を参照して本発明の実施形態について説明する。図1は本発明の第1の実施形態による画像処理装置の構成を示す概略ブロック図である。図1に示すように本発明の第1の実施形態による画像処理装置は、単板CCD1を構成する各光電変換素子において得られた信号値に対して補間処理を施して、全画素位置における信号値を求めるものであり、各信号値により構成される画像データS0に対して補間処理を施して、補間済み画像データS1を得る補間手段2を備える。補間手段2は、後述するようにして補間演算によりG信号QGを算出するG補間手段3と、R信号QRおよびB信号QBを算出するRB補間手段4と、G信号QG、R信号QRおよびB信号QBから後述する図3に示す空孔画素位置*の信号値を算出する市松正方補間手段5とを備える。なお、図1に示す単板CCD1においては、これを構成する光電変換素子からはアナログ信号が得られるものであるが、本実施形態における画像データS0は、アナログ信号をA/D変換したデジタル信号であり、なおかつこのデジタル信号は単板CCD1に入力する光量の0.45乗あるいは対数値となるように変換されているものとする。
【0050】
なお、本実施形態による画像処理装置は、デジタルカメラのような撮像装置やフイルムから画像を読み取るスキャナ等の読取装置に設けられるものであってもよく、これらの装置において得られた画像信号を再生するモニタやプリンタ等の再生装置に設けられるものであってもよい。また、画像処理装置単体として用いてもよい。
【0051】
図2は本実施形態において用いられる単板CCD1の画素配列を示す図である。図2(a)に示す画素配列は、y方向にR,Gチャンネルに対応する画素を交互に配列した第1のラインと、y方向にG,Bチャンネルに対応する画素を交互に配列した第2のラインとを、x方向に交互に配列したものであり、x方向における各ラインにおいてもR,GチャンネルおよびG,Bチャンネルが交互に配列された正方状の画素配列となっている。このような正方状の画素配列としては、図34に示すベイヤー配列が知られており、本実施形態においては図2(a)に示す画素配列をベイヤー配列と称するものとする。
【0052】
また、図2(b)に示す画素配列は、y方向にR,Bチャンネルに対応する画素を交互に配設したラインと、y方向にGチャンネルに対応する画素を配列したラインとを、各ラインの画素の配列間隔が他のラインの画素配列に対してy方向に略1/2相対的にずれるように配列したものであり、市松状の画素配列となっている。このような市松状の画素配列としては、上記特開平10−136391号に記載されたハニカム配列(図33)が知られており、本実施形態においては図2(b)に示す画素配列をハニカム配列と称するものとする。このハニカム配列は、x方向に対して45度傾斜した方向についてみれば、R,Gチャンネルの画素を交互に配列したラインと、同様に45度傾斜した方向にG,Bチャンネルの画素を交互に配列したラインとを、この方向に直交する方向に交互に配列したものとなっている。なお、ハニカム配列は図2(a)に示すようなベイヤー配列と画素の配列を45度回転させた関係となっている。また、ハニカム配列は上述したように市松状に画素が配列されてなるものであり、信号値を有さない空孔画素位置*を用いて図3に示すように正方状に表現することも可能である。本実施形態においては、図2(b)すなわち図3に示すハニカム配列の単板CCD1において得られた画像データS0に対して処理を行うものとして説明する。
【0053】
図4は、ハニカム配列の単板CCD1の画素位置を示す図であり、各画素位置に参照番号を付して示すものである。ここでは、図4の左上から右下に向かう方向、すなわち図4において画素がR00,G11,R22,G33,R44…と並ぶ方向(矢印A方向)を所定方向とし、この所定方向すなわち矢印A方向に直交する方向を矢印B方向とする。なお、本実施形態では画素位置に付与された参照番号を信号値の参照番号としても使用する。
【0054】
図5は、RB補間手段4の構成を示す概略ブロック図である。図5に示すように、RB補間手段4は、信号値を推定する画素位置がグレーエッジにあるか色エッジにあるか否かを判定する判定手段10と、図4における矢印A方向について全画素位置でのR信号およびB信号(総称して信号Q1とする)を算出する第1補間手段11と、矢印B方向について全画素位置でのR信号およびB信号(総称して信号Q2とする)を算出する第2補間手段12と、判定手段10における判定結果を表す判定情報Hに基づいて、矢印A方向および矢印B方向における信号値の変動量を表す値を変動値SA,SBとして算出する変動値算出手段13と、変動値算出手段13において算出された変動値SA,SBに基づいて、第1補間手段11および第2補間手段12において得られた信号Q1,Q2を重み付け補間する際の重み付け係数Sjを算出する重み付け係数算出手段14と、重み付け係数算出手段14において算出された重み付け係数Sjにより、第1補間手段11および第2補間手段において得られた信号Q1,Q2を重み付け加算してR信号QRおよびB信号QBを得る重み付け加算手段15とを備える。なお、図5における重み付け係数算出手段14が本発明における重み付け係数設定手段と観念される。
【0055】
次いで、本実施形態のG補間手段3におけるG信号QGおよびRB補間手段4におけるR信号QR、B信号QBの算出について説明する。
【0056】
(1)まず、RおよびB画素位置におけるG信号の算出処理について説明する。このG信号の算出はG補間手段3において行われる。RおよびB画素位置におけるG信号は、その画素位置周辺のG画素位置において得られるG信号に対してスプライン補間演算を施すことにより算出することができる。図6はスプライン補間演算を行う2次元Cubicスプライン補間フィルタの例を示す図である。図6に示す2次元Cubicスプライン補間フィルタは、G信号を算出する画素位置の近傍16画素のG画素位置におけるG信号に対して補間演算を施すものである。したがって、図7において実線で囲んだR44画素位置でのG(R44)信号は、破線で囲んだその周囲の16のG画素位置(G11,G13,G15,G17,G31,G33,G35,G37,G51,G53,G55,G57,G71,G73,G75,G77)のG信号に対して、図6に示す2次元Cubicスプライン補間フィルタによりフィルタリング処理を施すことにより算出される。一方、B46画素位置でのG(B46)信号は、破線で囲んだその周囲のG画素位置(G13,G15,G17,G19,G33,G35,G37,G39,G53,G55,G57,G59,G73,G75,G77,G79)のG信号に対して、同様にフィルタリング処理を施すことにより算出される。これにより、補間前にG信号が有する周波数成分を損なうことなく補間を行うことができ、この結果、全ての画素位置において元の周波数情報を保持したG信号を得ることができる。
【0057】
ここで、補間演算の手法としては図4における縦横2次元方向における補間演算であれば、いかなる手法をも適用することができる。なお、G信号を算出する画素位置周辺のG画素位置において得られるG信号に対して単純な線形補間演算を施すことによりR、G画素位置におけるG信号を算出してもよい。例えば図7において実線で囲んだR44画素位置でのG(R44)信号およびB46画素位置でのG(B46)信号は、その周囲の4つのG画素位置におけるG信号を用いて下記の式(10)、(11)により算出してもよい。
【0058】
G(R44)=(G33+G35+G53+G55)/4 (10)
G(B46)=(G35+G37+G55+G57)/4 (11)
(2)次に、RB補間手段4におけるR信号QRおよびB信号QBの算出について説明する。まず、第1および第2補間手段11,12における信号Q1,Q2の算出について説明する。
【0059】
1まず、矢印A方向においてR,G画素が並ぶライン(以下第1のラインとする)におけるG画素位置での、矢印A方向についてのR信号の算出処理について説明する。この矢印A方向についての信号の算出は第1補間手段11において行われる。なお、以降の説明において、矢印A方向について算出された信号には参照符号に(A)を付し、矢印B方向について算出された信号には参照符号に(B)を付するものとする。また、矢印A方向にR,G画素が並ぶラインを第1のライン、矢印A方向にB,G画素が並ぶラインを第2のライン、矢印B方向にR,G画素が並ぶラインを第3のライン、矢印B方向にB,G画素が並ぶラインを第4のラインとする。
【0060】
第1のラインにおける矢印A方向についてのG画素位置におけるR信号の算出処理は、そのG画素位置が含まれる第1のライン上におけるR信号に対して1次元補間演算を施すことにより行われる。例えば、図8における実線で囲んだG33画素位置でのR(G33)A信号は、G33画素位置が存在する第1のライン上のG33画素位置周辺の4点のR画素(R00,R22,R44,R66)において得られるR信号に対して、下記の式(12)に示す1次元Cubicスプライン補間演算等の1次元補間演算を施すことにより算出される。
【0061】
R(G33)A=(-3*ROO+19*R22+19*R44-3*R66)/32 (12)
なお、第1のラインにおいて矢印A方向に隣接する2つのR画素位置におけるR22,R44信号を用いて下記の式(13)により算出してもよい。
【0062】
R(G33)A=(R22+R44)/2 (13)
また、補間演算の手法としてはこの第1のライン上の矢印A方向における1次元補間演算であれば、いかなる手法をも適用することができる。そしてこれにより第1のライン上のG画素位置におけるR信号を算出することができる。
【0063】
2次に、矢印A方向においてR,G画素が並ぶ第1のラインにおけるG画素位置での、矢印B方向についてのR信号の算出処理について説明する。この矢印B方向についての信号の算出は第2補間手段12において以下のようにして行われる。まず、R信号を算出するG画素位置に矢印A方向において隣接する画素位置を求める。例えば、ここでは図9に示す実線で囲んだG33画素位置でのR(G33)B信号を算出するものとすると、G33画素位置に隣接する画素位置は破線で囲んだR22画素位置およびR44画素位置となる。そしてこのR22画素位置におけるR22信号とG(R22)信号との差およびR44画素位置におけるR44信号とG(R44)信号との差の平均値を、G33画素位置におけるG33信号に加算し、その加算結果をG33画素位置におけるR(G33)B信号とする。
【0064】
ここで、R22信号のみを用いた場合、G33画素位置でのR(G33)B信号は下記の式(14)により算出される。
【0065】
R(G33)B=G33+(R22-G(R22)) (14)
なお、式(14)は画像の局所的な領域におけるR信号とG信号との差は等しいという前提により定められるものである。例えば、R22画素位置およびG33画素位置でのR信号とG信号との差が等しいとは、
R(G33)B-G33=R22-G(R22) (15)
の関係を満たすということであり、式(15)をR(G33)B信号について解いたものが式(14)となる。なお、式(14)においてG(R22)信号は、上記(1)の処理により算出されたものではなく、R22画素位置が存在する第3のライン上のG信号に対して、矢印B方向に下記の式(16)に示す線形補間演算や式(12)に示す1次元Cubicスプライン補間演算等の1次元補間演算を施すことにより算出したものである。したがって、G(R22)信号には参照符号Bが付されることとなる。
【0066】
G(R22)B=(G31+G13)/2 (16)
すなわち、式(14)では、画像の局所的な領域におけるR信号とG信号との差は等しいという前提により信号値を算出しており、信号値の算出に使用するのは矢印B方向においてG33画素位置が存在する第4のラインと、R22画素位置が存在する第3のラインである。これは、第3および第4のライン上にある画素値の相関関係に基づいて信号値を算出しているということであり、不明な信号値について矢印B方向における信号値の変化を反映させて信号値を算出する必要がある。2の処理において、R22信号のみを用いた場合、G33画素位置でのR(G33)B信号は上記式(15)に示す関係に基づいて算出されるが、G(R22)信号が不明であるため、これを推定する必要がある。ここで、式(15)は第3および第4のライン間における相関関係を表しているため、G(R22)信号を推定するには、第3のライン上において矢印B方向の信号値の変化を反映させる必要がある。この場合、上記(1)の方法により算出したG信号を使用することが考えられるが、このG信号は式(10)、(11)に示すように、別のラインの信号値を用いて算出しているものであるため、第3のライン上における矢印B方向の信号値の変化を反映したものではない。このため、矢印B方向の信号値の変化を反映させるために、式(16)のように第3のライン上において、矢印B方向についての1次元補間演算を行ってG(R22)B信号を算出しているものである。
【0067】
一方、R44信号のみを用いると、上記式(15)の関係に基づいて、G33画素位置でのR(G44)B信号は下記の式(17)により算出される。
【0068】
R(G33)B=G33+(R44-G(R44)B) (17)
なお、G(R44)B信号は式(16)と同様に算出される。ここで、本実施形態においては、式(14)あるいは(17)のいずれかによりR(G33)B信号を求めてもよいが、G画素位置の片側にのみ隣接する画素位置の信号値を用いたのでは、画像の位相がその方向に近寄ってしまう。これを防止するために、下記の式(18)に示すように、R信号を算出するG画素位置(例えばG33画素位置)の両隣の画素位置(R22,R44画素位置)におけるR信号とG信号との差の平均値を、R信号を算出するG画素位置におけるG信号に加算したものを、そのG画素位置におけるR信号としたものである。
【0069】
R(G33)B=G33+((R22-G(R22)B)+(R44-G(R44)B))/2 (18)
そしてこれにより、矢印B方向についてのG画素位置でのR(G33)B信号を算出することができる。
【0070】
3次に、矢印A方向においてB,G画素が並ぶ第2のラインにおけるG画素位置での、矢印A方向についてのR信号の算出処理について説明する。この矢印A方向についての信号の算出は第1補間手段11において行われる。まず、R信号を算出するG画素位置に矢印B方向において隣接する画素位置を求める。例えば、ここでは図10に示す実線で囲んだG35画素位置でのR(G35)A信号を算出するものとすると、G35画素位置に隣接する画素位置は破線で囲んだR26画素位置およびR44画素位置となる。そして上記2の処理と同様に、下記の式(19)に示すように、R26画素位置におけるR26信号とG(R26)A信号との差およびR44画素位置におけるR44信号とG(R44)A信号との差の平均値を、G35画素位置におけるG35信号に加算し、その加算結果をG35画素位置におけるR(G35)A信号とする。
【0071】
R(G35)A=G35+((R26-G(R26)A)+(R44-G(R44)A))/2 (19)
なお、G(R26)A信号およびG(R44)A信号は、R26およびR44画素位置が存在する第1のライン上におけるG信号に対して、矢印A方向に1次元補間演算を施すことにより算出したものである。そしてこれにより、矢印A方向についてのG画素位置でのR(G35)A信号を算出することができる。
【0072】
4次に、矢印A方向においてB,G画素が並ぶ第2のラインにおけるG画素位置での、矢印B方向についてのR信号の算出処理について説明する。この矢印B方向についての信号の算出は、第2補間手段12において、そのG画素位置が含まれる第3のライン上におけるR信号に対して、1次元補間演算を施すことにより行われる。例えば、図11における実線で囲んだG35画素位置でのR(G35)B信号は、G35画素位置が存在する第3のライン上におけるG35画素位置周辺の4点のR画素(R08,R26,R44,R62)において得られるR信号に対して、1の処理と同様に1次元補間演算を施すことにより算出される。1次元Cubicスプライン補間演算による算出の例を下記の式(20)に示す。
【0073】
R(G35)B=(-3*RO8+19*R26+19*R44-3*R62)/32 (20)
5次に、矢印A方向においてB,G画素が並ぶ第2のラインにおけるB画素位置での矢印A方向についてのR信号の算出処理について説明する。この矢印A方向についての信号の算出は第1補間手段11において行われる。まず、R信号を算出するB画素位置に矢印B方向において隣接する画素位置を求める。例えば、ここでは図12に示す実線で囲んだB24画素位置でのR(B24)A信号を算出するものとすると、B24画素位置に隣接する画素位置は破線で囲んだG15画素位置およびG33画素位置となる。そして上記2の処理と同様に、下記の式(21)に示すように、G15画素位置におけるR(G15)A信号とG15信号との差およびG33画素位置におけるR(G33)A信号とG33信号との差の平均値を、B24画素位置におけるG(B24)A信号に加算し、その加算結果をB24画素位置におけるR(B24)A信号とする。
【0074】
R(B24)A=G(B24)A+((R(G33)A-G33)+(R(G15)A-G15))/2 (21)
なお、R(G15)A信号およびR(G33)A信号は、G15およびG33画素位置が存在する第1のライン上におけるR信号に対して、矢印A方向に1次元補間演算を施すことにより算出したものであり、1の処理において算出したR信号そのものである。また、G(B24)A信号は、B24画素位置が存在する第2のライン上におけるG信号に対して矢印A方向に1次元補間演算を施すことにより算出したものである。そしてこれにより、矢印A方向についてのB画素位置でのR(B24)A信号を算出することができる。
【0075】
6次に、矢印A方向においてB,G画素が並ぶ第2のラインにおけるB画素位置での矢印B方向についてのR信号の算出処理について説明する。この矢印B方向についての信号の算出は第2補間手段12において行われる。まず、R信号を算出するB画素位置に矢印A方向において隣接する画素位置を求める。例えば、ここでは図13に示す実線で囲んだB24画素位置でのR(B24)B信号を算出するものとすると、B24画素位置に隣接する画素位置は破線で囲んだG13画素位置およびG35画素位置となる。そして上記2の処理と同様に、下記の式(22)に示すように、G13画素位置におけるR(G13)B信号とG13信号との差およびG35画素位置におけるR(G35)B信号とG35信号との差の平均値を、B24画素位置におけるG(B24)B信号に加算し、その加算結果をB24画素位置におけるR(B24)B信号とする。
【0076】
R(B24)B=G(B24)B+((R(G35)B-G35)+(R(G13)B-G13))/2 (22)
なお、R(G13)B信号およびR(G35)B信号は、G13およびG35画素位置が存在する第3のライン上におけるR信号に対して、矢印B方向に1次元補間演算を施すことにより算出したものであり、4の処理において算出したR信号そのものである。また、G(B24)B信号は、B24画素位置が存在する第4のライン上におけるG信号に対して、矢印B方向に1次元補間演算を施すことにより算出したものである。そしてこれにより、矢印B方向についてのB画素位置でのR(B24)B信号を算出することができる。
【0077】
以上、1の処理により、矢印A方向においてR,G画素が並ぶ第1のラインにおけるG画素位置での矢印A方向についてのR信号が算出され、2の処理により、矢印A方向においてR,G画素が並ぶ第1のラインにおけるG画素位置での矢印B方向についてのR信号が算出される。
【0078】
また、3の処理により、矢印A方向においてB,G画素が並ぶ第2のラインにおけるG画素位置での矢印A方向についてのR信号が算出され、4の処理により、矢印A方向においてB,G画素が並ぶ第2のラインにおけるG画素位置での矢印B方向についてのR信号が算出される。
【0079】
さらに、5の処理により、矢印A方向においてB,G画素が並ぶ第2のラインにおけるB画素位置での矢印A方向についてのR信号が算出され、6の処理により、矢印A方向においてB,G画素が並ぶ第2のラインにおけるB画素位置での矢印B方向についてのR信号が算出される。
【0080】
以上、各画素位置における矢印A,B両方向でのR信号の算出について説明したが、B信号についても上記1から6の処理において説明したようにR信号と同様にして算出することができる。
【0081】
判定手段10は、以下のようにして信号値を推定する画素位置がグレーエッジにあるか色エッジにあるかを判定する。図14は赤(R)および緑(G)からなる色エッジの例を示す図、図15は白および黒からなるグレーエッジの例を示す図である。なお、図14,15においては、信号値が0の画素位置を白抜きで示し、それ以外の画素は信号値が255であるものとして説明する。また、ここではR44画素位置での判定について説明する。まず、判定手段10は、下記の式(23)から(26)により、エッジの判断値Dat1〜Dat4を求める。
【0082】
Dat1=|R44-G33|+|R44-G55|+|G35-B24|+|G35-B46| (23)
Dat2=|R44-G33|+|R44-G55|+|G53-B42|+|G53-B64| (24)
Dat3=|R44-G35|+|R44-G53|+|G33-B24|+|G33-B42| (25)
Dat4=|R44-G35|+|R44-G53|+|G55-B46|+|G55-B64| (26)
ここで、式(23)は矢印A方向において、R44画素位置の右上部分のエッジの色を判断するための判断値Dat1を算出するものであり、式(24)は矢印A方向において、R44画素位置の左下部分のエッジの色を判断するための判断値Dat2を算出するものである。また、式(25)は矢印B方向において、R44画素位置の左上部分のエッジの色を判断するための判断値Dat3を算出するものであり、式(26)は矢印B方向において、R44画素位置の右下部分のエッジの色を判断するための判断値Dat4を算出するものである。
【0083】
信号値を推定する画素位置がグレーエッジにある場合は、上記判断値Dat1〜Dat4のうちいずれか1つは必ず値が小さくなる。例えば、図15に示すグレーエッジの場合、上記式(23)〜(26)において算出される判断値Dat1〜Dat4において、判断値Dat1およびDat2が0となる。一方、信号値を推定する画素位置が図14に示すような色エッジにある場合は、上記判断値Dat1〜Dat4のいずれの値も大きくなる。したがって、判断値Dat1〜Dat4の最小値Dminを予め定められた閾値Tと比較し、最小値Dminが閾値T以下である場合、すなわち、
Dmin=min(Dat1,Dat2,Dat3,Dat4)≦T (27)
である場合には、その画素位置をグレーエッジであると判定し、それ以外の場合、すなわち、
Dmin=min(Dat1,Dat2,Dat3,Dat4)>T (28)
である場合には色エッジであると判定する。ここで、閾値Tの値としては、信号値が8ビットで表される場合128程度の値とする。そして、判定手段10はこの判定結果を判定情報Hとして変動値算出手段13に入力する。
【0084】
変動値算出手段13は、後述する重み付け係数算出手段14において、1と2、3と4および5と6の処理により算出された矢印A,B方向の信号値を重み付け加算するための重み付け係数の算出に必要な変動値SA,SBを算出するものである。ここで、変動値SA,SBとは信号値を推定する画素位置において、信号値の変動量を表す値のことをいう。まず、1および2の処理により算出された矢印A,B方向のR信号の重み付け係数を算出するための変動値SA,SBの算出について説明する。
【0085】
まず、判定情報Hにより信号値を算出する画素位置が色エッジにあると判定された場合、矢印A方向についての変動値SAおよび矢印B方向についての変動値SBを下記の式(29)、(30)により算出する。なお、ここでは1および2の処理と同様に、図8に示すG33画素位置での信号値の変動値SA,SBを算出するものとする。
【0086】
SA=|R(G33)A-G33|/(R(G33)A+G33) (29)
SB=|B(G33)B-G33|/(B(G33)B+G33) (30)
ここで、式(29)におけるR(G33)Aは1の処理において式(12)により算出された信号値、式(30)におけるB(G33)Bは第4のライン上のG33画素位置周辺の4点のB画素位置(B06,B24,B42,B60)において得られるB信号に対して、1次元補間演算を施すことにより算出された信号値である。このように算出された変動値SAは、G33画素位置の矢印A方向における信号値の変化を表し、変動値SBはG33画素位置の矢印B方向における信号値の変化を表す。
【0087】
一方、判定情報Hにより信号値を算出する画素位置がグレーエッジにあると判定された場合、変動値SAおよび変動値SBを式(29)、(30)の分母を省略した下記の式(31)、(32)により算出する。
【0088】
SA=|R(G33)A-G33| (31)
SB=|B(G33)B-G33| (32)
次に、3および4の処理により算出された矢印A,B方向のR信号の重み付け係数を算出するための変動値の算出について説明する。
【0089】
まず、判定情報Hにより信号値を算出する画素位置が色エッジにあると判定された場合、矢印A方向についての変動値SAおよび矢印B方向についての変動値SBを下記の式(33)、(34)により算出する。なお、ここでは3および4の処理と同様に、図10に示すG35画素位置での信号値の変動値を算出するものとする。
【0090】
SA=|B(G35)A-G35|/(B(G35)A+G35) (33)
SB=|R(G35)B-G35|/(R(G35)B+G35) (34)
ここで、式(33)におけるB(G35)Aは第2のライン上のG35画素位置周辺の4点のB画素位置(B02,B24,B46,B68)において得られるB信号に対して、1次元補間演算を施すことにより算出された信号値、式(34)におけるR(G35)Bは上記4の処理において式(20)により算出された信号値である。このように算出された変動値SAは、G35画素位置の矢印A方向における信号値の変化を表し、変動値SBはG35画素位置の矢印B方向における信号値の変化を表す。
【0091】
一方、判定情報Hにより信号値を算出する画素位置がグレーエッジにあると判定された場合、変動値SAおよび変動値SBを式(33)、(34)の分母を省略した下記の式(35)、(36)により算出する。
【0092】
SA=|B(G35)A-G35| (35)
SB=|R(G35)B-G35| (36)
次に、5および6の処理により算出された矢印A,B方向のR信号の重み付け係数を算出するための変動値の算出について説明する。
【0093】
まず、判定情報Hにより信号値を算出する画素位置が色エッジにあると判定された場合、矢印A方向についての変動値SAおよび矢印B方向についての変動値SBを下記の式(37)、(38)により算出する。なお、ここでは5および6の処理と同様に、図12、図13に示すB24画素位置での信号値の変動値を算出するものとする。
【0094】
SA=|B24-G(B24)A|/(B24+G(B24)A) (37)
SB=|B24-G(B24)B|/(B24+G(B24)B) (38)
ここで、式(37)におけるG(B24)Aは、上記5の処理においてB24画素位置が存在する第2のライン上のG信号に対して、矢印A方向に1次元補間演算を施すことにより算出した信号値、式(38)におけるG(B24)Bは、上記6の処理においてB24画素位置が存在する第4のライン上のG信号に対して、矢印B方向に1次元補間演算を施すことにより算出した信号値である。このように算出された変動値SAは、B24画素位置の矢印A方向における信号値の変化を表し、変動値SBはB24画素位置の矢印B方向における信号値の変化を表す。
【0095】
一方、判定情報Hにより信号値を算出する画素位置がグレーエッジにあると判定された場合、変動値SAおよび変動値SBを式(37)、(38)の分母を省略した下記の式(39)、(40)により算出する。
【0096】
SA=|B24-G(B24)A| (39)
SB=|B24-G(B24)B| (40)
以上のように算出された変動値SA,SBは重み付け係数算出手段14に入力され、下記の式(41)により、重み付け係数Sjが算出される。重み付け係数Sjは、重み付け加算手段15に入力される。
【0097】
Sj=SA/(SA+SB) (if SA+SB=0 then Sj=0.5) (41)
なお、式(41)においてSA+SB=0となるのは、SA,SB≧0であることから、SA=SB=0の場合である。
【0098】
重み付け加算手段15においては、1と2、3と4および5と6のそれぞれの場合について、下記の式(42)〜(44)により信号値が算出される。なお、式(42)〜(44)は、それぞれ矢印A方向においてR,G画素が並ぶ第1のラインにおけるG33画素位置でのR(G33)信号、矢印A方向においてB,G画素が並ぶ第2のラインにおけるG35画素位置でのR(G35)信号、矢印A方向においてB,G画素が並ぶ第2のラインにおけるB24画素位置でのR(B24)信号を算出するものである。
【0099】
R(G33)=(1-Sj)*R(G33)A+Sj*R(G33)B (42)
R(G35)=(1-Sj)*R(G35)A+Sj*R(G35)B (43)
R(B24)=(1-Sj)*R(B24)A+Sj*R(B24)B (44)
なお、信号Q1、Q2を用いた一般式を式(45)に示す。
【0100】
QR,QB=(1-Sj)*Q1+Sj*Q2 (45)
これにより、信号値の変化が少ない方向ほど大きな重み付けがなされて、R、B信号QR,QBが算出されることとなる。
【0101】
ここで、色エッジおよびグレーエッジの場合における変動値SA,SBの算出方法の差異について説明する。図16は変動値SA,SBの算出方法の差異を説明するための図である。図16に示す画素配列においては白(信号値が255)および黒(信号値が0または0に近い値)のグレーエッジが表されているものとする。なお、ここではR44画素におけるB(R44)信号の算出について説明する。まず、矢印A方向について、下記の式(46)によりR44画素位置のB(R44)A信号を求める。
【0102】
B(R44)A=G(R44)A+((B(G35)A-G35)+(B(G53)A-G53))/2
=0+((2-0)+(255-255))/2=1 (46)
但し、G(R44)A=0,B(G35)A=2,B(G53)A=255であり、これらの値の算出には、式(12)、(20)に示すような1次元Cubicスプライン補間演算を用いた。
【0103】
また、矢印B方向について、下記の式(47)によりR44画素位置のB(R44)B信号を求める。
【0104】
B(R44B)=G(R44)B+((B(G33)B-G33)+(B(G55)B-G55))/2
=103+((105-0)+(105-0))/2=208 (47)
但し、G(R44)B≒103,B(G33)B≒105,B(G55)B≒105であり、これらの値の算出には、式(12)、(20)に示すような1次元Cubicスプライン補間演算を用いた。
【0105】
そして、下記の式(48)により変動値SA,SBを求め、式(49)によりB(R44)A信号とB(R44)B信号とを重み付け加算するための重み付け係数Sjを算出する。
【0106】
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 (48)
Sj=SA/(SA+SB)=1/(1+0.98)≒0.5 (49)
このように重み付け係数Sjが求められると、下記の式(50)によりB(R44)信号を算出する。
【0107】
B(R44)=(1-Sj)*B(R44)A+Sj*B(R44)B=0.5*1+0.5*208≒105 (50)
ここで、R44画素位置は黒いエッジ上にあるため、B(R44)信号の値は0に近い値であることが好ましい。しかしながら、上記式(48)、(49)に示すように重み付け係数Sjを算出して式(50)によりB(R44)信号の値を求めるとその値は105となるため、ここに偽色が発生することとなる。これは、矢印A方向において信号値の変動が少ないほど重み付け係数Sjの値は0に近くなるが、信号値を算出する画素位置周辺の画素位置における信号値によっては、式(50)に示すように、重み付け係数Sjが0に近い値とならない場合があるからである。
【0108】
一方、本実施形態においては、信号値を算出する画素位置がグレーエッジにある場合には、式(48)において分母を省略して変動値SA,SBを算出するものであり、R44画素位置においてそのように変動値SA,SBを算出すると、
SA=|R44-G(R44)A|=|1-0|=1
SB=|R44-G(R44)B|=|1-103|=102 (51)
となり、重み付け係数Sjは、
Sj=SA/(SA+SB)=1/(1+102)≒0.01 (52)
となる。このように算出された重み付け係数SjによりB(R44)信号を算出すると、
B(R44)=(1-Sj)*B(R44)A+Sj*B(R44)B=0.99*1+0.01*208≒2.99 (53)
となる。これにより、B(R44)信号は0に近い値となり、その結果偽色を低減することができる。
【0109】
一方、色エッジであると判定された場合に、式(51)により変動値SA,SBを算出しても偽色を低減できるが、エッジ付近における細かな色味がなくなってしまうため、画像が不自然なものとなる。したがって、本実施形態においては、信号値を算出する画素位置がグレーエッジであるか色エッジであるかに応じて、変動値SA,SBの算出方法を変更するようにしたものである。
【0110】
なお、図2(a)に示すベイヤー配列の単板CCD1においては画素配列を45度回転させると、その画素配列は図2(b)に示すハニカム配列と空孔画素位置*を除けば同様のものとなる。したがって、上記の説明において、矢印A方向を図2における紙面上下方向、矢印B方向を図2における紙面左右方向とすることにより、ベイヤー配列の場合もハニカム配列の場合と同様に、全画素位置におけるRGB信号を算出することができる。
【0111】
このようにして、全ての画素位置においてRGB全ての信号値QR,QG,QBが得られると、市松正方補間手段5において、図3における空孔画素位置*でのRGB信号値を補間演算により算出して、画素が正方状に配列されてなる補間済み画像データS1を得る。この補間演算は、図17に示すような空孔画素位置*周辺の4画素位置の信号値を用いた補間フィルタや、図18に示すように4×4画素についての2次元Cubicスプライン補間演算を行う補間フィルタの補間係数の配置を45度傾斜させた補間係数の配置を有する補間フィルタを用いて補間演算を行うことにより求めることができる。なお、この空孔画素位置*における信号値を算出するための補間演算を市松正方補間演算とする。また、補間演算についてはこれらに限定されるものではなく、上述したように求められた各画素位置におけるRGB信号をYCC輝度色差空間に変換し、YCC毎に異なる補間フィルタによる補間演算を施す等、空孔画素位置*における信号値を算出するための補間演算であればいかなる方法をも採用可能である。
【0112】
次いで、第1の実施形態の動作について説明する。図19は第1の実施形態の動作を示すフローチャートである。まず、被写体を撮影して単板CCD1において画像データS0を得る(ステップS1)。次いで、補間手段2のG補間手段3において、上記(1)の処理により所定方向におけるRまたはB画素位置におけるG信号QGが算出される(ステップS2)。そして、補間手段2において、算出する信号をR信号にセットし(ステップS3)、RB補間手段4においてR信号QRが算出される(ステップS4)。
【0113】
図20はステップS4の処理を示すフローチャートである。まず、上記処理1および2により信号値を算出し(ステップS11)、ステップS3および4により信号値を算出し(ステップS12)、処理5および6により信号値を算出する(ステップS13)。一方、判定手段10においては、信号値を算出する画素位置がグレーエッジにあるか否かが判定され(ステップS14)、その判定結果を表す判定情報Hが変動値算出手段13に入力される。変動値算出手段13においては、信号値を算出する画素位置がグレーエッジにある場合には、上記式(31)、(32)等に示すようにグレーエッジ用の変動値SA,SBを算出する(ステップS15)。逆に色エッジである場合には、上記式(29)、(30)等に示すように色エッジ用の変動値SA,SBを算出する(ステップS16)。そして、変動値SA,SBは重み付け係数算出手段14に入力されて、ここで重み付け係数Sjが算出され(ステップS17)、ステップS11,S12,S13の処理により算出された信号値が重み付け加算されて、R信号QRが算出される(ステップS18)。
【0114】
図19に戻り、R,B全ての信号を算出したか否かが判断され(ステップS5)、ステップS5が否定された場合には、ステップS6において算出する信号をB信号にセットし、ステップS4に戻ってステップS4,S5の処理を繰り返してB信号QBが算出される。
【0115】
ステップS5が肯定されると、空孔画素位置以外の全ての画素位置においてRGB信号QR,QG,QBが算出されたとして、市松正方補間手段5において、各画素の信号値に対して図17あるいは図18に示す補間フィルタによる市松正方補間演算を行って、空孔画素位置における信号値を算出し(ステップS7)、処理を終了する。
【0116】
そしてこれにより、図2(b)に示すハニカム配列による単板CCD1の空孔画素位置を含む全画素位置におけるRGB信号を得ることができ、全画素位置においてRGB信号を有する補間済み画像データS1を得ることができる。
【0117】
なお、図19に示すフローチャートのステップS3においては、算出する信号をR信号にセットしているが、先にB信号にセットしてもよい。この場合、ステップS5が否定されるとステップS6において、算出する信号がB信号からR信号に切り替えられることとなる。
【0118】
このように、第1の実施形態によれば、信号値を算出する画素位置がグレーエッジにあるか色エッジにあるかを判定し、判定結果に応じて重み付け係数Sjを算出するための変動値SA,SBの算出方法を変更するようにしたため、信号値を算出する画素位置がグレーエッジにある場合であっても、偽色を低減できる。また、信号値を算出する画素位置が色エッジにある場合には、エッジ付近における細かい色味を残して自然な感じとなる画像を得ることができる。
【0119】
次いで、本発明の第2の実施形態について説明する。
【0120】
図21は本発明の第2の実施形態による画像処理装置のRB補間手段の構成を示す概略ブロック図である。なお、図21において図5と同一の構成については同一の参照番号を付し、詳細な説明は省略する。第2の実施形態においては、判定手段10に代えて、信号値を推定する画素位置がグレーエッジにあるか色エッジにあるかの判定に加えて、単色の信号値からなる単色平坦部にあるか否かを判定する判定手段21を備え、さらに、画素位置が単色平坦部にあると判定された場合に、線形補間演算によりその画素位置におけるR信号QRおよびB信号QBを算出する線形補間手段22を備えた点が第1の実施形態と異なるものである。
【0121】
判定手段21におけるグレーエッジにあるか色エッジにあるかの判定処理は、第1の実施形態における判定手段10における判定処理と同一であり、グレーエッジまたは色エッジにあると判定された場合は、その判定結果を表す判定情報Hが変動値算出手段13に入力され、第1の実施形態と同様に変動値SA,SBが算出され、さらに重み付け係数算出手段14において重み付け係数Sjが算出される。この場合、第1の実施形態と同様に第1補間手段11および第2補間手段12において、各画素位置における矢印A方向および矢印B方向の信号Q1,Q2が算出され、その信号値が重み付け加算手段15に入力されて、重み付け係数Sjにより重み付け加算されてR信号QRおよびB信号QBが算出される。
【0122】
以下、判定手段21における単色平坦部にあるか否かの判定について説明する。図22は緑(G)の単色平坦部の信号値を示す図、図23は青(B)の単色平坦部の信号値を示す図、図24は赤(R)の単色平坦部の信号値を示す図である。図22においてはG画素位置のみが255の信号値を有し、図23においてはB画素位置のみが255の信号値を有し、図24においてはR画素位置のみが255の信号値を有するものとなっている。判定手段21は、信号値を算出する画素位置およびその画素位置周辺のR信号の平均値をDat11、G信号の平均値をDat12、B信号の平均値をDat13として求める。例えば、図22から図24に示す画素配列において、R44画素位置についてみると、
Dat11=(R22+R26+R44+R62+R66)/5
Dat12=(G33+G35+G53+G55)/4 (54)
Dat13=(B24+B42+B46+B64)/4
により、平均値Dat11〜Dat13を算出する。
【0123】
また、B42画素位置については、
Dat11=(R22+R40+R44+R62)/4
Dat12=(G31+G33+G51+G53)/4 (55)
Dat13=(B20+B24+B42+B60+B64)/5
により、平均値Dat11〜Dat13を算出する。
【0124】
さらに、G33画素位置については、
Dat11=(R04+R22+R44+R62)/4
Dat12=(G11+G13+G15+G31+G33+G35+G51+G53+G55)/9 (56)
Dat13=(B02+B24+B42+B64)/4
により、平均値Dat11〜Dat13を算出する。
【0125】
そして、各平均値Dat11〜Dat13の差分値の絶対値|Dat11-Dat12|、|Dat12-Dat13|、|Dat13-Dat11|を算出し、これらの和が予め定められた閾値T1より大きいか否かを判断し、大きい場合、すなわち下記の式(57)の条件を満たす場合にはその画素位置は単色平坦部にあると見なすものである。
【0126】
|Dat11-Dat12|+|Dat12-Dat13|+|Dat13-Dat11|>T1 (57)
すなわち、図22に示すGの単色平坦部の場合、G画素位置のみが信号値を有するため、式(54)〜(56)においては、平均値Dat12のみが値を有し、Dat11,Dat13は値を有さない。したがって、|Dat11-Dat12|、|Dat12-Dat13|の値は非常に大きい値となる。また、図23に示すBの単色平坦部の場合、B画素位置のみが信号値を有するため、式(54)〜(56)においては、平均値Dat13のみが値を有し、Dat11,Dat12は値を有さない。したがって、|Dat12-Dat13|、|Dat13-Dat11|の値は非常に大きい値となる。さらに、図24に示すRの単色平坦部の場合、R画素位置のみが信号値を有するため、式(54)〜(56)においては、平均値Dat11のみが値を有し、Dat12,Dat13は値を有さない。したがって、|Dat11-Dat12|、|Dat13-Dat11|の値は非常に大きい値となる。
【0127】
このように、信号値を算出する画素位置が単色平坦部にあると、|Dat11-Dat12|、|Dat12-Dat13|、|Dat13-Dat11|のうち2つは大きな値となるため、これらの値の和も大きな値となる。したがって、閾値T1を適切に設定しておき、上記式(57)に示す関係を満たすか否かを判断することにより、画素位置が単色平坦部にあるか否かを判定することができる。
【0128】
ここで、信号値を算出する画素位置が単色平坦部にある場合には、上記第1補間演算11および第2補間演算12における信号値の算出を行わなくとも、単純に線形補間演算を行っても偽色は発生しないものである。したがって、判定手段21は、信号値を算出する画素位置が単色平坦部にあると判定された場合には、画像データS0を線形補間手段22に入力する。そして、線形補間手段22においては、信号値を算出する画素位置とその周囲の画素位置との信号値を用いて線形補間演算を行って、信号値を算出する。
【0129】
例えば、G画素位置におけるR信号を算出する場合、信号値を算出する画素位置をG33画素位置とすると、
R(G33)=(R22+R24)/2 (58)
によりR(G33)信号を算出する。また、G33画素位置におけるB(G33)信号を算出する場合、
B(G33)=(B24+B42)/2 (59)
によりB(G33)信号を算出する。
【0130】
また、R画素位置におけるB信号を算出する場合、信号値を算出する画素位置をR44とすると、
B(R44)=(B24+B42+B46+B64)/4 (60)
によりB(R44)信号を算出する。
【0131】
さらに、B画素位置におけるR信号を算出する場合、信号値を算出する画素位置をB24とすると、
R(B24)=(R04+R22+R26+R44)/4 (61)
によりR(B24)信号を算出する。
【0132】
次いで、第2の実施形態の動作について説明する。なお、第2の実施形態の動作は基本的には図19に示す第1の実施形態の動作と同一であり、図19におけるステップS4における処理のみが異なるものであるため、ここではステップS4における信号算出処理についてのみ説明する。図25は第2の実施形態における信号算出処理の動作を示すフローチャートである。まず、判定手段21において、上記式(57)により、信号値を算出する画素位置が単色平坦部にあるか否かが判断される(ステップS21)。単色平坦部にある場合にはステップS21が肯定され、線形補間手段22において上記式(58)および(61)に示す線形補間演算によりR信号QRが算出され(ステップS30)、処理を終了する。なお、B信号QBについては、上記式(59)および(60)に示す線形補間演算により算出される。
【0133】
ステップS21が否定された場合は、ステップS22に進み、第1の実施形態と同様に、処理1および2による信号値の算出(ステップS22)、処理3および4による信号値の算出(ステップS23)、処理5および6による信号値の算出(ステップS24)、グレーエッジか否かの判断(ステップS25)、グレーエッジ用変動値算出(ステップS26)、色エッジ用変動値算出(ステップS27)、重み付け係数算出(ステップS28)および重み付け加算(ステップS29)が行われて、R信号QR、B信号QBが算出される。
【0134】
このように、第2の実施形態においては、R、B信号QR、QBを算出する際に、まず信号値を算出する画素位置が単色平坦部にあるか否かを判断し、単色平坦部にある場合には、線形補間演算により信号値を算出するようにしたため、全ての画素について第1の実施形態の方法により信号値を算出する場合と比較して、単色平坦部の画素位置については演算量を低減することができ、これにより高速に処理を行うことができることとなる。
【0135】
ここで、単板CCD1を使用した撮像装置においては、偽色を低減するために、画像データを得るための撮像系において、光学ローパスフィルタを用いる必要がある。図26はハニカム配列の単板CCDを用いたデジタルカメラの撮像系を示す図、図27はハニカム配列の単板CCDにおいて得られた信号値の周波数特性を示す図である。なお、図27ではfs/2がナイキスト周波数であり、図27(a)における実線は従来の処理により再現可能な周波数帯域、図27(b)における実線は本実施形態の処理により再現可能な周波数帯域をそれぞれ示している。図26に示すように、デジタルカメラの撮像系は被写体から順に撮影レンズ31、光学ローパスフィルタ32およびハニカム配列の単板CCD33が配列されてなる。なお、光軸をXで示す。上記特開平10−20906号、同10−136391号等に記載された方法においては、偽色の低減効果が不十分であるため、図27(a)に示す実線より外側の周波数帯域をカットするための帯域の狭い光学ローパスフィルタ32を使用する必要がある。しかしながら、このような帯域の狭い光学ローパスフィルタを使用すると、得られる画像の解像度が低下する。また、このような周波数帯域の狭い光学ローパスフィルタ32を作成するには、中心波長630〜785nm程度の1/4波長板を図28(a)に示すように3枚張り合わせる必要があるため、撮像系の構成が大型化する。
【0136】
本発明によれば、従来の方法と比較して偽色を低減することができるため、光学ローパスフィルタ32の周波数帯域を図27(b)に示すように広げることができ、これにより、単板CCD33において得られる画像データS0により表される画像の解像度を向上させることができる。また、図28(b)に示すように2枚の1/4波長板を張り合わせることにより、図27(b)に示す特性を得ることができるため、撮像系を小型化することができる。
【0137】
なお、上記第1および第2の実施形態においては、重み付け係数算出手段14において、式(41)に示すように、変動値SAに対して(SA+SB)による除算を行うことにより、重み付け係数Sjを算出している。
【0138】
Sj=SA/(SA+SB) (if SA+SB=0 then Sj=0.5) (41)
ここで、種々の演算を行う演算回路においては、演算が加算、減算および乗算のみである場合には、比較的少ない演算素子により回路を構成することができる。しかしながら、上記式(41)のように除算が含まれると、演算が複雑となるため多数の演算素子が必要となり回路の構成が複雑化するとともに、演算に長時間を要するものとなる。
【0139】
ここで、重み付け係数Sjを式(41)により算出する場合、これを変動量SBについて解くと、
SB=((1-Sj)/Sj)*SA (41′)
となる。これは重み付け係数Sjが一定であると、変動値SAと変動値SBとの関係は、比例関係にあることを示している。したがって、x軸を変動値SA、y軸を変動値SBとする2次元平面を設定すると、この2次元平面上においては、図29に示すように、重み付け係数Sjはその重み付け係数に応じた傾きを有する原点を通る(厳密には原点を含まないが)直線として表されるものとなる。以下、この関係を用いて式(41)における除算処理を省略する実施形態を第3の実施形態として説明する。
【0140】
図30は第3の実施形態の処理を説明するための図、図31は第3の実施形態による画像処理装置のRB補間手段の構成を示す概略ブロック図である。なお、図31において図5と同一の構成については同一の参照番号を付し、詳細な説明は省略する。第3の実施形態においては、重み付け係数算出手段14に代えて、第1補間手段11および第2補間手段12において得られた信号Q1,Q2を重み付け補間する際の重み付け係数Sjに対する変動値SA,SBの対応関係を、複数の重み付け係数について記憶したメモリ14Aと、変動値算出手段13において算出された変動値SA,SBに基づいて、メモリ14Aに記憶された対応関係を参照して複数の重み付け係数から一の重み付け係数Sjを選択する重み付け係数選択手段24とを備え、重み付け加算手段15においては、重み付け係数選択手段24において選択された重み付け係数Sjにより、重み付け加算を行うようにしたものである。なお、第3の実施形態においては、重み付け係数選択手段24およびメモリ14Aが本発明における重み付け係数設定手段と観念される。
【0141】
まず、重み付け係数Sjに対する変動値SA,SBの対応関係の求め方について説明する。第3の実施形態においては、重み付け係数Sjが一定であると変動値SAと変動値SBとは比例関係にあり、SA−SB平面においては重み付け係数Sjはその値に応じた傾きを有する直線となる、ということを利用して、まず重み付け係数Sjを図29に示すようにSj=0,0.25,0.5,0.75,1.0の5段階に量子化する。そして、図30に示すようにSA−SB平面上においてSj=0,0.125,0.375,0.625,0.875,1を境界として5つの領域A1〜A5を設定し、各領域A1〜A5をそれぞれSj=0,0.25,0.5,0.75,1.0に対応付ける。ここで、Sj=0.125の場合SB=7SA、Sj=0.375の場合SB=5/3SA、Sj=0.625の場合SB=3/5SA、Sj=0.875の場合SB=1/7SAとなる。
【0142】
したがって、図31に示すように、メモリ14Aを設け、このメモリ14Aに図30に示す関係をテーブルとして記憶させておき、重み付け係数選択手段24において変動値SA,SBに基づいてこのテーブルを参照することにより、式(41)に示すように除算を行うことなく重み付け係数Sjを求めることができる。例えば、算出された変動値SA,SBの値が3/5SA<SB≦5/3SAの関係、すなわち3SA<5SBかつ5SA≧3SBの関係にある場合には、変動値SA,SBは図30に示すグラフの領域A3にプロットされることから、重み付け係数をSj=0.5として求めることができる。また、7SA<SBの関係にある場合にはプロットは領域A1にあるためSj=0、5/3SA<SB≦7SAの関係、すなわち5SA<3SBかつ7SA≧SBの関係にある場合にはプロットは領域A2にあるためSj=0.25、1/7SA<SB≦3/5SAの関係、すなわちSA<7SBかつ3SA≧5SBの関係にある場合にはプロットは領域A4にあるためSj=0.75、SB≦1/7SAの関係、すなわちSA≧7SBの関係にある場合にはプロットは領域A5にあるためSj=1として求めることができる。
【0143】
なお、重み付け係数Sjはより細かく量子化した方が好ましいが、変動値SA,SBが存在する領域の判断のための演算時間を考慮すると、5段階程度であることが好ましい。本出願人の実験によれば、5段階に量子化したものであっても、十分に偽色低減効果が得られるものである。
【0144】
そして、重み付け加算手段15においては、この重み付け係数Sjを用いて上記式(42)〜(44)に示す重み付け加算が行われて信号値が算出される。例えばR44画素におけるB(R44)信号の算出は、重み付け係数Sj=0.5とした場合、
B(R44)=(1-Sj)*B(R44)A+Sj*B(R44)B=0.5*B(R44)A+0.5*B(R44)B (62)
として算出されるが、第3の実施形態においては、Sjまたは(1−Sj)=1/2n(nは自然数)となるように重み付け係数が設定されているため、下記の式(63)のように、ビットシフトを用いて整数化して演算を行うことも可能である。
【0145】
B(R44)=(B(R44)A+B(R44)B+1)>>1 (63)
ここで、>>1は信号値を2進数で表した際に、右側に1ビットシフトさせることを表す。このように、右側に1ビットシフトさせることにより、信号値は1/2倍されるため、式(62)と同様の演算を行っていることとなる。なお、式(63)において1を加算しているのは、演算結果を四捨五入するためである。
【0146】
さらに、上記第1および第2の実施形態において、変動値算出手段13において、色エッジである場合の変動値SA,SBの算出は、上記式(29)、(30)等により行っているが、これらの式においては除算が含まれるため、演算量を低減させるためには、除算を行わないことが好ましい。この場合、変動値SA,SBの比率が変わらなければ重み付け係数Sjの算出に支障はない。したがって、上記式(29)、(30)の場合、右辺に(R(G33)A+G33)*(B(G33)B+G33)を乗算し、下記の式(29′)、(30′)により、変動値SA,SBを算出することが好ましい。
【0147】
SA=|R(G33)A-G33|*(B(G33)B+G33) (29′)
SB=|B(G33)B-G33|*(R(G33)A+G33) (30′)
なお、上記式(33)、(34)については、(B(G35)A+G35)*(R(G35)B+G35)を乗算して、下記の式(33′)、(34′)により変動値SA,SBを算出すればよい。
【0148】
SA=|B(G35)A-G35|*(R(G35)B+G35) (33′)
SB=|R(G35)B-G35|*(B(G35)A+G35) (34′)
また、上記式(37)、(38)については、(B24+G(B24)A)*(B24+G(B24)B)を乗算して、下記の式(37′)、(38′)により変動値SA,SBを算出すればよい。
【0149】
SA=|B24-G(B24)A|*(B24+G(B24)B) (37′)
SB=|B24-G(B24)B|*(B24+G(B24)A) (38′)
以下、第3の実施形態においてビットシフトを用いて信号値を求める動作について説明する。図32は第3の実施形態の動作を示すフローチャートである。なお、図32においては、上記第1および第2の実施形態と変動値SA,SBの算出までの処理は同一であるため詳細な説明は省略し、変動値SA,SBが算出されたものとして、重み付け係数Sjの算出および重み付け加算の処理についてのみ説明する。また、図32においては、R44画素位置におけるB(R44)信号の算出を表すものである。まず、変動値SA,SBの和が0であるか否かが判断される(ステップS41)。ステップS41が肯定されると、SA=SB=0.5としてビットシフトを用いて、式(63)によりB(R44)信号が算出される(ステップS42)。
【0150】
B(R44)=(B(R44)A+B(R44)B+1)>>1 (63)
ステップS41が否定されると、SA≧7SBであるか否かが判断される(ステップS43)。ステップS43が肯定されると、変動値SA,SBの関係は図30の領域A5にあることからSj=1とされ、下記の式(64)によりB(R44)信号が算出される(ステップS44)。
【0151】
B(R44)=B(R44)B (64)
ステップS43が否定されると、3SA≧5SBであるか否かが判断される(ステップS45)。ステップS45が肯定されると、変動値SA,SBの関係は図30の領域A4にあることからSj=0.75とされ、下記の式(65)によりB(R44)信号が算出される(ステップS46)。
【0152】
B(R44)=(B(R44)A+3B(R44)B+2)>>2 (65)
ステップS45が否定されると、5SA≧3SBであるか否かが判断される(ステップS47)。ステップS47が肯定されると、変動値SA,SBの関係は図30の領域A3にあることからSj=0.5とされ、式(63)によりB(R44)信号が算出される(ステップS48)。
【0153】
ステップS47が否定されると、7SA≧SBであるか否かが判断される(ステップS49)。ステップS49が肯定されると、変動値SA,SBの関係は図30の領域A2にあることからSj=0.25とされ、下記の式(66)によりB(R44)信号が算出される(ステップS50)。
【0154】
B(R44)=(3*B(R44)A+B(R44)B+2)>>2 (66)
そして、ステップS49が否定されると、変動値SA,SBの関係は図30の領域A1にあることからSj=0とされ、下記の式(67)によりB(R44)信号が算出される(ステップS51)。
【0155】
B(R44)=B(R44)A (67)
このように、第3の実施形態によれば、重み付け係数Sjを算出する際に除算を行わないため、重み付け係数Sjの算出を行う回路の構成を簡易なものとすることができ、その結果、本実施形態を実施するための装置の構成を簡易なものとすることができるとともに、また演算時間も短縮することができる。また、ビットシフトを行うことにより、整数値にて演算を行うことができるため、演算を簡易に行って処理時間を短縮することができる。したがって、本発明を実施するための装置をデジタルカメラ等の撮像装置やスキャナ等の画像読取装置、あるいはプリンタ等に搭載することが容易となり、これにより高機能の装置を作成することができる。
【0156】
なお、上記各実施形態においては単板CCD1として、G画素がR,B画素に対して倍の密度を有するものについて説明したが、R画素がG,B画素に対して、あるいはB画素がR,G画素に対して倍の密度を有するものであってもよい。また、R,G,Bに対して分光感度を有するものについて説明したが、単板CCD1としてはこれに限定されるものではなく、Y(イエロー)、G(グリーン)、C(シアン)に対して分光感度を有するもの、あるいはY、W(ホワイト)、Cに対して分光感度を有するものであってもよい。
【0157】
また、上記各実施形態においては、3色全ての信号値を算出しているが、1色または2色のみの信号値を算出するようにしてもよい。
【0158】
さらに、上記第1および第2の実施形態においては、式(41)により重み付け係数Sjを算出しているが、下記の式(68)により重み付け係数Sjを算出してもよい。
【0159】
Sj=SB/(SA+SB) (if SA+SB=0 then Sj=0.5) (68)
この場合、R、B信号QR、QBはは、下記の式(69)により算出される。
【0160】
QR,QB=Sj*Q1+(1-Sj)*Q2 (69)
【図面の簡単な説明】
【図1】本発明の第1の実施形態による画像処理装置の構成を示す概略ブロック図
【図2】単板CCDにおける画素配列を示す図
【図3】ハニカム配列の単板CCDの画素配列を示す図
【図4】ハニカム配列の単板CCDの各画素位置を参照番号を付して示す図
【図5】RB補間手段の構成を示す概略ブロック図
【図6】 Cubicスプライン補間フィルタの例を示す図
【図7】信号値の算出を説明するための図(その1)
【図8】信号値の算出を説明するための図(その2)
【図9】信号値の算出を説明するための図(その3)
【図10】信号値の算出を説明するための図(その4)
【図11】信号値の算出を説明するための図(その5)
【図12】信号値の算出を説明するための図(その6)
【図13】信号値の算出を説明するための図(その7)
【図14】赤(R)および緑(G)からなる色エッジの例を示す図
【図15】グレーエッジの例を示す図
【図16】変動値SA,SBの算出方法の差異を説明するための図
【図17】市松正方フィルタの例を示す図(その1)
【図18】市松正方フィルタの例を示す図(その2)
【図19】第1の実施形態の動作を示すフローチャート
【図20】信号算出処理の動作を示すフローチャート
【図21】本発明の第2の実施形態による画像処理装置におけるRB補間手段の構成を示す概略ブロック図
【図22】緑(G)の単色平坦部の信号値を示す図
【図23】青(B)の単色平坦部の信号値を示す図
【図24】赤(R)の単色平坦部の信号値を示す図
【図25】第2の実施形態における信号算出処理の動作を示すフローチャート
【図26】ハニカム配列の単板CCDを用いたデジタルカメラの撮像系を示す図
【図27】ハニカム配列の単板CCDにおいて得られた信号値の周波数特性を示す図
【図28】光学ローパスフィルタの配置を示す図
【図29】変動値SA,SBと重み付け係数Sjとの関係を示す図
【図30】第3の実施形態の処理を説明するための図
【図31】本発明の第3の実施形態による画像処理装置におけるRB補間手段の構成を示す概略ブロック図
【図32】第3の実施形態の動作を示すフローチャート
【図33】ハニカム配列を示す図
【図34】ベイヤー配列を示す図
【図35】ベイヤー配列の画素位置を参照番号を付して示す図
【図36】ハニカム配列の画素位置を参照番号を付して示す図
【符号の説明】
1,33 単板CCD
2 補間手段
3 G補間手段
4 RB補間手段
5 市松正方補間手段
10,21 判定手段
11 第1補間手段
12 第2補間手段
13 変動値算出手段
14 重み付け係数算出手段
14A メモリ
15 重み付け加算手段
22 線形補間手段
24 重み付け係数選択手段
31 撮影レンズ
32 光学ローパスフィルタ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing method and apparatus for estimating signal values at all pixel positions of an imaging device using signal values obtained in an imaging device such as a single-plate CCD, and to cause a computer to execute the image processing method. The present invention relates to a computer-readable recording medium on which a program is recorded.
[0002]
[Prior art]
2. Description of the Related Art As an imaging device such as a CCD used in a digital camera, a device in which a plurality of types of photoelectric conversion elements having different spectral sensitivities are alternately arranged on the same plane is known (hereinafter referred to as a single plate CCD). ). Here, in the case of a single-plate CCD in which photoelectric conversion elements having spectral sensitivities in R, G, and B, that is, photoelectric conversion elements in R, G, and B channels are alternately arranged, continuous R, G, B A set of three photoelectric conversion elements in the channel constitutes one pixel. However, in such a single-plate CCD, since the R, G, B signal values of each pixel cannot be obtained at the same pixel position, color shift or false color may occur. Further, since the number of photoelectric conversion elements in each channel is smaller than the total number of elements constituting the single-plate CCD, a high-resolution image cannot be obtained. For example, in a single-chip CCD in which photoelectric conversion elements for R, G, and B channels are alternately arranged, the number of photoelectric conversion elements for each channel is only 1/3 of the total number of elements. In comparison, the resolution becomes 1/3. For this reason, there has been proposed a method for obtaining the signal value in the portion where the photoelectric conversion elements of the R, G, and B channels do not exist by interpolation processing. However, in the portion where the signal value changes greatly only by performing the interpolation processing. False colors may occur. In this case, the generation of false colors can be prevented by using an optical low-pass filter in the imaging system or by performing smoothing processing on the imaging signal using the low-pass filter. However, in this case, there is a problem that the resolution deteriorates. is there.
[0003]
Here, human visual characteristics are more sensitive to luminance than to color. For this reason, a high-frequency luminance signal representing the luminance of each pixel and a low-frequency color signal obtained by the above-described interpolation processing and smoothing processing using a low-pass filter are generated from the color imaging signal obtained by the single CCD. However, a method has been proposed in which a color image signal is reconstructed using a luminance signal and a color signal (Japanese Patent Laid-Open No. 10-200906, etc.). According to this method, more information is given to the luminance component that is highly sensitive in human visual characteristics, so that it is possible to obtain a color image signal that can reproduce an image with an apparently high resolution.
[0004]
By the way, as a single-plate CCD, for example, a CCD having a honeycomb array array structure in which pixels are arranged in a checkered pattern as shown in FIG. 33 is known (for example, Japanese Patent Laid-Open No. 10-136391). This may be referred to as a checkered pixel array. As shown in FIG. 34, a CCD having a Bayer array structure in which pixels are arranged in a square shape is also known. This may be referred to as a square pixel array. A single-plate CCD having such an array structure, that is, a pixel array also has a false color problem as described above. For this reason, in order to remove the false color from the light quantity-based signal obtained in the CCD with the Bayer array, the ratio of the r, g, and b signals is substantially constant in a local region in the image. Based on the assumption, in a vertical or horizontal line in a CCD with a Bayer array, the g signal is multiplied by the ratio of the r signal to the g signal in the adjacent line to calculate the r signal in that line. This method is known (Japanese Patent Laid-Open No. 9-214989). Specifically, in this method, in order to obtain the r signal r12 at the g12 pixel position in the pixel array shown in FIG. 35, first, the g11 signal at the r11 pixel position is calculated by the calculation of (g6 + g16) / 2, and r11: Based on the assumption that g11 = r12: g12, the r12 signal is calculated by the calculation of r12 = g12 × r11 / g11.
[0005]
However, in the method described in Japanese Patent Laid-Open No. 10-200906 and the like, the high-frequency component in the actual image is obtained no matter what the low-pass filter is used to smooth the image pickup signal obtained in the single-plate CCD. Has already been folded in the image, the moire caused by the folding distortion cannot be removed, and as a result, the false color cannot be sufficiently removed.
[0006]
On the other hand, according to the method described in JP-A-9-214989, false colors can be effectively removed. In particular, this method is based on the assumption that the ratio of the light quantity of r: g: b is constant in a local region of the image, and the analog signal in which the ratio of the obtained RGB signals is proportional to the light quantity. In this case, the false color in the image signal obtained by the Bayer array CCD can be efficiently removed. However, an image signal obtained by a digital camera is input to a video circuit of a computer system in order to reduce quantization error when A / D conversion is performed to convert a light amount rgb into a digital RGB signal. For example, R = r 0.45 , R = log (r), the signal value is expressed so as to be an exponent value and a logarithmic value with respect to the light amount, and therefore r: g: b = R: G: B is not satisfied. For this reason, the method described in Japanese Patent Laid-Open No. 9-214989 can remove false colors from analog signals whose signal values are proportional to the amount of light, but the signal value is an exponent value or logarithmic value of the amount of light. The false color cannot be removed. The false color is generated not only in the Bayer array single CCD but also in the honeycomb array single CCD.
[0007]
For this reason, when the signal value obtained in the imaging device is represented by an exponent value or logarithmic value with respect to the light amount, based on the premise that the difference between the RGB signal values is constant in the local region of the image, A method for calculating the signal value at each pixel position in consideration of the direction in which the signal value at the pixel position for calculating the signal value changes has been proposed (Japanese Patent Application No. 11-212202). Hereinafter, this method will be specifically described.
[0008]
First, the pixel arrangement of the CCD as an imaging device is the honeycomb arrangement shown in FIG. 33, and reference numbers are given to the respective pixel positions as shown in FIG. In addition, when this pixel arrangement is regarded as a square arrangement, pixel positions having no signal value are indicated by * in FIG. The signal value obtained in each channel is assumed to be 8 bits, the direction extending from the upper left to the lower right of the page is indicated by the arrow A direction, and the direction extending from the upper right to the lower left of the page is indicated by the arrow B. In the book, the directions of arrow A and arrow B are unchanged. Here, calculation of the R signal at the B24 pixel position (hereinafter referred to as R (B24) signal) will be described. First, in the direction of arrow A, the R (B24) A signal at the B24 pixel position is obtained by the following equation (1).
[0009]
R (B24) A = G (B24) A + ((R (G33) A-G33) + (R (G15) A-G15)) / 2 (1)
However, the G (B24) A signal is a one-dimensional interpolation such as one-dimensional Cubic spline interpolation calculation in the direction of arrow A with respect to the G signal at the G pixel position on the line where the pixels are aligned with B02, G13, B24, G35. This is the G signal at the B24 pixel position obtained by performing the calculation. Further, the R (G33) A signal is obtained by performing one-dimensional interpolation in the direction of arrow A on the R signal at the R pixel position on the line where the pixels are aligned with R22, G33, R44, G55. This is an R signal at a pixel position. Further, the R (G15) A signal is a G15 pixel obtained by performing a one-dimensional interpolation operation in the arrow A direction on the R signal at the R pixel position on the line where the pixels are aligned with R04, G15, R26, G37. It is a position R signal.
[0010]
Next, in the direction of arrow B, the R (B24) B signal at the B24 pixel position is obtained by the following equation (2).
[0011]
R (B24) B = G (B24) B + ((R (G13) B-G13) + (R (G35) B-G35)) / 2 (2)
However, the G (B24) B signal is a B24 pixel obtained by performing one-dimensional interpolation operation in the direction of arrow B on the G signal at the G pixel position on the line where the pixels are aligned with B06, G15, B24, G33. This is the G signal of the position. Further, the R (G13) B signal is obtained by performing a one-dimensional interpolation operation in the arrow B direction on the R signal at the R pixel position on the line where the pixels are aligned with R04, G13, R22, G31. It is a position R signal. Further, the R (G35) B signal is obtained by performing a one-dimensional interpolation operation in the direction of arrow B on the R signal at the R pixel position on the line where the pixels are aligned with R26, G35, R44, G53. This is an R signal at a pixel position.
[0012]
Then, the following formulas (3a) and (3b) are used to calculate fluctuation values SA and SB representing the fluctuation amount of the signal value in the arrow A direction and the arrow B direction at the B24 pixel position. Is used to calculate a weighting coefficient Sj for weighted addition of the R (B24) A signal and the R (B24) B signal by the equation (3c).
[0013]
SA = | B24-G (B24) A | / (B24 + G (B24) A) (3a)
SB = | B24-G (B24) B | / (B24 + G (B24) B) (3b)
Sj = SA / (SA + SB) (If SA + SB = 0, Sj = 0.5) (3c)
When the weighting coefficient Sj is obtained in this way, the R (B24) signal is calculated by the following equation (4).
[0014]
R (B24) = (1-Sj) * R (B24) A + Sj * R (B24) B (4)
According to this method, even if the signal value obtained in the imaging device is represented by an exponent value or a logarithmic value, the signal value at all pixel positions can be obtained without generating false colors. Further, in this method, according to the direction in which the signal value changes, the signal value calculated for the predetermined direction on the imaging device and the orthogonal direction orthogonal thereto is weighted and added as shown in the above equation (4), By calculating the signal value at each pixel position, generation of false colors can be prevented regardless of the change direction of the signal value, and the occurrence of artifacts can also be prevented.
[0015]
[Problems to be solved by the invention]
However, in the method of Japanese Patent Application No. 11-212202, when the pixel position where the signal value is estimated is on the color edge of the image, the signal value can be calculated without generating a false color. If the pixel whose value is to be estimated is on the gray edge, the false color cannot be reduced sufficiently. Hereinafter, this problem will be described. First, in the pixel array shown in FIG. 36, signal values are obtained as shown in FIG. 16, and white (signal value is 255) and black (signal value is 0 or close to 0) gray edges are represented. It shall be. Here, calculation of the B (R44) signal at the R44 pixel position will be described. First, in the direction of arrow A, a B (R44) A signal at the R44 pixel position is obtained by the following equation (5).
[0016]
B (R44) A = G (R44) A + ((B (G35) A-G35) + (B (G53) A-G53)) / 2
= 0 + ((2-0) + (255-255)) / 2 = 1 (5)
However, G (R44) A = 0, B (G35) A = 2, B (G53) A = 255
Further, in the direction of arrow B, the B (R44) B signal at the R44 pixel position is obtained by the following equation (6).
[0017]
B (R44) B = G (R44) B + ((B (G33) B-G33) + (B (G55) B-G55)) / 2
= 103 + ((105-0) + (105-0)) / 2 = 208 (6)
However, G (R44) B ≒ 103, B (G33) B ≒ 105, B (G55) B ≒ 105
Then, a weighting coefficient for weighting and adding the B (R44) A signal and the B (R44) B signal is calculated by the following equation (7).
[0018]
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 (7)
Sj = SA / (SA + SB) = 1 / (1 + 0.98) ≒ 0.5
When the weighting coefficient Sj is obtained in this way, a B (R44) signal is calculated by the following equation (8).
[0019]
B (R44) = (1-Sj) * B (R44) A + Sj * B (R44) B = 0.5 * 1 + 0.5 * 208 ≒ 105 (8)
Here, since the R44 pixel position is on the black edge, the value of the B (R44) signal is preferably close to zero. However, if the weighting coefficient Sj is calculated as shown in the above equation (7) and the value of the B (R44) signal is calculated by the equation (8), the value becomes 105, and a false color is generated here. It becomes.
[0020]
The present invention has been made in view of the above circumstances, and records an image processing method and apparatus capable of estimating a signal value without causing a false color even for a gray edge, and a program for causing a computer to execute the image processing method. An object of the present invention is to provide a computer-readable recording medium.
[0021]
[Means for Solving the Problems]
An image processing method according to the present invention is an imaging device in which first to third photoelectric conversion elements having different spectral sensitivities are arranged on a single surface to form an imaging surface, wherein the first and second The photoelectric conversion elements are alternately arranged in a predetermined direction to form a first line, the first and third photoelectric conversion elements are alternately arranged in the predetermined direction to form a second line, and the predetermined direction The first and second lines are arranged so that the first and second photoelectric conversion elements are alternately arranged in the orthogonal direction orthogonal to the first and third photoelectric conversion elements. Based on the first to third signal values obtained in the imaging device in which the imaging surface including the first to third pixels is formed by alternately arranging in the orthogonal direction, the first at all pixel positions. To the third signal value In out image processing method for estimating at least one signal value,
Determine whether the pixel position where the signal value is estimated is at the gray edge or the color edge,
A predetermined direction estimated value that is an estimated value of the signal value for the predetermined direction and an orthogonal direction estimated value that is an estimated value of the signal value for the orthogonal direction;
By calculating differently depending on the result of the determination, a predetermined direction fluctuation value representing the fluctuation amount of the signal value in the predetermined direction and an orthogonal direction fluctuation value representing the fluctuation amount of the signal value in the orthogonal direction are calculated,
Based on the predetermined direction variation value and the orthogonal direction variation value, set a weighting coefficient for weighted addition of the predetermined direction estimated value and the orthogonal direction estimated value,
Based on the weighting coefficient, the predetermined direction estimated value and the orthogonal direction estimated value are weighted and added to estimate at least one signal value of the first to third signal values. .
[0022]
Here, in the single-chip CCD having the honeycomb arrangement as shown in FIG. 33, assuming that the first to third pixels and the first to third signal values correspond to G, R, and B, respectively, the first line is 33 is a GR line in which GR pixels are alternately arranged from the upper left to the lower right (this is a predetermined direction), and the second line is a GB line in which GB pixels are alternately arranged in the same direction as the first line. Become. In addition, GR lines and GB lines are alternately arranged in a direction orthogonal to the predetermined direction. In the image processing method according to the present invention, when a signal value obtained in an imaging device such as a single CCD is represented by an exponent value or a logarithmic value with respect to the amount of light, each signal value is obtained in a local region on the image. Based on the premise that the difference values are equal, all signal values at each pixel position are estimated from the first to third signal values obtained in such an imaging device. In the present invention, the pixel arrangement of the imaging device is not limited to this.
[0023]
The “predetermined direction estimated value” and the “orthogonal direction estimated value” are at least one signal value of the first to third signal values estimated for the predetermined direction and the orthogonal direction, respectively.
[0024]
“Calculating the predetermined direction variation value and the orthogonal direction variation value by a different calculation method according to the determination result” refers to, for example, the above formulas (3a) and (3b) when the color edge is determined. When the fluctuation value SA and fluctuation value SB are obtained as the predetermined direction fluctuation value and the orthogonal direction fluctuation value by the calculation method shown in FIG. 6 and determined to be a gray edge, for example, the following equations (9a) and (9b) are given. It means obtaining the fluctuation value SA and the fluctuation value SB as a predetermined direction fluctuation value and an orthogonal direction fluctuation value by a calculation method.
[0025]
SA = | B24-G (B24) A | (9a)
SB = | B24-G (B24) B | (9b)
“Set weighting coefficient” means that if a gray edge is determined, a weighting coefficient for weighting the predetermined direction estimated value and the orthogonal direction estimated value is set so that a false color does not occur, and the color edge is determined. In this case, the weighting coefficient is set so that a fine color can be left while the false color is reduced.
[0026]
In the image processing method according to the present invention, an addition value between the predetermined direction variation value and the orthogonal direction variation value is calculated, and a ratio of the predetermined direction variation value or the orthogonal direction variation value to the addition value is calculated. The ratio is preferably set as a weighting coefficient when the predetermined direction estimation value and the orthogonal direction estimation value are weighted and added.
[0027]
Further, in the image processing method according to the present invention, a ratio of the predetermined direction variation value or the orthogonal direction variation value to an addition value of the predetermined direction variation value and the orthogonal direction variation value is set as the predetermined direction estimated value and the orthogonal direction. When setting as a weighting coefficient for weighted addition of estimated values,
Based on the relationship between the predetermined direction variation value and the orthogonal direction variation value when the weighting factor is constant, a correspondence relationship between the predetermined direction variation value and the orthogonal direction variation value for a plurality of weighting factors is calculated in advance. With reference to the storage means stored in the above, based on the predetermined direction variation value and the orthogonal direction variation value, one weighting factor is selected from the plurality of weighting factors, and the selected one weighting factor is It is preferable that the predetermined direction estimated value and the orthogonal direction estimated value are set as weighting coefficients when weighted addition is performed.
[0028]
In this case, the ratio of the predetermined direction variation value or the orthogonal direction variation value to the addition value is ½ with respect to the plurality of weighting coefficients in the correspondence relationship stored in the storage unit. n (N is a natural number)
The weighted addition is preferably performed by bit shift based on the weighting coefficient.
[0029]
Here, the ratio of the predetermined direction variation value or the orthogonal direction variation value to the added value is 1/2. n When the weighting coefficient is set so that (n is a natural number), when the predetermined direction estimated value and the orthogonal direction estimated value are represented by binary numbers, they are reduced to 1/2. n Multiplying by means that an operation equivalent to shifting these estimated values to the right by n bits is performed. Therefore, “bit shift based on weighting coefficient” means that the value of one selected weighting coefficient is 1/2. n The weighted addition is performed by shifting the predetermined direction estimation value and the orthogonal direction estimation value to the right by n bits.
[0030]
In the image processing method according to the present invention, it is determined whether or not the pixel position from which the signal value is estimated is in a monochromatic flat portion including only one of the first to third signal values. ,
If it is determined that the pixel is in the monochrome flat part, at least one signal value of the first to third signal values is obtained by linear interpolation based on the first to third signal values in the monochrome flat part. Estimate
When it is determined that the monochrome flat portion is not present, it is determined whether the gray edge or the color edge is present, calculation of the predetermined direction estimated value and the orthogonal direction estimated value, the predetermined direction variation value, and the It is preferable to calculate the orthogonal direction variation value, set the weighting coefficient, and estimate the signal value based on the weighting coefficient.
[0031]
In the image processing method according to the present invention, each of the first to third photoelectric conversion elements has a color of G (green), B (blue), or R (red), or Y (yellow). , G (green), and C (cyan) are preferably those having spectral sensitivity.
[0032]
An image processing apparatus according to the present invention is an imaging device in which imaging surfaces are formed by arranging first to third photoelectric conversion elements having different spectral sensitivities on a single surface, wherein the first and second The photoelectric conversion elements are alternately arranged in a predetermined direction to form a first line, the first and third photoelectric conversion elements are alternately arranged in the predetermined direction to form a second line, and the predetermined direction The first and second lines are arranged so that the first and second photoelectric conversion elements are alternately arranged in the orthogonal direction orthogonal to the first and third photoelectric conversion elements. Based on the first to third signal values obtained in the imaging device in which the imaging surface including the first to third pixels is formed by alternately arranging in the orthogonal direction, the first at all pixel positions. To the third signal value In out image processing apparatus for estimating at least one signal value,
Determining means for determining whether a pixel position for estimating a signal value is at a gray edge or a color edge;
An estimated value calculating means for calculating a predetermined direction estimated value that is an estimated value of the signal value for the predetermined direction and an orthogonal direction estimated value that is an estimated value of the signal value for the orthogonal direction;
A variation value for calculating a predetermined direction variation value that represents the variation amount of the signal value in the predetermined direction and an orthogonal direction variation value that represents the variation amount of the signal value in the orthogonal direction by different calculation methods according to the determination result. A calculation means;
Weighting coefficient setting means for setting a weighting coefficient for weighted addition of the predetermined direction estimation value and the orthogonal direction estimation value based on the predetermined direction fluctuation value and the orthogonal direction fluctuation value;
Weighting addition means for estimating the at least one signal value among the first to third signal values by weighting and adding the predetermined direction estimated value and the orthogonal direction estimated value based on the weighting coefficient. It is characterized by.
[0033]
In the image processing apparatus according to the present invention, the weighting coefficient setting unit calculates an addition value of the predetermined direction variation value and the orthogonal direction variation value, and the predetermined direction variation value or the orthogonal direction with respect to the addition value. A ratio calculation means for calculating the ratio of the fluctuation value is provided,
It is preferable that the ratio is a means for setting a weighting coefficient for weighted addition of the predetermined direction estimated value and the orthogonal direction estimated value.
[0034]
In the image processing apparatus according to the present invention, the weighting coefficient setting unit may calculate a ratio of the predetermined direction variation value or the orthogonal direction variation value to an addition value of the predetermined direction variation value and the orthogonal direction variation value. Based on the relationship between the predetermined direction fluctuation value and the orthogonal direction fluctuation value when the weighting coefficient is constant when setting the predetermined direction estimation value and the orthogonal direction estimation value as a weighting coefficient when weighted addition is performed. Storage means for calculating in advance the correspondence relationship between the predetermined direction variation value and the orthogonal direction variation value for a plurality of weighting coefficients, and storing the correspondence relationship;
Weighting coefficient selecting means for selecting one weighting coefficient from the plurality of weighting coefficients with reference to the storage means based on the predetermined direction variation value and the orthogonal direction variation value;
Preferably, the selected one weighting coefficient is a means for setting a weighting coefficient for weighted addition of the predetermined direction estimated value and the orthogonal direction estimated value.
[0035]
In this case, the ratio of the predetermined direction variation value or the orthogonal direction variation value to the addition value is ½ with respect to the plurality of weighting coefficients in the correspondence relationship stored in the storage unit. n (N is a natural number)
The weighted addition means is preferably means for performing the weighted addition by bit shift based on the weighting coefficient.
[0036]
In the image processing apparatus according to the present invention, it is determined whether or not the pixel position from which the signal value is estimated is in a monochromatic flat portion including only one of the first to third signal values. Flat part determining means;
When it is determined to be in the monochrome flat part, at least one signal value is estimated from the first to third signal values by linear interpolation based on the first to third signal values in the monochrome flat part And linear interpolation means for
When it is determined that the monochrome flat portion is not present, the determination unit determines whether it is a gray edge or a color edge, the estimation value calculation unit calculates the predetermined direction estimation value and the orthogonal direction estimation value, Calculation of the predetermined direction fluctuation value and the orthogonal direction fluctuation value by the fluctuation value calculation means, setting of the weighting coefficient by the weighting coefficient setting means, and estimation of a signal value based on the weighting coefficient by the weighting addition means. Is preferred.
[0037]
Furthermore, in the image processing apparatus according to the present invention, the first to third photoelectric conversion elements are each spectrally divided into any one of G, B, and R colors or any one of Y, G, and C colors. It is preferable that it has a sensitivity.
[0038]
The image processing method according to the present invention may be provided by being recorded on a computer-readable recording medium as a program for causing a computer to execute the image processing method.
[0039]
The image processing apparatus according to the present invention may be provided by being mounted on an imaging apparatus such as a digital camera or an image reading apparatus such as a scanner.
[0040]
【The invention's effect】
According to the present invention, it is determined whether the pixel position from which the signal value is estimated is at the gray edge or the color edge, and the variation amount of the signal value in the predetermined direction is determined by different calculation methods according to the determination result. The predetermined direction fluctuation value and the orthogonal direction fluctuation value representing the fluctuation amount of the signal value in the orthogonal direction are calculated, and the predetermined direction estimation value and the orthogonal direction estimation value are weighted and added based on the predetermined direction fluctuation value and the orthogonal direction fluctuation value. In this case, the weighting coefficient is set. Here, if the edge extends in a predetermined direction, the predetermined direction estimation value of a certain pixel position on the edge is a value that substantially matches the signal value of another pixel position on the edge, but the orthogonal direction estimation The value is different from the signal values at other pixel positions on the edge under the influence of the signal value at the pixel position existing in the direction orthogonal to the edge. When the edge is a gray edge, it is preferable to set the weighting coefficient so that the influence of the orthogonal direction estimation value is eliminated. On the other hand, when the edge is a color edge, it is preferable to eliminate the influence of the orthogonal direction estimation value, but if the signal value is estimated without the influence of the orthogonal direction estimation value completely, the fine color near the edge is lost. As a result, the image becomes unnatural.
[0041]
Here, when an edge extends in a predetermined direction, SA and SB calculated by the above formulas (3a) and (3b) and formulas (9a) and (9b) are set as a predetermined direction variation value and an orthogonal direction variation value, respectively. When these are compared, in the case of formulas (9a) and (9b), no division is performed, so the ratio of the orthogonal direction fluctuation value to the predetermined direction fluctuation value is calculated by the formulas (9a) and (9b). Becomes larger. Therefore, the weighting coefficient obtained by the predetermined direction fluctuation value and the orthogonal direction fluctuation value calculated by the equations (9a) and (9b) is very high compared with the weighting for the orthogonal direction estimation value compared to the weighting for the predetermined direction estimation value. Get smaller. On the other hand, the weighting coefficient obtained by the predetermined direction fluctuation value and the orthogonal direction fluctuation value calculated by the equations (3a) and (3b) is smaller in weighting for the orthogonal direction estimation value than the weighting for the predetermined direction estimation value. , (9a) and (9b) are not so small.
[0042]
Therefore, the signal value can be estimated with almost no false color in the case of a gray edge by setting the weighting coefficient so that the calculation method of the predetermined direction variation value and the orthogonal direction variation value differs depending on the determination result. In the case of a color edge, the signal value can be estimated so as to leave a fine color while reducing the false color.
[0043]
Although the weighting coefficient may be calculated as shown in the above equation (3c), in this equation (3c), since SA is divided by (SA + SB), an apparatus for performing this calculation This increases the size and the amount of calculation. Therefore, as in the third, eighth, and thirteenth aspects of the invention, when the ratio of the predetermined direction fluctuation value or the orthogonal direction fluctuation value to the sum of the predetermined direction fluctuation value and the orthogonal direction fluctuation value is set as the weighting coefficient, Based on the relationship between the predetermined direction variation value and the orthogonal direction variation value when the coefficient is constant, the correspondence relationship between the predetermined direction variation value and the orthogonal direction variation value for a plurality of weighting coefficients is calculated in advance, Based on the calculated predetermined direction fluctuation value and orthogonal direction fluctuation value stored in the storage means, one weighting coefficient is selected with reference to the storage means, and based on the one weighting coefficient, the predetermined direction is selected. It is preferable to perform weighted addition of the estimated value and the orthogonal direction estimated value.
[0044]
Here, when the weighting coefficient is calculated by the above equation (3c), when this is solved for the variation amount SB,
SB = ((1-Sj) / Sj) * SA (3c ')
It becomes. This indicates that when the weighting coefficient Sj is constant, the relationship between the variation value SA and the variation value SB is proportional. Accordingly, when a two-dimensional plane is set in which the variation value SA is associated with the predetermined direction variation value, the variation value SB is associated with the orthogonal direction variation value, the x-axis is the predetermined direction variation value, and the y-axis is the orthogonal direction variation value. On the plane, the plurality of weighting coefficients are represented as straight lines that pass through an origin having an inclination corresponding to the weighting coefficient (strictly, the origin is not included).
[0045]
Thus, for example, a two-dimensional plane is divided into a plurality of regions by a plurality of straight lines having inclinations corresponding to the weighting coefficients, and this is obtained as a correspondence relationship between the predetermined direction variation values and the orthogonal direction variation values for the plurality of weighting coefficients. This is stored in the storage means, and it is determined in which region on the two-dimensional plane the calculated predetermined direction variation value and orthogonal direction variation value are included, and in the region where these are determined to be located The corresponding weighting factor can be selected as one weighting factor.
[0046]
Therefore, according to the third, eighth, and thirteenth aspects of the invention, in order to obtain the weighting coefficient, the predetermined direction fluctuation value or the orthogonal direction fluctuation value is converted into the predetermined direction fluctuation value and the orthogonal direction fluctuation value as shown in the equation (3c). Therefore, it is not necessary to divide by the added value, thereby reducing the amount of calculation and simplifying the configuration of the circuit for performing the calculation. Therefore, it becomes easy to mount an apparatus for carrying out the present invention on a small-sized imaging apparatus such as a digital camera or an image reading apparatus such as a scanner.
[0047]
In addition, the weighting coefficient is ½ of the predetermined direction variation value or the orthogonal direction variation value with respect to the added value n When n is a natural number, the predetermined direction estimation value and the orthogonal direction estimation value are expressed in binary numbers as 1/2. n Multiplying by means that an operation equivalent to shifting the value to the right by n bits is performed. Therefore, by performing the weighted addition of the predetermined direction estimated value and the orthogonal direction estimated value by bit shift, the calculation can be performed easily and the processing time can be shortened.
[0048]
In addition, when the pixel position where the signal value is estimated is in a single color flat portion composed of only a single color signal value, the signal value can be estimated without generating false color even if simple linear interpolation calculation is performed. Therefore, it is determined whether or not the pixel position for estimating the signal value is in the monochromatic flat part, and if it is in the monochromatic flat part, the signal value is estimated by linear interpolation, thereby calculating the signal value. Time can be shortened.
[0049]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a schematic block diagram showing the configuration of the image processing apparatus according to the first embodiment of the present invention. As shown in FIG. 1, the image processing apparatus according to the first embodiment of the present invention performs interpolation processing on the signal values obtained in each photoelectric conversion element constituting the
[0050]
Note that the image processing apparatus according to the present embodiment may be provided in an image capturing apparatus such as a digital camera or a reading apparatus such as a scanner that reads an image from a film, and reproduces an image signal obtained by these apparatuses. It may be provided in a playback device such as a monitor or a printer. Alternatively, the image processing apparatus may be used alone.
[0051]
FIG. 2 is a diagram showing a pixel array of the
[0052]
2B includes a line in which pixels corresponding to the R and B channels are alternately arranged in the y direction, and a line in which pixels corresponding to the G channel are arranged in the y direction. The arrangement interval of the pixels of the line is arranged so as to be shifted by about ½ in the y direction with respect to the pixel arrangement of the other lines, and is a checkered pixel arrangement. As such a checkered pixel arrangement, the honeycomb arrangement (FIG. 33) described in JP-A-10-136391 is known. In this embodiment, the pixel arrangement shown in FIG. It shall be called an array. In this honeycomb arrangement, in the direction inclined 45 degrees with respect to the x direction, the lines of the R and G channel pixels are alternately arranged, and the G and B channel pixels are alternately arranged in the direction inclined 45 degrees. The arranged lines are alternately arranged in a direction orthogonal to this direction. Note that the honeycomb arrangement has a relationship in which the Bayer arrangement and the pixel arrangement are rotated by 45 degrees as shown in FIG. In addition, the honeycomb array is formed by arranging pixels in a checkered pattern as described above, and can be expressed in a square shape as shown in FIG. 3 using hole pixel positions * having no signal value. It is. In the present embodiment, a description will be given assuming that processing is performed on the image data S0 obtained in the single-
[0053]
FIG. 4 is a diagram showing pixel positions of the single-
[0054]
FIG. 5 is a schematic block diagram showing the configuration of the
[0055]
Next, calculation of the G signal QG in the
[0056]
(1) First, calculation processing of the G signal at the R and B pixel positions will be described. The calculation of the G signal is performed by the G interpolation means 3. The G signal at the R and B pixel positions can be calculated by performing a spline interpolation operation on the G signal obtained at the G pixel positions around the pixel position. FIG. 6 is a diagram illustrating an example of a two-dimensional Cubic spline interpolation filter that performs a spline interpolation operation. The two-dimensional Cubic spline interpolation filter shown in FIG. 6 performs an interpolation operation on the G signal at the G pixel position of 16 pixels near the pixel position where the G signal is calculated. Accordingly, the G (R44) signal at the R44 pixel position surrounded by the solid line in FIG. 7 is the 16 G pixel positions (G11, G13, G15, G17, G31, G33, G35, G37, G51, G53, G55, G57, G71, G73, G75, G77) are calculated by subjecting the G signal to a filtering process using a two-dimensional Cubic spline interpolation filter shown in FIG. On the other hand, the G (B46) signal at the B46 pixel position is a G pixel position (G13, G15, G17, G19, G33, G35, G37, G39, G53, G55, G57, G59, G73) surrounded by a broken line. , G75, G77, G79) is similarly calculated by performing a filtering process. Thereby, it is possible to perform interpolation without damaging the frequency component of the G signal before interpolation, and as a result, it is possible to obtain a G signal that retains the original frequency information at all pixel positions.
[0057]
Here, as a method of the interpolation calculation, any method can be applied as long as it is an interpolation calculation in the vertical and horizontal two-dimensional directions in FIG. Note that the G signal at the R and G pixel positions may be calculated by performing a simple linear interpolation operation on the G signal obtained at the G pixel position around the pixel position where the G signal is calculated. For example, the G (R44) signal at the R44 pixel position and the G (B46) signal at the B46 pixel position surrounded by the solid line in FIG. 7 are expressed by the following equations (10) using the G signals at the four surrounding G pixel positions: ) And (11).
[0058]
G (R44) = (G33 + G35 + G53 + G55) / 4 (10)
G (B46) = (G35 + G37 + G55 + G57) / 4 (11)
(2) Next, calculation of the R signal QR and the B signal QB in the
[0059]
1. First, an R signal calculation process in the arrow A direction at a G pixel position in a line in which R and G pixels are arranged in the arrow A direction (hereinafter referred to as a first line) will be described. The calculation of the signal in the direction of arrow A is performed by the first interpolation means 11. In the following description, a signal calculated in the direction of arrow A is denoted by (A), and a signal calculated in the direction of arrow B is denoted by (B). Also, a line in which R and G pixels are arranged in the direction of arrow A is a first line, a line in which B and G pixels are arranged in the direction of arrow A is a second line, and a line in which R and G pixels are arranged in the direction of arrow B is a third line. The fourth line is a line in which B and G pixels are arranged in the arrow B direction.
[0060]
The calculation process of the R signal at the G pixel position in the direction of arrow A in the first line is performed by performing a one-dimensional interpolation operation on the R signal on the first line including the G pixel position. For example, the R (G33) A signal at the G33 pixel position surrounded by the solid line in FIG. 8 is the four R pixels (R00, R22, R44) around the G33 pixel position on the first line where the G33 pixel position exists. , R66) is calculated by performing one-dimensional interpolation calculation such as one-dimensional Cubic spline interpolation calculation shown in the following equation (12) on the R signal obtained in R66).
[0061]
R (G33) A = (-3 * ROO + 19 * R22 + 19 * R44-3 * R66) / 32 (12)
It may be calculated by the following equation (13) using R22 and R44 signals at two R pixel positions adjacent to each other in the direction of arrow A in the first line.
[0062]
R (G33) A = (R22 + R44) / 2 (13)
Any interpolation calculation method can be used as long as it is a one-dimensional interpolation calculation in the direction of arrow A on the first line. Thereby, the R signal at the G pixel position on the first line can be calculated.
[0063]
Second, the calculation process of the R signal in the arrow B direction at the G pixel position in the first line in which the R and G pixels are arranged in the arrow A direction will be described. The calculation of the signal in the direction of arrow B is performed in the second interpolation means 12 as follows. First, a pixel position adjacent to the G pixel position where the R signal is calculated in the direction of arrow A is obtained. For example, assuming that the R (G33) B signal at the G33 pixel position surrounded by the solid line shown in FIG. 9 is calculated here, the pixel positions adjacent to the G33 pixel position are the R22 pixel position and R44 pixel position surrounded by the broken line. It becomes. Then, the average value of the difference between the R22 signal and the G (R22) signal at the R22 pixel position and the difference between the R44 signal and the G (R44) signal at the R44 pixel position is added to the G33 signal at the G33 pixel position, and the addition The result is an R (G33) B signal at the G33 pixel position.
[0064]
Here, when only the R22 signal is used, the R (G33) B signal at the G33 pixel position is calculated by the following equation (14).
[0065]
R (G33) B = G33 + (R22-G (R22)) (14)
Expression (14) is determined on the assumption that the difference between the R signal and the G signal in the local region of the image is equal. For example, the difference between the R signal and the G signal at the R22 pixel position and the G33 pixel position is equal.
R (G33) B-G33 = R22-G (R22) (15)
Equation (15) is solved for the R (G33) B signal to obtain Equation (14). Note that in Equation (14), the G (R22) signal is not calculated by the processing of (1) above, but in the direction of arrow B with respect to the G signal on the third line where the R22 pixel position exists. This is calculated by performing a one-dimensional interpolation operation such as a linear interpolation operation shown in the following equation (16) or a one-dimensional Cubic spline interpolation operation shown in equation (12). Therefore, the reference sign B is attached to the G (R22) signal.
[0066]
G (R22) B = (G31 + G13) / 2 (16)
That is, in the equation (14), the signal value is calculated on the assumption that the difference between the R signal and the G signal in the local region of the image is equal, and the signal value is calculated using the G33 in the direction of the arrow B. The fourth line where the pixel position exists and the third line where the R22 pixel position exists. This means that the signal value is calculated based on the correlation between the pixel values on the third and fourth lines, and the change in the signal value in the direction of arrow B is reflected for the unknown signal value. It is necessary to calculate the signal value. When only the R22 signal is used in the processing of 2, the R (G33) B signal at the G33 pixel position is calculated based on the relationship shown in the above equation (15), but the G (R22) signal is unknown. Therefore, it is necessary to estimate this. Here, since equation (15) represents the correlation between the third and fourth lines, in order to estimate the G (R22) signal, the change in the signal value in the direction of arrow B on the third line It is necessary to reflect. In this case, it is conceivable to use the G signal calculated by the method of (1) above, but this G signal is calculated using the signal value of another line as shown in equations (10) and (11). Therefore, it does not reflect the change in the signal value in the direction of arrow B on the third line. Therefore, in order to reflect the change in the signal value in the direction of arrow B, a one-dimensional interpolation operation is performed in the direction of arrow B on the third line as shown in equation (16) to obtain the G (R22) B signal. It is what is calculated.
[0067]
On the other hand, when only the R44 signal is used, the R (G44) B signal at the G33 pixel position is calculated by the following equation (17) based on the relationship of the above equation (15).
[0068]
R (G33) B = G33 + (R44-G (R44) B) (17)
Note that the G (R44) B signal is calculated in the same manner as Equation (16). Here, in this embodiment, the R (G33) B signal may be obtained by either of the equations (14) or (17), but the signal value of the pixel position adjacent to only one side of the G pixel position is used. If so, the phase of the image approaches that direction. In order to prevent this, as shown in the following equation (18), the R signal and the G signal at the pixel positions (R22, R44 pixel positions) adjacent to the G pixel position (for example, the G33 pixel position) where the R signal is calculated. Is obtained by adding the average value of the differences to the G signal at the G pixel position where the R signal is calculated as the R signal at the G pixel position.
[0069]
R (G33) B = G33 + ((R22-G (R22) B) + (R44-G (R44) B)) / 2 (18)
Thereby, the R (G33) B signal at the G pixel position in the arrow B direction can be calculated.
[0070]
3. Next, the calculation process of the R signal in the arrow A direction at the G pixel position in the second line in which the B and G pixels are arranged in the arrow A direction will be described. The calculation of the signal in the direction of arrow A is performed by the first interpolation means 11. First, a pixel position adjacent to the G pixel position for calculating the R signal in the arrow B direction is obtained. For example, assuming that the R (G35) A signal at the G35 pixel position surrounded by the solid line shown in FIG. 10 is calculated here, the pixel positions adjacent to the G35 pixel position are the R26 pixel position and R44 pixel position surrounded by the broken line. It becomes. Similar to the
[0071]
R (G35) A = G35 + ((R26-G (R26) A) + (R44-G (R44) A)) / 2 (19)
The G (R26) A signal and the G (R44) A signal are calculated by performing a one-dimensional interpolation operation in the direction of arrow A on the G signal on the first line where the R26 and R44 pixel positions exist. It is a thing. Thereby, the R (G35) A signal at the G pixel position in the direction of arrow A can be calculated.
[0072]
4 Next, the calculation process of the R signal in the arrow B direction at the G pixel position in the second line in which the B and G pixels are arranged in the arrow A direction will be described. The calculation of the signal in the direction of the arrow B is performed by performing one-dimensional interpolation operation on the R signal on the third line including the G pixel position in the
[0073]
R (G35) B = (-3 * RO8 + 19 * R26 + 19 * R44-3 * R62) / 32 (20)
Next, the calculation process of the R signal in the arrow A direction at the B pixel position in the second line in which the B and G pixels are arranged in the arrow A direction will be described. The calculation of the signal in the direction of arrow A is performed by the first interpolation means 11. First, a pixel position adjacent to the B pixel position for calculating the R signal in the arrow B direction is obtained. For example, assuming that the R (B24) A signal at the B24 pixel position surrounded by the solid line shown in FIG. 12 is calculated here, the pixel positions adjacent to the B24 pixel position are the G15 pixel position and the G33 pixel position surrounded by the broken line. It becomes. Similarly to the
[0074]
R (B24) A = G (B24) A + ((R (G33) A-G33) + (R (G15) A-G15)) / 2 (21)
The R (G15) A signal and the R (G33) A signal are calculated by performing a one-dimensional interpolation operation in the direction of arrow A on the R signal on the first line where the G15 and G33 pixel positions exist. This is the R signal itself calculated in one process. The G (B24) A signal is calculated by performing a one-dimensional interpolation operation in the arrow A direction on the G signal on the second line where the B24 pixel position exists. As a result, the R (B24) A signal at the B pixel position in the arrow A direction can be calculated.
[0075]
6 Next, the calculation process of the R signal in the arrow B direction at the B pixel position in the second line in which the B and G pixels are arranged in the arrow A direction will be described. The calculation of the signal in the direction of arrow B is performed by the second interpolation means 12. First, a pixel position adjacent to the B pixel position where the R signal is calculated in the direction of arrow A is obtained. For example, assuming that the R (B24) B signal at the B24 pixel position surrounded by the solid line shown in FIG. 13 is calculated here, the pixel positions adjacent to the B24 pixel position are the G13 pixel position and the G35 pixel position surrounded by the broken line. It becomes. Similar to the
[0076]
R (B24) B = G (B24) B + ((R (G35) B-G35) + (R (G13) B-G13)) / 2 (22)
The R (G13) B signal and the R (G35) B signal are calculated by performing a one-dimensional interpolation operation in the arrow B direction on the R signal on the third line where the G13 and G35 pixel positions exist. This is the R signal itself calculated in the process of 4. The G (B24) B signal is calculated by performing a one-dimensional interpolation operation in the arrow B direction on the G signal on the fourth line where the B24 pixel position exists. Thereby, the R (B24) B signal at the B pixel position in the arrow B direction can be calculated.
[0077]
As described above, the R signal for the arrow A direction at the G pixel position in the first line in which the R and G pixels are arranged in the arrow A direction is calculated by the
[0078]
The R signal for the arrow A direction at the G pixel position in the second line in which the B and G pixels are arranged in the arrow A direction is calculated by the
[0079]
Further, the R signal for the arrow A direction at the B pixel position in the second line in which the B and G pixels are arranged in the arrow A direction is calculated by the
[0080]
The calculation of the R signal in both directions of the arrows A and B at each pixel position has been described above, but the B signal can also be calculated in the same manner as the R signal as described in the
[0081]
The determination means 10 determines whether the pixel position whose signal value is estimated is on the gray edge or the color edge as follows. FIG. 14 is a diagram illustrating an example of a color edge composed of red (R) and green (G), and FIG. 15 is a diagram illustrating an example of a gray edge composed of white and black. 14 and 15, the pixel position where the signal value is 0 is shown in white, and the other pixels will be described as having a signal value of 255. Here, the determination at the R44 pixel position will be described. First, the determination means 10 obtains edge determination values Dat1 to Dat4 from the following equations (23) to (26).
[0082]
Dat1 = | R44-G33 | + | R44-G55 | + | G35-B24 | + | G35-B46 | (23)
Dat2 = | R44-G33 | + | R44-G55 | + | G53-B42 | + | G53-B64 | (24)
Dat3 = | R44-G35 | + | R44-G53 | + | G33-B24 | + | G33-B42 | (25)
Dat4 = | R44-G35 | + | R44-G53 | + | G55-B46 | + | G55-B64 | (26)
Here, the equation (23) calculates a determination value Dat1 for determining the color of the upper right edge of the R44 pixel position in the arrow A direction, and the equation (24) calculates the R44 pixel in the arrow A direction. The determination value Dat2 for determining the color of the edge at the lower left part of the position is calculated. Expression (25) calculates a determination value Dat3 for determining the color of the edge of the upper left portion of the R44 pixel position in the arrow B direction. Expression (26) is an R44 pixel position in the arrow B direction. The determination value Dat4 for determining the color of the edge of the lower right part of is calculated.
[0083]
When the pixel position from which the signal value is estimated is at the gray edge, any one of the determination values Dat1 to Dat4 is necessarily small. For example, in the case of the gray edge shown in FIG. 15, in the determination values Dat1 to Dat4 calculated in the above formulas (23) to (26), the determination values Dat1 and Dat2 are 0. On the other hand, when the pixel position from which the signal value is estimated is at a color edge as shown in FIG. 14, any of the determination values Dat1 to Dat4 increases. Therefore, the minimum value Dmin of the determination values Dat1 to Dat4 is compared with a predetermined threshold value T. When the minimum value Dmin is equal to or less than the threshold value T, that is,
Dmin = min (Dat1, Dat2, Dat3, Dat4) ≦ T (27)
The pixel position is determined to be a gray edge, otherwise, that is,
Dmin = min (Dat1, Dat2, Dat3, Dat4)> T (28)
If it is, it is determined that it is a color edge. Here, the threshold value T is set to a value of about 128 when the signal value is represented by 8 bits. Then, the
[0084]
The fluctuation value calculation means 13 is a weighting coefficient for weighting and adding the signal values in the directions of arrows A and B calculated by the processing of 1 and 2, 3 and 4 and 5 and 6 in the weighting coefficient calculation means 14 described later. The variation values SA and SB necessary for the calculation are calculated. Here, the fluctuation values SA and SB are values representing the fluctuation amount of the signal value at the pixel position where the signal value is estimated. First, calculation of the fluctuation values SA and SB for calculating the weighting coefficient of the R signal in the directions of arrows A and B calculated by the
[0085]
First, when it is determined by the determination information H that the pixel position for calculating the signal value is at the color edge, the fluctuation value SA in the arrow A direction and the fluctuation value SB in the arrow B direction are expressed by the following equations (29) and ( 30). Here, similarly to the
[0086]
SA = | R (G33) A-G33 | / (R (G33) A + G33) (29)
SB = | B (G33) B-G33 | / (B (G33) B + G33) (30)
Here, R (G33) A in Equation (29) is the signal value calculated by Equation (12) in the processing of 1, and B (G33) B in Equation (30) is the G33 pixel position periphery on the fourth line. These are signal values calculated by performing a one-dimensional interpolation operation on the B signals obtained at the four B pixel positions (B06, B24, B42, B60). The variation value SA calculated in this way represents a change in the signal value in the arrow A direction at the G33 pixel position, and the variation value SB represents a change in the signal value in the arrow B direction at the G33 pixel position.
[0087]
On the other hand, when it is determined by the determination information H that the pixel position for calculating the signal value is at the gray edge, the variation value SA and the variation value SB are expressed by the following equation (31) with the denominators of equations (29) and (30) omitted. ) And (32).
[0088]
SA = | R (G33) A-G33 | (31)
SB = | B (G33) B-G33 | (32)
Next, calculation of the fluctuation value for calculating the weighting coefficient of the R signal in the directions of arrows A and B calculated by the processes of 3 and 4 will be described.
[0089]
First, when it is determined by the determination information H that the pixel position for calculating the signal value is at the color edge, the variation value SA in the arrow A direction and the variation value SB in the arrow B direction are expressed by the following equations (33), ( 34). Here, similarly to the processes of 3 and 4, the fluctuation value of the signal value at the G35 pixel position shown in FIG. 10 is calculated.
[0090]
SA = | B (G35) A-G35 | / (B (G35) A + G35) (33)
SB = | R (G35) B-G35 | / (R (G35) B + G35) (34)
Here, B (G35) A in Expression (33) is 1 for the B signal obtained at the four B pixel positions (B02, B24, B46, B68) around the G35 pixel position on the second line. The signal value calculated by performing the dimensional interpolation calculation, R (G35) B in the equation (34), is the signal value calculated by the equation (20) in the above-described processing of 4. The variation value SA calculated in this way represents a change in the signal value in the direction of arrow A at the G35 pixel position, and the variation value SB represents a change in the signal value in the direction of arrow B at the G35 pixel position.
[0091]
On the other hand, when it is determined by the determination information H that the pixel position for calculating the signal value is at the gray edge, the variation value SA and the variation value SB are expressed by the following equation (35) in which the denominators of the equations (33) and (34) are omitted. ) And (36).
[0092]
SA = | B (G35) A-G35 | (35)
SB = | R (G35) B-G35 | (36)
Next, calculation of the fluctuation value for calculating the weighting coefficient of the R signal in the directions of arrows A and B calculated by the processes of 5 and 6 will be described.
[0093]
First, when it is determined by the determination information H that the pixel position for calculating the signal value is at the color edge, the variation value SA in the arrow A direction and the variation value SB in the arrow B direction are expressed by the following equations (37), ( 38). Here, similarly to the processing of 5 and 6, the fluctuation value of the signal value at the B24 pixel position shown in FIGS. 12 and 13 is calculated.
[0094]
SA = | B24-G (B24) A | / (B24 + G (B24) A) (37)
SB = | B24-G (B24) B | / (B24 + G (B24) B) (38)
Here, G (B24) A in Expression (37) is obtained by performing a one-dimensional interpolation operation in the direction of arrow A on the G signal on the second line where the B24 pixel position exists in the process of 5 above. The calculated signal value, G (B24) B in equation (38), is subjected to a one-dimensional interpolation operation in the direction of arrow B on the G signal on the fourth line where the B24 pixel position exists in the process of 6 above. This is the signal value calculated. The variation value SA calculated in this way represents a change in the signal value in the arrow A direction at the B24 pixel position, and the variation value SB represents a change in the signal value in the arrow B direction at the B24 pixel position.
[0095]
On the other hand, when it is determined by the determination information H that the pixel position for calculating the signal value is at the gray edge, the variation value SA and the variation value SB are expressed by the following equation (39) and the denominator of (38) are omitted (39 ) And (40).
[0096]
SA = | B24-G (B24) A | (39)
SB = | B24-G (B24) B | (40)
The fluctuation values SA and SB calculated as described above are input to the weighting coefficient calculating means 14, and the weighting coefficient Sj is calculated by the following equation (41). The weighting coefficient Sj is input to the weighting addition means 15.
[0097]
Sj = SA / (SA + SB) (if SA + SB = 0 then Sj = 0.5) (41)
In Expression (41), SA + SB = 0 is satisfied when SA = SB = 0 because SA and SB ≧ 0.
[0098]
In the weighted addition means 15, signal values are calculated by the following formulas (42) to (44) for the cases of 1 and 2, 3 and 4, and 5 and 6. Expressions (42) to (44) represent the R (G33) signal at the G33 pixel position in the first line in which the R and G pixels are arranged in the arrow A direction, and the B and G pixels in the arrow A direction. The R (G35) signal at the G35 pixel position in the second line and the R (B24) signal at the B24 pixel position in the second line in which the B and G pixels are arranged in the direction of arrow A are calculated.
[0099]
R (G33) = (1-Sj) * R (G33) A + Sj * R (G33) B (42)
R (G35) = (1-Sj) * R (G35) A + Sj * R (G35) B (43)
R (B24) = (1-Sj) * R (B24) A + Sj * R (B24) B (44)
A general formula using signals Q1 and Q2 is shown in formula (45).
[0100]
QR, QB = (1-Sj) * Q1 + Sj * Q2 (45)
As a result, the smaller the signal value changes, the greater the weighting is made, and the R and B signals QR and QB are calculated.
[0101]
Here, differences in the calculation methods of the variation values SA and SB in the case of the color edge and the gray edge will be described. FIG. 16 is a diagram for explaining the difference between the calculation methods of the fluctuation values SA and SB. In the pixel array shown in FIG. 16, it is assumed that gray edges of white (signal value is 255) and black (signal value is 0 or a value close to 0) are represented. Here, calculation of the B (R44) signal in the R44 pixel will be described. First, in the direction of arrow A, a B (R44) A signal at the R44 pixel position is obtained by the following equation (46).
[0102]
B (R44) A = G (R44) A + ((B (G35) A-G35) + (B (G53) A-G53)) / 2
= 0 + ((2-0) + (255-255)) / 2 = 1 (46)
However, G (R44) A = 0, B (G35) A = 2, and B (G53) A = 255, and these values are calculated in one dimension as shown in equations (12) and (20). Cubic spline interpolation operation was used.
[0103]
Further, in the direction of arrow B, the B (R44) B signal at the R44 pixel position is obtained by the following equation (47).
[0104]
B (R44B) = G (R44) B + ((B (G33) B-G33) + (B (G55) B-G55)) / 2
= 103 + ((105-0) + (105-0)) / 2 = 208 (47)
However, G (R44) B≈103, B (G33) B≈105, and B (G55) B≈105, and these values are calculated in one dimension as shown in equations (12) and (20). Cubic spline interpolation operation was used.
[0105]
Then, the fluctuation values SA and SB are obtained by the following equation (48), and the weighting coefficient Sj for weighting and adding the B (R44) A signal and the B (R44) B signal is calculated by the equation (49).
[0106]
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 (48)
Sj = SA / (SA + SB) = 1 / (1 + 0.98) ≒ 0.5 (49)
When the weighting coefficient Sj is obtained in this way, a B (R44) signal is calculated by the following equation (50).
[0107]
B (R44) = (1-Sj) * B (R44) A + Sj * B (R44) B = 0.5 * 1 + 0.5 * 208 ≒ 105 (50)
Here, since the R44 pixel position is on the black edge, the value of the B (R44) signal is preferably close to zero. However, if the weighting coefficient Sj is calculated as shown in the above equations (48) and (49) and the value of the B (R44) signal is obtained by the equation (50), the value becomes 105. Will occur. This is because the value of the weighting coefficient Sj becomes closer to 0 as the signal value varies less in the direction of the arrow A, but depending on the signal value at the pixel position around the pixel position where the signal value is calculated, as shown in Expression (50). This is because the weighting coefficient Sj may not be a value close to zero.
[0108]
On the other hand, in this embodiment, when the pixel position for calculating the signal value is at the gray edge, the denominator is omitted in the equation (48) to calculate the variation values SA and SB. When the fluctuation values SA and SB are calculated in this way,
SA = | R44-G (R44) A | = | 1-0 | = 1
SB = | R44-G (R44) B | = | 1-103 | = 102 (51)
And the weighting coefficient Sj is
Sj = SA / (SA + SB) = 1 / (1 + 102) ≒ 0.01 (52)
It becomes. When the B (R44) signal is calculated by the weighting coefficient Sj calculated in this way,
B (R44) = (1-Sj) * B (R44) A + Sj * B (R44) B = 0.99 * 1 + 0.01 * 208 ≒ 2.99 (53)
It becomes. Thereby, the B (R44) signal becomes a value close to 0, and as a result, false colors can be reduced.
[0109]
On the other hand, if it is determined that the edge is a color edge, the false color can be reduced by calculating the variation values SA and SB according to the equation (51). However, since the fine color near the edge is lost, the image is It becomes unnatural. Therefore, in this embodiment, the calculation method of the variation values SA and SB is changed according to whether the pixel position for calculating the signal value is a gray edge or a color edge.
[0110]
In the Bayer array single-
[0111]
When all the RGB signal values QR, QG, QB are obtained at all the pixel positions in this way, the checkered square interpolation means 5 calculates the RGB signal values at the hole pixel position * in FIG. 3 by interpolation calculation. Thus, interpolated image data S1 in which pixels are arranged in a square shape is obtained. This interpolation calculation includes an interpolation filter using signal values at four pixel positions around the vacant pixel positions * as shown in FIG. 17, and a two-dimensional Cubic spline interpolation calculation for 4 × 4 pixels as shown in FIG. The interpolation coefficient can be obtained by performing an interpolation operation using an interpolation filter having an interpolation coefficient arrangement inclined by 45 degrees. Note that the interpolation calculation for calculating the signal value at the hole pixel position * is a checkered square interpolation calculation. Further, the interpolation calculation is not limited to these, and the RGB signal at each pixel position obtained as described above is converted into a YCC luminance / color difference space, and an interpolation calculation using a different interpolation filter is performed for each YCC. Any method can be adopted as long as it is an interpolation calculation for calculating the signal value at the hole pixel position *.
[0112]
Next, the operation of the first embodiment will be described. FIG. 19 is a flowchart showing the operation of the first embodiment. First, a subject is photographed to obtain image data S0 in the single CCD 1 (step S1). Next, the G interpolation means 3 of the interpolation means 2 calculates the G signal QG at the R or B pixel position in the predetermined direction by the process (1) (step S2). Then, the interpolation means 2 sets the signal to be calculated to the R signal (step S3), and the RB interpolation means 4 calculates the R signal QR (step S4).
[0113]
FIG. 20 is a flowchart showing the process of step S4. First, a signal value is calculated by the
[0114]
Returning to FIG. 19, it is determined whether or not all R and B signals have been calculated (step S5). If step S5 is negative, the signal to be calculated in step S6 is set to the B signal, and step S4. Returning to step S4, the processes of steps S4 and S5 are repeated to calculate the B signal QB.
[0115]
If the determination in step S5 is affirmative, it is assumed that the RGB signals QR, QG, and QB have been calculated at all pixel positions other than the hole pixel positions. A checkered square interpolation calculation is performed by the interpolation filter shown in FIG. 18 to calculate a signal value at the hole pixel position (step S7), and the process is terminated.
[0116]
As a result, RGB signals can be obtained at all pixel positions including the vacant pixel positions of the
[0117]
In step S3 of the flowchart shown in FIG. 19, the signal to be calculated is set to the R signal, but may be set to the B signal first. In this case, if step S5 is denied, the signal to be calculated is switched from the B signal to the R signal in step S6.
[0118]
As described above, according to the first embodiment, it is determined whether the pixel position for calculating the signal value is at the gray edge or the color edge, and the variation value for calculating the weighting coefficient Sj according to the determination result. Since the SA and SB calculation methods are changed, the false color can be reduced even when the pixel position for calculating the signal value is at the gray edge. In addition, when the pixel position for calculating the signal value is at the color edge, it is possible to obtain an image having a natural feeling while leaving a fine color near the edge.
[0119]
Next, a second embodiment of the present invention will be described.
[0120]
FIG. 21 is a schematic block diagram showing the configuration of the RB interpolation means of the image processing apparatus according to the second embodiment of the present invention. In FIG. 21, the same components as those in FIG. 5 are denoted by the same reference numerals, and detailed description thereof is omitted. In the second embodiment, instead of the determination means 10, in addition to the determination of whether the pixel position for estimating the signal value is at the gray edge or the color edge, it is in the single-color flat portion made up of single-color signal values. A linear interpolation unit that calculates an R signal QR and a B signal QB at the pixel position by a linear interpolation operation when it is determined that the pixel position is in a monochromatic flat portion. The point provided with 22 is different from the first embodiment.
[0121]
The determination process in the
[0122]
Hereinafter, determination of whether or not the
Dat11 = (R22 + R26 + R44 + R62 + R66) / 5
Dat12 = (G33 + G35 + G53 + G55) / 4 (54)
Dat13 = (B24 + B42 + B46 + B64) / 4
Based on this, the average values Dat11 to Dat13 are calculated.
[0123]
For the B42 pixel position,
Dat11 = (R22 + R40 + R44 + R62) / 4
Dat12 = (G31 + G33 + G51 + G53) / 4 (55)
Dat13 = (B20 + B24 + B42 + B60 + B64) / 5
Based on this, the average values Dat11 to Dat13 are calculated.
[0124]
Furthermore, for the G33 pixel position,
Dat11 = (R04 + R22 + R44 + R62) / 4
Dat12 = (G11 + G13 + G15 + G31 + G33 + G35 + G51 + G53 + G55) / 9 (56)
Dat13 = (B02 + B24 + B42 + B64) / 4
Based on this, the average values Dat11 to Dat13 are calculated.
[0125]
Then, absolute values | Dat11-Dat12 |, | Dat12-Dat13 |, | Dat13-Dat11 | of the difference values of the average values Dat11 to Dat13 are calculated, and whether or not the sum of these is greater than a predetermined threshold T1. If it is larger, that is, if the condition of the following equation (57) is satisfied, the pixel position is regarded as being in a monochromatic flat portion.
[0126]
| Dat11-Dat12 | + | Dat12-Dat13 | + | Dat13-Dat11 |> T1 (57)
That is, in the case of the G single-color flat portion shown in FIG. 22, only the G pixel position has a signal value, so in the formulas (54) to (56), only the average value Dat12 has a value, and Dat11 and Dat13 are Has no value. Therefore, the values of | Dat11-Dat12 | and | Dat12-Dat13 | are very large. 23, since only the B pixel position has a signal value in the B monochrome flat portion shown in FIG. 23, only the average value Dat13 has a value in Expressions (54) to (56), and Dat11 and Dat12 are Has no value. Therefore, the values of | Dat12-Dat13 | and | Dat13-Dat11 | are very large. Further, in the case of the R monochromatic flat portion shown in FIG. 24, only the R pixel position has a signal value. Therefore, in the equations (54) to (56), only the average value Dat11 has a value, and Dat12 and Dat13 are Has no value. Therefore, the values of | Dat11-Dat12 | and | Dat13-Dat11 | are very large.
[0127]
In this way, when the pixel position for calculating the signal value is in the monochrome flat portion, two of | Dat11-Dat12 |, | Dat12-Dat13 |, | Dat13-Dat11 | The sum of is also a large value. Therefore, it is possible to determine whether or not the pixel position is in the monochromatic flat portion by appropriately setting the threshold T1 and determining whether or not the relationship represented by the above formula (57) is satisfied.
[0128]
Here, when the pixel position for calculating the signal value is in the monochromatic flat portion, the linear interpolation calculation is simply performed without calculating the signal value in the
[0129]
For example, when calculating the R signal at the G pixel position, if the pixel position for calculating the signal value is the G33 pixel position,
R (G33) = (R22 + R24) / 2 (58)
To calculate the R (G33) signal. When calculating the B (G33) signal at the G33 pixel position,
B (G33) = (B24 + B42) / 2 (59)
To calculate the B (G33) signal.
[0130]
Also, when calculating the B signal at the R pixel position, assuming that the pixel position for calculating the signal value is R44,
B (R44) = (B24 + B42 + B46 + B64) / 4 (60)
To calculate the B (R44) signal.
[0131]
Further, when calculating the R signal at the B pixel position, if the pixel position for calculating the signal value is B24,
R (B24) = (R04 + R22 + R26 + R44) / 4 (61)
To calculate the R (B24) signal.
[0132]
Next, the operation of the second embodiment will be described. The operation of the second embodiment is basically the same as that of the first embodiment shown in FIG. 19, and only the processing in step S4 in FIG. 19 is different. Only the signal calculation process will be described. FIG. 25 is a flowchart showing the operation of signal calculation processing in the second embodiment. First, the determination means 21 determines whether or not the pixel position for calculating the signal value is in the monochromatic flat portion by the above equation (57) (step S21). If it is in the monochromatic flat portion, step S21 is affirmed, and the R signal QR is calculated by the linear interpolation means 22 shown in the above equations (58) and (61) in the linear interpolation means 22 (step S30), and the processing is terminated. The B signal QB is calculated by the linear interpolation calculation shown in the above equations (59) and (60).
[0133]
If step S21 is negative, the process proceeds to step S22, and similarly to the first embodiment, the signal value is calculated by the
[0134]
As described above, in the second embodiment, when calculating the R and B signals QR and QB, it is first determined whether or not the pixel position where the signal value is calculated is in the monochromatic flat portion. In some cases, since the signal value is calculated by linear interpolation calculation, the pixel position of the monochromatic flat portion is calculated compared to the case where the signal value is calculated by the method of the first embodiment for all the pixels. The amount can be reduced, thereby enabling high-speed processing.
[0135]
Here, in the imaging apparatus using the
[0136]
According to the present invention, since the false color can be reduced as compared with the conventional method, the frequency band of the optical low-
[0137]
In the first and second embodiments, the weighting coefficient calculation means 14 performs the division by (SA + SB) on the variation value SA as shown in the equation (41), thereby obtaining the weighting coefficient Sj. Calculated.
[0138]
Sj = SA / (SA + SB) (if SA + SB = 0 then Sj = 0.5) (41)
Here, in an arithmetic circuit that performs various arithmetic operations, when the arithmetic operation is only addition, subtraction, and multiplication, the circuit can be configured with relatively few arithmetic elements. However, if division is included as in the above equation (41), the calculation becomes complicated, so a large number of calculation elements are required, the circuit configuration becomes complicated, and the calculation takes a long time.
[0139]
Here, when the weighting coefficient Sj is calculated by the equation (41), when this is solved for the variation SB,
SB = ((1-Sj) / Sj) * SA (41 ')
It becomes. This indicates that when the weighting coefficient Sj is constant, the relationship between the variation value SA and the variation value SB is proportional. Therefore, when a two-dimensional plane having the variation value SA as the x-axis and the variation value SB as the y-axis is set, the weighting coefficient Sj is inclined according to the weighting coefficient on the two-dimensional plane as shown in FIG. Will be represented as a straight line that passes through the origin with (not strictly including the origin). Hereinafter, an embodiment in which the division process in Expression (41) is omitted using this relationship will be described as a third embodiment.
[0140]
FIG. 30 is a diagram for explaining the processing of the third embodiment, and FIG. 31 is a schematic block diagram showing the configuration of the RB interpolation means of the image processing apparatus according to the third embodiment. In FIG. 31, the same components as those in FIG. 5 are denoted by the same reference numerals, and detailed description thereof is omitted. In the third embodiment, instead of the weighting coefficient calculating means 14, the variation values SA, with respect to the weighting coefficients Sj when the signals Q1 and Q2 obtained by the first interpolation means 11 and the second interpolation means 12 are weighted and interpolated. Based on the memory 14A storing the correspondence relationship of SB with respect to a plurality of weighting coefficients and the variation values SA and SB calculated by the variation value calculation means 13, a plurality of weightings are referred to with reference to the correspondence relationship stored in the memory 14A. Weighting coefficient selection means 24 for selecting one weighting coefficient Sj from the coefficients, and the weighting addition means 15 performs weighted addition using the weighting coefficient Sj selected by the weighting coefficient selection means 24. . In the third embodiment, the weighting coefficient selection means 24 and the memory 14A are considered as weighting coefficient setting means in the present invention.
[0141]
First, how to obtain the correspondence between the variation values SA and SB with respect to the weighting coefficient Sj will be described. In the third embodiment, when the weighting coefficient Sj is constant, the fluctuation value SA and the fluctuation value SB are in a proportional relationship. In the SA-SB plane, the weighting coefficient Sj is a straight line having a slope corresponding to the value. First, the weighting coefficient Sj is quantized into five stages of Sj = 0, 0.25, 0.5, 0.75, and 1.0 as shown in FIG. Then, as shown in FIG. 30, five areas A1 to A5 are set on the SA-SB plane with Sj = 0, 0.125, 0.375, 0.625, 0.875, 1 as boundaries, and each area is set. A1 to A5 are associated with Sj = 0, 0.25, 0.5, 0.75, and 1.0, respectively. Here, when Sj = 0.125, SB = 7 SA, when Sj = 0.375, SB = 5/3 SA, when Sj = 0.625, SB = 3/5 SA, when Sj = 0.875, SB = 1 / 7SA.
[0142]
Therefore, as shown in FIG. 31, a memory 14A is provided, the relationship shown in FIG. 30 is stored in the memory 14A as a table, and the weighting coefficient selection means 24 refers to this table based on the variation values SA and SB. Thus, the weighting coefficient Sj can be obtained without performing division as shown in the equation (41). For example, when the calculated fluctuation values SA and SB have a relationship of 3/5 SA <SB ≦ 5/3 SA, that is, 3SA <5SB and 5SA ≧ 3SB, the fluctuation values SA and SB are shown in FIG. Since it is plotted in the area A3 of the graph shown, the weighting coefficient can be determined as Sj = 0.5. If the relationship is 7SA <SB, the plot is in the area A1, so Sj = 0, 5 / 3SA <SB ≦ 7SA, that is, if 5SA <3SB and 7SA ≧ SB, the plot is Since Sj = 0.25 and 1 / 7SA <SB ≦ 3 / 5SA because of being in the area A2, that is, when SA <7SB and 3SA ≧ 5SB, the plot is in the area A4, so Sj = 0.75 , SB ≦ 1/7 SA, that is, if SA ≧ 7SB, the plot is in the region A5 and can be obtained as Sj = 1.
[0143]
It is preferable that the weighting coefficient Sj is more finely quantized, but it is preferable that the weighting coefficient Sj is about five stages in consideration of the calculation time for determining the region where the fluctuation values SA and SB exist. According to the experiment conducted by the present applicant, even if the quantization is performed in five steps, the false color reduction effect can be sufficiently obtained.
[0144]
Then, the weighted addition means 15 performs the weighted addition shown in the above equations (42) to (44) using the weighting coefficient Sj to calculate the signal value. For example, the calculation of the B (R44) signal in the R44 pixel is performed when the weighting coefficient Sj = 0.5.
B (R44) = (1-Sj) * B (R44) A + Sj * B (R44) B = 0.5 * B (R44) A + 0.5 * B (R44) B (62)
In the third embodiment, Sj or (1-Sj) = 1/2 n Since the weighting coefficient is set so that (n is a natural number), it is also possible to perform an arithmetic operation by converting it into an integer using a bit shift as shown in the following equation (63).
[0145]
B (R44) = (B (R44) A + B (R44) B + 1) >> 1 (63)
Here, >> 1 indicates that when the signal value is expressed in binary, it is shifted to the right by 1 bit. Thus, by shifting the right one bit, the signal value is halved, so that the same calculation as in equation (62) is performed. The reason why 1 is added in the equation (63) is to round off the calculation result.
[0146]
Furthermore, in the first and second embodiments, the fluctuation value calculation means 13 calculates the fluctuation values SA and SB in the case of a color edge according to the above equations (29) and (30). Since these expressions include division, it is preferable not to perform division in order to reduce the amount of calculation. In this case, there is no problem in calculating the weighting coefficient Sj unless the ratio of the fluctuation values SA and SB changes. Therefore, in the case of the above formulas (29) and (30), the right side is multiplied by (R (G33) A + G33) * (B (G33) B + G33), and the following formulas (29 ′) and (30 ′ ) To calculate the fluctuation values SA and SB.
[0147]
SA = | R (G33) A-G33 | * (B (G33) B + G33) (29 ')
SB = | B (G33) B-G33 | * (R (G33) A + G33) (30 ')
The above formulas (33) and (34) are multiplied by (B (G35) A + G35) * (R (G35) B + G35) to obtain the following formulas (33 ′) and (34 ′). The fluctuation values SA and SB may be calculated by
[0148]
SA = | B (G35) A-G35 | * (R (G35) B + G35) (33 ')
SB = | R (G35) B-G35 | * (B (G35) A + G35) (34 ')
In addition, the above formulas (37) and (38) are multiplied by (B24 + G (B24) A) * (B24 + G (B24) B) to obtain the following formulas (37 ′) and (38 ′). The fluctuation values SA and SB may be calculated by
[0149]
SA = | B24-G (B24) A | * (B24 + G (B24) B) (37 ')
SB = | B24-G (B24) B | * (B24 + G (B24) A) (38 ')
Hereinafter, an operation for obtaining a signal value using a bit shift in the third embodiment will be described. FIG. 32 is a flowchart showing the operation of the third embodiment. In FIG. 32, since the processes up to the calculation of the fluctuation values SA and SB are the same as those in the first and second embodiments, detailed description is omitted, and the fluctuation values SA and SB are calculated. Only the calculation of the weighting coefficient Sj and the weighted addition process will be described. FIG. 32 shows the calculation of the B (R44) signal at the R44 pixel position. First, it is determined whether or not the sum of the fluctuation values SA and SB is 0 (step S41). If step S41 is affirmed, a B (R44) signal is calculated by equation (63) using SA = SB = 0.5 and bit shift (step S42).
[0150]
B (R44) = (B (R44) A + B (R44) B + 1) >> 1 (63)
If step S41 is negative, it is determined whether SA ≧ 7SB (step S43). If step S43 is affirmed, the relationship between the fluctuation values SA and SB is in the region A5 in FIG. 30, so Sj = 1, and the B (R44) signal is calculated by the following equation (64) (step S44). ).
[0151]
B (R44) = B (R44) B (64)
If step S43 is negative, it is determined whether 3SA ≧ 5SB (step S45). If step S45 is affirmed, the relationship between the fluctuation values SA and SB is in the region A4 in FIG. 30, so Sj = 0.75, and the B (R44) signal is calculated by the following equation (65) ( Step S46).
[0152]
B (R44) = (B (R44) A + 3B (R44) B + 2) >> 2 (65)
If step S45 is negative, it is determined whether or not 5SA ≧ 3SB (step S47). If step S47 is affirmed, the relationship between the fluctuation values SA and SB is in the region A3 in FIG. 30, so Sj = 0.5, and the B (R44) signal is calculated by equation (63) (step S48). ).
[0153]
If step S47 is negative, it is determined whether or not 7SA ≧ SB (step S49). If step S49 is affirmed, the relationship between the fluctuation values SA and SB is in the region A2 in FIG. 30, so Sj = 0.25, and the B (R44) signal is calculated by the following equation (66) ( Step S50).
[0154]
B (R44) = (3 * B (R44) A + B (R44) B + 2) >> 2 (66)
If step S49 is negative, the relationship between the fluctuation values SA and SB is in the region A1 in FIG. 30, so Sj = 0, and the B (R44) signal is calculated by the following equation (67) ( Step S51).
[0155]
B (R44) = B (R44) A (67)
Thus, according to the third embodiment, since no division is performed when calculating the weighting coefficient Sj, the configuration of the circuit that calculates the weighting coefficient Sj can be simplified, and as a result, The configuration of the apparatus for carrying out this embodiment can be simplified, and the calculation time can be shortened. In addition, by performing bit shift, it is possible to perform an arithmetic operation with an integer value. Therefore, it is possible to simplify the arithmetic operation and reduce the processing time. Therefore, it becomes easy to mount an apparatus for carrying out the present invention on an imaging apparatus such as a digital camera, an image reading apparatus such as a scanner, a printer, or the like, and thereby a high-function apparatus can be created.
[0156]
In each of the above embodiments, the
[0157]
In each of the above embodiments, the signal values for all three colors are calculated, but the signal values for only one color or only two colors may be calculated.
[0158]
Furthermore, in the first and second embodiments, the weighting coefficient Sj is calculated by the equation (41). However, the weighting coefficient Sj may be calculated by the following equation (68).
[0159]
Sj = SB / (SA + SB) (if SA + SB = 0 then Sj = 0.5) (68)
In this case, the R and B signals QR and QB are calculated by the following equation (69).
[0160]
QR, QB = Sj * Q1 + (1-Sj) * Q2 (69)
[Brief description of the drawings]
FIG. 1 is a schematic block diagram showing the configuration of an image processing apparatus according to a first embodiment of the present invention.
FIG. 2 is a diagram showing a pixel arrangement in a single CCD.
FIG. 3 is a diagram showing a pixel arrangement of a single-panel CCD having a honeycomb arrangement.
FIG. 4 is a diagram showing each pixel position of a single-panel CCD arranged in a honeycomb arrangement with reference numerals attached.
FIG. 5 is a schematic block diagram showing a configuration of RB interpolation means.
FIG. 6 is a diagram showing an example of a Cubic spline interpolation filter.
FIG. 7 is a diagram for explaining calculation of signal values (part 1);
FIG. 8 is a diagram for explaining calculation of a signal value (part 2);
FIG. 9 is a diagram for explaining calculation of signal values (No. 3);
FIG. 10 is a diagram for explaining calculation of signal values (No. 4);
FIG. 11 is a diagram for explaining calculation of signal values (No. 5);
FIG. 12 is a diagram for explaining calculation of signal values (No. 6);
FIG. 13 is a diagram for explaining calculation of signal values (No. 7);
FIG. 14 is a diagram illustrating an example of a color edge composed of red (R) and green (G).
FIG. 15 is a diagram illustrating an example of a gray edge
FIG. 16 is a diagram for explaining a difference between calculation methods of fluctuation values SA and SB;
FIG. 17 is a diagram illustrating an example of a checkered square filter (part 1);
FIG. 18 is a diagram showing an example of a checkered square filter (No. 2)
FIG. 19 is a flowchart showing the operation of the first embodiment.
FIG. 20 is a flowchart showing an operation of signal calculation processing.
FIG. 21 is a schematic block diagram showing the configuration of RB interpolation means in the image processing apparatus according to the second embodiment of the present invention;
FIG. 22 is a diagram illustrating signal values of a single color flat portion of green (G).
FIG. 23 is a diagram illustrating signal values of a single color flat portion of blue (B).
FIG. 24 is a diagram showing signal values of a single color flat portion of red (R).
FIG. 25 is a flowchart showing the operation of signal calculation processing in the second embodiment.
FIG. 26 is a diagram showing an imaging system of a digital camera using a honeycomb CCD single-plate CCD.
FIG. 27 is a diagram showing frequency characteristics of signal values obtained in a single-panel CCD having a honeycomb arrangement;
FIG. 28 is a diagram showing the arrangement of optical low-pass filters.
FIG. 29 is a diagram showing the relationship between the variation values SA and SB and the weighting coefficient Sj.
FIG. 30 is a diagram for explaining processing of the third embodiment;
FIG. 31 is a schematic block diagram showing the configuration of RB interpolation means in an image processing apparatus according to a third embodiment of the present invention;
FIG. 32 is a flowchart showing the operation of the third embodiment.
Fig. 33 shows a honeycomb arrangement
FIG. 34 shows a Bayer array.
FIG. 35 is a diagram showing pixel positions in the Bayer array with reference numerals attached thereto;
FIG. 36 is a diagram showing pixel positions of the honeycomb array with reference numbers attached.
[Explanation of symbols]
1,33 single CCD
2 Interpolation means
3 G interpolation means
4 RB interpolation means
5 checkered square interpolation means
10, 21 judgment means
11 First interpolation means
12 Second interpolation means
13 Fluctuation value calculation means
14 Weighting coefficient calculation means
14A memory
15 Weighted addition means
22 Linear interpolation means
24 Weighting coefficient selection means
31 Shooting lens
32 Optical low-pass filter
Claims (17)
信号値を推定する画素位置が、グレーエッジにあるか色エッジにあるかを判定し、
前記所定方向についての信号値の推定値である所定方向推定値および前記直交方向についての信号値の推定値である直交方向推定値を算出し、
前記判定の結果に応じた異なる演算方法により、前記所定方向についての信号値の変動量を表す所定方向変動値および前記直交方向についての信号値の変動量を表す直交方向変動値を算出し、
前記所定方向変動値および前記直交方向変動値に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数を設定し、
該重み付け係数に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算して、前記第1から第3信号値のうち少なくとも1つの信号値を推定することを特徴とする画像処理方法。An imaging device in which imaging surfaces are formed by arranging first to third photoelectric conversion elements having different spectral sensitivities on a single plane, wherein the first and second photoelectric conversion elements are alternately arranged in a predetermined direction. To form a first line, to alternately arrange the first and third photoelectric conversion elements in the predetermined direction to form a second line, and in the orthogonal direction perpendicular to the predetermined direction, the first line The first and second lines are alternately arranged in the orthogonal direction so that the first and second photoelectric conversion elements are alternately arranged, and the first and third photoelectric conversion elements are alternately arranged. Thus, based on the first to third signal values obtained in the imaging device in which the imaging surface including the first to third pixels is formed, at least of the first to third signal values at all pixel positions. One signal value An image processing method for estimating,
Determine whether the pixel position where the signal value is estimated is at the gray edge or the color edge,
A predetermined direction estimated value that is an estimated value of the signal value for the predetermined direction and an orthogonal direction estimated value that is an estimated value of the signal value for the orthogonal direction;
By calculating differently depending on the result of the determination, a predetermined direction fluctuation value representing the fluctuation amount of the signal value in the predetermined direction and an orthogonal direction fluctuation value representing the fluctuation amount of the signal value in the orthogonal direction are calculated,
Based on the predetermined direction variation value and the orthogonal direction variation value, set a weighting coefficient for weighted addition of the predetermined direction estimated value and the orthogonal direction estimated value,
An image processing method characterized in that, based on the weighting coefficient, the predetermined direction estimation value and the orthogonal direction estimation value are weighted and added to estimate at least one signal value of the first to third signal values. .
前記重み付け係数が一定であるとした場合の前記所定方向変動値と前記直交方向変動値とが比例関係にあることに基づいて、所定方向変動値および直行方向変動値により規定される2次元平面上に、複数の重み付け係数のそれぞれを傾きとする複数の直線を設定し、該2次元平面上に該複数の直線のそれぞれを基準とする複数の傾きの範囲を設定することにより生成した、各種所定方向変動値および各種直行方向変動値に対する重み付け係数を決定するためのテーブルを参照して、前記所定方向変動値および前記直交方向変動値に基づいて、前記複数の重み付け係数から一の重み付け係数を選択し、該選択された一の重み付け係数を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定することを特徴とする請求項1記載の画像処理方法。The ratio of the predetermined direction fluctuation value or the orthogonal direction fluctuation value to the addition value of the predetermined direction fluctuation value and the orthogonal direction fluctuation value is used as a weighting coefficient when the predetermined direction estimation value and the orthogonal direction estimation value are weighted and added. When setting,
On the two-dimensional plane defined by the predetermined direction variation value and the orthogonal direction variation value based on the proportional relationship between the predetermined direction variation value and the orthogonal direction variation value when the weighting coefficient is constant. A plurality of predetermined lines generated by setting a plurality of straight lines having inclinations of the plurality of weighting coefficients and setting a plurality of inclination ranges based on the respective straight lines on the two-dimensional plane. Referring to a table for determining weighting coefficients for the direction variation value and various orthogonal direction variation values, one weighting factor is selected from the plurality of weighting factors based on the predetermined direction variation value and the orthogonal direction variation value And setting the selected one weighting coefficient as a weighting coefficient for weighted addition of the predetermined direction estimated value and the orthogonal direction estimated value. The image processing method according to claim 1 wherein symptoms.
前記重み付け加算を、前記重み付け係数に基づくビットシフトにより行うことを特徴とする請求項3記載の画像処理方法。The plurality of weighting coefficients in the table are set such that a ratio of the predetermined direction variation value or the orthogonal direction variation value to the addition value is 1 / 2n (n is a natural number),
The image processing method according to claim 3, wherein the weighted addition is performed by bit shift based on the weighting coefficient.
前記単色平坦部にあると判定された場合には、該単色平坦部内における前記第1から第3信号値に基づく線形補間演算により、前記第1から第3信号値のうち少なくとも1つの信号値を推定し、
前記単色平坦部にないと判定された場合に、前記グレーエッジにあるか色エッジにあるか否かの判定、前記所定方向推定値および前記直交方向推定値の算出、前記所定方向変動値および前記直交方向変動値の算出、前記重み付け係数の設定、および該重み付け係数に基づく信号値の推定を行うことを特徴とする請求項1から4のいずれか1項記載の画像処理方法。Determining whether or not the pixel position for estimating the signal value is in a monochromatic flat portion consisting of only one of the first to third signal values;
If it is determined that the pixel is in the monochrome flat part, at least one signal value of the first to third signal values is obtained by linear interpolation based on the first to third signal values in the monochrome flat part. Estimate
When it is determined that the monochrome flat portion is not present, it is determined whether the gray edge or the color edge is present, calculation of the predetermined direction estimated value and the orthogonal direction estimated value, the predetermined direction variation value, and the 5. The image processing method according to claim 1, wherein calculation of an orthogonal direction variation value, setting of the weighting coefficient, and estimation of a signal value based on the weighting coefficient are performed.
信号値を推定する画素位置が、グレーエッジにあるか色エッジにあるかを判定する判定手段と、
前記所定方向についての信号値の推定値である所定方向推定値および前記直交方向についての信号値の推定値である直交方向推定値を算出する推定値算出手段と、
前記判定の結果に応じた異なる演算方法により、前記所定方向についての信号値の変動量を表す所定方向変動値および前記直交方向についての信号値の変動量を表す直交方向変動値を算出する変動値算出手段と、
前記所定方向変動値および前記直交方向変動値に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数を設定する重み付け係数設定手段と、
該重み付け係数に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算して、前記第1から第3信号値のうち少なくとも1つの信号値を推定する重み付け加算手段とを備えたことを特徴とする画像処理装置。An imaging device in which imaging surfaces are formed by arranging first to third photoelectric conversion elements having different spectral sensitivities on a single plane, wherein the first and second photoelectric conversion elements are alternately arranged in a predetermined direction. To form a first line, to alternately arrange the first and third photoelectric conversion elements in the predetermined direction to form a second line, and in the orthogonal direction perpendicular to the predetermined direction, the first line The first and second lines are alternately arranged in the orthogonal direction so that the first and second photoelectric conversion elements are alternately arranged, and the first and third photoelectric conversion elements are alternately arranged. Thus, based on the first to third signal values obtained in the imaging device in which the imaging surface including the first to third pixels is formed, at least of the first to third signal values at all pixel positions. One signal value An image processing apparatus for estimating,
Determining means for determining whether a pixel position for estimating a signal value is at a gray edge or a color edge;
An estimated value calculating means for calculating a predetermined direction estimated value that is an estimated value of the signal value for the predetermined direction and an orthogonal direction estimated value that is an estimated value of the signal value for the orthogonal direction;
A variation value for calculating a predetermined direction variation value that represents the variation amount of the signal value in the predetermined direction and an orthogonal direction variation value that represents the variation amount of the signal value in the orthogonal direction by different calculation methods according to the determination result. A calculation means;
Weighting coefficient setting means for setting a weighting coefficient for weighted addition of the predetermined direction estimation value and the orthogonal direction estimation value based on the predetermined direction fluctuation value and the orthogonal direction fluctuation value;
Weighting addition means for estimating the at least one signal value among the first to third signal values by weighting and adding the predetermined direction estimated value and the orthogonal direction estimated value based on the weighting coefficient. An image processing apparatus.
該比率を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定する手段であることを特徴とする請求項6記載の画像処理装置。The weighting coefficient setting means calculates a sum of the predetermined direction fluctuation value and the orthogonal direction fluctuation value, and calculates a ratio of the predetermined direction fluctuation value or the orthogonal direction fluctuation value with respect to the addition value. Prepared,
The image processing apparatus according to claim 6, wherein the ratio is a means for setting the ratio as a weighting coefficient for weighted addition of the predetermined direction estimated value and the orthogonal direction estimated value.
前記所定方向変動値および前記直交方向変動値に基づいて、前記テーブルを参照して前記複数の重み付け係数から一の重み付け係数を選択する重み付け係数選択手段とを備え、
該選択された一の重み付け係数を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定する手段であることを特徴とする請求項6記載の画像処理装置。The weighting coefficient setting means determines the ratio of the predetermined direction variation value or the orthogonal direction variation value to the sum of the predetermined direction variation value and the orthogonal direction variation value, and the predetermined direction estimated value and the orthogonal direction estimated value. When setting as a weighting coefficient for weighted addition, the predetermined direction fluctuation value and the orthogonal direction fluctuation value when the weighting coefficient is constant are proportional to each other. A plurality of straight lines with inclinations of a plurality of weighting factors are set on a two-dimensional plane defined by the variation value in the orthogonal direction, and a plurality of inclinations based on the plurality of straight lines are set on the two-dimensional plane. It was produced by setting the range of, for storing a table for determining the weighting factors for various predetermined direction variation value and various direction orthogonal variation serial And means,
Weighting coefficient selecting means for selecting one weighting coefficient from the plurality of weighting coefficients with reference to the table based on the predetermined direction variation value and the orthogonal direction variation value;
7. The image processing apparatus according to claim 6, wherein the selected one weighting coefficient is a means for setting a weighting coefficient for weighted addition of the predetermined direction estimated value and the orthogonal direction estimated value.
前記重み付け加算手段は、前記重み付け加算を、前記重み付け係数に基づくビットシフトにより行う手段であることを特徴とする請求項8記載の画像処理装置。The plurality of weighting coefficients in the table are set such that a ratio of the predetermined direction variation value or the orthogonal direction variation value to the addition value is 1 / 2n (n is a natural number),
9. The image processing apparatus according to claim 8, wherein the weighted addition means is means for performing the weighted addition by bit shift based on the weighting coefficient.
前記単色平坦部にあると判定された場合に、該単色平坦部内における前記第1から第3信号値に基づく線形補間演算により、前記第1から第3信号値のうち少なくとも1つの信号値を推定する線形補間手段とをさらに備え、
前記単色平坦部にないと判定された場合に、前記判定手段によるグレーエッジにあるか色エッジにあるかの判定、前記推定値算出手段による前記所定方向推定値および前記直交方向推定値の算出、前記変動値算出手段による前記所定方向変動値および前記直交方向変動値の算出、前記重み付け係数設定手段による前記重み付け係数の設定、および前記重み付け加算手段による前記重み付け係数に基づく信号値の推定を行うことを特徴とする請求項6から9のいずれか1項記載の画像処理装置。Flat part determining means for determining whether or not the pixel position for estimating the signal value is in a single color flat part including only one of the first to third signal values;
When it is determined to be in the monochrome flat part, at least one signal value is estimated from the first to third signal values by linear interpolation based on the first to third signal values in the monochrome flat part And linear interpolation means for
When it is determined that the monochrome flat portion is not present, the determination unit determines whether there is a gray edge or a color edge, the estimation value calculation unit calculates the predetermined direction estimation value and the orthogonal direction estimation value, Calculation of the predetermined direction fluctuation value and the orthogonal direction fluctuation value by the fluctuation value calculation means, setting of the weighting coefficient by the weighting coefficient setting means, and estimation of a signal value based on the weighting coefficient by the weighting addition means. The image processing apparatus according to claim 6, wherein:
前記プログラムは、信号値を推定する画素位置が、グレーエッジにあるか色エッジにあるかを判定する手順と、
前記所定方向についての信号値の推定値である所定方向推定値および前記直交方向についての信号値の推定値である直交方向推定値を算出する手順と、
前記判定の結果に応じた異なる演算方法により、前記所定方向についての信号値の変動量を表す所定方向変動値および前記直交方向についての信号値の変動量を表す直交方向変動値を算出する手順と、
前記所定方向変動値および前記直交方向変動値に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数を設定する手順と、
該重み付け係数に基づいて、前記所定方向推定値および前記直交方向推定値を重み付け加算して、前記第1から第3信号値のうち少なくとも1つの信号値を推定する手順とを有することを特徴とするコンピュータ読取り可能な記録媒体。An imaging device in which imaging surfaces are formed by arranging first to third photoelectric conversion elements having different spectral sensitivities on a single plane, wherein the first and second photoelectric conversion elements are alternately arranged in a predetermined direction. To form a first line, to alternately arrange the first and third photoelectric conversion elements in the predetermined direction to form a second line, and in the orthogonal direction perpendicular to the predetermined direction, the first line The first and second lines are alternately arranged in the orthogonal direction so that the first and second photoelectric conversion elements are alternately arranged, and the first and third photoelectric conversion elements are alternately arranged. Thus, based on the first to third signal values obtained in the imaging device in which the imaging surface including the first to third pixels is formed, at least of the first to third signal values at all pixel positions. One signal value In computer-readable recording medium storing a program for executing the image processing method of estimating in a computer,
The program determines whether a pixel position from which a signal value is estimated is a gray edge or a color edge;
Calculating a predetermined direction estimated value that is an estimated value of the signal value for the predetermined direction and an orthogonal direction estimated value that is an estimated value of the signal value for the orthogonal direction;
A procedure for calculating a predetermined direction fluctuation value representing the fluctuation amount of the signal value in the predetermined direction and an orthogonal direction fluctuation value representing the fluctuation amount of the signal value in the orthogonal direction by different calculation methods according to the determination result; ,
A step of setting a weighting coefficient for weighted addition of the predetermined direction estimation value and the orthogonal direction estimation value based on the predetermined direction variation value and the orthogonal direction variation value;
And a step of weighting and adding the predetermined direction estimation value and the orthogonal direction estimation value based on the weighting coefficient to estimate at least one signal value from the first to third signal values. A computer-readable recording medium.
該比率を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定する手順であることを特徴とする請求項11記載のコンピュータ読取り可能な記録媒体。The step of setting the weighting factor includes a step of calculating an addition value of the predetermined direction variation value and the orthogonal direction variation value and calculating a ratio of the predetermined direction variation value or the orthogonal direction variation value to the addition value. Have
12. The computer-readable recording medium according to claim 11, wherein the ratio is a procedure for setting the ratio as a weighting coefficient for weighted addition of the predetermined direction estimated value and the orthogonal direction estimated value.
前記重み付け係数が一定であるとした場合の前記所定方向変動値と前記直交方向変動値とが比例関係にあることに基づいて、所定方向変動値および直行方向変動値により規定される2次元平面上に、複数の重み付け係数のそれぞれを傾きとする複数の直線を設定し、該2次元平面上に該複数の直線のそれぞれを基準とする複数の傾きの範囲を設定することにより生成した、各種所定方向変動値および各種直行方向変動値に対する重み付け係数を決定するためのテーブルを参照して、前記所定方向変動値および前記直交方向変動値に基づいて、前記複数の重み付け係数から一の重み付け係数を選択する手順を有し、
該選択された一の重み付け係数を、前記所定方向推定値および前記直交方向推定値を重み付け加算する際の重み付け係数として設定する手順であることを特徴とする請求項11記載のコンピュータ読取り可能な記録媒体。The step of setting the weighting factor includes: a ratio of the predetermined direction variation value or the orthogonal direction variation value to an addition value of the predetermined direction variation value and the orthogonal direction variation value; and the predetermined direction estimated value and the orthogonal direction estimated value. Is set as a weighting coefficient for weighted addition,
On the two-dimensional plane defined by the predetermined direction variation value and the orthogonal direction variation value based on the fact that the predetermined direction variation value and the orthogonal direction variation value are proportional to each other when the weighting factor is constant. A plurality of predetermined lines generated by setting a plurality of straight lines having inclinations of the plurality of weighting coefficients and setting a plurality of inclination ranges based on the plurality of straight lines on the two-dimensional plane. Referring to a table for determining weighting coefficients for the direction variation value and various orthogonal direction variation values, one weighting factor is selected from the plurality of weighting factors based on the predetermined direction variation value and the orthogonal direction variation value Has a procedure to
12. The computer-readable recording according to claim 11, wherein the selected one weighting coefficient is a procedure for setting a weighting coefficient for weighted addition of the predetermined direction estimated value and the orthogonal direction estimated value. Medium.
前記重み付け加算を行う手順は、前記重み付け加算を、前記重み付け係数に基づくビットシフトにより行う手順であることを特徴とする請求項13記載のコンピュータ読取り可能な記録媒体。The plurality of weighting coefficients in the table are set such that a ratio of the predetermined direction variation value or the orthogonal direction variation value to the addition value is 1 / 2n (n is a natural number),
14. The computer-readable recording medium according to claim 13, wherein the step of performing the weighted addition is a step of performing the weighted addition by bit shift based on the weighting coefficient.
前記単色平坦部にあると判定された場合には、該単色平坦部内における前記第1から第3信号値に基づく線形補間演算により、前記第1から第3信号値のうち少なくとも1つの信号値を推定する手順と、
前記単色平坦部にないと判定された場合に、前記グレーエッジにあるか色エッジにあるか否かの判定、前記所定方向推定値および前記直交方向推定値の算出、前記所定方向変動値および前記直交方向変動値の算出、前記重み付け係数の設定、および該重み付け係数に基づく信号値の推定を行う手順とをさらに有することを特徴とする請求項11から14のいずれか1項記載のコンピュータ読取り可能な記録媒体。A procedure for determining whether or not the pixel position for estimating the signal value is in a monochromatic flat portion including only one of the first to third signal values;
If it is determined that the pixel is in the monochrome flat part, at least one signal value of the first to third signal values is obtained by linear interpolation based on the first to third signal values in the monochrome flat part. The estimation procedure;
When it is determined that the monochrome flat portion is not present, it is determined whether the gray edge or the color edge is present, calculation of the predetermined direction estimated value and the orthogonal direction estimated value, the predetermined direction variation value, and the The computer-readable program according to claim 11, further comprising a procedure for calculating an orthogonal direction variation value, setting the weighting coefficient, and estimating a signal value based on the weighting coefficient. Recording medium.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000104977A JP4302854B2 (en) | 2000-04-06 | 2000-04-06 | Image processing method and apparatus, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000104977A JP4302854B2 (en) | 2000-04-06 | 2000-04-06 | Image processing method and apparatus, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001292454A JP2001292454A (en) | 2001-10-19 |
JP4302854B2 true JP4302854B2 (en) | 2009-07-29 |
Family
ID=18618431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000104977A Expired - Fee Related JP4302854B2 (en) | 2000-04-06 | 2000-04-06 | Image processing method and apparatus, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4302854B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164702A (en) * | 2011-12-13 | 2013-06-19 | 李卫伟 | Extracting method and device of marker central point and image processing system |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5049460B2 (en) * | 2004-11-09 | 2012-10-17 | イーストマン コダック カンパニー | Interpolation method and program for color captured image data |
JP4840740B2 (en) | 2004-12-01 | 2011-12-21 | 株式会社メガチップス | Pixel interpolation method and image determination method |
KR100782812B1 (en) | 2005-06-15 | 2007-12-06 | 삼성전자주식회사 | Method and apparatus for edge adaptive color interpolation |
CN111383552A (en) * | 2020-05-09 | 2020-07-07 | 广州视源电子科技股份有限公司 | LED lamp bead and LED display screen |
-
2000
- 2000-04-06 JP JP2000104977A patent/JP4302854B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164702A (en) * | 2011-12-13 | 2013-06-19 | 李卫伟 | Extracting method and device of marker central point and image processing system |
CN103164702B (en) * | 2011-12-13 | 2016-09-28 | 北京慧眼智行科技有限公司 | Mark center point extracting method, device and image processing system |
Also Published As
Publication number | Publication date |
---|---|
JP2001292454A (en) | 2001-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4162111B2 (en) | Image processing method and apparatus, and recording medium | |
USRE47062E1 (en) | Image processing apparatus and method for generating a restoration image | |
US7479998B2 (en) | Image pickup and conversion apparatus | |
JP4284628B2 (en) | IMAGING DEVICE, IMAGE PROCESSING DEVICE, IMAGE PROCESSING METHOD, PROGRAM FOR IMAGE PROCESSING METHOD, AND RECORDING MEDIUM CONTAINING PROGRAM FOR IMAGE PROCESSING METHOD | |
KR101342806B1 (en) | Interpolation of panchromatic and color pixels | |
US7502505B2 (en) | High-quality gradient-corrected linear interpolation for demosaicing of color images | |
US7570285B2 (en) | Image processing device suppressing color moire when restoring an image | |
US8320714B2 (en) | Image processing apparatus, computer-readable recording medium for recording image processing program, and image processing method | |
US20090219417A1 (en) | Image capturing system and computer readable recording medium for recording image processing program | |
US20080018750A1 (en) | Method and apparatus for color interpolation in digital photographing device | |
US7489822B2 (en) | Image processing apparatus and method for detecting a direction of an edge in the vicinity of a pixel of interest and generating all color signals for each pixel by interpolation using color signals of a pixel of interest and its neighbor pixels, and a recording medium having a program recorded thereon for causing the apparatus to perform the method | |
US20100134661A1 (en) | Image processing apparatus, image processing method and program | |
JP4302855B2 (en) | Image processing method and apparatus, and recording medium | |
JP3059205B2 (en) | Image processing device | |
JP4302854B2 (en) | Image processing method and apparatus, and recording medium | |
US6747698B2 (en) | Image interpolating device | |
US7986361B2 (en) | Color processing apparatus and method thereof for generating an interpolated image | |
JP3965460B2 (en) | Interpolation method for interleaved pixel signals such as checkered green signal of single-panel color camera | |
KR101327790B1 (en) | Image interpolation method and apparatus | |
JP5305992B2 (en) | Image processing apparatus and image processing method | |
JP4122082B2 (en) | Signal processing apparatus and processing method thereof | |
JP4239483B2 (en) | Image processing method, image processing program, and image processing apparatus | |
JP4196055B2 (en) | Image processing method, image processing program, and image processing apparatus | |
JP4239480B2 (en) | Image processing method, image processing program, and image processing apparatus | |
JP2003087808A (en) | Image processing method and device, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050912 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20061201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080318 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080516 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090421 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090423 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120501 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130501 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140501 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |