(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
《一の実施形態》
図1は、本発明の一の実施形態に係るデジタルカメラの構成を示すブロック図である。
【0017】
本実施形態のデジタルカメラは、撮像光学系11、撮像素子12、AFE13、バッファメモリ14、画像処理部15、モニタ16、記憶部17、CPU18、操作部材23、記録I/F24、バスから構成される。バッファメモリ14、画像処理部15、モニタ16、記憶部17、CPU18、記録I/F24は、バスを介して情報伝達可能にそれぞれ接続される。また、操作部材23はCPU18に接続される。
【0018】
撮像光学系11は、ズームレンズやフォーカシングレンズを含む複数のレンズ群で構成されている。撮像光学系11のレンズ位置は、レンズ駆動部(不図示)によって光軸方向に調整される。なお、簡単のため、
図1では撮像光学系11を1枚のレンズとして図示する。
【0019】
撮像素子12は、撮像光学系11を通過した光束によって結像される被写体を撮像するデバイスである。この撮像素子12の出力はAFE13に入力される。なお、本実施形態の撮像素子12は、順次走査方式の固体撮像素子(CCD等)であっても、XYアドレス方式の固体撮像素子(CMOS等)であってもよい。
【0020】
撮像素子12は、デジタルカメラの撮影モードにおいて、操作部材23を構成するレリーズ釦の全押し操作に応答して記録画像(本画像)を撮像する。また、撮影モードでの撮像素子12は、撮影待機時にも所定の時間間隔で構図確認用画像(スルー画像)を撮像する。このスルー画像のデータは、撮像素子12から間引き読み出しで出力される。なお、スルー画像のデータは、モニタ16での画像表示や、CPU18による各種演算処理などに使用される。
【0021】
また、撮像素子12の受光面には、
図2に示すように、複数の受光素子がマトリックス状に配列されている。撮像素子12の各受光素子には、赤色(R)、緑色(Gr、Gb)、青色(B)のカラーフィルタが公知のベイヤ配列にしたがって配置されている。そのため、撮像素子12の各受光素子は、カラーフィルタでの色分解によってそれぞれの色に対応する画像信号を出力する。これにより、撮像素子12は、カラーの画像を取得できる。なお、
図2は、撮像素子12の一部の受光素子およびカラーフィルタの配列を示す。
【0022】
ここで、ラインクロールについて簡単に説明する。例えば、被写体から赤色の光が撮像素子12の受光面に対して斜めに入射する場合、通常、赤色の光は赤色を透過するRフィルタが配置された受光素子(以下、R画素と称す)のみで受光される。しかしながら、Rフィルタを透過した光の一部が入射方向に応じて隣接するGrまたはGbフィルタが配置された受光素子(以下、Gr画素またはGb画素と称す)に漏れ込んでしまう。その結果、漏れ込みの影響を受けたGr画素またはGb画素は、漏れ込みのないGb画素またはGr画素と異なる画素値を有し、いわゆる水平または垂直走査方向の行や列ごとに特性が異なるラインクロールが重畳する。なお、青色の光が斜めに入射する場合についても同様である。なお、以下において、漏れ込みの影響を受けたG画素を第1画素群と称し、漏れ込みのないG画素を第2画素群と称すが、その逆であってもよい。
【0023】
AFE13は、撮像素子12の出力に対してアナログ信号処理を施すアナログフロントエンド回路である。このAFE13は、相関二重サンプリング、画像信号のゲインの調整、画像信号のA/D変換を行う。AFE13の出力は、バッファメモリ14に一時的に記録される。なお、本実施形態では、撮像素子12とAFE13とで撮像部を構成する。また、バッファメモリ14は、一般的な揮発性の半導体メモリ等を適宜選択して用いることができ、画像処理部15による画像処理の前工程や後工程での画像データをも一時的に記憶する。
【0024】
画像処理部15は、バッファメモリ14に記憶された1フレーム分のデジタル画像信号に対して、各種画像処理(例えば、色補間処理、階調変換処理、ホワイトバランス処理、輪郭強調処理など)を施す。
【0025】
モニタ16は、液晶モニタなどの表示部であり、CPU18の指示に応じて各種画像を表示する。
【0026】
記憶部17は、デジタルカメラによって撮像された本画像のデータ、CPU18によって実行される制御プログラムや画像処理プログラムなどを記憶する。なお、記憶部17には、不揮発性の半導体メモリなどを用いることができる。
【0027】
CPU18は、デジタルカメラの各部を統括的に制御するプロセッサである。CPU18は、制御プログラムおよび画像処理プログラムを実行することにより、スルー画像のデータに基づいて、位相差検出方式やコントラスト検出方式による公知の自動焦点(AF)制御や、自動露出(AE)演算などを行う。また、CPU18は、撮像した画像のファイル生成処理やモニタ16に対する表示処理などを行う。さらに、本実施形態のCPU18は、画像処理プログラムの実行により、第1算出部19、第2算出部20、補正値取得部21、除去部22として動作する。
【0028】
第1算出部19は、漏れ込みの影響を受けた第1画素群の画素値を補正するために、ラインクロールの除去処理の対象画素の画素値に対し、次式(1)を用いて、対象画素および隣接する第2画素群の画素の画素値から、対象画素の画素値に含まれる第1高周波成分E1(i,j)を算出する。なお、以下の説明において、第1画素群の画素をG1、第2画素群の画素をG2と表し、除去対象の対象画素がGrの場合にはG1=Gr、G2=Gbとなり、対象画素がG
bの場合にはG1=Gb、G2=Grとなる。
E1(i,j)=[G1(i,j)−(G2(i−1,j−1)+G2(i−1,j+1)+G2(i+1,j−1)+G2(i+1,j+1))/4]/2 ・・・(1)
第2算出部20は、次式(2)を用いて、対象画素および近接する第1画素群の画素値から、対象画素の画素値に含まれる第2高周波成分E2(i,j)を算出する。
E2(i,j)=[G1(i,j)−(G1(i−2,j−2)+G1(i−2,j)+G1(i−2,j+2)+G1(i,j−2)+G1(i,j+2)+G1(i+2,j−2)+G1(i+2,j)+G1(i+2,j+2))/8]/2 ・・・(2)
なお、第2算出部20により算出される第2高周波成分E2は、第1画素群のみから求められることから、対象画素の画素位置(i,j)における局所的な画像構造の高周波成分を示す。一方、第1算出部19により算出される第1高周波成分E1は、第1画素群および第2画素群から求められることから、対象画素の画素位置(i.j)における局所的な画像構造とともにラインクロール成分を含む高周波成分を示す。
【0029】
補正値取得部21は、次式(3)を用いて、対象画素における第1高周波成分E1から第2高周波成分E2を減算して、0とE1(i,j)との間で値をクリップする。これにより、補正値取得部21は、上述したように被写体の構造成分が除去され、ラインクロール成分L(i,j)のみを抽出することができる。
L(i,j)=clip[0,E1(i,j)](E1(i,j)−E2(i,j)) ・・・(3)
本実施形態では、ラインクロール成分L(i,j)を対象画素G1(i,j)におけるラインクロールの補正値とする。
【0030】
除去部22は、対象画素G1(i,j)の画素値からラインクロール成分L(i,j)を減算することにより、ラインクロールを除去する。
【0031】
操作部材23は、例えば、レリーズ釦、コマンドダイヤル、十字状のカーソルキー、決定釦などで構成される。そして、操作部材23はデジタルカメラの各種入力をユーザから受け付ける。例えば、操作部材23は、撮像操作、デジタルカメラの動作モードの切替操作や、設定画面での入力操作などに用いられる。
【0032】
記録I/F24には、記憶媒体25を接続するためのコネクタが形成されている。そして、記録I/F24は、コネクタに接続された記憶媒体25に対してデータの書き込み/読み込みを実行する。上記記憶媒体25は、ハードディスクや、半導体メモリを内蔵したメモリカードなどで構成される。なお、
図1では記憶媒体25の一例としてメモリカードを示す。
【0033】
次に、
図3のフローチャートおよび各ステップの処理結果を示す
図4を参照しつつ、本実施形態のデジタルカメラによる処理動作について説明する。
図4(a)〜(d)は、画像のうち隣接する2つの水平走査線上にあるGr画素とGb画素との画素値の一部を、水平走査方向の横軸に並べたものであり、処理前のG画素の画素値の分布、第1高周波成分E1の分布、第2高周波成分E2の分布、ラインクロール成分Lの分布をそれぞれ示す。例えば、
図4(a)において、画素値の波状分布はラインクロールの影響を示し、大きな画素値の段差は被写体のエッジ構造を示す。
【0034】
なお、以下において、本実施形態のデジタルカメラは、撮像モードとして、被写体を単写して静止画像のRAW画像を取得する場合ついて説明するが、連写および動画などの撮像モードの場合についても同様に動作し詳細な説明は省略する。
【0035】
CPU18は、ユーザによる操作部材23の電源釦操作により、電源投入指示を受け付け、デジタルカメラの電源を投入する。CPU18は、記憶部17より制御プログラムおよび画像処理プログラムを読み込んで実行し、デジタルカメラを初期化する。CPU18は、ユーザからの被写体の撮像指示が出されるまで待機する。
【0036】
ステップS101:CPU18は、ユーザによる操作部材23のレリーズ釦の全押し操作を受け付けたか否かを判定する。CPU18は、操作部材23のレリーズ釦の全押し操作を受け付けた場合、撮像指示が出されたと判断して、タイミングジェネレータ(不図示)に対して撮像指令を出す。タイミングジェネレータ(不図示)は、タイミングパルスを撮像素子12に出力し、撮像素子12は撮像光学系11によって結像された被写体を撮像する。CPU18は、撮像されたRAW画像データを、AFE13によってデジタルのデータに変換し、バッファメモリ14に一時的に記録する。CPU18は、ステップS102へ移行する。
【0037】
一方、CPU18は、全押し操作を受け付けていない場合、全押し操作を受け付けるまで待機する。
【0038】
ステップS102:CPU18の第1算出部19は、バッファメモリ14からRAW画像データを読み込み、式(1)に基づいて、対象画素における画素値の第1高周波成分E1(i,j)を算出する(
図4(b))。
【0039】
ステップS103:CPU18の第2算出部20は、式(2)に基づいて、RAW画像データの対象画素における画素値の第2高周波成分E2(i,j)を算出する。
図4(c)に示すように、
図4(b)と比較して、被写体の画像構造に対応する画素以外の画素の第2高周波成分E2は0となることから、第2高周波成分E2は画像構造を反映した成分であることが分かる。
【0040】
ステップS104:CPU18の補正値取得部21は、式(3)に基づいて、第1高周波成分E1から第2高周波成分E2を減算することにより、ラインクロール成分L(i,j)を算出しラインクロールの補正値とする。
図4(d)に示すように、上記減算により、被写体の画像構造が除去され、ラインクロール成分L(i,j)のみが抽出される。
【0041】
ステップS105:CPU18は、全てのGrおよびGb画素について、ラインクロール成分L(i,j)を取得したか否かを判定する。CPU18は、全てのGrおよびGb画素について取得した場合、ステップS106(YES側)へ移行する。一方、CPU18は、全てのGrおよびGb画素についてラインクロール成分L(i,j)を取得していない場合、ステップS102(NO側)へ移行する。CPU18は、全てのGrおよびGb画素のラインクロール成分Lを取得するまで、ステップS102〜ステップS104の処理を行う。
【0042】
ステップS106:CPU18の除去部22は、対象画素(i,j)の画素値からラインクロール成分L(i,j)を減算しラインクロールを除去する。
図5(a)は、
図4(a)から
図4(d)のラインクロール成分L(i,j)を減算した結果を示す。また、
図5(b)は、参考として、従来行われてきた
図4(a)から
図4(b)の第1高周波成分E1を減算した結果を併せて示す。明らかに、
図5(a)の方は、被写体の画像構造が保持され、
図5(b)の方は画像構造が鈍ってしまっていることが分かる。
【0043】
ステップS107:CPU18は、ラインクロールが除去されたRAW画像を画像処理部15へ出力する。画像処理部15は、そのRAW画像に対して、例えば、色補間処理、階調変換処理、ホワイトバランス処理、輪郭強調処理などの各種画像処理を施し、静止画像を出力する。
【0044】
ステップS108:CPU18は、ステップS107において画像処理された静止画像の画像ファイルを生成して、記憶部17や記憶媒体25に記録する。
【0045】
なお、本実施形態のCPU18は、静止画像の画像ファイルとともに、その静止画像に対応付けてRAW画像のデータも記憶部17や記憶媒体25に記録してもよい。また、CPU18は静止画像の画像ファイルの生成にあたり、露光条件などの情報を、Exif(Exchangeable image file format for digital still cameras)規格に準拠したメタデータを画像ファイルのヘッダ領域に付加することが好ましい。これらにより、後述するコンピュータによる画像処理においても、RAW画像に重畳するラインクロールを除去することができる。
【0046】
このように、本実施形態では、2つの第1高周波成分E1と第2高周波成分E2とを算出し、それらに基づいてラインクロールの補正量を取得することにより、被写体の微細な画像構造を消失させることなく、確度高くラインクロールを除去することができる。
《他の実施形態》
図6は、本発明の他の実施形態に係る画像処理プログラムを実行することにより、画像処理装置として動作させるコンピュータ100のブロック図である。
【0047】
図6(a)に示すコンピュータ100は、CPU50、記憶部51、入出力インタフェース(入出力I/F)52、バス53から構成され、CPU50、記憶部51、入出力I/F52は、バス53を介して情報伝達可能に接続される。また、コンピュータ100には、入出力I/F52を介して、画像処理の途中経過や処理結果を表示する出力装置60、ユーザからの入力を受け付ける入力装置70がそれぞれ接続される。出力装置60には、一般的な液晶モニタやプリンタ等を、入力装置70には、キーボードやマウス等をそれぞれ適宜選択して使用できる。
【0048】
CPU50は、コンピュータ100の各部を統括的に制御するマイクロプロセッサである。例えば、CPU50は、入力装置70で受け付けるユーザからの指示に基づいて、記憶部51に記憶されている画像処理プログラムを読み込み、記憶部51に記憶されている画像データに対して画像処理を施す。CPU50は、その画像処理の結果を出力装置60に表示する。なお、本実施形態のCPU50は、画像処理プログラムの実行により、一の実施形態のデジタルカメラのCPU18と同様に、
図1(b)に示すように、第1算出部19、第2算出部20、補正値取得部21、除去部22として動作する。なお、本実施形態の第1算出部19、第2算出部20、補正値取得部21、除去部22は、一の実施形態のものと同様に動作することから、一の実施形態のものと同一の符号付し詳細な説明は省略する。
【0049】
記憶部51は、一の実施形態のデジタルカメラにより撮像された被写体の画像ファイルおよびそのRAW画像データを記憶する。なお、これらの画像ファイルおよびRAW画像データは、有線または無線により直接またはネットワークを介して、一の実施形態のデジタルカメラから取得されたり、記憶媒体25を介して取得されたりして記憶されているものとする。
【0050】
また、記憶部51は、その画像に対するラインクロールを除去したりする画像処理プログラムを記録する。記憶部51には、一般的なハードディスク装置、光磁気ディスク装置等の記憶装置を選択して用いることができる。なお、
図6の記憶部51は、コンピュータ100に組み込まれているが、外付けの記憶装置でもよい。この場合、記憶部51は、入出力I/F52を介してコンピュータ100に接続される。
【0051】
次に、
図7のフローチャートを参照しつつ、本実施形態のコンピュータ100による処理動作について説明する。なお、本実施形態では、記憶部51に予め上記手段で取得されたRAW画像データが記憶されているものとする。
【0052】
ユーザが、入力装置70を用いて、画像処理プログラムのコマンドを入力、または、そのプログラムのアイコンをダブルクリックすることにより、プログラムの起動命令を出す。CPU50は、その命令を入出力I/F52を介して受け付け、記憶部51に記憶されている画像処理プログラムを実行する。その結果、
図7のステップS201からの処理が行われる。
【0053】
ステップS201では、CPU50が、ユーザにより指定されたRAW画像データのファイル名を、入力装置70を介して取得し読み込む。そして、CPU50は、ステップS202〜ステップS208の処理を行う。なお、ステップS202〜ステップS208は、一の実施形態のステップS102〜ステップS108と同じであることから、詳細な説明は省略する。
【0054】
このように、本実施形態では、2つの第1高周波成分E1と第2高周波成分E2とを算出し、それらに基づいてラインクロールの補正量を取得することにより、被写体の微細な画像構造を消失させることなく、確度高くラインクロールを除去することができる。
《実施形態の補足事項》
(1)上記実施形態では、全てのRAW画像データに対してラインクロールを除去したが、本発明はこれに限定されない。例えば、撮像環境(例えば、F値などの撮像条件)によってはラインクロールが目立たない場合があることから、CPU18およびCPU50は、RAW画像が撮像された撮像環境に応じてラインクロールの除去処理を行うか否かを判定し、その判定結果に応じてラインクロールを除去してもよい。また、RAW画像の端の画像領域は、被写体からの光が斜めから入射し易いことから、CPU18およびCPU50は、端の画像領域の画素に対してのみラインクロールの除去処理を行うようにしてもよい。あるいは、CPU18およびCPU50は、RAW画像データにおける色分布や被写体のシーン認識を行い、赤色や青色が多い被写体の場合、ラインクロールの除去処理を行うようにしてもよい。
【0055】
(2)上記実施形態では、補正値取得部21が式(3)を用いてラインクロール成分Lを抽出したが、本発明はこれに限定されない。例えば、補正値取得部21は、所定の定数kを有する次式(4)を用いて、ラインクロール成分Lを抽出してもよい。
L(i,j)=clip[0,E1(i,j)](E1(i,j)−k×E2(i,j)) ・・・(4)
ここで、所定の定数kを用いる理由は、第1高周波成分E1は対象画素G1および隣接する画素G2の画素値から求められることから、被写体の画像構造よりもラインクロールの成分の方が検出され易い。一方、第2高周波成分E2は、対象画素G1および近接する画素G1の画素値から求められることから、被写体の画像構造が検出される。そこで、kの値を上記撮像環境などに応じて調節することにより、例えば、kを1より大きくすると、被写体の画像構造の消失を抑制でき、kを1より小さくすると、ラインクロールを強く抑制できる。
【0056】
また、補正値取得部21は、次式(5)を用いて、ラインクロール成分Lを抽出してもよい。
U=k’×|E2(i,j)|−|E1(i,j)|
S=E1(i,j)/|E1(i,j)|
L(i,j)=clip[0,E1(i,j)](E1(i,j)−S×U) ・・・(5)
ここで、k’は所定の定数であり、1くらいに設定され、Uは0以上の値にクリップされる。Sは第1高周波成分E1の符号を示す。この式(5)を用いることにより、RAW画像データの第2高周波成分E2が、ラインクロール成分を含む第1高周波成分E1よりも大きい場合のみ、ラインクロール補正が抑制され、式(3)と比較して、被写体の画像構造が平坦な領域でラインクロールが強く抑制される。
【0057】
(3)上記一の実施形態では、第1算出部19、第2算出部20、補正値取得部21、除去部22の各処理を、CPU18がソフトウエア的に実現する例を説明したが、ASICを用いてこれらの各処理をハードウエア的に実現してもよい。また、一の実施形態ではベイヤ補間の前にラインクロール除去処理を行ったが、ASICを用いる場合、ベイヤ補間の輝度を生成する処理において、このラインクロールの除去処理を組み込むことが好ましい。すなわち、パイプライン処理で回路を設計する場合、ベイヤ補間で参照する周辺画素とラインクロール除去で参照する周辺画素とを共通のラインメモリから読み出すように設定できるので、ラインメモリを節約してコストを削減できる。
【0058】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図する。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物によることも可能である。