(57)【要約】【課題】  拡大後の画像の空間解像度を向上させるための技術を提供すること。【解決手段】  初期画像生成部２０２は、第１の画像を第２の画像のサイズに拡大してバッファ２０６に格納する。重み計算部２０３はこの拡大画像のエッジ強調画像を生成する。更新量計算部２０７は、バッファ２０６内の格納画像内の画素値の変化を表す値にエッジ強調画像の画素値により重み付けした評価値、格納画像を第１の画像のサイズに縮小して画質を劣化させた画像と第１の画像との差異を示す評価値、の合計を極小化する。更新量計算部２０７は、この極小化を実現する、格納画像に対する更新量を求め、加算器２０８は、求めた更新量を用いて格納画像を更新する。【選択図】  図２
2011248475.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像から、該第１の画像の解像度よりも高い解像度を有し且つ該第１の画像よりも画像サイズが大きい第２の画像を生成する画像処理装置であって、
前記第１の画像を前記第２の画像と同サイズに拡大した画像を生成し、該生成した画像を前記画像処理装置のメモリに格納する格納手段と、
前記拡大した画像におけるエッジを強調したエッジ強調画像を生成する生成手段と、
前記メモリに格納されている画像を更新する更新手段と、
前記更新手段が更新した画像を前記第２の画像として出力する手段と
を備え、
前記更新手段は、
前記メモリに格納されている格納画像における画素間の画素値の変化を表す値に対して前記エッジ強調画像を構成している各画素の画素値を用いて重み付けして計算した第１の評価値と、規定のフィルタを用いて前記格納画像を前記第１の画像と同じ画像サイズに縮小して画質を劣化させた画像と前記第１の画像との差異を示す第２の評価値と、の合計を極小化するような、前記格納画像に対する更新量を求める計算手段と、
前記更新量を用いて前記格納画像を更新する手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記第１の評価値は、
前記エッジ強調画像を構成している画素の画素値が大きいほど小さい値を取る重み値で、前記格納画像における画素間の画素値の変化の勾配を重み付けして計算される評価値と、
前記エッジ強調画像を構成している画素の画素値が大きいほど大きい値を取る重み値で、前記格納画像における画素間の画素値の変化を重み付けして計算される評価値と
の合計であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記規定のフィルタは、前記第１の画像を撮像により得る過程で該第１の画像に対して生じた画質劣化を再現するためのフィルタであることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記計算手段は、最急降下法を用いて前記更新量を求めることを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記更新手段は、前記更新を規定の回数だけ行うことで前記第２の画像を生成することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
Ｎ（Ｎ＞１）枚の同じ画像サイズの第１の画像から、該第１の画像の解像度よりも高い解像度を有し且つ該第１の画像よりも画像サイズが大きい第２の画像を生成する画像処理装置であって、
前記Ｎ枚の第１の画像のうち１つを前記第２の画像と同サイズに拡大した画像を生成し、該拡大した画像を前記画像処理装置のメモリに格納する格納手段と、
前記Ｎ枚の第１の画像のうち１つを前記第２の画像と同サイズに拡大した画像を生成し、該拡大した画像におけるエッジを強調したエッジ強調画像を生成する生成手段と、
前記メモリに格納されている画像を更新する更新手段と、
前記更新手段が更新した画像を前記第２の画像として出力する手段と
を備え、
前記更新手段は、
前記メモリに格納されている格納画像における画素間の画素値の変化を表す値に対して前記エッジ強調画像を構成している各画素の画素値を用いて重み付けして計算した第１の評価値と、前記Ｎ枚の第１の画像のそれぞれに対する規定のフィルタを用いて前記格納画像を前記第１の画像と同じ画像サイズに縮小して画質を劣化させたＮ枚の画像と前記Ｎ枚の第１の画像との差異を示す第２の評価値と、の合計を極小化するような、前記格納画像に対する更新量を求める計算手段と、
前記更新量を用いて前記格納画像を更新する手段と
を備えることを特徴とする画像処理装置。
【請求項７】
第１の画像から、該第１の画像の解像度よりも高い解像度を有し且つ該第１の画像よりも画像サイズが大きい第２の画像を生成する画像処理装置が行う画像処理方法であって、
前記画像処理装置の格納手段が、前記第１の画像を前記第２の画像と同サイズに拡大した画像を生成し、該生成した画像を前記画像処理装置のメモリに格納する格納工程と、
前記画像処理装置の生成手段が、前記拡大した画像におけるエッジを強調したエッジ強調画像を生成する生成工程と、
前記画像処理装置の更新手段が、前記メモリに格納されている画像を更新する更新工程と、
前記画像処理装置の出力手段が、前記更新工程で更新した画像を前記第２の画像として出力する工程と
を備え、
前記更新工程は、
前記メモリに格納されている格納画像における画素間の画素値の変化を表す値に対して前記エッジ強調画像を構成している各画素の画素値を用いて重み付けして計算した第１の評価値と、規定のフィルタを用いて前記格納画像を前記第１の画像と同じ画像サイズに縮小して画質を劣化させた画像と前記第１の画像との差異を示す第２の評価値と、の合計を極小化するような、前記格納画像に対する更新量を求める計算工程と、
前記更新量を用いて前記格納画像を更新する工程と
を備えることを特徴とする画像処理方法。
【請求項８】
Ｎ（Ｎ＞１）枚の同じ画像サイズの第１の画像から、該第１の画像の解像度よりも高い解像度を有し且つ該第１の画像よりも画像サイズが大きい第２の画像を生成する画像処理装置が行う画像処理方法であって、
前記画像処理装置の格納手段が、前記Ｎ枚の第１の画像のうち１つを前記第２の画像と同サイズに拡大した画像を生成し、該拡大した画像を前記画像処理装置のメモリに格納する格納工程と、
前記画像処理装置の生成手段が、前記Ｎ枚の第１の画像のうち１つを前記第２の画像と同サイズに拡大した画像を生成し、該拡大した画像におけるエッジを強調したエッジ強調画像を生成する生成工程と、
前記画像処理装置の更新手段が、前記メモリに格納されている画像を更新する更新工程と、
前記画像処理装置の出力手段が、前記更新工程で更新した画像を前記第２の画像として出力する工程と
を備え、
前記更新工程は、
前記メモリに格納されている格納画像における画素間の画素値の変化を表す値に対して前記エッジ強調画像を構成している各画素の画素値を用いて重み付けして計算した第１の評価値と、前記Ｎ枚の第１の画像のそれぞれに対する規定のフィルタを用いて前記格納画像を前記第１の画像と同じ画像サイズに縮小して画質を劣化させたＮ枚の画像と前記Ｎ枚の第１の画像との差異を示す第２の評価値と、の合計を極小化するような、前記格納画像に対する更新量を求める計算工程と、
前記更新量を用いて前記格納画像を更新する工程と
を備えることを特徴とする画像処理方法。
【請求項９】
コンピュータを、請求項１乃至６の何れか１項に記載の画像処理装置が有する各手段として機能させるためのコンピュータプログラム。
【請求項１０】
請求項９に記載のコンピュータプログラムを格納した、コンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画質向上に係る技術に関するものである。
【背景技術】
【０００２】
コンピュータ、デジタルカメラ、ディスプレイなどの画像データを取り扱う機器において、画像の拡大は頻繁に行われる操作である。画像の拡大においては、拡大方法が問題となり、方法によって拡大後の画像の画質は異なったものになる。代表的なものとしては、nearest neighbor法、bi-linear法、bi-cubic法などがあげられる。
【０００３】
このような方法で拡大した画像は、画素数こそ増えるが、空間解像度は変化しないため、ボケた印象の画像になってしまう。これに対し、画像データ取得時の過程に関する情報を活用して画像推定を行うことで、空間解像度を向上させることができる。
【０００４】
非特許文献1では、ＭＡＰ(Maximum  A  Posterior)推定に基づく方法により高解像度画像を生成している。ＭＡＰ法とは、与えられた低解像度画像に対して、事後確率を最大化する、すなわち最も確率的に確からしい高解像度画像を求める方法である。事後確率は、条件付け確率（高解像度画像に画像データ取得時の過程を作用させた時に、与えられた低解像度画像が得られる確率）と、事前確率（この高解像度画像が出現する確率）を乗算したものに比例したものである。これを最大化する最適化問題を解くことで高解像度画像の推定を行う。非特許文献1では、画像が滑らかであるという想定で事前確率を設定する方法が記載されている。
【０００５】
一方、非特許文献2では、画像データ取得時の過程に関する情報を活用しながら、高解像度画像の画素値変動の総和が小さくなるように、高解像度画像を推定する方法が提案されている。この方法は、MAP法において、画像がステップ状であるという想定で事前確率を設定した場合と等価な働きをする。また、同じく非特許文献2において、画像を骨格とテクスチャに分解し、骨格画像に対しては上述の方法を適用し、テクスチャに対してはフィルタによる解像度変換を適用し、それぞれの処理後に合成するという方法が提案されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Sung C. P., Min K. P. ,”Super-Resolution Image Reconstruction: A Technical Overview”, 米国 IEEE Signal Proc. Magazine, 第26巻, 第3号, p.21-36，2003年
【非特許文献２】齊藤 隆弘，“サンプリング定理の壁を打ち破る 1枚の画像からの超解像度オーバーサンプリング”，映像情報メディア学会誌 Vol.62, No.2, pp.181〜189 (2008)
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献1で提案されている方法では、エッジ部にリンギングを生じさせ、正しくエッジを再現できないという問題がある。これに対して、非特許文献2で提案されている画像をステップ状であると想定して画像推定を行う方法は、エッジは正しく再現できるが、エッジでない部分までエッジ状にしてしまい、画像が不自然になるという問題がある。また、非特許文献2で提案される画像分解を用いる方法は、画像が不自然になるのを回避しながらエッジを正しく再現することができるが、テクスチャに対しては空間解像度の向上ができないという問題がある。
【０００８】
本発明は以上の問題に鑑みてなされたものであり、拡大後の画像の空間解像度を向上させるための技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。即ち、第１の画像から、該第１の画像の解像度よりも高い解像度を有し且つ該第１の画像よりも画像サイズが大きい第２の画像を生成する画像処理装置であって、
前記第１の画像を前記第２の画像と同サイズに拡大した画像を生成し、該生成した画像を前記画像処理装置のメモリに格納する格納手段と、
前記拡大した画像におけるエッジを強調したエッジ強調画像を生成する生成手段と、
前記メモリに格納されている画像を更新する更新手段と、
前記更新手段が更新した画像を前記第２の画像として出力する手段と
を備え、
前記更新手段は、
前記メモリに格納されている格納画像における画素間の画素値の変化を表す値に対して前記エッジ強調画像を構成している各画素の画素値を用いて重み付けして計算した第１の評価値と、規定のフィルタを用いて前記格納画像を前記第１の画像と同じ画像サイズに縮小して画質を劣化させた画像と前記第１の画像との差異を示す第２の評価値と、の合計を極小化するような、前記格納画像に対する更新量を求める計算手段と、
前記更新量を用いて前記格納画像を更新する手段と
を備えることを特徴とする。
【発明の効果】
【００１０】
本発明の構成によれば、拡大後の画像の空間解像度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】画像処理装置の機能構成例を示すブロック図。
【図２】画像推定部１０２の機能構成例を示すブロック図。
【図３】ベクトル及び行列のサイズを示す図。
【図４】画像推定部１０２が行う処理のフローチャート。
【図５】ステップＳ４０３における処理のフローチャート。
【図６】画像処理装置の機能構成例を示すブロック図。
【図７】画像推定部６０２の機能構成例を示すブロック図。
【図８】ベクトル及び行列のサイズを示す図。
【図９】移動量算出部６０３及び画像推定部６０２が行う処理のフローチャート。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１３】
［第１の実施形態］
＜画像処理装置の機能構成例について＞
先ず、本実施形態に係る画像処理装置の機能構成例について、図１のブロック図を用いて説明する。画像入力部１０１には入力画像（第１の画像）が入力されるので、画像入力部１０１はこの入力画像を後段の画像推定部１０２に出力する。
【００１４】
画像推定部１０２は、この入力画像から、入力画像の解像度よりも高い解像度を有し且つ入力画像よりも画像サイズが大きい画像（第２の画像）を生成する。第２の画像を生成するためには画像推定処理を行うのであるが、この画像推定処理については以下に詳しく説明する。
【００１５】
画像推定部１０２は画像推定処理によって生成した画像を後段の画像出力部１０３に送出するので、画像出力部１０３はこの画像を送出する。送出先は特に限定するものではなく、ネットワークを介して外部の装置に送信しても良いし、ＣＲＴや液晶画面などにより構成されている画像表示装置に対して出力しても良い。
【００１６】
＜画像推定部１０２の機能構成例について＞
画像推定部１０２の機能構成例について、図２のブロック図を用いて説明する。本実施形態では、画像入力部１０１を介して画像推定部１０２に入力される画像をLR画像(Low Resolution画像)と呼称する。また、画像推定部１０２がこのＬＲ画像から生成し、画像出力部１０３に対して送出する画像を、HR画像(High Resolution画像)と呼称する。また、LR画像の画像サイズをW（横画素数）×H（縦画素数）とする。また、上記の通り、ＨＲ画像はＬＲ画像を拡大した画像であり、横方向の拡大倍率をｓ＿ｘ、縦方向の拡大倍率をｓ＿ｙとするので、ＨＲ画像の画像サイズはｓ＿ｘ×Ｗ（横画素数）×ｓ＿ｙ×Ｈ（縦画素数）となる。
【００１７】
画像推定部１０２に入力されたＬＲ画像はバッファ２０４に格納されると共に、初期画像生成部２０２及び重み計算部２０３に入力される。初期画像生成部２０２は、bi-cubicやキュービック補間等の補間方法を用いて、ＬＲ画像をＨＲ画像と同サイズに拡大した画像を生成する。そして初期画像生成部２０２は、この生成した画像を中間ＨＲ画像（格納画像）としてバッファ２０６に格納する。
【００１８】
重み計算部２０３は、bi-cubicやキュービック補間等の補間方法を用いて、ＬＲ画像をＨＲ画像と同サイズに拡大した画像を生成する。そして重み計算部２０３は、この生成した画像を構成する各画素がエッジを構成しているか非エッジを構成しているかを示す値を画素値とする画像を生成し、この画像に対してローパスフィルタ処理等の処理を行うことで、エッジ強調画像を生成する。このエッジ強調画像について詳しくは後述するが、以下では、このエッジ強調画像を構成する各画素の画素値は０〜１に正規化されているものとして説明する。そして重み計算部２０３は、この生成したエッジ強調画像から算出される後述の重み値（αｍ、ｎ、βｍ、ｎ）をバッファ２０５に格納する。
【００１９】
劣化モデルメモリ２０１には、ＬＲ画像を撮像等により得る過程でこのＬＲ画像に対して生じた画質劣化を再現するための規定のフィルタとしてのマトリクスのデータが「劣化モデル」として格納されている。この劣化モデルについて詳しくは後述する。
【００２０】
更新量計算部２０７は、劣化モデルメモリ２０１から読み出した劣化モデル、バッファ２０５から読み出した重み値、バッファ２０４から読み出したＬＲ画像、バッファ２０６から読み出した中間ＨＲ画像、を用いて、この中間ＨＲ画像の更新量を計算する。この更新量は、バッファ２０６に格納されている中間ＨＲ画像の縦横の画素数と同じ縦横の要素数を有するマトリクスとして表現され、マトリクス中の位置Ｐに格納されている更新量は、中間ＨＲ画像中の位置Ｐに対して加えられる更新量である。
【００２１】
加算器２０８は、更新量計算部２０７が求めた更新量が示すマトリクスに登録されているそれぞれの更新量を、バッファ２０６に格納されている中間ＨＲ画像の対応する画素位置における画素の画素値に対して加算することで、新たな中間ＨＲ画像を生成する。
【００２２】
セレクタ２０９は、更新量計算部２０７、加算器２０８による中間ＨＲ画像の更新処理を完了させるか否かを判断する。そして、完了させると判断した場合には、加算器２０８が生成した新たな中間ＨＲ画像を、ＨＲ画像として画像出力部１０３に送出する。一方、完了させないと判断した場合には、加算器２０８が生成した新たな中間ＨＲ画像を、既にバッファ２０６に格納されている中間ＨＲ画像に上書きして格納する。即ち、バッファ２０６に格納されている中間ＨＲ画像を更新する。
【００２３】
＜劣化モデルについて＞
次に、劣化モデルメモリ２０１に格納されている劣化モデルについて説明する。デジタルカメラなどの撮像装置を用いて１枚の画像を撮像する過程で生じる画質劣化を、撮像装置の点広がり関数(PSF)と、センサ画素数の制限による劣化過程であるダウンサンプリングと、で表現する。これによれば、ＬＲ画像をｙ、ＨＲ画像をｘ、とすると、ｘとｙとの関係は以下の式（１）で表すことができる。
【００２４】
【数１】
2011248475.tif 000003
【００２５】
この式（１）においてBはPSFによる劣化を表す正方行列である。Dはダウンサンプリングによる画像縮小の倍率を反映した行列である。以下では、行列Ｄと行列Ｂの積ＤＢを劣化モデルとして扱う。即ち、劣化モデルとは、行列Ｂ、Ｄでモデル化された劣化過程を示すものである。然るに、本実施形態では、ＬＲ画像を撮像した撮像装置の撮像特性の光学特性やセンサ特性などを考慮して行列Bを設定する。
【００２６】
行列B、DのサイズはＬＲ画像の画像サイズ、ＨＲ画像の画像サイズ、に依存している。ＬＲ画像の画像サイズを上記の通りＷ×Ｈ、ＨＲ画像の画像サイズを上記の通り（ｓ＿ｘ×Ｗ）×（ｓ＿ｙ×Ｈ）、ダウンサンプリングによる画像縮小率を横方向１／ｓ＿ｘ、縦方向１／ｓ＿ｙとすると、行列Ｂ、Ｄは図３に示す如くのサイズとなる。
【００２７】
ＬＲ画像を表すｙはベクトル記述として扱うため、その行列サイズは（Ｈ×Ｗ）×１となる。ＨＲ画像を表すｘはベクトル記述として扱うため、その行列サイズは｛（ｓ＿ｘ×Ｗ）×（ｓ＿ｙ×Ｈ）｝×１となる。然るに、行列Ｄの行列サイズは（Ｈ×Ｗ）×｛（ｓ＿ｘ×Ｗ）×（ｓ＿ｙ×Ｈ）｝となり、行列Ｂの行列サイズは｛（ｓ＿ｘ×Ｗ）×（ｓ＿ｙ×Ｈ）｝×｛（ｓ＿ｘ×Ｗ）×（ｓ＿ｙ×Ｈ）｝となる。
【００２８】
＜画像推定部１０２による画像推定処理について＞
次に、画像推定部１０２による画像推定処理について説明する。本実施形態では、非特許文献１に開示されているMAP推定法をベースにして画像推定処理を行う。より詳しくは、以下の式（２）を用いて画像推定処理を行う。
【００２９】
【数２】
2011248475.tif 000004
【００３０】
ここで、ｘは中間ＨＲ画像、ｙはＬＲ画像、ｘ’はこの中間ＨＲ画像を複数回更新して得られるＨＲ画像を示しており、ｘ、ｙ、ｘ’の何れも列ベクトルである。式（３）に、中間ＨＲ画像を表す列ベクトルを示す。
【００３１】
【数３】
2011248475.tif 000005
【００３２】
この列ベクトルは、中間ＨＲ画像中の各画素位置（ｍ、ｎ）における画素の画素値ｘｍ、ｎを、（ｍ，ｎ）が次のような順になるよう並べることで構成したベクトルである。即ち、（０，１），（０，２），（０．３）…（１，１），（１，２），（１．３）…（２，１），（２，２），（２．３）…である。このように、以下ではvec(ｓ)は、画像ｓを列ベクトル化したものを示しているものとする。
【００３３】
式（２）においてargmin［］内の第１項は、中間ＨＲ画像ｘに劣化モデル（Ｄ・Ｂ）を適用させて生成した画像とＬＲ画像ｙとの差分（差異）が小さいほどより小さい値を取る評価値であり、条件付け確率に対応する。σはＬＲ画像ｙのノイズ量の標準偏差である。
【００３４】
式（２）においてargmin［］内の第２項は、「中間ＨＲ画像ｘ内の画素間の画素値の変化の勾配が滑らか」であるほどより小さい値を取る評価値であり、非エッジの事前確率に対応する。∇2ｘｍ、ｎは中間ＨＲ画像ｘの二次微分に相当し、以下の式(4)によって計算することができる。
【００３５】
【数４】
2011248475.tif 000006
【００３６】
この二次微分∇2ｘｍ、ｎに対する重み値としてのαｍ、ｎは、∇2ｘｍ、ｎの寄与を画素位置ごとに重みづけするための係数である。
【００３７】
式（２）においてargmin［］内の第３項は、「中間ＨＲ画像ｘ内の画素間の画素値の変化が小さい」ほどより小さい値を取る評価値であり、エッジの事前確率に対応する。|∇ｘｍ、ｎ|は中間ＨＲ画像ｘにおける画素値の勾配の絶対値に相当し、式(5)によって計算することができる。
【００３８】
【数５】
2011248475.tif 000007
【００３９】
この|∇ｘｍ、ｎ|に対する重み値としてのβｍ、ｎは、|∇ｘｍ、ｎ|の寄与を画素位置ごとに重みづけするための係数である。αｍ、ｎ、βｍ、ｎは何れも、中間ＨＲ画像ｘにおける領域の特性に応じた処理を実現するための重み値であり、後述する方法を用いて重み計算部２０３によりＬＲ画像から計算される。
【００４０】
即ち、argmin［］内の第１項は、規定のフィルタを用いて中間ＨＲ画像をＬＲ画像と同じ画像サイズに縮小して画質を劣化させた画像とＬＲ画像との差異を示す評価値（第２の評価値）と言える。
【００４１】
また、argmin［］内の第２項及び第３項は、中間ＨＲ画像における画素間の画素値の変化を表す値に対してエッジ強調画像を構成している各画素の画素値を用いて重み付けして計算した評価値（第１の評価値）と言える。以下の式（６）は、式（2）の右辺を抽出し、評価関数として用いる数式である。
【００４２】
【数６】
2011248475.tif 000008
【００４３】
本実施形態では、この評価関数を極小化するように中間ＨＲ画像ｘを更新していくことで、ＨＲ画像を推定する。本実施形態では、この評価関数を極小化するように、最急降下法を用いて中間ＨＲ画像ｘの更新量を決定し、決定した更新量でもって中間ＨＲ画像ｘを更新する。なお、この極小化には最急降下法以外の方法を用いても良い。
【００４４】
＜画像推定部１０２が行う処理について＞
次に、画像推定部１０２が行う処理について、同処理のフローチャートを示す図４を用いて説明する。先ず、ステップＳ４０１では、画像推定部１０２は、画像入力部１０１からＬＲ画像を取得する。上記の通り、このＬＲ画像は、初期画像生成部２０２、バッファ２０４、重み計算部２０３に入力される。
【００４５】
ステップＳ４０２では初期画像生成部２０２は、このＬＲ画像を縦方向にｓ＿ｙ倍、横方向にｓ＿ｘ倍だけ拡大した画像（ＨＲ画像と同サイズの画像）を生成し、生成した画像（初期ＨＲ画像）を中間ＨＲ画像としてバッファ２０６に格納する。上記の通り、この拡大処理は、bi-cubicやキュービック補間等の補間方法を用いて行う。
【００４６】
ステップＳ４０３では重み計算部２０３は、ＬＲ画像から上記重み値αｍ、ｎ、βｍ、ｎを計算し、計算した重み値αｍ、ｎ、βｍ、ｎをバッファ２０５に格納する。それぞれの重み値の計算方法について詳しくは後述する。
【００４７】
ステップＳ４０４では更新量計算部２０７は、バッファ２０６に格納されている中間ＨＲ画像に対する更新量を求める。この更新量は上記の通り、劣化モデルメモリ２０１から読み出した劣化モデル、バッファ２０５から読み出した重み値、バッファ２０４から読み出したＬＲ画像、バッファ２０６から読み出した中間ＨＲ画像、を用いて、評価関数を極小化するように求める。より具体的には、以下の式（７）で計算される画像と、式（８）によって画素位置（ｍ、ｎ）の画素値が定義される画像と、式（９）によって画素位置（ｍ、ｎ）の画素値が定義される画像と、を合成した画像（合成画像）を、求めるべき更新量とする。
【００４８】
【数７】
2011248475.tif 000009
【００４９】
【数８】
2011248475.tif 000010
【００５０】
【数９】
2011248475.tif 000011
【００５１】
式（７）は、中間ＨＲ画像ｘに劣化モデル（Ｄ・Ｂ）を適用させて生成した画像とＬＲ画像ｙとの差分と、ＬＲ画像ｙのノイズ量の標準偏差σと、劣化モデル（Ｄ・Ｂ）とを用いて求めることができる。式（８）は、重み値αｍ、ｎと、中間ＨＲ画像ｘの二次微分に相当する∇2ｘｍ、ｎと、を用いて求めることができる。式（９）は、中間ＨＲ画像ｘと、重み値βｍ、ｎと、を用いて求めることができる。このようにして求める合成画像中の各画素位置における画素値は、中間ＨＲ画像ｘ中の対応する画素位置における更新量となる。
【００５２】
ステップＳ４０５では加算器２０８は、以下の式（１０）を計算することで、バッファ２０６に格納されている中間ＨＲ画像ｘを更新する。
【００５３】
【数１０】
2011248475.tif 000012
【００５４】
即ち、式（７）で計算される画像中の画素位置（ｍ、ｎ）の画素値、式（８）で計算される画素位置（ｍ、ｎ）の画素値、式（９）で計算される画素位置（ｍ、ｎ）の画素値、の合計値に係数εを乗じた値を、中間ＨＲ画像ｘ中の画素位置（ｍ、ｎ）に加える。係数εは更新の幅であり、値が大きいと収束に早く近づくが、大き過ぎると誤差が大きくなったり、発散したりしてしまう。これを全ての画素位置について行うことで、中間ＨＲ画像ｘを更新し、更新後の画像ｘ’を得る。式（１０）では、更新前の中間ＨＲ画像ｘをｘ（ｔ）（ｔ回目に更新した中間ＨＲ画像ｘ）、更新後の中間ＨＲ画像ｘをｘ（ｔ＋１）と表記している。
【００５５】
ステップＳ４０６ではセレクタ２０９は、更新量計算部２０７、加算器２０８による中間ＨＲ画像の更新処理を完了させるか否かを判断する。そして、完了させると判断した場合には、処理はステップＳ４０７に進む。ステップＳ４０７ではセレクタ２０９は、加算器２０８がステップＳ４０５で生成した中間ＨＲ画像を、ＨＲ画像として画像出力部１０３に送出する。
【００５６】
一方、完了させないと判断した場合、セレクタ２０９は、加算器２０８がステップＳ４０５で生成した中間ＨＲ画像を、バッファ２０６に格納されている中間ＨＲ画像に上書きして格納する。そして処理はステップＳ４０４に戻る。
【００５７】
本実施形態では、更新量計算部２０７、加算器２０８による中間ＨＲ画像の更新処理の回数を予め規定しておき、この規定の回数だけ更新処理を行えば、この更新処理を完了すると判断する。しかし、この判断基準については、更新処理に要する時間が規定時間を超えたか否かなど様々なものが考えられ、何れかに限定するものではない。
【００５８】
＜重み値αｍ、ｎ、βｍ、ｎの計算について＞
次に、重み計算部２０３が重み値αｍ、ｎ、βｍ、ｎを求めるために行う処理（ステップＳ４０３）について、同処理のフローチャートを示す図５を用いて説明する。
【００５９】
ステップＳ５０１では重み計算部２０３は、bi-cubicやキュービック補間等の補間方法を用いて、ＬＲ画像をＨＲ画像と同サイズに拡大した画像（拡大画像）を生成する。ステップＳ５０２では重み計算部２０３は、この拡大画像のエッジを強調したエッジ強調画像を生成する。このエッジ強調画像は周知の通り、拡大画像中の画素位置Ｐにおける画素がエッジを構成しているか非エッジを構成しているかを示す値を、エッジ強調画像における画素位置Ｐの画素値とする画像である。
【００６０】
このエッジ強調画像には拡大画像の微分画像を用いても良いし、Sobel法、Prewitt法、Robert法、ゼロクロス法、Canny法等の方法を用いて拡大画像から生成した画像を用いても良い。
【００６１】
ステップＳ５０３では重み計算部２０３は、エッジ強調画像に対して、ガウシアンフィルタなどのLPF(Low Pass Filter)を用いたローパスフィルタ処理を行うことで、フィルタ処理済みエッジ強調画像を生成する。
【００６２】
ステップＳ５０４では重み計算部２０３は、フィルタ処理済みエッジ強調画像中の各画素の画素値を参照し、閾値１以上の画素値、閾値２（＜閾値１）以下の画素値をクロップする等、エッジ領域を明確にするための強度調整を行う。
【００６３】
ステップＳ５０５では重み計算部２０３は、ステップＳ５０４で強度調整済みのフィルタ処理済みエッジ強調画像を構成する各画素の画素値を０〜１に正規化する。正規化範囲については特に限定するものではない。
【００６４】
そして、ステップＳ５０５で正規化された強度調整済みのフィルタ処理済みエッジ強調画像中の画素位置（ｍ、ｎ）における画素値を重み値βｍ、ｎとする。また、重み値αｍ、ｎ＝１−βｍ、ｎとする。そして重み計算部２０３は、このようにして計算した重み値αｍ、ｎ、βｍ、ｎをバッファ２０５に格納する。
【００６５】
以上の説明により、本実施形態によれば、エッジ領域と非エッジ領域に適応的に事前確率を設定し、MAP法により画像推定を行うことで、エッジが先鋭かつテクスチャが自然なＨＲ画像（高解像度画像）を生成することができる。
【００６６】
なお、本実施形態では、バッファ２０４〜２０６を設け、それぞれのバッファは異なる情報の保存用に用いた。しかし、バッファ２０４〜２０６の代わりに１つのバッファを設け、この１つバッファ内に、バッファ２０４〜２０６のそれぞれに格納するものとして説明した情報を格納するようにしても良い。即ち、バッファの数は３に限定するものではない。
【００６７】
［第２の実施形態］
第１の実施形態では、１枚のＬＲ画像から１枚のＨＲ画像を生成した。本実施形態では、複数枚のＬＲ画像から１枚のＨＲ画像を生成する。なお、以下では、第１の実施形態と異なる部分について説明を行う。
【００６８】
＜画像処理装置の機能構成例について＞
本実施形態に係る画像処理装置の機能構成例について、図６のブロック図を用いて説明する。図６において、図１と同じ構成用件には同じ参照番号を付けており、その説明は省略する。
【００６９】
図６の構成は、図１の構成に対して、画像入力部１０１からの入力画像を格納するためのバッファ６０１と、バッファ６０１内の複数枚の入力画像を用いて、画像間の位置ずれ量（移動量）を算出するための移動量算出部６０３と、を加えた構成となっている。更に、図６の構成では、画像推定部１０２を、複数枚の入力画像を用いて１枚のＨＲ画像を生成する画像推定部６０２に置き換えている。
【００７０】
このような構成により、複数枚の入力画像に対して位置ずれ量を考慮した画像推定を行うことができる。すなわち、1枚の入力画像からでは再現できない高周波成分を、複数枚の入力画像の位置ずれ画素から補うことで、生成画像の解像感を向上させることができる。
【００７１】
＜画像推定部６０２の機能構成例について＞
画像推定部６０２の機能構成例について、図７のブロック図を用いて説明する。図７において図２と同じ構成用件については同じ参照番号を付けており、その説明は省略する。
【００７２】
本実施形態では、画像入力部１０１を介して入力されたＬＲ画像はバッファ６０１に格納されるのであるが、画像推定部６０２は、バッファ６０１に格納されているＮ（Ｎ＞１）枚のＬＲ画像を読み出し、バッファ７０３に格納する。もちろん、このＮ枚のＬＲ画像の何れも同じ画像サイズを有するものとする。
【００７３】
初期画像生成部２０２は、バッファ７０３に最初に格納されたＬＲ画像を読み出し、読み出したＬＲ画像から第１の実施形態と同様にして初期ＨＲ画像を生成し、生成した初期ＨＲ画像を中間ＨＲ画像としてバッファ２０６に格納する。
【００７４】
重み計算部２０３は、バッファ７０３に最初に格納されたＬＲ画像を読み出し、読み出したＬＲ画像から第１の実施形態と同様にして重み値αｍ、ｎ、βｍ、ｎを計算する。そして重み計算部２０３は、計算した重み値αｍ、ｎ、βｍ、ｎをバッファ２０５に格納する。
【００７５】
なお、初期画像生成部２０２、重み計算部２０３に入力されるＬＲ画像は、バッファ７０３に最初に格納されたＬＲ画像でなくても良く、他の基準で選択されたＬＲ画像であっても良い。更に、複数枚のＬＲ画像を位置合わせして合成した合成画像をＬＲ画像として初期画像生成部２０２、重み計算部２０３に入力しても良い。
【００７６】
劣化モデル生成部７０１は、移動量算出部６０３によって算出された移動量を用いて、第１の実施形態で説明したような劣化モデルを生成する。移動量算出部６０３は、ＬＲ画像毎に画像間の移動量を算出するため、ＬＲ画像がＮ枚であれば、移動量もＮ個求まることになり、その結果、劣化モデルもＮ個生成されることになる。そして劣化モデル生成部７０１は、生成したＮ個の劣化モデルをバッファ７０２に格納する。移動量算出部６０３、劣化モデル生成部７０１の動作について、詳しくは後述する。
【００７７】
更新量計算部７０４は、バッファ７０２内の劣化モデル、バッファ２０５内の重み値、バッファ７０３内のＬＲ画像、バッファ２０６内の中間ＨＲ画像を用いて、この中間ＨＲ画像に対する更新量を求める。更新量計算部７０４の動作について、詳しくは後述する。
【００７８】
＜劣化モデルについて＞
次に、劣化モデル生成部７０１が生成する劣化モデルについて説明する。デジタルカメラなどの撮像装置を用いて１枚の画像を撮像する過程で生じる画質劣化を、撮像装置の点広がり関数(PSF)と、センサ画素数の制限による劣化過程であるダウンサンプリングと、画像間の位置ずれと、で表現する。これによれば、ＬＲ画像をｙ、ＨＲ画像をｘ、とすると、ｘとｙとの関係は以下の式（１１）で表すことができる。
【００７９】
【数１１】
2011248475.tif 000013
【００８０】
この式（１１）においてＭは画像間の位置ずれを表す行列である。式（１１）に登場する列ベクトル、行列のサイズを図８に示す。ｙ、Ｄ、Ｂ、ｘについては第１の実施形態と同じである。行列Ｍは、（Ｈ×ｓ＿ｙ）×（Ｗ×ｓ＿ｘ）行（Ｈ×ｓ＿ｙ）×（Ｗ×ｓ＿ｘ）列の行列である。以下では、行列Ｄ、行列Ｂ、秒列Ｍの積であるＤＢＭのデータを劣化モデルとして扱う。即ち、本実施形態では劣化モデルとは、行列ＤＢＭでモデル化された劣化過程を示すものである。
【００８１】
移動量算出部６０３は、バッファ６０１に格納されているＮ枚のＬＲ画像を読み出し、そのうちの１枚を基準ＬＲ画像とする。そして移動量算出部６０３は、Ｎ枚のＬＲ画像のうちｋ（ｋ＝１，…，Ｎ）番目のＬＲ画像と基準ＬＲ画像との相対移動量を求める。相対移動量は、輝度差の総和や輝度差の2乗和を、ｋ番目のＬＲ画像と基準ＬＲ画像との相対位置を変えながら計算し、2次関数でフィッティングして値が最小になる位置を求めることで算出する。なお、画像間における移動量の求め方については様々な方法があり、何れの方法を用いても良い。
【００８２】
行列Ｍのｎ行ｍ列目の要素は、ＨＲ画像を表す列ベクトルｘのｍ番目の要素（画素値）が、位置ずれを作用させたＨＲ画像を表す列ベクトルｘｓのｎ番目の要素にどの程度寄与するかを表している。すなわち、相対移動量が整数画素ならその値は1になり、非整数画素ならbi-linearやbi-cubicなど適当な方法で補間した値となる。劣化モデル生成部７０１はこのようにして行列Mを構成する。ｋ＝１〜Ｎについて行列Ｍを求めると、行列ＭはＬＲ画像の枚数分、即ちＮ個求まることになる。
【００８３】
＜画像推定部６０２による画像推定処理について＞
第１の実施形態では、１枚のＨＲ画像を生成するために用いるＬＲ画像は１枚であり、劣化モデルの数も１であった。本実施形態では、１枚のＨＲ画像を生成するために用いるＬＲ画像はＮ枚であり、劣化モデルの数もＮ個である。第１の実施形態では、式（２）に従って画像推定処理を行うことでＨＲ画像を生成したが、本実施形態では、式（２）の第１項をＮ枚のＬＲ画像に対応させて変形した以下の式（１２）に従って画像推定処理を行う。
【００８４】
【数１２】
2011248475.tif 000014
【００８５】
ｙｋはＮ枚のＬＲ画像のうちのｋ番目のＬＲ画像であり、ＤＢＭｋは、ｋ番目のＬＲ画像に対して求めた行列Ｍを行列Ｄ、Ｂに掛け合わせたもので、ｋ番目の劣化モデルである。然るに、本実施形態では、以下の式（１３）に示す評価関数を極小化するように、最急降下法を用いてＨＲ画像を生成する。
【００８６】
【数１３】
2011248475.tif 000015
【００８７】
＜移動量算出部６０３及び画像推定部６０２が行う処理について＞
次に、移動量算出部６０３及び画像推定部６０２が行う処理について、同処理のフローチャートを示す図９を用いて説明する。先ず、ステップＳ９０１では画像推定部６０２は、画像入力部１０１からＮ枚のＬＲ画像を取得し、このＮ枚のＬＲ画像をバッファ７０３に格納する。
【００８８】
ステップＳ９０２では移動量算出部６０３は、バッファ６０１に格納されているＮ枚のＬＲ画像のそれぞれについて移動量を求める。求めたＮ個の移動量は、劣化モデル生成部７０１に入力される。ステップＳ９０３では劣化モデル生成部７０１は、Ｎ個の移動量を用いてＮ個の行列Ｍを求める。そして劣化モデル生成部７０１は、ｋ＝１〜ＮについてＤＢＭｋを求め、求めたＤＢＭｋをバッファ７０２に格納する。
【００８９】
ステップＳ９０４では初期画像生成部２０２は、バッファ７０３に格納されているＮ枚のＬＲ画像のうち１つを選択する。そして初期画像生成部２０２は、この選択したＬＲ画像を縦方向にｓ＿ｙ倍、横方向にｓ＿ｘ倍だけ拡大した画像（ＨＲ画像と同サイズの画像）を生成し、生成した画像（初期ＨＲ画像）を中間ＨＲ画像としてバッファ２０６に格納する。上記の通り、この拡大処理は、bi-cubicやキュービック補間等の補間方法を用いて行う。
【００９０】
ステップＳ９０５では重み計算部２０３は、バッファ７０３に格納されているＮ枚のＬＲ画像のうち１つを選択する。そして重み計算部２０３は、この選択したＬＲ画像から、第１の実施形態と同様にして上記重み値αｍ、ｎ、βｍ、ｎを計算し、計算した重み値αｍ、ｎ、βｍ、ｎをバッファ２０５に格納する。
【００９１】
ステップＳ９０６では更新量計算部７０４は、バッファ７０２内のＮ個の劣化モデル、バッファ２０５内の重み値、バッファ７０３内のＮ枚のＬＲ画像、バッファ２０６内の中間ＨＲ画像、を用いてこの中間ＨＲ画像に対する更新量を求める。この更新量の求めた方は、上記式（７）の代わりに以下の式（１４）を用いること以外は、第１の実施形態と同じである。
【００９２】
【数１４】
2011248475.tif 000016
【００９３】
ステップＳ９０７では加算器２０８は、第１の実施形態と同様にして、バッファ２０６に格納されている中間ＨＲ画像ｘを更新する。ステップＳ９０８ではセレクタ２０９は、更新量計算部７０４、加算器２０８による中間ＨＲ画像の更新処理を完了させるか否かを判断する。そして、完了させると判断した場合には、処理はステップＳ９０９に進む。ステップＳ９０９ではセレクタ２０９は、加算器２０８がステップＳ９０７で生成した中間ＨＲ画像を、ＨＲ画像として画像出力部１０３に送出する。
【００９４】
一方、完了させないと判断した場合、セレクタ２０９は、加算器２０８がステップＳ９０７で生成した中間ＨＲ画像を、バッファ２０６に格納されている中間ＨＲ画像に上書きして格納する。そして処理はステップＳ９０６に戻る。
【００９５】
以上の説明により、本実施形態によれば、複数枚の入力画像を用いることで、より解像感の高い高解像度画像を得ることができる。なお、本実施形態では、バッファ２０５，２０６，７０２，７０３を設け、それぞれのバッファは異なる情報の保存用に用いた。しかし、バッファ２０５，２０６，７０２，７０３の代わりに１つのバッファを設け、この１つのバッファ内に、バッファ２０５，２０６，７０２，７０３のそれぞれに格納するものとして説明した情報を格納するようにしても良い。即ち、バッファの数は４に限定するものではない。
【００９６】
［第３の実施形態］
第１，２の実施形態では、それぞれ図１，６に示した画像処理装置内の各部は何れもハードウェアで構成されているものとして説明した。しかし、バッファを除く各部をソフトウェア（コンピュータプログラム）で実装しても良い。この場合、図１や図６に示したバッファをメモリとして有するＰＣ（パーソナルコンピュータ）やデジタルカメラ等のコンピュータに、このソフトウェアをインストールし、このコンピュータが有するＣＰＵがこのソフトウェアを実行することになる。もちろん、このメモリは、このコンピュータが読み取り可能な記憶媒体であれば、如何なる種類のメモリであっても良い。これにより、このコンピュータは、第１，２の実施形態に係る画像処理装置として機能することになる。
【００９７】
［第４の実施形態］
上記の実施形態では、エッジ強調画像の画素値をβｍ、ｎ、αｍ、ｎを（１−βｍ、ｎ）としている。しかし、エッジ強調画像の画素値が大きいほどβｍ、ｎの値が大きく、エッジ強調画像の画素値が大きいほどαｍ、ｎの値が小さくなるのであれば、他の方法を用いてαｍ、ｎ、βｍ、ｎを決定しても良い。
【００９８】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011248475.tif 000017
【図２】
2011248475.tif 000018
【図３】
2011248475.tif 000019
【図４】
2011248475.tif 000020
【図５】
2011248475.tif 000021
【図６】
2011248475.tif 000022
【図７】
2011248475.tif 000023
【図８】
2011248475.tif 000024
【図９】
2011248475.tif 000025