(57)【要約】【課題】超解像処理により品質の高い高解像度画像を生成する装置および方法を提供する。【解決手段】入力画像の解像度を高めた高解像度画像を生成する画像処理装置において、低解像度画像と高解像度画像を入力して両画像の差分を表す差分画像を生成し、差分画像と高解像度画像との加算処理を行う。超解像処理実行部は、低解像度画像と高解像度画像に共通に含まれるオブジェクトの画像間動きを示すオブジェクト対応動きベクトルをオブジェクト単位で検出して、検出したオブジェクト対応動きベクトルを各オブジェクト領域に適用して生成した動き補償画像を利用して差分画像の生成処理を行う。本構成によれば、オブジェクト固有の動きをオブジェクト領域単位で反映させることが可能となり、精度の高い高解像度画像の生成処理が実現される。【選択図】図１０
2010122934.tif 000002
【特許請求の範囲】
【請求項１】
低解像度画像と高解像度画像を入力して両画像の差分を表す差分画像を生成する超解像処理実行部と、
前記差分画像と前記高解像度画像との加算処理を行う加算処理部を有し、
前記超解像処理実行部は、
前記低解像度画像と前記高解像度画像に共通に含まれるオブジェクトの画像間動きを示すオブジェクト対応動きベクトルをオブジェクト単位で検出する動きベクトル検出部を有し、検出したオブジェクト対応動きベクトルを各オブジェクト領域に適用して生成した動き補償画像を利用して前記差分画像の生成処理を行う構成である画像処理装置。
【請求項２】
前記超解像度処理実行部は、複数の異なる低解像度画像と前記高解像度画像との差分を表す差分画像を生成する複数の超解像処理実行部によって構成され、
前記加算処理部は、
前記複数の超解像度処理実行部の出力する複数の差分画像を合算する合算処理部の出力と前記高解像度画像との加算処理を行う構成である請求項１に記載の画像処理装置。
【請求項３】
前記超解像処理実行部は、さらに、
前記高解像度画像に含まれるオブジェクトを検出し、高解像度画像の構成画素各々の所属オブジェクトを識別するラベルを含むオブジェクト領域情報を生成するオブジェクト検出部を有し、
前記動きベクトル検出部は、
前記オブジェクト検出部の生成したオブジェクト領域情報を適用してオブジェクト単位のオブジェクト対応動きベクトルを検出する処理を実行する構成である請求項１または２に記載の画像処理装置。
【請求項４】
前記超解像処理実行部は、
前記高解像度画像から超解像処理を実行する領域の指定情報を入力するための領域指定ＧＵＩを有し、
前記動きベクトル検出部は、
前記領域指定ＧＵＩを介して指定された領域指定情報を適用してオブジェクト単位のオブジェクト対応動きベクトルを検出する処理を実行する構成である請求項１または２に記載の画像処理装置。
【請求項５】
前記動きベクトル検出部は、
前記低解像度画像と前記高解像度画像に共通に含まれるオブジェクトの画像間動きを示すオブジェクト対応動きベクトルをオブジェクト単位で算出するオブジェクト対応動きベクトル算出部と、
前記オブジェクト対応動きベクトル算出部の算出したオブジェクト対応動きベクトルを調整するオブジェクト対応動きベクトル調整部を有し、
前記オブジェクト対応動きベクトル調整部は、
前記オブジェクト対応動きベクトル算出部の算出したオブジェクト対応動きベクトルの構成パラメータを変更して、変更オブジェクト対応動きベクトルを生成し、変更オブジェクト対応動きベクトルを適用した動き補償画像と、前記低解像度画像の差分に基づくコスト算出により、低コストの変更オブジェクト対応動きベクトルを生成して、前記差分画像の生成に適用するベクトルとして出力する構成である請求項１または２に記載の画像処理装置。
【請求項６】
前記画像処理装置は、さらに、
前記超解像処理実行部の生成したオブジェクト対応動きベクトルの精度を検査するオブジェクト対応動きベクトル検査部を有し、
前記オブジェクト対応動きベクトル検査部は、
前記高解像度画像に対して前記超解像処理実行部の生成したオブジェクト対応動きベクトルを適用した動き補償画像と、前記低解像度画像の差分に基づくコスト算出を実行し、予め設定した閾値以下のコストが算出された場合に、前記オブジェクト対応動きベクトルが許容精度を有すると判定して、該判定に基づいて前記加算処理部における加算処理対象として出力する制御を行う構成である請求項１または２に記載の画像処理装置。
【請求項７】
前記超解像処理実行部は、
前記オブジェクト対応動きベクトルを各オブジェクト領域に適用して生成した動き補償画像を利用して前記差分画像の生成処理を行い、前記差分画像内にオブジェクトの移動により生じたオクルージョン領域が存在する場合は、該オクルージョン領域に画素値０を設定した差分画像の生成を行なう構成である請求項１または２に記載の画像処理装置。
【請求項８】
画像処理装置において高解像度画像生成処理を実行する画像処理方法であり、
超解像処理実行部が、低解像度画像と高解像度画像を入力して両画像の差分を表す差分画像を生成する超解像処理実行ステップと、
加算処理部が、前記差分画像と前記高解像度画像との加算処理を行う加算処理ステップを有し、
前記超解像処理実行ステップは、
前記低解像度画像と前記高解像度画像に共通に含まれるオブジェクトの画像間動きを示すオブジェクト対応動きベクトルをオブジェクト単位で検出し、検出したオブジェクト対応動きベクトルを各オブジェクト領域に適用して生成した動き補償画像を利用して前記差分画像の生成処理を行うステップである画像処理方法。
【請求項９】
画像処理装置において高解像度画像生成処理を実行させるプログラムであり、
超解像処理実行部に、低解像度画像と高解像度画像を入力して両画像の差分を表す差分画像を生成させる超解像処理実行ステップと、
加算処理部に、前記差分画像と前記高解像度画像との加算処理を行わせる加算処理ステップを有し、
前記超解像処理実行ステップは、
前記低解像度画像と前記高解像度画像に共通に含まれるオブジェクトの画像間動きを示すオブジェクト対応動きベクトルをオブジェクト単位で検出させるステップと、
検出したオブジェクト対応動きベクトルを各オブジェクト領域に適用して生成した動き補償画像を利用して前記差分画像の生成処理を行わせるステップを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、および画像処理方法、並びにプログラムに関する。特に、画像の解像度を高める超解像処理を実行する画像処理装置、および画像処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
低解像度の画像から高解像度の画像を生成する手法として超解像処理が知られている。超解像処理は、重なりを持つ複数の低解像度の画像から、１フレームの高解像度の画像を構成する画素の画素値を求める処理である。
【０００３】
超解像処理により、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などの撮像素子によって撮影された画像から、撮像素子が有する解像度以上の高解像度画像を作成することが可能となる。具体的には、例えば高解像度の衛星写真を生成する場合などに超解像が用いられる。なお、超解像処理については例えば非特許文献１に記載されている。
【０００４】
図１および図２を参照して超解像処理の原理について説明する。図１（１），（２）の上部に示される記号：ａ，ｂ，ｃ，ｄ，ｅ，ｆは、ある被写体を撮像して得られた低解像度の画像（ＬＲ（Ｌｏｗ  Ｒｅｓｏｌｕｔｉｏｎ）画像）から求めようとする高解像度の画像（ＳＲ（Ｓｕｐｅｒ  Ｒｅｓｏｌｕｔｉｏｎ）画像）の画素値である。すなわち、ＳＲ画像の解像度と同じ解像度で被写体を画素化したときのそれぞれの画素の画素値を表す。
【０００５】
例えば、撮像素子の１つの画素の幅が、被写体を構成する画素の２つ分の幅だけあり、被写体を、その解像度のまま取り込むことができない場合、図１（１）に示すように撮像素子の３つの画素のうちの左側の画素においてはａとｂの画素値を混合したＡの画素値が取り込まれる。また、中央の画素においてはｃとｄの画素値を混合したＢの画素値が取り込まれる。また、右側の画素においてはｅとｆの画素値を混合したＣの画素値が取り込まれる。Ａ，Ｂ，Ｃは、撮像して得られたＬＲ画像を構成する画素の画素値を表す。
【０００６】
シフト操作あるいは手ぶれなどにより、図１（１）の被写体とともに、図１（１）の被写体の位置を基準として、被写体を構成する画素の０．５画素分の幅だけシフトさせた位置の被写体が図１（２）に示されるようにして取り込まれる。この場合（シフトさせながら取り込まれた場合）、撮像素子の３つの画素のうちの左側の画素においてはａの半分とｂの全体とｃの半分の画素値を混合したＤの画素値が取り込まれ、中央の画素においてはｃの半分とｄの全体とｅの半分の画素値を混合したＥの画素値が取り込まれる。また、右側の画素においてはｅの半分とｆの全体の画素値を混合したＦの画素値が取り込まれる。Ｄ，Ｅ，Ｆも、撮像して得られたＬＲ画像を構成する画素の画素値を表す。
【０００７】
このようなＬＲ画像の撮像結果から下式（式１）が求められる。（式１）からａ，ｂ，ｃ，ｄ，ｅ，ｆをそれぞれ求めることによって、撮像素子が有する解像度より高い解像度の画像を得ることが可能になる。
【０００８】
【数１】
2010122934.tif 000003
・・・（式１）
【０００９】
従来から知られる超解像処理の一方式であるバックプロジェクション（Ｂａｃｋ  Ｐｒｏｊｅｃｔｉｏｎ）による超解像処理について図２を参照して説明する。図２に示す超解像処理部１は例えばデジタルカメラに設けられ、撮像して得られた静止画の処理を行う。
【００１０】
図２に示されるように、超解像処理部１は、超解像処理実行部１１ａ〜１１ｃ、合算処理部１２、加算処理部１３、およびＳＲ画像バッファ１４から構成される。例えば撮像して得られた低解像度のＬＲ画像であるＬＲ０は超解像処理実行部１１ａに入力され、ＬＲ１は超解像処理実行部１１ｂに入力される。また、ＬＲ２は超解像処理実行部１１ｃに入力される。ＬＲ０〜ＬＲ２は連続して撮像された画像であり、それぞれ撮像範囲に重なりを有している。連続して撮像が行われた場合、通常、撮像結果の画像に写る被写体の範囲はそれぞれ手ぶれなどにより若干ずれたものとなり、完全に一致せずに重なりを一部に有するものとなる。
【００１１】
超解像処理実行部１１ａは、低解像度画像ＬＲ０と、ＳＲ画像バッファ１４に記憶されている高解像度画像ＳＲ画像に基づいて、それらの差分を表す差分画像を生成し、フィードバック値を合算処理部１２に出力する。フィードバック値は、ＳＲ画像と同じ解像度の差分画像を表す値になっている。
【００１２】
なお、ＳＲ画像バッファ１４には、直前に行われた超解像処理によって生成された高解像度画像であるＳＲ画像が記憶されている。処理の開始直後であり、ＳＲ画像がまだ１フレームも生成されていない場合、例えば、ＬＲ０を、ＳＲ画像と同じ解像度の画像にアップサンプリングして得られた画像がＳＲ画像バッファ１４に記憶される。
【００１３】
同様に、超解像処理実行部１１ｂは、次のフレームの低解像度画像ＬＲ１とＳＲ画像バッファ１４に記憶されている高解像度画像ＳＲ画像に基づいて、それらの差分を表す差分画像を生成し、生成した差分画像を表すフィードバック値を合算処理部１２に出力する。
【００１４】
さらに、超解像処理実行部１１ｃは、次の低解像度画像ＬＲ２とＳＲ画像バッファ１４に記憶されている高解像度画像ＳＲ画像に基づいて、それらの差分を表す差分画像を生成し、生成した差分画像を表すフィードバック値を合算処理部１２に出力する。
【００１５】
合算処理部１２は、超解像処理実行部１１ａ〜１１ｃから供給されたフィードバック値を平均化し、平均化して求められたＳＲ画像と同じ解像度の画像を加算処理部１３に出力する。加算処理部１３は、ＳＲ画像バッファ１４に記憶されているＳＲ画像と合算処理部１２から供給されたＳＲ画像を加算し、加算して得られたＳＲ画像を出力する。加算処理部１３の出力は、超解像処理の結果として画像処理装置１の外部に供給されるとともに、ＳＲ画像バッファ１４に供給され、記憶される。
【００１６】
図３は、超解像処理実行部１１ａ〜ｃの構成例を示すブロック図である。図３に示されるように、超解像処理実行部１１は、動きベクトル検出部２１、動き補償処理部２２、ダウンサンプリング処理部２３、加算処理部２４、アップサンプリング処理部２５、逆方向動き補償処理部２６から構成される。
【００１７】
ＳＲ画像バッファ１４から読み出された高解像度画像ＳＲ画像は動きベクトル検出部２１と動き補償処理部２２に入力され、撮像して得られた低解像度画像ＬＲｎは動きベクトル検出部２１と加算処理部２４に入力される。
【００１８】
動きベクトル検出部２１は、入力された高解像度画像であるＳＲ画像と低解像度画像であるＬＲｎに基づいて、ＳＲ画像を基準とした動きベクトル（ＭＶ：Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）を検出し、検出した動きベクトル（ＭＶ）を動き補償処理部２２と逆方向動き補償処理部２６に出力する。例えば過去の撮影画像に基づいて生成されたＳＲ画像と、新規入力したＬＲｎ画像のブロックマッチングにより、ＳＲ画像の各ブロックが新規入力したＬＲｎ画像において移動した先を示すベクトルを生成する。
【００１９】
動き補償処理部２２は、動きベクトル検出部２１から供給された動きベクトルに基づいて高解像度画像ＳＲ画像に動き補償を施して動き補償（ＭＣ：Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）画像を生成し、生成した動き補償画像（ＭＣ画）をダウンサンプリング処理部２３に出力する。動き補償処理は、動きベクトルに応じて、ＳＲ画像の画素位置を動かして、新規入力したＬＲｎ画像に対応する位置を持つ補正したＳＲ画像を生成する処理である。すなわちＳＲ画像の画素位置を動かして、ＳＲ画像に写るオブジェクトの位置をＬＲｎに写るオブジェクトの位置に併せた動き補償画像（ＭＣ画）を生成する。
【００２０】
ダウンサンプリング処理部２３は、動き補償処理部２２から供給された画像をダウンサンプリングすることによってＬＲｎと同じ解像度の画像を生成し、生成した画像を加算処理部２４に出力する。ＳＲ画像とＬＲｎから動きベクトルを求め、求めた動きベクトルによって動き補償して得られた画像をＬＲ画像と同じ解像度の画像にすることは、撮像して得られる画像を、ＳＲ画像バッファ１４に記憶されているＳＲ画像に基づいてシミュレートすることに相当する。
【００２１】
加算処理部２４は、ＬＲｎと、そのようにしてシミュレートされた画像の差分を表す差分画像を生成し、生成した差分画像をアップサンプリング処理部２５に出力する。
【００２２】
アップサンプリング処理部２５は、加算処理部２４から供給された差分画像をアップサンプリングすることによってＳＲ画像と同じ解像度の画像を生成し、生成した画像を逆方向動き補償処理部２６に出力する。逆方向動き補償処理部２６は、動きベクトル検出部２１から供給された動きベクトルに基づいて、アップサンプリング処理部２５から供給された画像に逆方向の動き補償を施し、逆方向の動き補償を施して得られた画像を表すフィードバック値を、図２に示す合算処理部１２に出力する。逆方向の動き補償を施して得られた画像に写るオブジェクトの位置は、ＳＲ画像バッファ１４に記憶されているＳＲ画像に写るオブジェクトの位置に近い位置になる。
【００２３】
このような超解像処理を実行する画像処理装置の全体構成例を図４に示す。ＣＣＤやＣＭＯＳなどの撮像部３１において取得された画像は、画質調整部３２において、コントラスト調整やアパコン（エッジ強調）などの画質調整の後、画像圧縮部３３においてＭＰＥＧ圧縮などの予め設定された圧縮アルゴリズムに従って圧縮されてＤＶＤやテープ、フラッシュメモリなどの記録メディア３４に記録される。
【００２４】
記録メディア３４に記録された画像を復号し、再生する際に超解像処理が実行される。記録メディア３４に記録された画像は画像復号部３５において、復号処理が実行され、その後、超解像処理部３６において、図１〜図３を参照して説明した超解像処理が実行され、高解像度の画像が生成されて表示部３７において表示される。
【００２５】
なお、この超解像処理による画像出力は、動画像に限らず静止画でも可能である。動画像の場合は、複数のフレーム画像を用い、静止画の場合は、連続撮影された静止画を用いる。連続撮影された静止画において手振れなどにより、撮影画像の領域は少しずつ、ずれが発生しており上述の図１〜図３を参照して説明した超解像処理により高解像度の画像を生成することが可能となる。
【００２６】
超解像処理においては、先に図３を参照して説明したように、動きベクトル検出部２１が入力された高解像度画像であるＳＲ画像と低解像度画像であるＬＲｎに基づいて、ＳＲ画像を基準とした動きベクトルを検出し、検出した動きベクトルを動き補償処理部２２と逆方向動き補償処理部２６に出力する。動き補償処理部２２と逆方向動き補償処理部２６は動きベクトル検出部２１から入力する動きベクトル（ＭＶ）を適用した処理を行うことになる。
【００２７】
動きベクトル検出部２１において実行する動きベクトル算出処理に際して考慮すべき動き成分について図５を参照して説明する。
【００２８】
図５に示すように、動きベクトル検出部２１では、２つの画像７１，７２を利用し、これらの２つの画像間の動きを解析して動きベクトルを求める。この動きベクトルの算出処理方法としては様々な方法が適用可能である。適用するベクトル算出方法に応じて例えば以下の異なる動きベクトルが算出される。
画像全体の動きに対応するカメラモーション対応の動きベクトル７５
画像内のオブジェクト（自動車）７３の画像間の動きであるオブジェクトモーション対応の動きベクトル７６
【００２９】
これらの２つの動きベクトル７５、動きベクトル７６は大きさも方向も異なるものとなる。従って、図３に示す動きベクトル検出部２１が動き補償処理部２２と逆方向動き補償処理部２６に出力する動きベクトルが動きベクトル７５である場合と、動きベクトル７６である場合とでは処理結果は異なるものとなる。
【００３０】
さらに図６を参照して具体的な処理例について説明する。図６には、動きベクトルの２つの算出処理例について示している。すなわち、
（１）ローカル動きベクトル（ＬＭＶ：Ｌｏｃａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）の算出処理例
（２）グローバル動きベクトル（ＧＭＶ：Ｇｌｏｖａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）の算出処理例
これら２つの動きベクトルの算出処理例である。
【００３１】
（１）ローカル動きベクトル（ＬＭＶ）の算出処理は、画面を小領域（ブロック）に分割して領域毎に動きを求めて領域単位の動きベクトルによって領域単位で処理を実行するものである。例えば図５に示すオブジェクトモーションは、このローカル動きベクトル（ＬＭＶ）の算出処理によって取得できる。
【００３２】
このローカル動きベクトル（ＬＭＶ）の算出処理の利点は、画面内のオブジェクトや、背景毎に個別の動きに対応した処理が可能となることである。
一方、欠点は、個々のブロックのローカル動きベクトル（ＬＭＶ）に対応する動き検出に用いる画像面積が小さいため、検出精度が悪くなることである。
このローカル動きベクトル（ＬＭＶ）を適用した超解像処理を行うと、動きベクトル（ＭＶ）の精度低下により、超解像の性能劣化が発生するという問題がある。
【００３３】
一方、（２）グローバル動きベクトル（ＧＭＶ）の算出処理は、１画像に対して画面全体の動きベクトル（カメラモーション）を１つのみ求める処理である。例えば図５に示すカメラモーションは、このグローバル動きベクトル（ＧＭＶ）の算出処理によって取得される。
【００３４】
グローバル動きベクトル（ＧＭＶ）の算出処理の利点は、画像内全体を利用するため、精度の高い動きベクトルを算出できる点である。
一方、欠点は、画像内のオブジェクト固有の動きであるオブジェクトモーションを検出できないこと。また、局所的な動きをしているオブジェクトに関しては、オブジェクト対応の動きベクトルを適用した処理がなされないため動き補償を実施できないということがある。
このようなグローバル動きベクトル（ＧＭＶ）を適用した超解像処理を行うと、局所的な動きを持つオブジェクトに関しては、超解像効果の効果が発生しないという問題がある。
【００３５】
このように、ローカル動きベクトル（ＬＭＶ）を適用した超解像処理、グローバル動きベクトル（ＧＭＶ）を適用した超解像処理のいずれにもそれぞれ欠点がある。
【００３６】
【非特許文献１】"Ｉｍｐｒｏｖｉｎｇ  Ｒｅｓｏｌｕｔｉｏｎ  ｂｙ  Ｉｍａｇｅ  Ｒｅｇｉｓｔｒａｔｉｏｎ"，ＭＩＣＨＡＬ  ＩＲＡＮＩ  ＡＮＤ  ＳＨＭＵＥＬ  ＰＥＬＥＧ，Ｄｅｐａｒｔｍｅｎｔ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，  Ｔｈｅ  Ｈｅｂｒｅｗ  Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ  Ｊｅｒｕｓａｌｅｍ，  ９１９０４  Ｊｅｒｕｓａｌｅｍ，  Ｉｓｒａｅｌ，  Ｃｏｍｍｕｎｉｃａｔｅｄ  ｂｙ  Ｒａｍａ  Ｃｈｅｌｌａｐａ，  Ｒｅｃｅｉｖｅｄ  Ｊｕｎｅ  １６，  １９９；  ａｃｃｅｐｔｅｄ  Ｍａｙ  ２５，  １９９０
【発明の開示】
【発明が解決しようとする課題】
【００３７】
本発明は、上記問題点に鑑みてなされたものであり、最適な動きベクトルの算出処理を行って動き補償および超解像処理を実行することで、高品質な高解像度画像を生成可能とした画像処理装置、および画像処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００３８】
本発明の第１の側面は、
低解像度画像と高解像度画像を入力して両画像の差分を表す差分画像を生成する超解像処理実行部と、
前記差分画像と前記高解像度画像との加算処理を行う加算処理部を有し、
前記超解像処理実行部は、
前記低解像度画像と前記高解像度画像に共通に含まれるオブジェクトの画像間動きを示すオブジェクト対応動きベクトルをオブジェクト単位で検出する動きベクトル検出部を有し、検出したオブジェクト対応動きベクトルを各オブジェクト領域に適用して生成した動き補償画像を利用して前記差分画像の生成処理を行う構成である画像処理装置にある。
【００３９】
さらに、本発明の画像処理装置の一実施態様において、前記超解像度処理実行部は、複数の異なる低解像度画像と前記高解像度画像との差分を表す差分画像を生成する複数の超解像処理実行部によって構成され、前記加算処理部は、前記複数の超解像度処理実行部の出力する複数の差分画像を合算する合算処理部の出力と前記高解像度画像との加算処理を行う構成である。
【００４０】
さらに、本発明の画像処理装置の一実施態様において、前記超解像処理実行部は、さらに、前記高解像度画像に含まれるオブジェクトを検出し、高解像度画像の構成画素各々の所属オブジェクトを識別するラベルを含むオブジェクト領域情報を生成するオブジェクト検出部を有し、前記動きベクトル検出部は、前記オブジェクト検出部の生成したオブジェクト領域情報を適用してオブジェクト単位のオブジェクト対応動きベクトルを検出する処理を実行する構成である。
【００４１】
さらに、本発明の画像処理装置の一実施態様において、前記超解像処理実行部は、前記高解像度画像から超解像処理を実行する領域の指定情報を入力するための領域指定ＧＵＩを有し、前記動きベクトル検出部は、前記領域指定ＧＵＩを介して指定された領域指定情報を適用してオブジェクト単位のオブジェクト対応動きベクトルを検出する処理を実行する構成である。
【００４２】
さらに、本発明の画像処理装置の一実施態様において、前記動きベクトル検出部は、前記低解像度画像と前記高解像度画像に共通に含まれるオブジェクトの画像間動きを示すオブジェクト対応動きベクトルをオブジェクト単位で算出するオブジェクト対応動きベクトル算出部と、前記オブジェクト対応動きベクトル算出部の算出したオブジェクト対応動きベクトルを調整するオブジェクト対応動きベクトル調整部を有し、前記オブジェクト対応動きベクトル調整部は、前記オブジェクト対応動きベクトル算出部の算出したオブジェクト対応動きベクトルの構成パラメータを変更して、変更オブジェクト対応動きベクトルを生成し、変更オブジェクト対応動きベクトルを適用した動き補償画像と、前記低解像度画像の差分に基づくコスト算出により、低コストの変更オブジェクト対応動きベクトルを生成して、前記差分画像の生成に適用するベクトルとして出力する構成である。
【００４３】
さらに、本発明の画像処理装置の一実施態様において、前記画像処理装置は、さらに、前記超解像処理実行部の生成したオブジェクト対応動きベクトルの精度を検査するオブジェクト対応動きベクトル検査部を有し、前記オブジェクト対応動きベクトル検査部は、前記高解像度画像に対して前記超解像処理実行部の生成したオブジェクト対応動きベクトルを適用した動き補償画像と、前記低解像度画像の差分に基づくコスト算出を実行し、予め設定した閾値以下のコストが算出された場合に、前記オブジェクト対応動きベクトルが許容精度を有すると判定して、該判定に基づいて前記加算処理部における加算処理対象として出力する制御を行う構成である。
【００４４】
さらに、本発明の画像処理装置の一実施態様において、前記超解像処理実行部は、前記オブジェクト対応動きベクトルを各オブジェクト領域に適用して生成した動き補償画像を利用して前記差分画像の生成処理を行い、前記差分画像内にオブジェクトの移動により生じたオクルージョン領域が存在する場合は、該オクルージョン領域に画素値０を設定した差分画像の生成を行なう構成である。
【００４５】
さらに、本発明の第２の側面は、
画像処理装置において高解像度画像生成処理を実行する画像処理方法であり、
超解像処理実行部が、低解像度画像と高解像度画像を入力して両画像の差分を表す差分画像を生成する超解像処理実行ステップと、
加算処理部が、前記差分画像と前記高解像度画像との加算処理を行う加算処理ステップを有し、
前記超解像処理実行ステップは、
前記低解像度画像と前記高解像度画像に共通に含まれるオブジェクトの画像間動きを示すオブジェクト対応動きベクトルをオブジェクト単位で検出し、検出したオブジェクト対応動きベクトルを各オブジェクト領域に適用して生成した動き補償画像を利用して前記差分画像の生成処理を行うステップである画像処理方法にある。
【００４６】
さらに、本発明の第３の側面は、
画像処理装置において高解像度画像生成処理を実行させるプログラムであり、
超解像処理実行部に、低解像度画像と高解像度画像を入力して両画像の差分を表す差分画像を生成させる超解像処理実行ステップと、
加算処理部に、前記差分画像と前記高解像度画像との加算処理を行わせる加算処理ステップを有し、
前記超解像処理実行ステップは、
前記低解像度画像と前記高解像度画像に共通に含まれるオブジェクトの画像間動きを示すオブジェクト対応動きベクトルをオブジェクト単位で検出させるステップと、
検出したオブジェクト対応動きベクトルを各オブジェクト領域に適用して生成した動き補償画像を利用して前記差分画像の生成処理を行わせるステップを含むプログラムにある。
【００４７】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００４８】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００４９】
本発明の一実施例の構成によれば、入力画像の解像度を高めた高解像度画像を生成する画像処理装置において、低解像度画像と高解像度画像を入力して両画像の差分を表す差分画像を生成し、差分画像と高解像度画像との加算処理を行う。超解像処理実行部は、低解像度画像と高解像度画像に共通に含まれるオブジェクトの画像間動きを示すオブジェクト対応動きベクトルをオブジェクト単位で検出して、検出したオブジェクト対応動きベクトルを各オブジェクト領域に適用して生成した動き補償画像を利用して差分画像の生成処理を行う。本構成によれば、オブジェクト固有の動きをオブジェクト領域単位で反映させることが可能となり、精度の高い高解像度画像の生成処理が実現される。
【発明を実施するための最良の形態】
【００５０】
以下、図面を参照しながら本発明の画像処理装置、および画像処理方法、並びにプログラムの詳細について説明する。以下、下記の項目に従って、順次説明する。
（１）画像処理装置の構成例
（２）超解像処理部の構成および処理例（実施例１）
（３）オブジェクト対応動きベクトル（ＯＭＶ）調整部を有する実施例（実施例２）
（４）ユーザによる超解像処理対象領域の指定を可能とした実施例（実施例３）
（５）画像処理装置のハードウェア構成例
【００５１】
（１）画像処理装置の構成例
本発明の画像処理装置は、画像データに対して超解像処理を施して高解像度画像を生成する構成を有する。なお、処理画像は、動画像、静止画いずれでもよい。
【００５２】
図７、図８を参照して本発明の画像処理装置の構成例について説明する。
図７に示す画像処理装置は、例えばビデオカメラやスチルカメラによって構成される画像処理装置１００である。ＣＣＤやＣＭＯＳなどの撮像部１０１において取得された画像は、画質調整部１０２において、コントラスト調整やアパコン（エッジ強調）などの画質調整がなされる。その後、画像圧縮部１０３においてＭＰＥＧ圧縮などの予め設定された圧縮アルゴリズムに従って圧縮されてＤＶＤやテープ、フラッシュメモリなどの記録メディア１０４に記録される。
【００５３】
記録メディア１０４に記録された画像を復号し、再生する際に超解像処理が実行される。記録メディア１０４に記録された画像は画像復号部１０５において、復号処理が実行される。その復号画像が超解像処理部１０６に入力され、超解像処理部１０６において超解像処理が実行され、高解像度の画像が生成される。生成した高解像度の画像が表示部１０７に表示される。なお、表示部１０７は、ディスプレイ、プリンタを含む。また、超解像処理部１０６において超解像処理が実行され生成された高解像度の画像を記録メディア１０４に格納する構成としてもよい。
【００５４】
図７に示す画像処理装置１００は、例えばビデオカメラやスチルカメラに対応する構成であるが、例えばデジタル放送などの放送画像データについても、受信器側で受信画像に対して超解像処理を実行して、高解像度の画像を生成して出力することが可能である。例えば、図８に示す例は、低解像度の画像を送信するデータ送信装置１１０と、データ送信装置１１０からのデータを受信して超解像処理を実行して高解像度画像を生成して表示する画像処理装置１２０の構成を示している。
【００５５】
データ送信装置１１０では、ＣＣＤやＣＭＯＳなどの撮像部１１１において取得された画像を、画質調整部１１２においてコントラスト調整やアパコン（エッジ強調）などの画質調整を実行し、画像圧縮部１１３においてＭＰＥＧ圧縮などの予め設定された圧縮アルゴリズムに従って圧縮し、送信部１１４から送信する。
【００５６】
送信部１１４から送信されたデータは、画像処理装置１２０の受信部１２１において受信され、画像復号部１２２が受信データを復号する。その後、復号画像が超解像処理部１２３に入力され、超解像処理部１２３において、超解像処理が実行され、高解像度の画像が生成されて表示部１２４に表示される。表示部１２４は、ディスプレイ、プリンタを含む。また、超解像処理部１２３において超解像処理が実行され生成された高解像度の画像を記録メディアに格納する構成としてもよい。
【００５７】
（２）超解像処理部の構成および処理例（実施例１）
次に、本発明の画像処理装置における超解像処理部の構成および処理について、図９以下を参照して説明する。
【００５８】
まず、図９を参照して超解像処理部の構成について説明する。図９に示す超解像処理部２００は、例えば図７に示す画像処理装置１００の超解像処理部１０６、あるいは図８に示す画像処理装置１１０の超解像処理部１２３に対応する。図９に示されるように、超解像処理部２００は、超解像処理実行部２０１ａ〜２０１ｃ、合算処理部２０２、加算処理部２０３、およびＳＲ画像バッファ２０４を有する。
【００５９】
例えば撮像して得られた低解像度画像（ＬＲ画像）であるＬＲ０は超解像処理実行部２０１ａに入力され、ＬＲ１は超解像処理実行部２０１ｂに入力される。また、ＬＲ２は超解像処理実行部２０１ｃに入力される。ＬＲ０〜ＬＲ２は、例えば連続して撮像された画像であり、それぞれ撮像範囲に重なりを有している。連続して撮像が行われた場合、通常、撮像結果の画像に写る被写体の範囲はそれぞれ手ぶれなどにより若干ずれたものとなり、完全に一致せずに重なりを一部に有するものとなる。なお、入力画像ＬＲ０〜ＬＲ２は、連続撮影画像に限らず重なりを一部に有する画像であればよい。
【００６０】
超解像処理実行部２０１ａは、低解像度画像ＬＲ０と、ＳＲ画像バッファ２０４に記憶されている高解像度画像（ＳＲ画像）に基づいて、それらの差分を表す差分画像を生成し、フィードバック値を合算処理部２０２に出力する。フィードバック値は、ＳＲ画像と同じ解像度の差分画像を表す値になっている。
【００６１】
なお、ＳＲ画像バッファ２０４には、直前に行われた超解像処理によって生成された高解像度画像であるＳＲ画像が記憶されている。処理の開始直後であり、ＳＲ画像がまだ１フレームも生成されていない場合、例えば、ＬＲ０を、ＳＲ画像と同じ解像度の画像にアップサンプリングして得られた画像がＳＲ画像バッファ２０４に記憶される。
【００６２】
同様に、超解像処理実行部２０１ｂは、次のフレームの低解像度画像ＬＲ１とＳＲ画像バッファ２０４に記憶されている高解像度画像ＳＲ画像に基づいて、それらの差分を表す差分画像を生成し、生成した差分画像を表すフィードバック値を合算処理部２０２に出力する。
【００６３】
さらに、超解像処理実行部２０１ｃは、次の低解像度画像ＬＲ２とＳＲ画像バッファ２０４に記憶されている高解像度画像ＳＲ画像に基づいて、それらの差分を表す差分画像を生成し、生成した差分画像を表すフィードバック値を合算処理部２０２に出力する。
【００６４】
合算処理部２０２は、超解像処理実行部２０１ａ〜２０１ｃから供給されたフィードバック値を平均化し、平均化して求められた、ＳＲ画像と同じ解像度の画像を加算処理部２０３に出力する。加算処理部２０３は、ＳＲ画像バッファ２０４に記憶されているＳＲ画像と合算処理部２０２から供給されたＳＲ画像を加算し、加算して得られたＳＲ画像を出力する。加算処理部２０３の出力は、超解像処理の結果として画像処理装置の外部に供給されるとともに、ＳＲ画像バッファ２０４に供給され、記憶される。
【００６５】
次に、図９に示す超解像処理実行部２０１ａ〜ｃの詳細構成について、図１０を参照して説明する。図１０に示されるように、超解像処理実行部２０１は、動きベクトル検出部２１１、動き補償処理部２１２、ダウンサンプリング処理部２１３、加算処理部２１４、アップサンプリング処理部２１５、逆方向動き補償処理部２１６、オブジェクト検出部２１７を有する。
【００６６】
図９に示すＳＲ画像バッファ２０４から読み出された高解像度画像ＳＲ画像は動きベクトル検出部２１１と動き補償処理部２１２、さらにオブジェクト検出部２１７に入力される。また、例えば撮像して得られた低解像度画像ＬＲｎは動きベクトル検出部２１１と加算処理部２１４に入力される。
【００６７】
オブジェクト検出部２１７は、ＳＲ画像バッファ２０４から読み出された高解像度画像であるＳＲ画像に含まれるオブジェクトを検出する。オブジェクト検出部２１７は、画像から検出した各オブジェクトに対してオブジェクト識別ラベルを設定したオブジェクト領域情報を生成する。オブジェクト領域情報は、動きベクトル検出部２１１、動き補償処理部２１２、逆方向動き補償処理部２１６に供給される。
【００６８】
本発明の画像処理装置の動きベクトル検出部２１１は、オブジェクト検出部２１７において検出されたオブジェクト単位の動きベクトル（ＯＭＶ：Ｏｂｊｅｃｔ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）を算出する。
【００６９】
動きベクトル検出部２１１は、入力された高解像度画像であるＳＲ画像と低解像度画像であるＬＲｎに基づいて、ＳＲ画像を基準とした動きベクトル（ＭＶ：Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）を、オブジェクト単位で算出する。例えば、オブジェクト検出部２１７において検出されたオブジェクトがｎ個ある場合、ｎ個のオブジェクト各々に対応するオブジェクト対応動きベクトル（ＯＭＶ）を算出する。ｎ個のオブジェクト対応動きベクトル（ＯＭＶ）は、動き補償処理部２１２、逆方向動き補償処理部２１６に供給される。
【００７０】
オブジェクト検出部２１７の詳細構成を図１１に示す。オブジェクト検出部２１７は図１１に示すように領域検出部２２１と、ラベル生成部２２２を有する。領域検出部２２１は、ＳＲ画像バッファ２０４から読み出された高解像度画像ＳＲ画像に含まれるオブジェクトの領域を検出する。ラベル生成部２２２は、領域検出部２２１が検出したオブジェクトの識別ラベルを各オブジェクトごとに設定する。
【００７１】
なお、オブジェクト検出部２１７の出力するオブジェクト領域情報には、高解像度画像であるＳＲ画像を構成する各画素に対応して設定されるオブジェクト識別ラベルが含まれる。すなわち、ＳＲ画像を構成する各画素がどのオブジェクトに含まれる画素であるかを示す画素対応のラベル情報を有している。
【００７２】
オブジェクト検出部２１７の処理例について図１２を参照して説明する。図１２には、
（１）オブジェクト検出部２１７に入力するＳＲ画像
（２）領域検出部２２１におけるオブジェクト検出処理に際して生成されるセグメンテーション画像
（３）ラベル生成部２２２において各オブジェクトに対するラベル設定処理を説明するラベル情報
これらを説明する図である。
【００７３】
領域検出部２２１は、例えば、一般的なセグメンテーション（ｓｅｇｍｅｎｔａｔｉｏｎ）処理によって、画像内のオブジェクト境界を検出して、画像に含まれるオブジェクトを検出する。セグメンテーション手法によるオブジェクト検出処理としては様々な手法が知られており、領域検出部２２１は、既存の手法を適用してオブジェクト検出を行うことができる。
【００７４】
なお、例えばレベルセット（Ｌｅｖｅｌ  Ｓｅｔ）法を用いたセグメンテーション手法を開示した文献として、「Ａ  Ｒｅｖｉｅｗ  ｏｆ  Ｓｔａｔｉｓｔｉｃａｌ  Ａｐｐｒｏａｃｈｅｓ  ｔｏ  Ｌｅｖｅｌ  Ｓｅｔ  Ｓｅｇｍｅｎｔａｔｉｏｎ：  Ｉｎｔｅｇｒａｔｉｎｇ  Ｃｏｌｏｒ，  Ｔｅｘｔｕｒｅ，  Ｍｏｔｉｏｎ  ａｎｄ  ＳｈａｐｅＩｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ７２（２），  １９５-２１５，  ２００７  ＤＡＮＩＥＬ  ＣＲＥＭＥＲＳ，  ＭＩＫＡＥＬ  ＲＯＵＳＳＯＮ，  ＲＡＣＨＩＤ  ＤＥＲＩＣＨＥ」がある。領域検出部２２１は、例えばこの手法を適用してオブジェクト検出を行うことができる。
【００７５】
図１２に示す（１）ＳＲ画像に対するセグメンテーション処理により、（２）セグメンテーション画像が得られる。セグメンテーション画像は各オブジェクトの境界を判別するデータを有する。図の例では、「ヘリコプター」と「自動車」がオブジェクトとして検出される。なお、本発明の処理では、背景領域も１つのオブジェクトとして判定する。
【００７６】
ラベル生成部２２２は、セグメンテーション画像を元にオブジェクト毎にラベリングを行う。図１２に示す例では、「ヘリコプター」と、「自動車」と、「背景」、これら３つのオブジェクトに対する識別ラベルが設定される。以下の例では、
背景部分をオブジェクト１、
ヘリコプターをオブジェクト２、
自動車をオブジェクト３、
これらのラベル設定を行ったものとして説明する。なお、ラベルは、画素単位で設定され、このラベル情報により画面内の各画素がどのオブジェクトに属するかが識別可能となる。
【００７７】
オブジェクト検出部２１７の生成するオブジェクト領域情報は、オブジェクト検出対象としたＳＲ画像を構成する画素がどのオブジェクトに含まれるかの情報を含む。図１２に示す例では、ＳＲ画像を構成する画素の各々がオブジェクト１〜３のいずれに対応する画素であるかを示す情報となる。
【００７８】
図１０に示す動きベクトル検出部２１１は、入力された高解像度画像であるＳＲ画像と低解像度画像であるＬＲｎに基づいて、ＳＲ画像を基準とした動きベクトル（ＭＶ：Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）をオブジェクト単位で算出する。例えば、オブジェクト検出部２１７において検出されたオブジェクトがｎ個ある場合、ｎ個のオブジェクト各々に対応するオブジェクト対応動きベクトル（ＯＭＶ）を算出する。ｎ個のオブジェクト対応動きベクトル（ＯＭＶ）は、動き補償処理部２１２、逆方向動き補償処理部２１６に供給される。
【００７９】
動きベクトル検出部２１１の詳細構成を図１３に示す。動きベクトル検出部２１１は、アップサンプリング処理部２３１、ローカル動きベクトル（ＬＭＶ）算出部２３２、オブジェクト動きベクトル（ＯＭＶ）算出部２３３を有する。オブジェクト動きベクトル（ＯＭＶ）算出部２３３は、オブジェクト検出部２１７の検出したオブジェクト各々に対応する動きベクトルであるオブジェクト動きベクトル（ＯＭＶ）を個別に求める複数のオブジェクト動きベクトル（ＯＭＶ）算出部２３３によって構成される。
【００８０】
動きベクトル検出部２１１は、ＳＲ画像バッファ２０４から読み出された高解像度画像ＳＲ画像と、低解像度画像であるＬＲ画像を入力する。ＬＲ画像はアップサンプリング処理部２３１において、解像度変換が行われ、ＳＲ画像と同じ解像度に設定される。この解像度変換画像が、ローカル動きベクトル（ＬＭＶ）算出部２３２に入力される。
【００８１】
ローカル動きベクトル（ＬＭＶ）算出部２３２では、ＳＲ画像、アップサンプリングしたＬＲ画像間でローカル動きベクトル（ＬＭＶ）算出処理が行われる。すなわち、画像を区分した小領域であるブロック毎の動きベクトルを求める。
【００８２】
ローカル動きベクトル（ＬＭＶ）算出部２３２の実行するローカル動きベクトル（ＬＭＶ）の算出処理例について、図１４を参照して説明する。ローカル動きベクトル（ＬＭＶ）算出部２３２は、従来手法と同様のブロックマッチングにより画面内小領域（ブロック）単位の動きベクトルを算出する。
【００８３】
図１４には、
（１）ＳＲ画像
（２）ＬＲ画像
（３）ローカル動きベクトル（ＬＭＶ）情報
これらを示している。ローカル動きベクトル（ＬＭＶ）算出部２３２では、（１）ＳＲ画像と、（２）ＬＲ画像とを用いて画面内小領域（ブロック）単位の動きベクトルを算出する。
【００８４】
（１）ＳＲ画像と、（２）ＬＲ画像は撮影タイミングが異なる。図に示す例では、（２）ＬＲ画像は、ＳＲ画像の後のタイミングでの撮影画像に相当する。オブジェクト１（背景）、オブジェクト２（ヘリコプター）、オブジェクト３（自動車）はそれぞれ固有の動きをしている。これらの動きを示すベクトルが図の（２）ＬＲ画像に示す３つの矢印である。
【００８５】
ローカル動きベクトル（ＬＭＶ）算出部２３２は、ＳＲ画像を基準として画面内小領域（ブロック）単位でブロックマッチングを行い、画面内小領域（ブロック）単位の動きベクトル、すなわちローカル動きベクトル（ＬＭＶ）を算出する。例えば過去の撮影画像に基づいて生成されたＳＲ画像と、新規入力したＬＲ画像のブロックマッチングにより、ＳＲ画像の各ブロックが新規入力したＬＲ画像において移動した先を示すベクトルを生成する。
【００８６】
この結果が、図１４（３）ローカル動きベクトル（ＬＭＶ）情報である。図に示す例では横７つ、縦５つの計３５ブロック各々に対応するローカル動きベクトル（ＬＭＶ）を算出した例を示している。この例では、オブジェクト２（ヘリコプター）の含まれるブロック群２５２のローカル動きベクトル（ＬＭＶ）は、オブジェクト２（ヘリコプター）の動きに対応するベクトルとなる。また、オブジェクト３（自動車）の含まれるブロック群２５３のローカル動きベクトル（ＬＭＶ）は、オブジェクト３（自動車）の動きに対応するベクトルとなる。その他のブロックは、オブジェクト１（背景）の動きに対応するベクトルとなる。
【００８７】
なお、動きベクトルは、様々な形態のベクトルが利用可能である。例えば、平行移動を示す２パラメータのベクトルや、回転などの情報も含む例えばアフィン変換として示される６パラメータを持つベクトルなども利用可能である。
【００８８】
ローカル動きベクトル（ＬＭＶ）算出部２３２の算出したブロック対応の複数のローカル動きベクトル（ＬＭＶ）は、図１３に示す複数のオブジェクト動きベクトル（ＯＭＶ）算出部２３３に入力される。
【００８９】
第１〜第ｎオブジェクト動きベクトル（ＯＭＶ）算出部２３３−１〜ｎの各々は、オブジェクト検出部２１７の検出したオブジェクト各々に対応する動きベクトルであるオブジェクト動きベクトル（ＯＭＶ）を個別に算出する。
【００９０】
第１〜第ｎオブジェクト動きベクトル（ＯＭＶ）算出部２３３−１〜ｎの各々は、オブジェクト検出部２１７の生成したオブジェクト対応の識別情報であるラベル情報と、ローカル動きベクトル（ＬＭＶ）算出部２３２の算出したブロック対応のローカル動きベクトル（ＬＭＶ）を入力して、オブジェクト対応の動きベクトルであるオブジェクト動きベクトル（ＯＭＶ）を個別に算出する。
【００９１】
例えば、図１３に示す第１ＯＭＶ算出部２３３−１は、ラベル１の設定されたオブジェクト１（背景）に対応するオブジェクト動きベクトル（ＯＭＶ）を算出する。
第２ＯＭＶ算出部２３３−２は、ラベル２の設定されたオブジェクト２（ヘリコプター）に対応するオブジェクト動きベクトル（ＯＭＶ）を算出する。
第３ＯＭＶ算出部２３３−３は、ラベル３の設定されたオブジェクト３（自動車）に対応するオブジェクト動きベクトル（ＯＭＶ）を算出する。
【００９２】
オブジェクト動きベクトル（ＯＭＶ）算出部２３３の実行するオブジェクト動きベクトル（ＯＭＶ）の算出処理例について、図１５を参照して説明する。図１５には、
（１）ローカル動きベクトル（ＬＭＶ）情報
（２）ラベル情報
（３）オブジェクト動きベクトル（ＯＭＶ）情報
これらを示している。
【００９３】
オブジェクト動きベクトル（ＯＭＶ）算出部２３３では、（１）ローカル動きベクトル（ＬＭＶ）情報と、各オブジェクトの識別子である（２）ラベル情報とを用いて、（３）オブジェクト動きベクトル（ＯＭＶ）を算出する。
【００９４】
オブジェクト動きベクトル（ＯＭＶ）算出部２３３−１〜ｎの各々は、自己の担当するオブジェクトが個別に割り当てられる。すなわち、オブジェクト動きベクトル（ＯＭＶ）算出部２３３−１〜ｎの各々は、自己の担当するラベルの設定されたオブジェクト領域に対応するオブジェクト動きベクトル（ＯＭＶ）を算出する。
【００９５】
オブジェクト動きベクトル（ＯＭＶ）算出部２３３−１〜ｎの各々は、自己の担当オブジェクトのラベルの設定されたオブジェクト領域のローカル動きベクトル（ＬＭＶ）情報のみを適用してオブジェクト動きベクトル（ＯＭＶ）を算出する。
【００９６】
具体的には、例えば、第２ＯＭＶ算出部２３３−２は、ラベル２の設定されたオブジェクト２（ヘリコプター）に対応するオブジェクト動きベクトル（ＯＭＶ）を算出する。この処理を行う場合、図１４（３）ＬＭＶ情報中のラベル２の設定されたブロック群２５２のローカル動きベクトル（ＬＭＶ）を適用して、例えばこれらの平均値の算出処理などにより１つのオブジェクト動きベクトル（ＯＭＶ）を算出する。このオブジェクト動きベクトル（ＯＭＶ）が図１５（３）に示すオブジェクト２対応ＯＭＶ２７２となる。
【００９７】
また、第３ＯＭＶ算出部２３３−３は、ラベル３の設定されたオブジェクト３（自動車）に対応するオブジェクト動きベクトル（ＯＭＶ）を算出する。この処理を行う場合、図１４（３）ＬＭＶ情報中のラベル３の設定されたブロック群２５３のローカル動きベクトル（ＬＭＶ）を適用して、例えばこれらの平均値の算出処理などにより１つのオブジェクト動きベクトル（ＯＭＶ）を算出する。このオブジェクト動きベクトル（ＯＭＶ）が図１５（３）に示すオブジェクト３対応ＯＭＶ２７３となる。
【００９８】
さらに、第１ＯＭＶ算出部２３３−１は、ラベル１の設定されたオブジェクト１（背景）に対応するオブジェクト動きベクトル（ＯＭＶ）を算出する。この処理を行う場合、図１４（３）ＬＭＶ情報中のラベル１の設定されたブロック群のローカル動きベクトル（ＬＭＶ）を適用して、例えばこれらの平均値の算出処理などにより１つのオブジェクト動きベクトル（ＯＭＶ）を算出する。このオブジェクト動きベクトル（ＯＭＶ）が図１５（３）に示すオブジェクト１対応ＯＭＶ２７１となる。
【００９９】
オブジェクト動きベクトル（ＯＭＶ）算出部２３３１〜ｎでは、このような処理により、オブジェクト検出部２１７の検出したオブジェクト各々に対応するオブジェクト動きベクトル（ＯＭＶ）を算出する。
【０１００】
次に、図１０に示す超解像処理実行部２０１の動き補償処理部２１２の実行する処理について、図１６を参照して説明する。
【０１０１】
動き補償処理部２１２は、
（１）ＳＲ画像バッファ２０４から読み出された高解像度画像ＳＲ画像、
（２）オブジェクト検出部２１７から供給されるオブジェクト領域情報、
（３）動きベクトル検出部２１１から供給されるオブジェクト対応の動きベクトルであるオブジェクト動きベクトル（ＯＭＶ）、
これらの情報を入力する。
なお、オブジェクト検出部２１７から供給されるオブジェクト領域情報はＳＲ画像を構成する各画素がどのオブジェクトに属するかを示すラベル情報を含んでいる。
【０１０２】
動き補償処理部２１２は、これらの入力情報に基づいて高解像度画像ＳＲ画像に動き補償を施して、（４）動き補償（ＭＣ：Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）画像を生成する。動き補償処理部２１２は、生成した動き補償画像（ＭＣ画）をダウンサンプリング処理部２１３に出力する。
【０１０３】
動き補償処理部２１２の実行する動き補償処理について図１６を参照して説明する。図１６の上段には、
（１）ＳＲ画像バッファ２０４から読み出された高解像度画像ＳＲ画像、
（２）オブジェクト検出部２１７から供給されるオブジェクト領域情報、
（３）動きベクトル検出部２１１から供給されるオブジェクト対応の動きベクトルであるオブジェクト動きベクトル（ＯＭＶ）、
これらの入力情報を示している。
図１６の下段には、これらの入力情報と動き補償処理部２１２の実行する動き補償処理によって生成する
（４）動き補償画像、
この生成情報を示している。
【０１０４】
動き補償処理部２１２は、（２）オブジェクト領域情報（ラベル情報）と、（３）オブジェクト動きベクトル（ＯＭＶ）とに応じて、（１）ＳＲ画像の画素位置を動かして、新規入力したＬＲ画像に対応する位置を持つ補正したＳＲ画像を生成する処理を実行して、（４）動き補償画像を生成する。すなわちＳＲ画像の画素位置を動かして、ＳＲ画像に写るオブジェクトの位置をＬＲに写るオブジェクトの位置に併せた動き補償画像（ＭＣ画）を生成する。動き補償画像はＭＣ（Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）画像と呼ばれる。
【０１０５】
動き補償処理部２１２において実行する動き補償画像の生成処理手順は以下の通りである。
（ステップ１）ＳＲ画像、セグメンテーション情報、動き情報を用いてＬＲ画像の画像を仮想的に生成する。
（ステップ２）ＳＲ画像の各オブジェクトの画素を動き情報に応じ移動し、合成を行う。
（ステップ３）画像の移動により穴が抜けた点においては、近傍の類似した画素から補間等の処理を行う。
これらの処理によって、新規入力したＬＲ画像に対応する位置を持つ補正したＳＲ画像である図１６に示す（４）動き補償画像を生成する。
【０１０６】
図１０に示す超解像処理実行部２０１のダウンサンプリング処理部２１３は、動き補償処理部２１２から供給された画像をダウンサンプリングすることによってＬＲｎと同じ解像度の画像を生成し、生成した画像を加算処理部２１４に出力する。ＳＲ画像とＬＲｎから動きベクトルを求め、求めた動きベクトルによって動き補償して得られた画像をＬＲ画像と同じ解像度の画像にすることは、撮像して得られる画像を、ＳＲ画像バッファ２０４に記憶されているＳＲ画像に基づいてシミュレートすることに相当する。
【０１０７】
加算処理部２１４は、ＬＲｎと、そのようにしてシミュレートされた画像の差分を表す差分画像を生成し、生成した差分画像をアップサンプリング処理部２１５に出力する。
【０１０８】
アップサンプリング処理部２１５は、加算処理部２１４から供給された差分画像をアップサンプリングすることによってＳＲ画像と同じ解像度の画像を生成し、生成した画像を逆方向動き補償処理部２１６に出力する。
【０１０９】
逆方向動き補償処理部２１６の実行する処理について、図１７を参照して説明する。逆方向動き補償処理部２１６は、
（１）アップサンプリング処理部２１５から入力する差分画像、
（２）オブジェクト検出部２１７から供給されるオブジェクト領域情報、
（３）動きベクトル検出部２１１から供給されるオブジェクト対応の動きベクトルであるオブジェクト動きベクトル（ＯＭＶ）、
これらの情報を入力する。
なお、オブジェクト検出部２１７から供給されるオブジェクト領域情報はＳＲ画像を構成する各画素がどのオブジェクトに属するかを示すラベル情報を含んでいる。
【０１１０】
逆方向動き補償処理部２１６は、（２）オブジェクト検出部２１７から供給されるオブジェクト領域情報と、（３）動きベクトル検出部２１１から供給されるオブジェクト対応の動きベクトルであるオブジェクト動きベクトル（ＯＭＶ）を入力する。逆方向動き補償処理部２１６は、これらの入力情報に基づいて、（１）アップサンプリング処理部２１５から入力する差分画像に逆方向の動き補償を施して、図１７に示す（４）逆方向の動き補償を施して得られた差分画像を生成する。
【０１１１】
具体的な処理ステップとしては、逆方向動き補償処理部２１６は以下の処理を行う。
（ステップ１）ＬＲ画像と動き補償画像との差分画像（図１７（１））のオブジェクトの位置をＳＲ画像の時間に移動する。
（ステップ２）オブジェクトの移動により生じたオクルージョン領域には、画素値０を挿入する。
これらの処理によって、新規入力したＬＲ画像に対応する位置を持つ補正したＳＲ画像である図１７に示す（４）逆方向の動き補償を施して得られた差分画像を生成する。
【０１１２】
逆方向動き補償処理部２１６は、図１７に示す（４）逆方向の動き補償を施して得られた差分画像を表すフィードバック値を生成して、図９に示す超解像処理部２００の合算処理部２０２に出力する。フィードバック値は、ＳＲ画像と同じ解像度の差分画像を表す値になっている。なお、逆方向の動き補償を施して得られた画像に写るオブジェクトの位置は、ＳＲ画像バッファ２０４に記憶されているＳＲ画像に写るオブジェクトの位置に近い位置になる。
【０１１３】
図９に示す超解像処理部２００の合算処理部２０２は、超解像処理実行部２０１ａ〜２０１ｃから供給されたフィードバック値を平均化し、平均化して求められたＳＲ画像と同じ解像度の画像を加算処理部２０３に出力する。加算処理部２０３は、ＳＲ画像バッファ２０４に記憶されているＳＲ画像と合算処理部２０２から供給されたＳＲ画像を加算し、加算して得られたＳＲ画像を出力する。加算処理部２０３の出力は、超解像処理の結果として外部に供給されるとともに、ＳＲ画像バッファ２０４に供給され、記憶される。
【０１１４】
このようにして、本発明に従った超解像処理が実行される。本発明に従った超解像処理の特徴は、図１８に示すように、
オブジェクト検出部２１７が画像に含まれるオブジェクトを識別して、図１８（１）に示すオブジェクト領域情報を生成し、さらに、動きベクトル検出部２１１がオブジェクト対応の動きベクトルであるオブジェクト動きベクトル（ＯＭＶ）を生成する。超解像処理をこれらの情報を適用して実行することである。
【０１１５】
超解像処理において生成する図１８に示す（３）動き補償画像、（４）逆動き補償処理を施した差分画像、これらの画像をオブジェクト領域情報、オブジェクト対応の動きベクトルであるオブジェクト動きベクトル（ＯＭＶ）を適用して生成する。
【０１１６】
本発明の処理では、オブジェクト単位に動きベクトルが生成されるため、ブロック単位のローカル動きベクトル（ＬＭＶ）を利用した場合と比較し、より大きな面積を１つのオブジェクト対応動きベクトル（ＯＭＶ）の算出に用いることが可能となる。そのため、動きベクトルの検出精度が高くなる。
【０１１７】
また、カメラモーション等に対応する１画面対応のグローバル動きベクトル（ＧＭＶ）を利用した処理では、個々のオブジェクトの動きが反映できず、個々のオブジェクトの動きに対応した超解像処理ができないが、本発明の処理では個々のオブジェクトの動きが反映された超解像処理が可能となり、オブジェクト個々の動きを反映した高精度な超解像処理が実現される。
【０１１８】
（３）オブジェクト対応動きベクトル（ＯＭＶ）調整部を有する実施例（実施例２）
次に、第２実施例として、図１０に示す超解像処理実行部２０１内の動きベクトル検出部２１１の構成を変更した実施例について説明する。
【０１１９】
本実施例における動きベクトル検出部２１１の構成を図１９に示す。先の実施例において図１３を参照して説明した動きベクトル検出部２１１との差異は、オブジェクト対応動きベクトル（ＯＭＶ）調整部２３４を有する点である。
【０１２０】
オブジェクト対応動きベクトル（ＯＭＶ）調整部２３４−１〜ｎの各々は、前段のオブジェクト対応動きベクトル（ＯＭＶ）生成部２３３−１〜ｎから、各オブジェクト対応の動きベクトル（ＯＭＶ）を入力して、このベクトルの調整処理（ｒｅｆｉｎｅｍｅｎｔ）を実行する。
【０１２１】
オブジェクト対応動きベクトル（ＯＭＶ）調整部２３４−１〜ｎの各々は、ＳＲ画像と、アップサンプルしたＬＲ画像と、オブジェクト検出部２１７の生成したオブジェクト領域情報であるラベル情報を入力する。これらの入力情報を利用して、オブジェクト対応動きベクトル（ＯＭＶ）生成部２３３−１〜ｎの生成したオブジェクト対応の動きベクトル（ＯＭＶ）の調整（ｒｅｆｉｎｅｍｅｎｔ）を実行する。ラベル情報は、ＳＲ画像の構成画素が所属するオブジェクト識別子としてのラベル情報である。
【０１２２】
オブジェクト対応動きベクトル（ＯＭＶ）調整部２３４の詳細構成、および実行する処理について図２０を参照して説明する。図２０は、オブジェクト対応動きベクトル（ＯＭＶ）調整部２３４の詳細構成を示す図である。
【０１２３】
オブジェクト対応動きベクトル（ＯＭＶ）調整部２３４は、図２０に示すように、オブジェクト対応動きベクトル（ＯＭＶ）調整処理制御部３０１、動き補償処理部３０２、コスト計算部３０３を有する。
【０１２４】
オブジェクト対応動きベクトル（ＯＭＶ）調整処理制御部３０１は、前段のオブジェクト対応動きベクトル（ＯＭＶ）生成部２３３から入力されたオブジェクト対応動きベクトル（ＯＭＶ）と、さらにＳＲ画像、アップサンプルしたＬＲ画像を適用してオブジェクト対応動きベクトル（ＯＭＶ）のパラメータを更新して変更したＯＭＶを生成する。生成した変更ＯＭＶは動き補償処理部３０２に入力される。なお、この変更ＯＭＶの生成処理については、図２１を参照して後段で説明する。
【０１２５】
動き補償処理部３０２は、オブジェクト対応動きベクトル（ＯＭＶ）調整処理制御部３０１から入力する変更されたＯＭＶに基づいて動き補償処理による動き補償画像を生成する。この動き補償画像は、先に図１６を参照して説明した処理と同様の処理によって行われる。
【０１２６】
コスト計算部３０３は、動き補償処理部３０２が変更ＯＭＶを適用して生成した動き補償画像とアップサンプルしたＬＲ画像間の差異に対応するコスト計算を行う。コスト計算は、動き補償画像とアップサンプルしたＬＲ画像に含まれる処理対象のＯＭＶに対応する特定のオブジェクト領域の画素値を取得して、オブジェクト内の画素値の最小二乗誤差（ＳＳＤ）もしくは正規化相関（ＮＣＣ）等を、以下の計算式（式２）、（式３）に従って計算する。
【０１２７】
【数２】
2010122934.tif 000004
・・・（式２）
【０１２８】
【数３】
2010122934.tif 000005
・・・（式３）
【０１２９】
上記式（式２）、（式３）において、
Ｇ：変更ＯＭＶを適用して生成した動き補償画像
ｇｍｎ：画像Ｇの構成画素の画素値（ｍｎは画素位置座標）
Ｐ：アップサンプルしたＬＲ画像
ｐｍｎ：画像Ｐの構成画素の画素値（ｍｎは画素位置座標）
である。
なお、正規化相関（ＮＣＣ）は、コストとして扱う都合上通常のＮＣＣ算出式に（−１）を乗算し、正負を逆転している。
【０１３０】
上記算出式（式２）において算出される最小二乗誤差（ＳＳＤ）は値が小さいほどコストが小さいと判断される。また、上記算出式（式３）において算出される正規化相関（ＮＣＣ）も値が小さいほどコストが小さいと判断される。
【０１３１】
コスト計算部３０３は、計算されたコストをオブジェクト対応動きベクトル（ＯＭＶ）調整処理制御部３０１に出力する。オブジェクト対応動きベクトル（ＯＭＶ）調整処理制御部３０１では、あらかじめ定められた回数の処理が実施されるか、あらかじめ定められたコストが入力されるまで、ＯＭＶのパラメータ変更処理を実施する。
【０１３２】
予め設定した閾値コスト以下に至った場合、あるいは、予め定めたループ回数上限の処理が実行された場合、オブジェクト対応動きベクトル（ＯＭＶ）調整処理制御部３０１は、その時点でコストが最小となったオブジェクト対応動きベクトル（ＯＭＶ）を調整結果として出力する。すなわち調整ＯＭＶとして後段に出力する。
【０１３３】
この調整ＯＭＶが、図１０に示す動き補償処理部２１２、逆方向動き補償処理部２１６に出力される。動き補償処理部２１２、逆方向動き補償処理部２１６では、調整ＯＭＶを用いた処理を行うことになる。
【０１３４】
例えば、動き補償処理部２１２は、先に図１６を参照して説明した処理において、図１６（３）の動き情報としてオブジェクト対応の調整ＯＭＶを適用して（４）動き補償画像を生成する。
また、逆方向動き補償処理部２１６は、先に図１７を参照して説明した処理において、図１７（３）の動き情報としてオブジェクト対応の調整ＯＭＶを適用して（４）逆動き補償処理を施した差分画像を生成する。
【０１３５】
図１９に示すＯＭＶ調整部２３４は、ＯＭＶ算出部２３３の算出したオブジェクト対応動きベクトル（ＯＭＶ）を実際の各オブジェクトの画像間の動きに、より近づけたベクトルとして調整ＯＭＶを生成するものである。動き補償処理部２１２、逆方向動き補償処理部２１６は、各オブジェクトの動きにより近い調整ＯＭＶを用いた処理を行うことが可能となり、超解像処理の精度を高めより品質の高い画像を得ることが可能となる。
【０１３６】
図２０に示すＯＭＶ調整部２３４内のオブジェクト対応動きベクトル（ＯＭＶ）調整処理制御部３０１は、先に説明したように、前段のオブジェクト対応動きベクトル（ＯＭＶ）生成部２３３から入力されたオブジェクト対応動きベクトル（ＯＭＶ）、ＳＲ画像、アップサンプルしたＬＲ画像を適用してオブジェクト対応動きベクトル（ＯＭＶ）のパラメータを更新して変更したＯＭＶを生成して動き補償処理部３０２に入力する。
【０１３７】
オブジェクト対応動きベクトル（ＯＭＶ）のパラメータ更新処理としては、例えば予め設定された適用可能なパラメータの組を複数設定し、これらを順次適用して変更ＯＭＶを生成するといった処理が可能である。オブジェクト対応動きベクトル（ＯＭＶ）調整処理制御部３０１の実行するパラメータ更新による変更ＯＭＶ生成処理の一例について図２１を参照して説明する。
【０１３８】
調整処理制御部３０１の実行するパラメータ更新による変更ＯＭＶ生成処理について、
Ａ．初期化処理、
Ｂ．初回（１回目）の処理
Ｃ．２回目以降の処理、
これらの処理に区分して説明する。
【０１３９】
Ａ．初期化処理
まず初期化処理について説明する。
（Ａ１）図１９に示すＯＭＶ算出部２３３の算出したオブジェクト対応動きベクトル（ＯＭＶ）が、初期ＯＭＶとして第１バッファ３２１に格納する。
（Ａ２）処理判断に用いる閾値は、ユーザによって外部より指定するか、もしくは規定の値として外部より与える。
（Ａ３）第２バッファ３２３にコスト＝０を設定する。
（Ａ４）スイッチ３２５を内部出力側（調整ベクトル生成部３２６に対する出力）に設定
【０１４０】
Ｂ．初回（１回目）の処理
（Ｂ１）第１バッファ３２１に格納された初期ＯＭＶを調整ベクトル生成部３２６に入力し、調整ベクトル生成部３２６において、初期ＯＭＶをＳＲ画像とアップサンプルしたＬＲ画像間のオブジェクト動きに近づけるように初期ＯＭＶのパラメータを変更して変更ＯＭＶを生成する。
（Ｂ２）変更ＯＭＶを第１バッファ３２１に格納し、さらに、外部の動き補償処理部３０２（図２０参照）へ供給する。
【０１４１】
上記（Ｂ１）の処理において、調整ベクトル生成部３２６は、ＳＲ画像とアップサンプルしたＬＲ画像間のオブジェクト動きに近づけるように初期ＯＭＶのパラメータを変更して変更ＯＭＶを生成する。この処理を行う調整ベクトル生成部３２６の構成例および処理例について図２２を参照して説明する。調整ベクトル生成部３２６は、図２２に示すように、勾配ベクトル計算部３３１、加算器３３２を有する。
【０１４２】
勾配ベクトル計算部３３１では、ＳＲ画像、アップサンプルしたＬＲ画像、入力されるＯＭＶ情報を適用して勾配ベクトルを計算する。
ここで、ＯＭＣ画像の画素値ｇを以下の通り定義する。なお、ＯＭＣ画像は、オブジェクト対応動きベクトル（ＯＭＶ）による動き補償画像（ＭＣ画）を意味する。
ｇ（ｉｍａｇｅ，ＯＭＶ，ｘ，ｙ）
ただし、
ｉｍａｇｅ：ｏｍｃの参照画像
ＯＭＶ：オブジェクト対応動きベクトル（ＯＭＶ）
ｘ，ｙ：ＧＭＣ画像の画素の位置座標（水平、垂直）
【０１４３】
また、オブジェクト対応動きベクトル（ＯＭＶ）を、以下のような６パラメータのアフィン変換とする。
Ｘ'＝ａ０ｘ＋ａ１ｙ＋ａ２
Ｙ'＝ａ３ｘ＋ａ４ｙ＋ａ５
【０１４４】
勾配ベクトル計算部３３１では、予め設定したコスト関数Ｅに対してのＯＭＶの勾配ベクトルを求める。すなわち勾配ベクトルは、以下の通りとなる。ｎ＝０…５
Δａｎ＝（δＥ／δａｎ）
【０１４５】
例えば、以下の式（式４）のように、ＯＭＣ画像とＳＲ画像の差分の二乗和をコスト関数と設定したとする。（ｐｍｎは、ＳＲ画像上の画素（ｍ，ｎ）の画素値）
【０１４６】
【数４】
2010122934.tif 000006
・・・（式４）
この勾配ベクトルは、以下の式（式５）の通りとなる。
【０１４７】
【数５】
2010122934.tif 000007
・・・（式５）
【０１４８】
加算器３３２では、この勾配ベクトルを元のベクトルより減算する。
ａｎ＝ａｎ−Δａｎ
上記ａｎを変更後のオブジェクト対応動きベクトル（ＯＭＶ）のパラメータとする。
なお、コスト関数は、用途に合わせ、ＮＣＣ，差分絶対値和等を使用してもよい。
【０１４９】
上記の（Ｂ１）の処理では、調整ベクトル生成部３２６において、例えば図２２に示す処理構成により、ＳＲ画像とアップサンプルしたＬＲ画像間のオブジェクト動きに近づけるように初期ＯＭＶを変更して変更ＯＭＶを生成する。その後、（Ｂ２）の処理として、変更ＯＭＶを第１バッファ３２１に格納し、さらに、外部の動き補償処理部３０２（図２０参照）へ供給する。
【０１５０】
Ｃ．２回目以降の処理
図２１に戻り、調整処理制御部３０１の実行するパラメータ更新による変更ＯＭＶ生成処理におけるＣ．２回目以降の処理について説明する。
（Ｃ１）オブジェクト対応動きベクトル（ＯＭＶ）調整処理制御部３０１は、コスト計算部３０３（図２０参照）が作成したコストを受け取り、第２バッファ３２３に格納したコストとの差を差分器３２４において計算する。
（Ｃ２）入力されたコストは、差分値計算後第２バッファ３２３へ格納する。
（Ｃ３）処理判断部３２２は、入力された差分値と閾値により処理判断を行う。
（Ｃ３−１）  コストの差分値が閾値以下の場合、第１バッファ３２１に格納されたＯＭＶを調整ＯＭＶとして、外部へ出力する。
（Ｃ３−２）差分値が閾値以上の場合、第１バッファ３２１に格納されたＯＭＶを調整ベクトル生成部３２６へ入力し、次回確認を行うオブジェクト対応動きベクトル（ＯＭＶ）を生成する。
【０１５１】
この２回目以降の処理は繰り返し行われる。すなわち、算出コストが予め設定した閾値コスト以下に至った場合、あるいは、予め定めたループ回数上限の処理が実行された場合、オブジェクト対応動きベクトル（ＯＭＶ）調整処理制御部３０１は、その時点でコストが最小となったオブジェクト対応動きベクトル（ＯＭＶ）を調整結果として出力する。すなわち調整ＯＭＶとして後段に出力する。
【０１５２】
本実施例では、図１９に示すＯＭＶ調整部２３４において、ＯＭＶ算出部２３３の算出したオブジェクト対応動きベクトル（ＯＭＶ）を実際の各オブジェクトの画像間の動きに、より近づけた調整ＯＭＶを生成する。動き補償処理部２１２、逆方向動き補償処理部２１６は、この調整ＯＭＶ、すなわち各オブジェクトの動きにより近い調整ＯＭＶを用いた処理を行うことが可能となる。結果として、超解像処理の精度を高めた品質の高い超解像画像を生成することが可能となる。
【０１５３】
（４）ユーザによる超解像処理対象領域の指定を可能とした実施例（実施例３）
次に、ユーザにより超解像処理対象領域、例えば処理対象オブジェクトの指定を行うことを可能とした実施例について説明する。例えば図２３に示す連続するフレーム画像からなる低解像度画像ＬＲ０〜ＬＲ４に含まれる１つのオブジェクト（自動車）のみを超解像処理対象とする。すなわち自動車を超解像処理対象オブジェクトとしてユーザが指定する。画像処理装置は、このユーザ指定に応じて、自動車領域のみを超解像処理対象とした処理を実行する。本実施例の画像処理装置は、画像全体ではなく指定オブジェクトを含む領域のみを超解像処理領域として処理を実行することを可能としている。
【０１５４】
本実施例に係る画像処理装置の構成は先の実施例において説明した図７、図８と同様の構成を持つ。ただし、超解像処理部の構成が先に説明した図９に示す構成とは異なる。本実施例に係る超解像処理部の構成例について図２４を参照して説明する。
【０１５５】
図２４に示す超解像処理部４００は、例えば図７に示す画像処理装置１００の超解像処理部１０６、あるいは図８に示す画像処理装置１１０の超解像処理部１２３に対応する。図２４に示されるように、超解像処理部４００は、領域指定ＧＵＩ４０１、アップサンプリング処理部４０２、ＳＲ画像バッファ４０３、超解像処理実行部４０４ａ〜４０４ｃ、ＯＭＶ精度検査部４０５ａ〜４０５ｃ、合算処理部４０６、加算処理部４０７を有する。
【０１５６】
例えば撮像して得られた低解像度のＬＲ画像であるＬＲ０はアップサンプリング処理部４０２において、アップサンプルされＳＲ画像の初期値としてＳＲ画像バッファ４０３に格納される。
【０１５７】
領域指定ＧＵＩ４０１は、ユーザにＬＲ０画像を表示し、超解像処理を施す領域の指定させるためのグラフィックユーザインタフェースである。領域指定ＧＵＩ４０１による超解像処理対象領域の指定処理例について図２５を参照して説明する。
【０１５８】
図２５には、領域指定ＧＵＩ４０１を利用した超解像処理対象領域の指定処理例を２つ示している。処理例１、処理例２とも自動車を超解像処理対象領域（オブジェクト）として指定した処理例である。
【０１５９】
処理例１は、ディスプレイに表示されたＬＲ０画像に含まれるオブジェクト（自動車）を含む領域（本例では矩形領域）をユーザに指定させて、この矩形領域をそのまま超解像処理の対象領域とする処理である。
【０１６０】
処理例２は、まず、ディスプレイに表示されたＬＲ０画像に含まれるオブジェクト（自動車）を含む領域（本例では矩形領域）をユーザに指定させると同時にセグメンテーションを実施する。
次に、ユーザの指定した矩形領域と一番相関の近いセグメンテーション領域を興味領域として強調表示したセグメンテーション結果を表示し、この表示情報に対してユーザにオブジェクトを選択させ、選択したオブジェクト領域を超解像処理の対象領域とする処理である。
【０１６１】
例えばこのようにして、領域指定ＧＵＩ４０１を利用した超解像処理対象領域の指定処理が行われる。
【０１６２】
ユーザ指定の結果として得られた超解像対象処理領域情報は、図２４に示す超解像処理実行部４０４ａ〜ｃと、ＯＭＶ精度検査器４０５ａ〜ｃに送られる。
超解像処理実行部４０４ａ〜ｃでは、ＬＲ画像、ＳＲ画像、超解像処理領域情報を入力して、フィードバック値およびＯＭＶを計算する。
【０１６３】
例えば撮像して得られた低解像度のＬＲ画像であるＬＲ０は超解像処理実行部４０４ａに入力され、ＬＲ１は超解像処理実行部４０４ｂに入力される。また、ＬＲ２は超解像処理実行部４０４ｃに入力される。ＬＲ０〜ＬＲ２は、例えば連続して撮像された画像であり、それぞれ撮像範囲に重なりを有している。連続して撮像が行われた場合、通常、撮像結果の画像に写る被写体の範囲はそれぞれ手ぶれなどにより若干ずれたものとなり、完全に一致せずに重なりを一部に有するものとなる。なお、入力画像は必ずしも連続撮影画像に限らず、重なりを一部に有する画像であればよい。
【０１６４】
超解像処理実行部４０４ａは、低解像度画像ＬＲ０と、ＳＲ画像バッファ４０３に記憶されている高解像度画像ＳＲ画像に基づいて、それらの差分を表す差分画像を生成し、フィードバック値およびＯＭＶを計算する。なお、この処理は超解像処理領域情報によって指定された領域に対してのみ実行される。超解像処理領域情報によって指定された領域に対応するオブジェクト対応動きベクトル（ＯＭＶ）は、ＯＭＶ精度検査部４０５ａに入力される。
【０１６５】
ＯＭＶ精度検査部４０５ａは、超解像処理実行部４０４ａの生成したオブジェクト対応動きベクトル（ＯＭＶ）の精度を検証する。なお、この処理の詳細については、後段で図２７を参照して説明する。
【０１６６】
ＯＭＶ精度検査部４０５ａにおける検証結果として超解像処理実行部４０４ａの生成したオブジェクト対応動きベクトル（ＯＭＶ）の精度が高いと判定した場合は、超解像処理実行部４０４ａの生成したフィードバック値を合算処理部４０６に出力する。フィードバック値は、ＳＲ画像と同じ解像度の差分画像を表す値になっている。
【０１６７】
同様に、超解像処理実行部４０４ｂは、次のフレームの低解像度画像ＬＲ１とＳＲ画像バッファ４０３に記憶されている高解像度画像ＳＲ画像に基づいて、それらの差分を表す差分画像を生成し、フィードバック値およびＯＭＶを計算する。なお、この処理は超解像処理領域情報によって指定された領域に対してのみ実行される。超解像処理領域情報によって指定された領域に対応するオブジェクト対応動きベクトル（ＯＭＶ）は、ＯＭＶ精度検査部４０５ｂに入力される。
【０１６８】
ＯＭＶ精度検査部４０５ｂは、超解像処理実行部４０４ｂの生成したオブジェクト対応動きベクトル（ＯＭＶ）の精度を検証する。検証結果として超解像処理実行部４０４ｂの生成したオブジェクト対応動きベクトル（ＯＭＶ）の精度が高いと判定した場合は、超解像処理実行部４０４ｂの生成したフィードバック値を合算処理部４０６に出力する。
【０１６９】
同様に、超解像処理実行部４０４ｃは、次のフレームの低解像度画像ＬＲ２とＳＲ画像バッファ４０３に記憶されている高解像度画像ＳＲ画像に基づいて、それらの差分を表す差分画像を生成し、フィードバック値およびＯＭＶを計算する。なお、この処理は超解像処理領域情報によって指定された領域に対してのみ実行される。超解像処理領域情報によって指定された領域に対応するオブジェクト対応動きベクトル（ＯＭＶ）は、ＯＭＶ精度検査部４０５ｃに入力される。
【０１７０】
ＯＭＶ精度検査部４０５ｃは、超解像処理実行部４０４ｃの生成したオブジェクト対応動きベクトル（ＯＭＶ）の精度を検証する。検証結果として超解像処理実行部４０４ｃの生成したオブジェクト対応動きベクトル（ＯＭＶ）の精度が高いと判定した場合は、超解像処理実行部４０４ｃの生成したフィードバック値を合算処理部４０６に出力する。
【０１７１】
なお、ＯＭＶ精度検査部４０５ａ〜ｃでは、ＯＭＶ、ＳＲ画像、ＬＲ画像、超解像処理領域情報を入力して、超解像処理実行部４０４ａ〜ｃの生成したオブジェクト対応動きベクトル（ＯＭＶ）の精度を検証する。精度検証結果に従いスイッチを変化させる。ＯＭＶの精度が高いと判断された場合には、フィードバック値を合算処理部４０６に伝送できるようにスイッチ操作を行う。
【０１７２】
合算処理部４０６は、超解像処理実行部４０４ａ〜４０４ｃから供給されたフィードバック値を平均化し、平均化して求められた、ＳＲ画像と同じ解像度の画像を加算処理部４０７に出力する。加算処理部４０７は、ＳＲ画像バッファ４０３に記憶されているＳＲ画像と合算処理部４０６から供給されたＳＲ画像を加算し、加算して得られたＳＲ画像を出力する。加算処理部４０７の出力は、超解像処理の結果として画像処理装置の外部に供給されるとともに、ＳＲ画像バッファ４０３に供給され、記憶される。
【０１７３】
次に、図２４に示す超解像処理実行部４０４ａ〜ｃの詳細構成について、図２６を参照して説明する。図２６に示されるように、超解像処理実行部４０４は、動きベクトル検出部４１１、動き補償処理部４１２、ダウンサンプリング処理部４１３、加算処理部４１４、アップサンプリング処理部４１５、逆方向動き補償処理部４１６を有する。
【０１７４】
図２４に示すＳＲ画像バッファ４０３から読み出された高解像度画像ＳＲ画像は動きベクトル検出部４１１と動き補償処理部４１２に入力される。また、例えば撮像して得られた低解像度画像ＬＲｎは動きベクトル検出部４１１と加算処理部４１４に入力される。また、領域指定ＧＵＩ４０１においてユーザの指定した超解像処理領域情報は、動きベクトル検出部４１１と動き補償処理部４１２と、逆方向動き補償処理部４１６に入力される。
【０１７５】
動きベクトル検出部４１１は、入力された高解像度画像であるＳＲ画像と低解像度画像であるＬＲｎに基づいて、ＳＲ画像を基準とした動きベクトル（ＭＶ：Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）を、超解像処理指定領域単位、例えばオブジェクト単位で算出する。なお、指定されたオブジェクトがｎ個ある場合、ｎ個のオブジェクト各々に対応するオブジェクト対応動きベクトル（ＯＭＶ）を算出する。ｎ個のオブジェクト対応動きベクトル（ＯＭＶ）は、動き補償処理部４１２、逆方向動き補償処理部４１６に供給される。なお、動きベクトル検出部４１１の詳細構成は、先に図１３を参照して説明した構成と同じである。
【０１７６】
動き補償処理部４１２は、先に図１６を参照して説明した処理を実行する。すなわち、図１６に示す以下の情報、
（１）ＳＲ画像バッファ４０４から読み出された高解像度画像ＳＲ画像、
（２）領域指定ＧＵＩ４０１から供給される超解像処理領域情報（オブジェクト領域情報）、
（３）動きベクトル検出部４１１から供給されるオブジェクト対応の動きベクトルであるオブジェクト動きベクトル（ＯＭＶ）、
これらの情報を入力して、高解像度画像ＳＲ画像に動き補償を施して、
（４）動き補償（ＭＣ：Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）画像を生成する。動き補償処理部４１２は、生成した動き補償画像（ＭＣ画）をダウンサンプリング処理部４１３に出力する。
【０１７７】
なお、図１６にはすべてのオブジェクトの情報を利用した処理例を示しているが、本例では、領域指定ＧＵＩ４０１から供給される超解像処理領域情報（例えばオブジェクト領域情報）に対応する領域のみを処理対象として処理が実行される。
【０１７８】
図２６に示す超解像処理実行部４０４のダウンサンプリング処理部４１３は、動き補償処理部４１２から供給された画像をダウンサンプリングすることによってＬＲｎと同じ解像度の画像を生成し、生成した画像を加算処理部４１４に出力する。
【０１７９】
加算処理部４１４は、ＬＲｎと、ダウンサンプリング処理部４１３からの出力画像の差分を表す差分画像を生成し、生成した差分画像をアップサンプリング処理部４１５に出力する。
【０１８０】
アップサンプリング処理部４１５は、加算処理部４１４から供給された差分画像をアップサンプリングすることによってＳＲ画像と同じ解像度の画像を生成し、生成した画像を逆方向動き補償処理部４１６に出力する。
【０１８１】
逆方向動き補償処理部４１６は、先に図１７を参照して説明した処理を行う。すなわち、逆方向動き補償処理部４１６は、
（１）アップサンプリング処理部４１５から入力する差分画像、
（２）領域指定ＧＵＩ４０１から供給される超解像処理領域情報（オブジェクト領域情報）、
（３）動きベクトル検出部４１１から供給されるオブジェクト対応の動きベクトルであるオブジェクト動きベクトル（ＯＭＶ）、
これらの情報を入力する。
なお、オブジェクト検出部４１７から供給されるオブジェクト領域情報はＳＲ画像を構成する各画素がどのオブジェクトに属するかを示すラベル情報を含んでいる。
【０１８２】
逆方向動き補償処理部４１６は、（２）領域指定ＧＵＩ４０１から供給される超解像処理領域情報（オブジェクト領域情報）と、（３）動きベクトル検出部４１１から供給されるオブジェクト対応の動きベクトルであるオブジェクト動きベクトル（ＯＭＶ）に基づいて、（１）アップサンプリング処理部４１５から入力する差分画像に逆方向の動き補償を施して、図１７に示す（４）逆方向の動き補償を施して得られた差分画像を生成する。
【０１８３】
なお、図１７にはすべてのオブジェクトの情報を利用した処理例を示しているが、本例では、領域指定ＧＵＩ４０１から供給される超解像処理領域情報（例えばオブジェクト領域情報）に対応する領域のみを処理対象として処理を実行する。
【０１８４】
次に、図２４に示すＯＭＶ精度検査部４０５の詳細構成と処理について図２７を参照して説明する。ＯＭＶ精度検査部４０５は、超解像処理実行部４０４の生成したオブジェクト対応動きベクトル（ＯＭＶ）の精度を検証する。検証結果として超解像処理実行部４０４の生成したオブジェクト対応動きベクトル（ＯＭＶ）の精度が高いと判定した場合は、超解像処理実行部４０４の生成したフィードバック値を合算処理部４０６に出力するように制御を行う。
【０１８５】
ＯＭＶ精度検査部４０５は、図２７に示すように、動き補償処理部４２１、コスト計算部４２２、判定処理部４２３を有する。ＯＭＶ精度検査部４０５は、ＯＭＶ、ＳＲ画像、ＬＲ画像、超解像処理領域情報を入力して、超解像処理実行部４０４の生成したオブジェクト対応動きベクトル（ＯＭＶ）の精度を検証する。ＯＭＶの精度が高いと判断された場合には、フィードバック値を合算処理部４０６に伝送できるようにスイッチ操作を行う。
【０１８６】
動き補償処理部４２１は、図２４に示すＳＲ画像バッファ４０３からＳＲ画像を入力し、さらに超解像処理実行部４０４の生成したオブジェクト対応動きベクトル（ＯＭＶ）を入力する。動き補償処理部４２１は、ＳＲ画像に対してオブジェクト対応動きベクトル（ＯＭＶ）を適用した動き補償を行った動き補償画像（ＯＭＣしたＳＲ画像）を生成して、コスト計算部４２２に出力する。
【０１８７】
コスト計算部４２２は、動き補償処理部４２１から入力した動き補償画像（ＯＭＣしたＳＲ画像）とアップサンプルしたＬＲ画像を入力して処理領域における差分をコストとして算出する。なお、コスト算出は、先に実施例２において図２０を参照して説明したＯＭＶ調整部２３４におけるコスト計算部３０３の処理と同様の処理である。すなわち、動き補償画像とアップサンプルしたＬＲ画像間の差異に対応するコスト計算を行う。コスト計算は、動き補償画像とアップサンプルしたＬＲ画像に含まれる処理対象のＯＭＶに対応する特定のオブジェクト領域の画素値を取得して、オブジェクト内の画素値の最小二乗誤差（ＳＳＤ）もしくは正規化相関（ＮＣＣ）等を先に説明した計算式に従って計算する。
【０１８８】
最小二乗誤差（ＳＳＤ）は値が小さいほどコストが小さいと判断される。また、正規化相関（ＮＣＣ）は値が大きいほどコストが小さいと判断される。コスト計算部４２２は、計算されたコストを判定処理部４２３に出力する。判定処理部４２３では、あらかじめ定められた閾値と、算出コストを比較する。
【０１８９】
算出コストが閾値以下であれば、超解像処理実行部４０４の生成したオブジェクト対応動きベクトル（ＯＭＶ）の精度が高いと判定し、超解像処理実行部４０４の生成したフィードバック値を合算処理部４０６に出力するように制御を行う。
【０１９０】
算出コストが閾値以下でない場合は、超解像処理実行部４０４の生成したオブジェクト対応動きベクトル（ＯＭＶ）の精度が低いと判定し、超解像処理実行部４０４の生成したフィードバック値の合算処理部４０６への出力は停止する。
【０１９１】
図２４に示すように、超解像処理実行部４０４は複数構成されているので、精度の低いフィードバック値の合算処理部４０６への出力は停止され、精度の高いフィードバック値のみが合算処理部４０６へ出力されることになる。すなわち精度の高いフィードバック値のみが選択的に利用されてＳＲ画像が生成される。
【０１９２】
本実施例に従った超解像処理の特徴は、図２８に示すように、領域指定ＧＵＩ４０１を利用してユーザが指定したオブジェクト、例えばオブジェクト３（自動車）のみを処理対象とした処理が実行できることである。図２８（２）に示すように、動きベクトル検出部４１１が指定されたオブジェクト対応の動きベクトルであるオブジェクト動きベクトル（ＯＭＶ）を生成する。
【０１９３】
超解像処理において生成する図２８に示す（３）動き補償画像、（４）逆動き補償処理を施した差分画像、これらの画像は、指定されたオブジェクト領域のみのオブジェクト対応の動きベクトルであるオブジェクト動きベクトル（ＯＭＶ）を適用して生成される。
【０１９４】
本発明の処理では、指定されたオブジェクトのみについてのみ処理が行われるため、処理効率が高められる。また、図２４〜図２７を参照して説明したように、超解像処理実行部の生成するＯＭＶの精度に応じて選択的にフィードバック値の適用が行われる構成であり、精度の高いＯＭＶに対応するフィードバック値の適用が可能となり、より高精度な超解像画像の生成が可能となる。
【０１９５】
（５）画像処理装置のハードウェア構成例
最後に、図２９を参照して、上述した処理を実行する装置の１つのハードウェア構成例としてパーソナルコンピュータのハードウェア構成例について説明する。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）７０２、または記憶部７０８に記憶されているプログラムに従って各種の処理を実行する。例えば、上述の実施例において説明した超解像処理などの処理プログラムを実行する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）７０３には、ＣＰＵ７０１が実行するプログラムやデータなどが適宜記憶される。これらのＣＰＵ３０１、ＲＯＭ７０２、およびＲＡＭ７０３は、バス７０４により相互に接続されている。
【０１９６】
ＣＰＵ７０１はバス７０４を介して入出力インタフェース７０５に接続され、入出力インタフェース７０５には、キーボード、マウス、マイクロホンなどよりなる入力部７０６、ディスプレイ、スピーカなどよりなる出力部７０７が接続されている。ＣＰＵ７０１は、入力部７０６から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部７０７に出力する。
【０１９７】
入出力インタフェース７０５に接続されている記憶部７０８は、例えばハードディスクからなり、ＣＰＵ７０１が実行するプログラムや各種のデータを記憶する。通信部７０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０１９８】
入出力インタフェース７０５に接続されているドライブ７１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア７１１を駆動し、記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部７０８に転送され記憶される。
【０１９９】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０２００】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０２０１】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０２０２】
以上、説明したように、本発明の一実施例の構成によれば、入力画像の解像度を高めた高解像度画像を生成する画像処理装置において、低解像度画像と高解像度画像を入力して両画像の差分を表す差分画像を生成し、差分画像と高解像度画像との加算処理を行う。超解像処理実行部は、低解像度画像と高解像度画像に共通に含まれるオブジェクトの画像間動きを示すオブジェクト対応動きベクトルをオブジェクト単位で検出して、検出したオブジェクト対応動きベクトルを各オブジェクト領域に適用して生成した動き補償画像を利用して差分画像の生成処理を行う。本構成によれば、オブジェクト固有の動きをオブジェクト領域単位で反映させることが可能となり、精度の高い高解像度画像の生成処理が実現される。
【図面の簡単な説明】
【０２０３】
【図１】低解像度の画像から高解像度画像を生成する超解像処理について説明する図である。
【図２】低解像度の画像から高解像度画像を生成する超解像処理を実行する構成例について説明する図である。
【図３】低解像度の画像から高解像度画像を生成する超解像処理を実行する構成例について説明する図である。
【図４】超解像処理を実行する画像処理装置の構成例について説明する図である。
【図５】動きベクトル算出処理に際して考慮すべき動き成分について説明する図である。
【図６】ローカル動きベクトル（ＬＭＶ：Ｌｏｃａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）と、グローバル動きベクトル（ＧＭＶ：Ｇｌｏｖａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）の算出処理例について説明する図である。
【図７】本発明の一実施例に係る画像処理装置の構成例について説明する図である。
【図８】本発明の一実施例に係る画像処理装置の構成例について説明する図である。
【図９】本発明の一実施例に係る超解像処理部の構成例について説明する図である。
【図１０】本発明の一実施例に係る超解像処理実行部の構成例について説明する図である。
【図１１】本発明の一実施例に係る超解像処理実行部に設定されるオブジェクト検出部の構成例について説明する図である。
【図１２】オブジェクト検出部の処理例について説明する図である。
【図１３】動きベクトル検出部の構成例について説明する図である。
【図１４】ローカル動きベクトル（ＬＭＶ）算出部の実行するローカル動きベクトル（ＬＭＶ）の算出処理例について説明する図である。
【図１５】オブジェクト動きベクトル（ＯＭＶ）算出部２３３の実行するオブジェクト動きベクトル（ＯＭＶ）の算出処理例について説明する図である。
【図１６】超解像処理実行部内の動き補償処理部の実行する処理について説明する図である。
【図１７】超解像処理実行部内の逆方向動き補償処理部の実行する処理について説明する図である。
【図１８】本発明の第１実施例に従った超解像処理の特徴について説明する図である。
【図１９】第２実施例における動きベクトル検出部の構成例について説明する図である。
【図２０】第２実施例における動きベクトル検出部内のＯＭＶ調整部の構成例について説明する図である。
【図２１】第２実施例における動きベクトル検出部内のＯＭＶ調整部内のＯＭＶ調整処理制御部の構成例について説明する図である。
【図２２】ＭＶ調整処理制御部内の調整ベクトル生成部の構成例について説明する図である。
【図２３】第３実施例における超解像処理領域のユーザ選択について説明する図である。
【図２４】第３実施例における超解像処理部の構成例について説明する図である。
【図２５】第３実施例における超解像処理部内の領域指定ＧＵＩの処理例について説明する図である。
【図２６】第３実施例における超解像処理実行部の構成例について説明する図である。
【図２７】超解像処理実行部内のＯＭＶ精度検査部の構成例について説明する図である。
【図２８】本発明の第３実施例に従った超解像処理の特徴について説明する図である。
【図２９】本発明の一実施例に係る画像処理装置のハードウェア構成例について説明する図である。
【符号の説明】
【０２０４】
１  画像処理装置
１１  超解像処理部
１２  合算処理部
１３  加算処理部
１４  ＳＲ画像バッファ
２１  動きベクトル検出部
２２  動き補償処理部
２３  ダウンサンプリング処理部
２４  加算処理部
２５  アップサンプリング処理部
２６  逆方向動き補償処理部
３０  画像処理装置
３１  撮像部
３２  画質調整部
３３  画像圧縮部
３４  記録メディア
３５  画像復号部
３６  超解像処理部
３７  表示部
１００  画像処理装置
１０１  撮像部
１０２  画質調整部
１０３  画像圧縮部
１０４  記録メディア
１０５  画像復号部
１０６  超解像処理部
１０７  表示部
１１０  データ送信装置
１１１  撮像部
１１２  画質調整部
１１３  画像圧縮部
１１４  送信部
１２０  画像処理装置
１２１  受信部
１２２  画像復号部
１２３  超解像処理部
１２４  表示部
２００  超解像処理部
２０１  超解像処理実行部
２０２  合算処理部
２０３  加算処理部
２０４  ＳＲ画像バッファ
２１１  動きベクトル検出部
２１２  動き補償処理部
１２３  ダウンサンプリング処理部
２１４  加算回路
２１５  アップサンプリング処理部
２１６  逆動き補償処理部
２１７  オブジェクト検出部
２２１  領域検出部
２２２  ラベル生成部
２３１  アップサンプリング処理部
２３２  ローカル動きベクトル（ＬＭＶ）算出部
２３３  オブジェクト動きベクトル（ＯＭＶ）算出部
２３４  オブジェクト動きベクトル（ＯＭＶ）調整部
３０１  オブジェクト動きベクトル（ＯＭＶ）調整処理制御部
３０２  動き補償処理部
３０３  コスト計算部
３２１  第１バッファ
３２２  処理判定部
３２３  第２バッファ
３２４  差分器
３２５  スイッチ
３２６  調整ベクトル生成部
３３１  勾配ベクトル計算部
３３２  加算器
４００  超解像処理部
４０１  領域指定ＧＵＩ
４０２  アップサンプリング処理部
４０３  ＳＲ画像バッファ
４０４  超解像処理実行部
４０５  オブジェクト対応動きベクトル（ＯＭＶ）精度検査部
４０６  合算処理部
４０７  加算処理部
４１１  動きベクトル検出部
４１２  動き補償処理部
４２３  ダウンサンプリング処理部
４１４  加算回路
４１５  アップサンプリング処理部
４１６  逆動き補償処理部
７０１  ＣＰＵ
７０２  ＲＯＭ
７０３  ＲＡＭ
７０４  バス
７０５  入出力インタフェース
７０６  入力部
７０７  出力部
７０８  記憶部
７０９  通信部
７１０  ドライブ
７１１  リムーバブルメディア
【図２】
2010122934.tif 000008
【図３】
2010122934.tif 000009
【図９】
2010122934.tif 000010
【図１０】
2010122934.tif 000011
【図１１】
2010122934.tif 000012
【図１３】
2010122934.tif 000013
【図１９】
2010122934.tif 000014
【図２０】
2010122934.tif 000015
【図２１】
2010122934.tif 000016
【図２２】
2010122934.tif 000017
【図２４】
2010122934.tif 000018
【図２６】
2010122934.tif 000019
【図２７】
2010122934.tif 000020
【図２９】
2010122934.tif 000021
【図１】
2010122934.tif 000022
【図４】
2010122934.tif 000023
【図５】
2010122934.tif 000024
【図６】
2010122934.tif 000025
【図７】
2010122934.tif 000026
【図８】
2010122934.tif 000027
【図１２】
2010122934.tif 000028
【図１４】
2010122934.tif 000029
【図１５】
2010122934.tif 000030
【図１６】
2010122934.tif 000031
【図１７】
2010122934.tif 000032
【図１８】
2010122934.tif 000033
【図２３】
2010122934.tif 000034
【図２５】
2010122934.tif 000035
【図２８】
2010122934.tif 000036
【手続補正書】
【提出日】平成22年2月4日(2010.2.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
低解像度画像と高解像度画像を入力して両画像の差分を表す差分画像を生成する超解像処理実行部と、
前記差分画像と前記高解像度画像との加算処理を行う加算処理部を有し、
前記超解像処理実行部は、
前記低解像度画像と前記高解像度画像に共通に含まれるオブジェクトの画像間動きを示すオブジェクト対応動きベクトルをオブジェクト単位で検出する動きベクトル検出部を有し、検出したオブジェクト対応動きベクトルを各オブジェクト領域に適用して生成した動き補償画像を利用して前記差分画像の生成処理を行う構成である画像処理装置。
【請求項２】
前記超解像処理実行部は、複数の異なる低解像度画像と前記高解像度画像との差分を表す差分画像を生成する複数の超解像処理実行部によって構成され、
前記加算処理部は、
前記複数の超解像処理実行部の出力する複数の差分画像を合算する合算処理部の出力と前記高解像度画像との加算処理を行う構成である請求項１に記載の画像処理装置。
【請求項３】
前記超解像処理実行部は、さらに、
前記高解像度画像に含まれるオブジェクトを検出し、高解像度画像の構成画素各々の所属オブジェクトを識別するラベルを含むオブジェクト領域情報を生成するオブジェクト検出部を有し、
前記動きベクトル検出部は、
前記オブジェクト検出部の生成したオブジェクト領域情報を適用してオブジェクト単位のオブジェクト対応動きベクトルを検出する処理を実行する構成である請求項１または２に記載の画像処理装置。
【請求項４】
前記超解像処理実行部は、
前記高解像度画像から超解像処理を実行する領域の指定情報を入力するための領域指定ＧＵＩを有し、
前記動きベクトル検出部は、
前記領域指定ＧＵＩを介して指定された領域指定情報を適用してオブジェクト単位のオブジェクト対応動きベクトルを検出する処理を実行する構成である請求項１または２に記載の画像処理装置。
【請求項５】
前記動きベクトル検出部は、
前記低解像度画像と前記高解像度画像に共通に含まれるオブジェクトの画像間動きを示すオブジェクト対応動きベクトルをオブジェクト単位で算出するオブジェクト対応動きベクトル算出部と、
前記オブジェクト対応動きベクトル算出部の算出したオブジェクト対応動きベクトルを調整するオブジェクト対応動きベクトル調整部を有し、
前記オブジェクト対応動きベクトル調整部は、
前記オブジェクト対応動きベクトル算出部の算出したオブジェクト対応動きベクトルの構成パラメータを変更して、変更オブジェクト対応動きベクトルを生成し、変更オブジェクト対応動きベクトルを適用した動き補償画像と、前記低解像度画像の差分に基づくコスト算出により、低コストの変更オブジェクト対応動きベクトルを生成して、前記差分画像の生成に適用するベクトルとして出力する構成である請求項１または２に記載の画像処理装置。
【請求項６】
前記画像処理装置は、さらに、
前記超解像処理実行部の生成したオブジェクト対応動きベクトルの精度を検査するオブジェクト対応動きベクトル検査部を有し、
前記オブジェクト対応動きベクトル検査部は、
前記高解像度画像に対して前記超解像処理実行部の生成したオブジェクト対応動きベクトルを適用した動き補償画像と、前記低解像度画像の差分に基づくコスト算出を実行し、予め設定した閾値以下のコストが算出された場合に、前記オブジェクト対応動きベクトルが許容精度を有すると判定して、該判定に基づいて前記加算処理部における加算処理対象として出力する制御を行う構成である請求項１または２に記載の画像処理装置。
【請求項７】
前記超解像処理実行部は、
前記オブジェクト対応動きベクトルを各オブジェクト領域に適用して生成した動き補償画像を利用して前記差分画像の生成処理を行い、前記差分画像内にオブジェクトの移動により生じたオクルージョン領域が存在する場合は、該オクルージョン領域に画素値０を設定した差分画像の生成を行なう構成である請求項１または２に記載の画像処理装置。
【請求項８】
画像処理装置において高解像度画像生成処理を実行する画像処理方法であり、
超解像処理実行部が、低解像度画像と高解像度画像を入力して両画像の差分を表す差分画像を生成する超解像処理実行ステップと、
加算処理部が、前記差分画像と前記高解像度画像との加算処理を行う加算処理ステップを有し、
前記超解像処理実行ステップは、
前記低解像度画像と前記高解像度画像に共通に含まれるオブジェクトの画像間動きを示すオブジェクト対応動きベクトルをオブジェクト単位で検出し、検出したオブジェクト対応動きベクトルを各オブジェクト領域に適用して生成した動き補償画像を利用して前記差分画像の生成処理を行うステップである画像処理方法。
【請求項９】
画像処理装置において高解像度画像生成処理を実行させるプログラムであり、
超解像処理実行部に、低解像度画像と高解像度画像を入力して両画像の差分を表す差分画像を生成させる超解像処理実行ステップと、
加算処理部に、前記差分画像と前記高解像度画像との加算処理を行わせる加算処理ステップを有し、
前記超解像処理実行ステップは、
前記低解像度画像と前記高解像度画像に共通に含まれるオブジェクトの画像間動きを示すオブジェクト対応動きベクトルをオブジェクト単位で検出させるステップと、
検出したオブジェクト対応動きベクトルを各オブジェクト領域に適用して生成した動き補償画像を利用して前記差分画像の生成処理を行わせるステップを含むプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
さらに、本発明の画像処理装置の一実施態様において、前記超解像処理実行部は、複数の異なる低解像度画像と前記高解像度画像との差分を表す差分画像を生成する複数の超解像処理実行部によって構成され、前記加算処理部は、前記複数の超解像処理実行部の出力する複数の差分画像を合算する合算処理部の出力と前記高解像度画像との加算処理を行う構成である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１９５
【補正方法】変更
【補正の内容】
【０１９５】
（５）画像処理装置のハードウェア構成例
最後に、図２９を参照して、上述した処理を実行する装置の１つのハードウェア構成例としてパーソナルコンピュータのハードウェア構成例について説明する。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）７０２、または記憶部７０８に記憶されているプログラムに従って各種の処理を実行する。例えば、上述の実施例において説明した超解像処理などの処理プログラムを実行する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）７０３には、ＣＰＵ７０１が実行するプログラムやデータなどが適宜記憶される。これらのＣＰＵ７０１、ＲＯＭ７０２、およびＲＡＭ７０３は、バス７０４により相互に接続されている。