(57)【特許請求の範囲】
【請求項１】
動き補償（ＭＣ：Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）画像を生成する画像処理装置であり、
動きベクトル情報に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出する画素相対位置算出部と、
前記画素相対位置算出部の算出した相対位置情報の量子化処理を行い、量子化相対位置情報を生成する相対位置量子化部と、
前記量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成する動き補償画像生成部と、
相対位置コピー処理部を有し、
前記画素相対位置算出部は、前記動き補償画像を構成する画素から選択された一部の処理画素についてのみ前記参照画像の参照画素の画素位置との相対位置を算出し、
前記相対位置量子化部は、前記画素相対位置算出部において相対位置を算出した処理画素に対応する相対位置情報の量子化処理を行う構成であり、
前記相対位置コピー処理部は、
量子化相対位置の算出されていない非処理画素について、量子化相対位置の算出されている処理画素と同一の量子化相対位置を設定する処理を実行して、前記動き補償画像生成部に出力する構成であり、
前記動き補償画像生成部は、
前記相対位置コピー処理部から入力する量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成する構成であることを特徴とする画像処理装置。
【請求項２】
前記画素相対位置算出部は、
画像フレームに含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル（ＧＭＶ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出する構成であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
画像処理装置において、動き補償（ＭＣ：Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）画像を生成する画像処理方法であり、
画素相対位置算出部が、動きベクトル情報に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出する画素相対位置算出ステップと、
相対位置量子化部が、前記画素相対位置算出部の算出した相対位置情報の量子化処理を行い、量子化相対位置情報を生成する相対位置量子化ステップと、
動き補償画像生成部が、前記量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成する動き補償画像生成ステップとを実行し、
前記画素相対位置算出ステップは、
前記動き補償画像を構成する画素から選択された一部の処理画素についてのみ前記参照画像の参照画素の画素位置との相対位置を算出するステッであり、
前記相対位置量子化ステップは、前記画素相対位置算出部において相対位置を算出した処理画素に対応する相対位置情報の量子化処理を行うステップであり、
さらに、相対位置コピー処理部が、量子化相対位置の算出されていない非処理画素について、量子化相対位置の算出されている処理画素と同一の量子化相対位置を設定する処理を実行して、前記動き補償画像生成部に出力し、
前記動き補償画像生成ステップにおいて、
前記相対位置コピー処理部から入力する量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成することを特徴とする画像処理方法。
【請求項４】
前記画素相対位置算出ステップは、
画像フレームに含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル（ＧＭＶ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出するステップであることを特徴とする請求項３に記載の画像処理方法。
【請求項５】
画像処理装置において、動き補償（ＭＣ：Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）画像を生成させるコンピュータ・プログラムであり、
画素相対位置算出部に、動きベクトル情報に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出させる画素相対位置算出ステップと、
相対位置量子化部に、前記画素相対位置算出部の算出した相対位置情報の量子化処理を行い、量子化相対位置情報を生成させる相対位置量子化ステップと、
動き補償画像生成部に、前記量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成させる動き補償画像生成ステップとを実行させ、
前記画素相対位置算出ステップは、
前記動き補償画像を構成する画素から選択された一部の処理画素についてのみ前記参照画像の参照画素の画素位置との相対位置を算出させるステッであり、
前記相対位置量子化ステップは、前記画素相対位置算出部において相対位置を算出した処理画素に対応する相対位置情報の量子化処理を行わせるステップであり、
さらに、相対位置コピー処理部に、量子化相対位置の算出されていない非処理画素について、量子化相対位置の算出されている処理画素と同一の量子化相対位置を設定する処理を実行して、前記動き補償画像生成部に出力させ、
前記動き補償画像生成ステップにおいて、
前記相対位置コピー処理部から入力する量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成させることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、および画像処理方法、並びにコンピュータ・プログラムに関する。特に、画像の超解像処理や符号化処理などにおいて利用する動き補償（ＭＣ：Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）画像生成を行う画像処理装置、および画像処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
低解像度の画像から高解像度の画像を生成する手法として超解像処理が知られている。超解像処理は、重なりを持つ複数の低解像度の画像から、１フレームの高解像度の画像におけるそれぞれの画素の画素値を求める処理である。
【０００３】
超解像処理により、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などの撮像素子によって撮影された画像から、これらの撮像素子が有する解像度以上の解像度の画像を再構成することが可能となる。具体的には、高解像度の衛星写真を生成するときなどに超解像が用いられる。なお、超解像処理については例えば非特許文献１に記載されている。
【０００４】
図１および図２を参照して超解像の原理について説明する。図１（１），（２）の上方に示されるａ，ｂ，ｃ，ｄ，ｅ，ｆは、ある被写体を撮像して得られた低解像度の画像（ＬＲ（Ｌｏｗ  Ｒｅｓｏｌｕｔｉｏｎ）画像）から求めようとする高解像度の画像（ＳＲ（Ｓｕｐｅｒ  Ｒｅｓｏｌｕｔｉｏｎ）画像）の画素値、すなわち、ＳＲ画像の解像度と同じ解像度で被写体を画素化したときのそれぞれの画素の画素値を表す。
【０００５】
例えば、撮像素子の１つの画素の幅が、被写体を構成する画素の２つ分の幅だけあり、被写体を、その解像度のまま取り込むことができない場合、図１（１）に示されるように、撮像素子の３つの画素のうちの左側の画素においてはａとｂの画素値を混合したＡの画素値が取り込まれ、中央の画素においてはｃとｄの画素値を混合したＢの画素値が取り込まれる。また、右側の画素においてはｅとｆの画素値を混合したＣの画素値が取り込まれる。Ａ，Ｂ，Ｃは、撮像して得られたＬＲ画像を構成する画素の画素値を表す。
【０００６】
手ぶれなどにより、図１（１）の被写体とともに、図１（１）の被写体の位置を基準として、被写体を構成する画素の０．５画素分の幅だけシフトさせた位置の被写体が図１（２）に示されるようにして取り込まれた場合（シフトさせながら取り込まれた場合）、撮像素子の３つの画素のうちの左側の画素においてはａの半分とｂの全体とｃの半分の画素値を混合したＤの画素値が取り込まれ、中央の画素においてはｃの半分とｄの全体とｅの半分の画素値を混合したＥの画素値が取り込まれる。また、右側の画素においてはｅの半分とｆの全体の画素値を混合したＦの画素値が取り込まれる。Ｄ，Ｅ，Ｆも、撮像して得られたＬＲ画像を構成する画素の画素値を表す。
【０００７】
このようなＬＲ画像の撮像結果から下式（式１）が求められる。（式１）からａ，ｂ，ｃ，ｄ，ｅ，ｆをそれぞれ求めることによって、撮像素子が有する解像度より高い解像度の画像を得ることが可能になる。
【０００８】
【数１】
0004915317.tif 000002
・・・（式１）
【０００９】
従来から知られる超解像処理の一方式として、バックプロジェクション（Ｂａｃｋ  Ｐｒｏｊｅｃｔｉｏｎ）による超解像処理について図２を参照して説明する。図２に示す画像処理装置１は例えばデジタルカメラに設けられ、撮像して得られた静止画の処理を行う。
【００１０】
図２に示されるように、画像処理装置１は、超解像処理部１１ａ〜１１ｃ、合算処理部１２、加算処理部１３、およびＳＲ画像バッファ１４から構成される。例えば撮像して得られた低解像度のＬＲ画像であるＬＲ０は超解像処理部１１ａに入力され、ＬＲ１は超解像処理部１１ｂに入力される。また、ＬＲ２は超解像処理部１１ｃに入力される。ＬＲ０〜ＬＲ２は連続して撮像された画像であり、それぞれ撮像範囲に重なりを有している。連続して撮像が行われた場合、通常、撮像結果の画像に写る被写体の範囲はそれぞれ手ぶれなどにより若干ずれたものとなり、完全に一致せずに重なりを一部に有するものとなる。
【００１１】
超解像処理部１１ａは、低解像度画像ＬＲ０と、ＳＲ画像バッファ１４に記憶されている高解像度画像ＳＲ画像に基づいて、それらの差分を表す差分画像を生成し、フィードバック値を合算処理部１２に出力する。フィードバック値は、ＳＲ画像と同じ解像度の差分画像を表す値になっている。
【００１２】
なお、ＳＲ画像バッファ１４には、直前に行われた超解像処理によって生成された高解像度画像であるＳＲ画像が記憶されている。処理の開始直後であり、ＳＲ画像がまだ１フレームも生成されていない場合、例えば、ＬＲ０を、ＳＲ画像と同じ解像度の画像にアップサンプリングして得られた画像がＳＲ画像バッファ１４に記憶される。
【００１３】
同様に、超解像処理部１１ｂは、次のフレームの低解像度画像ＬＲ１とＳＲ画像バッファ１４に記憶されている高解像度画像ＳＲ画像に基づいて、それらの差分を表す差分画像を生成し、生成した差分画像を表すフィードバック値を合算処理部１２に出力する。
【００１４】
さらに、超解像処理部１１ｃは、次の低解像度画像ＬＲ２とＳＲ画像バッファ１４に記憶されている高解像度画像ＳＲ画像に基づいて、それらの差分を表す差分画像を生成し、生成した差分画像を表すフィードバック値を合算処理部１２に出力する。
【００１５】
合算処理部１２は、超解像処理部１１ａ〜１１ｃから供給されたフィードバック値を平均化し、平均化して求められた、ＳＲ画像と同じ解像度の画像を加算処理部１３に出力する。加算処理部１３は、ＳＲ画像バッファ１４に記憶されているＳＲ画像と合算処理部１２から供給されたＳＲ画像を加算し、加算して得られたＳＲ画像を出力する。加算処理部１３の出力は、超解像処理の結果として画像処理装置１の外部に供給されるとともに、ＳＲ画像バッファ１４に供給され、記憶される。
【００１６】
図３は、超解像処理部１１（超解像処理器１１ａ〜ｃ）の構成例を示すブロック図である。図３に示されるように、超解像処理部１１は、動きベクトル検出部２１、動き補償処理部２２、ダウンサンプリング処理部２３、加算処理部２４、アップサンプリング処理部２５、逆方向動き補償処理部２６から構成される。
【００１７】
ＳＲ画像バッファ１４から読み出された高解像度画像ＳＲ画像は動きベクトル検出部２１と動き補償処理部２２に入力され、撮像して得られた低解像度画像ＬＲｎは動きベクトル検出部２１と加算処理部２４に入力される。
【００１８】
動きベクトル検出部２１は、入力された高解像度画像であるＳＲ画像と低解像度画像であるＬＲｎに基づいて、ＳＲ画像を基準とした動きベクトルを検出し、検出した動きベクトルを動き補償処理部２２と逆方向動き補償処理部２６に出力する。例えば過去の撮影画像に基づいて生成されたＳＲ画像と、新規入力したＬＲｎ画像のブロックマッチングにより、ＳＲ画像の各ブロックが新規入力したＬＲｎ画像において移動した先を示すベクトルを生成する。
【００１９】
動き補償処理部２２は、動きベクトル検出部２１から供給された動きベクトルに基づいて高解像度画像ＳＲ画像に動き補償を施して動き補償（ＭＣ：Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）画像を生成し、生成した動き補償画像（ＭＣ画）をダウンサンプリング処理部２３に出力する。動き補償処理は、動きベクトルに応じて、ＳＲ画像の画素位置を動かして、新規入力したＬＲｎ画像に対応する位置を持つ補正したＳＲ画像を生成する処理である。すなわちＳＲ画像の画素位置を動かして、ＳＲ画像に写るオブジェクトの位置をＬＲｎに写るオブジェクトの位置に併せた動き補償画像（ＭＣ画）を生成する。
【００２０】
ダウンサンプリング処理部２３は、動き補償処理部２２から供給された画像をダウンサンプリングすることによってＬＲｎと同じ解像度の画像を生成し、生成した画像を加算処理部２４に出力する。ＳＲ画像とＬＲｎから動きベクトルを求め、求めた動きベクトルによって動き補償して得られた画像をＬＲ画像と同じ解像度の画像にすることは、撮像して得られる画像を、ＳＲ画像バッファ１４に記憶されているＳＲ画像に基づいてシミュレートすることに相当する。
【００２１】
加算処理部２４は、ＬＲｎと、そのようにしてシミュレートされた画像の差分を表す差分画像を生成し、生成した差分画像をアップサンプリング処理部２５に出力する。
【００２２】
アップサンプリング処理部２５は、加算処理部２４から供給された差分画像をアップサンプリングすることによってＳＲ画像と同じ解像度の画像を生成し、生成した画像を逆方向動き補償処理部２６に出力する。逆方向動き補償処理部２６は、動きベクトル検出部２１から供給された動きベクトルに基づいて、アップサンプリングフィルタ２５から供給された画像に逆方向の動き補償を施し、逆方向の動き補償を施して得られた画像を表すフィードバック値を、図２に示す合算処理部１２に出力する。逆方向の動き補償を施して得られた画像に写るオブジェクトの位置は、ＳＲ画像バッファ１４に記憶されているＳＲ画像に写るオブジェクトの位置に近い位置になる。
【００２３】
【非特許文献１】"Ｉｍｐｒｏｖｉｎｇ  Ｒｅｓｏｌｕｔｉｏｎ  ｂｙ  Ｉｍａｇｅ  Ｒｅｇｉｓｔｒａｔｉｏｎ"，ＭＩＣＨＡＬ  ＩＲＡＮＩ  ＡＮＤ  ＳＨＭＵＥＬ  ＰＥＬＥＧ，Ｄｅｐａｒｔｍｅｎｔ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，  Ｔｈｅ  Ｈｅｂｒｅｗ  Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ  Ｊｅｒｕｓａｌｅｍ，  ９１９０４  Ｊｅｒｕｓａｌｅｍ，  Ｉｓｒａｅｌ，  Ｃｏｍｍｕｎｉｃａｔｅｄ  ｂｙ  Ｒａｍａ  Ｃｈｅｌｌａｐａ，  Ｒｅｃｅｉｖｅｄ  Ｊｕｎｅ  １６，  １９９；  ａｃｃｅｐｔｅｄ  Ｍａｙ  ２５，  １９９０
【発明の開示】
【発明が解決しようとする課題】
【００２４】
上述したように、低解像画像を入力として高解像画像を得る超解像処理においては、動き補償画像（ＭＣ画像）を生成する処理が必要となる。なお上述した超解像処理に限らず、画像の圧縮符号化処理などにおいても動き補償画像（ＭＣ画像）の生成処理が行われる場合がある。しかし、この動き補償画像（ＭＣ画像）の生成においては、動きベクトルに基づいて算出される画素の移動位置に対応する画素値を算出することが必要となり、画像を構成する画素のすべての画素の移動先および画素値の算出に要する計算コストや処理時間が大きくなるという問題がある。
【００２５】
本発明は、上記問題点に鑑みてなされたものであり、動き補償画像（ＭＣ画像）を効率的に高速生成することを可能とする画像処理装置、および画像処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２６】
本発明の第１の側面は、
動き補償（ＭＣ：Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）画像を生成する画像処理装置であり、
動きベクトル情報に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出する画素相対位置算出部と、
前記画素相対位置算出部の算出した相対位置情報の量子化処理を行い、量子化相対位置情報を生成する相対位置量子化部と、
前記量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成する動き補償画像生成部と、
を有することを特徴とする画像処理装置にある。
【００２７】
さらに、本発明の画像処理装置の一実施態様において、前記画像処理装置は、さらに、前記量子化相対位置情報を入力し、動き補償画像の複数の画素に対応する量子化相対位置情報の平均化処理を実行する相対位置平均化処理部を有し、前記相対位置平均化処理部は、前記動き補償画像生成部において並列演算可能なビット数に応じて決定する画素数単位で量子化相対位置が同一となるように量子化相対位置情報の平均化処理を実行し、前記動き補償画像生成部は、前記相対位置平均化処理部の生成する複数画素単位で同一の値に設定された量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成する構成であることを特徴とする。
【００２８】
さらに、本発明の画像処理装置の一実施態様において、前記動き補償画像生成部は、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）演算器を適用した画素値算出を実行する構成であり、同一の値に設定された量子化相対位置情報を持つ複数画素単位で並列演算を行い、複数画素に対応する画素値の算出を行う構成であることを特徴とする。
【００２９】
さらに、本発明の画像処理装置の一実施態様において、前記画像処理装置は、さらに、相対位置コピー処理部を有し、前記画素相対位置算出部は、前記動き補償画像を構成する画素から選択された一部の処理画素についてのみ前記参照画像の参照画素の画素位置との相対位置を算出し、前記相対位置量子化部は、前記画素相対位置算出部において相対位置を算出した処理画素に対応する相対位置情報の量子化処理を行う構成であり、前記相対位置コピー処理部は、量子化相対位置の算出されていない非処理画素について、量子化相対位置の算出されている処理画素と同一の量子化相対位置を設定する処理を実行して、前記動き補償画像生成部に出力する構成であり、前記動き補償画像生成部は、前記相対位置コピー処理部から入力する量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成する構成であることを特徴とする。
【００３０】
さらに、本発明の画像処理装置の一実施態様において、前記画素相対位置算出部は、画像フレームに含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル（ＧＭＶ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出する構成であることを特徴とする。
【００３１】
さらに、本発明の第２の側面は、
画像処理装置において、動き補償（ＭＣ：Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）画像を生成する画像処理方法であり、
画素相対位置算出部が、動きベクトル情報に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出する画素相対位置算出ステップと、
相対位置量子化部が、前記画素相対位置算出部の算出した相対位置情報の量子化処理を行い、量子化相対位置情報を生成する相対位置量子化ステップと、
動き補償画像生成部が、前記量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成する動き補償画像生成ステップと、
を有することを特徴とする画像処理方法にある。
【００３２】
さらに、本発明の画像処理方法の一実施態様において、前記画像処理方法は、さらに、相対位置平均化処理部が、前記量子化相対位置情報を入力し、動き補償画像の複数の画素に対応する量子化相対位置情報の平均化処理を実行する相対位置平均化処理ステップを有し、前記相対位置平均化処理ステップは、前記動き補償画像生成部において並列演算可能なビット数に応じて決定する画素数単位で量子化相対位置が同一となるように量子化相対位置情報の平均化処理を実行するステップであり、前記動き補償画像生成ステップは、前記相対位置平均化処理ステップにおいて生成する複数画素単位で同一の値に設定された量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成することを特徴とする。
【００３３】
さらに、本発明の画像処理方法の一実施態様において、前記動き補償画像生成ステップは、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）演算器を適用した画素値算出を実行するステップであり、同一の値に設定された量子化相対位置情報を持つ複数画素単位で並列演算を行い、複数画素に対応する画素値の算出を行うことを特徴とする。
【００３４】
さらに、本発明の画像処理方法の一実施態様において、前記画像処理装置は、さらに、相対位置コピー処理部を有し、前記画素相対位置算出ステップは、前記動き補償画像を構成する画素から選択された一部の処理画素についてのみ前記参照画像の参照画素の画素位置との相対位置を算出するステッであり、前記相対位置量子化ステップは、前記画素相対位置算出部において相対位置を算出した処理画素に対応する相対位置情報の量子化処理を行うステップであり、前記相対位置コピー処理部が、量子化相対位置の算出されていない非処理画素について、量子化相対位置の算出されている処理画素と同一の量子化相対位置を設定する処理を実行して、前記動き補償画像生成部に出力し、前記動き補償画像生成ステップは、前記相対位置コピー処理部から入力する量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成することを特徴とする。
【００３５】
さらに、本発明の画像処理方法の一実施態様において、前記画素相対位置算出ステップは、画像フレームに含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル（ＧＭＶ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出するステップであることを特徴とする。
【００３６】
さらに、本発明の第３の側面は、
画像処理装置において、動き補償（ＭＣ：Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）画像を生成させるコンピュータ・プログラムであり、
画素相対位置算出部に、動きベクトル情報に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出させる画素相対位置算出ステップと、
相対位置量子化部に、前記画素相対位置算出部の算出した相対位置情報の量子化処理を行い、量子化相対位置情報を生成させる相対位置量子化ステップと、
動き補償画像生成部に、前記量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成させる動き補償画像生成ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００３７】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００３８】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００３９】
本発明の一実施例の構成によれば、動き補償（ＭＣ）画像を生成する画像処理装置において、動き補償画像を構成する画素の画素位置と、これらの画素の画素値算出に利用する参照画素の画素位置との相対位置を算出し、算出した相対位置の量子化を行い、量子化相対位置と参照画素の画素値に基づいて動き補償画像の構成画素の画素値を算出して動き補償画像を生成する。さらに、量子化相対位置情報の平均化処理やコピー処理により、複数の画素単位で量子化相対位置を同一に設定してＳＩＭＤを適用した画素値算出を行う構成としたので、動き補償画像の画素値算出を高速に行うことが可能となり、効率的な動き補償画像生成が実現される。
【発明を実施するための最良の形態】
【００４０】
以下、図面を参照しながら本発明の画像処理装置、および画像処理方法、並びにコンピュータ・プログラムの詳細について説明する。
【００４１】
本発明の画像処理装置は、動き補償（ＭＣ：Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）画像を効率的に高速生成することを可能とした画像処理装置である。動き補償画像（ＭＣ画像）は、前述したように例えば低解像度画像から高解像度画像を生成する超解像処理や、その他の画像の符号化処理、例えばＭＰＥＧ符号化処理などにおいても利用される。
【００４２】
動き補償画像（ＭＣ画像）は、複数の画像から得られる動きベクトルに基づいて、動き補償を行うべき画像の画素位置を動かす処理に相当する。例えば、画像符号化方式として知られるＭＰＥＧ方式では、各フレームをブロック分割して、現在フレームと参照フレームの対応ブロックごとに動きベクトルを検出する処理が実行される。しかし、ブロック単位の動きベクトル情報を圧縮データに含めるとデータ量が増大することになるため、前述した超解像処理や、画像符号化処理としてのＭＰＥＧ−４では、１つのフレームに対応する１つの動きベクトルとして、グローバル動きベクトル（ＧＭＶ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）を利用した処理が行われる。
【００４３】
カメラが例えばパン、チルト、あるいは手振れなどで移動した場合、各ブロックの動きベクトルはほぼ共通であり、このような場合ブロック単位の動きベクトルではなく、１つのフレームに対応する１つの動きベクトルであるグローバル動きベクトル（ＧＭＶ）を利用することでデータ量削減や処理の効率化が可能となる。
【００４４】
個々のブロック単位の動きベクトルをローカル動きベクトル（ＬＭＶ：Ｌｏｃａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）と呼び、１つのフレームに対応する１つの動きベクトルはグローバル動きベクトル（ＧＭＶ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）と呼ぶ。
【００４５】
グローバル動きベクトル（ＧＭＶ）について、図４を参照して説明する。例えば、図４（ａ）に示すように、時間ｔ０，ｔ１の時間で撮影された２つの画像フレーム３０，３１があるとする。この２フレームではカメラが例えばパン、チルト、あるいは手振れなどで移動して撮影されたフレームであり、撮影画像が図に示す通り、全体的に移動している。
【００４６】
このような画像を符号化するような場合、従来は、各フレームを例えばｎ画素×ｎ画素の複数のブロックに分割して、各ブロック単位の動きベクトル（ＭＶ：Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）、すなわち、ローカル動きベクトル（ＬＭＶ）を検出して、個別のブロック単位の動きベクトルを利用した処理が行われていた。しかし、パン、チルト、あるいは手振れなどでカメラが移動した場合、図４（ｂ）に示すように、どのブロックの動きベクトルもほぼ同じベクトルとなる。
【００４７】
このような場合、図４（ｃ）に示すように画面全体の動きを表現する１つの動きベクトル４１、すなわち、グローバル動きベクトル（ＧＭＶ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ）を用い、画像符号化を実行することにより符号化効率を大幅に改善できる。
【００４８】
例えば、ＭＰＥＧ−４では、グローバル動きベクトル（ＧＭＶ）を適用し、グローバル動き補償（ＧＭＣ：Ｇｌｏｂａｌ  Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）を用いた画像符号化手法が規格として採用されており、符号化装置（Ｅｎｃｏｄｅｒ）側でグローバル動きベクトル（ＧＭＶ）を検出し、復号装置（Ｄｅｃｏｄｅｒ）側で伝送されたグローバル動きベクトル（ＧＭＶ）を用いてグローバル動き補償（ＧＭＣ）による復元が実行される。
【００４９】
グローバル動きベクトル（ＧＭＶ）は、図に示すような単純な平行移動の他、複数パラメータを用いて、回転、拡大、縮小を伴ったもの、アフィン（Ａｆｆｉｎｅ）変換、投射影変換を用いたデータとして表現可能である。
【００５０】
グローバル動きベクトル（ＧＭＶ）は、図５に示すように現在フレームと参照フレーム間の対応する類似画素位置（ｘ，ｙ），（ｘ'，ｙ'）の関係を平行移動、回転、拡大、縮小、アフィン（Ａｆｆｉｎｅ）変換、投射影変換などを用いたデータとして表現され、通常は、１つの画像フレームに対し、１つのグローバル動きベクトル（ＧＭＶ）が適用される。なお、例えば通常のブロックサイズより大きなサイズに画面を分割し、各々にグローバル動きベクトル（ＧＭＶ）を設定してもよい。すなわち、グローバル動きベクトル（ＧＭＶ）は画像フレームに対して１つとは限らず、画像フレームに含まれる複数のブロックに共通の動きベクトルとして１つのグローバル動きベクトル（ＧＭＶ）を設定し、１フレームに複数のグローバル動きベクトル（ＧＭＶ）を設定する構成としてもよい。
【００５１】
グローバル動きベクトル（ＧＭＶ）は、例えば平行移動（並進）のみを示すベクトルの場合は、２つのパラメータ［ａ０，ａ１］を用いて以下のように表現される。
ｘ'＝ｘ＋ａ０
ｙ'＝ｙ＋ａ１
【００５２】
平行移動（並進）と回転を考慮したグローバル動きベクトル（ＧＭＶ）は、３つのパラメータ［ａ０，ａ１，ａ２］を用いて以下のように表現される。
ｘ'＝ｓｉｎａ０ｘ−ｃｏｓａ０ｙ＋ａ２
ｙ'＝ｃｏｓａ０ｘ＋ｓｉｎａ０ｙ＋ａ３
【００５３】
アフィン変換に対応するグローバル動きベクトル（ＧＭＶ）は、６つのパラメータ［ａ０，ａ１，ａ２，ａ３，ａ４，ａ５］を用いて以下のように表現される。
ｘ'＝ａ０ｘ−ａ１ｙ＋ａ２
ｙ'＝ａ３ｘ＋ａ４ｙ＋ａ５
【００５４】
投射変換に対応するグローバル動きベクトル（ＧＭＶ）は、８つのパラメータ［ａ０，ａ１，ａ２，ａ３，ａ４，ａ５，ａ６，ａ７］を用いて以下のように表現される。
ｘ'＝（（ａ０ｘ＋ａ１ｙ＋ａ２）／（ａ６ｘ＋ａ７ｙ＋１））
ｙ'＝（（ａ３ｘ＋ａ４ｙ＋ａ５）／（ａ６ｘ＋ａ７ｙ＋１））
【００５５】
なお、動画像フレームからグローバル動きベクトル（ＧＭＶ）を求める場合、図５に示すように、２つのフレーム、すなわち現在フレームと参照フレームとから例えばブロックマッチングなどにより対応画素の位置関係を算出してフレーム間の画素移動状況を検証する処理が行われる。
【００５６】
前述した超解像処理や、その他の画像符号化処理において動き補償画像（ＭＣ画像）を生成する場合、上述したグローバル動きベクトル（ＧＭＶ）を利用した処理が実行される。本発明の処理の説明の前に、図６を参照して一般的な動き補償画像（ＭＣ画像）生成処理例について説明する。
【００５７】
図６は、平行移動（並進）と回転を考慮したグローバル動きベクトル（ＧＭＶ）に基づいて動き補償画像（ＭＣ画像）を生成する一般的な処理例を説明する図である。平行移動（並進）と回転を考慮したグローバル動きベクトル（ＧＭＶ）は、前述したように、３つのパラメータ［ａ０，ａ１，ａ２］を用いて以下のように表現される。
ｘ'＝ｓｉｎａ０ｘ−ｃｏｓａ０ｙ＋ａ２
ｙ'＝ｃｏｓａ０ｘ＋ｓｉｎａ０ｙ＋ａ３
【００５８】
図６（ａ）に示す動き補償画像（ＭＣ画像）１０２を生成するために使用された元画像を参照画像１０１とする。なお、参照画像１０１と、図示しない現在フレーム画像とに基づいてグローバル動きベクトル（ＧＭＶ）が検出されており、そのグローバル動きベクトル（ＧＭＶ）が上記の３つのパラメータ［ａ０，ａ１，ａ２］を用いて表現されるベクトル（ＧＭＶ）である。
【００５９】
このグローバル動きベクトル（ＧＭＶ）に従って、参照画像１０１の画素位置を移動させて、参照画像１０１の画素を図示しない現在フレーム画像の画素位置にほぼ一致させた画像が、図６（ａ）に示す動き補償画像（ＭＣ画像）１０２である。
【００６０】
図６（ａ）に示す白丸で表現された参照画像１０１から、黒丸で表現された動き補償画像（ＭＣ画像）１０２を生成する場合の一般的な処理手順は、以下のステップ１〜４の処理となる。
ステップ１：グローバル動きベクトル（ＧＭＶ）に基づいて、動き補償画像（ＭＣ画像）１０２と参照画像１０１の相対位置を計算する。
ステップ２：ステップ１で算出した相対位置に基づいて、参照画像１０１の画素（ＭＣ画Ｐｉｘｅｌ）作成時の、参照画像１０１の参照先画素Ｐｉｘｅｌを決定する。
ステップ３：相対位置に基づいて、本来のピクセル幅より小さいサブピクセル（ｓｕｂ−ｐｉｘｅｌ）精度での相対位置（水平方向、垂直方向の相対位置）を計算する。
ステップ４：サブピクセル（ｓｕｂ−ｐｉｘｅｌ）精度での水平方向、垂直方向相対位置より、加重平均により動き補償画像（ＭＣ画像）１０２の画素値を計算する。
なお、動き補償画像（ＭＣ画像）１０２の画素値算出には、必ずしも加重平均で実施する必要はない。例えば計算コストが許す場合、さらに周辺画素を参照してフィルタ演算により画素を作成してもよい。
【００６１】
具体的な処理例を、図６（ｂ）を参照して説明する。動き補償画像（ＭＣ画像）の画素であるＭＣ画像画素１０３の画素値を決定する場合、上記のステップ１，２により、元の参照画像の画素ａ００，ａ０１，ａ１０，ａ１１が参照先画素として決定される。
【００６２】
次に、上記のステップ３において、サブピクセル（ｓｕｂ−ｐｉｘｅｌ）精度での水平方向、垂直方向の相対位置として、図６（２）に示す、
水平方向相対位置［ＨｏｒＰｏｓ］、
垂直方向相対位置［ＶｅｒＰｏｓ］
これらを算出する。
【００６３】
次に、ステップ４の処理として、水平方向相対位置［ＨｏｒＰｏｓ］、垂直方向相対位置［ＶｅｒＰｏｓ］を適用して加重平均により動き補償画像（ＭＣ画像）１０２の画素値［ｏｕｔｐｕｔ＿ｐｉｘｅｌ］を、以下の式（式２）を利用して計算する。
ｏｕｔｐｕｔ＿ｐｉｘｅｌ＝（ａ００×（１−ＨｏｒＰｏｓ）＋ａ０１×ＨｏｒＰｏｓ）×（１−ＶｅｒＰｏｓ）＋（ａ１０×（１−ＨｏｒＰｏｓ）＋ａ１１×ＨｏｒＰｏｓ）×ＶｅｒＰｏｓ
・・・（式２）
【００６４】
しかし、動き補償画像（ＭＣ画像）１０２を構成する画素各々に対する参照画像１０１中の参照画素との相対位置が異なり、動き補償画像（ＭＣ画像）１０２の画素各々について相対位置の算出が必要であり計算コストや処理時間が膨大になる。また、サブピクセル（ｓｕｂ−ｐｉｘｅｌ）精度での水平方向、垂直方向の相対位置、
水平方向相対位置［ＨｏｒＰｏｓ］、
垂直方向相対位置［ＶｅｒＰｏｓ］
これらのデータも、画素各々異なる値となり、これらの値の算出も各画素各々について実行しなければならず計算コストおよび処理時間の増大をもたらすことになる。
【００６５】
本発明の画像処理装置では、このように一般的には計算コストの大きい処理とされる動き補償画像（ＭＣ画像）の生成処理を効率的に高速に行う構成を実現する。以下、本発明の動き補償画像（ＭＣ画像）の生成処理について詳細に説明する。
【００６６】
図４等を参照し手説明したように、グローバル動きベクトル（ＧＭＶ）は、複数ブロックに共通に設定される動きベクトル、例えば画像フレームを構成する全てのブロックに共通する１つの動きベクトルである。グローバル動きベクトル（ＧＭＶ）を用いている場合、１つのフレームの構成画素はほとんど同じ動きをしていると判断される。従って、例えば図６（１）に示す動き補償画像（ＭＣ画像）を生成する場合に算出する必要のあるサブピクセル（ｓｕｂ−ｐｉｘｅｌ）精度での水平方向、垂直方向の相対位置、
水平方向相対位置［ＨｏｒＰｏｓ］、
垂直方向相対位置［ＶｅｒＰｏｓ］
これらの値は、空間方向に強い相関がある。本発明の手法では、この空間方向の相関を利用し計算速度の向上を行う。
【００６７】
図７に、図６（１）と同様、参照画像２０１と、グローバル動きベクトル（ＧＭＶ）情報を利用して参照画像２０１に基づいて生成する動き補償画像（ＭＣ画像）２０２を示す。図７に示す動き補償画像（ＭＣ画像）２０２の構成画素中、例えば、１つの画素ａと、画素ａに隣接する周囲の８画素、すなわち、画素ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｉとは、それぞれの画素値を算出する際に必要とする参照画像２０１中の参照画素との相対位置はほぼ、同様であり、サブピクセル（ｓｕｂ−ｐｉｘｅｌ）精度での水平方向、垂直方向の相対位置、
水平方向相対位置［ＨｏｒＰｏｓ］、
垂直方向相対位置［ＶｅｒＰｏｓ］
これらの値もほぼ共通の値となる。本発明の手法では、この空間方向の相関を利用し計算速度の向上を行う。
【００６８】
［実施例１］
本発明の動き補償画像（ＭＣ画像）の生成処理の第１実施例の詳細について、図８〜図１１を参照して説明する。図８は、本発明の画像処理装置内に設定される動き補償画像（ＭＣ画像）生成手段の構成例を示している。
【００６９】
入力は、グローバル動きベクトル（ＧＭＶ）と参照画像であり、出力はグローバル動きベクトル（ＧＭＶ）に従って、参照画像の画素位置を変更した動き補償画像（ＭＣ画像）となる。なお、グローバル動きベクトル（ＧＭＶ）は、例えば現在フレーム画像と参照フレーム画像とに基づいて生成されたグローバル動きベクトル（ＧＭＶ）であり、出力される動き補償画像（ＭＣ画像）は、参照画像の画素位置を、現在フレーム画像の画素位置に対応する位置に変更した画像である。
【００７０】
本実施例の画像処理装置内に設定される動き補償画像（ＭＣ画像）生成手段は、図８に示すように、参照画素相対位置算出部２５１と、相対位置量子化部２５２と、動き補償画像生成部２５３を有する。
【００７１】
参照画素相対位置算出部２５１は、外部より入力されたグローバル動きベクトル（ＧＭＶ）に基づいて、参照画像から動き補償画像（ＭＣ画像）を生成する際に必要となる画素が参照画上のどの点に位置するのかを計算する。
【００７２】
図９を参照して、参照画素相対位置算出部２５１の実行する処理について説明する。図９は、図７に示す参照画像２０１と動き補償画像（ＭＣ画像）２０２と同様、
白丸が参照画像の構成画素、
黒丸が動き補償画像（ＭＣ画像）の構成画素
を示している。例えば、動き補償画像（ＭＣ画像）の構成画素３０１の画素値を決定する場合、先に図６（ｂ）を参照して説明したと同様、図９に示す動き補償画像（ＭＣ画像）の構成画素３０１の周囲の参照画像の構成画素の画素値を参照することになる。すなわち、図９に示す参照画素Ｐ１〜Ｐ４の４つの画素が参照画素３０２となる。
【００７３】
参照画素相対位置算出部２５１は、例えば、動き補償画像（ＭＣ画像）の構成画素３０１についての参照画像の参照画素相対位置として、サブピクセル（ｓｕｂ−ｐｉｘｅｌ）精度での水平方向、垂直方向の相対位置として、図９に示すように、
水平方向相対位置［ＨｏｒＰｏｓ］、
垂直方向相対位置［ＶｅｒＰｏｓ］
これらを算出する。参照画素相対位置算出部２５１は、動き補償画像（ＭＣ画像）の構成画素各々について、このサブピクセル（ｓｕｂ−ｐｉｘｅｌ）精度での水平方向、垂直方向の相対位置を算出して相対位置量子化部２５２に出力する。
【００７４】
相対位置量子化部２５２は、参照画素相対位置算出部２５１から動き補償画像（ＭＣ画像）の構成画素各々に対応する参照画素の相対位置情報を入力して、これらを量子化する。すなわち、参照画素の相対位置情報を予め設定した精度に量子化し、量子化した参照画素の相対位置情報を動き補償画像生成部２５３に出力する。
【００７５】
相対位置量子化部２５２の実行する処理について図１０を参照して説明する。図１０には、
白丸が参照画像の構成画素、
点線白丸が動き補償画像（ＭＣ画像）の構成画素（図９の黒丸と同じ）、
これらの画素位置に加え、
参照画素の相対位置を量子化して得られる動き補償画像（ＭＣ画像）の構成画素を黒丸で示している。
【００７６】
すなわち、相対位置量子化部２５２は、動き補償画像（ＭＣ画像）の構成画素各々について、サブピクセル（ｓｕｂ−ｐｉｘｅｌ）精度での水平方向、垂直方向の相対位置
水平方向相対位置［ＨｏｒＰｏｓ］、
垂直方向相対位置［ＶｅｒＰｏｓ］
これらの情報を参照画素相対位置算出部２５１から入力し、これらの相対位置情報を予め設定した精度に量子化する。
【００７７】
図１０に示す例では、量子化幅（ステップ）Ｑは、１ビクセル幅の１／４としている。すなわち、
量子化幅（ステップ）Ｑ＝１／４ｐｅｌ
ただし：ｐｅｌはピクセル幅
としている。
なお、図１０に示す量子化幅（ステップ）Ｑは一例であり、この他、
量子化幅Ｑ＝１ｐｅｌ，１／２ｐｅｌ
など、様々な設定が可能である。
【００７８】
図１０に示す例では、例えば量子化前の動き補償画像（ＭＣ画像）の構成画素３１１は、相対位置の量子化後は、量子化後の動き補償画像（ＭＣ画像）の構成画素３１２の位置にあると判断され、図１０の右下図に示すように、動き補償画像（ＭＣ画像）の構成画素３１２の参照画素との水平方向、垂直方向の相対位置は、量子化幅Ｑを用いて、
水平方向相対位置［ＨｏｒＰｏｓ］＝２Ｑ、
垂直方向相対位置［ＶｅｒＰｏｓ］＝２Ｑ、
これらの量子化情報に変換される。
【００７９】
相対位置量子化部２５２は全ての、動き補償画像（ＭＣ画像）の構成画素について、参照画素との水平方向、垂直方向の相対位置を量子化して、量子化相対位置情報を動き補償画像生成部２５３に出力する。
【００８０】
動き補償画像生成部２５３は、相対位置量子化部２５２から量子化相対位置情報を入力し、さらに、動き補償（ＭＣ）画像の元画像としての参照画像を入力して、これらの入力情報に基づいて動き補償（ＭＣ）画像を生成する。
【００８１】
動き補償画像生成部２５３における動き補償（ＭＣ）画像の生成処理について図１１を参照して説明する。動き補償画像生成部２５３は、相対位置量子化部２５２から入力する量子化相対位置情報が等しい動き補償画像（ＭＣ画像）の構成画素をグループ化して画素値算出処理を実行して動き補償（ＭＣ）画像を生成する。
【００８２】
図１１に示す例では、相対位置の量子化後の動き補償（ＭＣ）画像の構成画素Ｐｍ１〜Ｐｍ６を示しているが、これらの画素中、
Ｐｍ１〜Ｐｍ３は、
水平方向相対位置［ＨｏｒＰｏｓ］＝２Ｑ、
垂直方向相対位置［ＶｅｒＰｏｓ］＝２Ｑ、
であり等しい量子化相対位置情報を有する。
従って、これらの動き補償（ＭＣ）画像の構成画素Ｐｍ１〜Ｐｍ３を１つのグループ（グループＡ）とする。
【００８３】
同様に、量子化後の動き補償（ＭＣ）画像の構成画素Ｐｍ４〜Ｐｍ６は、
水平方向相対位置［ＨｏｒＰｏｓ］＝３Ｑ、
垂直方向相対位置［ＶｅｒＰｏｓ］＝１Ｑ、
であり等しい量子化相対位置情報を有する。
従って、これらの動き補償（ＭＣ）画像の構成画素Ｐｍ４〜Ｐｍ６を１つのグループ（グループＢ）とする。
【００８４】
動き補償画像生成部２５３は、各グループ単位で動き補償（ＭＣ）画像の構成画素の画素値算出を実行する。図１１に示す例では、グループＡの３画素に対する処理と、グループＢの３画素に対する処理を実行する。なお、各画素の画素値（ｏｕｔｐｕｔ＿ｐｉｘｅｌ）の算出処理は前述したように、先に説明した式（式２）、すなわち、
ｏｕｔｐｕｔ＿ｐｉｘｅｌ＝（ａ００×（１−ＨｏｒＰｏｓ）＋ａ０１×ＨｏｒＰｏｓ）×（１−ＶｅｒＰｏｓ）＋（ａ１０×（１−ＨｏｒＰｏｓ）＋ａ１１×ＨｏｒＰｏｓ）×ＶｅｒＰｏｓ
上記式に従って実行される。
【００８５】
従来は、各画素各々について、
水平方向相対位置［ＨｏｒＰｏｓ］、
垂直方向相対位置［ＶｅｒＰｏｓ］、
これらの値を、逐次置き換えて画素値算出を行う必要があったが、本処理例では、複数の画素について同一の量子化したデータを適用して画素値算出を行うことが可能となり、計算コストが大幅に低減され、処理の高速化が実現する。
【００８６】
［実施例２］
次に、本発明の動き補償画像（ＭＣ画像）の生成処理の第２実施例の詳細について、図１２〜図１３を参照して説明する。図１２は、本実施例の動き補償画像（ＭＣ画像）生成手段の構成例を示している。
【００８７】
図１２に示す動き補償画像（ＭＣ画像）生成手段は、先に図８を参照して説明した実施例１の構成に相対位置平均化処理部４０３を追加した構成となっている。参照画素相対位置算出部４０１と、相対位置量子化部４０２は、実施例１と同様の処理を実行し、動き補償画像生成部４０４は、相対位置平均化処理部４０３の処理データを入力して動き補償（ＭＣ）画像を生成する構成となっている。
【００８８】
本実施例構成においても、先の実施例１の構成と同様、入力はグローバル動きベクトル（ＧＭＶ）と参照画像であり、出力はグローバル動きベクトル（ＧＭＶ）に従って、参照画像の画素位置を変更した動き補償画像（ＭＣ画像）となる。なお、グローバル動きベクトル（ＧＭＶ）は、例えば現在フレーム画像と参照フレーム画像とに基づいて生成されたグローバル動きベクトル（ＧＭＶ）であり、出力される動き補償画像（ＭＣ画像）は、参照画像の画素位置を、現在フレーム画像の画素位置に対応する位置に変更した画像である。
【００８９】
図１２に示す構成において、参照画素相対位置算出部４０１は、外部より入力されたグローバル動きベクトル（ＧＭＶ）に基づいて、参照画像から動き補償画像（ＭＣ画像）を生成する際に必要となる画素が参照画上のどの点に位置するのかを計算する。この処理は、先に図９を参照して説明した処理である。
【００９０】
相対位置量子化部４０２は、参照画素相対位置算出部４０１から動き補償画像（ＭＣ画像）の構成画素各々に対応する参照画素の相対位置情報を入力して、これらを量子化する。すなわち、参照画素の相対位置情報を予め設定した精度に量子化する。この処理は、先に図１０を参照して説明した処理である。相対位置量子化部４０２は、量子化した参照画素の相対位置情報を相対位置平均化処理部４０３に出力する。
【００９１】
相対位置平均化処理部４０３は、相対位置量子化部４０２からの入力情報、すなわち動き補償画像（ＭＣ画像）の構成画素各々に対応する量子化された参照画素の相対位置情報、すなわち、具体的には、
水平方向相対位置［ＨｏｒＰｏｓ］＝ｎＱ、
垂直方向相対位置［ＶｅｒＰｏｓ］＝ｍＱ、
これらの量子化情報を、予め設定した画素数毎に平均化する処理を実行する。
【００９２】
例えば、画像処理装置において動き補償画像（ＭＣ画像）の構成画素の画素値算出を実行する演算処理装置であるＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）演算器の演算処理能力に応じて設定した画素数毎に、量子化情報を平均化する。
【００９３】
ＳＩＭＤは一般的に、３２ｂｉｔ，あるいは６４ｂｉｔ等の単位の入力データに対して並列演算を実行する構成を持つ。例えば、動き補償画像（ＭＣ画像）の構成画素１つの画素値が８ビットデータである場合、３２ビットデータの処理を実行するＳＩＭＤでは、４画素の画素値、すなわち４×８＝３２ビットデータの画素値算出を１つの演算サイクルで行うことが可能であり、４画素を１まとめに設定することで演算の効率化が可能となり、処理の高速化が実現される。
【００９４】
図１３に示すように、相対位置量子化部４０２からの入力情報、すなわち動き補償画像（ＭＣ画像）の構成画素の量子化された相対位置情報について、４つの画素（ｐｍ１〜ｐｍ４）毎に、平均化処理を実行する。なお、出力情報も量子化情報とする。
【００９５】
図１３に示す例では、図１３（ａ）の入力情報としての量子化相対位置情報は、
画素ｐｍ１〜ｐｍ３が、
水平方向相対位置［ＨｏｒＰｏｓ］＝２Ｑ、
垂直方向相対位置［ＶｅｒＰｏｓ］＝２Ｑ、
であり、
画素ｐｍ４が、
水平方向相対位置［ＨｏｒＰｏｓ］＝３Ｑ、
垂直方向相対位置［ＶｅｒＰｏｓ］＝１Ｑ、
である。
この場合、量子化データの単純な平均は、
水平方向相対位置［ＨｏｒＰｏｓ］＝（（２Ｑ×３）＋（３Ｑ×１））／４＝９Ｑ／４＝２．２５Ｑ
垂直方向相対位置［ＶｅｒＰｏｓ］＝（２Ｑ×３）＋（１Ｑ×１））／４＝７Ｑ／４＝１．７５Ｑ
となる。さらに、これらの平均化データを量子化することで、
画素ｐｍ１〜ｐｍ４について、
水平方向相対位置［ＨｏｒＰｏｓ］＝２Ｑ、
垂直方向相対位置［ＶｅｒＰｏｓ］＝２Ｑ、
となる。
【００９６】
この量子化相対位置データが、図１３（ｂ）に示す同じ相対位置情報を持つ画素ｐｍ１'〜ｐｍ４'であり、これらを１まとめにして相対位置平均化処理部４０３から動き補償（ＭＣ）画像生成部４０４に出力する。
【００９７】
なお、図１３を参照して説明した処理は、１画素が８ビットデータであり、動き補償（ＭＣ）画像生成部４０４における動き補償（ＭＣ）画像の画素値算出が３２ビットＳＩＭＤによって行われる場合の例であり、例えば、１画素が８ビットデータであり、動き補償（ＭＣ）画像生成部４０４における動き補償（ＭＣ）画像の画素値算出が６４ビットＳＩＭＤによって行われる場合には、８つの画素を１つの並列演算対象として設定可能であり、この場合は、８つの画素を平均化対象とする。
【００９８】
なお、図１３に示す例では、水平方向の４画素を平均化対象画素として選択しているが、垂直方向に４画素を選択する構成など、平均化対象画素の選択構成は様々な設定が可能である。
【００９９】
動き補償画像生成部４０４は、相対位置平均化処理部４０３から、複数画素単位で平均化された量子化相対位置情報を入力して、動き補償画像（ＭＣ画像）の構成画素の画素値算出を実行する。
【０１００】
動き補償画像生成部４０４は、動き補償画像（ＭＣ画像）の構成画素の画素値算出を実行する演算処理装置であるＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）演算器を利用して各画素の画素値算出を行う。前述したように、例えば、３２ｂｉｔ単位の入力データに対して並列演算を実行し、４画素の画素値を並列に算出する。このように、複数画素を１まとめに設定した演算により処理の高速化が実現される。
【０１０１】
［実施例３］
次に、本発明の動き補償画像（ＭＣ画像）の生成処理の第３実施例の詳細について、図１４〜図１７を参照して説明する。図１４は、本実施例の動き補償画像（ＭＣ画像）生成手段の構成例を示している。
【０１０２】
図１４に示す動き補償画像（ＭＣ画像）生成手段は、先に図８を参照して説明した実施例１の構成に相対位置コピー処理部５０３を追加した構成となっている。参照画素相対位置算出部５０１と、相対位置量子化部５０２は、実施例１の処理を簡略化して実行する。動き補償画像（ＭＣ画像）の構成画素すべてに対して処理を行うのではなく、一部、例えば４画素につき１画素など、処理画素を選択して簡略化した処理を実行する。動き補償画像生成部５０４は、相対位置コピー処理部５０３の処理データを入力して動き補償（ＭＣ）画像を生成する構成となっている。
【０１０３】
本実施例構成においても、先の実施例１の構成と同様、入力はグローバル動きベクトル（ＧＭＶ）と参照画像であり、出力はグローバル動きベクトル（ＧＭＶ）に従って、参照画像の画素位置を変更した動き補償画像（ＭＣ画像）となる。なお、グローバル動きベクトル（ＧＭＶ）は、例えば現在フレーム画像と参照フレーム画像とに基づいて生成されたグローバル動きベクトル（ＧＭＶ）であり、出力される動き補償画像（ＭＣ画像）は、参照画像の画素位置を、現在フレーム画像の画素位置に対応する位置に変更した画像である。
【０１０４】
図１４に示す構成において、参照画素相対位置算出部５０１は、外部より入力されたグローバル動きベクトル（ＧＭＶ）に基づいて、参照画像から動き補償画像（ＭＣ画像）を生成する際に必要となる画素が参照画上のどの点に位置するのかを計算する。この処理は、先に図９を参照して説明した処理である。ただし、本処理例では、動き補償画像（ＭＣ画像）の構成画素すべての参照画素の相対位置情報を算出するのではなく、予め設定した選択画素についてのみ処理を行い、非選択画素については相対位置情報の算出を実行しない。
【０１０５】
例えば、図１５に示すように、水平方向の４画素から１の画素のみを処理画素５２１として選択しこの処理画素５２１については、先に図９を参照して説明した処理により、参照画素に対する相対位置として、
水平方向相対位置［ＨｏｒＰｏｓ］、
垂直方向相対位置［ＶｅｒＰｏｓ］、
これらの相対位置情報を算出するが、その右側の３つの非処理画素５３１については、これらの相対位置情報の算出を実行しない。以下、同様に相対位置を算出した１つの画素の連続する３画素については相対位置を算出しない。
【０１０６】
すなわち、参照画素相対位置算出部５０１は４画素中１つの画素についてのみの相対位置算出を実行することになり、実施例１と比較して処理量は２５％に削減される。
【０１０７】
相対位置量子化部５０２は、参照画素相対位置算出部５０１から動き補償画像（ＭＣ画像）の構成画素から選択された処理画素に対応する参照画素の相対位置情報を入力して、これらを量子化する。この処理は、先に図１０を参照して説明した処理である。ただし量子化処理の実行される画素は、参照画素相対位置算出部５０１において相対位置が算出された画素のみであり、本例では４画素中、１画素のみである。相対位置量子化部５０２も、参照画素相対位置算出部５０１と同様、４画素中１つの画素についてのみの量子化相対位置算出を実行することになり、実施例１と比較して処理量は２５％に削減される。なお、本例では、処理画素と非処理画素の割合を１：３としているが、この設定は、様々な設定が可能である。
【０１０８】
相対位置量子化部５０２は、量子化した参照画素の相対位置情報を相対位置コピー処理部５０３に出力する。
【０１０９】
相対位置コピー処理部５０３は、相対位置量子化部５０２からの入力情報、すなわち動き補償画像（ＭＣ画像）の構成画素から選択された処理画素各々に対応する量子化された参照画素の相対位置情報、すなわち、具体的には、
水平方向相対位置［ＨｏｒＰｏｓ］＝ｎＱ、
垂直方向相対位置［ＶｅｒＰｏｓ］＝ｍＱ、
これらの量子化情報を、非処理画素に対して、順次コピーする処理を実行する。
【０１１０】
図１６に示すように、相対位置量子化部５０２からの入力情報は、動き補償画像（ＭＣ画像）の構成画素から選択された一部の処理画素のみの量子化相対位置情報である。図１６の例では、４つの画素（ｐｍ１〜ｐｍ４）中、画素ｐｍ１が処理画素であり、ｐｍ２〜ｐｍ４は非処理画素である。この場合、画素ｐｍ１については、量子化相対位置情報、すなわち、
量子化水平方向相対位置［ＨｏｒＰｏｓ］＝２Ｑ、
量子化垂直方向相対位置［ＶｅｒＰｏｓ］＝２Ｑ、
これらの情報を有しているが、非処理画素ｐｍ２〜ｐｍ４はこれらの相対位置情報を有していない。
【０１１１】
相対位置コピー処理部５０３は、処理画素に対応する量子化相対位置情報、すなわち、
水平方向相対位置［ＨｏｒＰｏｓ］＝ｎＱ、
垂直方向相対位置［ＶｅｒＰｏｓ］＝ｍＱ、
これらの量子化情報を、非処理画素に対して順次コピーする処理を実行する。
【０１１２】
図の例では、ｐｍ１についての量子化相対位置情報、すなわち、
量子化水平方向相対位置［ＨｏｒＰｏｓ］＝２Ｑ、
量子化垂直方向相対位置［ＶｅｒＰｏｓ］＝２Ｑ、
これらの量子化情報を非処理画素ｐｍ２〜ｐｍ４に対応する量子化相対位置情報としてコピーする。結果として、画素ｐｍ１〜ｐｍ４のすべてが、同一の量子化相対位置情報、すなわち、
水平方向相対位置［ＨｏｒＰｏｓ］＝２Ｑ、
垂直方向相対位置［ＶｅｒＰｏｓ］＝２Ｑ、
これらの量子化情報を有することになる。
【０１１３】
以下同様に、量子化相対位置情報を持たない動き補償画像（ＭＣ画像）の構成画素については、近接する量子化相対位置情報を持つ動き補償画像（ＭＣ画像）の構成画素についての量子化相対位置情報をコピーする処理を実行する。
【０１１４】
動き補償画像生成部５０４は、相対位置コピー処理部５０３から、複数画素単位でコピーされた量子化相対位置情報を入力して、動き補償画像（ＭＣ画像）の構成画素の画素値算出を実行する。なお、この処理では、先に説明した実施例２と同様、動き補償画像生成部５０４は、動き補償画像（ＭＣ画像）の構成画素の画素値算出を実行する演算処理装置であるＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）演算器を利用して各画素の画素値算出を行う。例えば、３２ｂｉｔ単位の入力データに対して並列演算を実行し、４画素の画素値を並列に算出することが可能であり、実施例２と同様に複数画素を１まとめに設定した演算により処理の高速化が実現される。
【０１１５】
最後に、図１７を参照して、上述した処理を実行する装置の１つのハードウェア構成例としてパーソナルコンピュータのハードウェア構成例について説明する。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０１は、ＲＯＭ（Ｒｅａｄ  
Ｏｎｌｙ  Ｍｅｍｏｒｙ）７０２、または記憶部７０８に記憶されているプログラムに従って各種の処理を実行する。例えば、上述の実施例において説明した動き補償画像（ＭＣ画像）を生成するプログラムを実行する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）７０３には、ＣＰＵ７０１が実行するプログラムやデータなどが適宜記憶される。これらのＣＰＵ３０１、ＲＯＭ７０２、およびＲＡＭ７０３は、バス７０４により相互に接続されている。
【０１１６】
ＣＰＵ７０１はバス７０４を介して入出力インタフェース７０５に接続され、入出力インタフェース７０５には、キーボード、マウス、マイクロホンなどよりなる入力部７０６、ディスプレイ、スピーカなどよりなる出力部７０７が接続されている。ＣＰＵ７０１は、入力部７０６から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部７０７に出力する。
【０１１７】
入出力インタフェース７０５に接続されている記憶部７０８は、例えばハードディスクからなり、ＣＰＵ７０１が実行するプログラムや各種のデータを記憶する。通信部７０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０１１８】
入出力インタフェース７０５に接続されているドライブ７１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア７１１を駆動し、記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部７０８に転送され記憶される。
【０１１９】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１２０】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１２１】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１２２】
以上、説明したように、本発明の一実施例の構成によれば、動き補償（ＭＣ）画像を生成する画像処理装置において、動き補償画像を構成する画素の画素位置と、これらの画素の画素値算出に利用する参照画素の画素位置との相対位置を算出し、算出した相対位置の量子化を行い、量子化相対位置と参照画素の画素値に基づいて動き補償画像の構成画素の画素値を算出して動き補償画像を生成する。さらに、量子化相対位置情報の平均化処理やコピー処理により、複数の画素単位で量子化相対位置を同一に設定してＳＩＭＤを適用した画素値算出を行う構成としたので、動き補償画像の画素値算出を高速に行うことが可能となり、効率的な動き補償画像生成が実現される。
【図面の簡単な説明】
【０１２３】
【図１】低解像度の画像から高解像度画像を生成する超解像処理について説明する図である。
【図２】低解像度の画像から高解像度画像を生成する超解像処理を実行する構成例について説明する図である。
【図３】低解像度の画像から高解像度画像を生成する超解像処理を実行する構成例について説明する図である。
【図４】グローバル動きベクトル（ＧＭＶ）について説明する図である。
【図５】現在フレームと参照フレームの対応点とグローバル動きベクトル（ＧＭＶ）の関係について説明する図である。
【図６】動き補償（ＭＣ）画像の生成処理例について説明する図である。
【図７】本発明に従った動き補償（ＭＣ）画像の生成処理の基本的考え方について説明する図である。
【図８】本発明の画像処理装置内に設定される動き補償（ＭＣ）画像生成手段の構成例（実施例１）を示す図である。
【図９】本発明の実施例に係る動き補償（ＭＣ）画像生成処理の詳細について説明する図である。
【図１０】本発明の実施例に係る動き補償（ＭＣ）画像生成処理の詳細について説明する図である。
【図１１】本発明の実施例に係る動き補償（ＭＣ）画像生成処理の詳細について説明する図である。
【図１２】本発明の画像処理装置内に設定される動き補償（ＭＣ）画像生成手段の構成例（実施例２）を示す図である。
【図１３】本発明の実施例に係る動き補償（ＭＣ）画像生成処理の詳細について説明する図である。
【図１４】本発明の画像処理装置内に設定される動き補償（ＭＣ）画像生成手段の構成例（実施例３）を示す図である。
【図１５】本発明の実施例に係る動き補償（ＭＣ）画像生成処理の詳細について説明する図である。
【図１６】本発明の実施例に係る動き補償（ＭＣ）画像生成処理の詳細について説明する図である。
【図１７】本発明の一実施例に係る画像処理装置のハードウェア構成例について説明する図である。
【符号の説明】
【０１２４】
１  画像処理装置
１１  超解像処理部
１２  合算処理部
１３  加算処理部
１４  ＳＲ画像バッファ
２１  動きベクトル検出部
２２  動き補償処理部
２３  ダウンサンプリング処理部
２４  加算処理部
２５  アップサンプリング処理部
２６  逆方向動き補償処理部
３０，３１  画像フレーム
４１  動きベクトル
１０１  参照画像
１０２  動き補償（ＭＣ）画像
１０３  ＭＣ画像画素
２０１  参照画像
２０２  動き補償（ＭＣ）画像
２５１  参照画像相対位置算出部
２５２  相対位置量子化部
２５３  動き補償画像生成部
４０１  参照画像相対位置算出部
４０２  相対位置量子化部
４０３  相対位置平均化処理部
４０４  動き補償画像生成部
５０１  参照画像相対位置算出部
５０２  相対位置量子化部
５０３相対位置コピー処理部
５０４  動き補償画像生成部
７０１  ＣＰＵ
７０２  ＲＯＭ
７０３  ＲＡＭ
７０４  バス
７０５  入出力インタフェース
７０６  入力部
７０７  出力部
７０８  記憶部
７０９  通信部
７１０  ドライブ
７１１  リムーバブルメディア
【図２】
0004915317.tif 000003
【図３】
0004915317.tif 000004
【図８】
0004915317.tif 000005
【図１２】
0004915317.tif 000006
【図１４】
0004915317.tif 000007
【図１７】
0004915317.tif 000008
【図１】
0004915317.tif 000009
【図４】
0004915317.tif 000010
【図５】
0004915317.tif 000011
【図６】
0004915317.tif 000012
【図７】
0004915317.tif 000013
【図９】
0004915317.tif 000014
【図１０】
0004915317.tif 000015
【図１１】
0004915317.tif 000016
【図１３】
0004915317.tif 000017
【図１５】
0004915317.tif 000018
【図１６】
0004915317.tif 000019