高解像度化装置および方法
【課題】鮮鋭な画像を得る。
【解決手段】画面内に複数の画素を配し、各画素の輝度を画素値として表した画像を画像ソースから取得する手段101と、画像中の1フレームを基準フレームに設定する手段101と、画像中の1以上のフレーム中の画素を注目画素として順次設定する手段101と、注目画素ごとに注目画素を含む注目画像領域を設定する設定101、102と、注目画像領域中の画素値の変化パターンに最も近い複数の注目画像領域に対応する複数の対応点を基準フレームの中から選択する選択手段103、104、107と、対応点での輝度の標本値を対応点に対応している注目画素の画素値に設定する手段106と、複数の標本値の大きさと、複数の対応点の配置とに基づいて、基準フレームの画素数よりも多い画素数の高解像度画像であって基準フレームに対応する高解像度画像の画素値を算出する手段106と、を具備する。
【解決手段】画面内に複数の画素を配し、各画素の輝度を画素値として表した画像を画像ソースから取得する手段101と、画像中の1フレームを基準フレームに設定する手段101と、画像中の1以上のフレーム中の画素を注目画素として順次設定する手段101と、注目画素ごとに注目画素を含む注目画像領域を設定する設定101、102と、注目画像領域中の画素値の変化パターンに最も近い複数の注目画像領域に対応する複数の対応点を基準フレームの中から選択する選択手段103、104、107と、対応点での輝度の標本値を対応点に対応している注目画素の画素値に設定する手段106と、複数の標本値の大きさと、複数の対応点の配置とに基づいて、基準フレームの画素数よりも多い画素数の高解像度画像であって基準フレームに対応する高解像度画像の画素値を算出する手段106と、を具備する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラで撮影された画像データやテレビが受信した画像データをより高い解像度の画像データに変換する高解像度化装置および方法に関する。
【背景技術】
【0002】
画素数が多い、つまり高解像度のテレビやディスプレイが普及してきている。テレビやディスプレイは、画像を表示する場合、画像データの画素数をパネルの画素数に変換する。特に、画素数を増やす高解像度化の変換において、線形内挿法よりも鮮鋭な画像が得られる方法として、複数フレーム劣化逆変換法が知られている(例えば、特許文献1、非特許文献1参照)。
【0003】
複数フレーム劣化逆変換法は、基準フレームに写っている被写体が別のフレームにも写っていることに注目し、被写体の動きを画素間隔以下の高い精度で検出することで、被写体の同一の局所部分に対して微小に位置がずれた複数の標本値を求めて高解像度化するものである。
【0004】
より詳細に、複数フレーム劣化逆変換法を説明する。この方法では、低解像度なフレームが時系列で並んでいる場合に、それらを順次高解像度なフレームに変換する。例えば、移動する自動車を撮影した動画像の時間的に前後する3枚のフレームを低解像度画像として用い、これらの3枚のフレームから1つのフレームを基準フレームとして高解像度化する。例えば、これを縦2倍、横2倍に高解像度化する。未知である高解像度画像の画素に対して、低解像度画像の画素、つまり既知な標本値はまばらである。この状態でも高解像度画像の画素値の推定はできるが、事前に既知な標本値を増やしておけば、より正確な高解像度画像を得ることができる。そのために、複数フレーム劣化逆変換法では、基準フレーム以外の低解像度画像の画素の位置に写っている被写体が、基準フレームの画面内でどの位置に写っているかを検出し、その画素値を基準フレーム内の対応点における標本値として用いる。
【0005】
具体的には、例えば、ある画素を中心に低解像度画像から数画素四方のブロックを取り出し、このブロックと同じ大きさで、含まれる画素が、取り出したブロックと近い画素値を持つ部分を基準フレームの中で探索する。探索はサブピクセル精度で行う(例えば、非特許文献2参照)。見つかった対応ブロックの中心を対応点とする。これにより、他のフレームに対応する画面の点Aと、基準フレームに対応する画面の点Bとが同じ被写体の同一の位置として対応づけられる。この対応は、点Aを始点、点Bを終点とする動きベクトルで表される。サブピクセル精度で探索を行うので、動きベクトルは一般に、始点は画素の位置、終点は画素がない位置になる。このような動きベクトルを低解像度画像の全ての画素について求め、また、他の低解像度画像についても同様に各画素を始点とする基準フレームへの動きベクトルを検出する。次に、各動きベクトルの終点に始点の画素値を標本値として配置する。最後に、このように非一様に配置された標本値から、格子状に一様に配置された高解像度画像の画素の値を求める。この手法としては、重ね合わせ法(nonuniform interpolation)やPOCS法などが知られている(例えば、非特許文献1参照)。
【特許文献1】特開2000−188680公報(第3−7頁、図22)
【非特許文献1】S. Park, et.al. "Super-Resolution Image Reconstruction: A Technical Overview," IEEE Signal Processing Magazine, USA, IEEE, May 2003, p.21-36
【非特許文献2】清水,奥富,「画像のマッチングにおけるサブピクセル推定の意味と性質」電子情報通信学会論文誌D-II,電子情報通信学会,2002年12月,第85巻,第12号,p.1791−1800
【発明の開示】
【発明が解決しようとする課題】
【0006】
上記のように複数フレーム劣化逆変換法では、鮮鋭な高解像度画像が得られるが、十分な数の標本値を得るには、多数の低解像度画像が必要であり、メモリ量が多くなるという問題がある。
【0007】
この発明は、上述した事情を考慮してなされたものであり、少ないメモリ量を使用するだけで鮮鋭な高解像度画像を得る高解像度化装置および方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上述の課題を解決するため、本発明の高解像度化装置は、画面内に複数の画素を配し、その各画素の輝度を画素値として表した画像を画像ソースから取得する取得手段と、前記画像に含まれる1フレームを基準フレームに設定する第1の設定手段と、前記画像に含まれる1以上のフレーム中の複数の画素を1つずつ注目画素として順次設定する第2の設定手段と、前記注目画素ごとに該注目画素を含む注目画像領域を設定する第3の設定手段と、前記注目画像領域に含まれる画素値の変化パターンに最も近い複数の注目画像領域に対応する複数の対応点を前記基準フレームの中から選択する選択手段と、前記対応点での輝度の標本値を、該対応点に対応している注目画素の画素値に設定する第4の設定手段と、複数の前記標本値の大きさと、前記複数の対応点の配置とに基づいて、前記基準フレームに含まれる画素数よりも多い画素数の高解像度画像であって前記基準フレームに対応する高解像度画像に含まれる複数の画素値を算出する算出手段と、を具備することを特徴とする。
【0009】
また、本発明の高解像度化装置は、画面内に複数の画素を配し、その各画素の輝度を画素値として表した画像を画像ソースから取得する取得手段と、前記画像に含まれる1フレームを縦方向又は横方向の1列の画素ラインに分割する分割手段と、複数の前記画素ラインに含まれる1画素ラインを基準画素ラインに設定する第1の設定手段と、前記画像に含まれる1以上のフレーム中で前記基準画素ライン以外の複数の画素を1つずつ注目画素として順次設定する第2の設定手段と、前記注目画素ごとに該注目画素を含む注目画像領域を設定する第3の設定手段と、前記注目画像領域に含まれる画素値の変化パターンに最も近い複数の注目画像領域に対応する複数の対応点を前記基準画素ラインの中から選択する選択手段と、前記対応点での輝度の標本値を、該対応点に対応している注目画素の画素値に設定する第4の設定手段と、複数の前記標本値の大きさと、前記複数の対応点の配置とに基づいて、前記基準画素ラインに含まれる画素数よりも多い画素数の高解像度画像であって前記基準画素ラインに対応する高解像度画像に含まれる複数の画素値を算出する算出手段と、を具備することを特徴とする。
【発明の効果】
【0010】
本発明の高解像度化装置および方法によれば、少ないメモリ量を使用するだけで鮮鋭な高解像度画像を得ることができる。
【発明を実施するための最良の形態】
【0011】
以下、図面を参照しながら本発明の実施形態に係る高解像度化装置および方法について詳細に説明する。
本発明の実施形態に係る高解像度化装置および方法は、被写体の一部をとりだして、その輝度値の変化パターンを見ると、その近くに同じパターンが存在するという点に新たに着目したものである。つまり、本実施形態の高解像度化装置および方法は、同じ輝度値変化パターンに対する標本値が一つのフレームに複数あり、それらの位置を検出するものである。
【0012】
本発明の実施形態に係る高解像度化装置について図1Aを参照して説明する。
本実施形態の高解像度化装置は、メモリ101、候補指定部102、マッチング誤差算出部103、誤差比較部104、メモリ105、高解像度画素値算出部106、パラボラフィッティング部107、メモリ108を備えている。なお、以下、既に説明した装置部分と同様なものは同一の番号を付してその説明を省略する。
【0013】
メモリ101は、低解像度画像データを取得し格納する。低解像度画像は、動画像でも静止画像でも構わない。低解像度データは、画像ソース、すなわち、カメラ、テレビ等の画像データ生成部(図示せず)から取得する。より具体的には、低解像度データは、例えば、カメラが撮影した画像データやテレビが受信した画像データである。また、メモリ101は、候補指定部102から、誤差を計算する画像部分を示す信号と、注目画素の位置を示す信号とを入力し、注目画素の周辺の画像データ、誤差を計算する部分の画像データをマッチング誤差算出部103に出力する。また、メモリ101は、高解像度画素値算出部106に低解像度画像データを供給する。この際、メモリ101は、高解像度画素値算出部106に、1画像ずつ供給する(第1の実施形態)、1画像中の1ラインずつ(第2の実施形態)、または、1画像中の1ブロックずつ(第3の実施形態)供給する。1ラインずつ供給する場合には、メモリ101はラインメモリ(図示せず)を備えていて、ラインメモリに1画像分のラインの画像を格納する。また、メモリ101は、後述する基準フレームを設定する。
【0014】
候補指定部102は、探索範囲を指定するデータを含む制御データを入力し、この探索範囲に基づいて、誤差を計算する部分を示す信号と、注目画素の位置を示す信号とを生成し、これらの信号をメモリ101とメモリ105に出力する。探索範囲については後に図19を参照して説明する。
【0015】
マッチング誤差算出部103は、メモリ101から注目画素の周辺の画像データ、誤差を計算する部分の画像データを取得し、注目画素の周辺の画像データと、探索範囲にある誤差を計算する画像部分の画像データとの誤差を計算する。誤差は、例えば、差分絶対値和や差分2乗和により計算される。注目画素の周辺の画像データは、例えば、注目ブロックのデータである。マッチング誤差算出部103は、探索範囲の中で誤差を計算する画像部分を順次変更して、注目画素の周辺の画像データと誤差を計算する画像部分の画像データとの誤差を順次求める。
【0016】
誤差比較部104は、探索範囲に含まれる複数の画像部分に対応する複数の誤差の大小関係を計算する。誤差比較部104は、例えば、誤差が最小近くになる複数の位置を複数の対応画素点として求める。
【0017】
メモリ105は、誤差比較部104で計算された対応画素点を候補指定部102から取得し格納する。
【0018】
パラボラフィッティング部107は、この対応画素点を基にして、パラボラフィッティング法を用いてサブピクセル推定を行い、対応点を決定する。この対応点を一つの注目画素について2つ以上求める。パラボラフィッティング部107の詳細は後に図25、図30を参照して説明する。
【0019】
メモリ108は、パラボラフィッティング部107で求められた対応点の位置情報を格納する。
【0020】
高解像度画素値算出部106は、低解像度画像の所定の画素について対応点が求まった後、メモリ101から低解像度画像の画素データと、メモリ108から対応点の位置とを取得し、例えば、低解像度画像の画素データごとに、対応点の位置を用いてその条件式を連立し、解を求めることで高解像度画像の画素値を決定し、その画素値データを出力する。
【0021】
次に、パラボラフィッティング法を使用せずオーバーサンプリング法を使用する場合の本実施形態の高解像度化装置について図1Bを参照して説明する。
図1Bの高解像度化装置は、図1Aで、パラボラフィッティング部107を取り去り、新たに、オーバーサンプリング部109、メモリ110を備えている。
【0022】
オーバーサンプリング部109は、誤差を計算する間隔に依存して低解像度データのデータ量を多くする。オーバーサンプリング法の詳細については後に図26、図31を参照して説明する。
【0023】
メモリ110は、オーバーサンプリング部109でサンプリングされたデータを一時的に格納し、マッチング誤差算出部103にこのデータを供給する。
【0024】
(第1の実施形態)
次に、本実施形態の高解像度化装置の動作の一例について図2を参照して説明する。なお、以下で画像のことをフレームと呼ぶこともある。
ステップS201では、候補指定部102が、注目画素として、低解像度画像の画素を所定の順序で設定する。順序は、静止画像の場合、例えば、画面の左上の画素から右向き、上の行から下向きといういわゆるラスタ順序とする。動画像の場合の順序は、フレームは時刻の順序、各フレームの画素はラスタ順序とする。動画像の場合の低解像度フレームと高解像度フレームの関係については後に図3、図4、図5、図6、図7、図8を参照して説明する。
【0025】
ステップS202では、マッチング誤差算出部103、誤差比較部104、パラボラフィッティング部107が注目画素に対応する点(対応画素点または対応点と呼ぶ)を基準フレームの画面空間内で検出する。
【0026】
ステップS203では、マッチング誤差算出部103が、注目画素について所定の数の対応点が求まったどうかを判定し、求まっていない場合はステップS202に戻って別の対応点を検出し、求まった場合はステップS204に進む。ステップS202とステップS203については後に図9から図17を参照して詳細に説明する。
【0027】
ステップS204では、マッチング誤差算出部103が、高解像度化に用いる低解像度画像の画素について、それぞれ対応点が求まったかどうかを判定し、NoであればステップS201に戻って次の画素について処理を行い、YesであればステップS205に進む。
【0028】
ステップS205では、高解像度画素値算出部106が、低解像度画像の画素値と検出した対応点の位置を用いて、基準フレームの高解像度画像の画素値を算出して処理を終了する。高解像度画像の画素値の算出については後に図40を参照して説明する。
【0029】
次に、動画像の場合の低解像度フレームと高解像度フレームの関係について図3、図4、図5、図6、図7、図8を参照して説明する。
本実施形態の高解像度化装置が、入力した低解像度フレームを用いて、時間順序で高解像度フレームを生成する。図3では、高解像度化装置が5枚目の高解像度フレームを生成している。この高解像度化処理をそのときに行っている低解像度フレーム、この例では5枚目のフレームを基準フレームと呼ぶ。基準フレームを高解像度化するために、図3では低解像度フレームのうち、基準フレームとその前の時刻の2枚のフレームを用いて高解像度化を行う。図4では、高解像度化装置が基準フレームの低解像度フレームだけを用いてそれの高解像度化を行っている。静止画像の場合は、入力される低解像度画像は1枚だけなので、それが基準フレームに相当し、その1枚だけを用いて高解像度化する。便宜上、静止画像は1フレームであると表現する。
【0030】
基準フレームの低解像度画像の画面501と画素502の位置関係を図5に示す。画像は元来、画面空間において輝度が連続に分布している。しかし、ここで扱うデジタル画像の場合は画面空間に離散的な標本点として画素を配し、その輝度だけでその周囲の輝度を代表させる。図5は、画面を横6個、縦4行の24個の正方形に分割しその中心を標本点として24個の画素を配した様子である。この低解像度画像の画素を黒丸で示す。図5の画面を横2倍、縦2倍に高解像度化した様子を図6に示す。高解像度画像での画素601を白丸で表す。このように画素の間隔は低解像度画像の1/2になる。元の低解像度画像の画素を高解像度画像と同じ間隔で図示したものを図7に示す。この場合、低解像度画像の大きさは高解像度画像の大きさよりも小さくなる。
このように低解像度画像は、その高解像度画像と画面の大きさを合わせると画素の間隔が広がり、画素の間隔を合わせると画面の大きさが小さくなる。しかし、これらは同じことを表しており、以下、本明細書では説明しやすいように、適宜、低解像度画像を図5のように表したり、図7のように表したりする。図8は、低解像度画像の画素の標本点を黒丸で、高解像度画像の画素の標本点を白丸で示した図である。高解像度化の処理は、この黒丸の標本点に与えられた輝度値を元にして白丸の標本点の輝度値を求めることである。
【0031】
次に、ステップS202とステップS203について具体例を挙げて、図9から図17を参照して詳細に説明する。なお、画面904、906は見やすいように、少ない画素で描いているが、実際には例えば縦横とも数百画素の画像である。また、これらは見やすいように2値画像で表しているが、実際は濃淡画像である。また、高解像度画像の画面908における高解像度画像の画素909の位置を白丸、低解像度画像の画素910の位置を黒丸で示す。
図9の具体例では、移動する自動車907を撮影した動画像のうち時間的に前後する2枚のフレーム901、903があるとする。高解像度化装置は、これらのフレームのうち、フレーム903を基準フレームとして高解像度化する。図9では、フレーム901の画面空間904の中の注目画素911に対して、フレーム903の画面空間906に対応点914が検出された結果を示している。画面空間については後に図24を参照して説明する。
【0032】
フレーム901の画面空間904の注目画素と基準フレームの画面空間906の対応点とは、始点を注目画素911、終点を対応点914とする対応ベクトル915で対応づけられる。この対応点の検出のために、候補指定部102が、注目画素911を中心にフレーム901から数画素四方、例えば、5×5画素や3×3画素の矩形のブロック912を注目ブロックとして取り出し、マッチング誤差算出部103が、取り出した注目ブロックと画素値の変化パターンが近い部分を基準フレーム903の中で探索する。この探索する手法の詳細については後に図18、図19を参照して説明する。
【0033】
次に、基準フレームが撮影されたときの様子を挙げて、ステップS202、S203の動作について図10、図11、図12、図13を参照して説明する。図10は、基準フレームが、撮影されたときの様子を示している。図10は、低解像度画像の標本点を含むように画面空間の縦軸を固定し、図10の横軸に画面空間の横軸h、図10の縦軸に輝度をとった図である。点線が被写体の輝度変化、黒丸が撮影時に画素に標本化された点を表す。標本点の間隔は1である。標本化された輝度値を画素値として得られた基準フレームの画像データを図11に示す。図11に示すような画像データは、例えば、左から2番目の標本点と3番目の標本点との間1101のように、標本化により元々の輝度変化よりもなだらかになってしまう。したがって、基準フレームの画素だけでは鮮鋭な画像は再生できない。
【0034】
一方、同じ被写体の同じ部分が他のフレームで撮影された様子を図12に、画像データとなったときの様子を図13に示す。このように、一般に異なるフレームでは、同じ輝度変化の部分がずれた位置、この場合、約0.5ずれた位置で標本化される。このような状態を標本化の位相が異なる、位相がずれているなどと言い、同じ位置や、ちょうど1画素ずれて同じ画素値となる状態を位相が同じ、位相が合っているなどという。
【0035】
ステップS202、S203の対応画素点を求めるまでの手順は、図13を注目ブロックとして、図11の基準フレームに対して位置座標を1画素ずつずらしながら誤差を求めたものである。その様子を図14と図15に示す。ここでは簡単のため、ブロックは横5画素×縦1画素、探索はx方向だけに行ったものとする。図15はマッチング誤差が最小となった場合(x=m)とする。これに対して、例えばx=m−1としたものが図14である。x=mの位置が対応画素点であるが、注目ブロックと基準フレームのずれを正確に一致させるために、位相が約0.5ずれた、図16の状態になる位置を検出したい。このサブピクセル推定ための一手法がパラボラフィッティング法(例えば、上記の、清水,奥富,「画像のマッチングにおけるサブピクセル推定の意味と性質」参照)である。パラボラフィッティング法については後に図25を参照して説明する。なお、図9に示すように、ブロック913がサブピクセル推定で求まったブロックであり、その中心が対応点914である。この情報により、画面906を拡大表示した画面908における、対応点916の位置の標本値として注目画素の画素値を配置する。
【0036】
ところで、高解像度化のためには、図12と図10の点線のように輝度変化が同じ部分を異なる位相で標本化した画素値が多く必要である。そのため、フレーム間で、同じ被写体の同じ部分(これは当然、輝度変化が同じ部分)を検出して対応づけるのはこれまで説明したように有効である。しかし、被写体の別の部分にも同じ輝度変化をする部分は存在する。解像度が高い、実際の写真のデータを図17に示す。横軸が画素の横座標、縦軸が輝度である。5行のデータをそれぞれ別の曲線で示した。このように異なる行でも、非常に似た輝度変化をする部分があることが分かる。このような画像の性質をここでは、局所パターンに自己相関があるという。この局所パターンの自己相関を利用した手法は後の第2の実施形態で説明する。
空間的な輝度変化、つまり画像のエッジは長いものなら画面の数百画素分、短いものでも数画素分の長さは連続するのが一般的でありこれらを標本化した画素値は、高解像度化のためにその近くのエッジの標本値として利用できる。同じ理由から、ある点に対応点が求まったとしたら、その近くの輝度変化の再現のためにも、同じ注目画素を使える。そこで、本実施形態では、異なる位置に対応点を複数求める。本実施形態では、例えば、マッチング誤差が最小となる位置だけでなく、2番目、3番目に誤差が小さくなる位置も対応誤差点とし、それらを元にそれぞれサブピクセル推定を行う。より具体的な動作については後に図32から図39を参照して説明する。
【0037】
図9に戻り、前述したようにして求めた別の対応点917を対応ベクトル918で表し、それに合わせて、標本値919を配置する。ブロック920は、対応点917を検出する際に見つかったブロックである。ブロック913と非常に近い画素パターンとなる。
【0038】
次に、取り出した注目ブロックと画素値の変化パターンが近い部分を基準フレーム903の中で探索する手法について図18、図19を参照して説明する。
注目ブロックについて具体例を挙げて説明する。フレーム901から取り出した3×3画素の注目ブロックを図18に、基準フレーム903の探索範囲を図19にそれぞれ示す。探索範囲は、例えば注目画素911と同じ位置を中心にした所定の大きさの長方形や正方形とする。そして、マッチング誤差算出部103は、探索範囲から3×3画素の領域に対して、注目ブロックの3×3画素との誤差を計算する。このマッチング誤差は、例えば、同じ位置にある画素同士の差分の絶対値を9画素分加算した差分絶対値和や、差分の2乗を加算した差分2乗和を用いる。ブロックを左上1901にしたときの誤差をまず計算し、次にその右隣り1902にしたときの誤差を計算し、以降同様に探索範囲内で画素間隔の幅ずつブロックをラスタ順序でずらしながら右下1903まで、それぞれ誤差を計算する。
【0039】
次に、この探索範囲を示すベクトル探索空間について図20から図23を参照して説明する。
この探索空間を図20に示す。x軸が横方向、y軸が縦方向で、原点は、図19において中央1904にブロックがある状態を表す。探索時には、その状態から右に3画素分、左に3画素分、上下にもそれぞれ2画素分のブロックが設定可能であり、その設定可能なブロックの中心の位置を図20に黒丸で示す。位置2001が図19のブロック1901の状態、位置2002がブロック1902の状態を表す。この探索空間において、誤差が最小となる位置を1つの対応画素点とする。この段階ではまだ対応画素点は基準フレーム上のある画素の位置にある。なお、ブロックは正方形や長方形以外にも、図21に示すような横方向に1列に画素を並べたものや、図22の縦1列、図23の斜め1列などでもよい。
【0040】
次に、画面空間について図24を参照して説明する。図24は画面空間で用いる座標系を示す。画面の左上を原点にし、横軸をh、縦軸をvとする。黒丸で表した低解像度画像の画素の標本点は、
(h,v)=(0.5,0.5)、(1.5,0.5)、(2.5,0.5)..
(0.5,1.5)...
のように、hが「*.5」(*=0,1,2,3,...)で表される数値で、vも同様の数値となる位置である。高解像度画像の画素の標本点は、
(h,v)=(0.25,0.25)、(0.75,0.25)..
(0.25,0.75)...
のように、hやvが「*.25」か「*.75」となる位置である。
【0041】
次に、パラボラフィッティング法について図25を参照して説明する。
この手法は図25に示したように、横軸をx、縦軸をマッチング誤差とし、誤差最小となったx(=m)と、その前後のxでの誤差を放物線にあてはめ、放物線が極小となるxの値を対応点の1つとするものである。なお、仮に位相のずれが0.5の場合は、x=mとx=m−1の誤差は等しくなり、その中点が極小となるはずであるが、この図では、より一般的にパラボラフィッティングを説明するために少しずらして描いている。
【0042】
なお、パラボラフィッティング法以外でも、上記の、清水,奥富,「画像のマッチングにおけるサブピクセル推定の意味と性質」にあるような、等角フィッティングを用いてもよい。
また、サブピクセル推定の別の手法としてオーバーサンプリング法がある。オーバーサンプリング法では、まず、図13に示した他フレームのブロックデータを線形内挿して2倍の密度にした図26に示すデータを作る。一方、図11の基準フレームのデータも図27のように2倍の密度にしておく。この状態で探索を行えば、図28に示した、x=m−0.5に相当するもののマッチング誤差もフィッティングなどせずに直接計算でき、その誤差は図29に示したx=mよりも小さくなる。その結果、x=m−0.5を最小の位置として対応点を検出できる。
このように、オーバーサンプリング法では、精度(誤差を計算する間隔)を1/2にするにはデータを2倍に、1/4にするには4倍にする必要があるが、単純なアルゴリズムで対応点を求められる。フィッティング法(例えば、パラボラフィッティング法、等角フィッティング法)、オーバーサンプリング法で対応点を求めるフローチャートをそれぞれ、図30、図31に示す。以下、既に説明したステップと同様なものは同一の番号を付してその説明を省略する。
ステップS3001では、注目ブロックに対して、基準フレーム内で1画素ずつブロックの位置をずらしながら誤差を計算し、その誤差が最小となる対応ブロックを検出する。
ステップS3002では、パラボラフィッティング法や等角フィッティング法で対応点を検出して終了する。
【0043】
ステップS3101では、注目ブロックと基準フレームの画素内挿を行って2倍の密度にしてステップS3001に進み、ステップS3001の処理後にステップS3102に進む。
ステップS3102では、対応ブロックに対応する点を対応点として終了する。
【0044】
次に、異なる位置に対応点を複数求める具体的な手法について図32から図39を参照して説明する。
図20に示した探索空間において、マッチング誤差が最小となる位置だけでなく、2番目、3番目に誤差が小さくなる位置も対応誤差点とし、それらを元にそれぞれサブピクセル推定を行う。この数は、予め所定の数に決めておいてもいいし、誤差が一定値以下になるもの全てでそれぞれ対応点を求めてもよい。また、探索範囲を図32の黒丸のように限定してこの中で最小となる位置でまず対応点を求め、次に、図33、図34、図35の探索範囲でそれぞれ対応点を一つずつ決めてもよい。このように縦方向にずらしながらそれぞれ対応点を求めるのは、図17のように横方向に輝度が変化する場合に特に有効である。
【0045】
また、制限する探索範囲を図36のように縦方向にして、横方向にずらしながらそれぞれ対応点を求めるのは縦方向に輝度が変化する場合に特に有効である。したがって、候補指定部102が、予めエッジの向きが縦向きであればそれと垂直方向である横向きに探索範囲を設定し、それを縦にずらしながらそれぞれ対応点を求め、エッジの向きが横なら縦向きの範囲を横にずらしながら探索する方法が有効である。また、斜めのエッジ用に図37のように探索範囲を斜めにして同様に処理してもよい。換言すれば、注目画素の画素値の勾配方向を検出し、勾配方向で対応点を探索するということである。
【0046】
あるいは、図38のように矩形の周囲に限定して、矩形の大きさを切り替えてそれぞれ対応点を求めてもよい。いずれにしてもこれらで求まる対応誤差点の周囲でサブピクセル推定をして対応点をそれぞれ求める。
【0047】
図39に一つの注目画素に対して、探索範囲を切り替えることで複数の対応点を検出するフローチャートを示す。
ステップS3901では、縦座標、横座標のうちの一方を固定し、他方を変化させて対応点を検出する。
ステップS3902では、固定する位置を変え、同様に対応点を検出して終了する。
【0048】
次に、ステップS205で行う高解像度画像の画素値の算出について図40を参照して説明する。
ステップS104の処理終了時点で、例えば、図40に×印で表したように対応点が求まる。このように非一様に分布した標本点から格子状に配置された画素の値を求める手法は様々あるが、例えば、重ねあわせ法(例えば、nonuniform interpolationがある。例えば、上記のS. Park, et.al. "Super-Resolution Image Reconstruction: A Technical Overview"のp.25参照)を用いる場合、図9において高解像度画像の画素921の値を求めるときに、その近くの標本値919、916、922などを調べ、画素921に最も近い位置にある標本値を見つけ、その標本値を画素921の画素値とする。あるいは、画素921からの距離に応じて、近いものほど重みを増やして、それらの標本値を加重平均した値を画素921の画素値とする。あるいは、一定の距離以下にある標本値の平均を画素921の値とする。
【0049】
次に、重ねあわせ法で高解像度画像の画素値を求めるフローチャートを図41に示す。
ステップS4101では、高解像度画像の画素ごとに、各標本点までの距離を求める。
ステップS4102では、標本点の加重平均として、各画素値を求める。その際、各画素から距離が近い標本値ほど重みを増すようにする。
【0050】
また、重ねあわせ法ではなく、POCS法(例えば、上記のS. Park, et.al. "Super-Resolution Image Reconstruction: A Technical Overview"のp.29参照)を用いると処理は複雑になるが、さらに鮮鋭な画像が得られる。POCS法では、まず始めに、高解像度画像908の各画素に双一次内挿法や3次畳込み内挿法などで仮に画素値を与えておく。そして、各標本値の位置における、その高解像度画像の仮の画素値を使ったときの標本値(これを仮標本値とよぶ)を計算する。
ここで仮標本値の計算方法について図42を用いて説明する。図6でも説明したように、画面4201を複数の矩形4202に分割する。各矩形の輝度の分布を代表するのが、その中央におく画素値4203である。矩形の大きさは画素の密度によって決まり、例えば解像度が縦横1/2になるのであれば、矩形は縦横2倍になる。図42には白丸で高解像度画像の画素を、黒丸で解像度が1/2の低解像度画像に相当する標本点を示す。高解像度画像の画素に仮の画素値が与えられているとき、標本点4204における仮標本値の値は、画素4205〜4208の画素値の平均値として計算する。これは、標本点4204がちょうど、その周囲の高解像度画像の画素の中心にある場合である。
標本点4209のようにその位置がずれている場合、標本点が代表する矩形4210が重なる部分の加重平均をその仮標本値とする。例えば、画素4211に対する重みは斜線4212の部分の面積を重みにする。矩形4210が重なる9個の矩形について、その重なる面積に比例するように重みをつけ、それら9個の画素値から加重平均値を求めて仮標本値とする。このときの高解像度画像が正確なものであれば、低解像度画像として撮影されたものである標本値と仮標本値は一致するはずである。
【0051】
しかし、通常は一致しない。そこで、これが一致するように、仮画素値を更新する。標本値と仮標本値の差分を求め、その差分をなくすように仮の画素値に加減算する。画素値は複数あるので、差分を標本化で用いた重みで分け、それぞれの画素値に加減算する。これで、そのとき計算した標本点については標本値と仮標本値が一致する。しかし、別の標本点における更新処理で同じ高解像度画像画素が更新されることがある。例えば、図9の画素921が、標本値916に合うように更新されたあと、標本値919に合うように更新されると、標本値916には合わなくなる。そこで、この更新処理は、標本点全部に対して数回繰り返す。この反復により次第に、高解像度画像は正確なものに近づくので、予め決めた回数反復して得られた画像を高解像度画像として出力する。
【0052】
このように、高解像度画像の画素値を未知数とし、それから得られる仮標本値と、実際に撮影された低解像度画像の画素値による標本値が等しいという条件式を解くことで高解像度画像の画素値を求めるひとつの方法がPOCS法であり、これらの条件式を解く別の方法として、Iterative Back-Projection法(例えば、S. Park, et.al. "Super-Resolution Image Reconstruction: A Technical Overview"のp.31参照)、MAP法(例えば、S. Park, et.al. "Super-Resolution Image Reconstruction: A Technical Overview"のp.28参照)などを用いても良い。
【0053】
このように条件式を立てて高解像度化するフローチャートを図43に示す。
ステップS4301では、前述した条件式を低解像度の画素つまり標本値ごとに立てる。
ステップS4302では、条件式を連立した方程式として解くことで高解像度画像の画素値を求める。
【0054】
次に、画像のエッジの近くだけで、この処理を行うことで処理量を削減する場合のフローチャートを図44に示す。エッジがない部分、つまり平坦な部分では、双一次内挿法や3次畳込み法の処理で十分なことが多く、この部分の処理を省くことで鮮鋭さをそこなうことなく処理量を減らせる。
ステップS4401では、ステップS4301を行った後に、低解像度画像のエッジ検出を行い、画素ごとにそこにエッジがあるかないかを判定する。例えば、Sobelフィルタのように、その画素に左右あるいは上下に隣接する画素の画素値の差が一定値より大きい場合にエッジがあると判定し、一定値以下の場合にエッジがないと判定する。換言すれば、画素値勾配が所定値よりも大きい場合にエッジがあると判定し、所定値以下の場合にはエッジがないと判定する。
【0055】
ステップS4402では、エッジがあると判定された画素に対応する条件式だけを連立して方程式を解く。例えば、POCS法であれば、エッジがあると判定された画素に対応する条件式に関する更新だけを行う。
【0056】
次に、エッジ部分だけで処理を行う別の方法を図45に示す。
ステップS4501では、ステップS4401を行った後、エッジがあると判定された画素にだけ対応点を検出して条件式を立てて、ステップS4402に進む。
なお、ステップS4501とステップS4402の代わりに、重ねあわせ法を用い、その際の重みをエッジの強度が強い(すなわち、画素値の勾配が大きい)ものほど重くする方法もある。また、注目画素を含む局所パターン内の画素値勾配が所定値よりも大きい標本値だけを用いて加重平均を行ってもよい。
【0057】
次に、ステップS4501の部分を分解した例を図46に示す。
ステップS4401では、低解像度画像の画素ごとにエッジ検出を行い、ステップS201に進む。検出結果は例えば、エッジありを1、エッジなしを0とした、低解像度画像と同じ大きさの2値画像として保持する。
ステップS4601では、注目画素の部分にエッジがあると判定されていた場合、ステップS202に進む。エッジがないと判定されていた場合、ステップS201に戻る。特にエッジ検出結果を2値画像として保持している場合には、注目画素の部分の値が1の場合にはステップS202に進み、0の場合にはステップS201に戻る。
【0058】
次に、低解像度フレームの枚数と1つの注目画素当りに求める対応点の数との関係について図47を参照して説明する。
1枚の高解像度化に用いる、低解像度フレームの枚数Nと、一つの注目画素あたりに求める対応点の数Pは、高解像度化の倍率によって予め決めておく。例えば、縦4倍、横4倍の場合には、画素数が16倍になるので、標本点も16倍程度必要であり、
NP=16
となるようにNとPを決める。例えば、N=8の分まで低解像度画像用のメモリを確保できる場合には、P=2とし、N=2の分しか確保できない場合は、P=8とする。なお、P=1、N=16に相当するのが従来の複数フレーム劣化逆変換法であり、本発明の実施形態によりメモリ量を、上の例で、8/16=1/2や2/16=1/8に削減できることが分かる。
【0059】
図47にN=1の例を示す。低解像度フレーム4701は2枚描いているが同じものである。この画面空間4705において、注目画素4709が選ばれている場合、その周囲のブロック4702に対して、同じフレーム4701の中からマッチング誤差最小となるものを複数探索し、サブピクセル推定した結果が、ブロック4703、4704である。このとき、ブロック4702自身がマッチング誤差ゼロで誤差が最小になるが、これは探索範囲からはずすか、2番目、3番目に誤差が小さいものを対応点とする。ブロック4704の対応ベクトル4708を図示した。この場合、始点も終点も同じフレームである。ブロック4703の対応ベクトルの図示は省略した。これらによって画素4709の画素値が標本値4706、標本値4707として、画面4710に配置される。
【0060】
次に、特に動画像の場合の本実施形態でのフローチャートを図48に示す。
ステップS4801では、低解像度フレームの番号であるnを1に設定する。
ステップS4802では、注目画素として、第nフレームの低解像度画像の一画素を設定する。
ステップS4803では、注目画素に対応する点を基準フレームの画面空間内で検出する。
ステップS4804では、用いる低解像度画像の枚数Nとnが等しいかどうかを判定し、NoであればステップS4805に進み、YesであればステップS4806に進む。
ステップS4805では、nの値を1つ増やしてステップS4802に進む。
ステップS4806では、低解像度画像の画素値と検出した対応点の位置を用いて、基準フレームの高解像度画像の画素値を算出して終了する。
【0061】
次に、動画像のフレームを順次基準フレームとして高解像度化を行うフローチャートを図49に示す。
ステップS4901では、最初のフレームを基準フレームに設定する。
ステップS4902では、図48のS4800の処理で基準フレームを高解像度化する。
ステップS4903では、全フレームの高解像度化が終わったかどうかを判定し、Noの場合ステップS4904に進み、Yesの場合終了する。
ステップS4904では、次のフレームを基準フレームにしてステップS4902に進む。
【0062】
(第2の実施形態)
局所パターンの自己相関を利用する場合の第2の実施形態について図50から図58を参照して説明する。
図50は、静止画像の一部、あるいは動画像の1フレームの一部を表し、この低解像度画像5006を入力として高解像度化する。黒丸が画素である。斜線は輝度の低い部分を表し、ここには左下から右上方向にエッジ5007がある。エッジは撮影時の標本化前にあった位置を図示している。低解像度画像5006としてはもちろん画素の位置にしか輝度は与えられていない。これらの画素値から、エッジ5007の明暗をなるべく正確に再現したい。そのために従来は、同じ被写体の同じ部分の標本値を他のフレームからとってきていた。しかし、例えば図50に点線で囲んだ5つのライン5001〜5005は、先に図17にも示したように、互いに輝度変化が非常に似ているはずで、それを異なる位相で標本化された画素値は互いの高解像度化の標本値として使える。
【0063】
そこで本実施形態では画像5006を複数のラインに分けて考え、ラインを一本ずつ基準ラインとし、近くの低解像度な画素ラインを用いて高解像度化する。そして、一つの画素ラインを複数のラインの高解像度化に用いる。例えば図51において、画素ライン5102は、少なくとも、画素ライン5103の高解像度化と画素ライン5104の高解像度化に用いる。自己相関の具体的な例として、画像の自己合同性がある画像についての例を図52Aに示す。また、図52Aの自己合同性のある画像部分を高解像度化する様子について図52Bに示す。
【0064】
次に、低解像度な画素ラインを用いて高解像度化する動作について図53にそのフローチャートを示す。図50も用いて説明する。
【0065】
ステップS5301では、画面をラインに分けたときの端のラインを最初に高解像度化を行う基準ラインとする。
ステップS4801では、その基準ラインの高解像度化に用いる低解像度の画素ラインの番号であるnを1に設定する。図50では、ライン5003が基準ラインで、この高解像度化に画素ライン5001〜5005を用いる。そして、例えばまず画素ライン5001が選ばれる。
【0066】
ステップS5302では、注目画素として、第nラインの一画素を設定する。図50では、画素5008が注目画素に設定されたとする。
ステップS5303では、注目画素に対応する点を基準ラインの画面空間内で検出し、ステップS204に進む。図50では、注目画素5008の対応点5009が検出された。この図50で画面5010は、画面5006と同一であるが図を見やすくするために分けてある。
【0067】
ステップS204では、そのラインの全画素について対応点検出が終了したかどうかを判定し、NoであればステップS5302に戻って、次の画素を注目画素にして処理を進め、YesであればステップS4804に進む。
ステップS4804では、用いる低解像度ラインの個数Nとnが等しいかどうかを判定し、NoであればステップS4805に進み、YesであればステップS5304に進む。
ステップS4805では、nの値を1つ増やしてステップS5302に進む。図50には、基準ライン5003に対して画素ライン5001,5002,5004,5005のエッジの近くの画素から検出された対応点だけを図示している。
ステップS5304では、低解像度画像の画素値と検出した対応点の位置を用いて、基準ラインの高解像度画像の画素値を算出してステップS5305に進む。
ステップS5305では、高解像度化する全てのラインの処理が終了したかどうかを判定し、NoであればステップS5306に進み、Yesであれば終了する。
ステップS5306では、次のラインを基準ラインにしてステップS4801に進む。
【0068】
図53に示した処理で画像はラインの方向に、例えば、図50では縦方向に高解像度化される。例えば、入力される低解像度画像が図54のような横×縦が6×4画素の画像の場合、縦ラインを用いて2倍に高解像度化すると図55に白丸で表した6×8画素の画像が生成され、さらにこれを横ラインで同様の処理を行えば図56に白丸で表した12×8画素の画像が生成され、結果的に図54の縦2倍、横2倍の画像が得られる。ここで、先に横ラインで処理を行えば図57のように、まず12×4画素の画像になり、次に縦ラインで処理することで図56の12×8画素の画像になる。このように、ラインの処理でも方向を変えて2回行えば縦横に高解像度化できる。
【0069】
次に、まず横に高解像度化し、次に縦に高解像度化するフローチャートを図58に示す。
ステップS5801では、画面を横ラインに分けたときの端のラインを最初に高解像度化を行う基準ラインとしてステップS5802に進む。
ステップS5802では、図53のステップS4801〜ステップS5304に示した手順で、その基準ラインを高解像度化してステップS5803に進む。
ステップS5803では、高解像度化する全ての横ラインの処理が終了したかどうかを判定し、NoであればステップS5804に進み、YesであればステップS5805に進む。
ステップS5804では、次の横ラインを基準ラインにしてステップS5802に進む。
ステップS5805では、画面を縦ラインに分けたときの端のラインを最初に高解像度化を行う基準ラインとしてステップS5806に進む。
ステップ1506では、図53のステップS4801〜ステップS5304に示した手順で、その基準ラインを高解像度化してステップS5807に進む。
ステップS5807では、高解像度化する全ての縦ラインの処理が終了したかどうかを判定し、NoであればステップS5808に進み、Yesであれば終了する。
ステップS5808では、次の縦ラインを基準ラインにしてステップS5806に進む。
【0070】
(第3の実施形態)
局所パターンの自己相関を利用する際に、ラインでなく、ブロックを用いる場合の第3の実施形態について図59と図60を参照して説明する。
ここでは、図59に示したように、9×9画素の画像を3×3画素のブロック5901に分けて考える。そして基準となるブロック5902に対して、その上下左右のブロックから対応点を求める様子を図59に示している。
【0071】
次に、本実施形態の動作についてフローチャートについて図60を参照して説明する。
ステップS6001では、画面をブロックに分けたときの端のブロックを最初に高解像度化を行う基準ブロックとしてステップS4801に進む。
ステップS4801では、その基準ブロックの高解像度化に用いる低解像度のブロックの番号であるnを1にしてステップS6002に進む。図59では、ブロック5902が基準ブロックで、この高解像度化に上下左右に隣接するブロックを用いる。
【0072】
ステップS6002では、注目画素として、第nブロックの一画素を設定してステップS6003に進む。
ステップS6003では、注目画素に対応する点を基準ブロックの画面空間内で検出し、ステップS204に進む。
ステップS204では、そのブロックの全画素について対応点検出が終了したかどうかを判定し、NoであればステップS6002に戻って、次の画素を注目画素にして処理を進め、YesであればステップS4804に進む。
ステップS4804では、用いる低解像度ブロックの個数Nとnが等しいかどうかを判定し、NoであればステップS4805に進み、YesであればステップS6004に進む。
ステップS4805では、nの値を1つ増やしてステップS6002に進む。
ステップS6004では、低解像度画像の画素値と検出した対応点の位置を用いて、基準ブロックの高解像度画像の画素値を算出してステップS6005に進む。
ステップS6005では、高解像度化する全てのラインの処理が終了したかどうかを判定し、NoであればステップS6006に進み、Yesであれば終了する。
ステップS6006では、次のブロックを基準ブロックにしてステップS4801に進む。
【0073】
最後に、効果を示す例を挙げる。図61に、ある静止画像に対して、従来から用いられている3次畳込み法で高解像度化した画像を示す。これは大きな濃淡画像の黒い線の部分を拡大表示したもので、小さく正方形にみえるものが1画素である。そして図62に、本発明により高解像度化した結果を示す。黒い線の部分がくっきりと鮮鋭になっていることが分かる。図63は、エッジ部分だけに処理を行う実施形態による結果で、図62の場合より少ない処理量でありながら、やはり図61より鮮鋭な画像が得られている。
【0074】
以上に示した実施形態によれば、低解像度画像の一つの画素値を、複数の対応点すなわち標本点として用いることができる。したがって、従来よりも少ない低解像度画像の枚数で鮮鋭な高解像度画像が得られるので、メモリ量を少なくできる。
【0075】
また特に、フレーム内で処理を行う場合には、対応点の探索範囲を狭くできるので処理量を減らせる。フレーム間の対応点は動きがあるため、通常、十〜数十画素の探索範囲が必要であるが、フレーム内では隣接するラインに対応点を求めればよいので数画素の探索範囲で十分である。また、フレーム間の方法は静止画像には適用できないが、フレーム内の方法は写真などの静止画像にも適用できる。
【0076】
また、本実施形態の高解像度化装置は、低解像度画像の一つの画素値を、複数の対応点すなわち標本点として用いることができる。したがって、従来よりも少ない低解像度画像の枚数で鮮鋭な高解像度画像が得られるので、メモリ量を少なくできる。
【0077】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0078】
【図1A】本発明の実施形態に係る高解像度化装置のブロック図。
【図1B】オーバーサンプリング法を使用する場合の実施形態の高解像度化装置のブロック図。
【図2】本発明の第1の実施形態に係る高解像度化装置の動作の一例を示すフローチャート。
【図3】2枚の低解像度フレームから高解像度フレームを生成する様子を示す図。
【図4】1枚の低解像度フレームから高解像度フレームを生成する様子を示す図。
【図5】低解像度画像の画面と画素との位置関係を示す図。
【図6】図5の画像を高解像度化した高解像度画像を示す図。
【図7】図5の画像の画素間隔を図6の画像の画素間隔に合わせた低解像度画像を示す図。
【図8】図5と図6の画素の位置関係を示した図。
【図9】図2のステップS202とステップS203を説明するための図。
【図10】ある基準フレームが撮影された際の、画面の横軸上の位置と輝度との関係を示した図。
【図11】図10の輝度を画素値に変換して得られた画像データでの位置座標と画素値との関係を示した図。
【図12】図10とは異なるフレームが撮影された際の、画面の横軸上の位置と輝度との関係を示した図。
【図13】図12の輝度を画素値に変換して得られた画像データでの位置座標と画素値との関係を示した図。
【図14】図11の基準フレームに対して図13の注目ブロックの位置座標を1画素ずつずらして誤差を求める様子を示した図。
【図15】図14の様にずらして最も誤差が小さくなった場合を示す図。
【図16】図15の場合よりも誤差が小さくなる場合を示す図。
【図17】ある写真データの位置座標と輝度との関係を示す図。
【図18】図9のフレームから取り出した注目ブロックを示す図。
【図19】図18の注目ブロックが探索する探索範囲を説明するための図。
【図20】図19の探索範囲を示すベクトル探索空間を示す図。
【図21】図18の注目ブロックの変形例の一つを示す図。
【図22】図18の注目ブロックの変形例の一つを示す図。
【図23】図18の注目ブロックの変形例の一つを示す図。
【図24】画面空間を表現する座標系を示す図。
【図25】パラボラフィッティング法について説明するための図。
【図26】オーバーサンプリング法で使用する図13のフレームを線形内挿した場合の位置座標と画素値との関係を示す図。
【図27】図26に対応して、図11の基準フレームのデータ密度を上げた場合の位置座標と画素値との関係を示す図。
【図28】図26と図27に基づいて計算して得た、図16に対応する図。
【図29】図26と図27に基づいて計算して得た、図15に対応する図。
【図30】フィッティング法で対応点を求めるための動作の一例を示すフローチャート。
【図31】オーバーサンプリング法で対応点を求めるための動作の一例を示すフローチャート。
【図32】横方向に輝度が変化する場合に有効な、対応点を求めるための探索範囲の一例を示す図。
【図33】横方向に輝度が変化する場合に有効な、対応点を求めるための探索範囲の一例を示す図。
【図34】横方向に輝度が変化する場合に有効な、対応点を求めるための探索範囲の一例を示す図。
【図35】横方向に輝度が変化する場合に有効な、対応点を求めるための探索範囲の一例を示す図。
【図36】縦方向に輝度が変化する場合に有効な、対応点を求めるための探索範囲の一例を示す図。
【図37】斜め方向に輝度が変化する場合に有効な、対応点を求めるための探索範囲の一例を示す図。
【図38】対応点を求めるための探索範囲が矩形である場合を示す図。
【図39】複数の対応点を検出するための動作の一例を示すフローチャート。
【図40】画面空間で検出された複数の対応点を示す図。
【図41】高解像度画像の画素値を重ね合わせ法で求める場合の動作の一例を示すフローチャート。
【図42】仮標本値の計算方法を説明するための画面、画素、矩形を示す図。
【図43】標本値ごとに条件式を立てて高解像度化する動作の一例を示すフローチャート。
【図44】画像のエッジ近くで図43の動作を行うための一例を示すフローチャート。
【図45】エッジ部分だけで高解像度化処理を行う動作の一例を示すフローチャート。
【図46】図45のステップS4501の詳細な動作の一例を示すフローチャート。
【図47】低解像度フレーム枚数と対応点の数との関係を説明するための図。
【図48】動画像を高解像度化する場合の動作の一例を示すフローチャート。
【図49】動画像のフレームを順次基準フレームとして高解像度化を行う動作の一例を示すフローチャート。
【図50】本発明の第2の実施形態での説明に使用する画像を示す図。
【図51】画像の高解像度化のための画素ラインを示す図。
【図52A】画像の自己合同性を説明するための具体例を示す図。
【図52B】自己合同性がある画像部分を高解像度化する様子を示す図。
【図53】低解像度な画素ラインを用いて高解像度化する動作の一例を示すフローチャート。
【図54】低解像度画像を示す図。
【図55】図54の画像に対して縦方向に2倍の高解像度化を行った画像を示す図。
【図56】図54の画像に対して縦横方向に2倍の高解像度化を行った画像を示す図。
【図57】図54の画像に対して横方向に2倍の高解像度化を行った画像を示す図。
【図58】図56の高解像度画像を得るための動作の一例を示すフローチャート。
【図59】本発明の第3の実施形態での説明に使用する画像を示す図。
【図60】画像をブロックに分けて高解像度化を行う動作の一例を示すフローチャート。
【図61】従来の手法で高解像度化した画像を示す図。
【図62】本発明の実施形態での手法で高解像度化した画像を示す図。
【図63】本発明の実施形態でのエッジ部分だけを高解像度化した画像を示す図。
【符号の説明】
【0079】
101、105、108、110…メモリ、102…候補指定部、103…マッチング誤差算出部、104…誤差比較部、106…高解像度画素値算出部、107…パラボラフィッティング部、109…オーバーサンプリング部、501、904、906、908、4201、4710、5006、5010…画面、502、601、909、910、921、4205、4211、4709、5008…画素、901、903、4701…フレーム、903…基準フレーム、904、906、4705…画面空間、907…自動車、908…高解像度画像、911、4709、5008…注目画素、912、913、920、4702、4703、4704、5901、5902…ブロック、914、916、917、5009…対応点、915、918、4708…対応ベクトル、919、4706、4707…標本値、4202、4210…矩形、4203…画素値、4204、4209…標本点、4212…斜線、4701…低解像度フレーム、5001,5002,5004,5005…画素ライン、5003…基準ライン、5006…低解像度画像、5007…エッジ、5102、5103、5104…画素ライン
【技術分野】
【0001】
本発明は、カメラで撮影された画像データやテレビが受信した画像データをより高い解像度の画像データに変換する高解像度化装置および方法に関する。
【背景技術】
【0002】
画素数が多い、つまり高解像度のテレビやディスプレイが普及してきている。テレビやディスプレイは、画像を表示する場合、画像データの画素数をパネルの画素数に変換する。特に、画素数を増やす高解像度化の変換において、線形内挿法よりも鮮鋭な画像が得られる方法として、複数フレーム劣化逆変換法が知られている(例えば、特許文献1、非特許文献1参照)。
【0003】
複数フレーム劣化逆変換法は、基準フレームに写っている被写体が別のフレームにも写っていることに注目し、被写体の動きを画素間隔以下の高い精度で検出することで、被写体の同一の局所部分に対して微小に位置がずれた複数の標本値を求めて高解像度化するものである。
【0004】
より詳細に、複数フレーム劣化逆変換法を説明する。この方法では、低解像度なフレームが時系列で並んでいる場合に、それらを順次高解像度なフレームに変換する。例えば、移動する自動車を撮影した動画像の時間的に前後する3枚のフレームを低解像度画像として用い、これらの3枚のフレームから1つのフレームを基準フレームとして高解像度化する。例えば、これを縦2倍、横2倍に高解像度化する。未知である高解像度画像の画素に対して、低解像度画像の画素、つまり既知な標本値はまばらである。この状態でも高解像度画像の画素値の推定はできるが、事前に既知な標本値を増やしておけば、より正確な高解像度画像を得ることができる。そのために、複数フレーム劣化逆変換法では、基準フレーム以外の低解像度画像の画素の位置に写っている被写体が、基準フレームの画面内でどの位置に写っているかを検出し、その画素値を基準フレーム内の対応点における標本値として用いる。
【0005】
具体的には、例えば、ある画素を中心に低解像度画像から数画素四方のブロックを取り出し、このブロックと同じ大きさで、含まれる画素が、取り出したブロックと近い画素値を持つ部分を基準フレームの中で探索する。探索はサブピクセル精度で行う(例えば、非特許文献2参照)。見つかった対応ブロックの中心を対応点とする。これにより、他のフレームに対応する画面の点Aと、基準フレームに対応する画面の点Bとが同じ被写体の同一の位置として対応づけられる。この対応は、点Aを始点、点Bを終点とする動きベクトルで表される。サブピクセル精度で探索を行うので、動きベクトルは一般に、始点は画素の位置、終点は画素がない位置になる。このような動きベクトルを低解像度画像の全ての画素について求め、また、他の低解像度画像についても同様に各画素を始点とする基準フレームへの動きベクトルを検出する。次に、各動きベクトルの終点に始点の画素値を標本値として配置する。最後に、このように非一様に配置された標本値から、格子状に一様に配置された高解像度画像の画素の値を求める。この手法としては、重ね合わせ法(nonuniform interpolation)やPOCS法などが知られている(例えば、非特許文献1参照)。
【特許文献1】特開2000−188680公報(第3−7頁、図22)
【非特許文献1】S. Park, et.al. "Super-Resolution Image Reconstruction: A Technical Overview," IEEE Signal Processing Magazine, USA, IEEE, May 2003, p.21-36
【非特許文献2】清水,奥富,「画像のマッチングにおけるサブピクセル推定の意味と性質」電子情報通信学会論文誌D-II,電子情報通信学会,2002年12月,第85巻,第12号,p.1791−1800
【発明の開示】
【発明が解決しようとする課題】
【0006】
上記のように複数フレーム劣化逆変換法では、鮮鋭な高解像度画像が得られるが、十分な数の標本値を得るには、多数の低解像度画像が必要であり、メモリ量が多くなるという問題がある。
【0007】
この発明は、上述した事情を考慮してなされたものであり、少ないメモリ量を使用するだけで鮮鋭な高解像度画像を得る高解像度化装置および方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上述の課題を解決するため、本発明の高解像度化装置は、画面内に複数の画素を配し、その各画素の輝度を画素値として表した画像を画像ソースから取得する取得手段と、前記画像に含まれる1フレームを基準フレームに設定する第1の設定手段と、前記画像に含まれる1以上のフレーム中の複数の画素を1つずつ注目画素として順次設定する第2の設定手段と、前記注目画素ごとに該注目画素を含む注目画像領域を設定する第3の設定手段と、前記注目画像領域に含まれる画素値の変化パターンに最も近い複数の注目画像領域に対応する複数の対応点を前記基準フレームの中から選択する選択手段と、前記対応点での輝度の標本値を、該対応点に対応している注目画素の画素値に設定する第4の設定手段と、複数の前記標本値の大きさと、前記複数の対応点の配置とに基づいて、前記基準フレームに含まれる画素数よりも多い画素数の高解像度画像であって前記基準フレームに対応する高解像度画像に含まれる複数の画素値を算出する算出手段と、を具備することを特徴とする。
【0009】
また、本発明の高解像度化装置は、画面内に複数の画素を配し、その各画素の輝度を画素値として表した画像を画像ソースから取得する取得手段と、前記画像に含まれる1フレームを縦方向又は横方向の1列の画素ラインに分割する分割手段と、複数の前記画素ラインに含まれる1画素ラインを基準画素ラインに設定する第1の設定手段と、前記画像に含まれる1以上のフレーム中で前記基準画素ライン以外の複数の画素を1つずつ注目画素として順次設定する第2の設定手段と、前記注目画素ごとに該注目画素を含む注目画像領域を設定する第3の設定手段と、前記注目画像領域に含まれる画素値の変化パターンに最も近い複数の注目画像領域に対応する複数の対応点を前記基準画素ラインの中から選択する選択手段と、前記対応点での輝度の標本値を、該対応点に対応している注目画素の画素値に設定する第4の設定手段と、複数の前記標本値の大きさと、前記複数の対応点の配置とに基づいて、前記基準画素ラインに含まれる画素数よりも多い画素数の高解像度画像であって前記基準画素ラインに対応する高解像度画像に含まれる複数の画素値を算出する算出手段と、を具備することを特徴とする。
【発明の効果】
【0010】
本発明の高解像度化装置および方法によれば、少ないメモリ量を使用するだけで鮮鋭な高解像度画像を得ることができる。
【発明を実施するための最良の形態】
【0011】
以下、図面を参照しながら本発明の実施形態に係る高解像度化装置および方法について詳細に説明する。
本発明の実施形態に係る高解像度化装置および方法は、被写体の一部をとりだして、その輝度値の変化パターンを見ると、その近くに同じパターンが存在するという点に新たに着目したものである。つまり、本実施形態の高解像度化装置および方法は、同じ輝度値変化パターンに対する標本値が一つのフレームに複数あり、それらの位置を検出するものである。
【0012】
本発明の実施形態に係る高解像度化装置について図1Aを参照して説明する。
本実施形態の高解像度化装置は、メモリ101、候補指定部102、マッチング誤差算出部103、誤差比較部104、メモリ105、高解像度画素値算出部106、パラボラフィッティング部107、メモリ108を備えている。なお、以下、既に説明した装置部分と同様なものは同一の番号を付してその説明を省略する。
【0013】
メモリ101は、低解像度画像データを取得し格納する。低解像度画像は、動画像でも静止画像でも構わない。低解像度データは、画像ソース、すなわち、カメラ、テレビ等の画像データ生成部(図示せず)から取得する。より具体的には、低解像度データは、例えば、カメラが撮影した画像データやテレビが受信した画像データである。また、メモリ101は、候補指定部102から、誤差を計算する画像部分を示す信号と、注目画素の位置を示す信号とを入力し、注目画素の周辺の画像データ、誤差を計算する部分の画像データをマッチング誤差算出部103に出力する。また、メモリ101は、高解像度画素値算出部106に低解像度画像データを供給する。この際、メモリ101は、高解像度画素値算出部106に、1画像ずつ供給する(第1の実施形態)、1画像中の1ラインずつ(第2の実施形態)、または、1画像中の1ブロックずつ(第3の実施形態)供給する。1ラインずつ供給する場合には、メモリ101はラインメモリ(図示せず)を備えていて、ラインメモリに1画像分のラインの画像を格納する。また、メモリ101は、後述する基準フレームを設定する。
【0014】
候補指定部102は、探索範囲を指定するデータを含む制御データを入力し、この探索範囲に基づいて、誤差を計算する部分を示す信号と、注目画素の位置を示す信号とを生成し、これらの信号をメモリ101とメモリ105に出力する。探索範囲については後に図19を参照して説明する。
【0015】
マッチング誤差算出部103は、メモリ101から注目画素の周辺の画像データ、誤差を計算する部分の画像データを取得し、注目画素の周辺の画像データと、探索範囲にある誤差を計算する画像部分の画像データとの誤差を計算する。誤差は、例えば、差分絶対値和や差分2乗和により計算される。注目画素の周辺の画像データは、例えば、注目ブロックのデータである。マッチング誤差算出部103は、探索範囲の中で誤差を計算する画像部分を順次変更して、注目画素の周辺の画像データと誤差を計算する画像部分の画像データとの誤差を順次求める。
【0016】
誤差比較部104は、探索範囲に含まれる複数の画像部分に対応する複数の誤差の大小関係を計算する。誤差比較部104は、例えば、誤差が最小近くになる複数の位置を複数の対応画素点として求める。
【0017】
メモリ105は、誤差比較部104で計算された対応画素点を候補指定部102から取得し格納する。
【0018】
パラボラフィッティング部107は、この対応画素点を基にして、パラボラフィッティング法を用いてサブピクセル推定を行い、対応点を決定する。この対応点を一つの注目画素について2つ以上求める。パラボラフィッティング部107の詳細は後に図25、図30を参照して説明する。
【0019】
メモリ108は、パラボラフィッティング部107で求められた対応点の位置情報を格納する。
【0020】
高解像度画素値算出部106は、低解像度画像の所定の画素について対応点が求まった後、メモリ101から低解像度画像の画素データと、メモリ108から対応点の位置とを取得し、例えば、低解像度画像の画素データごとに、対応点の位置を用いてその条件式を連立し、解を求めることで高解像度画像の画素値を決定し、その画素値データを出力する。
【0021】
次に、パラボラフィッティング法を使用せずオーバーサンプリング法を使用する場合の本実施形態の高解像度化装置について図1Bを参照して説明する。
図1Bの高解像度化装置は、図1Aで、パラボラフィッティング部107を取り去り、新たに、オーバーサンプリング部109、メモリ110を備えている。
【0022】
オーバーサンプリング部109は、誤差を計算する間隔に依存して低解像度データのデータ量を多くする。オーバーサンプリング法の詳細については後に図26、図31を参照して説明する。
【0023】
メモリ110は、オーバーサンプリング部109でサンプリングされたデータを一時的に格納し、マッチング誤差算出部103にこのデータを供給する。
【0024】
(第1の実施形態)
次に、本実施形態の高解像度化装置の動作の一例について図2を参照して説明する。なお、以下で画像のことをフレームと呼ぶこともある。
ステップS201では、候補指定部102が、注目画素として、低解像度画像の画素を所定の順序で設定する。順序は、静止画像の場合、例えば、画面の左上の画素から右向き、上の行から下向きといういわゆるラスタ順序とする。動画像の場合の順序は、フレームは時刻の順序、各フレームの画素はラスタ順序とする。動画像の場合の低解像度フレームと高解像度フレームの関係については後に図3、図4、図5、図6、図7、図8を参照して説明する。
【0025】
ステップS202では、マッチング誤差算出部103、誤差比較部104、パラボラフィッティング部107が注目画素に対応する点(対応画素点または対応点と呼ぶ)を基準フレームの画面空間内で検出する。
【0026】
ステップS203では、マッチング誤差算出部103が、注目画素について所定の数の対応点が求まったどうかを判定し、求まっていない場合はステップS202に戻って別の対応点を検出し、求まった場合はステップS204に進む。ステップS202とステップS203については後に図9から図17を参照して詳細に説明する。
【0027】
ステップS204では、マッチング誤差算出部103が、高解像度化に用いる低解像度画像の画素について、それぞれ対応点が求まったかどうかを判定し、NoであればステップS201に戻って次の画素について処理を行い、YesであればステップS205に進む。
【0028】
ステップS205では、高解像度画素値算出部106が、低解像度画像の画素値と検出した対応点の位置を用いて、基準フレームの高解像度画像の画素値を算出して処理を終了する。高解像度画像の画素値の算出については後に図40を参照して説明する。
【0029】
次に、動画像の場合の低解像度フレームと高解像度フレームの関係について図3、図4、図5、図6、図7、図8を参照して説明する。
本実施形態の高解像度化装置が、入力した低解像度フレームを用いて、時間順序で高解像度フレームを生成する。図3では、高解像度化装置が5枚目の高解像度フレームを生成している。この高解像度化処理をそのときに行っている低解像度フレーム、この例では5枚目のフレームを基準フレームと呼ぶ。基準フレームを高解像度化するために、図3では低解像度フレームのうち、基準フレームとその前の時刻の2枚のフレームを用いて高解像度化を行う。図4では、高解像度化装置が基準フレームの低解像度フレームだけを用いてそれの高解像度化を行っている。静止画像の場合は、入力される低解像度画像は1枚だけなので、それが基準フレームに相当し、その1枚だけを用いて高解像度化する。便宜上、静止画像は1フレームであると表現する。
【0030】
基準フレームの低解像度画像の画面501と画素502の位置関係を図5に示す。画像は元来、画面空間において輝度が連続に分布している。しかし、ここで扱うデジタル画像の場合は画面空間に離散的な標本点として画素を配し、その輝度だけでその周囲の輝度を代表させる。図5は、画面を横6個、縦4行の24個の正方形に分割しその中心を標本点として24個の画素を配した様子である。この低解像度画像の画素を黒丸で示す。図5の画面を横2倍、縦2倍に高解像度化した様子を図6に示す。高解像度画像での画素601を白丸で表す。このように画素の間隔は低解像度画像の1/2になる。元の低解像度画像の画素を高解像度画像と同じ間隔で図示したものを図7に示す。この場合、低解像度画像の大きさは高解像度画像の大きさよりも小さくなる。
このように低解像度画像は、その高解像度画像と画面の大きさを合わせると画素の間隔が広がり、画素の間隔を合わせると画面の大きさが小さくなる。しかし、これらは同じことを表しており、以下、本明細書では説明しやすいように、適宜、低解像度画像を図5のように表したり、図7のように表したりする。図8は、低解像度画像の画素の標本点を黒丸で、高解像度画像の画素の標本点を白丸で示した図である。高解像度化の処理は、この黒丸の標本点に与えられた輝度値を元にして白丸の標本点の輝度値を求めることである。
【0031】
次に、ステップS202とステップS203について具体例を挙げて、図9から図17を参照して詳細に説明する。なお、画面904、906は見やすいように、少ない画素で描いているが、実際には例えば縦横とも数百画素の画像である。また、これらは見やすいように2値画像で表しているが、実際は濃淡画像である。また、高解像度画像の画面908における高解像度画像の画素909の位置を白丸、低解像度画像の画素910の位置を黒丸で示す。
図9の具体例では、移動する自動車907を撮影した動画像のうち時間的に前後する2枚のフレーム901、903があるとする。高解像度化装置は、これらのフレームのうち、フレーム903を基準フレームとして高解像度化する。図9では、フレーム901の画面空間904の中の注目画素911に対して、フレーム903の画面空間906に対応点914が検出された結果を示している。画面空間については後に図24を参照して説明する。
【0032】
フレーム901の画面空間904の注目画素と基準フレームの画面空間906の対応点とは、始点を注目画素911、終点を対応点914とする対応ベクトル915で対応づけられる。この対応点の検出のために、候補指定部102が、注目画素911を中心にフレーム901から数画素四方、例えば、5×5画素や3×3画素の矩形のブロック912を注目ブロックとして取り出し、マッチング誤差算出部103が、取り出した注目ブロックと画素値の変化パターンが近い部分を基準フレーム903の中で探索する。この探索する手法の詳細については後に図18、図19を参照して説明する。
【0033】
次に、基準フレームが撮影されたときの様子を挙げて、ステップS202、S203の動作について図10、図11、図12、図13を参照して説明する。図10は、基準フレームが、撮影されたときの様子を示している。図10は、低解像度画像の標本点を含むように画面空間の縦軸を固定し、図10の横軸に画面空間の横軸h、図10の縦軸に輝度をとった図である。点線が被写体の輝度変化、黒丸が撮影時に画素に標本化された点を表す。標本点の間隔は1である。標本化された輝度値を画素値として得られた基準フレームの画像データを図11に示す。図11に示すような画像データは、例えば、左から2番目の標本点と3番目の標本点との間1101のように、標本化により元々の輝度変化よりもなだらかになってしまう。したがって、基準フレームの画素だけでは鮮鋭な画像は再生できない。
【0034】
一方、同じ被写体の同じ部分が他のフレームで撮影された様子を図12に、画像データとなったときの様子を図13に示す。このように、一般に異なるフレームでは、同じ輝度変化の部分がずれた位置、この場合、約0.5ずれた位置で標本化される。このような状態を標本化の位相が異なる、位相がずれているなどと言い、同じ位置や、ちょうど1画素ずれて同じ画素値となる状態を位相が同じ、位相が合っているなどという。
【0035】
ステップS202、S203の対応画素点を求めるまでの手順は、図13を注目ブロックとして、図11の基準フレームに対して位置座標を1画素ずつずらしながら誤差を求めたものである。その様子を図14と図15に示す。ここでは簡単のため、ブロックは横5画素×縦1画素、探索はx方向だけに行ったものとする。図15はマッチング誤差が最小となった場合(x=m)とする。これに対して、例えばx=m−1としたものが図14である。x=mの位置が対応画素点であるが、注目ブロックと基準フレームのずれを正確に一致させるために、位相が約0.5ずれた、図16の状態になる位置を検出したい。このサブピクセル推定ための一手法がパラボラフィッティング法(例えば、上記の、清水,奥富,「画像のマッチングにおけるサブピクセル推定の意味と性質」参照)である。パラボラフィッティング法については後に図25を参照して説明する。なお、図9に示すように、ブロック913がサブピクセル推定で求まったブロックであり、その中心が対応点914である。この情報により、画面906を拡大表示した画面908における、対応点916の位置の標本値として注目画素の画素値を配置する。
【0036】
ところで、高解像度化のためには、図12と図10の点線のように輝度変化が同じ部分を異なる位相で標本化した画素値が多く必要である。そのため、フレーム間で、同じ被写体の同じ部分(これは当然、輝度変化が同じ部分)を検出して対応づけるのはこれまで説明したように有効である。しかし、被写体の別の部分にも同じ輝度変化をする部分は存在する。解像度が高い、実際の写真のデータを図17に示す。横軸が画素の横座標、縦軸が輝度である。5行のデータをそれぞれ別の曲線で示した。このように異なる行でも、非常に似た輝度変化をする部分があることが分かる。このような画像の性質をここでは、局所パターンに自己相関があるという。この局所パターンの自己相関を利用した手法は後の第2の実施形態で説明する。
空間的な輝度変化、つまり画像のエッジは長いものなら画面の数百画素分、短いものでも数画素分の長さは連続するのが一般的でありこれらを標本化した画素値は、高解像度化のためにその近くのエッジの標本値として利用できる。同じ理由から、ある点に対応点が求まったとしたら、その近くの輝度変化の再現のためにも、同じ注目画素を使える。そこで、本実施形態では、異なる位置に対応点を複数求める。本実施形態では、例えば、マッチング誤差が最小となる位置だけでなく、2番目、3番目に誤差が小さくなる位置も対応誤差点とし、それらを元にそれぞれサブピクセル推定を行う。より具体的な動作については後に図32から図39を参照して説明する。
【0037】
図9に戻り、前述したようにして求めた別の対応点917を対応ベクトル918で表し、それに合わせて、標本値919を配置する。ブロック920は、対応点917を検出する際に見つかったブロックである。ブロック913と非常に近い画素パターンとなる。
【0038】
次に、取り出した注目ブロックと画素値の変化パターンが近い部分を基準フレーム903の中で探索する手法について図18、図19を参照して説明する。
注目ブロックについて具体例を挙げて説明する。フレーム901から取り出した3×3画素の注目ブロックを図18に、基準フレーム903の探索範囲を図19にそれぞれ示す。探索範囲は、例えば注目画素911と同じ位置を中心にした所定の大きさの長方形や正方形とする。そして、マッチング誤差算出部103は、探索範囲から3×3画素の領域に対して、注目ブロックの3×3画素との誤差を計算する。このマッチング誤差は、例えば、同じ位置にある画素同士の差分の絶対値を9画素分加算した差分絶対値和や、差分の2乗を加算した差分2乗和を用いる。ブロックを左上1901にしたときの誤差をまず計算し、次にその右隣り1902にしたときの誤差を計算し、以降同様に探索範囲内で画素間隔の幅ずつブロックをラスタ順序でずらしながら右下1903まで、それぞれ誤差を計算する。
【0039】
次に、この探索範囲を示すベクトル探索空間について図20から図23を参照して説明する。
この探索空間を図20に示す。x軸が横方向、y軸が縦方向で、原点は、図19において中央1904にブロックがある状態を表す。探索時には、その状態から右に3画素分、左に3画素分、上下にもそれぞれ2画素分のブロックが設定可能であり、その設定可能なブロックの中心の位置を図20に黒丸で示す。位置2001が図19のブロック1901の状態、位置2002がブロック1902の状態を表す。この探索空間において、誤差が最小となる位置を1つの対応画素点とする。この段階ではまだ対応画素点は基準フレーム上のある画素の位置にある。なお、ブロックは正方形や長方形以外にも、図21に示すような横方向に1列に画素を並べたものや、図22の縦1列、図23の斜め1列などでもよい。
【0040】
次に、画面空間について図24を参照して説明する。図24は画面空間で用いる座標系を示す。画面の左上を原点にし、横軸をh、縦軸をvとする。黒丸で表した低解像度画像の画素の標本点は、
(h,v)=(0.5,0.5)、(1.5,0.5)、(2.5,0.5)..
(0.5,1.5)...
のように、hが「*.5」(*=0,1,2,3,...)で表される数値で、vも同様の数値となる位置である。高解像度画像の画素の標本点は、
(h,v)=(0.25,0.25)、(0.75,0.25)..
(0.25,0.75)...
のように、hやvが「*.25」か「*.75」となる位置である。
【0041】
次に、パラボラフィッティング法について図25を参照して説明する。
この手法は図25に示したように、横軸をx、縦軸をマッチング誤差とし、誤差最小となったx(=m)と、その前後のxでの誤差を放物線にあてはめ、放物線が極小となるxの値を対応点の1つとするものである。なお、仮に位相のずれが0.5の場合は、x=mとx=m−1の誤差は等しくなり、その中点が極小となるはずであるが、この図では、より一般的にパラボラフィッティングを説明するために少しずらして描いている。
【0042】
なお、パラボラフィッティング法以外でも、上記の、清水,奥富,「画像のマッチングにおけるサブピクセル推定の意味と性質」にあるような、等角フィッティングを用いてもよい。
また、サブピクセル推定の別の手法としてオーバーサンプリング法がある。オーバーサンプリング法では、まず、図13に示した他フレームのブロックデータを線形内挿して2倍の密度にした図26に示すデータを作る。一方、図11の基準フレームのデータも図27のように2倍の密度にしておく。この状態で探索を行えば、図28に示した、x=m−0.5に相当するもののマッチング誤差もフィッティングなどせずに直接計算でき、その誤差は図29に示したx=mよりも小さくなる。その結果、x=m−0.5を最小の位置として対応点を検出できる。
このように、オーバーサンプリング法では、精度(誤差を計算する間隔)を1/2にするにはデータを2倍に、1/4にするには4倍にする必要があるが、単純なアルゴリズムで対応点を求められる。フィッティング法(例えば、パラボラフィッティング法、等角フィッティング法)、オーバーサンプリング法で対応点を求めるフローチャートをそれぞれ、図30、図31に示す。以下、既に説明したステップと同様なものは同一の番号を付してその説明を省略する。
ステップS3001では、注目ブロックに対して、基準フレーム内で1画素ずつブロックの位置をずらしながら誤差を計算し、その誤差が最小となる対応ブロックを検出する。
ステップS3002では、パラボラフィッティング法や等角フィッティング法で対応点を検出して終了する。
【0043】
ステップS3101では、注目ブロックと基準フレームの画素内挿を行って2倍の密度にしてステップS3001に進み、ステップS3001の処理後にステップS3102に進む。
ステップS3102では、対応ブロックに対応する点を対応点として終了する。
【0044】
次に、異なる位置に対応点を複数求める具体的な手法について図32から図39を参照して説明する。
図20に示した探索空間において、マッチング誤差が最小となる位置だけでなく、2番目、3番目に誤差が小さくなる位置も対応誤差点とし、それらを元にそれぞれサブピクセル推定を行う。この数は、予め所定の数に決めておいてもいいし、誤差が一定値以下になるもの全てでそれぞれ対応点を求めてもよい。また、探索範囲を図32の黒丸のように限定してこの中で最小となる位置でまず対応点を求め、次に、図33、図34、図35の探索範囲でそれぞれ対応点を一つずつ決めてもよい。このように縦方向にずらしながらそれぞれ対応点を求めるのは、図17のように横方向に輝度が変化する場合に特に有効である。
【0045】
また、制限する探索範囲を図36のように縦方向にして、横方向にずらしながらそれぞれ対応点を求めるのは縦方向に輝度が変化する場合に特に有効である。したがって、候補指定部102が、予めエッジの向きが縦向きであればそれと垂直方向である横向きに探索範囲を設定し、それを縦にずらしながらそれぞれ対応点を求め、エッジの向きが横なら縦向きの範囲を横にずらしながら探索する方法が有効である。また、斜めのエッジ用に図37のように探索範囲を斜めにして同様に処理してもよい。換言すれば、注目画素の画素値の勾配方向を検出し、勾配方向で対応点を探索するということである。
【0046】
あるいは、図38のように矩形の周囲に限定して、矩形の大きさを切り替えてそれぞれ対応点を求めてもよい。いずれにしてもこれらで求まる対応誤差点の周囲でサブピクセル推定をして対応点をそれぞれ求める。
【0047】
図39に一つの注目画素に対して、探索範囲を切り替えることで複数の対応点を検出するフローチャートを示す。
ステップS3901では、縦座標、横座標のうちの一方を固定し、他方を変化させて対応点を検出する。
ステップS3902では、固定する位置を変え、同様に対応点を検出して終了する。
【0048】
次に、ステップS205で行う高解像度画像の画素値の算出について図40を参照して説明する。
ステップS104の処理終了時点で、例えば、図40に×印で表したように対応点が求まる。このように非一様に分布した標本点から格子状に配置された画素の値を求める手法は様々あるが、例えば、重ねあわせ法(例えば、nonuniform interpolationがある。例えば、上記のS. Park, et.al. "Super-Resolution Image Reconstruction: A Technical Overview"のp.25参照)を用いる場合、図9において高解像度画像の画素921の値を求めるときに、その近くの標本値919、916、922などを調べ、画素921に最も近い位置にある標本値を見つけ、その標本値を画素921の画素値とする。あるいは、画素921からの距離に応じて、近いものほど重みを増やして、それらの標本値を加重平均した値を画素921の画素値とする。あるいは、一定の距離以下にある標本値の平均を画素921の値とする。
【0049】
次に、重ねあわせ法で高解像度画像の画素値を求めるフローチャートを図41に示す。
ステップS4101では、高解像度画像の画素ごとに、各標本点までの距離を求める。
ステップS4102では、標本点の加重平均として、各画素値を求める。その際、各画素から距離が近い標本値ほど重みを増すようにする。
【0050】
また、重ねあわせ法ではなく、POCS法(例えば、上記のS. Park, et.al. "Super-Resolution Image Reconstruction: A Technical Overview"のp.29参照)を用いると処理は複雑になるが、さらに鮮鋭な画像が得られる。POCS法では、まず始めに、高解像度画像908の各画素に双一次内挿法や3次畳込み内挿法などで仮に画素値を与えておく。そして、各標本値の位置における、その高解像度画像の仮の画素値を使ったときの標本値(これを仮標本値とよぶ)を計算する。
ここで仮標本値の計算方法について図42を用いて説明する。図6でも説明したように、画面4201を複数の矩形4202に分割する。各矩形の輝度の分布を代表するのが、その中央におく画素値4203である。矩形の大きさは画素の密度によって決まり、例えば解像度が縦横1/2になるのであれば、矩形は縦横2倍になる。図42には白丸で高解像度画像の画素を、黒丸で解像度が1/2の低解像度画像に相当する標本点を示す。高解像度画像の画素に仮の画素値が与えられているとき、標本点4204における仮標本値の値は、画素4205〜4208の画素値の平均値として計算する。これは、標本点4204がちょうど、その周囲の高解像度画像の画素の中心にある場合である。
標本点4209のようにその位置がずれている場合、標本点が代表する矩形4210が重なる部分の加重平均をその仮標本値とする。例えば、画素4211に対する重みは斜線4212の部分の面積を重みにする。矩形4210が重なる9個の矩形について、その重なる面積に比例するように重みをつけ、それら9個の画素値から加重平均値を求めて仮標本値とする。このときの高解像度画像が正確なものであれば、低解像度画像として撮影されたものである標本値と仮標本値は一致するはずである。
【0051】
しかし、通常は一致しない。そこで、これが一致するように、仮画素値を更新する。標本値と仮標本値の差分を求め、その差分をなくすように仮の画素値に加減算する。画素値は複数あるので、差分を標本化で用いた重みで分け、それぞれの画素値に加減算する。これで、そのとき計算した標本点については標本値と仮標本値が一致する。しかし、別の標本点における更新処理で同じ高解像度画像画素が更新されることがある。例えば、図9の画素921が、標本値916に合うように更新されたあと、標本値919に合うように更新されると、標本値916には合わなくなる。そこで、この更新処理は、標本点全部に対して数回繰り返す。この反復により次第に、高解像度画像は正確なものに近づくので、予め決めた回数反復して得られた画像を高解像度画像として出力する。
【0052】
このように、高解像度画像の画素値を未知数とし、それから得られる仮標本値と、実際に撮影された低解像度画像の画素値による標本値が等しいという条件式を解くことで高解像度画像の画素値を求めるひとつの方法がPOCS法であり、これらの条件式を解く別の方法として、Iterative Back-Projection法(例えば、S. Park, et.al. "Super-Resolution Image Reconstruction: A Technical Overview"のp.31参照)、MAP法(例えば、S. Park, et.al. "Super-Resolution Image Reconstruction: A Technical Overview"のp.28参照)などを用いても良い。
【0053】
このように条件式を立てて高解像度化するフローチャートを図43に示す。
ステップS4301では、前述した条件式を低解像度の画素つまり標本値ごとに立てる。
ステップS4302では、条件式を連立した方程式として解くことで高解像度画像の画素値を求める。
【0054】
次に、画像のエッジの近くだけで、この処理を行うことで処理量を削減する場合のフローチャートを図44に示す。エッジがない部分、つまり平坦な部分では、双一次内挿法や3次畳込み法の処理で十分なことが多く、この部分の処理を省くことで鮮鋭さをそこなうことなく処理量を減らせる。
ステップS4401では、ステップS4301を行った後に、低解像度画像のエッジ検出を行い、画素ごとにそこにエッジがあるかないかを判定する。例えば、Sobelフィルタのように、その画素に左右あるいは上下に隣接する画素の画素値の差が一定値より大きい場合にエッジがあると判定し、一定値以下の場合にエッジがないと判定する。換言すれば、画素値勾配が所定値よりも大きい場合にエッジがあると判定し、所定値以下の場合にはエッジがないと判定する。
【0055】
ステップS4402では、エッジがあると判定された画素に対応する条件式だけを連立して方程式を解く。例えば、POCS法であれば、エッジがあると判定された画素に対応する条件式に関する更新だけを行う。
【0056】
次に、エッジ部分だけで処理を行う別の方法を図45に示す。
ステップS4501では、ステップS4401を行った後、エッジがあると判定された画素にだけ対応点を検出して条件式を立てて、ステップS4402に進む。
なお、ステップS4501とステップS4402の代わりに、重ねあわせ法を用い、その際の重みをエッジの強度が強い(すなわち、画素値の勾配が大きい)ものほど重くする方法もある。また、注目画素を含む局所パターン内の画素値勾配が所定値よりも大きい標本値だけを用いて加重平均を行ってもよい。
【0057】
次に、ステップS4501の部分を分解した例を図46に示す。
ステップS4401では、低解像度画像の画素ごとにエッジ検出を行い、ステップS201に進む。検出結果は例えば、エッジありを1、エッジなしを0とした、低解像度画像と同じ大きさの2値画像として保持する。
ステップS4601では、注目画素の部分にエッジがあると判定されていた場合、ステップS202に進む。エッジがないと判定されていた場合、ステップS201に戻る。特にエッジ検出結果を2値画像として保持している場合には、注目画素の部分の値が1の場合にはステップS202に進み、0の場合にはステップS201に戻る。
【0058】
次に、低解像度フレームの枚数と1つの注目画素当りに求める対応点の数との関係について図47を参照して説明する。
1枚の高解像度化に用いる、低解像度フレームの枚数Nと、一つの注目画素あたりに求める対応点の数Pは、高解像度化の倍率によって予め決めておく。例えば、縦4倍、横4倍の場合には、画素数が16倍になるので、標本点も16倍程度必要であり、
NP=16
となるようにNとPを決める。例えば、N=8の分まで低解像度画像用のメモリを確保できる場合には、P=2とし、N=2の分しか確保できない場合は、P=8とする。なお、P=1、N=16に相当するのが従来の複数フレーム劣化逆変換法であり、本発明の実施形態によりメモリ量を、上の例で、8/16=1/2や2/16=1/8に削減できることが分かる。
【0059】
図47にN=1の例を示す。低解像度フレーム4701は2枚描いているが同じものである。この画面空間4705において、注目画素4709が選ばれている場合、その周囲のブロック4702に対して、同じフレーム4701の中からマッチング誤差最小となるものを複数探索し、サブピクセル推定した結果が、ブロック4703、4704である。このとき、ブロック4702自身がマッチング誤差ゼロで誤差が最小になるが、これは探索範囲からはずすか、2番目、3番目に誤差が小さいものを対応点とする。ブロック4704の対応ベクトル4708を図示した。この場合、始点も終点も同じフレームである。ブロック4703の対応ベクトルの図示は省略した。これらによって画素4709の画素値が標本値4706、標本値4707として、画面4710に配置される。
【0060】
次に、特に動画像の場合の本実施形態でのフローチャートを図48に示す。
ステップS4801では、低解像度フレームの番号であるnを1に設定する。
ステップS4802では、注目画素として、第nフレームの低解像度画像の一画素を設定する。
ステップS4803では、注目画素に対応する点を基準フレームの画面空間内で検出する。
ステップS4804では、用いる低解像度画像の枚数Nとnが等しいかどうかを判定し、NoであればステップS4805に進み、YesであればステップS4806に進む。
ステップS4805では、nの値を1つ増やしてステップS4802に進む。
ステップS4806では、低解像度画像の画素値と検出した対応点の位置を用いて、基準フレームの高解像度画像の画素値を算出して終了する。
【0061】
次に、動画像のフレームを順次基準フレームとして高解像度化を行うフローチャートを図49に示す。
ステップS4901では、最初のフレームを基準フレームに設定する。
ステップS4902では、図48のS4800の処理で基準フレームを高解像度化する。
ステップS4903では、全フレームの高解像度化が終わったかどうかを判定し、Noの場合ステップS4904に進み、Yesの場合終了する。
ステップS4904では、次のフレームを基準フレームにしてステップS4902に進む。
【0062】
(第2の実施形態)
局所パターンの自己相関を利用する場合の第2の実施形態について図50から図58を参照して説明する。
図50は、静止画像の一部、あるいは動画像の1フレームの一部を表し、この低解像度画像5006を入力として高解像度化する。黒丸が画素である。斜線は輝度の低い部分を表し、ここには左下から右上方向にエッジ5007がある。エッジは撮影時の標本化前にあった位置を図示している。低解像度画像5006としてはもちろん画素の位置にしか輝度は与えられていない。これらの画素値から、エッジ5007の明暗をなるべく正確に再現したい。そのために従来は、同じ被写体の同じ部分の標本値を他のフレームからとってきていた。しかし、例えば図50に点線で囲んだ5つのライン5001〜5005は、先に図17にも示したように、互いに輝度変化が非常に似ているはずで、それを異なる位相で標本化された画素値は互いの高解像度化の標本値として使える。
【0063】
そこで本実施形態では画像5006を複数のラインに分けて考え、ラインを一本ずつ基準ラインとし、近くの低解像度な画素ラインを用いて高解像度化する。そして、一つの画素ラインを複数のラインの高解像度化に用いる。例えば図51において、画素ライン5102は、少なくとも、画素ライン5103の高解像度化と画素ライン5104の高解像度化に用いる。自己相関の具体的な例として、画像の自己合同性がある画像についての例を図52Aに示す。また、図52Aの自己合同性のある画像部分を高解像度化する様子について図52Bに示す。
【0064】
次に、低解像度な画素ラインを用いて高解像度化する動作について図53にそのフローチャートを示す。図50も用いて説明する。
【0065】
ステップS5301では、画面をラインに分けたときの端のラインを最初に高解像度化を行う基準ラインとする。
ステップS4801では、その基準ラインの高解像度化に用いる低解像度の画素ラインの番号であるnを1に設定する。図50では、ライン5003が基準ラインで、この高解像度化に画素ライン5001〜5005を用いる。そして、例えばまず画素ライン5001が選ばれる。
【0066】
ステップS5302では、注目画素として、第nラインの一画素を設定する。図50では、画素5008が注目画素に設定されたとする。
ステップS5303では、注目画素に対応する点を基準ラインの画面空間内で検出し、ステップS204に進む。図50では、注目画素5008の対応点5009が検出された。この図50で画面5010は、画面5006と同一であるが図を見やすくするために分けてある。
【0067】
ステップS204では、そのラインの全画素について対応点検出が終了したかどうかを判定し、NoであればステップS5302に戻って、次の画素を注目画素にして処理を進め、YesであればステップS4804に進む。
ステップS4804では、用いる低解像度ラインの個数Nとnが等しいかどうかを判定し、NoであればステップS4805に進み、YesであればステップS5304に進む。
ステップS4805では、nの値を1つ増やしてステップS5302に進む。図50には、基準ライン5003に対して画素ライン5001,5002,5004,5005のエッジの近くの画素から検出された対応点だけを図示している。
ステップS5304では、低解像度画像の画素値と検出した対応点の位置を用いて、基準ラインの高解像度画像の画素値を算出してステップS5305に進む。
ステップS5305では、高解像度化する全てのラインの処理が終了したかどうかを判定し、NoであればステップS5306に進み、Yesであれば終了する。
ステップS5306では、次のラインを基準ラインにしてステップS4801に進む。
【0068】
図53に示した処理で画像はラインの方向に、例えば、図50では縦方向に高解像度化される。例えば、入力される低解像度画像が図54のような横×縦が6×4画素の画像の場合、縦ラインを用いて2倍に高解像度化すると図55に白丸で表した6×8画素の画像が生成され、さらにこれを横ラインで同様の処理を行えば図56に白丸で表した12×8画素の画像が生成され、結果的に図54の縦2倍、横2倍の画像が得られる。ここで、先に横ラインで処理を行えば図57のように、まず12×4画素の画像になり、次に縦ラインで処理することで図56の12×8画素の画像になる。このように、ラインの処理でも方向を変えて2回行えば縦横に高解像度化できる。
【0069】
次に、まず横に高解像度化し、次に縦に高解像度化するフローチャートを図58に示す。
ステップS5801では、画面を横ラインに分けたときの端のラインを最初に高解像度化を行う基準ラインとしてステップS5802に進む。
ステップS5802では、図53のステップS4801〜ステップS5304に示した手順で、その基準ラインを高解像度化してステップS5803に進む。
ステップS5803では、高解像度化する全ての横ラインの処理が終了したかどうかを判定し、NoであればステップS5804に進み、YesであればステップS5805に進む。
ステップS5804では、次の横ラインを基準ラインにしてステップS5802に進む。
ステップS5805では、画面を縦ラインに分けたときの端のラインを最初に高解像度化を行う基準ラインとしてステップS5806に進む。
ステップ1506では、図53のステップS4801〜ステップS5304に示した手順で、その基準ラインを高解像度化してステップS5807に進む。
ステップS5807では、高解像度化する全ての縦ラインの処理が終了したかどうかを判定し、NoであればステップS5808に進み、Yesであれば終了する。
ステップS5808では、次の縦ラインを基準ラインにしてステップS5806に進む。
【0070】
(第3の実施形態)
局所パターンの自己相関を利用する際に、ラインでなく、ブロックを用いる場合の第3の実施形態について図59と図60を参照して説明する。
ここでは、図59に示したように、9×9画素の画像を3×3画素のブロック5901に分けて考える。そして基準となるブロック5902に対して、その上下左右のブロックから対応点を求める様子を図59に示している。
【0071】
次に、本実施形態の動作についてフローチャートについて図60を参照して説明する。
ステップS6001では、画面をブロックに分けたときの端のブロックを最初に高解像度化を行う基準ブロックとしてステップS4801に進む。
ステップS4801では、その基準ブロックの高解像度化に用いる低解像度のブロックの番号であるnを1にしてステップS6002に進む。図59では、ブロック5902が基準ブロックで、この高解像度化に上下左右に隣接するブロックを用いる。
【0072】
ステップS6002では、注目画素として、第nブロックの一画素を設定してステップS6003に進む。
ステップS6003では、注目画素に対応する点を基準ブロックの画面空間内で検出し、ステップS204に進む。
ステップS204では、そのブロックの全画素について対応点検出が終了したかどうかを判定し、NoであればステップS6002に戻って、次の画素を注目画素にして処理を進め、YesであればステップS4804に進む。
ステップS4804では、用いる低解像度ブロックの個数Nとnが等しいかどうかを判定し、NoであればステップS4805に進み、YesであればステップS6004に進む。
ステップS4805では、nの値を1つ増やしてステップS6002に進む。
ステップS6004では、低解像度画像の画素値と検出した対応点の位置を用いて、基準ブロックの高解像度画像の画素値を算出してステップS6005に進む。
ステップS6005では、高解像度化する全てのラインの処理が終了したかどうかを判定し、NoであればステップS6006に進み、Yesであれば終了する。
ステップS6006では、次のブロックを基準ブロックにしてステップS4801に進む。
【0073】
最後に、効果を示す例を挙げる。図61に、ある静止画像に対して、従来から用いられている3次畳込み法で高解像度化した画像を示す。これは大きな濃淡画像の黒い線の部分を拡大表示したもので、小さく正方形にみえるものが1画素である。そして図62に、本発明により高解像度化した結果を示す。黒い線の部分がくっきりと鮮鋭になっていることが分かる。図63は、エッジ部分だけに処理を行う実施形態による結果で、図62の場合より少ない処理量でありながら、やはり図61より鮮鋭な画像が得られている。
【0074】
以上に示した実施形態によれば、低解像度画像の一つの画素値を、複数の対応点すなわち標本点として用いることができる。したがって、従来よりも少ない低解像度画像の枚数で鮮鋭な高解像度画像が得られるので、メモリ量を少なくできる。
【0075】
また特に、フレーム内で処理を行う場合には、対応点の探索範囲を狭くできるので処理量を減らせる。フレーム間の対応点は動きがあるため、通常、十〜数十画素の探索範囲が必要であるが、フレーム内では隣接するラインに対応点を求めればよいので数画素の探索範囲で十分である。また、フレーム間の方法は静止画像には適用できないが、フレーム内の方法は写真などの静止画像にも適用できる。
【0076】
また、本実施形態の高解像度化装置は、低解像度画像の一つの画素値を、複数の対応点すなわち標本点として用いることができる。したがって、従来よりも少ない低解像度画像の枚数で鮮鋭な高解像度画像が得られるので、メモリ量を少なくできる。
【0077】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0078】
【図1A】本発明の実施形態に係る高解像度化装置のブロック図。
【図1B】オーバーサンプリング法を使用する場合の実施形態の高解像度化装置のブロック図。
【図2】本発明の第1の実施形態に係る高解像度化装置の動作の一例を示すフローチャート。
【図3】2枚の低解像度フレームから高解像度フレームを生成する様子を示す図。
【図4】1枚の低解像度フレームから高解像度フレームを生成する様子を示す図。
【図5】低解像度画像の画面と画素との位置関係を示す図。
【図6】図5の画像を高解像度化した高解像度画像を示す図。
【図7】図5の画像の画素間隔を図6の画像の画素間隔に合わせた低解像度画像を示す図。
【図8】図5と図6の画素の位置関係を示した図。
【図9】図2のステップS202とステップS203を説明するための図。
【図10】ある基準フレームが撮影された際の、画面の横軸上の位置と輝度との関係を示した図。
【図11】図10の輝度を画素値に変換して得られた画像データでの位置座標と画素値との関係を示した図。
【図12】図10とは異なるフレームが撮影された際の、画面の横軸上の位置と輝度との関係を示した図。
【図13】図12の輝度を画素値に変換して得られた画像データでの位置座標と画素値との関係を示した図。
【図14】図11の基準フレームに対して図13の注目ブロックの位置座標を1画素ずつずらして誤差を求める様子を示した図。
【図15】図14の様にずらして最も誤差が小さくなった場合を示す図。
【図16】図15の場合よりも誤差が小さくなる場合を示す図。
【図17】ある写真データの位置座標と輝度との関係を示す図。
【図18】図9のフレームから取り出した注目ブロックを示す図。
【図19】図18の注目ブロックが探索する探索範囲を説明するための図。
【図20】図19の探索範囲を示すベクトル探索空間を示す図。
【図21】図18の注目ブロックの変形例の一つを示す図。
【図22】図18の注目ブロックの変形例の一つを示す図。
【図23】図18の注目ブロックの変形例の一つを示す図。
【図24】画面空間を表現する座標系を示す図。
【図25】パラボラフィッティング法について説明するための図。
【図26】オーバーサンプリング法で使用する図13のフレームを線形内挿した場合の位置座標と画素値との関係を示す図。
【図27】図26に対応して、図11の基準フレームのデータ密度を上げた場合の位置座標と画素値との関係を示す図。
【図28】図26と図27に基づいて計算して得た、図16に対応する図。
【図29】図26と図27に基づいて計算して得た、図15に対応する図。
【図30】フィッティング法で対応点を求めるための動作の一例を示すフローチャート。
【図31】オーバーサンプリング法で対応点を求めるための動作の一例を示すフローチャート。
【図32】横方向に輝度が変化する場合に有効な、対応点を求めるための探索範囲の一例を示す図。
【図33】横方向に輝度が変化する場合に有効な、対応点を求めるための探索範囲の一例を示す図。
【図34】横方向に輝度が変化する場合に有効な、対応点を求めるための探索範囲の一例を示す図。
【図35】横方向に輝度が変化する場合に有効な、対応点を求めるための探索範囲の一例を示す図。
【図36】縦方向に輝度が変化する場合に有効な、対応点を求めるための探索範囲の一例を示す図。
【図37】斜め方向に輝度が変化する場合に有効な、対応点を求めるための探索範囲の一例を示す図。
【図38】対応点を求めるための探索範囲が矩形である場合を示す図。
【図39】複数の対応点を検出するための動作の一例を示すフローチャート。
【図40】画面空間で検出された複数の対応点を示す図。
【図41】高解像度画像の画素値を重ね合わせ法で求める場合の動作の一例を示すフローチャート。
【図42】仮標本値の計算方法を説明するための画面、画素、矩形を示す図。
【図43】標本値ごとに条件式を立てて高解像度化する動作の一例を示すフローチャート。
【図44】画像のエッジ近くで図43の動作を行うための一例を示すフローチャート。
【図45】エッジ部分だけで高解像度化処理を行う動作の一例を示すフローチャート。
【図46】図45のステップS4501の詳細な動作の一例を示すフローチャート。
【図47】低解像度フレーム枚数と対応点の数との関係を説明するための図。
【図48】動画像を高解像度化する場合の動作の一例を示すフローチャート。
【図49】動画像のフレームを順次基準フレームとして高解像度化を行う動作の一例を示すフローチャート。
【図50】本発明の第2の実施形態での説明に使用する画像を示す図。
【図51】画像の高解像度化のための画素ラインを示す図。
【図52A】画像の自己合同性を説明するための具体例を示す図。
【図52B】自己合同性がある画像部分を高解像度化する様子を示す図。
【図53】低解像度な画素ラインを用いて高解像度化する動作の一例を示すフローチャート。
【図54】低解像度画像を示す図。
【図55】図54の画像に対して縦方向に2倍の高解像度化を行った画像を示す図。
【図56】図54の画像に対して縦横方向に2倍の高解像度化を行った画像を示す図。
【図57】図54の画像に対して横方向に2倍の高解像度化を行った画像を示す図。
【図58】図56の高解像度画像を得るための動作の一例を示すフローチャート。
【図59】本発明の第3の実施形態での説明に使用する画像を示す図。
【図60】画像をブロックに分けて高解像度化を行う動作の一例を示すフローチャート。
【図61】従来の手法で高解像度化した画像を示す図。
【図62】本発明の実施形態での手法で高解像度化した画像を示す図。
【図63】本発明の実施形態でのエッジ部分だけを高解像度化した画像を示す図。
【符号の説明】
【0079】
101、105、108、110…メモリ、102…候補指定部、103…マッチング誤差算出部、104…誤差比較部、106…高解像度画素値算出部、107…パラボラフィッティング部、109…オーバーサンプリング部、501、904、906、908、4201、4710、5006、5010…画面、502、601、909、910、921、4205、4211、4709、5008…画素、901、903、4701…フレーム、903…基準フレーム、904、906、4705…画面空間、907…自動車、908…高解像度画像、911、4709、5008…注目画素、912、913、920、4702、4703、4704、5901、5902…ブロック、914、916、917、5009…対応点、915、918、4708…対応ベクトル、919、4706、4707…標本値、4202、4210…矩形、4203…画素値、4204、4209…標本点、4212…斜線、4701…低解像度フレーム、5001,5002,5004,5005…画素ライン、5003…基準ライン、5006…低解像度画像、5007…エッジ、5102、5103、5104…画素ライン
【特許請求の範囲】
【請求項1】
画面内に複数の画素を配し、その各画素の輝度を画素値として表した画像を画像ソースから取得する取得手段と、
前記画像に含まれる1フレームを基準フレームに設定する第1の設定手段と、
前記画像に含まれる1以上のフレーム中の複数の画素を1つずつ注目画素として順次設定する第2の設定手段と、
前記注目画素ごとに該注目画素を含む注目画像領域を設定する第3の設定手段と、
前記注目画像領域に含まれる画素値の変化パターンに最も近い複数の注目画像領域に対応する複数の対応点を前記基準フレームの中から選択する選択手段と、
前記対応点での輝度の標本値を、該対応点に対応している注目画素の画素値に設定する第4の設定手段と、
複数の前記標本値の大きさと、前記複数の対応点の配置とに基づいて、前記基準フレームに含まれる画素数よりも多い画素数の高解像度画像であって前記基準フレームに対応する高解像度画像に含まれる複数の画素値を算出する算出手段と、を具備することを特徴とする高解像度化装置。
【請求項2】
前記取得手段は、前記画像として、複数のフレームからなる動画像を取得し、
前記第1の設定手段は、前記複数のフレームのうちの1枚のフレームを基準フレームに設定し、
前記第2の設定手段は、前記基準フレームを除く1以上のフレームに含まれている画素を注目画素に設定することを特徴とする請求項1に記載の高解像度化装置。
【請求項3】
前記取得手段は、前記画像として、複数のフレームからなる動画像を取得し、
前記第1の設定手段は、前記複数のフレームのうちの1枚のフレームを基準フレームに設定し、
前記第2の設定手段は、前記基準フレームに含まれている画素を注目画素に設定することを特徴とする請求項1に記載の高解像度化装置。
【請求項4】
前記取得手段は、前記画像として、1フレームからなる静止画像を取得し、
前記第1の設定手段は、前記静止画像を基準フレームに設定し、
前記第2の設定手段は、前記基準フレームに含まれている画素を注目画素に設定することを特徴とする請求項1に記載の高解像度化装置。
【請求項5】
前記第3の設定手段は、前記注目画素の周囲部分のm×n(m、nとも1以上の整数)画素を前記注目画像領域として設定し、
前記選択手段は、
前記基準フレームに含まれる複数のm×n画素の対応候補画像領域を設定し、
該複数の対応候補画像領域のうちから、前記注目画像領域との画素値の誤差和が最小となる対応画素領域を算出し、
前記誤差和と、前記対応画素領域をある方向にある画素数分ずらした位置での誤差和と、前記対応画素領域を前記方向とは逆方向にある画素数分ずらした位置での誤差和とを、ある曲線にフィッティングし、
前記曲線が最小となる位置を前記複数の対応点の1つとすることを特徴とする請求項1に記載の高解像度化装置。
【請求項6】
前記選択手段は、
前記画像に含まれる複数の画素の間に別の画素を内挿して内挿画像を生成し、
前記内挿画像において前記注目画素の周囲部分のm×n(m、nとも1以上の整数)画素を前記注目画像領域として設定し、
内挿された前記基準フレームに含まれる複数のm×n画素の対応候補画像領域を設定し、
該複数の対応候補画像領域のうちから、前記注目画像領域との画素値の誤差和が最小となる対応画素領域を算出し、
前記対応画素領域の位置を前記複数の対応点の1つとすることを特徴とする請求項1に記載の高解像度化装置。
【請求項7】
前記選択手段は、
縦座標と横座標のうちの、一方の座標を固定し、他方の座標を動かして前記変化パターンの差を逐次求め、予め定められたある範囲においてその差が最小となる座標を前記対応点の一つ目として求め、
固定する前記座標の位置を切替え、該座標の他方の座標を動かして前記対応点の二つ目を求めることを特徴とする請求項1に記載の高解像度化装置。
【請求項8】
前記算出手段は、前記高解像度画像の画素値を未知数とし、該未知数から算出した仮標本値が前記標本値と等しいという条件式を前記標本値ごとに立て、複数の前記条件式を連立して解いて前記高解像度画像の画素値を算出することを特徴とする請求項1に記載の高解像度化装置。
【請求項9】
前記算出手段は、前記条件式として、前記注目画素を含む局所パターン内の画素値勾配が所定値よりも大きい条件式だけを用いることを特徴とする請求項8に記載の高解像度化装置。
【請求項10】
前記算出手段は、前記高解像度画像の画素ごとに、位置が一定の範囲内にある前記標本値の加重平均値として前記高解像度画像の画素値を算出することを特徴とする請求項1に記載の高解像度化装置。
【請求項11】
前記算出手段は、前記注目画素を含む局所パターン内の画素値勾配が所定値よりも小さい注目画素については対応点の探索を行わないことを特徴とする請求項8又は請求項10のいずれか1項に記載の高解像度化装置。
【請求項12】
前記算出手段は、前記注目画素を含む局所パターン内の画素値勾配が大きい標本値ほど加重平均の重みを増やすことを特徴とする請求項10に記載の高解像度化装置。
【請求項13】
前記算出手段は、前記注目画素を含む局所パターン内の画素値勾配がある値よりも大きい標本値だけを用いて加重平均を行うことを特徴とする請求項12に記載の高解像度化装置。
【請求項14】
前記選択手段は、前記注目画素の画素値の勾配方向を検出し、前記対応点を前記勾配方向で選択することを特徴とする請求項1に記載の高解像度化装置。
【請求項15】
画面内に複数の画素を配し、その各画素の輝度を画素値として表した画像を画像ソースから取得する取得手段と、
前記画像に含まれる1フレームを縦方向又は横方向の1列の画素ラインに分割する分割手段と、
複数の前記画素ラインに含まれる1画素ラインを基準画素ラインに設定する第1の設定手段と、
前記画像に含まれる1以上のフレーム中で前記基準画素ライン以外の複数の画素を1つずつ注目画素として順次設定する第2の設定手段と、
前記注目画素ごとに該注目画素を含む注目画像領域を設定する第3の設定手段と、
前記注目画像領域に含まれる画素値の変化パターンに最も近い複数の注目画像領域に対応する複数の対応点を前記基準画素ラインの中から選択する選択手段と、
前記対応点での輝度の標本値を、該対応点に対応している注目画素の画素値に設定する第4の設定手段と、
複数の前記標本値の大きさと、前記複数の対応点の配置とに基づいて、前記基準画素ラインに含まれる画素数よりも多い画素数の高解像度画像であって前記基準画素ラインに対応する高解像度画像に含まれる複数の画素値を算出する算出手段と、を具備することを特徴とする高解像度化装置。
【請求項16】
前記分割手段が縦方向の1列の画素ラインに分割した場合には、前記算出手段が複数の画素値を算出後に、前記分割手段が横方向の1列の画素ラインに分割して前記算出手段が複数の画素値を算出し、
前記分割手段が横方向の1列の画素ラインに分割した場合には、前記算出手段が複数の画素値を算出後に、前記分割手段が縦方向の1列の画素ラインに分割して前記算出手段が複数の画素値を算出することを特徴とする請求項15に記載の高解像度化装置。
【請求項17】
画面内に複数の画素を配し、その各画素の輝度を画素値として表した画像を画像ソースから取得し、
前記画像に含まれる1フレームを基準フレームに設定し、
前記画像に含まれる1以上のフレーム中の複数の画素を1つずつ注目画素として順次設定し、
前記注目画素ごとに該注目画素を含む注目画像領域を設定し、
前記注目画像領域に含まれる画素値の変化パターンに最も近い複数の注目画像領域に対応する複数の対応点を前記基準フレームの中から選択し、
前記対応点での輝度の標本値を、該対応点に対応している注目画素の画素値に設定し、
複数の前記標本値の大きさと、前記複数の対応点の配置とに基づいて、前記基準フレームに含まれる画素数よりも多い画素数の高解像度画像であって前記基準フレームに対応する高解像度画像に含まれる複数の画素値を算出することを特徴とする高解像度化方法。
【請求項18】
画面内に複数の画素を配し、その各画素の輝度を画素値として表した画像を画像ソースから取得し、
前記画像に含まれる1フレームを縦方向又は横方向の1列の画素ラインに分割し、
複数の前記画素ラインに含まれる1画素ラインを基準画素ラインに設定し、
前記画像に含まれる1以上のフレーム中で前記基準画素ライン以外の複数の画素を1つずつ注目画素として順次設定し、
前記注目画素ごとに該注目画素を含む注目画像領域を設定し、
前記注目画像領域に含まれる画素値の変化パターンに最も近い複数の注目画像領域に対応する複数の対応点を前記基準画素ラインの中から選択し、
前記対応点での輝度の標本値を、該対応点に対応している注目画素の画素値に設定し、
複数の前記標本値の大きさと、前記複数の対応点の配置とに基づいて、前記基準画素ラインに含まれる画素数よりも多い画素数の高解像度画像であって前記基準画素ラインに対応する高解像度画像に含まれる複数の画素値を算出することを特徴とする高解像度化方法。
【請求項1】
画面内に複数の画素を配し、その各画素の輝度を画素値として表した画像を画像ソースから取得する取得手段と、
前記画像に含まれる1フレームを基準フレームに設定する第1の設定手段と、
前記画像に含まれる1以上のフレーム中の複数の画素を1つずつ注目画素として順次設定する第2の設定手段と、
前記注目画素ごとに該注目画素を含む注目画像領域を設定する第3の設定手段と、
前記注目画像領域に含まれる画素値の変化パターンに最も近い複数の注目画像領域に対応する複数の対応点を前記基準フレームの中から選択する選択手段と、
前記対応点での輝度の標本値を、該対応点に対応している注目画素の画素値に設定する第4の設定手段と、
複数の前記標本値の大きさと、前記複数の対応点の配置とに基づいて、前記基準フレームに含まれる画素数よりも多い画素数の高解像度画像であって前記基準フレームに対応する高解像度画像に含まれる複数の画素値を算出する算出手段と、を具備することを特徴とする高解像度化装置。
【請求項2】
前記取得手段は、前記画像として、複数のフレームからなる動画像を取得し、
前記第1の設定手段は、前記複数のフレームのうちの1枚のフレームを基準フレームに設定し、
前記第2の設定手段は、前記基準フレームを除く1以上のフレームに含まれている画素を注目画素に設定することを特徴とする請求項1に記載の高解像度化装置。
【請求項3】
前記取得手段は、前記画像として、複数のフレームからなる動画像を取得し、
前記第1の設定手段は、前記複数のフレームのうちの1枚のフレームを基準フレームに設定し、
前記第2の設定手段は、前記基準フレームに含まれている画素を注目画素に設定することを特徴とする請求項1に記載の高解像度化装置。
【請求項4】
前記取得手段は、前記画像として、1フレームからなる静止画像を取得し、
前記第1の設定手段は、前記静止画像を基準フレームに設定し、
前記第2の設定手段は、前記基準フレームに含まれている画素を注目画素に設定することを特徴とする請求項1に記載の高解像度化装置。
【請求項5】
前記第3の設定手段は、前記注目画素の周囲部分のm×n(m、nとも1以上の整数)画素を前記注目画像領域として設定し、
前記選択手段は、
前記基準フレームに含まれる複数のm×n画素の対応候補画像領域を設定し、
該複数の対応候補画像領域のうちから、前記注目画像領域との画素値の誤差和が最小となる対応画素領域を算出し、
前記誤差和と、前記対応画素領域をある方向にある画素数分ずらした位置での誤差和と、前記対応画素領域を前記方向とは逆方向にある画素数分ずらした位置での誤差和とを、ある曲線にフィッティングし、
前記曲線が最小となる位置を前記複数の対応点の1つとすることを特徴とする請求項1に記載の高解像度化装置。
【請求項6】
前記選択手段は、
前記画像に含まれる複数の画素の間に別の画素を内挿して内挿画像を生成し、
前記内挿画像において前記注目画素の周囲部分のm×n(m、nとも1以上の整数)画素を前記注目画像領域として設定し、
内挿された前記基準フレームに含まれる複数のm×n画素の対応候補画像領域を設定し、
該複数の対応候補画像領域のうちから、前記注目画像領域との画素値の誤差和が最小となる対応画素領域を算出し、
前記対応画素領域の位置を前記複数の対応点の1つとすることを特徴とする請求項1に記載の高解像度化装置。
【請求項7】
前記選択手段は、
縦座標と横座標のうちの、一方の座標を固定し、他方の座標を動かして前記変化パターンの差を逐次求め、予め定められたある範囲においてその差が最小となる座標を前記対応点の一つ目として求め、
固定する前記座標の位置を切替え、該座標の他方の座標を動かして前記対応点の二つ目を求めることを特徴とする請求項1に記載の高解像度化装置。
【請求項8】
前記算出手段は、前記高解像度画像の画素値を未知数とし、該未知数から算出した仮標本値が前記標本値と等しいという条件式を前記標本値ごとに立て、複数の前記条件式を連立して解いて前記高解像度画像の画素値を算出することを特徴とする請求項1に記載の高解像度化装置。
【請求項9】
前記算出手段は、前記条件式として、前記注目画素を含む局所パターン内の画素値勾配が所定値よりも大きい条件式だけを用いることを特徴とする請求項8に記載の高解像度化装置。
【請求項10】
前記算出手段は、前記高解像度画像の画素ごとに、位置が一定の範囲内にある前記標本値の加重平均値として前記高解像度画像の画素値を算出することを特徴とする請求項1に記載の高解像度化装置。
【請求項11】
前記算出手段は、前記注目画素を含む局所パターン内の画素値勾配が所定値よりも小さい注目画素については対応点の探索を行わないことを特徴とする請求項8又は請求項10のいずれか1項に記載の高解像度化装置。
【請求項12】
前記算出手段は、前記注目画素を含む局所パターン内の画素値勾配が大きい標本値ほど加重平均の重みを増やすことを特徴とする請求項10に記載の高解像度化装置。
【請求項13】
前記算出手段は、前記注目画素を含む局所パターン内の画素値勾配がある値よりも大きい標本値だけを用いて加重平均を行うことを特徴とする請求項12に記載の高解像度化装置。
【請求項14】
前記選択手段は、前記注目画素の画素値の勾配方向を検出し、前記対応点を前記勾配方向で選択することを特徴とする請求項1に記載の高解像度化装置。
【請求項15】
画面内に複数の画素を配し、その各画素の輝度を画素値として表した画像を画像ソースから取得する取得手段と、
前記画像に含まれる1フレームを縦方向又は横方向の1列の画素ラインに分割する分割手段と、
複数の前記画素ラインに含まれる1画素ラインを基準画素ラインに設定する第1の設定手段と、
前記画像に含まれる1以上のフレーム中で前記基準画素ライン以外の複数の画素を1つずつ注目画素として順次設定する第2の設定手段と、
前記注目画素ごとに該注目画素を含む注目画像領域を設定する第3の設定手段と、
前記注目画像領域に含まれる画素値の変化パターンに最も近い複数の注目画像領域に対応する複数の対応点を前記基準画素ラインの中から選択する選択手段と、
前記対応点での輝度の標本値を、該対応点に対応している注目画素の画素値に設定する第4の設定手段と、
複数の前記標本値の大きさと、前記複数の対応点の配置とに基づいて、前記基準画素ラインに含まれる画素数よりも多い画素数の高解像度画像であって前記基準画素ラインに対応する高解像度画像に含まれる複数の画素値を算出する算出手段と、を具備することを特徴とする高解像度化装置。
【請求項16】
前記分割手段が縦方向の1列の画素ラインに分割した場合には、前記算出手段が複数の画素値を算出後に、前記分割手段が横方向の1列の画素ラインに分割して前記算出手段が複数の画素値を算出し、
前記分割手段が横方向の1列の画素ラインに分割した場合には、前記算出手段が複数の画素値を算出後に、前記分割手段が縦方向の1列の画素ラインに分割して前記算出手段が複数の画素値を算出することを特徴とする請求項15に記載の高解像度化装置。
【請求項17】
画面内に複数の画素を配し、その各画素の輝度を画素値として表した画像を画像ソースから取得し、
前記画像に含まれる1フレームを基準フレームに設定し、
前記画像に含まれる1以上のフレーム中の複数の画素を1つずつ注目画素として順次設定し、
前記注目画素ごとに該注目画素を含む注目画像領域を設定し、
前記注目画像領域に含まれる画素値の変化パターンに最も近い複数の注目画像領域に対応する複数の対応点を前記基準フレームの中から選択し、
前記対応点での輝度の標本値を、該対応点に対応している注目画素の画素値に設定し、
複数の前記標本値の大きさと、前記複数の対応点の配置とに基づいて、前記基準フレームに含まれる画素数よりも多い画素数の高解像度画像であって前記基準フレームに対応する高解像度画像に含まれる複数の画素値を算出することを特徴とする高解像度化方法。
【請求項18】
画面内に複数の画素を配し、その各画素の輝度を画素値として表した画像を画像ソースから取得し、
前記画像に含まれる1フレームを縦方向又は横方向の1列の画素ラインに分割し、
複数の前記画素ラインに含まれる1画素ラインを基準画素ラインに設定し、
前記画像に含まれる1以上のフレーム中で前記基準画素ライン以外の複数の画素を1つずつ注目画素として順次設定し、
前記注目画素ごとに該注目画素を含む注目画像領域を設定し、
前記注目画像領域に含まれる画素値の変化パターンに最も近い複数の注目画像領域に対応する複数の対応点を前記基準画素ラインの中から選択し、
前記対応点での輝度の標本値を、該対応点に対応している注目画素の画素値に設定し、
複数の前記標本値の大きさと、前記複数の対応点の配置とに基づいて、前記基準画素ラインに含まれる画素数よりも多い画素数の高解像度画像であって前記基準画素ラインに対応する高解像度画像に含まれる複数の画素値を算出することを特徴とする高解像度化方法。
【図1A】
【図1B】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52A】
【図52B】
【図53】
【図54】
【図55】
【図56】
【図57】
【図58】
【図59】
【図60】
【図61】
【図62】
【図63】
【図1B】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52A】
【図52B】
【図53】
【図54】
【図55】
【図56】
【図57】
【図58】
【図59】
【図60】
【図61】
【図62】
【図63】
【公開番号】特開2007−310837(P2007−310837A)
【公開日】平成19年11月29日(2007.11.29)
【国際特許分類】
【出願番号】特願2006−142074(P2006−142074)
【出願日】平成18年5月22日(2006.5.22)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成19年11月29日(2007.11.29)
【国際特許分類】
【出願日】平成18年5月22日(2006.5.22)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]