(57)【要約】【課題】  複数の低解像度な画像を用いて高解像度な画像を生成する処理の負荷を軽減することが可能な技術を提供することを目的とする。【解決手段】  まず、複数の入力低解像度画像の中の１枚の参照低解像度画像を用いて、出力高解像度画像の画素値を推定する。さらに、参照低解像度画像を用いて低解像度な１枚の推定低解像度画像を生成するとともに、この推定低解像度画像と各入力低解像度画像との差を合成した画像を表す高解像度誤差画像の画素値を算出する。そして、この高解像度誤差画像の画素値の負のフィードバックによって、推定出力高解像度画像の画素値を更新する。ここで、これらの処理を一部のライン毎に繰り返し実行する。【選択図】  図６
2006202170.tif 000002
【特許請求の範囲】
【請求項１】
画素密度が比較的低い低解像度な複数の入力低解像度画像から、画素密度が比較的高い高解像度な出力高解像度画像を生成する画像処理装置であって、
前記出力高解像度画像の推定画像である推定出力高解像度画像を生成する高解像度画像推定部であって、前記推定出力高解像度画像の対象高解像度ラインの画素値を、前記複数の入力低解像度画像の中の１枚の画像である参照低解像度画像の中の前記対象高解像度ラインに対応付けられたラインの画素値を用いて算出する前記高解像度画像推定部と、
前記参照低解像度画像を用いて、低解像度な１枚の推定低解像度画像を作成する低解像度画像推定部であって、前記参照低解像度画像の中の前記対象高解像度ラインに対応付けられたラインの画素値を用いて、前記推定低解像度画像の中の前記対象高解像度ラインに対応付けられた対象低解像度ラインの画素値を算出する前記低解像度画像推定部と、
前記複数の入力低解像度画像の相対的な動き量を算出する動き量算出部と、
前記複数の入力低解像度画像の画素値と、前記対象低解像度ラインの画素値と、を用いて、前記対象高解像度ラインの画素値を更新する更新部と、
前記各部を制御する制御部と、
を備え、
前記更新部は、
前記各入力低解像度画像と前記推定低解像度画像とを重ね合わせたときの画素値の差を表す低解像度誤差画像の画素値を、前記各入力低解像度画像毎に算出する低解像度誤差画像算出部であって、前記各入力低解像度画像の画素値と、前記動き量と、前記推定低解像度画像の画素値と、を用いて、前記各低解像度誤差画像の中の前記対象低解像度ラインと同じ画像部分を表す対象低解像度誤差ラインの画素値を算出する前記低解像度誤差画像算出部と、
前記各低解像度誤差画像を合成した画像を表す高解像度な１枚の高解像度誤差画像の画素値を算出する高解像度誤差画像算出部であって、前記複数の低解像度誤差画像の前記対象低解像度誤差ラインの画素値を用いて、前記高解像度誤差画像の中の前記対象高解像度ラインと同じライン位置の対象高解像度誤差ラインの画素値を算出する前記高解像度誤差画像算出部と、
前記対象高解像度ラインの画素値に対する前記対象高解像度誤差ラインの画素値の負のフィードバックによって、前記対象高解像度ラインの画素値を更新する出力高解像度画像更新部と、
を備え、
前記制御部は、前記各部の処理を、前記対象高解像度ラインのライン位置を変更しつつ繰り返し実行させることによって、前記出力高解像度画像を生成する、
画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記低解像度画像推定部は、前記参照低解像度画像に平滑化処理を実行することによって前記対象低解像度ラインの画素値を算出する、画像処理装置。
【請求項３】
請求項１または請求項２に記載の画像処理装置であって、
前記低解像度誤差画像算出部は、前記各入力低解像度画像のそれぞれを、前記推定低解像度画像に重なるように移動させることによって、前記各低解像度誤差画像の前記対象低解像度誤差ラインの画素値を、前記対象低解像度ラインにおける各画素位置での画素値の差を表すように決定する、
画像処理装置。
【請求項４】
請求項３に記載の画像処理装置であって、
前記高解像度誤差画像算出部は、前記各低解像度誤差画像の前記対象低解像度誤差ラインの同じ画素位置における画素値の総合値を各画素位置について算出し、さらに、各画素位置における前記総合値が表す画像に対してシャープネス強調処理と高解像度化処理とを実行することによって、前記対象高解像度誤差ラインの画素値を算出する、画像処理装置。
【請求項５】
画像を複数のラインに分割したときの前記各ラインを表す複数のラスタデータを含む印刷データを取得して前記画像の印刷を実行する印刷装置に供給すべき印刷データを生成する印刷データ生成装置であって、
請求項１ないし請求項４のいずれかに記載の画像処理装置と、
前記更新部によって更新された前記対象高解像度ラインの画素値を用いることによって、前記出力高解像度画像を表す印刷データを生成する印刷データ生成部と、を備え、
前記印刷データ生成部は、更新済の前記対象高解像度ラインを用いて、前記更新済の対象高解像度ラインに対応付けられたラスタデータを生成し、
前記制御部は、さらに前記印刷データ生成部を制御するとともに、前記印刷データ生成部を含む前記各部の処理を、前記対象高解像度ラインのライン位置を変更しつつ繰り返し実行させることによって、前記印刷データを生成する、
印刷データ生成装置。
【請求項６】
画素密度が比較的低い低解像度な複数の入力低解像度画像から、画素密度が比較的高い高解像度な出力高解像度画像を生成する画像処理方法であって、
（ａ）前記出力高解像度画像の推定画像である推定出力高解像度画像を生成する工程であって、前記推定出力高解像度画像の対象高解像度ラインの画素値を、前記複数の入力低解像度画像の中の１枚の画像である参照低解像度画像の中の前記対象高解像度ラインに対応付けられたラインの画素値を用いて算出する、前記工程と、
（ｂ）前記参照低解像度画像を用いて、低解像度な１枚の推定低解像度画像を作成する工程であって、前記参照低解像度画像の中の前記対象高解像度ラインに対応付けられたラインの画素値を用いて、前記推定低解像度画像の中の前記対象高解像度ラインに対応付けられた対象低解像度ラインの画素値を算出する、前記工程と、
（ｃ）前記複数の入力低解像度画像の相対的な動き量を算出する工程と、
（ｄ）前記複数の入力低解像度画像の画素値と、前記対象低解像度ラインの画素値と、を用いて、前記対象高解像度ラインの画素値を更新する工程と、
（ｅ）前記工程（ａ）と、前記工程（ｂ）と、前記工程（ｃ）と、前記工程（ｄ）とを、前記対象高解像度ラインのライン位置を変更しつつ繰り返し実行することによって、前記出力高解像度画像を生成する工程と、
を備え、
前記工程（ｄ）は、
（ｄ１）前記各入力低解像度画像と前記推定低解像度画像とを重ね合わせたときの画素値の差を表す低解像度誤差画像の画素値を、前記各入力低解像度画像毎に算出する工程であって、前記各入力低解像度画像の画素値と、前記動き量と、前記推定低解像度画像の画素値と、を用いて、前記各低解像度誤差画像の中の前記対象低解像度ラインと同じ画像部分を表す対象低解像度誤差ラインの画素値を算出する、前記工程と、
（ｄ２）前記各低解像度誤差画像を合成した画像を表す高解像度な１枚の高解像度誤差画像の画素値を算出する工程であって、前記複数の低解像度誤差画像の前記対象低解像度誤差ラインの画素値を用いて、前記高解像度誤差画像の中の前記対象高解像度ラインと同じライン位置の対象高解像度誤差ラインの画素値を算出する、前記工程と、
（ｄ３）前記対象高解像度ラインの画素値に対する前記対象高解像度誤差ラインの画素値の負のフィードバックによって、前記対象高解像度ラインの画素値を更新する工程と、
を含む、画像処理方法。
【請求項７】
画素密度が比較的低い低解像度な複数の入力低解像度画像から、画素密度が比較的高い高解像度な出力高解像度画像を生成する画像処理をコンピュータに実行させるためのコンピュータプログラムであって、
（ａ）コンピュータに、前記出力高解像度画像の推定画像である推定出力高解像度画像を生成させる機能であって、前記推定出力高解像度画像の対象高解像度ラインの画素値を、前記複数の入力低解像度画像の中の１枚の画像である参照低解像度画像の中の前記対象高解像度ラインに対応付けられたラインの画素値を用いて算出させる、前記機能と、
（ｂ）コンピュータに、前記参照低解像度画像を用いて、低解像度な１枚の推定低解像度画像を作成させる機能であって、前記参照低解像度画像の中の前記対象高解像度ラインに対応付けられたラインの画素値を用いて、前記推定低解像度画像の中の前記対象高解像度ラインに対応付けられた対象低解像度ラインの画素値を算出させる、前記機能と、
（ｃ）コンピュータに、前記複数の入力低解像度画像の相対的な動き量を算出させる機能と、
（ｄ）コンピュータに、前記複数の入力低解像度画像の画素値と、前記対象低解像度ラインの画素値と、を用いて、前記対象高解像度ラインの画素値を更新させる機能と、
（ｅ）コンピュータに、前記機能（ａ）と、前記機能（ｂ）と、前記機能（ｃ）と、前記機能（ｄ）とを、前記対象高解像度ラインのライン位置を変更しつつ繰り返し実行することによって、前記出力高解像度画像を生成させる機能と、
を実現させるコンピュータプログラムであり、
前記機能（ｄ）は、
（ｄ１）コンピュータに、前記各入力低解像度画像と前記推定低解像度画像とを重ね合わせたときの画素値の差を表す低解像度誤差画像の画素値を、前記各入力低解像度画像毎に算出させる機能であって、前記各入力低解像度画像の画素値と、前記動き量と、前記推定低解像度画像の画素値と、を用いて、前記各低解像度誤差画像の中の前記対象低解像度ラインと同じ画像部分を表す対象低解像度誤差ラインの画素値を算出させる、前記機能と、
（ｄ２）コンピュータに、前記各低解像度誤差画像を合成した画像を表す高解像度な１枚の高解像度誤差画像の画素値を算出させる機能であって、前記複数の低解像度誤差画像の前記対象低解像度誤差ラインの画素値を用いて、前記高解像度誤差画像の中の前記対象高解像度ラインと同じライン位置の対象高解像度誤差ラインの画素値を算出させる、前記機能と、
（ｄ３）コンピュータに、前記対象高解像度ラインの画素値に対する前記対象高解像度誤差ラインの画素値の負のフィードバックによって、前記対象高解像度ラインの画素値を更新させる機能と、
を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画素の密度が低い複数の画像から画素の密度が高い画像を生成する技術に関するものである。
【背景技術】
【０００２】
デジタルビデオカメラ等で撮影された動画像は、動画像の１シーンを表現する静止画像の生成にも利用されている。動画像は静止画像（フレーム画像とも呼ばれる）を複数含んでいる。ここで、複数のフレーム画像を用いて、フレーム画像よりも画素の密度の高い静止画像を生成する処理（高解像度化処理とも呼ばれる）が用いられている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２００４−２７２７５１号公報
【０００４】
ところが、複数のフレーム画像を用いることによって、高解像度化処理に用いられるデータ量が多くなるので、高解像度化処理の負荷が高くなる傾向にある。その結果、このような高解像度化処理を実行するために、高速な演算処理速度や大容量のメモリといった高い演算能力が要求される傾向にあった。
【０００５】
なお、このような問題は、動画像を用いて静止画像を生成する場合に限らず、独立な複数の静止画像を用いて画素密度のより高い静止画像を生成する場合に共通する問題であった。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記の課題を解決するためになされたものであり、複数の低解像度な画像を用いて高解像度な画像を生成する処理の負荷を軽減することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題の少なくとも一部を解決するため、本発明の第１の態様に係る画像処理装置は、画素密度が比較的低い低解像度な複数の入力低解像度画像から、画素密度が比較的高い高解像度な出力高解像度画像を生成する画像処理装置であって、前記出力高解像度画像の推定画像である推定出力高解像度画像を生成する高解像度画像推定部であって、前記推定出力高解像度画像の対象高解像度ラインの画素値を、前記複数の入力低解像度画像の中の１枚の画像である参照低解像度画像の中の前記対象高解像度ラインに対応付けられたラインの画素値を用いて算出する前記高解像度画像推定部と、前記参照低解像度画像を用いて、低解像度な１枚の推定低解像度画像を作成する低解像度画像推定部であって、前記参照低解像度画像の中の前記対象高解像度ラインに対応付けられたラインの画素値を用いて、前記推定低解像度画像の中の前記対象高解像度ラインに対応付けられた対象低解像度ラインの画素値を算出する前記低解像度画像推定部と、前記複数の入力低解像度画像の相対的な動き量を算出する動き量算出部と、前記複数の入力低解像度画像の画素値と、前記対象低解像度ラインの画素値と、を用いて、前記対象高解像度ラインの画素値を更新する更新部と、前記各部を制御する制御部と、を備え、前記更新部は、前記各入力低解像度画像と前記推定低解像度画像とを重ね合わせたときの画素値の差を表す低解像度誤差画像の画素値を、前記各入力低解像度画像毎に算出する低解像度誤差画像算出部であって、前記各入力低解像度画像の画素値と、前記動き量と、前記推定低解像度画像の画素値と、を用いて、前記各低解像度誤差画像の中の前記対象低解像度ラインと同じ画像部分を表す対象低解像度誤差ラインの画素値を算出する前記低解像度誤差画像算出部と、前記各低解像度誤差画像を合成した画像を表す高解像度な１枚の高解像度誤差画像の画素値を算出する高解像度誤差画像算出部であって、前記複数の低解像度誤差画像の前記対象低解像度誤差ラインの画素値を用いて、前記高解像度誤差画像の中の前記対象高解像度ラインと同じライン位置の対象高解像度誤差ラインの画素値を算出する前記高解像度誤差画像算出部と、前記対象高解像度ラインの画素値に対する前記対象高解像度誤差ラインの画素値の負のフィードバックによって、前記対象高解像度ラインの画素値を更新する出力高解像度画像更新部と、を備え、前記制御部は、前記各部の処理を、前記対象高解像度ラインのライン位置を変更しつつ繰り返し実行させることによって、前記出力高解像度画像を生成する。
【０００８】
この画像処理装置によれば、画像の一部のラインを対象とする処理を繰り返すことによって、推定出力高解像度画像の画素値が更新されるので、画像の全体をまとめて更新する場合と比べて、複数の低解像度な画像を用いて高解像度な画像を生成する処理の負荷を軽減することが可能となる。さらに、推定出力高解像度画像の画素値の更新が、１枚の推定低解像度画像の画素値を用いて行われるので、複数枚の推定低解像度画像の画素値を用いる場合と比べて、複数の低解像度な画像を用いて高解像度な画像を生成する処理の負荷を、さらに軽減することが可能となる。
【０００９】
上記画像処理装置において、前記低解像度画像推定部は、前記参照低解像度画像に平滑化処理を実行することによって前記対象低解像度ラインの画素値を算出することとしてもよい。
【００１０】
この構成によれば、対象低解像度ラインの画素値の算出が容易となるので、複数の低解像度画像を用いた高解像度画像の生成処理の負荷をさらに軽減することが可能となる。
【００１１】
上記各画像処理装置において、前記低解像度誤差画像算出部は、前記各入力低解像度画像のそれぞれを、前記推定低解像度画像に重なるように移動させることによって、前記各低解像度誤差画像の前記対象低解像度誤差ラインの画素値を、前記対象低解像度ラインにおける各画素位置での画素値の差を表すように決定することとしてもよい。
【００１２】
この構成によれば、各低解像度誤差画像を移動させずに重ねることが可能となるので、高解像度誤差画像の画素値の算出処理の負担を軽減することが可能となる。
【００１３】
上記画像処理装置において、前記高解像度誤差画像算出部は、前記各低解像度誤差画像の前記対象低解像度誤差ラインの同じ画素位置における画素値の総合値を各画素位置について算出し、さらに、各画素位置における前記総合値が表す画像に対してシャープネス強調処理と高解像度化処理とを実行することによって、前記対象高解像度誤差ラインの画素値を算出することが好ましい。
【００１４】
この構成によれば、シャープネス強調処理と、高解像度化処理と、の対象となるデータの量が低減されるので、高解像度誤差画像の画素値の算出処理の負荷を軽減することが可能となる。
【００１５】
本発明の第２の態様に係る印刷データ生成装置は、画像を複数のラインに分割したときの前記各ラインを表す複数のラスタデータを含む印刷データを取得して前記画像の印刷を実行する印刷装置に供給すべき印刷データを生成する印刷データ生成装置であって、上記第１の態様に係る画像処理装置と、前記更新部によって更新された前記対象高解像度ラインの画素値を用いることによって、前記出力高解像度画像を表す印刷データを生成する印刷データ生成部と、を備え、前記印刷データ生成部は、更新済の前記対象高解像度ラインを用いて、前記更新済の対象高解像度ラインに対応付けられたラスタデータを生成し、前記制御部は、さらに前記印刷データ生成部を制御するとともに、前記印刷データ生成部を含む前記各部の処理を、前記対象高解像度ラインのライン位置を変更しつつ繰り返し実行させることによって、前記印刷データを生成する。
【００１６】
この印刷データ生成装置によれば、画像の一部のラインを対象とする処理を繰り返すことによって、印刷データが生成されるので、画像の全体をまとめて処理する場合と比べて、複数の低解像度な画像を用いて高解像度な画像を生成するとともに、得られた高解像度な画像を用いて印刷を実行するための印刷データを生成する処理の負荷を軽減することが可能となる。
【００１７】
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法および装置、複画像高解像度化処理方法および装置、複画像高解像度化処理を用いた印刷データ生成方法および装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００１８】
次に、この発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ｂ．変形例：
【００１９】
Ａ．第１実施例：
Ａ１．装置の構成：
図１は、本発明の実施例としての画像処理システムの構成を示すブロック図である。この画像処理システム８００は、プリンタ５００と、デジタルビデオカメラ３００とを有している。プリンタ５００は、データ処理部１００と、印刷実行部７００と、を有している。
【００２０】
データ処理部１００は、ＣＰＵ１１０と、表示部１２０と、操作部１３０と、インターフェイス部（Ｉ／Ｆ部）１５０と、内部記憶装置２００と、を備えている。これらの構成要素は、互いにバス１７０を介して接続されている。
【００２１】
表示部１２０は、例えば、液晶ディスプレイを有している。また、操作部１３０は、例えば、複数のボタンを含む操作パネルを有している。また、内部記憶装置２００は、例えば、ＲＡＭを有している。
【００２２】
内部記憶装置２００は、画像選択部２１５と、低解像度画像推定部２２０と、高解像度画像推定部２３０と、低解像度差分画像生成部２４０と、移動量算出部２５０と、高解像度差分画像生成部２６０と、出力高解像度画像更新部２７０と、印刷データ生成部２９０と、これらの各機能部を制御する制御部２１０と、を有している。これらの各構成要素の機能については後述する。また、各構成要素の機能は、ＣＰＵ１１０が実行するコンピュータプログラムによって実現されている。
【００２３】
インターフェイス部１５０は、複数の入出力端子を有しており、デジタルビデオカメラ３００といった外部機器との間でデータ通信を行う。また、インターフェイス部１５０には、印刷実行部７００が接続されている。この印刷実行部７００は、データ処理部１００から印刷データを受け取って、画像の印刷を行う。印刷実行部７００の構成としては、インク滴を吐出して印刷を行う構成や、熱転写方式によって印刷を行う構成等の、周知の種々の構成を採用することができる。
【００２４】
デジタルビデオカメラ３００は、動画像を生成する。生成された動画像は、データ処理部１００に転送される。データ処理部１００は、動画像を用いて静止画像を生成する。ところで、動画像は、静止画像（フレーム画像とも呼ばれる）を複数含んでいる。データ処理部１００は、複数のフレーム画像を用いて、フレーム画像よりも高解像度な静止画像を生成する。各画像は、マトリックス状に配置される複数の画素値を含んでいる。ただし、高解像度な画像は、低解像度な画像と比べて、画素密度が高い。このように、本明細書において、「高解像度」とは画素密度が高いことを意味しており、「低解像度」とは画素密度が低いことを意味している。また、以下、複数の静止画像を用いて高解像度な静止画像を生成する処理を「複画像高解像度化処理」とも呼ぶ。なお、高解像度の画素密度は、低解像度の画素密度のＭ倍（Ｍは１より大きな任意の値）に設定可能である。但し、Ｍは２以上に設定することが好ましく、本実施例では、Ｍ＝２に設定される。
【００２５】
Ａ２．複画像高解像度化処理の比較例：
図２は、複画像高解像度化処理の比較例を示す説明図である。図２の例では、３枚の低解像度なフレーム画像（以下「入力画像Ｉｉｍｇ」とも呼ぶ）から、１枚の高解像度な出力画像Ｏｉｍｇを生成することとしている。以後、図中において、符号ＬＲ(Low Resolution)が付された画像は低解像度な画像を表し、符号ＨＲ(High Resolution)が付された画像は高解像度な画像を表すこととする。
【００２６】
図３は、複画像高解像度化処理の比較例の手順を示すフローチャートである。ステップＳ２００では、画像選択部２１５（図１）が、ユーザの指示に従って入力画像Ｉｉｍｇを選択する。入力画像Ｉｉｍｇの選択方法としては、任意の方法を採用することができる。例えば、画像選択部２１５が動画像を表示部１２０に表示し、ユーザが好みの画像（フレーム画像）を操作部１３０を用いて指定し、画像選択部２１５が、指定されたフレーム画像（以下「指定フレーム画像」と呼ぶ）を含む複数（この場合は３枚）のフレーム画像を選択することとすればよい。この際、時系列に沿った順番が指定フレーム画像の前と後とであるフレーム画像を選択してもよく、また、これとは異なる他の組み合わせを選択してもよい。
【００２７】
次のステップＳ２１０では、高解像度画像推定部２３０（図１）が、入力画像Ｉｉｍｇを用いて仮の出力画像Ｏｉｍｇを生成する。図２の例では、時系列に沿った順番が中央である参照入力画像Ｒｉｍｇを用いて仮の出力画像Ｏｉｍｇを生成する。具体的には、高解像度画像推定部２３０は、周知のバイリニア法を用いて、低解像度な参照入力画像Ｒｉｍｇから高解像度な仮の出力画像Ｏｉｍｇを生成する。
【００２８】
なお、後述するように、最終的な出力画像Ｏｉｍｇは、仮の出力画像Ｏｉｍｇを修正することによって生成される。従って、仮の出力画像Ｏｉｍｇの生成方法としては、バイリニア法に限らず、種々の方法を採用することができる。例えば、ニアレストネイバ法を用いてもよい。
【００２９】
また、参照入力画像Ｒｉｍｇを他の規則に従って定めてもよい。例えば、時系列に沿った順番が先頭の入力画像Ｉｉｍｇを参照入力画像Ｒｉｍｇとして用いることとしてもよい。
【００３０】
次のステップＳ２２０では、移動量算出部２５０（図１）が、各入力画像Ｉｉｍｇの相対移動量を算出する。この相対移動量は、ある入力画像Ｉｉｍｇの全体と、参照入力画像Ｒｉｍｇの全体と、の相対的な位置を表す値である。このような相対移動量（相対動き量とも呼ぶ）としては、例えば、入力画像Ｉｉｍｇ全体の参照入力画像Ｒｉｍｇ全体に対する動きベクトルを用いることができる。また、相対移動量としては、画像の平行移動を表す移動量に限らず、他の種々の動きを表す移動量を採用することができる。例えば、平行移動と回転移動とを含む動きを表す移動量を採用してもよい。いずれの場合も、相対移動量の算出方法としては、周知の種々の方法を採用することができる。例えば、各入力画像Ｉｉｍｇから特徴点を抽出し、特徴点の移動量を算出することによって相対移動量を算出する方法を採用することができる。
【００３１】
次の、ステップＳ２３０では、低解像度画像推定部２２０（図１）が、入力画像Ｉｉｍｇを用いて１枚の推定画像Ｅｉｍｇａを生成する。具体的には、低解像度画像推定部２２０は、参照入力画像Ｒｉｍｇに対してぼかし処理（平滑化処理）を実行することによって、１枚の推定画像Ｅｉｍｇａを生成する。ここで、仮の出力画像Ｏｉｍｇと、推定画像Ｅｉｍｇａとは、同じ参照入力画像Ｒｉｍｇから生成される（ステップＳ２１０、Ｓ２３０）。従って、低解像度画像推定部２２０は、仮の出力画像Ｏｉｍｇと整合性のある推定画像Ｅｉｍｇａを生成することができる。換言すれば、これの推定画像Ｅｉｍｇａは、仮の出力画像Ｏｉｍｇが最適な画像であると仮定した場合に、入力画像Ｉｉｍｇ（参照入力画像Ｒｉｍｇ）が有すべき画像を表している。また、ぼかし処理（平滑化処理）としては、周知の種々の処理を採用することができる。
【００３２】
次のステップＳ２４０では、低解像度差分画像生成部２４０（図１）が、３枚の入力画像Ｉｉｍｇと１枚の推定画像Ｅｉｍｇａとを用いて、各入力画像Ｉｉｍｇ毎の低解像度差分画像ＬＤｉｍｇａを生成する。具体的には、低解像度差分画像生成部２４０は、入力画像Ｉｉｍｇを相対移動量に従って移動させ、移動後の画像と、推定画像Ｅｉｍｇａと、を用いて低解像度差分画像ＬＤｉｍｇａを生成する。画像の移動処理では、入力画像Ｉｉｍｇが、推定画像Ｅｉｍｇａと重なるように移動される。また、低解像度差分画像ＬＤｉｍｇａの各画素値は、推定画像Ｅｉｍｇａの各画素値と、移動後の入力画像Ｉｉｍｇにおける同じ画素位置での画素値と、の差分（Ｅｉｍｇａ−Ｉｉｍｇ）に設定される。移動後の入力画像Ｉｉｍｇの画素位置と、推定画像Ｅｉｍｇａの画素位置とが重なっていない場合には、移動後の画像における画素値が、周知の補間処理（例えば、バイリニア法やニアレストネイバ法）によって算出される。このように、３枚の低解像度差分画像ＬＤｉｍｇａのそれぞれは、１枚の推定画像Ｅｉｍｇａの画素位置で算出された画素差分値で構成されているので、３枚の低解像度差分画像ＬＤｉｍｇａ相互の位置は互いに一致している。
【００３３】
この低解像度差分画像ＬＤｉｍｇａの意味は、以下のように説明できる。仮の出力画像Ｏｉｍｇと、各入力画像Ｉｉｍｇと、の関係が理想的な状態の場合、すなわち、仮の出力画像Ｏｉｍｇと、各入力画像Ｉｉｍｇと、が、位置（相対移動量）のみが異なる同じ画像を表す場合には、各低解像度差分画像ＬＤｉｍｇａの各画素値はゼロに近い値となる。一方、仮の出力画像Ｏｉｍｇと理想的な出力画像との間の差異が大きい場合、すなわち、仮の出力画像Ｏｉｍｇと各入力画像Ｉｉｍｇとの間の差異が大きい場合には、その差異によって、各低解像度差分画像ＬＤｉｍｇａの画素値がゼロから離れることとなる。このように、低解像度差分画像ＬＤｉｍｇａの画素値のゼロからのズレの大きさは、仮の出力画像Ｏｉｍｇと理想的な出力画像との違いの大きさを意味することになる。従って、低解像度差分画像ＬＤｉｍｇａの画素値を仮の出力画像Ｏｉｍｇにフィードバックさせれば、仮の出力画像Ｏｉｍｇを理想的な出力画像に近づけることが可能となる。
【００３４】
次のステップＳ２５０では、高解像度差分画像生成部２６０（図１）が、各低解像度差分画像ＬＤｉｍｇａを合成して１枚の合成済低解像度差分画像ＣＬＤｉｍｇａを生成する。この合成済低解像度差分画像ＣＬＤｉｍｇａの各画素値は、各低解像度差分画像ＬＤｉｍｇａの同じ画素位置の画素値の和に設定される。なお、上述したように、各低解像度差分画像ＬＤｉｍｇａは、共通の推定画像Ｅｉｍｇａの画素位置を基準として生成されている。従って、高解像度差分画像生成部２６０は、各低解像度差分画像ＬＤｉｍｇａを移動させずに合成済低解像度差分画像ＣＬＤｉｍｇａを生成することができる。
【００３５】
次のステップＳ２６０では、高解像度差分画像生成部２６０が、合成済低解像度差分画像ＣＬＤｉｍｇａを用いて合成済高解像度差分画像ＣＨＤｉｍｇａを生成する。具体的には、高解像度差分画像生成部２６０は、合成済低解像度差分画像ＣＬＤｉｍｇａに対して高解像度化処理を実行し、さらに、シャープネス強調処理を実行することによって、合成済高解像度差分画像ＣＨＤｉｍｇａを生成する。なお、生成された合成済高解像度差分画像ＣＨＤｉｍｇａは、移動させることなく、仮の出力画像Ｏｉｍｇと重ねることが可能である。また、高解像度化処理としては、周知の種々の処理を採用することができる。例えば、バイリニア法やニアレストネイバ法を採用することができる。さらに、シャープネス強調処理としては、周知の種々の処理を採用することができる。例えば、アンシャープマスクを利用した処理を採用してもよい。
【００３６】
次のステップＳ２７０では、出力高解像度画像更新部２７０は、合成済高解像度差分画像ＣＨＤｉｍｇａを仮の出力画像Ｏｉｍｇにフィードバックする。このフィードバックは、仮の出力画像Ｏｉｍｇの各画素値を、以下の式（１）に従って修正することによって行われる。
【００３７】
更新後画素値  ＝  更新前画素値  ＋  α×差分画素値  ...（１）
【００３８】
ここで、更新後画素値は、フィードバック後の仮の出力画像Ｏｉｍｇの画素値である。更新前画素値は、フィードバック前の仮の出力画像Ｏｉｍｇの画素値である。差分画素値は、合成済高解像度差分画像ＣＨＤｉｍｇａの同じ画素位置の画素値である。αは、フィードバックの強度を表す係数である。この係数αは、フィードバックが過剰とならないように予め実験的に設定しておけばよい。なお、この係数αの正負は、負のフィードバックを実現するように決定される。本実施例では、差分画素値は、推定画像Ｅｉｍｇａから入力画像Ｉｉｍｇを差し引いた値（Ｅｉｍｇａ−Ｉｉｍｇ）から得られているので、係数αは、負の値である。
【００３９】
以上の処理によって、仮の出力画像Ｏｉｍｇを入力画像Ｉｉｍｇにより適した画像に更新することが可能となる。こうして最終的に更新された出力画像Ｏｉｍｇは、最終的な出力画像Ｏｉｍｇとして利用される。図１の例では、印刷データ生成部２９０が、この最終的な出力画像Ｏｉｍｇを印刷データに変換する。制御部２１０は、印刷データを、インターフェイス部１５０を介して印刷実行部７００に出力する。印刷実行部７００は、受け取った印刷データに従って、画像を印刷する。
【００４０】
なお、この比較例では、ステップＳ２３０においてぼかし処理（平滑化処理）を実行しているので、低解像度差分画像ＬＤｉｍｇａにおいて、各入力画像Ｉｉｍｇの鮮鋭な部分の画素値の絶対値を平滑な部分の画素値の絶対値よりも大きくすることができる。さらに、ステップＳ２６０でシャープネス強調処理を実行しているので、合成済高解像度差分画像ＣＨＤｉｍｇａにおいて、各入力画像Ｉｉｍｇの鮮鋭な部分を強調させることができる。その結果、更新後の仮の出力画像Ｏｉｍｇを、各入力画像Ｉｉｍｇと整合性のある鮮鋭な画像とすることができる。
【００４１】
Ａ３．複画像高解像度化処理の第１実施例：
図４は、複画像高解像度化処理の第１実施例の手順を示すフローチャートである。図３に示す比較例との差異は、画像の一部のラインのみを対象とした複画像高解像度化処理を実行する処理（以下「ライン処理」とも呼ぶ）を、繰り返し実行することによって、画像全体の複画像高解像度化処理を実行している点だけである。他の構成は、比較例と同じである。
【００４２】
ステップＳ５００の画像選択処理は、図３のステップＳ２００と同じである。また、ステップＳ５１０の相対移動量算出処理は、図３のステップＳ２２０と同じである。
【００４３】
次のステップＳ５２０では、制御部２１０（図１）は、メモリ（内部記憶装置２００）の中のライン処理（後述）の演算結果の保持に用いる部分（以下「バッファメモリ」とも呼ぶ）の初期化処理を実行する。初期化処理としては、周知の種々の処理を採用可能である。例えば、バッファメモリに格納されている値を、ライン処理の演算結果に影響を与えない値（例えば、「ゼロ」）に設定し直す処理を採用可能である。なお、バッファメモリに残っている値がライン処理に影響を与えない場合には、初期化処理を省略してもよい。
【００４４】
次のステップＳ５３０では、制御部２１０は、対象入力ラインの番号をゼロに初期化する。この対象入力ラインは、参照入力画像Ｒｉｍｇの複数の画素ライン（以下、単に「ライン」とも呼ぶ）の中の、ライン処理の基準となるラインである（詳細は後述）。第１実施例では、画像に含まれる複数のラインを識別するために、画像の一端部のラインから順番に、ゼロから始まる整数の番号を割り当てることとしている。以下、対象入力ラインの番号を「対象入力ライン番号LineNo」とも呼ぶ
【００４５】
次のステップＳ５４０では、制御部２１０は、内部記憶装置２００が有する各機能部を制御することによって、ライン処理を実行する。このライン処理では、上述した比較例と同様に、複画像高解像度化処理における複数の中間生成画像（図２：仮の出力画像Ｏｉｍｇ、推定画像Ｅｉｍｇａ、低解像度差分画像ＬＤｉｍｇａ、合成済低解像度差分画像ＣＬＤｉｍｇａ、合成済高解像度差分画像ＣＨＤｉｍｇａを含む）のそれぞれの画素値が算出され、さらに、仮の出力画像Ｏｉｍｇの画素値が更新される。ただし、比較例とは異なり、ライン処理の対象となるラインは、各画像の複数のラインの中の一部のラインのみである。以下、仮の出力画像Ｏｉｍｇの複数のラインの中の、ライン処理で画素値が更新されるラインを、「対象出力ライン」と呼ぶ。なお、各画像におけるライン処理の対象となるラインの組み合わせは、予め設定されている。ライン処理の詳細については後述する。
【００４６】
次のステップＳ５５０では、まず、印刷データ生成部２９０が、更新済の対象出力ラインの画素値を用いて印刷データを生成する。第１実施例では、印刷実行部７００は、印刷画像の一部のラインを表すラインデータ（「ラスタデータ」とも呼ばれる）を受け取ることによって、受け取ったラスタデータに従った一部のラインの印刷を繰り返し実行することとしている。そこで、印刷データ生成部２９０は、画素値が更新された対象出力ラインを用いて、対象出力ラインを表すラスタデータを生成する。次に、制御部２１０は、生成されたラスタデータを、インターフェイス部１５０を介して印刷実行部７００に出力する。印刷実行部７００は、受け取ったラスタデータに従って、印刷を実行する。なお、ラスタデータの構成としては、周知の種々の構成を採用することができる。
【００４７】
次のステップＳ５６０では、制御部２１０は、対象入力ライン番号LineNoに１を追加する。その結果、対象入力ラインが１つだけシフトする。
【００４８】
次のステップＳ５７０では、制御部２１０は、参照入力画像Ｒｉｍｇの最終ラインを基準としたライン処理が完了したか否かを判断する。最終ラインを基準としたライン処理が完了していない場合には、ステップＳ５４０に戻り、新たな対象入力ラインを基準としたステップＳ５４０〜Ｓ５６０の処理を繰り返し実行する。そして、最終ラインを基準（対象入力ライン）としたライン処理が完了した時点で、複画像高解像度化処理を完了する。
【００４９】
Ａ４．ライン処理：
図５は、出力画像Ｏｉｍｇの画素位置と、参照入力画像Ｒｉｍｇの画素位置と、を示す説明図である。図５には、重ね合わされた各画像Ｏｉｍｇ、Ｒｉｍｇの一部分の画素が示されている。白丸（○）は、参照入力画像Ｒｉｍｇの画素位置を示し、黒丸（●）は出力画像Ｏｉｍｇの画素位置を示している。各画像の複数の画素は、直交するＸ方向とＹ方向とに沿って配置されている。また、第１実施例では、出力画像Ｏｉｍｇ（高解像度画像）の画素密度は、参照入力画像Ｒｉｍｇ（低解像度画像）の画素密度の２倍に設定されている。図５の例では、出力画像Ｏｉｍｇの画素（黒丸「●」）は、参照入力画像Ｒｉｍｇの画素（白丸「○」）の間に均等に配置されている。
【００５０】
また、図５では、Ｘ方向に延びるラインにライン番号が付されている。具体的には、参照入力画像Ｒｉｍｇの連続する３本のラインに、順番に、ｎ、ｎ＋１、ｎ＋２（ｎは整数）が付されている。また、出力画像Ｏｉｍｇの連続する４本のラインに、順番に、ｉ、ｉ＋１、ｉ＋２、ｉ＋３（ｉは整数）が付されている。他のラインの番号は省略されている。ここで、ｉ、ｉ＋１番の高解像度なラインは、ｎ、ｎ＋１番の低解像度なラインの間に位置している。同様に、ｉ＋２、ｉ＋３番の高解像度なラインは、ｎ＋１、ｎ＋２番の低解像度なラインの間に位置している。以下、ライン番号がｍ（ｍは整数）であるラインのことを「ｍ」ラインとも呼ぶ。
【００５１】
図６は、第１実施例におけるライン処理の概要を示す説明図である。このライン処理では、隣接する２本の高解像度なライン（対象出力ライン）の画素値が更新される。図６の例では、対象入力ライン番号LineNoが「ｎ＋２」であり、対象出力ラインの番号が「ｉ＋１、ｉ＋２」であることとしている。
【００５２】
なお、図６において、符号Ｉｉｍｇ１、Ｉｉｍｇ２、Ｉｉｍｇ３のそれぞれは、入力画像を示している。また、第２入力画像Ｉｉｍｇ２は、参照入力画像Ｒｉｍｇに相当している。
【００５３】
さらに、以下、画像を示す符号の先頭に「L_」の文字を追加するとともに「img」の文字を削除して得られる符号を、その画像のラインを示す符号として用いる。例えば、符号「L_I1」は、第１入力画像Ｉｉｍｇ１のラインを意味している。また、ラインを示す符号の後ろに追加された括弧付の数字は、ライン番号を示している。例えば、対象出力ライン（図６の下側）に付された符号「L_O(i+1)」は、出力画像Ｏｉｍｇの「ｉ＋１」ラインを示している。
【００５４】
図７は、ライン処理の手順を示すフローチャートである。ステップＳ６１０では、高解像度画像推定部２３０（図１）が、図３のステップＳ２１０と同様に、参照入力画像Ｒｉｍｇの画素値を用いて仮の出力画像Ｏｉｍｇの画素値を算出する。ただし、画素値を算出するライン数は２本である。図６の例では、「ｉ＋１」番と「ｉ＋２」番のラインL_O(i+1)、L_O(i+2)の画素値を算出する。この際、各ラインL_O(i+1)、L_O(i+2)の画素値を、バイリニア法によって算出する。「ｉ＋１」ラインL_O(i+1)には、このラインL_O(i+1)を挟む２本のラインL_I2(n)、L_I2(n+1)が用いられ、また、「ｉ＋２」ラインL_O(i+2)には、このラインL_O(i+2)を挟む２本のラインL_I2(n+1)、L_I2(n+2)が用いられる。ただし、他の任意の周知の高解像度化処理を採用してもよい。
【００５５】
次のステップＳ６３０では、低解像度画像推定部２２０（図１）が、図３のステップＳ２３０と同様に、参照入力画像Ｒｉｍｇを用いて推定画像Ｅｉｍｇａの画素値を算出する。ただし、画素値を算出するライン数は１本である。図６の例では、「ｎ＋２」ラインL_Ea(n+2)の画素値を算出する。このラインL_Ea(n+2)の画素値は、参照入力画像Ｒｉｍｇにおける、同じ画素位置の画素と、その周囲を囲む８つの画素と、の画素値の平均値に設定される。そこで、「ｎ＋２」ラインL_Ea(n+2)の生成には、参照入力画像Ｒｉｍｇにおける「ｎ＋２」ラインL_I2(n+2)と、そのラインに隣接する２本のラインL_I2(n+1)、L_I2(n+3)と、の３本のラインが用いられる。ただし、他の任意の周知のぼかし処理を採用してもよい。
【００５６】
次のステップＳ６４０では、低解像度差分画像生成部２４０（図１）が、図３のステップＳ２４０と同様に、各入力画像Ｉｉｍｇ毎の低解像度差分画像ＬＤｉｍｇａの画素値を算出する。ただし、画素値を算出するライン数は、各低解像度差分画像ＬＤｉｍｇａ毎に１本ずつである。図６の例では、３本の「ｎ＋２」ラインL_LDa1(n+2)、L_LDa2(n+2)、L_LDa3(n+2)の画素値を算出する。第１差分ラインL_LDa1(n+2)は、第１入力画像Ｉｉｍｇ１に対する差分を表し、第２差分ラインL_LDa2(n+2)は、第２入力画像Ｉｉｍｇ２に対する差分を、第３差分ラインL_LDa3(n+2)は、第３入力画像Ｉｉｍｇ３に対する差分を、それぞれ、示している。
【００５７】
第１差分ラインL_LDa1(n+2)の画素値は、以下のように算出される。低解像度差分画像生成部２４０は、まず、第１入力画像Ｉｉｍｇ１を、推定画像Ｅｉｍｇａと重なるように相対移動量に従って移動させるとともに、移動後の画像に関して、１本のラインL_Im1(n+2)の画素値を算出する。このラインL_Im1(n+2)の各画素値は、推定画像Ｅｉｍｇａの「ｎ＋２」ラインL_Ea(n+2)の各画素位置で算出した値に設定される。次に、第１差分ラインL_LDa1(n+2)の各画素値を、推定画像ＥｉｍｇａのラインL_Ea(n+2)と、移動後の画像のラインL_Im1(n+2)と、の同じ画素位置での画素値の差分（Ｅｉｍｇａ−Ｉｉｍｇ１）に設定する。他の差分ラインL_LDa2(n+2)、L_LDa3(n+2)の画素値も、同様にして設定する。このように、３本の差分ラインL_LDa1(n+2)、L_LDa2(n+2)、L_LDa3(n+2)のそれぞれは、１本のラインL_Ea(n+2)の画素位置で算出された画素差分値で構成されているので、３本の差分ラインの相互の位置は互いに一致している。
【００５８】
次のステップＳ６５０では、高解像度差分画像生成部２６０（図１）が、図３のステップＳ２５０と同様に、合成済低解像度差分画像ＣＬＤｉｍｇａの画素値を算出する。ただし、画素値を算出するライン数は１本である。図６の例では、「ｎ＋２」ラインL_CLDa(n+2)の画素値を算出する。この合成済の差分ラインL_CLDa(n+2)の各画素値は、３本の差分ラインL_LDa1(n+2)、L_LDa2(n+2)、L_LDa3(n+2)の同じ画素位置の画素値の和に設定される。上述したように、各差分ラインL_LDa1(n+2)、L_LDa2(n+2)、L_LDa3(n+2)は、共通のラインL_Ea(n+2)の画素位置を基準として生成されている。従って、高解像度差分画像生成部２６０は、各差分ラインを移動させずに合成済の差分ラインL_CLDa(n+2)を生成することが可能である。
【００５９】
次のステップＳ６６０では、高解像度差分画像生成部２６０（図１）が、図３のステップＳ２６０と同様に、合成済高解像度差分画像ＣＨＤｉｍｇａの画素値を算出する。ただし、画素値を算出するライン数は２本である。図６の例では、「ｉ＋１」番と「ｉ＋２」番のラインL_CHDa(i+1)、L_CHDa(i+2)の画素値を算出する。
【００６０】
具体的には、高解像度差分画像生成部２６０は、まず、２本の合成済差分ラインL_CLDa(n+1)、L_CLDa(n+2)を用いて高解像度化処理を実行する。その結果、これら２本のラインL_CLDa(n+1)、L_CLDa(n+2)の間に位置する２本の高解像度なラインL_CHDp(i+2)、L_CHDp(i+3)が生成される。なお、「ｎ＋１」ラインL_CLDa(n+1)の画素値としては、前回のライン処理で算出された値を用いる。
【００６１】
次に、高解像度差分画像生成部２６０は、これら２本の高解像度なラインL_CHDp(i+2)、L_CHDp(i+3)と、前回のライン処理で算出された２本の高解像度なラインL_CHDp(i)、L_CHDp(i+1)と、を用いて、シャープネス強調処理を実行する。その結果、合成済高解像度差分画像ＣＨＤｉｍｇａにおける２本の「ｉ＋１、ｉ＋２」ラインL_CHDa(i+1)、L_CHDa(i+2)が生成される。
【００６２】
なお、図６の例では、シャープネス強調処理として、３×３のマトリックスで表されたアンシャープマスクを用いた処理を採用している。従って、「ｉ＋１」ラインL_CHDa(i+1)の算出には、「ｉ＋１」ラインL_CHDp(i+1)を中心とする３本のラインL_CHDp(i)、L_CHDp(i+1)、L_CHDp(i+2)が用いられる。さらに、「ｉ＋２」ラインL_CHDa(i+2)の算出には、「ｉ＋２」ラインL_CHDp(i+2)を中心とする３本のラインL_CHDp(i+1)、L_CHDp(i+2)、L_CHDp(i+3)が用いられる。なお、シャープネス強調処理としては、他の任意の周知のシャープネス強調処理を採用してもよい。
【００６３】
次のステップＳ６７０では、出力高解像度画像更新部２７０（図１）は、図３のステップＳ２７０と同様に、合成済高解像度差分画像ＣＨＤｉｍｇａの画素値を仮の出力画像Ｏｉｍｇの画素値にフィードバックする。ただし、フィードバックの対象となるライン数は、２本である。図６の例では、「ｉ＋１」ラインL_CHDa(i+1)の画素値を、「ｉ＋１」ラインL_O(i+1)の画素値にフィードバックさせ、さらに、「ｉ＋２」ラインL_CHDa(i+2)の画素値を、「ｉ＋２」ラインL_O(i+2)の画素値にフィードバックさせる。以上の処理によって、２本の対象出力ラインL_O(i+1)、L_O(i+2)の画素値が更新される。
【００６４】
２本の対象出力ラインの画素値を更新したら、制御部２１０（図１）は、図７に示す１回のライン処理を完了し、図４のステップＳ５５０へ移行する。ステップＳ５５０では、印刷データ生成部２９０が、更新された２本の対象出力ラインL_O(i+1)、L_O(i+2)を用いて、対象出力ラインを表すラスタデータを生成する。次に、制御部２１０は、生成済のラスタデータを印刷実行部７００に出力し、印刷実行部７００は、取得したラスタデータに従って印刷を実行する。
【００６５】
次のステップＳ５６０では、制御部２１０（図１）は、対象入力ラインを１つだけシフトさせる。次回のライン処理では、対象入力ライン番号LineNoが「ｎ＋３」となり、対象出力ライン番号が「ｉ＋３、ｉ＋４」となる。このように、第１実施例のライン処理では、対象入力ラインと、対象出力ラインとは、以下の関係にある。対象出力ラインは、対象入力ラインの前に隣接する（ライン番号が１つ小さい）低解像度なライン（図５、図６の例では、「ｎ＋１」ラインL_I2(n+1)）を挟む２本の高解像度なラインとなる。
【００６６】
以後、制御部２１０は、対象入力ラインを１つずつシフトさせつつ、ステップＳ５４０〜Ｓ５６０の処理を繰り返し実行する。すると、各中間生成画像のそれぞれの複数のラインは、一部ずつ順番に生成されることとなる。また、仮の出力画像Ｏｉｍｇの複数のラインは、２本ずつ順番に更新されることとなる。その結果、内部記憶装置２００に設けられた各機能部のそれぞれは、比較例と同様に、各中間生成画像と、最終的な出力画像Ｏｉｍｇと、のそれぞれの全体を生成することとなる。従って、第１実施例では、上述した比較例と同様に、最終的な出力画像Ｏｉｍｇは、入力画像Ｉｉｍｇと整合性のある画像となる。同様に、印刷データ生成部２９０は、出力画像Ｏｉｍｇの全体についての印刷データ（ラスタデータ）を出力し、さらに、印刷実行部７００は、出力画像Ｏｉｍｇの全体を印刷することとなる。
【００６７】
なお、対象入力ラインのシフト数（図４、図６の例では１）に対する対象出力ラインのシフト数（図４、図６の例では２）の比率は２である。これは、低解像度画像の画素密度に対する高解像度画像の画素密度の比率が２であるからである。
【００６８】
以上説明した第１実施例は、以下のような種々の特徴と利点を有している。
【００６９】
第１の特徴点は、ライン処理（図６）では、複数の中間生成画像のそれぞれについて、一部のラインのみの画素値が算出される点である。一方、比較例（図３）では、各中間生成画像の生成処理を１つずつ順番に完了させ、最後に、仮の出力画像Ｏｉｍｇの全体を更新することによって、最終的な出力画像Ｏｉｍｇを生成していた。その結果、第１実施例では、複数の中間生成画像のそれぞれについて、全ての画素値を同時にメモリに格納せずに、仮の出力画像Ｏｉｍｇの複数のラインを順番に更新することが可能となる。従って、最終的な出力画像Ｏｉｍｇの生成に要するメモリ容量を比較例と比べて大幅に少なくすることができる。
【００７０】
例えば、合成済低解像度差分画像ＣＬＤｉｍｇａの生成に用いられるメモリの容量は、比較例では、低解像度な画像の３枚分（低解像度差分画像ＬＤｉｍｇａの３枚分）となるが、第１実施例では、低解像度なラインの３本分（差分ラインL_LDa1、L_LDa2、L_LDa3の３本分）で済む。また、合成済高解像度差分画像ＣＨＤｉｍｇａの生成に用いられるメモリ容量は、比較例では、高解像度な画像の１枚分（合成済低解像度差分画像ＣＬＤｉｍｇａを高解像度化した後の画像の１枚分）となるが、第１実施例では、高解像度なラインL_CHDpの４本分で済む。
【００７１】
第２の特徴点は、対象出力ラインを更新するライン処理と（図４：ステップＳ５４０）、更新済の対象出力ラインに対応するラスタデータを生成する処理と（ステップＳ５５０）、が、対象出力ラインを変えつつ繰り返し実行される点である（図４）。その結果、出力画像Ｏｉｍｇの全てのラインを同時にメモリに格納せずに、全てのラスタデータを生成することが可能となる。従って、複画像高解像度化処理によって高解像度な画像を生成するとともに、生成した高解像度な画像を用いて印刷データを生成する処理に要するメモリ容量を大幅に少なくすることができる。
【００７２】
第３の特徴点は、各低解像度差分画像ＬＤｉｍｇａ（図２）の生成に用いられる推定画像Ｅｉｍｇａの枚数を１枚としている点である。ところで、各低解像度差分画像ＬＤｉｍｇａを生成する方法としては、入力画像Ｉｉｍｇ毎に、その入力画像Ｉｉｍｇとぴったり重なる推定画像を個別に生成して用いる方法を採用することも可能である。ただし、第１実施例のように、１枚の推定画像Ｅｉｍｇａを、各入力画像Ｉｉｍｇに共通の画像として用いれば、推定画像Ｅｉｍｇａ、すなわち、低解像度な推定ラインL_Eaの生成処理の負荷を軽減することが可能となる。
【００７３】
第４の特徴点は、低解像度画像推定部２２０（図１）が、参照入力画像Ｒｉｍｇにぼかし処理を実行することによって、推定画像ＥｉｍｇａのラインL_Eaの画素値を算出している点である（図７：ステップＳ６３０）。その結果、各差分ラインL_LDa1、L_LDa2、L_LDa3において、各入力画像Ｉｉｍｇ１、Ｉｉｍｇ２、Ｉｉｍｇ３の鮮鋭な部分の画素値の絶対値を平滑な部分の画素値の絶対値よりも大きくすることができる。従って、その差分をフィードバックすることによって、更新した出力画像Ｏｉｍｇを、各入力画像Ｉｉｍｇと整合性のある鮮鋭な画像とすることができる。
【００７４】
第５の特徴点は、低解像度差分画像生成部２４０（図１）が、各入力画像Ｉｉｍｇのそれぞれを、共通の１枚の推定画像Ｅｉｍｇａと重なるように移動させることによって、各差分ラインL_LDa1、L_LDa2、L_LDa3を生成している点である（図７：ステップＳ６４０）。この構成により、高解像度差分画像生成部２６０（図１）は、図７のステップＳ６５０において、３本の差分ラインL_LDa1、L_LDa2、L_LDa3を移動させずに重ねることが可能となる。従って、合成済低解像度差分ラインL_CLDaの生成処理の負荷を軽減することが可能となる。
【００７５】
第６の特徴点は、高解像度差分画像生成部２６０（図１）が、合成済高解像度差分ラインL_CHDaを生成する際に、高解像度化処理（図７：ステップＳ６６０）の前に合成処理（ステップＳ６５０）を実行している点である。その結果、高解像度化処理の対象となる画像を１枚とすることができるので、合成済高解像度差分ラインL_CHDaの生成処理の負荷を軽減することができる。同様に、シャープネス強調処理の対象となる画像も１枚とすることもできるので、合成済高解像度差分ラインL_CHDaの生成処理の負荷を、さらに軽減することが可能となる。
【００７６】
第７の特徴点は、高解像度差分画像生成部２６０（図１）が、シャープネス強調処理を実行することによって合成済高解像度差分ラインL_CHDaを生成している点である（図７：ステップＳ６６０）。その結果、合成済高解像度差分ラインL_CHDaにおいて、各入力画像Ｉｉｍｇ１、Ｉｉｍｇ２、Ｉｉｍｇ３の鮮鋭な部分を強調することができる。従って、その差分をフィードバックすることによって、更新後の仮の出力画像Ｏｉｍｇを、各入力画像Ｉｉｍｇと整合性のある鮮鋭な画像とすることができる。
【００７７】
ところで、出力画像Ｏｉｍｇの端部の画素については、上述したライン処理とは異なる処理に従って画素値を算出することとしてもよい。例えば、出力高解像度画像更新部２７０が、仮の出力画像Ｏｉｍｇの画素値を、そのまま、最終的な画素値として出力することとしてもよい。こうすれば、出力画像Ｏｉｍｇの端部が、一部の入力画像Ｉｉｍｇの外にはみ出ている場合でも、適切な画素値を設定することが可能となる。また、全ての入力画像Ｉｉｍｇと重なっている画像部分のみを、出力画像Ｏｉｍｇとして採用することとしてもよい。こうすれば、出力画像Ｏｉｍｇの全ての画素値を、上述したライン処理で更新することが可能となる。なお、出力画像Ｏｉｍｇの端部の画素を取り扱う方法としては、他の任意の周知の方法を採用することが可能である。
【００７８】
Ｂ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００７９】
変形例１：
上記実施例では、平滑化処理を実行することによって推定画像Ｅｉｍｇａ（ラインL_Ea）を生成しているが（図６、図７：ステップＳ６３０）、平滑化処理を実行しないこととしてもよい。例えば、ステップＳ６３０において、参照入力画像Ｒｉｍｇ（ラインL_I2）を、そのまま、推定画像Ｅｉｍｇａ（ラインL_Ea）として用いることとしてもよい。ただし、平滑化処理を実行すれば、更新後の仮の出力画像Ｏｉｍｇの鮮鋭化を図ることが可能となる。
【００８０】
同様に、上記実施例では、シャープネス強調処理を実行することによって合成済高解像度差分画像ＣＨＤｉｍｇａ（ラインL_CHDa）を生成しているが（図６、図７：ステップＳ６６０）、シャープネス強調処理を実行しないこととしてもよい。ただし、シャープネス強調処理を実行すれば、更新後の仮の出力画像Ｏｉｍｇの鮮鋭化を図ることが可能となる。
【００８１】
変形例２：
上記実施例では、各入力画像Ｉｉｍｇを移動させることによって各低解像度差分画像ＬＤｉｍｇａ（ラインL_LDa1、L_LDa2、L_LDa3）を生成しているが（図６、図７：ステップＳ６４０）、推定画像Ｅｉｍｇａ（ラインL_Ea）を移動させることとしてもよい。例えば、ステップＳ６４０において、推定画像Ｅｉｍｇａのラインを各入力画像Ｉｉｍｇと重なるように移動させることによって、各差分ラインL_LDa1、L_LDa2、L_LDa3の画素値を、各入力画像Ｉｉｍｇの画素位置での画素差分値に設定してもよい。ただし、各入力画像Ｉｉｍｇを共通の１枚の推定画像Ｅｉｍｇａと重なるように移動させれば、各低解像度差分画像ＬＤｉｍｇａ（ラインL_LDa1、L_LDa2、L_LDa3）を、移動させずに重ね合わせて合成することができるので、各低解像度差分画像ＬＤｉｍｇａ（ラインL_LDa1、L_LDa2、L_LDa3）の合成処理の負荷を軽減することが可能となる。
【００８２】
変形例３：
上記実施例では、各低解像度差分画像ＬＤｉｍｇａ（ラインL_LDa1、L_LDa2、L_LDa3）の合成処理（図６、図７：ステップＳ６５０）を実行してから、高解像度化処理（ステップＳ６６０）を実行しているが、各低解像度差分画像ＬＤｉｍｇａ（ラインL_LDa1、L_LDa2、L_LDa3）に高解像度化処理を施してから、合成することとしてもよい。ただし、高解像度化処理の前に合成することとすれば、高解像度化処理に用いられるデータ量を低減させることが可能となるので、合成済高解像度差分画像ＣＨＤｉｍｇａ（ラインL_CHDa）の生成処理の負荷を軽減することができる。
【００８３】
また、上記実施例では、図６、図７のステップＳ６６０において、高解像度化処理の後にシャープネス強調処理を実行することとしていたが、逆に、シャープネス強調処理の後に高解像度化処理を実行することとしてもよい。ただし、高解像度化処理の後にシャープネス強調処理を実行することとすれば、高解像度な画像に対してシャープネス強調処理を実行することができるので、合成済高解像度差分画像ＣＨＤｉｍｇａ、すなわち、更新後の仮の出力画像Ｏｉｍｇをより鮮鋭なものとすることができる。
【００８４】
変形例４：
上述の実施例では、フィードバックの強度を表す係数αを、所定の固定値としていたが、この代わりに、可変値としてもよい。例えば、出力高解像度画像更新部２７０が、各出力ラインL_O毎に、係数αの絶対値を設定することとしてもよい。ここで、係数αの設定には、仮の出力画像Ｏｉｍｇと各入力画像Ｉｉｍｇとの差異の大きさを反映する評価値を用いることができる。具体的には、出力高解像度画像更新部２７０が、このような評価値を各出力ラインL_O毎に算出するとともに、ある出力ラインL_Oの係数αの絶対値を、その出力ラインL_Oの評価値が大きいほど大きな値に設定すればよい。こうすれば、最終的な出力画像Ｏｉｍｇにおいて、各入力画像Ｉｉｍｇの平滑な部分の平滑さを維持しつつ、鮮鋭な部分の鮮鋭さを強調することが可能となる。なお、このような評価値としては、例えば、合成済高解像度差分ラインL_CHDaの各画素値のゼロからのズレの大きさを表す統計値（例えば、自乗和や、絶対値の最大値）を採用可能である。また、合成済高解像度差分ラインL_CHDaの代わりに、合成済低解像度差分ラインL_CLDaに基づいて評価値を算出してもよい。また、他の種々のパラメータに基づいて係数αを設定することとしてもよい。
【００８５】
変形例５：
上記実施例では、各低解像度差分画像ＬＤｉｍｇａ（ラインL_LDa1、L_LDa2、L_LDa3）（すなわち、各入力画像Ｉｉｍｇ）の重みを同じものとして、合成済高解像度差分画像ＣＨＤｉｍｇａ（ラインL_CHDa）（すなわち、合成済低解像度差分画像ＣＬＤｉｍｇａ（ラインL_CLDa））を生成している。具体的には、合成済低解像度差分画像ＣＬＤｉｍｇａの画素値として、各低解像度差分画像ＬＤｉｍｇａの画素値の合計値（重みが均等な合計値）を用いている。この代わりに、各低解像度差分画像ＬＤｉｍｇａ（ラインL_LDa1、L_LDa2、L_LDa3）毎（すなわち、各入力画像Ｉｉｍｇ毎）に異なる重みを付すこととしてもよい。こうすれば、各入力画像Ｉｉｍｇ間で画像が異なる場合に、その差異が強調されることを抑制することが可能となる。例えば、参照入力画像Ｒｉｍｇの重みを、他の入力画像Ｉｉｍｇの重みよりも大きくすれば、出力画像Ｏｉｍｇを、参照入力画像Ｒｉｍｇを適切に表す画像とすることができる。
【００８６】
一般には、合成済高解像度差分画像ＣＨＤｉｍｇａは、各低解像度差分画像ＬＤｉｍｇａを合成した画像であればよい。ここで、「複数の画像を合成した画像」とは、合成して得られる画像の各画素値が、基の複数の画像の画素値の関数になっていることを意味している。同様に、合成済低解像度差分画像ＣＬＤｉｍｇａの画素値としては、各低解像度差分画像ＬＤｉｍｇａの同じ画素位置における各画素値の総合値を用いることができる。ここで、「複数の画素値の総合値」とは、複数の画素値の関数となっており、画素値の和と正の相関を有する値である。この総合値として、上述した実施例のように、重みが均等な合計値を用いれば、合成済低解像度差分画像ＣＬＤｉｍｇａの生成処理の負荷を低減することが可能となる。
【００８７】
変形例６：
上記実施例では、複画像高解像度化処理に用いる入力画像Ｉｉｍｇの枚数として３枚を採用しているが、３枚以外の任意の複数の枚数を採用可能である。ただし、過剰に多い枚数を採用すると、処理の負荷が過剰に高くなるので、入力画像Ｉｉｍｇの枚数は、２枚〜５枚の間の枚数とすることが好ましい。
【００８８】
変形例７：
上述の実施例のライン処理において、各画像（入力画像Ｉｉｍｇと、出力画像Ｏｉｍｇと、複数の中間生成画像）の複数のラインの中の、１回のライン処理の処理対象となるライン（画素値が利用されるラインと画素値が算出されるライン）の組み合わせとしては、図６に示す組み合わせに限らず、他の任意の組み合わせを採用することが可能である。一般には、ライン処理は、各画像の一部のラインを処理対象として用いることによって、最終的な出力画像Ｏｉｍｇの一部のラインを生成する処理であればよい。こうすれば、各中間生成画像のそれぞれについて、全画素値を同時にメモリに格納せずに、最終的な出力画像Ｏｉｍｇの複数のラインを順番に生成することができる。その結果、複画像高解像度化処理に要するメモリ容量を少なくすることが可能となる。なお、処理対象となるラインの組み合わせは、ライン処理の内容に合わせて予め設定しておけばよい。また、いずれの場合も、ライン処理において、不要となった演算結果を格納しているメモリ部分を、新たな演算結果を格納するために再利用することが好ましい。こうすれば、複画像高解像度化処理に要するメモリ容量を効果的に少なくすることが可能となる。
【００８９】
変形例８：
上述の実施例において、最終的な出力画像Ｏｉｍｇ全体の生成が完了した後にラスタデータの生成を開始することとしてもよい。ただし、図４に示した実施例のように、各画像（出力画像Ｏｉｍｇと、複数の中間生成画像）の一部のラインを処理対象として用いることによって、最終的な出力画像Ｏｉｍｇの一部のラインを表すラスタデータを生成する処理を、繰り返し実行することが好ましい。こうすれば、各中間生成画像と、最終的な出力画像Ｏｉｍｇと、のそれぞれについて、全ラインを同時にメモリに格納せずに、出力画像Ｏｉｍｇを表す複数のラスタデータを順番に生成することができる。その結果、複画像高解像度化処理によって高解像度な画像を生成するとともに、生成した高解像度画像を印刷するための印刷データを生成する処理に要するメモリ容量を少なくすることができる。従って、比較的演算処理能力の高いデータ処理装置（例えば、パーソナルコンピュータ）を用いなくても、比較的演算処理能力の低いプリンタを用いて、高解像度な画像の印刷を実行することが可能となる。
【００９０】
変形例９：
上述の第１実施例において、印刷実行部７００の構成としては、一部のラスタデータを取得するとともに、自立して、すなわち、データ処理部１００とは独立に、取得したラスタデータに従ったラインの印刷を実行可能な構成を採用することが好ましい。ここで、制御部２１０が、生成済のラスタデータを印刷実行部７００に出力するとともに、出力したラスタデータに従ったライン印刷が完了したか否かに拘わらずに、ライン処理（ステップＳ５４０）と、ラスタデータの生成と出力（ステップＳ５５０）とを、繰り返し実行させることが好ましい。こうすれば、複画像高解像度化処理と印刷処理とを平行に進めることができるので、複画像高解像度化処理によって生成された高解像度な画像を用いた印刷処理の高速化を図ることが可能となる。なお、このような印刷実行部７００の構成としては、周知の種々の構成を採用可能である。例えば、ＣＰＵとメモリとを有する印刷制御装置を印刷実行部７００に設け、この印刷制御装置が、自立して、取得したラスタデータに従ったラインの印刷を実行することとすればよい。ただし、データ処理部１００の制御部２１０が、ラスタデータを出力したら、印刷実行部７００からライン印刷の完了の通知を受け取った後に次の処理に移行することとしてもよい。
【００９１】
変形例１０：
上述の実施例においては、データ処理部１００をプリンタに設けることとしたが、この代わりに、データ処理部１００を、一般的なパーソナルコンピュータを用いて構成することとしてもよい。また、データ処理部１００を、情報携帯端末や、携帯電話、デジタルビデオカメラ、デジタルスチルカメラ等の他の種々の機器に設けることとしてもよい。上述したように、上記各実施例では、複画像高解像度化処理の負荷が軽減されている。従って、比較的演算処理能力の高いパーソナルコンピュータに限らず、演算処理能力が高いとはいえない種々の機器においても、複画像高解像度化処理を実現することが可能となる。また、生成された高解像度な出力画像Ｏｉｍｇは、印刷以外の種々の用途に利用可能である。例えば、モニタへの表示に利用することとしてもよく、また、出力画像Ｏｉｍｇ（より正確には、出力画像Ｏｉｍｇを表す出力画像データ）を格納する出力画像ファイルを、外部記憶装置（例えば、ハードディスクドライブ）に格納することとしてもよい。また、出力画像データを、データ処理部１００に接続された他の機器へ送信することとしてもよい。
【００９２】
変形例１１：
上記実施例では、動画像から高解像度な静止画像を生成することとしているが、この代わりに、複数枚の低解像度な静止画像から、高解像度な静止画像を生成することとしてもよい。
【００９３】
変形例１２：
上記実施例において、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよく、逆に、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよい。
【図面の簡単な説明】
【００９４】
【図１】本発明の実施例としての画像処理システムの構成を示すブロック図である。
【図２】複画像高解像度化処理の比較例を示す説明図である。
【図３】複画像高解像度化処理の比較例の手順を示すフローチャートである。
【図４】複画像高解像度化処理の第１実施例の手順を示すフローチャートである。
【図５】出力画像Ｏｉｍｇの画素位置と、参照入力画像Ｒｉｍｇの画素位置と、を示す説明図である。
【図６】第１実施例におけるライン処理の概要を示す説明図である。
【図７】ライン処理の手順を示すフローチャートである。
【符号の説明】
【００９５】
１００...データ処理部
１１０...ＣＰＵ
１２０...表示部
１３０...操作部
１５０...インターフェイス部
１７０...バス
２００...内部記憶装置
２１０...制御部
２１５...画像選択部
２２０...低解像度画像推定部
２３０...高解像度画像推定部
２４０...低解像度差分画像生成部
２５０...移動量算出部
２６０...高解像度差分画像生成部
２７０...出力高解像度画像更新部
２９０...印刷データ生成部
３００...デジタルビデオカメラ
５００...プリンタ
７００...印刷実行部
８００...画像処理システム
【図１】
2006202170.tif 000003
【図２】
2006202170.tif 000004
【図３】
2006202170.tif 000005
【図４】
2006202170.tif 000006
【図５】
2006202170.tif 000007
【図６】
2006202170.tif 000008
【図７】
2006202170.tif 000009