JP2006221220A - 複数の低解像度画像を用いた高解像度画像の生成 - Google Patents
複数の低解像度画像を用いた高解像度画像の生成 Download PDFInfo
- Publication number
- JP2006221220A JP2006221220A JP2005031335A JP2005031335A JP2006221220A JP 2006221220 A JP2006221220 A JP 2006221220A JP 2005031335 A JP2005031335 A JP 2005031335A JP 2005031335 A JP2005031335 A JP 2005031335A JP 2006221220 A JP2006221220 A JP 2006221220A
- Authority
- JP
- Japan
- Prior art keywords
- image
- resolution
- high resolution
- edge
- processing mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
- Image Processing (AREA)
- Studio Circuits (AREA)
Abstract
【課題】 低解像度画像の合成による高解像度化に伴うノイズの増大を軽減しつつ、高精細な画像を得ることが可能な技術を提供する。
【解決手段】 画像処理装置は、エッジ検出部と動きベクトル検出部と高解像度化処理部とを備える。高解像度化処理部は、エッジ検出部によってエッジが検出された位置では、エッジベクトルと画像の動きベクトルのなす角度が小さいときに合成高解像度化処理モードを選択し、この角度が大きいときにはフラクタル補間高解像度化処理モードを選択する。また、エッジが検出されなかった位置では単純高解像度化処理モードによる高解像度化を選択して実行する。
【選択図】 図2
Description
本発明は、複数の低解像度画像から高解像度画像を生成する技術に関する。
デジタルビデオカメラで撮影された動画像は、動画像の1シーンをそれぞれ表現する複数のフレーム画像を含んでいる。従来から、複数のフレーム画像を用いて、フレーム画像よりも画素の密度の高い(すなわち解像度の高い)静止画像を生成する処理が知られている(例えば、特許文献1参照)。この処理は、「高解像度化処理」又は「高精細化処理」とも呼ばれている。
なお、本明細書において、「精細度が高い」という文言は、単に解像度(画素密度)が高いだけでなく、画像情報量が多いことを意味する。従って、例えば単純水増し処理によって解像度を2倍にした場合には、解像度は2倍になるが、精細度は変わらない。
この高解像度化処理では、複数のフレーム画像を合成することによって1枚の高解像度な画像を作成するので、より高精細な画像を得ることができる。しかし、フレーム画像内のうちで画像成分が平滑な画像領域(いわゆる低周波画像領域)では、高解像度化によって画像の精細度はそれほど大きく向上しない。逆に、平滑な画像領域では、高解像度化によってノイズが強調されてしまい、画質が劣化する場合もある。特に、動画はかなりのノイズを含んでいるので、複数のフレーム画像を合成することによって、平滑な画像領域のノイズが増大してしまうという問題が生じ易い傾向にある。
なお、このような問題は、動画像を用いて静止画像を生成する場合に限らず、一般に、複数の低解像度画像を用いて高解像度画像を生成する場合に共通する問題であった。
本発明は、上記の課題を解決するためになされたものであり、低解像度画像の合成による高解像度化に伴うノイズの増大を軽減しつつ、高精細な画像を得ることが可能な技術を提供することを目的とする。
本発明による画像処理装置は、
参照画像を含む複数の低解像度画像を用いて1枚の高解像度画像を作成する画像処理装置であって、
前記参照画像を解析することによって、前記参照画像内のエッジを検出するエッジ検出部と、
前記参照画像と他のN個(Nは1以上の整数)の低解像度画像との間のN個の動きベクトルを検出する動きベクトル検出部と、
前記複数の低解像度画像に基づいて、1枚の高解像度画像を作成するための高解像度化処理を実行する高解像度化処理部と、
を備え、
前記高解像度化処理は、
前記複数の低解像度画像を合成することによって前記高解像度画像を作成する合成高解像度化処理モードと、
前記参照画像のみを用い、1つ以上の最近接画素を参照して各高解像度画素の画素値を決定することによって前記高解像度画像を作成する単純高解像度化処理モードと、
前記参照画像のみを用い、フラクタル補間を利用して前記高解像度画像を作成するフラクタル補間高解像度化処理モードと、
を有し、
前記高解像度化処理部は、
(i)エッジが検出された位置において、前記検出されたエッジのエッジベクトルと前記N個の動きベクトルとのなす角度の大小関係を示す指標値を算出し、
(i−1)前記指標値が、前記エッジベクトルと前記N個の動きベクトルのなす角度が十分に小さいことを示す所定の判定条件を満足する場合には、前記合成高解像度化処理モードによる高解像度化を選択して実行し、
(i−2)前記指標値が前記判定条件を満足しない場合には、前記フラクタル補間高解像度化処理モードによる高解像度化を選択して実行し、
(ii)エッジが検出されなかった位置では前記単純高解像度化処理モードによる高解像度化を選択して実行する。
参照画像を含む複数の低解像度画像を用いて1枚の高解像度画像を作成する画像処理装置であって、
前記参照画像を解析することによって、前記参照画像内のエッジを検出するエッジ検出部と、
前記参照画像と他のN個(Nは1以上の整数)の低解像度画像との間のN個の動きベクトルを検出する動きベクトル検出部と、
前記複数の低解像度画像に基づいて、1枚の高解像度画像を作成するための高解像度化処理を実行する高解像度化処理部と、
を備え、
前記高解像度化処理は、
前記複数の低解像度画像を合成することによって前記高解像度画像を作成する合成高解像度化処理モードと、
前記参照画像のみを用い、1つ以上の最近接画素を参照して各高解像度画素の画素値を決定することによって前記高解像度画像を作成する単純高解像度化処理モードと、
前記参照画像のみを用い、フラクタル補間を利用して前記高解像度画像を作成するフラクタル補間高解像度化処理モードと、
を有し、
前記高解像度化処理部は、
(i)エッジが検出された位置において、前記検出されたエッジのエッジベクトルと前記N個の動きベクトルとのなす角度の大小関係を示す指標値を算出し、
(i−1)前記指標値が、前記エッジベクトルと前記N個の動きベクトルのなす角度が十分に小さいことを示す所定の判定条件を満足する場合には、前記合成高解像度化処理モードによる高解像度化を選択して実行し、
(i−2)前記指標値が前記判定条件を満足しない場合には、前記フラクタル補間高解像度化処理モードによる高解像度化を選択して実行し、
(ii)エッジが検出されなかった位置では前記単純高解像度化処理モードによる高解像度化を選択して実行する。
エッジのある画像部分は画素値の変化が大きいので、複数の低解像度画像を合成して高解像度画像を作成することによって、より高精細な画像を得ることができる。但し、エッジのある画像部分であっても、エッジのベクトル方向と動きベクトルの方向とのなす角度が大きい場合(例えば直交している場合)には、複数の低解像度画像を合成しても高解像度画像の精細度はそれほど向上しない。但し、この場合にも、フラクタル補間高解像度化処理モードを用いると、精細度を向上させることができる。この理由は、フラクタル補間高解像度化処理モードでは画像のフラクタル性(画像内の小さな部分と大きな部分とで近似性がある)を利用したフラクタル補間を使用するので、近接画素のみを使用する単純高解像度化よりも多くの画像情報を利用して高解像度化がなされるからである。また、エッジが無い画像部分は、画素値の変化が少ないので、複数の低解像度画像を合成して高解像度化する場合と、参照画像のみを用いて高解像度化する場合とで、得られる高解像度画像の精細度に大きな差は生じない。特に、エッジが無い画像部分にノイズが含まれていると、複数の低解像度画像を合成して高解像度化することによってノイズが強調されて却って画質が劣化してしまうおそれがある。本発明による画像処理装置は、エッジ検出の有無、及び、エッジのベクトル方向と動きベクトルの方向とのなす角度に応じて合成高解像度化処理モードとフラクタル補間高解像度化処理モードと単純高解像度化処理モードを選択的に実行するので、低解像度画像の合成による高解像度化に伴うノイズの増大を軽減しつつ、高精細な画像を得ることができる。
前記高解像度化処理部は、
前記エッジが検出された位置において、
前記エッジベクトルとのなす角度が閾値よりも小さな動きベクトルが所定数以上存在する場合には、前記指標値が前記判定条件を満足すると判定して前記合成高解像度化処理モードを選択し、
前記エッジベクトルとのなす角度が前記閾値よりも小さな動きベクトルが前記所定数に達しない場合には、前記指標値が前記判定条件を満足しないと判定して前記単純高解像度化処理モードを選択するようにしてもよい。
前記エッジが検出された位置において、
前記エッジベクトルとのなす角度が閾値よりも小さな動きベクトルが所定数以上存在する場合には、前記指標値が前記判定条件を満足すると判定して前記合成高解像度化処理モードを選択し、
前記エッジベクトルとのなす角度が前記閾値よりも小さな動きベクトルが前記所定数に達しない場合には、前記指標値が前記判定条件を満足しないと判定して前記単純高解像度化処理モードを選択するようにしてもよい。
この構成によれば、エッジベクトルとのなす角度が閾値よりも小さな動きベクトルの数を判定の指標値として使用するので、処理モードの選択を容易に行うことができる。
前記高解像度化処理部は、前記合成低解像度化処理モードによる高解像度化を実行する際に、前記検出されたエッジのベクトル方向と前記N個の動きベクトルとのなす角度に基づいて、前記他のN個の低解像度画像の中から前記合成高解像度化処理モードに使用する1つ以上の低解像度画像を選択するようにしてもよい。
この構成によれば、エッジのベクトル方向と動きベクトルとのなす角度が小さな低解像度か画像を選択して合成に使用できるので、効率的に高精細な画像を得ることが可能である。
前記フラクタル補間高解像度化処理モードにおける高解像度化は、
前記参照画像内に、又は、前記参照画像に対して前記単純高解像度化処理モードによる高解像度化を行った参照高解像度画像内に、処理対象としての局所対象領域を設定する処理と、
前記局所対象領域よりも大きく、かつ、前記局所対象領域内の画像に近似する画像を有する広域近似領域を探索する処理と、
前記広域近似領域を前記局所対象領域と同じサイズに縮小した縮小近似領域を取得し、前記縮小近似領域内の画素値を少なくとも用いて、前記局所対象領域内の高解像度画素の画素値を決定する処理と、
を含むものとしてもよい。
前記参照画像内に、又は、前記参照画像に対して前記単純高解像度化処理モードによる高解像度化を行った参照高解像度画像内に、処理対象としての局所対象領域を設定する処理と、
前記局所対象領域よりも大きく、かつ、前記局所対象領域内の画像に近似する画像を有する広域近似領域を探索する処理と、
前記広域近似領域を前記局所対象領域と同じサイズに縮小した縮小近似領域を取得し、前記縮小近似領域内の画素値を少なくとも用いて、前記局所対象領域内の高解像度画素の画素値を決定する処理と、
を含むものとしてもよい。
また、前記広域近似領域を探索する処理は、
前記局所対象領域を含み、前記局所対象領域よりもそれぞれ大きな複数の広域候補領域を設定する処理と、
前記複数の広域候補領域をそれぞれ前記局所対象領域と同じサイズに縮小することによって複数の縮小候補領域を作成する処理と、
各縮小候補領域内の画像と前記局所対象領域の画像との近似度を示す近似性指標値を算出する処理と、
前記近似性指標値を用いて、前記複数の縮小候補領域の中で前記局所対象領域と最も近似する縮小候補領域を前記縮小近似領域として選択する処理と、
を含むものとしてもよい。
前記局所対象領域を含み、前記局所対象領域よりもそれぞれ大きな複数の広域候補領域を設定する処理と、
前記複数の広域候補領域をそれぞれ前記局所対象領域と同じサイズに縮小することによって複数の縮小候補領域を作成する処理と、
各縮小候補領域内の画像と前記局所対象領域の画像との近似度を示す近似性指標値を算出する処理と、
前記近似性指標値を用いて、前記複数の縮小候補領域の中で前記局所対象領域と最も近似する縮小候補領域を前記縮小近似領域として選択する処理と、
を含むものとしてもよい。
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法および装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
次に、この発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1実施例:
B.第2実施例:
C.フラクタル補間高解像度化処理の詳細:
D.合成高解像度化処理の詳細:
E.変形例:
A.第1実施例:
B.第2実施例:
C.フラクタル補間高解像度化処理の詳細:
D.合成高解像度化処理の詳細:
E.変形例:
A.第1実施例:
図1は、本発明の一実施例としての画像処理システムの構成を示すブロック図である。この画像処理システム800は、プリンタ500と、デジタルビデオカメラ300とを有している。プリンタ500は、データ処理部100と、印刷実行部700(印刷機構)と、を有している。図示は省略しているが、プリンタ500は、画像や操作ガイダンスを表示するための表示部と、ユーザがプリンタ500の動作を指定するための操作部と、を備えている。動画の中から高解像度化のために使用する複数のフレームを選択する操作は、これらの表示部や操作部を用いて行われる。
図1は、本発明の一実施例としての画像処理システムの構成を示すブロック図である。この画像処理システム800は、プリンタ500と、デジタルビデオカメラ300とを有している。プリンタ500は、データ処理部100と、印刷実行部700(印刷機構)と、を有している。図示は省略しているが、プリンタ500は、画像や操作ガイダンスを表示するための表示部と、ユーザがプリンタ500の動作を指定するための操作部と、を備えている。動画の中から高解像度化のために使用する複数のフレームを選択する操作は、これらの表示部や操作部を用いて行われる。
データ処理部100は、ビデオカメラ300から動画像を受け取り、高解像度化処理(後述)を行って高解像度画像を生成するとともに、その印刷データを生成する。印刷実行部700は、この印刷データを受け取って印刷を行う。印刷実行部700としては、インクジェット印刷機構や、熱転写印刷機構等の、周知の種々の印刷機構を採用することができる。
図2は、データ処理部100の内部構成を示すブロック図である。データ処理部100は、エッジ検出部420と、複数のラインバッファ430と、高解像度化処理部440と、印刷データ生成部450と、動きベクトル検出部460を備えている。エッジ検出部420と、高解像度化処理部440と、印刷データ生成部450と、動きベクトル検出部460の機能は、図示しないCPUがコンピュータプログラムを実行することによって実現されている。従って、これらの各部を「プログラムモジュール」、あるいは、単に「モジュール」と呼ぶことも可能である。
第1実施例では、3枚のフレーム画像Iimg1〜3(以下、「入力画像」と呼ぶ)を用いて1枚の高解像度画像Oimgを生成し、その印刷を実行する。3枚の入力画像Iimg1〜3は、動画像の中から選択されたものであり、ここでは所定の時間間隔Δtだけ離れた3枚のフレーム画像が選択されている。但し、入力画像の枚数や時間間隔は任意に設定することが可能である。
3枚の入力画像Iimg1〜3のうちの中央の画像Iimg2は、参照入力画像Rimg(「参照画像」とも呼ぶ)として利用される。後述するように、参照入力画像Rimgは、種々の目的のために使用される。すなわち、(i)エッジ検出の対象となり、また、(ii)単純高解像度化処理及びフラクタル補間高解像度化処理の元画像として使用される。なお、参照入力画像Rimgとしては、複数の入力画像Iimgの中の任意の画像を選択することが可能である。
ラインバッファ430は、エッジ検出処理のために、参照入力画像Rimgの3ラインLi-1,Li,Li+1(iはライン番号)の画像データを保持するバッファである。エッジ検出部420は、これらの3ライン分の画像データからエッジの有無を検出する(詳細は後述)。
高解像度化処理部440は、単純高解像度化処理部442と、合成高解像度化処理部444と、フラクタル補間高解像度化処理部446とを含んでいる。単純高解像度化処理部442は、参照入力画像Rimgのみを用いて高解像度化を実行する。なお、単純高解像度化処理では、ある高解像度画素に近接するm個(mは1以上の整数)の低解像度画素の画素値を用いてその高解像度画素の画素値が決定される。通常は、mは1〜4の範囲の値である。一方、合成高解像度化処理部444は、3枚の入力画像Iimg1〜3を合成することによって高解像度化を実行する。フラクタル補間高解像度化処理部446は、参照入力画像Rimgのみを用いる点は単純高解像度化処理部442と共通するが、画像のフラクタル性(画像内の小さな部分と大きな部分とで近似性がある)を利用したフラクタル補間を使用する点に特徴がある。本明細書では、単純高解像度化処理部442による処理を「単純高解像度化モード」と呼び、合成高解像度化処理部444による処理を「合成高解像度化モード」、フラクタル補間高解像度化処理部446による処理を「フラクタル補間高解像度化モード」と呼ぶ。高解像度化処理部440は、エッジ検出の結果、及び、エッジベクトルと動きベクトルとのなす角度(後述する)に応じて、単純高解像度化モードと合成高解像度化モードとフラクタル補間高解像度化モードのうちの1つを選択して実行する。本実施例では、高解像度化は、処理対象となる1ラインLi 毎に行われる。
高解像度化によって作成された高解像度画像Oimgは、印刷データ生成部450に供給される。印刷データ生成部450は、高解像度画像Oimgの印刷データを生成し、印刷実行部700(図1)に供給して印刷を実行させる。
図3は、低解像度画像と高解像度画像の画素位置の関係の一例を示す説明図である。図3において低解像度画像の画素位置を○印で示し、高解像度画像の画素位置を×印で示す。この例では、高解像度画像の画素ピッチPhighは、低解像度画像の画素ピッチPlow の半分である。すなわち、高解像度画像は、低解像度画像の2倍の解像度(すなわち2倍の画素密度)を有している。また、高解像度画像の画素位置は、低解像度画像の画素位置から高解像度画素ピッチPhighの1/2だけ水平方向及び垂直方向にずれている。
図3において、破線で示す枠は、各低解像度画素に対応付けられた4つの高解像度画素の範囲を示している。単純高解像度化においては、1つの低解像度画像の画素値が、この破線内の4つの高解像度画素にコピーされる。すなわち、この破線内の高解像度画素の画素値は、低解像度画素の画素値と同一に設定される。従って、この単純高解像度化では、解像度は高くなるが精細度は変わらない。但し、単純高解像度化処理において、バイリニア法等による補間演算を用いて高解像度画素の画素値を算出してもよい。高解像度化の際に補間演算を利用すると、精細度も若干向上する。一方、合成高解像度化処理では、参照入力画像Rimgのみでなく、複数の入力画像Iimg1〜3を共に使用して高解像度画素の画素値が算出される(詳細は後述)。従って、合成高解像度化処理では、解像度のみでなく精細度も向上する。
図4は、低解像度画像と高解像度画像の画素位置の関係の他の例を示す説明図である。この例では、高解像度画像内の1/4の画素の位置は、低解像度画像の画素の位置と一致している。低解像度画像と高解像度画像の画素位置の関係としては、図3及び図4に示したもの以外の種々のものを採用することも可能である。但し、以下に説明する実施例では、図3に示した位置関係を使用している。
なお、一般に、高解像度画像の画素ピッチPhighは、低解像度画像の画素ピッチPlow の1/M倍(Mは1より大きな任意の値)に設定可能である。但し、Mは2以上に設定することが好ましく、本実施例では、M=2に設定されている。
図5は、第1実施例における高解像度化処理の全体手順を示すフローチャートである。ステップS10では、各種の初期化が行われる。この際、高解像度化処理の対象ラインを示す対象ライン番号Nlineと、対象画素を示す対象画素番号Npix も0に初期化される。対象ラインNlineと対象画素Npixは、参照画像Rimg内のライン及び画素(低解像度画素)を示している。
ステップS11では、動きベクトル検出部460によって、各入力画像Iimgの動きベクトル(相対移動量)が算出される。この動きベクトルは、参照入力画像Rimgの全体と、他の入力画像(Iimg1又はIimg3)の全体と、の相対的な位置を表すベクトルである。従って、入力画像が3枚のときは、2つの動きベクトルが得られる。これらの動きベクトルは、合成高解像度化処理の際に利用される。なお、一般に、入力画像Iimgの数が、参照入力画像Rimgを含めてN+1個(Nは1以上の整数)のときには、N個の動きベクトルが算出される。
ステップS12では、対象ラインNlineを中心とした3ライン分の画像データが、参照入力画像Rimgから選択されてラインバッファ430(図2)に入力される。なお、Nline=0が画像領域の上端ラインを示すものとすると、Nline=0のときには対象ラインNline(=Li)の手前のラインLi-1は現実には存在しない。この場合には、ラインLi-1の画像データとして、対象ラインNline(=Li)の画像データをコピーして使用してもよい。あるいは、ステップS12以降の処理を、Nline=1から開始するようにしてもよい。対象画素Npixに関しても同様である。
ステップS13では、エッジ検出部420がラインバッファ430内の画像データを用いて、参照画像Rimg内の対象画素Npixのエッジを検出する。図6は、エッジ検出の方法を示す説明図である。図6(A)は、x方向とy方向のエッジ検出用の1次微分フィルタFLx,FLyを示している。図6(B)は、x方向とy方向のエッジ検出用のソーベルフィルタFLx,FLyを示している。本実施例では、1次微分フィルタFLx,FLyを用いている。但し、エッジ検出用フィルタ(「エッジ量算出用フィルタ」とも呼ぶ)としては、これら以外の任意のフィルタを用いることが可能であり、例えば2次微分フィルタを用いることも可能である。
2つの1次微分フィルタFLx,FLyを用いて対象画素Npixにフィルタ処理を行うことによって、対象画素Npixのx方向のエッジ量成分Edxとy方向のエッジ量成分Edyとを算出することができる。対象画素Npixのエッジ量Ed及びエッジ方向θは、例えば図6(C)に示した式に従って算出することができる。このエッジ量Edは、x方向のエッジ量成分Edyとy方向のエッジ量成分Edyとを総合したエッジ量(「総合エッジ量」とも呼ぶ)である。この例のように、エッジの検出(エッジ有無の判定)に用いるエッジ量としては、2つの方向のエッジ量成分を含む総合エッジ量を使用することが好ましい。なお、例えばラプラシアンフィルタを用いて得られるエッジ量は、総合エッジ量の一種と考えることが可能である。
エッジ有無の判定は、エッジ量Edと所定の閾値Ethとの比較によって行われる。すなわち、エッジ量Edが閾値Eth以上のときにはその対象画素にはエッジが有るものと判定され、一方、閾値Eth未満のときにはその対象画素にはエッジが無いものと判定される。
ステップS14aにおいて対象画素にエッジが無いと判断された場合には、単純高解像度化処理(ステップS16a)が選択される。一方、対象画素にエッジが有ると判断された場合には、ステップS14bにおいてエッジベクトルと動きベクトルとのなす角度φが所定の閾値と比較され、合成高解像度化(ステップS15)とフラクタル補間高解像度化(ステップS16b)のいずれかが選択される。ステップS14bの処理内容については後述する。
ステップS15では、合成高解像度化処理部444が高解像度化処理を実行し、対象画素に対応付けられた複数の高解像度画素(図3において破線で囲まれた4つの高解像度画素)の画素値を算出する。この合成高解像度化処理では、参照入力画像Rimgのみでなく、複数の入力画像Iimg1〜3を共に使用して高解像度画素の画素値が算出される。なお、合成高解像度化処理の詳細についてはさらに後述する。
一方、ステップS16aでは、単純高解像度化処理部442が高解像度化処理を実行し、対象画素に対応付けられた複数の高解像度画素の画素値を算出する。この単純高解像度化処理は、例えば、低解像度画像の画素値を4つの高解像度画素にコピーすることによって実現される。画素値のコピーの代わりに、高解像度画素に近接する複数の低解像度画素の画素値を補間することによって高解像度画素の画素値を決定してもよい。すなわち、単純高解像度化処理では、参照入力画像Rimgのみを用い、1つ以上の最近接画素を参照して各高解像度画素の画素値を生成することができる。
ステップS16bでは、フラクタル補間高解像度化処理部446が高解像度化を実行し、対象画素に対応付けられた複数の高解像度画素の画素値を算出する。このフラクタル補間高解像度化処理では、画像のフラクタル性を利用したフラクタル補間を使用する点に特徴がある。フラクタル補間高解像度化処理は、参照入力画像Rimgのみを使用するという点で単純高解像度化処理と共通するが、フラクタル補間高解像度化処理の方が高精細化の効果の点で優れている。この理由は、フラクタル補間高解像度化処理では、ある狭い領域内の画素値を決定する際に、より広い近似する領域(「広域近似領域」と呼ぶ)内の画素値を参照するので、より多くの画像情報を利用して高解像度画素の画素値が決定されるからである。また、フラクタル補間高解像度化処理は、合成高解像度化処理よりも処理速度が速く、単純高解像度化処理よりも遅い傾向にある。なお、フラクタル補間高解像度処理の詳細についてはさらに後述する。
こうして作成された高解像度化画像の画素値は、高解像度化処理部440から印刷データ生成部450(図2)に順次供給される。
図7は、ステップS14bの処理内容を示す説明図である。図7(A)は、3つの入力画像Iimg1〜3の間の動きベクトルMv1,Mv2を示している。本実施例では、動きベクトルMv1,Mv2は、参照入力画像Rimgと他の入力画像Iimg1,3のそれぞれとの間で算出される。この例では、第1の入力画像Iimg1と参照入力画像Rimgとの間の動きベクトルMv1は水平右方向を向いている。また、参照入力画像Rimgと第3の入力画像Iimg3との間の動きベクトルMv2は右上方向を向いている。ステップS14bでは、図7(B)に示すように、対象画素のエッジベクトルEvと、動きベクトルMv1,Mv2との間の角度φ1,φ2を用いて、以下のような判定が行われる。
[判定1]角度φ1,φ2のいずれか一方が所定の閾値φth以下のときには、エッジベクトルと動きベクトルとのなす角度が十分に小さいと判定し、合成高解像度化処理モード(ステップS15)を選択する。
[判定2]角度φ1,φ2の両方が閾値φthよりも大きいときには、エッジベクトルと動きベクトルとのなす角度が大きいと判定し、フラクタル補間高解像度化処理モード(ステップS16b)を選択する。
[判定2]角度φ1,φ2の両方が閾値φthよりも大きいときには、エッジベクトルと動きベクトルとのなす角度が大きいと判定し、フラクタル補間高解像度化処理モード(ステップS16b)を選択する。
要するに、エッジベクトルと動きベクトルとのなす角度φが比較的小さいときには合成高解像度化処理モードが選択され、この角度φが比較的大きいときにはフラクタル補間高解像度化処理モードが選択される。この理由は以下の通りである。図8は、エッジベクトルEvと動きベクトルMvとのなす角度φと、合成による高精細化の効果との関係を示す説明図である。図8(A)の例では、参照入力画像Rimg内の対象画素Npixが、高明度領域と低明度領域の境界付近にあるものと仮定している。四角の枠は低解像度画素を意味しており、枠内の数値は画素値(明度又は輝度)を意味している。この対象画素NpixにおけるエッジベクトルEvの方向(エッジ方向)は水平右方向である。また、入力画像Iimg1と参照入力画像Rimgとの間の動きベクトルMvも水平右方向である。このとき、2つのベクトルEv,Mvのなす角度φは0度であり、閾値φth(例えば45度)よりも小さい。図8(A)のような場合には、複数の画素とエッジ(領域の境界)との位置関係が2つの入力画像Iimg1,Rimgでは異なっている。従って、対象画素Npix近傍の画像を高解像度化する際には、参照入力画像Rimgと入力画像Iimg1の両方(あるいは3つの入力画像Iimg1〜3)を用いて合成高解像度化処理を行う方が画像の精細度を向上させる効果が大きい。
一方、図8(B)の例では、入力画像Iimg1と参照入力画像Rimgとの間の動きベクトルMvが垂直上向き方向であり、2つのベクトルEv,Mvのなす角度φは90度であって閾値φth(例えば45度)よりも大きい。図8(B)のような場合には、複数の画素とエッジとの位置関係が2つの入力画像Iimg1,Rimgでほとんど変わらない。より具体的に言えば、図8(B)では、2つの入力画像Iimg1,Rimgのいずれにおいてもエッジ(領域の境界)が画素の中央を通っている。従って、対象画素Px近傍の画像を高解像度化する際に合成高解像度化処理を行っても、画像の精細度を向上させる効果は小さい。この場合には、フラクタル補間高解像度化処理を用いることによって、ある程度の高精細化を達成しつつ、より短時間で処理を完了することが好ましい。
なお、上述の説明から理解できるように、本明細書において、「エッジベクトルEvの方向」とは、画像内に領域同士の境界が存在している場合に、その境界線と直交する方向を意味する。換言すれば、エッジベクトルEvの方向は、画素値変化の大きな方向である。エッジベクトルEvの方向は、図6(C)で算出されるエッジ方向θと一致している。
なお、ステップS14bにおける上記判定1、2としては、他の種々の判定方法を採用することが可能であり、例えば以下の判定1a、2aを採用してもよい。
[判定1a]角度φ1,φ2の両方が所定の閾値φth以下のときには、エッジベクトルと動きベクトルとのなす角度が十分小さいと判定し、合成高解像度化処理モード(ステップS15)を選択する。
[判定2a]角度φ1,φ2のいずれか一方が閾値φthよりも大きいときには、エッジベクトルと動きベクトルとのなす角度が大きいと判定し、フラクタル補間高解像度化処理モード(ステップS16b)を選択する。
[判定2a]角度φ1,φ2のいずれか一方が閾値φthよりも大きいときには、エッジベクトルと動きベクトルとのなす角度が大きいと判定し、フラクタル補間高解像度化処理モード(ステップS16b)を選択する。
これらの判定1a,2aを用いると、判定1,2を用いる場合よりもフラクタル補間高解像度化処理モードを選択する画素が多くなるので、より高速に処理を行うことができる。一方、判定1,2を用いると、判定1a,2aを用いる場合よりもより高精細な画像が得られる。
なお、上述した判定1,2は、角度φが閾値よりも小さい動きベクトルが1つ以上の場合に合成高解像度化処理モードを選択し、一方、角度φが閾値よりも小さい動きベクトルが1つも無い場合にフラクタル補間高解像度化処理モードを選択しているものと考えることができる。また、判定1a,2aは、角度φが閾値よりも小さい動きベクトルが2つ以上の場合に合成高解像度化処理モードを選択し、一方、角度φが閾値よりも小さい動きベクトルが2つに達しない場合にフラクタル補間高解像度化処理モードを選択しているものと考えることができる。従って、一般に、角度φが所定の閾値よりも小さい動きベクトルが所定数m以上の場合に合成高解像度化処理モードを選択し、一方、角度φが閾値よりも小さい動きベクトルが所定数mに達しない場合にフラクタル補間高解像度化処理モードを選択するように、ステップS14bの判定を実行することが可能である。なお、mは1以上の任意の整数に設定可能であるば、2以上に設定することが好ましい。この理由は、合成高解像度化処理を行う際に、3枚以上の入力画像(すなわち、参照入力画像Rimgと他の2枚以上の入力画像)を用いる方が、精細度向上の効果が大きいからである。
図5のステップS17では、対象画素番号Npixが更新される。なお、対象画素が各ラインの終端に達した場合には、対象ライン番号Nlineも更新される。全画素の処理が完了していなければ、ステップS18からステップS12に戻り、ラインバッファ430内の画像データが必要に応じて更新されてステップS13〜S18の処理が繰り返される。
このように、第1実施例では、エッジが存在する画素位置において、エッジベクトルと画像の動きベクトルとのなす角度が十分に小さい場合に合成高解像度化処理を実行するので、画素値の変化が急峻な画像部分についてはより高精細な画像を得ることができる。但し、エッジが存在する画素位置においても、エッジベクトルと動きベクトルとのなす角度が大きい場合にはフラクタル補間高解像度化処理を実行するので、合成高解像度化による高精細化の効果の少ない画素位置において合成高解像度化処理を実行することを避けて、ある程度の高精細化を達成しつつより高速に処理を完了することができる。さらに、エッジが無いと判定された画素位置では、単純高解像度化処理を実行するので、画素値の変化が緩慢な画像部分については合成高解像度化処理に起因してノイズが強調されてしまうことを防止することができる。また、単純高解像度化処理は、合成高解像度化処理に比べて処理時間が短いので、全体の処理時間を短縮できるという利点もある。
なお、上記実施例では、個々の低解像度画素毎に高解像度化処理モードの選択を行っていたが、この代わりに、各ライン毎に高解像度化処理モードの選択を行うようにしてもよい。例えば、参照入力画像Rimgの各ライン毎に、ライン内のエッジ量の和に相関のあるエッジ量指標値(例えば、エッジ量の和や、エッジ量の自乗和など)と、ライン内の複数の画素のエッジ方向に相関のあるエッジ方向指標値(例えばエッジ方向の平均値など)とを算出し、そのエッジ量指標値及びエッジ方向指標値とに応じて、各ライン毎に高解像度化処理モードの選択を行うことが可能である。
B.第2実施例:
図9は、第2実施例における高解像度化処理の全体手順を示すフローチャートである。第2実施例と第1実施例との差異は、図5のステップS14bをステップS20に置き換えた点だけであり、他の構成や処理内容は第1実施例と同じである。
図9は、第2実施例における高解像度化処理の全体手順を示すフローチャートである。第2実施例と第1実施例との差異は、図5のステップS14bをステップS20に置き換えた点だけであり、他の構成や処理内容は第1実施例と同じである。
ステップS20では、エッジベクトルと動きベクトルとのなす角度φに応じて、合成高解像度化(ステップS15)に使用される入力画像が選択される。図9は、ステップS20の処理内容を示す説明図である。この例では、5つの入力画像Iimg1〜5が使用されており、その中の3番目の入力画像Iimg3が参照入力画像Rimgとして使用される。このとき、動きベクトルMvとしては、参照入力画像Rimgと、他の入力画像Iimg1,2,4,5との間の4個の動きベクトルMv1,Mv2,Mv4,Mv5が算出される。なお、動きベクトルとしては、隣接する2つの入力画像間の動きベクトルを算出しても良いが、ステップS20の判断の際には、参照入力画像Rimgと、他の入力画像Iimg1,2,4,5との間の動きベクトルを求めておくことが好ましい。
エッジベクトルEvと動きベクトルMvとの間の角度φは、各動きベクトル毎に算出される(図10(B))。そして、この角度φが所定の閾値φth(例えば45度)以下の入力画像が、合成高解像度化に使用する低解像度画像として選択される。なお、角度φが閾値φth以下の入力画像が多数存在する場合には、所定数(例えば参照画像以外に2枚)の入力画像のみを選択することが好ましい。この理由は、過度に多数の画像を合成すると、合成処理の時間が過大になるからである。なお、選択する入力画像としては、参照入力画像Rimgとなるべく時刻の近い入力画像が好ましい。
角度φが閾値φth以下の入力画像が、参照画像Rimg以外に1枚以上存在する場合には、ステップS15において合成高解像度化処理が実行される。一方、角度φが閾値φth以下の入力画像が、参照画像Rimg以外には1枚も存在しない場合には、ステップS16bにおいてフラクタル補間高解像度化処理が実行される。なお、一般には、角度φが閾値φth以下の入力画像(参照画像Rimgを除く)が、所定数m(mは1以上の整数)以上存在する場合に合成高解像度化処理を選択し、角度φが閾値φth以下の入力画像(参照画像Rimgを除く)が、m枚に達しない場合にフラクタル補間高解像度化処理を選択するように、ステップS20の処理を実行することが可能である。
このように、第2実施例では、エッジベクトルと動きベクトルとのなす角度φに応じて、合成高解像度化に使用される入力画像を選択するので、高解像度化によって精細度の向上が期待できる入力画像を選択的に使用することができる。従って、効率的に高精細な画像を得ることが可能である。
C.フラクタル補間高解像度化処理の詳細:
図11は、フラクタル補間高解像度化処理の概要を示す説明図である。ここでは、参照入力画像Rimg内に対象画素TPが設定されており、その対象画素TPを含む局所対象領域LTA内の高解像度画素の画素値を決定する場合を想定している。理解を容易にするため、この参照入力画像Rimgは、対象画素TPの上を通過する曲線状の画像を含んでいるものと仮定している。このとき、局所対象領域LTAよりも大きな領域LSA内の画像と、局所対象領域LTA内の画像との間に近似性が存在することがある。特に、自然画像の場合には、このような近似性(自己相似性)が存在することが知られており、この性質は「フラクタル性」と呼ばれている。
図11は、フラクタル補間高解像度化処理の概要を示す説明図である。ここでは、参照入力画像Rimg内に対象画素TPが設定されており、その対象画素TPを含む局所対象領域LTA内の高解像度画素の画素値を決定する場合を想定している。理解を容易にするため、この参照入力画像Rimgは、対象画素TPの上を通過する曲線状の画像を含んでいるものと仮定している。このとき、局所対象領域LTAよりも大きな領域LSA内の画像と、局所対象領域LTA内の画像との間に近似性が存在することがある。特に、自然画像の場合には、このような近似性(自己相似性)が存在することが知られており、この性質は「フラクタル性」と呼ばれている。
このとき、より広い領域LSA(「広域近似領域」と呼ぶ)の画素値を利用して局所対象領域LTAの高解像度画素の画素値を決定すれば、単純高解像度化処理よりもより多くの画像情報を用いて高解像度画素値を求めることになるので、より自然で高精細な高解像度画像を得ることができる。
なお、フラクタル補間高解像度化処理は自然画像のフラクタル性を利用しているので、入力画像Iimg1〜3がグラフィックデザインやドローイングソフトなどで作成されたものでは無く、自然画像である場合にのみフラクタル補間高解像度化処理を利用することが好ましい。
図12は、フラクタル補間高解像度化処理の処理手順の一例を示すフローチャートであり、図13はその処理内容を示している。ステップS31では、対象画素TPを含む参照入力画像Rimg内の所定大の領域を単純高解像度化することによって、参照高解像度領域を生成する。図13(A)には、対象画像TPを含む参照入力画像Rimgの一部の領域が示されており、図13(B)にはこれを単純高解像度化した参照高解像度画像領域HRimgが示されている。この例では、参照高解像度画像領域HRimgは10×10個の高解像度画素で構成されている。ある低解像度画素の周囲の4つの高解像度画素の画素値は、例えば、その低解像度画素の画素値を単にコピーすることによって得られる。なお、図13(B)に示されている低解像度画素は、単に理解を容易にするために描かれたものである。図13(C),図13(D)も同様である。
図12のステップS32では、参照高解像度画像領域HRimgから局所対象領域LTA(図13(B))が取得される。この局所対象領域LTAは、対象画素TPを取り囲む所定のサイズの領域である。図13(B)の例では、局所対象領域LTAは4×4個の高解像度画素で構成されている。
ステップS33では、参照高解像度画像領域HRimgの中から、局所対象領域LTAを含み、局所対象領域LTAよりも広い広域候補領域LCA(図13(C))を1つ取得する。広域候補領域LCAは、図13に示した広域近似領域LSAの候補となる領域である。図13(C)の例では、広域候補領域LCAとして8×8個の高解像度画素を含む一定サイズの領域を設定している。このとき、参照高解像度画像領域HRimg内には、互いに1画素ずつずれた9つの広域候補領域LCA1〜LCA9を設定することが可能である。但し、図13(C)では、図示の便宜上、2つの広域候補領域LCA1,LCA9のみを示している。なお、広域候補領域LCAとしては、局所対象領域LTAよりも広く、アフィン変換によって局所対象領域LTAと外形を一致させることが可能な任意の領域を採用することが可能である。
ステップS34では、取得された広域候補領域LCAを局所対象領域LTAと同じサイズに縮小する。この際、変形や回転が必要な場合にはアフィン変換も実施する。例えば、まず、局所対象領域LTAと相似形(例えば局所対象領域LTAの2倍)になるように広域候補領域LCAをアフィン変換し、その後、アフィン変換後の広域候補領域LCA’を縮小して局所対象領域LTAと同じサイズにしてもよい。あるいは、1回のアフィン変換によって広域候補領域LCAを局所対象領域LTAと同じ外形に変換してもよい。後者の場合には、アフィン変換によって同時に画像の縮小も実施されていることになる。
図13(D)は、広域候補領域LCA1を1/2に縮小することによって、縮小候補領域RCA1が作成される様子を示している。この例では、広域候補領域LCA1は8×8個の高解像度画素で構成されており、縮小候補領域RCA1は4×4個の高解像度画素で構成されている。
ステップS35では、縮小候補領域RCA内の画像と局所対象領域LTA内の画像との間の距離を算出する(図13(D))。この距離は、2つの領域RCA,LTAの画像の近似度を示す指標値であり、「近似度指標」又は「近似性指標」とも呼ぶ。この距離としては、例えば、縮小候補領域RCAと局所対象領域LTAの対応する画素同士の画素値の差分の2乗和や、画素値の差分の絶対値の和を使用することができる。
ステップS36では、未処理の広域候補領域が存在するか否かが判断される。未処理の広域候補領域が存在する場合には、ステップS36からステップS33に戻り、ステップS33〜S35の処理を繰り返す。こうして、全ての広域候補領域LCA1〜9について距離の算出が終了すると、ステップS37において、複数の広域候補領域LCAの中で距離が最小のものが広域近似領域LSA(図11)として選択される。この処理は、広域近似領域LSAを縮小した縮小近似領域RSA(図13(D))を選択する処理であると考えることも可能である。
ステップS38では、選択された候補領域(すなわち広域近似領域LSA又は縮小近似領域RSA)を用いて、局所対象領域LTA内の画素値が決定される。具体的には、選択された候補領域に対応する縮小近似領域RSAを取得し(図13(D))、この縮小近似領域RSA内の画素値を用いて局所対象領域LTA内の画素値を決定する。縮小近似領域RSAの画素値データは、ステップS38において選択された広域候補領域LCAに対してステップS34と同じ処理を適用して作成してもよい。あるいは、ステップS34で作成された縮小候補領域RCAの画素値データを破棄せずに保持しておき、それらの中から縮小近似領域RSAの画素値データを取得してもよい。
縮小近似領域RSAの画素値を用いて局所対象領域LTA内の画素値を決定する方法としては、例えば以下の例を含む種々の方法を採用することが可能である。
(1)縮小近似領域RSA内の各画素の画素値を、そのまま局所対象領域LTA内の各画素の新たな画素値として採用する。
(2)局所対象領域LTA内の各画素の元の画素値と、縮小近似領域RSA内の各画素の画素値との平均値(単純平均又は重み付き平均)を、局所対象領域LTA内の各画素の新たな画素値として採用する。
(3)局所対象領域LTA内の一部の画素に関してのみ(例えば図13(B)の対象画素TP近傍の4つの高解像度画素に関してのみ)、上記(1)又は(2)の方法で画素値を更新する。
(1)縮小近似領域RSA内の各画素の画素値を、そのまま局所対象領域LTA内の各画素の新たな画素値として採用する。
(2)局所対象領域LTA内の各画素の元の画素値と、縮小近似領域RSA内の各画素の画素値との平均値(単純平均又は重み付き平均)を、局所対象領域LTA内の各画素の新たな画素値として採用する。
(3)局所対象領域LTA内の一部の画素に関してのみ(例えば図13(B)の対象画素TP近傍の4つの高解像度画素に関してのみ)、上記(1)又は(2)の方法で画素値を更新する。
これらの例から理解できるように、局所対象領域LTAの画素値は、少なくとも縮小近似領域RSAの画素値を利用して決定することが好ましい。前述したように、縮小近似領域RSAの画素値は、広域近似領域LSPの画素値から得られている。従って、局所対象領域LTA内の画素値は、広域近似領域LSA内の画素値を利用して決定されていると考えることができる。
このように、フラクタル補間高解像度化処理では、広域近似領域LSAの画素値を用いて局所対象領域LTAの画素値を決定しているので、画像のフラクタル性を利用して局所対象領域LTA内の画像の精細度を向上させることが可能である。
なお、図13(D)に示す縮小候補領域RCA1内の高解像度画素の画素値は、図13(C)に示す広域候補領域LCA1内の低解像度画素の画素値から求めるようにしてもよい。この場合には、図12のステップS31は省略することが可能である。このとき、局所対象領域LTAは、低解像度画像である参照入力画像Rimg内に設定される。
D.合成高解像度化処理の詳細:
図14は、合成高解像度化処理部444の内部構成を示すブロック図である。合成高解像度化処理部444は、制御部210と、画像選択部215と、低解像度画像推定部220と、高解像度画像推定部230と、低解像度差分画像生成部240と、移動量算出部250と、高解像度差分画像生成部260と、出力高解像度画像更新部270と、を有している。これらの各構成要素の機能については後述する。
図14は、合成高解像度化処理部444の内部構成を示すブロック図である。合成高解像度化処理部444は、制御部210と、画像選択部215と、低解像度画像推定部220と、高解像度画像推定部230と、低解像度差分画像生成部240と、移動量算出部250と、高解像度差分画像生成部260と、出力高解像度画像更新部270と、を有している。これらの各構成要素の機能については後述する。
図15は、合成高解像度化処理の内容を示す説明図である。図15の例では、3枚の入力画像Iimgから、1枚の高解像度な出力画像Oimgを生成している。以後、図中において、符号LR(Low Resolution)が付された画像は低解像度な画像を表し、符号HR(High Resolution)が付された画像は高解像度な画像を表すこととする。
図16は、合成高解像度化処理の手順を示すフローチャートである。ステップS110では、高解像度画像推定部230(図14)が、入力画像Iimgを用いて仮の出力画像Oimgを生成する。図15の例では、時系列に沿った順番が中央である参照入力画像Rimgを用いて仮の出力画像Oimgを生成する。具体的には、高解像度画像推定部230は、周知のバイリニア法を用いて、低解像度な参照入力画像Rimgから高解像度な仮の出力画像Oimgを生成する。
なお、後述するように、最終的な出力画像Oimgは、仮の出力画像Oimgを修正することによって生成される。従って、仮の出力画像Oimgの生成方法としては、バイリニア法に限らず、種々の方法を採用することができる。例えば、ニアレストネイバ法を用いてもよい。
また、参照入力画像Rimgを他の規則に従って定めてもよい。例えば、時系列に沿った順番が先頭の入力画像Iimgを参照入力画像Rimgとして用いることとしてもよい。
次のステップS120では、移動量算出部250(図14)が、各入力画像Iimgの相対移動量を算出する。この相対移動量は、ある入力画像Iimgの全体と、参照入力画像Rimgの全体と、の相対的な位置を表す値である。このような相対移動量(相対動き量とも呼ぶ)としては、例えば、入力画像Iimg全体の参照入力画像Rimg全体に対する動きベクトルを用いることができる。また、相対移動量としては、画像の平行移動を表す移動量に限らず、他の種々の動きを表す移動量を採用することができる。例えば、平行移動と回転移動とを含む動きを表す移動量を採用してもよい。いずれの場合も、相対移動量の算出方法としては、周知の種々の方法を採用することができる。例えば、各入力画像Iimgから特徴点を抽出し、特徴点の移動量を算出することによって相対移動量を算出する方法を採用することができる。
なお、図5、図9に示した処理手順ではステップS11において動きベクトル(相対移動量)が算出されている。従って、ステップS120では、その演算を再度行う必要は無く、ステップS11で得られた値をそのまま使用することができる。この場合には、ステップS120及び移動量算出部250を省略することができる。
次のステップS130では、低解像度画像推定部220(図14)が、高解像度な仮の出力画像Oimgを用いて、低解像度な3枚の推定画像Eimgを生成する(詳細は後述)。これらの推定画像Eimgは、仮の出力画像Oimgと整合性のある入力画像を表している。換言すれば、これらの推定画像Eimgは、仮の出力画像Oimgが最適な画像であると仮定した場合に、各入力画像Iimgが有すべき画像を表している。ここで、各推定画像Eimgと各入力画像Iimgとは、一対一に対応付けられている。
具体的には、ステップS130において、低解像度画像推定部220は、仮の出力画像Oimgと、各相対移動量と、を用いて、各推定画像Eimgを生成する。図15の例では、低解像度画像推定部220は、仮の出力画像Oimgに対してぼかし処理を行い、さらに、相対移動量に従って画像を移動させ、低解像度化処理を実行することによって、推定画像Eimgを生成する。ぼかし処理(平滑化処理)としては、周知の種々の処理を採用することができる。画像の移動処理では、仮の出力画像Oimgが、各入力画像Iimgと重なるように移動される。また、低解像度化処理としては、周知の種々の処理を採用することができる。例えば、バイリニア法やニアレストネイバ法等の補間処理を採用することができる。また、各推定画像Eimgの画素位置が、仮の出力画像Oimgの画素位置と重なっている場合には、単純に画素を間引く処理を採用してもよい。
次のステップS140では、低解像度差分画像生成部240(図14)が、3枚の入力画像Iimgと3枚の推定画像Eimgとを用いて、各入力画像Iimg毎の低解像度差分画像LDimgを生成する。この低解像度差分画像LDimgの各画素値は、入力画像Iimgと推定画像Eimgとの同じ画素位置における画素値の差分(=Eimg−Iimg)に設定される。この低解像度差分画像LDimgの意味は、以下のように説明できる。仮の出力画像Oimgと、各入力画像Iimgと、の関係が理想的な状態の場合、すなわち、仮の出力画像Oimgと、各入力画像Iimgと、が、位置(相対移動量)のみが異なる同じ画像を表す場合には、各低解像度差分画像LDimgの各画素値はゼロに近い値となる。一方、仮の出力画像Oimgと理想的な出力画像との間の差異が大きい場合、すなわち、仮の出力画像Oimgと各入力画像Iimgとの間の差異が大きい場合には、その差異によって、各低解像度差分画像LDimgの画素値がゼロから離れることとなる。このように、低解像度差分画像LDimgの画素値のゼロからのズレの大きさは、仮の出力画像Oimgと理想的な出力画像との違いの大きさを意味することになる。従って、低解像度差分画像LDimgの画素値を仮の出力画像Oimgにフィードバックさせれば、仮の出力画像Oimgを理想的な出力画像に近づけることが可能となる。
次のステップS150では、高解像度差分画像生成部260(図14)は、各低解像度差分画像LDimg毎に高解像度な差分画像HDimgを生成する。具体的には、高解像度差分画像生成部260は、低解像度差分画像LDimgに対して高解像度化処理を行い、さらに、シャープネス強調処理を行い、その後、推定相対移動量に従って画像を移動させることによって、各高解像度差分画像HDimgを生成する。高解像度化処理としては、周知の種々の処理を採用することができる。例えば、バイリニア法やニアレストネイバ法を採用することができる。シャープネス強調処理としては、周知の種々の処理を採用することができる。例えば、アンシャープマスクを利用した処理を採用してもよい。さらに、画像の移動処理は、高解像度差分画像HDimgが仮の出力画像Oimgと重なるように行われる。この際、各高解像度差分画像HDimgの各画素値は、仮の出力画像Oimgと同じ画素位置の画素値を表すように補正される。画素値を補正する処理としては、周知の種々の補間処理を採用することができる。
次のステップS160では、高解像度差分画像生成部260は、各高解像度差分画像HDimgを合成して1枚の合成済高解像度差分画像CHDimgを生成する。この合成済高解像度差分画像CHDimgの各画素値は、各高解像度差分画像HDimgの同じ画素位置の画素値の和に設定される。
次のステップS170では、出力高解像度画像更新部270は、合成済高解像度差分画像CHDimgを仮の出力画像Oimgにフィードバックする。このフィードバックは、仮の出力画像Oimgの各画素値を、以下の式(1)に従って修正することによって行われる。
更新後画素値 = 更新前画素値 + α×差分画素値 ...(1)
ここで、更新後画素値は、フィードバック後の仮の出力画像Oimgの画素値である。更新前画素値は、フィードバック前の仮の出力画像Oimgの画素値である。差分画素値は、合成済高解像度差分画像CHDimgの同じ画素位置の画素値である。αは、フィードバックの強度を表す係数である。この係数αは、フィードバックが過剰とならないように予め実験的に設定しておけばよい。なお、この係数αの正負は、負のフィードバックを実現するように決定される。本実施例では、差分画素値は、推定画像Eimgから入力画像Iimgを差し引いた値(Eimg−Iimg)から得られているので、係数αは、負の値である。
以上の処理によって、仮の出力画像Oimgを入力画像Iimgにより適した画像に更新することが可能となる。ステップS170の後は、ステップS130に戻り、ステップS130〜S170の処理が繰り返し実行される。そして、合成済高解像度差分画像CHDimgの画素値が充分に小さくなった時点で、制御部210は、処理が収束したものと判断して、更新を完了する。こうして最終的に更新された出力画像Oimgは、最終的な出力画像Oimgとして利用される。
なお、この実施例では、ステップS130においてぼかし処理(平滑化処理)を実行しているので、低解像度差分画像LDimgにおいて、各入力画像Iimgの鮮鋭な部分の画素値の絶対値を平滑な部分の画素値の絶対値よりも大きくすることができる。さらに、ステップS150でシャープネス強調処理を実行しているので、高解像度差分画像HDimgにおいて、各入力画像Iimgの鮮鋭な部分を強調させることができる。その結果、更新後の仮の出力画像Oimgを、各入力画像Iimgと整合性のある鮮鋭な画像とすることができる。
なお、図15及び図16に示した合成高解像度化処理は、1枚の画像全体に対しても実行することができ、あるいは、1ライン毎に実行することも可能である。1ライン毎に実行する場合には、図15の各画像Eimg,LDimg,HDimg,CHDimg,Oimgとしては、処理対象とする1ライン分の画像が少なくとも生成される。
ところで、図5、図9で説明した高解像度化処理モードの選択は、前述したように各画素毎又は各ライン毎に実行することができる。各画素素毎に高解像度化処理モードの選択を行う場合には、例えば、図15及び図16に示した合成高解像度化処理を各ライン毎に実行し、その後、単純高解像度化処理又はフラクタル補間高解像度化処理を選択すべき画素に関しては、合成高解像度化処理で得られた画素値の代わりに単純高解像度化処理又はフタクタル補間高解像度化処理で得られた画素値を使用することによって、高解像度画像を生成することが可能である。
E.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
E1.変形例1:
上記各実施例では、エッジベクトルとのなす角度が閾値よりも小さな動きベクトルの数を、処理モードの選択の際の指標値(「判定用指標値」と呼ぶ)として使用していたが、判定用指標値としてはこれ以外の種々の値を採用することが可能であり、エッジベクトルとN個の動きベクトルとのなす角度の大小関係を示す任意の指標値を使用することが可能である。例えば、複数の入力画像に関する複数の動きベクトルとエッジベクトルとのなす角度の平均値を判定用指標値として使用することも可能である。また、判定条件としては、判定用指標値の種類に応じて種々の適切な条件(例えば、適切な判定用閾値)を設定することが可能である。
上記各実施例では、エッジベクトルとのなす角度が閾値よりも小さな動きベクトルの数を、処理モードの選択の際の指標値(「判定用指標値」と呼ぶ)として使用していたが、判定用指標値としてはこれ以外の種々の値を採用することが可能であり、エッジベクトルとN個の動きベクトルとのなす角度の大小関係を示す任意の指標値を使用することが可能である。例えば、複数の入力画像に関する複数の動きベクトルとエッジベクトルとのなす角度の平均値を判定用指標値として使用することも可能である。また、判定条件としては、判定用指標値の種類に応じて種々の適切な条件(例えば、適切な判定用閾値)を設定することが可能である。
E2.変形例2:
合成高解像度化処理としては、図15及び図16に示したもの以外の種々の処理を採用することが可能である。例えば、他の合成高解像度化処理としては、各高解像度画素に近接した低解像度画素を3つの入力画像Iimg1〜3からそれぞれ1つずつ選択し、これらの3つの低解像度画素画素の画素値を補間することによって高解像度画素の画素値を求める方法を採用することができる。また、画素値の補間演算方法としては、例えばバイリニア法やバイキュービック法などの種々の方法を使用することが可能である。
合成高解像度化処理としては、図15及び図16に示したもの以外の種々の処理を採用することが可能である。例えば、他の合成高解像度化処理としては、各高解像度画素に近接した低解像度画素を3つの入力画像Iimg1〜3からそれぞれ1つずつ選択し、これらの3つの低解像度画素画素の画素値を補間することによって高解像度画素の画素値を求める方法を採用することができる。また、画素値の補間演算方法としては、例えばバイリニア法やバイキュービック法などの種々の方法を使用することが可能である。
E3.変形例3:
上記実施例においては、データ処理部100をプリンタ内に設けることとしたが、この代わりに、データ処理部100を、一般的なパーソナルコンピュータを用いて構成することとしてもよい。また、データ処理部100を、情報携帯端末や、携帯電話、デジタルビデオカメラ、デジタルスチルカメラ等の他の種々の電子機器に実装することとしてもよい。
上記実施例においては、データ処理部100をプリンタ内に設けることとしたが、この代わりに、データ処理部100を、一般的なパーソナルコンピュータを用いて構成することとしてもよい。また、データ処理部100を、情報携帯端末や、携帯電話、デジタルビデオカメラ、デジタルスチルカメラ等の他の種々の電子機器に実装することとしてもよい。
E4.変形例4:
上記各実施例では、動画像から高解像度な静止画像を生成することとしているが、この代わりに、複数枚の低解像度な静止画像から、高解像度な静止画像を生成することとしてもよい。
上記各実施例では、動画像から高解像度な静止画像を生成することとしているが、この代わりに、複数枚の低解像度な静止画像から、高解像度な静止画像を生成することとしてもよい。
E5.変形例5:
上記各実施例において、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよく、逆に、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよい。
上記各実施例において、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよく、逆に、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよい。
100…データ処理部
210…制御部
215…画像選択部
220…低解像度画像推定部
230…高解像度画像推定部
240…低解像度差分画像生成部
250…移動量算出部
260…高解像度差分画像生成部
270…出力高解像度画像更新部
300…デジタルビデオカメラ
420…エッジ検出部
430…ラインバッファ
440…高解像度化処理部
442…単純高解像度化処理部
444…合成高解像度化処理部
446…フラクタル補間高解像度化処理部
450…印刷データ生成部
460…動きベクトル検出部
500…プリンタ
700…印刷実行部
800…画像処理システム
210…制御部
215…画像選択部
220…低解像度画像推定部
230…高解像度画像推定部
240…低解像度差分画像生成部
250…移動量算出部
260…高解像度差分画像生成部
270…出力高解像度画像更新部
300…デジタルビデオカメラ
420…エッジ検出部
430…ラインバッファ
440…高解像度化処理部
442…単純高解像度化処理部
444…合成高解像度化処理部
446…フラクタル補間高解像度化処理部
450…印刷データ生成部
460…動きベクトル検出部
500…プリンタ
700…印刷実行部
800…画像処理システム
Claims (7)
- 参照画像を含む複数の低解像度画像を用いて1枚の高解像度画像を作成する画像処理装置であって、
前記参照画像を解析することによって、前記参照画像内のエッジを検出するエッジ検出部と、
前記参照画像と他のN個(Nは1以上の整数)の低解像度画像との間のN個の動きベクトルを検出する動きベクトル検出部と、
前記複数の低解像度画像に基づいて、1枚の高解像度画像を作成するための高解像度化処理を実行する高解像度化処理部と、
を備え、
前記高解像度化処理は、
前記複数の低解像度画像を合成することによって前記高解像度画像を作成する合成高解像度化処理モードと、
前記参照画像のみを用い、1つ以上の最近接画素を参照して各高解像度画素の画素値を決定することによって前記高解像度画像を作成する単純高解像度化処理モードと、
前記参照画像のみを用い、フラクタル補間を利用して前記高解像度画像を作成するフラクタル補間高解像度化処理モードと、
を有し、
前記高解像度化処理部は、
(i)エッジが検出された位置において、前記検出されたエッジのエッジベクトルと前記N個の動きベクトルとのなす角度の大小関係を示す指標値を算出し、
(i−1)前記指標値が、前記エッジベクトルと前記N個の動きベクトルのなす角度が十分に小さいことを示す所定の判定条件を満足する場合には、前記合成高解像度化処理モードによる高解像度化を選択して実行し、
(i−2)前記指標値が前記判定条件を満足しない場合には、前記フラクタル補間高解像度化処理モードによる高解像度化を選択して実行し、
(ii)エッジが検出されなかった位置では前記単純高解像度化処理モードによる高解像度化を選択して実行する、画像処理装置。 - 請求項1記載の画像処理装置であって、
前記高解像度化処理部は、
前記エッジが検出された位置において、
前記エッジベクトルとのなす角度が閾値よりも小さな動きベクトルが所定数以上存在する場合には、前記指標値が前記判定条件を満足すると判定して前記合成高解像度化処理モードを選択し、
前記エッジベクトルとのなす角度が前記閾値よりも小さな動きベクトルが前記所定数に達しない場合には、前記指標値が前記判定条件を満足しないと判定して前記フラクタル補間高解像度化処理モードを選択する、画像処理装置。 - 請求項2記載の画像処理装置であって、
前記高解像度化処理部は、前記合成低解像度化処理モードによる高解像度化を実行する際に、前記検出されたエッジのベクトル方向と前記N個の動きベクトルとのなす角度に基づいて、前記他のN個の低解像度画像の中から前記合成高解像度化処理モードに使用する1つ以上の低解像度画像を選択する、画像処理装置。 - 請求項1ないし3のいずれかに記載の画像処理装置であって、
前記フラクタル補間高解像度化処理モードにおける高解像度化は、
前記参照画像内に、又は、前記参照画像に対して前記単純高解像度化処理モードによる高解像度化を行った参照高解像度画像内に、処理対象としての局所対象領域を設定する処理と、
前記局所対象領域よりも大きく、かつ、前記局所対象領域内の画像に近似する画像を有する広域近似領域を探索する処理と、
前記広域近似領域を前記局所対象領域と同じサイズに縮小した縮小近似領域を取得し、前記縮小近似領域内の画素値を少なくとも用いて、前記局所対象領域内の高解像度画素の画素値を決定する処理と、
を含む、画像処理装置。 - 請求項4記載の画像処理装置であって、
前記広域近似領域を探索する処理は、
前記局所対象領域を含み、前記局所対象領域よりもそれぞれ大きな複数の広域候補領域を設定する処理と、
前記複数の広域候補領域をそれぞれ前記局所対象領域と同じサイズに縮小することによって複数の縮小候補領域を作成する処理と、
各縮小候補領域内の画像と前記局所対象領域の画像との近似度を示す近似性指標値を算出する処理と、
前記近似性指標値を用いて、前記複数の縮小候補領域の中で前記局所対象領域と最も近似する縮小候補領域を前記縮小近似領域として選択する処理と、
を含む、画像処理装置。 - 参照画像を含む複数の低解像度画像を用いて1枚の高解像度画像を作成する画像処理装置であって、
(a)前記参照画像を解析することによって、前記参照画像内のエッジを検出する工程と、
(b)前記参照画像と他のN個(Nは1以上の整数)の低解像度画像との間のN個の動きベクトルを検出する工程と、
(c)前記複数の低解像度画像に基づいて、1枚の高解像度画像を作成するための高解像度化処理を実行する工程と、
を備え、
前記高解像度化処理は、
前記複数の低解像度画像を合成することによって前記高解像度画像を作成する合成高解像度化処理モードと、
前記参照画像のみを用い、1つ以上の最近接画素を参照して各高解像度画素の画素値を決定することによって前記高解像度画像を作成する単純高解像度化処理モードと、
前記参照画像のみを用い、フラクタル補間を利用して前記高解像度画像を作成するフラクタル補間高解像度化処理モードと、
を有し、
前記工程(c)は、
(i)エッジが検出された位置において、前記検出されたエッジのエッジベクトルと前記N個の動きベクトルとのなす角度の大小関係を示す指標値を算出し、
(i−1)前記指標値が、前記エッジベクトルと前記N個の動きベクトルのなす角度が十分に小さいことを示す所定の判定条件を満足する場合には、前記合成高解像度化処理モードによる高解像度化を選択して実行し、
(i−2)前記指標値が前記判定条件を満足しない場合には、前記フラクタル補間高解像度化処理モードによる高解像度化を選択して実行し、
(ii)エッジが検出されなかった位置では前記単純高解像度化処理モードによる高解像度化を選択して実行する工程を含む、画像処理方法。 - 参照画像を含む複数の低解像度画像を用いて1枚の高解像度画像を作成するためのコンピュータプログラムであって、
前記参照画像を解析することによって、前記参照画像内のエッジを検出するエッジ検出機能と、
前記参照画像と他のN個(Nは1以上の整数)の低解像度画像との間のN個の動きベクトルを検出する動きベクトル検出機能と、
前記複数の低解像度画像に基づいて、1枚の高解像度画像を作成するための高解像度化処理を実行する高解像度化処理機能と、
をコンピュータに実現させるコンピュータプログラムを含み、
前記高解像度化処理は、
前記複数の低解像度画像を合成することによって前記高解像度画像を作成する合成高解像度化処理モードと、
前記参照画像のみを用い、1つ以上の最近接画素を参照して各高解像度画素の画素値を決定することによって前記高解像度画像を作成する単純高解像度化処理モードと、
前記参照画像のみを用い、フラクタル補間を利用して前記高解像度画像を作成するフラクタル補間高解像度化処理モードと、
を有し、
前記高解像度化処理機能は、
(i)エッジが検出された位置において、前記検出されたエッジのエッジベクトルと前記N個の動きベクトルとのなす角度の大小関係を示す指標値を算出し、
(i−1)前記指標値が、前記エッジベクトルと前記N個の動きベクトルのなす角度が十分に小さいことを示す所定の判定条件を満足する場合には、前記合成高解像度化処理モードによる高解像度化を選択して実行し、
(i−2)前記指標値が前記判定条件を満足しない場合には、前記フラクタル補間高解像度化処理モードによる高解像度化を選択して実行し、
(ii)エッジが検出されなかった位置では前記単純高解像度化処理モードによる高解像度化を選択して実行する機能を含む、コンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005031335A JP2006221220A (ja) | 2005-02-08 | 2005-02-08 | 複数の低解像度画像を用いた高解像度画像の生成 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005031335A JP2006221220A (ja) | 2005-02-08 | 2005-02-08 | 複数の低解像度画像を用いた高解像度画像の生成 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006221220A true JP2006221220A (ja) | 2006-08-24 |
Family
ID=36983540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005031335A Pending JP2006221220A (ja) | 2005-02-08 | 2005-02-08 | 複数の低解像度画像を用いた高解像度画像の生成 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006221220A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009020704A (ja) * | 2007-07-12 | 2009-01-29 | Seiko Epson Corp | 画像処理装置、画像処理方法及び印刷装置 |
JP2009065535A (ja) * | 2007-09-07 | 2009-03-26 | Sony Corp | 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム |
JP2009231871A (ja) * | 2008-03-19 | 2009-10-08 | Fuji Xerox Co Ltd | 画像処理装置及び画像処理プログラム |
JP2011530208A (ja) * | 2008-08-01 | 2011-12-15 | オムニヴィジョン テクノロジーズ インコーポレイテッド | 異なる解像度の画像を使用した改良された画像の形成 |
JP2012022656A (ja) * | 2010-07-16 | 2012-02-02 | Canon Inc | 画像処理装置、画像処理方法、およびプログラム |
JP2014202751A (ja) * | 2013-04-05 | 2014-10-27 | 株式会社ミツトヨ | エッジ分解能強化に利用されるオフセットを有する画像を取得するシステム及び方法 |
-
2005
- 2005-02-08 JP JP2005031335A patent/JP2006221220A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009020704A (ja) * | 2007-07-12 | 2009-01-29 | Seiko Epson Corp | 画像処理装置、画像処理方法及び印刷装置 |
JP2009065535A (ja) * | 2007-09-07 | 2009-03-26 | Sony Corp | 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム |
US8369649B2 (en) | 2007-09-07 | 2013-02-05 | Sony Corporation | Image processing apparatus, image processing method, and computer program for performing super-resolution process |
JP2009231871A (ja) * | 2008-03-19 | 2009-10-08 | Fuji Xerox Co Ltd | 画像処理装置及び画像処理プログラム |
JP2011530208A (ja) * | 2008-08-01 | 2011-12-15 | オムニヴィジョン テクノロジーズ インコーポレイテッド | 異なる解像度の画像を使用した改良された画像の形成 |
JP2012022656A (ja) * | 2010-07-16 | 2012-02-02 | Canon Inc | 画像処理装置、画像処理方法、およびプログラム |
JP2014202751A (ja) * | 2013-04-05 | 2014-10-27 | 株式会社ミツトヨ | エッジ分解能強化に利用されるオフセットを有する画像を取得するシステム及び方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4120677B2 (ja) | 複数のフレーム画像からの静止画像の生成 | |
US7149355B2 (en) | Image processing apparatus, image processing method, image processing program, and computer-readable record medium storing image processing program | |
CN108463994B (zh) | 图像处理装置、图像处理方法和存储介质 | |
US20100123792A1 (en) | Image processing device, image processing method and program | |
JP2007226643A (ja) | 画像処理装置 | |
JP2006222493A (ja) | 複数の低解像度画像を用いた高解像度画像の生成 | |
JP2000228715A (ja) | 連続階調画像デ―タ内のピクセルを再調整する方法 | |
JP2003283811A (ja) | 画像処理装置およびプログラム | |
JP2006221220A (ja) | 複数の低解像度画像を用いた高解像度画像の生成 | |
JP3075269B2 (ja) | 画像データ補間方法、画像データ補間装置および画像データ補間プログラムを記録した媒体 | |
JP2006221221A (ja) | 複数の低解像度画像を用いた高解像度画像の生成 | |
JP2006203717A (ja) | 複数の低解像度画像を用いた高解像度画像の生成 | |
JP2004272751A (ja) | 複数のフレーム画像からの静止画像の生成 | |
JP4686624B2 (ja) | 情報処理装置、画像処理方法およびプログラム | |
JP2006203716A (ja) | 複数の低解像度画像を用いた高解像度画像の生成 | |
JP4128123B2 (ja) | 手ぶれ補正装置、手ぶれ補正方法および手ぶれ補正プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2006202168A (ja) | 低解像度な複数の画像を用いた高解像度画像の生成 | |
JP2006202170A (ja) | 低解像度な複数の画像を用いた高解像度画像の生成 | |
WO2014034242A1 (ja) | 画像処理装置、および画像処理方法、並びにプログラム | |
JPH08205163A (ja) | 動き補償予測画像作成装置 | |
JPH1083442A (ja) | 画像合成方法 | |
JP2009027397A (ja) | 画像処理のための装置、方法、および、プログラム | |
JP4419500B2 (ja) | 静止画像生成装置、静止画像生成方法、静止画像生成プログラム、および静止画像生成プログラムを記録した記録媒体 | |
JP2006222526A (ja) | 低解像度な複数の画像を用いた高解像度画像の生成 | |
JP3588797B2 (ja) | 画像データ補間プログラム、画像データ補間方法および画像データ補間装置 |