(57)【特許請求の範囲】
【請求項１】
同一の被写体を連続して撮影した複数の画像を画素加算することにより合成画像を生成する画像処理装置であって、
前記複数の画像の一の画像の特徴を抽出する特徴抽出手段と、
前記特徴抽出手段により抽出された一つの画像の特徴と当該特徴に対応する前記複数の画像の他の画像に含まれる特徴との誤差ベクトルを算出する算出手段と、
前記算出手段により算出された誤差ベクトルをなくすように前記複数の画像の重ね合わせ処理を行うことで前記複数の画像について画素加算するよう制御する画素加算制御手段と、
前記画素加算制御手段により画素加算されるべき画像の劣化見積もり量を算出する劣化見積もり量算出手段と、
前記画素加算制御手段により画素加算がされた画像に対し、前記劣化見積もり量算出手段により算出された劣化見積もり量に基づいて、鮮鋭度を変化させて鮮鋭化処理する鮮鋭化手段と
を備えたことを特徴とする画像処理装置。
【請求項２】
前記劣化見積もり量は、前記誤差ベクトルの大きさであることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記劣化見積もり量は、前記誤差ベクトルの分散であることを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記劣化見積もり量は、前記特徴の追跡時の座標と位置合わせ変換後の座標の差であることを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記劣化見積もり量は、前記複数画像を撮影した際の撮影レンズの周辺収差情報と前記画像の特徴の位置情報であることを特徴とする請求項１記載の画像処理装置。
【請求項６】
前記劣化見積もり量は、前記複数画像を撮影した際の露出時間であることを特徴とする請求項１記載の画像処理装置。
【請求項７】
前記劣化見積もり量は、前記複数画像の明るさの差であることを特徴とする請求項１記載の画像処理装置。
【請求項８】
同一の被写体を連続して撮影した複数画像の合成画像を生成する画像処理方法であって、
前記複数画像の一の画像の特徴を抽出する特徴抽出工程と、
前記特徴と前記複数画像の他の画像に含まれる前記特徴に対応する特徴との誤差ベクトルを求め該誤差ベクトルをなくすように前記複数画像の重ね合わせ処理を行って前記合成画像を生成する合成画像生成工程とを含む画像処理方法において、
前記重ね合わせ処理による画像の劣化に対する劣化見積もり量を算出する劣化見積もり量算出工程と、
前記複数画像に対して鮮鋭化フィルタを適用することが可能なフィルタ適用工程とをさらに含み、
前記劣化見積もり量の大きさに応じて前記鮮鋭化フィルタの鮮鋭度を変化させることを特徴とする画像処理方法。
【請求項９】
前記劣化見積もり量は、前記誤差ベクトルの大きさであることを特徴とする請求項８記載の画像処理方法。
【請求項１０】
前記劣化見積もり量は、前記誤差ベクトルの分散であることを特徴とする請求項８記載の画像処理方法。
【請求項１１】
前記劣化見積もり量は、前記特徴の追跡時の座標と位置合わせ変換後の座標の差であることを特徴とする請求項８記載の画像処理方法。
【請求項１２】
前記劣化見積もり量は、前記複数画像を撮影した際の撮影レンズの周辺収差情報と前記画像の特徴の位置情報であることを特徴とする請求項８記載の画像処理方法。
【請求項１３】
前記劣化見積もり量は、前記複数画像を撮影した際の露出時間であることを特徴とする請求項８記載の画像処理方法。
【請求項１４】
前記劣化見積もり量は、前記複数画像の明るさの差であることを特徴とする請求項８記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関し、詳しくは、複数画像の合成処理に適用する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置を用いて夜景等の暗い被写体を撮影する場合、絞りの開放やシャッター速度を遅くすることに加え、撮影感度、つまり、ＣＣＤやＣＭＯＳなどの撮像デバイスの信号増幅度を高めることが効果的であるが、撮影感度を上げ過ぎると、撮像デバイスの内部雑音等のノイズが増えてしまい、見苦しい画像になる。
【０００３】
そこで、例えば、特許文献１には、同一の被写体を連続して撮影した複数の画像を重ね合わせて合成すると、その合成画像内の被写体部分は画像枚数分だけ倍加されるのに対して、ランダムなノイズ成分は平均化されるという知見の元、連続して撮影された複数の画像を合成することによってノイズリダクションを図るようにした技術（以下、従来技術という）が記載されている。
【０００４】
ところで、暗い被写体を撮影する際のシャッター速度は一般的に遅いため、手ブレや被写体ブレの可能性があるし、また、同一の被写体を連続して撮影する際には、各々の撮影時点で構図（フレーミング）の微妙なズレが生じる可能性もある。
【０００５】
このため、実用上は、画像各部の重ね合わせの精度向上が不可欠であり、例えば、画像合成の対象となる各画像のうち基準となる画像（基準画像）内の特徴（点又は領域）を抽出するとともに、他の画像（被追跡画像）内の前記特徴の対応座標を追跡（オプティカルフロー推定）し、それらの対応関係を元に座標変換の方程式を解き、得られた座標変換式用いて、基準画像と被追跡画像の位置合わせを行っている。
【０００６】
【特許文献１】特開２００４−３５７０４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の座標変換式は、様々な要因、例えば、特徴の誤追跡、各画像の視差、オクルージョン、光学レンズの歪曲収差、被写体の動き、ボケなどによる誤差（さらに、合成の座標計算が整数座標に丸められる場合は丸め誤差も）が含まれているため、多くの場合、上記のように得られた座標変換式を用いても、各画像の位置合わせを画素単位に正確に行うことは困難である。
【０００８】
したがって、そのようにして合成された画像は、子細に観察すれば、画像内の各部において微妙なズレを持った画像であり、すなわち、空間的に少しずれた画像を合成したものになるから、高域成分を喪失し、且つ、低域成分を強調した低画質の画像になるという問題点がある。
【０００９】
そこで、本発明の目的は、画像合成によって失われる高域成分を補償し、画質の改善を図ることができる画像処理装置及び画像処理方法を提供することにある。
【課題を解決するための手段】
【００１０】
請求項１記載の発明は、同一の被写体を連続して撮影した複数の画像を画素加算することにより合成画像を生成する画像処理装置であって、前記複数の画像の一の画像の特徴を抽出する特徴抽出手段と、前記特徴抽出手段により抽出された一つの画像の特徴と当該特徴に対応する前記複数の画像の他の画像に含まれる特徴との誤差ベクトルを算出する算出手段と、前記算出手段により算出された誤差ベクトルをなくすように前記複数の画像の重ね合わせ処理を行うことで前記複数の画像について画素加算するよう制御する画素加算制御手段と、前記画素加算制御手段により画素加算されるべき画像の劣化見積もり量を算出する劣化見積もり量算出手段と、前記画素加算制御手段により画素加算がされた画像に対し、前記劣化見積もり量算出手段により算出された劣化見積もり量に基づいて、鮮鋭度を変化させて鮮鋭化処理する鮮鋭化手段とを備えたことを特徴とする画像処理装置である。
請求項２記載の発明は、前記劣化見積もり量は、前記誤差ベクトルの大きさであることを特徴とする請求項１記載の画像処理装置である。
請求項３記載の発明は、前記劣化見積もり量は、前記誤差ベクトルの分散であることを特徴とする請求項１記載の画像処理装置である。
請求項４記載の発明は、前記劣化見積もり量は、前記特徴の追跡時の座標と位置合わせ変換後の座標の差であることを特徴とする請求項１記載の画像処理装置である。
請求項５記載の発明は、前記劣化見積もり量は、前記複数画像を撮影した際の撮影レンズの周辺収差情報と前記画像の特徴の位置情報であることを特徴とする請求項１記載の画像処理装置である。
請求項６記載の発明は、前記劣化見積もり量は、前記複数画像を撮影した際の露出時間であることを特徴とする請求項１記載の画像処理装置である。
請求項７記載の発明は、前記劣化見積もり量は、前記複数画像の明るさの差であることを特徴とする請求項１記載の画像処理装置である。
請求項８記載の発明は、同一の被写体を連続して撮影した複数画像の合成画像を生成する画像処理方法であって、前記複数画像の一の画像の特徴を抽出する特徴抽出工程と、前記特徴と前記複数画像の他の画像に含まれる前記特徴に対応する特徴との誤差ベクトルを求め該誤差ベクトルをなくすように前記複数画像の重ね合わせ処理を行って前記合成画像を生成する合成画像生成工程とを含む画像処理方法において、前記重ね合わせ処理による画像の劣化に対する劣化見積もり量を算出する劣化見積もり量算出工程と、前記複数画像に対して鮮鋭化フィルタを適用することが可能なフィルタ適用工程とをさらに含み、前記劣化見積もり量の大きさに応じて前記鮮鋭化フィルタの鮮鋭度を変化させることを特徴とする画像処理方法である。
請求項９記載の発明は、前記劣化見積もり量は、前記誤差ベクトルの大きさであることを特徴とする請求項８記載の画像処理方法である。
請求項１０記載の発明は、前記劣化見積もり量は、前記誤差ベクトルの分散であることを特徴とする請求項８記載の画像処理方法である。
請求項１１記載の発明は、前記劣化見積もり量は、前記特徴の追跡時の座標と位置合わせ変換後の座標の差であることを特徴とする請求項８記載の画像処理方法である。
請求項１２記載の発明は、前記劣化見積もり量は、前記複数画像を撮影した際の撮影レンズの周辺収差情報と前記画像の特徴の位置情報であることを特徴とする請求項８記載の画像処理方法である。
請求項１３記載の発明は、前記劣化見積もり量は、前記複数画像を撮影した際の露出時間であることを特徴とする請求項８記載の画像処理方法である。
請求項１４記載の発明は、前記劣化見積もり量は、前記複数画像の明るさの差であることを特徴とする請求項８記載の画像処理方法である。
【発明の効果】
【００１１】
本発明によれば、複数の画像の重ね合わせ処理を行う際の画像の微妙なズレに伴う画像のボケを緩和することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態を、図面を参照しながら説明する。なお、以下の説明における様々な細部の特定ないし実例および数値や文字列その他の記号の例示は、本発明の思想を明瞭にするための、あくまでも参考であって、それらのすべてまたは一部によって本発明の思想が限定されないことは明らかである。また、周知の手法、周知の手順、周知のアーキテクチャおよび周知の回路構成等（以下「周知事項」）についてはその細部にわたる説明を避けるが、これも説明を簡潔にするためであって、これら周知事項のすべてまたは一部を意図的に排除するものではない。かかる周知事項は本発明の出願時点で当業者の知り得るところであるので、以下の説明に当然含まれている。
【００１３】
図１は、本実施形態の画像処理装置の概略構成図である。この図において、基準画像１０及び被追跡画像１１は、同一の被写体を連続して撮影した複数の画像である。なお、ここでは２枚の画像（基準画像１０及び被追跡画像１１）を例にするが、この枚数は画像合成に必要な最低の数を意味する。また、“同一の被写体を連続して撮影した複数の画像”とは、同一の被写体に対して通常のシャッター操作を複数回行い、それぞれのシャッター操作毎に撮影された各画像のことをいい、または、一度のシャッター操作で複数枚の画像を連続的に撮影する連写撮影画像のことをいい、あるいは、動画（ムービー）撮影の各フレーム画像のことをいう。
【００１４】
画像処理装置１２は、オプティカルフロー検出部１３、ＲＡＮＳＡＣ部１４及び画像合成部１５を含み、さらに、オプティカルフロー検出部１３は、ピラミッド化部１３ａ、特徴点抽出部１３ｂ及び特徴点追跡部１３ｃを含み、ＲＡＮＳＡＣ部１４は、ランダム選択部１４ａ、Ｈ計算部１４ｂ及びサポート計算部１４ｃを含み、画像合成部１５は、対応位置計算部１５ｂ、加算部１５ａ、鮮鋭化部１５ｃ及び除算部１５ｄを含む。
【００１５】
オプティカルフロー検出部１３のピラミッド化部１３ａは、基準画像１０と被追跡画像１１とを取り込み、それらの解像度を段階的に落として粗い画像から精細な画像へと順次に階層化（ピラミッド化）した画像を生成する。オプティカルフロー検出部１３の特徴点抽出部１３ｂは、「特徴点」、すなわち、いずれの方向に動かしても画素値の変化が大きい点を抽出する。
【００１６】
特徴点の一例は、ウィンドウに収まる小物体、大きな物体の角（コーナー）、いずれの方向に動かしても変化する特定の模様などである。
【００１７】
オプティカルフロー検出部１３の特徴点追跡部１３ｃは、特徴点抽出部１３ｂで抽出した特徴点の追跡処理を行い、その追跡結果をＲＡＮＳＡＣ部１４に出力する。
【００１８】
ＲＡＮＳＡＣ部１４のランダム選択部１４ａは、追跡済み特徴点の組を無作為に選択し、Ｈ計算部１４ｂは、その選択された特徴点の組に対応した座標変換式の候補を算出し、サポート計算部１４ｃは、その式に従って全ての特徴点を座標変換したときに追跡結果とどれだけ一致するかを評価〔たとえば、差が一定距離内に収まる特徴（適合点）の個数＝サポート数〕する。また、サポート計算部１４ｃは、同時にオプティカルフロー検出部１３の特徴点追跡部１３ｃで求められた誤差ベクトルｅを、グローバル変数Ｇｅを介して受け取り、その誤差ベクトルｅの大きさを積算して、合成による画質の劣化見積もり量（後述の誤差評価値Ｅ）を計算する。ＲＡＮＳＡＣ部１４は、こうした動作を繰り返し、最もよい評価値を得たときの座標変換式を最終結果として、画像合成部１５に出力する。
【００１９】
画像合成部１５の対応位置計算部１５ｂは、ＲＡＮＳＡＣ部１４からの座標変換式に従って、基準画像１０と被追跡画像１１の位置合わせに必要な対応位置計算を行い、画像合成部１５の加算部１５ａは、その対応位置計算の結果に従って基準画像１０と基準画像１０に合わせて変形した被追跡画像１１の画素毎の加算を行った画像（以下、加算画像１６）を生成出力する。画像合成部１５の除算部１５ｄは、加算によって加算画像１６の全体の輝度値が大きくなりすぎたときに、これを補正するためのものであり、加算画像１６に対し、加算枚数及びその他の画像取得条件に応じた除算を行い、その除算結果の画像を合成画像１７として出力する。
【００２０】
画像合成部１５の鮮鋭化部１５ｃは、サポート計算部１４ｃで求められた劣化見積もり量を受け取り、その大きさを判定して、劣化見積もり量の大きさが所定値を越えない場合には、両画像間のズレが少なく、高域成分の喪失度合いが低いものと判断して、加算画像１６の鮮鋭度（シャープネス）をそのままにし、あるいはごく僅かに高める一方、誤差ベクトルｅの大きさが所定値を越えて大きい場合には、両画像間のズレが相当大きく、高域成分の喪失度合いが高いものと判断して、加算画像１６の鮮鋭度を高めるという処理を行う。
【００２１】
特徴点の抽出（検出）について説明する。
図２は、特徴点抽出部１３ｂの動作フローチャートを示す図である。このフローチャートは、順次に実行される二つのループを含む。最初のループ（以下、ループＡという）は、特徴の評価点（一定間隔の座標）毎に繰り返し行われるループであり、このループＡを行うたびに、勾配共分散行列Ｇ（以下、単に行列Ｇという）の２つの固有値を計算する（ステップＳ１）。
【００２２】
ここで、行列Ｇの二つの固有値について説明する。特徴の候補点（評価点）を中心とする画素値のウィンドウをとり、そのウィンドウ内の各点が同じ動き（フロー）を持つという条件（局所拘束条件）を満たすとすると、ウィンドウ内の点ｐijについて、
【００２３】
【数１】
0004775700.tif 000002
【００２４】
【数２】
0004775700.tif 000003
【００２５】
が成り立ち、式１を移項して、
【００２６】
【数３】
0004775700.tif 000004
【００２７】
となる。式３のｆ（ｐij）は基準画像１０を表し、
【００２８】
【数４】
0004775700.tif 000005
【００２９】
は被追跡画像１１を表す。このスカラー方程式が、同じフロー（ｄx  ｄy）T について、ウィンドウ内の全ての点ｐijで近似的に成立すると考える。ウィンドウサイズをＮ×Ｎ画素とすれば、未知数は（ｄx  ｄy）T の２次元に対して、方程式の数はＮ2 個ある（過剰条件）ので、最小二乗解を求める。一般に誤差（残差）||Ａｘ−ｂ||を最小化するｘは、正規方程式ＡT Ａｘ＝ＡT ｂの解である。ＡT Ａは、ここではＮ×２行列と２×Ｎ行列の積であるが、
【００３０】
【数５】
0004775700.tif 000006
【００３１】
とおき、変形すると、以下のように直接に２×２行列の和の形にすることができる。
【００３２】
【数６】
0004775700.tif 000007
【００３３】
ｐにおける画素残差値をｅ（ｐ）とすると、この式の右辺は、
【００３４】
【数７】
0004775700.tif 000008
【００３５】
と書くことができ、
【００３６】
【数８】
0004775700.tif 000009
【００３７】
が得られる。式８において、ｅは二つの画像（基準画像１０と被追跡画像１１）の同一評価点の画素値の差の大きさ（誤差ベクトル）を表し、未知ベクトルｄは同評価点の動き（追跡ベクトル）を表している。
【００３８】
行列Ｇの固有値の性質として、以下のことが言える。まず、２つの固有値はいずれも非負の値を持つ。また、明らかに行列Ｇの固有値の一つでも０に近ければ、０に近い固有値に対する固有ベクトルの摂動が大きくなるため、式８を安定して解くことができない。実際は、ウィンドウ内の画素値が特定の方向に対してほぼコンスタントに揃うとき、この状態（明らかに行列Ｇの固有値の一つが０に近くなる状態）になる。このことは開口問題（aperture  problem）とも呼ばれ、最小固有値が大きいほど、式８の解は誤差の点で安定に求められることを意味する。さらに、行列Ｇの固有値は、ウィンドウ内各点の勾配を、固有ベクトル方向に射影した長さの二乗和であり、大きい方の固有値（最大固有値）に対応する固有ベクトルは、そのような和を最大化する方向になっており、一方、小さい方の固有値（最小固有値）に対応する固有ベクトルは、それに直交する方向（最小化する方向）になっている。
【００３９】
図３及び図４は、ループＡの概念図である。まず始めに、図３に示すように、所定の大きさ（たとえば、７×７画素〜３１×３１画素程度）のウィンドウ１８を適用して基準画像１０に初期位置の評価点１９を設定する。次いで、ループＡを繰り返すたびに、ウィンドウ１８を所定量（たとえば、１／２ウィンドウ幅）ずつ移動していき、最終的に基準画像１０の最終画素に到達するとループＡを終了する。
【００４０】
再び、図２において、２番目のループ（以下、ループＢという）は、ループＡの後に実行されるループであって、固有値一定以上かつ特徴点個数未達（特徴点数が所定の個数に満たない）の間継続するループである。このループＢを行うたびに、最小固有値最大の評価点を「特徴点」として選択し（ステップＳ２）、選択された評価点近傍の他の評価点を評価候補から除外する（ステップＳ３）。
【００４１】
図５〜図８は、ループＢの概念図である。まず、図５に示すように、基準画像１０の各評価点の固有値データを順次に比較していき、図６に示すように、最小固有値が最大である評価点を「特徴点」として選択する。ここでは、便宜的に上から３行目、左から７列目の評価点を特徴点２０として選択する。次いで、図７に示すように、選択した特徴点２０の周囲（特徴評価点間距離の数倍程度）の一定範囲２１に入っている評価点（破線の○印；ただし、破線の○印の数は便宜例である。）を除外する。次いで、図８に示すように、残った評価点の中で最小固有値が最大である評価点を「特徴点」として選択する。ここでは、便宜的に上から６行目、右から５列目の評価点を特徴点２２として選択する。以下、この動作を繰り返して特徴点をすべて選択する。
【００４２】
次に、特徴点追跡（トラッキング）について説明する。
図９は、特徴点追跡部１３ｃの動作フローチャートを示す図である。このフローチャートは、第一のループ（以下、ループＣという）と、このループＣの内部でネストする第二のループ（以下、ループＤ）を含む。
【００４３】
このフローチャートを開始すると、まず、グローバル動き探索を実行し（ステップＳ１１）、その後、ループＣを開始する。グローバル動き探索とは、基準画像１０と被追跡画像１１の双方の縮小画像（例えば、１／４画像）を作り、基準画像１０の中心部に設けたウィンドウと、最もウィンドウ残差が小さくなる被追跡画像１１内の位置をブロックマッチングで探索し、グローバル動きベクトルを得る処理のことをいう。そのグローバル動きベクトルを以降の初期値ベクトルとしている。これにより、動きが大きい場合であっても、追跡が成功しやすくなる。
【００４４】
２次元正方行列Ｚは、行列Ｇの逆行列（Ｇ-1）とする。
【００４５】
ループＣは、基準画像１０の特徴点毎に実行される。このループＣでは、前記のグローバル動きベクトルで動きベクトルを初期化し（ステップＳ１２）、２次元正方行列Ｚに「Ｇ-1 」をセットする（ステップＳ１３）。
【００４６】
次いで、ループＤを実行する。このループＤでは、誤差ベクトルｅを算出（ステップＳ１４）するとともに、その誤差ベクトルｅを画像合成部１５の鮮鋭化部１５ｃで利用するためにグローバル変数Ｇｅにセットし（ステップＳ１５）、追跡ベクトルｄにＺｅをセットし（ステップＳ１６）、動きベクトルを更新（ｄ加算）（ステップＳ１７）した後、解の更新距離がしきい値（許容誤差を示す所定の微小な値）以下になるまでループＤを反復する。そして、解の更新距離がしきい値以下になると、ループＤを抜けて、特徴点ループ終端になるまで、以上の処理を繰り返す。
【００４７】
対応位置計算部１５ｂ（図２参照）で用いられる、位置合わせのための座標変換には、射影変換（自由度８）、アフィン変換（自由度６）、ユークリッド相似変換（自由度４）、剛体運動変換（自由度３）、平行移動変換（自由度２）などのモデルがある。自由度の小さい変換は一般に適用範囲が狭くなるが、計算負荷が軽くなる、誤差による不安定性が減少するなどの利点もあり、適宜適切なものを選択する。
【００４８】
一般に、座標変換式は、正方向（基準画像１０→被追跡画像１１）、逆方向（被追跡画像１１→基準画像１０）のいずれを求めてもよい（片方からその逆変換を求めることは容易にできる）。よって、これ以後の説明では一般化して、基準画像１０、被追跡画像１１のいずれか一方を第一の画像Ｉ1 と呼び、他方を第二の画像Ｉ2 と呼ぶことにする。
【００４９】
本実施形態では、ＲＡＮＳＡＣ（ＲＡＮｄｏｍ  ＳＡｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ）により座標変換式の係数（パラメータ）を求めている。ＲＡＮＳＡＣとは、パラメータ推定の一手法であり、少数の点から求めたパラメータ推定の候補に対して、多数の点の中からその推定に適合する点の数や適合の正確性の度合い、すなわち、サポート数を算出し、サポート数の多い推定候補を最終の推定結果として採用する方法のことである。
【００５０】
図１０は、ＲＡＮＳＡＣ部１４の動作フローチャートを示す図である。このフローチャートは、第一のループ（以下、ループＥという）と、このループＥの内部でネストする第二のループ（以下、ループＦ）を含む。
【００５１】
このフローチャートを開始すると、まず、ループＥを所定回数実行する。このループＥでは、まず、ネストされたループＦを実行する。ループＦでは、ランダムに特徴を選び出し（ステップＳ２１）、条件２個（後述の式１０及び式１１参照）を作成する（ステップＳ２２）。次いで、８条件が揃うまでループＦを反復し、８条件揃うと、方程式を解いて変換式（射影変換行列Ｈ）を得る（ステップＳ２３）。そして、後述の「サポート計算」を実行する（ステップＳ２４）とともに、サポート数が最大サポート数を越えているか否かを判定し（ステップＳ２５）、越えている場合には、最大サポート数の更新とＨ保存を行い（ステップＳ２６）、ループ終端に達したときに、保存されていた最適なＨを出力して（ステップＳ２７）、フローチャートを終了する。
【００５２】
ここで、オプティカルフロー検出部１３で、特徴点が抽出・追跡されている。射影変換モデルを採用した場合の射影変換行列Ｈを求める方程式は、Ｈ＝（ｈij）の各要素を列ベクトルとして並べて、
【００５３】
【数９】
0004775700.tif 000010
【００５４】
とおき、特徴点追跡処理によって、第一の画像Ｉ1の座標（ｘ，ｙ）が第二の画像Ｉ2の座標（Ｘ，Ｙ）に対応している時、特徴１点につき次の式１０、式１１に示す２個の線形な条件を作り、
【００５５】
【数１０】
0004775700.tif 000011
【００５６】
【数１１】
0004775700.tif 000012
【００５７】
そして、条件が８個揃ったら、方程式をガウス消去法等で解き、射影変換行列Ｈを求める。あるいは、８個以上の方程式から最小二乗解を求めてもよい。すなわち、８個またはそれ以上の条件をベクトルの行に並べた次式１２の線形方程式
【００５８】
【数１２】
0004775700.tif 000013
【００５９】
を解いてＨの成分を求める。このようにすると、射影変換行列を求めることが具体的に可能になる。
【００６０】
図１１は、サポート計算の動作フローチャートを示す図である。このフローチャートでは、サポート数と誤差評価量Ｅ（劣化見積もり量）を初期化（ステップＳ３１）した後、追跡済特徴に対してループ（以下、ループＨという）を実行する。このループＨでは、まず、座標変換式による変換を実行し（ステップＳ３２）、着目した特徴点について追跡座標と変換後座標の差が一定距離内に収まるかどうかの適合点判定を実行し（ステップＳ３３）、適合特徴点であればサポート数に“１”を加算する（ステップＳ３４）。次いで、グローバル変数Ｇｅから誤差ベクトルｅを取り出し、その誤差ベクトルｅの大きさの絶対値を誤差評価量Ｅに加算し（ステップＳ３５）、ループ終端に達した場合にサポート数を返して（ステップＳ３６）、フローチャートを終了する。
【００６１】
次に、本実施形態のポイントである画像合成部１５の鮮鋭化部１５ｃについて説明する。この鮮鋭化部１５ｃは、先に説明したとおり、サポート計算部１４ｃで求められた誤差評価値Ｅ（劣化見積もり量）を受け取り、その誤差評価値Ｅの大きさを判定して、誤差評価値Ｅの大きさが所定値を越えない場合には、両画像間のズレが少なく、高域成分の喪失度合いが低いものと判断して、加算画像１６の鮮鋭度をそのままにし、あるいはごく僅かに高める一方、誤差評価値Ｅの大きさが所定値を越えて大きい場合には、両画像間のズレが相当大きく、高域成分の喪失度合いが高いものと判断して、加算画像１６の鮮鋭度を高めるという処理を行うものである。
【００６２】
図１２は、鮮鋭化部１５ｃで実行される鮮鋭化処理のフローチャートを示す図である。このフローチャートでは、まず、誤差評価量Ｅを読み出し（ステップＳ４１）、次いで、「Ｅ＝０」であるか否か、すなわち、何らかの原因で画像の合成が失敗し、基準画像１０の一枚だけが出力されたか否かを判定する（ステップＳ４２）。「Ｅ＝０」の場合は、そのままフローを終了して画像合成部１５の加算部１５ａ等に処理を移し、「Ｅ＝０」でない場合は、次に、誤差評価量Ｅと所定値ＳＬとを比較する（ステップＳ４３）。
【００６３】
そして、「Ｅ＞ＳＬ」でない場合は、基準画像１０と被追跡画像１１のズレが少なく、高域成分の喪失度合いが低い（従って合成画像の画質が悪化しない）ものと判断して、加算画像１６の鮮鋭度をそのままにし、あるいはごく僅かに高めることができる適切なフィルタ（以下「鮮鋭化小フィルタ」という）を基準画像１０と被追跡画像１１に適用し（ステップＳ４４）、一方、「Ｅ＞ＳＬ」である場合は、基準画像１０と被追跡画像１１のズレが相当大きく、高域成分の喪失度合いが高い（従って合成画像の画質が悪化する）ものと判断して、加算画像１６の鮮鋭度を高めることができる適切なフィルタ（以下「鮮鋭化大フィルタ」という）を加算画像１６に適用し（ステップＳ４５）、いずれの場合も、フローを終了して、合成画像１７を出力する。
【００６４】
図１３は、鮮鋭化小フィルタ２３と鮮鋭化大フィルタ２４の一例を示す図である。これらの図において、３×３個の升目の各々は基準画像１０と被追跡画像１１の画素を表している。ハッチングを付した中央の升目はフィルタ対象の注目画素であり、各々の升目内に記載した数値は、それらの升目の画素値に乗算されるフィルタ係数である。
【００６５】
一般的に、フィルタ処理後の画素値をｇ（ｉ，ｊ）としたとき、デジタル画像に適用するフィルタは、
【００６６】
【数１３】
0004775700.tif 000014
【００６７】
によって表される線形フィルタと、それ以外の非線形フィルタに分類される。ここでは、特にそれに限定されないが、線形フィルタを例にして説明する。
【００６８】
例示の鮮鋭化小フィルタ２３は、注目画素のフィルタ係数を「８」、水平と垂直方向に隣接する４つの画素のフィルタ係数を「−１」、それ以外の画素のフィルタ係数を「０」とする２次元の畳み込みマトリクスを適用したものである。
【００６９】
また、例示の鮮鋭化大フィルタ２４は、注目画素のフィルタ係数を「５」、水平と垂直方向に隣接する４つの画素のフィルタ係数を「−１」、それ以外の画素のフィルタ係数を「０」とする２次元の畳み込みマトリクスを適用したものである。
【００７０】
今、３×３の画素値を同一（便宜的に「１０」）、つまり、濃淡差がないものとすると、鮮鋭化小フィルタ２３及び鮮鋭化大フィルタ２４のいずれを適用しても適用後の画素値は同じ「１０」になるが、仮に、注目画素の画素値を「１０」よりも若干明るい、例えば、「１２」とすると、鮮鋭化小フィルタ２３を適用した後の注目画素の画素値が「１２」から「１４」へと僅かにしか増えないのに対して、鮮鋭化大フィルタ２４を適用した後の注目画素の画素値が「１２」から「２０」へと大きく増大する。このことは、鮮鋭化小フィルタ２３を適用した場合に比べて鮮鋭化大フィルタ２４を適用した場合の方が画像の鮮鋭度をより高めることができることを意味する。
【００７１】
したがって、上記の鮮鋭化処理（図１２）では、誤差評価量Ｅが所定値ＳＬを越えない場合には加算画像１６に鮮鋭化小フィルタ２３を適用する一方、誤差評価量Ｅが所定値ＳＬを越えている場合には加算画像１６に鮮鋭化大フィルタ２４を適用するので、誤差ベクトルｅの大小に応じて加算画像１６の鮮鋭化の度合いを切り換えることができる。
【００７２】
誤差評価量Ｅが大きい場合、前述の座標変換式には、様々な要因、例えば、特徴の誤追跡、各画像の視差、オクルージョン、光学レンズの歪曲収差、被写体の動き、ボケなどによる誤差（さらに、合成の座標計算が整数座標に丸められる場合は丸め誤差も）が含まれているため、多くの場合、その座標変換式を用いても、基準画像１０と被追跡画像１１を合成する際の位置合わせを画素単位に正確に行うことは困難である。そのため、高域成分を喪失した低画質の合成画像が出力されてしまうおそれがある。
【００７３】
しかしながら、本実施形態のように、誤差評価量Ｅが所定値ＳＬを越えて大きい場合に加算画像１６に鮮鋭化大フィルタ２４を適用して、鮮鋭度を高め、高域成分を補償することにより、画像の低画質化を回避することができる。
【００７４】
なお、以上の説明では、鮮鋭化小フィルタ２３と鮮鋭化大フィルタ２４を選択するにあたり、評価量の基礎として誤差ベクトルｅの“大きさ”を用いたが、これに限定されない。誤差ベクトルｅの分散を用いてもよい。誤差ベクトルｅの分散は、対象画像の全体の動きの一様さを表している。例えば、画像内に移動物体や変形している物体がある場合に画像合成を行うと、その物体に引きずられて合成画像の他の部分（ひいては画像の全体）がボケてしまうことが多いが、誤差ベクトルｅの分散を用いれば、そのような物体の存在を把握することができる。誤差ベクトルｅの分散に基づいて、ボケの可能性を判断し、可能性有りの場合に加算画像１６に鮮鋭化大フィルタ２４を適用すればよい。
【００７５】
また、鮮鋭化小フィルタ２３と鮮鋭化大フィルタ２４の選択に、“変換精度評価値”を用いてもよい。この変換精度評価値は、サポート計算部１４ｃで適合特徴点と判定された特徴点について、特徴追跡の結果求められた座標と、ＲＡＮＳＡＣ部１４によって最適と判定された射影変換により特徴点が移される座標との間のズレ量の総和として求められる。適合特徴点について変換後の座標を評価することで、合成後の画質劣化を精度よく推定できる。
【００７６】
また、デジタルカメラで画像を撮影した場合、撮影画像の周辺部分に歪みを生じることがある。歪みの原因は主に撮影レンズの周辺収差であり、レンズの画角が広いほど（広角レンズになるほど）大きな歪みが発生する。このような歪みを含む画像を基準画像１０及び被追跡画像１１にして前記の特徴抽出、特徴追跡及び画像合成を行った場合、歪みの程度に応じて画像合成の精度が低下する。
【００７７】
この対策としては、使用するレンズの画角と周辺収差の関係から、あらかじめ画像内の歪み発生部分と、各部分毎の歪みの大きさとを調べておくとともに、それらの調査データを内部メモリ等に保持しておき、抽出された特徴が歪み発生部分に位置しているか否かを判定し、歪み発生部分に位置している場合には、加算画像１６に対して鮮鋭化大フィルタ２４を適用すればよい。また、同時に、抽出された特徴が位置する歪み発生部分の歪みの大きさのデータを読み出し、そのデータに従って鮮鋭化大フィルタ２４のフィルタ強度（鮮鋭化の度合い）を変更してもよい。
【００７８】
また、前記の特徴抽出、特徴追跡及び画像合成の精度は、画像の明るさの影響も受ける。夜景等の暗い画像や露出不足の画像の場合、画像内の明暗の差がハッキリしなくなるためである。このような暗い画像や露出不足の画像の場合にも、鮮鋭化大フィルタ２４を適用してもよい。なお、暗い画像や露出不足の画像であるか否かは、例えば、露出（絞り値）やシャッター速度、ＥＶ値又はストロボ発光の有無などから判定することができる。また、この例においても、画像の暗さや露出の不足程度に応じて鮮鋭化大フィルタ２４のフィルタ強度（鮮鋭化の度合い）を変更してもよい。
【００７９】
また、前記の特徴抽出、特徴追跡及び画像合成の精度は、照明変動などによってフレーム間の明るさが大きく異なる場合にも影響を受けるが、このような場合には、前の画像との明るさの差分を取り、しきい値を越えたものの数で鮮鋭化大フィルタ２４のフィルタ強度（鮮鋭化の度合い）を変更してもよい。
【００８０】
本発明は、ノイズリダクションへの応用のみに限定されない。例えば、部分的に重なる数枚以上の画像をつなぎ合わせて１枚の大きな範囲の画像を合成するパノラマ合成に応用することも可能である。２枚の画像の重なり領域をブロックマッチング等によって検出し、その後、本発明の手法を用いて、重なり領域内の特徴点を抽出・追跡し、座標変換を求めることができる。なお、合成処理においては単なる画素値の平均ではなく、境界が目立たないようにブレンディング処理等を行うことが望ましい。
【００８１】
また、本発明は、動画における手振れ補正（電子式手振れ補正）にも応用可能である。すなわち、動画撮影あるいは再生において、手振れによる画面全体の動きベクトルを算出しそれを打ち消すように各フレームあるいはフィールドを平行移動することによって手振れを抑えて安定した動画を生成することができる。より具体的には、本発明の手法を用いて、特徴点抽出・追跡に続いて平行移動モデル等による座標変換によって求めると、画面の支配的な動きベクトルを得たことになる。画像を加算合成する代わりに新しいフレームあるいはフィールドを得られた動きベクトルによって平行移動した画像で逐次置換するようにすれば、手振れを抑えた動画を生成することができる。
【図面の簡単な説明】
【００８２】
【図１】本実施形態の画像処理装置の概略構成図である。
【図２】特徴点抽出部１３ｂの動作フローチャートを示す図である。
【図３】ループＡの概念図（１／２）である。
【図４】ループＡの概念図（２／２）である。
【図５】ループＢの概念図（１／４）である。
【図６】ループＢの概念図（２／４）である。
【図７】ループＢの概念図（３／４）である。
【図８】ループＢの概念図（４／４）である。
【図９】特徴点追跡部１３ｃの動作フローチャートを示す図である。
【図１０】ＲＡＮＳＡＣ部１４の動作フローチャートを示す図である。
【図１１】サポート計算の動作フローチャートを示す図である。
【図１２】鮮鋭化部１５ｃで実行される鮮鋭化処理のフローチャートを示す図である。
【図１３】鮮鋭化小フィルタ２３と鮮鋭化大フィルタ２４の一例を示す図である。
【符号の説明】
【００８３】
ｅ  誤差ベクトル
Ｅ  誤差評価量（劣化見積もり量）
１０  基準画像（一の画像）
１１  被追跡画像（他の画像）
１２  画像処理装置
１３  オプティカルフロー検出部（特徴抽出手段）
１４ｃ  サポート計算部（劣化見積もり量算出手段）
１５  画像合成部（合成画像生成手段）
１５ｃ  鮮鋭化部（フィルタ適用手段）
１７  合成画像
２４  鮮鋭化大フィルタ（鮮鋭化フィルタ）
【図１】
0004775700.tif 000015
【図２】
0004775700.tif 000016
【図３】
0004775700.tif 000017
【図４】
0004775700.tif 000018
【図５】
0004775700.tif 000019
【図６】
0004775700.tif 000020
【図７】
0004775700.tif 000021
【図８】
0004775700.tif 000022
【図９】
0004775700.tif 000023
【図１０】
0004775700.tif 000024
【図１１】
0004775700.tif 000025
【図１２】
0004775700.tif 000026
【図１３】
0004775700.tif 000027