(57)【要約】【課題】復元性能を向上する。【解決手段】低ブロックのサイズ、高ブロックのサイズ、および、低ブロックを包含する処理ブロックのサイズを決定する決定部１０２と、低ブロックの位置を順次設定する設定部１０３と、低ブロックとの誤差が第１閾値以内である仮対応ブロックを低解像度画像から整数精度で探索し、低ブロックとの誤差が第２閾値以内であり低ブロックの範囲とは異なる範囲である対応範囲を仮対応ブロックの周辺から小数精度で探索し、仮対応ブロックと対応範囲との相対位置を算出する探索部１０４と、対応範囲に包含されかつ仮対応ブロックの部分ブロックである対応ブロックと処理ブロックとから、高ブロックを算出するための係数を、低ブロックと対応ブロックに対する再構成制約を高ブロックが満足するように相対位置から決定する決定部１０５と、処理ブロックと対応ブロックと係数との畳み込みで高ブロックを作成する作成部１０６と、を具備する。【選択図】図１
2010198499.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１枚の低解像度画像から、該低解像度画像より画素数が多い高解像度画像を生成する画像処理装置であって、
前記高解像度画像の縦方向の第１画素数と前記低解像度画像の縦方向の第２画素数との対、および、該高解像度画像の横方向の第３画素数と該低解像度画像の横方向の第４画素数との対の少なくともいずれか１つから、該低解像度画像中の低ブロックの第１サイズ、該高解像度画像中の高ブロックの第２サイズ、および、該低解像度画像中の低ブロックを包含する処理ブロックの第３サイズを決定するブロックサイズ決定部と、
前記低解像度画像において、処理対象の前記低ブロックを順次設定する設定部と、
前記低ブロックとの画素値の誤差が閾値以下で、該低ブロックとは異なるブロックである仮対応ブロックを前記低解像度画像から整数精度で探索し、該仮対応ブロックの周辺の所定の探索範囲内で前記低ブロックとの画素値の誤差が最も小さくなると推定される対応範囲を小数精度で探索する探索部と、
前記対応範囲に包含されかつ前記仮対応ブロックの一部分である部分ブロックである対応ブロックと、前記処理ブロックとから、前記高ブロックの画素値を算出するための係数を、前記低ブロックと該対応ブロックとに対する再構成制約を該高ブロックが満足するように、該仮対応ブロックと該対応範囲との相対位置から決定する係数決定部と、
前記処理ブロックと前記対応ブロックと前記係数との畳み込みで前記高ブロックを作成する作成部と、を具備することを特徴とする画像処理装置。
【請求項２】
前記ブロックサイズ決定部は、
前記第１画素数と前記第２画素数の最大公約数である第１最大公約数および前記第３画素数と前記第４画素数の最大公約数である第２最大公約数の少なくともいずれか１つを計算し、
前記第１サイズの縦方向の画素数を、１に決定するか、前記第２画素数を前記第１最大公約数で除算した値に決定するか、前記第２画素数を前記第１最大公約数で除算した値を定数倍した値に決定し、
前記第１サイズの横方向の画素数を、１に決定するか、前記第４画素数を前記第２最大公約数で除算した値に決定するか、前記第４画素数を前記第２最大公約数で除算した値を定数倍した値に決定し、
前記第２サイズの縦方向の画素数を、１に決定するか、前記第１画素数を前記第１最大公約数で除算した値に決定するか、前記第１画素数を前記第１最大公約数で除算した値を定数倍した値に決定し、
前記第２サイズの横方向の画素数を、１に決定するか、前記第３画素数を前記第２最大公約数で除算した値に決定するか、前記第３画素数を前記第２最大公約数で除算した値を定数倍した値に決定し、
前記第３サイズの縦方向の画素数を、前記第１サイズの縦方向の画素数以下に決定し、
前記第３サイズの横方向の画素数を、前記第１サイズの横方向の画素数以下に決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記ブロックサイズ決定部は、
前記第１画素数と前記第２画素数の公約数である第１公約数および前記第３画素数と前記第４画素数の公約数である第２公約数の少なくともいずれか１つを計算し、
前記第１サイズの縦方向の画素数を、１に決定するか、前記第２画素数を前記第１公約数で除算した値に決定し、
前記第１サイズの横方向の画素数を、１に決定するか、前記第４画素数を前記第２公約数で除算した値に決定し、
前記第２サイズの縦方向の画素数を、１に決定するか、前記第１画素数を前記第１公約数で除算した値に決定し、
前記第２サイズの横方向の画素数を、１に決定するか、前記第３画素数を前記第２公約数で除算した値に決定し、
前記第３サイズの縦方向の画素数を、前記第１サイズの縦方向の画素数以上に決定し、
前記第３サイズの横方向の画素数を、前記第１サイズの横方向の画素数以上に決定することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記相対位置の複数の代表値のそれぞれに対する係数を事前に計算し、該代表値と該係数とを対応づけて記憶している記憶手段と、
前記係数決定部の代わりに、前記相対位置に類似した前記代表値と対応づけられて記憶されている前記係数を前記記憶手段から読み出すことで前記係数を決定する係数読出手段と、をさらに具備することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
少なくとも１枚の低解像度画像から、該低解像度画像より画素数が多い高解像度画像を作成する画像処理方法であって、
前記高解像度画像の縦方向の第１画素数と前記低解像度画像の縦方向の第２画素数の対、および、該高解像度画像の横方向の第３画素数と該低解像度画像の横方向の第４画素数の対の少なくともいずれか１つから、該低解像度画像中の低ブロックの第１サイズ、該高解像度画像中の高ブロックの第２サイズ、および、該低解像度画像中の低ブロックを包含する処理ブロックの第３サイズを決定し、
前記低解像度画像において、処理対象の前記低ブロックの位置を順次設定し、
前記低ブロックとの画素値の誤差が閾値以下で、該低ブロックとは異なるブロックである仮対応ブロックを前記低解像度画像から整数精度で探索し、該仮対応ブロックの周辺の所定の探索範囲内で前記低ブロックとの画素値の誤差が最も小さくなると推定される対応範囲を小数精度で探索し、
前記対応範囲に包含されかつ前記仮対応ブロックの一部分である部分ブロックである対応ブロックと、前記処理ブロックとから、前記高ブロックの画素値を算出するための係数を、前記低ブロックと該対応ブロックとに対する再構成制約を該高ブロックが満足するように、該仮対応ブロックと該対応範囲との相対位置から決定し、
前記処理ブロックと前記対応ブロックと前記係数との畳み込みで前記高ブロックを作成することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラで撮影された画像やテレビに受信した画像を拡大または高解像度化するための画像処理装置および方法に関する。
【背景技術】
【０００２】
再構成制約を利用する手法では、ある未知の画像が、それよりも画素数の少ない画像に劣化したとみなし、その逆の変換で元の画像を復元する（例えば、非特許文献１参照）。非特許文献１の手法では、部分画像ごとにフィルタ演算で処理する。以下では、部分画像をブロックと呼ぶ。非特許文献１の手法では、６４×５４の高解像度画像を、２４×２４の入力の低解像度画像の全体から作成するのではなく、高解像度画像中の８×９のブロックｘを、低解像度画像中の同じ位置のブロックｙ０を包含するブロックｚから作成する。ここで、同じ位置というのは、被写体の同じ範囲を表す位置という意味である。８×９のブロックｘは、７×８のブロックｚと、別途計算する係数との畳み込みで計算する。係数は、ｘが再構成制約を満足するように計算する。非特許文献１の手法は、係数とｚの畳み込みという少ない積和演算だけからなるフィルタ演算で計算できるため、処理速度が速いという特徴がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】田口，井田，「再構成制約を満足する高解像度化フィルタ」電子情報通信学会技術研究報告，Ｖｏｌ．１０７，Ｎｏ．５３８，ＩＥ２００７−２６１−３４７，ｐｐ．３０１−３０６，Ｍａｒ．２００８．
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、非特許文献１の手法では、作成する高解像度画像中の多くの画素を作成するために、入力の低解像度画像中の少ない画素しか利用しないため、復元性能がそれほど高くはない。例えば、入力の低解像度画像中の３×４のブロックｙ０を包含する７×８のブロックｚと係数との積和演算により、ｙ０と同じ位置の高解像度画像中の８×９のブロックｘを作成する。この例では、７２個の輝度値を作成するために、５６個の輝度値しか利用していないことがわかる。再構成制約に着目すると、ｘのｙ０に対する再構成制約を利用する。よって、７２画素からなるｘを復元するために、１２画素からなるｙ０に対する再構成制約しか利用しない。このように、多く画素の輝度値を作成する際に、少ない画素の輝度値しか利用しないため、復元性能がそれほど高くはない。復元性能がそれほど高くないと場合によっては、作成する高解像度画像を表示したときにぼけとして知覚される。
【０００５】
この発明は、上述した事情を考慮してなされたものであり、処理の高速性を保持したまま、復元性能を向上する画像処理装置および方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述の課題を解決するため、本発明の画像処理装置は、少なくとも１枚の低解像度画像から、該低解像度画像より画素数が多い高解像度画像を生成する画像処理装置であって、前記高解像度画像の縦方向の第１画素数と前記低解像度画像の縦方向の第２画素数との対、および、該高解像度画像の横方向の第３画素数と該低解像度画像の横方向の第４画素数との対の少なくともいずれか１つから、該低解像度画像中の低ブロックの第１サイズ、該高解像度画像中の高ブロックの第２サイズ、および、該低解像度画像中の低ブロックを包含する処理ブロックの第３サイズを決定するブロックサイズ決定部と、前記低解像度画像において、処理対象の前記低ブロックを順次設定する設定部と、前記低ブロックとの画素値の誤差が閾値以下で、該低ブロックとは異なるブロックである仮対応ブロックを前記低解像度画像から整数精度で探索し、該仮対応ブロックの周辺の所定の探索範囲内で前記低ブロックとの画素値の誤差が最も小さくなると推定される対応範囲を小数精度で探索する探索部と、前記対応範囲に包含されかつ前記仮対応ブロックの一部分である部分ブロックである対応ブロックと、前記処理ブロックとから、前記高ブロックの画素値を算出するための係数を、前記低ブロックと該対応ブロックとに対する再構成制約を該高ブロックが満足するように、該仮対応ブロックと該対応範囲との相対位置から決定する係数決定部と、前記処理ブロックと前記対応ブロックと前記係数との畳み込みで前記高ブロックを作成する作成部と、を具備することを特徴とする。
【発明の効果】
【０００７】
本発明の画像処理装置および方法によれば、処理の高速性を保持したまま、復元性能を向上することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に関わる画像処理装置のブロック図。
【図２】ブロックサイズを説明するための図。
【図３】図１の画像処理装置の動作の一例を示すフローチャート。
【図４】Jが１の場合に、図１の探索部が仮対応ブロックｔ１を探索した様子を示す図。
【図５】図４で探索された仮対応ブロックｔ１の周辺から、低ブロックｙ０の対応範囲ｒ１が小数精度で探索された様子を示す図。
【図６】図２の一部を拡大した図。
【図７】横方向にのみ４／３倍に拡大する場合の一例を示す図。
【図８】図７に対して高ブロックｘの高さｒｈと低ブロックｙ０の高さｒｌを共に２倍にした様子を示す図。
【図９】ブロックの位置とマッチング誤差との関係を示す複数の点を放物線で補間した様子を示す図。
【図１０】ブロックの位置とマッチング誤差との関係を示す複数の点を２本の半直線の組で補間した様子を示す図。
【図１１】ｈｌが２以上でブロックの位置が２次元になる場合での、ブロックの位置とマッチング誤差との関係の一例を示す図。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら本発明の実施形態に係る画像処理装置および方法について詳細に説明する。なお、以下の実施形態では、同じ番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
【００１０】
まず実施形態で使用する用語について説明する。  
デジタル画像は、各位置に色や輝度の情報を持った値からなる。この値を持つ単位を画素と呼び、その値を画素値と呼ぶ。画素の横方向の数を幅と呼び、縦方向の数を高さと呼ぶ。幅と高さの組をサイズと呼ぶ。以下では、幅がｗ、高さがｈであることを、ｗ×ｈと表記する。画像が濃淡画像である場合、すなわち、画素値として輝度を表す値のみを持つ場合、１画素あたりに画素値が１種類である。画像がカラー画像である場合、すなわち、画素値として色の情報を持った値を持つ場合、例えば、赤と緑と青に関する色の情報を３次元の空間で表現したＲＧＢ色空間での値を画素値として持たせるとよい。この場合、１画素あたりに赤と緑と青に関する３種類の値が画素値になる。以下では、説明を簡単にするため、画素値として輝度を表す値のみを持つ場合を説明する。また、画像を、各画素の輝度値を要素に持つ列ベクトルで表記する。例えば、本書において、ｗ×ｈの画像ｘと記した場合、そのｘは、ｗｈ次元の列ベクトルであるものとする。
【００１１】
デジタル画像をテレビやディスプレイなどの表示装置に表示する際、入力された画像の画素数よりも表示装置の画素数の方が多い場合、表示装置の性能を最大限活用するためには、表示装置に合わせて画像の画素数を増やす必要がある。デジタル画像を印刷する際、その画像の被写体の同じ範囲を、より細かいドットで印刷すれば、より細かい部分の模様が見えるようになり、解像度が向上する。このように、画像を拡大したり、高解像度化したりするために、画像の画素数を増やす処理を行う場合がある。以下では、拡大と高解像度化という単語を、画像の画素数を増やす処理として、同じ意味で利用する。逆に、縮小と低解像度化という単語を、画像の画素数を減らす処理として、同じ意味で利用する。
【００１２】
画像の拡大には、内挿法がよく利用される。内挿法は、高速に処理できる一方で、必ずしも鮮鋭な画像を得られるわけではない。内挿法よりも鮮鋭な画像を得るために、再構成制約と呼ばれる制約を利用することで拡大画像を作成する手法として、“田口，井田，「再構成制約を満足する高解像度化フィルタ」電子情報通信学会技術研究報告，Ｖｏｌ．１０７，Ｎｏ．５３８，ＩＥ２００７−２６１−３４７，ｐｐ．３０１−３０６，Ｍａｒ．２００８．”の手法が知られている。ここで、再構成制約とは、入力の低解像度画像と同じサイズに出力の高解像度画像を縮小することで作成した画像が、入力の低解像度画像に一致するという制約である。この制約を、高解像度画像の低解像度画像に対する再構成制約と呼ぶ。より広い意味では、完全に一致する必要はなく、入力の低解像度画像のサイズに出力の高解像度画像を縮小することで作成した画像が、入力の低解像度画像に近くなければならないという制約である。ただし、どれだけ近くなければならないという基準は適宜設定すればよい設計事項である。ある画像ａとある画像ｂの間の距離は、例えば、‖ａ−ｂ‖２や‖ａ−ｂ‖で評価する。これらの値が小さいほど距離が近いと言い、大きいほど距離が遠いという。以下では、前者の制約を狭義の再構成制約（すなわち、完全一致する場合）と呼び、後者の制約を広義の再構成制約（すなわち、必ずしも完全一致する必要はない場合）と呼ぶことにする。広義の再構成制約には、別の制約を追加しても構わない。その別の制約も含めて、広義の再構成制約と呼ぶことにする。ただし、文脈から明らかな場合や、両者を区別する必要がない場合は、狭義とも広義とも記さない。
【００１３】
本実施形態の画像処理装置について図１を参照して説明する。本実施形態の画像処理装置は静止画を拡大するためのものである。なお、動画を拡大する場合の変更例を後で示す。  
本実施形態の画像処理装置１００は、低解像度画像入力部１０１、ブロックサイズ決定部１０２、位置設定部１０３、探索部１０４、係数決定部１０５、および、作成部１０６を含む。画像処理装置１００は、拡大したい低解像度画像１５１と作成する高解像度画像１５３のサイズ１５２とが入力されると、縦方向と横方向の少なくとも一方の画素数が低解像度画像１５１よりも多い高解像度画像１５３を作成し出力する装置である。以下では、サイズ１５２のうちの幅をｗｈ、高さをｈｈで表す。
【００１４】
低解像度画像入力部１０１は、外部の画像データベース等から低解像度画像１５１を取得する。低解像度画像１５１は所定のフォーマットで符号化されている場合があるため、低解像度画像入力部１０１は、低解像度画像１５１を復号化して、低解像度画像１５１の画素値のデータである低画像１５４と、低解像度画像１５１のサイズ１５５とを生成する。サイズ１５５のうちの幅をｗｌ、高さをｈｌで表す。低解像度画像入力部１０１は、低画像１５４を探索部１０４と作成部１０６とに送り、サイズ１５５をブロックサイズ決定部１０２と位置設定部１０３と探索部１０４とに送る。
【００１５】
ブロックサイズ決定部１０２は、高解像度画像１５３のサイズ１５２と低解像度画像１５１のサイズ１５５とから、本実施形態での処理に利用するブロックのサイズであるブロックサイズ１５６、１５７、１５８を決定する。ブロックサイズ決定部１０２は、ブロックサイズ１５６を、位置設定部１０３と探索部１０４と係数決定部１０５とに送る。ブロックサイズ決定部１０２は、ブロックサイズ１５７を、位置設定部１０３と係数決定部１０５と作成部１０６とに送る。ブロックサイズ決定部１０２は、ブロックサイズ１５８を、位置設定部１０３と係数決定部１０５と作成部１０６とに送る。
【００１６】
ブロックサイズ１５８は、作成する高解像度画像１５３中の高ブロックのサイズである。高ブロックをｘで表す。ブロックサイズ１５８のうちの幅（横方向の画素数に対応）をｃｈ、高さ（縦方向の画素数に対応）をｒｈで表す。ブロックサイズ１５６は、高ブロックｘと同じ位置の低画像１５４中の低ブロックのサイズである。低ブロックをｙ０で表す。ここで、ｘと同じ位置のｙ０とは、ｘが表す被写体の範囲とｙ０が表す被写体の範囲とが同じという意味である。ブロックサイズ１５６のうちの幅をｃｌ、高さをｒｌで表す。ブロックサイズ１５７は、低ブロックｙ０を包含する処理ブロックのサイズである。処理ブロックをｚで表す。ブロックサイズ１５７のうちの幅をｃｐ、高さをｒｐで表す。ｃｐ≧ｃｌ、ｒｐ≧ｒｌである。
【００１７】
ｃｈとｃｌは、ｃｈ／ｃｌ＝ｗｈ／ｗｌを満たす既約分数を求めることで計算する。ｒｈとｒｌは、ｒｈ／ｒｌ＝ｈｈ／ｈｌを満たす既約分数を求めることで計算する。ある分数から既約分数を求めるためには、分子と分母の最大公約数で分子と分母のそれぞれを除算すればよい。最大公約数は、例えば、ユークリッドの互除法によって計算できる。ｃｐは、ｃｌに定数を加算することで算出する。ｒｐは、ｒｌに定数を加算することで算出する。この定数は、高ブロックｘを推定するために、低ブロックｙ０よりどれだけ広い範囲を利用するかを決定するためのものである。この定数は０以上の整数である。例えば、この定数を０としてもよい。
【００１８】
ここで、低画像１５４と高解像度画像１５３との具体例を示してブロックサイズ１５６、１５７、１５８について図２を参照して説明する。  
図２は、横方向の画素数を８／３倍、縦方向の画素数を９／４倍にする場合の例である。入力の低解像度画像のサイズが２４×２４であり、出力の高解像度画像のサイズが６４×５４である。高ブロックｘの幅ｃｈは８であり、高さｒｈは９である。図２の例では、低ブロックｙ０の幅ｃｌは３であり、高さｒｌは４である。図２の例では、処理ブロックｚの幅ｃｐは７であり、高さｒｌは８である。高ブロックｘを推定するために、低ブロックｙ０よりどれだけ広い範囲を利用するかを決定する定数は、図２の例では、４である。
【００１９】
位置設定部１０３は、位置１５９と位置１６０とを逐次設定する。位置設定部１０３は、位置１５９を探索部１０４と作成部１０６とに送り、位置１６０を作成部１０６に送る。位置１５９は、低画像１５４中の低ブロックｙ０の位置を表す。位置１６０は、高解像度画像１５３中の高ブロックｘの位置を表す。位置１５９と位置１６０は、高ブロックｘと低ブロックｙ０の位置が同じになるように、逐次設定される。ここで、ｘとｙ０との位置が同じとは、ｘが表す被写体の範囲とｙ０が表す被写体の範囲とが同じという意味である。例えば、位置１５９は、横方向にｃｌ画素ずつ、縦方向にｒｌ画素ずつ移動するように設定され、位置１６０は、横方向にｃｈ画素ずつ、縦方向にｒｈ画素ずつ移動するように設定される。
【００２０】
探索部１０４は、Ｊ個の仮対応ブロックｔｊ（ｊ＝１，２，…，Ｊ）と、ｙ０のＪ個の対応範囲ｒｊ（ｊ＝１，２，…，Ｊ）とを低画像１５４から探索し、対応範囲ｒｊと仮対応ブロックｔｊとの相対位置１６１を求める。また、探索部１０４は、Ｊ個の対応ブロックｙｊ（ｊ＝１，２，…，Ｊ）の位置１６３を求め、対応ブロックｙｊのサイズであるブロックサイズ１６４を求める。探索部１０４は、相対位置１６１を係数決定部１０５に送り、位置１６３とブロックサイズ１６４とを作成部１０６に送る。  
仮対応ブロックｔｊとは、低ブロックｙ０に類似した低画像１５４中のブロックである。低ブロックｙ０の対応範囲ｒｊとは、ｙ０と画素値の変化パターンが類似している低画像１５４中の画素位置の範囲である。以下では、ｙ０の対応範囲を単に対応範囲と記す場合がある。対応ブロックｙｊとは、対応範囲ｒｊに包含される位置に位置する、仮対応ブロックｔｊの部分ブロックである。仮対応ブロックｔｊは整数精度で探索され、対応範囲ｒｊは小数精度で探索される。ここで、整数精度での探索とは、低画像１５４の画素間隔での探索という意味であり、小数精度での探索とは、整数精度より細かい精度での探索という意味である。小数精度で探索された対応範囲の境界線は画素の境界線と一般には一致しないため、対応範囲は一般にブロックではない。ただし、ｙ０の対応範囲ｒｊとしてｙ０の範囲が求められないように、ｙ０の範囲を候補からあらかじめ除外しておくとよい。なお、探索部１０４が行う探索の具体例は後に図４および図５を参照して説明する。
【００２１】
係数決定部１０５は、低ブロックｙ０と対応ブロックｙｊに対する再構成制約を満足させる係数１６２を決定し、作成部１０６に送る。係数の決定方法は後の（１−１）で説明する。
【００２２】
作成部１０６は、対応ブロックと処理ブロックと係数１６２との畳み込みにより、高解像度画像１５３中の位置１６０が指し示すブロックサイズ１５８の高ブロックを作成する。この処理の詳細は後の（１−１）に記す。
【００２３】
次に、図１の画像処理装置の動作の一例について図３を参照して説明する。  
Ｓ３０１では、低解像度画像入力部１０１が低解像度画像１５１を取得（入力）する。
【００２４】
Ｓ３０２では、ブロックサイズ決定部１０２が、本実施形態での処理に利用するブロックのサイズであるブロックサイズ１５６、１５７、１５８を決定する。
【００２５】
Ｓ３０３では、位置設定部１０３が、低画像１５４中の低ブロックｙ０の位置を表す位置１５９と、高解像度画像１５３中の高ブロックｘの位置を表す位置１６０とを逐次設定する。
【００２６】
Ｓ３０４では、探索部１０４が、低ブロックｙ０に類似した低画像１５４中のブロックである仮対応ブロックｔｊ（ｊ＝１，２，…，Ｊ）と、ｙ０のＪ個の対応範囲ｒｊ（ｊ＝１，２，…，Ｊ）とを低画像１５４から探索し、対応範囲ｒｊと仮対応ブロックｔｊとの相対位置１６１を求める。また、探索部１０４は、Ｊ個の対応ブロックｙｊ（ｊ＝１，２，…，Ｊ）の位置１６３を求め、対応ブロックｙｊのサイズであるブロックサイズ１６４を求める。
【００２７】
Ｓ３０５では、係数決定部１０５が、係数１６２を決定し、この係数１６２を作成部１０６に送る。
【００２８】
Ｓ３０６では、作成部１０６が、対応ブロックと処理ブロックと係数１６２との畳み込みにより、高解像度画像１５３中の位置１６０が指し示すブロックサイズ１５８の高ブロックを作成する。
【００２９】
Ｓ３０７では、高解像度画像１５３中のすべての高ブロックが作成されたかどうかを判定し、作成されていない場合はＳ１０２に戻り、作成された場合は作成部１０６から高解像度画像１５３を画像処理装置１００の外部に出力し、処理を終了する。なお、処理ブロックが高ブロックよりも被写体の広い範囲を表すため、画像の端では処理ブロックを設定できない。よって、画像の端は、本実施形態の技術を利用しないようにあらかじめ処理の対象から外しておく。あるいは、画像の端に偽の画素を生成することで、画像の端にも本実施形態の技術を適用できるようにしてもよい。
【００３０】
次に、探索部１０４が行う探索の具体例について説明する。以下では、Ｊ＝１の場合を例にとって説明するが、Ｊは１以上の任意の整数である。  
図４は、Ｊが１の場合に、探索部１０４が仮対応ブロックｔ１を探索した様子を表す。低ブロックｙ０に類似した仮対応ブロックｔｊは、例えば、所定の探索範囲内にあるブロックと低ブロックｙ０との間のブロックマッチングを利用して探索する。探索範囲を低ブロックｙ０付近に限定すると、高速に処理できる。類似しているかどうかは、ブロック間のマッチング誤差が、あらかじめ設定した閾値以下であるかどうかで判定する。あるブロックａとあるブロックｂの間のマッチング誤差は、画素値の誤差に関する値であり、例えば、‖ａ−ｂ‖２や‖ａ−ｂ‖により算出する。ここで、‖・‖はベクトルのノルムを表す。そのマッチング誤差が閾値以下のブロックを仮対応ブロックｔｊとする。Ｊ＝１の場合、マッチング誤差が閾値以下のブロックの中で、マッチング誤差が最小のブロックを仮対応ブロックｔ１とするとよい。ただし、仮対応ブロックｔｊとしてｙ０が求められないように、ｙ０を候補からあらかじめ除外しておくとよい。仮対応ブロックｔｊを２つ以上探索する場合は、マッチング誤差が小さい順にＪ個のブロックを仮対応ブロックｔｊとするとよい。これにより、対応範囲ｒｊと仮対応ブロックｔｊを探索できる。
【００３１】
次に、低ブロックｙ０の対応範囲ｒｊを、仮対応ブロックｔｊ付近から小数精度で探索する。図５は、図４で探索された仮対応ブロックｔ１の周辺から、低ブロックｙ０の対応範囲ｒ１が小数精度で探索された様子を表す図である。仮対応ブロックｔｊ付近から探索することで、対応範囲ｒｊの探索範囲を限定できるため、処理時間を短くできる。低ブロックの対応範囲を小数精度で探索する方法の一例については（１−６）で後述する。（１−６）とは別の方法として、非特許文献２（清水，奥富，「画像のマッチングにおけるサブピクセル推定の意味と性質」電子情報通信学会論文誌Ｄ−ＩＩ，電子情報通信学会，２００２年１２月，第８５巻，第１２号，ｐｐ．１７９１−１８００．）に記載の方法など、任意の別の方法で探索してもよい。
【００３２】
相対位置１６１は、低画像１５４における仮対応ブロックｔｊの位置を表すベクトルから低画像１５４における対応範囲ｒｊの位置を表すベクトルを減算することで求められる。相対位置１６１を、（ｍｘ，ｊ，ｍｙ，ｊ）Ｔ（ｊ＝１，２，…，Ｊ）で表す。ここで、ｍｘ，ｊは対応範囲ｒｊと仮対応ブロックｔｊの横方向の相対位置を表す。ｍｙ，ｊは対応範囲ｒｊと仮対応ブロックｔｊの縦方向の相対位置を表す。Ｔは行列やベクトルの転置を表す。対応範囲ｒｊや仮対応ブロックｔｊが見つからなかった場合、探索範囲を広げて探索し直すか、高ブロックｘを別の手法で作成するという例外処理を行う。ｍｘ，ｊ＜−０．５または０．５＜ｍｘ，ｊ、またはｍｙ，ｊ＜−０．５または０．５＜ｍｙ，ｊのいずれかが成立した場合、（ｍｘ，ｊ，ｍｙ，ｊ）Ｔを信用できないため、ｘを別の手法で作成するという例外処理を行う。例外処理を行う場合、Ｓ１０５とＳ１０６を省略し、Ｓ１０７に進む。対応ブロックｙｊの定義から、ｙｊのサイズは、最大で（ｃｌ−ceil（|ｍｘ，ｊ|））×（ｒｌ−ceil（|ｍｙ，ｊ|））である。ここで、ceil（・）は、以下の式で定義される関数である。  
ceil（ｆ）＝min｛ｎ∈Ｚ｜ｆ≦ｎ｝
すなわち、ceil（ｆ）はｆ以上の最小の整数を示す。ｙｊのサイズが大きいほどｘの復元性能が高くなるため、例えば、ｙｊはサイズが最大になるように設定される。この場合、ｙｊのサイズ、すなわち、ブロックサイズ１６４は、（ｃｌ−ceil（|ｍｘ，ｊ|））×（ｒｌ−ceil（|ｍｙ，ｊ|））により求められる。ｙｊの位置１６３は、例えば、低ｙｊ中の最も左上の画素の低画像１５４における位置を表すベクトルである。このベクトルは、横方向の位置を表す値と縦方向の位置を表す値を要素に持つ。ここで、低画像１５４における位置は、低画像１５４の画素間隔を単位長さ、つまり、１として考えるものとする。ｍｘ，ｊが０以上である場合、ｙｊの横方向の位置は、仮対応ブロックｔｊ中の最も左上の画素の横方向の位置と同じである。ｍｘ，ｊが負である場合、ｙｊの横方向の位置は、ｔｊ中の最も左上の画素の横方向の位置に１を加算した位置である。ｍｙ，ｊが０以上である場合、ｙｊの縦方向の位置は、ｔｊ中の最も左上の画素の縦方向の位置と同じである。ｍｙ，ｊが負である場合、ｙｊの縦方向の位置は、ｔｊ中の最も左上の画素の縦方向に１を加算した位置である。図２と図６の例では、ｍｘ，ｊとｍｙ，ｊが共に０以上あるため、ｙｊの位置はｔｊと同じである。ここでは、対応ブロックｙｊのサイズを（ｃｌ−ceil（|ｍｘ，ｊ|））×（ｒｌ−ceil（|ｍｙ，ｊ|））とした場合を例にとって説明したが、それよりサイズが小さくなるようにｙｊを設定しても構わない。
【００３３】
（１−１）係数１６２の決定方法と高ブロックｘの作成方法  
低ブロックｙ０と同じサイズに高ブロックｘを縮小することで作成したブロックに含まれる画素値が、ｙ０の画素値に一致する、あるいは、ｙ０の画素値に近い値でなければならないという再構成制約と、相対位置１６１、すなわち、（ｍｘ，ｊ，ｍｙ，ｊ）Ｔとに基づいて、対応ブロックｙｊと同じサイズに高ブロックｘを縮小することで作成したブロックが、ｙｊに一致する、あるいは、近いという再構成制約とを共に満足するように、係数１６２を決定する。
【００３４】
ところで、非特許文献１の手法では、低ブロックに対する再構成制約を満足するように係数を決定した。一方、本実施形態では、対応ブロックｙｊ（ｊ＝１，２，…，Ｊ）に対する再構成制約が追加されている点が、非特許文献１の手法との最も大きな違いの１つである。Ｊが１の場合を例にとって説明するが、Ｊが２以上でも構わない。
【００３５】
係数１６２の決定方法について、図２と図６を利用して説明する。図６は、図２の一部を拡大したものである。これらの図からわかる通り、高ブロックｘと低ブロックｙ０は被写体の同じ範囲を表す。よって、ｙ０のサイズにｘを縮小することで作成したブロックが、ｙ０に一致する、または、近くなければならない。図２や図６からわかる通り、対応ブロックｙｊは対応範囲ｒｊに包含される。ｘとｙ０は被写体の同じ範囲を表すことと、ｙ０の対応範囲ｒｊの定義から、相対位置１６１、すなわち、（ｍｘ，ｊ，ｍｙ，ｊ）Ｔを考慮して、ｙｊのサイズにｘを縮小することで作成したブロックが、ｙｊに一致する、または、近くなければならない。また、ｘは処理ブロックｚから内挿法や非特許文献１の手法で作成したブロックに近い場合が多く、ｘは互いに隣接する画素の輝度値の差分の総和が小さい場合が多い。これらを考慮した広義の再構成制約を満足するｘは、次の式で表せる。すなわち、下記の式（１）に示すように、下記の式（２）のＥを最小にするｘを求める。
【数１】
2010198499.tif 000003
【００３６】
【数２】
2010198499.tif 000004
【００３７】
ここで、Ａ０は、ｘのサイズをｃｌ×ｒｌに縮小したブロックを作成するｃｌｒｌ行ｃｈｒｈ列の行列である。Ａ０の要素の値は、例えば、ｘとｙ０を重ね合わせたときの面積比に応じて決定する。ｃｈ＝ｒｈ＝２、ｃｌ＝ｒｌ＝１なら、Ａ０の要素はすべて１／４である。あるいは、Ａ０の要素の値を、仮定する点広がり関数に応じて決定してもよい。Ａｊ（ｊ＝１，２，…，Ｊ）は、相対位置１６１、すなわち、（ｍｘ，ｊ，ｍｙ，ｊ）Ｔを考慮して、ｙｊのサイズにｘを縮小したブロックを作成する（ｃｌ−ceil（|ｍｘ，ｊ|））×（ｒｌ−ceil（|ｍｙ，ｊ|））行ｃｈｒｈ列の行列である。Ａｊの要素の値は、例えば、ｘとｙｊを重ね合わせたときの面積比に応じて決定する。あるいは、仮定する点広がり関数に応じて決定してもよい。Ｃは、内挿法や非特許文献１の手法により、処理ブロックｚから高ブロックｘを推定するための係数を要素に持つｃｈｒｈ行ｃｐｒｐ列の行列である。Ｈは、横方向に隣接する画素との輝度値の差分を要素に持つｃｈｒｈ次元の列ベクトルを計算するｃｈｒｈ行ｃｈｒｈ列の行列である。Ｖは、縦方向に隣接する画素との輝度値の差分を要素に持つｃｈｒｈ次元の列ベクトルを計算するｃｈｒｈ行ｃｈｒｈ列の行列である。ｃとｈとｖは、各項の影響力を決定するパラメータであり、０以上の任意の実数である。
【００３８】
ｙを下記（３）のようにおき、Ａを下記（４）のようにおけば、Ｅは下記（５）式となる。  
【数３】
2010198499.tif 000005
【００３９】
【数４】
2010198499.tif 000006
【００４０】
【数５】
2010198499.tif 000007
【００４１】
Ｅがｘの２次式であるため、このＥを最小化するｘは、Ｅをｘで偏微分して０とおくことで、以下の式（６）に示される通りに求められる。
【数６】
2010198499.tif 000008
【００４２】
ここで、Ｉは、ｃｈｒｈ行ｃｐｒｐ列の単位行列である。−１は、行列の逆行列を表す。この式（６）は、次の式（７）の形に整理することができる。
【数７】
2010198499.tif 000009
【００４３】
ここで、Ｆは、下記（８）のサイズの行列である。
【数８】
2010198499.tif 000010
【００４４】
このＦを係数１６２とする。この式により、高ブロックｘを作成する。この式から、ｃｈｒｈ個の輝度値からなる高ブロックｘを作成するために、下記（９）で示される回数の積和演算が必要なことがわかる。
【数９】
2010198499.tif 000011
【００４５】
１画素あたりでは、下記（１０）で示される回数の積和演算である。
【数１０】
2010198499.tif 000012
【００４６】
図２と図６の例では、１画素あたりたった６２回の積和演算でｘを作成できる。このことから、ｘを高速なフィルタ演算で作成できることを確認できる。
【００４７】
ところで、Ｆは（ｍｘ，ｊ，ｍｙ，ｊ）Ｔに依存する。よって、（ｍｘ，ｊ，ｍｙ，ｊ）Ｔが算出されるたびにＦを計算しなければならない。その計算コストは低くないため、（ｍｘ，ｊ，ｍｙ，ｊ）Ｔに応じたＦをあらかじめテーブル化して保持しておくとよい。具体的には、（ｍｘ，ｊ，ｍｙ，ｊ）Ｔを例えば２５６通りの代表値で量子化する。それら代表値に対するＦをあらかじめ計算しておく。そして、代表値とその代表値に対するＦを対応づけて記憶する。（ｍｘ，ｊ，ｍｙ，ｊ）Ｔが算出された後は、（ｍｘ，ｊ，ｍｙ，ｊ）Ｔに最も近い代表値に対応づけられたＦを係数１６２とすればよい。これにより、係数１６２（Ｆ）の計算コストを削減することができる。
【００４８】
（１−２）補足  
本実施形態は、縦方向、あるいは、横方向にのみ拡大する場合にも利用できる。縦方向にのみ拡大する場合、ｃｌ＝ｃｈ＝１とすればよい。また、横方向にのみ拡大する場合、ｒｌ＝ｒｈ＝１とすればよい。
【００４９】
（１−３）ブロックに関する変更例  
本変更例を適用しない場合、Ｓ１０２で、ブロックサイズ決定部１０２において、ブロックサイズ１５６とブロックサイズ１５８を、ｃｈ／ｃｌ＝ｗｈ／ｗｌとｒｈ／ｒｌ＝ｈｈ／ｈｌを満たす既約分数を求めることで決定した。その方法で求めたｃｌやｒｌの値を定数倍することで修正しても構わない。その際、低ブロックｙ０と高ブロックｘが表す被写体の範囲が同じになるように、ｃｈやｒｈも同じく定数倍する。すなわち、ｃｌを定数倍することで修正したら、ｃｈも同じ定数で定数倍することにより修正し、ｒｌを定数倍することで修正したら、ｒｈも同じ定数で定数倍することにより修正する。これにより、ｃｈ／ｃｌまたはｒｈ／ｒｌが既約分数でなくなるが、ｃｈ／ｃｌ＝ｗｈ／ｗｌとｒｈ／ｒｌ＝ｈｈ／ｈｌという式は満たされたままである。
【００５０】
図７を利用して具体的に説明する。図７は、横方向にのみ４／３倍に拡大する場合の例を示す図である。本変更例を適用しない場合、すでに述べた通り、仮対応ブロックｔｊは、対応範囲ｒｊから（ｍｘ，ｊ，ｍｙ，ｊ）Ｔだけずれる。図７の例では、ｍｙ，ｊが０でない場合、対応ブロックｙｊを設定できないことがわかる。よって、ｙｊに対する再構成制約を追加できないため、ｘの復元性能を向上させられない。そこで、図８に示した通り、高ブロックｘの高さｒｈと低ブロックｙ０の高さｒｌを共に２倍にする。これにより、仮対応ブロックｔｊの高さも２倍になる。また、対応範囲ｒｊの縦方向の長さも２倍になる。図８より、対応ブロックｙｊを設定できるようになったことがわかる。この例では、ｙ１のサイズは１×２である。このように、低ブロックｙ０の高さｒｌが１の場合に、ｒｌを定数倍してｙ０のサイズを大きくすれば、対応ブロックｙｊを設定できるようになる。また、ｒｌが２以上で、本変更例を適用しなくてもｙｊを設定できる場合でも、ｒｌとｒｈを定数倍することで、ｘの復元性能が向上する。その理由を説明する。ｒｌとｒｈが定数倍された場合、求めるｘの画素数が増加する。また、再構成制約に利用するｙ０とｙｊの画素数も増加する。定数倍により、ｘとｙ０の画素数が同じ増加率で増え、ｙｊの画素数が減少しないため、ｙ０とｙｊの画素数の総和の増加率は、ｘの画素数の増加率を下回らない。よって、ｒｌとｒｈを修正しない場合と、ｒｌとｒｈを定数倍した場合とで高ブロックの輝度値１個あたりを作成するために利用する低ブロックや対応ブロックの輝度値の数を比較すると、ｒｌとｒｈを定数倍した場合の数はｒｌとｒｈを修正しない場合の数を下回らない。したがって、この変更により、輝度値１個を作成するための輝度値の数が増えるため、ｘの復元性能が向上する。縦方向に定数倍する例で説明したが、縦方向に定数倍しても同様の効果が得られる。
【００５１】
（１−４）動画像を拡大するための変更例  
動画を拡大する場合、画像処理装置１００に、動画の各フレームを低解像度画像１５１として順次入力すればよい。そして、画像処理装置１００から順次出力される高解像度画像１５３を、拡大した動画の各フレームとすればよい。
【００５２】
動画を拡大する場合、Ｊ個の仮対応ブロックｔｊや対応範囲ｒｊや対応ブロックｙｊを、低ブロックｙ０が含まれる１枚の低画像１５４から探索するのではなく、複数枚の低画像１５４から探索することで、ｘの復元性能を向上させられる。なぜなら、複数枚の低画像１５４の中からであれば、別の時刻に撮影された同じ被写体が仮対応ブロックｔｊや対応範囲ｒｊとして探索されやすくなり、１枚の低画像１５４の中からよりもマッチング誤差が小さくなりやすいためである。Ｊ個よりも多くの枚数の低画像１５４を入力すれば、シーンチェンジがある場合にも、マッチング誤差の小さい仮対応ブロックｔｊや対応範囲ｒｊを探索しやすくなるため、頑健になる。この変更のために、画像処理装置１００の構成はそのままで、低解像度画像入力手段に、複数枚の低画像１５４を記憶するフレームバッファを持たせる。また、低画像１５４の枚数を表すデータをサイズ１５５に追加し、低ブロックｙ０が複数枚の低画像１５４のうち何枚目の低画像１５４中のブロックかという情報を位置１５９に追加し、対応ブロックｙｊが複数枚の低画像１５４のうちの何枚目の低画像１５４中のブロックという情報を位置１６３に追加する。これにより、複数枚の低画像１５４からの探索が可能になる。
【００５３】
（１−５）本実施形態の効果  
本実施形態では、低ブロックｙ０に対する再構成制約だけでなく、対応ブロックｙｊ（ｊ＝１，２，…，Ｊ）に対する再構成制約も考慮するため、非特許文献１の手法よりも復元性能を高められる。
【００５４】
すでに述べた通り、非特許文献１の手法では、縦方向に９／４倍、横方向に８／３倍する例では、７２画素からなるｘを復元するために、１２画素からなる低ブロックｙ０に対する再構成制約しか利用しない。一方、本実施形態では、１２画素からなるｙ０に加え、合計で下記（１１）で示される個数の画素からなるＪ個の対応ブロックｙｊ（ｊ＝１，２，…，Ｊ）に対する再構成制約も利用する。
【数１１】
2010198499.tif 000013
【００５５】
Ｊが１で、ｍｘ，１とｍｙ，１が共に０の場合、ｙ１の画素数は１２である。よって、ｙ０とｙ１の総和は下記（１２）で表され、この場合は２４である。
【数１２】
2010198499.tif 000014
【００５６】
非特許文献１の手法が１２画素しか利用しないのに対し、本実施形態では２４画素利用するため、復元性能が向上する。
【００５７】
高ブロックｘは、上記の式（９）に記載した通り、下記の式（１３）に示される回数の積和演算で計算される。
【数１３】
2010198499.tif 000015
【００５８】
１画素あたりでは、下記の式（１４）に示されるわずかな回数の積和演算である。
【数１４】
2010198499.tif 000016
【００５９】
このように、本実施形態により、フィルタ演算による処理の高速性を保ったまま、復元性能が向上し、作成する高解像度画像１５３の画質が向上する。
【００６０】
（１−６）低ブロックの対応範囲を小数精度で探索する方法の一例  
低ブロックの対応範囲を小数精度で探索する方法の一例について述べる。ここで説明する方法を、マッチング誤差補間法と呼ぶことにする。低ブロックｙ０から整数精度で仮対応ブロックｔ１を整数精度で探索し、低ブロックｙ０の対応範囲ｒ１を小数精度で探索する場合を例にとって説明する。説明を簡単にするために、低画像１５４の高さｈｌが１の場合で説明する。この場合、小数精度の探索とは、対応範囲ｒ１の横方向の位置を小数精度で求めることである。
【００６１】
マッチング誤差補間法では、整数精度の探索の後に、小数精度の探索を行う。具体的には、まず、低ブロックｙ０の周辺の探索範囲内にある低ブロックｙ０と同じサイズのブロックとのマッチング誤差を計算する。図９は、探索範囲内の３ヵ所のブロックのマッチング誤差をそれぞれ計算し、縦軸がマッチング誤差であり横軸がブロックの位置である空間に、点９０１と点９０２と点９０３を打点したものである。点９０１と点９０２と点９０３の中では、点９０２のマッチング誤差が最小であるから、この点９０２の位置が仮対応ブロックｔ１の位置となる。ここまでが整数精度の探索である。次に、マッチング誤差の補間によって、小数精度の探索を実現する。そのために、図９の２次元空間において、点９０１と点９０２と点９０３を放物線で補間する。ここでは放物線で補間するが、図１０に示した通り、Ｖ字形の２本の半直線の組で補間しても構わない。補間により生成された放物線の最小値をとる点の位置を、対応範囲ｒ１の位置とする。これにより、小数精度の探索を実現できる。
【００６２】
この例では、ｈｌが２以上の場合にはブロックの位置が２次元になり、マッチング誤差とあわせた空間は図１１の通り３次元になる。その場合、縦方向と横方向に対して独立に補間すればよい。あるいは、ブロックの位置（２次元）とマッチング誤差の合計３次元の空間で打点した点を曲面などで補間すればよい。
【００６３】
以上に示した実施形態によれば、低ブロックに対する再構成制約だけでなく、対応ブロックに対する再構成制約も考慮することにより、フィルタ係数との畳み込みによる処理の高速性を保持したまま、復元性能を向上することができる。この結果、作成した高解像度画像を表示したときのぼけが解消され、画質を向上することができる。
【００６４】
また、本発明の実施形態は、パソコン、デジタルカメラ、ビデオカメラ、携帯電話、携帯情報端末、プリンタなどの画像を記録したり、表示したり、印刷したりする機能を有する電子機器に、画像を高品質化する機能を持たせるために利用できる。
【００６５】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００６６】
１００・・・画像処理装置、１０１・・・低解像度画像入力部、１０２・・・ブロックサイズ決定部、１０３・・・位置設定部、１０４・・・探索部、１０５・・・係数決定部、１０６・・・作成部、１５１・・・低解像度画像、１５２、１５５・・・サイズ、１５３・・・高解像度画像、１５４・・・低画像、１５６、１５７、１５８、１６４・・・ブロックサイズ、１５９、１６０、１６３・・・位置、１６１・・・相対位置、１６２・・・係数、９０１、９０２、９０３・・・点。
【図１】
2010198499.tif 000017
【図２】
2010198499.tif 000018
【図３】
2010198499.tif 000019
【図４】
2010198499.tif 000020
【図５】
2010198499.tif 000021
【図６】
2010198499.tif 000022
【図７】
2010198499.tif 000023
【図８】
2010198499.tif 000024
【図９】
2010198499.tif 000025
【図１０】
2010198499.tif 000026
【図１１】
2010198499.tif 000027