(57)【特許請求の範囲】
【請求項１】
撮像素子を備える撮像部と、
上記撮像部による撮像により生成された原画像から変化する前の画像もしくは本来撮影されるべきであった画像またはそれらの近似画像（以下、元画像という）を、上記原画像の撮像時における画素に対応する光エネルギーの分散を示す変化要因情報を利用するデータ処理によって復元処理する処理部と、を有し、
上記処理部は、
所定の画像データから、上記原画像の撮像時における上記変化要因情報が示す分散の仕方に応じて光エネルギーを分散させた比較用データを生成し、上記原画像のデータと上記比較用データとの差分データが所定値より大きいまたは所定値以上の場合、上記変化要因情報が示す光エネルギーの分散の仕方に応じて、上記所定の画像データに上記差分データを配分することで復元データを生成する第１の処理を実行し、
上記復元データを上記第１の処理における所定の画像データの代わりに使用して新たな復元データを生成する処理を繰り返し実行し、上記差分データが、所定値以下または所定値より小さくなる復元データを生成する第２の処理を実行するものであり、
上記処理部は、上記原画像のデータとは別の画像データから撮影時の変化要因情報を用いた画像データを生成し、その作成した画像データと上記原画像のデータとを重ね合わせた画像データを上記所定の画像データとして用いて上記第１の処理および上記第２の処理を実行し、その実行によって求められた、上記差分データが所定値以下または所定値より小さくなった復元データの元となった復元データから、上記別の画像データを取り去ったものを上記元画像のデータとする、
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルカメラやデジタルビデオカメラ等の画像処理装置に関する。
【背景技術】
【０００２】
従来から、カメラ等の画像処理装置で被写体を撮影すると、撮影される画像には時々劣化が生ずることが知られている。画像劣化の要因としては撮影時の手ブレ等がある。そこで、手ブレに起因する劣化画像の補正のための周波数特性を、撮影装置のユーザー（撮影者）用に事前に把握し、当該撮影者用にカスタマイズした後、撮影装置を販売する技術が提案されている（特許文献１参照）。
【０００３】
【特許文献１】特開２００１−３４６０９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術を採用すると、一旦販売された撮影装置を他人に貸し与え、又は譲渡した場合、ブレ補正は適切なものとはならず、補正された画像は、きれいな画像とはならない。ブレを適切に補正しようとすると、最初に、そして借りた人や譲り受けた人が再度、撮影前に周波数特性テーブルを作る必要がある。
【０００５】
そこで上記した問題点を解消すべく、本発明が解決しようとする課題は、手ブレによる劣化を効率的に復元処理する画像処理装置を提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の画像処理装置は、撮像素子を備える撮像部と、撮像部による撮像により生成された原画像から変化する前の画像もしくは本来撮影されるべきであった画像またはそれらの近似画像（以下、元画像という）を、原画像の撮像時における画素に対応する光エネルギーの分散を示す変化要因情報を利用するデータ処理によって復元処理する処理部と、を有し、処理部は、所定の画像データから、原画像の撮像時における変化要因情報が示す分散の仕方に応じて光エネルギーを分散させた比較用データを生成し、原画像のデータと比較用データとの差分データが所定値より大きいまたは所定値以上の場合、変化要因情報が示す光エネルギーの分散の仕方に応じて、所定の画像データに差分データを配分することで復元データを生成する第１の処理を実行し、復元データを第１の処理における所定の画像データの代わりに使用して新たな復元データを生成する処理を繰り返し実行し、差分データが、所定値以下または所定値より小さくなる復元データを生成する第２の処理を実行するものであり、処理部は、原画像のデータとは別の画像データから撮影時の変化要因情報を用いた画像データを生成し、その作成した画像データと原画像のデータとを重ね合わせた画像データを所定の画像データとして用いて第１の処理および第２の処理を実行し、その実行によって求められた、差分データが所定値以下または所定値より小さくなった復元データの元となった復元データから、別の画像データを取り去ったものを元画像のデータとしている。
【０００７】
この発明によれば、画像変化の要因情報を利用して、所定のデータを生成することだけで元画像を生成しているので、ハードウェア的な増加はほとんど無く、装置が大型化しない。また、復元データから比較用データを作り、その比較用データと処理対象の原画像のデータを比較するという処理を繰り返し、徐々に元画像を得るので、現実的な復元作業となる。このため、画像の復元に当たって、現実性のある回路処理方式を有する画像処理装置とすることができる。また、この発明によれば画像劣化等の変化要因情報を利用して、比較用データを生成し、原画像との比較をし、差が小さいときのみ元画像を生成しているので、ハードウェア的な増加はほとんど無く、装置が大型化しない。また、復元データから比較用データを作り、その比較用データと処理対象の原画像のデータを比較するという処理を繰り返し、徐々に元画像を得るので、現実的な復元作業となる。このため、画像の復元に当たって、現実性のある回路処理方式を有する画像処理装置とすることができる。また、この発明によれば、復元対象となる画像データが急激なコントラスト変化を含んでいる場合、別の画像のデータを加えることで、この急激なコントラスト変化を軽減することができ、復元処理の反復数を低減することができる。
【発明の効果】
【００１６】
本発明の画像処理装置により、手ブレによる劣化を効率的に復元処理する画像処理装置を提供することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態に係る画像処理装置１について図を参照しながら説明する。なお、この画像処理装置１は、民生用のカメラとしているが、監視用カメラ、テレビ用カメラ、ハンディタイプのビデオカメラ、内視鏡カメラ、等他の用途のカメラとしたり、顕微鏡、双眼鏡、さらにはＮＭＲ撮影等の画像診断装置等、カメラ以外の機器にも適用できる。
【００１８】
図１には画像処理装置１の構成の概要を示している。画像処理装置１は、人物等の画像を撮影する撮影部２と、その撮影部２を駆動する制御系部３と、撮影部２で撮影された画像を処理する処理部４と、を有している。また、この実施の形態に係る画像処理装置１は、さらに処理部４で処理された画像を記録する記録部５と、角速度センサ等からなり、画像劣化など変化の要因となる変化要因情報を検知する検出部６と、画像劣化等を生じさせる既知の変化要因情報を保存する要因情報保存部７を有する。
【００１９】
撮影部２は、レンズを有する撮影光学系やレンズを通過した光を電気信号に変換するＣＣＤやＣ−ＭＯＳ等の撮影素子を備える部分である。制御系部３は、撮影部２，処理部４，記録部５，検出部６，及び要因情報保存部７等、画像処理装置内の各部を制御するものである。
【００２０】
処理部４は、画像処理プロセサで構成されており、ＡＳＩＣ(Application Specific Integrated Circuit)のようなハードウェアで構成されている。処理部４では、撮影部２で撮影された画像の画素数を減じる処理が行われることがある。処理部４は、検出する手ブレ等の振動検出のためのサンプリング周波数を発生させていると共にそのサンプリング周波数を検出部６に供給している。また処理部４は、振動検出の開始と終了を制御している。振動検出期間は、処理部４に配置されるタイマー等で制御される。
【００２１】
また、この処理部４には、後述する比較用データを生成する際の元となる画像が保管されることもある。さらに処理部４は、ＡＳＩＣのようなハードウェアとして構成されるのではなく、ソフトウェアで処理する構成としても良い。記録部５は、半導体メモリで構成されているが、ハードディスクドライブ等の磁気記録手段や、ＤＶＤ等を使用する光記録手段等を採用しても良い。
【００２２】
検出部６は、図２に示すように、画像処理装置１の光軸であるＺ軸に対して垂直方向となるＸ軸、Ｙ軸の回りの速度を検出する２つの角速度センサを備えるものである。またこの検出部６に、撮影者と画像処理装置１との接触の有無を認識して、振動データ検出開始時期を決定する手段を、必要に応じて備えさせてもよい。その手段とは、たとえば撮影者が撮影のためにカメラを持って構える時に、ほぼ必ず接触するであろうカメラの位置（これはカメラの形状によって異なるため一概に言うことができないが、たとえばシャッター等の撮影開始用ボタンまたはその周辺部等）に配置した押圧センサや接触センサ等である。
【００２３】
ところで、カメラで撮影する際の手ブレは、Ｘ方向、Ｙ方向、Ｚ方向の各方向への移動やＺ軸回りの回動も生ずるが、各変動により最も大きな影響を受けるのは、Ｙ軸回りの回転とＸ軸回りの回転である。これら２つの変動は、ほんのわずかに変動しただけで、その撮影された画像は大きくぼける。このため、この実施の形態では、図２のＸ軸回りとＹ軸回りの２つの角速度センサのみを配置している。しかし、より完全を期すためＺ軸回りの角速度センサをさらに付加したり、Ｘ方向やＹ方向への移動を検出するセンサを付加しても良い。特に、撮影者が発する手ブレ等の振動を撮影（露光）時よりも前又は後にも検出する場合には、撮影時とは無関係なあらゆる方向の振動を想定する場合があるため、Ｚ軸回りの角速度センサをさらに付加することが好ましい。また、使用するセンサとしては、角速度センサではなく、角加速度センサとしても良い。
【００２４】
また、検出部６では、検出する振動の周波数を、０Ｈｚを超え１２０Ｈｚの範囲としている。ここで、検出する振動は、周波数０Ｈｚを超えＦＨｚの範囲（２０≦Ｆ≦１２０）内で変更できる。よって、検出する振動の周波数は、０Ｈｚを超え６０Ｈｚ、３Ｈｚから６０Ｈｚ、５Ｈｚから６０Ｈｚ、１Ｈｚから４５Ｈｚ、４Ｈｚから３０Ｈｚ、または２Ｈｚから１５Ｈｚ等に設定することができる。検出する振動の最大周波数に対してサンプリング周波数は、１．５から１０倍程度とするのが、検出を正確にする意味で好ましく、２から８倍とするのが、より好ましい。ここで、８倍を越える周波数のサンプリングをしても、検出の正確さは８倍のときと変わらない場合が多い。よって、たとえば、想定される検出対象振動の最大周波数が１５Ｈｚ、すなわち、手ブレ周波数の上限を１０数Ｈｚとしたとき、１５Ｈｚの振動が測定できれば良いので、この１５Ｈｚの場合には、３０から１２０Ｈｚの範囲内のいずれかとするのが好適である。この下限である３０Ｈｚを、正確性を高めるために４０Ｈｚとしても良い。なお、検出部６では、すべての振動を検出し、処理部４において利用するデータを、０Ｈｚを超えＦＨｚまでの範囲内のいずれかのデータに限定するようにしても良い。
【００２５】
ここで、一般に、０Ｈｚを超え２０Ｈｚまでの周波数範囲は、無意識な状態で人体が発する振動の周波数範囲に概ね合致する。しかし、敢えて検出する振動の周波数を０Ｈｚを超え１２０Ｈｚと、その検出可能範囲を広げている第１の理由は、２０Ｈｚを越えることがあり得る、人間が発する振動の検出に万全を期するためである。また、第２の理由は、人体以外が発する２０Ｈｚを越える振動をも検出対象として、画像変化に影響を与え得る振動を妥当な範囲で検出するためである。ここで、人体以外が発する振動は、たとえば撮影者が自動車等の乗り物に乗っている場合の、その乗り物が発する振動等である。但し、センシングコストやぶれの情報量を節約し、画像処理装置の復元処理負担を軽減することを優先して製品設計する際には、検出する振動の周波数を数Ｈｚ（たとえば１，２，３，４または５Ｈｚ）から十数Ｈｚ（たとえば１２，１３，１４，１５，１６または１７Ｈｚ）や、２０，３０，４０，５０または６０Ｈｚまでに制限する等の構成を採用することが好ましい。
【００２６】
要因情報保存部７は、既知の劣化要因情報などの変化要因情報、たとえば光学系の収差や検出された振動に基づいて算出された点像関数等を保存しておく記録部である。当該点像関数の記録に際し、撮影者が発する振動を撮影開始時よりも前、および／または撮影終了時よりも後にも検出部６が振動を検出する場合には、たとえばその検出期間の全てに検出された振動データの中から、利用するデータを手ブレ周波数帯域に制限させ、その露光期間のデータを利用して算出された点像関数等を記録する。振動検出範囲を上述のように低周波域に限定した場合、手ブレ周波数帯域への制限は不要としても良いが、測定誤差の軽減や、処理時間を早めるうえで、いずれにしても手ブレ周波数と言われている数Ｈｚから十数Ｈｚの周波数のみに制限させるのが好ましい。なお、撮影者が乗物等に乗っている状況の場合は、手ブレの周波数帯域に制限する処理を行わないようにするのが好ましい。手ブレ周波数帯域への制限処理は、画像処理装置１にオンオフのスイッチを設ける等して撮影者が操作するのが好ましい。
【００２７】
要因情報保存部７で記録された点像関数は、たとえばその算出後の直近に撮影された原画像の復元処理の際に、処理部４で用いられる。そして次回の撮影の際には、前回の撮影終了後から当該次回の撮影終了までの期間、または次回の撮影開始前から当該次回の撮影終了後所定期間経過するまでの期間のデータから、同様に算出され記録された点像関数を、原画像の復元処理の際に用いる。ここで、原画像の復元処理を実行する時期は、撮影用の電源がオフされている時、処理部４が稼働していない時、処理部４の稼働率が低い時等、原画像を撮影した時期から遅らせた時期とすることができる。その場合には、記録部５に保存された原画像データおよび、要因情報保存部７に保存された、その原画像についての点像関数等の変化要因情報が、それぞれが関連づけられた状態で長期間に亘り保存される。このように、原画像の復元処理を実行する時期を、原画像を撮影した時期から遅らせる利点は、種々の処理を伴う撮影時の処理部４の負担を軽減できることである。
【００２８】
この点像関数を算出するに際し、検出部６にて撮影者の振動を検出する期間は、撮影（露光）開始１秒前から撮影終了１秒後の範囲内の一定値に予め固定して設定しておくことができる。ここで「範囲内」であるから、その検出期間は、たとえば撮影開始２０ミリ秒前から撮影終了２０ミリ秒後の範囲や、撮影開始２０ミリ秒前から撮影終了時の範囲や、撮影開始時から撮影終了２０ミリ秒後の範囲等とすることができる。このように振動の検出期間に、少なくとも撮影開始時から撮影終了時までの撮影期間（露光期間）を含ませることは、現実に撮影した期間における振動を振動データに反映して、点像関数等を要因情報保存部７に記録できることから、好ましい。ここで、検出期間に撮影開始時から撮影期間内の一部を含ませると、ある程度撮影期間内全体の振動データを予測できるため、撮影期間内全体を検出期間に含ませるのと同様に好ましい。よって、検出期間を撮影開始前から撮影期間内の一部までとすることもできる。
【００２９】
ここで、撮影者の振動を検出する期間を、撮影開始１秒前から撮影終了１秒後の範囲内の期間とする構成とした場合について詳述する。
【００３０】
画像処理装置１の撮影期間内は、撮影者が画像処理装置１へ与える手ブレ振動を意識的に抑えようとしている。そして、その意識は撮影開始前から撮影終了後にも、概ねはたらいている。一方、撮影開始前から撮影終了後以外の期間は撮影者の振動が手ブレ以外の、手ブレよりも大きな動作（たとえば、画像処理装置１を持ったまま歩行する動作等）を伴う場合が多い。よって、この構成を採用することにより、そのような動作や振動を検出対象から除外して、人体が発する手ブレ振動として、妥当な振動を多く含む振動を検出できる。また、その振動データを用いて、点像関数等を算出して要因情報保存部７に記録するため、復元処理精度が向上し得る。
【００３１】
一方、画像処理装置１の側からみると、振動の検出開始直後には、検出開始前から継続して発せられる振動を検知することとなる。ここで、どんなに高性能な角速度センサまたは角加速度センサでも、若干の応答遅れがあるため、検出部６は検出開始直後には、その振動に追従して振動を検知することが難しい。よって、仮に振動の検出時期と撮影（露光）開始時期とを一致させると、撮影開始直後の振動データは不正確になる。そこで、撮影開始１秒前からの振動を検出しておくことで、撮影開始直後の振動データを正確にすることができる。そして、撮影開始１秒前から撮影終了１秒後までの振動データのうち、撮影期間中に相当する期間のみの振動データを使用すると、より正確な点像関数を算出することができる。さらに、撮影期間及び撮影期間以外の振動データを収集することで、振動データが多くなり、より正確な振動データとなることから、復元画像の精度が高まる。
【００３２】
ここで、振動を検出する期間は、任意に設定できることは言うまでもない。もちろん、振動検出開始から撮影開始までの期間と、撮影終了から振動検出終了までの期間とを異ならせることができる。またこの構成を採用する場合には、撮影者が振動検出撮影期間を、調整して設定できるようにすることが好ましい。その理由は、個々の撮影者に特有な動作等を考慮した画像復元処理が可能となるためである。
【００３３】
なお、上述のように時間で制御するのではなく、シャッター等が半押し状態となったら振動データを検出したり、撮影用の電源がオンとなったら振動データを常時記録し、常に最新の数秒間のデータを保存し、シャッターが押されたら露光前所定時間分と露光終了後の所定時間分の振動データを、露光中の振動データに加えて利用するようにしても良い。
【００３４】
なお、この実施の形態では、要因情報保存部７には、光学系の収差やレンズのひずみの情報が保存されているが、後述する手ブレのぼけの復元の際にはそれらの情報は、利用していない。
【００３５】
次に、以上のように構成された画像処理装置１の処理部４の画像復元処理方法の概要を、図３に基づいて説明する。
【００３６】
図３中、「Ｉ０」は、任意の初期画像であって、処理部４の記録部に予め保存されている画像のデータである。「Ｉ０’」は、その初期画像のデータのＩ０の劣化画像のデータを示し、比較のための比較用データである。「Ｇ」は、検出部６で検出された変化要因情報（＝劣化要因情報（点像関数））のデータで、処理部４の記録部に保存されるものである。「Ｉｍｇ’」は、撮影された画像、すなわち劣化画像のデータを指し、この処理において処理対象となる原画像のデータである。
【００３７】
「δ」は、原画像のデータＩｍｇ’と、比較用データＩ０’との差分のデータである。「ｋ」は、変化要因情報のデータに基づく配分比である。「Ｉ０＋ｎ」は、初期画像のデータＩ０に、差分のデータδを変化要因情報のデータに基づいて配分して新たに生成した復元画像のデータ（復元データ）である。「Ｉｍｇ」は、元画像のデータである。ここで、ＩｍｇとＩｍｇ’の関係は、次の（１）式で現されるとする。
Ｉｍｇ’＝Ｉｍｇ×Ｇ  …（１）
【００３８】
なお、差分のデータδは、対応する画素の単純な差分でも良い場合もあるが、一般的には、変化要因情報のデータＧにより異なり、次の（２）式で現される。
δ＝ｆ（Ｉｍｇ’，Ｉｍｇ，×Ｇ）  …（２）
【００３９】
処理部４の処理ルーチンは、まず、任意の画像データＩ０を用意することから始まる（ステップＳ１０１）。この初期画像のデータＩ０としては、劣化している原画像のデータＩｍｇ’を用いても良く、また、黒ベタ、白ベタ、灰色ベタ、市松模様等どのような画像のデータを用いても良い。ステップＳ１０２で、（１）式のＩｍｇの代わりに初期画像となる任意の画像のデータＩ０を入れ、劣化画像である比較用データＩ０’を求める。次に、劣化画像である原画像のデータＩｍｇ’と比較用データＩ０’と比較し、差分のデータδを算出する（ステップＳ１０３）。
【００４０】
次に、ステップＳ１０４で、この差分のデータδが所定値以上であるか否かを判断し、所定値以上であれば、ステップＳ１０５で新たな復元画像のデータ（＝復元データ）を生成する処理を行う。すなわち、差分のデータδを変化要因情報のデータＧに基づいて、任意の画像データＩ０に配分し、新たな復元データＩ０＋ｎを生成する。その後、ステップＳ１０２，Ｓ１０３，Ｓ１０４を繰り返す。
【００４１】
ステップＳ１０４において、差分のデータδが所定値より小さい場合、処理を終了する（ステップＳ１０６）。そして、処理を終了した時点での復元データＩ０＋ｎを元画像のデータＩｍｇと推定し、そのデータを記録部５に記録する。なお、記録部５には、初期画像のデータＩ０や変化要因情報のデータＧを記録しておき、必要により処理部４に渡すようにしても良い。
【００４２】
以上の処理方法の考え方をまとめると以下のようになる。すなわち、この処理方法においては、処理の解を逆問題としては解かず、合理的な解を求める最適化問題として解くのである。逆問題として解く場合、理論上は可能であるが、現実問題としては困難である。
【００４３】
最適化問題として解くということは、次の条件を前提としている。
すなわち、
（１）入力に対する出力は、一意に決まる。
（２）出力が同じであれば、入力は同じである。
（３）出力が同じになるように、入力を更新しながら反復処理することにより、解を収束させていく。
【００４４】
このことを換言すれば、図４（Ａ）（Ｂ）に示すように、原画像のデータＩｍｇ’と近似である比較用データＩ０’（Ｉ０＋ｎ’）を生成できれば、その生成の元データとなる初期画像のデータＩ０または復元データＩ０＋ｎは、元画像のデータＩｍｇに近似したものとなる。
【００４５】
なお、この実施の形態では、角速度検出センサのサンプリング周波数を６０Ｈｚから２４０Ｈｚ内としているが、高周波数を検出できるように５μｓｅｃ毎に角速度を検出してもよい。また、差分のデータδの判定基準となる値は、各データを８ビット（０〜２５５）で現した場合に、この実施の形態では「６」としている。すなわち、６より小さい、つまり５以下の時は、処理を終了している。
【００４６】
次に、図３および図４に示す処理方法の詳細を、図５，図６，図７，図８，図９，図１０，図１１および図１２に基づいて説明する。
【００４７】
（手ブレの復元アルゴリズム）
手ブレが無いとき、所定の画素に対応する光エネルギーは、露光時間中、その画素に集中する。また、手ブレがある場合、光エネルギーは、露光時間中にぶれた画素に分散する。さらに、露光時間中のブレがわかれば、露光時間中のエネルギーの分散の仕方がわかるため、ぶれた画像からブレの無い画像を作ることが可能となる。
【００４８】
以下、簡単のため、横一次元で説明する。画素を左から順にn-1，n，n+1，n+2，n+3，…，とし、ある画素nに注目する。ブレが無いとき、露光時間中のエネルギーは、その画素に集中するため、エネルギーの集中度は「１．０」である。この状態を図５に示す。このときの撮影結果を、図６の表に示す。図６に示すものが、劣化しなかった場合の正しい画像データＩｍｇとなる。なお、各データは、８ビット（０〜２５５）のデータで現している。
【００４９】
露光時間中にブレがあり、露光時間中の５０％の時間はn番目の画素に、３０％の時間はn+1番目の画素に、２０％の時間はn+2番目の画素にそれぞれぶれていたとする。エネルギーの分散の仕方は、図７に示す表のとおりとなる。これが変化要因情報のデータＧとなる。
【００５０】
ブレは、全ての画素で一様であるので、上ブレ（縦ぶれ）が無いとすると、ブレの状況は、図８に示す表のとおりとなる。図８中の「撮影結果」として示されるデータが、元画像のデータＩｍｇで、「ブレ画像」として示されるデータが、劣化している原画像のデータＩｍｇ’となる。具体的には、たとえば「ｎ−３」の画素の「１２０」は、ぶれ情報である変化要因情報のデータＧの「０．５」「０．３」「０．２」の配分比に従い、「ｎ−３」の画素に「６０」、「ｎ−２］の画素に「３６」、「ｎ−１」の画素に「２４」というように分散する。同様に、「ｎ−２」の画素データである「６０」は、「ｎ−２」に「３０」、「ｎ−１」に「１８」、「ｎ」に「１２」として分散する。この劣化している原画像のデータＩｍｇ’と、図７に示す変化要因情報のデータＧから元画像を算出することとなる。
【００５１】
ステップＳ１０１に示す任意の画像データＩ０としては、どのようなものでも採用できるが、この説明に当たっては、原画像のデータにＩｍｇ’を用いる。すなわち、Ｉ０＝Ｉｍｇ’として処理を開始する。図９の表中に「入力」とされたものが初期画像のデータＩ０に相当する。このデータＩ０すなわちＩｍｇ’に、ステップＳ１０２で変化要因情報のデータＧをかける。すなわち、たとえば、初期画像のデータＩ０の「ｎ−３」の画素の「６０」は、ｎ−３の画素に「３０」が、「ｎ−２」の画素に「１８」が、「ｎ−１」の画素に「１２」がそれぞれ割り振られる。他の画素についても同様に配分され、「出力Ｉ０’」として示される比較用データＩ０’が生成される。このため、ステップＳ１０３の差分のデータδは、図９の最下欄に示すようになる。
【００５２】
この後、ステップＳ１０４にて差分のデータδの大きさを判断する。具体的には、差分のデータδが全て絶対値で５以下となった場合に処理を終了するが、図９に示す差分のデータδは、この条件に合わないため、ステップＳ１０５に進む。すなわち、差分のデータδを変化要因情報のデータＧを使用して、任意の画像のデータＩ０に配分して、図１０中の「次回入力」として示される復元データＩ０＋ｎを生成する。この場合、第１回目であるため、図１０では、Ｉ０＋１と現している。
【００５３】
差分のデータδの配分は、たとえば「ｎ−３」の画素データ「３０」に自分の所（＝「ｎ−３」の画素）の配分比である０．５をかけた「１５」を「ｎ−３」の画素に配分し、また「ｎ−２」の画素のデータ「１５」にその「ｎ−２」の画素にきているはずの配分比である０．３をかけた「４．５」を配分し、さらに、「ｎ−１」の画素のデータ「９．２」に、その「ｎ−１」の画素にきているはずの配分比である０．２をかけた「１．８４」を配分する。「ｎ−３」の画素に配分された総量は、「２１．３４」となり、この値を初期画像のデータＩ０（ここでは原画像のデータＩｍｇ’を使用）にプラスして、復元データＩ０＋１を生成している。
【００５４】
図１１に示すように、この復元データＩ０＋１がステップＳ１０２の入力画像のデータ（＝初期画像のデータＩ０）になり、ステップＳ１０２が実行され、ステップＳ１０３へと移行し、新しい差分のデータδを得る。その新しい差分のデータδの大きさをステップＳ１０４で判断し、所定値より大きい場合、ステップＳ１０５で新しい差分のデータδを前回の復元データＩ０＋１に配分し、新しい復元データＩ０＋２を生成する（図１２参照）。その後、ステップＳ１０２の遂行により、復元データＩ０＋２から新しい比較用データＩ０＋２’が生成される。このように、ステップＳ１０２，Ｓ１０３が実行された後、ステップＳ１０４へ行き、そこでの判断によりステップＳ１０５へ行ったり、ステップＳ１０６へ移行する。このような処理を繰り返す。
【００５５】
この画像処理装置１では、処理するに当たり、ステップＳ１０４において、事前に処理回数と、差分のデータδの判断基準値のいずれか一方または両者を設定できる。たとえば処理回数として２０回、５０回等任意の回数を設定できる。また、処理を停止させる差分のデータδの値を８ビット（０〜２５５）中の「５」と設定し、５以下になったら処理を終了させたり、「０．５」と設定し「０．５」以下になったら処理を終了させることができる。この設定値を任意に設定できる。処理回数と判断基準値の両者を入力した場合、いずれか一方が満足されたときは処理は停止される。なお、両者の設定を可能としたとき、判断基準値を優先し、所定の回数の処理では判断基準値内に入らなかった場合、更に所定回数の処理を繰り返すようにしても良い。
【００５６】
この実施の形態の説明の中では、要因情報保存部７に保存されている情報を利用しなかったが、ここに保存されている既知の劣化要因、たとえば光学収差やレンズのひずみなどのデータを使用するようにしても良い。その場合、たとえば、先の例（図３）の処理方法（反復処理）では、ブレの情報と光学収差の情報を合わせて１つの劣化要因として捉えて処理を行うのが好ましいが、ブレの情報での処理を終了した後に光学収差の情報での復元処理を行うようにしても良い。また、この要因情報保存部７を設置しないようにして、撮影時の動的要因、たとえばブレのみで画像を修正したり復元したりしても良い。
【００５７】
以上、本発明の実施の形態における画像処理装置１について説明したが、本発明の要旨を逸脱しない限り種々変更実施可能である。たとえば、処理部４で行った処理は、ソフトウェアで構成しているが、それぞれ、一部の処理を分担して行うようにした部品からなるハードウェアで構成しても良い。
【００５８】
また、処理対象となる画像としては原画像の他に、その原画像を色補正したり、フーリエ変換したり等、加工を施したものとしても良い。さらに、比較用データとしては、変化要因情報のデータＧを使用して生成したデータ以外に、変化要因情報のデータＧを使用して生成したものに色補正を加えたり、フーリエ変換したりしたデータとしても良い。また、変化要因情報のデータとしては、劣化要因情報のデータのみではなく、単に画像を変化させる情報や、劣化とは逆に、画像を良くする情報を含むものとする。
【００５９】
また、処理の反復回数が画像処理装置１側で自動的にまたは固定的に設定されている場合、その設定された回数を変化要因情報のデータＧによって変更するようにしても良い。たとえば、ある画素のデータがブレにより多数の画素に分散している場合は、反復回数を多くし、分散が少ない場合は反復回数を少なくするようにしても良い。
【００６０】
さらに、反復処理中に、差分のデータδが発散してきたら、すなわち大きくなっていったら処理を中止させるようにしても良い。発散しているか否かは、たとえば差分のデータδの平均値を見てその平均値が前回より大きくなったら発散していると判断する方法を採用できる。また、反復処理中に、入力を異常な値に変更しようとしたときには、処理を中止させるようにしても良い。たとえば８ビットの場合、変更されようとする値が２５５を超える値であるときには、処理を中止させる。また、反復処理中、新たなデータである入力を異常な値に変更しようとしたとき、その値を使用せず、正常な値とするようにしても良い。たとえば、８ビットの０〜２５５の中で、２５５を超える値を入力データとしようとした際は、マックスの値である２５５として処理するようにする。
【００６１】
また、出力画像となる復元データを生成する際、変化要因情報のデータＧによっては、復元させようとする画像の領域外へ出てしまうようなデータが発生する場合がある。このような場合、領域外へはみ出るデータは反対側へ入れる。また、領域外から入ってくるべきデータがある場合は、そのデータは反対側から持ってくるようにするのが好ましい。たとえば、領域内の最も下に位置する画素ＸＮ１のデータから、さらに下の画素に割り振られるデータが発生した場合、その位置は領域外になる。そこで、そのデータは画素ＸＮ１の真上で最も上に位置する画素Ｘ１１に割り振られる処理をする。画素ＸＮ１の隣の画素Ｎ２についても同様に真上で最上覧の画素Ｘ１２（＝画素Ｘ１１の隣り）に割り振ることとなる。
【００６２】
また、復元データＩ０＋ｎを生成するとき、配分比ｋを使用せず、対応する画素の差分のデータδをそのまま前回の復元データＩ０＋ｎ−１の対応する画素に加えたり、対応する画素の差分のデータδを変倍した後に加えたり、また差分のデータδが割り振られた後のデータｋδ（図１０、図１２中の「更新量」として示される値）を変倍して、前回の復元データＩ０＋ｎ−１に加えるようにしても良い。これらの処理方法をうまく活用すると、処理速度が速くなる。
【００６３】
また、復元データＩｏ＋ｎを生成するとき、劣化等の変化要因の重心を算出し、その重心のみの差分、またはその差分の変倍を前回の復元データＩｏ＋ｎ−１に加えるようにしても良い。この考え方、すなわち、変化要因の重心を利用した処理方法を、図３に示す処理方法を利用した第１の処理方法として、図１３および図１４に基づいて以下に説明する。
【００６４】
図１３に示すように、正しい画像のデータＩｍｇが画素１１〜１５，２１〜２５，３１〜３５，４１〜４５，５１〜５５で構成されているとき、図１３（Ａ）に示すように、画素３３に注目する。手ブレなどにより画素３３が画素３３，４３，５３，５２の位置へと動いていくと、劣化した画像である原画像のデータＩｍｇ’では、図１３（Ｂ）に示すように、画素３３，４３，５２，５３に初めの画素３３の影響が出る。
【００６５】
このような劣化の場合、画素３３が移動する際、画素４３の位置に最も長時間位置していたとすると、劣化、すなわち変化の要因の重心は、正しい画像のデータＩｍｇ中の画素３３に関しては原画像のデータＩｍｇ’では画素４３の位置にくる。これにより、差分のデータδは、図１４に示すように、原画像のデータＩｍｇ’と比較用データＩｏ’のそれぞれの画素４３の差として計算する。その差分のデータδは、初期画像のデータＩｏや復元データＩｏ＋ｎの画素３３に加えられる。
【００６６】
また、先の例で言えば、「０．５」「０．３」「０．２」の３つの重心は、最も値が大きい「０．５」の位置であり、自分の位置となる。よって「０．３」や「０．２」の割り振りを考慮せず、差分のデータδの「０．５」または０．５の変倍分のみ自己の位置に割り振るようにすることとなる。このような処理は、ブレのエネルギーが集中している場合に好適となる。
【００６７】
さらに、変化要因情報のデータＧの内容によって自動的に上述した各処理方法を選択させるようにすることもできる。たとえば、処理方法として、図５〜図１２に示したように、（１）配分比ｋを使用して差分のデータδを配分する方法（実施例方式）、（２）対応する画素の差分、または差分のデータδを変倍する方法（対応画素方式）、（３）劣化要因の重心を検出してその重心部分のデータを利用する方法（重心方法）の３方法を実行できるプログラムを処理部４内に保存しておき、劣化要因の状況を分析し、その分析結果に基づき、その３つの方法のいずれか１つを選択するようにする。また、３つの方法のうちいずれか複数を選択し、１ルーチンの度に交互に利用したり、最初の数回はある方式で処理し、その後は他の方式で処理するようにしても良い。
【００６８】
また、復元処理の高速化を図る意味で、逆問題と組み合わせる方法が存在する。すなわち、たとえば原画像の画像データから画素数を減じた縮小データで反復処理を行い、縮小した原画像から縮小した復元データへの伝達関数を算出する。そして算出された伝達関数を拡大、補間し、その拡大、補間された伝達関数を使って元画像の復元データを得る。この処理方法は大きな画像（画素数の多い画像）の処理に有利となる。
【００６９】
以下に、大きな画像の復元に有利な高速処理化の基本的な考え方について説明する。
【００７０】
反復処理だけでは、どうしても収束に時間がかかってしまう。この欠点は、大きな画像の場合、顕著となる。一方、周波数空間でのデコンボリューションは、高速フーリエ変換（Fast Fourier Transform:FFT）を利用して高速計算ができるため、非常に魅力的である。ここでいう光学的なデコンボリューションとは、歪みやぼけなどにより劣化等した画像からその歪みなどを除去して、劣化等していない元画像を復元することをいう。
【００７１】
画像の場合、入力をｉｎ（ｘ）、出力をｏｕ（ｘ）、伝達関数をｇ（ｘ）としたとき、理想状態では、出力ｏｕ（ｘ）はコンボリューション積分となり、
ｏｕ（ｘ）＝∫ｉｎ（ｔ）ｇ（ｘ−ｔ）ｄｔ…（３）
となる。なお、「∫」は積分の記号である。この式（３）は、周波数空間で、
Ｏ（ｕ）＝Ｉ（ｕ）Ｇ（ｕ）…（４）
となる。この既知の出力ｏｕ（ｘ）から、伝達関数ｇ（ｘ）または未知の入力ｉｎ（ｘ）を求めるのがデコンボリューションであり、この目的のため、周波数空間で、Ｉ（ｕ）＝Ｏ（ｕ）/Ｇ（ｕ）が求められれば、これを実空間に戻すことで、未知の入力ｉｎ（ｘ）を求めることができる。
【００７２】
しかし、実際はノイズ等より、式（３）は、「ｏｕ（ｘ）＋α（ｘ）＝∫ｉｎ（ｔ）ｇ（ｘ−ｔ）ｄｔ＋α（ｘ）」となる。ここで、「ｏｕ（ｘ）＋α（ｘ）」は既知だが、ｏｕ（ｘ）とα（ｘ）のそれぞれは未知である。これを、たとえ近似的に逆問題として解いたとしても、充分満足できる解を得ることは現実的には難しい。そこで、ｏｕ（ｘ）＋α（ｘ）＝∫ｉｎ（ｔ）ｇ（ｘ−ｔ）ｄｔ＋α（ｘ）≒∫ｊｎ（ｔ）ｇ（ｘ−ｔ）ｄｔとなる、ｊｎ（ｘ）を、反復処理法を用いて収束させていき、得るのが上述した図３の処理フローである。
ここで、「α（ｘ）≪ｏｕ（ｘ）」であれば、ｊｎ（ｘ）≒ｉｎ（ｘ）と考えられる。
【００７３】
しかしながら、この方法は全データ領域内での計算を反復、収束させるため、充分満足な解は得られるが、データ数が多くなると時間がかかるのが欠点である。一方、ノイズの無い理想的状態では、周波数空間でのデコンボリューション計算で高速に解を求めることができる。そこで、この２つの処理を組み合わせることで、充分満足な解を高速で得ることができる。
【００７４】
このような処理方法としては、２つの方法が考えられる。第１は、データを間引く画素数を減じる方法である。間引く場合、たとえば、図１５に示すように原画像のデータＩｍｇ’が、画素１１〜１６，２１〜２６，３１〜３６，４１〜４６，５１〜５６，６１〜６６で構成されているとき、１つおきに画素を間引き、画素１１，１３，１５，３１，３３，３５，５１，５３，５５からなる４分の１の大きさの原画像縮小データＩＳｍｇ’を生成する方法がある。
【００７５】
このように、原画像のデータＩｍｇ’と変化要因情報データＧとを間引き、間引かれた原画像縮小データＩＳｍｇ’と縮小された変化要因情報のデータＧＳを生成し、原画像縮小データＩＳｍｇ’と縮小された変化要因情報のデータＧＳを用いて、図３に示す反復処理を行い、原画像縮小データＩＳｍｇ’へ変化する前の縮小元画像ＩＳｍｇに近似する充分満足な間引かれた近似した縮小復元データＩＳｏ＋ｎを得る。
【００７６】
この縮小された近似する縮小復元データＩＳｏ＋ｎを原画像縮小データＩＳｍｇ’へ変化する前の縮小元画像ＩＳｍｇ、すなわち正しい画像Ｉｍｇの縮小した画像と推定する。そして、原画像縮小データＩＳｍｇ’は、縮小復元データＩＳｏ＋ｎと伝達関数ｇ（ｘ）のコンボリューション積分と考え、得られた縮小復元データＩＳｏ＋ｎと既知の原画像縮小データＩＳｍｇ’から未知の伝達関数ｇ１（ｘ）を得ることができる。
【００７７】
縮小復元データＩＳｏ＋ｎは充分満足なデータではあるが、あくまで近似である。したがって、本来の復元データＩｏ＋ｎと原画像のデータＩｍｇ’の伝達関数ｇ（ｘ）は、縮小されたデータでの反復処理で得られた伝達関数ｇ１（ｘ）ではない。そこで、縮小復元データＩＳｏ＋ｎと縮小した原画像のデータである原画像縮小データＩＳｍｇ’から伝達関数ｇ１（ｘ）を算出し、算出した伝達関数ｇ１（ｘ）を拡大し、拡大した間を補間して、修正することで得られた新伝達関数ｇ２（ｘ）を、元データとなる原画像のデータＩｍｇ’に対する伝達関数ｇ（ｘ）とする。新伝達関数ｇ２（ｘ）は、得られた伝達関数ｇ１（ｘ）に対して原画像縮小データの縮小率の逆数倍にし、その後、拡大した間の値を線形補間やスプライン補間等の補間処理をすることで得られる。たとえば、図１５のように縦横共に１／２に間引いた場合、１／４の縮小率となるため、逆数倍としては４倍となる。
【００７８】
そして、その修正した新伝達関数ｇ２（ｘ）（＝ｇ（ｘ））を使用し、周波数空間でデコンボリューション計算（ボケを含む画像群から計算によってボケを除去する計算）を行い、全体画像の完全な復元データＩｏ＋ｎを得て、それを劣化していない元の正しい画像Ｉｍｇ（元画像）と推定する。
【００７９】
以上の処理の流れを、図１６に示すフローチャート図で示す。
【００８０】
ステップＳ２０１では、原画像のデータＩｍｇ’と変化要因情報のデータＧを１／Ｍに縮小する。図１５の例では１／４に縮小される。得られた原画像縮小データＩＳｍｇ’と、縮小変化要因情報のデータＧＳと、任意の画像（所定の画像）のデータＩｏとを使用し、図３に示すステップＳ１０２〜ステップＳ１０５を繰り返す。そして、差分のデータδが小さくなる画像、すなわち原画像縮小データＩＳｍｇ’へ変化する前の縮小元画像ＩＳｍｇに近似する縮小復元データＩＳｏ＋ｎを得る（ステップＳ２０２）。このとき、図３に示す「Ｇ，Ｉｍｇ’，Ｉｏ＋ｎ」は、「ＧＳ，ＩＳｍｇ’，ＩＳｏ＋ｎ」に置き換えられる。
【００８１】
得られた縮小復元データＩＳｏ＋ｎと既知の原画像縮小データＩＳｍｇ’とから、原画像縮小データＩＳｍｇ’から縮小復元データＩＳｏ＋ｎへの伝達関数ｇ１（ｘ）を算出する（ステップＳ２０３）。その後、ステップＳ２０４では、得られた伝達関数ｇ１（ｘ）をＭ倍（図１５の例では４倍）して拡大し、拡大されたその間を線形補間等の補間手法にて補間し、新伝達関数ｇ２（ｘ）を得る。この新伝達関数ｇ２（ｘ）を元画像に対しての伝達関数ｇ（ｘ）と推定する。
【００８２】
次に、算出した新伝達関数ｇ２（ｘ）と原画像のデータＩｍｇ’からデコンボリューションを行い、復元データＩｏ＋ｎを求める。この復元データＩｏ＋ｎを元画像とする（ステップＳ２０５）。以上のように、イ）反復処理と、ロ）伝達関数ｇ１（ｘ），ｇ２（ｘ）を求め、その求められた新伝達関数ｇ２（ｘ）を使用した処理と、を併用することで、復元処理の高速化が図れる。
【００８３】
なお、この処理の場合、得られた正しい画像と推定された復元データＩｏ＋ｎを図３に示す処理の初期画像のデータＩｏとして使用し、変化要因情報のデータＧと劣化した原画像のデータＩｍｇ’とを用い、さらに反復処理を実行するようにしても良い。
【００８４】
縮小されたデータを利用する方法の第２は、原画像のデータＩｍｇ’の一部の領域のデータを取り出すことで原画像縮小データＩＳｍｇ’とする方法である。この方法を、図３に示す処理方法を利用した第３の処理方法として説明する。たとえば、図１７に示すように、原画像のデータＩｍｇ’が、画素１１〜１６，２１〜２６，３１〜３６，４１〜４６，５１〜５６，６１〜６６で構成されているとき、その中央の領域である、画素３２，３３，３４，４２，４３，４４からなる６分の１の大きさの領域を取り出し、原画像縮小データＩＳｍｇ’を生成する方法である。
【００８５】
この第２の方法を図１８のフローチャートを用いて詳細に説明する。
【００８６】
第２の方法では、まずステップＳ３０１で上述のように原画像縮小データＩＳｍｇ’を得る。次に、この原画像縮小データＩＳｍｇ’と、変化要因情報データＧと、任意の画像データで原画像縮小データＩＳｍｇ’と同じ大きさ（=同じ画素数）の初期画像のデータＩｏを使用し、図３に示すステップＳ１０２〜ステップＳ１０５の処理を繰り返し、縮小復元データＩＳｏ＋ｎを得る（ステップＳ３０２）。この処理では、図３中の「Ｉｍｇ’」を「ＩＳｍｇ’」に、「Ｉｏ＋ｎ」を「ＩＳｏ＋ｎ」にそれぞれ置き換えられる。
【００８７】
得られた縮小復元データＩＳｏ＋ｎと既知の原画像縮小データＩＳｍｇ’とから、縮小復元データＩＳｏ＋ｎから原画像縮小データＩＳｍｇ’への伝達関数ｇ１’（ｘ）を算出する（ステップＳ３０３）。次に、算出された伝達関数ｇ１’（ｘ）を元画像Ｉｍｇに対する伝達関数ｇ’（ｘ）とし、この伝達関数ｇ１’（ｘ）（＝ｇ’（ｘ））と既知の原画像のデータＩｍｇ’を用いて、元画像Ｉｍｇを逆計算により求める。なお、求められたものは、実際は、元画像Ｉｍｇに近似する画像のデータとなる。
【００８８】
以上のように、イ）反復処理と、ロ）伝達関数ｇ１’（ｘ）を求め、その求められた伝達関数ｇ１’（ｘ）を使用した処理と、を併用することで、復元処理の高速化が図れる。なお、求められた伝達関数ｇ１’（ｘ）をそのまま全体の伝達関数ｇ’（ｘ）とせず、変化要因情報データＧを利用して修正するようにしても良い。
【００８９】
このように、上述した高速化のための第２の方法では、画像領域全体を反復処理で復元せず、領域の一部分を反復処理し良好な復元画像を求め、それを使ってその部分に対する伝達関数ｇ１’（ｘ）を求め、その伝達関数ｇ１’（ｘ）自体またはそれを修正（拡大など）したものを用いて画像全体の復元を行うものである。ただし、取り出してくる領域は、変動領域よりも充分大きな領域とする必要がある。図５等に示した先の例では、３画素に渡って変動しているので、３画素以上の領域を取り出してくる必要がある。
【００９０】
なお、図１７、図１８に示す縮小領域を取り出してくる方法の場合、原画像のデータＩｍｇ’を、たとえば図１９に示すように、４分割し、各分割領域から一部の領域を取り出し、小さい領域である４つの原画像縮小データＩＳｍｇ’をそれぞれ反復処理し、４分割された分割区域をそれぞれ復元し、復元された４つの分割画像を一つにすることで元の全体画像としても良い。なお、複数に分割する際、必ず複数領域に渡って重なる領域(オーバーラップ領域）を持つようにするのが好ましい。また、各復元された画像のオーバーラップ領域は、平均値を使ったり、オーバーラップ領域で滑らかにつなぐなどの処理を行うようにするのが好ましい。
【００９１】
さらに、実際に図３の処理方法を採用した場合、コントラストの急激な変化のある画像等については、良好な近似の復元画像への収束が遅いことが判明した。このように、元の画像である被写体の性質によっては、反復処理の収束スピードが遅く、反復回数を多くしなければならない場合がある。このような被写体の場合、次のような処理方法を採用すると、この問題を解決できると推定される。
【００９２】
その方法とは以下のとおりである。すなわち、コントラストの急激な変化のある被写体は、図３に示す処理方法による復元の復元処理を使用し、元の画像に近似したものを得ようとすると、反復数が非常に多くなると共に多くの回数の処理を行った後も、元の被写体に近似する復元データＩ０＋ｎを生成できない。そこで、撮影された原画像（ブレ画像）のデータＩｍｇ’に、既知の画像のデータＢから撮影時の変化要因情報のデータＧを用いてブレ画像のデータＢ’を生成し、そのデータＢ’を重ね合わせ、「Ｉｍｇ’＋Ｂ’」を作る。その後、重ね合わせた画像を図３に示す処理にて復元処理し、その復元データＩ０＋ｎとなる結果データＣから既知の加えた画像のデータＢを取り去り、求めたい復元画像のデータＩｍｇを取り出す。
【００９３】
この方法では、正しい画像のデータＩｍｇは急激なコントラスト変化を含んでいるが、既知の画像のデータＢを加えることで、この急激なコントラスト変化を軽減することができ、復元処理の反復数を低減することができる。
【００９４】
また、復元の困難な被写体の処理方法および高速な処理方法として、他の処理方法も採用できる。たとえば、復元処理の反復数を多くすれば良好な復元画像により近づけることができるが、処理に時間がかかる。そこで、ある程度の反復処理数で得られた画像を用いて、そこに含まれる誤差成分を算出し、誤差を含む復元画像から、算出した誤差を取り去ることで良好な復元画像すなわち復元データＩ０＋ｎを得ることができる。
【００９５】
この方法を具体的に以下に説明する。求めたい正しい原画像をＡとし、撮影した原画像をＡ’とし、原画像Ａ’から復元した画像をＡ＋γとし、その復元データから生成したブレた比較用データをＡ’＋γ’とする。この「Ａ’＋γ’」に、撮影した原画像「Ａ’」を付加し、それを復元処理すると、「Ａ＋γ＋Ａ＋γ＋γ」となり、これは「２Ａ＋３γ」であり、また、「２（Ａ＋γ）＋γ」である。「Ａ＋γ」は前回の復元処理で求まっているので、「２（Ａ＋γ）＋γ−２（Ａ＋γ）」が計算でき、「γ」が求まる。よって「Ａ＋γ」から「γ」を取り去ることで、求めたい正しい原画像Ａが得られる。
【００９６】
以上説明した各処理方法、すなわち、（１）配分比ｋを使用して差分のデータδを配分する方法（実施例方式）、（２）対応する画素の差分、または差分のデータδを変倍する方法（対応画素方式）、（３）劣化要因の重心を検出してその重心部分のデータを利用する方法（重心方法）、（４）データを間引き、逆問題と組み合わせる方法（逆問題間引き方法）、（５）縮小領域を取り出し、逆問題と組み合わせる方法（逆問題領域取り出し方法）、（６）所定の画像を重ね合わせて反復処理し、その後、その所定の画像を取り去る方法（苦手画像対策重ね合わせ方法）、（７）誤差を含む復元画像から、算出した誤差を取り去る方法（誤差取り出し方法）の各処理方法のプログラムを処理部４に保存しておき、使用者の選択または画像の種類に応じて自動的に、処理方法を選択できるようにしても良い。
【００９７】
また、処理部４は、変化要因情報のデータＧを複数の種類の内のいずれかに分類付けし、その分類毎に違う処理（上述した各方法のいずれか１つ）を行うようにしたり、また、その分類毎に、繰り返しの回数を異ならせるようにしても良い。
【００９８】
また、これら（１）〜（７）のいずれか複数を処理部４に保存しておき、使用者の選択または画像の種類に応じて自動的に、処理方法を選択できるようにしても良い。また、これら５つの方法のうちいずれか複数を選択し、１ルーチンの度に交互または順番に利用したり、最初の数回はある方式で処理し、その後は他の方式で処理するようにしても良い。なお、画像処理装置１は、上述した（１）〜（７）のいずれか１つまたは複数の他に、それらとは異なる処理方法をも有するようにしても良い。
【００９９】
また、上述した各処理方法は、プログラム化されても良い。また、プログラム化されたものが記憶媒体、たとえばＣＤ、ＤＶＤ、ＵＳＢメモリに入れられ、コンピュータによって読みとり可能とされても良い。この場合、画像処理装置１は、その記憶媒体内のプログラムを読み込む読み込み手段を持つこととなる。さらには、そのプログラム化されたものが画像処理装置１の外部サーバに入れられ、必要によりダウンロードされ、使用されるようにしても良い。この場合、画像処理装置１は、その記憶媒体内のプログラムをダウンロードする通信手段を持つこととなる。
【０１００】
なお、三脚に画像処理装置１を固定して被写体を撮影した場合であっても、振動に起因して原画像が劣化する場合がある。その場合の振動は、三脚が設置されている近くで自動車や人間が移動する際に、地面及び当該三脚を介して画像処理装置１に伝搬する振動等である。この場合の振動は、比較的固い地盤を伝搬してくるものであるため、手ブレなどの振動に比べて高い周波数となることもある。そこで、画像処理装置１に三脚を取り付けた場合には、振動の検出を、周波数０Ｈｚを越え２４０Ｈｚの範囲内で行い、画像処理装置１に三脚を取り付けない場合には、振動の検出を、周波数０Ｈｚを越えＦＨｚの範囲（２０≦Ｆ≦１２０）で行い、それらの振動データを利用して反復処理等の画像復元処理を行うことが好ましい。その構成を採用する場合には、三脚の取り付けの有無を検知し、自動的に振動の検出周波数が切り替わる構成とすることが、撮影者の負担を軽減できるためさらに好ましい。
【０１０１】
また上述した、振動の検出期間を、撮影開始前および／または撮影終了後の時間を含むこととする構成は、元画像を復元する処理部を有する画像処理装置であって、処理部は、画像劣化要因を構成する振動データを利用して復元処理を行うと共に、復元処理に利用する上記振動データは、周波数０Ｈｚを超えＦＨｚの範囲（２０≦Ｆ≦１２０）内のデータとした画像処理装置にのみ有効な構成ではない。復元機能を有する、他の画像処理装置、たとえば振動の検出を０Ｈｚを超え数ｋＨｚ等広い範囲に亘って検出している画像処理装置にこの構成を付加しても、画像処理装置の撮影（露光）期間に限らず、長期間に亘り発生している撮影者の振動を検出し、その振動データを用いて、点像関数等を算出することができるため、復元処理精度が向上し得る有利な効果を得ることができることは言うまでもない。
【０１０２】
また、上述の各例では、得られた振動データを周波数空間で手ブレ周波数帯域に近似制限しているが、周波数空間で制限させることなく、得られた振動データを実空間でそのまま利用することができる。また、手ブレ周波数帯域のみに検出データを制限するに当っては、振動データの中に手ブレ周波数とは異なる周波数が存在するときは,処理部４が自動的に利用する検出データを手ブレ周波数帯域に制限するようにしても良いが、予め、検出データそのものを手ブレ周波数帯域のみとするように処理部４を構成しても良い。
【０１０３】
なお、撮影が終了してから所定の時間分振動を検出するようにするには、露光終了からタイマーを働かせるのが好ましいが、露光開始からタイマーを働かせたり、シャッターが戻るのを検出し、その検出時点から所定時間としたり等、種々の方法が採用され得る。
【図面の簡単な説明】
【０１０４】
【図１】本発明の実施の形態に係る画像処理装置の主要構成を示すブロック図である。
【図２】図１に示す画像処理装置の概要を示す外観斜視図で、角速度センサの配置位置を説明するための図である。
【図３】図１に示す画像処理装置の処理部で行う画像復元処理方法（反復処理）に係る処理ルーチンを説明するための処理フロー図である。
【図４】図３に示す処理方法の概念を説明するための図である。
【図５】図３に示す処理方法を、手ブレを例にして具体的に説明するための図で、手ブレのないときのエネルギーの集中を示す表である。
【図６】図３に示す処理方法を、手ブレを例にして具体的に説明するための図で、手ブレのないときの画像データを示す図である。
【図７】図３に示す処理方法を、手ブレを例にして具体的に説明するための図で、手ブレが生じたときのエネルギーの分散を示す図である。
【図８】図３に示す処理方法を、手ブレを例にして具体的に説明するための図で、任意の画像から比較用データを生成する状況を説明するための図である。
【図９】図３に示す処理方法を、手ブレを例にして具体的に説明するための図で、比較用データと、処理対象となるぶれた原画像とを比較して、差分のデータを生成する状況を説明するための図である。
【図１０】図３に示す処理方法を、手ブレを例にして具体的に説明するための図で、差分のデータを配分し任意の画像に加えることで復元データを生成する状況を説明するための図である。
【図１１】図３に示す処理方法を、手ブレを例にして具体的に説明するための図で、生成された復元データから新たな比較用データを生成し、そのデータと処理対象となるぶれた原画像とを比較して差分のデータを生成する状況を説明するための図である。
【図１２】図３に示す処理方法を、手ブレを例にして具体的に説明するための図で、新たに生成された差分のデータを配分し、新たな復元データを生成する状況を説明するための図である。
【図１３】図３に示す処理方法を利用した第１の処理方法である変化要因の重心を利用した処理を説明するための図で、（Ａ）は正しい画像のデータ中の１つの画素に注目する状態を示す図で、（Ｂ）は原画像のデータを示す図中で、注目した画素のデータが拡がる状態を示す図である。
【図１４】図１３に示す第１の処理方法である変化要因の重心を利用した処理を、具体的に説明するための図である。
【図１５】図３に示す処理方法を利用した第２の処理方法を説明するための図で、（Ａ）は処理対象となる原画像のデータを示し、（Ｂ）は（Ａ）のデータを間引いたデータを示す図である。
【図１６】図１５に示す第２の処理方法のフローチャート図である。
【図１７】図３に示す処理方法を利用した第３の処理方法を説明するための図で、（Ａ）は処理対象となる原画像のデータを示し、（Ｂ）は（Ａ）のデータの一部を取り出したデータを示す図である。
【図１８】図１７に示す第３の処理方法のフローチャート図である。
【図１９】図１７、図１８に示す第３の処理方法の変形例を説明するための図で、原画像のデータを４分割し、各分割領域から、反復処理するための一部の領域を取り出すことを示す図である。
【符号の説明】
【０１０５】
１  画像処理装置
２  撮影部
３  制御系部
４  処理部
５  記録部
６  検出部
７  要因情報保存部
Ｉｏ  初期画像のデータ（任意の画像のデータ）
Ｉｏ’比較用データ
Ｇ  変化要因情報のデータ（劣化要因情報のデータ）
ＧＳ  縮小された変化要因情報のデータ
Ｉｍｇ’  原画像のデータ（撮影された画像）
ＩＳｍｇ’  原画像縮小データ
δ  差分のデータ
ｋ  配分比
Ｉｏ＋ｎ  復元データ（復元画像のデータ）
ＩＳｏ＋ｎ  縮小復元データ
Ｉｍｇ  劣化のない本来の正しい画像のデータ（元画像）
ＩＳｍｇ  縮小元画像  
ｇ（ｘ），ｇ’（ｘ），ｇ２（ｘ）  伝達関数（大きい画像を復元するための伝達関数）
ｇ１（ｘ），ｇ１’（ｘ）  伝達関数（縮小されたデータから得られた伝達関数）
【図１】
0004763415.tif 000002
【図２】
0004763415.tif 000003
【図３】
0004763415.tif 000004
【図４】
0004763415.tif 000005
【図５】
0004763415.tif 000006
【図６】
0004763415.tif 000007
【図７】
0004763415.tif 000008
【図８】
0004763415.tif 000009
【図９】
0004763415.tif 000010
【図１０】
0004763415.tif 000011
【図１１】
0004763415.tif 000012
【図１２】
0004763415.tif 000013
【図１３】
0004763415.tif 000014
【図１４】
0004763415.tif 000015
【図１５】
0004763415.tif 000016
【図１６】
0004763415.tif 000017
【図１７】
0004763415.tif 000018
【図１８】
0004763415.tif 000019
【図１９】
0004763415.tif 000020