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