(57)【特許請求の範囲】
【請求項１】
露光条件を変化させながら撮像する撮像部により取得された画像データを入力する画像入力手段と、
前記画像データを撮像した際の露光条件を示す露光条件情報を取得する露光条件取得手段と、
前記画像データを撮像した際のぶれの軌跡を示すぶれ軌跡情報を取得するぶれ軌跡取得手段と、
前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記画像データから該画像データに発生しているぶれと同様のぶれが発生している第１ぶれ画像データを生成する第１ぶれ画像生成手段と、
前記画像データと前記第１ぶれ画像データとの差分である差分画像データを生成する差分画像生成手段と、
前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記差分画像データから前記画像データに発生しているぶれと逆のぶれが発生している第２ぶれ画像データを生成する第２ぶれ画像生成手段と、
前記画像データから所定の重みを乗じた前記第２ぶれ画像データを減算して得られる補正画像データを生成する補正画像生成手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
前記補正画像生成手段により生成された補正画像データを前記画像データとして入力し、前記第１ぶれ画像生成手段、前記差分画像生成手段、前記第２ぶれ画像生成手段、前記補正画像生成手段を所定回数だけ繰り返し処理させる繰り返し制御手段をさらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記所定回数は、前記補正画像データと前記第１ぶれ画像データとの差分が所定の閾値未満になる回数として決定されることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記繰り返し制御手段は、前記画像データを複数の領域に分割し、該複数の領域の各々に対して前記繰り返し処理を設定することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記補正画像データの端部をクリッピングするクリッピング手段をさらに備えることを特徴とする請求項１乃至４の何れか一項に記載の画像処理装置。
【請求項６】
露光条件を変化させながら撮像する撮像部により取得された画像データを入力する画像入力工程と、
前記画像データを撮像した際の露光条件を示す露光条件情報を取得する露光条件取得工程と、
前記画像データを撮像した際のぶれの軌跡を示すぶれ軌跡情報を取得するぶれ軌跡取得工程と、
前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記画像データから該画像データに発生しているぶれと同様のぶれが発生している第１ぶれ画像データを生成する第１ぶれ画像生成工程と、
前記画像データと前記第１ぶれ画像データとの差分である差分画像データを生成する差分画像生成工程と、
前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記差分画像データから前記画像データに発生しているぶれと逆のぶれが発生している第２ぶれ画像データを生成する第２ぶれ画像生成工程と、
前記画像データから所定の重みを乗じた前記第２ぶれ画像データを減算して得られる補正画像データを生成する補正画像生成工程と、
を含むことを特徴とする画像処理装置の制御方法。
【請求項７】
コンピュータを請求項１乃至５の何れか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像時にぶれが発生した画像における画質劣化を軽減する画像処理技術に関するものである。
【背景技術】
【０００２】
近年の撮像装置の高画素化、高ズーム化に伴い、撮影時の手ぶれによる撮影画像の画像劣化が問題となってきている。この手ぶれの問題を解決するため、従来より手ぶれ補正機能付き撮像装置が広く使用されている。このような手ぶれ補正機能付き撮像装置では、手ぶれによるシフトベクトルを検出するセンサと、手ぶれを打ち消すようにレンズと撮像素子との相対的位置を制御する駆動装置とで光学的に手ぶれを補正する光学式手ぶれ補正方式が一般的である。
【０００３】
一方で、画像処理による手ぶれ補正の技術としては、シフトぶれ以外のぶれが混在した場合にも手ぶれを補正できる方法が提案されている（例えば、特許文献１参照）。これらの方法では、まず手ぶれが生じない程度の露光時間、すなわち高速なシャッタスピードで複数画面の画像を取り込む。この複数画面の画像を電子的に位置合わせを行い重ね合わせることで手ぶれの影響のない画像を生成するのである。例えば特許文献１では、回転ぶれが小さいものとして、回転のぶれベクトルを直線で近似し、複数画像間の相関を取ることで、回転のぶれベクトル及びシフトベクトルを求めている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２０３５０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の手法では以下のような問題がある。まず補正に複数枚の画像が必要になり、メモリを消費すると言う問題点が挙げられる。しかも、複数枚の画像を合成し、手ぶれを補正するためには位置合わせが必要になる。その他にもぶれの角度が小さいものとして、動きベクトルを直線で近似してしまっていると言う問題点が挙げられる。これは補正の正確さを損なう可能性がある。また特許文献１の手法では撮像装置の奥行き方向の手ぶれによって発生する画像の拡大・縮小のぶれは考慮されていない。
【０００６】
本発明は、上述の問題点に鑑みなされたものであり、撮像時にぶれが発生した画像における画質劣化を軽減可能とする画像処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の画像処理装置は以下の構成を備える。すなわち、画像処理装置において、露光条件を変化させながら撮像する撮像部により取得された画像データを入力する画像入力手段と、前記画像データを撮像した際の露光条件を示す露光条件情報を取得する露光条件取得手段と、前記画像データを撮像した際のぶれの軌跡を示すぶれ軌跡情報を取得するぶれ軌跡取得手段と、前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記画像データから該画像データに発生しているぶれと同様のぶれが発生している第１ぶれ画像データを生成する第１ぶれ画像生成手段と、前記画像データと前記第１ぶれ画像データとの差分である差分画像データを生成する差分画像生成手段と、前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記差分画像データから前記画像データに発生しているぶれと逆のぶれが発生している第２ぶれ画像データを生成する第２ぶれ画像生成手段と、前記画像データから所定の重みを乗じた前記第２ぶれ画像データを減算して得られる補正画像データを生成する補正画像生成手段と、を含む。
【発明の効果】
【０００８】
本発明によれば、撮像時にぶれが発生した画像における画質劣化を軽減可能とする画像処理技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る画像処理装置のブロック図である。
【図２】差分画像生成部のブロック図である。
【図３】第１実施形態に係る画像処理装置の動作フローチャートである。
【図４】ぶれ補正処理の適用前後の画像の例を示す図である。
【図５】第２実施形態に係る画像処理装置のブロック図である。
【図６】第２実施形態に係る画像処理装置の動作フローチャートである。
【図７】拘束項の有無による補正処理後の画像の例を示す図である。
【図８】補正処理後の画像をクリッピングした画像の例を示す図である。
【図９】第５実施形態に係る画像処理装置のブロック図である。
【図１０】第６実施形態に係る画像処理装置のブロック図である。
【図１１】画像データに補正に利用する情報を埋め込む例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１１】
（第１実施形態）
本発明に係る画像処理装置の第１実施形態として、ぶれ補正部１００を例に挙げて以下に説明する。なお、以下の説明では、平行移動（シフト）ぶれ、回転ぶれ、拡大・縮小（拡縮）ぶれおよびその任意の組み合わせを”アフィン変換ぶれ”と呼称することにする。
【００１２】
＜装置構成＞
図１は、第１実施形態に係る画像処理装置（ぶれ補正部１００）のブロック図である。１０１は、撮像装置によって撮影された撮像データを入力する撮像データ入力端子（画像入力手段）である。なお、撮像装置は露光条件を変化させながら撮像を行い当該撮像データを取得する。１０２は、撮像データ入力端子１０１から入力された撮像データから画像補正のための初期画像を作成する初期画像作成部である。１０３は、後述する差分画像生成部２００により生成された画像データに基づいて更新画像を修正する画像修正部（補正画像生成手段）である。１０４はぶれ軌跡情報を入力するぶれ軌跡情報入力端子（ぶれ軌跡取得手段）である。１０５は露光条件情報を入力する露光条件情報入力端子（露光条件取得手段）である。１０６は、差分画像生成部２００および画像修正部１０３による処理を予め指定された回数繰り返し行なうことにより得られる画像データ（補正画像データ）を出力する出力端子である。なお、上述の各機能部は、専用のハードウェアにより実現してもよいし、ＣＰＵに所定のソフトウェアを実行させることにより実行しても良い。
【００１３】
図２は、差分画像生成部２００のブロック図である。２０１は、更新用の画像データを入力する更新用画像データ入力端子である。なお、後述するように、１回目の処理においては、更新用の画像データとして撮像データ入力端子１０１により入力された撮像データが入力され、２回目以降の処理においては、更新用の画像データとして画像修正部１０３から出力された修正撮像データが入力される。２０２は、ぶれ軌跡情報入力端子１０４から入力されたぶれ軌跡情報を格納するぶれ軌跡記録部である。２０３は、露光条件情報入力端子１０５から入力された露光条件情報を格納する露光条件記録部である。さらに、２０４は、非整数値画素における画素値を算出するために必要な補間カーネル関数の値が格納されている補間カーネルデータベース（ＤＢ）である。
【００１４】
２０５は、ぶれ軌跡記録部２０２、露光条件記録部２０３、補間カーネルＤＢ２０４に格納された情報に基づいて、更新用画像データ入力端子２０１により入力された更新用画像データから、撮像データに発生しているぶれと同様のぶれが発生しているぶれ画像（以降では”順ぶれ画像データ”と呼ぶ）を生成する順ぶれ画像生成部である。２０６は、順ぶれ画像生成部２０５で生成された順ぶれ画像データと撮像データとの差分を算出する減算部である。
【００１５】
２０７は、ぶれ軌跡記録部２０２、露光条件記録部２０３、補間カーネルＤＢ２０４に格納された情報に基づいて、減算部２０６により入力された差分から、撮像データに発生しているぶれと逆のぶれが発生しているぶれ画像（以降では”逆ぶれ画像データ”と呼ぶ）を生成する逆ぶれ画像生成部である。２０８は、逆ぶれ画像生成部２０７で生成された逆ぶれ画像データを出力する差分画像データ出力端子である。
【００１６】
＜ぶれ補正部１００の動作原理＞
以下、ぶれ補正部１００によるぶれ補正の処理について説明する。
・連立方程式の解法
【００１７】
【数１】
0005511403.tif 000002
ここで、ｘおよびｂはベクトルである。このとき評価関数
【００１８】
【数２】
0005511403.tif 000003
を最小にするｘを求める。ここで、ｆ（ｘ）は最小化問題をwell-posedにするために導入された項である。
【００１９】
Ｅを最小にするｘを繰り返し演算で解くことにする。最急降下法を用いると、漸化式は
【００２０】
【数３】
0005511403.tif 000004
となる。ここで、ηは更新の幅である。
・連立方程式の解法の手ぶれ補正への応用
一般にアフィン変換ぶれは、時刻ｔにおけるアフィン変換行列をＡ（ｔ）、シフトぶれベクトルをｓ（ｔ）と置くと、時刻ｔにおけるぶれは基準時刻ｔ＝０におけるぶれのない画像を基準として、時刻ｔに座標ｘ（ｔ）＝（ｘ，ｙ）に来る点は、
【００２１】
【数４】
0005511403.tif 000005
と書ける。この点（ｘ，ｙ）は時刻ｔ＝０では
【００２２】
【数５】
0005511403.tif 000006
にある。このときアフィン変換ぶれを表す式は以下のように書ける。
【００２３】
【数６】
0005511403.tif 000007
ここで、Ｉはぶれが発生していない画像（ぶれ補正処理が実施された画像）、Ｉｂｌｕｒはアフィン変換ぶれにより像がぶれた画像である。Ｔは露光時間である。ｈ（ｔ）は露光条件を決める関数であり、撮像装置のシャッターの開閉状態を示す情報に該当する。ここでは、ぶれ画像Ｉｂｌｕｒは、シャッターは予め符号化されたパターン（所定のパターン）に従って開閉することにより取得されたものであるとする。また、画像のサイズはＭ（画素）×Ｎ（画素）であるとする。
【００２４】
さらに、座標が非整数値となった場合にも対応できるように、補間カーネルφ（ｘ）を導入し、非整数値画素における画素値を以下のように定義する。
【００２５】
【数７】
0005511403.tif 000008
【００２６】
ここで、Ｚは整数の集合を現し、Ｚ／ＮＺは［０，１，２，・・・，Ｎ−１］の集合を記号的に表したものである。但し０とＮとは同一であるものとする。式（７）は通常の補間の式と同一である。式（７）を式（６）に代入すると、
【００２７】
【数８】
0005511403.tif 000009
と書くことができる。式（８）において、フィルタＫを
【００２８】
【数９】
0005511403.tif 000010
と定義すると、式（８）は
【００２９】
【数１０】
0005511403.tif 000011
と書くことができる。
【００３０】
画像ＩおよびＩｂｌｕｒを１次元ベクトルに書き直すと、ＫはＮＭ（画素）×ＮＭ（画素）の行列として表現することができる。つまり、手ブレ補正の問題は、
【００３１】
【数１１】
0005511403.tif 000012
という連立方程式を解く問題に帰着することが分かる。以下、
【００３２】
【数１２】
0005511403.tif 000013
と書くことにする。式（３）をこの形式に従って書き直すと、
【００３３】
【数１３】
0005511403.tif 000014
となる。
【００３４】
次に、行列表現を積分作用素表現に戻す。Ｋに関しては式（１２）より積分作用素表現に直ちに変換可能であることが分かる。そして、式（１３）よりＫtの積分作用素表現を求める必要がある。
【００３５】
【数１４】
0005511403.tif 000015
より、
【００３６】
【数１５】
0005511403.tif 000016
【００３７】
【数１６】
0005511403.tif 000017
これをさらに変形する。
【００３８】
【数１７】
0005511403.tif 000018
ここで、新たな補間カーネルとして
【００３９】
【数１８】
0005511403.tif 000019
と定義すると、
【００４０】
【数１９】
0005511403.tif 000020
となる。次に、φA(t)（ｘ）を用いた補間結果を
【００４１】
【数２０】
0005511403.tif 000021
と定義すると、
【００４２】
【数２１】
0005511403.tif 000022
となる。
【００４３】
以上の結果をまとめると、
【００４４】
【数２２】
0005511403.tif 000023
これらを式（１３）に代入すると、
【００４５】
【数２３】
0005511403.tif 000024
となる。
【００４６】
つまり、この漸化式に従って画像を逐次更新することにより、アフィン変換ぶれが補正された画像を得ることができることになる。以下、本実施形態では式（２３）において、ｆ（Ｉ）＝０の場合について述べる。
【００４７】
なお、図２における、順ぶれ画像生成部２０５、減算部２０６、逆ぶれ画像生成部２０７はそれぞれ、
順ぶれ画像生成部２０５は、
【００４８】
【数２４】
0005511403.tif 000025
の計算を実行する処理部に相当する。
【００４９】
また、減算部２０６は、
【００５０】
【数２５】
0005511403.tif 000026
の計算を実行する処理部に相当する。
【００５１】
そして、逆ぶれ画像生成部２０７は、
【００５２】
【数２６】
0005511403.tif 000027
の計算を実行する処理部に相当する。
【００５３】
＜装置の動作＞
図３は、画像処理装置（ぶれ補正部１００）の動作を示すフローチャートである。
【００５４】
ステップＳ３０１では、ぶれ補正部１００は、撮像データ入力端子１０１より撮像データを入力する。なお、ここでは、入力される撮像データをＩｂｌｕｒとする。
【００５５】
ステップＳ３０２では、初期画像作成部１０２は、初期画像Ｉ０を更新用画像データＩとして設定する。つまり、ここではステップＳ３０１で入力されたＩｂｌｕｒが初期画像Ｉ０として設定される。
【００５６】
ステップＳ３０３では、ぶれ補正部１００は、更新用画像データ入力端子２０１に更新用画像データＩを入力する。なお、上述したように、１回目のループにおいては、更新用画像データＩとして初期画像Ｉ０（Ｉｂｌｕｒ）を入力する。一方、２回目以降のループにおいては、更新用画像データＩとして画像修正部１０３により出力された修正撮像データを入力する。
【００５７】
ステップＳ３０４では、ぶれ軌跡記録部２０２、露光条件記録部２０３、補間カーネルデータベース２０４に格納された情報に基づいて、順ぶれ画像生成部２０５は、ステップＳ３０３で入力された更新用画像データＩから、撮像データＩｂｌｕｒに発生しているぶれと同様のぶれが発生しているぶれ画像（順ぶれ画像データ）を生成する。具体的には、上述の式（２４）の演算を行なう。そして、生成した順ぶれ画像データを画像データＩ’とする。
【００５８】
ステップＳ３０５では、減算部２０６は、画像データＩ’と撮像データＩｂｌｕｒとの差分を算出する。具体的には、上述の式（２５）の演算を行なう。そして、差分画像データを画像データＪとする。
【００５９】
ステップＳ３０６では、ぶれ軌跡記録部２０２、露光条件記録部２０３、補間カーネルデータベース２０４に格納された情報に基づいて、逆ぶれ画像生成部２０７は、ステップＳ３０５で算出された画像データＪから、撮像データＩｂｌｕｒに発生しているぶれと逆のぶれが発生しているぶれ画像（逆ぶれ画像データ）を生成する。具体的には、上述の式（２６）の演算を行なう。そして、生成した逆ぶれ画像データを画像データＪ’とする。
【００６０】
ステップＳ３０７では、差分画像生成部２００は、画像データＪ’を差分画像出力端子２０８から出力し、画像修正部１０３に入力する。
【００６１】
ステップＳ３０８では、画像修正部１０３は、更新用画像データＩとＪ’に重みηを乗じた画像データとの差分であるＩ−ηＪ’を計算する。そして、その結果を差分画像生成部２００に入力する。
【００６２】
ステップＳ３０９では、ステップＳ３０３〜ステップＳ３０８のループを、予め指定された規定回数だけ繰り返し演算を行ったかどうかを判断する。そして、所定回数に達している場合はステップＳ３１０に進み、所定回数に達していない場合はＳ３０３に戻る。
【００６３】
ステップＳ３１０では、画像修正部１０３は、最新の更新用画像データＩを出力端子１０６より出力して動作を終了する。なお、ここでは、予め指定された規定回数に達しているかどうかを、ぶれ補正部１００の動作の終了判断基準としたが、例えば、
Ｅ≡Σ［Ｉ’（ｘ，ｙ）−Ｉblur（ｘ，ｙ）］２
などにより規定される評価値が所定の閾値未満となった場合、つまり、順ぶれ画像データＩ’と撮像データＩｂｌｕｒとの差分に基づいて終了するよう構成してもよい。
【００６４】
図４は、第１実施形態に係る画像処理装置（ぶれ補正部１００）によるぶれ補正処理の結果の例を示した図である。図４（ａ）は、撮像データＩｂｌｕｒを示している。ここでは、水平方向１０画素のシフトぶれと画像中心を回転中心とした角度２°の回転ぶれとが同時に発生した画像の例を示している。図４（ｂ）は、画像修正部１０３から出力された更新用画像データＩを示している。図から、２種類のぶれが複合して発生した画像に対しても、良好にぶれ補正が行われていることが分かる。
【００６５】
以上説明したように、第１の実施形態に係る画像処理装置により、ぶれ軌跡情報及び露光条件情報を用いることにより１枚の画像のみから画像処理によってアフィン変換ぶれが低減された画像を得ることが可能となる。
【００６６】
なお、上述の説明では、露光条件の情報やぶれ軌跡の情報を専用の端子から入力するとして説明したが、当該情報を画像データのヘッダに埋め込むよう構成してもよい。また、画像データのヘッダに埋め込む代わりに、画像データに対応するメタデータ（属性データ）として格納されたデータを利用するようにしても良い。図１１は、ぶれ軌跡情報が記録されているぶれ軌跡タグ１１０１、露光条件が記録されている露光条件タグ１１０２、および画像データの実体である画像部１１０３から構成される画像ファイル１１００を例示的に示す図である。
【００６７】
（第２実施形態）
第１実施形態では式（２３）において、特にｆ（Ｉ）＝０の場合について述べたが、第２実施形態では、ｆ（Ｉ）＝ｆ（ｘ）の場合において画質を調整する例について説明する。
【００６８】
＜装置構成＞
図５は、第２実施形態に係る画像処理装置（ぶれ補正部５００）のブロック図である。なお、第１実施形態の同一の参照符号のものは、第１実施形態の対応する機能部と同様であるため説明は省略する。５０１は、上述の式（２３）において、補正画像データＩから、拘束項∂ｆ（Ｉ）／∂Ｉを算出する拘束項算出部である。５０２は、差分画像生成部２００および拘束項算出部５０１により導出された情報を元に更新画像を修正する画像修正部である。
【００６９】
＜装置の動作＞
図６は、画像処理装置（ぶれ補正部５００）の動作を示すフローチャートである。なお、第１実施形態の同一の参照符号のものは、第１実施形態の対応するステップの動作と同様であるため説明は省略する。
【００７０】
ステップＳ６０１では、拘束項算出部５０１は、拘束項∂ｆ（Ｉ）／∂Ｉを算出する。拘束項としては以下の式で定義されるTotal VariationノルムＴＶ（Ｉ）、
【００７１】
【数２７】
0005511403.tif 000028
を使用することが出来る。なお、Total Variationノルム以外を拘束項に用いることも可能である。
【００７２】
ステップＳ６０２では、画像修正部５０２は、更新用画像データＩから、Ｊ’に重みηを乗じた画像データおよび拘束項の微分に重みμを乗じた画像データを減じた差分であるＩ−ηＪ’−μ∂ｆ（Ｉ）／∂Ｉを計算する。そして、その結果を差分画像生成部２００に入力する。
【００７３】
以上のステップを追加することにより、さらに好適な補正画像を得ることが可能となる。図７（ｂ）は、第２実施形態に係る画像処理装置（ぶれ補正部５００）によるぶれ補正処理の結果の例を示した図である。なお、比較のために図７（ａ）には、第１実施形態に係る画像処理装置（ぶれ補正部１００）によるぶれ補正処理の結果を示している（図４（ｂ）と同じ）。図７（ａ）においては補正画像の線付近にリンギングがわずかに発生しているが、拘束項を入れることによりリンギングが知覚出来ない程度に低減されていることが分かる。
【００７４】
以上説明したように、第２の実施形態に係る画像処理装置により、更に画質の良い補正画像を得ることができることが分かる。
【００７５】
（第３実施形態）
上述のぶれ補正部１００（または５００）によって補正された画像において、画像端部については、画像情報が欠如しているために正しく補正することができない。そこで、補正処理の途中若しくは補正後の画像において、端部領域をクリッピングし画像中央部分のみを補正画像として採用してもよい。
【００７６】
ただし、その場合には、撮像データＩｂｌｕｒよりも狭い範囲の画像として出力されることとなる。そこで、撮像データＩｂｌｕｒとして、予め必要な領域より大きい範囲で画像を入力し、補正後に必要な領域だけトリミングするとよい。なお、処理の高速化のため、端部に関しては補正処理を抑制するよう構成してもよい。
【００７７】
ところで、ぶれ軌跡情報から座標ｘの点は
【００７８】
【数２８】
0005511403.tif 000029
に従って動く。この時ある時刻ｔに対して、ｘ（ｔ）が一度でも画像の外に出た場合は座標ｘを端部として判定する。この判定操作を全ての点に対して行い、クリッピング対象となる端部の決定を行なうと良い。ただし、ここで述べた端部の決定手法はこの方法に限定されるものではなく様々な手法が利用可能である。
【００７９】
図８は、第３実施形態に係るクリッピング処理の結果の例を示した図である。図８（ａ）は画像修正部１０３から出力された更新用画像データＩを示している。そして、図８（ｂ）は更新用画像データＩの端部をクリッピングした画像である。このように、端部をクリッピングすることにより良好な補正画像を得ることができる。
【００８０】
以上説明したように、第３の実施形態に係る画像処理装置により、補正処理により発生した画像端部の画像乱れを除去することが可能となる。
【００８１】
（第４実施形態）
上述した実施形態の説明においては、画像データ全域に対して繰り返し演算を行う場合について説明した。しかしながら、画像データの各領域におけるぶれ量（移動量）に従って繰り返し演算の回数を制御してもよい。ここで、領域とは１画素領域も含むものとする。まず、画像データを複数の領域に分割し、ぶれ軌跡情報より各領域における移動量を求める。例えば、座標ｘにおける移動量ｓ（ｘ）は以下の式で定義される。
【００８２】
【数２９】
0005511403.tif 000030
なお、移動量が算出できるものであれば式（２９）以外のものでもかまわない。
【００８３】
そして、ｓ（ｘ）の値が小さい領域に対しては繰り返し演算の回数を少なくし、ｓ（ｘ）の値が大きい領域に対しては繰り返し演算の回数を多くする。例えば以下の関数で繰り返し演算の回数ｎ（ｘ）を規定する。
【００８４】
【数３０】
0005511403.tif 000031
ここで、ａは適当な正の定数である。
【００８５】
このように繰り返し回数を画像データ内の各領域に対して個別に設定することで、ぶれの小さい領域における不要な繰り返し演算を避けることができ、より高速に補正画像を得ることが可能となる。
【００８６】
（第５実施形態）
第５実施形態では、上述の実施形態で説明した画像処理装置を組み込んだ撮像装置について説明する。
【００８７】
図９は、撮像装置の撮像部およびぶれ補正部を示すブロック図である。９０１は撮影する被写体の光が入力される入力部である。９０２は被写体の光を集光するレンズである。９０３は、後述する露光条件設定部９０６により開閉制御可能なシャッターである。９０４は、レンズ９０２により集光された光を電気信号として取得するＣＣＤやＣＭＯＳなどの撮像素子である。９０５は、撮像素子９０４により取得されたアナログ画像信号をデジタル画像信号に変換するアナログ／デジタル（Ａ／Ｄ）変換部である。
【００８８】
９０６は露光条件を設定する露光条件設定部である。なお、シャッター９０３の開閉情報は露光条件出力端子９０８によりぶれ補正部１００に出力される。９０７は撮像部９００自体のぶれを検出する姿勢検出部である。姿勢検出部９０７は、加速度センサなどにより動きを測定する装置でも良いし、複数画像を取得して動きを推定する装置であっても良い。なお、検出されたぶれは、ぶれ軌跡情報としてぶれ軌跡情報出力端子９１０によりぶれ補正部１００に出力される。９０９は、撮像部９００によって取得されたデジタル画像信号（撮像データ）が出力される撮像データ出力端子である。
【００８９】
ぶれ補正部１００は、撮像部９００から取得したぶれ軌跡情報、露光条件情報に基づいて、上述した実施形態で説明した動作に従って各種処理を行い、更新用画像データＩを出力する。
【００９０】
以上説明したように、第５の実施形態に係る撮像装置により、光学防振を備えていない撮像装置においても、アフィン変換ぶれを補正することが可能になる。
【００９１】
（第６実施形態）
第６実施形態では、レンズシフト方式や撮像素子シフト方式など光学防振機能を有する撮像装置における画像処理装置について説明する。
【００９２】
図１０は、撮像装置の撮像部およびぶれ補正部を示すブロック図である。なお、第５実施形態の同一の参照符号のものは、第５実施形態の対応する機能部と同様であるため説明は省略する。１００１は撮像素子の移動量を検出する撮像素子移動検出部である。１００２は撮像素子移動検出部１００１によって検出された撮像素子の移動量の情報を出力する撮像素子移動情報出力部である。１００３はぶれ軌跡情報に基づくシフトぶれ量から撮像素子の移動量を減算する減算器である。
【００９３】
ぶれは姿勢検出部９０７によって検知されるシフトぶれとその他のぶれに分類することが出来る。姿勢検出部９０７で検出されたシフトぶれの情報は撮像素子９０４に送られ、撮像素子９０４自体が動くことにより、シフトぶれを補正する（光学防振機能）。なお、図１０では撮像素子シフト方式における構成を示しているが、レンズシフト方式における構成においては、撮像素子移動検出部１００１の代わりにレンズ移動検出部（不図示）を設けるとよい。
【００９４】
ぶれ補正部１００は、撮像部１０００から取得したぶれ軌跡情報、露光条件情報に基づいて、上述した実施形態で説明した動作に従って各種処理を行い、光学防振により補正されたシフトぶれを除去した後の残りのぶれを画像処理によって補正し更新用画像データＩを出力する。
【００９５】
以上説明したように、第６の実施形態に係る撮像装置により、シフトぶれの一部または全部を光学防振機能で補正し、残存するぶれに関しては第１〜第４実施形態で説明したアルゴリズムによって補正する。これにより、シフトぶれが大きく撮像部側での光学防振が十分でない場合であってもより好適にぶれ画像を補正することが可能になる。
【００９６】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005511403.tif 000032
【図２】
0005511403.tif 000033
【図３】
0005511403.tif 000034
【図５】
0005511403.tif 000035
【図６】
0005511403.tif 000036
【図９】
0005511403.tif 000037
【図１０】
0005511403.tif 000038
【図１１】
0005511403.tif 000039
【図４】
0005511403.tif 000040
【図７】
0005511403.tif 000041
【図８】
0005511403.tif 000042