(57)【要約】動きベクトル検出部（７Ａ）は、各画素パターンについて複数の探索ベクトルを指定していき、サーチウインドウメモリ部（２）および交換器（３）は、指定された探索ベクトルおよび画素パターンの画素データを出力し、評価部（４）は、指定された探索ベクトルおよび画素パターンについての評価値を計算し、画素パターン累積器（８）は、その評価値の累積を計算していき、動きベクトル検出部（７Ａ）は、評価値の累積値の小さい探索ベクトルでの評価値の累積を打ち切り、その探索ベクトルを動きベクトルの候補から削除する。
2002037860.tif 000002
【特許請求の範囲】
【請求項１】
画像データにおけるフレームを分割した各ブロックについて、既に符号化されたフレームに対する動きベクトルを検出する動きベクトル検出装置において、
前記ブロックを構成する複数の画素パターンを構成する画素のデータを記憶する第１の記憶手段と、
前記符号化されたフレームのうちの所定の範囲において所定の画素数おきの所定の数の画素でそれぞれ構成される複数の画素パターンにおける同一位置の画素のデータごとに、前記符号化されたフレームのうちの前記所定の範囲の画素のデータを記憶する第２の記憶手段と、
所定の探索ベクトルを供給され、前記所定の範囲においてその探索ベクトルで指定されたブロックにおける１つの画素パターンを選択する選択手段と、
前記選択手段により選択された画素パターンと、その画素パターンと同一の、前記第１の記憶手段に記憶された画素パターンとを画素ごとに比較する比較手段と、
前記比較手段による比較の結果に基づいて前記動きベクトルを検出する検出手段と
を備えることを特徴とする動きベクトル検出装置。
【請求項２】
画像データにおけるフレームを分割した各ブロックについて、既に符号化されたフレームに対する動きベクトルを検出する動きベクトル検出装置において、
前記ブロックを構成する複数の画素パターンまたは複数の分割ブロックを構成する画素のデータを記憶する第１の記憶手段と、
前記符号化されたフレームのうちの所定の範囲を構成する複数の画素パターンまたは複数の分割ブロックにおける同一位置の画素のデータごとに、前記符号化されたフレームのうちの前記所定の範囲の画素のデータを記憶する第２の記憶手段と、
前記動きベクトルの候補である複数の探索ベクトルを供給され、前記所定の範囲において各探索ベクトルで指定されたブロックにおける同一の画素パターンまたは各分割ブロックを順次選択する選択手段と、
前記選択手段により選択された画素パターンまたは分割ブロックと、その画素パターンまたは分割ブロックと同一の、前記第１の記憶手段に記憶された画素パターンまたは分割ブロックとを画素ごとに比較する比較手段と、
１つの探索ベクトルについて前記比較手段による全画素パターンまたは全分割ブロックについての比較が完了する以前に、その時点までの画素パターンまたは分割ブロックについての比較結果に応じて、その探索ベクトルについての前記選択手段および比較手段による処理を中止させ、その探索ベクトルを前記動きベクトルの候補から削除する探索ベクトル絞込手段と、
前記比較手段による比較の結果に基づいて前記動きベクトルの候補から前記動きベクトルを検出する検出手段と
を備えることを特徴とする動きベクトル検出装置。
【請求項３】
探索ベクトル絞込手段は、複数の探索ベクトルについての同一の画素パターンまたは同一の分割ブロックごとに、その同一の画素パターンまたは同一の分割ブロックの比較が完了した後ごとに、所定の条件を満足する場合に前記複数の探索ベクトルのうちの少なくとも１つを動きベクトルの候補から削除する
ことを特徴とする請求の範囲第２項記載の動きベクトル検出装置。
【請求項４】
比較手段は、比較結果として評価値を算出し、
探索ベクトル絞込手段は、各探索ベクトルについて複数の画素パターンでの評価値の累積値を計算し、複数の探索ベクトルについての前記評価値の累積値を昇順または降順に配列して記憶していき、その配列における前記評価値の順序に基づいて１または複数の探索ベクトルを動きベクトルの候補から削除する
ことを特徴とする請求の範囲第３項記載の動きベクトル検出装置。
【請求項５】
比較手段は、比較結果として評価値を算出し、
探索ベクトル絞込手段は、前記複数の探索ベクトルについての前記評価値の累積値において最小値または最大値の評価値に対応する探索ベクトルを選択し、選択した探索ベクトルについて前記評価値の累積を実行し、検出手段は、最小値または最大値の評価値の累積回数が所定の回数である場合、その探索ベクトルを動きベクトルとする
ことを特徴とする請求の範囲第２項記載の動きベクトル検出装置。
【請求項６】
探索ベクトル絞込手段は、複数の探索ベクトルについての評価値の累積値を昇順または降順に配列して記憶していき、その配列の先頭に対応する探索ベクトルを選択し、選択した探索ベクトルについて前記評価値の累積を実行し、複数の探索ベクトルについての評価値の累積値を昇順または降順に再配列し、配列の先頭の評価値の累積回数が所定の回数である場合、その探索ベクトルを動きベクトルとする
ことを特徴とする請求の範囲第５項記載の動きベクトル検出装置。
【請求項７】
画像データにおけるフレームを分割した各ブロックについて、既に符号化されたフレームに対する動きベクトルを検出する動きベクトル検出装置において、
前記ブロックを構成する画素データのうちの所定の数の画素データを記憶する第１の記憶手段と、
前記符号化されたフレームのうち、前方向の動きベクトル検出用の第１の範囲内、および後方向の動きベクトル検出用の第２の範囲内の画素データを記憶する第２の記憶手段と、
前方向の探索ベクトルおよび後方向の探索ベクトルを供給され、前記第２の記憶手段に記憶された前記画素データのうちの、前記ブロックの位置から前記探索ベクトルだけ離れた位置の、前記ブロックと同一の大きさの範囲の画素データのうちの所定の数の画素データを選択する選択手段と、
前記第１の記憶手段に記憶された所定の数の画素データと、前記選択手段により選択された所定の数の画素データとを比較する比較手段と、
前記比較手段による比較の結果に基づいて前方向の動きベクトルおよび後方向の動きベクトルを検出する検出手段と
を備えることを特徴とする動きベクトル検出装置。
【発明の詳細な説明】
技術分野
この発明は、Ｈ．２６１方式、ＭＰＥＧ（Ｍｏｖｉｎｇ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ）方式などの画像処理方式において、画像データにおけるフレームを分割した各ブロックについて、既に符号化されたフレームに対する動きベクトルを検出する動きベクトル検出装置に関するものである。
背景技術
第１図は、従来の動きベクトル検出装置の構成を示すブロック図である。第２図は、第１図のサーチウィンドウメモリ部におけるメモリの入出力を制御する回路の一例を示すブロック図である。第３図は、第１図の交換器の構成例を示すブロック図であり、第４図は、第３図の水平交換部におけるセレクタ部の構成例を示すブロック図であり、第５図は、第３図の垂直交換部におけるセレクタ部の構成例を示すブロック図である。第６図は、第１図のリファレンスメモリ部におけるメモリの入出力を制御する回路の一例を示すブロック図である。
なお、この従来の動きベクトル検出装置は、リファレンスブロックが１６行１６列であり、リファレンスブロックを分割したときの分割ブロックが４行４列である場合のものである。
第１図において、１は、Ｈ．２６１方式、ＭＰＥＧ方式などの画像処理方式においてフレーム間予測符号化により既に符号化されたフレームの画素データであって、現時点で符号化されるフレームにおける予測のための画素データを記憶する既符号フレームメモリである。なお、現時点で符号化されるフレームの予測においては、符号化されるフレームを分割した各ブロックに対する動きベクトルが検出される。すなわち、現時点において符号化されるフレームにおけるそのブロックの位置と、既に符号化されたフレームにおけるそのブロックに対応する範囲の位置との水平方向および垂直方向の距離が動きベクトルとして検出される。
１０２は、リファレンスブロックを所定の個数に分割したときの分割ブロックと同一の大きさの領域にサーチウィンドウを分割したときの、分割後の領域における同一の行Ｉかつ同一の列Ｊの画素データを記憶するメモリ１１１−（Ｉ，Ｊ）を有するサーチウィンドウメモリ部である。すなわち、メモリ１１１−（Ｉ，Ｊ）は、分割ブロックの画素の数と同一の数だけ設けられ、リファレンスブロックをＮ個に分割したときの分割ブロックでサーチウィンドウが（Ｎ×Ｍ）個に分割された場合、各メモリ１１１−（Ｉ，Ｊ）には、各領域における同一の行Ｉかつ同一の列Ｊの（Ｎ×Ｍ）個の画素データが記憶される。
第２図において、１４１は、メモリ１１１−（Ｉ，Ｊ）への画素データ書込み時に書込みアドレスを供給され、メモリ１１１−（Ｉ，Ｊ）からの画素データ読出し時に読出しアドレスを供給され、書込み／検出切替信号の値に応じて、それらのアドレスのいずれかをメモリ１１１−（Ｉ，Ｊ）に供給するセレクタである。
１３１は、探索ベクトルの水平成分と、サーチウィンドウの左上角からのリファレンスブロックの左上角の水平方向の位置との和を計算し、その計算結果を出力する加算器である。１３２は、加算器１３１の出力値からメモリ１１１−（Ｉ，Ｊ）の列番号Ｉを減算し、その計算結果を出力する減算器である。１３３は、減算器１３２の出力値と定数３との和を計算し、その計算結果を出力する加算器である。１４２は、加算器１３３の出力値と、分割ブロックの水平アドレスｑ（後述）を４倍した値との和を計算し、その計算結果を出力する加算器である。１３４は、加算器１４２の出力値を定数４で除した値の整数部を出力する除算器である。
１３５は、探索ベクトルの垂直成分と、サーチウィンドウの左上角からのリファレンスブロックの左上角の垂直方向の位置との和を計算し、その計算結果を出力する加算器である。１３６は、加算器１３５の出力値からメモリ１１１−（Ｉ，Ｊ）の行番号Ｊを減算し、その計算結果を出力する減算器である。１３７は、減算器１３６の出力値と定数３との和を計算し、その計算結果を出力する加算器である。１５０は、加算器１３７の出力値と、分割ブロックの垂直アドレスｒ（後述）を４倍にした値との和を計算し、その計算結果を出力する加算器である。１３８は、加算器１５０の出力値を定数４で除した値の整数部を出力する除算器である。１３９は、除算器１３８の出力値と定数１４との積を計算し、その計算結果を出力する乗算器である。
１４０は、除算器１３４の出力値と乗算器１３９の出力値との和を計算し、その計算結果をメモリ１１１−（Ｉ，Ｊ）に対する読出しアドレスとしてセレクタ１４１に供給する加算器である。
第１図に戻り、１０３は、サーチウィンドウメモリ部１０２のメモリ１１１−（０，０）〜１１１−（３，３）に記憶された画素データのうちの、リファレンスブロックの分割ブロックと同一の大きさで、リファレンスブロックの分割ブロックの位置から探索ベクトルだけ離れた位置の探索ブロックに含まれる画素データを供給され、探索分割ブロックにおける座標値が（Ｉ，Ｊ）である各画素データを評価部１０４の画素比較部１１３−（Ｉ，Ｊ）にそれぞれ出力する交換器である。
第３図に示す交換器１０３において、１１４は、探索分割ブロックの行Ｊごとにメモリ１１１−（０，Ｊ）〜１１１−（３，Ｊ）から画素データを供給され、内蔵のセレクタ部１５１−（０，Ｊ）〜１５１−（３，Ｊ）によりすべての画素データからそれぞれ１つの画素データを探索ベクトルの水平成分の値に応じて選択し、出力する水平交換部である。１１５は、水平交換部１１４のセレクタ部１５１−（Ｉ，０）〜１５１−（Ｉ，３）から、画素データを内蔵のセレクタ部１５２−（Ｉ，０）〜１５２−（Ｉ，３）に供給され、セレクタ部１５２−（Ｉ，０）〜１５２−（Ｉ，３）によりすべての画素データからそれぞれ１つの画素データを探索ベクトルの垂直成分の値に応じて選択し、出力する垂直交換部である。
第４図に示すセレクタ部１５１−（Ｉ，Ｊ）において、１２３は、セレクタ部１５１−（Ｉ，Ｊ）の列番号Ｉと探索ベクトルの水平成分との和を計算し、その計算結果をＲＯＭ１２４に出力する加算器である。１２４は、加算器１２３からの値に対して４で除した剰余の値を選択信号としてセレクタ１２５に供給するＲＯＭである。１２５は、ＲＯＭ１２４からの選択信号の値ＳＳに応じてメモリ１１１−（ＳＳ，Ｊ）からの値を選択し、出力するセレクタである。
第５図に示すセレクタ部１５２−（Ｉ，Ｊ）において、１２６は、セレクタ部１５２−（Ｉ，Ｊ）の行番号Ｊと探索ベクトルの垂直成分との和を計算し、その計算結果をＲＯＭ１２７に出力する加算器である。１２７は、加算器１２６からの値に対して４で除した剰余の値を選択信号としてセレクタ１２８に供給するＲＯＭである。１２８は、ＲＯＭ１２７からの選択信号の値ＳＳに応じてセレクタ部１５１−（Ｉ，ＳＳ）からの値を選択し、出力するセレクタである。
第１図に戻り、５は、現時点で符号化されるフレームの画素データを記憶する符号化フレームメモリである。
１０６は、現時点で符号化されるフレームを分割した１６行１６列のブロックのうちのいずれかのブロック（リファレンスブロック）を所定の個数の分割ブロックに分割したときの、その分割ブロックにおける同一の行Ｉかつ同一の列Ｊの画素データを記憶するメモリ１１６−（Ｉ，Ｊ）を有するリファレンスメモリ部である。すなわち、メモリ１１６−（Ｉ，Ｊ）は、分割ブロックの画素の数と同一の数だけ設けられ、リファレンスブロックをＭ個の分割ブロックに分割した場合、各メモリ１１６−（Ｉ，Ｊ）には、各分割ブロックにおける同一の行Ｉかつ同一の列ＪのＭ個の画素データが記憶される。
第６図において、１４５は、ブロック累積器１０８の垂直４進カウンタ１４４より供給される分割ブロックの垂直アドレスｒと定数４との積を計算し、その計算結果を出力する乗算器である。１４６は、乗算器１４５の出力値と、ブロック累積器１０８の水平４進カウンタ１４３より供給される分割ブロックの水平アドレスｑとの和を計算し、その計算結果をメモリ１１６−（Ｉ，Ｊ）に対する読出しアドレスとしてセレクタ１４７に出力する加算器である。１４７は、メモリ１１６−（Ｉ，Ｊ）への画素データ書込み時に書込みアドレスを供給され、メモリ１１６−（Ｉ，Ｊ）からの画素データ読出し時に読出しアドレスを供給され、書込み／検出切替信号の値に応じて、それらのアドレスのいずれかをメモリ１１６−（Ｉ，Ｊ）に供給するセレクタである。
第１図に戻り、１０４は、リファレンスメモリ部１０６の各メモリ１１６−（Ｉ，Ｊ）（Ｉ＝０，・・・，３，Ｊ＝０，・・・，３）の画素データと、交換器１０３のセレクタ部１５２−（Ｉ，Ｊ）からの画素データとをそれぞれ比較する画素比較部１１３−（Ｉ，Ｊ）を有する評価部である。
１０８は、第６図に示す水平４進カウンタ１４３および垂直４進カウンタ１４４によりリファレンスブロック内の分割ブロックを水平方向および垂直方向についてカウントしていき、それらのカウント値を分割ブロックの垂直アドレスｒおよび水平アドレスｑとしてサーチウィンドウメモリ部１０２、交換器１０３およびリファレンスメモリ部１０６に供給するとともに、その評価部１０４の各画素比較部１１３−（Ｉ，Ｊ）の比較結果を分割ブロックごとに一時的に蓄積し、ブロックを構成するすべての分割ブロックに対する上記比較結果をまとめて動きベクトル検出部１０７に出力するブロック累積器である。
１０７は、ブロック累積器１０８からの１ブロック分の比較結果に基づいて、最適な探索ベクトルを動きベクトルとして検出するとともに、サーチウィンドウメモリ部１０２および交換器１０３における探索ベクトルを設定する動きベクトル検出部である。例えば、各画素比較部１１３−（Ｉ，Ｊ）により２つの画素データの差を算出させ、リファレンスブロックにおけるそれらの差の絶対値の総和が最小であるときの探索ベクトルが動きベクトルとされる。
次に動作について説明する。
第７図は、サーチウィンドウおよび探索分割ブロックの一例を示す図であり、第８図は、実施の形態２における探索分割ブロックおよび探索分割ブロックの水平アドレスおよび垂直アドレスを示す図である。
まず、既符号フレームメモリ１は、サーチウィンドウをリファレンスブロックの分割ブロックと同一の大きさの領域に分割したときの、分割後の領域における同一の行Ｉかつ同一の列Ｊの画素データをサーチウィンドウメモリ部１０２のメモリ１１１−（Ｉ，Ｊ）に出力する。
このとき、例えば第７図および第８図に示すように、ブロックを１６分割したときの各分割ブロックにブロック内の水平アドレスｑおよび垂直アドレスｒを割り振るとともに、サーチウィンドウにおける水平アドレスｈおよび垂直アドレスｖを割り振ると、メモリ１１１−（Ｉ，Ｊ）は、水平アドレスｈおよび垂直アドレスｖの分割ブロックにおける第Ｊ行第Ｉ列の画素データを、値（１４×ｖ＋ｈ）のアドレスに記憶する。
次に、動きベクトルの探索を実行する場合には、動きベクトル検出部１０７から探索ベクトルがサーチウィンドウメモリ部１０２および交換器１０３に供給されるとともに、ブロック累積器１０８から探索分割ブロックの水平アドレスｑおよび垂直アドレスｒがサーチウィンドウメモリ部１０２、交換器１０３およびリファレンスメモリ部１０６に順次供給される。
サーチウィンドウメモリ部１０２においては、探索ベクトルの水平成分が加算器１３１に供給され、探索ベクトルの垂直成分が加算器１３５に供給される。また、探索分割ブロックの水平アドレスｑを４倍にした値が加算器１４２に供給され、分割ブロックの垂直アドレスｒを４倍にした値が加算器１５０に供給される。
そして、加算器１３１，１３３，１３５，１３７，１４０，１４２，１５０、減算器１３２，１３６、除算器１３４，１３８および乗算器１３９により、供給された探索ベクトルおよび分割ブロックの水平アドレスｑおよび垂直アドレスｒに対応したメモリ１１１−（Ｉ，Ｊ）に対する読出しアドレスが算出される。メモリ１１１−（Ｉ，Ｊ）は、供給された読出しアドレスに記憶された画素データを交換器１０３のセレクタ部１５１−（０，Ｊ）〜１５１−（３，Ｊ）に出力する。
なお、メモリ１１１−（Ｉ，Ｊ）に対する読出しアドレスＡ（Ｉ，Ｊ）は、ｘを探索ベクトルの水平成分とし、ｙを探索ベクトルの垂直成分とし、ＳＷＨ０をサーチウィンドウの左上角からのリファレンスブロックの左上角の水平方向の位置とし、ＳＷＶ０をサーチウィンドウの左上角からのリファレンスブロックの左上角の垂直方向の位置としたとき、加算器１３１，１３３，１３５，１３７，１４０，１４２，１５０、減算器１３２，１３６、除算器１３４，１３８および乗算器１３９により、次式に従って計算される。
Ａ（Ｉ，Ｊ）＝（ｉｎｔ（（ＳＷＶ０＋ｙ−Ｊ＋ｒ×４＋３）／４））×１４＋ｉｎｔ（（ＳＷＨ０＋ｘ−Ｉ＋ｑ×４＋３）／４）
ここで、ｉｎｔ（）は、引数の小数点以下を切り捨てる関数または演算子である。
そして、交換器１０３においては、水平交換部１１４の各セレクタ部１５１−（Ｉ，Ｊ）が、動きベクトル検出部１０７より供給された探索ベクトルの水平成分に応じて、メモリ１１１−（０，Ｊ）〜１１１−（３，Ｊ）からの値のいずれかを選択し、選択した値を垂直交換部１１５のセレクタ部１５２−（Ｉ，０）〜１５２−（Ｉ，３）に出力する。
このとき、各セレクタ部１５１−（Ｉ，Ｊ）においては、加算部１２３およびＲＯＭ１２４により、セレクタ部１５１−（Ｉ，Ｊ）の列番号Ｉおよび探索ベクトルの水平成分に基づいて選択信号が計算され、セレクタ１２５に供給される。そして、その選択信号の値ＳＳに応じて、メモリ１１１−（ＳＳ，Ｊ）からの値が出力される。なお、選択信号の値ＳＳは、セレクタ部１５１−（Ｉ，Ｊ）の列番号Ｉおよび探索ベクトルの水平成分ｘに基づいて、加算部１２３およびＲＯＭ１２４により次式に従って計算される。
ＳＳ＝ｍｏｄ（Ｉ＋ｘ，４）
ここで、ｍｏｄ（ａ，ｂ）はａをｂで除算したときの剰余である。
その後、垂直交換部１１５の各セレクタ部１５２−（Ｉ，Ｊ）は、動きベクトル検出部１０７より供給された探索ベクトルの垂直成分に応じて、セレクタ部１５１−（Ｉ，０）〜１５１−（Ｉ，３）からの値のいずれかを選択し、選択した値を評価部１０４の画素比較部１１３−（Ｉ，Ｊ）に出力する。
このとき、各セレクタ部１５２−（Ｉ，Ｊ）においては、加算部１２６およびＲＯＭ１２７により、セレクタ部１５２−（Ｉ，Ｊ）の行番号Ｊおよび探索ベクトルの垂直成分に基づいて選択信号が計算され、セレクタ１２８に供給される。そして、その選択信号の値ＳＳに応じて、セレクタ部１５１−（Ｉ，ＳＳ）からの値が出力される。なお、選択信号の値ＳＳは、セレクタ部１５２−（Ｉ，Ｊ）の行番号Ｊおよび探索ベクトルの垂直成分ｙに基づいて、加算部１２６およびＲＯＭ１２７により次式に従って計算される。
ＳＳ＝ｍｏｄ（Ｊ＋ｙ，４）
一方、符号化フレームメモリ１０５は、符号化されるフレームを分割したブロックのうちのいずれか１ブロックの画素データを、分割ブロックにおける同一の行Ｉかつ同一の列Ｊの画素データごとにメモリ１１６−（Ｉ，Ｊ）に記憶させる。
そして、リファレンスメモリ部１０６のメモリ１１６−（０，０）〜１１６−（３，３）は、供給された水平アドレスｑおよび垂直アドレスｒに対応する分割ブロックの画素データを、１クロックごとに評価部１０４の画素比較部１１３−（０，０）〜１１３−（３，３）にそれぞれ供給する。
このとき、リファレンスメモリ部１０６においては、乗算器１４５および加算器１４６により、供給された水平アドレスｑおよび垂直アドレスｒから読出しアドレス（＝ｒ×４＋ｑ）が計算され、セレクタ１４７を介してメモリ１１６−（０，０）〜１１６−（３，３）に供給される。
交換器１０３およびリファレンスメモリ部１０６からそれぞれ画素データが供給されると、評価部１０４の画素比較部１１３−（Ｉ，Ｊ）は、交換器１０３のセレクタ部１５２−（Ｉ，Ｊ）からの画素データと、リファレンスメモリ部１０６のメモリ１１６−（Ｉ，Ｊ）からの画素データとの差を計算し、その差をブロック累積部１０８に供給する。ブロック累積部１０８は、画素データの差が供給されると、次の分割ブロックを指定するための水平アドレスｑおよび垂直アドレスｒを出力するとともに、１ブロック分の画素データの差が蓄積されると、その画素データの差を動きベクトル検出部１０７に出力する。動きベクトル検出部１０７は、そのときの探索ベクトルに関連づけて、評価部１０４より供給された画素データの差の絶対値の総和を評価値として記憶する。
そして、動きベクトル検出部１０７は、所定の順番に基づいて、あるいは既に計算された探索ベクトルと評価値との関係に基づいて、新たな探索ベクトルをサーチウィンドウメモリ部１０２および交換器１０３に供給する。
このようにして、動きベクトル検出部１０７は、所定の順番が終了するまで、あるいは評価値が所定の値以下になるまで探索ベクトルを更新していき、評価値の最も小さいときの探索ベクトルを動きベクトルに決定する。
以上のように、この従来の動きベクトル検出装置では、リファレンスメモリ部１０６に、リファレンスブロックを分割した分割ブロックを構成する画素データを記憶させ、サーチウィンドウメモリ部１０２に、符号化されたフレームのうちのサーチウィンドウを分割ブロックと同一の大きさの領域に分割したときの、分割後の領域における同一の行かつ同一の列の画素データごとに、符号化されたフレームのうちのサーチウィンドウの画素データを記憶させ、サーチウィンドウメモリ部１０２のメモリ１１１−（Ｉ，Ｊ）に記憶された分割後の領域における同一の行かつ同一の列の画素データのうちのいずれか１つをそれぞれ選択して、分割ブロックの位置から探索ベクトルだけ離れた位置の探索分割ブロックを選択し、リファレンスメモリ部１０６に記憶された画素データと、選択された画素データとを画素ごとに比較し、その比較の結果に基づいて動きベクトルを検出するようにする。
従来の動きベクトル検出装置は以上のように構成されているので、評価部１０４の画素比較部１１３−（Ｉ，Ｊ）の数を低減して回路規模を小さくし、装置のコストを低減することができるものの、ブロック全域を構成するすべての分割ブロックについて画素データの比較を実行する必要があり、この点に関して動きベクトルを検出するために要する時間を低減することが困難であるなどの課題があった。
また、従来の動きベクトル検出装置は以上のように構成されているので、双方向予測を実行する場合、前方向の動きベクトルを検出するための装置と後方向の動きベクトルを検出するための装置の２つの装置が必要になり、装置の規模が大きくなるなどの課題があった。
この発明は上記のような課題を解決するためになされたもので、ブロックを構成する複数の画素パターンを構成する画素のデータを記憶する第１の記憶手段と、符号化されたフレームのうちの所定の範囲において所定の画素数おきの所定の数の画素でそれぞれ構成される複数の画素パターンにおける同一位置の画素のデータごとに、符号化されたフレームのうちの所定の範囲の画素のデータを記憶する第２の記憶手段と、所定の探索ベクトルを供給され、その所定の範囲においてその探索ベクトルで指定されたブロックにおける１つの画素パターンを選択する選択手段と、選択手段により選択された画素パターンと、その画素パターンと同一の、第１の記憶手段に記憶された画素パターンとを画素ごとに比較する比較手段と、比較手段による比較の結果に基づいて動きベクトルを検出する検出手段とを備えるようにして、各画素パターンについての比較結果をブロック全域についての比較結果に近似させ、比較結果に必要とされる精度に応じて、必ずしもブロック全域を構成する画素パターンのすべてについて比較を実行する必要がなくなり、短時間で各ブロックについての比較結果が得られ、動きベクトルを短時間で検出することができる動きベクトル検出装置を得ることを目的とする。
また、この発明は上記のような課題を解決するためになされたもので、ブロックを構成する複数の画素パターンまたは複数の分割ブロックを構成する画素のデータを記憶する第１の記憶手段と、符号化されたフレームのうちの所定の範囲を構成する複数の画素パターンまたは複数の分割ブロックにおける同一位置の画素のデータごとに、符号化されたフレームのうちの所定の範囲の画素のデータを記憶する第２の記憶手段と、動きベクトルの候補である複数の探索ベクトルを供給され、その所定の範囲において各探索ベクトルで指定されたブロックにおける同一の画素パターンまたは各分割ブロックを順次選択する選択手段と、選択手段により選択された画素パターンまたは分割ブロックと、その画素パターンまたは分割ブロックと同一の、第１の記憶手段に記憶された画素パターンまたは分割ブロックとを画素ごとに比較する比較手段と、１つの探索ベクトルについて比較手段による全画素パターンまたは全分割ブロックについての比較が完了する以前に、その時点までの画素パターンまたは分割ブロックについての比較結果に応じて、その探索ベクトルについての選択手段および比較手段による処理を中止させ、その探索ベクトルを動きベクトルの候補から削除する探索ベクトル絞込手段と、比較手段による比較の結果に基づいて動きベクトルの候補から動きベクトルを検出する検出手段とを備えるようにして、動きベクトルとならない可能性の高い探索ベクトルを打ち切り、動きベクトルを検出するまでの計算量を低減し、動きベクトルを短時間で検出することができる動きベクトル検出装置を得ることを目的とする。
さらに、この発明は上記のような課題を解決するためになされたもので、ブロックを構成する画素データのうちの所定の数の画素データを記憶する第１の記憶手段と、符号化されたフレームのうち、前方向の動きベクトル検出用の第１の範囲内、および後方向の動きベクトル検出用の第２の範囲内の画素データを記憶する第２の記憶手段と、前方向の探索ベクトルおよび後方向の探索ベクトルを供給され、第２の記憶手段に記憶された画素データのうちの、ブロックの位置から探索ベクトルだけ離れた位置の、ブロックと同一の大きさの範囲の画素データのうちの所定の数の画素データを選択する選択手段と、第１の記憶手段に記憶された所定の数の画素データと、選択手段により選択された所定の数の画素データとを比較する比較手段と、比較手段による比較の結果に基づいて前方向の動きベクトルおよび後方向の動きベクトルを検出する検出手段とを備えるようにして、第２の記憶手段に必要な記憶容量が増加するものの、他の構成要素を増加させることなく、前方向および後方向の動きベクトルを検出することができる動きベクトル検出装置を得ることを目的とする。
発明の開示
この発明に係る動きベクトル検出装置は、ブロックを構成する複数の画素パターンを構成する画素のデータを記憶する第１の記憶手段と、符号化されたフレームのうちの所定の範囲において所定の画素数おきの所定の数の画素でそれぞれ構成される複数の画素パターンにおける同一位置の画素のデータごとに、符号化されたフレームのうちの所定の範囲の画素のデータを記憶する第２の記憶手段と、所定の探索ベクトルを供給され、その所定の範囲においてその探索ベクトルで指定されたブロックにおける１つの画素パターンを選択する選択手段と、選択手段により選択された画素パターンと、その画素パターンと同一の、第１の記憶手段に記憶された画素パターンとを画素ごとに比較する比較手段と、比較手段による比較の結果に基づいて動きベクトルを検出する検出手段とを備えるものである。このことによって、各画素パターンについての比較結果がブロック全域についての比較結果に近似し、比較結果に必要とされる精度に応じて、必ずしもブロック全域を構成する画素パターンのすべてについて比較を実行する必要がなくなり、短時間で各ブロックについての比較結果が得られ、動きベクトルを短時間で検出することができるという効果が得られる。
この発明に係る動きベクトル検出装置は、ブロックを構成する複数の画素パターンまたは複数の分割ブロックを構成する画素のデータを記憶する第１の記憶手段と、符号化されたフレームのうちの所定の範囲を構成する複数の画素パターンまたは複数の分割ブロックにおける同一位置の画素のデータごとに、符号化されたフレームのうちの所定の範囲の画素のデータを記憶する第２の記憶手段と、動きベクトルの候補である複数の探索ベクトルを供給され、その所定の範囲において各探索ベクトルで指定されたブロックにおける同一の画素パターンまたは各分割ブロックを順次選択する選択手段と、選択手段により選択された画素パターンまたは分割ブロックと、その画素パターンまたは分割ブロックと同一の、第１の記憶手段に記憶された画素パターンまたは分割ブロックとを画素ごとに比較する比較手段と、１つの探索ベクトルについて比較手段による全画素パターンまたは全分割ブロックについての比較が完了する以前に、その時点までの画素パターンまたは分割ブロックについての比較結果に応じて、その探索ベクトルについての選択手段および比較手段による処理を中止させ、その探索ベクトルを動きベクトルの候補から削除する探索ベクトル絞込手段と、比較手段による比較の結果に基づいて動きベクトルの候補から動きベクトルを検出する検出手段とを備えるものである。このことによって、動きベクトルとならない可能性の高い探索ベクトルを打ち切り、動きベクトルを検出するまでの計算量を低減し、動きベクトルを短時間で検出することができるという効果が得られる。
この発明に係る動きベクトル検出装置によれば、探索ベクトル絞込手段は、複数の探索ベクトルについての同一の画素パターンまたは同一の分割ブロックごとに、その同一の画素パターンまたは同一の分割ブロックの比較が完了した後ごとに、所定の条件を満足する場合に複数の探索ベクトルのうちの少なくとも１つを動きベクトルの候補から削除する。このことによって、評価値の累積を打ち切るための処理が簡単になるという効果が得られる。
この発明に係る動きベクトル検出装置によれば、比較手段は、比較結果として評価値を算出し、探索ベクトル絞込手段は、各探索ベクトルについて複数の画素パターンでの評価値の累積値を計算し、複数の探索ベクトルについての評価値の累積値を昇順または降順に配列して記憶していき、その配列における評価値の順序に基づいて１または複数の探索ベクトルを動きベクトルの候補から削除する。このことによって、評価値の累積を打ち切る探索ベクトルを選択する際に、改めてすべての探索ベクトルについての評価値の累積値を参照する必要がなく、評価値の累積を打ち切る探索ベクトルの選択を迅速に実行することができるという効果が得られる。
この発明に係る動きベクトル検出装置によれば、比較手段は、比較結果として評価値を算出し、探索ベクトル絞込手段は、複数の探索ベクトルについての評価値の累積値において最小値または最大値の評価値に対応する探索ベクトルを選択し、選択した探索ベクトルについて評価値の累積を実行し、検出手段は、最小値または最大値の評価値の累積回数が所定の回数である場合、その探索ベクトルを動きベクトルとする。このことによって、動きベクトルとなる可能性の高い探索ベクトルについての評価値の累積がより進行していくため、より短時間で動きベクトルを検出することができるという効果が得られる。
この発明に係る動きベクトル検出装置によれば、探索ベクトル絞込手段は、複数の探索ベクトルについての評価値の累積値を昇順または降順に配列して記憶していき、その配列の先頭に対応する探索ベクトルを選択し、選択した探索ベクトルについて評価値の累積を実行し、複数の探索ベクトルについての評価値の累積値を昇順または降順に再配列し、配列の先頭の評価値の累積回数が所定の回数である場合、その探索ベクトルを動きベクトルとする。このことによって、次に評価値の累積を実行する探索ベクトルを選択する際に、単に配列の先頭の探索ベクトルを選択すればよく、各探索ベクトルについての評価値の累積値を参照する必要がなく、評価値の累積を打ち切る探索ベクトルの選択を迅速に実行することができるという効果が得られる。
この発明に係る動きベクトル検出装置は、ブロックを構成する画素データのうちの所定の数の画素データを記憶する第１の記憶手段と、符号化されたフレームのうち、前方向の動きベクトル検出用の第１の範囲内、および後方向の動きベクトル検出用の第２の範囲内の画素データを記憶する第２の記憶手段と、前方向の探索ベクトルおよび後方向の探索ベクトルを供給され、第２の記憶手段に記憶された画素データのうちの、ブロックの位置から探索ベクトルだけ離れた位置の、ブロックと同一の大きさの範囲の画素データのうちの所定の数の画素データを選択する選択手段と、第１の記憶手段に記憶された所定の数の画素データと、選択手段により選択された所定の数の画素データとを比較する比較手段と、比較手段による比較の結果に基づいて前方向の動きベクトルおよび後方向の動きベクトルを検出する検出手段とを備えるものである。このことによって、第２の記憶手段に必要な記憶容量が増加するものの、他の構成要素を増加させることなく、前方向および後方向の動くベクトルを検出することができるという効果が得られる。
発明を実施するための最良の形態
以下、この発明をより詳細に説明するために、この発明を実施するための最良の形態について、添付の図面に従って説明する。
実施の形態１．
第９図は、この発明の実施の形態１による動きベクトル検出装置の構成を示すブロック図である。第１０図は、第９図のサーチウィンドウメモリ部におけるメモリの入出力を制御する回路の一例を示すブロック図である。第１１図は、第９図の交換器の構成例を示すブロック図であり、第１２図は、第１１図の水平交換部におけるセレクタ部の構成例を示すブロック図であり、第１３図は、第１１図の垂直交換部におけるセレクタ部の構成例を示すブロック図である。
なお、この実施の形態１による動きベクトル検出装置は、リファレンスブロックが１６行１６列であり、リファレンスブロックが１６の画素パターンで構成される場合のものである。
第９図において、１は、Ｈ．２６１方式、ＭＰＥＧ方式などの画像処理方式においてフレーム間予測符号化により既に符号化されたフレームの画素データであって、現時点で符号化されるフレームにおける予測のための画素データを記憶する既符号フレームメモリである。なお、現時点で符号化されるフレームの予測においては、符号化されるフレームを分割した各ブロックに対する動きベクトルが検出される。すなわち、現時点において符号化されるフレームにおけるそのブロックの位置と、既に符号化されたフレームにおけるそのブロックに対応する範囲の位置との水平方向および垂直方向の距離が動きベクトルとして検出される。
２は、サーチウィンドウ内の、所定の画素数おきの所定の数の画素でそれぞれ構成される複数の画素パターンにおける同一位置の画素のデータごとに、符号化されたフレームのうちのサーチウィンドウを構成する画素のデータを記憶するサーチウィンドウメモリ部（第２の記憶手段、選択手段）である。
この実施の形態１におけるサーチウィンドウメモリ部２において、１１−（Ｉ，Ｊ）は、サーチウィンドウをリファレンスブロックと同一サイズに分割した各分割ブロックを構成する複数の画素パターンにおける同一位置の画素データを記憶するメモリである。例えば、サーチウィンドウのサイズが６４画素×３２画素であり、リファレンスブロックのサイズが１６画素×１６画素であり、縦横３画素おきの画素で各画素パターンが構成される場合には、サーチウィンドウがまず、縦２つ横４つの合計８つのブロックに分割され、その各ブロック（縦１６画素、横１６画素）における縦横４画素の１６の領域（Ｉ，Ｊ）（Ｉ＝０，・・・，３、Ｊ＝０，・・・，３）の画素データが、１６のメモリ１１−（Ｉ，Ｊ）にそれぞれ記憶される。
すなわち、この場合、各ブロックにおいて、ｐ（ｐ＝０，・・・，３）およびｑ（ｑ＝０，・・・，３）として、各画素パターンは、画素（５０＋ｐ，０＋ｑ）、画素（４＋ｐ，０＋ｑ）、画素（８＋ｐ，０＋ｑ）、画素（１２＋ｐ，０＋ｑ）、画素（０＋ｐ，４＋ｑ）、画素（４＋ｐ，４＋ｑ）、画素（８＋ｐ，４＋ｑ）、画素（１２＋ｐ，４＋ｑ）、画素（０＋ｐ，８＋ｑ）、画素（４＋ｐ，８＋ｑ）、画素（８＋ｐ，８＋ｑ）、画素（１２＋ｐ，８＋ｑ）、画素（０＋ｐ，１２＋ｑ）、画素（４＋ｐ，１２＋ｑ）、画素（８＋ｐ，１２＋ｑ）および画素（１２＋ｐ，１２＋ｑ）の１６の画素で構成される。これにより、１６のメモリ１１−（Ｉ，Ｊ）から、同時に、１６の画素で構成される画素パターンを構成する画素データを読み出すことが可能になる。
第１０図において、４１は、メモリ１１−（Ｉ，Ｊ）への画素データ書込み時に書込みアドレスを供給され、メモリ１１−（Ｉ，Ｊ）からの画素データ読出し時に読出しアドレスを供給され、書込み／検出切替信号の値に応じて、それらのアドレスのいずれかをメモリ１１−（Ｉ，Ｊ）に供給するセレクタである。４２は、メモリ１１−（０，０）〜１１−（３，３）から、１つの画素パターンを構成する画素データを同時に出力させる際のメモリ１１−（Ｉ，Ｊ）の読出しアドレスＡ（Ｉ，Ｊ）を式（１）に従って演算する読出しアドレス演算部である。
Ａ（Ｉ，Ｊ）＝（ｉｎｔ（（ｙ１＋１２−４×ｊ）／１６）×４＋ｍｏｄ（ｙ１，４））×１６＋ｉｎｔ（（ｘ１＋１２−４×ｉ）／１６）×４＋ｍｏｄ（ｘ１，４）　・・・（１）
ここで、ｘ１＝２４＋ｘ＋ｐ、ｙ１＝８＋ｙ＋ｑとし、（ｘ，ｙ）を探索ベクトルとする。なお、この式はサーチウィンドウの原点に対して動きが０である位置が（２４，８）である場合のものである。
第９図に戻り、３は、サーチウィンドウメモリ部２のメモリ１１−（０，０）〜１１−（３，３）に記憶された画素データのうちの、リファレンスブロックの位置から探索ベクトルだけ離れた位置の探索ブロックにおけるいずれかの画素パターンを構成する画素データを供給され、その画素パターンを構成する１６個の画素データを所定の順序に配列して評価部４の画素比較部１３−（Ｉ，Ｊ）にそれぞれ出力する交換器（選択手段）である。
第１１図に示す交換器３において、１４は、行Ｊごとにメモリ１１−（０，Ｊ）〜１１−（３，Ｊ）から画素データを供給され、内蔵のセレクタ部５１−（０，Ｊ）〜５１−（３，Ｊ）によりすべての画素データからそれぞれ１つの画素データを探索ベクトルの水平成分の値に応じて選択し、出力する水平交換部である。１５は、水平交換部１４のセレクタ部５１−（Ｉ，０）〜５１−（Ｉ，３）から、画素データを内蔵のセレクタ部５２−（Ｉ，０）〜５２−（Ｉ，３）に供給され、セレクタ部５２−（Ｉ，０）〜５２−（Ｉ，３）によりすべての画素データからそれぞれ１つの画素データを探索ベクトルの垂直成分の値に応じて選択し、出力する垂直交換部である。
第１２図に示すセレクタ部５１−（Ｉ，Ｊ）において、２１は、セレクタ部５１−（Ｉ，Ｊ）の番号Ｉ、探索ベクトルの水平成分ｘおよび画素パターンの水平方向のオフセットｐに基づいて式（２）に従って演算した値Ｓｈを有する選択信号を生成する選択信号生成部である。
Ｓｈ＝ｍｏｄ（ｉｎｔ（２４＋ｘ＋ｐ＋４×Ｉ）／４，４）　・・・（２）
２２は、選択信号生成部２１からの選択信号の値Ｓｈに応じてメモリ１１−（Ｓｈ，Ｊ）からの値を選択し、出力するセレクタである。
第１３図に示すセレクタ部５２−（Ｉ，Ｊ）において、２６は、セレクタ部５２−（Ｉ，Ｊ）の番号Ｊ、探索ベクトルの垂直成分ｙおよび画素パターンの垂直方向のオフセットｑに基づいて式（３）に従って演算した値Ｓｖを有する選択信号を生成する選択信号生成部である。
Ｓｖ＝ｍｏｄ（ｉｎｔ（８＋ｙ＋ｑ＋４×Ｊ）／４，４）　・・・（３）
２７は、選択信号生成部２６からの選択信号の値Ｓｖに応じてセレクタ部５１−（Ｉ，Ｓｖ）からの値を選択し、出力するセレクタである。
第９図に戻り、５は、現時点で符号化されるフレームの画素データを記憶する符号化フレームメモリである。
６は、現時点で符号化されるフレームを分割した１６行１６列のブロックのうちのいずれかのブロック（リファレンスブロック）を構成する複数の画素パターンにおける同一位置の画素のデータをそれぞれ記憶するメモリ１６−（Ｉ，Ｊ）を有するリファレンスメモリ部（第１の記憶手段）である。すなわち、メモリ１６−（Ｉ，Ｊ）は、画素パターンを構成する画素の数と同一の数だけ設けられ、リファレンスブロックがＭ個の画素パターンで構成される場合、各メモリ１６−（Ｉ，Ｊ）には、各画素パターンにおける同一位置のＭ個の画素データが記憶される。
４は、リファレンスメモリ部６の各メモリ１６−（Ｉ，Ｊ）（Ｉ＝０，・・・，３，Ｊ＝０，・・・，３）の画素データと、交換器３のセレクタ部５２−（Ｉ，Ｊ）からの画素データとをそれぞれ比較する画素比較部１３−（Ｉ，Ｊ）を有する評価部（比較手段）である。
８は、画素パターンのオフセット値の水平成分ｐおよび垂直成分ｑを所定の順番に従って順次選択していき、それらの値ｐ，ｑを、サーチウィンドウメモリ部２、交換器３およびリファレンスメモリ部６に供給するとともに、評価部４の各画素比較部１３−（Ｉ，Ｊ）の比較結果を画素パターンごとに一時的に蓄積し、ブロックを構成するすべての画素パターンに対する上記比較結果をまとめて動きベクトル検出部７に出力する画素パターン累積器（検出手段）である。
７は、画素パターン累積器８からの１ブロック分の比較結果に基づいて、サーチウィンドウメモリ部２および交換器３における次の探索ベクトルを設定し、最適な探索ベクトルを動きベクトルとして検出する動きベクトル検出部（検出手段）である。例えば、各画素比較部１３−（Ｉ，Ｊ）により２つの画素データの差を算出させ、リファレンスブロックにおけるそれらの差の絶対値の総和が最小であるときの探索ベクトルが動きベクトルとされる。
次に動作について説明する。
第１４図は、サーチウィンドウメモリ部における各画素データのアドレスとその各画素データが記憶されるメモリとの対応関係の一例、およびサーチウィンドウにおける画素パターンの一例を示す図である。第１５図は、リファレンスメモリ部における各画素データのアドレスとその各画素データが記憶されるメモリとの対応関係の一例、およびサーチウィンドウにおける画素パターンの一例を示す図である。第１６図は、画素パターンの選択順序の一例を示す図である。
サーチウィンドウメモリ部２は、複数の画素パターンにおける同一位置の画素のデータごとに、既符号フレームメモリ１における符号化されたフレームのうちのサーチウィンドウを構成する画素のデータを記憶する。すなわち、１つの画素パターンを構成する各画素は互いに異なるメモリ１１−（Ｉ，Ｊ）に記憶される。
例えば第１４図に示すように、サーチウィンドウメモリ部２におけるメモリ１１−（Ｉ，Ｊ）は、サーチウィンドウをリファレンスブロックと同一サイズに分割した各分割ブロックを構成する複数の画素パターンにおける同一位置の画素データを記憶する。この場合、第１４図に示すように、サーチウィンドウのサイズが６４画素×３２画素であり、リファレンスブロックのサイズが１６画素×１６画素であり、縦横３画素おきの画素で各画素パターンが構成される場合には、サーチウィンドウがまず、縦２つ横４つの合計８つのブロックに分割され、その各ブロック（縦１６画素、横１６画素）における縦横４画素の１６の領域（Ｉ，Ｊ）（Ｉ＝０，・・・，３、Ｊ＝０，・・・，３）の画素データが、１６のメモリ１１−（Ｉ，Ｊ）にそれぞれ記憶される。
そして、サーチウィンドウメモリ部２の読出しアドレス演算部４２は、画素パターン累積部８からの画素パターンのオフセット（ｐ，ｑ）および動きベクトル検出部７からの探索ベクトル（ｘ，ｙ）に基づいて、式（１）に従ってメモリ１１−（Ｉ，Ｊ）の読出しアドレスＡ（Ｉ，Ｊ）を演算し、セレクタ４１に供給する。画素データの読み出し時には、セレクタ４１を介して、その読み出しアドレスがメモリ１１−（Ｉ，Ｊ）に供給され、そのアドレスの画素データが交換器３に供給される。例えば第１４図には、探索ベクトルが（１９，−６）であり、オフセットが（２，１）である場合の画素パターンが示されている。
交換器３は、サーチウィンドウメモリ部２からの、画素パターンを構成する画素データを所定の順序に配列させて評価部４の画素比較部１３−（Ｉ，Ｊ）にそれぞれ出力する。
このとき、交換器３では、水平交換部１４が、まず、行Ｊごとにメモリ１１−（０，Ｊ）〜１１−（３，Ｊ）から画素データを供給され、内蔵のセレクタ部５１−（０，Ｊ）〜５１−（３，Ｊ）によりすべての画素データからそれぞれ１つの画素データを探索ベクトルの水平成分の値に応じて選択し、垂直交換部１５へ出力する。このとき、各セレクタ部５１−（Ｉ，Ｊ）においては、選択信号生成部２１により式（２）に従って演算された値Ｓｈを有する選択信号がセレクタ２２に供給され、セレクタ２２により、その選択信号の値Ｓｈに応じてメモリ１１−（Ｓｈ，Ｊ）からの値が選択される。
交換器３では次に、垂直交換部１５が、水平交換部１４のセレクタ部５１−（Ｉ，０）〜５１−（Ｉ，３）からの画素データを、内蔵の各セレクタ部５２−（Ｉ，Ｊ）によりすべての画素データからそれぞれ１つの画素データを探索ベクトルの垂直成分の値に応じて選択し、出力する。このとき、セレクタ部５２−（Ｉ，Ｊ）では、選択信号生成部２６により式（３）に従って演算された値Ｓｖを有する選択信号がセレクタ２７に供給され、セレクタ２７により、その選択信号の値Ｓｖに応じてセレクタ部５１−（Ｉ，Ｓｖ）からの値が選択される。
このようにして探索ベクトル（ｘ，ｙ）およびオフセット（ｐ，ｑ）に応じて選択された画素パターンを構成する画素のデータが評価部４に供給される。
一方、リファレンスメモリ部６は、符号化フレームメモリ５から、現時点で符号化されるフレームを分割した１６行１６列のブロックのうちのいずれかのブロック（リファレンスブロック）を構成する複数の画素パターンにおける同一位置の画素のデータをそれぞれ読み出し、内蔵のメモリ１６−（Ｉ，Ｊ）に記憶する。すなわち、１つの画素パターンを構成する各画素は互いに異なるメモリ１６−（Ｉ，Ｊ）に記憶される。そして、リファレンスメモリ部１６は、例えば第１５図に示すように、画素パターン累積器８からのオフセット（ｐ，ｑ）（第１５図の場合、ｐ＝２、ｑ＝１）で指定された画素パターンを、交換器３から評価部４への画素データの配列と同様の配列で、評価部４の画素比較部１３−（Ｉ，Ｊ）にそれぞれ出力する。
そして、評価部４は、リファレンスメモリ部６の各メモリ１６−（Ｉ，Ｊ）からの画素データと、交換器３のセレクタ部５２−（Ｉ，Ｊ）からの画素データとを画素比較部１３−（Ｉ，Ｊ）でそれぞれ比較し、その比較結果である評価値を画素パターン累積器８に供給する。このときの評価値は、例えば、リファレンスメモリ部６の各メモリ１６−（Ｉ，Ｊ）からの画素データと、交換器３のセレクタ部５２−（Ｉ，Ｊ）からの画素データとの差の絶対値の総和とされる。なお、このときの評価値を、両者の画素データとの差の２乗の総和としてもよい。
画素パターン累積器８は、画素パターンのオフセット値の水平成分ｐおよび垂直成分ｑを所定の順番に従って順次選択していき、それらの値ｐ，ｑを、サーチウィンドウメモリ部２、交換器３およびリファレンスメモリ部６に供給し、各オフセット値ｐ，ｑの場合に評価部４の各画素比較部１３−（Ｉ，Ｊ）からの評価値を累積し、各探索ベクトルについて、ブロックを構成するすべての画素パターンに対する評価値をまとめて動きベクトル検出部７に出力する。
このとき、画素パターン累積器８は、画素パターンのオフセット（ｐ，ｑ）を、例えば第１６図（ａ）に示すように、片寄りなく選択していく。これにより、３回選択されたオフセットに応じた３つの画素パターンは第１６図（ｂ）に示すようになる。
動きベクトル検出部７は、画素パターン累積器８からの１ブロック分の評価値に基づいて、サーチウィンドウメモリ部２および交換器３における次の探索ベクトルを設定し、最適な探索ベクトルを動きベクトルとして検出する。
以上のように、この実施の形態１によれば、リファレンスメモリ部６に、ブロックを構成する複数の画素パターンを構成する画素のデータを記憶し、サーチウィンドウメモリ部２に、符号化されたフレームのうちの所定のサーチウィンドウにおいて所定の画素数おきの所定の数の画素でそれぞれ構成される複数の画素パターンにおける同一位置の画素のデータごとに、そのサーチウィンドウにおける画素データを記憶し、動きベクトル検出部７からの探索ベクトルに応じてサーチウィンドウメモリ部２および交換器３により１つの画素パターンを選択し、評価部４により、その選択した画素パターンと、その画素パターンと同一の、リファレンスメモリ部６に記憶された画素パターンとを画素ごとに比較し、画素パターン累積器８により、複数の画素パターンについての評価部４による比較結果をまとめ、動きベクトル検出部７により、それらの比較の結果に基づいて動きベクトルを検出するようにしたので、ブロックにおける画素のうち、比較に使用される画素がブロック全域に分散しているため、各画素パターンについての比較結果がブロック全域についての比較結果に近似し、比較結果に必要とされる精度に応じて、必ずしもブロック全域を構成する画素パターンのすべてについて比較を実行する必要がなくなり、短時間で各ブロックについての比較結果が得られ、動きベクトルを短時間で検出することができるという効果が得られる。
第１７図は、分割ブロックにより使用される画素、および画素パターンにより使用される画素の一例を示す図である。すなわち、第１７図に示すように、従来のように分割ブロックについて比較を実行する場合（第１７図（ａ））には、ブロックにおいて局所的に画素データが参照されるが、この実施の形態１のように上述の画素パターンについて比較を実行する場合（第１７図（ｂ））には、ブロックにおいて均一的に画素データが参照される。
実施の形態２．
この発明の実施の形態２による動きベクトル検出装置は、１つの画素パターンについて複数の探索ベクトルでの評価値の累積を計算していき、評価値の累積値の小さい探索ベクトルについての評価値の累積を打ち切り、その探索ベクトルを動きベクトルの候補から削除するようにしたものである。
第１８図は、この発明の実施の形態２による動きベクトル検出装置の構成を示すブロック図である。第１８図において、７Ａは、動きベクトル検出部７と同様に動作する他、１つの探索ベクトルについて全画素パターンまたは全分割ブロックについての評価部４による評価値の算出が完了する以前に、その時点までの画素パターンについての評価値に応じて、その探索ベクトルについての交換器３および評価部４による処理を中止させ、その探索ベクトルを動きベクトルの候補から削除する動きベクトル検出部（検出手段、探索ベクトル絞込手段）である。
第１９図は、この実施の形態２における動きベクトル検出部７Ａおよび画素パターン累積器８の構成例を示すブロック図である。第１９図において、６１は評価部４からの評価値と、記憶手段６６からの過去の評価値の累積値とを加算する加算器であり、６６は各探索ベクトルについての評価値の累積回数および累積値を記憶するレジスタ、メモリなどの記憶手段であり、６７は各探索ベクトルについての評価値の累積回数および累積値に基づいて評価値の計算を打ち切る探索ベクトルを決定するシーケンサ、プロセッサなどの演算手段である。
なお、第１８図におけるその他の構成要素については実施の形態１によるものと同様であるので、その説明を省略する。
次に動作について説明する。
動きベクトル検出部７Ａは、探索ベクトルごとに全画素パターンに対する評価値の累積値を連続して計算させるのではなく、各画素パターンのオフセット（ｐ，ｑ）について探索ベクトル（ｘ，ｙ）を変化させて、各画素パターンのオフセット（ｐ，ｑ）で複数の探索ベクトルについて並行して計算させていく。
このとき、演算手段６７は、各画素パターンのオフセット（ｐ，ｑ）について探索ベクトル（ｘ，ｙ）を変化させて、そのオフセット（ｐ，ｑ）をサーチウィンドウメモリ部２、交換器３およびリファレンスメモリ部６に供給し、その探索ベクトル（ｘ，ｙ）をサーチウィンドウメモリ部２および交換器３に供給し、その探索ベクトルについての評価値の累積値を記憶手段６６から加算器６１へ供給させる。
そして、そのオフセットおよび探索ベクトルに対する評価値が評価部４から加算器６１に供給され、評価値の累積値が計算され、その値で記憶手段６６に記憶されている評価値の累積値が更新される。第２０図は記憶手段６６に記憶された各探索ベクトルについての評価値の累積回数と累積値などの一例を示す図である。
また、演算手段６７は、各探索ベクトルについての評価値の累積値に基づいて、評価値の累積を打ち切る探索ベクトルを選択し、選択した探索ベクトルについては以降の評価値の計算を実行させず、動きベクトルの候補から削除する。
なお、その他の構成要素の動作については実施の形態１によるものと同様であるので、その説明を省略する。
以上のように、この実施の形態２によれば、動きベクトル検出部８Ａは各画素パターンについて複数の探索ベクトルを順次選択し、各探索ベクトルに対して、その画素パターンでの画素ごとの比較を実行させ、１つの探索ベクトルについて全画素パターンの比較が完了する以前に、その時点までの画素パターンについての比較結果に応じて、その探索ベクトルについての以降の画素パターンについての比較を打ち切り、その探索ベクトルを動きベクトルの候補から削除し、残った探索ベクトルから比較の結果に基づいて動きベクトルを検出するようにしたので、動きベクトルとならない可能性の高い探索ベクトルを打ち切り、動きベクトルを検出するまでの計算量を低減し、動きベクトルを短時間で検出することができるという効果が得られる。
なお、ブロックを複数の画素パターンではなく従来の技術のように複数の分割ブロックに分割して、１つの分割ブロックについて複数の探索ベクトルでの評価値の累積を計算していき、評価値の累積値の低い探索ベクトルでの評価値の累積を打ち切り、その探索ベクトルを動きベクトルの候補から削除するようにしたも同様の効果が得られる。
実施の形態３．
この発明の実施の形態３による動きベクトル検出装置は、動きベクトル検出部７Ａの演算手段６７が、各累積回数において、各探索ベクトルについての評価値の累積値に基づいて、評価値の累積を打ち切る探索ベクトルを選択し、動きベクトルの候補から削除するようにしたものである。
なお、実施の形態３による動きベクトル検出装置の構成については、実施の形態２によるものと同様であるので、その説明を省略する。
次に動作について説明する。
第２１図は、実施の形態３における評価値の累積の打ち切りの一例を説明する図である。
動きベクトル検出部７Ａの演算手段６７は、まず、所定の数の探索ベクトルについての第１回目の評価値の累積の後、それらの探索ベクトルのうちの、評価値の小さいもの１６個以外のものを削除する。例えば第２１図においては、探索ベクトル（ｘ０，ｙ０）〜（ｘ１５，ｙ１５）以外の探索ベクトルについての評価値の累積が打ち切られる。
次に、動きベクトル検出部７Ａの演算手段６７は、その１６個の探索ベクトルについて第２回目の評価値の累積を実行させる。
そして第２回目から所定の第８回目までの各回数の評価値の累積の後に、演算手段６７は、評価値の累積を継続している探索ベクトルについての評価値の累積値の平均値の１．５倍以上の累積値となっている探索ベクトルについての評価値の累積を打ち切る。例えば第２１図においては、第２回目の評価値の累積の後、探索ベクトル（ｘ４，ｙ４）および探索ベクトル（ｘ７，ｙ７）についての評価値の累積が打ち切られ、第３回目の評価値の累積の後、探索ベクトル（ｘ１１，ｙ１１）、探索ベクトル（ｘ１３，ｙ１３）および探索ベクトル（ｘ１５，ｙ１５）についての評価値の累積が打ち切られ、第４回目の評価値の累積の後、探索ベクトル（ｘ１，ｙ１）、探索ベクトル（ｘ１２，ｙ１２）および探索ベクトル（ｘ１４，ｙ１４）についての評価値の累積が打ち切られ、第５回目の評価値の累積の後、探索ベクトル（ｘ９，ｙ９）についての評価値の累積が打ち切られる。
その後、第９回目以降の評価値の累積では、演算手段６７は、評価値の累積を継続している探索ベクトルのうち、評価値の累積値が最大である１つの探索ベクトルについての評価値の累積を打ち切る。ただし、評価値の累積を継続している探索ベクトルの数が２になった場合、探索ベクトルについての評価値の累積の打ち切りは実行しない。そして最後まで残った探索ベクトルのうち、評価値が最小であるものが動きベクトルとされる。
例えば第２１図においては、第９回目の評価値の累積の後、探索ベクトル（ｘ６，ｙ６）についての評価値の累積が打ち切られ、第１０回目の評価値の累積の後、探索ベクトル（ｘ０，ｙ０）についての評価値の累積が打ち切られ、第１１回目の評価値の累積の後、探索ベクトル（ｘ１０，ｙ１０）についての評価値の累積が打ち切られ、第１２回目の評価値の累積の後、探索ベクトル（ｘ２，ｙ２）についての評価値の累積が打ち切られ、第１３回目の評価値の累積の後、探索ベクトル（ｘ８，ｙ８）についての評価値の累積が打ち切られる。これにより、第２回目以降では、評価値の累積の処理は全体で１０１（＝１６＋１４＋１１＋８＋７＋７＋７＋７＋６＋５＋４＋３＋２＋２＋２）回で済む。
なお、その他の構成要素の動作については実施の形態２によるものと同様であるので、その説明を省略する。また、各累積回数における、評価値の累積の打ち切りの条件については上述の方法に限定されるものではなく、初回および最終回での探索ベクトルの数、条件を変更する累積回数などはもちろん変更してもよい。
以上のように、この実施の形態３によれば、動きベクトル検出部７Ａの演算手段６７が、各累積回数において、各探索ベクトルについての評価値の累積値に基づいて、評価値の累積を打ち切る探索ベクトルを選択し、動きベクトルの候補から削除するようにしたので、評価値の累積を打ち切るための処理が簡単になるという効果が得られる。
実施の形態４．
この発明の実施の形態４による動きベクトル検出装置は、実施の形態３による動きベクトル検出装置において、複数の探索ベクトルについての評価値の累積値を昇順または降順に配列して記憶していき、その配列における評価値の順序に基づいて１または複数の探索ベクトルを動きベクトルの候補から削除するようにしたものである。
第２２図は、実施の形態４における動きベクトル検出部７Ａおよび画素パターン累積器８Ａの記憶手段６６の構成を示すブロック図である。第２２図に示す動きベクトル検出部７Ａにおいて、７１−１〜７１−（ｎ＋１）は記憶手段６６としてのシフトレジスタを構成する（ｎ＋１）個（例えば１７個）の記憶部である。第２３図は、第２２図における各記憶部の構成例を示すブロック図である。第２３図に示す各記憶部７１において、８１はレジスタ８４に記憶された累積データのうちの累積値Ｅ（ｉ）と、画素パターン累積器８Ａからの累積データのうちの累積値Ｅ（ｎｅｗ）とを比較する比較器であり、８２は内蔵される記憶部７１−ｉの比較器８１からの比較結果、前段の記憶部７１−（ｉ−１）の比較器８１からの比較結果、および後段の記憶部７１−（ｉ＋１）の比較器８１からの比較結果に基づいて、前段の記憶部７１−（ｉ−１）からの累積データ、後段の記憶部７１−（ｉ＋１）からの累積データ、内蔵される記憶部７１−ｉの累積データ、画素パターン累積器８Ａからの新たな累積データ、および所定の最大値を累積値として有する累積データのいずれかを選択させるための選択信号を生成する制御回路であり、８３は制御回路８２からの選択信号に基づいていずれかの累積データを選択するセレクタであり、８４は累積データを記憶するレジスタである。
第２２図において、８Ａは評価部４から評価値を供給され、また記憶手段６６における第１番目の記憶部７１−１からの累積データを供給され、その累積データにおける評価値の累積値に評価部４からの評価値を累積して新たな累積データを生成し、各記憶部７１−ｉに供給する画素パターン累積器である。
なお、実施の形態４におけるその他の構成要素については、実施の形態２によるものと同様であるので、その説明を省略する。
次に動作について説明する。
初期状態としてまず演算手段６７は、各記憶部７１−ｉの制御回路８２を制御してセレクタ８３に所定の最大値を有する累積データを選択させ、レジスタ８４に選択させる。
次にｎ個の探索ベクトルについての第１回目の評価値の累積における動きベクトル検出部７Ａの動作について説明する。画素パターン累積器８Ａから、評価部４からの評価値、現在の探索ベクトルおよび累積回数（＝１）で構成される新たな累積データが記憶部７１−１〜７１−（ｎ＋１）の比較器８１およびセレクタ８３に供給される。
各記憶部７１−ｉの比較器８１は、レジスタ８４に記憶されている累積データのうちの累積値Ｅ（ｉ）と、画素パターン累積器８Ａからの累積データのうちの累積値Ｅ（ｎｅｗ）とを比較し、その比較結果、すなわち、Ｅ（ｉ）＞Ｅ（ｎｅｗ）であるか否かを制御回路８２、並びに、前段および後段の記憶部７１−（ｉ−１），７１−（ｉ＋１）の制御回路８２に供給する。
そして制御回路８２は、Ｅ（ｉ）＞Ｅ（ｎｅｗ）ではない場合、レジスタ８４の累積データを選択する選択信号を生成し、Ｅ（ｉ）＞Ｅ（ｎｅｗ）である場合であって、ｉ＞１についてＥ（ｉ−１）＞Ｅ（ｎｅｗ）ではない場合、画素パターン累積器８Ａからの新たな累積データを選択する選択信号を生成し、ｉ＞１についてＥ（ｉ−１）＞Ｅ（ｎｅｗ）である場合、前段の記憶部７１−（ｉ−１）のレジスタ８４からの累積データを選択する選択信号を生成する。制御回路８２は選択信号を生成するとセレクタ８３に供給する。セレクタ８３はその選択信号に応じてレジスタ８４からの累積データ、画素パターン累積器８Ａからの累積データおよび前段の記憶部７１−（ｉ−１），７１−（ｉ＋１）からの累積データのうちのいずれかを選択し、レジスタ８４に供給する。レジスタ８４は所定のクロック信号ＣＬＫに同期して、記憶している累積データを、供給された累積データで更新する。
これにより、第１回目の評価値の累積により、ｎ個の探索ベクトルについての評価値が記憶手段６６において昇順に記憶される。
次に第２回目以降の評価値の累積における動きベクトル検出部７Ａの動作について説明する。
第１番目の記憶部７１−１、すなわち累積値が最小である累積データを有する記憶部からその累積データが演算手段６７および画素パターン累積器８Ａに供給される。
そして、演算手段６７はその累積データにおける探索ベクトルおよび次の画素パターンを指定して、評価値を演算させる。その評価値が評価部４から供給されると、画素パターン累積器８Ａは、記憶手段６６からの累積データにおける評価値に、その評価部４からの評価値を累積し、累積回数を１だけ増加させて、新たな累積データを生成し、記憶手段６６の各記憶部７１−ｉに供給する。
このとき、演算手段６７は、記憶部７１−１〜７１−（ｎ＋１）の制御回路８２を制御して、第（ｎ＋１）番目の記憶部７１−（ｎ＋１）のレジスタ８４に、その新たな累積データを記憶させる。そして、演算手段６７は、記憶部７１−１〜７１−（ｎ＋１）のレジスタ８４に記憶された累積データをシフトさせ、記憶部７１−（ｉ＋１）（ｉ＝１，・・・，ｎ）のレジスタ８４に記憶された累積データを記憶部７１−ｉのレジスタ８４に記憶させる。
この時点では、記憶部７１−１〜７１−（ｎ−１）には、累積回数が１である累積データが記憶されており、記憶部７１−ｎには、累積回数が２である累積データが記憶されている。
次に、第１番目の記憶部７１−１から累積データ（累積回数が１である累積データのうちの累積値が最小であるもの）が演算手段６７および画素パターン累積器８Ａに供給される。
そして、演算手段６７はその累積データにおける探索ベクトルおよび次の画素パターンを指定して、評価値を演算させる。その評価値が評価部４から供給されると、画素パターン累積器８Ａは、記憶手段６６からの累積データにおける評価値に、その評価部４からの評価値を累積し、累積回数を１だけ増加させて、新たな累積データを生成し、記憶手段６６の各記憶部７１−ｉに供給する。
このとき、演算手段６７は、累積回数が２である累積データを記憶する記憶部７１−ｎの制御回路８２のみを動作させ、新たな累積値Ｅ（ｎｅｗ）がレジスタ８４の累積値Ｅ（ｎ）以上であるか否かを判断させ、新たな累積値Ｅ（ｎｅｗ）がレジスタ８４の累積値Ｅ（ｎ）以上である場合、記憶部７１−２〜７１−ｎのレジスタ８４の累積データを記憶部７１−１〜７１−（ｎ−１）のレジスタ８４に順次記憶させていき、新たな累積データを記憶部７１−ｎのレジスタ８４に記憶させる。一方、新たな累積値Ｅ（ｎｅｗ）がレジスタ８４の累積値Ｅ（ｎ）より小さい場合、演算手段６７は、記憶部７１−２〜７１−（ｎ−１）のレジスタ８４の累積データをシフトさせ、記憶部７１−１〜７１−（ｎ−２）のレジスタ８４に順次記憶させていき、新たな累積データを記憶部７１−（ｎ−１）のレジスタ８４に記憶させる。
この時点では、記憶部７１−１〜７１−（ｎ−２）には累積回数が１である累積データが記憶され、記憶部７１−（ｎ−１），７１−ｎには累積回数が２である累積データが記憶されている。
以下、第２回目の評価値の累積では、同様に、記憶部７１−１に順次シフトされてくる第ｍ番目の探索ベクトルについて、評価値が計算され、新たな累積データが生成され、演算手段６７は、累積回数が２である累積データを記憶する記憶部７１−（ｎ−ｍ＋１）〜７１−ｎの制御回路８２のみを動作させ、新たな累積値Ｅ（ｎｅｗ）がレジスタ８４の累積値Ｅ（ｊ）（ｊ＝ｎ−ｍ＋１，・・・，ｎ−１）以上であり、かつ新たな累積値Ｅ（ｎｅｗ）がレジスタ８４の累積値Ｅ（ｊ＋１）より小さい場合（また、新たな累積値Ｅ（ｎｅｗ）がレジスタ８４の累積値Ｅ（ｊ）（ｊ＝ｎ）以上である場合）、記憶部７１−２〜７１−ｊのレジスタ８４の累積データをシフトさせ、記憶部７１−１〜７１−（ｊ−１）のレジスタ８４に順次記憶させていき、新たな累積データを記憶部７１−ｊのレジスタ８４に記憶させる。この処理を第ｎ（ｍ＝ｎ）番目の探索ベクトルについてまで繰り返し実行した場合、第２回目の評価値の累積が完了し、記憶部７１−１〜７１−ｎに、累積回数が２であるｎ個の累積データが昇順に記憶された状態になる。
ここまでで、演算手段６７は、すべて（ｎ個）の探索ベクトルについての累積回数が１である累積データを供給されているので、それらの累積データにおける累積値に関して所定の条件を満たすか否かを判断して、評価値の累積を打ち切る探索ベクトルを決定する。評価値の累積を打ち切る探索ベクトルがある場合には、評価値の累積を打ち切る探索ベクトルの数をＤとすると、演算手段６７は、探索ベクトルの数ｎの値を値（ｎ−Ｄ）に更新する。
その後、第２回目の評価値の累積と同様にして第３回目以降の累積を実行する。
以上のように、この実施の形態４によれば、複数の探索ベクトルについての評価値の累積値を昇順または降順に配列して記憶していき、その配列における評価値の順序に基づいて１または複数の探索ベクトルを動きベクトルの候補から削除するようにしたので、評価値の累積を打ち切る探索ベクトルを選択する際に、改めてすべての探索ベクトルについての評価値の累積値を参照する必要がなく、評価値の累積を打ち切る探索ベクトルの選択を迅速に実行することができるという効果が得られる。
実施の形態５．
この発明の実施の形態５による動きベクトル検出装置は、複数の探索ベクトルについての評価部４による評価値の累積値において最小値または最大値の評価値に対応する探索ベクトルを選択し、選択した探索ベクトルについて評価値の累積を実行し、最小値または最大値の評価値の累積回数が所定の回数である場合、その探索ベクトルを動きベクトルの候補とするようにしたものである。
なお、実施の形態５による動きベクトル検出装置の構成については実施の形態２によるものと同様であり、動きベクトル検出部７Ａの動作のみが異なる。
次に動作について説明する。
第２４図は、実施の形態５における評価値の累積の順序の一例を示す図である。
動きベクトル検出部７Ａの演算手段６７は、まず、所定の数の探索ベクトルについての第１回目の評価値の累積の後、それらの探索ベクトルのうちの、評価値の小さいもの１６個以外のものを削除する。
次に、動きベクトル検出部７Ａの演算手段６７は、その１６個の探索ベクトルについて第２回目以降の評価値の累積を実行させる。
そして第２回目以降の評価値の累積では、演算手段６７は、１６個の探索ベクトルのうち、累積回数に拘わらず評価値の累積値が最小である探索ベクトルを選択し、その探索ベクトルについて次の画素パターンをオフセットで指定して評価値を計算させ、その評価値を累積し、評価値の累積値を更新する。
演算手段６７は、評価値の累積値が最小である探索ベクトルの累積回数が所定の回数（画素パターンの数と同数）である探索ベクトルが出現するまで、評価値の累積値が最小である探索ベクトルについて次の画素パターンの評価値を累積し、評価値の累積値を更新し、評価値の累積値が最小である探索ベクトルの累積回数が所定の回数（画素パターンの数）である探索ベクトルを動きベクトルとする。
例えば第２４図に示すように、括弧内に示す第２回目以降の評価値の累積における累積の順序で、評価値を計算する探索ベクトルが選択されていき、第９３番目に、画素パターン数と同数（＝１６）の累積回数である探索ベクトル（ｘ５，ｙ５）が、累積値が最小である探索ベクトルとして出現するので、この探索ベクトル（ｘ５，ｙ５）が動きベクトルとされる。これにより、第２回目以降では、評価値の累積の処理は全体で９３回で済む。
なお、その他の構成要素の動作については実施の形態２によるものと同様であるので、その説明を省略する。また、初回および第２回目の評価値の累積での探索ベクトルの数などはもちろん変更してもよい。また、ここでは、評価値が最小となる探索ベクトルを動きベクトルとしているが、評価値の計算のしかたによっては評価値が最大となる探索ベクトルが動きベクトルとされることもある。
以上のように、この実施の形態５によれば、複数の探索ベクトルについての評価部４による評価値の累積値において最小値または最大値の評価値に対応する探索ベクトルを選択し、選択した探索ベクトルについて評価値の累積を実行し、最小値または最大値の評価値の累積回数が所定の回数である場合、その探索ベクトルを動きベクトルの候補とするようにしたので、動きベクトルとなる可能性の高い探索ベクトルについての評価値の累積がより進行していくため、より短時間で動きベクトルを検出することができるという効果が得られる。また、常に累積値が最小である探索ベクトルが選択されるので、確実に、所定の累積回数で累積値が最小である探索ベクトルが動きベクトルとされる。
実施の形態６．
この発明の実施の形態６による動きベクトル検出装置は、実施の形態５による動きベクトル検出装置において、複数の探索ベクトルについての評価値の累積値を昇順または降順に配列して記憶していき、その配列の先頭に対応する探索ベクトルを選択し、選択した探索ベクトルについて評価値の累積を実行し、複数の探索ベクトルについての評価値の累積値を昇順または降順に再配列し、配列の先頭の評価値の累積回数が所定の回数である場合、その探索ベクトルを動きベクトルとするようにしたものである。
第２５図は、実施の形態６による動きベクトル検出装置における動きベクトル検出部７Ａの構成例を示すブロック図である。第２５図において、７１−１〜７１−ｎはｎ個（例えば１６個）の探索ベクトルについての評価値の累積値が昇順になるようにｎ個の累積データを記憶するシフトレジスタを構成するｎ個の記憶部であり、６７は記憶部７１−１の累積データにおける探索ベクトルについて評価値の累積を実行させ、複数の探索ベクトルについての評価値の累積値を昇順に再配列させ、配列の先頭の評価値の累積回数が所定の回数である場合、その探索ベクトルを動きベクトルとする演算手段である。
なお、実施の形態６による動きベクトル検出装置におけるその他の構成要素については実施の形態５によるものと同様であるので、その説明を省略する。また、記憶部７１−ｉは、第２３図に示す記憶部７１−ｉと同様である。
次に動作について説明する。
初期状態としてまず演算手段６７は、各記憶部７１−ｉの制御回路８２を制御してセレクタ８３に所定の最大値を有する累積データを選択させ、レジスタ８４に選択させる。
次に第１回目の評価値の累積の場合における動きベクトル検出部７Ａの動作について説明する。演算手段６７は、各探索ベクトルについて第１番目の画素パターンをオフセットで指定して第１回目の評価値を順次計算させる。各評価値は評価部４から画素パターン累積器８Ａに供給される。そして、画素パターン累積器８Ａから、評価部４からの評価値、現在の探索ベクトルおよび累積回数（＝１）で構成される新たな累積データが記憶部７１−１〜７１−ｎの比較器８１およびセレクタ８３に供給される。
各記憶部７１−ｉの比較器８１は、レジスタ８４に記憶されている累積データにおける累積値Ｅ（ｉ）と、画素パターン累積器８Ａからの累積データにおける累積値Ｅ（ｎｅｗ）とを比較し、その比較結果、すなわち、Ｅ（ｉ）＞Ｅ（ｎｅｗ）であるか否かを制御回路８２、並びに、前段および後段の記憶部７１−（ｉ−１），７１−（ｉ＋１）の制御回路８２に供給する。
そして制御回路８２は、Ｅ（ｉ）＞Ｅ（ｎｅｗ）ではない場合、レジスタ８４の累積データを選択する選択信号を生成し、Ｅ（ｉ）＞Ｅ（ｎｅｗ）である場合であって、ｉ＞１についてＥ（ｉ−１）＞Ｅ（ｎｅｗ）ではない場合、画素パターン累積器８Ａからの新たな累積データを選択する選択信号を生成し、ｉ＞１についてＥ（ｉ−１）＞Ｅ（ｎｅｗ）である場合、前段の記憶部７１−（ｉ−１）のレジスタ８４からの累積データを選択する選択信号を生成する。制御回路８２は選択信号を生成するとセレクタ８３に供給する。セレクタ８３はその選択信号に応じてレジスタ８４からの累積データ、画素パターン累積器８Ａからの累積データおよび前段の記憶部７１−（ｉ−１），７１−（ｉ＋１）からの累積データのうちのいずれかを選択し、レジスタ８４に供給する。レジスタ８４は所定のクロック信号ＣＬＫに同期して、記憶している累積データを、供給された累積データで更新する。
これにより、第１回目の評価値の累積により、ｎ個の探索ベクトルについての累積データが記憶手段６６において評価値（の累積値）の昇順に記憶される。
次に第２回目以降の評価値の累積の場合における動きベクトル検出部７Ａの動作について説明する。
第２回目以降の評価値の累積では、演算手段６７は、先頭の記憶部７１−１に記憶されている累積データ、すなわち累積値が最小である累積データにおける探索ベクトルについて次の画素パターンをオフセットで指定して次の評価値を計算させる。その評価値は評価部４から画素パターン累積器８Ａに供給される。そして、画素パターン累積器８Ａから新たな累積データが記憶部７１−１〜７１−ｎの比較器８１およびセレクタ８３に供給される。
各記憶部７１−ｉの比較器８１は、レジスタ８４に記憶されている累積データにおける累積値Ｅ（ｉ）と、画素パターン累積器８Ａからの累積データにおける累積値Ｅ（ｎｅｗ）とを比較し、その比較結果、すなわち、Ｅ（ｉ）＞Ｅ（ｎｅｗ）であるか否かを制御回路８２、並びに、前段および後段の記憶部７１−（ｉ−１），７１−（ｉ＋１）の制御回路８２に供給する。
そして記憶部７１−ｉ（ｉ＝１，・・・，ｎ−１）の制御回路８２は、Ｅ（ｉ＋１）＞Ｅ（ｎｅｗ）ではない場合、後段の記憶部７１−（ｉ＋１）からの累積データを選択する選択信号を生成し、Ｅ（ｉ）＞Ｅ（ｎｅｗ）ではなく、かつＥ（ｉ＋１）＞Ｅ（ｎｅｗ）である場合、画素パターン累積器８Ａからの新たな累積データを選択する選択信号を生成し、Ｅ（ｉ）＞Ｅ（ｎｅｗ）であり、かつＥ（ｉ＋１）＞Ｅ（ｎｅｗ）である場合、レジスタ８４の累積データを選択する選択信号を生成する。また記憶部７１−ｎの制御回路８２は、Ｅ（ｎ）＞Ｅ（ｎｅｗ）ではない場合、画素パターン累積器８Ａからの新たな累積データを選択する選択信号を生成する。制御回路８２は選択信号を生成するとセレクタ８３に供給する。セレクタ８３はその選択信号に応じてレジスタ８４からの累積データ、画素パターン累積器８Ａからの累積データおよび後段の記憶部７１−（ｉ＋１）からの累積データのうちのいずれかを選択し、レジスタ８４に供給する。レジスタ８４は所定のクロック信号ＣＬＫに同期して、記憶している累積データを、供給された累積データで更新する。
これにより、第２回目以降の評価値の累積では、累積値が最小である探索ベクトルについての評価値の累積が順次実行され、その探索ベクトルについての新たな累積データが記憶手段６６に供給され、その探索ベクトルの元の累積データが破棄され、新たな累積データを含めたｎ個の累積データが、累積値の昇順に配列される。
なお、その他の構成要素の動作については実施の形態５によるものと同様であるので、その説明を省略する。また、ここでは、評価値の累積値の昇順に累積データが配列されているが、評価値の計算のしかたによっては降順に配列される場合もある。
以上のように、この実施の形態６によれば、複数の探索ベクトルについての評価値の累積値を昇順または降順に配列して記憶していき、その配列の先頭に対応する探索ベクトルを選択し、選択した探索ベクトルについて評価値の累積を実行し、複数の探索ベクトルについての評価値の累積値を昇順または降順に再配列し、配列の先頭の評価値の累積回数が所定の回数である場合、その探索ベクトルを動きベクトルとするようにしたので、次に評価値の累積を実行する探索ベクトルを選択する際に、単に配列の先頭の探索ベクトルを選択すればよく、各探索ベクトルについての評価値の累積値を参照する必要がなく、評価値の累積を打ち切る探索ベクトルの選択を迅速に実行することができるという効果が得られる。
実施の形態７．
この発明の実施の形態７による動きベクトル検出装置は、ＭＰＥＧ２方式などのように双方向予測を実行する際に、符号化されたフレームのうちの、ブロックの位置から所定の行および所定の列の、前方向の動きベクトル検出用の第１のサーチウィンドウ、および後方向の動きベクトル検出用の第２のサーチウィンドウの画素のデータをサーチウィンドウメモリ部２に記憶し、上述と同様にして、前方向の動きベクトルおよび後方向の動きベクトルを検出するようにしたものである。
なお、実施の形態７による動きベクトル検出装置の構成については実施の形態１〜６のいずれかによるものと同様であるが、サーチウィンドウメモリ部２のメモリ１１−（Ｉ，Ｊ）には、前方向および後方向双方のサーチウィンドウにおける画素データが記憶される。
次に動作について説明する。
第２６図は前方向のサーチウィンドウおよび前方向の探索ブロックの一例を示す図である。第２７図は後方向のサーチウィンドウおよび後方向の探索ブロックの一例を示す図である。
例えば第２６図および第２７図に示すように、サーチウィンドウメモリ部２のメモリ１１−（Ｉ，Ｊ）には、前方向のサーチウィンドウにおける画素データが記憶され、その後のアドレスに、後方向のサーチウィンドウにおける画素データが記憶される。
そして、まず、前方向のサーチウィンドウにおいて前方向の動きベクトルが、上述の実施の形態１〜６のように探索され、検出される。その後に、後方向のサーチウィンドウにおいて後方向の動きベクトルが、上述の実施の形態１〜６のように探索され、検出される。
以上のように、この実施の形態７によれば、符号化されたフレームのうちの、ブロックの位置から所定の行および所定の列の、前方向の動きベクトル検出用の第１のサーチウィンドウ、および後方向の動きベクトル検出用の第２のサーチウィンドウの画素のデータをサーチウィンドウメモリ部２に記憶し、それらのデータから前方向の動きベクトルおよび後方向の動きベクトルを検出するようにしたので、サーチウィンドウメモリ部２に必要な記憶容量が増加するものの、他の構成要素を増加させることなく、前方向および後方向の動きベクトルを検出することができるという効果が得られる。
なお、実施の形態７は、上述の実施の形態１〜６のいずれかに適用されるものであるが、従来の動きベクトル検出装置に適用してもよい。
なお、上記のサーチウィンドウ、ブロックおよび画素パターンにおける画素の数、メモリ１１−（Ｉ，Ｊ），１６−（Ｉ，Ｊ）の数などは一例にすぎず、必要に応じて他の数としてもよい。
産業上の利用可能性
以上のように、この発明は、動き予測を実行する画像処理方式において動きベクトルを検出するのに適している。
【図面の簡単な説明】
第１図は、従来の動きベクトル検出装置の構成を示すブロック図である。
第２図は、第１図のサーチウィンドウメモリ部におけるメモリの入出力を制御する回路の一例を示すブロック図である。
第３図は、第１図の交換器の構成例を示すブロック図である。
第４図は、第３図の水平交換部におけるセレクタ部の構成例を示すブロック図である。
第５図は、第３図の垂直交換部におけるセレクタ部の構成例を示すブロック図である。
第６図は、第１図のリファレンスメモリ部におけるメモリの入出力を制御する回路の一例を示すブロック図である。
第７図は、サーチウィンドウおよび探索分割ブロックの一例を示す図である。
第８図は、実施の形態２における探索分割ブロックおよび探索分割ブロックの水平アドレスおよび垂直アドレスを示す図である。
第９図は、この発明の実施の形態１による動きベクトル検出装置の構成を示すブロック図である。
第１０図は、第９図のサーチウィンドウメモリ部におけるメモリの入出力を制御する回路の一例を示すブロック図である。
第１１図は、第９図の交換器の構成例を示すブロック図である。
第１２図は、第１１図の水平交換部におけるセレクタ部の構成例を示すブロック図である。
第１３図は、第１１図の垂直交換部におけるセレクタ部の構成例を示すブロック図である。
第１４図は、サーチウィンドウメモリ部における各画素データのアドレスとその各画素データが記憶されるメモリとの対応関係の一例、およびサーチウィンドウにおける画素パターンの一例を示す図である。
第１５図は、リファレンスメモリ部における各画素データのアドレスとその各画素データが記憶されるメモリとの対応関係の一例、およびサーチウィンドウにおける画素パターンの一例を示す図である。
第１６図は、画素パターンの選択順序の一例を示す図である。
第１７図は、分割ブロックにより使用される画素、および画素パターンにより使用される画素の一例を示す図である。
第１８図は、この発明の実施の形態２による動きベクトル検出装置の構成を示すブロック図である。
第１９図は、この実施の形態２における動きベクトル検出部および画素パターン累積部の構成例を示すブロック図である。
第２０図は、記憶手段に記憶された各探索ベクトルについての評価値の累積回数と累積値などの一例を示す図である。
第２１図は、実施の形態３における評価値の累積の打ち切りの一例を説明する図である。
第２２図は、実施の形態４における動きベクトル検出部および画素パターン累積器の記憶手段の構成を示すブロック図である。
第２３図は、第２２図における各記憶部の構成例を示すブロック図である。
第２４図は、実施の形態５における評価値の累積の順序の一例を示す図である。
第２５図は、実施の形態６による動きベクトル検出装置における動きベクトル検出部の構成例を示すブロック図である。
第２６図は、前方向のサーチウィンドウおよび前方向の探索ブロックの一例を示す図である。
第２７図は、後方向のサーチウィンドウおよび後方向の探索ブロックの一例を示す図である。
【図１】
2002037860.tif 000003
【図２】
2002037860.tif 000004
【図３】
2002037860.tif 000005
【図４】
2002037860.tif 000006
【図５】
2002037860.tif 000007
【図６】
2002037860.tif 000008
【図７】
2002037860.tif 000009
【図８】
2002037860.tif 000010
【図９】
2002037860.tif 000011
【図１０】
2002037860.tif 000012
【図１１】
2002037860.tif 000013
【図１２】
2002037860.tif 000014
【図１３】
2002037860.tif 000015
【図１４】
2002037860.tif 000016
【図１５】
2002037860.tif 000017
【図１６】
2002037860.tif 000018
【図１７】
2002037860.tif 000019
【図１８】
2002037860.tif 000020
【図１９】
2002037860.tif 000021
【図２０】
2002037860.tif 000022
【図２１】
2002037860.tif 000023
【図２２】
2002037860.tif 000024
【図２３】
2002037860.tif 000025
【図２４】
2002037860.tif 000026
【図２５】
2002037860.tif 000027
【図２６】
2002037860.tif 000028
【図２７】
2002037860.tif 000029
【国際調査報告】
2002037860.tif 000030
2002037860.tif 000031
2002037860.tif 000032
2002037860.tif 000033