以下、本発明の実施の形態につき、図面を参照して具体的に説明する。参照される各図において、同一の部分には同一の符号を付し、同一の部分に関する重複する説明を原則として省略する。後述する各実施形態にて撮像装置の構成及び動作を説明するが、各実施形態において単に撮像装置と言った場合、それは、本発明の実施の形態に係る撮像装置を意味する。撮像装置は、静止画像を撮影可能なデジタルスチルカメラ、又は、静止画像及び動画像を撮影可能なデジタルビデオカメラである。
以下に、本発明の第1〜第8実施形態を説明するが、或る実施形態にて述べた事項は、矛盾なき限り、他の実施形態にも適用される。
<<第1実施形態>>
まず、本発明の第1実施形態に係る撮像装置について説明する。図1は、第1実施形態に係る撮像装置の全体的構成のブロック図である。
第1実施形態に係る撮像装置は、主制御部11、操作部12、撮像部14、手ぶれ検出部15、手ぶれ信号/動きベクトル変換処理部16、記録媒体17、顔検出部19、動きベクトル/画像劣化関数変換処理部21、画像劣化関数/補正フィルタ変換処理部22、補正領域設定部23及び補正処理部24、を有して構成される。
記録媒体17は、メモリカード等の不揮発性メモリ、SDRAM(Synchronous Dynamic Random Access Memory)等の揮発性メモリ、又は、それらの組み合わせである。記録媒体17は、画像データを含む情報を画像ファイル18として記憶する。画像ファイル18に格納される内容については後述する。
尚、図1には、符号18が付された画像ファイルと、符号が付されていない画像ファイルとが示されているが、両者は同じものである(図示の便宜上、このように示した)。主として撮影時に機能する部位が図1の上方に配置され、主として補正時に機能する部位が図1の下方に配置されている。
主制御部11は、撮像装置内の各部位の動作を統括的に制御する。操作部12は、ユーザによる操作を受け付ける。操作部12に与えられた操作内容は、主制御部11に伝達される。操作部12は、シャッタボタン13を備える。シャッタボタン13は、外力の印加により2段階に押下される。シャッタボタン13を押し下げるための外力を加えると、まず、シャッタボタン13が半分だけ押し下げられた状態となる。この状態を、半押し(ファーストレリーズ)という。この状態から更にシャッタボタン13を押し下げると、シャッタボタン13が完全に押し下げられた状態となる。この状態を、全押し(セカンドレリーズ)という。
[原画像データの生成]
まず、撮影時に関与する部分について説明する。
図2に、撮像部14の内部構成図を示す。撮像部14は、光学系35と、絞り32と、撮像素子33と、ドライバ34と、を有している。光学系35は、ズームレンズ30及びフォーカスレンズ31を含む複数枚のレンズを備えて構成される。ズームレンズ30及びフォーカスレンズ31は光軸方向に移動可能である。ドライバ34は、主制御部11からの制御信号に基づいてズームレンズ30及びフォーカスレンズ31の移動を制御することによって、光学系35のズーム倍率や焦点距離を制御する。また、ドライバ34は、主制御部11からの制御信号に基づいて絞り32の開度(開口部の大きさ)を制御する。
被写体からの入射光は、光学系35を構成する各レンズ及び絞り32を介して、撮像素子33に入射する。光学系35を構成する各レンズは、被写体の光学像を撮像素子33上に結像させる。
撮像素子33は、例えばCCD(Charge Coupled Devices)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等からなる。撮像素子33は、光学系35及び絞り32を介して入射した光学像を光電変換し、該光電変換によって得られた電気信号を出力する。この電気信号は、増幅処理、デジタル信号への変換及び必要な映像信号処理を介して、画像データに変換される。この画像データは、撮像部14の撮影によって得られた画像を表す。
撮像部14は、所定のフレーム周期(例えば、1/60秒)にて順次撮影を行うが、シャッタボタン13が押下された際(全押しされた際)、合焦処理を経た後の1枚の撮影画像を表す画像データを、画像ファイル18に格納する。
この撮影画像は、手ぶれに起因するぶれを含みうる画像であり、後に補正される。このため、以下、撮影時に画像ファイル18に格納される画像データを原画像データと呼び、原画像データにて表される撮影画像を原画像とよぶ。また、画像ファイル18に格納されるか否かに関わらず、撮像部14の撮影によって得られる画像を撮影画像と呼ぶ。
[動きベクトルの生成]
手ぶれ検出部15は、図3に示す如く、角速度センサ15a及び15bから成る。角速度センサ15aは、撮像装置のパン方向(水平方向)の角速度を検出し、角速度センサ15bは、撮像装置のチルト方向(垂直方向)の角速度を検出する。パン方向とチルト方向は、互いに直交し、且つ、光軸にも直交する。パン方向は画像の水平方向に対応し、チルト方向は画像の垂直方向に対応する。
角速度センサ15aは、原画像の撮影開始から撮影終了時点まで、即ち、原画像を撮影するための露光期間中、所定のサンプリング周期(1周期の長さをdtで表す)にてパン方向の角速度を計測して、その計測した角速度を表す角速度データを出力する。角速度センサ15bは、同じ露光期間中、所定のサンプリング間隔dtにてチルト方向の角速度を計測し、その計測した角速度を表す角速度データを出力する。
角速度センサ15aが出力する角速度データによって表されるパン方向の角速度をθx’にて表し、1つのサンプリング周期dtにおけるパン方向の回転角をθx(単位は[度])にて表す。そして、このサンプリング周期dtの間、角速度一定で撮像装置が回転すると仮定すると、下記式(1a)が成立する。ここで、fは、サンプリング周波数であって、f=1/dt(単位は[Hz])が成立する。また、角速度センサ15bが出力する角速度データによって表されるチルト方向の角速度をθy’にて表すと共に、1つのサンプリング周期dtにおけるチルト方向の回転角をθy(単位は[度])にて表し、同様に考えると、下記式(1b)が成立する。
θx=θx’/f ・・・(1a)
θy=θy’/f ・・・(1b)
r(単位は[mm](ミリメートル))を35mmフィルム換算時における焦点距離とすると、下記式(2a)及び(2b)に示す如く、回転角θxによる画像上の水平方向の移動量dx及び回転角θyによる画像上の垂直方向の移動量dyが求まる。
dx=r・tanθx ・・・(2a)
dy=r・tanθy ・・・(2b)
dx及びdyは、夫々、35mmフィルム換算時におけるパン方向(水平方向)及びチルト方向(垂直方向)の手ぶれの大きさを表し、それらの単位は[mm]である。35mmフィルム換算時では、画像の横及び縦は36[mm]及び24[mm]と定まっている。従って、原画像の横の画素数及び縦の画素数を、夫々X及びYとし、回転角θxによる水平方向のぶれ量をx[画素]、回転角θyによる垂直方向のぶれ量をy[画素]にて表すと、下記式(3a)及び(3b)が成立する。
x=dx・(X/36)=r・tanθx・(X/36)
=r・tan(θx’/f)・(X/36) ・・・(3a)
y=dy・(Y/24)=r・tanθy・(Y/24)
=r・tan(θy’/f)・(Y/24) ・・・(3b)
式(3a)及び(3b)を用いることにより、角速度データを、画像のぶれを表す動きベクトルに変換することができる。動きベクトルは、画像の動きをベクトルとして表現した二次元量であり、1つの動きベクトルの水平成分及び垂直成分は夫々x及びyで表される。
原画像の露光期間中にサンプリングされる角速度データの数だけ、原画像についての動きベクトルが得られ、得られた動きベクトルの始点と終点を順番に結んでいくことで、画像上の手ぶれの軌跡が得られる。また、動きベクトルの大きさは、その動きベクトルに対応するサンプリング時点における手ぶれの速度を表す。
角速度センサ15a及び15bが出力する角速度データは、手ぶれ信号として、手ぶれ信号/動きベクトル変換処理部16(以下、変換処理部16と略記する)に送られる。変換処理部16は、与えられた手ぶれ信号と焦点距離から、上述の如く、動きベクトルを生成する。この際、変換処理部16は、手ぶれ信号と焦点距離以外の、動きベクトルを生成するために必要な情報(Xなど)を、既知の情報として参照する。原画像の露光期間中における動きベクトル、即ち、原画像の撮影中における動きベクトルは、原画像データと関連付けられつつ画像ファイル18に格納される。
[顔検出情報の生成]
第1実施形態では、顔検出部19を利用し、撮影時の合焦(フォーカシング)処理に顔検出方式を用いる。この顔検出方式について説明する。
顔検出部19は、シャッタボタン13が半押しされた後、撮影画像(又は撮影画像に基づく画像)内から人物の顔を探索し、探索によって顔が検出された場合、その顔の全部又は一部を含む矩形領域を顔検出エリア(顔領域)として抽出する。
画像中に含まれる顔を検出する手法として様々な手法が知られており、顔検出部19は何れの手法をも採用可能である。例えば、特開2000−105819号公報に記載の手法のように撮影画像から肌色領域を抽出することによって顔(顔検出エリア)を検出しても良いし、撮影画像内に定義した注目領域内の画像と予め記憶された基準顔画像との対比に基づいて、顔(顔検出エリア)を検出しても良い。また例えば、特開2006−211139号公報や特開2006−72770号公報に記載の手法を用いて顔(顔検出エリア)を検出しても良い。
今、図4(a)に示す如く、2つの顔検出エリアARF1及びARF2が抽出されたとする。図4(a)において、符号100は、顔検出エリアの抽出元の合焦処理用画像を表す。合焦処理用画像100は、シャッタボタン13が半押しされた後に得られる撮像画像そのもの、又は、その撮影画像の間引き画像である。
(r1,c1)及び(r2,c2)は、それぞれ、合焦処理用画像100における顔検出エリアARF1及びARF2の配置位置を表す。或る顔検出エリアに関し、配置位置は、その顔検出エリアを形成する矩形領域の4つの角の内の、1つの角の座標位置(合焦処理用画像100上の座標位置)で表される。h1及びw1は、夫々、合焦処理用画像100における顔検出エリアARF1の高さ(垂直方向の大きさ)及び幅(水平方向の大きさ)を表し、h2及びw2は、夫々、合焦処理用画像100における顔検出エリアARF2の高さ及び幅を表す。或る顔検出エリアの高さと幅の積は、その顔検出エリアのサイズを表す。
複数の顔検出エリアが抽出された場合は、画像上におけるサイズが最も大きい顔検出エリアが代表顔検出エリアとされる。顔検出エリアが1つしか抽出されなかった場合は、抽出された1つの顔検出エリアが代表顔検出エリアとされる。そして、代表顔検出エリア内の画像に合焦するようにピント合わせを行う。つまり、代表顔検出エリアに対応する光学像が撮像素子33上に結像するように、フォーカスレンズ31の位置を制御する。
より具体的には、顔検出部19は、シャッタボタン13が半押しされた後、代表顔検出エリア内の画像を評価画像とし、評価画像内のエッジ成分の積算値を顔合焦評価値として算出する。エッジ成分は、例えば、評価画像内の隣接する画素間における輝度値の差分の絶対値である(輝度値は、輝度信号の値である)。このような顔合焦評価値を、フォーカスレンズ31の位置を異ならせて複数算出する。そして、複数のフォーカスレンズ31の位置について算出された複数の顔合焦評価値の内の、最大の顔合焦評価値に対応するフォーカスレンズ31の位置を合焦レンズ位置として特定する。
また、いわゆるアクティブ方式を採用して合焦レンズ位置を求めるようにしてもよい。例えば、光や超音波を被写体に照射することによって代表顔検出エリアに対応する被写体距離(撮像装置と被写体との距離)を測定し、これによって、代表顔検出エリアに対応する被写体にピントが合う合焦レンズ位置を求めるようにしてもよい。
合焦レンズ位置が定まれば、自動的に撮像部14の光学系35の焦点距離は定まる。顔検出部19は、定まった焦点距離を変換処理部16に伝達する。
また、顔検出部19は、図5(a)に示されるような、合焦処理用画像100上の顔検出エリアARF1及びARF2の位置及びサイズを特定する顔検出情報を作成する。顔検出情報は、各顔検出エリアについての配置位置(r1,c1)及び(r2,c2)と高さ及び幅(h1,w1)及び(h2,w2)を含む。シャッタボタン13が半押しされた後に全押しされると、フォーカスレンズ31の位置を合焦レンズ位置に配置した状態で原画像が撮影され、作成された顔検出情報は、原画像データに関連付けられつつ画像ファイル18に格納される。
顔検出情報は、原画像に含まれるであろう各顔検出エリアの位置及びサイズを特定することになる。合焦処理を開始してから実際に原画像を撮影するまでの間に、構図等を含む撮影に関する条件が何ら変わらなければ、合焦処理用画像100と原画像は等価と考えることができる(但し、両画像間の画像サイズが異なる場合、その相違に由来する両画像間の相違は無視する)。
[補正時]
次に、補正時に関与する部分について説明する。画像ファイル18が作成された後、操作部12に対して所定の操作を行うと、或いは、自動的に、画像ファイル18内に格納された原画像データから補正画像データを生成する画像復元処理が実行される。補正画像データは、原画像に含まれる画像のぶれが除去或いは低減された補正画像(復元画像)を表す。原画像に含まれる画像のぶれは、画像ファイル18に格納された動きベクトルによって特定することができる。
動きベクトル/画像劣化関数変換処理部21(以下、「変換処理部21」という)は、画像ファイル18に格納された動きベクトルから画像劣化関数を作成する。画像劣化関数/補正フィルタ変換処理部22(以下、「変換処理部22」という)は、この画像劣化関数から、原画像を補正するための補正フィルタ(画像復元フィルタ)を作成する。画像劣化関数及び補正フィルタを作成する手法として、公知の何れの手法をも採用可能である。尚、後述の第8実施形態において、画像劣化関数及び補正フィルタを作成する手法を例示する。
補正領域設定部23は、画像ファイル18に格納された顔検出情報に基づき、原画像内に、矩形領域である1又は2以上の部分領域を定義する。部分領域の個数は、図4(a)の合焦処理用画像100から抽出された顔検出エリアの個数と等しい。従って、今の例の場合、2つの部分領域が定義される。図4(b)に、原画像内に定義された部分領域PF1及びPF2を示す。図4(b)において、符号101は、画像ファイル18に格納された原画像を表す。また、図5(b)に、部分領域PF1及びPF2の位置及びサイズを定める部分領域情報を示す。
(R1,C1)及び(R2,C2)は、それぞれ、原画像における部分領域PF1及びPF2の配置位置を表す。或る部分領域に関し、配置位置は、その部分領域を形成する矩形領域の4つの角の内の、1つの角の座標位置(原画像上の座標位置)で表される。H1及びW1は、夫々、原画像における部分領域PF1の高さ(垂直方向の大きさ)及び幅(水平方向の大きさ)を表し、H2及びW2は、夫々、原画像における部分領域PF2の高さ及び幅を表す。或る部分領域の高さと幅の積は、その部分領域のサイズを表す。
部分領域PF1及びPF2は、それぞれ顔検出エリアARF1及びARF2に対応しており、図4(a)の合焦処理用画像100と図4(b)の原画像101の画像サイズが同じであれば(水平方向及び垂直方向の画素数が同じであれば)、ri=Ri、ci=Ci、hi=Hi、wi=Wi、となる(iは、1又は2)。
そして、補正領域設定部23は、顔検出情報に基づき、原画像内を補正領域と非補正領域に分類する。第1実施形態では、原画像内に定義された全ての部分領域が補正領域に分類され、部分領域以外の領域は非補正領域に分類される。
補正領域に分類された各部分領域の位置及びサイズを特定する情報は、補正領域情報として補正処理部24に与えられる。図5(c)に、この補正領域情報を示す。補正領域情報には、顔検出エリアARFiに対応する部分領域の開始座標(Ri,Ci)と終了座標(Ri+Hi,Ci+Wi)が含まれる(iは、1又は2)。
図1の補正処理部24は、画像ファイル18から原画像データを読み出し、補正領域設定部23にて作成された補正領域情報及び変換処理部22にて作成された補正フィルタに基づいて、補正画像データを生成する。
図6は、補正処理部24の内部ブロック図である。補正処理部24は、フィルタリング部41及びリンギング除去部42を備える。
フィルタリング部41は、原画像データに対して、補正フィルタを用いたフィルタリング処理を施すことによってフィルタリング画像を生成する。この際、補正領域情報に従って、補正領域に対してのみフィルタリング処理を施し、非補正領域に対してはフィルタリング処理を施さないようにする。フィルタリング画像は、原画像の補正領域内の画像のぶれが除去或いは低減された画像となる。
フィルタリング処理によって、フィルタリング画像にはリンギングが含まれうる。そこで、リンギング除去部42では、このリンギングを除去或いは低減するためのリンギング除去処理を行う。
リンギング除去処理の原理を、図7を用いて説明する。図7では、説明の簡略化上、フィルタリング処理の対象となる画像として1次元画像を考える。図7において、符号111は、撮影時のぶれが全くなかったと仮定した場合に得られる理想画像(理想画像の画像データ)を表す。符合112は、理想画像111にぶれを含ませたぶれ画像(ぶれ画像の画像データ)を表す。符合113は、ぶれ画像112にフィルタリング処理を施すことによって得られるフィルタリング画像(フィルタリング画像の画像データ)を表す。符合114は、ぶれ画像112の画像データのエッジ強度を表す。符合115は、エッジ強度114に基づき、ぶれ画像112とフィルタリング画像113を加重平均処理することによって得られるリンギング除去後の画像(該画像の画像データ)を表す。
ぶれ画像112をフィルタリング処理して得られるフィルタリング画像113において、画像のエッジ部の周辺に波状の劣化が表れる。この劣化がリンギングであり、これは、エッジ強調処理等を行った場合に生じる、エッジ部前後のオーバーシュート或いはアンダーシュートと類似する現象である。一方において、ぶれ画像112のエッジ強度114は、ぶれ画像112のエッジ部で大きな値をとり、エッジ部から少し離れると急速に小さくなる。この特性に鑑み、リンギングが除去されるようにぶれ画像112とフィルタリング画像113の加重平均処理を行う。即ち、エッジ強度114が比較的大きい画像部分に対してはフィルタリング画像113が多く混合され、エッジ強度114が比較的小さい画像部分に対してはぶれ画像112が多く混合されるように、両画像を加重平均することによってリンギングを除去する。
実際には、リンギング除去部42は、エッジ強度検出部43、加重平均係数算出部44及び加重平均部45から成り、フィルタリング部41にて生成されたフィルタリング画像のリンギングを除去するためのリンギング除去処理を行う。このリンギング除去処理は、原画像のエッジ強度に応じて原画像とフィルタリング画像を加重平均することにより実現される。
エッジ強度検出部43は、原画像の各画素についてのエッジ強度を求める。エッジ強度の求め方を例示する。例えば、原画像の各画素を注目画素とし、注目画素を中心とする3×3の領域を想定する。そして、上記の3×3の領域内の各画素の画素値を、図8に示す如く、v11、v12、v13、v21、v22、v23、v31、v32、v33とする。注目画素の画素値はv22であり、注目画素の左上、上、右上、左、右、左下、下、右下に位置する画素の画素値は、夫々、v11、v12、v13、v21、v23、v31、v32、v33である。画素値は、例えば輝度値である。
そして、注目画素の水平エッジ成分dhと垂直エッジ成分dvを、図9(a)に示す水平エッジ抽出オペレータと図9(b)に示す垂直エッジ抽出オペレータとを用いて算出する。即ち、水平エッジ成分dhと垂直エッジ成分dvは、下記式(4a)及び(4b)に従って算出される。
dh=v11+v12+v13−v31−v32−v33 ・・・(4a)
dh=v11+v21+v31−v13−v23−v33 ・・・(4b)
注目画素のエッジ強度は、{dh×dh+dv×dv}の平方根、或いは、dhの絶対値とdvの絶対値の和、とされる。
加重平均係数算出部44は、エッジ強度をフィルタリング画像の混合比率を表す加重平均係数に変換する。加重平均係数は、画素ごとに算出される。或る画素について算出されたエッジ強度をEとした場合、その画素についての加重平均係数αは、下記式(5a)、(5b)及び(5c)によって表される。ここで、THL及びTHHは、予め設定された閾値であり、THL<THH、が成立する。
α=0 (但し、E≦THL) ・・・(5a)
α=(E−THL)/(THH−THL) (但し、THL<E<THH)・・・(5b)
α=1 (但し、E≧THH) ・・・(5c)
即ち、図10に示すごとく、或る画素に関し、E≦THLであればαは0とされ、THL<E<THHであればαはEの増加に従って増大し、E≧THHであればαは1とされる。
加重平均部45は、原画像データとフィルタリング部41から与えられるフィルタリング画像を表すフィルタリング画像データとを、加重平均係数αを用いて加重平均することにより、補正画像を表す補正画像データを作成する。具体的には、補正画像を形成する画素ごとに、下記式(6)に従って加重平均処理を施すことにより、補正画像の各画素の画素値を算出する。
Ps=α×Pf+(1−α)×Pb ・・・(6)
ここで、Psは補正画像の画素値、Pfはフィルタリング画像の画素値、Pbは原画像の画素値を表す。原画像のエッジ強度が大きい画素ほど、フィルタリング画像が多く混合されることになる。
人物の顔は主要な被写体となることが多く、画像内における人物の顔のぶれが低減されれば、実質的な問題は少ない。また、顔検出方式は、例えば、ユーザの操作によって選択されたポートレート撮影モードなどで採用される。このため、特に、顔検出方式で合焦処理を行う場合においては、人物の顔のぶれが低減されれば十分と言える。そこで、本実施形態の如く、顔検出エリアに対応する部分領域のみを補正領域とし、その他の領域を非補正領域とする。これにより、補正処理時間の短縮効果が得られる。また、人物の顔との距離が遠い背景画像などは非補正領域となるため、その背景画像に補正処理が施されることによって背景画像に悪影響が生じることもない。また、撮影に必須の合焦処理の結果を流用して補正領域と非補正領域の分類がなされるため、その分類に必要な追加的処理は簡素で済む。
尚、本実施形態では、顔検出エリアに対応する部分領域の全てを補正領域としたが、顔検出エリアのサイズ(即ち、部分領域のサイズ)を考慮して、補正領域と非補正領域の分類を行うようにしてもよい。例えば、或る顔検出エリアのサイズが、代表顔検出エリアのサイズから所定の閾値サイズを差し引いたサイズよりも小さい場合は、その顔検出エリアに対応する部分領域を補正領域とせず、非補正領域に分類するようにしてもよい。代表顔検出エリアに比べて随分小さいサイズの顔検出エリアの被写体距離(撮像装置と被写体との距離)は、代表顔検出エリアのそれよりも随分遠い。このような顔検出エリアに対して、補正フィルタを用いた補正処理を施しても、補正効果が小さいからであり、また、補正によって逆に悪影響が生じる場合もあるからである。
<<第2実施形態>>
このような顔検出エリアのサイズを考慮した構成例を、本発明の第2実施形態として更に説明する。図11に、第2実施形態に係る撮像装置の全体的構成のブロック図を示す。第2実施形態に係る撮像装置は、第1実施形態に係る撮像装置(図1)と類似している。但し、第1実施形態の撮像装置が補正領域設定部23及び補正処理部24を備えているのに対し、第2実施形態の撮像装置は、それらの代わりに補正領域設定部23a及び補正処理部24aを備えている。この点を除いて、第1と第2実施形態に係る撮像装置は同様であり、同様の部分の重複する説明を原則として省略する。
以下、補正領域設定部23a及び補正処理部24aについて説明する。第1実施形態の説明文中の記載は、矛盾なき限り、第2実施形態の説明に対しても適用される。
補正領域設定部23aは、図1の補正領域設定部23と同様の機能を備える。即ち、画像ファイル18に格納された、図5(a)に示すような顔検出情報に基づき、顔検出エリアに対応する部分領域(図4(b)及び図5(b)参照)を定義すると共に原画像内を補正領域と非補正領域とに分類する。但し、第2実施形態では、原画像内に定義された全ての部分領域が補正領域に分類されるとは限らない。
より具体的に説明する。補正領域設定部23aは、画像ファイル18に格納された顔検出情報に基づいて、原画像内の各顔検出エリアに対応する部分領域での補正強度を設定する。今、説明の具体化のため、第1実施形態と同様、原画像内に部分領域PF1及びPF2が定義された場合を考える。そして、部分領域PF1が代表顔検出エリアであったとする。
補正領域設定部23aは、代表顔検出エリアに対応する部分領域についての補正強度を1とし、その他の顔検出エリアに対応する部分領域については、そのサイズに応じた補正強度を設定する。今の例の場合、部分領域PF1に対する補正強度は1とされる。部分領域PF2に対する補正強度は、0以上1以下とされる。図12に示す如く、部分領域PF2のサイズが所定の下限サイズ以下である場合は部分領域PF2に対する補正強度は0とされ、部分領域PF2のサイズが該下限サイズより大きい場合は、部分領域PF2のサイズの増大に伴って部分領域PF2に対する補正強度を増大させる(例えば、そのサイズに比例して該補正強度を増大させる)。他に部分領域がある場合も同様である。
このように、顔検出エリアに対応して定義された部分領域であっても、そのサイズが下限サイズ以下である場合は補正強度が0とされ、結果として、その部分領域は非補正領域に分類される。また、部分領域以外の領域も、補正強度が0とされて非補正領域に分類される。0より大きな補正強度が設定された部分領域のみが補正領域に分類される。
補正領域設定部23aは、補正領域に分類された各部分領域の位置及びサイズ並びに補正領域に分類された各部分領域に対する補正強度を特定する補正領域情報を、補正処理部24aに伝達する。部分領域PF2が補正領域に分類された場合、補正処理部24aに伝達される補正領域情報は、図26(a)のようになる。この補正領域情報は、図5(c)に示す補正領域情報に補正強度に関する情報を付加したものに相当する。
補正処理部24aは、画像ファイル18から原画像データを読み出し、補正領域設定部23aにて作成された補正領域情報及び変換処理部22にて作成された補正フィルタに基づいて、補正画像データを生成する。
図13は、補正処理部24aの内部ブロック図である。補正処理部24aは、フィルタリング部41及びリンギング除去部42aを備える。補正処理部24aにおけるフィルタリング部41は、図6の補正処理部24におけるそれと同じものである。
リンギング除去部42aは、エッジ強度検出部43、加重平均係数算出部44a及び加重平均部45から成り、フィルタリング部41にて生成されたフィルタリング画像のリンギングを除去するためのリンギング除去処理を行う。リンギング除去部42aにおけるエッジ強度検出部43及び加重平均部45は、図6のリンギング除去部42におけるそれらと同じものである。
図6の補正処理部24と図13の補正処理部24aとの相違点に対応する、加重平均係数算出部44aについて説明する。
加重平均係数算出部44aは、エッジ強度検出部43にて求められたエッジ強度を、フィルタリング画像の混合比率を表す加重平均係数に変換する。加重平均係数は、画素ごとに算出される。或る画素について算出されたエッジ強度をEとした場合、その画素についての加重平均係数αは、第1実施形態と同様、上記式(5a)、(5b)及び(5c)によって表される。但し、この際、閾値THL及びTHHは、補正領域情報に含まれる補正強度に基づいて可変設定される。
具体的には、補正強度が低い部分領域に対してほど、閾値THL及びTHHのどちらか一方又は双方を大きくする。閾値THL及びTHHのどちらか一方又は双方を大きくすれば、エッジ強度Eが同じでも加重平均係数αの値が小さくなって、フィルタリング画像の混合比率が小さくなる(図10参照)。即ち、補正フィルタによる補正効果(補正強度)が弱まる。また、補正強度が0に設定されている領域(即ち、非補正領域)に対しては、閾値THL及びTHHを十分に大きくすることで、加重平均係数を0とする。
加重平均係数算出部44aにて各画素ごとに算出された加重平均係数αは、加重平均部45に伝達される。加重平均部45は、第1実施形態と同様、この加重平均係数αを参照して補正画像データを作成する。
代表顔検出エリアに比べてサイズが小さい顔検出エリアの被写体距離(撮像装置と被写体との距離)は、代表顔検出エリアのそれよりも遠い。このような顔検出エリアに対して、補正フィルタを用いた補正処理を施しても、補正効果が比較的小さく、また、補正によって逆に悪影響が生じる場合もある。そして、このような悪影響は、顔検出エリアのサイズが小さくなるにつれて生じやすくなる。これを考慮し、本実施形態の如く処理する。これにより、この悪影響が低減される。勿論、本実施形態でも、第1実施形態と同様の効果が得られる。
<<第3実施形態>>
次に、本発明の第3実施形態について説明する。図14は、第3実施形態に係る撮像装置の全体的構成のブロック図である。第3実施形態に係る撮像装置は、第1実施形態に係る撮像装置(図1)と類似している。但し、第3実施形態に係る撮像装置は、図1の顔検出部19及び補正領域設定部23を備えておらず、その代わりに、測距部51、コントラスト情報算出部52及び補正領域設定部23bを備えている。この点を除いて、第1と第3実施形態に係る撮像装置は同様であり、同様の部分の重複する説明を原則として省略する。
但し、上記の相違点に由来して、画像ファイル18に格納される情報が、第1と第3実施形態間で異なる。詳細は、第3実施形態の説明の中で述べる。以下、第1実施形態との相違点に着目して説明を行う。
[撮影時]
測距部51は、合焦処理を行って、求めた焦点距離を変換処理部(手ぶれ信号/動きベクトル変換処理部)16に伝達する。
具体的には例えば、測距部51は、撮影画像内に定義した所定領域内のコントラスト量を評価し、そのコントラスト量が最大となるようなフォーカスレンズ31の位置を求めて、その位置を合焦レンズ位置として特定する。或いは、後述の第5実施形態で説明する複数エリア測距方式を用いて合焦レンズ位置を求める。また、いわゆるアクティブ方式を採用するようにしてもよい。例えば、光や超音波を被写体に照射することによって被写体距離を測定し、これによって合焦レンズ位置を求めるようにしてもよい。
合焦レンズ位置が定まれば、自動的に撮像部14の光学系35の焦点距離は定まる。測距部51は、定まった焦点距離を変換処理部16に伝達する。変換処理部16は、手ぶれ信号と焦点距離から動きベクトルを算出する。
シャッタボタン13が押下されると(全押しされると)、第1実施形態と同様、合焦処理を経てフォーカスレンズ31が合焦レンズ位置に配置された状態で原画像が撮影され、原画像を表す原画像データは画像ファイル18に格納される。また、第1実施形態と同様、原画像の露光期間中における動きベクトル、即ち、原画像の撮影中における動きベクトルは、原画像データと関連付けられつつ画像ファイル18に格納される。
コントラスト情報算出部52は、撮影画像に基づくコントラスト検出用画像を複数のコントラスト検出エリアに分割し、各コントラスト検出エリアのコントラスト値を算出すると共に、それを含むコントラスト情報を作成する。コントラスト検出用画像は、原画像そのもの、若しくは、原画像の間引き画像、又は、フォーカスレンズ31が合焦レンズ位置に配置された状態で得られた撮影画像そのもの、若しくは、その撮影画像の間引き画像である。
尚、コントラスト検出用画像の基となる撮影画像が原画像と異なっていても、両画像の撮影時点間で構図等を含む撮影に関する条件が何ら変わらなければ、コントラスト検出用画像と原画像は等価と考えることができる(但し、両画像間の画像サイズが異なる場合、その相違に由来する両画像間の相違は無視する)。
以下、コントラスト検出エリアを、単に検出エリアと略記する。今、図15(a)に示す如く、コントラスト検出用画像を9個の検出エリアに分割する場合を例に挙げる。図15(a)において、符号200は、コントラスト検出用画像を表し、ARTiは9個の検出エリアを表す(ここで、i=1、2、・・・9)。また、図16(a)に、作成されるコントラスト情報を示す。
i=1、2、・・・9の夫々に関し、(ri,ci)は、コントラスト検出用画像200における検出エリアARTiの配置位置を表す。或る検出エリアに関し、配置位置は、その検出エリアを形成する矩形領域の4つの角の内の、1つの角の座標位置(コントラスト検出用画像200上の座標位置)で表される。i=1、2、・・・9の夫々に関し、hi及びwiは、夫々、コントラスト検出用画像200における検出エリアARTiの高さ(垂直方向の大きさ)及び幅(水平方向の大きさ)を表す。i=1、2、・・・9の夫々に関し、CONTiは、検出エリアARTiのコントラスト値を表す。或る検出エリアの高さと幅の積は、その検出エリアのサイズを表す。
コントラスト情報には、各検出エリアARTiの、配置位置(ri,ci)、高さ及び幅(hi,wi)及びコントラスト値CONTiが含まれる。つまり、コントラスト情報には、各検出エリアの、コントラスト検出用画像200上の位置及びサイズを特定する情報と、各検出エリアのコントラスト値を示す情報と、が含まれる。
シャッタボタン13が押下されると(全押しされると)、作成されたコントラスト情報は、原画像データと関連付けられつつ画像ファイル18に格納される。
各検出エリアについてのコントラスト値の算出手法として、様々な手法を採用可能である。例えば、或る検出エリアに関し、その検出エリア内のエッジ成分の積算値を当該検出エリアについてのコントラスト値とする。エッジ成分は、例えば、評価画像内の隣接する画素間における輝度値の差分の絶対値である。或いは、或る検出エリアにおいて、検出エリア内の輝度信号から所定の高域周波数成分を抽出し、抽出した高域周波数成分の積算値を当該検出エリアについてのコントラスト値としてもよい。或る検出エリアに関し、コントラスト値は、その検出エリアのコントラスト量に概ね比例し、コントラスト値が増加するに従って該検出エリアのコントラスト量は増大する。
[補正時]
次に、補正時に関与する部分について説明する。画像ファイル18が作成された後、操作部12に対して所定の操作を行うと、或いは、自動的に、画像ファイル18内に格納された原画像データから補正画像データを生成する画像復元処理が実行される。変換処理部21及び22の機能は、第1実施形態(図1)におけるそれと同様である。
補正領域設定部23bは、画像ファイル18に格納されたコントラスト情報に基づき、原画像内に、矩形領域である複数の部分領域を定義する。部分領域の個数は、図15(a)のコントラスト検出用画像200に定義された検出エリアの個数と等しい。従って、今の例の場合、9つの部分領域が定義される。図15(b)に、原画像内に定義された部分領域PT1〜PT9を示す。図15(b)において、符号201は、画像ファイル18に格納された原画像を表す。また、図16(b)に、部分領域PT1〜PT9の位置及びサイズを定める部分領域情報を示す。
i=1、2、・・・9の夫々に関し、(Ri,Ci)は、原画像201における部分領域PTiの配置位置を表す。或る部分領域に関し、配置位置は、その部分領域を形成する矩形領域の4つの角の内の、1つの角の座標位置(原画像201上の座標位置)で表される。i=1、2、・・・9の夫々に関し、Hi及びWiは、夫々、原画像201における部分領域PTiの高さ(垂直方向の大きさ)及び幅(水平方向の大きさ)を表す。
部分領域PTiは検出エリアARTiに対応しており、図15(a)のコントラスト検出用画像200と図15(b)の原画像201の画像サイズが同じであれば、ri=Ri、ci=Ci、hi=Hi、wi=Wi、となる(ここで、i=1、2、・・・9)。そして、i=1、2、・・・9の夫々に関し、部分領域PTiとコントラスト値CONTiが対応付けられる。
補正領域設定部23bは、コントラスト情報に基づき、原画像内を補正領域と非補正領域に分類する。第3実施形態では、コントラスト値が所定のコントラスト閾値以上である部分領域は補正領域に分類され、それ以外の部分領域は非補正領域に分類される。例えば、コントラスト値CONT5及びCONT6のみがコントラスト閾値以上となっており、コントラスト値CONT1〜CONT4及びCONT7〜CONT9がコントラスト閾値未満である場合を考える。この場合、部分領域PT5及びPT6が補正領域に分類され、部分領域PT1〜PT4及びPT7〜PT9は非補正領域に分類される。
補正領域に分類された各部分領域の位置及びサイズを特定する情報は、補正領域情報として補正処理部24に与えられる。図16(c)に、この補正領域情報を示す。今の例の場合、補正領域情報には、i=5、6の夫々に関する、部分領域PTiの開始座標(Ri,Ci)と終了座標(Ri+Hi,Ci+Wi)が含まれる。
補正処理部24は、画像ファイル18から原画像データを読み出し、補正領域設定部23bにて作成された補正領域情報及び変換処理部22にて作成された補正フィルタに基づき、第1実施形態で述べた手法にて補正画像データを生成する。
コントラストが低い画像部分(例えば空や道路)に対して補正フィルタによる補正処理を施しても、見た目には補正効果を認識できないことが多い。従って、そのような画像部分に補正を行う必要性は少ない(或いは必要性はない)。そこで、本実施形態の如く、コントラストが低い画像部分に対して補正処理を行わないようにする。これにより、補正処理時間の短縮効果が得られる。
また、撮影者が着目している主要被写体と他の被写体との間で被写体距離(撮像装置と被写体との距離)が異なると、通常、被写体距離の違いに起因して、その他の被写体に対応する画像部分のコントラストが低下する。このような画像部分に対して補正処理を施しても補正効果は比較的弱く、また、コントラストが低下するにつれて補正による悪影響が生じやすくなる。しかしながら、本実施形態によれば、コントラストが小さい画像部分は非補正領域とされるため、この悪影響が低減される。この悪影響の低減を促進するための実施形態として、次に第4実施形態を説明する。また、コントラストを検出するという簡単な処理によって補正領域と非補正領域の分類がなされるため、その分類に必要な追加的処理は簡素で済む。
<<第4実施形態>>
第4実施形態は、第1実施形態を第2実施形態に変形したのと同様に、第3実施形態を変形したものに相当する。
図17に、第4実施形態に係る撮像装置の全体的構成のブロック図を示す。第4実施形態に係る撮像装置は、第3実施形態に係る撮像装置(図14)と類似している。但し、第3実施形態の撮像装置が補正領域設定部23b及び補正処理部24を備えているのに対し、第4実施形態の撮像装置は、それらの代わりに補正領域設定部23c及び補正処理部24aを備えている。この点を除いて、第3と第4実施形態に係る撮像装置は同様であり、同様の部分の重複する説明を原則として省略する。
更に、図17の補正処理部24aは、図13に示すそれと同じものである。従って、以下、補正領域設定部23cに着目して説明する。上述の各実施形態の説明文中の記載は、矛盾なき限り、第4実施形態の説明に対しても適用される。
補正領域設定部23cは、図14の補正領域設定部23bと同様の機能を備える。即ち、画像ファイル18に格納された、図16(a)に示すようなコントラスト情報に基づき、各検出エリアに対応する部分領域(図15(b)及び図16(b)参照)を定義すると共に原画像内を補正領域と非補正領域とに分類する。更に、第4実施形態に係る補正領域設定部23cは、画像ファイル18に格納されたコントラスト情報に含まれるコントラスト値に応じて、各部分領域に対する補正強度も設定する。
図18を参照して、より具体的に説明する。補正領域設定部23cは、コントラスト値が所定の閾値CHよりも大きい部分領域に対しては補正強度を1とし、コントラスト値が所定の閾値CLよりも小さい部分領域に対しては補正強度を0とする。また、コントラスト値が閾値CL以上であって且つ閾値CH以下の部分領域に対しては補正強度を、コントラスト値に応じて0から1の間で線形に変化させる(即ち、コントラスト値の増大に伴って補正強度を増大させる。但し、上限は1)。尚、CH>CL、が成立する。
例えば、第3実施形態と同様、部分領域PT5及びPT6のみが補正領域に分類された場合、コントラスト値CONT5及びCONT6に応じて、部分領域PT5及びPT6に対しては0より大きな補正強度が設定されるが、それ以外の部分領域(即ち、非補正領域)に対する補正強度は0とされる。
補正領域設定部23cは、補正領域に分類された各部分領域の位置及びサイズ並びに補正領域に分類された各部分領域に対する補正強度を特定する補正領域情報を、補正処理部24aに伝達する。補正処理部24aに伝達される補正領域情報は、図26(b)のようになる。この補正領域情報は、図16(c)に示す補正領域情報に補正強度に関する情報を付加したものに相当する。
補正処理部24aは、画像ファイル18から原画像データを読み出し、補正領域設定部23cにて作成された補正領域情報及び変換処理部22にて作成された補正フィルタに基づき、第2実施形態で述べた手法にて補正画像データを生成する。補正領域情報に含まれる補正強度は、第2実施形態で述べたように、加重平均係数αの算出に反映され、該補正強度に従った補正処理が実行される。
コントラストが低下するにつれて補正による悪影響が生じやすくなることに鑑み、コントラスト値に応じて補正強度を変化させる。これにより、補正による悪影響がより低減される。勿論、本実施形態でも、第3実施形態と同様の効果が得られる。
<<第5実施形態>>
次に、本発明の第5実施形態について説明する。図19は、第5実施形態に係る撮像装置の全体的構成のブロック図である。第5実施形態に係る撮像装置は、第1実施形態に係る撮像装置(図1)と類似している。但し、第5実施形態に係る撮像装置は、図1の顔検出部19及び補正領域設定部23を備えておらず、その代わりに、測距情報算出部56及び補正領域設定部23dを備えている。この点を除いて、第1と第5実施形態に係る撮像装置は同様であり、同様の部分の重複する説明を原則として省略する。
但し、上記の相違点に由来して、画像ファイル18に格納される情報が、第1と第5実施形態間で異なる。詳細は、第5実施形態の説明の中で述べる。以下、第1実施形態との相違点に着目して説明を行う。
[撮影時]
第5実施形態では、撮影時の合焦処理に、複数エリア測距方式を採用している。この複数エリア測距方式について説明する。
主制御部11と協働して、測距情報算出部56は、撮影画像に基づく測距用画像を複数の測距エリアに分割し、フォーカスレンズ31の位置を所定間隔で移動させながら各測距エリアについての評価値を算出し、これに基づいて焦点距離を算出すると共に測距情報を作成する。測距用画像は、シャッタボタン13が半押しされた後に得られる撮影画像そのもの、又は、その撮影画像の間引き画像である。
或る測距エリアに関し、評価値は、その測距エリア内のエッジ成分の積算値などである。エッジ成分は、例えば、当該測距エリア内の隣接画素間の輝度値の差分の絶対値である。あるいは、或る測距エリアにおいて、その測距エリア内の輝度信号から所定の高域周波数成分を抽出し、抽出した高域周波数成分の積算値を当該測距エリアについての評価値としてもよい。エッジ成分が増大すれば、一般にコントラスト量も増大するため、結局のところ、或る測距エリアに関し、評価値は、その測距エリア内の画像のエッジ成分又はコントラスト(コントラスト量)に応じた値を有することになり、それらが増大するにつれて評価値も増大する。
以下、説明の具体化のため、図20(a)に示す如く、測距用画像を9個の測距エリアに分割する場合を例に挙げる。図20(a)において、符号300は、測距用画像を表し、ARSiは9個の測距エリアを表す(ここで、i=1、2、・・・9)。また、図21(a)に、作成される測距情報を示す。
図22に、フォーカスレンズ31の位置と各測距エリアに対する評価値との関係例を示す。フォーカスレンズ31の位置を、以下、レンズ位置とも呼ぶ。図22において、曲線311、315、316及び319は、夫々、測距エリアARS1、ARS5、ARS6及びARS9についての評価値をプロットしたものである。図示の簡略化上、他の測距エリアについてのプロットは省略する。
各測距エリアについての評価値は、通常、或るレンズ位置で極大値をとる。i=1、2、・・・9の夫々に関し、測距エリアARSiの評価値に極大値を与えるレンズ位置を極大レンズ位置と呼び、それを符合LMiにて表すと共に、その評価値の極大値を、極大評価値と呼び、それを符合EMiにて表す(図21(a)も参照)。
或る測距エリアに関し、被写体距離が遠い場合などにおいては評価値に極大値が存在しない場合もあるが、その場合は、その測距エリアについての極大評価値は0とされると共に極大レンズ位置として十分に大きな値を設定する。図22に示す例では、測距エリアARS9についての評価値に極大値が存在していない。従って、極大評価値EM9は0とされ、極大レンズ位置LM9は十分に大きな所定値LVとされる(図21(a)参照)。
尚、図21(a)の極大レンズ位置と極大評価値に対応する欄において、カッコ内に極大レンズ位置LMiと極大評価値EMiの数値例を示している。
図20(a)及び図21(a)を参照する。i=1、2、・・・9の夫々に関し、(ri,ci)は、測距用画像300における測距エリアARSiの配置位置を表す。或る測距エリアに関し、配置位置は、その測距エリアを形成する矩形領域の4つの角の内の、1つの角の座標位置(測距用画像300上の座標位置)で表される。i=1、2、・・・9の夫々に関し、hi及びwiは、夫々、測距用画像300における測距エリアARSiの高さ(垂直方向の大きさ)及び幅(水平方向の大きさ)を表す。或る測距エリアの高さと幅の積は、その測距エリアのサイズを表す。
図21(a)に示す如く、測距情報算出部56にて作成される測距情報には、各測距エリアの、配置位置(ri,ci)、高さ及び幅(hi,wi)、極大レンズ位置LMi並びに極大評価値EMiが含まれる。
各測距エリアについての極大レンズ位置が特定されると、極大レンズ位置が最も近距離側にある測距エリアが代表測距エリアとして選定される。ここで、近距離側とは、ピントを合わせる被写体と撮像装置との距離がより近い側に対応している。従って、通常、代表測距エリアの収まる被写体と撮像装置との距離は、他の何れの測距エリアについてのそれよりも短い。図22に示す例の場合、測距エリアARS5についての極大レンズ位置が最も近距離側にあるため、測距エリアARS5が代表測距エリアとされる。尚、実際には、測距情報に含まれる極大レンズ位置は数値によって表現され、本実施形態では、極大レンズ位置が近距離側にあればあるほど、極大レンズ位置を表す数値としてより小さな数値が与えられる(図21(a)参照)。
測距情報算出部56は、代表測距エリアとして選定された測距エリアについての極大レンズ位置を合焦レンズ位置と定めて、その合焦レンズ位置から撮像部14の光学系35の焦点距離を算出し、算出した焦点距離を変換処理部16に伝達する。変換処理部16は、手ぶれ信号と焦点距離から動きベクトルを算出する。
シャッタボタン13が半押しされた後に全押しされると、フォーカスレンズ31の位置を合焦レンズ位置に配置した状態で原画像が撮影され、原画像データが画像ファイルに格納されると共に、作成された測距情報も、原画像データに関連付けられつつ画像ファイル18に格納される。また、第1実施形態と同様、原画像の露光期間中における動きベクトル、即ち、原画像の撮影中における動きベクトルは、原画像データと関連付けられつつ画像ファイル18に格納される。
従来から、算出された焦点距離は画像ファイルに記録されていたが、代表測距エリア以外の測距エリアに関する情報は撮影終了時点で破棄されていた。一方、本実施形態では、全ての測距エリアに関する情報を測距情報として画像ファイル18に格納する。
[補正時]
次に、補正時に関与する部分について説明する。画像ファイル18が作成された後、操作部12に対して所定の操作を行うと、或いは、自動的に、画像ファイル18内に格納された原画像データから補正画像データを生成する画像復元処理が実行される。変換処理部21及び22の機能は、第1実施形態(図1)におけるそれと同様である。
補正領域設定部23dは、画像ファイル18に格納された測距情報に基づき、原画像内に、矩形領域である複数の部分領域を定義する。部分領域の個数は、図20(a)の測距用画像300に定義された測距エリアの個数と等しい。従って、今の例の場合、9つの部分領域が定義される。図20(b)に、原画像内に定義された部分領域PS1〜PS9を示す。図20(b)において、符号301は、画像ファイル18に格納された原画像を表す。また、図21(b)に、部分領域PS1〜PS9の位置及びサイズを定める部分領域情報を示す。
i=1、2、・・・9の夫々に関し、(Ri,Ci)は、原画像301における部分領域PSiの配置位置を表す。或る部分領域に関し、配置位置は、その部分領域を形成する矩形領域の4つの角の内の、1つの角の座標位置(原画像301上の座標位置)で表される。i=1、2、・・・9の夫々に関し、Hi及びWiは、夫々、原画像301における部分領域PSiの高さ(垂直方向の大きさ)及び幅(水平方向の大きさ)を表す。
部分領域PSiは測距エリアARSiに対応しており、図20(a)の測距用画像300と図20(b)の原画像301の画像サイズが同じであれば、ri=Ri、ci=Ci、hi=Hi、wi=Wi、となる(ここで、i=1、2、・・・9)。そして、i=1、2、・・・9の夫々に関し、部分領域PSiと極大レンズ位置LMi及び極大評価値EMiとが対応付けられる。
補正領域設定部23dは、測距情報に基づき、原画像内を補正領域と非補正領域に分類する。図23に、この分類の1手法についてのフローチャートを示す。
まず、ステップS1において、補正領域設定部23dは、測距情報を参照して、9つの測距エリアの中から、最も近距離側の極大レンズ位置に対応する測距エリア、即ち代表測距エリアを探索する。以下、代表測距エリアに対する極大レンズ位置をLMKと表記する。
続くステップS2において、各測距エリアに対する極大レンズ位置LMiと代表測距エリアに対する極大レンズ位置LMKとの差分(LMi−LMK)を、測距エリアごとに、算出する。そしてステップS3において、各差分(LMi−LMK)を所定の閾値LTHと比較し、閾値LTHより小さな差分に対応する部分領域を補正領域に分類し、閾値LTHより大きさ差分に対応する部分領域を非補正領域に分類する。但し、LTH>0、である。代表測距エリアについての差分は0となるので、必然的に代表測距エリアに対応する部分領域は補正領域に分類される。
例えば、撮影時において、測距エリアARS5が代表測距エリアとして選定されて、LMKにLM5が代入され、且つ、不等式「(LM6−LMK)<LTH」が成立すると共に不等式「(LMj−LMK)>LTH」が成立する場合を考える(但し、j=1、2、3、4、7、8、9)。この場合、補正時においても、測距エリアARS5が代表測距エリアとして選定され、上記2つの不等式より、部分領域PS1〜PS9の内、測距エリアARS5及びARS6に対応する部分領域PS5及びPS6のみが補正領域に分類されると共に他の7つの部分領域PS1〜PS4及びPS7〜PS9は非補正領域に分類される。尚、評価値に極大値が存在しなかった測距エリアに対しては、上述したように、極大レンズ位置として十分に大きな値(LV;図21(a)参照)が設定されているため、その測距エリアに対応する部分領域は非補正領域に分類される。
補正領域に分類された各部分領域の位置及びサイズを特定する情報は、補正領域情報として補正処理部24に与えられる。図21(c)に、この補正領域情報を示す。今の例の場合、補正領域情報には、i=5、6の夫々に関する、部分領域PSiの開始座標(Ri,Ci)と終了座標(Ri+Hi,Ci+Wi)が含まれる。
補正処理部24は、画像ファイル18から原画像データを読み出し、補正領域設定部23dにて作成された補正領域情報及び変換処理部22にて作成された補正フィルタに基づき、第1実施形態で述べた手法にて補正画像データを生成する。
代表測距エリアに収まる被写体との間の距離が遠い被写体が現れる画像部分に対して、補正フィルタによる補正処理を施しても、見た目には補正効果を認識できないことが多く、場合によっては、その補正処理によって悪影響が生じる場合もある。そこで、本実施形態の如く、そのような画像部分に対して補正処理を行わないようにする。これにより、補正処理時間の短縮効果が得られると共に補正による悪影響が低減される。また、撮影に必須の合焦処理の結果を流用して補正領域と非補正領域の分類がなされるため、その分類に必要な追加的処理は簡素で済む。
尚、図23を用いて説明した分類手法では、極大レンズ位置のみを用いて補正領域と非補正領域の分類を行っているが、極大評価値を用いて、この分類を行うようにしても良い。
例えば、所定の閾値ETH以上の極大評価値に対応する部分領域を補正領域に分類し、閾値ETH未満の極大評価値に対応する部分領域を非補正領域に分類する。つまり例えば、EM1≧ETHであれば部分領域PS1を補正領域に分類し、EM1<ETHであれば部分領域PS1を非補正領域に分類する。他の部分領域についても同様である。但し、代表測距エリアに対応する部分領域は、無条件に、補正領域に分類されることが好ましい。
また、極大レンズ位置と極大評価値の双方を考慮して、補正領域と非補正領域の分類を行っても良い。
測距時に小さな極大評価値しか得られないような領域または極大評価値が得られないような領域のコントラストは低く、このような領域に対して補正フィルタによる補正処理を行っても、見た目には補正効果を認識できないことが多い。また、上述したように、コントラストが低い画像部分に対して補正処理を行うと悪影響が生じやすい。従って、極大評価値に応じて、上記の如く補正領域と非補正領域の分類を行っても、補正処理時間の短縮効果が得られると共に補正による悪影響が低減される。
<<第6実施形態>>
次に、第6実施形態について説明する。第6実施形態は、第1実施形態を第2実施形態に変形したのと同様に、第5実施形態を変形したものに相当する。
図24に、第6実施形態に係る撮像装置の全体的構成のブロック図を示す。第6実施形態に係る撮像装置は、第5実施形態に係る撮像装置(図19)と類似している。但し、第5実施形態の撮像装置が補正領域設定部23d及び補正処理部24を備えているのに対し、第6実施形態の撮像装置は、それらの代わりに補正領域設定部23e及び補正処理部24aを備えている。この点を除いて、第5と第6実施形態に係る撮像装置は同様であり、同様の部分の重複する説明を原則として省略する。
更に、図24の補正処理部24aは、図13に示すそれと同じものである。従って、以下、補正領域設定部23eに着目して説明する。上述の各実施形態(特に、第1、第2及び第5実施形態)の説明文中の記載は、矛盾なき限り、第6実施形態の説明に対しても適用される。
補正領域設定部23eは、図19の補正領域設定部23dと同様の機能を備える。即ち、画像ファイル18に格納された、図21(a)に示すような測距情報に基づき、各測距エリアに対応する部分領域(図20(b)及び図21(b)参照)を定義すると共に原画像内を補正領域と非補正領域とに分類する。更に、第6実施形態に係る補正領域設定部23eは、画像ファイル18に格納された測距情報に基づいて、各部分領域に対する補正強度も設定する。
補正強度の設定手法について説明する。補正領域設定部23eは、測距情報を参照して、9つの測距エリアの中から、最も近距離側の極大レンズ位置に対応する測距エリア、即ち代表測距エリアを探索する。第5実施形態と同様、代表測距エリアに対する極大レンズ位置をLMKと表記する。補正領域設定部23eは、各測距エリアに対する極大レンズ位置LMiと代表測距エリアに対する極大レンズ位置LMKとの差分(LMi−LMK)を、測距エリアごとに、算出する。
そして、部分領域PSiに対する補正強度をCIiで表した場合、補正領域設定部23eは、下記式(7a)及び(7b)に従って、各部分領域についての補正強度CIiを算出する。LTHは、0以上の所定の閾値である。
CIi=(LTH−(LMi−LMK))/ LTH (但し、(LMi−LMK)≦LTH)・・・(7a)
CIi=0 (但し、(LMi−LMK)>LTH)・・・(7b)
つまり、図25に示す如く、部分領域ごとに、以下のように補正強度を設定する。差分(LMi−LMK)が0の場合は補正強度を1とし、差分(LMi−LMK)が閾値LTH以上の場合は補正強度を0とし、差分(LMi−LMK)が閾値LTH未満である場合は補正強度を極大レンズ位置に応じて0から1の間で線形に変化させる(即ち、極大レンズ位置が近距離側に向かうにつれて補正強度を増大させる。但し、上限は1)。尚、評価値に極大値が存在しなかった測距エリアについては、上述したように、極大レンズ位置として十分に大きな値(LV;図21(a)参照)が設定されているため、その測距エリアに対応する部分領域についての補正強度は0となる。
例えば、第5実施形態と同様、部分領域PS5及びPS6のみが補正領域に分類された場合、極大レンズ位置LM5及びLM6に応じて部分領域PS5及びPS6に対しては0より大きな補正強度が設定されるが、それ以外の部分領域(即ち、非補正領域)に対する補正強度は0とされる。
補正領域設定部23eは、補正領域に分類された各部分領域の位置及びサイズ並びに補正領域に分類された各部分領域に対する補正強度を特定する補正領域情報を、補正処理部24aに伝達する。補正処理部24aに伝達される補正領域情報は、図26(c)のようになる。この補正領域情報は、図21(c)に示す補正領域情報に補正強度に関する情報を付加したものに相当する。
補正処理部24aは、画像ファイル18から原画像データを読み出し、補正領域設定部23eにて作成された補正領域情報及び変換処理部22にて作成された補正フィルタに基づき、第2実施形態で述べた手法にて補正画像データを生成する。補正領域情報に含まれる補正強度は、第2実施形態で述べたように、加重平均係数αの算出に反映され、該補正強度に従った補正処理が実行される。
代表測距エリアに収まる被写体との間の距離が遠い被写体が現れる画像部分に対して、補正フィルタによる補正処理を施しても、見た目には補正効果を認識できないことが多く、場合によっては、その補正処理によって悪影響が生じる場合もある。この悪影響の程度は、差分(LMi−LMK)の増加に伴って増加すると推測される。そこで、本実施形態の如く補正強度を変化させる。これにより、補正による悪影響が低減される。勿論、本実施形態でも、第5実施形態と同様の効果が得られる。
尚、極大レンズ位置のみを用いて補正強度を設定する例を上述したが、極大評価値を用いて、この設定を行うようにしても良い。また、極大評価値と極大レンズ位置の双方を考慮して、補正強度を設定するようにしてもよい。
例えば、或る部分領域に関し、極大評価値が大きいほど補正強度を1に近づけ、極大評価値が小さいほど補正強度を0に近づける。この場合、代表測距エリアに対応する部分領域についての補正強度を、無条件に1とするようにしてもよい。
<<第7実施形態>>
次に、本発明の第7実施形態を説明する。第7実施形態では、本発明に係る撮像装置の動作の全体的な流れの一例を説明する。第7実施形態に係る撮像装置の全体的構成は、上述の各実施形態に係る撮像装置の何れかと同じとされる。
図27は、撮影時の全体的動作の流れの一例を示すフローチャートである。まず、顔検出方式、コントラスト検出方式及び複数エリア測距方式の何れか1つを選択するための方式選択処理が行われる。この方式選択処理は、例えば、操作部12に対する操作に従って行われる。
顔検出方式が選択された場合は、上述の第1又は第2実施形態における撮影時の処理が行われる。コントラスト検出方式が選択された場合は、上述の第3又は第4実施形態における撮影時の処理が行われる。複数エリア測距方式が選択された場合は、上述の第5又は第6実施形態における撮影時の処理が行われる。
図28は、補正時の全体的動作の流れの一例を示すフローチャートである。撮影時に顔検出方式が選択された場合は、上述の第1又は第2実施形態における補正時の処理が行われる。撮影時にコントラスト検出方式が選択された場合は、上述の第3又は第4実施形態における補正時の処理が行われる。撮影時に複数エリア測距方式が選択された場合は、上述の第5又は第6実施形態における補正時の処理が行われる。
<<第8実施形態>>
次に、本発明の第8実施形態について説明する。第8実施形態では、図1等に示される変換処理部21及び22による、画像劣化関数及び補正フィルタの作成手法を説明する。第8実施形態に記載の作成手法は、上述の各実施形態と組み合わせて利用される。これらの作成手法の一例は、特開2006−129236号公報(以下、特許文献αと呼ぶ)に記載されている。この特許文献αに記載の手法を用いて画像劣化関数及び補正フィルタを作成することができる。
[画像劣化関数の作成手法]
画像劣化関数として、点広がり関数(Point Spread Function)を作成する。まず、点広がり関数について説明する。点広がり関数を、以下、PSFと記述する。
図29を参照する。手ぶれは、空間フィルタを使って表すことができる。図29の符号401は、手ぶれの軌跡、即ち、理想的な点像が撮像装置のぶれによって画像上で描く軌跡(画像のぶれの軌跡)を表す。この手ぶれの軌跡にあわせてオペレータの要素に重みを加えた空間フィルタを形成し、この空間フィルタを用いてフィルタ処理を行うと、フィルタリング過程において各画素の濃淡値が手ぶれの軌跡に応じた近傍画素の濃淡値のみを考慮するようになる。つまり、この空間フィルタを用いて、手ぶれの影響を受けた画像を作成することができる。
この手ぶれの軌跡にあわせて重み付けがなされたオペレータ或るいは空間フィルタは、PSFと呼ばれ、手ぶれの数学モデルとして使用される。PSFの或る要素の重みは、その要素を手ぶれの軌跡が通過する時間に比例した値とされる(但し、各要素の重みの総和が1になるように正規化される)。即ち、重みは、動きベクトルの大きさの逆数に比例した値とされる。手ぶれが画像に与える影響を考えたとき、より遅い動きに対応する要素には、より大きな影響が与えられるからである。
図29の符号402は、手ぶれの動きが等速であると仮定した場合のPSFを表し、図29の符号403は、実際の手ぶれの動きの大きさを考慮した場合のPSFを表している。符合403で表されるPSFにおいて、重みの比較的小さい(動きベクトルの大きさが比較的大きい)要素を比較的黒く表示し、重みの比較的大きい(動きベクトルの大きさが比較的小さい)要素を比較的白く表示している。
図1等の変換処理部16にて生成される動きベクトルによって、手ぶれの軌跡と手ぶれの速度(即ち、手ぶれの軌跡を描く速度)とが特定される。PSFを作成するには、まず、手ぶれの軌跡からPSFの重みをかける要素(即ち、0ではない有意な重みが付与される要素)を決定する。そして、手ぶれの速度から、PSFの要素にかける重みを決定する。手ぶれの軌跡からPSFの重みをかける要素を決定する手法、及び、PSFの要素にかける重みを決定する手法については、周知であるため、説明を割愛する。
比較的速い手ぶれの速度に対応する要素には比較的小さな重みが付与され、比較的遅い手ぶれの速度に対応する要素には比較的大きな重みが付与される。或る要素に付与される重みは、その要素に対応する動きベクトルの大きさの逆数に概ね比例する。
上述の如く、各要素についての重みを決定することにより、画像劣化関数としてのPSFが生成される。
[補正フィルタの作成手法]
次に、補正フィルタの作成手法について説明する。今、水平方向にNX画素、垂直方向NYの解像度を有する二次元の画像を考える。この画像において、垂直方向にi番目、水平方向にj番目の位置にある画素の画素値をp(i,j)で表す。但し、本実施形態において用いる変数i及びjは、上述の各実施形態において記述したそれらとは異なるものとする。
空間フィルタによる画像の変換について説明する。空間フィルタによる画像の変換とは、注目画素の近傍画素の畳み込みによって画像の変換をモデル化したものに相当する。畳み込みの係数をh(l,m)とする。今、説明の簡略化上、−n≦l≦n、且つ、−n≦m≦n、とする。nは2以上の整数であり、l及びmは整数である。
注目画素の画素値をp(i,j)で表した場合、注目画素に対する畳み込みによる変換は、下記式(A1)によって表現することができる。また、h(l,m)自身を空間フィルタと呼んだり、フィルタ係数と呼んだりする。変換の性質は、h(l,m)の値によって決まる。p'(i,j)は、この変換後の注目画素の画素値を表す。
撮像装置で点光源を観察した場合、画像の形成過程に劣化がないと仮定すれば、画像上に観察される像において、ある一点だけが0以外の画素値を持ち、それ以外の画素値は0となる。実際には画像の形成過程に劣化過程が含まれるので、点光源を観察しても、その像は一点にならず、広がった像になる。手ぶれが発生した場合、点光源は手ぶれに応じた軌跡を画面上に生成する。理想的な点像が、実際に撮影された画像において、どのように広がるかを表した空間フィルタがPSFである。
PSFを(2n+1)×(2n+1)の空間フィルタh(l,m)で表現すると、ボケの無い画像の画素値p(i,j)とボケのある画像の画素値p'(i,j)は、上記式(A1)の関係を満たす。ここで、実際に観測されるのは、ボケのある画像の画素値p'(i,j)であり、ボケの無い画像の画素値p(i,j)は、何らかの方法で計算する必要がある。
上記式(A1)を全ての画素について書き並べると、下記式(A2)に示すようになる。
これらの式を下記式(A3)のように行列で表現することが可能である。ここで、P'は、画素値p'(i,j)をラスター走査順に一次元配列したNX・NY×1の行列であり、Pは、画素値p(i,j)をラスター走査順に一次元配列したNX・NY×1の行列であり、Hは、h(l,m)を二次元に書き並べた、PをP'に変換するための行列である。
P'=H×P ・・・(A3)
Hの逆行列H-1が存在すれば、P=H-1×P'を計算することによって、劣化した画像を表すP'から劣化の無い画像を表すPを求めることが可能であるが、一般にはHの逆行列は存在しない。逆行列が存在しない行列に対して、一般逆行列ないしは擬似逆行列と呼ばれるものが存在する。下記式(A4)に一般逆行列の例を示す。
H* =(Ht ・H+γ・I)-1・Ht ・・・(A4)
ここで、H* はHの一般逆行列、Ht はHの転置行列、γはスカラー、IはHt ・Hと同じサイズの単位行列である。H* を用いて下記式(A5)を計算することで、観察された画像を表すP'から手ぶれが補正された画像を表すPを得ることができる。γは補正の強さを調整するパラメータである。γが小さければ強い補正処理となり、γが大きければ弱い補正処理となる。
P=H* ×P' ・・・(A5)
図1等の変換処理部21は、画像ファイル18に格納された動きベクトルから画像劣化関数としてのPSFを生成する。図1等の変換処理部22は、画像劣化関数としてのPSFから、例えば、空間フィルタである一般逆行列H* を補正フィルタ(画像復元フィルタ)として生成する。P'は、画像ファイル18に格納された原画像データにて示される原画像を表し、Pは、この原画像の全体を補正した画像を表す。実際には、図6等のフィルタリング部41が、補正フィルタとしての一般逆行列H* を原画像の補正領域に対してのみ適用することで、フィルタリング画像が生成される。
尚、原画像の画像サイズを640×480とした場合、上記式(A5)におけるPは307200×1の行列、H* は307200×307200の行列となる。このように、行列が非常に大きくなる場合は、上記式(A4)及び式(A5)を直接用いて補正を行うと演算負荷が非常に重くなる。従って、上記特許文献αに記載のように、Pの元になる画像のサイズを適宜小さく捉えることにより、実用的なサイズ(例えば、63×63)の空間フィルタを補正フィルタとして作成し、この補正フィルタを原画像の補正領域の各画素に順次適用することによって、フィルタリング画像を生成しても良い。
また、上記の手法によって生成された空間フィルタは、一般逆フィルタとも呼ばれる。このような一般逆フィルタを用いる代わりに、ウィーナフィルタや周波数フィルタを補正フィルタとして用いて補正処理(画像復元処理)を行い、これによってフィルタリング画像を得るようにしてもよい。
<<変形等>>
上述の実施形態の変形例または注釈事項として、以下に、注釈1〜注釈5を記す。各注釈に記載した内容は、矛盾なき限り、任意に組み合わせることが可能である。
[注釈1]
上述した説明文中に示した具体的な数値は、単なる例示であって、当然の如く、それらを様々な数値に変更することができる。例えば、第3又は第4実施形態で、検出エリアの総数を9としたが、検出エリアの総数は9以外であってもよい。同様に、第5又は第6実施形態で、測距エリアの総数を9としたが、測距エリアの総数は9以外であってもよい。
[注釈2]
各実施形態において、手ぶれ検出部15を角速度センサにて構成する例を示したが、撮像装置の加速度を検出する加速度センサ又は撮像装置の角加速度を検出する角加速度センサにて、手ぶれ検出部15を形成するようにしてもよい。この場合、加速度センサ又は角加速度センサが検出した加速度又は角加速度によって手ぶれ信号が形成され、この手ぶれ信号と焦点距離に基づいて動きベクトルが算出される。また、撮像装置の動きを表す別の物理量のデータに基づいて動きベクトルを算出するようにしてもよい。
[注釈3]
撮像装置内にて補正処理(画像復元処理)を行って画像ファイル18から補正画像データを生成する例を示したが、この補正処理は、撮像装置の外部機器(不図示)にて実施することも可能である。つまり、コンピュータ等の外部機器に、図1等に示される、変換処理部21及び22と補正領域設定部(23、23a、23b、23c、23d又は23e)と補正処理部(24又は24a)とを設け、その外部機器に、画像ファイル18に格納された情報を読み込ませて上記と同様の補正処理を行わせ、これによって補正画像データを生成するようにしてもよい。
[注釈4]
また、各実施形態における撮像装置は、ハードウェア、或いは、ハードウェアとソフトウェアの組み合わせによって実現可能である。特に、図1等に示される、変換処理部21及び22と補正領域設定部(23、23a、23b、23c、23d又は23e)と補正処理部(24又は24a)とから成る画像復元部の機能は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせによって実現可能であり、また、それらの各機能を撮像装置の外部にて実現することも可能である。
ソフトウェアを用いて撮像装置を構成する場合、ソフトウェアにて実現される部位についてのブロック図は、その部位の機能ブロック図を表すことになる。また、上記画像復元部にて実現される機能の全部または一部を、プログラムとして記述し、該プログラムをプログラム実行装置(例えばコンピュータ)上で実行することによって、その機能の全部または一部を実現するようにしてもよい。
[注釈5]
上記の画像復元部は、ぶれを含む原画像(入力画像)から画像復元処理によって補正画像(復元画像)を生成する機能を有する。この画像復元部に、記録媒体17が設けられていると考えることも可能である。