(57)【特許請求の範囲】
【請求項１】
被写体からの光を受けて撮影画像を出力する撮像手段と、
前記撮像手段を用いて連続撮影して複数の撮影画像を取得する画像取得手段と、
前記画像取得手段により取得された複数の撮影画像に関する情報に基づいて、該複数の撮影画像の中から１つの基準画像を選択する基準画像選択手段と、
前記基準画像選択手段により選択された基準画像に対する他の撮影画像の位置ずれを検出する位置ずれ検出手段と、
前記他の撮影画像について前記位置ずれ検出手段により検出された位置ずれを補償する位置ずれ補償手段と、
前記基準画像と前記位置ずれ補償後の他の撮影画像とを加算して合成する画像合成手段と、
を備える撮像装置であって、
前記複数の撮影画像ごとに、撮影時の当該撮像装置の姿勢を検出する姿勢検出手段をさらに備え、
前記基準画像選択手段は、前記複数の撮影画像のうち、撮影時の当該撮像装置の姿勢が水平である、あるいは最も水平に近い撮影画像を基準画像として選択することを特徴とする撮像装置。
【請求項２】
被写体からの光を受けて撮影画像を出力する撮像手段と、
前記撮像手段を用いて連続撮影して複数の撮影画像を取得する画像取得手段と、
前記画像取得手段により取得された複数の撮影画像に関する情報に基づいて、該複数の撮影画像の中から１つの基準画像を選択する基準画像選択手段と、
前記基準画像選択手段により選択された基準画像に対する他の撮影画像の位置ずれを検出する位置ずれ検出手段と、
前記他の撮影画像について前記位置ずれ検出手段により検出された位置ずれを補償する位置ずれ補償手段と、
前記基準画像と前記位置ずれ補償後の他の撮影画像とを加算して合成する画像合成手段と、
前記複数の撮影画像の中から任意に選択される１つの基準候補画像に対して他の撮影画像のうち任意の数以上の撮影画像が重複している領域の面積を合成可能面積として計算する合成可能面積計算手段と、を備え、
前記基準画像選択手段は、前記複数の撮影画像のうち、前記合成可能面積計算手段により計算された合成可能面積が最大となる基準候補画像を基準画像として選択することを特徴とする撮像装置。
【請求項３】
被写体からの光を受けて撮影画像を出力する撮像手段を有する撮像装置を用いた撮像方法であって、
前記撮像手段を用いて連続撮影して複数の撮影画像を取得する画像取得工程と、
前記画像取得工程により取得された複数の撮影画像に関する情報に基づいて、該複数の撮影画像の中から１つの基準画像を選択する基準画像選択工程と、
前記基準画像選択工程により選択された基準画像に対する他の撮影画像の位置ずれを検出する位置ずれ検出工程と、
前記他の撮影画像について前記位置ずれ検出工程により検出された位置ずれを補償する位置ずれ補償工程と、
前記基準画像と前記位置ずれ補償後の他の撮影画像とを加算して合成する画像合成工程と、
前記複数の撮影画像ごとに、撮影時の当該撮像装置の姿勢を検出する姿勢検出工程と、を備え、
前記基準画像選択工程は、前記複数の撮影画像のうち、撮影時の当該撮像装置の姿勢が水平である、あるいは最も水平に近い撮影画像を基準画像として選択するものであることを特徴とする撮像方法。
【請求項４】
被写体からの光を受けて撮影画像を出力する撮像手段を有する撮像装置を用いた撮像方法であって、
前記撮像手段を用いて連続撮影して複数の撮影画像を取得する画像取得工程と、
前記画像取得工程により取得された複数の撮影画像に関する情報に基づいて、該複数の撮影画像の中から１つの基準画像を選択する基準画像選択工程と、
前記基準画像選択工程により選択された基準画像に対する他の撮影画像の位置ずれを検出する位置ずれ検出工程と、
前記他の撮影画像について前記位置ずれ検出工程により検出された位置ずれを補償する位置ずれ補償工程と、
前記基準画像と前記位置ずれ補償後の他の撮影画像とを加算して合成する画像合成工程と、
前記複数の撮影画像の中から任意に選択される１つの基準候補画像に対して他の撮影画像のうち任意の数以上の撮影画像が重複している領域の面積を合成可能面積として計算する合成可能面積計算工程と、を備え、
前記基準画像選択工程は、前記複数の撮影画像のうち、前記合成可能面積計算工程により計算された合成可能面積が最大となる基準候補画像を基準画像として選択するものであることを特徴とする撮像方法。
【請求項５】
請求項３または４に記載の撮像方法を前記撮像装置に内蔵されるコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子手ぶれ補正機能を有する撮像装置、該撮像装置を用いた撮像方法並びに前記撮像方法を実行するためのプログラムに関するものである。
【背景技術】
【０００２】
従来、デジタルカメラ等の撮像装置において手ぶれを抑制する技術としては、撮像面または撮像面に対するレンズの位置を手ぶれ方向と反対方向にシフトすることにより手ぶれをキャンセルする光学的手ぶれ補正方式や高速シャッターを用いて複数枚の時分割画像を撮影し、被写体の特徴点を基準にして各画像を合成することによる電子手ぶれ補正方式が既に知られている。
【０００３】
このうち、電子手ぶれ補正方式では、手ぶれに対して撮像面やレンズを作動させる必要が無いためメカ機構が不要であり、撮像装置のスペースやコストが節約できる、等のメリットがある。
【０００４】
すなわち電子手ぶれ補正方式では、まずＣＣＤ（Charge  Coupled  Device）センサなどの撮像素子により連続的に撮影し、得られた複数の画像のうち１枚を基準画像とし、この基準画像に対する他の画像の位置ずれを補償する位置あわせを行った後に、基準画像及び位置ずれが補償された複数の画像における対応画素を加算することによって複数の画像を合成し、これを手ぶれ補正画像として生成する（例えば、特許文献１参照。）。
【０００５】
このような電子手ぶれ補正方式では、通常、撮像した複数枚の画像のうち、連続撮影の順番において最初の画像を基準画像として合成を行っていた。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の電子手ぶれ補正方式で得られた撮影画像が撮影者が意図したような画像ではないことがあった。また、複数枚の撮像画像の中からどれを画像合成を行う際の基準画像にするかで取得できる手ぶれ補正画像は若干異なり、例えば基準画像は最初の画像以外を用いたほうが好適な画像を得られることがあるが、従来の電子手ぶれ補正技術ではこれに対応できなかった。
【０００７】
本発明は、以上の従来技術における課題に鑑みてなされたものであり、撮影者が意図する画像が得られやすく、画質のよい電子手ぶれ補正方式を有する撮像装置、撮像装置を用いた撮像方法並びに前記撮像方法を実行するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記課題を解決するために提供する本発明は、以下の通りである。なお、カッコ内に本発明を実施するための形態において対応する部位及び符号等を示す。
〔１〕  被写体からの光を受けて撮影画像を出力する撮像手段（ＣＣＤ１０１，Ｆ／Ｅ−ＩＣ１０２）と、前記撮像手段を用いて連続撮影して複数の撮影画像を取得する画像取得手段（ステップＳ１１、Ｓ２２、Ｓ３２）と、前記画像取得手段により取得された複数の撮影画像に関する情報に基づいて、該複数の撮影画像の中から１つの基準画像を選択する基準画像選択手段（ステップＳ１２、Ｓ２３、Ｓ３３）と、前記基準画像選択手段により選択された基準画像に対する他の撮影画像の位置ずれを検出する位置ずれ検出手段（ステップＳ１３、Ｓ２４、Ｓ３４）と、前記他の撮影画像について前記位置ずれ検出手段により検出された位置ずれを補償する位置ずれ補償手段（ステップＳ１４、Ｓ２５、Ｓ３５）と、前記基準画像と前記位置ずれ補償後の他の撮影画像とを加算して合成する画像合成手段（ステップＳ１５、Ｓ２６、Ｓ３６）と、を備える撮像装置であって、前記複数の撮影画像ごとに、撮影時の当該撮像装置の姿勢を検出する姿勢検出手段（加速度センサ１２４）をさらに備え、前記基準画像選択手段は、前記複数の撮影画像のうち、撮影時の当該撮像装置の姿勢が水平である、あるいは最も水平に近い撮影画像を基準画像として選択する（ステップＳ２３）ことを特徴とする撮像装置（デジタルカメラＣ、図１〜図４，図６，図１５）。
〔２〕 被写体からの光を受けて撮影画像を出力する撮像手段（ＣＣＤ１０１，Ｆ／Ｅ−ＩＣ１０２）と、前記撮像手段を用いて連続撮影して複数の撮影画像を取得する画像取得手段（ステップＳ１１、Ｓ２２、Ｓ３２）と、前記画像取得手段により取得された複数の撮影画像に関する情報に基づいて、該複数の撮影画像の中から１つの基準画像を選択する基準画像選択手段（ステップＳ１２、Ｓ２３、Ｓ３３）と、前記基準画像選択手段により選択された基準画像に対する他の撮影画像の位置ずれを検出する位置ずれ検出手段（ステップＳ１３、Ｓ２４、Ｓ３４）と、前記他の撮影画像について前記位置ずれ検出手段により検出された位置ずれを補償する位置ずれ補償手段（ステップＳ１４、Ｓ２５、Ｓ３５）と、前記基準画像と前記位置ずれ補償後の他の撮影画像とを加算して合成する画像合成手段（ステップＳ１５、Ｓ２６、Ｓ３６）と、前記複数の撮影画像の中から任意に選択される１つの基準候補画像に対して他の撮影画像のうち任意の数以上の撮影画像が重複している領域の面積を合成可能面積（図７）として計算する合成可能面積計算手段と、を備え、前記基準画像選択手段は、前記複数の撮影画像のうち、前記合成可能面積計算手段により計算された合成可能面積が最大となる基準候補画像を基準画像として選択する（ステップＳ３３）ことを特徴とする撮像装置（デジタルカメラＣ、図１〜図４，図６，図１６）。
〔３〕  被写体からの光を受けて撮影画像を出力する撮像手段（ＣＣＤ１０１，Ｆ／Ｅ−ＩＣ１０２）を有する撮像装置（デジタルカメラＣ、図１〜図４）を用いた撮像方法であって、前記撮像手段を用いて連続撮影して複数の撮影画像を取得する画像取得工程（ステップＳ１１、Ｓ２２、Ｓ３２）と、前記画像取得工程により取得された複数の撮影画像に関する情報に基づいて、該複数の撮影画像の中から１つの基準画像を選択する基準画像選択工程（ステップＳ１２、Ｓ２３、Ｓ３３）と、前記基準画像選択工程により選択された基準画像に対する他の撮影画像の位置ずれを検出する位置ずれ検出工程（ステップＳ１３、Ｓ２４、Ｓ３４）と、前記他の撮影画像について前記位置ずれ検出工程により検出された位置ずれを補償する位置ずれ補償工程（ステップＳ１４、Ｓ２５、Ｓ３５）と、前記基準画像と前記位置ずれ補償後の他の撮影画像とを加算して合成する画像合成工程（ステップＳ１５、Ｓ２６、Ｓ３６）と、前記複数の撮影画像ごとに、撮影時の当該撮像装置の姿勢を検出する姿勢検出工程と、を備え、前記基準画像選択工程は、前記複数の撮影画像のうち、撮影時の当該撮像装置の姿勢が水平である、あるいは最も水平近い撮影画像を基準画像として選択する（ステップＳ２３）ものであることを特徴とする撮像方法（図６，図１５）。
〔４〕 被写体からの光を受けて撮影画像を出力する撮像手段（ＣＣＤ１０１，Ｆ／Ｅ−ＩＣ１０２）を有する撮像装置（デジタルカメラＣ、図１〜図４）を用いた撮像方法であって、前記撮像手段を用いて連続撮影して複数の撮影画像を取得する画像取得工程（ステップＳ１１、Ｓ２２、Ｓ３２）と、前記画像取得工程により取得された複数の撮影画像に関する情報に基づいて、該複数の撮影画像の中から１つの基準画像を選択する基準画像選択工程（ステップＳ１２、Ｓ２３、Ｓ３３）と、前記基準画像選択工程により選択された基準画像に対する他の撮影画像の位置ずれを検出する位置ずれ検出工程（ステップＳ１３、Ｓ２４、Ｓ３４）と、前記他の撮影画像について前記位置ずれ検出工程により検出された位置ずれを補償する位置ずれ補償工程（ステップＳ１４、Ｓ２５、Ｓ３５）と、前記基準画像と前記位置ずれ補償後の他の撮影画像とを加算して合成する画像合成工程（ステップＳ１５、Ｓ２６、Ｓ３６）と、前記複数の撮影画像の中から任意に選択される１つの基準候補画像に対して他の撮影画像のうち任意の数以上の撮影画像が重複している領域の面積を合成可能面積として計算する合成可能面積計算工程と、を備え、前記基準画像選択工程は、前記複数の撮影画像のうち、前記合成可能面積計算工程により計算された合成可能面積が最大となる基準候補画像を基準画像として選択する（ステップＳ３３）ものであることを特徴とする撮像方法（図６，図１６）。
〔５〕  前記〔３〕まはた〔４〕に記載の撮像方法を前記撮像装置（デジタルカメラＣ）に内蔵されるコンピュータ（ＣＰＵブロック１０４−３）に実行させるプログラム（制御プログラムＰ、図４）。
【発明の効果】
【０００９】
本発明の撮像装置、撮像方法並びにプログラムによれば、連続撮影して取得された複数の撮影画像に関する情報に基づいて、撮影者が最適と考えるような画像を該複数の撮影画像の中から１つの基準画像として選択するので、撮影者が意図している画像に最も近い手ぶれ補正画像を得ることができる。また、ノイズの少ない画質のよい手ぶれ補正画像を得ることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係る撮像装置であるデジタルカメラの構成を示す平面図である。
【図２】本発明に係る撮像装置であるデジタルカメラの構成を示す正面図である。
【図３】本発明に係る撮像装置であるデジタルカメラの構成を示す背面図である。
【図４】本発明に係る撮像装置であるデジタルカメラのシステム構成を示すブロック図である。
【図５】従来の撮像装置の一例であるデジタルカメラで電子手ぶれ補正処理を行う際の処理手順を表すフローチャートである。
【図６】本発明の撮像装置の一例であるデジタルカメラで電子手ぶれ補正処理を行う際の処理手順を表すフローチャートである。
【図７】電子手ぶれ補正処理における合成可能面積を表す図である。
【図８】位置ずれ検出工程、位置ずれ補償工程、画像合成工程の処理例１の概要を示す概念図である。
【図９】位置ずれの様子を示す図である。
【図１０】位置ずれ検出工程、位置ずれ補償工程、画像合成工程の処理例２の位置ずれデータ演算処理で実行される全範囲マッチングの処理ブロック図である。
【図１１】図１０の局所明度画像生成モジュールの処理内容の説明図である。
【図１２】図１０の最適移動量計算モジュールの処理内容の説明図である。
【図１３】位置ずれ検出工程、位置ずれ補償工程、画像合成工程の処理例２の画像合成処理で実行される重ね合わせ処理の説明図である。
【図１４】位置ずれ検出工程、位置ずれ補償工程、画像合成工程の処理例２の画像合成処理で実行されるブロック転送処理の説明図である。
【図１５】本発明のデジタルカメラの実施例１として電子手ぶれ補正処理を行う際の処理手順を表すフローチャートである。
【図１６】本発明のデジタルカメラの実施例２として電子手ぶれ補正処理を行う際の処理手順を表すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、本発明に係る撮像装置の構成について図面を参照して説明する。
図１〜図３は、本発明の撮像装置としてのデジタルカメラを示す外観図であり、図１はデジタルカメラの平面図を示し、図２はデジタルカメラの正面図を示し、図３はデジタルカメラの背面図を示す。また、図４は、デジタルカメラ内部のシステム構成を示すブロック図である。
【００１２】
図１において、Ｃは撮像装置としてのデジタルカメラである。
図１に示すように、デジタルカメラＣの上部には、サブ液晶ディスプレイ１（以下、液晶ディスプレイを「ＬＣＤ」という。）、レリーズシャッターＳＷ１、モードダイアルＳＷ２が設けられており、図２に示すように、デジタルカメラＣの側部には、ＳＤカード（メモリカード）／電池装填室の蓋２が設けられており、デジタルカメラＣの正面側には、ストロボ発光部３、光学ファインダ４、測距ユニット５、リモコン受光部６、撮影レンズを備えた鏡胴ユニット７が設けられている。
【００１３】
また、図３に示すように、デジタルカメラＣの背面側には、光学ファインダ４、ＡＦ用ＬＥＤ８、ストロボ用ＬＥＤ９、ＬＣＤモニタ１０、広角ズームスイッチ（ZOOM SW(WIDE)）ＳＷ３、望遠ズームスイッチ（ZOOM SW(TELE)）ＳＷ４、セルフタイマ設定／解除スイッチ（セルフタイマ／削除ＳＷ）ＳＷ５、再生スイッチＳＷ６、上移動／ストロボ設定スイッチ（上／ストロボSW）ＳＷ７、右移動スイッチ（右SW）ＳＷ８、ディスプレイスイッチＳＷ９、下移動／マクロ設定スイッチ（下／マクロSW）ＳＷ１０、左移動／画像確認スイッチ（左／画像確認SW）ＳＷ１１、メニュー（ＭＥＮＵ）／ＯＫスイッチＳＷ１２、電源スイッチＳＷ１３が設けられている。
【００１４】
図４において、１０４はデジタルスチルカメラプロセッサ（以下、「プロセッサ」とする。）である。プロセッサ１０４は、ＣＰＵ（中央演算装置）を内蔵しており、デジタルカメラＣの各部はプロセッサ１０４によって制御されている。
【００１５】
図４に示すように、鏡筒ユニット７は、被写体の光学画像を取り込むズームレンズ７−１ａを備えたズーム光学系７−１、被写体の光学画像を光電変換するための固体撮像素子であるＣＣＤ（Charge  Coupled  Device）１０１の受光部に結像させるフォーカスレンズ７−２ａを備えたフォーカス光学系７−２、絞り７−３ａを備えた絞りユニット７−３、メカシャッタ７−４ａを備えたメカシャッタユニット７−４によって構成されている。
【００１６】
ズーム光学系７−１、フォーカス光学系７−２、絞りユニット７−３、メカシャッタユニット７−４は、それぞれズームモータ７−１ｂ、フォーカスモータ７−２ｂ、絞りモータ７−３ｂ、メカシャッタモータ７−４ｂによって駆動される。
【００１７】
また、これらの各モータ７−１ｂ〜７−４ｂはモータドライバ７−５によって駆動され、モータドライバ７−５は、リモコン受光部６の入力や操作部ＫｅｙユニットＳＷ１〜ＳＷ１３の操作入力に基づく、デジタルカメラプロセッサ１０４のＣＰＵブロック１０４−３からの駆動指令により駆動制御される。
【００１８】
鏡胴ユニット７の各光学系７−１，７−２によりＣＣＤ１０１の受光部に結像された被写体像は、ＣＣＤ１０１によって画像信号に変換され、この画像信号がＦ／Ｅ−ＩＣ１０２に出力される。
【００１９】
Ｆ／Ｅ（フロントエンド）−ＩＣ１０２は、画像ノイズ除去用相関二重サンプリングを行うＣＤＳ１０２−１、自動的に利得の調整を行うＡＧＣ１０２−２、ＡＧＣ１０２−２から出力されるアナログ画像信号をデジタル画像信号に変換するＡ／Ｄ１０２−３によって構成されている。
【００２０】
Ｆ／Ｅ−ＩＣ１０２は、ＣＣＤ１０１から出力されたアナログ画像信号にノイズ低減の処理や利得調整の処理などの所定の処理を施し、さらにアナログ画像信号をデジタル画像信号に変換して、プロセッサ１０４のＣＣＤ１信号処理ブロック１０４−１に出力する。
【００２１】
Ｆ／Ｅ−ＩＣ１０２による画像信号のサンプリングなどのタイミング処理は、プロセッサ１０４のＣＣＤ１信号処理ブロック１０４−１からフィードバックされる垂直同期信号（以下、ＶＤ）・水平同期信号（以下、ＨＤ）に基づいてＴＧ１０２−４によって行われる。
【００２２】
プロセッサ１０４は、ＣＣＤ１０１よりＦ／Ｅ―ＩＣ１０２の出力データにホワイトバランス設定やガンマ設定を行い、又前述したようにＶＤ信号、ＨＤ信号を供給するＣＣＤ１信号処理ブロック１０４−１、フィルタリング処理により輝度データ、色差データへの変換を行うＣＣＤ２信号処理ブロック１０４−２、装置各部の動作を制御するＣＰＵブロック１０４−３、制御に必要なデータ等を一時的に保存するローカルＳＲＡＭ１０４−４、パソコンなどの外部機器とＵＳＢ通信を行うＵＳＢブロック１０４−５、パソコンなどの外部機器とシリアル通信を行うシリアルブロック１０４−６、ＪＰＥＧ圧縮・伸長を行うＪＰＥＧ  ＣＯＤＥＣブロック１０４−７、画像データのサイズを補間処理により拡大・縮小するリサイズブロック１０４−８、画像データを液晶モニタやＴＶなどの外部表示機器に表示するためのビデオ信号に変換するビデオ信号出力ブロックであるＴＶ信号表示ブロック１０４−９、撮影された画像データを記録するメモリカードの制御を行うメモリカードコントローラブロック１０４−１０、Ｉ２Ｃブロック１０４−１１を備えており、これらの各ブロック１０４−１〜１０４−１１はバスラインを介して相互に接続されている。
【００２３】
プロセッサ１０４の外部には、ＳＤＲＡＭ１０３、ＲＡＭ１０７、ＣＰＵブロック１０４−３にて解読可能なコードで記述された制御プログラムＰや制御するためのパラメータなどが格納されたＲＯＭ１０８、撮影された画像の画像データを記憶する内蔵メモリ１２０が設けられており、これらもバスラインを介してプロセッサ１０４に接続されている。
【００２４】
ＳＤＲＡＭ１０３は、プロセッサ１０４で画像データに各種処理を施す際に、画像データを一時的に保存するものである。保存される画像データは、例えば、ＣＣＤ１０１から、Ｆ／Ｅ−ＩＣ１０２を経由して取りこんで、ＣＣＤ１信号処理ブロック１０４−１でホワイトバランス設定、ガンマ設定が行われた状態の「ＲＡＷ−ＲＧＢ画像データ」やＣＣＤ２制御ブロック１０４−２で輝度データ、色差データ変換が行われた状態の「ＹＵＶ画像データ」、ＪＰＥＧ  ＣＯＤＥＣブロック１０４−７で、ＪＰＥＧ圧縮された「ＪＰＥＧ画像データ」などである。
【００２５】
電源スイッチＳＷ１３をオンにした際に、ＲＯＭ１０８に格納された制御プログラムＰがプロセッサ１０４のメモリにロードされ、ＣＰＵブロック１０４−３はその制御プログラムに従ってデジタルカメラＣの各部の動作を制御するとともに、制御に必要なデータ等を一時的にＲＡＭ１０７及びＬｏｃａｌ  ＳＲＡＭ１０４−４に保存する。また、ＲＯＭ１０８に書き換え可能なフラッシュＲＯＭを使用することで、制御プログラムＰや制御するためのパラメータを変更することが可能となり、機能のバージョンアップを容易に行えるようになっている。
【００２６】
制御プログラムＰが実行される際には、ＲＡＭ１０７のメモリが制御プログラムＰの作業用メモリとして使用されるので、ＲＡＭ１０７のメモリには、制御プログラムＰの制御データやパラメータなどが随時書き込みや読み出しが行われる。
後述される全ての処理は、この制御プログラムＰを実行することにより、主にプロセッサ１０４によって実行される。
【００２７】
また、ＣＰＵブロック１０４−３は、音声記録回路１１５−１、音声再生回路１１６−１、ストロボ発光部３を発光させるストロボ回路１１４、被写体までの距離を計測する測距ユニット５、サブＣＰＵ１０９に接続されており、これらの回路はＣＰＵブロック１０４−３によって制御される。
【００２８】
マイク１１５−３によって取り込まれた音声信号はマイクアンプ１１５−２によって増幅され、音声記録回路１１５−１によってデジタル信号に変換されて、ＣＰＵブロック１０４−３の制御命令に従いメモリカードなどに記録される。
【００２９】
音声再生回路１１６−１は、ＣＰＵブロック１０４−３の制御命令に従いＲＯＭ１０８などに記録されている適宜の音声データを音声信号に変換し、オーディオアンプ１１６−２によって増幅してスピーカー１１６−３から出力させる。
【００３０】
サブＣＰＵ１０９は、ＲＯＭ，ＲＡＭをワンチップに内蔵したＣＰＵである。このサブＣＰＵ１０９には、ＬＣＤドライバ１１１を介してサブＬＣＤ１、リモコン受光部６、ＡＦ用ＬＥＤ８、ストロボ用ＬＥＤ９、各スイッチＳＷ１〜ＳＷ１３からなる操作キーユニット、ブザー１１３が接続されており、これらはサブＣＰＵ１０９によって制御される。また、サブＣＰＵ１０９は、操作キーユニットＳＷ１〜ＳＷ１３やリモコン受光部６の出力信号をユーザの操作情報としてＣＰＵブロック１０４−３に出力し、またＣＰＵブロック１０４−３より出力されるカメラの状態をサブＬＣＤ１、ＡＦ用ＬＥＤ８、ストロボ用ＬＥＤ９、ブザー１１３の制御信号に変換して出力する。
【００３１】
サブＬＣＤ１は、例えば撮影可能枚数など表示するための表示部であり、ＬＣＤドライバ１１１はサブＣＰＵ１０９の出力信号よりサブＬＣＤ１を駆動するためのドライブ回路である。
【００３２】
また、ＡＦ用ＬＥＤ８は、撮影時の合焦状態を表示するためのＬＥＤであり、ストロボ用ＬＥＤ９は、ストロボ充電状態を表すためのＬＥＤである。なお、このＡＦ用ＬＥＤ８とストロボ用ＬＥＤ９を、メモリカードアクセス中などの別の表示用途に使用してもよい。
【００３３】
操作キーユニットＳＷ１〜ＳＷ１３は、ユーザが操作するキー回路であり、リモコン受光部６はユーザが操作したリモコン送信機の信号の受信部である。
【００３４】
プロセッサ１０４のＵＳＢブロック１０４−５は、パソコンなどの外部機器とＵＳＢ接続するためのＵＳＢコネクタ１２２に接続されている。また、プロセッサ１０４のシリアルブロック１０４−６は、シリアルブロック１０４−６の出力信号を電圧変換するための回路であるシリアルドライバ回路１２３−１を介してＲＳ−２３２Ｃコネクタに接続されている。これらのＵＳＢブロック１０４−５やシリアルブロックによって、デジタルカメラＣとデジタルカメラＣに接続された外部機器との間でデータ通信が行われる。
【００３５】
プロセッサ１０４のＴＶ信号表示ブロック１０４−９には、ＬＣＤモニタ１０を駆動するドライブ回路であるとともに、ＴＶ信号ブロック１０４−９から出力されたビデオ信号をＬＣＤモニタ１０に表示するための信号に変換する機能を有するＬＣＤドライバ１１７、ビデオ信号（ＴＶ信号）を増幅すると共に７５Ωインピーダンス整合を行うためのビデオアンプ１１８が接続されており、ＬＣＤドライバ１１７とビデオアンプ１１８には、それぞれＬＣＤモニタ１０、ＴＶなどの外部モニタ機器に接続するためのビデオジャック１１９が接続されている。
【００３６】
ＴＶ信号表示ブロック１０４−９は、画像データをビデオ信号に変換して、ＬＣＤモニタ１０やビデオジャック１１９に接続された外部モニタ機器に出力する。
ＬＣＤモニタ１０は、撮影中の被写体のモニタや、撮影された画像の表示、メモリカードまたは内蔵メモリ１２０に記録された画像の表示などに使用される。
【００３７】
メモリカードコントローラブロック１０４−１０には、メモリカードスロットル１２１が接続されており、メモリカードスロットル１２１に挿入された増設用のメモリカードとデジタルカメラとの間で画像データのやり取りを行なう。
【００３８】
加速度センサ１２４は、デジタルカメラＣ内のプリント基板（ＰＣＢ）上に実装され、２軸位置情報Ｘ，Ｙと温度Ｔのデータを出力する。そのデータからデジタルカメラＣのロール角、ピッチ角等の傾きを演算し、ＬＣＤモニタ１０等に表示する。
【００３９】
また、加速度センサ１２４、すなわちデジタルカメラＣの水平に対する傾き角度であるロール角θは以下の式（１）で表される。
θ[ｄｅｇ]＝１８０／π×arctan（（Ｙ０−Ｇ０）／（Ｘ０−Ｇ０））・・・（１）
ここで、Ｘ０，Ｙ０は加速度センサ１２４から出力される２軸位置情報であり、Ｇ０は重力ゼロ時の出力である。
【００４０】
なお、デジタルカメラＣが図２、図３に示す姿勢のときに、デジタルカメラＣのロール角θが０度であるとし、図３においてＬＣＤモニタ１０が時計回り方向に傾いた場合に正の傾き、反時計回り方向に傾いた場合に負の傾きであるとする。
【００４１】
つぎに、電子手ぶれ補正処理について説明する。
図５は、従来の撮像装置の一例であるデジタルカメラで電子手ぶれ補正処理を行う際の処理手順を表すフローチャートである。ここで、図４のデジタルカメラＣを用いた通常行われる電子手ぶれ補正処理の手順を説明する。
【００４２】
（Ｓ９１）  ＣＰＵブロック１０４−３は、レリーズシャッターＳＷ１が押されたと判断すると、４枚の画像を連続して撮影してＳＤＲＡＭ１０３に取り込む（画像取得工程）。
（Ｓ９２）  ＳＤＲＡＭ１０３への画像の取り込みが完了すると、ＣＰＵブロック１０４−３は、１枚目に取り込みが行われた画像を基準画像として、２枚目から４枚目の画像それぞれの位置ずれ検出を行う（位置ずれ検出工程）。
（Ｓ９３）  ステップＳ９２の結果を基に、ＣＰＵブロック１０４−３は、２枚目から４枚目の画像それぞれの位置ずれを補償する（位置ずれ補償工程）。
（Ｓ９４）  ＣＰＵブロック１０４−３は、１枚目の画像（基準画像）と位置ずれ補償を施した２枚目から４枚目の画像について対応画素を加算することにより合成して１枚の画像を生成する（画像合成工程）。
（Ｓ９５）  ＣＰＵブロック１０４−３は、生成された合成画像を内蔵メモリ１２０またはメモリカードスロットル１２１に挿入されたメモリカードに記録保存する（合成画像保存工程）。
【００４３】
以上の手順により、電子手ぶれ補正が施された画像が得られるが、撮影者が意図した画像ではなく、満足のいく画像が得られないことがあった。
発明者は、この問題を解決すべく検討を行ったところ、複数枚の撮像画像の中からどれを画像合成を行う際の基準画像にするかで取得できる手ぶれ補正画像は若干異なり、例えば基準画像は最初の画像以外を用いたほうが好適な画像を得られる場合があることを把握し、この知見を基に鋭意検討を行い、本発明を成すに至った。
【００４４】
すなわち、本発明に係る撮像装置は、被写体からの光を受けて撮影画像を出力する撮像手段と、前記撮像手段を用いて連続撮影して複数の撮影画像を取得する画像取得手段と、前記画像取得手段により取得された複数の撮影画像に関する情報に基づいて、該複数の撮影画像の中から１つの基準画像を選択する基準画像選択手段と、前記基準画像選択手段により選択された基準画像に対する他の撮影画像の位置ずれを検出する位置ずれ検出手段と、前記他の撮影画像について前記位置ずれ検出手段により検出された位置ずれを補償する位置ずれ補償手段と、前記基準画像と前記位置ずれ補償後の他の撮影画像とを加算して合成する画像合成手段と、を備えることを特徴とするものである。
【００４５】
なお、前記画像取得手段、基準画像選択手段、位置ずれ検出手段、位置ずれ補償手段、画像合成手段は、本発明のデジタルカメラＣにおいてＣＰＵブロック１０４−３の機能として処理実行されるものである。また、各手段は分割して設ける必要はなく、それぞれの機能を兼ねるようにしてもよい。例えば、位置ずれ補償手段と画像合成手段を兼ねるようにして、画像の中の画素単位でその処理を行うようにする。
以下、本発明の詳細について説明する。
【００４６】
図６は、本発明の撮像装置の一例であるデジタルカメラで電子手ぶれ補正処理を行う際の処理手順を表すフローチャートである。
（Ｓ１１）  ＣＰＵブロック１０４−３は画像取得手段として、レリーズシャッターＳＷ１が押されたと判断すると、ＣＣＤ１０１によって４枚の画像を連続して撮影してＳＤＲＡＭ１０３に取り込む（画像取得工程）。
（Ｓ１２）  ＳＤＲＡＭ１０３への画像の取り込みが完了すると、ＣＰＵブロック１０４−３は基準画像選択手段として、取得された４枚の画像に関する情報に基づいて、この４枚の画像の中から１つの基準画像を選択する（基準画像選択工程）。４枚の画像（複数の撮影画像）に関する情報とは、撮影者が最適と考えるような画像であるか否かを判断するための情報であり、例えば対象の画像の撮影条件（撮影時のデジタルカメラＣの姿勢（ロール角）など）や対象の画像を基準画像とした場合の合成可能面積の大きさなどである。
【００４７】
（Ｓ１３）  ＣＰＵブロック１０４−３は位置ずれ検出手段として、ステップＳ１２で選択された基準画像に対するそれ以外の画像それぞれの位置ずれ検出を行う（位置ずれ検出工程）。
（Ｓ１４）  ＣＰＵブロック１０４−３は位置ずれ補償手段として、ステップＳ１３の結果を基に、前記それ以外の画像それぞれの位置ずれを補償する（位置ずれ補償工程）。
（Ｓ１５）  ＣＰＵブロック１０４−３は画像合成手段として、基準画像と位置ずれ補償を施したそれ以外の画像について対応画素を加算することにより合成して１枚の画像を生成する（画像合成工程）。
【００４８】
図７は、画像合成を行う際の撮影画像領域を表している。ここでは、四角形で囲まれた領域が撮影された画像の領域であり、４つの画像について撮影された順番として１枚目、２枚目、３枚目、４枚目と示している。また、ここでは撮影順番として１枚目の画像が基準画像に選択された場合を示している。
【００４９】
図７に示すように、画像合成前の４枚の画像の画角は、それぞれ異なるが、画像合成を行う際は１枚目に撮影した画像の領域が基準となり、他の画像と重なっている領域が合成される。ただし、すべての領域で４枚の画像の合成を行う必要はなく、部分的に２枚〜４枚のいずれかの画像を合成する。
【００５０】
図７において、網掛けで示された領域は、連続撮影した画像のうち２枚以上が重なっている部分を表している。この部分の面積を合成可能面積と定義する。また、基準画像（ここでは１枚目）の面積に対する合成可能面積の比率を、合成可能面積率と定義する。
【００５１】
電子手ぶれ補正処理を行う際、２枚以上の画像を合成可能な領域と、画像合成不可能で基準画像のデータのみを利用する領域が存在する。画像合成を行うことで、撮影画像のノイズを低減する等の効果があるため、可能な限り広い領域で画像合成を行うことが好ましく、この合成可能面積（あるいは合成可能面積率）が大きいことが望ましい。
【００５２】
（Ｓ１６）  ＣＰＵブロック１０４−３は、生成された合成画像を内蔵メモリ１２０またはメモリカードスロットル１２１に挿入されたメモリカードに記録保存する（合成画像保存工程）。
【００５３】
以上のように、デジタルカメラＣによれば、連続撮影して取得された複数の撮影画像に関する情報に基づいて、撮影者が最適と考えるような画像を該複数の撮影画像の中から１つの基準画像として選択するので、撮影者が意図している画像に最も近い手ぶれ補正画像を得ることができる。
【００５４】
なお、図６の説明では連続撮影する枚数は４枚としたが、２枚以上であれば何枚でもかまわない。また、合成可能面積に関する重ねあわせる画像の枚数を２枚以上としたが、３枚以上、４枚以上としてもよい。また、基準画像とするのは１枚目の画像としたが、連続撮影したうちの任意の画像を選択してかまわない。
【００５５】
また、前記ステップＳ１１〜Ｓ１５の工程を順次実行させる制御プログラムＰをＲＯＭ１０８に格納しておき、該制御プログラムＰがプロセッサ１０４のメモリにロードされると、ＣＰＵブロック１０４−３がその制御プログラムＰに従って前記ステップＳ１１〜Ｓ１５の工程を順次実行するようにするとよい。
【００５６】
また、位置ずれ検出工程（ステップＳ１３）、位置ずれ補償工程（ステップＳ１４）、画像合成工程（ステップＳ１５）は、従来公知の技術を用いればよく、例えば以下のような処理（処理例１，２）を行う。
（処理例１）
ここでは、ＣＣＤ１０１として、ベイヤー方式の色フィルタアレイを備えたものを前提として説明する。詳しくは、ＣＣＤ１０１においては、輝度信号に大きく寄与するＧ成分のフィルタが市松状に配置され、残りの部分にＲ、Ｂ成分のフィルタがさらに市松状に配置されている。また、ＣＣＤ１０１においては、各色成分（Ｒ，Ｇ，Ｂ）に対応する光電変換素子が所定のパターンで配置されている。詳細には、（Ｇ，Ｒ，Ｂ，Ｇ）の４つの画素を有する２×２画素サイズのユニットＳＱがＸ方向およびＹ方向のそれぞれに２画素単位（周期）で繰り返されて配置されている。これにより、Ａ／Ｄ１０２−３によるＡ／Ｄ変換後のデジタル信号は、ベイヤー配列のままの画像データ（以下、単に「ベイヤー配列画像」とも称する）として一時的にＳＤＲＡＭ１０３に格納される。ベイヤー配列画像の画素配列における色配置は、ＣＣＤ１０１の光電変換素子配列における色配置と同一であり、ＲＡＷ形式の画像と同様の構成を有している。
【００５７】
図８は、本処理例において４枚の画像（ベイヤー配列画像）ＰＡ１〜ＰＡ４に基づいて、合成画像（ＲＧＢ画像）ＰＤが生成されるまでの動作を示す概念図である。
本処理例では、まず、ステップＳ１３として、撮像された複数の画像（ベイヤー配列画像）ＰＡ１〜ＰＡ４相互間の位置ずれを検出する。ここでは、ベイヤー配列画像ＰＡ１〜ＰＡ４を相互に比較することによって、位置ずれを検出する。具体的には、まず最初に２枚の画像ＰＡ１，ＰＡ２を比較対象画像ＰＥ１，ＰＥ２として選択し、次に２枚の画像ＰＡ１，ＰＡ３を比較対象画像ＰＥ１，ＰＥ２として選択し、最後に２枚の画像ＰＡ１，ＰＡ４を比較対象画像ＰＥ１，ＰＥ２として選択する。
詳細には、まず、１枚目の画像ＰＡ１（基準画像）と２枚目の画像ＰＡ２との位置ずれを検出する。ついで、１枚目の画像ＰＡ１と３枚目の画像ＰＡ３との位置ずれを検出し、さらに１枚目の画像ＰＡ１と４枚目の画像ＰＡ４との位置ずれを検出する。
【００５８】
図９は、手振れによる被写体の移動量を検出する動作について説明する図である。ここでは、複数の画像における同一色成分画素相互間の位置ずれを求めることによって、ベイヤー配列画像ＰＡ１〜ＰＡ４の相互間における被写体の位置ずれを検出する。また、Ｒ成分相互間、Ｇ成分相互間、Ｂ成分相互間の３つの比較処理のうち、１つの色成分相互間（特にここではＧ成分相互間）での比較処理に基づいて、上記位置ずれを検出するものとする。すなわち、複数の色成分のうちの単一の色成分の画素の位置ずれを求めることによって、各画像間における位置ずれが検出されることになる。これによれば、全ての色成分の比較処理に基づいて検出する場合に比べて処理負荷を低減することができる。特に、Ｇ成分（緑色成分）を用いた比較処理を行うことによれば、人の視覚特性を利用して、より的確に位置ずれを検出することができる。
【００５９】
以下では、２枚の比較対象画像ＰＥ１，ＰＥ２に対する比較処理等について説明する。
比較の対象となる２つの画像ＰＥ１，ＰＥ２（最初はＰＡ１，ＰＡ２）の相互間で、ずれ方向（向き）とずれ量（大きさ）とが互いに異なる複数の組合せについての「ずれ」を実現した状態でパターンマッチング処理を行う。詳細には、まず、画像ＰＥ１を画像ＰＥ２に対して＋Ｘ方向に２画素分ずらして、ずらした後の対応画素（Ｇ成分画素）同士の画素値の差分値を算出する。そして、画像内に予め設定した特定領域（一部領域）内の全Ｇ成分画素について当該差分値を求め、全Ｇ成分画素についての差分値を加算した値を評価値ＥＶとして求める。
【００６０】
つぎに、画像ＰＥ１を画像ＰＥ２に対して−Ｘ方向に２画素分ずらして同様の処理を行い評価値ＥＶを算出する。また、画像ＰＥ１を画像ＰＥ２に対して＋Ｙ方向に２画素分ずらして同様の処理を行い評価値ＥＶを算出する。さらに、画像ＰＥ１を画像ＰＥ２に対して−Ｘ方向に２画素分ずらして同様の処理を行い評価値ＥＶを算出する。
【００６１】
同様に、今度は、各方向（＋Ｘ，−Ｘ，＋Ｙ，−Ｙ）にそれぞれ４画素分ずらした状態で、それぞれの「ずれ」に対応する評価値ＥＶを求める。
また、各方向（＋Ｘ，−Ｘ，＋Ｙ，−Ｙ）にそれぞれ６画素分ずらした状態で、それぞれの「ずれ」に対応する評価値ＥＶを求める。
同様に、各方向（＋Ｘ，−Ｘ，＋Ｙ，−Ｙ）にそれぞれ８画素分ずらした状態で、それぞれの「ずれ」に対応する評価値ＥＶを求める。
さらに同様に、各方向（＋Ｘ，−Ｘ，＋Ｙ，−Ｙ）にそれぞれ１０画素分ずらした状態で、それぞれの「ずれ」に対応する評価値ＥＶを求める。
【００６２】
このようにして、合計２０種類の「ずれ」に対応する評価値ＥＶが算出される。そして、これら複数の評価値のうち、最も良い（最も小さい）評価値ＥＶを求め、当該最良の評価値ＥＶに対応する「ずれ」を、両画像ＰＥ１，ＰＥ２間の「ずれ」として判定する。たとえば、画像ＰＥ１が＋Ｘ方向に２画素ずれたときの評価値ＥＶが最小であるとすれば、画像ＰＥ２は画像ＰＥ１に対して＋Ｘ方向に２画素ずれていると判定される。
【００６３】
その後、比較対象画像ＰＥ１，ＰＥ２を順次に変更し、同様の動作を繰り返すことによって、画像ＰＡ１と画像ＰＡ３との間のずれ、および、画像ＰＡ１と画像ＰＡ４との間のずれを求める。
【００６４】
なお、ここでは、２０種類の組合せについてパターンマッチング処理を行う場合を例示したが、これに限定されず、さらに多くの組合せについてパターンマッチング処理を行うようにしてもよい。たとえば、４５度ずつずれた８方向のそれぞれにずらすようにしてもよい。また、ずれ量を、１０画素までではなくさらに多くの画素数（例えば数十画素）まで順次に変更していくようにしてもよい。
【００６５】
次に、上述したように検出された位置ずれを補償しつつ４枚の画像ＰＡ１〜ＰＡ４が加算され、合成画像ＰＢが生成される（図８）。
具体的には、基準画像ＰＡ１に対する「ずれ」を補償するように、当該他の３つの画像ＰＡ２〜ＰＡ４を基準画像に対して移動させた上で、対応画素の画素値を加算することによって、合成画像が生成される。例えば、求めた「位置ずれ」を補償するように、画像ＰＡ１に対して画像ＰＡ２をずらした状態で両画像ＰＡ１，ＰＡ２を重ね合わせ、対応する画素同士の画素値を各画素毎に加算して加算画像ＰＢ１２（不図示）を生成してＳＤＲＡＭ１０３に格納する。両画像ＰＡ１，ＰＡ２はいずれもベイヤー配列画像である。両画像ＰＡ１，ＰＡ２は求めた位置ずれ分の画素単位でずらされ、両画像ＰＡ１，ＰＡ２における同一色成分の画素同士（すなわち、Ｒ成分画素同士、Ｇ成分画素同士、Ｂ成分画素同士）が対応付けられた状態で加算される。生成された加算画像ＰＢ１２もベイヤー配列画像である。
同様に、求めた「位置ずれ」を補償するように、加算画像ＰＢ１２に対して画像ＰＡ３をずらした状態で両画像ＰＢ１２，ＰＡ３を重ね合わせ、対応する画素同士の画素値を各画素毎に加算して加算画像ＰＢ１３（不図示）を生成する。ベイヤー配列画像である両画像ＰＢ１２，ＰＡ３においては、同一色成分の画素同士が対応付けられて加算される。加算画像ＰＢ１３もベイヤー配列画像である。
そして、求めた「位置ずれ」を補償するように、加算画像ＰＢ１３に対して画像ＰＡ４をずらした状態で両画像ＰＢ１３，ＰＡ４を重ね合わせ、対応する画素同士の画素値を各画素毎に加算して加算画像ＰＢ１４（合成画像ＰＢとも称する）を生成する。ベイヤー配列画像である両画像ＰＢ１３，ＰＡ４においては、同一色成分の画素同士が対応付けられて加算される。加算画像ＰＢ１４もベイヤー配列画像である。
【００６６】
なお、順次行われる画像加算処理は、ＳＤＲＡＭ１０３に格納された加算画像（合成画像）ＰＢ１２に対してさらに加算対象画像ＰＡ３，ＰＡ４を順次に重ねることによって実行される。すなわち、合成画像は、ＳＤＲＡＭ１０３において格納され、随時上書き更新される。
【００６７】
その後、合成画像ＰＢ（加算画像ＰＢ１４）に対して補間処理、γ補正処理、ＷＢ補正処理、ノイズリダクション処理、および圧縮処理等がこの順序で施され、ＲＧＢ画像ＰＤ（図８）が生成される。なお、ＲＧＢ画像ＰＤは、Ｒ成分画像ＤＲとＧ成分画像ＤＧとＢ成分画像ＤＢとで構成される画像である。
【００６８】
（処理例２）
本処理例では、ステップＳ１３の位置ずれ検出工程は、入力された画像データをもとに位置ずれベクトルやアフィンパラメータなどの位置ずれデータを計算するものであり、入力された各画像データをもとに位置ずれデータを検出するための元となる画像（検出用画像）を作成する検出用画像生成処理、フィルタ処理を施して複数の解像度レベルの画像データを作成する多重解像度画像生成処理、画像の一または二以上の特徴点を抽出する画像特徴点群抽出処理、多重解像度画像データや画像特徴点データを用いて位置ずれデータを計算する位置ずれデータ演算処理を行う。なお、各処理は、ＣＰＵブロック１０４−３の機能として処理実行されるものである。また、各処理は、分割して設ける必要は無く、それぞれ機能を兼ねるようにしてもよい。
【００６９】
ここで、ＳＤＲＡＭ１０３で保存される各データの説明をする。
画像データは、幅ｗ,高さｈとしたときｗ×ｈ個の格子を持ち、各格子に画素値（例えばＲＧＢ，ＹＣｂＣｒ）の値を持つデータである。
また、画像特徴点群データは、画像データの特徴点データの集合であり、各画像特徴点はその座標値（ｘ，ｙ）や、その特徴点の強さを表す特徴量などから構成される。
なお、画像の位置ずれデータとしては、通常アフィンパラメータや位置ずれベクトルを用いる。
【００７０】
本処理例では、つぎの手順で位置ずれデータを計算する。
（検出用画像生成処理）
前記ステップＳ１１の画像取得工程が終了すると、入力画像から位置ずれデータを検出するための元となる画像（検出用画像）が作成される。すなわち、入力画像を縮小したサムネイル画像を作成し、さらに画像の端から所定の割合（たとえば、左右、上下１０％ずつ）カットした切り抜き画像を生成し、必要ならばアスペクト比の補正を行う。また、この補正した画像から輝度画像を生成する。
【００７１】
（多重解像度画像生成処理）
次に、この検出用画像は、フィルタ処理されて低解像度の画像が作成される。すなわち、検出用画像に対して、エッジ画像の生成処理等を行い、解像度レベル０の画像を作成し、さらに、各解像度レベル０の画像に対してぼかしフィルタや平均値フィルタなどを適用して解像度の低い画像データを作成する。なお、ここでは解像度レベルの数字が大きくなるにしたがって解像度が低くなっている。
【００７２】
（画像特徴点群抽出処理）
次に、エッジやコーナの強さによって画像特徴点を抽出する。なお、画像特徴点がある位置に生成されると、その近傍に別の画像特徴点は生成されないようにして、全体にまんべんなく画像特徴点を分布させるとよい。
【００７３】
（位置ずれデータ演算処理）
多重解像度画像生成処理による基準画像と比較画像を用いて、次の手順に従って位置ずれデータを計算する。
【００７４】
<ステップＳ１３ａ>  多重解像度マッチングの再粗解像度（最低解像度）においては全範囲マッチングを行い、２枚の画像間の平行移動量（ｄｘ,ｄｙ）を求める。再粗解像度をせいぜい数十ピクセル×数十ピクセル程度にすれば、全範囲マッチングを用いてもそれほど計算コストがかからず、また平行移動量（ｄｘ,ｄｙ）のみ求めればよいのは、手ぶれ補正においては平行移動量が全体の位置ずれの中で支配的であるからである。
【００７５】
図１０は、全範囲マッチの処理ブロック図である。
まず局所明度画像生成モジュールが、以下の式（２）で画像の局所的な明るさを算出する。
【数１】
0005668364.tif 000002
【００７６】
ここで、Ｉ(ｘ，ｙ)は入力画像の座標（ｘ，ｙ）における明るさ、Ｉ'(ｘ，ｙ)は出力局所明度画像の座標（ｘ，ｙ）における明るさ、ｓは局所領域のサイズを決める定数である。この式で与えられる局所明度は、あるピクセルの周囲の平均明度に対する相対的な明度となる（図１１参照）。
この処理により、手ぶれで光のあたり具合が変化したり、品質の悪い撮像レンズ等によって生じる画像周囲部の暗さを補正することができる。
【００７７】
次に、最適移動量計算モジュールで画像Ｉ1から画像Ｉ2 への移動量（ｄｘ，ｄｙ）を求める。まずＩ1からＩ2へ（ｄｘ，ｄｙ）移動したときの移動エネルギーＥ(ｄｘ，ｄｙ)を以下の式（３）のように定義する。
【数２】
0005668364.tif 000003
【００７８】
ここでＷは画像の幅、Ｈは画像の高さを表すものとする。Ｅ(ｄｘ，ｄｙ)は（ｄｘ，ｄｙ）ずらしたときの画像Ｉ1とＩ2の共通部分（図１２の斜線部分）における、ピクセル値の差分の絶対値を平均したものになる。
【００７９】
Ｅ(ｄｘ，ｄｙ)が小さければ小さいほど画像同士が似ているということであり、最適移動量計算モジュールはその値が最小となるような（ｄｘ，ｄｙ）を出力する。
以上の処理によって、位置ずれデータとして画像Ｉ１から画像Ｉ2への移動量（ｄｘ，ｄｙ）を求める。
【００８０】
<ステップＳ１３ｂ>  次に、この位置ずれデータを解像度Ｌ−１の画像の位置ずれデータの初期値とし、ブロックマッチング処理を実行する。なお、解像度Ｌ−１以上は、位置ずれデータとして、公知の最小二乗法によってアフィンパラメータを求めるようにする。
この処理によって求めたアフィンパラメータを、次の解像度における位置ずれデータの初期値として用いる。
【００８１】
<ステップＳ１３ｃ>  次に最終解像度（通常は解像度レベル０）か否かを判断して、最終解像度でなければ、Ｌ＝Ｌ−１として、すなわち、解像度レベルが一つ上の解像度の画像データについてステップＳ１３ｂ以降の処理を繰り返す。最終解像度になれば、その位置ずれデータをＳＤＲＡＭ１０３に保存する。
【００８２】
本処理によれば、基準画像と比較画像の多重解像度画像を作成し、解像度の低い画像に対しては、まず全範囲マッチングを行って、画像間の２次元のずれを検出し、解像度の比較的高い画像に対しては、アフィンパラメータを用いてブロックマッチング処理によって、多自由度の位置ずれを検出する。
【００８３】
ついで、得られた位置ずれデータと複数の画像のデータを用いて、位置ずれ補償工程（ステップＳ１４）を実行する。
【００８４】
つぎに、基準画像と位置ずれ補償後の画像のデータを用いて、画像合成工程（ステップＳ１５）として画像合成処理を行う。この処理もＣＰＵブロック１０４−３の機能として実行されるものである。
【００８５】
（画像合成処理）
複数枚の画像を変形して重ね合わせる処理を行うときには、図１３のように、変形後の画像の位置へ変形前の画像の位置からピクセルの色を取得する処理が必要になる。その際に、所定の座標変換式を使って、変形前の画像を斜めに走査するなどの処理が必要になる。
【００８６】
そこで、図１４のように細かいブロックに分けブロック単位で転送処理を実行する。これにより、デジタルカメラＣでも処理できるようになる。
ここで、変形前の画像におけるブロックの位置を求めるには、変形後の画像（基準画像）のブロック開始位置及び終了位置からブロックの中心の位置を求め、それに対して、所定の座標変換式を適用し、変形前の画像のブロック開始位置及び終了位置を計算する。
【００８７】
この画像合成処理によれば、合成画像を小ブロックに分割して、それぞれ転送開始位置、終了位置を設定して転送するので、回転などのずれ成分を有する場合でも、画像データ合成時のメモリ転送においてＤＭＡなどのハードウェアの効率的な利用を可能とし、高速に鮮明な合成画像を生成することができる。また、複数の画像を重ね合せて合成画像を作成する場合、転送ブロックの分割位置を少し（１〜数ピクセル程度）ずらすことによって、ブロックの境界を目立たなくすることができる。また、変形（ずれ）の大きさによってブロックのサイズを変更することによって、画像のゆがみを補正することができる。
【００８８】
つぎに、本発明に係る撮像装置に関する実施例を説明する。
（実施例１）
デジタルカメラＣでは、加速度センサ１２４が搭載されたことにより、被写体が水平に近い画角となるように画像を撮影することが可能となった。しかし、電子手ぶれ補正処理を実行すると、画像を撮影する際に通常よりも長時間カメラを保持する必要があり、手ぶれによりカメラロール角が傾いてしまうことがある。そのような場合にも、たとえば地平線や建物を撮影する際等は、可能な限り水平に近い画角となるように画像を撮影できることが好ましい。
【００８９】
そこで、本実施例では、画像取得工程（ステップＳ１１）において、加速度センサ１２４が前記複数の撮影画像ごとに、撮影時の当デジタルカメラＣの姿勢（ロール角θ）を検出するようにし、基準画像選択工程（ステップＳ１２）において、前記複数の撮影画像のうち、撮影時のデジタルカメラＣの姿勢が所定の姿勢となった、あるいは所定の姿勢に最も近い撮影画像を基準画像として選択することを行う。その詳細を図１５を用いて説明する。
【００９０】
図１５は、本発明のデジタルカメラの実施例１として電子手ぶれ補正処理を行う際の処理手順を表すフローチャートである。
（Ｓ２１）  ＣＰＵブロック１０４−３は、電子手ぶれ補正処理を行う電子手ぶれ補正モードであるか否かを判断する。この判断の結果、電子手ぶれ補正モードであると判断した場合（ステップＳ２１のＹＥＳ）には、ステップＳ２２画像取得工程に進む。
（Ｓ２２）  ＣＰＵブロック１０４−３は、レリーズシャッターＳＷ１が押されたと判断すると、ＣＣＤ１０１によって４枚の画像を連続して撮影してＳＤＲＡＭ１０３に取り込む（画像取得工程）。同時に、加速度センサ１２４が４枚の画像ごとに、撮影時の当デジタルカメラＣの姿勢（ロール角θ）を検出し、画像に対応させてその姿勢情報をＳＤＲＡＭ１０３に保存する。
（Ｓ２３）  ＣＰＵブロック１０４−３は、ＳＤＲＡＭ１０３に取り込まれた４枚の画像のロール角を確認し、ロール角が０°であるか最も０°に近い画像を基準画像として選択する（基準画像選択工程）。
（Ｓ２４）  ＣＰＵブロック１０４−３は、ステップＳ２３で選択された基準画像に対するそれ以外の画像それぞれの位置ずれ検出を行う（位置ずれ検出工程）。
（Ｓ２５）  ＣＰＵブロック１０４−３は、ステップＳ２４の結果を基に、前記それ以外の画像それぞれの位置あわせを行う（位置ずれを補償する）（位置ずれ補償工程）。
（Ｓ２６）  ＣＰＵブロック１０４−３は、基準画像と位置ずれ補償を施したそれ以外の画像について対応画素を加算することにより合成して１枚の画像を生成する（画像合成工程）。
（Ｓ２７）  ＣＰＵブロック１０４−３は、生成された合成画像を内蔵メモリ１２０またはメモリカードスロットル１２１に挿入されたメモリカードに記録保存する（合成画像保存工程）。
【００９１】
なお、ＣＰＵブロック１０４−３が電子手ぶれ補正モードでないと判断した場合（ステップＳ２１のＮＯ）、ＣＰＵブロック１０４−３は、レリーズシャッターＳＷ１が押されたら通常の撮影時と同様に１枚の画像撮影を行い（ステップＳ２８）、生成された画像を内蔵メモリ１２０またはメモリカードスロットル１２１に挿入されたメモリカードに記録する（ステップＳ２７）。
【００９２】
以上のように、本実施例によれば、ＣＰＵブロック１０４−３は水平（ロール角０°）である画像または最も水平に近い画像を基準画像として位置ずれ補償を行った後に画像合成を行うことで、ユーザは最も水平に近い画角となる画像を得ることが可能となる。
なお、基準画像を選択する基準となるロール角を０°としたが、これに限らず任意の角度としてもよい。
【００９３】
（実施例２）
本実施例では、画像取得工程（ステップＳ１１）で得られた前記複数の撮影画像の中から任意に選択される１つの基準候補画像に対して他の撮影画像のうち任意の数（例えば、２）以上の撮影画像が重複している領域の面積を合成可能面積（図７）として計算する合成可能面積計算手段を備え、基準画像選択工程（ステップＳ１２）において、前記複数の撮影画像のうち、前記合成可能面積計算手段により計算された合成可能面積が最大となる基準候補画像を基準画像として選択することを行う。その詳細を図１６を用いて説明する。
【００９４】
図１６は、本発明のデジタルカメラの実施例２として電子手ぶれ補正処理を行う際の処理手順を表すフローチャートである。
（Ｓ３１）  ＣＰＵブロック１０４−３は、電子手ぶれ補正処理を行う電子手ぶれ補正モードであるか否かを判断する。この判断の結果、電子手ぶれ補正モードであると判断した場合（ステップＳ３１のＹＥＳ）には、ステップＳ３２画像取得工程に進む。
（Ｓ３２）  ＣＰＵブロック１０４−３は、レリーズシャッターＳＷ１が押されたと判断すると、ＣＣＤ１０１によって４枚の画像を連続して撮影してＳＤＲＡＭ１０３に取り込む（画像取得工程）。
（Ｓ３３）  ＣＰＵブロック１０４−３は、ＳＤＲＡＭ１０３に取り込まれた４枚の画像の中から任意に選択される１つの基準候補画像に対して他の画像のうち２枚以上の画像が重複している領域の面積を合成可能面積として計算し、これら４枚の画像のうち、計算された合成可能面積が最大となる基準候補画像を基準画像として選択する（基準画像選択工程）。
（Ｓ３４）  ＣＰＵブロック１０４−３は、ステップＳ３３で選択された基準画像に対するそれ以外の画像それぞれの位置ずれ検出を行う（位置ずれ検出工程）。
（Ｓ３５）  ＣＰＵブロック１０４−３は、ステップＳ３４の結果を基に、前記それ以外の画像それぞれの位置あわせを行う（位置ずれを補償する）（位置ずれ補償工程）。
（Ｓ３６）  ＣＰＵブロック１０４−３は、基準画像と位置ずれ補償を施したそれ以外の画像について対応画素を加算することにより合成して１枚の画像を生成する（画像合成工程）。
（Ｓ３７）  ＣＰＵブロック１０４−３は、生成された合成画像を内蔵メモリ１２０またはメモリカードスロットル１２１に挿入されたメモリカードに記録保存する（合成画像保存工程）。
【００９５】
なお、ＣＰＵブロック１０４−３が電子手ぶれ補正モードでないと判断した場合（ステップＳ３１のＮＯ）、ＣＰＵブロック１０４−３は、レリーズシャッターＳＷ１が押されたら通常の撮影時と同様に１枚の画像撮影を行い（ステップＳ３８）、生成された画像を内蔵メモリ１２０またはメモリカードスロットル１２１に挿入されたメモリカードに記録する（ステップＳ３７）。
【００９６】
以上のように、本実施例によれば、ＣＰＵブロック１０４−３は最も合成可能面積が大きい画像を基準画像として位置ずれ補償を行った後に画像合成を行うことで、ユーザは最もノイズが少ない画像を得ることが可能となる。
なお、合成可能面積は、２枚以上の画像が重なった領域の面積としたが、より多くの枚数の画像が重なった領域の面積としてもよい。
【００９７】
なお、これまで本発明を図面に示した実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００９８】
１    サブＬＣＤ
２    ＳＤカード／電池蓋
３    ストロボ発光部
４    光学ファインダ
５    測距ユニット
６    リモコン受光部
７    鏡胴ユニット
７−１    ズーム光学系
７−１ａ    ズームレンズ
７−１ｂ    ズームモータ
７−２    フォーカス光学系
７−２ａ    フォーカスレンズ
７−２ｂ    フォーカスモータ
７−３    絞りユニット
７−３ａ    絞り
７−３ｂ    絞りモータ
７−４    メカシャッタユニット
７−４ａ    メカシャッタ
７−４ｂ    メカシャッタモータ
７−５    モータドライバ
８    ＡＦ用ＬＥＤ
９    ストロボ用ＬＥＤ
１０    ＬＣＤモニタ
１０１    ＣＣＤ
１０２    Ｆ／Ｅ−ＩＣ
１０２−１    ＣＤＳ
１０２−２    ＡＧＣ
１０２−３    Ａ／Ｄ（ＡＤＣ）
１０２−４    ＴＧ
１０３    ＳＤＲＡＭ
１０４    デジタルカメラプロセッサ
１０４−１    ＣＣＤ１信号処理ブロック
１０４−２    ＣＣＤ２信号処理ブロック
１０４−３    ＣＰＵブロック
１０４−４    ＬｏｃａｌＳＲＡＭ
１０４−５    ＵＳＢブロック
１０４−６    シリアルブロック
１０４−７    ＪＰＥＧ  ＣＯＤＥＣブロック
１０４−８    リサイズブロック
１０４−９    ＴＶ信号表示ブロック
１０４−１０    メモリカードコントローラブロック
１０４−１１    Ｉ２Ｃブロック
１０７    ＲＡＭ
１０８    ＲＯＭ
１０９    サブＣＰＵ
１１１，１１７    ＬＣＤドライバ
１１３    ブザー
１１４    ストロボ回路
１１５−１    音声記録回路
１１５−２    マイクアンプ
１１５−３    マイク
１１６−１    音声再生回路
１１６−２    オーディオアンプ
１１６−３    スピーカー
１１８    ビデオアンプ
１１９    ビデオジャック
１２０    内蔵メモリ
１２１    メモリカードスロットル
１２２    ＵＳＢコネクタ
１２３−１    シリアルドライバ回路
１２３−２    ＲＳ−２３２Ｃコネクタ
１２４    加速度センサ
Ｃ    デジタルカメラ
Ｐ    制御プログラム
ＳＷ１    レリーズシャッター
ＳＷ２    モードダイアル
ＳＷ３    ズームスイッチ（ＷＩＤＥ）
ＳＷ４    ズームスイッチ（ＴＥＬＥ）
ＳＷ５    セルフタイマ／削除スイッチ
ＳＷ６    再生スイッチ
ＳＷ７    上移動／ストロボ設定スイッチ
ＳＷ８    右移動スイッチ
ＳＷ９    ディスプレイスイッチ
ＳＷ１０    下移動／マクロスイッチ
ＳＷ１１    左移動／画像確認スイッチ
ＳＷ１２    メニュー／ＯＫスイッチ
ＳＷ１３    電源スイッチ
【先行技術文献】
【特許文献】
【００９９】
【特許文献１】特開２００７−２２６６４３号公報
【図１】
0005668364.tif 000004
【図２】
0005668364.tif 000005
【図３】
0005668364.tif 000006
【図４】
0005668364.tif 000007
【図５】
0005668364.tif 000008
【図６】
0005668364.tif 000009
【図８】
0005668364.tif 000010
【図９】
0005668364.tif 000011
【図１０】
0005668364.tif 000012
【図１１】
0005668364.tif 000013
【図１２】
0005668364.tif 000014
【図１３】
0005668364.tif 000015
【図１４】
0005668364.tif 000016
【図１５】
0005668364.tif 000017
【図１６】
0005668364.tif 000018
【図７】
0005668364.tif 000019