(57)【要約】【課題】処理コストを削減する。【解決手段】入力画像を入力する第１入力手段５０４，５０５，５０６と、インタレース出力に必要な出力フィールドを入力する第２入力手段５０５，５０６と、入力画像の画素である入力画素について、算出すべき出力画像の各画素における重みを表すＰＳＦを入力する第３入力手段５０５，５０６と、出力画像の解像度を持つ画像である仮出力画像を入力画像から生成する生成手段５０４と、ＰＳＦと仮出力画像との重みつき第１和である第１非出力フィールド補償値を入力画素ごとに算出する補償値算出手段５０５と、ＰＳＦと出力フィールドに属する出力画素との重みつき第２和と、入力画素の画素値から第１非出力フィールド補償値を減じた値との差が小さくなるように、出力画像の各画素値を算出する画素値算出手段５０６と、算出された画素値を含む出力画像を出力する出力手段５０３と、を具備する。【選択図】図５
2010226502.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を入力する第１入力手段と、
インタレース出力に必要な出力フィールドを入力する第２入力手段と、
前記入力画像の画素である入力画素について、算出すべき出力画像の各画素における重みを表すポイントスプレッドファンクション（ＰＳＦ）を入力する第３入力手段と、
前記出力画像の解像度を持つ画像である仮出力画像を前記入力画像から生成する生成手段と、
前記ＰＳＦと前記仮出力画像との重みつき第１和である第１非出力フィールド補償値を前記入力画素ごとに算出する補償値算出手段と、
前記ＰＳＦと前記出力フィールドに属する出力画素との重みつき第２和と、前記入力画素の画素値から前記第１非出力フィールド補償値を減じた値との差が小さくなるように、前記出力画像の各画素値を算出する画素値算出手段と、
算出された前記画素値を含む前記出力画像を出力する出力手段と、を具備することを特徴とする画像処理装置。
【請求項２】
前記第３入力手段は、出力フィールドに対応するＰＳＦと、非出力フィールドに対応するＰＳＦとをそれぞれ連続したデータ列として入力し、
前記補償値算出手段は、前記非出力フィールドに対応するＰＳＦのみを用いて第１非出力フィールド補償値を求め、
前記画素値算出手段は、前記出力フィールドに対応するＰＳＦのみを用いて前記出力画像の各画素値を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画素値算出手段は、
前記入力画素の画素値から前記第１非出力フィールド補償値を減じた値である補償済み画素値を前記入力画素の画素ごとに得る減算手段と、
前記出力画像の出力フィールドに属する画素ごとに、該画素の出力画素値の初期値として前記仮出力画像の対応する位置の画素値を設定する第１設定手段と、
補償済み画素値ごとに出力画素値と出力フィールドに対するＰＳＦの積和値との差である画素値誤差を求め、該画素値誤差が小さくなるように出力フィールドの出力画素値を更新する画素値更新手段と、
別途定めた条件を満たすまで前記画素値更新ステップを繰り返す逐次更新手段と、を具備することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記出力画像の解像度は、前記入力画像の解像度よりも高いことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
追加画像を入力する第４入力手段と、
前記追加画像の画素である追加画素を入力画像上に対応付ける対応付け手段と、
対応付けされた追加画素ごとのＰＳＦを入力する第５入力手段と、
前記ＰＳＦと前記仮出力画像との重みつき第３和である第２非出力フィールド補償値を、前記追加画素ごとに求める追加画素補償値算出手段と、をさらに具備し、
前記画素値算出手段は、前記第２和と、前記追加画素の画素値から前記第２非出力フィールド補償値を引いた値との差を小さくするように前記出力画像の各画素値を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記対応付け手段は、
前記入力画像上に仮対応点を設定する第２設定手段と、
前記仮対応点を基準とし、別途定めた形状のブロックである参照ブロックを設定する第３設定手段と、
前記追加画像上に複数の候補ブロックを設定する第４設定手段と、
前記候補ブロックのうちの前記参照ブロックとのブロック誤差が最小となるブロックである最良候補ブロックを選択する選択手段と、
前記最良候補ブロックとのブロック誤差が小さくなるように参照ブロックの位置を修正する修正手段と、
修正された前記参照ブロックの基準位置と前記最良候補ブロックとに基づいて、追加画素を入力画像上に対応付ける対応付け手段と、を具備することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
入力画像を入力する第１入力ステップと、
インタレース出力に必要な出力フィールドを入力する第２入力ステップと、
前記入力画像の画素である入力画素について、算出すべき出力画像の各画素における重みを表すポイントスプレッドファンクション（ＰＳＦ）を入力する第３入力ステップと、
前記出力画像の解像度を持つ画像である仮出力画像を前記入力画像から生成する生成ステップと、
前記ＰＳＦと前記仮出力画像との重みつき第１和である第１非出力フィールド補償値を、前記入力画素ごとに算出する補償値算出ステップと、
前記ＰＳＦと前記出力フィールドに属する出力画素との重みつき第２和と、前記入力画素の画素値から前記第１非出力フィールド補償値を減じた値との差が小さくなるように、前記出力画像の各画素値を算出する画素値算出ステップと、
算出された前記画素値を含む前記出力画像を出力する出力ステップと、を具備することを特徴とする画像処理方法。
【請求項８】
コンピュータを、
入力画像を入力する第１入力手段と、
インタレース出力に必要な出力フィールドを入力する第２入力手段と、
前記入力画像の画素である入力画素について、算出すべき出力画像の各画素における重みを表すポイントスプレッドファンクション（ＰＳＦ）を入力する第３入力手段と、
前記入力画像から前記出力画像の解像度を持つ画像である仮出力画像を生成する生成手段と、
前記入力画素ごとに、前記ＰＳＦと前記仮出力画像との重みつき第１和である第１非出力フィールド補償値を算出する補償値算出手段と、
前記ＰＳＦと前記出力フィールドに属する出力画素との重みつき第２和と、前記入力画素の画素値から前記第１非出力フィールド補償値を減じた値との差が小さくなるように、前記出力画像の各画素値を算出する画素値算出手段と、
算出された前記画素値を含む前記出力画像を出力する出力手段として機能させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、画像の解像度変換インタレース出力を行う際の処理装置、方法およびプログラムに関する。
【背景技術】
【０００２】
高い解像度のテレビやディスプレイが普及してきている。テレビやディスプレイは、画像を表示する場合、画像データの画素数をパネルの画素数に変換する。例えば、画素数を増やす高解像度化の変換において、線形内挿よりも鮮鋭な画像が得られる方法として、複数のフレームの情報を用い、画像の撮像過程（劣化過程）の逆変換を考えて高解像度の画像を復元する方法（以下、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮと呼ぶ）が知られている。
【０００３】
この方法では例えば、まず、フレーム間の動き（オプティカルフロー）をサブピクセル精度で算出することで、他のフレーム上の画素を変換対象フレーム上のサブピクセル位置に対応付ける。次に、変換対象フレーム上の各画素、および対応付けにより変換対象フレーム上に配置された他のフレーム上の各画素のそれぞれについて、その画素値を出力画素値の重みつき和で表した拘束式を立てる。この重み係数はポイントスプレッドファンクション（ＰＳＦ）と呼ばれる。最後に、これらの拘束式をできるだけ満たすように、出力各画素における画素値を推定する。この推定処理（ＲＥＣＯＮＳＴＲＵＣＴＩＯＮ）の方法としては、例えばNon-uniform interpolation法、ＰＯＣＳ法、ＭＬ法やＭＡＰ法が知られている（例えば、非特許文献１参照）。この拘束条件はノンインタレース画像である出力画像中のすべての画素における画素値を利用したものである。通常、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮは、全出力画素値の連立方程式に対する最小２乗解、あるいは連立方程式に事前知識を加えた解を逐次的に求める処理であるため、すべての画素における画素値を繰り返し更新することになる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】S. C. Park et al., “Super-Resolution Image Reconstruction: A Technical Overview,”’ IEEE Signal Processing Magazine, pp.21-36, May 2003.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
映像機器には、偶数・奇数ラインを交互に間引くインタレース信号を送受信する機器が多数ある。しかし、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮはすべての画素における画素値を必要とする処理であるため、得られた画像をインタレース信号として出力する場合であっても、まず出力画像中の画素すべてを逐次更新処理によって求めたうえで、必要なフィールドのみを出力する必要があり、多くの処理コストを必要としている。
【０００６】
この発明は、上述した事情を考慮してなされたものであり、インタレース出力に必要な画像処理の処理コストを削減する画像処理装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題を解決するため、本発明の画像処理装置は、入力画像を入力する第１入力手段と、インタレース出力に必要な出力フィールドを入力する第２入力手段と、前記入力画像の画素である入力画素について、算出すべき出力画像の各画素における重みを表すポイントスプレッドファンクション（ＰＳＦ）を入力する第３入力手段と、前記出力画像の解像度を持つ画像である仮出力画像を前記入力画像から生成する生成手段と、前記ＰＳＦと前記仮出力画像との重みつき第１和である第１非出力フィールド補償値を前記入力画素ごとに算出する補償値算出手段と、前記ＰＳＦと前記出力フィールドに属する出力画素との重みつき第２和と、前記入力画素の画素値から前記第１非出力フィールド補償値を減じた値との差が小さくなるように、前記出力画像の各画素値を算出する画素値算出手段と、算出された前記画素値を含む前記出力画像を出力する出力手段と、を具備することを特徴とする。
【発明の効果】
【０００８】
本発明の画像処理装置、方法およびプログラムによれば、インタレース出力に必要な画像処理の処理コストを削減することができる。
【図面の簡単な説明】
【０００９】
【図１】インタレース出力に含まれる出力フィールドと非出力フィールドを説明するための図。
【図２】出力フィールドの画素値を変数として更新し、非出力フィールドとの画素値を定数とすることを示す図。
【図３】実施形態の画像処理装置のブロック図。
【図４】図３の演算部が行う、ＰＯＣＳによるＲＥＣＯＮＳＴＲＵＣＴＩＯＮのフローチャート。
【図５】図３の演算部、画像出力部および一時記憶部について詳細な画像処理装置のブロック図。
【図６】図３、図５の画像処理装置の動作の一例を示すフローチャート。
【図７】図６のステップＳ６０３でのある入力画素に対するＰＳＦを示す図。
【図８】図６のステップＳ６０５での、非出力フィールドにおけるＰＳＦと画素値の積和値を求めることを説明するための図。
【図９】内部でフィールド情報を管理し、奇数フィールドと偶数フィールドを交互に出力する場合の画像処理装置のブロック図。
【図１０】あらかじめ変換対象フレーム上に仮対応点が設定されていることを示す図。
【図１１】図１０に示される仮対応点に対応する他のフレーム上の対応画素を求めることを示す図。
【図１２】図１１のように仮対応点を基準として対応画素を探索する手法を説明するための図。
【図１３】参照ブロックとのブロック誤差が最小となるブロックを探すことを示す図。
【図１４】探し出した対応画素を基準として仮対応点の位置を対応画素にあうように修正して、最終的な対応点を得ることを示す図。
【図１５】図１４の修正手法の具体例な一例を示す図。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら本発明の実施形態に係る画像処理装置、方法およびプログラムについて詳細に説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。なお、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮは高解像度化に限定されるものではない。例えば、同一の解像度への変換についても利用することができ、これは画像復元処理と呼ばれる。低解像度画像から高解像度画像への高解像度化の変換、あるいは入出力画像の解像度が同一の解像度になる場合の変換を、本実施形態では「解像度変換」と呼ぶ。
【００１１】
図１及び図２にあるとおり、インタレース出力では、出力フィールドと非出力フィールドが交互に存在する。ＰＳＦ２０３は出力フィールド１０１と非出力フィールド１０２の両方の画素値を必要とするから、ＰＳＦが出力フィールド１０１と非出力フィールド１０２の両方を含む限り、単に縦の解像度を半分としてＲＥＣＯＮＳＴＲＵＣＴＩＯＮを行うことはできない。これは、出力フィールド１０１の画素値は、繰り返し演算によって更新された非出力フィールド１０２の画素値の影響を受けるためである。一方、非出力フィールド１０２の画素値は最終的に出力しないのであるから、ＰＳＦによって影響を与える出力フィールド１０１の画素値が大きくずれるのでなければ、正確に推定する必要はないと考えられる。
【００１２】
そこで本発明の実施形態では、非出力フィールド１０２の画素値として悪影響が少ないと期待できる値（例えば、キュービックコンボリューションを用いた補間値）を設定しておき、繰り返し処理においては出力フィールド１０１の画素値のみを更新する。この方法により、適切なＰＳＦを用いながら、非出力フィールド１０２の計算にかかる処理コストを減らすことができる。
【００１３】
なお、本発明の実施形態は、特に２次元の画像に限定されない（Ｎ次元の画像内で可視の画素と不可視の画素が存在する場合に、その処理方法として利用できる）のであるが、実用上、インタレース出力が必要な用途は２次元の時系列画像であることが多いため、以下では、２次元の時系列画像について説明する。画素を、２次元空間内の微小な範囲として扱い、画素値を、画素という範囲内で、ある時間だけサンプリングした信号強度の積分値として扱う。便宜上、画素の中心位置を特に画素の位置と呼ぶことにする。
【００１４】
（入出力間の拘束式）  
出力解像度の画像に対し、例えばぼけやダウンサンプリング（あるいはアップサンプリング）、ノイズといった劣化が施されて、入力解像度の各画素が生成されたと考える。（以下、出力解像度と入力解像度が異なるものとして説明するが、出力解像度と入力解像度とが同一であっても式の形は全く同じである。）入力画像に対して劣化の逆変換を施すことができれば、元の出力解像度の画像を復元することが可能である。以下、このような劣化をモデル化する方法を考える。入力画像の各画素にインデックスｉ＝｛１、２、３、・・・、Ｌ｝を付与し、入力される画素値を下記（１）であらわす（画素がスカラー値でないなら、ｙは縦ベクトルであらわすものとする）。
【数１】
2010226502.tif 000003
【００１５】
例えば、画素がＲＧＢの３次元で与えられるなら、３次元の縦ベクトルであらわす。出力信号にもインデックスｊ＝｛１、２、３、・・・、Ｍ｝を付与し、画素値を下記（２）であわらす。
【数２】
2010226502.tif 000004
【００１６】
ここで、出力解像度の画像に施される変換を、ポイントスプレッドファンクション（ＰＳＦ）と呼ぶことにする。（被写体の動きによる動きぼけなども、便宜上、ポイントスプレッドファンクションに含まれるものとして説明する。）ポイントスプレッドファンクションが線形変換であると仮定すると、入力画素値は出力画素値の重みつき和であらわせる。このとき、各インデックスｉについて、重みの係数を下記（３）とすれば、入力画素値と出力画素値の間に、下記（４）の拘束式を立てることができる。
【数３】
2010226502.tif 000005
【００１７】
【数４】
2010226502.tif 000006
【００１８】
（追加画像を利用した追加拘束式）  
ここで、もし、入力画像上で入力画素以外の位置における画素値がわかったなら、そのように配置された画素についても拘束式を立てることができる。具体的には、例えば、入力画像が動画像であれば、フレーム間の動きを求めることで、他のフレーム上の画素を入力画像上に対応付けることができる。あるいは、特許第４１１６６４９号明細書に記載の方法を用いて、入力画像自身から対応付けることもできる。このように、追加画像（入力画像自身であっても、他のフレームであってもよい）の各画素について入力画像上への対応付けを行い、対応付けされた各追加画素に対するＰＳＦにしたがって下記（５）の拘束式を立てることで、拘束式の数を増やすことができる。
【数５】
2010226502.tif 000007
【００１９】
このように増やした拘束式は、入力画像を利用して立てた拘束式と同じように扱うことができる。なお、追加拘束式の利用は必須ではない。例えば、同一の解像度への変換においては、追加拘束式を用いないこともしばしばある。
【００２０】
（仮高解像度画像の生成）  
本発明の実施形態の目的は、これらの拘束式からのずれを小さくする出力画像の画素値ｘのうち、インタレース出力に必要なフィールド（出力フィールド１０１）の画素値だけを求める際、その処理コストを減らすことである。その基本アイディアは、ｘと同じ大きさの仮高解像度画像を生成し、出力されないフィールド（非出力フィールド１０２）については変数ではなく定数であると考え、正確なｘを求めるのではなく仮高解像度画像の画素値を利用することで、ｘの算出に必要なコストを減らすというものである。非出力フィールド１０２に関しては仮高解像度画像の生成やそれを利用した定数項の処理を行うことになるが、それらの処理コストは正確なｘを算出するための処理コストと比べ少なくてすむ。したがって、全体の処理コストを減らすことが可能である。
【００２１】
はじめに、仮高解像度画像の生成方法の例として、線形補間やキュービックコンボリューション法について説明する。なお、仮高解像度画像の生成に用いる方法はこれらの方法に限定されず、出力解像度の画像を生成できる方法であれば何を用いてもよい。
【００２２】
（Ａ）線形補間  
既知の２点を用いて補間する。補間に用いる２点は、できるだけ補間すべき点の近くを用いることが望ましい。既知の２点の位置を下記（６）、その画素値を下記（７）とし、補間すべき点の位置を下記（８）で表すと、補間値は下記（９）で求められる。
【数６】
2010226502.tif 000008
【００２３】
【数７】
2010226502.tif 000009
【００２４】
【数８】
2010226502.tif 000010
【００２５】
【数９】
2010226502.tif 000011
【００２６】
（Ｂ）キュービックコンボリューション法  
既知の等間隔に配置された４点を用いて補間する。補間に用いる４点は、補間位置を中心とした２以下の範囲に配置されているものとする。補間値は、各点に対し、補間位置を中心とした次の（１０）の重みカーネルの値をかけてそれらの和を求めることで得られる。
【数１０】
2010226502.tif 000012
【００２７】
ここでｄは各点の補間位置からの距離を表す。γは補間関数を制御するパラメータで、例えばγ＝−１．０あるいはγ＝−０．５とする。これらの補間方法は１次元の信号に対する式となっている。２次元の画像を補間するには、縦、横それぞれについて１次元の補間を利用すればよい。
【００２８】
（非出力フィールド１０２を定数とすることによる拘束式の変形）  
次に、非出力フィールド１０２を定数として扱い、変数を減らす方法をについて説明する。  
ポイントスプレッドファンクションとの積和演算に基づく拘束式は、次の（１１）の形をしている。
【数１１】
2010226502.tif 000013
【００２９】
この式を出力フィールドvis、非出力フィールドinvisに分けると、下記（１２）のように変形できる。
【数１２】
2010226502.tif 000014
【００３０】
invisの画素値として仮高解像度画像の画素値を用いるのであれば、ＰＳＦは定数であるから、式（１２）の最後の項（下記（１３））も定数になる。この項をフィールド補償値と呼ぶことにする。
【数１３】
2010226502.tif 000015
【００３１】
このとき、下記（１４）を求めておけば、各iについての拘束式は下記（１５）のように変形できる。
【数１４】
2010226502.tif 000016
【００３２】
【数１５】
2010226502.tif 000017
【００３３】
出力画像のすべての画素値を変数とする代わりに、出力フィールド１０１の画素値のみを変数としたこの拘束式を用いてＲＥＣＯＮＳＴＲＵＣＴＩＯＮを行えば、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮに必要な処理コストを半減させることができる。
【００３４】
（出力画像推定の原理）  
以下に、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮの具体例について、ＰＯＣＳによるＲＥＣＯＮＳＴＲＵＣＴＩＯＮの方法を説明する。なお、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮの方法はＰＯＣＳに限定されず、例えば「S. C. Park et al., “Super-Resolution Image Reconstruction: A Technical Overview,”’ IEEE Signal Processing Magazine, pp.21-36, May 2003.」にあげられた方法を用いてもよい。
【００３５】
次に、本実施形態の画像処理装置について図３を参照して説明する。  
本実施形態の画像処理装置は、入出力受付部３０１、画像入力部３０２、画像出力部３０３、一時記憶部３０４、演算部３０５、不揮発記憶部３０６を含む。
【００３６】
入出力受付部３０１は、ユーザから指示を受け付け、例えば、マウス、キーボードやリモコンから受け付けた指示を受け付ける。また、入出力受付部３０１はプログラムの起動を指示する信号を受け付ける。
【００３７】
画像入力部３０２は、Ｎ次元空間上のＮ次元座標値と、このＮ次元座標値での画素値の集合である処理対象画像データを受け付ける。
【００３８】
不揮発記憶部３０６は、後に図４を参照して説明するプログラムを格納している。不揮発記憶部３０６は、例えば、例えばハードディスクやＲＯＭである。不揮発記憶部３０６は、上述した、指示データと画像データを予め記憶していてもよい。
【００３９】
一時記憶部３０４は、入出力受付部３０１からユーザの指示を受けて不揮発記憶部３０６からプログラムを一時的に記憶し、演算部３０５に提供する。一時記憶部３０４は、演算部３０５が演算した結果を一時的に記憶できる。
【００４０】
演算部３０５は、一時記憶部３０４からプログラムを受け取り、プログラムを実行する。実施形態の画像処理装置の主な動作はすべて演算部３０５が行う。
【００４１】
画像出力部３０３は、演算部３０５によって得られた結果を出力する。画像出力部３０３は例えばモニタである。
【００４２】
（シーケンシャル処理による繰り返し解法）  
ＰＯＣＳによるＲＥＣＯＮＳＴＲＵＣＴＩＯＮの流れの一例を図４に示す。そのアルゴリズムは次の通りである。ｋのアルゴリズムは、例えば、図３の演算部３０５が行う。  
（ステップ１）仮のｘを生成する（Ｓ４０１）。仮のｘは、例えば入力画像の補間により生成できる。補間には、例えば線形補間やキュービックコンボリューション法が利用できる。
【００４３】
（ステップ２）下記の（１６）を構成する第ｉ番目の式は次の（１７）の形で書ける。
【数１６】
2010226502.tif 000018
【００４４】
【数１７】
2010226502.tif 000019
【００４５】
ここで、下記（１８）は重みを並べた横ベクトルで、下記（１９）は入力として与えられる（Ｓ４０２）。
【数１８】
2010226502.tif 000020
【００４６】
【数１９】
2010226502.tif 000021
【００４７】
ノイズの影響をあまり受けずに下記（２０）の各式を満たすｘを求めるために、ＰＯＣＳでは、下記（２１）のステップサイズおよび下記（２２）の定数を別途与え、次の繰り返し演算を実行する（並列化なしの例：Ｓ４０３〜Ｓ４０４）。
【数２０】
2010226502.tif 000022
【００４８】
【数２１】
2010226502.tif 000023
【００４９】
【数２２】
2010226502.tif 000024
【００５０】
なお、下記（２３）はｘの推定値を意味する。ここで、下記（２４）である。
【数２３】
2010226502.tif 000025
【００５１】
【数２４】
2010226502.tif 000026
【００５２】
下記（２５）のステップサイズや下記（２６）の定数はすべてのｉに対して同じ値（例えば下記（２７））でもよいし、例えば下記（２８）のように式ごとに変えてもよい。
【数２５】
2010226502.tif 000027
【００５３】
【数２６】
2010226502.tif 000028
【００５４】
【数２７】
2010226502.tif 000029
【００５５】
【数２８】
2010226502.tif 000030
【００５６】
（ステップ３）別途定めた回数だけステップ２を繰り返す（Ｓ４０５）。  
（ステップ４）得られた推定画像である下記（２９）を出力する（Ｓ４０６）。
【数２９】
2010226502.tif 000031
【００５７】
（全体の流れ）  
次に図５乃至図７を参照し、低解像度画像から高解像度画像への高解像度化を例に、本発明の実施形態に係わる解像度変換処理の流れを説明する。図５は、入力として入力画像、出力フィールド情報、ＰＳＦを与え、本発明の実施形態の方法により生成された出力画像を出力とする装置のブロック図を表しており、仮出力画像バッファ５０１、非出力フィールド補償値バッファ５０２、出力画素値バッファ５０３、３つのＣＰＵ１〜３ ５０４，５０５，５０６から成る。ＣＰＵ１〜３ ５０４，５０５，５０６は同一のＣＰＵであってもよいし、それぞれ別のＣＰＵコアであってもよい。同一のＣＰＵである場合には、例えば処理を順に行う時分割によって３つの処理を実行することができる。仮出力画像バッファ５０１、非出力フィールド補償値バッファ５０２、出力画素値バッファ５０３は例えば一時記憶部３０４に含まれ、ＣＰＵ１〜３ ５０４，５０５，５０６は例えば演算部３０５に含まれている。
【００５８】
はじめに１枚の画像を用いる方法について説明する。なお、追加画像を用いることは必須ではない。ＰＳＦやＭＡＰ法のプライアによっては、１枚でも有効な画像処理が行える。追加画像を用いる方法の流れはその後に説明する。
【００５９】
Ｓ６０１：ＣＰＵ１ ５０４が処理対象とする画像を入力する。典型的には、テレビ放送などのストリーミングソースから取得した動画像の１フレームを入力する。
【００６０】
Ｓ６０２：ＣＰＵ２ ５０５が出力フィールド情報を入力する。出力フィールド情報とは、出力としてどのフィールドを求めているかという情報のことであり、典型的には、フレームごと（例えば、１／６０秒ごと）に偶数、奇数、偶数、奇数、・・・といったフィールドを識別できる２値の情報を入力する。なお、後述するように、出力フィールド情報は機器内で生成してもよい。
【００６１】
Ｓ６０３：ＣＰＵ３ ５０６が各入力画素に対するＰＳＦを入力する。図７を例として説明する。図中、７０１は低解像度画素の１つ、７０２はＰＳＦの１つ、７０３は高解像度画素の１つをあらわす。ＰＳＦは、各低解像度画素に対し、その画素に対応する高解像度画素の重みつき和（上記（５）式）で与えられるものである。したがってＳ６０３では、例えば、各入力画素について、ＣＰＵ３ ５０６が非０の重みを持つ高解像度画素の位置とその重み値を入力する。 
Ｓ６０４：Ｓ６０１の入力を利用して、ＣＰＵ１ ５０４が仮出力画像を生成する。例えば、入力画像に補間アルゴリズムを適用して、出力解像度と同じ大きさの画像を生成する。ＣＰＵ１ ５０４は仮出力画像バッファ５０１にその結果を保存する。
【００６２】
Ｓ６０５：ＣＰＵ２ ５０５は、Ｓ６０４の結果を利用し、またＳ６０１〜Ｓ６０３の入力を利用して、各入力画素に対し、非出力フィールド１０２の画素値として仮出力画像が設定されていると考え、非出力フィールド１０２におけるＰＳＦと画素値の積和値を求める。ここで求めた値を非出力フィールド１０２補償値と呼ぶ。例えば、図８において、黒く塗りつぶされた円（黒丸）を出力フィールド８０１の出力画素、白い円（白丸）を非出力フィールド８０２の出力画素とすると、ＰＳＦ７０２と重なる非出力フィールドの各画素について、ＰＳＦと仮出力画像の画素値の積和演算を行い、その合計を非出力フィールド補償値とする。ＣＰＵ２ ５０５は非出力フィールド補償値バッファ５０２にその結果を保存する。
【００６３】
Ｓ６０６：ＣＰＵ３ ５０６は、Ｓ６０５の結果を利用し、またＳ６０１〜Ｓ６０３の入力を利用して、入力画素値と非出力フィールド補償値の差が出力フィールドにおけるＰＳＦとの積和演算値に近づくように、出力画素値を更新する。この更新には、例えば、次のＳ６０６−１〜Ｓ６０６−４の方法を用いる。ＣＰＵ３ ５０６は出力画素値を出力画素値バッファ５０３に保持しながら逐次更新する。
【００６４】
Ｓ６０６−１：各入力画素について、その画素値から非出力フィールド補償値を減じる。得られた値を補償済み画素値と呼ぶことにする。
【００６５】
Ｓ６０６−２：出力フィールドに属する各画素に対して、何らかの初期値を設定する。出力フィールドの画素ごとに、例えば、初期値として仮出力画像の対応する位置の画素値を設定する。
【００６６】
Ｓ６０６−３：補償済み画素値ごとに、出力フィールドの画素値とＰＳＦの出力フィールド部分の積和値との差である画素値誤差が小さくなるように、出力フィールドの出力画素値を更新する。具体的には、例えば、各補償済み画素値と前記積和値との差の２乗を含み、出力フィールドの画素値を変数とするエネルギー関数を立てて（このエネルギー関数には、例えば、他に事前知識をあらわすプライア項を含めてもよい）、エネルギー関数の値が小さくなるように、画素値を更新する。例えば、各画素値をエネルギー関数の勾配方向にしたがって更新するか、共役勾配法によって更新する。
【００６７】
Ｓ６０６−４：Ｓ６０６−３を別途定めた条件を満たすまで繰り返す。この条件としては例えば、予め定めた回数（例、１回、３回、１０回、５０回など）だけ繰り返す方法や、画素値の更新量の合計が予め定めたしきい値以下になるまで繰り返す方法を用いることができる。
【００６８】
Ｓ６０７：得られた画像（出力画素値の集合）を出力する。図５の構成では、４０３に保持された各出力画素値を出力する。
【００６９】
なお、追加画像を用いる場合は、Ｓ６０２とＳ６０３の間に次のステップＳ６０２−１〜Ｓ６０２−２を加え、Ｓ６０３以降では入力画素に対する処理を追加画素についても行えばよい。
【００７０】
Ｓ６０２−１：追加画像を入力する。
【００７１】
Ｓ６０２−２：追加画像の各画素から入力画像上のサブピクセル位置への対応を求める。入力画像上で対応付けられた位置に追加画像の各画素（追加画素）が存在すると考えて、Ｓ６０３以降の方法を適用する。なお、ＰＳＦが画像全体で均一であると仮定していても、対応付けにおいて拡大や縮小、アファイン変換が必要であった場合には、追加画素のＰＳＦはそれらにあわせて変形する必要がある。
【００７２】
なお、機器の設計として、外部から指示された出力フィールドを生成するのではなく、内部でフィールド情報を管理し、奇数フィールドと偶数フィールドを交互に出力するという設計をとることもある。この場合のブロック図を図９に示す。この場合は、出力フィールド情報の代わりにカウンタ１ ９０１、カウンタ２ ９０２を準備しておく。また、予め、カウンタ１、２を同一の値（偶数フィールドあるいは奇数フィールドを表す値）にリセットしておく。ＣＰＵ２ ５０５は、入力画像に対して、カウンタ１ ９０１から非出力フィールド１０２を特定してその補償値を出力し、その時点でカウンタ１ ９０１を更新する（つまりカウンタ１ ９０１の偶数と奇数を反転させる）。また、ＣＰＵ３ ５０６は、カウンタ２ ９０２から有効な出力フィールドを特定し、入力画像と非出力フィールド補償値から出力画素値を求め、出力画像の生成が完了した時点でカウンタ２ ９０２を更新する（つまりカウンタ１ ９０１の偶数と奇数を反転させる）。なお、カウンタ１ ９０１、カウンタ２ ９０２は同一のものであってもよく、その場合は、ＣＰＵ３ ５０６が出力画像を生成し終えた時点でカウンタを更新すればよい。
【００７３】
（分離ＰＳＦテーブル）  
以上の説明、特に図６のＳ６０１〜Ｓ６０７の説明からわかるように、インタレース出力においては、偶数フィールドと奇数フィールドのＰＳＦが同時にアクセスされることはない。したがって、ＰＳＦをテーブルとして保持する場合、予め偶数フィールドと奇数フィールドのＰＳＦテーブルを分けておけば、ＰＳＦテーブルの局所性が増すと同時に、ＰＳＦテーブルへのバーストアクセスも可能になる。あるいは、ＤＳＰのようにアクセス可能なＲＡＭのサイズに制限がある場合、繰り返し演算に必要なＰＳＦのみをＲＡＭに保持することで消費メモリを減らすこともできる。
【００７４】
（仮対応点法）  
ところで、追加画素を増やすために、従来の超解像は、追加画像（動画像における他のフレーム）から入力画像（変換対象フレーム）への動きを求めて対応付けを行う。正確な動きを求めるためには、例えば、物体単位での複雑な動きの推定を利用する。しかし、正確な動きを求めるために時間をかけて複雑な画像処理を行っても、フレームによっては物体自身の変形や移動により対応する位置が存在しないため、動きベクトルの推定誤りといったノイズの混入によるｙ＝Ｗｘへの誤った式の追加は避けられない。
【００７５】
この問題を避けるため、追加画素を増やすために次の方法を利用することもできる。対応付けの考え方を逆転させ、つまり他のフレームから変換対象フレームへの動きを求めるのではなく、図１０に示すようにあらかじめ変換対象フレーム上に点（仮対応点）を設定し、図１１に示すように、各仮対応点に対応する他のフレーム上の画素（対応画素）を求める。この方法を仮対応点法と呼ぶことにする。
【００７６】
仮対応点法では、まず仮対応点を基準として対応画素を探索する。探索は、例えば、図１２に示すように、仮対応点を基準とした参照ブロックを、入力解像度と同じ画素間隔で画素値を補間生成することで取得し、図１３に示すように参照ブロックとのブロック誤差（例えば、ＳＳＤ(Sum of Squared Difference)あるいはＳＡＤ(Sum of Absolute Difference)）が最小となるブロックを、他のフレームの整数画素位置（仮対応点と対応付けられる位置が整数画素になる位置）から見つけることで行う。他のフレームから見つけるとは、例えば、他のフレーム上に候補ブロックを設定し（設定されるブロックは整数画素位置を基準としなければならない）、それらの候補ブロックについてブロック誤差を求め、その値が最小となる候補ブロックを選択することをいう。他のフレームは１フレームである必要はなく、複数のフレーム（例えば３フレーム）のそれぞれに候補ブロックを設定し、それらの中でブロック誤差が最小となる（複数のフレームのなかで最良の対応を与えると期待できる）ブロックを選択してもよい。選択されたブロックを最良候補ブロックと呼ぶことにする。候補ブロックが整数画素位置であるという制約から１画素単位での探索が行われることになるため、仮対応点と得られる対応画素の間には小数画素（サブピクセル）のずれが残る。そこで、対応画素を求めた後は、図１４に示すようにその対応画素を基準として仮対応点の位置を対応画素にあうように修正して、（追加画素を対応付ける位置となる）最終的な対応点を得る（つまり、最良候補ブロックを新しい参照ブロックとして、古い参照ブロックの近傍を候補とした対応ブロック探索を行うと考えればよい。実際に探索を行うかどうかはサブピクセル修正の方法に依存する）。修正の方法はいろいろ考えられる。例えば、図１５に示すような誤差曲線を考えて、そのサブピクセル位置を求めてもよい。あるいは、Ｌｕｃａｓ−Ｋａｎａｄｅ法を繰り返し適用してもよい。あるいは、適当な探索精度を設定したうえで（例えば１／２に設定する）、現在の仮対応点に対応するブロックの周辺に探索精度の間隔で候補ブロックを設定し、それらのうちブロック誤差が最も小さいブロックに基づいて仮対応点を更新する操作を、１／２、１／４、・・・のように徐々に探索精度を上げながら繰り返すことで、サブピクセル位置を求めてもよい。なお、仮対応点の位置を修正する代わりに、他のフレームの画像上で正確なサブピクセル位置を求め、その位置に対応する画素値を補間生成してもよい。なお、図１２ではブロックは正方形としたが、ブロックの形状に特別な制約はなく、例えば長方形や円、楕円、ひし形であってもよい。
【００７７】
仮対応点法を利用すると、対応画素を求める際、例えば利用可能な他のフレームのすべてに適当な範囲を設定し、その各画素を対応画素の候補としたうえで、設定した候補のうち対応する可能性が十分に高い（相対的に信頼性が高い）ものだけを残し、それ以外の（相対的に信頼性が低い）候補を排除すれば、他のフレームすべてのうちで相対的に信頼性が高い候補だけを残すことができ、ノイズが混入する可能性は大幅に軽減できる。つまり、先に述べた問題が解決できる。
【００７８】
なお、仮対応点法においては、解像度変換の対応点を、例えば、出力解像度の各画素の位置に配置する。なお、画素の位置とは、画素という一定の面積を持つ領域の中心の位置を指すものと考える。対応画素の探索を行い、対応画素にあわせて各仮対応点にサブピクセルずれの補正を行うと、最終的に得られる対応点は、出力解像度の各画素の位置から多少ずれるものの、出力解像度の各画素に近い位置になる。このとき、各対応点はＷの係数が十分に異なる拘束式を与えることが期待できる。線形代数ではＷの係数が類似していると方程式の解が不安定になる（ノイズを増幅しやすくなる）ことが知られているが、このように仮対応点を配置すれば、そのような問題を避けることができる。
【００７９】
以上の仮対応点法は、インタレース出力される画像の画質を上げる方法の１つとして利用できる。なお、以上の実施形態は追加画素を見つける方法の１つを示したものであり、特に仮対応点法に限定するものではない。例えば、グローバルモーション推定や、特徴点マッチング（例えば、ＳＩＦＴ(Scale-Invaliant Feature Transform)特徴量が近い点を見つけるマッチング）により求めた動きをＲＡＮＳＡＣ(Random Sample Consensus)によりロバスト化したオブジェクト動き推定、あるいは、フレーム内で追加画素を見つける特許第４１１６６４９号明細書の方法を用いて追加画素を見つけてもよい。
【００８０】
以上に示した実施形態によれば、非出力フィールドの画素値として悪影響が少ないと期待できる値を設定しておき、繰り返し処理においては出力フィールドの画素値のみを更新することにより、ＲＥＣＯＮＳＴＲＵＣＴＩＯＮによるインタレース出力画像の生成に必要な処理コストを削減できる。
【００８１】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の画像処理装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、またはこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態の画像処理装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合または読み込む場合はネットワークを通じて取得または読み込んでもよい。  
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本願発明における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。  
また、記録媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【００８２】
なお、本願発明におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
【００８３】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００８４】
１０１，８０１・・・出力フィールド、１０２，８０２・・・非出力フィールド、３０１・・・入出力受付部、３０２・・・画像入力部、３０３・・・画像出力部、３０４・・・一時記憶部、３０５・・・演算部、３０６・・・不揮発記憶部、５０１・・・仮出力画像バッファ、５０２・・・非出力フィールド補償値バッファ、５０３・・・出力画素値バッファ、５０４，５０５，５０６・・・ＣＰＵ、カウンタ１・・・９０１、カウンタ２・・・９０２。
【図１】
2010226502.tif 000032
【図２】
2010226502.tif 000033
【図３】
2010226502.tif 000034
【図４】
2010226502.tif 000035
【図５】
2010226502.tif 000036
【図６】
2010226502.tif 000037
【図７】
2010226502.tif 000038
【図８】
2010226502.tif 000039
【図９】
2010226502.tif 000040
【図１０】
2010226502.tif 000041
【図１１】
2010226502.tif 000042
【図１２】
2010226502.tif 000043
【図１３】
2010226502.tif 000044
【図１４】
2010226502.tif 000045
【図１５】
2010226502.tif 000046