(57)【要約】【課題】高速メモリの容量を削減できてフレームメモリに対するアクセス量を低減することができるうえに、中間結果保存メモリの容量が小さくて、１符号化ブロックに対する参照画素データを重複して読みだす必要がなく、動きベクトル検索範囲の広さに関わらず効果がある動き検出方法を提供する。【解決手段】符号化ブロックと参照ブロックの類似度を評価して動画像の画面間の動きを検出する動き検出方法において、所定の横方向の符号化ブロックライン１０４について符号化する際に、そのライン１０４から決まる所定の大きさの矩形枠１０５を横方向に移動させながら、矩形枠１０５内の各参照ブロックを参照対象とする符号化ブロックライン１０４の所定の符号化ブロック全てについて、矩形枠１０５内の参照ブロックとの間で類似度評価を行い（１０８）、最も高い類似度評価値を持つ参照ブロックに基いて動きベクトルを算出する（１１１）。【選択図】  図１
2004165803.tif 000002
【特許請求の範囲】
【請求項１】
符号化画像を複数の符号化ブロックに分割し、各符号化ブロックと各符号化ブロックに対応して参照画像内に設定する動きベクトル検索範囲の参照ブロックとの間で類似度を評価して動画像の画面間の動きを検出する動き検出方法において、
所定の一または複数の横方向の符号化ブロックのラインについて符号化する際に、そのラインから決まる上辺と下辺を持つ所定の大きさの矩形枠をその符号化ブロックのラインに沿って横方向に移動させながら、
各矩形枠毎にその矩形枠内の各参照ブロックを参照対象とする符号化ブロックのラインの所定の符号化ブロック全てについて、その矩形枠内の参照ブロックとの間で類似度評価を行い、
各符号化ブロック毎に得られた最も高い類似度評価値を持つ参照ブロックに基いて動きベクトルを算出する動き検出方法であって、
前記矩形枠の上辺位置は前記一または複数の符号化ブロックのラインのうち最も上の符号化ラインから前記動きベクトル検索範囲で決まる所定の位置で、下辺位置は前記一または複数の符号化ブロックのラインのうち最も下の符号化ラインから前記動きベクトル検索範囲で決まる所定の位置であり、前記矩形枠の横幅は一の符号化ブロックの横幅以上で符号化画像の横幅未満である動き検出方法。
【請求項２】
前記矩形枠の横幅を前記動きベクトル検索範囲に含まれる候補ブロック範囲よりも小さくし、
前記矩形枠の移動のさせ方は前記矩形枠の一の符号化ブロックの横幅分を重ねながら不連続に横方向に移動することとする、請求項１に記載の動き検出方法。
【請求項３】
各符号化ブロック毎に１個ずつ中間結果記憶バッファが用意されており、参照ブロックとの類似度評価を行う毎に、より大きい方の結果を残す、請求項１に記載の動き検出方法。
【請求項４】
前記矩形枠内の参照画素データを第１のメモリに格納し、その矩形枠内の各参照ブロックを参照対象とする符号化ブロックのラインの所定の符号化ブロック全てを第２のメモリに格納し、前記第１のメモリに格納された参照ブロックと前記第２のメモリに格納された符号化ブロックとの間での類似度評価を行い、前記矩形枠を横方向に移動して移動先で同様の処理を行うにおいて、
次の移動先での類似度評価のために追加が必要な参照画素データを前記第１のメモリの次の移動先での類似度評価のために必要でない参照画素データが格納されているアドレスに上書きし、
次の移動先での類似度評価のために追加が必要な符号化ブロックを前記第２のメモリの次の移動先での類似度評価のために必要でない符号化ブロックが格納されているアドレスに上書きする、請求項１乃至３のいずれか１項に記載の動き検出方法。
【請求項５】
前記第１のメモリは少なくとも前記矩形枠内の参照画素データに加えて矩形枠の次の横方向への移動先で新たに読み込む参照画素データ分の容量を持ち、
前記第２のメモリは少なくとも前記矩形枠内の各参照ブロックを参照対象とする符号化ブロックのラインの所定の符号化ブロック全てに加えて前記矩形枠の次の横方向への移動先で新たに類似度評価が可能となる所定の一または複数の横方向の符号化ブロックのラインにある符号化ブロック分の容量を持ち、
前記第１のメモリに格納された参照ブロックと前記第２のメモリに格納された符号化ブロックとの間でできる類似度評価を行っている間に、前記矩形枠の次の移動先での類似度評価のために追加が必要な参照画素データを前記第１のメモリの空きアドレスに格納し、
次の移動先での類似度評価のために追加が必要な符号化ブロックを前記第２のメモリの空きアドレスに格納する、請求項１乃至３のいずれか１項に記載の動き検出方法。
【請求項６】
前記参照画素データの矩形枠が参照画像の画面上で右横方向に移動させて右端に到達した場合あるいは左横方向に移動させて左端に到達した場合に、次の矩形枠の移動先を所定の一または複数の横方向の符号化ブロックのラインの縦のブロック数分下げた位置あるいは上げた位置とし、以降矩形枠の移動方向をそれまでとは逆方向の左横方向あるいは右横方向に移動させる場合、
前記第１のメモリは少なくとも前記矩形枠内の参照画素データに加えて矩形枠の次の上下方向への移動先で新たに読み込む参照画素データ分の容量を持ち、
前記第２のメモリは少なくとも前記矩形枠内の各参照ブロックを参照対象とする符号化ブロックのラインの所定の符号化ブロック全ての２倍の容量を持ち、
前記第１のメモリに格納された参照ブロックと前記第２のメモリに格納された符号化ブロックとの間でできる類似度評価を行っている間に、前記矩形枠の次の移動先での類似度評価のために追加が必要な参照画素データを前記第１のメモリの空きアドレスに格納し、次の移動先での類似度評価のために必要な符号化ブロックを前記第２のメモリの空きアドレスに格納する、請求項５項に記載の動き検出方法。
【請求項７】
前記第１のメモリおよび前記第２のメモリは、複数のメモリあるいは同一アドレスに対する部分書き込みと部分読みだしとが同時に行えるメモリで構成される、請求項５または６に記載の動き検出方法。
【請求項８】
符号化画像を複数の符号化ブロックに分割し、各符号化ブロックと各符号化ブロックに対応して参照画像内に設定する動きベクトル検索範囲の参照ブロックとの間で類似度を評価して動画像の画面間の動きを検出する動き検出装置であって、
符号化対象画像データを記憶する手段と、
参照画像データを記憶する手段と、
前記符号化対象画像データを格納する第１のメモリと、前記参照画像データを記憶する第２のメモリと、
前記矩形枠に含まれる参照画素データを前記第２のメモリから読み出して記憶する手段と、
前記矩形枠内の参照ブロックが縦の動きベクトル検索範囲の全てを含む符号化ブロック全てを前記第１のメモリから読み出して記憶する手段と、
前記第２のメモリから読み出した前記矩形枠に含まれる参照画素データを格納する第３のメモリと、
前記第１のメモリから読み出した前記矩形枠内の参照ブロックが縦の動きベクトル検索範囲の全てを含む符号化ブロック全てを格納する第４のメモリと、
前記第３のメモリ内の参照ブロックと前記第４のメモリ内の符号化ブロックとの間で類似度を評価して類似度評価値を求める類似度評価手段と、
各符号化ブロック毎に得られた最も高い類似度評価値を持つ参照ブロックに基いて動きベクトルを算出する手段と、
前記類似度評価手段における類似度評価の中間結果を格納する第５のメモリとを備え、
所定の一または複数の横方向の符号化ブロックのラインについて符号化する際に、そのラインから決まる上辺と下辺を持つ所定の大きさの矩形枠をその符号化ブロックのラインに沿って横方向に移動させながら、各矩形枠毎にその矩形枠内の各参照ブロックを参照対象とする符号化ブロックのラインの所定の符号化ブロック全てについて、その矩形枠内の参照ブロックとの間で類似度評価を行い、各符号化ブロック毎に得られた最も高い類似度評価値を持つ参照ブロックに基いて動きベクトルを算出する、動き検出装置。
【請求項９】
請求項１記載の動き検出方法の、
所定の一または複数の横方向の符号化ブロックのラインについて符号化する際に、
そのラインから決まる上辺と下辺を持つ所定の大きさの矩形枠をその符号化ブロックのラインに沿って横方向に移動させるステップと、
各矩形枠毎にその矩形枠内の各参照ブロックを参照対象とする符号化ブロックのラインの所定の符号化ブロック全てについて、その矩形枠内の参照ブロックとの間で類似度評価を行うステップと、
各符号化ブロック毎に得られた最も高い類似度評価値を持つ参照ブロックに基いて動きベクトルを算出するステップとをコンピュータに実行させるためのプログラム。
【請求項１０】
請求項９記載のプログラムを担持した媒体であって、コンピュータにより処理可能なことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、高能率符号化等に用いられる動き検出方法およびその方法を実施する動き検出装置等に関するものである。
【０００２】
【従来の技術】
近年、動画像の高能率符号化方法として、ＭＰＥＧ２等で採用されている動き補償予測方式が用いられている。動き補償予測方式は、符号化の対象となる符号化画像フレームの輝度データをＭ×Ｎ画素のブロック（符号化ブロック）に分割し、各符号化ブロックについて時間的に異なる他フレーム（参照画像フレーム）の輝度データにおけるＭ×Ｎ画素のブロック（候補ブロック）との対応画素間における差分二乗総和を評価値とし、その評価値が最小となる候補ブロック（予測ブロック）を予め設定した検索範囲内で検索し、その位置への動き量（動きベクトル）および輝度データ同士の差分および対応する色差データ同士の差分を出力するものである。このような動き検出方法をブロックマッチング方式という。ここで、評価値は差分二乗総和以外のものでもよく、例えば差分絶対値総和を評価値としてもよい。
【０００３】
ＬＳＩにて実現するブロックマッチング方式による動き検出方法では、符号化画像フレームおよび参照画像フレームを外付けのメモリに保存しておき、符号化画像フレームの符号化する符号化ブロックおよび対応する参照画像フレームの候補ブロック全てをＬＳＩ内部の高速メモリに読み込んで、全候補ブロックでの評価値を順次演算して予測ブロックを検索する方法が考えられる。しかしながらその方法では、符号化ブロック毎に対応する参照画像フレームの候補ブロック全てを外付けのメモリから毎度読み込むので、参照画像フレームを何度も外付けメモリから読み込むことになり、外付けメモリに対するアクセス量が非常に多くなって消費電力が増加してしまう。また、符号化ブロックに対応する参照画像フレームの候補ブロック全てをＬＳＩ内部の高速メモリに読み込むので、必要とされる高速メモリの容量が大きくなってしまう。
【０００４】
この問題を解決する方法としては、例えば特許文献１に開示されているものがある。以下に、特許文献１に開示されている動き検出方法について説明する。
【０００５】
図１０は、従来の動き検出方法を実現する動き検出装置の構成を示すブロック図である。
【０００６】
フレームメモリ１００１は、フレームメモリ制御回路１００２から与えられるアドレス情報に従って書き込み／読みだし動作を行う。符号化ブロック１個記憶用高速メモリ１００３は、符号化ブロック１個記憶用メモリ制御回路１００４から与えられるアドレス情報に従って書き込み／読みだし動作を行う。参照画素データ分割記憶用高速メモリ１００５は、参照画素データ分割記憶用メモリ制御回路１００６から与えられるアドレス情報に従って書き込み／読みだし動作を行う。中間結果保存メモリ１００９は、保存メモリ制御回路１０１０から与えられるアドレス情報に従って書き込み／読みだし動作を行う。
【０００７】
フレームメモリ１００１は、フレームメモリ制御回路１００２から与えられる書き込みアドレスに従って入力画像を書き込んで保存する。ここで、入力画像は、これから符号化しようとする符号化画像および動き検出のために参照される参照画像である。
【０００８】
フレームメモリ１００１には、これから符号化する符号化画像内の符号化ブロックの読みだしアドレスがフレームメモリ制御回路１００２から与えられ、これに基づいてフレームメモリ１００１から符号化ブロックが読みだされる。読みだされた符号化ブロックは、符号化ブロック１個記憶用メモリ制御回路１００４から与えられる書き込みアドレスに従って符号化ブロック１個記憶用高速メモリ１００３に書き込まれて保存される。
【０００９】
また、フレームメモリ１００１には、読みだした符号化ブロックに対する参照画像内の検索範囲の垂直をＺ分割した分割領域のうちのｉ番目の分割領域を読みだすための読みだしアドレスがフレームメモリ制御回路１００２から与えられ、これに基づいてフレームメモリ１００１から参照画素データが読みだされる。読みだされた参照画素データは、参照画素データ分割記憶用メモリ制御回路１００６から与えられる書き込みアドレスに従って参照画素データ分割記憶用高速メモリ１００５に書き込まれて保存される。
【００１０】
符号化ブロック１個記憶用高速メモリ１００３には、符号化ブロックを読みだすための読みだしアドレスが符号化ブロック１個記憶用メモリ制御回路１００４から与えられ、これに基づいて符号化ブロック１個記憶用高速メモリ１００３から符号化ブロックが読みだされる。読みだされた符号化ブロックは、動き検出用ブロックマッチング回路１００７に入力される。
【００１１】
参照画素データ分割記憶用高速メモリ１００５には、候補ブロックを読みだすための読みだしアドレスが参照画素データ分割記憶用メモリ制御回路１００６から与えられ、これに基づいて参照画素データ分割記憶用高速メモリ１００５から候補ブロックが読みだされる。読みだされた候補ブロックは、動き検出用ブロックマッチング回路１００７に入力される。
【００１２】
動き検出用ブロックマッチング回路１００７は、入力した符号化ブロックと候補ブロックの間でブロックマッチングを行い、類似度を評価して類似度評価値および動きベクトルに対応する値を類似度評価回路１００８に出力する。
【００１３】
類似度評価回路１００８は、中間結果保存メモリ１００９に保存されている最も類似度が高かった類似度評価値と、動き検出用ブロックマッチング回路１００７から入力される類似度評価値の類似度を比較する。この比較の結果、中間結果保存メモリ１００９に保存されている類似度評価値に対して動き検出用ブロックマッチング回路１００７から入力された類似度評価値の類似度が低ければ中間結果保存メモリ１００９の結果は変化させず、動き検出用ブロックマッチング回路１００７から入力された類似度評価値の類似度が高ければ中間結果保存メモリ１００９へ動き検出用ブロックマッチング回路１００７から入力された類似度評価値および動きベクトルに対応する値を保存する。
【００１４】
Ｚ分割された当該符号化ブロックの評価が終了すると、次の水平方向に隣接する符号化ブロックに移動し、上述の処理を行う。
【００１５】
水平１ブロックラインの符号化ブロックの移動が終了すると、Ｚ分割した分割領域のうちの（ｉ＋１）番目の分割領域に対して同様の処理を行う。
【００１６】
全ての分割領域に対して処理が終了すると、中間結果保存メモリ１００９に保存された動きベクトルに対応する値が動きベクトル量算出回路１０１１に入力され、動きベクトルが算出されて出力される。
【００１７】
以上のように構成された従来の動き検出装置において、第１の処理手順を図面を参照しながら説明する。
【００１８】
図２は、符号化ブロックと動きベクトル検索範囲と候補ブロックの位置関係を示す図である。
【００１９】
図２において、ｅおよびｆは符号化ブロックＶ（太斜線）の画面上位置を示すインデックスであり、ｅは縦位置を示しており画面上の最も上が０、ｆは横位置を示しており画面上の最も左が０である。動きベクトル検索範囲（細斜線）は符号化ブロックＶ（ｅ，ｆ）に対して参照フレーム上に設定した動きベクトルの検索範囲である。その動きベクトル検索範囲に対応する候補ブロックが、符号化ブロックＶ（ｅ，ｆ）に対して、上下にＳブロックづつ、左右にＲブロックづつの範囲に渡るものとする。
【００２０】
図１１は、従来の動き検出装置における第１の処理手順を示すフローチャートである。
【００２１】
まず、符号化ブロックＶの縦位置を示すインデックスｅを０に初期化する（ステップＳ１１０１）。次に、Ｚ分割した動き検索範囲の各分割領域のインデックスを示す値ｉを０に初期化する（ステップＳ１１０２）。次に、符号化ブロックＶの横位置を示すインデックスｆを０に初期化する（ステップＳ１１０３）。
【００２２】
次に、ｉ（＝０）番目の分割領域に対して動きベクトルの評価を行うため、フレームメモリ１００１から符号化ブロックＶ（ｅ，ｆ）と参照画素データを読みだす（ステップＳ１１０４〜Ｓ１１０５）。図１２に、動きベクトル検索範囲の垂直を２分割した場合のｉ＝０におけるある符号化ブロックＶ（ｅ，ｆ）と参照画素の関係を示す。
【００２３】
次に、動き検出用ブロックマッチング回路１００７により、各動きベクトル候補点に対してブロックマッチング演算を行って類似度評価値を算出し（ステップＳ１１０６）、中間結果保存メモリ１００９に保存されている符号化ブロックＶ（ｅ，ｆ）に対する類似度評価値と比較する（ステップＳ１１０７）。ここで、中間結果保存メモリ１００９に保存されている符号化ブロックＶ（ｅ，ｆ）に対する類似度評価値に対して、ステップＳ１１０６で算出された動きベクトル候補点の類似度評価値の方が高ければ、後者の類似度評価値と動きベクトルに対応する値を中間結果保存メモリ１００９に保存して中間結果保存メモリ１００９の内容を更新し（ステップＳ１１０８）、低ければ何もせずに次の処理に移る。
【００２４】
次に、ｉ番目の分割領域内に含まれる全ての動きベクトル候補点の類似度評価が終了しているかどうかを判断し（ステップＳ１１０９）、終了していなければ次の候補点の処理に移ってステップＳ１１０６〜Ｓ１１０８の処理を繰り返し、終了していれば次の符号化ブロックＶ（ｅ，ｆ＋１）の処理に移る（ステップＳ１１１０）。すなわち、次に、フレームメモリ１００１から符号化ブロックＶ（ｅ，ｆ＋１）と参照画素データを読みだす（ステップＳ１１０４〜Ｓ１１０５）。図１３に、符号化ブロックＶ（ｅ，ｆ＋１）と参照画素の関係を示す。参照画素データ分割記憶用高速メモリ１００５内に符号化ブロックＶ（ｅ，ｆ）の参照画素がキャッシングされているため、符号化ブロックＶ（ｅ，ｆ＋１）の処理のために新規にフレームメモリ１００１から読み込むデータは図１３中の斜線部だけで良い。
【００２５】
次に、動き検出用ブロックマッチング回路１００７により、各動きベクトル候補点に対してブロックマッチング演算を行って類似度評価値を算出し（ステップＳ１１０６）、中間結果保存メモリ１００９に保存されている符号化ブロックＶ（ｅ，ｆ＋１）に対する類似度評価値と比較する（ステップＳ１１０７）。ここで、中間結果保存メモリ１００９に保存されている符号化ブロックＶ（ｅ，ｆ＋１）に対する類似度評価値に対して、ステップＳ１１０６で算出された動きベクトル候補点の類似度評価値の方が高ければ、後者の類似度評価値と動きベクトルに対応する値を中間結果保存メモリ１００９に保存して中間結果保存メモリ１００９の内容を更新し（ステップＳ１１０８）、低ければ何もせずに次の処理に移る。
【００２６】
次に、ｉ番目の分割領域内に含まれる全ての動きベクトル候補点の類似度評価が終了しているかどうかを判断し（ステップＳ１１０９）、終了していなければ次の候補点の処理に移ってステップＳ１１０６〜Ｓ１１０８の処理を繰り返し、終了していれば次の符号化ブロックＶ（ｅ，ｆ＋２）の処理に移る（ステップＳ１１１０）。
【００２７】
以下、符号化ブロックＶの位置を水平方向に移動しながら、画面の右端になるまで、つまりステップＳ１１１１でブロックラインが終了したと判断されるまで同様の処理を行う。符号化ブロックＶの位置が画面の右端に来たら、分割領域のインデックスｉをインクリメントし（ステップＳ１１１２）、ｉ＝１の分割領域に対する動き検索を行う。まず、符号化ブロックＶの横位置を示すインデックスｆを０に初期化する（ステップＳ１１０３）。次に、ｉ（＝１）番目の分割領域に対して動きベクトルの評価を行うため、フレームメモリ１００１から符号化ブロックＶ（ｅ，ｆ）と参照画素データを読みだす（ステップＳ１１０４〜Ｓ１１０５）。図１４に、動きベクトル検索範囲の垂直を２分割した場合のｉ＝１におけるある符号化ブロックＶ（ｅ，ｆ）と参照画素の関係を示す。
【００２８】
次に、動き検出用ブロックマッチング回路１００７により、各動きベクトル候補点に対してブロックマッチング演算を行って類似度評価値を算出し（ステップＳ１１０６）、中間結果保存メモリ１００９に保存されている符号化ブロックＶ（ｅ，ｆ）に対する類似度評価値と比較する（ステップＳ１１０７）。ここで、中間結果保存メモリ１００９に保存されている符号化ブロックＶ（ｅ，ｆ）に対する類似度評価値に対して、ステップＳ１１０６で算出された動きベクトル候補点の類似度評価値の方が高ければ、後者の類似度評価値と動きベクトルに対応する値を中間結果保存メモリ１００９に保存して中間結果保存メモリ１００９の内容を更新し（ステップＳ１１０８）、低ければ何もせずに次の処理に移る。
【００２９】
次に、ｉ番目の分割領域内に含まれる全ての動きベクトル候補点の類似度評価が終了しているかどうかを判断し（ステップＳ１１０９）、終了していなければ次の候補点の処理に移ってステップＳ１１０６〜Ｓ１１０８の処理を繰り返し、終了していれば次の符号化ブロックＶ（ｅ，ｆ＋１）の処理に移る（ステップＳ１１１０）。すなわち、次に、フレームメモリ１００１から符号化ブロックＶ（ｅ，ｆ＋１）と参照画素データを読みだす（ステップＳ１１０４〜Ｓ１１０５）。図１５に、符号化ブロックＶ（ｅ，ｆ＋１）と参照画素の関係を示す。参照画素データ分割記憶用高速メモリ１００５内に符号化ブロックＶ（ｅ，ｆ）の参照画素がキャッシングされているため、符号化ブロックＶ（ｅ，ｆ＋１）の処理のために新規にフレームメモリ１００１から読み込むデータは図１５中の斜線部だけで良い。
【００３０】
以下、符号化ブロックＶの位置を水平方向に移動しながら、画面の右端になるまで、つまりステップＳ１１１１でブロックラインが終了したと判断されるまで同様の処理を行う。符号化ブロックＶの位置が画面の右端に来たら、分割領域のインデックスｉをインクリメントする（ステップＳ１１１２、この場合ｉ＝２となる）。
【００３１】
本従来例では、動き検索範囲の分割数Ｚは２であり、ステップＳ１１１３でｉ＝Ｚが成立するため、中間結果保存メモリ１００９に保存された動きベクトルに対応する値から動きベクトル量算出回路１０１１で動きベクトルの値を算出して出力する（ステップＳ１１１４）。
【００３２】
次に、符号化ブロックＶの縦位置を示すインデックスｅをインクリメントして処理するブロックラインを１ブロックライン下げる（ステップＳ１１１５）。そして画面内の全てのブロックラインの処理が終了したかを判断し（ステップＳ１１１６）、終了していなければ分割領域のインデックスｉを０に初期化して（ステップＳ１１０２）、画面内の全ての符号化ブロックＶの処理が終了するまで同様の処理を行う。
【００３３】
以上のように、従来の動き検出方法の第１の処理手順では、動き検索範囲の参照画素データを分割して動き検索処理を行うことにより、参照画素データを一時保存する参照画素データ記憶用高速メモリの容量を削減することができる。
【００３４】
次に、図１０のように構成された従来の動き検出装置において、第２の処理手順を図面を参照しながら説明する。
【００３５】
図１６は、従来の動き検出装置における第２の処理手順を示すフローチャートである。
【００３６】
まず、符号化ブロックＶの縦位置を示すインデックスｅを０に初期化する（ステップＳ１６０１）。次に、符号化ブロックＶの横位置を示すインデックスｆを０に初期化する（ステップＳ１６０２）。
【００３７】
次に、動き検索範囲の垂直をＺ分割した領域の参照画素データをフレームメモリ１００１から読みだす（ステップＳ１６０３）。そして、分割数Ｚに対するインデックスを示す値ｋを０に初期化する（ステップＳ１６０４）。
【００３８】
次に、ステップＳ１６０３により読みだした分割領域の参照画素データに対して動きベクトルの評価を行うため、フレームメモリ１００１から符号化ブロックＶ（ｅ＋ｋｘ，ｆ）を読みだし（ステップＳ１６０５）、動き検出用ブロックマッチング回路１００７により各動きベクトル候補点に対してブロックマッチング演算を行って類似度評価値を算出し（ステップＳ１６０６）、中間結果保存メモリ１００９に保存されている符号化ブロックＶ（ｅ＋ｋｘ，ｆ）に対する類似度評価値と比較する（ステップＳ１６０７）。ここで、中間結果保存メモリ１００９に保存されている符号化ブロックＶ（ｅ＋ｋｘ，ｆ）に対する類似度評価値に対して、ステップＳ１６０６で算出された動きベクトル候補点の類似度評価値の方が高ければ、後者の類似度評価値と動きベクトルに対応する値を中間結果保存メモリ１００９に保存して中間結果保存メモリ１００９の内容を更新し（ステップＳ１６０８）、低ければ何もせずに次の処理に移る。
【００３９】
次に、ステップＳ１６０３により読みだした分割領域内に含まれる全ての動きベクトル候補点の類似度評価が終了しているかどうかを判断し（ステップＳ１６０９）、終了していなければ次の候補点の処理に移ってステップＳ１６０６〜Ｓ１６０８の処理を繰り返し、終了していれば分割数Ｚに対するインデックスを示す値ｋをインクリメントし（ステップＳ１６１０）、ｋ＝Ｚでないと判断されれば（ステップＳ１６１１）符号化ブロックＶ（ｅ＋ｋｘ，ｆ）に対して同様の処理を行う（ステップＳ１６０５〜Ｓ１６０９）。図１７に、動きベクトル検索範囲の垂直を２分割した場合のある参照画素と符号化ブロックＶ（ｅ＋ｋｘ，ｆ）の関係を示す。ここで、動きベクトル検索範囲の垂直をＺ分割した領域の参照画素データに対するＺ個の符号化ブロックＶ（ｅ＋ｋｘ，ｆ）は、それぞれの符号化ブロックＶ（ｅ＋ｋｘ，ｆ）から見て読みだしている参照画素データが動きベクトル検索範囲の垂直をＺ分割した領域のいずれかとなっている。つまり、図１７でいうと、符号化ブロックＶ（ｅ，ｆ）から見て読みだしている参照画素データは動きベクトル検索範囲の垂直を２分割した下半分、符号化ブロックＶ（ｅ＋ｘ，ｆ）から見て読みだしている参照画素データは動きベクトル検索範囲の垂直を２分割した上半分となっている。
【００４０】
ステップＳ１６１１にてｋ＝Ｚであると判断されれば、符号化ブロックＶ（ｅ＋ｋｘ，ｆ）の横位置を示すインデックスｆをインクリメントし（ステップＳ１６１２）、水平移動した位置において同様の処理を行う。すなわち、フレームメモリ１００１から動き検索範囲の垂直をＺ分割した領域の参照画素データを読みだし（ステップＳ１６０３）、Ｚ個の符号化ブロックＶ（ｅ＋ｋｘ，ｆ＋１）をフレームメモリ１００１から順次読みだして類似度評価を行う（ステップＳ１６０４〜Ｓ１６１１）。図１８に、動きベクトル検索範囲の垂直を２分割した場合のある参照画素と符号化ブロックＶ（ｅ＋ｋｘ，ｆ＋１）の関係を示す。参照画素データ分割記憶用高速メモリ１００５内に符号化ブロックＶ（ｅ＋ｋｘ，ｆ）の参照画素がキャッシングされているため、符号化ブロックＶ（ｅ＋ｋｘ，ｆ＋１）の処理のために新規にフレームメモリ１００１から読み込むデータは図１８中の斜線部だけで良い。
【００４１】
以下、符号化ブロックＶの位置を水平方向に移動しながら、画面の右端になるまで、つまりステップＳ１６１３でブロックラインが終了したと判断されるまで同様の処理を行う。符号化ブロックＶの位置が画面の右端に来たら、中間結果保存メモリ１００９に保存された動きベクトルに対応する値から動きベクトル量算出回路１０１１で動きベクトルの値を算出して出力する（ステップＳ１６１４）。
【００４２】
次に、符号化ブロックＶの縦位置を示すインデックスｅをインクリメントして処理するブロックラインを１ブロックライン下げる（ステップＳ１６１５）。そして画面内の全てのブロックラインの処理が終了したかを判断し（ステップＳ１６１６）、終了していなければ符号化ブロックＶの横位置を示すインデックスｆを０に初期化して（ステップＳ１６０２）、画面内の全ての符号化ブロックＶの処理が終了するまで同様の処理を行う。
【００４３】
以上のように、従来の動き検出方法の第２の処理手順では、フレームメモリ１００１から分割領域毎に読みだされた参照画素データを参照画素データ分割記憶用高速メモリ１００５に格納する毎に、垂直方向に特定の間隔だけ位置をずらせたＺ個の符号化ブロックと参照画素データ分割記憶用高速メモリ１００５内の候補ブロックとの間で類似度を評価することにより、フレームメモリ１００１からの参照画素データの読み込みは１回のみでよく、画面全体での処理の参照画素データの読み込みはおよそ１／Ｚで済み、フレームメモリ１００１に対するアクセス量を低減することができる。
【００４４】
【特許文献１】
特開２０００−２８７２１４号公報
【００４５】
【発明が解決しようとする課題】
しかしながら、上記の従来の構成では、第１の処理手順では１ブロックライン分全ての符号化ブロックに対する中間結果、第２の処理手順にいたっては（Ｚ−１）ブロックライン分全ての符号化ブロックに対する中間結果を保持しておく必要があり、中間結果保存メモリ１００９の容量が大きくなってしまうという問題を有していた。
【００４６】
また、上記の従来の構成では、動きベクトル検索範囲の分割部分付近の参照画素データを重複して読みだす必要があり、その分、フレームメモリに対するアクセス量が増加してしまうという問題を有していた。
【００４７】
つまり、図１２と図１４とから明白なように、動きベクトル検索範囲を２分割した場合の参照画素データにおける分割部分である符号化ブロックの位置のラインは、ｉ＝０のときとｉ＝１のときの両方で読みだす必要がある。
【００４８】
さらに、上記の従来の構成では、動きベクトル検索範囲の垂直の分割数を多くするほど参照画素データを一時保存する参照画素データ記憶用高速メモリの容量を削減できるし、第２の処理手順では、フレームメモリに対するアクセス量を低減することができるが、動きベクトル検索範囲の縦（垂直）が狭い場合には分割数を多くすることができずに効果が薄いという問題を有していた。
【００４９】
本発明は、上記課題を考慮し、高速メモリの容量を削減できてフレームメモリに対するアクセス量を低減することができるうえに、中間結果保存メモリの容量が小さくて、１符号化ブロックに対する参照画素データを重複して読みだす必要がなく、動きベクトル検索範囲の広さに関わらず効果がある動き検出方法等を提供することを目的とする。
【００５０】
【課題を解決するための手段】
この課題を解決するために、第１の本発明は、
符号化画像を複数の符号化ブロックに分割し、各符号化ブロックと各符号化ブロックに対応して参照画像内に設定する動きベクトル検索範囲の参照ブロックとの間で類似度を評価して動画像の画面間の動きを検出する動き検出方法において、
所定の一または複数の横方向の符号化ブロックのラインについて符号化する際に、そのラインから決まる上辺と下辺を持つ所定の大きさの矩形枠をその符号化ブロックのラインに沿って横方向に移動させながら、各矩形枠毎にその矩形枠内の各参照ブロックを参照対象とする符号化ブロックのラインの所定の符号化ブロック全てについて、その矩形枠内の参照ブロックとの間で類似度評価を行い、各符号化ブロック毎に得られた最も高い類似度評価値を持つ参照ブロックに基いて動きベクトルを算出する動き検出方法であり、
前記矩形枠の上辺位置は前記一または複数の符号化ブロックのラインのうち最も上の符号化ラインから前記動きベクトル検索範囲で決まる所定の位置で、下辺位置は前記一または複数の符号化ブロックのラインのうち最も下の符号化ラインから前記動きベクトル検索範囲で決まる所定の位置であり、前記矩形枠の横幅は一の符号化ブロックの横幅以上で符号化画像の横幅未満としたものである。
【００５１】
第２の本発明は、
前記矩形枠の横幅を前記動きベクトル検索範囲に含まれる候補ブロック範囲よりも小さくし、前記矩形枠の移動のさせ方は前記矩形枠の一の符号化ブロックの横幅分を重ねながら不連続に横方向に移動することとした動き検出方法である。
【００５２】
第３の本発明は、
各符号化ブロック毎に１個ずつ中間結果記憶バッファが用意されており、参照ブロックとの類似度評価を行う毎に、より大きい方の結果を残すようにした動き検出方法である。
【００５３】
第４の本発明は、
前記矩形枠内の参照画素データを第１のメモリに格納し、その矩形枠内の各参照ブロックを参照対象とする符号化ブロックのラインの所定の符号化ブロック全てを第２のメモリに格納し、前記第１のメモリに格納された参照ブロックと前記第２のメモリに格納された符号化ブロックとの間での類似度評価を行い、前記矩形枠を横方向に移動して移動先で同様の処理を行うにおいて、
次の移動先での類似度評価のために追加が必要な参照画素データを前記第１のメモリの次の移動先での類似度評価のために必要でない参照画素データが格納されているアドレスに上書きし、次の移動先での類似度評価のために追加が必要な符号化ブロックを前記第２のメモリの次の移動先での類似度評価のために必要でない符号化ブロックが格納されているアドレスに上書きするようにした動き検出方法である。
【００５４】
第５の本発明は、
前記第１のメモリは少なくとも前記矩形枠内の参照画素データに加えて矩形枠の次の横方向への移動先で新たに読み込む参照画素データ分の容量を持ち、前記第２のメモリは少なくとも前記矩形枠内の各参照ブロックを参照対象とする符号化ブロックのラインの所定の符号化ブロック全てに加えて前記矩形枠の次の横方向への移動先で新たに類似度評価が可能となる所定の一または複数の横方向の符号化ブロックのラインにある符号化ブロック分の容量を持ち、前記第１のメモリに格納された参照ブロックと前記第２のメモリに格納された符号化ブロックとの間でできる類似度評価を行っている間に、前記矩形枠の次の移動先での類似度評価のために追加が必要な参照画素データを前記第１のメモリの空きアドレスに格納し、次の移動先での類似度評価のために追加が必要な符号化ブロックを前記第２のメモリの空きアドレスに格納するようにした動き検出方法である。
【００５５】
第６の本発明は、
前記参照画素データの矩形枠が参照画像の画面上で右横方向に移動させて右端に到達した場合あるいは左横方向に移動させて左端に到達した場合に、次の矩形枠の移動先を所定の一または複数の横方向の符号化ブロックのラインの縦のブロック数分下げた位置あるいは上げた位置とし、以降矩形枠の移動方向をそれまでとは逆方向の左横方向あるいは右横方向に移動させる場合、
前記第１のメモリは少なくとも前記矩形枠内の参照画素データに加えて矩形枠の次の上下方向への移動先で新たに読み込む参照画素データ分の容量を持ち、前記第２のメモリは少なくとも前記矩形枠内の各参照ブロックを参照対象とする符号化ブロックのラインの所定の符号化ブロック全ての２倍の容量を持ち、前記第１のメモリに格納された参照ブロックと前記第２のメモリに格納された符号化ブロックとの間でできる類似度評価を行っている間に、前記矩形枠の次の移動先での類似度評価のために追加が必要な参照画素データを前記第１のメモリの空きアドレスに格納し、次の移動先での類似度評価のために必要な符号化ブロックを前記第２のメモリの空きアドレスに格納するようにした動き検出方法である。
【００５６】
第７の本発明は、
前記第１のメモリおよび前記第２のメモリは、複数のメモリあるいは同一アドレスに対する部分書き込みと部分読みだしとが同時に行えるメモリで構成した動き検出方法である。
【００５７】
第８の本発明は、
符号化画像を複数の符号化ブロックに分割し、各符号化ブロックと各符号化ブロックに対応して参照画像内に設定する動きベクトル検索範囲の参照ブロックとの間で類似度を評価して動画像の画面間の動きを検出する動き検出装置であって、
符号化対象画像データを記憶する手段と、参照画像データを記憶する手段と、前記符号化対象画像データを格納する第１のメモリと、前記参照画像データを記憶する第２のメモリと、前記矩形枠に含まれる参照画素データを前記第２のメモリから読み出して記憶する手段と、前記矩形枠内の参照ブロックが縦の動きベクトル検索範囲の全てを含む符号化ブロック全てを前記第１のメモリから読み出して記憶する手段と、前記第２のメモリから読み出した前記矩形枠に含まれる参照画素データを格納する第３のメモリと、前記第１のメモリから読み出した前記矩形枠内の参照ブロックが縦の動きベクトル検索範囲の全てを含む符号化ブロック全てを格納する第４のメモリと、前記第３のメモリ内の参照ブロックと前記第４のメモリ内の符号化ブロックとの間で類似度を評価して類似度評価値を求める類似度評価手段と、各符号化ブロック毎に得られた最も高い類似度評価値を持つ参照ブロックに基いて動きベクトルを算出する手段と、前記類似度評価手段における類似度評価の中間結果を格納する第５のメモリを備え、
所定の一または複数の横方向の符号化ブロックのラインについて符号化する際に、そのラインから決まる上辺と下辺を持つ所定の大きさの矩形枠をその符号化ブロックのラインに沿って横方向に移動させながら、各矩形枠毎にその矩形枠内の各参照ブロックを参照対象とする符号化ブロックのラインの所定の符号化ブロック全てについて、その矩形枠内の参照ブロックとの間で類似度評価を行い、各符号化ブロック毎に得られた最も高い類似度評価値を持つ参照ブロックに基いて動きベクトルを算出する動き検出装置である。
【００５８】
第９の本発明は、
所定の一または複数の横方向の符号化ブロックのラインについて符号化する際に、
そのラインから決まる上辺と下辺を持つ所定の大きさの矩形枠をその符号化ブロックのラインに沿って横方向に移動させるステップと、各矩形枠毎にその矩形枠内の各参照ブロックを参照対象とする符号化ブロックのラインの所定の符号化ブロック全てについて、その矩形枠内の参照ブロックとの間で類似度評価を行うステップと、各符号化ブロック毎に得られた最も高い類似度評価値を持つ参照ブロックに基いて動きベクトルを算出するステップとをコンピュータに実行させるようにした動き検出プログラムである。
【００５９】
第１０の本発明は、
第９の本発明の動き検出プログラムを担持した媒体であって、コンピュータにより処理可能なことを特徴とする記録媒体である。
【００６０】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００６１】
（実施の形態１）
図１は、本発明の実施の形態１における動き検出方法を実現する動き検出装置の構成を示すブロック図である。
【００６２】
フレームメモリ１０１は、フレームメモリ制御回路１０２から与えられるアドレス情報に従って書き込み／読みだし動作を行う。符号化ブロック水平Ｙ個記憶用高速メモリ１０３は、符号化ブロック水平Ｙ個記憶用メモリ制御回路１０４から与えられるアドレス情報に従って書き込み／読みだし動作を行う。参照画素データ記憶用高速メモリ１０５は、参照画素データ記憶用メモリ制御回路１０６から与えられるアドレス情報に従って書き込み／読みだし動作を行う。中間結果保存メモリ１０９は、保存メモリ制御回路１１０から与えられるアドレス情報に従って書き込み／読みだし動作を行う。
【００６３】
フレームメモリ１０１は、フレームメモリ制御回路１０２から与えられる書き込みアドレスに従って入力画像を書き込んで保存する。ここで、入力画像は、これから符号化しようとする符号化画像および動き検出のために参照される参照画像である。
【００６４】
フレームメモリ１０１には、これから参照される参照画像内の横Ｔブロック×縦（Ｓ×２＋１）ブロック（Ｓ、Ｔに関しては後述）の参照画素データを読みだすための読みだしアドレスがフレームメモリ制御回路１０２から与えられ、これに基づいてフレームメモリ１０１から参照画素データが読みだされる。読みだされた参照画素データは、参照画素データ記憶用メモリ制御回路１０６から与えられる書き込みアドレスに従って参照画素データ記憶用高速メモリ１０５に書き込まれて保存される。
【００６５】
また、フレームメモリ１０１には、これから符号化する符号化画像内の横Ｔブロック×縦１ブロック（Ｔに関しては後述）の符号化ブロックを読みだすための読みだしアドレスがフレームメモリ制御回路１０２から与えられ、これに基づいてフレームメモリ１０１から符号化ブロックが読みだされる。読みだされた符号化ブロックは、符号化ブロック水平Ｙ個記憶用メモリ制御回路１０４から与えられる書き込みアドレスに従って符号化ブロック水平Ｙ個記憶用高速メモリ１０３に書き込まれて保存される。
【００６６】
符号化ブロック水平Ｙ個記憶用高速メモリ１０３には、符号化ブロックを読みだすための読みだしアドレスが符号化ブロック水平Ｙ個記憶用メモリ制御回路１０４から与えられ、これに基づいて符号化ブロック水平Ｙ個記憶用高速メモリ１０３から符号化ブロックが読みだされる。読みだされた符号化ブロックは、動き検出用ブロックマッチング回路１０７に入力される。
【００６７】
参照画素データ記憶用高速メモリ１０５には、候補ブロックを読みだすための読みだしアドレスが参照画素データ記憶用メモリ制御回路１０６から与えられ、これに基づいて参照画素データ記憶用高速メモリ１０５から候補ブロックが読みだされる。読みだされた候補ブロックは、動き検出用ブロックマッチング回路１０７に入力される。
【００６８】
動き検出用ブロックマッチング回路１０７は、入力した符号化ブロックと候補ブロックの間でブロックマッチングを行い、類似度を評価して類似度評価値および動きベクトルに対応する値を類似度評価回路１０８に出力する。
【００６９】
類似度評価回路１０８は、中間結果保存メモリ１０９に保存されている最も類似度が高かった類似度評価値と、動き検出用ブロックマッチング回路１０７から入力される類似度評価値の類似度を比較する。この比較の結果、中間結果保存メモリ１０９に保存されている類似度評価値に対して動き検出用ブロックマッチング回路１０７から入力された類似度評価値の類似度が低ければ中間結果保存メモリ１０９の結果は変化させず、動き検出用ブロックマッチング回路１０７から入力された類似度評価値の類似度が高ければ中間結果保存メモリ１０９へ動き検出用ブロックマッチング回路１０７から入力された類似度評価値および動きベクトルに対応する値を保存する。
【００７０】
符号化ブロック水平Ｙ個記憶用高速メモリ１０３に格納されている符号化ブロックと参照画素データ記憶用高速メモリ１０５に格納されている候補ブロックでの評価が終了すると、水平右方向にＴブロック（Ｔに関しては後述）移動し、上述の処理を行う。
【００７１】
符号化ブロック水平Ｙ個記憶用高速メモリ１０３に格納されている符号化ブロックのうち、画面上で左からＴブロック分（Ｔに関しては後述）の符号化ブロックに関しては、全ての検索範囲の評価が終了したことになるので、中間結果保存メモリ１０９に保存された動きベクトルに対応する値が動きベクトル量算出回路１１１に入力され、動きベクトルが算出されて出力される。
【００７２】
以上のように構成された本発明の実施の形態１の動き検出装置において、処理手順を図面を参照しながら説明する。
【００７３】
図２は、符号化ブロックと動きベクトル検索範囲と候補ブロックの位置関係を示す図である。
【００７４】
図２において、ｅおよびｆは符号化ブロックＶ（太斜線）の画面上位置を示すインデックスであり、ｅは縦位置を示しており画面上の最も上が０、ｆは横位置を示しており画面上の最も左が０である。動きベクトル検索範囲（細斜線）は符号化ブロックＶ（ｅ，ｆ）に対して参照フレーム上に設定した動きベクトルの検索範囲である。その動きベクトル検索範囲に対応する候補ブロックが、符号化ブロックＶ（ｅ，ｆ）に対して、上下にＳブロックづつ、左右にＲブロックづつの範囲に渡るものとする。Ｒ＝４、Ｓ＝３であるとすると、候補ブロックの範囲は縦７ブロック分×横９ブロック分の範囲、つまり６３ブロック分のデータ量となる。
【００７５】
図３は、本発明の実施の形態１の動き検出装置における処理手順を示すフローチャートである。
【００７６】
まず、基準となる縦位置を示すインデックスｉを０に初期化する（ステップＳ３０１）。次に、基準となる横位置を示すインデックスｋを０に初期化する（ステップＳ３０２）。
【００７７】
次に、フレームメモリ１０１から候補ブロックＷ（ｇ，ｈ）を読みだす（ステップＳ３０３）。ここで、ｇは候補ブロックＷの縦位置を示すインデックスであり（ｉ−Ｓ）から（ｉ＋Ｓ）の範囲、ｈは候補ブロックＷの横位置を示すインデックスでありｋから（ｋ＋Ｔ）の範囲である。次に、フレームメモリ１０１から符号化ブロックＶ（ｅ，ｆ）を読みだす（ステップＳ３０４）。ここで、ｅは符号化ブロックＶの縦位置を示すインデックスでありｉに等しく、ｆは符号化ブロックＶの横位置を示すインデックスであり（ｋ−Ｒ）から（ｋ＋Ｒ＋Ｔ）の範囲である。
【００７８】
図４に、基準位置（ｉ，ｋ）と符号化ブロックＶ（ｅ，ｆ）と候補ブロックＷ（ｇ，ｈ）の関係を示す。ここで、ＴはＲ×２よりも小さな値をとる。Ｒ＝４、Ｓ＝３、Ｔ＝２であるとすると、読みだした符号化ブロックは１１ブロック、読みだした候補ブロックの範囲は２１ブロック分のデータ量となり、高速メモリに格納するデータ量が合計３２ブロック分となるので、１符号化ブロックに対して検索範囲を全て格納する場合（６４ブロック分）と比べると、大幅に容量を削減できている。
【００７９】
次に、符号化ブロック水平Ｙ個記憶用高速メモリ１０３に格納されている符号化ブロックＶ（ｅ，ｆ）の横位置インデックスｆを（ｋ−Ｒ）に初期化する（ステップＳ３０５）。
【００８０】
次に、符号化ブロック水平Ｙ個記憶用高速メモリ１０３から符号化ブロックＶ（ｅ，ｆ）を読みだし、動き検出用ブロックマッチング回路１０７により、各動きベクトル候補点に対してブロックマッチング演算を行って類似度評価値を算出し（ステップＳ３０６）、中間結果保存メモリ１０９に保存されている符号化ブロックＶ（ｅ，ｆ）に対する類似度評価値と比較する（ステップＳ３０７）。ここで、中間結果保存メモリ１０９に保存されている符号化ブロックＶ（ｅ，ｆ）に対する類似度評価値に対して、ステップＳ３０６で算出された動きベクトル候補点の類似度評価値の方が高ければ、後者の類似度評価値と動きベクトルに対応する値を中間結果保存メモリ１０９に保存して中間結果保存メモリ１０９の内容を更新し（ステップＳ３０８）、低ければ何もせずに次の処理に移る。
【００８１】
次に、参照画素データ記憶用高速メモリ１０５に格納されている全ての動きベクトル候補点の類似度評価が終了しているかどうかを判断し（ステップＳ３０９）、終了していなければ次の候補点の処理に移ってステップＳ３０６〜Ｓ３０８の処理を繰り返し、終了していれば次のステップに移る。
【００８２】
次に、符号化ブロックＶ（ｅ，ｆ）の横位置インデックスｆが（ｋ−Ｒ）以上（ｋ−Ｒ＋Ｔ）未満の範囲にあるかどうかを判断し（ステップＳ３１０）、範囲にあれば、符号化ブロックＶ（ｅ，ｆ）に関して検索範囲の全候補点の類似度評価が終了しているので、中間結果保存メモリ１０９に保存された動きベクトルに対応する値から動きベクトル量算出回路１１１で動きベクトルの値を算出して出力する（ステップＳ３１１）。範囲になければ、何もせずに次の処理に移る。
【００８３】
次に、符号化ブロック水平Ｙ個記憶用高速メモリ１０３に格納されている符号化ブロックＶ（ｅ，ｆ）の横位置インデックスｆをインクリメントし（ステップＳ３１２）、ｆが（ｋ＋Ｒ＋Ｔ）に等しいかどうか、つまり、符号化ブロック水平Ｙ個記憶用高速メモリ１０３に格納されている全ての符号化ブロックに対する類似度評価値算出処理が終了したかどうかを判断し（ステップＳ３１３）、終了していなければ次の符号化ブロックの処理に移ってステップＳ３０６〜Ｓ３１２の処理を繰り返し、終了していれば基準となる横位置を示すインデックスｋを水平方向にＴブロック分移動し（ステップＳ３１４）、ブロックラインが終了したと判断される（ステップＳ３１５）までステップＳ３０３〜Ｓ３１４の処理を繰り返す。図５に、符号化ブロックＶ（ｅ，ｆ）と候補ブロックＷ（ｇ，ｈ）の関係を示す。符号化ブロック水平Ｙ個記憶用高速メモリ１０３および参照画素データ記憶用高速メモリ１０５に前回読み込んだデータがキャッシングされているため、Ｔブロック分移動した処理のために新規にフレームメモリ１０１から読み込むデータは図５中の斜線部だけで良い。
【００８４】
以下、基準となる横位置を示すインデックスｋを水平方向に移動しながら、画面の右端になるまで、つまりステップ３１５でブロックラインが終了したと判断されるまで同様の処理を行う。基準となる横位置を示すインデックスｋの位置が画面の右端に到達したら、基準となる縦位置を示すインデックスｉをインクリメントし（ステップＳ３１６）、１ブロックライン下げて１画面が終了したとステップＳ３１７にて判断されるまでステップＳ３０２〜Ｓ３１６の処理を繰り返す。
【００８５】
このように、本実施の形態１によれば、Ｒ＝４、Ｓ＝３、Ｔ＝２のときには、符号化ブロック水平Ｙ個記憶用高速メモリ１０３に格納する符号化ブロックは１１ブロック、参照画素データ記憶用高速メモリ１０５に格納する候補ブロックの範囲は２１ブロック分のデータ量となり、高速メモリに格納するデータ量が合計３２ブロック分となる。これは、１符号化ブロックに対して検索範囲を全て格納する場合に必要な６４ブロック分と比べると、大幅に高速メモリの容量を削減できている。つまり、図４に示しているＴの値を十分に小さくすることにより、必要とされる高速メモリの容量を小さくすることができる。一方、Ｔの値を大きくとると、演算回路を並列に多く持つことで、より多くの評価値の演算を並列に実行できるようになるので、動きベクトル検出の処理速度が向上する。したがって、Ｔの値は、用途によって最適な値を選択すればよい。
【００８６】
また、本実施の形態１によれば、参照画素データ記憶用高速メモリ１０５には、符号化ブロック水平Ｙ個記憶用高速メモリ１０３に格納されている符号化ブロックに対する縦の動きベクトル検索範囲の参照画素データが全て格納されており、参照画素データ記憶用高速メモリ１０５に格納する参照画素データの矩形領域を移動させるごとに動きベクトルが確定していくので、中間結果の保存は符号化ブロック水平Ｙ個記憶用高速メモリ１０３に格納されている符号化ブロックの分、つまり１１ブロック分のみでよく、中間結果保存メモリ１０９の容量が小さくて済む。従来例では少なくとも横１ブロックライン分必要であり、ハイビジョン映像などの１ブロックラインのブロック数が非常に多いような場合では差が大きい。
【００８７】
また、本実施の形態１によれば、参照画素データ記憶用高速メモリ１０５には、符号化ブロック水平Ｙ個記憶用高速メモリ１０３に格納されている符号化ブロックに対する縦の動きベクトル検索範囲の参照画素データが全て格納されているので、１符号化ブロックに対する参照画素データを重複して読みだす必要がなく、フレームメモリに対するアクセス量を増加させることはない。
【００８８】
なお、本実施の形態１では、中間結果保存メモリ１０９に格納されている類似度評価値および動きベクトルに対応する値を類似度の高いものに随時更新していくとしたが、全候補点の値を全て中間結果保存メモリ１０９に格納しておいて最後に全てを読みだして最も類似度の高いものを選択してもよい。その場合、中間結果保存メモリ１０９の容量は増加するが、中間結果保存メモリ１０９へのアクセス量を減少させることができる可能性がある。
【００８９】
また、本実施の形態１では、基準位置（ｉ，ｋ）は画面上の左から右へ移動し、そして右端に到達したら画面上で下のブロックラインの左端に移動して再び左から右へと移動するとしたが、右から左へと移動してもよいし、下から上へと移動してもよい。さらに、左から右へと移動し、右端に到達したらその位置で下のブロックラインへと移動して、次は右から左へと移動するようなジグザグの移動をしてもよい。ジグザグの移動をした場合には、上下の移動をする際のフレームメモリ１０１に対するアクセス量を減少させることができる。
【００９０】
また、本実施の形態１では、符号化ブロック水平Ｙ個記憶用高速メモリ１０３および参照画素データ記憶用高速メモリ１０５への新たなデータの書き込みは、それらのメモリに格納されているデータによる類似度評価演算が全て終了してから行うとしたが、新たなデータの書き込みに必要な容量分を余分に設けて、格納されているデータによる類似度評価演算を行っている最中に新たなデータの書き込みを行うとしてもよい。この場合、必要とされる高速メモリの容量は増加するが、類似度評価演算と高速メモリへのデータの書き込みが並行して行えるので、処理を高速化することができる。さらに、それぞれの高速メモリを複数のメモリあるいは同一アドレスに対する部分書き込みと部分読みだしとが同時に行えるメモリで構成すると、類似度評価演算のための高速メモリからのデータの読みだしと新たなデータの書き込みとが全く非同期で行えるので、類似度評価演算のタイミングあるいはフレームメモリ１０１からの読みだしのタイミングの自由度が大きくなって設計しやすくなる。
【００９１】
また、本実施の形態１では、参照画像１面に対してそれを参照する符号化画像１面として説明したが、参照画像１面に対してそれを参照する符号化画像を複数面として処理してもよい。つまり、参照画素データ記憶用高速メモリ１０５に読み込んだ矩形領域の参照画素データに縦の動きベクトル検索範囲が全て含まれる複数面の符号化画像の符号化ブロックを一気に符号化ブロック水平Ｙ個記憶用高速メモリ１０３に読み込み、複数面の符号化画像の動き検出を同時に行う。これにより、符号化画像ごとに参照画像を読み込んでいたのに比べて参照画像の読み込みが一度で済むことになり、フレームメモリ１０１に対するアクセス量を激減させることができる。
【００９２】
本実施の形態１では、Ｒ＝４、Ｓ＝３、Ｔ＝２のときには、符号化ブロック水平Ｙ個記憶用高速メモリ１０３に格納する符号化ブロックは１１ブロックで、高速メモリに格納するデータ量は参照画素データ記憶用高速メモリ１０５に格納する候補ブロック２１ブロックと合わせて３２ブロックとしたが、この高速メモリに格納した符号化ブロック１１ブロックのうち左端の１ブロックは１回移動前の参照ブロックの矩形枠で、右端の１ブロックは次の移動後の参照ブロックの矩形枠で処理できるため、符号化ブロック水平Ｙ個記憶用高速メモリ１０３に格納する符号化ブロックは９ブロックとすることが可能である。従ってこの場合、高速メモリに格納するデータ量は３０ブロック分で済ませることが可能である。
【００９３】
また、本実施の形態１では、本発明の横方向を水平方向として説明しているが、横方向を垂直方向として処理を行ってもよい。
【００９４】
（実施の形態２）
図６は、本発明の実施の形態２における動き検出方法を実現する動き検出装置の構成を示すブロック図である。
【００９５】
フレームメモリ６０１は、フレームメモリ制御回路６０２から与えられるアドレス情報に従って書き込み／読みだし動作を行う。符号化ブロックＹ×Ｚ個記憶用高速メモリ６０３は、符号化ブロックＹ×Ｚ個記憶用メモリ制御回路６０４から与えられるアドレス情報に従って書き込み／読みだし動作を行う。参照画素データ記憶用高速メモリ６０５は、参照画素データ記憶用メモリ制御回路６０６から与えられるアドレス情報に従って書き込み／読みだし動作を行う。中間結果保存メモリ６０９は、保存メモリ制御回路６１０から与えられるアドレス情報に従って書き込み／読みだし動作を行う。
【００９６】
フレームメモリ６０１は、フレームメモリ制御回路６０２から与えられる書き込みアドレスに従って入力画像を書き込んで保存する。ここで、入力画像は、これから符号化しようとする符号化画像および動き検出のために参照される参照画像である。
【００９７】
フレームメモリ６０１には、これから参照される参照画像内の横Ｔブロック×縦（Ｓ×２＋Ｕ＋１）ブロック（Ｓ、Ｔ、Ｕに関しては後述）の参照画素データを読みだすための読みだしアドレスがフレームメモリ制御回路６０２から与えられ、これに基づいてフレームメモリ６０１から参照画素データが読みだされる。読みだされた参照画素データは、参照画素データ記憶用メモリ制御回路６０６から与えられる書き込みアドレスに従って参照画素データ記憶用高速メモリ６０５に書き込まれて保存される。
【００９８】
また、フレームメモリ６０１には、これから符号化する符号化画像内の横Ｔブロック×縦（Ｕ＋１）ブロック（Ｔ、Ｕに関しては後述）の符号化ブロックを読みだすための読みだしアドレスがフレームメモリ制御回路６０２から与えられ、これに基づいてフレームメモリ６０１から符号化ブロックが読みだされる。読みだされた符号化ブロックは、符号化ブロックＹ×Ｚ個記憶用メモリ制御回路６０４から与えられる書き込みアドレスに従って符号化ブロックＹ×Ｚ個記憶用高速メモリ６０３に書き込まれて保存される。
【００９９】
符号化ブロックＹ×Ｚ個記憶用高速メモリ６０３には、符号化ブロックを読みだすための読みだしアドレスが符号化ブロックＹ×Ｚ個記憶用メモリ制御回路６０４から与えられ、これに基づいて符号化ブロックＹ×Ｚ個記憶用高速メモリ６０３から符号化ブロックが読みだされる。読みだされた符号化ブロックは、動き検出用ブロックマッチング回路６０７に入力される。
【０１００】
参照画素データ記憶用高速メモリ６０５には、候補ブロックを読みだすための読みだしアドレスが参照画素データ記憶用メモリ制御回路６０６から与えられ、これに基づいて参照画素データ記憶用高速メモリ６０５から候補ブロックが読みだされる。読みだされた候補ブロックは、動き検出用ブロックマッチング回路６０７に入力される。
【０１０１】
動き検出用ブロックマッチング回路６０７は、入力した符号化ブロックと候補ブロックの間でブロックマッチングを行い、類似度を評価して類似度評価値および動きベクトルに対応する値を類似度評価回路６０８に出力する。
【０１０２】
類似度評価回路６０８は、中間結果保存メモリ６０９に保存されている最も類似度が高かった類似度評価値と、動き検出用ブロックマッチング回路６０７から入力される類似度評価値の類似度を比較する。この比較の結果、中間結果保存メモリ６０９に保存されている類似度評価値に対して動き検出用ブロックマッチング回路６０７から入力された類似度評価値の類似度が低ければ中間結果保存メモリ６０９の結果は変化させず、動き検出用ブロックマッチング回路６０７から入力された類似度評価値の類似度が高ければ中間結果保存メモリ６０９へ動き検出用ブロックマッチング回路６０７から入力された類似度評価値および動きベクトルに対応する値を保存する。
【０１０３】
符号化ブロックＹ×Ｚ個記憶用高速メモリ６０３に格納されている符号化ブロックと参照画素データ記憶用高速メモリ６０５に格納されている候補ブロックでの評価が終了すると、水平右方向にＴブロック（Ｔに関しては後述）移動し、上述の処理を行う。
【０１０４】
符号化ブロックＹ×Ｚ個記憶用高速メモリ６０３に格納されている符号化ブロックのうち、画面上で左からＴブロック分（Ｔに関しては後述）の符号化ブロックに関しては、全ての検索範囲の評価が終了したことになるので、中間結果保存メモリ６０９に保存された動きベクトルに対応する値が動きベクトル量算出回路６１１に入力され、動きベクトルが算出されて出力される。
【０１０５】
以上のように構成された本発明の実施の形態２の動き検出装置において、処理手順を図面を参照しながら説明する。
【０１０６】
符号化ブロックと動きベクトル検索範囲と候補ブロックの位置関係は、実施の形態１と同様に図２に示す通りである。
【０１０７】
図７は、本発明の実施の形態２の動き検出装置における処理手順を示すフローチャートである。
【０１０８】
まず、基準となる縦位置を示すインデックスｉを０に初期化する（ステップＳ７０１）。次に、基準となる横位置を示すインデックスｋを０に初期化する（ステップＳ７０２）。
【０１０９】
次に、フレームメモリ６０１から候補ブロックＷ（ｇ，ｈ）を読みだす（ステップＳ７０３）。ここで、ｇは候補ブロックＷの縦位置を示すインデックスであり（ｉ−Ｓ）から（ｉ＋Ｓ＋Ｕ）の範囲、ｈは候補ブロックＷの横位置を示すインデックスでありｋから（ｋ＋Ｔ）の範囲である。次に、フレームメモリ６０１から符号化ブロックＶ（ｅ，ｆ）を読みだす（ステップＳ７０４）。ここで、ｅは符号化ブロックＶの縦位置を示すインデックスでありｉから（ｉ＋Ｕ）の範囲、ｆは符号化ブロックＶの横位置を示すインデックスであり（ｋ−Ｒ）から（ｋ＋Ｒ＋Ｔ）の範囲である。
【０１１０】
図８に、基準位置（ｉ，ｋ）と符号化ブロックＶ（ｅ，ｆ）と候補ブロックＷ（ｇ，ｈ）の関係を示す。ここで、ＴはＲ×２よりも小さな値をとる。Ｒ＝４、Ｓ＝３、Ｔ＝２、Ｕ＝２であるとすると、読みだした符号化ブロックは３３ブロック、読みだした候補ブロックの範囲は２７ブロック分のデータ量となり、高速メモリに格納するデータ量が合計６０ブロック分となるので、１符号化ブロックに対して検索範囲を全て格納する場合（６４ブロック分）と比べると、まだ容量を削減できている。
【０１１１】
次に、符号化ブロックＹ×Ｚ個記憶用高速メモリ６０３に格納されている符号化ブロックＶ（ｅ，ｆ）の縦位置インデックスｅをｉに初期化し（ステップＳ７０５）、横位置インデックスｆを（ｋ−Ｒ）に初期化する（ステップＳ７０６）。
【０１１２】
次に、符号化ブロックＹ×Ｚ個記憶用高速メモリ６０３から符号化ブロックＶ（ｅ，ｆ）を読みだし、動き検出用ブロックマッチング回路６０７により、各動きベクトル候補点に対してブロックマッチング演算を行って類似度評価値を算出し（ステップＳ７０７）、中間結果保存メモリ６０９に保存されている符号化ブロックＶ（ｅ，ｆ）に対する類似度評価値と比較する（ステップＳ７０８）。ここで、中間結果保存メモリ６０９に保存されている符号化ブロックＶ（ｅ，ｆ）に対する類似度評価値に対して、ステップＳ７０７で算出された動きベクトル候補点の類似度評価値の方が高ければ、後者の類似度評価値と動きベクトルに対応する値を中間結果保存メモリ６０９に保存して中間結果保存メモリ６０９の内容を更新し（ステップＳ７０９）、低ければ何もせずに次の処理に移る。
【０１１３】
次に、参照画素データ記憶用高速メモリ６０５に格納されている全ての動きベクトル候補点の類似度評価が終了しているかどうかを判断し（ステップＳ７１０）、終了していなければ次の候補点の処理に移ってステップＳ７０７〜Ｓ７０９の処理を繰り返し、終了していれば次のステップに移る。
【０１１４】
次に、符号化ブロックＶ（ｅ，ｆ）の横位置インデックスｆが（ｋ−Ｒ）以上（ｋ−Ｒ＋Ｔ）未満の範囲にあるかどうかを判断し（ステップＳ７１１）、範囲にあれば、符号化ブロックＶ（ｅ，ｆ）に関して検索範囲の全候補点の類似度評価が終了しているので、中間結果保存メモリ６０９に保存された動きベクトルに対応する値から動きベクトル量算出回路６１１で動きベクトルの値を算出して出力する（ステップＳ７１２）。範囲になければ、何もせずに次の処理に移る。
【０１１５】
次に、符号化ブロックＹ×Ｚ個記憶用高速メモリ６０３に格納されている符号化ブロックＶ（ｅ，ｆ）の横位置インデックスｆをインクリメントし（ステップＳ７１３）、ｆが（ｋ＋Ｒ＋Ｔ）に等しいかどうかを判断し（ステップＳ７１４）、等しくなければ次の符号化ブロックの処理に移ってステップＳ７０７〜Ｓ７１３の処理を繰り返し、等しければ符号化ブロックＹ×Ｚ個記憶用高速メモリ６０３に格納されている符号化ブロックＶ（ｅ，ｆ）の縦位置インデックスｅをインクリメントする（ステップＳ７１５）。そしてｅが（ｉ＋Ｕ）に等しいかどうかを判断し（ステップＳ７１６）、等しくなければ次の符号化ブロックの処理に移ってステップＳ７０６〜Ｓ７１５の処理を繰り返し、等しければ基準となる横位置を示すインデックスｋを水平方向にＴブロック分移動し（ステップＳ７１７）、ブロックラインが終了したと判断される（ステップＳ７１８）までステップＳ７０３〜Ｓ７１７の処理を繰り返す。図９に、符号化ブロックＶ（ｅ，ｆ）と候補ブロックＷ（ｇ，ｈ）の関係を示す。符号化ブロックＹ×Ｚ個記憶用高速メモリ６０３および参照画素データ記憶用高速メモリ６０５に前回読み込んだデータがキャッシングされているため、Ｔブロック分移動した処理のために新規にフレームメモリ６０１から読み込むデータは図９中の斜線部だけで良い。
【０１１６】
以下、基準となる横位置を示すインデックスｋを水平方向に移動しながら、画面の右端になるまで、つまりステップ７１８でブロックラインが終了したと判断されるまで同様の処理を行う。基準となる横位置を示すインデックスｋの位置が画面の右端に来たら、基準となる縦位置を示すインデックスｉを（Ｕ＋１）ライン下げて（ステップＳ７１９）、１画面が終了したとステップＳ７２０にて判断されるまでステップＳ７０２〜Ｓ７１９の処理を繰り返す。
【０１１７】
このように、本実施の形態２によれば、本実施の形態１に加えてさらに、参照画素データ記憶用高速メモリ６０５に格納する参照画素データの矩形領域の参照画像画面上での下への移動量は（Ｕ＋１）ブロックとなるので、画面全体での処理の参照画素データの読みだしは移動量１ブロックのものと比較しておよそ１／（Ｕ＋１）で済み、フレームメモリ６０１に対するアクセス量を大幅に削減することができる。
【０１１８】
また、本実施の形態２によれば、従来例のように動きベクトル検索範囲の縦を分割するのではなく、動きベクトル検索範囲の縦を余分に参照画素データ記憶用高速メモリ６０５に格納して、その分、画面上の下への移動量を大きくすることによりフレームメモリ６０１に対するアクセス量を削減しているので、動きベクトル検索範囲の広さに関わらず効果を得ることができる。
【０１１９】
なお、本実施の形態２では、Ｕ＝２として説明したが、Ｕの値を大きくすれば、必要となる高速メモリの容量は大きくなるが、フレームメモリ６０１に対するアクセス量をさらに削減することができる。Ｕの値を小さくすれば、フレームメモリ６０１に対するアクセス量は増加するが、必要となる高速メモリの容量は小さくなる。したがって、Ｕの値は、用途によって最適な値を選択すればよい。
【０１２０】
また、本実施の形態２では、本実施の形態１と同様に、中間結果保存メモリ６０９に格納されている類似度評価値および動きベクトルに対応する値を類似度の高いものにどんどん更新していくとしたが、全候補点の値を全て中間結果保存メモリ６０９に格納しておいて最後に全てを読みだして最も類似度の高いものを選択してもよい。基準位置（ｉ，ｋ）は画面上の左から右へ移動し、そして右端に到達したら画面上で下のブロックラインの左端に移動して再び左から右へと移動するとしたが、右から左へと移動してもよいし、下から上へと移動してもよい。さらに、左から右へと移動し、右端に到達したらその位置で下のブロックラインへと移動して、次は右から左へと移動するようなジグザグの移動をしてもよい。符号化ブロックＹ×Ｚ個記憶用高速メモリ６０３および参照画素データ記憶用高速メモリ６０５への新たなデータの書き込みは、それらのメモリに格納されているデータによる類似度評価演算が全て終了してから行うとしたが、新たなデータの書き込みに必要な容量分を余分に設けて、格納されているデータによる類似度評価演算を行っている最中に新たなデータの書き込みを行うとしてもよい。参照画像１面に対してそれを参照する符号化画像１面として説明したが、参照画像１面に対してそれを参照する符号化画像を複数面として処理してもよい。
【０１２１】
本実施の形態２では、Ｒ＝４、Ｓ＝３、Ｔ＝２、Ｕ＝２のときには、読み出す符号化ブロックは３３ブロックで、候補ブロック２７ブロックと合わせて６０ブロックとしたが、この高速メモリに格納した符号化ブロック３３ブロックのうち左端の３ブロックは１回移動前の参照ブロックの矩形枠で、右端の３ブロックは次の移動後の参照ブロックの矩形枠で処理できるため、読み出す符号化ブロックは２７ブロックとすることが可能である。従ってこの場合、高速メモリに格納するデータ量は５４ブロック分で済ませることが可能である。
【０１２２】
また、本実施の形態２では、本発明の横方向を水平方向として説明しているが、横方向を垂直方向として処理を行ってもよい。
【０１２３】
本発明に係るプログラムは、上述した本発明の動き検出方法の全部又は一部のステップの動作をコンピュータにより実行させるためのプログラムであって、コンピュータと協働して動作するプログラムである。
【０１２４】
本発明に係る記録媒体は、上述した本発明の動き検出方法の全部又は一部のステップの全部又は一部の動作をコンピュータにより実行させるためのプログラムを担持した媒体であり、コンピュータにより読み取り可能且つ、読み取られた前記プログラムが前記コンピュータと協働して前記機能を実行する媒体である。
【０１２５】
なお、本発明の上記「一部のステップ」とは、それらの複数のステップの内の、幾つかのステップを意味し、あるいは、一つのステップの内の、一部の動作を意味するものである。
【０１２６】
また、本発明のプログラムの一利用形態は、コンピュータにより読み取り可能な記録媒体に記録され、コンピュータと協働して動作する態様であっても良い。
【０１２７】
また、記録媒体としては、ＲＯＭ等が含まれ、伝送媒体としては、インターネット等の伝送媒体、光・電波・音波等が含まれる。
【０１２８】
また、上述した本発明のコンピュータは、ＣＰＵ等の純然たるハードウェアに限らず、ファームウェアや、ＯＳ、更に周辺機器を含むものであっても良い。
【０１２９】
なお、以上説明した様に、本発明の構成は、ソフトウェア的に実現しても良いし、ハードウェア的に実現しても良い。
【０１３０】
【発明の効果】
以上のように本発明により、高速メモリの容量を削減できてフレームメモリに対するアクセス量を低減することができ、かつ、中間結果保存メモリの容量が小さくてすむ。また、１符号化ブロックに対する参照画素データを重複して読みだす必要がなく、動きベクトル検索範囲の広さに関わらず効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態１における動き検出方法を実現する動き検出装置の構成を示すブロック図である。
【図２】符号化ブロックと動きベクトル検索範囲と候補ブロックの位置関係を示す図である。
【図３】本発明の実施の形態１の動き検出装置における処理手順を示すフローチャートである。
【図４】本発明の実施の形態１の動き検出装置における基準位置（ｉ，ｋ）と符号化ブロックＶ（ｅ，ｆ）と候補ブロックＷ（ｇ，ｈ）の関係を示す。
【図５】本発明の実施の形態１の動き検出装置における水平移動時の符号化ブロックＶ（ｅ，ｆ）と候補ブロックＷ（ｇ，ｈ）の関係を示す。
【図６】本発明の実施の形態２における動き検出方法を実現する動き検出装置の構成を示すブロック図である。
【図７】本発明の実施の形態２の動き検出装置における処理手順を示すフローチャートである。
【図８】本発明の実施の形態２の動き検出装置における基準位置（ｉ，ｋ）と符号化ブロックＶ（ｅ，ｆ）と候補ブロックＷ（ｇ，ｈ）の関係を示す。
【図９】本発明の実施の形態２の動き検出装置における水平移動時の符号化ブロックＶ（ｅ，ｆ）と候補ブロックＷ（ｇ，ｈ）の関係を示す。
【図１０】従来の動き検出方法を実現する動き検出装置の構成を示すブロック図である。
【図１１】従来の動き検出装置における第１の処理手順を示すフローチャートである。
【図１２】従来の動き検出装置における動きベクトル検索範囲の垂直を２分割した場合のｉ＝０におけるある符号化ブロックＶ（ｅ，ｆ）と参照画素の関係を示す。
【図１３】従来の動き検出装置における動きベクトル検索範囲の垂直を２分割した場合のｉ＝０における水平移動時の符号化ブロックＶ（ｅ，ｆ＋１）と参照画素の関係を示す。
【図１４】従来の動き検出装置における動きベクトル検索範囲の垂直を２分割した場合のｉ＝１におけるある符号化ブロックＶ（ｅ，ｆ）と参照画素の関係を示す。
【図１５】従来の動き検出装置における動きベクトル検索範囲の垂直を２分割した場合のｉ＝１における水平移動時の符号化ブロックＶ（ｅ，ｆ＋１）と参照画素の関係を示す。
【図１６】従来の動き検出装置における第２の処理手順を示すフローチャートである。
【図１７】従来の動き検出装置における動きベクトル検索範囲の垂直を２分割した場合のある参照画素と符号化ブロックＶ（ｅ＋ｋｘ，ｆ）の関係を示す。
【図１８】従来の動き検出装置における動きベクトル検索範囲の垂直を２分割した場合の水平移動時の参照画素と符号化ブロックＶ（ｅ＋ｋｘ，ｆ＋１）の関係を示す。
【符号の説明】
１０１  フレームメモリ
１０２  フレームメモリ制御回路
１０３  符号化ブロック水平Ｙ個記憶用高速メモリ
１０４  符号化ブロック水平Ｙ個記憶用メモリ制御回路
１０５  参照画素データ記憶用高速メモリ
１０６  参照画素データ記憶用メモリ制御回路
１０７  動き検出用ブロックマッチング回路
１０８  類似度評価回路
１０９  中間結果保存メモリ
１１０  保存メモリ制御回路
１１１  動きベクトル量算出回路
６０１  フレームメモリ
６０２  フレームメモリ制御回路
６０３  符号化ブロックＹ×Ｚ記憶用高速メモリ
６０４  符号化ブロックＹ×Ｚ記憶用メモリ制御回路
６０５  参照画素データ記憶用高速メモリ
６０６  参照画素データ記憶用メモリ制御回路
６０７  動き検出用ブロックマッチング回路
６０８  類似度評価回路
６０９  中間結果保存メモリ
６１０  保存メモリ制御回路
６１１  動きベクトル量算出回路
１００１  フレームメモリ
１００２  フレームメモリ制御回路
１００３  符号化ブロック１個記憶用高速メモリ
１００４  符号化ブロック１個記憶用メモリ制御回路
１００５  参照画素データ分割記憶用高速メモリ
１００６  参照画素データ分割記憶用メモリ制御回路
１００７  動き検出用ブロックマッチング回路
１００８  類似度評価回路
１００９  中間結果保存メモリ
１０１０  保存メモリ制御回路
１０１１  動きベクトル量算出回路
【図１】
2004165803.tif 000003
【図２】
2004165803.tif 000004
【図３】
2004165803.tif 000005
【図４】
2004165803.tif 000006
【図５】
2004165803.tif 000007
【図６】
2004165803.tif 000008
【図７】
2004165803.tif 000009
【図８】
2004165803.tif 000010
【図９】
2004165803.tif 000011
【図１０】
2004165803.tif 000012
【図１１】
2004165803.tif 000013
【図１２】
2004165803.tif 000014
【図１３】
2004165803.tif 000015
【図１４】
2004165803.tif 000016
【図１５】
2004165803.tif 000017
【図１６】
2004165803.tif 000018
【図１７】
2004165803.tif 000019
【図１８】
2004165803.tif 000020