画像処理装置およびその制御方法
【課題】撮像時にぶれが発生した画像における画質劣化を軽減可能とする。
【解決手段】露光条件を変化させ撮像する撮像部により取得された画像データを入力する画像入力手段と、露光条件を示す露光条件情報を取得する露光条件取得手段と、ぶれの軌跡を示すぶれ軌跡情報を取得するぶれ軌跡取得手段と、露光条件とぶれ軌跡情報とに基づいて画像データに発生しているぶれと同様のぶれが発生している第1ぶれ画像データを生成する第1ぶれ画像生成手段と、画像データと第1ぶれ画像データとの差分である差分画像データを生成する差分画像生成手段と、露光条件とぶれ軌跡情報とに基づいて差分画像データから画像データに発生しているぶれと逆のぶれが発生している第2ぶれ画像データを生成する第2ぶれ画像生成手段と、画像データから所定の重みを乗じた第2ぶれ画像データを減算して得られる補正画像データを生成する補正画像生成手段とを含む。
【解決手段】露光条件を変化させ撮像する撮像部により取得された画像データを入力する画像入力手段と、露光条件を示す露光条件情報を取得する露光条件取得手段と、ぶれの軌跡を示すぶれ軌跡情報を取得するぶれ軌跡取得手段と、露光条件とぶれ軌跡情報とに基づいて画像データに発生しているぶれと同様のぶれが発生している第1ぶれ画像データを生成する第1ぶれ画像生成手段と、画像データと第1ぶれ画像データとの差分である差分画像データを生成する差分画像生成手段と、露光条件とぶれ軌跡情報とに基づいて差分画像データから画像データに発生しているぶれと逆のぶれが発生している第2ぶれ画像データを生成する第2ぶれ画像生成手段と、画像データから所定の重みを乗じた第2ぶれ画像データを減算して得られる補正画像データを生成する補正画像生成手段とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像時にぶれが発生した画像における画質劣化を軽減する画像処理技術に関するものである。
【背景技術】
【0002】
近年の撮像装置の高画素化、高ズーム化に伴い、撮影時の手ぶれによる撮影画像の画像劣化が問題となってきている。この手ぶれの問題を解決するため、従来より手ぶれ補正機能付き撮像装置が広く使用されている。このような手ぶれ補正機能付き撮像装置では、手ぶれによるシフトベクトルを検出するセンサと、手ぶれを打ち消すようにレンズと撮像素子との相対的位置を制御する駆動装置とで光学的に手ぶれを補正する光学式手ぶれ補正方式が一般的である。
【0003】
一方で、画像処理による手ぶれ補正の技術としては、シフトぶれ以外のぶれが混在した場合にも手ぶれを補正できる方法が提案されている(例えば、特許文献1参照)。これらの方法では、まず手ぶれが生じない程度の露光時間、すなわち高速なシャッタスピードで複数画面の画像を取り込む。この複数画面の画像を電子的に位置合わせを行い重ね合わせることで手ぶれの影響のない画像を生成するのである。例えば特許文献1では、回転ぶれが小さいものとして、回転のぶれベクトルを直線で近似し、複数画像間の相関を取ることで、回転のぶれベクトル及びシフトベクトルを求めている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−203504号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の手法では以下のような問題がある。まず補正に複数枚の画像が必要になり、メモリを消費すると言う問題点が挙げられる。しかも、複数枚の画像を合成し、手ぶれを補正するためには位置合わせが必要になる。その他にもぶれの角度が小さいものとして、動きベクトルを直線で近似してしまっていると言う問題点が挙げられる。これは補正の正確さを損なう可能性がある。また特許文献1の手法では撮像装置の奥行き方向の手ぶれによって発生する画像の拡大・縮小のぶれは考慮されていない。
【0006】
本発明は、上述の問題点に鑑みなされたものであり、撮像時にぶれが発生した画像における画質劣化を軽減可能とする画像処理技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の画像処理装置は以下の構成を備える。すなわち、画像処理装置において、露光条件を変化させながら撮像する撮像部により取得された画像データを入力する画像入力手段と、前記画像データを撮像した際の露光条件を示す露光条件情報を取得する露光条件取得手段と、前記画像データを撮像した際のぶれの軌跡を示すぶれ軌跡情報を取得するぶれ軌跡取得手段と、前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記画像データから該画像データに発生しているぶれと同様のぶれが発生している第1ぶれ画像データを生成する第1ぶれ画像生成手段と、前記画像データと前記第1ぶれ画像データとの差分である差分画像データを生成する差分画像生成手段と、前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記差分画像データから前記画像データに発生しているぶれと逆のぶれが発生している第2ぶれ画像データを生成する第2ぶれ画像生成手段と、前記画像データから所定の重みを乗じた前記第2ぶれ画像データを減算して得られる補正画像データを生成する補正画像生成手段と、を含む。
【発明の効果】
【0008】
本発明によれば、撮像時にぶれが発生した画像における画質劣化を軽減可能とする画像処理技術を提供することができる。
【図面の簡単な説明】
【0009】
【図1】第1実施形態に係る画像処理装置のブロック図である。
【図2】差分画像生成部のブロック図である。
【図3】第1実施形態に係る画像処理装置の動作フローチャートである。
【図4】ぶれ補正処理の適用前後の画像の例を示す図である。
【図5】第2実施形態に係る画像処理装置のブロック図である。
【図6】第2実施形態に係る画像処理装置の動作フローチャートである。
【図7】拘束項の有無による補正処理後の画像の例を示す図である。
【図8】補正処理後の画像をクリッピングした画像の例を示す図である。
【図9】第5実施形態に係る画像処理装置のブロック図である。
【図10】第6実施形態に係る画像処理装置のブロック図である。
【図11】画像データに補正に利用する情報を埋め込む例を示す図である。
【発明を実施するための形態】
【0010】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【0011】
(第1実施形態)
本発明に係る画像処理装置の第1実施形態として、ぶれ補正部100を例に挙げて以下に説明する。なお、以下の説明では、平行移動(シフト)ぶれ、回転ぶれ、拡大・縮小(拡縮)ぶれおよびその任意の組み合わせを”アフィン変換ぶれ”と呼称することにする。
【0012】
<装置構成>
図1は、第1実施形態に係る画像処理装置(ぶれ補正部100)のブロック図である。101は、撮像装置によって撮影された撮像データを入力する撮像データ入力端子(画像入力手段)である。なお、撮像装置は露光条件を変化させながら撮像を行い当該撮像データを取得する。102は、撮像データ入力端子101から入力された撮像データから画像補正のための初期画像を作成する初期画像作成部である。103は、後述する差分画像生成部200により生成された画像データに基づいて更新画像を修正する画像修正部(補正画像生成手段)である。104はぶれ軌跡情報を入力するぶれ軌跡情報入力端子(ぶれ軌跡取得手段)である。105は露光条件情報を入力する露光条件情報入力端子(露光条件取得手段)である。106は、差分画像生成部200および画像修正部103による処理を予め指定された回数繰り返し行なうことにより得られる画像データ(補正画像データ)を出力する出力端子である。なお、上述の各機能部は、専用のハードウェアにより実現してもよいし、CPUに所定のソフトウェアを実行させることにより実行しても良い。
【0013】
図2は、差分画像生成部200のブロック図である。201は、更新用の画像データを入力する更新用画像データ入力端子である。なお、後述するように、1回目の処理においては、更新用の画像データとして撮像データ入力端子101により入力された撮像データが入力され、2回目以降の処理においては、更新用の画像データとして画像修正部103から出力された修正撮像データが入力される。202は、ぶれ軌跡情報入力端子104から入力されたぶれ軌跡情報を格納するぶれ軌跡記録部である。203は、露光条件情報入力端子105から入力された露光条件情報を格納する露光条件記録部である。さらに、204は、非整数値画素における画素値を算出するために必要な補間カーネル関数の値が格納されている補間カーネルデータベース(DB)である。
【0014】
205は、ぶれ軌跡記録部202、露光条件記録部203、補間カーネルDB204に格納された情報に基づいて、更新用画像データ入力端子201により入力された更新用画像データから、撮像データに発生しているぶれと同様のぶれが発生しているぶれ画像(以降では”順ぶれ画像データ”と呼ぶ)を生成する順ぶれ画像生成部である。206は、順ぶれ画像生成部205で生成された順ぶれ画像データと撮像データとの差分を算出する減算部である。
【0015】
207は、ぶれ軌跡記録部202、露光条件記録部203、補間カーネルDB204に格納された情報に基づいて、減算部206により入力された差分から、撮像データに発生しているぶれと逆のぶれが発生しているぶれ画像(以降では”逆ぶれ画像データ”と呼ぶ)を生成する逆ぶれ画像生成部である。208は、逆ぶれ画像生成部207で生成された逆ぶれ画像データを出力する差分画像データ出力端子である。
【0016】
<ぶれ補正部100の動作原理>
以下、ぶれ補正部100によるぶれ補正の処理について説明する。
・連立方程式の解法
【0017】
【数1】
ここで、xおよびbはベクトルである。このとき評価関数
【0018】
【数2】
を最小にするxを求める。ここで、f(x)は最小化問題をwell-posedにするために導入された項である。
【0019】
Eを最小にするxを繰り返し演算で解くことにする。最急降下法を用いると、漸化式は
【0020】
【数3】
となる。ここで、ηは更新の幅である。
・連立方程式の解法の手ぶれ補正への応用
一般にアフィン変換ぶれは、時刻tにおけるアフィン変換行列をA(t)、シフトぶれベクトルをs(t)と置くと、時刻tにおけるぶれは基準時刻t=0におけるぶれのない画像を基準として、時刻tに座標x(t)=(x,y)に来る点は、
【0021】
【数4】
と書ける。この点(x,y)は時刻t=0では
【0022】
【数5】
にある。このときアフィン変換ぶれを表す式は以下のように書ける。
【0023】
【数6】
ここで、Iはぶれが発生していない画像(ぶれ補正処理が実施された画像)、Iblurはアフィン変換ぶれにより像がぶれた画像である。Tは露光時間である。h(t)は露光条件を決める関数であり、撮像装置のシャッターの開閉状態を示す情報に該当する。ここでは、ぶれ画像Iblurは、シャッターは予め符号化されたパターン(所定のパターン)に従って開閉することにより取得されたものであるとする。また、画像のサイズはM(画素)×N(画素)であるとする。
【0024】
さらに、座標が非整数値となった場合にも対応できるように、補間カーネルφ(x)を導入し、非整数値画素における画素値を以下のように定義する。
【0025】
【数7】
【0026】
ここで、Zは整数の集合を現し、Z/NZは[0,1,2,・・・,N−1]の集合を記号的に表したものである。但し0とNとは同一であるものとする。式(7)は通常の補間の式と同一である。式(7)を式(6)に代入すると、
【0027】
【数8】
と書くことができる。式(8)において、フィルタKを
【0028】
【数9】
と定義すると、式(8)は
【0029】
【数10】
と書くことができる。
【0030】
画像IおよびIblurを1次元ベクトルに書き直すと、KはNM(画素)×NM(画素)の行列として表現することができる。つまり、手ブレ補正の問題は、
【0031】
【数11】
という連立方程式を解く問題に帰着することが分かる。以下、
【0032】
【数12】
と書くことにする。式(3)をこの形式に従って書き直すと、
【0033】
【数13】
となる。
【0034】
次に、行列表現を積分作用素表現に戻す。Kに関しては式(12)より積分作用素表現に直ちに変換可能であることが分かる。そして、式(13)よりKtの積分作用素表現を求める必要がある。
【0035】
【数14】
より、
【0036】
【数15】
【0037】
【数16】
これをさらに変形する。
【0038】
【数17】
ここで、新たな補間カーネルとして
【0039】
【数18】
と定義すると、
【0040】
【数19】
となる。次に、φA(t)(x)を用いた補間結果を
【0041】
【数20】
と定義すると、
【0042】
【数21】
となる。
【0043】
以上の結果をまとめると、
【0044】
【数22】
これらを式(13)に代入すると、
【0045】
【数23】
となる。
【0046】
つまり、この漸化式に従って画像を逐次更新することにより、アフィン変換ぶれが補正された画像を得ることができることになる。以下、本実施形態では式(23)において、f(I)=0の場合について述べる。
【0047】
なお、図2における、順ぶれ画像生成部205、減算部206、逆ぶれ画像生成部207はそれぞれ、
順ぶれ画像生成部205は、
【0048】
【数24】
の計算を実行する処理部に相当する。
【0049】
また、減算部206は、
【0050】
【数25】
の計算を実行する処理部に相当する。
【0051】
そして、逆ぶれ画像生成部207は、
【0052】
【数26】
の計算を実行する処理部に相当する。
【0053】
<装置の動作>
図3は、画像処理装置(ぶれ補正部100)の動作を示すフローチャートである。
【0054】
ステップS301では、ぶれ補正部100は、撮像データ入力端子101より撮像データを入力する。なお、ここでは、入力される撮像データをIblurとする。
【0055】
ステップS302では、初期画像作成部102は、初期画像I0を更新用画像データIとして設定する。つまり、ここではステップS301で入力されたIblurが初期画像I0として設定される。
【0056】
ステップS303では、ぶれ補正部100は、更新用画像データ入力端子201に更新用画像データIを入力する。なお、上述したように、1回目のループにおいては、更新用画像データIとして初期画像I0(Iblur)を入力する。一方、2回目以降のループにおいては、更新用画像データIとして画像修正部103により出力された修正撮像データを入力する。
【0057】
ステップS304では、ぶれ軌跡記録部202、露光条件記録部203、補間カーネルデータベース204に格納された情報に基づいて、順ぶれ画像生成部205は、ステップS303で入力された更新用画像データIから、撮像データIblurに発生しているぶれと同様のぶれが発生しているぶれ画像(順ぶれ画像データ)を生成する。具体的には、上述の式(24)の演算を行なう。そして、生成した順ぶれ画像データを画像データI’とする。
【0058】
ステップS305では、減算部206は、画像データI’と撮像データIblurとの差分を算出する。具体的には、上述の式(25)の演算を行なう。そして、差分画像データを画像データJとする。
【0059】
ステップS306では、ぶれ軌跡記録部202、露光条件記録部203、補間カーネルデータベース204に格納された情報に基づいて、逆ぶれ画像生成部207は、ステップS305で算出された画像データJから、撮像データIblurに発生しているぶれと逆のぶれが発生しているぶれ画像(逆ぶれ画像データ)を生成する。具体的には、上述の式(26)の演算を行なう。そして、生成した逆ぶれ画像データを画像データJ’とする。
【0060】
ステップS307では、差分画像生成部200は、画像データJ’を差分画像出力端子208から出力し、画像修正部103に入力する。
【0061】
ステップS308では、画像修正部103は、更新用画像データIとJ’に重みηを乗じた画像データとの差分であるI−ηJ’を計算する。そして、その結果を差分画像生成部200に入力する。
【0062】
ステップS309では、ステップS303〜ステップS308のループを、予め指定された規定回数だけ繰り返し演算を行ったかどうかを判断する。そして、所定回数に達している場合はステップS310に進み、所定回数に達していない場合はS303に戻る。
【0063】
ステップS310では、画像修正部103は、最新の更新用画像データIを出力端子106より出力して動作を終了する。なお、ここでは、予め指定された規定回数に達しているかどうかを、ぶれ補正部100の動作の終了判断基準としたが、例えば、
E≡Σ[I’(x,y)−Iblur(x,y)]2
などにより規定される評価値が所定の閾値未満となった場合、つまり、順ぶれ画像データI’と撮像データIblurとの差分に基づいて終了するよう構成してもよい。
【0064】
図4は、第1実施形態に係る画像処理装置(ぶれ補正部100)によるぶれ補正処理の結果の例を示した図である。図4(a)は、撮像データIblurを示している。ここでは、水平方向10画素のシフトぶれと画像中心を回転中心とした角度2°の回転ぶれとが同時に発生した画像の例を示している。図4(b)は、画像修正部103から出力された更新用画像データIを示している。図から、2種類のぶれが複合して発生した画像に対しても、良好にぶれ補正が行われていることが分かる。
【0065】
以上説明したように、第1の実施形態に係る画像処理装置により、ぶれ軌跡情報及び露光条件情報を用いることにより1枚の画像のみから画像処理によってアフィン変換ぶれが低減された画像を得ることが可能となる。
【0066】
なお、上述の説明では、露光条件の情報やぶれ軌跡の情報を専用の端子から入力するとして説明したが、当該情報を画像データのヘッダに埋め込むよう構成してもよい。また、画像データのヘッダに埋め込む代わりに、画像データに対応するメタデータ(属性データ)として格納されたデータを利用するようにしても良い。図11は、ぶれ軌跡情報が記録されているぶれ軌跡タグ1101、露光条件が記録されている露光条件タグ1102、および画像データの実体である画像部1103から構成される画像ファイル1100を例示的に示す図である。
【0067】
(第2実施形態)
第1実施形態では式(23)において、特にf(I)=0の場合について述べたが、第2実施形態では、f(I)=f(x)の場合において画質を調整する例について説明する。
【0068】
<装置構成>
図5は、第2実施形態に係る画像処理装置(ぶれ補正部500)のブロック図である。なお、第1実施形態の同一の参照符号のものは、第1実施形態の対応する機能部と同様であるため説明は省略する。501は、上述の式(23)において、補正画像データIから、拘束項∂f(I)/∂Iを算出する拘束項算出部である。502は、差分画像生成部200および拘束項算出部501により導出された情報を元に更新画像を修正する画像修正部である。
【0069】
<装置の動作>
図6は、画像処理装置(ぶれ補正部500)の動作を示すフローチャートである。なお、第1実施形態の同一の参照符号のものは、第1実施形態の対応するステップの動作と同様であるため説明は省略する。
【0070】
ステップS601では、拘束項算出部501は、拘束項∂f(I)/∂Iを算出する。拘束項としては以下の式で定義されるTotal VariationノルムTV(I)、
【0071】
【数27】
を使用することが出来る。なお、Total Variationノルム以外を拘束項に用いることも可能である。
【0072】
ステップS602では、画像修正部502は、更新用画像データIから、J’に重みηを乗じた画像データおよび拘束項の微分に重みμを乗じた画像データを減じた差分であるI−ηJ’−μ∂f(I)/∂Iを計算する。そして、その結果を差分画像生成部200に入力する。
【0073】
以上のステップを追加することにより、さらに好適な補正画像を得ることが可能となる。図7(b)は、第2実施形態に係る画像処理装置(ぶれ補正部500)によるぶれ補正処理の結果の例を示した図である。なお、比較のために図7(a)には、第1実施形態に係る画像処理装置(ぶれ補正部100)によるぶれ補正処理の結果を示している(図4(b)と同じ)。図7(a)においては補正画像の線付近にリンギングがわずかに発生しているが、拘束項を入れることによりリンギングが知覚出来ない程度に低減されていることが分かる。
【0074】
以上説明したように、第2の実施形態に係る画像処理装置により、更に画質の良い補正画像を得ることができることが分かる。
【0075】
(第3実施形態)
上述のぶれ補正部100(または500)によって補正された画像において、画像端部については、画像情報が欠如しているために正しく補正することができない。そこで、補正処理の途中若しくは補正後の画像において、端部領域をクリッピングし画像中央部分のみを補正画像として採用してもよい。
【0076】
ただし、その場合には、撮像データIblurよりも狭い範囲の画像として出力されることとなる。そこで、撮像データIblurとして、予め必要な領域より大きい範囲で画像を入力し、補正後に必要な領域だけトリミングするとよい。なお、処理の高速化のため、端部に関しては補正処理を抑制するよう構成してもよい。
【0077】
ところで、ぶれ軌跡情報から座標xの点は
【0078】
【数28】
に従って動く。この時ある時刻tに対して、x(t)が一度でも画像の外に出た場合は座標xを端部として判定する。この判定操作を全ての点に対して行い、クリッピング対象となる端部の決定を行なうと良い。ただし、ここで述べた端部の決定手法はこの方法に限定されるものではなく様々な手法が利用可能である。
【0079】
図8は、第3実施形態に係るクリッピング処理の結果の例を示した図である。図8(a)は画像修正部103から出力された更新用画像データIを示している。そして、図8(b)は更新用画像データIの端部をクリッピングした画像である。このように、端部をクリッピングすることにより良好な補正画像を得ることができる。
【0080】
以上説明したように、第3の実施形態に係る画像処理装置により、補正処理により発生した画像端部の画像乱れを除去することが可能となる。
【0081】
(第4実施形態)
上述した実施形態の説明においては、画像データ全域に対して繰り返し演算を行う場合について説明した。しかしながら、画像データの各領域におけるぶれ量(移動量)に従って繰り返し演算の回数を制御してもよい。ここで、領域とは1画素領域も含むものとする。まず、画像データを複数の領域に分割し、ぶれ軌跡情報より各領域における移動量を求める。例えば、座標xにおける移動量s(x)は以下の式で定義される。
【0082】
【数29】
なお、移動量が算出できるものであれば式(29)以外のものでもかまわない。
【0083】
そして、s(x)の値が小さい領域に対しては繰り返し演算の回数を少なくし、s(x)の値が大きい領域に対しては繰り返し演算の回数を多くする。例えば以下の関数で繰り返し演算の回数n(x)を規定する。
【0084】
【数30】
ここで、aは適当な正の定数である。
【0085】
このように繰り返し回数を画像データ内の各領域に対して個別に設定することで、ぶれの小さい領域における不要な繰り返し演算を避けることができ、より高速に補正画像を得ることが可能となる。
【0086】
(第5実施形態)
第5実施形態では、上述の実施形態で説明した画像処理装置を組み込んだ撮像装置について説明する。
【0087】
図9は、撮像装置の撮像部およびぶれ補正部を示すブロック図である。901は撮影する被写体の光が入力される入力部である。902は被写体の光を集光するレンズである。903は、後述する露光条件設定部906により開閉制御可能なシャッターである。904は、レンズ902により集光された光を電気信号として取得するCCDやCMOSなどの撮像素子である。905は、撮像素子904により取得されたアナログ画像信号をデジタル画像信号に変換するアナログ/デジタル(A/D)変換部である。
【0088】
906は露光条件を設定する露光条件設定部である。なお、シャッター903の開閉情報は露光条件出力端子908によりぶれ補正部100に出力される。907は撮像部900自体のぶれを検出する姿勢検出部である。姿勢検出部907は、加速度センサなどにより動きを測定する装置でも良いし、複数画像を取得して動きを推定する装置であっても良い。なお、検出されたぶれは、ぶれ軌跡情報としてぶれ軌跡情報出力端子910によりぶれ補正部100に出力される。909は、撮像部900によって取得されたデジタル画像信号(撮像データ)が出力される撮像データ出力端子である。
【0089】
ぶれ補正部100は、撮像部900から取得したぶれ軌跡情報、露光条件情報に基づいて、上述した実施形態で説明した動作に従って各種処理を行い、更新用画像データIを出力する。
【0090】
以上説明したように、第5の実施形態に係る撮像装置により、光学防振を備えていない撮像装置においても、アフィン変換ぶれを補正することが可能になる。
【0091】
(第6実施形態)
第6実施形態では、レンズシフト方式や撮像素子シフト方式など光学防振機能を有する撮像装置における画像処理装置について説明する。
【0092】
図10は、撮像装置の撮像部およびぶれ補正部を示すブロック図である。なお、第5実施形態の同一の参照符号のものは、第5実施形態の対応する機能部と同様であるため説明は省略する。1001は撮像素子の移動量を検出する撮像素子移動検出部である。1002は撮像素子移動検出部1001によって検出された撮像素子の移動量の情報を出力する撮像素子移動情報出力部である。1003はぶれ軌跡情報に基づくシフトぶれ量から撮像素子の移動量を減算する減算器である。
【0093】
ぶれは姿勢検出部907によって検知されるシフトぶれとその他のぶれに分類することが出来る。姿勢検出部907で検出されたシフトぶれの情報は撮像素子904に送られ、撮像素子904自体が動くことにより、シフトぶれを補正する(光学防振機能)。なお、図10では撮像素子シフト方式における構成を示しているが、レンズシフト方式における構成においては、撮像素子移動検出部1001の代わりにレンズ移動検出部(不図示)を設けるとよい。
【0094】
ぶれ補正部100は、撮像部1000から取得したぶれ軌跡情報、露光条件情報に基づいて、上述した実施形態で説明した動作に従って各種処理を行い、光学防振により補正されたシフトぶれを除去した後の残りのぶれを画像処理によって補正し更新用画像データIを出力する。
【0095】
以上説明したように、第6の実施形態に係る撮像装置により、シフトぶれの一部または全部を光学防振機能で補正し、残存するぶれに関しては第1〜第4実施形態で説明したアルゴリズムによって補正する。これにより、シフトぶれが大きく撮像部側での光学防振が十分でない場合であってもより好適にぶれ画像を補正することが可能になる。
【0096】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、撮像時にぶれが発生した画像における画質劣化を軽減する画像処理技術に関するものである。
【背景技術】
【0002】
近年の撮像装置の高画素化、高ズーム化に伴い、撮影時の手ぶれによる撮影画像の画像劣化が問題となってきている。この手ぶれの問題を解決するため、従来より手ぶれ補正機能付き撮像装置が広く使用されている。このような手ぶれ補正機能付き撮像装置では、手ぶれによるシフトベクトルを検出するセンサと、手ぶれを打ち消すようにレンズと撮像素子との相対的位置を制御する駆動装置とで光学的に手ぶれを補正する光学式手ぶれ補正方式が一般的である。
【0003】
一方で、画像処理による手ぶれ補正の技術としては、シフトぶれ以外のぶれが混在した場合にも手ぶれを補正できる方法が提案されている(例えば、特許文献1参照)。これらの方法では、まず手ぶれが生じない程度の露光時間、すなわち高速なシャッタスピードで複数画面の画像を取り込む。この複数画面の画像を電子的に位置合わせを行い重ね合わせることで手ぶれの影響のない画像を生成するのである。例えば特許文献1では、回転ぶれが小さいものとして、回転のぶれベクトルを直線で近似し、複数画像間の相関を取ることで、回転のぶれベクトル及びシフトベクトルを求めている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−203504号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の手法では以下のような問題がある。まず補正に複数枚の画像が必要になり、メモリを消費すると言う問題点が挙げられる。しかも、複数枚の画像を合成し、手ぶれを補正するためには位置合わせが必要になる。その他にもぶれの角度が小さいものとして、動きベクトルを直線で近似してしまっていると言う問題点が挙げられる。これは補正の正確さを損なう可能性がある。また特許文献1の手法では撮像装置の奥行き方向の手ぶれによって発生する画像の拡大・縮小のぶれは考慮されていない。
【0006】
本発明は、上述の問題点に鑑みなされたものであり、撮像時にぶれが発生した画像における画質劣化を軽減可能とする画像処理技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の画像処理装置は以下の構成を備える。すなわち、画像処理装置において、露光条件を変化させながら撮像する撮像部により取得された画像データを入力する画像入力手段と、前記画像データを撮像した際の露光条件を示す露光条件情報を取得する露光条件取得手段と、前記画像データを撮像した際のぶれの軌跡を示すぶれ軌跡情報を取得するぶれ軌跡取得手段と、前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記画像データから該画像データに発生しているぶれと同様のぶれが発生している第1ぶれ画像データを生成する第1ぶれ画像生成手段と、前記画像データと前記第1ぶれ画像データとの差分である差分画像データを生成する差分画像生成手段と、前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記差分画像データから前記画像データに発生しているぶれと逆のぶれが発生している第2ぶれ画像データを生成する第2ぶれ画像生成手段と、前記画像データから所定の重みを乗じた前記第2ぶれ画像データを減算して得られる補正画像データを生成する補正画像生成手段と、を含む。
【発明の効果】
【0008】
本発明によれば、撮像時にぶれが発生した画像における画質劣化を軽減可能とする画像処理技術を提供することができる。
【図面の簡単な説明】
【0009】
【図1】第1実施形態に係る画像処理装置のブロック図である。
【図2】差分画像生成部のブロック図である。
【図3】第1実施形態に係る画像処理装置の動作フローチャートである。
【図4】ぶれ補正処理の適用前後の画像の例を示す図である。
【図5】第2実施形態に係る画像処理装置のブロック図である。
【図6】第2実施形態に係る画像処理装置の動作フローチャートである。
【図7】拘束項の有無による補正処理後の画像の例を示す図である。
【図8】補正処理後の画像をクリッピングした画像の例を示す図である。
【図9】第5実施形態に係る画像処理装置のブロック図である。
【図10】第6実施形態に係る画像処理装置のブロック図である。
【図11】画像データに補正に利用する情報を埋め込む例を示す図である。
【発明を実施するための形態】
【0010】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【0011】
(第1実施形態)
本発明に係る画像処理装置の第1実施形態として、ぶれ補正部100を例に挙げて以下に説明する。なお、以下の説明では、平行移動(シフト)ぶれ、回転ぶれ、拡大・縮小(拡縮)ぶれおよびその任意の組み合わせを”アフィン変換ぶれ”と呼称することにする。
【0012】
<装置構成>
図1は、第1実施形態に係る画像処理装置(ぶれ補正部100)のブロック図である。101は、撮像装置によって撮影された撮像データを入力する撮像データ入力端子(画像入力手段)である。なお、撮像装置は露光条件を変化させながら撮像を行い当該撮像データを取得する。102は、撮像データ入力端子101から入力された撮像データから画像補正のための初期画像を作成する初期画像作成部である。103は、後述する差分画像生成部200により生成された画像データに基づいて更新画像を修正する画像修正部(補正画像生成手段)である。104はぶれ軌跡情報を入力するぶれ軌跡情報入力端子(ぶれ軌跡取得手段)である。105は露光条件情報を入力する露光条件情報入力端子(露光条件取得手段)である。106は、差分画像生成部200および画像修正部103による処理を予め指定された回数繰り返し行なうことにより得られる画像データ(補正画像データ)を出力する出力端子である。なお、上述の各機能部は、専用のハードウェアにより実現してもよいし、CPUに所定のソフトウェアを実行させることにより実行しても良い。
【0013】
図2は、差分画像生成部200のブロック図である。201は、更新用の画像データを入力する更新用画像データ入力端子である。なお、後述するように、1回目の処理においては、更新用の画像データとして撮像データ入力端子101により入力された撮像データが入力され、2回目以降の処理においては、更新用の画像データとして画像修正部103から出力された修正撮像データが入力される。202は、ぶれ軌跡情報入力端子104から入力されたぶれ軌跡情報を格納するぶれ軌跡記録部である。203は、露光条件情報入力端子105から入力された露光条件情報を格納する露光条件記録部である。さらに、204は、非整数値画素における画素値を算出するために必要な補間カーネル関数の値が格納されている補間カーネルデータベース(DB)である。
【0014】
205は、ぶれ軌跡記録部202、露光条件記録部203、補間カーネルDB204に格納された情報に基づいて、更新用画像データ入力端子201により入力された更新用画像データから、撮像データに発生しているぶれと同様のぶれが発生しているぶれ画像(以降では”順ぶれ画像データ”と呼ぶ)を生成する順ぶれ画像生成部である。206は、順ぶれ画像生成部205で生成された順ぶれ画像データと撮像データとの差分を算出する減算部である。
【0015】
207は、ぶれ軌跡記録部202、露光条件記録部203、補間カーネルDB204に格納された情報に基づいて、減算部206により入力された差分から、撮像データに発生しているぶれと逆のぶれが発生しているぶれ画像(以降では”逆ぶれ画像データ”と呼ぶ)を生成する逆ぶれ画像生成部である。208は、逆ぶれ画像生成部207で生成された逆ぶれ画像データを出力する差分画像データ出力端子である。
【0016】
<ぶれ補正部100の動作原理>
以下、ぶれ補正部100によるぶれ補正の処理について説明する。
・連立方程式の解法
【0017】
【数1】
ここで、xおよびbはベクトルである。このとき評価関数
【0018】
【数2】
を最小にするxを求める。ここで、f(x)は最小化問題をwell-posedにするために導入された項である。
【0019】
Eを最小にするxを繰り返し演算で解くことにする。最急降下法を用いると、漸化式は
【0020】
【数3】
となる。ここで、ηは更新の幅である。
・連立方程式の解法の手ぶれ補正への応用
一般にアフィン変換ぶれは、時刻tにおけるアフィン変換行列をA(t)、シフトぶれベクトルをs(t)と置くと、時刻tにおけるぶれは基準時刻t=0におけるぶれのない画像を基準として、時刻tに座標x(t)=(x,y)に来る点は、
【0021】
【数4】
と書ける。この点(x,y)は時刻t=0では
【0022】
【数5】
にある。このときアフィン変換ぶれを表す式は以下のように書ける。
【0023】
【数6】
ここで、Iはぶれが発生していない画像(ぶれ補正処理が実施された画像)、Iblurはアフィン変換ぶれにより像がぶれた画像である。Tは露光時間である。h(t)は露光条件を決める関数であり、撮像装置のシャッターの開閉状態を示す情報に該当する。ここでは、ぶれ画像Iblurは、シャッターは予め符号化されたパターン(所定のパターン)に従って開閉することにより取得されたものであるとする。また、画像のサイズはM(画素)×N(画素)であるとする。
【0024】
さらに、座標が非整数値となった場合にも対応できるように、補間カーネルφ(x)を導入し、非整数値画素における画素値を以下のように定義する。
【0025】
【数7】
【0026】
ここで、Zは整数の集合を現し、Z/NZは[0,1,2,・・・,N−1]の集合を記号的に表したものである。但し0とNとは同一であるものとする。式(7)は通常の補間の式と同一である。式(7)を式(6)に代入すると、
【0027】
【数8】
と書くことができる。式(8)において、フィルタKを
【0028】
【数9】
と定義すると、式(8)は
【0029】
【数10】
と書くことができる。
【0030】
画像IおよびIblurを1次元ベクトルに書き直すと、KはNM(画素)×NM(画素)の行列として表現することができる。つまり、手ブレ補正の問題は、
【0031】
【数11】
という連立方程式を解く問題に帰着することが分かる。以下、
【0032】
【数12】
と書くことにする。式(3)をこの形式に従って書き直すと、
【0033】
【数13】
となる。
【0034】
次に、行列表現を積分作用素表現に戻す。Kに関しては式(12)より積分作用素表現に直ちに変換可能であることが分かる。そして、式(13)よりKtの積分作用素表現を求める必要がある。
【0035】
【数14】
より、
【0036】
【数15】
【0037】
【数16】
これをさらに変形する。
【0038】
【数17】
ここで、新たな補間カーネルとして
【0039】
【数18】
と定義すると、
【0040】
【数19】
となる。次に、φA(t)(x)を用いた補間結果を
【0041】
【数20】
と定義すると、
【0042】
【数21】
となる。
【0043】
以上の結果をまとめると、
【0044】
【数22】
これらを式(13)に代入すると、
【0045】
【数23】
となる。
【0046】
つまり、この漸化式に従って画像を逐次更新することにより、アフィン変換ぶれが補正された画像を得ることができることになる。以下、本実施形態では式(23)において、f(I)=0の場合について述べる。
【0047】
なお、図2における、順ぶれ画像生成部205、減算部206、逆ぶれ画像生成部207はそれぞれ、
順ぶれ画像生成部205は、
【0048】
【数24】
の計算を実行する処理部に相当する。
【0049】
また、減算部206は、
【0050】
【数25】
の計算を実行する処理部に相当する。
【0051】
そして、逆ぶれ画像生成部207は、
【0052】
【数26】
の計算を実行する処理部に相当する。
【0053】
<装置の動作>
図3は、画像処理装置(ぶれ補正部100)の動作を示すフローチャートである。
【0054】
ステップS301では、ぶれ補正部100は、撮像データ入力端子101より撮像データを入力する。なお、ここでは、入力される撮像データをIblurとする。
【0055】
ステップS302では、初期画像作成部102は、初期画像I0を更新用画像データIとして設定する。つまり、ここではステップS301で入力されたIblurが初期画像I0として設定される。
【0056】
ステップS303では、ぶれ補正部100は、更新用画像データ入力端子201に更新用画像データIを入力する。なお、上述したように、1回目のループにおいては、更新用画像データIとして初期画像I0(Iblur)を入力する。一方、2回目以降のループにおいては、更新用画像データIとして画像修正部103により出力された修正撮像データを入力する。
【0057】
ステップS304では、ぶれ軌跡記録部202、露光条件記録部203、補間カーネルデータベース204に格納された情報に基づいて、順ぶれ画像生成部205は、ステップS303で入力された更新用画像データIから、撮像データIblurに発生しているぶれと同様のぶれが発生しているぶれ画像(順ぶれ画像データ)を生成する。具体的には、上述の式(24)の演算を行なう。そして、生成した順ぶれ画像データを画像データI’とする。
【0058】
ステップS305では、減算部206は、画像データI’と撮像データIblurとの差分を算出する。具体的には、上述の式(25)の演算を行なう。そして、差分画像データを画像データJとする。
【0059】
ステップS306では、ぶれ軌跡記録部202、露光条件記録部203、補間カーネルデータベース204に格納された情報に基づいて、逆ぶれ画像生成部207は、ステップS305で算出された画像データJから、撮像データIblurに発生しているぶれと逆のぶれが発生しているぶれ画像(逆ぶれ画像データ)を生成する。具体的には、上述の式(26)の演算を行なう。そして、生成した逆ぶれ画像データを画像データJ’とする。
【0060】
ステップS307では、差分画像生成部200は、画像データJ’を差分画像出力端子208から出力し、画像修正部103に入力する。
【0061】
ステップS308では、画像修正部103は、更新用画像データIとJ’に重みηを乗じた画像データとの差分であるI−ηJ’を計算する。そして、その結果を差分画像生成部200に入力する。
【0062】
ステップS309では、ステップS303〜ステップS308のループを、予め指定された規定回数だけ繰り返し演算を行ったかどうかを判断する。そして、所定回数に達している場合はステップS310に進み、所定回数に達していない場合はS303に戻る。
【0063】
ステップS310では、画像修正部103は、最新の更新用画像データIを出力端子106より出力して動作を終了する。なお、ここでは、予め指定された規定回数に達しているかどうかを、ぶれ補正部100の動作の終了判断基準としたが、例えば、
E≡Σ[I’(x,y)−Iblur(x,y)]2
などにより規定される評価値が所定の閾値未満となった場合、つまり、順ぶれ画像データI’と撮像データIblurとの差分に基づいて終了するよう構成してもよい。
【0064】
図4は、第1実施形態に係る画像処理装置(ぶれ補正部100)によるぶれ補正処理の結果の例を示した図である。図4(a)は、撮像データIblurを示している。ここでは、水平方向10画素のシフトぶれと画像中心を回転中心とした角度2°の回転ぶれとが同時に発生した画像の例を示している。図4(b)は、画像修正部103から出力された更新用画像データIを示している。図から、2種類のぶれが複合して発生した画像に対しても、良好にぶれ補正が行われていることが分かる。
【0065】
以上説明したように、第1の実施形態に係る画像処理装置により、ぶれ軌跡情報及び露光条件情報を用いることにより1枚の画像のみから画像処理によってアフィン変換ぶれが低減された画像を得ることが可能となる。
【0066】
なお、上述の説明では、露光条件の情報やぶれ軌跡の情報を専用の端子から入力するとして説明したが、当該情報を画像データのヘッダに埋め込むよう構成してもよい。また、画像データのヘッダに埋め込む代わりに、画像データに対応するメタデータ(属性データ)として格納されたデータを利用するようにしても良い。図11は、ぶれ軌跡情報が記録されているぶれ軌跡タグ1101、露光条件が記録されている露光条件タグ1102、および画像データの実体である画像部1103から構成される画像ファイル1100を例示的に示す図である。
【0067】
(第2実施形態)
第1実施形態では式(23)において、特にf(I)=0の場合について述べたが、第2実施形態では、f(I)=f(x)の場合において画質を調整する例について説明する。
【0068】
<装置構成>
図5は、第2実施形態に係る画像処理装置(ぶれ補正部500)のブロック図である。なお、第1実施形態の同一の参照符号のものは、第1実施形態の対応する機能部と同様であるため説明は省略する。501は、上述の式(23)において、補正画像データIから、拘束項∂f(I)/∂Iを算出する拘束項算出部である。502は、差分画像生成部200および拘束項算出部501により導出された情報を元に更新画像を修正する画像修正部である。
【0069】
<装置の動作>
図6は、画像処理装置(ぶれ補正部500)の動作を示すフローチャートである。なお、第1実施形態の同一の参照符号のものは、第1実施形態の対応するステップの動作と同様であるため説明は省略する。
【0070】
ステップS601では、拘束項算出部501は、拘束項∂f(I)/∂Iを算出する。拘束項としては以下の式で定義されるTotal VariationノルムTV(I)、
【0071】
【数27】
を使用することが出来る。なお、Total Variationノルム以外を拘束項に用いることも可能である。
【0072】
ステップS602では、画像修正部502は、更新用画像データIから、J’に重みηを乗じた画像データおよび拘束項の微分に重みμを乗じた画像データを減じた差分であるI−ηJ’−μ∂f(I)/∂Iを計算する。そして、その結果を差分画像生成部200に入力する。
【0073】
以上のステップを追加することにより、さらに好適な補正画像を得ることが可能となる。図7(b)は、第2実施形態に係る画像処理装置(ぶれ補正部500)によるぶれ補正処理の結果の例を示した図である。なお、比較のために図7(a)には、第1実施形態に係る画像処理装置(ぶれ補正部100)によるぶれ補正処理の結果を示している(図4(b)と同じ)。図7(a)においては補正画像の線付近にリンギングがわずかに発生しているが、拘束項を入れることによりリンギングが知覚出来ない程度に低減されていることが分かる。
【0074】
以上説明したように、第2の実施形態に係る画像処理装置により、更に画質の良い補正画像を得ることができることが分かる。
【0075】
(第3実施形態)
上述のぶれ補正部100(または500)によって補正された画像において、画像端部については、画像情報が欠如しているために正しく補正することができない。そこで、補正処理の途中若しくは補正後の画像において、端部領域をクリッピングし画像中央部分のみを補正画像として採用してもよい。
【0076】
ただし、その場合には、撮像データIblurよりも狭い範囲の画像として出力されることとなる。そこで、撮像データIblurとして、予め必要な領域より大きい範囲で画像を入力し、補正後に必要な領域だけトリミングするとよい。なお、処理の高速化のため、端部に関しては補正処理を抑制するよう構成してもよい。
【0077】
ところで、ぶれ軌跡情報から座標xの点は
【0078】
【数28】
に従って動く。この時ある時刻tに対して、x(t)が一度でも画像の外に出た場合は座標xを端部として判定する。この判定操作を全ての点に対して行い、クリッピング対象となる端部の決定を行なうと良い。ただし、ここで述べた端部の決定手法はこの方法に限定されるものではなく様々な手法が利用可能である。
【0079】
図8は、第3実施形態に係るクリッピング処理の結果の例を示した図である。図8(a)は画像修正部103から出力された更新用画像データIを示している。そして、図8(b)は更新用画像データIの端部をクリッピングした画像である。このように、端部をクリッピングすることにより良好な補正画像を得ることができる。
【0080】
以上説明したように、第3の実施形態に係る画像処理装置により、補正処理により発生した画像端部の画像乱れを除去することが可能となる。
【0081】
(第4実施形態)
上述した実施形態の説明においては、画像データ全域に対して繰り返し演算を行う場合について説明した。しかしながら、画像データの各領域におけるぶれ量(移動量)に従って繰り返し演算の回数を制御してもよい。ここで、領域とは1画素領域も含むものとする。まず、画像データを複数の領域に分割し、ぶれ軌跡情報より各領域における移動量を求める。例えば、座標xにおける移動量s(x)は以下の式で定義される。
【0082】
【数29】
なお、移動量が算出できるものであれば式(29)以外のものでもかまわない。
【0083】
そして、s(x)の値が小さい領域に対しては繰り返し演算の回数を少なくし、s(x)の値が大きい領域に対しては繰り返し演算の回数を多くする。例えば以下の関数で繰り返し演算の回数n(x)を規定する。
【0084】
【数30】
ここで、aは適当な正の定数である。
【0085】
このように繰り返し回数を画像データ内の各領域に対して個別に設定することで、ぶれの小さい領域における不要な繰り返し演算を避けることができ、より高速に補正画像を得ることが可能となる。
【0086】
(第5実施形態)
第5実施形態では、上述の実施形態で説明した画像処理装置を組み込んだ撮像装置について説明する。
【0087】
図9は、撮像装置の撮像部およびぶれ補正部を示すブロック図である。901は撮影する被写体の光が入力される入力部である。902は被写体の光を集光するレンズである。903は、後述する露光条件設定部906により開閉制御可能なシャッターである。904は、レンズ902により集光された光を電気信号として取得するCCDやCMOSなどの撮像素子である。905は、撮像素子904により取得されたアナログ画像信号をデジタル画像信号に変換するアナログ/デジタル(A/D)変換部である。
【0088】
906は露光条件を設定する露光条件設定部である。なお、シャッター903の開閉情報は露光条件出力端子908によりぶれ補正部100に出力される。907は撮像部900自体のぶれを検出する姿勢検出部である。姿勢検出部907は、加速度センサなどにより動きを測定する装置でも良いし、複数画像を取得して動きを推定する装置であっても良い。なお、検出されたぶれは、ぶれ軌跡情報としてぶれ軌跡情報出力端子910によりぶれ補正部100に出力される。909は、撮像部900によって取得されたデジタル画像信号(撮像データ)が出力される撮像データ出力端子である。
【0089】
ぶれ補正部100は、撮像部900から取得したぶれ軌跡情報、露光条件情報に基づいて、上述した実施形態で説明した動作に従って各種処理を行い、更新用画像データIを出力する。
【0090】
以上説明したように、第5の実施形態に係る撮像装置により、光学防振を備えていない撮像装置においても、アフィン変換ぶれを補正することが可能になる。
【0091】
(第6実施形態)
第6実施形態では、レンズシフト方式や撮像素子シフト方式など光学防振機能を有する撮像装置における画像処理装置について説明する。
【0092】
図10は、撮像装置の撮像部およびぶれ補正部を示すブロック図である。なお、第5実施形態の同一の参照符号のものは、第5実施形態の対応する機能部と同様であるため説明は省略する。1001は撮像素子の移動量を検出する撮像素子移動検出部である。1002は撮像素子移動検出部1001によって検出された撮像素子の移動量の情報を出力する撮像素子移動情報出力部である。1003はぶれ軌跡情報に基づくシフトぶれ量から撮像素子の移動量を減算する減算器である。
【0093】
ぶれは姿勢検出部907によって検知されるシフトぶれとその他のぶれに分類することが出来る。姿勢検出部907で検出されたシフトぶれの情報は撮像素子904に送られ、撮像素子904自体が動くことにより、シフトぶれを補正する(光学防振機能)。なお、図10では撮像素子シフト方式における構成を示しているが、レンズシフト方式における構成においては、撮像素子移動検出部1001の代わりにレンズ移動検出部(不図示)を設けるとよい。
【0094】
ぶれ補正部100は、撮像部1000から取得したぶれ軌跡情報、露光条件情報に基づいて、上述した実施形態で説明した動作に従って各種処理を行い、光学防振により補正されたシフトぶれを除去した後の残りのぶれを画像処理によって補正し更新用画像データIを出力する。
【0095】
以上説明したように、第6の実施形態に係る撮像装置により、シフトぶれの一部または全部を光学防振機能で補正し、残存するぶれに関しては第1〜第4実施形態で説明したアルゴリズムによって補正する。これにより、シフトぶれが大きく撮像部側での光学防振が十分でない場合であってもより好適にぶれ画像を補正することが可能になる。
【0096】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
露光条件を変化させながら撮像する撮像部により取得された画像データを入力する画像入力手段と、
前記画像データを撮像した際の露光条件を示す露光条件情報を取得する露光条件取得手段と、
前記画像データを撮像した際のぶれの軌跡を示すぶれ軌跡情報を取得するぶれ軌跡取得手段と、
前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記画像データから該画像データに発生しているぶれと同様のぶれが発生している第1ぶれ画像データを生成する第1ぶれ画像生成手段と、
前記画像データと前記第1ぶれ画像データとの差分である差分画像データを生成する差分画像生成手段と、
前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記差分画像データから前記画像データに発生しているぶれと逆のぶれが発生している第2ぶれ画像データを生成する第2ぶれ画像生成手段と、
前記画像データから所定の重みを乗じた前記第2ぶれ画像データを減算して得られる補正画像データを生成する補正画像生成手段と、
を含むことを特徴とする画像処理装置。
【請求項2】
前記補正画像生成手段により生成された補正画像データを前記画像データとして入力し、前記第1ぶれ画像生成手段、前記差分画像生成手段、前記第2ぶれ画像生成手段、前記補正画像生成手段を所定回数だけ繰り返し処理させる繰り返し制御手段をさらに備えることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記所定回数は、前記補正画像データと前記第1ぶれ画像データとの差分が所定の閾値未満になる回数として決定されることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記繰り返し制御手段は、前記画像データを複数の領域に分割し、該複数の領域の各々に対して前記繰り返し処理を設定することを特徴とする請求項2に記載の画像処理装置。
【請求項5】
前記補正画像データの端部をクリッピングするクリッピング手段をさらに備えることを特徴とする請求項1乃至4の何れか一項に記載の画像処理装置。
【請求項6】
露光条件を変化させながら撮像する撮像部により取得された画像データを入力する画像入力工程と、
前記画像データを撮像した際の露光条件を示す露光条件情報を取得する露光条件取得工程と、
前記画像データを撮像した際のぶれの軌跡を示すぶれ軌跡情報を取得するぶれ軌跡取得工程と、
前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記画像データから該画像データに発生しているぶれと同様のぶれが発生している第1ぶれ画像データを生成する第1ぶれ画像生成工程と、
前記画像データと前記第1ぶれ画像データとの差分である差分画像データを生成する差分画像生成工程と、
前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記差分画像データから前記画像データに発生しているぶれと逆のぶれが発生している第2ぶれ画像データを生成する第2ぶれ画像生成工程と、
前記画像データから所定の重みを乗じた前記第2ぶれ画像データを減算して得られる補正画像データを生成する補正画像生成工程と、
を含むことを特徴とする画像処理装置の制御方法。
【請求項7】
コンピュータを請求項1乃至5の何れか1項に記載の画像処理装置として機能させるためのプログラム。
【請求項1】
露光条件を変化させながら撮像する撮像部により取得された画像データを入力する画像入力手段と、
前記画像データを撮像した際の露光条件を示す露光条件情報を取得する露光条件取得手段と、
前記画像データを撮像した際のぶれの軌跡を示すぶれ軌跡情報を取得するぶれ軌跡取得手段と、
前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記画像データから該画像データに発生しているぶれと同様のぶれが発生している第1ぶれ画像データを生成する第1ぶれ画像生成手段と、
前記画像データと前記第1ぶれ画像データとの差分である差分画像データを生成する差分画像生成手段と、
前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記差分画像データから前記画像データに発生しているぶれと逆のぶれが発生している第2ぶれ画像データを生成する第2ぶれ画像生成手段と、
前記画像データから所定の重みを乗じた前記第2ぶれ画像データを減算して得られる補正画像データを生成する補正画像生成手段と、
を含むことを特徴とする画像処理装置。
【請求項2】
前記補正画像生成手段により生成された補正画像データを前記画像データとして入力し、前記第1ぶれ画像生成手段、前記差分画像生成手段、前記第2ぶれ画像生成手段、前記補正画像生成手段を所定回数だけ繰り返し処理させる繰り返し制御手段をさらに備えることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記所定回数は、前記補正画像データと前記第1ぶれ画像データとの差分が所定の閾値未満になる回数として決定されることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記繰り返し制御手段は、前記画像データを複数の領域に分割し、該複数の領域の各々に対して前記繰り返し処理を設定することを特徴とする請求項2に記載の画像処理装置。
【請求項5】
前記補正画像データの端部をクリッピングするクリッピング手段をさらに備えることを特徴とする請求項1乃至4の何れか一項に記載の画像処理装置。
【請求項6】
露光条件を変化させながら撮像する撮像部により取得された画像データを入力する画像入力工程と、
前記画像データを撮像した際の露光条件を示す露光条件情報を取得する露光条件取得工程と、
前記画像データを撮像した際のぶれの軌跡を示すぶれ軌跡情報を取得するぶれ軌跡取得工程と、
前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記画像データから該画像データに発生しているぶれと同様のぶれが発生している第1ぶれ画像データを生成する第1ぶれ画像生成工程と、
前記画像データと前記第1ぶれ画像データとの差分である差分画像データを生成する差分画像生成工程と、
前記露光条件情報と前記ぶれ軌跡情報とに基づいて、前記差分画像データから前記画像データに発生しているぶれと逆のぶれが発生している第2ぶれ画像データを生成する第2ぶれ画像生成工程と、
前記画像データから所定の重みを乗じた前記第2ぶれ画像データを減算して得られる補正画像データを生成する補正画像生成工程と、
を含むことを特徴とする画像処理装置の制御方法。
【請求項7】
コンピュータを請求項1乃至5の何れか1項に記載の画像処理装置として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図5】
【図6】
【図9】
【図10】
【図11】
【図4】
【図7】
【図8】
【図2】
【図3】
【図5】
【図6】
【図9】
【図10】
【図11】
【図4】
【図7】
【図8】
【公開番号】特開2011−151556(P2011−151556A)
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願番号】特願2010−10369(P2010−10369)
【出願日】平成22年1月20日(2010.1.20)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願日】平成22年1月20日(2010.1.20)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]