画像処理方法、装置、およびプログラム
【課題】フラクタルズーミングのように鮮鋭な画像が得られ、フラクタルズーミングにあったような実用上の問題も解決する。
【解決手段】N次元空間上のN次元座標値と、N次元座標値における第1画素値との集合である処理対象画像データを入力するステップS701と、出力解像度を入力するステップS702と、第1画素値のうちの第2画素値を処理対象画像データ自身に対応付けるための、少なくとも縮小するスケーリングを含む変換である相似変換を求めるステップS703と、相似変換によって第2画素値を第3画素値として対応付けるステップS704と、第3画素値および相似変換に基づいて出力解像度における画素値の第1拘束条件を設定するステップS704と、第1拘束条件を利用して処理対象画像データの出力解像度での画素値を推定するステップS704と、を具備することを特徴とする画像処理方法。
【解決手段】N次元空間上のN次元座標値と、N次元座標値における第1画素値との集合である処理対象画像データを入力するステップS701と、出力解像度を入力するステップS702と、第1画素値のうちの第2画素値を処理対象画像データ自身に対応付けるための、少なくとも縮小するスケーリングを含む変換である相似変換を求めるステップS703と、相似変換によって第2画素値を第3画素値として対応付けるステップS704と、第3画素値および相似変換に基づいて出力解像度における画素値の第1拘束条件を設定するステップS704と、第1拘束条件を利用して処理対象画像データの出力解像度での画素値を推定するステップS704と、を具備することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、入力画像をより高い解像度に変換するための、画像処理方法、装置、およびプログラムに関する。
【背景技術】
【0002】
高い解像度のテレビやディスプレイが普及してきている。テレビやディスプレイは、画像を表示する場合、画像データの画素数をパネルの画素数に変換する。特に、画素数を増やす高解像度化の変換において、線形内挿よりも鮮鋭な画像が得られる方法として、複数のフレームの情報を用い、画像の撮像過程(劣化過程)の逆変換を考えて高解像度の画像を復元する方法(以下、RECONSTRUCTIONと呼ぶ)が知られている。
【0003】
具体的には、例えば、ある画素を中心として低解像度画像から数画素四方のブロック(例えば、横5画素×縦5画素のブロック)を取り出し、このブロックと同じ大きさで、含まれる画素が取り出したブロックと近い画素値を持つ部分を変換対象フレーム内で探索する。探索はサブピクセル精度で行う(例えば、非特許文献1参照)。探索後、見つかった対応ブロックの中心を対応点とする。これにより、他のフレームに対応する画面の点Aと変換対象フレームに対応する点Bとが同じ被写体の同じ位置として対応づけられる。以下、この対応づけのアルゴリズムをブロックマッチング法と呼ぶ。この対応は、点Aを始点、点Bを終点とする動きベクトルで表される。サブピクセル精度で探索を行うため、動きベクトルの始点は画素の位置であるが、終点は一般に画素がない位置になる。このような動きベクトルを低解像度画像のすべての画素について求め、また、他の低解像度画像についても同様に各画素を始点とする変換対象フレームへの動きベクトルを検出する。変換対象フレームへの動きベクトルが得られたら、各動きベクトルの終点に始点の画素値を変換対象フレームのサンプリング値として配置する。最後に、このように非一様に配置されたサンプリング点とその各点におけるサンプリング値から、格子状に一様に配置された高解像度画像の各画素におけるサンプリング値を求める。この変換(再構成)の方法は、多数あり、例えばNon-uniform interpolation法、POCS法、ML法やMAP法が知られている(例えば、非特許文献2参照)。MAP法では、サンプリング点とそのサンプリング値から得られる情報に加えて、画像に関する他の知識を用いた画質向上が可能である。画像の大部分が局所的に滑らかであるという事前知識は、出力画像のノイズを抑えるために利用できる。また、例えば、対象画像が人の顔などとわかっている場合には、人の顔に関する知識を統合することで、RECONSTRUCTIONの性能を向上できる。
【0004】
ところで、データ圧縮技術の1つとして、フラクタル圧縮と呼ばれる技術が知られている(例えば、非特許文献3参照)。この技術では、圧縮段階において画像をブロック単位に区切り、各ブロックで自己相似変換(self-transform)と呼ばれる変換のパラメータを求めておく。復元段階においては、任意の画像データ(例えば真っ黒な画像)を初期画像として、全ブロックについて変換を繰り返し施し、収束するまで自己相似変換を繰り返すと、元の画像が復元できる。自己相似変換とは、画像内での第1のブロック内の輝度パターンにスケーリングなどの変換を施したブロックが、その画像自身における第2のブロック内の輝度パターンに等しいと仮定したときに、第1のブロック内の輝度パターンを第2のブロック内の輝度パターンに貼り付ける変換を指す。この圧縮パラメータは、スケーリングや平行移動などから成る解像度非依存の変換である。したがって、得られた圧縮パラメータを利用すれば、別の解像度への復元を行うことも可能である。このような解像度の変換(フラクタルズーミング)を用いると、画像の撮像過程(劣化過程)は考慮されないが、線形内挿よりも鮮鋭な画像が得られることが実験的にわかっている。
【非特許文献1】M. Shimizu et al., “Precise Sub-pixel Estimation on Area-based Matching,” in Proc. IEEE International Conference on Computer Vision, pp.90-97, 2001.
【非特許文献2】S. C. Park et al., “Super-Resolution Image Reconstruction: A Technical Overview,” IEEE Signal Processing Magazine, pp.21-36, May 2003.
【非特許文献3】A. E. Jacquin, “Image Coding Based on a Fractal Theory of Iterated Contractive Image Transformations,’’ IEEE Transaction on Image Processing, pp. 18-30, Jan. 1992.
【発明の開示】
【発明が解決しようとする課題】
【0005】
入力された画像が低域通過フィルタ(LPF)などによって帯域制限され、残存するエイリアシング成分がない場合には、RECONSTRUCTIONを用いた超解像では鮮鋭な画像を得ることができない。その理由を次に述べる。入力された画像にはその解像度では表現できない情報(エイリアシング成分)が含まれている。これは入力された画像1枚ではノイズでしかない。しかし、多様なサブピクセル位置からそのエイリアシング成分を観測し、それらの劣化過程を考えて高解像度の画像を復元することで、そのエイリアシング成分が本来どのような信号であったかを推定することが可能になる。したがって、入力された画像にエイリアシングがないのであれば、RECONSTRUCTIONによって復元すべき画像は、入力された画像の解像度で表現可能な情報のみで表現されたものであり、補間によって生成されるものと本質的に同じものである。したがって、RECONSTRUCTIONによって得られる画像は特に鮮鋭とはならない。
【0006】
一方、フラクタルズーミングを使えば帯域制限によらず鮮鋭な画像を得られると考えられるが、やはり実用上の問題を抱えている。第1に、撮像による画像の劣化過程は無視されてしまう。例えば、レンズなど撮像系の劣化過程が既知であればそれに対応した復元を行うことが望ましく、また、被写体に動きがあるならシャッタースピードにあわせたモーションブラーを劣化過程として取り込むことが望ましいが、それらを取り込む手段がない。第2に、MAP法などで利用できる事前知識、例えば顔であるという知識を取り込む手段がない。
【0007】
本発明は、このような各背景技術の抱える課題に鑑み、エイリアシング成分がなく従来のRECONSTRUCTIONでは鮮鋭な画像が得られない場合でも、フラクタルズーミングのように鮮鋭な画像が得られ、フラクタルズーミングにあったような実用上の問題も解決する画像処理方法、装置、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上述の課題を解決するため、本発明の画像処理方法は、N次元空間(N:自然数)上のN次元座標値と、該N次元座標値における第1画素値との集合である処理対象画像データを入力する第1入力ステップと、出力解像度を入力する第2入力ステップと、前記第1画素値のうちの第2画素値を前記処理対象画像データ自身に対応付けるための、少なくとも縮小するスケーリングを含む変換である相似変換を求める第1算出ステップと、前記相似変換によって前記第2画素値を第3画素値として対応付ける第1対応付けステップと、前記第3画素値および前記相似変換に基づいて前記出力解像度における画素値の第1拘束条件を設定する第1設定ステップと、前記第1拘束条件を利用して前記処理対象画像データの前記出力解像度での画素値を推定する推定ステップと、を具備することを特徴とする。
【発明の効果】
【0009】
本発明の画像処理方法、装置、およびプログラムによれば、入力画像におけるエイリアシング成分の有無にかかわらず、劣化過程や事前知識の利用が可能なRECONSTRUCTIONにより、鮮鋭な画像を得ることができる。
【発明を実施するための最良の形態】
【0010】
以下、図面を参照しながら本発明の実施形態に係る画像処理方法、装置、およびプログラムについて詳細に説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
(概要)
フラクタルズーミングにおいて、RECONSTRUCTIONのように様々な要因を取り込むことができない理由は、フラクタルズーミングが画像圧縮の手法(フラクタル圧縮)をベースとして設計されたために、画像復元過程において、あるブロック内の輝度パターンに変換を施し、それを別のブロックに貼り付けるという操作が必須となっているためである。
【0011】
本実施形態では、画像のある部分に変換を施すと、画像中の別のある部分と一致するという考え方だけを用い、ブロックに変換を施して別のブロックに貼り付けるという手法そのものは用いない。ある画像内で、第1のブロック内にある画素に相似変換を施したものが、その画像自身の第2のブロック上に存在すると考え、その相似変換によって対応付けられた画素をRECONSTRUCTIONのサンプリング点として利用する。高解像度画像の復元には、フラクタル圧縮の復元過程を用いずに、一般的なRECONSTRUCTIONの枠組み(後述するPOCSやML、MAP法と呼ばれる高解像度画像の推定)を用いる。RECONSTRUCTIONの導入によって、第1のブロック内にある画素を撮像した際の劣化過程を考慮することも、他の事前知識と組み合わせることもできる。さらに、フラクタル圧縮の復元では不可能であった、他のフレームの画素情報を利用した高解像度化とフレーム内の相似変換を利用した高解像度化の自然な統合が可能となる。なお、フラクタルズーミングでは自己相似変換、つまり画像自身への相似変換のみを利用していたが、本実施形態では、画像自身への相似変換に加え、他の画像フレームから対象とする画像フレームへの相似変換についても同様に相似変換と考えて利用する。最も誤差の少ない相似変換を見つけるにあたり、メモリや計算時間が許すなら相似変換の候補は多いほうがよいから、自分自身と他の画像フレームの両方を利用したほうが、出力画質は高いと期待できる。
【0012】
(適用範囲、および定義)
本実施形態の画像処理方法は、入力画像の解像度を別の解像度の画像に変換すること、およびそれによって得られた画像を出力すること、例えばテレビやモニタへの出力、プリンタを介した紙への印刷、を行うものであり、本実施形態の装置およびプログラムは、本実施形態の画像処理方法を実施するための装置、およびコンピュータに実施させるためのプログラムである。
【0013】
本実施形態は特に2次元の画像に限定されず、例えば、画像を特定の方向に伸縮する1次元の変換、画像を水平・垂直方向に伸縮する2次元画像の変換、画像を2次元平面・時間あるいは2次元平面・奥行きについて伸縮する動画像あるいは3次元ボクセル画像の変換、画像を2次元平面・奥行き・時間について伸縮する3次元ボクセル動画像変換を含む。画像の座標系はN次元空間(N:自然数)と考える。N次元空間上の点をあらわす数値を座標値と呼ぶ。
【0014】
典型的には、画素を、N次元空間(N:自然数)内の微小な範囲として扱い、画素値を、画素という範囲内で、ある時間だけサンプリングした信号強度の積分値として扱う。便宜上、画素の中心位置を特に画素の位置と呼ぶことにする。画素は、その空間的な位置であるN次元の座標値と、その空間上の輝度や色を表す画素値の2つから成る。画素値は1次元以上の値で、例えば輝度では1次元、RGB色空間やYUV色空間では3次元、CMYK色空間では4次元の値である。また、動画像のように座標系に時間軸を含む場合でも、画素値のサンプリングはある時間(シャッタースピード)に対して信号を積分することによって行うと考える。なお、画素は必ずしも密に配置される必要はない。例えば、動画像の解像度変換においては、画素が配置される空間は水平・垂直と時間方向の3次元であるが、このとき、シャッタースピードがフレームレートより小さい場合には時間方向に隙間が現れる。また、例えば、撮像系が隣の画素の光の一部も積分値に加えてしまうなら、画素間には重なりがあることになる。これらの場合も含め、N次元空間内の微小な範囲を画素と呼ぶ。
【0015】
(基本アイディア:対応点を利用した高解像度画像の復元手法)
はじめに、本実施形態の基本アイディアを説明する。まず、図1に示すように、画像中の画素(矩形)101に対し、(最低でも、スケールを縮小するスケーリングを含む)何らかの変換を施した変形画素102を考える。次に、図2に示すように、画像中で、この変形画素102が対応すると考えられる場所を見つける。もしそのような場所が見つかれば、変形画素102を見つかった場所201に配置する。このような変形画素の配置を行うことで、図3に示すように、様々な場所に、様々に変形された画素301が配置されることになり、画素の配置は不規則ではあるものの、入力された画像単体と比べると情報が増える。ここで、変形画素のサイズは元の画素のサイズよりも小さいため、変形画素によって追加される情報は、入力画像よりも精密なカメラで撮像した情報になることが重要である。このように増えた情報を拘束条件として利用し、出力解像度にあわせて規則的に配置された画素の画素値を推定すれば、入力画像よりも精密な情報を含んだ画像が復元されると期待できる。これが本実施形態の基本アイディアである。以下に、このアイディアに基づく実施形態を具体的に示す。
【0016】
以下では、はじめに、入力画像の解像度を変換する手法、具体的には、入力画像から得られる、拘束条件に対応する拘束式を連立方程式として定式化し、それらをなるべく満たすような出力解像度の画像を推定するための手法について説明する。次に、先に図1〜図3を用いて概要を説明した、本実施形態に特有の、拘束式の追加手法について説明する。
【0017】
(対応点を利用した高解像度画像の復元手法)
解像度解析では、例えば、ぼけやダウンサンプリング(あるいはアップサンプリング)、ノイズにより、出力解像度の画像に変換が施されて、入力解像度の各画素が生成されたと考えて、元の出力解像度の画像を復元する。入力画像の各画素にインデックスi={1、2、3、・・・、L}を付与し、入力される画素値を下記(1)で表す。なお、画素がスカラー値でないなら、yiは縦ベクトルで表すものとする。例えば、画素がRGBの3次元で与えられるなら、3次元の縦ベクトルで表す。
【数1】
【0018】
出力信号にもインデックスj={1、2、3、・・・、M}を付与し、画素値を下記(2)で表す。
【数2】
【0019】
また、出力解像度の画像に施される変換をPoint Spread Function(PSF)と呼び、入力画素値は出力画素値の重みつき和で表す。求めたい値は下記(3)で表す画素値である。
【数3】
【0020】
このとき、各インデックスiについて、重みの係数を下記(4)とすれば、下記(5)式を立てることができる。(5)式が出力画素値を拘束する拘束式である。
【数4】
【0021】
【数5】
【0022】
入力画像以外に、出力画素値の重みつき和の値が推定できる拘束式が得られるなら、それらについてもインデックスを付与して式を追加し、追加した式の本数だけLの値を増やすことができる。この拘束式を得る手法については後述する。
【0023】
下記(6)で表すベクトル、下記(7)で表すベクトル、下記(8)で表す行列を導入し、各インデックスiに対する式をまとめて下記(9)式と表記する。
【数6】
【0024】
【数7】
【0025】
【数8】
【0026】
【数9】
【0027】
xを割り当てる手法として、擬似逆行列を用いて下記(10)式により求める手法が考えられる。
【数10】
【0028】
擬似逆行列を利用して直接xを割り当てるかわりに、例えばPOCSやMAP法を使うこともできる。Wとyを利用してxを割り当てることをRECONSTRUCTIONと呼ぶことにする。以下、RECONSTRUCTIONの具体例を説明する。
【0029】
(補間)
POCSやMAP法では繰り返し演算に基づく最適化を行うことが多く、このような最適化では初期値として仮のxが必要となる。仮のxは、例えば入力画像の補間により生成できる。どのような補間手法を用いてもかまわないが、例えば、次の手法が使える。
【0030】
(A)線形補間
既知の2点を用いて補間する。補間に用いる2点は、できるだけ補間すべき点の近くを用いることが望ましい。既知の2点の位置を下記(11)で表し、その画素値を下記(12)とし、補間すべき点の位置を下記(13)で表すと、補間値は下記(14)式で求められる。
【数11】
【0031】
【数12】
【0032】
【数13】
【0033】
【数14】
【0034】
(B)キュービックコンボリューション法
既知の等間隔に配置された4点を用いて補間する。補間に用いる4点は、補間位置を中心とした2以下の範囲に配置されているものとする。補間値は、各点に対し、補間位置を中心とした下記(15)で表す重みカーネルの値をかけてそれらの和を求めることで得られる。dは各点の補間位置からの距離を表す。γは補間関数を制御するパラメータで、例えばγ=−1.0あるいはγ=−0.5とする。
【数15】
【0035】
(バックプロジェクションやPOCS)
POCSによるRECONSTRUCTIONの流れの一例を図4に示す。そのアルゴリズムは次の通りである。このアルゴリズムは、例えば、後述する図6の演算部605が行う。
(ステップ1)仮のx信号を生成する(S401)。仮のx信号は、例えば入力画像の補間により生成できる。補間には、例えば線形補間やキュービックコンボリューション法が利用できる。
【0036】
(ステップ2)下記の式(16)を構成する第i番目の式は下記の式(17)の形で書ける。
【数16】
【0037】
【数17】
【0038】
ここで、下記(18)は重みを並べた横ベクトルで、下記(19)は入力として与えられる(S402)。
【数18】
【0039】
【数19】
【0040】
ノイズの影響をあまり受けずに下記(20)式のそれぞれを満たすxを求めるために、POCSでは、下記(21)のステップサイズおよび下記(22)の定数を別途与え、次の繰り返し演算を実行する(並列化なしの例:S403〜S404)。
【数20】
【0041】
【数21】
【0042】
【数22】
【0043】
なお、下記(23)はxの推定値を意味する。
【数23】
【0044】
【数24】
【0045】
下記(25)のステップサイズや下記(26)の定数はすべてのiに対して同じ値(例えば下記(27))でもよいし、例えば下記(28)式のように式ごとに変えてもよい。
【数25】
【0046】
【数26】
【0047】
【数27】
【0048】
【数28】
【0049】
(ステップ3)別途定めた回数だけステップ2を繰り返す(S405)。
(ステップ4)下記(29)の得られた推定画像を出力する(S406)。
【数29】
【0050】
(簡易RECONSTRUCTION)
なお、厳密なRECONSTRUCTIONを行うかわりに、次の重みつき加算手法を利用することもできる。重みつき加算手法では、適当なカーネル行列Kを準備し、各画素に対する画像xを下記(30)式により推定する。
【数30】
【0051】
カーネル行列Kは、理論上は例えばWの下記(31)に表す疑似逆行列を利用するところであるが、擬似逆行列の算出には多くの計算を必要とする。
【数31】
【0052】
そこでKとして、例えば、単に開始・終了時刻が近いサンプルに対して重みを与える(非零の要素を持つ)行列を用いる。ここで、Kの各行は補間の係数を表すため、その要素の合計値が1になるようにする。
【0053】
(MAPによるRECONSTRUCTION)
xの復元において、自然画像の性質、例えば隣り合う画素の輝度値が似ているといった知識を利用することもできる。その1例として、次に説明するMAP法によるxの推定がある。以下、図5に示した流れにしたがってMAP法を説明する。これは演算部605が行う。
【0054】
(MAP)
(ステップ1)仮のx信号を生成する(S401)。仮のxは、例えば入力画像の補間により生成できる。
【0055】
(ステップ2)下記(32)の等式に対する誤差が大きいほどエネルギーが高くなる第1の項と、予め準備した自然画像の一般的な性質に対する画像xの誤差が大きいほどエネルギーが高くなる第2の項の2つを結合したエネルギー関数を考え、それを最小化する画像xを探す。換言すればエネルギー関数は、下記(32)式の拘束条件からのずれが大きいほどエネルギー値が大きくなる第1のエネルギー項と、処理対象画像データに関する事前知識からのずれが大きいほどエネルギー値が大きくなる第2のエネルギー項とを含む。
【数32】
【0056】
例えば、自然画像の一般的な性質として近傍の画素の輝度値があまり変化しないと仮定すると、エネルギー関数として下記(33)式を立てることができる。ここで、ノルムの右下の1はL1ノルムを表し、λmは前記第2の項に対する重み、Pmは平行移動を表す行列である。
【数33】
【0057】
mは考える平行移動のバリエーションを表し、例えばPmとして
P1:水平方向の平行移動
P2:垂直方向の平行移動
の2通りを考えれば、第2項は縦横それぞれについて隣接画素のずれの大きさの和を求め、その合計値をλ(=λ1=λ2)で重みづけした値になる。
【0058】
Eを最小化する手法として例えばsteepest descent法が利用できる。steepest descent法とは、xの下記(34)の推定値をエネルギー関数の勾配方向に−β倍したステップ進める操作を繰り返す手法であり、その更新は下記(35)式により行える。
【数34】
【0059】
【数35】
【0060】
具体的な手順は次の通りである。入力として、Wおよびyを与える(S402)。なお、上記の式をそのまま実行する場合は、まず、エネルギー関数の勾配ベクトルを保持するバッファ(一時記憶部604)を用意してゼロで初期化する(S501)。次に、下記(36)の各行の式、および下記(37)の各行の式を評価してエネルギー関数の勾配ベクトルを更新する(S502〜S503)。
【数36】
【0061】
【数37】
【0062】
すべての式の評価が終わった段階で、β倍を行い、それを下記(38)の推定値から減ずる(S504)。
【数38】
【0063】
なお、上記の式をそのまま実行する代わりに、下記(39)の各行の式、および下記(40)の各行の式について、それをエネルギー関数の勾配方向を構成する式として(勾配項から注目する式以外を除去して)上記の更新式を順次適用することで、下記(41)の推定値を逐次更新してもよい(この場合は、先にPOCSとして説明したS501〜S502と同様の流れになる)。
【数39】
【0064】
【数40】
【0065】
【数41】
【0066】
なお、下記(42)の初期値は、変換対象フレームに線形補間やキュービックコンボリューション法などを適用して与える。
【数42】
【0067】
(ステップ3)別途定めた回数だけステップ2を繰り返す(S405)。
【0068】
(ステップ4)画像出力部603が下記(43)の得られた推定高解像度画像を出力する(S406)。
【数43】
【0069】
なお、ここで示したMAP法のエネルギー関数は一例であり、このエネルギー関数でなくてもかまわない。例えば、エネルギー関数のいずれのL1ノルムについても、それを他のノルム(例えばL2ノルム)に置き換えることができる。また、例えば、事前知識である第2項を用いなくてもよい。この手法は特にML法と呼ばれることもあり、先のエネルギー関数でλm=0とした場合に相当する。また、エネルギー関数がL2ノルムで表されている場合は、例えば、線形代数でよく知られている共役勾配法を利用して解くことも可能である。
【0070】
(帯域制限と出力画像)
以上の流れにより、出力画像xを推定することが可能になる。しかし、この手法で出力画像を推定しても、常に鮮鋭な画像が得られるわけではない。
【0071】
出力画像として推定されるxは、追加される拘束式により変化する。従来、追加される拘束式は、例えば動画像の他のフレームの画素を入力画像(動画像で対象とするフレーム)上の非整数画素位置に配置することにより与えられてきた。この手法により拘束式の追加を行った場合、その画素値がサンプリング過程(撮像過程)において帯域制限されエイリアシング成分が存在しない信号のサンプリング値であるのなら、追加された拘束式は、入力画像の帯域外の周波数成分を含まないxを与えるためのものとなる。したがって、これらの拘束式に基づいて推定されるxは、原理的には、補間によって生成される信号と同様に、入力画像の帯域内の信号を出力解像度でサンプリングした画素値として与えられる。つまり、入力画像の各画素値(あるいは、動画像の他のフレームの各画素値)にエイリアシング成分が存在しないのなら、鮮鋭な出力画像は得られない。
【0072】
(本実施形態の流れ)
本実施形態では、入力画像中の画素のサイズを小さくした変形画素を考え、その変形画素を入力画像自身の上に配置し、それに基づいて新たな拘束式をたてる。通常の画素ではなく、少なくとも縮小を含む変形画素を配置することによって、入力画像の画素よりも高い周波数成分を作り出せる。配置された変形画素は、従来と同様のRECONSTRUCTIONによって、出力解像度の各画素値の推定に利用できる。本実施形態では、変形の典型的な例として、縮小や回転を含むアファイン変換(affine transform)について説明する。なお、この変形は、変形をあらわし座標値(あるいは画素値)を入出力とする関数をξとするとき、ある1未満の定数Lに対し、変形の対象となるブロックに属するあらゆる座標値(画素値の変換であれば画素値)a,bが下記(44)式を満たせば何でも良い。
【数44】
【0073】
ここで、実施形態の画像処理装置について図6を参照して説明する。図6は、汎用的なCPUを用いたコンピュータ(TVやDVDプレーヤ、ハードディスクレコーダを含む)で実施する場合の構成の一例である。
実施形態の画像処理装置は、入出力受付部601、画像入力部602、画像出力部603、一時記憶部604、演算部605、不揮発記憶部606を含む。
【0074】
入出力受付部601は、ユーザから指示、および例えば出力解像度を受け付ける。入出力受付部601は、例えば、マウス、キーボードやリモコンから受け付けた指示を受け付ける。入出力受付部601は、プログラムの起動を指示する信号を受け付ける。
画像入力部602は、N次元空間上のN次元座標値と、このN次元座標値での画素値の集合である処理対象画像データを受け付ける。
不揮発記憶部606は、後に図を参照して説明するプログラムを格納している。不揮発記憶部606は、例えば、例えばハードディスクやROMである。不揮発記憶部606は、上述した、画像データを予め記憶していてもよい。
一時記憶部604は、入出力受付部601からユーザの指示を受けて不揮発記憶部606からプログラムを一時的に記憶し、演算部605に提供する。一時記憶部604は、演算部605が演算した結果を一時的に記憶できる。
演算部605は、一時記憶部604からプログラムを受け取り、プログラムを実行する。実施形態の画像処理装置の主な動作はすべて演算部605が行う。演算部605は、例えば、処理対象画像データに含まれるある画素値を処理対象画像データ自身に対応付けるための、少なくとも縮小するスケーリングを含む変換である相似変換を求める。
画像出力部603は、演算部605によって得られた結果を出力する。画像出力部603は例えばモニタである。
【0075】
実施形態の画像処理装置の入力は、処理対象画像データのみの1枚であるか、あるいは、処理対象画像データのほかに、対象物を別の角度、別の時刻などから撮像した画像データを加えた複数枚の画像データである。実施形態の画像処理装置の出力は、処理対象画像データを解像度変換して得られる画像データ1枚である。
【0076】
なお以下の説明中、「入力画像パターン」とは、仮対応点を中心とした適当な大きさ(例、上下左右各1画素を加えた3x3画素)のブロック内の画素値を並べたデータ(例、9個の画素値で、各画素値は対象画像データから補間された値)である。「候補画像パターン」とは入力画像パターンと同じ大きさのブロック内の画素値を並べたデータ(例、9個の画素値で、各画素値はから補間せずコピーされた値)であり、通常は複数の候補画像パターンを切り出す。また「ブロック」という言葉は特に正方形に限定されず、任意の形状を持つ図形、例えば長方形や円、楕円やひし形であってもよい。
【0077】
実施形態の画像処理装置の画像処理方法のフローチャートを図7に示し、その方法を以下に説明する。
この画像処理方法は、例えば、図6の汎用CPU上の演算部605で実行させてもよいし、図15のような装置上で実行させてもよい。はじめに、入力画像つまり解像度変換の対象とする画像(S701)、および所望の出力解像度を入力する(S702)。これらの入力を利用し、入力画像中の複数の画素に対応する相似変換を求める(S703)。図15では、S703は相似変換算出部1501が実行する。得られた相似変換を用いると、設定した小ブロック内の各画素について、求めた相似変換を施したPSFを用いて、上記(5)式の拘束式を追加できる(なお、入力画像の各画素に対して拘束式を追加することも、出力画像の各画素に対して拘束式を追加することもできる)。図15では、拘束式の追加は、相似変換に基づいて画素を入力画像上に配置する(対応付ける)操作を画素対応付け部1502が行い、配置された画素とそのPSFを利用して拘束式を拘束条件設定部1503が設定することにより行える。入力画像自身の与える拘束式と追加された拘束式を用いてRECONSTRUCTIONを実行し、出力画像の各画素値を推定する(S704)。図15では、S704のRECONSTRUCTIONはRECONSTRUCTION部1504が行い、得られた画像データを出力する。
【0078】
ステップS703は、例えば汎用CPU上でシングルスレッド処理を行う場合、図8の流れで行う。
図8では、はじめに処理対象画像データにスケーリングを施したスケールド画像を生成する(S801)。ステッスケールド画像はプS804およびS805で使うために最初に生成しているが、このスケールド画像は最初に生成しなくてもよい。例えば、ステップS804の直前で、ブロックマッチングの探索に必要な部分だけを生成してもよい。あるいは、S801を実行せずに、S804において、画像に候補とする各アファイン変換を適用し、候補ブロックを生成してよい。
【0079】
次に、図9に示すように、入力画像中の1画素901あるいは小ブロックを注目小ブロック902として設定する(S802)。図10に示すように、注目小ブロック902を中心とした参照ブロック1001を設定する(S803)。参照ブロック1001と相似なブロック(対応ブロック)を、入力画像自身から探す。例えば、図11に示すように、入力画像を2倍に拡大した拡大入力画像1102を補間によって生成しておき(S801)、図12に示すように、入力画像中の参照ブロック1101と最も類似した絵柄を持つ拡大入力画像中のブロック1201を、拡大入力画像に設定した候補ブロックの中から、ブロックマッチングとサブピクセル推定を組み合わせて探す(S804〜S805)。
【0080】
ブロック誤差が最小となるブロックにおいて、その誤差が別途定めたしきい値よりも小さいのなら、図13に示すように、拡大入力画像の大きさを元に戻した時のブロック1301を対応ブロックとする。そうでなければ、相似なブロック1301は存在しないと判定する。なお、相似なブロックの存在判定はこの手法でなくてもよく、また、小ブロック中の各画素について別々に判定してもよい。例えば、対応ブロック中の小ブロックの各画素について、小ブロック画素の画素値を、(対応ブロックが配置された、元の大きさの)入力画像中で近傍の(例えば4−Nearest Neighborの)画素の画素値と比べたときに、近傍の画素値集合の最大値から最小値の間に小ブロック画素の画素値があるなら、その小ブロック画素を受理し、そうでないなら、その小ブロック画素を不受理としてもよい。なお、このステップは相似でないブロックを判定するステップであるが、単にすべてを相似であるとみなしてもよい。あるいは、適当な誤差値(例えば、ブロック誤差の大きさ)を(例えば指数関数を用いて)0〜1の値にマップし、それをRECONSTRUCTIONにおいて式の重みとして利用してもよい(その場合、各係数および観測画素値を重み値で除した式を加える)。
【0081】
次に、ステップS806でもし相似なブロックが見つかれば、参照ブロック中の小ブロックから、対応ブロック中の小ブロックへの変換を相似変換として出力する(S807)。入力画像にまだ処理していない小ブロックがあるなら、注目小ブロックを切り替えてS803に戻る。そうでなければ、S703を終了する。
【0082】
なお、本実施形態の方法をASICなどで実装し、高解像度の出力装置(ハイビジョンテレビやモニタ、高解像度プロジェクタなど)に接続することで、低解像度の動画像(例えば、DVD映像)の各フレームを入力画像として逐次与えながら、それらにS701〜S704を適用して高解像度化し、得られたフレームを出力装置に出力することで、低解像度の動画像を高い品質でストリーミング再生できる。
【0083】
(追加する拘束式)
S703で相似変換を求めた場合に追加する式は2通り考えられ(拘束式を入力画像の各画素に対して追加する方法と、出力画像の各画素に対して追加する方法の2通り)、そのいずれを用いても良い。その1つは、入力画像の画素値が出力画像の画素値の重みつき積和値に等しいと考えた式(図16)であり、下記(45)式のように表せる。
【数45】
【0084】
この拘束式を追加する場合は、wは入力画像の画素に対して定義されたPSFに、相似変換を適用した場合の重みになる。言い換えれば、この方法ではブロックマッチングは入力画像中に設定した小ブロックで行い、ブロックマッチングで得られた相似変換を利用して、入力画像の画素値と出力画像の複数の画素値の間に成り立つ式を立てる。
【0085】
もう1つは、出力画像自身の画素値が出力画像の画素値の重みつき積和値に等しいと考えた式(図17)を用いて、下記(46)のように拘束式を立てることである(xの推定では、移項により従来の形に帰着できる)。
【数46】
【0086】
この拘束式を追加する場合は、wを出力画像の画素に対して定義されたPSFに、相似変換を適用した場合の重みになる。言い換えれば、この方法ではブロックマッチングは入力画像中に設定した小ブロックで行い、ブロックマッチングで得られた相似変換を利用して、出力画像の画素値間での関係式を立てる。図16の場合と比較すると、図17の場合では個々のPSFは小さくなる。
【0087】
なお、出力画像自身の画素値にもPSFを考えて下記(47)のように式を立てても良い。
【数47】
【0088】
このような定式化は、例えば、出力画像内での非整数画素位置から非整数画素位置への対応付けを表現したい場合に利用できる(xの推定では、移項により従来の形に帰着できる)。
【0089】
また、フラクタル圧縮のように、画素値についても相似変換を考えることもできる。例えば、入力画像の画素値が出力画像の画素値の重みつき積和値に等しいと考えた式において画素値についての相似変換を考えるなら、係数の総和が1よりも小さいwを重みとした出力画素値の重みつき積和値に定数を加算した値が、入力画像の画素値に等しい、という拘束式を立てることになる。入力画像の画素値が出力画像の画素値の重みつき積和値に等しいと考えた式に、画素値の相似変換を加えた拘束式は下記(48)の形で表せる。
【数48】
【0090】
出力画像の画素値が出力画像の画素値の総和に等しいと考えた式に、画素値の相似変換を加えた拘束式は下記(49)の形で表せる。
【数49】
【0091】
これらの式は、定数項を左辺に移項し、左辺にある変数xを右辺に移項すれば通常のRECONSTRUCTIONで解くことができる。なお、画素値の相似変換を用いる場合は、画素値の縮小率が1よりも小さい変換、つまり下記(50)式を満たすような相似変換を求めるとよい。
【数50】
【0092】
(相似変換の算出:モノクロ&RGB画像)
S804〜S805の例では、対応するブロックを探すために、ブロックマッチングとサブピクセル推定を組み合わせて用いた。これらの手法を以下に述べる。
ブロックマッチングでは、まず、拡大入力画像に適当な探索範囲を設定し、その範囲内で1画素ずつ(あるいは、予め定めた適当な間隔ずつ)ブロックをずらしながら、各ブロック内の輝度パターンを取り出して候補ブロックとする。次に、生成した候補画像パターンのうち、参照ブロックとのブロック誤差がなるべく小さいブロックを探す。ブロック誤差としては、例えば、各画素値の差のノルムを総和したもの(例えばSSDやSAD)や、正規化相互相関が利用できる。探索範囲は画面全体としてもよいし、画面の一部、例えば参照ブロックの近くに制限してもよい。また、RGBやYUVのように、複数の色から成るマルチチャネル画像では、各チャネルのブロック誤差の重みつき和を求めてブロック誤差としてもよい。また、フラクタル圧縮のように座標系の相似変換に加えて画素値にも同様の変換を施す場合には、ブロック誤差の算出時に画素値の変換を考慮する。これは次に述べるサブピクセル推定でも同様である。画素値の変換を考慮するとは、具体的には、例えば、ブロック誤差の算出前に、候補とする参照ブロックの画素値に相似変換を加えておく。候補とする相似変換は、例えば、wの総和値である画素値の縮小率と定数項の候補を適当に組み合わせて生成する。具体的には、例えば、画素値の縮小率を{0.8、0.7、0.5}のいずれか、定数を参照ブロックの平均値Iavgとした3通りを候補とすることができる。
【0093】
サブピクセル推定では、ブロックマッチングによって得られたブロックに残る、候補ブロックの配置間隔よりも小さな誤差を修正する。ずれの推定手法としては、例えば、2次元の画像において、バイナリサーチを行う手法が利用できる。その手法の1つは、水平・垂直方向それぞれについて、1/2、1/4、1/8のように精度を上げながら繰り返しバイナリサーチを行う手法である。あるいは、例えば、現在のブロックの推定位置を(Δx、Δy)1404としたときに、(Δx、Δy)、(Δx−ε、Δy)、(Δx+ε、Δy)、(Δx、Δy−ε)、(Δx、Δy+ε)の5点に対するブロック誤差、あるいは(Δx、Δy)、(Δx−ε、Δy−ε)、(Δx−ε、Δy)、(Δx−ε、Δy+ε)、(Δx、Δy−ε)、(Δx、Δy+ε)、(Δx+ε、Δy−ε)、(Δx+ε、Δy)、(Δx+ε、Δy+ε)の9点に対するブロック誤差を評価し、それらのうちブロック誤差が最も小さくなる位置を選択する操作を、εを小さくしながら所望のεに達するまで繰り返してもよい。ここで述べたεとしては、例えば、最初に0.5を設定し、以降の操作では前回のεを0.5倍した値を新しいεとして使うことができる。例えば5点に対するブロック誤差を用いる場合は、図14に示すように、まずε=0.5の候補位置1402の4点と元の位置1404についてブロック誤差を評価し(元の位置のブロック誤差は計算済みの値が使える)、そのブロック誤差が最も小さくなるブロックの位置を選択する。ε=0.25以下についても同様の操作を繰り返す。なお、サブピクセル位置に対するブロック誤差の評価には、先に参照ブロックの生成において説明したように、補間によって入力画像と同じ解像度のブロックを生成し、それを評価に用いる。
【0094】
なお、サブピクセルずれの修正手法はこの手法でなくてもよい。例えば、位置とブロック誤差の値の関係が予め決めた誤差関数(例えば、区分的な直線や2次曲線)で表されると仮定し、選択されたブロックおよびその周辺の候補ブロックのブロック誤差を利用してそのパラメータを推定したうえで、ブロックの位置を誤差関数の極小位置に修正することでも行える。
【0095】
(2倍、平行移動以外の変換に対応する例)
先に説明した例では、S804〜S805において拡大率を2倍に固定し、平行移動したブロックのみを候補ブロックとした。候補ブロックの拡大率は任意の整数倍率にしてもよいし、非整数倍率としてもよい。また、スケーリングに加えて回転やアファイン変換を考慮してもよい。具体的には、例えば、S804〜S805において、(2倍、回転0度)、(2倍、回転90度)、(2倍、回転180度)、(2倍、回転270度)、(3倍、回転0度)、(3倍、回転90度)、(3倍、回転180度)、(3倍、回転270度)のそれぞれについて平行移動量を一定の範囲で変化させたブロックを候補ブロックとして、それらのうちでブロック誤差が最小となるブロックを選択してもよい。
【0096】
(対応画素の選別)
上記の説明では、すべての画素について相似変換を算出した。ところで、拡大された出力画像を人の目で見た場合、主にエッジ部が鮮鋭であれば、画像全体も鮮鋭であると感じることが多い。一方、画像のテクスチャ部は、エッジ部などと比べ画像中で相似な図形を見つけにくく、エッジ部と比べると、ブロックマッチングを行っても見つからない可能性が高い。ブロックマッチングを行っても対応するブロックが得られなかった場合は処理量が無駄に増えていることになるから、処理量に制約がある場合(例えば、動画像の1フレームを1/60秒以内に処理しなければならない場合等)には、すべての画素について処理するのではなく、効果の高い画素について処理することで、少ない処理量での効果を大きくできる。具体例として、Harrisのコーナ検出に基づくエッジ部の分離手法を次に説明する。画素の近傍(例えば、画素とその周辺8画素の9つの位置)で水平・垂直方向の離散微分値(隣接画素間の差分値)を求め、それらに基づく次の(51)式の共分散行列を求める。
【数51】
【0097】
Σは計算の対象とする画素すべての総和、Iは注目する画素の画素値、右下のx、yはそれぞれx、y方向の離散微分値を表す。この行列の2つの固有値により、画素が平坦部、エッジ部、コーナ・テクスチャ部のいずれに属するかを区別できることが知られている(Harrisのコーナ検出)。この2つの固有値(あるいは、トレースと行列式の2つの値)が、予め定めた範囲にある場合のみ、それをエッジ部と判定し処理すれば、本実施形態の効果を保ちながら、処理量を削減できる。
【0098】
(複数フレーム超解像・プライア(事前知識)との協調)
本実施形態は、相似変換は利用するが、フラクタルズーミングと異なり、RECONSTRUCTIONを利用した超解像であるため、他の任意の手法で得られた対応点に基づく拘束式との同時最適化が可能である(単に拘束式を加えればよい)。フレーム間の動きの推定を用いた手法は、「S. C. Park et al., “Super-Resolution Image Reconstruction: A Technical Overview,” IEEE Signal Processing Magazine, pp.21-36, May 2003.」にサーベイが与えられており、これらの手法で増やした拘束式はそのまま利用できる。これらの手法では、対象を動画像やステレオ画像など複数のフレームを持つ画像とし、他のフレームの画素から対象とするフレームのサブピクセル位置への動きを推定することで、拘束式を増やしている。
【0099】
また、最初に対象とするフレームのサブピクセル位置に仮の対応点を設定し、それに基づいて他のフレームで対応する画素を求め、最後にそのサブピクセル位置を修正することでも、拘束式を増やすことが可能である。具体的には、例えば、次の手法で拘束式を増やす。
【0100】
(ステップ1)対象フレーム、および1つ以上の他のフレームを入力する。なお、他のフレームは、対象フレーム自身であってもよい。例えば、他のフレームを対象フレーム自身の1枚のみとしてもよい。
【0101】
(ステップ2)対象フレームに対し、対応点が欲しい位置を決める。この位置は、例えば、出力解像度における各画素位置とすることができる。
【0102】
(ステップ3)仮対応点に対応する輝度パターンを取得する。具体的には、例えば、仮対応点を基準とした別途定めた上下左右の範囲(ブロック)を考え、ブロック内の入力画像パターン(以下、仮対応ブロックと呼ぶ)を、補間により入力解像度と同じ画素間隔の輝度パターンとして生成する。例えば、仮対応点が入力解像度の座標系で(7.6、6.3)の位置にあり、その位置を中心とした3x3画素のブロックを得るのであれば、入力解像度の座標系で(6.6、5.3)、(7.6、5.3)、(8.6、5.3)、(6.6、6.3)、(7.6、6.3)、(8.6、6.3)、(6.6、7.3)、(7.6、7.3)、(8.6、7.3)の9点に対応する輝度を、補間により求める。なお、便宜上ブロックという言葉を用いたが長方形だけでなく任意の形状、例えば2次元画像であれば円や楕円、ひし形のような形でもよい。
【0103】
(ステップ4)他のフレームに適当な探索範囲を設定し、その範囲内で1画素ずつブロックをずらしながら、各ブロック内の輝度パターンを取り出して候補ブロックとする。生成した候補ブロックのうち、仮対応ブロックとのブロック誤差がなるべく小さいブロック(推定ブロック)を探す。ブロック誤差としては、例えば、各画素値の差のノルムを総和したもの(例えばSSDやSAD)や、正規化相互相関が利用できる。
【0104】
(ステップ5)推定ブロックとのブロック誤差が小さくなるように、仮対応ブロックにサブピクセル修正を施し、対応ブロックを得る(なお、このステップは必須ではない)。サブピクセル修正の手法としては、バイナリサーチなど、先にブロックマッチングで述べた手法と同じ手法が利用できる。
【0105】
(ステップ6)推定ブロックの中心にある画素が対応ブロックの中心のサブピクセル位置に配置されていると考えて、拘束式を増やす。
【0106】
これの手法により増やした拘束式を用いることで、例えば、相似変換が見つかった部分は本実施形態を利用し、そうでない部分は他の手法を用いることが可能になる。
【0107】
なお、先に述べたように、本実施形態ではRECONSTRUCTIONの部分は何でもよいし、他のフレームにより増やした拘束式に加え、対象物の事前知識を用いてもよい。例えば、「S. Baker et al., Limits on Super-Resolution and How to Break Them, IEEE Transaction on Pattern Analysis and Machine Intelligence, vol. 24, no. 8, Sept. 2002.」の手法を用いれば、顔の事前知識を組み込むことが可能になる。もちろん、本実施形態と顔の事前知識を組み合わせ、1枚での超解像を行ってもよい。
【0108】
以上に説明したように、本実施形態を用いれば、入力画像におけるエイリアシング成分の有無にかかわらず、劣化過程や事前知識の利用が可能なRECONSTRUCTIONにより、鮮鋭な画像が得られる。
【0109】
以上に示した実施形態によれば、変形画素のサイズを元の画素のサイズよりも小さくすることにより、変形画素によって追加される情報は入力された画像単体よりも情報が増える。このように増えた情報を拘束条件として利用し、出力解像度にあわせて規則的に配置された画素の画素値を推定すれば、入力画像よりも精密な情報を含んだ画像を復元することができる。
【0110】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の画像処理装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、またはこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の画像処理装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合または読み込む場合はネットワークを通じて取得または読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【0111】
なお、本願発明におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
【0112】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0113】
【図1】画素にスケーリングを含む変換を施した変形画素を示す図。
【図2】図1の変形画素を対応する位置に配置する様子を示す図。
【図3】変形された複数の画素がそれぞれ対応する位置に配置された様子を示す図。
【図4】POCSによるRECONSTRUCTIONについてのフローチャート。
【図5】MAPによるRECONSTRUCTIONについてのフローチャート。
【図6】実施形態の画像処理装置のブロック図。
【図7】実施形態の画像処理方法のフローチャート。
【図8】図7のS703の動作の一例を示すフローチャート。
【図9】図8のS802で設定される注目小ブロックの一例を示す図。
【図10】図8のS803で設定される参照ブロックの一例を示す図。
【図11】図8のS802で生成される拡大入力画像の一例を示す図。
【図12】図8のS804〜S805で探し出されるブロックの一例を示す図。
【図13】図8のS806での相似ブロックの一例を示す図。
【図14】再帰的ブロックマッチングによるサブピクセル対応位置の推定を説明するための図。
【図15】実施形態の図1とは異なる画像処理装置のブロック図。
【図16】入力画像の画素値が出力画像の画素値の重みつき積和値に等しい場合の追加する拘束式を説明するための図。
【図17】出力画像自身の画素値が出力画像の画素値の総和に等しい場合の追加する拘束式を説明するための図。
【符号の説明】
【0114】
102・・・変形画素、601・・・入出力受付部、602・・・画像入力部、603・・・画像出力部、604・・・一時記憶部、605・・・演算部、606・・・不揮発記憶部、901・・・画素、902・・・注目小ブロック、1001、1101・・・参照ブロック、1102・・・拡大入力画像、1201・・・見つかったブロック、1301・・・相似なブロック、1501・・・相似変換算出部、1502・・・画素対応付け部、1503・・・拘束条件設定部、1504・・・RECONSTRUCTION部。
【技術分野】
【0001】
本発明は、例えば、入力画像をより高い解像度に変換するための、画像処理方法、装置、およびプログラムに関する。
【背景技術】
【0002】
高い解像度のテレビやディスプレイが普及してきている。テレビやディスプレイは、画像を表示する場合、画像データの画素数をパネルの画素数に変換する。特に、画素数を増やす高解像度化の変換において、線形内挿よりも鮮鋭な画像が得られる方法として、複数のフレームの情報を用い、画像の撮像過程(劣化過程)の逆変換を考えて高解像度の画像を復元する方法(以下、RECONSTRUCTIONと呼ぶ)が知られている。
【0003】
具体的には、例えば、ある画素を中心として低解像度画像から数画素四方のブロック(例えば、横5画素×縦5画素のブロック)を取り出し、このブロックと同じ大きさで、含まれる画素が取り出したブロックと近い画素値を持つ部分を変換対象フレーム内で探索する。探索はサブピクセル精度で行う(例えば、非特許文献1参照)。探索後、見つかった対応ブロックの中心を対応点とする。これにより、他のフレームに対応する画面の点Aと変換対象フレームに対応する点Bとが同じ被写体の同じ位置として対応づけられる。以下、この対応づけのアルゴリズムをブロックマッチング法と呼ぶ。この対応は、点Aを始点、点Bを終点とする動きベクトルで表される。サブピクセル精度で探索を行うため、動きベクトルの始点は画素の位置であるが、終点は一般に画素がない位置になる。このような動きベクトルを低解像度画像のすべての画素について求め、また、他の低解像度画像についても同様に各画素を始点とする変換対象フレームへの動きベクトルを検出する。変換対象フレームへの動きベクトルが得られたら、各動きベクトルの終点に始点の画素値を変換対象フレームのサンプリング値として配置する。最後に、このように非一様に配置されたサンプリング点とその各点におけるサンプリング値から、格子状に一様に配置された高解像度画像の各画素におけるサンプリング値を求める。この変換(再構成)の方法は、多数あり、例えばNon-uniform interpolation法、POCS法、ML法やMAP法が知られている(例えば、非特許文献2参照)。MAP法では、サンプリング点とそのサンプリング値から得られる情報に加えて、画像に関する他の知識を用いた画質向上が可能である。画像の大部分が局所的に滑らかであるという事前知識は、出力画像のノイズを抑えるために利用できる。また、例えば、対象画像が人の顔などとわかっている場合には、人の顔に関する知識を統合することで、RECONSTRUCTIONの性能を向上できる。
【0004】
ところで、データ圧縮技術の1つとして、フラクタル圧縮と呼ばれる技術が知られている(例えば、非特許文献3参照)。この技術では、圧縮段階において画像をブロック単位に区切り、各ブロックで自己相似変換(self-transform)と呼ばれる変換のパラメータを求めておく。復元段階においては、任意の画像データ(例えば真っ黒な画像)を初期画像として、全ブロックについて変換を繰り返し施し、収束するまで自己相似変換を繰り返すと、元の画像が復元できる。自己相似変換とは、画像内での第1のブロック内の輝度パターンにスケーリングなどの変換を施したブロックが、その画像自身における第2のブロック内の輝度パターンに等しいと仮定したときに、第1のブロック内の輝度パターンを第2のブロック内の輝度パターンに貼り付ける変換を指す。この圧縮パラメータは、スケーリングや平行移動などから成る解像度非依存の変換である。したがって、得られた圧縮パラメータを利用すれば、別の解像度への復元を行うことも可能である。このような解像度の変換(フラクタルズーミング)を用いると、画像の撮像過程(劣化過程)は考慮されないが、線形内挿よりも鮮鋭な画像が得られることが実験的にわかっている。
【非特許文献1】M. Shimizu et al., “Precise Sub-pixel Estimation on Area-based Matching,” in Proc. IEEE International Conference on Computer Vision, pp.90-97, 2001.
【非特許文献2】S. C. Park et al., “Super-Resolution Image Reconstruction: A Technical Overview,” IEEE Signal Processing Magazine, pp.21-36, May 2003.
【非特許文献3】A. E. Jacquin, “Image Coding Based on a Fractal Theory of Iterated Contractive Image Transformations,’’ IEEE Transaction on Image Processing, pp. 18-30, Jan. 1992.
【発明の開示】
【発明が解決しようとする課題】
【0005】
入力された画像が低域通過フィルタ(LPF)などによって帯域制限され、残存するエイリアシング成分がない場合には、RECONSTRUCTIONを用いた超解像では鮮鋭な画像を得ることができない。その理由を次に述べる。入力された画像にはその解像度では表現できない情報(エイリアシング成分)が含まれている。これは入力された画像1枚ではノイズでしかない。しかし、多様なサブピクセル位置からそのエイリアシング成分を観測し、それらの劣化過程を考えて高解像度の画像を復元することで、そのエイリアシング成分が本来どのような信号であったかを推定することが可能になる。したがって、入力された画像にエイリアシングがないのであれば、RECONSTRUCTIONによって復元すべき画像は、入力された画像の解像度で表現可能な情報のみで表現されたものであり、補間によって生成されるものと本質的に同じものである。したがって、RECONSTRUCTIONによって得られる画像は特に鮮鋭とはならない。
【0006】
一方、フラクタルズーミングを使えば帯域制限によらず鮮鋭な画像を得られると考えられるが、やはり実用上の問題を抱えている。第1に、撮像による画像の劣化過程は無視されてしまう。例えば、レンズなど撮像系の劣化過程が既知であればそれに対応した復元を行うことが望ましく、また、被写体に動きがあるならシャッタースピードにあわせたモーションブラーを劣化過程として取り込むことが望ましいが、それらを取り込む手段がない。第2に、MAP法などで利用できる事前知識、例えば顔であるという知識を取り込む手段がない。
【0007】
本発明は、このような各背景技術の抱える課題に鑑み、エイリアシング成分がなく従来のRECONSTRUCTIONでは鮮鋭な画像が得られない場合でも、フラクタルズーミングのように鮮鋭な画像が得られ、フラクタルズーミングにあったような実用上の問題も解決する画像処理方法、装置、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上述の課題を解決するため、本発明の画像処理方法は、N次元空間(N:自然数)上のN次元座標値と、該N次元座標値における第1画素値との集合である処理対象画像データを入力する第1入力ステップと、出力解像度を入力する第2入力ステップと、前記第1画素値のうちの第2画素値を前記処理対象画像データ自身に対応付けるための、少なくとも縮小するスケーリングを含む変換である相似変換を求める第1算出ステップと、前記相似変換によって前記第2画素値を第3画素値として対応付ける第1対応付けステップと、前記第3画素値および前記相似変換に基づいて前記出力解像度における画素値の第1拘束条件を設定する第1設定ステップと、前記第1拘束条件を利用して前記処理対象画像データの前記出力解像度での画素値を推定する推定ステップと、を具備することを特徴とする。
【発明の効果】
【0009】
本発明の画像処理方法、装置、およびプログラムによれば、入力画像におけるエイリアシング成分の有無にかかわらず、劣化過程や事前知識の利用が可能なRECONSTRUCTIONにより、鮮鋭な画像を得ることができる。
【発明を実施するための最良の形態】
【0010】
以下、図面を参照しながら本発明の実施形態に係る画像処理方法、装置、およびプログラムについて詳細に説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
(概要)
フラクタルズーミングにおいて、RECONSTRUCTIONのように様々な要因を取り込むことができない理由は、フラクタルズーミングが画像圧縮の手法(フラクタル圧縮)をベースとして設計されたために、画像復元過程において、あるブロック内の輝度パターンに変換を施し、それを別のブロックに貼り付けるという操作が必須となっているためである。
【0011】
本実施形態では、画像のある部分に変換を施すと、画像中の別のある部分と一致するという考え方だけを用い、ブロックに変換を施して別のブロックに貼り付けるという手法そのものは用いない。ある画像内で、第1のブロック内にある画素に相似変換を施したものが、その画像自身の第2のブロック上に存在すると考え、その相似変換によって対応付けられた画素をRECONSTRUCTIONのサンプリング点として利用する。高解像度画像の復元には、フラクタル圧縮の復元過程を用いずに、一般的なRECONSTRUCTIONの枠組み(後述するPOCSやML、MAP法と呼ばれる高解像度画像の推定)を用いる。RECONSTRUCTIONの導入によって、第1のブロック内にある画素を撮像した際の劣化過程を考慮することも、他の事前知識と組み合わせることもできる。さらに、フラクタル圧縮の復元では不可能であった、他のフレームの画素情報を利用した高解像度化とフレーム内の相似変換を利用した高解像度化の自然な統合が可能となる。なお、フラクタルズーミングでは自己相似変換、つまり画像自身への相似変換のみを利用していたが、本実施形態では、画像自身への相似変換に加え、他の画像フレームから対象とする画像フレームへの相似変換についても同様に相似変換と考えて利用する。最も誤差の少ない相似変換を見つけるにあたり、メモリや計算時間が許すなら相似変換の候補は多いほうがよいから、自分自身と他の画像フレームの両方を利用したほうが、出力画質は高いと期待できる。
【0012】
(適用範囲、および定義)
本実施形態の画像処理方法は、入力画像の解像度を別の解像度の画像に変換すること、およびそれによって得られた画像を出力すること、例えばテレビやモニタへの出力、プリンタを介した紙への印刷、を行うものであり、本実施形態の装置およびプログラムは、本実施形態の画像処理方法を実施するための装置、およびコンピュータに実施させるためのプログラムである。
【0013】
本実施形態は特に2次元の画像に限定されず、例えば、画像を特定の方向に伸縮する1次元の変換、画像を水平・垂直方向に伸縮する2次元画像の変換、画像を2次元平面・時間あるいは2次元平面・奥行きについて伸縮する動画像あるいは3次元ボクセル画像の変換、画像を2次元平面・奥行き・時間について伸縮する3次元ボクセル動画像変換を含む。画像の座標系はN次元空間(N:自然数)と考える。N次元空間上の点をあらわす数値を座標値と呼ぶ。
【0014】
典型的には、画素を、N次元空間(N:自然数)内の微小な範囲として扱い、画素値を、画素という範囲内で、ある時間だけサンプリングした信号強度の積分値として扱う。便宜上、画素の中心位置を特に画素の位置と呼ぶことにする。画素は、その空間的な位置であるN次元の座標値と、その空間上の輝度や色を表す画素値の2つから成る。画素値は1次元以上の値で、例えば輝度では1次元、RGB色空間やYUV色空間では3次元、CMYK色空間では4次元の値である。また、動画像のように座標系に時間軸を含む場合でも、画素値のサンプリングはある時間(シャッタースピード)に対して信号を積分することによって行うと考える。なお、画素は必ずしも密に配置される必要はない。例えば、動画像の解像度変換においては、画素が配置される空間は水平・垂直と時間方向の3次元であるが、このとき、シャッタースピードがフレームレートより小さい場合には時間方向に隙間が現れる。また、例えば、撮像系が隣の画素の光の一部も積分値に加えてしまうなら、画素間には重なりがあることになる。これらの場合も含め、N次元空間内の微小な範囲を画素と呼ぶ。
【0015】
(基本アイディア:対応点を利用した高解像度画像の復元手法)
はじめに、本実施形態の基本アイディアを説明する。まず、図1に示すように、画像中の画素(矩形)101に対し、(最低でも、スケールを縮小するスケーリングを含む)何らかの変換を施した変形画素102を考える。次に、図2に示すように、画像中で、この変形画素102が対応すると考えられる場所を見つける。もしそのような場所が見つかれば、変形画素102を見つかった場所201に配置する。このような変形画素の配置を行うことで、図3に示すように、様々な場所に、様々に変形された画素301が配置されることになり、画素の配置は不規則ではあるものの、入力された画像単体と比べると情報が増える。ここで、変形画素のサイズは元の画素のサイズよりも小さいため、変形画素によって追加される情報は、入力画像よりも精密なカメラで撮像した情報になることが重要である。このように増えた情報を拘束条件として利用し、出力解像度にあわせて規則的に配置された画素の画素値を推定すれば、入力画像よりも精密な情報を含んだ画像が復元されると期待できる。これが本実施形態の基本アイディアである。以下に、このアイディアに基づく実施形態を具体的に示す。
【0016】
以下では、はじめに、入力画像の解像度を変換する手法、具体的には、入力画像から得られる、拘束条件に対応する拘束式を連立方程式として定式化し、それらをなるべく満たすような出力解像度の画像を推定するための手法について説明する。次に、先に図1〜図3を用いて概要を説明した、本実施形態に特有の、拘束式の追加手法について説明する。
【0017】
(対応点を利用した高解像度画像の復元手法)
解像度解析では、例えば、ぼけやダウンサンプリング(あるいはアップサンプリング)、ノイズにより、出力解像度の画像に変換が施されて、入力解像度の各画素が生成されたと考えて、元の出力解像度の画像を復元する。入力画像の各画素にインデックスi={1、2、3、・・・、L}を付与し、入力される画素値を下記(1)で表す。なお、画素がスカラー値でないなら、yiは縦ベクトルで表すものとする。例えば、画素がRGBの3次元で与えられるなら、3次元の縦ベクトルで表す。
【数1】
【0018】
出力信号にもインデックスj={1、2、3、・・・、M}を付与し、画素値を下記(2)で表す。
【数2】
【0019】
また、出力解像度の画像に施される変換をPoint Spread Function(PSF)と呼び、入力画素値は出力画素値の重みつき和で表す。求めたい値は下記(3)で表す画素値である。
【数3】
【0020】
このとき、各インデックスiについて、重みの係数を下記(4)とすれば、下記(5)式を立てることができる。(5)式が出力画素値を拘束する拘束式である。
【数4】
【0021】
【数5】
【0022】
入力画像以外に、出力画素値の重みつき和の値が推定できる拘束式が得られるなら、それらについてもインデックスを付与して式を追加し、追加した式の本数だけLの値を増やすことができる。この拘束式を得る手法については後述する。
【0023】
下記(6)で表すベクトル、下記(7)で表すベクトル、下記(8)で表す行列を導入し、各インデックスiに対する式をまとめて下記(9)式と表記する。
【数6】
【0024】
【数7】
【0025】
【数8】
【0026】
【数9】
【0027】
xを割り当てる手法として、擬似逆行列を用いて下記(10)式により求める手法が考えられる。
【数10】
【0028】
擬似逆行列を利用して直接xを割り当てるかわりに、例えばPOCSやMAP法を使うこともできる。Wとyを利用してxを割り当てることをRECONSTRUCTIONと呼ぶことにする。以下、RECONSTRUCTIONの具体例を説明する。
【0029】
(補間)
POCSやMAP法では繰り返し演算に基づく最適化を行うことが多く、このような最適化では初期値として仮のxが必要となる。仮のxは、例えば入力画像の補間により生成できる。どのような補間手法を用いてもかまわないが、例えば、次の手法が使える。
【0030】
(A)線形補間
既知の2点を用いて補間する。補間に用いる2点は、できるだけ補間すべき点の近くを用いることが望ましい。既知の2点の位置を下記(11)で表し、その画素値を下記(12)とし、補間すべき点の位置を下記(13)で表すと、補間値は下記(14)式で求められる。
【数11】
【0031】
【数12】
【0032】
【数13】
【0033】
【数14】
【0034】
(B)キュービックコンボリューション法
既知の等間隔に配置された4点を用いて補間する。補間に用いる4点は、補間位置を中心とした2以下の範囲に配置されているものとする。補間値は、各点に対し、補間位置を中心とした下記(15)で表す重みカーネルの値をかけてそれらの和を求めることで得られる。dは各点の補間位置からの距離を表す。γは補間関数を制御するパラメータで、例えばγ=−1.0あるいはγ=−0.5とする。
【数15】
【0035】
(バックプロジェクションやPOCS)
POCSによるRECONSTRUCTIONの流れの一例を図4に示す。そのアルゴリズムは次の通りである。このアルゴリズムは、例えば、後述する図6の演算部605が行う。
(ステップ1)仮のx信号を生成する(S401)。仮のx信号は、例えば入力画像の補間により生成できる。補間には、例えば線形補間やキュービックコンボリューション法が利用できる。
【0036】
(ステップ2)下記の式(16)を構成する第i番目の式は下記の式(17)の形で書ける。
【数16】
【0037】
【数17】
【0038】
ここで、下記(18)は重みを並べた横ベクトルで、下記(19)は入力として与えられる(S402)。
【数18】
【0039】
【数19】
【0040】
ノイズの影響をあまり受けずに下記(20)式のそれぞれを満たすxを求めるために、POCSでは、下記(21)のステップサイズおよび下記(22)の定数を別途与え、次の繰り返し演算を実行する(並列化なしの例:S403〜S404)。
【数20】
【0041】
【数21】
【0042】
【数22】
【0043】
なお、下記(23)はxの推定値を意味する。
【数23】
【0044】
【数24】
【0045】
下記(25)のステップサイズや下記(26)の定数はすべてのiに対して同じ値(例えば下記(27))でもよいし、例えば下記(28)式のように式ごとに変えてもよい。
【数25】
【0046】
【数26】
【0047】
【数27】
【0048】
【数28】
【0049】
(ステップ3)別途定めた回数だけステップ2を繰り返す(S405)。
(ステップ4)下記(29)の得られた推定画像を出力する(S406)。
【数29】
【0050】
(簡易RECONSTRUCTION)
なお、厳密なRECONSTRUCTIONを行うかわりに、次の重みつき加算手法を利用することもできる。重みつき加算手法では、適当なカーネル行列Kを準備し、各画素に対する画像xを下記(30)式により推定する。
【数30】
【0051】
カーネル行列Kは、理論上は例えばWの下記(31)に表す疑似逆行列を利用するところであるが、擬似逆行列の算出には多くの計算を必要とする。
【数31】
【0052】
そこでKとして、例えば、単に開始・終了時刻が近いサンプルに対して重みを与える(非零の要素を持つ)行列を用いる。ここで、Kの各行は補間の係数を表すため、その要素の合計値が1になるようにする。
【0053】
(MAPによるRECONSTRUCTION)
xの復元において、自然画像の性質、例えば隣り合う画素の輝度値が似ているといった知識を利用することもできる。その1例として、次に説明するMAP法によるxの推定がある。以下、図5に示した流れにしたがってMAP法を説明する。これは演算部605が行う。
【0054】
(MAP)
(ステップ1)仮のx信号を生成する(S401)。仮のxは、例えば入力画像の補間により生成できる。
【0055】
(ステップ2)下記(32)の等式に対する誤差が大きいほどエネルギーが高くなる第1の項と、予め準備した自然画像の一般的な性質に対する画像xの誤差が大きいほどエネルギーが高くなる第2の項の2つを結合したエネルギー関数を考え、それを最小化する画像xを探す。換言すればエネルギー関数は、下記(32)式の拘束条件からのずれが大きいほどエネルギー値が大きくなる第1のエネルギー項と、処理対象画像データに関する事前知識からのずれが大きいほどエネルギー値が大きくなる第2のエネルギー項とを含む。
【数32】
【0056】
例えば、自然画像の一般的な性質として近傍の画素の輝度値があまり変化しないと仮定すると、エネルギー関数として下記(33)式を立てることができる。ここで、ノルムの右下の1はL1ノルムを表し、λmは前記第2の項に対する重み、Pmは平行移動を表す行列である。
【数33】
【0057】
mは考える平行移動のバリエーションを表し、例えばPmとして
P1:水平方向の平行移動
P2:垂直方向の平行移動
の2通りを考えれば、第2項は縦横それぞれについて隣接画素のずれの大きさの和を求め、その合計値をλ(=λ1=λ2)で重みづけした値になる。
【0058】
Eを最小化する手法として例えばsteepest descent法が利用できる。steepest descent法とは、xの下記(34)の推定値をエネルギー関数の勾配方向に−β倍したステップ進める操作を繰り返す手法であり、その更新は下記(35)式により行える。
【数34】
【0059】
【数35】
【0060】
具体的な手順は次の通りである。入力として、Wおよびyを与える(S402)。なお、上記の式をそのまま実行する場合は、まず、エネルギー関数の勾配ベクトルを保持するバッファ(一時記憶部604)を用意してゼロで初期化する(S501)。次に、下記(36)の各行の式、および下記(37)の各行の式を評価してエネルギー関数の勾配ベクトルを更新する(S502〜S503)。
【数36】
【0061】
【数37】
【0062】
すべての式の評価が終わった段階で、β倍を行い、それを下記(38)の推定値から減ずる(S504)。
【数38】
【0063】
なお、上記の式をそのまま実行する代わりに、下記(39)の各行の式、および下記(40)の各行の式について、それをエネルギー関数の勾配方向を構成する式として(勾配項から注目する式以外を除去して)上記の更新式を順次適用することで、下記(41)の推定値を逐次更新してもよい(この場合は、先にPOCSとして説明したS501〜S502と同様の流れになる)。
【数39】
【0064】
【数40】
【0065】
【数41】
【0066】
なお、下記(42)の初期値は、変換対象フレームに線形補間やキュービックコンボリューション法などを適用して与える。
【数42】
【0067】
(ステップ3)別途定めた回数だけステップ2を繰り返す(S405)。
【0068】
(ステップ4)画像出力部603が下記(43)の得られた推定高解像度画像を出力する(S406)。
【数43】
【0069】
なお、ここで示したMAP法のエネルギー関数は一例であり、このエネルギー関数でなくてもかまわない。例えば、エネルギー関数のいずれのL1ノルムについても、それを他のノルム(例えばL2ノルム)に置き換えることができる。また、例えば、事前知識である第2項を用いなくてもよい。この手法は特にML法と呼ばれることもあり、先のエネルギー関数でλm=0とした場合に相当する。また、エネルギー関数がL2ノルムで表されている場合は、例えば、線形代数でよく知られている共役勾配法を利用して解くことも可能である。
【0070】
(帯域制限と出力画像)
以上の流れにより、出力画像xを推定することが可能になる。しかし、この手法で出力画像を推定しても、常に鮮鋭な画像が得られるわけではない。
【0071】
出力画像として推定されるxは、追加される拘束式により変化する。従来、追加される拘束式は、例えば動画像の他のフレームの画素を入力画像(動画像で対象とするフレーム)上の非整数画素位置に配置することにより与えられてきた。この手法により拘束式の追加を行った場合、その画素値がサンプリング過程(撮像過程)において帯域制限されエイリアシング成分が存在しない信号のサンプリング値であるのなら、追加された拘束式は、入力画像の帯域外の周波数成分を含まないxを与えるためのものとなる。したがって、これらの拘束式に基づいて推定されるxは、原理的には、補間によって生成される信号と同様に、入力画像の帯域内の信号を出力解像度でサンプリングした画素値として与えられる。つまり、入力画像の各画素値(あるいは、動画像の他のフレームの各画素値)にエイリアシング成分が存在しないのなら、鮮鋭な出力画像は得られない。
【0072】
(本実施形態の流れ)
本実施形態では、入力画像中の画素のサイズを小さくした変形画素を考え、その変形画素を入力画像自身の上に配置し、それに基づいて新たな拘束式をたてる。通常の画素ではなく、少なくとも縮小を含む変形画素を配置することによって、入力画像の画素よりも高い周波数成分を作り出せる。配置された変形画素は、従来と同様のRECONSTRUCTIONによって、出力解像度の各画素値の推定に利用できる。本実施形態では、変形の典型的な例として、縮小や回転を含むアファイン変換(affine transform)について説明する。なお、この変形は、変形をあらわし座標値(あるいは画素値)を入出力とする関数をξとするとき、ある1未満の定数Lに対し、変形の対象となるブロックに属するあらゆる座標値(画素値の変換であれば画素値)a,bが下記(44)式を満たせば何でも良い。
【数44】
【0073】
ここで、実施形態の画像処理装置について図6を参照して説明する。図6は、汎用的なCPUを用いたコンピュータ(TVやDVDプレーヤ、ハードディスクレコーダを含む)で実施する場合の構成の一例である。
実施形態の画像処理装置は、入出力受付部601、画像入力部602、画像出力部603、一時記憶部604、演算部605、不揮発記憶部606を含む。
【0074】
入出力受付部601は、ユーザから指示、および例えば出力解像度を受け付ける。入出力受付部601は、例えば、マウス、キーボードやリモコンから受け付けた指示を受け付ける。入出力受付部601は、プログラムの起動を指示する信号を受け付ける。
画像入力部602は、N次元空間上のN次元座標値と、このN次元座標値での画素値の集合である処理対象画像データを受け付ける。
不揮発記憶部606は、後に図を参照して説明するプログラムを格納している。不揮発記憶部606は、例えば、例えばハードディスクやROMである。不揮発記憶部606は、上述した、画像データを予め記憶していてもよい。
一時記憶部604は、入出力受付部601からユーザの指示を受けて不揮発記憶部606からプログラムを一時的に記憶し、演算部605に提供する。一時記憶部604は、演算部605が演算した結果を一時的に記憶できる。
演算部605は、一時記憶部604からプログラムを受け取り、プログラムを実行する。実施形態の画像処理装置の主な動作はすべて演算部605が行う。演算部605は、例えば、処理対象画像データに含まれるある画素値を処理対象画像データ自身に対応付けるための、少なくとも縮小するスケーリングを含む変換である相似変換を求める。
画像出力部603は、演算部605によって得られた結果を出力する。画像出力部603は例えばモニタである。
【0075】
実施形態の画像処理装置の入力は、処理対象画像データのみの1枚であるか、あるいは、処理対象画像データのほかに、対象物を別の角度、別の時刻などから撮像した画像データを加えた複数枚の画像データである。実施形態の画像処理装置の出力は、処理対象画像データを解像度変換して得られる画像データ1枚である。
【0076】
なお以下の説明中、「入力画像パターン」とは、仮対応点を中心とした適当な大きさ(例、上下左右各1画素を加えた3x3画素)のブロック内の画素値を並べたデータ(例、9個の画素値で、各画素値は対象画像データから補間された値)である。「候補画像パターン」とは入力画像パターンと同じ大きさのブロック内の画素値を並べたデータ(例、9個の画素値で、各画素値はから補間せずコピーされた値)であり、通常は複数の候補画像パターンを切り出す。また「ブロック」という言葉は特に正方形に限定されず、任意の形状を持つ図形、例えば長方形や円、楕円やひし形であってもよい。
【0077】
実施形態の画像処理装置の画像処理方法のフローチャートを図7に示し、その方法を以下に説明する。
この画像処理方法は、例えば、図6の汎用CPU上の演算部605で実行させてもよいし、図15のような装置上で実行させてもよい。はじめに、入力画像つまり解像度変換の対象とする画像(S701)、および所望の出力解像度を入力する(S702)。これらの入力を利用し、入力画像中の複数の画素に対応する相似変換を求める(S703)。図15では、S703は相似変換算出部1501が実行する。得られた相似変換を用いると、設定した小ブロック内の各画素について、求めた相似変換を施したPSFを用いて、上記(5)式の拘束式を追加できる(なお、入力画像の各画素に対して拘束式を追加することも、出力画像の各画素に対して拘束式を追加することもできる)。図15では、拘束式の追加は、相似変換に基づいて画素を入力画像上に配置する(対応付ける)操作を画素対応付け部1502が行い、配置された画素とそのPSFを利用して拘束式を拘束条件設定部1503が設定することにより行える。入力画像自身の与える拘束式と追加された拘束式を用いてRECONSTRUCTIONを実行し、出力画像の各画素値を推定する(S704)。図15では、S704のRECONSTRUCTIONはRECONSTRUCTION部1504が行い、得られた画像データを出力する。
【0078】
ステップS703は、例えば汎用CPU上でシングルスレッド処理を行う場合、図8の流れで行う。
図8では、はじめに処理対象画像データにスケーリングを施したスケールド画像を生成する(S801)。ステッスケールド画像はプS804およびS805で使うために最初に生成しているが、このスケールド画像は最初に生成しなくてもよい。例えば、ステップS804の直前で、ブロックマッチングの探索に必要な部分だけを生成してもよい。あるいは、S801を実行せずに、S804において、画像に候補とする各アファイン変換を適用し、候補ブロックを生成してよい。
【0079】
次に、図9に示すように、入力画像中の1画素901あるいは小ブロックを注目小ブロック902として設定する(S802)。図10に示すように、注目小ブロック902を中心とした参照ブロック1001を設定する(S803)。参照ブロック1001と相似なブロック(対応ブロック)を、入力画像自身から探す。例えば、図11に示すように、入力画像を2倍に拡大した拡大入力画像1102を補間によって生成しておき(S801)、図12に示すように、入力画像中の参照ブロック1101と最も類似した絵柄を持つ拡大入力画像中のブロック1201を、拡大入力画像に設定した候補ブロックの中から、ブロックマッチングとサブピクセル推定を組み合わせて探す(S804〜S805)。
【0080】
ブロック誤差が最小となるブロックにおいて、その誤差が別途定めたしきい値よりも小さいのなら、図13に示すように、拡大入力画像の大きさを元に戻した時のブロック1301を対応ブロックとする。そうでなければ、相似なブロック1301は存在しないと判定する。なお、相似なブロックの存在判定はこの手法でなくてもよく、また、小ブロック中の各画素について別々に判定してもよい。例えば、対応ブロック中の小ブロックの各画素について、小ブロック画素の画素値を、(対応ブロックが配置された、元の大きさの)入力画像中で近傍の(例えば4−Nearest Neighborの)画素の画素値と比べたときに、近傍の画素値集合の最大値から最小値の間に小ブロック画素の画素値があるなら、その小ブロック画素を受理し、そうでないなら、その小ブロック画素を不受理としてもよい。なお、このステップは相似でないブロックを判定するステップであるが、単にすべてを相似であるとみなしてもよい。あるいは、適当な誤差値(例えば、ブロック誤差の大きさ)を(例えば指数関数を用いて)0〜1の値にマップし、それをRECONSTRUCTIONにおいて式の重みとして利用してもよい(その場合、各係数および観測画素値を重み値で除した式を加える)。
【0081】
次に、ステップS806でもし相似なブロックが見つかれば、参照ブロック中の小ブロックから、対応ブロック中の小ブロックへの変換を相似変換として出力する(S807)。入力画像にまだ処理していない小ブロックがあるなら、注目小ブロックを切り替えてS803に戻る。そうでなければ、S703を終了する。
【0082】
なお、本実施形態の方法をASICなどで実装し、高解像度の出力装置(ハイビジョンテレビやモニタ、高解像度プロジェクタなど)に接続することで、低解像度の動画像(例えば、DVD映像)の各フレームを入力画像として逐次与えながら、それらにS701〜S704を適用して高解像度化し、得られたフレームを出力装置に出力することで、低解像度の動画像を高い品質でストリーミング再生できる。
【0083】
(追加する拘束式)
S703で相似変換を求めた場合に追加する式は2通り考えられ(拘束式を入力画像の各画素に対して追加する方法と、出力画像の各画素に対して追加する方法の2通り)、そのいずれを用いても良い。その1つは、入力画像の画素値が出力画像の画素値の重みつき積和値に等しいと考えた式(図16)であり、下記(45)式のように表せる。
【数45】
【0084】
この拘束式を追加する場合は、wは入力画像の画素に対して定義されたPSFに、相似変換を適用した場合の重みになる。言い換えれば、この方法ではブロックマッチングは入力画像中に設定した小ブロックで行い、ブロックマッチングで得られた相似変換を利用して、入力画像の画素値と出力画像の複数の画素値の間に成り立つ式を立てる。
【0085】
もう1つは、出力画像自身の画素値が出力画像の画素値の重みつき積和値に等しいと考えた式(図17)を用いて、下記(46)のように拘束式を立てることである(xの推定では、移項により従来の形に帰着できる)。
【数46】
【0086】
この拘束式を追加する場合は、wを出力画像の画素に対して定義されたPSFに、相似変換を適用した場合の重みになる。言い換えれば、この方法ではブロックマッチングは入力画像中に設定した小ブロックで行い、ブロックマッチングで得られた相似変換を利用して、出力画像の画素値間での関係式を立てる。図16の場合と比較すると、図17の場合では個々のPSFは小さくなる。
【0087】
なお、出力画像自身の画素値にもPSFを考えて下記(47)のように式を立てても良い。
【数47】
【0088】
このような定式化は、例えば、出力画像内での非整数画素位置から非整数画素位置への対応付けを表現したい場合に利用できる(xの推定では、移項により従来の形に帰着できる)。
【0089】
また、フラクタル圧縮のように、画素値についても相似変換を考えることもできる。例えば、入力画像の画素値が出力画像の画素値の重みつき積和値に等しいと考えた式において画素値についての相似変換を考えるなら、係数の総和が1よりも小さいwを重みとした出力画素値の重みつき積和値に定数を加算した値が、入力画像の画素値に等しい、という拘束式を立てることになる。入力画像の画素値が出力画像の画素値の重みつき積和値に等しいと考えた式に、画素値の相似変換を加えた拘束式は下記(48)の形で表せる。
【数48】
【0090】
出力画像の画素値が出力画像の画素値の総和に等しいと考えた式に、画素値の相似変換を加えた拘束式は下記(49)の形で表せる。
【数49】
【0091】
これらの式は、定数項を左辺に移項し、左辺にある変数xを右辺に移項すれば通常のRECONSTRUCTIONで解くことができる。なお、画素値の相似変換を用いる場合は、画素値の縮小率が1よりも小さい変換、つまり下記(50)式を満たすような相似変換を求めるとよい。
【数50】
【0092】
(相似変換の算出:モノクロ&RGB画像)
S804〜S805の例では、対応するブロックを探すために、ブロックマッチングとサブピクセル推定を組み合わせて用いた。これらの手法を以下に述べる。
ブロックマッチングでは、まず、拡大入力画像に適当な探索範囲を設定し、その範囲内で1画素ずつ(あるいは、予め定めた適当な間隔ずつ)ブロックをずらしながら、各ブロック内の輝度パターンを取り出して候補ブロックとする。次に、生成した候補画像パターンのうち、参照ブロックとのブロック誤差がなるべく小さいブロックを探す。ブロック誤差としては、例えば、各画素値の差のノルムを総和したもの(例えばSSDやSAD)や、正規化相互相関が利用できる。探索範囲は画面全体としてもよいし、画面の一部、例えば参照ブロックの近くに制限してもよい。また、RGBやYUVのように、複数の色から成るマルチチャネル画像では、各チャネルのブロック誤差の重みつき和を求めてブロック誤差としてもよい。また、フラクタル圧縮のように座標系の相似変換に加えて画素値にも同様の変換を施す場合には、ブロック誤差の算出時に画素値の変換を考慮する。これは次に述べるサブピクセル推定でも同様である。画素値の変換を考慮するとは、具体的には、例えば、ブロック誤差の算出前に、候補とする参照ブロックの画素値に相似変換を加えておく。候補とする相似変換は、例えば、wの総和値である画素値の縮小率と定数項の候補を適当に組み合わせて生成する。具体的には、例えば、画素値の縮小率を{0.8、0.7、0.5}のいずれか、定数を参照ブロックの平均値Iavgとした3通りを候補とすることができる。
【0093】
サブピクセル推定では、ブロックマッチングによって得られたブロックに残る、候補ブロックの配置間隔よりも小さな誤差を修正する。ずれの推定手法としては、例えば、2次元の画像において、バイナリサーチを行う手法が利用できる。その手法の1つは、水平・垂直方向それぞれについて、1/2、1/4、1/8のように精度を上げながら繰り返しバイナリサーチを行う手法である。あるいは、例えば、現在のブロックの推定位置を(Δx、Δy)1404としたときに、(Δx、Δy)、(Δx−ε、Δy)、(Δx+ε、Δy)、(Δx、Δy−ε)、(Δx、Δy+ε)の5点に対するブロック誤差、あるいは(Δx、Δy)、(Δx−ε、Δy−ε)、(Δx−ε、Δy)、(Δx−ε、Δy+ε)、(Δx、Δy−ε)、(Δx、Δy+ε)、(Δx+ε、Δy−ε)、(Δx+ε、Δy)、(Δx+ε、Δy+ε)の9点に対するブロック誤差を評価し、それらのうちブロック誤差が最も小さくなる位置を選択する操作を、εを小さくしながら所望のεに達するまで繰り返してもよい。ここで述べたεとしては、例えば、最初に0.5を設定し、以降の操作では前回のεを0.5倍した値を新しいεとして使うことができる。例えば5点に対するブロック誤差を用いる場合は、図14に示すように、まずε=0.5の候補位置1402の4点と元の位置1404についてブロック誤差を評価し(元の位置のブロック誤差は計算済みの値が使える)、そのブロック誤差が最も小さくなるブロックの位置を選択する。ε=0.25以下についても同様の操作を繰り返す。なお、サブピクセル位置に対するブロック誤差の評価には、先に参照ブロックの生成において説明したように、補間によって入力画像と同じ解像度のブロックを生成し、それを評価に用いる。
【0094】
なお、サブピクセルずれの修正手法はこの手法でなくてもよい。例えば、位置とブロック誤差の値の関係が予め決めた誤差関数(例えば、区分的な直線や2次曲線)で表されると仮定し、選択されたブロックおよびその周辺の候補ブロックのブロック誤差を利用してそのパラメータを推定したうえで、ブロックの位置を誤差関数の極小位置に修正することでも行える。
【0095】
(2倍、平行移動以外の変換に対応する例)
先に説明した例では、S804〜S805において拡大率を2倍に固定し、平行移動したブロックのみを候補ブロックとした。候補ブロックの拡大率は任意の整数倍率にしてもよいし、非整数倍率としてもよい。また、スケーリングに加えて回転やアファイン変換を考慮してもよい。具体的には、例えば、S804〜S805において、(2倍、回転0度)、(2倍、回転90度)、(2倍、回転180度)、(2倍、回転270度)、(3倍、回転0度)、(3倍、回転90度)、(3倍、回転180度)、(3倍、回転270度)のそれぞれについて平行移動量を一定の範囲で変化させたブロックを候補ブロックとして、それらのうちでブロック誤差が最小となるブロックを選択してもよい。
【0096】
(対応画素の選別)
上記の説明では、すべての画素について相似変換を算出した。ところで、拡大された出力画像を人の目で見た場合、主にエッジ部が鮮鋭であれば、画像全体も鮮鋭であると感じることが多い。一方、画像のテクスチャ部は、エッジ部などと比べ画像中で相似な図形を見つけにくく、エッジ部と比べると、ブロックマッチングを行っても見つからない可能性が高い。ブロックマッチングを行っても対応するブロックが得られなかった場合は処理量が無駄に増えていることになるから、処理量に制約がある場合(例えば、動画像の1フレームを1/60秒以内に処理しなければならない場合等)には、すべての画素について処理するのではなく、効果の高い画素について処理することで、少ない処理量での効果を大きくできる。具体例として、Harrisのコーナ検出に基づくエッジ部の分離手法を次に説明する。画素の近傍(例えば、画素とその周辺8画素の9つの位置)で水平・垂直方向の離散微分値(隣接画素間の差分値)を求め、それらに基づく次の(51)式の共分散行列を求める。
【数51】
【0097】
Σは計算の対象とする画素すべての総和、Iは注目する画素の画素値、右下のx、yはそれぞれx、y方向の離散微分値を表す。この行列の2つの固有値により、画素が平坦部、エッジ部、コーナ・テクスチャ部のいずれに属するかを区別できることが知られている(Harrisのコーナ検出)。この2つの固有値(あるいは、トレースと行列式の2つの値)が、予め定めた範囲にある場合のみ、それをエッジ部と判定し処理すれば、本実施形態の効果を保ちながら、処理量を削減できる。
【0098】
(複数フレーム超解像・プライア(事前知識)との協調)
本実施形態は、相似変換は利用するが、フラクタルズーミングと異なり、RECONSTRUCTIONを利用した超解像であるため、他の任意の手法で得られた対応点に基づく拘束式との同時最適化が可能である(単に拘束式を加えればよい)。フレーム間の動きの推定を用いた手法は、「S. C. Park et al., “Super-Resolution Image Reconstruction: A Technical Overview,” IEEE Signal Processing Magazine, pp.21-36, May 2003.」にサーベイが与えられており、これらの手法で増やした拘束式はそのまま利用できる。これらの手法では、対象を動画像やステレオ画像など複数のフレームを持つ画像とし、他のフレームの画素から対象とするフレームのサブピクセル位置への動きを推定することで、拘束式を増やしている。
【0099】
また、最初に対象とするフレームのサブピクセル位置に仮の対応点を設定し、それに基づいて他のフレームで対応する画素を求め、最後にそのサブピクセル位置を修正することでも、拘束式を増やすことが可能である。具体的には、例えば、次の手法で拘束式を増やす。
【0100】
(ステップ1)対象フレーム、および1つ以上の他のフレームを入力する。なお、他のフレームは、対象フレーム自身であってもよい。例えば、他のフレームを対象フレーム自身の1枚のみとしてもよい。
【0101】
(ステップ2)対象フレームに対し、対応点が欲しい位置を決める。この位置は、例えば、出力解像度における各画素位置とすることができる。
【0102】
(ステップ3)仮対応点に対応する輝度パターンを取得する。具体的には、例えば、仮対応点を基準とした別途定めた上下左右の範囲(ブロック)を考え、ブロック内の入力画像パターン(以下、仮対応ブロックと呼ぶ)を、補間により入力解像度と同じ画素間隔の輝度パターンとして生成する。例えば、仮対応点が入力解像度の座標系で(7.6、6.3)の位置にあり、その位置を中心とした3x3画素のブロックを得るのであれば、入力解像度の座標系で(6.6、5.3)、(7.6、5.3)、(8.6、5.3)、(6.6、6.3)、(7.6、6.3)、(8.6、6.3)、(6.6、7.3)、(7.6、7.3)、(8.6、7.3)の9点に対応する輝度を、補間により求める。なお、便宜上ブロックという言葉を用いたが長方形だけでなく任意の形状、例えば2次元画像であれば円や楕円、ひし形のような形でもよい。
【0103】
(ステップ4)他のフレームに適当な探索範囲を設定し、その範囲内で1画素ずつブロックをずらしながら、各ブロック内の輝度パターンを取り出して候補ブロックとする。生成した候補ブロックのうち、仮対応ブロックとのブロック誤差がなるべく小さいブロック(推定ブロック)を探す。ブロック誤差としては、例えば、各画素値の差のノルムを総和したもの(例えばSSDやSAD)や、正規化相互相関が利用できる。
【0104】
(ステップ5)推定ブロックとのブロック誤差が小さくなるように、仮対応ブロックにサブピクセル修正を施し、対応ブロックを得る(なお、このステップは必須ではない)。サブピクセル修正の手法としては、バイナリサーチなど、先にブロックマッチングで述べた手法と同じ手法が利用できる。
【0105】
(ステップ6)推定ブロックの中心にある画素が対応ブロックの中心のサブピクセル位置に配置されていると考えて、拘束式を増やす。
【0106】
これの手法により増やした拘束式を用いることで、例えば、相似変換が見つかった部分は本実施形態を利用し、そうでない部分は他の手法を用いることが可能になる。
【0107】
なお、先に述べたように、本実施形態ではRECONSTRUCTIONの部分は何でもよいし、他のフレームにより増やした拘束式に加え、対象物の事前知識を用いてもよい。例えば、「S. Baker et al., Limits on Super-Resolution and How to Break Them, IEEE Transaction on Pattern Analysis and Machine Intelligence, vol. 24, no. 8, Sept. 2002.」の手法を用いれば、顔の事前知識を組み込むことが可能になる。もちろん、本実施形態と顔の事前知識を組み合わせ、1枚での超解像を行ってもよい。
【0108】
以上に説明したように、本実施形態を用いれば、入力画像におけるエイリアシング成分の有無にかかわらず、劣化過程や事前知識の利用が可能なRECONSTRUCTIONにより、鮮鋭な画像が得られる。
【0109】
以上に示した実施形態によれば、変形画素のサイズを元の画素のサイズよりも小さくすることにより、変形画素によって追加される情報は入力された画像単体よりも情報が増える。このように増えた情報を拘束条件として利用し、出力解像度にあわせて規則的に配置された画素の画素値を推定すれば、入力画像よりも精密な情報を含んだ画像を復元することができる。
【0110】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の画像処理装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、またはこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の画像処理装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合または読み込む場合はネットワークを通じて取得または読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【0111】
なお、本願発明におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
【0112】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0113】
【図1】画素にスケーリングを含む変換を施した変形画素を示す図。
【図2】図1の変形画素を対応する位置に配置する様子を示す図。
【図3】変形された複数の画素がそれぞれ対応する位置に配置された様子を示す図。
【図4】POCSによるRECONSTRUCTIONについてのフローチャート。
【図5】MAPによるRECONSTRUCTIONについてのフローチャート。
【図6】実施形態の画像処理装置のブロック図。
【図7】実施形態の画像処理方法のフローチャート。
【図8】図7のS703の動作の一例を示すフローチャート。
【図9】図8のS802で設定される注目小ブロックの一例を示す図。
【図10】図8のS803で設定される参照ブロックの一例を示す図。
【図11】図8のS802で生成される拡大入力画像の一例を示す図。
【図12】図8のS804〜S805で探し出されるブロックの一例を示す図。
【図13】図8のS806での相似ブロックの一例を示す図。
【図14】再帰的ブロックマッチングによるサブピクセル対応位置の推定を説明するための図。
【図15】実施形態の図1とは異なる画像処理装置のブロック図。
【図16】入力画像の画素値が出力画像の画素値の重みつき積和値に等しい場合の追加する拘束式を説明するための図。
【図17】出力画像自身の画素値が出力画像の画素値の総和に等しい場合の追加する拘束式を説明するための図。
【符号の説明】
【0114】
102・・・変形画素、601・・・入出力受付部、602・・・画像入力部、603・・・画像出力部、604・・・一時記憶部、605・・・演算部、606・・・不揮発記憶部、901・・・画素、902・・・注目小ブロック、1001、1101・・・参照ブロック、1102・・・拡大入力画像、1201・・・見つかったブロック、1301・・・相似なブロック、1501・・・相似変換算出部、1502・・・画素対応付け部、1503・・・拘束条件設定部、1504・・・RECONSTRUCTION部。
【特許請求の範囲】
【請求項1】
N次元空間(N:自然数)上のN次元座標値と、該N次元座標値における第1画素値との集合である処理対象画像データを入力する第1入力ステップと、
出力解像度を入力する第2入力ステップと、
前記第1画素値のうちの第2画素値を前記処理対象画像データ自身に対応付けるための、少なくとも縮小するスケーリングを含む変換である相似変換を求める第1算出ステップと、
前記相似変換によって前記第2画素値を第3画素値として対応付ける第1対応付けステップと、
前記第3画素値および前記相似変換に基づいて前記出力解像度における画素値の第1拘束条件を設定する第1設定ステップと、
前記第1拘束条件を利用して前記処理対象画像データの前記出力解像度での画素値を推定する推定ステップと、を具備することを特徴とする画像処理方法。
【請求項2】
前記N次元座標値と、該N次元座標値における前記第1画素値とは異なる第4画素値との集合である参照画像データを入力する第3入力ステップと、
前記第4画素値のうちの第5画素値を前記処理対象画像データに対応付けるための参照画素変換を求める第2算出ステップと、
前記参照画素変換によって前記第5画素値を第6画素値として対応付ける第2対応付けステップと、
前記推定ステップは、第1拘束条件に加え、前記第6画素値および前記参照画素変換に基づく、前記出力解像度における画素値の第2拘束条件を利用して、前記処理対象画像データの前記出力解像度における画素値を推定する推定ステップと、を具備することを特徴とする請求項1に記載の画像処理方法。
【請求項3】
前記推定ステップは、前記第1拘束条件からのずれが大きいほどエネルギー値が大きくなる第1のエネルギー項と、前記処理対象画像データに関する事前知識からのずれが大きいほどエネルギー値が大きくなる第2のエネルギー項とを含むエネルギー関数の関数値が小さくなるような画素値の集合を推定し、該集合を出力画像とすることを特徴とする請求項1に記載の画像処理方法。
【請求項4】
前記第1算出ステップは、
前記処理対象画像データに注目画素を設定し、該注目画素を中心とする参照ブロックを設定する第2設定ステップと、
前記処理対象画像データにスケーリングを施したスケールド画像データを得るスケーリングステップと、
前記スケールド画像データ内に複数の候補ブロックを設定する第3設定ステップと、
前記複数の候補ブロックから、前記参照ブロック内の画素値のパターンの差が最も小さい類似候補ブロック選択する選択ステップと、
類似候補ブロックに前記スケーリングの逆変換を施して対応ブロックを生成する生成ステップと、
前記参照ブロック内のブロックから前記対応ブロック内のブロックへの変換を相似変換として出力する出力ステップと、を具備することを特徴とする請求項1に記載の画像処理方法。
【請求項5】
前記スケーリングステップは、前記スケーリングを2以上の整数倍率とすることを特徴とする請求項4に記載の画像処理方法。
【請求項6】
前記スケーリングステップは、さらに、前記処理対象画像データを回転する変換および前記処理対象画像データに対するアファイン変換のうちの少なくとも1以上の変換を施して、スケールド画像データを生成することを特徴とする請求項4または請求項5に記載の画像処理方法。
【請求項7】
前記スケーリングステップは、処理対象画像データの座標値にスケーリングを施すことを特徴とする請求項4から請求項6のいずれか1項に記載の画像処理方法。
【請求項8】
前記スケーリングステップは、処理対象画像データの画素値にスケーリングを施すことを特徴とする請求項4から請求項6のいずれか1項に記載の画像処理方法。
【請求項9】
N次元空間(N:自然数)上のN次元座標値と、該N次元座標値における第1画素値との集合である処理対象画像データを入力する第1入力手段と、
出力解像度を入力する第2入力手段と、
前記第1画素値のうちの第2画素値を前記処理対象画像データ自身に対応付けるための、少なくともスケーリングを含む変換である相似変換を求める算出手段と、
前記相似変換によって前記第2画素値を第3画素値として対応付ける対応付け手段と、
前記第3画素値および前記相似変換に基づいて前記出力解像度における画素値の第1拘束条件を設定する設定手段と、
前記第1拘束条件を利用して前記処理対象画像データの前記出力解像度における画素値を推定する推定手段と、を具備することを特徴とする画像処理装置。
【請求項10】
動画像の各フレームを前記処理対象画像データとし、該処理対象画像データを時系列にしたがって前記出力解像度での画素値を推定し、推定後の画像を画像出力装置に出力する画像出力手段をさらに具備することを特徴とする請求項9に記載の画像処理装置。
【請求項11】
コンピュータを、
N次元空間(N:自然数)上のN次元座標値と、該N次元座標値における第1画素値との集合である処理対象画像データを入力する第1入力手段と、
出力解像度を入力する第2入力手段と、
前記第1画素値のうちの第2画素値を前記処理対象画像データ自身に対応付けるための、少なくともスケーリングを含む変換である相似変換を求める算出手段と、
前記相似変換によって前記第2画素値を第3画素値として対応付ける対応付け手段と、
前記第3画素値および前記相似変換に基づいて前記出力解像度における画素値の第1拘束条件を設定する設定手段と、
前記第1拘束条件を利用して前記処理対象画像データの前記出力解像度における画素値を推定する推定手段として機能させるための画像処理プログラム。
【請求項1】
N次元空間(N:自然数)上のN次元座標値と、該N次元座標値における第1画素値との集合である処理対象画像データを入力する第1入力ステップと、
出力解像度を入力する第2入力ステップと、
前記第1画素値のうちの第2画素値を前記処理対象画像データ自身に対応付けるための、少なくとも縮小するスケーリングを含む変換である相似変換を求める第1算出ステップと、
前記相似変換によって前記第2画素値を第3画素値として対応付ける第1対応付けステップと、
前記第3画素値および前記相似変換に基づいて前記出力解像度における画素値の第1拘束条件を設定する第1設定ステップと、
前記第1拘束条件を利用して前記処理対象画像データの前記出力解像度での画素値を推定する推定ステップと、を具備することを特徴とする画像処理方法。
【請求項2】
前記N次元座標値と、該N次元座標値における前記第1画素値とは異なる第4画素値との集合である参照画像データを入力する第3入力ステップと、
前記第4画素値のうちの第5画素値を前記処理対象画像データに対応付けるための参照画素変換を求める第2算出ステップと、
前記参照画素変換によって前記第5画素値を第6画素値として対応付ける第2対応付けステップと、
前記推定ステップは、第1拘束条件に加え、前記第6画素値および前記参照画素変換に基づく、前記出力解像度における画素値の第2拘束条件を利用して、前記処理対象画像データの前記出力解像度における画素値を推定する推定ステップと、を具備することを特徴とする請求項1に記載の画像処理方法。
【請求項3】
前記推定ステップは、前記第1拘束条件からのずれが大きいほどエネルギー値が大きくなる第1のエネルギー項と、前記処理対象画像データに関する事前知識からのずれが大きいほどエネルギー値が大きくなる第2のエネルギー項とを含むエネルギー関数の関数値が小さくなるような画素値の集合を推定し、該集合を出力画像とすることを特徴とする請求項1に記載の画像処理方法。
【請求項4】
前記第1算出ステップは、
前記処理対象画像データに注目画素を設定し、該注目画素を中心とする参照ブロックを設定する第2設定ステップと、
前記処理対象画像データにスケーリングを施したスケールド画像データを得るスケーリングステップと、
前記スケールド画像データ内に複数の候補ブロックを設定する第3設定ステップと、
前記複数の候補ブロックから、前記参照ブロック内の画素値のパターンの差が最も小さい類似候補ブロック選択する選択ステップと、
類似候補ブロックに前記スケーリングの逆変換を施して対応ブロックを生成する生成ステップと、
前記参照ブロック内のブロックから前記対応ブロック内のブロックへの変換を相似変換として出力する出力ステップと、を具備することを特徴とする請求項1に記載の画像処理方法。
【請求項5】
前記スケーリングステップは、前記スケーリングを2以上の整数倍率とすることを特徴とする請求項4に記載の画像処理方法。
【請求項6】
前記スケーリングステップは、さらに、前記処理対象画像データを回転する変換および前記処理対象画像データに対するアファイン変換のうちの少なくとも1以上の変換を施して、スケールド画像データを生成することを特徴とする請求項4または請求項5に記載の画像処理方法。
【請求項7】
前記スケーリングステップは、処理対象画像データの座標値にスケーリングを施すことを特徴とする請求項4から請求項6のいずれか1項に記載の画像処理方法。
【請求項8】
前記スケーリングステップは、処理対象画像データの画素値にスケーリングを施すことを特徴とする請求項4から請求項6のいずれか1項に記載の画像処理方法。
【請求項9】
N次元空間(N:自然数)上のN次元座標値と、該N次元座標値における第1画素値との集合である処理対象画像データを入力する第1入力手段と、
出力解像度を入力する第2入力手段と、
前記第1画素値のうちの第2画素値を前記処理対象画像データ自身に対応付けるための、少なくともスケーリングを含む変換である相似変換を求める算出手段と、
前記相似変換によって前記第2画素値を第3画素値として対応付ける対応付け手段と、
前記第3画素値および前記相似変換に基づいて前記出力解像度における画素値の第1拘束条件を設定する設定手段と、
前記第1拘束条件を利用して前記処理対象画像データの前記出力解像度における画素値を推定する推定手段と、を具備することを特徴とする画像処理装置。
【請求項10】
動画像の各フレームを前記処理対象画像データとし、該処理対象画像データを時系列にしたがって前記出力解像度での画素値を推定し、推定後の画像を画像出力装置に出力する画像出力手段をさらに具備することを特徴とする請求項9に記載の画像処理装置。
【請求項11】
コンピュータを、
N次元空間(N:自然数)上のN次元座標値と、該N次元座標値における第1画素値との集合である処理対象画像データを入力する第1入力手段と、
出力解像度を入力する第2入力手段と、
前記第1画素値のうちの第2画素値を前記処理対象画像データ自身に対応付けるための、少なくともスケーリングを含む変換である相似変換を求める算出手段と、
前記相似変換によって前記第2画素値を第3画素値として対応付ける対応付け手段と、
前記第3画素値および前記相似変換に基づいて前記出力解像度における画素値の第1拘束条件を設定する設定手段と、
前記第1拘束条件を利用して前記処理対象画像データの前記出力解像度における画素値を推定する推定手段として機能させるための画像処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2010−55487(P2010−55487A)
【公開日】平成22年3月11日(2010.3.11)
【国際特許分類】
【出願番号】特願2008−221470(P2008−221470)
【出願日】平成20年8月29日(2008.8.29)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成22年3月11日(2010.3.11)
【国際特許分類】
【出願日】平成20年8月29日(2008.8.29)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]