次に、本発明を適用した実施の形態について、図面を参照して説明する。
図1は、本発明を適用した撮像装置の構成例を示すブロック図である。
図1において、撮像装置1は、被写体を撮像して得られる画像をデジタルデータとして取得する装置であり、レンズ部11、CCD(Charge Coupled Device)12、AD(Analog / Digital)変換部13、および画像処理部14を有している。
レンズ部11は、例えば、レンズ群や絞り等により構成され、被写体からの入射光を透過し、CCD12に集光させる。CCD12は、この入射光を受光する受光部としてのフォトダイオード等の光電変換素子を有する撮像素子であり、レンズ部11を介して入射された入射光は、受光部において受光され、光電変換され、電気信号としてAD変換部13に出力される。
この受光部の各フォトダイオードには、それぞれ、入射光を透過させる、赤(R)、緑(G)、または青(B)の、図示せぬ色フィルタが設けられている。入射光は、この色フィルタを通過することにより、色フィルタの各色成分のみが受光部に到達する。つまり、受光部においては、赤(R)、緑(G)、および青(B)の各成分が互いに異なる位置に入射され、光電変換される。すなわち、CCD12は、赤(R)、緑(G)、および青(B)の各成分の電気信号をAD変換部13に出力する。
AD変換部13は、CCD12より供給された各成分の電気信号(アナログ信号)をデジタル化し、そのデジタル信号(画像データ)を画像処理部14に供給する。画像処理部14は、供給された画像データ(R信号、G信号、およびB信号)に対して、その画像データに対応する画像を加工するように、信号処理(画像処理)を施し、その画像データを輝度信号および色信号として出力する。
なお、撮像装置1は、例えば、取得した画像データを記録する記録媒体等、その他の構成をさらに有するようにしても、もちろんよい。
図1に示されるように、画像処理部14は、光学素子・撮像素子補正処理部21、ノイズリダクション処理部22、デモザイク処理部23、ホワイトバランス処理部24、γ補正部25、Y信号処理部26、ラインメモリ27、C信号処理部28、および色収差補正部29を有している。
光学素子・撮像素子補正処理部21は、黒レベルを合わせるデジタルクランプや、レンズの周辺光量落ちを補正するシェーディング補正等の、撮像素子や光学素子等の影響に対する補正を行う処理部である。光学素子・撮像素子補正処理部21は、AD変換部13より供給される画像データ(R信号、G信号、およびB信号)を取得すると、それらに対して上述した補正を行い、補正後の画像データ(R信号、G信号、およびB信号)を、ノイズリダクション処理部22に供給する。
ノイズリダクション処理部22は、CCD12による光学変換時や、AD変換部13による、画素データがアナログ転送時に生じるノイズを低減させるノイズリダクション(NR(Noise Reduction))の処理を行う処理部であり、光学素子・撮像素子補正処理部21より供給された画像データ(R信号、G信号、およびB信号)を取得すると、それらに対してノイズリダクションの処理を行い、処理後の画像データ(R信号、G信号、およびB信号)を、デモザイク処理部23に供給する。
デモザイク処理部23は、例えば、CCD12においてベイヤ配列の色フィルタが用いられる等したことにより互いに空間位相がずれているR信号、G信号、B信号に対して、色構造を生成し、3枚のRGBプレーン信号(互いに空間位置が等しいR信号、G信号、およびB信号の組)を作る。つまり、デモザイク処理部23は、ノイズリダクション処理部22より供給されたRGB信号(互いに空間位相がずれているR信号、G信号、B信号の組)に対してデモザイク処理を行い、色構造を生成してRGBプレーン信号を生成し、それらをホワイトバランス処理部24に供給する。
ホワイトバランス処理部24は、そのRGBプレーン信号の同じ空間位置のRGB信号のそれぞれに対してホワイトバランスを行い、白い被写体のRGBレベルが等しくなるようにゲインを乗算し、そのRGB信号をγ(ガンマ)補正部25に供給する。
γ補正部25は、供給されたRGB信号(R信号、G信号、およびB信号の組)に対して、画像の明るさの変化に対する電圧換算値の変化の比であるγ(ガンマ)値を補正することにより、素子の特性等を吸収させ、より自然に近い表示を得るようにする。γ補正部25は、γ補正後のRGB信号をY信号処理部26およびC信号処理部28に供給する。
Y信号処理部26は、γ補正部25より供給されたRGB信号を用いて、以下の式(1)を演算することにより、輝度信号(Y信号)を生成する。
Y=0.3R+0.6G+0.1B ・・・(1)
式(1)において、Yは、輝度値(Y信号の値)を示し、Rは、R信号の信号レベル(赤成分の量)を示し、Gは、G信号の信号レベル(緑成分の量)を示し、Bは、B信号の信号レベル(青成分の量)を示している。
Y信号処理部26は、得られた輝度信号(Y信号)をラインメモリ27および色収差補正部29に供給する。
ラインメモリ27は、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)等の揮発性の半導体メモリ等により構成され、画面の水平方向の画素列(ライン)単位で、画像データを一時的に保持する記憶部である。ラインメモリ27は、Y信号処理部26より供給される画像データ(Y信号)を所定のライン数分、所定の期間保持し、色収差補正部29より出力される色信号(Cr信号、Cb信号)の出力タイミングに対応するようなタイミングで、保持しているY信号を出力する。
C信号処理部28は、γ補正部25より供給されたRGB信号を用いて、以下の式(2)および式(3)を演算することにより、色信号(Cr信号およびCb信号)を生成する。
Cr(R−Y)= 0.7R−0.6G−0.1B ・・・(2)
Cb(B−Y)= −0.3R−0.6G+0.9B ・・・(3)
式(2)および式(3)において、左辺のCr(R−Y)およびCb(B−Y)は、各色信号の値を示し、右辺のRは、R信号の信号レベル(赤成分の量)を示し、Gは、G信号の信号レベル(緑成分の量)を示し、Bは、B信号の信号レベル(青成分の量)を示している。
C信号処理部28は、得られた色信号(Cr信号およびCb信号)を色収差補正部29に供給する。
色収差補正部29は、供給されたY信号、Cr信号、およびCb信号に基づいて、その画像データに含まれる、軸上色収差や倍率色収差等の色収差の補正を行い、補正後のCr信号やCb信号を出力する。
色収差補正部29は、色収差補正として、Y信号(または、RGB信号のいずれか)の信号レベルが飽和した「白とび」の周辺画素の色が「紫色」であるときに対象画素の色消しを行う。
色収差の影響は、木の木漏れ日等のように、コントラストの大きい画像において特に顕著であり、そのような画像においては、色収差補正の効果が大きい。換言すると、白とびがないところでは色収差が発生しても目立たず、その補正の効果も小さい。また、一般的に、緑(G)値が小さい紫色は輝度値(Y)も小さくなるので、紫色の画像付近において白とびが発生する可能性は非常に低い。換言すると、白とびの周辺において、元々紫色の画像(色収差によるものでない紫色)が存在する可能性は、非常に低い。従って、色収差補正部29は、「白とび」の周辺(近傍)に発生する紫色を、色収差によるものと見なして補正する(色消しを行う)。
このように、白とびの発生した画素を考慮して補正を行うことにより、色収差補正部29は、不要な補正を低減し、より正確に適切な補正を行うことができる。
また、色収差の影響により、紫色、緑色などの色が見えることがあるが、一般的に、輝度値(Y)が大きい場合、緑(G)値も大きくなるため、白とび周辺に元々緑色(色収差によるものでない緑色)が存在する可能性が高い。つまり、不用意に緑色を消すようにすると、例えば、木の木漏れ日を撮影したときに木の葉の色を消してしまう恐れがある。従って、色収差補正部29は、緑色に関して補正を行わない。
このように、補正対象の色を限定して補正を行うことにより、色収差補正部29は、不要な補正を低減し、より正確に適切な補正を行うことができる。
図2は、図1の色収差補正部29の詳細な構成例を示すブロック図である。
図2において、色収差補正部29は、白とび判定部41、白とび情報保持部42、色収差量算出部43、ラインメモリ44、紫領域算出部45、補正済み信号生成部46、補正リミッタ47、ぼかし48、および混合処理部49を有している。
白とび判定部41は、Y信号処理部26(図1)より供給された輝度信号(Y信号)の信号レベルが所定の閾値以上である(輝度値が飽和した)か否かを画素毎に判定し、その判定結果(例えば1ビットの情報)を白とび情報保持部42に供給する。判定方法の詳細については後述する。例えば、白とび判定部41は、白とびが発生した画素(白とび画素)に対して、値「1」を判定結果として白とび情報保持部42に供給し、白とびが発生しなかった画素に対して、値「0」を判定結果として白とび情報保持部42に供給する。なお、この判定結果を示す情報のビット数や値は任意であるが、情報量は少ないほど負荷が軽減される。
白とび情報保持部42は、RAM(Random Access Memory)等の記憶媒体を内蔵し、記憶領域を有する。白とび情報保持部42は、その記憶領域を用いて、白とび判定部41より供給される各画素の判定結果(各画素が白とび画素であるか否かを示す情報)を一時的に保持する。白とび情報保持部42は、その保持している情報から、次の色収差量算出部43における注目画素に対する周囲の白とび画素の分布を示す白とびマップを作成し、それを色収差量算出部43に供給する。白とびマップの詳細については後述する。
色収差量算出部43は、RAMやROM(Read Only Memory)等の記憶媒体を内蔵し、その記憶領域に、注目画素周辺の色収差の補正量(色収差量)に関する情報である色収差モデルを記憶している。色収差量算出部43は、その色収差モデルより、色収差量の分布を示す色収差マップを生成する。色収差モデルおよび色収差マップの詳細については後述する。
色収差量算出部43は、その色収差マップと、白とび情報保持部43より供給される白とびマップとを用いて、周囲の白とび画素による注目画素の色収差量の積分値を算出し、その算出した色収差量を補正済み信号生成部46に供給する。
ラインメモリ44は、RAM等の記憶媒体を内蔵し、その記憶領域を用いて、C信号処理部28より供給される色信号(Cr信号およびCb信号)を、例えば画面のライン毎に所定の期間保持する(複数ライン分の色信号を保持する)。そして、ラインメモリ44は、その保持している色信号の一部または全部を、紫領域算出部45、補正済み信号生成部46、および混合処理部49に、それぞれ所定のタイミングで供給する。
紫領域算出部45は、ラインメモリ44より供給される色信号(Cr信号およびCb信号)から、各画素の紫度(どれだけ紫色に近いかを示す度合い)を算出し、その算出結果を補正済み信号生成部46に供給する。つまり、紫領域算出部45は、画面内の紫色の部分(紫領域)を特定する。この算出方法の詳細については後述する。
補正済み信号生成部46は、色収差量算出部43より供給された色収差量、および紫領域算出部45より供給された紫度に基づいて、上述したような白とびに応じた色収差量(白とび画素近傍の紫色の画素に対する色収差の補正量)を算出し、その値を用いて、ラインメモリ44より供給された、補正されていない色信号である無補正信号に対して色収差補正を行い、補正済み信号を生成する。この色収差補正の詳細については後述する。補正済み信号生成部46は、生成した補正済み信号を補正リミッタ47に供給する。また、補正済み信号生成部46は、白とびに応じた色収差量を混合処理部49に供給する。
補正リミッタ47は、補正済み信号生成部46より供給された補正済み信号について、彩度の低下量の補正を実行する。すなわち、補正リミッタ47は、補正済み信号生成部46における補正処理により彩度を低下させすぎた部分などを検出し、周辺の画素の彩度を参考にした彩度補正処理を行う。
補正リミッタ47は、補正済み信号生成部46において彩度低下処理が実行された画素、すなわち、主として色収差補正が行われた画素を補正対象として選択して補正処理を行う。このような彩度補正において、その対象範囲は彩度を落とした部分になるため、彩度削減率が0でない画素を選択することが必要となる。従って、補正リミッタ47は、図示は省略するが、補正済み信号とともに彩度削減率に関する情報も取得し、彩度削減率が「0」でない画素について、彩度補正を行う。補正リミッタ47は、彩度補正を行った補正済み信号をぼかし48に供給する。
ぼかし48は、補正リミッタ47より供給された信号に対して、ローパスフィルタ(LPF)を用いて、ぼかし処理を施し、補正ムラの修正を行う。ぼかし48は、修正した補正済み信号を混合処理部49に供給する。
以上のように、補正リミッタ47およびぼかし48によって補正済み信号をさらに処理することにより、画像として不自然で目立つ補正を低減させることができるので、色収差補正部29は、より自然な色収差補正結果を得ることができる。
混合処理部49は、ラインメモリ44より供給される無補正信号と、ぼかし48より供給される補正済み信号とを、補正済み信号生成部46より供給される白とびに応じた色収差量に基づいて混合し、補正後信号(混合信号)を生成し、それを出力する。つまり、混合処理部49は、色収差量に基づいて2信号の混合比を決定することにより、色収差補正を行った画素に対しては補正済み信号を強調するように、色収差補正を行っていない画素に対しては無補正信号を強調するように、2信号(補正済み信号および無補正信号)を混合する。このように2信号の混合を行うことにより、混合処理部49は、色収差補正された信号に、補正前の信号を反映させることができ、より自然な補正後信号を得ることができる。なお、混合処理の具体的な方法については後述する。
図3は、図2の白とび判定部41の詳細な構成例を示すブロック図である。
図3において、白とび判定部41は、白とび画素閾値判定部61、白とび複数画素判定部62、および判定結果保持部63を有している。
白とび画素閾値判定部61は、入力された輝度信号(Y信号)から、各画素の輝度値を参照し、予め定められた所定の閾値より大きいか否か(信号レベルが飽和しているか否か)を判定し、その判定結果(閾値判定結果)を白とび複数画素判定部62に供給する。この閾値の値は、どのような値であってもよいが、白とび画素を検出するための閾値であるので、一般的には、輝度値のレンジ幅の最大値近傍の、十分に大きな値に設定される。
白とび複数画素判定部62は、白とび画素閾値判定部61より供給された判定結果を判定結果保持部63に供給し、保持させる。また、白とび複数画素判定部62は、その供給された判定結果に基づいて、注目画素が白とび画素であるかを確認し、白とび画素である場合、その周辺の画素の判定結果を判定結果保持部63より取得し、注目画素近傍に白とび画素が存在するか否かを判定する。つまり、白とび複数画素判定部62は、互いに連続または近接する複数の白とび画素を検出する。白とび複数画素判定部62は、このようにして得られた判定結果(互いに連続または近接する複数の白とび画素の情報)を、白とび判定結果として、白とび情報保持部42に供給する。
白とびは、例えば光源を撮影した場合などに発生するため、一般的に、複数画素に渡って発生することが多く、1つの画素単独で発生する可能性は極めて低い。換言すると、1つの画素単独で発生した白とびは、画素の欠陥による可能性が高い。そこで、白とび複数画素判定部62は、上述したように、1画素のみの白とびを無視し、複数画素に渡って発生した白とびのみ検出することにより、欠陥画素等の誤検出を抑制する。
このように、白とび判定部41は、白とび画素閾値判定部61において閾値判定を行うだけでなく、白とび複数画素判定部62によって周囲の白とび画素の存在も確認するので、より正確に白とび画素を検出することができる。
なお、判定結果保持部63は、実質的に、注目画素近傍(所定の範囲)の各画素の判定結果(例えば、1ビットの情報)を保持することができるのであれば、どのような情報を保持するようにしてもよく、例えば、注目画素の近傍画素となりうる各画素の判定結果を全て保持し、近傍画素となる可能性の無くなった画素の判定結果から順に破棄するようにしてもよいし、白とび画素と判定された画素のアドレス情報を保持するようにしてもよい。どのような手法を用いてどのような情報を保持するかは、任意であり、例えば、保持する情報量や処理の負荷の大小等に基づいて最適なものを適用すればよい。
図4は、図2の色収差量算出部43の詳細な構成例を示すブロック図である。
図4において、色収差量算出部43は、色収差モデル保持部71、色収差マップ生成部72、色収差マップ保持部73、倍率色収差情報保持部74、倍率色収差補正部75、およびマップ比較部76を有している。
色収差モデル保持部71は、ROMやRAM等を内蔵し、その記憶領域に色収差モデルを予め保持している。色収差モデルは、1画素の白とびがある場合に、その周囲に対して収差の影響がどれくらいあるかを示す色収差マップを生成するためのモデル情報である。
つまり、色収差マップとは、1つの白とび画素の周辺に発生する、その白とびによる色収差量(色収差の度合い)の分布の様子を示す情報であり、色収差モデルは、その色収差マップを生成するための情報であればどのような情報であってもよい。
色収差マップの詳細については後述するが、色収差モデルが、例えば、白とび画素からの距離と、色収差量との関係を示すテーブル情報であり、色収差マップが、そのテーブル情報に基づいて算出した、白とび画素を中心とする、その周囲の各画素の色収差量のマップ情報であるようにしてもよい。また、色収差モデルが色収差マップの一部または全部(マップ情報)であってもよい。
色収差モデル保持部71は、その色収差モデルを、色収差マップ生成部72の要求に基づいて、色収差マップ生成部72に供給する。
色収差マップ生成部72は、色収差モデル保持部72より供給された色収差モデルを用いて、上述した色収差マップを生成し、それを色収差マップ保持部73に供給する。
色収差マップ保持部73は、RAM等を内蔵しており、その記憶領域に、色収差マップ生成部72より供給された色収差マップを一時的に保持し、マップ比較部76の要求に基づいて、その色収差マップをマップ比較部76に供給する。
倍率色収差情報保持部74は、ROMやRAM等を内蔵し、その記憶領域に、画面内の各画素において倍率色収差がどの程度発生するかを示す倍率色収差情報を予め保持している。詳細については後述するが、波長の差が像倍率の違いとなって現れる倍率色収差は、特に画面周辺部で大きく発生する。倍率色収差情報は、この画面内の位置と倍率色収差量との関係を示す情報であり、テーブル情報や演算式など、どのような情報であってもよい。倍率色収差情報保持部74は、倍率色収差補正部75の要求に基づいて、この倍率色収差情報を、倍率色収差補正部75に供給する。
倍率色収差補正部75は、倍率色収差情報保持部74より倍率色収差情報を取得して参照し、マップ比較部76における注目画素において倍率色収差が発生するか否かを確認し、発生する場合、その倍率色収差情報に基づいて、色収差マップ保持部73に保持されている色収差マップを補正する。色収差マップ保持部73は、その注目画素の処理のために、補正された色収差マップを、マップ比較部76に供給する。
このように、色収差マップ保持部73は、画素毎に色収差マップをマップ比較部76に供給する。
マップ比較部76は、その色収差マップと、白とび情報保持部42(図2)より供給される白とびマップの2つのマップのマッチングをとることで、各画素の白とびに対応した色収差量を算出し、それを補正済み信号生成部46に供給する。マップ比較部76の詳細については後述する。
このとき、補正対象画素(注目画素)から最近接の白とび画素までの距離に対して補正量を決める方法も考えられるが、実際には補正対象画素が周囲にどれだけハイコントラストな被写体があるかによって色収差量が決まるため、マップ比較部76は、最近接白とびまでの距離で補正量を算出するよりも、すべての白とび情報を積分して補正量を決定する方法の方が、処理がより容易になるだけでなく、より正確に色収差量を算出することができる。
また、倍率色収差を考慮して色収差量を算出するので、色収差量算出部43は、より正確に色収差量を算出することができる。
図5は、図2の紫領域算出部45の詳細な構成例を示すブロック図である。
図5において、紫領域算出部45は、第1補正値算出部81、第2補正値算出部82、および補正値選択部83を有している。
紫領域算出部45は、補正対象画素の色である紫色を検出し、その紫色の領域に対して大きな重みがかかるような値(紫度)を出力する処理部であるが、その際、後述するように2つの補正式を用いて、色信号値から2つの補正値を算出し、そのうち一方を選択する。
第1補正値算出部81は、Cr信号およびCb信号から、その一方の補正式を用いて一方の補正値(第1補正値)を算出し、それを補正値選択部83に供給する。同様に、第2補正値算出部82は、Cr信号およびCb信号から、その他方の補正式を用いて他方の補正値(第2補正値)を算出し、それを補正値選択部83に供給する。
補正値選択部83は、第1補正値算出部81より供給される第1補正値、および、第2補正値算出部82より供給される第2補正値のうち、値の小さい方を選択し、それを紫度として出力する。
つまり、第1補正値算出部81および第2補正値算出部82が演算に用いる2つの補正式(詳細については後述する)は、紫色に対して重み付けを行う式である。
なお、以上においては、紫領域算出部45が演算式により紫度を算出するように説明したが、紫度の算出方法はこれに限らず、例えば、紫領域算出部45がテーブル情報に基づいて紫度を算出するようにしてもよい。
図6は、図2の補正済み信号生成部46の詳細な構成例を示すブロック図である。
図6において、補正済み信号生成部46は、乗算器91、減算器92、および乗算器93を有している。
乗算器91は、紫度Pと色収差量Aを乗算し、その乗算結果である白とびに応じた色収差量(色消しゲイン)P*A(0≦P*A≦1)を、減算器92および混合処理部49(図2)に供給する。
減算器92は、値「1」から白とびに応じた色収差量P*Aを減算することにより、白とびに応じた色収差量P*Aを反転させて補正ゲイン1−P*A(0≦1−P*A≦1)を算出し、その補正ゲイン1−P*Aを乗算器93に供給する。
乗算器93は、色信号の信号値(CrおよびCb)と補正ゲイン1−P*Aを乗算することにより、Cr*(1−P*A)およびCb*(1−P*A)を算出し、それらを補正済み信号として補正リミッタ47に供給する。
すなわち、乗算器91が紫度Pと色収差量Aを乗算することにより、注目画素が、白とびの近傍に存在する紫領域(色収差により発生した紫である可能性が高く、かつ、その収差量が大きい領域)の画素に対して色収差量(白とびに応じた色収差量)を大きく設定することができる。
また、減算器92および乗算器93を用いて、その白とびに応じた色収差量P*Aを反転させて色信号の信号値(CrおよびCb)に乗算させることにより、補正済み信号生成部46は、色信号に対して、乗算器91により設定された色収差量に応じた量の補正を行うことができる。
つまり、補正済み信号生成部46は、このような構成をとることにより、色収差に対する補正を、より簡単な構成で、より容易に、かつ、より正確に行うことができる。
図7は、図2の混合処理部49の詳細な構成例を示すブロック図である。
図7において、混合処理部49は、乗算器101、減算器102、乗算器103、および加算器104を有している。
乗算器101は、無補正信号と色消しゲイン(白とびに応じた色収差量)P*Aを乗算し、その乗算結果を加算器104に供給する。
減算器102は、値「1」から色消しゲインP*Aを減算することにより、色消しゲインP*Aを反転させて補正ゲイン1−P*Aを算出し、その補正ゲイン1−P*Aを乗算器103に供給する。
乗算器103は、乗算器101より供給された、補正済み信号に、色消しゲインP*Aの反転値である補正ゲイン1−P*Aを乗算し、その乗算結果を加算器104に供給する。
加算器104は、乗算器101の乗算結果と、乗算器103の乗算結果を加算し、その加算結果を補正後信号(混合信号)として出力する。
つまり、混合処理部49は、乗算器101および乗算器103において、それぞれ、色消しゲインの値に応じて、無補正信号と補正済み信号に対して重み付けを行わせ、加算器104において、それらの値が加算(混合)されて補正後信号(混合信号)が作成されようにする。このようにすることにより、色収差補正部29は、補正後の画像にさらに補正前の画像を反映させることができ、より自然で適切な色収差補正結果を得ることができる。
次に、以上に説明した各部により実行させる各処理の流れについて説明する。
最初に、図1の画像処理部14による画像処理全体の流れの例を、図8のフローチャートを参照して説明する。
AD変換部13より画像信号(デジタルデータ)が供給されると、画像処理部14は画像処理を開始する。画像処理が開始されると、ステップS1において、光学素子・撮像素子補正処理部21が画像信号に対して光学素子・撮像素子補正処理を行い、ステップS2において、ノイズリダクション処理部22が画像信号に対してノイズリダクション処理を行い、ステップS3において、デモザイク処理部23が画像信号に対してデモザイク処理を行い、ステップS4において、ホワイトバランス処理部24が画像信号に対してホワイトバランス処理を行い、ステップS5において、γ補正部25が画像信号に対してγ補正処理を行う。
γ補正処理が終了すると、Y信号処理部26は、ステップS6において、γ補正された画像信号(RGB信号)より輝度信号(Y信号)を生成し、ラインメモリ27は、ステップS7においてその輝度信号(Y信号)を保持する。また、C信号処理部28は、ステップS8において、γ補正された画像信号(RGB信号)より色信号(Cr信号およびCb信号)を生成する。
色収差補正部29は、ステップS9において、Y信号処理部26において生成された輝度信号を用いて、C信号処理部28により生成された色信号の色収差を補正する色収差補正処理を行う。色収差補正処理の詳細は、図9のフローチャートを参照して説明する。色収差補正処理が終了すると、ラインメモリ27および色収差補正部29は、それぞれ、輝度信号および色信号を関連付けて画像処理部14の外部に出力し、画像処理を終了する。
画像処理部14は、以上のような画像処理を繰り返し、AD変換部13より供給される画像信号を処理する。このように、画像処理部14は、画像信号に対して、より正確な色収差補正を、より容易に行うことができる。
次に、図8のステップS9において実行される色収差補正処理の詳細な流れの例を、図9のフローチャートを参照して説明する。また、必要に応じて、図10を参照して説明する。
色収差補正処理が開始されると、白とび判定部41は、ステップS21において、Y信号処理部26より供給された輝度信号(Y信号)に対して白とび判定処理を行う。白とび判定処理の詳細は、図11フローチャートを参照して説明する。白とび判定処理を終了すると、白とび情報保持部42は、ステップS22において、判定結果を保持し、ステップS23において、図10に示されるような、色収差算出部43による色収差算出処理の注目画素についての白とびマップを作成する。
図10は、白とびマップの構成例を説明する模式図である。
図10において、白とびマップ111は、注目画素112の近傍における白とび画素113の分布を示すマップ情報である。図10の例の場合、白とびマップ111は、注目画素を中心とする9画素×9画素のマップ情報であり、注目画素の座標を(0,0)とし、図中左右方向に、左から右に向かって「−4」、「−3」、「−2」・・・、「4」のように、x座標が設定され、図中上下方向に、下から上に向かって「−4」、「−3」、「−2」・・・、「4」のように、y座標が設定されている。つまり、白とびマップ111は、所定の範囲内の白とび画素の、注目画素に対する相対座標情報を有している。この場合、白とび画素113の座標は(2,2)である。
なお、この画像処理部14で処理される画像信号において、各画素の画素値は、ライン毎に左端の画素から右端の画素まで整列された1ラインの画素値群が、1番上のラインから順に1番下のラインまで整列されている。つまり、画像信号は、画像の左上端の画素から右方向に1画素ずつ進み、下方向に1ラインずつ進むように処理される。
白とび情報保持部42は、この処理順どおりに判定結果を保持していくので、図10の白とびマップ111の画素配列は、処理対象の画像信号の画像に対応している(左右方向は逆向き)。つまり、図10の白とびマップ111は、判定結果のマトリクスであるが、この白とびマップ111において、座標値の小さいほど(水平方向については左側ほど、垂直方向については下側ほど)最近保持された新しい判定結果である。
なお、白とびマップは、図10に示される情報と同等の情報を有していればどのような情報であってもよい。
図9に戻り、以上のような白とびマップを作成した白とび情報保持部42は、その作成した白とびマップを色収差量算出部43に供給する。白とびマップを取得すると、色収差量算出部43は、ステップS24において、色収差量算出処理を行う。色収差量算出処理の詳細については、図12のフローチャートを参照して後述する。
また、紫領域算出部45は、ステップS25において、ラインメモリ44より色信号を取得し、紫領域算出処理を行う。紫領域算出処理の詳細については、図17のフローチャートを参照して後述する。
ステップS26において、補正済み信号生成部46は、補正済み信号生成処理を行う。補正済み信号生成処理の詳細については、図19のフローチャートを参照して後述する。補正済み信号生成処理が終了すると、その補正済み信号に対して、補正リミッタ47がステップS27において補正済み信号に対して補正リミッタ処理を行い、ぼかし48がステップS28においてぼかし処理を行う。
ステップS29において、混合処理部49は、白とびに応じた色収差量(色消しゲイン)に基づいて、無補正信号と補正済み信号の混合処理を行う。混合処理の詳細については、図20のフローチャートを参照して後述する。混合処理が終了し、補正後信号が出力されると、色収差補正部29は、色収差補正処理を終了し、図8のステップS9に処理を戻し、ステップS10以降の処理を実行させる。
次に、図9の各処理の詳細について説明する。最初に、図9のステップS21において実行される白とび判定処理の詳細な流れの例を、図11のフローチャートを参照して説明する。
輝度信号が供給されると白とび判定部41は、白とび判定処理を開始する。白とび判定処理が開始されると、白とび画素閾値判定部61は、ステップS41において、閾値を用いて、処理対象である注目画素の白とび画素判定を行う。すなわち、白とび画素閾値判定部61は、入力された輝度信号の注目画素の輝度値を、予め保持している所定の閾値と比較し、注目画素が白とび画素となりうるか否か(輝度値が飽和しているか否か)を判定する。
ステップS42において、判定結果保持部63は、白とび複数画素判定部62を介して、その注目画素に関する閾値判定結果を取得すると、それを保持する。ステップS43において、白とび複数画素判定部62は、閾値判定結果に基づいて、白とび画素閾値判定部61において注目画素が白とび判定されたか否かを判定する。白とび判定されたと判定した場合、白とび複数画素判定部62は、処理をステップS44に進め、判定結果保持部63より、注目画素の近傍(図10の例の場合、注目画素を中心とする9画素×9画素)の画素(近傍画素)の判定結果を取得する。
近傍画素の判定結果を取得すると、白とび複数画素判定部62は、ステップS45において、その近傍画素の判定結果に基づいて、注目画素近傍に白とび判定された画素が存在するか否かを判定し、存在すると判定した場合、処理をステップS46に進め、注目画素を白とび画素と判定し、その判定結果を白とび情報保持部42に供給する。判定結果を供給すると白とび複数画素判定部62は、白とび判定処理を終了し、処理を図9のステップS21に戻し、ステップS22以降の処理を実行させる。
また、ステップS45において、注目画素近傍に白とび判定された画素が存在しないと判定した場合、白とび複数画素判定部62は、処理をステップS47に進め、その注目画素を欠陥画素として無視し、その判定結果を白とび情報保持部42に供給する。判定結果を供給すると白とび複数画素判定部62は、白とび判定処理を終了し、処理を図9のステップS21に戻し、ステップS22以降の処理を実行させる。
さらに、ステップS43において、白とび画素閾値判定部61において注目画素が白とび判定されなかったと判定した場合、白とび複数画素判定部62は、処理をステップS48に進め、注目画素を白とびしなかった画素と判定して無視し、その判定結果を白とび情報保持部42に供給する。判定結果を供給すると白とび複数画素判定部62は、白とび判定処理を終了し、処理を図9のステップS21に戻し、ステップS22以降の処理を実行させる。
以上のように、注目画素の閾値判定だけでなく、近傍画素の判定結果も含めて、注目画素が白とび画素であるか否かを判定することにより、白とび判定部41は、欠陥画素の白とびを無視することができ、より正確な白とび画素の検出を行うことができる。すなわち、色収差補正部29は、この白とび画素の検出結果を用いることにより、より正確な色収差補正を行うことができる。
次に、図9のステップS24において実行される色収差量算出処理の詳細な流れの例を、図12のフローチャートを参照して説明する。また、必要に応じて、図13乃至図16を参照して説明する。
色収差量算出処理が開始されると、色収差マップ生成部72は、ステップS61において、色収差モデル保持部71より色収差モデルを取得し、ステップS62において、その色収差モデルに基づいて、図13に示されるような色収差マップを生成する。
図13は、色収差マップの構成例を説明する模式図である。
図13において、色収差マップ121は、注目画素の周囲の色収差量の分布の様子を示すマップ情報であり、図10の白とびマップ111と同様に、処理対象の注目画素を中心とする9画素×9画素のマップ情報である。ただし、この色収差マップ121においては、9画素×9画素の全画素に、それぞれ、色収差量が割り当てられている。つまり、図13の例の場合、色収差マップ121は、81個の色収差量の情報が9×9のマトリクス状に配置されている。
なお、色収差マップは、図13に示される枠123内のように、色収差マップ121の一部のみとしてもよい。このようにすることにより色収差マップの情報量を削減することができ、色収差マップを用いた各処理の負荷を軽減させることができ、回路規模の縮小や、製造や運用等のコストを低減させることができる。なお、後述するように、この色収差マップは、図10の白とびマップ111とマッチング(位置合わせ)させて利用されるが、枠123内のみの情報を色収差マップとして利用する場合、座標変換を行うことにより、マッチングを成立させることができる。
図12に戻り、色収差マップが生成されると、色収差マップ保持部73は、ステップS63において、それを取得して保持する。ステップS64において、マップ比較部76は、白とび情報保持部42より、注目画素の白とびマップを取得する。白とび情報保持部42は、保持している白とび判定部41より供給される判定結果群から、マップ比較部76における注目画素の近傍画素の判定結果を抽出して、その注目画素の白とびマップを作成し、所定のタイミングでそれをマップ比較部76に供給する。マップ比較部76は、その白とびマップを取得する。なお、マップ比較部76が白とび情報保持部42に白とびマップの供給を要求し、その要求に基づいて白とびマップが白とび情報保持部42からマップ比較部76に供給されるようにしてもよい。
ステップS65において、倍率色収差補正部75は、倍率色収差情報保持部74より倍率色収差情報を取得する。倍率色収差は、各色の波長の差が像倍率の違いとなって現れる現象であるが、この倍率色収差によって、図14に示されるように、画像の端付近において色収差の分布に歪みが生じる。
図14は、倍率色収差の例を説明する模式図である。図14において、画面131の中央付近の画素132Aの周囲では、顕著な倍率色収差は発生せず、波長によって光軸上の焦点位置が異なることにより発生する軸上色収差によるものが主となり、その色収差の分布133Aは、画素132Aを中心として略均等に広がる。これに対して、画面131の端の画素の周囲では、顕著な倍率色収差が発生するので、色収差の分布に偏りが生じる。例えば、図14の場合、画面131の左上端の画素132Bの分布133Bは、その中心が、画素132Bより左上にずれており、画面131の右下端の画素132Cの分布133Cは、その中心が、画素132Cより右下にずれている。
従って、色収差マップは、注目画素の画面内位置に応じて補正を行う必要がある。図12のステップS65において、倍率色収差補正部75が取得した倍率色収差情報は、このような、画面内位置と色収差分布のずれとの関係を示す情報を含んでいる。図12のステップS66において、倍率色収差補正部75は、取得した倍率色収差情報を参照し、注目画素の画面内位置に基づいて、倍率色収差補正が必要であるか否かを判定する。
注目画素が画面の端付近の画素であり、倍率色収差補正が必要であると判定した場合、倍率色収差補正部75は、処理をステップS67に進め、倍率色収差情報に基づいて、色収差マップのマップシフト量を算出し、ステップS68において、色収差マップ保持部73に保持されている色収差マップをシフトして、倍率色収差によるずれを補正した色収差マップを生成する。この補正後の色収差マップも色収差マップ保持部73に保持される。
ステップS68の処理を終了すると、倍率色収差補正部75は、処理をステップS69に進める。また、ステップS66において、注目画素が画面中央付近の画素であり、倍率色収差補正が必要でないと判定した場合、倍率色収差補正部75は、ステップS67およびステップS68の処理を省略し、ステップS69に進める。
ステップS69において、マップ比較部76は、色収差マップ保持部73が保持している色収差マップ(倍率色収差に対する補正が行われた場合、その補正後の色収差マップ)を取得し、白とびマップおよび色収差マップに基づいて色収差量を算出する。
図15は、倍率色収差が無い場合のマッチング方法の例を説明する図である。
図15の一番左に示されるように、白とびマップ140において、注目画素141の座標が(0,0)であり、その近傍の座標(2,2)に白とび画素142が存在するとする。マップ比較部76は、この白とび画素に色収差マップの注目画素(座標(0,0))をマッチングさせるために、白とびマップ140の各画素をシフトする(x座標およびy座標に「−2」を加算する)。図15の中央に示されるように、色収差マップ143は、分布144の一部の情報であるが、このシフトによって、白とび画素142は、分布144の中心(色収差マップ143における注目画素)にマッチングされる。
このマッチングにより、白とびマップ140における注目画素141の座標は(−2,−2)にシフトされており、色収差マップ143上に位置していないが、その場合、マップ比較部76は、図15の一番右に示されるように、座標変換を行い、x座標およびy座標をそれぞれ絶対値化することにより、注目画素141を座標(2,2)の注目画素145の位置に移動させ、色収差マップ143上に位置させる。
つまり、注目画素145の位置(2,2)の色収差量が、白とび画素142に起因する注目画素141の色収差量になる。白とびマップ140の注目画素の周囲に白とび画素が複数存在する場合、マップ比較部76は、各白とび画素に対して上述のマッチング処理を行い、各白とび画素による色収差量の積分(合計)値を、注目画素の色収差量とする。
このように、マップ比較部76は、白とびマップの白とび画素を色収差マップの注目画素にマッチングさせ、さらに必要に応じて座標変換を行い、注目画素を色収差マップ上に移動させ、その色収差マップから注目画素の位置の色収差量を求める処理を、白とびマップの全白とび画素のそれぞれについて行い、全白とび画素に対応する色収差量の積分値を注目画素の色収差量とする。
換言すると、マップ比較部76は、白とびマップの注目画素を、色収差マップの注目画素にマッチングさせ、さらに、必要に応じて座標変換を行い、白とび画素を色収差マップ上に移動させ、その色収差マップから白とび画素の位置の色収差量を全て求め、それらの積分値を注目画素の色収差量とする。
実際の色収差の場合、注目画素である補正対象画素は周囲にどれだけハイコントラストな被写体があるかで色収差量が決まる。従って、色収差量算出部43は、上述したように、補正範囲内(白とびマップ内)の全ての白とび画素に対して色収差マップを適用し、すべての白とび画素からの情報を積分することで補正量を算出することにより、注目画素である補正対象画素から最も近接する白とび画素までの距離に基づいて補正量を決定する方法と比べて、より正確に色収差量を算出することができる。また、マップ情報をマッチングさせるだけなので、注目画素である補正対象画素から最も近接する白とび画素までの距離に基づいて補正量を決定する方法のように複雑な演算を行う必要が無く、色収差量算出部43は、より容易に色収差量を算出することができる。つまり、色収差補正部29は、より容易に、より正確な色収差補正を行うことができる。
図16は、倍率色収差がある場合のマッチング方法の例を説明する図である。
この場合、図16に示されるように、倍率色収差補正により、倍率色収差の影響に応じて座標をシフトさせてからマッチングが行われる。例えば、図16の一番左に示されるように、色収差マップ143の分布144の中心画素は、倍率色収差に合わせて、座標(1,−1)にずらしてある。マップ比較部76は、色収差マップ140の白とび画素142を色収差マップ143の注目画素にマッチングさせた後、その白とび画素142を、色収差マップ143の分布144の中心画素にマッチングさせるように(白とび画素146)、白とびマップの全画素をシフトさせる。
このシフトにより、注目画素141の座標は(−2,−2)から(−3,−1)にシフトする(注目画素147)。そして、マップ比較部76は、座標変換を行い、この注目画素147の座標を絶対値化し、図16の一番右に示されるように、座標(3,1)の注目画素148の位置に移動させ、色収差マップ143上に位置させる。
つまり、注目画素148の位置(3,1)の色収差量が、白とび画素146に起因する注目画素148の色収差量になる。マップ比較部76は、このような処理を白とびマップ140の各白とび画素について行い、その積分値を注目画素の色収差量とする。
このように、軸上色収差および倍率色収差の両方を考慮して色収差量を算出することにより、色収差量算出部43は、軸上色収差のみに基づいて色収差量を算出する場合や倍率色収差のみに基づいて色収差量を算出する場合と比べて、より正確に色収差量を算出することができる。また、白とびマップと色収差マップの両方を用いることにより、色収差量算出部43は、軸上色収差および倍率色収差をを単離することなく、1つの色収差として色収差量を求めることができ、より容易に、より正確な色収差量を算出することができる。つまり、色収差補正部29は、より容易に、より正確な色収差補正を行うことができる。
図12に戻り、色収差量を算出すると、マップ比較部76は、その色収差量を補正済み信号生成部46に供給し、色収差量算出処理を終了し、処理を図9のステップS24に戻し、ステップS25以降の処理を実行させる。
次に、図9のステップS25において実行される紫領域算出処理の詳細な流れの例を、図17のフローチャートを参照して説明する。また、必要に応じて、図18を参照して説明する。
紫領域算出処理が開始されると、紫領域算出部45の第1補正値算出部81は、ステップS81において、以下の式(4)に示される第1補正式を用いて、第1補正値を算出する。
第1補正値=(Cr + offset1) * gain_ry1 + (Cb + offset2) * gain_by1
・・・(4)
式(4)において、offset1,offset2,gain_ry1、およびgain_by1は、それぞれ所定の定数であり、CrはCr信号値であり、CbはCb信号値である。
ステップS82において、紫領域算出部45の第2補正値算出部82は、以下の式(5)に示される第2補正式を用いて、第2補正値を算出する。
第2補正値=(Cr + offset1) * gain_ry2 + (Cb + offset2) * gain_by2
・・・(5)
式(5)において、offset1,offset2,gain_ry2、およびgain_by2は、それぞれ所定の定数であり、CrはCr信号値であり、CbはCb信号値である。
第1補正値および第2補正値が算出されると、補正値選択部83は、ステップS83において、第1補正値と第2補正値のうち、小さい方を選択し、ステップS84において、その選択結果を紫度として出力する。
つまり、紫領域算出部45は、図18に示されるように、Cb(B−Y)をx軸とし、CR(R−Y)をy軸とし、出力レベルをz軸とする空間(x,y、およびzがいずれも正の範囲の空間)において、第1補正式で表される平面Aと第2補正式で表される平面Bの2平面のうち、出力レベルが小さい方で示される、色収差補正したい色(紫色)に対して大きな出力がでるような補正値を算出する。
offset1,offset2,gain_ry1,gain_by1,gain_ry2、およびgain_by2の各パラメータは、この平面Aおよび平面Bの位置や傾きを決定するパラメータであり、その値は、どの色領域の出力レベルを強調するかによって決定される。例えば、図18の例の場合、各パラメータの値は、以下のように決定される。
offset1 = offset2 = 0
gain_ry1 = gain_by1 = gain_ry2 = 2.0
gain_by2 = -2.0
紫度を出力すると、補正値選択部83は、紫領域算出処理を終了し、処理を図9のステップS25に戻し、ステップS26以降の処理を実行させる。
次に、図9のステップS26において実行される補正済み信号生成処理の詳細な流れの例を、図19のフローチャートを参照して説明する。
補正済み信号生成処理が開始されると、ステップS101において、乗算器91は、紫度(P)と色収差量(A)を乗算し、白とびに応じた色収差量(P*A(0≦P*A≦1))を生成する。つまり、乗算器91は、白とびによる色収差量に紫度を乗算することにより、紫色の部分の色収差量を大きくする(または、紫色でない部分の色収差量を小さくする)ように補正する。
ステップS102において、減算器92は、値「1」から、ステップS101において算出された白とびに応じた色収差量(P*A)を減算することにより、白とびに応じた色収差量(P*A)の値を反転し、補正ゲイン(1−P*A(0≦1−P*A≦1))を生成する。
そして、ステップS103において、乗算器93は、その補正ゲイン(1−P*A)を色信号(Cr,Cb)に乗算し、補正済み信号(Cr(1−P*A),Cb(1−P*A))を生成する。つまり、補正済み信号生成部46は、白とび画素により近く、かつ、補正すべき色(例えば、紫色)により近い色の画素に対して、より強く色消しを行った補正済み信号を生成し、出力する。
このように紫度を考慮して補正を行うことにより、補正済み信号生成部46は、単に、白とび画素近傍の画素に対して色収差補正を行う方法や、単に紫度のみに基づいて色収差補正を行う方法よりも、より正確な色収差補正を行った補正済み信号を生成することができる。つまり、色収差補正部29は、より正確に色収差補正を行うことができる。
補正済み信号を生成すると、乗算器93は、補正済み信号生成処理を終了し、処理を図9のステップS26に戻し、ステップS27以降の処理を実行させる。
図9のステップS29において実行される補正済み混合処理の詳細な流れの例を、図20のフローチャートを参照して説明する。
混合処理が開始されると、ステップS121において、乗算器101は、無補正信号に、色消しゲイン(白とびに奥羽自他色収差量)を乗算する。ステップS122において、減算器102は、値「1」より、その色消しゲインを減算し、色消しゲインを反転する。
ステップS123において、乗算器103は、補正済み信号に、反転した色消しゲインを乗算する。ステップS124において、加算器104は、ステップS121において算出された乗算結果と、ステップS123において算出された乗算結果を加算し、補正後信号(混合信号)として出力する。
すなわち、混合処理部49は、無補正信号、補正済み信号、および色消しゲインを用いて、以下の式(6)を演算し、無補正信号と補正済み信号を、色消しゲイン(P(0≦P≦1))の値に応じた比率で混合する。
混合信号=(無補正信号×P)+(補正済み信号×(1−P)) ・・・(6)
このように、混合処理部49は、色消しゲインを用いて、色収差補正された画素は補正データを、色収差補正されていない画素はオリジナルデータを出力するように無補正信号と補正済み信号を混合する。このように補正前の画像データを混合することにより、混合処理部49は、補正されていない部分の画質の劣化を抑制し、かつ、より自然な色収差補正結果を得ることができる。つまり、色収差補正部29は、不要な画質の劣化や不自然な補正を抑制し、より適切な色収差補正を行うことができる。
ステップS124の処理を終了すると、加算器104は、混合処理を終了し、処理を図9のステップS29に戻し、色収差補正処理を終了させる。
以上のように、色収差補正部29は、より容易に、より正確な色収差補正を行うことができるので、画像処理部14は、入力された画像信号に対して、より容易に、より正確な色収差補正を行うことができる。また、これにより撮像装置1は、より容易に、より正確に色収差補正が行われた撮像画像データを得ることが出来る。
なお、以上においては、色収差補正部29の白とび判定部41は、輝度信号を用いて白とび判定を行うように説明したが、式(1)にも示されるように、輝度信号(Y信号)とRGB信号の緑信号(G信号)は、相関性が強いので、白とび判定部41は、G信号を用いて白とび判定を行うようにしてもよい。
以上のように輝度信号を用いて白とび判定を行う場合、白とびマップ生成のために遅延が生じるので、ラインメモリ27において輝度信号を保持する必要がある。例えば、白とびマップが画像垂直方向に20ライン分の範囲で作成するとすると、ラインメモリ27は、図21Aに示されるように、20ライン分の輝度信号を保持しなければならない。1ラインが2000画素とし、輝度値が8ビットのデータとすると、8(ビット)×20(ライン)×2000(画素)=320000ビットの記憶領域が必要になる。
また、その遅延の間、色信号もラインメモリ44により保持しなければならない。つまり、上述の例の場合、図21Bに示されるように、ラインメモリ44は、10ライン分のデータを保持しなければならないので、1ラインが2000画素とし、色値が8ビットのデータとする場合、8(ビット)×10(ライン)×2000(画素)=160000ビットの記憶領域が必要になる。
つまり、図1の画像処理部14の場合、色収差補正のために、320000+160000=4800000ビットの記憶領域が必要になる。
図1の撮像装置1の場合、輝度信号を用いて色とび判定が行われるため、画像処理部14において、色収差補正部29の白とび判定部41は、画像信号に対して、光学素子・撮像素子補正処理部21乃至γ補正部25により各種処理が行われた後、Y信号処理部26が輝度信号を生成するまで白とび判定を行うことができない。
ところで、光学素子・撮像素子補正処理部21乃至γ補正部25による各種処理の内、例えば、ノイズリダクション処理部22によるノイズリダクション処理や、デモザイク処理部23によるデモザイク処理等においては、画像の垂直方向に対しても複数ラインに渡る空間的な処理が行われる。そのため、ノイズリダクション処理部22やデモザイク処理部23は、ラインメモリを有し、複数ラインの画像信号を所定の期間保持する。そのため、それらの出力は、その分遅延される。
例えば、このような空間的な処理を行う例として、図22に示されるようなローパスフィルタがある。図22は、画像垂直方向の5タップローパスフィルタの構成例を示すブロック図である。
図22に示されるローパスフィルタは、加算器201、SRAM202、乗算器203、SRAM204、乗算器205、SRAM206、乗算器207、SRAM208、および除算器209を有している。
SRAM202、SRAM204、SRAM206、およびSRAM208は、それぞれ1ライン分の画像信号を保持するラインメモリである。これらは、直列に接続されており、新たな1ライン分の画像信号がSRAM202に供給されると、各SRAMが保持している画像信号は、順番に転送される。また、SRAM202の出力は乗算器203により4倍されて加算器201に供給される。同様に、SRAM204の出力は乗算器205により6倍され、SRAM206の出力は乗算器207により4倍されて、それぞれ、加算器201に供給される。また、SRAM202の入力と、SRAM208の出力は、そのまま加算器201に供給される。
加算器201は、それらの入力を全て加算し、加算結果を除算器209に供給する。除算器209は、加算結果の16分の1を出力する。
つまり、このローパルフィルタは、(1, 4, 6, 4, 1)という縦方向のローパスフィルタであり、1ライン分の画像信号を保持するラインメモリ(SRAM)を用いて、縦方向に4段連結するように構成されている。図21において、下側のSRAMの方がより過去(画面上側)のデータが保持され、上側のSRAMの方がより新しい(画面下側)データが保持されている。このとき、画像データの出力位相はこのローパスフィルタの中央、すなわちSRAM204に保持され、乗算器205により6倍されて出力されるカレント信号に対して2ライン分遅延することになる。
このように、画像処理において縦方向の複数画素を使って処理をする場合には上記のようなSRAMを用いた構成が必要になり、それにより、数ライン分の遅延が生じることになる。
そこで、上述したように緑信号(G信号)を用いて白とび判定を行うようにすることにより、このラインメモリ(SRAM)による遅延を利用し、色収差補正に必要なメモリ量を削減するようにしてもよい。
図23は、本発明を適用した撮像装置の他の構成例を示すブロック図である。
図23において、撮像装置251は、図1の撮像装置1の構成の画像処理部14の代わりに画像処理部264を有している。
画像処理部264は、画像処理部14と同様の、光学素子・撮像素子補正処理部21、ノイズリダクション処理部22、デモザイク処理部23、ホワイトバランス処理部24、γ補正部25、Y信号処理部26、およびC信号処理部28を有し、さらに、白とび判定部271、白とび情報保持部272、および色収差補正部273を有している。
白とび判定部271は、基本的に図3に示される白とび判定部41と同様の構成を有し、同様の処理を行うが、白とび判定部41が輝度信号を用いて白とび判定を行うのに対して、AD変換部13より出力される緑信号(G信号)を用いて白とび判定を行う。ただし、判定処理の方法は、どちらも同じであり、白とび判定部271は、緑信号より得られた白とび判定結果(例えば、1ビットの情報)を白とび情報保持部272に供給する。
白とび情報保持部272は、図2の白とび情報保持部42と同様に、白とび判定部271より供給される判定結果を白とび情報として一時的に保持する。そして、白とび情報保持部272は、ノイズリダクション処理やデモザイク処理が行われている間に蓄積した白とび情報から、色収差補正部273における注目画素の白とびマップを生成し、それを所定のタイミングで色収差補正部273に供給する。
色収差補正部273は、その白とびマップを用いて色信号の色収差補正を行う。
図24は、図23の色収差補正部273の詳細な構成例を示すブロック図である。図24において、色収差補正部273は、色収差量算出部43、紫領域算出部45、補正済み信号生成部46、補正リミッタ47、ぼかし48、および混合処理部49を有している。
つまり、色収差補正部273の構成は、図2の色収差補正部29の構成から、白とび判定部41、白とび情報保持部42、およびラインメモリ44を除いたものと同等であるので、各部についての説明は省略する。
次に、図23の画像処理部264により実行される画像処理の流れの例を、図25のフローチャートを参照して説明する。この図25の画像処理のフローは、図1の画像処理部14による図8の画像処理のフローに対応する。
画像処理が開始されると、最初に、画像処理部264の白とび判定部271は、AD変換部13より供給される緑信号(G信号)を用いて、白とび判定処理を行う。この白とび判定処理は、図11のフローチャートを参照して説明した場合と同様に行われるので、その詳細な説明は省略する。ただし、図25の場合、輝度信号の代わりに緑信号(G信号)が用いられる。
ステップS201の白とび判定処理が終了すると、白とび情報保持部272は、ステップS202において、その判定結果を保持する。
ステップS203乃至ステップS209の各処理は、図8のステップS1乃至ステップS8と同様に実行される。
ステップS210において、白とび情報保持部272は、保持している判定結果から、色収差補正部273における注目画素の白とびマップを作成し、それを色収差補正部273に供給する。色収差補正部273は、ステップS211において、色収差補正処理を実行し、ステップS212において、輝度信号および色信号を出力し、画像処理を終了する。
次に、図25のステップS211において実行される色収差補正処理の詳細な流れの例を図26のフローチャートを参照して説明する。この図25の色収差補正処理のフローは、図2の色収差補正部29による図9の色収差補正処理のフローに対応する。
色収差補正処理が開始されると、色収差補正部273の各部は、図9のステップS24乃至ステップS29の場合と同様に、ステップS231乃至ステップS236の処理を実行し、混合信号を出力する。つまり、色収差補正部273は、予め、白とびマップが生成されていること以外は、図2の色収差補正部29と同様に色収差補正処理を行う。混合信号を出力すると、混合処理部49は、色収差補正処理を終了し、図25のステップS211に処理を戻し、ステップS212以降の処理を実行させる。
以上のように、AD変換部13の出力を用いて白とび判定処理を先に行い、この白とび情報を、例えば1ビットの情報として白とび情報保持部273に保持させる。このような構成により、画像データがAD変換部13から色収差補正部273に到達するまでの時間差(遅延)を利用して、白とび情報を蓄積しておくことができる。つまり、画像処理部の各部が有するラインメモリを利用して、白とびマップ作成のために白とび情報を蓄積する時間を省略することができるので、色収差補正に必要なメモリの容量を大幅に削減することができる。この時間差はノイズリダクション処理やデモザイク処理等の縦方向の空間的な処理を行う回路の量、すなわちラインメモリの本数によって決定される。
図27は、図23の画像処理部264における時系列における白とび検出処理と色収差補正処理との関係を説明する図であり、図28は、図23の画像処理部264における画面内における白とび検出処理と色収差補正処理との関係を説明する図である。
例えば、AD変換部13より供給される画像信号が、図27Aに示される垂直同期信号(V)と図27Bに示される水平同期信号(H)を有し、図27Cに示される画像読み出しラインのようにCCD12から1ラインずつ読み出されている信号であるとする。このような画像信号の9ライン目が画像処理部264に入力されると、図27Dに示されるように、白とび判定部271による白とび画素の検出がその9ライン目に対して行われ、色収差補正部273による色収差補正が例えば5ライン目に対して行われる。このとき、補正範囲(白とびマップの範囲)は、図27Eに示されるように、2ライン目乃至8ライン目である。
つまり、図28に示されるように、画面291において、9ライン目の白とび検出注目画素292に対して白とび判定が行われるとき、5ライン目の色収差補正注目画素293に対する白とびマップとして、太線で示される2ライン目乃至8ライン目の補正範囲294内の判定結果が色収差補正部273に出力される。色収差補正部273は、この白とびマップを用いて5ライン目の色収差補正注目画素293に対して色収差補正処理を行う。
つまり、この場合、白とびマップの生成により4ライン分の遅延が生じるが、上述したように他の処理の遅延を利用するため、実際には、白とびマップの生成による遅延は発生しない。
つまり、図23に示される画像処理部264の場合、色収差補正部273において遅延が発生しないので、図1の画像処理部14のラインメモリ27およびラインメモリ44(図2)を省略することができる。なお、白とび情報保持部272の記憶領域は、例えば、図29に示されるように、1(ビット)×20(ライン)×2000(画素)=40000ビットあればよい。すなわち、画像処理部264は、これに対して図21に示される記憶領域を省略することが出来るので、色収差補正処理に必要な記憶容量を大幅に削減することができ、回路規模を縮小することができ、製造コストを低減させることができる。また、消費電力を低下させ運用コストを低減させることもできる。また、部品点数の削減により、耐久性や信頼性を向上させることもできる。つまり、画像処理部264は、より容易に、より容易な色収差補正を行うことができる。
なお、以上において撮像装置について説明したが、画像処理を行う装置であればどのようなものであってもよい。
また、以上においては、白とびマップと色収差マップを作成して比較するように説明したが、これらのマップの範囲の大きさや形状は、上述した例以外のどのようなものであってもよい。また、白とびマップと色収差マップで範囲の大きさや形状が互いに異なるようにしてもよい。さらに、実質的に、上述した白とびマップや色収差マップと同等の情報を有し、それらを上述したように比較して色収差補正を行うことができるものであれば、各画素についてデータを羅列したマップ情報以外であってもよく、例えば、必要な情報のみをテーブル化したテーブル情報であってもよいし、座標と値を関数化したものであってもよい。つまり、例えば、画像処理部14および画像処理部264が、白とびに依存した関数(白とび画素の分布を示す白とび分布情報)と、色関数の出力(注目画素の白とびによる周辺画素の色収差に関する補正量である色収差量の分布を示す色収差量分布情報)を乗算した結果を用いて色消しを行うようにしてもよい。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、上述した各装置は、それぞれ、図30に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
図30において、パーソナルコンピュータ300のCPU(Central Processing Unit)301は、ROM(Read Only Memory)302に記憶されているプログラム、または記憶部313からRAM(Random Access Memory)303にロードされたプログラムに従って各種の処理を実行する。RAM303にはまた、CPU301が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU301、ROM302、およびRAM303は、バス304を介して相互に接続されている。このバス304にはまた、入出力インタフェース310も接続されている。
入出力インタフェース310には、キーボード、マウスなどよりなる入力部311、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部312、ハードディスクなどより構成される記憶部313、モデムなどより構成される通信部314が接続されている。通信部314は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース310にはまた、必要に応じてドライブ315が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア321が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部313にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図30に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア1621により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM302や、記憶部313に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、以上において、一つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて一つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1 撮像装置, 14 画像処理部, 21 光学素子・撮像素子補正処理部, 22 ノイズリダクション処理部, 23 デモザイク処理部, 24 ホワイトバランス処理部, 25 γ補正部, 26 Y信号処理部, 27 ラインメモリ, 28 C信号処理部, 29 色収差補正部, 41 白とび判定部, 42 白とび情報保持部, 43 色収差量算出部, 44 ラインメモリ, 45 紫領域算出部, 46 補正済み信号生成部, 47 補正リミッタ, 48 ぼかし, 49 混合処理部, 61 白とび画素閾値判定部, 62 白とび複数画素判定部, 63 判定結果保持部, 71 色収差モデル保持部, 72 色収差マップ生成部, 73 色収差マップ保持部, 74 倍率色収差情報保持部, 75 倍率色収差補正部, 76 マップ比較部, 81 第1補正値算出部, 82 第2補正値算出部, 83 補正値選択部, 91 乗算器, 92 減算器, 93 乗算器, 101 乗算器, 102 減算器, 103 乗算器, 104 加算器, 251 撮像装置, 264 画像処理部, 271 白とび
判定部, 272 白とび情報保持部, 273 色収差補正部