(57)【要約】【課題】  動きベクトルのビット量と差分量とのトレードオフで最適な動きベクトルを求め、かつパイプライン構成で高速に動きベクトル検出を行うことが可能な動きベクトル検出装置および動きベクトル検出方法を提供する。【解決手段】  動きベクトル検出装置１００は、各探索ブロックと入力ブロックとから算出される歪量、および探索ブロック位置の動きベクトルと第１予測ベクトルと重み付け係数とから算出される補正値に基づいて評価値を算出し、入力ブロックの位置と評価値が最小となる探索ブロックの位置に基づいて、入力ブロックの第１動きベクトルを検出する第１動き検出部１０２と、重み付け係数を算出する重み付け係数計算部１０３、第１動きベクトルに基づいて第１予測ベクトルを生成する予測ベクトル生成部１０４と、各探索ブロックと入力ブロックとから算出される歪量のみを評価値として動きベクトル検出を行う第２動き検出部１０５とを備える。【選択図】        図１
2006050294.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を所定サイズのブロックに分割し、各入力ブロックの参照画像に対する動きベクトルをｎ段（ｎは２以上の自然数）のパイプライン処理によって検出する動きベクトル検出装置であって、
前記参照画像における所定の探索範囲内の前記ブロック単位の複数の探索ブロックと前記入力ブロックとから算出される歪量、および前記探索ブロック位置の動きベクトルと第１予測ベクトルと重み付け係数とから算出される補正値に基づいて評価値を前記探索ブロック毎に算出し、前記入力ブロックの位置と前記評価値が最小となる探索ブロックの位置に基づいて、前記入力ブロックの第１動きベクトルを検出する第１動きベクトル検出手段と、
第ｋ動きベクトル検出手段（ｋは１からｎ−１の自然数）で検出された第ｋ動きベクトルにより特定される位置を中心とする所定の探索範囲内の複数の探索ブロックと前記入力ブロックとから探索ブロック毎に算出される歪量を評価値とし、前記入力ブロックの位置と前記評価値が最小となる探索位置に基づいて、前記入力ブロックの第ｋ＋１動きベクトルを検出する第ｋ＋１動きベクトル検出手段と、
前記第１動きベクトル検出手段で既に検出された他の入力ブロックの第１動きベクトルに基づいて前記第１予測ベクトルを生成し、生成した前記第１予測ベクトルを前記第１動きベクトル検出手段に通知する第１予測ベクトル生成手段と
を備えることを特徴とする動きベクトル検出装置。
【請求項２】
前記動きベクトル検出装置は、さらに、
前記第ｋ＋１動きベクトル検出手段で既に検出された他の入力ブロックの前記第ｋ＋１動きベクトルに基づいて第ｋ＋１予測ベクトルを生成し、生成した前記第ｋ＋１予測ベクトルを前記第ｋ＋１動きベクトル検出手段に通知する第ｋ＋１予測ベクトル生成手段を備え、
前記第ｋ＋１動きベクトル検出手段は、前記評価値を前記歪量、および前記探索ブロック位置の動きベクトルと前記第ｋ＋１予測ベクトルと重み付け係数とから算出される補正値に基づいて算出する
ことを特徴とする請求項１記載の動きベクトル検出装置。
【請求項３】
前記第１予測ベクトル生成手段は、生成した前記第１予測ベクトルを前記第ｋ＋１動きベクトル検出手段に通知し、
前記第ｋ＋１動きベクトル検出手段は、前記評価値を前記歪量、および前記探索ブロック位置の動きベクトルと前記第１予測ベクトルと重み付け係数とから算出される補正値に基づいて算出する
ことを特徴とする請求項１記載の動きベクトル検出装置。
【請求項４】
前記第１動きベクトル検出手段および前記第ｋ＋１動きベクトル検出手段は、前記入力ブロック単位、または前記入力ブロックを所定サイズに分割した入力サブブロック単位に前記動きベクトルを検出する
ことを特徴とする請求項１〜請求項３のいずれか１項に記載の動きベクトル検出装置。
【請求項５】
前記歪量は、前記入力ブロックおよび前記探索ブロックを構成する各画素の画素値に基づいて算出される差分絶対値の総和、差分の分散、および２乗誤差の何れかである
ことを特徴とする請求項１〜請求項４のいずれか１項に記載の動きベクトル検出装置。
【請求項６】
前記第１予測ベクトル生成手段は、前記第１動きベクトル検出手段で既に検出された、前記入力ブロックの左隣に位置する入力ブロックの第１動きベクトルを前記第１予測ベクトルとする
ことを特徴とする請求項１〜請求項５のいずれか１項に記載の動きベクトル検出装置。
【請求項７】
前記第ｋ＋１予測ベクトル生成手段は、前記第ｋ＋１動きベクトル検出手段で既に検出された、前記入力ブロックの左隣に位置する入力ブロックの第ｋ＋１動きベクトルを前記第ｋ＋１予測ベクトルとする
ことを特徴とする請求項１〜請求項６のいずれか１項に記載の動きベクトル検出装置。
【請求項８】
前記第１予測ベクトル生成手段は、前記第１動きベクトル検出手段で既に検出された、前記入力ブロックに隣接する一つ以上の入力ブロックの第１動きベクトルの平均値、中央値、最頻値の何れかを前記第１予測ベクトルとする
ことを特徴とする請求項１〜請求項７のいずれか１項に記載の動きベクトル検出装置。
【請求項９】
前記第ｋ＋１予測ベクトル生成手段は、前記第ｋ＋１動きベクトル検出手段で既に検出された、前記入力ブロックに隣接する一つ以上の入力ブロックの第ｋ＋１動きベクトルの平均値、中央値、最頻値の何れかを前記第１予測ベクトルとする
ことを特徴とする請求項１〜請求項８のいずれか１項に記載の動きベクトル検出装置。
【請求項１０】
前記第１動きベクトル検出手段および前記第ｋ＋１動きベクトル検出手段は、前記重み付け係数をそれぞれ異なる計算方法で算出する
ことを特徴とする請求項２〜請求項９のいずれか１項に記載の動きベクトル検出装置。
【請求項１１】
前記第１予測ベクトル生成手段および前記第ｋ＋１予測ベクトル生成手段は、前記第１予測ベクトルおよび前記第ｋ＋１予測ベクトルをそれぞれ異なる計算方法で生成する
ことを特徴とする請求項２〜請求項１０のいずれか１項に記載の動きベクトル検出装置。
【請求項１２】
入力画像を所定サイズのブロックに分割し、各入力ブロックの参照画像に対する動きベクトルを２段階の処理によって検出する動きベクトル検出装置であって、
前記参照画像における所定の探索範囲内の前記ブロック単位の複数の探索ブロックと前記入力ブロックとから算出される歪量、および前記探索ブロック位置の動きベクトルと第１予測ベクトルと重み付け係数とから算出される補正値に基づいて評価値を前記探索ブロック毎に算出し、前記入力ブロックの位置と前記評価値が最小となる探索ブロックの位置に基づいて、前記入力ブロックの第１動きベクトルを検出する第１動きベクトル検出手段と、
第１動きベクトル検出手段で検出された第１動きベクトルにより特定される位置を中心とする所定の探索範囲内の複数の探索ブロックと前記入力ブロックとから探索ブロック毎に算出される歪量を評価値とし、前記入力ブロックの位置と前記評価値が最小となる探索位置に基づいて、前記入力ブロックの第２動きベクトルを検出する第２動きベクトル検出手段と、
前記第１動きベクトル検出手段で既に検出された他の入力ブロックの第１動きベクトルに基づいて前記第１予測ベクトルを生成し、生成した前記第１予測ベクトルを前記第１動きベクトル検出手段に通知する第１予測ベクトル生成手段と
を備えることを特徴とする動きベクトル検出装置。
【請求項１３】
前記第１動きベクトル検出手段は、前記第１動きベクトルを整数精度で検出し、
前記第２動きベクトル検出手段は、前記第２動きベクトルを小数精度で検出する
ことを特徴とする請求項１２記載の動きベクトル検出装置。
【請求項１４】
前記動きベクトル検出装置は、さらに、
前記第２動きベクトル検出手段で既に検出された他の入力ブロックの前記第２動きベクトルに基づいて第２予測ベクトルを生成し、生成した前記第２予測ベクトルを前記第２動きベクトル検出手段に通知する第２予測ベクトル生成手段を備え、
前記第２動きベクトル検出手段は、前記評価値を前記歪量、および前記探索ブロック位置の動きベクトルと前記第２予測ベクトルと重み付け係数とから算出される補正値に基づいて算出する
ことを特徴とする請求項１３記載の動きベクトル検出装置。
【請求項１５】
入力画像を所定サイズのブロックに分割し、各入力ブロックの参照画像に対する動きベクトルをｎ段（ｎは２以上の自然数）のパイプライン処理によって検出する動きベクトル検出方法であって、
前記参照画像における所定の探索範囲内の前記ブロック単位の複数の探索ブロックと前記入力ブロックとから算出される歪量、および前記探索ブロック位置の動きベクトルと第１予測ベクトルと重み付け係数とから算出される補正値に基づいて評価値を前記探索ブロック毎に算出し、前記入力ブロックの位置と前記評価値が最小となる探索ブロックの位置に基づいて、前記入力ブロックの第１動きベクトルを検出する第１動きベクトル検出ステップと、
第ｋ動きベクトル検出ステップ（ｋは１からｎ−１の自然数）により検出された第ｋ動きベクトルにより特定される位置を中心とする所定の探索範囲内の複数の探索ブロックと前記入力ブロックとから探索ブロック毎に算出される歪量を評価値とし、前記入力ブロックの位置と前記評価値が最小となる探索位置に基づいて、前記入力ブロックの第ｋ＋１動きベクトルを検出する第ｋ＋１動きベクトル検出ステップと、
前記第１動きベクトル検出ステップにより既に検出された他の入力ブロックの第１動きベクトルに基づいて前記第１予測ベクトルを生成し、生成した前記第１予測ベクトルを前記第１動きベクトル検出ステップに通知する第１予測ベクトル生成ステップと
を含むことを特徴とする動きベクトル検出方法。
【請求項１６】
入力画像を所定サイズのブロックに分割し、各入力ブロックの参照画像に対する動きベクトルをｎ段（ｎは２以上の自然数）のパイプライン処理によって検出するためのプログラムであって、
前記参照画像における所定の探索範囲内の前記ブロック単位の複数の探索ブロックと前記入力ブロックとから算出される歪量、および前記探索ブロック位置の動きベクトルと第１予測ベクトルと重み付け係数とから算出される補正値に基づいて評価値を前記探索ブロック毎に算出し、前記入力ブロックの位置と前記評価値が最小となる探索ブロックの位置に基づいて、前記入力ブロックの第１動きベクトルを検出する第１動きベクトル検出ステップと、
第ｋ動きベクトル検出ステップ（ｋは１からｎ−１の自然数）により検出された第ｋ動きベクトルにより特定される位置を中心とする所定の探索範囲内の複数の探索ブロックと前記入力ブロックとから探索ブロック毎に算出される歪量を評価値とし、前記入力ブロックの位置と前記評価値が最小となる探索位置に基づいて、前記入力ブロックの第ｋ＋１動きベクトルを検出する第ｋ＋１動きベクトル検出ステップと、
前記第１動きベクトル検出ステップにより既に検出された他の入力ブロックの第１動きベクトルに基づいて前記第１予測ベクトルを生成し、生成した前記第１予測ベクトルを前記第１動きベクトル検出ステップに通知する第１予測ベクトル生成ステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項１７】
入力画像を所定サイズのブロックに分割し、各入力ブロックの参照画像に対する動きベクトルをｎ段（ｎは２以上の自然数）のパイプライン処理によって検出するための集積回路であって、
前記参照画像における所定の探索範囲内の前記ブロック単位の複数の探索ブロックと前記入力ブロックとから算出される歪量、および前記探索ブロック位置の動きベクトルと第１予測ベクトルと重み付け係数とから算出される補正値に基づいて評価値を前記探索ブロック毎に算出し、前記入力ブロックの位置と前記評価値が最小となる探索ブロックの位置に基づいて、前記入力ブロックの第１動きベクトルを検出する第１動きベクトル検出手段と、
第ｋ動きベクトル検出手段（ｋは１からｎ−１の自然数）で検出された第ｋ動きベクトルにより特定される位置を中心とする所定の探索範囲内の複数の探索ブロックと前記入力ブロックとから探索ブロック毎に算出される歪量を評価値とし、前記入力ブロックの位置と前記評価値が最小となる探索位置に基づいて、前記入力ブロックの第ｋ＋１動きベクトルを検出する第ｋ＋１動きベクトル検出手段と、
前記第１動きベクトル検出手段で既に検出された他の入力ブロックの第１動きベクトルに基づいて前記第１予測ベクトルを生成し、生成した前記第１予測ベクトルを前記第１動きベクトル検出手段に通知する第１予測ベクトル生成手段と
を備えることを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像のピクチャ間予測符号化に用いる動きベクトルを検出する動きベクトル検出装置および動きベクトル検出方法に関するものである。
【背景技術】
【０００２】
ＭＰＥＧ方式（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  ｉｍａｇｅ  ｃｏｄｉｎｇ  Ｅｘｐａｒｔｓ  Ｇｒｏｕｐ）のような動画像のピクチャ間相関を利用した画像圧縮方式では、動き補償を行うブロック単位で動きベクトルの検出が必要である。従来、この動きベクトルを検出する回路として、動きベクトルの情報量を削減することができる動きベクトル検出回路が提案されている（例えば、特許文献１参照。）。
【０００３】
図８は従来の動きベクトル検出回路の構成を示すブロック図である。この動きベクトル検出回路は、図８に示すようにフレームメモリ６１、６２、動きベクトル格納用メモリ６３、ブロック間差分演算部６４、付加量演算部６５、および比較器６６を備えている。ここで、ブロック間差分演算部６４は、２５６個のブロック間差分演算回路６４ａ、６４ｂ、…、６４ｃを備え、また、付加量演算部６５も、２５６個の付加量演算回路６５ａ、６５ｂ、…、６５ｃを備え、２５６点の探索を行うものとする。
【０００４】
まず、ブロック間差分演算回路６４ａは、フレームメモリ６２から入力される原画マクロブロック（以下、原画ＭＢともいう）と、フレームメモリ６１から入力される探索マクロブロック（以下、探索ＭＢともいう）との差分を計算し、差分量として出力する。また、ブロック間差分演算回路６４ｂは、ブロック間差分演算回路６４ａにて使用されたものと同一の原画ＭＢと、ブロック間差分演算回路６４ａにて使用されたものから１つシフトした探索ＭＢとの差分量を出力する。同様にして、２５６番目のブロック間差分演算回路６４ｃは、ブロック間差分演算回路６４ａにて使用されたものと同一の原画ＭＢと、シフトされた探索ＭＢとの差分量を出力する。そして、付加量演算回路６５ａ、６５ｂ、…、６５ｃは、それぞれの差分量に付加量を加算して補正差分量を出力し、隣接するマクロブロックの補正差分量により動きベクトルを符号化する。次に、比較器６６は、原画ＭＢと探索ＭＢとの間の相関度が最も高い最適動きベクトルを決定する。このとき、付加量演算回路では、複数の動きベクトルが有する水平成分及び垂直成分のそれぞれと符号化状態とに依存して付加量を決定する。具体的には、ｎ番目の探索点における動きベクトルＶｎをＶｎ＝（ｖｎｘ、ｖｎｙ）とし、また、動き格納用メモリ６３に格納している１探索マクロブロック前の動き探索により決定した前動きベクトルＰＶをＰＶ＝（ｐｖｘ、ｐｖｙ）としたときに、ブロック差分量の付加量Ａｄｄｎは、次式で得られる。
【０００５】
Ａｄｄｎ＝α・（｜ｖｎｘ−ｐｖｘ｜＋｜ｖｎｙ−ｐｖｙ｜）
ここで、αは定数を表し、｜｜は絶対値を得る演算を表す。付加量は、前ブロック動きベクトルとの変化分が大きくなるにつれて大きくなるように設定され、そして、動きベクトルは、ピクチャにおいて左隣に位置する探索ＭＢの前動きベクトルに補正された補正差分量により符号化されるようになっている。
【特許文献１】特開２００１−１９７５０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、通常の動きベクトル検出では、評価値として原画ＭＢと探索ＭＢとの各画素の輝度の差分絶対値総和を求め、その評価値が最小値となる探索ＭＢの位置を求めることで動きベクトルを算出している。この通常の方法では、低いビットレートで符号化するときに、動きベクトルに関するビット量は変えられないので、差分量に関するビット量を削減することでビットレートを低減しているため、画質の劣化が著しいという課題がある。
【０００７】
一方、上記の従来例では、過去に検出された動きベクトルに対する探索位置の動きベクトルの変化量から付加量を求め、この付加量を加算した評価値が最小値となる探索ＭＢの位置を求めることで動きベクトルを算出し、動きベクトルおよび差分量それぞれに関するビット量が最適となるような点を求めている。
【０００８】
しかしながら、この方法では、付加量を決定するために用いている過去に検出された動きベクトルは、動きベクトルと符号化の状態が決定されている必要があるため、パイプライン構成をとることが困難であった。
【０００９】
そこで、本発明は上記の事情に鑑みてなされたものであり、動きベクトルのビット量と差分量とのトレードオフで最適な動きベクトルを求め、かつパイプライン構成で高速に動きベクトル検出を行うことが可能な動きベクトル検出装置および動きベクトル検出方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明に係る動きベクトル検出装置は、入力画像を所定サイズのブロックに分割し、各入力ブロックの参照画像に対する動きベクトルをｎ段（ｎは２以上の自然数）のパイプライン処理によって検出する動きベクトル検出装置であって、前記参照画像における所定の探索範囲内の前記ブロック単位の複数の探索ブロックと前記入力ブロックとから算出される歪量、および前記探索ブロック位置の動きベクトルと第１予測ベクトルと重み付け係数とから算出される補正値に基づいて評価値を前記探索ブロック毎に算出し、前記入力ブロックの位置と前記評価値が最小となる探索ブロックの位置に基づいて、前記入力ブロックの第１動きベクトルを検出する第１動きベクトル検出手段と、第ｋ動きベクトル検出手段（ｋは１からｎ−１の自然数）で検出された第ｋ動きベクトルにより特定される位置を中心とする所定の探索範囲内の複数の探索ブロックと前記入力ブロックとから探索ブロック毎に算出される歪量を評価値とし、前記入力ブロックの位置と前記評価値が最小となる探索位置に基づいて、前記入力ブロックの第ｋ＋１動きベクトルを検出する第ｋ＋１動きベクトル検出手段と、前記第１動きベクトル検出手段で既に検出された他の入力ブロックの第１動きベクトルに基づいて前記第１予測ベクトルを生成し、生成した前記第１予測ベクトルを前記第１動きベクトル検出手段に通知する第１予測ベクトル生成手段とを備えることを特徴とする。
【００１１】
これによって、第１動きベクトル検出手段において、歪量に補正値を付加した評価値に基づいて動きベクトルを検出する構成としても、パイプライン構成を実現することができ、高速に動きベクトル検出を行うことができる。また、歪量に補正値を付加した評価値に基づいて動きベクトルを検出することで、動きベクトルのビット量と差分量とのトレードオフで最適な動きベクトルを求めることができる。
【００１２】
また、前記動きベクトル検出装置は、さらに、前記第ｋ＋１動きベクトル検出手段で既に検出された他の入力ブロックの前記第ｋ＋１動きベクトルに基づいて第ｋ＋１予測ベクトルを生成し、生成した前記第ｋ＋１予測ベクトルを前記第ｋ＋１動きベクトル検出手段に通知する第ｋ＋１予測ベクトル生成手段を備え、前記第ｋ＋１動きベクトル検出手段は、前記評価値を前記歪量、および前記探索ブロック位置の動きベクトルと前記第ｋ＋１予測ベクトルと重み付け係数とから算出される補正値に基づいて算出してもよい。
【００１３】
これによって、第１動きベクトル検出手段に加えて第ｋ＋１動きベクトル検出手段においても、歪量に補正値を付加した評価値に基づいて動きベクトルを検出する構成としても、パイプライン構成を実現することができ、高速に動きベクトル検出を行うことができる。また、各動きベクトル検出手段において歪量に補正値を付加した評価値に基づいて動きベクトルを検出することで、より最適な動きベクトルを求めることができる。
【００１４】
また、前記第１予測ベクトル生成手段は、生成した前記第１予測ベクトルを前記第ｋ＋１動きベクトル検出手段に通知し、前記第ｋ＋１動きベクトル検出手段は、前記評価値を前記歪量、および前記探索ブロック位置の動きベクトルと前記第１予測ベクトルと重み付け係数とから算出される補正値に基づいて算出してもよい。
【００１５】
これによって、第１動きベクトル検出手段に加えて第ｋ＋１動きベクトル検出手段においても、歪量に補正値を付加した評価値に基づいて動きベクトルを検出する構成としても、上記同様にパイプライン構成を実現することができ、高速に動きベクトル検出を行うことができる。また、各動きベクトル検出手段において補正値を算出する際に、第１予測ベクトルを用いることによって、構成を簡素化することができる。
【００１６】
また、前記第１動きベクトル検出手段および前記第ｋ＋１動きベクトル検出手段は、前記入力ブロック単位、または前記入力ブロックを所定サイズに分割した入力サブブロック単位に前記動きベクトルを検出してもよい。
【００１７】
これによって、各動きベクトル検出手段において、入力ブロック単位だけでなく、入力サブブロック単位にも動きベクトルを検出することができる。
なお、本発明は、このような動きベクトル検出装置として実現することができるだけでなく、このような動きベクトル検出装置が備える特徴的な手段をステップとする動きベクトル検出方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【発明の効果】
【００１８】
以上の説明から明らかなように、本発明に係る動きベクトル検出装置および動きベクトル検出方法によれば、動きベクトルのビット量と差分量とのトレードオフで最適な動きベクトルを求め、かつパイプライン構成で高速に動きベクトル検出を行うことが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の各実施の形態について、それぞれ図面を用いて説明する。
（実施の形態１）
図１は、本発明の実施の形態１に係る動きベクトル検出装置の構成を示すブロック図である。
【００２０】
動きベクトル検出装置１００は、２段のパイプラインで動きベクトルを検出するための装置であり、図１に示すようにフレームメモリ１０１、第１動き検出部１０２、重み付け係数計算部１０３、予測ベクトル生成部１０４、および第２動き検出部１０５を備えている。ここでは、第１動き検出部１０２は動きベクトル探索を整数画素精度で行い、第２動き検出部１０５は動きベクトル探索を第１動き検出部１０２で検出された第１動きベクトルＭＶ１を中心に半画素精度で行うものとする。また、動きベクトル検出を行う単位を１６×１６画素のブロックサイズのマクロブロックとし、参照画像が１フレームとした場合を例とする。また、ＭＰＥＧ２方式での符号化を行う場合を例として説明する。
【００２１】
まず、２段のパイプライン構成で動きベクトル検出を行う場合の概念について、図２を用いて説明する。
マクロブロック単位での動きベクトルを検出する場合、入力画像ＩＰを垂直、水平のそれぞれの方向で１６画素毎に分割し、画面の左上のマクロブロックを１番目の符号化対象マクロブロックＣＭＢとして、マクロブロック単位でラスタスキャン順に符号化対象マクロブロックＣＭＢの参照画像に対する動きを示す動きベクトルの検出を行う。このとき、時刻ｎにおいて、第１動き検出部１０２は、第ｎ−１番目の符号化対象マクロブロックＣＭＢの整数精度の動きベクトルを出力し、第ｎ番目の符号化対象マクロブロックＣＭＢの整数精度の動きベクトルの検出を開始する。同じ時刻ｎに、第２動き検出部１０５では第ｎ−２番目の符号化対象マクロブロックＣＭＢの半画素精度の動きベクトルを出力し、第ｎ−１番目の符号化対象マクロブロックＣＭＢの半画素精度の動きベクトルの検出を開始する。このようにパイプライン構成の場合、２つの動き検出部を同時に動作させることが可能で、性能を約２倍にすることが可能となる。
【００２２】
フレームメモリ１０１は、入力画像ＩＰを蓄積し、符号化対象マクロブロックＣＭＢの位置情報であるＭＢ位置情報ＬＩに基づいて、マクロブロック単位で入力画像ＩＰの輝度データを符号化対象マクロブロックＣＭＢとして出力する。また、フレームメモリ１０１は、既に動きベクトルＭＶの検出が行われ、動き補償された画像データを参照画像として蓄積し、ＭＢ位置情報ＬＩに基づいて動きベクトルＭＶを検出する探索範囲単位で参照画像の輝度データを参照画像データＲＩとして出力する。
【００２３】
第１動き検出部１０２は、符号化対象マクロブロックＣＭＢと参照画像データＲＩ内で同じブロックサイズの最も相関の高い参照マクロブロックを選択し、参照マクロブロック位置とＭＢ位置情報ＬＩとに基づいて符号化対象マクロブロックＣＭＢの動きベクトルを算出し、第１動きベクトルＭＶ１として出力する。第１動き検出部１０２は、動きベクトルを探索する時、探索範囲の左上からラスタスキャン順で１画素ずつずらした位置のそれぞれの探索マクロブロックと符号化対象マクロブロックＣＭＢとの各画素の差分絶対値を計算し、その総和に後述する補正値を付加した値を評価値として、この評価値が最も小さい値をとる位置の探索マクロブロックを参照マクロブロックとする。
【００２４】
第２動き検出部１０５は、第１動き検出部１０２と同様に動きベクトルの検出を行うが、探索範囲の中心が符号化対象マクロブロックＣＭＢの位置ではなく、第１動き検出部１０２から出力された第１動きベクトルＭＶ１が指し示す整数画素位置を中心とした探索範囲で、かつ半画素精度での探索を行う。第２動き検出部１０５では、各探索マクロブロックと符号化対象マクロブロックＣＭＢとの各画素の差分絶対値の総和である歪量のみを評価値として動きベクトル検出を行う。本実施の形態では、整数画素精度で検出した動きベクトルを中心に半画素精度で動きベクトルを探索する構成となっているので、整数画素位置の周辺８半画素位置など狭い範囲を探索するだけなので、動きベクトルの符号量に相当する補正値の変動が小さいと考えられるため、第２動き検出部１０５では歪量のみを評価値としている。
【００２５】
次に、第１動き検出部１０２で使用する補正値に関して説明する。前述した通り、各画素の差分絶対値の総和は差分マクロブロックの歪量に相当する部分であり、補正値は動きベクトルの符号量に相当する部分である。ＭＰＥＧ２規格では、動きベクトルを符号化するときには、左隣マクロブロックの符号化モード（Ｉｎｔｒａ／Ｉｎｔｅｒ符号化）に依存して決定される動きベクトル（予測ベクトル）の各成分との差分量を符号化する。これを考慮して、以下の式１から補正値を求める。
【００２６】
補正値＝λ×（｜ｖｍｘ−ｐｍｖｘ｜）＋（｜ｖｍｙ−ｐｍｖｙ｜）  …（式１）
ここで、λは重み付け係数、Ｖｍ＝（ｖｍｘ、ｖｍｙ）はｍ番目の探索位置における動きベクトル、Ｐｍｖ１＝（ｐｍｖｘ、ｐｍｖｙ）は左隣マクロブロックの動きベクトルである第１予測ベクトル、｜｜は絶対値計算を示す。
【００２７】
重み付け係数λは、重み付け係数計算部１０３で算出される値である。重み付け係数計算部１０３は、例えば量子化値Ｑをそのまま、または加工（例えば０．８５×Ｑ2等）する等の方法で重み付け係数λを算出する。なお、重み付け係数λは、例えばＰピクチャのときに４、Ｂピクチャのときに８というように固定しても構わない。
【００２８】
第１予測ベクトルＰｍｖ１は、第１動き検出部１０２から出力される整数精度の第１動きベクトルＭＶ１に基づいて予測ベクトル生成部１０４で生成される。ＭＰＥＧ２規格の場合、時刻ｎで出力されるｎ−１番目の符号化対象マクロブロックＣＭＢの第１動きベクトルＭＶ１をｎ番目の符号化対象マクロブロックＣＭＢの第１予測ベクトルＰｍｖ１とする。ただし、第１動き検出部１０２は、符号化対象マクロブロックＣＭＢの位置が入力画像ＩＰの左端にある場合、第１予測ベクトルＰｍｖ１の各成分は０として補正値を算出する。
【００２９】
以上のように、第１動き検出部１０２において、歪量に補正値を付加した評価値に基づいて動きベクトルを検出する際に、補正値の算出に左隣マクロブロックの第１動きベクトルＭＶ１に基づく第１予測ベクトルＰｍｖ１を用いることによって、パイプライン構成を実現することができ、高速に動きベクトル検出を行うことができる。
【００３０】
なお、予測ベクトル生成部１０４は、第１予測ベクトルＰｍｖ１として左隣マクロブロックの第１動きベクトルＭＶ１を用いるのではなく、周辺マクロブロックの動きベクトルを利用して第１予測ベクトルＰｍｖ１を決定することも可能である。例えば、図３（ａ）に示すように対象マクロブロックＸの上、右上、左の３つのマクロブロックＢ、Ｃ、Ｄの動きベクトルの各成分のメディアン値や、図３（ｂ）に示すように対象マクロブロックＸの左上、上、右上、左の４つのマクロブロックＡ、Ｂ、Ｃ、Ｄの動きベクトルの各成分の平均値や、周辺マクロブロックの動きベクトルの方向で最も多く向いている方向の動きベクトルの各成分の平均値或いはメディアン値などを第１予測ベクトルＰｍｖ１とすることも可能である。この場合、上記構成に加えて図４に示すように動きベクトル記憶部を備え、第２動き検出部１０５で検出された動きベクトルを記憶しておく。これによって、予測ベクトル生成部１０４は、第１動き検出部１０２で検出された第１動きベクトルＭＶ１に加えて、周辺マクロブロックの動きベクトルを利用して第１予測ベクトルＰｍｖ１を決定することができる。
【００３１】
また、第１動き検出部１０２がフレームベクトルとフィールドベクトルなどの、マクロブロックがとりうる複数のタイプの動きベクトルを同時に検出する構成の時、予測ベクトル生成部１０４は、フレームベクトルあるいはフィールドベクトルの何れかを固定或いは適応的に切換えて、第１予測ベクトルＰｍｖ１として出力する事も可能である。
【００３２】
また、本実施の形態では、パイプラインの段数を２段、動きベクトルを検出するブロックサイズを１６×１６画素、参照画像の数を１としたが、３段以上のパイプライン段数、他の大きさのブロックサイズ、２枚以上の参照画像でも同様に構成することが可能である。ｎ段（ｎは３以上の自然数）のパイプライン構成をとった場合、１段目からｋ段目（ｋは１からｎ−１までの自然数）までは歪量に補正値を加算した評価値で動きベクトル検出を行い、ｋ＋１段目以降は歪量のみで動きベクトル検出を行う構成にすることが可能である。
【００３３】
また、動きベクトル検出の評価値で、歪量を差分絶対値の総和としたが、差分二乗誤差や分散等の値にすることも可能である。
【００３４】
（実施の形態２）
実施の形態１では、１段目の動き検出部において歪量に補正値を付加した評価値に基づいて動きベクトルを検出し、２段目の動き検出部において歪量を評価値として動きベクトルを検出したが、本実施の形態では、１段目および２段目の動き検出部において歪量に補正値を付加した評価値に基づいて動きベクトルを検出する場合について説明する。
【００３５】
図５は、本発明の実施の形態２に係る動きベクトル検出装置の構成を示すブロック図である。
動きベクトル検出装置２００は、２段のパイプラインで動きベクトルを検出するための装置であり、図５に示すようにフレームメモリ２０１、第１動き検出部２０２、第１重み付け係数計算部２０３、第１予測ベクトル生成部２０４、第２動き検出部２０５、第２重み付け係数計算部２０６、および第２予測ベクトル生成部２０７を備えている。ここでは、実施の形態１と同様に１段目の第１動き検出部２０２は動きベクトル探索を整数画素精度で行い、２段目の第２動き検出部２０５は動きベクトル探索を第１動き検出部２０２で検出された第１動きベクトルＭＶ１を中心に半画素精度で行うものとする。また、動きベクトル検出を行う単位を１６×１６画素のブロックサイズのマクロブロックとし、参照画像が１フレームとした場合を例とする。また、ＭＰＥＧ２方式での符号化を行う場合を例として説明する。
【００３６】
実施の形態１の構成と異なるのは、第２動き検出部２０５、第２重み付け係数計算部２０６、および第２予測ベクトル生成部２０７であるので、この部分について説明し、実施の形態１の構成と同様の部分については詳細な説明を省略する。
【００３７】
第２動き検出部２０５は、第１動き検出部３０６と同様に動きベクトルの探索を行う時の評価値を各画素の差分絶対値の総和である歪量に動きベクトルの符号量に相当する補正値を加えた値として、その評価値が最小値をとる参照マクロブロック位置とＭＢ位置情報ＬＩから符号化対象マクロブロックＣＭＢの動きベクトルを算出し、出力する。このとき、第２動き検出部２０５は、補正値として上記の式１を用いて算出される値を用いる。
【００３８】
第２重み付け係数計算部２０６は、例えば量子化値Ｑをそのまま、または加工（例えば０．８５×Ｑ2等）する等の方法で重み付け係数λを算出する。なお、重み付け係数λは、例えばＰピクチャのときに４、Ｂピクチャのときに８というように固定しても構わない。
【００３９】
第２予測ベクトル生成部２０７は、第２動き検出部２０５から出力される半画素精度の動きベクトルに基づいて第２予測ベクトルＰｍｖ２を生成する。ＭＰＥＧ２規格の場合、時刻ｎで出力されるｎ−１番目の符号化対象マクロブロックＣＭＢの動きベクトルをｎ番目の符号化対象マクロブロックＣＭＢの第２予測ベクトルＰｍｖ２とする。ただし、第２動き検出部２０５は、符号化対象マクロブロックＣＭＢの位置が入力画像ＩＰの左端にある場合、第２予測ベクトルＰｍｖ２の各成分は０として補正値を算出する。
【００４０】
以上のように、第１動き検出部２０２において、歪量に補正値を付加した評価値に基づいて動きベクトルを検出する際に、補正値の算出に左隣マクロブロックの第１動きベクトルＭＶ１に基づく第１予測ベクトルＰｍｖ１を用い、第２動き検出部２０５において、歪量に補正値を付加した評価値に基づいて動きベクトルを検出する際に、補正値の算出に左隣マクロブロックの動きベクトルに基づく予測ベクトルを用いることによって、パイプライン構成を実現することができ、高速に動きベクトル検出を行うことができる。
【００４１】
なお、第２予測ベクトル生成部２０７は、実施の形態１においての説明と同様に、第２予測ベクトルＰｍｖ２として左隣マクロブロックの動きベクトルを用いるのではなく、周辺マクロブロックの動きベクトルを利用して第２予測ベクトルＰｍｖ２を決定することも可能である。例えば、図３（ａ）に示すように対象マクロブロックＸの上、右上、左の３つのマクロブロックＢ、Ｃ、Ｄの動きベクトルの各成分のメディアン値や、図３（ｂ）に示すように対象マクロブロックＸの左上、上、右上、左の４つのマクロブロックＡ、Ｂ、Ｃ、Ｄの動きベクトルの各成分の平均値や、周辺マクロブロックの動きベクトルの方向で最も多く向いている方向の動きベクトルの各成分の平均値或いはメディアン値などを第２予測ベクトルＰｍｖ２とすることも可能である。この場合、上記構成に加えて動きベクトル記憶部を備え、第２動き検出部２０５で検出された動きベクトルを記憶しておく。これによって、第２予測ベクトル生成部２０７は、第２動き検出部２０５で検出された動きベクトルに加えて、周辺マクロブロックの動きベクトルを利用して第２予測ベクトルＰｍｖ２を決定することができる。
【００４２】
また、第２動き検出部２０５がフレームベクトルとフィールドベクトルなどの、マクロブロックがとりうる複数のタイプの動きベクトルを同時に検出する構成の時、第２予測ベクトル生成部２０７は、フレームベクトルあるいはフィールドベクトルの何れかを固定或いは適応的に切換えて、第２予測ベクトルＰｍｖとして出力する事も可能である。
【００４３】
また、本実施の形態では、パイプラインの段数を２段、動きベクトルを検出するブロックサイズを１６×１６画素、参照画像の数を１としたが、３段以上のパイプライン段数、他の大きさのブロックサイズ、２枚以上の参照画像でも同様に構成することが可能である。ｎ段（ｎは３以上の自然数）のパイプライン構成をとった場合、１段目からｋ段目（ｋは１からｎ−１までの自然数）までは歪量に補正値を加算した評価値で動きベクトル検出を行い、ｋ＋１段目以降は歪量のみで動きベクトル検出を行う構成にすることが可能である。
【００４４】
また、動きベクトル検出の評価値で、歪量を差分絶対値の総和としたが、差分二乗誤差や分散等の値にすることも可能である。
（実施の形態３）
実施の形態２では、１段目および２段目の動き検出部において歪量に補正値を付加した評価値に基づいて動きベクトルを検出する際に、それぞれ対応する予測ベクトル生成部で生成された予測ベクトルを用いて補正値を算出したが、本実施の形態では、１段目および２段目の動き検出部において補正値を算出する際に用いる予測ベクトルを共通とする場合について説明する。
【００４５】
図６は、本発明の実施の形態３に係る動きベクトル検出装置の構成を示すブロック図である。
動きベクトル検出装置３００は、２段のパイプラインで動きベクトルを検出するための装置であり、図６に示すようにフレームメモリ３０１、第１動き検出部３０２、重み付け係数計算部３０３、予測ベクトル生成部３０４、および第２動き検出部３０５を備えている。ここでは、実施の形態１と同様に１段目の第１動き検出部３０２は動きベクトル探索を整数画素精度で行い、２段目の第２動き検出部３０５は動きベクトル探索を第１動き検出部３０２で検出された第１動きベクトルＭＶ１を中心に半画素精度で行うものとする。また、動きベクトル検出を行う単位を１６×１６画素のブロックサイズのマクロブロックとし、参照画像が１フレームとした場合を例とする。また、ＭＰＥＧ２方式での符号化を行う場合を例として説明する。
【００４６】
実施の形態１の構成と異なるのは、重み付け係数計算部３０６と予測ベクトル生成部３０４の出力が第１動き検出部３０２だけではなく、第２動き検出部３０５へも入力されている点であるので、この部分について説明し、実施の形態１、２の構成と同様の部分については詳細な説明を省略する。
【００４７】
第２動き検出部３０５は、第１動き検出部３０２と同様に動きベクトルの探索を行う時の評価値を各画素の差分絶対値の総和である歪量に動きベクトルの符号量に相当する補正値を加えた値として、その評価値が最小値をとる参照マクロブロック位置とＭＢ位置情報ＬＩから符号化対象マクロブロックＣＭＢの動きベクトルを算出し、出力する。このとき、第２動き検出部３０５は、補正値として上記の式１を用いて算出される値を用いる。
【００４８】
重み付け係数計算部３０６は、例えば量子化値Ｑをそのまま、または加工（例えば０．８５×Ｑ2等）する等の方法で重み付け係数λを算出し、算出した重み付け係数λを第１動き検出部３０２および第２動き検出部３０５に出力する。なお、重み付け係数λは、例えばＰピクチャのときに４、Ｂピクチャのときに８というように固定しても構わない。
【００４９】
予測ベクトル生成部３０４は、第１動き検出部３０２から出力される整数精度の第１動きベクトルＭＶ１に基づいて第１予測ベクトルＰｍｖ１を生成し、生成した第１予測ベクトルＰｍｖ１を第１動き検出部３０２および第２動き検出部３０５に出力する。ＭＰＥＧ２規格の場合、時刻ｎで出力されるｎ−１番目の符号化対象マクロブロックＣＭＢの動きベクトルをｎ番目の符号化対象マクロブロックＣＭＢの第１予測ベクトルＰｍｖ１とする。ただし、第１動き検出部３０２および第２動き検出部３０５は、符号化対象マクロブロックＣＭＢの位置が入力画像ＩＰの左端にある場合、第１予測ベクトルＰｍｖ１の各成分は０として補正値を算出する。
【００５０】
以上のように、第１動き検出部３０２および第２動き検出部３０５において、歪量に補正値を付加した評価値に基づいて動きベクトルを検出する際に、補正値の算出に左隣マクロブロックの第１動きベクトルＭＶ１に基づく第１予測ベクトルＰｍｖ１を用いることによって、パイプライン構成を実現することができ、高速に動きベクトル検出を行うことができる。また、第１動き検出部３０２および第２動き検出部３０５において補正値を算出する際に、第１予測ベクトルＰｍｖ１を共通に用いることによって、構成を簡素化することができる。
【００５１】
なお、予測ベクトル生成部３０４は、実施の形態１においての説明と同様に、第１予測ベクトルＰｍｖ１として左隣マクロブロックの動きベクトルを用いるのではなく、周辺マクロブロックの動きベクトルを利用して第１予測ベクトルＰｍｖ１を決定することも可能である。例えば、図３（ａ）に示すように対象マクロブロックＸの上、右上、左の３つのマクロブロックＢ、Ｃ、Ｄの動きベクトルの各成分のメディアン値や、図３（ｂ）に示すように対象マクロブロックＸの左上、上、右上、左の４つのマクロブロックＡ、Ｂ、Ｃ、Ｄの動きベクトルの各成分の平均値や、周辺マクロブロックの動きベクトルの方向で最も多く向いている方向の動きベクトルの各成分の平均値或いはメディアン値などを第１予測ベクトルＰｍｖ１とすることも可能である。この場合、上記構成に加えて動きベクトル記憶部を備え、第２動き検出部３０５で検出された動きベクトルを記憶しておく。これによって、予測ベクトル生成部３０４は、第１動き検出部３０２で検出された第１動きベクトルＭＶ１に加えて、周辺マクロブロックの動きベクトルを利用して第１予測ベクトルＰｍｖ１を決定することができる。
【００５２】
また、第１動き検出部３０２がフレームベクトルとフィールドベクトルなどの、マクロブロックがとりうる複数のタイプの動きベクトルを同時に検出する構成の時、予測ベクトル生成部３０４は、フレームベクトルあるいはフィールドベクトルの何れかを固定或いは適応的に切換えて、第１予測ベクトルＰｍｖ１として出力する事も可能である。
【００５３】
また、本実施の形態では、パイプラインの段数を２段、動きベクトルを検出するブロックサイズを１６×１６画素、参照画像の数を１としたが、３段以上のパイプライン段数、他の大きさのブロックサイズ、２枚以上の参照画像でも同様に構成することが可能である。ｎ段（ｎは３以上の自然数）のパイプライン構成をとった場合、１段目からｋ段目（ｋは１からｎ−１までの自然数）までは歪量に補正値を加算した評価値で動きベクトル検出を行い、ｋ＋１段目以降は歪量のみで動きベクトル検出を行う構成にすることが可能である。
【００５４】
また、動きベクトル検出の評価値で、歪量を差分絶対値の総和としたが、差分二乗誤差や分散等の値にすることも可能である。
（実施の形態４）
実施の形態１〜３では、１段目および２段目の動き検出部においてマクロブロック単位で動きベクトルを検出したが、本実施の形態では、マクロブロック単位またはマクロブロックをさらに分割したブロック単位で動きベクトルを検出する場合について説明する。
【００５５】
図７は、本発明の実施の形態４に係る動きベクトル検出装置の構成を示すブロック図である。
動きベクトル検出装置４００は、２段のパイプラインで動きベクトルを検出するための装置であり、図７に示すようにフレームメモリ４０１、第１動き検出部４０２、第１重み付け係数計算部４０３、第１予測ベクトル生成部４０４、第２動き検出部４０５、第２重み付け係数計算部４０６、第２予測ベクトル生成部４０７、および動きベクトル記憶部４０８を備えている。ここでは、実施の形態１と同様に１段目の第１動き検出部４０２は動きベクトル探索を整数画素精度で行い、２段目の第２動き検出部４０５は動きベクトル探索を第１動き検出部４０２で検出された第１動きベクトルＭＶ１を中心に半画素精度で行うものとする。また、動きベクトル検出を行う単位を１６×１６画素サイズの１つのマクロブロックまたはマクロブロックをさらに分割して得られる８×８画素サイズの４つのブロックとし、参照画像が１フレームとした場合を例とする。また、ＭＰＥＧ４方式での符号化を行う場合を例として説明する。
【００５６】
実施の形態１〜３の構成と異なるのは、第１動き検出部４０２および第２動き検出部４０５でマクロブロックだけではなくブロック毎の動きベクトルを検出することである。また、第１動き検出部４０２および第２動き検出部４０５での補正値の算出が異なる点であるので、この部分について説明し、実施の形態１〜３の構成と同様の部分については詳細な説明を省略する。
【００５７】
第１動き検出部４０２は、符号化対象マクロブロックＣＭＢの第１動きベクトルと、４つのブロックの第１動きベクトルを求める。すなわち、第１動き検出部４０２は、上記実施の形態１〜３と同様に符号化対象マクロブロックＣＭＢの第１動きベクトルを算出する。また、第１動き検出部４０２は、各ブロックについても参照画像データＲＩ内で同じブロックサイズの探索ブロックごとに各画素の差分絶対値の総和である歪量に補正値を加えた値を評価値として、その評価値が最小値をとる参照ブロック位置とＭＢ位置情報ＬＩとに基づいて各ブロックの動きベクトルをそれぞれ求める。このとき、第１動き検出部４０２は、補正値として上記の式１を用いて算出される値を用いる。
【００５８】
予測ベクトル生成部４０４は、第１動き検出部４０２から出力される整数精度の第１動きベクトルＭＶ１に基づいて第１予測ベクトルＰｍｖ１を生成し、生成した第１予測ベクトルＰｍｖ１を第１動き検出部４０２に出力する。このとき、４つのブロックの予測ベクトルは隣接するブロックのベクトルを用いることが望ましいが、マクロブロック単位でのパイプライン処理で動きベクトル検出を行うため、左隣ブロックの動きベクトルが検出されていない状態で４つのブロックの動きベクトルを検出する必要がある。そのため、第２予測ベクトルＰｍｖ２を左隣のマクロブロックの動きベクトルとして補正値を算出する。
【００５９】
第２動き検出部４０５は、第１動き検出部４０２と同様に評価値を算出し、符号化対象マクロブロックＣＭＢの動きベクトルと、４つのブロックの動きベクトルを求める。
第２予測ベクトル生成部４０７は、第２動き検出部４０５から出力される半画素精度の動きベクトルＭＶ、または第１動き検出部４０２から出力される整数精度の第１動きベクトルＭＶ１に基づいて、ＭＰＥＧ４で規定される近傍ブロック位置の動きベクトルのメディアン値を算出し、第２予測ベクトルＰｍｖ２とする。
【００６０】
以上のように、第１動き検出部４０２において補正値の算出に左隣マクロブロックの第１動きベクトルＭＶ１に基づく第１予測ベクトルＰｍｖ１を用い、第２動き検出部４０５において補正値の算出に動きベクトルＭＶまたは第１動きベクトルＭＶ１に基づく第２予測ベクトルＰｍｖ２を用いることによって、マクロブロックを分割したブロック単位で動きベクトル検出を行う場合であっても、パイプライン構成を実現することができ、高速に動きベクトル検出を行うことができる。
【００６１】
なお、第１予測ベクトル生成部４０４および第２予測ベクトル生成部４０７は、第１予測ベクトルＰｍｖ１および第２予測ベクトルＰｍｖ２として左隣マクロブロックの動きベクトルを用いるのではなく、周辺マクロブロックの動きベクトルを利用して仮予測ベクトルを決定することも可能である。例えば、図３（ａ）に示すように対象マクロブロックＸの上、右上、左の３つのマクロブロックＢ、Ｃ、Ｄの動きベクトルの各成分のメディアン値や、図３（ｂ）に示すように対象マクロブロックＸの左上、上、右上、左の４つのマクロブロックＡ、Ｂ、Ｃ、Ｄの動きベクトルの各成分の平均値や、周辺マクロブロックの動きベクトルの方向で最も多く向いている方向の動きベクトルの各成分の平均値或いはメディアン値などを仮予測ベクトルとすることも可能である。この場合、第１予測ベクトル生成部４０４は、第１動き検出部４０２で検出された第１動きベクトルＭＶ１に加えて、動きベクトル記憶部４０８に記憶されている周辺マクロブロックの動きベクトルを利用して第２予測ベクトルＰｍｖ２を決定すればよい。
【００６２】
また、第１動き検出部４０２および第２動き検出部４０５がフレームベクトルとフィールドベクトルなどの、マクロブロックがとりうる複数のタイプの動きベクトルを同時に検出する構成の時、第１予測ベクトル生成部４０４および第２予測ベクトル生成部４０７は、フレームベクトルあるいはフィールドベクトルの何れかを固定或いは適応的に切換えて、第１予測ベクトルＰｍｖ１および第２予測ベクトルＰｍｖ２として出力する事も可能である。
【００６３】
また、本実施の形態では、パイプラインの段数を２段、動きベクトルを検出するブロックサイズを１６×１６画素とサブブロックサイズを８×８画素、参照画像の数を１としたが、３段以上のパイプライン段数、他の大きさのブロックサイズ、２枚以上の参照画像でも同様に構成することが可能である。ｎ段（ｎは３以上の自然数）のパイプライン構成をとった場合、１段目からｋ段目（ｋは１からｎ−１までの自然数）までは歪量に補正値を加算した評価値で動きベクトル検出を行い、ｋ＋１段目以降は歪量のみで動きベクトル検出を行う構成にすることが可能である。
【００６４】
また、動きベクトル検出の評価値で、歪量を差分絶対値の総和としたが、差分二乗誤差や分散等の値にすることも可能である。
また、上記各実施の形態における図１、図４〜７に示したブロック図の各機能ブロックは典型的には集積回路であるＬＳＩとして実現される。このＬＳＩは１チップ化されても良いし、複数チップ化されても良い。（例えばメモリ以外の機能ブロックが１チップ化されていても良い。）ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【００６５】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【００６６】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【産業上の利用可能性】
【００６７】
以上のように本発明に係る動きベクトル検出装置は、ブロック間差分の歪量と動きベクトルの符号量のトレードオフで動きベクトルを検出することが可能で、例えば携帯電話、ＤＶＤ装置、およびパーソナルコンピュータ等における動画像符号化時等のパイプライン構造での動きベクトル検出等に適用できる。
【図面の簡単な説明】
【００６８】
【図１】本発明の実施の形態１に係る動きベクトル検出装置の構成を示すブロック図である。
【図２】２段のパイプライン構成の動きベクトル検出の概念を説明するための図である。
【図３】周辺マクロブロックの動きベクトルを利用した予測ベクトルの決定を説明するための図である。
【図４】本発明の実施の形態１に係る動きベクトル検出装置の変形例の構成を示すブロック図である。
【図５】本発明の実施の形態２に係る動きベクトル検出装置の構成を示すブロック図である。
【図６】本発明の実施の形態３に係る動きベクトル検出装置の構成を示すブロック図である。
【図７】本発明の実施の形態４に係る動きベクトル検出装置の構成を示すブロック図である。
【図８】従来の動きベクトル検出回路の構成を示すブロック図である。
【符号の説明】
【００６９】
１０１、２０１、３０１、４０１  フレームメモリ
１０２、２０１、３０２、４０２  第１動き検出部
１０３、３０３  重み付け係数計算部
１０４、３０４  予測ベクトル生成部
１０５、２０５、３０５、４０５  第２動き検出部
１１１、４０８  動きベクトル記憶部
２０３、４０３  第１重み付け係数計算部
２０４、４０４  第１予測ベクトル生成部
２０６、４０６  第２重み付け係数計算部
２０７、４０７  第２予測ベクトル生成部
【図１】
2006050294.tif 000003
【図２】
2006050294.tif 000004
【図３】
2006050294.tif 000005
【図４】
2006050294.tif 000006
【図５】
2006050294.tif 000007
【図６】
2006050294.tif 000008
【図７】
2006050294.tif 000009
【図８】
2006050294.tif 000010