JP4982471B2 - 信号処理方法、装置およびプログラム - Google Patents

信号処理方法、装置およびプログラム Download PDF

Info

Publication number
JP4982471B2
JP4982471B2 JP2008296866A JP2008296866A JP4982471B2 JP 4982471 B2 JP4982471 B2 JP 4982471B2 JP 2008296866 A JP2008296866 A JP 2008296866A JP 2008296866 A JP2008296866 A JP 2008296866A JP 4982471 B2 JP4982471 B2 JP 4982471B2
Authority
JP
Japan
Prior art keywords
pattern
sampling
temporary
input
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008296866A
Other languages
English (en)
Other versions
JP2009146401A (ja
Inventor
秀則 竹島
敏充 金子
孝 井田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008296866A priority Critical patent/JP4982471B2/ja
Publication of JP2009146401A publication Critical patent/JP2009146401A/ja
Application granted granted Critical
Publication of JP4982471B2 publication Critical patent/JP4982471B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Television Systems (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、例えば、N次元入力信号を別のサンプリングレートのN次元出力信号に変換する信号処理方法、装置、およびプログラムに関する。
高い解像度のテレビやディスプレイが普及してきている。テレビやディスプレイは、画像を表示する場合、画像データの画素数をパネルの画素数に変換する。特に、画素数を増やす高解像度化の変換において、線形内挿よりも鮮鋭な画像が得られる方法として、複数のフレームの情報を用い、画像の撮像過程(劣化過程)の逆変換を考えて高解像度の画像を復元する方法(以下、再構成法と呼ぶ)が知られている。
具体的には、例えば、ある画素を中心として低解像度画像から数画素四方のブロック(例えば、横5画素×縦5画素のブロック)を取り出し、このブロックと同じ大きさで、含まれる画素が取り出したブロックと近い画素値を持つ部分を変換対象フレーム内で探索する。探索はサブピクセル精度で行う(例えば、非特許文献1参照)。探索後、見つかった対応ブロックの中心を対応点とする。これにより、他のフレームに対応する画面の点Aと変換対象フレームに対応する点Bとが同じ被写体の同じ位置として対応づけられる。以下、この対応づけのアルゴリズムをブロックマッチング法と呼ぶ。この対応は、点Aを始点、点Bを終点とする動きベクトルで表される。サブピクセル精度で探索を行うため、動きベクトルの始点は画素の位置であるが、終点は一般に画素がない位置になる。このような動きベクトルを低解像度画像のすべての画素について求め、また、他の低解像度画像についても同様に各画素を始点とする変換対象フレームへの動きベクトルを検出する。変換対象フレームへの動きベクトルが得られたら、各動きベクトルの終点に始点の画素値を変換対象フレームのサンプリング値として配置する。最後に、このように非一様に配置されたサンプリング点とその各点におけるサンプリング値から、格子状に一様に配置された高解像度画像の各画素におけるサンプリング値を求める。この変換(再構成)の方法は、多数あり、例えばNon-uniform interpolation法、POCS法、ML法やMAP法が知られている(例えば、非特許文献2参照)。
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.
背景技術であげた手法は、他のフレームそれぞれの画素について対応点の位置を探す。対応点として見つかる位置に対して何の制御もしていないため、利用価値のない対応点がしばしば見つかる。したがって、利用価値のある対応点を見つけるには、例えば縦横の解像度をそれぞれ2倍にするために10〜30枚の他のフレームを使うといった方法で、他のフレームの枚数を増やし、利用価値のある対応点が見つかる機会を増やす必要がある。
たとえ枚数を増やしても、既知の低解像度画素に対して中間的な位置に対応点が存在しないことがしばしばあり、その結果、高解像度画像の推定精度は上がらないことが課題である。
この発明は、上述した事情を考慮してなされたものであり、N次元空間(N:自然数)上のサンプリング値の集合を変換するサンプリングレート変換を従来よりも高い精度で行う信号処理方法、装置およびプログラムを提供することを目的とする。
上述の課題を解決するため、本発明の信号処理方法は、N次元空間(N:自然数)上の第1のN次元座標値と、第1のN次元座標値のサンプリング値との集合である処理対象データを入力する第1入力ステップと、前記N次元空間上の第2のN次元座標値と、第2のN次元座標値のサンプリング値との集合である探索パターンデータを入力する第2入力ステップと、前記処理対象データ内に、第3のN次元座標値で指定される仮対応点の集合を設定する第1設定ステップと、前記仮対応点のそれぞれに対し、前記N次元空間上で前記仮対応点を基準とする第1範囲内のサンプリング値である入力パターンを前記処理対象データから取得する第1取得ステップと、前記第2のN次元座標値ごとに、第2のN次元座標値を基準とする第2範囲内のサンプリング値である探索パターンを前記探索パターンデータから取得する第2取得ステップと、複数の探索パターンのうち、前記入力パターンとの違いが他の探索パターンと比べ低い探索パターンである推定パターンを、前記探索パターンデータ内から見つけるマッチングステップと、前記仮対応点におけるそれぞれのサンプリング値として、前記推定パターン内で仮対応点に対応する位置のサンプリング値を設定する第2設定ステップと、設定されたサンプリング値と仮対応点のN次元座標値とを使用して、前記処理対象データのサンプリングレートを変換する変換ステップと、を具備することを特徴とする。
また本発明の信号処理装置は、N次元空間(N:自然数)上の第1のN次元座標値と、第1のN次元座標値のサンプリング値との集合である処理対象データを入力する第1入力手段と、前記N次元空間上の第2のN次元座標値と、第2のN次元座標値のサンプリング値との集合である探索パターンデータを入力する第2入力手段と、前記処理対象データ内に、第3のN次元座標値で指定される仮対応点の集合を設定する第1設定手段と、前記仮対応点のそれぞれに対し、前記N次元空間上で前記仮対応点を基準とする第1範囲内のサンプリング値である入力パターンを前記処理対象データから取得する第1取得手段と、前記第2のN次元座標値ごとに、第2のN次元座標値を基準とする第2範囲内のサンプリング値である探索パターンを前記探索パターンデータから取得する第2取得手段と、複数の探索パターンのうち、前記入力パターンとの違いが他の探索パターンと比べ低い探索パターンである推定パターンを、前記探索パターンデータ内から見つけるマッチング手段と、前記仮対応点におけるそれぞれのサンプリング値として、前記推定パターン内で仮対応点に対応する位置のサンプリング値を設定する第2設定手段と、設定されたサンプリング値と仮対応点のN次元座標値とを使用して、前記処理対象データのサンプリングレートを変換する変換手段と、を具備することを特徴とする。
また本発明は、コンピュータを、N次元空間(N:自然数)上の第1のN次元座標値と、第1のN次元座標値のサンプリング値との集合である処理対象データを入力する第1入力手段と、前記N次元空間上の第2のN次元座標値と、第2のN次元座標値のサンプリング値との集合である探索パターンデータを入力する第2入力手段と、
前記処理対象データ内に、第3のN次元座標値で指定される仮対応点の集合を設定する第1設定手段と、前記仮対応点のそれぞれに対し、前記N次元空間上で前記仮対応点を基準とする第1範囲内のサンプリング値である入力パターンを前記処理対象データから取得する第1取得手段と、前記第2のN次元座標値ごとに、第2のN次元座標値を基準とする第2範囲内のサンプリング値である探索パターンを前記探索パターンデータから取得する第2取得手段と、複数の探索パターンのうち、前記入力パターンとの違いが他の探索パターンと比べ低い探索パターンである推定パターンを、前記探索パターンデータ内から見つけるマッチング手段と、前記仮対応点におけるそれぞれのサンプリング値として、前記推定パターン内で仮対応点に対応する位置のサンプリング値を設定する第2設定手段と、設定されたサンプリング値と仮対応点のN次元座標値とを使用して、前記処理対象データのサンプリングレートを変換する変換手段として機能させる信号処理プログラムであることを特徴とする。
本発明の信号処理方法、装置およびプログラムによれば、N次元空間上のサンプリング値の集合を変換するサンプリングレート変換を従来よりも高い精度で行うことができる。
以下、図面を参照しながら本発明の実施形態に係る信号処理方法、装置およびプログラムについて詳細に説明する。なお、以下の実施形態中では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
まず基本的な技術を説明する。
画素数を増やす高解像度化の変換において、線形内挿よりも鮮鋭な画像が得られる方法として、複数のフレームの情報を用い、画像の撮像過程(劣化過程)の逆変換を考えて高解像度の画像を復元する再構成法では、変換対象フレームに写る被写体が別のフレームにも写っていることに注目し、被写体の動きを画素間隔よりも高い精度(サブピクセル精度)で検出することで、被写体の各局所部分に対して微小に位置がずれた複数の標本値を求め、それらの情報を統合することで高解像度化する。
より詳細に、再構成法を説明する。この方法では、低解像度のフレームが時系列で順次与えられた場合に、それらを順次高解像度のフレームに変換する。例えば、移動する自動車を撮影した動画像の時間的に前後する3枚のフレームを低解像度画像として用い、これら3枚のフレームのうち、1枚のフレームを基準として高解像度化する。例えば、これを縦2倍、横2倍の解像度に高解像度化する。1枚のフレームのみを用いた場合、未知である高解像度画像の画素に対して、低解像度画像の画素、つまりサンプリング値が既知であるサンプリング点の数は少ない。この状態でも高解像度画像の画素値の推定は可能であるが、サンプリング値が既知のサンプリング点を増やすことができれば、より正確に高解像度画像を得ることができる。そのために、再構成法では、変換対象フレーム以外の低解像度画像内で各画素の位置に写っている被写体が、変換対象フレームの画面内でどの位置に写っているかを検出し、その画素値を変換対象フレーム内で対応するサンプリング点におけるサンプリング値として用いる。
具体的には、例えば、ある画素を中心として低解像度画像から数画素四方のブロック(例えば、横5画素×縦5画素のブロック)を取り出し、このブロックと同じ大きさで、含まれる画素が取り出したブロックと近い画素値を持つ部分を変換対象フレーム内で探索する。探索はサブピクセル精度で行う。
ところで、本発明の目的はサンプリングレート変換を従来よりも高い精度で行うことであり、特に2次元の画像に限定されるものではないが、背景技術として広く知られる技術が2次元の画像に対するサンプリングレート変換である。そこで、ここでは一例として2次元の画像の場合について説明する。
変換対象フレームの低解像度画像は既知としているから、図1に示す低解像度画素101における輝度値は、与えられたものが使える。超解像は、低解像度画素101に加えて他のフレームから低解像度画素101以外の対応点を見つけることで、高い精度で高解像度画像を推定するものである。発明者による実験によれば、低解像度画素101と見つかった対応点の位置関係はどのようなものでもよいわけではなく、高解像度化の精度は対応点の配置に大きく依存する。図2のように、既知の低解像度画素に対して中間的な位置に見つかった対応点201は、高解像度画像の推定精度向上に大きく寄与する。しかし、図3のように、既知の低解像度画素とほとんど同じ位置に見つかった対応点301は、それを高解像度画像の推定に利用しても高解像度画像の推定精度は大差ない。つまり、図3のような対応点をいくら見つけても、演算量を増やすだけになり役に立たないことが多い。
これを解決するために、本実施形態では次の流れで超解像を行う。はじめに、変換対象フレーム内で、高解像度化を行う際に理想的な対応点の位置を仮対応点として与える。仮対応点は変換対象フレーム上の非整数画素位置(サブピクセル位置)になることが多い。次に、各仮対応点に対応する整数画素位置を他のフレーム(あるいは多数のフレームを格納しているデータベース)から探索する。ここで探索を整数画素位置に限定して行うのは、超解像では対応点の正確な輝度値を必要とし、正確な輝度値を得るには、正確な輝度値が既知である整数画素位置と対応付ける必要があるためである。次に、仮対応点に対応する輝度値を取得する。最後に、画像の変換(再構成)を実行する。つまり、他のフレームの画素から対応点の位置を探すのではなく、対応点の位置をはじめに決めたうえでそれに対応する他のフレームの画素を探すのである。この方法を使えば、必ず既知の低解像度画素に対して中間的な位置に対応点が存在することが保証される。したがって先に述べた課題は解決できることになる。
以上が本発明の基本原理であり、最初に設定した仮対応点をそのまま利用した超解像でも、ある程度の推定精度は達成できる。しかし、各仮対応点について完全に一致する位置は非整数画素位置に存在することが多く、そのような仮対応点に対しては探索を整数画素位置に限定して行う限り、完全に対応する点は見つからない。これに対し、
(1)他のフレーム上で対応する整数画素位置に完全に対応するように仮対応点を小数精度でずらすか、
(2)他のフレームに完全に対応する非整数画素位置を求めた上で、求めた非整数画素位置における輝度値を補間により生成する
ことで、先に述べた本発明の基本的な考えをそのまま適用した場合に対して、高解像度画像の推定精度をさらに上げることができる。ここで仮対応点をずらす方法をとった場合、既知の低解像度画素に対して中間的な位置に対応点が存在することは保証されなくなるが、背景技術の手法と比べ所望の位置に近い対応点が得られることが多いため高解像度画像の推定精度を上げられる。なお、以上に説明した、仮対応点(仮サンプリング点)を設定し、仮対応点に対応する点を探し、必要であれば仮対応点に補正を施したうえで再構成によりサンプリングレート変換を実行する、という考え方は特に2次元の画像に限定されるものではなく、例えば1次元信号についてもそのまま適用できるものである。
本実施形態の手法は、利用可能な情報をすべて利用するという考えに基づいて設計されたものであり、多くの超解像が仮定する入力が複数の2次元データである場合はもちろん、1枚の2次元データであっても利用できる。また、データが2次元であることは必須でないため、例えば入出力が1次元の音データや、縦・横・高さを軸とした各ボクセルが輝度値を持つ3次元画像データであっても利用できる。より一般的にいうなら、本発明は、出力として高いサンプリングレートのN次元データ(Nは自然数)を得るために、低いサンプリングレートのN次元データを(A)1つ、あるいは(B)複数、のいずれを入力とした信号処理を行うものである。ここでN次元データと呼ぶデータは、具体的には、N次元空間内で、N次元座標値で示される位置(サンプリング点)とその位置に関連づけられた値(サンプリング値)の集合として定義される。典型的には、サンプリング点はN次元空間内で等間隔に配置されることが多い。そのサンプリング値は1次元のスカラーデータであっても、多次元のベクトルデータであってもよい。例えば、2次元の座標系における画像において、そのサンプリング値は、グレイスケール画像であれば1次元のデータになり、RGB画像やYUV画像では3次元、CMYK画像では4次元のベクトルデータになる。また、座標系が2次元である限り、サンプリング値の次元にかかわらずN=2である。
実施形態では、はじめに、音データを含む一般の1次元信号(N=1)を例として基本原理を説明する。次に、2次元の画像(N=2)について説明する。3次元以上の多次元データへの拡張については最後に述べる。なお、以下の説明では特に断らない限り、サンプリング値が信号の強度に対し線形であるものとして話を進める。この条件は、例えば、リニアPCM方式によりサンプリングした音の信号値であればそのまま成り立つ。これが成り立たなくても以下の手法をそのまま適用することは可能であるが、リニア信号におけるサンプリング値に戻して適用してもよい。例えば、サンプリング値がG.711のように対数圧縮器を通した信号値であれば、それを復調したうえで以下の手法を適用してもよい。あるいは、信号が画像の輝度値のようにガンマ変換を受けたサンプリング値であれば、それをガンマ補正してリニア信号に対するサンプリング値に戻したうえで適用してもよい。これらの補正を行った場合は、必要があれば出力信号に対して逆補正を適用してもよい。
(第1の実施形態)
本実施形態では、信号処理装置の入出力データが音データを含む一般の1次元信号である場合について説明する。なお、音データとは、1次元の時刻(座標系)とその時刻における1次元のサンプリング値(信号の強さ)を持つデータであり、本発明の実施形態の説明においては座標系の次元をNと考えているためN=1である(N=2ではない)。
(再構成の基礎理論)
あるサンプリングレート(入力サンプリングレート)で未知の信号(元の信号)をサンプリングした1次元信号値を入力として、より高いサンプリングレート(出力サンプリングレート)で離散化した場合の1次元信号値を求める問題を考える。入力として与えられるのは、時間T1、T2、T3、・・・に対する1次元信号のサンプリング値y(T1)、y(T2)、y(T3)、・・・である。T1、T2、T3、・・・は特定の瞬間ではなく、サンプリングを行う個々の短い時間をさす。サンプリング過程の概念図を図4に示す。サンプリング過程のモデルには様々なものが考えられるが、例えば、サンプリングを行う時間内での元の信号の平均値をモデルとすることができる。例えばサンプリング値y(T1)は、(未知の)元の信号の時間T1内での平均値を与えているものと考える。課題は、入力サンプリングレートでの時間T1、T2、T3、・・・に対する既知のサンプリング値y(T1)、y(T2)、y(T3)、・・・を利用して、出力サンプリングレートでの時間T’1、T’2、T’3、・・・に対するサンプリング値x(T’1)、x(T’2)、x(T’3)、・・・を得ることである。
例として、図5のように、出力サンプリングレートが入力サンプリングレートの2倍である場合を考える。サンプリング値が元の信号の平均値を与えるというモデルを考えると、各サンプリング値の間に、
y(T1)=(1/2)x(T’1)+(1/2)x(T’2)
y(T2)=(1/2)x(T’3)+(1/2)x(T’4)
y(T3)=(1/2)x(T’5)+(1/2)x(T’6)

といった式を立てることができる。ここで、入力となる式の本数が入力サンプリングレート上の時間T1、T2、・・・の数だけあるのに対し、未知数x(T’1)、x(T’2)、x(T’3)、・・・は出力サンプリングレートの時間T’1、T’2、・・・の数だけあるから、この方程式をすべて満たすx(T’1)、x(T’2)、x(T’3)、・・・の組み合わせは無数に存在する。したがって、無数に存在する解の組み合わせの中から、何らかの追加情報を用いて解を選択する必要がある。その方法は2つあり、その1つは式を追加すること、もう1つは未知数x(T’1)、x(T’2)、x(T’3)、・・・に関する知識を利用して解に制約をかけることである。本実施形態の信号処理装置はこのうち、新しい式の追加方法を示すものである。
本実施形態の信号処理装置がどのように式を追加するかについては後述することとし、先にこの方程式を解く、つまり適当な未知数x(T’1)、x(T’2)、x(T’3)、・・・を割り当てる方法について説明する。
まず、先の出力サンプリングレートが入力サンプリングレートの2倍である場合の例を一般的な形で書き直す。入力時間にインデックスi={1、2、3、・・・、L}を付与し、入力される1次元信号のサンプリング値を
Figure 0004982471
であらわす。出力信号にもインデックスj={1、2、3、・・・、M}を付与し、サンプリング値を
Figure 0004982471
であらわす。また、先の例ではサンプリング過程として単純な平均を考えたが、これを一般化し、入力サンプリング値が出力サンプリング値の重みつき和で与えられると考える。求めたい値はサンプリング値
Figure 0004982471
である。このとき、各インデックスiについて、重みの係数を
Figure 0004982471
として、式
Figure 0004982471
を立てることができる。もし入力時間以外に、出力サンプリング値の重みつき和の値が推定できる時間があるなら、それらの時間についても入力時間と同じようにインデックスを付与して式を追加し、追加した式の本数だけLの値を増やすものとする。
ベクトル
Figure 0004982471
ベクトル
Figure 0004982471
行列
Figure 0004982471
を導入し、各インデックスiに対する式をまとめて
Figure 0004982471
と表記する。xを割り当てる方法として、擬似逆行列を用いて
Figure 0004982471
により求める方法が考えられる。擬似逆行列を利用して直接xを割り当てるかわりに、例えばPOCSやMAP法を使うこともできる。以下、Wとyを利用してxを割り当てることをRECONSTRUCTIONと呼ぶことにする。
(補間)
POCSやMAP法では繰り返し演算に基づく最適化を行うことが多く、このような最適化では初期値として仮のx信号が必要となる。仮のx信号は、例えば入力信号の補間により生成できる。どのような補間方法を用いてもかまわないが、例えば、次の方法が使える。
(A)線形補間
既知の2点を用いて補間する。補間に用いる2点は、できるだけ補間すべき点の近くを用いることが望ましい。既知の2点の位置を
Figure 0004982471
、そのサンプリング値を
Figure 0004982471
とし、補間すべき点の位置を
Figure 0004982471
で表すと、補間値は
Figure 0004982471
で求められる。
(B)キュービックコンボリューション法
既知の等間隔に配置された4点を用いて補間する。補間に用いる4点は、補間位置を中心とした2以下の範囲に配置されているものとする。補間値は、各点に対し、補間位置を中心とした次の重みカーネル
Figure 0004982471
の値をかけてそれらの和を求めることで得られる。dは各点の補間位置からの距離を表す。γは補間関数を制御するパラメータで、例えばγ=−1.0あるいはγ=−0.5とする。
(バックプロジェクションやPOCS)
POCSによるRECONSTRUCTIONの流れの一例を図6に示す。そのアルゴリズムは次の通りである。このアルゴリズムは、例えば、図7の演算部702が行う。
(ステップ1)仮のx信号を生成する(S601)。仮のx信号は、例えば入力信号の補間により生成できる。補間には、例えば線形補間やキュービックコンボリューション法が利用できる。
(ステップ2)
Figure 0004982471
を構成する第i番目の式は次の形で書ける。
Figure 0004982471
ここで、
Figure 0004982471
は重みを並べた横ベクトルで、
Figure 0004982471
は入力として与えられる(S602)。ノイズの影響をあまり受けずに各
Figure 0004982471
を満たすxを求めるために、POCSでは、ステップサイズ
Figure 0004982471
および定数
Figure 0004982471
を別途与え、次の繰り返し演算を実行する(並列化なしの例:S603〜S604)。なお、
Figure 0004982471
はxの推定値を意味する。
Figure 0004982471
ステップサイズ
Figure 0004982471
や定数
Figure 0004982471
はすべてのiに対して同じ値(例えば
Figure 0004982471
)でもよいし、例えば
Figure 0004982471
のように式ごとに変えてもよい。
(ステップ3)別途定めた回数だけステップ2を繰り返す(S605)。
(ステップ4)得られた推定信号
Figure 0004982471
を出力する(S606)。
以上の流れにより、信号xを推定することが可能になる。出力信号の推定精度は、信号の推定に用いた各iに対する式が、どれだけ選択可能な解xの次元数を減らせるか(Wのランクを上げることができるか)、およびどれだけ正確であるか、に依存する。その理由の概要を説明すると次のようになる。選択可能な解xの次元数が0でない場合、POCSなどのRECONSTRUCTIONはその解(正確には近似解)のうちの1つを選んで返す。しかし、RECONSTRUCTION段階では信号の性質は考慮されず、推定信号は選択可能な解xの中からランダムに(ユーザから見れば不適切な基準で)選ばれる。これは選択可能な解xが少ないときはあまり問題にならない。しかし、選択可能な解xの次元数が大きくなると、解xの選択肢も増えてしまい、望ましい信号が選ばれる可能性は低くなる。なお、RECONSTRUCTIONに後述のMAP法を用いると信号に関する知識を利用して選ぶことはできるが、それでも選択可能な解xの次元数が大きくなると望ましい信号が選ばれる可能性は低くなる点は同じである。このようなことを考えると、RECONSTRUCTIONを利用したサンプリングレート変換において、選択可能な解xの次元数を減らすことは極めて重要な問題になる。
(簡易RECONSTRUCTION)
なお、厳密なRECONSTRUCTIONを行うかわりに、次の重みつき加算方法を利用することもできる。重みつき加算方法では、適当なカーネル行列Kを準備し、各サンプリング時間に対する信号xを
Figure 0004982471
により推定する。カーネル行列Kは、理論上は例えばWの疑似逆行列
Figure 0004982471
を利用するところであるが、擬似逆行列の算出には多くの計算を必要とする。そこでKとして、例えば、単に開始・終了時刻が近いサンプルに対して重みを与える(非零の要素を持つ)行列を用いる。ここで、Kの各行は補間の係数を表すため、その要素の合計値が1になるようにする。
(スライディングウィンドウによる音声の逐次処理)
なお、RECONSTRUCTIONの式をそのまま用いる場合、yをまとめて与え、それに対してxを一括して推定することになる。しかし、例えば音信号をサンプリングしながら本発明の実施形態を適用し、その結果を出力する場合には、すべてのyを一括して得ることは難しい。このような場合には、例えば次の方法を用いることができる。
予め、ある程度のサンプル数(例えば、100〜10000サンプル程度)を保持できるバッファを用意しておく。入力サンプルが得られるたびに、新しいデータをバッファに記録していく。バッファがいっぱいになった時点で、バッファに保持されたサンプルに対してサンプリングレートの変換を行い、得られたxを出力する。その後は、バッファを空にして同じ操作を繰り返す。なお、この方法を単純に実装するとバッファがいっぱいになった時刻(境界時刻)でノイズが生じることがある。これに対しては、バッファを完全に空にせずにいくつかのサンプルを残しておいて境界時刻付近においてx信号の一部を2回生成させ、境界時刻付近では2つのx信号の重みつき和を出力することで、ノイズを軽減させてもよい。
(式を増やす方法:1次元の対応点推定)
以上の説明により、入力信号(元の信号)を出力信号の重みつき和として表す式が得られて、それが選択可能な解xを減らせる式であって、かつ正確であればよいことがわかった。
本実施形態の信号処理装置について図7を参照して説明する。図7は、汎用的なCPUを用いたコンピュータ(TVやDVDプレーヤ、ハードディスクレコーダを含む)で実施する場合の構成の一例である。
本実施形態の信号処理装置は、一時記憶部701、演算部702、入出力受付部703、信号受付部704、信号出力部705、不揮発記憶部706を含む。
入出力受付部703は、ユーザから指示を受け付ける。入出力受付部703は、例えば、マウス、キーボードやリモコンから受け付けた指示を受け付ける。入出力受付部703は、プログラムの起動を指示する信号を受け付ける。
信号受付部704は、N次元空間上のサンプリング値の集合である入力データと、1つ以上のN次元空間上のサンプリング値の集合である、探索の対象とする信号データ(探索パターンデータ)とを受け付ける。第1の実施形態では、それぞれ1次元データ(例えば、音データ)である。
不揮発記憶部706は、後に図8を参照して説明するプログラムを格納している。不揮発記憶部706は、例えば、例えばハードディスクやROMである。不揮発記憶部706は、上述した、入力データと信号データを予め記憶していてもよい。
一時記憶部701は、入出力受付部703からユーザの指示を受けて不揮発記憶部706からプログラムを一時的に記憶し、演算部702に提供する。一時記憶部701は、演算部702が演算した結果を一時的に記憶できる。
演算部702は、一時記憶部701からプログラムを受け取り、プログラムを実行する。
信号出力部705は、演算部702によって得られた結果を出力する。信号出力部705は、例えば、音データであればスピーカ、画像データであればモニタである。
次に、図7の信号処理装置の動作の一例について図8を参照して説明する。
(ステップ1)信号受付部704が処理の対象となる入力データを入力する(S801)。信号受付部704が探索の対象とする信号データ(探索パターンデータ)を入力する(S802)。なお、探索パターンデータは元の信号自身でもよい。また、信号受付部704は一時記憶部701や不揮発記憶部706に蓄えられたデータを入力してもよい。
(ステップ2)演算部702が、与えられた入力データに対し、図9のように、サンプリング値が欲しい時間を決める(S803)。つまり、もしサンプリング値がわかれば選択可能な解xを減らせるような時間(仮サンプリング時間、この場合例えば、仮対応点は仮サンプリング時間の中央に設定する)を設定する。ここで、例えば、仮サンプリング時間を出力サンプリングレート間隔で配置すれば、設定した仮サンプリング時間でのサンプリング値がすべてわかった時点で、xの次元数と同じだけの線形独立な方程式が得られ、選択可能な解xを1つに限定できる。なお、この時点では、設定した時間におけるサンプリング値は不明である。得られた結果の一時保存が必要であれば一時記憶部701に保持する。
(ステップ3)演算部702が、一時記憶部701を利用して、探索パターンデータに対し、前記仮サンプリング時間の周囲のパターン(より詳細にいえば、前記仮サンプリング時間を基準とする別途定めた範囲内のサンプリング値のパターン)が類似するサンプリング時間に対応するサンプリング値を探す。例えば、探索パターンデータを元の信号自身(仮サンプリング時間自身を除く)とし、図10に示すように、元の信号内で、周囲のパターンが類似するサンプリング値を探す。具体的には、まず仮サンプリング時間を含む前後の適当な時間(例えば、仮サンプリング時間とその前後2つ分のサンプリング時間)で、入力サンプリングレートと同じ間隔の信号パターンを補間により生成し(S804)、次に生成された補間信号パターンとの違い(以下、信号パターン誤差と呼ぶ)がなるべく小さい信号パターン(推定信号パターン、推定パターン)を入力信号内で探す(S805)ことで、仮サンプリング時間に対応するサンプリング値を見つける。このとき、見つかった信号パターン内で仮サンプリング時間に相当する位置のサンプリング値を、仮サンプリング時間におけるサンプリング値と考える。ステップS805では、複数の探索パターンのうち、入力パターンとの違いがある割合以下(すなわち、信号パターン誤差がある閾値以下)である探索パターンを、前記探索パターンデータ内から見つけてもよいし、複数の探索パターンのうち、入力パターンとの違いが他の探索パターンと比べて最も低い類似探索パターンと、この類似探索パターンとの違いがある割合以下(例えば、違いが10%以下)である探索パターンとを、前記探索パターンデータ内から見つけてもよい。
信号パターン誤差については、例えば、各信号の2乗誤差の合計値や、絶対値誤差の合計値が大きいほど、あるいは正規化相互相関が小さいほど、違いも大きいと判断することで評価できる。なお、別途定めたフィルタ、例えば高周波成分を除去するローパスフィルタあるいは特定の周波数成分のみを通すバンドパスフィルタを適用し、フィルタ後の信号に対して各信号の2乗誤差や、絶対値誤差、正規化相互相関の値を評価してもよい。
(ステップ4)演算部702が、一時記憶部701を利用して、仮サンプリング時間におけるサンプリング過程を出力信号の重みつき和であらわしたときの係数を
Figure 0004982471
、見つけたサンプリング値を
Figure 0004982471
とした式を追加し、得られたWとyに対しRECONSTRUCTIONを行う(S806)。ここで、例えばステップ2(S803)において、正規化相互相関のように何らかの変換値を評価してサンプリング値を見つけた場合には、行った変換に対する逆補正によりサンプリング値を修正することもできる。サンプリング値の修正方法としては、例えば、探索パターンデータ内で見つかった信号パターンに対し線形変換を考え、照合に用いた補間信号パターンとの2乗誤差が最小となるような線形変換のパラメータを算出あるいは探索し、探索パターンデータ内で見つかったサンプリング値に対し得られたパラメータによる線形変換を施した値を
Figure 0004982471
とする方法が利用できる。得られた結果は例えば信号出力部705を介して出力してもよいし、不揮発記憶部706に保存してもよい。
以上の方法を使った場合、ステップ1で選択可能な解xを減らすように仮サンプリング時間を選んでいるのであるから、もしステップ2で信号パターンとの違いが十分に小さい信号が見つかれば、出力信号の推定精度を上げることができる。
なお、推定対応パターンを利用したRECONSTRUCTIONはより高いサンプリングレートで信号をサンプリングすることと似たような効果を持つ。したがって、入力信号のサンプリング過程においては、適用するローパスフィルタのカットオフ周波数を、サンプリングすべき信号のナイキスト周波数よりも高くしておいてもよい。
また、ステップ3において「前記仮サンプリング時間を基準とする別途定めた範囲内」としたのは、例えば仮サンプリング時間を中心とした前後それぞれサンプリング間隔の数倍〜数百倍程度の範囲内とすればよい。
(音信号のための正規化)
なお、先に説明した正規化相互相関の利用は、例えば楽器から発せられる音のように、音源から発せられる信号が周期的であり、かつ、徐々に減衰する信号に対して有効と考えられる。また、音源に発せられた音が壁などに反射し、別のサンプリング位置で同じパターンが得られる場合にも有効であると考えられる。なお、単に正規化相互相関のみで評価するとS/N比の低い信号パターンが選択されてしまうこともある。これに対しては、正規化相互相関で評価を行う際は、探索パターンの信号レベル(例えば、無音状態を0としたときに、探索パターン内で最もサンプリング値の絶対値が大きい信号の値)がある一定以上の区間のみを探索の対象とするといった工夫をしてもよい。
(1次元の対応点推定:補正)
ステップ3(S805)で行う推定信号パターンの探索では、その探索は離散的に(具体的にはサンプリング間隔の精度で)行われる。この探索で得られる推定信号パターンは、設定された仮サンプリング時間を基準としたときに、候補とした信号パターンのうちで信号パターン誤差が少ないだけでなく、仮サンプリング時間とのずれも小さい信号パターンになる。つまり、見つかった推定信号パターンでは、そのサンプリング開始・終了時刻のサンプリング間隔未満のずれ(以下、位相ずれと呼ぶ)は小さいと期待できる。なお、位相ずれの小さい信号パターンが選ばれるとは、具体的には、例えば、図11の参照信号パターンを探索する際、候補信号として候補信号1(図12)と候補信号2(図13)があるときに、そのサンプリング開始・終了時刻の小数ずれがより小さい候補信号1の信号パターンが選ばれるということを意味している。なお、時間軸に対して正方向・負方向のずれを考えると、位相ずれはサンプリング間隔の半分を上回ることはない。
しかし、ステップ3(S805)で位相ずれの小さい信号パターンが選ばれるとはいっても、仮サンプリング時間との位相ずれがゼロに十分近い信号が見つかるとは限らない。このような場合に出力信号の推定精度を上げるためには、ステップ2とステップ3の間で、位相ずれを推定したうえで(A)最初に設定した仮サンプリング時間を補正する方法、(B)サンプリング値を補正する方法、のいずれかの方法を実行するとよい。これらの方法を適用するには、まず、位相ずれの量を推定する必要がある。
位相ずれの量を見つける方法の1つに、補間信号パターンを利用したバイナリサーチがある。この方法では、推定位相ずれをΔt、位相ずれ精度をεとするとき、次の手順で位相ずれの量を推定する。
(ステップ1)Δt=0、ε=1/2とする。
(ステップ2)Δt、Δt−ε、Δt+εを位相ずれ候補として、各位相ずれ候補の値だけずらした入力信号パターン(入力パターン)を、入力信号の補間によって生成する。
(ステップ3)生成した入力信号パターンをそれぞれ推定信号パターンと比較し、最も信号パターン誤差が小さくなる位相ずれ候補の値でΔtを更新する。
(ステップ4)εが所望の(別途定めた)精度以下であればΔtを出力して終了する。そうでなければε←1/2εとし、ステップ2に戻る。
また、位相ずれの量を見つける別の方法として、補間信号パターンの誤差関数を利用した推定方法も利用できる。例えば、誤差関数を2次曲線で近似した場合、入力信号パターンに対する信号パターン誤差をE(0)、1サンプリング時間だけ正・負の方向にずらした入力信号パターンに対する信号パターン誤差をそれぞれE(1)、E(−1)とするとき、図14に示すように、位相ずれは次の式
Figure 0004982471
により推定できる。2次曲線による近似は、例えば、信号パターン誤差として2乗誤差の合計値を利用した場合に有用である。また、誤差関数を区分的な線分で近似した場合は、位相ずれは次の式
Figure 0004982471
により推定できる。これは例えば、信号パターン誤差として絶対値誤差の合計値を利用した場合に有用である。
以上のような方法で推定された位相ずれが得られたときに、推定位相ずれを利用して補正する方法は、先に述べたように2通り考えられる。先に述べた(A)の方法を用いる場合は、推定位相ずれの分だけ仮サンプリング時間をずらす。(B)の方法を用いる場合は、推定位相ずれの分だけずらしたサンプリング時間に対するサンプリング値を補間により推定する。補間方法としては、先に説明した線形補間やキュービックコンボリューション法が利用できる。
(本実施形態の手法の従来手法に対する利点)
ここで、本実施形態の手法が従来の手法と比べ優位である点を説明する。従来の手法では、探索によって選択可能な解xの次元数削減に実質的に寄与しない信号パターンを見つけることが多く、選択可能な解xを十分に絞りきれていなかった。その詳細は次の通りである。従来、超解像では、入力サンプリングレートにおける各サンプリング時間に対して、その時間に対応する別の時間を探すという操作を行っていた。例として、信号パターン誤差として正規化相互相関を用いた探索を行う場合を考える。もし入力信号パターンが、周期波形のように、位相ずれした同一の波形が繰り返しあらわれる信号の一部であった場合、位相ずれの少ない(ゼロに近い)信号パターンが極端に選ばれやすくなるという性質がある。この性質は先に説明したが、例えば図11の参照信号パターンを探索する際、候補信号として候補信号1(図12)と候補信号2(図13)があるときに、そのサンプリング開始・終了時刻の小数ずれがより小さい候補信号1の信号パターンのほうが、信号パターン誤差(この場合は正規化)が小さいために選ばれる。したがって、従来のように、入力信号における各サンプリング時間に対してそれに対応するという探索を行う限り、位相ずれがゼロに近い信号パターンが優先して選ばれるということである。このように入力信号のサンプリング時間に対する位相ずれがゼロに近い信号パターンは、サンプリングレート変換における選択可能な解xの次元数削減には寄与しない。この理由は次の通りである。探索によって位相ずれが完全にゼロの信号パターンが得られた場合、出力信号から見つけたサンプリング値を得るサンプリング過程は入力サンプリング時間の1つと全く同じであるから、追加される式におけるWの係数も入力サンプリング時間の1つと全く同じになる。その結果、式を追加しても選択可能な解xの次元数を落とすことはできなくなる。また、位相ずれがゼロに近い場合には、入力サンプリング時間の1つに対するWの係数とはわずかに異なるWの係数が得られるが、ノイズの影響を考えると、その係数の差がわずかであれば実用上の価値はなく、実質的に選択可能な解xの次元数は下がらない。つまり、従来の方法では、探索のもつ位相ずれがゼロに近い信号パターンが優先して選ばれる性質によって、選択可能な解xの次元数を十分に減らせなかったのである。その結果、先に述べたようにユーザの望まない推定信号が出力されてしまい、低い品質の出力信号が出力されてしまっていた。
一方、本実施形態の手法は、はじめに仮サンプリング時間を設定している点が重要な特徴である。本実施形態では、余分な計算コストをかけてまで仮サンプリング時間を設定した。そして、従来のように入力サンプリング時間に対応する信号パターンを探すのではなく、仮サンプリング時間に対応する信号パターンを探すようにしたのである。この変更は次に述べるように、選択可能な解xの次元数の削減に大きく寄与する。探索の持つ性質、つまり参照信号パターンに対する位相ずれがゼロの信号パターンが得られるという性質自体は、従来の手法と変わらない。しかし、その参照信号パターンは、従来は入力信号のサンプリング時間を基準として取得されるのに対し、本実施形態では仮サンプリング時間を基準として補間により生成されるのである。仮サンプリング時間は例えば出力サンプリング時間を基準にして設定するものであるから、その参照信号パターンは、一般に、入力信号の時間軸で見ると位相ずれが非ゼロの信号パターンである。言い換えれば、位相ずれが非ゼロの信号パターンを参照信号パターンとして、参照信号パターンに対する位相ずれがゼロ(仮サンプリング時間の補正を行わない場合)あるいはゼロに近い(仮サンプリング時間の補正を行う場合)パターンを優先した探索を行うのである。したがって、探索で得られる信号パターンとして優先されるものは、一般に、非ゼロかつ所望の位相ずれを持つ信号パターンである。所望の位相ずれを持つ時間に対する行列Wの係数とそのサンプリング値が得られれば、当然、選択可能な解xの次元数は削減できる。特に、探索で得られた時間の位相ずれがすべて所望のものという理想的な場合には、解xを一意に決めるような行列Wとそれに対応するサンプリング値のベクトルyが得られることになり、RECONSTRUCTIONの持つ推定信号xのあいまいさに起因する出力信号の品質低下は完全に排除できることになる。たとえ得られるWやyが理想的なものでなくても、本実施形態の特徴である仮サンプリング時間の設定を用いてWとyを得ることで、従来と比べRECONSTRUCTIONにおける推定信号xのあいまいさを減らせ、より高い出力信号を得ることができるのである。
(相関の高いデータが存在する場合の拡張)
入力信号が音データの場合には、例えば、ステレオや5.1chデータのように、2つ以上のチャネルを持つデータ(マルチチャネルデータ)が多い。このような場合、探索パターンデータとして元の信号自身に加え、他のチャネルのデータを利用することで、類似パターンが見つかる可能性を上げることができる。
(コードブックの利用)
例えば入力信号が楽器の音をサンプリングした音データのような場合には、再現性を持つデータを含む場合が多い。したがって、予め多くのデータを録音しておけば、類似パターンが存在する可能性が高い。このような場合、探索パターンデータとして元の信号自身に加え、予め保存しておいたデータを利用することで、類似パターンが見つかる可能性を上げることができる。
(不要パターンの除去)
今までの説明では、良い推定信号パターンが見つかることを仮定していた。しかし、得られた推定信号パターンの信号パターン誤差は必ずしも十分に小さいとは限らず、たとえ信号パターン誤差が最小の信号パターンを選択しても、入力信号パターンとは異なる推定信号パターンと対応付けられることもある。このような推定信号パターンが得られた場合、RECONSTRUCTIONに悪影響を与えることも考えられる。そこで、これに対して、たとえば、先に述べた位相ずれに対する補正後の信号パターン誤差を評価し、それがしきい値以上であれば推定信号パターンは除去し、RECONSTRUCTIONに利用しないといった方法を利用してもよい。
以上に示した第1の実施形態によれば、RECONSTRUCTIONに基づくサンプリングレート変換(音等の1次元データ)において、まず所望の仮サンプリング時間あるいは仮サンプリング位置を設定し、それに対応するサンプリング時間あるいはサンプリング位置を見つけるという方法を用いてy=Wxに式を追加することによって、従来の方法と比べ推定信号xのあいまいさを減らすことができ、出力信号を従来と比べ高い精度で推定できる。
(第2の実施形態)
以上、1次元信号に対するRECONSTRUCTIONについて説明した。先にも述べたが、本発明は2次元信号である画像にも適用できる。以下では、画像に関する実施形態を説明する。
本実施形態では、信号処理装置の入出力データが画像データを含む一般の2次元信号である場合について説明する。本実施形態の信号処理装置は、図7と同様であるが、使用するプログラムが2次元用であり第1の実施形態とは異なる。
(2次元信号への拡張)
画像においては、信号に相当するものは2次元画像であり、サンプリング値に相当するものは輝度値あるいは画素値であり、サンプリングレートに相当するものは解像度であり、1次元信号における時刻に相当するものは水平・垂直方向の位置であり、時間に相当するものは画素である。なお、画素とは本来、画像内の小領域(多くは正方形領域)を表すものであるが、以下、特に断りがない限り、単に画素といえば、画素を表す小領域における代表位置(画素領域の中心の位置)を表すものとし、1次元信号で時間に相当するものは画素領域と表記する。サンプリングレート変換は、入出力の解像度を変換することに相当する。出力ベクトル
Figure 0004982471
は出力したい解像度における各画素の輝度を表し、入力ベクトル
Figure 0004982471
は入力された各画素の輝度を表す。xやyは、2次元の各画素に1次元の通し番号(インデックス)をつけたときに、それらの輝度値を並べてベクトル表記したものである。また、式
Figure 0004982471
は出力画像から入力画像をサンプリングする過程を表し、その重み係数
Figure 0004982471
をまとめた行列WはPoint Spread Function(PSF)と呼ばれる。なお、サンプリング過程は位置ごとに異なっていてもよい。例えば、動きぼけ(モーションブラー)が生じている部分では動き方向に広がるPSFを用いることが望ましい。信号パターンとしては、例えば、注目する画素を中心とした一辺の長さが
Figure 0004982471
である2次元の長方形ブロックや、直径
Figure 0004982471
の円内にある画素の輝度値を並べたものを使うことができる。
(RECONSTRUCTION)
入力ベクトルyおよびそのPoint Spread Function(PSF)が与えられれば、
Figure 0004982471
に基づくxの推定は、第1の実施形態で説明した方法をそのまま利用して行える。また、画像では、例えば隣り合う画素の輝度値が似ているといった、信号に特有の知識を与えることが可能である。この場合、次に説明するMAP法を用いてxを推定してもよい。以下、図15に示した流れにしたがってMAP法を説明する。これは演算部702が行う。
(MAP)
(ステップ1)仮のx信号を生成する(S601)。仮のx信号は、例えば入力信号の補間により生成できる。
(ステップ2)
Figure 0004982471
の等式に対する誤差が大きいほどエネルギーが高くなる第1の項と、予め準備した自然画像の一般的な性質に対する画像xの誤差が大きいほどエネルギーが高くなる第2の項の2つを結合したエネルギー関数を考え、それを最小化する画像xを探す。例えば、自然画像の一般的な性質として近傍の画素の輝度値があまり変化しないと仮定すると、エネルギー関数として
Figure 0004982471
という式を立てることができる。ここで、ノルムの右下の1はL1ノルムをあらわし、λmは前記第2の項に対する重み、Pmは平行移動を表す行列である。mは考える平行移動のバリエーションをあらわし、例えばPmとして
P1:水平方向の平行移動
P2:垂直方向の平行移動
の2通りを考えれば、前記第2項は縦横それぞれについて隣接画素のずれの大きさの和を求め、その合計値をλで重みづけした値になる。
Eを最小化する方法として例えばsteepest descent法が利用できる。steepest descent法とは、xの推定値
Figure 0004982471
をエネルギー関数の勾配方向に−β倍したステップ進める操作を繰り返す方法であり、その更新は
Figure 0004982471
により行える。
具体的な手順は次の通りである。入力として、Wおよびyを与える(S602)。上記の式をそのまま実行する場合は、まず、エネルギー関数の勾配ベクトルを保持するバッファ(一時記憶部701)を用意してゼロで初期化する(S1501)。次に、
Figure 0004982471
の各行の式、および
Figure 0004982471
の各行の式を評価してエネルギー関数の勾配ベクトルを更新する(S1502、S604)。すべての式の評価が終わった段階で、β倍を行い、それを推定値
Figure 0004982471
から減ずる(S1503)。なお、上記の式をそのまま実行する代わりに、
Figure 0004982471
の各行の式、および
Figure 0004982471
の各行の式について、それをエネルギー関数の勾配方向を構成する式として(勾配項から注目する式以外を除去して)上記の更新式を順次適用することで、推定値
Figure 0004982471
を逐次更新してもよい(この場合は、先にPOCSとして説明したS603〜S604と同様の流れになる)。なお、
Figure 0004982471
の初期値は、変換対象フレームに線形補間やキュービックコンボリューション法などを適用して与える。
(ステップ3)別途定めた回数だけステップ2を繰り返す(S605)。
(ステップ4)信号出力部705が得られた推定高解像度画像
Figure 0004982471
を出力する(S606)。
なお、ここで示したMAP法のエネルギー関数は一例であり、このエネルギー関数でなくてもかまわない。例えば、エネルギー関数のいずれのL1ノルムについても、それを他のノルム(例えばL2ノルム)に置き換えることができる。また、例えば、事前知識である第2項を用いなくてもよい。この方法は特にML法と呼ばれることもあり、先のエネルギー関数でλm=0とした場合に相当する。
(対応点の推定)
以上、y=Wxの式が与えられたときに、xを推定する方法について説明した。利用できる情報が対象とする画像中の入力画素のサンプリング値のみのときには図16のようにy=Wxの式は少ないが、対象以外の(例えば動画像の他のフレームから得られる)画像の情報を用いて図17のようにy=Wxの式を増やせれば、より正確な出力画像が得られる。y=Wxの式を増やす方法としては、例えば1次元信号の場合と同じような考え方が利用できるが、それ以外にも例えば、動画像の各フレームを解像度変換する場合のように、1次元信号にはなかった考え方でy=Wxの式を増やすこともできる。以下に具体的な例を説明する。
(フレーム内データを利用した超解像)
画像が1枚だけ与えられ、それを解像度変換する場合には、1次元信号と同じような考え方でy=Wxの式を増やせる。具体的には、図18に示す手順で解像度変換を行う。
(ステップ1)信号受付部704が画像を入力する(S1801、S1802)。なお、入力された画像は解像度変換の対象とすると同時に探索パターンデータとしても用いる。
(ステップ2)与えられた入力データに対し、サンプリング値が欲しい画素の位置を決める(S1803)。つまり、もしサンプリング値がわかれば選択可能な解xを減らせるような位置を仮サンプリング位置として設定する。例えば、図19あるいは図20のように、出力解像度の画素間隔で設定することができる。図19は入力解像度のサンプリング位置とは無関係に設定する例、図20は入力解像度のサンプリング位置のみでは不足しているサンプリング位置を設定する例である。もちろん、例えば後述の補正によるずれの変動を考えて出力解像度よりも小さい画素間隔で設定してもよいし、出力画質への影響が大きいと見込まれる画素、例えばエッジ検出フィルタの出力値が大きい画素の近傍についてのみ仮サンプリング位置を設定してもよい。また、入力解像度よりも低い解像度の画素間隔で設定してもよい(処理コストは仮対応点の密度に比例するため、処理コストが減らせる)。なお、この時点では、設定した位置におけるサンプリング値は不明である。
(ステップ3)仮サンプリング位置に対応するパターンを取得する。具体的には、例えば、仮サンプリング位置(仮対応点)を基準とした別途定めた上下左右の範囲(領域)、例えば、仮サンプリング位置を中心とした上下左右数画素のブロックを考え、その領域に対応するブロック(以下、参照ブロックと呼ぶ)を、図21に示すように、補間により入力解像度と同じ画素間隔の輝度パターンとして生成する(S1804)。S1804では例えば、仮サンプリング位置が入力解像度の座標系で(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点に対応する輝度を、補間により求める。なお、便宜上ブロックという言葉を用いたが長方形だけでなく任意の形状、例えば円や楕円、ひし形のような形でもよい。
(ステップ4)参照ブロックとのブロック誤差がなるべく小さいブロック(推定ブロック)を入力画像内で探す(S1805)。ブロック誤差としては、例えば、各画素値の差のノルムを総和したもの(例えばSSDやSAD)や、正規化相互相関が利用できる。探索においては、参照ブロック自身が選択させることを避けるため、例えば仮サンプリング位置からのL∞距離(Chebyshev距離)が別途定めたしきい値(例えば0.5画素)未満の位置にあるブロックは探索の候補から除外するとよい。探索の範囲は画面全体としてもよいが、より効率的に行うには、例えば、類似したパターンが参照ブロックの近くに現れやすいと仮定し、図22のように参照ブロックを中心とした縦横それぞれ数画素(例えば2〜3画素)以内の範囲のみを探索し、その中でブロック誤差が小さいブロックを選択する。あるいは、例えば水平・垂直エッジ検出フィルタの出力値の比によって近傍のエッジ方向を推定し、図23や図24に示すように探索の候補をエッジ方向に限定してもよい。なお、推定ブロックとして選択するブロックはブロック誤差が最小となる1つとしてもよいし、ブロック誤差がしきい値以下となるブロックをすべて選択してもよい(この場合、すべてのブロック誤差がしきい値を超えるなら1つも選択されないことになる)。なお、この探索には必ずしもブロックマッチングを利用する必要はなく、画素単位で対応付けできる他の動き推定の手法を用いてもよいし、例えば、画素単位よりも小さい精度で対応付けを行う手法を用いてその結果を四捨五入してもよい。
なお、SSDとはSum of Squared Differenceの略であり、ブロック間の2乗誤差をあらわす。その計算は、2つのブロックで対応する位置関係を持つ各画素について、画素値の差の2乗を求め、その総和を求めることで行える。SADとはSum of Absolute Differenceの略で、ブロック間の絶対値誤差をあらわす。その計算は、2つのブロックで対応する位置関係を持つ各画素について、その画素値の差の絶対値を求め、その総和を求めることで行える。なおブロック誤差については他の文献、例えば文献(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.)にも説明がある。
(ステップ5)推定ブロックを基準として設定した仮サンプリング位置の位相ずれを推定し、仮サンプリング位置の補正を行う(なお、このステップはなくてもよい)。位相ずれの推定方法は1次元の場合と同様に行える。例えば、1次元で行うバイナリサーチを2次元の画像に適用する場合には、例えば、水平・垂直方向それぞれについて先に説明したバイナリサーチを行ってもよいし、例えば、現在の推定位相ずれを(Δx、Δy)としたときに、(Δ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点に対するブロック誤差を用いる場合は、図25に示すように、まずε=0.5の候補位置4点と元の位置についてブロック誤差を評価し(元の位置のブロック誤差は計算済みの値が使える)、そのブロック誤差が最も小さくなる位相ずれを選択する。ε=0.25以下についても同様の操作を繰り返す。なお、サブピクセル位置に対するブロック誤差の評価には、先に参照ブロックの生成において説明したように、補間によって入力画像と同じ解像度のブロックを生成し、それを評価に用いる。ただし、ブロック誤差の評価を5点に対して行う場合に限り、以上に説明した図25の方法では推定不可能な位相ずれが存在する。余分な処理時間をかけてでも正確に求める必要がある場合には、図25の方法を修正した図32の方法を用いることで、どのような位相ずれでも推定できるようになる。図32の方法では、具体的には次の手順で推定を行う。まず、図25の方法と同様にε=0.5の候補位置4点と元の位置についてブロック誤差を評価し、そのブロック誤差が最も小さくなる位相ずれを選択する。これを第1のε=0.5の候補位置と呼ぶことにする。次に、(Δx、Δy)以外の4点のいずれかが選ばれた場合に限り、さらにその点を中心とした第2のε=0.5の候補位置4点を考え、それらのうちでブロック誤差が最も小さくなる位相ずれを選択する。第2のε=0.5の候補位置4点のうち2点については第1のε=0.5の候補位置と重複するため、計算のうえでは重複しない2点のみを評価すればよい。この操作を行った後は、先に図25を用いて説明した手順と全く同じ手順で、ε=0.25以下についての操作を行う(ε=0.25以下については第2の探索を行う必要はない)。なお、例えば(Δx+0.5、Δy+0.5)のような第2のε=0.5の候補位置が選ばれた場合は、ε=0.25以下の操作において、(Δx、Δy)からx座標あるいはy座標が0.5以上離れた位置が候補位置として設定されることがある。例えば、第2のε=0.5の評価によって(Δx+0.5、Δy+0.5)が選ばれたなら、ε=0.25の候補4点のうち(Δx+0.75、Δy+0.5)、(Δx+0.5、Δy+0.75)の2点は(Δx、Δy)から0.5以上離れた位置にある。理想的には(Δx、Δy)はブロック誤差最小の点から0.5以内の位置にあると期待できるから、これらの候補位置は省略しても良い(もちろん、理想からはずれることもあるため省略しなくても良い)。図32の方法を用いることで、一度に評価する位置を現在の推定位置と候補位置4点の計5点に抑えながら、位相ずれを正確に推定できる利点がある。
推定位相ずれの精度を上げながらブロック誤差の評価を繰り返す方法以外にも、補間信号パターンの誤差関数を利用した推定方法を利用する場合には、例えば、水平・垂直方向それぞれについて先に説明した位相ずれの推定方法を適用してもよい。あるいは、例えば誤差曲線を2次元の2次関数であると仮定すれば、2次元のサブピクセル位置ずれ(δx、δy)は次の式
Figure 0004982471
を満たすと仮定でき、例えばδx、δyとしてそれぞれ−1〜+1の9点についてブロック誤差の実測値を与えてa〜fの係数の最小2乗解を求めること、あるいは適当な6点を与えてa〜fの係数の解を求めることにより、(δx、δy)を偏微分=0で得られる2つの式を解いて推定できる。また、清水、奥富、「領域ベースマッチングのための2次元同時サブピクセル推定法」(電子情報通信学会論文誌D−II、Vol.J87−D−II、No.2、pp.554−564、2004)に示すように、1次元のサブピクセル位置ずれの式を用い、2次元の変位を同時に推定する方法を用いてもよい。なお、仮サンプリング位置の補正につては、仮サンプリング位置に対し、推定位相ずれの大きさを加減算するだけである。
また、例えばHarrisのコーナ検出法(C. Harris, M. Stephens, A Combined Corner and Edge Detector, Alvey Vision Conference, pp. 147-151, 1988)を利用してコーナ判定を行い、コーナ部分では2次元のサブピクセル位置ずれの式を、そうでない部分では1次元のサブピクセル位置ずれの式を使ってもよい。
(ステップ6)推定ブロックの中心におけるサンプリング値を仮サンプリング位置におけるサンプリング値とする。あるいは、ステップ5を行わない場合は、位相ずれを推定したうえで、仮サンプリング位置におけるサンプリング値を推定位相ずれに従って補間により生成してもよい。
(ステップ7)仮サンプリング位置におけるPoint Spread Functionを
Figure 0004982471
見つけたサンプリング値を
Figure 0004982471
とした式を追加する。なお、ステップ3〜ステップ7は、基本的にはステップ2で設定した仮サンプリング位置すべてについて行うものである。例えば、シングルスレッドのプログラムとして実装する場合には、仮サンプリング位置を切り替えながら、ステップ3〜ステップ7を繰り返し実行する。しかし、例えば、放送映像に対し入力動画像のフレームレートと同じ速度で解像度変換を行い、その結果をテレビやモニタにリアルタイムに出力する利用方法のように、処理時間に制約がある場合には、予め打ち切り時間を定めておき、打ち切り時間に達したときにはすべて処理していなくてもステップ8に進める、といった方法をとってもよい。処理しなかった仮サンプリング位置は破棄する。
(ステップ8)得られたWとyに対しRECONSTRUCTIONを行う(S1806)。
(ステップ9)もし動画像の解像度変換を行っているのであれば、すべてのフレームを処理するまで、入力画像を次のフレームに切り替えてステップ2から繰り返す。
(フレーム内とフレーム間データの統合による超解像)
動画像のフレームを対象とした解像度変換や、マルチカメラによって撮影された複数の画像を対象とした解像度変換では、音データにおいてステレオや5.1chのデータを対象とするときと同じように、探索パターンデータとして、解像度変換の対象とする画像に加え、複数枚の画像内のデータを利用することもできる。探索パターンデータを増やすことで、推定信号xに残るあいまいさを減らすこと、あるいはy=Wxに追加すべき各式における信号パターン誤差(画像においてはブロック誤差)を減らすことができる。その結果、推定信号xに混入するノイズを減らせ、解像度変換後の画像の品質を上げることができる。
以下に、解像度変換の手順を具体的に説明する。
(ステップ1)変換の対象とする画像(入力画像)を入力する(S1801)。例えば、動画像の解像度変換であれば、動画像中で次に変換すべき変換対象フレームを設定する。
(ステップ2)探索の対象とする画像(y=Wxの式を増やすために使う画像)を複数入力する(S1802)。例えば、動画像の解像度変換であれば、変換対象フレーム自身、およびその前Kフレーム、およびその後Kフレームの計(2K+1)フレームを入力とすることができる。なお、変換対象フレーム自身、前Kフレーム、後Kフレームのすべてを用いる必要はなく、これらのいずれか、およびこれらのいくつかの組み合わせを用いてもよい。例えば、変換対象フレーム自身は用いずに前Kフレームと後Kフレームを用いてもよいし、変換対象フレーム自身と前Kフレームを用いてもよい。
(ステップ3)入力画像に対し、サンプリング値が欲しい画素の位置(仮サンプリング位置)を決める(S1803)。この設定方法については、先に説明した1枚の画像に対する解像度変換を行う場合と同じ設定方法が利用できる。
(ステップ4)仮サンプリング位置に対応する画像ブロックを取得する(S1804)。具体的には、例えば図21に示すように、仮サンプリング位置(仮対応点)を基準とした別途定めた上下左右の範囲(領域)、例えば、仮サンプリング位置を中心とした、入力画像の画素と同じ間隔で上下左右に数画素を仮想的に配置したブロックを考え、その領域に対応する上記で定義した参照ブロックを、補間により入力解像度と同じ画素間隔の輝度パターンとして生成する。
(ステップ5)探索の対象とする画像内で、参照ブロックとのブロック誤差(例えば、SSDあるいはSAD)がなるべく小さいブロック(推定ブロック)を探す(S1805)。探索の対象のうち変換対象フレーム自身については、先に説明した1枚の画像に対する方法と同様に、参照ブロック自身が選択されないようにブロックの候補を設定する。それ以外の画像フレームに対しては、例えば、次の方法でブロックの候補を設定する。例えば、前フレーム、後フレームのそれぞれについて、変換対象フレームに近い画像から順に、直前のフレームでブロック誤差が最小となったブロックの位置を中心として(変換対象フレームの直前・直後のフレームについては参照ブロックの位置を中心として)、その周辺の別途定めた範囲(例えば、水平・垂直方向の差がいずれも10画素以内の範囲)の各整数画素位置についてブロックの候補を設定する。設定されたブロックの各候補について、図26に示すように参照ブロックとのブロック誤差(例えばSSDやSAD)を評価し、ブロック誤差が最小となる(あるいはブロック誤差が一定値以下となる)ブロックを推定ブロックとする。対応付けにより、変換対象フレーム上の各仮サンプリング位置は、一般に、それぞれ別々のフレーム上の画素位置に対応付けられる(図27)。なお、探索には各種高速探索アルゴリズム、例えば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.)を用いてもよい。
(ステップ6)推定ブロックを基準として設定した仮サンプリング位置の位相ずれを推定し、仮サンプリング位置の補正を行う(なお、このステップはなくてもよい)。位相ずれの推定方法は先に説明した1枚の画像に対する方法と同じ方法が使える。このステップにより、図27のように対応付けられた各仮サンプリング位置は、図28のように最初に設定した位置からわずかにずらされる。
(ステップ7)推定ブロックの中心におけるサンプリング値を仮サンプリング位置におけるサンプリング値とする。ステップ6を行わない場合は、位相ずれを推定したうえで、仮サンプリング位置におけるサンプリング値を推定位相ずれに従って補間により生成してもよい。
(ステップ8)仮サンプリング位置におけるPoint Spread Functionを
Figure 0004982471
見つけたサンプリング値を
Figure 0004982471
とした式を追加する。ステップ4〜ステップ8は先に説明したように、仮サンプリング位置すべてについて実行してもよいし、一部の仮サンプリング位置についてのみ実行してもよい。処理しなかった仮サンプリング位置は破棄する。
(ステップ9)得られたWとyを用いてRECONSTRUCTIONを行う(S1806)。
(ステップ10)もし動画像の解像度変換を行っているのであれば、すべてのフレームを処理するまで、次に変換すべき変換対象フレームを切り替えてステップ2から繰り返す。
この手法は動画像の代わりに複数のチャネルを持つ画像、例えば複数の視点から撮像された画像を解像度変換する際にも適用できる。
(本実施形態の手法と従来の超解像との違い)
従来の超解像との大きな違いは、従来の手法が他のフレームから変換対象フレームへの正確な動きを求めて対応付けを行うのに対し、本実施形態の手法では変換対象フレーム内のサンプリング値を必要とする位置を基準とした各局所パターンについて、他のフレーム内で正確に一致する局所パターンを探して対応付けを行う点である。「S. C. Park et al., “Super-Resolution Image Reconstruction: A Technical Overview,” IEEE Signal Processing Magazine, pp.21-36, May 2003.」によれば、従来の超解像では、正確な動きを求めるために例えば物体単位での複雑な動きの推定を利用する。しかし、正確な動きを求めるために時間をかけて複雑な画像処理を行っても、次の(A)、(B)の問題が残る。(A)得られた正確な動きに含まれる位相ずれが解像度変換に適しているかどうかは不明である。(B)フレームによっては物体自身の変形や移動により対応する位置が存在しないため、動きベクトルの推定誤りといったノイズの混入によるy=Wxへの誤った式の追加は避けられない。これらの問題のうち(A)については、本実施形態の手法の仮サンプリング位置の設定を行うことで、解決あるいは大幅に軽減できる問題である。次に(B)の問題についてであるが、本実施形態の手法において探索パターンデータとして複数枚の画像内のデータを利用することは、複数の画像の中で十分にブロック誤差の小さいブロックだけを選択する操作を行っていることになり、対応する位置が存在しないフレーム内のブロックは通常、この操作によって除外される。あるいは、推定ブロックとして最もブロック誤差の小さいブロックだけを選択する場合には、複数のフレームのうち1フレームでも物体自身の変形や移動が起こっていないブロックが存在しさえすれば、それ以外のフレームでどのような変形などが起こっていてもそれらのフレーム内のブロックは選択されないから、そのようなフレームに対応付けられることにより生じるy=Wxへの誤った式の追加は起こらない。したがって、少なくとも、動画像の各フレームから解像度変換の対象とするフレームに対する動きを求める従来の方法と比べると、解像度変換の対象とするフレームに設定した仮サンプリング位置から、他の複数のフレームから妥当なブロックだけを選択する本実施形態の手法を用いることで、y=Wxに対して誤った式が追加される可能性は大幅に減ると期待できる。つまり、本発明によれば(B)の問題も大幅に軽減できる。
なお、先に説明した実施形態はブロックマッチングと関数フィッティングを用いて対応点を決める方法の一種であると考えられるが、従来のように仮サンプリング位置を設定せずに対応点を求める方法とは次の理由で大きく異なる。整数画素単位でブロックマッチングによる探索を行うと、1次元において参照信号パターンに対する位相ずれがゼロに近い信号パターンが優先的に選ばれたのと同じ現象が起こる。したがって、入力解像度の整数画素位置を基準としてブロックマッチングを行うと、図29に示すように、得られる対応点2902は入力解像度の整数画素位置1901の近くに集中する。そのような位置に対するPoint Spread Functionは入力画像の整数画素位置1901に対するPoint Spread Functionと類似した係数を持つから、実質的には推定信号のあいまいさを減らすことができない(実質的に、同一の係数を持つ方程式を並べただけになる)。画像における理想的な対応点は、例えば図30に示す位置である。例えば、この位置に仮サンプリング位置を設定し、本実施形態の手法でブロックマッチングと仮サンプリング位置の補正を行えば、得られる対応点の位置3101は図31のようになる。本実施形態の手法による対応点(図31)にPoint Spread Functionとサンプリング値を設定して得られる式は、単にブロックマッチングを用いて得られた対応点2902(図29)に同様の操作を行って得られる式と比べ、出力画像のあいまいさを大幅に減らせ、出力画像の画質を大幅に向上させることができる。
(フレーム間対応の変形例)
なお、本実施形態の手法においても2フレーム間の動き推定を利用することは可能である。例えば、与えられたブロックに対し、フレーム間の動き推定を高速に実行する回路が4つ利用できる場合を考える。この場合は、例えば次のように利用することもできる。まず入力として、解像度変換の対象とする画像(変換対象フレーム)、および4つの他フレームを受理する。次に、変換対象フレームに対し仮サンプリング位置を設定する。次に、各仮サンプリング位置について、その位置を中心としたブロックを補間生成し、各他フレームについて動き推定回路を利用して対応位置を見つける。最後に、以下の(1)(2)のいずれかを実行する。(1)得られた位置すべてについて、仮サンプリング位置の補正を行った上でy=Wxを生成し、RECONSTRUCTIONを実行する。(2)まず、補間生成したブロックごとに、返された4つのブロックのブロック誤差を評価してブロック誤差が最も小さいブロックを選択する。次に、選択された各ブロックから得られる位置のそれぞれについて、仮サンプリング位置の補正を行った上でy=Wxを生成し、RECONSTRUCTIONを実行する。
(2次元対応点推定の高速化)
以上の説明においては、仮サンプリング位置を取得するステップ(S1804)において補間を行っていた。この補間は仮サンプリング位置の数だけ行う必要があるため、データ量によってはかなりの処理時間がかかる。特に、計算量の多い補間方法を用いる場合にはそれが顕著である。ところで、それぞれの補間で切り出されるブロックは、わずかにずれた位置を中心としたブロックである。したがって、もし仮サンプリング位置の間隔を入力解像度で表現した場合に、整数値からなる分数で画素間隔を表すとその分母が小さい値となるのなら、予め画面全体に対する補間画像を必要なだけ生成しておき、ブロックを取り出すときには補間画像からブロックを取り出せば、補間に必要な演算量を減らせる。以下、具体的な手順について説明する。なお、ここでいう仮サンプリング位置の間隔とは、具体的には、例えば1/2画素間隔や1/3画素間隔、2/3画素間隔のような値のことをいう。
(ステップ1)上述した実施形態と同様に画像を入力する(S1801、S1802)。
(ステップ2)与えられた入力データに対し、サンプリング値が欲しい画素の位置を仮サンプリング位置として設定する(S1803)。このとき、水平方向・垂直方向の仮サンプリング位置の間隔は等間隔となるようにしておく。以下、入力解像度で表現したときの水平方向・垂直方向の仮サンプリング位置の間隔をそれぞれ
Figure 0004982471
で表す。右上の(x)、(y)は方向(順に水平・垂直)を表し、方向を明記する必要がない場合は単に
Figure 0004982471
と表記する。各
Figure 0004982471
は整数で、
Figure 0004982471
を満たすものとする。
(ステップ3)各方向についてすべてのシフト値
Figure 0004982471
を考えると、水平・垂直方向の組としてはシフトを行わない場合も含めて
Figure 0004982471
通りのシフト値の組が存在する。これらのシフト値の組すべてについて、解像度変換の対象とする画像をシフト値の組だけずらした画像を、補間により生成する。
(ステップ4)仮サンプリング位置に対応するシフト値の組だけずらした画像から、仮サンプリング位置を基準としたパターンを取得する(S1804)。上述の実施形態ではここで補間を必要としていたが、ステップ3ですべての補間パターンを生成しているため、この実施形態では仮サンプリング位置ごとの補間を必要とせず、生成済みのパターンを利用できる。
(ステップ5)今までの実施形態と同様に、フレーム内データ、あるいは他のフレームを利用してS1805以降のステップを実行する。なお、ここでは2次元の例として説明したが、補間パターンを予め生成しておいて逐次補間を避けることは他の次元、例えば1次元でも同様に利用できる。
(データベースの利用)
1次元信号と同様、2次元信号の画像についても、再現性を持つ局所的なパターンが多く存在する。したがって、予め多くの画像からブロックを切り出してそれらをデータベースに保存しておき、探索の候補としてそれらのブロックを加えることで、y=Wxに追加する式をより良くできる可能性を上げられる。なお、保存された画像の撮像過程は一般に入力画像の撮像過程と一致しないから、Point Spread Functionとしては入力画像とは別の関数を用いてもよい。なお、多くの画像から多数のブロックを切り出すとデータベースに必要なディスク容量や探索に必要な時間が極めて大きくなるため、クラスタリングによるデータ量の削減を行っておいてもよい。クラスタリングには、例えばK−Means法が利用できる。
(欠落データを含む変換:インタレースtoプログレッシブ)
入力画像がインタレース動画像の場合、その各フレームに対し、本実施形態の手法で解像度変換を施す方法の1つは、各フレームを構成する2つのフィールドのそれぞれを1つの画像とみなし、それぞれのフィールド画像に対して本実施形態の手法を適用した上で、2つのフィールド画像からインタレース動画像フレームを生成することである。あるいは、2つのフィールドのそれぞれについて、縦方向の補間により2つのプログレッシブ画像フレームを生成し、本実施形態の手法を適用して出力解像度のプログレッシブ画像フレームを得た後、出力画像に対する縦方向の間引きを行い、インタレース動画像フレームを生成することもできる。
(欠落データを含む変換:インタレース画像に対する超解像)
また、インタレース動画像の解像度変換においてより高品質な画像を得るために、インタレース動画像に対し、本実施形態の手法を次の方法で適用することもできる。次に述べる方法では、インタレース動画像の各フィールドについて、出力画像としてプログレッシブ画像フレームを得ることができるため、処理後に出力画像に対する縦方向の間引きを行えば、インタレース動画像フレームを生成できる。
(ステップ1)変換の対象とする入力画像フィールドを入力する。あるいは、動画像に対して、次に変換の対象とする画像フィールドを設定する。2フィールドの画像が混じったデータの場合は、トップフィールド、ボトムフィールドを分離し、元のデータの時系列にしたがって入力する。あるいは、2つのフィールドの時系列が不明であれば、そのいずれかを先に処理する。
(ステップ2)探索の対象とする画像(y=Wxの式を増やすために使う画像)を複数入力する。例えば、変換対象フィールド自身、およびその前Kフィールド、およびその後Kフィールドの計(2K+1)フィールドを入力とすることができる。
(ステップ3)入力フィールドとその欠落フィールドを考えた入力フレームの画像空間で、サンプリング値が欲しい画素の位置(仮サンプリング位置)を決める。この設定方法については、先に説明した1枚の画像に対する解像度変換を行う場合と同じ設定方法が利用できる。仮サンプリング位置は欠落部分にも配置する。
(ステップ4)仮サンプリング位置に対応する画像ブロックを取得する。具体的には、例えば、仮サンプリング位置(仮対応点)を基準とした別途定めた上下左右の範囲(領域)、例えば、仮サンプリング位置を中心とした上下左右数画素のブロックを考え、その領域に対応する上記で定義した参照ブロックを、補間により入力解像度と同じ画素間隔の輝度パターンとして生成する(S1804)。なお、欠落フィールドについては輝度値が不明であるため、縦方向については解像度が1/2の画像座標系を仮想的に考え、縦が1/2の座標系における仮サンプリング位置を基準として補間を行う。
(ステップ5)探索の対象とするすべての画像フィールドを対象として、参照ブロックとのブロック誤差(例えば、SSDあるいはSAD)がなるべく小さいブロック(推定ブロック)を探す(S1805)。この探索は、フレームではなくフィールドを単位とする点を除き、先に説明した方法(インタレース画像ではなくプログレッシブ画像を対象とした方法)と同じ方法で行えばよい。
(ステップ6)推定ブロックを基準として設定した仮サンプリング位置の位相ずれを推定し、仮サンプリング位置の補正を行う(なお、このステップはなくてもよい)。仮サンプリング位置の補正についても、先に説明した方法と同様の方法で行えばよい。
(ステップ7)推定ブロックの中心におけるサンプリング値を仮サンプリング位置におけるサンプリング値とする。ステップ6を行わない場合は、位相ずれを推定したうえで、仮サンプリング位置におけるサンプリング値を推定位相ずれに従って補間により生成してもよい。
(ステップ8)仮サンプリング位置におけるPoint Spread Functionを
Figure 0004982471
見つけたサンプリング値を
Figure 0004982471
とした式を追加する。ステップ4〜ステップ8は先に説明したように、仮サンプリング位置すべてについて実行してもよいし、一部の仮サンプリング位置についてのみ実行してもよい。処理しなかった仮サンプリング位置は破棄する。
(ステップ9)得られたWとyを用いてRECONSTRUCTIONを行う(S1806)。ここで得られる画像データはインタレースではなくプログレッシブの画像データである。そこで、必要であれば、縦方向に間引きを行い、インタレース画像データを生成する。なお、出力フィールド画像データの正確さでは劣るが簡易的な方法として、Point Spread Functionを出力フィールドの各画素の重みつき和として定義しておき、出力しない(あとで間引かれる)フィールドの情報を考慮せずにRECONSTRUCTIONを行う方法を用いてもよい。
(ステップ10)すべてのフィールドを処理するまで、次に変換すべき変換対象フィールドを時系列にしたがって切り替えながら、ステップ2からの操作を繰り返す。
(インタレースtoプログレッシブ変換の変形例)
以上がインタレース動画像に対する本実施形態の手法の適用方法の1例であるが、インタレース動画像であっても、例えば静止領域については時刻・位置のずれたフィールドであってもそのまま利用できる。ところで、インタレース動画像のフィールドデータは通常、0→1→0→1→…のように交互に保存されている。したがって、例えば解像度変換対象フィールドの直前・直後のフィールドの各画素について、そのフィールド間の輝度値に差がないとみなせる(例えば、差が別途定めたしきい値を超えない)なら、その画素については直前あるいは直後のフィールドにある輝度をそのまま用いても(あるいはそれらの平均値を用いても)よいことになる。このように欠落フィールドの輝度値の一部を推定しておけば、例えば、RECONSTRUCTIONにおける拘束条件y=Wxの式の追加、RECONSTRUCTIONにおけるxの初期値を与える際の補間での利用、ステップ4において補間で生成するブロック内の輝度値の推定に利用できる。なお、例えば、前後のフィールドから推定できなかった画素については、解像度変換対象フィールドからの縦方向の補間によって推定してもよい。補間により未知フィールドのデータをすべて与えておけば、xの初期値やブロックの補間において、キュービックコンボリューションのように等間隔のサンプリングデータが必要な方法も容易に利用できるようになる。その際、縦方向の補間により推定されたデータを拘束条件y=Wxに加える必要はない。
(補間方法の変形例)
なお、今までの実施形態ではxの初期値を与えるために補間を用いてきたが、xの初期値を与えるために必ずしも補間を用いる必要はなく、例えば、各出力画素位置について、入力信号や入力画像の各サンプリング位置と、補正を行った後の仮サンプリング位置のうちでもっとも近い位置を探し、その輝度値を初期値としてもよい。
(速度と精度のトレードオフ制御)
また、仮対応点(仮サンプリング位置や仮サンプリング時間)の配置間隔を変更すれば、計算量と精度のバランスを制御できる。出力サンプリングレートと同じ間隔での仮対応点の配置を基準とするとき、出力サンプリングレートと同じかそれ以上の高いサンプリングレートで仮対応点を配置すれば、得られる式の本数が変数の数を上回り、計算量は多いものの信頼性の高いxが得られる。一方、出力サンプリングレートよりも低い間隔で仮対応点を配置すると、得られる式の本数が変数の数よりも小さくなり、計算量は減らせるがxの信頼性は低くなる。しかし、出力サンプリングレートより低いサンプリングレートで仮対応点を配置しても、必ずしもユーザが感知できるほどxが劣化するわけではない。そこで、例えばテレビやハードディスクレコーダに本発明の実施形態を利用する場合のように、再生速度と同等の処理時間しかかけられず計算量を減らす必要があるなら、出力サンプリングレートを下げて利用しても良い。
(3次元以上の信号への拡張方法)
なお、上記の本実施形態では主に1次元信号および2次元信号(画像)の場合について説明したが、実施形態の手法は、3次元以上の信号についても適用できる。例えば、放射線(X線CT)、核磁気(MRI)により撮影され生成された3次元のボクセル信号や、画像を時系列に並べた時空間画像に対して、実施形態の手法を適用することも可能である。また、例えばRGBやYUVのように信号が1次元でない場合は、それぞれの信号に対して実施形態の手法を適用してもよい。あるいは、例えば、対応位置を求めるステップ(RECONSTRUCTION以外のステップ)を1度だけ実行し、得られた結果をすべての信号に対して利用してもよい。また、例えば、ブロック誤差として、対象とする多次元信号の空間(例えばRGB空間)で求めた2乗誤差や絶対値誤差の総和を用いてもよい。
以上に示した第2の実施形態によれば、RECONSTRUCTIONに基づくサンプリングレート変換(画像においては解像度変換)において、まず所望の仮サンプリング時間あるいは仮サンプリング位置を設定し、それに対応するサンプリング時間あるいはサンプリング位置を見つけるという方法を用いてy=Wxに式を追加することによって、従来の方法と比べ推定信号xのあいまいさを減らすことができ、出力信号を従来と比べ高い精度で推定できる。
(対応点の配置方法)
以上の説明では、出力解像度から仮対応点(あるいは仮サンプリング位置、以下同様)の位置を決める例を示したが、本発明は、特に仮対応点を均一に配置することに限定するものではない。また、各仮対応点を均一に配置することは、画質、処理コストの両面において必須ではない。
仮対応点が均一に配置されれば、RECONSTRUCTIONで解くべき連立方程式はxを安定して推定できるものになりやすいが、もし仮対応点を均一に配置することで求める対応点がずれてしまうなら、追加されたxとyの関係式そのものの信頼性が低くなるため、xの推定誤りが大きくなってしまう。各仮対応点が既知の画素、および他の仮対応点からある程度離れた位置に配置されているのなら、得られる対応点がなるべくずれないように、仮対応点を配置したほうが良い。
以下、仮対応点が均一でない配置が望ましい場合の例を示す。
(仮対応点の格子上での配置)
例えば、仮対応点の位置と仮対応点の修正方法の組み合わせによって、得られる対応点が大きくずれることがある。対象を2次元の画像とし、仮対応点(仮サンプリング位置)の位相ずれを修正する方法の一つとして、水平・垂直方向それぞれについて位相ずれの推定方法を適用する方法を説明する。図33は仮対応点の位相ずれを修正する具体的な方法の例である。ここでは、予め、ブロックマッチングによる整数画素単位での対応付けにより、3301が得られているものとする。ここで、
(ステップ1)3301のブロック誤差、および上下の画素3302、3303におけるブロック誤差を求めて垂直方向での誤差関数を立て、極小位置3304を見つけ、
(ステップ2)3304を基準とした左右の画素3305、3306におけるブロック誤差を求めて水平方向での誤差関数を立て、極小位置3307を見つける、
という操作を行う場合、仮対応点の修正が可能である。このとき水平あるいは垂直の推定順序は逆にしてもよい。
(ブロック誤差が最小となる位置である)真の位置が、水平及び垂直の両方について大きな修正を必要とする場合や、最初に推定する方向に対する修正と2番目に推定する方向に対する修正のうち、2番目に推定する方向が必要な修正量が大きい場合に、修正の精度は悪くなる。
例えば図34に示すように仮対応点を均一に配置することを考える。多くの動画像は背景やキャプションなどの静止領域を含むが、3403のように仮対応点が配置されると、静止領域について水平及び垂直の両方について大きな修正を必要とすることになる。一方、静止領域では動領域と比べ人間の視力が高くなるために、静止領域で対応点が誤りを含んでいる場合には画質が低下してしまう可能性が高い。しかしながら、仮対応点の修正にあたり水平・垂直方向それぞれについて先に説明した位相ずれの推定方法を用いると、3403のように配置された仮対応点については、最終的に得られる対応点の精度が悪くなりやすい。
この問題に対応する方法の1つは、図35に示すように、入力画素を基準として、水平あるいは垂直方向のいずれか一方だけにずらした位置に仮対応点を配置する方法である。この場合、水平方向にずらした位置に配置された仮対応点については水平方向の誤差関数を先に評価し、また、垂直方向にずらした位置に配置された仮対応点については垂直方向の誤差関数を先に評価することで、仮対応点が静止領域に配置された場合に得られる対応点の誤りを抑えることができる。つまり、最終的に得られる画像における画質の低下を抑えることができる。
以上の例は、仮対応点の修正に1次元の誤差関数を用いるという例であるが、仮対応点の修正方法により最適な配置方法が変化するという点は他の修正方法についても同様である。また仮対応点の修正方法として別の修正方法を用いた場合でも、最適な仮対応点の配置方法が均一な配置になるとは限らない。なお、仮対応点の修正方法が1次元の誤差関数を用いるような簡単な方法でなくても適用可能である。例えばある修正方法に対して優れた仮対応点の配置方法を、画像データの組を複数準備したうえで、仮対応点の配置方法を変化させながら、仮対応点の修正によって得られるブロック誤差の最小値が平均的に小さくなるような仮対応点の配置方法を探すことで見つけることが可能である。
また、1次元の誤差関数を用いて修正する方法は、2次元の画像に限るものではなく、入力データが3次元以上であっても同様に適用可能である。一般に、N次元のデータに対し、仮対応点のうち1次元(これをN次元空間内の軸とよぶことにする)のみを修正し、残りの(N−1)次元は修正しないという場合に、(N−1)次元分が入力解像度(入力サンプリングレート)での整数値となるように(そしてずらす1次元の方向については入力サンプリングレートで非整数値となるように)各仮対応点を配置しておくことで、先に述べた2次元の例と同じ効果を得ることができる。言い換えると、仮対応点を、入力N次元データのうち1つの画素(サンプリング点)を基準として、いずれかの1次元の方向にずらした位置に配置することで、修正が1次元で行われる場合でも仮対応点の修正を比較的高い精度で行うことができることになる。さらに、N次元のうちいずれかの1次元の方向に沿った誤差関数ではなく、斜めとなる方向(つまり、N次元空間内の任意の方向)の誤差関数を考えて、その誤差関数により仮対応点の位置を修正する場合には、同様に、その誤差関数に沿った斜めの方向に仮対応点をずらせばよい。
なお、全ての対応点を1次元の修正で求める必要はなく、仮対応点をすべて1次元の修正にあわせて配置する必要もない。例えば、入力データが2次元の画像である場合、テクスチャ部では仮対応点の修正精度がエッジよりも落ちる場合がある。この場合、Harrisオペレータによるエッジ検出を行い、テクスチャでないとされた画素については1次元の修正を行い、それ以外の部分については2次元の修正を行うという方法が適用可能である。テクスチャでないとされた画素とはこの場合、Harrisオペレータによって得られる固有値のうち少なくとも1つが小さいとみなせる画素である。したがって、例えば、Harrisオペレータによりテクスチャでないとされた部分については1次元の誤差関数に適した仮対応点を配置し、それ以外の部分については均一な仮対応点の配置を行う方法を利用し、先に述べた修正方法を利用してもよい。
(対応づけのブロック化)
本発明の実施形態における今までの例では、仮対応点(仮サンプリング位置)1つ1つについて独立に、マッチングや仮対応点(仮サンプリング位置)の修正を施した。この方法はより正確な対応付けに向いているが、処理コスト(あるいは回路規模)が増大するという欠点もある。そこで、複数の仮対応点(仮サンプリング位置)をまとめて処理する例を以下に示す。
例えば入力画素(入力信号)の間隔(サンプリング間隔)が仮対応点(仮サンプリング位置)の間隔と等しい場合、複数の仮対応点の位相差が等しいと仮定して対応付けを行うことにより、仮対応点(仮サンプリング位置)に対応する位置をまとめて求めることができる。仮対応点を均一に配置しなくてもよいとすると、入力画素(入力信号)の間隔と等しくなるように仮対応点を配置しておけば、仮対応点に対応する位置をまとめて求めることができる。以下、例として画像での仮対応点の配置方法を説明するが、この配置方法は1次元の信号であっても、2次元の画像であっても、あるいは3次元以上のデータであっても適用可能である。
はじめに、2つの仮対応点をまとめて対応付ける方法について図36を用いて説明する。まとめて対応付けが行えるように仮対応点を配置するには、1つの仮対応点を配置した後に、その仮対応点から入力解像度で1画素分だけずれた位置に別の仮対応点を配置すればよい。例えば、仮対応点3602の配置後に、入力解像度で1画素ずれた位置に仮対応点3603を配置し、仮対応点3604の配置後に、入力解像度で1画素ずれた位置に仮対応点3605を配置し、以下同様に仮対応点を配置していけば、対になる仮対応点は必ず整数画素分だけ離れた位置に配置されることになる。なお、対にならない仮対応点は他の仮対応点から入力解像度で1画素分だけずれた位置でなくてもよく、例えば仮対応点3606のような配置を行ってもよい。必ずしも1画素分ずれた位置でなくても、整数画素位置だけずれた位置に配置されていれば同時に対応付けを行うことは可能である。図37は、仮対応点3702から入力解像度で2画素分ずれた位置に仮対応点3703を配置する例を示している。また、2次元の画像で横方向にずらす例を示したが、ある仮対応点から縦や斜めにずれた位置に仮対応点を配置してもよい。以上の説明では2つの仮対応点が対になるような配置方法を説明したが、各仮対応点の間隔は入力解像度での画素間隔の整数倍になっていれば、この配置方法は3つ以上の仮対応点の配置にも容易に拡張できる。
次に、仮対応点の配置間隔が入力解像度での画素間隔になるように、仮対応点を配置する際の解像度を決める方法について説明する。仮対応点を出力解像度と同じ解像度で配置するのではなく、入力解像度の整数倍あるいは入力解像度の有理数倍となる解像度で配置すれば、ある仮対応点に対し、入力解像度で整数画素間隔になるように配置された仮対応点が存在する。仮対応点を入力解像度に対して整数倍となる解像度で配置した場合は1画素間隔、仮対応点を入力解像度に対して(整数でない)有理数倍となる解像度で配置した場合はその倍率に応じた2以上の画素間隔で、組にできる仮対応点が存在する。
例えば、入力解像度に対して縦横それぞれ2倍の解像度となるように仮対応点を配置すれば、図38に示すように、3801の各仮対応点、3802の各仮対応点はそれぞれ整数画素間隔で配置されているから、同時に対応付けを行うことができる。この配置方法は先に述べた水平・垂直方向のいずれか一方だけにずらした位置に仮対応点を配置する方法と組合せることもでき、この場合は図39のように配置することになる。3901の各仮対応点、3902の各仮対応点はそれぞれ整数画素間隔で配置されている。なお、図38の例に示した配置は、例えば、kを整数とするとき、入力解像度において(1/4+k、1/4+k)、(3/4+k、1/4+k)、(1/4+k、3/4+k)、(3/4+k、3/4+k)となる位置に仮対応点を配置することで得られる。また、図39の例に示した配置は、例えば、kを整数とするとき、入力解像度において(1/4+k、0)、(3/4+k、0)、(0、1/4+k)、(0、3/4+k)となる位置に仮対応点を配置することで得られる。倍率は2倍以外の倍率で仮対応点を配置してもよいし、縦横のそれぞれで別の倍率となるように仮対応点を配置してもよい。
このように複数の仮対応点が入力解像度の整数画素間隔で配置された場合には、同時に対応付けを行うことができる。このような対応付けは、先に説明した、1つの仮対応点を中心としたブロックの各輝度(入力パターン)を算出し、その入力パターンを基準として、対象画像やその他の画像(探索パターンデータ)内でブロック誤差が低いブロック(探索パターン)である推定パターンを求め、その中心位置と対応付ける方法と同様の方法で行える。複数の仮対応点をまとめて対応付ける場合には、中心とする点が1つの仮対応点ではなく複数の仮対応点であるという違いはあるが、図40のように、仮対応点の集合を中心としたブロックを入力パターンとして、1つの仮対応点の場合と同様に推定パターンを求め、ブロック内で各仮対応点に対応する位置をそれぞれ対応付けることで行える。なお、仮対応点の修正を行う場合、仮対応点の修正はブロック内の仮対応点すべてについてまとめて行ってもよいし、1つずつ、あるいは数個ずつ別々に行ってもよい。
以上に述べたように、仮対応点の配置として均一でない配置を用いることは、画質、処理コストの両面において望ましい場合がある。ここで重要なことは、望ましいと考えられる位置に仮対応点を配置したうえで、仮対応点を基準として対応付けを行うということであり、仮対応点を均一に配置することが望ましいことがあり、その場合はより望ましい配置を適用することがよい。また、本発明の実施形態では、従来は全く用いられなかった仮対応点という新たな概念を導入し、それを利用した対応付けを行うことにより、出力画像の高品質な推定を可能としているのである。
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の信号処理装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の信号処理装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
なお、本願発明におけるコンピュータまたは組み込みシステムは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
入力画像である低解像度画像の画素位置を示す図。 出力画像の正確さの向上に大きく寄与する対応点の一例を示す図。 出力画像の正確さの向上にあまり寄与しない対応点の一例を示す図。 1次元信号のサンプリング過程を示す図。 サンプリングレート変換を説明するための図。 POCSによるサンプリングレート変換の一例を示すフローチャート。 実施形態の信号処理装置のブロック図。 図7の信号処理装置の第1の実施形態での動作の一例を示すフローチャート。 図8のステップS803を説明するための図。 図8のステップS804を説明するための図。 図8のステップS805を説明するための参照信号を示す図。 図8のステップS805を説明するための候補信号1を示す図。 図8のステップS805を説明するための候補信号2を示す図。 誤差関数を2次関数として場合の関数フィッティングを示す図。 MAPによるサンプリングレート変換の一例を示すフローチャート。 入力画素のサンプリング値を利用した出力サンプリング値に関する式の一例を示す図。 他フレームの対応位置から得られたサンプリング値を利用した追加式の一例を示す図。 図7の信号処理装置の第2の実施形態での動作の一例を示すフローチャート。 図18のステップS1803での仮サンプリング位置の設定の一例を示す図。 図18のステップS1803での仮サンプリング位置の設定の一例を示す図。 図18のステップS1804での仮サンプリング位置からの参照ブロックの生成の一例を示す図。 図18のステップS1805での参照ブロックを基準として候補とする変位の一例を示す図。 図18のステップS1805での参照ブロックを基準として候補とする変位の一例を示す図。 図18のステップS1805での参照ブロックを基準として候補とする変位の一例を示す図。 図18のステップS1805での、5点に対するブロック誤差を評価し、ブロック誤差が最小になる位相ずれを選択する様子を説明するための図。 図18のステップS1805での参照ブロックとのブロック誤差が小さくなるブロックを探す様子を示す図。 変換対象フレームの仮サンプリング位置を他フレームの画素位置に対応付ける様子を示す図。 推定した位相ずれにより、仮サンプリング位置の補正を行う様子を示す図。 入力解像度の整数画素位置を基準としてブロックマッチングで得られる対応点を示す図。 画像における理想的な対応点を示す図。 実施形態の信号処理装置によって得られる対応点の一例を示す図。 図25で説明した方法よりも正確な評価を得ることが可能な、5点に対するブロック誤差を用いる場合の方法を説明するための図。 仮対応点の位相ずれを修正する具体的な方法を説明するための図。 図33で説明される方法で、仮対応点を均一に配置する場合を示す図。 図33で説明される方法で、水平・垂直方向のいずれか一方だけにずらした位置に仮対応点を配置する場合を示す図。 2つの仮対応点をまとめて対応付ける方法を説明するための図。 仮対応点3902から入力解像度で2画素分ずれた位置に仮対応点3903を配置する一例を示す図。 複数の仮対応点がそれぞれ整数画素間隔で配置されている一例を示す図。 図35で説明される方法と図38で説明される方法によって複数の仮対応点が配置されている一例を示す図。 仮対応点の集合を中心としたブロックを入力パターンを使用してブロック内で各仮対応点に対応する位置をそれぞれ対応付ける様子を示す図。
符号の説明
101・・・低解像度画素、201・・・対応点、301・・・対応点、701・・・一時記憶部、702・・・演算部、703・・・入出力受付部、704・・・信号受付部、705・・・信号出力部、706・・・不揮発記憶部、1901・・・入力解像度の整数画素位置、2901・・・出力解像度の画素位置、2902・・・対応点、2903・・・対応点が存在しない部分領域、3001・・・理想的な対応点、3101・・・対応点。

Claims (18)

  1. N次元空間(N:自然数)上の第1のN次元座標値と、第1のN次元座標値のサンプリング値との集合である処理対象データを入力する第1入力ステップと、
    前記N次元空間上の第2のN次元座標値と、第2のN次元座標値のサンプリング値との集合である探索パターンデータを入力する第2入力ステップと、
    前記処理対象データ内に、第3のN次元座標値で指定される仮対応点の集合を設定する第1設定ステップと、
    前記仮対応点のそれぞれに対し、前記N次元空間上で前記仮対応点を基準とする第1範囲内のサンプリング値である入力パターンを前記処理対象データから取得する第1取得ステップと、
    前記第2のN次元座標値ごとに、第2のN次元座標値を基準とする第2範囲内のサンプリング値である探索パターンを前記探索パターンデータから取得する第2取得ステップと、
    複数の探索パターンのうち、前記入力パターンとの違いが他の探索パターンと比べ低い探索パターンである推定パターンを、前記探索パターンデータ内から見つけるマッチングステップと、
    前記仮対応点におけるそれぞれのサンプリング値として、前記推定パターン内で仮対応点に対応する位置のサンプリング値を設定する第2設定ステップと、
    設定されたサンプリング値と仮対応点のN次元座標値とを使用して、前記処理対象データのサンプリングレートを変換する変換ステップと、を具備することを特徴とする信号処理方法。
  2. 前記マッチングステップでは、前記複数の探索パターンのうち、前記入力パターンとの違いが他の探索パターンと比べて最も低い類似探索パターンと、該類似探索パターンとの違いがある割合以下である探索パターンとを、前記探索パターンデータ内から見つけることを特徴とする請求項1に記載の信号処理方法。
  3. 前記マッチングステップでは、前記複数の探索パターンのうち、前記入力パターンとの違いがある割合以下である探索パターンを、前記探索パターンデータ内から見つけることを特徴とする請求項1に記載の信号処理方法。
  4. 前記推定パターンごとに、対応する前記仮対応点を基準とする別途定めた範囲内で、前記推定パターンとの違いが低いパターンである修正入力パターンを、前記処理対象データ内から見つける入力パターン修正ステップと、
    前記仮対応点のそれぞれを、前記修正入力パターン内で仮対応点に対応する位置に修正仮対応点として修正する修正ステップと、をさらに具備し、
    前記第2設定ステップは、前記修正仮対応点におけるそれぞれのサンプリング値として、前記推定パターン内で修正仮対応点に対応する位置のサンプリング値を設定することを特徴とする請求項1に記載の信号処理方法。
  5. 前記Nは2であって、前記処理対象データおよび前記探索パターンデータはそれぞれ画像データであることを特徴とする請求項1に記載の信号処理方法。
  6. 前記処理対象データは動画像内の1フレームであって、前記探索パターンデータは前記動画像内にある前記処理対象データ以外のフレームを含むことを特徴とする請求項5に記載の信号処理方法。
  7. 前記入力パターンは、前記仮対応点を中心とするある形状のブロックの画素位置でのサンプリング値を補間して得られたパターンであり、前記探索パターンは、前記探索パターンデータ内の画素を中心とする前記入力パターンと同じ形状のブロック内のサンプリング値を取得することで得られたパターンであり、
    前記マッチングステップでは、前記推定パターンとして、前記探索パターンのうち、ブロック内の各画素位置におけるサンプリング値の差のノルムの総和が小さい信号パターンを選択することを特徴とする請求項5に記載の信号処理方法。
  8. 前記Nは1であって、前記処理対象データおよび前記探索パターンデータはそれぞれ音データであることを特徴とする請求項1に記載の信号処理方法。
  9. 前記探索パターンデータは前記処理対象データを含むことを特徴とする請求項1に記載の信号処理方法。
  10. 前記探索パターンは前記入力パターンと同一の大きさのパターンを予め記録したデータベースから取得されることを特徴とする請求項1に記載の信号処理方法。
  11. 前記推定パターンごとに、対応する前記仮対応点を基準とする別途定めた範囲内で、前記推定パターンとの違いが低いパターンである修正入力パターンを、前記処理対象データ内から見つける入力パターン修正ステップと、
    前記修正入力パターン上で前記仮対応点に対応する位置と、前記仮対応点との差にしたがって仮対応点におけるサンプリング値を補正し、補正サンプリング値を得る補正ステップと、をさらに具備し、
    前記第2設定ステップは、前記仮対応点におけるそれぞれのサンプリング値として、前記補正サンプリング値を設定することを特徴とする請求項1に記載の信号処理方法。
  12. 前記入力データは複数のチャネルデータを備えたデータの1つであって、前記探索パターンデータは前記入力データ以外のチャネルデータを含むことを特徴とする請求項1に記載の信号処理方法。
  13. 前記第1設定ステップは、複数の前記仮対応点を、出力信号のサンプリング間隔と同じかそれ以下の間隔で配置することを特徴とする請求項1に記載の信号処理方法。
  14. N次元空間(N:自然数)上の第1のN次元座標値と、第1のN次元座標値のサンプリング値との集合である処理対象データを入力する第1入力手段と、
    前記N次元空間上の第2のN次元座標値と、第2のN次元座標値のサンプリング値との集合である探索パターンデータを入力する第2入力手段と、
    前記処理対象データ内に、第3のN次元座標値で指定される仮対応点の集合を設定する第1設定手段と、
    前記仮対応点のそれぞれに対し、前記N次元空間上で前記仮対応点を基準とする第1範囲内のサンプリング値である入力パターンを前記処理対象データから取得する第1取得手段と、
    前記第2のN次元座標値ごとに、第2のN次元座標値を基準とする第2範囲内のサンプリング値である探索パターンを前記探索パターンデータから取得する第2取得手段と、
    複数の探索パターンのうち、前記入力パターンとの違いが他の探索パターンと比べ低い探索パターンである推定パターンを、前記探索パターンデータ内から見つけるマッチング手段と、
    前記仮対応点におけるそれぞれのサンプリング値として、前記推定パターン内で仮対応点に対応する位置のサンプリング値を設定する第2設定手段と、
    設定されたサンプリング値と仮対応点のN次元座標値とを使用して、前記処理対象データのサンプリングレートを変換する変換手段と、を具備することを特徴とする信号処理装置。
  15. コンピュータを、
    N次元空間(N:自然数)上の第1のN次元座標値と、第1のN次元座標値のサンプリング値との集合である処理対象データを入力する第1入力手段と、
    前記N次元空間上の第2のN次元座標値と、第2のN次元座標値のサンプリング値との集合である探索パターンデータを入力する第2入力手段と、
    前記処理対象データ内に、第3のN次元座標値で指定される仮対応点の集合を設定する第1設定手段と、
    前記仮対応点のそれぞれに対し、前記N次元空間上で前記仮対応点を基準とする第1範囲内のサンプリング値である入力パターンを前記処理対象データから取得する第1取得手段と、
    前記第2のN次元座標値ごとに、第2のN次元座標値を基準とする第2範囲内のサンプリング値である探索パターンを前記探索パターンデータから取得する第2取得手段と、
    複数の探索パターンのうち、前記入力パターンとの違いが他の探索パターンと比べ低い探索パターンである推定パターンを、前記探索パターンデータ内から見つけるマッチング手段と、
    前記仮対応点におけるそれぞれのサンプリング値として、前記推定パターン内で仮対応点に対応する位置のサンプリング値を設定する第2設定手段と、
    設定されたサンプリング値と仮対応点のN次元座標値とを使用して、前記処理対象データのサンプリングレートを変換する変換手段として機能させるための信号処理プログラム。
  16. Nは2以上であって、前記仮対応点は、前記処理対象データ上のN次元座標値を、別途定めた方向に、別途定めた量だけずらした位置に配置することを特徴とする請求項1に記載の信号処理方法。
  17. 前記別途定めた方向はN次元空間内のいずれかの軸の方向であって、前記別途定めた量は入力サンプリングレートにおいて整数でない値であることを特徴とする請求項16に記載の信号処理方法。
  18. 2以上の仮対応点を、該仮対応点の間隔が入力サンプリングレートの間隔の整数倍に等しくなるように配置することを特徴とする請求項1に記載の信号処理方法。
JP2008296866A 2007-11-20 2008-11-20 信号処理方法、装置およびプログラム Active JP4982471B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008296866A JP4982471B2 (ja) 2007-11-20 2008-11-20 信号処理方法、装置およびプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007300783 2007-11-20
JP2007300783 2007-11-20
JP2008296866A JP4982471B2 (ja) 2007-11-20 2008-11-20 信号処理方法、装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2009146401A JP2009146401A (ja) 2009-07-02
JP4982471B2 true JP4982471B2 (ja) 2012-07-25

Family

ID=40642040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008296866A Active JP4982471B2 (ja) 2007-11-20 2008-11-20 信号処理方法、装置およびプログラム

Country Status (2)

Country Link
US (1) US8098962B2 (ja)
JP (1) JP4982471B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010034696A (ja) * 2008-07-25 2010-02-12 Toshiba Corp 解像度変換装置、方法およびプログラム

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100128181A1 (en) * 2008-11-25 2010-05-27 Advanced Micro Devices, Inc. Seam Based Scaling of Video Content
KR20230088842A (ko) * 2009-02-06 2023-06-20 가부시키가이샤 한도오따이 에네루기 켄큐쇼 표시 장치 구동 방법
WO2011095260A1 (en) * 2010-02-05 2011-08-11 Telefonaktiebolaget L M Ericsson (Publ) Managing predicted motion vector candidates
US9635274B2 (en) 2011-06-15 2017-04-25 Microsoft Technology Licensing, Llc High resolution multispectral image capture
JP2014532504A (ja) * 2011-11-03 2014-12-08 コーニンクレッカ フィリップス エヌ ヴェ 画像データ処理
EP2677733A3 (en) * 2012-06-18 2015-12-09 Sony Mobile Communications AB Array camera imaging system and method
FI128213B (en) * 2013-03-04 2019-12-31 Eigenor Oy Method and arrangement for producing a 3D image
US10812791B2 (en) * 2016-09-16 2020-10-20 Qualcomm Incorporated Offset vector identification of temporal motion vector predictor
US10424955B2 (en) 2016-10-28 2019-09-24 Starkey Laboratories, Inc. Charging system with compressible contacts
JP6763442B2 (ja) * 2017-01-06 2020-09-30 日本電気株式会社 パターン生成装置、画像処理装置、パターン生成方法、及びプログラムを記憶した記憶媒体
DE102018208118A1 (de) * 2018-05-23 2019-11-28 Robert Bosch Gmbh Verfahren und Vorrichtung zum Authentifizieren einer über einen Bus übertragenen Nachricht
CN116225623B (zh) * 2023-05-04 2023-07-07 北京庚顿数据科技有限公司 虚拟数据发生方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11196299A (ja) * 1997-12-26 1999-07-21 Minolta Co Ltd 撮像装置
JP3879327B2 (ja) * 1999-10-01 2007-02-14 株式会社日立製作所 ディスク状記録媒体の記録再生方法
US7027054B1 (en) * 2002-08-14 2006-04-11 Avaworks, Incorporated Do-it-yourself photo realistic talking head creation system and method
US7124041B1 (en) * 2004-09-27 2006-10-17 Siemens Energy & Automotive, Inc. Systems, methods, and devices for detecting circuit faults
US7358502B1 (en) * 2005-05-06 2008-04-15 David Appleby Devices, systems, and methods for imaging
JP4116649B2 (ja) * 2006-05-22 2008-07-09 株式会社東芝 高解像度化装置および方法
JP4818053B2 (ja) * 2006-10-10 2011-11-16 株式会社東芝 高解像度化装置および方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010034696A (ja) * 2008-07-25 2010-02-12 Toshiba Corp 解像度変換装置、方法およびプログラム

Also Published As

Publication number Publication date
JP2009146401A (ja) 2009-07-02
US8098962B2 (en) 2012-01-17
US20090129703A1 (en) 2009-05-21

Similar Documents

Publication Publication Date Title
JP4982471B2 (ja) 信号処理方法、装置およびプログラム
JP5166156B2 (ja) 解像度変換装置、方法およびプログラム
Shen et al. A MAP approach for joint motion estimation, segmentation, and super resolution
KR101613176B1 (ko) 움직임 추정 방법 및 장치
JP4116649B2 (ja) 高解像度化装置および方法
JP5238220B2 (ja) 解像度変換装置、方法およびプログラム
US20100026897A1 (en) Method, Apparatus, and Computer Software for Modifying Moving Images Via Motion Compensation Vectors, Degrain/Denoise, and Superresolution
JP6236259B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
US9020273B2 (en) Image processing method, image processor, integrated circuit, and program
US11849137B2 (en) Setting selection values for motion estimation vectors based on remote motion vectors of interpolated frames
JPWO2012060093A1 (ja) ステレオ画像処理装置及びステレオ画像処理方法
JP2005057605A (ja) 画像処理装置、画像処理システム、撮像装置および画像処理方法
JP5566199B2 (ja) 画像処理装置およびその制御方法、並びにプログラム
WO2011074121A1 (ja) 動きベクトル検出装置及び方法
JP6057629B2 (ja) 画像処理装置、その制御方法、および制御プログラム
JP5400655B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム、及び、電子機器
JP2013126123A (ja) 画像処理装置、撮像装置及び画像処理方法
JP4803224B2 (ja) 画像処理装置、画像処理システム、撮像装置および画像処理方法
Létienne et al. Fast super-resolution on moving objects in video sequences
KR100987584B1 (ko) 고해상도 동영상의 효율적 저장을 위한 동영상 변경 시스템및 방법
JP2010055487A (ja) 画像処理方法、装置、およびプログラム
JP2010226502A (ja) 画像処理装置、方法およびプログラム
JP2011197727A (ja) 動きベクトル検出方法、及び動きベクトル検出プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120316

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120327

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120423

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4982471

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313121

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250