図1は、本実施例である撮像装置の構成を示す図である。
被写体から撮影レンズ11に入射した光束(撮影光束)は、絞り13aで光量調節された後に、シャッタ12aを通り撮像素子19aの撮像面に到達する。撮像素子19aは、CMOSセンサやCCDセンサなどの半導体撮像素子で構成される。
図1では、撮影レンズ11を1つのレンズとして表しているが、本実施例の撮像装置は、実際には複数のレンズユニットを有している。ここで、レンズユニットとは、1つ又は複数のレンズで構成されるものである。複数のレンズユニットのうち少なくとも1つのレンズユニットは、焦点調節を行うためのレンズユニット(フォーカスレンズ)であり、他のレンズユニットには、撮影光学系の焦点距離を変更するためのレンズユニット(ズームレンズ)がある。
フォーカスレンズは、AF駆動モータ14aからの駆動力を受けて光軸10方向に移動することで、撮影光学系における焦点調節を行う。AF駆動モータ14aは、フォーカス駆動部14bからの駆動信号を受けることで駆動する。
また、ズームレンズは、ズーム駆動モータ15aからの駆動力を受けて光軸10方向に移動することで、所定のズーム位置に停止する。これにより、撮影光学系の焦点距離(撮影画角)を変更することができる。ズーム駆動モータ15aは、ズーム駆動部15bからの駆動信号を受けることで駆動する。
絞り13aは、複数の絞り羽根を有しており、これらの絞り羽根は、絞り駆動部13bからの駆動力を受けて動作することで光通過口となる開口面積(絞り口径)を変化させる。これにより、像面に入射する光量を調節することができる。
シャッタ12aは、複数のシャッタ羽根を有しており、これらのシャッタ羽根は、シャッタ駆動部12bからの駆動力を受けることで光通過口となる開口部(シャッタ12aに設けられた固定開口部)を開閉する。これにより、像面に入射する光束を制御する。
また、撮像素子19aにおける電荷蓄積時間、読出し等のタイミング制御は、センサ駆動部19bにて行われる。
また、撮影時の条件(被写体輝度等)や撮影者による設定などに応じて、照明ユニット16aは照明駆動部16bからの駆動信号を受けて駆動(発光)する。撮影動作を撮影者に知らせるためのスピーカ17aは、発音駆動部17bからの駆動信号を受けて駆動(発音)する。
上述したフォーカス駆動部14b、ズーム駆動部15b、絞り駆動部13b、シャッタ駆動部12b、照明駆動部16b、発音駆動部17bおよびセンサ駆動部19bの駆動は、撮影制御部18により制御されている。
撮影制御部18には、レリーズ操作部12c、絞り操作部13c、ズーム操作部15c、照明操作部16c及び防振操作部120からの操作信号が入力されるようになっており、入力信号に応じた制御動作を行う。すなわち、各操作部12c〜16cからの操作信号に基づいて、フォーカス駆動部14b、ズーム駆動部15b、絞り駆動部13b、シャッタ駆動部12b、照明駆動部16b、センサ駆動部19bの駆動を制御する。
なお、絞り13aの開口径や照明ユニット16aの発光量は、撮影条件(被写体輝度等)に基づいてカメラ内(撮影制御部18)で自動的に設定されるが、撮影者が任意に撮影条件(絞り径や発光量)を設定するために、絞り操作部13cおよび照明操作部16cが設けられている。
撮影制御部18は、後述する信号処理部111で生成された画像信号に基づいて被写体輝度の測定(測光)を行い、この測光結果に基づいて絞り13aの絞り口径とシャッタ12aの閉じタイミング(露光時間)を定めている。また、撮影制御部18は、フォーカス駆動部14bを介してフォーカスレンズ(撮影レンズ11)を光軸方向に移動させながら、信号処理部111からの出力に基づいてフォーカスレンズの合焦位置を求めている。すなわち、いわゆるコントラスト検出方式による焦点調節を行っている。
撮像素子19aから出力された信号(アナログ信号)は、A/D変換器110によりデジタル信号に変換されて信号処理部111に入力される。信号処理部111は、入力された信号に対して輝度信号や色信号等を生成する信号処理を行うことにより、カラーの映像信号(画像データ)を生成する。
信号処理部111で生成された映像信号は、信号切替部112を介して第2画像補正部117bに入力される。すなわち、後述する防振モードが設定されていない場合に、映像信号が第2画像補正部117bに入力される。
第2画像補正部117bでは、入力された映像信号に対してガンマ補正処理や非線形レベル圧縮処理を行う。第2画像補正部117bの出力信号は、撮影画像として表示部118に表示されるとともに、記録部119に記録されたり、記録部119を介してメモリカードなどの記録媒体(不図示)に記録されたりする。
本実施例における防振モードでは、像振れが起きにくい程度の露光時間で複数回の撮像動作を行うことによって複数の画像データを生成し、これらの画像データを合成することで露出補正された画像データ(撮影画像)を生成する。ここで、防振操作部120を操作することによって、防振モードを設定したり、防振モードの設定を解除したりすることができる。
以下、防振モードが設定されているときの動作について説明する。
複数回の撮像動作によって撮像素子19aから出力される複数の信号は、A/D変換器110でデジタル信号に変換されてから信号処理部111にて信号処理が施される。ここで、防振操作部120から撮影制御部18に対して防振モードの設定を指示する信号が出力されると、撮影制御部18は、信号処理部111で生成された画像データを、信号切替部112を介して画像記憶部113に入力させる。この場合、第2画像補正部117bには画像データが出力されない。
画像記憶部113には、複数回の撮像動作によって生成された複数の画像データのうち、後述するように所定の条件を満たす画像データが記憶される。具体的には、撮影制御部18は、複数回の撮像動作によって得られた複数の画像データのうち画像合成に適した画像データを特定し、この画像データだけを画像記憶部113に記憶させる。他の画像データについては、画像記憶部113および第2画像補正部117bに出力されない。
ズレ検出部114は、横方向および縦方向の画像間のずれ(動きベクトル)を検出する。この動きベクトルは、手振れによって生じる像振れに相当し、像振れの方向および量を表す。具体的には、画像記憶部113に記憶された各画像データにおける特徴点を抽出し、この特徴点の撮影画面内における位置座標を割り出す。
例えば、図2のフレーム121aに示すように、人物122aが建物123aを背景にして立っている被写体を撮影する場合を用いて、ズレ検出部114の動作を説明する。
複数回の撮像動作を行う場合には、フレーム121bに示すように、手振れによりフレーム121aに対して構図がずれた画像が得られることがある。
ズレ検出部114は、フレーム121aにおいて、画面の周辺に位置する建物123aのうち輝度の高い点である窓124aのエッジ125aをエッジ検出により特徴点として取り出す。同様に、フレーム121bにおいても、窓124bのエッジ125bを特徴点として取り出す。
そして、フレーム121aの特徴点125aと、フレーム121bの特徴点125bとを比較し、この差分(動きベクトルに対応する)だけフレーム121bを補正(座標変換)する。すなわち、フレーム121aを基準画像とし、この基準画像での構図に揃うように他の画像(フレーム121b等)に対して座標変換を行う。
図2では、フレーム121bの特徴点125bがフレーム121aの特徴点125aに重なるように、矢印126の分だけフレーム121bを座標変換する。ここで、矢印126は、動きベクトルを示す。
本実施例では、撮影画面内の周辺領域(撮影画面の外枠に近い領域)から特徴点を抽出するようにしている。以下、この理由について説明する。
撮影を行う場合には、撮影画面の中央近傍に主被写体が位置し、且つ主被写体が人物であることが多い。この場合、主被写体の領域から特徴点を抽出すると、被写体の振れによる不都合が生じることがある。
複数回の撮像動作を行っている間においては、撮影者の手振ればかりでなく、被写体の振れも重畳してくるため、主被写体の領域内での特徴点を用いると、被写体の振れに基づいて座標変換処理を行ってしまうことがある。
この場合、主被写体の振れに基づいて座標変換を行うため、主被写体の構図が適正(ズレが概ね無い状態)になるように思われる。しかし、一般的に人物の動きは複雑であり、特徴点を選ぶ場所に応じて、画像間のズレを検出する精度が大きく左右される。
例えば、主被写体(人物)の眼を特徴点として選んだ場合には、瞬きの影響によって実際の被写体全体の振れとは異なってしまう。また、手の先を特徴点として選択した場合には、手は動きやすいため、実際の被写体全体の振れとは異なってしまう。
このように人物の1点(特徴点)に関するズレに基づいて画像データの座標変換を行っても、人物全体が適正に座標変換されるわけではない。そして、人物全体の振れとは異なる振れ(ズレ)に基づいて座標変換を行ってから画像データを合成しても、合成された画像データにおいては、人物がずれたままとなってしまう。
一方、撮影画面内の周辺領域には、一般的に建物等のように動かない被写体(静止被写体)が位置しているため、静止被写体を特徴点の抽出領域として選択すれば、座標変換処理において被写体振れの影響は生じない。そこで、本実施例では、上述したように撮影画面内の周辺領域から特徴点を抽出するようにしている。
なお、画像間のズレを検出する方法としては、上述したように周辺領域内の一点を特徴点として抽出し、各画像の特徴点に基づいてズレを検出する方法に限られるものではない。例えば、各画像の全領域を複数の領域に分割し、各領域における画像間の動きベクトルを検出する。そして、所定の条件に基づいて複数の動きベクトルをグループ化し、各グループ内で最も頻度の高い動きベクトルを画像間のズレとすることができる。
上述した説明では、画像の横方向および縦方向における動きベクトルを検出し、この動きベクトルに基づく座標変換によって、画像データを横方向および縦方向にシフトさせている。ここで、画像の回転情報も検出するようにすれば、この検出情報に基づいて回転方向の像振れを補正することもできる。
座標変換部115は、ズレ検出部114で求められた画像間のズレ(動きベクトル)に基づいて、基準画像データ以外の画像データに対して座標変換処理を行う。また、座標変換部115は以下の動作も行っている。
まず、座標変換処理を行う際に基準となる基準画像を特定する。この基準画像データは、複数の合成用画像データのうち任意の1つの画像データである。そして、基準画像以外の画像のうち、基準画像に対して所定量以上構図のずれている画像(所定値以上の動きベクトルを有する画像)については、削除する。すなわち、削除される画像については、座標変換処理が行われず、画像合成処理にも用いられない。
座標変換部115で座標変換された各画像データは画像合成部116に出力され、画像合成部116の画像合成処理によって1つの画像データ(以下、合成画像データともいう)が生成される。
デジタル画像の場合には、露出不足の画像でもゲインアップすることで露出の補正が可能である。ただし、ゲインをアップさせるとノイズも増えて低画質の画像になってしまう。
しかし、本実施例のように複数の画像データを合成して画像全体のゲインをアップさせる場合において、合成用画像データが十分な数だけあれば、画像合成処理の過程において全体の信号レベルを圧縮処理することにより、相対的に各画像データのノイズを低減させることができる。これにより、S/N比の良好な画像データを得ることができ、結果的にノイズを抑えて露出を適正化することができる。
別の考え方をすれば、例えばノイズを許容して撮像素子19aを高感度に設定してから複数回の撮像動作を行い、得られた複数の画像データを合成することにより、画像データに含まれるランダムノイズを減少させていることになる。
合成画像データは第1画像補正部117aに入力され、第1画像補正部117aにおいて、ガンマ補正処理や非線形レベル圧縮処理が行われる。また、座標変換された画像データを合成する場合、図3に示すように、複数の画像が互いに重ならない領域129が生じる。この領域129の大きさは、手振れによって生じる画像間のズレに対応したものである。第1画像補正部117aは、領域129での画像データをカットする。
領域129をカットした場合には、複数の画像が重なる領域は、元の画像サイズよりも小さくなるため、この領域内の画像データについては、必要に応じて拡大補間処理を行うことで、元の(又は所定の)画像サイズ(アスペクト)に調整する。
ここで、合成画像の全画素数を所定数に揃える必要がない場合には、不必要にデータ量を増大させるのを防止するために、拡大補間処理を行わなくてもよい。また、合成画像データを再生させるときに、拡大補間処理を行うようにしてもよい。
第1画像補正部117aで生成された画像データは、表示部118で撮影画像として表示されたり、記録部119に記録されたりする。
一般にデジタルカメラの場合では、撮影動作の後に撮影画像が液晶モニタ(表示部118)に表示される。
しかし、本実施例のように複数の画像データを合成して露出補正された合成画像データを生成する場合には、合成画像データを生成して表示部118で表示させるまでの時間がかかってしまう。
そこで、本実施例では、画像合成される前の合成用画像データを表示部118に表示させている。これにより、撮影動作(複数回の撮像動作)が完了してから表示部118に画像データが表示されるまでの時間を短縮させることができる。ここで、表示部118に表示させる合成用画像データは、予め決定されたものであり、例えば、基準画像データを表示させたり、複数の撮像動作のうち最初の撮像動作によって得られた画像データを表示させたりすることができる。
一般的に表示部118は小型であるため、露出不足である合成用画像データを、ゲインを上げた状態で表示させても、画質の劣化は目立たない。また、表示部118で撮影画像を観察するのは、主に撮影構図をチェックするためであるため、大まかな構図が分かる合成用画像データを表示させるだけで十分である。
一方、記録部119に記録された画像データを表示部118に入力すれば、この画像データを再生表示させることができる。
上述したように複数回の撮像動作によって複数の画像データを取得し、これらの画像データを合成する場合において、撮影動作(複数回の撮像動作に対応する)の直後では、表示部118に所定の画像データ(合成用画像データ)が表示される。一方、記録部119で記録された合成画像データを表示部118で再生表示させる場合において、表示禁止部118aは、合成用画像データを表示部118で表示させるのを禁止し、合成画像データを表示部118で表示させる。
なお、撮影画像を再生表示させる再生モードに設定した場合には、一般的には記録部119に記録されたすべての画像データを表示部118で表示させることができる。すなわち、各画像データを表示部118で表示させたり、所定数の画像データをまとめて表示部118で表示させたりすることができる。
一方、本実施例において、再生モードが設定されている場合には、合成画像データだけが表示部118で表示されるようになっている。すなわち、記録部119に記録された合成用画像データの表示は、表示禁止部118aによって禁止される。なお、所定の操作によって、合成用画像データを表示部118で表示させてもよい。
再生モードの設定時に、複数の合成用画像データを表示させると、各画像データを観察する時間がかかってしまうとともに、撮影画像データ(合成画像データ)とは異なる画像データによって撮影者が混乱してしまうことがある。このため、本実施例では、再生モードの設定時には、撮影画像としての合成画像データだけを表示させるようにしている。
また、上述したように画像記憶部113には、複数回の撮像動作によって得られた複数の画像データのうち所定の条件を満たす画像データだけが記憶されるようになっている。ここで、すべての画像データを画像記憶部113に記憶させてもよいが、本実施例のようにすることで、画像記憶部113での記憶容量を確保したり、画像データの記憶に要する時間や、合成画像データを生成するまでの時間を短縮したりすることができる。
次に、本実施例における特徴部分について、図4を用いて説明する。図4は、夕日を撮影するシーンを示しており、被写体となる景色130に対して複数回の撮像動作を行うことによって生成された画像(1)〜(7)を示している。
なお、景色130中に示す複数の枠(例えば、枠130a)は、各画像(1)〜(7)の外枠を示しており、各枠および各画像(1)〜(7)は矢印で対応させている。
ここで、景色130に対する測光動作の結果に基づいて決定されたシャッタ速度(露光時間)が1/10msecであるとする。撮影光学系の焦点距離が50mm(135フィルム換算値)である場合において、シャッタ速度を1/50msec以下に設定しないと、手振れによる像振れが生じるおそれがある。
したがって、上述した場合にはシャッタ速度を1/50msecに設定し、合計の露光時間が1/10msecとなるように、上記シャッタ速度での撮像動作を5回行う。そして、5回の撮像動作によって生成された画像データを合成して、1つの画像データを生成する。
本実施例では、図4に示すように、7回の撮像動作によって7つの画像データを生成している。そして、上述したように各画像データに対して、画像合成に不適切な画像データであるか否かの判別を行い、画像合成に用いることができる画像データだけを画像記憶部113に記憶する。ここで、画像合成に用いることができない不適切な画像データについて、図4を用いて説明する。
複数回の撮像動作を行っている間において、主被写体(撮影時の主な被写体)とカメラとの間に他の被写体が入り込んだ場合や、所定量以上の像振れが発生した場合に得られた画像データは、不適切な画像データと判別される。
このような不適切な画像データにおいては、最初に得られた画像データに対して各種パラメータが大きく異なっている可能性が高い。具体的には、露光中の被写体振れにより画像データのコントラストが低下したり、主被写体よりも近距離側に入り込んだ他の被写体が非合焦状態となることによりコントラストが低下したりする。
このため、画像データのコントラストを評価し、この評価値が所定範囲外である場合には、この画像データが不適切な画像データであると判別するとともに、画像記憶部113へは記憶しない。この処理の詳細については後述する。このように、画像データのコントラストに基づいて、不適切な画像データであるか否かの判別を行うことができる。
一方、撮影光学系の合焦状態に基づいて、不適切な画像データであるか否かの簡易な判別を行うこともできる。上述したように不適切な画像データが得られる撮影状況においては、複数回の撮像動作を開始したときの合焦状態とは異なる。このため、エンコーダを用いて、撮影レンズ(フォーカスレンズ)11の合焦位置の変化を検出し、この検出結果に基づいて不適切な画像データであるか否かの判別を行うこともできる。
図4の画像(3)においては、撮影動作中に高速で移動する被写体(車両)が撮影画面内に入り込んでおり、他の画像データ(1)等とは異なる構図となっている。すなわち、画像(3)では、高速移動する車両によって被写体振れが発生している。この被写体振れの発生した領域におけるコントラストは、他の画像データにおける同じ領域のコントラストに比べて低い可能性が高い。
なお、移動する被写体の形状と移動方向によっては、コントラストが高くなる場合もある。例えば、輝度等が均一な背景に対して、上下が別色で彩色された列車がほぼ水平に走っている場合には、コントラストが高くなる。
画像(6)は、遠くの風景を撮影するためにピントを無限遠に設定して撮影動作を開始した後に、至近距離の位置で人物が撮影画面内に入り込んだ場合を示している。合焦範囲(被写界深度)から外れた位置にある人物に関しては、いわゆるピンぼけした画像となり、この人物に対応した画像領域のコントラストは、他の画像(1)等における同じ領域でのコントラストに比べて低い可能性が高い。
なお、背景および人物の明るさによっては、コントラストが高くなる場合もある。例えば、輝度が均一であり、暗い背景の場合であって、人物に対して十分な照度の照明光が照射されている場合には、人物での輝度が高くなるため、コントラストも高くなる。
上述したように、画像(3)、(6)と、他の基準画像(例えば、画像(1))とを比較すると、一部の領域においてコントラストが所定量以上異なっている場合がある。そこで、本実施例では、基準画像に対して所定量以上のコントラストの差を持つ画像(3)、(6)を特定し、この画像を画像合成に用いないようにしている。画像(3)、(6)は、画像合成において不適切な画像となる。
コントラストの差に基づいて画像合成に用いない画像データを特定する処理は、上述したように撮影制御部18で行われる。
本実施例では、図4に示す画像(1)〜(7)のうち画像(1)、(2)、(4)、(5)、(7)が画像記憶部113に記憶される。
ここで、所定数(図4に示す場合には5つ)の画像データを画像記憶部113に記憶させたときに、2回目以降の撮像動作によって得られた画像データにおけるコントラストの平均値を計算し、この平均値に対して、最初の撮像動作によって得られた画像データのコントラストが所定量以下でないことを確認しておくことができる。これにより、画像記憶部113に記憶された画像データを合成する際の精度を向上させることができる。
また、最初の画像データのコントラスト値が上記平均値に対して所定量以下である場合には、最初の画像データを画像記憶部113から削除することができる。これにより、合成画像データの画質を更に向上させることができる。
一方、画像記憶部113にすべての画像データ(1)〜(7)を記憶しておき、すべての画像データにおけるコントラストの平均値を求め、この平均値に対して所定量以上異なるコントラストを有する画像データについては、画像合成処理に用いないようにしてもよい。また、画像合成処理に用いない画像データについては、画像記憶部113から削除してもよい。この場合には、画像記憶部113内に記憶されているデータ容量を低減することができる。
上述したように本実施例では、1回の撮像動作が完了する度に、この撮像動作によって生成された画像のコントラストに基づいて、該画像データが画像合成処理に適した画像データであるか否を判別している。なお、最初の画像データに対して画像合成に適しているか否かの判別は行わない。そして、画像合成処理に不適切な画像データである場合には、画像記憶部113への記憶を行わずに、必要数の画像データが得られるまで撮像動作を繰り返すようにしている。
しかし、撮像動作を繰り返しても、撮影環境によっては画像合成処理に適した画像データを必要な数だけ取得することができないことがあり、撮影動作を終了させることができない可能性もある。
この場合には、撮像動作の回数や撮影動作(複数回の撮像動作)を行う時間に上限を設けることができる。例えば、撮像動作を繰り返しても画像合成処理に適さない画像データしか得ることができない場合には、最初の撮像動作を開始してから2分が経過した時点で、撮影動作を終了させることができる。また、撮像動作を20回行った場合には、画像記憶部113に記憶されている画像データの数に拘わらず、撮影動作を終了させることができる。
一方、撮像動作の回数の上限を固定とするのではなく、例えば、画像合成に必要な数(撮影条件によって異なる)の2倍の数を上限値とするように、画像合成に必要な数やトータルの露光時間に応じて、撮像動作の回数の上限を変更するようにしてもよい。
ここで、上述した制限によって必要数の画像データを取得することができない場合には、以下に説明する画像処理を行うことにより、必要数の画像データを合成したことと同様の効果を得ることができる。画像合成に必要な画像データの数(必要最低限の数)は、複数回の撮像動作によって得られた画像の輝度情報に基づいて求めることができる。
例えば、画像合成に必要な画像データの数が5つである場合であって、画像記憶部113には4つの画像データしか記憶されていない場合には、画像記憶部113内の各画像データにおける輝度データおよび色データの値が5/4倍となるようにゲインをアップさせる。そして、各画像データに対して座標変換処理を行った後、画像合成処理を行う。
本実施例では、複数回の撮像動作によって得られた画像データを座標変換してから合成するため、センサ(撮像素子)特有の固定パターンノイズが、像振れによってランダムノイズ化される。このため、低輝度の被写体に対する撮影動作によって得られた画像データに対してゲインアップを行う場合に比べて、ノイズが目立ちにくくなる。
ここで、複数回の撮像動作に要する時間の短縮、および画像データの画質(S/N比など)向上のうち一方を優先させるモードを、使用者が選択的に設定できるようにしてもよい。すなわち、時間短縮を優先させる場合には、撮像動作の回数や撮影時間を行う時間を制限するモードに設定し、画質向上を優先させる場合には、上述したゲインアップを行うモードに設定することができる。
次に、上述した画像データのコントラストに基づいて画像合成に適した画像データを特定する動作と、動きベクトルに基づいて画像合成に適した画像データを特定する動作とについて、具体的に説明する。
図1に示すように、座標変換部115は、シフト部115a、基準画像設定部115bおよび加算画像合否判定部115cを有している。また、信号処理部111は、画像処理部111aおよびコントラスト検出部111bを有している。
複数回の撮像動作を開始したときには、最初の撮像動作によって生成された画像データは画像記憶部113に記憶される。
コントラスト検出部111bは、画像処理部111aで生成された画像データのコントラストを検出する。
ここで、最初の撮像動作は、撮影者が構図やピントの状態を観察し、撮影開始のタイミングも吟味した上で行われるため、この撮像動作によって生成された画像データは良好なコントラストを示している可能性が高い。一方、2回目以降の撮像動作によって生成された画像データは、図4を用いて説明したように、被写体振れやピンぼけなどでコントラストが低下している場合もある。
撮影制御部18の一部である低コントラスト判別部18aは、2回目以降の撮像動作によって画像データが生成されるたびに、この画像データのコントラストと、最初に得られた画像データのコントラストとを比較する。そして、コントラストの差が所定値以上である場合には、最初の画像データと比較した画像データが画像記憶部113に出力されないようにしている。そして、画像記憶部113に出力されない画像データは、削除される。
防振モードにおける複数回の撮像動作によって得られた各画像は、適正露出が得られる1回の撮像動作によって得られた画像に比べてコントラストが低くなる。本実施例では、複数回の撮像動作によって得られた複数の画像間でコントラストの比較(低コントラストの画像間での比較)を行っているため、画像合成に適した画像であるか否かの判別を的確に行うことができる。
画像記憶部113に記憶された画像データは順次ズレ検出部114に送られ、上述したようにズレ検出部114において、基準画像内の特徴点に対する他の画像内の特徴点の動きベクトルが求められる。ここで、基準画像は、最初に取得した画像としている。また、画像記憶部113に記憶された画像データがズレ検出部114に出力されている場合には、これらの画像データはシフト部115aに入力されない。
基準画像設定部115bは、ズレ検出部114での検出結果に基づいて、画像記憶部113内に記憶された複数の画像データのうち、画像合成処理において基準となる画像データを決定する。具体的には、画像記憶部113内に記憶された複数の画像のうち、いずれか1つの画像を仮の基準画像とし、他の画像とのずれ量を求める。この処理は、画像記憶部113内の各画像を仮の基準画像として行う。そして、仮の基準画像と、他のすべての画像とのずれ量が最も小さくなる場合における仮の基準画像を真の基準画像とする。
加算画像合否判定部115cは、基準画像設定部115bで決定された基準画像に対して、動きベクトルが所定値以上となる他の画像を特定する。
上述した処理が完了した場合には、画像記憶部113内の複数の画像データを順次シフト部115aに出力する。
基準画像設定部115bは、この基準画像設定部115bで決定した基準画像に対する他の画像の動きベクトルに関する情報をシフト部115aに出力する。また、加算画像合否判定部115cは、画像合成に適さない画像データ、すなわち、基準画像に対する動きベクトルが所定値以上となる他の画像データ(例えば図4の画像(7))が画像記憶部113からシフト部115aに入力しないようにする。
シフト部115aは、基準画像設定部115bで設定された基準画像に対して他の画像が揃うように、他の画像データに対して座標変換を行う。上述したようにシフト部115aに出力される画像は、基準画像および、基準画像に対して動きベクトルが所定値以下の他の画像であるため、シフト部115aでの座標変換を的確に行うことができる。
シフト部115aで座標変換された画像データと、基準画像データとは、画像合成部116において合成される。
なお、動きベクトルだけに基づいて行うのではなく、画像記憶部113内の画像データに直接アクセスして更なる画像分析(色情報等の分析)を行い、この分析結果に基づいて画像合成処理に用いられる画像データを特定することもできる。例えば、各画像の色情報を分析することにより被写体の変化を検出でき、この検出結果を用いて画像合成に用いる画像データを特定することができる。すなわち、色情報が大きく異なっている画像については、画像合成に用いないようにすることができる。
図5は、本実施例の撮像装置における撮影動作を示すフローチャートであり、このフローは撮像装置の電源がオン状態となったときにスタートする。
ステップS1001では、撮影者のレリーズボタンの半押しによってSW1がON状態となるまで待機し、SW1がON状態になるとステップS1002に進む。
ステップS1002において、撮影制御部18は、AFモータ14aを駆動して撮影レンズ(フォーカスレンズ)11を光軸方向に移動させながら、撮像素子19aの出力に基づいて生成された画像データのコントラストを検出する。そして、コントラストが最も高くなったときに、撮影レンズ11の駆動を停止させる。これにより、撮影光学系が合焦状態となる。この焦点調節方法は、いわゆるコントラスト検出方式による焦点調節方法である。
このようにコントラスト検出方式による焦点調節を行うことができる撮像装置では、低コントラストの状態を判別できる機能を有しているため、この機能を利用することにより上述した低コントラスト判別部18aの動作を行うことができる。
また、ステップS1002では、画像データに基づいて被写体の輝度を測定(測光)する。測光動作により得られた測光値に基づいてシャッタ12aの閉じタイミング(露光時間)と絞り13aの絞り口径を設定する。そして、設定した絞り口径となるように、絞り駆動部13bを介して絞り13aを駆動する。
ステップS1003では、防振操作部120の操作によって防振モードが設定されているか否かを判別する。ここで、防振モードが設定されている場合にはステップS1004に進み、設定されていない場合にはステップS1019に進む。
まず、防振モードが設定されている場合の動作について説明する。
ステップS1004では、撮影条件に基づいて、撮像動作の回数と、各撮像動作における露光時間を求める。
ここでの撮影条件とは、以下の4つの条件を含む。
1)被写体の明るさ。これは、ステップS1002での測光動作によって得られる。
2)撮影光学系の焦点距離。これは、撮影レンズ11(ズームレンズ)の位置を検出する検出器の出力に基づいて求められる。
3)撮影光学系の明るさ(絞り値)。これは、撮像装置(撮影光学系)毎に予め設定されている。
4)撮像素子19aの感度。これは、予め設定されている値であり、撮影者の操作によって設定されたり、自動的に設定されたりする。
ここで、例えば撮像素子19aの感度がISO200に設定されていたとする。また、ステップS1002での測光結果から適正な露光を行うためには、絞り13aを全開(例えばf2.8)に設定し、露光時間を1/8msecに設定する必要があるとする。
上述した条件において、撮影光学系の焦点距離が35mmフィルム換算で30mmである場合には、1/8msecの露光時間では手振れによる像振れが発生するおそれがある。そこで、本実施例では、露光時間を1/32msecに設定し、この露光時間での撮像動作を6回行うように設定する。
ここで、露光時間が1/32msecでの撮像動作を4回行えば、合計の露光時間が1/8msecとなり、4回の撮像動作によって得られた4つの画像データを合成すれば露出を補完することができる。しかし、本実施例では、上述したように画像合成に適さない画像データが生成されることを見込んで、2回分多く撮像動作を行うように設定している。
一方、撮影光学系の焦点距離が300mm(35mmフィルム換算)である場合には、像振れが発生するおそれのない露光時間を1/320msecに設定し、この露光時間での撮像動作を48回行うように設定する。
この場合、40回の撮像動作を行い、これによって生成された40の画像データを合成すれば、露出を補完することができる。しかし、本実施例では、画像合成に適さない画像データが生成されることを見込んで、撮像動作の回数(40)に対して2割(8回)だけ多い回数で撮像動作を行うようにしている。
上述したように撮像動作の回数が多くなるほど、余分に行う撮像動作の回数を増やしている。これは、一般的に撮像動作の回数が多くなるほど、画像合成に適さない画像データが生成される頻度が多くなるためである。
上述したように本実施例では、複数回の撮像動作を行う場合(防振モードの設定時)において、各撮像動作での露光時間と撮像動作の回数とを上述した撮影条件に基づいて決定している。
ここで、同一の被写体に対して複数回の撮像動作を行う場合でも、各撮像動作での露光条件は適正露光が得られる条件に近いほうが、より正確な画像情報が得られる。このため、被写体が暗い場合、絞り13aを絞り込んでいる場合、撮像素子19aが低感度に設定されている場合には、各撮像動作での露光時間をできる限り長くなるように設定する。ただし、露光時間を長くしすぎると、手振れによる像振れの影響が発生してしまう。
そこで、各撮像動作での露光時間を、上述した不具合を抑制することができる程度の露光時間に設定することが好ましい。具体的には、撮影光学系の焦点距離が30mm(35mmフィルム換算)である場合には、露光時間を略焦点距離分の一である1/32に設定することができる。また、撮影光学系の焦点距離が300mmである場合には、露光時間を1/320msecに設定することができる。
そして、各撮像動作での露光時間では足りない分だけ、複数回の撮像動作を行うようにしている。
ここで、撮影光学系の焦点距離が300mmよりも長い場合には、像振れの発生を抑制するために、露光時間を更に短くするとともに、露光時間を短くした分だけ撮像動作の回数を増やす。
すなわち、各撮像動作での露光時間は、被写体や撮影レンズが暗くなるほど、撮像素子19aの感度が低くなるほど、長くなる。また、撮影光学系の焦点距離が長くなるほど、露光時間は短くなる。このように各撮像動作での露光時間を、撮影光学系の焦点距離に応じて変更することで、いかなる焦点距離であっても好ましい画像データを得ることができる。
一方、撮像動作の回数は、被写体や撮影レンズが暗くなるほど、撮像素子19aの感度が低くなるほど、少なくなる。また、撮影光学系の焦点距離が長くなるほど、撮像動作の回数が多くなる。
上述したように撮像動作の回数と、各撮像動作での露光時間を決定した場合には、撮像装置の光学ファインダ内や表示部118に、防振モードが設定された旨や撮像動作の回数を表示する。ここで、各撮像動作での露光時間を表示してもよい。
ステップS1005では、レリーズボタンの全押し操作によってSW2がON状態となるまで、ステップS1001からステップS1005を循環して待機する。そして、SW2がON状態となった場合には、ステップS1006に進む。
ステップS1006では、1回目の撮像動作を開始する。まず、撮像素子19aで蓄積されている電荷をリセットし、再度、電荷蓄積を開始させる。そして、ステップS1004で設定された露光時間だけ待機してから、シャッタ12aを閉じ状態とし、電荷の転送を行う。
また、1回目の撮像動作を開始させる際に、発音駆動部17bを介してスピーカ17aを駆動することにより、撮影者に対して撮影動作(1回目の撮像動作)が開始されたことを知らせる。ここで、スピーカ17aから発せられる音は、例えば「ピッ」という電子音でもよいし、音声でもよい。また、シャッタ12aの開き動作の音を用いて撮影動作の開始を知らせてもよい。さらに、一眼レフレックスタイプのカメラの場合には、ミラーがアップする音を用いて撮影動作の開始を知らせてもよい。
ステップS1007では、1回目の撮像動作によって得られた画像データを一旦画像記憶部113に記憶する。
ステップS1008では、ステップS1004で設定された回数だけ撮像動作を行ったか否かを判別する。ここで、すべての撮像動作が完了していなければ、ステップS1006に戻る。1回目の撮像動作が完了した場合には、ステップS1006に戻り、2回目以降の撮像動作を行う。
ステップS1007では、2回目以降の撮像動作によって得られた画像データのうち、1回目の撮像動作によって得られた画像データのコントラストと略等しいコントラストを有する画像データを画像記憶部113に記憶する。すなわち、最初の画像データのコントラストに比べて所定値以上異なる(低い)コントラストを有する2回目以降の画像データについては、画像記憶部113に記憶されない。
例えば、図4に示すように7つの画像データ(1)〜(7)を取得した場合には、画像(3)、(6)が画像記憶部113に記憶されず、他の5つの画像が画像記憶部113に記憶される。
ステップS1008において、すべての撮像動作が完了した場合には、ステップS1009に進む。
ステップS1009では、発音駆動部17bを介してスピーカ17aを駆動することにより、撮影者に対して撮影動作(最後の撮像動作)が完了したことを知らせる。ここで、スピーカ17aから発せられる音は、例えば「ピッピッ」という電子音でもよいし、音声でもよい。また、シャッタ12aの閉じ動作の音を用いて撮影動作の完了を知らせてもよい。さらに、一眼レフレックスタイプのカメラの場合には、ミラーがダウンする音を用いて撮影動作の完了を知らせてもよい。
本実施例では、複数回の撮像動作を行う場合における発音回数と、1回の撮影動作を行う場合における発音回数とを等しくしている。すなわち、防振モードでの撮影を行う場合には、最初の撮像動作を行うときと、最後の撮像動作を行った後とでそれぞれ1回、スピーカ17aから電子音が発せられる。また、防振モード以外の撮影を行う場合には、撮影動作の開始および完了でスピーカ17aから電子音が発せられる。このように電子音が発せられる回数を等しくすることで、撮影者に違和感を与えるのを防止することができる。
ステップS1010では、ズレ検出部114が画像の周辺領域(例えば、図2の建物123a)の中から特徴的な像(特徴点)を抽出し、この像の撮影画面内での座標を求める。この座標は、1回目の撮像動作によって得られた画像を基準とした場合において、2回目以降の撮像動作によって得られた各画像の相対的なズレ座標を示す。ここでは、ステップS1007において画像記憶部113に記憶されたすべての画像データに対して、上述した処理を行う。
ステップS1011では、座標変換部115が各画像データに対して座標変換を行う。ここで、座標変換を行う前に、上述したように画像合成の基準となる画像を決定するとともに、この基準画像に対して画像合成に適した画像を決定する。
ステップS1012では、基準画像が決定され、画像合成に適したすべての画像データに対して座標変換処理が完了したか否かを判別する。ここで、座標変換処理が完了していなければS1011での座標変換処理を繰り返す。
すなわち、ステップS1011では、基準画像を決定した後に、他の1つの画像データに対して座標変換処理を行う。そして、ステップS1012、S1011を循環することにより、他の画像データに対して順次、座標変換処理を行う。
一方、画像合成に適したすべての画像データに対して座標変換処理が完了している場合には、ステップS1013に進み、画像データの合成を行う。
ステップS1014では、像振れによって画像の重ならない領域(図3の領域129)をカットし、元(又は所定)の画像サイズとなるように画像データを拡散補間する。ステップS1015では、合成画像データに対してガンマ補正処理や非線形レベル圧縮処理を行う。
ステップS1016では、ステップS1015の処理で得られた合成画像データを表示部118で表示させる。ステップS1017では、ステップS1015の処理で得られた合成画像データを、記録部119に記録したり、記録部119を介して記録媒体に記録したりする。ここで、記録媒体に記録する場合には、必要に応じてJPEG方式等で画像データを圧縮する。
ステップS1018では、スタートに戻る。
なお、ステップS1018において、SW1がON状態のままである場合には、ステップS1001、S1002、S1003、S1004の順で各処理が行われる。また、ステップS1018において、SW2がON状態のままである場合には、スタートに戻らずにステップS1018で待機する。
次に、防振モードが設定されていない場合の動作について説明する。この場合には、ステップS1003からステップS1019に進む。
ステップS1019では、撮影条件に基づいて、手振れによる像振れが発生するおそれがあるか否かを判別する。ここでの撮影条件は、上述した撮影条件と同様であり、被写体の明るさ、撮影レンズの明るさ、撮像素子19aの感度、撮影光学系の焦点距離を含む。
すなわち、被写体の明るさ、撮影レンズの明るさ、撮像素子19aの感度に基づいて露光時間を求め、この露光時間と撮影光学系の焦点距離との関係に基づいて像振れが発生するおそれがあるか否かを判別する。
ステップS1019において、像振れが発生する可能性がある場合にはステップS1020に進み、そうでない場合にはステップS1021に進む。
ステップS1020では、撮像装置の光学ファインダ内や表示部118に、防振モードの設定を推奨する旨の表示を行う。このように防振モードが設定されていない場合でも、像振れの発生するおそれがある撮影条件の場合には、撮影者に防振モードの設定を促すことにより、像振れによる画像劣化の発生を未然に防ぐことができる。
ステップS1021では、SW2がON状態となるまでステップS1001からステップS1021を循環して待機する。そして、SW2がON状態となった場合には、ステップS1022に進む。
ステップS1022では、1回の撮像動作を行う。ここでは、ステップS1002の測光結果に基づいて求められた露出時間だけ、すなわち、1回の露光によって適正露出が得られる露光時間だけ撮像動作を行う。そして、1回の撮像動作が完了した場合には、ステップS1015に進む。
図5のフローチャートでは省略しているが、1回の撮像動作を行う場合には、撮像動作を開始したときと、撮像動作が完了したときとで、スピーカ17aの駆動によって電子音が発せられる。1回の撮像動作を行う場合や、複数回の撮像動作を行う場合には、電子音の発せられる回数が同じであり、撮影者に違和感を与えるのを防止できる。なお、防振モードでの撮影と防振モード以外の撮影とでは、1回目の電子音が発せられてから2回目の電子音が発せられるまでの時間が異なる。
ステップS1015からステップS1018までの動作は、上述した説明と同じである。ただし、これらの処理は、合成画像データではなく、1回の撮像動作によって得られた画像データに対して行われる。
本実施例では、複数回の撮像動作によって得られた複数の画像のうち、各画像のコントラスト及び画像間の動きベクトルに基づいて画像合成に不適切な画像を排除し、残った画像に対して画像合成を行っている。これにより、不適切な画像が画像合成に用いられることによって合成画像の画質が劣化するのを抑制することができ、合成画像の画質を向上させることができる。
本発明の実施例3について説明する。実施例1では、画像データに対する座標変換処理および画像合成処理を撮像装置内で行っている。
本実施例では、撮像装置において、複数の画像データの取得と、これらの画像データのうち画像合成に適した画像データの判別(第1の判別処理)を行う。この第1の判別処理は、実施例1で説明したように各画像データのコントラストに基づいて、画像合成に適した画像データであるか否かを判別するものである。
一方、画像合成に適した画像データの判別(第2の判別処理)、基準画像データの決定、基準画像データに対する他の画像データの座標変換処理、画像合成処理は、パソコンなどの外部機器で行うようにしている。ここで、第2の判別処理は、実施例1で説明したように、第1の判別処理で特定された画像データ(画像合成に適した画像データ)のうち、画像合成に適した画像データであるか否かを、動きベクトルに基づいて判別するものである。
なお、実施例1の撮像装置で行われる処理であって、複数の画像データを取得する処理以外の処理のうち、少なくとも1つの処理を外部機器で行わせてもよい。例えば、第1の判別処理を外部機器で行わせることができる。また、第1及び第2の判別処理を撮像装置で行わせ、第1及び第2の判別処理で特定された画像データに対する座標変換処理等を外部機器で行わせることもできる。さらに、第1及び第2の判別処理のうち一方の処理だけを行うようにしてもよい。
撮像動作によって得られた画像データ(画像合成処理に適した画像データ)は、記録部119を介して記録媒体に記録される。そして、記録媒体を外部機器に接続することで、記録媒体内の画像データを外部機器内のメモリに記憶させることができる。なお、記録部119内に画像データを記憶した場合には、この画像データを有線又は無線を介して外部機器内のメモリに記憶させることができる。
ここで、記録媒体内には、複数回の撮像動作によって得られた複数の画像データの他に、1回の撮影動作によって得られた画像データ(適正露出の画像データ)が記録されることがある。すなわち、記録媒体内には、画像合成処理に用いられる複数の画像データと、画像合成処理を行う必要の無い画像データとが混在している。
上述した状態において、記録媒体に多数の画像データが記録されており、これらの画像データの中から合成用画像データを選び出す場合には、例えば、使用者が記録媒体内の画像データを1つずつ確認しなければならず、選び出す作業が極めて面倒となる。
そこで、本実施例では、複数の合成用画像データと、画像合成の不要な画像データとを識別できる状態で、記録媒体内に記録している。
例えば、デジタルカメラ等に用いられているDCF(Design Rule For Camera File System)規格を利用する場合には画像データのヘッダに、互換性を重視する場合にはベンダーユニーク情報の記録エリア等に、合成用画像データの識別情報を、属性と連番等で表現して記録しておくことができる。
これにより、合成用画像データと、画像合成の不要な画像データとを容易に識別でき、合成用画像データを選別する際の面倒な手間を省くことができる。
カメラに付属のアプリケーションソフトは、上述した識別情報を認識して、合成用画像データだけを抽出するとともに、抽出した合成用画像データに対して座標変換を行ってから、画像合成処理を行う。
画像合成処理によって得られた合成画像データは外部機器内のメモリに記憶され、各合成用画像データは削除される。ここで、合成用画像データは、画像合成処理を完了した場合には不要となり、合成用画像データを外部機器のメモリ内に記憶しておくと、メモリの記憶容量が不足することもある。
そこで、本実施例のように合成用画像データを削除することにより、外部機器のメモリにおける記憶容量が不足してしまうのを抑制することができる。
図7は、ケーブルを介して接続されたパソコンおよびカメラを示す図である。すなわち、ノートパソコン33は、USBケーブル32を介してカメラ31と接続されている。これにより、カメラ31で得られた画像データを、USBケーブル32を介してノートパソコン33に送信することができる。
ここで、カメラ31に着脱可能な記録媒体内に画像データを記録した場合には、記録媒体をカメラ31から取り外し、ノートパソコン33に設けられたスロット34に差し込むことにより、記録媒体内の画像データをノートパソコン33内に記憶させることができる。また、無線通信によってカメラ31内の画像データをノートパソコン33に送信することもできる。
ノートパソコン33には、予め本実施例での動作を行わせるアプリケーションソフトがインストールされている。このアプリケーションソフトの動作について、以下に簡単に説明する。ここでは、カメラ31を、USBケーブル32を介してノートパソコン33に接続した場合について述べる。
まず、カメラ31内の記録部119に記録されている複数の画像データの中から合成用画像データを識別し、合成用画像データをノートパソコン33(メモリ)内に取り込む。合成用画像データのすべてがノートパソコン33に転送された場合には、カメラ31の記録部119に記録されている合成用画像データが削除される。
次に、複数の合成用画像データの中から基準画像データを特定するとともに、上述した第2の判別処理によって画像合成に適した画像データを特定する。そして、第2の判別処理で特定された画像データ(基準画像データ以外の画像データ)に対して座標変換処理を行い、座標変換処理された画像データと、基準画像データとを合成する。
次に、合成画像データに対してガンマ補正処理等を行い、その後、画像の重ならない領域をカットして、画像サイズが小さくなった分だけ拡大補間処理を行う。そして、拡大補間処理を経た合成画像データは、必要に応じてJPEG方式等による圧縮処理が施された後、メモリに記憶される。メモリに記憶された合成画像データは、USBケーブル32を介してカメラ31内の記録部119に送信することができる。
上述した動作について、図8を用いて具体的に説明する。
図8に示すように記録部119内に作成されたフォルダ35内には、画像合成の不要な画像データを格納する通常画像フォルダ36と、第1の判別処理によって特定された合成用画像データを格納する合成用画像フォルダ37とが作成されている。
通常画像フォルダ36には、画像データ39、310、311a、312、313a、314が撮影順に格納されている。ここで、画像合成処理に用いられる複数の画像データのうち1つの画像データ、すなわち、1回目の撮像動作によって得られた画像データ311aが、通常画像フォルダ36内に格納されている。また、画像データ312のファイル番号は、1つ前の画像データ311aのファイル番号に対して連番となっておらず、ファイル番号004に対応する画像データが格納されていない。
画像データ313aは、画像合成処理に用いられる複数の画像データのうちの1つの画像データ(1回目の撮像動作によって得られた画像データ)である。そして、画像データ313aと、1つ後の画像データ314のファイル番号は連番となっておらず、ファイル番号0007に対応する画像データが格納されていない。
合成用画像フォルダ37には、画像合成処理に用いられるすべての画像データ、すなわち、第1の判別処理で特定された画像合成処理に適した画像データが格納されている。ここで、画像データ311a〜311eは、1回目の防振モードでの撮影動作によって生成された画像データであり、画像データ313a〜313dは、2回目の防振モードでの撮影動作によって生成された画像データである。
本実施例のカメラ31においては、実施例1、2と同様に、複数回の撮像動作によって生成された画像データのうち特定の画像データにおけるコントラスト又は、すべての画像データにおけるコントラストの平均値を用いて、画像合成処理に適さない画像データを特定する。そして、この画像データは記録部119に記録されない。
このように画像合成処理に適さない画像データを記録部119に記録しないことにより、無駄な画像データが記録されることを無くし、記録部119での記録容量を確保できるとともに、画像データの記録に要する時間を短縮できる。
カメラ31は、合成用画像フォルダ37をノートパソコン33に転送する。ノートパソコン33では、画像データ311a〜311eを用いて1つの合成画像データを生成するとともに、画像データ313a〜313dを用いて1つの合成画像データを生成する。ここで、合成画像データを生成する際には、基準画像を特定し、この基準画像に対して画像合成処理に適さない画像については画像合成処理に用いていない。
上述した画像合成処理によって生成された2つの合成画像データは、ノートパソコン33からカメラ31に送信され、記録部119内に設けられた通常画像フォルダ36に撮影の順で格納される。ここで、ノートパソコン33のメモリには、合成画像データが記憶されない。
通常画像フォルダ36内には、予め格納されている画像データに加えて、合成画像データ315、316が格納されている。各合成画像データ315、316は、この合成画像データに対応した合成用画像データ311a、313aの次に位置するように格納される。合成画像データ315のファイル番号は「004」となり、合成画像データ316のファイル番号は「007」となる。
ここで、合成画像データと、この合成画像データに対応した1つの合成用画像データとを通常画像フォルダ36内に格納しておくことにより、撮影者は合成画像データおよび合成用画像データを比較できる。なお、合成画像データおよび合成用画像データのうち少なくとも一方が不要であれば、削除してもよい。
次に、本実施例の撮像装置における撮影動作について図9に示すフローチャートを用いて説明する。図9のフローチャートは、図5のフローチャートにおけるステップS1010からS1014までの各処理が省略されており、代わりにステップS3001の処理が設けられている。図9において、図5に示す各ステップでの処理と同じ処理については、同一符号を付している。以下、主に図5に示す動作と異なる点について説明する。
ステップS1007では、撮像動作によって得られた画像データのうち、基準画像(例えば、1回目の撮像動作によって得られた画像データ)でのコントラストに近い(差が所定値以下の)コントラストを持つ画像データだけを画像記憶部113に記憶する。ここで、実施例2で説明したようにすべての画像データを画像記憶部113に記憶し、これらの画像データのうち画像合成に適した画像データだけを記録部119に記録するようにしてもよい。
ステップS3001では、防振モードにおける複数回の撮像動作のうち1回目の撮像動作によって得られた画像データであるか否かを判別し、最初の画像データである場合にはステップS1015に進み、そうでない場合にはステップS1015、S1016をスキップしてステップS1017に進む。
2回目以降の撮像動作によって得られた画像データは、外部機器において画像合成処理等が行われるためにステップS1015等の処理が行われず、ステップS1017で記録部119に記録される。
最初の画像データは、ステップS1015の処理が行われた後に、ステップS1016で表示部118に表示されるとともに、ステップS1017で記録部119に記録される。ここで、最初の画像データを表示部118に表示させることで、撮影者は構図等の確認を行うことができる。また、最初の画像データを記録部119に記録させることで、合成画像データと比較することができる。
最初の画像データは、図8に示す通常画像フォルダ36に格納され、この画像データは図8における画像データ311a、313aに相当する。また、最初の画像データは、合成用画像フォルダにも格納される。
本実施例において、最初の画像データについては、ステップS1015、S1016の処理を行ってから記録部119に記録されるものと、ステップS1015、S1016の処理が行われずに記録部119に記録されるものがある。
複数回の撮像動作によって得られた画像データを記録部119に記録する場合において、これらの画像データは、図8に示す合成用画像フォルダ37内に格納される。
図10は、ノートパソコン33内(図7参照)での画像処理を示すフローチャートである。この処理は、ノートパソコン33に接続されたデジタルカメラ31の記録部119内に、又はデジタルカメラ31で用いられ、ノートパソコン33に接続された記録媒体内に合成用画像フォルダ37が存在することを、ノートパソコン33が認識したときにスタートする。
ステップS3002では、記録部119(又は記録媒体)内の合成用画像フォルダ37をノートパソコン33のメモリに移動させる。このとき、記録部119内の合成用画像フォルダ37は削除される。
なお、防振モードでの複数回の撮像動作によって複数の画像データを生成する場合には、自動的に合成用画像フォルダが記録部119内に再度作成される。また、記録部119内の合成用画像フォルダ37をノートパソコン33のメモリに移動させるのではなく、合成用画像フォルダ37をコピーしてメモリに記憶してもよい。
ステップS3003では、ノートパソコン33のメモリに記憶された合成用画像フォルダ37から複数の画像データを順次読み出す。以下に説明するステップS3004からステップS3010までの処理は、画像間のズレを補正(座標変換)した状態で複数の画像データを合成して適正露出の合成画像データを生成する処理である。
ステップS3004では、各画像データにおける特徴点を抽出し、この特徴点の撮影画面内における位置座標を特定する。なお、各画像の全領域を複数の領域に分割し、対応する各領域での動きベクトルを求め、これらの動きベクトルの中で最も頻度の高い動きベクトルを画像のズレ量として特定することもできる。
ステップS3005では、複数の画像データのなかでファイル番号が最も小さい画像データを基準画像データとして選択する。例えば、複数回の撮像動作のうち1回目の撮像動作によって得られた画像データが存在する場合には、この画像データが基準画像データとなる。
また、ステップS3005では、合成用画像データを選択し、選択された合成用画像データに対して座標変換を行う。具体的には、各合成用画像データの基準画像データに対するずれ量に基づいて、各合成用画像データに対する座標変換処理を行う。
ステップS3006では、座標変換された合成用画像データと、基準画像データとを合成する。複数の画像データを合成して画像全体のゲインをアップさせる場合において、十分な数の合成用画像データがあれば、画像合成処理の過程で画像全体の信号レベルを圧縮処理することにより、相対的に各画像データのノイズを低減させることができる。これにより、S/N比の良好な合成画像データを得ることができ、結果的にノイズを抑えて露出を適正化させることができる。また、ノイズを減少させた合成画像データに対して、必要に応じてゲインアップを行うことで露出の更なる適正化を図ることもできる。
例えば、合成画像データを生成するために、5つの合成用画像データが必要である場合において、画像合成に適した画像データが4つしか存在しない場合には、合成画像データに対して5/4倍のゲインアップを行うことで、露出を補正することができる。
ステップS3007では、防振モードでの1回の撮影動作によって得られた複数の画像データ(例えば、図8に示す画像データ311a〜311e)に対してステップS3003からステップS3006までの処理が行われたか否かを判別する。ここで、すべての画像データに対する処理が完了した場合には、ステップS3008に進む。
ステップS3008では、最終的に生成された合成画像データに対してガンマ補正等の処理を行うとともに、各画像の重ならない領域をカットし、画像サイズが小さくなった分だけ拡大補間処理等の二次元画素平面での処理を行う。また、必要に応じてデジタルデータ量の削減のために、JPEG方式等に基づく圧縮処理を行う。
ステップS3009では、ステップS3008で生成された合成画像データを、メモリに設けられた通常画像フォルダ36(図8参照)内に格納する。
ステップS3010では、ノートパソコン33のメモリに保存したすべての画像データに対してステップS3003〜S3009までの処理が完了したか否かを判別する。例えば、図8に示すように合成用画像フォルダ37内に、合成用画像データ311a〜311eと合成用画像データ313a〜313dが保存されている場合において、合成用画像データ311a〜311eに対してのみ画像合成処理が完了している場合には、残りの合成用画像データ313a〜313dに対して合成画像処理を行うために、ステップS3003に戻る。また、合成用画像データ311a〜311e、313a〜313dに対して画像合成処理が完了している場合には、ステップS3011に進む。
ステップS3011では、合成用画像フォルダ37内に格納されたすべての合成用画像データに対して画像合成処理が完了したことを示す表示を行う。また、この表示処理と同時にノートパソコン33のメモリに保存したすべての合成用画像データを消去する。
本実施例ではデジタルカメラ31およびノートパソコン33を用いた場合について説明したが、ノートパソコン33に限らず、デスクトップタイプのパソコンや、パソコンでなくても専用のストレージや専用の画像処理装置を用いて本実施例と同様の処理を行うこともできる。
本実施例においても、上述した実施例と同様の効果を得ることができる。すなわち、画像合成に不適切な画像データを排除して画像合成を行うことにより、合成画像の画質を向上させることができる。
上述した実施例では、デジタルカメラを用いた場合について説明したが、監視カメラやWebカメラなどにも適用できる。また、電子的に画像の振れを補正する構成であるため、小型の携帯電子機器(例えば、携帯電話)にも適用できる。
上述した各実施例における動作は、プログラムに基づいてコンピュータに実行させることができる。そして、このプログラムは、コンピュータにより読取り可能な記録媒体に記憶させておくことができる。この記録媒体としては、ハードディスク、CD−R、CD−ROM、フレキシブルディスク、DVDディスク、光ディスク、光磁気ディスク、磁気テープ、不揮発性のメモリカード、ICカード、ROM、RAMなどがある。
また、コンピュータが記憶媒体から読み出したプログラムコードを実行することにより、上述した実施例の動作が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどによって実施例の動作の一部または全部を実行させることができる。