(57)【要約】【課題】動きベクトルを簡単な構成で精度よく検出できるようにする。【解決手段】ビット変換部３１は、画素に割り当てるビット数の削減を基準画像と参照画像に対して行う。動きベクトル検出部４０のブロックマッチング部４１は、ビット数削減が行われた基準画像と参照画像を用いたブロックマッチングによって動きベクトルの粗検出を行う。ブロックマッチング部４３は、粗検出で検出した動きベクトルに基づき、動きベクトルの詳細検出における探索範囲を決定して、画素に割り当てるビット数が粗検出に用いた画像以上の階層である探索範囲の画像を用いて動きベクトルの詳細検出を行う。容量の大きいメモリや回路規模の大きいロジック回路を用いることなく、簡単な構成で精度よく動きベクトルを検出できる。【選択図】        図１
2011166266.tif 000002
【特許請求の範囲】
【請求項１】
画素に割り当てるビット数の削減を基準画像と参照画像に対して行い、画素に割り当てるビット数に応じて階層化した基準画像と参照画像を生成するビット変換部と、
基準画像と参照画像を用いてブロックマッチング処理を行い、ブロック間の差分が最小となるブロック位置から動きベクトルを検出する動きベクトル検出部を備え、
前記動きベクトル検出部は、前記ビット数の削減が行われた基準画像と参照画像を用いたブロックマッチングによって動きベクトルの粗検出を行い、該粗検出で検出した動きベクトルに基づき、動きベクトルの詳細検出における探索範囲を決定して、前記画素に割り当てるビット数が前記粗検出に用いた画像以上の階層である探索範囲の画像を用いて動きベクトルの詳細検出を行う情報処理装置。
【請求項２】
前記基準画像と参照画像のダウンサンプリングを行って前記基準画像と参照画像の解像度を低下させる解像度変換部を更に備え、
前記動きベクトル検出部は、前記解像度が低下された基準画像と参照画像を用いたブロックマッチングによって動きベクトルの粗検出を行い、該粗検出で検出した動きベクトルに基づき、動きベクトルの詳細検出における探索範囲を決定して、解像度が前記粗検出に用いた画像以上詳細な探索範囲の画像を用いて動きベクトルの詳細検出を行う請求項１記載の情報処理装置。
【請求項３】
前記動きベクトル検出部は、画素に割り当てるビット数が最も少ない階層の基準画像と参照画像を用いてブロックマッチング処理を行い、動きベクトルの粗検出を行う請求項２記載の情報処理装置。
【請求項４】
前記動きベクトル検出部は、前記画素に割り当てるビット数が前記粗検出に用いた画像と等しい探索範囲の画像を用いるとき、該探索範囲の画像として、解像度が前記粗検出に用いた画像よりも詳細な画像を用いる請求項２記載の情報処理装置。
【請求項５】
前記参照画像は、前記基準画像に対して時間が異なる複数の画像である請求項１記載の情報処理装置。
【請求項６】
前記ビット変換部は、前記基準画像と参照画像のフィルタ処理を行い、フィルタ処理前とフィルタ処理後で画素レベルの比較を画素毎に行い、比較結果からビット数を削減した基準画像と参照画像を生成する請求項１記載の情報処理装置。
【請求項７】
前記ビット変換部は、前記フィルタ処理後の画素レベルを所定量だけシフトするレベルシフト処理を行い、前記フィルタ処理後の画素レベルとレベルシフト処理後の画素レベルを画素毎に比較して、比較結果からビット数を削減した基準画像と参照画像を生成する請求項６記載の情報処理装置。
【請求項８】
前記ビット変換部は、平均フィルタまたは帯域通過フィルタを用いて前記フィルタ処理を行う請求項６記載の情報処理装置。
【請求項９】
前記基準画像と参照画像は画素に割り当てるビット数が８ビットである画像であり、前記ビット変換部は、前記ビット数の削減を基準画像と参照画像に対して行い、画素に割り当てるビット数が１ビットである基準画像と参照画像を生成する請求項１記載の情報処理装置。
【請求項１０】
ビット変換部で、画素に割り当てるビット数の削減を基準画像と参照画像に対して行い、画素に割り当てるビット数に応じて階層化した基準画像と参照画像を生成するステップと、
動きベクトル検出部で、前記ビット数の削減が行われた基準画像と参照画像を用いたブロックマッチングによって動きベクトルの粗検出を行い、該粗検出で検出した動きベクトルに基づき、動きベクトルの詳細検出における探索範囲を決定して、前記画素に割り当てるビット数が前記粗検出に用いた画像以上の階層である探索範囲の画像を用いて動きベクトルの詳細検出を行うステップとを具備する情報処理方法。
【請求項１１】
コンピュータを、
画素に割り当てるビット数の削減を基準画像と参照画像に対して行い、画素に割り当てるビット数に応じて階層化した基準画像と参照画像を生成する機能手段と、
前記ビット数の削減が行われた基準画像と参照画像を用いたブロックマッチングによって動きベクトルの粗検出を行い、該粗検出で検出した動きベクトルに基づき、動きベクトルの詳細検出における探索範囲を決定して、前記画素に割り当てるビット数が前記粗検出に用いた画像以上の階層である探索範囲の画像を用いて動きベクトルの詳細検出を行う機能手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置と情報処理方法およびプログラムに関する。詳しくは、動きベクトルを簡単な構成で精度よく検出できるようにする。
【背景技術】
【０００２】
従来、時間的に異なる画像中の物体の動きベクトルを検出して、検出した動きベクトルに基づき、例えば画像の高能率符号化における動き補償フレーム間符号化や、フレーム間時間領域フィルタによる雑音低減化等が行われている。
【０００３】
このような動きベクトルを検出でする方法としては、例えばブロックマッチング法が用いられている。ブロックマッチング法では、１つの画面を数画素からなるブロックに分割する。次に、ブロック化された画像データと、この画像データが動いた領域を検索するために時間的に異なる画面の画像データがブロック化されてなる探索領域との間で、所定の評価関数を用いて画素単位で評価値を算出する。さらに、算出した評価値を最小とする最適値を求めることにより、最適値が得られたときのブロックの位置から動きベクトルを検出する。
【０００４】
このようなブロックマッチング法では、検出対象のブロックと探索範囲内の各ブロックとの差分を求める必要があり、動きベクトルの検出における計算量が大きくなってしまう。このため、特許文献１の発明では、解像度の低い上位階層で画素単位の動きベクトルの検出を行い、検出された画素単位の動きベクトルに基づき、上位階層における画素単位以下の精度の動きベクトルを検出する。さらに、画素単位以下の精度の動きベクトルに基づいて、上位階層よりも解像度の高い下位階層で動きベクトルを検出することで、動きベクトルの検出精度の向上と計算量の低減が行われている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０７−２２２１５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、特許文献１のように解像度の低い画像を用いて、例えば差分絶対値和（ＳＡＤ: Sum of Absolute Difference）が最小となるブロックの位置から動きベクトルを検出する場合であっても、画素に割り当てられているビット数が大きいと、動きベクトルの検出のために画像を記憶するメモリとして、容量の大きいメモリが必要となる。また、評価値を算出するロジック回路の回路規模も大きい。
【０００７】
そこで、この発明では、動きベクトルを簡単な構成で精度よく検出できる情報処理装置と情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明の第１の側面は、画素に割り当てるビット数の削減を基準画像と参照画像に対して行い、画素に割り当てるビット数に応じて階層化した基準画像と参照画像を生成するビット変換部と、基準画像と参照画像を用いてブロックマッチング処理を行い、ブロック間の差分が最小となるブロック位置から動きベクトルを検出する動きベクトル検出部を備え、前記動きベクトル検出部は、前記ビット数の削減が行われた基準画像と参照画像を用いたブロックマッチングによって動きベクトルの粗検出を行い、該粗検出で検出した動きベクトルに基づき、動きベクトルの詳細検出における探索範囲を決定して、前記画素に割り当てるビット数が前記粗検出に用いた画像以上の階層である探索範囲の画像を用いて動きベクトルの詳細検出を行う情報処理装置にある。
【０００９】
この発明においては、ビット変換部によって、画素に割り当てるビット数の削減が基準画像と１または複数枚の参照画像に対して行われて、画素に割り当てるビット数に応じて階層化した基準画像と参照画像が生成される。例えば８ビットの基準画像と参照画像から１ビット等の基準画像と参照画像が生成される。ビット変換部は、基準画像と参照画像に対して平均フィルタまたは帯域通過フィルタを用いてフィルタ処理を行い、フィルタ処理前とフィルタ処理後で画素毎に画素レベルを比較して、比較結果からビット数を削減した基準画像と参照画像の生成が行われる。動きベクトル検出部では、基準画像と参照画像を用いてブロックマッチング処理が行われて、ブロック間の差分が最小となるブロック位置から動きベクトルが検出される。また、動きベクトルの検出では、ビット数の削減が行われた基準画像と参照画像を用いたブロックマッチング処理によって動きベクトルの粗検出が行われる。例えば画素に割り当てるビット数が最も少ない１ビットの基準画像と参照画像を用いて動きベクトルの粗検出が行われる。この粗検出によって検出された動きベクトルに基づき、動きベクトルの詳細検出における探索範囲が決定されて、粗検出に用いた画像以上である階層の探索範囲の画像、すなわち画素に割り当てるビット数が１ビット以上の画像を用いて動きベクトルの詳細検出が行われる。さらに、基準画像と参照画像のダウンサンプリングを行って解像度を低下させる解像度変換部が設けられて、解像度が低下された基準画像と参照画像を用いて動きベクトルの粗検出が行われて、解像度が粗検出に用いた画像以上詳細な探索範囲の画像を用いて動きベクトルの詳細検出が行われる。
【００１０】
この発明の第２の側面は、ビット変換部で、画素に割り当てるビット数の削減を基準画像と参照画像に対して行い、画素に割り当てるビット数に応じて階層化した基準画像と参照画像を生成するステップと、動きベクトル検出部で、前記ビット数の削減が行われた基準画像と参照画像を用いたブロックマッチングによって動きベクトルの粗検出を行い、該粗検出で検出した動きベクトルに基づき、動きベクトルの詳細検出における探索範囲を決定して、前記画素に割り当てるビット数が前記粗検出に用いた画像以上の階層である探索範囲の画像を用いて動きベクトルの詳細検出を行うステップとを具備する情報処理方法にある。
【００１１】
この発明の第３の側面は、コンピュータを、画素に割り当てるビット数の削減を基準画像と参照画像に対して行い、画素に割り当てるビット数に応じて階層化した基準画像と参照画像を生成する機能手段と、前記ビット数の削減が行われた基準画像と参照画像を用いたブロックマッチングによって動きベクトルの粗検出を行い、該粗検出で検出した動きベクトルに基づき、動きベクトルの詳細検出における探索範囲を決定して、前記画素に割り当てるビット数が前記粗検出に用いた画像以上の階層である探索範囲の画像を用いて動きベクトルの詳細検出を行う機能手段として機能させるためのプログラムにある。
【００１２】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【発明の効果】
【００１３】
この発明によれば、ビット変換部によって、画素に割り当てるビット数の削減が基準画像と参照画像に対して行われて、画素に割り当てるビット数に応じて階層化した基準画像と参照画像が生成される。また、動きベクトル検出部では、画素に割り当てるビット数の削減が行われた基準画像と参照画像を用いたブロックマッチングによって動きベクトルの粗検出を行い、粗検出で検出した動きベクトルに基づき、動きベクトルの詳細検出における探索範囲が決定されて、画素に割り当てるビット数が粗検出に用いた画像以上の階層である探索範囲の画像を用いて動きベクトルの詳細検出が行われる。このように、ビット数の少ない画像を用いて動きベクトルの粗検出が行われることから、容量の大きいメモリや回路規模の大きいロジック回路を用いることなく動きベクトルの粗検出を行うことができる。さらに、粗検出で検出した動きベクトルに基づき、動きベクトルの詳細検出における探索範囲が決定されて、画素に割り当てるビット数が粗検出に用いた画像以上の階層である探索範囲の画像を用いて動きベクトルの詳細検出が行われるので、広い範囲を探索しなくとも、精度よく動きベクトルを検出できる。すなわち、容量の大きいメモリや回路規模の大きいロジック回路を用いることなく、簡単な構成で精度よく動きベクトルを検出できるようになる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態の情報処理装置の構成を示す図である。
【図２】第１の実施の形態の情報処理装置における処理を示すフローチャートである。
【図３】１ビット画像を生成するときの低ビット基準画像生成部の構成を示す図である。
【図４】１ビット画像を生成するときの低ビット基準画像生成部における処理を示すフローチャートである。
【図５】２ビット画像を生成するときの低ビット基準画像生成部の構成を示す図である。
【図６】２ビット画像を生成するときの低ビット基準画像生成部における処理を示すフローチャートである。
【図７】ｎビット画像を生成するときの低ビット基準画像生成部の構成を示す図である。
【図８】ｎビット画像を生成するときの低ビット基準画像生成部における処理を示すフローチャートである。
【図９】比較結果と画素値の関係を例示した図である。
【図１０】１ビット画像を生成するときの低ビット縮小基準画像生成部の構成を示す図である。
【図１１】縮小画像の生成動作を例示した図である。
【図１２】１ビット画像を生成するときの低ビット縮小基準画像生成部における処理を示すフローチャートである。
【図１３】ブロックマッチング部の構成を示す図である。
【図１４】ブロックマッチング部における処理を示すフローチャートである。
【図１５】ＸＯＲ値計算処理を示すフローチャートである。
【図１６】動きベクトルの検出動作を例示した図である。
【図１７】粗検出によって検出された動きベクトルと詳細検出によって検出された動きベクトルを示した図である。
【図１８】第２の実施の形態の情報処理装置の構成を示す図である。
【図１９】第２の実施の形態の情報処理装置における処理を示すフローチャートである。
【図２０】最適動きベクトル選択部の構成を示す図である。
【図２１】最適動きベクトル選択部における処理を示すフローチャートである。
【図２２】基準画像と２つ参照画像を用いた動きベクトルの検出動作を例示した図である。
【図２３】画像の階層を示す図である。
【図２４】コンピュータのハードウェアの構成例を示す図である。
【発明を実施するための形態】
【００１５】
以下、発明を実施するための形態について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態
１−１．情報処理装置の構成
１−２．情報処理装置の処理動作
１−３．低ビット画像生成部の構成と動作、
１−４．低ビット縮小画像生成部の構成と動作
１−５．ブロックマッチング部の構成と動作
１−６．２枚の画像を用いた動きベクトルの検出動作例
２．第２の実施の形態
２−１．情報処理装置の構成
２−２．情報処理装置の処理動作
２−３．最適動きベクトル選択部の構成と動作
２−４．３枚の画像を用いた動きベクトルの検出動作例
３．処理をプログラムにより実行する場合について
【００１６】
＜１．第１の実施の形態＞
本発明の情報処理装置では、画素に割り当てるビット数を削減するビット数削減処理を基準画像と参照画像に対して行い、画素に割り当てるビット数に応じて階層化した基準画像と参照画像を生成する。次に、情報処理装置は、ビット数の削減された基準画像と参照画像を用いたブロックマッチングによって動きベクトルの粗検出を行う。さらに、情報処理装置は、動きベクトルの粗検出で検出した動きベクトルに基づき、動きベクトルの詳細検出における探索範囲を決定して、画素に割り当てるビット数が粗検出に用いた画像以上の階層である探索範囲の画像を用いて動きベクトルの詳細検出を行う。
【００１７】
また、情報処理装置では、ビット数削減処理だけでなく基準画像と参照画像の画素数削減処理を行って、基準画像と参照画像の解像度を低下させる処理を行うようにしてもよい。この場合、情報処理装置は、例えば解像度が低下された基準画像と参照画像を用いたブロックマッチングによって動きベクトルの粗検出を行い、検出した動きベクトルに基づき、動きベクトルの詳細検出における探索範囲を決定する。さらに、情報処理装置は、解像度が粗検出に用いた画像以上詳細な探索範囲の画像を用いて動きベクトルの詳細検出を行う。
【００１８】
なお、以下の説明では、画素に割り当てるビット数が異なる２つの階層の基準画像と参照画像を用いて動きベクトルの検出を行う場合を示している。また、以下の説明では、画素数削減処理を、動きベクトルの粗検出に用いる基準画像と参照画像に対してのみ行った場合を示している。
【００１９】
［１−１．情報処理装置の構成］
図１は、第１の実施の形態の情報処理装置の構成を示している。情報処理装置１０は、入力された画像データを記憶する画像メモリ部２１を有している。また、情報処理装置１０は、画素に割り当てるビット数の削減を行うビット変換部３１を構成する低ビット基準画像生成部３１-c、低ビット参照画像生成部３１-r、低ビット縮小基準画像生成部３２-c、および低ビット縮小参照画像生成部３２-rを有している。低ビット縮小基準画像生成部３２-cと低ビット縮小参照画像生成部３２-rは、解像度変換部３２を構成しており、画素数削減処理を行って解像度の低下した画像である縮小画像を生成する。また、情報処理装置１０は、動きベクトルを検出する動きベクトル検出部４０を構成するブロックマッチング部４１，４３を有している。さらに、情報処理装置１０は、検出された動きベクトルを用いて動き補償を行う動き補償部５１を有している。
【００２０】
画像メモリ部２１は、基準画像と参照画像の画像データを記憶する。画像メモリ部２１は、記憶している基準画像の画像データを低ビット基準画像生成部３１-cと低ビット縮小基準画像生成部３２-cに出力する。画像メモリ部２１は、記憶している参照画像の画像データを低ビット参照画像生成部３１-rと低ビット縮小参照画像生成部３２-rに出力する。
【００２１】
低ビット基準画像生成部３１-cは、基準画像の画像データに対してビット数削減処理を行い、低ビット基準画像の画像データを生成する。また、低ビット基準画像生成部３１-cは、生成した低ビット基準画像の画像データをブロックマッチング部４３に出力する。例えば、低ビット基準画像生成部３１-cは、基準画像の８ビットの画像データに対してビット数削減処理を行い、１ビットである低ビット基準画像の画像データをブロックマッチング部４３に出力する。
【００２２】
低ビット縮小基準画像生成部３２-cは、基準画像の画像データに対してビット数削減処理を行う。さらに、低ビット縮小基準画像生成部３２-cは、ビット数削減処理が行われた基準画像に対して画素数削減処理を行い、低ビット縮小基準画像を生成する。低ビット縮小基準画像生成部３２-cは、生成した低ビット縮小基準画像の画像データをブロックマッチング部４１に出力する。例えば、低ビット縮小基準画像生成部３２-cは、参照画像の８ビットの画像データに対してビット数削減処理と画素数削減処理を行い、１ビットであって水平方向や垂直方向の画素数が削減された低ビット縮小基準画像の画像データをブロックマッチング部４１に出力する。
【００２３】
低ビット参照画像生成部３１-rは、参照画像の画像データに対してビット数削減処理を行い、低ビット基準画像と等しいビット数の低ビット参照画像を生成する。また、低ビット参照画像生成部３１-rは、生成した低ビット参照画像の画像データをブロックマッチング部４３に出力する。
【００２４】
低ビット縮小参照画像生成部３２-rは、参照画像の画像データに対してビット数削減処理と画素数削減処理を行い、低ビット縮小基準画像と等しいビット数および画素数の低ビット縮小参照画像を生成する。また、低ビット縮小参照画像生成部３２-rは、生成した低ビット縮小参照画像の画像データをブロックマッチング部４１に出力する。
【００２５】
ブロックマッチング部４１は、低ビット縮小基準画像生成部３２-cから出力された低ビット縮小基準画像の画像データと、低ビット縮小参照画像生成部３２-rから出力された低ビット縮小参照画像の画像データを用いて動くベクトルの粗検出を行う。ブロックマッチング部４１は、ブロックマッチング処理によって算出した評価値が最小となるブロックを検出して、２つのブロックの位置から動きベクトルを検出する。さらに、ブロックマッチング部４１は、検出した動きベクトルをブロックマッチング部４３に出力する。
【００２６】
ブロックマッチング部４３は、低ビット基準画像生成部３１-cから出力された低ビット基準画像の画像データと、低ビット参照画像生成部３１-rから出力された低ビット参照画像の画像データを用いて動きベクトルの詳細検出を行う。ブロックマッチング部４３には、ブロックマッチング部４１で動きベクトルの粗検出によって検出された動きベクトルが供給されている。したがって、ブロックマッチング部４３は、ブロックマッチング部４１から供給された動きベクトルに基づいてブロックマッチング処理の探索範囲を決定する。ブロックマッチング部４３は、決定された探索範囲でブロックマッチング処理を行い、評価値が最小となるブロックを検出して、２つのブロックの位置から動きベクトルを検出する。
【００２７】
なお、情報処理装置１０には、動き補償部５１が設けられており、動き補償部５１は、ブロックマッチング部４３で検出された動きベクトルに応じて参照画像の動き補償を行い、動き補償画像を出力する。
【００２８】
［１−２．情報処理装置の処理動作］
図２は、情報処理装置１０における処理を示すフローチャートである。ステップＳＴ１で低ビット基準画像生成部３１-c，低ビット参照画像生成部３１-rは、低ビット画像の生成を行う。低ビット基準画像生成部３１-cは、基準画像の画像データに対してビット数削減処理を行い、低ビット基準画像の画像データを生成する。低ビット参照画像生成部３１-rは、参照画像の画像データに対してビット数削減処理を行い、低ビット参照画像の画像データを生成する。このように、低ビット基準画像生成部３１-c，低ビット参照画像生成部３１-rは、低ビット画像の生成を行ってステップＳＴ２に進む。
【００２９】
ステップＳＴ２で低ビット縮小基準画像生成部３２-c，低ビット縮小参照画像生成部３２-rは、低ビット縮小画像の生成を行う。低ビット縮小基準画像生成部３２-cは、基準画像の画像データに対してビット数削減処理と画素数削減処理を行い、低ビット縮小基準画像の画像データを生成する。低ビット縮小参照画像生成部３２-rは、参照画像の画像データに対してビット数削減処理と画素数削減処理を行い、低ビット縮小参照画像の画像データを生成する。このように、低ビット縮小基準画像生成部３２-c，低ビット縮小参照画像生成部３２-rは、低ビット縮小画像の生成を行ってステップＳＴ３に進む。
【００３０】
ステップＳＴ３でブロックマッチング部４１は、低ビット縮小画像を用いてブロックマッチング処理を行う。ブロックマッチング部４１は、低ビット縮小基準画像の画像データと低ビット縮小参照画像の画像データに対してブロックマッチング処理を行い、動きベクトルを検出する。このように、ブロックマッチング部４１は、低ビット縮小画像を用いたブロックマッチング処理によって動きベクトルの粗検出を行いステップＳＴ４に進む。
【００３１】
ステップＳＴ４でブロックマッチング部４３は、低ビット画像を用いてブロックマッチング処理を行う。ブロックマッチング部４３は、ステップＳＴ３における動きベクトルの粗検出によって検出された動きベクトルに基づき探索範囲を決定する。また、ブロックマッチング部４３は、低ビット基準画像と探索範囲の低ビット参照画像とを用いてブロックマッチング処理を行い、動きベクトルを検出する。このように、ブロックマッチング部４３は、低ビット画像を用いたブロックマッチング処理によって動きベクトルの詳細検出を行いステップＳＴ５に進む。
【００３２】
ステップＳＴ５で動き補償部５１は、動き補償画像の生成を行う。動き補償部５１は、ステップＳＴ４で検出された動きベクトルに応じて参照画像の動き補償を行い、動き補償画像を生成して処理を終了する。
【００３３】
［１−３．低ビット画像生成部の構成と動作］
次に、低ビット画像の生成について説明する。低ビット画像生成部は、基準画像のフィルタ処理を行い、フィルタ処理前とフィルタ処理後で画像データの比較を画素毎に行って、比較結果からビット数を削減した基準画像を生成する。同様に、低ビット画像生成部は、参照画像のフィルタ処理を行い、フィルタ処理前とフィルタ処理後で画像データの比較を画素毎に行って、比較結果からビット数を削減した参照画像を生成する。
【００３４】
図３は、１ビット画像を生成するときの低ビット基準画像生成部３１-cの構成を示している。なお、低ビット基準画像生成部３１-cと同様に低ビット参照画像生成部３１-rが構成されており、低ビット参照画像生成部３１-rは、参照画像に対して低ビット基準画像生成部３１-cと同様な処理を行う。
【００３５】
低ビット基準画像生成部３１-cは、フィルタ処理部３１１と画像比較部３１２を有している。フィルタ処理部３１１は、基準画像の画像データのフィルタ処理を行う。フィルタ処理部３１１は、例えば平均フィルタ（Mean Filter）やバンドパスフィルタ(Band-pass Filter)あるいは疑似平均フィルタ等のいずれかを用いて、基準画像の画像データのフィルタ処理を行う。
【００３６】
フィルタ処理部３１１は、平均フィルタを用いる場合、式（１）の演算を行い、画素位置（ｘ，ｙ）のフィルタ処理後の画素データＩ'（ｘ，ｙ）を算出する。なお、Ｉ（ｉ，ｊ）は基準画像の画素データを示しており、Ｎは画素数である。
【００３７】
【数１】
2011166266.tif 000003
【００３８】
フィルタ処理部３１１は、バンドパスフィルタを用いる場合、式（２）の演算を行い、画素位置（ｘ，ｙ）のフィルタ処理後の画素データＩ'（ｘ，ｙ）を算出する。なお、式（２）において「Ｋ」はフィルタ特性を決定するための係数であり、例えば式（３）に示す値とする。
【００３９】
【数２】
2011166266.tif 000004
【００４０】
【数３】
2011166266.tif 000005
【００４１】
フィルタ処理部３１１は、疑似平均フィルタを用いる場合、式（４）の演算を行い、画素位置（ｘ，ｙ）のフィルタ処理後の画素データＩ'（ｘ，ｙ）を算出する。
【００４２】
【数４】
2011166266.tif 000006
【００４３】
画像比較部３１２は、基準画像の画像データとフィルタ処理後の画像データを比較して、比較結果を示す１ビットの信号を低ビット基準画像の画像データとする。
【００４４】
図４は、１ビット画像を生成するときの低ビット基準画像生成部３１-cにおける処理を示すフローチャートである。ステップＳＴ１１で低ビット基準画像生成部３１-cは、基準画像のフィルタ処理を行う。低ビット基準画像生成部３１-cは、基準画像の画像データに対して平均フィルタやバンドパスフィルタ等のフィルタ処理を行ってステップＳＴ１２に進む。
【００４５】
ステップＳＴ１２で低ビット基準画像生成部３１-cは、フィルタ処理結果が基準画像以下であるか否か判別する。低ビット基準画像生成部３１-cは、フィルタ処理後の画像データと基準画像の画像データに対して、各画像位置での画素データの比較を行う。低ビット基準画像生成部３１-cは、フィルタ処理結果の画素データが基準画像の画素データ以下であるときステップＳＴ１３に進む。また、低ビット基準画像生成部３１-cは、フィルタ処理結果の画素データが基準画像の画素データよりも大きいときステップＳＴ１４に進む。  ステップＳＴ１３で低ビット基準画像生成部３１-cは、画素値を「１」に設定してステップＳＴ１５に進む。
【００４６】
ステップＳＴ１４で低ビット基準画像生成部３１-cは、画素値を「０」に設定してステップＳＴ１５に進む。
【００４７】
ステップＳＴ１５で低ビット基準画像生成部３１-cは、全画素の比較が完了したか否か判別する。低ビット基準画像生成部３１-cは、全画素の比較が完了していないときステップＳＴ１２に戻り、次の画素について比較を行う。また、低ビット基準画像生成部３１-cは、全画素の比較が完了したとき処理を終了する。
【００４８】
このように、フィルタ処理前とフィルタ処理後で画像データの比較を画素毎に行って、比較結果から画素に割り当てるビット数が１ビットとされた画像を生成できる。
【００４９】
次に、低ビット基準画像生成部３１-cで、２ビットの画像を生成する場合やｎビットの画像を生成する場合について説明する。図５は、２ビット画像を生成するときの低ビット基準画像生成部３１-cの構成を示している。
【００５０】
低ビット基準画像生成部３１-cは、フィルタ処理部３１１ａ，３１１ｂと、画像比較部３１２ａ，３１２ｂを有している。フィルタ処理部３１１ａは、基準画像の画像データのフィルタ処理を行う。フィルタ処理部３１１ａは、上述のように平均フィルタやバンドパスフィルタあるいは疑似平均フィルタ等のいずれかを用いて、基準画像の画像データのフィルタ処理を行う。画像比較部３１２ａは、基準画像の画像データとフィルタ処理後の画像データを比較して、比較結果を示す１ビットの信号を２ビット画像の最下位ビットデータとする。フィルタ処理部３１１ｂは、フィルタ処理部３１１ａと異なるフィルタ特性で基準画像の画像データのフィルタ処理を行う。フィルタ処理部３１１ｂは、フィルタ処理部３１１ａと同様に、平均フィルタやバンドパスフィルタあるいは疑似平均フィルタ等のいずれかを用いて、基準画像の画像データのフィルタ処理を行う。画像比較部３１２ｂは、基準画像の画像データとフィルタ処理後の画像データを比較して、比較結果を示す１ビットの信号を２ビット画像の最上位ビットデータとする。
【００５１】
このように、フィルタ処理前とフィルタ処理後で画像データの比較を画素毎に行って、比較結果から画素に割り当てるビット数が２ビットとされた画像を生成できる。
【００５２】
図６は、２ビット画像を生成するときの低ビット基準画像生成部３１-cにおける処理を示すフローチャートである。ステップＳＴ２１で低ビット基準画像生成部３１-cは、基準画像の第１フィルタ処理を行う。低ビット基準画像生成部３１-cは、基準画像の画像データに対して平均フィルタやバンドパスフィルタ等の第１フィルタ処理を行ってステップＳＴ２２に進む。
【００５３】
ステップＳＴ２２で低ビット基準画像生成部３１-cは、第１フィルタ処理結果が基準画像以下であるか否か判別する。低ビット基準画像生成部３１-cは、フィルタ処理後の画像データと基準画像の画像データを用いて、各画像位置での画素データの比較を行う。低ビット基準画像生成部３１-cは、フィルタ処理結果の画素データが基準画像の画素データ以下であるときステップＳＴ２３に進む。また、低ビット基準画像生成部３１-cは、フィルタ処理結果の画素データが基準画像の画素データよりも大きいときステップＳＴ２４に進む。
【００５４】
ステップＳＴ２３で低ビット基準画像生成部３１-cは、画素値を「１」に設定して、２ビット画像の最下位ビットデータとしてステップＳＴ２５に進む。
【００５５】
ステップＳＴ２４で低ビット基準画像生成部３１-cは、画素値を「０」に設定して、２ビット画像の最下位ビットデータとしてステップＳＴ２５に進む。
【００５６】
ステップＳＴ２５で低ビット基準画像生成部３１-cは、基準画像の第２フィルタ処理を行う。低ビット基準画像生成部３１-cは、基準画像の画像データに対して、ステップＳＴ２１とは異なるフィルタ特性で平均フィルタやバンドパスフィルタ等の第２フィルタ処理を行ってステップＳＴ２６に進む。
【００５７】
ステップＳＴ２６で低ビット基準画像生成部３１-cは、第２フィルタ処理結果が基準画像以下であるか否か判別する。低ビット基準画像生成部３１-cは、フィルタ処理後の画像データと基準画像の画像データを用いて、各画像位置での画素データの比較を行う。低ビット基準画像生成部３１-cは、フィルタ処理結果の画素データが基準画像の画素データ以下であるときステップＳＴ２７に進む。また、低ビット基準画像生成部３１-cは、フィルタ処理結果の画素データが基準画像の画素データよりも大きいときステップＳＴ２８に進む。
【００５８】
ステップＳＴ２７で低ビット基準画像生成部３１-cは、画素値を「１」に設定して、２ビット画像の最上位ビットデータとしてステップＳＴ２９に進む。
【００５９】
ステップＳＴ２８で低ビット基準画像生成部３１-cは、画素値を「０」に設定して、２ビット画像の最上位ビットデータとしてステップＳＴ２９に進む。
【００６０】
ステップＳＴ２９で低ビット基準画像生成部３１-cは、全画素の比較が完了したか否か判別する。低ビット基準画像生成部３１-cは、全画素の比較が完了していないときステップＳＴ２２に戻り、次の画素について比較を行う。また、低ビット基準画像生成部３１-cは、全画素の比較が完了したとき処理を終了する。
【００６１】
このように、フィルタ処理前とフィルタ処理後で画像データの比較を画素毎に行って、比較結果から画素に割り当てるビット数が２ビットとされた画像を生成できる。
【００６２】
次に、ｎビットの画像を生成する場合について説明する。図７は、ｎビット画像を生成するときの低ビット基準画像生成部３１-cの構成を示している。
【００６３】
低ビット基準画像生成部３１-cは、フィルタ処理部３１１と、閾値設定部３１３と画像比較部３１４を有している。フィルタ処理部３１１は、基準画像の画像データのフィルタ処理を行う。フィルタ処理部３１１は、上述のように平均フィルタやバンドパスフィルタあるいは疑似平均フィルタ等のいずれかを用いて、基準画像のフィルタ処理を行う。
【００６４】
閾値設定部３１３は、フィルタ処理後の画像データのシフト処理を行い、フィルタ処理後の画像データやシフト処理後の画像データを閾値として設定する。また、閾値設定部３１３は、設定した閾値を画像比較部３１４に出力する。
【００６５】
画像比較部３１４は、基準画像の画像データと画像比較部３１４から出力された閾値を画素毎に比較して、比較結果を示すｎビットの信号を低ビット基準画像の画像データとする。
【００６６】
図８は、ｎビット画像を生成するときの低ビット基準画像生成部３１-cにおける処理を示すフローチャートである。ステップＳＴ３１で低ビット基準画像生成部３１-cは、基準画像のフィルタ処理を行う。低ビット基準画像生成部３１-cは、基準画像の画像データに対して平均フィルタやバンドパスフィルタ等のフィルタ処理を行ってステップＳＴ３２に進む。
【００６７】
ステップＳＴ３２で低ビット基準画像生成部３１-cは閾値の設定を行う。低ビット基準画像生成部３１-cは、フィルタ処理後の画像データのシフト処理を行い、フィルタ処理後の画像データやシフト処理後の画像データを閾値として設定してステップＳＴ３３に進む。例えば２ビットの画像を生成する場合、低ビット基準画像生成部３１-cは、フィルタ処理後の画像データから予め設定したシフト量だけ減少させた画像データを第１の閾値とする。また、低ビット基準画像生成部３１-cは、フィルタ処理後の画像データを第２の閾値、フィルタ処理後の画像データから予め設定したシフト量だけ増加させた画像データを第３の閾値とする。また、ｎビットの画像を生成する場合、低ビット基準画像生成部３１-cは、フィルタ処理後の画像データに基づき（２ｎ−１）個の閾値を設定する。
【００６８】
ステップＳＴ３３で低ビット基準画像生成部３１-cは、基準画像の画像データと閾値を画素毎に比較する。低ビット基準画像生成部３１-cは、基準画像の画像データが第１の閾値Ｔｈ1よりも小さい場合、ステップＳＴ３４に進む。低ビット基準画像生成部３１-cは、基準画像の画像データが第１の閾値Ｔｈ1以上で第２の閾値Ｔｈ2よりも小さい場合、ステップＳＴ３５に進む。低ビット基準画像生成部３１-cは、基準画像の画像データが第２の閾値Ｔｈ2以上で第３の閾値Ｔｈ3よりも小さい場合、ステップＳＴ３６に進む。低ビット基準画像生成部３１-cは、基準画像の画像データが第３の閾値Ｔｈ3以上である場合、ステップＳＴ３７に進む。
【００６９】
ステップＳＴ３４で低ビット基準画像生成部３１-cは、画素値を「０」に設定してステップＳＴ３８に進む。
【００７０】
ステップＳＴ３５で低ビット基準画像生成部３１-cは、画素値を「１」に設定してステップＳＴ３８に進む。
【００７１】
ステップＳＴ３６で低ビット基準画像生成部３１-cは、画素値を「２」に設定してステップＳＴ３８に進む。
【００７２】
ステップＳＴ３７で低ビット基準画像生成部３１-cは、画素値を「３」に設定してステップＳＴ３８に進む。
【００７３】
ステップＳＴ３８で低ビット基準画像生成部３１-cは、全画素の比較が完了したか否か判別する。低ビット基準画像生成部３１-cは、全画素の比較が完了していないときステップＳＴ３２に戻り、次の画素について比較を行う。また、低ビット基準画像生成部３１-cは、全画素の比較が完了したとき処理を終了する。
【００７４】
図９は、比較結果と画素値の関係を例示している。画素位置が領域ＰＡ1である場合、基準画像の画素値は第２の閾値Ｔｈ2以上で第３の閾値Ｔｈ3よりも小さい。したがって、低ビット基準画像生成部３１-cは、領域ＰＡ1の画素値を「２」とする。画素位置が領域ＰＡ2である場合、基準画像の画素値は第３の閾値Ｔｈ3以上である。したがって、低ビット基準画像生成部３１-cは、領域ＰＡ2の画素値を「３」とする。画素位置が領域ＰＡ3である場合、基準画像の画素値は第２の閾値Ｔｈ2以上で第３の閾値Ｔｈ3よりも小さい。したがって、低ビット基準画像生成部３１-cは、領域ＰＡ3の画素値を「２」とする。画素位置が領域ＰＡ4である場合、基準画像の画素値は第１の閾値Ｔｈ1以上で第２の閾値Ｔｈ2よりも小さい。したがって、低ビット基準画像生成部３１-cは、領域ＰＡ4の画素値を「１」とする。画素位置が領域ＰＡ5である場合、基準画像の画素値は第１の閾値Ｔｈ1よりも小さい。したがって、低ビット基準画像生成部３１-cは、領域ＰＡ5の画素値を「０」とする。
【００７５】
このように、フィルタ処理後の画像データに換えて、フィルタ処理後の画像データに基づいて設定した閾値を用いて、閾値とフィルタ処理前の画素レベルの比較を画素毎に行って、比較結果から画素に割り当てるビット数がｎビットとされた画像を生成できる。
【００７６】
［１−４．低ビット縮小画像生成部の構成と動作］
次に、低ビット縮小画像の生成について説明する。低ビット縮小画像生成部は、隣接する複数画素から複数画素を代表する１つの画素を生成することで、あるいは画素の間引きを行うことで、画素数削減処理を行い、縮小画像を生成する。さらに、低ビット縮小画像生成部は、縮小画像の画像データに対してフィルタ処理を行い、フィルタ処理前の画像データとフィルタ処理後の画像データ等との画素毎の比較結果を示すデータを、画素数削減処理およびビット数削減処理が行われた画像データとする。
【００７７】
図１０は、１ビット画像を生成するときの低ビット縮小基準画像生成部３２-cの構成を示している。なお、低ビット縮小基準画像生成部３２-cと同様に低ビット縮小参照画像生成部３２-rが構成されており、低ビット縮小参照画像生成部３２-rは、参照画像に対して低ビット縮小基準画像生成部３２-cと同様な処理を行う。
【００７８】
低ビット縮小基準画像生成部３２-cは、縮小処理部３２１とフィルタ処理部３２２と画像比較部３２３を有している。縮小処理部３２１は、縮小画像の生成を行う。
【００７９】
縮小処理部３２１は、隣接する複数画素を縮小処理単位として、縮小処理単位の複数の画素から１つの画素を生成することで画素数削減を行い、縮小画像を生成する。
【００８０】
図１１は、縮小画像の生成動作を例示している。図１１の（Ａ）は、画像を（１／２）倍とするときの縮小処理単位を示している。また、図１１の（Ｂ）は、画像を（１／４）倍、図１１の（Ｃ）は、画像を（１／８）倍とするときの縮小処理単位を示している。縮小処理部３２１は、画像を（１／２）倍とするとき、隣接する２×２画素を縮小処理単位とする。また、縮小処理部３２１は、画像を（１／４）倍とするとき隣接する４×４画素を縮小処理単位、画像を（１／８）倍とするとき隣接する８×８画素を縮小処理単位とする。さらに、縮小処理部３２１は、縮小処理単位に含まれる複数の画素データから、縮小処理単位を１画素とした画素データを算出する。例えば、縮小処理部３２１は、縮小処理単位に含まれる複数の画素データの平均値を算出して、縮小処理単位を１画素としたときの画素データとする。このように、縮小処理部３２１は、縮小処理単位に含まれる複数の画素から１画素を生成する処理を行う。したがって、図１１の（Ａ）に示すように縮小処理単位を設定したとき、縮小処理部３２１は、水平方向および垂直方向の画素数を（１／２）倍とした縮小画像を生成する。また、図１１の（Ｂ）に示すように縮小処理単位を設定したとき、縮小処理部３２１は、水平方向および垂直方向の画素数を（１／４）倍とした縮小画像を生成する。さらに、図１１の（Ｃ）に示すように縮小処理単位を設定したとき、縮小処理部３２１は、水平方向および垂直方向の画素数を（１／８）倍とした縮小画像を生成する。
【００８１】
なお、縮小処理部３２１の処理は、図１１に示す処理に限られない。縮小処理部３２１は、例えば画素間引き等を行うことで縮小画像を生成するようにしてもよい。
【００８２】
フィルタ処理部３２２は、基準画像の画像データのフィルタ処理を行う。フィルタ処理部３２２は、例えば平均フィルタやバンドパスフィルタあるいは疑似平均フィルタ等のいずれかを用いて、基準画像の画像データのフィルタ処理を行う。
【００８３】
画像比較部３２３は、基準画像の画像データとフィルタ処理後の画像データを比較して、比較結果を示す１ビットの信号を低ビット基準画像の画像データとする。
【００８４】
図１２は、１ビット画像を生成するときの低ビット縮小基準画像生成部３２-cにおける処理を示すフローチャートである。ステップＳＴ４１で低ビット縮小基準画像生成部３２-cは、縮小画像生成処理を行う。低ビット縮小基準画像生成部３２-cは、基準画像に対して縮小処理単位の複数の画素から１つの画素を生成する処理、あるいは画素の間引き等の処理を行って、縮小基準画像を生成してステップＳＴ４２に進む。
【００８５】
ステップＳＴ４２で低ビット縮小基準画像生成部３２-cは、縮小基準画像のフィルタ処理を行う。低ビット縮小基準画像生成部３２-cは、縮小基準画像の画像データに対して平均フィルタやバンドパスフィルタ等のフィルタ処理を行ってステップＳＴ４３に進む。
【００８６】
ステップＳＴ４３で低ビット縮小基準画像生成部３２-cは、フィルタ処理結果が縮小基準画像以下であるか否か判別する。低ビット縮小基準画像生成部３２-cは、フィルタ処理後の画像データと縮小基準画像の画像データを用いて、各画像位置での画素データの比較を行う。低ビット縮小基準画像生成部３２-cは、フィルタ処理結果の画素データが縮小基準画像の画素データ以下であるときステップＳＴ４４に進む。また、低ビット縮小基準画像生成部３２-cは、フィルタ処理結果の画素データが縮小基準画像の画素データよりも大きいときステップＳＴ４５に進む。
【００８７】
ステップＳＴ４４で低ビット縮小基準画像生成部３２-cは、画素値を「１」に設定してステップＳＴ４６に進む。
【００８８】
ステップＳＴ４５で低ビット縮小基準画像生成部３２-cは、画素値を「０」に設定してステップＳＴ４６に進む。
【００８９】
ステップＳＴ４６で低ビット縮小基準画像生成部３２-cは、全画素の比較が完了したか否か判別する。低ビット縮小基準画像生成部３２-cは、全画素の比較が完了していないときステップＳＴ４３に戻り、次の画素について比較を行う。また、低ビット縮小基準画像生成部３２-cは、全画素の比較が完了したとき処理を終了する。
【００９０】
このように、フィルタ処理前の画像データとフィルタ処理後の画像データ等を比較することで、基準画像から１ビットの縮小基準画像を生成できる。
【００９１】
また、低ビット縮小参照画像生成部３２-r1，３２-r2においても、低ビット縮小基準画像生成部３２-cと同様な処理を参照画像に対して行うことで１ビットの縮小参照画像を生成できる。
【００９２】
さらに、低ビット縮小基準画像生成部３２-c、低ビット縮小参照画像生成部３２-r1，３２-r2は、１ビットの画像を生成する場合に限られるものではない。すなわち、上述の低ビット基準画像生成部３１-cと同様に、複数の閾値の設定等を行い、ｎビットの画像を生成するようにしてもよい。
【００９３】
このような処理を行えば、基準画像や参照画像の画像データをｎビットの縮小画像の画像データに変換できる。
【００９４】
［１−５．ブロックマッチング部の構成と動作］
次に、ブロックマッチング部について説明する。ブロックマッチング部は、基準画像（縮小基準画像）のブロックと参照画像（縮小参照画像）のブロックとの間で評価値を算出する。また、ブロックマッチング部は、評価値が最小となる基準画像（縮小基準画像）のブロックと参照画像（縮小参照画像）のブロックとの位置から動きベクトルを検出する。
【００９５】
図１３は、ブロックマッチング部４１の構成を示している。ブロックマッチング部４１は、低ビット縮小基準画像と第１低ビット縮小参照画像を用いて動きベクトルの粗検出を行う。なお、ブロックマッチング部４１と同様にブロックマッチング部４３が構成されている。ブロックマッチング部４３は、低ビット基準画像と、低ビット参照画像を用いて動きベクトルの詳細検出を行う。
【００９６】
基準ブロック指定部４１１は、低ビット縮小基準画像に対して動きベクトルの検出を行うブロックを指定して、指定したブロック内の画像データを評価値算出部４１３に出力する。
【００９７】
参照ブロック指定部４１２は、動きベクトルの探索範囲から参照ブロックの範囲を指定して、指定した範囲の画像データを評価値算出部４１３に出力する。ここで、動きベクトルの粗検出を行う場合、参照ブロック指定部４１２は、低ビット縮小参照画像全体を探索範囲として、探索範囲の画像データを評価値算出部４１３に出力する。
【００９８】
評価値算出部４１３は、基準ブロック指定部４１１で指定されたブロックと、参照ブロック指定部４１２で指定された探索範囲内のブロックとの間で評価値を算出する。この評価値の算出は、探索範囲内のブロックを探索範囲内で順次移動させて各位置で行う。評価値算出部４１３は、評価値として差分絶対値和ＳＡＤやＸＯＲ加算値ＳＯＸを用いる。
【００９９】
評価値算出部４１３は、評価値として差分絶対値和ＳＡＤを用いる場合、式（５）の演算を行う。なお、式（５）において、Ｔ（ｉ，ｊ）は縮小基準画像のブロック内おける位置（ｉ，ｊ）の画素データ、Ｓ（ｉ，ｊ）は縮小参照画像のブロック内おける位置（ｉ，ｊ）の画素データを示している。
【０１００】
【数５】
2011166266.tif 000007
【０１０１】
評価値算出部４１３は、評価値としてＸＯＲ加算値ＳＯＸを用いる場合、式（６）（７）の演算を行う。なお、ＸＯＲ値を求める式（７）において、Ｔ（ｉ，ｊ）は縮小基準画像のブロック内おける位置（ｉ，ｊ）の画素データ、Ｓ（ｉ，ｊ）は縮小参照画像のブロック内おける位置（ｉ，ｊ）の画素データを示している。
【０１０２】
【数６】
2011166266.tif 000008
【０１０３】
また、評価値算出部４１３は、評価値としてＸＯＲ加算値ＳＯＸを用いる場合、縮小基準画像と縮小参照画像の画像データがｎビットであるときは、ｎビットのＸＯＲ値の計算として式（８）の演算を行う。すなわち式（８）の演算によって、画素データが等しいときは「ＸＯＲ＝０」、等しくないときは「ＸＯＲ＝１」とする。なお、式（８）において、「ｋ」は画素に割り当てるビット数の第ｋ位を示している。
【０１０４】
【数７】
2011166266.tif 000009
【０１０５】
動きベクトル決定部４１４は、縮小基準画像のブロックに対して評価値が最小となる縮小参照画像のブロックの位置を検出する。さらに、縮小基準画像のブロックと評価値が最小となる縮小参照画像のブロックとの座標差から動きベクトルを求める。さらに、動きベクトル決定部４１４は、最小の評価値と、この評価値が算出されたときの縮小参照画像のブロック位置に基づいた動きベクトルを、粗検出結果の動きベクトルとしてブロックマッチング部４３に出力する。
【０１０６】
図１４は、ブロックマッチング部４１における処理を示すフローチャートである。ステップＳＴ５１でブロックマッチング部４１は、基準ブロック位置の指定を行う。ブロックマッチング部４１は、低ビット縮小基準画像に対して動きベクトルの検出における基準ブロックの位置を指定してステップＳＴ５２に進む。
【０１０７】
ステップＳＴ５２でブロックマッチング部４１は、探索範囲の設定を行う。ブロックマッチング部４１は、低ビット縮小参照画像に対して探索範囲を設定してステップＳＴ５３に進む。
【０１０８】
ステップＳＴ５３でブロックマッチング部４１は、参照ブロック位置の指定を行う。ブロックマッチング部４１は、探索範囲に動きベクトルの検出における参照ブロックの位置を指定してステップＳＴ５４に進む。
【０１０９】
ステップＳＴ５４でブロックマッチング部４１は、評価値の算出を行う。ブロックマッチング部４１は、基準ブロックと参照ブロックの画素データから評価値を算出する。ブロックマッチング部４１は、評価値として差分絶対値和ＳＡＤやＸＯＲ加算値ＳＯＸを算出する。また、低ビット縮小基準画像と低ビット縮小参照画像がｎビットである場合、図１５に示すＸＯＲ値計算処理を行い、ブロック内の画素毎にＸＯＲ値を決定する。
【０１１０】
ステップＳＴ６１でブロックマッチング部４１は、ビット位置を示すパラメータｋを「ｋ＝１」とする。ブロックマッチング部４１は、ビット位置を示すパラメータｋを、低ビット縮小基準画像と低ビット縮小参照画像における画素データの最下位ビットを示す値「ｋ＝１」に設定してステップＳＴ６２に進む。
【０１１１】
ステップＳＴ６２でブロックマッチング部４１は、パラメータｋがｎ以上となったか否か判別する。ブロックマッチング部４１は、パラメータｋが低ビット縮小基準画像と低ビット縮小参照画像における画素データの最上位ビットよりも大きくないときはステップＳＴ６３に進む。また、ブロックマッチング部４１は、パラメータｋが低ビット縮小基準画像と低ビット縮小参照画像における画素データの最上位ビットよりも大きくなったときステップＳＴ６８に進む。
【０１１２】
ステップＳＴ６３でブロックマッチング部４１は、第ｋ位ビットの読み出しを行う。ブロックマッチング部４１は、低ビット縮小基準画像と低ビット縮小参照画像における画素データから第ｋ位ビットのデータを読み出してステップＳＴ６４に進む。
【０１１３】
ステップＳＴ６４でブロックマッチング部４１は、ＸＯＲ計算を行う。ブロックマッチング部４１は、ステップＳＴ６３で読み出した第ｋ位ビットのデータについて排他論理和を算出してステップＳＴ６５に進む。
【０１１４】
ステップＳＴ６５でブロックマッチング部４１は、第ｋ位が「ＸＯＲ＝１」であるか否か判別する。ブロックマッチング部４１は、ステップＳＴ６４で計算した第ｋ位ビットの排他論理和が「０」であるときステップＳＴ６６に進む。また、ブロックマッチング部４１は、ステップＳＴ４４で計算した第ｋ位ビットの排他論理和が「１」であるときステップＳＴ６７に進む。
【０１１５】
ステップＳＴ６６でブロックマッチング部４１は、「ｋ＝ｋ＋１」の演算を行い、パラメータｋを更新してステップＳＴ６２に戻る。
【０１１６】
ステップＳＴ６７でブロックマッチング部４１は、ｎビットのＸＯＲ値として「ＸＯＲ＝１」として処理を終了する。
【０１１７】
ステップＳＴ６８でブロックマッチング部４１は、ｎビットのＸＯＲ値として「ＸＯＲ＝０」として処理を終了する。
【０１１８】
このような処理を行うと、低ビット縮小基準画像と低ビット縮小参照画像における画素データは、最下位ビットから最上位ビット方向に、各ビットの値が等しいか否かが判別される。ここで、ビットの値が等しくないとき、ＸＯＲ値は「ＸＯＲ＝１」となる。また、全ビットの値が等しいとき、ＸＯＲ値は「ＸＯＲ＝０」となる。すなわち、低ビット縮小基準画像と低ビット縮小参照画像におけるｎビットの画素データが等しくないとき、ｎビットのＸＯＲ値は「ＸＯＲ＝１」、ｎビットの画素データが等しいとき、ｎビットのＸＯＲ値は「ＸＯＲ＝０」となる。
【０１１９】
このようにして、低ビット縮小基準画像と低ビット縮小参照画像における画像データがｎビットであるときも、ＸＯＲ値を得ることができる。
【０１２０】
図１４に戻り、ステップＳＴ５５でブロックマッチング部４１は、探索範囲内の全ブロックについて評価値の算出が完了したか否か判別する。ブロックマッチング部４１は、全ブロックについて評価値の算出が完了していないときにはステップＳＴ５６に進み、全ブロックについて評価値の算出が完了したときにはステップＳＴ５７に進む。
【０１２１】
ステップＳＴ５６でブロックマッチング部４１は、参照ブロックの新たな位置の指定を行う。ブロックマッチング部４１は、参照範囲内で評価値の算出が完了していない参照ブロックの位置を新たに指定してステップＳＴ５４に戻る。
【０１２２】
ステップＳＴ５７でブロックマッチング部４１は、基準ブロックに対する動きブロックの検出を行う。ブロックマッチング部４１は、算出した評価値から最小となる評価値を検出して、この評価値を算出したときの縮小参照画像のブロックの位置と縮小基準画像のブロックと座標差から動きベクトルを検出してステップＳＴ５８に進む。
【０１２３】
ステップＳＴ５８でブロックマッチング部４１は、全ての基準ブロックについて処理が完了したか否か判別する。ブロックマッチング部４１は、処理が完了していない基準ブロックが残っているときステップＳＴ５９に進む、また、ブロックマッチング部４１は、全ての基準ブロックについて処理が完了したとき、ブロックマッチング処理を終了する。
【０１２４】
ステップＳＴ５９でブロックマッチング部４１は、基準ブロックの新たな位置の指定を行う。ブロックマッチング部４１は、動きベクトルの検出が完了していない基準ブロックの位置を新たに指定してステップＳＴ５２に戻る。
【０１２５】
このような処理を行うものとすれば、低ビット縮小基準画像における各基準ブロックについて動きベクトルを検出することができる。
【０１２６】
また、ブロックマッチング部４３は、ブロックマッチング部４１で粗検出を行うことによって検出された動きベクトルが供給される。したがって、ブロックマッチング部４３の参照ブロック範囲指定部は、低ビット基準画像のブロックを粗検出によって検出された動きベクトルに応じて基準ブロックを移動した位置を基準として探索範囲を設定する。またブロックマッチング部４３は、設定された探索範囲で低ビット基準画像の基準ブロックと低ビット参照画像における探索範囲の参照ブロックでブロックマッチング処理を行い、動きベクトルの詳細検出を行う。
【０１２７】
［１−６．動きベクトルの検出動作例］
図１６は、基準画像と参照画像を用いた動きベクトルの検出動作を例示している。図１６の（Ａ）に示す８ビットの基準画像は、低ビット基準画像生成部３１-cによってビット数削減処理が行われて、図１６の（Ｂ）に示す１ビットの低ビット基準画像とされる。また、基準画像は、低ビット縮小基準画像生成部３２-cによって画素数削減処理が行われて、図１６の（Ｃ）に示す縮小基準画像とされる。さらに、縮小基準画像は、低ビット縮小基準画像生成部３２-cによってビット数削減処理が行われて、図１６の（Ｄ）に示す１ビットの低ビット縮小基準画像とされる。
【０１２８】
図１６の（Ｅ）に示す８ビットの参照画像は、低ビット参照画像生成部３１-rによってビット数削減処理が行われて、図１６の（Ｆ）に示す１ビットの低ビット参照画像とされる。また、参照画像は、低ビット縮小参照画像生成部３２-rによって画素数削減処理が行われて、図１６の（Ｇ）に示す縮小参照画像とされる。さらに、縮小参照画像は、低ビット縮小参照画像生成部３２-rによってビット数削減処理が行われて、図１６の（Ｈ）に示す１ビットの低ビット縮小参照画像とされる。
【０１２９】
ここで、画素に割り当てるビット数の削減処理と画素数削減処理を組み合わせて行う場合、情報処理装置１０は、画素に割り当てるビット数が等しい階層が複数であるときに、ビット数が等しい階層を画素数に応じて順位付けする。さらに、情報処理装置１０は、画素数が少ない画像を用いて動きベクトルの粗検出を行い、画素数の多い画像を用いて動きベクトルの詳細検出を行う。すなわち、ブロックマッチング部４１では、画素に割り当てるビット数が最も少ない階層の画像である低ビット縮小基準画像と低ビット縮小参照画像を用いて、動きベクトルの粗検出を行う。また、ブロックマッチング部４３は、低ビット基準画像と低ビット参照画像を用いて動きベクトルの詳細検出を行う。また、ブロックマッチング部４３は、ブロックマッチング部４１で粗検出を行うことにより検出された動きベクトルを基準として探索範囲を決定する。
【０１３０】
以上のような第１の実施の形態の処理を行うと、動きベクトルの粗検出では低ビット縮小画像が用いられていることから、動きベクトルの粗検出のための計算用のロジック回路の規模を少なくできる。また、少ないメモリ容量で動きベクトルの粗検出を行うことができる。さらに、動きベクトルの詳細検出では、粗検出以上のビット数であって、粗検出よりも縮小率の少ないあるいは縮小されていない画像が用いられる。また、動きベクトルの詳細検出では、図１７に示すように、粗検出で検出された動きベクトルＶcoを基準して探索範囲ＡＲsが設定される。また、粗検出以上のビット数であって、粗検出よりも縮小率の少ないあるいは縮小されていない参照画像における探索範囲ＡＲsの画像を用いて動きベクトルの詳細検出が行われて、動きベクトルＶfiが検出される。なお、ベクトルＶreは、粗検出で検出された動きベクトルＶcoを微調整して詳細検出結果である動きベクトルＶfiとするベクトルである。
【０１３１】
このように、粗検出で検出された動きベクトルＶcoを基準して探索範囲ＡＲsが設定されるので、粗検出よりも縮小率の少ないあるいは縮小されていない参照画像を用いても、計算用のロジック回路の規模を少なくできる。また、少ないメモリ容量で動きベクトルの詳細検出を行うことができる。また、動きベクトルの検出に要する計算時間を短くできる。さらに、動きベクトルの詳細検出では、粗検出以上のビット数であって、粗検出よりも縮小率の少ないあるいは縮小されていない画像を用いて動きベクトルの検出が行われることから、検出動きベクトルの検出精度を高めることができる。
【０１３２】
＜２．第２の実施の形態＞
次に、第２の実施の形態では、基準画像に対して時間の異なる２つの参照画像を用いて動きベクトルを検出する場合について説明する。なお、第２の実施の形態においても第１の実施の形態と同様に、画素に割り当てるビット数が異なる２つの階層の基準画像と参照画像を用いて動きベクトルの検出を行う場合を示している。また、動きベクトルの粗検出に用いる基準画像と参照画像に対してのみ、画素数削減処理を行って基準画像と参照画像の解像度を低下させる場合を示している。
【０１３３】
［２−１．情報処理装置の構成］
図１８は、第２の実施の形態の情報処理装置の構成を示している。なお、情報処理装置１０ａにおいて、図１に示す情報処理装置１０と対応する構成については、同一符号を付している。
【０１３４】
情報処理装置１０ａは、入力された画像データを記憶する画像メモリ部２１を有している。また、情報処理装置１０ａは、画素に割り当てるビット数の削減を行うビット変換部３１ａを構成する低ビット基準画像生成部３１-c、低ビット参照画像生成部３１-r1，３１-r2、低ビット縮小基準画像生成部３２-c、および低ビット縮小参照画像生成部３２-r1，３２-r2を有している。低ビット縮小基準画像生成部３２-cと低ビット縮小参照画像生成部３２-r1，３２-r2は、解像度変換部３２ａを構成しており、画素数削減処理を行って解像度の低下した画像である縮小画像を生成する。また、情報処理装置１０ａは、動きベクトルを検出する動きベクトル検出部４０ａを構成するブロックマッチング部４１-1，４１-2，４３と最適動きベクトル選択部４２を有している。さらに、情報処理装置１０ａは、検出された動きベクトルを用いて動き補償を行う動き補償部５１ａを有している。
【０１３５】
情報処理装置１０ａに入力された画像データは画像メモリ部２１に供給される。画像メモリ部２１は、基準画像と２枚の参照画像の画像データを記憶する。また、画像メモリ部２１は、記憶している基準画像の画像データを低ビット基準画像生成部３１-cと低ビット縮小基準画像生成部３２-cに出力する。画像メモリ部２１は、記憶している第１参照画像の画像データを低ビット参照画像生成部３１-r1と低ビット縮小参照画像生成部３２-r1に出力する。さらに、画像メモリ部２１は、記憶している第２参照画像の画像データを低ビット参照画像生成部３１-r2と低ビット縮小参照画像生成部３２-r2に出力する。
【０１３６】
低ビット基準画像生成部３１-cは、基準画像の画像データに対してビット数削減処理を行い、低ビット基準画像の画像データを生成する。また、低ビット基準画像生成部３１-cは、生成した低ビット基準画像の画像データをブロックマッチング部４３ａに出力する。例えば、低ビット基準画像生成部３１-cは、基準画像の８ビットの画像データに対してビット数削減処理を行い、１ビットの低ビット基準画像の画像データをブロックマッチング部４３ａに出力する。
【０１３７】
低ビット縮小基準画像生成部３２-cは、基準画像の画像データに対してビット数削減処理と画素数削減処理を行い、低ビット縮小基準画像を生成する。また、低ビット縮小基準画像生成部３２-cは、生成した低ビット縮小基準画像の画像データをブロックマッチング部４１-1，４１-2に出力する。例えば、低ビット縮小基準画像生成部３２-cは、参照画像の８ビットの画像データに対してビット数削減処理と画素数削減処理を行い、１ビットであって水平方向や垂直方向の画素数が削減された低ビット縮小基準画像の画像データをブロックマッチング部４１-1，４１-2に出力する。
【０１３８】
低ビット参照画像生成部３１-r1は、第１参照画像の画像データに対してビット数削減処理を行い、低ビット基準画像と等しいビット数の第１低ビット参照画像を生成する。また、低ビット参照画像生成部３１-r1は、生成した第１低ビット参照画像の画像データを最適動きベクトル選択部４２に出力する。
【０１３９】
低ビット縮小参照画像生成部３２-r1は、第１参照画像の画像データに対してビット数削減処理と画素数削減処理を行い、低ビット縮小基準画像と等しいビット数および画素数の第１低ビット縮小参照画像を生成する。また、低ビット縮小参照画像生成部３２-r2は、生成した第１低ビット縮小参照画像の画像データをブロックマッチング部４１-1に出力する。
【０１４０】
低ビット参照画像生成部３１-r2は、第２の参照画像の画像データに対してビット数削減処理を行い、低ビット基準画像と等しいビット数の第２低ビット参照画像を生成する。また、低ビット参照画像生成部３１-r2は、生成した第２低ビット参照画像の画像データを最適動きベクトル選択部４２に出力する。
【０１４１】
低ビット縮小参照画像生成部３２-r2は第２参照画像の画像データに対してビット数削減処理と画素数削減処理を行い、低ビット縮小基準画像と等しいビット数および画素数の第２低ビット縮小参照画像を生成する。また、低ビット縮小参照画像生成部３２-r2は、生成した第２低ビット縮小参照画像の画像データをブロックマッチング部４１-2に出力する。
【０１４２】
ブロックマッチング部４１-1は、低ビット縮小基準画像生成部３２-cから出力された低ビット縮小基準画像の画像データと、低ビット縮小参照画像生成部３２-r1から出力された第１低ビット縮小参照画像の画像データを用いてブロックマッチング処理を行う。ブロックマッチング部４１-1は、ブロックマッチング処理によって算出した評価値が最小となるブロックを検出して、２つのブロックの位置から動きベクトルを検出する。さらに、ブロックマッチング部４１-1は、検出した動きベクトルと、この動きベクトルに対応する評価値（最小の評価値）を最適動きベクトル選択部４２に出力する。
【０１４３】
ブロックマッチング部４１-2は、低ビット縮小基準画像生成部３２-cから出力された低ビット縮小基準画像の画像データと、低ビット縮小参照画像生成部３２-r2から出力された第２低ビット縮小参照画像の画像データを用いてブロックマッチング処理を行う。ブロックマッチング部４１-2は、ブロックマッチング処理によって算出した評価値が最小となるブロックを検出して、２つのブロックの位置から動きベクトルを検出する。さらに、ブロックマッチング部４１-2は、検出した動きベクトルと、この動きベクトルに対応する評価値（最小の評価値）を最適動きベクトル選択部４２に出力する。
【０１４４】
最適動きベクトル選択部４２は、ブロックマッチング部４１-1から出力された評価値とブロックマッチング部４１-2から出力された評価値を比較して、評価値の小さい動きベクトルを選択して、ブロックマッチング部４３ａに出力する。また、最適動きベクトル選択部４２は、選択した動きベクトルの検出に用いた低ビット縮小参照画像に対応する低ビット参照画像を選択して、ブロックマッチング部４３ａに出力する。例えば、ブロックマッチング部４１-1から出力された評価値がブロックマッチング部４１-2から出力された評価値よりも小さい場合、最適動きベクトル選択部４２は、ブロックマッチング部４１-1から出力された動きベクトルをブロックマッチング部４３ａに出力する。また、選択した動きベクトルは、低ビット縮小基準画像と第１低ビット縮小参照画像から検出されている。したがって、最適動きベクトル選択部４２は、第１低ビット参照画像の画像データを選択してブロックマッチング部４３ａに出力する。
【０１４５】
ブロックマッチング部４３ａは、低ビット基準画像生成部３１-cから出力された低ビット基準画像の画像データと、最適動きベクトル選択部４２で選択された低ビット参照画像の画像データを用いて動きベクトルの検出を行う。ここで、ブロックマッチング部４３ａには、低ビット縮小画像を用いて検出した動きベクトルが最適動きベクトル選択部４２から供給されている。したがって、ブロックマッチング部４３ａは、最適動きベクトル選択部４２から供給された動きベクトルを基準として探索範囲を決定して、この探索範囲内で評価値が最小となるブロックを検出して、２つのブロックの位置から動きベクトルを検出する。ブロックマッチング部４３ａは、検出した動きベクトルを動き補償部５１ａに出力する。また、ブロックマッチング部４３ａは、動きベクトルの検出に用いた参照画像を識別可能とする参照画像識別情報を動き補償部５１ａに出力する。なお、参照画像識別情報は、最適動きベクトル選択部４２から動き補償部５１ａに出力する構成としてもよい。また、最適動きベクトル選択部４２では、参照画像から探索範囲の画像を動きベクトルに基づき抽出して、探索範囲の参照画像をブロックマッチング部４３ａに出力する構成としてもよい。
【０１４６】
動き補償部５１ａは、ブロックマッチング部４３ａで検出された動きベクトルに応じて第１または第２参照画像の動き補償を行い、動き補償画像を出力する。また、動き補償部５１は、参照画像識別情報に基づき、動きベクトルの検出に用いた参照画像が第１または第２参照画像のいずれか判別して、選択されている参照画像と動きベクトルを用いて動き補償を行うようにしてもよい。
【０１４７】
［２−２．情報処理装置の処理動作］
図１９は、情報処理装置１０ａにおける処理を示すフローチャートである。ステップＳＴ７１で低ビット基準画像生成部３１-c，低ビット参照画像生成部３１-r1，３１-r2は、低ビット画像の生成を行う。低ビット基準画像生成部３１-cは、基準画像の画像データに対してビット数削減処理を行い、低ビット基準画像の画像データを生成する。低ビット参照画像生成部３１-r1は、第１参照画像の画像データに対してビット数削減処理を行い、低ビット参照画像の画像データを生成する。低ビット参照画像生成部３１-r2は、第２参照画像の画像データに対してビット数削減処理を行い、低ビット参照画像の画像データを生成する。このように、低ビット基準画像生成部３１-c，低ビット参照画像生成部３１-r1，３１-r2は、低ビット画像の生成を行ってステップＳＴ７２に進む。
【０１４８】
ステップＳＴ７２で低ビット縮小基準画像生成部３２-c，低ビット縮小参照画像生成部３２-r1，３２-r2は、低ビット縮小画像の生成を行う。低ビット縮小基準画像生成部３２-cは、基準画像の画像データに対してビット数削減処理と画素数削減処理を行い、低ビット縮小基準画像の画像データを生成する。低ビット縮小参照画像生成部３２-r1は、第１参照画像の画像データに対してビット数削減処理と画素数削減処理を行い、第１低ビット縮小参照画像の画像データを生成する。低ビット縮小参照画像生成部３２-r2は、第２参照画像の画像データに対してビット数削減処理と画素数削減処理を行い、第２低ビット縮小参照画像の画像データを生成する。このように、低ビット縮小基準画像生成部３２-c，低ビット縮小参照画像生成部３２-r1，３２-r2は、低ビット縮小画像の生成を行ってステップＳＴ７３に進む。
【０１４９】
ステップＳＴ７３でブロックマッチング部４１-1，４１-2は、低ビット縮小画像を用いてブロックマッチング処理を行う。ブロックマッチング部４１-1は、低ビット縮小基準画像の画像データと第１低ビット縮小参照画像の画像データを用いてブロックマッチング処理を行い、動きベクトルを検出する。また、ブロックマッチング部４１-2は、低ビット縮小基準画像の画像データと第２低ビット縮小参照画像の画像データを用いてブロックマッチング処理を行い、動きベクトルを検出する。このように、ブロックマッチング部４１-1，４１-2は、低ビット縮小画像を用いたブロックマッチング処理によって動きベクトルの粗検出を行いステップＳＴ７４に進む。
【０１５０】
ステップＳＴ７４で最適動きベクトル選択部４２は、最適な動きベクトルの選択を行う。最適動きベクトル選択部４２は、ステップＳＴ５３で２枚の低ビット縮小参照画像を用いて検出した動きベクトルから、最適な動きベクトルすなわち評価値が少ない動きベクトルを選択してステップＳＴ７５に進む。
【０１５１】
ステップＳＴ７５でブロックマッチング部４３ａは、低ビット画像を用いてブロックマッチング処理を行う。最適動きベクトル選択部４２は、低ビット基準画像の画像データと、ステップＳＴ７４で選択した動きベクトルの粗検出で用いられている低ビット縮小参照画像に対応する低ビット参照画像の画像データとを用いて、ブロックマッチング処理を行い、動きベクトルを詳細検出する。このように、ブロックマッチング部４３ａは、低ビット画像を用いたブロックマッチング処理によって動きベクトルの詳細検出を行いステップＳＴ７６に進む。
【０１５２】
ステップＳＴ７６で動き補償部５１ａは、動き補償画像の生成を行う。動き補償部５１ａは、ステップＳＴ７５で検出された動きベクトルに応じて参照画像の動き補償を行い、動き補償画像を生成して処理を終了する。
【０１５３】
［２−３．最適動きベクトル選択部の構成と動作］
低ビット参照画像生成部３１-r1は、第１参照画像に対して低ビット基準画像生成部３１-cと同様な処理を行い、第１低ビット参照画像を生成する。低ビット参照画像生成部３１-r2は、第２参照画像に対して低ビット基準画像生成部３１-cと同様な処理を行い、第２低ビット参照画像を生成する。
【０１５４】
低ビット縮小参照画像生成部３２-r1は、第１参照画像に対して低ビット縮小基準画像生成部３２-cと同様な処理を行い、第１低ビット縮小参照画像を生成する。低ビット縮小参照画像生成部３２-r2は、第２参照画像に対して低ビット縮小基準画像生成部３２-cと同様な処理を行い、第２低ビット縮小参照画像を生成する。
【０１５５】
ブロックマッチング部４１-1は、低ビット縮小基準画像と第１低ビット縮小参照画像を用いてブロックマッチング部４１と同様に動きベクトルの粗検出を行う。ブロックマッチング部４１-2は、低ビット縮小基準画像と第２低ビット縮小参照画像を用いてブロックマッチング部４１と同様に動きベクトルの粗検出を行う。ブロックマッチング部４３ａは、低ビット基準画像と、第１または第２低ビット参照画像を用いて、ブロックマッチング部４３と同様に動きベクトルの詳細検出を行う。
【０１５６】
次に、情報処理装置１０ａに設けられている最適動きベクトル選択部４２について説明する。図２０は、最適動きベクトル選択部４２の構成を示している。最適動きベクトル選択部４２は、評価値比較部４２１と動きベクトル選択部４２２を有している。
【０１５７】
評価値比較部４２１は、ブロックマッチング部４１-1から出力された評価値とブロックマッチング部４１-2から出力された評価値を比較して、比較結果を動きベクトル選択部４２２に出力する。
【０１５８】
動きベクトル選択部４２２は、評価値比較部４２１からの比較結果に基づき、評価値が小さい動きベクトルを選択してブロックマッチング部４３ａに出力する。例えば、動きベクトル選択部４２２は、ブロックマッチング部４１-1から出力された評価値がブロックマッチング部４１-2から出力された評価値よりも小さい場合、ブロックマッチング部４１-1から出力された動きベクトルをブロックマッチング部４３ａに出力する。なお、動きベクトル選択部４２２は、評価値が等しいとき、いずれかの動きベクトルを選択してブロックマッチング部４３ａに出力する。さらに、動きベクトル選択部４２２は、出力する動きベクトルがいずれの参照画像に基づいて検出されたか（最小の評価値がいずれの参照画像に基づいて算出されたか）を示す参照画像識別情報を生成して、ブロックマッチング部４３ａに出力する。
【０１５９】
図２１は、最適動きベクトル選択部４２における処理を示すフローチャートである。ステップＳＴ８１で最適動きベクトル選択部４２は、各参照画像からの動きベクトルに対応する評価値を取得する。最適動きベクトル選択部４２は、第１低ビット縮小参照画像を用いてブロックマッチング部４１-1で検出した動きベクトルに対応する評価値を取得する。また、最適動きベクトル選択部４２は、第２低ビット縮小参照画像を用いてブロックマッチング部４１-2で検出した動きベクトルに対応する評価値を取得してステップＳＴ８２に進む。
【０１６０】
ステップＳＴ８２で最適動きベクトル選択部４２は、評価値に基づいて動きベクトルの選択を行い、参照画像と共に出力する。最適動きベクトル選択部４２は、ステップＳＴ８１で取得した評価値を比較して、評価値が最小である動きベクトルを選択して出力する。また、最適動きベクトル選択部４２は、選択した動きベクトルを検出したときに用いられている参照画像を判別して、判別した参照画像の低ビット参照画像を出力してステップＳＴ８３に進む。
【０１６１】
ステップＳＴ８３で最適動きベクトル選択部４２は、全ての基準ブロックについて処理が完了したか否か判別する。最適動きベクトル選択部４２は、処理の完了していないブロックが残っている場合、処理の完了していないブロックを指定してステップＳＴ８１に戻る。また、最適動きベクトル選択部４２は、全ての基準ブロックについて処理が完了したとき最適動きベクトルの選択を終了する。
【０１６２】
［２−４．動きベクトルの検出動作例］
図２２は、基準画像と２つ参照画像を用いた動きベクトルの検出動作を例示している。図２２の（Ａ）に示す基準画像は、低ビット基準画像生成部３１-cによってビット数削減処理が行われて、図２２の（Ｂ）に示す低ビット基準画像とされる。また、基準画像は、低ビット縮小基準画像生成部３２-cによって画素数削減処理が行われて、図２２の（Ｃ）に示す縮小基準画像とされる。さらに、縮小基準画像は、低ビット縮小基準画像生成部３２-cによってビット数削減処理が行われて、図２２の（Ｄ）に示す低ビット縮小基準画像とされる。
【０１６３】
図２２の（Ｅ）に示す例えば１フレーム前の第１参照画像は、低ビット参照画像生成部３１-r1によってビット数削減処理が行われて、図２２の（Ｆ）に示す第１低ビット参照画像とされる。また、第１参照画像は、低ビット縮小参照画像生成部３２-r1によって画素数削減処理が行われて、図２２の（Ｇ）に示す第１縮小参照画像とされる。さらに、第１縮小参照画像は、低ビット縮小参照画像生成部３２-r1によってビット数削減処理が行われて、図２２の（Ｈ）に示す第１低ビット縮小参照画像とされる。
【０１６４】
図２２の（Ｊ）に示す例えば２フレーム前の第２参照画像は、低ビット参照画像生成部３１-r2によってビット数削減処理が行われて、図２２の（Ｋ）に示す第２低ビット参照画像とされる。また、第２参照画像は、低ビット縮小参照画像生成部３２-r2によって画素数削減処理が行われて、図２２の（Ｌ）に示す第２縮小参照画像とされる。さらに、第２縮小参照画像は、低ビット縮小参照画像生成部３２-r2によってビット数削減処理が行われて、図２２の（Ｍ）に示す第２低ビット縮小参照画像とされる。
【０１６５】
ここで、画素に割り当てるビット数の削減処理と画素数削減処理を組み合わせて行う場合、情報処理装置１０ａは、画素に割り当てるビット数が等しい階層が複数であるときに、ビット数が等しい階層を画素数に応じて順位付けする。さらに、情報処理装置１０ａは、画素数が少ない画像を用いて動きベクトルの粗検出を行い、画素数の多い画像を用いて動きベクトルの詳細検出を行う。
【０１６６】
すなわち、ブロックマッチング部４１-1では、画素に割り当てるビット数が最も少ない階層の画像である図２２の（Ｄ）に示す低ビット縮小基準画像と図２２の（Ｈ）に示す第１低ビット縮小参照画像を用いて、動きベクトルの粗検出を行う。ブロックマッチング部４１-2では、画素に割り当てるビット数が最も少ない階層の画像である図２２の（Ｄ）に示す低ビット縮小基準画像と図２２の（Ｍ）に示す第２低ビット縮小参照画像を用いて、動きベクトルの粗検出を行う。
【０１６７】
最適動きベクトル選択部４２は、ブロックマッチング部４１-1から出力された評価値とブロックマッチング部４１-2から出力された評価値を比較して、評価値の小さい動きベクトルを選択して、ブロックマッチング部４３ａに出力する。また、最適動きベクトル選択部４２は、選択した動きベクトルの検出に用いた低ビット縮小参照画像に対応する低ビット参照画像を選択して、ブロックマッチング部４３ａに出力する。例えば、最適動きベクトル選択部４２は、ブロックマッチング部４１-1からの動きベクトルを選択してブロックマッチング部４３ａに出力するとき、図２２の（Ｆ）に示す第１低ビット参照画像の画像データを選択してブロックマッチング部４３ａに出力する。
【０１６８】
ブロックマッチング部４３ａは、図２２の（Ｂ）に示す低ビット基準画像と、最適動きベクトル選択部４２で選択された図２２の（Ｆ）または図２２の（Ｋ）に示す低ビット参照画像を用いて、動きベクトルの詳細検出を行う。また、ブロックマッチング部４３ａは、最適動きベクトル選択部４２で選択された動きベクトルを基準として探索範囲を決定する。
【０１６９】
以上のような第２の実施の形態の処理を行うと、第１の実施の形態と同様に、動きベクトルの粗検出では低ビット縮小画像が用いられていることから、動きベクトルの粗検出のための計算用のロジック回路の規模を少なくできる。また、少ないメモリ容量で動きベクトルの粗検出を行うことができる。さらに、動きベクトルの詳細検出では、粗検出以上のビット数であって、粗検出よりも縮小率の少ないあるいは縮小されていない画像が用いられる。また、動きベクトルの詳細検出では、粗検出で検出された動きベクトルを利用して探索範囲が設定されるので、粗検出よりも縮小率の少ないあるいは縮小されていない画像を用いても、計算用のロジック回路の規模を少なくできる。また、少ないメモリ容量で動きベクトルの詳細検出を行うことができるようになり、動きベクトルの検出に要する計算時間も短くできる。さらに、動きベクトルの詳細検出では、粗検出以上のビット数であって、粗検出よりも縮小率の少ないあるいは縮小されていない画像を用いて動きベクトルの検出が行われることから、動きベクトルの検出精度を高めることができる。
【０１７０】
また、第２の実施の形態では、複数の参照画像を用いることから、撮像画像がインタレース走査の画像であるとき、同じフィールドの参照画像を用いることで動きベクトルを詳細に検出することができる。また、動体によって画像の一部が隠れてしまうような場合、複数の参照画像を用いることで、隠れている部分の画像が得られ易くなることから、動きベクトルを詳細に検出できるようになる。
【０１７１】
さらに、上述の第１および第２の実施の形態では、第１階層の画像を用いて動きベクトルの粗検出を行い、第２階層の画像を用いて動きベクトルの詳細検出を行っているが、階層は図２３の（Ａ）に示すように２階層に限られない。例えば図２３の（Ｂ）に示すように、階層数を３階層以上として、情報処理装置は、画素に割り当てるビット数の最も少ない画像を用いて動きベクトルの粗検出を行い、検出された動きベクトルに基づき、次の階層で動きベクトルを検出する際の探索範囲を設定する。また、情報処理装置は、他の階層についても同様な処理を行い、画素に割り当てるビット数の最も多い画像を用いて検出された動きベクトルを、最も精度の高い動きベクトルとする。このように、情報処理装置は、動きベクトルの検出を階層化して行うことで、精度の高い動きベクトルの検出を行うことができる。
【０１７２】
また、画素に割り当てるビット数の削減処理と画素数削減処理を組み合わせて行う場合、情報処理装置は、画素に割り当てるビット数が等しい階層が複数であるときに、ビット数が等しい階層を画素数に応じて順位付けする。さらに、情報処理装置は、画素数が少ない画像（解像度の低い画像）を用いて動きベクトルの粗検出を行い、画素数の多い画像（解像度の高い画像）を用いて動きベクトルの詳細検出を行う。このように階層の順位付けを行えば、画素に割り当てるビット数の等しい階層が複数であっても、動きベクトルを容易に精度よく検出できる。なお、図２３において、動きベクトルＶcoは、動きベクトルの粗検出によって検出された動きベクトルである。また、動きベクトルＶfiは、動きベクトルの詳細検出によって検出された動きベクトルである。また、ベクトルＶreは、粗検出で検出された動きベクトルＶcoを微調整して詳細検出の結果である動きベクトルＶfiとするベクトルである。
【０１７３】
さらに、第１および第２の実施の形態では、ビット数削減処理が行われた参照画像から探索範囲の画像を用いてブロックマッチング処理を行う場合を示したが、探索範囲の画像に対してのみビット数削減処理や画素数削減処理を行う構成としてもよい。この場合、第１および第２の実施の形態と同様に、精度よく動きベクトルを検出できる。また、ビット数削減処理や画素数削減処理を行う画像範囲を少なくできる。
【０１７４】
＜３．処理をプログラムにより実行する場合について＞
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータを用いる。または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどを用いて、プログラム記録媒体からソフトウェアをインストールする。
【０１７５】
図２４は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示す図である。
【０１７６】
コンピュータ６０において、ＣＰＵ（Central Processing Unit）６１、ＲＯＭ（Read Only Memory）６２、ＲＡＭ（Random Access Memory）６３は、バス６４により相互に接続されている。
【０１７７】
バス６４には、さらに、入出力インタフェース６５が接続されている。入出力インタフェース６５には、キーボード、マウスなどよりなるユーザインタフェース部６６、画像データを入力するための入力部６７、ディスプレイなどよりなる出力部６８、ハードディスクや不揮発性のメモリなどよりなる記録部６９等が接続される。さらに、入出力インタフェース６５には、ネットワークインタフェースなどよりなる通信部７０、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどのリムーバブルメディア８０を駆動するドライブ７１が接続されている。
【０１７８】
以上のように構成されるコンピュータでは、ＣＰＵ６１が、例えば、記録部６９に記録されているプログラムを、入出力インタフェース６５およびバス６４を介して、ＲＡＭ６３にロードして実行することにより、上述した一連の処理が行われる。
【０１７９】
コンピュータ（ＣＰＵ６１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（ＣＤ−ＲＯＭ(Compact Disc-Read Only Memory),ＤＶＤ(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア８０に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０１８０】
そして、プログラムは、リムーバブルメディア８０をドライブ７１に装着することにより、入出力インタフェース６５を介して、記録部６９にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部７０で受信し、記録部６９にインストールすることができる。その他、プログラムは、ＲＯＭ６２や記録部６９に、あらかじめインストールしておくことができる。
【０１８１】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであってもよいし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであってもよい。
【０１８２】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であり、本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【産業上の利用可能性】
【０１８３】
この発明の情報処理装置や情報処理方法およびプログラムによれば、ビット数の少ない画像を用いて動きベクトルの粗検出が行われることから、容量の大きいメモリや回路規模の大きいロジック回路を用いることなく動きベクトルの粗検出を行うことができる。また、粗検出で検出した動きベクトルに基づき、動きベクトルの詳細検出における探索範囲が決定されて、画素に割り当てるビット数が粗検出に用いた画像以上である階層の探索範囲の画像を用いて動きベクトルの詳細検出が行われるので、広い範囲を探索しなくとも、精度よく動きベクトルを検出できる。したがって、容量の大きいメモリや回路規模の大きいロジック回路を用いることなく、簡単な構成で精度よく動きベクトルを検出できるようになり、撮像装置や画像データの符号化や画像処理等を行う画像処理装置等に適している。
【符号の説明】
【０１８４】
１０，１０ａ・・・情報処理装置、２１・・・画像メモリ部、３１，３１ａ・・・ビット変換部、３１-c・・・低ビット基準画像生成部、３１-r，３１-r1，３１-r2・・・低ビット参照画像生成部、３２，３２ａ・・・解像度変換部、３２-c・・・低ビット縮小基準画像生成部、３２-r，３２-r1，３２-r2・・・低ビット縮小参照画像生成部、４０，４０ａ・・・動きベクトル検出部、４１，４１-1，４１-2，４３，４３ａ・・・ブロックマッチング部、４２・・・最適動きベクトル選択部、５１，５１ａ・・・動き補償部、６０・・・コンピュータ、６１・・・ＣＰＵ、６２・・・ＲＯＭ、６３・・・ＲＡＭ、６４・・・バス、６５・・・入出力インタフェース部、６６・・・ユーザインタフェース部、６７・・・入力部、６８・・・出力部、６９・・・記録部、７０・・・通信部、７１・・・ドライブ、８０・・・リムーバブルメディア、３１１，３１１ａ，３１１ｂ，３２２・・・フィルタ処理部、３１２，３１２ａ，３１２ｂ，３１４，３２３・・・画像比較部、３１３・・・閾値設定部、３２１・・・縮小処理部、４１１・・・基準ブロック指定部、４１２・・・参照ブロック指定部、４１３・・・評価値算出部、４１４・・・動きベクトル検出部、４２１・・・評価値比較部、４２２・・・動きベクトル選択部
【図１】
2011166266.tif 000010
【図２】
2011166266.tif 000011
【図３】
2011166266.tif 000012
【図４】
2011166266.tif 000013
【図５】
2011166266.tif 000014
【図６】
2011166266.tif 000015
【図７】
2011166266.tif 000016
【図８】
2011166266.tif 000017
【図９】
2011166266.tif 000018
【図１０】
2011166266.tif 000019
【図１１】
2011166266.tif 000020
【図１２】
2011166266.tif 000021
【図１３】
2011166266.tif 000022
【図１４】
2011166266.tif 000023
【図１５】
2011166266.tif 000024
【図１７】
2011166266.tif 000025
【図１８】
2011166266.tif 000026
【図１９】
2011166266.tif 000027
【図２０】
2011166266.tif 000028
【図２１】
2011166266.tif 000029
【図２４】
2011166266.tif 000030
【図１６】
2011166266.tif 000031
【図２２】
2011166266.tif 000032
【図２３】
2011166266.tif 000033