(58)【調査した分野】(Int.Cl.,DB名)
撮像レンズを介して撮像された撮影画像に含まれる色情報の値に処理を施して得られる1つの処理画像または各々異なる処理を施して得られる2以上の処理画像を作成するステップと、
前記撮影画像または前記処理画像のいずれか1つに含まれる色情報の値に所定の処理を施してマスク画像を作成するステップと、
前記マスク画像を作成する際に用いなかった前記処理画像と前記マスク画像に含まれる色情報の値とを合成して合成画像を作成するステップと、
前記撮影画像に前記合成画像を合成して補正画像を作成するステップと、
前記撮影画像に第2の処理を施して得られる第2の処理画像を作成するステップと、
前記第2の処理画像に所定の処理を施して前記マスク画像を作成するステップと、
前記第2の処理とは異なる第3の処理を前記撮影画像に施して得られる第3の処理画像を作成するステップと、
前記第3の処理画像と前記マスク画像とを合成して前記合成画像を作成するステップと
を備える画像処理方法。
【発明を実施するための形態】
【0018】
以下、本願発明の一実施形態である画像処理装置、撮像レンズ、及び撮像装置について図を用いて説明する。
図1は、第1の実施形態による画像処理装置を備える撮像装置の一実施形態であるデジタルカメラ100を示す。まず、
図1を用いてデジタルカメラ100の構成について説明する。
【0019】
デジタルカメラ100は、補正部を成すDSP101、撮像素子であるCCD111、着脱可能に設けられる撮像レンズ102、タイミングジェネレータ(TG)120、AFE130と、カメラメモリ103と、操作部材104と、記録媒体105と、表示媒体106とを主に備える。
【0020】
撮像レンズ102は、複数のレンズ107と、記憶部を成すレンズメモリ108とを備え、被写体像をCCD111に結像させる。撮像レンズ102は、フリンジ等の収差を有する。レンズメモリ108は、撮像レンズ102の特性を示す設計データであるレンズデータを記憶する。
【0021】
DSP101、CCD111、タイミングジェネレータ120、AFE130、カメラメモリ103、操作部材104、記録媒体105、及び表示媒体106は、カメラボディ110に格納される。CCD111は、タイミングジェネレータ120からの露光信号に応じて、撮像レンズ102から被写体像を受光して撮像し、画像信号を出力する。AFE130は、画像信号を処理して、DSP101に送信する。DSP101は、画像信号をさらに処理して、撮影画像及び画像ファイルを生成し、表示媒体又は記録媒体105に送信する。DSP101は、後述する第1の収差補正処理を実行可能である。
【0022】
記録媒体105は、デジタルカメラ100に着脱自在に接続される、例えばSDカード(登録商標)であって、画像ファイルを記録する。
【0023】
表示媒体106は、デジタルカメラ100の背面に設けられる、例えば液晶モニタであって、画像を表示する。
【0024】
カメラメモリ103は、DSP101のファームウェア、及び画像ファイル等を記録、及びDSP101が各種処理を実行する際の一時メモリとして使用される。
【0025】
操作部材104は、例えば二段式スイッチであるシャッターレリーズボタンや、十字キーや、押し下げ式スイッチ等であって、ユーザの操作に応じてDSP101に信号を送信する。DSP101は、操作部材104から受信した信号に応じて動作する。
【0026】
撮像レンズ102は、固有の収差を有する。収差は、レンズデータから算出可能である。
図2は、レンズデータを用いて算出された収差、すなわちフリンジである可能性が高い色をCbCr色空間に示した図である。フリンジの色差情報は、所定の色差情報の範囲に含まれる傾向がある。そこで、CbCr色空間においてフリンジが出現しやすい色差領域をレンズデータを用いて決定する。この色差領域を収差領域という。DSP101は、レンズデータを用いて収差領域を算出する。
【0027】
DSP101は、撮影画像に含まれるフリンジを補正する第1の収差補正処理を実行可能である。第1の収差補正処理は、1つの撮影画像から2つの画像を作成し、それぞれ異なる処理を施してフリンジを強調した収差画像を作成し、作成された収差画像を合成し、これにLPF(ローパスフィルタ)を掛けることにより、フリンジを補正する処理である。
【0028】
次に、
図3を用いて、DSP101によって実行される第1の収差補正処理について説明する。
【0029】
始めのステップS1では、撮影画像を取得する。撮影画像は、
図4に示される画像であって、YCbCr色空間により表現されるデータから成る。撮影画像において、人物の周囲にはフリンジ41が出現している。また、人物の胴部分には、フリンジに近い色差情報を有する楕円形状の模様42がある。そして処理はステップS21とS31に進む。
【0030】
次のステップS21では、撮影画像を用いて、CbCr色空間で表現されるCbCrデータ(第1の情報)から成るCbCr画像(第1の画像)を作成する。
【0031】
次のステップS22では、撮像レンズ102からレンズデータを取得し、レンズデータを用いて収差領域を算出する。そして、CbCr画像において収差領域内に含まれる色差情報を有する画素を検出する。収差領域内に含まれる色差情報を有する画素を白で、収差領域内に含まれない色差情報を有する画素を黒で表した第1の中間補正画像を
図5に示す。
図5に示す画像では、
図4に示す撮影画像におけるフリンジ41と模様42の一部とが白で表され、他の部分は黒で表されている。すなわち、フリンジ41と模様42の一部がフリンジとして検出されている。白で表された領域を第1の検出領域という。しかしながら、フリンジと被写体とが重なって撮像されている場合、重なった部分の色差情報は、フリンジの色差情報と被写体像の色差情報とが混ざったものになるため、フリンジ本来の色差情報から離れて、収差領域内に含まれなくなることがある。このような色差情報を有する領域は、第1の中間補正画像の第1の検出領域内に黒い点として現れる。いいかえると、第1の中間補正画像において、撮影画像におけるフリンジ41と模様42の一部に対応する領域内に複数の黒い点が存在する。次のステップS23では、これらの黒い点を除去する。
【0032】
次のステップS23では、第1の中間補正画像にメディアンフィルタを掛ける。メディアンフィルタは画像を平滑化するフィルタであって、画像に含まれる点ノイズを除去する。これにより、
図5に示す第1の中間補正画像が含む黒い点領域が除去された第2中間の補正画像を得る。
図6は第2の中間補正画像を示す。
【0033】
次のステップS24では、第2の中間補正画像にローパスフィルタ(LPF)を掛け、第3の中間補正画像を作成する。実際にフリンジが発生している画素であるにもかかわらず、その画素の色差情報がわずかにフリンジの色差情報と異なるため、その画素が収差領域内に含まれなくなることがある。このようにわずかに異なる色差情報を持つ領域をローパスフィルタを用いて検出する。ローパスフィルタを掛けることにより、収差領域近傍に存在するフリンジを検出する。
図7は第3の中間補正画像を示す。
【0034】
次のステップS25では、第3の中間補正画像に含まれる画素の色差情報を、所定の閾値を用いて二値化する。すなわち、色差情報が閾値以上である画素をフリンジが存在する画素として検出し、色差情報が閾値未満である画素をフリンジが存在しない画素とする。これにより作成された画像を第1の収差画像とする。
図8は、閾値と色差情報との関係を示した図である。閾値を下げると、フリンジが存在すると判断される領域が広くなるとともに、フリンジが存在しないと判断される領域が狭くなる。そして、閾値を下げると、フリンジが存在すると判断される領域が狭くなるとともに、フリンジが存在しないと判断される領域が広くなる。閾値を調節することにより、フリンジが存在すると判断される領域を調節できる。
図9は第1の収差画像であって、色差情報が閾値以上である画素を白色で表し、色差情報が閾値未満である画素を黒色で表した画像である。ローパスフィルタによってフリンジが存在すると判断された領域が広がって、フリンジが存在しない領域をも含んでしまうおそれがあるが、閾値を用いて二値化することにより、フリンジが存在しない領域を除くことができる。
【0035】
ステップS21からS25を実行することにより、フリンジに近い色を有する領域を検出できる。
【0036】
他方、ステップS31では、撮影画像を用いて、輝度すなわちYで表現されるYデータ(第2の情報)から成るY画像(第2の画像)を作成する。フリンジは、一般的に画素間において輝度差が大きい部分に生じる傾向がある。そこで、以降の処理では、輝度情報に基づいてフリンジを検出する。処理はステップS32とS41に進む。
【0037】
次のステップS32では、輝度情報に基づいて、近隣の画素との輝度差が所定値以上である画素をY画像から抽出する。ここでは、ラプラシアンオペレータやソーベルオペレータを用いて抽出する。これにより、
図10に示す第4の中間補正画像が作成される。
【0038】
次のステップS33では、第4の中間補正画像に非線形のガンマを掛ける。これにより、近隣の画素との輝度差が少ない画素の輝度が下げられ、輝度差が大きい画素の輝度が上げられる。フリンジは、近隣の画素との輝度差が少ない画素にはほとんど発生することがない一方で、近隣の画素との輝度差が大きい画素に強く発生する傾向がある。非線形のガンマを用いることにより、フリンジが含まれている可能性が高い画素の輝度が上げられ、フリンジが含まれている可能性が低い画素の輝度が下げられる。これにより、
図11に示す第2の収差画像が作成される。
【0039】
ステップS31からS33を実行することにより、隣接する画素との輝度差が大きい画素を検出できる。
【0040】
他方、ステップS41では、Y画像に含まれる画素の輝度情報を、所定の閾値を用いて二値化する。すなわち、飽和している領域の縁を検出し、飽和している領域と飽和していない領域とを区別する。これにより作成された画像を第3の収差画像とする。フリンジは、輝度情報が飽和している領域と、飽和していない領域の境界に特に強く発生する傾向がある。そこで、所定の閾値を用いて二値化することにより、飽和している領域の縁を検出し、飽和している領域から飽和していない領域を除く。
図12は第5の中間補正画像であって、輝度情報が閾値以上である画素を白色で表し、輝度情報が閾値未満である画素を黒色で表した画像である。
【0041】
次のステップS42では、第5の中間補正画像に含まれる画像の被写体像の輪郭を検出する。これにより、
図13に示す第3の収差画像が作成される。
【0042】
ステップS41及び42を実行することにより、輝度情報が飽和している領域と飽和していない領域との境界を検出する。
【0043】
次のステップS5では、第2の収差画像と第3の収差画像との論理和をとる。これにより、
図14に示す第4の収差画像が作成される。隣接する画素との輝度差が大きい画素を含む第2の収差画像と、輝度情報が飽和している領域と飽和していない領域との境界を含む第3の収差画像との論理和をとることにより、フリンジが発生しやすい領域を確実に検出できる。
【0044】
次のステップS6では、第4の収差画像にローパスフィルタを掛け、
図15に示す第6の中間補正画像が作成される。これにより、フリンジが含まれると判断された領域の境界がぼかされる。
【0045】
次のステップS7では、第6の中間補正画像に含まれる画素の輝度情報を、所定の閾値を用いて二値化して、
図16に示す第7の中間補正画像を作成する。撮影画像に出現するフリンジの幅は撮像レンズ102によって異なる。閾値の値を調節することにより、撮像レンズ102に応じた幅を用いてフリンジを検出できる。閾値を大きくするとフリンジの幅が小さい撮像レンズ102に適応し、閾値を低くするとフリンジの幅が大きい撮像レンズ102に適応する。
【0046】
次のステップS8では、ステップS25で作成された第1の収差画像と、ステップS7で作成された第7の中間補正画像との論理積をとり、収差検出画像を得る。
【0047】
フリンジに近い色を有する領域を含む第1の収差画像と、輝度から求められたフリンジが発生しやすい領域を有する第7の中間補正画像との論理積をとることにより、フリンジが発生する領域を確実に検出できる。
【0048】
次のステップS9では、収差検出画像にローパスフィルタを掛けて収差緩和画像を作成する。これにより、フリンジが発生する領域とその他の領域との境界がぼかされる。収差検出画像では、フリンジが発生する領域とその他の領域との境界が明確であるため、収差検出画像を撮影画像に合成すると、合成によって補正された領域と補正されていない領域との境界が明確になってしまう。しかしながら収差検出画像にローパスフィルタを掛けた後に撮影画像と合成すれば、合成によって補正された領域と補正されていない領域との境界がぼやかされて目立たなくなる。
図18に収差緩和画像を示す。
【0049】
そして、収差緩和画像を撮影画像と合成して、フリンジを補正する。
【0050】
本実施形態によれば、1枚の撮影画像を用いてフリンジを正確に検出し、かつ補正できる。
【0051】
なお、ステップS41において、二値化を用いずに、ガンマを用いて輝度情報の飽和部分におけるガンマを強調することにより飽和部分近傍のコントラストを高めてもよい。ステップS42において、第5の中間補正画像に含まれる被写体像の輪郭を容易に検出できる。
【0052】
なお、第1の収差画像と第2の収差画像と第3の収差画像とを用いてフリンジを検出する際に、第1の収差画像、第2の収差画像、及び第3の収差画像の全て、あるいはいずれか1又は2の画像に、重み付けやαブレンドを行ってから論理和や論理積等を算出してもよい。
【0053】
次に、
図19から24を用いて第2の実施形態について説明する。第1の実施形態と同じ構成に関しては、同じ符号を付して説明を省略する。第2の実施形態によるデジタルカメラ100は、第1の収差補正処理を実行せずに、第2の収差補正処理を実行する。以下、第2の収差補正処理について説明する。
【0054】
DSP101は、画像取得部及び補正部を成し、撮影画像に含まれるフリンジを補正する第2の収差補正処理を実行する。第2の収差補正処理は、1つの撮影画像から2つの画像を作成し、一方の画像からマスク画像を作成し、マスク画像を他方の画像と合成することにより、フリンジを補正する処理である。
【0055】
次に、
図19を用いて、第2の収差補正処理について説明する。
【0056】
始めのステップS201では、撮影画像を取得する。撮影画像は、
図20に示される画像である。撮影画像において、人物の周囲にはフリンジ41が出現している。そして処理はステップS221とS222に進む。
【0057】
次のステップS221では、撮影画像を用いて補正用画像(第1の処理画像)を作成する。補正用画像は、色差情報が飽和しないように決定された値を持つパラメータを用いて作成される。これにより、撮影画像に含まれるフリンジが抑制される。パラメータは、例えば、ホワイトバランス、カラーマトリクス、ガンマ、彩度、シャープネス等である。色差情報が飽和しないように決定された値は、例えば、彩度を下げるような値、フリンジで強く発生する色のカラーマトリクスを弱めるような値である。
図21に補正用画像を示す。
【0058】
ステップS222は、以下の処理で撮影画像を用いる旨を示すものであり、具体的な処理は行われない。
【0059】
次のステップS203では、撮影画像に含まれるフリンジを検出し、フリンジ部分を抽出したマスク画像を作成する。
図22にマスク画像を示す。マスク画像は、第1の収差補正処理によって作成された収差検出画像又は収差緩和画像である。
【0060】
次のステップS204では、マスク画像を補正用画像と合成する。これにより、補正用画像からフリンジ部分だけを抜き出した合成画像が得られる。
図23に合成画像を示す。
【0061】
次のステップS205では、合成画像を撮影画像と合成する。詳しく説明すると、撮影画像に含まれるフリンジ部分に、抑制されたフリンジ部分が合成された補正画像が作成される。これにより、フリンジが抑制された補正画像を得る。
図24に補正画像を示す。
【0062】
本実施形態によれば、1枚の撮影画像を用いてフリンジを正確に検出し、かつ補正できる。
【0063】
また、単純にフリンジの彩度を下げて補正する処理では、補正後のフリンジ部分の色が黒ずんでしまう恐れがあるが、本実施形態では、フリンジの彩度を落とした上で元の画像と合成するため、補正後のフリンジ部分の色が黒ずんでしまうことがない。
【0064】
次に、
図25から30を用いて第3の実施形態について説明する。第1の実施形態と同じ構成に関しては、同じ符号を付して説明を省略する。第3の実施形態によるデジタルカメラ100は、第1の収差補正処理を実行せずに、第3の収差補正処理を実行する。以下、第3の収差補正処理について説明する。
【0065】
DSP101は、画像取得部及び補正部を成し、撮影画像に含まれるフリンジを補正する第3の収差補正処理を実行する。第3の収差補正処理は、1つの撮影画像から2つの画像を作成し、一方の画像からマスク画像を作成し、他方の画像とマスク画像とを合成し、合成した画像をさらに元の画像と合成して、フリンジを補正する処理である。
【0066】
次に、
図25を用いて、第3の収差補正処理について説明する。
【0067】
始めのステップS301では、撮影画像を取得する。撮影画像は、
図20に示される画像である。撮影画像において、人物の周囲にはフリンジ41が出現している。そして処理はステップS311とS321に進む。
【0068】
次のステップS311では、撮影画像を用いて検出用画像(第2の処理画像)を作成する。検出用画像は、フリンジが検出しやすくなるように決定された値を持つパラメータを用いて作成される。これにより、撮影画像に含まれるフリンジが強調される。パラメータは、例えば、ホワイトバランス、カラーマトリクス、ガンマ、彩度、シャープネス等である。フリンジが検出しやすくなるように決定された値は、例えば、特定の波長範囲にある色の彩度を上げるような値、フリンジで強く発生する色を強めるようなカラーマトリクスの値である。
図26に検出用画像を示す。特定の波長範囲にある色の彩度を上げ、これにより色が飽和した部分をフリンジと判断することによって、正確かつ効率的にフリンジを検出できる。また、フリンジの色と実際の被写体の色が近い場合においても、彩度を上げることでフリンジを容易に判断できる。
【0069】
次のステップS312では、検出用画像に含まれるフリンジを検出し、フリンジ部分を抽出したマスク画像を作成する。
図27にマスク画像を示す。マスク画像は、第1の収差補正処理によって作成された収差検出画像又は収差緩和画像である。
【0070】
他方、ステップS321は、以下の処理で撮影画像を用いる旨を示すものであり、具体的な処理は行われない。
【0071】
次のステップS322では、撮影画像を用いて彩度低減画像(第3の処理画像)を作成する。彩度低減画像は、撮影画像全体の彩度を低減させることにより作成された画像である。
図28に彩度低減画像を示す。
【0072】
次のステップS334では、マスク画像を彩度低減画像と合成する。これにより、補正用画像からフリンジ部分だけを抜き出した合成画像が得られる。
図29に合成画像を示す。
【0073】
次のステップS335では、合成画像を撮影画像と合成する。詳しく説明すると、撮影画像に含まれるフリンジ部分に、抑制されたフリンジ部分が合成された補正画像が作成される。これにより、フリンジが抑制された補正画像を得る。
図30に補正画像を示す。
【0074】
本実施形態によれば、第2の実施形態と同様の効果を得る。
【0075】
また、ステップS311において、特定の波長範囲にある色の彩度を上げ、これにより色が飽和した部分をフリンジとみなすことによって、正確かつ効率的にフリンジを検出できる。また、フリンジの色と実際の被写体の色が近い場合においても、彩度を上げることでフリンジを容易に判断できる。
【0076】
次に、
図31から33を用いて第4の実施形態について説明する。第1の実施形態と同じ構成に関しては、同じ符号を付して説明を省略する。第4の実施形態によるデジタルカメラ100は、第1の収差補正処理を実行せずに、第4の収差補正処理を実行する。以下、第4の収差補正処理について説明する。
【0077】
DSP101は、画像取得部及び補正部を成し、撮影画像に含まれるフリンジを補正する第4の収差補正処理を実行する。第4の収差補正処理は、1つの撮影画像から2つの画像を作成し、一方の画像からマスク画像を作成し、他方の画像とマスク画像とを合成し、合成した画像をさらに元の画像と合成して、フリンジを補正する処理である。
【0078】
次に、
図31を用いて、第4の収差補正処理について説明する。
【0079】
始めのステップS401では、撮影画像を取得する。撮影画像は、
図20に示される画像である。撮影画像において、人物の周囲にはフリンジ41が出現している。そして処理はステップS411、S412、及びS415に進む。
【0080】
次のステップS411では、撮影画像を用いて補正用画像(第1の処理画像)を作成する。補正用画像は、色差情報が飽和しないように決定された値を持つパラメータを用いて作成される。これにより、撮影画像に含まれるフリンジが抑制される。パラメータは、例えば、ホワイトバランス、カラーマトリクス、ガンマ、彩度、シャープネス等である。色差情報が飽和しないように決定された値は、例えば、彩度を下げるような値、フリンジで強く発生する色を強めるようなカラーマトリクスの値である。
図21に補正用画像を示す。
【0081】
次のステップS412では、撮影画像を用いて検出用画像(第2の処理画像)を作成する。検出用画像は、フリンジが検出しやすくなるように決定された値を持つパラメータを用いて作成される。これにより、撮影画像に含まれるフリンジが強調される。パラメータは、例えば、ホワイトバランス、カラーマトリクス、ガンマ、彩度、シャープネス等である。フリンジが検出しやすくなるように決定された値は、例えば、特定の波長範囲にある色の彩度を上げるような値、フリンジで強く発生する色を強めるようなカラーマトリクスの値である。
図26に検出用画像を示す。特定の波長範囲にある色の彩度を上げ、これにより色が飽和した部分をフリンジと判断することによって、正確かつ効率的にフリンジを検出できる。また、フリンジの色と実際の被写体の色が近い場合においても、彩度を上げることでフリンジを容易に判断できる。
【0082】
次のステップS413では、検出用画像に含まれるフリンジを検出し、フリンジ部分を抽出したマスク画像を作成する。
図27にマスク画像を示す。マスク画像は、第1の収差補正処理によって作成された収差検出画像又は収差緩和画像である。
【0083】
次のステップS414では、マスク画像を補正用画像と合成する。これにより、補正用画像からフリンジ部分だけを抜き出した合成画像が得られる。
図32に合成画像を示す。
【0084】
他方、ステップS415は、以下の処理で撮影画像を用いる旨を示すものであり、具体的な処理は行われない。
【0085】
次のステップS416では、合成画像を撮影画像と合成する。詳しく説明すると、撮影画像に含まれるフリンジ部分に、抑制されたフリンジ部分が合成された補正画像が作成される。これにより、フリンジが抑制された補正画像を得る。
図33に補正画像を示す。
【0086】
本実施形態によれば、第2及び第3の実施形態と同様の効果を得る。また、検出用画像と補正用画像とを用いてフリンジ部分だけを抜き出した合成画像することにより、フリンジ部分を違和感なく補正できる。
【0087】
次に
図34から39を用いて第5の実施形態について説明する。第1から第4の実施形態と同様の構成については、同じ符号を付して説明を省略する。第5の実施形態では、
図2に示す収差領域を決定する収差領域決定処理をDSP101が実行する。
【0088】
図34は、撮像レンズ102が有するフリンジの色をCbCr平面に表した図である。
図34に示されるフリンジは、CbCr平面の第一象限及び第四象限に出現する。第一象限に現れるフリンジは、撮像レンズ102が被写体よりも奥側に合焦しているいわゆる後ピンの状態において被写体に現れるものであって、パープル色やマゼンダ色を有する。第四象限に現れるフリンジは、撮像レンズ102が被写体よりも手前側に合焦しているいわゆる前ピンの状態において被写体に現れるものであって、グリーン色やブルー色を有する。
【0089】
第一象限に現れるフリンジは、楕円形状を有する第1の収差領域51により近似され、第二象限に現れるフリンジは、楕円形状を有する第2の収差領域52により近似される。第1の収差領域及び第2の収差領域52は、各々の楕円の形状及び位置を決定するパラメータにより決定される。これらのパラメータは、楕円の長軸の長さ、短軸の長さ、中心座標、及び長軸の傾き等のうち、少なくとも1つを含む。
【0090】
しかしながら、第1の収差領域51と第2の収差領域52との間の中間領域に発生するフリンジを有する撮像レンズ102がある。中間領域に発生するフリンジを検出する手段について、
図35を用いて説明する。
【0091】
DSP101は、レンズデータに基づいて、第1の収差領域51と第2の収差領域52との間の中間領域60にフリンジが発生すると判断すると、第1の収差領域51と第2の収差領域52とを繋ぐ円弧を用いて中間領域60を定義し、これら第1の収差領域51、第2の収差領域52、及び中間領域60内に色差情報が含まれるか否かを判断する。中間領域60は、パラメータを用いて決定される。中間領域60を決定するパラメータは、例えば、第1の円弧53及び第2の円弧54の形状及び位置を決定するパラメータであって、円弧の中心座標、半径、直径、及び中心角等のうち、少なくとも1つを含む。第1の円弧53及び第2の円弧54は、第1の収差領域51と第2の収差領域52とを接続する。
【0092】
他方、撮影画像に所定の画像処理を施した後に、フリンジを検出する場合がある。この場合、所定の画像処理を施すことによってフリンジの色差情報が変化するため、レンズデータのみに基づいて作成された収差領域の中にフリンジの色差情報が含まれなくなって、フリンジを検出できなくなる可能性がある。そこで、撮影画像に所定の画像処理を施した後であってもフリンジを検出できるように、以下の収差領域補正処理を行う。
【0093】
収差領域補正処理の一例について図を用いて説明する。
図36は、ホワイトバランスを調節した撮影画像に含まれるフリンジを検出するために用いられる収差領域を示す。
【0094】
ホワイトバランスが調節された撮影画像に含まれるフリンジは、CbCr平面において平行移動する傾向がある。そこで、平行移動した収差領域を用いてフリンジを検出する。第1の収差領域51は、レンズデータを用いて算出された収差領域である。他方、ホワイトバランスを調節したとき、収差領域はベクトル56に従って移動する傾向がある。そこで、DSP101は、ベクトル56を算出し、ベクトル56を用いて第1の収差領域51を平行移動して、第3の収差領域55を算出する。そして、ホワイトバランスが調節された撮影画像に含まれている色差情報が第3の収差領域に含まれるか否かを判断する。これにより、ホワイトバランスを調節した撮影画像であっても、フリンジを適切に検出できる。
【0095】
図37は、カラーマトリクスを変更した撮影画像に含まれるフリンジを検出するために用いられる収差領域を示す。
【0096】
カラーマトリクスが変更された撮影画像に含まれるフリンジは、CbCr平面において回転移動する傾向がある。そこで、回転移動した収差領域を用いてフリンジを検出する。第1の収差領域51は、レンズデータを用いて算出された収差領域である。他方、カラーマトリクスを変更したとき、収差領域は回転中心点58を中心に角度θだけ回転する傾向がある。そこで、DSP101は、回転中心点58及び角度θを算出し、回転中心点58及び角度θを用いて第1の収差領域51を回転移動して、第4の収差領域57を算出する。そして、カラーマトリクスが変更された撮影画像に含まれている色差情報が第4の収差領域57に含まれるか否かを判断する。これにより、カラーマトリクスを調節した撮影画像であっても、フリンジを適切に検出できる。
【0097】
図38を用いて、収差領域決定処理について説明する。収差領域決定処理は、撮像レンズ102がカメラボディ110に取り付けられたときに実行される。
【0098】
始めのステップS381では、レンズデータを用いてフリンジの色差情報を算出する。
【0099】
次のステップS382では、ステップS381で算出した色差情報をCbCr平面上にプロットする。
【0100】
次のステップS383では、ステップS382でプロットした色差情報を包含する楕円を作成する。
【0101】
次のステップS384では、ステップS383で作成した楕円のパラメータをカメラメモリ103に記憶させる。
【0102】
図37及び
図39を用いて、収差領域補正処理について説明する。収差領域補正処理は、デジタルカメラ100が撮像したときにDSP101によって実行される。
【0103】
始めのステップS391では、撮影画像を取得する。
【0104】
次のステップS392では、撮影画像を撮影したときに用いたカラーマトリクスと、第1の収差領域51を作成したときに用いたカラーマトリクスとを比較し、両者の差分を算出する。
【0105】
次のステップS393では、ステップS392で算出した差分を用いて、前述した回転中心点58及び角度θを算出する。そして、回転中心点58及び角度θを用いて第1の収差領域51を回転移動して、第4の収差領域57を算出する。
【0106】
次のステップS394では、撮影画像を撮影したときに用いたホワイトバランスと、第1の収差領域51を作成したときに用いたホワイトバランスとを比較し、両者の差分を算出する。
【0107】
次のステップS395では、ステップS394で算出した差分を用いて、前述したベクトル56を算出する。そして、ベクトル56を用いて第4の収差領域57を平行移動して、第5の収差領域59を算出する。
【0108】
これにより、撮影画像を撮影したときに用いたカラーマトリクス及びホワイトバランスに応じて収差領域を変更し、フリンジを適切に検出できる。
【0109】
本実施形態によれば、収差領域を楕円で近似し、楕円の形状及び位置を表すパラメータを記憶するため、記憶するデータ量が少なくて済む。
【0110】
また、収差領域が楕円で表現できない場合であっても、中間領域60を用いて近似し、中間領域60の形状及び位置を表すパラメータを記憶するため、記憶するデータ量が少なくて済む。
【0111】
さらに、撮影画像を処理した画像処理に応じて収差領域を変更するため、正確に収差を検出できる。
【0112】
なお、収差領域決定処理及び収差領域補正処理は、DSP101でなく、他の装置によって予めレンズデータを用いて実行されてもよい。このとき、算出されたパラメータは、撮像レンズ102が備えるレンズメモリ108に記憶される。DSP101は、レンズメモリ108からパラメータを読み出して、パラメータに基づいて収差を検出する。
【0113】
本実施形態におけるパラメータは、予めレンズデータに基づいて算出され、撮像レンズ102が備えるレンズメモリ108に記憶されてもよい。DSP101はレンズメモリ108からパラメータを読み出して、パラメータに基づいて収差を検出する。
【0114】
第1の収差領域51と第2の収差領域52との間の中間領域60は、円弧でなく、他の形状を有する線分(直線)や弦(曲線)、例えば二次曲線等によって決定されてもよい。
【0115】
次に、
図40を用いて第6の実施形態について説明する。第1から第5の実施形態と同様の構成については、同じ符号を付して説明を省略する。第6の実施形態では、補正用画像及び検出用画像を作成する手段が第2、第3、及び第4の収差補正処理と異なる。以下、補正用画像及び検出用画像を作成する手段について説明する。
【0116】
本実施形態では、レンズデータを用いて補正用画像及び検出用画像を作成する。
図40は、レンズデータを用いて算出された収差領域61をCbCr平面に示した図である。
【0117】
まず、補正画像を作成する手段について説明する。始めに、DSP101は、レンズデータを用いて
図40に示す収差領域61を算出する。次に、収差領域61に含まれる色差情報を有する画素を撮影画像から抽出する。そして、抽出した画素の色差情報の彩度を下げる。具体的には、CbCr平面における色差情報を原点に向けて平行移動させる。これにより、収差領域61に属する画素の色差情報は、領域62に移動する。これにより、撮影画像に含まれるフリンジのみの彩度が下げられ、フリンジが抑制される。
図21に補正用画像を示す。
【0118】
次に、検出用画像を作成する手段について説明する。始めに、DSP101は、レンズデータを用いて
図40に示す収差領域61を算出する。次に、収差領域61に含まれる色差情報を有する画素を撮影画像から抽出する。そして、抽出した画素の色差情報の彩度を上げる。具体的には、CbCr平面における色差情報を原点から遠ざけるように平行移動させる。これにより、収差領域61に属する画素の色差情報は、領域63に移動する。これにより、撮影画像に含まれるフリンジのみの彩度が上げられ、フリンジが強調される。
図26に補正用画像を示す。
【0119】
そして、彩度でなくカラーマトリクスを変更してフリンジを抑制することも可能である。以下に、カラーマトリクスを変更して補正画像を作成する手段について説明する。
【0120】
始めに、DSP101は、レンズデータを用いて
図40に示す収差領域61を算出する。次に、収差領域61が存在する場合、すなわちフリンジが存在する場合、撮影画像の色差情報をRGB色空間に変換したRGB情報を取得する。そして、RGB情報を以下の式(1)を用いて変換する。
【数1】
式(1)は、RGB色情報のうち、フリンジに多く含まれるブルー色を抑制する式である。式(1)を用いることにより、フリンジを抑制できる。
【0121】
他方、収差領域61が存在しない場合、すなわちフリンジが存在しない場合、RGB情報を、以下の式(2)を用いて変換する。
【数2】
式(2)は、RGB色情報に単位行列を乗じており、何らのRGB情報をも変換しない。
【0122】
本実施形態によれば、レンズデータを用いることにより、フリンジのみを抑制、又は強調することができる。
【0123】
なお、本実施形態では、補正画像を作成するにあたり、収差領域61に含まれる色差情報を有する画素の彩度を下げるのではなく、収差領域61に含まれる色差情報を有する画素のシャープネスを下げてもよい。これにより、フリンジが抑制される。同様に、検出用画像を作成するにあたり、収差領域61に含まれる色差情報を有する画素の彩度を上げるのではなく、収差領域61に含まれる色差情報を有する画素のシャープネスを上げてもよい。これにより、フリンジが強調される。
【0124】
また、本実施形態では、カラーマトリクスを変更して補正画像を作成する手段において、収差領域61に含まれる色差情報を有する画素に関しては式(1)を用いて変換し、収差領域61に含まれない色差情報を有する画素に関しては式(2)を用いて変換してもよい。このとき、DSP101は、レンズデータを用いて
図40に示す収差領域61を算出する。次に、収差領域61に含まれる色差情報を有する画素を撮影画像から抽出する。次に、抽出した画素の色差情報をRGB色空間に変換したRGB情報を取得する。そして、RGB情報を式(1)を用いて変換する。式(1)を用いることにより、フリンジを抑制できる。他方、収差領域61に含まれない色差情報を有する画素に関しては、式(2)を用いて変換する。
【0125】
また、本実施形態の数1は例示であって、フリンジがグリーン色やマゼンダ色などの他の色を持つ場合、他の式が用いられる。
【0126】
なお、いずれの実施形態においても、撮影画像等、全ての画像は、YCbCr色空間により表現される画像でなくてもよく、他の表色系で表現されるデータから成る画像であってもよい。
【0127】
なお、いずれの実施形態においても、レンズデータが撮影画像に記憶されてもよい。パソコンなどの装置が、撮影画像からレンズデータを読み出し、読み出したレンズデータを用いて収差を検出し、補正できる。また、収差を検出するに用いた他のデータを撮影画像に記憶させてもよい。パソコンなどの装置が、撮影画像から他のデータを読み出し、読み出したデータを用いて収差を検出し、補正できる。
【0128】
なお、いずれの実施形態においても、レンズデータは、撮像レンズ102に記憶されてもよく、各々の撮影レンズ102に対応するレンズデータをデジタルカメラ100に記憶されてもよい。
【0129】
レンズデータは、撮影レンズ102の種類毎でなく、個体毎に測定し、記憶されてもよい。精度よくフリンジを検出及び補正できる。
【0130】
また、いずれの実施形態においても、撮像レンズ102はデジタルカメラ100に着脱自在に設けられず、デジタルカメラ100から取り外しできなくてもよい。デジタルカメラ100はコンパクトデジタルカメラであってもよい。