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