(57)【特許請求の範囲】
【請求項１】
対象画像の２次元周波数空間への変換画像を生成する第１のステップ、該変換画像を該周波数空間の原点を中心とする円の円周方向へ投影する第２のステップ、該第２のステップにより得られた関数にローパスフィルタ処理を施す第３のステップ、該ローパスフィルタ処理後の関数の極大点の方位を手ぶれ方向のパラメータとして検出する第４のステップ、該変換画像を該第４のステップで検出された極大点の方位に平行に投影する第５のステップ、及び、該第５のステップにより得られた関数の極小点の位置を手ぶれの大きさのパラメータとして検出する第５のステップからなることを特徴とする手ぶれパラメータ検出方法。
【請求項２】
対象画像の２次元周波数空間への変換画像を生成し、該変換画像より該対象画像の手ぶれの方向及び大きさのパラメータを検出する第１のステップ、該第１のステップにより検出されたパラメータを表す記号を該変換画像と関連付けてディスプレイ装置に表示させる第２のステップ、該ディスプレイ装置の画面上においてユーザにより該記号を操作させ、該操作された後の該記号に基づいて手ぶれの方向及び大きさのパラメータを求める第３のステップ、該対象画像の少なくとも部分画像を該第１のステップで検出されたパラメータに従って補正した補正画像及び該対象画像の少なくとも部分画像を該第３のステップで求められたパラメータに従って補正した補正画像をそれぞれ生成して該ディスプレイ装置に表示させる第４のステップ、及び、画像ディスプレイ装置の画面上においてユーザにより該該補正画像の一つを選択させ、選択された補正画像に対応した該第１ステップ又は該第３ステップで求められたパラメータを、該対象画像の補正のための手ぶれパラメータとして確定する第５のステップからなることを特徴とする手ぶれパラメータ検出方法。
【請求項３】
請求項２記載の手ぶれパラメータ検出方法において、該第２のステップで、手ぶれの方向に依存した方位の第１の直線、及び、手ぶれの大きさに依存した距離だけ該第１の直線から離れた第２の直線が該変換画像と重ねられて該ディスプレイ装置に表示され、該第３のステップで、ユーザにより手ぶれ方向のパラメータの修正のために該第１の直線が回転操作され、手ぶれの大きさのパラメータの修正のために該第２の直線が移動操作され、該操作後の該第１の直線の方位に基づいて手ぶれの方向のパラメータが求められ、該操作後の該第２の直線と該第１の直線との距離に基づいて手ぶれの大きさのパラメータが求められることを特徴とする手ぶれパラメータ検出方法。
【請求項４】
請求項２記載の手ぶれパラメータ検出方法において、該第１のステップで、手ぶれの方向及び大きさのパラメータは少なくとも２組検出され、該第４のステップでは、該第１のステップで検出されたパラメータの各組に従って補正された少なくとも２つの補正画像と、該第３のステップで求められたパラメータに従って補正された補正画像とが生成されて表示されることを特徴とする手ぶれパラメータ検出方法。
【請求項５】
該第１のステップで検出されたパラメータの信頼度を求めるステップをさらに有し、該信頼度は該第２のステップで表示される記号とともに該ディスプレイ装置に表示されることを特徴とする請求項２記載の手ぶれパラメータ検出方法。
【請求項６】
コンピュータに、請求項１乃至５のいずれか１項記載の手ぶれパラメータ検出方法の各ステップの手順を実行させるためのプログラムを記録した機械読み取り可能な情報記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、手ぶれにより劣化した画像の補正技術に係り、特に、劣化画像の手ぶれ補正のためのパラメータの検出技術に関する。
【０００２】
【従来の技術】
カメラで撮影した画像の品質を低下させる一因に「手ぶれ」がある。この手ぶれにより劣化した画像を修復するために様々な手法が試みられてきた。例えば、Ｍurat Ｔekalp 他による論文「Ｉdentification of Ｉmage and Ｂlur Ｐarameters for the Ｒestoration of Ｎoncausal Ｂlurs」，ＩＥＥＥ Ｔransaction on Ａcoustics，Ｓpeech，and Ｓignal Ｐrocessing，Ｖol．ＡＳＳＰ-３４，Ｎo．４，PP．９６３（１９８９）によれば、手ぶれによる「ぼけ」を特徴付けるパラメータを推測することが、品質の良い補正画像を合成するための条件であることがわかる。
【０００３】
手ぶれによって劣化した写真画像においては、通常、一方向に向かって画像の「尾引き現象」が見られる。その尾引きの方向を見つけることができれば、１次元のフィルタ処理で手ぶれによるぼけの補正が可能である。さらに、尾引きの長さは、このフィルタのサイズ、あるいは周波数の補正範囲を決める手がかりとなる。このための補正方式に関連した文献として、Ｒ．Ｆabin and Ｄ．Ｍalah；”Ｒobust identification of motion and out-of-focus blur parameters from blurred and noisy images”，Ｇraphical Ｍodules and Ｉmage Ｐrocessing，Ｖol．５３，Ｎo．５，pp.４０３−４１２，１９９１がある。これは、劣化した画像を周波数空間に変換した画像から、その「ぶれ」の方向を検出し、そして、ぶれの大きさを計測することに言及している。ただし、その検出を自動的に行う具体的な方法は述べられていない。
【０００４】
【発明が解決しようとする課題】
本発明の目的は、手ぶれによる劣化画像から、これを補正するための手ぶれの方向及び大きさのパラメータの自動検出を可能にすること、及び、自動検出されたパラメータの確認又は必要な修正を容易に行い得るようにすることにある。
【０００５】
【課題を解決するための手段】
Fabinらの論文にもあるように、手ぶれによる「ぼけ」は、次式のような１次元の点広がり関数（ＰＳＦ）によって近似的に表すことができる。
【０００６】
【数１】
0003812770.tif 000002
【０００７】
ここで、ｄは「ぼけ」の長さ、つまりデジタル画像における「ぼけ」の及ぶ画素数である。この形のＰＳＦは周波数空間では周知のsinｃ関数であり、次式のように表すことができる。
【０００８】
【数２】
0003812770.tif 000003
【０００９】
この関数は、ｕ＝１／ｄの周期でゼロが現れるから、Ｈ（ｕ，ｖ）をプロットして周期的なゼロ点を探せばｄが求まる、つまり手ぶれによる「ぼけ」の範囲が分かる。
【００１０】
さて、実空間画像においては手ぶれは高コントラスト部分の尾引き現象として画像が「流れ」て見えるが、これは被写体に大きく依存するため、実空間画像から手ぶれの方向を安定に検出することは困難である。ところで、ほとんどの画像は、その周波数分布が低周波から高周波までの成分を含んでいるが、手ぶれが起きると、手ぶれの方向の高周波成分が消滅するか減少するため、周波数スペクトルの強度を濃淡信号として２次元の平面にプロットすると、手ぶれに直交した方向に伸びた周波数分布が認められる。本発明では、この周波数分布の伸びた方向を２次元の周波数空間において検出することにより、手ぶれの方向を認識する。
【００１１】
本発明は、撮影された画像の２次元周波数空間への変換画像を利用して、手ぶれの方向と大きさのパラメータを検出する。この変換画像としては、例えば処理の対象画像のパワースペクトルを濃淡信号として２次元の周波数空間にプロットした図１のような画像が用いられる。図１において、原点部分が最も周波数の低い成分を表し、外側ほど高い周波数成分を表す。なお、手ぶれの方向及び大きさを反映した周波数分布を表すものであれば、パワースペクトルに限定されない。本発明によれば、例えば図１のようなパワースペクトルを原点から周辺方向へ投影した強度分布を調べる。この分布には、手ぶれ方向に直交する方向に、幅の広いピークが出現する。このピークの方位を、手ぶれ方向に直交する方向として検出する。図２は、その様子を模式的に示している。図２中の中心投影１が、その分布である。この分布の輪郭線には通常、多くのノイズが含まれるので、ピーク検出の前に適当なフィルタ処理を施す必要があるが、ほとんどの場合、単純なローパスフィルタ処理で十分である。
【００１２】
手ぶれは、論理的モデルにおいて単純な矩形の応答関数で近似することができ、矩形の応答関数を周波数平面で表現すると（２）式のようなsinｃ関数であることはよく知られている。この関数のゼロ点は±１／ｄの整数倍の位置に存在するから、このようなゼロ点を検出することにより手ぶれの大きさ「ｄ」が求まる。
【００１３】
本発明によれば、例えば図１のパワースペクトルを、先に検出されたピークの方向つまり手ぶれに直交する方向に平行に投影した強度分布、すなわち図２の平行投影２の谷を求め、その谷とピークとの距離を手ぶれの大きさ「ｄ」として検出する。なお、強度分布のピークや谷は必ずしも常に安定に見つかるわけではない。そこで、検出されたピークと谷の信頼性を評価し、それを必要に応じユーザに知らせてもよい。その評価方法は、ローパスフィルタ処理後の分布の最大値（あるいは最小値）と平均値の差分を微小区間の平均標準偏差で割り算し、その値が予め指定さた値（例えば２）より小さいときは、信頼性が低いと判断するといった方法が可能である。
【００１４】
このようにして検出されたパラメータを使って画像の手ぶれ補正を行うことができる。この補正処理は、ウィーナー（Ｗiener）フィルタによっても実空間でのデコンボリューションによってもよい。ウィーナーフィルタ処理の場合に必要なノイズ成分の大きさは、従来から採用されているように、画像中の信号の平坦部分（例えば、空のような背景部分）の標準偏差値から推定することができるが、画像の撮影に用いられたカメラの予め指定された推奨値を用いてもよい。
【００１５】
本発明によれば、上に述べた方法によって検出されたパラメータの適否の確認及び必要な修正をユーザーが容易かつ確実に行うためのユーザインターフェース環境が提供される。例えば、対象画像の２次元周波数空間への変換画像と検出されたパラメータを表す記号とを重ねた画像がディスプレイ画面に表示され、ユーザは、画面上において記号を操作することによって、パラメータを修正することができる。そして、自動的に検出された１組又は複数組のパラメータ、ユーザにより修正されたパラメータの組に従って対象画像又はその部分画像を補正した画像がディスプレイ画面に表示され、ユーザはそれら補正画像の中から最良と判断した１つの補正画像を選択することにより、その補正画像に対応した１組のパラメータを最終的に確定することができる。
【００１６】
【発明の実施の形態】
次に、本発明の実施の形態について図面を用い詳細に説明する。
【００１７】
本発明の一実施例によれば、手ぶれのパラメータの検出、修正及び画像補正は、コンピュータ上でプログラムによって実現される。そのようなコンピュータの一例を図４に簡略化して示す。また、手ぶれのパラメータの検出、修正及びがそう補正のためのプログラムの一例を図５乃至図７にフローチャートとして示す。
【００１８】
図４に示すコンピュータは、プログラムに従ってデータ処理や各部の制御を実行するＣＰＵ５０、ＣＰＵ５０に実行されるプログラムを格納するプログラムメモリ５２、各種データを格納するためのデータメモリ５４、ハードディスク装置等の補助記憶装置５６、画像表示のためのディスプレイ装置５８、デジタルカメラ６４のような画像入力装置からの情報入力のための外部インターフェース部６１、画像データやプログラム等の情報が記録されたフロッピーディスクやＣＤ−ＲＯＭのような記録媒体５９の読み書きのための媒体駆動装置６０、キーボードやマウス等の入力装置６２をシステムバス６８で接続したものである。本発明による処理の対象となる画像のデータは、例えばデジタルカメラ６４によって取得され、外部インターフェース部６１を介して取り込まれ、必要に応じ補助記憶装置５６に保存される。あるいは、フロッピーディスク等の記録媒体５９から媒体駆動装置６０を介して取り込まれ、必要に応じ補助記憶装置５６に保存される。補助記憶装置５６には、本発明による処理のためのプログラムのようなプログラム群、本発明の処理の対象となる画像やその他各種データが保存されており、それぞれ必要に応じ読み出されてプログラムメモリ５２又はデータメモリ５４に書き込まれる。
【００１９】
以下、このコンピュータの構成を適宜参照しながら、図４乃至図７に示したプログラムによる処理内容を説明する。図４に示すように、このプログラム７２と処理の対象画像のデータ７４を、予めプログラムメモリ５２とデータメモリ５４にロードし、プログラム７２が起動されると、まず図５に示す手ぶれの方向のパラメータの検出処理が開始する。
【００２０】
最初のステップＳ１において、対象画像を２次元の周波数空間（ｕ，ｖ）に変換した画像７６をデータメモリ５４上に生成する。本実施例では、この変換画像７６として図１に示すような対象画像のパワースペクトルを濃淡信号として２次元周波数空間にプロットした画像を生成する。そのパワースペクトルをＦ（ｕ，ｖ）と置く。なお、手ぶれの方向と長さに対応した周波数強度分布の偏りが現れる他の変換画像を生成してパラメータ検出に用いることも可能である。
【００２１】
次にステップＳ２において、図２に示すように、周波数空間（ｕ，ｖ）の原点から、同原点を中心とした適当な半径ｒの円３の円周方向に向かって、Ｆ（ｕ，ｖ）を投影し、投影された関数Ｇ（θ）を求める。
【００２２】
【数３】
0003812770.tif 000004
【００２３】
次のステップＳ３において、前ステップで求められたＧ（θ）に対し、次式で表される平均化処理すなわちローパスフィルタ処理を行う。Δθは２０゜程度が一般に適当であろう。
【００２４】
【数４】
0003812770.tif 000005
【００２５】
このようにＧ（θ）の平均化処理すなわちローパスフィルタ処理の結果＜Ｇ(θ)＞は、図２の中心投影１に相当する。
【００２６】
次のステップＳ４において、方位角度θを０゜から１８０゜まで変化させながら、＜Ｇ（θ）＞の極大点の方位θMiを求める。本実施例では、極大点の方位として、＜Ｇ（θ）＞が最大値をとる極大点の方位θM1（第１候補）と、その次に大きな値をとる極大点の方位θM2（第２候補）の２つを求める。ただし、方位の候補を３つ以上求めてもよい。求められた各方位θMi（ｉ＝１，２）は、手ぶれ方位のパラメータとしてデータメモリ２４のパラメータ記憶域７８に保存される。「θMi±９０゜＝手ぶれ方向」の関係があることは前述のとおりである。
【００２７】
このようにして手ぶれ方向のパラメータが検出されると、図６に示す手ぶれの大きさのパラメータの検出処理が開始する。
【００２８】
まず、ステップＳ５において、Ｆ（ｕ，ｖ）をステップ４で得られたθMiの方向に平行に投影した関数ＰMi(t)を求める。これは図２の平行投影２に相当する。ここで、ｔはθMiに直交する方向の周波数空間の方向ベクトルである。
【００２９】
つぎのステップＳ６において、前ステップで求められたＰMi(t)をその中心（ｔ＝０）から遠ざかる方向に走査し、ＰMi(t)の最初の極小点の位置ｔL1を見つけ、次の極小点の位置ｔL2を求める。すなわち、
ＰMi(ｔLi)＜｛ＰMi(ｔLi−Δｔ)＋ＰMi(ｔLi＋Δｔ)｝／２
を満たす最初のｔLiをｔL1（第１候補）、次に見つかったｔLiをｔL2（第２候補）とする。これらは、手ぶれの大きさのパラメータとしてパラメータ記憶域７８に保存される。なお、手ぶれによるぼけの範囲Δωは１／ｔLiとして求まり、これは図３（Ｂ）の直線１２，１４と原点との距離に相当する。
【００３０】
ステップＳ６においては、求めた各ｔLiの信頼性を表すパラメータＣfも、例えば次式
Ｃf＝｛ＰMi(ｔLi−Δｔ)＋ＰMi(ｔLi＋Δｔ)−２ＰMi(ｔLi）｝／ＰMi(0)
によって計算し（ｉ＝１，２）、パラメータ記憶域７８に保存する。このＣfの値が大きいほど信頼性が高い。
【００３１】
次のステップＳ７において、ウイーナーフィルタ処理に使用されるノイズの大きさを推定する。通常、ノイズの大きさは対象画像を撮影したカメラ系で定まり、その推奨値を用いてもが一般に支障はない。そこで本実施例においては、ノイズ成分の大きさを測定することなく、カメラ系の推奨値（例えば０.００２）をノイズの大きさとして設定する。
【００３２】
対象画像に広い周波数範囲の被写体が撮影されていて、手ぶれが一方向であり、手ぶれが周波数空間において顕著に検出されるほど大きい場合には、以上の処理によって手ぶれパラメータを十分高い精度で検出できる。しかし、そのような条件が十分に満たされない場合には、パラメータの検出精度が不十分なこともあるため、ユーザにより確認又は修正を行うのが好ましい。
【００３３】
そこで、ステップＳ７の次に、ユーザによるパラメータの確認／修正及び画像補正のための図７に示す処理を開始する。まず、ステップＳ９において、対象画像７４すなわち手ぶれによる「ぼけ」画像の部分画像（又は全体画像）をディスプレイ装置５８に表示する。図３（Ａ）は、この表示画像の一例である。
【００３４】
次のステップＳ１０において、検出された手ぶれの方向と大きさのパラメータを表す記号とその信頼度ＣfをパワースペクトルＦ（ｕ，ｖ）と関連付けた画像８０を生成し、これをディスプレイ装置５８の画面に表示する。本実施例では、この画像８０として、図３（Ｂ）に示すような、周波数空間（ｕ，ｖ）の原点を通る方位θM1の直線１０、この直線から距離Δω＝１／ｔL1だけ離れた２本の直線１２，１４とその信頼度ＣfをパワースペクトルＦ（ｕ，ｖ）と重ね合わせた画像を生成し表示する（図３（Ｂ）には信頼度Ｃfは表されていない）。このようなパラメータの表示形態は、手ぶれの方向及び大きさとの関係を直感的に認識できる点で優れている。なお、これら直線を対象画像と重ね合わせて表示することも可能であるが、前述のように周波数空間におけるほうが手ぶれによる周波数分布の偏りがより明瞭に視認できるので、本実施例のようにしたほうが一般に有利であろう。検出されたパラメータの第１候補と第２候補の各組について、同様の画像を表示してもよいが、上に述べたようにパラメータの１組についてのみ表示するだけで十分であろう。
【００３５】
信頼度Ｃfを表示するのは、ユーザが自動検出されたパラメータの修正の要否を判断する手がかりとして表示されるが、必ずしも表示しなくてもよく、信頼度が一定レベルに達しない場合にのみ警告として表示してもよい。信頼度Ｃfは数値の形で表示してもゲージのような記号として表示してもよい。
【００３６】
次のステップＳ１１において、ユーザに対しパラメータの確認／修正を求めるガイダンス、例えば「このままでよければリターンを、修正の必要があればマウスで表示されている直線を補正してください。」という質問文章をディスプレイ装置５８の画面に表示する。ユーザは、手ぶれ方向の修正が必要と判断した場合には、情報入力装置６２に含まれるポインティングデバイスであるマウスを使って画面上の太い直線１０の一端を所望の方向へ所望量だけドラッグし、直線１０を回転させる。手ぶれの大きさの修正が必要と判断した場合には、破線の直線１２又は１４をマウスによって所望の方向又は所望量だけドラッグし、その直線を移動させる。修正不要と判断した場合には、このドラッグ操作を行うことなく情報入力装置６２のキーボードのリターンキーを押す。
【００３７】
マウスによるドラッグ操作が行われた場合、ステップＳ１３において、ユーザのドラッグ操作に従って、画像８０中の実線の直線１０と破線の直線１２，１４を同時に同じ角度だけ同じ向きに回転させ、及び／又は、破線の直線１２，１４を逆向きに同じ量だけ移動させたものに相当する画像８２を生成し、これをディスプレイ装置５８に逐次表示する。これは例えば図３（Ｃ）のような画像であり、その直線１０〜１４の方位又は位置はドラッグ操作中のマウスポインタに追従して変化する。なお、この画像は画面上では、ステップＳ１０で表示された画像つまり図３（Ｂ）の画像に上書きされる形で表示される。ドラッグ操作が終了すると、その時の画像８２中の直線１０の方位、及び、直線１０と直線１２又は１４との距離から、手ぶれの方向及び大きさのパラメータが計算され、これはユーザ提示のパラメータとしてパラメータ記憶域７８に保存される。このステップは、リターンキーが押された場合にはスキップされる。
【００３８】
次のステップＳ１４において、パラメータ記憶域７８に記憶されている手ぶれの方向及び大きさのパラメータの各組（自動検出されたパラメータの組、ユーザにより修正が行われた場合のユーザ提示のパラメータの組）について、ウイーナーフィルタを計算し、そのウイーナーフィルタを用いて対象画像７４の部分画像をそれぞれ補正した画像８４を生成し、これをディスプレイ装置５８に表示する。例えば、自動検出されたθM1とそのｔL1に従って補正された部分画像として図３（Ｄ１）の画像が、自動検出されたθM1とそのｔL2に従って補正された部分画像として図３（Ｄ２）の画像が、また、ユーザ提示のパラメータに従って補正された部分画像として図３（Ｄ３）の画像がそれぞれ表示される。なお、実際には本実施例では、手ぶれの方向パラメータが２候補、その各候補について手ぶれの大きさのパラメータが２候補が検出されるので、全体でパラメータの組は４組あるので、それぞれに従った４つの補正部分画像と、ユーザにより提示されたパラメータの組に従った１つの補正部分画像が同時あるいは順次に表示される。
【００３９】
次のステップＳ１５において、例えば「好みの修正画像を選択してください。」というようなガイダンスを表示し、表示された補正部分画像の一つをユーザに選択させる。この選択は、例えばマウスポインタを補正部分画像に合わせてクリックすることにより行われる。選択された補正部分画像に対応したパラメータの組が、対象画像の補正のための手ぶれパラメータに確定する。
【００４０】
ユーザによって一つの補正部分画像が選択されると、次のステップＳ１６において、その補正部分画像に対応したウイーナーフィルタを使い、対象画像７４の全体を補正した画像８６を生成し、これを画面表示する。図３に示した例では、手ぶれによるぼけが最もよく補正されているのは図３（Ｄ１）の画像と認められるので、これが選択され、したがって自動検出されたθM1とそのｔL1の組が最終的に採用される。最終的な補正画像のデータ、又は確定したパラメータの組又はその補正のためのウイーナーフィルタのデータは、必要に応じて補助記憶装置５６に保存される。
【００４１】
不適当なパラメータに従って画像を補正すると、かえって画質を低下させてしまう。このような不都合を避けるためには、本実施例のように、パラメータの組毎に補正結果を画面上で最終確認するのが好ましい。また、その確認のために対象画像全体の補正画像を表示してもよいが、部分補正画像を表示すると、その生成のための処理量を少なくできるとともに限られた大きさの画面に多数の補正画像を同時に表示して相互に比較できるという利点がある。
【００４２】
【発明の効果】
以上の説明から明らかなように、本発明によれば、（１）画像の手ぶれによる劣化を補正するためのパラメータの自動検出が可能である。（２）自動検出されたパラメータの妥当性の確認又は必要な修正を容易に行うことができる。（３）実際に補正した画像を画面上で確認することにより、適切なパラメータを確実に選ぶことができる。（４）よって、手ぶれによる劣化画像を高精度に補正し高品質な画像の復元が可能になる、等の効果を得られる。
【図面の簡単な説明】
【図１】対象画像の２次元周波数空間への変換画像の例を示す。
【図２】手ぶれ画像の周辺分布を示す図である。
【図３】手ぶれパラメータの確認／修正のためにディスプレイ装置の画面に表示される画像の例を示す図である。
【図４】本発明を実施するためのコンピュータの一例を示す図である。
【図５】手ぶれの方向のパラメータの検出処理の一例を示すフローチャートである。
【図６】手ぶれの大きさのパラメータの検出処理の一例を示すフローチャートである。
【図７】手ぶれパラメータの確認／修正のための処理の一例を示すフローチャートである。
【符号の説明】
１  中心投影
２  平行投影
１０  手ぶれ方向パラメータに対応した直線
１２，１４  手ぶれ大きさパラメータに対応した直線
５０  ＣＰＵ
５２  プログラムメモリ
５４  データメモリ
５６  補助記憶装置
５８  ディスプレイ装置
５９  記録媒体
６０  媒体駆動装置
６１  外部インターフェイス部
６４  デジタルカメラ
６２  情報入力装置
７２  本発明の処理のためのプログラム
【図１】
0003812770.tif 000006
【図２】
0003812770.tif 000007
【図３】
0003812770.tif 000008
【図４】
0003812770.tif 000009
【図５】
0003812770.tif 000010
【図６】
0003812770.tif 000011
【図７】
0003812770.tif 000012