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