(57)【要約】【課題】画像間の位置ズレを抑え、少ない演算量で撮影画像のブレを補正して良質な画像を得る。【解決手段】連続撮影によって２枚の連続した画像を撮像し、最初の１枚目の画像ｇ０をブレ補正用として用いて２枚目の画像ｇ１に含まれるブレを画像処理により補正する。その際、１枚目の画像ｇ０の撮像時に、その露光時間を手ブレが起きない程度に短くし、解像度を通常の解像度よりも低く設定する。これにより、画像ｇ１を取得するまでの時間を短くして、その間の位置ズレを抑え、少ない演算量で動きベクトルＶを求めてブレ補正を行うことができる。【選択図】図３
2007259085.tif 000002
【特許請求の範囲】
【請求項１】
１つの撮像素子と、
この撮像素子を駆動制御して第１の画像と第２の画像を連続撮影し、前記第１の画像の撮像時には前記第２の画像よりも露光時間を短く、かつ、解像度を下げるように制御する撮像制御手段と、
この撮像制御手段によって得られた前記第１の画像と前記第２の画像との間の位置ズレを検出する位置ズレ検出手段と、
この位置ズレ検出手段によって検出された位置ズレの情報から前記第２の画像に含まれるブレ情報を推測する推測手段と、
この推測手段によって推測されたブレ情報に基づいて前記第２の画像を補正するブレ補正手段と
を具備したことを特徴とする撮像装置。
【請求項２】
前記第２の画像を前記第１の画像と同じ解像度に変換する解像度変換手段を備え、
前記位置ズレ検出手段は、前記解像度変換手段によって変換された前記第２の画像を前記第１の画像と比較して両者間の位置ズレを検出することを特徴とする請求項１記載の撮像装置。
【請求項３】
前記第１の画像を前記第２の画像と同じ解像度に変換する解像度変換手段を備え、
前記位置ズレ検出手段は、前記解像度変換手段によって変換された前記第１の画像を前記第２の画像と比較して両者間の位置ズレを検出することを特徴とする請求項１記載の撮像装置。
【請求項４】
連続撮影された第１の画像と第２の画像とを関連付けて記録し、前記第１の画像は前記第２の画像よりも露光時間を短く、かつ、解像度を低く設定する撮像装置から前記第１の画像と前記第２の画像とを取得する画像取得手段と、
この画像取得手段によって得られた前記第１の画像と前記第２の画像との間の位置ズレを検出する位置ズレ検出手段と、
この位置ズレ検出手段によって検出された位置ズレの情報から前記第２の画像に含まれるブレ情報を推測する推測手段と、
この推測手段によって推測されたブレ情報に基づいて前記第２の画像を補正するブレ補正手段と
を具備したことを特徴とする画像処理装置。
【請求項５】
１つの撮像素子と、
第１の画像と第２の画像との間の位置ズレを検出し、この位置ズレの情報から前記第２の画像に含まれるブレ情報を推測し、前記推測されたブレ情報に基づいて前記第２の画像のブレを補正する画像処理が可能なように、前記第１の画像と前記第２の画像とを連続撮影するように前記撮像素子を制御する撮像制御手段と、
この撮像制御手段によって得られた前記第１の画像と前記第２の画像とを関連付けて記録する記録手段と
を具備したことを特徴とする撮像装置。
【請求項６】
１つの撮像素子を駆動制御して第１の画像と第２の画像を連続撮影し、前記第１の画像の撮像時には前記第２の画像よりも露光時間を短く、かつ、解像度を下げるように制御する撮像制御ステップと、
この撮像制御ステップによって得られた前記第１の画像と前記第２の画像との間の位置ズレを検出する位置ズレ検出ステップと、
この位置ズレ検出ステップによって検出された位置ズレの情報から前記第２の画像に含まれるブレ情報を推測する推測ステップと、
この推測ステップによって推測されたブレ情報に基づいて前記第２の画像を補正するブレ補正ステップと
を有することを特徴とする画像補正方法。
【請求項７】
撮像装置に搭載されたコンピュータによって実行されるプログラムであって、
前記コンピュータに、
前記撮像装置に備えられた１つの撮像素子を駆動制御して第１の画像と第２の画像を連続撮影し、前記第１の画像の撮像時には前記第２の画像よりも露光時間を短く、かつ、解像度を下げるように制御する撮像制御機能と、
この撮像制御機能によって得られた前記第１の画像と前記第２の画像との間の位置ズレを検出する位置ズレ検出機能と、
この位置ズレ検出機能によって検出された位置ズレの情報から前記第２の画像に含まれるブレ情報を推測する推測機能と、
この推測機能によって推測されたブレ情報に基づいて前記第２の画像を補正するブレ補正機能と
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手ブレ補正機能を備えたデジタルカメラ等の撮像装置と、ＰＣ（パーソナルコンピュータ）等の画像処理装置、さらに、画像補正方法及びプログラムに関する。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置において、三脚などの固定器具を用いずに被写体を撮影した場合に、所謂「手ブレ」が生じることがある。特に、小型・軽量型のデジタルカメラでは、携帯に便利な反面、カメラを安定した状態で撮影できないために、手ブレが発生しやすい。
【０００３】
従来、このような撮影時の手ブレを画像処理により補正する方法として、例えば特許文献１に開示されている方法が知られている。
【０００４】
この特許文献１では、通常撮影用の第１の撮像素子とは別に、ブレ補正用の第２の撮像素子を備え、被写体の撮影時に第２の撮像素子を通じて連続的に得られる複数枚の画像からブレの軌跡を検出し、これを前記第１の撮像素子から得られる通常の画像に反映させてブレ補正した画像を得ている。
【特許文献１】特開平４−３３６７７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記特許文献１のような方法では、ブレ補正用に別の撮像素子を必要とするため、カメラの小型化に適さず、また、コスト的にも問題がある。さらに、ブレ補正用の撮像素子として、短時間で高速読み出し可能な特殊な撮像素子を必要とするといった問題もある。
【０００６】
ここで、１つの撮像素子を用いて同様の効果を得るためには、連続撮影によって少なくとも２枚の画像を撮像し、その画像間の位置ズレ（動きベクトル）から撮影時に発生したブレを推測するといった方法が考えられる。
【０００７】
ところが、通常のＣＣＤ(charge coupled device)を用いて被写体を撮影した場合には、そのＣＣＤに蓄積された各画素のデータ（電荷）の読み出しが終了するまでの間、次の撮像プロセスに移れない。このため、その間にカメラや被写体が動くなどして位置ズレが大きくなると、その位置ズレの検出に要する演算量が増大し、それに伴い補正精度が低下するといった問題がある。
【０００８】
本発明は前記のような点に鑑みなされたもので、画像間の位置ズレを抑え、少ない演算量で撮影画像のブレを補正して良質な画像を得ることのできる撮像装置、画像処理装置、画像補正方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の撮像装置は、１つの撮像素子と、この撮像素子を駆動制御して第１の画像と第２の画像を連続撮影し、前記第１の画像の撮像時には前記第２の画像よりも露光時間を短く、かつ、解像度を下げるように制御する撮像制御手段と、この撮像制御手段によって得られた前記第１の画像と前記第２の画像との間の位置ズレを検出する位置ズレ検出手段と、この位置ズレ検出手段によって検出された位置ズレの情報から前記第２の画像に含まれるブレ情報を推測する推測手段と、この推測手段によって推測されたブレ情報に基づいて前記第２の画像を補正するブレ補正手段とを具備して構成される。
【発明の効果】
【００１０】
本発明によれば、連続撮影を利用して画像のブレを補正する場合に、ブレ補正用として用いる１枚目の画像の解像度を下げ、次の２枚目の画像を取得するまでの時間を短くしたため、画像間の位置ズレを抑えることができる。これにより、位置ズレの検出に要する演算量を削減でき、その位置ズレから２枚目の画像に含まれるブレを正しく補正して良質な画像を得ることができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の実施形態を説明する。
【００１２】
（第１の実施形態）
図１は本発明の第１の実施形態に係る撮像装置としてデジタルカメラを例にした場合の外観構成を示す図であり、図１（ａ）は主に前面の構成、同図（ｂ）は主に背面の構成を示す斜視図である。
【００１３】
このデジタルカメラ１は、略矩形の薄板状ボディ２の前面に、撮影レンズ３、セルフタイマランプ４、光学ファインダ窓５、ストロボ発光部６などを有し、上面の（ユーザにとって）右端側には電源キー７及びシャッタキー８などが設けられている。
【００１４】
電源キー７は、電源のオン／オフ毎に操作するキーであり、シャッタキー８は、撮影時に撮影タイミングを指示するキーである。
【００１５】
また、デジタルカメラ１の背面には、撮影モード（Ｒ）キー１０、再生モード（Ｐ）キー１１、光学ファインダ１２、メニュー（ＭＥＮＵ）キー１３、リングキー１４、セット（ＳＥＴ）キー１５、表示部１６などが設けられている。
【００１６】
撮影モードキー１０は、電源オフの状態から操作することで自動的に電源オンとして静止画の撮影モードに移行する一方で、電源オンの状態から繰返し操作することで、静止画モード、動画モードを循環的に設定する。静止画モードは、静止画を撮影するためのモードである。また、動画モードは、動画を撮影するためのモードである。
【００１７】
前記シャッタキー８は、これらの撮影モードに共通に使用される。すなわち、静止画モードでは、シャッタキー８が押下されたときのタイミングで静止画の撮影が行われる。動画モードでは、シャッタキー８が押下されたときのタイミングで動画の撮影が開始され、シャッタキー８が再度押下されたときにその動画の撮影が終了する。
【００１８】
再生モードキー１１は、電源オフの状態から操作することで自動的に電源オンとして再生モードに移行する。
【００１９】
メニューキー１３は、後述する「手ブレ補正モード」を含む各種メニュー項目等を選択する際に操作する。リングキー１４は、上下左右各方向への項目選択用のキーが一体に形成されたものであり、このリングキー１４の中央に位置するセットキー１５は、その時点で選択されている項目を設定する際に操作する。
【００２０】
表示部１６は、バックライト付きのカラー液晶パネルで構成されるもので、撮影モード時には電子ファインダとしてスルー画像のモニタ表示を行う一方で、再生モード時には選択した画像等を再生表示する。
【００２１】
なお、図示はしないがデジタルカメラ１の底面には、記録媒体として用いられるメモリカードを着脱するためのメモリカードスロットや、外部のパーソナルコンピュータ等と接続するためのシリアルインタフェースコネクタとして、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）コネクタ等が設けられている。
【００２２】
図２はデジタルカメラ１の回路構成を示すブロック図である。
【００２３】
このデジタルカメラ１には、光学レンズ装置２１、イメージセンサ２２、メモリ２３、表示装置２４、画像処理装置２５、操作部２６、コンピュータインタフェース部２７、外部記憶ＩＯ装置２８、プログラムコード記憶装置２９、ＣＰＵ３０、メモリカード３１が備えられている。
【００２４】
光学レンズ装置２１は、撮影レンズ３を構成する図示せぬフォーカスレンズおよびズームレンズを含むレンズ光学系とその駆動部とを備えたものであり、イメージセンサ２２上に、撮影対象からの光を集光させて像を結像させる。
【００２５】
イメージセンサ２２は、結像した画像を、デジタル化した画像データとして取り込むためのものであり、ＣＣＤ（Charge Coupled Device：電荷結合素子）等によって構成される。イメージセンサ２２は、ＣＰＵ３０によって制御され、シャッタキー８が押下されなければ、プレビュー用の解像度の低いデジタルの画像データを生成し、この画像データを秒間３０枚程度の間隔で、定期的にメモリ２３に送出する。また、イメージセンサ２２は、シャッタキー８が押下されると、解像度の高い画像データを生成し、生成した画像データをメモリ２３に送出する。また、イメージセンサ２２は、ＣＰＵ３０によって撮像感度（ＩＳＯ感度）の設定可能である。
【００２６】
メモリ２３は、イメージセンサ２２からの低解像度のプレビュー画像、高解像度の画像データを一時記憶するものである。メモリ２３は、一時記憶した画像データを表示装置２４または画像処理装置２５に送り出す。
【００２７】
表示装置２４は、液晶モニタである表示部１６に画像を表示させるためのものである。表示装置２４は、メモリ２３が一時記憶した低解像度のプレビュー画像または解像度の高い画像を表示部１６に表示する。
【００２８】
画像処理装置２５は、メモリ２３に一時記憶された画像データに対して、画像データの圧縮等の画像処理を行うためのものである。
【００２９】
操作部２６は、シャッタキー８の他に、電源キー７、撮影モードキー１０、再生モードキー１１、メニューキー１３、リングキー１４、セットキー１５などの各操作キーを含み、それらのキー操作に伴う信号は直接ＣＰＵ３０へ送出される。
【００３０】
コンピュータインタフェース部２７は、デジタルカメラ１がＰＣ４０に接続されたときに、ＵＳＢのストレジクラスドライバとして動作するものである。これにより、ＰＣ４０は、デジタルカメラ１に接続されると、メモリカード３１をコンピュータの外部記憶装置として取り扱う。
【００３１】
外部記憶ＩＯ装置２８は、メモリカード３１との間で、画像データ等の入出力を行うものである。メモリカード３１は、外部記憶ＩＯ装置２８から供給された画像データ等を記憶するものである。
【００３２】
プログラムコード記憶装置２９は、ＣＰＵ３０が実行するプログラムを記憶するためのものであり、ＲＯＭやフラッシュメモリなどによって構成される。
【００３３】
ＣＰＵ３０は、プログラムコード記憶装置２９に格納されているプログラムに従って、システム全体を制御するものである。なお、メモリ２３は、ＣＰＵ３０の作業メモリとしても用いられる。
【００３４】
操作部２６のスイッチ・キーが押下されることにより、操作部２６から操作情報が送信されると、ＣＰＵ３０は、この操作情報に基づいて、イメージセンサ２２、メモリ２３、表示装置２４、画像処理装置２５等を制御する。
【００３５】
具体的には、操作部２６から撮影モードキー１０が押下された旨の操作情報が送信されると、ＣＰＵ３０は各部を撮影モードに設定する。この状態で、シャッタキー８が押下されなければ、イメージセンサ２２をプレビューモードに設定し、シャッタキー８が押下されれば、解像度の高い撮影対象画像を読み込む高解像度モードに設定する。
【００３６】
また、メニューキー１３の操作により「手ブレ補正モード」が設定されていれば、シャッタキー８の押下に伴い、２枚分の画像の撮像処理が実行される。その際、１枚目の画像については、手ブレ補正用として短時間露光かつ低解像度に設定される。なお、この「手ブレ補正モード」に関する処理については、後に詳しく説明する。
【００３７】
また、再生モードキー１１が押下された旨の操作情報が送信されると、ＣＰＵ３０は、各部を再生モードに設定する。
【００３８】
また、ＣＰＵ３０は、外部記憶ＩＯ装置２８を介してメモリカード３１に、プレビュー画像、高解像度の画像のデータを記録したり、メモリカード３１から、記録された画像データを読み出したりする。ＣＰＵ３０は、メモリカード３１には、例えば、ＪＰＥＧフォーマットで圧縮した画像データを記録する。
【００３９】
ＣＰＵ３０は、メモリ２３に画像データを一時記憶する際、プレビュー画像、高解像度の画像データを異なる記憶領域に記録する。また、ＣＰＵ３０は、メモリカード３１には、画像データを画像ファイルに分けて記録する。
【００４０】
次に、本実施形態の処理動作を説明する前に、理解を容易にするために、本発明のブレ補正の方法について説明する。
【００４１】
図３は連続撮影によって得られる２枚の画像の時間的な関係を示す図である。本発明では、連続撮影によって２枚の連続した画像を撮像し、最初の１枚目の画像をブレ補正用として用いて２枚目の画像に含まれるブレを画像処理により補正するものである。その際、１枚目の画像の撮像時に、その露光時間を手ブレが起きない程度に短くし、解像度を通常の解像度よりも低く設定することがポイントである。
【００４２】
すなわち、通常、連続撮影によってブレ補正を行う場合には、図３（ａ）に示すように、１枚目の露光時間Ａを２枚目の露光時間Ｃよりも短く設定して撮影することで、ブレの少ない第１の画像ｇ０を参照画像として得る。続いて、ノイズのない綺麗な画像を得るのに十分な露光時間Ｃで撮影を行うことで、第２の画像ｇ１を得る。この第２の画像ｇ１はブレ補正の対象である保存用画像として用いられる。
【００４３】
このようにして２枚の連続した画像ｇ０と画像ｇ１が得られると、まず、その画像間の位置ズレを調べる。そして、その位置ズレの大きさと方向を表す動きベクトルＶから第２の画像ｇ１に含まれるブレ情報を推測し、これを逆フィルタにより補正する。
【００４４】
ここで、一般的に撮像素子としてＣＣＤなどのイメージセンサを用いた場合には、第１の画像ｇ０を構成する各画素の読み出しが終了するまで、次の第２の画像ｇ１を撮像することができない。そのため、その読み出しの間に、カメラや被写体が動くなどして画像間の位置ズレが大きくなると、その位置ズレの検出に要する演算量が増え、それに伴い補正精度が低下するといった問題がある。図中のＢは第１の画像ｇ０の読出し時間を示しており、この後に第２の画像ｇ１の露光が開始される。したがって、このＢの読出し時間が長いほど、第１の画像ｇ０と第２の画像ｇ１との位置ズレが大きくなり、補正精度が低下することになる。
【００４５】
このような問題を解消するため、本発明では、図３（ｂ）に示すように、第１の画像ｇ０の解像度を第２の画像ｇ１よりも下げることで（具体的には、各画素を間引いて読み出すことで解像度を下げる）、読出し時間Ｂを短くしている。なお、第１の画像ｇ０は、２枚目の第２の画像ｇ１のブレ情報を推測するための参照画像として用いるため、解像度を下げても問題はない。
【００４６】
このように、第１の画像ｇ０の読出し時間Ｂが短くなれば、第１の画像ｇ０との間の位置ズレを抑えることができるので、少ない演算量で動きベクトルＶを求めることができる。この動きベクトルＶは、第２の画像ｇ１の露光時間Ｃに起きたブレ情報の推測に用いられる。このブレ情報を元に逆フィルタを作成して第２の画像ｇ１に適用することで、ブレ補正した画像が得られる。
【００４７】
ここで、逆フィルタを用いたブレ補正方法について述べる。
【００４８】
直線的なブレの場合、ブレが生じている画像ｇと真の画像ｆの関係は、線拡がり関数ｈ（ｘ、ｙ）を用いて、次式（１）のように表すことができる。
【数１】
2007259085.tif 000003
【００４９】
線拡がり関数ｈ（ｘ、ｙ）はブレ方向に一致し、ブレに相当する区間においては１で、その他は０となる関数である。つまり、ｈ（ｘ−ｘ′、ｙ−ｙ′）が１となる区間のｆ（ｘ′、ｙ′）の画素がｇ（ｘ、ｙ）に畳み込まれることを表している。
【００５０】
次に、このｈ（ｘ、ｙ）を本実施形態における短時間露光によって得られる第１の画像ｇ０と長時間露光によって得られる第２の画像ｇ１とから得られる動きベクトルＶと関連付ける。図４の画像ｇ０上で原点にあった点が画像ｇ１上では（Ｖｘ，Ｖｙ）に移動したとすると、その動きの方向を示す直線は、ｙ＝（Ｖｙ／Ｖｘ）・ｘと表される。
【００５１】
次に、動きベクトル（Ｖｘ、Ｖｙ）の大きさと畳み込みの範囲を関連付ける。
【００５２】
今、図５に示すように、第１の画像ｇ０の露光開始時間をｔ００、露光終了時間をｔ０１とする。また、第２の画像ｇ１の露光開始時間をｔ１０、露光終了時間をｔ１１とする。
【００５３】
真の画像ｆがｔ１０からｔ１１までの長時間露光によって拡がり、画像ｇ１となったのであるから、本来ｔ１０からｔ１１の間の動きベクトルが必要であるが、これを直接得ることができないので、画像ｇ０と画像ｇ１の間の動きベクトルＶから類推することにする。ｔ００からｔ１１まで動きが均一だとして、画像ｇ０と画像ｇ１の間の動きベクトルＶは、時刻（ｔ１１−ｔ１０）／２と時刻（ｔ０１−ｔ００）／２との間の動きベクトルである。その際、画像ｇ１で生じる拡がり（ブレ）は時刻ｔ１０からｔ１１までのものなので、動きベクトルＶの長さを補正する必要がある。
【００５４】
このときの補正係数をＶａとすると、Ｖａは式（２）によって求められる。
【数２】
2007259085.tif 000004
【００５５】
式中のαは第１の画像ｇ０の解像度に応じた縮尺比である。第１の画像ｇ０と第２の画像ｇ１との間の動きベクトルＶを求める際には、第２の画像ｇ１を１／αに縮小して両者の解像度を合わせるため、そのときの縮尺比であるαをＶａに反映させておく必要がある。
【００５６】
以上をまとめて、線拡がり関数ｈ（ｘ，ｙ）を表したのが次式（３）である。
【数３】
2007259085.tif 000005
【００５７】
ｈ（ｘ，ｙ）が求められた後の画像補正について簡単に述べる。
【００５８】
以下、記述を簡単にするため畳み込み演算を＊で示すと、前記式（１）は、
ｇ（ｘ，ｙ）＝ｆ（ｘ′，ｙ′）＊ｈ（ｘ，ｙ）            …（４）
と書ける。
【００５９】
ｆ，ｇ，ｈのそれぞれをフーリエ変換したものをＦ，Ｇ，Ｈで表わすと、前記式（４）は式（５）のようになる。
【００６０】
Ｇ（ｕ）＝Ｆ（ｕ）×Ｈ（ｕ）                            …（５）
さらに、この式（５）の両辺をＨ（ｕ）で割ると、次の式（６）のようになる。
【００６１】
Ｆ（ｕ）＝Ｇ（ｕ）／Ｈ（ｕ）                            …（６）
前記式（４），（５），（６）より、画像ｇのフーリエ変換Ｇ（ｕ）を線拡がり関数ｈのフーリエ変換Ｈ（ｕ）で割ったＦ（ｕ）を逆フーリエ変換することで、ブレていない画像ｆを得ることができる。
【００６２】
次に、第１の実施形態の動作について説明する。
【００６３】
第１の実施形態では、第１の画像ｇ０と第２の画像ｇ１との間の位置ズレを検出する際に、図６（ａ）に示すように、第２の画像ｇ１を１／αに縮小して第３の画像ｇ２を生成する。
【００６４】
例えば、第１の画像ｇ０の解像度が４００×３００（画素）、第２の画像ｇ１の解像度が１６００×１２００（画素）であったとすると、α＝４に設定し、第２の画像ｇ１を１／４に縮小して第３の画像ｇ２を生成する。そして、同図（ｂ）に示すように、この第３の画像ｇ２を第１の画像ｇ０と比較することで両者間の位置ズレを検出し、その位置ズレの大きさと方向を表わす動きベクトルＶを求める。
【００６５】
図７は第１の実施形態におけるデジタルカメラ１の処理動作を示すフローチャートである。なお、このフローチャートで示される各処理は、デジタルカメラ１に搭載されたＣＰＵ３０がプログラムコード記憶装置２９に記憶されたプログラムを読み込むことにより実行される。
【００６６】
メニューキー１３の操作により「手ブレ補正モード」が設定された状態でシャッタキー８が押下されると（ステップＡ１１のＹｅｓ）、ＣＰＵ３０は、まず、第１の撮像処理として、手ブレが起きない程度の短い露光時間（例えば、標準レンズ装着時で１／６０秒）でイメージセンサ２２を駆動制御する（ステップＡ１２）。続いて、ＣＰＵ３０は、データの読出しを間引きモードに設定し（ステップＡ１３）、イメージセンサ２２に蓄積された各画素のデータを所定数間引いて読み出すことで（ステップＡ１４）、低解像度（例えば、通常の１／４の解像度）の画像を第１の画像ｇ０として取得し、これをメモリ２３に保存する（ステップＡ１５）。
【００６７】
次に、ＣＰＵ３０は、第２の撮像処理として、ノイズのない綺麗な画像を得るのに十分な露光時間でイメージセンサ２２を駆動制御すると共に（ステップＡ１６）、データの読出しをフルモードに設定し（ステップＡ１７）、イメージセンサ２２に蓄積された各画素のデータを読み出すことで（ステップＡ１８）、所定の解像度を有する画像を第２の画像ｇ１として取得し、これをメモリ２３に保存する（ステップＡ１９）。
【００６８】
このようにして、連続撮影により露光時間と解像度の異なる２つの画像ｇ０と画像ｇ１が得られると、ＣＰＵ３０は、この２つの画像ｇ０と画像ｇ１を用いて、以下のようにしてブレ補正した画像を生成する。
【００６９】
［動きベクトル算出処理］
すなわち、まず、ＣＰＵ３０は、メモリ２３に保存された第１の画像ｇ０と第２の画像ｇ１の位置ズレを検出し、その位置ズレの大きさと方向を表す動きベクトルＶを求める（ステップＡ２０）。
【００７０】
図８を参照して詳しく説明すると、ＣＰＵ３０は、メモリ２３から第２の画像ｇ１を読み出し、これを１／αに縮小して第１の画像ｇ０と同じ解像度を有する第３の画像ｇ２を作成する（ステップＢ１１）。
【００７１】
次に、ＣＰＵ３０は、メモリ２３から第１の画像ｇ０を読み出し、その第１の画像ｇ０から被写体の特徴点を所定数分抽出する（ステップＢ１２）。続いて、ＣＰＵ３０は、前記第３の画像ｇ２上で第１の画像ｇ０から抽出した各特徴点をそれぞれ追跡して、画像間の位置ズレを調べる（ステップＢ１３）。
【００７２】
この特徴点の追跡には、勾配法によるオプティカルフロー推定が用いられる。オプティカルフロー（optical flow）とは、カメラから見た物体の見かけ上の動きのことであり、オプティカルフロー推定とは、画像間での動きを画像だけから推定することを言う。この推定方法の１つに勾配法と呼ばれるものがある。
【００７３】
勾配法は、動きを画素値（明るさ）の勾配（一次微分）から計算する方法である。つまり、勾配法によるオプティカルフロー推定とは、「物体上の点の明るさは移動後も変化しない」という仮定から時空間微分とオプティカルフローとの関係式を導出し、それを利用して対象の動きを推定するものである。なお、勾配法によるオプティカルフロー推定については周知であるため、ここでは詳しい理論についての説明は省略する。
【００７４】
このようにして、第３の画像ｇ２上で第１の画像ｇ０に対応した各特徴点が見つかると、ＣＰＵ３０は、これらの特徴点の動きベクトルを平均化して、画像全体の動きベクトルＶとして算出する（ステップＢ１４）。
【００７５】
［ブレ補正処理］
次に、ＣＰＵ３０は、前記ステップＡ２０で求めた動きベクトルＶから第２の画像ｇ１に含まれるブレ情報を推測し、そのブレ情報に基づいて第３の画像ｇ２を補正する（ステップＡ２１）。
【００７６】
図９を参照して詳しく説明すると、ＣＰＵ３０は、まず、前記動きベクトルＶに基づいて線拡がり関数ｈを求める（ステップＣ１１）。なお、この線拡がり関数ｈの算出方法については、前記式（２），（３）で既に説明した通りである。
【００７７】
次に、ＣＰＵ３０は、線拡がり関数ｈのフーリエ変換Ｈを作成する（ステップＣ１２）。続いて、ＣＰＵ３０は、ブレ補正の対象である第２の画像ｇ１のフーリエ変換Ｇを作成し（ステップＣ１３）、これを前記線拡がり関数ｈのフーリエ変換Ｈで除算することで、フーリエ変換Ｆを求める（ステップＣ１４）。
【００７８】
このフーリエ変換Ｆは、前記式（４），（５），（６）で説明したように、ブレていない真の画像ｆに対応したものである。したがって、ＣＰＵ３０は、このフーリエ変換Ｆを逆フーリエ変換することでブレ補正された画像ｆを得る（ステップＣ１５）。
【００７９】
図７に戻って、前記ブレ補正処理によってブレ補正された画像が生成されると、ＣＰＵ３０は、そのブレ補正された画像を画像処理装置２５により所定の方式で圧縮処理してメモリカード３１に保存した後（ステップＡ２２）、ここでの一連の処理を終える。
【００８０】
以上のように本発明の第１の実施形態によれば、連続撮影を利用して画像のブレを補正する場合に、ブレ補正用として用いる１枚目の画像の解像度を下げることで、次の２枚目の画像を取得するまでの時間を短くして画像間の位置ズレを抑えることができる。よって、位置ズレの検出に要する演算量を削減できると共に、その位置ズレから２枚目の画像に含まれるブレを正しく補正して良質な画像を得ることができる。
【００８１】
また、２枚目の画像を１／αに縮小して１枚目の画像の解像度に合わせてから画像間の位置ズレを検出することにより、その位置ズレを表わす動きベクトルＶの算出処理を簡単化して処理時間の短縮できる。
【００８２】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。  
前記第１の実施形態では、デジタルカメラ１によって連続撮影からブレ補正に関わるすべての処理を行うものとしたが、第２の実施形態では、デジタルカメラ１から連続撮影によって得られた画像ｇ０，ｇ１をＰＣ４０に提供し、ＰＣ４０側でその画像ｇ０，ｇ１を用いてブレ補正を行うようにした。
【００８３】
このＰＣ４０は、本発明の画像処理装置として用いられるものであり、図１０に示すように、デジタルカメラ１のメモリカード３１を装着可能な機能（外部記憶ＩＯ装置４６）、または、デジタルカメラ１を接続する機能（外部インタフェース４８）を備える。
【００８４】
図１０はＰＣ４０の回路構成を示すブロック図である。
【００８５】
ＰＣ４０には、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、入力装置４４、表示装置４５、外部記憶ＩＯ装置４６、ＨＤＤ（Hard Disk Drive）４７、外部インタフェース（ＩＦ）４８が備えられている。
【００８６】
ＣＰＵ４１は、ＲＯＭ４２などに記憶されたプログラムを読み込むことにより、各種処理を行う。ＲＯＭ４２には、プログラムを含む各種データが記憶されている。ＲＡＭ４３は、ＣＰＵ４１の処理動作に必要な各種データを記憶するものであり、作業メモリとして用いられる。入力装置４４は、例えばキーボード、マストなどの入力デバイスからなり、各種データの入力処理を行う。表示装置４５は、例えばＬＣＤ（Liquid Crystal Display）やＣＲＴ（Cathode-ray tube）などの表示デバイスからなり、各種データの表示処理を行う。
【００８７】
また、外部記憶ＩＯ装置４６は、メモリカード３１との間で画像データ等の入出力を行うものである。このメモリカード３１は、デジタルカメラ１に装着されていたものである。ＨＤＤ４７は、画像データを含む各種データの保存メモリとして用いられる。外部インタフェース４８は、ＵＳＢのストレジクラスドライバとして動作し、デジタルカメラ１が接続された場合には、そのデジタルカメラ１に装着されているメモリカード３１を外部記憶装置として取り扱う。
【００８８】
以下に、デジタルカメラ１側の処理とＰＣ４０側の処理に分けて説明する。  
図１１は本発明の第２の実施形態におけるデジタルカメラ１側の処理動作とＰＣ４０側の処理動作を示すフローチャートである。なお、このフローチャートで示されるデジタルカメラ１側の処理は、デジタルカメラ１に搭載されたＣＰＵ３０がプログラムコード記憶装置２９に記憶されたプログラムを読み込むことにより実行される。また、ＰＣ４０側の処理は、ＰＣ４０に搭載されたＣＰＵ４１がＲＯＭ４２などに記憶されたプログラムを読み込むことにより実行される。
【００８９】
第２の実施形態において、デジタルカメラ１は、連続撮影により露光時間と解像度が異なる２枚の画像（第１の画像ｇ０と第２の画像ｇ１）を撮影した後、これをメモリカード３１に保存するまでの処理を行う。
【００９０】
すなわち、上述したように、デジタルカメラ１のメニューキー１３の操作により「手ブレ補正モード」が設定された状態でシャッタキー８が押下されると（ステップＤ１１のＹｅｓ）、ＣＰＵ３０は、まず、第１の撮像処理として、手ブレが起きない程度の短い露光時間でイメージセンサ２２を駆動制御すると共に（ステップＤ１２）、間引きモードを設定してイメージセンサ２２から各画素のデータを所定数間引いて読み出すことで、低解像度の画像を第１の画像ｇ０として取得し（ステップＤ１３，Ｄ１４）、これをメモリ２３に保存する（ステップＤ１５）。
【００９１】
次に、ＣＰＵ３０は、第２の撮像処理として、ノイズのない綺麗な画像を得るのに十分な露光時間でイメージセンサ２２を駆動制御すると共に（ステップＤ１６）、フルモードに設定してイメージセンサ２２から各画素のデータを読み出すことで、高解像度の画像を第２の画像ｇ１として取得し（ステップＤ１７，Ｄ１８）、これをメモリ２３に保存する（ステップＤ１９）。
【００９２】
このようにして、連続撮影により露光時間と解像度の異なる２つの画像ｇ０と画像ｇ１が得られると、ＣＰＵ３０は、この２つの画像ｇ０と画像ｇ１を関連付けてメモリカード３１に保存する（ステップＤ２０）。その際、必要に応じて画像ｇ０と画像ｇ１を画像処理装置２５により所定の方式で圧縮処理して保存することでも良い。
【００９３】
一方、ＰＣ４０は、このデジタルカメラ１から第１の画像ｇ０と第２の画像ｇ１を取得する（ステップＥ１１）。なお、このときの画像ｇ０，ｇ１の取得手段としては、図１０に示すように、ＰＣ４０のカードスロットに装着されたメモリカード３１から外部記憶ＩＯ装置４６を通じて取得することでも良いし、あるいは、ＰＣ４０のＵＳＢ端子に接続されたデジタルカメラ１のメモリカード３１に外部インタフェース４８を通じて直接アクセスして取得することでも良い。
【００９４】
このようにして、第１の画像ｇ０と第２の画像ｇ１を取得すると、ＰＣ４０は、第１の画像ｇ０をブレ補正用として用い、第２の画像ｇ１に含まれるブレを補正する処理を行う。この処理はＰＣ４０に搭載されたＣＰＵ４１によって実行される。
【００９５】
すなわち、まず、ＣＰＵ４１は、第１の画像ｇ０と第２の画像ｇ１の位置ズレを検出し、その位置ズレの大きさと方向を表す動きベクトルＶを求める（ステップＥ１２）。詳しくは、図８で説明したように、第２の画像ｇ１を１／αに縮小して第１の画像ｇ０と同じ解像度を有する第３の画像ｇ２を作成した後、その第３の画像ｇ２を第１の画像ｇ０と比較して特徴点の追跡処理し、画像間の位置ズレを表わす動きベクトルＶを算出するといった処理を行う。
【００９６】
次に、ＣＰＵ４１は、前記ステップＥ１２で求めた動きベクトルＶから第２の画像ｇ１に含まれるブレ情報を推測し、そのブレ情報に基づいて第３の画像ｇ２を補正する（ステップＥ１３）。詳しくは、図９で説明したように、前記動きベクトルＶに基づいて線拡がり関数ｈを求める。そのフーリエ変換Ｈを作成すると共に、ブレ補正の対象である第２の画像ｇ１のフーリエ変換Ｇを作成し、これを前記線拡がり関数ｈのフーリエ変換Ｈで除算することで、フーリエ変換Ｆを求める。そして、このフーリエ変換Ｆを逆フーリエ変換することで逆フィルタを作成し、これをブレた画像ｇつまり第２の画像ｇ１に適用することでブレ補正を行う。
【００９７】
このように、ブレ補正された画像が生成されると、ＣＰＵ４１は、そのブレ補正された画像を所定の方式で圧縮処理して、例えばＨＤＤ４７等の保存用メモリに保存した後（ステップＥ１４）、ここでの一連の処理を終える。
【００９８】
以上のように本発明の第２の実施形態によれば、ＰＣにブレ補正の処理を持たすことでも、前記第１の実施形態と同様の効果が奏せられると共に、カメラ側での処理負担を軽減して良好な画像を得ることができる。
【００９９】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。  
前記第１の実施形態では、連続撮影によって得られた第１の画像ｇ０と第２の画像ｇ１との間の位置ズレを検出する際に、第２の画像ｇ１の解像度を第１の画像ｇ０に合わせたが、第３の実施形態では、第１の画像ｇ０の解像度を第２の画像ｇ１に合わせるようにした。
【０１００】
図１２にその様子を示す。図１２（ａ）に示すように、第１の画像ｇ０をα倍に拡大して第４の画像ｇ３を生成する。例えば、第１の画像ｇ０の解像度が４００×３００（画素）、第２の画像ｇ１の解像度が１６００×１２００（画素）であったとすると、α＝４に設定し、第２の画像ｇ１を４倍に拡大して第４の画像ｇ３を生成する。そして、同図（ｂ）に示すように、この第４の画像ｇ３を第２の画像ｇ１と比較することで両者間の位置ズレを検出し、その位置ズレの大きさと方向を表わす動きベクトルＶを求める。
【０１０１】
以下に、図１３を参照して、その詳しい処理動作について説明する。  
図１３は第３の実施形態におけるデジタルカメラ１による動きベクトル算出処理を示すフローチャートである。この動きベクトル算出処理は、図７のステップＡ２０で実行される。
【０１０２】
ＣＰＵ３０は、メモリ２３から第１の画像ｇ０を読み出し、これをα倍して第２の画像ｇ１と同じ解像度を有する第４の画像ｇ３を作成する（ステップＦ１１）。
【０１０３】
次に、ＣＰＵ３０は、その第４の画像ｇ３から被写体の特徴点を所定数分抽出する（ステップＦ１２）。続いて、ＣＰＵ３０は、メモリ２３から第２の画像ｇ１を読み出し、その第２の画像ｇ１上で第４の画像ｇ３からから抽出した各特徴点をそれぞれ追跡して、画像間の位置ズレを調べる（ステップＦ１３）。
【０１０４】
このようにして、第２の画像ｇ１上で第４の画像ｇ３に対応した各特徴点が見つかると、ＣＰＵ３０は、これらの特徴点の動きベクトルを平均化して、画像全体の動きベクトルＶとして算出する（ステップＦ１４）
以後の処理は前記第１の実施形態と同様である。ただし、線拡がり関数ｈを求める際に、前記式（２）に示した補正係数Ｖａの計算式のαは不要である。これは、第１の画像ｇ０がブレ補正の対象である第２の画像ｇ１と同じ解像度（サイズ）に変換されているためである。
【０１０５】
以上のように本発明の第３の実施形態によれば、１枚目の画像をα倍に拡大して２枚目の画像の解像度に合わせてから画像間の位置ズレを検出することにより、その位置ズレを表わす動きベクトルＶの算出処理を簡単化して処理時間の短縮できる。
【０１０６】
なお、前記第２の実施形態において、ＰＣ４０側でブレ補正の処理を行う場合でも、この第３の実施形態の手法を適用可能である。
【０１０７】
また、前記各実施形態では、デジタルカメラを例にして説明したが、本発明はこれに限られるものではなく、例えばカメラ付きの携帯電話など、撮像機能を備えた電子機器であれば同様に適用可能である。
【０１０８】
さらに、予めカメラで連続撮影した２枚の画像をＰＣに提供する方法としては、着脱可能なメモリに画像を保存して提供する方法の他に、通信ネットワークを介して提供することでも良い。
【０１０９】
要するに、本発明は前記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【０１１０】
さらに、上述した各実施形態において記載した手法は、コンピュータに実行させることのできるプログラムとして、例えば磁気ディスク（フレキシブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）、半導体メモリなどの記録媒体に書き込んで各種装置に適用したり、そのプログラム自体をネットワーク等の伝送媒体により伝送して各種装置に適用することも可能である。本装置を実現するコンピュータは、記録媒体に記録されたプログラムあるいは伝送媒体を介して提供されたプログラムを読み込み、このプログラムによって動作が制御されることにより、上述した処理を実行する。
【図面の簡単な説明】
【０１１１】
【図１】図１は本発明の第１の実施形態に係る撮像装置としてデジタルカメラを例にした場合の外観構成を示す図である。
【図２】図２は同実施形態におけるデジタルカメラの回路構成を示すブロック図である。
【図３】図３は連続撮影によって得られる２枚の画像の時間的な関係を示す図である。
【図４】図４は線拡がり関数を説明するための図である。
【図５】図５は線拡がり関数に用いられる動きベクトルの補正係数を説明するための図である。
【図６】図６は同実施形態における画像間の位置ズレを検出する際の解像度の変換を説明するための図である。
【図７】図７は同実施形態におけるデジタルカメラの処理動作を示すフローチャートである。
【図８】図８は同実施形態におけるデジタルカメラによる動きベクトル算出処理の詳細を示すフローチャートである。
【図９】図９は同実施形態におけるデジタルカメラによるブレ補正処理の詳細を示すフローチャートである。
【図１０】図１０は本発明の第２の実施形態で用いられるＰＣの回路構成を示すブロック図である。
【図１１】図１１は同実施形態におけるデジタルカメラ側の処理動作とＰＣ側の処理動作を示すフローチャートである。
【図１２】図１２は本発明の第３の実施形態における画像間の位置ズレを検出する際の解像度の変換を説明するための図である。
【図１３】図１３は同実施形態におけるデジタルカメラによる動きベクトル算出処理を示すフローチャートである。
【符号の説明】
【０１１２】
１…デジタルカメラ、２…ボディ、３…撮影レンズ、４…セルフタイマランプ、５…光学ファインダ窓、６…ストロボ発光部、７…電源キー、８…シャッタキー、１０…撮影モードキー、１１…再生モードキー、１２…光学ファインダ、１３…メニュー（ＭＥＮＵ）キー、１４…リングキー、１５…セット（ＳＥＴ）キー、１６…表示部、２１…光学レンズ装置、２２…イメージセンサ、２３…メモリ、２４…表示装置、２５…画像処理装置、２６…操作部、２７…コンピュータインタフェース部、２８…外部記憶ＩＯ装置、２９…プログラムコード記憶装置、３０…ＣＰＵ、３１…メモリカード、４０…ＰＣ（パーソナルコンピュータ）、４１…ＣＰＵ、４２…ＲＯＭ、４３…ＲＡＭ、４４…入力装置、４５…表示装置、４６…外部記憶ＩＯ装置、４７…ＨＤＤ、４８…外部インタフェース。
【図１】
2007259085.tif 000006
【図２】
2007259085.tif 000007
【図３】
2007259085.tif 000008
【図４】
2007259085.tif 000009
【図５】
2007259085.tif 000010
【図６】
2007259085.tif 000011
【図７】
2007259085.tif 000012
【図８】
2007259085.tif 000013
【図９】
2007259085.tif 000014
【図１０】
2007259085.tif 000015
【図１１】
2007259085.tif 000016
【図１２】
2007259085.tif 000017
【図１３】
2007259085.tif 000018