撮像装置が撮影した撮像データ、並びに、前記撮影における前記撮像装置の動き情報および被写体の距離情報を入力する入力手段と、前記撮像データを画像ベクトルデータに設定し、前記画像ベクトルデータを用いて基底ベクトルデータを設定する設定手段と、前記動き情報および前記距離情報を用いる射影変換により、前記基底ベクトルデータに前記撮影における前記撮像装置の振れを表す振れを与えた第一の振れベクトルデータを生成する振れ作用手段と、前記振れ作用手段による射影変換と逆変換の関係にある射影変換により、前記第一の振れベクトルデータに逆振れを与えた第二の振れベクトルデータを生成する逆振れ作用手段と、前記第一および第二の振れベクトルデータを用いて、前記画像ベクトルデータおよび前記基底ベクトルデータを更新する更新手段と、所定の終了条件を満たすまで前記振れ作用手段、前記逆振れ作用手段、前記更新手段に処理を繰り返させ、前記終了条件を満たすと前記画像ベクトルデータを出力する出力手段とを有することを特徴とする画像処理装置。前記動き情報は、前記撮影における各時刻の前記撮像装置の位置および向きを示す位置ベクトルおよび向きベクトルを含み、前記振れ作用手段および前記逆振れ作用手段は、前記位置ベクトルおよび前記距離情報を用いて前記撮像装置の振れに対応するシフトベクトルを算出するシフトベクトル算出手段、前記撮影の開始時刻における向きベクトルと前記撮影の開始後の時刻における向きベクトルの内積、および、前記開始時刻における向きベクトルと前記開始後の時刻におけるシフトベクトルの内積を算出する内積算出手段、並びに、前記内積をパラメータとして前記射影変換を行う変換手段を有することを特徴とする請求項1に記載された画像処理装置。前記入力手段は、さらに前記撮影における前記撮像装置の露光条件を入力し、前記振れ作用手段および前記逆振れ作用手段は、前記射影変換の結果に前記露光条件を乗算して前記第一および第二の振れベクトルデータを生成する乗算手段を有することを特徴とする請求項1または請求項2に記載された画像処理装置。前記設定手段は、前記画像ベクトルデータの初期値に前記振れ作用手段によって前記振れを与えたベクトルデータと、前記ベクトルデータに前記逆振れ作用手段によって前記逆振れを与えたベクトルデータの差分を算出し、前記差分を前記基底ベクトルデータの初期値に設定することを特徴とする請求項1に記載された画像処理装置。前記設定手段は前記差分を残差ベクトルデータの初期値に設定し、前記更新手段は前記第一および第二の振れベクトルデータを用いて前記残差ベクトルデータを更新し、前記出力手段は、前記残差ベクトルデータのノルムが所定の目標値以下になると、前記終了条件が満たされたと判定することを特徴とする請求項4に記載された画像処理装置。前記出力手段は、前記繰り返しの回数が所定数に達すると、前記終了条件が満たされたと判定することを特徴とする請求項1から請求項4の何れか一項に記載された画像処理装置。前記出力手段は、前記撮像装置の振れによる暈けを補正した撮像データとして、前記画像ベクトルデータを出力することを特徴とする請求項1から請求項6の何れか一項に記載された画像処理装置。入力手段、設定手段、振れ作用手段、逆振れ作用手段、更新手段、出力手段を有する画像処理装置の画像処理方法であって、前記入力手段が、撮像装置が撮影した撮像データ、並びに、前記撮影における前記撮像装置の動き情報および被写体の距離情報を入力し、前記設定手段が、前記撮像データを画像ベクトルデータに設定し、前記画像ベクトルデータを用いて基底ベクトルデータを設定し、前記振れ作用手段が、前記動き情報および前記距離情報を用いる射影変換により、前記基底ベクトルデータに前記撮影における前記撮像装置の振れを表す振れを与えた第一の振れベクトルデータを生成し、前記逆振れ作用手段が、前記振れ作用手段による射影変換と逆変換の関係にある射影変換により、前記第一の振れベクトルデータに逆振れを与えた第二の振れベクトルデータを生成し、前記更新手段が、前記第一および第二の振れベクトルデータを用いて、前記画像ベクトルデータおよび前記基底ベクトルデータを更新し、前記出力手段が、所定の終了条件を満たすまで前記振れ作用手段、前記逆振れ作用手段、前記更新手段に処理を繰り返させ、前記終了条件を満たすと前記画像ベクトルデータを出力することを特徴とする画像処理方法。コンピュータを請求項1から請求項7の何れか一項に記載された画像処理装置の各手段として機能させることを特徴とするプログラム。本発明は、撮像装置の振れに起因する画像の暈けを高精度に補正することを目的とする。本発明は、前記の目的を達成する一手段として、以下の構成を備える。本発明にかかる画像処理は、撮像装置が撮影した撮像データ、並びに、前記撮影における前記撮像装置の動き情報および被写体の距離情報を入力し、前記撮像データを画像ベクトルデータに設定し、前記画像ベクトルデータを用いて基底ベクトルデータを設定し、前記動き情報および前記距離情報を用いる射影変換により、前記基底ベクトルデータに前記撮影における前記撮像装置の振れを表す振れを与えた第一の振れベクトルデータを生成し、前記振れ作用手段による射影変換と逆変換の関係にある射影変換により、前記第一の振れベクトルデータに逆振れを与えた第二の振れベクトルデータを生成し、前記第一および第二の振れベクトルデータを用いて、前記画像ベクトルデータおよび前記基底ベクトルデータを更新し、所定の終了条件を満たすまで前記生成、前記更新を繰り返し、前記終了条件を満たすと前記画像ベクトルデータを出力することを特徴とする。本発明によれば、撮像装置の振れに起因する画像の暈けを高精度に補正することができる。以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。なお、以下では、一枚の画像の、振れによる暈けを当該画像から補正回復する画像処理を説明する。[発明の概要]図1により実施例における処理の概要を説明する。図1は、画像中のある点を中心に振れが発生した場合の各点の振れの軌跡を示している。各点の振れの軌跡を劣化フィルタと考えると、振れによって暈けた画像は次式で表される。IblurAI...ここで、Iblurは暈けた画像、Iは暈けのない画像、Aは振れ行列各点の劣化フィルタの集合。詳細は後述するが、式に示す連立方程式をIについて解けば、暈けのない画像を復元することができる。なお、画像の暈けに起因する撮像装置の振れは、アフィン写像も包含する射影変換による振れと考えることができる。[装置の構成]図2のブロック図により実施例の補正処理部100の構成例を説明する。なお、補正処理部100は、例えば撮像装置の一部として撮像装置の画像処理部に組み込まれる。あるいは、補正処理部100を実現するプログラムを例えばパーソナルコンピュータなどのコンピュータ機器に供給し、PCが当該プログラムを実行することによっても補正処理部100を実現することが可能である。補正処理部100は、入力端子105から画像データを入力する。そして、補正処理部100は、画像データを撮影した際の、各時刻における撮像装置の、位置ベクトルを入力端子101を介して入力し、向きベクトルを入力端子102を介して入力し、露光条件を入力端子103を介して入力する。また、画像データを撮影した際の撮像装置と被写体の間の距離以下、距離情報を入力する。また、出力端子106から暈けを補正した画像データを出力する。なお、位置ベクトルと向きベクトルの集合を撮像装置の動き情報と呼ぶ場合がある。詳細は後述するが、初期ベクトル生成部107は、補正に必要な初期化を行う。ベクトルデータベース109は、補正に必要な各ベクトルを格納する。ベクトル更新部108は、ベクトルDB109が格納するベクトルを更新する。振れ作用部110は各ベクトルに振れを与え、逆振れ作用部111は各ベクトルに逆振れを与える。[振れ作用部]図3のブロック図により振れ作用部110の構成例を説明する。振れ作用部110は、入力端子201を介してベクトルDB109からベクトルデータを入力し、入力したベクトルデータに振れを与え、振れを与えたベクトルデータを出力端子202を介してベクトルDB109に出力する。シフトベクトル算出部203は、位置ベクトル、向きベクトル、距離情報に基づきシフトベクトルを算出する。なお、シフトベクトルは、撮像装置の振れに対応し、例えば撮像装置の三軸を回転しないように振れが発生した場合は画像内の移動量と向きを表す。内積算出部204は、異なる時刻におけるシフトベクトルと向きベクトルの内積、異なる時刻における向きベクトル同士の内積を演算し、演算結果を射影変換のパラメータとする。射影変換部205は、内積算出部204が算出した射影変換のパラメータを基に、入力端子201を介して入力されるベクトルデータを射影変換する。乗算器208は、射影変換されたベクトルデータに露光条件を乗算する。加算器206は、露光条件が乗算されたベクトルデータを、振れベクトルデータベース207が格納する振れベクトルデータに加算する。逆振れ作用部111は、基本的に、振れ作用部110と同様の構成を有する。ただし、内積算出部204が算出する射影変換のパラメータが、振れ作用部110において算出される射影変換のパラメータと異なる。[暈け補正処理]図4のフローチャートにより補正処理部100が行う暈け補正処理を説明する。なお、以下では、画像データを、ラスタ順に一列に並んだデータの集合として扱う。画素値をI、画素数を横M×縦Nとすると、画像データの集合はII...III...IIである。つまり、補正処理部100は、画像データの集合をベクトルデータとして処理を行う。補正処理部100は、画像データをベクトルデータIblurとして入力する。初期ベクトル生成部107は、詳細は後述するが、基底ベクトルデータp、残差ベクトルデータr、更新用画像ベクトルデータIを初期化し、それらベクトルデータをベクトルDB109に格納する。なお、ベクトルDB109は、繰返回数をカウンタkで表すと、pk、rk、rk1、Ik、および、pkに振れを与えた振れベクトルデータを格納する。なお、以下では、各ベクトルデータの初期値を0で表す。振れ作用部110は、基底ベクトルデータpkに、撮像装置において発生した振れ以下、装置振れと同様の振れを与えた振れベクトルデータpkを生成する。そして、振れベクトルデータpk第一の振れベクトルデータをベクトルDB109に格納する。逆振れ作用部111は、振れベクトルデータpkに、詳細は後述するが、上記の振れを得る変換と逆変換の関係にある振れ以下、逆振れを与えた振れベクトルデータpk第二の振れベクトルデータを生成する。そして、振れベクトルデータpkをベクトルDB109に格納する。ベクトル更新部108は、下式により、振れベクトルデータpk、pkを用いて、更新用画像ベクトルデータIk、残差ベクトルデータrk、基底ベクトルデータpkをそれぞれ更新する。Ik1Ikαkpkrk1rkαkpk...pk1rk1βkpkここで、αk、βk、は内積を表す。次に、補正処理部100は、カウンタkをインクリメントして、ベクトルDB109が格納する残差ベクトルデータrkのノルムと、その目標値を判定する。そして、ノルムが目標値より大きい場合は処理をステップS303に戻し、ノルムが目標値以下の残差が充分に小さい場合は更新用画像ベクトルデータIkを補正後の画像データとして出力し、画像データの補正処理を終了する。なお、補正処理の終了条件として残差ベクトルデータrのノルムを利用したが、繰し返しの回数の上限K所定数を設定してカウンタkのカウント値と上限Kを比較して、kKを補正処理の終了条件にしてもよい。その場合、残差ベクトルデータrは不要である。[初期ベクトルの生成]図5のフローチャートにより初期ベクトルの生成を説明する。初期ベクトル生成部107は、更新用画像ベクトルデータIの初期値I0にベクトルデータIblurを設定する。振れ作用部110は、更新用画像ベクトルデータIの初期値I0に振れを与えた振れベクトルデータIを生成する。逆振れ作用部111は、振れベクトルデータIに逆振れを与えた振れベクトルデータIを生成し、ベクトルデータIblurに逆振れを与えたベクトルデータIblurを生成する。次に、初期ベクトル生成部107は、ベクトルデータIblurと振れベクトルデータIの差分を計算し、その差分を残差ベクトルデータrの初期値r0に設定する。さらに、基底ベクトルデータpの初期値p0に残差ベクトルデータの初期値r0を設定して、初期化を終了する。[振れ作用部]図6のフローチャートにより振れ作用部110の処理を説明する。ここでは、更新用画像ベクトルデータJに振れを与えて振れベクトルデータJを得るものとし、撮像装置の露光時間をτとする。振れ作用部110は、撮影の開始時刻t0以下、時刻0における全要素全画素J...Jに零を設定した振れベクトルデータJを振れベクトルDB207に格納する。そして、時刻tΔt>0を設定する。なお、Δtは、動き情報などの取得間隔を表す時間の刻み幅である。シフトベクトル算出部203は、詳細は後述するが、位置ベクトル、向きベクトル、距離情報を基に時刻tおけるシフトベクトルcを算出する。内積算出部204は、時刻tにおける向きベクトルと時刻0における向きベクトルの内積、および、時刻0における向きベクトルと時刻tにおけるシフトベクトルcの内積を算出する。射影変換部205は、内積の計算結果を基に時刻tにおける射影変換のパラメータを決定する。そして、詳細は後述するが、ベクトルDB109から読み込んだ更新画像ベクトルデータIを射影変換したベクトルデータPを生成する。乗算器208は、ベクトルデータPに時刻tの露光条件hと、刻み幅Δtを乗算する。加算器206は、振れベクトルDB207から読み込んだ振れベクトルデータJに乗算結果hPΔtを加算して、加算結果によって振れベクトルDB207の振れベクトルデータJを更新する。振れ作用部110は、時刻tをtΔtに更新し、時刻tが露光時間τに達したか否かを判定して、t≦τならば処理をステップS502に戻す。また、t>τならば振れベクトルDB207に格納された振れベクトルデータJを出力する。図7により被写体と投影面の関係を説明する。図7において、点601は、撮像装置の光軸中心の位置を示す。点602は、被写体606を投影面603に射影した、投影面仮想スクリーン上の投影点座標を示す。なお、点601の位置を表すベクトルをC、被写体606の位置ベクトルをXで表し、投影面603は点601から距離fにあるとする。ベクトル604は撮像装置の単位法線ベクトルVnを示し、ベクトル605は撮像装置の単位接ベクトルVtを示す。単位接ベクトルVtは投影面603上に存在する。ベクトル607は、単位接ベクトルVt、単位法線ベクトルVnと直交し、投影面603を張る単位ベクトルVuである。●位置ベクトルX→投影点被写体606の位置ベクトルXから投影点602の座標への変換を求める。γfXCxVuyVtfVn...ここで、γfは定数。式の両辺にVu、Vn、Vtを順次作用させると次式が得られる。┌┐┌┐│x││VuT││y│γf│VtT│...│f││VnT│└┘└┘ここで、Tは転置を表す。式の第三成分から定数γfを計算すると次式が得られる。γffVn...式を式に代入すると、位置ベクトルXを投影点602の座標へ変換する次式が得られる。┌┐┌┐│x││VuT││y│fVn│VtT│...│f││VnT│└┘└┘●投影点→位置ベクトルX投影点602の座標から被写体606の位置ベクトルXへの変換を求める。このとき、位置ベクトルXにおけるZsは距離情報によって既知である。XCγiγi...ここで、γiは定数。式においてz成分に着目すると下式が得られる。ZsCzγiγi...式を式に代入すると、投影点602の座標を位置ベクトルXへ変換する次式が得られる。XCZsCz...●異なる時刻における投影点の変換異なる時刻における投影点の変換式を求める。なお、この変換が、射影変換部205が計算する射影変換に相当する。図8により異なる時刻における被写体と投影面の関係を説明する。時刻0において、点701は撮像装置の光軸中心を示し、点703は被写体606の投影面705における投影点を示す。また、時刻t>0において、点702は撮像装置の光軸中心を示し、点704は被写体606の投影面706における投影点を示す。なお、被写体606は、静止状態にあるものとする。投影点から投影点への変換を求めると、式から次式が得られる。XCZsCzxtVuzytVtzfVnzxtVuytVtfVn...次に、被写体の位置ベクトルXからに射影すると、式から次式が得られる。┌┐┌┐│x0││VuT││y0│fXCVn│VtT│XC...│f││VnT│└┘└┘式とをまとめると次式が得られる。┌┐┌┐│x0││VuT││y0│fxtVuytVtcVn│VtT│xtVuytVtc│f││VnT│└┘└┘...cfVnCCZsCzxtVuzytVtzfVnz...式は射影変換を示し、式はシフトベクトルcを表す。シフトベクトル算出部203は、式に示すシフトベクトルcを算出する。内積算出部204は、撮影の開始後の時刻t>0の向きベクトルと撮影の開始時刻0の向きベクトルの内積、および、時刻tのシフトベクトルcと時刻0の向きベクトルの内積を算出して、式に示す射影変換の各パラメータを求める。式が示す変換を式で表し、時刻0における振れがない画像をIとすると、時刻t>0に投影点に入射する光情報は、式を用いて時刻0に変換すれば式で表される。g...IIg...射影変換部205は、更新画像ベクトルデータIの各要素I...Iを式に従って射影変換する。[逆振れ作用部]逆振れ作用部111の構成は、前述したように、振れ作用部110の構成と基本的に同じである。逆振れ作用部111の処理において、振れ作用部110と異なるのは、シフトベクトル算出部203と内積算出部204の処理である。式を導いたのと同様の方法により、図8において、投影点から投影点への変換を求めると次式が得られる。┌┐┌┐│xt││VuT││yt│fx0Vuy0VtcVn│VtT│x0Vuy0Vtc│f││VnT│└┘└┘...cfVnCCZsCzx0Vuzy0VtzfVnz...式は射影変換を示し、式はシフトベクトルcを表す。逆振れ作用部111のシフトベクトル算出部203は、式に示すシフトベクトルcを算出する。逆振れ作用部111の内積算出部204は、時刻tの向きベクトルと時刻0の向きベクトルの内積、および、時刻tのシフトベクトルcと時刻tの向きベクトルの内積を算出して、式に示す射影変換の各パラメータを求める。式が示す変換を式で表す。また、式に示すように、式のgと式のfには逆変換の関係がある。f...gtft...IIg...逆振れ作用部111の射影変換部205は、更新画像ベクトルデータIの各要素I...Iを式に従って射影変換する。[振れ補正部の動作原理]式に時刻tにおける露光条件hを乗算し、時刻t0からτまで積分した結果は、振れによって暈けた画像を示す。Iblur1τ∫hIdt...ここで、Iは暈けを補正した画像、Iblurは装置振れにより像が暈けた画像、hは露光強度を表す関数シャッタや絞りなどによる露光光量の制御を示す、積分範囲はt0からτまで。非整数値の座標にも対応可能なように補間カーネルφを導入して、非整数値の座標の画素の値を次のように定義する。I≡ΣφI...ここで、Σ演算の範囲はj∈ZMZ×ZNZ、Zは整数の集合を表し、ZMZは012...M1、M×Nは画素数。なお、式において、ZMZは012...M1の集合を表し、0とMを同一視するものとする。つまり、φφである。ZMZ×ZNZは......の集合を表し、第一成分に関しては周期0とMを、第二成分に関しては0とNを同一視するものとする。なお、式は通常の補間式と同一である。式を式に代入すると次式が得られる。Iblur1τ∫hΣφjIdt≡KI...ここで、K1τ∫hΣφjdt。画像を一次元のベクトルとして表現すると、KはNM×NMの行列として表現される。つまり、振れによる暈けは次の連立方程式に帰着する。従って、次の連立方程式を解いてIを求めれば、振れによる暈けをなくした回復した画像が得られる。IblurKI...式に示す連立方程式を間接法を用いて解くとすると、KとKTをベクトルデータに繰り返し作用させて、ベクトルデータを更新することになる。計算の高速化には、ベクトルデータに対するKとKTの作用を簡潔に表す必要がある。●ベクトルデータに対するKとKTの作用式から、ベクトルデータに対するKの作用は、撮像装置において発生した振れと同様の振れをベクトルデータに与えることに等しい。また、式から、KTは次式で表される。KTK1τ∫hφidt...従って、ベクトルデータに対するKTの作用は次式で表される。iΣKTJ1τ∫hΣφiJdt...ΣφiJの部分をさらに変形すると次式が得られる。なお、φp≡φを定義し、式によりjftが成り立つことを用いる。ΣφiJΣφpJt...jが格子点を動くとき、gもほぼ格子点を網羅するように動くと仮定すると次式が得られる。ΣφpJt~ΣφpJ...φpを用いた補間結果を式で定義して、式の近似を仮定すると、式のようになる。Jp≡ΣφpJ...ΣφpiJ≒Jp...式を式に代入すると次式が得られる。i≒1τ∫hJpdt...式は、ベクトルデータに対するKTの作用が、撮像装置の振れによる射影変換と逆変換の関係にある射影変換によって、振れをベクトルデータJに与えることを意味する。つまり、式と式が示すように、ベクトルデータにKとKTtを作用させることは、ベクトルデータに振れを与えることに等しい。●連立方程式の解法連立方程式を間接法を用いて解くが、ここでは一例として共役勾配法を用いる。Kは、通常、対称行列ではないので、KTを式に作用させる。KTIblurKTKIAI...ここで、Aは対称行列。共役勾配法は、式に従ってベクトルデータを更新する。Ik1Ikαkpkrk1rkαkApk...pk1rk1βkpkここで、αk、βk。更新を行うには、ApkKTKpkを求める必要がある。これは、前述したように、pkに撮像装置の振れと同じ振れを与え、続いて、撮像装置の振れによる射影変換と逆変換の関係にある射影変換によって、振れを与えればよい。式の振れを与える過程は、図4に示すステップS303とS304に対応する。また、共役勾配法は、下式に従って各ベクトルデータを初期化する。I0Iblurr0bAI0...p0r0対称行列Aの作用は、上述したように、撮像装置の振れと同じ振れをベクトルデータに与えればよい。式は、図5に示す処理に対応する。[暈け補正の結果]図9により補正処理部100による暈け補正の結果例を示す。図8はピッチとして01度、ヨーとして02度の振れを与えた画像を示す。図9は、補正処理部100によって、図9に示す暈けが回復された画像を示す。このように、振れ軌跡を示す情報と露光条件を用いて、一枚の画像の画像データから、当該画像の装置振れによる暈けを補正することができる。従って、振れの軌跡が複雑な場合も良好に暈け補正することができる。以下、本発明にかかる実施例2の画像処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。補正処理部100の補正において、画像の端部に位置する暈けは、画像情報が欠如するため正しく補正することができない。これを考慮すると、補正処理部100は、補正処理の途中または補正処理の後、画像の端部領域をクロップする切除するように画像データを削除して、画像の中央部に相当する画像データを出力することが好ましい。なお、端部領域のクロップを考慮したより広い範囲の画像を取得してもよい。勿論、端部領域に関しては補正処理をしなくてもよい。端部領域の決定方法を説明する。振れ軌跡を示す情報から被写体Xの投影点は下式に従って移動する。fある時刻tにおいて、が一度でも画像外に出た場合は、被写体Xが端部領域にあると判定する。この操作をすべての投影点に対して行い、画像の端部領域を決定する。勿論、この決定方法は必要最低限であり、より広い領域を端部領域に決定してもよい。図10により実施例2の補正処理部100による暈け補正の結果例を示す。図10は補正処理後の画像データが示す画像であり、端部領域の暈けが補正されていない。図10は、図10に示す画像の端部領域をクロップした画像を示し、端部領域のクロップにより、良好な画像を得ることができる。以下、本発明にかかる実施例3の画像処理を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。図11のブロック図により撮像装置の構成例を示す。被写体からの反射光は、撮像部1000に入射し、レンズ1002およびシャッタ1003を介して、撮像デバイス1004上に結像する。撮像デバイス1004が出力するアナログ信号は、アナログディジタル変換器1005によってディジタル信号に変換されて補正処理部100に入力される。なお、図11には撮像デバイス1004の出力をAD変換した信号例えばRAWデータのような撮像データを補正処理部100に入力する例を示す。しかし、AD変換した信号にデモザイキングなどの現像処理を施した画像データを補正処理部100に入力してもよい。露光制御部1006は、図示しない撮像装置の制御部によって設定された露光条件に基づき、レンズ1002内の絞りやシャッタ1003の開閉を制御し、露光条件を補正処理部100に出力する。動き情報取得部1007は、撮像部1000の動きを示す、向きベクトルや位置ベクトルなどの動き情報を取得して、動き情報を補正処理部100に出力する。なお、撮像装置の動きは、ジャイロセンサや加速度センサなどによって測定してもよいし、複数の画像を取得し、それら画像から推定してもよい。レンズ制御部1008は、撮像装置の制御部によって設定された撮影条件に基づき、レンズ1002のズーム設定、撮影距離などを制御し、撮影距離を距離情報として補正処理部100に出力する。補正処理部100は、撮像データまたは画像データ、露光情報、動き情報、距離情報を入力して、実施例1、2において説明した補正処理を実行する。なお、撮像装置が光学式振れ補正方式を搭載する場合、光学式振れ補正によって除去しきれなかった振れによる暈けを補正処理部100によって補正する。以下、本発明にかかる実施例4の画像処理を説明する。なお、実施例4において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。補正処理部100を実現するプログラムを例えばパーソナルコンピュータなどのコンピュータ機器に供給し、PCが当該プログラムを実行することによっても補正処理部100を実現することが可能である。図12によりPCに供給する画像データファイルの構成例を説明する。画像データファイル1100は、各時刻の動き情報が記録された動き情報部1101、露光条件が記録された露光条件部1102、距離情報が記録された距離情報部1103、撮像データまたは画像データが記録されたデータ部1104を有する。PCは、画像データファイルから読み出した動き情報、露光条件、距離情報に基づき、画像データファイルから読み出した撮像データの暈けを回復する。[その他の実施例]また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ又はCPUやMPU等がプログラムを読み出して実行する処理である。