(57)【要約】 【課題】  低解像度画像の合成による高解像度化に伴うノイズの増大を軽減しつつ、高精細な画像を得ることが可能な技術を提供する。【解決手段】  画像処理装置は、エッジ検出部と高解像度化処理部とを備える。高解像度化処理部は、エッジ検出部によってエッジが検出された位置では合成高解像度化処理モードによる高解像度化を選択して実行し、エッジが検出されなかった位置では単純高解像度化処理モードによる高解像度化を選択して実行する。合成高解像度化処理モードにおいては、エッジ量が大きいほど参照画像以外の低解像度画像の寄与が大きくなるように、合成高解像度化処理モードの処理で用いる合成係数をエッジ量に応じて変更する。【選択図】  図２
2006222493.tif 000002
【特許請求の範囲】
【請求項１】
参照画像を含む複数の低解像度画像を用いて１枚の高解像度画像を作成する画像処理装置であって、
前記参照画像を解析することによって、前記参照画像内のエッジを検出するエッジ検出部と、
前記複数の低解像度画像に基づいて、１枚の高解像度画像を作成するための高解像度化処理を実行する高解像度化処理部と、
を備え、
前記高解像度化処理は、
前記複数の低解像度画像を合成することによって前記高解像度画像を作成する合成高解像度化処理モードと、
前記参照画像のみを用いて前記高解像度画像を作成する単純高解像度化処理モードと、を有し、
前記高解像度化処理部は、
（ｉ）前記エッジ検出部によってエッジが検出された位置では前記合成高解像度化処理モードによる高解像度化を選択して実行し、
（ｉｉ）エッジが検出されなかった位置では前記単純高解像度化処理モードによる高解像度化を選択して実行し、
前記合成高解像度化処理モードにおいて、エッジ量が大きいほど前記参照画像以外の低解像度画像の寄与が大きくなるように、前記合成高解像度化処理モードの処理で用いる合成係数をエッジ量に応じて変更する、画像処理装置。
【請求項２】
請求項１記載の画像処理装置であって、
前記合成高解像度化処理モードにおける処理は、
前記複数の低解像度画像の相対的な動き量を算出する動き量算出処理と、
前記参照画像を用いて、前記高解像度画像の推定画像である推定高解像度画像を作成する高解像度画像推定処理と、
前記参照画像又は前記推定高解像度画像を用いて、前記推定高解像度画像の低解像度版に相当する少なくとも１枚の推定低解像度画像を作成する低解像度画像推定処理と、
前記複数の低解像度画像と前記推定低解像度画像の画素値とを用いて、前記推定出力高解像度画像を更新する更新処理と、
を含み、
前記更新処理は、
各低解像度画像の画素値と、前記動き量と、前記推定低解像度画像の画素値と、を用いて、各低解像度画像と前記推定低解像度画像とを重ね合わせたときの画素値の差を表す低解像度誤差画像の画素値を、各低解像度画像毎に算出する第１の誤差画像算出処理と、
前記複数の低解像度誤差画像を合成した画像を表す１枚の高解像度誤差画像の画素値を算出する第２の誤差画像算出処理と、
前記推定出力高解像度画像の画素値に対して、前記高解像度誤差画像の画素値に前記合成係数を乗じた値を負のフィードバックとして作用させることによって、前記推定出力高解像度画像の画素値を更新する高解像度画像更新処理と、
を含む、画像処理装置。
【請求項３】
請求項１記載の画像処理装置であって、
前記合成高解像度化処理モードにおける処理は、
前記高解像度画像内の任意の対象高解像度画素の画素値を決定する際に、前記対象高解像度画素に近接する前記複数の低解像度画像内の低解像度画素である複数の近接低解像度画素の画素値を用いた補間を行うことによって、前記対象高解像度画素の画素値を算出する補間処理を含み、
前記補間処理では、前記対象高解像度画素と前記複数の近接低解像度画素との間の相対的な位置関係に応じて決まる重み係数とともに、予め前記複数の低解像度画像に対してそれぞれ設定された前記合成係数を適用した補間演算が実行される、画像処理装置。
【請求項４】
参照画像を含む複数の低解像度画像を用いて１枚の高解像度画像を作成する画像処理方法であって、
（ａ）前記参照画像を解析することによって、前記参照画像内のエッジを検出する工程と、
（ｂ）前記複数の低解像度画像に基づいて、１枚の高解像度画像を作成するための高解像度化処理を実行する工程と、
を備え、
前記高解像度化処理は、
前記複数の低解像度画像を合成することによって前記高解像度画像を作成する合成高解像度化処理モードと、
前記参照画像のみを用いて前記高解像度画像を作成する単純高解像度化処理モードと、を有し、
前記工程（ｂ）は、
（ｉ）エッジが検出された位置では前記合成高解像度化処理モードによる高解像度化を選択して実行し、
（ｉｉ）エッジが検出されなかった位置では前記単純高解像度化処理モードによる高解像度化を選択して実行する工程を含み、
前記合成高解像度化処理モードにおいて、エッジ量が大きいほど前記参照画像以外の低解像度画像の寄与が大きくなるように、前記合成高解像度化処理モードの処理で用いる合成係数をエッジ量に応じて変更する、画像処理方法。
【請求項５】
参照画像を含む複数の低解像度画像を用いて１枚の高解像度画像を作成するためのコンピュータプログラムであって、
前記参照画像を解析することによって、前記参照画像内のエッジを検出するエッジ検出機能と、
前記複数の低解像度画像に基づいて、１枚の高解像度画像を作成するための高解像度化処理を実行する高解像度化処理機能と、
をコンピュータに実現させるコンピュータプログラムを含み、
前記高解像度化処理は、
前記複数の低解像度画像を合成することによって前記高解像度画像を作成する合成高解像度化処理モードと、
前記参照画像のみを用いて前記高解像度画像を作成する単純高解像度化処理モードと、を有し、
前記高解像度化処理部機能は、
（ｉ）エッジが検出された位置では前記合成高解像度化処理モードによる高解像度化を選択して実行し、
（ｉｉ）エッジが検出されなかった位置では前記単純高解像度化処理モードによる高解像度化を選択して実行する機能を含み、
前記合成高解像度化処理モードにおいて、エッジ量が大きいほど前記参照画像以外の低解像度画像の寄与が大きくなるように、前記合成高解像度化処理モードの処理で用いる合成係数をエッジ量に応じて変更する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の低解像度画像から高解像度画像を生成する技術に関する。
【背景技術】
【０００２】
デジタルビデオカメラで撮影された動画像は、動画像の１シーンをそれぞれ表現する複数のフレーム画像を含んでいる。従来から、複数のフレーム画像を用いて、フレーム画像よりも画素の密度の高い（すなわち解像度の高い）静止画像を生成する処理が知られている（例えば、特許文献１参照）。この処理は、「高解像度化処理」又は「高精細化処理」とも呼ばれている。
【０００３】
なお、本明細書において、「精細度が高い」という文言は、単に解像度（画素密度）が高いだけでなく、画像情報量が多いことを意味する。従って、例えば単純水増し処理によって解像度を２倍にした場合には、解像度は２倍になるが、精細度は変わらない。
【０００４】
【特許文献１】特開２００４−２７２７５１号公報
【０００５】
この高解像度化処理では、複数のフレーム画像を合成することによって１枚の高解像度な画像を作成するので、より高精細な画像を得ることができる。しかし、フレーム画像内のうちで画像成分が平滑な画像領域（いわゆる低周波画像領域）では、高解像度化によって画像の精細度はそれほど大きく向上しない。逆に、平滑な画像領域では、高解像度化によってノイズが強調されてしまい、画質が劣化する場合もある。特に、動画はかなりのノイズを含んでいるので、複数のフレーム画像を合成することによって、平滑な画像領域のノイズが増大してしまうという問題が生じ易い傾向にある。
【０００６】
なお、このような問題は、動画像を用いて静止画像を生成する場合に限らず、一般に、複数の低解像度画像を用いて高解像度画像を生成する場合に共通する問題であった。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上記の課題を解決するためになされたものであり、低解像度画像の合成による高解像度化に伴うノイズの増大を軽減しつつ、高精細な画像を得ることが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明による画像処理装置は、
参照画像を含む複数の低解像度画像を用いて１枚の高解像度画像を作成する画像処理装置であって、
前記参照画像を解析することによって、前記参照画像内のエッジを検出するエッジ検出部と、
前記複数の低解像度画像に基づいて、１枚の高解像度画像を作成するための高解像度化処理を実行する高解像度化処理部と、
を備え、
前記高解像度化処理は、
前記複数の低解像度画像を合成することによって前記高解像度画像を作成する合成高解像度化処理モードと、
前記参照画像のみを用いて前記高解像度画像を作成する単純高解像度化処理モードと、を有し、
前記高解像度化処理部は、
（ｉ）前記エッジ検出部によってエッジが検出された位置では前記合成高解像度化処理モードによる高解像度化を選択して実行し、
（ｉｉ）エッジが検出されなかった位置では前記単純高解像度化処理モードによる高解像度化を選択して実行し、
前記合成高解像度化処理モードにおいて、エッジ量が大きいほど前記参照画像以外の低解像度画像の寄与が大きくなるように、前記合成高解像度化処理モードの処理で用いる合成係数をエッジ量に応じて変更する。
【０００９】
エッジのある画像部分は画素値の変化が大きいので、複数の低解像度画像を合成して高解像度画像を作成することによって、より高精細な画像を得ることができる。また、エッジが無い画像部分は、画素値の変化が少ないので、複数の低解像度画像を合成して高解像度化する場合と、参照画像のみを用いて高解像度化する場合とで、得られる高解像度画像の精細度に大きな差は生じない。また、エッジが無い画像部分にノイズが含まれていると、複数の低解像度画像を合成して高解像度化することによってノイズが強調されて却って画質が劣化してしまうおそれがある。本発明による画像処理装置は、エッジ検出の有無に応じて合成高解像度化処理モードと単純高解像度化処理モードを選択的に実行するので、低解像度画像の合成による高解像度化に伴うノイズの増大を軽減しつつ、高精細な画像を得ることができる。また、合成高解像度化処理モードにおいては、エッジ量が大きいほど参照画像以外の低解像度画像の寄与が大きくなるように合成係数をエッジ量に応じて変更するので、単純高解像度処理モードで処理された領域と、合成高解像度処理モードで処理された領域との境界部分を目立たなくすることができる。
【００１０】
前記合成高解像度化処理モードにおける処理は、
前記複数の低解像度画像の相対的な動き量を算出する動き量算出処理と、
前記参照画像を用いて、前記高解像度画像の推定画像である推定高解像度画像を作成する高解像度画像推定処理と、
前記参照画像又は前記推定高解像度画像を用いて、前記推定高解像度画像の低解像度版に相当する少なくとも１枚の推定低解像度画像を作成する低解像度画像推定処理と、
前記複数の低解像度画像と前記推定低解像度画像の画素値とを用いて、前記推定出力高解像度画像を更新する更新処理と、
を含み、
前記更新処理は、
各低解像度画像の画素値と、前記動き量と、前記推定低解像度画像の画素値と、を用いて、各低解像度画像と前記推定低解像度画像とを重ね合わせたときの画素値の差を表す低解像度誤差画像の画素値を、各低解像度画像毎に算出する第１の誤差画像算出処理と、
前記複数の低解像度誤差画像を合成した画像を表す１枚の高解像度誤差画像の画素値を算出する第２の誤差画像算出処理と、
前記推定出力高解像度画像の画素値に対して、前記高解像度誤差画像の画素値に前記合成係数を乗じた値を負のフィードバックとして作用させることによって、前記推定出力高解像度画像の画素値を更新する高解像度画像更新処理と、
を含むものとしてもよい。
【００１１】
あるいは、前記合成高解像度化処理モードにおける処理は、
前記高解像度画像内の任意の対象高解像度画素の画素値を決定する際に、前記対象高解像度画素に近接する前記複数の低解像度画像内の低解像度画素である複数の近接低解像度画素の画素値を用いた補間を行うことによって、前記対象高解像度画素の画素値を算出する補間処理を含み、
前記補間処理では、前記対象高解像度画素と前記複数の近接低解像度画素との間の相対的な位置関係に応じて決まる重み係数とともに、予め前記複数の低解像度画像に対してそれぞれ設定された前記合成係数を適用した補間演算が実行されるものとしてもよい。
【００１２】
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法および装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００１３】
次に、この発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ｂ．第２実施例：
Ｃ．第３実施例：
Ｄ．変形例：
【００１４】
Ａ．第１実施例：
Ａ−１．全体構成：
図１は、本発明の一実施例としての画像処理システムの構成を示すブロック図である。この画像処理システム８００は、プリンタ５００と、デジタルビデオカメラ３００とを有している。プリンタ５００は、データ処理部１００と、印刷実行部７００（印刷機構）と、を有している。図示は省略しているが、プリンタ５００は、画像や操作ガイダンスを表示するための表示部と、ユーザがプリンタ５００の動作を指定するための操作部と、を備えている。動画の中から高解像度化のために使用する複数のフレームを選択する操作は、これらの表示部や操作部を用いて行われる。
【００１５】
データ処理部１００は、ビデオカメラ３００から動画像を受け取り、高解像度化処理（後述）を行って高解像度画像を生成するとともに、その印刷データを生成する。印刷実行部７００は、この印刷データを受け取って印刷を行う。印刷実行部７００としては、インクジェット印刷機構や、熱転写印刷機構等の、周知の種々の印刷機構を採用することができる。
【００１６】
図２は、データ処理部１００の内部構成を示すブロック図である。データ処理部１００は、エッジ検出部４２０と、複数のラインバッファ４３０と、高解像度化処理部４４０と、印刷データ生成部４５０と、動きベクトル検出部４６０を備えている。エッジ検出部４２０と、高解像度化処理部４４０と、印刷データ生成部４５０と、動きベクトル検出部４６０の機能は、図示しないＣＰＵがコンピュータプログラムを実行することによって実現されている。従って、これらの各部を「プログラムモジュール」、あるいは、単に「モジュール」と呼ぶことも可能である。
【００１７】
本実施例では、３枚のフレーム画像Ｉｉｍｇ１〜３（以下、「入力画像」と呼ぶ）を用いて１枚の高解像度画像Ｏｉｍｇを生成し、その印刷を実行する。３枚の入力画像Ｉｉｍｇ１〜３は、動画像の中から選択されたものであり、ここでは所定の時間間隔Δｔだけ離れた３枚のフレーム画像が選択されている。但し、入力画像の枚数や時間間隔は任意に設定することが可能である。
【００１８】
３枚の入力画像Ｉｉｍｇ１〜３のうちの中央の画像Ｉｉｍｇ２は、参照入力画像Ｒｉｍｇ（「参照画像」とも呼ぶ）として利用される。後述するように、参照入力画像Ｒｉｍｇは、種々の目的のために使用される。すなわち、（ｉ）エッジ検出の対象となり、また、（ｉｉ）単純高解像度化処理の元画像として使用される。なお、参照入力画像Ｒｉｍｇとしては、複数の入力画像Ｉｉｍｇの中の任意の画像を選択することが可能である。
【００１９】
ラインバッファ４３０は、エッジ検出処理のために、参照入力画像Ｒｉｍｇの３ラインＬi-1，Ｌi，Ｌi+1（ｉはライン番号）の画像データを保持するバッファである。エッジ検出部４２０は、これらの３ライン分の画像データからエッジの有無を検出する（詳細は後述）。
【００２０】
高解像度化処理部４４０は、単純高解像度化処理部４４２と、合成高解像度化処理部４４４とを含んでいる。単純高解像度化処理部４４２は、参照入力画像Ｒｉｍｇのみを用いて高解像度化を実行する。一方、合成高解像度化処理部４４４は、３枚の入力画像Ｉｉｍｇ１〜３を合成することによって高解像度化を実行する。本明細書では、単純高解像度化処理部４４２による処理を「単純高解像度化モード」と呼び、合成高解像度化処理部４４４による処理を「合成高解像度化モード」と呼ぶ。高解像度化処理部４４０は、エッジ検出の結果に応じて、単純高解像度化モードと合成高解像度化モードとのうちの一方を選択して実行する。本実施例では、高解像度化は、処理対象となる１ラインＬi 毎に行われる。
【００２１】
高解像度化によって作成された高解像度画像Ｏｉｍｇは、印刷データ生成部４５０に供給される。印刷データ生成部４５０は、高解像度画像Ｏｉｍｇの印刷データを生成し、印刷実行部７００（図１）に供給して印刷を実行させる。
【００２２】
図３は、低解像度画像と高解像度画像の画素位置の関係の一例を示す説明図である。図３において低解像度画像の画素位置を○印で示し、高解像度画像の画素位置を×印で示す。この例では、高解像度画像の画素ピッチＰhighは、低解像度画像の画素ピッチＰlow の半分である。すなわち、高解像度画像は、低解像度画像の２倍の解像度（すなわち２倍の画素密度）を有している。また、高解像度画像の画素位置は、低解像度画像の画素位置から高解像度画素ピッチＰhighの１／２だけ水平方向及び垂直方向にずれている。
【００２３】
図３において、破線で示す枠は、各低解像度画素に対応付けられた４つの高解像度画素の範囲を示している。単純高解像度化においては、１つの低解像度画像の画素値が、この破線内の４つの高解像度画素にコピーされる。すなわち、この破線内の高解像度画素の画素値は、低解像度画素の画素値と同一に設定される。従って、この単純高解像度化では、解像度は高くなるが精細度は変わらない。但し、単純高解像度化処理において、バイリニア法等による補間演算を用いて高解像度画素の画素値を算出してもよい。高解像度化の際に補間演算を利用すると、精細度も若干向上する。一方、合成高解像度化処理では、参照入力画像Ｒｉｍｇのみでなく、複数の入力画像Ｉｉｍｇ１〜３を共に使用して高解像度画素の画素値が算出される（詳細は後述）。従って、合成高解像度化処理では、解像度のみでなく精細度も向上する。
【００２４】
図４は、低解像度画像と高解像度画像の画素位置の関係の他の例を示す説明図である。この例では、高解像度画像内の１／４の画素の位置は、低解像度画像の画素の位置と一致している。低解像度画像と高解像度画像の画素位置の関係としては、図３及び図４に示したもの以外の種々のものを採用することも可能である。但し、以下に説明する実施例では、図３に示した位置関係を使用している。
【００２５】
なお、一般に、高解像度画像の画素ピッチＰhighは、低解像度画像の画素ピッチＰlow の１／Ｍ倍（Ｍは１より大きな任意の値）に設定可能である。但し、Ｍは２以上に設定することが好ましく、本実施例では、Ｍ＝２に設定されている。
【００２６】
図５は、本実施例における高解像度化処理の全体手順を示すフローチャートである。ステップＳ１０では、各種の初期化が行われる。この際、高解像度化処理の対象ラインを示す対象ライン番号Ｎlineと、対象画素を示す対象画素番号Ｎpix も０に初期化される。対象ラインＮlineと対象画素Ｎpixは、参照画像Ｒｉｍｇ内のライン及び画素（低解像度画素）を示している。
【００２７】
ステップＳ１１では、動きベクトル検出部４６０によって、各入力画像Ｉｉｍｇの動きベクトル（相対移動量）が算出される。この動きベクトルは、参照入力画像Ｒｉｍｇの全体と、他の入力画像（Ｉｉｍｇ１又はＩｉｍｇ３）の全体と、の相対的な位置を表すベクトルである。従って、入力画像が３枚のときは、２つの動きベクトルが得られる。これらの動きベクトルは、合成高解像度化処理の際に利用される。なお、一般に、入力画像Ｉｉｍｇの数が、参照入力画像Ｒｉｍｇを含めてＮ＋１個（Ｎは１以上の整数）のときには、Ｎ個の動きベクトルが算出される。
【００２８】
ステップＳ１２では、対象ラインＮlineを中心とした３ライン分の画像データが、参照入力画像Ｒｉｍｇから選択されてラインバッファ４３０（図２）に入力される。なお、Ｎline＝０が画像領域の上端ラインを示すものとすると、Ｎline＝０のときには対象ラインＮline（＝Ｌi）の手前のラインＬi-1は現実には存在しない。この場合には、ラインＬi-1の画像データとして、対象ラインＮline（＝Ｌi）の画像データをコピーして使用してもよい。あるいは、ステップＳ１２以降の処理を、Ｎline＝１から開始するようにしてもよい。対象画素Ｎpixに関しても同様である。
【００２９】
ステップＳ１３では、エッジ検出部４２０がラインバッファ４３０内の画像データを用いて、参照画像Ｒｉｍｇ内の対象画素Ｎpixのエッジを検出する。図６は、エッジ検出の方法を示す説明図である。図６（Ａ）は、ｘ方向とｙ方向のエッジ検出用の１次微分フィルタＦＬｘ，ＦＬｙを示している。図６（Ｂ）は、ｘ方向とｙ方向のエッジ検出用のソーベルフィルタＦＬｘ，ＦＬｙを示している。本実施例では、１次微分フィルタＦＬｘ，ＦＬｙを用いている。但し、エッジ検出用フィルタ（「エッジ量算出用フィルタ」とも呼ぶ）としては、これら以外の任意のフィルタを用いることが可能であり、例えば２次微分フィルタを用いることも可能である。
【００３０】
２つの１次微分フィルタＦＬｘ，ＦＬｙを用いて対象画素Ｎpixにフィルタ処理を行うことによって、対象画素Ｎpixのｘ方向のエッジ量成分Ｅｄｘとｙ方向のエッジ量成分Ｅｄｙとを算出することができる。対象画素Ｎpixのエッジ量Ｅｄ及びエッジ方向θは、例えば図６（Ｃ）に示した式に従って算出することができる。このエッジ量Ｅｄは、ｘ方向のエッジ量成分Ｅｄｙとｙ方向のエッジ量成分Ｅｄｙとを総合したエッジ量（「総合エッジ量」とも呼ぶ）である。この例のように、エッジの検出（エッジ有無の判定）に用いるエッジ量としては、２つの方向のエッジ量成分を含む総合エッジ量を使用することが好ましい。なお、例えばラプラシアンフィルタを用いて得られるエッジ量は、総合エッジ量の一種と考えることが可能である。
【００３１】
エッジ有無の判定は、エッジ量Ｅｄと所定の閾値Ｅｔｈとの比較によって行われる。すなわち、エッジ量Ｅｄが閾値Ｅｔｈ以上のときにはその対象画素にはエッジが有るものと判定され、一方、閾値Ｅｔｈ未満のときにはその対象画素にはエッジが無いものと判定される。
【００３２】
図５のステップＳ１４において対象画素にエッジが有ると判断された場合には、ステップＳ１５において、合成高解像度化処理部４４４が高解像度化処理を実行し、対象画素に対応付けられた複数の高解像度画素（図３において破線で囲まれた４つの高解像度画素）の画素値を算出する。この合成高解像度化処理では、参照入力画像Ｒｉｍｇのみでなく、複数の入力画像Ｉｉｍｇ１〜３を共に使用して高解像度画素の画素値が算出される。また、合成高解像度化処理に用いる合成係数αがエッジ量Ｅｄに応じて調整される。具体的には、高解像度画素の画素値の算出において、エッジ量Ｅｄが大きいほど参照入力画像Ｒｉｍｇ以外の入力画像Ｉｉｍｇ１，３の寄与が大きくなるように、合成係数αがエッジ量Ｅｄに応じて調整される。なお、合成高解像度化処理の詳細についてはさらに後述する。
【００３３】
一方、対象画素にエッジが無いと判断された場合には、ステップＳ１６において、単純高解像度化処理部４４２が高解像度化処理を実行し、対象画素に対応付けられた複数の高解像度画素の画素値を算出する。この単純高解像度化処理は、例えば、低解像度画像の画素値を４つの高解像度画素にコピーすることによって実現される。画素値のコピーの代わりに、高解像度画素に近接する複数の低解像度画素の画素値を補間することによって高解像度画素の画素値を決定してもよい。すなわち、単純高解像度化処理では、参照入力画像Ｒｉｍｇのみを用い、１つ以上の最近接画素を参照して各高解像度画素の画素値を生成することができる。
【００３４】
こうして作成された高解像度化画像の画素値は、高解像度化処理部４４０から印刷データ生成部４５０（図２）に順次供給される。
【００３５】
図５のステップＳ１７では、対象画素番号Ｎpixが更新される。なお、対象画素が各ラインの終端に達した場合には、対象ライン番号Ｎlineも更新される。全画素の処理が完了していなければ、ステップＳ１８からステップＳ１２に戻り、ラインバッファ４３０内の画像データが必要に応じて更新されてステップＳ１３〜Ｓ１８の処理が繰り返される。
【００３６】
このように、本実施例では、エッジが有ると判定された画素位置では合成高解像度化処理を実行するので、画素値の変化が急峻な画像部分についてはより高精細な画像を得ることができる。一方、エッジが無いと判定された画素位置では、単純高解像度化処理を実行するので、画素値の変化が緩慢な画像部分については合成高解像度化処理に起因してノイズが強調されてしまうことを防止することができる。また、単純高解像度化処理は、合成高解像度化処理に比べて処理時間が短いので、全体の処理時間を短縮できるという利点もある。さらに、合成高解像度化処理においてエッジ量Ｅｄに応じて合成係数αを調整するので、合成高解像度化処理で処理された画像領域と、単純高解像度化処理で処理された画像領域との境界を目立たなくすることができ、画質をさらに向上できるという利点がある。
【００３７】
なお、上記実施例では、個々の低解像度画素毎に高解像度化処理モードの選択を行っていたが、この代わりに、各ライン毎に高解像度化処理モードの選択を行うようにしてもよい。例えば、参照入力画像Ｒｉｍｇの各ライン毎に、エッジ量の和に相関のあるエッジ量指標値（例えば、エッジ量の和や、エッジ量の自乗和など）を算出し、そのエッジ量指標値に応じてエッジの有無を判断すれば、各ライン毎に高解像度化処理モードの選択を行うことが可能である。
【００３８】
Ａ−２．第１実施例における合成高解像度化処理の詳細：
図７は、合成高解像度化処理部４４４の内部構成を示すブロック図である。合成高解像度化処理部４４４は、制御部２１０と、画像選択部２１５と、低解像度画像推定部２２０と、高解像度画像推定部２３０と、低解像度差分画像生成部２４０と、移動量算出部２５０と、高解像度差分画像生成部２６０と、出力高解像度画像更新部２７０と、を有している。これらの各構成要素の機能については後述する。
【００３９】
図８は、合成高解像度化処理の内容を示す説明図である。図８の例では、３枚の入力画像Ｉｉｍｇから、１枚の高解像度な出力画像Ｏｉｍｇを生成している。以後、図中において、符号ＬＲ(Low Resolution)が付された画像は低解像度な画像を表し、符号ＨＲ(High Resolution)が付された画像は高解像度な画像を表すこととする。
【００４０】
図９は、合成高解像度化処理の手順を示すフローチャートである。ステップＳ１１０では、高解像度画像推定部２３０（図７）が、入力画像Ｉｉｍｇを用いて仮の出力画像Ｏｉｍｇを生成する。図８の例では、時系列に沿った順番が中央である参照入力画像Ｒｉｍｇを用いて仮の出力画像Ｏｉｍｇを生成する。具体的には、高解像度画像推定部２３０は、周知のバイリニア法を用いて、低解像度な参照入力画像Ｒｉｍｇから高解像度な仮の出力画像Ｏｉｍｇを生成する。
【００４１】
なお、後述するように、最終的な出力画像Ｏｉｍｇは、仮の出力画像Ｏｉｍｇを修正することによって生成される。従って、仮の出力画像Ｏｉｍｇの生成方法としては、バイリニア法に限らず、種々の方法を採用することができる。例えば、ニアレストネイバ法を用いてもよい。
【００４２】
また、参照入力画像Ｒｉｍｇを他の規則に従って定めてもよい。例えば、時系列に沿った順番が先頭の入力画像Ｉｉｍｇを参照入力画像Ｒｉｍｇとして用いることとしてもよい。
【００４３】
次のステップＳ１２０では、移動量算出部２５０（図７）が、各入力画像Ｉｉｍｇの相対移動量を算出する。この相対移動量は、ある入力画像Ｉｉｍｇの全体と、参照入力画像Ｒｉｍｇの全体と、の相対的な位置を表す値である。このような相対移動量（相対動き量とも呼ぶ）としては、例えば、入力画像Ｉｉｍｇ全体の参照入力画像Ｒｉｍｇ全体に対する動きベクトルを用いることができる。また、相対移動量としては、画像の平行移動を表す移動量に限らず、他の種々の動きを表す移動量を採用することができる。例えば、平行移動と回転移動とを含む動きを表す移動量を採用してもよい。いずれの場合も、相対移動量の算出方法としては、周知の種々の方法を採用することができる。例えば、各入力画像Ｉｉｍｇから特徴点を抽出し、特徴点の移動量を算出することによって相対移動量を算出する方法を採用することができる。
【００４４】
なお、図５に示した処理手順ではステップＳ１１において動きベクトル（相対移動量）が算出されている。従って、ステップＳ１２０では、その演算を再度行う必要は無く、ステップＳ１１で得られた値をそのまま使用することができる。この場合には、ステップＳ１２０及び移動量算出部２５０を省略することができる。
【００４５】
次のステップＳ１３０では、低解像度画像推定部２２０（図７）が、高解像度な仮の出力画像Ｏｉｍｇを用いて、低解像度な３枚の推定画像Ｅｉｍｇを生成する（詳細は後述）。これらの推定画像Ｅｉｍｇは、仮の出力画像Ｏｉｍｇと整合性のある入力画像を表している。換言すれば、これらの推定画像Ｅｉｍｇは、仮の出力画像Ｏｉｍｇが最適な画像であると仮定した場合に、各入力画像Ｉｉｍｇが有すべき画像を表している。ここで、各推定画像Ｅｉｍｇと各入力画像Ｉｉｍｇとは、一対一に対応付けられている。なお、これらの推定画像Ｅｉｍｇは、仮の出力画像（推定高解像度画像）Ｏｉｍｇと対応付けられた画像であって、仮の出力画像Ｏｉｍｇの低解像度版に相当する画像であると考えることも可能である。
【００４６】
具体的には、ステップＳ１３０において、低解像度画像推定部２２０は、仮の出力画像Ｏｉｍｇと、各相対移動量と、を用いて、各推定画像Ｅｉｍｇを生成する。図８の例では、低解像度画像推定部２２０は、仮の出力画像Ｏｉｍｇに対してぼかし処理を行い、さらに、相対移動量に従って画像を移動させ、低解像度化処理を実行することによって、推定画像Ｅｉｍｇを生成する。ぼかし処理（平滑化処理）としては、周知の種々の処理を採用することができる。画像の移動処理では、仮の出力画像Ｏｉｍｇが、各入力画像Ｉｉｍｇと重なるように移動される。また、低解像度化処理としては、周知の種々の処理を採用することができる。例えば、バイリニア法やニアレストネイバ法等の補間処理を採用することができる。また、各推定画像Ｅｉｍｇの画素位置が、仮の出力画像Ｏｉｍｇの画素位置と重なっている場合には、単純に画素を間引く処理を採用してもよい。
【００４７】
次のステップＳ１４０では、低解像度差分画像生成部２４０（図７）が、３枚の入力画像Ｉｉｍｇと３枚の推定画像Ｅｉｍｇとを用いて、各入力画像Ｉｉｍｇ毎の低解像度差分画像ＬＤｉｍｇを生成する。この低解像度差分画像ＬＤｉｍｇの各画素値は、入力画像Ｉｉｍｇと推定画像Ｅｉｍｇとの同じ画素位置における画素値の差分（＝Ｅｉｍｇ−Ｉｉｍｇ）に設定される。この低解像度差分画像ＬＤｉｍｇの意味は、以下のように説明できる。仮の出力画像Ｏｉｍｇと、各入力画像Ｉｉｍｇと、の関係が理想的な状態の場合、すなわち、仮の出力画像Ｏｉｍｇと、各入力画像Ｉｉｍｇと、が、位置（相対移動量）のみが異なる同じ画像を表す場合には、各低解像度差分画像ＬＤｉｍｇの各画素値はゼロに近い値となる。一方、仮の出力画像Ｏｉｍｇと理想的な出力画像との間の差異が大きい場合、すなわち、仮の出力画像Ｏｉｍｇと各入力画像Ｉｉｍｇとの間の差異が大きい場合には、その差異によって、各低解像度差分画像ＬＤｉｍｇの画素値がゼロから離れることとなる。このように、低解像度差分画像ＬＤｉｍｇの画素値のゼロからのズレの大きさは、仮の出力画像Ｏｉｍｇと理想的な出力画像との違いの大きさを意味することになる。従って、低解像度差分画像ＬＤｉｍｇの画素値を仮の出力画像Ｏｉｍｇにフィードバックさせれば、仮の出力画像Ｏｉｍｇを理想的な出力画像に近づけることが可能となる。
【００４８】
次のステップＳ１５０では、高解像度差分画像生成部２６０（図７）は、各低解像度差分画像ＬＤｉｍｇ毎に高解像度な差分画像ＨＤｉｍｇを生成する。具体的には、高解像度差分画像生成部２６０は、低解像度差分画像ＬＤｉｍｇに対して高解像度化処理を行い、さらに、シャープネス強調処理を行い、その後、推定相対移動量に従って画像を移動させることによって、各高解像度差分画像ＨＤｉｍｇを生成する。高解像度化処理としては、周知の種々の処理を採用することができる。例えば、バイリニア法やニアレストネイバ法を採用することができる。シャープネス強調処理としては、周知の種々の処理を採用することができる。例えば、アンシャープマスクを利用した処理を採用してもよい。さらに、画像の移動処理は、高解像度差分画像ＨＤｉｍｇが仮の出力画像Ｏｉｍｇと重なるように行われる。この際、各高解像度差分画像ＨＤｉｍｇの各画素値は、仮の出力画像Ｏｉｍｇと同じ画素位置の画素値を表すように補正される。画素値を補正する処理としては、周知の種々の補間処理を採用することができる。
【００４９】
次のステップＳ１６０では、高解像度差分画像生成部２６０は、各高解像度差分画像ＨＤｉｍｇを合成して１枚の合成済高解像度差分画像ＣＨＤｉｍｇを生成する。この合成済高解像度差分画像ＣＨＤｉｍｇの各画素値は、各高解像度差分画像ＨＤｉｍｇの同じ画素位置の画素値の和に設定される。
【００５０】
次のステップＳ１７０では、出力高解像度画像更新部２７０は、合成済高解像度差分画像ＣＨＤｉｍｇを仮の出力画像Ｏｉｍｇにフィードバックする。このフィードバックは、仮の出力画像Ｏｉｍｇの各画素値を、以下の式（１）に従って修正することによって行われる。
【００５１】
更新後画素値  ＝  更新前画素値  ＋  α×差分画素値  ...（１）
【００５２】
ここで、更新後画素値は、フィードバック後の仮の出力画像Ｏｉｍｇの画素値である。更新前画素値は、フィードバック前の仮の出力画像Ｏｉｍｇの画素値である。差分画素値は、合成済高解像度差分画像ＣＨＤｉｍｇの同じ画素位置の画素値である。αは、フィードバックの強度を表す係数であり、図１５のステップＳ１５で説明した合成係数αである。なお、この合成係数αの正負は、負のフィードバックを実現するように決定される。本実施例では、差分画素値は、推定画像Ｅｉｍｇから入力画像Ｉｉｍｇを差し引いた値（Ｅｉｍｇ−Ｉｉｍｇ）から得られているので、合成係数αは、負の値である。
【００５３】
合成係数αの値は、エッジ量Ｅｄ（図６（Ｃ））に応じて調整される。図１０（Ａ）〜（Ｃ）は、エッジ量Ｅｄと合成係数の絶対値|α|との関係の例を示すグラフである。これらの例から理解できるように、エッジ量Ｅｄと合成係数αとの関係としては、エッジ量Ｅｄの増大に応じて合成係数の絶対値|α|が直線的又は曲線的に増大するような関係に設定することもでき、あるいは、合成係数の絶対値|α|がステップ的に増大するような関係に設定することも可能である。すなわち、通常は、エッジ量Ｅｄが大きいほど合成係数の絶対値|α|が大きな値に設定される。
【００５４】
図１０（Ａ）〜（Ｃ）の例では、エッジ量Ｅｄが高解像度化処理モードを選択する際の閾値Ｅｔｈ（図６（Ｃ））に等しいときに、合成係数αがゼロでない値に設定されている。この理由は、エッジ量Ｅｄが閾値Ｅｔｈ以上のときには図５のステップＳ１４において合成高解像度化処理モードが選択されるので、Ｅｄ＝Ｅｔｈにおいても合成高解像度化処理モードによる処理の効果が得られるようにするためである。すなわち、仮に図８による合成高解像度化処理を行うとしても、合成係数αを０に設定すると差分画像ＣＨＤｉｍｇによる負のフィードバックが無くなるので、実質的な合成処理は行われないことになる。従って、図１０（Ａ）〜１０（Ｃ）の設定を利用すれば、合成高解像度化処理を行った場合に確実にその効果を得ることができる。
【００５５】
但し、Ｅｄ＝Ｅｔｈのときに合成係数αをゼロに設定することも可能である。こうすれば、合成高解像度化によって処理された画像領域と単純高解像度化によって処理された画像領域との境界をさらに目立たなくすることが可能である。但し、エッジ量Ｅｄが閾値Ｅｔｈとほとんど等しい位置では、図８の合成高解像度化による効果がほとんど無くなるので、処理時間を有効に利用するという観点では図１０（Ａ）〜１０（Ｃ）のような設定が好ましい。
【００５６】
以上の処理によって、仮の出力画像Ｏｉｍｇを入力画像Ｉｉｍｇにより適した画像に更新することが可能となる。ステップＳ１７０の後は、ステップＳ１３０に戻り、ステップＳ１３０〜Ｓ１７０の処理が繰り返し実行される。そして、合成済高解像度差分画像ＣＨＤｉｍｇの画素値が充分に小さくなった時点で、制御部２１０は、処理が収束したものと判断して、更新を完了する。こうして最終的に更新された出力画像Ｏｉｍｇは、最終的な出力画像Ｏｉｍｇとして利用される。
【００５７】
なお、この実施例では、ステップＳ１３０においてぼかし処理（平滑化処理）を実行しているので、低解像度差分画像ＬＤｉｍｇにおいて、各入力画像Ｉｉｍｇの鮮鋭な部分の画素値の絶対値を平滑な部分の画素値の絶対値よりも大きくすることができる。さらに、ステップＳ１５０でシャープネス強調処理を実行しているので、高解像度差分画像ＨＤｉｍｇにおいて、各入力画像Ｉｉｍｇの鮮鋭な部分を強調させることができる。その結果、更新後の仮の出力画像Ｏｉｍｇを、各入力画像Ｉｉｍｇと整合性のある鮮鋭な画像とすることができる。
【００５８】
なお、図８及び図９に示した合成高解像度化処理は、１枚の画像全体に対しても実行することができ、あるいは、１ライン毎に実行することも可能である。１ライン毎に実行する場合には、図８の各画像Ｅｉｍｇ，ＬＤｉｍｇ，ＨＤｉｍｇ，ＣＨＤｉｍｇ，Ｏｉｍｇとしては、処理対象とする１ライン分の画像が少なくとも生成される。
【００５９】
ところで、図５で説明した高解像度化処理モードの選択は、前述したように各画素毎又は各ライン毎に実行することができる。各画素素毎に高解像度化処理モードの選択を行う場合には、例えば、図８及び図９に示した合成高解像度化処理を各ライン毎に実行し、その後、単純高解像度化処理を選択すべき画素に関しては、合成高解像度化処理で得られた画素値の代わりに単純高解像度化処理で得られた画素値を使用することによって、高解像度画像を生成することが可能である。
【００６０】
Ｂ．第２実施例：
図１１は、第２実施例における合成高解像度化処理の内容を示す説明図である。図８に示す第１実施例との差異は、４つある。第１の差は、推定画像Ｅｉｍｇａの数が１枚である点である。第２の差は、低解像度差分画像ＬＤｉｍｇａを生成する際に、各入力画像Ｉｉｍｇが、１枚の推定画像Ｅｉｍｇａと重なるように移動される点である。第３の差は、合成済高解像度差分画像ＣＨＤｉｍｇａを生成する際に、複数の低解像度差分画像ＬＤｉｍｇａを合成した後に、高解像度化処理を実行する点である（第１実施例では、高解像度化後に合成）。第４の差は、１回の処理で更新を完了する点である。なお、合成高解像度化処理以外の処理や装置構成は第１実施例と同じなので、その説明は省略する。
【００６１】
図１２は、第２実施例における合成高解像度化処理の手順を示すフローチャートである。ステップＳ２１０〜Ｓ２２０の処理は、図９のステップＳ１１０〜Ｓ１２０の処理と、同じである。
【００６２】
ステップＳ２３０では、低解像度画像推定部２２０（図７）が、入力画像Ｉｉｍｇを用いて１枚の推定画像Ｅｉｍｇａを生成する。具体的には、低解像度画像推定部２２０は、参照入力画像Ｒｉｍｇに対してぼかし処理（平滑化処理）を実行することによって、１枚の推定画像Ｅｉｍｇａを生成する。ここで、仮の出力画像Ｏｉｍｇと、推定画像Ｅｉｍｇａとは、同じ参照入力画像Ｒｉｍｇから生成される（ステップＳ２１０、Ｓ２３０）。従って、低解像度画像推定部２２０は、仮の出力画像Ｏｉｍｇと整合性のある推定画像Ｅｉｍｇａを生成することができる。
【００６３】
次のステップＳ２４０では、低解像度差分画像生成部２４０（図７）が、３枚の入力画像Ｉｉｍｇと１枚の推定画像Ｅｉｍｇａとを用いて、各入力画像Ｉｉｍｇ毎の低解像度差分画像ＬＤｉｍｇａを生成する。具体的には、低解像度差分画像生成部２４０は、入力画像Ｉｉｍｇを相対移動量に従って移動させ、移動後の画像と、推定画像Ｅｉｍｇａと、を用いて低解像度差分画像ＬＤｉｍｇａを生成する。画像の移動処理では、入力画像Ｉｉｍｇが、推定画像Ｅｉｍｇａと重なるように移動される。また、低解像度差分画像ＬＤｉｍｇａの各画素値は、推定画像Ｅｉｍｇａの各画素値と、移動後の入力画像Ｉｉｍｇにおける同じ画素位置での画素値と、の差分（Ｅｉｍｇａ−Ｉｉｍｇ）に設定される。移動後の入力画像Ｉｉｍｇの画素位置と、推定画像Ｅｉｍｇａの画素位置とが重なっていない場合には、移動後の画像における画素値が、周知の補間処理によって算出される。このように、３枚の低解像度差分画像ＬＤｉｍｇａのそれぞれは、１枚の推定画像Ｅｉｍｇａの画素位置で算出された画素差分値で構成されているので、３枚の低解像度差分画像ＬＤｉｍｇａ相互の位置は互いに一致している。
【００６４】
次のステップＳ２５０では、高解像度差分画像生成部２６０（図７）が、各低解像度差分画像ＬＤｉｍｇａを合成して１枚の合成済低解像度差分画像ＣＬＤｉｍｇａを生成する。この合成済低解像度差分画像ＣＬＤｉｍｇａの各画素値は、各低解像度差分画像ＬＤｉｍｇａの同じ画素位置の画素値の和に設定される。なお、上述したように、各低解像度差分画像ＬＤｉｍｇａは、共通の推定画像Ｅｉｍｇａの画素位置を基準として生成されている。従って、高解像度差分画像生成部２６０は、各低解像度差分画像ＬＤｉｍｇａを移動させずに合成済低解像度差分画像ＣＬＤｉｍｇａを生成することができる。
【００６５】
次のステップＳ２６０では、高解像度差分画像生成部２６０が、合成済低解像度差分画像ＣＬＤｉｍｇａを用いて合成済高解像度差分画像ＣＨＤｉｍｇａを生成する。具体的には、高解像度差分画像生成部２６０は、合成済低解像度差分画像ＣＬＤｉｍｇａに対して高解像度化処理を実行し、さらに、シャープネス強調処理を実行することによって、合成済高解像度差分画像ＣＨＤｉｍｇａを生成する。なお、生成された合成済高解像度差分画像ＣＨＤｉｍｇは、移動させることなく、仮の出力画像Ｏｉｍｇと重ねることが可能である。
【００６６】
次のステップＳ２７０では、出力高解像度画像更新部２７０は、合成済高解像度差分画像ＣＨＤｉｍｇａを仮の出力画像Ｏｉｍｇにフィードバックする。この処理は、図９のステップＳ１７０の処理と同じである。すなわち、このフィードバックの際には、合成係数αがエッジ量Ｅｄに応じて調整される。
【００６７】
このように、第２実施例では、仮の出力画像Ｏｉｍｇが、推定画像Ｅｉｍｇａと各入力画像Ｉｉｍｇとの間の差異を表す合成済高解像度差分画像ＣＨＤｉｍｇａによって修正されるので、入力画像Ｉｉｍｇと整合性のある出力画像Ｏｉｍｇを生成することが可能となる。
【００６８】
また、第２実施例では、各低解像度差分画像ＬＤｉｍｇａの生成に用いられる推定画像Ｅｉｍｇａの枚数を１枚としているので、推定画像Ｅｉｍｇａの生成処理の負荷を軽減することが可能となる。
【００６９】
また、第２実施例の合成高解像度化処理では、推定画像Ｅｉｍｇａを生成する処理として、ぼかし処理（平滑化処理）のみを実行しているが、第１実施例では、これに加えて低解像度化処理を行っていた。その結果、第１実施例と比べて、推定画像Ｅｉｍｇａの生成処理の負荷を軽減することが可能となる。
【００７０】
また、推定画像Ｅｉｍｇａとして、入力画像Ｉｉｍｇ（参照入力画像Ｒｉｍｇ）にぼかし処理を施した画像を用いているので、低解像度差分画像ＬＤｉｍｇａにおいて、各入力画像Ｉｉｍｇの鮮鋭な部分の画素値の絶対値を平滑な部分の画素値の絶対値よりも大きくすることができる。その結果、その差分をフィードバックすることによって、更新した出力画像Ｏｉｍｇを、各入力画像Ｉｉｍｇと整合性のある鮮鋭な画像とすることができる。
【００７１】
さらに、第２実施例では、各入力画像Ｉｉｍｇのそれぞれを、共通の１枚の推定画像Ｅｉｍｇａと重なるように移動させることによって、各低解像度差分画像ＬＤｉｍｇａを生成することとしている。従って、３枚の低解像度差分画像ＬＤｉｍｇａを移動させずに重ねることが可能となるので、合成済低解像度差分画像ＣＬＤｉｍｇａの生成処理の負荷を軽減することが可能となる。
【００７２】
また、第２実施例では、合成済高解像度差分画像ＣＨＤｉｍｇａを生成する際に、高解像度化処理（図１２：ステップＳ２６０）の前に合成処理（ステップＳ２５０）を実行している。従って、高解像度化処理の対象となる画像を１枚とすることができるので、合成済高解像度差分画像ＣＨＤｉｍｇａの生成処理の負荷を軽減することができる。同様に、シャープネス強調処理の対象となる画像も１枚とすることもできるので、合成済高解像度差分画像ＣＨＤｉｍｇａの生成処理の負荷を、さらに軽減することが可能となる。
【００７３】
Ｃ．第３実施例：
図１３は、第３実施例における合成高解像度化処理部４４４ａの構成を示すブロック図である。図７に示す第１実施例の処理部４４４との差異は、更新用低解像度画像推定部２８０が追加されている点だけである。他の構成は、第１，第２実施例と同じである。
【００７４】
図１４は、第３実施例における合成高解像度化処理の内容を示す説明図である。また、図１５は、第３実施例における合成高解像度化処理の手順を示すフローチャートである。図１１、図１２に示す第２実施例との差異は、ステップＳ２４０〜Ｓ２７０の処理を複数回繰り返し実行する点である。これらの一連の処理（ステップＳ２４０〜Ｓ２７０）を繰り返すのは、仮の出力画像Ｏｉｍｇを、さらに、理想的な出力画像に近づけるためである。
【００７５】
図１５の例では、まず、図１２に示す第２実施例と同様に、ステップＳ２００〜Ｓ２７０の処理が実行される。次に、ステップＳ２８０で、制御部２１０が、更新を繰り返し実行するか否かを判断する。「繰り返す」と判断した場合には、ステップＳ２９０で、更新用低解像度画像推定部２８０が、ステップＳ２７０で更新された仮の出力画像Ｏｉｍｇを用いて、推定画像Ｅｉｍｇａを生成する。具体的には、更新用低解像度画像推定部２８０は、更新後の仮の出力画像Ｏｉｍｇに対してぼかし処理を行い、さらに、低解像度化処理を実行することによって、推定画像Ｅｉｍｇａを生成する（図１４）。このようにして生成された新たな推定画像Ｅｉｍｇａは、更新後の仮の出力画像Ｏｉｍｇと整合性のある入力画像を表している。
【００７６】
以後、新たに生成された推定画像Ｅｉｍｇａに基づいて、ステップＳ２４０〜Ｓ２７０の処理が実行される。その結果、仮の出力画像Ｏｉｍｇを、さらに、理想的な出力画像に近づけることが可能となる。このような一連の処理（ステップＳ２９０、Ｓ２４０〜Ｓ２７０）は、ステップＳ２８０で制御部２１０が「繰り返しをやめる」と判断するまで繰り返し実行される。「繰り返しをやめる」と判断した場合には、更新された仮の出力画像Ｏｉｍｇが、最終的な出力画像として利用される。
【００７７】
なお、ステップＳ２８０での繰り返しの条件としては、種々の条件を採用することができる。例えば、所定の回数（例えば、２回や３回）だけ仮の出力画像Ｏｉｍｇを更新（ステップＳ２７０）することを条件としてもよい。
【００７８】
また、制御部２１０が、仮の出力画像Ｏｉｍｇと理想的な出力画像との差異の大きさ、すなわち、仮の出力画像Ｏｉｍｇと各入力画像Ｉｉｍｇとの差異の大きさを反映する評価値を算出し、得られた評価値に基づいて、繰り返すか否かを判断することとしてもよい。このような評価値としては、例えば、合成済高解像度差分画像ＣＨＤｉｍｇａの画素値の統計値を採用することができる。具体的には、各画素値のゼロからのズレの大きさを表す統計値（例えば、自乗和や、絶対値の最大値、所定の画像中央部の画素値の自乗和）を採用することができる。また、合成済高解像度差分画像ＣＨＤｉｍｇａの代わりに合成済低解像度差分画像ＣＬＤｉｍｇａに基づいて評価値を算出してもよい。ここで、評価値が所定のしきい値以下となるまで再更新処理を繰り返すこととしてもよい。こうすれば、仮の出力画像Ｏｉｍｇを、理想的な出力画像にさらに近づけることが可能となる。また、評価値が、前回の仮の出力画像Ｏｉｍｇから算出された評価値よりも大きくなるまで再更新処理を繰り返すこととしてもよい。こうすれば、再更新処理を過剰に繰り返すことを防止することができる。なお、この場合には、繰り返すか否かの判断をステップＳ２７０の前に実行すればよい。また、いずれの場合にも、繰り返し回数の上限を予め定めておいてもよい。
【００７９】
Ｄ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００８０】
Ｄ１．変形例１：
合成高解像度化処理としては、図８，図１１及び図１４に示したもの以外の種々の処理を採用することが可能である。例えば、他の合成高解像度化処理としては、各高解像度画素に近接した低解像度画素を３つの入力画像Ｉｉｍｇ１〜３からそれぞれ１つずつ選択し、これらの３つの低解像度画素の画素値を補間することによって高解像度画素の画素値を求める方法を採用することができる。また、画素値の補間演算方法としては、例えばバイリニア法やバイキュービック法などの種々の方法を使用することが可能である。
【００８１】
複数の低解像度画素の画素値を用いた補間演算は、一般に以下の式で書き表すことが可能である。
【００８２】
補間画素値  ＝  Σ（Ｋi×αi×Ｄp）／Σ（Ｋi×αi）  ...（２）
【００８３】
ここで、Σは和を取る演算を示しており、Ｋｉはｉ番目の近接低解像度画素に対する重み係数であり、αｉはｉ番目の近接低解像度画素に対する合成係数、Ｄｐはｉ番目の近接低解像度画素の画素値である。なお、重み係数Ｋｉは、よく知られているように、補間演算の対象となっている高解像度画素と、複数の近接低解像度画素との相対的な位置関係に応じて決定される。合成係数αｉとエッジ量Ｅｄとの関係は、各入力画像Ｉｉｍｇ１〜３に対して予めそれぞれ設定されている。
【００８４】
図１６は、補間演算を利用した合成高解像度化処理におけるエッジ量と合成係数との関係の例を示すグラフである。各入力画像Ｉｉｍｇ１〜３に対する合成係数α１〜α３は、エッジ量が大きいほど参照入力画像Ｒｉｍｇ以外の入力画像の寄与が大きくなるように設定されている。なお、この時のエッジ量Ｅｄは、正確に言えば、補間の対象となっている高解像度画素に対応付けられた参照入力画像Ｒｉｍｇの画素におけるエッジ量である。
【００８５】
図１６の例では、エッジ量Ｅｄが高解像度化処理モードを選択する際の閾値Ｅｔｈに等しいときに、参照入力画像Ｒｉｍｇの合成係数α２が１．０よりもやや小さな値に設定され、他の入力画像Ｉｉｍｇ１，３の合成係数α１，α２がゼロよりもやや大きな値に設定されている。この理由は、エッジ量Ｅｄが閾値Ｅｔｈ以上のときには図５のステップＳ１４において合成高解像度化処理モードが選択されるので、Ｅｄ＝Ｅｔｈにおいても合成高解像度化処理モードによる処理の効果が得られるようにするためである。すなわち、仮に図８による合成高解像度化処理を行うとしても、α２＝１及びα１＝α３＝０に設定すると、実質的な合成処理は行われないことになる。従って、図１６のような設定を利用すれば、合成高解像度化処理を行った場合に確実にその効果を得ることができる。
【００８６】
但し、Ｅｄ＝Ｅｔｈのときにα２＝１及びα１＝α３＝０に設定することも可能である。こうすれば、合成高解像度化によって処理された画像領域と単純高解像度化によって処理された画像領域との境界をさらに目立たなくすることが可能である。なお、エッジ量Ｅｄと合成係数αとの関係としては、前述した図１０（Ａ）〜（Ｃ）と同様に、エッジ量Ｅｄの増大に応じて合成係数αが曲線的又はステップ的に変化するような関係に設定することも可能である。
【００８７】
Ｄ２．変形例２：
第２及び第３実施例の合成高解像度化処理では、平滑化処理を実行することによって推定画像Ｅｉｍｇａを生成しているが（図１２：ステップＳ２３０、図１５：ステップＳ２３０、Ｓ２９０）、平滑化処理を実行しないこととしてもよい。例えば、ステップＳ２３０において、参照入力画像Ｒｉｍｇを、そのまま、推定画像Ｅｉｍｇａとして用いることとしてもよい。また、ステップＳ２９０において、平滑化処理を実行せずに、低解像度化処理のみを実行することとしてもよい。ただし、平滑化処理を実行すれば、更新後の仮の出力画像Ｏｉｍｇの鮮鋭化を図ることが可能となる。
【００８８】
同様に、第２及び第３実施例では、シャープネス強調処理を実行することによって合成済高解像度差分画像ＣＨＤｉｍｇａを生成しているが（図１２、図１５：ステップＳ２６０）、シャープネス強調処理を実行しないこととしてもよい。ただし、シャープネス強調処理を実行すれば、更新後の仮の出力画像Ｏｉｍｇの鮮鋭化を図ることが可能となる。
【００８９】
Ｄ３．変形例３：
第２及び第３実施例では、各入力画像Ｉｉｍｇを移動させることによって低解像度差分画像ＬＤｉｍｇａを生成しているが（図１２、図１５：ステップＳ２４０）、推定画像Ｅｉｍｇａを移動させることとしてもよい。ただし、各入力画像Ｉｉｍｇを共通の１枚の推定画像Ｅｉｍｇａと重なるように移動させれば、各低解像度差分画像ＬＤｉｍｇａを、移動させずに重ね合わせて合成することができるので、各低解像度差分画像ＬＤｉｍｇａの合成処理の負荷を軽減することが可能となる。
【００９０】
Ｄ４．変形例４：
第２及び第３実施例では、各低解像度差分画像ＬＤｉｍｇａの合成処理（図１２、図１５：ステップＳ２５０）を実行してから、高解像度化処理（ステップＳ２６０）を実行しているが、各低解像度差分画像ＬＤｉｍｇａに高解像度化処理を施してから、合成することとしてもよい。ただし、高解像度化処理の前に合成することとすれば、高解像度化処理に用いられるデータ量を低減させることが可能となるので、合成済高解像度差分画像ＣＨＤｉｍｇａの生成処理の負荷を軽減することができる。
【００９１】
また、第２及び第３実施例では、図１２、図１５のステップＳ２６０において、高解像度化処理の後にシャープネス強調処理を実行することとしていたが、逆に、シャープネス強調処理の後に高解像度化処理を実行することとしてもよい。ただし、高解像度化処理の後にシャープネス強調処理を実行することとすれば、高解像度な画像に対してシャープネス強調処理を実行することができるので、合成済高解像度差分画像ＣＨＤｉｍｇａ、すなわち、更新後の仮の出力画像Ｏｉｍｇをより鮮鋭なものとすることができる。
【００９２】
Ｄ５．変形例５：
第２及び第３実施例では、各低解像度差分画像ＬＤｉｍｇａ（すなわち、各入力画像Ｉｉｍｇ）の重みを同じものとして、合成済高解像度差分画像ＣＨＤｉｍｇａ（合成済低解像度差分画像ＣＬＤｉｍｇａ）を生成している。具体的には、合成済低解像度差分画像ＣＬＤｉｍｇａの画素値として、各低解像度差分画像ＬＤｉｍｇａの画素値の合計値（重みが均等な合計値）を用いている。この代わりに、各低解像度差分画像ＬＤｉｍｇａ毎（各入力画像Ｉｉｍｇ毎）に異なる重みを付すこととしてもよい。こうすれば、各入力画像Ｉｉｍｇ間で画像が異なる場合に、その差異が強調されることを抑制することが可能となる。例えば、参照入力画像Ｒｉｍｇの重みを、他の入力画像Ｉｉｍｇの重みよりも大きくすれば、出力画像Ｏｉｍｇを、参照入力画像Ｒｉｍｇを適切に表す画像とすることができる。
【００９３】
一般には、合成済高解像度差分画像ＣＨＤｉｍｇａは、各低解像度差分画像ＬＤｉｍｇａを合成した画像であればよい。ここで、「複数の画像を合成した画像」とは、合成して得られる画像の各画素値が、基の複数の画像の画素値の関数になっていることを意味している。同様に、合成済低解像度差分画像ＣＬＤｉｍｇａの画素値としては、各低解像度差分画像ＬＤｉｍｇａの同じ画素位置における各画素値の総合値を用いることができる。ここで、「複数の画素値の総合値」とは、複数の画素値の関数となっており、画素値の和と正の相関を有する値である。この総合値として、上述した各実施例のように、重みが均等な合計値を用いれば、合成済低解像度差分画像ＣＬＤｉｍｇａの生成処理の負荷を低減することが可能となる。
【００９４】
Ｄ６．変形例６：
上記実施例においては、データ処理部１００をプリンタ内に設けることとしたが、この代わりに、データ処理部１００を、一般的なパーソナルコンピュータを用いて構成することとしてもよい。また、データ処理部１００を、情報携帯端末や、携帯電話、デジタルビデオカメラ、デジタルスチルカメラ等の他の種々の電子機器に実装することとしてもよい。
【００９５】
Ｄ７．変形例７：
上記各実施例では、動画像から高解像度な静止画像を生成することとしているが、この代わりに、複数枚の低解像度な静止画像から、高解像度な静止画像を生成することとしてもよい。
【００９６】
Ｄ８．変形例８：
上記各実施例において、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよく、逆に、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよい。
【図面の簡単な説明】
【００９７】
【図１】本発明の一実施例としての画像処理システムの構成を示すブロック図である。
【図２】データ処理部の内部構成を示すブロック図である。
【図３】低解像度画像と高解像度画像の画素位置の関係の一例を示す説明図である。
【図４】低解像度画像と高解像度画像の画素位置の関係の他の例を示す説明図である。
【図５】本実施例における高解像度化処理の全体手順を示すフローチャートである。
【図６】エッジ検出の方法を示す説明図である。
【図７】合成高解像度化処理部の内部構成を示すブロック図である。
【図８】合成高解像度化処理の内容を示す説明図である。
【図９】合成高解像度化処理の手順を示すフローチャートである。
【図１０】エッジ量と合成係数との関係の例を示すグラフである。
【図１１】第２実施例の合成高解像度化処理を示す説明図である。
【図１２】第２実施例における合成高解像度化処理の手順を示すフローチャートである。
【図１３】第３実施例における合成高解像度化処理部の構成を示すブロック図である。
【図１４】第３実施例の合成高解像度化処理を示す説明図である。
【図１５】第３実施例における合成高解像度化処理の手順を示すフローチャートである。
【図１６】補間演算を利用した合成高解像度化処理におけるエッジ量と合成係数との関係の例を示すグラフである。
【符号の説明】
【００９８】
１００…データ処理部
２１０…制御部
２１５…画像選択部
２２０…低解像度画像推定部
２３０…高解像度画像推定部
２４０…低解像度差分画像生成部
２５０…移動量算出部
２６０…高解像度差分画像生成部
２７０…出力高解像度画像更新部
２８０…更新用低解像度画像推定部
３００…デジタルビデオカメラ
４２０…エッジ検出部
４３０…ラインバッファ
４４０…高解像度化処理部
４４２…単純高解像度化処理部
４４４…合成高解像度化処理部
４５０…印刷データ生成部
４６０…動きベクトル検出部
５００…プリンタ
７００…印刷実行部
８００…画像処理システム
【図１】
2006222493.tif 000003
【図２】
2006222493.tif 000004
【図３】
2006222493.tif 000005
【図４】
2006222493.tif 000006
【図５】
2006222493.tif 000007
【図６】
2006222493.tif 000008
【図７】
2006222493.tif 000009
【図８】
2006222493.tif 000010
【図９】
2006222493.tif 000011
【図１０】
2006222493.tif 000012
【図１１】
2006222493.tif 000013
【図１２】
2006222493.tif 000014
【図１３】
2006222493.tif 000015
【図１４】
2006222493.tif 000016
【図１５】
2006222493.tif 000017
【図１６】
2006222493.tif 000018