(57)【要約】【課題】動き補償予測符号化方式において動きベクトルを探索する際に、処理対象ブロックと参照ブロックとの相関値としてＳＡＤ（Sum of Absolute Difference）を用いた場合、画像の最適な符号化が行えないことがある。一方、相関値としてＳＡＴＤ（Sum of Absolute Transformed Difference）を用いた場合、画像そのものの符号量は低減するものの、動きベクトルの符号量が増加することがある。【解決手段】現処理対象ブロックと予測ブロックについて、まず、ＳＡＤによる第１の相関値と、ＳＡＴＤによる第２の相関値を求める（１０１）。そして、現処理対象ブロックに対応する予測動きベクトルを算出し（１１６）、第１及び第２の相関値と予測動きベクトルに基づいて、動きベクトルを探索する（１０３）。これにより、画像及び動きベクトルの両方について符号量を低減し、動画像全体として良好な符号化効率を実現するような動きベクトルが得られる。【選択図】  図１
2009272701.tif 000002
【特許請求の範囲】
【請求項１】
動画像のフレームをブロックに分割し、該ブロック単位でのマッチングを行うことにより動きベクトルを探索する動きベクトル探索装置であって、
現処理対象ブロックと予測ブロックとの相関を、第１及び第２の相関値算出方法によりそれぞれ求め、第１及び第２の相関値として出力する相関値算出手段と、
前記現処理対象ブロックに対応する動きベクトルの予測値としての予測動きベクトルを算出する予測動きベクトル算出手段と、
前記第１及び第２の相関値と前記予測動きベクトルに基づいて動きベクトルを探索する動きベクトル探索手段と、
を有することを特徴とする動きベクトル探索装置。
【請求項２】
前記第１の相関値算出方法は、現処理対象ブロックと予測ブロックとの差分の絶対値和をとることによって前記第１の相関値を求める方法であり、
前記第２の相関値算出方法は、現処理対象ブロックと予測ブロックとの差分に対して直交変換を施した後、得られた直交変換係数の絶対値和をとることによって前記第２の相関値を求める方法である
ことを特徴とする請求項１に記載の動きベクトル探索装置。
【請求項３】
前記動きベクトル探索手段は、
複数回のマッチングにおいて得られる前記第１の相関値のうち最も高い相関を示す、第１の最高相関値に対応する第１の動きベクトル候補を出力する、第１の動きベクトル候補の算出手段と、
複数回のマッチングにおいて得られる前記第２の相関値のうち最も高い相関を示す、第２の最高相関値と、該第２の最高相関値に対応する第２の動きベクトル候補を出力する、第２の動きベクトル候補の算出手段と、
前記第２の相関値のうち、前記第１の動きベクトル候補の示す探索ポイントに対応する第３の相関値を出力する、第３の相関値の算出手段と、
前記予測動きベクトルと前記第１の動きベクトル候補との差分である第１のベクトル差分を出力する、第１のベクトル差分の算出手段と、
前記予測動きベクトルと前記第２の動きベクトル候補との差分である第２のベクトル差分を出力する、第２のベクトル差分の算出手段と、
前記第２の最高相関値と、前記第３の相関値と、前記第１及び第２のベクトル差分と、に基づいて、前記第１及び第２の動きベクトル候補のいずれかを動きベクトルとして決定する動きベクトル決定手段と、
を有することを特徴とする請求項１または２に記載の動きベクトル探索装置。
【請求項４】
前記動きベクトル決定手段は、
前記第２の最高相関値と前記第３の相関値の差分を相関誤差Ｄestとして生成し、
前記第１のベクトル差分の絶対値と、前記第２のベクトル差分の絶対値と、の差分をベクトル差分誤差ＭＶＤestとして生成し、
前記相関誤差Ｄestと前記ベクトル差分誤差ＭＶＤestに基づいて、前記第１及び第２の動きベクトル候補のいずれかを動きベクトルとして決定することを特徴とする請求項３に記載の動きベクトル探索装置。
【請求項５】
前記動きベクトル決定手段は、
条件式：Ｄest＞（ａ・ＭＶＤest＋ｂ）
が真であれば前記第２の動きベクトル候補を動きベクトルとして選択し、偽であれば前記第１の動きベクトル候補を動きベクトルとして選択する
ことを特徴とする請求項４に記載の動きベクトル探索装置。
【請求項６】
さらに、現時点における累積符号量のうち、動きベクトルを符号化して得られた符号量の占める割合を算出する符号化手段を有し、
前記動きベクトル決定手段は、前記条件式における係数ａを、前記割合が大きいほど大きくなるように調整することを特徴とする請求項５に記載の動きベクトル探索装置。
【請求項７】
前記予測動きベクトル算出手段は、複数の周辺ブロックにおいて既に決定された動きベクトルに基づいて、前記予測動きベクトルを算出することを特徴とする請求項１乃至６のいずれか１項に記載の動きベクトル探索装置。
【請求項８】
動画像のフレームをブロックに分割し、該ブロック単位でのマッチングを行うことにより動きベクトルを探索する動きベクトル探索装置の制御方法であって、
現処理対象ブロックと予測ブロックとの相関を、第１及び第２の相関値算出方法によりそれぞれ求め、第１及び第２の相関値として出力する相関値算出ステップと、
前記現処理対象ブロックに対応する動きベクトルの予測値としての予測動きベクトルを算出する予測動きベクトル算出ステップと、
前記第１及び第２の相関値と前記予測動きベクトルに基づいて動きベクトルを探索する動きベクトル探索ステップと、
を有することを特徴とする動きベクトル探索装置の制御方法。
【請求項９】
前記第１の相関値算出方法は、現処理対象ブロックと予測ブロックとの差分の絶対値和をとることによって前記第１の相関値を求める方法であり、
前記第２の相関値算出方法は、現処理対象ブロックと予測ブロックとの差分に対して直交変換を施した後、その絶対値和をとることによって前記第２の相関値を求める方法である  
ことを特徴とする請求項８に記載の動きベクトル探索装置の制御方法。
【請求項１０】
コンピュータを請求項１乃至７のいずれか１項に記載の動きベクトル探索装置として機能させるためのプログラム。
【請求項１１】
請求項１０に記載のプログラムを記録したコンピュータ可読な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル動画像における動きベクトルを探索する動きベクトル探索装置及びその制御方法に関する。
【背景技術】
【０００２】
近年、ＭＰＥＧ（Moving Picture Experts Group）の国際標準動画像符号化方式に代表されるような、動画像圧縮符号化方式が普及している。この動画像圧縮符号化方式においては、現フレームの入力信号ブロックと動き補償により得られた参照フレームの局部復号信号ブロックとのフレーム間予測誤差信号を、ＤＣＴ変換によって符号化しているため、動き補償予測符号化方式と呼ばれる。動き補償予測符号化方式においては、動画像のフレームをブロックに分割し、該ブロック単位でのマッチングを行う、所謂ブロックマッチング法により動きベクトルの探索が行なわれる。
【０００３】
ここで図２を用いて、一般的なブロックマッチング法における動きベクトル探索について説明する。
【０００４】
図２に示すように、現フレームは例えば、１６画素×１６ラインのブロックに分割され、該ブロックを処理対象ブロックとして、ブロック毎に動きベクトルを探索する。動きベクトルは、参照フレーム内において現フレームの処理対象ブロックに対応する位置にあるブロックを基準に、該基準ブロックを含む周囲の画素群を動き探索範囲として、該動き探索範囲内から、最も相関度の大きいブロックの相対位置として求める。ここで相関度とは、現フレームの処理対象ブロックと、該動き探索範囲内から現処理対象ブロックと同サイズの領域（以下、参照ブロック）とをずらしながら比較することによって求める。また、相関度の測定には、ブロック内における互いに対応する位置の画素の差分絶対値和等がよく用いられ、該差分絶対値和の値が小さいほど相関が高いと評価される。
【０００５】
こうした動き検出処理を実現する従来の構成を図３に示し、以下に説明する。
【０００６】
ＳＡＤ算出部３０１は、現処理対象となる入力ブロックと、動き補償部３０２より出力される参照ブロックを入力とし、それぞれの差分絶対値和（ＳＡＤ:Sum of Absolute Difference）を算出する。該算出結果は、比較器３０４及び選択器３０５に入力される。
【０００７】
動き補償部３０２は、動きベクトル決定部３０３が随時出力する探索ベクトルを入力とし、該探索ベクトルの示す探索ポイントにおける参照ブロックを、ＳＡＤ算出部３０１へ出力する。
【０００８】
比較器３０４は、ＳＡＤ算出部３０１が出力するＳＡＤ値と、ＳＡＤ保持部３０７より出力される値との大小関係を比較し、その比較結果を選択器３０５、３０６へ出力する。例えば、ＳＡＤ算出部３０１が出力するＳＡＤ値の方が小さければ、比較結果を示す値として'１'を出力し、そうでない場合は'０'を出力するものとする。
【０００９】
選択器３０５は、ＳＡＤ算出部３０１が出力するＳＡＤ値と、ＳＡＤ保持部３０７より出力される値とのいずれか一方を、比較器３０４の出力に従って選択し、ＳＡＤ保持部３０７へと出力する。例えば、比較器３０４の出力値が'１'の場合はＳＡＤ保持部３０７より出力される値を、'０'の場合はＳＡＤ算出部３０１が出力するＳＡＤ値を、それぞれ選択するものとする。
【００１０】
選択器３０６は、動きベクトル決定部３０３が出力する探索ベクトルと、ＭＶ保持部３０８より出力される値とのいずれか一方を、比較器３０４の出力に従って選択し、ＭＶ保持部３０８へと出力する。例えば、比較器３０４の出力値が'１'の場合はＭＶ保持部３０８より出力される値を、'０'の場合は動きベクトル決定部３０３が出力する探索ベクトルを、それぞれ選択するものとする。
【００１１】
ＳＡＤ保持部３０７は、選択器３０５の出力を保持し、動きベクトル決定部３０３、及び比較器３０４、及び選択器３０５へと出力する。また、動きベクトル決定部３０３の出力する初期化要求信号に従い、保持している値をゼロクリアする。すなわち、ＳＡＤ保持部３０７においては、初期化要求信号による初期化要求によって、保持している値をゼロクリアした後、ＳＡＤ算出部３０１より随時出力されるＳＡＤ値のうち、常にその時点における最小のＳＡＤ値が保持されていることになる。
【００１２】
ＭＶ保持部３０８は、選択器３０６の出力を保持し、動きベクトル決定部３０３及び選択器３０６へと出力する。また、動きベクトル決定部３０３の出力する初期化要求信号に従い、保持している値を初期化する。すなわち、ＭＶ保持部３０８においては、初期化要求信号による初期化要求によって保持している値を初期化した後、ＳＡＤ算出部３０１より随時出力されるＳＡＤ値のうち、その時点における最小のＳＡＤ値に対応するベクトル値が保持されていることになる。
【００１３】
動きベクトル決定部３０３は、予め定められた動き探索アルゴリズムに従って、ＳＡＤ保持部３０７の出力するＳＡＤ値、及びＭＶ保持部３０８の出力するベクトル値を入力として、探索ベクトルを生成し、動き補償部３０２及び選択器３０６へと出力する。また、探索シーケンスの開始時に初期化要求信号をアサート（有効化）し、ＳＡＤ保持部３０７及びＭＶ保持部３０８へと出力する。つまり、探索シーケンスにおいて常に探索ベクトルを生成して出力させつつ、該探索ベクトルに対応するＳＡＤ値の最小値及びそれに対応するベクトル値を受け取りつつ、次の探索ポイントを順次生成していく。この処理を探索終了まで繰り返すことによって、動き探索処理を行う。探索終了時、決定された動きベクトルを出力し、次の探索シーケンスのための初期化要求信号をアサートし、出力する。これを繰り返すことによって、順次処理対象ブロックの動きベクトルを決定、出力してゆく。
【００１４】
しかしながら、動き検出処理の際に、上述したように処理対象ブロックと参照ブロックとの相関度としてＳＡＤを用いる場合、符号化効率としては良好であるものの、ＳＡＤ値としては大きい値として現れるケースを見逃してしまうことがある。したがって、結果的に最良の符号化効率が得られず、画像の符号量が増大してしまうという問題がある。
【００１５】
ここで図４に、大きいＳＡＤ値を見逃す一例として、処理対象ブロックの画素値が全て２５５であり、参照ブロックの画素値が全て０であるケースを示す。この場合、ＳＡＤ値としては非常に大きな値をとるが、実際にこれらの差分を符号化したとしても、ＤＣＴ変換後のＤＣＴ係数値はＤＣ成分以外は全て０となるので、符号量としては非常に小さなものとなる。
【００１６】
上述した問題を解決するために、相関値としてＳＡＤではなく、ＳＡＴＤ（Sum of Absolute Transformed Difference）を用いる方法が知られている（例えば、特許文献１参照）。この方法によれば、処理対象ブロック及び参照ブロックに対してアダマール変換等の直交変換を施してそれらの差分絶対値をとるか、あるいは予測誤差に対してさらにアダマール変換等の直交変換を施した後に、その絶対値和をとる。ＳＡＴＤを用いることによって、上述したようなＳＡＤを相関値として用いる場合に比べ、発生符号量が低減することが分かっている。
【特許文献１】特開平08-084337号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかしながら、ＳＡＴＤを相関値として用いた場合、画像そのものの符号量は低減するものの、動きベクトルにばらつきが生じる。したがって、ＭＰＥＧ標準動画像符号化方式等のように、動きベクトルを周辺ブロックの動きベクトルとの差分をとり、その差分を符号化するような方式においては、動きベクトルの符号量が増加するという問題があった。特に、符号量全体における動きベクトルの符号量の割合が比較的大きい、低ビットレートにおいては、この問題が顕著である。
【００１８】
本発明は上述した問題を解決するためになされたものであり、以下のような機能を有する動きベクトル探索装置及びその制御方法を提供することを目的とする。すなわち、動画像フレーム内でのブロックマッチングにより動きベクトルを探索する際に、画像及び動きベクトルの両方について符号量を低減し、動画像全体として良好な符号化効率を実現するような動きベクトルを得る。
【課題を解決するための手段】
【００１９】
上記問題を解決するための一手段として、本発明の動きベクトル探索装置は以下の構成を備える。
【００２０】
すなわち、動画像のフレームをブロックに分割し、該ブロック単位でのマッチングを行うことにより動きベクトルを探索する動きベクトル探索装置であって、現処理対象ブロックと予測ブロックとの相関を、第１及び第２の相関値算出方法によりそれぞれ求め、第１及び第２の相関値として出力する相関値算出手段と、前記現処理対象ブロックに対応する動きベクトルの予測値としての予測動きベクトルを算出する予測動きベクトル算出手段と、前記第１及び第２の相関値と前記予測動きベクトルに基づいて動きベクトルを探索する動きベクトル探索手段と、を有することを特徴とする。
【００２１】
例えば、前記第１の相関値算出方法は、現処理対象ブロックと予測ブロックとの差分の絶対値和をとることによって前記第１の相関値を求める方法であり、前記第２の相関値算出方法は、現処理対象ブロックと予測ブロックとの差分に対して直交変換を施した後、得られた直交変換係数の絶対値和をとることによって前記第２の相関値を求める方法であることを特徴とする。
【発明の効果】
【００２２】
以上の構成からなる本発明によれば、動画像フレーム内でのブロックマッチングにより動きベクトルを探索する際に、画像及び動きベクトルの両方について符号量を低減し、動画像全体として良好な符号化効率を実現するような動きベクトルを得ることができる。
【発明を実施するための最良の形態】
【００２３】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００２４】
＜第１実施形態＞
●システム構成
図１は、本実施形態における動きベクトル探索装置の構成を示すブロック図である。本実施形態の動きベクトル探索装置においては、動画像のフレームをブロックに分割し、該ブロック単位でのマッチングを行うことにより動きベクトルを探索する。
【００２５】
同図において、相関値算出部１０１は、現フレーム内での処理対象となるブロックと、動き補償部１０２より出力される予測参照ブロックを入力とし、本実施形態における第１及び第２の相関値として、その差分絶対値和ＳＡＤ及びＳＡＴＤを算出する。ここで、相関値算出部１０１においてＳＡＤを算出するための第１の相関値算出方法においては、上述した従来例でも示したように、現処理対象ブロックと参照ブロックとの差分の絶対値和をとることを特徴とする。また、ＳＡＴＤを算出するための第２の相関値算出方法においては、現処理対象ブロックと予測ブロックとの差分に対して直交変換を施した後、得られた直交変換係数の絶対値和をとることを特徴とする。そして、算出されたＳＡＤを比較器１０４及び選択器１０５へ、ＳＡＴＤを選択器１１０、１１１及び比較器１０９へと出力する。
【００２６】
動き補償部１０２は、後述する動きベクトル決定部１０３が随時出力する探索ベクトルを入力とし、該探索ベクトルの示す探索ポイントにおける参照ブロックを、相関値算出部１０１へと出力する。
【００２７】
比較器１０４は、相関値算出部１０１が出力するＳＡＤ値と、ＳＡＤ保持部１０７より出力される値との大小関係を比較し、その比較結果（選択信号＿１）を選択器１０５、１０６、１１０へ出力する。例えば、相関値算出部１０１が出力するＳＡＤ値の方が小さければ'１'を出力し、そうでない場合は'０'を出力するものとする。
【００２８】
選択器１０５は、相関値算出部１０１が出力するＳＡＤ値と、ＳＡＤ保持部１０７より出力される値と、のいずれか一方を比較器１０４の出力に従って選択し、ＳＡＤ保持部１０７へと出力する。例えば、比較器１０４の出力値が'０'の場合はＳＡＤ保持部１０７より出力される値を、'１'の場合は相関値算出部１０１が出力するＳＡＤ値を、それぞれ選択するものとする。
【００２９】
選択器１０６は、動きベクトル決定部１０３が出力する探索ベクトルと、ＭＶ保持部１０８より出力される値と、のいずれか一方を比較器１０４の出力に従って選択し、ＭＶ保持部１０８へと出力する。例えば、比較器１０４の出力値が'０'の場合はＭＶ保持部１０８より出力される値を、'１'の場合は動きベクトル決定部１０３が出力する探索ベクトルを、それぞれ選択するものとする。
【００３０】
ＳＡＤ保持部１０７は、選択器１０５の出力を保持し、比較器１０４、及び選択器１０５へと出力する。また、動きベクトル決定部１０３の出力する初期化要求信号に従い、保持している値をゼロクリアする。すなわちＳＡＤ保持部１０７では、初期化要求信号による初期化要求によって保持している値をゼロクリアした後、相関値算出部１０１より随時出力されるＳＡＤ値のうち、常にその時点における最小のＳＡＤ値（ＳＡＤbest）が保持されていることになる。言い換えれば、複数回のブロックマッチングにおいて得られるＳＡＤ値のうち、最も高い相関を示すＳＡＤ値が、第１の最高相関値ＳＡＤbestとして保持される。
【００３１】
ＭＶ保持部１０８は、選択器１０６の出力を保持し、ベクトル差分算出部１１７と動きベクトル決定部１０３、及び選択器１０６へと出力する。また、動きベクトル決定部１０３の出力する初期化要求信号に従い、保持している値を初期化する。すなわちＭＶ保持部１０８においては、初期化要求信号による初期化要求によって保持している値を初期化した後、随時出力されるＳＡＤ値のうち、常にその時点におけるＳＡＤbestに対応するベクトル値（ＭＶSADbest）が保持されていることになる。このＭＶSADbestが、本実施形態における第１の動きベクトル候補となる。
【００３２】
ベクトル差分算出部１１７は、予測動きベクトル算出部１１６からの予測動きベクトル（ＭＶpred）と、ＭＶ保持部１０８からのベクトル値ＭＶSADbestとの差分をとり、動きベクトル決定部１０３へ出力する。このベクトル差分ＭＶＤSADbestが、本実施形態における第１のベクトル差分となる。
【００３３】
予測動きベクトル算出部１１６は、現処理対象ブロックに対応する動きベクトルの予測値としての予測動きベクトルを算出する。すなわち、既に動きベクトル探索が済んでいる周辺ブロックの動きベクトル群を入力とし、該動きベクトル群より一つの予測動きベクトル（ＭＶpred）を算出して、ベクトル差分算出部１１７へと出力する。例えば上記周辺ブロックとは、現在処理対象となっているブロックの、左、上、及び右上に位置する３つのブロックであるとする。すなわち予測動きベクトル算出部１１６は、３つの周辺ブロックの動きベクトルよりそれらの中間値ベクトルを算出し、予測動きベクトル（ＭＶpred）として出力する。
【００３４】
なお、本実施形態の予測動きベクトル算出部１１６においては、既に動きベクトル探索が済んでいる周辺ブロックの動きベクトル群に基いて、予測動きベクトルを算出するものとした。しかしながら本発明における予測動きベクトル算出部１１６の構成はこの例に限定されず、現処理対象フレームの一枚前のフレームにおける同位置のブロックの動き情報を、予測動きベクトルとして算出する構成であってもよい。
【００３５】
比較器１０９は、相関値算出部１０１が出力するＳＡＴＤ値と、ＳＡＴＤ保持部１１４より出力される値との大小関係を比較し、その比較結果（選択信号＿２）を選択器１１１、１１２へ出力する。例えば、相関値算出部１０１が出力するＳＡＴＤ値の方が小さければ'１'を出力し、そうでない場合は'０'を出力するものとする。
【００３６】
選択器１１０は、相関値算出部１０１が出力するＳＡＴＤ値と、ＳＡＴＤ保持部１１３より出力される値と、のいずれか一方を比較器１０４の出力に従って選択し、ＳＡＴＤ保持部１１３へと出力する。例えば、比較器１０４の出力値が'０'の場合はＳＡＴＤ保持部１１３より出力される値を、'１'の場合は相関値算出部１０１が出力するＳＡＴＤ値を、それぞれ選択するものとする。
【００３７】
選択器１１１は、相関値算出部１０１が出力するＳＡＴＤ値と、ＳＡＴＤ保持部１１４より出力される値と、のいずれか一方を比較器１０９の出力に従って選択し、ＳＡＴＤ保持部１１４へと出力する。例えば、比較器１０９の出力値が'０'の場合はＳＡＴＤ保持部１１４より出力される値を、'１'の場合は相関値算出部１０１が出力するＳＡＴＤ値を選択するものとする。
【００３８】
選択器１１２は、動きベクトル決定部１０３が出力する探索ベクトルと、ＭＶ保持部１１５より出力される値と、のいずれか一方を比較器１０９の出力に従って選択し、ＭＶ保持部１１５へと出力する。例えば、比較器１０９の出力値が'０'の場合はＭＶ保持部１１５より出力される値を、'１'の場合は動きベクトル決定部１０３が出力する探索ベクトルを、それぞれ選択するものとする。
【００３９】
ＳＡＴＤ保持部１１３は、選択器１１０の出力を保持し、動きベクトル決定部１０３、及び選択器１１０へと出力する。また、動きベクトル決定部１０３の出力する初期化要求信号に従い、保持している値をゼロクリアする。
すなわちＳＡＴＤ保持部１１３では、初期化要求信号によって保持している値をゼロクリアした後、相関値算出部１０１より随時出力されるＳＡＤ値のうち、その時点における最小のＳＡＤ値に対応する探索ポイントのＳＡＴＤ値が常に保持される。言い換えれば、複数回のブロックマッチングにおいて得られるＳＡＤ値のうち、最も高い相関を示すＳＡＤ値に対応する探索ポイントにおけるＳＡＴＤ値が、第３の相関値ＳＡＴＤ(ＭＶSADbest)として保持される。
【００４０】
ＳＡＴＤ保持部１１４は、選択器１１１の出力を保持し、動きベクトル決定部１０３、及び比較器１０９、及び選択器１１１へと出力する。また、動きベクトル決定部１０３の出力する初期化要求信号に従い、保持している値をゼロクリアする。すなわちＳＡＴＤ保持部１１４においては、初期化要求信号によって保持している値をゼロクリアした後、相関値算出部１０１より随時出力されるＳＡＴＤ値のうち、常にその時点における最小のＳＡＴＤ値（ＳＡＴＤbest）が保持されていることになる。言い換えれば、複数回のブロックマッチングにおいて得られるＳＡＴＤ値のうち、最も高い相関を示すＳＡＴＤ値が、第２の最高相関値ＳＡＴＤbestとして保持される。
【００４１】
ＭＶ保持部１１５は、選択器１１２の出力を保持し、ベクトル差分算出部１１８と動きベクトル決定部１０３、及び選択器１１２へと出力する。また、動きベクトル決定部１０３の出力する初期化要求信号に従い、保持している値を初期化する。すなわちＭＶ保持部１１５においては、初期化要求信号によって保持している値を初期化した後、随時出力されるＳＡＴＤ値のうち、常にその時点におけるＳＡＴＤbestに対応するベクトル値（ＭＶSATDbest）が保持されていることになる。このＭＶSATDbestが、本実施形態における第２の動きベクトル候補となる。
【００４２】
ベクトル差分算出部１１８は、予測動きベクトル算出部１１６からの予測動きベクトル（ＭＶpred）と、ＭＶ保持部１１５からのベクトル値（ＭＶSATDbest）との差分をとり、動きベクトル決定部１０３へと出力する。このベクトル差分ＭＶＤSATDbestが、本実施形態における第２のベクトル差分となる。
【００４３】
動きベクトル決定部１０３には、以下の各信号が入力される。すなわち、第１のベクトル差分ＭＶＤSADbest、第１の動きベクトル候補ＭＶSADbest、第３の相関値ＳＡＴＤ(ＭＶSADbest)、が入力される。さらに、第２の相関値ＳＡＴＤbest、第２のベクトル差分ＭＶＤSATDbest、第２の動きベクトル候補ＭＶSATDbest、が入力される。そして、以上の入力信号に基づき、所定の動き探索アルゴリズムに従って、第１及び第２の動きベクトル候補のいずれかを選択することによって探索ベクトル（探索ＭＶ）を生成し、動き補償部１０２及び選択器１０６、１１２へと出力する。また、探索シーケンスの開始時に、初期化要求信号をアサートし、ＳＡＤ保持部１０７、ＳＡＴＤ保持部１１３、１１４、及びＭＶ保持部１０８、１１５へと出力する。
【００４４】
動きベクトル決定部１０３においてはつまり、探索シーケンスにおいて常に探索ベクトル（探索ＭＶ）を生成して出力させつつ、上記各信号を受け取って次の探索ポイントを順次生成していき、これを探索終了まで繰り返すことによって、動き探索処理を行う。そして探索終了時に、決定された動きベクトルを出力し、次の探索シーケンスのための初期化要求信号をアサートし、出力する。以上の処理を繰り返すことにより、順次、処理対象ブロックの動きベクトル（ＭＶ）を決定、出力してゆく。
【００４５】
●動きベクトル決定処理
以下、動きベクトル決定部１０３における動きベクトル（ＭＶ）の決定方法について、詳細に説明する。
【００４６】
図５は、各探索ポイントにおけるＳＡＤ値及びＳＡＴＤ値の例を示した図である。同図の左端が最初の探索ポイントを示し、探索順に右へプロットして最後の探索ポイントが右端に示されている。同図では、探索ポイントに対応したＳＡＤ及びＳＡＴＤの値の変遷がプロットされており、最もＳＡＤ値の小さいところ（ＳＡＤbest）に対応する探索ポイント（ＭＶSADbest）が示されている。さらに、最もＳＡＴＤ値の小さいところ（ＳＡＴＤbest）に対応する探索ポイント（ＭＶSATDbest）も示されている。また、最もＳＡＤ値の小さいところ（ＳＡＤbest）に対応する探索ポイント（ＭＶSADbest）におけるＳＡＴＤ値（ＳＡＴＤ(ＭＶSADbest)）も示されている。
【００４７】
この場合、動きベクトル決定部１０３においてはまず、以下の(1)式を用いて、ＳＡＴＤ(ＭＶSADbest)と、ＳＡＴＤbestとの差分である相関誤差Ｄestを生成する。
【００４８】
Ｄest＝ＳＡＴＤ(ＭＶSADbest)−ＳＡＴＤbest      ・・・(1)
また、ＭＶSADbest，ＭＶSATDbestにそれぞれ対応する、ＭＶＤSADbest，ＭＶＤSATDbestの各絶対値より、以下の(2)式を用いてベクトル差分誤差ＭＶＤestを生成する。
【００４９】
ＭＶＤest＝｜ＭＶＤSADbest｜−｜ＭＶＤSATDbest｜      ・・・(2)
そして動きベクトル決定部１０３は、以下の(3)，(4)式を条件式として、動きベクトル（ＭＶ）を決定する。但し、(3)，(4)色においてａ，ｂは予め定められた係数である。
【００５０】
if：Ｄest≦（ａ・ＭＶＤest＋ｂ）
ＭＶ＝ＭＶSADbest                        ・・・(3)
if：Ｄest＞（ａ・ＭＶＤest＋ｂ）
ＭＶ＝ＭＶSATDbest                      ・・・(4)
図６は、(3)，(4)式が表す関係を示す図である。同図に示すように本実施形態によれば、直線Ｄest＝（ａ・ＭＶＤest＋ｂ）を境界として、図中に斜線で示した領域では上記(3)式に従ってＳＡＤより求めたＭＶ（ＭＶSADbest）が選択される。それ以外の領域では上記(4)式に従ってＳＡＴＤより求めたＭＶ（ＭＶSATDbest）が選択されることが分かる。
【００５１】
以上説明したように本実施形態によれば、ＳＡＤ及びＳＡＴＤをブロックマッチングの相関値として用い、かつ周辺マクロブロックの動きベクトルを用いて動きベクトルを決定する。これにより、ＳＡＤのみを相関値として用いてブロック・マッチングを行う場合に比べて、画像の符号量を低減させることがでる。さらに、ＳＡＴＤのみを相関値として用いた場合に比べて、動きベクトルの符号の発生量を低減させることができる。したがって、全体として良好な符号化効率を得ることができる。
【００５２】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。
【００５３】
図７は、第２実施形態における動きベクトル探索装置の構成を示すブロック図である。図７において、上述した第１実施形態の図１と同様の構成には同一番号を付し、説明を省略する。
【００５４】
同図において、動きベクトル決定部７０３が、第２実施形態における特徴的な構成である。この動きベクトル決定部７０３における、上述した第１実施形態の動きベクトル決定部１０３との違いは、符号量情報を新たな入力として設け、該符号量情報を動きベクトル決定のための判定要素として加味したところにある。該符号量情報は、現時点における累積符号量のうち、動きベクトルを符号化して得た符号量の占める割合を表すものであり、動きベクトルによる符号化を行う外部の符号化部にて算出される。
【００５５】
動きベクトル決定のための判断式としては、第１実施形態の動きベクトル決定部１０３における判断式と同じものが使用でき、係数ａのみを符号量情報によって変化させることで、より最適な動きベクトルの選択が可能となる。すなわち、全体の符号量のうち、動きベクトルの符号量の占める割合が大きいほど係数ａの値を大きく、動きベクトルの符号量の占める割合が小さいほど係数ａの値を小さくとるように調整する。
【００５６】
以上説明したように第２実施形態によれば、全体の符号量のうち動きベクトルの符号量の占める割合に応じて動きベクトルの決定の判断式の係数を変化させることによって、より精度のよい動きベクトル探索を行うことができる。
【００５７】
＜他の実施形態＞
本発明は例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、撮影装置、webアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００５８】
本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。なお、この場合のプログラムとは、実施形態において図に示したフローチャートに対応したコンピュータ可読のプログラムである。
【００５９】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００６０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【００６１】
プログラムを供給するための記録媒体としては、以下に示す媒体がある。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM，DVD-R)などである。
【００６２】
プログラムの供給方法としては、以下に示す方法も可能である。すなわち、クライアントコンピュータのブラウザからインターネットのホームページに接続し、そこから本発明のコンピュータプログラムそのもの(又は圧縮され自動インストール機能を含むファイル)をハードディスク等の記録媒体にダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【００６３】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることも可能である。すなわち該ユーザは、その鍵情報を使用することによって暗号化されたプログラムを実行し、コンピュータにインストールさせることができる。
【００６４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００６５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、実行されることによっても、前述した実施形態の機能が実現される。すなわち、該プログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことが可能である。
【図面の簡単な説明】
【００６６】
【図１】本発明に係る一実施形態における動きベクトル探索装置の構成を示すブロック図である。
【図２】一般的なブロックマッチングによる動きベクトル探索の概念を示す図である。
【図３】従来の動きベクトル探索装置の構成例を示すブロック図である。
【図４】従来の動き検出処理において、発生符号量は少ないが大きいＳＡＤ値が現れる例を示す図である。
【図５】本実施形態における各探索ポイントにおけるＳＡＤ値及びＳＡＴＤ値の例を示す図である。
【図６】本実施形態におけるＭＶ判定例を示す図である。
【図７】第２実施形態における動きベクトル探索装置の構成例を示すブロック図である。
【図１】
2009272701.tif 000003
【図２】
2009272701.tif 000004
【図３】
2009272701.tif 000005
【図４】
2009272701.tif 000006
【図５】
2009272701.tif 000007
【図６】
2009272701.tif 000008
【図７】
2009272701.tif 000009