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