説明

画像処理装置、および画像処理方法、並びにコンピュータ・プログラム

【課題】動き補償(MC)画像の高速生成を可能とする装置および方法を提供する。
【解決手段】動き補償(MC)画像を構成する画素の画素位置と、これらの画素の画素値算出に利用する参照画素の画素位置との相対位置を算出し、算出した相対位置の量子化を行い、量子化相対位置と参照画素の画素値に基づいて動き補償画像の構成画素の画素値を算出して動き補償画像を生成する。さらに、量子化相対位置情報の平均化処理やコピー処理により、複数の画素単位で量子化相対位置を同一に設定してSIMDを適用した画素値算出を行う構成としたので、動き補償画像の画素値算出を高速に行うことが可能となり、効率的な動き補償画像生成が実現される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、および画像処理方法、並びにコンピュータ・プログラムに関する。特に、画像の超解像処理や符号化処理などにおいて利用する動き補償(MC:Motion Compensation)画像生成を行う画像処理装置、および画像処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【0002】
低解像度の画像から高解像度の画像を生成する手法として超解像処理が知られている。超解像処理は、重なりを持つ複数の低解像度の画像から、1フレームの高解像度の画像におけるそれぞれの画素の画素値を求める処理である。
【0003】
超解像処理により、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子によって撮影された画像から、これらの撮像素子が有する解像度以上の解像度の画像を再構成することが可能となる。具体的には、高解像度の衛星写真を生成するときなどに超解像が用いられる。なお、超解像処理については例えば非特許文献1に記載されている。
【0004】
図1および図2を参照して超解像の原理について説明する。図1(1),(2)の上方に示されるa,b,c,d,e,fは、ある被写体を撮像して得られた低解像度の画像(LR(Low Resolution)画像)から求めようとする高解像度の画像(SR(Super Resolution)画像)の画素値、すなわち、SR画像の解像度と同じ解像度で被写体を画素化したときのそれぞれの画素の画素値を表す。
【0005】
例えば、撮像素子の1つの画素の幅が、被写体を構成する画素の2つ分の幅だけあり、被写体を、その解像度のまま取り込むことができない場合、図1(1)に示されるように、撮像素子の3つの画素のうちの左側の画素においてはaとbの画素値を混合したAの画素値が取り込まれ、中央の画素においてはcとdの画素値を混合したBの画素値が取り込まれる。また、右側の画素においてはeとfの画素値を混合したCの画素値が取り込まれる。A,B,Cは、撮像して得られたLR画像を構成する画素の画素値を表す。
【0006】
手ぶれなどにより、図1(1)の被写体とともに、図1(1)の被写体の位置を基準として、被写体を構成する画素の0.5画素分の幅だけシフトさせた位置の被写体が図1(2)に示されるようにして取り込まれた場合(シフトさせながら取り込まれた場合)、撮像素子の3つの画素のうちの左側の画素においてはaの半分とbの全体とcの半分の画素値を混合したDの画素値が取り込まれ、中央の画素においてはcの半分とdの全体とeの半分の画素値を混合したEの画素値が取り込まれる。また、右側の画素においてはeの半分とfの全体の画素値を混合したFの画素値が取り込まれる。D,E,Fも、撮像して得られたLR画像を構成する画素の画素値を表す。
【0007】
このようなLR画像の撮像結果から下式(式1)が求められる。(式1)からa,b,c,d,e,fをそれぞれ求めることによって、撮像素子が有する解像度より高い解像度の画像を得ることが可能になる。
【0008】
【数1】

