(57)【特許請求の範囲】
【請求項１】
Ｎ次元空間（Ｎ：自然数）上の第１のＮ次元座標値と、第１のＮ次元座標値のサンプリング値との集合である処理対象データを入力する第１入力ステップと、
前記Ｎ次元空間上の第２のＮ次元座標値と、第２のＮ次元座標値のサンプリング値との集合である探索パターンデータを入力する第２入力ステップと、
前記処理対象データ内に、第３のＮ次元座標値で指定される仮対応点の集合を設定する第１設定ステップと、
前記仮対応点のそれぞれに対し、前記Ｎ次元空間上で前記仮対応点を基準とする第１範囲内のサンプリング値である入力パターンを前記処理対象データから取得する第１取得ステップと、
前記第２のＮ次元座標値ごとに、第２のＮ次元座標値を基準とする第２範囲内のサンプリング値である探索パターンを前記探索パターンデータから取得する第２取得ステップと、
複数の探索パターンのうち、前記入力パターンとの違いが他の探索パターンと比べ低い探索パターンである推定パターンを、前記探索パターンデータ内から見つけるマッチングステップと、
前記仮対応点におけるそれぞれのサンプリング値として、前記推定パターン内で仮対応点に対応する位置のサンプリング値を設定する第２設定ステップと、
設定されたサンプリング値と仮対応点のＮ次元座標値とを使用して、前記処理対象データのサンプリングレートを変換する変換ステップと、を具備することを特徴とする信号処理方法。
【請求項２】
前記マッチングステップでは、前記複数の探索パターンのうち、前記入力パターンとの違いが他の探索パターンと比べて最も低い類似探索パターンと、該類似探索パターンとの違いがある割合以下である探索パターンとを、前記探索パターンデータ内から見つけることを特徴とする請求項１に記載の信号処理方法。
【請求項３】
前記マッチングステップでは、前記複数の探索パターンのうち、前記入力パターンとの違いがある割合以下である探索パターンを、前記探索パターンデータ内から見つけることを特徴とする請求項１に記載の信号処理方法。
【請求項４】
前記推定パターンごとに、対応する前記仮対応点を基準とする別途定めた範囲内で、前記推定パターンとの違いが低いパターンである修正入力パターンを、前記処理対象データ内から見つける入力パターン修正ステップと、
前記仮対応点のそれぞれを、前記修正入力パターン内で仮対応点に対応する位置に修正仮対応点として修正する修正ステップと、をさらに具備し、
前記第２設定ステップは、前記修正仮対応点におけるそれぞれのサンプリング値として、前記推定パターン内で修正仮対応点に対応する位置のサンプリング値を設定することを特徴とする請求項１に記載の信号処理方法。
【請求項５】
前記Ｎは２であって、前記処理対象データおよび前記探索パターンデータはそれぞれ画像データであることを特徴とする請求項１に記載の信号処理方法。
【請求項６】
前記処理対象データは動画像内の１フレームであって、前記探索パターンデータは前記動画像内にある前記処理対象データ以外のフレームを含むことを特徴とする請求項５に記載の信号処理方法。
【請求項７】
前記入力パターンは、前記仮対応点を中心とするある形状のブロックの画素位置でのサンプリング値を補間して得られたパターンであり、前記探索パターンは、前記探索パターンデータ内の画素を中心とする前記入力パターンと同じ形状のブロック内のサンプリング値を取得することで得られたパターンであり、
前記マッチングステップでは、前記推定パターンとして、前記探索パターンのうち、ブロック内の各画素位置におけるサンプリング値の差のノルムの総和が小さい信号パターンを選択することを特徴とする請求項５に記載の信号処理方法。
【請求項８】
前記Ｎは１であって、前記処理対象データおよび前記探索パターンデータはそれぞれ音データであることを特徴とする請求項１に記載の信号処理方法。
【請求項９】
前記探索パターンデータは前記処理対象データを含むことを特徴とする請求項１に記載の信号処理方法。
【請求項１０】
前記探索パターンは前記入力パターンと同一の大きさのパターンを予め記録したデータベースから取得されることを特徴とする請求項１に記載の信号処理方法。
【請求項１１】
前記推定パターンごとに、対応する前記仮対応点を基準とする別途定めた範囲内で、前記推定パターンとの違いが低いパターンである修正入力パターンを、前記処理対象データ内から見つける入力パターン修正ステップと、
前記修正入力パターン上で前記仮対応点に対応する位置と、前記仮対応点との差にしたがって仮対応点におけるサンプリング値を補正し、補正サンプリング値を得る補正ステップと、をさらに具備し、
前記第２設定ステップは、前記仮対応点におけるそれぞれのサンプリング値として、前記補正サンプリング値を設定することを特徴とする請求項１に記載の信号処理方法。
【請求項１２】
前記入力データは複数のチャネルデータを備えたデータの１つであって、前記探索パターンデータは前記入力データ以外のチャネルデータを含むことを特徴とする請求項１に記載の信号処理方法。
【請求項１３】
前記第１設定ステップは、複数の前記仮対応点を、出力信号のサンプリング間隔と同じかそれ以下の間隔で配置することを特徴とする請求項１に記載の信号処理方法。
【請求項１４】
Ｎ次元空間（Ｎ：自然数）上の第１のＮ次元座標値と、第１のＮ次元座標値のサンプリング値との集合である処理対象データを入力する第１入力手段と、
前記Ｎ次元空間上の第２のＮ次元座標値と、第２のＮ次元座標値のサンプリング値との集合である探索パターンデータを入力する第２入力手段と、
前記処理対象データ内に、第３のＮ次元座標値で指定される仮対応点の集合を設定する第１設定手段と、
前記仮対応点のそれぞれに対し、前記Ｎ次元空間上で前記仮対応点を基準とする第１範囲内のサンプリング値である入力パターンを前記処理対象データから取得する第１取得手段と、
前記第２のＮ次元座標値ごとに、第２のＮ次元座標値を基準とする第２範囲内のサンプリング値である探索パターンを前記探索パターンデータから取得する第２取得手段と、
複数の探索パターンのうち、前記入力パターンとの違いが他の探索パターンと比べ低い探索パターンである推定パターンを、前記探索パターンデータ内から見つけるマッチング手段と、
前記仮対応点におけるそれぞれのサンプリング値として、前記推定パターン内で仮対応点に対応する位置のサンプリング値を設定する第２設定手段と、
設定されたサンプリング値と仮対応点のＮ次元座標値とを使用して、前記処理対象データのサンプリングレートを変換する変換手段と、を具備することを特徴とする信号処理装置。
【請求項１５】
コンピュータを、
Ｎ次元空間（Ｎ：自然数）上の第１のＮ次元座標値と、第１のＮ次元座標値のサンプリング値との集合である処理対象データを入力する第１入力手段と、
前記Ｎ次元空間上の第２のＮ次元座標値と、第２のＮ次元座標値のサンプリング値との集合である探索パターンデータを入力する第２入力手段と、
前記処理対象データ内に、第３のＮ次元座標値で指定される仮対応点の集合を設定する第１設定手段と、
前記仮対応点のそれぞれに対し、前記Ｎ次元空間上で前記仮対応点を基準とする第１範囲内のサンプリング値である入力パターンを前記処理対象データから取得する第１取得手段と、
前記第２のＮ次元座標値ごとに、第２のＮ次元座標値を基準とする第２範囲内のサンプリング値である探索パターンを前記探索パターンデータから取得する第２取得手段と、
複数の探索パターンのうち、前記入力パターンとの違いが他の探索パターンと比べ低い探索パターンである推定パターンを、前記探索パターンデータ内から見つけるマッチング手段と、
前記仮対応点におけるそれぞれのサンプリング値として、前記推定パターン内で仮対応点に対応する位置のサンプリング値を設定する第２設定手段と、
設定されたサンプリング値と仮対応点のＮ次元座標値とを使用して、前記処理対象データのサンプリングレートを変換する変換手段として機能させるための信号処理プログラム。
【請求項１６】
Ｎは２以上であって、前記仮対応点は、前記処理対象データ上のＮ次元座標値を、別途定めた方向に、別途定めた量だけずらした位置に配置することを特徴とする請求項１に記載の信号処理方法。
【請求項１７】
前記別途定めた方向はＮ次元空間内のいずれかの軸の方向であって、前記別途定めた量は入力サンプリングレートにおいて整数でない値であることを特徴とする請求項１６に記載の信号処理方法。
【請求項１８】
２以上の仮対応点を、該仮対応点の間隔が入力サンプリングレートの間隔の整数倍に等しくなるように配置することを特徴とする請求項１に記載の信号処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、Ｎ次元入力信号を別のサンプリングレートのＮ次元出力信号に変換する信号処理方法、装置、およびプログラムに関する。
【背景技術】
【０００２】
高い解像度のテレビやディスプレイが普及してきている。テレビやディスプレイは、画像を表示する場合、画像データの画素数をパネルの画素数に変換する。特に、画素数を増やす高解像度化の変換において、線形内挿よりも鮮鋭な画像が得られる方法として、複数のフレームの情報を用い、画像の撮像過程（劣化過程）の逆変換を考えて高解像度の画像を復元する方法（以下、再構成法と呼ぶ）が知られている。
【０００３】
具体的には、例えば、ある画素を中心として低解像度画像から数画素四方のブロック（例えば、横５画素×縦５画素のブロック）を取り出し、このブロックと同じ大きさで、含まれる画素が取り出したブロックと近い画素値を持つ部分を変換対象フレーム内で探索する。探索はサブピクセル精度で行う（例えば、非特許文献１参照）。探索後、見つかった対応ブロックの中心を対応点とする。これにより、他のフレームに対応する画面の点Ａと変換対象フレームに対応する点Ｂとが同じ被写体の同じ位置として対応づけられる。以下、この対応づけのアルゴリズムをブロックマッチング法と呼ぶ。この対応は、点Ａを始点、点Ｂを終点とする動きベクトルで表される。サブピクセル精度で探索を行うため、動きベクトルの始点は画素の位置であるが、終点は一般に画素がない位置になる。このような動きベクトルを低解像度画像のすべての画素について求め、また、他の低解像度画像についても同様に各画素を始点とする変換対象フレームへの動きベクトルを検出する。変換対象フレームへの動きベクトルが得られたら、各動きベクトルの終点に始点の画素値を変換対象フレームのサンプリング値として配置する。最後に、このように非一様に配置されたサンプリング点とその各点におけるサンプリング値から、格子状に一様に配置された高解像度画像の各画素におけるサンプリング値を求める。この変換（再構成）の方法は、多数あり、例えばNon-uniform interpolation法、ＰＯＣＳ法、ＭＬ法やＭＡＰ法が知られている（例えば、非特許文献２参照）。
【非特許文献１】M. Shimizu et al., “Precise Sub-pixel Estimation on Area-based Matching,” in Proc. IEEE International Conference on Computer Vision, pp.90-97, 2001.
【非特許文献２】S. C. Park et al., “Super-Resolution Image Reconstruction: A Technical Overview,”’ IEEE Signal Processing Magazine, pp.21-36, May 2003.
【発明の開示】
【発明が解決しようとする課題】
【０００４】
背景技術であげた手法は、他のフレームそれぞれの画素について対応点の位置を探す。対応点として見つかる位置に対して何の制御もしていないため、利用価値のない対応点がしばしば見つかる。したがって、利用価値のある対応点を見つけるには、例えば縦横の解像度をそれぞれ２倍にするために１０〜３０枚の他のフレームを使うといった方法で、他のフレームの枚数を増やし、利用価値のある対応点が見つかる機会を増やす必要がある。
【０００５】
たとえ枚数を増やしても、既知の低解像度画素に対して中間的な位置に対応点が存在しないことがしばしばあり、その結果、高解像度画像の推定精度は上がらないことが課題である。
【０００６】
この発明は、上述した事情を考慮してなされたものであり、Ｎ次元空間（Ｎ：自然数）上のサンプリング値の集合を変換するサンプリングレート変換を従来よりも高い精度で行う信号処理方法、装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題を解決するため、本発明の信号処理方法は、Ｎ次元空間（Ｎ：自然数）上の第１のＮ次元座標値と、第１のＮ次元座標値のサンプリング値との集合である処理対象データを入力する第１入力ステップと、前記Ｎ次元空間上の第２のＮ次元座標値と、第２のＮ次元座標値のサンプリング値との集合である探索パターンデータを入力する第２入力ステップと、前記処理対象データ内に、第３のＮ次元座標値で指定される仮対応点の集合を設定する第１設定ステップと、前記仮対応点のそれぞれに対し、前記Ｎ次元空間上で前記仮対応点を基準とする第１範囲内のサンプリング値である入力パターンを前記処理対象データから取得する第１取得ステップと、前記第２のＮ次元座標値ごとに、第２のＮ次元座標値を基準とする第２範囲内のサンプリング値である探索パターンを前記探索パターンデータから取得する第２取得ステップと、複数の探索パターンのうち、前記入力パターンとの違いが他の探索パターンと比べ低い探索パターンである推定パターンを、前記探索パターンデータ内から見つけるマッチングステップと、前記仮対応点におけるそれぞれのサンプリング値として、前記推定パターン内で仮対応点に対応する位置のサンプリング値を設定する第２設定ステップと、設定されたサンプリング値と仮対応点のＮ次元座標値とを使用して、前記処理対象データのサンプリングレートを変換する変換ステップと、を具備することを特徴とする。
【０００８】
また本発明の信号処理装置は、Ｎ次元空間（Ｎ：自然数）上の第１のＮ次元座標値と、第１のＮ次元座標値のサンプリング値との集合である処理対象データを入力する第１入力手段と、前記Ｎ次元空間上の第２のＮ次元座標値と、第２のＮ次元座標値のサンプリング値との集合である探索パターンデータを入力する第２入力手段と、前記処理対象データ内に、第３のＮ次元座標値で指定される仮対応点の集合を設定する第１設定手段と、前記仮対応点のそれぞれに対し、前記Ｎ次元空間上で前記仮対応点を基準とする第１範囲内のサンプリング値である入力パターンを前記処理対象データから取得する第１取得手段と、前記第２のＮ次元座標値ごとに、第２のＮ次元座標値を基準とする第２範囲内のサンプリング値である探索パターンを前記探索パターンデータから取得する第２取得手段と、複数の探索パターンのうち、前記入力パターンとの違いが他の探索パターンと比べ低い探索パターンである推定パターンを、前記探索パターンデータ内から見つけるマッチング手段と、前記仮対応点におけるそれぞれのサンプリング値として、前記推定パターン内で仮対応点に対応する位置のサンプリング値を設定する第２設定手段と、設定されたサンプリング値と仮対応点のＮ次元座標値とを使用して、前記処理対象データのサンプリングレートを変換する変換手段と、を具備することを特徴とする。
【０００９】
また本発明は、コンピュータを、Ｎ次元空間（Ｎ：自然数）上の第１のＮ次元座標値と、第１のＮ次元座標値のサンプリング値との集合である処理対象データを入力する第１入力手段と、前記Ｎ次元空間上の第２のＮ次元座標値と、第２のＮ次元座標値のサンプリング値との集合である探索パターンデータを入力する第２入力手段と、
前記処理対象データ内に、第３のＮ次元座標値で指定される仮対応点の集合を設定する第１設定手段と、前記仮対応点のそれぞれに対し、前記Ｎ次元空間上で前記仮対応点を基準とする第１範囲内のサンプリング値である入力パターンを前記処理対象データから取得する第１取得手段と、前記第２のＮ次元座標値ごとに、第２のＮ次元座標値を基準とする第２範囲内のサンプリング値である探索パターンを前記探索パターンデータから取得する第２取得手段と、複数の探索パターンのうち、前記入力パターンとの違いが他の探索パターンと比べ低い探索パターンである推定パターンを、前記探索パターンデータ内から見つけるマッチング手段と、前記仮対応点におけるそれぞれのサンプリング値として、前記推定パターン内で仮対応点に対応する位置のサンプリング値を設定する第２設定手段と、設定されたサンプリング値と仮対応点のＮ次元座標値とを使用して、前記処理対象データのサンプリングレートを変換する変換手段として機能させる信号処理プログラムであることを特徴とする。
【発明の効果】
【００１０】
本発明の信号処理方法、装置およびプログラムによれば、Ｎ次元空間上のサンプリング値の集合を変換するサンプリングレート変換を従来よりも高い精度で行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら本発明の実施形態に係る信号処理方法、装置およびプログラムについて詳細に説明する。なお、以下の実施形態中では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。  
まず基本的な技術を説明する。  
画素数を増やす高解像度化の変換において、線形内挿よりも鮮鋭な画像が得られる方法として、複数のフレームの情報を用い、画像の撮像過程（劣化過程）の逆変換を考えて高解像度の画像を復元する再構成法では、変換対象フレームに写る被写体が別のフレームにも写っていることに注目し、被写体の動きを画素間隔よりも高い精度（サブピクセル精度）で検出することで、被写体の各局所部分に対して微小に位置がずれた複数の標本値を求め、それらの情報を統合することで高解像度化する。
【００１２】
より詳細に、再構成法を説明する。この方法では、低解像度のフレームが時系列で順次与えられた場合に、それらを順次高解像度のフレームに変換する。例えば、移動する自動車を撮影した動画像の時間的に前後する３枚のフレームを低解像度画像として用い、これら３枚のフレームのうち、１枚のフレームを基準として高解像度化する。例えば、これを縦２倍、横２倍の解像度に高解像度化する。１枚のフレームのみを用いた場合、未知である高解像度画像の画素に対して、低解像度画像の画素、つまりサンプリング値が既知であるサンプリング点の数は少ない。この状態でも高解像度画像の画素値の推定は可能であるが、サンプリング値が既知のサンプリング点を増やすことができれば、より正確に高解像度画像を得ることができる。そのために、再構成法では、変換対象フレーム以外の低解像度画像内で各画素の位置に写っている被写体が、変換対象フレームの画面内でどの位置に写っているかを検出し、その画素値を変換対象フレーム内で対応するサンプリング点におけるサンプリング値として用いる。
【００１３】
具体的には、例えば、ある画素を中心として低解像度画像から数画素四方のブロック（例えば、横５画素×縦５画素のブロック）を取り出し、このブロックと同じ大きさで、含まれる画素が取り出したブロックと近い画素値を持つ部分を変換対象フレーム内で探索する。探索はサブピクセル精度で行う。
【００１４】
ところで、本発明の目的はサンプリングレート変換を従来よりも高い精度で行うことであり、特に２次元の画像に限定されるものではないが、背景技術として広く知られる技術が２次元の画像に対するサンプリングレート変換である。そこで、ここでは一例として２次元の画像の場合について説明する。
【００１５】
変換対象フレームの低解像度画像は既知としているから、図１に示す低解像度画素１０１における輝度値は、与えられたものが使える。超解像は、低解像度画素１０１に加えて他のフレームから低解像度画素１０１以外の対応点を見つけることで、高い精度で高解像度画像を推定するものである。発明者による実験によれば、低解像度画素１０１と見つかった対応点の位置関係はどのようなものでもよいわけではなく、高解像度化の精度は対応点の配置に大きく依存する。図２のように、既知の低解像度画素に対して中間的な位置に見つかった対応点２０１は、高解像度画像の推定精度向上に大きく寄与する。しかし、図３のように、既知の低解像度画素とほとんど同じ位置に見つかった対応点３０１は、それを高解像度画像の推定に利用しても高解像度画像の推定精度は大差ない。つまり、図３のような対応点をいくら見つけても、演算量を増やすだけになり役に立たないことが多い。
【００１６】
これを解決するために、本実施形態では次の流れで超解像を行う。はじめに、変換対象フレーム内で、高解像度化を行う際に理想的な対応点の位置を仮対応点として与える。仮対応点は変換対象フレーム上の非整数画素位置（サブピクセル位置）になることが多い。次に、各仮対応点に対応する整数画素位置を他のフレーム（あるいは多数のフレームを格納しているデータベース）から探索する。ここで探索を整数画素位置に限定して行うのは、超解像では対応点の正確な輝度値を必要とし、正確な輝度値を得るには、正確な輝度値が既知である整数画素位置と対応付ける必要があるためである。次に、仮対応点に対応する輝度値を取得する。最後に、画像の変換（再構成）を実行する。つまり、他のフレームの画素から対応点の位置を探すのではなく、対応点の位置をはじめに決めたうえでそれに対応する他のフレームの画素を探すのである。この方法を使えば、必ず既知の低解像度画素に対して中間的な位置に対応点が存在することが保証される。したがって先に述べた課題は解決できることになる。
【００１７】
以上が本発明の基本原理であり、最初に設定した仮対応点をそのまま利用した超解像でも、ある程度の推定精度は達成できる。しかし、各仮対応点について完全に一致する位置は非整数画素位置に存在することが多く、そのような仮対応点に対しては探索を整数画素位置に限定して行う限り、完全に対応する点は見つからない。これに対し、
（１）他のフレーム上で対応する整数画素位置に完全に対応するように仮対応点を小数精度でずらすか、  
（２）他のフレームに完全に対応する非整数画素位置を求めた上で、求めた非整数画素位置における輝度値を補間により生成する  
ことで、先に述べた本発明の基本的な考えをそのまま適用した場合に対して、高解像度画像の推定精度をさらに上げることができる。ここで仮対応点をずらす方法をとった場合、既知の低解像度画素に対して中間的な位置に対応点が存在することは保証されなくなるが、背景技術の手法と比べ所望の位置に近い対応点が得られることが多いため高解像度画像の推定精度を上げられる。なお、以上に説明した、仮対応点（仮サンプリング点）を設定し、仮対応点に対応する点を探し、必要であれば仮対応点に補正を施したうえで再構成によりサンプリングレート変換を実行する、という考え方は特に２次元の画像に限定されるものではなく、例えば１次元信号についてもそのまま適用できるものである。
【００１８】
本実施形態の手法は、利用可能な情報をすべて利用するという考えに基づいて設計されたものであり、多くの超解像が仮定する入力が複数の２次元データである場合はもちろん、１枚の２次元データであっても利用できる。また、データが２次元であることは必須でないため、例えば入出力が１次元の音データや、縦・横・高さを軸とした各ボクセルが輝度値を持つ３次元画像データであっても利用できる。より一般的にいうなら、本発明は、出力として高いサンプリングレートのＮ次元データ（Ｎは自然数）を得るために、低いサンプリングレートのＮ次元データを（Ａ）１つ、あるいは（Ｂ）複数、のいずれを入力とした信号処理を行うものである。ここでＮ次元データと呼ぶデータは、具体的には、Ｎ次元空間内で、Ｎ次元座標値で示される位置（サンプリング点）とその位置に関連づけられた値（サンプリング値）の集合として定義される。典型的には、サンプリング点はＮ次元空間内で等間隔に配置されることが多い。そのサンプリング値は１次元のスカラーデータであっても、多次元のベクトルデータであってもよい。例えば、２次元の座標系における画像において、そのサンプリング値は、グレイスケール画像であれば１次元のデータになり、ＲＧＢ画像やＹＵＶ画像では３次元、ＣＭＹＫ画像では４次元のベクトルデータになる。また、座標系が２次元である限り、サンプリング値の次元にかかわらずＮ＝２である。
【００１９】
実施形態では、はじめに、音データを含む一般の１次元信号（Ｎ＝１）を例として基本原理を説明する。次に、２次元の画像（Ｎ＝２）について説明する。３次元以上の多次元データへの拡張については最後に述べる。なお、以下の説明では特に断らない限り、サンプリング値が信号の強度に対し線形であるものとして話を進める。この条件は、例えば、リニアＰＣＭ方式によりサンプリングした音の信号値であればそのまま成り立つ。これが成り立たなくても以下の手法をそのまま適用することは可能であるが、リニア信号におけるサンプリング値に戻して適用してもよい。例えば、サンプリング値がＧ．７１１のように対数圧縮器を通した信号値であれば、それを復調したうえで以下の手法を適用してもよい。あるいは、信号が画像の輝度値のようにガンマ変換を受けたサンプリング値であれば、それをガンマ補正してリニア信号に対するサンプリング値に戻したうえで適用してもよい。これらの補正を行った場合は、必要があれば出力信号に対して逆補正を適用してもよい。
【００２０】
（第１の実施形態）  
本実施形態では、信号処理装置の入出力データが音データを含む一般の１次元信号である場合について説明する。なお、音データとは、１次元の時刻（座標系）とその時刻における１次元のサンプリング値（信号の強さ）を持つデータであり、本発明の実施形態の説明においては座標系の次元をＮと考えているためＮ＝１である（Ｎ＝２ではない）。
【００２１】
（再構成の基礎理論）  
あるサンプリングレート（入力サンプリングレート）で未知の信号（元の信号）をサンプリングした１次元信号値を入力として、より高いサンプリングレート（出力サンプリングレート）で離散化した場合の１次元信号値を求める問題を考える。入力として与えられるのは、時間Ｔ１、Ｔ２、Ｔ３、・・・に対する１次元信号のサンプリング値ｙ（Ｔ１）、ｙ（Ｔ２）、ｙ（Ｔ３）、・・・である。Ｔ１、Ｔ２、Ｔ３、・・・は特定の瞬間ではなく、サンプリングを行う個々の短い時間をさす。サンプリング過程の概念図を図４に示す。サンプリング過程のモデルには様々なものが考えられるが、例えば、サンプリングを行う時間内での元の信号の平均値をモデルとすることができる。例えばサンプリング値ｙ（Ｔ１）は、（未知の）元の信号の時間Ｔ１内での平均値を与えているものと考える。課題は、入力サンプリングレートでの時間Ｔ１、Ｔ２、Ｔ３、・・・に対する既知のサンプリング値ｙ（Ｔ１）、ｙ（Ｔ２）、ｙ（Ｔ３）、・・・を利用して、出力サンプリングレートでの時間Ｔ’１、Ｔ’２、Ｔ’３、・・・に対するサンプリング値ｘ（Ｔ’１）、ｘ（Ｔ’２）、ｘ（Ｔ’３）、・・・を得ることである。
【００２２】
例として、図５のように、出力サンプリングレートが入力サンプリングレートの２倍である場合を考える。サンプリング値が元の信号の平均値を与えるというモデルを考えると、各サンプリング値の間に、
ｙ（Ｔ１）＝（１／２）ｘ（Ｔ’１）＋（１／２）ｘ（Ｔ’２）  
ｙ（Ｔ２）＝（１／２）ｘ（Ｔ’３）＋（１／２）ｘ（Ｔ’４）  
ｙ（Ｔ３）＝（１／２）ｘ（Ｔ’５）＋（１／２）ｘ（Ｔ’６）  
：
といった式を立てることができる。ここで、入力となる式の本数が入力サンプリングレート上の時間Ｔ１、Ｔ２、・・・の数だけあるのに対し、未知数ｘ（Ｔ’１）、ｘ（Ｔ’２）、ｘ（Ｔ’３）、・・・は出力サンプリングレートの時間Ｔ’１、Ｔ’２、・・・の数だけあるから、この方程式をすべて満たすｘ（Ｔ’１）、ｘ（Ｔ’２）、ｘ（Ｔ’３）、・・・の組み合わせは無数に存在する。したがって、無数に存在する解の組み合わせの中から、何らかの追加情報を用いて解を選択する必要がある。その方法は２つあり、その１つは式を追加すること、もう１つは未知数ｘ（Ｔ’１）、ｘ（Ｔ’２）、ｘ（Ｔ’３）、・・・に関する知識を利用して解に制約をかけることである。本実施形態の信号処理装置はこのうち、新しい式の追加方法を示すものである。
【００２３】
本実施形態の信号処理装置がどのように式を追加するかについては後述することとし、先にこの方程式を解く、つまり適当な未知数ｘ（Ｔ’１）、ｘ（Ｔ’２）、ｘ（Ｔ’３）、・・・を割り当てる方法について説明する。  
まず、先の出力サンプリングレートが入力サンプリングレートの２倍である場合の例を一般的な形で書き直す。入力時間にインデックスｉ＝｛１、２、３、・・・、Ｌ｝を付与し、入力される１次元信号のサンプリング値を
【数１】
0004982471.tif 000002
【００２４】
であらわす。出力信号にもインデックスｊ＝｛１、２、３、・・・、Ｍ｝を付与し、サンプリング値を
【数２】
0004982471.tif 000003
【００２５】
であらわす。また、先の例ではサンプリング過程として単純な平均を考えたが、これを一般化し、入力サンプリング値が出力サンプリング値の重みつき和で与えられると考える。求めたい値はサンプリング値
【数３】
0004982471.tif 000004
【００２６】
である。このとき、各インデックスｉについて、重みの係数を
【数４】
0004982471.tif 000005
【００２７】
として、式
【数５】
0004982471.tif 000006
【００２８】
を立てることができる。もし入力時間以外に、出力サンプリング値の重みつき和の値が推定できる時間があるなら、それらの時間についても入力時間と同じようにインデックスを付与して式を追加し、追加した式の本数だけＬの値を増やすものとする。
【００２９】
ベクトル
【数６】
0004982471.tif 000007
【００３０】
ベクトル
【数７】
0004982471.tif 000008
【００３１】
行列
【数８】
0004982471.tif 000009
【００３２】
を導入し、各インデックスｉに対する式をまとめて
【数９】
0004982471.tif 000010
【００３３】
と表記する。ｘを割り当てる方法として、擬似逆行列を用いて
【数１０】
0004982471.tif 000011
【００３４】
により求める方法が考えられる。擬似逆行列を利用して直接ｘを割り当てるかわりに、例えばＰＯＣＳやＭＡＰ法を使うこともできる。以下、Ｗとｙを利用してｘを割り当てることをＲＥＣＯＮＳＴＲＵＣＴＩＯＮと呼ぶことにする。
【００３５】
（補間）  
ＰＯＣＳやＭＡＰ法では繰り返し演算に基づく最適化を行うことが多く、このような最適化では初期値として仮のｘ信号が必要となる。仮のｘ信号は、例えば入力信号の補間により生成できる。どのような補間方法を用いてもかまわないが、例えば、次の方法が使える。
【００３６】
（Ａ）線形補間  
既知の２点を用いて補間する。補間に用いる２点は、できるだけ補間すべき点の近くを用いることが望ましい。既知の２点の位置を
【数１１】
0004982471.tif 000012
【００３７】
、そのサンプリング値を
【数１２】
0004982471.tif 000013
【００３８】
とし、補間すべき点の位置を
【数１３】
0004982471.tif 000014
【００３９】
で表すと、補間値は
【数１４】
0004982471.tif 000015
【００４０】
で求められる。
【００４１】
（Ｂ）キュービックコンボリューション法  
既知の等間隔に配置された４点を用いて補間する。補間に用いる４点は、補間位置を中心とした２以下の範囲に配置されているものとする。補間値は、各点に対し、補間位置を中心とした次の重みカーネル
【数１５】
0004982471.tif 000016
【００４２】
の値をかけてそれらの和を求めることで得られる。ｄは各点の補間位置からの距離を表す。γは補間関数を制御するパラメータで、例えばγ＝−１．０あるいはγ＝−０．５とする。
【００４３】
（バックプロジェクションやＰＯＣＳ）  
ＰＯＣＳによるＲＥＣＯＮＳＴＲＵＣＴＩＯＮの流れの一例を図６に示す。そのアルゴリズムは次の通りである。このアルゴリズムは、例えば、図７の演算部７０２が行う。  
（ステップ１）仮のｘ信号を生成する（Ｓ６０１）。仮のｘ信号は、例えば入力信号の補間により生成できる。補間には、例えば線形補間やキュービックコンボリューション法が利用できる。
【００４４】
（ステップ２）
【数１６】
0004982471.tif 000017
【００４５】
を構成する第ｉ番目の式は次の形で書ける。
【数１７】
0004982471.tif 000018
【００４６】
ここで、
【数１８】
0004982471.tif 000019
【００４７】
は重みを並べた横ベクトルで、
【数１９】
0004982471.tif 000020
【００４８】
は入力として与えられる（Ｓ６０２）。ノイズの影響をあまり受けずに各
【数２０】
0004982471.tif 000021
【００４９】
を満たすｘを求めるために、ＰＯＣＳでは、ステップサイズ
【数２１】
0004982471.tif 000022
【００５０】
および定数
【数２２】
0004982471.tif 000023
【００５１】
を別途与え、次の繰り返し演算を実行する（並列化なしの例：Ｓ６０３〜Ｓ６０４）。なお、
【数２３】
0004982471.tif 000024
【００５２】
はｘの推定値を意味する。
【数２４】
0004982471.tif 000025
【００５３】
ステップサイズ
【数２５】
0004982471.tif 000026
【００５４】
や定数
【数２６】
0004982471.tif 000027
【００５５】
はすべてのｉに対して同じ値（例えば
【数２７】
0004982471.tif 000028
【００５６】
）でもよいし、例えば
【数２８】
0004982471.tif 000029
【００５７】
のように式ごとに変えてもよい。
【００５８】
（ステップ３）別途定めた回数だけステップ２を繰り返す（Ｓ６０５）。  
（ステップ４）得られた推定信号
【数２９】
0004982471.tif 000030
【００５９】
を出力する（Ｓ６０６）。
【００６０】
以上の流れにより、信号ｘを推定することが可能になる。出力信号の推定精度は、信号の推定に用いた各ｉに対する式が、どれだけ選択可能な解ｘの次元数を減らせるか（Ｗのランクを上げることができるか）、およびどれだけ正確であるか、に依存する。その理由の概要を説明すると次のようになる。選択可能な解ｘの次元数が０でない場合、ＰＯＣＳなどのＲＥＣＯＮＳＴＲＵＣＴＩＯＮはその解（正確には近似解）のうちの１つを選んで返す。しかし、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮ段階では信号の性質は考慮されず、推定信号は選択可能な解ｘの中からランダムに（ユーザから見れば不適切な基準で）選ばれる。これは選択可能な解ｘが少ないときはあまり問題にならない。しかし、選択可能な解ｘの次元数が大きくなると、解ｘの選択肢も増えてしまい、望ましい信号が選ばれる可能性は低くなる。なお、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮに後述のＭＡＰ法を用いると信号に関する知識を利用して選ぶことはできるが、それでも選択可能な解ｘの次元数が大きくなると望ましい信号が選ばれる可能性は低くなる点は同じである。このようなことを考えると、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮを利用したサンプリングレート変換において、選択可能な解ｘの次元数を減らすことは極めて重要な問題になる。
【００６１】
（簡易ＲＥＣＯＮＳＴＲＵＣＴＩＯＮ）  
なお、厳密なＲＥＣＯＮＳＴＲＵＣＴＩＯＮを行うかわりに、次の重みつき加算方法を利用することもできる。重みつき加算方法では、適当なカーネル行列Ｋを準備し、各サンプリング時間に対する信号ｘを
【数３０】
0004982471.tif 000031
【００６２】
により推定する。カーネル行列Ｋは、理論上は例えばＷの疑似逆行列
【数３１】
0004982471.tif 000032
【００６３】
を利用するところであるが、擬似逆行列の算出には多くの計算を必要とする。そこでＫとして、例えば、単に開始・終了時刻が近いサンプルに対して重みを与える（非零の要素を持つ）行列を用いる。ここで、Ｋの各行は補間の係数を表すため、その要素の合計値が１になるようにする。
【００６４】
（スライディングウィンドウによる音声の逐次処理）  
なお、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮの式をそのまま用いる場合、ｙをまとめて与え、それに対してｘを一括して推定することになる。しかし、例えば音信号をサンプリングしながら本発明の実施形態を適用し、その結果を出力する場合には、すべてのｙを一括して得ることは難しい。このような場合には、例えば次の方法を用いることができる。  
予め、ある程度のサンプル数（例えば、１００〜１００００サンプル程度）を保持できるバッファを用意しておく。入力サンプルが得られるたびに、新しいデータをバッファに記録していく。バッファがいっぱいになった時点で、バッファに保持されたサンプルに対してサンプリングレートの変換を行い、得られたｘを出力する。その後は、バッファを空にして同じ操作を繰り返す。なお、この方法を単純に実装するとバッファがいっぱいになった時刻（境界時刻）でノイズが生じることがある。これに対しては、バッファを完全に空にせずにいくつかのサンプルを残しておいて境界時刻付近においてｘ信号の一部を２回生成させ、境界時刻付近では２つのｘ信号の重みつき和を出力することで、ノイズを軽減させてもよい。
【００６５】
（式を増やす方法：１次元の対応点推定）  
以上の説明により、入力信号（元の信号）を出力信号の重みつき和として表す式が得られて、それが選択可能な解ｘを減らせる式であって、かつ正確であればよいことがわかった。  
本実施形態の信号処理装置について図７を参照して説明する。図７は、汎用的なＣＰＵを用いたコンピュータ（ＴＶやＤＶＤプレーヤ、ハードディスクレコーダを含む）で実施する場合の構成の一例である。  
本実施形態の信号処理装置は、一時記憶部７０１、演算部７０２、入出力受付部７０３、信号受付部７０４、信号出力部７０５、不揮発記憶部７０６を含む。
【００６６】
入出力受付部７０３は、ユーザから指示を受け付ける。入出力受付部７０３は、例えば、マウス、キーボードやリモコンから受け付けた指示を受け付ける。入出力受付部７０３は、プログラムの起動を指示する信号を受け付ける。
【００６７】
信号受付部７０４は、Ｎ次元空間上のサンプリング値の集合である入力データと、１つ以上のＮ次元空間上のサンプリング値の集合である、探索の対象とする信号データ（探索パターンデータ）とを受け付ける。第１の実施形態では、それぞれ１次元データ（例えば、音データ）である。
【００６８】
不揮発記憶部７０６は、後に図８を参照して説明するプログラムを格納している。不揮発記憶部７０６は、例えば、例えばハードディスクやＲＯＭである。不揮発記憶部７０６は、上述した、入力データと信号データを予め記憶していてもよい。
【００６９】
一時記憶部７０１は、入出力受付部７０３からユーザの指示を受けて不揮発記憶部７０６からプログラムを一時的に記憶し、演算部７０２に提供する。一時記憶部７０１は、演算部７０２が演算した結果を一時的に記憶できる。
【００７０】
演算部７０２は、一時記憶部７０１からプログラムを受け取り、プログラムを実行する。
【００７１】
信号出力部７０５は、演算部７０２によって得られた結果を出力する。信号出力部７０５は、例えば、音データであればスピーカ、画像データであればモニタである。
【００７２】
次に、図７の信号処理装置の動作の一例について図８を参照して説明する。  
（ステップ１）信号受付部７０４が処理の対象となる入力データを入力する（Ｓ８０１）。信号受付部７０４が探索の対象とする信号データ（探索パターンデータ）を入力する（Ｓ８０２）。なお、探索パターンデータは元の信号自身でもよい。また、信号受付部７０４は一時記憶部７０１や不揮発記憶部７０６に蓄えられたデータを入力してもよい。
【００７３】
（ステップ２）演算部７０２が、与えられた入力データに対し、図９のように、サンプリング値が欲しい時間を決める（Ｓ８０３）。つまり、もしサンプリング値がわかれば選択可能な解ｘを減らせるような時間（仮サンプリング時間、この場合例えば、仮対応点は仮サンプリング時間の中央に設定する）を設定する。ここで、例えば、仮サンプリング時間を出力サンプリングレート間隔で配置すれば、設定した仮サンプリング時間でのサンプリング値がすべてわかった時点で、ｘの次元数と同じだけの線形独立な方程式が得られ、選択可能な解ｘを１つに限定できる。なお、この時点では、設定した時間におけるサンプリング値は不明である。得られた結果の一時保存が必要であれば一時記憶部７０１に保持する。
【００７４】
（ステップ３）演算部７０２が、一時記憶部７０１を利用して、探索パターンデータに対し、前記仮サンプリング時間の周囲のパターン（より詳細にいえば、前記仮サンプリング時間を基準とする別途定めた範囲内のサンプリング値のパターン）が類似するサンプリング時間に対応するサンプリング値を探す。例えば、探索パターンデータを元の信号自身（仮サンプリング時間自身を除く）とし、図１０に示すように、元の信号内で、周囲のパターンが類似するサンプリング値を探す。具体的には、まず仮サンプリング時間を含む前後の適当な時間（例えば、仮サンプリング時間とその前後２つ分のサンプリング時間）で、入力サンプリングレートと同じ間隔の信号パターンを補間により生成し（Ｓ８０４）、次に生成された補間信号パターンとの違い（以下、信号パターン誤差と呼ぶ）がなるべく小さい信号パターン（推定信号パターン、推定パターン）を入力信号内で探す（Ｓ８０５）ことで、仮サンプリング時間に対応するサンプリング値を見つける。このとき、見つかった信号パターン内で仮サンプリング時間に相当する位置のサンプリング値を、仮サンプリング時間におけるサンプリング値と考える。ステップＳ８０５では、複数の探索パターンのうち、入力パターンとの違いがある割合以下（すなわち、信号パターン誤差がある閾値以下）である探索パターンを、前記探索パターンデータ内から見つけてもよいし、複数の探索パターンのうち、入力パターンとの違いが他の探索パターンと比べて最も低い類似探索パターンと、この類似探索パターンとの違いがある割合以下（例えば、違いが１０％以下）である探索パターンとを、前記探索パターンデータ内から見つけてもよい。
【００７５】
信号パターン誤差については、例えば、各信号の２乗誤差の合計値や、絶対値誤差の合計値が大きいほど、あるいは正規化相互相関が小さいほど、違いも大きいと判断することで評価できる。なお、別途定めたフィルタ、例えば高周波成分を除去するローパスフィルタあるいは特定の周波数成分のみを通すバンドパスフィルタを適用し、フィルタ後の信号に対して各信号の２乗誤差や、絶対値誤差、正規化相互相関の値を評価してもよい。
【００７６】
（ステップ４）演算部７０２が、一時記憶部７０１を利用して、仮サンプリング時間におけるサンプリング過程を出力信号の重みつき和であらわしたときの係数を
【数３２】
0004982471.tif 000033
【００７７】
、見つけたサンプリング値を
【数３３】
0004982471.tif 000034
【００７８】
とした式を追加し、得られたＷとｙに対しＲＥＣＯＮＳＴＲＵＣＴＩＯＮを行う（Ｓ８０６）。ここで、例えばステップ２（Ｓ８０３）において、正規化相互相関のように何らかの変換値を評価してサンプリング値を見つけた場合には、行った変換に対する逆補正によりサンプリング値を修正することもできる。サンプリング値の修正方法としては、例えば、探索パターンデータ内で見つかった信号パターンに対し線形変換を考え、照合に用いた補間信号パターンとの２乗誤差が最小となるような線形変換のパラメータを算出あるいは探索し、探索パターンデータ内で見つかったサンプリング値に対し得られたパラメータによる線形変換を施した値を
【数３４】
0004982471.tif 000035
【００７９】
とする方法が利用できる。得られた結果は例えば信号出力部７０５を介して出力してもよいし、不揮発記憶部７０６に保存してもよい。
【００８０】
以上の方法を使った場合、ステップ１で選択可能な解ｘを減らすように仮サンプリング時間を選んでいるのであるから、もしステップ２で信号パターンとの違いが十分に小さい信号が見つかれば、出力信号の推定精度を上げることができる。  
なお、推定対応パターンを利用したＲＥＣＯＮＳＴＲＵＣＴＩＯＮはより高いサンプリングレートで信号をサンプリングすることと似たような効果を持つ。したがって、入力信号のサンプリング過程においては、適用するローパスフィルタのカットオフ周波数を、サンプリングすべき信号のナイキスト周波数よりも高くしておいてもよい。
【００８１】
また、ステップ３において「前記仮サンプリング時間を基準とする別途定めた範囲内」としたのは、例えば仮サンプリング時間を中心とした前後それぞれサンプリング間隔の数倍〜数百倍程度の範囲内とすればよい。
【００８２】
（音信号のための正規化）  
なお、先に説明した正規化相互相関の利用は、例えば楽器から発せられる音のように、音源から発せられる信号が周期的であり、かつ、徐々に減衰する信号に対して有効と考えられる。また、音源に発せられた音が壁などに反射し、別のサンプリング位置で同じパターンが得られる場合にも有効であると考えられる。なお、単に正規化相互相関のみで評価するとＳ／Ｎ比の低い信号パターンが選択されてしまうこともある。これに対しては、正規化相互相関で評価を行う際は、探索パターンの信号レベル（例えば、無音状態を０としたときに、探索パターン内で最もサンプリング値の絶対値が大きい信号の値）がある一定以上の区間のみを探索の対象とするといった工夫をしてもよい。
【００８３】
（１次元の対応点推定：補正）  
ステップ３（Ｓ８０５）で行う推定信号パターンの探索では、その探索は離散的に（具体的にはサンプリング間隔の精度で）行われる。この探索で得られる推定信号パターンは、設定された仮サンプリング時間を基準としたときに、候補とした信号パターンのうちで信号パターン誤差が少ないだけでなく、仮サンプリング時間とのずれも小さい信号パターンになる。つまり、見つかった推定信号パターンでは、そのサンプリング開始・終了時刻のサンプリング間隔未満のずれ（以下、位相ずれと呼ぶ）は小さいと期待できる。なお、位相ずれの小さい信号パターンが選ばれるとは、具体的には、例えば、図１１の参照信号パターンを探索する際、候補信号として候補信号１（図１２）と候補信号２（図１３）があるときに、そのサンプリング開始・終了時刻の小数ずれがより小さい候補信号１の信号パターンが選ばれるということを意味している。なお、時間軸に対して正方向・負方向のずれを考えると、位相ずれはサンプリング間隔の半分を上回ることはない。
【００８４】
しかし、ステップ３（Ｓ８０５）で位相ずれの小さい信号パターンが選ばれるとはいっても、仮サンプリング時間との位相ずれがゼロに十分近い信号が見つかるとは限らない。このような場合に出力信号の推定精度を上げるためには、ステップ２とステップ３の間で、位相ずれを推定したうえで（Ａ）最初に設定した仮サンプリング時間を補正する方法、（Ｂ）サンプリング値を補正する方法、のいずれかの方法を実行するとよい。これらの方法を適用するには、まず、位相ずれの量を推定する必要がある。
【００８５】
位相ずれの量を見つける方法の１つに、補間信号パターンを利用したバイナリサーチがある。この方法では、推定位相ずれをΔｔ、位相ずれ精度をεとするとき、次の手順で位相ずれの量を推定する。
【００８６】
（ステップ１）Δｔ＝０、ε＝１／２とする。  
（ステップ２）Δｔ、Δｔ−ε、Δｔ＋εを位相ずれ候補として、各位相ずれ候補の値だけずらした入力信号パターン（入力パターン）を、入力信号の補間によって生成する。  
（ステップ３）生成した入力信号パターンをそれぞれ推定信号パターンと比較し、最も信号パターン誤差が小さくなる位相ずれ候補の値でΔｔを更新する。  
（ステップ４）εが所望の（別途定めた）精度以下であればΔｔを出力して終了する。そうでなければε←１／２εとし、ステップ２に戻る。
【００８７】
また、位相ずれの量を見つける別の方法として、補間信号パターンの誤差関数を利用した推定方法も利用できる。例えば、誤差関数を２次曲線で近似した場合、入力信号パターンに対する信号パターン誤差をＥ（０）、１サンプリング時間だけ正・負の方向にずらした入力信号パターンに対する信号パターン誤差をそれぞれＥ（１）、Ｅ（−１）とするとき、図１４に示すように、位相ずれは次の式
【数３５】
0004982471.tif 000036
【００８８】
により推定できる。２次曲線による近似は、例えば、信号パターン誤差として２乗誤差の合計値を利用した場合に有用である。また、誤差関数を区分的な線分で近似した場合は、位相ずれは次の式
【数３６】
0004982471.tif 000037
【００８９】
により推定できる。これは例えば、信号パターン誤差として絶対値誤差の合計値を利用した場合に有用である。
【００９０】
以上のような方法で推定された位相ずれが得られたときに、推定位相ずれを利用して補正する方法は、先に述べたように２通り考えられる。先に述べた（Ａ）の方法を用いる場合は、推定位相ずれの分だけ仮サンプリング時間をずらす。（Ｂ）の方法を用いる場合は、推定位相ずれの分だけずらしたサンプリング時間に対するサンプリング値を補間により推定する。補間方法としては、先に説明した線形補間やキュービックコンボリューション法が利用できる。
【００９１】
（本実施形態の手法の従来手法に対する利点）  
ここで、本実施形態の手法が従来の手法と比べ優位である点を説明する。従来の手法では、探索によって選択可能な解ｘの次元数削減に実質的に寄与しない信号パターンを見つけることが多く、選択可能な解ｘを十分に絞りきれていなかった。その詳細は次の通りである。従来、超解像では、入力サンプリングレートにおける各サンプリング時間に対して、その時間に対応する別の時間を探すという操作を行っていた。例として、信号パターン誤差として正規化相互相関を用いた探索を行う場合を考える。もし入力信号パターンが、周期波形のように、位相ずれした同一の波形が繰り返しあらわれる信号の一部であった場合、位相ずれの少ない（ゼロに近い）信号パターンが極端に選ばれやすくなるという性質がある。この性質は先に説明したが、例えば図１１の参照信号パターンを探索する際、候補信号として候補信号１（図１２）と候補信号２（図１３）があるときに、そのサンプリング開始・終了時刻の小数ずれがより小さい候補信号１の信号パターンのほうが、信号パターン誤差（この場合は正規化）が小さいために選ばれる。したがって、従来のように、入力信号における各サンプリング時間に対してそれに対応するという探索を行う限り、位相ずれがゼロに近い信号パターンが優先して選ばれるということである。このように入力信号のサンプリング時間に対する位相ずれがゼロに近い信号パターンは、サンプリングレート変換における選択可能な解ｘの次元数削減には寄与しない。この理由は次の通りである。探索によって位相ずれが完全にゼロの信号パターンが得られた場合、出力信号から見つけたサンプリング値を得るサンプリング過程は入力サンプリング時間の１つと全く同じであるから、追加される式におけるＷの係数も入力サンプリング時間の１つと全く同じになる。その結果、式を追加しても選択可能な解ｘの次元数を落とすことはできなくなる。また、位相ずれがゼロに近い場合には、入力サンプリング時間の１つに対するＷの係数とはわずかに異なるＷの係数が得られるが、ノイズの影響を考えると、その係数の差がわずかであれば実用上の価値はなく、実質的に選択可能な解ｘの次元数は下がらない。つまり、従来の方法では、探索のもつ位相ずれがゼロに近い信号パターンが優先して選ばれる性質によって、選択可能な解ｘの次元数を十分に減らせなかったのである。その結果、先に述べたようにユーザの望まない推定信号が出力されてしまい、低い品質の出力信号が出力されてしまっていた。
【００９２】
一方、本実施形態の手法は、はじめに仮サンプリング時間を設定している点が重要な特徴である。本実施形態では、余分な計算コストをかけてまで仮サンプリング時間を設定した。そして、従来のように入力サンプリング時間に対応する信号パターンを探すのではなく、仮サンプリング時間に対応する信号パターンを探すようにしたのである。この変更は次に述べるように、選択可能な解ｘの次元数の削減に大きく寄与する。探索の持つ性質、つまり参照信号パターンに対する位相ずれがゼロの信号パターンが得られるという性質自体は、従来の手法と変わらない。しかし、その参照信号パターンは、従来は入力信号のサンプリング時間を基準として取得されるのに対し、本実施形態では仮サンプリング時間を基準として補間により生成されるのである。仮サンプリング時間は例えば出力サンプリング時間を基準にして設定するものであるから、その参照信号パターンは、一般に、入力信号の時間軸で見ると位相ずれが非ゼロの信号パターンである。言い換えれば、位相ずれが非ゼロの信号パターンを参照信号パターンとして、参照信号パターンに対する位相ずれがゼロ（仮サンプリング時間の補正を行わない場合）あるいはゼロに近い（仮サンプリング時間の補正を行う場合）パターンを優先した探索を行うのである。したがって、探索で得られる信号パターンとして優先されるものは、一般に、非ゼロかつ所望の位相ずれを持つ信号パターンである。所望の位相ずれを持つ時間に対する行列Ｗの係数とそのサンプリング値が得られれば、当然、選択可能な解ｘの次元数は削減できる。特に、探索で得られた時間の位相ずれがすべて所望のものという理想的な場合には、解ｘを一意に決めるような行列Ｗとそれに対応するサンプリング値のベクトルｙが得られることになり、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮの持つ推定信号ｘのあいまいさに起因する出力信号の品質低下は完全に排除できることになる。たとえ得られるＷやｙが理想的なものでなくても、本実施形態の特徴である仮サンプリング時間の設定を用いてＷとｙを得ることで、従来と比べＲＥＣＯＮＳＴＲＵＣＴＩＯＮにおける推定信号ｘのあいまいさを減らせ、より高い出力信号を得ることができるのである。
【００９３】
（相関の高いデータが存在する場合の拡張）  
入力信号が音データの場合には、例えば、ステレオや５．１ｃｈデータのように、２つ以上のチャネルを持つデータ（マルチチャネルデータ）が多い。このような場合、探索パターンデータとして元の信号自身に加え、他のチャネルのデータを利用することで、類似パターンが見つかる可能性を上げることができる。
【００９４】
（コードブックの利用）  
例えば入力信号が楽器の音をサンプリングした音データのような場合には、再現性を持つデータを含む場合が多い。したがって、予め多くのデータを録音しておけば、類似パターンが存在する可能性が高い。このような場合、探索パターンデータとして元の信号自身に加え、予め保存しておいたデータを利用することで、類似パターンが見つかる可能性を上げることができる。
【００９５】
（不要パターンの除去）  
今までの説明では、良い推定信号パターンが見つかることを仮定していた。しかし、得られた推定信号パターンの信号パターン誤差は必ずしも十分に小さいとは限らず、たとえ信号パターン誤差が最小の信号パターンを選択しても、入力信号パターンとは異なる推定信号パターンと対応付けられることもある。このような推定信号パターンが得られた場合、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮに悪影響を与えることも考えられる。そこで、これに対して、たとえば、先に述べた位相ずれに対する補正後の信号パターン誤差を評価し、それがしきい値以上であれば推定信号パターンは除去し、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮに利用しないといった方法を利用してもよい。
【００９６】
以上に示した第１の実施形態によれば、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮに基づくサンプリングレート変換（音等の１次元データ）において、まず所望の仮サンプリング時間あるいは仮サンプリング位置を設定し、それに対応するサンプリング時間あるいはサンプリング位置を見つけるという方法を用いてｙ＝Ｗｘに式を追加することによって、従来の方法と比べ推定信号ｘのあいまいさを減らすことができ、出力信号を従来と比べ高い精度で推定できる。
【００９７】
（第２の実施形態）  
以上、１次元信号に対するＲＥＣＯＮＳＴＲＵＣＴＩＯＮについて説明した。先にも述べたが、本発明は２次元信号である画像にも適用できる。以下では、画像に関する実施形態を説明する。  
本実施形態では、信号処理装置の入出力データが画像データを含む一般の２次元信号である場合について説明する。本実施形態の信号処理装置は、図７と同様であるが、使用するプログラムが２次元用であり第１の実施形態とは異なる。
【００９８】
（２次元信号への拡張）  
画像においては、信号に相当するものは２次元画像であり、サンプリング値に相当するものは輝度値あるいは画素値であり、サンプリングレートに相当するものは解像度であり、１次元信号における時刻に相当するものは水平・垂直方向の位置であり、時間に相当するものは画素である。なお、画素とは本来、画像内の小領域（多くは正方形領域）を表すものであるが、以下、特に断りがない限り、単に画素といえば、画素を表す小領域における代表位置（画素領域の中心の位置）を表すものとし、１次元信号で時間に相当するものは画素領域と表記する。サンプリングレート変換は、入出力の解像度を変換することに相当する。出力ベクトル
【数３７】
0004982471.tif 000038
【００９９】
は出力したい解像度における各画素の輝度を表し、入力ベクトル
【数３８】
0004982471.tif 000039
【０１００】
は入力された各画素の輝度を表す。ｘやｙは、２次元の各画素に１次元の通し番号（インデックス）をつけたときに、それらの輝度値を並べてベクトル表記したものである。また、式
【数３９】
0004982471.tif 000040
【０１０１】
は出力画像から入力画像をサンプリングする過程を表し、その重み係数
【数４０】
0004982471.tif 000041
【０１０２】
をまとめた行列ＷはPoint Spread Function（ＰＳＦ）と呼ばれる。なお、サンプリング過程は位置ごとに異なっていてもよい。例えば、動きぼけ（モーションブラー）が生じている部分では動き方向に広がるＰＳＦを用いることが望ましい。信号パターンとしては、例えば、注目する画素を中心とした一辺の長さが
【数４１】
0004982471.tif 000042
【０１０３】
である２次元の長方形ブロックや、直径
【数４２】
0004982471.tif 000043
【０１０４】
の円内にある画素の輝度値を並べたものを使うことができる。
【０１０５】
（ＲＥＣＯＮＳＴＲＵＣＴＩＯＮ）  
入力ベクトルｙおよびそのPoint Spread Function（ＰＳＦ）が与えられれば、
【数４３】
0004982471.tif 000044
【０１０６】
に基づくｘの推定は、第１の実施形態で説明した方法をそのまま利用して行える。また、画像では、例えば隣り合う画素の輝度値が似ているといった、信号に特有の知識を与えることが可能である。この場合、次に説明するＭＡＰ法を用いてｘを推定してもよい。以下、図１５に示した流れにしたがってＭＡＰ法を説明する。これは演算部７０２が行う。
【０１０７】
（ＭＡＰ）  
（ステップ１）仮のｘ信号を生成する（Ｓ６０１）。仮のｘ信号は、例えば入力信号の補間により生成できる。
【０１０８】
（ステップ２）
【数４４】
0004982471.tif 000045
【０１０９】
の等式に対する誤差が大きいほどエネルギーが高くなる第１の項と、予め準備した自然画像の一般的な性質に対する画像ｘの誤差が大きいほどエネルギーが高くなる第２の項の２つを結合したエネルギー関数を考え、それを最小化する画像ｘを探す。例えば、自然画像の一般的な性質として近傍の画素の輝度値があまり変化しないと仮定すると、エネルギー関数として
【数４５】
0004982471.tif 000046
【０１１０】
という式を立てることができる。ここで、ノルムの右下の１はＬ１ノルムをあらわし、λｍは前記第２の項に対する重み、Ｐｍは平行移動を表す行列である。ｍは考える平行移動のバリエーションをあらわし、例えばＰｍとして
Ｐ１：水平方向の平行移動  
Ｐ２：垂直方向の平行移動
の２通りを考えれば、前記第２項は縦横それぞれについて隣接画素のずれの大きさの和を求め、その合計値をλで重みづけした値になる。
【０１１１】
Ｅを最小化する方法として例えばsteepest descent法が利用できる。steepest descent法とは、ｘの推定値
【数４６】
0004982471.tif 000047
【０１１２】
をエネルギー関数の勾配方向に−β倍したステップ進める操作を繰り返す方法であり、その更新は
【数４７】
0004982471.tif 000048
【０１１３】
により行える。
【０１１４】
具体的な手順は次の通りである。入力として、Ｗおよびｙを与える（Ｓ６０２）。上記の式をそのまま実行する場合は、まず、エネルギー関数の勾配ベクトルを保持するバッファ（一時記憶部７０１）を用意してゼロで初期化する（Ｓ１５０１）。次に、
【数４８】
0004982471.tif 000049
【０１１５】
の各行の式、および
【数４９】
0004982471.tif 000050
【０１１６】
の各行の式を評価してエネルギー関数の勾配ベクトルを更新する（Ｓ１５０２、Ｓ６０４）。すべての式の評価が終わった段階で、β倍を行い、それを推定値
【数５０】
0004982471.tif 000051
【０１１７】
から減ずる（Ｓ１５０３）。なお、上記の式をそのまま実行する代わりに、
【数５１】
0004982471.tif 000052
【０１１８】
の各行の式、および
【数５２】
0004982471.tif 000053
【０１１９】
の各行の式について、それをエネルギー関数の勾配方向を構成する式として（勾配項から注目する式以外を除去して）上記の更新式を順次適用することで、推定値
【数５３】
0004982471.tif 000054
【０１２０】
を逐次更新してもよい（この場合は、先にＰＯＣＳとして説明したＳ６０３〜Ｓ６０４と同様の流れになる）。なお、
【数５４】
0004982471.tif 000055
【０１２１】
の初期値は、変換対象フレームに線形補間やキュービックコンボリューション法などを適用して与える。
【０１２２】
（ステップ３）別途定めた回数だけステップ２を繰り返す（Ｓ６０５）。
【０１２３】
（ステップ４）信号出力部７０５が得られた推定高解像度画像
【数５５】
0004982471.tif 000056
【０１２４】
を出力する（Ｓ６０６）。
【０１２５】
なお、ここで示したＭＡＰ法のエネルギー関数は一例であり、このエネルギー関数でなくてもかまわない。例えば、エネルギー関数のいずれのＬ１ノルムについても、それを他のノルム（例えばＬ２ノルム）に置き換えることができる。また、例えば、事前知識である第２項を用いなくてもよい。この方法は特にＭＬ法と呼ばれることもあり、先のエネルギー関数でλｍ＝０とした場合に相当する。
【０１２６】
(対応点の推定)  
以上、ｙ＝Ｗｘの式が与えられたときに、ｘを推定する方法について説明した。利用できる情報が対象とする画像中の入力画素のサンプリング値のみのときには図１６のようにｙ＝Ｗｘの式は少ないが、対象以外の（例えば動画像の他のフレームから得られる）画像の情報を用いて図１７のようにｙ＝Ｗｘの式を増やせれば、より正確な出力画像が得られる。ｙ＝Ｗｘの式を増やす方法としては、例えば１次元信号の場合と同じような考え方が利用できるが、それ以外にも例えば、動画像の各フレームを解像度変換する場合のように、１次元信号にはなかった考え方でｙ＝Ｗｘの式を増やすこともできる。以下に具体的な例を説明する。
【０１２７】
（フレーム内データを利用した超解像）  
画像が１枚だけ与えられ、それを解像度変換する場合には、１次元信号と同じような考え方でｙ＝Ｗｘの式を増やせる。具体的には、図１８に示す手順で解像度変換を行う。
【０１２８】
（ステップ１）信号受付部７０４が画像を入力する（Ｓ１８０１、Ｓ１８０２）。なお、入力された画像は解像度変換の対象とすると同時に探索パターンデータとしても用いる。
【０１２９】
（ステップ２）与えられた入力データに対し、サンプリング値が欲しい画素の位置を決める（Ｓ１８０３）。つまり、もしサンプリング値がわかれば選択可能な解ｘを減らせるような位置を仮サンプリング位置として設定する。例えば、図１９あるいは図２０のように、出力解像度の画素間隔で設定することができる。図１９は入力解像度のサンプリング位置とは無関係に設定する例、図２０は入力解像度のサンプリング位置のみでは不足しているサンプリング位置を設定する例である。もちろん、例えば後述の補正によるずれの変動を考えて出力解像度よりも小さい画素間隔で設定してもよいし、出力画質への影響が大きいと見込まれる画素、例えばエッジ検出フィルタの出力値が大きい画素の近傍についてのみ仮サンプリング位置を設定してもよい。また、入力解像度よりも低い解像度の画素間隔で設定してもよい（処理コストは仮対応点の密度に比例するため、処理コストが減らせる）。なお、この時点では、設定した位置におけるサンプリング値は不明である。
【０１３０】
（ステップ３）仮サンプリング位置に対応するパターンを取得する。具体的には、例えば、仮サンプリング位置（仮対応点）を基準とした別途定めた上下左右の範囲（領域）、例えば、仮サンプリング位置を中心とした上下左右数画素のブロックを考え、その領域に対応するブロック（以下、参照ブロックと呼ぶ）を、図２１に示すように、補間により入力解像度と同じ画素間隔の輝度パターンとして生成する（Ｓ１８０４）。Ｓ１８０４では例えば、仮サンプリング位置が入力解像度の座標系で（７．６、６．３）の位置にあり、その位置を中心とした３ｘ３画素のブロックを得るのであれば、入力解像度の座標系で（６．６、５．３）、（７．６、５．３）、（８．６、５．３）、（６．６、６．３）、（７．６、６．３）、（８．６、６．３）、（６．６、７．３）、（７．６、７．３）、（８．６、７．３）の９点に対応する輝度を、補間により求める。なお、便宜上ブロックという言葉を用いたが長方形だけでなく任意の形状、例えば円や楕円、ひし形のような形でもよい。
【０１３１】
（ステップ４）参照ブロックとのブロック誤差がなるべく小さいブロック（推定ブロック）を入力画像内で探す（Ｓ１８０５）。ブロック誤差としては、例えば、各画素値の差のノルムを総和したもの（例えばＳＳＤやＳＡＤ）や、正規化相互相関が利用できる。探索においては、参照ブロック自身が選択させることを避けるため、例えば仮サンプリング位置からのＬ∞距離（Chebyshev距離）が別途定めたしきい値（例えば０．５画素）未満の位置にあるブロックは探索の候補から除外するとよい。探索の範囲は画面全体としてもよいが、より効率的に行うには、例えば、類似したパターンが参照ブロックの近くに現れやすいと仮定し、図２２のように参照ブロックを中心とした縦横それぞれ数画素（例えば２〜３画素）以内の範囲のみを探索し、その中でブロック誤差が小さいブロックを選択する。あるいは、例えば水平・垂直エッジ検出フィルタの出力値の比によって近傍のエッジ方向を推定し、図２３や図２４に示すように探索の候補をエッジ方向に限定してもよい。なお、推定ブロックとして選択するブロックはブロック誤差が最小となる１つとしてもよいし、ブロック誤差がしきい値以下となるブロックをすべて選択してもよい（この場合、すべてのブロック誤差がしきい値を超えるなら１つも選択されないことになる）。なお、この探索には必ずしもブロックマッチングを利用する必要はなく、画素単位で対応付けできる他の動き推定の手法を用いてもよいし、例えば、画素単位よりも小さい精度で対応付けを行う手法を用いてその結果を四捨五入してもよい。
【０１３２】
なお、ＳＳＤとはSum of Squared Differenceの略であり、ブロック間の２乗誤差をあらわす。その計算は、２つのブロックで対応する位置関係を持つ各画素について、画素値の差の２乗を求め、その総和を求めることで行える。ＳＡＤとはSum of Absolute Differenceの略で、ブロック間の絶対値誤差をあらわす。その計算は、２つのブロックで対応する位置関係を持つ各画素について、その画素値の差の絶対値を求め、その総和を求めることで行える。なおブロック誤差については他の文献、例えば文献（Jo Yew Tham et al., “A Novel Unrestricted Center-Biased Diamond Search Algorithm for Block Motion Estimation,” IEEE Transaction on Circuits and Systems for Video Technology, vol.8, no.4, Aug. 1998.）にも説明がある。
【０１３３】
（ステップ５）推定ブロックを基準として設定した仮サンプリング位置の位相ずれを推定し、仮サンプリング位置の補正を行う（なお、このステップはなくてもよい）。位相ずれの推定方法は１次元の場合と同様に行える。例えば、１次元で行うバイナリサーチを２次元の画像に適用する場合には、例えば、水平・垂直方向それぞれについて先に説明したバイナリサーチを行ってもよいし、例えば、現在の推定位相ずれを（Δｘ、Δｙ）としたときに、（Δｘ、Δｙ）、（Δｘ−ε、Δｙ）、（Δｘ＋ε、Δｙ）、（Δｘ、Δｙ−ε）、（Δｘ、Δｙ＋ε）の５点に対するブロック誤差、あるいは（Δｘ、Δｙ）、（Δｘ−ε、Δｙ−ε）、（Δｘ−ε、Δｙ）、（Δｘ−ε、Δｙ＋ε）、（Δｘ、Δｙ−ε）、（Δｘ、Δｙ＋ε）、（Δｘ＋ε、Δｙ−ε）、（Δｘ＋ε、Δｙ）、（Δｘ＋ε、Δｙ＋ε）の９点に対するブロック誤差を評価し、それらのうちブロック誤差が最も小さくなる位相ずれを選択する操作を、εを小さくしながら所望のεに達するまで繰り返してもよい。ここで述べたεとしては、例えば、最初に０．５を設定し、以降の操作では前回のεを０．５倍した値を新しいεとして使うことができる。例えば５点に対するブロック誤差を用いる場合は、図２５に示すように、まずε＝０．５の候補位置４点と元の位置についてブロック誤差を評価し（元の位置のブロック誤差は計算済みの値が使える）、そのブロック誤差が最も小さくなる位相ずれを選択する。ε＝０．２５以下についても同様の操作を繰り返す。なお、サブピクセル位置に対するブロック誤差の評価には、先に参照ブロックの生成において説明したように、補間によって入力画像と同じ解像度のブロックを生成し、それを評価に用いる。ただし、ブロック誤差の評価を５点に対して行う場合に限り、以上に説明した図２５の方法では推定不可能な位相ずれが存在する。余分な処理時間をかけてでも正確に求める必要がある場合には、図２５の方法を修正した図３２の方法を用いることで、どのような位相ずれでも推定できるようになる。図３２の方法では、具体的には次の手順で推定を行う。まず、図２５の方法と同様にε＝０．５の候補位置４点と元の位置についてブロック誤差を評価し、そのブロック誤差が最も小さくなる位相ずれを選択する。これを第１のε＝０．５の候補位置と呼ぶことにする。次に、（Δｘ、Δｙ）以外の４点のいずれかが選ばれた場合に限り、さらにその点を中心とした第２のε＝０．５の候補位置４点を考え、それらのうちでブロック誤差が最も小さくなる位相ずれを選択する。第２のε＝０．５の候補位置４点のうち２点については第１のε＝０．５の候補位置と重複するため、計算のうえでは重複しない２点のみを評価すればよい。この操作を行った後は、先に図２５を用いて説明した手順と全く同じ手順で、ε＝０．２５以下についての操作を行う（ε＝０．２５以下については第２の探索を行う必要はない）。なお、例えば（Δｘ＋０．５、Δｙ＋０．５）のような第２のε＝０．５の候補位置が選ばれた場合は、ε＝０．２５以下の操作において、（Δｘ、Δｙ）からｘ座標あるいはｙ座標が０．５以上離れた位置が候補位置として設定されることがある。例えば、第２のε＝０．５の評価によって（Δｘ＋０．５、Δｙ＋０．５）が選ばれたなら、ε＝０．２５の候補４点のうち（Δｘ＋０．７５、Δｙ＋０．５）、（Δｘ＋０．５、Δｙ＋０．７５）の２点は（Δｘ、Δｙ）から０．５以上離れた位置にある。理想的には（Δｘ、Δｙ）はブロック誤差最小の点から０．５以内の位置にあると期待できるから、これらの候補位置は省略しても良い（もちろん、理想からはずれることもあるため省略しなくても良い）。図３２の方法を用いることで、一度に評価する位置を現在の推定位置と候補位置４点の計５点に抑えながら、位相ずれを正確に推定できる利点がある。
【０１３４】
推定位相ずれの精度を上げながらブロック誤差の評価を繰り返す方法以外にも、補間信号パターンの誤差関数を利用した推定方法を利用する場合には、例えば、水平・垂直方向それぞれについて先に説明した位相ずれの推定方法を適用してもよい。あるいは、例えば誤差曲線を２次元の２次関数であると仮定すれば、２次元のサブピクセル位置ずれ（δｘ、δｙ）は次の式
【数５６】
0004982471.tif 000057
【０１３５】
を満たすと仮定でき、例えばδｘ、δｙとしてそれぞれ−１〜＋１の９点についてブロック誤差の実測値を与えてａ〜ｆの係数の最小２乗解を求めること、あるいは適当な６点を与えてａ〜ｆの係数の解を求めることにより、（δｘ、δｙ）を偏微分＝０で得られる２つの式を解いて推定できる。また、清水、奥富、「領域ベースマッチングのための２次元同時サブピクセル推定法」（電子情報通信学会論文誌Ｄ−ＩＩ、Ｖｏｌ．Ｊ８７−Ｄ−ＩＩ、Ｎｏ．２、ｐｐ．５５４−５６４、２００４）に示すように、１次元のサブピクセル位置ずれの式を用い、２次元の変位を同時に推定する方法を用いてもよい。なお、仮サンプリング位置の補正につては、仮サンプリング位置に対し、推定位相ずれの大きさを加減算するだけである。
【０１３６】
また、例えばHarrisのコーナ検出法（C. Harris, M. Stephens, A Combined Corner and Edge Detector, Alvey Vision Conference, pp. 147-151, 1988）を利用してコーナ判定を行い、コーナ部分では２次元のサブピクセル位置ずれの式を、そうでない部分では１次元のサブピクセル位置ずれの式を使ってもよい。
【０１３７】
（ステップ６）推定ブロックの中心におけるサンプリング値を仮サンプリング位置におけるサンプリング値とする。あるいは、ステップ５を行わない場合は、位相ずれを推定したうえで、仮サンプリング位置におけるサンプリング値を推定位相ずれに従って補間により生成してもよい。
【０１３８】
（ステップ７）仮サンプリング位置におけるPoint Spread Functionを
【数５７】
0004982471.tif 000058
【０１３９】
見つけたサンプリング値を
【数５８】
0004982471.tif 000059
【０１４０】
とした式を追加する。なお、ステップ３〜ステップ７は、基本的にはステップ２で設定した仮サンプリング位置すべてについて行うものである。例えば、シングルスレッドのプログラムとして実装する場合には、仮サンプリング位置を切り替えながら、ステップ３〜ステップ７を繰り返し実行する。しかし、例えば、放送映像に対し入力動画像のフレームレートと同じ速度で解像度変換を行い、その結果をテレビやモニタにリアルタイムに出力する利用方法のように、処理時間に制約がある場合には、予め打ち切り時間を定めておき、打ち切り時間に達したときにはすべて処理していなくてもステップ８に進める、といった方法をとってもよい。処理しなかった仮サンプリング位置は破棄する。
【０１４１】
（ステップ８）得られたＷとｙに対しＲＥＣＯＮＳＴＲＵＣＴＩＯＮを行う（Ｓ１８０６）。  
（ステップ９）もし動画像の解像度変換を行っているのであれば、すべてのフレームを処理するまで、入力画像を次のフレームに切り替えてステップ２から繰り返す。
【０１４２】
（フレーム内とフレーム間データの統合による超解像）  
動画像のフレームを対象とした解像度変換や、マルチカメラによって撮影された複数の画像を対象とした解像度変換では、音データにおいてステレオや５．１ｃｈのデータを対象とするときと同じように、探索パターンデータとして、解像度変換の対象とする画像に加え、複数枚の画像内のデータを利用することもできる。探索パターンデータを増やすことで、推定信号ｘに残るあいまいさを減らすこと、あるいはｙ＝Ｗｘに追加すべき各式における信号パターン誤差（画像においてはブロック誤差）を減らすことができる。その結果、推定信号ｘに混入するノイズを減らせ、解像度変換後の画像の品質を上げることができる。
【０１４３】
以下に、解像度変換の手順を具体的に説明する。  
（ステップ１）変換の対象とする画像（入力画像）を入力する（Ｓ１８０１）。例えば、動画像の解像度変換であれば、動画像中で次に変換すべき変換対象フレームを設定する。  
（ステップ２）探索の対象とする画像（ｙ＝Ｗｘの式を増やすために使う画像）を複数入力する（Ｓ１８０２）。例えば、動画像の解像度変換であれば、変換対象フレーム自身、およびその前Ｋフレーム、およびその後Ｋフレームの計（２Ｋ＋１）フレームを入力とすることができる。なお、変換対象フレーム自身、前Ｋフレーム、後Ｋフレームのすべてを用いる必要はなく、これらのいずれか、およびこれらのいくつかの組み合わせを用いてもよい。例えば、変換対象フレーム自身は用いずに前Ｋフレームと後Ｋフレームを用いてもよいし、変換対象フレーム自身と前Ｋフレームを用いてもよい。
【０１４４】
（ステップ３）入力画像に対し、サンプリング値が欲しい画素の位置（仮サンプリング位置）を決める（Ｓ１８０３）。この設定方法については、先に説明した１枚の画像に対する解像度変換を行う場合と同じ設定方法が利用できる。
【０１４５】
（ステップ４）仮サンプリング位置に対応する画像ブロックを取得する（Ｓ１８０４）。具体的には、例えば図２１に示すように、仮サンプリング位置（仮対応点）を基準とした別途定めた上下左右の範囲（領域）、例えば、仮サンプリング位置を中心とした、入力画像の画素と同じ間隔で上下左右に数画素を仮想的に配置したブロックを考え、その領域に対応する上記で定義した参照ブロックを、補間により入力解像度と同じ画素間隔の輝度パターンとして生成する。
【０１４６】
（ステップ５）探索の対象とする画像内で、参照ブロックとのブロック誤差（例えば、ＳＳＤあるいはＳＡＤ）がなるべく小さいブロック（推定ブロック）を探す（Ｓ１８０５）。探索の対象のうち変換対象フレーム自身については、先に説明した１枚の画像に対する方法と同様に、参照ブロック自身が選択されないようにブロックの候補を設定する。それ以外の画像フレームに対しては、例えば、次の方法でブロックの候補を設定する。例えば、前フレーム、後フレームのそれぞれについて、変換対象フレームに近い画像から順に、直前のフレームでブロック誤差が最小となったブロックの位置を中心として（変換対象フレームの直前・直後のフレームについては参照ブロックの位置を中心として）、その周辺の別途定めた範囲（例えば、水平・垂直方向の差がいずれも１０画素以内の範囲）の各整数画素位置についてブロックの候補を設定する。設定されたブロックの各候補について、図２６に示すように参照ブロックとのブロック誤差（例えばＳＳＤやＳＡＤ）を評価し、ブロック誤差が最小となる（あるいはブロック誤差が一定値以下となる）ブロックを推定ブロックとする。対応付けにより、変換対象フレーム上の各仮サンプリング位置は、一般に、それぞれ別々のフレーム上の画素位置に対応付けられる（図２７）。なお、探索には各種高速探索アルゴリズム、例えばDiamond Search(Jo Yew Tham et al., “A Novel Unrestricted Center-Biased Diamond Search Algorithm for Block Motion Estimation,” IEEE Transaction on Circuits and Systems for Video Technology, vol.8, no.4, Aug. 1998.)を用いてもよい。
【０１４７】
（ステップ６）推定ブロックを基準として設定した仮サンプリング位置の位相ずれを推定し、仮サンプリング位置の補正を行う（なお、このステップはなくてもよい）。位相ずれの推定方法は先に説明した１枚の画像に対する方法と同じ方法が使える。このステップにより、図２７のように対応付けられた各仮サンプリング位置は、図２８のように最初に設定した位置からわずかにずらされる。
【０１４８】
（ステップ７）推定ブロックの中心におけるサンプリング値を仮サンプリング位置におけるサンプリング値とする。ステップ６を行わない場合は、位相ずれを推定したうえで、仮サンプリング位置におけるサンプリング値を推定位相ずれに従って補間により生成してもよい。
【０１４９】
（ステップ８）仮サンプリング位置におけるPoint Spread Functionを
【数５９】
0004982471.tif 000060
【０１５０】
見つけたサンプリング値を
【数６０】
0004982471.tif 000061
【０１５１】
とした式を追加する。ステップ４〜ステップ８は先に説明したように、仮サンプリング位置すべてについて実行してもよいし、一部の仮サンプリング位置についてのみ実行してもよい。処理しなかった仮サンプリング位置は破棄する。
【０１５２】
（ステップ９）得られたＷとｙを用いてＲＥＣＯＮＳＴＲＵＣＴＩＯＮを行う（Ｓ１８０６）。  
（ステップ１０）もし動画像の解像度変換を行っているのであれば、すべてのフレームを処理するまで、次に変換すべき変換対象フレームを切り替えてステップ２から繰り返す。  
この手法は動画像の代わりに複数のチャネルを持つ画像、例えば複数の視点から撮像された画像を解像度変換する際にも適用できる。
【０１５３】
（本実施形態の手法と従来の超解像との違い）  
従来の超解像との大きな違いは、従来の手法が他のフレームから変換対象フレームへの正確な動きを求めて対応付けを行うのに対し、本実施形態の手法では変換対象フレーム内のサンプリング値を必要とする位置を基準とした各局所パターンについて、他のフレーム内で正確に一致する局所パターンを探して対応付けを行う点である。「S. C. Park et al., “Super-Resolution Image Reconstruction: A Technical Overview,” IEEE Signal Processing Magazine, pp.21-36, May 2003.」によれば、従来の超解像では、正確な動きを求めるために例えば物体単位での複雑な動きの推定を利用する。しかし、正確な動きを求めるために時間をかけて複雑な画像処理を行っても、次の（Ａ）、（Ｂ）の問題が残る。（Ａ）得られた正確な動きに含まれる位相ずれが解像度変換に適しているかどうかは不明である。（Ｂ）フレームによっては物体自身の変形や移動により対応する位置が存在しないため、動きベクトルの推定誤りといったノイズの混入によるｙ＝Ｗｘへの誤った式の追加は避けられない。これらの問題のうち（Ａ）については、本実施形態の手法の仮サンプリング位置の設定を行うことで、解決あるいは大幅に軽減できる問題である。次に（Ｂ）の問題についてであるが、本実施形態の手法において探索パターンデータとして複数枚の画像内のデータを利用することは、複数の画像の中で十分にブロック誤差の小さいブロックだけを選択する操作を行っていることになり、対応する位置が存在しないフレーム内のブロックは通常、この操作によって除外される。あるいは、推定ブロックとして最もブロック誤差の小さいブロックだけを選択する場合には、複数のフレームのうち１フレームでも物体自身の変形や移動が起こっていないブロックが存在しさえすれば、それ以外のフレームでどのような変形などが起こっていてもそれらのフレーム内のブロックは選択されないから、そのようなフレームに対応付けられることにより生じるｙ＝Ｗｘへの誤った式の追加は起こらない。したがって、少なくとも、動画像の各フレームから解像度変換の対象とするフレームに対する動きを求める従来の方法と比べると、解像度変換の対象とするフレームに設定した仮サンプリング位置から、他の複数のフレームから妥当なブロックだけを選択する本実施形態の手法を用いることで、ｙ＝Ｗｘに対して誤った式が追加される可能性は大幅に減ると期待できる。つまり、本発明によれば（Ｂ）の問題も大幅に軽減できる。
【０１５４】
なお、先に説明した実施形態はブロックマッチングと関数フィッティングを用いて対応点を決める方法の一種であると考えられるが、従来のように仮サンプリング位置を設定せずに対応点を求める方法とは次の理由で大きく異なる。整数画素単位でブロックマッチングによる探索を行うと、１次元において参照信号パターンに対する位相ずれがゼロに近い信号パターンが優先的に選ばれたのと同じ現象が起こる。したがって、入力解像度の整数画素位置を基準としてブロックマッチングを行うと、図２９に示すように、得られる対応点２９０２は入力解像度の整数画素位置１９０１の近くに集中する。そのような位置に対するPoint Spread Functionは入力画像の整数画素位置１９０１に対するPoint Spread Functionと類似した係数を持つから、実質的には推定信号のあいまいさを減らすことができない（実質的に、同一の係数を持つ方程式を並べただけになる）。画像における理想的な対応点は、例えば図３０に示す位置である。例えば、この位置に仮サンプリング位置を設定し、本実施形態の手法でブロックマッチングと仮サンプリング位置の補正を行えば、得られる対応点の位置３１０１は図３１のようになる。本実施形態の手法による対応点（図３１）にPoint Spread Functionとサンプリング値を設定して得られる式は、単にブロックマッチングを用いて得られた対応点２９０２（図２９）に同様の操作を行って得られる式と比べ、出力画像のあいまいさを大幅に減らせ、出力画像の画質を大幅に向上させることができる。
【０１５５】
（フレーム間対応の変形例）  
なお、本実施形態の手法においても２フレーム間の動き推定を利用することは可能である。例えば、与えられたブロックに対し、フレーム間の動き推定を高速に実行する回路が４つ利用できる場合を考える。この場合は、例えば次のように利用することもできる。まず入力として、解像度変換の対象とする画像（変換対象フレーム）、および４つの他フレームを受理する。次に、変換対象フレームに対し仮サンプリング位置を設定する。次に、各仮サンプリング位置について、その位置を中心としたブロックを補間生成し、各他フレームについて動き推定回路を利用して対応位置を見つける。最後に、以下の（１）（２）のいずれかを実行する。（１）得られた位置すべてについて、仮サンプリング位置の補正を行った上でｙ＝Ｗｘを生成し、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮを実行する。（２）まず、補間生成したブロックごとに、返された４つのブロックのブロック誤差を評価してブロック誤差が最も小さいブロックを選択する。次に、選択された各ブロックから得られる位置のそれぞれについて、仮サンプリング位置の補正を行った上でｙ＝Ｗｘを生成し、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮを実行する。
【０１５６】
（２次元対応点推定の高速化）  
以上の説明においては、仮サンプリング位置を取得するステップ（Ｓ１８０４）において補間を行っていた。この補間は仮サンプリング位置の数だけ行う必要があるため、データ量によってはかなりの処理時間がかかる。特に、計算量の多い補間方法を用いる場合にはそれが顕著である。ところで、それぞれの補間で切り出されるブロックは、わずかにずれた位置を中心としたブロックである。したがって、もし仮サンプリング位置の間隔を入力解像度で表現した場合に、整数値からなる分数で画素間隔を表すとその分母が小さい値となるのなら、予め画面全体に対する補間画像を必要なだけ生成しておき、ブロックを取り出すときには補間画像からブロックを取り出せば、補間に必要な演算量を減らせる。以下、具体的な手順について説明する。なお、ここでいう仮サンプリング位置の間隔とは、具体的には、例えば１／２画素間隔や１／３画素間隔、２／３画素間隔のような値のことをいう。
【０１５７】
（ステップ１）上述した実施形態と同様に画像を入力する（Ｓ１８０１、Ｓ１８０２）。
【０１５８】
（ステップ２）与えられた入力データに対し、サンプリング値が欲しい画素の位置を仮サンプリング位置として設定する（Ｓ１８０３）。このとき、水平方向・垂直方向の仮サンプリング位置の間隔は等間隔となるようにしておく。以下、入力解像度で表現したときの水平方向・垂直方向の仮サンプリング位置の間隔をそれぞれ
【数６１】
0004982471.tif 000062
【０１５９】
で表す。右上の（ｘ）、（ｙ）は方向（順に水平・垂直）を表し、方向を明記する必要がない場合は単に
【数６２】
0004982471.tif 000063
【０１６０】
と表記する。各
【数６３】
0004982471.tif 000064
【０１６１】
は整数で、
【数６４】
0004982471.tif 000065
【０１６２】
を満たすものとする。
【０１６３】
（ステップ３）各方向についてすべてのシフト値
【数６５】
0004982471.tif 000066
【０１６４】
を考えると、水平・垂直方向の組としてはシフトを行わない場合も含めて
【数６６】
0004982471.tif 000067
【０１６５】
通りのシフト値の組が存在する。これらのシフト値の組すべてについて、解像度変換の対象とする画像をシフト値の組だけずらした画像を、補間により生成する。
【０１６６】
（ステップ４）仮サンプリング位置に対応するシフト値の組だけずらした画像から、仮サンプリング位置を基準としたパターンを取得する（Ｓ１８０４）。上述の実施形態ではここで補間を必要としていたが、ステップ３ですべての補間パターンを生成しているため、この実施形態では仮サンプリング位置ごとの補間を必要とせず、生成済みのパターンを利用できる。
【０１６７】
（ステップ５）今までの実施形態と同様に、フレーム内データ、あるいは他のフレームを利用してＳ１８０５以降のステップを実行する。なお、ここでは２次元の例として説明したが、補間パターンを予め生成しておいて逐次補間を避けることは他の次元、例えば１次元でも同様に利用できる。
【０１６８】
（データベースの利用）  
１次元信号と同様、２次元信号の画像についても、再現性を持つ局所的なパターンが多く存在する。したがって、予め多くの画像からブロックを切り出してそれらをデータベースに保存しておき、探索の候補としてそれらのブロックを加えることで、ｙ＝Ｗｘに追加する式をより良くできる可能性を上げられる。なお、保存された画像の撮像過程は一般に入力画像の撮像過程と一致しないから、Point Spread Functionとしては入力画像とは別の関数を用いてもよい。なお、多くの画像から多数のブロックを切り出すとデータベースに必要なディスク容量や探索に必要な時間が極めて大きくなるため、クラスタリングによるデータ量の削減を行っておいてもよい。クラスタリングには、例えばＫ−Ｍｅａｎｓ法が利用できる。
【０１６９】
（欠落データを含む変換：インタレースｔｏプログレッシブ）  
入力画像がインタレース動画像の場合、その各フレームに対し、本実施形態の手法で解像度変換を施す方法の１つは、各フレームを構成する２つのフィールドのそれぞれを１つの画像とみなし、それぞれのフィールド画像に対して本実施形態の手法を適用した上で、２つのフィールド画像からインタレース動画像フレームを生成することである。あるいは、２つのフィールドのそれぞれについて、縦方向の補間により２つのプログレッシブ画像フレームを生成し、本実施形態の手法を適用して出力解像度のプログレッシブ画像フレームを得た後、出力画像に対する縦方向の間引きを行い、インタレース動画像フレームを生成することもできる。
【０１７０】
（欠落データを含む変換：インタレース画像に対する超解像）  
また、インタレース動画像の解像度変換においてより高品質な画像を得るために、インタレース動画像に対し、本実施形態の手法を次の方法で適用することもできる。次に述べる方法では、インタレース動画像の各フィールドについて、出力画像としてプログレッシブ画像フレームを得ることができるため、処理後に出力画像に対する縦方向の間引きを行えば、インタレース動画像フレームを生成できる。
【０１７１】
（ステップ１）変換の対象とする入力画像フィールドを入力する。あるいは、動画像に対して、次に変換の対象とする画像フィールドを設定する。２フィールドの画像が混じったデータの場合は、トップフィールド、ボトムフィールドを分離し、元のデータの時系列にしたがって入力する。あるいは、２つのフィールドの時系列が不明であれば、そのいずれかを先に処理する。
【０１７２】
（ステップ２）探索の対象とする画像（ｙ＝Ｗｘの式を増やすために使う画像）を複数入力する。例えば、変換対象フィールド自身、およびその前Ｋフィールド、およびその後Ｋフィールドの計（２Ｋ＋１）フィールドを入力とすることができる。
【０１７３】
（ステップ３）入力フィールドとその欠落フィールドを考えた入力フレームの画像空間で、サンプリング値が欲しい画素の位置（仮サンプリング位置）を決める。この設定方法については、先に説明した１枚の画像に対する解像度変換を行う場合と同じ設定方法が利用できる。仮サンプリング位置は欠落部分にも配置する。
【０１７４】
（ステップ４）仮サンプリング位置に対応する画像ブロックを取得する。具体的には、例えば、仮サンプリング位置（仮対応点）を基準とした別途定めた上下左右の範囲（領域）、例えば、仮サンプリング位置を中心とした上下左右数画素のブロックを考え、その領域に対応する上記で定義した参照ブロックを、補間により入力解像度と同じ画素間隔の輝度パターンとして生成する（Ｓ１８０４）。なお、欠落フィールドについては輝度値が不明であるため、縦方向については解像度が１／２の画像座標系を仮想的に考え、縦が１／２の座標系における仮サンプリング位置を基準として補間を行う。
【０１７５】
（ステップ５）探索の対象とするすべての画像フィールドを対象として、参照ブロックとのブロック誤差（例えば、ＳＳＤあるいはＳＡＤ）がなるべく小さいブロック（推定ブロック）を探す（Ｓ１８０５）。この探索は、フレームではなくフィールドを単位とする点を除き、先に説明した方法（インタレース画像ではなくプログレッシブ画像を対象とした方法）と同じ方法で行えばよい。
【０１７６】
（ステップ６）推定ブロックを基準として設定した仮サンプリング位置の位相ずれを推定し、仮サンプリング位置の補正を行う（なお、このステップはなくてもよい）。仮サンプリング位置の補正についても、先に説明した方法と同様の方法で行えばよい。
【０１７７】
（ステップ７）推定ブロックの中心におけるサンプリング値を仮サンプリング位置におけるサンプリング値とする。ステップ６を行わない場合は、位相ずれを推定したうえで、仮サンプリング位置におけるサンプリング値を推定位相ずれに従って補間により生成してもよい。
【０１７８】
（ステップ８）仮サンプリング位置におけるPoint Spread Functionを
【数６７】
0004982471.tif 000068
【０１７９】
見つけたサンプリング値を
【数６８】
0004982471.tif 000069
【０１８０】
とした式を追加する。ステップ４〜ステップ８は先に説明したように、仮サンプリング位置すべてについて実行してもよいし、一部の仮サンプリング位置についてのみ実行してもよい。処理しなかった仮サンプリング位置は破棄する。
【０１８１】
（ステップ９）得られたＷとｙを用いてＲＥＣＯＮＳＴＲＵＣＴＩＯＮを行う（Ｓ１８０６）。ここで得られる画像データはインタレースではなくプログレッシブの画像データである。そこで、必要であれば、縦方向に間引きを行い、インタレース画像データを生成する。なお、出力フィールド画像データの正確さでは劣るが簡易的な方法として、Point Spread Functionを出力フィールドの各画素の重みつき和として定義しておき、出力しない（あとで間引かれる）フィールドの情報を考慮せずにＲＥＣＯＮＳＴＲＵＣＴＩＯＮを行う方法を用いてもよい。
【０１８２】
（ステップ１０）すべてのフィールドを処理するまで、次に変換すべき変換対象フィールドを時系列にしたがって切り替えながら、ステップ２からの操作を繰り返す。
【０１８３】
（インタレースｔｏプログレッシブ変換の変形例）  
以上がインタレース動画像に対する本実施形態の手法の適用方法の１例であるが、インタレース動画像であっても、例えば静止領域については時刻・位置のずれたフィールドであってもそのまま利用できる。ところで、インタレース動画像のフィールドデータは通常、０→１→０→１→…のように交互に保存されている。したがって、例えば解像度変換対象フィールドの直前・直後のフィールドの各画素について、そのフィールド間の輝度値に差がないとみなせる（例えば、差が別途定めたしきい値を超えない）なら、その画素については直前あるいは直後のフィールドにある輝度をそのまま用いても（あるいはそれらの平均値を用いても）よいことになる。このように欠落フィールドの輝度値の一部を推定しておけば、例えば、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮにおける拘束条件ｙ＝Ｗｘの式の追加、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮにおけるｘの初期値を与える際の補間での利用、ステップ４において補間で生成するブロック内の輝度値の推定に利用できる。なお、例えば、前後のフィールドから推定できなかった画素については、解像度変換対象フィールドからの縦方向の補間によって推定してもよい。補間により未知フィールドのデータをすべて与えておけば、ｘの初期値やブロックの補間において、キュービックコンボリューションのように等間隔のサンプリングデータが必要な方法も容易に利用できるようになる。その際、縦方向の補間により推定されたデータを拘束条件ｙ＝Ｗｘに加える必要はない。
【０１８４】
（補間方法の変形例）  
なお、今までの実施形態ではｘの初期値を与えるために補間を用いてきたが、ｘの初期値を与えるために必ずしも補間を用いる必要はなく、例えば、各出力画素位置について、入力信号や入力画像の各サンプリング位置と、補正を行った後の仮サンプリング位置のうちでもっとも近い位置を探し、その輝度値を初期値としてもよい。
【０１８５】
（速度と精度のトレードオフ制御）  
また、仮対応点（仮サンプリング位置や仮サンプリング時間）の配置間隔を変更すれば、計算量と精度のバランスを制御できる。出力サンプリングレートと同じ間隔での仮対応点の配置を基準とするとき、出力サンプリングレートと同じかそれ以上の高いサンプリングレートで仮対応点を配置すれば、得られる式の本数が変数の数を上回り、計算量は多いものの信頼性の高いｘが得られる。一方、出力サンプリングレートよりも低い間隔で仮対応点を配置すると、得られる式の本数が変数の数よりも小さくなり、計算量は減らせるがｘの信頼性は低くなる。しかし、出力サンプリングレートより低いサンプリングレートで仮対応点を配置しても、必ずしもユーザが感知できるほどｘが劣化するわけではない。そこで、例えばテレビやハードディスクレコーダに本発明の実施形態を利用する場合のように、再生速度と同等の処理時間しかかけられず計算量を減らす必要があるなら、出力サンプリングレートを下げて利用しても良い。
【０１８６】
（３次元以上の信号への拡張方法）  
なお、上記の本実施形態では主に１次元信号および２次元信号（画像）の場合について説明したが、実施形態の手法は、３次元以上の信号についても適用できる。例えば、放射線（Ｘ線ＣＴ）、核磁気（ＭＲＩ）により撮影され生成された３次元のボクセル信号や、画像を時系列に並べた時空間画像に対して、実施形態の手法を適用することも可能である。また、例えばＲＧＢやＹＵＶのように信号が１次元でない場合は、それぞれの信号に対して実施形態の手法を適用してもよい。あるいは、例えば、対応位置を求めるステップ（ＲＥＣＯＮＳＴＲＵＣＴＩＯＮ以外のステップ）を１度だけ実行し、得られた結果をすべての信号に対して利用してもよい。また、例えば、ブロック誤差として、対象とする多次元信号の空間（例えばＲＧＢ空間）で求めた２乗誤差や絶対値誤差の総和を用いてもよい。
【０１８７】
以上に示した第２の実施形態によれば、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮに基づくサンプリングレート変換（画像においては解像度変換）において、まず所望の仮サンプリング時間あるいは仮サンプリング位置を設定し、それに対応するサンプリング時間あるいはサンプリング位置を見つけるという方法を用いてｙ＝Ｗｘに式を追加することによって、従来の方法と比べ推定信号ｘのあいまいさを減らすことができ、出力信号を従来と比べ高い精度で推定できる。
【０１８８】
（対応点の配置方法）  
以上の説明では、出力解像度から仮対応点（あるいは仮サンプリング位置、以下同様）の位置を決める例を示したが、本発明は、特に仮対応点を均一に配置することに限定するものではない。また、各仮対応点を均一に配置することは、画質、処理コストの両面において必須ではない。
【０１８９】
仮対応点が均一に配置されれば、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮで解くべき連立方程式はｘを安定して推定できるものになりやすいが、もし仮対応点を均一に配置することで求める対応点がずれてしまうなら、追加されたｘとｙの関係式そのものの信頼性が低くなるため、ｘの推定誤りが大きくなってしまう。各仮対応点が既知の画素、および他の仮対応点からある程度離れた位置に配置されているのなら、得られる対応点がなるべくずれないように、仮対応点を配置したほうが良い。
【０１９０】
以下、仮対応点が均一でない配置が望ましい場合の例を示す。
【０１９１】
（仮対応点の格子上での配置）  
例えば、仮対応点の位置と仮対応点の修正方法の組み合わせによって、得られる対応点が大きくずれることがある。対象を２次元の画像とし、仮対応点（仮サンプリング位置）の位相ずれを修正する方法の一つとして、水平・垂直方向それぞれについて位相ずれの推定方法を適用する方法を説明する。図３３は仮対応点の位相ずれを修正する具体的な方法の例である。ここでは、予め、ブロックマッチングによる整数画素単位での対応付けにより、３３０１が得られているものとする。ここで、  
（ステップ１）３３０１のブロック誤差、および上下の画素３３０２、３３０３におけるブロック誤差を求めて垂直方向での誤差関数を立て、極小位置３３０４を見つけ、  
（ステップ２）３３０４を基準とした左右の画素３３０５、３３０６におけるブロック誤差を求めて水平方向での誤差関数を立て、極小位置３３０７を見つける、  
という操作を行う場合、仮対応点の修正が可能である。このとき水平あるいは垂直の推定順序は逆にしてもよい。
【０１９２】
（ブロック誤差が最小となる位置である）真の位置が、水平及び垂直の両方について大きな修正を必要とする場合や、最初に推定する方向に対する修正と２番目に推定する方向に対する修正のうち、２番目に推定する方向が必要な修正量が大きい場合に、修正の精度は悪くなる。
【０１９３】
例えば図３４に示すように仮対応点を均一に配置することを考える。多くの動画像は背景やキャプションなどの静止領域を含むが、３４０３のように仮対応点が配置されると、静止領域について水平及び垂直の両方について大きな修正を必要とすることになる。一方、静止領域では動領域と比べ人間の視力が高くなるために、静止領域で対応点が誤りを含んでいる場合には画質が低下してしまう可能性が高い。しかしながら、仮対応点の修正にあたり水平・垂直方向それぞれについて先に説明した位相ずれの推定方法を用いると、３４０３のように配置された仮対応点については、最終的に得られる対応点の精度が悪くなりやすい。
【０１９４】
この問題に対応する方法の１つは、図３５に示すように、入力画素を基準として、水平あるいは垂直方向のいずれか一方だけにずらした位置に仮対応点を配置する方法である。この場合、水平方向にずらした位置に配置された仮対応点については水平方向の誤差関数を先に評価し、また、垂直方向にずらした位置に配置された仮対応点については垂直方向の誤差関数を先に評価することで、仮対応点が静止領域に配置された場合に得られる対応点の誤りを抑えることができる。つまり、最終的に得られる画像における画質の低下を抑えることができる。
【０１９５】
以上の例は、仮対応点の修正に１次元の誤差関数を用いるという例であるが、仮対応点の修正方法により最適な配置方法が変化するという点は他の修正方法についても同様である。また仮対応点の修正方法として別の修正方法を用いた場合でも、最適な仮対応点の配置方法が均一な配置になるとは限らない。なお、仮対応点の修正方法が１次元の誤差関数を用いるような簡単な方法でなくても適用可能である。例えばある修正方法に対して優れた仮対応点の配置方法を、画像データの組を複数準備したうえで、仮対応点の配置方法を変化させながら、仮対応点の修正によって得られるブロック誤差の最小値が平均的に小さくなるような仮対応点の配置方法を探すことで見つけることが可能である。
【０１９６】
また、１次元の誤差関数を用いて修正する方法は、２次元の画像に限るものではなく、入力データが３次元以上であっても同様に適用可能である。一般に、Ｎ次元のデータに対し、仮対応点のうち１次元（これをＮ次元空間内の軸とよぶことにする）のみを修正し、残りの（Ｎ−１）次元は修正しないという場合に、（Ｎ−１）次元分が入力解像度（入力サンプリングレート）での整数値となるように（そしてずらす１次元の方向については入力サンプリングレートで非整数値となるように）各仮対応点を配置しておくことで、先に述べた２次元の例と同じ効果を得ることができる。言い換えると、仮対応点を、入力Ｎ次元データのうち１つの画素（サンプリング点）を基準として、いずれかの１次元の方向にずらした位置に配置することで、修正が１次元で行われる場合でも仮対応点の修正を比較的高い精度で行うことができることになる。さらに、Ｎ次元のうちいずれかの１次元の方向に沿った誤差関数ではなく、斜めとなる方向（つまり、Ｎ次元空間内の任意の方向）の誤差関数を考えて、その誤差関数により仮対応点の位置を修正する場合には、同様に、その誤差関数に沿った斜めの方向に仮対応点をずらせばよい。
【０１９７】
なお、全ての対応点を１次元の修正で求める必要はなく、仮対応点をすべて１次元の修正にあわせて配置する必要もない。例えば、入力データが２次元の画像である場合、テクスチャ部では仮対応点の修正精度がエッジよりも落ちる場合がある。この場合、Harrisオペレータによるエッジ検出を行い、テクスチャでないとされた画素については１次元の修正を行い、それ以外の部分については２次元の修正を行うという方法が適用可能である。テクスチャでないとされた画素とはこの場合、Harrisオペレータによって得られる固有値のうち少なくとも１つが小さいとみなせる画素である。したがって、例えば、Harrisオペレータによりテクスチャでないとされた部分については１次元の誤差関数に適した仮対応点を配置し、それ以外の部分については均一な仮対応点の配置を行う方法を利用し、先に述べた修正方法を利用してもよい。
【０１９８】
（対応づけのブロック化）  
本発明の実施形態における今までの例では、仮対応点（仮サンプリング位置）１つ１つについて独立に、マッチングや仮対応点（仮サンプリング位置）の修正を施した。この方法はより正確な対応付けに向いているが、処理コスト（あるいは回路規模）が増大するという欠点もある。そこで、複数の仮対応点（仮サンプリング位置）をまとめて処理する例を以下に示す。
【０１９９】
例えば入力画素（入力信号）の間隔（サンプリング間隔）が仮対応点（仮サンプリング位置）の間隔と等しい場合、複数の仮対応点の位相差が等しいと仮定して対応付けを行うことにより、仮対応点（仮サンプリング位置）に対応する位置をまとめて求めることができる。仮対応点を均一に配置しなくてもよいとすると、入力画素（入力信号）の間隔と等しくなるように仮対応点を配置しておけば、仮対応点に対応する位置をまとめて求めることができる。以下、例として画像での仮対応点の配置方法を説明するが、この配置方法は１次元の信号であっても、２次元の画像であっても、あるいは３次元以上のデータであっても適用可能である。
【０２００】
はじめに、２つの仮対応点をまとめて対応付ける方法について図３６を用いて説明する。まとめて対応付けが行えるように仮対応点を配置するには、１つの仮対応点を配置した後に、その仮対応点から入力解像度で１画素分だけずれた位置に別の仮対応点を配置すればよい。例えば、仮対応点３６０２の配置後に、入力解像度で１画素ずれた位置に仮対応点３６０３を配置し、仮対応点３６０４の配置後に、入力解像度で１画素ずれた位置に仮対応点３６０５を配置し、以下同様に仮対応点を配置していけば、対になる仮対応点は必ず整数画素分だけ離れた位置に配置されることになる。なお、対にならない仮対応点は他の仮対応点から入力解像度で１画素分だけずれた位置でなくてもよく、例えば仮対応点３６０６のような配置を行ってもよい。必ずしも１画素分ずれた位置でなくても、整数画素位置だけずれた位置に配置されていれば同時に対応付けを行うことは可能である。図３７は、仮対応点３７０２から入力解像度で２画素分ずれた位置に仮対応点３７０３を配置する例を示している。また、２次元の画像で横方向にずらす例を示したが、ある仮対応点から縦や斜めにずれた位置に仮対応点を配置してもよい。以上の説明では２つの仮対応点が対になるような配置方法を説明したが、各仮対応点の間隔は入力解像度での画素間隔の整数倍になっていれば、この配置方法は３つ以上の仮対応点の配置にも容易に拡張できる。
【０２０１】
次に、仮対応点の配置間隔が入力解像度での画素間隔になるように、仮対応点を配置する際の解像度を決める方法について説明する。仮対応点を出力解像度と同じ解像度で配置するのではなく、入力解像度の整数倍あるいは入力解像度の有理数倍となる解像度で配置すれば、ある仮対応点に対し、入力解像度で整数画素間隔になるように配置された仮対応点が存在する。仮対応点を入力解像度に対して整数倍となる解像度で配置した場合は１画素間隔、仮対応点を入力解像度に対して（整数でない）有理数倍となる解像度で配置した場合はその倍率に応じた２以上の画素間隔で、組にできる仮対応点が存在する。
【０２０２】
例えば、入力解像度に対して縦横それぞれ２倍の解像度となるように仮対応点を配置すれば、図３８に示すように、３８０１の各仮対応点、３８０２の各仮対応点はそれぞれ整数画素間隔で配置されているから、同時に対応付けを行うことができる。この配置方法は先に述べた水平・垂直方向のいずれか一方だけにずらした位置に仮対応点を配置する方法と組合せることもでき、この場合は図３９のように配置することになる。３９０１の各仮対応点、３９０２の各仮対応点はそれぞれ整数画素間隔で配置されている。なお、図３８の例に示した配置は、例えば、ｋを整数とするとき、入力解像度において（１／４＋ｋ、１／４＋ｋ）、（３／４＋ｋ、１／４＋ｋ）、（１／４＋ｋ、３／４＋ｋ）、（３／４＋ｋ、３／４＋ｋ）となる位置に仮対応点を配置することで得られる。また、図３９の例に示した配置は、例えば、ｋを整数とするとき、入力解像度において（１／４＋ｋ、０）、（３／４＋ｋ、０）、（０、１／４＋ｋ）、（０、３／４＋ｋ）となる位置に仮対応点を配置することで得られる。倍率は２倍以外の倍率で仮対応点を配置してもよいし、縦横のそれぞれで別の倍率となるように仮対応点を配置してもよい。
【０２０３】
このように複数の仮対応点が入力解像度の整数画素間隔で配置された場合には、同時に対応付けを行うことができる。このような対応付けは、先に説明した、１つの仮対応点を中心としたブロックの各輝度（入力パターン）を算出し、その入力パターンを基準として、対象画像やその他の画像（探索パターンデータ）内でブロック誤差が低いブロック（探索パターン）である推定パターンを求め、その中心位置と対応付ける方法と同様の方法で行える。複数の仮対応点をまとめて対応付ける場合には、中心とする点が１つの仮対応点ではなく複数の仮対応点であるという違いはあるが、図４０のように、仮対応点の集合を中心としたブロックを入力パターンとして、１つの仮対応点の場合と同様に推定パターンを求め、ブロック内で各仮対応点に対応する位置をそれぞれ対応付けることで行える。なお、仮対応点の修正を行う場合、仮対応点の修正はブロック内の仮対応点すべてについてまとめて行ってもよいし、１つずつ、あるいは数個ずつ別々に行ってもよい。
【０２０４】
以上に述べたように、仮対応点の配置として均一でない配置を用いることは、画質、処理コストの両面において望ましい場合がある。ここで重要なことは、望ましいと考えられる位置に仮対応点を配置したうえで、仮対応点を基準として対応付けを行うということであり、仮対応点を均一に配置することが望ましいことがあり、その場合はより望ましい配置を適用することがよい。また、本発明の実施形態では、従来は全く用いられなかった仮対応点という新たな概念を導入し、それを利用した対応付けを行うことにより、出力画像の高品質な推定を可能としているのである。
【０２０５】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の信号処理装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態の信号処理装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。  
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。  
また、記憶媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
【０２０６】
なお、本願発明におけるコンピュータまたは組み込みシステムは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
【０２０７】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０２０８】
【図１】入力画像である低解像度画像の画素位置を示す図。
【図２】出力画像の正確さの向上に大きく寄与する対応点の一例を示す図。
【図３】出力画像の正確さの向上にあまり寄与しない対応点の一例を示す図。
【図４】１次元信号のサンプリング過程を示す図。
【図５】サンプリングレート変換を説明するための図。
【図６】ＰＯＣＳによるサンプリングレート変換の一例を示すフローチャート。
【図７】実施形態の信号処理装置のブロック図。
【図８】図７の信号処理装置の第１の実施形態での動作の一例を示すフローチャート。
【図９】図８のステップＳ８０３を説明するための図。
【図１０】図８のステップＳ８０４を説明するための図。
【図１１】図８のステップＳ８０５を説明するための参照信号を示す図。
【図１２】図８のステップＳ８０５を説明するための候補信号１を示す図。
【図１３】図８のステップＳ８０５を説明するための候補信号２を示す図。
【図１４】誤差関数を２次関数として場合の関数フィッティングを示す図。
【図１５】ＭＡＰによるサンプリングレート変換の一例を示すフローチャート。
【図１６】入力画素のサンプリング値を利用した出力サンプリング値に関する式の一例を示す図。
【図１７】他フレームの対応位置から得られたサンプリング値を利用した追加式の一例を示す図。
【図１８】図７の信号処理装置の第２の実施形態での動作の一例を示すフローチャート。
【図１９】図１８のステップＳ１８０３での仮サンプリング位置の設定の一例を示す図。
【図２０】図１８のステップＳ１８０３での仮サンプリング位置の設定の一例を示す図。
【図２１】図１８のステップＳ１８０４での仮サンプリング位置からの参照ブロックの生成の一例を示す図。
【図２２】図１８のステップＳ１８０５での参照ブロックを基準として候補とする変位の一例を示す図。
【図２３】図１８のステップＳ１８０５での参照ブロックを基準として候補とする変位の一例を示す図。
【図２４】図１８のステップＳ１８０５での参照ブロックを基準として候補とする変位の一例を示す図。
【図２５】図１８のステップＳ１８０５での、５点に対するブロック誤差を評価し、ブロック誤差が最小になる位相ずれを選択する様子を説明するための図。
【図２６】図１８のステップＳ１８０５での参照ブロックとのブロック誤差が小さくなるブロックを探す様子を示す図。
【図２７】変換対象フレームの仮サンプリング位置を他フレームの画素位置に対応付ける様子を示す図。
【図２８】推定した位相ずれにより、仮サンプリング位置の補正を行う様子を示す図。
【図２９】入力解像度の整数画素位置を基準としてブロックマッチングで得られる対応点を示す図。
【図３０】画像における理想的な対応点を示す図。
【図３１】実施形態の信号処理装置によって得られる対応点の一例を示す図。
【図３２】図２５で説明した方法よりも正確な評価を得ることが可能な、５点に対するブロック誤差を用いる場合の方法を説明するための図。
【図３３】仮対応点の位相ずれを修正する具体的な方法を説明するための図。
【図３４】図３３で説明される方法で、仮対応点を均一に配置する場合を示す図。
【図３５】図３３で説明される方法で、水平・垂直方向のいずれか一方だけにずらした位置に仮対応点を配置する場合を示す図。
【図３６】２つの仮対応点をまとめて対応付ける方法を説明するための図。
【図３７】仮対応点３９０２から入力解像度で２画素分ずれた位置に仮対応点３９０３を配置する一例を示す図。
【図３８】複数の仮対応点がそれぞれ整数画素間隔で配置されている一例を示す図。
【図３９】図３５で説明される方法と図３８で説明される方法によって複数の仮対応点が配置されている一例を示す図。
【図４０】仮対応点の集合を中心としたブロックを入力パターンを使用してブロック内で各仮対応点に対応する位置をそれぞれ対応付ける様子を示す図。
【符号の説明】
【０２０９】
１０１・・・低解像度画素、２０１・・・対応点、３０１・・・対応点、７０１・・・一時記憶部、７０２・・・演算部、７０３・・・入出力受付部、７０４・・・信号受付部、７０５・・・信号出力部、７０６・・・不揮発記憶部、１９０１・・・入力解像度の整数画素位置、２９０１・・・出力解像度の画素位置、２９０２・・・対応点、２９０３・・・対応点が存在しない部分領域、３００１・・・理想的な対応点、３１０１・・・対応点。
【図１】
0004982471.tif 000070
【図２】
0004982471.tif 000071
【図３】
0004982471.tif 000072
【図４】
0004982471.tif 000073
【図５】
0004982471.tif 000074
【図６】
0004982471.tif 000075
【図７】
0004982471.tif 000076
【図８】
0004982471.tif 000077
【図９】
0004982471.tif 000078
【図１０】
0004982471.tif 000079
【図１１】
0004982471.tif 000080
【図１２】
0004982471.tif 000081
【図１３】
0004982471.tif 000082
【図１４】
0004982471.tif 000083
【図１５】
0004982471.tif 000084
【図１６】
0004982471.tif 000085
【図１７】
0004982471.tif 000086
【図１８】
0004982471.tif 000087
【図１９】
0004982471.tif 000088
【図２０】
0004982471.tif 000089
【図２１】
0004982471.tif 000090
【図２２】
0004982471.tif 000091
【図２３】
0004982471.tif 000092
【図２４】
0004982471.tif 000093
【図２５】
0004982471.tif 000094
【図２６】
0004982471.tif 000095
【図２７】
0004982471.tif 000096
【図２８】
0004982471.tif 000097
【図２９】
0004982471.tif 000098
【図３０】
0004982471.tif 000099
【図３１】
0004982471.tif 000100
【図３２】
0004982471.tif 000101
【図３３】
0004982471.tif 000102
【図３４】
0004982471.tif 000103
【図３５】
0004982471.tif 000104
【図３６】
0004982471.tif 000105
【図３７】
0004982471.tif 000106
【図３８】
0004982471.tif 000107
【図３９】
0004982471.tif 000108
【図４０】
0004982471.tif 000109