(57)【特許請求の範囲】
【請求項１】
Ｎ個（Ｎは２以上の整数）の画像データから１個の補正画像データを生成する画像処理装置であって、
Ｎ個の画像データの中から１個の基準画像データを選択する選択手段と、
前記基準画像データを除く（Ｎ−１）個の画像データの各々について、画像に含まれる複数の部分領域毎に前記基準画像データの画像からの画像移動量を導出する導出手段と、
前記（Ｎ−１）個の画像データの各々について、類似した画像移動量を有する部分領域をグループ化することにより前記画像を複数の領域に分割し、該複数の領域に含まれる１以上の領域の選択をユーザから受け付ける受付手段と、
前記（Ｎ−１）個の画像データの各々について、前記選択を受け付けた１以上の領域に含まれる部分領域が相対的に大きな重み値となるように前記複数の部分領域毎に重み値を設定する設定手段と、
前記基準画像データの画像に、前記設定された重み値に応じて前記（Ｎ−１）個の画像データの各々の画像を順次に合成することで前記補正画像データを生成する合成手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記補正画像データは、前記Ｎ個の画像データの解像度より高い高解像度画像データであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記Ｎ個の画像データは、撮像装置により撮像され生成され、各々が第１の解像度である画像データであり、
前記補正画像データは、前記第１の解像度より高い第２の解像度である画像データであり、
前記合成手段は、
前記基準画像データを画素補間処理して得られる前記第２の解像度である初期画像データを生成し、
前記撮像装置の撮像特性情報と前記（Ｎ−１）個の画像データの各々における前記画像移動量とに基づいて、前記初期画像データから、前記（Ｎ−１）個の画像データの各々に対応する（Ｎ−１）個の劣化画像データを生成し、
ＭＡＰ推定を用いて、前記（Ｎ−１）個の画像データの各々と前記（Ｎ−１）個の劣化画像データの各々との差分が最小となるように前記初期画像データに前記（Ｎ−１）個の画像データを合成する、
ように構成され、前記（Ｎ−１）個の画像データの各々と前記（Ｎ−１）個の劣化画像データの各々との差分の評価には前記重み値が併せて使用される
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記合成手段は、前記基準画像データの画像と前記（Ｎ−１）個の画像データの各々の画像との位置合わせを行った後、補間処理によって前記基準画像データの画像に対し前記（Ｎ−１）個の画像データの各々の画像を順次に合成することを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項５】
Ｎ個（Ｎは２以上の整数）の画像データから１個の補正画像データを生成する画像処理装置の制御方法であって、
選択手段が、Ｎ個の画像データの中から１個の基準画像データを選択する選択工程と、
導出手段が、前記基準画像データを除く（Ｎ−１）個の画像データの各々について、画像に含まれる複数の部分領域毎に前記基準画像データの画像からの画像移動量を導出する導出工程と、
受付手段が、前記（Ｎ−１）個の画像データの各々について、類似した画像移動量を有する部分領域をグループ化することにより前記画像を複数の領域に分割し、該複数の領域に含まれる１以上の領域の選択をユーザから受け付ける受付工程と、
設定手段が、前記（Ｎ−１）個の画像データの各々について、前記選択を受け付けた１以上の領域に含まれる部分領域が相対的に大きな重み値となるように前記複数の部分領域毎に重み値を設定する設定工程と、
合成手段が、前記基準画像データの画像に、前記設定された重み値に応じて前記（Ｎ−１）個の画像データの各々の画像を順次に合成することで前記補正画像データを生成する合成工程と、
を含むことを特徴とする画像処理装置の制御方法。
【請求項６】
コンピュータを請求項１乃至４のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影装置で撮像された第一の解像度を有する複数の画像を用いて第二の解像度を有する画像を生成する技術に関するものである。
【背景技術】
【０００２】
複数の低解像度の画像を入力として、より画素数の多い高解像度の画像を生成する技術として、超解像（super resolution）技術が広く知られている。例えば、非特許文献１では、位置ずれを有する複数フレームの低解像度画像を合成して、高解像度の画像を生成する撮像手法が提案されている。また、他の超解像技術として、例えば、非特許文献２では、ＭＡＰ（Maximum A Posterior）推定に基づく方法が開示されている。当該ＭＡＰ推定に基づく方法では、二乗誤差に高解像度画像の確率情報を付加した評価関数を最小化するような高解像度画像を推定する。例えば、非特許文献２では、高解像度画像に対するある先見情報を利用して、事後確率を最大化する最適化問題として高解像度画像を推定している。
【０００３】
これらの方法で高解像度画像を生成するため、入力される複数の低解像度画像は位置ずれを持つ類似画像が必要となる。ところが、入力される複数の低解像度画像の中に、被写体が移動した画像が含まれる場合は、背景と被写体との領域間で位置ずれの特性に差異が発生する。そこで、良好な高解像度画像を得るための手法として、被写体の移動など高解像度画像の生成に好ましくない位置ずれを含む画像を除去し、好適な画像だけを選択して高解像度画像を生成する手法がある（例えば、特許文献１）。また、基準画像に対して位置ずれ量が大きい画像ほど重みを小さくすることで、高解像度画像生成への寄与率を低下させ、高解像度画像を生成する手法が提案されている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２９３１８５号公報
【特許文献２】特開２００６−３３０６２号公報
【非特許文献】
【０００５】
【非特許文献１】Sung C. P., Min K. P. ,”Super-Resolution Image Reconstruction: A Technical Overview”, 米国 IEEE Signal Proc. Magazine, 第26巻, 第3号, p.21-36，2003年
【非特許文献２】R. R. Schulz, R. L. Stevenson, ”Extraction of high-resolution frames from video sequences”, IEEE Trans. Image Processing, 第5巻, p.996-1011, 1996年
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１で提案される手法では、複数の画像間で被写体の移動が含まれる状況においては、本来超解像に使用できる画像領域を除外してしまうことになる。その結果、少ないフレーム数で超解像処理を行うことになり、ユーザが所望する解像度の画像が得られない場合があった。また、特許文献２で提案される手法では、動被写体が含まれる画像領域と静止被写体が含まれる画像領域に対し区別なく、画像全体について一様な重みのため、静止被写体の画像領域ではユーザが所望する解像度の画像が得られない場合があった。
【０００７】
本発明は上述の１以上の問題点に鑑みなされたものであり、複数の画像から１枚の高解像度画像を生成する超解像処理をより好適に行うことを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の１以上の問題を解決するため、本発明の画像処理装置は以下の構成を備える。すなわち、Ｎ個（Ｎは２以上の整数）の画像データから１個の補正画像データを生成する画像処理装置において、Ｎ個の画像データの中から１個の基準画像データを選択する選択手段と、前記基準画像データを除く（Ｎ−１）個の画像データの各々について、画像に含まれる複数の部分領域毎に前記基準画像データの画像からの画像移動量を導出する導出手段と、前記（Ｎ−１）個の画像データの各々について、類似した画像移動量を有する部分領域をグループ化することにより前記画像を複数の領域に分割し、該複数の領域に含まれる１以上の領域の選択をユーザから受け付ける受付手段と、前記（Ｎ−１）個の画像データの各々について、前記選択を受け付けた１以上の領域に含まれる部分領域が相対的に大きな重み値となるように前記複数の部分領域毎に重み値を設定する設定手段と、前記基準画像データの画像に、前記設定された重み値に応じて前記（Ｎ−１）個の画像データの各々の画像を順次に合成することで前記補正画像データを生成する合成手段と、を備える。
【発明の効果】
【０００９】
本発明によれば、複数の画像から１枚の高解像度画像を生成する超解像処理をより好適に行うことのできる技術を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係る画像処理装置の構成を示すブロック図である。
【図２】画像合成部の構成を示すブロック図である。
【図３】劣化過程を表す行列を示す図である。
【図４】画像合成処理のフローチャートである。
【図５】領域選択処理を表す行列を示す図である。
【図６】使用領域を示す行列Ｒの一例を示す図である。
【図７】フレーム間の相対移動量を求めるフローチャートである。
【図８】有効ブロック判定処理のフローチャートである。
【図９】有効動きベクトル判定処理のフローチャートである。
【図１０】領域の使用有無の判定方法を説明するフローチャートである。
【図１１】使用領域を示す行列Ｒを求める方法を説明するフローチャートである。
【図１２】基準画像、参照画像及び画像間の動きベクトルの一例を示す図である。
【図１３】ノルムＤとその発生頻度を示すヒストグラムの一例を示す図である。
【図１４】高解像度画像の生成に使用しない領域を例示的に示す図である。
【図１５】第２実施形態に係る画像処理装置の構成を示すブロック図である。
【図１６】領域毎の重み値の一例を示す図である。
【図１７】高解像度画像の生成に使用する領域の選択方法を説明するためのフローチャートである。
【図１８】高解像度画像の生成に使用する重み値の算出方法を説明するためのフローチャートである。
【図１９】重み行列の一例を示す図である。
【図２０】第３実施形態に係る画像処理装置の画像合成部を示すブロック図である。
【図２１】第４実施形態に係る画像処理装置の構成を示すブロック図である。
【図２２】有効動きベクトルの領域の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１２】
（第１実施形態）
本発明に係る画像処理装置の第１実施形態として、ＭＡＰ推定に基づく超解像処理を行う画像処理装置を例に挙げて以下に説明する。なお、当該画像処理装置は、例えば、画像処理を実行するコンピュータ（ＰＣ）や、撮像装置（静止画カメラ、動画カメラ）、テレビなどの表示装置、プリンターなどの印刷装置に組み込まれ得る。
【００１３】
＜装置構成＞
図１は、第１実施形態の画像処理装置の構成を示したブロック図である。撮像部１０１は、撮像レンズなどの撮像光学系と、ＣＭＯＳ撮像素子やＣＣＤ撮像素子等の撮像素子から構成される。撮像部１０１から出力される映像信号は、Ａ／Ｄ変換部１０２によりデジタル画像に変換され、画像処理部１０３に入力される。画像処理部１０３は、入力された画像（第１の解像度の画像）に対して解像度変換処理を実施し、入力画像の解像度よりも高解像度の画像（第２の解像度の画像）を生成する。生成された高解像度の画像は、画像表示部１０４で表示されるか、或いは、画像記録部１０５で記録媒体に記録される。
【００１４】
画像処理部１０３について更に詳細に説明する。入力端子１０６は画像処理部１０３の入力端子であり、Ａ／Ｄ変換部１０２によりデジタル変換された画像を入力する。入力された画像は、メモリ部１０７に格納される。１０８は移動量算出部であり、メモリ部１０７から複数枚の画像を読み出し、画像間の相対移動量の算出を行う。具体的には、読み出された複数枚の画像から１枚の基準画像を選択し、全ての読み出された画像と選択された画像との相対移動量（動きベクトル）を算出する。
【００１５】
領域選択部１０９は、移動量算出部１０８から得られる相対移動量に基づき、各入力画像において高解像度画像の生成に使用する領域を選択し、選択した領域情報を出力する。次に、画像合成部１１０において、移動量算出部１０８から得られる相対移動量と、領域選択部１０９で選択された領域に基づいて、メモリ部１０７から読み出した複数の画像を合成し、高解像度画像を生成する。最後に、生成された高解像度画像を出力端子１１１より出力する。なお、各処理部（画像処理部１０３や画像表示部１０４）は、中央処理装置（ＣＰＵ）により制御されている。
【００１６】
＜画像合成部の詳細＞
図２は、画像合成部１１０を説明するブロック図である。第１実施形態では、出力される補正画像データである高解像度画像（高解像度画像データ）をＨＲ（High Resolution）画像、入力画像（画像データ）をＬＲ（Low Resolution）画像と呼ぶ。メモリ部１０７に記憶されているＮ個（Ｎは２以上の整数）のＬＲ画像は、画像入力端子２０１を介して画像合成部１１０に入力される。領域選択部１０９から出力される領域情報は領域情報入力端子２０２を介して画像合成部１１０に入力される。移動量算出部１０８から出力される相対移動量は相対移動量入力端子２０３を介して画像合成部１１０に入力される。
【００１７】
初期画像生成部２０４は、Ｎ個のＬＲ画像の中から選択された１個のＬＲ画像に基づいて、画素補間処理などにより初期ＨＲ画像（Ｘ０）（初期画像データ）を生成する。選択されるＬＲ画像は移動量算出部１０８で相対移動量の算出の基準となる基準画像（基準画像データ）と同一であることが望ましい。
【００１８】
画像劣化部２０５は、撮像特性保持部２０６から得られる撮像特性情報と相対移動量入力端子２０３から得られる相対移動量に基づいて、ＬＲ画像と同じ解像度の”劣化画像（劣化画像データ）”を生成する。具体的には、初期画像生成部２０４で生成された初期ＨＲ画像（Ｘ０）又は画像更新部２０８で生されたＨＲ画像を所定の劣化条件により劣化画像処理することにより劣化画像を生成する。第１実施形態で扱う劣化条件は、撮像装置における光学系の特性を示す点広がり関数（ＰＳＦ：Point Spread Function）、センサ画素数の制限によるダウンサンプリング率、相対移動量である。ダウンサンプリング率の劣化条件はダウンサンプリング時の縮小倍率（１／ｓｘ，１／ｓｙ）により取得される。なお、ｓｘ，ｓｙは正の数であるとする。また、これらの劣化条件は画像合成に先立ってあらかじめ規定されているものとする。
【００１９】
更新量算出部２０７は、ＨＲ画像を更新するための更新量を算出する。更新量は、画像入力端子２０１から入力されるＬＲ画像と、画像劣化部２０５から入力される劣化画像と、領域情報入力端子２０２から入力される領域情報を使用して、ＨＲ画像を更新するための更新量を算出する。画像更新部２０８は、更新量算出部２０７から取得される更新量を用いて、ＨＲ画像を更新する。具体的には、後述する画像合成処理によって、複数のＬＲ画像から１のＨＲ画像を推定すべく、ＨＲ画像の各画素に対する画素値の変化量を示した更新量が算出される。よって、更新量の解像度はＨＲ画像の解像度と同一となる。更新量に対して更新の度合いを示すパラメータを乗じ、ＨＲ画像に加算することで更新を行う。
【００２０】
終了判定部２０９は、初期画像生成部２０４又は、画像更新部２０８で生成されたＨＲ画像の更新処理を終了するか否かを判定する。なお、第１実施形態では更新処理の更新回数に基づいて終了判定を行うことを想定する。具体的には閾値ｔをあらかじめ設定しておき、更新処理の回数がｔ以上となった場合に更新処理を終了する。更新処理を終了する場合は、ＨＲ画像を出力端子２１０へ出力する。更新処理を終了しない場合は、更新したＨＲ画像を画像劣化部２０５へ出力しＨＲ画像の更新処理を続行する。
【００２１】
＜ＨＲ画像から劣化画像を生成する際の劣化条件＞
ここでは劣化条件が、撮像装置の点広がり関数（ＰＳＦ）と、センサ画素数の制限による劣化過程であるダウンサンプリングと位置ずれ（相対移動量）により規定される場合について説明する。なお、以下の説明では、撮像装置の点広がり関数（ＰＳＦ）とダウンサンプリング率の条件を撮像特性とよぶ。撮像されるＬＲ画像をＹとすると、数式（１）で定義されるように劣化条件が作用する。
【００２２】
【数１】
0005566199.tif 000002
【００２３】
行列ＢはＰＳＦによる劣化過程を示す正方行列である。行列Ｄはダウンサンプリング処理の画像縮小の倍率を反映した行列である。Ｍは画像間の相対移動量を表す行列である。ＸはＨＲ画像となる。数式（１）は、撮像装置の点像広がり特性と撮像素子によるダウンサンプリング、更に入力ＬＲ画像間の位置ずれを高解像度画像に適用して、劣化画像（Ｙ）を取得することを示している。
【００２４】
行列Ｍ、Ｂ、ＤのサイズはＨＲ画像のサイズによって変化する。ＨＲ画像のサイズをＷ（横方向の画素数）とＨ（縦方向の画素数）、ダウンサンプリング時の画像縮小の倍率を（１／ｓｘ，１／ｓｙ）とする場合、数式（１）に記載される各行列サイズは図３の通りとなる。ＨＲ画像であるＸはベクトル記述として扱うため、その行列サイズは（Ｈ×Ｗ）行×１列となる。画像間の相対移動量を表す行列Ｍと、ＰＳＦによる劣化処理を行う行列Ｂは、（Ｈ×Ｗ）行×（Ｈ×Ｗ）列の正方行列となる。ダウンサンプリング処理を表す行列Ｄのサイズは、（Ｈ×１／ｓｙ×Ｗ×１／ｓｘ）行×（Ｈ×Ｗ）列となる。
【００２５】
相対移動量を表す行列Ｍの生成方法について説明する。行列Ｍの作成に際しては、後述の相対移動量の算出にて得られる基準画像と対象画像との相対的な位置関係を示すアフィンパラメータにより決定される。入力される複数の画像のうち１枚を基準画像と定め、その他の画像を対象画像とする。
【００２６】
このとき、画素位置（ｘ，ｙ）は対象画像上の画素位置に対応し、（ｘ’，ｙ’）は基準画像上の画素位置に対応する。推定されたアフィンパラメータから、対象画像上の画素位置（ｘ，ｙ）が基準画像上のどの座標位置に対応するかを把握することができる。
【００２７】
画素位置（ｘ’，ｙ’）が基準画像の格子点上にプロットされる場合には、基準画像の画素位置に対応する行列Ｍの要素を１と規定し、その他の要素に０を代入する。画素位置（ｘ’，ｙ’）が基準画像の格子点上にプロットされない場合には、（ｘ’，ｙ’）の周辺画素の画素値から、線形補間等の補間処理を利用して、その重みから行列Ｍの係数を算出する。このとき、行列Ｍは、（ｘ，ｙ）と（ｘ’，ｙ’）の周辺画素の位置から決定される行及び列の要素に、（ｘ’，ｙ’）の周辺画素に割り当てられる重み値をそれぞれ代入する。それ以外の要素に０を代入することで画像間の相対移動量を表す行列Ｍを生成する。なお、ブロック単位で相対移動量を算出する手法については後述する。
【００２８】
＜領域選択処理の概要＞
以下では、各入力画像において高解像度画像の生成に使用する領域（使用領域）の選択処理について説明する。特にここでは、撮像されるＬＲ画像に対して、数式（２）で表されるように、使用領域を表す行列を乗じることにより領域選択を行う。
【００２９】
【数２】
0005566199.tif 000003
【００３０】
Ｙは前述の劣化画像を表すベクトルである。行列Ｒは劣化画像から高解像度画像の生成に使用する領域（使用領域）を選択する行列である。Ｚは領域選択後の画像となる。行列Ｒのサイズは、ＨＲ画像のサイズによって変化する。ＨＲ画像のサイズをＷ（横方向の画素数）とＨ（縦方向の画素数）、ダウンサンプリング時の画像縮小の倍率を（１／ｓｘ，１／ｓｙ）とする場合、数式（２）に記載される各行列サイズは図５の通りとなる。領域選択処理を表す行列Ｒのサイズは（Ｈ×１／ｓｙ×Ｗ×１／ｓｘ）行×（Ｈ×１／ｓｙ×Ｗ×１／ｓｘ）列の対角行列となる。領域選択後の画像を表すＺはベクトル記述となり、その行列サイズは（Ｈ×１／ｓｙ×Ｗ×１／ｓｘ）行×１列となる。
【００３１】
図６は、行列Ｒの一例を示す図である。行列Ｒは対角位置に０又は１の値が配置される対角行列である。行列位置（１，１）から（４，４）は高解像度画像の生成に使用する領域（使用領域）に該当し、行列位置（５，５）から（６，６）は非使用領域に該当している。行列Ｒでは、対角成分以外には０の値が代入されている。
【００３２】
後述するが、行列Ｒは各ＬＲ画像について設定されるため、高解像度画像の生成に際して使用する領域（画素）、使用しない領域（画素）とを、ＬＲ画像毎に独立して指定することができる。言い換えると、画像間の相対移動量が大きい領域や、他の領域とは異なる傾向を示す領域は、行列Ｒの設定によって使用しない領域に規定し、該領域では相対的に少ない画像数にて高解像度画像の生成を行う。
【００３３】
このように領域毎に選択的に超解像処理に使用することで、被写体が移動するなどして高解像度画像がぼけたりする画像劣化を抑制することができる。一方で、静止被写体や動きが少ない背景などの場合は、使用領域として扱うことができるため、相対的に多くの画像数から良好な高解像度画像を生成できる利点がある。
【００３４】
＜画像合成処理＞
第１実施形態での画像合成処理は、非特許文献２に開示されているＭＡＰ推定法をベースに行う。背景技術で述べたようにＭＡＰ推定に基づく方法は、高解像画像に対するある事前情報を利用して、事後確率を最大化する最適化問題として高解像度画像を推定する超解像処理方法である。第１実施形態では、数式（３）に従って複数のＬＲ画像からＨＲ画像を推定する。
【００３５】
【数３】
0005566199.tif 000004
【００３６】
ここで、Ｘは推定されたＨＲ画像であり、Ｘは後述する初期ＨＲ画像Ｘ０又はＭＡＰ法の繰返し演算におけるＨＲ画像である。ＹｋはＬＲ画像、Ｃは推定されたＨＲ画像に適用される線形フィルタである。また、ｋは各ＬＲ画像のインデックス（通し番号）である。
【００３７】
数式（３）の一部である
【００３８】
【数４】
0005566199.tif 000005
は、「隣接画素の画素値は類似した値を持つことが多い」という事前情報を加味した拘束項である。第１実施形態では画像全体に平滑化の効果があるラプラシアンフィルタを線形フィルタＣとして使用する。αは結果画像における平滑化度合いを調整するパラメータである。平滑度合いの高い結果画像を得たい場合にはαの値を大きくすることが有効である。
【００３９】
また、数式（３）の項の別の一部である
【００４０】
【数５】
0005566199.tif 000006
は、ＬＲ画像Ｙｋと劣化過程を経て推定された劣化画像との差分を計算する項である。この差分は、数式（１）のＨＲ画像推定の正確性を表しており、数式（１）の推定が正しいものであれば、この項はゼロとなる。差分値の演算時に使用領域を表す行列Ｒｋを導入することにより、後述の相対移動量の算出にて得られる基準画像と対象画像との間に大きな動きがある場合に、該当する領域については差分値の演算の対象から除外することができる。これにより、ＨＲ画像推定の正確性を損なうという問題を回避している。なお、σｋは入力画像Ｙｋのノイズ量の標準偏差である。
【００４１】
以下の数式（６）は、数式（３）の右辺部を抽出し、画像合成時Ｉの評価関数として用いる数式である。後述するように、当該評価関数の微分値を更新値として高解像度画像を更新することになる。
【００４２】
【数６】
0005566199.tif 000007
【００４３】
図４は、画像合成部で行なわれる画像合成処理を説明するフローチャートである。
【００４４】
ステップＳ４０１では、メモリ部１０７から画像入力端子２０１を介して複数枚のＬＲ画像Ｙｋが入力される。ここでは、Ｎ枚のＬＲ画像Ｙｋが入力されるとする。なお、ｋは入力されたＬＲ画像Ｙｋの枚数をカウントするカウンター（インデックス）であり、ｋの変動範囲はｋ＝［０，１，‥，Ｎ−１］とする。
【００４５】
ステップＳ４０２では、撮像装置の劣化条件を取得する。上述したように、劣化条件は、撮像装置の光学系の点拡がり関数（ＰＳＦ）と、センサ画素数の制限による劣化過程であるダウンサンプリング率と、画像間の位置ずれ（相対移動量）により規定される。
【００４６】
ステップＳ４０３では、高解像度画像の生成に使用する領域を入力する。具体的には、上述した領域選択処理で生成された使用領域を示す行列Ｒが入力される。
【００４７】
ステップＳ４０４では、前述のＭＡＰ推定で必要となる初期ＨＲ画像Ｘ０を作成する。初期ＨＲ画像Ｘ０は、入力されたＬＲ画像Ｙｋから選択された１枚のＬＲ画像に基づいて、補間処理によって横画像サイズをｓｘ倍、縦画像サイズをｓｙ倍に拡大する。ここでは、補間処理として線形補間の使用を想定するが、キュービック補間などの他の補間処理を使用してもよい。なお、ここでは後述する相対移動量の算出の際に基準となる基準画像を拡大処理するものとする。
【００４８】
ステップＳ４０５では、処理を終了するか否かの判定を行う。上述したように、第１実施形態ではＨＲ画像更新処理の処理回数に基づいて処理を終了するか否かの判定を行う。例えば、予め設定しておいた閾値ｔを用いて、処理回数がｔ回より小さい場合はＨＲ画像Ｘの更新処理を続行し、処理回数がｔ回以上となったら更新処理を終了しステップＳ４１３に進む。
【００４９】
ステップＳ４０６では、カウンターｋをｋ＝０に初期化した後、ステップＳ４０７では、入力された劣化条件を使用してＨＲ画像から各ＬＲ画像Ｙｋに対応する劣化画像Ｙ’ｋを作成する。劣化画像の作成に際しては、数式（１）を用いて次式のように計算する。
【００５０】
【数７】
0005566199.tif 000008
ここで、Ｍｋは、Ｙｋについての相対移動量である。そして、ステップＳ４０８では、入力された全てのＬＲ画像Ｙｋについて劣化画像Ｙ’ｋを生成したか否かを判定する。全てのＬＲ画像について劣化画像Ｙ’ｋの生成が完了していないと判定した場合には、カウンターｋの値を更新し（ステップＳ４０９）、ステップＳ４０７からステップＳ４０８までの処理を繰り返し行う。一方、ステップＳ４０８において、劣化画像Ｙ’ｋの生成が全てのＬＲ画像Ｙｋについて完了したと判定した場合にはステップＳ４１０に進む。
【００５１】
ステップＳ４１０では、ＬＲ画像Ｙｋと劣化画像Ｙ’ｋとの差分値を減少させるために必要となる更新項ΔＸ（更新値）を、数式（３）をＸで微分した数式（８）を用いて計算する。
【００５２】
【数８】
0005566199.tif 000009
前述の通り、数式（８）の第２項はＬＲ画像のうち、高解像度画像の生成に使用する領域における劣化画像との差分値を示す項である。この差分値は、数式（１）のＨＲ画像の推定の正確性を表しており、数式（１）の推定が正しいものであれば、この項はゼロとなる。
【００５３】
差分値の演算時に使用領域を限定することにより、後述の相対移動量の算出にて得られる基準画像と対象画像との間に大きな動きがある場合に、該当する領域については差分値の演算の対象から除外することができる。これにより、第１実施形態では、ＨＲ画像推定の正確性を損なうという問題を回避している。σｋは入力画像Ｙｋのノイズ量の標準偏差である。数式（１）の差分値を示す項だけを用いて更新項を決定すると特に画像のエッジ部分で不自然さが強調されてしまうため、それを第１項の「隣接画素の画素値は類似した値を持つことが多い」という事前情報を加味した拘束項で補償する。第１実施形態では画像全体に平滑化の効果があるラプラシアンフィルタを線形フィルタＣとして使用する。αは結果画像における平滑化度合いを調整するパラメータである。平滑度合いの高い結果画像を得たい場合にはαの値を大きくすることが有効である。
【００５４】
ステップＳ４１１では、以下の数式（９）を用いてＨＲ画像Ｘを更新する。
【００５５】
【数９】
0005566199.tif 000010
ここで、ηは更新の幅を決定するパラメータである。ηを大きくすれば、最適なＨＲ画像への収束は早くなる。一方で、ηを必要以上に大きくしすぎると、オーバーシュート量が大きくなりすぎて収束に時間がかかってしまう場合もある。そのため、ステップＳ４０５で用いられる条件（処理回数）やユーザーによる設定に基づいて、予めηを決定しておいてもよい。更新画像の作成が完了すると、ステップＳ４０５で規定される条件（処理回数≧ｔ）を満足するまで、ステップＳ４０５からステップＳ４１２の処理を繰り返し行う。最後に、ステップＳ４１３にて合成画像（即ち、ｔ回更新された高解像度画像Ｘ）を出力し、複数枚の入力ＬＲ画像Ｙｋに対する合成処理が完了する。
【００５６】
＜相対移動量の算出＞
図７は、フレーム間の相対移動量（画像移動量）を求める方法を説明するためのフローチャートである。ここでは、ブロック毎（部分領域毎）に動きベクトルを求め、そこから画面全体の動き量をアフィンパラメータとして求める方法について説明する。
【００５７】
ステップＳ７０１では、ブロック毎の動きベクトルを求める際にその前処理として有効ブロック判定を行う。これは正しい動きベクトルが求まらない可能性のあるブロックを除外する処理である。当該有効ブロック判定については、図８を参照して後述する。
【００５８】
ステップＳ７０２では、ブロックの動きベクトルを算出する。ここでは一般的なブロックマッチング方法について説明する。ブロックマッチング法では、ベクトルを求める対象ブロックを参照画像のサーチ範囲内で順次動かしなら評価値を求めていく。ここで、マッチングの評価値としてブロック内の画素間の差分二乗和もしくは差分絶対値和を用いることができる。そして、サーチ範囲内で求めた全ての評価値の中から最小の評価値をもつ位置が対称ブロックと最も相関の高い位置であり、その移動量が動きベクトルとなる。
【００５９】
サーチ範囲を１画素ずつ求めていく方法はフルサーチと呼ばれている。これに対し、サーチ範囲を間引きながら最小の評価値を求め、次にその近傍に対して細かくサーチする方法は、ステップサーチと呼ばれている。ステップサーチは高速に動きベクトルを求める方法としてよく知られている。
【００６０】
ステップＳ７０３では、有効動きベクトル判定を行う。これは、求めた動きベクトルのうち、算出結果が正しくないと判断されるものを除外する処理である。当該有効動きベクトル判定については、図９を参照して後述する。
【００６１】
ステップＳ７０４では、終了判定を行い、すべてのブロックの処理が終わると、ステップＳ７０５にて、有効な動きベクトルから、アフィンパラメータの検出を行う。
【００６２】
アフィンパラメータ検出の詳細を説明する。対象ブロックの中心座標が、（ｘ，ｙ）であり、動きベクトルの算出結果から参照画像におけるブロックの中心座標が（ｘ’，ｙ’）に移動したとすると、これらの関係は、数式（１０）のように表すことができる。
【００６３】
【数１０】
0005566199.tif 000011
ここで、３行×３列の行列がアフィン変換行列である。行列の各要素がアフィンパラメータであり、ａ＝１，ｂ＝０，ｄ＝０，ｅ＝１のとき、この変換は平行移動となり、ｃが水平方向の移動量、ｆが垂直方向の移動量となる。また、回転角θでの回転移動は、ａ＝ｃｏｓθ，ｂ＝−ｓｉｎθ，ｄ＝ｓｉｎθ，ｅ＝ｃｏｓθで表すことができる。数式（１０）は一般化した行列の形式で数式（１１）のように表現することができる。
【００６４】
【数１１】
0005566199.tif 000012
ここでｘとｘ’は１行×３列の行列、Ａは３行×３列の行列である。有効な動きベクトルがｎ個であった場合、対象画像の座標値は、数式（１２）のようにｎ行×３列の行列で表現できる。
【００６５】
【数１２】
0005566199.tif 000013
同様に、移動後の座標値も数式（１３）のようにｎ行×３列の行列で表現できる。
【００６６】
【数１３】
0005566199.tif 000014
よって、ｎ個の動きベクトルに対しては、数式（１４）のような表現となる。
【００６７】
【数１４】
0005566199.tif 000015
すなわち、数式（１４）におけるアフィン行列Ａを求めれば、それが画面全体の位置ずれ量になる。数式（１４）を変形すると、アフィン行列は数式（１５）のように求まる。
【００６８】
【数１５】
0005566199.tif 000016
この方式では、動き量がアフィン変換のパラメータで表現できるため、カメラを保持しているときに起こるシフトぶれ以外にも、面内方向でのロールぶれや前後方向のズームぶれなどにも対応することが可能である。
【００６９】
アフィンパラメータの検出が完了すると、ステップＳ７０６にて、動きベクトルとアフィンパラメータを出力し、フレーム間の相対移動量を算出するための処理を完了する。
【００７０】
図８は、有効ブロック判定方法のフローチャートである。ブロックマッチングによりブロック間の相関を求めようとする場合、ブロック内の画像が何らかの特徴量を持っている必要がある。平坦でほとんど直流成分しか含んでいないブロックでは正しい動きベクトルを求めることはできない。逆に水平方向や垂直方向にエッジを含んでいると、マッチングがとりやすくなると考えられる。図８は、このような平坦部のブロックを除外する一手法を示している。なお、ここでは１つのブロックに対する処理で説明する。
【００７１】
ステップＳ８０１では、ブロック内にある水平方向の１つのラインに対し、最大値と最小値の差分値を算出する。例えば、ブロックのサイズが５０×５０の画素で構成されているとすると、ブロック内における水平方向の５０の画素から最大値と最小値を求め、その差分値を算出する。これを水平ライン数分、すなわち５０回繰り返す。ステップＳ８０３では、５０の差分値の中から最大の差分値を求める。
【００７２】
ステップＳ８０４では、あらかじめ設定したＴｘと最大差分値の比較を行う。そして、最大差分値が閾値Ｔｘよりも小さければ、水平方向には特徴量を持たないブロックであるとみなし、ステップＳ８０５に進み、無効ブロックとする。一方、最大差分値が閾値Ｔｘ以上であり、水平方向に特徴量を持つとみなせる場合は、ステップＳ８０６に進み垂直方向に関して同様の検証を行う。
【００７３】
ステップＳ８０６では、ブロック内にある垂直方向の１つのラインに対し、最大値と最小値の差分値を算出する。つまりブロック内における垂直方向の５０の画素から最大値と最小値を求め、その差分値を算出する。これを垂直ライン数分、すなわち５０回繰り返す。そして、ステップＳ８０８では、５０の差分値の中から最大の差分値を求める。
【００７４】
ステップＳ８０９では、あらかじめ設定したＴｙと最大差分値の比較を行う。そして、最大差分値が閾値Ｔｙよりも小さければ、垂直方向には特徴量を持たないブロックであるとみなし、ステップＳ８０５に進み、無効ブロックとする。一方、最大差分値が閾値Ｔｙ以上であり、水平・垂直両方向に特徴を持つブロックならば、正確なブロックマッチングが行われることが期待できるので、ステップＳ８１０に進み、有効ブロックと判定する。  図９は、有効動きベクトル判定方法のフローチャートである。
【００７５】
ステップＳ９０１にて動きベクトルを入力し、ステップＳ９０２にてその発生頻度を算出する。ステップＳ９０３にて、全ての動きベクトルの発生頻度が求まるまでこの処理を繰り返し、終了するとステップＳ９０４にて、最大発生頻度の動きベクトルを求める。ステップＳ９０５では、再度動きベクトルを入力し、ステップＳ９０６では、この動きベクトルが最大発生頻度の動きベクトル、もしくはその近傍の動きベクトルであるかどうかの判定を行う。
【００７６】
画面全体のぶれが、シフトぶれのみである場合、各ブロックの動きベクトルは、最大発生頻度の動きベクトルにほぼ一致するはずであり、ロールぶれを伴う場合は、最大発生頻度の動きベクトルの近傍に多くの動きベクトルが発生すると考えられる。したがって、これらの値に含まれる動きベクトルは、ステップＳ９０７にて、有効動きベクトルと判定し、これらの値から外れている動きベクトルは、ステップＳ９０８にて無効動きベクトルと判定する。ステップＳ９０９では、すべての動きベクトルに対して処理が終わったかどうかの判定を行い、終了までステップＳ９０５からの処理を繰り返す。
【００７７】
なお、相対移動量は全ての有効動きベクトルの平均値（方向および大きさ）に基づいて決定される。また、相対移動量の決定方法は、単純平均に限らず、加重平均などに基づいて決定してもよい。
【００７８】
＜領域選択処理の詳細＞
図１７は、領域選択部１０９で行われる高解像度画像の生成に使用する領域（使用領域）の選択方法を説明するフローチャートである。
【００７９】
ステップＳ１７０１では、画像間の相対移動量に基づき高解像度画像の生成に使用する領域を判定する。ステップＳ１７０２では、使用領域を規定する行列Ｒを生成する。各処理ステップの詳細については後述する。なお、使用領域の判定処理は、前述の相対移動量の算出時における参照画像を対象に実施する。相対移動量の算出時における基準画像については、全ての領域を高解像度画像の生成に使用する。
【００８０】
図１０は、使用領域の判定方法を示すフローチャートである。ステップＳ１００１では、動きベクトル入力し、ステップＳ１００２では、アフィンパラメータを入力する。アフィンパラメータは前述のアフィンパラメータの検出処理で得られた結果である。
【００８１】
ステップＳ１００３では、図８を参照して説明した有効ブロック判定方法より得られる判定結果を入力する。続いて、ステップＳ１００４では、注目ブロックが有効ブロックか否かを判定し、有効ブロックであればステップＳ１００５に進む。なお、ブロックの設定は、前述の相対移動量の算出時に採用した方法に従う。ステップＳ１００４では、注目ブロックが有効ブロックでない場合には、ステップＳ１００９に進み、該ブロックは高解像度画像の生成に使用しない領域と判定する。
【００８２】
ステップＳ１００５では、注目ブロックの中心座標（ｘ，ｙ）を、入力されたアフィンパラメータに従ってアフィン変換を実施する。アフィン変換は数式（１０）によって実現され、アフィン変換後の座標位置を（ｘ’，ｙ’）と設定する。アフィン変換が完了すると、ステップＳ１００６にて、アフィン変換後の座標位置（ｘ’，ｙ’）と、動きベクトルの算出結果から基準画像におけるブロックの中心座標の移動点（ｘ”，ｙ”）とのノルムを算出する。アフィン変換後の点と移動点とのノルムＤは、数式（１６）のように、二次元平面上における二点間の距離によって表現できる。
【００８３】
【数１６】
0005566199.tif 000017
ノルムＤは、ブロックの中心座標（ｘ，ｙ）が、画像全体の動きを表現するアフィン変換によって移動した点（ｘ’，ｙ’）と、動きベクトルの算出結果によって得られた移動点（ｘ”，ｙ”）との一致度合いを表している。ノルムＤの値が小さい場合には、数式（１０）で表現されるアフィン変換によって、基準画像と参照画像との間で、良好なブロックの対応が表現できていると判断できる。一方で、ノルムＤの値が大きい場合には、基準画像と参照画像との位置の対応が、アフィン変換で良好に表現できていないと判断できる。この場合、画像全体の動きとは異なる局所的な動きが、該ブロックで発生していると考えられる。詳細については後述する。
【００８４】
ステップＳ１００７では、算出されたノルムＤとあらかじめ設定された閾値Ｔｈとを比較する。ノルムＤが閾値Ｔｈよりも小さければ、局所的な動きを含まない領域と判断し、ステップＳ１００８にて、高解像度画像の生成に使用する領域と判定する。一方、ノルムＤが閾値Ｔｈ以上であれば、局所的な動きを含む領域と判断し、ステップＳ１００９にて、高解像度画像の生成に使用しない領域と判定する。
【００８５】
ステップＳ１０１０では、全てのブロックについて使用領域の判定が完了したか否かを判断し、未処理のブロックがある場合には、ステップＳ１００４からステップＳ１０１０までの処理を繰り返し行う。全てのブロックについて使用領域の判定が完了した場合には、ステップＳ１０１１に進み、使用領域の判定結果を出力する。以上で、使用領域の判定のための処理を完了する。
【００８６】
図１１は、高解像度画像の生成に使用する領域（使用領域）の選択を表す行列Ｒの生成方法を説明するためのフローチャートである。行列Ｒの作成に際しては、後述の基準画像と対象画像との相対移動量の算出結果から得られる使用領域の判定結果により決定される。
【００８７】
ステップＳ１１０１では、後述する使用領域の判定結果を入力する。ステップＳ１１０２では、行列Ｒを初期化する。行列Ｒは、サイズが（Ｈ×１／ｓｙ×Ｗ×１／ｓｘ）行×（Ｈ×１／ｓｙ×Ｗ×１／ｓｘ）列となる対角行列である。なお、ＷはＨＲ画像の横画素数、ＨはＨＲ画像の縦画素数を表している。また、行列Ｒの対角成分には０の値が代入されている。行列Ｒの初期化が完了すると、ステップＳ１１０３では、ＬＲ画像上における注目画素位置（ｘ，ｙ）を設定する。
【００８８】
ステップＳ１１０４では、注目画素位置（ｘ，ｙ）が使用領域に含まれるか否かを判定し、注目画素位置（ｘ，ｙ）が使用領域に含まれる画素である場合には、ステップ１１０５に進み、行列Ｒの対角成分における対応要素を１に設定する。一方、ステップＳ１１０４にて、注目画素位置（ｘ，ｙ）が使用領域に含まれないと判定された場合には、ステップ１１０６に進み、行列Ｒの対角成分における対応要素を０に設定する。
【００８９】
ステップＳ１１０７では、ＬＲ画像における全ての画素について処理が完了したか否かを判定し、未処理の画素がある場合には、注目画素位置を更新し（ステップＳ１１０８）、ステップＳ１１０４からステップＳ１１０７までの処理を繰り返し行う。全ての画素について処理が完了すると、行列Ｒの生成処理が終了する。なお、上述したように、第１実施形態では、基準画像については、全ての領域を高解像度画像の生成に使用する。よって、基準画像に対応する行列Ｒの対角成分は全て１とする。
【００９０】
図１２は、基準画像と参照画像、及びこの２つの画像間の動きベクトルを例示的に示す図である。基準画像１２０１と参照画像１２０２は前述のＬＲ画像Ｙｋに相当する。基準画像１２０１と参照画像１２０２との間には、車両と樹木に局所的な移動があり、背景は静止している。更に、画像取得時に上下方向に画像全体のぶれが発生している様子を示している。
【００９１】
１２０３は、基準画像の各ブロックにおける動きベクトルを表す図である。静止している背景はぶれの影響を受け、上方向への動きベクトルが検出されている。一方、移動のある車両と樹木については、斜め方向への動きベクトルが検出されている。画像全体の動きと略一致する背景領域に比べ、これら局所的な動きベクトルを含む領域は少ないため、前述のアフィンパラメータの検出時における寄与が相対的に低くなる。よって、図１２に示す例では、数式（１５）で導出されるアフィン変換のパラメータは上方向の移動を表すことになり、動きのある車両と樹木が含まれるブロックの動きベクトルは、アフィンパラメータが示す方向とは異なる方向を示すことになる。
【００９２】
図１３は、数式（１６）で得られるノルムＤとその発生頻度を示すヒストグラムを示す図である。横軸がノルムの大きさを表し、縦軸が発生頻度を表している。
【００９３】
ノルムの算出には、図１２（ａ）の基準画像と参照画像を使用した。静止している背景は、画像全体の動きと略一致しているため、背景が含まれるブロックに対応するノルムＤの値はゼロ付近にプロットされる。図１２に示した画像では、背景部分が多くの領域を占めるため、背景に対応するブロックの頻度が相対的に高くなる。一方、車両と樹木については局所的な動きとして扱われるため、対応するノルムＤの値は高くなる。これらの関係に着目して、局所的な動きが含まれる領域か否かを判定する。
【００９４】
図中のＴｈは、領域判定のための基準である閾値を表している。ノルムＤが閾値Ｔｈよりも大きい場合には、局所的な動きが含まれるブロックであると判定される。この場合、樹木と車両が含まれるブロックが当該ブロックと判定される。局所的な動きが含まれる判断された領域は、高解像度画像の生成時に使用しない領域として扱われる。
【００９５】
図１４は、参照画像１２０２のうち、図１３から導かれた高解像度画像の生成時に使用しない領域を例示的に示す図である。グレーで示した領域が使用しない領域を表している。局所的な動きを含む領域を使用しないことで、好適な高解像度画像を生成することが可能となる。図１４で示される領域は、前述の高解像度画像の生成に使用する領域を規定する行列Ｒにおいて、該当する対角成分の要素が０として設定される。
【００９６】
従来の技術では、動きのある被写体がある場合に、局所的な位置ずれがブロック間で発生し、数式（８）で表される更新項ΔＸを適切に求めることができず、その結果として高解像度画像の更新を適切に行うことが出来ない。しかし、第１実施形態による手法では、そのような動きのある領域に起因する不適切な更新を回避することが可能となる。
【００９７】
なお、上述の説明では、入力となるＬＲ画像Ｙｋを図１２に示すように２枚としたが、これに限定されるものではない。３枚、４枚、１０枚などでもよい。また、ループ処理の終了判定をループ処理の回数以外の判定基準を用いることも可能である。例えば、数式（３）に示す評価関数の大きさや、数式（６）に示す更新量の大きさを基にループ処理の終了判定を行っても第１実施形態の目的を達成できる。例えば、以下のような終了判定条件を用いても良い。
【００９８】
・評価関数Ｉの値が閾値ｔｈ２未満となった場合に終了
・更新量ΔＸの大きさが閾値ｔｈ３未満となった場合に終了
さらに、第１実施形態では、ＭＡＰ法を用いて高解像度画像を生成したが、例えば、POCS法、POCS-ML法、Back Projection法など他のループ処理を含む高解像度画像生成手法を使用しても構わない。
【００９９】
第１実施形態では、解像度変換前後で画像フレームの解像度が拡大する処理方法について説明したが、解像度変換前後で画像フレームの解像度が縮小、或いは不変の場合でも構わない。解像度を縮小する場合には、画像合成時の劣化条件の一項目であり、図７の劣化条件７０５で規定されるダウンサンプリングをアップサンプリングに置き換え、その時の画像拡大倍率を（ｓｘ，ｓｙ）とすれば実現可能である。なお、ｓｘ、ｓｙは正の数であるとする。また、解像度を不変とする場合には、前記拡大倍率を（１，１）とすれば実現可能である。
【０１００】
以上説明したように、第１実施形態によれば、複数の画像を合成する超解像処理を行う場合に、複数の画像間の相対移動量に基づいて局所的に動きがある画像領域を画像更新に使用しないよう制御する。それにより、より好適に超解像処理を行うことのできる技術を提供することができる。
【０１０１】
（第２実施形態）
第２実施形態では、画像間の相対移動量に基づき、入力される複数画像の領域毎に重み値を算出し、この重み値を考慮して複数枚画像を合成し高解像度画像を生成する構成とする。なお、上述の第１実施形態は、第２実施形態における重み値を、所定閾値以上であるか否かを基準として２値化（０と１）したものに相当する。
【０１０２】
図１５は、第２実施形態の画像処理装置の構成を示したブロック図である。第２実施形態では図１における領域選択部１０９の代わりに重み値算出部１５０１が配置されている。重み値算出部１５０１では、画像全体の動きと略一致する領域は相対的に大きな重みとする。例えば、ノルムＤの値を用いて数式（１７）のように重み値ｗを設定することができる。
【０１０３】
【数１７】
0005566199.tif 000018
重み値ｗは、ノルムＤがゼロに漸近するにつれて１に近づく。つまり、ブロックの中心座標（ｘ，ｙ）が、画像全体の動きを表現するアフィン変換によって移動した点（ｘ’，ｙ’）と、動きベクトルの算出結果によって得られた移動点（ｘ”，ｙ”）との一致度合いが増すと、重み値ｗは１に近づく。逆に、座標位置（ｘ’，ｙ’）と（ｘ”，ｙ”）が離れる状態になると、ノルムＤの値は増加し、重み値ｗは０に近づくことになる。よって、重み値ｗは０から１の範囲で変化する値となる。第２実施形態では、重み値ｗを各ＬＲ画像の領域毎に算出し、重み値ｗを数式（２）の行列Ｒの対角成分に反映する。
【０１０４】
図１６は、基準画像１２０１と参照画像１２０２から算出した重み値を例示的に示した図である。静止した背景は重みを大きくし、動きのある領域についてはノルムＤの大きさに応じて、相対的に重みを小さく設定している。このように画像間の相対移動量に基づいた重み付けを行うことにより、閾値Ｔｈを定めることなく、入力画像における全ての画像領域を高解像度画像の生成に使用することができる。
【０１０５】
図１８は、重み値算出部１５０１で行われる高解像度画像の生成に使用する重み値の算出方法を説明するためのフローチャートである。ステップＳ１８０１では、画像間の相対移動量基づき、各ＬＲ画像のブロックに対して高解像度画像の生成の際に使用する重み値を算出する。ここでは、数式（１７）によって重み値を算出する。その後、ステップＳ１８０２では、重み係数を反映した重み行列を生成する。重み行列の生成方法は、図６で示される行列Ｒの生成方法を用いるが、ＬＲ画像の各ブロックで算出される重み値を、該領域に含まれる画素に対して付与する点が異なる。図１９は、重み行列の一例を示す図である。重み行列の対角成分に、ステップＳ１８０１で得られた重み値を設定している。同一のブロックに含まれる画素に対応する行列要素には、同じ重み値を与える構成となっている。
【０１０６】
以上説明したように、第２実施形態によれば、複数の画像を合成する超解像処理を行う場合に、複数の画像間の相対移動量に基づいて各画像領域の画像更新に寄与する割合を制御する。それにより、より好適に超解像処理を行うことのできる技術を提供することができる。
【０１０７】
（第３実施形態）
第３実施形態では、複数画像間の位置補正後に補間処理を用いて高解像度画像を生成する構成例について説明する。つまり、ＭＡＰ推定のようなループ処理を含む超解像処理だけでなく、ループ処理を用いない方式の超解像処理にも本発明は適用可能である。
【０１０８】
図２０は、第２実施形態における画像合成部２００１を示したブロック図である。図１における画像合成部の内部構成が異なる。まず、メモリ部１０７から画像入力端子２０１を介して複数枚のＬＲ画像が入力される。また、領域選択部１０９から出力される領域情報は領域情報入力端子２０２を介して入力される。移動量算出部１０８から出力される相対移動量は相対移動量入力端子２０３を介して入力される。
【０１０９】
そして、画像修正部２００２では、入力される領域情報に基づいて、複数枚のＬＲ画像に対して画像修正されたＬＲ’画像を生成する。具体的には、領域選択部１０９の結果、高解像度画像の生成に使用しないと判断された画像領域については、数式（２）で表される行列Ｒの対応する対角成分の値をゼロに設定した上で、領域選択後の画像Ｚを生成する。ここで言うゼロとは、ＬＲ画像上で対応する画素位置の画素値をゼロに設定するという意味の他に、後に説明する加算合成処理時の重み（寄与）をゼロにするという意味を併せ持つ。なお、数式（２）では、Ｙは劣化画像となっているが、第３実施形態ではＬＲ画像に相当する。
【０１１０】
加算合成処理部２００３は、修正されたＬＲ’画像と相対移動量であるアフィンパラメータに基づいて、全ＬＲ’画像の位置合わせを行う。そして、位置合わせが完了したＬＲ’画像に対して画像合成を行う。この合成処理では、まず、折り返し成分を含む高周波成分を全て透過する帯域の広いローパスフィルタを用いて補間処理を行い、劣化画像を再サンプリングする。再サンプリングした各画像を画像間の相対移動量を考慮しながら加算合成することで、サンプリング時の折り返し成分を打ち消した高解像度画像を生成する。ここでの合成処理では、画像修正部２００２で高解像度画像の生成に使用しない領域であると選択された画素の値の重みはゼロとして扱う。
【０１１１】
なお、画像修正部２００２では、高解像度画像の生成する領域の判定を数式（２）で示される行列Ｒを用いる代わりに図１９で示されるような重み行列を用いても良い。
【０１１２】
以上説明したように、第３実施形態によれば、画像領域毎に画像合成処理における重み付けを行うことで、繰返し計算を必要としない超解像処理においても計算コストを押さえつつ高解像度画像を得ることが可能となる。
【０１１３】
（第４実施形態）
第４実施形態では、超解像処理の元になる複数の画像の間の相対移動量を、有効動きベクトルの領域を領域入力端子２１０２を介して外部から受け付ける例について説明する。具体的には、ユーザからの指示入力に応じて類似した動きベクトルを有する領域の選択を受け付ける、
図２１には、第４実施形態の画像処理装置の構成を示したブロック図である。図１に示す画像処理装置と比較して移動量算出部の構成が異なる。また、図２２では、局所的な移動を含む車両部分を相対移動量の算出に用いる画像領域を示している。例えば図１２の動きベクトル１２０３に基づいて、類似した動きベクトルを有する領域が１つの領域となるように画像を複数の領域に分割し、ユーザから有効動きベクトルの領域の選択を受け付ける。そして、選択を受け付けると、図２２に示すような画面を表示し、受け付けた有効動きベクトルの領域を画像と合わせて表示する。このように構成することにより、結果として、高解像度画像を生成する際により多くの画像枚数が選択される領域をユーザが指定することが可能となる。
【０１１４】
基準画像１２０１では、車両が含まれる画像領域は、背景部と比較して画像全体に占める領域割合が低い。そのため、第１〜第３実施形態では、有効動きベクトルの領域として選択されず、結果として少ない画像枚数での高解像度画像の生成となっていた。しかしながら、第４実施形態では、外部（ユーザ）から指定される領域を有効動きベクトルの領域として選択するよう構成することにより、基準画像１２０１における車両のような画像領域について、より多い画像枚数にて高解像度画像を生成することが可能となる。
【０１１５】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005566199.tif 000019
【図２】
0005566199.tif 000020
【図３】
0005566199.tif 000021
【図４】
0005566199.tif 000022
【図５】
0005566199.tif 000023
【図６】
0005566199.tif 000024
【図７】
0005566199.tif 000025
【図８】
0005566199.tif 000026
【図９】
0005566199.tif 000027
【図１０】
0005566199.tif 000028
【図１１】
0005566199.tif 000029
【図１２】
0005566199.tif 000030
【図１３】
0005566199.tif 000031
【図１４】
0005566199.tif 000032
【図１５】
0005566199.tif 000033
【図１６】
0005566199.tif 000034
【図１７】
0005566199.tif 000035
【図１８】
0005566199.tif 000036
【図１９】
0005566199.tif 000037
【図２０】
0005566199.tif 000038
【図２１】
0005566199.tif 000039
【図２２】
0005566199.tif 000040