(57)【特許請求の範囲】
【請求項１】
被処理画面に対応する画像データを処理する単位である、所定数の画素からなるブロック毎に、処理対象となる被処理ブロックに対応する予測ブロックの、参照画面における位置を一定条件下で探索して、上記予測ブロックの位置を示す情報を、被処理ブロックに対応する動きベクトルとして検出する動きベクトル検出処理を含む動きベクトル検出方法であって、
上記予測ブロックの位置の探索を開始する位置である動きベクトル探索中心に対応するブロックと、上記処理対象となる被処理ブロックとの間での画像データの誤差を、上記動きベクトル探索中心に対応する動き補償誤差として算出する算出処理と、
上記被処理ブロックの近傍に位置する近傍ブロックと、これに対応する予測ブロックとの間での画像データの誤差である、近傍ブロックに対応する動き補償誤差を、上記動きベクトル探索中心に対応する動き補償誤差と比較する比較処理とを含み、
上記両動き補償誤差の比較結果に応じて、上記動きベクトル探索中心を示す位置情報を上記被処理ブロックに対応する動きベクトルとして出力するか、あるいは上記動きベクトル検出処理を上記動きベクトル探索中心を探索開始位置として行って得られる動きベクトルを被処理ブロックに対応する動きベクトルとして出力するかを切り替えることを特徴とする動きベクトル検出方法。
【請求項２】
請求項１記載の動きベクトル検出方法において、
上記動きベクトル探索中心に対応する動き補償誤差が上記近傍ブロックに対応する動き補償誤差より小さいとき、上記動きベクトル探索中心を示す位置情報をそのまま被処理ブロックに対応する動きベクトルとして出力することを特徴とする動きベクトル検出方法。
【請求項３】
請求項1記載の動きベクトル検出方法において、
上記動きベクトル探索中心に対応する動き補償誤差が上記近傍ブロックに対応する動き補償誤差より小さく、かつ該動きベクトル探索中心に対応する動き補償誤差が所定値未満であるとき、上記動きベクトル探索中心を示す位置情報をそのまま被処理ブロックに対応する動きベクトルとして出力することを特徴とする動きベクトル検出方法。
【請求項４】
請求項３記載の動きベクトル検出方法において、
外部から動き検出指令信号が入力されたとき、上記近傍ブロックに対応する動き補償誤差及び上記動きベクトル探索中心に対応する動き補償誤差の大小関係に拘わらず、上記動きベクトル検出処理を上記動きベクトル探索中心を探索開始位置として行って得られる動きベクトルを、被処理ブロックに対応する動きベクトルとして出力することを特徴とする動きベクトル検出方法。
【請求項５】
請求項１記載の動きベクトル検出方法において、
上記近傍ブロックに対応する動き補償誤差と、上記動きベクトル探索中心に対応する動き補償誤差との差分の大きさが所定値未満であるとき、上記動きベクトル探索中心を示す位置情報をそのまま被処理ブロックに対応する動きベクトルとして出力することを特徴とする動きベクトル検出方法。
【請求項６】
被処理画面に対応する画像データを処理する単位である、所定数の画素からなるブロック毎に、処理対象となる被処理ブロックに対応する予測ブロックの、参照画面における位置を一定条件下で探索して、上記予測ブロックの位置を示す情報を、被処理ブロックに対応する動きベクトルとして検出する動きベクトル検出方法であって、
上記参照画面上に設定された第１の探索範囲にて上記予測ブロックの位置を探索して、被処理ブロックに対応する第１の候補動きベクトルにより特定される参照画面上のブロックと、被処理画面上の被処理ブロックとの間での画像データの誤差である第１の動き補償誤差を算出する処理と、
上記第１の候補動きベクトルが示す画素位置の近傍に位置する上記参照画面上の第２の探索範囲にて、上記予測ブロックの位置を探索して、被処理ブロックに対応する第２の候補動きベクトルにより特定される参照画面上のブロックと、被処理画面上の被処理ブロックとの間での画像データの誤差である第２の動き補償誤差を算出する処理と、
上記第１の候補動きベクトルと第２の候補動きベクトルに基づいて設定された上記参照画面上の第３の探索範囲にて、上記予測ブロックの位置を探索して、被処理ブロックに対応する第３の候補動きベクトルにより特定される上記参照画面上のブロックと、被処理画面上の被処理ブロックとの間での画像データの誤差である第３の動き補償誤差を算出する処理と、
上記第１，第２，第３の動き補償誤差を比較して、その比較結果に応じて、上記第１，第２，第３の候補動きベクトルのうちの１つを、被処理ブロックに対応する動きベクトルとして選択する処理とを含むことを特徴とする動きベクトル検出方法。
【請求項７】
請求項６記載の動きベクトル検出方法において、
上記第３の探索範囲は、上記参照画面上にて第１および第２の探索範囲以外の領域に設定され、
上記第３の探索範囲における上記予測ブロックの位置の探索は、上記第１および第２の動き補償誤差を参照せずに行われることを特徴とする動きベクトル検出方法。
【請求項８】
請求項６記載の動きベクトル検出方法において、
上記第１の探索範囲では、上記予測ブロックの位置を探索する処理として、画素単位の探索処理が行われ、
上記第３の探索範囲では、上記予測ブロックの位置を探索する処理は、上記参照画面における画素間の仮想画素に対応する画素値を補間して、半画素以上の精度で行われることを特徴とする動きベクトル検出方法。
【請求項９】
請求項６記載の動きベクトル検出方法において、
上記第２の探索範囲では、上記予測ブロックの位置は、上記参照画面における垂直もしくは水平方向のみに沿って探索され、上記第３の探索範囲では、上記予測ブロックの位置は、該第２の探索範囲における探索方向以外の方向に沿って探索されることを特徴とする動きベクトル検出方法。
【請求項１０】
被処理画面に対応する画像データを処理する単位である、所定数の画素からなるブロック毎に、処理対象となる被処理ブロックに対応する予測ブロックの、参照画面における位置を一定条件下で探索して、上記予測ブロックの位置を示す情報を、被処理ブロックに対応する動きベクトルとして検出する動きベクトル検出処理を行う動きベクトル検出装置であって、
上記予測ブロックの位置の探索を開始する位置である動きベクトル探索中心に対応するブロックと、上記処理対象となる被処理ブロックとの間での画像データの誤差を、上記動きベクトル探索中心に対応する動き補償誤差として算出する誤差計算手段と、
上記被処理ブロックの近傍に位置する近傍ブロックと、これに対応する予測ブロックとの間での画像データの誤差である近傍ブロックに対応する動き補償誤差を、上記動きベクトル探索中心に対応する動き補償誤差と比較する比較手段と、
上記両動き補償誤差の比較結果に応じて、上記被処理ブロックに対する動きベクトル検出処理を行うべきか否かを判別する判別手段と、
上記判別手段により動きベクトル検出処理を行うべきと判別されたときのみ、上記動きベクトル探索中心を探索開始位置として上記動きベクトル検出処理を行って動きベクトルを検出する動き検出手段と、
上記判別手段にて動きベクトル検出処理を行うべきと判別されたとき、上記動き検出手段により検出された動きベクトルを被処理ブロックに対応する動きベクトルとして出力し、上記判別手段にて動きベクトル検出処理を行うべきではないと判別されたとき、上記動きベクトル探索中心を示す位置情報をそのまま被処理ブロックに対応する動きベクトルとして出力する選択手段と、
上記選択手段から出力される動きベクトルに対応する動き補償誤差を、他のブロックに対する動きベクトル検出処理を行うか否かを判定するためのデータとして一時的に格納するメモリとを備えたことを特徴とする動きベクトル検出装置。
【請求項１１】
被処理画面に対応する画像データを処理する単位である、所定数の画素からなるブロック毎に、処理対象となる被処理ブロックに対応する予測ブロックの、参照画面における位置を一定条件下で探索して、上記予測ブロックの位置を示す情報を、被処理ブロックに対応する動きベクトルとして検出する動きベクトル検出装置であって、
上記参照画面上に設定された第１の探索範囲にて上記予測ブロックの位置を探索して、被処理ブロックに対応する第１の候補動きベクトルにより特定される参照画面上のブロックと、被処理画面上の被処理ブロックとの間での画像データの誤差である第１の動き補償誤差を算出する第１の動き検出手段と、
上記第１の候補動きベクトルが示す画素位置の近傍に位置する上記参照画面上の第２の探索範囲にて、上記予測ブロックの位置を探索して、被処理ブロックに対応する第２の候補動きベクトルにより特定される参照画面上のブロックと、被処理ブロックとの間での画像データの誤差である第２の動き補償誤差を算出する第２の動き検出手段と、
上記第１の候補動きベクトルと第２の候補動きベクトルに基づいて設定された上記参照画面上の第３の探索範囲にて上記予測ブロックの位置を探索して、被処理ブロックに対応する第３の候補動きベクトルにより特定される上記参照画面上のブロックと、被処理ブロックとの間での画像データの誤差である第３の動き補償誤差を算出する第３の動き検出手段と、
上記第１，第２，第３の動き補償誤差を比較して、その比較結果に応じて、上記第1，第２，第３の候補動きベクトルのうちの１つを、被処理ブロックに対応する動きベクトルとして選択する選択手段とを備えたことを特徴とする動きベクトル検出装置。
【請求項１２】
プログラムを格納したデータ記憶媒体であって、
上記プログラムは、コンピュータに、請求項１記載の動きベクトル検出方法により被処理ブロックに対応する動きベクトルを検出する処理を行わせるためのプログラムであることを特徴とするデータ記憶媒体。
【請求項１３】
プログラムを格納したデータ記憶媒体であって、
上記プログラムは、コンピュータに、請求項６記載の動きベクトル検出方法により被処理ブロックに対応する動きベクトルを検出する処理を行わせるためのプログラムであることを特徴とするデータ記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動きベクトル検出方法，動きベクトル検出装置，及びデータ記憶媒体に関し、特に、ブロック単位動き補償符号化処理，つまり画面間の画素値相関を利用して画像信号を所定数の画素からなるブロック毎に効率良く符号化する処理において使用される動きベクトルを高速かつ精度良く生成する動きベクトル検出処理に関するものである。
【０００２】
【従来の技術】
近年、音声，画像，その他のデータを統合的に扱うマルチメディア時代を迎え、従来からの情報メディア，つまり新聞，雑誌，テレビ，ラジオ，電話等の情報を人に伝達する手段がマルチメディアの対象として取り上げられるようになってきた。一般に、マルチメディアとは、文字だけでなく、図形、音声、特に画像等を同時に関連づけて表すことをいうが、上記従来の情報メディアをマルチメディアの対象とするには、その情報をディジタル形式にして表すことが必須条件となる。
【０００３】
ところが、上記各情報メディアで扱われる情報量をディジタル情報量として見積もってみると、文字の場合１文字当たりの情報量は１〜２バイトであるのに対し、音声の場合１秒当たり６４Ｋbits（電話品質）、さらに動画については１秒当たり１００Ｍbits（現行テレビ放送品質）以上の情報量が必要となり、上述したほとんどの情報メディアにおいては、その膨大な情報をディジタル形式でそのまま扱うことは現実的ではない。例えば、テレビ電話は、６４Ｋbps 〜１．５Ｍbps の伝送速度を持つサービス総合ディジタル網（ＩＳＤＮ:Integrated Services Digital Network）によってすでに実用化されているが、テレビカメラの映像情報をそのままＩＳＤＮで送ることは不可能である。
【０００４】
そこで、必要となってくるのが情報の圧縮技術である。例えば、テレビ電話の場合、ＩＴＵ−Ｔ（国際電気通信連合  電気通信標準化部門）で国際標準化されたＨ．２６１やＨ．２６３規格の動画圧縮技術が用いられている。また、ＭＰＥＧ１規格の情報圧縮技術によると、通常の音楽用ＣＤ（コンパクト・ディスク）に音声情報とともに画像情報を記録することも可能となる。
【０００５】
ここで、ＭＰＥＧ（Moving Picture Experts Group) とは、動画データ（動画像の画像信号）の圧縮技術に関する国際規格であり、ＭＰＥＧ１は、動画データを１．５Ｍbps まで、つまりテレビ信号の情報を約１００分の１にまで圧縮する規格である。また、ＭＰＥＧ１規格を対象とする伝送速度が主として約１．５Ｍbps に制限されていることから、さらなる高画質化の要求をみたすべく規格化されたＭＰＥＧ２では、動画データが２〜１５Ｍbps に圧縮される。
【０００６】
さらに現状では、ＭＰＥＧ１，ＭＰＥＧ２と標準化を進めてきた作業グループ（ISO/IEC JTC1/SC29/WG11) によって、物体単位で符号化処理や信号操作を可能とし、マルチメディア時代に必要な新しい機能を実現する動画データの圧縮技術がＭＰＥＧ４として規格化されつつある。このＭＰＥＧ４では、当初、低ビットレートの符号化方法の標準化を目指してきたが、現在は、標準化の対象が、インタレース画像に対応した高ビットレートのより汎用的な符号化処理に拡張されている。
【０００７】
上述した符号化処理では、画面間の画素値相関を利用して画像信号の符号化を行う処理，いわゆる画面間動き補償符号化処理を用いることにより大幅なデータ圧縮（ビットレート節約）を実現している。ここで、上記画面間動き補償符号化処理では、１６×１６画素からなる画像空間（マクロブロック）、もしくは８×８画素からなる画像空間（ブロック）を単位として、符号化処理の対象となる被処理ブロック(以下、対象ブロックともいう。)の画像信号が、符号化処理が施された画面に対応する画像信号（参照画面の画像信号）と比較されて、参照画面における、最も画素値の配列パターンが上記対象ブロックと似ている領域（予測ブロック）の位置を示す位置情報が対象ブロックに対応する動きベクトルとして検出される。この動きベクトルは、上記対象ブロックに対応する画像信号と予測ブロック(参照ブロック)に対応する画像信号との差分信号（動き補償誤差）とともに符号化される。
【０００８】
図１１は従来の代表的な画面間動き補償符号化装置のブロック図である。なお、説明の簡略化のために、以下の説明では、１６×１６画素からなるマクロブロックと８×８画素からなるブロックを区別せずにブロックという。
この画面間動き補償符号化装置（以下、符号化装置と略記する。）１０００は、所定の物体に対応する画像信号を上記ブロックに対応するよう分割して得られる画像信号をブロック毎に順次受け、各ブロックに対応する画像信号に対して画面間動き補償符号化処理を施すものである。
【０００９】
つまり、上記符号化装置１０００は、符号化処理の対象となる被処理ブロックに対応する画像信号Ｓｔと、参照画面に対応する画像信号から取得した予測ブロックに対応する画像信号（動き補償データ）Ｐｔとの差分値Ｄｔを計算する減算器ｄ１と、該減算器ｄ１により得られた差分値ＤｔをＤＣＴ（離散コサイン変換）等の直交変換処理により周波数成分Ｔｔに変換する直交変換器ｄ２と、該周波数成分Ｔｔを量子化して量子化値Ｑｔを出力する量子化器ｄ３と、量子化値Ｑｔを符号化して符号化データＥｔを出力する可変長符号化器ｄ４とを有している。
【００１０】
また、上記符号化装置１０００は、上記量子化値Ｑｔを逆量子化して周波数成分ＩＱｔを復元する逆量子化器ｄ５と、復元した周波数成分ＩＱｔを逆ＤＣＴ処理等の処理により空間領域の画像データ（画素値）ＩＴｔに変換する逆直交変換器ｄ６と、復元した画像データＩＴｔと上記動き補償データＰｔとを加算する加算器ｄ７と、該加算器ｄ７の出力Ｒｔを後続画面に対する符号化処理の際に参照するためのデータとして一時的に記憶するフレームメモリｄ８とを有している。
【００１１】
さらに、上記符号化装置１０００は、上記被処理ブロックと同一サイズの、上記参照画面における領域毎に、上記被処理ブロックに対応する画像信号Ｓｔを、フレームメモリｄ８に格納されている参照画面の画像データＣｔと比較し、両者の差が最小となる参照画面における領域（予測ブロック）の位置を示す情報（動きベクトル）ＭＶを導出する動き検出器ｄ９と、検出した動きベクトルＭＶに応じたフレームメモリｄ８に対するアドレス信号Ａｄを発生し、このアドレス信号Ａｄに基づいて、参照画面における画素位置により特定される領域（予測ブロック）の画像データＭｔを取得し、この画像データを動き補償データＰｔとして出力する動き補償器ｄ１０とを有している。
【００１２】
上述した従来の符号化装置１０００では、画像信号Ｓｔを直接符号化する代わりに、エネルギーの小さい減算器ｄ１の出力を符号化することにより、圧縮効率の向上を図っている。この圧縮効率は、上記減算器ｄ１の出力のエネルギー（出力信号の振幅）が小さいほど向上することが知られており、従って、動き検出器ｄ９において、高速かつ精度良く動きベクトルを検出することが重要になる。このような精度のよい動きベクトルを検出することにより、上記減算器ｄ１の出力のエネルギーが小さくなる。
【００１３】
なお、図中、ｉ２０は画像信号（画像データ）Ｓｔの入力端子、ｏ２０は符号化データＥｔの出力端子である。また、図１１に示す符号化装置１０００では、フレームメモリｄ８と動き検出器ｄ９により、動きベクトルの検出を行う動きベクトル検出装置２００が構成されており、以下、この動きベクトル検出装置２００について詳述する。
【００１４】
図１２は従来の代表的な動きベクトル検出装置の構成を示すブロック図である。
この動きベクトル検出装置２００は、上記参照画面の画像データＣｔが格納されるフレームメモリｄ８と、外部からの動きベクトル探索中心を示す情報Ｓｃを受け、探索中心近傍の複数の画素位置を示す候補動きベクトルＭＶｃを出力する動きベクトル生成器ｕ１ａと、候補動きベクトルＭＶｃにより示される参照画面における予測ブロックの画素値（画像データ）Ｃｔと、入力された被処理ブロックの画像信号（画像データ）Ｓｔとの誤差（動き補償誤差）Ｄｐを算出する誤差計算器ｕ３ａと、該誤差計算器ｕ３ａの出力である誤差Ｄｐを監視し、動きベクトル生成器ｕ１ａの出力である候補動きベクトルＭＶｃから、誤差が最小となるものを選択し、選択された候補動きベクトルを被処理ブロックに対応する動きベクトルＭＶｓとして出力する最小誤差選択器ｕ４ａとを有している。ここでは、上記動き検出器ｄ９は、上記動きベクトル生成器ｕ１ａ，誤差計算器ｕ３ａ，及び最小誤差選択器ｕ４ａにより構成されている。
【００１５】
なお、図中、ｉ１は上記画像信号（画像データ）Ｓｔが入力される動きベクトル検出装置２００の第１の入力端子、ｉ２は上記動きベクトル探索中心情報Ｓｃが入力される動きベクトル検出装置２００の第２の入力端子、ｏ１は上記動きベクトルＭＶｓが出力される上記検出装置２００の出力端子である。また、動きベクトル探索中心情報Ｓｃは、フレームメモリｄ８に格納されている参照画面の画像信号Ｃｔと入力された画像信号Ｓｔとを比較して動きベクトルを検出するための探索処理を開始する位置を示すものであり、この探索処理の開始位置としては、被処理画面上の対象ブロックと同じ空間位置に対応する参照画面上の位置や、対象ブロック近傍に位置する近傍ブロックの検出済み動きベクトルで示される参照画面上の位置などがよく使われる。例えば、対象ブロック近傍に位置する近傍ブロックとしては、対象ブロックの左隣に位置するブロックが用いられる。
【００１６】
次に動作について説明する。
上記画面間動き補償符号化装置１０００に、符号化処理の対象となる被処理ブロックに対応する画像信号Ｓｔが入力されると、減算器ｄ１にて、該被処理ブロックの画像信号Ｓｔと、対応する予測ブロックの画像信号（動き補償データ）Ｐｔとの差分値Ｄｔが計算される。この差分値Ｄｔは、直交変換器ｄ２にて、ＤＣＴ（離散コサイン変換）等の直交変換処理により周波数成分Ｔｔに変換される。この周波数成分Ｔｔは量子化器ｄ３にて量子化されて、対応する量子化値Ｑｔが出力される。そして、可変長符号化器ｄ４では、この量子化値Ｑｔを可変長符号に変換する可変長符号化処理が行われ、該符号化器ｄ４からは上記被処理ブロックに対応する符号化データＥｔが出力される。
【００１７】
一方、このとき、上記量子化値Ｑｔは、逆量子化器ｄ５にて逆量子化処理により周波数成分ＩＱｔに復元され、さらにこの周波数成分ＩＱｔは、逆直交変換器ｄ６にて空間領域の画像データ（画素値）ＩＴｔに変換される。そして、この画像データＩＴｔは、加算器ｄ７にて、上記動き補償データ（予測ブロックに対応する画像信号）Ｐｔと加算されて、被処理ブロックに対応する再生データＲｔが生成される。この再生データＲｔは、被処理画面に続く後続画面に対応する画像信号を符号化する際に参照するための参照データとして一時的にフレームメモリｄ８に格納される。
【００１８】
そして、動き検出器ｄ９では、フレームメモリｄ８に格納されている参照画面に対応する画像信号Ｃｔと、被処理ブロックに対応する画像信号Ｓｔとが比較され、参照画面における上記被処理ブロックと同一サイズの所定領域（予測ブロック）の位置情報が、上記被処理ブロックに対応する動きベクトルＭＶとして導出される。すると、動き補償器ｄ１０では、この動きベクトルＭＶにより示される参照画面上の位置に対応するアドレスＡｄが生成され、このアドレスＡｄに基づいて、フレームメモリｄ８から上記予測ブロックに対応する画像データＭｔが、被処理ブロックに対応する動き補償データＰｔとして出力される。
【００１９】
続いて、上記動き検出器ｄ９とフレームメモリｄ８からなる動きベクトル検出装置２００の動作について詳しく説明する。
上記動きベクトル検出装置２００における動きベクトル生成器ｕ１ａでは、該装置の外部から供給されるベクトル探索中心情報Ｓｃに基づいて、探索中心近傍の複数の画素位置を示す動きベクトルが候補動きベクトルＭＶｃとして出力される。すると、上記フレームメモリｄ８では、該候補動きベクトルＭＶｃにより示される参照画面上のブロックに対応する画像信号（動き補償データ）Ｃｔが出力される。上記誤差計算器ｕ３ａでは、各候補動きベクトルに対応する動き補償データＣｔと対象ブロックの画像信号との差分信号（画像誤差データ）Ｄｐが算出される。最小誤差選択器ｕ４ａでは、この画像誤差データＤｐがモニターされており、複数の候補動きベクトルＭＶｃから、該誤差データＤｐが最小となる候補動きベクトルＭＶｃが選択され、選択された候補動きベクトルが被処理ブロックに対応する動きベクトル（選択動きベクトル）ＭＶｓとして出力される。
【００２０】
この動きベクトル検出装置２００はその構成が簡単なものであるが、動きベクトルの探索範囲、すなわち動きベクトル生成器ｕ１ａで生成する候補動きベクトルの数に比例して、動き補償誤差を計算する際の演算量が増加するという欠点がある。
言い換えると、動きの大きい物体を含む画像に対しては、画像空間上の広範な範囲にわたって動きベクトルの探索を行うことが符号化効率の向上につながるため、符号化効率の向上を図る上で、動きベクトル検出装置における演算処理のうちで、演算負荷が最も大きい誤差計算を削減することが重要な課題となってくる。
そこで、上記のような動きベクトル検出装置における誤差計算の演算回数を削減する方式として、階層的動きベクトル検出方式がよく使用される。
【００２１】
図１３は、このような階層的動きベクトル検出方式の一例である従来の動きベクトル検出法（３ステップ法）を説明するための図である。
この３ステップ法は、第ｎ回目の階層の処理では、第ｎ−１回目の階層の処理において検出した動きベクトルが示す指示位置を探索中心とする、その周辺の８つの近傍位置にて、探索範囲を第ｎ−１回目の階層の処理における探索範囲の１／３に縮小して再帰的に探索を行うというものである。なお、上記８つの近傍位置は、上記指示位置の上方向，下方向，左方向，右方向に位置する４つの近傍位置、及び該指示位置の右上方向，右下方向，左上方向，左下方向に位置する４つの近傍位置である。
【００２２】
なお、図１３では、○印は参照画面を構成する各画素を表しており、数字の１が書き込まれた○印は、第１回目の階層の処理において探索の対象となる画素（第１探索対象画素）であり、候補動きベクトルが示す候補予測ブロック（動き補償ブロック）の代表位置である。図１３に示す参照画面には、この第１探索対象画素が、探索中心となる画素を含めて９個示されている。
【００２３】
まず、第１回目の階層の動き検出処理では、画素Ｐ０を探索中心として、該画素Ｐ０及びその周辺の画素Ｐ１ａ〜Ｐ１ｈの位置により特定される特定ブロックに対応する画像誤差データ（つまり該特定ブロックと被処理ブロックとの間での画像データの誤差）が検出される。ここでは、上記周辺画素Ｐ１ｂが、画像誤差データの最も小さいものとなっている。従って、第２回目の階層の動き検出処理は、この画素Ｐ１ｂを探索中心として行われる。なお、上記周辺画素Ｐ１ａ〜Ｐ１ｈは、上記探索中心を含む、垂直方向，水平方向，及び該水平方向に対して±４５度の角度をなす斜め方向と平行な直線上において、上記探索中心となる画素Ｐ０から９画素間隔離れて位置している。
【００２４】
次に、第２回目の階層の動き検出処理では、上記周辺画素Ｐ１ｂを探索中心として、該画素Ｐ１ｂの周辺の画素Ｐ２ａ〜Ｐ２ｈの位置により特定される特定ブロックに対応する画像誤差データ（つまり該特定ブロックと被処理ブロックとの間での画像データの誤差）が検出される。ここでは、上記周辺画素Ｐ２ｅが、画像誤差データの最も小さいものとなっている。従って、第３回目の階層の動き検出処理は、この画素Ｐ２ｅを検索中心として行われる。なお、上記周辺画素Ｐ２ａ〜Ｐ２ｈは、上記第２回目の階層の動き検出処理における探索中心を含む、垂直方向，水平方向，及び該水平方向に対して±４５度の角度をなす斜め方向と平行な直線上において、上記探索中心となる画素Ｐ１ｂから３画素間隔離れて位置している。
【００２５】
最後に、第３回目の階層の動き検出処理では、上記周辺画素Ｐ２ｅを探索中心として、該画素Ｐ２ｅの周辺の画素Ｐ３ａ〜Ｐ３ｈの位置により特定される特定ブロックに対応する画像誤差データ（つまり該特定ブロックと被処理ブロックとの間での画像データの誤差）が検出される。ここでは、上記周辺画素Ｐ３ａが、画像誤差データの最も小さいものとなっている。従って、この画素Ｐ３ａ（斜線で示す○印）を示す動きベクトルが、３ステップ法により検出された被処理ブロックに対応する動きベクトルとされる。なお、上記周辺画素Ｐ３ａ〜Ｐ３ｈは、上記第３回目の階層の動き検出処理における探索中心を含む、垂直方向，水平方向，及び該水平方向に対して±４５度の角度をなす斜め方向と平行な直線上において、上記検索中心となる画素Ｐ２ｅから１画素間隔離れて位置している。
【００２６】
この３ステップ法は、一般に画像データに関してはほぼ成立する条件下、つまり画像誤差データが最小となる探索位置に近い画素ほど、対応する画像誤差データが小さくなるという条件下では、単純に探索範囲の全ての画素位置（つまり参照画面における全ての画素）について直接画像誤差データを計算して、画像誤差データが最小となる動きベクトルを検出する方式と比べてほとんど差のない精度でもって動きベクトルが検出できるものである。
【００２７】
また、図１３で示す３ステップ法による動き検出処理では、画像誤差データ（以下単に誤差ともいう。）の計算回数は、第１階層の処理における９回、第２階層の処理における８回、及び第３階層の処理における８回の合計２５回であり、単純に探索範囲の全ての画素位置について直接誤差を計算する方法に比べて、誤差の計算回数を大幅に削減できることが明かである。
【００２８】
図１４は従来の他の動きベクトル検出法を説明するための図である。
この動きベクトル検出法では、１／２画素精度で、誤差（画像誤差データ）の最小となる画素の位置の探索処理が行われる。
【００２９】
上記１／２画素精度の探索処理では、参照画面上の隣接する２つの画素の間に、仮想的な画素値を有する補間画素が定義され、この補間画素を含む参照画面上で、画像誤差データが最小となる画素位置を示す動きベクトルの探索が行われる。この探索処理により得られた１／２画素精度の動きベクトルに基づいて、１／２画素以下の高精度な動き補償が行われることとなる。なお、上記補間画素の画素値は、該補間画素の両側に位置する画素の画素値に対する補間演算により求められる。
【００３０】
このような１／２画素精度の探索処理は、図１１に示す符号化装置における差分器ｄ１の出力信号のエネルギー（振幅レベル）を小さくすることにより符号化効率を向上するために使用される。
【００３１】
この１／２画素精度の探索処理では、フレームメモリから参照画面の画素値を読み出す際に、隣接する２つの画素の間に位置する補間画素の仮想的な画素値を補間演算により生成するという新たな処理が必要となる。このため、第１階層の探索処理では、図１４の実線の○印で示す画素を対象とする整数画素精度の動き検出処理を行い、第２階層の探索処理では、第１回層の探索処理で検出した画素Ｐ’０（図１４参照）を探索中心とし、探索の対象となる画素を該画素Ｐ’０の周囲にこれと隣接して位置する近傍画素（図１４の画素Ｐ’１〜Ｐ’８）に限定して、誤差が最小となる画素位置が探索される。これにより１／２画素精度の動きベクトルが検出されることとなる。
これらの従来の階層的な動きベクトル探索処理の特徴は、段階的に探索範囲を狭めかつ探索密度を高めながら、各段階に対応する探索範囲内で常に最小誤差となる動きベクトルを選択していくことである。
【００３２】
図１５は、従来の階層動きベクトル検出装置を説明するためのブロック図である。
この階層動きベクトル検出装置２０１は、外部から入力される動きベクトル探索中心を示す位置情報（以下、動きベクトル探索中心情報ともいう。）Ｓｃに基づいて第１階層の探索処理により動きベクトルＭＶ１ｓを検出する第１階層動き検出部と、該第１階層の探索処理により得られる動きベクトルＭＶ１ｓに基づいて、第２階層の探索処理により動きベクトルＭＶ２ｓを検出する第２階層動き検出部とを有している。
【００３３】
ここで、上記第１階層動き検出部は、図１２に示す動きベクトル検出装置２００と同様、外部からの動きベクトル探索中心情報Ｓｃに基づいて第１の候補動きベクトルＭＶ１ｃを複数生成するＭＶ生成器ｕ１ａと、参照画面に対応する画像データを記憶しているフレームメモリｕ２と、該第１の候補動きベクトルＭＶ１ｃに基づいて該フレームメモリｕ２から読みだされた動き補償データ（候補予測ブロックの画像データ）Ｃ１ｔと、入力された対象ブロックの画像データＳｔとの誤差データＤ１ｐを算出する誤差計算器ｕ３ａと、該誤差データＤ１ｐに基づいて、複数の候補動きベクトルＭＶ１ｃのなかから、誤差データが最小となる候補動きベクトルを第１階層動きベクトルＭＶ１ｓとして選択する最小誤差選択器ｕ４ａとを有している。
【００３４】
また、上記第２階層動き検出部は、上記第１階層動きベクトルＭＶ１ｓが示す画素位置を探索中心として第２の候補動きベクトルＭＶ２ｃを複数生成するＭＶ生成器ｕ１ｂと、参照画面に対応する画像データを記憶しているフレームメモリｕ２と、該第２の候補動きベクトルＭＶ２ｃに基づいて該フレームメモリｕ２から読みだされた動き補償データ（候補予測ブロックの画像データ）Ｃ２ｔと、入力された対象ブロックの画像データＳｔとの誤差データＤ２ｐを算出する誤差計算器ｕ３ｂと、該誤差データＤ２ｐに基づいて、複数の候補動きベクトルＭＶ２ｃのなかから、誤差データが最小となる候補動きベクトルを第２階層動きベクトルＭＶ２ｓとして選択する最小誤差選択器ｕ４ｂとを有している。この第２階層動き検出部の誤差計算器ｕ３ｂには、上記第１階層動き検出部の最小誤差選択器ｕ４ａから最小誤差データＤ１ｐｍが供給されるようになっている。このため、誤差計算器ｕ３ｂでは、第２階層動き検出処理における探索中心に対応する誤差データを求める必要がない。
【００３５】
なお、この動きベクトル検出装置２０１では、フレームメモリｕ２は、第１階層動き検出部と第２階層動き検出部とによって共用されている。また、図１５中、ｉ１は上記対象ブロックの画像信号Ｓｔが入力される第１の入力端子、ｉ２は上記動きベクトル探索中心情報Ｓｃが入力される第２の入力端子、ｏ１は対象ブロックの動きベクトルＭＶ２ｓが出力される出力端子である。なお、図１５に示すフレームメモリｕ２は、図１１及び図１２に示すフレームメモリｄ８と同一のものである。
【００３６】
次に動作について説明する。
図１５に示す動きベクトル検出装置２０１の第１階層動き検出部では、図１２に示す動きベクトル検出装置２００と全く同一の探索処理が行われて、対象ブロックに対応する動きベクトルが第１階層動きベクトルＭＶ１ｓとして生成される。
【００３７】
そして、第１階層動きベクトルＭＶ１ｓが動きベクトル検出装置２０１における第２階層動き検出部に入力されると、該第２階層動き検出部では、第１階層動きベクトルＭＶ１ｓが示す参照画面上の画素位置を探索中心として、該探索中心の近傍に位置する周辺画素に対応する第２候補動きベクトルＭＶ２ｃが複数生成される。
【００３８】
さらに、誤差計算器ｕ３ｂでは、フレームメモリｕ２から読みだされた、第２候補動きベクトルで示される参照画面上の候補予測ブロックに対応する画像データ（動き補償データ）Ｃ２ｔが入力されると、該動き補償データＣ２ｔと対象ブロックの画像データＳｔとの誤差データＤ２ｐが算出される。
【００３９】
最小誤差選択器ｕ４ｂには、ＭＶ生成器ｕ１ｂにて生成された複数の候補動きベクトルＭＶ２ｃとともに、各候補動きベクトルＭＶ２ｃに対応する誤差データＤ２ｐが入力され、誤差データが最小となる候補動きベクトルＭＶ２ｃが第２階層動きベクトルＭＶ２ｓとして選択されて出力される。
【００４０】
なお、動きベクトル生成器ｕ１ｂでの探索中心（すなわち最小誤差選択器ｕ４ａにて選択された動きベクトル）に対応する誤差データＤ１ｐｍは既に誤差計算器ｕ３ａで計算されて最小誤差選択器ｕ４ａに通知済みであるから、この最小誤差データＤ１ｐｍを最小誤差選択器ｕ４ａから誤差計算器ｕ３ｂに通知することで、誤差計算器ｕ３ｂでは、第２階層動き探索処理における探索中心を示す動きベクトルについては、対応する誤差データを求める演算が省略できる。
【００４１】
また、図１５では、動きベクトル検出装置２０１として、２階層の探索処理により対象ブロックに対応する動きベクトルを検出するものを示しているが、３階層の探索処理により対象ブロックに対応する動きベクトルを検出する動きベクトル検出装置の構成は、図１２に示す動きベクトル検出装置２００において、誤差計算器、最小誤差選択器，及びＭＶ生成器を、さらに１組追加することにより得られることは容易に類推できる。
【００４２】
また、従来の動きベクトル検出方法は、図１３及び図１４を用いて説明した階層的な探索処理を行うものに限らず、動きベクトル探索中心を探索開始位置として、各画素位置毎に探索方向を決定して、動き補償誤差がより小さくなる参照画面上の画素位置を探索するものもある。
図１６は、このように動き補償誤差がより小さくなる画素位置を求めて探索位置をベクトル探索中心から順次移動していく動きベクトル検出方法を説明するための図であり、参照画面における画素の配置を示している。なお、図中、Ｐs0，Ｐsa〜Ｐsiは参照画面上の各画素である。
【００４３】
この動きベクトル検出方法は、One at a time  と呼ばれており、以下この動きベクトル検出方法の処理フローについて具体的に説明する。
ただし、ここでは、図１６に示す各画素Ｐs0，Ｐsa〜Ｐsiにより特定される参照画面上のブロックと、被処理画面上の被処理ブロックとの間での画像データの誤差（動き補償誤差）ＳＡＤs0，ＳＡＤsa〜ＳＡＤsiに関して、次の式（１）〜（３）が成立しているものとする。
ＳＡＤs0，ＳＡＤsa＞ＳＡＤsb                ・・・（１）
ＳＡＤsb，ＳＡＤsd＞ＳＡＤsc      ・・・（２）
ＳＡＤsc，ＳＡＤsf〜ＳＡＤsi＞ＳＡＤse      ・・・（３）
この動きベクトル検出方法では、まず、第１のステップでは、参照画面にて、探索中心となる画素Ｐs0の左右に位置する画素Ｐsa及びＰsbに対する探索が行われる。
【００４４】
この場合、探索中心画素Ｐs0の右側の画素Ｐsbに対応する動き補償誤差ＳＡＤsbが、探索中心画素Ｐs0及びその左側の画素Ｐsaに対応する動き補償誤差ＳＡＤs0，ＳＡＤsaより小さくなっている（式（１）参照）。このため、続く第２のステップでは、上記画素Ｐsbの左右に位置する画素Ｐs0及びＰscに対する探索が行われる。
【００４５】
第３のステップでは、上記画素Ｐscに対応する動き補償誤差ＳＡＤscが、画素Ｐs0 及び画素Ｐsbに対応する動き補償誤差ＳＡＤs0，ＳＡＤsbより小さくなっているため（式（１），（２）参照）、上記画素Ｐscの左右に位置する画素Ｐsb及びＰsdに対する探索が行われる。
【００４６】
第４のステップでは、上記画素Ｐscに対応する動き補償誤差ＳＡＤscが、画素Ｐsb及び画素Ｐsdに対応する動き補償誤差ＳＡＤsb，ＳＡＤsdより小さくなっているため（式（２）参照）、上記画素Ｐscの上下に位置する画素Ｐse及びＰsfに対する探索が行われる。
【００４７】
第５のステップでは、上記画素Ｐseに対応する動き補償誤差ＳＡＤseが、画素Ｐsc及び画素Ｐsfに対応する動き補償誤差ＳＡＤsc，ＳＡＤsfより小さくなっているため（式（３）参照）、上記画素Ｐseの左右に位置する画素Ｐsg及びＰshに対する探索が行われる。
【００４８】
第６のステップでは、上記画素Ｐseに対応する動き補償誤差ＳＡＤseが、画素Ｐsg及び画素Ｐshに対応する動き補償誤差ＳＡＤsg，ＳＡＤshより小さくなっているため（式（３）参照）、上記画素Ｐseの上下に位置する画素Ｐsi及びＰscに対する探索が行われる。そして、この場合、上記画素Ｐseに対応する動き補償誤差ＳＡＤseが、画素Ｐsi及び画素Ｐscに対応する動き補償誤差ＳＡＤsi，ＳＡＤscより小さくなっているため（式（３）参照）、上記画素Ｐseの位置を示す動きベクトルが、被処理ブロックに対する動きベクトルとして決定される。
なお、図１６中の画素を示す○印内の番号は、上記第１〜第６の各ステップで新たに探索対象に加えられる画素を示している。例えば、画素Ｐscを示す○印内の番号は２であり、この番号２は、この画素Ｐscが第２のステップで新たに探索対象に加えられるものであることを示している。
【００４９】
【発明が解決しようとする課題】
以上説明したように、従来の動きベクトル検出処理では、階層的な動きベクトルの探索あるいはOne at atime探索等の効率的な動きベクトル検索によって、画像誤差データの計算回数が大幅に削減されているが、近年、機器の小型化や省エネルギー化等の要求がますます厳しくなるに従い、動きベクトル検出処理を、誤差データの計算回数が更に少ないものとする必要性が出てきた。
【００５０】
上記のような省エネルギータイプの小型の画像表示用機器といった用途では、画像信号の符号化効率（一定ビットレートでの画質向上）が重要であることは言うまでもないが、それ以上に動きベクトル検出といった演算量の多い処理における計算回数の削減が要求されるといった課題がある。
【００５１】
本発明は、上記のような課題に鑑みてなされたものであり、画像信号の符号化効率を殆ど劣化させずに、演算量の多い動きベクトル検出処理における計算回数を削減することができ、これにより消費電力を低く抑えることができる動きベクトル検出方法及び動きベクトル検出装置，並びに該動きベクトル検出方法により動きベクトルを検出する処理をコンピュータにより行わせるためのプログラムを格納したデータ記憶媒体を得ることを目的とする。
【００５２】
【課題を解決するための手段】
この発明（請求項１）に係る動きベクトル検出方法は、被処理画面に対応する画像データを処理する単位である、所定数の画素からなるブロック毎に、処理対象となる被処理ブロックに対応する予測ブロックの、参照画面における位置を一定条件下で探索して、上記予測ブロックの位置を示す情報を、被処理ブロックに対応する動きベクトルとして検出する動きベクトル検出処理を含む動きベクトル検出方法であって、上記予測ブロックの位置の探索を開始する位置である動きベクトル探索中心に対応するブロックと、上記処理対象となる被処理ブロックとの間での画像データの誤差を、上記動きベクトル探索中心に対応する動き補償誤差として算出する算出処理と、上記被処理ブロックの近傍に位置する近傍ブロックと、これに対応する予測ブロックとの間での画像データの誤差である、近傍ブロックに対応する動き補償誤差を、上記動きベクトル探索中心に対応する動き補償誤差と比較する比較処理とを含み、上記両動き補償誤差の比較結果に応じて、上記動きベクトル探索中心を示す位置情報を上記被処理ブロックに対応する動きベクトルとして出力するか、あるいは上記動きベクトル検出処理を上記動きベクトル探索中心を探索開始位置として行って得られる動きベクトルを被処理ブロックに対応する動きベクトルとして出力するかを切り替えるものである。
【００５３】
この発明（請求項２）は、請求項１記載の動きベクトル検出方法において、上記動きベクトル探索中心に対応する動き補償誤差が上記近傍ブロックに対応する動き補償誤差より小さいとき、上記動きベクトル探索中心を示す位置情報をそのまま被処理ブロックに対応する動きベクトルとして出力するものである。
【００５４】
この発明（請求項３）は、請求項1記載の動きベクトル検出方法において、上記動きベクトル探索中心に対応する動き補償誤差が上記近傍ブロックに対応する動き補償誤差より小さく、かつ該動きベクトル探索中心に対応する動き補償誤差が所定値未満であるとき、上記動きベクトル探索中心を示す位置情報をそのまま被処理ブロックに対応する動きベクトルとして出力するものである。
【００５５】
この発明（請求項４）は、請求項３記載の動きベクトル検出方法において、外部から動き検出指令信号が入力されたとき、上記近傍ブロックに対応する動き補償誤差及び上記動きベクトル探索中心に対応する動き補償誤差の大小関係に拘わらず、上記動きベクトル検出処理を上記動きベクトル探索中心を探索開始位置として行って得られる動きベクトルを、被処理ブロックに対応する動きベクトルとして出力するものである。
【００５６】
この発明（請求項５）は、請求項１記載の動きベクトル検出方法において、上記近傍ブロックに対応する動き補償誤差と、上記動きベクトル探索中心に対応する動き補償誤差との差分の大きさが所定値未満であるとき、上記動きベクトル探索中心を示す位置情報をそのまま被処理ブロックに対応する動きベクトルとして出力するものである。
【００５７】
この発明（請求項６）に係る動きベクトル検出方法であって、被処理画面に対応する画像データを処理する単位である、所定数の画素からなるブロック毎に、処理対象となる被処理ブロックに対応する予測ブロックの、参照画面における位置を一定条件下で探索して、上記予測ブロックの位置を示す情報を、被処理ブロックに対応する動きベクトルとして検出する動きベクトル検出方法であって、上記参照画面上に設定された第１の探索範囲にて上記予測ブロックの位置を探索して、被処理ブロックに対応する第１の候補動きベクトルにより特定される参照画面上のブロックと、被処理画面上の被処理ブロックとの間での画像データの誤差である第１の動き補償誤差を算出する処理と、上記第１の候補動きベクトルが示す画素位置の近傍に位置する上記参照画面上の第２の探索範囲にて、上記予測ブロックの位置を探索して、被処理ブロックに対応する第２の候補動きベクトルにより特定される参照画面上のブロックと、被処理画面上の被処理ブロックとの間での画像データの誤差である第２の動き補償誤差を算出する処理と、上記第１の候補動きベクトルと第２の候補動きベクトルに基づいて設定された上記参照画面上の第３の探索範囲にて、上記予測ブロックの位置を探索して、被処理ブロックに対応する第３の候補動きベクトルにより特定される上記参照画面上のブロックと、被処理画面上の被処理ブロックとの間での画像データの誤差である第３の動き補償誤差を算出する処理と、上記第１，第２，第３の動き補償誤差を比較して、その比較結果に応じて、上記第１，第２，第３の候補動きベクトルのうちの１つを、被処理ブロックに対応する動きベクトルとして選択する処理とを含むものである。
【００５８】
この発明（請求項７）は、請求項６記載の動きベクトル検出方法において、上記第３の探索範囲を、上記参照画面上にて第１および第２の探索範囲以外の領域に設定し、上記第３の探索範囲における上記予測ブロックの位置の探索を、上記第１および第２の動き補償誤差を参照せずに行うものである。
【００５９】
この発明（請求項８）は、請求項６記載の動きベクトル検出方法において、上記第１の探索範囲では、上記予測ブロックの位置を探索する処理として、画素単位の探索処理を行い、上記第３の探索範囲では、上記予測ブロックの位置を探索する処理を、上記参照画面における画素間の仮想画素に対応する画素値を補間して、半画素以上の精度で行うものである。
【００６０】
この発明（請求項９）は、請求項６記載の動きベクトル検出方法において、上記第２の探索範囲では、上記予測ブロックの位置を、上記参照画面における垂直もしくは水平方向のみに沿って探索し、上記第３の探索範囲では、上記予測ブロックの位置を、該第２の探索範囲における探索方向以外の方向に沿って探索するものである。
【００６１】
この発明（請求項１０）に動きベクトル検出装置は、被処理画面に対応する画像データを処理する単位である、所定数の画素からなるブロック毎に、処理対象となる被処理ブロックに対応する予測ブロックの、参照画面における位置を一定条件下で探索して、上記予測ブロックの位置を示す情報を、被処理ブロックに対応する動きベクトルとして検出する動きベクトル検出処理を行う動きベクトル検出装置であって、上記予測ブロックの位置の探索を開始する位置である動きベクトル探索中心に対応するブロックと、上記処理対象となる被処理ブロックとの間での画像データの誤差を、上記動きベクトル探索中心に対応する動き補償誤差として算出する誤差計算手段と、上記被処理ブロックの近傍に位置する近傍ブロックと、これに対応する予測ブロックとの間での画像データの誤差である近傍ブロックに対応する動き補償誤差を、上記動きベクトル探索中心に対応する動き補償誤差と比較する比較手段と、上記両動き補償誤差の比較結果に応じて、上記被処理ブロックに対する動きベクトル検出処理を行うべきか否かを判別する判別手段と、上記判別手段により動きベクトル検出処理を行うべきと判別されたときのみ、上記動きベクトル探索中心を探索開始位置として上記動きベクトル検出処理を行って動きベクトルを検出する動き検出手段と、上記判別手段にて動きベクトル検出処理を行うべきと判別されたとき、上記動き検出手段により検出された動きベクトルを被処理ブロックに対応する動きベクトルとして出力し、上記判別手段にて動きベクトル検出処理を行うべきではないと判別されたとき、上記動きベクトル探索中心を示す位置情報をそのまま被処理ブロックに対応する動きベクトルとして出力する選択手段と、上記選択手段から出力される動きベクトルに対応する動き補償誤差を、他のブロックに対する動きベクトル検出処理を行うか否かを判定するためのデータとして一時的に格納するメモリとを備えたものである。
【００６２】
この発明（請求項１１）に係る動きベクトル検出装置は、被処理画面に対応する画像データを処理する単位である、所定数の画素からなるブロック毎に、処理対象となる被処理ブロックに対応する予測ブロックの、参照画面における位置を一定条件下で探索して、上記予測ブロックの位置を示す情報を、被処理ブロックに対応する動きベクトルとして検出する動きベクトル検出装置であって、上記参照画面上に設定された第１の探索範囲にて上記予測ブロックの位置を探索して、被処理ブロックに対応する第１の候補動きベクトルにより特定される参照画面上のブロックと、被処理画面上の被処理ブロックとの間での画像データの誤差である第１の動き補償誤差を算出する第１の動き検出手段と、上記第１の候補動きベクトルが示す画素位置の近傍に位置する上記参照画面上の第２の探索範囲にて、上記予測ブロックの位置を探索して、被処理ブロックに対応する第２の候補動きベクトルにより特定される参照画面上のブロックと、被処理ブロックとの間での画像データの誤差である第２の動き補償誤差を算出する第２の動き検出手段と、上記第１の候補動きベクトルと第２の候補動きベクトルに基づいて設定された上記参照画面上の第３の探索範囲にて上記予測ブロックの位置を探索して、被処理ブロックに対応する第３の候補動きベクトルにより特定される上記参照画面上のブロックと、被処理ブロックとの間での画像データの誤差である第３の動き補償誤差を算出する第３の動き検出手段と、上記第１，第２，第３の動き補償誤差を比較して、その比較結果に応じて、上記第1，第２，第３の候補動きベクトルのうちの１つを、被処理ブロックに対応する動きベクトルとして選択する選択手段とを備えたものである。
【００６３】
この発明（請求項１２）に係るデータ記憶媒体は、プログラムとして、コンピュータに、請求項１記載の動きベクトル検出方法により被処理ブロックに対応する動きベクトルを検出する処理を行わせるためのプログラムを格納したものである。
【００６４】
この発明（請求項１３）に係るデータ記憶媒体は、プログラムとして、コンピュータに、請求項６記載の動きベクトル検出方法により被処理ブロックに対応する動きベクトルを検出する処理を行わせるためのプログラムを格納したものである。
【００６５】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。
（実施の形態１）
最初に本発明の実施の形態1の基本的な考え方を説明する。
画像信号は一般に局所的な画素値の相関が強いため、被処理画面における対象ブロックとこれに隣接して位置する近傍ブロックの間では、動きベクトルや動き補償誤差はほぼ等しいものとなっている。
その結果、画素値相関が強い場合には、近傍ブロックの動きベクトルから、対象ブロックに対する動きベクトルを求めるための動きベクトル探索中心情報を予測生成し、その予測生成した動きベクトル探索中心情報を対象ブロックに対応する動きベクトルとしても、対象ブロックの動きベクトルの検出精度は殆ど劣化しない。
【００６６】
しかしながら、対象ブロックと近傍ブロックとがそれぞれ、異なる動きをする物体の画素を含む場合は、対象ブロックと近傍ブロックとの間での画素値の相関が失われ、動きベクトルや動き補償誤差も、対象ブロックと近傍ブロックとの間では大きく異なるものとなる。
【００６７】
そこで、近傍ブロックの動きベクトルから対象ブロックの動きベクトル探索中心情報を予測生成し、該動きベクトル探索中心に対応する動き補償誤差を、近傍ブロックに対応する動き補償誤差と比較し、その比較結果に応じて、動きベクトル検出処理を切り替えることにより、対象ブロックの動きベクトルの検出精度をあまり損なうことなく、対象ブロックに対する動き検出処理における演算量を削減することができる。
具体的には、上記動きベクトル探索中心に対する動き補償誤差と近傍ブロックに対する動き補償誤差の比較結果に応じて、該両動き補償誤差の差分が小さい場合は、対象ブロックに対応する動きベクトル探索中心情報を対象ブロックに対する動きベクトルとして用いる。一方、上記両動き補償誤差の差分が大きい場合は、対象ブロックの動きベクトル探索中心を探索開始位置として動きベクトル検出処理を行って得られる動きベクトルを、対象ブロックに対する動きベクトルとして用いる。
【００６８】
また、対象ブロックの動きベクトル探索中心に対する動き補償誤差が、近傍ブロックの動き補償誤差より小さい場合には、近傍ブロックと対象ブロックの間での画素値相関が低く、このため近傍ブロックから予測した動きベクトル探索中心は対象ブロックの最適な動きベクトルとは異なる可能性があるが、その反面、動きベクトル探索中心を示す位置情報を対象ブロックの動きベクトルとして選出しても対象ブロックの動き補償誤差が小さいことから実用上問題無いとみなすことができる。
【００６９】
そこで、両者の動き補償誤差の差分の大きさが所定値未満の場合に動きベクトル探索中心を示す位置情報を対象ブロックの動きベクトルとする判定結果（動き検出の打ち切り判定）を出力する代わりに、対象ブロックの検索中心に対する動き補償誤差が近傍ブロックの動き補償誤差より小さい場合に動きベクトル探索中心を示す位置情報を対象ブロックの動きベクトルとすること（動き検出の打ち切り判定）を示す判定信号を出力するようにしてもよい。
【００７０】
図１は本発明の実施の形態１による動きベクトル検出装置を説明するためのブロック図である。
この実施の形態１の動きベクトル検出装置１０１は、対象ブロックに対応する動きベクトルの検出を２階層の探索処理により行うものであるが、この装置では、第１階層の探索処理は外部から入力される動きベクトル探索中心情報Ｓｃに対する動き補償誤差を計算するものである。このため、この動き検出装置１０１は、図１５に示す従来の階層動きベクトル検出装置２０１における動きベクトル生成器ｕ１ａ及び最小誤差選択器ｕ４ａは有していない。
【００７１】
この実施の形態１の動きベクトル検出装置１０１は、参照画面の画像データが格納されるフレームメモリｕ２と、外部から動きベクトル探索中心を示す情報Ｓｃにより示される参照画面上の特定ブロックの画像データと、対象ブロックの画像データとの誤差を算出する誤差計算器ｕ３ａとを有している。この動きベクトル検出装置１０１では、上記フレームメモリｕ２と誤差計算器ｕ３ａにより第１階層動き検出部が構成されている。
【００７２】
また、この動きベクトル検出装置１０１は、上記外部からの動きベクトル探索中心情報Ｓｃが示す画素位置を探索中心として候補動きベクトルＭＶｃを複数生成するＭＶ生成器ｕ１と、上記候補動きベクトルＭＶｃに基づいて上記フレームメモリｕ２から読みだされた動き補償データ（第２の動き補償データ）Ｃ２ｔと、入力された対象ブロックの画像データＳｔとの誤差データＤ２ｐを算出する誤差計算器ｕ３ｂと、該誤差データＤ２ｐに基づいて、複数の候補動きベクトルＭＶｃのなかから、最小誤差に対応する候補動きベクトルを第２階層動きベクトルＭＶｓとして選択する最小誤差選択器ｕ４とを有している。この動きベクトル検出装置１０１では、上記フレームメモリｕ２，ＭＶ生成器ｕ１，誤差計算器ｕ３ｂ，最小誤差選択器ｕ４により第２階層動き検出部が構成されている。
【００７３】
さらに、上記動きベクトル検出装置１０１は、制御信号Ｄｃに基づいて、上記誤差計算器ｕ３ａから出力される誤差データＤ１ｐと、上記最小誤差選択器ｕ４から出力される最小誤差データＤｍｐの一方を選択し、選択したデータを選択誤差データＤｓｐとして出力する第１の選択器ｕ６と、上記制御信号Ｄｃに基づいて、外部から入力された動きベクトル探索中心情報Ｓｃと、上記最小誤差選択器ｕ４から出力される第２階層動きベクトルＭＶｓとの一方を選択し、選択した動きベクトルを対象ブロックの動きベクトルＭＶとして出力する第２の選択器ｕ７とを有している。
【００７４】
ここで、上記選択器ｕ６は、その第１の入力ノード６ａには上記最小誤差選択器ｕ４からの最小誤差データＤｍｐが入力され、その第２の入力ノード６ｂには誤差計算器ｕ３ａから出力される誤差データＤ１ｐが入力され、これらの一方のデータが選択誤差データＤｓｐとしてその出力ノード６ｃから出力されるようになっている。また、上記選択器ｕ７は、その第１の入力ノード７ａには上記最小誤差選択器ｕ４からの第２階層動きベクトルＭＶｓが入力され、その第２の入力ノード７ｂには外部からの動きベクトル探索中心情報Ｓｃが入力され、これらの一方のデータが対象ブロックの動きベクトルＭＶとしてその出力ノード７ｃから出力されるようになっている。
【００７５】
また、上記動きベクトル検出装置１０１は、上記選択誤差データＤｓｐを一時的に格納する一時格納メモリｕ８と、一時メモリｕ８から読み出された近傍ブロックの動き補償誤差Ｄｒｐと、誤差計算器ｕ３ａで計算した動きベクトル探索中心に対応する動き補償誤差Ｄ１ｐとを比較し、上記第２階層動き検出部による動きベクトルの探索処理を打切るかどうかを示す打ち切り判定結果を上記制御信号Ｄｃとして出力する打切判定器ｕ５ａとを有している。
その他の構成は従来の動きベクトル検出装置２０１と同様である。
【００７６】
図２(a)は、図１に示す動きベクトル検出装置１０１を構成する打ち切り判定器ｕ５ａの具体的な構成を示す図である。
この打ち切り判定器ｕ５ａは、近傍ブロックの動き補償誤差Ｄｒｐと、対象ブロックの動きベクトル探索中心Ｓｃに対応する動き補償誤差（図１では誤差計算器ｕ３ａの出力に相当）Ｄ１ｐとを比較する比較器ｃ１ａからなり、該両動き補償誤差の大小関係に応じて打ち切り判定結果を示す判定信号Ｄｃを出力する構成となっている。なお、図２(a)中、ｉ１０，ｉ１１はそれぞれ上記判定器ｕ５ａの入力端子で、入力端子ｉ１０には近傍ブロックの動き補償誤差Ｄｒｐが、入力端子ｉ１１には動きベクトル探索中心Ｓｃに対応する動き補償誤差Ｄ１ｐが入力される。また、ｏ１０は上記判定器ｕ５ａの出力端子であり、この出力端子ｏ１０からは上記判定信号Ｄｃが出力される。
【００７７】
つまり、この打ち切り判定器ｕ５ａは、動きベクトル探索中心に対する動き補償誤差Ｄ１ｐが近傍ブロックに対する動き補償誤差Ｄｒｐにより小さいときには、第２階層目の探索処理を打ち切ることを示す判定信号Ｄｃを出力し、動きベクトル探索中心に対する動き補償誤差Ｄ１ｐが近傍ブロックに対する動き補償誤差Ｄｒｐ以上であるときには、第２階層目の探索処理を行うことを示す判定信号Ｄｃを出力する構成となっている。
【００７８】
そして、本実施の形態１の動きベクトル検出装置１０１では、この第２階層目の探索処理を打ち切ることを示す判定信号Ｄｃが上記打ち切り判定器ｕ５ａから出力されたときには、上記誤差計算器ｕ３ｂ，最小誤差選択器ｕ４，及びＭＶ生成器ｕ１での演算処理が停止され、上記選択器ｕ６では、誤差計算器ｕ３ａからの誤差データＤ１ｐが選択され、上記選択器ｕ７では、外部から入力された動きベクトル探索中心情報Ｓｃが選択されるようになっている。一方、上記第２階層目の探索処理を行うことを示す判定信号Ｄｃが上記打ち切り判定器ｕ５ａから出力されたときには、誤差計算器ｕ３ｂ，最小誤差選択器ｕ４，及びＭＶ生成器ｕ１での演算処理が行われ、上記選択器ｕ６では、最小誤差計算器ｕ４からの最小誤差データＤｍｐが選択され、上記選択器ｕ７では、最小誤差計算器ｕ４からの第２階層動きベクトルＭＶｓが選択されるようになっている。
【００７９】
次に作用効果について説明する。
以下、図1の動きベクトル検出装置１０１の動作について説明する。
一時メモリｕ８には、処理対象となる対象ブロックの１つ前に処理された近傍ブロックに対応する動き補償誤差（誤差データ）Ｄｒｐが格納されており、打切り判定器ｕ５ａでは、一時メモリｕ８から読み出した近傍ブロックの動き補償誤差Ｄｒｐと、誤差計算器ｕ３ａにて計算された、対象ブロックの動きベクトル探索中心情報Ｓｃに対応する動き補償誤差Ｄ１ｐとの比較が行われ、第２階層の動きベクトル探索処理を打切るかどうかを示す打ち切り判定結果が判定信号Ｄｃとして出力される。
【００８０】
具体的には、この打ち切り判定器ｕ５ａでは、動きベクトル探索中心に対する動き補償誤差Ｄ１ｐが近傍ブロックに対する動き補償誤差Ｄｒｐより小さいときには、第２階層目の探索処理を打ち切ることを示す判定信号Ｄｃが出力される。一方、動きベクトル探索中心に対する動き補償誤差Ｄ１ｐが近傍ブロックに対する動き補償誤差Ｄｒｐ以上であるときには、第２階層目の探索処理を打ち切らないことを示す判定信号Ｄｃが出力される。
【００８１】
上記打ち切り判定器ｕ５ａにて第２階層目の探索処理を打切ると判断された場合は、動きベクトル生成器ｕ１、誤差計算器ｕ３ｂおよび最小誤差選択器ｕ４には上記判定信号Ｄｃにより演算処理が不要であることが通知され、上記誤差計算器ｕ３ｂ，最小誤差選択器ｕ４，及びＭＶ生成器ｕ１では、第２階層目の探索処理に対する演算処理が行われない。一方、上記打ち切り判定器ｕ５ａにて第２階層目の探索処理を打切らないと判断された場合は、動きベクトル生成器ｕ１、誤差計算器ｕ３ｂおよび最小誤差選択器ｕ４には上記判定信号Ｄｃにより演算処理が必要であることが通知され、上記誤差計算器ｕ３ｂ，最小誤差選択器ｕ４，及びＭＶ生成器ｕ１では、第２階層目の探索処理に対する演算処理が行われることとなる。
【００８２】
また、このとき選択器ｕ７では、判定信号Ｄｃが第２階層目の探索処理の打切りを示す場合は、動きベクトル探索中心情報Ｓｃが選択されて対象ブロックの動きベクトルＭＶとして出力される。一方、上記判定信号Ｄｃが第２階層目の探索処理を打切らないことを示す場合は、最小誤差選択器ｕ４にて選択された動きベクトルＭＶｓが対象ブロックの動きベクトルＭＶとして出力される。
【００８３】
同様に、選択器ｕ６では、上記判定信号Ｄｃが第２階層目の探索処理の打切りを示す場合は、動きベクトル探索中心情報Ｓｃに対応する動き補償誤差Ｄ１ｐが選択されて一時メモリｕ８に出力される。一方、上記判定信号Ｄｃが第２階層目の探索処理を打切らないことを示す場合は、最小誤差選択器ｕ４にて選択された動きベクトルＭＶｓに対応する動き補償誤差Ｄｍｐが一時メモリｕ８に出力される。
【００８４】
このような構成の実施の形態１では、打ち切り判定器ｕ５ａにて、近傍ブロックの検出済み動きベクトルに対応する動き補償誤差Ｄｒｐを参照して、第２階層の動き探索を行っても符号化効率が向上しない場合を判定するので、不要な２階層目の動き探索処理を中止することができ、これにより動きベクトル検出処理における誤差計算回数を削減することができる。
【００８５】
また、上記打ち切り判定器ｕ５ａでは、対象ブロックの動きベクトル探索中心に対する動き補償誤差Ｄ１ｐが、近傍ブロックの動き補償誤差Ｄｒｐより小さい場合に、動きベクトル探索中心情報Ｓｃを対象ブロックの動きベクトルとして選出するようにしており、この場合、近傍ブロックと対象ブロックの画素値相関が低く、近傍ブロックから予測した動きベクトル探索中心は対象ブロックの最適な動きベクトルとは異なる可能性があるが、動きベクトル探索中心に対する動き補償誤差Ｄ１ｐが小さいことから実用上問題無いとみなすことができる。
【００８６】
なお、上記実施の形態１では、第２階層目の探索処理を打ち切るか否かの判定を、対象ブロックの動きベクトル探索中心に対する動き補償誤差Ｄ１ｐと、近傍ブロックに対する動き補償誤差Ｄｒｐとの大小関係に応じて行っているが、動き補償誤差Ｄ１ｐと動き補償誤差Ｄｒｐの差分の大きさが、所定値未満の場合に第２階層目の検索処理を打ち切り、該差分が所定値以上である場合には、第２階層目の検索処理を打ち切らないようにしてもよい。
【００８７】
図２(b)は、このような構成の打ち切り判定器ｕ５１ａの構成を示している。
この打ち切り判定器ｕ５１ａは、上記所定の基準値Ｄｃｐを発生する基準値発生器ｃ１ｂと、動き補償誤差Ｄ１ｐと動き補償誤差Ｄｒｐの差分の大きさと、該所定の基準値Ｄｃｐとを比較して判定信号Ｄｃを出力する比較判定器ｃ５１ａとを有している。そして、この比較判定器ｃ５１ａは、上記差分の大きさが、所定値未満の場合に第２階層目の探索処理を打ち切ることを示す判定信号Ｄｃを出力し、該差分が所定値以上である場合には、第２階層目の探索処理を打ち切らないことを示す判定信号Ｄｃを出力するよう構成されている。
【００８８】
（実施の形態２）
図３は本発明の実施の形態２による動きベクトル検出装置を説明するためのブロック図である。
この実施の形態２の動きベクトル検出装置１０２は、上記実施の形態１の動きベクトル検出装置における打ち切り判定器ｕ５ａに代えて、近傍ブロックの検出済動きベクトルに対応する動き補償誤差Ｄｒｐと対象ブロックの動きベクトル探索中心に対応する動き補償誤差Ｄ１ｐとの大小関係、及び外部から入力される閾値Ｔｈに基づいて、第２階層目の動き探索を打ち切るか否かを示す判定信号Ｄｃｂを出力する打ち切り判定器ｕ５ｂを備えたものである。そしてこの動きベクトル検出装置１０２のその他の構成は、実施の形態１の動きベクトル検出装置１０１と同一である。なお、図３中、ｉ３は、上記閾値Ｔｈが入力される動きベクトル検出装置１０２の第３の入力端子である。
【００８９】
図４は、図３に示す動きベクトル検出装置１０２を構成する打ち切り判定器ｕ５ｂの具体的な構成を示す図である。
上記打ち切り判定器ｕ５ｂは、一時メモリｕ８から読み出した近傍ブロックに対応する動き補償誤差Ｄｒｐと、誤差計算器ｕ３ａで計算した動きベクトル探索中心情報Ｓｃに対応する動き補償誤差Ｄ１ｐとの比較を行う第１の比較器ｃ２ａと、外部から入力された閾値Ｔｈと動きベクトル探索中心情報Ｓｃに対応する動き補償誤差Ｄ１ｐとの比較を行う第２の比較器ｃ２ｂとから構成されている。
【００９０】
ここで、上記閾値Ｔｈは、画面間動き補償符号化装置から出力される符号化データのビットレートと上記動きベクトル検出装置での動き補償誤差の演算回数とによって決まる、対象ブロックに対応する動き補償誤差の許容値である。また、上記第１の比較器ｃ２ａは、動きベクトル探索中心に対する動き補償誤差Ｄ１ｐが近傍ブロックに対する動き補償誤差Ｄｒｐより小さいときには、第２階層目の探索処理を打ち切ることを示す判定信号Ｄｃａを出力し、動きベクトル探索中心に対する動き補償誤差Ｄ１ｐが近傍ブロックに対する動き補償誤差Ｄｒｐ以上であるときには、第２階層目の探索処理を行うことを示す判定信号Ｄｃａを出力する構成となっている。また、上記第２の比較器ｃ２ｂは、動きベクトル探索中心に対する動き補償誤差Ｄ１ｐが上記閾値Ｔｈ未満であれば、上記第１の比較器ｃ２ａから出力される判定信号Ｄｃａをそのまま判定信号Ｄｃｂとして出力し、動きベクトル探索中心に対する動き補償誤差Ｄ１ｐが上記閾値Ｔｈ以上であれば、上記第１の比較器ｃ２ａからの判定信号Ｄｃａに拘わらず、第２階層目の探索処理を打ち切らないこと（つまり第２階層目の探索処理を行うこと）を示す判定信号Ｄｃｂを出力する構成となっている。
なお、図４中、ｉ１２は、上記動きベクトル検出装置１０２の外部からの閾値Ｔｈが入力される打切判定器ｕ５ｂの第３の入力端子である。
【００９１】
次に作用効果について説明する。
まず、簡単に実施の形態２の基本原理について説明する。
上記実施の形態1では、単純に、近傍ブロックの検出済み動きベクトルに対応する動き補償誤差Ｄｒｐと、対象ブロックの動きベクトル探索中心に対応する動き補償誤差Ｄ１ｐを比較して、打ち切り判定結果を示す判定信号Ｄｃを生成するようにしているが、近傍のブロックに対する動き検出の精度が悪く、近傍ブロックに対応する動き補償誤差が大きなものとなった場合は、対象ブロックに対する動き補償を動きベクトル探索中心情報Ｓｃに基づいて行って得られる動き補償誤差が大きくても、第２回層目の動き検出処理が打ち切られることとなり、精度の悪い動きベクトル探索中心情報Ｓｃが対象ブロックの動きベクトルＭＶとして出力されてしまう。
【００９２】
そこで、例えば、画面間動き補償符号化装置から出力される符号化データのビットレートと上記動きベクトル検出装置での動き補償誤差の演算回数とによって決まる動き補償誤差の許容値を、閾値Ｔｈとして上記打ち切り判定器ｕ５ｂに与えることにより、対象ブロックに対する動き補償を動きベクトル探索中心情報Ｓｃに基づいて行って得られる動き補償誤差が上記閾値Ｔｈより大きい場合には、第２回層目の動き検出処理の打ち切りを中止するようにすることができる。
【００９３】
次に動作について説明する。
本実施の形態２の動きベクトル検出装置１０２では、打ち切り判定器ｕ５ｂ以外の動作は、上記実施の形態１の動きベクトル検出装置１０１の動作と同一であるため、以下は打ち切り判定器ｕ５ｂの動作についてのみ説明する。
【００９４】
打ち切り判定器ｕ５ｂでは、一時メモリｕ８から読み出された近傍ブロックに対応する動き補償誤差Ｄｒｐと、誤差計算器ｕ３ａにて計算された動きベクトル探索中心に対応する動き補償誤差Ｄ１ｐとの比較が行われ、さらに外部から入力された閾値Ｔｈと動きベクトル探索中心情報Ｓｃに対応する動き補償誤差Ｄ１ｐとの比較が行われる。
【００９５】
そして、打ち切り判定器ｕ５ｂでは、上記各比較器ｃ２ａ，ｃ２ｂでの比較結果に基づいて、第２階層目の動き検出を打ち切るか否かを示す打ち切り判定信号Ｄｃｂが出力される。
打切りと判断された場合は、上記判定信号Ｄｃｂにより、動きベクトル生成器ｕ１、誤差計算器ｕ３ｂおよび最小誤差選択器ｕ４に処理が不要であることが通知される。
【００９６】
以下、上記打ち切り判定器ｕ５ｂの具体的な動作について説明する。
まず、上記打ち切り判定器ｕ５ｂでは、上記実施の形態１の打ち切り判定器ｕ５ａと同様に、近傍ブロックに対応する動き補償誤差Ｄｒｐと対象ブロックの動きベクトル探索中心に対応する動き補償誤差Ｄ１ｐとが比較器ｃ２ａにて比較される。そして、動きベクトル探索中心に対する動き補償誤差Ｄ１ｐが近傍ブロックに対する動き補償誤差Ｄｒｐより小さいときには、第２階層目の探索処理を打ち切ることを示す判定信号Ｄｃａが上記比較器ｃ２ａから出力される。一方、動きベクトル探索中心に対する動き補償誤差Ｄ１ｐが近傍ブロックに対する動き補償誤差Ｄｒｐ以上であるときには、第２階層目の探索処理を打ち切らないことを示す判定信号Ｄｃａが上記比較器ｃ２ａから出力される。
【００９７】
また、このとき比較器ｃ２ｂでは、対象ブロックの動きベクトル探索中心に対応する動き補償誤差Ｄ１ｐが上記閾値Ｔｈと比較され、この動き補償誤差Ｄ１ｐが閾値Ｔｈ未満であれば、比較器ｃ２ａの出力Ｄｃａがそのまま打ち切り判定信号Ｄｃｂとして出力され、この動き補償誤差Ｄ１ｐが閾値Ｔｈ以上であれば、上記比較器ｃ２ａの判定出力Ｄｃａに拘わらず、２階層目の動き探索処理を実施する（即ち第２階層目の探索処理を打切りらない）ことを示す判定信号Ｄｃｂが出力される。
【００９８】
このような構成の実施の形態２では、打切り判定器ｕ５ｂにて外部から入力される閾値Ｔｈと動きベクトル探索中心情報Ｓｃに基づく動き補償誤差Ｄ１ｐを比較し、対象ブロックに対する動き補償を動きベクトル探索中心情報Ｓｃに基づいて行って得られる動き補償誤差が上記閾値より大きい場合には、必ず第２階層目の動き探索処理を行うようにしたので、動き検出精度を向上することができる。
【００９９】
なお、実施の形態２では、上記打ち切り判定器ｕ５ｂにおける比較器ｃ２ａを、対象ブロックの動きベクトル探索中心に対する動き補償誤差Ｄ１ｐが近傍ブロックの動き補償誤差Ｄｒｐより小さいとき、第２階層目の検出処理を打ち切ることを示す判定信号Ｄｃａを出力し、対象ブロックの動きベクトル探索中心に対する動き補償誤差Ｄ１ｐが近傍ブロックの動き補償誤差Ｄｒｐ以上であるとき、第２階層目の検出処理を行うことを示す判定信号Ｄｃａを出力する構成としているが、この比較器ｃ２ａは、図２(b)に示す比較器ｃ５１ａと同様、動き補償誤差Ｄ１ｐと動き補償誤差Ｄｒｐの差分の大きさが、所定の基準値Ｄｃｐ未満であるときには、第２階層目の探索処理を打ち切ることを示す判定信号Ｄｃａを出力し、該差分が所定値Ｄｃｐ以上であるときには、第２階層目の探索処理を打ち切らないことを示す判定信号Ｄｃａを出力する構成としてもよい。
【０１００】
（実施の形態３）
図５は本発明の実施の形態３による動きベクトル検出装置を説明するためのブロック図である。
この実施の形態３の動きベクトル検出装置１０３は、上記実施の形態２の動きベクトル検出装置における打ち切り判定器ｕ５ｂに代えて、近傍ブロックの検出済動きベクトルに対応する動き補償誤差Ｄｒｐと対象ブロックの動きベクトル探索中心に対応する動き補償誤差Ｄ１ｐとの大小関係、外部から入力される閾値Ｔｈ、及び２階層目動き検出指令信号Ｃｍに基づいて、第２階層目の動き探索を打ち切るか否かを示す判定信号Ｄｃｆを出力する打ち切り判定器ｕ５ｃを備えたものであり、その他の構成は、実施の形態２の動きベクトル検出装置１０２と同一である。なお、図５中、ｉ４は、上記２階層目動き検出指令信号Ｃｍが入力される動きベクトル検出装置１０３の第４の入力端子である。
【０１０１】
また、図６は図５に示す動きベクトル検出装置１０３を構成する打ち切り判定器ｕ５ｃの具体的な構成を示す図である。
この打ち切り判定器ｕ５ｃは、実施の形態２の打ち切り判定器ｕ５ｂにおける比較器ｃ２ａ，ｃ２ｂと同一構成の比較器ｃ３ａ，ｃ３ｂに加えて、打ち切り禁止信号Ｆｃを発生する信号発生器ｃ３ｃと、外部から入力される２階層目動き検出指令信号Ｃｍに基づいて、上記第２の比較器ｃ３ｂの出力Ｄｃｂ及び上記打ち切り禁止信号Ｆｃの一方を選択する選択器ｃ３とを有している。
【０１０２】
ここで、上記選択器ｃ３は、外部から上記２階層目動き検出指令信号Ｃｍが入力されているときには、上記打ち切り禁止信号Ｆｃを選択し、上記２階層目動き検出指令信号Ｃｍが入力されていないときは、上記第２の比較器ｃ３ｂの出力Ｄｃｂを選択する構成となっている。また、上記第２階層目動き検出指令信号Ｃｍを出力する、動きベクトル検出装置１０３外部の機器としては、例えば、対象ブロックや近傍ブロックに対する符号化モードを判定する画面内／画面間符号化モード判定器などが挙げられる。
【０１０３】
次に作用効果について説明する。
まず簡単に実施の形態３の基本原理について説明する。
対象ブロック近傍に位置する近傍ブロックが、動きベクトルを有さないブロック，つまり被処理画面における最初に処理されるブロックや画面端のブロックである場合や、近傍ブロックが画面内符号化処理が施されたイントラブロックである場合では、対象ブロックの近傍に位置するブロックの動きベクトルから予測生成した動きベクトル探索中心情報Ｓｃはその信頼性が低いものであると考えられる。なお、近傍ブロックが画面内符号化処理が施されたイントラブロックである場合は、対象ブロックに対する動き補償誤差が大きく、対象ブロックの動きベクトルは信頼性が無いものであることが多い。
【０１０４】
そこで、このような状況では、動きベクトル検出装置１０３外部の画面内／画面間符号化モード判定器など等の機器からの第２階層目動き検出指令信号Ｃｍにより動きベクトル探索中心Ｓｃの信頼性が低いことを打ち切り判定器ｕ５ｃに指令し、第２階層目動き検出を実施することを示す判定信号Ｄｃｆを打切り判定器ｕ５ｃが出力するようにすることにより、動き検出の精度をさらに向上することができる。
【０１０５】
次に動作について説明する。
本実施の形態３の動きベクトル検出装置１０３では、上記打ち切り判定器ｕ５ｃ以外の動作は、全て図３に示す実施の形態２の動きベクトル検出装置１０２と同一であるので、以下は打ち切り判定器ｕ５ｃの動作についてのみ説明する。
この図６に示す打ち切り判定器ｕ５ｃでは、まず、図４に示す打ち切り判定器ｕ５ｂと同様に、近傍ブロックに対応する動き補償誤差Ｄｒｐと対象ブロックの動きベクトル探索中心に対応する動き補償誤差Ｄ１ｐとの比較が比較器ｃ３ａにて行われ、さらに外部から入力された閾値Ｔｈと、動きベクトル探索中心に対応する動き補償誤差Ｄ１ｐとの比較が比較器ｃ３ｂにて行われる。
【０１０６】
そして、打ち切り判定器ｕ５ｃでは、上記各比較器ｃ３ａ，ｃ３ｂでの比較結果、及び２階層目動き検出指令信号Ｃｍが入力されているか否かに基づいて、第２階層目の動きベクトル探索を打ち切るか否かを示す打ち切り判定信号Ｄｃｆが出力される。打切りと判断された場合は、上記判定信号Ｄｃｆにより、動きベクトル生成器ｕ１、誤差計算器ｕ３ｂおよび最小誤差選択器ｕ４に処理が不要であることが通知される。
【０１０７】
以下、上記打ち切り判定器ｕ５ｃの具体的な動作について説明する。
まず、上記打ち切り判定器ｕ５ｃでは、上記実施の形態２の打ち切り判定器ｕ５ａと同様に、近傍ブロックに対応する動き補償誤差Ｄｒｐと対象ブロックの動きベクトル探索中心に対応する動き補償誤差Ｄ１ｐとが比較器ｃ３ａにて比較される。そして、動きベクトル探索中心に対する動き補償誤差Ｄ１ｐが近傍ブロックに対する動き補償誤差Ｄｒｐにより小さいときには、第２階層目の探索処理を打ち切ることを示す判定信号Ｄｃａが上記比較器ｃ３ａから出力される。一方、動きベクトル探索中心に対する動き補償誤差Ｄ１ｐが近傍ブロックに対する動き補償誤差Ｄｒｐ以上であるときには、第２階層目の探索処理を打ち切らないことを示す判定信号Ｄｃａが上記比較器ｃ３ａから出力される。
【０１０８】
また、このとき比較器ｃ３ｂでは、対象ブロックの動きベクトル探索中心に対応する動き補償誤差Ｄ１ｐが閾値Ｔｈと比較される。この比較の結果、該動きベクトル探索中心に対応する動き補償誤差Ｄ１ｐが閾値Ｔｈ未満であれば、比較器ｃ３ａの出力Ｄｃａがそのまま打ち切り判定信号Ｄｃｂとして出力される。一方、上記動きベクトル探索中心に対応する動き補償誤差Ｄ１ｐが閾値Ｔｈ以上であれば、上記比較器ｃ３ａの判定出力Ｄｃａに拘わらず、第２回層目の動きベクトル探索を実施する（即ち第２階層目の探索処理を打切りらない）ことを示す判定信号Ｄｃｂが出力される。
【０１０９】
また、２階層目動き検出指令信号Ｃｍが上記選択器ｃ３に入力されているときには、該選択器ｃ３では、上記打ち切り禁止信号Ｆｃが選択されて最終判定データＤｃｆとして出力される。逆に、２階層目動き検出指令信号Ｃｍが上記選択器ｃ３に入力されていないときには、該選択器ｃ３では、上記比較器ｃ３ｂからの判定信号Ｄｃｂが選択されて最終判定データＤｃｆとして出力される。
【０１１０】
以上のように実施の形態３では、外部からの２階層目動き検出指令信号Ｃｍにより、強制的に第２階層目動きベクトル探索を実施することを示す判定結果を打切り判定器ｕ５ｃから出力するので、図３に示す実施の形態２の動きベクトル検出装置１０２に比べて動きベクトル検出精度を更に向上することができる。
【０１１１】
なお、実施の形態３では、上記打ち切り判定器ｕ５ｃにおける比較器ｃ３ａを、対象ブロックの動きベクトル探索中心に対応する動き補償誤差Ｄ１ｐが近傍ブロックの動き補償誤差Ｄｒｐより小さいとき、第２階層目の動きベクトル探索処理を打ち切ることを示す判定信号Ｄｃａを出力し、対象ブロックの動きベクトル探索中心に対応する動き補償誤差Ｄ１ｐが近傍ブロックの動き補償誤差Ｄｒｐ以上であるとき、第２階層目の動きベクトル探索処理を行うことを示す判定信号Ｄｃａを出力する構成としているが、この比較器ｃ３ａは、図２(b)に示す比較器ｃ５１ａと同様、動き補償誤差Ｄ１ｐと動き補償誤差Ｄｒｐの差分の大きさが、所定の基準値Ｄｃｐ未満であるときには、第２階層目の動きベクトル探索処理を打ち切ることを示す判定信号Ｄｃａを出力し、該差分が所定値Ｄｃｐ以上であるときには、第２階層目の動きベクトル探索処理を打ち切らないことを示す判定信号Ｄｃａを出力する構成としてもよい。
【０１１２】
また、実施の形態１ないし３では、第２階層の動きベクトル探索処理，つまり動きベクトル探索中心を探索開始位置として動きベクトル探索を行って対象ブロックに対する動きベクトルを検出する処理の具体的な内容は示していないが、第２階層の動きベクトル探索処理では、図１３に示す従来の３ステップ法、図１４に示すその他の従来の階層的な動きベクトル検出法、あるいは図１６に示すOne at a time等の動きベクトル検出方法が用いられる。
【０１１３】
（実施の形態４）
次に本発明の実施の形態４による動きベクトル検出装置について説明する。
まず、本実施の形態４の動きベクトル検出装置の基本原理について説明する。
図７は、この実施の形態の動きベクトル検出装置の動作原理を説明するための図であり、動きベクトル検出処理（以下、動き検出処理ともいう。）の際に参照される参照画面上の画素を示している。
【０１１４】
図７において、Ｐ０は第１階層目の探索処理により見つけた動きベクトルにより示される位置の参照画素であり、この参照画素Ｐ０の周囲には、周辺画素Ｐ１〜Ｐ８が位置している。これらの周辺画素Ｐ１〜Ｐ８の位置は、１／２画素精度等の整数画素精度より高い精度を有する動きベクトルにより示される仮想的な画素位置であり、これらの画素の画素値は、実際に存在する画素の画素値を内挿補間することにより生成されている。
【０１１５】
また、図８は、実施の形態４の動きベクトル検出装置の動作を説明するための図であり、画素値の補間生成を行う具体的な方法の一例が示されている。
図８において、Ｑ１、Ｑ２、Ｑ３、Ｑ４は、参照画面を構成する実際の画素であり、該参照画面上で所定の正方形の頂点に対応する位置に位置している。そして、該各画素Ｑ１、Ｑ２、Ｑ３、Ｑ４はそれぞれ、画素値ｑ１、ｑ２、ｑ３、ｑ４を有している。
【０１１６】
また、Ｈ１は画素Ｑ１と画素Ｑ２の中間に位置する仮想画素、Ｈ２は画素Ｑ１と画素Ｑ３の中間に位置する仮想画素、Ｈ３は画素Ｑ１と画素Ｑ４の中間に位置する仮想画素である。これらの仮想画素Ｈ１，Ｈ２，Ｈ３の画素値ｈ１、ｈ２、ｈ３は、それぞれ下記の式（１），（２），（３）により計算されるのが一般的である。
ｈ１  ＝  （ｑ１＋ｑ２）／２        ・・・（１）
ｈ２  ＝  （ｑ１＋ｑ３）／２         ・・・（２）
ｈ３  ＝  （ｑ１＋ｑ２＋ｑ３＋ｑ４）／４        ・・・（３）
【０１１７】
このように、整数画素精度より高い精度の動き検出処理（高画素精度動き検出）では、参照画面上の画素が存在しない位置に仮想的に配置される仮想画素については、その画素値を補間処理により生成しなければならないために、整数画素精度の動き検出処理と比較して演算量が増加する。しかしながら、その反面、高画素精度動き検出処理により得られる動きベクトルは、小さな画像の小さな動きでも精度良く表現できるものであるため、このような動きベクトルを用いた動き補償処理では、動き補償誤差が小さくなる。さらに、上記のような画素値の補間処理は、低域通過フィルタと等価なものであるため、該補間処理は高周波数雑音を抑圧する効果があることも知られている。
【０１１８】
整数画素精度より高い精度の動き検出処理については、この高周波数雑音抑圧効果が無視できないため、例えば、図７における画素Ｐ０を示す動きベクトルによる動き補償誤差が、画素Ｐ２、Ｐ４、Ｐ５、Ｐ７に対応するものより小さいとしても、画素Ｐ１、Ｐ３、Ｐ６、Ｐ８を示す動きベクトルによる動き補償誤差が画素Ｐ０に対応する動き補償誤差よりも小さくなることが多い。
【０１１９】
しかしながら、画素Ｐ１、Ｐ３、Ｐ６、Ｐ８の全てについて動き検出を行えば、誤差計算回数が多くなる。そこで、第２階層目の探索処理では画素Ｐ２、Ｐ４、Ｐ５、Ｐ７の位置を示す参照画素の動きベクトル４通りについて動き補償誤差を計算し、画素Ｐ２、Ｐ４、Ｐ５、Ｐ７の中で動き補償誤差が最小となる画素位置Ｐｉを検出し、第３階層目の探索処理では、画素Ｐ１、Ｐ３、Ｐ６、Ｐ８の中で画素位置Ｐｉに隣接する画素位置を示す動きベクトル２つに限定して探索を行うことにする。
【０１２０】
そして、最後に、１階層目、２階層目、３階層目の探索処理により得られた動きベクトルに対応する動き補償誤差を比較し、動き補償誤差が最小となる動きベクトルを、対象ブロックの動きベクトルとする。
この方法は、従来の階層的３ステップ法と似ているが、従来の３ステップ法は各階層毎に動き補償誤差が最小となる動きベクトル１つを選択するのに対し、本実施の形態４の方法は、各階層の探索処理により得られた動きベクトルから、動き補償誤差が最小となる１つの動きベクトルを選択するものである。
【０１２１】
例えば、従来の３ステップ法では、図７に示す画素Ｐ０の位置に対応する動き補償誤差が、図７に示す画素Ｐ２、Ｐ４、Ｐ５、Ｐ７の位置に対応する動き補償誤差よりも小さければ、画素Ｐ０の位置を示す動きベクトルが、２階層目で選択されることになり、第３階層目の探索処理では画素Ｐ１、Ｐ３、Ｐ６、Ｐ８の４つの候補から探索範囲を絞り込む判断基準が存在しないこととなる。これに対し、本実施の形態では、第２階層目の探索では、第１階層目の探索により得られた動きベクトルの示す画素Ｐ０を考慮しないため、画素Ｐ２、Ｐ４、Ｐ５、Ｐ７のいずれかが、動き補償誤差が最小となる画素位置Ｐｉとして検出されることとなる。従って、第３階層目の探索処理では、上記画素位置Ｐｉを判断基準として、画素Ｐ１、Ｐ３、Ｐ６、Ｐ８の４つの候補から探索範囲を絞り込むことができる。
【０１２２】
図９は本発明の実施の形態４による動きベクトル検出装置を説明するためのブロック図である。
この実施の形態４の動きベクトル検出装置１０４は、従来の動きベクトル検出装置２０１の構成に加えて、最小誤差選択器ｕ４ｂで選択した２階層目の動きベクトルＭＶ２ｓと、最小誤差選択器ｕ４ａで選択した１階層目の動きベクトルＭＶ１ｓとに応じて、複数の候補動きベクトルＭＶ３ｃを生成する動きベクトル生成器ｕ１ｃと、フレームメモリｕ２から読みだされた、上記候補動きベクトルＭＶ３ｃにより指定される参照画面の特定ブロックに対応する画像データＣ３ｔと、入力される対象ブロックの画像データＳｃとの誤差を計算する誤差計算器ｕ３ｃと、１階層目、２階層目、３階層目の探索処理により得られた各階層に対応する３つの動きベクトルのうちから、動き補償誤差が最小となる動きベクトルを選択し、選択された動きベクトルを対象ブロックに対応する動きベクトルＭＶ３ｓとして出力する最小誤差選択器ｕ４ｃとを有している。なお、この動きベクトル検出装置１０４では、ＭＶ生成器ｕ１ｃ，誤差計算器ｕ３ｃ，最小誤差選択器ｕ４ｃ，及びフレームメモリｕ２によって３階層目の動きベクトル検出部が構成されている。
【０１２３】
ここで、上記動きベクトル生成器ｕ１ｃは、１階層目の動きベクトルＭＶ１ｓ及び２階層目の動きベクトルＭＶ２ｓにより限定される、第１階層目の探索範囲及び第２階層目の探索範囲を含まない第３の探索範囲内の画素位置を示す候補動きベクトルＭＶ３ｃを検出する構成となっている。また、上記最小誤差選択器ｕ４ｃには、最小誤差選択器ｕ４ａ，ｕ４ｂからの第１，第２の選択動きベクトルＭＶｓ１，ＭＶｓ２及び第１，第２の動き補償誤差Ｄ１ｐｍ，Ｄ２ｐｍと、動きベクトル生成器ｕ１ｃからの複数の候補動きベクトルＭＶ３ｃと、誤差計算器ｕ３ｃからの動き補償誤差Ｄ３ｐとが入力される。そして、上記最小誤差選択器ｕ４ｃでは、３階層目の探索により動きベクトルを選択する処理と、１階層目、２階層目、３階層目の探索処理により選択された各階層に対応する３つの動きベクトルのうちから、動き補償誤差が最小となる動きベクトルを選択する処理とが一括して行われるようになっている。
【０１２４】
また、この実施の形態４では、ＭＶ生成器ｕ１ｂ，誤差計算器ｕ３ｂ，最小誤差選択器ｕ４ｂ，及びフレームメモリｕ２からなる２階層目の動きベクトル検出部は、第１階層目の探索処理により得られた動きベクトルＭＶ１ｓが示す画素位置の近傍を第２探索範囲として、第２階層目の動きベクトルＭＶ２ｓを検出する構成となっている。つまり、上記最小誤差選択器ｕ４ｂは、第１階層の動きベクトル検出部の最小誤差選択器ｕ４ａから出力される動きベクトルＭＶ１ｓは考慮せずに、ＭＶ生成器ｕ１ｂにて生成された候補動きベクトルＭＶ２ｃのなかから、動き補償誤差が最小となる動きベクトルを、上記第２階層目の動きベクトルＭＶ２ｓとして選択する構成となっている。
ここで、上記動きベクトルＭＶ１ｓが示す画素位置は、図７では画素Ｐ０の位置であり、また、第２探索範囲は、図７では、画素Ｐ２、Ｐ４、Ｐ５、Ｐ７からなる画像空間である。そして、第２階層目の動きベクトルＭＶ２ｓが画素Ｐ７の位置を示すものであれば、第３探索範囲は、図７では、画素Ｐ６及びＰ８からなる画像空間となる。
【０１２５】
次に動作について説明する。
なお、本実施の形態４の動きベクトル検出装置１０４では、第１階層の探索処理については、従来の階層的な動きベクトル検出装置２０１における処理と同一であるが、ここでは、第１階層，第２階層及び第３階層の探索処理について説明する。
【０１２６】
上記動きベクトル検出装置１０４における動きベクトル生成器ｕ１ａでは、該装置の外部から供給されるベクトル探索中心情報Ｓｃに基づいて、探索中心近傍の複数の画素位置を示す動きベクトルが候補動きベクトルＭＶ１ｃとして出力される。すると、上記フレームメモリｕ２では、該候補動きベクトルＭＶ１ｃにより示される参照画面上の特定ブロックに対応する画像信号（動き補償データ）Ｃ１ｔが出力される。上記誤差計算器ｕ３ａでは、該動き補償データＣ１ｔと対象ブロックの画像信号Ｓｔ１との差分信号（画像誤差データ）Ｄ１ｐが算出される。最小誤差選択器ｕ４ａでは、この画像誤差データＤ１ｐがモニターされており、複数の候補動きベクトルＭＶ１ｃから、該誤差データＤ１ｐが最小となる候補動きベクトルＭＶ１ｃが選択されて、選択動きベクトル（第１階層の動きベクトル）ＭＶ１ｓとして出力される。例えば、この選択動きベクトル（第１階層の動きベクトル）ＭＶ１ｓは、図７の画素Ｐ０の位置を示すものである。
【０１２７】
そして、第１階層動きベクトルＭＶ１ｓが動きベクトル検出装置１０４における第２階層動き検出部に入力されると、該第２階層動き検出部のＭＶ生成器ｕ１ｂでは、第１階層動きベクトルＭＶ１ｓが示す参照画面上の画素位置の近傍位置に対応する第２候補動きベクトルＭＶ２ｃが複数生成される。これらの第２候補動きベクトルＭＶ２ｃは、例えば、図７の画素Ｐ２、Ｐ４、Ｐ５、Ｐ７の位置を示すものである。
【０１２８】
このとき、誤差計算器ｕ３ｂでは、フレームメモリｕ２から読みだされた、第２候補動きベクトルＭＶ２ｃで示される参照画面上の特定ブロックに対応する画像データ（動き補償データ）Ｃ２ｔが入力され、該動き補償データＣ２ｔと対象ブロックの画像データＳｔとの誤差データＤ２ｐが算出される。
【０１２９】
また、最小誤差選択器ｕ４ｂには、ＭＶ生成器ｕ１ｂにて生成された複数の候補動きベクトルＭＶ２ｃとともに、各候補動きベクトルＭＶ２ｃに対応する誤差データＤ２ｐが入力され、誤差データが最小となる候補動きベクトルＭＶ２ｃが第２階層目の動きベクトル（選択動きベクトル）ＭＶ２ｓとして選択されて出力される。例えば、第２階層目の動きベクトル（選択動きベクトル）ＭＶ２ｓは、図７の画素Ｐ７の位置を示すものである。
【０１３０】
さらに、第３階層動き検出部の動きベクトル生成器ｕ１ｃに、最小誤差選択器ｕ４ｂからの２階層目の動きベクトルＭＶ２ｓ、及び最小誤差選択器ｕ４ａからの１階層目の動きベクトルＭＶ１ｓが入力されると、該動きベクトル生成器ｕ１ｃでは、これらの動きベクトルＭＶ１ｓ，ＭＶ２ｓにより限定される、上記第１及び第２の探索範囲を含まない第３の探索範囲内の画素に対応する複数の候補動きベクトルＭＶ３ｃが生成される。例えば、これらの複数の候補動きベクトルＭＶ３ｃは、図７の画素Ｐ６及びＰ８の位置を示すものである。
【０１３１】
すると、複数の候補動きベクトルＭＶ３ｃに対応する動き補償データＣ３ｔがフレームメモリｕ２から読みだされ、誤差計算器ｕ３ｃでは、上記候補動きベクトルＭＶ３ｃに対応する動き補償データＣ３ｔと、入力される対象ブロックの画像データＳｔとの間の誤差データＤ３ｐが計算される。
【０１３２】
さらに、最小誤差選択器ｕ４ｃでは、１階層目及び２階層目の探索処理により得られた対象ブロックに対応する選択動きベクトルＭＶ１ｓ及びＭＶ２ｓ、並びに３階層目の探索処理により得られる候補動きベクトルＭＶ３ｃのうちから、動き補償誤差が最小となる動きベクトルが、対象ブロックの動きベクトルＭＶ３ｓとして選択して出力される。
【０１３３】
このように本実施の形態４では、２階層目では１階層目で探索した範囲以外における画素位置を示す動きベクトルであって動き補償誤差が最小となる動きベクトルＭＶ２ｓの検出を行い、１階層目および２階層目の探索により検出した２つの動きベクトルに基づいて３階層目の探索範囲を決定し、３階層目の探索処理により得られた動きベクトル、並びに第１階層及び第２階層の探索により得られた動きベクトルのなかから、対象ブロックに対応する動きベクトルを検出するようにしたので、３階層目の探索範囲を効率良く絞り込むことができ、動きベクトル検出処理における誤差計算回数の削減が実現できる。
【０１３４】
なお、上記実施の形態４では、上記第２の探索範囲では、第１選択動きベクトルＭＶ１ｓが示す画素位置を探索中心として、上記予測ブロックの位置を、上記参照画面における垂直方向及び水平方向に沿って探索し、上記第３の探索範囲では、第２選択動きベクトルＭＶ２ｓが示す画素位置を探索中心として、上記予測ブロックの位置を、参照画面における水平方向のみに沿って探索しているが、第２及び第３探索範囲における探索方向はこれに限るものではない。
例えば、上記第２の探索範囲では、第１選択動きベクトルＭＶ１ｓが示す画素位置を探索中心として、上記予測ブロックの位置を、上記参照画面における垂直もしくは水平方向のみに沿って探索し、上記第３の探索範囲では、第２選択動きベクトルＭＶ２ｓが示す画素位置を探索中心として、上記予測ブロックの位置を、該第２の探索範囲における探索方向以外の方向に沿って探索するようにしてもよい。
【０１３５】
さらに、上記各実施の形態で示した動きベクトル検出装置による動きベクトルの検出処理を実現するための動き検出プログラムを、フロッピーディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した動きベクトルの検出処理を、コンピュータシステムにおいて簡単に実施することが可能となる。
【０１３６】
図１０は、上記実施の形態１ないし実施の形態４の動きベクトル検出装置による動きベクトル検出処理を、上記動き検出プログラムを格納したフロッピーディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
図１０(a)は、フロッピーディスクの正面からみた外観、その断面構造、及びフロッピーディスク本体を示し、図１０(b)は、該フロッピーディスク本体の物理フォーマットの例を示している。
上記フロッピーディスクＦＤは、上記フロッピーディスク本体ＤをフロッピーディスクケースＦＣ内に収容した構造となっており、該フロッピーディスク本体Ｄの表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成され、各トラックＴｒは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフロッピーディスクＦＤでは、上記フロッピーディスク本体Ｄは、その上に割り当てられた領域（セクタ）Ｓｅに、上記プログラムとしてのデータが記録されたものとなっている。
また、図１０(c)は、フロッピーディスクＦＤに対する上記プログラムの記録、及びフロッピーディスクＦＤに格納したプログラムを用いたソフトウエアによる画像処理を行うための構成を示している。
【０１３７】
上記プログラムをフロッピーディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムとしてのデータを、フロッピーディスクドライブＦDDを介してフロッピーディスクＦＤに書き込む。また、フロッピーディスクＦＤに記録されたプログラムにより、上記動きベクトル検出装置をコンピュータシステムＣｓ中に構築する場合は、フロッピーディスクドライブＦDDによりプログラムをフロッピーディスクＦＤから読み出し、コンピュータシステムＣｓにロードする。
【０１３８】
なお、上記説明では、データ記録媒体としてフロッピーディスクを用いて説明を行ったが、光ディスクを用いても上記フロッヒーディスクの場合と同様にソフトウエアーによる動きベクトル検出処理を行うことができる。また、データ記録媒体はこれに限らず、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【０１３９】
【発明の効果】
以上のように本発明（請求項１，２，３，４，５，１０，１２）によれば、被処理ブロックの近傍に位置する近傍ブロックに対応する動き補償誤差と、動きベクトル探索中心に対応する動き補償誤差とを比較し、該両動き補償誤差の比較により得られるこれらの動き補償の差分の大きさに応じて、上記動きベクトル探索中心を示す位置情報を上記被処理ブロックの動きベクトルとして出力するか、あるいは予測ブロックの探索処理及び動きベクトルの検出処理を上記動きベクトル探索中心を探索開始位置として行って得られる動きベクトルを、被処理ブロックの動きベクトルとして出力か、を切替えるようにしたので、動き検出精度を殆ど損うことなく、最も演算量の多い誤差計算回数を削減することができ、これにより消費電力を低減できるなどその実用的価値が高い動きベクトル検出処理を実現できる。
【０１４０】
また、本発明（請求項６，７，８，９，１１，１３）によれば、第１，第２の探索範囲にて予測ブロックの探索処理を行って、各探索範囲で動き補償誤差が最小となる第１，第２の選択動きベクトルを検出し、第１，第２の選択動きベクトルに基づいて第３の探索範囲を絞り込み、該第３の探索範囲にて動き補償誤差が最小となる第３の選択動きベクトルを検出し、上記第１，第２，第３の選択動きベクトルに対応する動き補償誤差を比較して、上記第１，第２，第３の候補のベクトルのうちの１つを、被処理ブロックに対応する動きベクトルとして選択するので、第３の探索範囲を効率よく絞り込むことができ、誤差計算回数の削減が可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態１による動きベクトル検出装置を説明するためのブロック図である。
【図２】上記実施の形態１の動きベクトル検出装置を構成する打ち切り判定器の構成（図(a)）及びその変形例の構成（図(b)）を示す図である。
【図３】本発明の実施の形態２による動きベクトル検出装置を説明するためのブロック図である。
【図４】上記実施の形態２の動きベクトル検出装置を構成する打ち切り判定器の構成を示す図である。
【図５】本発明の実施の形態３による動きベクトル検出装置を説明するためのブロック図である。
【図６】上記実施の形態３の動きベクトル検出装置を構成する打ち切り判定器の構成を示す図である。
【図７】本発明の実施の形態４による動きベクトル検出装置の基本原理を説明するための図である。
【図８】上記実施の形態４の動きベクトル検出装置の基本原理を説明するための図である。
【図９】上記実施の形態４の動きベクトル検出装置を説明するためのブロック図である。
【図１０】上記各実施の形態の動き検出処理をコンピュータシステムにより行うためのプログラムを格納したデータ記憶媒体（図(a)，(b)）、及び上記コンピュータシステム（図(c)）を説明するための図である。
【図１１】従来の代表的な画面間動き補償符号化装置を説明するためのブロック図である。
【図１２】従来の画面間動き補償符号化装置を構成する代表的な動き検出装置を説明するためのブロック図である。
【図１３】従来の動きベクトル検出法（３ステップ法）を説明するための図である。
【図１４】従来の動きベクトル検出法（１／２画素精度探索）を説明するための図である。
【図１５】従来の階層的な動きベクトル検出装置を説明するためのブロック図である。
【図１６】従来の動きベクトル検出法（One at a time）を説明するための図である。
【符号の説明】
１０１〜１０４  動きベクトル検出装置
ｕ１ａ、ｕ１ｂ、ｕ１ｃ  動きベクトル生成器
ｕ２  フレームメモリ
ｕ３ａ、ｕ３ｂ、ｕ３ｃ  誤差計算器
ｕ４ａ、ｕ４ｂ、ｕ４ｃ  最小誤差選択器
ｕ５ａ、ｕ５ｂ、ｕ５ｃ  打ち切り判定器
ｕ６、ｕ７  選択器
ｕ８  一時メモリ
Ｃ１ｔ  第１の動き補償データ
Ｃ２ｔ  第２の動き補償データ
Ｃｍ  動き検出指令信号
Ｄｃ  判定データ
Ｄｃａ  第１の判定データ
Ｄｃｂ  第２の判定データ
Ｄｃｆ  最終判定データ
Ｄ１ｐ，Ｄ２ｐ，Ｄ３ｐ  第１，第２，第３の画像誤差データ
Ｄｍｐ  最小誤差データ
Ｄｓｐ  選択誤差データ
Ｄｒｐ  参照誤差データ
Ｄ１ｐｍ，Ｄ２ｐｍ  第１，第２の動き補償誤差（最小誤差データ）
ＭＶｃ  候補動きベクトル
ＭＶｓ  選択動きベクトル
ＭＶ１ｃ，ＭＶ２ｃ，ＭＶ３ｃ  第１，第２，第３の候補動きベクトル
ＭＶｓ  選択動きベクトル
ＭＶ１ｓ，ＭＶ２ｓ  第１，第２の選択動きベクトル（第１，第２階層動きベクトル）
ＭＶ３ｓ  対象ブロックの動きベクトル
Ｓｔ  画像信号
Ｓｃ  動きベクトル探索中心情報
Ｅｔ  画像符号化データ
Ｃｓ  コンピュータシステム
Ｄ  フロッピディスク本体
ＦＣ  フロッピディスクケース
ＦＤ  フロッピディスク
ＦDD  フロッピディスクドライブ
Ｓｅ  セクタ
Ｔｒ  トラック
【図１】
0004223169.tif 000002
【図２】
0004223169.tif 000003
【図３】
0004223169.tif 000004
【図４】
0004223169.tif 000005
【図５】
0004223169.tif 000006
【図６】
0004223169.tif 000007
【図７】
0004223169.tif 000008
【図８】
0004223169.tif 000009
【図９】
0004223169.tif 000010
【図１０】
0004223169.tif 000011
【図１１】
0004223169.tif 000012
【図１２】
0004223169.tif 000013
【図１３】
0004223169.tif 000014
【図１４】
0004223169.tif 000015
【図１５】
0004223169.tif 000016
【図１６】
0004223169.tif 000017