・・・(式1)
【0009】
従来から知られる超解像処理の一方式として、バックプロジェクション(Back Projection)による超解像処理について図2を参照して説明する。図2に示す画像処理装置1は例えばデジタルカメラに設けられ、撮像して得られた静止画の処理を行う。
【0010】
図2に示されるように、画像処理装置1は、超解像処理部11a〜11c、合算処理部12、加算処理部13、およびSR画像バッファ14から構成される。例えば撮像して得られた低解像度のLR画像であるLR0は超解像処理部11aに入力され、LR1は超解像処理部11bに入力される。また、LR2は超解像処理部11cに入力される。LR0〜LR2は連続して撮像された画像であり、それぞれ撮像範囲に重なりを有している。連続して撮像が行われた場合、通常、撮像結果の画像に写る被写体の範囲はそれぞれ手ぶれなどにより若干ずれたものとなり、完全に一致せずに重なりを一部に有するものとなる。
【0011】
超解像処理部11aは、低解像度画像LR0と、SR画像バッファ14に記憶されている高解像度画像SR画像に基づいて、それらの差分を表す差分画像を生成し、フィードバック値を合算処理部12に出力する。フィードバック値は、SR画像と同じ解像度の差分画像を表す値になっている。
【0012】
なお、SR画像バッファ14には、直前に行われた超解像処理によって生成された高解像度画像であるSR画像が記憶されている。処理の開始直後であり、SR画像がまだ1フレームも生成されていない場合、例えば、LR0を、SR画像と同じ解像度の画像にアップサンプリングして得られた画像がSR画像バッファ14に記憶される。
【0013】
同様に、超解像処理部11bは、次のフレームの低解像度画像LR1とSR画像バッファ14に記憶されている高解像度画像SR画像に基づいて、それらの差分を表す差分画像を生成し、生成した差分画像を表すフィードバック値を合算処理部12に出力する。
【0014】
さらに、超解像処理部11cは、次の低解像度画像LR2とSR画像バッファ14に記憶されている高解像度画像SR画像に基づいて、それらの差分を表す差分画像を生成し、生成した差分画像を表すフィードバック値を合算処理部12に出力する。
【0015】
合算処理部12は、超解像処理部11a〜11cから供給されたフィードバック値を平均化し、平均化して求められた、SR画像と同じ解像度の画像を加算処理部13に出力する。加算処理部13は、SR画像バッファ14に記憶されているSR画像と合算処理部12から供給されたSR画像を加算し、加算して得られたSR画像を出力する。加算処理部13の出力は、超解像処理の結果として画像処理装置1の外部に供給されるとともに、SR画像バッファ14に供給され、記憶される。
【0016】
図3は、超解像処理部11(超解像処理器11a〜c)の構成例を示すブロック図である。図3に示されるように、超解像処理部11は、動きベクトル検出部21、動き補償処理部22、ダウンサンプリング処理部23、加算処理部24、アップサンプリング処理部25、逆方向動き補償処理部26から構成される。
【0017】
SR画像バッファ14から読み出された高解像度画像SR画像は動きベクトル検出部21と動き補償処理部22に入力され、撮像して得られた低解像度画像LRnは動きベクトル検出部21と加算処理部24に入力される。
【0018】
動きベクトル検出部21は、入力された高解像度画像であるSR画像と低解像度画像であるLRnに基づいて、SR画像を基準とした動きベクトルを検出し、検出した動きベクトルを動き補償処理部22と逆方向動き補償処理部26に出力する。例えば過去の撮影画像に基づいて生成されたSR画像と、新規入力したLRn画像のブロックマッチングにより、SR画像の各ブロックが新規入力したLRn画像において移動した先を示すベクトルを生成する。
【0019】
動き補償処理部22は、動きベクトル検出部21から供給された動きベクトルに基づいて高解像度画像SR画像に動き補償を施して動き補償(MC:Motion Compensation)画像を生成し、生成した動き補償画像(MC画)をダウンサンプリング処理部23に出力する。動き補償処理は、動きベクトルに応じて、SR画像の画素位置を動かして、新規入力したLRn画像に対応する位置を持つ補正したSR画像を生成する処理である。すなわちSR画像の画素位置を動かして、SR画像に写るオブジェクトの位置をLRnに写るオブジェクトの位置に併せた動き補償画像(MC画)を生成する。
【0020】
ダウンサンプリング処理部23は、動き補償処理部22から供給された画像をダウンサンプリングすることによってLRnと同じ解像度の画像を生成し、生成した画像を加算処理部24に出力する。SR画像とLRnから動きベクトルを求め、求めた動きベクトルによって動き補償して得られた画像をLR画像と同じ解像度の画像にすることは、撮像して得られる画像を、SR画像バッファ14に記憶されているSR画像に基づいてシミュレートすることに相当する。
【0021】
加算処理部24は、LRnと、そのようにしてシミュレートされた画像の差分を表す差分画像を生成し、生成した差分画像をアップサンプリング処理部25に出力する。
【0022】
アップサンプリング処理部25は、加算処理部24から供給された差分画像をアップサンプリングすることによってSR画像と同じ解像度の画像を生成し、生成した画像を逆方向動き補償処理部26に出力する。逆方向動き補償処理部26は、動きベクトル検出部21から供給された動きベクトルに基づいて、アップサンプリングフィルタ25から供給された画像に逆方向の動き補償を施し、逆方向の動き補償を施して得られた画像を表すフィードバック値を、図2に示す合算処理部12に出力する。逆方向の動き補償を施して得られた画像に写るオブジェクトの位置は、SR画像バッファ14に記憶されているSR画像に写るオブジェクトの位置に近い位置になる。
【0023】
【非特許文献1】"Improving Resolution by Image Registration",MICHAL IRANI AND SHMUEL PELEG,Department of Computer Science, The Hebrew University of Jerusalem, 91904 Jerusalem, Israel, Communicated by Rama Chellapa, Received June 16, 199; accepted May 25, 1990
【発明の開示】
【発明が解決しようとする課題】
【0024】
上述したように、低解像画像を入力として高解像画像を得る超解像処理においては、動き補償画像(MC画像)を生成する処理が必要となる。なお上述した超解像処理に限らず、画像の圧縮符号化処理などにおいても動き補償画像(MC画像)の生成処理が行われる場合がある。しかし、この動き補償画像(MC画像)の生成においては、動きベクトルに基づいて算出される画素の移動位置に対応する画素値を算出することが必要となり、画像を構成する画素のすべての画素の移動先および画素値の算出に要する計算コストや処理時間が大きくなるという問題がある。
【0025】
本発明は、上記問題点に鑑みてなされたものであり、動き補償画像(MC画像)を効率的に高速生成することを可能とする画像処理装置、および画像処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【0026】
本発明の第1の側面は、
動き補償(MC:Motion Compensation)画像を生成する画像処理装置であり、
動きベクトル情報に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出する画素相対位置算出部と、
前記画素相対位置算出部の算出した相対位置情報の量子化処理を行い、量子化相対位置情報を生成する相対位置量子化部と、
前記量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成する動き補償画像生成部と、
を有することを特徴とする画像処理装置にある。
【0027】
さらに、本発明の画像処理装置の一実施態様において、前記画像処理装置は、さらに、前記量子化相対位置情報を入力し、動き補償画像の複数の画素に対応する量子化相対位置情報の平均化処理を実行する相対位置平均化処理部を有し、前記相対位置平均化処理部は、前記動き補償画像生成部において並列演算可能なビット数に応じて決定する画素数単位で量子化相対位置が同一となるように量子化相対位置情報の平均化処理を実行し、前記動き補償画像生成部は、前記相対位置平均化処理部の生成する複数画素単位で同一の値に設定された量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成する構成であることを特徴とする。
【0028】
さらに、本発明の画像処理装置の一実施態様において、前記動き補償画像生成部は、SIMD(Single Instruction Multiple Data)演算器を適用した画素値算出を実行する構成であり、同一の値に設定された量子化相対位置情報を持つ複数画素単位で並列演算を行い、複数画素に対応する画素値の算出を行う構成であることを特徴とする。
【0029】
さらに、本発明の画像処理装置の一実施態様において、前記画像処理装置は、さらに、相対位置コピー処理部を有し、前記画素相対位置算出部は、前記動き補償画像を構成する画素から選択された一部の処理画素についてのみ前記参照画像の参照画素の画素位置との相対位置を算出し、前記相対位置量子化部は、前記画素相対位置算出部において相対位置を算出した処理画素に対応する相対位置情報の量子化処理を行う構成であり、前記相対位置コピー処理部は、量子化相対位置の算出されていない非処理画素について、量子化相対位置の算出されている処理画素と同一の量子化相対位置を設定する処理を実行して、前記動き補償画像生成部に出力する構成であり、前記動き補償画像生成部は、前記相対位置コピー処理部から入力する量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成する構成であることを特徴とする。
【0030】
さらに、本発明の画像処理装置の一実施態様において、前記画素相対位置算出部は、画像フレームに含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出する構成であることを特徴とする。
【0031】
さらに、本発明の第2の側面は、
画像処理装置において、動き補償(MC:Motion Compensation)画像を生成する画像処理方法であり、
画素相対位置算出部が、動きベクトル情報に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出する画素相対位置算出ステップと、
相対位置量子化部が、前記画素相対位置算出部の算出した相対位置情報の量子化処理を行い、量子化相対位置情報を生成する相対位置量子化ステップと、
動き補償画像生成部が、前記量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成する動き補償画像生成ステップと、
を有することを特徴とする画像処理方法にある。
【0032】
さらに、本発明の画像処理方法の一実施態様において、前記画像処理方法は、さらに、相対位置平均化処理部が、前記量子化相対位置情報を入力し、動き補償画像の複数の画素に対応する量子化相対位置情報の平均化処理を実行する相対位置平均化処理ステップを有し、前記相対位置平均化処理ステップは、前記動き補償画像生成部において並列演算可能なビット数に応じて決定する画素数単位で量子化相対位置が同一となるように量子化相対位置情報の平均化処理を実行するステップであり、前記動き補償画像生成ステップは、前記相対位置平均化処理ステップにおいて生成する複数画素単位で同一の値に設定された量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成することを特徴とする。
【0033】
さらに、本発明の画像処理方法の一実施態様において、前記動き補償画像生成ステップは、SIMD(Single Instruction Multiple Data)演算器を適用した画素値算出を実行するステップであり、同一の値に設定された量子化相対位置情報を持つ複数画素単位で並列演算を行い、複数画素に対応する画素値の算出を行うことを特徴とする。
【0034】
さらに、本発明の画像処理方法の一実施態様において、前記画像処理装置は、さらに、相対位置コピー処理部を有し、前記画素相対位置算出ステップは、前記動き補償画像を構成する画素から選択された一部の処理画素についてのみ前記参照画像の参照画素の画素位置との相対位置を算出するステッであり、前記相対位置量子化ステップは、前記画素相対位置算出部において相対位置を算出した処理画素に対応する相対位置情報の量子化処理を行うステップであり、前記相対位置コピー処理部が、量子化相対位置の算出されていない非処理画素について、量子化相対位置の算出されている処理画素と同一の量子化相対位置を設定する処理を実行して、前記動き補償画像生成部に出力し、前記動き補償画像生成ステップは、前記相対位置コピー処理部から入力する量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成することを特徴とする。
【0035】
さらに、本発明の画像処理方法の一実施態様において、前記画素相対位置算出ステップは、画像フレームに含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出するステップであることを特徴とする。
【0036】
さらに、本発明の第3の側面は、
画像処理装置において、動き補償(MC:Motion Compensation)画像を生成させるコンピュータ・プログラムであり、
画素相対位置算出部に、動きベクトル情報に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出させる画素相対位置算出ステップと、
相対位置量子化部に、前記画素相対位置算出部の算出した相対位置情報の量子化処理を行い、量子化相対位置情報を生成させる相対位置量子化ステップと、
動き補償画像生成部に、前記量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成させる動き補償画像生成ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【0037】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【0038】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【0039】
本発明の一実施例の構成によれば、動き補償(MC)画像を生成する画像処理装置において、動き補償画像を構成する画素の画素位置と、これらの画素の画素値算出に利用する参照画素の画素位置との相対位置を算出し、算出した相対位置の量子化を行い、量子化相対位置と参照画素の画素値に基づいて動き補償画像の構成画素の画素値を算出して動き補償画像を生成する。さらに、量子化相対位置情報の平均化処理やコピー処理により、複数の画素単位で量子化相対位置を同一に設定してSIMDを適用した画素値算出を行う構成としたので、動き補償画像の画素値算出を高速に行うことが可能となり、効率的な動き補償画像生成が実現される。
【発明を実施するための最良の形態】
【0040】
以下、図面を参照しながら本発明の画像処理装置、および画像処理方法、並びにコンピュータ・プログラムの詳細について説明する。
【0041】
本発明の画像処理装置は、動き補償(MC:Motion Compensation)画像を効率的に高速生成することを可能とした画像処理装置である。動き補償画像(MC画像)は、前述したように例えば低解像度画像から高解像度画像を生成する超解像処理や、その他の画像の符号化処理、例えばMPEG符号化処理などにおいても利用される。
【0042】
動き補償画像(MC画像)は、複数の画像から得られる動きベクトルに基づいて、動き補償を行うべき画像の画素位置を動かす処理に相当する。例えば、画像符号化方式として知られるMPEG方式では、各フレームをブロック分割して、現在フレームと参照フレームの対応ブロックごとに動きベクトルを検出する処理が実行される。しかし、ブロック単位の動きベクトル情報を圧縮データに含めるとデータ量が増大することになるため、前述した超解像処理や、画像符号化処理としてのMPEG−4では、1つのフレームに対応する1つの動きベクトルとして、グローバル動きベクトル(GMV:Global Motion Vector)を利用した処理が行われる。
【0043】
カメラが例えばパン、チルト、あるいは手振れなどで移動した場合、各ブロックの動きベクトルはほぼ共通であり、このような場合ブロック単位の動きベクトルではなく、1つのフレームに対応する1つの動きベクトルであるグローバル動きベクトル(GMV)を利用することでデータ量削減や処理の効率化が可能となる。
【0044】
個々のブロック単位の動きベクトルをローカル動きベクトル(LMV:Local Motion Vector)と呼び、1つのフレームに対応する1つの動きベクトルはグローバル動きベクトル(GMV:Global Motion Vector)と呼ぶ。
【0045】
グローバル動きベクトル(GMV)について、図4を参照して説明する。例えば、図4(a)に示すように、時間t0,t1の時間で撮影された2つの画像フレーム30,31があるとする。この2フレームではカメラが例えばパン、チルト、あるいは手振れなどで移動して撮影されたフレームであり、撮影画像が図に示す通り、全体的に移動している。
【0046】
このような画像を符号化するような場合、従来は、各フレームを例えばn画素×n画素の複数のブロックに分割して、各ブロック単位の動きベクトル(MV:Motion Vector)、すなわち、ローカル動きベクトル(LMV)を検出して、個別のブロック単位の動きベクトルを利用した処理が行われていた。しかし、パン、チルト、あるいは手振れなどでカメラが移動した場合、図4(b)に示すように、どのブロックの動きベクトルもほぼ同じベクトルとなる。
【0047】
このような場合、図4(c)に示すように画面全体の動きを表現する1つの動きベクトル41、すなわち、グローバル動きベクトル(GMV:Global Motion Vector)を用い、画像符号化を実行することにより符号化効率を大幅に改善できる。
【0048】
例えば、MPEG−4では、グローバル動きベクトル(GMV)を適用し、グローバル動き補償(GMC:Global Motion Compensation)を用いた画像符号化手法が規格として採用されており、符号化装置(Encoder)側でグローバル動きベクトル(GMV)を検出し、復号装置(Decoder)側で伝送されたグローバル動きベクトル(GMV)を用いてグローバル動き補償(GMC)による復元が実行される。
【0049】
グローバル動きベクトル(GMV)は、図に示すような単純な平行移動の他、複数パラメータを用いて、回転、拡大、縮小を伴ったもの、アフィン(Affine)変換、投射影変換を用いたデータとして表現可能である。
【0050】
グローバル動きベクトル(GMV)は、図5に示すように現在フレームと参照フレーム間の対応する類似画素位置(x,y),(x',y')の関係を平行移動、回転、拡大、縮小、アフィン(Affine)変換、投射影変換などを用いたデータとして表現され、通常は、1つの画像フレームに対し、1つのグローバル動きベクトル(GMV)が適用される。なお、例えば通常のブロックサイズより大きなサイズに画面を分割し、各々にグローバル動きベクトル(GMV)を設定してもよい。すなわち、グローバル動きベクトル(GMV)は画像フレームに対して1つとは限らず、画像フレームに含まれる複数のブロックに共通の動きベクトルとして1つのグローバル動きベクトル(GMV)を設定し、1フレームに複数のグローバル動きベクトル(GMV)を設定する構成としてもよい。
【0051】
グローバル動きベクトル(GMV)は、例えば平行移動(並進)のみを示すベクトルの場合は、2つのパラメータ[a,a]を用いて以下のように表現される。
x'=x+a
y'=y+a
【0052】
平行移動(並進)と回転を考慮したグローバル動きベクトル(GMV)は、3つのパラメータ[a,a,a]を用いて以下のように表現される。
x'=sinax−cosay+a
y'=cosax+sinay+a
【0053】
アフィン変換に対応するグローバル動きベクトル(GMV)は、6つのパラメータ[a,a,a,a,a,a]を用いて以下のように表現される。
x'=ax−ay+a
y'=ax+ay+a
【0054】
投射変換に対応するグローバル動きベクトル(GMV)は、8つのパラメータ[a,a,a,a,a,a,a,a]を用いて以下のように表現される。
x'=((ax+ay+a)/(ax+ay+1))
y'=((ax+ay+a)/(ax+ay+1))
【0055】
なお、動画像フレームからグローバル動きベクトル(GMV)を求める場合、図5に示すように、2つのフレーム、すなわち現在フレームと参照フレームとから例えばブロックマッチングなどにより対応画素の位置関係を算出してフレーム間の画素移動状況を検証する処理が行われる。
【0056】
前述した超解像処理や、その他の画像符号化処理において動き補償画像(MC画像)を生成する場合、上述したグローバル動きベクトル(GMV)を利用した処理が実行される。本発明の処理の説明の前に、図6を参照して一般的な動き補償画像(MC画像)生成処理例について説明する。
【0057】
図6は、平行移動(並進)と回転を考慮したグローバル動きベクトル(GMV)に基づいて動き補償画像(MC画像)を生成する一般的な処理例を説明する図である。平行移動(並進)と回転を考慮したグローバル動きベクトル(GMV)は、前述したように、3つのパラメータ[a,a,a]を用いて以下のように表現される。
x'=sinax−cosay+a
y'=cosax+sinay+a
【0058】
図6(a)に示す動き補償画像(MC画像)102を生成するために使用された元画像を参照画像101とする。なお、参照画像101と、図示しない現在フレーム画像とに基づいてグローバル動きベクトル(GMV)が検出されており、そのグローバル動きベクトル(GMV)が上記の3つのパラメータ[a,a,a]を用いて表現されるベクトル(GMV)である。
【0059】
このグローバル動きベクトル(GMV)に従って、参照画像101の画素位置を移動させて、参照画像101の画素を図示しない現在フレーム画像の画素位置にほぼ一致させた画像が、図6(a)に示す動き補償画像(MC画像)102である。
【0060】
図6(a)に示す白丸で表現された参照画像101から、黒丸で表現された動き補償画像(MC画像)102を生成する場合の一般的な処理手順は、以下のステップ1〜4の処理となる。
ステップ1:グローバル動きベクトル(GMV)に基づいて、動き補償画像(MC画像)102と参照画像101の相対位置を計算する。
ステップ2:ステップ1で算出した相対位置に基づいて、参照画像101の画素(MC画Pixel)作成時の、参照画像101の参照先画素Pixelを決定する。
ステップ3:相対位置に基づいて、本来のピクセル幅より小さいサブピクセル(sub−pixel)精度での相対位置(水平方向、垂直方向の相対位置)を計算する。
ステップ4:サブピクセル(sub−pixel)精度での水平方向、垂直方向相対位置より、加重平均により動き補償画像(MC画像)102の画素値を計算する。
なお、動き補償画像(MC画像)102の画素値算出には、必ずしも加重平均で実施する必要はない。例えば計算コストが許す場合、さらに周辺画素を参照してフィルタ演算により画素を作成してもよい。
【0061】
具体的な処理例を、図6(b)を参照して説明する。動き補償画像(MC画像)の画素であるMC画像画素103の画素値を決定する場合、上記のステップ1,2により、元の参照画像の画素a00,a01,aa0,a11が参照先画素として決定される。
【0062】
次に、上記のステップ3において、サブピクセル(sub−pixel)精度での水平方向、垂直方向の相対位置として、図6(2)に示す、
水平方向相対位置[HorPos]、
垂直方向相対位置[VerPos]
これらを算出する。
【0063】
次に、ステップ4の処理として、水平方向相対位置[HorPos]、垂直方向相対位置[VerPos]を適用して加重平均により動き補償画像(MC画像)102の画素値[output_pixel]を、以下の式(式2)を利用して計算する。
output_pixel=(a00×(1−HorPos)+a01×HorPos)×(1−VerPos)+(a10×(1−HorPos)+a11×HorPos)×VerPos
・・・(式2)
【0064】
しかし、動き補償画像(MC画像)102を構成する画素各々に対する参照画像101中の参照画素との相対位置が異なり、動き補償画像(MC画像)102の画素各々について相対位置の算出が必要であり計算コストや処理時間が膨大になる。また、サブピクセル(sub−pixel)精度での水平方向、垂直方向の相対位置、
水平方向相対位置[HorPos]、
垂直方向相対位置[VerPos]
これらのデータも、画素各々異なる値となり、これらの値の算出も各画素各々について実行しなければならず計算コストおよび処理時間の増大をもたらすことになる。
【0065】
本発明の画像処理装置では、このように一般的には計算コストの大きい処理とされる動き補償画像(MC画像)の生成処理を効率的に高速に行う構成を実現する。以下、本発明の動き補償画像(MC画像)の生成処理について詳細に説明する。
【0066】
図4等を参照し手説明したように、グローバル動きベクトル(GMV)は、複数ブロックに共通に設定される動きベクトル、例えば画像フレームを構成する全てのブロックに共通する1つの動きベクトルである。グローバル動きベクトル(GMV)を用いている場合、1つのフレームの構成画素はほとんど同じ動きをしていると判断される。従って、例えば図6(1)に示す動き補償画像(MC画像)を生成する場合に算出する必要のあるサブピクセル(sub−pixel)精度での水平方向、垂直方向の相対位置、
水平方向相対位置[HorPos]、
垂直方向相対位置[VerPos]
これらの値は、空間方向に強い相関がある。本発明の手法では、この空間方向の相関を利用し計算速度の向上を行う。
【0067】
図7に、図6(1)と同様、参照画像201と、グローバル動きベクトル(GMV)情報を利用して参照画像201に基づいて生成する動き補償画像(MC画像)202を示す。図7に示す動き補償画像(MC画像)202の構成画素中、例えば、1つの画素aと、画素aに隣接する周囲の8画素、すなわち、画素b,c,d,e,f,g,h,iとは、それぞれの画素値を算出する際に必要とする参照画像201中の参照画素との相対位置はほぼ、同様であり、サブピクセル(sub−pixel)精度での水平方向、垂直方向の相対位置、
水平方向相対位置[HorPos]、
垂直方向相対位置[VerPos]
これらの値もほぼ共通の値となる。本発明の手法では、この空間方向の相関を利用し計算速度の向上を行う。
【0068】
[実施例1]
本発明の動き補償画像(MC画像)の生成処理の第1実施例の詳細について、図8〜図11を参照して説明する。図8は、本発明の画像処理装置内に設定される動き補償画像(MC画像)生成手段の構成例を示している。
【0069】
入力は、グローバル動きベクトル(GMV)と参照画像であり、出力はグローバル動きベクトル(GMV)に従って、参照画像の画素位置を変更した動き補償画像(MC画像)となる。なお、グローバル動きベクトル(GMV)は、例えば現在フレーム画像と参照フレーム画像とに基づいて生成されたグローバル動きベクトル(GMV)であり、出力される動き補償画像(MC画像)は、参照画像の画素位置を、現在フレーム画像の画素位置に対応する位置に変更した画像である。
【0070】
本実施例の画像処理装置内に設定される動き補償画像(MC画像)生成手段は、図8に示すように、参照画素相対位置算出部251と、相対位置量子化部252と、動き補償画像生成部253を有する。
【0071】
参照画素相対位置算出部251は、外部より入力されたグローバル動きベクトル(GMV)に基づいて、参照画像から動き補償画像(MC画像)を生成する際に必要となる画素が参照画上のどの点に位置するのかを計算する。
【0072】
図9を参照して、参照画素相対位置算出部251の実行する処理について説明する。図9は、図7に示す参照画像201と動き補償画像(MC画像)202と同様、
白丸が参照画像の構成画素、
黒丸が動き補償画像(MC画像)の構成画素
を示している。例えば、動き補償画像(MC画像)の構成画素301の画素値を決定する場合、先に図6(b)を参照して説明したと同様、図9に示す動き補償画像(MC画像)の構成画素301の周囲の参照画像の構成画素の画素値を参照することになる。すなわち、図9に示す参照画素P1〜P4の4つの画素が参照画素302となる。
【0073】
参照画素相対位置算出部251は、例えば、動き補償画像(MC画像)の構成画素301についての参照画像の参照画素相対位置として、サブピクセル(sub−pixel)精度での水平方向、垂直方向の相対位置として、図9に示すように、
水平方向相対位置[HorPos]、
垂直方向相対位置[VerPos]
これらを算出する。参照画素相対位置算出部251は、動き補償画像(MC画像)の構成画素各々について、このサブピクセル(sub−pixel)精度での水平方向、垂直方向の相対位置を算出して相対位置量子化部252に出力する。
【0074】
相対位置量子化部252は、参照画素相対位置算出部251から動き補償画像(MC画像)の構成画素各々に対応する参照画素の相対位置情報を入力して、これらを量子化する。すなわち、参照画素の相対位置情報を予め設定した精度に量子化し、量子化した参照画素の相対位置情報を動き補償画像生成部253に出力する。
【0075】
相対位置量子化部252の実行する処理について図10を参照して説明する。図10には、
白丸が参照画像の構成画素、
点線白丸が動き補償画像(MC画像)の構成画素(図9の黒丸と同じ)、
これらの画素位置に加え、
参照画素の相対位置を量子化して得られる動き補償画像(MC画像)の構成画素を黒丸で示している。
【0076】
すなわち、相対位置量子化部252は、動き補償画像(MC画像)の構成画素各々について、サブピクセル(sub−pixel)精度での水平方向、垂直方向の相対位置
水平方向相対位置[HorPos]、
垂直方向相対位置[VerPos]
これらの情報を参照画素相対位置算出部251から入力し、これらの相対位置情報を予め設定した精度に量子化する。
【0077】
図10に示す例では、量子化幅(ステップ)Qは、1ビクセル幅の1/4としている。すなわち、
量子化幅(ステップ)Q=1/4pel
ただし:pelはピクセル幅
としている。
なお、図10に示す量子化幅(ステップ)Qは一例であり、この他、
量子化幅Q=1pel,1/2pel
など、様々な設定が可能である。
【0078】
図10に示す例では、例えば量子化前の動き補償画像(MC画像)の構成画素311は、相対位置の量子化後は、量子化後の動き補償画像(MC画像)の構成画素312の位置にあると判断され、図10の右下図に示すように、動き補償画像(MC画像)の構成画素312の参照画素との水平方向、垂直方向の相対位置は、量子化幅Qを用いて、
水平方向相対位置[HorPos]=2Q、
垂直方向相対位置[VerPos]=2Q、
これらの量子化情報に変換される。
【0079】
相対位置量子化部252は全ての、動き補償画像(MC画像)の構成画素について、参照画素との水平方向、垂直方向の相対位置を量子化して、量子化相対位置情報を動き補償画像生成部253に出力する。
【0080】
動き補償画像生成部253は、相対位置量子化部252から量子化相対位置情報を入力し、さらに、動き補償(MC)画像の元画像としての参照画像を入力して、これらの入力情報に基づいて動き補償(MC)画像を生成する。
【0081】
動き補償画像生成部253における動き補償(MC)画像の生成処理について図11を参照して説明する。動き補償画像生成部253は、相対位置量子化部252から入力する量子化相対位置情報が等しい動き補償画像(MC画像)の構成画素をグループ化して画素値算出処理を実行して動き補償(MC)画像を生成する。
【0082】
図11に示す例では、相対位置の量子化後の動き補償(MC)画像の構成画素Pm1〜Pm6を示しているが、これらの画素中、
Pm1〜Pm3は、
水平方向相対位置[HorPos]=2Q、
垂直方向相対位置[VerPos]=2Q、
であり等しい量子化相対位置情報を有する。
従って、これらの動き補償(MC)画像の構成画素Pm1〜Pm3を1つのグループ(グループA)とする。
【0083】
同様に、量子化後の動き補償(MC)画像の構成画素Pm4〜Pm6は、
水平方向相対位置[HorPos]=3Q、
垂直方向相対位置[VerPos]=1Q、
であり等しい量子化相対位置情報を有する。
従って、これらの動き補償(MC)画像の構成画素Pm4〜Pm6を1つのグループ(グループB)とする。
【0084】
動き補償画像生成部253は、各グループ単位で動き補償(MC)画像の構成画素の画素値算出を実行する。図11に示す例では、グループAの3画素に対する処理と、グループBの3画素に対する処理を実行する。なお、各画素の画素値(output_pixel)の算出処理は前述したように、先に説明した式(式2)、すなわち、
output_pixel=(a00×(1−HorPos)+a01×HorPos)×(1−VerPos)+(a10×(1−HorPos)+a11×HorPos)×VerPos
上記式に従って実行される。
【0085】
従来は、各画素各々について、
水平方向相対位置[HorPos]、
垂直方向相対位置[VerPos]、
これらの値を、逐次置き換えて画素値算出を行う必要があったが、本処理例では、複数の画素について同一の量子化したデータを適用して画素値算出を行うことが可能となり、計算コストが大幅に低減され、処理の高速化が実現する。
【0086】
[実施例2]
次に、本発明の動き補償画像(MC画像)の生成処理の第2実施例の詳細について、図12〜図13を参照して説明する。図12は、本実施例の動き補償画像(MC画像)生成手段の構成例を示している。
【0087】
図12に示す動き補償画像(MC画像)生成手段は、先に図8を参照して説明した実施例1の構成に相対位置平均化処理部403を追加した構成となっている。参照画素相対位置算出部401と、相対位置量子化部402は、実施例1と同様の処理を実行し、動き補償画像生成部404は、相対位置平均化処理部403の処理データを入力して動き補償(MC)画像を生成する構成となっている。
【0088】
本実施例構成においても、先の実施例1の構成と同様、入力はグローバル動きベクトル(GMV)と参照画像であり、出力はグローバル動きベクトル(GMV)に従って、参照画像の画素位置を変更した動き補償画像(MC画像)となる。なお、グローバル動きベクトル(GMV)は、例えば現在フレーム画像と参照フレーム画像とに基づいて生成されたグローバル動きベクトル(GMV)であり、出力される動き補償画像(MC画像)は、参照画像の画素位置を、現在フレーム画像の画素位置に対応する位置に変更した画像である。
【0089】
図12に示す構成において、参照画素相対位置算出部401は、外部より入力されたグローバル動きベクトル(GMV)に基づいて、参照画像から動き補償画像(MC画像)を生成する際に必要となる画素が参照画上のどの点に位置するのかを計算する。この処理は、先に図9を参照して説明した処理である。
【0090】
相対位置量子化部402は、参照画素相対位置算出部401から動き補償画像(MC画像)の構成画素各々に対応する参照画素の相対位置情報を入力して、これらを量子化する。すなわち、参照画素の相対位置情報を予め設定した精度に量子化する。この処理は、先に図10を参照して説明した処理である。相対位置量子化部402は、量子化した参照画素の相対位置情報を相対位置平均化処理部403に出力する。
【0091】
相対位置平均化処理部403は、相対位置量子化部402からの入力情報、すなわち動き補償画像(MC画像)の構成画素各々に対応する量子化された参照画素の相対位置情報、すなわち、具体的には、
水平方向相対位置[HorPos]=nQ、
垂直方向相対位置[VerPos]=mQ、
これらの量子化情報を、予め設定した画素数毎に平均化する処理を実行する。
【0092】
例えば、画像処理装置において動き補償画像(MC画像)の構成画素の画素値算出を実行する演算処理装置であるSIMD(Single Instruction Multiple Data)演算器の演算処理能力に応じて設定した画素数毎に、量子化情報を平均化する。
【0093】
SIMDは一般的に、32bit,あるいは64bit等の単位の入力データに対して並列演算を実行する構成を持つ。例えば、動き補償画像(MC画像)の構成画素1つの画素値が8ビットデータである場合、32ビットデータの処理を実行するSIMDでは、4画素の画素値、すなわち4×8=32ビットデータの画素値算出を1つの演算サイクルで行うことが可能であり、4画素を1まとめに設定することで演算の効率化が可能となり、処理の高速化が実現される。
【0094】
図13に示すように、相対位置量子化部402からの入力情報、すなわち動き補償画像(MC画像)の構成画素の量子化された相対位置情報について、4つの画素(pm1〜pm4)毎に、平均化処理を実行する。なお、出力情報も量子化情報とする。
【0095】
図13に示す例では、図13(a)の入力情報としての量子化相対位置情報は、
画素pm1〜pm3が、
水平方向相対位置[HorPos]=2Q、
垂直方向相対位置[VerPos]=2Q、
であり、
画素pm4が、
水平方向相対位置[HorPos]=3Q、
垂直方向相対位置[VerPos]=1Q、
である。
この場合、量子化データの単純な平均は、
水平方向相対位置[HorPos]=((2Q×3)+(3Q×1))/4=9Q/4=2.25Q
垂直方向相対位置[VerPos]=(2Q×3)+(1Q×1))/4=7Q/4=1.75Q
となる。さらに、これらの平均化データを量子化することで、
画素pm1〜pm4について、
水平方向相対位置[HorPos]=2Q、
垂直方向相対位置[VerPos]=2Q、
となる。
【0096】
この量子化相対位置データが、図13(b)に示す同じ相対位置情報を持つ画素pm1'〜pm4'であり、これらを1まとめにして相対位置平均化処理部403から動き補償(MC)画像生成部404に出力する。
【0097】
なお、図13を参照して説明した処理は、1画素が8ビットデータであり、動き補償(MC)画像生成部404における動き補償(MC)画像の画素値算出が32ビットSIMDによって行われる場合の例であり、例えば、1画素が8ビットデータであり、動き補償(MC)画像生成部404における動き補償(MC)画像の画素値算出が64ビットSIMDによって行われる場合には、8つの画素を1つの並列演算対象として設定可能であり、この場合は、8つの画素を平均化対象とする。
【0098】
なお、図13に示す例では、水平方向の4画素を平均化対象画素として選択しているが、垂直方向に4画素を選択する構成など、平均化対象画素の選択構成は様々な設定が可能である。
【0099】
動き補償画像生成部404は、相対位置平均化処理部403から、複数画素単位で平均化された量子化相対位置情報を入力して、動き補償画像(MC画像)の構成画素の画素値算出を実行する。
【0100】
動き補償画像生成部404は、動き補償画像(MC画像)の構成画素の画素値算出を実行する演算処理装置であるSIMD(Single Instruction Multiple Data)演算器を利用して各画素の画素値算出を行う。前述したように、例えば、32bit単位の入力データに対して並列演算を実行し、4画素の画素値を並列に算出する。このように、複数画素を1まとめに設定した演算により処理の高速化が実現される。
【0101】
[実施例3]
次に、本発明の動き補償画像(MC画像)の生成処理の第3実施例の詳細について、図14〜図17を参照して説明する。図14は、本実施例の動き補償画像(MC画像)生成手段の構成例を示している。
【0102】
図14に示す動き補償画像(MC画像)生成手段は、先に図8を参照して説明した実施例1の構成に相対位置コピー処理部503を追加した構成となっている。参照画素相対位置算出部501と、相対位置量子化部502は、実施例1の処理を簡略化して実行する。動き補償画像(MC画像)の構成画素すべてに対して処理を行うのではなく、一部、例えば4画素につき1画素など、処理画素を選択して簡略化した処理を実行する。動き補償画像生成部504は、相対位置コピー処理部403の処理データを入力して動き補償(MC)画像を生成する構成となっている。
【0103】
本実施例構成においても、先の実施例1の構成と同様、入力はグローバル動きベクトル(GMV)と参照画像であり、出力はグローバル動きベクトル(GMV)に従って、参照画像の画素位置を変更した動き補償画像(MC画像)となる。なお、グローバル動きベクトル(GMV)は、例えば現在フレーム画像と参照フレーム画像とに基づいて生成されたグローバル動きベクトル(GMV)であり、出力される動き補償画像(MC画像)は、参照画像の画素位置を、現在フレーム画像の画素位置に対応する位置に変更した画像である。
【0104】
図14に示す構成において、参照画素相対位置算出部501は、外部より入力されたグローバル動きベクトル(GMV)に基づいて、参照画像から動き補償画像(MC画像)を生成する際に必要となる画素が参照画上のどの点に位置するのかを計算する。この処理は、先に図9を参照して説明した処理である。ただし、本処理例では、動き補償画像(MC画像)の構成画素すべての参照画素の相対位置情報を算出するのではなく、予め設定した選択画素についてのみ処理を行い、非選択画素については相対位置情報の算出を実行しない。
【0105】
例えば、図15に示すように、水平方向の4画素から1の画素のみを処理画素521として選択しこの処理画素521については、先に図9を参照して説明した処理により、参照画素に対する相対位置として、
水平方向相対位置[HorPos]、
垂直方向相対位置[VerPos]、
これらの相対位置情報を算出するが、その右側の3つの非処理画素531については、これらの相対位置情報の算出を実行しない。以下、同様に相対位置を算出した1つの画素の連続する3画素については相対位置を算出しない。
【0106】
すなわち、参照画素相対位置算出部501は4画素中1つの画素についてのみの相対位置算出を実行することになり、実施例1と比較して処理量は25%に削減される。
【0107】
相対位置量子化部502は、参照画素相対位置算出部501から動き補償画像(MC画像)の構成画素から選択された処理画素に対応する参照画素の相対位置情報を入力して、これらを量子化する。この処理は、先に図10を参照して説明した処理である。ただし量子化処理の実行される画素は、参照画素相対位置算出部501において相対位置が算出された画素のみであり、本例では4画素中、1画素のみである。相対位置量子化部502も、参照画素相対位置算出部501と同様、4画素中1つの画素についてのみの量子化相対位置算出を実行することになり、実施例1と比較して処理量は25%に削減される。なお、本例では、処理画素と非処理画素の割合を1:3としているが、この設定は、様々な設定が可能である。
【0108】
相対位置量子化部502は、量子化した参照画素の相対位置情報を相対位置コピー処理部503に出力する。
【0109】
相対位置コピー処理部503は、相対位置量子化部502からの入力情報、すなわち動き補償画像(MC画像)の構成画素から選択された処理画素各々に対応する量子化された参照画素の相対位置情報、すなわち、具体的には、
水平方向相対位置[HorPos]=nQ、
垂直方向相対位置[VerPos]=mQ、
これらの量子化情報を、非処理画素に対して、順次コピーする処理を実行する。
【0110】
図16に示すように、相対位置量子化部502からの入力情報は、動き補償画像(MC画像)の構成画素から選択された一部の処理画素のみの量子化相対位置情報である。図16の例では、4つの画素(pm1〜pm4)中、画素pm1が処理画素であり、pm2〜pm4は非処理画素である。この場合、画素pm1については、量子化相対位置情報、すなわち、
量子化水平方向相対位置[HorPos]=2Q、
量子化垂直方向相対位置[VerPos]=2Q、
これらの情報を有しているが、非処理画素pm2〜pm4はこれらの相対位置情報を有していない。
【0111】
相対位置コピー処理部503は、処理画素に対応する量子化相対位置情報、すなわち、
水平方向相対位置[HorPos]=nQ、
垂直方向相対位置[VerPos]=mQ、
これらの量子化情報を、非処理画素に対して順次コピーする処理を実行する。
【0112】
図の例では、pm1についての量子化相対位置情報、すなわち、
量子化水平方向相対位置[HorPos]=2Q、
量子化垂直方向相対位置[VerPos]=2Q、
これらの量子化情報を非処理画素pm2〜pm4に対応する量子化相対位置情報としてコピーする。結果として、画素pm1〜pm4のすべてが、同一の量子化相対位置情報、すなわち、
水平方向相対位置[HorPos]=2Q、
垂直方向相対位置[VerPos]=2Q、
これらの量子化情報を有することになる。
【0113】
以下同様に、量子化相対位置情報を持たない動き補償画像(MC画像)の構成画素については、近接する量子化相対位置情報を持つ動き補償画像(MC画像)の構成画素についての量子化相対位置情報をコピーする処理を実行する。
【0114】
動き補償画像生成部504は、相対位置コピー処理部503から、複数画素単位でコピーされた量子化相対位置情報を入力して、動き補償画像(MC画像)の構成画素の画素値算出を実行する。なお、この処理では、先に説明した実施例2と同様、動き補償画像生成部404は、動き補償画像(MC画像)の構成画素の画素値算出を実行する演算処理装置であるSIMD(Single Instruction Multiple Data)演算器を利用して各画素の画素値算出を行う。例えば、32bit単位の入力データに対して並列演算を実行し、4画素の画素値を並列に算出することが可能であり、実施例2と同様に複数画素を1まとめに設定した演算により処理の高速化が実現される。
【0115】
最後に、図17を参照して、上述した処理を実行する装置の1つのハードウェア構成例としてパーソナルコンピュータのハードウェア構成例について説明する。CPU(Central Processing Unit)701は、ROM(Read
Only Memory)702、または記憶部708に記憶されているプログラムに従って各種の処理を実行する。例えば、上述の実施例において説明した動き補償画像(MC画像)を生成するプログラムを実行する。RAM(Random Access Memory)703には、CPU701が実行するプログラムやデータなどが適宜記憶される。これらのCPU301、ROM702、およびRAM703は、バス704により相互に接続されている。
【0116】
CPU701はバス704を介して入出力インタフェース705に接続され、入出力インタフェース705には、キーボード、マウス、マイクロホンなどよりなる入力部706、ディスプレイ、スピーカなどよりなる出力部707が接続されている。CPU701は、入力部706から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部707に出力する。
【0117】
入出力インタフェース705に接続されている記憶部708は、例えばハードディスクからなり、CPU701が実行するプログラムや各種のデータを記憶する。通信部709は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【0118】
入出力インタフェース705に接続されているドライブ710は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア711を駆動し、記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部708に転送され記憶される。
【0119】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【0120】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0121】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【0122】
以上、説明したように、本発明の一実施例の構成によれば、動き補償(MC)画像を生成する画像処理装置において、動き補償画像を構成する画素の画素位置と、これらの画素の画素値算出に利用する参照画素の画素位置との相対位置を算出し、算出した相対位置の量子化を行い、量子化相対位置と参照画素の画素値に基づいて動き補償画像の構成画素の画素値を算出して動き補償画像を生成する。さらに、量子化相対位置情報の平均化処理やコピー処理により、複数の画素単位で量子化相対位置を同一に設定してSIMDを適用した画素値算出を行う構成としたので、動き補償画像の画素値算出を高速に行うことが可能となり、効率的な動き補償画像生成が実現される。
【図面の簡単な説明】
【0123】
【図1】低解像度の画像から高解像度画像を生成する超解像処理について説明する図である。
【図2】低解像度の画像から高解像度画像を生成する超解像処理を実行する構成例について説明する図である。
【図3】低解像度の画像から高解像度画像を生成する超解像処理を実行する構成例について説明する図である。
【図4】グローバル動きベクトル(GMV)について説明する図である。
【図5】現在フレームと参照フレームの対応点とグローバル動きベクトル(GMV)の関係について説明する図である。
【図6】動き補償(MC)画像の生成処理例について説明する図である。
【図7】本発明に従った動き補償(MC)画像の生成処理の基本的考え方について説明する図である。
【図8】本発明の画像処理装置内に設定される動き補償(MC)画像生成手段の構成例(実施例1)を示す図である。
【図9】本発明の実施例に係る動き補償(MC)画像生成処理の詳細について説明する図である。
【図10】本発明の実施例に係る動き補償(MC)画像生成処理の詳細について説明する図である。
【図11】本発明の実施例に係る動き補償(MC)画像生成処理の詳細について説明する図である。
【図12】本発明の画像処理装置内に設定される動き補償(MC)画像生成手段の構成例(実施例2)を示す図である。
【図13】本発明の実施例に係る動き補償(MC)画像生成処理の詳細について説明する図である。
【図14】本発明の画像処理装置内に設定される動き補償(MC)画像生成手段の構成例(実施例3)を示す図である。
【図15】本発明の実施例に係る動き補償(MC)画像生成処理の詳細について説明する図である。
【図16】本発明の実施例に係る動き補償(MC)画像生成処理の詳細について説明する図である。
【図17】本発明の一実施例に係る画像処理装置のハードウェア構成例について説明する図である。
【符号の説明】
【0124】
1 画像処理装置
11 超解像処理部
12 合算処理部
13 加算処理部
14 SR画像バッファ
21 動きベクトル検出部
22 動き補償処理部
23 ダウンサンプリング処理部
24 加算処理部
25 アップサンプリング処理部
26 逆方向動き補償処理部
30,31 画像フレーム
41 動きベクトル
101 参照画像
102 動き補償(MC)画像
103 MC画像画素
201 参照画像
202 動き補償(MC)画像
251 参照画像相対位置算出部
252 相対位置量子化部
253 動き補償画像生成部
401 参照画像相対位置算出部
402 相対位置量子化部
403 相対位置平均化処理部
404 動き補償画像生成部
501 参照画像相対位置算出部
502 相対位置量子化部
503相対位置コピー処理部
504 動き補償画像生成部
701 CPU
702 ROM
703 RAM
704 バス
705 入出力インタフェース
706 入力部
707 出力部
708 記憶部
709 通信部
710 ドライブ
711 リムーバブルメディア

