(57)【要約】 【課題】  低解像度画像の合成による高解像度化に伴うノイズの増大を軽減しつつ、高精細な画像を得ることが可能な技術を提供する。【解決手段】  画像処理装置は、エッジ検出部と動きベクトル検出部と高解像度化処理部とを備える。高解像度化処理部は、エッジ検出部によってエッジが検出された位置では、エッジベクトルと画像の動きベクトルのなす角度が小さいときに合成高解像度化処理モードを選択し、この角度が大きいときにはフラクタル補間高解像度化処理モードを選択する。また、エッジが検出されなかった位置では単純高解像度化処理モードによる高解像度化を選択して実行する。【選択図】  図２
2006221220.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が、高明度領域と低明度領域の境界付近にあるものと仮定している。四角の枠は低解像度画素を意味しており、枠内の数値は画素値（明度又は輝度）を意味している。この対象画素ＮpixにおけるエッジベクトルＥｖの方向（エッジ方向）は水平右方向である。また、入力画像Ｉｉｍｇ１と参照入力画像Ｒｉｍｇとの間の動きベクトルＭｖも水平右方向である。このとき、２つのベクトルＥｖ，Ｍｖのなす角度φは０度であり、閾値φｔｈ（例えば４５度）よりも小さい。図８（Ａ）のような場合には、複数の画素とエッジ（領域の境界）との位置関係が２つの入力画像Ｉｉｍｇ１，Ｒｉｍｇでは異なっている。従って、対象画素Ｎpix近傍の画像を高解像度化する際には、参照入力画像Ｒｉｍｇと入力画像Ｉｉｍｇ１の両方（あるいは３つの入力画像Ｉｉｍｇ１〜３）を用いて合成高解像度化処理を行う方が画像の精細度を向上させる効果が大きい。
【００４４】
一方、図８（Ｂ）の例では、入力画像Ｉｉｍｇ１と参照入力画像Ｒｉｍｇとの間の動きベクトルＭｖが垂直上向き方向であり、２つのベクトルＥｖ，Ｍｖのなす角度φは９０度であって閾値φｔｈ（例えば４５度）よりも大きい。図８（Ｂ）のような場合には、複数の画素とエッジとの位置関係が２つの入力画像Ｉｉｍｇ１，Ｒｉｍｇでほとんど変わらない。より具体的に言えば、図８（Ｂ）では、２つの入力画像Ｉｉｍｇ１，Ｒｉｍｇのいずれにおいてもエッジ（領域の境界）が画素の中央を通っている。従って、対象画素Ｐｘ近傍の画像を高解像度化する際に合成高解像度化処理を行っても、画像の精細度を向上させる効果は小さい。この場合には、フラクタル補間高解像度化処理を用いることによって、ある程度の高精細化を達成しつつ、より短時間で処理を完了することが好ましい。
【００４５】
なお、上述の説明から理解できるように、本明細書において、「エッジベクトルＥｖの方向」とは、画像内に領域同士の境界が存在している場合に、その境界線と直交する方向を意味する。換言すれば、エッジベクトルＥｖの方向は、画素値変化の大きな方向である。エッジベクトルＥｖの方向は、図６（Ｃ）で算出されるエッジ方向θと一致している。
【００４６】
なお、ステップＳ１４ｂにおける上記判定１、２としては、他の種々の判定方法を採用することが可能であり、例えば以下の判定１ａ、２ａを採用してもよい。
【００４７】
［判定１ａ］角度φ１，φ２の両方が所定の閾値φｔｈ以下のときには、エッジベクトルと動きベクトルとのなす角度が十分小さいと判定し、合成高解像度化処理モード（ステップＳ１５）を選択する。
［判定２ａ］角度φ１，φ２のいずれか一方が閾値φｔｈよりも大きいときには、エッジベクトルと動きベクトルとのなす角度が大きいと判定し、フラクタル補間高解像度化処理モード（ステップＳ１６ｂ）を選択する。
【００４８】
これらの判定１ａ，２ａを用いると、判定１，２を用いる場合よりもフラクタル補間高解像度化処理モードを選択する画素が多くなるので、より高速に処理を行うことができる。一方、判定１，２を用いると、判定１ａ，２ａを用いる場合よりもより高精細な画像が得られる。
【００４９】
なお、上述した判定１，２は、角度φが閾値よりも小さい動きベクトルが１つ以上の場合に合成高解像度化処理モードを選択し、一方、角度φが閾値よりも小さい動きベクトルが１つも無い場合にフラクタル補間高解像度化処理モードを選択しているものと考えることができる。また、判定１ａ，２ａは、角度φが閾値よりも小さい動きベクトルが２つ以上の場合に合成高解像度化処理モードを選択し、一方、角度φが閾値よりも小さい動きベクトルが２つに達しない場合にフラクタル補間高解像度化処理モードを選択しているものと考えることができる。従って、一般に、角度φが所定の閾値よりも小さい動きベクトルが所定数ｍ以上の場合に合成高解像度化処理モードを選択し、一方、角度φが閾値よりも小さい動きベクトルが所定数ｍに達しない場合にフラクタル補間高解像度化処理モードを選択するように、ステップＳ１４ｂの判定を実行することが可能である。なお、ｍは１以上の任意の整数に設定可能であるば、２以上に設定することが好ましい。この理由は、合成高解像度化処理を行う際に、３枚以上の入力画像（すなわち、参照入力画像Ｒｉｍｇと他の２枚以上の入力画像）を用いる方が、精細度向上の効果が大きいからである。
【００５０】
図５のステップＳ１７では、対象画素番号Ｎpixが更新される。なお、対象画素が各ラインの終端に達した場合には、対象ライン番号Ｎlineも更新される。全画素の処理が完了していなければ、ステップＳ１８からステップＳ１２に戻り、ラインバッファ４３０内の画像データが必要に応じて更新されてステップＳ１３〜Ｓ１８の処理が繰り返される。
【００５１】
このように、第１実施例では、エッジが存在する画素位置において、エッジベクトルと画像の動きベクトルとのなす角度が十分に小さい場合に合成高解像度化処理を実行するので、画素値の変化が急峻な画像部分についてはより高精細な画像を得ることができる。但し、エッジが存在する画素位置においても、エッジベクトルと動きベクトルとのなす角度が大きい場合にはフラクタル補間高解像度化処理を実行するので、合成高解像度化による高精細化の効果の少ない画素位置において合成高解像度化処理を実行することを避けて、ある程度の高精細化を達成しつつより高速に処理を完了することができる。さらに、エッジが無いと判定された画素位置では、単純高解像度化処理を実行するので、画素値の変化が緩慢な画像部分については合成高解像度化処理に起因してノイズが強調されてしまうことを防止することができる。また、単純高解像度化処理は、合成高解像度化処理に比べて処理時間が短いので、全体の処理時間を短縮できるという利点もある。
【００５２】
なお、上記実施例では、個々の低解像度画素毎に高解像度化処理モードの選択を行っていたが、この代わりに、各ライン毎に高解像度化処理モードの選択を行うようにしてもよい。例えば、参照入力画像Ｒｉｍｇの各ライン毎に、ライン内のエッジ量の和に相関のあるエッジ量指標値（例えば、エッジ量の和や、エッジ量の自乗和など）と、ライン内の複数の画素のエッジ方向に相関のあるエッジ方向指標値（例えばエッジ方向の平均値など）とを算出し、そのエッジ量指標値及びエッジ方向指標値とに応じて、各ライン毎に高解像度化処理モードの選択を行うことが可能である。
【００５３】
Ｂ．第２実施例：
図９は、第２実施例における高解像度化処理の全体手順を示すフローチャートである。第２実施例と第１実施例との差異は、図５のステップＳ１４ｂをステップＳ２０に置き換えた点だけであり、他の構成や処理内容は第１実施例と同じである。
【００５４】
ステップＳ２０では、エッジベクトルと動きベクトルとのなす角度φに応じて、合成高解像度化（ステップＳ１５）に使用される入力画像が選択される。図９は、ステップＳ２０の処理内容を示す説明図である。この例では、５つの入力画像Ｉｉｍｇ１〜５が使用されており、その中の３番目の入力画像Ｉｉｍｇ３が参照入力画像Ｒｉｍｇとして使用される。このとき、動きベクトルＭｖとしては、参照入力画像Ｒｉｍｇと、他の入力画像Ｉｉｍｇ１，２，４，５との間の４個の動きベクトルＭｖ１，Ｍｖ２，Ｍｖ４，Ｍｖ５が算出される。なお、動きベクトルとしては、隣接する２つの入力画像間の動きベクトルを算出しても良いが、ステップＳ２０の判断の際には、参照入力画像Ｒｉｍｇと、他の入力画像Ｉｉｍｇ１，２，４，５との間の動きベクトルを求めておくことが好ましい。
【００５５】
エッジベクトルＥｖと動きベクトルＭｖとの間の角度φは、各動きベクトル毎に算出される（図１０（Ｂ））。そして、この角度φが所定の閾値φｔｈ（例えば４５度）以下の入力画像が、合成高解像度化に使用する低解像度画像として選択される。なお、角度φが閾値φｔｈ以下の入力画像が多数存在する場合には、所定数（例えば参照画像以外に２枚）の入力画像のみを選択することが好ましい。この理由は、過度に多数の画像を合成すると、合成処理の時間が過大になるからである。なお、選択する入力画像としては、参照入力画像Ｒｉｍｇとなるべく時刻の近い入力画像が好ましい。
【００５６】
角度φが閾値φｔｈ以下の入力画像が、参照画像Ｒｉｍｇ以外に１枚以上存在する場合には、ステップＳ１５において合成高解像度化処理が実行される。一方、角度φが閾値φｔｈ以下の入力画像が、参照画像Ｒｉｍｇ以外には１枚も存在しない場合には、ステップＳ１６ｂにおいてフラクタル補間高解像度化処理が実行される。なお、一般には、角度φが閾値φｔｈ以下の入力画像（参照画像Ｒｉｍｇを除く）が、所定数ｍ（ｍは１以上の整数）以上存在する場合に合成高解像度化処理を選択し、角度φが閾値φｔｈ以下の入力画像（参照画像Ｒｉｍｇを除く）が、ｍ枚に達しない場合にフラクタル補間高解像度化処理を選択するように、ステップＳ２０の処理を実行することが可能である。
【００５７】
このように、第２実施例では、エッジベクトルと動きベクトルとのなす角度φに応じて、合成高解像度化に使用される入力画像を選択するので、高解像度化によって精細度の向上が期待できる入力画像を選択的に使用することができる。従って、効率的に高精細な画像を得ることが可能である。
【００５８】
Ｃ．フラクタル補間高解像度化処理の詳細：
図１１は、フラクタル補間高解像度化処理の概要を示す説明図である。ここでは、参照入力画像Ｒｉｍｇ内に対象画素ＴＰが設定されており、その対象画素ＴＰを含む局所対象領域ＬＴＡ内の高解像度画素の画素値を決定する場合を想定している。理解を容易にするため、この参照入力画像Ｒｉｍｇは、対象画素ＴＰの上を通過する曲線状の画像を含んでいるものと仮定している。このとき、局所対象領域ＬＴＡよりも大きな領域ＬＳＡ内の画像と、局所対象領域ＬＴＡ内の画像との間に近似性が存在することがある。特に、自然画像の場合には、このような近似性（自己相似性）が存在することが知られており、この性質は「フラクタル性」と呼ばれている。
【００５９】
このとき、より広い領域ＬＳＡ（「広域近似領域」と呼ぶ）の画素値を利用して局所対象領域ＬＴＡの高解像度画素の画素値を決定すれば、単純高解像度化処理よりもより多くの画像情報を用いて高解像度画素値を求めることになるので、より自然で高精細な高解像度画像を得ることができる。
【００６０】
なお、フラクタル補間高解像度化処理は自然画像のフラクタル性を利用しているので、入力画像Ｉｉｍｇ１〜３がグラフィックデザインやドローイングソフトなどで作成されたものでは無く、自然画像である場合にのみフラクタル補間高解像度化処理を利用することが好ましい。
【００６１】
図１２は、フラクタル補間高解像度化処理の処理手順の一例を示すフローチャートであり、図１３はその処理内容を示している。ステップＳ３１では、対象画素ＴＰを含む参照入力画像Ｒｉｍｇ内の所定大の領域を単純高解像度化することによって、参照高解像度領域を生成する。図１３（Ａ）には、対象画像ＴＰを含む参照入力画像Ｒｉｍｇの一部の領域が示されており、図１３（Ｂ）にはこれを単純高解像度化した参照高解像度画像領域ＨＲｉｍｇが示されている。この例では、参照高解像度画像領域ＨＲｉｍｇは１０×１０個の高解像度画素で構成されている。ある低解像度画素の周囲の４つの高解像度画素の画素値は、例えば、その低解像度画素の画素値を単にコピーすることによって得られる。なお、図１３（Ｂ）に示されている低解像度画素は、単に理解を容易にするために描かれたものである。図１３（Ｃ），図１３（Ｄ）も同様である。
【００６２】
図１２のステップＳ３２では、参照高解像度画像領域ＨＲｉｍｇから局所対象領域ＬＴＡ（図１３（Ｂ））が取得される。この局所対象領域ＬＴＡは、対象画素ＴＰを取り囲む所定のサイズの領域である。図１３（Ｂ）の例では、局所対象領域ＬＴＡは４×４個の高解像度画素で構成されている。
【００６３】
ステップＳ３３では、参照高解像度画像領域ＨＲｉｍｇの中から、局所対象領域ＬＴＡを含み、局所対象領域ＬＴＡよりも広い広域候補領域ＬＣＡ（図１３（Ｃ））を１つ取得する。広域候補領域ＬＣＡは、図１３に示した広域近似領域ＬＳＡの候補となる領域である。図１３（Ｃ）の例では、広域候補領域ＬＣＡとして８×８個の高解像度画素を含む一定サイズの領域を設定している。このとき、参照高解像度画像領域ＨＲｉｍｇ内には、互いに１画素ずつずれた９つの広域候補領域ＬＣＡ１〜ＬＣＡ９を設定することが可能である。但し、図１３（Ｃ）では、図示の便宜上、２つの広域候補領域ＬＣＡ１，ＬＣＡ９のみを示している。なお、広域候補領域ＬＣＡとしては、局所対象領域ＬＴＡよりも広く、アフィン変換によって局所対象領域ＬＴＡと外形を一致させることが可能な任意の領域を採用することが可能である。
【００６４】
ステップＳ３４では、取得された広域候補領域ＬＣＡを局所対象領域ＬＴＡと同じサイズに縮小する。この際、変形や回転が必要な場合にはアフィン変換も実施する。例えば、まず、局所対象領域ＬＴＡと相似形（例えば局所対象領域ＬＴＡの２倍）になるように広域候補領域ＬＣＡをアフィン変換し、その後、アフィン変換後の広域候補領域ＬＣＡ’を縮小して局所対象領域ＬＴＡと同じサイズにしてもよい。あるいは、１回のアフィン変換によって広域候補領域ＬＣＡを局所対象領域ＬＴＡと同じ外形に変換してもよい。後者の場合には、アフィン変換によって同時に画像の縮小も実施されていることになる。
【００６５】
図１３（Ｄ）は、広域候補領域ＬＣＡ１を１／２に縮小することによって、縮小候補領域ＲＣＡ１が作成される様子を示している。この例では、広域候補領域ＬＣＡ１は８×８個の高解像度画素で構成されており、縮小候補領域ＲＣＡ１は４×４個の高解像度画素で構成されている。
【００６６】
ステップＳ３５では、縮小候補領域ＲＣＡ内の画像と局所対象領域ＬＴＡ内の画像との間の距離を算出する（図１３（Ｄ））。この距離は、２つの領域ＲＣＡ，ＬＴＡの画像の近似度を示す指標値であり、「近似度指標」又は「近似性指標」とも呼ぶ。この距離としては、例えば、縮小候補領域ＲＣＡと局所対象領域ＬＴＡの対応する画素同士の画素値の差分の２乗和や、画素値の差分の絶対値の和を使用することができる。
【００６７】
ステップＳ３６では、未処理の広域候補領域が存在するか否かが判断される。未処理の広域候補領域が存在する場合には、ステップＳ３６からステップＳ３３に戻り、ステップＳ３３〜Ｓ３５の処理を繰り返す。こうして、全ての広域候補領域ＬＣＡ１〜９について距離の算出が終了すると、ステップＳ３７において、複数の広域候補領域ＬＣＡの中で距離が最小のものが広域近似領域ＬＳＡ（図１１）として選択される。この処理は、広域近似領域ＬＳＡを縮小した縮小近似領域ＲＳＡ（図１３（Ｄ））を選択する処理であると考えることも可能である。
【００６８】
ステップＳ３８では、選択された候補領域（すなわち広域近似領域ＬＳＡ又は縮小近似領域ＲＳＡ）を用いて、局所対象領域ＬＴＡ内の画素値が決定される。具体的には、選択された候補領域に対応する縮小近似領域ＲＳＡを取得し（図１３（Ｄ））、この縮小近似領域ＲＳＡ内の画素値を用いて局所対象領域ＬＴＡ内の画素値を決定する。縮小近似領域ＲＳＡの画素値データは、ステップＳ３８において選択された広域候補領域ＬＣＡに対してステップＳ３４と同じ処理を適用して作成してもよい。あるいは、ステップＳ３４で作成された縮小候補領域ＲＣＡの画素値データを破棄せずに保持しておき、それらの中から縮小近似領域ＲＳＡの画素値データを取得してもよい。
【００６９】
縮小近似領域ＲＳＡの画素値を用いて局所対象領域ＬＴＡ内の画素値を決定する方法としては、例えば以下の例を含む種々の方法を採用することが可能である。
（１）縮小近似領域ＲＳＡ内の各画素の画素値を、そのまま局所対象領域ＬＴＡ内の各画素の新たな画素値として採用する。
（２）局所対象領域ＬＴＡ内の各画素の元の画素値と、縮小近似領域ＲＳＡ内の各画素の画素値との平均値（単純平均又は重み付き平均）を、局所対象領域ＬＴＡ内の各画素の新たな画素値として採用する。
（３）局所対象領域ＬＴＡ内の一部の画素に関してのみ（例えば図１３（Ｂ）の対象画素ＴＰ近傍の４つの高解像度画素に関してのみ）、上記（１）又は（２）の方法で画素値を更新する。
【００７０】
これらの例から理解できるように、局所対象領域ＬＴＡの画素値は、少なくとも縮小近似領域ＲＳＡの画素値を利用して決定することが好ましい。前述したように、縮小近似領域ＲＳＡの画素値は、広域近似領域ＬＳＰの画素値から得られている。従って、局所対象領域ＬＴＡ内の画素値は、広域近似領域ＬＳＡ内の画素値を利用して決定されていると考えることができる。
【００７１】
このように、フラクタル補間高解像度化処理では、広域近似領域ＬＳＡの画素値を用いて局所対象領域ＬＴＡの画素値を決定しているので、画像のフラクタル性を利用して局所対象領域ＬＴＡ内の画像の精細度を向上させることが可能である。
【００７２】
なお、図１３（Ｄ）に示す縮小候補領域ＲＣＡ１内の高解像度画素の画素値は、図１３（Ｃ）に示す広域候補領域ＬＣＡ１内の低解像度画素の画素値から求めるようにしてもよい。この場合には、図１２のステップＳ３１は省略することが可能である。このとき、局所対象領域ＬＴＡは、低解像度画像である参照入力画像Ｒｉｍｇ内に設定される。
【００７３】
Ｄ．合成高解像度化処理の詳細：
図１４は、合成高解像度化処理部４４４の内部構成を示すブロック図である。合成高解像度化処理部４４４は、制御部２１０と、画像選択部２１５と、低解像度画像推定部２２０と、高解像度画像推定部２３０と、低解像度差分画像生成部２４０と、移動量算出部２５０と、高解像度差分画像生成部２６０と、出力高解像度画像更新部２７０と、を有している。これらの各構成要素の機能については後述する。
【００７４】
図１５は、合成高解像度化処理の内容を示す説明図である。図１５の例では、３枚の入力画像Ｉｉｍｇから、１枚の高解像度な出力画像Ｏｉｍｇを生成している。以後、図中において、符号ＬＲ(Low Resolution)が付された画像は低解像度な画像を表し、符号ＨＲ(High Resolution)が付された画像は高解像度な画像を表すこととする。
【００７５】
図１６は、合成高解像度化処理の手順を示すフローチャートである。ステップＳ１１０では、高解像度画像推定部２３０（図１４）が、入力画像Ｉｉｍｇを用いて仮の出力画像Ｏｉｍｇを生成する。図１５の例では、時系列に沿った順番が中央である参照入力画像Ｒｉｍｇを用いて仮の出力画像Ｏｉｍｇを生成する。具体的には、高解像度画像推定部２３０は、周知のバイリニア法を用いて、低解像度な参照入力画像Ｒｉｍｇから高解像度な仮の出力画像Ｏｉｍｇを生成する。
【００７６】
なお、後述するように、最終的な出力画像Ｏｉｍｇは、仮の出力画像Ｏｉｍｇを修正することによって生成される。従って、仮の出力画像Ｏｉｍｇの生成方法としては、バイリニア法に限らず、種々の方法を採用することができる。例えば、ニアレストネイバ法を用いてもよい。
【００７７】
また、参照入力画像Ｒｉｍｇを他の規則に従って定めてもよい。例えば、時系列に沿った順番が先頭の入力画像Ｉｉｍｇを参照入力画像Ｒｉｍｇとして用いることとしてもよい。
【００７８】
次のステップＳ１２０では、移動量算出部２５０（図１４）が、各入力画像Ｉｉｍｇの相対移動量を算出する。この相対移動量は、ある入力画像Ｉｉｍｇの全体と、参照入力画像Ｒｉｍｇの全体と、の相対的な位置を表す値である。このような相対移動量（相対動き量とも呼ぶ）としては、例えば、入力画像Ｉｉｍｇ全体の参照入力画像Ｒｉｍｇ全体に対する動きベクトルを用いることができる。また、相対移動量としては、画像の平行移動を表す移動量に限らず、他の種々の動きを表す移動量を採用することができる。例えば、平行移動と回転移動とを含む動きを表す移動量を採用してもよい。いずれの場合も、相対移動量の算出方法としては、周知の種々の方法を採用することができる。例えば、各入力画像Ｉｉｍｇから特徴点を抽出し、特徴点の移動量を算出することによって相対移動量を算出する方法を採用することができる。
【００７９】
なお、図５、図９に示した処理手順ではステップＳ１１において動きベクトル（相対移動量）が算出されている。従って、ステップＳ１２０では、その演算を再度行う必要は無く、ステップＳ１１で得られた値をそのまま使用することができる。この場合には、ステップＳ１２０及び移動量算出部２５０を省略することができる。
【００８０】
次のステップＳ１３０では、低解像度画像推定部２２０（図１４）が、高解像度な仮の出力画像Ｏｉｍｇを用いて、低解像度な３枚の推定画像Ｅｉｍｇを生成する（詳細は後述）。これらの推定画像Ｅｉｍｇは、仮の出力画像Ｏｉｍｇと整合性のある入力画像を表している。換言すれば、これらの推定画像Ｅｉｍｇは、仮の出力画像Ｏｉｍｇが最適な画像であると仮定した場合に、各入力画像Ｉｉｍｇが有すべき画像を表している。ここで、各推定画像Ｅｉｍｇと各入力画像Ｉｉｍｇとは、一対一に対応付けられている。
【００８１】
具体的には、ステップＳ１３０において、低解像度画像推定部２２０は、仮の出力画像Ｏｉｍｇと、各相対移動量と、を用いて、各推定画像Ｅｉｍｇを生成する。図１５の例では、低解像度画像推定部２２０は、仮の出力画像Ｏｉｍｇに対してぼかし処理を行い、さらに、相対移動量に従って画像を移動させ、低解像度化処理を実行することによって、推定画像Ｅｉｍｇを生成する。ぼかし処理（平滑化処理）としては、周知の種々の処理を採用することができる。画像の移動処理では、仮の出力画像Ｏｉｍｇが、各入力画像Ｉｉｍｇと重なるように移動される。また、低解像度化処理としては、周知の種々の処理を採用することができる。例えば、バイリニア法やニアレストネイバ法等の補間処理を採用することができる。また、各推定画像Ｅｉｍｇの画素位置が、仮の出力画像Ｏｉｍｇの画素位置と重なっている場合には、単純に画素を間引く処理を採用してもよい。
【００８２】
次のステップＳ１４０では、低解像度差分画像生成部２４０（図１４）が、３枚の入力画像Ｉｉｍｇと３枚の推定画像Ｅｉｍｇとを用いて、各入力画像Ｉｉｍｇ毎の低解像度差分画像ＬＤｉｍｇを生成する。この低解像度差分画像ＬＤｉｍｇの各画素値は、入力画像Ｉｉｍｇと推定画像Ｅｉｍｇとの同じ画素位置における画素値の差分（＝Ｅｉｍｇ−Ｉｉｍｇ）に設定される。この低解像度差分画像ＬＤｉｍｇの意味は、以下のように説明できる。仮の出力画像Ｏｉｍｇと、各入力画像Ｉｉｍｇと、の関係が理想的な状態の場合、すなわち、仮の出力画像Ｏｉｍｇと、各入力画像Ｉｉｍｇと、が、位置（相対移動量）のみが異なる同じ画像を表す場合には、各低解像度差分画像ＬＤｉｍｇの各画素値はゼロに近い値となる。一方、仮の出力画像Ｏｉｍｇと理想的な出力画像との間の差異が大きい場合、すなわち、仮の出力画像Ｏｉｍｇと各入力画像Ｉｉｍｇとの間の差異が大きい場合には、その差異によって、各低解像度差分画像ＬＤｉｍｇの画素値がゼロから離れることとなる。このように、低解像度差分画像ＬＤｉｍｇの画素値のゼロからのズレの大きさは、仮の出力画像Ｏｉｍｇと理想的な出力画像との違いの大きさを意味することになる。従って、低解像度差分画像ＬＤｉｍｇの画素値を仮の出力画像Ｏｉｍｇにフィードバックさせれば、仮の出力画像Ｏｉｍｇを理想的な出力画像に近づけることが可能となる。
【００８３】
次のステップＳ１５０では、高解像度差分画像生成部２６０（図１４）は、各低解像度差分画像ＬＤｉｍｇ毎に高解像度な差分画像ＨＤｉｍｇを生成する。具体的には、高解像度差分画像生成部２６０は、低解像度差分画像ＬＤｉｍｇに対して高解像度化処理を行い、さらに、シャープネス強調処理を行い、その後、推定相対移動量に従って画像を移動させることによって、各高解像度差分画像ＨＤｉｍｇを生成する。高解像度化処理としては、周知の種々の処理を採用することができる。例えば、バイリニア法やニアレストネイバ法を採用することができる。シャープネス強調処理としては、周知の種々の処理を採用することができる。例えば、アンシャープマスクを利用した処理を採用してもよい。さらに、画像の移動処理は、高解像度差分画像ＨＤｉｍｇが仮の出力画像Ｏｉｍｇと重なるように行われる。この際、各高解像度差分画像ＨＤｉｍｇの各画素値は、仮の出力画像Ｏｉｍｇと同じ画素位置の画素値を表すように補正される。画素値を補正する処理としては、周知の種々の補間処理を採用することができる。
【００８４】
次のステップＳ１６０では、高解像度差分画像生成部２６０は、各高解像度差分画像ＨＤｉｍｇを合成して１枚の合成済高解像度差分画像ＣＨＤｉｍｇを生成する。この合成済高解像度差分画像ＣＨＤｉｍｇの各画素値は、各高解像度差分画像ＨＤｉｍｇの同じ画素位置の画素値の和に設定される。
【００８５】
次のステップＳ１７０では、出力高解像度画像更新部２７０は、合成済高解像度差分画像ＣＨＤｉｍｇを仮の出力画像Ｏｉｍｇにフィードバックする。このフィードバックは、仮の出力画像Ｏｉｍｇの各画素値を、以下の式（１）に従って修正することによって行われる。
【００８６】
更新後画素値  ＝  更新前画素値  ＋  α×差分画素値  ...（１）
【００８７】
ここで、更新後画素値は、フィードバック後の仮の出力画像Ｏｉｍｇの画素値である。更新前画素値は、フィードバック前の仮の出力画像Ｏｉｍｇの画素値である。差分画素値は、合成済高解像度差分画像ＣＨＤｉｍｇの同じ画素位置の画素値である。αは、フィードバックの強度を表す係数である。この係数αは、フィードバックが過剰とならないように予め実験的に設定しておけばよい。なお、この係数αの正負は、負のフィードバックを実現するように決定される。本実施例では、差分画素値は、推定画像Ｅｉｍｇから入力画像Ｉｉｍｇを差し引いた値（Ｅｉｍｇ−Ｉｉｍｇ）から得られているので、係数αは、負の値である。
【００８８】
以上の処理によって、仮の出力画像Ｏｉｍｇを入力画像Ｉｉｍｇにより適した画像に更新することが可能となる。ステップＳ１７０の後は、ステップＳ１３０に戻り、ステップＳ１３０〜Ｓ１７０の処理が繰り返し実行される。そして、合成済高解像度差分画像ＣＨＤｉｍｇの画素値が充分に小さくなった時点で、制御部２１０は、処理が収束したものと判断して、更新を完了する。こうして最終的に更新された出力画像Ｏｉｍｇは、最終的な出力画像Ｏｉｍｇとして利用される。
【００８９】
なお、この実施例では、ステップＳ１３０においてぼかし処理（平滑化処理）を実行しているので、低解像度差分画像ＬＤｉｍｇにおいて、各入力画像Ｉｉｍｇの鮮鋭な部分の画素値の絶対値を平滑な部分の画素値の絶対値よりも大きくすることができる。さらに、ステップＳ１５０でシャープネス強調処理を実行しているので、高解像度差分画像ＨＤｉｍｇにおいて、各入力画像Ｉｉｍｇの鮮鋭な部分を強調させることができる。その結果、更新後の仮の出力画像Ｏｉｍｇを、各入力画像Ｉｉｍｇと整合性のある鮮鋭な画像とすることができる。
【００９０】
なお、図１５及び図１６に示した合成高解像度化処理は、１枚の画像全体に対しても実行することができ、あるいは、１ライン毎に実行することも可能である。１ライン毎に実行する場合には、図１５の各画像Ｅｉｍｇ，ＬＤｉｍｇ，ＨＤｉｍｇ，ＣＨＤｉｍｇ，Ｏｉｍｇとしては、処理対象とする１ライン分の画像が少なくとも生成される。
【００９１】
ところで、図５、図９で説明した高解像度化処理モードの選択は、前述したように各画素毎又は各ライン毎に実行することができる。各画素素毎に高解像度化処理モードの選択を行う場合には、例えば、図１５及び図１６に示した合成高解像度化処理を各ライン毎に実行し、その後、単純高解像度化処理又はフラクタル補間高解像度化処理を選択すべき画素に関しては、合成高解像度化処理で得られた画素値の代わりに単純高解像度化処理又はフタクタル補間高解像度化処理で得られた画素値を使用することによって、高解像度画像を生成することが可能である。
【００９２】
Ｅ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００９３】
Ｅ１．変形例１：
上記各実施例では、エッジベクトルとのなす角度が閾値よりも小さな動きベクトルの数を、処理モードの選択の際の指標値（「判定用指標値」と呼ぶ）として使用していたが、判定用指標値としてはこれ以外の種々の値を採用することが可能であり、エッジベクトルとＮ個の動きベクトルとのなす角度の大小関係を示す任意の指標値を使用することが可能である。例えば、複数の入力画像に関する複数の動きベクトルとエッジベクトルとのなす角度の平均値を判定用指標値として使用することも可能である。また、判定条件としては、判定用指標値の種類に応じて種々の適切な条件（例えば、適切な判定用閾値）を設定することが可能である。
【００９４】
Ｅ２．変形例２：
合成高解像度化処理としては、図１５及び図１６に示したもの以外の種々の処理を採用することが可能である。例えば、他の合成高解像度化処理としては、各高解像度画素に近接した低解像度画素を３つの入力画像Ｉｉｍｇ１〜３からそれぞれ１つずつ選択し、これらの３つの低解像度画素画素の画素値を補間することによって高解像度画素の画素値を求める方法を採用することができる。また、画素値の補間演算方法としては、例えばバイリニア法やバイキュービック法などの種々の方法を使用することが可能である。
【００９５】
Ｅ３．変形例３：
上記実施例においては、データ処理部１００をプリンタ内に設けることとしたが、この代わりに、データ処理部１００を、一般的なパーソナルコンピュータを用いて構成することとしてもよい。また、データ処理部１００を、情報携帯端末や、携帯電話、デジタルビデオカメラ、デジタルスチルカメラ等の他の種々の電子機器に実装することとしてもよい。
【００９６】
Ｅ４．変形例４：
上記各実施例では、動画像から高解像度な静止画像を生成することとしているが、この代わりに、複数枚の低解像度な静止画像から、高解像度な静止画像を生成することとしてもよい。
【００９７】
Ｅ５．変形例５：
上記各実施例において、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよく、逆に、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよい。
【図面の簡単な説明】
【００９８】
【図１】本発明の一実施例としての画像処理システムの構成を示すブロック図である。
【図２】データ処理部の内部構成を示すブロック図である。
【図３】低解像度画像と高解像度画像の画素位置の関係の一例を示す説明図である。
【図４】低解像度画像と高解像度画像の画素位置の関係の他の例を示す説明図である。
【図５】第１実施例における高解像度化処理の全体手順を示すフローチャートである。
【図６】エッジ検出の方法を示す説明図である。
【図７】図５のステップＳ１４ｂの処理内容を示す説明図である。
【図８】エッジベクトルＥｖと動きベクトルＭｖとのなす角度と、合成による高精細化の効果との関係を示す説明図である。
【図９】第２実施例における高解像度化処理の全体手順を示すフローチャートである。
【図１０】図９のステップＳ２０の処理内容を示す説明図である。
【図１１】フラクタル補間高解像度化処理の概要を示す説明図である。
【図１２】フラクタル補間高解像度化処理の手順を示すフローチャートである。
【図１３】図１２のフローの処理内容を示す説明図である。
【図１４】合成高解像度化処理部の内部構成を示すブロック図である。
【図１５】合成高解像度化処理の内容を示す説明図である。
【図１６】合成高解像度化処理の手順を示すフローチャートである。
【符号の説明】
【００９９】
１００…データ処理部
２１０…制御部
２１５…画像選択部
２２０…低解像度画像推定部
２３０…高解像度画像推定部
２４０…低解像度差分画像生成部
２５０…移動量算出部
２６０…高解像度差分画像生成部
２７０…出力高解像度画像更新部
３００…デジタルビデオカメラ
４２０…エッジ検出部
４３０…ラインバッファ
４４０…高解像度化処理部
４４２…単純高解像度化処理部
４４４…合成高解像度化処理部
４４６…フラクタル補間高解像度化処理部
４５０…印刷データ生成部
４６０…動きベクトル検出部
５００…プリンタ
７００…印刷実行部
８００…画像処理システム
【図１】
2006221220.tif 000003
【図２】
2006221220.tif 000004
【図３】
2006221220.tif 000005
【図４】
2006221220.tif 000006
【図５】
2006221220.tif 000007
【図６】
2006221220.tif 000008
【図７】
2006221220.tif 000009
【図８】
2006221220.tif 000010
【図９】
2006221220.tif 000011
【図１０】
2006221220.tif 000012
【図１１】
2006221220.tif 000013
【図１２】
2006221220.tif 000014
【図１３】
2006221220.tif 000015
【図１４】
2006221220.tif 000016
【図１５】
2006221220.tif 000017
【図１６】
2006221220.tif 000018