(57)【要約】【課題】補助光源を用いた撮影画像に対するぶれ補正を行って適切な明るさの画像を取得する。【解決手段】補助光源を有する撮像装置であって、ぶれ補正後の画像が適切な明るさとなるように撮影条件に基づいて、(a)に示す補助光源における発光のオン／オフを１／０で示す発光パターンを決定する。そして、該発光パターンに従って補助光源を発光させて撮影を行い、その撮影画像および該撮影時のぶれ情報を取得する。そして、ぶれ情報および前記発光パターンに基づいて、撮影画像に対するぶれ補正を行う。なお、発光パターンは(b)に示すように、その点像分布関数の演算結果における周波数特性が非ゼロの値で構成されるように設定されている。【選択図】  図９
2011078074.tif 000002
【特許請求の範囲】
【請求項１】
補助光源を有する撮像装置であって、
撮影条件に基づいて、前記補助光源における、発光のオン／オフを示す発光パターンを含む発光条件を決定する発光条件決定手段と、
前記発光条件に従って前記補助光源を発光させて被写体の撮影を行い、撮影画像を取得する発光撮影手段と、
前記発光撮影手段の撮影時におけるぶれ情報を取得するぶれ情報取得手段と、
前記ぶれ情報および前記発光条件に基づいて、前記撮影画像に対するぶれ補正を行う画像補正手段と、
を有することを特徴とする撮像装置。
【請求項２】
前記画像補正手段は、前記撮影画像に対して前記発光パターンに基づく点像分布関数のデコンボリューション演算を施すことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記発光条件決定手段は、前記発光条件としてさらに、前記発光パターンの開始から終了までを示す発光時間と、前記補助光源の光度と、を決定することを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
さらに、前記発光時間と前記発光パターンおよび該発光パターンよる最大光量、の複数の組を保持する保持手段を有し、
前記発光条件決定手段は、前記保持手段に保持された前記複数の組から１つを選択することによって、前記発光条件を決定することを特徴とする請求項３に記載の撮像装置。
【請求項５】
前記発光パターンは、その点像分布関数の周波数特性が非ゼロの値で構成されるように設定されていることを特徴とする請求項１乃至４のいずれか１項に記載の撮像装置。
【請求項６】
前記ぶれ情報取得手段は、前記発光撮影手段の撮影時における前記撮像装置の動き速度を前記ぶれ情報として取得することを特徴とする請求項１乃至５のいずれか１項に記載の撮像装置。
【請求項７】
さらに、前記発光撮影手段の撮影時における周囲光情報を取得する周囲光情報取得手段を有し、
前記画像補正手段は、前記ぶれ情報および前記発光条件、および前記周囲光情報に基づいて、前記撮影画像に対するぶれ補正を行うことを特徴とする請求項１乃至６のいずれか１項に記載の撮像装置。
【請求項８】
前記周囲光情報取得手段は、前記補助光源を発光させない場合の第１の被写体輝度と、前記補助光源を発光させた場合の第２の被写体輝度と、を前記周囲光情報として取得することを特徴とする請求項７に記載の撮像装置。
【請求項９】
前記画像補正手段は、前記周囲光情報に応じて前記発光パターンを補正し、該補正した発光パターンに基づいて前記撮影画像に対するぶれ補正を行うことを特徴とする請求項７または８に記載の撮像装置。
【請求項１０】
さらに、前記撮影画像の各画素に対し、前記補助光源による発光が届いている領域であるか否かを判定する領域判定手段を有し、
前記画像補正手段は、前記領域判定手段により前記撮影画像の補助光源による発光が届いている領域であると判定された画素に対してぶれ補正を行う
ことを特徴とする請求項１乃至９のいずれか１項に記載の撮像装置。
【請求項１１】
前記領域判定手段は、前記補助光源を発光させずに前記被写体を撮影した第１の領域判定用画像と、前記補助光源を発光させて前記被写体を撮影した第２の領域判定用画像と、における各画素の差分に基づいて、前記撮影画像の各画素に対し、前記補助光源による発光が届いている領域であるか否かを判定することを特徴とする請求項１０に記載の撮像装置。
【請求項１２】
さらに、予め定められた開閉パターンに従ったシャッターの開口制御によって撮影された画像に対し、前記ぶれ情報および前記開閉パターンに基づいたぶれ補正を行う開口制御補正手段、を有し、
前記撮影条件に基づいて、前記画像補正手段と前記開口制御補正手段のいずれによる補正を行うかを切り替えることを特徴とする請求項１乃至１１のいずれか１項に記載の撮像装置。
【請求項１３】
前記補助光源は、複数個の光源によって構成されることを特徴とする請求項１乃至１２のいずれか１項に記載の撮像装置。
【請求項１４】
補助光源を有する撮像装置の制御方法であって、
撮影条件に基づいて、前記補助光源における、発光のオン／オフを示す発光パターンを含む発光条件を決定する発光条件決定ステップと、
前記発光条件に従って前記補助光源を発光させて被写体の撮影を行い、撮影画像を取得する発光撮影ステップと、
前記発光撮影ステップでの撮影時における前記撮像装置のぶれ情報を取得するぶれ情報取得ステップと、
前記ぶれ情報および前記発光条件に基づいて、前記撮影画像に対するぶれ補正を行う画像補正ステップと、
を有することを特徴とする撮像装置の制御方法。
【請求項１５】
撮像装置が備えるコンピュータに、請求項１４に記載の撮像装置の制御方法の各ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、補助光源を有する撮像装置において、撮影して得られた画像に対するぶれ補正を行う撮像装置およびその制御方法に関する。
【背景技術】
【０００２】
近年、デジタルカメラ等の撮像装置における撮像素子の高解像度化に伴い、撮影時の手ぶれ補正処理が注目されている。手ぶれの補正方法としては、ハードウェアによる実現方法と、ソフトウェアによる実現方法がある。
【０００３】
まず、ハードウェアによる実現方法としては、デジタルカメラにジャイロセンサを搭載し、露光中はジャイロセンサから得た振動を打ち消すようにレンズや撮像素子を駆動して、手ぶれを低減する方法が考えられる。例えば、レンズ光学系を補正することによって手ぶれを低減させる実現方法が提案されている（例えば、特許文献１参照）。
【０００４】
また、ソフトウェアによる手ぶれ補正処理の実現方法としては、以下のようなCoded Exposureと呼ばれる技術が提案されている（例えば、特許文献２参照）。すなわち、１枚の画像を取得する際における露光時のシャッターの開閉を符号化し、そのシャッター開閉の情報を用いたデコンボリューション演算によって、手ぶれ、或いは被写体ぶれを補正する技術である。
【０００５】
また、デジタルカメラにおいては一般に、撮影環境が暗い場合には補助光源を用いて撮影を行う。しかしながら、補助光源の出力可能な光度が小さい場合には、被写体を撮影するのに最適な光量を得るためにシャッター秒時を長くする必要があり、その結果、手ぶれが発生しやすいという問題がある。この問題を解決するために、手ぶれの発生しないシャッター秒時で複数の低輝度画像を撮影し、得られた複数の画像をソフトウェアの処理によって合成することで、適正露光の画像を取得する方法が提案されている（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２１４６５７号公報
【特許文献２】米国特許出願公開２００７/０２５８７０６号明細書
【特許文献３】特開２００６−６６９９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記従来のハードウェアによる手ぶれ補正処理には、部品点数や製造コストの増加という問題がある。そのため、安価なデジタルカメラで同様の機能を実現する場合には、ソフトウェアによる補正処理を行うことが現実的である。
【０００８】
しかしながら、特許文献３で述べられているソフトウェアによる実現方法では、各低輝度画像自体のぶれは補正できないという課題がある。また、特許文献２には、補助光源の発光パターンを符号化して撮影し、ぶれ補正を行う方法が示されている。しかし、具体的な補助光源の制御方法については記載されていないため、ぶれ補正後の画像において白とびや露出アンダー等が発生し、適切な明るさの画像にならない場合がある。
【０００９】
本発明は上述した問題を解決するためになされたものであり、補助光源を用いた撮影画像に対するぶれ補正を行って適切な明るさの画像を取得する撮像装置およびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するための一手段として、本発明の撮像装置は以下の構成を備える。
【００１１】
すなわち、補助光源を有する撮像装置であって、撮影条件に基づいて、前記補助光源における、発光のオン／オフを示す発光パターンを含む発光条件を決定する発光条件決定手段と、前記発光条件に従って前記補助光源を発光させて被写体の撮影を行い、撮影画像を取得する発光撮影手段と、前記発光撮影手段の撮影時におけるぶれ情報を取得するぶれ情報取得手段と、前記ぶれ情報および前記発光条件に基づいて、前記撮影画像に対するぶれ補正を行う発光撮影画像補正手段と、を有することを特徴とする。
【発明の効果】
【００１２】
上記構成からなる本発明によれば、補助光源を用いた撮影画像に対するぶれ補正を行って適切な明るさの画像を取得することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明に係る各実施形態におけるデジタルカメラの外観を示す図、
【図２】本実施例のデジタルカメラにおける回路構成を示すブロック図、
【図３】本実施形態における符号化発光撮影によるぶれ補正処理を示すフローチャート、
【図４】本実施形態における補正関数の作成処理を示すフローチャート、
【図５】本実施形態におけるゼロ設定された配列の一例を示す図、
【図６】本実施形態における符号化発光パターンの１次元フーリエ変換例を示す図、
【図７】本実施形態における画像補正処理を示すフローチャート、
【図８】本実施形態における補助光源の一定発光パターン例およびその転象ぼけ関数を示す図、
【図９】本実施形態における補助光源の符号化発光パターン例およびその点像ぼけ関数を示す図、
【図１０】本実施形態における補助光源の発光条件決定処理を示すフローチャート、
【図１１】本実施形態における符号化発光パターンテーブルの一例を示す図、
【図１２】本実施形態における補助光源の光度決定例を示す図、
【図１３】本実施形態における補助光源の光度を連続的に増減させた符号化発光パターン例およびその光度決定例を示す図、
【図１４】第２実施形態における手ぶれ補正の切り替え処理を示すフローチャート、
【図１５】第３実施形態における手ぶれ補正の切り替え処理を示すフローチャート、
【図１６】第４実施形態における撮影切り替え処理を示すフローチャート、
【図１７】第５実施形態における複数個の補助光源を用いた符号化発光パターン例を示す図、
【図１８】第６実施形態における補助光源の光と周囲光の光の関係を示す図、
【図１９】第６実施形態における符号化発光撮影によるぶれ補正処理を示すフローチャート、
【図２０】第６実施形態における周囲光情報取得処理を示すフローチャート、
【図２１】第６実施形態における補正関数の作成処理を示すフローチャート、および周囲光を考慮した発光パターンの生成方法を示す図、
【図２２】第６実施形態の変形例における周囲光情報取得処理を示すフローチャート、および周囲光の時間変化を考慮した発光パターンの生成方法を示す図、、
【図２３】第７実施形態における符号化発光撮影によるぶれ補正処理を示すフローチャート、
【図２４】第７実施形態における領域判定用画像の撮影処理を示すフローチャート、および領域判定用画像撮影と符号化発光撮影とのタイミング例を示す図、
【図２５】第６実施形態と第７実施形態を組み合わせた場合のぶれ補正処理を示すフローチャート、である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施の形態は特許請求の範囲に関る本発明を限定するものではなく、また、本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１５】
●装置構成
まず、本発明の各実施形態に共通するデジタルカメラ（以下、単にカメラと称する）の構成について説明する。
【００１６】
図１において、(a)は本発明に係るカメラの外観を示す斜視図であり、(b)はその断面図である。
【００１７】
図１(a)において、カメラ本体１００の上部には、ファインダ観察用の接眼窓１１１、ＡＥ（自動露出）ロックボタン１１２、ＡＦの測距点選択ボタン１１３、撮影操作をするためのレリーズボタン１１４が設けられている。また、電子ダイアル４１１、撮影モード選択ダイヤル１１７、外部表示装置（ＯＬＣ）４０９、補助光源としての内蔵フラッシュ１１８も設けられている。電子ダイアル４１１は、他の操作ボタンと併用してカメラに数値を入力したり、撮影モードを切り換えたりするための多機能信号入力装置である。外部表示装置（ＯＬＣ）４０９は、液晶表示装置から構成され、シャッタースピード、絞り、撮影モード等の撮影条件や、他の情報を表示する。
【００１８】
また、カメラ本体１００の背面には、撮影された画像や各種設定画面などを表示するＬＣＤモニタ４１７、ＬＣＤモニタ４１７をオン／オフするためのモニタスイッチ１２１、十字配置スイッチ１１６、およびメニューボタン１２４が設けられている。十字配置スイッチ１１６は、上下左右に配された４つのボタンと、中央に配されたＳＥＴボタンを有し、ユーザがＬＣＤモニタ４１７に表示されるメニュー項目などの選択や実行をカメラに指示するために用いられる。メニューボタン１２４は、ＬＣＤモニタ４１７にカメラの各種設定を行うためのメニュー画面を表示させるためのボタンである。例えば、撮影モードを選択、設定する時は、このメニューボタン１２４を押した後、十字配置スイッチ１１６の上下左右のボタンを操作して希望のモードを選択し、希望のモードが選択された状態でＳＥＴボタンを押すことにより設定が完了する。このメニューボタン１２４と十字配置スイッチ１１６は、後述するＡＦモードの設定にも使用される。
【００１９】
ここで、ＬＣＤモニタ４１７は透過型液晶であるため、ＬＣＤモニタの駆動だけでは画像を視認することはできず、必ずその裏面に、図１(b)に示すようにバックライト照明４１６が必要である。このように、ＬＣＤモニタ４１７とバックライト照明４１６とによって、画像表示装置が構成される。
【００２０】
図１(b)に示すように、撮像光学系の撮影レンズ２００は、カメラ本体１００に対してレンズマウント２０２を介して着脱可能である。図１(b)において２０１は撮影光軸、２０３はクイックリターンミラーである。クイックリターンミラー２０３は撮影光路中に配置され、撮影レンズ２００からの被写体光をファインダ光学系に導く位置（図１(b)に示す位置、斜設位置と呼ぶ）と撮影光路外に退避する位置（退避位置と呼ぶ）との間で移動可能である。
【００２１】
図１(b)において、ピント板２０４上にはクイックリターンミラー２０３からファインダ光学系に導かれる被写体光が結像される。２０５はファインダの視認性を向上させるためのコンデンサレンズ、２０６はペンタゴナルダハプリズムであり、ピント板２０４およびコンデンサレンズ２０５を通った被写体光をファインダ観察用の接眼レンズ２０８および測光センサ２０７に導く。
【００２２】
シャッターは後幕２０９と先幕２１０で構成される。これら後幕２０９、先幕２１０の開放によって、後方に配置されている固体撮像素子である撮像素子４１８が必要時間だけ露光される。詳細は後述するが、撮像素子４１８から得られたデータは、Ａ／Ｄコンバータや画像処理回路等で処理された後、ぶれ補正回路において補助光源（内蔵フラッシュ１１８）の発光条件や動き情報を用いたぶれ補正処理が施され、外部記憶装置４１９へ出力される。
【００２３】
撮像素子４１８はプリント基板２１１に保持されており、このプリント基板２１１の後方には、もう一枚のプリント基板である表示基板２１５が配置されている。この表示基板２１５の反対側の面に、ＬＣＤモニタ４１７およびバックライト照明４１６が配置されている。
【００２４】
４１９は画像データを記憶する外部記憶装置、２１７は電池（携帯用電源）であり、これらはカメラ本体１００に対して着脱可能である。
【００２５】
図２は、本発明に係るカメラにおける回路構成を示すブロック図である。図２において、ＣＰＵとしてのマイクロコンピュータ４０２は、撮像素子（実施形態ではＣＣＤ）４１８が出力する画像データの処理や、ＬＣＤモニタ４１７の表示制御をはじめ、カメラ全体の動作を制御する。
【００２６】
スイッチ（ＳＷ１）４０５は、レリーズボタン１１４（図１(a)参照）の半押し状態でオンになり、これによってデジタルカメラは撮影準備状態になる。スイッチ（ＳＷ２）４０６は、レリーズボタン１１４が最後まで押された状態（全押し状態）でオンになり、これによってデジタルカメラは撮影動作を開始する。
【００２７】
レンズ制御回路４０７は、撮影レンズ２００（図１(b)参照）との通信およびＡＦ（オートフォーカス）時の撮影レンズ２００の駆動制御や絞り羽根の駆動制御を行う。
【００２８】
外部表示制御回路４０８は、外部表示装置（ＯＬＣ）４０９や、ファインダ内の表示装置（不図示）の制御を行う。スイッチセンス回路４１０は、カメラに設けられた電子ダイアル４１１を含む多数のスイッチ類による信号をマイクロコンピュータ４０２に伝える。
【００２９】
フラッシュ発光調光制御回路４１２は、本発明における補助光源としての内蔵フラッシュ１１８の制御ならびにＸ接点４１２ａを介して接地されている外部フラッシュの制御を行う。
【００３０】
測距（ＡＦ）回路４１３は、ＡＦのための被写体に対するデフォーカス量を検出する。測光（ＡＥ）回路４１４は、被写体の輝度を測定する。シャッター制御回路４１５はシャッターの制御を行い、撮像素子に対して適正な露光を行う。ＬＣＤモニタ４１７はバックライト照明４１６と対になって、上述したように画像表示装置を構成している。外部記憶装置４１９は例えばカメラ本体１００に着脱可能なハードディスクドライブや半導体メモリカード等である。
【００３１】
また、マイクロコンピュータ４０２には、Ａ／Ｄコンバータ４２３、バッファメモリ４２４、ＤＳＰ等からなる画像処理回路４２５、が接続されており、撮像素子４１８によって得られたデータを処理する。
【００３２】
マイクロコンピュータ４０２にはさらに、動き情報検出回路４２６、発光条件生成回路４２７の他、ぶれ補正回路４２８、補正関数生成回路４２９が接続されている。
【００３３】
そしてさらに、詳細は後述するが、実施形態に応じて撮影環境光量判定回路４３０、手ぶれ判定回路４３１、および領域判定回路４３２を接続することが可能である。
【００３４】
＜第１実施形態＞
以下、上記構成からなる本発明のカメラにおける第１実施形態について、詳細に説明する。本実施形態は、ぶれ補正回路４２８において符号化発光（以後Coded Flashと呼ぶ）撮影による手ぶれ補正を行うことを特徴とする。この符号化発光撮影による手ぶれ補正技術とは、符号化開口（Coded Exposure）撮影による手ぶれ補正技術を応用したものであり、簡単には以下のような技術である。すなわち、１枚の画像取得時の露光時間中に、補助光源の発光をオン／オフする所定の発光パターン（すなわち、発光のオン／オフを符号化したものに相当）による撮影を行う。そして、この符号化発光撮影により得られた撮影画像に対して、補助光源の発光パターン情報に基づく点像分布関数を用いたデコンボリューション演算を行うことで、ぶれ補正を行う。なお、本実施形態における補助光源とはすなわち内蔵フラッシュ１１８であるが、以下、単に「補助光源」と記載する。
【００３５】
以下、画像の縦方向のぶれを補正する場合を例にして、符号化発光撮影によるぶれ補正処理の概要を説明し、その後、詳細について説明する。
【００３６】
●符号化発光撮影によるぶれ補正処理の概要
まず、符号化発光撮影によるぶれ補正処理の概要について説明する。ここで、画素位置(x,y)における単位時間当たりの入射光の強度をｉ(x,y)、撮像装置（カメラ）の縦方向のぶれ速度をｖ、補助光源の発光時間をＴとする。すると、１回の撮影すなわち露光により、時刻ｔにｉ(x,y)をｖＴだけ移動させた情報がカメラに入射される。よって、撮像される画像データｉ_blur(x,y)は以下の式(1)で表現できる。
【００３７】
2011078074.tif 000003
【００３８】
式(1)において、ｈ(t)は補助光源の発光パターンを表す関数である。ｈ(t)は１または０の値を取り、１ならば補助光源が発光している状態を示し、０ならば補助光源が発光していない状態を示す。ここでは説明を簡単にするため、撮影時に縦方向（ｙ方向）へのぶれが発生した場合を例として、以下に説明する。ここで、実空間でのコンボリューション演算は、空間周波数上で積の形式として記述できる。したがって、撮像データの取得過程を表現する式(1)に対して、その両辺をフーリエ変換すると以下の式(2)を得る。
【００３９】
2011078074.tif 000004
【００４０】
式(2)において、Ｉ_blur(u,v)，Ｉ(u,v)，Ｈ(u)はそれぞれ、ｉ_blur(x,y)，ｉ(x,y)，ｈ(t)のフーリエ変換である。
【００４１】
次に、式(2)において、求めたい入射光の強度をi(x,y)のフーリエ変換Ｉ(u,v)について数式変換すると、以下の式(3)を得る。
【００４２】
2011078074.tif 000005
【００４３】
式(3)において、発光時間Ｔは既知のパラメータであり、カメラのぶれ速度ｖは、動き情報検出回路４２６に具備されるジャイロセンサから獲得できるとする。また、Ｉ_blur(u,v)およびＨ(u)は、撮像される画像データｉ_blur(x,y)および補助光源の発光パターンｈ(t)のフーリエ変換によって得ることが可能であるため、これらの関数も既知となる。したがって、式(3)の演算を実施することで、取得したい画像データｉ(x,y)のフーリエ変換Ｉ(u,v)を導くことができる。そして最後に、導出されたＩ(u,v)に対して逆フーリエ変換を施すことで、ぶれを含まない入力データｉ(x,y)を演算によって求めることが可能となる。
【００４４】
以上説明したように、式(3)に従ったデコンボリューション演算によって、ぶれを含む画像からぶれを取り除くことが原理的には可能である。しかしながら、補助光源の発光パターンによっては、ｈ(t)のフーリエ変換値Ｈ(u)がゼロの値を保持することがある。その場合、式(3)の右辺において分母がゼロとなる所謂「ゼロ割」が発生し、式(3)の解であるＩ(u,v)を正しく求めることができず、撮像画像におけるぶれ補正が不十分となる。以下、「ゼロ割」に起因してぶれ補正が不十分となる場合について、一例を挙げて説明する。
【００４５】
図８(a)は、通常の補助光源の一定発光パターンを例示したものであり、ｈ(t)＝１は補助光源が発光している状態を表し、ｈ(t)＝０は補助光源が発光していない状態を表す。図８(a)で示される補助光源の一定発光パターンは、以下のように数式で表現される。
【００４６】
ｈ(t)＝１            (０≦ｔ≦Ｔ）
ｈ(t)＝０            (上記以外の場合）
図８(b)は、図８(a)に示す補助光源の一定発光パターンｈ(t)をフーリエ変換し、その強度を周波数毎にプロットしたものである。これが、上述したデコンボリューションで用いる、画像上のぼけ方を示す点像分布関数となる。図８(b)によれば、ＰＳＦの強度が０となる周波数が周期的に出現していることが確認でき、その周波数に該当する情報が画像取得時に失われてしまっていることを示している。このような事態が生じると、デコンボリューション後の補正画像において不要な波形模様（リンギング）が現れてしまい、画質劣化を誘発することが知られている。
【００４７】
本実施形態ではこのような画質劣化を防ぐために、１枚の露光時間内で補助光源の発光オン／オフをパターン化、すなわち符号化することで、補助光源の発光パターンｈ(t)のＰＳＦの周波数特性が非ゼロの値で構成されるように設定する。ここで図９(a)に、補助光源の発光パターンを符号化した例を示す。同図によれば符号化発光パターンｈ(t)は、補助光源の発光時間Ｔ内において、光源オフを示す０または光源オンを示す１の値による所定パターンとなっていることを示している。図９(b)は、図９(a)で示される補助光源の発光パターンｈ(t)をフーリエ変換し、その強度を周波数毎にプロットしたＰＳＦである。図９(b)によれば、ＰＳＦが全周波数で非ゼロの値によって構成されていることが分かる。この場合、該ＰＳＦは全ての周波数帯域において画像情報を得ることができるため、式(3)を用いた好適な画像補正が可能となる。
【００４８】
本実施形態では以上説明したように、補助光源の発光パターンを符号化して撮影した画像について、その補助光源の発光パターンとぶれ情報とに基づいて、ぶれ補正処理を行う。なお上記例では縦方向（垂直方向）のぶれ補正処理を行う例について説明したが、本発明の適用範囲は垂直または水平方向のシフトぶれ補正に限られるものではない。例えば、上記垂直方向におけるぶれ補正処理を極座標に変換して行うことにより、回転方向におけるぶれ補正も可能である。
【００４９】
●符号化発光撮影によるぶれ補正の詳細
以下、本実施形態における符号化発光撮影によるぶれ補正処理について、図３のフローチャートを用いて詳細に説明する。
【００５０】
まず、撮影者がレリーズボタン１１４（図１(a)参照）を半押しすると、図２に示す発光条件生成回路４２７において、ぶれ補正後の画像が適切な明るさとなるように、補助光源の発光条件を決定する（Ｓ３０１）。ここで発光条件とは、補助光源の符号化発光パターン、補助光源の発光時間、補助光源の発光光度、である。この発光条件決定処理の詳細については後述する。
【００５１】
次に、撮影者がレリーズボタン１１４を全押しすると、図２に示すフラッシュ発光調光制御回路４１２において補助光源の発光制御を行い、Ｓ３０１で決定した発光条件による撮影が行われる（Ｓ３０２）。ここで得られた撮影画像は、バッファメモリ４２４に格納される。
【００５２】
次に、補正関数生成回路４２９において、Ｓ３０１で決定した補助光源の符号化発光条件に基づいて補正関数を生成する（Ｓ３０３）。この補正関数生成処理の詳細については後述する。
【００５３】
次に、撮影時に動き情報検出回路４２６において検出したぶれ情報を取得する（Ｓ３０４）。なお、このぶれ情報取得処理において検出されるぶれ情報は、撮影時におけるぶれ速度ｖである。
【００５４】
そして最後にぶれ補正回路４２８において、Ｓ３０２で撮影された画像を、Ｓ３０３で作成した補正関数とＳ３０４で取得したぶれ情報を用いて補正する（Ｓ３０５）。この画像補正処理の詳細については後述する。
【００５５】
以下、上記Ｓ３０１、Ｓ３０３、Ｓ３０５のそれぞれにおける処理について、詳細に説明する。
【００５６】
●補助光源の発光条件決定処理（Ｓ３０１）
上述したように、補助光源の発光パターンを符号化して画像を撮影し、得られた撮影画像を該発光パターン情報を用いてデコンボリューション演算することによって、ぶれ補正を行うことが可能である。しかしながら、例えば図９(a)に示すように補助光源の符号化発光パターンによる撮影（符号化発光撮影）を行う場合、図８(a)に示すように補助光源を一定発光させた撮影と比べて、全体としての光量が減少してしまう。したがって符号化発光撮影を行う場合には、撮影時の補助光源の発光条件（符号化発光パターン、発光時間、発光光度等）を適切に決定しなければ、ぶれ補正後の画像が適切な明るさとはならない。そこで本実施形態では、撮影条件（撮影環境の照度、被写体の輝度、カメラと被写体の距離、絞り値、ＩＳＯ感度、シャッタースピード等）から、撮影時における補助光源の適切な発光条件を決定する。以下、上記Ｓ３０１における発光条件の決定処理について、図１０のフローチャートを用いて説明する。
【００５７】
まず、撮影条件に基づき、撮影に必要な光量Ｑ[cd・sec]を算出する（Ｓ１００１）。光量Ｑは、撮影者が指定した絞り値Ｆ、ＩＳＯ感度Ｓ、測距（ＡＦ）回路４１３で求めた被写体までの距離Ｄから、以下の式(4)，(5)および(6)を用いて算出する。なお、式(4)，(5)においてＧnoはＩＳＯ感度Ｓのときのガイドナンバーである。
【００５８】
Ｇno＝Ｆ×Ｄ×√(100／Ｓ)                        ・・・(4)
Ｇno＝0.3×√(4π×0.0045×Ｓ×Ｑ)                ・・・(5)
式(4)，(5)より
Ｑ＝{(Ｆ2×Ｄ2)／Ｓ2}×{107/(162π)}            ・・・(6)
なお、撮影に必要な光量Ｑは、撮影環境の照度や被写体の輝度（ＴＴＬ測光値）から算出することも可能である。
【００５９】
次に、得られた光量Ｑに基づいて、撮影するのに適切な補助光源の発光時間Ｔおよび発光パターンｈ(t)を決定する（Ｓ１００２）。この発光時間Ｔおよび発光パターンｈ(t)の決定は、後述する方法によって予め作成されている、符号化発光パターンテーブルを参照して行われる。図１１に、この符号化発光パターンテーブルの例を示す。同図に示されるように符号化発光パターンテーブルは、発光時間Ｔごとに、その符号化発光パターンｈ(t)および最大光量Ｑmaxの情報を有している。本実施形態では、このテーブルを発光時間Ｔが短いほうから順次参照して、最大光量Ｑmaxが、Ｓ１００１で求めた撮影に必要な光量Ｑ以上（Ｑ≦Ｑmax）となる発光時間Ｔおよびその符号化発光パターンｈ(t)を採用する。ここでＱmaxは、発光時間Ｔにおける符号化発光パターンによって出力され得る最大の光量である。例えばＱmaxT2＜Ｑ≦ＱmaxT3である場合、補助光源の発光時間Ｔは、Ｔ＝Ｔ3として決定する。なお、撮影に必要な光量ＱがいずれのＱmaxよりも大きい（Ｑ＞Ｑmax）場合には、撮影が不可能であるとして相応のエラーメッセージを出力し、処理を終了する。
【００６０】
次に、撮影するのに適切な補助光源の光度Ｉ[cd]を、上記Ｓ１００２で決定された、撮影に必要な光量Ｑよりも大きい最大光量Ｑmaxを用いて、以下の式(7)を用いて決定する（Ｓ１００３）。なお、式(7)においてＩmaxは、補助光源が出力し得る最大の光度である。
【００６１】
Ｉ＝Ｉmax×Ｑ／Ｑmax                  ・・・(7)
例えば、ＱmaxT2＜Ｑ≦ＱmaxT3である場合、補助光源の光度Ｉは、式(7)よりI＝Ｉmax×Ｑ／ＱmaxT3と決定される。これにより図１２に示すように、補助光源の光度Ｉが、最大光度Ｉmaxよりも小さい、撮影に最適な値となるように決定される。
【００６２】
本実施形態では以上のように、撮影時の補助光源の発光条件として、補助光源の符号化発光パターンｈ(t)、補助光源の発光時間Ｔ、補助光源の発光光度Ｉが決定される。
【００６３】
●符号化発光パターンテーブルの作成処理
ここで、図１１に示す発光時間Ｔ毎の符号化発光パターンテーブルの作成処理について説明する。まず、補助光源の発光時間Ｔ毎に、図９(a)で示すような符号化発光パターンｈ(t)を生成する。この符号化発光パターンｈ(t)は、フーリエ変換すると図９(b)に示すように全周波数で非ゼロの値によってＰＳＦが形成されるものとなっている。
【００６４】
次に、生成した発光時間Ｔ毎の各符号化発光パターンｈ(t)における最大光量Ｑmaxを算出する。ここで最大光量Ｑmaxとは、発光時間Ｔにおける符号化発光パターンｈ(t)が出力し得る最大の光量を表している。補助光源が出力し得る最大の光度をＩmax[cd]とすると、発光時間Ｔの符号化発光パターンｈ(t)で得られる最大光量Ｑmaxは、該パターン内における発光オンの総計として、すなわち以下の式(8)，(9)によって算出される。
【００６５】
2011078074.tif 000006
【００６６】
Ｑmax＝Ｉmax×Ｑcoded                    ・・・(9)
以上のように、補助光源の発光時間Ｔ毎に、符号化発光パターンｈ(t)とその最大光量Ｑmaxが算出されると、これらを組として、複数組を図１１に示すようなテーブルとして保存する。なお、図１１に示すテーブルにおいては、発光時間Ｔが小さい順（Ｔ1＜Ｔ2＜Ｔ3...）に並べられ、それに応じて最大光量Ｑmaxも小さい順（ＱmaxT1＜ＱmaxT2＜ＱmaxT3・・・）に並ぶ。
【００６７】
なお本実施形態では、予め発光時間Ｔ毎の符号化発光パターンのテーブルを保持しておき、該テーブルを参照することで発光時間Ｔを決定する例を示したが、撮影時にＱ≦Ｑmaxとなる発光時間Ｔの符号化発光パターンを生成し、利用することも可能である。
【００６８】
●補正関数の生成処理（Ｓ３０３）
以下、上記Ｓ３０３における補正関数の生成処理について、図４のフローチャートを用いて説明する。まず、Ｓ３０１で決定された補助光源の符号化発光パターンｈ(t)を入力する（Ｓ４０１）。ここで、ｔは時刻を表す。補助光源の発光パターンｈ(t)は、１または０の値を取る関数であり、１ならば補助光源が発光している状態を示し、０ならば補助光源が発光していない状態を示す。以下、補助光源の発光時間ＴがＴ＝15で構成される、以下のような補助光源の符号化発光パターンを例として説明する。
【００６９】
ｈ(t)＝［1,0,0,0,1,0,0,1,1,0,1,0,1,1,1］
補助光源の符号化発光パターンｈ(t)が入力されると、予め規定される撮像画像のサイズ（本実施形態ではＮ×Ｍ画素）を参照して、２次元配列からなる符号化発光パターンｈ'(x,y)に対するゼロ設定を行う（Ｓ４０２）。具体的には、１次元の符号化発光パターンｈ(t)を用いて、画素位置(x,y)における配列ｈ'(x,y)を以下のように作成する。
【００７０】
ｈ'(0,y)＝ｈ(y)        (０≦ｙ≦Ｔ）
ｈ'(x,y)＝０            (上記以外の場合)
なお、画素位置(x,y)は０≦ｘ＜Ｎ，０≦ｙ＜Ｍの範囲で変化し、本実施形態では、撮像画像のサイズをＮ×Ｍ＝２５６×２５６画素と設定する。ここで図５に、上式で記述される２次元配列ｈ'(x,y)を模式的に示す。図５においては、左上端点の原点から縦方向、すなわち０≦ｙ≦Ｔの範囲にｈ(t)すなわち０か１が格納され、その他の配列には一様に０が格納されている。なお本実施形態では、縦方向（ｙ方向）へのぶれが含まれる画像に対する補正処理についての説明を行っているため、図５に示すように、２次元配列ｈ'(x,y)の縦方向（ｙ方向）の一部のみに対し、ゼロ以外の値を設定可能とする。同様に、横方向（ｘ方向）へのぶれが含まれる画像に対する補正処理を行う際には、２次元配列ｈ'(x,y)の横方向（ｘ方向）の一部のみに対し、ゼロ以外の値を設定可能とすれば良い。
【００７１】
次に、ゼロ設定された２次元の符号化発光パターンｈ'(x,y)に対して、以下の式(10)に示すような２次元のフーリエ変換を行う（Ｓ４０３）。
【００７２】
Ｈ(u,v)＝ＦＦＴ2(ｈ'(x,y))                ・・・(10)
式(10)において、ＦＦＴ2()は２次元フーリエ変換を行う関数である。また、ｕ，ｖは周波数を示し、−１≦ｕ≦１、−１≦ｖ≦１に正規化されているものとする。ここで図６に、２次元の符号化発光パターンｈ'(x,y)のうち、１次元の符号化発光パターンｈ(t)が格納されている箇所であるｈ'(0,y)に対し、１次元フーリエ変換を施した結果Ｈ'(u)を示す。図６において、横軸は正の周波数ｕ（０≦ｕ≦１）である。また縦軸は、各周波数の応答値の対数表記であり、各応答値は直流成分(ｕ＝０）の値で正規化されている。
【００７３】
そして最後に、２次元フーリエ変換によって得られた補助光源の符号化発光パターンｈ'(x,y)の２次元フーリエ変換結果Ｈ(u,v)と、補助光源の発光時間Ｔとを補正関数として出力する（Ｓ４０４）。これにより、補正関数の生成処理が完了する。
【００７４】
●画像補正処理（Ｓ３０５）
以下、上記Ｓ３０５における画像補正処理について、図７のフローチャートを用いて説明する。まず、Ｓ３０２で撮影され、バッファメモリ４２４に蓄積された撮像画像ｉ_blur(x,y)が、ぶれ補正回路４２８に入力される（Ｓ７０１）。ここで、本実施形態で扱う撮像画像のサイズは、上述した通りＮ×Ｍ画素であるとする。次に、動き情報検出回路４２６で得られたカメラの撮影時のぶれ情報（カメラのぶれ速度ｖ）が、ぶれ補正回路４２８に入力される（Ｓ７０２）。続いて、Ｓ３０３において補正関数生成回路４２９で作成された補正関数が、ぶれ補正回路４２８に入力される（Ｓ７０３）。
【００７５】
次にぶれ補正回路４２８では、撮影画像ｉ_blur(x,y)に対して、以下の式(11)に示すように２次元のフーリエ変換処理を行う（Ｓ７０４）。
【００７６】
Ｉ_blur(u,v)＝ＦＦＴ2(i_blur(x,y))        ・・・(11)
次に、フーリエ変換画像Ｉ_blur(u,v)、カメラのぶれ速度ｖ、補助光源の符号化発光パターンの２次元フーリエ変換Ｈ(u,v)と補助光源の発光時間Ｔを用いて、デコンボリューション処理を行う（Ｓ７０５）。具体的には、以下の式(12)によるデコンボリューションを行う。
【００７７】
2011078074.tif 000007
【００７８】
ここで、式(12)により得られるＩ(u,v)は、ぶれを含まない画像ｉ(x,y)の２次元フーリエ変換結果に相当するため、Ｉ(u,v)を下式(13)のように定義することが可能である。
【００７９】
Ｉ(u,v)＝ＦＦＴ2(ｉ(x,y))                  ・・・(13)
そこで、式(13)におけるＩ(u,v)に対して、下式(14)に示す２次元の逆フーリエ変換処理を行う（Ｓ７０６）。なお、式(14)においてＩＦＦＴ2()は２次元の逆フーリエ変換を行う関数である。
【００８０】
ｉ(x,y)＝ＩＦＦＴ2(Ｉ(u,v))                ・・・(14)
最後に、逆フーリエ変換の完了した画像ｉ(x,y)を補正画像として出力する（Ｓ７０７）。これにより、画像補正処理が完了する。
【００８１】
なお本実施形態においては、式(12)で示したように周波数空間上での除算によるデコンボリューションを行う例を示したが、その他のデコンボリューション処理を行っても構わない。例えば、Lucy-Richardsonのアルゴリズムや、Wienerフィルタを用いたアルゴリズム、また、正則化フィルタを用いたアルゴリズム、等を適用しても良い。
【００８２】
以上説明したように本実施形態によれば、補助光源の発光条件を適切に決定し、該発光条件下での撮影によって得られた撮影画像に対し、補助光源の発光条件とカメラのぶれ情報とに基づくぶれ補正を行う。これにより、手ぶれを補正した適切な明るさの撮影画像を得ることができる。
【００８３】
なお本実施形態では、図９(a)で示すような[0,1]で表現される符号化発光パターンｈ(t)を用いる例を示したが、図１３(a)に示すように光度を連続的に増減させた符号化発光パターンｈ(t)用いても同様の効果を得ることができる。図１３に示す符号化発光パターンｈ(t)についても、そのフーリエ変換結果（図１３(b)）は図９(b)と同様となり、全周波数で非ゼロの値によるＰＳＦが形成される。なおこの場合には図１３(b)に示すように、発光周期Ｔ、光度Ｉ×ｈ(t)で補助光源を発光させて画像を撮影する。このような、光度が連続的に変化する符号化発光パターンを用いた撮影は、補助光源として例えば白色ＬＥＤのように光度を制御しやすい光源を用いる場合に有効である。
【００８４】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。上述した第１実施形態では、補助光源の発光条件を適切に決定して撮影し、得られた撮影画像に対し、補助光源の発光条件とぶれ情報を用いたぶれ補正を施すことによって、ぶれ補正後の画像が最適な明るさとなる例を示した。しかしながら、撮影環境が十分に明るい場合には、第１実施形態で示した符号化発光による手ぶれ補正を行っても十分な補正効果は得られない。そこで第２本実施形態においては、撮影環境の明るさを判定して、符号化開口撮影による手ぶれ補正処理と、符号化発光撮影による手ぶれ補正処理とを切り替えることを特徴とする。なお、第２実施形態におけるデジタルカメラの構成は上述した第１実施形態と同様であるため、同一符号を参照するとして説明を省略する。
【００８５】
第２実施形態における手ぶれ補正の切り替え処理について、図１４のフローチャートを用いて説明する。まず、測光センサ２０７を用いて撮影環境の光量を測定する（Ｓ１４０１）。次に、撮影環境光量判定回路４３０において、Ｓ１４０１で測定した撮影環境の光量が、撮影するのに十分な光量であるか否かを判定する（Ｓ１４０２）。この判定は、カメラで設定された絞り値、シャッタースピード、ＩＳＯ感度等に基づいて行われる。すなわち、上述した第１実施形態におけるＳ３０１と同様に、上記各パラメータに基づいて撮影に必要な光量Ｑを算出し、Ｓ１４０１で測定した光量と比較すれば良い。
【００８６】
Ｓ１４０２において、撮影するのに十分な光量であると判定された場合には、Ｓ１４０３の符号化開口撮影による手ぶれ補正処理に進む。ここで符号化開口撮影による手ぶれ補正処理とは、上述した特許文献２に記載されているようなCoded Exposureによる補正処理である。具体的には、まず１枚の画像を取得する際における露光時のシャッターの開閉を符号化した開閉パターンを作成し、該開閉パターンに従ったシャッターの開口制御によって画像を撮影する。そして該撮影画像に対し、該開閉パターンを用いたデコンボリューション演算によって手ぶれを補正する。この符号化開口撮影による手ぶれ補正処理（開口制御補正処理）においては、補助光源による発光は行われない。
【００８７】
一方、Ｓ１４０２において、撮影するのに十分な光量でないと判定された場合には、Ｓ１４０４の補助光源の符号化発光撮影による手ぶれ補正処理に進む。この符号化発光撮影による手ぶれ補正処理とは、上述した第１実施形態に示した手ぶれ補正処理である。
【００８８】
以上説明したように第２実施形態によれば、撮影環境の明るさに基づき、符号化開口撮影による手ぶれ補正処理と、補助光源の符号化発光撮影による手ぶれ補正処理とを切り替える。これにより、撮影環境が明るい場合であっても暗い場合であっても、適切に手ぶれを補正した画像を取得することができる。
【００８９】
＜第３実施形態＞
以下、本発明に係る第３実施形態について説明する。第３実施形態においては、ユーザによるモード選択結果に基づいて、符号化開口撮影による手ぶれ補正モードと、補助光源の符号化発光撮影による手ぶれ補正モードとを切り替えることを特徴とする。第３実施形態におけるデジタルカメラの構成も上述した第１実施形態と同様であるため、同一符号を参照するとして説明を省略する。
【００９０】
第３実施形態における手ぶれ補正の切り替え処理について、図１５のフローチャートを用いて説明する。まず、ユーザが撮影モード選択ダイヤル１１７または電子ダイアル４１１によって、符号化開口撮影による手ぶれ補正モードと、補助光源の符号化発光撮影による手ぶれ補正モードとのいずれかを選択する（Ｓ１５０１）。
【００９１】
そして、符号化開口撮影による手ぶれ補正モード（開口制御補正）が選択されたか否かを判定する（Ｓ１５０２）。符号化開口撮影による手ぶれ補正モードが選択された場合には、上述した特許文献２に記載されているようなCoded Exposureによる、補助光源の発光無しでの補正処理を行う（Ｓ１５０３）。一方、符号化発光撮影による手ぶれ補正モードが選択された場合には、上述した第１実施形態に示した補助光源の発光撮影による補正処理を行う（Ｓ１５０４）。
【００９２】
以上説明したように第３実施形態によれば、ユーザによるモード選択結果に基づいて、符号化開口撮影による手ぶれ補正モードと、補助光源の符号化発光撮影による手ぶれ補正モードとを切り替える。これにより、ユーザが任意に手ぶれ補正モードを切り替えることができる。
【００９３】
＜第４実施形態＞
以下、本発明に係る第４実施形態について説明する。第４実施形態においては、撮影時のカメラ設定に応じて、手ぶれ補正無しのフラッシュ撮影と、補助光源の符号化発光撮影による手ぶれ補正処理とを切り替えることを特徴とする。第４実施形態におけるデジタルカメラの構成も上述した第１実施形態と同様であるため、同一符号を参照するとして説明を省略する。
【００９４】
第４実施形態における撮影切り替え処理について、図１６のフローチャートを用いて説明する。まず、手ぶれ判定回路４３１において、撮影時のカメラ設定に基づき、手ぶれが発生しにくいか否かを判定する（Ｓ１６０１）。手ぶれが発生しにくいと判定さればＳ１６０２に進み、手ぶれ補正無しのフラッシュ撮影を行う。一方、手ぶれが発生しやすいと判定されればＳ１６０３に進み、上述した第１実施形態で示した、補助光源の符号化発光撮影による手ぶれ補正処理を行う。
【００９５】
Ｓ１６０１における判定方法としては例えば、設定されているシャッタースピードが「焦点距離分の１」よりも速ければ手ぶれが発生しにくく、遅ければ手ぶれが発生しやすい、と判断する方法がある。また、カメラが三脚に設置されているか否かを検知して、手ぶれが発生しにくいか否かを判定することも可能である。
【００９６】
以上説明したように第４実施形態によれば、撮影時のカメラ設定に応じて、手ぶれ補正無しのフラッシュ撮影と、補助光源の符号化発光撮影による手ぶれ補正処理とを切り替える。これにより、手ぶれが発生しにくいようなカメラ設定時には、手ぶれ補正無しのフラッシュ撮影を行うことで符号化発光による単位時間あたりの発光量の損失を防ぐことができる。また、手ぶれが発生しやすいようなカメラ設定時においては、手ぶれを補正した画像を取得することができる。
【００９７】
なお、上述した第２乃至第４実施形態は、それぞれを組み合わせて実現することも可能である。例えば、カメラ設定やユーザ指示に応じて、符号化発光撮影による手ぶれ補正と、符号化開口撮影による手ぶれ補正、および手ぶれ補正無しの通常フラッシュ撮影、のいずれかを適宜切り替える、等の制御も可能である。
【００９８】
＜第５実施形態＞
以下、本発明に係る第５実施形態について説明する。上述した第１実施形態においては一個の補助光源（内蔵フラッシュ１１８）を用いる例を示したが、第５実施形態では、複数個の補助光源を用いて、符号化発光パターンを生成することを特徴とする。
【００９９】
第５実施形態における符号化発光パターンとしては、独立に制御された、同等の機能を有するｎ個の光源をτ/ｎずつずらして発光させる。ここで、τは光源自体の最小パルス幅[sec]である。図１７に、第５実施形態における符号化発光パターンの一例を示す。同図に示す例では、独立に制御された３個の光源１〜３を、τ／３ずつずらして発光させている。この３個の光源それぞれの発光により、全体として同図の最上段に示すような発光パターンが得られる。
【０１００】
以上説明したように第５実施形態によれば、独立に制御された、同等の機能を有するｎ個の光源をτ/ｎずつずらして発光させることにより、符号化発光パターンの最小パルス幅を小さくすることが可能となる。また、１個では光度を変更できない光源を使用する場合においても、この光源をｎ個用いることによって、ｎ＋１階調で符号化発光パターンを制御することが可能となり、また、出力できる最大光量はｎ倍となる。したがって、より柔軟な補正制御が可能となる。
【０１０１】
＜第６実施形態＞
以下、本発明に係る第６実施形態について説明する。上述した第１実施形態では、撮影画像に対するぶれ補正を、補助光源の発光条件とぶれ情報を用いて行う例を示した。しかしながら、図１８(a)に示すように符号化発光撮影時に周囲光が存在する場合（例えば、夕方の薄暗い中での撮影など）には、上述した第１実施形態で示した符号化発光による手ぶれ補正を行なうと、画像劣化が発生してしまうことがある。これは、撮影時に実際に被写体が受ける光が、補助光源の光と周囲光とが合成されたものであることに起因する。例えば、補助光源が上述した第１実施形態で図９(a)に示した符号化発光パターンｈ(t)による発光を行った場合、被写体が実際に受ける光は図１８(b)に示すように、補助光源の光と周囲光とが合成されたものとなる。このように、符号化発光撮影時に周囲光が存在する場合には、補助光源の光と実際に被写体が受ける光とで差異が発生するため、第１実施形態で示したぶれ補正では、期待するような補正効果が得られない。
【０１０２】
そこで第６実施形態においては、第１実施形態と同様に補助光源の発光条件を決定して撮影すると同時に、周囲光情報を取得し、得られた撮影画像に対するぶれ補正を、補助光源の発光条件とぶれ情報に加え、該周囲光情報を用いて行うことを特徴とする。なお、第６実施形態におけるデジタルカメラの構成は上述した第１実施形態と同様であるため、同一符号を参照するとして説明を省略する。
【０１０３】
以下、第６実施形態における符号化発光撮影によるぶれ補正処理について、図１９のフローチャートを用いて説明する。図１９のフローチャートにおいて、Ｓ１９０１とＳ１９０２以外の処理については上述した第１実施形態の図３と同様であるため、同一ステップ番号を参照するとして説明を省略する。
【０１０４】
まず、Ｓ３０１で補助光源の発光条件が決定されると、次にＳ１９０１で周囲光情報を取得する。ここで、この周囲光情報の取得処理について図２０のフローチャートを用いて説明する。まず、補助光源を発光させずに、測光センサ２０７を用いて第１の被写体輝度Br1を取得する（Ｓ２００１）。次に、フラッシュ発光調光制御回路４１２において補助光源の発光制御を行い、補助光源を予備発光させて、測光センサ２０７を用いて第２の被写体輝度Br2を取得する（Ｓ２００２）。ここでの補助光源の予備発光としては、Ｓ３０１で決定した光度Ｉで発光するものとする。
【０１０５】
図１９に戻り、Ｓ３０２で符号化発光撮影が行われると、次にＳ１９０２で、Ｓ３０１で決定した発光条件とＳ１９０１で取得した周囲光情報（Br1，Br2）とに基づいて、補正関数を生成する。
【０１０６】
ここで、第６実施形態における補正関数生成処理について図２１(a)のフローチャートを用いて説明する。図２１(a)のフローチャートにおいて、Ｓ２１０１以外の処理については上述した第１実施形態の図４と同様であるため、同一ステップ番号を参照するとして説明を省略する。
【０１０７】
まず、Ｓ４０１で補助光源の符号化発光パターンｈ(t)を入力するが、ここでは第１実施形態と同様に、補助光源の発光時間ＴがＴ＝15で構成される、以下のような補助光源の符号化発光パターンを例として説明する。
【０１０８】
ｈ(t)＝［1,0,0,0,1,0,0,1,1,0,1,0,1,1,1］
次に、周囲光を考慮した発光パターンを生成する（Ｓ２１０１）。具体的には、上記Ｓ１９０１で取得した周囲光情報Br1とBr2を用いて、符号化発光パターンｈ(t)を下式により修正して、ぶれ補正に用いられる新たな符号化発光パターンｈ'(t)を作成する。
【０１０９】
ｈ'(t)＝Br1／Br2＋(Br2−Br1)×ｈ(t)／Br2      ・・・(15)
図２１(b)は、上式(15)に基づいて作成されたぶれ補正用符号化発光パターンｈ'(t)を模式的に示したものである。図２１(b)によれば、ぶれ補正用符号化発光パターンｈ'(t)は、符号化発光パターンｈ(t)における０値（発光オフ）に対し、周囲光情報Br1に応じた固定値が反映されたパターンとなっていることが分かる。
【０１１０】
以上のようにぶれ補正用符号化発光パターンｈ'(t)が作成されると、以降は第１実施形態と同様に、該ぶれ補正用符号化発光パターンｈ'(t)に基づいて、Ｓ４０２〜Ｓ４０４におけるゼロ設定、フーリエ変換、補正関数出力、の各処理を行う。これにより、ぶれ補正用符号化発光パターンｈ'(t)に基づく補正関数が作成され、Ｓ３０５で撮像画像に対し、該補正関数によるぶれ補正、すなわち撮影時の周囲光を考慮したぶれ補正が施される。
【０１１１】
以上説明したように第６実施形態によれば、補助光源の発光条件を撮影時の周囲光情報に基づいて補正し、該補正された発光条件に応じてぶれ補正関数を作成することにより、符号化発光撮影時に周囲光がある場合にも、適切に手ぶれ補正した画像が得られる。
【０１１２】
なお、第６実施形態では説明を簡単にするために、予備発光時の光度を符号化発光撮影時と同じ光度Ｉとする例を示したが、これとは異なる光度Ｉ'を適用することも可能である。この場合、予備発光時の光度Ｉ'と符号化発光撮影時の光度Ｉの比を用いて、Ｓ２１０１で符号化発光パターンｈ(t)をさらに修正すればよい。
【０１１３】
●変形例
なお、第６実施形態では周囲光の照度が一定である場合を例として説明を行ったが、例えば商用電源を使用した一般的な蛍光灯下では、照度が変動する。このような照度の変動に対応するために、第６実施形態の変形例として以下のような方法が考えられる。
【０１１４】
すなわちこの場合、上述した周囲光情報の取得処理（Ｓ１９０１）と、周囲光を考慮した発光パターンの生成処理（Ｓ２１０１）とを、以下のように変更する。
【０１１５】
まず、Ｓ１９０１の周囲光情報取得処理の変形例について、図２２(a)のフローチャートを用いて説明する。まず、補助光源を発光させずに、測光センサ２０７を用いて第１び被写体輝度の時間変化Br1(t)を取得する（Ｓ２２０１）。次に、フラッシュ発光調光制御回路４１２において補助光源の発光制御を行い、補助光源を連続予備発光させて、測光センサ２０７を用いて第２の被写体輝度の時間変化Br2(t)を取得する（Ｓ２２０２）。
【０１１６】
次に、Ｓ２１０１における周囲光を考慮した発光パターン生成処理の変形例について説明する。まず、上記図２２(a)に示す処理によって取得したBr1(t)とBr2(t)から、図２２(b)に示すように、それぞれの最大値Br1Max，Br2Maxを算出する。そして、以上のようにして求めた、Br1(t)，Br1Max，Br2Maxを用いて、符号化発光パターンｈ(t)を下式により修正することで、ぶれ補正に用いられる新たな符号化発光パターンｈ'(t)を作成する。なお、ここで必要となるBr1(t)の位相情報については、符号化発光撮影時に取得しておけば良い。
【０１１７】
ｈ'(t)＝Br1(t)／Br2Max＋(Br2Max−Br1Max)×ｈ(t)／Br2Max      ・・・(16)
図２２(c)は、上式(16)に基づいて作成されたぶれ補正用符号化発光パターンｈ'(t)を模式的に示したものである。図２２(c)によれば、このぶれ補正用符号化発光パターンｈ'(t)は、符号化発光パターンｈ(t)に対し、周囲光の時間変化Br1(t)が反映されたパターンとなっていることが分かる。
【０１１８】
このように、周囲光情報の時間変化を考慮して符号化発光パターンｈ(t)を補正することによって、周囲光の照度が変動する場合においても適切に手ぶれを補正した画像を取得することができる。
【０１１９】
なお、第６実施形態またはその変形例を、上述した第２〜第５実施形態に組み合わせて実行することも可能である。
【０１２０】
＜第７実施形態＞
以下、本発明に係る第７実施形態について説明する。上述した第１実施形態では、撮影画像に対するぶれ補正を、補助光源の発光条件とぶれ情報により作成した補正関数に基づいて行う例を示した。しかしながら、撮影画像の中に「補助光源の光が届かない領域」が存在した場合には、上述した第１実施形態のように撮影画像全体に対して一様な補正関数を適用すると、画像劣化が起こってしまう場合がある。これは、被写体における「補助光源の光が届かない領域」は周囲光の光だけしか受けていないため、撮影画像における該領域については符号化されておらず、補助光源の符号化発光条件に基づいて生成した補正関数は不適切であるためである。
【０１２１】
そこで第７本実施形態においては、第１実施形態と同様に補助光源の発光条件を決定して撮影を行い、該撮影画像において補助光源による発光が届いていると判定された領域の画素に対してのみ、第１実施形態と同様のぶれ補正を施すことを特徴とする。なお、第７実施形態におけるデジタルカメラの構成は上述した第１実施形態と同様であるため、同一符号を参照するとして説明を省略する。
【０１２２】
以下、第７実施形態における符号化発光撮影によるぶれ補正処理について、図２３のフローチャートを用いて説明する。図２３のフローチャートにおいて、Ｓ２３０１とＳ２３０２以外の処理については上述した第１実施形態の図３と同様であるため、同一ステップ番号を参照するとして説明を省略する。
【０１２３】
まず、Ｓ３０１で補助光源の発光条件が決定されると、次にＳ２３０１で、符号化発光撮影による撮影画像の各画素に対し、補助光源による発光が届いている領域であるか否かを判定するための領域判定用画像を撮影する。ここで、この領域判定用画像の撮影処理について図２４(a)のフローチャートを用いて説明する。まず、補助光源を発光させずに第１の領域判定用画像Foffを撮影し、得られた画像をバッファメモリ４２４に格納する（Ｓ２４０１）。次に、フラッシュ発光調光制御回路４１２において補助光源の発光制御を行い、補助光源を発光させて第２の領域判定用画像Ｆonを撮影し、得られた画像をバッファメモリ４２４に格納する（Ｓ２４０２）。補助光源の発光としては、Ｓ３０１で決定した光度Ｉで発光するものとする。
【０１２４】
図２３に戻り、次にＳ３０２で符号化発光撮影が行われる。ここで図２４(b)に、Ｓ２３０１の領域判定用画像撮影と、Ｓ３０２の符号化発光撮影とにおける、補助光源（フラッシュ）のオン／オフとシャッター開閉のタイミングを模式的に示す。図２４(b)によれば、まず補助光源発光なしでの第１の領域判定用画像Ｆoffを撮影（Ｓ２４０１）し、次に補助光源発光ありで第２の領域判定用画像Ｆonを撮影（Ｓ２４０２）した後、符号化発光撮影が開始（Ｓ３０２）されていることが分かる。
【０１２５】
以上のように領域判定用画像の撮影と符号化発光撮影が終了すると、上述した第１実施形態と同様に、Ｓ３０３で補正関数を生成し、Ｓ３０４でぶれ情報を取得する。すると次にＳ２３０２で、符号化発光撮影によって得られた撮影画像において、補助光源による発光が届いている領域を判定する。すなわち、領域判定回路４３２において、第１の領域判定用画像Foffと第２の領域判定用画像Fonの各画素値の差分を算出し、該差分が所定の閾値を越える画素を、補助光源による発光が届いている領域であると判定する。第７実施形態においては、Ｓ２３０２で補助光源による発光が届いている領域と判定された画素に対してのみ、Ｓ３０５で補正関数に基づく画像補正を行う。すなわち、補助光源による発光が届いていない画素に対しては画像補正を行わない。
【０１２６】
以上説明したように第７実施形態によれば、撮影画像内に「補助光源の光が届かない領域」が存在する場合にも、適切に手ぶれを補正した画像を取得することができる。
【０１２７】
なお、第７実施形態では補助光源による発光が届いている領域を判定するために、領域判定用画像を撮影する例を示したが、領域判定の方法としてはこれに限るものではない。例えば、符号化発光撮影時に、撮影視野内を複数の領域に分割し、それぞれの領域の被写体までの距離情報を取得しておくことによって、補助光源の発光光度に基づいて該発光が届いている領域を判定することも可能である。
【０１２８】
なお、上述した第６および第７実施形態は、それぞれを組み合わせて実現することも可能である。その場合の処理は、例えば図２５のフローチャートで示すように実現される。すなわち、まずＳ３０１で補助光源の発光条件が決定されると、次にＳ１９０１で周囲光情報を取得し、次にＳ２３０１で領域判定用画像を撮影する。そしてＳ３０２で符号化発光撮影を行った後、Ｓ１９０２で発光条件と周囲光情報とに基づいて補正関数を生成する。そしてＳ３０４でぶれ情報を取得した後、Ｓ２３０２で補助光源による発光が届いている領域を判定し、届いている領域の画素についてのみ、Ｓ３０５の画像補正、すなわち補正関数に基づくぶれ補正を行う。
【０１２９】
なお、第７実施形態を、上述した第２〜第５実施形態に組み合わせて実行することも可能である。
【０１３０】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011078074.tif 000008
【図２】
2011078074.tif 000009
【図３】
2011078074.tif 000010
【図４】
2011078074.tif 000011
【図５】
2011078074.tif 000012
【図６】
2011078074.tif 000013
【図７】
2011078074.tif 000014
【図８】
2011078074.tif 000015
【図９】
2011078074.tif 000016
【図１０】
2011078074.tif 000017
【図１１】
2011078074.tif 000018
【図１２】
2011078074.tif 000019
【図１３】
2011078074.tif 000020
【図１４】
2011078074.tif 000021
【図１５】
2011078074.tif 000022
【図１６】
2011078074.tif 000023
【図１７】
2011078074.tif 000024
【図１８】
2011078074.tif 000025
【図１９】
2011078074.tif 000026
【図２０】
2011078074.tif 000027
【図２１】
2011078074.tif 000028
【図２２】
2011078074.tif 000029
【図２３】
2011078074.tif 000030
【図２４】
2011078074.tif 000031
【図２５】
2011078074.tif 000032