画像復元装置、画像復元方法及び画像復元プログラム
【課題】リンギングを抑制しながら鮮明さを確保可能なウィーナフィルタを使用した画像復元を行う。
【解決手段】撮像装置から得られる画像の振れを表す振れ検出情報を含む劣化画像情報を、ウィーナフィルタを使用して原画像情報を復元する画像復元装置であって、前記劣化画像情報に含まれる前記振れ検出情報に基づいて前記ウィーナフィルタの点広がり関数を推定する点広がり関数推定手段(ステップS7)と、前記劣化画像情報から切り出した局所領域画像情報毎に前記点広がり関数と最適な近似定数とに基づいて算出される前記ウィーナフィルタの周波数応答に基づいて局所領域復元画像情報を生成する画像復元手段(ステップS8〜S18)とを有する。
【解決手段】撮像装置から得られる画像の振れを表す振れ検出情報を含む劣化画像情報を、ウィーナフィルタを使用して原画像情報を復元する画像復元装置であって、前記劣化画像情報に含まれる前記振れ検出情報に基づいて前記ウィーナフィルタの点広がり関数を推定する点広がり関数推定手段(ステップS7)と、前記劣化画像情報から切り出した局所領域画像情報毎に前記点広がり関数と最適な近似定数とに基づいて算出される前記ウィーナフィルタの周波数応答に基づいて局所領域復元画像情報を生成する画像復元手段(ステップS8〜S18)とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置から得られる画像の振れを表す振れ検出情報を含む劣化画像情報を、ウィーナフィルタを使用して原画像情報を復元する画像復元装置、画像復元方法及び画像復元プログラムに関する。
【背景技術】
【0002】
従来の画像復元装置としては、例えば劣化関数を用いて、劣化画像から元画像に近い復元画像を復元する際に、劣化関数を構成する振れ方向、振れ量等の劣化パラメータを変化させながら劣化画像を復元し、復元された画像の画像復元度を求め、該画像復元度を基に劣化パラメータを選択して劣化関数を導出し、該劣化関数により復元画像を生成するようにした画像処理方法及び装置が提案されている(例えば特許文献1参照)。
【0003】
しかしながら、上記特許文献1に記載の従来例にあっては、振れ方向、振れ量等の劣化パラメータを変化させるだけであるので、劣化画像を復元する際のリンギングを抑制することはできない。
このため、従来、劣化画像情報の雑音に関する統計的性質が既知の場合、その情報を利用し、逆フィルタの雑音に対する弱点を補う方法としてウィーナフィルタが知られている(非特許文献1参照)。このウィーナフィルタは元画像f(x,y)と復元画像f^(x,y)との平均2乗誤差が最小となるような復元方法であり、その周波数応答M(u,v)は下記のようにして算出される。
【0004】
【数1】
【0005】
観測された画像のフーリエ変換G(u,v)に周波数応答M(u,v)を掛けた後フーリエ逆変換すると、復元画像が求まる。通常は[Pnn(u,v)/Pff(u,v)を正確に求めることができないため、適当な定数Γで近似することが多い。ウィーナフィルタでは、この項があるため、H(u,v)=0となるような周波数でM(u,v)=0となり、逆フィルタのような不安定さは生じない。
【特許文献1】特開2000−57339号公報(第2頁、図2)
【非特許文献1】「コンピュータ画像処理」平成16年10月20日株式会社オーム社発行
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上記非特許文献1に記載された従来例にあっては、ウィーナフィルタの周波数応答M(u,v)を算出するために適当な近似定数Γを使用するようにしているので、この近似定数Γが大きいと、リンギングの問題は改善されるが、鮮明さが不十分となり、逆に近似定数Γが小さいと、鮮明になるが、リンギングが発生することになり、最適なΓを決定することが困難であるという未解決の課題がある。
【0007】
そこで、本発明は、上記従来例の未解決の課題に着目してなされたものであり、リンギングを抑制しながら鮮明さを確保することができるウィーナフィルタを使用した画像復元装置、画像復元方法及び画像復元プログラムを提供することを目的としている。
【課題を解決するための手段】
【0008】
本発明の第1の技術手段は、撮像装置から得られる画像の振れを表す振れ検出情報を含む劣化画像情報を、ウィーナフィルタを使用して原画像情報を復元する画像復元装置であって、前記劣化画像情報に含まれる前記振れ検出情報に基づいて前記ウィーナフィルタの点広がり関数を推定する点広がり関数推定手段と、前記劣化画像情報から切り出した局所領域画像情報毎に前記点広がり関数と最適な近似定数とに基づいて算出される前記ウィーナフィルタの周波数応答に基づいて局所領域復元画像情報を生成する画像復元手段とを有することを特徴としている。
【0009】
この第1の技術手段では、角速度データ等の撮像装置の振れ検出情報を含む劣化画像情報から振れ検出情報に基づいてウィーナフィルタの点広がり関数を算出し、劣化画像情報から切り出した局所領域画像情報毎に、点広がり関数と最適な近似定数とに基づいて算出されるウィーナフィルタの周波数応答に基づいて局所領域復元画像情報を生成するので、劣化画像情報の局所領域画像情報毎に最適な近似定数を設定することができ、リンギングを抑制しながら鮮明さを確保した画像復元を行うことができる。
【0010】
また、第2の技術手段は、上記第1の技術手段において、前記振れ検出情報は撮像装置の上下及び左右の振れを検出する角速度センサの出力情報であることを特徴としている。
この第2の技術手段においては、撮像装置の前後左右の振れを角速度センサで正確に検出することができるので、この角速度センサの出力情報を使用して点広がり関数を算出することにより、劣化画像情報の振れに応じた点広がり関数を算出することができる。
【0011】
さらに、本発明の第3の技術手段は、第1又は第2の技術手段において、前記点広がり関数推定手段は、前記振れ検出情報から点広がり関数のフーリエスペクトルを算出するように構成されていることを特徴としている。
この第3の技術手段では、点広がり関数推定手段で点広がり関数のフーリエスペクトルを算出するので、このフーリエスペクトルと、その共役複素数と、近似定数Γとからウィーナフィルタの周波数応答を算出することができる。
【0012】
さらにまた、本発明の第4の技術手段は、第1〜第3の技術手段の1つにおいて、前記点広がり関数推定手段は、前記振れ検出情報の振れ幅が大きいときに当該触れ検出情報をスプライン補間処理することを特徴としている。
この第4の技術手段では、振れ検出情報の触れ幅が大きいときに振れ検出情報をスプライン補間処理するので、より多くの振れ検出情報を得ることができ、正確な点広がり関数を算出することができる。
【0013】
なおさらに、本発明の第5の技術手段は、上記第1乃至第4の技術手段の1つにおいて、前記点広がり関数推定手段は、前記振れ検出情報をガウスフィルタ処理することを特徴としている。
この第5の技術手段では、振れ検出情報をガウスフィルタ処理することにより、振れ検出情報が平滑化されてより正確な点広がり関数を算出することができる。
【0014】
また、本発明の第6の技術手段は、第1〜第5の技術手段の1つにおいて、前記画像復元手段は、前記劣化画像情報から局所領域画像情報を切り出す画像情報切り出し手段と、該画像情報切り出し手段で切り出した前記局所領域画像情報をフーリエ変換した空間周波数領域情報に、前記点広がり関数推定手段で推定した前記点広がり関数と所定数の異なる近似定数Γとに基づいて算出されたウィーナフィルタの周波数応答を掛けて所定数の復元結果を算出する復元結果算出手段と、該復元結果算出手段で算出した所定数の前記復元結果をフーリエ逆変換して所定数の局所領域復元画像情報を生成する復元画像生成手段と、該復元画像生成手段で復元した所定数の前記局所領域復元画像情報と前記局所領域画像情報との平均二乗誤差が最小となる前記局所領域復元画像情報を選択する復元画像選択手段とを有することを特徴としている。
【0015】
この第6の技術手段では、画像復元手段で、画像切り出し手段で切り出した局所領域画像情報をフーリエ変換した空間周波数領域情報に、推定した点広がり関数と所定数の異なる近似定数Γとに基づいて算出されたウィーナフィルタの周波数応答を掛けて所定数の復元結果を算出し、算出した所定数の復元結果をフーリエ逆変換して所定数の局所領域復元画像情報を生成し、復元した所定数の局所領域復元画像情報と前記局所領域画像情報との平均二乗誤差が最小となる復元画像情報を選択するので、局所領域画像情報毎に最適な近似定数で復元した局所領域復元画像情報を生成することができる。
【0016】
さらに、本発明の第7の技術手段は、第6の技術手段において、前記画像情報切り出し手段は、前記局所画像領域を含む拡大局所画像情報を切り出すように構成され、前記復元画像生成手段は、フーリエ逆変換した前記復元結果算出手段で算出した復元結果から前記局所画像領域を切り出して前記局所領域復元画像情報を生成するように構成されていることを特徴としている。
【0017】
この第7の技術手段では、画像切り出し手段で、局所画像領域を含むこれより大きい拡大局所画像情報を切り出し、復元画像生成手段で、フーリエ逆変換した復元結果算出手段で算出した復元結果から前記局所画像領域を切り出して前記局所領域復元画像情報を生成するようにしているので、振れ幅による折り返しの影響を受けることなく正確な局所領域の画像復元を行うことができる。
【0018】
さらにまた、第8の技術手段は、第6又は第7の技術手段の1つにおいて、前記復元結果算出手段は、前記点広がり関数推定手段で算出した点広がり関数のフーリエスペクトルと、当該フーリエスペクトルの共役複素数と、前記近似定数Γとから周波数応答を算出するように構成されていることを特徴としている。
この第8の技術手段では、点広がり関数のフーリエスペクトルと、その共役複素数と、近似定数Γからウィーナフィルタの周波数応答を算出するので、近似定数Γを異なる値とすることにより、近似定数Γの異なる種々の周波数応答を算出することができる。
【0019】
なおさらに、本発明の第9の技術手段は、撮像装置から得られる画像の振れを表す振れ検出情報を含む劣化画像情報を、ウィーナフィルタを使用して原画像情報を復元する画像復元方法であって、点広がり関数推定手段によって前記劣化画像情報に含まれる前記振れ検出情報に基づいて前記ウィーナフィルタの点広がり関数を推定する点広がり関数推定ステップと、画像復元手段によって前記劣化画像情報から切り出した局所領域画像情報毎に前記点広がり関数と最適な近似定数とに基づいて算出される前記ウィーナフィルタの周波数応答に基づいて局所領域復元画像情報を生成する画像復元ステップとを有することを特徴としている。
【0020】
この第9の技術手段では、前述した第1の技術手段と同様の効果を得ることができる。
さらにまた、本発明の第10の技術手段は、第9の技術手段において、前記画像復元ステップは、画像情報切り出し手段で前記劣化画像情報から局所領域画像情報を切り出す画像情報切り出しステップと、復元結果算出手段で前記画像情報切り出しステップによって切り出した前記局所領域画像情報をフーリエ変換した空間周波数領域情報に、前記点広がり関数推定手段で推定した前記点広がり関数と所定数の異なる近似定数Γとに基づいて算出されたウィーナフィルタの周波数応答を掛けて所定数の復元結果を算出する復元結果算出ステップと、復元画像生成手段で算出した所定数の前記復元結果をフーリエ逆変換して所定数の局所復元画像情報を生成する復元画像生成ステップと、復元画像選択手段で復元した所定数の前記局所領域復元画像情報と前記局所領域画像情報との平均二乗誤差が最小となる前記局所領域復元画像情報を選択する復元画像選択ステップとを備えていることを特徴としている。
【0021】
この第10の技術手段では、前述した第6の技術手段と同様の効果を得ることができる。
なおさらに、本発明の第11の技術手段は、撮像装置から得られる画像の振れを表す振れ検出情報を含む劣化画像情報を、ウィーナフィルタを使用して原画像情報を復元する画像復元処理をコンピュータに実行させるための画像復元プログラムであって、点広がり関数推定手段によって前記劣化画像情報に含まれる前記振れ検出情報に基づいて前記ウィーナフィルタの点広がり関数を推定する点広がり関数推定ステップと、画像復元手段によって前記劣化画像情報から切り出した局所領域画像情報毎に前記点広がり関数と最適な近似定数とに基づいて算出される前記ウィーナフィルタの周波数応答に基づいて局所領域復元画像情報を生成する画像復元ステップとをコンピュータに実行させることを特徴としている。
この第11の技術手段では、前述した第1の技術手段及び第9の技術手段と同様の効果を得ることができる。
【0022】
また、本発明の第12の技術手段は、第11の技術手段において、前記画像復元ステップは、画像情報切り出し手段で前記劣化画像情報から局所領域画像情報を切り出す画像情報切り出しステップと、復元結果算出手段で前記画像情報切り出しステップによって切り出した前記局所領域画像情報をフーリエ変換した空間周波数領域情報に、前記点広がり関数推定手段で推定した点広がり関数と所定数の異なる近似定数Γとに基づいて算出されたウィーナフィルタの周波数応答を掛けて所定数の復元結果を算出する復元結果算出ステップと、復元画像生成手段で算出した所定数の前記復元結果をフーリエ逆変換して所定数の局所領域復元画像情報を生成する復元画像生成ステップと、復元画像選択手段で復元した所定数の前記局所領域復元画像情報と前記局所領域画像情報との平均二乗誤差が最小となる前記局所領域復元画像情報を選択する復元画像選択ステップとを備えていることを特徴としている。
【0023】
この第12の技術手段では、前述した第6及び10の技術手段と同様の効果を得ることができる。
【発明を実施するための最良の形態】
【0024】
以下、本発明の実施の形態を図面に基づいて説明する。
図1は本発明の一実施形態を示す概略構成図であり、図中、1はプリンタであって、このプリンタ1にCD−R装置100、デジタルカメラ120及びホストコンピュータ140が例えばUSBの接続コードを介して接続される。なお、CD−R装置100、例えば被写体を静止画像として撮影する撮像装置としてのデジタルスチルカメラ120及びホストコンピュータ140とプリンタ1との接続は接続コードを使用する場合に限らず無線で画像情報の授受を行うようにしてもよい。
【0025】
そして、プリンタ1は、ヘッドユニット20、用紙搬送機構30、キャリッジ移動機構40、検出器群50、プリンタ側コントローラ60、液晶表示器3、操作ボタン5、及びカードスロット6を有する。また、これらの他に、プリンタ1はホストコンピュータ140と接続するための第1インタフェース12と、デジタルスチルカメラ120やCD−R装置100と接続するための第2インタフェース14とを有している。
【0026】
ヘッドユニット20は、インクを用紙に向けて吐出させるものであり、インクを吐出するヘッド22を有する。このヘッドユニット20は、キャリッジ(図示せず)に取付けられており、キャリッジをキャリッジ移動方向に移動させるキャリッジ移動機構40によって、キャリッジと共に移動する。
用紙搬送機構30は、キャリッジ移動方向と交差する方向に用紙を搬送する。検出器群50は、プリンタ1の状態を検出するためのものであり、例えば、キャリッジの位置を検出するリニア式エンコーダ、紙の搬送量を検出するロータリー式エンコーダ、及び用紙の有無を検出する紙検出器(何れも図示せず)等が含まれる。
【0027】
プリンタ側コントローラ60は、プリンタ1の制御を行うものであり、CPU62と、メモリ64と、制御ユニット68とを有する。CPU62は、プリンタ1の全体的な制御を行うための演算処理装置である。メモリ64は、CPU62のプログラムを格納する領域や作業領域等を確保するためのものであり、RAM、EEPROM、ROM等の記憶素子によって構成されている。そして、画像情報の復元時において、メモリ64に復元画像情報が格納される。制御ユニット68は、制御対象となる各部とCPU62との間に配置され、CPU62からのコマンドに基づいてモータ用の駆動信号を生成したり、各部から送られてくる信号を、CPU62が解釈できる形態にして出力したりする。
【0028】
通常、プリンタ1は、ホストコンピュータ140又はデジタルスチルカメラ120から印刷データを受信すると、印刷データに基づいて印刷処理を行う。すなわち、印刷データの受信後、プリンタ側コントローラ60は、用紙搬送機構30に印刷開始位置まで用紙を搬送させ、キャリッジ移動機構40にキャリッジをキャリッジ移動方向に移動させ、キャリッジと共に移動するヘッドから印刷データに基づいてインクを吐出させる。そして、これらの動作が繰り返して行われると、用紙に画像が印刷される。
【0029】
さらに、プリンタ1は、ユーザーが操作ボタン5を操作することにより、画像情報のバックアップ処理を行う。このバックアップ処理では、プリンタ側コントローラ60は、カードスロット6に装着されたメモリカード110から画像情報を、CD−R装置100に送出し、CD−Rに記憶させる。
さらにまた、デジタルスチルカメラ120は、カメラレンズ121によって被写体像がその後段に配設された固体撮像素子122に結像される。この固体撮像素子122は、固体撮像素子駆動回路123からの駆動信号によって光電変換を行い、その光電変換出力がカメラ系信号処理部124に供給され、このカメラ系信号処理部124で、サンプリング処理、AGC処理を行った後にA/D変換処理によってデジタルデータに変換してからガンマ補正処理、エンコード処理等が行われて画像メモリ125に入力される。
【0030】
画像メモリ125から読出された画像データが液晶ディスプレイ、有機ELディスプレイ等で構成される表示器135に供給されると共に、記録系信号処理部126に出力され、この記録系信号処理部126でJPEG変換等を行ってDRAM、SRAM、フラッシュメモリ等で構成されるメモリカード110に記憶される。
一方、手振れ補正を行うために、デジタルスチルカメラ120の筐体に垂直方向及び水平方向のコリオリ力が発生したときにこれを検出する振れ量検出手段としての例えばジャイロセンサ(ジャイロスコープ)で構成される垂直方向及び水平方向角速度センサ128及び129が設けられ、これら垂直方向及び水平方向角速度センサ128及び129から出力される検出信号が帯域制限フィルタ130及び131に供給されて帯域制限された後、増幅器132及び133で増幅されてからA/D変換器134によって所定サンプリング周期でデジタル信号に変換されてバッファメモリ136に一時格納される。そして、バッファメモリ136に格納された垂直方向及び水平方向の角速度データがデジタルスチルカメラ120の制御を統括するマイクロコンピュータ127に読出される。
【0031】
そして、マイクロコンピュータ127では、シャッタ開閉センサ137からのシャッタ開閉信号SSが入力されたときに、このシャッタ開閉信号がシャッタ開状態となっている間及びその前後の所定時間のバッファメモリ136に格納されている垂直方向及び水平方向の角速度データを読込み、読込んだ角速度データを記録系信号処理部126が画像メモリ125から画像データを読込むタイミングで記録系信号処理部126に出力して、この記録系信号処理部126で画像データと共に信号処理してメモリカード110に記憶する。
【0032】
すなわち、角速度センサ128及び129の各角速度データをサンプリング間隔Δt(例えば40〜400Hzの範囲の任意の周波数)でサンプリングし、それをバッファメモリ136に時系列的に格納しておく、シャッタ開閉センサ137でシャッタが開かれる前の所定数のサンプルデータ、シャッタが開いてから閉じられるまでのサンプルデータ、シャッタが閉じられた後での所定数のサンプルのデータを使用して、角速度の変化を求める。その際、画像データは画像メモリ125に蓄積する。
【0033】
そして、バッファメモリ136に蓄積された各角速度データを画像メモリ125に記憶した画像データと共に記録系信号処理部126で信号処理してメモリカード110に記憶する。
この記録系信号処理部126では、画像情報をJPEG変換してJPEG画像ファイルに記憶すると共に、そのJPEG画像ファイルのExif IFD内の階層化されたユーザタグに各角速度データを記憶する。
【0034】
また、デジタルスチルカメラ120は、メモリカード110に記憶した画像情報をプリンタ1やホストコンピュータ140に出力する画像データ出力部138を有し、この画像データ出力部138からUSB等の接続コードを介して画像情報を出力する。
また、前述したプリンタ1では、デジタルスチルカメラ120からの振れがある劣化画像情報が接続コードを介して第2インタフェース14から直接入力されるか又はメモリカード110を介して入力されたときに、ユーザーが画像復元ボタン7を操作することにより、ウィーナフィルタを使用した画像復元処理を実行する。
【0035】
ここで、画像復元の原理は、原画像から劣化画像が生じる画像劣化モデルを図3について説明すると、原画像f(x,y)とし、劣化画像をg(x,y)とし、さらに点広がり関数をh(x,y)、ノイズをn(x,y)としたとき、これらの関係は図3に示すようになり、式で表すと下記(1)式となる。
g(x,y)=f(x,y)*h(x,y)+n(x,y) …………(1)
但し、*は畳み込みを表す。
【0036】
そして、劣化画像g(x,y)、原画像f(x,y)、点広がり関数h(x,y)及びノイズn(x,y)のフーリエ変換を夫々G(μ,ν)、F(μ,ν)、H(μ,ν)及びN(μ,ν)とすると、前記(1)式より
G(μ,ν)=F(μ,ν)H(μ,ν)+N(μ,ν) …………(2)
が得られる。
【0037】
そして、ウィーナフィルタによる画像復元の周波数応答B(μ,ν)は、
B(μ,ν)=H(μ,ν)*/{H(μ,ν)H(μ,ν)*+Γ ……(3)
と表すことができる。ここで、*は共役複素数、Γは近似定数を表す。
したがって、観測された画像のフーリエ変換G(μ,ν)に周波数応答B(μ,ν)を掛けた後、フーリエ逆変換すると復元画像を求めることができる。
【0038】
そして、画像復元処理は、プリンタ側コントローラ60内のCPU62で実行され、図4に示すように、先ず、ステップS1で、振れが生じている劣化画像情報を読込み、次いでステップS2に移行して、劣化画像情報のExif IFD内の階層化されたユーザタグから各角速度データを取得する。
次いで、ステップS3に移行して、取得した各角速度データから振れ幅(ピクセル)を算出する。
【0039】
この振れ量の算出は、デジタルスチルカメラ120のカメラレンズ121における光軸方位の変動状況を検出する角速度センサ2成分(角速度センサ128,129)は、図5に示すように、固体撮像素子122の平面内の直交ベクトル成分に対応するものである。これら2つの角速度成分は、図5に示すように、θx及びθyの変数で表される。
この角度成分に補正係数λx及びλyを乗算することにより、画像のx軸方向或いはy軸方向の振れ量(ピクセル)を求めることができる。
【0040】
ここで、画像のX方向の振れ量xnはθy×λx、画像のy方向の振れ量ynはθx×λyとなる。この場合の角速度センサ128,129より求めた振れ幅(xn,yn)(n=1,2,……N)の変化の様子は図6(a)に示すようになる。
次いで、ステップS4に移行して、算出した隣接する振れ幅(xn,yn)及び(xn+1,yn+1)間の最大変化量が大きいか否かを判定し、変化量が小さいときには直接ステップS6に移行するが、変化量が大きいときにはステップS5に移行して、振れ幅(xn,yn)を例えばキュービックスプライン処理を行うことによりスプライン補間して振れ幅(xm,ym)を算出してからステップS6に移行する。
【0041】
このステップS6では、変化量の小さい振れ幅(xn,yn)又はスプライン補間した振れ幅(xm,ym)に対してガウスフィルタ処理を行う。このガウスフィルタ処理は、下記(4)式で表される2次元のガウス関数f(x,y)を畳み込むことにより、振れ幅(xn,yn)又は(xm,ym)を平滑化する。
f(x,y)=e−(x2+y2)/2σ2 …………(4)
この場合のガウス分布は図7(a)に示すようになり、図7(a)の矢印で示した断面におけるガウス分布断面図は図7(b)で表される。
【0042】
次いで、ステップS7に移行して、平滑化された振れ量からウィーナフィルタの点広がり関数を推定する点広がり関数推定処理を行う。
この点広がり関数推定処理は、振れ幅(x1,y1),(x2,y2),……(xN,yN)が与えられたとき、劣化画像g(x,y)は次式で示されるように、原画像f(x,y)を(xn,yn)(n=1,2,……N)画素だけ移動した画像の和により得られる。
【0043】
【数2】
このとき、劣化画像のフーリエスペクトルに注目すると、
【0044】
【数3】
これにより、点広がり関数のフーリエスペクトルH(μ,ν)は
【0045】
【数4】
となる。
【0046】
次いで、ステップS8に移行して、点広がり関数のフーリエスペクトルH(μ,ν)とその共役複素数H(μ,ν)*と所定数の異なる近似定数Γ1〜ΓNとに基づいて所定数N個のウィーナフィルタの周波数応答BΓ(μ,ν)を算出する。
【0047】
次いで、ステップS9に移行して、復元対象となる劣化画像情報(例えば2304×1728画素)から予め設定した幅w(例えば80画素),高さh(例えば60画素)のサイズの局所領域画像情報gs(x,y)((w×h)画素)を含みこれに幅p(例えば20画素)及び高さq(例えば20画素)を加算したサイズの拡大局所領域画像情報gl(x,y)((w+p)×(h+q)画素)を切り出す。ここで、拡大局所領域画像情報gl(x,y)((w+p)×(h+q)画素)の幅p及び高さqは、撮像装置となるデジタルスチルカメラ120の最大振れ幅によって設定され、最大振れ幅が10画素であるときに余裕をみて幅p及び高さqを夫々20画素に設定する。なお、幅p及び高さqは異なる値に設定するようにしてもよい。
【0048】
次いで、ステップS10に移行して、拡大局所領域画像情報gl(x,y)((w+p)×(h+q)画素)を離散フーリエ変換(Discrete Fourier Transform;DFT)して空間周波数領域情報Gl(x,y)に変換する。
次いで、ステップS11に移行して、算出した空間周波数領域情報Gl(x,y)に所定数のウィーナフィルタの周波数応答BΓ(x,y)を個別に掛けることにより、所定数の空間周波数領域復元情報F^Γl(μ,ν)を算出する。
【0049】
次いで、ステップS12に移行して、算出した所定数の周波数領域復元情報F^Γl(μ,ν)を逆離散フーリエ変換(IDFT)を行って所定数の拡大局所領域復元画像情報f^Γl(x,y)を算出する。
次いで、ステップS13に移行して、算出した各拡大局所領域復元画像情報f^Γl(x,y)の中央部から個別に前述した局所領域gs(x,y)と同一サイズの局所領域復元画像情報f^Γs(x,y)を切り出す。
【0050】
次いで、ステップS14に移行して、切り出した所定数の局所領域復元画像情報f^Γs(x,y)と劣化画像情報g(x,y)から切り出した局所領域復元画像情報fs(x,y)から下式によって所定数の平均二乗誤差DΓを算出する。
【0051】
【数5】
【0052】
次いで、ステップS15に移行して、算出した所定数の平均二乗誤差DΓのうちから最小の平均二乗誤差DΓを選択し、この最小の平均二乗誤差DΓの局所領域復元画像情報f^Γs(x,y)における輝度値を切り出した局所領域画像情報gs(x,y)における復元画像の輝度値の推定値とする。
【0053】
次いで、ステップS16に移行して、劣化画像情報g(x,y)の全ての局所領域について前述したステップS9〜S15の輝度値の推定が終了したか否かを判定し、全ての局所領域についての輝度値の推定が終了していないときには、ステップS17に移行して、次に切り出す拡大局所領域を指定してから前記ステップS9に戻り、全ての局所領域について輝度値の推定が終了したときにはステップS18に移行して、全ての局所領域で推定した輝度値の復元画像f^Γ(x,y)をメモリカード110に記憶すると共に、液晶表示器3に表示してから画像復元処理を終了する。
【0054】
この図4の処理において、ステップS1〜ステップS7の処理が点広がり関数推定手段に対応し、ステップS8〜ステップS18の処理が画像復元手段に対応し、ステップS9の処理が画像切り出し手段に対応し、ステップS10〜ステップS13の処理が復元画像生成手段に対応し、ステップS14及びS15の処理が復元画像選択手段に対応している。
【0055】
次に、上記実施形態の動作を説明する。
先ず、デジタルスチルカメラ120のカメラレンズ121を被写体に向けて図示しないレリーズボタンを押圧することにより、露出計で測光された露出に基づいてシャッタ速度が算出され、算出されたシャッタ速度でシャッタが作動されることにより、カメラレンズ121を通った画像が固体撮像素子122上に投影される。
【0056】
この固体撮像素子122上に投影された画像情報が固体撮像素子駆動回路123からの駆動信号によって順次読出され、カメラ系信号処理部124で所定の信号処理が行われて画像データとして画像メモリ125に記憶される。この画像メモリ125に記憶された画像データは表示器135に供給されて表示される。この表示器135に表示された画像データは振れ量を含んだ画像データであり、表示された画像データから振れ量の程度を判断することができる。
【0057】
このとき、シャッタが作動されることにより、シャッタ開閉センサ137からシャッタが開いてから閉じるときにオン状態からオフ状態に反転するシャッタ開閉信号SSがマイクロコンピュータ127に入力されると、この時点から所定時間即ちA/D変換器134で角速度センサ128及び129の角速度データを予め設定した所定数のサンプル分の角速度データがバッファメモリ136に格納される時間が経過した時点で、バッファメモリ136からシャッタが開状態となる前の所定数のサンプル分とシャッタが開状態を継続している間のサンプル分とシャッタが閉じてからの所定数のサンプル分とを合計した連続的な角速度データθx1〜θxN及びθy1〜θyNを読出す。
【0058】
そして、読出した角速度データθx0〜θxN及びθy1〜θyNをバッファメモリ136に一時記憶し、その後記録系信号処理部126が画像メモリ125に記憶された画像データを読込むタイミングで角速度データθx0〜θxN及びθy1〜θyNを記録系信号処理部126に供給することにより、画像データJPEG変換してJPEGファイルに格納する共に、JPEGファイルのExifに角速度データθx0〜θxN及びθy1〜θyNを格納し、作成したJPEGファイルをメモリカード110に記憶する。
【0059】
このようにして順次デジタルスチルカメラ120で所望の被写体を撮影して画像データ及び角速度データθx0〜θxN及びθy1〜θyNをJPEGファイルに格納してメモリカード110に記憶する。
その後、所望のタイミングでデジタルスチルカメラ120を接続コードでプリンタ1の第2インタフェース14に接続するか又はデジタルスチルカメラ120からメモリカード110を引き出して、このメモリカード110をプリンタのカードスロット6に装着することにより、メモリカード110に記憶されている撮影した画像情報及び角速度データを含むJPEGファイルを、制御ユニット68を介してCPU62に読込む。
【0060】
そして、デジタルスチルカメラ120で同一被写体を撮影したときに、振れを生じると、図8に示すようにぼけとノイズが生じた劣化画像g(x,y)となる。この劣化画像では、ウィーナフィルタで復元画像を生成したときに、輝度変化の大きいエッジ部の近傍の平坦部でリンギングを生じ易くなる。
このため、劣化画像情報をプリンタ1に読込んだ状態で、ユーザーが画像復元ボタン7を操作すると、CPU62で、図4に示す画像復元処理が実行される。
【0061】
この画像復元処理では、先ず、デジタルスチルカメラ120又はメモリカード110から劣化画像情報及び角速度データθx1〜θxN及びθy1〜θyNを含むJPEGファイルを読込み(ステップS1)、次いでJPEGファイルのExifから角速度データθx1〜θxN及びθy1〜θyNを取得する(ステップS2)。
次いで、角速度データθx1〜θxN及びθy1〜θyNから振れ幅(xn,yn)を算出し(ステップS3)、次いで隣接する振れ幅(xn,yn)及び(xn+1,yn+1)間の最大変化量が大きいか否かを判定する(ステップS4)。
【0062】
このとき、隣接する振れ幅(xn,yn)及び(xn+1,yn+1)間の最大変化量が小さいときには振れ幅(x1,y1)〜(xN,yN)の夫々についてガウスフィルタ処理を行って平滑化するが(ステップS6)、図6(a)に示すように、隣接する振れ幅(xn,yn)及び(xn+1,yn+1)間の最大変化量が大きいときには振れ幅(x1,y1)〜(xN,yN)に対してキュービックスプライン処理することにより(ステップS5)、図6(b)に示すように、スプライン補間してより多くの振れ幅を得、これをガウスフィルタ処理することにより平滑化する(ステップS6)。
【0063】
そして、劣化画像情報g(x,y)は原画像f(x,y)を振れ幅(xn,yn)だけ移動した画像の和により得られることから、平滑化された振れ幅(x1,y1)〜(xN,yN)から前記(7)式の演算を行って点広がり関数のフーリエスペクトルH(μ,ν)を算出する。算出した点広がり関数のフーリエスペクトルH(μ,ν)はスプライン補間した図6(b)の振れ幅(x1,y1)〜(xN,yN)を使用した場合、図9に示すようになる。
【0064】
そして、点広がり関数のフーリエスペクトルH(μ,ν)が算出されると、算出した点広がり関数のフーリエスペクトルH(μ,ν)とその共役複素数H(μ,ν)*と所定数の異なる値の所定数N(=10)の近似定数Γ(=0.25,0.5,……1.0)を使用して、前述した(3)式の演算を行うことにより、図10の処理2に示すように所定数のウィーナフィルタの周波数応答BΓ=0.25(μ,ν)、BΓ=0.5(μ,ν)、……BΓ=1.0(μ,ν)を算出する(ステップS8)。
【0065】
次いで、図8及び図10の処理1に示すように、劣化画像情報g(x,y)から局所領域画像情報gs(x,y)(w×h)画素)を中央部に含む最初の拡大局所領域画像情報gl(x,y)((w+p)×(h+q)画素)を切り出す(ステップS9)。
次いで、図11に示すように、切り出した拡大局所領域画像情報gl(x,y)((w+p)×(h+q)画素)を、離散フーリエ変換して空間周波数領域情報Gl(x,y)に変換し(ステップS10)、変換した空間周波数領域情報Gl(x,y)に前記ステップS8で算出した所定数のウィーナフィルタの周波数応答BΓ=0.25(μ,ν)、BΓ=0.5(μ,ν)、……BΓ=1.0(μ,ν)を個別に掛けることにより、図10の処理2に示すように、所定数の空間周波数領域復元画像F^lΓ=0.25〜F^lΓ=1.0を算出する(ステップS11)。
【0066】
次いで、算出した各空間周波数領域復元画像F^lΓ=0.25〜F^lΓ=1.0を逆離散フーリエ変換することにより、図10の処理3に示すように拡大局所領域復元情報f^lΓ=0.25〜F^lΓ=1.0を算出する(ステップS12)。
次いで、図10に示すように、算出した拡大局所領域復元情報f^lΓ=0.25〜F^lΓ=1.0の中央部から個別に局所領域gs(x,y)と同一サイズの局所領域復元画像情報f^sΓ=0.25(x,y)〜f^sΓ=1.0(x,y)を切り出す(ステップS13)。
【0067】
次いで、図10に示すように、切り出した局所領域復元画像情報f^sΓ=0.25(x,y)〜f^sΓ=1.0(x,y)とステップS9で切り出した局所領域画像情報g^s(x,y)との平均二乗誤差DΓ=0.25〜DΓ=1.0を算出し(ステップS14)、算出した平均二乗誤差DΓ=0.25〜DΓ=1.0のうちから最小の平均二乗誤差DΓを選択し、選択した最小の平均二乗誤差DΓの局所領域復元画像情報f^sΓ(x,y)における輝度値を切り出した局所領域画像情報gs(x,y)における復元画像の輝度値の推定値とする。
【0068】
このようにして、切り出した局所領域画像情報gs(x,y)における復元画像の輝度値の推定値が求まると、次いで劣化画像情報g(x,y)の全ての局所領域画像情報gs(x,y)における輝度値の推定が終了したか否かを判定し(ステップS16)、全ての局所領域画像情報gs(x,y)における輝度値の推定が終了していないときには、次に切り出す拡大局所領域を指定してから再度上記と同様の局所領域画像復元処理を行ない、全ての局所領域画像情報gs(x,y)における輝度値の推定が終了したときには、全ての局所領域で推定した輝度値の復元画像f^Γ(x,y)をメモリカード110に記憶すると共に、液晶表示器3に表示してから画像復元処理を終了する。
【0069】
このように上記実施形態によると、角速度データに基づいてウィーナフィルタの点広がり関数のフーリエスペクトラムH(μ,ν)を算出し、この点広がり関数のフーリエスペクトルとその共役複素数H(μ,ν)*と所定数の異なる近似定数Γ1〜ΓNとに基づいてウィーナフィルタの周波数応答B(μ,ν)を算出すると共に、劣化画像情報g(x,y)から拡大局所領域画像情報gl(x,y)を順次切り出し、これら拡大局所領域画像情報gl(x,y)を離散フーリエ変換した空間周波数領域画像情報Gl(x,y)に所定数のウィーナフィルタの周波数応答BΓ(μ,ν)を個別に掛けて所定数の空間周波数領域復元画像情報F^l(x,y)を算出し、これらを逆離散フーリエ変換して拡大局所領域復元画像情報とし、この拡大局所領域復元画像情報から中央部の局所領域復元画像情報を切り出し、これら局所領域復元画像情報と局所領域画像情報との最小二乗誤差DΓが最小となる局所領域復元画像情報を選択して、選択した局所領域復元画像情報の輝度値を局所領域画像情報の輝度値として推定し、この局所領域画像情報の推定処理を繰り返すことにより、劣化画像情報の復元画像情報を生成するので、劣化画像情報を局所領域毎にウィーナフィルタの近似定数Γを最適に設定することができ、リンギングを抑制しながらぼけの成分をそのまま残すことなく、鮮明な復元画像情報を得ることができる。
【0070】
ここで、角速度データから点広がり関数のフーリエスペクトルH(μ,ν)を算出する際に、角速度データの隣接する振れ幅の変化量が大きいときに、スプライン補間処理することにより、より多くの角速度データを得ることができ、正確な点広がり関数のフーリエスペクトルを算出することができる。しかも、そのままの振れ幅又はスプライン補間した振れ幅をガウスフィルタ処理して平滑化することにより、より正確な点広がり関数のフーリエスペクトルH(μ,ν)を算出することができる。
【0071】
また、劣化画像情報g(x,y)から局所領域画像情報gs(x,y)((w×h)画素)を抽出する際に、この局所領域画像情報gs(x,y)((w×h)画素)に対して撮像装置としてのデジタルスチルカメラ120の最大振れ幅を考慮した拡大局所領域画像情報gl(x,y)((w+p)×(h+q)画素)を切り出すようにしているので、デジタルスチルカメラ120の振れ幅による折り返しの影響を受けることなく、画像抽出を行うことができ、後に得られる復元画像を正確に復元することができる。
【0072】
なお、上記実施形態においては、本発明をプリンタに適用した場合について説明したが、これに限定されるものではなく、デジタルスチルカメラ120を含む撮像装置や画像情報を再生するプロジェクタやテレビ等の表示装置に本発明を適用して劣化画像情報を復元して表示したり、コンピュータに本発明を適用して劣化画像情報を復元して表示したりすることができる。
【0073】
また、上記実施形態では、角速度データを直接JPEGファイルのExifに格納する場合について説明したが、これに限定されるものではなく、角速度データをn次の多項式に近似して、各次数の係数を記憶することにより、記憶容量を減少させるようにしてもよい。
さらに、上記実施形態においては、撮像装置としてデジタルスチルカメラ120を適用した場合について説明したが、これに限定されるものではなく、他の撮像装置を適用することもできる。また、劣化画像情報の入力もデジタルスチルカメラ120から入力される場合に限られるものではなく、ホストコンピュータから劣化画像を入力したり、CD−R、DVD等の記録媒体から劣化画像を入力したりするようにしてもよい。
【0074】
さらにまた、上記実施形態においては、振れ幅(xn,yn)に対してガウスフィルタ処理する場合について説明したが、これに限定されるものではなく、ガウスフィルタ処理を省略するようにしてもよい。
【図面の簡単な説明】
【0075】
【図1】本発明の一実施形態を示す概略構成図である。
【図2】デジタルスチルカメラの電気的構成を示すブロック図である。
【図3】画像劣化モデルを示す説明図である。
【図4】CPUで実行する画像復元処理手順の一例を示すフローチャートである。
【図5】デジタルスチルカメラに生じる角速度の説明に供する模式図である。
【図6】角速度データを示す特性線図であって、(a)は角速度データであり、(b)はスプライン補間した角速度データである。
【図7】ガウス分布を示す説明図であって、(a)はガウス分布特性図、(b)は(a)の矢印上のガウス分布断面図である。
【図8】劣化画像情報を示す説明図である。
【図9】点広がり関数のフーリエスペクトルを示す特性線図である。
【図10】劣化画像情報を復元するための処理手順を示す説明図である。
【図11】局所画像情報を離散フーリエ変換して空間周波数領域情報を得ることを示す説明図である。
【符号の説明】
【0076】
1…プリンタ、5…操作ボタン、6…カードスロット、7…画像復元ボタン、20…ヘッドユニット、30…用紙搬送機構、40…キャリッジ移動機構、50…検出器群、60…プリンタ側コントローラ、62…CPU、100…CD−R装置、110…メモリカード、120…デジタルスチルカメラ、121…カメラレンズ、122…固体撮像素子、124…カメラ系信号処理部、125…画像メモリ、126…記録系信号処理部、127…マイクロコンピュータ、128,129…角速度センサ、134…A/D変換器、135…表示器、136…バッファメモリ、137…シャッタ開閉センサ、140…ホストコンピュータ
【技術分野】
【0001】
本発明は、撮像装置から得られる画像の振れを表す振れ検出情報を含む劣化画像情報を、ウィーナフィルタを使用して原画像情報を復元する画像復元装置、画像復元方法及び画像復元プログラムに関する。
【背景技術】
【0002】
従来の画像復元装置としては、例えば劣化関数を用いて、劣化画像から元画像に近い復元画像を復元する際に、劣化関数を構成する振れ方向、振れ量等の劣化パラメータを変化させながら劣化画像を復元し、復元された画像の画像復元度を求め、該画像復元度を基に劣化パラメータを選択して劣化関数を導出し、該劣化関数により復元画像を生成するようにした画像処理方法及び装置が提案されている(例えば特許文献1参照)。
【0003】
しかしながら、上記特許文献1に記載の従来例にあっては、振れ方向、振れ量等の劣化パラメータを変化させるだけであるので、劣化画像を復元する際のリンギングを抑制することはできない。
このため、従来、劣化画像情報の雑音に関する統計的性質が既知の場合、その情報を利用し、逆フィルタの雑音に対する弱点を補う方法としてウィーナフィルタが知られている(非特許文献1参照)。このウィーナフィルタは元画像f(x,y)と復元画像f^(x,y)との平均2乗誤差が最小となるような復元方法であり、その周波数応答M(u,v)は下記のようにして算出される。
【0004】
【数1】
【0005】
観測された画像のフーリエ変換G(u,v)に周波数応答M(u,v)を掛けた後フーリエ逆変換すると、復元画像が求まる。通常は[Pnn(u,v)/Pff(u,v)を正確に求めることができないため、適当な定数Γで近似することが多い。ウィーナフィルタでは、この項があるため、H(u,v)=0となるような周波数でM(u,v)=0となり、逆フィルタのような不安定さは生じない。
【特許文献1】特開2000−57339号公報(第2頁、図2)
【非特許文献1】「コンピュータ画像処理」平成16年10月20日株式会社オーム社発行
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上記非特許文献1に記載された従来例にあっては、ウィーナフィルタの周波数応答M(u,v)を算出するために適当な近似定数Γを使用するようにしているので、この近似定数Γが大きいと、リンギングの問題は改善されるが、鮮明さが不十分となり、逆に近似定数Γが小さいと、鮮明になるが、リンギングが発生することになり、最適なΓを決定することが困難であるという未解決の課題がある。
【0007】
そこで、本発明は、上記従来例の未解決の課題に着目してなされたものであり、リンギングを抑制しながら鮮明さを確保することができるウィーナフィルタを使用した画像復元装置、画像復元方法及び画像復元プログラムを提供することを目的としている。
【課題を解決するための手段】
【0008】
本発明の第1の技術手段は、撮像装置から得られる画像の振れを表す振れ検出情報を含む劣化画像情報を、ウィーナフィルタを使用して原画像情報を復元する画像復元装置であって、前記劣化画像情報に含まれる前記振れ検出情報に基づいて前記ウィーナフィルタの点広がり関数を推定する点広がり関数推定手段と、前記劣化画像情報から切り出した局所領域画像情報毎に前記点広がり関数と最適な近似定数とに基づいて算出される前記ウィーナフィルタの周波数応答に基づいて局所領域復元画像情報を生成する画像復元手段とを有することを特徴としている。
【0009】
この第1の技術手段では、角速度データ等の撮像装置の振れ検出情報を含む劣化画像情報から振れ検出情報に基づいてウィーナフィルタの点広がり関数を算出し、劣化画像情報から切り出した局所領域画像情報毎に、点広がり関数と最適な近似定数とに基づいて算出されるウィーナフィルタの周波数応答に基づいて局所領域復元画像情報を生成するので、劣化画像情報の局所領域画像情報毎に最適な近似定数を設定することができ、リンギングを抑制しながら鮮明さを確保した画像復元を行うことができる。
【0010】
また、第2の技術手段は、上記第1の技術手段において、前記振れ検出情報は撮像装置の上下及び左右の振れを検出する角速度センサの出力情報であることを特徴としている。
この第2の技術手段においては、撮像装置の前後左右の振れを角速度センサで正確に検出することができるので、この角速度センサの出力情報を使用して点広がり関数を算出することにより、劣化画像情報の振れに応じた点広がり関数を算出することができる。
【0011】
さらに、本発明の第3の技術手段は、第1又は第2の技術手段において、前記点広がり関数推定手段は、前記振れ検出情報から点広がり関数のフーリエスペクトルを算出するように構成されていることを特徴としている。
この第3の技術手段では、点広がり関数推定手段で点広がり関数のフーリエスペクトルを算出するので、このフーリエスペクトルと、その共役複素数と、近似定数Γとからウィーナフィルタの周波数応答を算出することができる。
【0012】
さらにまた、本発明の第4の技術手段は、第1〜第3の技術手段の1つにおいて、前記点広がり関数推定手段は、前記振れ検出情報の振れ幅が大きいときに当該触れ検出情報をスプライン補間処理することを特徴としている。
この第4の技術手段では、振れ検出情報の触れ幅が大きいときに振れ検出情報をスプライン補間処理するので、より多くの振れ検出情報を得ることができ、正確な点広がり関数を算出することができる。
【0013】
なおさらに、本発明の第5の技術手段は、上記第1乃至第4の技術手段の1つにおいて、前記点広がり関数推定手段は、前記振れ検出情報をガウスフィルタ処理することを特徴としている。
この第5の技術手段では、振れ検出情報をガウスフィルタ処理することにより、振れ検出情報が平滑化されてより正確な点広がり関数を算出することができる。
【0014】
また、本発明の第6の技術手段は、第1〜第5の技術手段の1つにおいて、前記画像復元手段は、前記劣化画像情報から局所領域画像情報を切り出す画像情報切り出し手段と、該画像情報切り出し手段で切り出した前記局所領域画像情報をフーリエ変換した空間周波数領域情報に、前記点広がり関数推定手段で推定した前記点広がり関数と所定数の異なる近似定数Γとに基づいて算出されたウィーナフィルタの周波数応答を掛けて所定数の復元結果を算出する復元結果算出手段と、該復元結果算出手段で算出した所定数の前記復元結果をフーリエ逆変換して所定数の局所領域復元画像情報を生成する復元画像生成手段と、該復元画像生成手段で復元した所定数の前記局所領域復元画像情報と前記局所領域画像情報との平均二乗誤差が最小となる前記局所領域復元画像情報を選択する復元画像選択手段とを有することを特徴としている。
【0015】
この第6の技術手段では、画像復元手段で、画像切り出し手段で切り出した局所領域画像情報をフーリエ変換した空間周波数領域情報に、推定した点広がり関数と所定数の異なる近似定数Γとに基づいて算出されたウィーナフィルタの周波数応答を掛けて所定数の復元結果を算出し、算出した所定数の復元結果をフーリエ逆変換して所定数の局所領域復元画像情報を生成し、復元した所定数の局所領域復元画像情報と前記局所領域画像情報との平均二乗誤差が最小となる復元画像情報を選択するので、局所領域画像情報毎に最適な近似定数で復元した局所領域復元画像情報を生成することができる。
【0016】
さらに、本発明の第7の技術手段は、第6の技術手段において、前記画像情報切り出し手段は、前記局所画像領域を含む拡大局所画像情報を切り出すように構成され、前記復元画像生成手段は、フーリエ逆変換した前記復元結果算出手段で算出した復元結果から前記局所画像領域を切り出して前記局所領域復元画像情報を生成するように構成されていることを特徴としている。
【0017】
この第7の技術手段では、画像切り出し手段で、局所画像領域を含むこれより大きい拡大局所画像情報を切り出し、復元画像生成手段で、フーリエ逆変換した復元結果算出手段で算出した復元結果から前記局所画像領域を切り出して前記局所領域復元画像情報を生成するようにしているので、振れ幅による折り返しの影響を受けることなく正確な局所領域の画像復元を行うことができる。
【0018】
さらにまた、第8の技術手段は、第6又は第7の技術手段の1つにおいて、前記復元結果算出手段は、前記点広がり関数推定手段で算出した点広がり関数のフーリエスペクトルと、当該フーリエスペクトルの共役複素数と、前記近似定数Γとから周波数応答を算出するように構成されていることを特徴としている。
この第8の技術手段では、点広がり関数のフーリエスペクトルと、その共役複素数と、近似定数Γからウィーナフィルタの周波数応答を算出するので、近似定数Γを異なる値とすることにより、近似定数Γの異なる種々の周波数応答を算出することができる。
【0019】
なおさらに、本発明の第9の技術手段は、撮像装置から得られる画像の振れを表す振れ検出情報を含む劣化画像情報を、ウィーナフィルタを使用して原画像情報を復元する画像復元方法であって、点広がり関数推定手段によって前記劣化画像情報に含まれる前記振れ検出情報に基づいて前記ウィーナフィルタの点広がり関数を推定する点広がり関数推定ステップと、画像復元手段によって前記劣化画像情報から切り出した局所領域画像情報毎に前記点広がり関数と最適な近似定数とに基づいて算出される前記ウィーナフィルタの周波数応答に基づいて局所領域復元画像情報を生成する画像復元ステップとを有することを特徴としている。
【0020】
この第9の技術手段では、前述した第1の技術手段と同様の効果を得ることができる。
さらにまた、本発明の第10の技術手段は、第9の技術手段において、前記画像復元ステップは、画像情報切り出し手段で前記劣化画像情報から局所領域画像情報を切り出す画像情報切り出しステップと、復元結果算出手段で前記画像情報切り出しステップによって切り出した前記局所領域画像情報をフーリエ変換した空間周波数領域情報に、前記点広がり関数推定手段で推定した前記点広がり関数と所定数の異なる近似定数Γとに基づいて算出されたウィーナフィルタの周波数応答を掛けて所定数の復元結果を算出する復元結果算出ステップと、復元画像生成手段で算出した所定数の前記復元結果をフーリエ逆変換して所定数の局所復元画像情報を生成する復元画像生成ステップと、復元画像選択手段で復元した所定数の前記局所領域復元画像情報と前記局所領域画像情報との平均二乗誤差が最小となる前記局所領域復元画像情報を選択する復元画像選択ステップとを備えていることを特徴としている。
【0021】
この第10の技術手段では、前述した第6の技術手段と同様の効果を得ることができる。
なおさらに、本発明の第11の技術手段は、撮像装置から得られる画像の振れを表す振れ検出情報を含む劣化画像情報を、ウィーナフィルタを使用して原画像情報を復元する画像復元処理をコンピュータに実行させるための画像復元プログラムであって、点広がり関数推定手段によって前記劣化画像情報に含まれる前記振れ検出情報に基づいて前記ウィーナフィルタの点広がり関数を推定する点広がり関数推定ステップと、画像復元手段によって前記劣化画像情報から切り出した局所領域画像情報毎に前記点広がり関数と最適な近似定数とに基づいて算出される前記ウィーナフィルタの周波数応答に基づいて局所領域復元画像情報を生成する画像復元ステップとをコンピュータに実行させることを特徴としている。
この第11の技術手段では、前述した第1の技術手段及び第9の技術手段と同様の効果を得ることができる。
【0022】
また、本発明の第12の技術手段は、第11の技術手段において、前記画像復元ステップは、画像情報切り出し手段で前記劣化画像情報から局所領域画像情報を切り出す画像情報切り出しステップと、復元結果算出手段で前記画像情報切り出しステップによって切り出した前記局所領域画像情報をフーリエ変換した空間周波数領域情報に、前記点広がり関数推定手段で推定した点広がり関数と所定数の異なる近似定数Γとに基づいて算出されたウィーナフィルタの周波数応答を掛けて所定数の復元結果を算出する復元結果算出ステップと、復元画像生成手段で算出した所定数の前記復元結果をフーリエ逆変換して所定数の局所領域復元画像情報を生成する復元画像生成ステップと、復元画像選択手段で復元した所定数の前記局所領域復元画像情報と前記局所領域画像情報との平均二乗誤差が最小となる前記局所領域復元画像情報を選択する復元画像選択ステップとを備えていることを特徴としている。
【0023】
この第12の技術手段では、前述した第6及び10の技術手段と同様の効果を得ることができる。
【発明を実施するための最良の形態】
【0024】
以下、本発明の実施の形態を図面に基づいて説明する。
図1は本発明の一実施形態を示す概略構成図であり、図中、1はプリンタであって、このプリンタ1にCD−R装置100、デジタルカメラ120及びホストコンピュータ140が例えばUSBの接続コードを介して接続される。なお、CD−R装置100、例えば被写体を静止画像として撮影する撮像装置としてのデジタルスチルカメラ120及びホストコンピュータ140とプリンタ1との接続は接続コードを使用する場合に限らず無線で画像情報の授受を行うようにしてもよい。
【0025】
そして、プリンタ1は、ヘッドユニット20、用紙搬送機構30、キャリッジ移動機構40、検出器群50、プリンタ側コントローラ60、液晶表示器3、操作ボタン5、及びカードスロット6を有する。また、これらの他に、プリンタ1はホストコンピュータ140と接続するための第1インタフェース12と、デジタルスチルカメラ120やCD−R装置100と接続するための第2インタフェース14とを有している。
【0026】
ヘッドユニット20は、インクを用紙に向けて吐出させるものであり、インクを吐出するヘッド22を有する。このヘッドユニット20は、キャリッジ(図示せず)に取付けられており、キャリッジをキャリッジ移動方向に移動させるキャリッジ移動機構40によって、キャリッジと共に移動する。
用紙搬送機構30は、キャリッジ移動方向と交差する方向に用紙を搬送する。検出器群50は、プリンタ1の状態を検出するためのものであり、例えば、キャリッジの位置を検出するリニア式エンコーダ、紙の搬送量を検出するロータリー式エンコーダ、及び用紙の有無を検出する紙検出器(何れも図示せず)等が含まれる。
【0027】
プリンタ側コントローラ60は、プリンタ1の制御を行うものであり、CPU62と、メモリ64と、制御ユニット68とを有する。CPU62は、プリンタ1の全体的な制御を行うための演算処理装置である。メモリ64は、CPU62のプログラムを格納する領域や作業領域等を確保するためのものであり、RAM、EEPROM、ROM等の記憶素子によって構成されている。そして、画像情報の復元時において、メモリ64に復元画像情報が格納される。制御ユニット68は、制御対象となる各部とCPU62との間に配置され、CPU62からのコマンドに基づいてモータ用の駆動信号を生成したり、各部から送られてくる信号を、CPU62が解釈できる形態にして出力したりする。
【0028】
通常、プリンタ1は、ホストコンピュータ140又はデジタルスチルカメラ120から印刷データを受信すると、印刷データに基づいて印刷処理を行う。すなわち、印刷データの受信後、プリンタ側コントローラ60は、用紙搬送機構30に印刷開始位置まで用紙を搬送させ、キャリッジ移動機構40にキャリッジをキャリッジ移動方向に移動させ、キャリッジと共に移動するヘッドから印刷データに基づいてインクを吐出させる。そして、これらの動作が繰り返して行われると、用紙に画像が印刷される。
【0029】
さらに、プリンタ1は、ユーザーが操作ボタン5を操作することにより、画像情報のバックアップ処理を行う。このバックアップ処理では、プリンタ側コントローラ60は、カードスロット6に装着されたメモリカード110から画像情報を、CD−R装置100に送出し、CD−Rに記憶させる。
さらにまた、デジタルスチルカメラ120は、カメラレンズ121によって被写体像がその後段に配設された固体撮像素子122に結像される。この固体撮像素子122は、固体撮像素子駆動回路123からの駆動信号によって光電変換を行い、その光電変換出力がカメラ系信号処理部124に供給され、このカメラ系信号処理部124で、サンプリング処理、AGC処理を行った後にA/D変換処理によってデジタルデータに変換してからガンマ補正処理、エンコード処理等が行われて画像メモリ125に入力される。
【0030】
画像メモリ125から読出された画像データが液晶ディスプレイ、有機ELディスプレイ等で構成される表示器135に供給されると共に、記録系信号処理部126に出力され、この記録系信号処理部126でJPEG変換等を行ってDRAM、SRAM、フラッシュメモリ等で構成されるメモリカード110に記憶される。
一方、手振れ補正を行うために、デジタルスチルカメラ120の筐体に垂直方向及び水平方向のコリオリ力が発生したときにこれを検出する振れ量検出手段としての例えばジャイロセンサ(ジャイロスコープ)で構成される垂直方向及び水平方向角速度センサ128及び129が設けられ、これら垂直方向及び水平方向角速度センサ128及び129から出力される検出信号が帯域制限フィルタ130及び131に供給されて帯域制限された後、増幅器132及び133で増幅されてからA/D変換器134によって所定サンプリング周期でデジタル信号に変換されてバッファメモリ136に一時格納される。そして、バッファメモリ136に格納された垂直方向及び水平方向の角速度データがデジタルスチルカメラ120の制御を統括するマイクロコンピュータ127に読出される。
【0031】
そして、マイクロコンピュータ127では、シャッタ開閉センサ137からのシャッタ開閉信号SSが入力されたときに、このシャッタ開閉信号がシャッタ開状態となっている間及びその前後の所定時間のバッファメモリ136に格納されている垂直方向及び水平方向の角速度データを読込み、読込んだ角速度データを記録系信号処理部126が画像メモリ125から画像データを読込むタイミングで記録系信号処理部126に出力して、この記録系信号処理部126で画像データと共に信号処理してメモリカード110に記憶する。
【0032】
すなわち、角速度センサ128及び129の各角速度データをサンプリング間隔Δt(例えば40〜400Hzの範囲の任意の周波数)でサンプリングし、それをバッファメモリ136に時系列的に格納しておく、シャッタ開閉センサ137でシャッタが開かれる前の所定数のサンプルデータ、シャッタが開いてから閉じられるまでのサンプルデータ、シャッタが閉じられた後での所定数のサンプルのデータを使用して、角速度の変化を求める。その際、画像データは画像メモリ125に蓄積する。
【0033】
そして、バッファメモリ136に蓄積された各角速度データを画像メモリ125に記憶した画像データと共に記録系信号処理部126で信号処理してメモリカード110に記憶する。
この記録系信号処理部126では、画像情報をJPEG変換してJPEG画像ファイルに記憶すると共に、そのJPEG画像ファイルのExif IFD内の階層化されたユーザタグに各角速度データを記憶する。
【0034】
また、デジタルスチルカメラ120は、メモリカード110に記憶した画像情報をプリンタ1やホストコンピュータ140に出力する画像データ出力部138を有し、この画像データ出力部138からUSB等の接続コードを介して画像情報を出力する。
また、前述したプリンタ1では、デジタルスチルカメラ120からの振れがある劣化画像情報が接続コードを介して第2インタフェース14から直接入力されるか又はメモリカード110を介して入力されたときに、ユーザーが画像復元ボタン7を操作することにより、ウィーナフィルタを使用した画像復元処理を実行する。
【0035】
ここで、画像復元の原理は、原画像から劣化画像が生じる画像劣化モデルを図3について説明すると、原画像f(x,y)とし、劣化画像をg(x,y)とし、さらに点広がり関数をh(x,y)、ノイズをn(x,y)としたとき、これらの関係は図3に示すようになり、式で表すと下記(1)式となる。
g(x,y)=f(x,y)*h(x,y)+n(x,y) …………(1)
但し、*は畳み込みを表す。
【0036】
そして、劣化画像g(x,y)、原画像f(x,y)、点広がり関数h(x,y)及びノイズn(x,y)のフーリエ変換を夫々G(μ,ν)、F(μ,ν)、H(μ,ν)及びN(μ,ν)とすると、前記(1)式より
G(μ,ν)=F(μ,ν)H(μ,ν)+N(μ,ν) …………(2)
が得られる。
【0037】
そして、ウィーナフィルタによる画像復元の周波数応答B(μ,ν)は、
B(μ,ν)=H(μ,ν)*/{H(μ,ν)H(μ,ν)*+Γ ……(3)
と表すことができる。ここで、*は共役複素数、Γは近似定数を表す。
したがって、観測された画像のフーリエ変換G(μ,ν)に周波数応答B(μ,ν)を掛けた後、フーリエ逆変換すると復元画像を求めることができる。
【0038】
そして、画像復元処理は、プリンタ側コントローラ60内のCPU62で実行され、図4に示すように、先ず、ステップS1で、振れが生じている劣化画像情報を読込み、次いでステップS2に移行して、劣化画像情報のExif IFD内の階層化されたユーザタグから各角速度データを取得する。
次いで、ステップS3に移行して、取得した各角速度データから振れ幅(ピクセル)を算出する。
【0039】
この振れ量の算出は、デジタルスチルカメラ120のカメラレンズ121における光軸方位の変動状況を検出する角速度センサ2成分(角速度センサ128,129)は、図5に示すように、固体撮像素子122の平面内の直交ベクトル成分に対応するものである。これら2つの角速度成分は、図5に示すように、θx及びθyの変数で表される。
この角度成分に補正係数λx及びλyを乗算することにより、画像のx軸方向或いはy軸方向の振れ量(ピクセル)を求めることができる。
【0040】
ここで、画像のX方向の振れ量xnはθy×λx、画像のy方向の振れ量ynはθx×λyとなる。この場合の角速度センサ128,129より求めた振れ幅(xn,yn)(n=1,2,……N)の変化の様子は図6(a)に示すようになる。
次いで、ステップS4に移行して、算出した隣接する振れ幅(xn,yn)及び(xn+1,yn+1)間の最大変化量が大きいか否かを判定し、変化量が小さいときには直接ステップS6に移行するが、変化量が大きいときにはステップS5に移行して、振れ幅(xn,yn)を例えばキュービックスプライン処理を行うことによりスプライン補間して振れ幅(xm,ym)を算出してからステップS6に移行する。
【0041】
このステップS6では、変化量の小さい振れ幅(xn,yn)又はスプライン補間した振れ幅(xm,ym)に対してガウスフィルタ処理を行う。このガウスフィルタ処理は、下記(4)式で表される2次元のガウス関数f(x,y)を畳み込むことにより、振れ幅(xn,yn)又は(xm,ym)を平滑化する。
f(x,y)=e−(x2+y2)/2σ2 …………(4)
この場合のガウス分布は図7(a)に示すようになり、図7(a)の矢印で示した断面におけるガウス分布断面図は図7(b)で表される。
【0042】
次いで、ステップS7に移行して、平滑化された振れ量からウィーナフィルタの点広がり関数を推定する点広がり関数推定処理を行う。
この点広がり関数推定処理は、振れ幅(x1,y1),(x2,y2),……(xN,yN)が与えられたとき、劣化画像g(x,y)は次式で示されるように、原画像f(x,y)を(xn,yn)(n=1,2,……N)画素だけ移動した画像の和により得られる。
【0043】
【数2】
このとき、劣化画像のフーリエスペクトルに注目すると、
【0044】
【数3】
これにより、点広がり関数のフーリエスペクトルH(μ,ν)は
【0045】
【数4】
となる。
【0046】
次いで、ステップS8に移行して、点広がり関数のフーリエスペクトルH(μ,ν)とその共役複素数H(μ,ν)*と所定数の異なる近似定数Γ1〜ΓNとに基づいて所定数N個のウィーナフィルタの周波数応答BΓ(μ,ν)を算出する。
【0047】
次いで、ステップS9に移行して、復元対象となる劣化画像情報(例えば2304×1728画素)から予め設定した幅w(例えば80画素),高さh(例えば60画素)のサイズの局所領域画像情報gs(x,y)((w×h)画素)を含みこれに幅p(例えば20画素)及び高さq(例えば20画素)を加算したサイズの拡大局所領域画像情報gl(x,y)((w+p)×(h+q)画素)を切り出す。ここで、拡大局所領域画像情報gl(x,y)((w+p)×(h+q)画素)の幅p及び高さqは、撮像装置となるデジタルスチルカメラ120の最大振れ幅によって設定され、最大振れ幅が10画素であるときに余裕をみて幅p及び高さqを夫々20画素に設定する。なお、幅p及び高さqは異なる値に設定するようにしてもよい。
【0048】
次いで、ステップS10に移行して、拡大局所領域画像情報gl(x,y)((w+p)×(h+q)画素)を離散フーリエ変換(Discrete Fourier Transform;DFT)して空間周波数領域情報Gl(x,y)に変換する。
次いで、ステップS11に移行して、算出した空間周波数領域情報Gl(x,y)に所定数のウィーナフィルタの周波数応答BΓ(x,y)を個別に掛けることにより、所定数の空間周波数領域復元情報F^Γl(μ,ν)を算出する。
【0049】
次いで、ステップS12に移行して、算出した所定数の周波数領域復元情報F^Γl(μ,ν)を逆離散フーリエ変換(IDFT)を行って所定数の拡大局所領域復元画像情報f^Γl(x,y)を算出する。
次いで、ステップS13に移行して、算出した各拡大局所領域復元画像情報f^Γl(x,y)の中央部から個別に前述した局所領域gs(x,y)と同一サイズの局所領域復元画像情報f^Γs(x,y)を切り出す。
【0050】
次いで、ステップS14に移行して、切り出した所定数の局所領域復元画像情報f^Γs(x,y)と劣化画像情報g(x,y)から切り出した局所領域復元画像情報fs(x,y)から下式によって所定数の平均二乗誤差DΓを算出する。
【0051】
【数5】
【0052】
次いで、ステップS15に移行して、算出した所定数の平均二乗誤差DΓのうちから最小の平均二乗誤差DΓを選択し、この最小の平均二乗誤差DΓの局所領域復元画像情報f^Γs(x,y)における輝度値を切り出した局所領域画像情報gs(x,y)における復元画像の輝度値の推定値とする。
【0053】
次いで、ステップS16に移行して、劣化画像情報g(x,y)の全ての局所領域について前述したステップS9〜S15の輝度値の推定が終了したか否かを判定し、全ての局所領域についての輝度値の推定が終了していないときには、ステップS17に移行して、次に切り出す拡大局所領域を指定してから前記ステップS9に戻り、全ての局所領域について輝度値の推定が終了したときにはステップS18に移行して、全ての局所領域で推定した輝度値の復元画像f^Γ(x,y)をメモリカード110に記憶すると共に、液晶表示器3に表示してから画像復元処理を終了する。
【0054】
この図4の処理において、ステップS1〜ステップS7の処理が点広がり関数推定手段に対応し、ステップS8〜ステップS18の処理が画像復元手段に対応し、ステップS9の処理が画像切り出し手段に対応し、ステップS10〜ステップS13の処理が復元画像生成手段に対応し、ステップS14及びS15の処理が復元画像選択手段に対応している。
【0055】
次に、上記実施形態の動作を説明する。
先ず、デジタルスチルカメラ120のカメラレンズ121を被写体に向けて図示しないレリーズボタンを押圧することにより、露出計で測光された露出に基づいてシャッタ速度が算出され、算出されたシャッタ速度でシャッタが作動されることにより、カメラレンズ121を通った画像が固体撮像素子122上に投影される。
【0056】
この固体撮像素子122上に投影された画像情報が固体撮像素子駆動回路123からの駆動信号によって順次読出され、カメラ系信号処理部124で所定の信号処理が行われて画像データとして画像メモリ125に記憶される。この画像メモリ125に記憶された画像データは表示器135に供給されて表示される。この表示器135に表示された画像データは振れ量を含んだ画像データであり、表示された画像データから振れ量の程度を判断することができる。
【0057】
このとき、シャッタが作動されることにより、シャッタ開閉センサ137からシャッタが開いてから閉じるときにオン状態からオフ状態に反転するシャッタ開閉信号SSがマイクロコンピュータ127に入力されると、この時点から所定時間即ちA/D変換器134で角速度センサ128及び129の角速度データを予め設定した所定数のサンプル分の角速度データがバッファメモリ136に格納される時間が経過した時点で、バッファメモリ136からシャッタが開状態となる前の所定数のサンプル分とシャッタが開状態を継続している間のサンプル分とシャッタが閉じてからの所定数のサンプル分とを合計した連続的な角速度データθx1〜θxN及びθy1〜θyNを読出す。
【0058】
そして、読出した角速度データθx0〜θxN及びθy1〜θyNをバッファメモリ136に一時記憶し、その後記録系信号処理部126が画像メモリ125に記憶された画像データを読込むタイミングで角速度データθx0〜θxN及びθy1〜θyNを記録系信号処理部126に供給することにより、画像データJPEG変換してJPEGファイルに格納する共に、JPEGファイルのExifに角速度データθx0〜θxN及びθy1〜θyNを格納し、作成したJPEGファイルをメモリカード110に記憶する。
【0059】
このようにして順次デジタルスチルカメラ120で所望の被写体を撮影して画像データ及び角速度データθx0〜θxN及びθy1〜θyNをJPEGファイルに格納してメモリカード110に記憶する。
その後、所望のタイミングでデジタルスチルカメラ120を接続コードでプリンタ1の第2インタフェース14に接続するか又はデジタルスチルカメラ120からメモリカード110を引き出して、このメモリカード110をプリンタのカードスロット6に装着することにより、メモリカード110に記憶されている撮影した画像情報及び角速度データを含むJPEGファイルを、制御ユニット68を介してCPU62に読込む。
【0060】
そして、デジタルスチルカメラ120で同一被写体を撮影したときに、振れを生じると、図8に示すようにぼけとノイズが生じた劣化画像g(x,y)となる。この劣化画像では、ウィーナフィルタで復元画像を生成したときに、輝度変化の大きいエッジ部の近傍の平坦部でリンギングを生じ易くなる。
このため、劣化画像情報をプリンタ1に読込んだ状態で、ユーザーが画像復元ボタン7を操作すると、CPU62で、図4に示す画像復元処理が実行される。
【0061】
この画像復元処理では、先ず、デジタルスチルカメラ120又はメモリカード110から劣化画像情報及び角速度データθx1〜θxN及びθy1〜θyNを含むJPEGファイルを読込み(ステップS1)、次いでJPEGファイルのExifから角速度データθx1〜θxN及びθy1〜θyNを取得する(ステップS2)。
次いで、角速度データθx1〜θxN及びθy1〜θyNから振れ幅(xn,yn)を算出し(ステップS3)、次いで隣接する振れ幅(xn,yn)及び(xn+1,yn+1)間の最大変化量が大きいか否かを判定する(ステップS4)。
【0062】
このとき、隣接する振れ幅(xn,yn)及び(xn+1,yn+1)間の最大変化量が小さいときには振れ幅(x1,y1)〜(xN,yN)の夫々についてガウスフィルタ処理を行って平滑化するが(ステップS6)、図6(a)に示すように、隣接する振れ幅(xn,yn)及び(xn+1,yn+1)間の最大変化量が大きいときには振れ幅(x1,y1)〜(xN,yN)に対してキュービックスプライン処理することにより(ステップS5)、図6(b)に示すように、スプライン補間してより多くの振れ幅を得、これをガウスフィルタ処理することにより平滑化する(ステップS6)。
【0063】
そして、劣化画像情報g(x,y)は原画像f(x,y)を振れ幅(xn,yn)だけ移動した画像の和により得られることから、平滑化された振れ幅(x1,y1)〜(xN,yN)から前記(7)式の演算を行って点広がり関数のフーリエスペクトルH(μ,ν)を算出する。算出した点広がり関数のフーリエスペクトルH(μ,ν)はスプライン補間した図6(b)の振れ幅(x1,y1)〜(xN,yN)を使用した場合、図9に示すようになる。
【0064】
そして、点広がり関数のフーリエスペクトルH(μ,ν)が算出されると、算出した点広がり関数のフーリエスペクトルH(μ,ν)とその共役複素数H(μ,ν)*と所定数の異なる値の所定数N(=10)の近似定数Γ(=0.25,0.5,……1.0)を使用して、前述した(3)式の演算を行うことにより、図10の処理2に示すように所定数のウィーナフィルタの周波数応答BΓ=0.25(μ,ν)、BΓ=0.5(μ,ν)、……BΓ=1.0(μ,ν)を算出する(ステップS8)。
【0065】
次いで、図8及び図10の処理1に示すように、劣化画像情報g(x,y)から局所領域画像情報gs(x,y)(w×h)画素)を中央部に含む最初の拡大局所領域画像情報gl(x,y)((w+p)×(h+q)画素)を切り出す(ステップS9)。
次いで、図11に示すように、切り出した拡大局所領域画像情報gl(x,y)((w+p)×(h+q)画素)を、離散フーリエ変換して空間周波数領域情報Gl(x,y)に変換し(ステップS10)、変換した空間周波数領域情報Gl(x,y)に前記ステップS8で算出した所定数のウィーナフィルタの周波数応答BΓ=0.25(μ,ν)、BΓ=0.5(μ,ν)、……BΓ=1.0(μ,ν)を個別に掛けることにより、図10の処理2に示すように、所定数の空間周波数領域復元画像F^lΓ=0.25〜F^lΓ=1.0を算出する(ステップS11)。
【0066】
次いで、算出した各空間周波数領域復元画像F^lΓ=0.25〜F^lΓ=1.0を逆離散フーリエ変換することにより、図10の処理3に示すように拡大局所領域復元情報f^lΓ=0.25〜F^lΓ=1.0を算出する(ステップS12)。
次いで、図10に示すように、算出した拡大局所領域復元情報f^lΓ=0.25〜F^lΓ=1.0の中央部から個別に局所領域gs(x,y)と同一サイズの局所領域復元画像情報f^sΓ=0.25(x,y)〜f^sΓ=1.0(x,y)を切り出す(ステップS13)。
【0067】
次いで、図10に示すように、切り出した局所領域復元画像情報f^sΓ=0.25(x,y)〜f^sΓ=1.0(x,y)とステップS9で切り出した局所領域画像情報g^s(x,y)との平均二乗誤差DΓ=0.25〜DΓ=1.0を算出し(ステップS14)、算出した平均二乗誤差DΓ=0.25〜DΓ=1.0のうちから最小の平均二乗誤差DΓを選択し、選択した最小の平均二乗誤差DΓの局所領域復元画像情報f^sΓ(x,y)における輝度値を切り出した局所領域画像情報gs(x,y)における復元画像の輝度値の推定値とする。
【0068】
このようにして、切り出した局所領域画像情報gs(x,y)における復元画像の輝度値の推定値が求まると、次いで劣化画像情報g(x,y)の全ての局所領域画像情報gs(x,y)における輝度値の推定が終了したか否かを判定し(ステップS16)、全ての局所領域画像情報gs(x,y)における輝度値の推定が終了していないときには、次に切り出す拡大局所領域を指定してから再度上記と同様の局所領域画像復元処理を行ない、全ての局所領域画像情報gs(x,y)における輝度値の推定が終了したときには、全ての局所領域で推定した輝度値の復元画像f^Γ(x,y)をメモリカード110に記憶すると共に、液晶表示器3に表示してから画像復元処理を終了する。
【0069】
このように上記実施形態によると、角速度データに基づいてウィーナフィルタの点広がり関数のフーリエスペクトラムH(μ,ν)を算出し、この点広がり関数のフーリエスペクトルとその共役複素数H(μ,ν)*と所定数の異なる近似定数Γ1〜ΓNとに基づいてウィーナフィルタの周波数応答B(μ,ν)を算出すると共に、劣化画像情報g(x,y)から拡大局所領域画像情報gl(x,y)を順次切り出し、これら拡大局所領域画像情報gl(x,y)を離散フーリエ変換した空間周波数領域画像情報Gl(x,y)に所定数のウィーナフィルタの周波数応答BΓ(μ,ν)を個別に掛けて所定数の空間周波数領域復元画像情報F^l(x,y)を算出し、これらを逆離散フーリエ変換して拡大局所領域復元画像情報とし、この拡大局所領域復元画像情報から中央部の局所領域復元画像情報を切り出し、これら局所領域復元画像情報と局所領域画像情報との最小二乗誤差DΓが最小となる局所領域復元画像情報を選択して、選択した局所領域復元画像情報の輝度値を局所領域画像情報の輝度値として推定し、この局所領域画像情報の推定処理を繰り返すことにより、劣化画像情報の復元画像情報を生成するので、劣化画像情報を局所領域毎にウィーナフィルタの近似定数Γを最適に設定することができ、リンギングを抑制しながらぼけの成分をそのまま残すことなく、鮮明な復元画像情報を得ることができる。
【0070】
ここで、角速度データから点広がり関数のフーリエスペクトルH(μ,ν)を算出する際に、角速度データの隣接する振れ幅の変化量が大きいときに、スプライン補間処理することにより、より多くの角速度データを得ることができ、正確な点広がり関数のフーリエスペクトルを算出することができる。しかも、そのままの振れ幅又はスプライン補間した振れ幅をガウスフィルタ処理して平滑化することにより、より正確な点広がり関数のフーリエスペクトルH(μ,ν)を算出することができる。
【0071】
また、劣化画像情報g(x,y)から局所領域画像情報gs(x,y)((w×h)画素)を抽出する際に、この局所領域画像情報gs(x,y)((w×h)画素)に対して撮像装置としてのデジタルスチルカメラ120の最大振れ幅を考慮した拡大局所領域画像情報gl(x,y)((w+p)×(h+q)画素)を切り出すようにしているので、デジタルスチルカメラ120の振れ幅による折り返しの影響を受けることなく、画像抽出を行うことができ、後に得られる復元画像を正確に復元することができる。
【0072】
なお、上記実施形態においては、本発明をプリンタに適用した場合について説明したが、これに限定されるものではなく、デジタルスチルカメラ120を含む撮像装置や画像情報を再生するプロジェクタやテレビ等の表示装置に本発明を適用して劣化画像情報を復元して表示したり、コンピュータに本発明を適用して劣化画像情報を復元して表示したりすることができる。
【0073】
また、上記実施形態では、角速度データを直接JPEGファイルのExifに格納する場合について説明したが、これに限定されるものではなく、角速度データをn次の多項式に近似して、各次数の係数を記憶することにより、記憶容量を減少させるようにしてもよい。
さらに、上記実施形態においては、撮像装置としてデジタルスチルカメラ120を適用した場合について説明したが、これに限定されるものではなく、他の撮像装置を適用することもできる。また、劣化画像情報の入力もデジタルスチルカメラ120から入力される場合に限られるものではなく、ホストコンピュータから劣化画像を入力したり、CD−R、DVD等の記録媒体から劣化画像を入力したりするようにしてもよい。
【0074】
さらにまた、上記実施形態においては、振れ幅(xn,yn)に対してガウスフィルタ処理する場合について説明したが、これに限定されるものではなく、ガウスフィルタ処理を省略するようにしてもよい。
【図面の簡単な説明】
【0075】
【図1】本発明の一実施形態を示す概略構成図である。
【図2】デジタルスチルカメラの電気的構成を示すブロック図である。
【図3】画像劣化モデルを示す説明図である。
【図4】CPUで実行する画像復元処理手順の一例を示すフローチャートである。
【図5】デジタルスチルカメラに生じる角速度の説明に供する模式図である。
【図6】角速度データを示す特性線図であって、(a)は角速度データであり、(b)はスプライン補間した角速度データである。
【図7】ガウス分布を示す説明図であって、(a)はガウス分布特性図、(b)は(a)の矢印上のガウス分布断面図である。
【図8】劣化画像情報を示す説明図である。
【図9】点広がり関数のフーリエスペクトルを示す特性線図である。
【図10】劣化画像情報を復元するための処理手順を示す説明図である。
【図11】局所画像情報を離散フーリエ変換して空間周波数領域情報を得ることを示す説明図である。
【符号の説明】
【0076】
1…プリンタ、5…操作ボタン、6…カードスロット、7…画像復元ボタン、20…ヘッドユニット、30…用紙搬送機構、40…キャリッジ移動機構、50…検出器群、60…プリンタ側コントローラ、62…CPU、100…CD−R装置、110…メモリカード、120…デジタルスチルカメラ、121…カメラレンズ、122…固体撮像素子、124…カメラ系信号処理部、125…画像メモリ、126…記録系信号処理部、127…マイクロコンピュータ、128,129…角速度センサ、134…A/D変換器、135…表示器、136…バッファメモリ、137…シャッタ開閉センサ、140…ホストコンピュータ
【特許請求の範囲】
【請求項1】
撮像装置から得られる画像の振れを表す振れ検出情報を含む劣化画像情報を、ウィーナフィルタを使用して原画像情報を復元する画像復元装置であって、
前記劣化画像情報に含まれる前記振れ検出情報に基づいて前記ウィーナフィルタの点広がり関数を推定する点広がり関数推定手段と、前記劣化画像情報から切り出した局所領域画像情報毎に前記点広がり関数と最適な近似定数とに基づいて算出される前記ウィーナフィルタの周波数応答に基づいて局所領域復元画像情報を生成する画像復元手段とを有することを特徴とする画像復元装置。
【請求項2】
前記振れ検出情報は撮像装置の上下及び左右の振れを検出する角速度センサの出力情報であることを特徴とする請求項1に記載の画像復元装置。
【請求項3】
前記点広がり関数推定手段は、前記振れ検出情報から点広がり関数のフーリエスペクトルを算出するように構成されていることを特徴とする請求項1又は2に記載の画像復元装置。
【請求項4】
前記点広がり関数推定手段は、前記振れ検出情報の振れ幅が大きいときに当該触れ検出情報をスプライン補間処理することを特徴とする請求項1乃至3の何れか1項に記載の画像復元装置。
【請求項5】
前記点広がり関数推定手段は、前記振れ検出情報をガウスフィルタ処理することを特徴とする請求項1乃至4の何れか1項に記載の画像復元装置。
【請求項6】
前記画像復元手段は、前記劣化画像情報から局所領域画像情報を切り出す画像情報切り出し手段と、該画像情報切り出し手段で切り出した前記局所領域画像情報をフーリエ変換した空間周波数領域情報に、前記点広がり関数推定手段で推定した前記点広がり関数と所定数の異なる近似定数Γとに基づいて算出されたウィーナフィルタの周波数応答を掛けて所定数の復元結果を算出する復元結果算出手段と、該復元結果算出手段で算出した所定数の前記復元結果をフーリエ逆変換して所定数の局所領域復元画像情報を生成する復元画像生成手段と、該復元画像生成手段で復元した所定数の前記局所領域復元画像情報と前記局所領域画像情報との平均二乗誤差が最小となる前記局所領域復元画像情報を選択する復元画像選択手段とを有することを特徴とする請求項1乃至5の何れか1項に記載の画像復元装置。
【請求項7】
前記画像情報切り出し手段は、前記局所画像領域を含む拡大局所画像情報を切り出すように構成され、前記復元画像生成手段は、フーリエ逆変換した前記復元結果算出手段で算出した復元結果から前記局所画像領域を切り出して前記局所領域復元画像情報を生成するように構成されていることを特徴とする請求項6に記載の画像復元装置。
【請求項8】
前記復元結果算出手段は、前記点広がり関数推定手段で算出した点広がり関数のフーリエスペクトルと、当該フーリエスペクトルの共役複素数と、前記近似定数Γとから周波数応答を算出するように構成されていることを特徴とする請求項6又は7の何れか1項に記載の画像復元装置。
【請求項9】
撮像装置から得られる画像の振れを表す振れ検出情報を含む劣化画像情報を、ウィーナフィルタを使用して原画像情報を復元する画像復元方法であって、
点広がり関数推定手段によって前記劣化画像情報に含まれる前記振れ検出情報に基づいて前記ウィーナフィルタの点広がり関数を推定する点広がり関数推定ステップと、画像復元手段によって前記劣化画像情報から切り出した局所領域画像情報毎に前記点広がり関数と最適な近似定数とに基づいて算出される前記ウィーナフィルタの周波数応答に基づいて局所領域復元画像情報を生成する画像復元ステップとを有することを特徴とする画像復元方法。
【請求項10】
前記画像復元ステップは、画像情報切り出し手段で前記劣化画像情報から局所領域画像情報を切り出す画像情報切り出しステップと、復元結果算出手段で前記画像情報切り出しステップによって切り出した前記局所領域画像情報をフーリエ変換した空間周波数領域情報に、前記点広がり関数推定手段で推定した前記点広がり関数と所定数の異なる近似定数Γとに基づいて算出されたウィーナフィルタの周波数応答を掛けて所定数の復元結果を算出する復元結果算出ステップと、復元画像生成手段で算出した所定数の前記復元結果をフーリエ逆変換して所定数の局所復元画像情報を生成する復元画像生成ステップと、復元画像選択手段で復元した所定数の前記局所領域復元画像情報と前記局所領域画像情報との平均二乗誤差が最小となる前記局所領域復元画像情報を選択する復元画像選択ステップとを備えていることを特徴とする請求項9に記載の画像復元方法。
【請求項11】
撮像装置から得られる画像の振れを表す振れ検出情報を含む劣化画像情報を、ウィーナフィルタを使用して原画像情報を復元する画像復元処理をコンピュータに実行させるための画像復元プログラムであって、
点広がり関数推定手段によって前記劣化画像情報に含まれる前記振れ検出情報に基づいて前記ウィーナフィルタの点広がり関数を推定する点広がり関数推定ステップと、画像復元手段によって前記劣化画像情報から切り出した局所領域画像情報毎に前記点広がり関数と最適な近似定数とに基づいて算出される前記ウィーナフィルタの周波数応答に基づいて局所領域復元画像情報を生成する画像復元ステップとをコンピュータに実行させることを特徴とする画像復元プログラム。
【請求項12】
前記画像復元ステップは、画像情報切り出し手段で前記劣化画像情報から局所領域画像情報を切り出す画像情報切り出しステップと、復元結果算出手段で前記画像情報切り出しステップによって切り出した前記局所領域画像情報をフーリエ変換した空間周波数領域情報に、前記点広がり関数推定手段で推定した点広がり関数と所定数の異なる近似定数Γとに基づいて算出されたウィーナフィルタの周波数応答を掛けて所定数の復元結果を算出する復元結果算出ステップと、復元画像生成手段で算出した所定数の前記復元結果をフーリエ逆変換して所定数の局所領域復元画像情報を生成する復元画像生成ステップと、復元画像選択手段で復元した所定数の前記局所領域復元画像情報と前記局所領域画像情報との平均二乗誤差が最小となる前記局所領域復元画像情報を選択する復元画像選択ステップとを備えていることを特徴とする請求項11に記載の画像復元プログラム。
【請求項1】
撮像装置から得られる画像の振れを表す振れ検出情報を含む劣化画像情報を、ウィーナフィルタを使用して原画像情報を復元する画像復元装置であって、
前記劣化画像情報に含まれる前記振れ検出情報に基づいて前記ウィーナフィルタの点広がり関数を推定する点広がり関数推定手段と、前記劣化画像情報から切り出した局所領域画像情報毎に前記点広がり関数と最適な近似定数とに基づいて算出される前記ウィーナフィルタの周波数応答に基づいて局所領域復元画像情報を生成する画像復元手段とを有することを特徴とする画像復元装置。
【請求項2】
前記振れ検出情報は撮像装置の上下及び左右の振れを検出する角速度センサの出力情報であることを特徴とする請求項1に記載の画像復元装置。
【請求項3】
前記点広がり関数推定手段は、前記振れ検出情報から点広がり関数のフーリエスペクトルを算出するように構成されていることを特徴とする請求項1又は2に記載の画像復元装置。
【請求項4】
前記点広がり関数推定手段は、前記振れ検出情報の振れ幅が大きいときに当該触れ検出情報をスプライン補間処理することを特徴とする請求項1乃至3の何れか1項に記載の画像復元装置。
【請求項5】
前記点広がり関数推定手段は、前記振れ検出情報をガウスフィルタ処理することを特徴とする請求項1乃至4の何れか1項に記載の画像復元装置。
【請求項6】
前記画像復元手段は、前記劣化画像情報から局所領域画像情報を切り出す画像情報切り出し手段と、該画像情報切り出し手段で切り出した前記局所領域画像情報をフーリエ変換した空間周波数領域情報に、前記点広がり関数推定手段で推定した前記点広がり関数と所定数の異なる近似定数Γとに基づいて算出されたウィーナフィルタの周波数応答を掛けて所定数の復元結果を算出する復元結果算出手段と、該復元結果算出手段で算出した所定数の前記復元結果をフーリエ逆変換して所定数の局所領域復元画像情報を生成する復元画像生成手段と、該復元画像生成手段で復元した所定数の前記局所領域復元画像情報と前記局所領域画像情報との平均二乗誤差が最小となる前記局所領域復元画像情報を選択する復元画像選択手段とを有することを特徴とする請求項1乃至5の何れか1項に記載の画像復元装置。
【請求項7】
前記画像情報切り出し手段は、前記局所画像領域を含む拡大局所画像情報を切り出すように構成され、前記復元画像生成手段は、フーリエ逆変換した前記復元結果算出手段で算出した復元結果から前記局所画像領域を切り出して前記局所領域復元画像情報を生成するように構成されていることを特徴とする請求項6に記載の画像復元装置。
【請求項8】
前記復元結果算出手段は、前記点広がり関数推定手段で算出した点広がり関数のフーリエスペクトルと、当該フーリエスペクトルの共役複素数と、前記近似定数Γとから周波数応答を算出するように構成されていることを特徴とする請求項6又は7の何れか1項に記載の画像復元装置。
【請求項9】
撮像装置から得られる画像の振れを表す振れ検出情報を含む劣化画像情報を、ウィーナフィルタを使用して原画像情報を復元する画像復元方法であって、
点広がり関数推定手段によって前記劣化画像情報に含まれる前記振れ検出情報に基づいて前記ウィーナフィルタの点広がり関数を推定する点広がり関数推定ステップと、画像復元手段によって前記劣化画像情報から切り出した局所領域画像情報毎に前記点広がり関数と最適な近似定数とに基づいて算出される前記ウィーナフィルタの周波数応答に基づいて局所領域復元画像情報を生成する画像復元ステップとを有することを特徴とする画像復元方法。
【請求項10】
前記画像復元ステップは、画像情報切り出し手段で前記劣化画像情報から局所領域画像情報を切り出す画像情報切り出しステップと、復元結果算出手段で前記画像情報切り出しステップによって切り出した前記局所領域画像情報をフーリエ変換した空間周波数領域情報に、前記点広がり関数推定手段で推定した前記点広がり関数と所定数の異なる近似定数Γとに基づいて算出されたウィーナフィルタの周波数応答を掛けて所定数の復元結果を算出する復元結果算出ステップと、復元画像生成手段で算出した所定数の前記復元結果をフーリエ逆変換して所定数の局所復元画像情報を生成する復元画像生成ステップと、復元画像選択手段で復元した所定数の前記局所領域復元画像情報と前記局所領域画像情報との平均二乗誤差が最小となる前記局所領域復元画像情報を選択する復元画像選択ステップとを備えていることを特徴とする請求項9に記載の画像復元方法。
【請求項11】
撮像装置から得られる画像の振れを表す振れ検出情報を含む劣化画像情報を、ウィーナフィルタを使用して原画像情報を復元する画像復元処理をコンピュータに実行させるための画像復元プログラムであって、
点広がり関数推定手段によって前記劣化画像情報に含まれる前記振れ検出情報に基づいて前記ウィーナフィルタの点広がり関数を推定する点広がり関数推定ステップと、画像復元手段によって前記劣化画像情報から切り出した局所領域画像情報毎に前記点広がり関数と最適な近似定数とに基づいて算出される前記ウィーナフィルタの周波数応答に基づいて局所領域復元画像情報を生成する画像復元ステップとをコンピュータに実行させることを特徴とする画像復元プログラム。
【請求項12】
前記画像復元ステップは、画像情報切り出し手段で前記劣化画像情報から局所領域画像情報を切り出す画像情報切り出しステップと、復元結果算出手段で前記画像情報切り出しステップによって切り出した前記局所領域画像情報をフーリエ変換した空間周波数領域情報に、前記点広がり関数推定手段で推定した点広がり関数と所定数の異なる近似定数Γとに基づいて算出されたウィーナフィルタの周波数応答を掛けて所定数の復元結果を算出する復元結果算出ステップと、復元画像生成手段で算出した所定数の前記復元結果をフーリエ逆変換して所定数の局所領域復元画像情報を生成する復元画像生成ステップと、復元画像選択手段で復元した所定数の前記局所領域復元画像情報と前記局所領域画像情報との平均二乗誤差が最小となる前記局所領域復元画像情報を選択する復元画像選択ステップとを備えていることを特徴とする請求項11に記載の画像復元プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2008−165657(P2008−165657A)
【公開日】平成20年7月17日(2008.7.17)
【国際特許分類】
【出願番号】特願2006−356778(P2006−356778)
【出願日】平成18年12月29日(2006.12.29)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成20年7月17日(2008.7.17)
【国際特許分類】
【出願日】平成18年12月29日(2006.12.29)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]