(57)【要約】【課題】従来の動きベクトル検出装置には，回路規模が増大してしまうという課題があった。【解決手段】参照画像のＭ個の画素を１つの組の参照データとして出力する第１の参照レジスタ１であって，参照データを参照画像上水平方向に順次ずらしながら取り出して格納する第１の参照レジスタ１と，１組の参照データとＮ組の符号化データとの全ての組み合わせの誤差量を算出する１×Ｎ個の演算ユニット７〜９と，符号化ブロック内で最も端に位置する符号化データの組の誤差量を１サイクル遅延させて隣接する符号化データの組の誤差量に加算し，以下順次その加算結果を１サイクル遅延させ隣接する誤差量に加算していく累積加算構造によりＮ個の誤差量の総和を求める累積加算アレイ１０とを備えた動きベクトル検出装置である。【選択図】図１
2004214733.tif 000002
【特許請求の範囲】
【請求項１】
符号化画像上の矩形領域である符号化ブロックと参照画像上の矩形領域である予測ブロック候補とを行又は列を単位に小ブロックに分解して，前記符号化ブロックと前記予測ブロック候補との誤差量を前記小ブロックを単位とするパイプライン演算で求める動きベクトル検出方法であって，
（１）前記列を単位に分解する場合は，前記予測ブロック候補を前記参照画像上水平方向に順次ずらしながら前記パイプライン演算を進行させ，（２）前記行を単位に分解する場合は，前記予測ブロック候補を前記参照画像上垂直方向に順次ずらしながら前記パイプライン演算を進行させる制御ステップを備えた動きベクトル検出方法。
【請求項２】
符号化画像上の矩形領域である符号化ブロックを構成する画素データを記憶し，前記符号化ブロック内で縦１列または横１行に配置されたＭ個の画素データを１つの組としてＮ組の符号化データを出力する符号化ブロックレジスタと，
参照画像のＭ個の画素を一時記憶し，これを１つの組の参照データとして出力する第１の参照レジスタであって，（１）前記参照データが前記参照画像上縦に配置されたＭ個のデータである場合は，前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納し，（２）前記参照データが参照画像上横に配置されたＭ個のデータである場合は，前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御機能を有する第１の参照レジスタと，
１組の前記参照データと１組の前記符号化データとの誤差量を演算する演算ユニットであって，１組の前記参照データとＮ組の前記符号化データとの全ての組み合わせの誤差量を算出する１×Ｎ個の演算ユニットと，
前記符号化ブロック内で最も端に位置する符号化データの組の誤差量を１サイクル遅延させて隣接する符号化データの組の誤差量に加算し，以下順次その加算結果を１サイクル遅延させ隣接する誤差量に加算していく累積加算構造により前記Ｎ個の誤差量の総和を求める累積加算アレイとを備えた動きベクトル検出装置。
【請求項３】
符号化画像上の矩形領域である符号化ブロックと参照画像上の矩形領域である予測ブロック候補とを行又は列を単位に小ブロックに分解して，前記符号化ブロックと前記予測ブロック候補との誤差量を前記小ブロックを単位とするパイプライン演算で求める動きベクトル検出方法であって，
（１）前記列を単位に分解する場合は，前記予測ブロック候補の小ブロックが前記参照画像上で垂直座標のみ異なるように複数設定され，それらを水平方向に順次ずらしながら前記パイプラインを進行させ，（２）前記行を単位に分解する場合は，前記予測ブロック候補の小ブロックが前記参照画像上で水平座標のみ異なるように複数設定され，それらを垂直方向に順次ずらしながら前記パイプラインを進行させる制御ステップを備え，
１つの前記符号化ブロックと複数の前記予測ブロック候補との誤差量は，同時に複数のパイプライン演算で求められる動きベクトル検出方法。
【請求項４】
符号化画像上の矩形領域である符号化ブロックを構成する画素データを記憶し，前記符号化ブロック内で縦１列または横１行に配置されたＭ個の画素データを１つの組としてＮ組の符号化データを出力する符号化ブロックレジスタと，
前記参照画像のＭ＋Ｑ−１個の画素を一時記憶し，連続するＭ個の画素を１組の参照データとしてＱ組の前記参照データを出力する第１の参照レジスタであって，（１）前記参照データが前記参照画像上縦に配置されたＭ＋Ｑ−１個のデータである場合は，前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納し，（２）前記参照データが前記参照画像上横に配置されたＭ＋Ｑ−１個のデータである場合は，前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御機能を有する第１の参照レジスタと，
１組の前記参照データと１組の前記符号化データの誤差量を演算する演算ユニットであって，Ｑ組の前記参照データとＮ組の前記符号化データとの全ての組み合わせの前記誤差量を算出するＱ×Ｎ個の演算ユニットと，
前記符号化ブロック内で最も端に位置する前記符号化データの組の誤差量を１サイクル遅延させて隣接する前記符号化データの組の前記誤差量に加算し，以下順次その加算結果を１サイクル遅延させ隣接する前記誤差量に加算していく累積加算構造によりＮ個の前記誤差量の総和を求めるＱ個の累積加算アレイとを備えた動きベクトル検出装置。
【請求項５】
前記第１の参照レジスタとは相異なる第２の参照レジスタと，前記第１の参照レジスタから供給される参照データか前記第２の参照レジスタから供給される参照データかいずれかを選択する参照データ切り替えスイッチと，
前記第１の参照レジスタが順次前記参照データを更新し，前記演算ユニットに参照データを供給する第１のモードと，前記第２の参照レジスタが順次前記参照データを更新し前記演算ユニットに前記参照データを供給する第２のモードとの移行時には，移行前の有効な演算が終了した前記演算ユニットから順に前記参照データ切り替えスイッチを切り替えるモード制御手段とをさらに備えた請求項２または４記載の動きベクトル検出装置。
【請求項６】
前記モード制御手段は，新たな前記符号化ブロックのデータを前記符号化ブロックレジスタに記憶させる場合，前記参照データ切り替えスイッチの切り替え動作に同期して新たな前記符号化ブロックのデータを１組ずつ順に前記符号化ブロックレジスタに記憶させる請求項５記載の動きベクトル検出装置。
【請求項７】
前記累積加算アレイは，（ａ）個々の前記演算ユニットの前記誤差量の加算結果を１回遅延して隣接する符号化データの組の誤差量に加算することで，Ｎ個の前記誤差量を累積加算するフレーム加算アレイと，（ｂ）偶数または奇数番目であるＮ／２個の演算ユニットに対して２サイクル遅延しながら前記誤差量を前記累積加算構造で加算するフィールド加算アレイと，（ｃ）前記フレーム加算アレイと前記フィールド加算アレイとの結果の差を求める演算手段とを有する請求項２，４，５，６の何れかに記載の動きベクトル検出装置。
【請求項８】
前記演算ユニットは，入力された前記参照データの組と前記符号化データの組とに対して，それぞれの偶数位置の画素に対する誤差量と，それぞれの奇数位置の画素に対する誤差量との２種類の誤差量を求め，
前記累積加算アレイは，（ａ）前記２種類の誤差量を独立にそれぞれ累積加算構造で加算する第１のフィールド加算アレイと，（ｂ）第２のフィールド加算アレイとを有する請求項２，４，５，６の何れかに記載の動きベクトル検出装置。
【請求項９】
前記演算ユニットは，入力された前記参照データの組と前記符号化データの組とに対して，それぞれの偶数位置または奇数位置の画素に対する誤差量と，全ての前記画素に対する誤差量との２種類の誤差量を求め，
前記累積加算アレイは，（ａ）前記２種類の誤差量を独立に累積加算するフィールド加算アレイと，（ｂ）前記２種類の誤差量を独立に累積加算するフレーム加算アレイと，（ｃ）前記フィールド加算アレイと前記フレーム加算アレイとの結果の差を求める演算手段とを有する請求項２，４，５，６の何れかに記載の動きベクトル検出装置。
【請求項１０】
符号化画像上の矩形領域である符号化ブロックを構成する画素データを記憶し，同一フィールドにおけるＭ個の前記画素データを１つの組として，第１フィールドの符号化データＮ／２組と第２フィールドの符号化データＮ／２組とを出力する符号化ブロックレジスタと，
参照画像の同一フィールドにおけるＭ個の画素データを記憶し，これを１つの組の参照データとして出力する第１フィールドおよび第２フィールドに対応する参照レジスタと，
前記参照データ１組と前記符号化データＮ／２組とを入力とし，フィールド誤差量を求めることができるフィールド評価手段と，
前記第１フィールドの参照データと前記第１フィールドの符号化データとに対するフィールド誤差量と，前記第２フィールドの参照データと前記第２フィールドの符号化データとに対するフィールド誤差量とを加算する第１の加算器と，
前記第１フィールドの参照データと前記第２フィールドの符号化データとに対するフィールド誤差量と，前記第２フィールドの参照データと前記第１フィールドの符号化データとに対するフィールド誤差量とを加算する第２の加算器とを備え，
前記参照レジスタは，（１）前記参照データが前記参照画像上縦に配置されたＭ個のデータである場合は，前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納し，（２）前記参照データが前記参照画像上横に配置されたＭ個のデータである場合は，前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納する制御機能を有し，
前記フィールド評価手段は，１組の前記参照データとＮ／２組の前記符号化データとの全ての組み合わせの誤差量を算出するＮ／２個の演算ユニットを有し，前記Ｎ／２個の誤差量から累積加算構造で総和を求め前記フィールド誤差量として出力する動きベクトル検出装置。
【請求項１１】
請求項１記載の動きベクトル検出方法の，（１）前記列を単位に分解する場合は，前記予測ブロック候補を前記参照画像上水平方向に順次ずらしながら前記パイプライン演算を進行させ，（２）前記行を単位に分解する場合は，前記予測ブロック候補を前記参照画像上垂直方向に順次ずらしながら前記パイプライン演算を進行させる制御ステップをコンピュータに実行させるためのプログラム。
【請求項１２】
請求項２記載の動きベクトル検出装置の，符号化画像上の矩形領域である符号化ブロックを構成する画素データを記憶し，前記符号化ブロック内で縦１列または横１行に配置されたＭ個の画素データを１つの組としてＮ組の符号化データを出力する符号化ブロックレジスタと，参照画像のＭ個の画素を一時記憶し，これを１つの組の参照データとして出力する第１の参照レジスタであって，（１）前記参照データが前記参照画像上縦に配置されたＭ個のデータである場合は，前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納し，（２）前記参照データが参照画像上横に配置されたＭ個のデータである場合は，前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御機能を有する第１の参照レジスタと，１組の前記参照データと１組の前記符号化データとの誤差量を演算する演算ユニットであって，１組の前記参照データとＮ組の前記符号化データとの全ての組み合わせの誤差量を算出する１×Ｎ個の演算ユニットと，前記符号化ブロック内で最も端に位置する符号化データの組の誤差量を１サイクル遅延させて隣接する符号化データの組の誤差量に加算し，以下順次その加算結果を１サイクル遅延させ隣接する誤差量に加算していく累積加算構造により前記Ｎ個の誤差量の総和を求める累積加算アレイとしてコンピュータを機能させるためのプログラム。
【請求項１３】
請求項３記載の動きベクトル検出方法の，（１）前記列を単位に分解する場合は，前記予測ブロック候補の小ブロックが前記参照画像上で垂直座標のみ異なるように複数設定され，それらを水平方向に順次ずらしながら前記パイプラインを進行させ，（２）前記行を単位に分解する場合は，前記予測ブロック候補の小ブロックが前記参照画像上で水平座標のみ異なるように複数設定され，それらを垂直方向に順次ずらしながら前記パイプラインを進行させる制御ステップをコンピュータに実行させるためのプログラム。
【請求項１４】
請求項４記載の動きベクトル検出装置の，符号化画像上の矩形領域である符号化ブロックを構成する画素データを記憶し，前記符号化ブロック内で縦１列または横１行に配置されたＭ個の画素データを１つの組としてＮ組の符号化データを出力する符号化ブロックレジスタと，前記参照画像のＭ＋Ｑ−１個の画素を一時記憶し，連続するＭ個の画素を１組の参照データとしてＱ組の前記参照データを出力する第１の参照レジスタであって，（１）前記参照データが前記参照画像上縦に配置されたＭ＋Ｑ−１個のデータである場合は，前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納し，（２）前記参照データが前記参照画像上横に配置されたＭ＋Ｑ−１個のデータである場合は，前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御機能を有する第１の参照レジスタと，１組の前記参照データと１組の前記符号化データの誤差量を演算する演算ユニットであって，Ｑ組の前記参照データとＮ組の前記符号化データとの全ての組み合わせの前記誤差量を算出するＱ×Ｎ個の演算ユニットと，前記符号化ブロック内で最も端に位置する前記符号化データの組の誤差量を１サイクル遅延させて隣接する前記符号化データの組の前記誤差量に加算し，以下順次その加算結果を１サイクル遅延させ隣接する前記誤差量に加算していく累積加算構造によりＮ個の前記誤差量の総和を求めるＱ個の累積加算アレイとしてコンピュータを機能させるためのプログラム。
【請求項１５】
請求項１０記載の動きベクトル検出装置の，符号化画像上の矩形領域である符号化ブロックを構成する画素データを記憶し，同一フィールドにおけるＭ個の前記画素データを１つの組として，第１フィールドの符号化データＮ／２組と第２フィールドの符号化データＮ／２組とを出力する符号化ブロックレジスタと，参照画像の同一フィールドにおけるＭ個の画素データを記憶し，これを１つの組の参照データとして出力する第１フィールドおよび第２フィールドに対応する参照レジスタと，前記参照データ１組と前記符号化データＮ／２組とを入力とし，フィールド誤差量を求めることができるフィールド評価手段と，前記第１フィールドの参照データと前記第１フィールドの符号化データとに対するフィールド誤差量と，前記第２フィールドの参照データと前記第２フィールドの符号化データとに対するフィールド誤差量とを加算する第１の加算器と，前記第１フィールドの参照データと前記第２フィールドの符号化データとに対するフィールド誤差量と，前記第２フィールドの参照データと前記第１フィールドの符号化データとに対するフィールド誤差量とを加算する第２の加算器としてコンピュータを機能させるためのプログラム。
【請求項１６】
請求項１１から１５の何れかに記載のプログラムを担持した記録媒体であって，コンピュータにより処理可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，動画像の動き補償符号化の際に用いる動きベクトルを，ブロックマッチング法により検出する動きベクトル検出装置，動きベクトル検出方法，プログラム，および記録媒体に関するものである。
【０００２】
【従来の技術】
近年，動画像符号化方式として，ＭＰＥＧ−２（ＩＴＵ−Ｔ  Ｈ．２６２）など，フレーム間相関を用いた符号化方式が用いられるようになってきた。これらの方式では符号化する画像を小さな矩形領域である符号化ブロックに分割し，各符号化ブロック毎に参照画像から検出した動きベクトルにより予測ブロックを求め，符号化ブロックと予測ブロックとの差分を圧縮符号化する動き補償符号化方式が用いられる。
【０００３】
代表的な動きベクトル検出方式としてブロックマッチング方式があげられる。
ブロックマッチング方式とは，ある符号化ブロックの動きベクトル検索領域から符号化ブロックと同じサイズの予測ブロック候補を取り出し，取り出した予測ブロック候補が予測ブロックとして採用するのに適切であるかどうかを符号化ブロックと予測ブロック候補の誤差量を算出することにより評価する方式である。動きベクトル検索領域内にあるすべての予測ブロック候補を評価して，評価結果が最適であるものが予測ブロックとして採用され，また採用した予測ブロックと符号化ブロックとの位置座標の差分が動きベクトルとなる。誤差量としては（数１）に示すように，予測候補ブロックの画素データｒm+i,n+jと符号化ブロックの画素データｔm,nとの差分の絶対値をブロックの全画素に対して加算する差分絶対値総和ＡＥが用いられることが多い。（数１）で（ｊ，ｉ）が現在評価している予測ブロック候補のベクトルを意味し（ベクトルの第１成分は水平方向に関し，ベクトルの第２成分は垂直方向に関する），ＡＥi,jがその予測ブロック候補の評価結果である差分絶対値総和を示している。また，Ｍ，Ｎはブロックの水平垂直の画素数を，さらに，−Ｋ〜Ｋ−１は符号化ベクトルの位置を基準とした検索領域の水平方向の範囲を，−Ｌ〜Ｌ−１が垂直方向の範囲をそれぞれ意味している。
【０００４】
【数１】
2004214733.tif 000003
ブロックマッチング方式は最も確実な動きベクトル検出方式であるが，その具現化には回路規模が大きく処理量が多いなどの課題が多く，それらの課題を解決するために多くの構成法が考案されている。その中でも特に効率的な方式として複数の演算ユニットによりパイプラインを構成する方式が知られている（たとえば，下記の特許文献１参照）。
【０００５】
以下に上述した従来の動きベクトル検出装置として従来例１と従来例２の２つの構成を順に説明する。
【０００６】
（従来例１）
まず，従来例１の動きベクトル検出装置について説明する。これは特許文献１の請求項１，請求項２に該当する装置である。図３５は従来例１の構成を示すブロック図である。図３５の動きベクトル検出装置は，直列に接続したレジスタ８０１，８０２，８０３，８０４と，直列に接続した演算ユニット（以下ＰＥと略す）８０５，８０６，８０７と，ＰＥ８０５，８０６，８０７の間に配置した演算データ遅延器８１１，８１２と，同様に直列に接続したＰＥ８０８，８０９，８１０と，ＰＥ８０８，８０９，８１０の間に配置した演算データ遅延器８１３，８１４とからなる。各ＰＥ８０５〜８０７と各ＰＥ８０８〜８１０にはレジスタ８０１〜８０４の出力が入力されるとともに，端子８１５から符号化画素データがそれぞれ入力される。
【０００７】
図３６はＰＥ８０５の構成を示すブロック図である。このＰＥ８０５は，直列に配置され順次符号化画素データを格納するレジスタ８１９〜８２２と，各レジスタ８１９〜８２２の格納値と各レジスタ８０１〜８０４の格納値が入力される差分絶対値演算器８２３〜８２６と，各差分絶対値演算器８２３〜８２６の演算結果を加算する加算器８２７と，加算器８２７の演算値と他のＰＥからの演算値とを加算する加算器８２８とからなる。図３５のＰＥ８０６〜８１０の構造はすべて図３６のＰＥ８０５の構造と同一であるから説明を省略する。図３７は演算データ遅延器８１１の構成を示すブロック図である。この演算データ遅延器８１１はＰＥ８０５の演算結果８個を記憶する直列接続されたレジスタ８２９〜８３６と，その動作タイミングを制御するタイミング制御部８３７とから構成される。図３５の演算データ遅延器８１１〜８１４の構造はすべて図３７の演算データ遅延器８１１の構造と同一であるから説明を省略する。なお，図３５，図３６と図３７においてレジスタ８０１〜８０４とレジスタ８１９〜８２２はそれぞれ１つの画素の値を記憶する複数ビットからなるレジスタ，レジスタ８２９〜８３６はＰＥの演算結果データを記憶する複数ビットからなるレジスタである。レジスタ８０１〜８０４の出力には個々の信号名称ａ０〜ａ３とし，ａ０〜ａ３をまとめた信号をＡとして図中に接続関係を記載している。
【０００８】
以下，従来例１の動作について説明する。図３８は本従来例の符号化画像と参照画像で各ブロックと画素および検索領域の位置関係を示す領域関係図，図３９，図４１は動作の詳細を示すタイミングチャートである。
【０００９】
まず，図３８でＰＥ８０５〜ＰＥ８１０と符号化ブロックとの関係と動作の概要を説明する。
【００１０】
従来例１では予測ブロック候補と符号化ブロックとの誤差量として（数１）の差分絶対値総和ＡＥを採用しており，ブロックの大きさは水平Ｎ＝３，垂直Ｍ＝４，ベクトルの検索領域は水平方向に−３〜２（Ｋ＝３），垂直方向に−４〜３（Ｌ＝４）としている。図３８で符号化ブロックＴ０は参照画像上で図中Ｃの太枠に示す検索範囲をもち，符号化ブロックＴ１はＤの太枠波線に示す検索範囲を，符号化ブロックＴ２はＥの一点鎖線に示す検索範囲をそれぞれ持つ。なお，図３８の検索範囲はブロックマッチングに使用する参照画素の範囲を示しているので，たとえば図中におけるＣの太枠は横８画素（２Ｋ＋Ｎ−１），縦１１画素（２Ｌ＋Ｍ−１）の大きさとなっている。従来例１は符号化ブロックＴ０と符号化ブロックＴ１の動きベクトル検出動作を行うが，各符号化ブロックは縦４画素からなる小ブロック３つに分割してそれぞれを図３８に示した対応関係のＰＥに格納し，各ＰＥでは予測ブロック候補の縦４画素からなる小ブロックとの誤差量演算を一括して実行しつつ，３つのＰＥの演算結果を総合して各予測ブロック候補に対するＡＥを算出するという方式をとっている。
【００１１】
この方式は，（数１）に示す差分絶対値総和ＡＥi,jがｍとｎに関する２次元の総和となっているが，これを（数２）に示すようにｎに関する列方向Ｍ画素の差分絶対値和ＡＥi,j,nを求めたのち，（数３）に示すようにｎに関してＮ列分加算するという２段階の演算に分割しても，（数１）と同じく差分絶対値総和ＡＥi,jが求められるという関係を動作の根拠とするものである。図３６で各ＰＥの加算器８２７の出力が（数２）に示すそれぞれの列方向４画素の差分絶対値和ＡＥi,j,nに対応し，ＰＥ８０７の加算器８２８の出力が符号化ブロックＴ０に対する差分絶対値総和ＡＥi,jに，ＰＥ８１０の加算器８２８の出力が符号化ブロックＴ１に対する差分絶対値総和ＡＥi,jにそれぞれ対応する。
【００１２】
【数２】
2004214733.tif 000004
【００１３】
【数３】
2004214733.tif 000005
以下に図３９，図４１を用いて動作の詳細を説明する。
【００１４】
まず図３９のタイミングＦ０で符号化ブロックＴ０の動きベクトル検出動作が開始されると，符号化ブロックＴ０の左端の列の４つの画素データｔ4,3，ｔ5,3，ｔ6,3，ｔ7,3が図３５の符号化画素データ入力端子８１５から順に入力され，ＰＥ８０５のレジスタ８１９〜８２２にシフトしながら順次格納され，図３９のタイミングＦ４の時点でＰＥ８０５の準備が完了する。このときＰＥ８０５のレジスタの出力は（ｂ０，ｂ１，ｂ２，ｂ３）＝（ｔ4,3，ｔ5,3，ｔ6,3，ｔ7,3）となり，この値は符号化ブロックＴ０の動きベクトル検索が終了するまで保持される。一方，参照候補画素データは，図３８に示すように符号化ブロックＴ０の検索範囲の左上から縦にｒ0,0，ｒ1,0からｒ10,0まで１１個の画素データが順に図３５の参照画素データ入力端子８１６から入力され，レジスタ８０１から８０４に順にシフトしながら一時記憶されていく。いま，図３９のタイミングＦ４のときレジスタ８０１〜８０４の出力は（ａ０，ａ１，ａ２，ａ３）＝（ｒ0,0，ｒ1,0，ｒ2,0，ｒ3,0）となっている。図４０はレジスタ８０１〜８０４が格納する参照画素の検索領域内での位置を示すものであり，タイミングＦ４のとき図４０の小ブロックＦ４に示す４画素を記憶している。ＰＥ８０５は常に（ａ０，ａ１，ａ２，ａ３）と（ｂ０，ｂ１，ｂ２，ｂ３）の差分絶対値和を算出するから，タイミングＦ４のサイクルでは図中Ｇに示すように｜ｒ0,0−ｔ4,3｜＋｜ｒ1,0−ｔ5,3｜＋｜ｒ2,0−ｔ6,3｜＋｜ｒ3,0−ｔ7,3｜が求められることになる。これは符号化ブロックＴ０の左上座標（３，４）を基準に添え字を相対表記すれば，（数２）の定義式より，ＡＥ-4,-3,0が求められたことが分かる。つまり図３８に示したベクトル（−３，−４）に対応する差分絶対値総和の３分の１が求められたことになる。以下，図３９に示した有効期間８サイクルの間，（ａ０，ａ１，ａ２，ａ３）は，図４０のＦ４からＦ１１に至る矢印のように順次検索範囲左端を１画素ずつ下がりながら参照画素データ４個を出力することとなるから，ＰＥ８０５はベクトル（−３，−４），（−３，−３），（−３，−２）から（−３，３）までのそれぞれ対応する差分絶対値和，すなわちＡＥ-4,-3,0，ＡＥ-3,-3,0，ＡＥ-2,-3,0からＡＥ3,-3,0まで８種類の差分絶対値和を出力するものである。
【００１５】
レジスタ８０１〜８０４の状態が図４０の小ブロックＦ１１に示す状態，つまり図３８で検索範囲の左下の参照画素データｒ10,0を入力完了すると，図３９のタイミングＦ１１の１個のダミーデータを挟んでｒ0,1から始まる参照画素データ１１個が引き続き入力される。ここで１個のダミーデータを挟んだために図３９で次の有効期間８サイクルが開始する前に４サイクルの無効期間が生じている。この４サイクルの無効期間を利用して符号化ブロックＴ０のｔ4,4，ｔ5,4，ｔ6,4，ｔ7,4の４個の符号化画素データが符号化画素データ入力端子８１５から順に入力され，ＰＥ８０６のレジスタ８１９〜８２２に格納され，タイミングＨ４の時点でＰＥ８０６の準備が完了する。また，参照データはこのタイミングＨ４のサイクルにおいて，レジスタ８０１〜８０４が図４０のＨ４の状態となるから，ＰＥ８０６の差分絶対値演算は｜ｒ0,1−ｔ4,4｜＋｜ｒ1,1−ｔ5,4｜＋｜ｒ2,1−ｔ6,4｜＋｜ｒ3,1−ｔ7,4｜を求めることとなる。これは符号化ブロックＴ０の左上座標を基準に相対表記すれば，ＡＥ-4,-3,1が求められたことを意味する。以下，タイミングＨ４から始まる８サイクルの有効期間においてＰＥ８０６はＡＥ-4,-3,1，ＡＥ-3,-3,1，からＡＥ3,-3,1まで８種類の差分絶対値和を順次算出することになる。一方，この間もＰＥ８０５のレジスタはｔ4,3，ｔ5,3，ｔ6,3，ｔ7,3を保持しているから，ＰＥ８０５はＡＥ-4,-2,0，ＡＥ-3,-2,0，からＡＥ3,-2,0まで８種類の差分絶対値和を算出する。図３９のタイミングＩ４から開始される有効範囲８サイクルにおいても同様にＰＥ８０５，ＰＥ８０６，ＰＥ８０７がそれぞれ差分絶対値和ＡＥi,j,0，ＡＥi,j,1，ＡＥi,j,2を順次算出することとなる。
【００１６】
演算データ遅延器８１１はＰＥ８０５の有効期間８サイクルの演算結果であるＡＥ-4,-3,0からＡＥ3,-3,0をレジスタ８２９〜８３６に格納し，タイミング制御部８３７はそれに続く４サイクルの期間８個の演算データをレジスタ８２９〜８３６に保持させ，次の有効期間が開始すると保持していた８個の演算データを順次ＰＥ８０６に供給すると同時にＰＥ８０５の新たな演算結果を格納する。従って演算データ遅延器８１１は８個の有効な演算結果を１２サイクル遅延させる先入れ先出しバッファとして機能している。いま図３９のタイミングＦ４でＰＥ８０５から出力された差分絶対値和ＡＥ-4,-3,0は演算データ遅延器８１１で１２サイクル遅延され，タイミングＨ４でＰＥ８０６に供給される。ＰＥ８０６はＰＥ８０６がタイミングＨ４で算出したＡＥ-4,-3,1と演算データ遅延器８１１から供給されたＡＥ-4,-3,0とを加算器８２８で加算し出力する。出力されたＡＥ-4,-3,0＋ＡＥ-4,-3,1は演算データ遅延器８１２で１２サイクル遅延され，タイミングＩ４に至るとＰＥ８０７の加算器８２８でＡＥ-4,-3,2と加算され，ＰＥ８０７の演算結果として出力端子８１７に出力される。従って，この出力はＡＥ-4,-3,0＋ＡＥ-4,-3,1＋ＡＥ-4,-3,2となるが，これは（数３）よりＡＥ-4,-3が，すなわちベクトル（−３，−４）に対応する予測ブロック候補と符号化ブロックＴ０の差分絶対値総和が求められたこととなる。以下，同様に出力端子８１７には検索範囲の全ての予測ブロック候補と符号化ブロックＴ０との差分絶対値総和ＡＥi,jが，無効４サイクルを挟みながら有効８サイクルの期間に順次出力されるから，この値を比較し最も誤差量の小さなベクトルを動きベクトルとして採用することにより符号化ブロックＴ０に対する動きベクトル検出の機能を果たすことが出来る。
【００１７】
以上のように符号化ブロックＴ０の処理に着目すれば，この従来例１ではＰＥ８０５〜ＰＥ８０７からなる３つの演算ユニットを１２サイクル遅延の演算データ遅延器８１１と８１２で結ぶことにより３段のパイプラインを構成し，差分絶対値総和の演算を実現するものである。
【００１８】
次に処理する符号化ブロックの移行について説明する。
【００１９】
図４１は符号化ブロックＴ０の動きベクトル検出動作の後半のタイミングチャートである。ＰＥ８０５〜ＰＥ８０７で算出された符号化ブロックＴ０に対する差分絶対値総和はＰＥ８０７から順次出力されるが，ＰＥ８０５はタイミングＪ１１でＡＥ3,2,0の算出を終えると符号化ブロックＴ０に対する演算を終了する。４サイクル後のタイミングＯ４の時点でレジスタ８０１〜８０４の出力は（ａ０，ａ１，ａ２，ａ３）＝（ｒ0,6，ｒ1,6，ｒ2,6，ｒ3,6）となっているが，これは図３８のＥに示す符号化ブロックＴ２の検索領域の左上端に位置する参照画素である。そこでタイミングＪ１１からタイミングＯ４に至る無効４サイクルの期間を用いてＰＥ８０５に符号化ブロックＴ２の左端列４画素データを格納することにより，タイミングＯ４の時点で（ｂ０，ｂ１，ｂ２，ｂ３）＝（ｔ4,9，ｔ5,9，ｔ6,9，ｔ7,9）となり，ＰＥ８０５は符号化ブロックＴ２のベクトル（−３，−４）に対応する差分絶対値和ＡＥ-4,-3,0の算出を開始することが出来る。この間もＰＥ８０６とＰＥ８０７は符号化ブロックＴ０のために差分絶対値和演算を継続中である。さらに１２サイクル後，ＰＥ８０６がＴ０の演算を終了するとＴ２の画素データ４個が格納され，Ｔ２の差分絶対値和演算が開始される。すなわちＰＥ８０５〜ＰＥ８０７は符号化ブロックＴ０の演算を終了すると順に符号化ブロックＴ２の演算を開始することができ，ＰＥ８０７からは符号化ブロックＴ０の最後の差分絶対値総和ＡＥ3,2が出力されると，無効４クロックを挟んで次の有効８クロックから符号化ブロックＴ２の差分絶対値総和ＡＥi,jを順次出力することとなる。
【００２０】
以上のように従来例１ではＰＥ８０５〜ＰＥ８０７を用いて符号化ブロックＴ０の演算を行い，ついでＴ２，Ｔ４と偶数番号の符号化ブロックを１つの系列として順に動きベクトル検出を処理していくことになる。このとき，Ｔ０の演算が終了したＰＥから順に次に処理する符号化ブロックＴ２の画素データ格納することにより，パイプラインを出来る限り滞らせることなく符号化マクロの移行を実現している。
【００２１】
次に並列処理について説明する。
【００２２】
奇数番号の符号化ブロックの系列の処理はＰＥ８０５〜ＰＥ８０７を用いることが出来ないため（後述の，従来例１の回路規模と処理速度についての説明も参照せよ），これとは別にＰＥ８０８〜ＰＥ８１０を設けて並列処理を実現している。図４１で今タイミングＰ４のサイクルでレジスタ８０１〜８０４の出力は（ａ０，ａ１，ａ２，ａ３）＝（ｒ0,3，ｒ1,3，ｒ2,3，ｒ3,3）となっているが，これは図３８のＤに示す符号化ブロックＴ１の検索領域の左上端に位置する参照画素である。そこでタイミングＰ４の直前の無効４サイクルの期間を用いてＰＥ８０８に符号化ブロックＴ１の左端列４画素データを格納することにより，タイミングＰ４の時点で（ｂ０，ｂ１，ｂ２，ｂ３）＝（ｔ4,6，ｔ5,6，ｔ6,6，ｔ7,6）となり，ＰＥ８０８は符号化ブロックＴ１のベクトル（−３，−４）に対応する差分絶対値和ＡＥ-4,-3,0の算出を開始することが出来る。以下は偶数番号系列の場合のＰＥ８０５〜ＰＥ８０７の動作と同様にＰＥ８０８〜ＰＥ８１０が奇数番号系列の符号化ブロックの動きベクトル検出を実行していくこととなる。
【００２３】
以上のように従来例１では４画素分の参照画素データをレジスタ８０１〜８０４に格納して共通データとし，これを参照範囲に含む複数の符号化ブロックを個別のＰＥに格納することにより並列処理を可能としている。図３５の構成例では符号化ブロックの偶数番と奇数番の２系統の並列処理が実現されているわけである。
【００２４】
ここで，従来例１の回路規模と処理速度について説明する。
【００２５】
表１は従来例１の回路規模を示すものである。表１で，Ｍは符号化ブロックの縦の画素数，Ｎは同じく横の画素数２Ｋは検索範囲の横幅，２Ｌは同じく縦幅，Ｑは並列処理可能な系列数である。ＱはＮ×Ｑ≧２Ｋを満たす最小のＱとして求めることができる。図３５の従来例１の構成ではＭ＝４，Ｎ＝３，Ｋ＝３，Ｌ＝４であり，３×Ｑ≧２×３であるからちょうどＱ＝２となる。従って，表１より画素データを記憶するレジスタは２８画素分，演算結果のデータを記憶する演算データ遅延器のレジスタは３２個分で構成されている。画素データのレジスタを１画素あたり８ビット，データレジスタを１個あたり１０ビットと仮定すると総ビット数は５４４ビット，すなわち５４４個のフリップフロップで構成される。
図３５でＰＥ８０５〜ＰＥ８０７を用いる１系列のみの処理構成とし，偶数番の符号化ブロックの動きベクトル検出を全て完了した後に奇数番の符号化ブロックの動きベクトル検出を行うとした場合はＱ＝１であり，フリップフロップは２８８個で構成できる。また，ＭＰＥＧ２の場合の現実的な仕様として，７２０×４８０画素のインタレース映像（以下４８０ｉと略す）を入力とし，Ｍ＝１６，Ｎ＝１６，Ｋ＝６４，Ｌ＝３２，としたとき，ＱはちょうどＱ＝８となり，８系列並列処理となる。このとき画素データを記憶するレジスタは２０６４画素分，演算結果のデータを記憶するレジスタは７６８０個分であり，フリップフロップは約９万３千個で構成される。さらに高精細映像の例として，１９２０×１０８０画素のインタレース映像（以下１０８０ｉと略す）を入力とし，Ｍ＝１６，Ｎ＝１６，Ｋ＝１２８，Ｌ＝６４，としたとき，１６系列並列処理ができ，フリップフロップは約３４万個で構成される。
【００２６】
【表１】
2004214733.tif 000006
表２は従来例１の演算速度を示すものである。表２で有効サイクル数とは，ある１つの符号化ブロックの演算結果が出力されるのに必要な有効サイクル数であり，ロスサイクル数とはその間に入る無効サイクルのことである。従って，１つの符号化ブロック当たりの平均サイクル数とは，有効サイクル数とロスサイクル数の合計を並列処理する系列数で割った値となる。また，ＱがＮ×Ｑ＝２Ｋを満たす場合をのぞき，符号化ブロックの切り替え時にロスサイクルが発生することになるが，表２ではいずれもＮ×Ｑ＝２Ｋの場合について算出している。表２から，図３５の構成，すなわち２系列並列処理では平均３６サイクルで１つの符号化ブロックの動きベクトル検出完了すると考えることができ，１系列の場合は７２クロックで１ブロック完了する。表１の場合と同じ条件の４８０ｉの場合８系列並列処理となるので平均１２８０サイクルで１ブロックの処理が完了すると考えることができる。これは約５２ＭＨｚのクロックで動作させることを意味する。１０８０ｉの場合は２３０４サイクルに１ブロックの演算速度となり，これは５６０ＭＨｚのクロックで動作させることを意味する。
【００２７】
【表２】
2004214733.tif 000007
（従来例２）
次に，従来の動きベクトル検出装置の第２の例について説明する。これは特許文献１の請求項３，請求項４に該当する装置である。図４２は従来例２の構成を示すブロック図であり，図４３はこの動きベクトル検出装置のＰＥ８４７〜８４９の構造を示す図である。図４２及び図４３において図３５，図３６と同一の部分に関しては同一の符合を付して説明を省略する。
【００２８】
図４２で従来例２の構成では，レジスタ８０１〜８０４に対し直列に参照画素データを記憶するレジスタ８３８〜８４１を設け，レジスタ８４１とレジスタ８０１の間に画素データ遅延器８４２を挿入し，レジスタ８３８〜８４１の出力がレジスタ８０１〜８０４に比べて更に４サイクル遅延するように構成している。
レジスタ８０１〜８０４とレジスタ８３８〜８４１の出力はセレクタ８４３〜８４６で選択され，４個の参照画素データ出力のみがＰＥ８４７〜８４９に供給される。図中ではセレクタ８４３〜８４６で選択された４個の出力にａ０，ａ１，ａ２，ａ３と信号名を付している。また，ＰＥ間を接続する演算データ遅延器８５０，８５１は有効サイクルの８個のデータを１６サイクル遅延する遅延器に変更されている。
【００２９】
図４３に示すＰＥ８４７の構造は図３６に示す従来例１のＰＥ８０５の構造と比較して，符号化画素データを記憶するレジスタ８１９〜８２２に対して並列にレジスタ８５３〜８５６が設けられ，レジスタ８１９〜８２２とレジスタ８５３〜８５６の出力はセレクタ８５７〜８６０で選択されるという構造に変更されている。図中ではセレクタ８５７〜８６０で選択された４個の出力にｂ０，ｂ１，ｂ２，ｂ３と信号名を付して，選択された参照画素出力ａ０，ａ１，ａ２，ａ３との対応関係を示している。
【００３０】
以下，従来例２の動きベクトル検出装置の動作について説明する。従来例２は偶数番の符号化ブロックの系列と奇数番の符号化ブロックの系列との２つの系列をそれぞれＰＥ内部のレジスタ８１９〜８２２とレジスタ８５３〜８５６に記憶しておき，それぞれの動きベクトル検出動作を進めるものであるが，従来例１では無効サイクル４サイクルを挟みながら２つの系列の符号化ブロックに対する処理が並列処理で実行される構成であったことに対し，従来例２では無効サイクルを８サイクルに拡大して，２つの系列の符号化ブロックの処理が互いの無効サイクルで実行される時分割処理となっている点が異なる。
【００３１】
図４４は従来例２の動作を示すタイミングチャートである。図４４は既に動きベクトル検出動作が開始され，定常状態に入っている時点を示している。参照画素は図３８の参照画像検索範囲の縦１列に相当する１１画素が連続して入力されるが，それに引き続いて５サイクル期間の無効データが入力される。入力された参照画素は図４４に示すように順次レジスタ８０１〜８０４に積み上げられ，レジスタ８０１の出力は画素データ遅延器８４２で４サイクル遅延された後レジスタ８３８〜８４１に順次積み上げられる。その結果，レジスタ８０１〜８０４を１つの組，レジスタ８３８〜８４１を１つの組としたとき，それぞれの組は８サイクルの有効期間を持ち，互いの有効期間は重ならず交互に有効になるという関係になっている。セレクタ８４３〜８４６は有効である方の組のレジスタを選択することで，その出力（ａ０，ａ１，ａ２，ａ３）には常に有効な参照画素データが８サイクル期間ずつ２回繰り返して出力され，ＰＥ８４７〜８４９に供給することができる。図４４に表記した動作の範囲では既にＰＥ８４７〜８４９のそれぞれについてレジスタ８１９〜８２２には符号化ブロックＴ０の画素データが，レジスタ８５３〜８５６には符号化ブロックＴ１の画素データが格納されている。いま，タイミングＶ４のサイクルから始まる有効８サイクル期間ではＰＥ８４７〜８４９のセレクタ８５７〜８６０はレジスタ８１９〜８２２を，すなわち符号化ブロックＴ０の画素データを選択するので，符号化ブロックＴ０と参照画素データ（ａ０，ａ１，ａ２，ａ３）との差分絶対値総和が演算されることになる。タイミングＷ４のサイクルから始まる有効８サイクル期間ではセレクタ８５７〜８６０はレジスタ８５３〜８５６を，すなわち符号化ブロックＴ１の画素データを選択するので，符号化ブロックＴ１と参照画素データ（ａ０，ａ１，ａ２，ａ３）との差分絶対値総和が演算されることになる。タイミングＶ４から開始される８サイクルで演算された符号化ブロックＴ０に関する演算結果は，演算データ遅延器８５０，８５１で１６サイクル遅延させたのち隣接するＰＥに伝達される。従って，タイミングＷ４から開始される８サイクルの符号化ブロックＴ１に関する演算期間を越えて，タイミングＹ４から開始される符号化ブロックＴ０の演算に引き渡される。
【００３２】
このように，１６サイクル遅延の演算データ遅延器８５０，８５１でＰＥ８４７〜８４９を接続することにより符号化ブロックＴ０と符号化ブロックＴ１に関する差分絶対値総和の演算を，それぞれ独立のパイプラインとして実行することができるのである。また，タイミングＹ４から開始される有効８サイクルではＰＥ８４７のレジスタ８１９〜８２２が符号化ブロックＴ２の画素データに切り替わっており，ＰＥ８４８，８４９では符号化ブロックＴ０の演算が継続しながら，ＰＥ８４７では符号化ブロックＴ２の演算が開始されることは上述した従来例１の場合と同じである。
【００３３】
以上のように従来例２では参照画素を記憶するレジスタ（図４２参照）と，符号化ブロックの画素データを記憶するレジスタ（図４３参照）とをそれぞれ２重構造とすることで，符号化ブロックの偶数番の系列と奇数番の系列の２つの系列をロスサイクル無く時分割処理しているのである。
【００３４】
以上のように従来の動きベクトル検出装置では，複数の演算ユニットＰＥをもうけ，隣接するＰＥ間を演算データ遅延器で接続することによりパイプラインを構成して差分絶対値総和の演算を実現し，また，符号化ブロックの演算を終了した演算ユニットから順に次に処理すべき符号化ブロックの画素データを格納することにより，符号化ブロックの移行時にもパイプラインの停滞を最低限に押さえるものである。更に，従来例１では演算ユニット毎に符号化ブロックの画素データを格納するレジスタを設け，複数の系列の演算ユニットを有することで並列処理を可能とし，従来例２では参照画素のレジスタと符号化ブロックのレジスタをそれぞれ２重構造とすることで時分割処理を可能としている。
【００３５】
【特許文献１】
特開平１０−１３６３７７号公報
【００３６】
【発明が解決しようとする課題】
しかしながら，上述した従来の動きベクトル検出装置には，回路規模が増大してしまうという課題があった。
【００３７】
本発明者は，演算データ遅延器の回路規模が検索範囲の大きさに比例してしまうという弊害と，並列処理あるいは時分割処理で符号化ブロックを記憶するレジスタが系列毎に独立に必要であるなど系列間で共有できる回路が極めて少ないため，回路規模が処理系列数にほぼ比例して増大してしまうという弊害とが相乗的に回路規模の増大をもたらしてしまうものであると，分析している。
【００３８】
なお，従来の動きベクトル検出装置の構成には，検索範囲の大きさが比較的小さい場合には配線効率が小さくて済むという長所があるが，検索範囲の大きさが大きい場合には演算データ遅延器の回路規模が爆発的に大きくなってしまうという決定的な短所がある。
【００３９】
このような回路規模の増大は実装上の改善では解消することが不可能であり，現実の映像信号に対して実用的な検索範囲を実現することが極めて困難となっている。例えば，表１に示した４８０ｉ映像の場合で９万６千個以上のフリップフロップが必要となるから容易に実現することはできず，１０８０ｉでは５６０ＭＨｚクロックで動作させても約３４万個のフリップフロップが必要となるから実現は極めて困難である。
【００４０】
（１）なお，上記従来技術では，並列処理の装置構成に自由度がない。複数系列からなる並列処理において１つの系列に着目すると，符号化ブロックの処理順がＴ０の次にＴ２が処理されるなど符号化画像上で離れた位置に飛んだ順に処理されており，またその位置間隔は符号化ブロックの大きさと検索範囲の大きさの比率で一義的に決まってしまうという特徴がある。処理順が飛び飛びであれば動きベクトル検出処理に続く符号化処理が実現困難となってしまうから，並列処理で装置を構成せざるをえない。しかも並列処理の系列数もやはり前記符号化ブロックの大きさと検索範囲の大きさの比率で一義的に決まってしまうから，処理速度を要求されない装置であっても，極めて高速処理を要求される装置であっても一義的に決まる系列数だけ並列処理回路を持たなければならないことになり，使用目的に応じた最小の回路規模で実現することができない。
【００４１】
（２）また，上記従来技術では，フレームベクトルと２種類のフィールドベクトルとの３種類のベクトルの差分絶対値総和を同時に求めることができないから，独立に算出するしかなく，更なる回路規模が必要となる。ＭＰＥＧ２規格ではフレーム構造のピクチャーの場合にフレームベクトルか又は２種類のフィールドベクトルかいずれか有利なものを符号化ブロック毎に選択することができるが，そのためにはフレームベクトルとフィールドベクトルの検索が必要である。これを最低限の回路増加で同時に求めるという方式が求められているが，上記従来技術では実現することができない。
【００４２】
（３）また，従来例２の回路規模と処理速度について表３と表４にまとめる。表３は従来例２の回路規模を示すものであり，表４は従来例２の処理速度を示すものである。表３，表４の算出条件は表１，表２の従来例１の場合と同じであるが，Ｑは時分割多重できる系列数を意味する。従来例２の場合もＱはＮ×Ｑ≧２Ｋを満たす最小のＱとして求められる。特許文献１の動きベクトル検出装置では２系統時分割処理に限定した技術として記載されており，Ｑ＝２以外のものは本発明者が独自に算出したものである。また，Ｑ＝１の場合は上述した従来例１の構成でＱ＝１の場合に他ならないので省略した。
【００４３】
表３，表４と表１，表２とを比較すると回路規模は同程度であるが，時分割処理となっているため処理速度は従来例２が劣る（したがって，従来例２の場合には，実用的な検索範囲を実現することが従来例１の場合以上に困難となる）。従来例２は後述する本発明の構成との対比においてその差異をより明確にするために説明した。
【００４４】
【表３】
2004214733.tif 000008
【００４５】
【表４】
2004214733.tif 000009
本発明は，上記従来のこのような課題を考慮し，回路規模をより小さく抑えることができる動きベクトル検出装置，動きベクトル検出方法，プログラム，および記録媒体を提供することを目的とするものである。
【００４６】
【課題を解決するための手段】
第１の本発明は、符号化画像上の矩形領域である符号化ブロック（Ｔ０〜Ｔ２，図３参照）と参照画像上の矩形領域である予測ブロック候補とを行又は列を単位に小ブロックに分解して，前記符号化ブロック（Ｔ０〜Ｔ２，図３参照）と前記予測ブロック候補との誤差量を前記小ブロックを単位とするパイプライン演算で求める動きベクトル検出方法であって，
（１）前記列を単位に分解する場合は，前記予測ブロック候補を前記参照画像上水平方向に順次ずらしながら前記パイプライン演算を進行させ，（２）前記行を単位に分解する場合は，前記予測ブロック候補を前記参照画像上垂直方向に順次ずらしながら前記パイプライン演算を進行させる制御ステップを備えた動きベクトル検出方法である。
【００４７】
第２の本発明は、符号化画像上の矩形領域である符号化ブロック（Ｔ０〜Ｔ２，図３参照）を構成する画素データを記憶し，前記符号化ブロック（Ｔ０〜Ｔ２，図３参照）内で縦１列または横１行に配置されたＭ個の画素データを１つの組としてＮ組の符号化データを出力する符号化ブロックレジスタ（２，図１参照）と，
参照画像のＭ個の画素を一時記憶し，これを１つの組の参照データとして出力する第１の参照レジスタ（１，図１参照）であって，（１）前記参照データが前記参照画像上縦に配置されたＭ個のデータである場合は，前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納し，（２）前記参照データが参照画像上横に配置されたＭ個のデータである場合は，前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御機能を有する第１の参照レジスタ（１，図１参照）と，
１組の前記参照データと１組の前記符号化データとの誤差量を演算する演算ユニット（７〜９，図１参照）であって，１組の前記参照データとＮ組の前記符号化データとの全ての組み合わせの誤差量を算出する１×Ｎ個の演算ユニット（７〜９，図１参照）と，
前記符号化ブロック（Ｔ０〜Ｔ２，図３参照）内で最も端に位置する符号化データの組の誤差量を１サイクル遅延させて隣接する符号化データの組の誤差量に加算し，以下順次その加算結果を１サイクル遅延させ隣接する誤差量に加算していく累積加算構造により前記Ｎ個の誤差量の総和を求める累積加算アレイ（１０，図１参照）とを備えた動きベクトル検出装置である。
【００４８】
第３の本発明は、符号化画像上の矩形領域である符号化ブロック（Ｔ０〜Ｔ２，図３参照）と参照画像上の矩形領域である予測ブロック候補とを行又は列を単位に小ブロックに分解して，前記符号化ブロック（Ｔ０〜Ｔ２，図３参照）と前記予測ブロック候補との誤差量を前記小ブロックを単位とするパイプライン演算で求める動きベクトル検出方法であって，
（１）前記列を単位に分解する場合は，前記予測ブロック候補の小ブロックが前記参照画像上で垂直座標のみ異なるように複数設定され，それらを水平方向に順次ずらしながら前記パイプラインを進行させ，（２）前記行を単位に分解する場合は，前記予測ブロック候補の小ブロックが前記参照画像上で水平座標のみ異なるように複数設定され，それらを垂直方向に順次ずらしながら前記パイプラインを進行させる制御ステップを備え，
１つの前記符号化ブロック（Ｔ０〜Ｔ２，図３参照）と複数の前記予測ブロック候補との誤差量は，同時に複数のパイプライン演算で求められる動きベクトル検出方法である。
【００４９】
第４の本発明は、符号化画像上の矩形領域である符号化ブロック（Ｔ０〜Ｔ２，図３参照）を構成する画素データを記憶し，前記符号化ブロック（Ｔ０〜Ｔ２，図３参照）内で縦１列または横１行に配置されたＭ個の画素データを１つの組としてＮ組の符号化データを出力する符号化ブロックレジスタ（２，図１４参照）と，
前記参照画像のＭ＋Ｑ−１個の画素を一時記憶し，連続するＭ個の画素を１組の参照データとしてＱ組の前記参照データを出力する第１の参照レジスタ（２０１，図１４参照）であって，（１）前記参照データが前記参照画像上縦に配置されたＭ＋Ｑ−１個のデータである場合は，前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納し，（２）前記参照データが前記参照画像上横に配置されたＭ＋Ｑ−１個のデータである場合は，前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御機能を有する第１の参照レジスタ（２０１，図１４参照）と，
１組の前記参照データと１組の前記符号化データの誤差量を演算する演算ユニット（７〜９，図１４参照）であって，Ｑ組の前記参照データとＮ組の前記符号化データとの全ての組み合わせの前記誤差量を算出するＱ×Ｎ個の演算ユニット（７〜９，図１４参照）と，
前記符号化ブロック（Ｔ０〜Ｔ２，図３参照）内で最も端に位置する前記符号化データの組の誤差量を１サイクル遅延させて隣接する前記符号化データの組の前記誤差量に加算し，以下順次その加算結果を１サイクル遅延させ隣接する前記誤差量に加算していく累積加算構造によりＮ個の前記誤差量の総和を求めるＱ個の累積加算アレイ（１０，２０３，図１４参照）とを備えた動きベクトル検出装置である。
【００５０】
第５の本発明は、前記第１の参照レジスタ（１，図２０参照）とは相異なる第２の参照レジスタ（４０１，図２０参照）と，
前記第１の参照レジスタ（１，図２０参照）から供給される参照データか前記第２の参照レジスタ（４０１，図２０参照）から供給される参照データかいずれかを選択する参照データ切り替えスイッチ（４０７〜４０９，図２０参照）と，前記第１の参照レジスタ（１，図２０参照）が順次前記参照データを更新し，前記演算ユニット（７〜９，図２０参照）に参照データを供給する第１のモードと，前記第２の参照レジスタ（４０１，図２０参照）が順次前記参照データを更新し前記演算ユニット（７〜９，図２０参照）に前記参照データを供給する第２のモードとの移行時には，移行前の有効な演算が終了した前記演算ユニット（７〜９，図２０参照）から順に前記参照データ切り替えスイッチ（４０７〜４０９，図２０参照）を切り替えるモード制御手段（４１０，図２０参照）とをさらに備えた第２または第４の本発明の動きベクトル検出装置である。
【００５１】
第６の本発明は、前記モード制御手段（４１０，図２０参照）は，新たな前記符号化ブロック（Ｔ０〜Ｔ２，図３参照）のデータを前記符号化ブロックレジスタ（４０２，図２０参照）に記憶させる場合，前記参照データ切り替えスイッチ（４０７〜４０９，図２０参照）の切り替え動作に同期して新たな前記符号化ブロック（Ｔ０〜Ｔ２，図３参照）のデータを１組ずつ順に前記符号化ブロックレジスタ（４０２，図２０参照）に記憶させる第５の本発明の動きベクトル検出装置である。
【００５２】
第７の本発明は、前記累積加算アレイ（５０１，図２３参照）は，（ａ）個々の前記演算ユニット（１０８〜１１１，図２３参照）の前記誤差量の加算結果を１回遅延して隣接する符号化データの組の誤差量に加算することで，Ｎ個の前記誤差量を累積加算するフレーム加算アレイ（５０２，図２３参照）と，（ｂ）偶数または奇数番目であるＮ／２個の演算ユニット（１０８〜１１１，図２３参照）に対して２サイクル遅延しながら前記誤差量を前記累積加算構造で加算するフィールド加算アレイ（５０３，図２３参照）と，（ｃ）前記フレーム加算アレイ（５０２，図２３参照）と前記フィールド加算アレイ（５０３，図２３参照）との結果の差を求める演算手段（５０６，図２３参照）とを有する第２，４，５，６の本発明の何れかの動きベクトル検出装置である。
【００５３】
第８の本発明は、前記演算ユニット（６０２〜６０４，図２５参照）は，入力された前記参照データの組と前記符号化データの組とに対して，それぞれの偶数位置の画素に対する誤差量と，それぞれの奇数位置の画素に対する誤差量との２種類の誤差量を求め，
前記累積加算アレイ（６０５，図２５参照）は，（ａ）前記２種類の誤差量を独立にそれぞれ累積加算構造で加算する第１のフィールド加算アレイ（６０６，図２５参照）と，（ｂ）第２のフィールド加算アレイ（６０７，図２５参照）とを有する第２，４，５，６の本発明の何れかの動きベクトル検出装置である。
【００５４】
第９の本発明は、前記演算ユニット（６０２，図２８参照）は，入力された前記参照データの組と前記符号化データの組とに対して，それぞれの偶数位置または奇数位置の画素に対する誤差量と，全ての前記画素に対する誤差量との２種類の誤差量を求め，
前記累積加算アレイ（６０５，図２５参照）は，（ａ）前記２種類の誤差量を独立に累積加算するフィールド加算アレイ（６０６，図２５参照）と，（ｂ）前記２種類の誤差量を独立に累積加算するフレーム加算アレイ（６０７，図２５参照）と，（ｃ）前記フィールド加算アレイと前記フレーム加算アレイとの結果の差を求める演算手段（６０８，図２５参照）とを有する第２，４，５，６の本発明の何れかの動きベクトル検出装置である。
【００５５】
第１０の本発明は、符号化画像上の矩形領域である符号化ブロック（Ｔ０〜Ｔ２，図３参照）を構成する画素データを記憶し，同一フィールドにおけるＭ個の前記画素データを１つの組として，第１フィールドの符号化データＮ／２組と第２フィールドの符号化データＮ／２組とを出力する符号化ブロックレジスタ（１０２，図２９参照）と，
参照画像の同一フィールドにおけるＭ個の画素データを記憶し，これを１つの組の参照データとして出力する第１フィールドおよび第２フィールドに対応する参照レジスタ（７０１〜７０３，図３参照）と，
前記参照データ１組と前記符号化データＮ／２組とを入力とし，フィールド誤差量を求めることができるフィールド評価手段（７０４〜７０７，図２９参照）と，
前記第１フィールドの参照データと前記第１フィールドの符号化データとに対するフィールド誤差量と，前記第２フィールドの参照データと前記第２フィールドの符号化データとに対するフィールド誤差量とを加算する第１の加算器（７２０，図２９参照）と，
前記第１フィールドの参照データと前記第２フィールドの符号化データとに対するフィールド誤差量と，前記第２フィールドの参照データと前記第１フィールドの符号化データとに対するフィールド誤差量とを加算する第２の加算器（７２１，図２９参照）とを備え，
前記参照レジスタ（７０１〜７０３，図３参照）は，（１）前記参照データが前記参照画像上縦に配置されたＭ個のデータである場合は，前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納し，（２）前記参照データが前記参照画像上横に配置されたＭ個のデータである場合は，前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納する制御機能を有し，
前記フィールド評価手段（７０４〜７０７，図２９参照）は，１組の前記参照データとＮ／２組の前記符号化データとの全ての組み合わせの誤差量を算出するＮ／２個の演算ユニット（７０８〜７１５，図２９参照）を有し，前記Ｎ／２個の誤差量から累積加算構造で総和を求め前記フィールド誤差量として出力する動きベクトル検出装置である。
【００５６】
第１１の本発明は、第１の本発明の動きベクトル検出方法の，（１）前記列を単位に分解する場合は，前記予測ブロック候補を前記参照画像上水平方向に順次ずらしながら前記パイプライン演算を進行させ，（２）前記行を単位に分解する場合は，前記予測ブロック候補を前記参照画像上垂直方向に順次ずらしながら前記パイプライン演算を進行させる制御ステップをコンピュータに実行させるためのプログラムである。
【００５７】
第１２の本発明は、第２の本発明の動きベクトル検出装置の，符号化画像上の矩形領域である符号化ブロック（Ｔ０〜Ｔ２，図３参照）を構成する画素データを記憶し，前記符号化ブロック（Ｔ０〜Ｔ２，図３参照）内で縦１列または横１行に配置されたＭ個の画素データを１つの組としてＮ組の符号化データを出力する符号化ブロックレジスタ（２，図１参照）と，参照画像のＭ個の画素を一時記憶し，これを１つの組の参照データとして出力する第１の参照レジスタ（１，図１参照）であって，（１）前記参照データが前記参照画像上縦に配置されたＭ個のデータである場合は，前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納し，（２）前記参照データが参照画像上横に配置されたＭ個のデータである場合は，前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御機能を有する第１の参照レジスタ（１，図１参照）と，１組の前記参照データと１組の前記符号化データとの誤差量を演算する演算ユニット（７〜９，図１参照）であって，１組の前記参照データとＮ組の前記符号化データとの全ての組み合わせの誤差量を算出する１×Ｎ個の演算ユニット（７〜９，図１参照）と，前記符号化ブロック（Ｔ０〜Ｔ２，図３参照）内で最も端に位置する符号化データの組の誤差量を１サイクル遅延させて隣接する符号化データの組の誤差量に加算し，以下順次その加算結果を１サイクル遅延させ隣接する誤差量に加算していく累積加算構造により前記Ｎ個の誤差量の総和を求める累積加算アレイ（１０，図１参照）としてコンピュータを機能させるためのプログラムである。
【００５８】
第１３の本発明は、第３の本発明の動きベクトル検出方法の，（１）前記列を単位に分解する場合は，前記予測ブロック候補の小ブロックが前記参照画像上で垂直座標のみ異なるように複数設定され，それらを水平方向に順次ずらしながら前記パイプラインを進行させ，（２）前記行を単位に分解する場合は，前記予測ブロック候補の小ブロックが前記参照画像上で水平座標のみ異なるように複数設定され，それらを垂直方向に順次ずらしながら前記パイプラインを進行させる制御ステップをコンピュータに実行させるためのプログラムである。
【００５９】
第１４の本発明は、第４の本発明の動きベクトル検出装置の，符号化画像上の矩形領域である符号化ブロック（Ｔ０〜Ｔ２，図３参照）を構成する画素データを記憶し，前記符号化ブロック（Ｔ０〜Ｔ２，図３参照）内で縦１列または横１行に配置されたＭ個の画素データを１つの組としてＮ組の符号化データを出力する符号化ブロックレジスタ（２，図１４参照）と，前記参照画像のＭ＋Ｑ−１個の画素を一時記憶し，連続するＭ個の画素を１組の参照データとしてＱ組の前記参照データを出力する第１の参照レジスタ（２０１，図１４参照）であって，（１）前記参照データが前記参照画像上縦に配置されたＭ＋Ｑ−１個のデータである場合は，前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納し，（２）前記参照データが前記参照画像上横に配置されたＭ＋Ｑ−１個のデータである場合は，前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御機能を有する第１の参照レジスタ（２０１，図１４参照）と，１組の前記参照データと１組の前記符号化データの誤差量を演算する演算ユニット（７〜９，図１４参照）であって，Ｑ組の前記参照データとＮ組の前記符号化データとの全ての組み合わせの前記誤差量を算出するＱ×Ｎ個の演算ユニット（７〜９，図１４参照）と，前記符号化ブロック（Ｔ０〜Ｔ２，図３参照）内で最も端に位置する前記符号化データの組の誤差量を１サイクル遅延させて隣接する前記符号化データの組の前記誤差量に加算し，以下順次その加算結果を１サイクル遅延させ隣接する前記誤差量に加算していく累積加算構造によりＮ個の前記誤差量の総和を求めるＱ個の累積加算アレイ（１０，２０３，図１４参照）としてコンピュータを機能させるためのプログラムである。
【００６０】
第１５の本発明は、第１０の本発明の動きベクトル検出装置の，符号化画像上の矩形領域である符号化ブロック（Ｔ０〜Ｔ２，図３参照）を構成する画素データを記憶し，同一フィールドにおけるＭ個の前記画素データを１つの組として，第１フィールドの符号化データＮ／２組と第２フィールドの符号化データＮ／２組とを出力する符号化ブロックレジスタ（１０２，図２９参照）と，参照画像の同一フィールドにおけるＭ個の画素データを記憶し，これを１つの組の参照データとして出力する第１フィールドおよび第２フィールドに対応する参照レジスタ（７０１〜７０３，図３参照）と，前記参照データ１組と前記符号化データＮ／２組とを入力とし，フィールド誤差量を求めることができるフィールド評価手段（７０４〜７０７，図２９参照）と，前記第１フィールドの参照データと前記第１フィールドの符号化データとに対するフィールド誤差量と，前記第２フィールドの参照データと前記第２フィールドの符号化データとに対するフィールド誤差量とを加算する第１の加算器（７２０，図２９参照）と，前記第１フィールドの参照データと前記第２フィールドの符号化データとに対するフィールド誤差量と，前記第２フィールドの参照データと前記第１フィールドの符号化データとに対するフィールド誤差量とを加算する第２の加算器（７２１，図２９参照）としてコンピュータを機能させるためのプログラムである。
【００６１】
第１６の本発明は、第１１から１５の本発明の何れかのプログラムを担持した記録媒体であって，コンピュータにより処理可能な記録媒体である。
【００６２】
【発明の実施の形態】
以下，本発明の実施の形態について，図面を用いて説明する。
【００６３】
（実施の形態１）
はじめに，本実施の形態の動きベクトル検出装置の構成について説明する。
【００６４】
図１は本実施の形態の動きベクトル検出装置を示すブロック図である。
【００６５】
実施の形態１は，上述した第１，第２の本発明に関するものであり，第１の本発明の符号化ブロックを列を単位に小ブロックに分解した場合に相当し，また，第２の本発明の縦１列のＭ個の画素データを１つの組とする場合に相当するものである。この実施の形態１では予測ブロック候補と符号化ブロックとの誤差量として，（数１）および（数２），（数３）に示した差分絶対値総和を採用し，符号化ブロックの大きさは水平Ｎ＝３，垂直Ｍ＝４，検索領域は水平方向にＫ＝３すなわち−３〜２の範囲，垂直方向にＬ＝４すなわち−４〜３の範囲としている。
【００６６】
本明細書においては，符号化ブロックを分解した小ブロックの画素数を記号Ｍで表記し，小ブロックの個数を記号Ｎで表記するようにしている。したがって，（１）符号化ブロックを列方向に分解する場合には，縦方向に関する量をＭで表記し，横方向に関する量をＮで表記し，（２）符号化ブロックを行方向に分解する場合には，縦方向に関する量をＮで表記し，横方向に関する量をＭで表記している（符号化ブロックを列方向に分解するのか行方向に分解するのかにかかわらず，水平検索範囲をＫで表記し，垂直検索範囲をＬで表記している）。なお，Ｎが奇数である場合には，Ｎ／２は（Ｎ＋１）／２と解釈される。もちろん，これらに関しては，以下の実施の形態においても同様である。
【００６７】
図１で参照レジスタ１は参照画像のａ０〜ａ３から成る４個の画素を一時記憶して，これを１つの組の参照データＡとして出力し，符号化ブロックレジスタ２は１２個の画素から成る符号化ブロックを縦１列に配置された４個のデータを１つの小ブロックとして３つの組に分け，第０列に相当するｂ００〜ｂ３０を記憶する符号化小ブロックレジスタ３と，第１列に相当するｂ０１〜ｂ３１を記憶する符号化小ブロックレジスタ４と，第２列に相当するｂ０２〜ｂ３２を記憶する符号化小ブロックレジスタ５とから構成され，それぞれの出力を符号化データＢ０，Ｂ１，Ｂ２の３つの組として出力する。演算ブロック６は演算ユニット７〜９で構成され，演算ユニット７は参照データＡと符号化データＢ０を，演算ユニット８は参照データＡと符号化データＢ１を，演算ユニット９は参照データＡと符号化データＢ２をそれぞれ入力とし，（数２）に該当する差分絶対値和ＡＥi,j,nを出力する。演算ユニット７〜９の出力は累積加算アレイ１０に接続され，累積加算アレイ１０は（数３）に該当する差分絶対値総和ＡＥi,jを出力する。
累積加算アレイ１０は，演算ユニット７の出力を遅延器１１を介して演算ユニット８の出力と加算器１２で加算し，その出力を遅延器１３を介して演算ユニット９の出力と加算器１４で加算するという構成である。図２は演算ユニット７の内部構成を示すブロック図である。演算ユニット７は図２で入力された参照データＡと符号化データＢ０の対応する各要素を差分絶対値演算器１５〜１８に接続し，その出力を加算器１９〜２１で加算する構成である。演算ユニット８，９の構成は図２の演算ユニット７の構成と同一であり，符号化データの対応関係がＢ０からＢ１とＢ２に変更されるのみであるから説明を省略する。
【００６８】
つぎに，本実施の形態の動きベクトル検出装置の動作について説明する。なお，本実施の形態の動きベクトル検出装置の動作について説明しながら，本発明の動きベクトル検出方法の一実施の形態についても説明する（以下の実施の形態についても同様である）。
【００６９】
図３は本実施の形態の符号化画像と参照画像で各ブロックと画素および検索領域の位置関係を示す領域関係図，図４は動作の詳細を示すタイミングチャートである。
【００７０】
まず，実施の形態１での符号化ブロックＴ０の動きベクトル検出動作を説明する。図３で符号化ブロックＴ０の検索範囲は参照画像上でＣに示す範囲であり，ベクトル（−３，−４）すなわち検索範囲の左上端から誤差量の評価を開始する。図４のタイミングＤ０のサイクルから符号化ブロックＴ０の演算を開始するが，その直前サイクルで符号化小ブロックレジスタ３には図３の符号化ブロックＴ０の左端列の小ブロック（ｂ００，ｂ１０，ｂ２０，ｂ３０）＝（ｔ4,3，ｔ5,3，ｔ6,3，ｔ7,3）が，符号化小ブロックレジスタ４には中央列の小ブロック（ｂ０１，ｂ１１，ｂ２１，ｂ３１）＝（ｔ4,4，ｔ5,4，ｔ6,4，ｔ7,4）が，符号化小ブロックレジスタ５には右端列の小ブロック（ｂ０２，ｂ１２，ｂ２２，ｂ３２）＝（ｔ4,5，ｔ5,5，ｔ6,5，ｔ7,5）がそれぞれ読み込まれており，３つの出力の組Ｂ０，Ｂ１，Ｂ２として既に出力されているものとする。いま図４タイミングＤ０のサイクルで動作が開始すると，参照レジスタ１には図３の参照画素データ（ａ０，ａ１，ａ２，ａ３）＝（ｒ0,0，ｒ1,0，ｒ2,0，ｒ3,0）が格納され，１組の出力Ａとして出力される。このサイクルＤ０で演算ユニット７では入力された参照データＡと符号化データＢ０に関してその差分絶対値和を求めるが，その結果は｜ｒ0,0−ｔ4,3｜＋｜ｒ1,0−ｔ5,3｜＋｜ｒ2,0−ｔ6,3｜＋｜ｒ3,0−ｔ7,3｜であり，（数２）より差分絶対値和ＡＥ-3,-4,0を求めたことになる。続いてタイミングＤ１のサイクルで，参照レジスタ１には（ａ０，ａ１，ａ２，ａ３）＝（ｒ0,1，ｒ1,1，ｒ2,1，ｒ3,1）が読み込まれる。図５は参照画像の検索領域において参照レジスタ１が格納する小ブロックデータの領域を示す参照データ領域図である。図５でタイミングＤ０の時点で参照レジスタ１が格納する参照データは図中小ブロックＤ０で示す検索領域左上端の縦４画素であったが，タイミングＤ１ではそれが水平方向に隣接する４画素の小ブロックＤ１に移動したことを示している。すなわち，上述した第１の本発明の列を単位に小ブロックに分解の場合は水平方向に移動するということに相当し，第２の本発明の参照データが縦に配列された４画素である場合は水平方向に移動することに相当するが，この移動制御方法は図４０に示した従来例の移動方法とは大きく異なるものである。この間も符号化ブロックレジスタ２は符号化ブロックＴ０の画素を格納，保持する。さて，図４に示したタイミングＤ１では，演算ユニット７が｜ｒ0,1−ｔ4,3｜＋｜ｒ1,1−ｔ5,3｜＋｜ｒ2,1−ｔ6,3｜＋｜ｒ3,1−ｔ7,3｜を，すなわちＡＥ-4,-2,0を算出し，演算ユニット８が｜ｒ0,0−ｔ4,4｜＋｜ｒ1,0−ｔ5,4｜＋｜ｒ2,0−ｔ6,4｜＋｜ｒ3,0−ｔ7,4｜を，すなわち（数２）よりＡＥ-4,-3,1を算出する。同様にタイミングＤ２のサイクルでは，演算ユニット７〜９がＡＥ-4,-1,0，ＡＥ-4,-2,1，ＡＥ-4,-3,2をそれぞれ算出することとなる。以下，順に符号化ブロックＴ０に関するＡＥi,j,nが算出される。
【００７１】
演算ユニット７〜８の出力は累積加算アレイ１０で加算され，差分絶対値総和が求められる。いま，図４のタイミングＤ０のサイクルで演算ユニット７で求められたＡＥ-4,-3,0は累積加算アレイ１０の遅延器１１で１サイクル遅延され，タイミングＤ１のサイクルで演算ユニット８で求められたＡＥ-4,-3,1と加算器１２で加算され，ＡＥ-4,-3,0＋ＡＥ-4,-3,1が演算される。その結果は遅延器１３で１サイクル遅延され，タイミングＤ２のサイクルで演算ユニット９で求められたＡＥ-4,-3,2と加算器１４で加算され，ＡＥ-4,-3,0＋ＡＥ-4,-3,1＋ＡＥ-4,-3,2が求められる。これは（数３）と比較してＡＥ-4,-3であることが分かる。
すなわちベクトル（−３，−４）の予測ブロック候補と符号化ブロックＴ０との誤差量である差分絶対値総和ＡＥ-4,-3が求められたわけである。この遅延器１１と遅延器１３で３つの演算ユニット７〜９を結ぶことによりパイプライン演算が構成され，ＡＥ-4,-3，ＡＥ-4,-2〜ＡＥ-4,2まで毎サイクル求めることができるのである。
【００７２】
この一連のパイプライン動作により，図５で検索範囲内の小ブロックＤ０から小ブロックＤ７まで高さ４画素の帯状の領域が左から右へ順に評価されたことになる。図４タイミングＤ７でＡＥ-4,2の算出を完了すると，次にタイミングＥ０のサイクルに移行して，参照レジスタ１には参照画素データ（ａ０，ａ１，ａ２，ａ３）＝（ｒ1,0，ｒ2,0，ｒ3,0，r4,0）が読み込まれ，同時に演算ユニット７がＡＥ-3,-3,0を算出し，新たに一連のパイプライン動作が開始される。この間も符号化ブロックレジスタ２は符号化ブロックＴ０の画素を格納，保持しているから，タイミングＥ０からタイミングＥ７に至る一連のパイプライン動作では，図６の小ブロックＥ０〜小ブロックＥ７まで高さ４画素の帯状の領域の領域を左から右へ順に，符号化ブロックＴ０と予測ブロック候補との誤差量評価を実行することとなる。図５と図６で演算評価される帯状の領域を比較すると，図６では図５より１画素分下がって動作していることがわかる。これはＤ０〜Ｄ７に至る演算で検索領域の最上段の１行分の画素が評価対象として演算完了したことによる。同じように，Ｅ０〜Ｅ７の演算で上段２行分の画素が評価対象として演算を完了する。以下順次新たなパイプライン動作を開始する度に帯状の演算領域が１行ずつ下がり，パイプライン動作８巡目である図７のＦ０〜Ｆ７の演算を完了すると符号化ブロックＴ０の誤差量演算が全て完了することとなる。この間の差分絶対値総和の最小値を調べることにより符号化ブロックＴ０の動きベクトルを決定することができる。なお，求められるベクトルは，符号化画像と参照画像がフレーム構造の場合はフレームベクトルが，フィールド構造の場合はフィールドベクトルである。
【００７３】
図７の小ブロックＦ７の演算を完了すると，符号化ブロックレジスタ２には新たに符号化ブロックＴ１の１２個の画素が図３の関係に従って格納され，同時に符号化ブロックＴ２に対応する検索領域の左上端の４画素が参照レジスタ１に格納され，符号化ブロックＴ０の場合と全く同様にパイプライン動作が開始されるのである。すなわち，従来例とは異なり，参照レジスタ１が格納する参照データを複数の符号化ブロックで使用することにならず，新たな符号化ブロックを開始する場合には同時に参照データも新たに読み込むことが出来るから，符号化ブロックＴ０の処理の次にはＴ１を開始することができ，さらにその次はＴ２と，符号化画像上の位置をとばすことなく順番に処理を完了することが出来るものである。
【００７４】
実施の形態１の回路規模と処理速度について表５と表６にまとめる。表５は実施の形態１の回路規模を示すものであり，表６は実施の形態１の処理速度を示すものである。表５，表６の算出条件は表１，表２の従来例１の算出条件と同じである。本実施の形態１は並列演算していないので，表５，表６の図１の場合と，従来例１の表１，表２でＱ＝１の場合（すなわち，１系列の場合）とを比較すると，本実施の形態では必要とされるフリップフロップの数は約半減し，１ブロック当たりに必要なサイクル数も少なくなっている。これはパイプライン演算を構成するために演算ユニット７〜９をつなぐ遅延器１１，１３が検索範囲の大きさに関わりなく常に１画素分で構成できているためにレジスタ数が半減でき，また演算ユニットが有効な演算を実行していないロスサイクルが減少できているために演算速度が改善されたのである。また，４８０ｉや１０８０ｉの例では従来例１と比較して，並列演算していないので処理サイクルは約８．５倍，約１５倍とそれぞれ増加しているが，フリップフロップ数は約２．５％，約０．７％と激減している。
【００７５】
【表５】
2004214733.tif 000010
【００７６】
【表６】
2004214733.tif 000011
以上のように実施の形態１によれば，予測ブロック候補の縦１列を小ブロックに設定し，それを参照画面上水平方向に順次ずらしながらパイプライン演算を行う構成としたことにより，演算ユニットが有効な演算を実行しないロスサイクルを減少させ高速な処理が実現でき，検索範囲の大小にかかわらず演算ユニット間を１画素分のみの遅延器で接続してパイプライン演算を構成するからレジスタ数が最小となり，小さな回路規模で実現できているものである。また，処理する符号化ブロックがＴ０，Ｔ１，Ｔ２と画像上連続した位置で順に処理完了することができるから，動きベクトル検出に引き続き実行される符号化処理の構成が容易であり，多重化構成を前提とせずとも装置を構成でき，用途に応じて高速処理が必要ではない場合など極めて小さな回路で動きベクトル検出装置を実現できるものである。
【００７７】
（実施の形態２）
はじめに，本実施の形態の動きベクトル検出装置の構成について説明する。
【００７８】
図８は本実施の形態の動きベクトル検出装置を示すブロック図である。
【００７９】
実施の形態２も，上述した第１，第２の本発明に関するものであり，第１の本発明の行を単位に小ブロックに分解した場合に相当し，第２の本発明の横１行のＭ個の画素データを１つの組とする場合に相当するものである。また，この実施の形態２でも予測ブロック候補と符号化ブロックとの誤差量として，差分絶対値総和を採用する。（数４）に実施の形態２での差分絶対値和の定義式を示すが，（数１）に示した定義式とはＭ，Ｎの扱いを逆にしている（小ブロックの分解において行を単位とするか列を単位とするかが異なっているからである）。すなわち，Ｍは符号化ブロックの水平の大きさ，Ｎは垂直の大きさである。（数４）の差分絶対値総和ＡＥi,jはｍとｎについての２重総和となっているが，これを（数５）に示すｍに関する総和，すなわち同一行内の差分絶対値和ＡＥi,j,nと，（数６）に示すｎに関する総和の２段階に分解しても同じく差分絶対値総和ＡＥi,jを求めることが出来る。実施の形態２ではこの（数５）と（数６）の関係を用いて符号化ブロックと予測ブロック候補との差分絶対値総和を演算するものである。また，実施の形態２のブロックの大きさは水平Ｍ＝３，垂直Ｎ＝４とし，検索領域については，水平方向にＫ＝３すなわち−３〜２の範囲，垂直方向にＬ＝４すなわち−４〜３の範囲としている。
【００８０】
【数４】
2004214733.tif 000012
【００８１】
【数５】
2004214733.tif 000013
【００８２】
【数６】
2004214733.tif 000014
以下，図８で本実施の形態２の構成を説明するが，上述した図１の実施の形態１と同一部分には同一番号を付し説明を省略する。
【００８３】
図８で参照レジスタ１０１は参照画像のａ０〜ａ２から成る３個の画素を一時記憶して，これを１つの組として参照データＡを出力する。符号化ブロックレジスタ１０２は１２個の画素から成る符号化ブロックを横１行に配置された３個データを組として４つの組に分け，第０行の小ブロックに相当するｂ００〜ｂ０２を記憶する符号化小ブロックレジスタ１０３と，第１行の小ブロックに相当するｂ１０〜ｂ１２を記憶する符号化小ブロックレジスタ１０４と，第２行の小ブロックに相当するｂ２０〜ｂ２２を記憶する符号化小ブロックレジスタ１０５と，第３行の小ブロックに相当するｂ３０〜ｂ３２を記憶する符号化小ブロックレジスタ１０６とから構成され，それぞれの出力を符号化データＢ０，Ｂ１，Ｂ２，Ｂ３の４つの組として出力する。演算ブロック１０７は演算ユニット１０８〜１１１から構成され，参照データＡと符号化データＢ０〜Ｂ２をそれぞれ入力とし（数５）に該当する差分絶対値和を出力する。演算ユニット１０８〜１１１の出力は累積加算アレイ１１２に接続され，累積加算アレイ１１２は（数６）に該当する差分絶対値総和を出力する。累積加算アレイ１１２の構造は，実施の形態１の図１に示された累積加算アレイ１０に対して遅延器１１３と加算器１１４が増設されたものである。図９は演算ユニット１０８の内部構成を示すブロック図である。演算ユニット１０８の内部構造は実施の形態１の図２演算ユニット７から差分絶対値演算器１８と加算器２０が削除されたものである。演算ユニット１０９〜１１１の構成は図９の演算ユニット１０８の構成と同一であり，符号化データの対応関係がＢ０からＢ１，Ｂ２，Ｂ３に変更されるのみであるから説明を省略する。
【００８４】
つぎに，本実施の形態の動きベクトル検出装置の動作について説明する。
【００８５】
図１０は動作の詳細を示すタイミングチャート，図１１〜図１３は参照レジスタ１０１が保持するデータが参照画像の検索範囲内に占める位置関係を示す領域関係図である。
【００８６】
実施の形態２は符号化ブロックＴ０の動きベクトル検出について，ベクトル（−３，−４）すなわち検索範囲の左上端から誤差量の演算を開始する。図１０のタイミングＧ０のサイクルで参照レジスタ１０１には参照画素データ（ａ０，ａ１，ａ２）＝（ｒ0,0，ｒ0,1，ｒ0,2）が読み込まれており，１つの出力の組Ａとして出力され，符号化小ブロックレジスタ１０３には（ｂ００，ｂ０１，ｂ０２）＝（ｔ4,3，ｔ4,4，ｔ4,5）が，符号化小ブロックレジスタ１０４には（ｂ００，ｂ０１，ｂ０２）＝（ｔ5,3，ｔ5,4，ｔ5,5）が，符号化小ブロックレジスタ１０５には（ｂ００，ｂ０１，ｂ０２）＝（ｔ6,3，ｔ6,4，ｔ6,5）が，符号化小ブロックレジスタ１０６には（ｂ００，ｂ０１，ｂ０２）＝（ｔ7,3，ｔ7,4，ｔ7,5）がそれぞれ読み込まれており，４つの出力の組Ｂ０，Ｂ１，Ｂ２，Ｂ３として出力されている。実施の形態１と異なるのは参照レジスタ１０１は予測ブロック候補の行を単位とする小ブロックを１つ記憶する点と，符号化小ブロックレジスタ１０３〜１０６は符号化ブロックＴ０の行を単位とする小ブロック４つを記憶し，その出力は４つの出力の組として取り扱われる点である。誤差量演算が開始されると，タイミングＧ０のサイクルで（数５）に基づき演算ユニット１０８がＡＥ-4,-3,0を算出し，タイミングＧ１では演算ユニット１０８〜１０９がＡＥ-3,-3,0とＡＥ-4,-3,1を求め，以下演算ユニット１０８〜１１１が符号化ブロックＴ０と参照ブロック候補の差分絶対値和ＡＥi,j,nを順次演算する。一方累積加算アレイ１１２は演算ユニット１０８〜１１１の演算結果を１サイクル遅延させながら加算することでパイプライン演算を構成し，差分絶対値総和ＡＥi,jを算出していく。
【００８７】
以上は上述した実施の形態１の図４に示した動作と類似した動作となっているが，実施の形態２では参照レジスタ１０１に格納されるデータの更新方法が実施の形態１と異なっている。タイミングＧ０のとき参照レジスタ１０１は図１１で検索領域左上端の横３画素からなる小ブロックＧ０を格納して誤差量演算を開始するが，タイミングＧ１に進むとそれを垂直方向に隣接する３画素である小ブロックＧ１に移動させ，以下タイミングＧ１０で検索領域の下端の小ブロックＧ１０に至るまで幅３画素の帯状の領域を上から下へと移動させながら一連のパイプライン動作で誤差量演算を実行するものである。タイミングＧ１０で一連のパイプライン演算を終了すると，タイミングＨ０のサイクルに移り，参照レジスタ１０１には参照画素データ（ａ０，ａ１，ａ２）＝（ｒ0,1，ｒ0,2，ｒ0,3）が読み込まれ，新たに一連のパイプライン動作が開始される。この間も符号化ブロックレジスタ１０２は符号化ブロックＴ０の画素を保持している。タイミングＨ０からタイミングＨ１０に至る一連のパイプライン動作では，図１２の小ブロックＨ０〜小ブロックＨ１０の幅３画素の帯状の領域を上から下へ順に演算して，符号化ブロックＴ０と予測ブロック候補との誤差量評価を実行することになる。以下，一連のパイプライン動作が完了する毎に上記帯状の演算領域が１列ずつ右に移動し，パイプライン動作６巡目である図１３の小ブロックＩ０〜小ブロックＩ１０の演算を完了すると符号化ブロックＴ０に関する誤差量演算が完了する。この間の差分絶対値総和の最小値を調べることにより符号化ブロックＴ０の動きベクトルを決定することができるのである。
【００８８】
実施の形態２の回路規模と演算速度については，上述した実施の形態１の場合とほぼ同じであるから説明を省略する。
【００８９】
以上のように実施の形態２によれば，予測ブロック候補の横１行を小ブロックに設定し，それを参照画面上垂直方向に順次ずらしながらパイプライン演算を行う構成としたことにより，演算ユニットが有効な演算を実行しないロスサイクルを減少させ高速な処理が実現でき，検索範囲の大小にかかわらず演算ユニット間を１画素分のみの遅延器で接続してパイプライン演算を構成するから，レジスタ数が最小となり，小さな回路規模で実現できるものである。また，処理する符号化ブロックがＴ０，Ｔ１，Ｔ２と画像上連続した位置で順に処理完了することができるから，多重化構成を前提とせずとも構成でき，用途に応じて高速処理が要求されない場合など極めて小さな回路で動きベクトル検出装置を実現できるものである。
【００９０】
実施の形態１と実施の形態２は全く同じ効果を持ちつつ，参照画像に対する読み込み方法が異なるものであるから，動きベクトル検出装置に接続して使用するメモリなどの参照画像記憶媒体の特性，動作条件に応じて，実施の形態１あるいは実施の形態２からより有利である形態を選択して具現化することが出来る。
【００９１】
（実施の形態３）
はじめに，本実施の形態の動きベクトル検出装置の構成について説明する。
【００９２】
図１４は本実施の形態の動きベクトル検出装置を示すブロック図である。
【００９３】
実施の形態３は，上述した第３，第４の本発明に関するものであり，第３の本発明の小ブロックが列を単位に分解された場合に相当し，第４の本発明の参照データが縦１列のＭ＋Ｑ−１個のデータである場合に相当するものである。また，この実施の形態１では予測ブロック候補と符号化ブロックとの誤差量として，（数１）および（数２），（数３）に示した差分絶対値総和を採用し，符号化ブロックの大きさは水平Ｎ＝３，垂直Ｍ＝４，検索領域は水平方向にＫ＝３すなわち−３〜２の範囲，垂直方向にＬ＝４すなわち−４〜３の範囲としている。
【００９４】
図１４で本実施の形態３の構成を説明するが，上述した図１の実施の形態１と同一部分には同一番号を付して説明を省略する。
【００９５】
参照レジスタ２０１は参照画像のａ０〜ａ４から成る５個の画素を一時記憶して，連続する４個の画素を組とし，参照データＡａ＝（ａ０，ａ１，ａ２，ａ３）を１つの出力の組，参照データＡｂ＝（ａ１，ａ２，ａ３，ａ４）を１つの出力の組とするレジスタである。演算ブロック６は前記参照データＡａと符号化データＢ０〜Ｂ２を入力とし，演算ブロック２０２は演算ブロック６と全く同一の構成を採り，前記参照データＡｂと符号化データＢ０〜Ｂ２を入力とする。累積加算アレイ２０３は累積加算アレイ１０と全く同一の構成を採るものであり，演算ブロック２０２の３つの出力を入力として累積加算する。
【００９６】
本実施の形態３の構成では，参照レジスタ２０１のａ０〜ａ３と，符号化ブロックレジスタ２と演算ブロック６と累積加算アレイ１０から構成される部分は上述した実施の形態１の構成（図１参照）と同じものであり，参照レジスタ２０１のａ１〜ａ４と，符号化ブロックレジスタ２と演算ブロック２０２と累積加算アレイ２０２から構成される部分もまた上述した実施の形態１の構成（図１参照）と同じものである。即ち，参照レジスタ２０１を図１の参照レジスタ１に対して１画素増設したことにより，参照レジスタ２０１のａ１〜ａ３と符号化ブロックレジスタ２を共通化しながら２つの動きベクトル検出装置を合体した構造となっているものである。
【００９７】
つぎに，本実施の形態の動きベクトル検出装置の動作について説明する。
【００９８】
図１５は動作の詳細を示すタイミングチャート，図１６〜図１８は参照レジスタ２０１が保持するデータが参照画像の検索範囲内に占める位置関係を示す領域関係図である。
【００９９】
実施の形態２は図１５のタイミングＪ０のサイクルから符号化ブロックＴ０の動きベクトル検出動作を開始する。図１５のタイミングＪ０からＪ７に至る期間，参照データＡａ，符号化データＢ０〜Ｂ２を入力とした演算ブロック６と累積加算アレイ１０による一連のパイプライン演算は上述した実施の形態１の図４サイクルＤ０〜Ｄ７のパイプライン動作と全く同一の動作である。また，この期間の参照データＡａの検索領域内での位置は実施の形態１の図５の小ブロックＤ０〜小ブロックＤ７と同じである。一方，図１５のタイミングＪ０からＪ７に至る期間，参照データＡｂ，符号化データＢ０〜Ｂ２を入力とした演算ブロック２０２と累積加算アレイ２０３による一連のパイプライン演算は上述した実施の形態１の図４サイクルＥ０〜Ｅ７のパイプライン動作と全く同一の動作であり，参照データＡｂの検索領域内での位置は実施の形態１の図６の小ブロックＥ０〜小ブロックＥ７と同じである。すなわち，実施の形態１で２巡回のパイプライン演算つまり１６サイクルで実現していた差分絶対値総和演算を，パイプライン構造を２系統並列処理することで図１５のＪ０〜Ｊ７の８サイクルで完了するものである。この期間，参照レジスタ２０１に格納される参照データは図１６の小ブロックＪ０〜小ブロックＪ７に示す高さ５画素の帯状の領域であり，参照レジスタ２０１は左端の縦５画素の小ブロックＪ０を格納する状態から格納データを順次右に移動させることで２系統のパイプライン演算並列処理を実行させるのである。
また，図１６の小ブロックＪ７の演算を完了すると検索領域内の上端２行分の参照画素はそれ以降の符号化ブロックＴ０の誤差量演算に不要となるので，続くタイミングＰ０のサイクルでは参照レジスタ２０１に格納される参照画素は（ａ０，ａ１，ａ２，ａ３，ａ４）＝（ｒ2,0，ｒ3,0，ｒ4,0，ｒ5,0，ｒ6,0）となり，新たな２系統並列処理のパイプライン動作が開始される。このパイプライン動作では図１７で小ブロックＰ０〜小ブロックＰ７に示ように上端から２画素下がった位置で高さ５画素の帯状の領域を左から右へと演算することに相当する。このようにパイプライン演算を完了するたびに２行ずつ下方にシフトしながら処理を進めるが，パイプライン演算４巡回目に図１８に示す状態となり，この小ブロックＳ７の演算完了を以て符号化ブロックＴ０の全ての予測ブロック候補の誤差量演算を完了するのである。この間の累積加算アレイ１０と累積加算アレイ２０３の出力である差分絶対値総和の最小値を調べることにより符号化ブロックＴ０の動きベクトルを決定することができる。
【０１００】
図１８の小ブロックＳ７の演算を完了すると，符号化ブロックレジスタ２には新たに符号化ブロックＴ１の１２個の画素が格納され，符号化ブロックＴ１に対応する検索領域の左上端の５画素が参照レジスタ２０１に格納され，符号化ブロックＴ０の場合と全く同様に符号化ブロックＴ１のパイプライン動作が開始されるのである。すなわち，実施の形態１，実施の形態２と同じく符号化ブロックＴ０の処理からＴ１，Ｔ２へと画像上の位置をとばすことなく順番に処理を完了することが出来ている。
【０１０１】
【表７】
2004214733.tif 000015
【０１０２】
【表８】
2004214733.tif 000016
実施の形態３の回路規模と処理速度について表７と表８にまとめる。表７は実施の形態３の回路規模を示すものであり，表８は実施の形態３の処理速度を示すものである。表７，表８の算出条件は表１，表２の従来例１の場合，表５，表６の実施の形態１の場合と同じである。まず，表５，表６に示した本発明実施の形態１の図１の場合と，表７，表８の本発明実施の形態３の図１４の場合を比較すると，実施の形態３では多重化系列数Ｑ＝２に並列処理することにより演算速度はちょうど２倍に改善できているが，一方レジスタは僅かに画素値レジスタ個数Ｓが１画素分とデータレジスタ個数Ｕが２データ分増加するのみであり，極めて効率的に並列処理化が実現できていることがわかる。また，表１，表２の従来例１の図３５の場合と比較すると，いずれも多重化系列数Ｑ＝２であり演算速度は互いに遜色ない程度となっているが，本実施の形態３ではフリップフロップ数がわずか３分の１で構成できており，著しい効果があることがわかる。現実的な映像のブロックサイズ，検索範囲とすればこの差はより顕著なものとなり，従来例１と比較して４８０ｉの例では処理速度は同程度であるがフリップフロップ数は約３．７％で構成でき，１０８０ｉの例では処理速度を２倍以上に高速化しつつもフリップフロップ数は約２．１％で構成できるという，劇的な効果を示している。これは以下の２点によるものである。第１に，従来方式では並列構成にするためには大量のフリップフロップを要する符号化ブロックレジスタを多重に持つ必要があったが，本発明では多重化系列すべてが同じ符号化ブロックを演算するのであるから，ただ１つの符号化ブロックを記憶するレジスタで構成できていること。第２に，演算データレジスタは本発明でも従来技術でも系列数に比例して増設する必要があるが，従来は検索範囲に比例する演算データレジスタが必要であったため，実用的な検索範囲では並列化と検索範囲の相乗効果で膨大な規模が要求されたことに対して，本発明では演算データレジスタが検索範囲の大きさにかかわらず常に１データ分のみで構成できるようになったことによるものである。
【０１０３】
以上のように本発明の実施の形態３では，上述した第３の本発明の参照データ小ブロックを参照画像上で垂直座標のみ異なるように複数（実施の形態３では２通り）設定し，それらを水平方向に順次ずらしながら取り出して前記パイプラインを進行させる制御を備えた動きベクトル検出方式を採用して，第４の本発明の参照画像のＭ＋Ｑ−１個の画素を一時記憶し，連続するＭ個の画素を１組の参照データとしてＱ組の参照データを出力する参照レジスタ２０１が前記参照データを参照画面上水平方向に順次ずらしながら取り出して格納する制御機能をもち，１つの符号化ブロックと複数の予測ブロック候補との誤差量を同時に複数のパイプライン演算で求める構成としたことにより，符号化ブロックレジスタと参照レジスタを共用化して多重化並列処理回路を構成することができ，また，系列数に比例して増加する演算データ遅延器が常に最小の１データ分で構成できるから，極めて小さな回路規模で並列演算できる動きベクトル検出装置を構成できるものである。また，実施の形態１，実施の形態２と同じくすべての演算ユニットのロスサイクルが少なく，Ｑ系列が全て全く同時に動作するから符号化ブロック１つ当たりの演算速度は正確にＱ倍に高速化できる。さらに，本発明では符号化ブロックを１つずつ処理していくものであり，表７，表８では多重化系列数Ｑ＝２の場合，８の場合，３２の場合を例示しているが，本発明では多重化系列数の設定は符号化ブロックの大きさや検索範囲の大きさなどには一切の影響を受けず，系列数Ｑは１を含んで任意に設定することが出来る。そのため，回路規模の要求と処理速度の要求から適切な多重化系列数を任意に選択し，用途，条件に適合した動きベクトル検出装置を構成することが出来るものである。
【０１０４】
（実施の形態４）
はじめに，本実施の形態の動きベクトル検出装置の構成および動作について説明する。
【０１０５】
図１９は本実施の形態の動きベクトル検出装置を示すブロック図である。
【０１０６】
実施の形態３では第３の本発明の小ブロックが列を単位に分解された場合に相当し，第４の本発明の参照データが縦１列のＭ＋Ｑ−１個のデータである場合に相当するものであったが，実施の形態４は，第３の本発明の小ブロックが行を単位に分解された場合に相当し，第４の本発明の参照データが横１行のＭ＋Ｑ−１個のデータである場合に相当するものである。
【０１０７】
図１９で参照レジスタ３０１は図８の参照レジスタ１０１を１画素拡張し，連続する３画素を１つの組として参照データＡａと参照データＡｂを出力するレジスタであり，演算ブロック３０２は演算ブロック１０７と，累積加算アレイ３０３は累積加算アレイ１１２と同じ構成のものである。図１９では図８の実施の形態２と同一部分には同一番号を付している。
【０１０８】
実施の形態４の動作は，実施の形態１に対して実施の形態３が並列処理を実現したことと全く同様に実施の形態２に対して並列処理を実現するものであるから，詳細な説明を省略する。
【０１０９】
実施の形態４と実施の形態３は全く同じ効果を持ちつつ，参照画像に対する読み込み方法が異なるものである。従って，動きベクトル検出装置に接続して使用するメモリなど参照画像記憶媒体の特性，動作条件に応じて，実施の形態４あるいは実施の形態３からより適した形態を選択することが出来るものである。
【０１１０】
（実施の形態５）
はじめに，本実施の形態の動きベクトル検出装置の構成について説明する。
【０１１１】
図２０は本実施の形態の動きベクトル検出装置を示すブロック図である。
【０１１２】
実施の形態５は，実施の形態１を基本として，第５，第６の本発明の技術を適用したものである。従って，この実施の形態５では予測ブロック候補と符号化ブロックとの誤差量として，（数１）および（数２），（数３）に示した差分絶対値総和を採用し，符号化ブロックの大きさは水平Ｎ＝３，垂直Ｍ＝４，検索領域は水平方向にＫ＝３すなわち−３〜２の範囲，垂直方向にＬ＝４すなわち−４〜３の範囲としている。
【０１１３】
図２０を用いて本実施の形態５の構成を説明するが，図１の実施の形態１の構成と同一部分には同一番号を付して説明を省略する。参照レジスタ４０１は参照レジスタ１を第１の参照データレジスタとして新たに増設された第２の参照レジスタであり，その出力は１つの組の参照データＣとして出力する。符号化ブロックレジスタ４０２は符号化小ブロックレジスタ４０３〜４０５から構成されるが，実施の形態１の構成と異なるのは新たな符号化ブロックの画素データを読み込むタイミングが３つの符号化小ブロックレジスタ４０３〜４０５でそれぞれ独立に制御できるように構成されていることである。演算ブロック４０６には符号化データＢ０，Ｂ１，Ｂ２，参照データＡに加え参照データＣが入力され，参照データＡと参照データＢは参照データ切り替えスイッチであるスイッチ４０７でいずれかが選択されて演算ユニット７に入力され，スイッチ４０８で選択されて演算ユニット８に入力され，スイッチ４０９で選択されて演算ユニット９に入力されている。スイッチ４０７，スイッチ４０８，スイッチ４０９はそれぞれ独立に制御される。モード制御部１１０は符号化小ブロックレジスタ４０３〜４０５の読み込みタイミングとスイッチ４０７〜４０９の切り替えを制御する制御部である。
【０１１４】
つぎに，本実施の形態の動きベクトル検出装置の動作について説明する。
【０１１５】
図２１と図２２は本実施の形態５の動作を示すタイミングチャートである。図中の記号Ｄ，Ｅ，Ｆは図５，図６，図７の記号に対応させている。
【０１１６】
実施の形態５はスイッチ４０７〜４０９が全て参照データＡを選択している状態から動作を開始する。図２１のタイミングＤ０のサイクルで符号化ブロックレジスタ４０２は符号化ブロックＴ０の格納を完了し，列を単位に３つの出力の組Ｂ０，Ｂ１，Ｂ２を出力し，参照レジスタ１は図５の検索範囲で左上端の縦４画素である小ブロックＤ０を格納完了し参照データＡとして出力する。スイッチ４０７〜４０９は全て参照データＡを選択しているから，まず，タイミングＤ０で演算ユニット７が差分絶対値和ＡＥ-4,-3,0を演算するが，以下参照データＡは図５に示す帯状の領域を左から右に順次シフトし，演算ユニット７〜９と累積加算アレイ１０がパイプラインを構成して差分絶対値総和ＡＥi,jを順次算出していくことは上述した実施の形態１の場合と同じである。一方参照レジスタ４０１は図２１のＥ０のサイクルで図６に示す帯状の領域の左端に位置する縦４画素の小ブロックＥ０を格納し，それを１組の参照データＣとして出力開始する。以下参照レジスタ４０２は図６の帯状の領域を左から右へ順次シフトしながら参照データを出力していく。ここで，図２１で参照レジスタ１のＤ６〜Ｄ７と，参照レジスタ４０１のＥ０〜Ｅ７は時間的に重なりを持ち，２サイクル期間同時にそれぞれ参照データＡと参照データＣに出力されている。
【０１１７】
ここで演算ユニット７に着目する。演算ユニット７は図５の帯状の領域で小ブロックＤ０〜小ブロックＤ５に対して有効な差分絶対値和ＡＥ-4,-3,0〜ＡＥ-4,2,0を算出するが，小ブロックＤ６とＤ７はＡＥ-4,3,0とＡＥ-4,4,0を意味し，これはベクトル（３，−４）とベクトル（４，−４）に該当するから検索範囲外であって算出不要なものである。いま，モード制御部４１０は演算ユニット７がＤ５のサイクルで有効な演算が終了したことを検知すると，それに続くサイクルでスイッチ４０７を制御して参照データＣを選択するように切り替える。切り替わったサイクル，すなわちＥ０では参照データＣには図６の小ブロックＥ０が出力されているから，演算ユニット７はＣ＝（ｒ1,0，ｒ2,0，ｒ3,0，ｒ4,0）とＢ０の差分絶対値和すなわちＡＥ-3,-3,0を算出することとなる。この間もモード制御部４１０はスイッチ４０８，スイッチ４０９には参照データＡを選択させている。つまり，演算ユニット７は図６の小ブロックＥ０を，演算ユニット８，９は図５の小ブロックＤ６を同時に演算しているのである。モード制御部４１０は続くＤ７のサイクルでスイッチ４０８も参照データＣを選択するように切り替えるから，演算ユニット７，８は図６の小ブロックＥ１を，演算ユニット９は図５の小ブロックＤ７を同時に演算することとなる。その結果，図４の実施の形態１の動作ではパイプラインの切り替え時に３つの演算ユニットに２サイクルずつロスサイクルが存在したが，図２１の本実施の形態５の動作には存在せず，ある符号化ブロックの演算を開始すると，それ以降全ての演算ユニットが常に有効な演算となるから，パイプライン演算が隙間無く実行することができている。
【０１１８】
以上のように本実施の形態５によれば，第５の本発明に従って，参照レジスタ１が図５の小ブロックＤ０〜小ブロックＤ７まで順次データを更新して参照データＡを演算ブロック４０６に供給する第１のモードと，参照レジスタ２が図６の小ブロックＥ０〜小ブロックＥ７まで順次データを更新して参照データＣを供給する第２のモードを設け，モード移行時には有効な演算を終了した演算ユニット７から順に参照データをＡからＣへスイッチを切り替えるモード制御部４１０を設けたことにより，パイプライン演算にロスサイクルを発生させず，最大効率で演算続行させることが出来るものである。図２１の例では図４の場合に８サイクル必要であった１巡のパイプライン演算が６サイクルに短縮されており，更なる高速化が実現できている。
【０１１９】
実施の形態５は上述したように符号化ブロック，例えばＴ０の演算を開始すると，それ以降ロスサイクルなく，最大効率で演算続行できるものである。次に，ある符号化ブロックの演算が完了し，次の符号化ブロックの演算を開始する場合の動作について説明する。
【０１２０】
図２２のタイミングチャートで，Ｆ０からＦ７のサイクルが符号化ブロックＴ０の最後の演算部分であり，図２２の開始時点では符号化ブロックレジスタ４０２には符号化ブロックＴ０が格納されている。参照レジスタ４０１が図７の小ブロックＦ６，Ｆ７すなわち符号化ブロックＴ０の検索範囲の最後の２サイクル分の参照データをＣに出力している間に，参照レジスタ１は符号化ブロックＴ１に関する検索範囲の左上端である図５の小ブロックＤ０，Ｄ１を参照データＡに出力開始する。モード制御部４１０は図２２サイクルＦ５で演算ユニット７の有効な演算が終了したと判断すると，それに続くサイクルでスイッチ４０７を制御して参照データＡを選択するように切り替える。これは図２１で説明した第５の本発明に従う動作である。この切り替えサイクルＤ０で，モード制御部４１０はスイッチ４０７の切り替えに同期して符号化小ブロックレジスタ４０３を制御して符号化ブロックＴ１の左端小ブロックを読み込み格納させ，Ｂ０に出力させる。
すなわち，Ｂ０＝（ｔ4,6，ｔ5,6，ｔ6,6，ｔ7,6）とする。一方符号化小ブロックレジスタ４０４，４０５には格納データを保持させるから，図２２サイクルＤ０ではＢ０が符号化ブロックＴ１，Ｂ１とＢ２が符号化ブロックＴ０となっている。その結果，演算ユニット７は符号化ブロックＴ１の符号化データＢ０と符号化ブロックＴ１検索範囲の左上端の参照データである小ブロックＤ０が出力Ａから供給されるから，その結果符号化ブロックＴ１に対するＡＥ-4,-3,0を算出し，一方の演算ユニット８，９は符号化ブロックＴ０のＡＥ3,2,1とＡＥ3,1,2とを算出している。引き続き，サイクルＤ１では演算ユニット７，８が符号化ブロックＴ１のために図５の小ブロックＤ１を，演算ユニット９が符号化ブロックＴ０のために図７の小ブロックＦ７をそれぞれ演算し，その結果，符号化ブロックＴ０の差分絶対値総和演算を全て終了する。さらにＤ２のサイクルで符号化ブロックレジスタ４０２は全て符号化ブロックＴ１に切り替わり，移行を完了しする。
このように，符号化ブロックＴ０からＴ１への移行においても，全ての演算ユニットに常に有効な演算を連続させ，一切のロスサイクルを生じず，パイプライン演算をすき間無く実行することができるものである。
【０１２１】
以上のように本実施の形態５によれば，第６の本発明に従って，参照レジスタ１が図５の小ブロックＤ０〜小ブロックＤ７まで順次データを更新して，参照データモード制御部４１０が新たな符号化ブロックのデータを符号化ブロックレジスタ４０２に記憶させる場合，参照データのスイッチ４０７〜４０９の切り替え動作に同期して新たな符号化ブロックのデータを１組ずつ順に符号化ブロックレジスタ４０２に記憶させることにより，符号化ブロックの移行時においてもパイプライン演算にロスサイクルを生じず，最大効率で演算続行することができ，符号化ブロック数が多い場合など更なる高速化が実現できるものである。
【０１２２】
なお，本実施の形態５は実施の形態１のように符号化ブロックを列を単位に分解する場合であって，かつ多重化処理しない場合に対して第５，第６の本発明の技術を適用させたが，実施の形態２のように符号化ブロックを行を単位に分解し多重化処理しない場合，実施の形態３のように列を単位に分解し，多重化構成とする場合，実施の形態４のように行を単位に分解し多重化構成とする場合，いずれに対しても第５，第６の本発明の技術を，実施の形態５と全く同様に適用することができる。また，いずれの場合にもその効果は，符号化ブロックの処理中も符号化ブロックの移行時も一切のロスサイクルを発生せず，パイプライン演算に隙間が生じず最大効率で演算実行でき，高速演算が実現できることである。
【０１２３】
【表９】
2004214733.tif 000017
【０１２４】
【表１０】
2004214733.tif 000018
以上の効果を具体的に数値で表９と表１０にまとめる。表９は実施の形態５の回路規模を示すものであり，表１０は実施の形態５の処理速度を示すものである。表９，表１０の算出条件は表１，表２の従来例１の場合，表５，表６の実施の形態１の場合，表７，表８の実施の形態３の場合と同じである。表１，表２の従来例１の場合と比較すれば回路規模，処理速度とも劇的な改善となっているが，その理由に関しては既に実施の形態１および実施の形態３で述べた通りであるので説明を省略し，本発明の実施の形態１と実施の形態５の比較で第５，第６の本発明の技術の効果を確認する。
【０１２５】
まず，表５，表６に示した本発明実施の形態１の図１の場合と，表９，表１０の本発明実施の形態５の図２０の場合を比較して，実施の形態５では実施の形態１に対して回路規模で約２２％増加するが処理速度では約１．３３倍高速化が実現できていることがわかる。次に実施の形態５でＱ＝２の例とは図１４の実施の形態３に対して第５，第６の本発明の技術を適応した場合を意味する。実施の形態５のＱ＝２の例は表７，表８の実施の形態３図１４の例に対してやはり回路規模で約２３％増加するが処理速度は約１．３３倍高速化できている。４８０ｉの例では実施の形態５の場合は表７，表８の実施の形態３の場合に対して回路規模で約５％増加するが処理速度では約１．１２倍高速化でき，１０８０ｉの例では実施の形態５の場合は表７，表８の実施の形態３の場合に対して回路規模で約５％増加するが処理速度では約１．０６倍高速化できている。
【０１２６】
これら実施の形態５の場合，すなわち第５，第６の本発明の技術を用いた場合は，全てのサイクルで有効な差分絶対値総和が隙間無く，重複もなく求まり，しかも並列演算との組み合わせでも全く無駄が発生しないので，パイプライン演算の原理的な最高速度を実現しているものである。いずれも若干の回路増加を伴うが，特に高速動作を要求される用途では効果大なるものである。
【０１２７】
最後に，第５，第６の本発明を説明した構成例５で，従来例２と見かけの構成上類似した点があるので，その差異を以下に説明する。
【０１２８】
まず，第５の本発明に関する見かけ上の類似点について説明する。従来例２では図４２でレジスタ８０１〜８０４とレジスタ８３８〜８４２の２組の参照レジスタをもち，それをセレクタ８４３〜８４６で選択するという構成であるが，本発明では図２０で参照レジスタ１と参照レジスタ４０１の２組の参照レジスタをもち，それをスイッチ４０７〜４０９で選択するという構成である。しかしながら，従来例２ではセレクタ８４３〜８４６は全ての演算ユニットに共通のセレクタであり，選択した参照データは全ての演算ユニットに同じものが供給されることに対して，本発明では各演算ユニットに固有のスイッチであって，各演算ユニットに供給される参照データは個別に選択されるという構成上の実質相違がある。
【０１２９】
これを技術思想の点から相違を詳しく説明する。従来例２は２つの符号化ブロックＴ０とＴ１を時分割演算するという目的のために，有効期間８サイクルの参照データを２回ずつ繰り返す必要があり，その繰り返し実現のために２組の参照レジスタとセレクタを設けているのである。一方本発明では，１つの符号化ブロックＴ０の演算であって時分割とは無関係である。本発明では，パイプライン演算の移行時に演算ユニットに無駄なサイクルが発生することを防ぎ，最大速度を実現するという目的のために，移行時にも常に全ての演算ユニットに独立に有効な参照データを供給する必要があるから，２組の参照レジスタと演算ユニット毎に個別のスイッチを設けたものである。これは，全く異質の技術思想であって，本発明の技術思想を従来例に適応しようとしても無意味であるし，また従来例の技術思想を本発明に応用しようとしても無意味なものである。
【０１３０】
次に，第６の本発明に関する見かけ上の類似点について説明する。従来例２では図４４のＹ４のサイクルでＰＥ８４７のレジスタ８１９〜８２２に符号化ブロックＴ２を格納するが，他のＰＥ８４８，ＰＥ８４９のレジスタ８１９〜８２２には符号化ブロックＴ０を保持するから，符号化ブロック移行時にＴ０とＴ２の演算を同時に行っている。本発明では図２２のＦ６あるいはＤ０で符号化小ブロックレジスタ４０３に符号化ブロックＴ１を格納するが，他の符号化小ブロックレジスタ４０４，４０５には符号化ブロックＴ０を保持して，符号化ブロックの移行時にＴ０とＴ１の演算を同時に行っている。しかしながら，本発明では参照レジスタを２組設け，それぞれにＴ０用，Ｔ１用の参照データを格納し，演算ユニット毎に切り替えながら，その切り替えと同期して対応する符号化小ブロックレジスタにＴ１を格納させるという制御手段を必然の要素としている。従来例にはその制御要素が無く，実質相違がある。
【０１３１】
この相違を技術思想の点から詳しく説明する。従来例の技術思想ではＰＥ内部に記憶した符号化ブロックのデータについて演算完了すると，参照データが自然に次に処理する符号化ブロックの検索範囲に入ってくるのを待ち，しかる後，新しい符号化ブロックのデータを格納することで符号化ブロックの移行時のロスを最小限度に押さえようとするものである。従来例１では並列処理，従来例２では時分割処理で常に複数の符号化ブロックを処理しているから，参照データはいずれかの符号化ブロックの処理に使用されているから，ある符号化ブロックのＰＥが演算完了したといってもそれに合わせて参照データを入れ替えることはできない。従来例１，従来例２では符号化ブロックＴ０の演算が完了すると，その直後に参照データが次の符号化ブロックＴ２の検索範囲に入り，直ちにＴ２の演算が開始できているが，これは符号化ブロックの大きさと検索範囲を調整した特別な動作例の場合だけであって，一般的な用途では符号化ブロックの移行時に大きなロス時間が発生する。本発明では，ある符号化小ブロックレジスタのデータについて演算完了すると，その符号化小ブロックレジスタに次の符号化ブロックの該当する符号化データを読み込ませるだけではなく，それと同時に参照レジスタにも該当する検索範囲の最初の参照データを読み込ませている。新しい符号化ブロックのデータの読み込みとその演算に組み合わせる参照データの読み込みを同期させる制御手段を持つことが第６の本発明の本質であって，それにより符号化ブロックの大きさや検索範囲を任意に設定しても全くロスサイクルを発生させないものである。第１〜第４の本発明の装置に従来例の技術思想を適応したものであれば，従来例と同じ問題点を生じる。つまり符号化ブロックの大きさと検索範囲が特別な値になっていなければ大きなロス時間を発生する。すなわち第６の本発明は従来例と異質の技術思想によるものであって，容易に類推できるものではない。
【０１３２】
（実施の形態６）
はじめに，本実施の形態の動きベクトル検出装置の構成について説明する。
【０１３３】
図２３は本実施の形態の動きベクトル検出装置を示すブロック図である。
【０１３４】
実施の形態６は実施の形態２を基本として第７の本発明の技術を適用したものである。ＭＰＥＧ２規格ではインターレース映像でフレーム構造ピクチャーの場合に符号化ブロックに対してフレームベクトルばかりでなくフィールドベクトルを選択付与することが出来る。フレームベクトルは符号化画像と参照画像をともにフレーム構成の１枚の画像として取り扱い，符号化ブロックのフレーム成分を予測する１つのベクトルで構成されるものである。一方，フィールドベクトルは符号化映像と参照映像をそれぞれ第１フィールドと第２フィールドの２枚の画像に分解して取り扱い，参照画像のいずれかのフィールドから符号化ブロックの第１フィールド成分を予測する第１のフィールドベクトルと，参照画像のいずれかのフィールドから符号化ブロックの第２フィールド成分を予測する第２のフィールドベクトルとの２つのフィールドベクトルから構成される。符号化ブロックサイズは何れも場合も１６画素×１６画素であるから，フィールドベクトルの場合符号化ブロックの第１フィールド成分は横１６画素×縦８画素，第２フィールド成分も横１６画素×縦８画素となる。
【０１３５】
実施の形態６はフレームベクトルと２つのフィールドベクトルに関してそれぞれの誤差量を同時に算出するものである。フレームベクトルの誤差量として，（数４）および（数５），（数６）に示した差分絶対値総和ＡＥi,jを採用し，第１フィールドのフィールドベクトルの誤差量として（数５），（数７）の差分絶対値総和ＴＦＡＥi,jを，第２フィールドのフィールドベクトルの誤差量として（数５），（数８）の差分絶対値総和ＢＦＡＥi,jを採用するものとする。また，（数５），（数７），（数８）より，ＡＥi,jとＴＦＡＥi,j，ＢＦＡＥi,jの間には（数９）の関係が成り立っている。
【０１３６】
【数７】
2004214733.tif 000019
【０１３７】
【数８】
2004214733.tif 000020
【０１３８】
【数９】
2004214733.tif 000021
また，実施の形態６では実施の形態２と同じく符号化ブロックの大きさは水平Ｍ＝３，垂直Ｎ＝４，検索領域は水平方向にＫ＝３すなわち−３〜２の範囲，垂直方向にＬ＝４すなわち−４〜３の範囲としている。
【０１３９】
図２３を用いて本実施の形態６の構成を説明する。図２３において，図８の実施の形態２の構成と同一部分には同一番号を付して説明を省略する。累積加算アレイ５０１はフレーム加算アレイ５０２とフィールド加算アレイ５０３からなる構成を有している。フレーム加算アレイ５０２は図８の累積加算アレイ１１２と全く同じ構成であるが，フィールド加算アレイ５０３は演算ユニット１０９の出力ＡＥi,j,1を入力とし，２サイクル遅延器５０４を経由して演算ユニット１１１の出力ＡＥi,j,3と加算器５０５で加算する構造である。更にフレーム加算アレイ５０２の出力ＡＥi,jからフィールド加算アレイ５０３の出力ＢＦＡＥi,jを減算しＴＦＡＥi,jを出力する減算器５０６が設けられている。
【０１４０】
つぎに，本実施の形態の動きベクトル検出装置の動作について説明する。
【０１４１】
図２４は本実施の形態６の動作を示すタイミングチャートである。図２４で記号Ｇ，Ｈは実施の形態２の図１０，図１１，図１２に対応させている。
【０１４２】
実施の形態６では参照レジスタ１０１，符号化ブロックレジスタ１０２，演算ブロック１０７，フレーム加算アレイ５０２の動作は上述した実施の形態２の動作と全く同じであり，パイプライン動作により誤差量として差分絶対値総和ＡＥi,jが求められる。これは（数６）に示すフレームベクトルの差分絶対値総和を求めたことに他ならない。一方フィールド加算アレイ５０３は演算ユニット１０９の出力ＡＥi,j,1を２サイクル遅延させ，演算ユニット１１１の出力ＡＥi,j,3に加算する。いま，図２４でＧ１のサイクルの演算ユニット１０９出力ＡＥ-3,-4,1はＧ３のサイクルまで遅延させ演算ユニット１１１の出力ＡＥ-3,-4,3に加算するからフィールド加算アレイ５０３の出力はＡＥ-3,-4,1＋ＡＥ-3,-4,3となる。これは（数８）より，第２フィールドのフィールドベクトルに対する差分絶対値総和ＢＦＡＥ-3,-4が求められたことになる。フィールドの対応関係では，この場合は参照ブロックの第２フィールドと符号化ブロックの第２フィールドのブロックマッチングの誤差量が求められているのである。以下，同様に順次フィールド加算アレイ５０３は符号化ブロック第２フィールドのブロックマッチングの差分絶対値総和ＢＦＡＥi,jを算出していくものである。一方，減算器５０６はフレーム加算アレイ５０２の出力ＡＥi,jからフィールド加算アレイ５０３の出力ＢＦＡＥi,jを減算している。いま，Ｇ３のサイクルではＡＥ-4,-3−ＢＦＡＥ-4,-3を求めているが，これは（数９）よりＴＦＡＥ-4,-3が求められたことになる。フィールドの対応関係では，これは参照ブロックの第１フィールドと符号化ブロックの第１フィールドのブロックマッチング誤差量にあたる。続くＧ４のサイクルでは同様にＡＥ-3,-3とＴＦＡＥ-3,-3とＢＦＡＥ-3,-3が求められる。フィールドの対応関係に関しては，この場合Ｇ３のサイクルの場合と比較して予測ブロック候補が参照画面で１行下がった位置に移動しているから第１フィールドと第２フィールドの関係が逆転することとなり，ＴＦＡＥ-3,-3は符号化ブロックの第１フィールドと予測ブロック候補の第２フィールドのブロックマッチング誤差量に，ＢＦＡＥ-3,-3は符号化ブロックの第２フィールドと予測ブロック候補の第１フィールドのブロックマッチング誤差量に対応する。以下，順次予測ブロック候補を移動させながら３種類の誤差量が求められることとなる。
【０１４３】
即ち，実施の形態６では，一連のパイプライン動作により，フレームベクトルはもちろんのこと，フィールドベクトルの第１フィールド，第２フィールド全ての組み合わせの誤差量を漏れなく求めることになるから，フレームベクトルの誤差量ＡＥi,jと，第１フィールド誤差量ＴＦＡＥi,jと，第２フィールドの誤差量ＢＦＡＥi,jの３種類についての誤差量をそれぞれ最小値を調べることにより，それぞれの最適なベクトル検出を実現することができるものである。
【０１４４】
以上のように本実施の形態６によれば，第７の本発明に従って，累積加算アレイ５０１に，個々の演算ユニットの誤差量の加算結果を１回遅延して隣接する符号化データの組の誤差量に加算することで，Ｎ個の誤差量を累積加算するフレーム加算アレイ５０２と，奇数番目であるＮ／２個の演算ユニットに対して２サイクル遅延しながら誤差量を累積加算構造で加算するフィールド加算アレイ５０２と，フレーム加算アレイ５０２とフィールド加算アレイ５０３の結果の差を求める演算手段である減算器５０６とを設けたことにより，フレームベクトルに対する誤差量とフィールドベクトルに対する誤差量２種類とを同時に，漏れなく求めることが出来るから，フレームベクトル検出とフィールドベクトル検出の両方を一度に実現できるものである。また，図２３と図８を比較すれば増設する回路はフィールド加算アレイ５０３と減算器５０６のみであり，４８０ｉの実用装置を想定しても３０％程度の回路増加に押さえることが出来る。一方，３種類の誤差量を同時に算出するのであるから，図２４と図１０を比較しても明らかに１つの符号化ブロックの処理リサイクル数は変わらず，高速処理できるという利点は損なわないものである。
【０１４５】
なお，本実施の形態６はフィールド加算アレイ５０２を演算ユニットの奇数番目を処理する加算アレイとしたが，偶数番目を処理する加算アレイとしても良い。この場合はフィールド加算アレイ５０２の出力が第１フィールドの差分絶対値総和ＴＦＡＥi,jとなり，減算器５０６の出力が第２フィールドの差分絶対値総和ＢＦＡＥi,jとなる。
【０１４６】
また，本実施の形態６は実施の形態２に対して第７の本発明の技術を適用したものとして構成したが，実施の形態４に対して第７の本発明の技術を適応しても構成することができ，また，更に第５，第６の本発明の技術と組み合わせて構成することも可能である。それらの場合，パイプライン演算に一切の隙間が生じない最高速度の実現，並列処理による更なる高速化など個々の効果を損うことなく，フレーム，フィールド両ベクトルの同時検出を実現することが出来るものである。
【０１４７】
また，本実施の形態ではＴＦＡＥi,j，ＢＦＡＥi,jを（数７），（数８）としたが，この定義は添え字ｊがフレーム画像のライン番号を基準としたものであって，上述したＭＰＥＧ２の定義のものとは異なる。ＭＰＥＧ２のための動きベクトル検出装置として用いる場合はＴＦＡＥi,j，ＢＦＡＥi,jに対して以下の変換により求められる。ＴＦＡＥi,jの場合，ｊが偶数であれば符号化ブロック第１フィールドが参照画像第１フィールドを参照し，フィールドベクトル（ｊ／２，ｉ）である。ｊが奇数であれば参照画像第２フィールドを参照し，フィールドベクトル（（ｊ−１）／２，ｉ）である。一方，ＢＦＡＥi,jの場合は，ｊが偶数であれば符号化ブロック第２フィールドが参照画像第２フィールドを参照し，フィールドベクトル（ｊ／２，ｉ）である。ｊが奇数であれば参照画像第１フィールドを参照し，フィールドベクトル（（ｊ＋１）／２，ｉ）である。
【０１４８】
（実施の形態７）
はじめに，本実施の形態の動きベクトル検出装置の構成について説明する。
【０１４９】
図２５は本実施の形態の動きベクトル検出装置を示すブロック図である。
【０１５０】
実施の形態７は実施の形態１を基本として第８の本発明の技術を適用したものであって，フレームベクトルと２つのフィールドベクトルに関してそれぞれの誤差量を同時に算出するものである。本実施の形態７でもフレームベクトルの誤差量として，（数１）に示した差分絶対値総和ＡＥi,jを採用する。また，（数１）の２重総和の演算は（数２）に示す同一列内の総和であるＡＥi,j,nを求めた後，その総和を（数３）のように求めても良いことは既に示したとおりである。ここで，（数２）に再度着目し，（数２）の総和に関して偶数成分と奇数成分に分け，偶数成分を（数１０）のＴＦＡＥi,j,nとし，奇数成分を（数１１）のＢＦＡＥi,j,nと表記したとき，ＴＦＡＥi,j,nは符号化ブロックの第ｎ列の第１フィールドに関する差分絶対値和となっており，ＢＦＡＥi,j,nは第ｎ列の第２フィールドに関する差分絶対値和になっている。そこで，ＴＦＡＥi,j,nとＢＦＡＥi,j,nのそれぞれを独立にｎについて総和を求めれば，（数１２），（数１３）に示すようにＴＦＡＥi,jとＢＦＡＥi,jが求められる。これはそれぞれ第１フィールドに関する差分絶対値総和と第２フィールドに関する差分絶対値総和になっている。また，ＴＦＡＥi,jとＢＦＡＥi,jを加えたものは（数１）のフレームとしての差分絶対値総和ＡＥi,jであるから，（数９）も成り立っている。
【０１５１】
【数１０】
2004214733.tif 000022
【０１５２】
【数１１】
2004214733.tif 000023
【０１５３】
【数１２】
2004214733.tif 000024
【０１５４】
【数１３】
2004214733.tif 000025
本実施の形態７では第１フィールドのフィールドベクトルの誤差量として（数１０），（数１２）の差分絶対値総和ＴＦＡＥi,jを，第２フィールドのフィールドベクトルの誤差量として（数１１），（数１３）の差分絶対値総和ＢＦＡＥi,jを採用するものである。また，フレームベクトルの誤差量は（数１）を直接算出するのではなく，（数１２），（数１３）で求められたフィールドベクトルの誤差量を加算して，すなわち（数９）の関係を用いて求めるものである。
【０１５５】
図２５，図２６を用いて本実施の形態７の構成を説明する。図２５，図２６において，図１，図２の実施の形態１の構成と同一部分には同一番号を付して説明を省略する。図２５で演算ブロック６０１は３つの演算ユニット６０２〜６０４で構成され，累積加算アレイ６０５は２つの独立なフィールド加算アレイ６０６，６０７からなり，フィールド加算アレイ６０６の出力とフィールド加算アレイ６０７の出力は加算器６０８で加算される構成である。フィールド加算アレイ６０６，６０７それぞれの内部構造は図１の累積加算アレイ１０と同じ構造である。図２６で演算ユニット６０２の内部構成は差分絶対値演算器１５と１７の出力を加算器６０９で加算し，その結果をＴＦＡＥi,j,nとして出力する一方，差分絶対値演算器１６と１８の出力を加算器６１０で加算し，その結果をＢＦＡＥi,j,nとして出力するように構成されている。演算ユニット６０３，６０４の内部構造は図２６に示した演算ユニット６０２の内部構造と同一である。
【０１５６】
つぎに，本実施の形態の動きベクトル検出装置の動作について説明する。
【０１５７】
図２７は本実施の形態７の動作を示すタイミングチャートである。図２７で記号Ｄ，Ｅは実施の形態１の図４，図５，図６，図７に対応させており，参照レジスタ１が参照画像の画素を順次読み込み格納する動作は図４〜図７の実施の形態１の参照レジスタ１の動作と全く同じである。
【０１５８】
いま，図２７のタイミングＤ０のサイクルではＢ０＝（ｔ4,3，ｔ5,3，ｔ6,3，ｔ7,3），Ａ＝（ｒ0,0，ｒ1,0，ｒ2,0，ｒ3,0）であるから演算ユニット６０２の加算器６０９は｜ｒ0,0−ｔ4,3｜＋｜ｒ2,0−ｔ6,3｜を求めている。これは符号化ブロックＴ０の左上端画素ｔ4,3の座標を原点として相対表記に書き直せば｜ｒ-4,-3−ｔ0,0｜＋｜ｒ-2,-3−ｔ2,0｜となり，これは（数１０）のＴＦＡＥ-4,-3,0を算出したことに他ならない。同様に演算ユニット６０２の加算器６１０は（数１１）のＢＦＡＥ-4,-3,0を算出している。次いで，タイミングＤ１のサイクルで演算ユニット６０２はＴＦＡＥ-4,-2,0とＢＦＡＥ-4,-2,0を算出し，演算ユニット６０３はＴＦＡＥ-4,-3,1とＢＦＡＥ-4,-3,1を算出する。以下順次，演算ユニット６０２〜６０４はそれぞれＴＦＡＥi,j,nとＢＦＡＥi,j,nを算出していくこととなる。
【０１５９】
演算ユニット６０２〜６０４の出力であるＴＦＡＥi,j,0〜ＴＦＡＥi,j,2はフィールド加算アレイ６０６で加算され，またＢＦＡＥi,j,0〜ＢＦＡＥi,j,2はフィールド加算アレイ６０７で加算され，それぞれの差分絶対値総和が求められる。フィールド加算アレイ６０６に着目すると，いま，図２７タイミングＤ０のサイクルで演算ユニット６０２で求められたＴＦＡＥ-4,-3,0はフィールド加算アレイ６０６の遅延器１１で１サイクル遅延され，タイミングＤ１のサイクルで演算ユニット６０３で求められたＴＦＡＥ-4,-3,1と加算器１２で加算され，ＴＦＡＥ-4,-3,0＋ＴＦＡＥ-4,-3,1が演算される。更にその結果は遅延器１３で１サイクル遅延され，タイミングＤ２のサイクルで演算ユニット６０４で求められたＴＦＡＥ-4,-3,2と加算器１４で加算され，ＴＦＡＥ-4,-3,0＋ＴＦＡＥ-4,-3,1＋ＴＦＡＥ-4,-3,2が求められる。これは（数１２）よりＴＦＡＥ-4,-3，すなわちベクトル（−３，−４）の予測ブロック候補の第１フィールドと符号化ブロックＴ０の第１フィールドとのブロックマッチングによる差分絶対値総和ＴＦＡＥ-4,-3が求められたわけである。同じくフィールド加算アレイ６０７では（数１３）により同じ予測ブロック候補の第２フィールドと符号化ブロックＴ０の第２フィールドとのブロックマッチングによる差分絶対値総和ＢＦＡＥ-4,-3が求められている。また，加算器６０８はＴＦＡＥ-4,-3＋ＢＦＡＥ-4,-3を算出するから，（数９）よりＡＥ-4,-3，つまり同じ予測ブロック候補と符号化ブロックＴ０のフレームとしての差分絶対値総和を求めている。
【０１６０】
即ち，Ｄ０からＤ７に至る一連のパイプライン演算で，フィールド加算アレイ６０５，６０６と加算器６０８の出力はそれぞれ，符号化ブロック第１フィールドと参照ブロック第１フィールドのブロックマッチング誤差量ＴＦＡＥi,jと，符号化ブロック第２フィールドと参照ブロック第２フィールドのブロックマッチング誤差量ＢＦＡＥi,jと，フレーム予測の場合の差分絶対値総和ＡＥi,jとの３つの誤差量が同時に求められているのである。
【０１６１】
図２７のＥ０から開始される一連のパイプライン演算では参照レジスタ１は図６に示すようにフレーム構造で１画素下にずれた領域を演算するが，これは誤差量演算で参照フィールドの第１，第２の関係が逆転したことを意味する。従って，Ｅ０からＥ７に至る一連のパイプライン演算では，フレーム予測の場合の差分絶対値総和ＡＥi,jと，符号化ブロック第１フィールドと参照ブロック第２フィールドのブロックマッチング誤差量ＴＦＡＥi,jと，符号化ブロック第２フィールドと参照ブロック第１フィールドのブロックマッチング誤差量ＢＦＡＥi,jとの３つの誤差量が同時に求められることとなる。以上のように実施の形態７ではフレームベクトルと，２つのフィールドのフィールドベクトルとの誤差量を漏れなく，同時に演算するものであるから，それぞれの最小値を調べることにより，それぞれの最適なベクトルを検出することが出来るものである。
【０１６２】
以上のように本実施の形態７によれば，第８の本発明に従って，演算ユニット６０２〜６０４は入力された参照データの組と符号化データの組に対してそれぞれ偶数位置の画素に対する誤差量と奇数位置の画素に対する誤差量の２種類の誤差量をもとめ，累積加算アレイ６０５は上記２種類の誤差量を独立に累積加算構造で加算する第１のフィールド加算アレイ６０６と第２のフィールド加算アレイ６０７とを設ける構成としたことにより，フレームベクトルに対する誤差量と２種類フィールドベクトルに対する誤差量とを同時に，漏れなく求めることが出来るから，フレームベクトル検出とフィールドベクトル検出の両方を実現できるものである。また，図２５と図１を比較すれば，増設する回路はフィールド加算アレイ６０７と加算器６０８のみであり，４８０ｉの実用仕様を想定しても３０％程度の回路増加に押さえることが出来る。また，３種類の誤差量を同時に算出するのであるから，図２７と図４を比較しても明らかに，１つの符号化ブロックの処理サイクル数は変わらず，高速処理できるという利点は損なわないものである。
【０１６３】
また，本実施の形態７は実施の形態１に対して第８の本発明の技術を適用したものとして構成したが，実施の形態１に対して第９の本発明の技術を適応して構成してもよい。この場合，図２５の構成に対して演算ユニット６０２〜６０４を図２８に示す演算ユニットに置き換えることになる。図２８の演算ユニットは加算器６１１を増設してＴＦＡＥi,j,nとＢＦＡＥi,j,nの和，即ちＡＥi,j,nを出力する構造となっている。図２５でフィールド加算アレイ６０７を同じ構造のままフレーム加算アレイとして用いることとし，置き換えた演算ユニットの出力ＡＥi,j,nをフレーム加算アレイ６０７で累積加算し，フレーム誤差量である差分絶対値和ＡＥi,jを求める。さらにＡＥi,jからフィールド加算アレイ６０６の出力である第１フィールド誤差量ＴＦＡＥi,jを減算して第２フィールド誤差量ＢＦＡＥi,jが求められる構成となる。この場合においても，回路規模の程度と効果は上述した第８の本発明を用いた場合と全く同じである。
【０１６４】
また，本実施の形態７は実施の形態１に対して第８の本発明の技術を適用したものとして構成したが，実施の形態３に対して第８の本発明の技術を適応しても構成することができ，また，更に第５，第６の本発明の技術と組み合わせて構成することも可能である。それらの場合，パイプライン演算に一切の隙間が生じない最高速度の実現，並列処理による更なる高速化など個々の効果を損うことなく導入して，フレーム，フィールド両ベクトルの同時検出を実現することが出来るものである。
【０１６５】
実施の形態６と実施の形態７は全く同じ効果を持ちつつ，参照画像に対する読み込み方法が異なるものであるから，動きベクトル検出装置に接続して使用するメモリなどの参照画像記憶媒体の特性，動作条件に応じて，実施の形態６あるいは実施の形態７からより適した形態を選択することが出来るものである。
【０１６６】
また，本実施の形態においてもＭＰＥＧ２のための動きベクトル検出装置として用いる場合はＴＦＡＥi,j，ＢＦＡＥi,jの添え字ｊに対して，実施の形態６で説明した変換を行うことにより適切なベクトルを得ることができる。
【０１６７】
（実施の形態８）
はじめに，本実施の形態の動きベクトル検出装置の構成について説明する。
【０１６８】
図２９は本実施の形態の動きベクトル検出装置を示すブロック図である。
【０１６９】
実施の形態８は第１０の本発明の技術を適用したものであり，第１０の本発明の参照レジスタが参照画像上縦に配置されたＭ個のデータを記憶する場合に相当するものである。実施の形態８もフレームベクトルと２つのフィールドベクトルに関してそれぞれの誤差量を同時に算出するものである。本実施の形態８でもフレームベクトルの誤差量として，（数４）に示した差分絶対値総和ＡＥi,jを採用する。用いる算式は実施の形態６と同じく第１フィールドの差分絶対値総和ＴＦＡＥi,jとして（数５），（数７）を，第２フィールドの差分絶対値総和ＢＦＡＥi,jとして（数５），（数８）を，フレームの差分絶対値総和ＡＥi,jとして（数９）を，それぞれ用いる。
【０１７０】
また，実施の形態８は実施の形態６と同じく符号化ブロックの大きさは水平Ｍ＝３，垂直Ｎ＝４，検索領域は水平方向にＫ＝３すなわち−３〜２の範囲，垂直方向にＬ＝４すなわち−４〜３の範囲としている。
【０１７１】
図２９を用いて本実施の形態８の構成を説明する。図２９で参照レジスタ７０１〜７０３はそれぞれ参照画像の行方向に連続する３画素を記憶するレジスタであって，３つのレジスタで列方向に連続する３行分を記憶し，それぞれ参照データＡ０，Ａ１，Ａ２を出力するレジスタである。演算ブロック７０４は演算ユニット７０８，７０９から構成され，符号化ブロックレジスタ１０２の４つの出力の組から第１フィールドのデータであるＢ０，Ｂ２と，参照レジスタ７０１の参照データＡ０とを入力し，その差分絶対値和ＡＥi,j,n（但しｎは偶数）を（数５）に基づいて算出する演算ブロックであり，演算ブロック７０５は演算ユニット７１０，７１１から構成され，符号化ブロックレジスタ１０２の第２フィールドのデータであるＢ１，Ｂ３と，参照レジスタ７０２の参照データＡ１とを入力し，その差分絶対値和ＡＥi,j,n（但しｎは奇数）を（数５）に基づいて算出する演算ブロックであり，演算ブロック７０６は演算ユニット７１２，７１３から構成され，符号化ブロックレジスタ１０２の第１フィールドのデータであるＢ０，Ｂ２と，参照レジスタ７０２の参照データＡ１とを入力し，その差分絶対値和ＡＥi,j,n（但しｎは偶数）を算出する演算ブロックであり，演算ブロック７０７は演算ユニット７１４，７１５から構成され，符号化ブロックレジスタ１０２の第２フィールドのデータであるＢ１，Ｂ３と，参照レジスタ７０３の参照データＡ２とを入力し，その差分絶対値和ＡＥi,j,n（但しｎは奇数）を算出する演算ブロックである。累積加算アレイ７１６〜７１９はそれぞれ演算ブロック７０４〜７０７の出力を受け，累積加算することでフィールド誤差量を算出するフィールド加算アレイである。累積加算アレイ７１６と７１７の出力は加算器７２０で加算されフレーム誤差量となり，累積加算アレイ７１８と７１９の出力は加算器７２１で加算されフレーム誤差量が求められる構成である。演算ユニット７０８〜７１５の内部構造は既に実施の形態２の図９に示したものと同一である。その他，実施の形態２の図８の構成と同一部分には同一番号を付している。
【０１７２】
つぎに，本実施の形態の動きベクトル検出装置の動作について説明する。
【０１７３】
図３０は本実施の形態８の動作を示すタイミングチャートである。
【０１７４】
本実施の形態８の動作は，演算ブロック７０４と累積加算アレイ７１６による第１のフィールド評価手段と，演算ブロック７０５と累積加算アレイ７１７による第２のフィールド評価手段と，演算ブロック７０６と累積加算アレイ７１８による第３のフィールド評価手段と，演算ブロック７０７と累積加算アレイ７１９による第４のフィールド評価手段とに分けられ，４つのパイプライン演算から構成されている。
【０１７５】
まず，図３０の第１のパイプライン演算として，演算ブロック７０４はＧ０のサイクルで符号化データとしてＢ０＝（ｔ4,3，ｔ4,4，ｔ4,5），Ｂ２＝（ｔ6,3，ｔ6,4，ｔ6,5）を，参照データとしてＡ０＝（ｒ0,0，ｒ0,1，ｒ0,2）を入力とし，演算ブロック７０８が｜ｒ0,0−ｔ4,3｜＋｜ｒ0,1−ｔ4,4｜＋｜ｒ0,2−ｔ4,5｜を演算する。これは符号化ブロックの左上端座標を基準に正規化すれば（数５）よりＡＥ-4,-3,0であることがわかる。このときの参照データＡ０が参照画像の検索範囲内で占める位置は図３１に示す小ブロックＧ０である。図３０の第１のパイプラインで，Ｇ０に続いてＧ２のサイクルでは参照レジスタ７０１は図３２に示す小ブロックＧ２，すなわち２行下方に移動した位置のＡ０＝（ｒ2,0，ｒ2,1，ｒ2,2）を格納し参照データＡ０に出力する。このとき演算ユニット７０８はＴＦＡＥ-2,-3,0を，演算ユニット７０９はＡＥ-4,-3,2を算出することとなる。以下同様に参照データＡ１は検索範囲を２行ずつ下方に移動して演算ユニット７０８，７０９にＡＥi,j,0とＡＥi,j,2を演算させる。累積加算アレイ７１６は演算ユニット７０８の出力を１サイクル遅延させて演算ユニット７０９の出力に加算するから，図３０の第１のパイプラインでサイクルＧ０の演算ユニット７０８出力であるＡＥ-4,-3,0はサイクルＧ１で演算ユニット７０９の出力ＴＦＡＥ-4,-3,2に加算され，ＴＦＡＥ-4,-3,0＋ＴＦＡＥ-4,-3,2が求められる。これは（数７）よりＴＦＡＥ-4,-3を求めたことになる。以下順次，ＴＦＡＥ-2,-3，ＴＦＡＥ0,-3，・・・と求めることができる。つまり，第１のパイプラインは符号化ブロックの第１フィールドのデータＢ０，Ｂ１と参照画像の第１フィールドのデータＡ０を入力とするパイプライン演算であり，その結果は符号化ブロックの第１フィールドと参照ブロック候補の第１フィールドをブロックマッチングした場合の誤差量となるから，ＴＦＡＥi,j（但しｉは偶数）を順に求めるものである。
【０１７６】
次に図３０の第２のパイプラインについて説明する。演算ブロック７０５はＧ１のサイクルで符号化データとしてＢ１＝（ｔ5,3，ｔ5,4，ｔ5,5），Ｂ２＝（ｔ7,3，ｔ7,4，ｔ7,5）を，参照データとしてＡ１＝（ｒ1,0，ｒ1,1，ｒ1,2）を入力とし，演算ユニット７１０は（数５）よりＡＥ-4,-3,1を算出する。このときの参照データＡ１が参照画像の検索範囲内で占める位置は図３１に示す小ブロックＧ１である。Ｇ１に続くＧ３のサイクルでは参照レジスタ７０２は図３２に示す小ブロックＧ３，すなわち２行下方に移動した位置のＡ１＝（ｒ3,0，ｒ3,1，ｒ3,2）を出力する。このとき演算ユニット７１０はＡＥ-2,-3,1を，演算ユニット７１１はＡＥ-4,-3,3を算出することとなる。累積加算アレイ７１７は演算ユニット７１０の出力を１サイクル遅延させて演算ユニット７１１の出力に加算するから，順次，ＢＦＡＥ-4,-3，ＢＦＡＥ-2,-3，・・・と求められることとなる。つまり，第２のパイプラインは符号化ブロックの第２フィールドのデータＢ１，Ｂ３と参照画像の第２フィールドのデータＡ１を入力とて符号化ブロックの第２フィールドと参照ブロック候補の第２フィールドをブロックマッチングした場合の誤差量を求めるもので，ＢＦＡＥi,j（但しｉは偶数）を順に求めるものである。
【０１７７】
第１のパイプラインで求められた第１フィールドの誤差量と第２のパイプラインで求められた第２フィールドの誤差量は加算器７２０で加算されるが，これは（数９）の演算に相当し，ＡＥi,j（ただしｉは偶数）すなわちフレーム誤差量が求められることとなる。
【０１７８】
以上のように，符号化ブロックの第１フィールドと予測ブロック候補の第１フィールドのブロックマッチングによるフィールド誤差量を求める第１のパイプラインと符号化ブロックの第２フィールドと予測ブロック候補の第２フィールドのブロックマッチングによるフィールド誤差量を求める第２のパイプラインと，それぞれのフィールド誤差量を加算してフレーム誤差量を求める加算器を設けたことにより，動きベクトルのＹ成分が偶数である予測ブロック候補に対する３種類の誤差量を漏らすことなく求めることができているものである。
【０１７９】
演算ブロック７０６と累積加算アレイ７１８からなる図３０の第３のパイプラインでは，符号化データＢ０，Ｂ２すなわち第１フィールドデータと，参照データＡ１すなわち第２フィールドデータを入力とするから，符号化ブロックの第１フィールドと予測ブロック候補の第２フィールドとのブロックマッチングにおけるフィールド誤差量ＡＥi,j（但しｉは奇数）を算出する。最後に演算ブロック７０７と累積加算アレイ７１９からなる第４のパイプラインでは，符号化データＢ１，Ｂ３すなわち第２フィールドデータと，参照データＡ２すなわち第１フィールドデータを入力とするから，符号化ブロックの第２フィールドと予測ブロック候補の第１フィールドとのブロックマッチングにおけるフィールド誤差量ＡＥi,j（但しｉは奇数）を算出する。加算器７２１は第１フィールド誤差量と第２フィールド誤差量を加算することでフレーム誤差量ＡＥi,j（但しｉは奇数）を算出する。以上のように第３のパイプラインと第４のパイプラインによって，動きベクトルのＹ成分が奇数である予測ブロック候補に対する３種類の誤差量を漏らすことなく求めることができるものである。
【０１８０】
ここで，第４のパイプラインでは参照データＡ２は図３０の動作開始のＧ２サイクルでＡ２＝（ｒ2,0，ｒ2,1，ｒ2,2）となっており，これは図３１で検索範囲内の小ブロックＧ２に位置する参照データである。図３０で第１のパイプラインのＧ０サイクルと第２，第３のパイプラインのＧ１サイクルと第４のパイプラインのＧ２サイクルはいずれも同時刻であり，動作開始のサイクルである。この動作開始のサイクルで参照レジスタ７０１〜７０３の３つのレジスタが出力するＡ０，Ａ１，Ａ２は図３１の小ブロックＧ０，Ｇ１，Ｇ２に示す領域のデータである。第２サイクルでは図３２に示すようにＡ０，Ａ１，Ａ２は小ブロックＧ２，Ｇ３，Ｇ４と，２行ずつ下方にシフトさせている。以下順次２行ずつシフトさせ，図３３に示すＧ８，Ｇ９，Ｇ１０の状態で最初のパイプラインを終了し，引き続き図３４のＨ０，Ｈ１，Ｈ２に示すように１画素右にずれた領域の上部３つの小ブロックから新たなパイプラインを開始する。以上のように参照レジスタ７０１〜７０３は検索範囲で幅３画素の帯状の領域を上から下へ２行ずつずらしながら参照画素を格納し，下端に達すると１画素右にずれた幅３画素の帯状の領域を同様に上から下へ格納していくことで，第１のパイプラインと第２のパイプラインの組み合わせによる誤差量演算と，第３のパイプラインと第４のパイプラインの組み合わせによる誤差量評価が互いにＹ成分の奇数，偶数の関係となり，重複せず，かつ漏れずに全てのベクトルを評価することができているのである。
【０１８１】
【表１１】
2004214733.tif 000026
【０１８２】
【表１２】
2004214733.tif 000027
実施の形態８の効果を具体的に数値で表１１と表１２にまとめる。表１１は実施の形態８の回路規模を示すものであり，表１２は実施の形態８の処理速度を示すものである。表１１，表１２の４８０ｉの場合，１０８０ｉの場合の算出条件は表１，表２の従来例１の場合などと同じである。表１，表２の従来例１の場合との比較では劇的な改善となっているが，既に実施の形態１および実施の形態２で述べた通りであるので説明を省略し，実施の形態８と本発明の実施の形態１，実施の形態２との比較で第１０の本発明の技術の効果を確認する。
【０１８３】
まず，表５，表６に示した本発明実施の形態１の図１の場合と，表１１，表１２の本発明実施の形態８の図２９の場合を比較して，実施の形態８では実施の形態１に対して回路規模で約４０％増加するが処理速度では２倍以上高速化されていることがわかる。実施の形態８では図３０のタイムチャートをみれば，第１のパイプラインと第２のパイプラインから構成される第１の系列と，第３のパイプラインと第４のパイプラインから構成される第２の系列の，２つの系列の並列処理となっているため約２倍の処理速度を持っているのである。この実施の形態８固有の並列処理構造は実施の形態３，実施の形態４に示した第５の本発明の並列処理技術とは独立なものであり，第１０の本発明の並列化技術と第５の本発明の並列化技術とを組み合わせて装置を実現することもできる性質のものである。表１１，表１２の多重化系列数Ｑは第５の本発明の技術による多重化系列数を意味しており，図２９の例では第５の本発明の技術を用いていないのでＱ＝１としている。実施の形態８に第５の本発明を適用してＱ＝２とした場合，表１２より処理速度が純粋に２倍となる。表７，表８実施の形態３と同じ仕様の４８０ｉの例，１０８０ｉの例と比較すると，表１１，表１２では第１０の本発明に固有の並列処理の効果があるため第５の本発明による多重化系列数Ｑは表７，表８に対して２分の１に設定して，ほぼ同じ処理速度をほぼ同じ回路規模で実現できている。
【０１８４】
以上のように本実施の形態８によれば，第１０の本発明に従って，符号化ブロックの同一フィールドの３個の画素データを１つの組として，第１フィールドの符号化データを２組と第２フィールドの符号化データ２組とを出力する符号化ブロックレジスタ１０２と，参照画像の同一フィールドの３個の画素を記憶しこれを１つの組の参照データとして出力する，３つの参照レジスタ７０１〜７０３と，参照データ１組と符号化データ２組とを入力としフィールド誤差量を求める４個のフィールド評価手段である演算ブロック７０４〜７０７と，第１フィールドの参照データＡ０と第１フィールドの符号化データＢ０，Ｂ２に対するフィールド誤差量と第２フィールドの参照データＡ１と第２フィールドの符号化データＢ１，Ｂ３に対するフィールド誤差量とを加算する加算器７２０と，第１フィールドの参照データＡ２と第２フィールドの符号化データＢ１，Ｂ３に対するフィールド誤差量と，第２フィールドの参照データＡ１と第１フィールドの符号化データＢ０，Ｂ２に対するフィールド誤差量とを加算する加算器７２１と，を備え，参照レジスタ７０１〜７０３は前記参照データを参照画面上垂直方向に順次ずらしながら取り出して格納する制御機能を具備し，演算ブロック７０４〜７０７は，２個の演算ユニットと，２個の誤差量から累積加算構造で総和をもとめフィールド誤差量として出力する構成と成したことにより，フレームマッチングによる誤差量と，符号化ブロックの第１フィールドに対するフィールドマッチングによる誤差量と第２フィールドに対するフィールドマッチングによる誤差量の３種類の誤差量を同時に求めることができ，しかも実用的な映像信号を処理する場合に回路規模を増加させることなく実施の形態１や２の処理速度の高速性を保持することが出来るものである。
【０１８５】
また，本実施の形態においてもＭＰＥＧ２のための動きベクトル検出装置として用いる場合はＴＦＡＥi,j，ＢＦＡＥi,jの添え字ｊに対して，実施の形態６で説明した変換を行うことにより適切なベクトルを得ることができる。
【０１８６】
なお，第１０の本発明にも第５の本発明の技術を適応しても良いことは既に述べたが，それ以外にも第６，第７の本発明の技術を適応しても良い。その場合図２０と同様に図２９の構成に対して参照レジスタを３本増設し，その出力Ｃ０，Ｃ１，Ｃ３と参照レジスタ７０１〜７０３の出力Ａ０，Ａ１，Ａ２を演算ユニット７０８〜７１５の入力位置で切り替えるスイッチを設け，前記スイッチの切り替えタイミングと符号化小ブロックレジスタ１０３〜１０６の読み込みタイミングを制御するモード制御部を設ける構成となる。またその動作は図３０のタイミングチャートで各パイプラインを隙間なく前詰めで動作させることとなり，最大効率で最高速度を実現することが出来る。
【０１８７】
また，本実施の形態８では参照レジスタを７０１〜７０３の３個設ける構成としたが，参照レジスタ７０３を省略して参照レジスタ２個とし，参照データＡ２に変えて参照データＡ０を供給するとして構成とすることも出来る。この場合図３０のタイミングチャートで第４のパイプラインの動作が１サイクル遅れることとなるため，第３のパイプラインで累積加算アレイ７１８の出力を１サイクル遅延させることで，第４のパイプラインと同期させ，３種類の誤差量を求める機能を果たすことが出来る。
【０１８８】
更に，本実施の形態８は第１０の本発明で参照データが参照画像上横に配置されたＭ個のデータである場合の例であるが，これを参照データが参照画像上縦に配置されたＭ個のデータである場合ととし，参照レジスタ，符号化小ブロックレジスタを全て同一フィールドの縦Ｍ個の画素を記憶する構成とし，参照レジスタは検索領域を水平方向に１画素ずつずらしながらパイプライン演算を実行するものとしても良い。
【０１８９】
本発明の実施の形態１〜８において，ブロックマッチングの誤差量は全て差分絶対値総和であるとしたが，これは差分自乗総和や分散など差分絶対値総和以外のものとしても良い。このとき，誤差量が（数３）或いは（数６）で表記可能であるものであれば本発明の技術を全て適応することが出来る。
【０１９０】
以上においては，本実施の形態１〜８について詳細に説明した。
【０１９１】
第１の本発明の動きベクトル検出方式は，符号化画像上の符号化ブロックと参照画像上の予測ブロック候補を行又は列を単位に小ブロックに分解して，前記符号化ブロックと前記予測ブロック候補との誤差量を前記小ブロックを単位とするパイプライン演算で求める動きベクトル検出方式であって，前記小ブロックが列を単位に分解の場合は前記予測ブロック候補を参照画像上水平方向に順次ずらしながら前記パイプライン演算を進行させる第１の制御か，前記化ブロックが行を単位に分解の場合は前記予測ブロック候補を参照画像上垂直方向に順次ずらしながら前記パイプライン演算を進行させる第２の制御か，少なくともいずれかの制御を備えた動きベクトル検出方式である。
【０１９２】
第１の本発明の動きベクトル検出方式を採用した第２の本発明の動きベクトル検出装置では，符号化ブロックの画素データを記憶し，符号化ブロック内で縦１列または横１行に配置されたＭ個の画素データを１つの組としてＮ組の符号化データを出力する符号化ブロックレジスタと，参照画像のＭ個の画素を一時記憶し，これを１つの組の参照データとして出力するレジスタであって，前記参照データが参照画像上縦に配置されたＭ個のデータである場合は前記参照データを参照画面上水平方向に順次ずらしながら取り出して格納する第１の制御機能か，前記参照データが参照画像上横に配置されたＭ個のデータである場合は前記参照データを参照画面上垂直方向に順次ずらしながら取り出して格納する第２の制御機能か，少なくともいずれかの制御機能を具備した参照レジスタと，１組の参照データと１組の符号化データの誤差量を演算するＮ個の演算ユニットと，前記誤差量を１サイクル遅延させて隣接する符号化データの組の誤差量に加算し，以下順次その加算結果を１サイクル遅延させ隣接する誤差量に加算していく累積加算構造により前記Ｎ個の誤差量の総和を求める累積加算アレイとから構成したものである。
【０１９３】
この構成により，画素データを格納するレジスタは符号化ブロック１個分の符号化ブロックレジスタと１行又は１列分の参照レジスタのみで構成されるので，参照レジスタがＮ−１行分またはＮ−１列分削減することができ，また，パイプラインの間をつなぐ演算データ遅延も検索範囲の大きさにかかわらず常に１サイクル分のみで構成できるから，実用的な映像信号を実用的な検索範囲で動きベクトル検出する場合も極めて小さな回路規模で実現できるものである。また，演算速度は１サイクルで１予測ブロック候補の誤差量演算が確定し，ロスサイクルも少なく，短いサイクル数で機能を果たす高速な動きベクトル検出動作を得るものである。また符号化ブロックを１つづつ処理完了させることが出来るから符号化ブロックの処理順番に制約が無く，動きベクトル検出装置に続く符号化装置も容易に構成でき，高速処理が要求されない用途では多重化しない極めて小さい回路を提供して実用になる極めて有効なものである。
【０１９４】
第３の本発明の動きベクトル検出方式は，前記行又は列を単位とする小ブロックを単位とするパイプライン演算で誤差量を求める動きベクトル検出方式であって，前記小ブロックが列を単位に分解の場合は予測ブロック候補の小ブロックが参照画像上で垂直座標のみ異なるように複数設定され，それらを水平方向に順次ずらしながら前記パイプラインを進行させる第１の制御か，前記小ブロックが行を単位に分解の場合は予測ブロック候補の小ブロックが参照画像上で水平座標のみ異なるように複数設定され，それらを垂直方向に順次ずらしながら前記パイプラインを進行させる第２の制御か，いずれかの制御を備えた動きベクトル検出方式である。
【０１９５】
第３の本発明の動きベクトル検出方式を採用した第４の本発明の動きベクトル検出装置は，符号化ブロック内で縦１列または横１行に配置されたＭ個の画素データを１つの組としてＮ組の符号化データを出力する符号化ブロックレジスタと，参照画像のＭ＋Ｑ−１個の画素を格納し，連続するＭ個の画素を１組の参照データとしてＱ組の参照データを出力するレジスタであって，前記参照データを参照画面上水平方向に順次ずらしながら取り出して格納する第１の制御機能か，前記参照データを参照画面上垂直方向に順次ずらしながら取り出して格納する第２の制御機能か，少なくともいずれかの制御機能を具備した参照レジスタと，Ｑ×Ｎ個の演算ユニットと，累積加算構造により演算ユニットのＮ個の誤差量の総和を求めるＱ個の累積加算アレイとから構成するものである。
【０１９６】
この構成により，系列数をＱとする並列処理によるＱ倍の高速処理が実現され，しかも，画素データを格納するレジスタはＱ系列分必要となるのではなく，僅かに参照レジスタＱ−１画素分が増加するのみで構成できる。また，パイプラインをつなぐ演算データ遅延器はＱ系列分必要になるが，そのそれぞれが１サイクル遅延ですみ，極めて小さな回路で実現できるから回路増加を最低限に押さえることが出来る。その結果，全体としての回路規模は従来技術に比して劇的に減少させることができ，ことに実用映像信号を実用的な検索範囲で動きベクトル検出する場合に極めて顕著であって，その効果は絶大なるものである。また多重化数Ｑはブロックの大きさ，検索範囲の大きさ，その他何らの条件にも拘束されず，完全に任意に設定できるものであるから，要求される処理速度，使用目的に応じて最小の回路規模の装置を提供することが出来るものである。
【０１９７】
第５，６の本発明の動きベクトル検出方式は，第２の参照レジスタを備え，演算ユニットは第１の参照レジスタから供給される参照データか第２の参照レジスタから供給される参照データかいずれかを選択する参照データ切り替えスイッチを具備し，参照データを供給する参照レジスタを切り替えるモード移行時には，移行前のモードの有効な演算が終了した演算ユニットから順に参照データ切り替えスイッチを切り替え，また，新たな符号化ブロックの誤差量演算を開始する場合には前記参照データ切り替えスイッチの切り替え動作に同期して新たな符号化ブロックのデータを１組ずつ順に符号化ブロックレジスタに記憶させるモード制御手段とを備えたことにより，２つの参照レジスタを演算ユニット毎に使い分け，各演算ユニットに常に有効な参照データを供給することができ，また新たな符号化ブロックの演算開始に当たっても演算を開始できる状態になった演算ユニットから直ちに新たな符号化データとそれに対応した参照データを供給することができるから，全ての演算ユニットに常に有効な演算を実行させることができ，しかも同じ演算を重複することがないから最大効率を実現することとなって，処理速度を向上させることができるものである。
【０１９８】
第７の本発明の動きベクトル検出装置は，累積加算アレイが，演算ユニットのＮ個の誤差量を累積加算するフレーム加算アレイと，偶数または奇数番目であるＮ／２個の誤差量を２サイクル遅延しながら累積加算構造で加算するフィールド加算アレイとを備えたことにより，フレーム加算アレイで予測ブロック候補のフレーム誤差量を算出する一方，フィールド加算アレイで符号化ブロックの第１フィールド成分或いは第２フィールド成分と，前記予測ブロック候補との誤差量を求めることとができ，前記フレーム誤差量から前記フィールド誤差量を減算することで残りのフィールド誤差量も求めることができる。また，フィールド加算アレイが増加するのみであるから，わずかな回路増加で同一の予測ブロック候補に対するフレーム誤差量と２種類のフィールド誤差量を同時に算出することができるものである。
【０１９９】
第８，９の本発明の動きベクトル検出装置は，演算ユニットが入力された参照データの組と符号化データの組に対してそれぞれの偶数位置の画素に対する誤差量か，それぞれの奇数位置の画素に対する誤差量か，或いは全ての画素に対する誤差量かの３種類のうちいずれかの２種類の誤差量をもとめ，累積加算アレイは上記２種類の誤差量を独立に累積加算構造で加算する構造としたことにより，同一の予測ブロック候補に対するフレーム誤差量と２種類のフィールド誤差量を同時に算出することができるものである。
【０２００】
第１０の本発明の動きベクトル検出装置は，同一フィールドのＭ個の画素データを１つの組として第１フィールドの符号化データをＮ／２組と第２フィールドの符号化データＮ／２組とを出力する符号化ブロックレジスタと，参照画像の同一フィールドのＭ個の画素を記憶しこれを１つの組の参照データとして出力する少なくとも第１フィールドと第２フィールドの２つの参照レジスタと，参照データ１組と符号化データＮ／２組とからフィールド誤差量を求める４個のフィールド評価手段と，第１フィールド参照データと第１フィールド符号化データによるフィールド誤差量と第２フィールド参照データと第２フィールド符号化データによるフィールド誤差量とを加算する第１の加算器と，第１フィールド参照データと第２フィールド符号化データによるフィールド誤差量と第２フィールドの参照データと第１フィールド符号化データによるフィールド誤差量とを加算する第２の加算器とを備えたことにより，符号化ブロックと予測ブロック候補の全てのフィールド組み合わせのフィールド誤差量を並列構造で求めるから，２種類のフィールド誤差量とその加算によるフレーム誤差量を求めることができるものである。しかも，４つのフィールド評価手段が必要であるがこれらはいずれもフレーム評価の場合の略２分の１程度の規模で構成されるから全体としての回路規模の増加は僅かであるにもかかわらず，処理速度は並列処理となっているから２倍の高速処理が実現でき，実用的な映像信号を実用的な検索範囲で動きベクトル検出する場合に適応して極めて効果の大きなものである。
【０２０１】
尚，本発明のプログラムは，上述した本発明の動きベクトル検出装置の全部又は一部の手段（又は，装置，素子等）の機能をコンピュータにより実行させるためのプログラムであって，コンピュータと協働して動作するプログラムである。
【０２０２】
又，本発明のプログラムは，上述した本発明の動きベクトル検出方法の全部又は一部のステップ（又は，工程，動作，作用等）の動作をコンピュータにより実行させるためのプログラムであって，コンピュータと協働して動作するプログラムである。
【０２０３】
又，本発明の記録媒体は，上述した本発明の動きベクトル検出装置の全部又は一部の手段（又は，装置，素子等）の全部又は一部の機能をコンピュータにより実行させるためのプログラムを担持した記録媒体であり，コンピュータにより読み取り可能且つ，読み取られた前記プログラムが前記コンピュータと協動して前記機能を実行する記録媒体である。
【０２０４】
又，本発明の記録媒体は，上述した本発明の動きベクトル検出方法の全部又は一部のステップ（又は，工程，動作，作用等）の全部又は一部の動作をコンピュータにより実行させるためのプログラムを担持した記録媒体であり，コンピュータにより読み取り可能且つ，読み取られた前記プログラムが前記コンピュータと協動して前記動作を実行する記録媒体である。
【０２０５】
尚，本発明の上記「一部の手段（又は，装置，素子等）」とは，それらの複数の手段の内の，一つ又は幾つかの手段を意味し，本発明の上記「一部のステップ（又は，工程，動作，作用等）」とは，それらの複数のステップの内の，一つ又は幾つかのステップを意味する。
【０２０６】
又，本発明の上記「手段（又は，装置，素子等）の機能」とは，前記手段の全部又は一部の機能を意味し，本発明の上記「ステップ（又は，工程，動作，作用等）の動作」とは，前記ステップの全部又は一部の動作を意味する。
【０２０７】
又，本発明のプログラムの一利用形態は，コンピュータにより読み取り可能な記録媒体に記録され，コンピュータと協働して動作する態様であっても良い。
【０２０８】
又，本発明のプログラムの一利用形態は，伝送媒体中を伝送し，コンピュータにより読みとられ，コンピュータと協働して動作する態様であっても良い。
【０２０９】
又，記録媒体としては，ＲＯＭ等が含まれ，伝送媒体としては，インターネット等の伝送媒体，光・電波・音波等が含まれる。
【０２１０】
又，上述した本発明のコンピュータは，ＣＰＵ等の純然たるハードウェアに限らず，ファームウェアや，ＯＳ，更に周辺機器を含むものであっても良い。
【０２１１】
尚，以上説明した様に，本発明の構成は，ソフトウェア的に実現しても良いし，ハードウェア的に実現しても良い。
【０２１２】
【発明の効果】
本発明は，たとえば，回路規模をより小さく抑えることができることができるという長所を有する。
【図面の簡単な説明】
【図１】実施の形態１における動きベクトル検出装置のブロック図
【図２】実施の形態１の演算ユニット７の構成を示すブロック図
【図３】実施の形態１の画像の領域関係図
【図４】実施の形態１の動作のタイミングチャート
【図５】実施の形態１の参照データ領域図
【図６】実施の形態１の参照データ領域図
【図７】実施の形態１の参照データ領域図
【図８】実施の形態２における動きベクトル検出装置のブロック図
【図９】実施の形態２の演算ユニット１０８の構成を示すブロック図
【図１０】実施の形態２の動作のタイミングチャート
【図１１】実施の形態２の参照データ領域図
【図１２】実施の形態２の参照データ領域図
【図１３】実施の形態２の参照データ領域図
【図１４】実施の形態３における動きベクトル検出装置のブロック図
【図１５】実施の形態３の動作のタイミングチャート
【図１６】実施の形態２の参照データ領域図
【図１７】実施の形態２の参照データ領域図
【図１８】実施の形態２の参照データ領域図
【図１９】実施の形態４における動きベクトル検出装置のブロック図
【図２０】実施の形態５における動きベクトル検出装置のブロック図
【図２１】実施の形態５の動作のタイミングチャート
【図２２】実施の形態５の動作のタイミングチャート
【図２３】実施の形態６における動きベクトル検出装置のブロック図
【図２４】実施の形態６の動作のタイミングチャート
【図２５】実施の形態７における動きベクトル検出装置のブロック図
【図２６】実施の形態７の演算ユニット６０２の構成を示すブロック図
【図２７】実施の形態７の動作のタイミングチャート
【図２８】実施の形態７の演算ユニット６０２の別構成を示すブロック図
【図２９】実施の形態８における動きベクトル検出装置のブロック図
【図３０】実施の形態８の動作のタイミングチャート
【図３１】実施の形態８の参照データ領域図
【図３２】実施の形態８の参照データ領域図
【図３３】実施の形態８の参照データ領域図
【図３４】実施の形態８の参照データ領域図
【図３５】従来例１における動きベクトル検出装置のブロック図
【図３６】従来例１のＰＥ８０５の構成を示すブロック図
【図３７】従来例１の演算データ遅延器８１１の構成を示すブロック図
【図３８】従来例１の画像の領域関係図
【図３９】従来例１の動作のタイミングチャート
【図４０】従来例１の動作のタイミングチャート
【図４１】従来例１の動作のタイミングチャート
【図４２】従来例２における動きベクトル検出装置のブロック図
【図４３】従来例２のＰＥ８４７の構成を示すブロック図
【図４４】従来例２の動作のタイミングチャート
【符合の説明】
１，１０１，２０１，３０１，４０１，７０１，７０２，７０３  参照レジスタ
２，１０２，４０２，６０１  符号化ブロックレジスタ
３，４，５，１０３，１０４，１０５，１０６，４０３，４０４，４０５  符号化小ブロックレジスタ
６，１０７，２０２，３０２，４０６，７０４，７０５，７０６，７０７  演算ブロック
７，８，９，１０８，１０９，１１０，１１１，６０２，６０３，６０４，７０８，７０９，７１０，７１１，７１２，７１３，７１４，７１５  演算ユニット
１０，１１２，２０３，３０３，５０１，６０５，７１６，７１７，７１８，７１９  累積加算アレイ
１１，１３，１１３  遅延器
１２，１４，１９，２０，２１，１１４，５０５，６０８，６０９，６１０，６１１，７２０，７２１  加算器
１５，１６，１７，１８  差分絶対値演算器
４０７，４０８，４０９  スイッチ
４１０  モード制御部
５０２  フレーム加算アレイ
５０３，６０６，６０７  フィールド加算アレイ
５０４  ２サイクル遅延器
５０６  減算器
８０１，８０２，８０３，８０４，８１９，８２０，８２１，８２２  ８２９，８３０，８３１，８３２，８３３，８３４，８３５，８３６，８３８，８３９，８４０，８４１，８５３，８５４，８５５，８５６  レジスタ
８０５，８０６，８０７，８０８，８０９，８１０，８４７，８４８，８４９演算ユニット
８１１，８１２，８１３，８１４，８５０，８５１  演算データ遅延器
８１５，８１６，８１７，８１８，８５２  端子
８２３，８２４，８２５，８２６  差分絶対値演算器
８２７，８２８  加算器
８３７  タイミング制御部
８４２  画素データ遅延器
８４３，８４４，８４５，８４６，８５７，８５８，８５９，８６０  セレクタ
【図１】
2004214733.tif 000028
【図２】
2004214733.tif 000029
【図３】
2004214733.tif 000030
【図４】
2004214733.tif 000031
【図５】
2004214733.tif 000032
【図６】
2004214733.tif 000033
【図７】
2004214733.tif 000034
【図８】
2004214733.tif 000035
【図９】
2004214733.tif 000036
【図１０】
2004214733.tif 000037
【図１１】
2004214733.tif 000038
【図１２】
2004214733.tif 000039
【図１３】
2004214733.tif 000040
【図１４】
2004214733.tif 000041
【図１５】
2004214733.tif 000042
【図１６】
2004214733.tif 000043
【図１７】
2004214733.tif 000044
【図１８】
2004214733.tif 000045
【図１９】
2004214733.tif 000046
【図２０】
2004214733.tif 000047
【図２１】
2004214733.tif 000048
【図２２】
2004214733.tif 000049
【図２３】
2004214733.tif 000050
【図２４】
2004214733.tif 000051
【図２５】
2004214733.tif 000052
【図２６】
2004214733.tif 000053
【図２７】
2004214733.tif 000054
【図２８】
2004214733.tif 000055
【図２９】
2004214733.tif 000056
【図３０】
2004214733.tif 000057
【図３１】
2004214733.tif 000058
【図３２】
2004214733.tif 000059
【図３３】
2004214733.tif 000060
【図３４】
2004214733.tif 000061
【図３５】
2004214733.tif 000062
【図３６】
2004214733.tif 000063
【図３７】
2004214733.tif 000064
【図３８】
2004214733.tif 000065
【図３９】
2004214733.tif 000066
【図４０】
2004214733.tif 000067
【図４１】
2004214733.tif 000068
【図４２】
2004214733.tif 000069
【図４３】
2004214733.tif 000070
【図４４】
2004214733.tif 000071