(57)【特許請求の範囲】
【請求項１】
第１解像度の代表画像とそれに関連する第１解像度の複数の参照画像を用いて、第１解像度よりも高い第２解像度の高解像度画像を生成する画像処理装置であって、
参照画像を切り換えながら位置合わせ処理を繰り返す第１繰り返し処理手段と、
前記位置合わせ処理の繰り返し完了後に、求めるべき高解像度画像の画素値を更新する更新処理を繰り返す第２繰り返し処理手段とを備え、
前記位置合わせ処理は、前記代表画像に対する参照画像の位置ずれ量を推定し、推定した位置ずれ量に基づいて当該参照画像の画素を、前記代表画像を拡大した高解像度画像のサブピクセル位置に配置することであり、
前記更新処理は、前記位置合わせされた低解像度画像の画素値と求めるべき高解像度画像の画素値との差分値を変数として含む評価関数の値を減少させるように、前記高解像度画像の画素値を更新することであり、
前記第１繰り返し処理手段および第２繰り返し処理手段の少なくとも１つは、
位置合わせ処理または更新処理の結果から終了条件を満たす画素を判定する判定手段と、
終了条件を満たすと判定された画素を前記位置合わせ処理または前記更新処理から除外する除外手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記第１繰り返し処理手段は、
前記代表画像のブロック毎に、前記代表画像に対する参照画像の動きを推定する動き推定手段と、
前記高解像度画像を前記高解像度画像の画素に対応する複数グリッドに分割し、推定された動きに従って、前記ブロック毎に参照画像の画素を高解像度画像のサブピクセル位置に配置する位置合わせ手段と、
ブロック内の全グリッドに対する、参照画像の画素を１つ以上含むグリッドの割合が所定の値を超えている場合は、当該ブロックが前記終了条件を満たすと判定する前記判定手段と、
前記終了条件を満たすと判定されたブロックの画素を位置合わせ処理から除外する前記除外手段と
を備えることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記第２繰り返し処理手段は、
前記評価関数の値を減少させるように画素値を更新する更新手段と、
更新前の画素値と更新後の画素値の差である更新量がしきい値である場合、当該画素が前記終了条件を満たすと判定する前記判定手段と、
前記終了条件を満たすと判定された画素を更新処理から除外する前記除外手段と
を備えることを特徴とする請求項１記載の画像処理装置。
【請求項４】
第１解像度の代表画像とそれに関連する第１解像度の複数の参照画像を用いて、第１解像度よりも高い第２解像度の高解像度画像を生成する画像処理装置であって、
参照画像を切り換えながら位置合わせ処理を繰り返す第１繰り返し処理手段と、
前記位置合わせ処理の繰り返し完了後に、求めるべき高解像度画像の画素推定値を更新する更新処理を繰り返す第２繰り返し処理手段とを備え、
前記位置合わせ処理は、前記代表画像に対する参照画像の位置ずれ量を推定し、推定した位置ずれ量に基づいて当該参照画像の画素を、前記代表画像を拡大した高解像度画像のサブピクセル位置に配置することであり、
前記更新処理は、前記位置合わせされた低解像度画像の画素値と、求めるべき高解像度画像モデルの画素値との差分値を変数として含む評価関数の値を減少させるように、前記高解像度画像の画素値を更新することであり、
前記第１繰り返し処理手段は、
前記代表画像に対する参照画像の動きを推定する動き推定手段と、
推定された動きに従って、参照画像の画素を高解像度画像のサブピクセル位置に配置する位置合わせ手段と、
位置合わせ処理の結果から終了条件を満たす画素を判定する判定手段と、
前記終了条件を満たすと判定された画素を位置合わせ処理から除外する前記除外手段と
を備えることを特徴とする画像処理装置。
【請求項５】
前記判定手段は、前記代表画像のブロック毎に動きを推定し、
前記位置合わせ手段は、前記高解像度画像を前記高解像度画像の画素に対応する複数グリッドに分割し、推定された動きに従って、前記ブロック毎に参照画像の画素を高解像度画像のサブピクセル位置に配置する位置合わせし、
前記判定手段は、前記高解像度画像内の全グリッドに対する、参照画像の画素を１つ以上含むグリッドの割合が所定の値を超えている場合は、当該参照画像が前記終了条件を満たすと判定し、
前記除外手段は、前記終了条件を満たすと判定されたとき、残りの参照画像の画素を位置合わせ処理から除外する
ことを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記判定手段は、前記代表画像のブロック毎に動きを推定し、
前記位置合わせ手段は、前記高解像度画像を前記高解像度画像の画素に対応する複数グリッドに分割し、推定された動きに従って、前記ブロック毎に参照画像の画素を高解像度画像のサブピクセル位置に配置する位置合わせし、
前記判定手段は、ブロック内の全グリッドに対する、参照画像の画素を１つ以上含むグリッドの割合が第１の所定値を超えている場合は、当該ブロックが前記終了条件を満たすと判定し、
前記除外手段は、前記終了条件を満たすと判定されたブロックの画素を以降の次の繰り返しにおける位置合わせ処理から除外する
ことを特徴とする請求項４記載の画像処理装置。
【請求項７】
前記判定手段は、さらに
前記高解像度画像中の全ブロック数に対する前記終了条件を満たすと判定されたブロックの数の割合が、第２の所定値を超えた場合に、残りの参照画像の画素を位置合わせ処理から除外する
ことを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記動き推定手段は、前記代表画像と表示順が近い参照画像から順に動きを推定する
ことを特徴とする請求項１記載の画像処理装置。
【請求項９】
前記画像処理装置は、さらに、
参照画像が前記代表画像と同じシーンに属するか異なるシーンに属するかを判断する判断手段を備え、
前記動き推定手段は、異なるシーンに属する参照画像を動き推定から除外する
ことを特徴とする請求項１記載の画像処理方法。
【請求項１０】
第１解像度の代表画像とそれに関連する第１解像度の複数の参照画像を用いて、第１解像度よりも高い第２解像度の高解像度画像を生成する画像処理装置であって、
参照画像を切り換えながら位置合わせ処理を繰り返す第１繰り返し処理手段と、
前記位置合わせ処理の繰り返し完了後に、求めるべき高解像度画像の画素推定値を更新する更新処理を繰り返す第２繰り返し処理手段とを備え、
前記位置合わせ処理は、前記代表画像に対する参照画像の位置ずれ量を推定し、推定した位置ずれ量に基づいて当該参照画像の画素を、前記代表画像を拡大した高解像度画像のサブピクセル位置に配置することであり、
前記更新処理は、前記位置合わせされた低解像度画像の画素値と、求めるべき高解像度画像モデルの画素値との差分値を変数として含む評価関数の値を減少させるように、前記高解像度画像の画素値を更新することであり、
前記第２繰り返し処理手段は、
前記評価関数の値を減少させるように画素推定値を更新する更新手段と、
前記更新処理の結果から終了条件を満たす画素を判定する判定手段と、
前記終了条件を満たすと判定された画素を次の更新処理から除外する前記除外手段と
を備えることを特徴とする画像処理装置。
【請求項１１】
前記判定手段は、更新前の画素値と更新後の画素値の差である更新量がしきい値である場合、当該画素が前記終了条件を満たすと判定する
ことを特徴とする請求項１０記載の画像処理装置。
【請求項１２】
前記しきい値は、予め定めた値である
ことを特徴とする請求項１１記載の画像処理装置。
【請求項１３】
前記しきい値は、前記高解像度画像の全画素数に対する、判定手段により除外されていない画素数の割合が所定の値以下となるように決定されること
を特徴とする請求項１１記載の画像処理装置。
【請求項１４】
前記更新手段は、判定手段により除外されていない画素の画素値のみを用いて前記評価関数の勾配値を算出し、前記勾配値に基づいて前記高解像度画像の画素推定値を更新する
ことを特徴とする請求項１０記載の画像処理装置。
【請求項１５】
前記更新手段は、判定手段により除外されていない画素についての前記差分値の総和の減少割合が、一定値以下となった場合に、全画素についての画素推定値の更新を終了する
ことを特徴とする請求項１０記載の画像処理装置。
【請求項１６】
第１解像度の代表画像とそれに関連する第１解像度の複数の参照画像を用いて、第１解像度よりも高い第２解像度の高解像度画像を生成する画像処理方法であって、
参照画像を切り換えながら位置合わせ処理を繰り返す第１ステップと、
前記位置合わせ処理の繰り返し後に、求めるべき高解像度画像の画素推定値を更新する更新処理を繰り返す第２ステップとを有し、
前記位置合わせ処理は、前記代表画像に対する参照画像の位置ずれ量を推定し、推定した位置ずれ量に基づいて当該参照画像の画素を、前記代表画像を拡大した高解像度画像のサブピクセル位置に配置することであり、
前記更新処理は、前記位置合わせされた低解像度画像の画素値と求めるべき高解像度画像モデルの画素値との差分値を変数として含む評価関数の値を減少させるように、前記高解像度画像の画素値を更新することであり、
前記第１ステップおよび第２ステップの少なくとも１つは、
位置合わせ処理または更新処理の結果から終了条件を満たす画素を判定する第１サブステップと、
終了条件を満たすと判定された画素を前記位置合わせ処理または前記更新処理から除外する第２サブステップと
を有することを特徴とする画像処理方法。
【請求項１７】
請求項１６記載の画像処理方法を実行させる、コンピュータ読み取り可能なプログラム。
【請求項１８】
第１解像度の代表画像とそれに関連する第１解像度の複数の参照画像を用いて、第１解像度よりも高い第２解像度の高解像度画像を生成する半導体集積回路であって、
参照画像を切り換えながら位置合わせ処理を繰り返す第１繰り返し処理手段と、
前記位置合わせ処理の繰り返し完了後に、求めるべき高解像度画像の画素推定値を更新する更新処理を繰り返す第２繰り返し処理手段とを備え、
前記位置合わせ処理は、前記代表画像に対する参照画像の位置ずれ量を推定し、推定した位置ずれ量に基づいて当該参照画像の画素を、前記代表画像を拡大した高解像度画像のサブピクセル位置に配置することであり、
前記更新処理は、前記位置合わせされた低解像度画像の画素値と、求めるべき高解像度画像の画素値との差分値を変数として含む評価関数の値を減少させるように、前記高解像度画像の画素値を更新することであり、
前記第１繰り返し処理手段および第２繰り返し処理手段の少なくとも１つは、
位置合わせ処理または更新処理の結果から終了条件を満たす画素を判定する判定手段と、
終了条件を満たすと判定された画素を前記位置合わせ処理または前記更新処理から除外する除外手段と
を備えることを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の低解像度画像を入力として画像の解像度を拡大する画像処理方法および画像処理装置に関する。
【背景技術】
【０００２】
デジタルスチルカメラなどで撮影した静止画を高解像度化して、より鮮明な画像を取得するための取り組みが盛んに行われている。その一つとして、互いに位置ずれを有する複数の画像を合成して高周波数成分を復元する方法が、原画像に近い鮮明な高解像度画像を取得する方法として注目されている。この方法によれば、動画像において時間的に連続する複数枚の画像を利用して高解像度化することも可能であり、ビデオカメラで撮影した動画像を高解像度化するなど幅広い用途が見込まれる。以降、複数の低解像度画像から高解像度画像を生成する処理を、超解像と呼ぶ。
【０００３】
超解像の手法についても多数あるが、安定して高画質な高解像度画像を得るために、反復処理により高解像度画像の画素値を逐次更新する再構成型の超解像が広く利用されている。再構成型の超解像は、複数枚の低解像度画像個別の位置合わせ処理と、高解像度画像の画素値を求めるための更新処理を繰り返し行なう反復処理とからなる。しかしながら、再構成型の超解像は、複数枚の低解像度画像の位置合わせが必要であり、また、反復処理を用いることから処理にかかる演算量が多く、実用化を進めるためには演算量の削減が必要である。一例として、特許文献１では、反復処理時の評価関数のパラメータ値を最適化することにより反復回数を削減する方法が提案されている。
【０００４】
再構成型の超解像において、画質を低下させることなく演算量を削減するための従来技術として、再構成型の超解像処理であるMAP（Maximum A Posteriori）法について以下に述べる。
【０００５】
MAP法は、バイキュービック法やニアレストネイバー法により生成した高解像度画像を初期値として、観測画像である複数の低解像度画像を条件としたときの事後確率を最大にする高解像度画像を求める方法である。事後確率は評価関数により示され、評価関数は誤差項と収束項から成る。誤差項は、撮像モデルを仮定した場合に、高解像度画像から撮像モデルを元に推定される画素値と、位置合わせされた低解像度画像の画素値との２乗誤差を示し、収束項は、画像は至るところで滑らかであるという仮定に基づいた事前情報を示す。評価関数の例を（式１）に示す。
【０００６】
【数１】
0004837615.tif 000002
【０００７】
ここで、（式１）のh_vec(i)は高解像度画像の画素値のベクトル表現（以下ではn回目の更新後のh_vec(i)をHR(n)と記す）、fiは位置合わせ後の低解像度画像の画素値、b_vec(i)はfiの画素位置に対応する撮像モデルを示すカーネルの要素、Cは滑らかさの事前情報を示す関数、αは誤差項と収束項との重み、Nlはh_vec(i)の更新に使用する低解像度画像の画素の数を示す。なお、Σは0番目からNl-1番目までの、Nl個の要素の総和（位置合わせされた低解像度画像の総画素数）、| |は２次のノルム、＊はベクトルの内積を示す。
【０００８】
反復計算時には、（式１）の評価関数Iを最小化するが、その際には最急降下法や共役勾配法などの最適化計算が利用できる。これらの方法では、評価関数Iの勾配I'（式２）を求める必要がある。
【０００９】
【数２】
0004837615.tif 000003
【００１０】
ここで、∇は要素の微分を示す。
（式２）から明らかなように、勾配I'を求める際には、Nlに依存した画素単位の演算が必要であり、Nlは高解像度画像の画素数と同等のオーダーであることが望ましいため、演算量は非常に大きくなる。
【００１１】
また、fiを求める際の位置合わせには、超解像の対象画像と参照画像との間でブロック単位、あるいは画素単位の動き量を推定する必要があるが、動き量の推定にかかる演算量も参照画像の枚数に依存して増加する。
【００１２】
図１Ａ、図１Ｂは、MAP法の動画像への適用例を示す。ここで、適用先は動画像に限定されず、例えば、同一の被写体を複数の位置から撮影した際の（マルチビュー）、各撮影位置における静止画像を利用した超解像が可能である。なお、動画像でない場合には、以下の説明における動き量は各画像間の位置ずれ量に、動き推定は位置ずれ量の推定に対応する。図１Ａは、k番目のピクチャが超解像の対象ピクチャであり、時間的に連続する前後のピクチャが参照ピクチャであることを示す。ここで、１ピクチャは、１フレームあるいは１フィールドに対応する。図１Ｂ（ａ）、図１Ｂ（ｂ）は、それぞれ、超解像の対象ピクチャと参照ピクチャの画素を示し、これらのピクチャの間で動き推定を行って位置合わせした結果が図１Ｂ（ｃ）のようになる。図１Ｂ（ｃ）は、高解像度画像の画素位置に対して、超解像の対象ピクチャと参照ピクチャの画素を位置合わせした結果であり、図１Ｂ（ｃ）における灰色の丸と白丸が（式１）あるいは（式２）におけるfiに、灰色の丸と白丸の数の合計がNlに相当する。図１Ｂ（ｄ）は、高解像度画像の画素と、位置合わせ後の低解像度画像の画素との関係を示し、黒丸が高解像度画像の画素位置に相当する。ここで、超解像の対象ピクチャを位置合わせした灰色の丸は、図１Ｂ（ｄ）における高解像度画像の画素である黒丸と同一の位置にある。なお、高解像度画像の初期画像は、図１Ｂ（ａ）に示す超解像の対象画像をバイキュービック法により補間するなどして生成する。（式２）の誤差項は、白丸（および灰色の丸）の画素値と、周辺の黒丸の画素値から白丸（および灰色の丸）の画素値を推定した値との差分値に基づいて計算され、（式２）の収束項は、黒丸の画素値から計算される。反復処理においては、黒丸の画素値が順次更新される。
【００１３】
以上より、MAP法においては、位置合わせと反復処理にかかる演算が大部分を占め、これら２つの処理の演算量削減が重要であることが分かった。
【００１４】
図２は、従来の再構成型の超解像処理を行う画像処理装置５００の構成を示すブロック図である。画像処理装置５００は、画像入力部５０１、動き推定部５０２、位置合わせ部５０３、初期画像決定部５０４、再構成部５０５、メモリ５１０とから構成される。画像入力部５０１は、入力画像データをメモリ５１０に格納する。動き推定部５０２は、動き推定に必要な画像データをメモリ５１０から取得して、動き推定を実施し、取得した動きベクトル情報５１１を位置合わせ部５０３に入力する。続いて、位置合わせ部５０３は、動きベクトル情報５１１に基づいて位置合わせを行い、その結果を位置情報５１２として出力する。初期画像決定部５０４は指定された倍率に従って、高解像度画像の初期画像５１３を生成する。さらに、再構成部５０５は、位置情報５１２と初期画像５１３に基づいて反復処理を行って再構成画像データを生成し、出力する。
【００１５】
図３は、再構成部５０５の構成を示すブロック図である。再構成部５０５は、更新演算部６０１と、ピクチャ単位更新判定部６０２とから構成される。更新演算部６０１は、ピクチャ単位更新判定部６０２から入力される更新指示６１１により更新が指示されると、位置情報５１２と初期画像５１３に基づいて、高解像度画像の全画素について画素値を更新する。ピクチャ単位更新判定部６０２は、高解像度画像の更新結果６１２から、反復処理を終了するかどうか判定し、終了すると判定した場合には高解像度画像データを出力し、終了せずに反復処理を続行すると判定した場合には、更新指示６１１により更新演算部６０１に対して高解像度画像の更新を指示する。
【００１６】
図４は、従来の再構成型の超解像処理の動作を示すフローチャートである。ステップS001からステップS004において位置合わせを行い、ステップS005において高解像度画像の初期画像を生成し、ステップS006において反復処理により高解像度画像を再構成する。以下、各ステップの詳細について順に説明する。まず、ステップS001では、超解像の対象ピクチャとN枚の参照ピクチャの画像データを入力する。ここで、Nは予め定めた所定の枚数であるとする。次に、ステップS002においてN枚の参照ピクチャ全てについて動き推定、および位置合わせが終了したかどうかを判定する。全参照ピクチャに対して処理が終了した場合には、ステップS005に進み、終了していなければステップS003に進む。ステップS003では、超解像の対象ピクチャpic_curと参照ピクチャpic_ref(k)との間で動き推定を行い、取得した動き量に基づいて、ステップS004において位置合わせを行う。ここで、kは１以上N以下の整数であるとする。続いて、ステップS005では超解像の対象ピクチャpic_curの画素値をもとに、指定された倍率に従って、高解像度画像の初期画像５１３を生成する。ステップS006では、反復処理により初期画像５１３を更新し、再構成画像を出力する。
【００１７】
ステップS003における動き推定処理と、ステップS006における反復処理について更に説明する。
【００１８】
図５は、ステップS003における動き推定処理の動作を示すフローチャートである。なお、動き推定はブロック単位で行うものとし、そのサイズは任意に設定可能である。まず、ステップS0031において、ブロックを指定するインデックス番号の組である（i, j）を共に０にセットする。次に、ステップS0032において超解像の対象ピクチャpic_cur内の全ブロックについて動き推定が終了したかどうか判定し、全ブロックについて動き推定が終了した場合には動き推定処理を終了する。終了していなければ、ステップS0033に進み、（i, j）番目のブロックについて、k番目の参照ピクチャpic_ref(k)との間で動き推定を実施する。その後、ステップS0034において（i, j）を更新してステップS0032に戻る。このように、従来の動き推定処理においては、超解像の対象ピクチャpic_cur内の全ブロックについて、必ずN枚の参照ピクチャとの間で動き推定を実施している。
【００１９】
図６は、ステップS006における反復処理の動作を示すフローチャートである。まず、ステップS0061において、反復回数nを0にセットする。ステップS0062では、反復処理の終了判定を行う。このとき、評価関数の勾配I'の２次のノルムが所定の閾値εより小さければ反復処理を終了して、ステップS0065に進み、高解像度画像HR(n+1)を再構成画像として出力する。閾値ε以上であればステップS0063に進む。ステップS0063では、高解像度画像HR(n)の全画素値を更新し、更新後の高解像度画像HR(n+1)を生成する。ここで、高解像度画像HR(0)は、ステップS005で生成した高解像度画像の初期画像５１３と一致する。続いて、ステップS0064では、反復回数nに１を加算し、ステップS0062に戻る。このように、従来の反復処理においては、高解像度画像HR(n)の全画素を必ず更新していた。
【特許文献１】特開２０００−３３９４５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
従来の再構成型の超解像における動き推定処理においては、超解像の対象ピクチャ内の全ブロックについて、必ずN枚の参照ピクチャとの間で動き推定を実施している。しかしながら、高解像度画像の更新に必要なだけの低解像度画像が位置合わせされれば、参照ピクチャの枚数がN枚より少なくても、画質を落とすことなく超解像処理を行える。図７は、従来の動き推定処理の課題を示す例である。ここで、参照ピクチャの枚数は８枚に設定されたとする。図７の（a）、（b）、（c）は、それぞれ参照枚数が２枚、４枚、８枚である各段階における、低解像度画像の位置合わせ結果を示す。白丸は位置合わせされた低解像度画像の画素位置を示し、黒丸は高解像度画像の画素位置を示す。ここで、ブロックAでは、図７の（b）の時点で高解像度画像の更新に必要なだけの低解像度画像の画素が揃っているにも関わらず、動き推定処理が続行される。一方で、ブロックBでは図７の（b）の時点では十分な数の低解像度画像の画素が揃っておらず、図７の（c）の時点で初めて高解像度画像の更新に必要なだけの低解像度画像の画素が揃う。このように、従来の動き推定処理においては、ブロックAのように、動き推定処理を終了しても問題のない領域についても、参照枚数が所定の枚数に達するまで動き推定処理が続行されており、結果として演算量が増大するという第１の課題がある。
【００２１】
また、従来の再構成型の超解像における反復処理においては、高解像度画像HR(n)の全画素を必ず更新している。しかしながら、画素値の更新量が少ない画素については、画素値が収束したとみなしてもよい。図８は、従来の反復処理の課題を示す例である。図８の（a）は、反復回数の増加と、高解像度画像の画素値が更新される領域との関係を示し、図８の（b）は、反復回数の増加と、画素値の更新量が所定の閾値REP_STOPを超える領域との関係を示す。図８（a）と（b）から示されるように、画素値の更新量が所定の閾値REP_STOPを超える領域は反復回数の増加に伴って減少するにも関わらず、高解像度画像の画素値が更新される領域は反復回数とは無関係に常に一定である。ここで、画素値の更新量が所定の閾値REP_STOP以下である画素については、画素値が収束したとみなせるため、更新を継続しても画質は向上せず、以降の反復処理においては画素値を更新しなくともよい。このように、従来の反復処理においては、画素値が収束したとみなせる画素についても更新処理を継続していたために演算量が増大するという第２の課題がある。
【００２２】
そこで、本発明は上記の事情に鑑みてなされたものであり、超解像後の画質を低下させることなく、演算量を削減することができる画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００２３】
上記目的を達成するため、本発明に係る画像処理装置は、第１解像度の代表画像とそれに関連する第１解像度の複数の参照画像を用いて、第１解像度よりも高い第２解像度の高解像度画像を生成する画像処理装置であって、参照画像を切り換えながら位置合わせ処理を繰り返す第１繰り返し処理手段と、前記位置合わせ処理の繰り返し完了後に、求めるべき高解像度画像の画素値を更新する更新処理を繰り返す第２繰り返し処理手段とを備え、前記位置合わせ処理は、前記代表画像に対する参照画像の位置ずれ量を推定し、推定した位置ずれ量に基づいて当該参照画像の画素を、前記代表画像を拡大した高解像度画像のサブピクセル位置に配置することであり、前記更新処理は、前記位置合わせされた低解像度画像の画素値と求めるべき高解像度画像の画素値との差分値を変数として含む評価関数の値を減少させるように、前記高解像度画像の画素値を更新することであり、前記第１繰り返し処理手段および第２繰り返し処理手段の少なくとも１つは、位置合わせ処理または更新処理の結果から終了条件を満たす画素を判定する判定手段と、終了条件を満たすと判定された画素を前記位置合わせ処理または前記更新処理から除外する除外手段とを備える。この構成によれば、終了条件を満たす画素を以降の位置合わせ処理または更新処理から除外することにより、繰り返えされる位置合わせ処理または更新処理に要する演算量を削減し、除外される画素は終了条件を満たすので画質の低下を防止することができる。
【００２４】
ここで、前記第１繰り返し処理手段は、前記代表画像のブロック毎に、前記代表画像に対する参照画像の動きを推定する動き推定手段と、前記高解像度画像を前記高解像度画像の画素に対応する複数グリッドに分割し、推定された動きに従って、前記ブロック毎に参照画像の画素を高解像度画像のサブピクセル位置に配置する位置合わせ手段と、ブロック内の全グリッドに対する、参照画像の画素を１つ以上含むグリッドの割合が所定の値を超えている場合は、当該ブロックが前記終了条件を満たすと判定する前記判定手段と、前記終了条件を満たすと判定されたブロックの画素を位置合わせ処理から除外する前記除外手段とを備えてもよい。この構成によれば、終了条件により更新処理で高い画質を得る十分な参照画素数を位置合わせし、かつ位置合わせ処理における演算量を削減することができる。
【００２５】
ここで、前記判定手段は、前記代表画像のブロック毎に動きを推定し、前記位置合わせ手段は、前記高解像度画像を前記高解像度画像の画素に対応する複数グリッドに分割し、推定された動きに従って、前記ブロック毎に参照画像の画素を高解像度画像のサブピクセル位置に配置する位置合わせし、前記判定手段は、前記高解像度画像内の全グリッドに対する、参照画像の画素を１つ以上含むグリッドの割合が所定の値を超えている場合は、当該参照画像が前記終了条件を満たすと判定し、前記除外手段は、前記終了条件を満たすと判定されたとき、残りの参照画像の画素を位置合わせ処理から除外するようにしてもよい。
【００２６】
ここで、前記判定手段は、さらに前記高解像度画像中の全ブロック数に対する前記終了条件を満たすと判定されたブロックの数の割合が、第２の所定値を超えた場合に、残りの参照画像の画素を位置合わせ処理から除外するようにしてもよい。
【００２７】
ここで、前記動き推定手段は、前記代表画像と表示順が近い参照画像から順に動きを推定するようにしてもよい。
【００２８】
ここで、前記画像処理装置は、さらに、参照画像が前記代表画像と同じシーンに属するか異なるシーンに属するかを判断する判断手段を備え、前記動き推定手段は、異なるシーンに属する参照画像を動き推定から除外するようにしてもよい。
【００２９】
ここで、前記第２繰り返し処理手段は、前記評価関数の値を減少させるように画素値を更新する更新手段と、更新前の画素値と更新後の画素値の差である更新量がしきい値である場合、当該画素が前記終了条件を満たすと判定する前記判定手段と、前記終了条件を満たすと判定された画素を更新処理から除外する前記除外手段とを備えるようにしてもよい。この構成によれば、上記終了条件は更新処理における高解像度の画素推定値を十分に収束させるので画質を低下させない。また、更新処理の演算量を削減することができる。
【００３０】
ここで、前記しきい値は、予め定めた値でもよい。
ここで、前記しきい値は、前記高解像度画像の全画素数に対する、判定手段により除外されていない画素数の割合が所定の値以下となるように決定されてもよい。
【００３１】
ここで、前記更新手段は、判定手段により除外されていない画素の画素値のみを用いて前記評価関数の勾配値を算出し、前記勾配値に基づいて前記高解像度画像の画素推定値を更新してもよい。
【００３２】
ここで、前記更新手段は、判定手段により除外されていない画素についての前記差分値の総和の減少割合が、一定値以下となった場合に、全画素についての画素推定値の更新を終了してもよい。
【００３３】
また、本発明の画像処理方法、プログラムおよび半導体集積回路は、上記と同様の手段を有する。
【発明の効果】
【００３４】
以上のように、本発明によれば、位置合わせした低解像度画像の画素配置に基づいて、高解像度画像において動き推定が必要な領域を選択的に決定する、あるいは、高解像度画像全体として動き推定処理を終了してよいかどうかを決定することにより、超解像後の画質を低下させることなく動き推定処理に係る演算量を削減することができ、その実用的価値が高い。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００３６】
（実施の形態１）
まず本発明の実施の形態１に係る画像処理装置１００の概要について説明する。
【００３７】
画像処理装置１００は、超解像の対象ピクチャにおいて動き推定を行うブロックを選択的に決定する点において、従来の画像処理装置と異なる。
【００３８】
本実施の形態における画像処理装置は、第１解像度の代表画像と第１解像度の複数の参照画像を用いて、第１解像度よりも高い第２解像度の高解像度画像を生成する画像処理装置であって、参照画像を切り換えながら位置合わせ処理を繰り返す第１繰り返し処理手段と、求めるべき高解像度画像の画素推定値を更新する更新処理を繰り返す第２繰り返し処理手段とを備える。
【００３９】
ここで、前記第１繰り返し処理手段は、位置合わせ処理または更新処理の結果から終了条件を満たす画素を判定する判定手段と、終了条件を満たすと判定された画素を以降の位置合わせ処理または更新処理から除外する除外手段とを備える。
【００４０】
このように、位置合わせ処理は、全ての参照画像について代表画像の全ブロックを対象に行なわれるのではなく、除外手段によって除外されて残る画素を含むブロックのみを対象に行なわれる。これにより、終了条件を満たす画素を以降の位置合わせ処理から除外することにより、繰り返えされる位置合わせ処理に要する演算量を削減している。除外される画素は終了条件を満たすので画質の低下を防止することができる。なお、本実施形態において、終了条件には、ピクチャの終了条件とブロックの終了条件の２つがある。
【００４１】
図９は、画像処理装置１００の構成を示すブロック図である。画像処理装置１００は、画像入力部１０１、動き推定部１０２、位置合わせ部１０３、参照画像決定部１０４、初期画像決定部１０５、再構成部１０６、およびメモリ１１０から構成される。
【００４２】
画像入力部１０１は、入力画像データをメモリ１１０に格納する。動き推定部１０２は、動き推定に必要な画像データをメモリ１１０から取得して、動き推定を実施し、取得した動きベクトル情報１１１を位置合わせ部１０３に入力する。続いて、位置合わせ部１０３は、動きベクトル情報１１１に基づいて位置合わせを行い、その結果を位置情報１１２として出力する。参照画像決定部１０４は、位置合わせ部１０３から入力された低解像度画像の位置合わせ後の画素位置情報１１４に基づいて、参照ピクチャの決定、および、超解像の対象となるピクチャにおいて動き推定を実施する領域を決定し、これらの情報を推定指示１１５として動き推定部１０２に入力する。従って、動き推定部１０２は、推定指示１１５に従って、動き推定を実施する。初期画像決定部１０５は指定された倍率に従って、高解像度画像の初期画像１１３を生成する。さらに、再構成部１０６は、位置情報１１２と初期画像１１３に基づいて反復処理を行って再構成画像データを生成し、出力する。
【００４３】
ここで、参照画像決定部１０４は、対象ピクチャがピクチャの終了条件を満たさない場合、残りの参照ピクチャから次の参照ピクチャを１つ決定し、対象ピクチャがピクチャの終了条件を満たす場合、残りの参照ピクチャは動き推定から除外される。また、参照画像決定部１０４は、ブロックの終了条件を満たさないブロックを、動き推定を実施する領域として決定し、ブロックの終了条件を満たすブロックを、動き推定を実施する領域として除外する。
【００４４】
図１０は、画像処理装置１００の動作を示すフローチャートである。ここで、低解像度画像の位置合わせ終了後の処理であるステップS005とステップS006における動作は、従来の画像処理装置５００と同一であるため、同一の符号を附し説明を省略する。なお、参照ピクチャ毎のピクチャ終了フラグ、ブロック毎のブロック終了フラグの初期値は０にリセットされているものとする。ピクチャ終了フラグは、当該ピクチャがピクチャの終了条件を満たしたか否かを示す。ブロック終了フラグは、当該ブロックがブロックの終了条件を満たしたか否かを示す。
【００４５】
まず、ステップS101では、超解像の対象ピクチャとN枚の参照ピクチャの画像データを入力する。ここで、Nは予め定めた所定の枚数であるとし、表示順が超解像の対象ピクチャに近いピクチャから順に、N枚のピクチャを参照ピクチャとする。次に、ステップS105において、超解像の対象ピクチャpic_curが動き推定の終了条件を満たすかどうか判定する。この判定は、参照ピクチャ毎に設けられたピクチャ終了フラグが１にセットされているかどうかによる。対象ピクチャpic_curに対応するピクチャ終了フラグが１の場合、つまり動き推定の終了条件を満たす場合には、動き推定および位置合わせ処理を終了してステップS005に進む。超解像の対象ピクチャpic_curが動き推定の終了条件を満たすかどうかは、後段のステップS103における出力結果に従うが、ループの初回においては、必ずステップS102に進むとする。動き推定の終了条件を満たさなければ、ステップS102に進み、N枚の参照ピクチャ全てについて動き推定、および位置合わせが終了したかどうかを判定する。全参照ピクチャに対して処理が終了した場合には、ステップS005に進み、終了していなければステップS103に進む。ステップS103では、超解像の対象ピクチャpic_curと参照ピクチャpic_ref(k)との間で動き推定を行い、取得した動き量に基づいて、ステップS104において位置合わせを行う。このとき、動き推定、および位置合わせは、高解像度画像を更新するために必要な条件を満たすだけの低解像度画像の画素が揃ったかどうかに基づいて、選択的に行う。ここで、kは１以上N以下の整数であるとする。
【００４６】
図１１は、ステップS103における動き推定動作の詳細を示すフローチャートである。まず、ステップS1031において、動き推定を行うブロックを識別するためのインデックス番号であるiとjを共に0にセットする。次に、ステップS1032では、超解像の対象ピクチャpic_curの全ブロックについてステップS1033とステップS1034の処理が終了したかどうかを判定し、終了したと判定された場合にはステップS1036に進む。終了していないと判定されると、ステップS1033に進み、（i，j）番目のブロックが動き推定の終了条件を満たすかどうか判定する。
【００４７】
図１２Ａ〜図１２Ｄは、低解像度画像の解像度を２倍に拡大する際の、動き推定の終了条件を示す例である。図１２Ａは、超解像の対象ピクチャpic_curにおけるブロック位置を示し、灰色で示す部分は（4，4）番目のブロックに相当し、×印は超解像の対象ピクチャpic_curの画素を示す。図１２Ｂは、高解像度画像における画素位置を示し、黒丸が高解像度画像の画素に相当する。ここでは、解像度を２倍に拡大するため、元の超解像の対象ピクチャpic_curの画素は、×印で示されるように、水平方向と垂直方向共に、１画素おきに存在することになる。また、領域Cに示すように、高解像度画像の１画素を複数のグリッドに分割する。ここでは、１画素に対応する領域を２×２のグリッドに分割した例を示す。図１２Ｃと図１２Ｄは、図１２Ｂと同一領域において、参照ピクチャを位置合わせ後の様子を示し、白丸は位置合わせ済みの参照ピクチャの画素を示す。図１２Ｃは、位置合わせ後に、各グリッドが、超解像の対象ピクチャpic_cur、あるいは参照ピクチャpic_refの画素を１つ以上含むケースであり、このとき、（4，4）番目のブロックについての動き推定の終了条件を満たすとする。一方、図１２Ｄは、超解像の対象ピクチャpic_cur、あるいは参照ピクチャpic_refの画素を含まないグリッドが存在するケースであり、このとき、（4，4）番目のブロックについての動き推定の終了条件は満たさない。
【００４８】
このように、超解像の対象ピクチャpic_curの（i, j）番目のブロックに対応する高解像度画像のブロックにおいて、全画素内の全グリッドが、位置合わせ後に１つ以上の低解像度画像の画素で埋まっていれば、（i, j）番目のブロックについて動き推定を終了すると判定する。
【００４９】
ステップS1033において、（i, j）番目のブロックの動き推定を終了すると判定された際には、ブロック毎に設けられたブロック終了フラグのうち、当該ブロックに対応するブロック終了フラグを１にセットしてからステップS1032に戻り、終了しないと判定された場合にはステップS1034に進む。ステップS1034では、（i, j）番目のブロックについて、参照ピクチャpic_ref(k)との間で動き推定処理を実施する。動き推定の手法としては、ブロックマッチング法や位相限定相関法などが適用できる。そして、ステップS1035に進み、（i, j）を更新した後にステップS1032に戻る。続いて、ステップS1036では、全ブロックが動き推定の終了条件を満たしたかどうかを判定し、ピクチャの終了条件を満たす場合にはステップS1038に進み、超解像の対象ピクチャpic_curの動き推定処理を終了すると判定する。この判定の結果、対象ピクチャpic_curに対応するピクチャ終了フラグを１にセットする。ピクチャの動き推定の終了条件を満たさないブロックが存在する場合には、ステップS1037に進み、超解像の対象ピクチャpic_curの動き推定処理を終了しないと判定する。この判定の結果、対象ピクチャpic_curに対応するピクチャ終了フラグは０のままである。
【００５０】
ここで、ステップS1033における終了条件は、高解像度画像の各画素のグリッドが全て埋まっているかどうかに限定されず、例えば以下１から４のいずれかにしてもよい。
【００５１】
１．高解像度画像の各画素に対応するグリッドのうち、所定の割合以上のグリッドが１つ以上の低解像度画像の画素で埋まっている。例えば、高解像度画像の画素を４×４のグリッドに分割すると、全てのグリッドを埋めるには、最低でも１６枚の参照ピクチャが必要となる。参照ピクチャが増加すると演算量が増加するだけでなく、参照ピクチャの格納に必要なメモリも増加すること、また、所定の割合以上のグリッドが埋まっていれば高解像度画像の再構成時に十分な画質が得られることから、本方法は特に有効である。
【００５２】
さらに、ブロック内の画像の性質に応じて前記所定の割合を切り替えてもよい。例えば、エッジなど高周波成分が多く含まれる部分では、高周波成分の少ない平坦な領域に比べて、埋まっているグリッドの数の増加に依存した画質向上の効果が大きい。従って、ブロック内でエッジ検出などを行った結果に基づいて、エッジなどの高周波成分が存在する、あるいは高周波成分の割合が大きい場合には、より多くのグリッドが埋まるまで動き推定を継続することにしてもよい。
【００５３】
２．高解像度画像の各画素に対応するグリッドのうち、または高解像度画像の画素位置に近いグリッドのうち、所定の割合以上のグリッドが１つ以上の低解像度画像の画素で埋まっている。例えば、高解像度画像の画素位置を含むグリッドに隣接するグリッドが埋まっているかどうかで判定してもよい。
【００５４】
３．高解像度画像の各画素に対応するグリッドのうち、高解像度画像の画素位置に隣接するグリッドなど特定のグリッドが、N個以上の低解像画像の画素で埋まっている。
【００５５】
４．高解像度画像の各画素に対応するグリッドのうち、１つ以上の低解像度画像の画素で埋まっているグリッドの割合の増加量が所定の条件を満たす。例えば、前記増加量の大きさ、あるいは、１つ以上の低解像度画像の画素で埋まっているグリッドの総数に対する、新規に埋まったグリッドの数の割合、などが一定量以下となった際には、他のグリッドを埋めるような動きをもつ参照ピクチャが存在しないとみなし、動き推定を終了する。
【００５６】
また、グリッドの形状は矩形でなくてもよい。例えば、高解像度画像の画素位置からの距離に応じて同心円状にグリッドを設定してもよい。
【００５７】
また、ステップS101では参照可能な全てのピクチャを前もって入力したが、ステップS105およびステップS102において、新規の参照ピクチャが必要であると判定された場合に、順次参照ピクチャを入力してもよい。図１３は、必要な参照ピクチャを順次入力する際の動作を示すフローチャートである。本動作においては、まず、ステップS106において超解像の対象ピクチャpic_curを入力し、参照ピクチャの入力はステップS107において行う。ステップS107では、次に参照するピクチャが未取得であるかどうか判定し、未取得であれば当該参照ピクチャを入力する。動画像のピクチャを順に超解像するようなケースでは、超解像済みのピクチャにおいて参照ピクチャとして使用したピクチャがメモリに保持されており、これらのピクチャは、後続ピクチャを超解像する際にも参照ピクチャとして利用できる。従って、次に参照するピクチャが未取得である場合にのみ、参照ピクチャを入力すればよい。なお、参照ピクチャは、表示順が超解像の対象ピクチャpic_curに近いピクチャから順に取得する。
【００５８】
図１４は、本実施の形態の画像処理方法の効果を説明する図である。図１４の（a）、（b）、（c）は、それぞれ図７の（a）、（b）、（c）に対応する。図７に示すように、従来の方法では、ブロックAのように、動き推定処理を終了してよい領域についても、参照枚数が所定の枚数に達するまで動き推定処理を続行していた。しかしながら、本実施の形態の方法によれば、ブロックAにおいては、図１４（b）で４枚の参照ピクチャによる位置合わせを終了した段階で、動き推定の終了条件を満たすため、以降、ブロックAについては動き推定処理は行われない。結果として、５枚目の参照ピクチャから８枚目の参照ピクチャに対するブロックAの動き推定処理を削減できる。
【００５９】
以下に、本実施の形態の変形例について述べる。
ステップS103における動き推定は、低解像度画像を補間処理により高解像度化した後に実施してもよい。一例として、超解像の対象ピクチャpic_curと参照ピクチャpic_refとを、それぞれバイキュービック法、あるいは０次ホールド法により補間した後に動き推定を行う。
【００６０】
さらに、ステップS103における動き推定の終了判定は、ピクチャ単位のみで行ってもよい。このとき、ステップS1034では、ステップS1033における（i, j）番目のブロックの動き推定の終了判定の結果に関わらず、動き推定を実施する。
【００６１】
また、ステップS1036においては、全てのブロックが動き推定の終了条件を満たすかどうかにより終了判定を行ったが、一定割合以上のブロックが動き推定の終了条件を満たす、あるいは、エッジや高周波成分を多く含むブロックが動き推定の終了条件を満たす、などの条件を満たせば、超解像の対象ピクチャpic_curに対する動き推定処理を終了するとしてもよい。
【００６２】
また、動き推定は、超解像の対象ピクチャにおけるブロックを基準として行ったが、参照ピクチャ内のブロックを基準として行ってもよい。このときは、超解像の対象ピクチャにおいて動き推定の終了条件を満たすかどうかに基づいた選択的な動き推定処理は行えないため、動き推定の終了判定はピクチャ単位のみで行う。
【００６３】
また、上記では、ブロック単位での動き推定について説明したが、オブジェクトを抽出した後に、オブジェクト単位で動き推定を行ってもよい。
【００６４】
また、ステップS101では、参照ピクチャの枚数の最大値をNに固定したが、適応的に切り替えてもよい。例えば、動画像のストリームにおけるピクチャを順に超解像するケースでは、必要な参照ピクチャの枚数として、直前のピクチャにおいて使用した参照ピクチャの枚数を設定してもよい。
【００６５】
また、ステップS105における超解像の初期画像１１３の生成は、動き推定処理を実施するステップよりも前の段階、あるいは、参照ピクチャを取得するよりも前の段階で行ってもよい。
【００６６】
また、参照ピクチャpic_refは、同一シーン内のピクチャとすることが望ましい。これは、シーンが切替わると、切替わり前のシーンと切替わり後のシーンとで画像の相関がなくなる可能性が高く、参照ピクチャとしての重要度が低下するためである。図１５は、ステップS107において、シーンの切替わり（シーンチェンジ）を考慮して参照ピクチャを決定する際の動作を示すフローチャートである。ここで、超解像の対象ピクチャpic_curの表示順はk番目であるとする。まず、ステップS201において、変数k_minusとk_plusを共に0にセットする。次に、ステップS202では、表示順がk番目に近いピクチャから順に参照対象にすると決定する。ステップS203では、ステップS202で決定した結果に基づき、次に参照対象とするピクチャを決定する。ステップS204では、参照対象のピクチャにおいてシーンチェンジを検出したかどうか判定する。シーンチェンジは、DVなどにおいてビデオストリームに付加されたシーンチェンジの情報、あるいは、MPEGなどの符号化ストリームにおけるGOP（Group of Pictures）などのランダムアクセス単位の開始位置、あるいは、ストリームを再生するためのナビゲーションデータを参照するなどして検出できる。ステップS204においてシーンチェンジが検出されなければ、ステップS205に進み、参照対象のピクチャの画像を入力して処理を終了する。シーンチェンジが検出されれば、ステップS206に進む。ステップS206では、現在の参照対象ピクチャは参照ピクチャとしないと決定し、ステップS207に進む。ステップS207では、現在の参照対象ピクチャの表示順がk番目よりも後であるかどうか判定し、表示順が前であればステップS208に進み、表示順が後であればステップS209に進む。ステップS208では、表示順がk+1番目以降（k+1番目を含む）のピクチャのみを参照対象にすると決定し、ステップS210に進んでk_plusを１にセットする。ステップS209では、表示順がk-1番目以前（k-1番目を含む）のピクチャのみを参照対象にすると決定し、ステップS211に進んでk_minusを１にセットする。ステップS210あるいはステップS211の終了後は、ステップS212に進む。ステップS212では、k_plusとk_minusが共に１であるかどうか判定し、共に１であれば処理を終了し、少なくともどちらか一方が0であれば、ステップS203に戻る。なお、動画像におけるストリームの先頭部分や終端部分などにおいて、参照対象のピクチャが取得できなくなった場合には、その時点で処理を終了する。なお、ステップS202は、超解像処理の開始時にのみ行ってもよい。また、図１０のステップS101のように、参照対象となるN枚のピクチャを一度に入力する際には、N枚の参照ピクチャが決定するまでS201からステップS212までの処理を繰り返す。なお、N枚の参照ピクチャが決定するまで処理を続行せずに、N枚の参照対象ピクチャに対しての処理が終了した時点で、つまり、N枚のピクチャに対してステップS203からステップS212までの処理が終了した時点で、参照ピクチャの入力処理を打ち切ってもよい。さらに、MPEG-2ビデオにおける双方向予測ピクチャや、MPEG-4 AVC（Advanced Video Coding）における双予測ピクチャのように、復号順と表示順が異なるピクチャを含む符号化ストリームを扱う際には、各ピクチャの表示順を予め取得しておく。
【００６７】
また、画像の再構成には反復処理を用いたが、再サンプリング処理後に逆フィルタをかけるなど反復処理とは異なる方法により高解像度画像を生成してもよい。
【００６８】
また、参照画像として低解像度画像を使用したが、超解像後の画像を参照画像として使用してもよい。特に、動画のストリームを順に超解像する際には、超解像済みの画像を参照画像として使用できる。
【００６９】
また、必ず位置合わせを行う参照画像の枚数を予め設定しておき、設定枚数を超える参照画像については、参照するかどうかを選択的に判定してもよい。例えば、最低４枚の参照画像については位置合わせを行い、５枚目以降の参照画像については本実施の形態の方法により参照するかどうかを判定する。こうすることで、位置合わせに必要な最低限の参照画像については、動き推定の終了判定に係る処理を省略することができる。
【００７０】
以上のように、本実施の形態の画像処理方法では、各参照画像に対する動き推定および位置合わせ処理を終了するかどうかをブロック単位、あるいはピクチャ単位で判定するステップS105を備えたことにより、参照画像の位置合わせが必要な領域においてのみ、動き推定および位置合わせ処理を行うことができ、演算負荷が大きい処理である動き推定に係る演算量を削減できる。さらに、必要な参照画像を逐次入力することにより参照画像の保持に必要なメモリを削減できると共に、位置合わせが有効となる同一シーン内のピクチャを容易に選択できる。
【００７１】
（実施の形態２）
本実施の形態における画像処理装置２００は、実施の形態１と比較して、さらに、第２繰り返し処理手段は、更新処理の結果から終了条件を満たす画素を判定する判定手段と、終了条件を満たすと判定された画素を以降の更新処理から除外する除外手段とを備える。このように、更新処理は高解像度画像の全ての画素を対象に行なわれるのではなく、除外手段によって除外されて残る画素を対象に行なわれる。終了条件を満たす画素を更新処理から除外することにより、繰り返えされる更新処理に要する演算量を削減し、除外される画素は終了条件を満たすので画質の低下を防止することができる。
【００７２】
図１６は、画像処理装置２００の構成を示すブロック図である。画像処理装置２００は、画像入力部１０１、動き推定部１０２、位置合わせ部１０３、参照画像決定部１０４、初期画像決定部１０５、再構成部２０６、およびメモリ１１０から構成される。
【００７３】
画像入力部１０１は、入力画像データをメモリ１１０に格納する。動き推定部１０２は、動き推定に必要な画像データをメモリ１１０から取得して、動き推定を実施し、取得した動きベクトル情報１１１を位置合わせ部１０３に入力する。続いて、位置合わせ部１０３は、動きベクトル情報１１１に基づいて位置合わせを行い、その結果を位置情報１１２として出力する。初期画像決定部１０５は指定された倍率に従って、高解像度画像の初期画像１１３を生成する。さらに、再構成部２０６は、位置情報１１２と初期画像１１３に基づいて反復処理を行い、高解像度画像の画素値を選択的に更新し、再構成画像データを生成し、出力する。
【００７４】
図１７は、再構成部２０６の構成を示すブロック図である。再構成部２０６は、更新演算部２１１、ピクチャ単位更新判定部２１２、およびピクセル単位更新判定部２１３とから構成される。更新演算部２１１は、ピクチャ単位更新判定部２１２から入力されるピクチャ単位の更新指示情報３１１、および、ピクセル単位更新判定部２１３から入力されるピクセル単位の更新指示３１５に従い、位置情報１１２と初期画像１１３に基づいて高解像度画像の画素値を更新する。ピクチャ単位更新判定部２１２は、高解像度画像の更新結果３１２から、反復処理を終了するかどうか判定し、終了すると判定した場合には高解像度画像データを出力し、終了せずに反復処理を続行すると判定した場合には、更新指示情報３１１により更新演算部２１１に対して高解像度画像の更新を指示する。また、ピクセル単位更新判定部２１３は、更新演算部２１１から入力される高解像度画像の画素単位の更新情報３１４に基づいて、画素単位で更新を終了するかどうか判定し、更新指示３１５を更新演算部２１１に入力する。
【００７５】
次に本発明の実施の形態２に係る画像処理装置２００の動作について説明する。画像処理装置２００は、ステップS005において反復処理により高解像度画像の画素値を更新する際に、画素値を更新する画素を選択的に決定する点において、画像処理装置１００と異なる。
【００７６】
図１８は、画像処理装置２００における反復処理の動作を示すフローチャートである。まず、ステップS0061において、反復回数nを0にセットする。ステップS3062では反復処理の終了判定を行う。このとき、評価関数の勾配I'の２次のノルムが所定の閾値εより小さければ反復処理を終了して、ステップS0065に進み、高解像度画像HR(n+1)を再構成画像として出力する。評価関数の勾配I'の２次のノルムが閾値ε以上であればステップS3063に進む。ステップS3063では、高解像度画像HR(n)において所定の条件を満たす画素のみ画素値を更新し、更新後の高解像度画像HR(n+1)を生成する。ここで、高解像度画像HR(0)は、ステップS005で生成した高解像度画像の初期画像１１３と一致する。続いて、ステップS0064では、反復回数nに１を加算し、ステップS3062に戻る。
【００７７】
上記ステップS3063において、所定の条件を満たす画素は、画素毎に設けられた更新終了フラグRepFlag（i, j）が０に対応する画素である。また、ステップS3063における更新処理では、更新終了フラグRepFlag（i, j）が１に対応する画素データ、つまり更新の終了条件を満たす画素データは、（式２）のh_vec(i)のベクトルの要素から除外される。これにより更新処理の演算量を大幅に削減している。
【００７８】
図１９は、ステップS3063の動作の詳細を示すフローチャートである。動作は大きく２つのパートから構成され、評価関数I（式１）の勾配I'（式２）を計算するステップ（ステップS4001からステップS4005）と、求めた勾配I'に基づいて高解像度画像の画素値を更新するステップ（ステップS4006からステップS4012）とから成る。
【００７９】
まず、評価関数Iの勾配I'を求める部分について説明する。ステップS4001において、高解像度画像HR(n)の各画素を示すインデックス番号であるiとjを共に０にセットすると共に、全画素に対する更新終了フラグRepFlag（i, j）の値を全て０にセットする。次に、ステップS4002において、高解像度画像HR(n)の全画素の処理が終了したかどうか判定し、全画素の処理が終了したと判定された場合にはステップS4006に進み、終了していないと判定された場合にはステップS4003に進む。ステップS4003では、HR(n)の画素（i, j）において、画素値の更新を終了するかどうかを示す更新終了フラグRepFlag（i, j）が１であるかどうか判定し、１であればステップS4005に進み、０であればステップS4004に進む。ステップS4004では、HR(n)の画素（i, j）の画素値を用いて、評価関数I（式１）の勾配I'（式２）の値を更新し、ステップS4005に進む。ステップS4005では、（i, j）を更新し、ステップS4002に戻る。
【００８０】
続いて、求めた勾配I'に基づいて高解像度画像の画素値を更新する。まず、ステップS4006において、i、jを共に０にセットする。次に、ステップS4007において、高解像度画像HR(n)の全画素の処理が終了したかどうか判定し、終了したと判定された場合には、HR(n)についての画素値の更新処理を終了する。終了していないと判定されれば、ステップS4008に進み、HR(n)の画素（i, j）における更新終了フラグRepFlag（i, j）が１であるかどうか判定し、１であればステップS4012に進み、０であればステップS4009に進む。ステップS4009では、勾配I'に基づいて画素（i, j）の画素値を更新して、更新後の画素値HR(n+1).(i, j)を取得した後にステップS4010に進む。ステップS4010では、更新後の画素値HR(n+1).(i, j)と更新前の画素値HR(n).(i, j)との差分の絶対値が、画素値の更新を終了するかどうかを示す閾値REP_STOPよりも大きいかどうか判定し、閾値REP_STOPよりも大きければステップS4012に進み、閾値REP_STOP以下であればステップS4011に進む。ここで、閾値REP_STOPの値は予め定めた値であるとする。ステップS4011では、更新終了フラグRepFlag（i, j）を１にセットしてステップS4012に進む。最後に、ステップS4012において（i, j）を更新し、ステップS4007に戻る。
【００８１】
なお、上記では、評価関数I（式１）の勾配I'（式２）の計算が全画素について終了した後に、画素値の更新を行っているが、高解像度画像HR(n)の画素（i, j）に影響を及ぼす画素について勾配I'の計算が終了した時点で、高解像度画像HR(n)の画素（i, j）の画素値を更新してもよい。高解像度画像HR(n)の画素（i, j）に影響を及ぼす画素は、（式１）において、撮像モデルを示すカーネルb_vec(i)のサイズにより決定される。例えば、カーネルb_vec(i)のサイズが７×７であれば、（i, j）の周辺７×７画素について勾配I'の更新が終了すれば、高解像度画像HR(n)の画素（i, j）の画素値を更新できる。このように、順次画素値を更新することで、勾配I'の計算処理と画素値の更新処理とを並列化できる。
【００８２】
図２０は、本実施の形態の画像処理方法の効果を説明する図である。図２０の（a）と（b）は、それぞれ図８の（a）と（b）に対応する。図８（a）に示すように、従来の方法では、反復回数に関わらず、高解像度画像の全画素について画素値を更新していた。しかしながら、本実施の形態の方法では、図２０（a）に示すように、反復毎に、画素値の更新が必要な画素を決定するため、反復回数の増加に伴い、画素値を更新する画素が減少する。このため、従来の方法と比較すると、画素値の更新が不要な部分（図２０（a）における白塗りの領域）についての画素値の更新に係る演算が削減できる。
【００８３】
以下に、本実施の形態の変形例について述べる。
ステップS4010において、画素値の更新を終了するかどうかを示す閾値REP_STOPは予め定めた固定値としたが、例えば以下の１から３のように動的に設定してもよい。
【００８４】
１．M回目（Mは１以上の整数）の反復処理において、高解像度画像の画素において画素値が更新される画素の割合が所定値付近となるように閾値REP_STOPを設定する。例えば、２回目の反復処理において更新される画素の割合が８０％以下となるように設定する。閾値の設定は、反復処理内では固定としてもよいし、反復処理のループ毎に切り替えてもよい。また、同一シーン内では同一の閾値を用いて、シーンの切替わりに応じて閾値を再設定してもよい。さらに、高解像度画像内で高周波成分の多い領域においては、前記所定の割合を高めに設定するなど、画像の性質に応じて設定方法を切り替えてもよい。このように、画素値を更新する画素の割合を制限することにより、演算量が効果的に削減できる。
【００８５】
２．再構成画像の画質に応じて切り替える。例えば、高画質モードと標準画質モードがある場合に、高画質モードにおいては低画質よりも閾値REP_STOPの値を小さくする。
【００８６】
３．画像の性質に応じて切り替える。例えば、高周波成分の多い画像においては、高周波成分の少ない画像よりも閾値REP_STOPの値を小さくする。なお、切り替えの単位は、画像毎、あるいは画像内の領域毎のどちらでもよい。
【００８７】
また、ステップS3062では、評価関数の勾配I'の２次のノルムが所定の閾値εよりも小さければ反復を終了するとしたが、更新後の高解像度画像HR(n)と更新前の高解像度画像HR(n-1)との差分値、すなわち更新量の変化量に基づいて反復を終了するかどうか判定してもよい。ここで、最低１回は反復処理を実行するものとするため、nは１以上となる。図１１は、更新量の変化量に基づいて判定する動作例を示すフローチャートである。まず、ステップS5001において、変数i、j、DIFF、SUMを全て０にセットする。ステップS5002では、高解像度画像HR(n)の全画素の処理が終了したかどうか判定し、終了したと判定した場合にはステップS5006に進み、終了していないと判定した場合にはステップS5003に進む。ステップS5003では、高解像度画像HR(n)の画素（i, j）における更新終了フラグRepFlag（i, j）が１であるかどうか判定し、更新終了フラグRepFlag（i, j）が１であればステップS5005に進み、更新終了フラグRepFlag(i, j)が０であればステップS5004に進む。続いて、ステップS5004では、変数DIFFに、更新後の高解像度画像の画素値HR(n).（i, j）と更新前の高解像度画像の画素値HR(n-1).（i, j）の差分値の絶対値を加算し、変数SUMに更新前の高解像度画像の画素値HR(n-1).（i, j）を加算して、ステップS5005に進む。ステップS5005では、（i, j）を更新してステップS5002に戻る。次に、ステップS5006において、DIFFをSUMで割った結果が閾値REP_THRよりも大きいかどうか判定し、閾値REP_THRよりも大きければステップS5008に進み、ピクチャ単位の反復処理を続けると決定し、閾値REP_THR以下であればステップS5007に進み、ピクチャ単位の反復処理を終了すると決定する。ここで、閾値REP_THRは予め定めた値であるとする。なお、本方法では、変数DIFFを変数SUMで割った結果と閾値REP_THRを比較することにより、更新前の高解像度画像の画素値HR(n-1).（i, j）に対する画素値の更新量の割合が一定値以下となった場合に反復処理を打ち切ったが、変数DIFFの値が所定の閾値以下となった場合に反復処理を打ち切ってもよい。こうすることで、更新前の高解像度画像の画素値HR(n-1).（i, j）に依存せずに、反復の終了判定を行える。
【００８８】
なお、図２１の方法では、変数DIFFおよび変数SUMの計算において、更新終了フラグRepFlag（i, j）が０である画素のみを使用したが、RepFlag（i, j）が１である画素の情報を反映してもよい。このとき、RepFlag（i, j）が０である画素に対して、勾配I'の誤差項に関連する部分を計算すると演算量が増加するため、これらの画素については、RepFlag（i, j）が１になる直前の画素値、および画素値の更新量を使用できる。本方法は、ステップS3063における勾配I'の更新時にも適用できる。
【００８９】
また、（式１）および（式２）は、位置合わせ後の全ての画素について誤差項を計算しているが、高解像度画像の画素間を区切ったグリッド単位で計算してもよい。このとき、各グリッド内に位置合わせされた低解像度画像の画素値の平均値などを、当該グリッドの画素値の代表値とする。更に、グリッドの中心などをグリッドの画素位置の代表値として、画素値の代表位置に対応するb_vec(i)のカーネルを高解像度画像の画素値のベクトルh_vec(i)に作用させた結果と、画素値の代表値との差分値から、誤差項の各要素を計算する。
【００９０】
また、画素値の更新が必要かどうかを示す更新フラグRepFlagの情報は、画素単位ではなく、ブロック単位、あるいはオブジェクト単位で保持してもよい。このとき、当該領域内で画素値の更新が必要かどうかは、領域内の画素値におけるDIFF/SUM（変数DIFFを変数SUMで割った値）の総和、あるいは、DIFFの総和などから判別する。このように、領域毎に更新情報を保持することで、更新情報の保持に必要なメモリ量を削減できる。
【００９１】
また、反復処理に用いるMAP法とは異なる方式であってもよい。つまり、評価関数は（式１）の形式に限られるものではない。例えば、ML（Maximum Likelihood）法であってもよく、この場合の評価関数としては、（式１）の誤差項のみを利用する。あるいは、（式１）の誤差項に対して重み付けをしてもよい。
【００９２】
以上のように、本実施の形態の画像処理方法では、画素単位で反復処理を終了するかどうかを判定するステップS3063を備えたことにより、画素値が収束したとみなせる画素については画素値の更新を順次終了できるため、再構成画像の画質を低下させることなく反復処理に係る処理量を削減できる。
【００９３】
以下に、実施の形態１および実施の形態２に関する変形例について述べる。
まず、実施の形態１および実施の形態２において、低解像度画像と高解像度画像の解像度は同一であってもよい。このとき、拡大率は１倍となり解像度は向上しないが、再構成処理により高周波成分が復元し、画質が向上する。
【００９４】
また、実施の形態１の動き推定および位置合わせ方法と、実施の形態２の反復処理方法とを組み合わせて使用してもよい。
【００９５】
また、実施の形態１および実施の形態２においては、超解像の対象ピクチャの画素を補間して高解像度画像の初期画像を生成したが、参照ピクチャを位置合わせした後に、位置合わせ後の画素を補間して高解像度画像の初期画像を生成してもよい。位置合わせの精度が高ければ、位置合わせ後の画素を使用することで、より元の高解像度画像に近い画像を初期値とできるため、反復回数が削減できる。
【００９６】
また、適用先は動画像に限定されず、例えば、同一の被写体を複数の位置から撮影した際の（マルチビュー）、各撮影位置における静止画像を利用した超解像が可能である。なお、動画像でない場合には、上記の説明における動き量は各画像間の位置ずれ量に、動き推定は位置ずれ量の推定に対応する。
【００９７】
（実施の形態３）
さらに、上記各実施の形態で示した画像処理方法を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【００９８】
図２２Ａ〜図２２Ｃは、上記各実施の形態の画像処理方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
【００９９】
図２２Ｂ は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図２２Ａは、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクＦＤはケースＦ内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成され、各トラックは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクＦＤ上に割り当てられた領域に、上記プログラムが記録されている。
【０１００】
また、図２２Ｃは、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。画像処理方法を実現する上記プログラムをフレキシブルディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムをフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより画像処理方法を実現する上記画像処理方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
【０１０１】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【０１０２】
以上、本発明に係る画像処理装置および画像処理方法について、上記各実施の形態に基づいて説明したが、本発明は、これら実施の形態に限定されるものではない。本発明の主旨を逸脱しない範囲内で、当業者が思いつく変形を本実施の形態に施したものも、本発明に含まれる。
【０１０３】
例えば、本実施の形態における画像処理装置を備える光ディスク記録装置、動画像送信装置、デジタルテレビ放送送出装置、Ｗｅｂサーバ、通信装置、携帯情報端末等や、本実施の形態における画像処理装置を備える動画像受信装置、動画像記録装置、静止画記録装置、デジタルテレビ放送受信装置、通信装置、携帯情報端末等も、本発明に含まれるのは言うまでもない。ここで、動画像記録装置とはカムコーダやＷｅｂなどを含み、静止画記録装置とはデジタルスチルカメラなどを含む。
【０１０４】
なお、ブロック図（図９、図１６及び図１７など）の各機能ブロックは典型的には集積回路であるＬＳＩ（Large Scale Integration）として実現される。これらは個別に１チ
ップ化されても良いし、一部又は全てを含むように１チップ化されても良い。例えばメモリ以外の機能ブロック（図９、図１６においては、図中の破線で囲まれた部分）が１チップ化されていても良い。
【０１０５】
ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ（Integrated Circuit）、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１０６】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【０１０７】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【０１０８】
また、各機能ブロックのうち、画像処理の対象となるデータを格納する手段だけ１チップ化せずに別構成としても良い。
【産業上の利用可能性】
【０１０９】
本発明によれば、超解像処理により高画質な高解像度画像を得るための演算量を削減できるため、低解像度で記録した動画像を超解像処理により高解像度化して再生することが容易になるなど、その有効性は高い。
【図面の簡単な説明】
【０１１０】
【図１Ａ】超解像の対象ピクチャと時間的に連続する前後の複数の参照ピクチャとを示す説明図である。
【図１Ｂ】超解像の対象ピクチャの画素、参照ピクチャの画素、高解像度画像の画素を示し説明図である。
【図２】従来の再構成型の超解像を行う画像処理装置のブロック図である。
【図３】従来の再構成型の超解像を行う画像処理装置における再構成部のブロック図である。
【図４】従来の再構成型の超解像の動作を示すフローチャートである。
【図５】従来の再構成型の超解像における動き推定処理の動作を示すフローチャートである。
【図６】従来の再構成型の超解像における反復処理の動作を示すフローチャートである。
【図７】従来の再構成型の超解像の動き推定処理の課題を示す図である。
【図８】従来の再構成型の超解像の反復処理の課題を示す図である。
【図９】実施の形態１の画像処理装置の構成を示すブロック図である。
【図１０】実施の形態１の画像処理装置の動作を示すフローチャートである。
【図１１】実施の形態１の画像処理装置における動き推定処理の動作を示すフローチャートである。
【図１２Ａ】実施の形態１の画像処理装置における高解像度画像の画素を示す図である。
【図１２Ｂ】実施の形態１の画像処理装置における高解像度画像のグリッドを示す図である。
【図１２Ｃ】実施の形態１の画像処理装置における終了条件を満たす一例示す図である。
【図１２Ｄ】実施の形態１の画像処理装置における終了条件を満たさない一例を示す図である。
【図１３】実施の形態１の画像処理装置における参照画像の入力動作を示すフローチャートである。
【図１４】実施の形態１の画像処理装置の効果を説明する図である。
【図１５】実施の形態１の画像処理装置における参照画像の決定動作を示すフローチャートである。
【図１６】実施の形態２の画像処理装置の構成を示すブロック図である。
【図１７】実施の形態２の画像処理装置における再構成部の構成を示すブロック図である。
【図１８】実施の形態２の画像処理装置における反復処理の動作を示すフローチャートである。
【図１９】実施の形態２の画像処理装置において画素単位の更新終了を判定する動作を示すフローチャートである。
【図２０】実施の形態２の画像処理装置の効果を説明する図である。
【図２１】実施の形態２の画像処理装置においてピクチャ単位の更新終了を判定する動作を示すフローチャートである。
【図２２Ａ】記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示す図である。
【図２２Ｂ】フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示す図である。
【図２２Ｃ】フレキシブルディスクＦＤに上記プログラムの記録再生を行う装置の構成を示す図である。
【符号の説明】
【０１１１】
１００、２００  画像処理装置
１０１  画像入力部
１０２  動き推定部
１０３  位置合わせ部
１０４  参照画像決定部
１０５  初期画像決定部
１０６、２０６  再構成部
１１０  メモリ
１１４  画素位置情報
１１５  推定指示
２１１  更新演算部
２１２  ピクチャ単位更新判定部
２１３  ピクセル単位更新判定部
【図１Ａ】
0004837615.tif 000004
【図１Ｂ】
0004837615.tif 000005
【図２】
0004837615.tif 000006
【図３】
0004837615.tif 000007
【図４】
0004837615.tif 000008
【図５】
0004837615.tif 000009
【図６】
0004837615.tif 000010
【図７】
0004837615.tif 000011
【図８】
0004837615.tif 000012
【図９】
0004837615.tif 000013
【図１０】
0004837615.tif 000014
【図１１】
0004837615.tif 000015
【図１２Ａ】
0004837615.tif 000016
【図１２Ｂ】
0004837615.tif 000017
【図１２Ｃ】
0004837615.tif 000018
【図１２Ｄ】
0004837615.tif 000019
【図１３】
0004837615.tif 000020
【図１４】
0004837615.tif 000021
【図１５】
0004837615.tif 000022
【図１６】
0004837615.tif 000023
【図１７】
0004837615.tif 000024
【図１８】
0004837615.tif 000025
【図１９】
0004837615.tif 000026
【図２０】
0004837615.tif 000027
【図２１】
0004837615.tif 000028
【図２２Ａ】
0004837615.tif 000029
【図２２Ｂ】
0004837615.tif 000030
【図２２Ｃ】
0004837615.tif 000031