【特許請求の範囲】
【請求項1】
動き補償(MC:Motion Compensation)画像を生成する画像処理装置であり、
動きベクトル情報に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出する画素相対位置算出部と、
前記画素相対位置算出部の算出した相対位置情報の量子化処理を行い、量子化相対位置情報を生成する相対位置量子化部と、
前記量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成する動き補償画像生成部と、
を有することを特徴とする画像処理装置。
【請求項2】
前記画像処理装置は、さらに、
前記量子化相対位置情報を入力し、動き補償画像の複数の画素に対応する量子化相対位置情報の平均化処理を実行する相対位置平均化処理部を有し、
前記相対位置平均化処理部は、
前記動き補償画像生成部において並列演算可能なビット数に応じて決定する画素数単位で量子化相対位置が同一となるように量子化相対位置情報の平均化処理を実行し、
前記動き補償画像生成部は、
前記相対位置平均化処理部の生成する複数画素単位で同一の値に設定された量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成する構成であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記動き補償画像生成部は、
SIMD(Single Instruction Multiple Data)演算器を適用した画素値算出を実行する構成であり、同一の値に設定された量子化相対位置情報を持つ複数画素単位で並列演算を行い、複数画素に対応する画素値の算出を行う構成であることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記画像処理装置は、さらに、相対位置コピー処理部を有し、
前記画素相対位置算出部は、前記動き補償画像を構成する画素から選択された一部の処理画素についてのみ前記参照画像の参照画素の画素位置との相対位置を算出し、
前記相対位置量子化部は、前記画素相対位置算出部において相対位置を算出した処理画素に対応する相対位置情報の量子化処理を行う構成であり、
前記相対位置コピー処理部は、
量子化相対位置の算出されていない非処理画素について、量子化相対位置の算出されている処理画素と同一の量子化相対位置を設定する処理を実行して、前記動き補償画像生成部に出力する構成であり、
前記動き補償画像生成部は、
前記相対位置コピー処理部から入力する量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成する構成であることを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記画素相対位置算出部は、
画像フレームに含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出する構成であることを特徴とする請求項1〜4いずれかに記載の画像処理装置。
【請求項6】
画像処理装置において、動き補償(MC:Motion Compensation)画像を生成する画像処理方法であり、
画素相対位置算出部が、動きベクトル情報に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出する画素相対位置算出ステップと、
相対位置量子化部が、前記画素相対位置算出部の算出した相対位置情報の量子化処理を行い、量子化相対位置情報を生成する相対位置量子化ステップと、
動き補償画像生成部が、前記量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成する動き補償画像生成ステップと、
を有することを特徴とする画像処理方法。
【請求項7】
前記画像処理方法は、さらに、
相対位置平均化処理部が、前記量子化相対位置情報を入力し、動き補償画像の複数の画素に対応する量子化相対位置情報の平均化処理を実行する相対位置平均化処理ステップを有し、
前記相対位置平均化処理ステップは、
前記動き補償画像生成部において並列演算可能なビット数に応じて決定する画素数単位で量子化相対位置が同一となるように量子化相対位置情報の平均化処理を実行するステップであり、
前記動き補償画像生成ステップは、
前記相対位置平均化処理ステップにおいて生成する複数画素単位で同一の値に設定された量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成することを特徴とする請求項6に記載の画像処理方法。
【請求項8】
前記動き補償画像生成ステップは、
SIMD(Single Instruction Multiple Data)演算器を適用した画素値算出を実行するステップであり、同一の値に設定された量子化相対位置情報を持つ複数画素単位で並列演算を行い、複数画素に対応する画素値の算出を行うことを特徴とする請求項7に記載の画像処理方法。
【請求項9】
前記画像処理装置は、さらに、相対位置コピー処理部を有し、
前記画素相対位置算出ステップは、
前記動き補償画像を構成する画素から選択された一部の処理画素についてのみ前記参照画像の参照画素の画素位置との相対位置を算出するステッであり、
前記相対位置量子化ステップは、前記画素相対位置算出部において相対位置を算出した処理画素に対応する相対位置情報の量子化処理を行うステップであり、
前記相対位置コピー処理部が、量子化相対位置の算出されていない非処理画素について、量子化相対位置の算出されている処理画素と同一の量子化相対位置を設定する処理を実行して、前記動き補償画像生成部に出力し、
前記動き補償画像生成ステップは、
前記相対位置コピー処理部から入力する量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成することを特徴とする請求項6に記載の画像処理方法。
【請求項10】
前記画素相対位置算出ステップは、
画像フレームに含まれる複数のブロックに共通の動きベクトルであるグローバル動きベクトル(GMV:Global Motion Vector)に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出するステップであることを特徴とする請求項6〜9いずれかに記載の画像処理方法。
【請求項11】
画像処理装置において、動き補償(MC:Motion Compensation)画像を生成させるコンピュータ・プログラムであり、
画素相対位置算出部に、動きベクトル情報に基づいて、動き補償画像を構成する画素の画素位置と、該画素の画素値算出に利用する参照画像の参照画素の画素位置との相対位置を算出させる画素相対位置算出ステップと、
相対位置量子化部に、前記画素相対位置算出部の算出した相対位置情報の量子化処理を行い、量子化相対位置情報を生成させる相対位置量子化ステップと、
動き補償画像生成部に、前記量子化相対位置情報と前記参照画素の画素値に基づいて、動き補償画像の構成画素の画素値を算出して動き補償画像を生成させる動き補償画像生成ステップと、
を有することを特徴とするコンピュータ・プログラム。

【図2】
image rotate

【図3】
image rotate

【図8】
image rotate

【図12】
image rotate

【図14】
image rotate

【図17】
image rotate

【図1】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図13】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2009−65333(P2009−65333A)
【公開日】平成21年3月26日(2009.3.26)
【国際特許分類】
【出願番号】特願2007−230054(P2007−230054)
【出願日】平成19年9月5日(2007.9.5)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】