(57)【要約】【課題】  手ブレの方向と程度を、正確にしかも簡単な操作によって操作者が指定可能とすることで、手ブレを高精度に補正可能とする。【解決手段】  ［手動補正］ウィンドウＷＤ３には、手ブレ補正ルーチンによる補正前画像と補正後画像が表わされる。また、補正前画像に重畳させてグラフィックスツールＴＬが表示されている。このグラフィックスツールＴＬは、マウスにより操作されることで、手ブレの方向と程度の入力が可能となっている。また、元画像は、補正後画像と比べて表示倍率が高くなっており、拡大表示されている。【選択図】        図１５
2005339085.tif 000002
【特許請求の範囲】
【請求項１】
撮影装置で撮影して得られた撮影画像の手ブレを補正する手ブレ画像補正装置であって、
前記手ブレの方向と程度の入力を受けて、該入力に基づいて前記撮影画像の手ブレの補正を実行する手ブレ補正手段と、
前記撮影画像の全体もしくは一部についての前記手ブレ補正手段による補正前画像と補正後画像を表わすウィンドウを表示装置に表示させるとともに、前記ウィンドウに対する操作者からの入力装置を用いた操作指令を受け付けるインターフェース手段と
を備えるとともに、
前記インターフェース手段は、
前記補正前画像を、前記補正後画像と比べて表示倍率を高くして表示させる補正前画像拡大表示手段と、
前記補正前画像拡大表示手段により表示された補正前画像に重畳させて所定のグラフィックスの部品を表示させるとともに、該部品に対する操作者からの入力装置を用いた操作指令に基づいて、前記撮影画像の手ブレの方向と程度を前記手ブレ補正手段への入力用として入力する手ブレ方向・程度入力手段と
を備える手ブレ画像補正装置。
【請求項２】
請求項１に記載の手ブレ画像補正装置であって、
前記所定のグラフィックスの部品を、始点、終点および両者を結ぶ直線の３部品により構成した手ブレ画像補正装置。
【請求項３】
請求項１または２に記載の手ブレ画像補正装置であって、
前記撮影画像に基づいて、前記手ブレの方向と程度を検出する手ブレ方向・程度検出手段を備え、
前記インターフェース手段は、
前記ウィンドウの初期表示時に、前記手ブレ方向・程度検出手段により検出された前記手ブレの方向と程度に基づいて前記手ブレ補正手段により補正された前記補正後画像を表示させる手段を備える手ブレ画像補正装置。
【請求項４】
請求項３に記載の手ブレ画像補正装置であって、
前記手ブレ方向・程度入力手段は、
前記ウィンドウの初期表示時に、前記所定のグラフィックスの部品の表示を、前記手ブレ方向・程度検出手段により検出された前記手ブレの方向と程度に基づいて定める手段を備える手ブレ画像補正装置。
【請求項５】
請求項３または４に記載の手ブレ画像補正装置であって、
前記補正前画像拡大表示手段は、
前記手ブレ方向・程度検出手段により検出された前記手ブレの程度が小さいほど、前記表示倍率を高くする構成である手ブレ画像補正装置。
【請求項６】
請求項３ないし５のいずれかに記載の手ブレ画像補正装置であって、
前記手ブレ方向・程度検出手段は、
前記撮影画像の画素毎に手ブレの方向と程度を検出する各画素手ブレ検出手段と、
前記各画素手ブレ検出手段により検出された手ブレの程度が最も大きいエッジ部を検出するエッジ検出手段と、
前記エッジ検出手段により検出された前記エッジ部の手ブレの方向と程度を、前記撮影画像全体の手ブレの方向と程度に定める手ブレ決定手段と
を備える手ブレ画像補正装置。
【請求項７】
請求項６に記載の手ブレ画像補正装置であって、
前記補正前画像拡大表示手段は、
前記エッジ検出手段により検出されたエッジ部を少なくとも含む領域を拡大表示させる構成である手ブレ画像補正装置。
【請求項８】
請求項７に記載の手ブレ画像補正装置であって、
前記手ブレ方向・程度入力手段は、
前記補正前画像拡大表示手段により表示された前記エッジ部に、前記所定のグラフィックスの部品を表示させた構成である手ブレ画像補正装置。
【請求項９】
請求項１ないし８のいずれかに記載の手ブレ画像補正装置であって、
前記手ブレ補正手段は、
入力された前記手ブレの方向と程度に基づいて、動作ぼかしを掛けるモーションブラーフィルタを設定するフィルタ設定手段と、
該設定されたモーションブラーフィルタを用いて、前記撮影画像に対して演算処理を行なうフィルタ演算手段と、
前記撮影画像と前記フィルタ演算手段により得られた画像との差分を演算する画像差分演算手段と、
前記撮影画像に対して前記差分を合成することにより、前記撮影画像に対して前記手ブレの方向と反対側にぶれた画像を前記補正後画像として生成する画像合成手段と
を備える手ブレ画像補正装置。
【請求項１０】
撮影装置で撮影して得られた撮影画像の手ブレを補正する手ブレ画像補正方法であって、
（ａ）前記手ブレの方向と程度の入力を受けて、該入力に基づいて前記撮影画像の手ブレの補正を実行する行程と、
（ｂ）前記撮影画像の全体もしくは一部についての前記行程（ａ）による補正前画像と補正後画像を表わすウィンドウを表示装置に表示させるとともに、前記ウィンドウに対する操作者からの入力装置を用いた操作指令を受け付ける行程と
を備えるとともに、
前記行程（ｂ）は、
（ｂ−１）前記補正前画像を、前記補正後画像と比べて表示倍率を高くして表示させる行程と、
（ｂ−２）前記行程（ｂ−１）により表示された補正前画像に重畳させて所定のグラフィックスの部品を表示させるとともに、該部品に対する操作者からの入力装置を用いた操作指令に基づいて、前記撮影画像の手ブレの方向と程度を前記行程（ａ）への入力用として入力する行程と
を備える手ブレ画像補正方法。
【請求項１１】
撮影装置で撮影して得られた撮影画像の手ブレを補正するためのコンピュータプログラムにおいて、
（ａ）前記手ブレの方向と程度の入力を受けて、該入力に基づいて前記撮影画像の手ブレの補正を実行する機能と、
（ｂ）前記撮影画像の全体もしくは一部についての前記機能（ａ）による補正前画像と補正後画像を表わすウィンドウを表示装置に表示させるとともに、前記ウィンドウに対する操作者からの入力装置を用いた操作指令を受け付ける機能と
をコンピュータに実現させるとともに、
前記機能（ｂ）は、
（ｂ−１）前記補正前画像を、前記補正後画像と比べて表示倍率を高くして表示させる機能と、
（ｂ−２）前記機能（ｂ−１）により表示された補正前画像に重畳させて所定のグラフィックスの部品を表示させるとともに、該部品に対する操作者からの入力装置を用いた操作指令に基づいて、前記撮影画像の手ブレの方向と程度を前記機能（ａ）への入力用として入力する機能と
を備えることを特徴とするコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムであって、
前記所定のグラフィックスの部品を、始点、終点および両者を結ぶ直線の３部品により構成したコンピュータプログラム。
【請求項１３】
請求項１１または１２に記載のコンピュータプログラムであって、
（ｃ）記撮影画像に基づいて、前記手ブレの方向と程度を検出する機能を備え、
前記機能（ｂ）は、
前記ウィンドウの初期表示時に、前記手ブレ方向・程度検出手段により検出された前記手ブレの方向と程度に基づいて前記機能（ａ）により補正された前記補正後画像を表示させる機能を備えるコンピュータプログラム。
【請求項１４】
請求項１３に記載のコンピュータプログラムであって、
前記機能（ｂ−２）は、
前記ウィンドウの初期表示時に、前記所定のグラフィックスの部品の表示を、前記機能（ｃ）により検出された前記手ブレの方向と程度に基づいて定める機能を備えるコンピュータプログラム。
【請求項１５】
請求項１３または１４に記載のコンピュータプログラムであって、
前記機能（ｂ−１）は、
前記機能（ｃ）により検出された前記手ブレの程度が小さいほど、前記表示倍率を高くする構成であるコンピュータプログラム。
【請求項１６】
請求項１３ないし１５のいずれかに記載のコンピュータプログラムであって、
前記機能（ｃ）は、
（ｃ−１）前記撮影画像の画素毎に手ブレの方向と程度を検出する機能と、
（ｃ−２）前記機能（ｃ−１）により検出された手ブレの程度が最も大きいエッジ部を検出する機能と、
（ｃ−３）前記機能（ｃ−２）により検出された前記エッジ部の手ブレの方向と程度を、前記撮影画像全体の手ブレの方向と程度に定める機能と
を備えるコンピュータプログラム。
【請求項１７】
請求項１１ないし１６のいずれかに記載のコンピュータプログラムであって、
前記機能（ａ）は、
（ａ−１）入力された前記手ブレの方向と程度に基づいて、動作ぼかしを掛けるモーションブラーフィルタを設定する機能と、
（ａ−２）該設定されたモーションブラーフィルタを用いて、前記撮影画像に対して演算処理を行なう機能と、
（ａ−３）前記撮影画像と前記機能（ａ−２）により得られた画像との差分を演算する機能と、
（ａ−４）前記撮影画像に対して前記差分を合成することにより、前記撮影画像に対して前記手ブレの方向と反対側にぶれた画像を前記補正後画像として生成する機能と
を備えるコンピュータプログラム。
【請求項１８】
請求項１１ないし請求項１７のいずれかに記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影装置で撮影して得られた撮影画像の手ブレを補正する技術に関する。
【背景技術】
【０００２】
デジタルカメラ（デジタルスチールカメラ）等で被写体を撮影する際、露光中のカメラの動き、いわゆる手ぶれによるボケが撮影画像に生じる。手ぶれによる画像の劣化を避けるため、従来から様々な技術が開発されてきた。
【０００３】
例えば、手ぶれの動きを検知するための加速度センサ等をカメラに装備しておき、同センサの検出信号を画像の動きに換算し、その画像の動きを補償する方向にカメラの光学系（プリズム、レンズ、あるいは撮像素子）を機械的に移動させる技術が知られている。
【０００４】
一方、加速度センサ等を利用しないで、画像からソフト的に手ぶれを補正する技術も提案されている（例えば、下記の特許文献１）。
【０００５】
【特許文献１】特開２０００−２９８３００号公報
【０００６】
しかしながら、上述した画像からソフト的に手ぶれを補正する技術では、精度よく手ブレを補正することができないという問題があった。というのも画像からでは、手ブレの方向と程度を正確に検出することが難しく、画像によっては高精度に手ブレを補正することができなかった。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の解決しようとする課題は、手ブレの方向と程度を、正確にしかも簡単な操作によって操作者が指定可能とすることで、手ブレを高精度に補正可能とすることにある。
【課題を解決するための手段】
【０００８】
前述した課題の少なくとも一部を解決するための手段として、以下に示す構成をとった。
【０００９】
本発明の手ブレ画像補正装置は、
撮影装置で撮影して得られた撮影画像の手ブレを補正する手ブレ画像補正装置であって、
前記手ブレの方向と程度の入力を受けて、該入力に基づいて前記撮影画像の手ブレの補正を実行する手ブレ補正手段と、
前記撮影画像の全体もしくは一部についての前記手ブレ補正手段による補正前画像と補正後画像を表わすウィンドウを表示装置に表示させるとともに、前記ウィンドウに対する操作者からの入力装置を用いた操作指令を受け付けるインターフェース手段と
を備えるとともに、
前記インターフェース手段は、
前記補正前画像を、前記補正後画像と比べて表示倍率を高くして表示させる補正前画像拡大表示手段と、
前記補正前画像拡大表示手段により表示された補正前画像に重畳させて所定のグラフィックスの部品を表示させるとともに、該部品に対する操作者からの入力装置を用いた操作指令に基づいて、前記撮影画像の手ブレの方向と程度を前記手ブレ補正手段への入力用として入力する手ブレ方向・程度入力手段と
を備えることを特徴としている。
【００１０】
上記構成の手ブレ画像補正装置によれば、表示装置に表示されるウィンドウに、手ブレ補正手段による補正前画像と補正後画像が表わされることから、操作者は、両画像を比較することで、手ブレ補正手段により手ブレがうまく補正されたか否かを容易に判定することができる。しかも、手ブレ方向・程度入力手段により、補正前画像に重畳させて表示されたグラフィックスの部品が操作されることで、手ブレの方向と程度の入力が操作者によりなされ、この入力に基づいて手ブレ補正手段による手ブレの補正がなされることから、操作者の視認により入力された手ブレの方向と程度に従う手ブレの補正を行なうことができる。また、補正前画像は、補正後画像と比べて表示倍率が高くなっていることから、操作者は、前記グラフィックスの部品を操作するに際して、手ブレの視認を容易に行なうことができる。
【００１１】
したがって、操作者の操作により正確に入力された手ブレの方向と程度に従う手ブレ補正を行なうことができることから、画像の手ブレを高精度に補正することができる。しかも、操作者にとっては、上述したように手ブレの視認が容易であることから、入力の際の操作性にも優れている。
【００１２】
前記所定のグラフィックスの部品は、始点、終点および両者を結ぶ直線の３部品により構成してもよい。
【００１３】
この構成によれば、撮影画像の手ブレの方向と程度を、シンプルな形状のグラフィックスの部品により表わすことがことができることから、構成が容易で、しかも操作者による操作が容易である。
【００１４】
前記構成の手ブレ画像補正装置において、前記撮影画像に基づいて、前記手ブレの方向と程度を検出する手ブレ方向・程度検出手段を備え、前記インターフェース手段は、前記ウィンドウの初期表示時に、前記手ブレ方向・程度検出手段により検出された前記手ブレの方向と程度に基づいて前記手ブレ補正手段により補正された前記補正後画像を表示させる手段を備える構成とすることができる。
【００１５】
この構成によれば、手ブレ方向・程度検出手段により、撮影画像から自動的に検出された手ブレの方向と程度に基づいて、手ブレ補正手段による手ブレの補正を行なって、ウィンドウの初期表示時には、その補正後画像を表示させることができる。このために、ウィンドウの初期表示直後においては、自動補正された補正画像を表示させることができる。
【００１６】
前記ウィンドウの初期表示直後に、自動補正された補正画像を表示させる構成の手ブレ画像補正装置において、前記手ブレ方向・程度入力手段は、前記ウィンドウの初期表示時に、前記所定のグラフィックスの部品の表示を、前記手ブレ方向・程度検出手段により検出された前記手ブレの方向と程度に基づいて定める手段を備える構成とすることができる。
【００１７】
この構成によれば、操作者は、手ブレ方向・程度検出手段により、撮影画像から自動的に検出された手ブレの方向と程度を、初期表示から知ることができ、操作者は、この初期表示を基に、前記グラフィックスの部品の操作を行なうことができる。このため、より一層、操作性に優れている。
【００１８】
前記補正前画像拡大表示手段は、前記手ブレ方向・程度検出手段により検出された前記手ブレの程度が小さいほど、前記表示倍率を高くする構成とすることができる。
【００１９】
この構成によれば、手ブレの程度が小さい場合に、補正前画像が高い表示倍率で表示されることから、操作者は、補正前画像から手ブレを視認することがより一層、容易であり、また、補正前画像に対するグラフィックスの部品を用いた手ブレの方向と程度の入力をより一層、容易に行なうことができる。
【００２０】
前記手ブレ方向・程度検出手段は、前記撮影画像の画素毎に手ブレの方向と程度を検出する各画素手ブレ検出手段と、前記各画素手ブレ検出手段により検出された手ブレの程度が最も大きいエッジ部を検出するエッジ検出手段と、前記エッジ検出手段により検出された前記エッジ部の手ブレの方向と程度を、前記撮影画像全体の手ブレの方向と程度に定める手ブレ決定手段とを備える構成とすることができる。
【００２１】
この構成によれば、撮影画像において最も手ブレの程度が大きいエッジ部における手ブレの方向と程度に基づいて、手ブレの補正が行なわれる。このために、撮影画像の自動的な手ブレ補正の精度を高めることができる。
【００２２】
上記構成の画像補正装置において、前記補正前画像拡大表示手段は、前記エッジ検出手段により検出されたエッジ部を少なくとも含む領域を拡大表示させる構成とすることができる。
【００２３】
この構成によれば、操作者による補正前画像に対するグラフィックスの部品を用いた操作が容易である。
【００２４】
さらに、前記手ブレ方向・程度入力手段は、前記補正前画像拡大表示手段により表示された前記エッジ部に、前記所定のグラフィックスの部品を表示させた構成とすることができる。
【００２５】
この構成によれば、その最も手ブレの程度が大きいエッジ部上に、前記所定のグラフィックスの部品を表示させることができることから、操作者による補正前画像に対するグラフィックスの部品を用いた操作がより一層、容易である。
【００２６】
前記構成の手ブレ画像補正装置において、前記手ブレ補正手段は、入力された前記手ブレの方向と程度に基づいて、動作ぼかしを掛けるモーションブラーフィルタを設定するフィルタ設定手段と、該設定されたモーションブラーフィルタを用いて、前記撮影画像に対して演算処理を行なうフィルタ演算手段と、前記撮影画像と前記フィルタ演算手段により得られた画像との差分を演算する画像差分演算手段と、前記撮影画像に対して前記差分を合成することにより、前記撮影画像に対して前記手ブレの方向と反対側にぶれた画像を前記補正後画像として生成する画像合成手段とを備える構成とすることができる。
【００２７】
この構成によれば、手ブレ補正手段により、入力された前記手ブレの方向と程度に基づいて手ブレを、より一層、高精度に補正することができる。
【００２８】
本発明の手ブレ画像補正方法は、
撮影装置で撮影して得られた撮影画像の手ブレを補正する手ブレ画像補正方法であって、
（ａ）前記手ブレの方向と程度の入力を受けて、該入力に基づいて前記撮影画像の手ブレの補正を実行する行程と、
（ｂ）前記撮影画像の全体もしくは一部についての前記行程（ａ）による補正前画像と補正後画像を表わすウィンドウを表示装置に表示させるとともに、前記ウィンドウに対する操作者からの入力装置を用いた操作指令を受け付ける行程と
を備えるとともに、
前記行程（ｂ）は、
（ｂ−１）前記補正前画像を、前記補正後画像と比べて表示倍率を高くして表示させる行程と、
（ｂ−２）前記行程（ｂ−１）により表示された補正前画像に重畳させて所定のグラフィックスの部品を表示させるとともに、該部品に対する操作者からの入力装置を用いた操作指令に基づいて、前記撮影画像の手ブレの方向と程度を前記行程（ａ）への入力用として入力する行程と
を備えることを特徴としている。
【００２９】
本発明のコンピュータプログラムは、
撮影装置で撮影して得られた撮影画像の手ブレを補正するためのコンピュータプログラムにおいて、
（ａ）前記手ブレの方向と程度の入力を受けて、該入力に基づいて前記撮影画像の手ブレの補正を実行する機能と、
（ｂ）前記撮影画像の全体もしくは一部についての前記機能（ａ）による補正前画像と補正後画像を表わすウィンドウを表示装置に表示させるとともに、前記ウィンドウに対する操作者からの入力装置を用いた操作指令を受け付ける機能と
をコンピュータに実現させるとともに、
前記機能（ｂ）は、
（ｂ−１）前記補正前画像を、前記補正後画像と比べて表示倍率を高くして表示させる機能と、
（ｂ−２）前記機能（ｂ−１）により表示された補正前画像に重畳させて所定のグラフィックスの部品を表示させるとともに、該部品に対する操作者からの入力装置を用いた操作指令に基づいて、前記撮影画像の手ブレの方向と程度を前記機能（ａ）への入力用として入力する機能と
を備えることを特徴としている。
【００３０】
本発明の手ブレ画像補正方法およびコンピュータプログラムによっても、本発明の手ブレ画像補正装置と同様に、操作者の操作により正確に手ブレの方向と程度を入力して、高精度の手ブレ補正を行なうことができ、しかも、その入力の操作性にも優れているという効果を奏する。
【００３１】
本発明の記録媒体は、本発明のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体を特徴としている。この記録媒体は、この発明の各コンピュータプログラムと同様な作用・効果を有している。
【００３２】
本発明は、以下のような他の態様も含んでいる。その第１の態様は、この発明のコンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様である。この第１の態様では、コンピュータプログラムをコンピュータネットワーク上のサーバなどに置き、通信経路を介して、必要なプログラムをコンピュータにダウンロードし、これを実行することで、上記の方法や装置を実現することができる。
【発明を実施するための最良の形態】
【００３３】
本発明を実施するための最良の形態を実施例に基づき説明する。この実施例を、次の順序に従って説明する。
Ａ．装置の構成：
Ｂ．コンピュータ処理：
Ｂ−１．処理の全体：
Ｂ−２．手ブレ補正処理：
Ｂ−２−１．自動補正：
Ｂ−２−２．手動補正：
Ｃ．作用・効果：
Ｄ．他の実施形態：
【００３４】
Ａ．装置の構成：
図１は、本発明の一実施例を適用するコンピュータシステムの概略構成を示す説明図である。この実施例のコンピュータシステムは、本発明の手ブレ画像補正装置を構成するパーソナルコンピュータ１０を中心に備え、その周辺装置として、ディスプレイ２０とキーボード２２とマウス２４を備える。さらに、パーソナルコンピュータ１０には、デジタルカメラ２６とＣＤドライブ２８とプリンタ２９が接続されている。キーボード２２とマウス２４は、本発明でいう操作者からの操作を受け付ける入力装置に該当する。ディスプレイ２０は、本発明でいう表示装置である。マウス２４は、トラックボール、トラックパッド、タブレット等の他のポインティングデバイスに換えることができる。
【００３５】
パーソナルコンピュータ１０は、中央演算処理装置としてのＣＰＵ１１を中心にバス１２により相互に接続されたメモリ１３、表示画像メモリ１４、ハードディスクドライブ１５、入力制御ユニット１６、表示制御ユニット１７、出力制御ユニット１８等を備える。メモリ１３は、各種データ等を記憶するもので、ＣＰＵ１１の作業領域となる。表示画像メモリ１４は、ディスプレイ２０に表示する画像の画像データを一旦記憶するメモリである。
【００３６】
ハードディスクドライブ１５は、手ブレ画像補正装置のソフトウェアとしてのコンピュータプログラムＰｒを記憶する。また、ハードディスクドライブ１５には、画像データＤｐが１または複数記憶されている。画像データＤｐは、デジタルカメラ２６によって撮影した撮影画像の画像データであり、ハードディスクドライブ１５の所定の領域（例えば、ホルダ）に格納されている。撮影画像は、カラー画像である。
【００３７】
入力制御ユニット１６は、キーボード２２やマウス２４から入力操作を取り込み、デジタルカメラ２６から画像データを取り込み、ＣＤドライブ２８からデータを取り込む制御ユニットである。表示制御ユニット１７は、ディスプレイ２０への信号出力を制御する制御ユニットである。出力制御ユニット１８は、プリンタ２９への印刷を制御する制御ユニットである。
【００３８】
コンピュータプログラムＰｒは、もともとは、記録媒体としてのＣＤ−ＲＯＭ（図示せず）に記憶されている。そのＣＤ−ＲＯＭをＣＤドライブ２８にセットして、所定のインストールプログラムを起動することで、コンピュータプログラムＰｒをＣＤ−ＲＯＭから読み出してハードディスクドライブ１５にインストールすることができる。このコンピュータプログラムＰｒをＣＰＵ１１が実行することにより、本発明の手ブレ画像補正装置の各種構成要件は実現される。
【００３９】
図１では、各種構成要件が、ＣＰＵ１１の内部で実現される機能のブロックによって示されている。すなわち、ＣＰＵ１１は、手ブレ補正部３０、インターフェース部３２を機能として備える。インターフェース部３２は、補正前画像拡大表示部３２ａおよび手ブレ方向・程度入力部３２ｂを備える。このコンピュータプログラムＰｒは、実際は、デジタルカメラ２６で撮影した撮影画像を修整するフォトレタッチ用のアプリケーションプログラムであり、その中の一部のモジュールによって、上述した各部３０、３２の機能をパーソナルコンピュータ１０に実現させる。
【００４０】
なお、コンピュータプログラムＰｒは、ＣＤ−ＲＯＭに替えて、フレキシブルディスク、光磁気ディスク、ＩＣカード等の他の携帯型記録媒体（可搬型記録媒体）に格納された構成として、これらから提供されたものとすることができる。また、このコンピュータプログラムＰｒは、外部のネットワークに接続される特定のサーバから、ネットワークを介して提供されたものとすることもできる。上記ネットワークとしては、インターネットであってもよく、特定のホームページからダウンロードして得たコンピュータプログラムであってもよい。あるいは、電子メールの添付ファイルの形態で供給されたコンピュータプログラムであってもよい。
【００４１】
Ｂ．コンピュータ処理：
Ｂ−１．処理の全体：
このコンピュータプログラムＰｒを起動すると、まず、ディスプレイ２０にアプリケーションウィンドウが表示される。このアプリケーションウィンドウは、グラフィカル・ユーザ・インタフェース（ＧＵＩ）を構成している。
【００４２】
図２は、アプリケーションウィンドウＷＤの一例を示す説明図である。図示するように、アプリケーションウィンドウＷＤの左側の処理メニュー欄ＭＮには、［入力］、［修整］、［印刷］、［出力］の４種類のボタンＢＴ１，ＢＴ２，ＢＴ３，ＢＴ４が、下方に向かって順に並んでおり、操作者は、これらボタンＢＴ１〜ＢＴ４を順にマウス２４によりクリックしていくことで、ＣＲＴディスプレイ１２の画面上で、デジタルカメラ２６で撮影した撮影画像を取り込み、修整して、出力する作業を進めていくことができる。
【００４３】
操作者は、まず、［入力］のボタンＢＴ１をクリックすることで、ハードディスクドライブ１５から画像データＤｐを取り込む処理を行なう。なお、ここでは、ハードディスクドライブ１５に換えて、デジタルカメラ２６から直接画像データを取り込む構成や、ＤＶＤ等の他の記憶媒体から画像データを取り込む構成に換えることができる。この取り込んだ画像データＤｐは、アプリケーションウィンドウＷＤの作業フィールドＦＤＷに表示される。
【００４４】
その後、操作者は、［修整］のボタンＢＴ２をクリックすることで、上記取り込んだ画像データＤｐの修整を行なう。図２は、［修整］のボタンＢＴ２がクリックされたときのものである。図示するように、アプリケーションウィンドウＷＤのメニューバーＭＢには、［ファイル］、［コースメニュー］、［編集］、［表示］、［修整］、［修復・加工］等のボタンが設けられている。［修整］のボタンをクリックすることにより、画像データＤｐに対して、回転やトリミングを行なったり、明度や彩度などの色補正を行なうことができる。図中には、［修復・加工］のボタンをクリックしたときに開くプルダウンメニューＤＭが示されている。操作者は、［修復・加工］のボタンをクリックし、プルダウンメニューＤＭから所望の選択肢をクリックすることにより、画像データＤｐに対して、「手ブレ補正」や「ピンボケ補正」等を行なうこともできる。
【００４５】
Ｂ−２．手ブレ補正処理：
Ｂ−２−１．自動補正：
上記「手ブレ補正」が、本発明に関わるものである。プルダウンメニューＤＭの［手ブレ補正］の選択肢がクリックされたときに実行される手ブレ補正処理について、以下、詳細に説明する。
【００４６】
図３は、ＣＰＵ１１により実行される手ブレ補正処理を示すフローチャートである。プルダウンメニューＤＭの［手ブレ補正］の選択肢がクリックされて、処理が開始されると、ＣＰＵ１１は、まず、［注目領域の指定］ウィンドウＷＤ１を、ディスプレイ２０に表示する処理を行なう（ステップＳ１００）。
【００４７】
図４は、［注目領域の指定］ウィンドウＷＤ１の一例を示す説明図である。図示するように、［注目領域の指定］ウィンドウＷＤ１には、画像表示フィールドＦＤ１と、［領域指定］ボタンＢＴ１１と、［拡大］ボタンＢＴ１２と、［縮小］ボタンＢＴ１３が設けられている。
【００４８】
画像表示フィールドＦＤ１には、アプリケーションウィンドウＷＤの作業フィールドＦＤＷに表示された画像データＤｐが表示される。表示の開始時には、表示倍率が調整され、画像データＤｐの画像全体が表示される。
【００４９】
「拡大」ボタンＢＴ１２は、画像表示フィールドＦＤ１に表示された画像を拡大するためのスイッチである。「拡大」ボタンがクリックされると、「表示拡大モード」になり、画像上にマウスカーソルを移動するとマウスカーソルの形状が変化し、この状態でクリックを行なうことで、画像を１０％単位で拡大することができる。同時にクリックした位置が画像表示フィールドＦＤ１の中心に設定される。
【００５０】
「縮小」ボタンＢＴ１３は、画像表示フィールドＦＤ１に表示された画像を縮小するためのスイッチである。「縮小」ボタンがクリックされると、「表示縮小モード」になり、画像上にマウスカーソルを移動するとマウスカーソルの形状が変化し、この状態でクリックを行なうことで、画像を１０％単位で縮小することができる。同時にクリックした位置が画像表示フィールドＦＤ１の中心に設定される。
【００５１】
図４に示した例では、「縮小」ボタンＢＴ１３をクリックして上記のように操作がなされた結果、画像データＤｐは所望の倍率に縮小され、撮影画像に写ったピアノの角部辺りが、画像表示フィールドＦＤ１の中心に位置するように表示されている。
【００５２】
［領域指定］ボタンＢＴ１１は、画像表示フィールドＦＤ１に表示された撮影画像に対して注目する領域（以下、「注目領域」と呼ぶ）を指定するためのスイッチである。［領域指定］ボタンＢＴ１１がクリックされると、「領域指定モード」になり、撮影画像上をドラッグして始点と終点を結んだ直線を対角線とする矩形で注目領域を指定することができる。
【００５３】
図５は、注目領域ＳＡの指定がなされた後の［注目領域の指定］ウィンドウＷＤ１の一例を示す説明図である。図示するように、画像表示フィールドＦＤ１に表示された画像に対して、矩形の線分によって注目領域ＳＡが指定される。操作者は、［領域指定］ボタンＢＴ１１をクリックした後、ドラッグの操作により、画像表示フィールドＦＤ１に表示された撮影画像上に所望の領域を指定することができる。図示の例では、撮影画像に写ったピアノの角部を中心として、注目領域ＳＡが指定されている。ピアノの角部のように周囲との濃度値（階調値）の差が大きい領域の境界、すなわちエッジ部分は、手ブレが顕著に現われることから、手ブレの検出が容易であるためである。この注目領域ＳＡを指定する処理が図３のステップＳ１１０である。
【００５４】
その後、［注目領域の指定］ウィンドウＷＤ１において、［ＯＫ］ボタンＢＴ１４がクリックされると、［注目領域の指定］ウィンドウＷＤ１は閉じられ、ＣＰＵ１１は、図３に示すように、続くステップＳ１２０に処理を進める。ステップＳ１２０では、ステップＳ１１０で指定された注目領域ＳＡで囲まれた領域のデータを、注目画像データＧＳとして抽出する。なお、注目領域ＳＡの指定が操作者によりなされない状態で、［ＯＫ］ボタンＢＴ１４がクリックされた場合には、画像データＤｐ全体を注目画像データＧＳとする。
【００５５】
その後、ＣＰＵ１１は、注目画像データＧＳで示される注目画像についての手ブレの方向θ１と程度ｍ１を検出する手ブレ方向・程度検出ルーチンを実行する（ステップＳ１３０）。
【００５６】
図６は、手ブレ方向・程度検出ルーチンの詳細を示すフローチャートである。図示するように、このルーチンに処理が移行すると、ＣＰＵ１１は、まず、初期設定として、変数ｍ１と変数θ１にそれぞれ値０をセットする（ステップＳ１３１）。次いで、ＣＰＵ１１は、ステップＳ１２０で抽出した注目画像データＧＳを構成する画素を１つ注目画素として選択する処理を行なう（ステップＳ１３２）。次いで、ＣＰＵ１１は、その注目画素を中心とする縦方向に３画素、横方向に３画素の３×３の領域に対して、水平方向ソーベル（Ｓｏｂｅｌ）フィルタを用いたフィルタ演算処理を実行する（ステップＳ１３３）。
【００５７】
図７は、水平方向ソーベルフィルタを示す説明図である。水平方向ソーベルフィルタは、縦方向に３画素、横方向に３画素の３×３のフィルタであり、図示のごとく、各ピクセルの重み係数が定められている。
【００５８】
ステップＳ１３３では、詳細には、注目画素を中心とする３×３の領域に対して、水平方向ソーベルフィルタに示される係数をそれぞれ乗算し、結果を合計するといったフィルタ演算処理を実行する。この合計値をＴｈとする。
【００５９】
図６に戻り、ステップＳ１３３の実行後、ＣＰＵ１１は、ステップＳ１３１で選択された注目画素を中心とする縦方向に３画素、横方向に３画素の３×３の領域に対して、垂直方向ソーベル（Ｓｏｂｅｌ）フィルタを用いたフィルタ演算処理を実行する（ステップＳ１３４）。
【００６０】
図８は、垂直方向ソーベルフィルタを示す説明図である。垂直方向ソーベルフィルタは、縦方向に３画素、横方向に３画素の３×３のフィルタであり、図示のごとく、各ピクセルの重み係数が定められている。
【００６１】
ステップＳ１３４では、詳細には、注目画素を中心とする３×３の領域に対して、垂直方向ソーベルフィルタに示される係数をそれぞれ乗算し、結果を合計するといったフィルタ演算処理を実行する。この合計値をＴｖとする。
【００６２】
ステップＳ１３４の実行後、ＣＰＵ１１は、ステップＳ１３３とステップＳ１３４のフィルタ演算処理により求められた合計値Ｔｈ、Ｔｖから、注目画素におけるエッジの方向θと程度ｍを算出する処理を行なう（ステップＳ１３５）。図９は、合計値Ｔｈ、Ｔｖとエッジの方向θ、程度ｍとの関係を示す説明図である。図示するように、ベクトル演算することで、合計値Ｔｈ、Ｔｖの和であるベクトルαが求まり、このベクトルαの方向θと長さｍを、注目画素におけるエッジの方向θと程度ｍとする。
【００６３】
図６に戻り、ステップＳ１３５の実行後、ＣＰＵ１１は、ステップＳ１３５で求めた程度ｍが、変数ｍ１より大きいか否かを判別する（ステップＳ１３６）。ここで、大きいと判別された場合には、変数ｍ１に程度ｍを代入するとともに、変数θ１にステップＳ１３５で求めたエッジの方向θを代入する（ステップＳ１３７）。すなわち、程度ｍが、これまでの値より大きくなったときに、その程度ｍと方向θを、ｍ１、θ１に記憶する処理を行なう。ステップＳ１３７の実行後、ＣＰＵ１１は、ステップＳ１３８に処理を進める。一方、ステップＳ１３６で、程度ｍが、変数ｍ１以下であると判別された場合には、ＣＰＵ１１は、ステップＳ１３７を実行することなく、ステップＳ１３８に処理を進める。
【００６４】
ステップＳ１３８では、ＣＰＵ１１は、注目画像データＧＳの全画素についてステップＳ１３２ないしＳ１３７の処理が終了したか否かを判定し、終了していなければ、ステップＳ１３２で画素を次の画素に移行して、ステップＳ１３３ないしＳ１３７の処理を繰り返す。一方、ステップＳ１３８で全画素についての処理が終了したと判定された場合には、「リターン」に抜けて、このルーチンの処理を一旦終了する。
【００６５】
上記のように構成された手ブレ方向・程度検出ルーチンによれば、注目画像データＧＳの中で、エッジの程度が最大となる画素におけるエッジの方向θ１と程度ｍ１が得られる。
【００６６】
図３に戻って、手ブレ方向・程度検出ルーチンを抜けると、ＣＰＵ１１は、ステップＳ１４０に処理を進める。ステップＳ１４０では、ＣＰＵ１１は、ステップＳ１２０で抽出した注目画像データＧＳについての手ブレ補正ルーチンを実行する。
【００６７】
図１０は、注目画像データＧＳについての手ブレ補正ルーチンの詳細を示すフローチャートである。図示するように、このルーチンに処理が移行すると、ＣＰＵ１１は、まず、手ブレ方向・程度検出ルーチンで算出されたエッジの方向θ１と程度ｍ１に基づいて、モーションブラー（Ｍｏｔｉｏｎ  Ｂｌｕｒ）フィルタを算出する処理を行なう（ステップＳ１４１）。モーションブラーフィルタは、画像に対し「動作ぼかし」をかけるフィルタであり、動作の方向とぼかしの程度の入力に応じてフィルタの係数が定まる。すなわち、動作の方向θおよび程度ｍと、モーションブラーフィルタＦ１とは、次式（１）の関係が成り立つ。
【００６８】
Ｆ１＝Ｆ（θ，ｍ）  ...（１）
ここで、Ｆは、モーションブラーフィルタを求める際の関数である。
【００６９】
そこで、ステップＳ１４１では、「動作の方向θ」を、手ブレ方向・程度検出ルーチンで算出されたエッジの方向θ１とし、「動作の程度ｍ」を、手ブレ方向・程度検出ルーチンで算出されたエッジの程度ｍ１として、上記式（１）の関係から、モーションブラーフィルタＦ１を算出する。
【００７０】
図１１は、モーションブラーフィルタの一例を示す説明図である。モーションブラーフィルタＦ１は、縦方向に３画素、横方向に３画素の３×３のフィルタであり、図示のごとく、各ピクセルの重み係数が定められている。
【００７１】
図１０に戻り、ステップＳ１４１の実行後、ＣＰＵ１１は、その注目画像データＧＳに対して、モーションブラーフィルタＦ１を用いたフィルタ演算処理を実行する（ステップＳ１４２）。詳細には、手ブレ方向・程度検出ルーチンと同様に、注目画像データＧＳから注目画素を選択して、その注目画素を中心とする縦方向に３画素、横方向に３画素の３×３の領域を抽出して、この３×３の領域に対して、フィルタ、ここでは、モーションブラーフィルタＦ１を用いたフィルタ演算処理を実行していく、このフィルタ演算処理によって求められた値に注目画素の階調値を変換する。この一連の処理を注目画素を順次切り換えて、注目画像データＧＳの全画素について行なう。こうして得られた新たな画像データをぼかし画像データＧＳ＊とする。
【００７２】
続いて、ＣＰＵ１１は、ステップＳ１２０で抽出した注目画像データＧＳからステップＳ１４２で求められたぼかし画像データＧＳ＊を引くことによって、両者の差分ＤＳを演算する（ステップＳ１４３）。詳細には、注目画像データＧＳとぼかし画像データＧＳ＊とを、画素毎にＲＧＢ毎の階調値の引き算を行なうことで、両画像データＧＳ、ＧＳ＊の差分ＤＳの演算を行なう。
【００７３】
その後、ＣＰＵ１１は、ステップＳ１４３で算出された差分ＤＳを、ステップＳ１２０で抽出した注目画像データＧＳに加えて、新たな画像データを生成する（ステップＳ１４４）。詳細には、注目画像データＧＳと差分ＤＳとを、画素毎にＲＧＢ毎の階調値の足し算を行なうことで、両データＧＳ、ＤＳを合成する演算を行なう。
【００７４】
図１２は、注目画像データＧＳについての手ブレ補正ルーチンに従う処理内容を概念的に示す説明図である。図中において、ハッチングの部分が、注目画像ＧＳにおける所定の部位であり、ここでは、ピアノの角部を模式化したものである。この部位の画像部分には、手ブレによるぼけた部分を含んでいる。この手ブレの方向θ１と程度ｍ１は、手ブレ方向・程度検出ルーチンにより自動的に検出されているが、図中のベクトルＶは、この手ブレの方向θ１と程度ｍ１を示すものである。ステップＳ１４１、Ｓ１４２によれば、ベクトルＶの方向θ１、長さｍ１でもって動作ぼかしがなされることから、ピアノの角部の下側境界線は、図中、１点鎖線の位置に移動し、この１点鎖線を境界とするぼかし画像ＧＳ＊が生成される。
【００７５】
ステップＳ１４３によれば、注目画像ＧＳからぼかし画像ＧＳ＊を引くことで両画像の差分ＤＳが、図示するように求まり、ステップＳ１４４では、この差分ＤＳを注目画像ＧＳに足し込むことで（ベクトルＶの方向を正の方向とすると、差分ＤＳは負の値をとることから）、注目画像ＧＳから手ブレにより動作ぼかしされた分だけ取り除くことができる。この結果、図中２点鎖線に示すように、手ブレがない新たな画像データＴＧＳを生成することができる。こうして得られた画像データＴＧＳは、高精度に手ブレが補正されている。以下、この画像データＴＧＳを「補正後注目画像データ」と呼ぶ。
【００７６】
図１０に戻り、ステップＳ１４４の実行後、「リターン」に抜けて、このルーチンの処理を一旦終了する。
【００７７】
図３に戻って、注目画像データＧＳについての手ブレ補正ルーチンを抜けると、ＣＰＵ１１は、ステップＳ１５０に処理を進める。ステップＳ１５０では、ＣＰＵ１１は、［手ブレ補正］ウィンドウＷＤ２を表示する処理を行なう。
【００７８】
図１３は、［手ブレ補正］ウィンドウＷＤ２の一例を示す説明図である。図示するように、［手ブレ補正］ウィンドウＷＤ２には、［元画像］表示フィールドＦＤ１１と、［補正後］表示フィールドＦＤ１２とが設けられている。［補正後］表示フィールドＦＤ１２の上部には、［ウィンドウに合わせて表示］ボタンＢＴ２１、［１００％表示］ボタンＢＴ２２、［１０％縮小表示］ボタンＢＴ２３、［１０％拡大表示］ボタンＢＴ２４が設けられている。下方には、［ＯＫ］ボタンＢＴ２５と［手動補正］ボタンＢＴ２６が設けられている。
【００７９】
［元画像］表示フィールドＦＤ１１には、ステップＳ１２０で抽出した注目画像データＧＳが表示される。［補正後］表示フィールドＦＤ１２には、注目画像データＧＳについての手ブレ補正ルーチンで得られた補正後注目画像データＴＧＳが表示される。両画像データＧＳ、ＴＧＳは、注目画像のサイズと両表示フィールドＦＤ１１、ＦＤ１２のサイズから自動計算された同じ位置および表示倍率で表示されており、操作者による比較が容易なように構成されている。
【００８０】
［ウィンドウに合わせて表示］ボタンＢＴ２１がクリックされると、［元画像］・［補正後］表示フィールドＦＤ１１、ＦＤ１２内に画像全体が表示されるように表示倍率が計算され、その表示倍率で両表示フィールドＦＤ１１、ＦＤ１２の画像が表示される。［１００％表示］ボタンＢＴ２２がクリックされると、両画像ともに、ディスプレイ２０の1 画素と画像データの1 画素が1：1 になるように表示される。［１０％縮小表示］ボタンＢＴ２３がクリックされると、両画像の現在の表示倍率を１０％縮小して表示される。［１０％拡大表示］ボタンＢＴ２４がクリックされると、両画像の現在の表示倍率を１０％拡大して表示される。
【００８１】
［ＯＫ］ボタンＢＴ２５は、［補正後］表示フィールドＦＤ１２に表示された補正後画像が良好だと操作者によって判断されたときに、操作者からのクリックを受け付けるものである。一方、［手動補正］ボタンＢＴ２６は、補正後画像が不可であると操作者によって判断されたときに、操作者からのクリックを受け付けるもので、この［手動補正］ボタンＢＴ２６がクリックされたときには、操作者による手動にて手ブレ補正を行なうことが可能となる。
【００８２】
図３に戻って、ステップＳ１５０で、上述した構成の［手ブレ補正］ウィンドウＷＤ２が表示されると、ＣＰＵ１１は、ステップＳ１６０に処理を進めて、操作者による操作指令は、上記［ＯＫ］ボタンＢＴ２５と［手動補正］ボタンＢＴ２６のいずれをクリックするものであるかを判別する処理を行なう。ここで、［ＯＫ］ボタンＢＴ２５がクリックされたと判定された場合には、手ブレ補正の対象である画像データＤｐに対して手ブレ補正処理を実行する（ステップＳ１７０）。
【００８３】
ステップＳ１７０の手ブレ補正処理は、詳細には、ステップＳ１３０の手ブレ方向・程度検出ルーチンで検出された手ブレの方向θ１と程度ｍ１を、手ブレ補正を施す画像データＤｐ全体の手ブレの方向として、この手ブレの方向θ１と程度ｍ１を用いて補正を行なうものである。すなわち、図１０に示した「注目画像データＧＳについての手ブレ補正ルーチン」において、処理対象を注目画像データＧＳに換えて画像データＤｐとした手ブレ補正処理を行なう。こうして得られた新たな画像データは、手ブレが補正された補正後画像データとして出力される。ステップＳ１７０の実行後、「リターン」に抜けて「手ブレ補正処理」は終了する。
【００８４】
一方、ステップＳ１６０で、［手動補正］ボタンＢＴ２６がクリックされたと判定された場合には、ＣＰＵ１１は、手動補正ルーチンを実行して（ステップＳ１８０）、その後、「リターン」に抜けて「手ブレ補正処理」を終了する。
【００８５】
Ｂ−２−２．手動補正：
図１４は、手動補正ルーチンの詳細を示すフローチャートである。図示するように、このルーチンに処理が移行すると、ＣＰＵ１１は、まず、ステップＳ１８１ないしＳ１８４の処理により、［手動補正］ウィンドウＷＤ３を表示する処理を行なう。
【００８６】
図１５は、［手動補正］ウィンドウＷＤ３の一例を示す説明図である。図示するように、［手動補正］ウィンドウＷＤ３には、［元画像］表示フィールドＦＤ２１と、［補正後］表示フィールドＦＤ２２とが設けられている。両表示フィールドＦＤ２１、ＦＤ２２のそれぞれの上部には、［１００％表示］ボタンＢＴ３１、ＢＴ４１と、［１０％縮小表示］ボタンＢＴ３２、ＢＴ４２と、［１０％拡大表示］ボタンＢＴ３３、ＢＴ４３とが設けられている。下方には、［ＯＫ］ボタンＢＴ４５が設けられている。また、［角度］エディットボックスＢＸ１と、［長さ］エディットボックスＢＸ２が設けられている。
【００８７】
［元画像］表示フィールドＦＤ２１には、ステップＳ１２０で抽出した注目画像データＧＳが表示される。［補正後］表示フィールドＦＤ２２には、注目画像データＧＳについての手ブレ補正ルーチンで得られた補正後注目画像データＴＧＳが表示される。両表示フィールドＦＤ２１、ＦＤ２２に表示される画像データＧＳ、ＴＧＳは、前述した［手ブレ補正］ウィンドウＷＤ２（図１３）と同じものであるが、表示倍率が［手ブレ補正］ウィンドウＷＤ２とは相違する。
【００８８】
［手動補正］ウィンドウＷＤ３では、初期表示時は、［元画像］表示フィールドＦＤ２１に表示される注目画像データＧＳ（元画像）は、［補正後］表示フィールドＦＤ２２に表示される補正後注目画像データＴＧＳ（補正後画像）と比べて表示倍率が高くなっている。この表示倍率は、ステップＳ１３０の手ブレ方向・程度検出ルーチンにより検出された手ブレの程度ｍ１に基づいて定められている。
【００８９】
図１６は、手ブレの程度ｍ１と表示倍率Ｒとの関係を示すグラフである。図示するように、手ブレの程度ｍ１が小さいほど、表示倍率Ｒは高くなっている。
【００９０】
図１４のステップＳ１８１では、ＣＰＵ１１は、［元画像］表示フィールドＦＤ２１と［補正後］表示フィールドＦＤ２２とに画像が表示されていない状態の［手動補正］ウィンドウＷＤ３のベースとなる画像を表示する。その後、ＣＰＵ１１は、ステップＳ１８２で、手ブレ方向・程度検出ルーチンにより検出された手ブレの程度ｍ１と、注目画像のサイズと、［元画像］表示フィールドＦＤ２１のサイズに基づいて表示倍率Ｒを求めて、その表示倍率Ｒでもって、注目画像データＧＳを［元画像］表示フィールドＦＤ２１に表示する。手ブレの程度ｍ１と表示倍率Ｒの関係は、前述したように、手ブレの程度ｍ１が小さいほど、表示倍率Ｒは高くなっている。なお、表示位置については、注目画像データＧＳの中心が［元画像］表示フィールドＦＤ２１の中央に位置するようになされており、上記表示倍率Ｒでもって表示しきれない外側部分は当然表示されない。
【００９１】
なお、表示位置については、上記の構成に換えて、手ブレ方向・程度検出ルーチンにより検出されたエッジの方向θ１と程度ｍ１を持つエッジの程度が最大となる画素（エッジ部）を、［元画像］表示フィールドＦＤ２１の中央に位置するように構成することができる。また、この構成に換えて、エッジの方向θ１と程度ｍ１を持つエッジの程度が最大となる画素を、［元画像］表示フィールドＦＤ２１のいずれかの位置に位置するように構成することもできる。
【００９２】
ステップＳ１８２の実行後、ＣＰＵ１１は、注目画像データＧＳについての手ブレ補正ルーチンで得られた補正後注目画像データＴＧＳを、［補正後］表示フィールドＦＤ２２に表示する（ステップＳ１８３）。この表示における表示倍率については、注目画像のサイズと、［補正後］表示フィールドＦＤ２２のサイズに基づいて定められており、前述したように、初期表示時は、［元画像］表示フィールドＦＤ２１に表示される元画像より表示倍率は低くなっている。
【００９３】
なお、［元画像］表示フィールドＦＤ２１に表示された画像についての表示倍率は、初期表示の状態から、［元画像］表示フィールドＦＤ２１の上方に配置された［１００％表示］ボタンＢＴ３１、［１０％縮小表示］ボタンＢＴ３２、［１０％拡大表示］ボタンＢＴ３３を操作することにより自由に変更することができる。［１００％表示］ボタンＢＴ３１がクリックされると、元画像は、ディスプレイ２０の1 画素と画像データの1 画素が1：1 になるように表示され、［１０％縮小表示］ボタンＢＴ３２がクリックされると、元画像の現在の表示倍率を１０％縮小して表示され、［１０％拡大表示］ボタンＢＴ３３がクリックされると、元画像の現在の表示倍率を１０％拡大して表示される。
【００９４】
表示位置については、［元画像］表示フィールドＦＤ２１の右側と下側に設けられたスライダーバＳＢ１，ＳＢ２を操作して画像をスクロールさせることで変更することができる。
【００９５】
一方、［補正後］表示フィールドＦＤ２２に表示された画像についての表示倍率も、初期表示の状態から、［補正後］表示フィールドＦＤ２２の上方に配置された［１００％表示］ボタンＢＴ４１、［１０％縮小表示］ボタンＢＴ４２、［１０％拡大表示］ボタンＢＴ４３を操作することにより自由に変更することができる。［１００％表示］ボタンＢＴ４１がクリックされると、補正後画像は、ディスプレイ２０の1 画素と画像データの1 画素が1：1 になるように表示され、［１０％縮小表示］ボタンＢＴ３２がクリックされると、補正後画像の現在の表示倍率を１０％縮小して表示され、［１０％拡大表示］ボタンＢＴ３３がクリックされると、補正後画像の現在の表示倍率を１０％拡大して表示される。
【００９６】
表示位置については、［補正後］表示フィールドＦＤ２２の右側と下側に設けられたスライダーバＳＢ３，ＳＢ４を操作して画像をスクロールさせることで変更することができる。
【００９７】
図１４に戻り、ステップＳ１８３の実行後、ＣＰＵ１１は、［元画像］表示フィールドＦＤ２１に表示された元画像に重畳させてグラフィックスツールＴＬを表示させる処理を行なう（ステップＳ１８４）。
【００９８】
図１７は、グラフィックスツールＴＬの周辺を拡大した説明図である。図示するように、グラフィックスツールＴＬは、始点を示す十字形のマークＭＫ１と、終点を示す十字形のマークＭＫ２と、両者を結ぶ直線ＬＮの３部品により構成されている。このグラフィックスツールＴＬは、［手動補正］ウィンドウＷＤ３の初期表示時には、手ブレ方向・程度検出ルーチンにより検出された手ブレの方向θ１と程度ｍ１に従って方向と長さが定まっている。詳細には、注目画像データＧＳの中心（すなわち、［元画像］表示フィールドＦＤ２１の中央）に、始点のマークＭＫ１を表示し、そのマークＭＫ１に対して、上記方向θ１に対応する角度と、程度ｍ１に対応する距離から定まる位置に、終点のマークＭＫ２を表示し、マークＭＫ１の位置とマークＭＫ２の位置を結ぶ直線ＬＮを表示する。
【００９９】
なお、初期表示時の始点のマークＭＫ１の表示は、注目画像データＧＳの中心に換えて、他の位置にすることもできる。例えば、手ブレ方向・程度検出ルーチンにより検出されたエッジの方向θ１と程度ｍ１を持つエッジの程度が最大となる画素を、［元画像］表示フィールドＦＤ２１に表示する前述した構成においては、この画素の位置に、初期表示時の始点のマークＭＫ１を表示する構成とすることができる。
【０１００】
このグラフィックスツールＴＬは、操作者のマウス２４の操作を受けて、方向や長さや位置が変更可能となっている。詳細には、始点のマークＭＫ１または終点のマークＭ２上に、マウスカーソルを移動すると、マウスカーソルの形状は所定の形状（例えば、「←→」といった形状）に変化し、この状態でドラッグすることにより始点のマークＭＫ１または終点のマークＭ２の位置を変更することができる。また、直線ＬＮ上にマウスカーソルを移動すると、マウスカーソルの形状が所定の形状（例えば、十字の形状）に変化し、この状態でドラッグすることにより始点と終点の位置関係を保ったまま、グラフィックスツールＴＬ全体を移動することができる。
【０１０１】
操作者は、上述したようにグラフィックスツールＴＬを操作することにより、元画像上の実際の「ブレ」と比較しながら、グラフィックスツールＴＬの方向と長さを変更するといったことを行なう。図１４のステップＳ１８５では、このグラフィックスツールＴＬに対する操作を受け付ける処理を行なっている。その後、ＣＰＵ１１は、グラフィックスツールＴＬの方向と長さを、操作者により手動入力された手ブレの方向θ２と程度ｍ２として求める処理を行なう（ステップＳ１８６）。
【０１０２】
図１８は、グラフィックスツールＴＬによって指定される手ブレの方向θ２と程度ｍ２を示す説明図である。図示するように、手ブレの方向θ２は、始点のマークＭＫ１から右向き水平方向を基準線として、基準線から右回り（時計回り）での角度で示され、手ブレの程度ｍ２は、始点のマークＭＫ１と終点のマークＭＫ２との間の距離、即ち、直線ＬＮの長さで示される。なお、上記手ブレの方向θ２を定める際の基準線および回りの方向については一例であり、これに換えて、他の方向を基準線とし、また、左回り（反時計回り）で、方向θ２を定める構成とすることもできる。
【０１０３】
なお、操作者は、上述したように、グラフィックスツールＴＬを操作することによって、手ブレの方向θ２と程度ｍ２を指定することができるが、この実施例では、さらに、［手動補正］ウィンドウＷＤ３に設けられた［角度］エディットボックスＢＸ１と［長さ］エディットボックスＢＸ２によっても、手ブレの方向θ２と程度ｍ２を指定可能である。
【０１０４】
図１４に戻り、ステップＳ１８６の実行後、ＣＰＵ１１は、ステップＳ１８６で求めた手ブレの方向θ２と程度ｍ２を用いた「注目画像データＧＳについての手ブレ補正ルーチン」を実行する（ステップＳ１８７）。注目画像データＧＳについての手ブレ補正ルーチンは、前述した図１０に示したものであるが、ここでは、ステップＳ１４１で算出するモーションブラーフィルタを、ステップＳ１８６で求めた手ブレの方向θ２と程度ｍ２に基づくものとした。すなわち、モーションブラーフィルタＦ２を、次式（２）に従って算出する。
【０１０５】
Ｆ２＝Ｆ（θ２，ｍ２）  ...（２）
ここで、Ｆは、モーションブラーフィルタを求める際の関数である。
【０１０６】
その後、このモーションブラーフィルタＦ２を用いてフィルタ演算してぼかし画像データＧＳ＊を求めて、注目画像データＧＳとぼかし画像データＧＳ＊の差分ＤＳを求めて、この差分ＤＳに注目画像データＧＳを足し混むことで、手ブレ補正がなされた補正後注目画像データＴＧＳを生成する。
【０１０７】
こうしてステップＳ１８７の処理が終了すると、ＣＰＵ１１は、ステップＳ１８７で求めた補正後注目画像データＴＧＳでもって、［補正後］表示フィールドＦＤ２２の表示を変更する（ステップＳ１８８）。
【０１０８】
その後、ＣＰＵ１１は、［手動補正］ウィンドウＷＤ３の［ＯＫ］ボタンＢＴ４５がクリックされたか否かを判別する（ステップＳ１８９）。［ＯＫ］ボタンＢＴ４５は、［補正後］表示フィールドＦＤ２２に表示された補正後画像が良好だと操作者によって判断されたときに、操作者によりクリックされるものであることから、［ＯＫ］ボタンＢＴ４５がクリックされていないと判別された場合には、手ブレ補正処理をやり直すべく、ステップＳ１８５に処理を戻して、ステップＳ１８５ないしＳ１８８のグラフィックツールＴＬを用いて手ブレの方向θ２と程度ｍ２を変更する処理を再度行なう。
【０１０９】
一方、ステップＳ１８９で、［ＯＫ］ボタンＢＴ４５がクリックされたと判別された場合には、［補正後］表示フィールドＦＤ２２に表示された補正後画像は良好であるとして、ステップＳ１９０に処理を進めて、手ブレ補正の対象である画像データＤｐに対して手ブレ補正処理を実行する。
【０１１０】
ステップＳ１９０の手ブレ補正処理は、詳細には、ステップＳ１８６で算出された手ブレの方向θ２と程度ｍ２を、手ブレ補正を施す画像データＤｐ全体の手ブレの方向として、この手ブレの方向θ２と程度ｍ２を用いて補正を行なうものである。すなわち、図１０に示した「注目画像データＧＳについての手ブレ補正ルーチン」において、モーションブラーフィルタＦ２を、上記手ブレの方向θ２と程度ｍ２に基づいて求めるとともに、処理対象を注目画像データＧＳに換えて画像データＤｐとした手ブレ補正処理を行なう。こうして得られた新たな画像データは、手ブレが補正された補正後画像データとして出力される。ステップＳ１９０の実行後、「リターン」に抜けてこのルーチンは一旦終了する。
【０１１１】
以上のように構成された手動補正ルーチンと、この手動補正ルーチンを実行するＣＰＵ１１により、インターフェース部３２（図１）は構成されている。手ブレ補正部３０は、ＣＰＵ１１と、ステップＳ１８７等で呼び出される手ブレ補正ルーチン等により構成される。インターフェース部３２に備えられる補正前画像拡大表示部３２ａは、ステップＳ１８２に対応し、手ブレ方向・程度入力手段は、ステップＳ１８４ないしステップＳ１８６が対応する。
【０１１２】
Ｃ．作用・効果：
以上のように構成されたこの実施例のコンピュータシステムによれば、ディスプレイ２０に表示される［手動補正］ウィンドウＷＤ３に、手ブレ補正ルーチンによる補正前画像と補正後画像が表わされることから、操作者は、両画像を比較することで、手ブレ補正ルーチンにより手ブレがうまく補正されたか否かを容易に判定することができる。しかも、元画像（補正前画像）に重畳させて表示されたグラフィックスツールＴＬが操作されることで、手ブレの方向と程度の入力が操作者によりなされ、この入力に基づいて手ブレ補正ルーチンにより手ブレの補正がなされることから、操作者の視認により入力された手ブレの方向と程度に従う手ブレの補正を行なうことができる。また、元画像は、補正後画像と比べて表示倍率が高くなっていることから、操作者は、グラフィックスツールＴＬを操作するに際して、手ブレの視認を容易に行なうことができる。
【０１１３】
したがって、操作者の操作により正確に入力された手ブレの方向と程度に従う手ブレ補正を行なうことができることから、画像の手ブレを高精度に補正することができる。しかも、操作者にとっては、上述したように手ブレの視認が容易であることから、入力の際の操作性にも優れている。
【０１１４】
この実施例では、グラフィックスツールＴＬは、始点のマークＭＫ１と、終点のマークＭＫ２と、両者を結ぶ直線ＬＮとの３部品により構成されている。このために、撮影画像の手ブレの方向と程度を、シンプルな形状のグラフィックスの部品により表わすことがことができることから、構成が容易で、しかも操作者による操作が容易である。
【０１１５】
この実施例では、手ブレ方向・程度検出ルーチンにより自動的に検出された手ブレの方向θ１と程度ｍ１に基づいて、手ブレ補正ルーチンによる手ブレの補正を行なって、［手動補正］ウィンドウＷＤ３の初期表示時には、その補正後画像を表示させるように構成されている。このために、［手動補正］ウィンドウＷＤ３の初期表示直後においては、自動補正された補正画像を表示させることができる。
【０１１６】
さらに、［手動補正］ウィンドウＷＤ３の初期表示時には、グラフィックスツールＴＬの表示は、手ブレ方向・程度検出ルーチンにより自動的に検出された手ブレの方向θ１と程度ｍ１に基づいて定められる構成となっている。このために、操作者は、この初期表示を基に、グラフィックスツールＴＬの操作を行なうことができる。したがって、手ブレの方向、程度を入力する際の操作性に、より一層優れている。
【０１１７】
この実施例は、［手動補正］ウィンドウＷＤ３に表示される元画像は、手ブレ方向・程度検出ルーチンにより自動的に検出された手ブレの程度ｍ１が小さいほど、表示倍率を高くする構成となっている。このために、手ブレの程度が小さい場合に、補正前画像が高い表示倍率で表示されることから、操作者は、元画像から手ブレを視認することがより一層、容易であり、また、補正前画像に対するグラフィックスツールＴＬを用いた手ブレの方向と程度の入力をより一層、容易に行なうことができる。
【０１１８】
この実施例では、手ブレ方向・程度検出ルーチンにより、注目画像データＧＳの中で、エッジの程度が最大となる画素におけるエッジの方向θ１と程度ｍ１が得られるように構成されている。このために、撮影画像において最も手ブレの程度が大きいエッジ部における手ブレの方向と程度に基づいて、手ブレの補正が行なわれる。したがって、撮影画像の自動的な手ブレ補正の精度を高めることができる。
【０１１９】
Ｄ．他の実施形態：
なお、この発明は上記の実施例や変形例に限られるものではなく、本発明の要旨を逸脱しない範囲において種々なる態様にて実施することが可能であり、例えば次のような変形も可能である。
【０１２０】
（１）前記実施例では、［手ブレ補正］ウィンドウＷＤ２、［手動補正］ウィンドウＷＤ３で表示する元画像は、画像データＤｐからトリミングした注目画像データＧＳとしていたが、これに換えてトリミングを行なうことなく、画像データＤｐをそのまま表示する構成としてもよい。
【０１２１】
（２）前記実施例では、手ブレの方向と程度を入力するためのグラフィックスツールＴＬは、始点のマークＭＫ１と、終点のマークＭＫ２と、両者を結ぶ直線ＬＮとの３部品により構成されていたが、これに換えて、矢印等の他の形状とすることもできる。要は、方向と長さを入力可能なツールであればどのような形状とすることもできる。
【０１２２】
（３）前期実施例の手ブレ方向・程度検出ルーチンでは、ソーベルフィルタを用いて、手ブレの方向と程度を検出していたが、この方法に限る必要もなく、他の方法で、手ブレの方向と程度を検出するように構成してもよい。
【０１２３】
（４）前記実施例では、手ブレ補正を行なう手ブレ補正ルーチンを、モーションブラーフィルタを用いてフィルタリングすることにより動作ぼかしを行なって、手ブレ補正を行なう構成であったが、この方法に限る必要もなく、要は、手ブレの方向と程度の入力を受けて、該入力に基づいて撮影画像の手ブレの補正を実行するものであればどのような構成とすることもできる。
【０１２４】
（５）前記実施例では、手ブレを補正する対象としての画像データＤｐは、デジタルカメラ２６により撮影したものとしたが、これに替えて、カラースキャナ等を用いて獲得した銀塩写真の画像データであってもよい。要は、なんらかの撮影装置（例えば、静止画の撮影機能を持ったビデオカメラ）で撮影して得られた撮影画像を獲得する構成であれば、どのような構成であってもよい。例えば、ＨＤＤ１５等の記憶装置に予め用意したものに換えて、ネットワークを介して外部から取り込んだものであってもよい。また、必ずしもカラーの画像データである必要もなく、白黒の画像データに適用することもできる。
【図面の簡単な説明】
【０１２５】
【図１】本発明の一実施例を適用するコンピュータシステムのハードウェアの概略構成を示す説明図である。
【図２】アプリケーションウィンドウＷＤの一例を示す説明図である。
【図３】ＣＰＵ１１により実行される手ブレ補正処理を示すフローチャートである。
【図４】［注目領域の指定］ウィンドウＷＤ１の一例を示す説明図である。
【図５】注目領域ＳＡの指定がなされた後の［注目領域の指定］ウィンドウＷＤ１の一例を示す説明図である。
【図６】手ブレ方向・程度検出ルーチンの詳細を示すフローチャートである。
【図７】水平方向ソーベルフィルタを示す説明図である。
【図８】垂直方向ソーベルフィルタを示す説明図である。
【図９】合計値Ｔｈ、Ｔｖとエッジの方向θ、程度ｍとの関係を示す説明図である。
【図１０】注目画像データＧＳについての手ブレ補正ルーチンの詳細を示すフローチャートである。
【図１１】モーションブラーフィルタＦ１の一例を示す説明図である。
【図１２】注目画像データＧＳについての手ブレ補正ルーチンに従う処理内容を概念的に示す説明図である。
【図１３】［手ブレ補正］ウィンドウＷＤ２の一例を示す説明図である。
【図１４】手動補正ルーチンの詳細を示すフローチャートである。
【図１５】［手動補正］ウィンドウＷＤ３の一例を示す説明図である。
【図１６】手ブレの程度ｍ１と表示倍率Ｒとの関係を示すグラフである。
【図１７】グラフィックスツールＴＬの周辺を拡大した説明図である。
【図１８】グラフィックスツールＴＬによって指定される手ブレの方向θ２と程度ｍ２を示す説明図である。
【符号の説明】
【０１２６】
１０...パーソナルコンピュータ
１１...ＣＰＵ
１２...バス
１３...メモリ
１４...表示画像メモリ
１５...ハードディスクドライブ
１６...入力制御ユニット
１７...表示制御ユニット
１８...出力制御ユニット
２０...ディスプレイ
２２...キーボード
２４...マウス
２６...デジタルカメラ
２８...ＣＤドライブ
２９...プリンタ
３０...手ブレ補正部
３２...インターフェース部
３２ａ...補正前画像拡大表示部
３２ｂ...手ブレ方向・程度入力部
Ｐｒ...コンピュータプログラム
Ｆ１、Ｆ２...モーションブラーフィルタ
ＷＤ...アプリケーションウィンドウ
ＦＤ１...画像表示フィールド
ＦＤＷ...作業フィールド
ＳＡ...注目領域
ＧＳ...注目画像データ
ＴＧＳ...補正後注目画像データ
ＷＤ１...［注目領域の指定］ウィンドウ
ＷＤ２...［手ブレ補正］ウィンドウ
ＦＤ１１...［元画像］表示フィールド
ＦＤ１２...［補正後］表示フィールド
ＢＴ２６...［手動補正］ボタン
ＷＤ３...［手動補正］ウィンドウ
ＦＤ２１...［元画像］表示フィールド
ＦＤ２２...［補正後］表示フィールド
ＴＬ...グラフィックスツール
ＭＫ１...マーク
ＭＫ２...マーク
ＬＮ...直線
θ１、θ２...手ブレの方向
ｍ１、ｍ２...手ブレの程度
【図１】
2005339085.tif 000003
【図２】
2005339085.tif 000004
【図３】
2005339085.tif 000005
【図４】
2005339085.tif 000006
【図５】
2005339085.tif 000007
【図６】
2005339085.tif 000008
【図７】
2005339085.tif 000009
【図８】
2005339085.tif 000010
【図９】
2005339085.tif 000011
【図１０】
2005339085.tif 000012
【図１１】
2005339085.tif 000013
【図１２】
2005339085.tif 000014
【図１３】
2005339085.tif 000015
【図１４】
2005339085.tif 000016
【図１５】
2005339085.tif 000017
【図１６】
2005339085.tif 000018
【図１７】
2005339085.tif 000019
【図１８】
2005339085.tif 000020