(57)【特許請求の範囲】
【請求項１】
サイズの等しい複数のブロックからなる2つの画像の一方を着目画像とし、他方を参照画像とする場合に、着目画像中の前記１ブロックを探索単位とし、参照画像中の所定の位置に存するブロックを探索範囲として、前記探索単位と探索領域との間の動きベクトルを検出する動きベクトル検出回路であって、
入力された参照画像の画像データの所定量を一時的に格納するバッファと、
少なくとも１の参照画像に相当する画像データを格納している参照画像データメモリと、
着目画像中で動きベクトル検出の対象となる対象探索単位を隣接するブロックに順次シフトしながら、探索範囲を設定する探索範囲設定手段と、
前記探索範囲設定手段により設定された探索範囲の画像データを格納している探索範囲メモリと、
前記設定された探索範囲に属し、先行する探索単位の探索範囲には属しないブロックの画像データを、前記バッファから読み出し、読み出した画像データを前記参照画像データメモリと前記探索範囲メモリとに書き込む第1の参照画像データ書込み手段と、
前記探索範囲に属し、探索範囲の一部として、前記バッファから既に読み出されたブロックの画像データを、前記参照画像データメモリから読み出し、読み出した画像データを前記探索範囲メモリに書き込む第2の参照画像データ書込み手段と、
前記探索範囲メモリに格納された探索範囲内で、探索単位との差分が最も小さなブロックを探索し、前記探索単位と探索されたブロックとの間における動きベクトルを検出する動きベクトル検出手段と
を備える動きベクトル検出回路。
【請求項２】
請求項1の動きベクトル検出回路において、
同一画像を参照画像とする、時間的に連続した第１着目画像と第２着目画像とのうち、第１着目画像の動きベクトルがすでに検出されており、新たに第２着目画像の動きベクトルを検出する場合には、前記第１参照画像書き込み手段を停止する第１書き込み制御手段とを備え、
前記探索範囲設定手段は、第２着目画像内の各対象探索単位について、前記対象探索単位と第１着目画像内で同一位置にあるブロックに対してすでに検出されている動きベクトルに従って、当該対象探索単位に対応する探索範囲を設定することを特徴とする動きベクトル検出回路。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、デジタル画像処理におけるアクセス効率の高い画像メモリおよび前記画像メモリを備える動きベクトル検出回路に関する。
【０００２】
【従来の技術】
動画像は、一般に、一定範囲内の時間間隔で与えられる１画面分の静止画像の列によって表わされる。以下、一定時間間隔で与えられる１画面分の静止画像の１つを「フレーム」という。近年、このような静止画像をディジタルデータに変換し、記録あるいは伝送するための種々の技術が開発されている。しかし、本来、画像を表すデータのデータ量は他のデータと比べて非常に大きいため、動画像を表すデータを記録あるいは伝送するに際しては、動き補償を用いた動画像の予測符号化、例えば、ＣＣＩＴＴ勧告Ｈ．２６１およびＭＰＥＧ（Motion Picture Image Coding Experts Group）などの圧縮技術により、相互に相関性の高い画像同士の差分を用いることによって、処理されるデータ量の低減が図られている。
【０００３】
動き補償付きフレーム間予測符号化では、ある時点のフレームである着目画像を所定の大きさの矩形領域に分割してその１つを探索単位とし、着目画像中の１つの探索単位に対して、着目画像の前後に入力されたフレームのうち着目画像に応じて予め定められた１フレームである参照画像の所定の探索範囲内で当該探索単位との相関性が最も高い画像が探索される。これにより、参照画像内において、着目画像中の探索単位との相関性が最も高い画像を指し示す動きベクトルが検出される。さらに、着目画像の探索単位毎に、参照画像中の相関性の最も高い画像との画像内容の差分が符号化されるとともに、対応する動きベクトルも符号化される。
【０００４】
また、ＭＰＥＧでは、双方向動き予測フレームが定義されている。双方向動き予測フレームとは、そのフレーム（着目画像）より以前に入力されたフレームを参照画像とする順方向の動きベクトルと、そのフレーム（着目画像）より後に入力されたフレームを参照画像とする逆方向の動きベクトルとが検出され、順逆両方向の動きベクトルに指し示された画像のうち、当該フレーム（着目画像）内の同一探索単位に対して相関性がより高い画像との差分と、それに対応する動きベクトルとが符号化されるフレームをいう。あるいは、双方向動き予測フレームについては、順逆両方向の動きベクトルに指し示されたそれぞれの画像との差分の平均と、それぞれの動きベクトルとが符号化される。
【０００５】
さらに、ＭＰＥＧ２では、１フレームをトップフィールドとボトムフィールドとに分けて、それぞれに動きベクトルを検出するフィールド間予測符号化がサポートされている。前記トップフィールドとは、入力ビデオデータをインタレースしたときの奇数フィールドに対応する画像をいい、前記ボトムフィールドとは、偶数フィールドに対応する画像をいう。なお、フィールド間予測符号化については、図２８を用いて後述し、以下では、フレーム間予測符号化の場合について説明する。
【０００６】
図２４は、従来の画像符号化装置５０の概略的構成を示すブロック図である。
画像符号化装置５０は、フレームリオーダリング部５１、フォワード動きベクトル検出部５２、バックワード動きベクトル検出部５３、動きベクトルリオーダリング部５４および画像圧縮符号化部５５を備える。
フレームリオーダリング部５１は、前処理を施された入力ビデオデータとして一定時間間隔で入力された数フレームの画像データを蓄えるとともに、フォワード動きベクトル検出部５２、バックワード動きベクトル検出部５３および画像圧縮符号化部５５に対し、これから符号化を行うフレームの符号化対象画像データおよびその参照画像データを供給する。
【０００７】
フォワード動きベクトル検出部５２は、供給された符号化対象画像データおよびその参照画像データから時間的に順方向のフレーム間動きベクトルを検出し、動きベクトルリオーダリング部５４へ出力する。なお、このフォワード動きベクトル検出部５２および後述のバックワード動きベクトル検出部５３は、同様の構成からなり、その動きベクトル検出方法については、図２６および図２５を用いて、後に詳述する。
【０００８】
バックワード動きベクトル検出部５３は、供給された符号化対象画像データおよび参照画像データから時間的に逆方向のフレーム間動きベクトルを検出し、動きベクトルリオーダリング部５４へ出力する。
動きベクトルリオーダリング部５４は、検出された動きベクトルを数フレーム分蓄え、フレームリオーダリング部５１の出力する符号化対象画像データに該当する動きベクトルデータを画像圧縮符号化部５５に供給する。
【０００９】
画像圧縮符号化部５５は、符号化対象画像データ、参照画像データおよび動きベクトルデータを用いて入力ビデオデータを符号化する。
前記動きベクトル検出方法としては、大別して、テレスコピック探索とノン・テレスコピック探索との２つの方法が知られている。この２つは、参照画像内の探索範囲設定方法が異なる動きベクトル検出方法である。
【００１０】
以下、画像の走査線の方向を画像の水平方向、それに直交する方向を画像の垂直方向とし、着目画像から参照画像までのフレーム間隔をフレーム間距離として説明する。また、以下では、探索単位の垂直方向の幅をＨとし、水平方向の幅をＤとする。
図２５は、ノン・テレスコピック探索およびテレスコピック探索による動きベクトル検出方法を示す説明図である。図２５（ａ）は、ノン・テレスコピック探索の場合およびテレスコピック探索においてフレーム間距離が１の場合、参照画像中において着目画像中の探索単位と同一位置にある等大の領域を中心として見た実際の動きベクトル探索範囲を示す。図２５（ｂ）はテレスコピック探索においてフレーム間距離が２の場合、図２５（ｃ）はテレスコピック探索においてフレーム間距離が３の場合について、実際の動きベクトル探索範囲と見かけ上の動きベクトル探索範囲とを示す。また、図２６は、ノン・テレスコピック探索およびテレスコピック探索におけるフレーム間距離と探索範囲との関係を垂直方向の探索幅について示す説明図である。図２６（ａ）はノン・テレスコピック探索について、図２６（ｂ）はテレスコピック探索について、上記関係を示す。
【００１１】
ノン・テレスコピック探索では、一般に、着目画像中の探索単位に対応して、参照画像中で動きベクトルを検出するための探索範囲は、着目画像から参照画像までのフレーム間距離にかかわらず、参照画像中において着目画像中の探索単位と同一位置にある等大の領域を中心とした、一定の大きさで定められる矩形領域である。例えば、図２５（ａ）に示すように、参照画像中において着目画像中の探索単位と同一位置にある水平方向にＤ、垂直方向にＨの幅の等大の矩形領域を中心として、水平方向に±Ｄ、垂直方向±Ｈの幅で動きベクトル検出の探索範囲が設定される。すなわち、図２６（ａ）に示すように、ノン・テレスコピック探索では、フレーム間距離が１、２あるいは３の場合にかかわらず、参照画像における探索範囲の垂直方向の幅は３Ｈであり、水平方向の幅は３Ｄである。
【００１２】
テレスコピック探索では、ノン・テレスコピック探索と同様、参照画像中における着目画像中の探索単位と等大の矩形領域を中心に、水平方向に±Ｄ、垂直方向±Ｈというような探索範囲が設定される。例えば、動きベクトル検出のために実際に、着目画像との相関性が最も高い画像の探索が行われる探索範囲は、テレスコピック探索においても垂直方向の幅は３Ｈであり、水平方向の幅は３Ｄである。しかし、テレスコピック探索では、一定範囲内の時間間隔で与えられた各フレーム内で移動していく画像の動きに追従して探索範囲を移動する意図により、着目画像中の探索単位との相関性が最も高い画像、すなわち、着目画像からのフレーム間距離が１小さい参照画像において検出された動きベクトルに指示されている画像を中心とするよう探索範囲のオフセットが設定される。このため、参照画像中における着目画像中の探索単位と同一位置にある矩形領域を中心として見た場合、参照画像のフレーム間距離が大きくなるほど、各参照画像において探索範囲が設定されうる領域、すなわち、見かけ上の探索範囲が大きくなっている。
【００１３】
図２５を用いて具体的に説明すると、着目画像からの参照画像のフレーム間距離が２以上の場合、まず、図２５（ａ）に示すように、着目画像からのフレーム間距離が１であるフレームを参照画像とし、着目画像内の各探索単位について動きベクトルが検出される。この動きベクトル検出の探索範囲は、参照画像中において着目画像中の探索単位と同一位置にある領域を中心とし、垂直方向に３Ｈ、水平方向に３Ｄの領域である。図２５（ａ）では、前記探索範囲の右下隅の探索単位が、着目画像中の探索単位に対して最も相関性の高い画像として検出され、図のような動きベクトルが検出されている。
【００１４】
次に、図２５（ｂ）に示すように、フレーム間距離が２となるフレームを参照画像とし、着目画像内の各探索単位について動きベクトルが検出される。この際、フレーム間距離が１の参照画像において検出された図２５（ａ）の動きベクトルから、フレーム間距離が２の参照画像中の探索範囲のオフセットが設定される。前記オフセットは、フレーム間距離が１の参照画像中で着目画像中の前記探索単位に対して最も相関性の高かった領域が探索範囲の中心に位置するよう設定される。図２５（ｂ）に示すように、この探索範囲においても、右下隅の領域が着目画像中の探索単位に対して最も相関性の高い画像として検出されており、同図に示す動きベクトルが検出されている。
【００１５】
このように、フレーム間距離が２の参照画像においては、動きベクトル検出の探索範囲は、着目画像中の探索単位と同一位置にある領域から見て、一定の領域に定まらず、当該参照画像よりフレーム間距離が１小さい、フレーム間距離が１の参照画像において検出された動きベクトルに応じて異なる位置に設定される。具体的には、着目画像中の探索単位と同一位置にある等大の矩形領域を中心として、最大、垂直方向に５Ｈ、水平方向に５Ｄの見かけ上の探索範囲内で定められる。
【００１６】
以降、図２５（ａ）から図２５（ｃ）に示すように、フレーム間距離が１小さい参照画像における動きベクトルから、次の参照画像における探索範囲のオフセットが設定され、順次、動きベクトルが検出される。このため、参照画像中において、着目画像中の探索単位と同一位置にある領域を中心とした見かけ上の探索範囲は、着目画像からのフレーム間距離が大きくなるに従って、拡大することになる。
【００１７】
一般に、動きベクトル検出回路（図２４の構成では、それぞれフォワード動きベクトル検出部５２、バックワード動きベクトル検出部５３が対応する。）は、探索範囲が大きいほど、動きベクトル検出精度が向上し、符号化画像の高画質化に貢献することが知られている。従って、図２５に示したように、テレスコピック探索は、ノン・テレスコピック探索に比べ見かけ上の探索範囲が広がっているため、より予測画像の精度が高く、高画質化に有利である。
【００１８】
しかし、前記動きベクトル検出回路においては、ノン・テレスコピック探索を行う場合でも、着目画像の１つの探索単位内の画像を表すデータ量に対し、参照画像の探索範囲内のデータ量は、画像によっても異なるが、数倍以上になる。例えば、画素数で比較すると、探索単位のサイズが１６画素×１６画素で、探索範囲が前記探索単位のサイズに対して±１６画素×±１６画素の領域の場合、探索範囲の総画素数は４８画素×４８画素となるので着目画像の９倍になる。このような参照画像データを、着目画像中の各探索単位について動きベクトルを検出する際に、その都度、入力する場合には、動きベクトル検出回路において参照画像データの入力に要求されるバンド幅は、着目画像の入力に要求されるバンド幅の約９倍になる。
【００１９】
これに対して、公開特許公報平４−５３３８９に開示されているように、着目画像中の１つの探索単位に対応する探索範囲内の参照画像データをすべて、キャッシュメモリ内に保持し、着目画像中で隣合う探索単位に共通した探索範囲の参照画像データがキャッシュメモリ内に保持されている状態で、共通でない部分の参照画像データのみが新たに入力されるように工夫し、参照画像データ入力のバンド幅を低減する試みがなされている。
【００２０】
図２７は、着目画像中で隣り合う２つの探索単位ＭＢ１、探索単位ＭＢ２に共通した探索範囲を示す説明図である。図２７（ａ）は、ノン・テレスコピック探索およびフレーム間距離が１の参照画像のテレスコピック探索における前記探索範囲を示す。図２７（ｂ）はフレーム間距離が２の参照画像における場合、図２７（ｃ）はフレーム間距離が３の参照画像における場合のテレスコピック探索の前記探索範囲を示す。図２７において、探索単位ＭＢ１、探索単位ＭＢ２に共通する探索範囲は、斜線部で示す。
【００２１】
図２７（ａ）に示すように、ノン・テレスコピック探索では、着目画像中の隣合う探索単位ＭＢ１、探索単位ＭＢ２に共通の探索範囲は、参照画像のフレーム間距離にかかわらず、探索単位ＭＢ１および探索単位ＭＢ２に対して一定の領域であり、探索単位ＭＢ１、探索単位ＭＢ２それぞれに対して設定される探索範囲に比較して大きな割合を占める。従って、ノン・テレスコピック探索では、上記試みは有効であって、動きベクトルを検出する都度、着目画像中の各探索単位に対する探索範囲の参照画像データを入力する場合に比べて、参照画像データ入力のバンド幅を有効に低減することができる。
【００２２】
ところが、テレスコピック探索においては、フレーム間距離が１の場合は、ノン・テレスコピック探索と同様に、着目画像中で隣合う探索単位ＭＢ１、探索単位ＭＢ２に共通した探索範囲は一定の領域で、着目画像中のそれぞれ１つの探索単位に対して参照される探索範囲に比べて大きな割合を占めるが、図２７（ｂ）および図２７（ｃ）に示すように、フレーム間距離が２以上の場合は、着目画像中で隣合う探索単位ＭＢ１、探索単位ＭＢ２のそれぞれに与えられるオフセットが必ずしも等しいとは限らず、着目画像中で隣合う探索単位ＭＢ１、探索単位ＭＢ２に共通した探索範囲は一定の領域とはならない。そればかりでなく、図２７（ｃ）に示すように、着目画像中で隣合う探索単位ＭＢ１および探索単位ＭＢ２のそれぞれに対する探索範囲が、全く共通の領域を持たない場合も生じる。
【００２３】
そのため、テレスコピック探索を用いる動きベクトル検出回路では、着目画像中のひとつの探索単位に対応する探索範囲の参照画像データは、それに隣り合う探索単位、すなわち、次に動きベクトルが検出される探索単位に対応した探索範囲の参照画像データとして利用することが困難である。しかし、前述の例と同様にしてキャッシュメモリを利用し、参照画像データの入力バンド幅の低減を図る方法として、動きベクトル検出のための実際の探索範囲に代えて、フレーム間距離が最大となる参照画像における見かけ上の探索範囲をキャッシュメモリに保持する方法が考えられる。
【００２４】
上記方法においては、例えば、最大フレーム間距離が３の場合には、着目画像中の１つの探索単位から、それに隣り合う次の探索単位についての動きベクトルを検出する際に、探索範囲として新たに入力すべき参照画像データの領域はＤ×７Ｈであり、着目画像中の各探索単位について保持するべき参照画像データの領域は７Ｄ×７Ｈとなる。例えば、探索単位のサイズが１６画素×１６画素で、探索範囲が前記探索単位のサイズに対して±１６画素×±１６画素の領域の場合、フレーム間距離が３の参照画像の動きベクトルを求めるためには、１１２画素×１１２画素の領域の参照画像データをキャッシュメモリに蓄えておかなければならない。それはフレーム間距離が１の場合に必要なキャッシュメモリの約５．４倍にあたり、ＬＳＩ化には不利である。そのため、多くの場合、動きベクトル検出方法として、ノン・テレスコピック探索が用いられている。
【００２５】
これに対し、テレスコピック探索を用いるための他の参照画像データ入力方法として、着目画像中の各探索単位に対応した探索範囲の参照画像データを、動きベクトル検出の都度、すべて入力する方法について、さらに検討する。
なお、以上に説明したように、着目画像内の各探索単位について、それぞれ、対象とする参照画像まで、フレーム間距離が１のフレームから順次、動きベクトルを検出していく場合には、１フレーム時間内に参照画像メモリ内に書き込まれ、読み出されるべき参照画像データの量および１フレーム時間内に行なうべき動きベクトル検出の計算量が、ともに、簡易な構成でリアルタイム処理までを行なおうとする動きベクトル検出回路にとっては、非現実的な量となってしまう。このため、以下では、フレーム間距離が１のフレームから順次、すでに検出されている動きベクトルに基づいて、対象とする参照画像における探索範囲のオフセットを設定し、動きベクトルを検出する場合について検討する。この場合、時間的に連続するフレーム内を画像が変形しながら移動するときには、テレスコピック探索が必ずしも有効でない場合を生じるが、画像が変形しないで移動するときには有効である。
【００２６】
探索単位のサイズを１６画素×１６画素、探索範囲を前記探索単位のサイズに対して±１６画素×±１６画素の領域とした場合、探索単位当たりの参照画像は４８画素×４８画素となる。入力ビデオデータをＮＴＳＣ（National Television System Comitee:７２０画素×４８０画素、３０フレーム／秒、画素レート１３．５ＭＨｚ）とすると、動きベクトル検出をリアルタイムに行なう時の探索単位あたりに与えられる時間は、およそ１９μ秒（１６×１６×７４ｎ秒）になり、その時間内にその探索単位に対応するすべての参照画像データを動きベクトル検出回路に入力するための転送レートは、およそ１２０Ｍ画素／秒以上になる。これが、テレスコピック探索での参照画像メモリと動きベクトル検出ユニットとの間に必要な転送レートになる。
【００２７】
また、図２８を用いて後述するように、動きベクトル検出の画像単位をインタレースによるフィールドとし、探索単位のサイズを１６画素×１６画素、探索範囲を前記探索単位のサイズに対して±１６画素×±８画素の領域とした場合、探索単位当たりの参照画像データはフィールドあたり４８画素×３２画素、フレームあたり４８画素×６４画素となり、前記転送レートはおよそ１６０Ｍ画素／秒以上になる。以下、テレスコピック探索を用いたリアルタイム動きベクトル検出処理において、参照画像メモリと動きベクトル検出ユニットとの間に必要な転送レートを１６０Ｍ画素／秒として説明する。
【００２８】
また、画素あたりのデータ量を８ビットとすると、ＮＴＳＣによる１フレームの画像を保持するために必要なメモリ容量はおよそ２．６Ｍビットとなる。これに対し、入力ビデオデータをＰＡＬ（phase alternation line:７２０画素×５７６画素、２５フレーム／秒、画素レート１３．５ＭＨｚ）とすると、１フレームの画像を保持するために必要なメモリ容量は３．３Ｍビットとなり、ＨＤＴＶ（high-definition television）などではさらに増える。
【００２９】
すなわち、テレスコピック探索を用いたリアルタイム動きベクトル検出回路においては、非常に高速なアクセスを可能とする大容量のメモリが必要になる。
大容量のメモリを構成するにはＤＲＡＭ（dynamic RAM）が有利であるが、ＤＲＡＭのＣＡＳ（column address strobe）サイクルは５０ナノ秒以下（２０ＭＣＡＳサイクル／秒以上）を実現するのは難しく、１６０Ｍ画素／秒の転送レートを実現するためにはページ切り替え時のＲＡＳ（row address strobe）の再立ち上げ時間による転送効率の低下を無視したとしても８並列６４ビット程度のデータバス構成が必要となり、データバス幅は膨大になる。
【００３０】
また、ＲＡＳの立ち上げ時間による転送効率の低下を避けるためには、独立した記憶領域（バンク）を交互にアクセスするインターリーブ構成などをとる必要があり、２バンクのインターリーブとすれば１６並列１２８ビットのデータバス構成となり、さらにバス幅を増大させる。
しかし、インターリーブ機能を装備した高速な同期型ＤＲＡＭを利用すれば、現在入手できるものでも（例えば、日立製作所製  ＨＭ５２４１６０５シリーズなど）２バンクのインターリーブメモリが１チップ化されており、またＣＡＳサイクルも４０Ｍサイクル／秒程度を容易に実現できる。この同期型ＤＲＡＭによって１６０Ｍ画素／秒の転送レートを実現するには４並列３２ビット程度でよい。
【００３１】
図２９は、ＭＰＥＧに従う従来の動きベクトル検出回路５６の構成を示すブロック図である。図２９に示す動きベクトル検出回路５６は、図２４のフォワード動きベクトル検出部５２およびバックワード動きベクトル検出部５３のそれぞれに対応している。図２４のフォワード動きベクトル検出部５２およびバックワード動きベクトル検出部５３では、フレームを単位として動きベクトルの検出を行ったが、ここでは、インタレースによるフィールドごとに動きベクトルの検出を行う。
【００３２】
図２９に示すように、動きベクトル検出回路５６は、トップフィールド参照画像メモリ５７、ボトムフィールド参照画像メモリ５８および動きベクトル探索ユニット５９を備える。動きベクトル探索ユニット５９は、さらに、キャッシュメモリ６０、キャッシュメモリ６１およびローカルメモリ６２を備える。なお、動きベクトル検出回路５６に入力される符号化対象画像データおよび参照画像データは、予めトップフィールドとボトムフィールドとに分けられ、それぞれ、トップフィールド参照画像メモリ５７およびボトムフィールド参照画像メモリ５８に入力される。
【００３３】
また、図２８は、ＭＰＥＧ２のＭ＝１フィールド構造を有する符号化対象画像データおよび参照画像データを時系列で示した説明図である。図２８において、「Ｉ０ｔ」は、そのフィールドが０番目のフレームのトップフィールドで、ピクチャ構造がＩピクチャであることを示し、「Ｐ２ｂ」は、そのフィールドが２番目のフレームのボトムフィールドで、ピクチャ構造がＰピクチャであることを示している。なお、ＭＰＥＧ２のＭ＝１フィールド構造とは、ＰピクチャとＩピクチャあるいはＰピクチャとのフィールド間隔が１であることを示す。また、Ｉピクチャとは動き補償を行わないフィールド内符号化画像をいい、Ｐピクチャとは時間的に前のフィールドを参照画像として順方向動き補償が行われるフィールド間予測符号化画像をいう。
【００３４】
トップフィールド参照画像メモリ５７は、参照画像データのトップフィールドを記憶する。図２８に示すように、参照画像データのトップフィールドは、符号化対象画像データがトップフィールドからボトムフィールドに移る時に更新される。
ボトムフィールド参照画像メモリ５８は、トップフィールド参照画像メモリ５７と同様の構成からなり、参照画像データのボトムフィールドを記憶する。参照画像のボトムフィールドは符号化対象画像データがボトムフィールドからトップフィールドに移る時に更新される。
【００３５】
このように、参照画像メモリを同期型ＤＲＡＭでトップフィールド参照画像メモリ５７とボトムフィールド参照画像メモリ５８とに分離して構成する場合、１６０Ｍ画素／秒の転送レートを実現するには、参照画像のフレームあたり４画素並列に読み出す必要があることから、それぞれのフィールドは２画素並列に読み出す必要がある。従って、トップフィールド参照画像メモリ５７およびボトムフィールド参照画像メモリ５８では、それぞれ、同一アドレスに２画素のデータを保持する。
【００３６】
動きベクトル探索ユニット５９は、トップフィールド参照画像メモリ５７およびボトムフィールド参照画像メモリ５８に対して、読み出しアドレスおよび読み出し制御信号を生成して、２画素データずつ参照画像データを読み出し、入力される符号化対象画像データの動きベクトルを検出する。また、動きベクトル探索ユニット５９は、１フィールドの符号化対象画像データについて、それぞれ、その符号化対象画像データより以前に入力された連続する２フィールドを参照画像として、それぞれ動きベクトルを検出する。例えば、符号化対象画像データＰ２ｔの動きベクトルとして、参照画像Ｐ１ｔを参照画像とする動きベクトルと、参照画像Ｐ１ｂを参照画像とする動きベクトルとが検出される。さらに、動きベクトル探索ユニット５９は、リアルタイムに動きベクトルを検出する場合には、１つのフレームが入力されてから次のフレームが入力されるまでの間に、当該フレーム中のトップフィールドおよびボトムフィールドの両方の符号化対象画像データについて、動きベクトルを検出する。
【００３７】
キャッシュメモリ６０は、２探索範囲分程度の記憶領域を有し、トップフィールド参照画像メモリ５７から読み出された参照画像データを、着目画像中の探索単位に対応する探索範囲の領域分、蓄える。
キャッシュメモリ６１は、２探索範囲分程度の記憶領域を有し、ボトムフィールド参照画像メモリ５８から読み出された参照画像データを、着目画像中の探索単位に対応する探索範囲の領域分、蓄える。前記キャッシュメモリ６０およびキャッシュメモリ６１に蓄えられた参照画像データは、動きベクトル探索ユニット５９によって読み出し制御され、動きベクトル検出処理に都合がよい順に読み出される。
【００３８】
ローカルメモリ６２は、入力される符号化対象画像データを記憶する。
ところで、上記構成において、キャッシュメモリ６０、６１を利用する回路の性質上、キャッシュメモリ６０、６１への書き込み時間と読み出し時間とはバランスしている必要がある。それは、動きベクトル探索ユニット５９が、例えば、キャッシュメモリ６０から読み出しを行なっている時間内に、キャッシュメモリ６０内の空いている記憶領域内に次に使う参照画像データを書き込んでおく必要があるからである。このことは、キャッシュメモリ６１に対しても、同様である。さもなくば、動きベクトル探索ユニット５９は、次に使われる参照画像データがキャッシュメモリ６０、６１に書き終わるのを待たなければならず、その分、回路動作周波数を上げなければならなくなり、不都合である。
【００３９】
従って、参照画像メモリ（図２９では、トップフィールド参照画像メモリ５７、ボトムフィールド参照画像メモリ５８のそれぞれを指す。）からの読み出しは、探索範囲の読み出しに最も長い時間を要し、参照画像メモリからの読み出し効率が最悪となる場合においても、その読み出しが、１探索単位の動きベクトル検出が終了する時間内に終了する必要があり、１探索単位の動きベクトル検出が終了する時間内に、参照画像メモリからの読み出しを終了できない場合を生じるときには、それに合わせて読み出し動作周波数を上げる必要がある。また、書き込みの場合も同様である。
【００４０】
上記のように、参照画像データの動きベクトル探索ユニット５９への読み出しは非常に高速であり、図２８に示した参照画像の切り替え更新時には、新しい参照画像データを参照画像メモリに書き込む必要がある。
例えば、図２８に示した符号化対象画像データＰ２ｔがローカルメモリ６２に入力されるときには、参照画像Ｐ１ｔと参照画像Ｐ１ｂとがすでにトップフィールド参照画像メモリ５７とボトムフィールド参照画像メモリ５８とに書き込まれていなければならない。参照画像Ｐ１ｔは、符号化対象画像データＰ１ｂの動きベクトルが検出される際にすでにトップフィールド参照画像メモリ５７に書き込まれているが、参照画像Ｐ１ｂは、ボトムフィールド参照画像メモリ５８内の参照画像Ｐ０ｂを読み出しながら符号化対象画像データＰ１ｂの動きベクトルが検出されている間に、ボトムフィールド参照画像メモリ５８内への書き込みが完了されていなければならない。この参照画像メモリへの参照画像データの書き込みと、動きベクトル探索ユニット５９への読み出しとを同時、もしくは、時分割で行なう場合には、参照画像メモリの動作周波数をさらに向上させる必要があり、不都合である。
【００４１】
図３０は、バッファメモリ７３、７４を備える従来の参照画像メモリ７９の構成を示すブロック図である。ここで、参照画像メモリ７９は、図２９のトップフィールド参照画像メモリ５７およびボトムフィールド参照画像メモリ５８のそれぞれに対応する。
参照画像メモリ７９は、データセレクタ７０、２つのアドレスセレクタ７１、２つの制御信号セレクタ７２、バッファメモリ７３、バッファメモリ７４および２つの３ステートバッファ７８を備える。また、動きベクトル探索ユニット５９は、キャッシュメモリ７５、読み出しアドレス生成回路７６および読み出し制御回路７７を備える。
【００４２】
データセレクタ７０は、バッファメモリ７３またはバッファメモリ７４から読み出される参照画像データを選択的にキャッシュメモリ７５に出力する。
２つのアドレスセレクタ７１のうち、一方のアドレスセレクタ７１はバッファメモリ７３に、他方のアドレスセレクタ７１はバッファメモリ７４に接続される。２つのアドレスセレクタ７１には、それぞれ、参照画像書き込みアドレスおよび読み出しアドレス生成回路７６からの参照画像読み出しアドレスが入力されており、バッファメモリ７３に接続されているアドレスセレクタ７１は、バッファメモリ７３に参照画像データが書き込まれるときにはバッファメモリ７３に参照画像書き込みアドレスを選択的に出力する。これと同時に、バッファメモリ７４に接続されているアドレスセレクタ７１は、バッファメモリ７４に読み出しアドレスを選択的に出力する。
【００４３】
２つの制御信号セレクタ７２のうち、一方の制御信号セレクタ７２はバッファメモリ７３に、他方の制御信号セレクタ７２はバッファメモリ７４に接続される。２つの制御信号セレクタ７２には、それぞれ、参照画像書き込み制御信号および読み出し制御回路７７からの参照画像読み出し制御信号が入力されており、バッファメモリ７３に接続されている制御信号セレクタ７２は、バッファメモリ７３に参照画像データが書き込まれるときにはバッファメモリ７３に参照画像書き込み制御信号を選択的に出力する。これと同時に、バッファメモリ７４に接続されている制御信号セレクタ７２は、バッファメモリ７４に読み出し制御信号を選択的に出力する。
【００４４】
バッファメモリ７３およびバッファメモリ７４は、それぞれ、接続されているアドレスセレクタ７１および制御信号セレクタ７２から入力される読み出し／書き込みアドレスおよび読み出し／書き込み制御信号に従って、参照画像データの更新毎に、参照画像データの書き込みと読み出しとが並行して、交互に行われ、それぞれ、１フィールド分の参照画像データを記憶する。具体的には、例えば、図２８に示した符号化対象画像データが入力されるタイミングで、まず、バッファメモリ７３にフィールド内符号化画像Ｉ０ｔが書き込まれたとすると、次のフィールド間予測符号化画像Ｐ０ｂは、バッファメモリ７４に書き込まれる。フィールド間予測符号化画像Ｐ０ｂがバッファメモリ７４に書き込まれいる間、これと並行して、バッファメモリ７４からフィールド内符号化画像Ｉ０ｔが読み出され、フィールド内符号化画像Ｉ０ｔを参照画像とした、フィールド間予測符号化画像Ｐ０ｂの動きベクトルの検出が行われる。
【００４５】
キャッシュメモリ７５は、動きベクトル検出の探索範囲としてデータセレクタ７０から入力される参照画像データを記憶する。
読み出しアドレス生成回路７６は、バッファメモリ７３およびバッファメモリ７４の読み出しアドレスを生成する。
読み出し制御回路７７は、バッファメモリ７３およびバッファメモリ７４の読み出し制御信号を出力する。
【００４６】
２つの３ステートバッファ７８は、バッファメモリ７３に接続されるデータバスおよびバッファメモリ７４に接続されるデータバスのそれぞれを選択的にドライブする。具体的には、バッファメモリ７３に参照画像データが書き込まれるときには、バッファメモリ７３に接続されているデータバス側の３ステートバッファ７８が導通状態となり、バッファメモリ７３に参照画像データを供給する。この間、バッファメモリ７４に接続されているデータバス側の３ステートバッファ７８は遮断状態となる。これにより、バッファメモリ７４から読み出された参照画像データが、バッファメモリ７４に接続されているデータバスを介して、データセレクタ７０に供給される。
【００４７】
以上のように、バッファメモリ７４から動きベクトル探索ユニット５９への参照画像データの読み出しが行われているときには、読み出しに利用されていないバッファメモリ７３に予め新しい参照画像データを書き込んでおき、参照画像の切り替え時には、読み出されるバンクをバッファメモリ７３に切り替えることにより、参照画像メモリの動作周波数の上昇を防止することができる。
【００４８】
【発明が解決しようとする課題】
しかしながら、上記構成では、バッファメモリ７３とバッファメモリ７４とを備える構成であるために、参照画像メモリに必要な記憶容量が倍になるのみならず、アドレス、データ、制御系においてマルチプレクサなどの周辺回路が必要となり、回路規模が大きくなりコストが増大するという問題点があった。
【００４９】
また、１フィールドあるいは１フレームの参照画像データを、２バンクインターリーブの同期型ＤＲＡＭの各バンクに配分して記憶し、記憶されている参照画像データの中から矩形領域で指定された参照画像データを読み出す場合には、高速な同期型ＤＲＡＭであっても、各バンクの１ページモードで連続して読み出しができる範囲の境界を越える際に他のバンクにインターリーブできない場合が発生する。この場合、同一バンク内でページの切り換えが発生し、ＲＡＳ立ち上げなどの待ち時間が生じることにより、参照画像メモリからの読み出し効率が低下するという問題点があった。さらに、読み出すべき矩形領域とページ境界との相対的位置関係によっては、画像データの読み出しのために生成されるメモリサイクルが複雑になるという問題点があった。前記問題点については、図２９を用いて、後に詳述する。
【００５０】
また、参照画像メモリなどのフレームメモリあるいはフィールドメモリ内に、画像データをＮＴＳＣフォーマットあるいはＰＡＬフォーマットに対応したアドレスで記憶させる場合には、画像メモリ内に使用されない記憶領域ができ、画像メモリの利用効率が低下するという問題点があった。また、アドレス変換によって、画像メモリ内の前記空き記憶領域内に、ＮＴＳＣフォーマットあるいはＰＡＬフォーマットの画像データを割当てようとする場合には、アドレス変換のために乗算器などの構成が必要となることから、メモリ制御のための回路規模が大きくなるとともに、演算による遅延時間が生じるなどの問題点があった。前記問題点については、図３３を用いて、後に詳述する。
【００５１】
図３１は、１フィールドの画像データを２バンク同期型ＤＲＡＭのバンク０とバンク１とに配分する場合のフィールド上の画像データのページ配分を示す説明図である。図３１において、空白部はバンク０のページとして配分されるフィールド内の画像データを示し、網掛け部はバンク１のページとして配分されるフィールド内の画像データを示している。図３１（ａ）はバンク０とバンク１との１ページを、それぞれ、１フィールドの走査線方向に５１２画素ずつ交互に配分する場合のページ配分、図３１（ｂ）はフィールド内の画像データを、１走査線毎に、バンク０とバンク１とに交互に配分する場合のページ配分を示す。また、図３１（ａ）と図３１（ｂ）とに示す矩形領域８０と矩形領域８１とは、フィールド内の同一位置にあるものとする。
【００５２】
１６ビット入出力の同期型４ＭビットＤＲＡＭは、それぞれ、１ワードを１６ビットとする２５６ワードのページを５１２ページ持つバンクを、２バンク内蔵する。この同期型ＤＲＡＭにおいて、１つのアドレスから読み出される１６ビットのデータを水平方向の２画素とすると、１つのページには５１２画素のデータが格納され、１フィールドの水平方向の解像度を１０２４画素とすると、１フィールドの画像に対して２つのバンクの１ページずつを割り当てれば良く、１つの同期型ＤＲＡＭで１０２４画素×５１２画素のフィールドメモリが構成される。例えば、図３１（ａ）の左側の５１２画素×５１２画素の領域はバンク０に記憶され、右側の５１２画素×５１２画素はバンク１に記憶される。この画像メモリの構成では、同一走査線上のデータを連続してアクセスする場合には、ページ境界においてバンク切り替えが起こるため、効率的な画像データの読み出しを行なうことができる。しかし、図３１（ａ）に示す矩形領域８０あるいは矩形領域８１などを読み出す場合には、矩形領域内８０、８１において読み出すべき画像データを一つの走査線上から隣接する次の走査線上の画像データに切り替える時、同一バンク内でページを切り替える必要があり、読み出し効率が低下するという問題点がある。
【００５３】
図３１（ｂ）では、矩形領域８０および矩形領域８１内で読み出しを行う画像データを隣接する次の走査線上の画像データに切り替える時には、バンク０とバンク１とを切り替えてインターリーブすることができるため、矩形領域８０および矩形領域８１内の画像データを効率的に読み出すことができる。しかし、矩形領域８２では、読み出しを行う画像データを、隣接する次の走査線上の画像データに切り替える時に、同一バンク内でページを切り替える必要があり、画像データの読み出し効率が低下してしまう。
【００５４】
図３２は、１フィールドの画像データを２バンク同期型ＤＲＡＭのバンク０とバンク１とに矩形状に配分する場合のフィールド上の画像データのページ配分を示す説明図である。同図において、空白部はバンク０のページとして配分されるフィールド内の画像データを示し、網掛け部はバンク１のページとして配分されるフィールド内の画像データを示している。
【００５５】
図３２（ａ）は１フィールドを３２画素×１６画素の矩形領域に分割し、前記矩形領域をフィールドの左上から交互にバンク０とバンク１とに配分した場合のページ配分を示し、図３２（ｂ）は１フィールドを６４画素×８画素の矩形領域に分割し、上記と同様に配分した場合のページ配分を示す。また、図３２（ａ）と図３２（ｂ）とに示す矩形領域８３と矩形領域８４とは、フィールド内の同一位置にあるものとする。
【００５６】
１６ビット入出力の前記同期型４ＭビットＤＲＡＭは１ページあたり２５６ワードであるので、図３２（ａ）に示す場合では、読み出される矩形領域のサイズを３２画素×１６画素とし、走査線方向の読み出し効率の向上のため、水平方向で隣り合う矩形領域は相異なるバンクに配置されるように構成した。
図３２（ａ）に示す場合では、このように参照画像データが各バンクに配分された参照画像メモリから、４８画素×３２画素の探索範囲を読み出すとすると、矩形領域８３を読み出す場合には、一方のバンクでページを切り替える時には、必ず他のバンクにインターリーブすることができるので、効率的に読み出しを行なうことができる。これに対し、矩形領域８４を読み出す場合には、矩形領域８４内の一つの走査線上の画像データを読み終わり、隣接する次の走査線上の画像データを読み出す時に、同一バンク内でページを切り替る必要があり、読み出し効率が低下してしまう。
【００５７】
図３２（ｂ）に示す場合は、矩形領域８４における問題点を解決するために、各バンクのページに配分される矩形領域のサイズを６４画素×８画素とした。ところが、今度は、矩形領域８５を読み出す場合に、図３１（ａ）に示した例において矩形領域８１を読み出す場合と同様、矩形領域８５内の一つの走査線上の画像データから次の走査線上の画像データを読み出すときに、同一バンク内でページ切り替えをする必要があり、読み出し効率が低下してしまう。
【００５８】
図３３は、所定のデータフォーマットの画像データを一定の記憶領域を有する画像メモリに格納する場合に、使用される画像メモリの記憶領域を示す説明図である。図３３（ａ）は、７２０画素×５７６画素のＰＡＬフォーマットの画像データを、そのまま、１０２４画素×１０２４画素のフレームメモリに格納する場合に、使用されるフレームメモリ内の記憶領域を示す。図３３（ｂ）は、１フレーム分の前記ＰＡＬフォーマットの画像データに対するフレームメモリの記憶領域を１０２４画素×５１２画素にした場合に、格納できなくなる画像データの領域を示す。
【００５９】
図３３（ａ）に示すように、ＰＡＬフォーマットの画像データをフレームメモリに格納する場合の特徴は、画像の位置を表す論理アドレスであるＸアドレスおよびＹアドレスの各ビットを並べるだけでメモリアドレスを生成できることである。しかしながら、この場合、フレームメモリを画像データの格納にしか利用しないとすると、その使用効率は４０％にすぎない。そこで、１フレーム分のＰＡＬフォーマットの画像データに対するフレームメモリの記憶領域を、前記記憶領域の１／２である１０２４画素×５１２画素にすると、図３３（ｂ）に示すようなメモリアドレス生成方法では、画像データの一部の領域がアドレスできなくなってしまうという問題点があった。
【００６０】
これに対し、フレームメモリの記憶領域をさらに効率的に使う方法として、画像データを１次元的にアドレスする方法が知られている。
たとえば、ＰＡＬフォーマットの画像データのように、水平方向の解像度が７２０画素の場合、最初の走査線上の画像データは０番地から７１９番地に格納され、２番目の走査線上の画像データを７２０番地から１４３９番地に格納し、以降（Ｎ＋１）番目の走査線上の画像データを、Ｎ番目の走査線上の画像データの直後に配置する方法である。この場合、ＰＡＬフォーマットの１フレームにおいて、アドレスが一番大きくなる画像データは、７２０×５７６−１＝４１４７１９番地となる。また、１０２４画素×５１２画素に相当するフレームメモリの最大アドレスは５２４２８７番地であるので、図３３（ａ）の画像データ格納方法に比べて、１／２の記憶領域内にすべてのデータを格納することができるという効果がある。
【００６１】
しかしながら、（０、０）を原点とする座標（ｘ、ｙ）の画素をアクセスする際には、メモリアドレスを生成するために（７２０ｙ＋ｘ）という複雑な計算が必要であり、特に、７２０ｙという乗算が必要なことから、乗算器が必要となり、このアドレス生成回路をゲートアレイなどに組み込む場合には回路規模が膨大になるとともに、演算による遅延時間が生じるなど、問題点が多かった。
【００６２】
本発明は、上記課題に鑑みてなされたものであり、有効に記憶領域を活用するとともに、簡易な構成により、安定して高速に、かつ効率よく画像データの読み出し書き込みを行うことができる画像メモリ装置を備える動きベクトル検出回路を提供することを目的とする。
【００６３】
【課題を解決するための手段】
上記目的を達成するために、本発明は、サイズの等しい複数のブロックからなる2つの画像の一方を着目画像とし、他方を参照画像とする場合に、着目画像中の前記１ブロックを探索単位とし、参照画像中の所定の位置に存するブロックを探索範囲として、前記探索単位と探索領域との間の動きベクトルを検出する動きベクトル検出回路であって、
入力された参照画像の画像データの所定量を一時的に格納するバッファと、
少なくとも１の参照画像に相当する画像データを格納している参照画像データメモリと、
着目画像中で動きベクトル検出の対象となる対象探索単位を隣接するブロックに順次シフトしながら、探索範囲を設定する探索範囲設定手段と、
前記探索範囲設定手段により設定された探索範囲の画像データを格納している探索範囲メモリと、
前記設定された探索範囲に属し、先行する探索単位の探索範囲には属しないブロックの画像データを、前記バッファから読み出し、読み出した画像データを前記参照画像データメモリと前記探索範囲メモリとに書き込む第1の参照画像データ書込み手段と、
前記探索範囲に属し、探索範囲の一部として、前記バッファから既に読み出されたブロックの画像データを、前記参照画像データメモリから読み出し、読み出した画像データを前記探索範囲メモリに書き込む第2の参照画像データ書込み手段と、
前記探索範囲メモリに格納された探索範囲内で、探索単位との差分が最も小さなブロックを探索し、前記探索単位と探索されたブロックとの間における動きベクトルを検出する動きベクトル検出手段と
を備えることを特徴としている。
【００６４】
ここで、前記動きベクトル検出回路は、同一画像を参照画像とする、時間的に連続した第１着目画像と第２着目画像とのうち、第１着目画像の動きベクトルがすでに検出されており、新たに第２着目画像の動きベクトルを検出する場合には、前記第１参照画像書き込み手段を停止する第１書き込み制御手段とを備え、
前記探索範囲設定手段は、第２着目画像内の各対象探索単位について、前記対象探索単位と第１着目画像内で同一位置にあるブロックに対してすでに検出されている動きベクトルに従って、当該対象探索単位に対応する探索範囲を設定することが出来る。
【００７５】
【作用】
請求項１の動きベクトル検出回路は、従来の動きベクトル検出回路のように、書き込み用と読み出し用との２つのバッファを備える必要がなく、このような従来の構成と比較して、２つのバッファにアドレスおよび書き込み／読み出し制御信号を切り換えるためのセレクタなどの分だけ、回路規模を縮小することができる。また、参照画像メモリに大きな記憶容量を必要とせず、時間的に連続した２つの画像の一方を着目画像とし、他方を参照画像とする場合に、第１参照画像書き込み手段と第２参照画像書き込み手段とによって、着目画像内の最後の探索単位に対応する探索範囲が探索範囲メモリ内に書き込まれるまでの間に、当該参照画像の参照画像メモリへの書き込みを完了することができる。
【００７６】
請求項２記載の動きベクトル検出回路において、請求項１記載の動きベクトル検出回路では、第１書き込み制御手段は、同一画像を参照画像とする、時間的に連続した第１着目画像と第２着目画像とのうち、第１着目画像の動きベクトルがすでに検出されており、新たに第２着目画像の動きベクトルを検出する場合には、前記第１参照画像書き込み手段を停止する。前記探索範囲設定手段は、第２着目画像内の各対象探索単位について、前記対象探索単位と第１着目画像内で同一位置にあるブロックに対してすでに検出されている動きベクトルに従って、当該対象探索単位に対応する探索範囲を設定する。
【００７７】
従って、請求項２記載の動きベクトル検出回路は、参照画像メモリにすでに書き込まれている参照画像を用いて、すでに検出されている動きベクトルに従ってその参照画像内に探索範囲を設定し、当該探索範囲を探索することによって、簡単な構成で、簡単な制御により、精度の高い動きベクトルを検出することができる。
【００８３】
【実施例】
（実施例１）
以下では、本実施例の参照画像メモリおよび動きベクトル検出回路について、図２〜図１を用いて説明する。また、以下では、テレスコピック探索によってフレームごとに動きベクトルを検出するものとする。
【００８４】
図１は、本発明の第１実施例である動きベクトル検出回路１６０の一部構成を示すブロック図である。図１には、図３０の参照画像メモリ７９および動きベクトル探索ユニット５９に対応する構成部分を示している。
動きベクトル検出回路１６０は、参照画像メモリ１６１および動きベクトル探索ユニット１６２を備える。参照画像メモリ１６１は、ＦＩＦＯメモリ１６８、３ステートバッファ１７０およびフレームメモリ１６９を備える。また、動きベクトル探索ユニット１６２は、ローカルメモリ１６４、メモリ制御部１６５、アドレス生成部１６６およびキャッシュメモリ１６７を備える。
【００８５】
動きベクトル探索ユニット１６２は、キャッシュメモリ１６７内に読み込まれた参照画像の探索範囲内を探索し、ローカルメモリ１６４に入力された着目画像中の探索単位に対して最も相関性の高い画像を指し示す動きベクトルを検出して図示しない画像符号化部に出力する。
フレームリオーダリング部１６３は、従来のフレームリオーダリング部５１と同様、前処理を施された入力ビデオデータとして、一定時間間隔で入力された数フレームの画像データを蓄えるとともに、符号化対象画像データをローカルメモリ１６４および図示しない画像符号化部に供給する。また、フレームリオーダリング部１６３は、蓄えた参照画像データを、ＦＩＦＯ書き込み信号とともにＦＩＦＯメモリ１６８に供給する。
【００８６】
ローカルメモリ１６４は、着目画像内の少なくとも１探索単位に相当する符号化対象画像データを保持する。
メモリ制御部１６５は、フレームメモリ１６９への読み出し制御信号および書き込み制御信号を生成する。また、メモリ制御部１６５は、キャッシュメモリ１６７およびフレームメモリ１６９内の参照画像データを更新するタイミングで、ＦＩＦＯメモリ１６８の読み出し信号を生成し、３ステートバッファ１７０を開いて、メモリデータバス上に参照画像データを送出する。これにより、メモリデータバス上に送出された参照画像データが、フレームメモリ１６９とキャッシュメモリ１６７とに供給される。これと同時に、メモリ制御部１６５は、フレームメモリ１６９に書き込み制御信号を出力し、メモリデータバス上の参照画像データをフレームメモリ１６９内に書き込む。
【００８７】
アドレス生成部１６６は、フレームメモリ１６９のメモリアドレスを生成する。
キャッシュメモリ１６７は、ローカルメモリ１６４に入力された着目画像内の各探索単位に対応する探索範囲の参照画像データを保持する。
ＦＩＦＯメモリ１６８は、ローカルメモリ１６４に入力された探索単位について、フレームリオーダリング部１６３から探索範囲分の矩形領域として読み出された参照画像であって、キャッシュメモリ１６７およびフレームメモリ１６９を更新するための参照画像データを保持する。ＦＩＦＯメモリ１６８が保持する参照画像のデータ量は、矩形領域の大きさで２探索単位程度でよい。ＦＩＦＯメモリ１６８は、１フレーム時間で１フレーム分の参照画像を更新するので、その書き込みレートは高だかビデオレートである。
【００８８】
フレームメモリ１６９は、１フレーム分の参照画像データを保持する。ローカルメモリ１６４に入力された探索単位について、まだフレームメモリ１６９に格納されていない参照画像データは、ＦＩＦＯメモリ１６８から読み出され、フレームメモリ１６９に書き込まれる。
３ステートバッファ１７０は、メモリ制御部１６５からの制御信号に従って動作するゲート回路であり、ＦＩＦＯメモリ１６８から参照画像データが読み出される際にはバッファ動作をして、ＦＩＦＯメモリ１６８から読み出された参照画像データをメモリデータバスに送出する。また、フレームメモリ１６９から参照画像データが読み出される際にはハイインピーダンス状態となり、ＦＩＦＯメモリ１６８からメモリデータバスへの画像データの送出を遮断する。
【００８９】
図１に示した参照画像メモリ１６１を、図３０に示したダブルバッファを備えた参照画像メモリ７９と比較すると、更新する参照画像データを蓄えるためのＦＩＦＯメモリ１６８が必要になるが、フレームメモリ１６９に必要なメモリ容量は半分になる。また、図３０におけるバッファメモリ７３およびバッファメモリ７４の参照画像データを更新するための書き込みアドレス生成回路や、書き込みのメモリ制御回路が不要になるので、フレームリオーダリング部１６３の構成を簡素化することができる。さらに、フレームリオーダリング部１６３は、キャッシュメモリ１６７との間にＦＩＦＯメモリ１６８を介しているので、キャッシュメモリ１６７の更新タイミングに厳密な同期をとる必要がなく、また、ＦＩＦＯメモリ１６８への参照画像の更新レートは、ビデオレート程度であるので、従来のフレームリオーダリング部５１と同程度の動作速度で参照画像データの転送を行えばよい。このため、フレームリオーダリング部１６３は、参照画像の更新データの矩形領域を読み出す手段を付加する必要があるが、特別な高速化は不要であり、従来のフレームリオーダリング部５１と同様の構成で実現することができる。動きベクトル検出回路１６０は、データセレクタ７０、アドレスセレクタ７１、制御信号セレクタ７２などが不要になるので、動きベクトル検出回路１６０の構成を簡素化することができる。
【００９０】
図２は、動きベクトル検出回路１６０に入力される符号化対象画像データ、参照画像データおよびオフセットベクトルを時系列で示す説明図である。
図２において、「Ｉ０」はピクチャ構造がＩピクチャである０番目のフレームを示し、「Ｂ１」はピクチャ構造がＢピクチャである１番目のフレームを示し、「Ｐ３」はピクチャ構造がＰピクチャである３番目のフレームを示す。また、Ｂピクチャとは、時間的に前のフレームを参照画像として順方向動き補償が行われるとともに、時間的に後のフレームを参照画像として逆方向動き補償が行われる双方向フレーム間予測符号化画像をいう。このＢピクチャは参照画像とされることがなく、ＩピクチャまたはＰピクチャが参照画像として用いられる。
【００９１】
図２において、着目画像Ｂ１は、参照画像をＩ０としてフレーム間距離１の順方向動きベクトルを検出するため、着目画像Ｂ１内の探索単位に対する参照画像Ｉ０内の探索範囲のオフセットベクトルは０である。
また、着目画像をＢ２としたときには、参照画像Ｉ０までのフレーム間距離は２であるので、参照画像をＩ０とする着目画像Ｂ１の順方向動きベクトルから、参照画像Ｉ０内の探索範囲のオフセットベクトルを生成して順方向動きベクトルを検出する。
【００９２】
さらに、着目画像Ｐ３は、参照画像Ｉ０までのフレーム間距離が３であるので、参照画像をＩ０とし着目画像をＢ２としたときの動きベクトルから、オフセットベクトルを生成して順方向動きベクトルを検出する。
同様に、着目画像Ｂ４は、参照画像Ｐ３までのフレーム間距離１の動きベクトルを検出するため、オフセットベクトルは０である。着目画像Ｂ５は参照画像Ｐ３までのフレーム間距離が２であるので、参照画像をＰ３とする着目画像Ｂ４の動きベクトルからオフセットベクトルを生成して動きベクトルを検出する。
【００９３】
さらに着目画像Ｐ６は参照画像Ｐ３までのフレーム間距離が３であるので、参照画像をＰ３とする着目画像Ｂ５の動きベクトルからオフセットベクトルを生成して動きベクトルを検出する。
このようにテレスコピック探索であってもフレーム間距離が１であるときはオフセットベクトルは０であり、隣り合う探索単位の探索範囲は図２７（ａ）で示したように規則的に大きく重なり合う。
【００９４】
図３は、水平方向と、さらに垂直方向とに隣り合う探索単位に対応して、共通する探索範囲を示す説明図である。
例えば、図３（ａ）に示す１つの探索単位ＭＢ４の探索範囲において、着目画像中で探索単位ＭＢ４と水平方向に隣り合う探索単位ＭＢ３の探索範囲と、着目画像中で探索単位ＭＢ４と垂直方向に隣り合う探索単位ＭＢ２の探索範囲とに共通しない領域は、斜線で示す右下の領域である。
【００９５】
この特徴を利用すると、あらかじめフレームメモリ１６９の参照画像データを更新しておかなくても、図３（ｂ）に示すように、すでに動きベクトル検出を完了した探索単位の探索範囲と共通する探索範囲についてはフレームメモリ１６９から参照画像データを読み出し、当該探索単位に対して参照画像データがフレームメモリ１６９内に保持されていない探索範囲については、新たに、フレームメモリ１６９への書き込みをおこなって参照画像データを更新するとともに、キャッシュメモリ１６７への参照画像データの入力を行うことができる。すなわち、図３（ａ）に示す探索範囲について、探索単位ＭＢ２と探索単位ＭＢ３とは、すでに動きベクトル検出を終えた探索単位であり、その参照画像データは探索単位ＭＢ４の動きベクトル検出の際にはすでに、フレームメモリ１６９内に書き込まれている。従って、探索単位ＭＢ４の動きベクトル検出においては、探索単位ＭＢ２および探索単位ＭＢ３の探索範囲と共通する領域内の参照画像データは、フレームメモリ１６９からキャッシュメモリ１６７に読み出される。探索単位ＭＢ４以前の探索単位について、まだ動きベクトル検出が行われていない領域の参照画像データは、フレームメモリ１６９内に新たに書き込まれると同時に、キャッシュメモリ１６７に書き込まれる。
【００９６】
このようにして、例えば、参照画像Ｉ０に対するフレーム間距離１の着目画像Ｂ１について、すべての動きベクトルが検出される時点では、フレームメモリ１６９内に、参照画像Ｉ０の１フレーム分すべての参照画像データが書き込まれていることになる。これにより、参照画像をＩ０とするフレーム間距離２の着目画像Ｂ２について動きベクトルが検出される際には、参照画像Ｉ０の参照画像データは、すべてフレームメモリ１６９内に保持されている。従って、前記テレスコピック探索により、着目画像Ｂ２内の各探索単位に対して、参照画像Ｉ０中のどの位置に探索範囲が設定されたとしても、その探索範囲の参照画像データをフレームメモリ１６９からキャッシュメモリ１６７に読み出すことができる。
【００９７】
なお、本実施例においては、動きベクトル検出回路１６０がテレスコピック探索によってフレームごとに動きベクトルを検出する場合について説明したが、図３０に示した参照画像メモリ７９と同様、フレームメモリ１６９をフィールドメモリとし、トップフィールドとボトムフィールドとのそれぞれに、キャッシュメモリとフィールドメモリとを備え、テレスコピック探索によってフィールドごとに動きベクトルを検出するよう構成してもよい。
（実施例２）
図４は、本発明の第２実施例である動きベクトル検出回路１２０の一部構成を示すブロック図である。図４において、ａ、ｂ、ｃを０または正の整数とし、画像データの走査線方向の画素毎に定められるアドレスをＸアドレス、走査線に垂直方向の画素毎に定められるアドレスをＹアドレスすると、Ｘ［ａ：ｂ］は第ａビットから第ｂビットまでの（ａ−ｂ＋１）ビットの２値数で表されているＸアドレスを示し、Ｙ［ｃ］は２値数で表されているＹアドレスの第ｃビットの値を示す。
【００９８】
なお、図４に示すローカルメモリ１６４は、図１に示した動きベクトル検出回路１６０の説明において、すでに説明しているので、同一参照符号を付し、説明を省略する。また、図４に示すフィールドメモリ１２１、動きベクトル探索ユニット１２２、メモリ制御部１２３、アドレス生成回路１２６およびキャッシュメモリ１２８は、図１に示したフレームメモリ１６９、動きベクトル探索ユニット１６２、メモリ制御部１６５、アドレス生成部１６６およびキャッシュメモリ１６７に対応している。
【００９９】
動きベクトル検出回路１２０は、フィールドメモリ１２１および動きベクトル探索ユニット１２２を備える。動きベクトル探索ユニット１２２は、さらに、メモリ制御部１２３、アドレス生成回路１２６、キャッシュメモリ書き込み制御回路１２７およびキャッシュメモリ１２８を備える。メモリ制御部１２３は、バンクセレクト回路１２５およびアドレスマルチプレクサ／ＤＲＡＭ制御回路１２４を備える。
【０１００】
フィールドメモリ１２１は、例えば、日立製作所製  ＨＭ５２４１６０５シリーズなどの市販されている１チップの同期型ＤＲＡＭによって実現される。前記ＨＭ５２４１６０５シリーズは、１ワードを１６ビットとし、１３１０７２ワードの記憶容量を有する２つのメモリバンク（バンク０およびバンク１）を内蔵した、データ入出力幅１６ビット（２画素）、総記憶容量４Ｍビットの同期型ＤＲＡＭである。なお、本実施例では、フィールドメモリ１２１に対して一回のアクセスで読み書きできるデータ量を「ワード」とする。また、同期型ＤＲＡＭは、外部から入力されるシステムクロックに同期して動作し、入力ピンの組み合わせによって与えられるコマンドに従って機能するという特徴がある。前記コマンドについては、図５〜図７を用いて後述する。
【０１０１】
なお、動きベクトル検出回路１２０は、トップフィールドとボトムフィールドとのそれぞれについて前記同期型ＤＲＡＭからなるフィールドメモリ１２１を備えるよう構成してもよい。また、フィールドメモリ１２１を構成する同期型ＤＲＡＭは、単なる画像メモリであるので、必ずしもフィールドを書き込む必要はない。従って、フレーム間の動きベクトル検出のみを行う場合には、１つの前記フィールドメモリ１２１をフレームメモリとして備えるよう構成してもよい。
【０１０２】
アドレスマルチプレクサ／ＤＲＡＭ制御回路１２４は、９ビットのＹアドレスをロウアドレスとし、Ｘアドレスの第９ビットから第４ビットまでの６ビットのさらに下位２ビットに２進数で「００」を付加した８ビットをカラムアドレスとして、バンクセレクト回路１２５の生成するバンクセレクト信号と多重化してＤＲＡＭアドレスを生成する。また、アドレスマルチプレクサ／ＤＲＡＭ制御回路１２４は、ＤＲＡＭの制御信号を生成してフィールドメモリ１２１に出力する。
【０１０３】
バンクセレクト回路１２５は、Ｘアドレスの第３ビットとＹアドレスの第０ビットとの排他的論理和（ＥＸＯＲ）を取り、バンクセレクト信号を生成する。これにより、１０２４画素×５１２画素の１フィールドの参照画像データに対して、アドレス生成回路１２６によって生成されるアドレス領域が、８（画素）×１（画素）の矩形領域に区分され、バンク０とバンク１とに市松状に配分される。ここでは、参照画像中の水平方向の８画素を各バンクの１ページモードサイクルとし、水平方向の同一位置で垂直方向に隣接する画素は、相互に異なるバンクに配分する。なお、ページモードサイクルとは、その長さが同期型ＤＲＡＭ内のレジスタに「バースト長」として設定されるもので、一回のコマンドの発行に対して実行される連続した画像データの読み出し、あるいは、書き込み動作をいう。前記ページモードサイクルにおいては、１つのバンクに対して、同一ロウアドレスで、前記バースト長の画像データが連続して読み出され、あるいは、書き込まれる。また、ここでは、各バンクのページモードサイクルの大きさを、８画素の画像データが連続して読み出される時間として説明するが、各バンクのページモードサイクルの大きさは、読み出される矩形領域の大きさに応じて、２のｎ乗（ｎは正の整数）で適当な大きさに定められればよく、８画素×１画素に限定されない。一般に、各バンクのページモードサイクルの大きさを２のｎ乗とするときには、バンクセレクト回路１２５にＸアドレスの第ｎビットとＹアドレスの第０ビットとを入力すればよい。
【０１０４】
アドレス生成回路１２６は、フィールドメモリ１２１のメモリアドレスとして、１０ビットのＸアドレスおよび９ビットのＹアドレスを生成する。
キャッシュメモリ書き込み制御回路１２７は、アドレス生成回路１２６が生成したＸアドレスの第２ビットから第０ビットまでを入力し、フィールドメモリ１２１から読み出されてくる参照画像データのうち、読み出しグループに対するオフセットから必要なデータを判別するとともに、読み出された参照画像データの配列を修正してキャッシュメモリ１２８に書き込む。
【０１０５】
図５は、フィールドメモリ１２１のバンク０およびバンク１への画像データのページ配分と、それに対応する読み出し動作を示すタイミング図である。図５の上段は、同期型ＤＲＡＭ全体から見て、入力されるコマンドとそれに応じて読み出される画像データとを示す。同図中段には、同期型ＤＲＡＭに入力されコマンドのうち、バンク０を指定したコマンドとそれに応じた出力とを示し、同図下段には、バンク１を指定したコマンドとそれに応じた出力とを示す。
【０１０６】
なお、図５と、後に示す図７、図１１、図１３、図１５および図１７とに示されている「act」、「read」、「pre」および「rda」は、それぞれ、同期型ＤＲＡＭの機能を指定するためのコマンドである。それぞれ、「act」はコマンドＡＣＴ（row address strobe and bank act）、「read」はコマンドＲＥＡＤ（column address strobe and read command）、「pre」はコマンドＰＲＥ（precharge select bank）、「rda」はコマンドＲＤＡ（read with auto precharge）を示す。コマンドＡＣＴによって、ロウアドレスが指定されるとともに、バンク０およびバンク１のうち指定されたバンクが活性化される。コマンドＲＥＡＤによって、読み出し動作、すなわち、ページモードが開始され、このときのカラムアドレスで指定された格納位置から、画像データが連続的に読み出される。コマンドＰＲＥによって、指定されたバンクが非活性化される。すなわち、これにより、読み出しによって活性化された状態にあるバンクが、次の読み出しのために非活性化される。また、コマンドＲＤＡによって、指定されたバンクに対し、コマンドＲＥＡＤに続いて自動的にコマンドＰＲＥが実行される。
【０１０７】
なお、以下では、同期型ＤＲＡＭを４０ＭＨｚ程度の動作周波数で動作させるために、ＡＣＴ→ＲＥＡＤ間の遅延時間、すなわち、コマンドＡＣＴとコマンドＲＥＡＤとの間の時間間隔を２クロックに、ＰＲＥ→ＡＣＴ間の遅延時間、すなわち、コマンドＰＲＥとコマンドＡＣＴとの間の時間間隔を２クロックに、また、ＣＡＳレイテンシー（Latency）、すなわち、コマンドＲＥＡＤが発行されてから、それに対応するデータが出力されるまでの遅延時間を２クロックに初期設定する。このため、図５に示す場合では、前記同期型ＤＲＡＭのページモードサイクル長を４クロックに設定する。なぜならば、ＲＡＳを再立ち上げるには、読み出しによって活性化されたバンクを非活性の状態に戻し、さらに、ロウアドレスを指定し、再度そのバンクを活性化しなければならないからである。これに要する時間は、ＰＲＥ→ＡＣＴ→ＲＥＡＤの４クロックであるので、ページモードのサイクル長を４クロック以上とすることにより、インターリーブによって一方のバンクを読み出している間に、他方のバンクのＲＡＳサイクルの再起動を完了することができる。図５の上段に示すように、これによって、同期型ＤＲＡＭからは、ＲＡＳ再立ち上げによる待ち時間を生じることなく、バンク０とバンク１とから連続して画像データが読み出されることが判る。
【０１０８】
また、この場合、１クロックで１ワードの画像データが読み出されるので、ページモードのサイクル長は、最低４ワード必要である。また、１６０Ｍ画素／秒の転送レートを実現するためには２画素並列に読み出す必要があることから、ページモードサイクル長は最低８画素となる。以下では、ページモードサイクル長を８画素として説明する。
【０１０９】
図６は、フィールドメモリ１２１から水平方向に連続して読み出すべき１６画素の画像データと、それに対応して読み出される読み出しグループとの関係を示す説明図である。図６において、１フィールドの画像データは、水平方向８画素×垂直方向１画素の領域ごとに市松状に異なるバンクにページ配分されている。
図６に示すように、水平方向のどの位置から連続する１６画素の画像データも、当該１６画素の画像データの先頭画素に対して０画素〜７画素のオフセットをもって選ばれた、水平方向に連続した３ページモードサイクル２４画素の画像データからなる読み出しグループの中に含まれる。すなわち、任意のＸ方向１６画素の領域を読み出すためには、３回のページモードサイクルからなる２４画素の読み出しグループ（例えば、読み出しグループＡ、または、読み出しグループＢ）を読み出し、そこから所望の１６画素を取り出せば良い。このように水平方向に連続した３ページモードサイクルの読み出しグループを読み出す場合には、ページモードサイクルの切り換えに際して、図６に示すように、バンク０→バンク１→バンク０の順、あるいは、バンク１→バンク０→バンク１の順にインターリーブすることができ、水平方向のどの位置から連続する１６画素に対しても、４クロック×３ページモードサイクル＝１２クロックで読み出しを完了することができる。
【０１１０】
図７は、１６画素×２画素の矩形領域を、図６に示した読み出しグループを単位として読み出す場合のタイミング図である。
１６画素×２画素の矩形領域を読み出す場合には、前記矩形領域内の第０列にある１６画素に対して、３ページモードサイクルの読み出しグループをすべて読み出し、第１列にある１６画素に対しても同様に、対応する読み出しグループをすべて読み出す。図６に示したように、水平方向のページモードサイクル切り換えに際して、一方のバンクから他方のバンクにインターリーブすることができるとともに、第０列目の読み出しグループの読み出しを完了し、第１列目の読み出しグループの読み出しを開始する際にも、一方のバンクから他方のバンクにインターリーブすることができる。従って、図７に示すように、このように矩形領域の読み出しを行うことにより、第０列の読み出しグループの読み出し開始から、第１列の読み出しグループの最後のデータまで、２４クロックで読み出しを完了することができる。従って、フィールドメモリ１２１から１６画素×Ｎ（Ｎは自然数）画素の矩形領域の画像データを、バンクセレクト回路１２５によって読み出すとすると、前記矩形領域がフレーム内のどの位置にある場合であっても、矩形領域内のすべての画像データの読み出しを１２Ｎクロックで完了することができる。
【０１１１】
図８は、フィールドメモリ１２１のバンクセレクト回路の構成と、その画像データ書き込み時のページ配分動作を示す説明図である。図８（ａ）は、バンクセレクト回路に入力される画像データのＸ、Ｙアドレスと、それに対応して出力されるバンクセレクト信号との関係を示す。図８（ｂ）は、Ｘアドレスの第３ビットをそのままバンクセレクト信号とした場合における画像データのアドレスとバンクセレクト信号との関係を示す。
【０１１２】
Ｘ方向にページモードサイクル長（８画素）ごとの画像データを、順次、異なるバンクに格納するためには、図８（ｂ）に示すように、画像データのＸアドレスの第３ビットをそのままバンクセレクト信号としてバンクを選択すればよい。この場合、図８（ｂ）の右側に示すように、Ｙアドレスが同一の画像データは同一のバンクに格納される。
【０１１３】
また、上下に隣接する画素を異なるバンクに格納するためには、さらに、Ｙアドレスの第０ビットに応じてバンクを選択する必要がある。従って、図８（ａ）に示すように、Ｘアドレスの第３ビットとＹアドレスの第０ビットとの排他的論理和をとれば、垂直方向に偶数番目の列上の画像データの最初の８画素はバンク０に、次の８画素はバンク１に格納され、以後、８画素ごとに、バンク０とバンク１とに交互に格納される。また奇数番目の列上の画像データは、最初の８画素はバンク１に、次の８画素はバンク０に格納され、以後、８画素ごとに、バンク１とバンク０とに交互に格納される。
【０１１４】
図９は、フィールドメモリ１２１から水平方向に連続して読み出すべき３２画素の画像データと、それに対応して読み出される読み出しグループとの関係を示す説明図である。図９において、フィールドメモリ１２１内の１フィールドの画像データは、水平方向８画素×垂直方向１画素の領域ごとに市松状に異なるバンクにページ配分されている。図９（ａ）に示すように、水平方向のどの位置から連続する３２画素の画像データも、当該３２画素の画像データの先頭画素に対して０画素〜７画素のオフセットをもって選ばれた、水平方向に連続した５ページモードサイクル４０画素の画像データからなる読み出しグループの中に含まれる。すなわち、図６と同様に、任意のＸ方向３２画素の領域を読み出すためには、５回のページモードサイクルで４０画素の読み出しグループ（例えば、読み出しグループＣ、または、読み出しグループＤ）を読み出し、そこから所望の３２画素を取り出せば良い。
【０１１５】
このように、任意のＸ方向３２画素の領域の読み出しに、５回のページモードサイクルで４０画素の読み出しグループを読み出して、そこから所望の３２画素を取り出すことにより、水平方向にも垂直方向にも、ページモードサイクルの切り換えに際して、常に、バンク０とバンク１とにインターリーブすることができ、常に、４クロック×５ページモードサイクル＝２０クロックで読み出しを完了することができる。従って、このようにして、３２画素×Ｎ画素の矩形領域内の画像データを読み出す場合には、常に、２０Ｎクロックで読み出しを完了することができる。
【０１１６】
図９（ｂ）は、水平方向８画素×垂直方向１画素の領域ごとに市松状に異なるバンクにページ配分されたフィールド内で、水平方向に連続して読み出すべき４８画素の画像データと、それに対応して読み出される読み出しグループとの関係を示す。図９（ｂ）に示すように、水平方向のどの位置から連続する４８画素の画像データも、当該４８画素の画像データの先頭画素に対して０画素〜７画素のオフセットをもって選ばれた、水平方向に連続した７ページモードサイクル５６画素の画像データからなる読み出しグループの中に含まれる。従って、図６に示した場合と同様に、任意のＸ方向４８画素の領域を読み出すためには、７回のページモードサイクルで５６画素の読み出しグループ（例えば、読み出しグループＥ、または、読み出しグループＦ）を読み出し、そこから所望の４８画素を取り出せば良い。
【０１１７】
任意のＸ方向４８画素の領域の読み出しに、７回のページモードサイクルで５６画素の読み出しグループを読み出して、そこから所望の４８画素を取り出すことにより、水平方向にも垂直方向にも、ページモードサイクルの切り換えに際して、常に、バンク０とバンク１とにインターリーブすることができ、常に、４クロック×７ページモードサイクル＝２８クロックで読み出しを完了することができる。従って、このようにして、４８画素×Ｎ画素の矩形領域内の画像データを読み出す場合には、常に、２８Ｎクロックで読み出しを完了することができる。
【０１１８】
このように画像圧縮などの画像処理で比較的良く用いられるＸ方向の画素数が１６画素、３２画素、４８画素などの矩形領域の読み出しでは、本発明を適応すれば走査線あたり奇数回のページモードサイクルを起こす必要があり、その場合図８（ｂ）に示すようにＸアドレスのビット３のみでバンク選択をすると前の走査線の最後の読み出しバンクが次の走査線の最初の読み出しバンクと同一になってしまい、そこでページモードサイクル切り替えのためのＲＡＳサイクルの再起動が必要となりメモリの読み出し効率が低下してしまう。
【０１１９】
探索単位のサイズを１６画素×１６画素、探索範囲を±１６画素×±１６画素とした場合、探索単位当たりの参照画像は４８画素×４８画素となる。動画像をＮＴＳＣ（７２０画素×４８０画素、３０フレーム／秒、画素レート１３．５ＭＨｚ）とすると、動きベクトル検出をリアルタイムに行なう時の探索単位あたりに与えられる時間はおよそ１９μ秒（１６×１６×７４ｎ秒）になり、その時間内にその探索単位に対応するすべての参照画像を動きベクトル検出回路に入力するための転送レートはおよそ１２０Ｍ画素／秒以上になる。これが、テレスコピック探索での参照画像メモリと探索ユニットとの間に必要な転送レートになる。
【０１２０】
以下では、図７〜図１７を参照しながら、上記のようにページ配分されたフィールドメモリ１２１から矩形領域で指定された画像データを読み出す場合と、図３１（ａ）から図３２（ｂ）に示したような従来のページ配分による２バンク同期型ＤＲＡＭの画像メモリから矩形領域で指定された画像データを読み出す場合とを比較して、検討する。従来の課題として説明したように、画像メモリからの画像データの読み出しにおいて、同一バンクをページモードサイクル境界を越えて連続してアクセスするときに読み出し効率が悪くなる。そこで、以下では、Ｘ方向１６画素の矩形領域の第０列の読み出し開始から、第２列の最初のデータの直前までに必要なクロック数を調べる。
【０１２１】
図１０は、従来の同期型ＤＲＡＭから読み出されるＸ方向１６画素の矩形領域とページモードサイクル境界との相対的位置関係を示す説明図である。図１０左側（１）〜（８）には、バンク０のページモードサイクルと読み出すべき矩形領域との相対的位置関係を示し、右側には、同期型ＤＲＡＭから読み出すべき矩形領域を示す。図１１は、従来の同期型ＤＲＡＭから、Ｘ方向にバンク切り換えが起こらない矩形領域内の画像データが読み出される場合のタイミング図である。具体的には図１１は、図３１（ａ）に示したページ配分の同期型ＤＲＡＭから、矩形領域８０または矩形領域８１のように配置されたＸ方向１６画素の矩形領域内の画像データが読み出される場合を示す。
【０１２２】
図１１には、図１０左側（１）〜（８）に示した相対的位置関係を有する矩形領域を読み出す場合の同期型ＤＲＡＭに対する、バンクを指定したコマンド列と、そのコマンド列によって読み出される画像データを示す。前記コマンド列における「Ａ」はバンク０を示し、「Ｂ」はバンク１を示す。また、読み出される画像データを示す図中において、上段の数字は読み出される画像データの列番号を示し、下段の数字は読み出される画像データの矩形領域内での相対Ｘアドレスを示す。図１０左側（１）〜（８）は、破線でページモードサイクル境界を示したＸ方向に連続する３ページモードサイクルを前記読み出しグループとみなしたときのＸアドレスのオフセットがそれぞれ０〜７の場合を示している。下段（９）は、図７に示したように、Ｘ方向に連続する３ページモードサイクルを前記読み出しグループとして図１０の右側に示す矩形領域を読み出す場合を示している。また、前記コマンド列における「act」、「rd」、「pre」および「rda」は、それぞれ、コマンドＡＣＴ、コマンドＲＥＡＤ、コマンドＰＲＥおよびコマンドＲＤＡを示す。
【０１２３】
図１１（１）〜（８）に示すように、図３１（ａ）に示したページ配分では、矩形領域内の第０列および第１列のそれぞれの列上の画像データは、一つのコマンドＡＣＴにより連続的に読み出される。しかし、第０列の読み出しを完了してから、コマンドＲＥＡＤにより次の第１列の読み出しを開始するまでの間に、ＰＲＥ→ＡＣＴ→ＲＥＡＤの４クロックのオーバーヘッドを生じる。特に、矩形領域の先頭画素のＸアドレスのオフセットが奇数のときには、オフセットが偶数のときより、Ｘ方向一列あたり１ワード多く読み出さなければならない。このため、矩形領域内の第０列の最初の画像データが出力されてから、第２列の最初の画像データが出力される直前までに要する時間は、２６クロックとなり、（９）に示したように本実施例のフィールドメモリ１２１から上記矩形領域を読み出す場合に比べて、２クロック長くなる。
【０１２４】
図１２および図１４は、従来の同期型ＤＲＡＭから読み出されるＸ方向１６画素の矩形領域と１バンク境界を含んだページモードサイクル境界との相対的位置関係を示す説明図である。図１３および図１５は、従来の同期型ＤＲＡＭから、Ｘ方向に一回のバンク切り換えで矩形領域が読み出される場合のタイミング図である。具体的には、図１３および図１５は、図３２（ａ）または図３２（ｂ）のようにページ配分された同期型ＤＲＡＭから、矩形領域８３または矩形領域８４のように配置されたＸ方向１６画素の矩形領域内の画像データが読み出される場合を示す。
【０１２５】
図１３（１）から（８）では、図１２に示した（１）から（８）の境界との位置関係に対応して、矩形領域の各列１６画素が読み出される際に、バンク０から１５画素〜８画素の画像データが読み出された後、バンク１から残りの１画素〜８画素の画像データが読み出される場合のタイミングを示している。これに対して、図１５（１）〜（７）では、矩形領域の各列１６画素が読み出される際に、バンク０から７画素〜１画素の画像データが読み出された後、バンク１から残りの９画素〜１５画素の画像データが読み出される場合のタイミングを示している。また、図１２および図１４において、（９）は、図７に示したように、Ｘ方向に連続する３ページモードサイクルを前記読み出しグループとして図１２および図１４右側に示す矩形領域を読み出す場合を示している。
【０１２６】
図１２および図１４において、読み出される画像データのうち斜線部で示した画像データは、一旦読み出された後、廃棄されるよう制御されてもよいし、読み出されないよう制御されてもよい。しかし、当該画像データは、読み出されないよう制御されたとしても、他方のバンクに対するＰＲＥ→ＡＣＴ→ＲＥＡＤ間のそれぞれ２クロックの遅延時間により、この画像データの読み出しに要する時間分はオーバーヘッドとなる。
【０１２７】
図１２の（１）と図１４の（７）とに示すように、前記矩形領域の読み出しに最も長い時間を要するのは、矩形領域のＸ方向１６画素のうち、１画素だけが一方のバンクに、残りの１５画素が他方のバンクに配分されている場合である。この場合、矩形領域内の第０列の最初の画像データが読み出されてから、第２列の最初の画像データが読み出される直前までに要する時間が、２４クロックとなり、（９）に示した読み出し時間と同じである。
【０１２８】
図１６は、本実施例のフィールドメモリ１２１から読み出されるＸ方向１６画素の矩形領域とページモードサイクル境界との相対的位置関係を示す説明図である。図１７は、本実施例のフィールドメモリ１２１から、Ｘ方向１６画素の矩形領域を従来と同様にして読み出す場合のタイミング図である。図１７（１）〜（８）は、前記矩形領域のページモードサイクル境界に対するＸアドレスのオフセットが０画素〜７画素の場合のタイミングを示す。（９）は、上記と同様、図７に示したように、Ｘ方向に連続する３ページモードサイクルを前記読み出しグループとして図１６右側に示す矩形領域を読み出す場合を示している。
【０１２９】
図１７（１）〜（８）に示すように、矩形領域内の第０列の最初の画像データが読み出されてから、第２列の最初の画像データが読み出される直前までに要する時間は、すべて２４クロック以内に収まっており、データ読み出し効率としては（９）と同等である。しかしながら、図１７に示した場合では、（３）と（４）においてコマンドのタイミングが一致している以外は、すべて異なるタイミングでコマンドを発行しなければならない。このような場合には、ページモードサイクル境界に対する矩形領域のＸアドレスのオフセットに応じて、異なる読み出し制御動作を行うことができる複雑なＤＲＡＭ制御回路が必要となる。
【０１３０】
図１１、図１３、図１５の（１）〜（８）に示した場合も、同様に、図１３において（２）と（３）、（４）と（５）、（６）と（７）において、コマンド発行のタイミングが一致している以外は、すべて異なるタイミングでコマンドが発行されている。しかしながら、従来のページ配分では、図１７の（１）〜（８）に示した場合と比較しても、ページモードサイクル境界に対するＸアドレスのオフセットと、バンク境界に対する読み出し領域の位置関係とに応じて、さらに複雑なＤＲＡＭ制御回路が必要になる。これに対し、本実施例では、図６および図７に示したように、バンク０、バンク１の順序の前後はあるが、単一のメモリサイクルで任意の矩形領域を読み出すことができ、メモリ制御部１２３を非常に簡略化することができる。
【０１３１】
なお、ページモードサイクル切り替えの早い一部の品種の同期型ＤＲＡＭや、特殊な機能を備えた品種の同期型ＤＲＡＭを用いれば、従来のページ配分を行った同期型ＤＲＡＭでも、本発明と同等の読み出し効率を実現できる可能性はある。しかしながら、量産性を考慮すれば、同期型ＤＲＡＭの品種が限定されると画像メモリの設計上、不都合である。これに対し、本実施例によれば、簡単な構成で、上記ページ配分で画像データをフィールドメモリ１２１の各バンクに書き込むことができるとともに、それにより、簡単な制御で、安定して、効率よく矩形領域の画像データを読み出すことができるフィールドメモリ１２１を提供することができる。
【０１３２】
また、図４のキャッシュメモリ書き込み制御回路１２７において、図１１〜図１７の（１）〜（８）に示した読み出しでは、矩形領域内のＸ方向に同一列上の画像データは、上述したようなオーバーヘッドによって、必ずしも時間的に連続して入力されるとは限らないため、有効なデータを判別するためにはハンドシェイクなどの回路が必要であったり、あるいはデータを連続させるためにコマンド発生方法を変更することによって読み出し効率を低下させる必要があった。
【０１３３】
ところが本実施例によれば、単一のメモリサイクルを連続させるという特徴から、矩形領域内でＸ方向に同一列上の画像データは必ず連続して入力される。このため、キャッシュメモリ書き込み制御回路１２７では、読み出された画像データのＸアドレスの第２ビットから第０ビットによって、読み出し開始から何ワード目からが有効なデータであるかを容易に判定することができ、その後、必要な画素数だけ連続して、読み出された画像データをキャッシュメモリに書き込めばよい。このように、本実施例によれば、キャッシュメモリへの書き込みに関しても、制御を簡略化することができる。
（実施例３）
図１８は、本実施例のアドレス変換回路１１０の構成および入出力を示す説明図である。図１８（ａ）は、マルチプレクサによって実現されるアドレス変換回路１１０の構成とその入出力とを示す。
【０１３４】
図１８（ａ）に示すように、アドレス変換回路１１０は、Ｘアドレス変換回路１１１およびＹアドレス変換回路１１２を備える。Ｘアドレス変換回路１１１とＹアドレス変換回路１１２とは、Ｙアドレスの第９ビット（Ｙ［９］）を選択信号としたマルチプレクサによって実現される。
アドレス変換回路１１０は、７６８画素×６４０画素の領域を表すアドレスを、１０２４画素×５１２画素の領域を表すアドレスに変換する。すなわち、アドレス変換回路１１０は、１０ビットのＸアドレス（Ｘ［９：０］）と１０ビットのＹアドレス（Ｙ［９：０］）とから、１０ビットの変換Ｘアドレス（Ｘｔ［９：０］）と９ビットの変換Ｙアドレス（Ｙｔ［８：０］）とを生成する。
【０１３５】
実際には、２５６画素×１２８画素のブロック単位で変換を行うため、
（Ｘ［９：８］、Ｙ［９：７］）→（Ｘｔ［９：８］、Ｙｔ［８：７］）
のアドレス変換を行う。
Ｘアドレス変換回路１１１は、Ｘアドレスの第９ビットおよび第８ビット（Ｘ［９：８］）と、Ｙアドレスの第８ビットおよび第７ビット（Ｙ［８：７］）の反転出力とを入力する。Ｘアドレス変換回路１１１は、選択信号であるＹアドレスの第９ビット（Ｙ［９］）が０のときは、入力されたＸアドレスの第９ビットおよび第８ビット（Ｘ［９：８］）を、変換Ｘアドレスの第９ビットおよび第８ビット（Ｘｔ［９：８］）として選択し、選択信号であるＹアドレスの第９ビット（Ｙ［９］）が１のときは、入力されたＹアドレスの第８ビットおよび第７ビット（Ｙ［８：７］）の反転出力を変換Ｘアドレスの第９ビットおよび第８ビット（Ｘｔ［９：８］）として選択する。
【０１３６】
Ｙアドレス変換回路１１２は、Ｙアドレスの第８ビットおよび第７ビット（Ｙ［８：７］）と、Ｘアドレスの第９ビットおよび第８ビット（Ｘ［９：８］）とを入力する。Ｙアドレス変換回路１１２は、選択信号であるＹアドレスの第９ビット（Ｙ［９］）が０のときは、入力されたＹアドレスの第８ビットおよび第７ビット（Ｙ［８：７］）を、変換Ｙアドレスの第８ビットおよび第７ビット（Ｙｔ［８：７］）として選択し、選択信号であるＹアドレスの第９ビット（Ｙ［９］）が１のときは、入力されたＸアドレスの第９ビットおよび第８ビット（Ｘ［９：８］）を変換Ｙアドレスの第８ビットおよび第７ビット（Ｙｔ［８：７］）として選択する。
【０１３７】
図１９は、メモリ内に書き込むべき画像データの大きさと、画像メモリ内の実記憶領域との関係を示す説明図である。図１９（ａ）は、ＰＡＬフォーマットの画像データと、４Ｍビットのメモリによって提供される１画素あたり８ビットで解像度１０２４画素×５１２画素の実記憶領域を示す。なお、図１９では、それぞれの画像領域を２５６画素×１２８画素のブロックに区切り、それぞれのブロックに対して、０〜１８のブロック番号を付して説明する。
【０１３８】
図１９（ａ）に示すように、ＰＡＬフォーマットの画像データは、１フレーム７２０画素×５７６画素の解像度で与えられる。従って、各画素に対応するＰＡＬフォーマットの画像データを、各画素の座標をそのままアドレスとしてメモリ内に書き込んだ場合でも、実記憶領域内の前記ブロックを最小単位とした７６８画素×６４０画素の領域に格納することができる。この場合には、１０２４画素×５１２画素の実記憶領域に対して、第１６ブロック〜第１８ブロックがオーバーフローするが、第３ブロック、第７ブロック、第１１ブロックおよび第１５ブロックの４ブロックは使用されていない。
【０１３９】
このようなＰＡＬフォーマットの１画面分の画像データに対して、各画素の座標をそのままアドレスとしてアドレス変換回路１１０に入力した場合、画像データのＹアドレスは５１２以上、５７６以下である。また、図１９（ａ）の実記憶領域からオーバーフローしたブロックのＹアドレスは５１２以上、６３９以下である。このため、入力されるＹアドレスの第９ビットが１のとき、Ｙアドレスの第９ビットより下位のビットで１となるのは、高々、第６ビットまでである。従って、Ｙアドレス変換回路１１２に入力されるＹアドレスの第８ビットおよび第７ビット（Ｙ［８：７］）は、必ず、２進数で「００」であり、Ｘアドレス変換回路１１１に入力されるＹ［８：７］の反転入力は、必ず、２進数で「１１」である。
【０１４０】
図１９（ｂ）は、アドレス変換回路１１０によるアドレス変換前のブロックと、アドレス変換後のブロックとの対応を示す。
図１９（ａ）においてオーバーフローしたブロックのうち、第１６ブロック、第１７ブロックおよび第１８ブロックは、Ｙアドレスの第９ビット（Ｙ［９］）が１である。従って、Ｘアドレス変換回路１１１において、変換Ｘアドレスの第９ビットおよび第８ビット（Ｘｔ［９：８］）として、Ｙ［８：７］の反転入力が選択され、その値は、２進数の「１１」となる。２進数のＸアドレス「１  １０００  ００００」は１０進数で７６８であり、Ｘアドレス（Ｘ［７：０］）で表されるアドレスの範囲は０以上、５１１以下であるから、変換後のＸアドレス（Ｘｔ［９：０］）は、７６８以上、１０２４以下となる。
【０１４１】
また、第１６ブロック、第１７ブロックおよび第１８ブロックについては、Ｙアドレス変換回路１１２により、変換Ｙアドレスの第８ビットおよび第７ビット（Ｙｔ［８：７］）として、Ｘアドレスの第９ビットおよび第８ビット（Ｘ［９：８］）が選択される。第１６ブロックのＸアドレスの第９ビットおよび第８ビット（Ｘ［９：８］）は、２進数の「００」である。従って、変換Ｙアドレスの第８ビットおよび第７ビット（Ｙｔ［８：７］）は２進数の「００」となり、変換Ｙアドレス（Ｙｔ［８：０］）の取りうる値は、０以上、１２７以下となる。すなわち、第１６ブロックは、アドレス変換回路１１０のアドレス変換によって、図１９（ｂ）に示すように、図１９（ａ）の第３ブロックの位置に配置されることになる。
【０１４２】
同様に、第１７ブロックのＸアドレスの第９ビットおよび第８ビット（Ｘ［９：８］）は、２進数の「０１」である。従って、変換Ｙアドレスの第８ビットおよび第７ビット（Ｙｔ［８：７］）は２進数の「０１」となり、変換Ｙアドレス（Ｙｔ［８：０］）の取りうる値は、１２８以上、２５５以下となる。従って、第１７ブロックは、アドレス変換回路１１０のアドレス変換によって、図１９（ａ）の第７ブロックの位置に配置されることになる。全く同様にして、第１８ブロックは、アドレス変換回路１１０のアドレス変換によって、図１９（ａ）の第１１ブロックの位置に配置される。この結果、図１９（ｂ）に示すように、割当てられた実記憶領域からオーバーフローした図１９（ａ）の各ブロックが、本実施例のアドレス変換回路１１０によるアドレス変換によって、使用されていないメモリ領域に配置される。
【０１４３】
図１８（ｂ）は、論理回路によって実現される本実施例のアドレス変換回路１１３の論理構成を示す。図１８（ｂ）および以下の図１８（ｃ）において、「|」は論理和を示し、「&」は論理積を示す。
変換Ｘアドレスの第９ビット（Ｘｔ［９］）を生成する回路は、入力されるＸアドレスの第９ビット（Ｘ［９］）とＹアドレスの第９ビット（Ｙ［９］）とのいずれかが１のとき１を出力するＯＲ回路によって実現される。
【０１４４】
また、変換Ｘアドレスの第８ビット（Ｘｔ［８］）を生成する回路は、入力されるＸアドレスの第８ビット（Ｘ［８］）とＹアドレスの第９ビット（Ｙ［９］）とのいずれかが１のとき１を出力するＯＲ回路によって実現される。
変換Ｙアドレスの第８ビット（Ｙｔ［８］）を生成する回路は、入力されるそれぞれＹアドレスの第９ビット（Ｙ［９］）の反転出力とＹアドレスの第８ビット（Ｙ［８］）との論理積と、入力されるそれぞれＹアドレスの第９ビット（Ｙ［９］）とＸアドレスの第９ビット（Ｘ［９］）との論理積との論理和を出力するＡＮＤ回路とＯＲ回路との組み合わせによって実現される。これにより、入力されるＹアドレスの第９ビット（Ｙ［９］）が１でないときは入力されたＹアドレスの第８ビット（Ｙ［８］）を出力し、入力されるＹアドレスの第９ビット（Ｙ［９］）が１のときは入力されたＸアドレスの第９ビット（Ｘ［９］）を変換Ｙアドレスの第８ビット（Ｙｔ［８］）として出力する。
【０１４５】
同様に、変換Ｙアドレスの第７ビット（Ｙｔ［７］）を生成する回路は、入力されるそれぞれＹアドレスの第９ビット（Ｙ［９］）の反転出力とＹアドレスの第７ビット（Ｙ［７］）との論理積と、入力されるそれぞれＹアドレスの第９ビット（Ｙ［９］）とＸアドレスの第８ビット（Ｘ［８］）との論理積との論理和を出力するＡＮＤ回路とＯＲ回路との組み合わせによって実現される。これにより、入力されるＹアドレスの第９ビット（Ｙ［９］）が１でないときは入力されたＹアドレスの第７ビット（Ｙ［７］）を出力し、入力されるＹアドレスの第９ビット（Ｙ［９］）が１のときは入力されたＸアドレスの第８ビット（Ｘ［８］）を変換Ｙアドレスの第７ビット（Ｙｔ［７］）として出力する。
【０１４６】
このように、アドレス変換回路１１３に用いられるＡＮＤ回路やＯＲ回路は回路規模も小さく、また、ＰＬＡ（programmable logic arrays）デバイスを用いて容易に実現することができるので、低コストで、容易に画像メモリの記憶領域の有効利用を図ることができる。
しかしながら、図１８（ｂ）示したアドレス変換回路１１３において、７６８画素×６４０画素を越える領域のアドレス、例えば、図１９（ａ）に示した第３ブロック、第７ブロックおよび第１１ブロックのアドレスを入力した場合には、変換後のアドレスが、７６８画素×６４０画素の領域内のアドレスを示してしまうという問題点がある。例えば、（Ｘ、Ｙ）アドレスが（９００、２００）の画素は、図１９（ａ）に示した第７ブロックに含まれる。ところが、第７ブロックは、第１７ブロックがアドレス変換後に配置されるブロックであるので、（９００、２００）への書き込みを行うと、第１７ブロックに属する画素データを書き換えてしまうことになる。そこで、７６８画素×６４０画素の領域外のブロックを、すべて使われていない第１５ブロックへ割り当てることができれば、このような問題点を防ぐことができる。
【０１４７】
図１８（ｃ）は、（ｍａｓｋ）項生成回路を備えるアドレス変換回路１１４の論理構成を示す。
（ｍａｓｋ）項生成回路は、Ｙアドレスの第９ビット（Ｙ［９］）と第８ビット（Ｙ［８］）との論理積と、Ｙアドレスの第９ビット（Ｙ［９］）と第７ビット（Ｙ［７］）との論理積と、Ｘアドレスの第９ビット（Ｘ［９］）と第８ビット（Ｘ［８］）との論理積との論理和を出力する。すなわち、Ｙアドレスの第９ビット（Ｙ［９］）と第８ビット（Ｙ［８］）との論理積が１となるのは、Ｙアドレスが７６８以上となる図示しない領域である。また、Ｙアドレスの第９ビット（Ｙ［９］）と第７ビット（Ｙ［７］）との論理積が１となるのは、Ｙアドレスが６４０以上となる図示しない領域である。さらに、Ｘアドレスの第９ビット（Ｘ［９］）と第８ビット（Ｘ［８］）との論理積が１となるのは、図１９（ａ）に示した第３ブロック、第７ブロック、第１１ブロックおよび第１５ブロックを含んだ、Ｘアドレスが７６８以上となる領域である。
【０１４８】
アドレス変換回路１１４は、７６８画素×６４０画素の領域外のアドレスを検出して１となる上記（ｍａｓｋ）項を生成し、（ｍａｓｋ）項とＹｔ［８：７］との論理和をとることにより、領域外のアドレスに対してＸｔ［９：８］、Ｙｔ［８：７］のすべてのビットを１にする。
また、ここに述べた（ｍａｓｋ）項を生成すれば、図１８（ｂ）においてもＹｔ［８：７］と論理和をとることにより、対象領域外のアドレスに対して使用していない第１５ブロックにアドレス変換を行うことができる。
【０１４９】
図２０は、本実施例のアドレス変換回路１３０およびアドレス変換回路１３３の構成を示すブロック図である。図２０（ａ）はマルチプレクサによって実現されるアドレス変換回路１３０の構成を示す。図２１は、アドレス変換回路１３０によるアドレス変換前のブロックとアドレス変換後のブロックとの対応を示す説明図である。
【０１５０】
アドレス変換回路１３０は、Ｘアドレス変換回路１３１およびＹアドレス変換回路１３２を備える。Ｘアドレス変換回路１３１とＹアドレス変換回路１３２とは、Ｙアドレスの第１０ビット（Ｙ［１０］）を選択信号としたマルチプレクサによって実現される。アドレス変換回路１３０は、１２８画素×６４画素のブロックをアドレス変換の基本単位として、１９２０画素×１０８８画素の画像データを、画像メモリ内の２０４８画素×１０２４画素の実記憶領域に割り当てる。また、アドレス変換回路１３０によって実際に変換されるアドレスのビット部分は、（Ｘ［１０：７］、Ｙ［１０：６］）→（Ｘｔ［１０：７］、Ｙｔ［９：６］）である。
【０１５１】
Ｘアドレス変換回路１３１は、Ｘアドレスの第１０ビット〜第７ビット（Ｘ［１０：７］）と、Ｙアドレスの第９ビット〜第６ビット（Ｙ［９：６］）の反転出力とを入力する。Ｘアドレス変換回路１３１は、選択信号であるＹアドレスの第１０ビット（Ｙ［１０］）が０のときは、入力されたＸアドレスの第１０ビット〜第７ビット（Ｘ［１０：７］）を選択し、選択信号であるＹアドレスの第１０ビット（Ｙ［１０］）が１のときは、Ｙアドレスの第９ビット〜第６ビット（Ｙ［９：６］）の反転出力を変換Ｘアドレスの第１０ビット〜第７ビット（Ｘｔ［１０：７］）として選択する。
【０１５２】
Ｙアドレス変換回路１３２は、Ｙアドレスの第９ビット〜第６ビット（Ｙ［９：６］）と、Ｘアドレスの第１０ビット〜第７ビット（Ｘ［１０：７］）とを入力する。Ｙアドレス変換回路１３２は、選択信号であるＹアドレスの第１０ビット（Ｙ［１０］）が０のときは、入力されたＹアドレスの第９ビット〜第６ビット（Ｙ［９：６］）を選択し、選択信号であるＹアドレスの第１０ビット（Ｙ［１０］）が１のときは、入力されたＸアドレスの第１０ビット〜第７ビット（Ｘ［１０：７］）を変換Ｙアドレスの第９ビット〜第６ビット（Ｙｔ［９：６］）として選択する。
【０１５３】
上記のように、アドレス変換回路１３０は、Ｙアドレスの第１０ビット（Ｙ［１０］）を選択信号としているので、Ｙアドレスが１０２４以上となるブロックがアドレス変換されることになる。１９２０画素×１０８８画素の画像データでは、図２１に示す第１ブロック〜第１５ブロックの１５ブロックがアドレス変換される。第１ブロック〜第１５ブロックのアドレス変換前のＹアドレス（Ｙ［１０：０］）は、１０２４以上、１０８７以下であるので、これらのブロックのＹアドレスのうち、第１０ビットを除いて第６ビットより上位のビットが１になることはない。従って、Ｘアドレス変換回路１３１に入力されるＹアドレスのＹ［９：６］の反転出力は、２進数で「１１１１」としてよい。このため、第１ブロック〜第１５ブロックの変換Ｘアドレス（Ｘｔ［１０：０］）は、１９２０以上、２０４７以下となる。
【０１５４】
また、第１ブロック〜第１５ブロックについては、Ｙアドレス変換回路１３２により、変換Ｙアドレスの第９ビット〜第６ビット（Ｙｔ［９：６］）として、Ｘアドレスの第１０ビット〜第７ビット（Ｘ［１０：７］）が選択される。第１ブロックのＸアドレスの第１０ビット〜第７ビット（Ｘ［１０：７］）は、２進数の「００００」である。従って、変換Ｙアドレスの第９ビット〜第６ビット（Ｙｔ［９：６］）は２進数の「００００」となり、変換Ｙアドレス（Ｙｔ［９：０］）の取りうる値は、０以上、１２７以下となる。すなわち、第１ブロックは、アドレス変換回路１３０のアドレス変換によって、図２１に示すように、第１ｔブロックの位置に配置されることになる。
【０１５５】
同様に、第２ブロックのＸアドレスの第１０ビット〜第７ビット（Ｘ［１０：７］）は、２進数の「０００１」である。従って、変換Ｙアドレスの第９ビット〜第６ビット（Ｙｔ［９：６］）は２進数の「０００１」となり、変換Ｙアドレス（Ｙｔ［９：０］）の取りうる値は、１２８以上、２５５以下となる。従って、第２ブロックは、アドレス変換回路１３０のアドレス変換によって、図２１の第２ｔブロックの位置に配置されることになる。全く同様にして、第３ブロックは、アドレス変換回路１３０のアドレス変換によって、図２１の第３ｔブロックの位置に配置される。この結果、図２１に示すように、第１ブロック〜第１５ブロックの各ブロックが、アドレス変換回路１３０によるアドレス変換によって、第１ｔブロック〜第１６ｔブロックを含む、使用されていないメモリ領域に配置される。
【０１５６】
本実施例の上記アドレス変換回路１３０も、図１８（ｂ）に示したアドレス変換回路１１３と同様に、ＡＮＤ回路とＯＲ回路との組み合わせによって実現することができる。
図２０（ｂ）は、（ｍａｓｋ）項生成回路を備えた論理回路によって実現されるアドレス変換回路１３３の論理構成を示す。図２０（ｂ）において、図１８（ｂ）と同様、「|」は論理和を示し、「&」は論理積を示す。
【０１５７】
変換Ｘアドレスの第１０ビット（Ｘｔ［１０］）を生成する回路は、入力されるＸアドレスの第１０ビット（Ｘ［１０］）とＹアドレスの第１０ビット（Ｙ［１０］）とのいずれかが１のとき１を出力するＯＲ回路によって実現される。
変換Ｘアドレスの第９ビット〜第７ビットのそれぞれのビット（Ｘｔ［９］、Ｘｔ［８］、Ｘｔ［７］）を生成する回路は、変換Ｘアドレスの第１０ビットを生成する回路と同様、入力されるＸアドレスの第９ビット〜第７ビットのそれぞれのビット（Ｘ［９］、Ｘ［８］、Ｘ［７］）と、Ｙアドレスの第１０ビット（Ｙ［１０］）とのいずれかが１のとき１を出力するＯＲ回路によって実現される。
【０１５８】
アドレス変換回路１３３の（ｍａｓｋ）項生成回路は、Ｙアドレスの第１０ビット（Ｙ［１０］）と第９ビット（Ｙ［９］）との論理積と、Ｙアドレスの第１０ビット（Ｙ［１０］）と第８ビット（Ｙ［８］）との論理積と、Ｙアドレスの第１０ビット（Ｙ［１０］）と第７ビット（Ｙ［７］）との論理積と、Ｙアドレスの第１０ビット（Ｙ［１０］）と第６ビット（Ｙ［６］）との論理積と、Ｘアドレスの第１０ビット（Ｘ［１０］）と第９ビット（Ｘ［９］）と第８ビット（Ｘ［８］）と第７ビット（Ｘ［７］）との論理積との論理和を出力する。
【０１５９】
すなわち、Ｙアドレスの第１０ビット（Ｙ［１０］）と第９ビット（Ｙ［９］）との論理積が１となるのは、Ｙアドレスが１５３６以上となる領域である。Ｙアドレスの第１０ビット（Ｙ［１０］）と第８ビット（Ｙ［８］）との論理積が１となるのは、Ｙアドレスが１２８０以上となる領域である。また、Ｙアドレスの第１０ビット（Ｙ［１０］）と第７ビット（Ｙ［７］）との論理積が１となるのは、Ｙアドレスが１１５２以上となる領域である。さらに、Ｙアドレスの第１０ビット（Ｙ［１０］）と第６ビット（Ｙ［６］）との論理積が１となるのは、Ｙアドレスが１０８８以上となる領域である。さらにまた、Ｘアドレスの第１０ビット（Ｘ［１０］）と第９ビット（Ｘ［９］）と第８ビット（Ｘ［８］）と第７ビット（Ｘ［７］）との論理積が１となるのは、図２１に示した第１ｔブロック〜第１６ｔブロックを含んだ、Ｘアドレスが２０４８以上となる領域である。これにより、（ｍａｓｋ）項生成回路は、１９２０画素×１０８８画素の領域外のアドレスを検出する。
【０１６０】
変換Ｙアドレスの第９ビット（Ｘｔ［９］）を生成する回路は、入力される、それぞれ、Ｙアドレスの第１０ビット（Ｙ［１０］）の反転出力とＹアドレスの第９ビット（Ｙ［９］）との論理積と、Ｙアドレスの第１０ビット（Ｙ［１０］）とＸアドレスの第１０ビット（Ｘ［１０］）との論理積と、（ｍａｓｋ）項との論理和を出力するＡＮＤ回路とＯＲ回路とによって実現される。
【０１６１】
変換Ｙアドレスの第８ビット（Ｘｔ［８］）を生成する回路は、入力される、それぞれ、Ｙアドレスの第１０ビット（Ｙ［１０］）の反転出力とＹアドレスの第８ビット（Ｙ［８］）との論理積と、Ｙアドレスの第１０ビット（Ｙ［１０］）とＸアドレスの第９ビット（Ｘ［９］）との論理積と、（ｍａｓｋ）項との論理和を出力するＡＮＤ回路とＯＲ回路とによって実現される。
【０１６２】
変換Ｙアドレスの第７ビット（Ｘｔ［７］）を生成する回路は、入力される、それぞれ、Ｙアドレスの第１０ビット（Ｙ［１０］）の反転出力とＹアドレスの第７ビット（Ｙ［７］）との論理積と、Ｙアドレスの第１０ビット（Ｙ［１０］）とＸアドレスの第８ビット（Ｘ［８］）との論理積と、（ｍａｓｋ）項との論理和を出力するＡＮＤ回路とＯＲ回路とによって実現される。
【０１６３】
変換Ｙアドレスの第６ビット（Ｘｔ［６］）を生成する回路は、入力される、それぞれ、Ｙアドレスの第１０ビット（Ｙ［１０］）の反転出力とＹアドレスの第６ビット（Ｙ［６］）との論理積と、Ｙアドレスの第１０ビット（Ｙ［１０］）とＸアドレスの第７ビット（Ｘ［７］）との論理積と、（ｍａｓｋ）項との論理和を出力するＡＮＤ回路とＯＲ回路とによって実現される。
【０１６４】
これによれば、Ｘｔ［１０：７］はＯＲ回路で、Ｙｔ［９：６］はＡＮＤ−ＯＲ回路で実現できる。また、アドレス変換回路１３３に、１９２０画素×１０８８画素の領域外のアドレスが入力され、（ｍａｓｋ）項が１になるときは、変換Ｙアドレスの第９ビット〜第６ビット（Ｙｔ［９：６］）は、「１１１１」となるので、１９２０画素×１０８８画素の領域外のアドレスが指定された画像データは、図２１に示す第１６ｔブロック内に書き込まれることになる。
【０１６５】
また、１９２０画素×１０８８画素の領域外のアドレスが生成されることのないシステムにおいては、（ｍａｓｋ）項生成回路を備える必要はない。（ｍａｓｋ）項生成回路の有無にかかわらず、アドレス変換回路１１３と同様、アドレス変換回路１３３は、ＡＮＤ回路とＯＲ回路との組み合わせによって実現されるので、ＰＬＡデバイスによって容易に実現することができるとともに、回路規模を拡張することなく、画像メモリの記憶領域の有効利用を図ることができる。
【０１６６】
図２２は、マルチプレクサによって実現されるアドレス変換回路１５０の構成を示すブロック図である。図２３は、アドレス変換回路１５０によるアドレス変換前のブロックとアドレス変換後のブロックとの対応を示す説明図である。
アドレス変換回路１５０は、第１Ｘアドレス変換回路１５１、第２Ｘアドレス変換回路１５２およびＹアドレス変換回路１５３を備える。第１Ｘアドレス変換回路１５１、第２Ｘアドレス変換回路１５２およびＹアドレス変換回路１５３は、いずれも、Ｙアドレスの第１０ビット（Ｙ［１０］）を選択信号としたマルチプレクサによって実現される。アドレス変換回路１５０は、６４画素×２５６画素のブロックをアドレス変換の基本単位として、１６００画素×１２８０画素の画像データを、画像メモリ内の２０４８画素×１０２４画素の実記憶領域に割り当てる。また、アドレス変換回路１５０によって実際に変換されるアドレスのビット部分は、（Ｘ［１０：６］、Ｙ［１０：８］）→（Ｘｔ［１０：６］、Ｙｔ［９：８］）である。
【０１６７】
第１Ｘアドレス変換回路１５１は、Ｘアドレスの第１０ビットおよび第９ビット（Ｘ［１０：９］）と、Ｙアドレスの第９ビットおよび第８ビット（Ｙ［９：８］）の反転出力とを入力する。第１Ｘアドレス変換回路１５１は、選択信号であるＹアドレスの第１０ビット（Ｙ［１０］）が０のときは、入力されたＸアドレスの第１０ビットおよび第９ビット（Ｘ［１０：９］）を選択し、選択信号であるＹアドレスの第１０ビット（Ｙ［１０］）が１のときは、Ｙアドレスの第９ビットおよび第８ビット（Ｙ［９：８］）の反転出力を変換Ｘアドレスの第１０ビットおよび第９ビット（Ｘｔ［１０：９］）として選択する。従って、Ｙアドレスの第１０ビット（Ｙ［１０］）が１となる、第１ブロック〜第２５ブロックでは、Ｙアドレスの第９ビットおよび第８ビット（Ｙ［９：８］）が「００」であるから、変換Ｘアドレスの第１０ビットおよび第９ビット（Ｘｔ［１０：９］）は「１１」となる。これにより、第１ブロック〜第２５ブロックは、Ｘアドレスが１５３６以上となる領域に配置されることになる。
【０１６８】
第２Ｘアドレス変換回路１５２は、Ｘアドレスの第８ビット〜第６ビット（Ｘ［８：６］）と、Ｘアドレスの第１０ビット〜第８ビット（Ｘ［１０：８］）の反転出力とを入力する。第２Ｘアドレス変換回路１５２は、選択信号であるＹアドレスの第１０ビット（Ｙ［１０］）が０のときは、入力されたＸアドレスの第８ビット〜第６ビット（Ｘ［８：６］）を選択し、選択信号であるＹアドレスの第１０ビット（Ｙ［１０］）が１のときは、Ｘアドレスの第１０ビット〜第８ビット（Ｘ［１０：８］）の反転出力を変換Ｘアドレスの第８ビット〜第６ビット（Ｘｔ［８：６］）として選択する。
【０１６９】
従って、Ｙアドレスの第１０ビット（Ｙ［１０］）が１となる、第１ブロック〜第２５ブロックのうち、第１ブロックの先頭Ｘアドレスの第１０ビット〜第８ビット（Ｘ［１０：８］）は「０００」である。また、第５ブロックの先頭Ｘアドレスの第１０ビット〜第８ビット（Ｘ［１０：８］）は「００１」である。同様に、第９ブロックの先頭ＸアドレスのＸ［１０：８］は「０１０」であり、第１３ブロックの先頭ＸアドレスのＸ［１０：８］は「０１１」である。第１７ブロックの先頭ＸアドレスのＸ［１０：８］は「１００」であり、第２１ブロックの先頭ＸアドレスのＸ［１０：８］は「１０１」であり、第２５ブロックの先頭ＸアドレスのＸ［１０：８］は「１１０」である。これらの反転出力は、それぞれ２進数で、第１ブロックでは「１１１」、第５ブロックでは「１１０」、第９ブロックでは「１０１」、第１３ブロックでは「１００」、第１７ブロックでは「０１１」、第２１ブロックでは「０１０」、第２５ブロックでは「００１」である。
【０１７０】
このため、第２Ｘアドレス変換回路１５２により、第１ブロック〜第４ブロックでは変換Ｘアドレスの第８ビット〜第６ビット（Ｘｔ［８：６］）は「１１１」となり、同様に、第５ブロック〜第８ブロックでは「１１０」、第９ブロック〜第１２ブロックでは「１０１」、第１３ブロック〜第１６ブロックでは「１００」、第１７ブロック〜第２０ブロックでは「０１１」、第２１ブロック〜第２４ブロックでは「０１０」、第２５ブロックでは「００１」となる。これにより、第１ブロック〜第４ブロックは変換Ｘアドレス（Ｘｔ［１０：６］）＝「１１１１１」、すなわち、１０進数の変換Ｘアドレスが、１５３６＋４４８＝１９８４以上となる領域に配置される。同様に、第５ブロック〜第８ブロックは変換Ｘアドレスが１９２０以上、１９８３以下となる領域、第９ブロック〜第１２ブロックは変換Ｘアドレスが１８５６以上、１９１９以下となる領域、第１３ブロック〜第１６ブロックは変換Ｘアドレスが１７９２以上、１８５５以下となる領域、第１７ブロック〜第２０ブロックは変換Ｘアドレスが１７２８以上、１７９１以下となる領域、第２１ブロック〜第２４ブロックは変換Ｘアドレスが１６６４以上、１７２７以下となる領域、第２５ブロックは変換Ｘアドレスが１６００以上、１６６３以下となる領域に配置される。
【０１７１】
Ｙアドレス変換回路１５３は、Ｙアドレスの第９ビットおよび第８ビット（Ｙ［９：８］）と、Ｘアドレスの第７ビットおよび第６ビット（Ｘ［７：６］）とを入力する。Ｙアドレス変換回路１５３は、選択信号であるＹアドレスの第１０ビット（Ｙ［１０］）が０のときは、入力されたＹアドレスの第９ビットおよび第８ビット（Ｙ［９：８］）を選択し、選択信号であるＹアドレスの第１０ビット（Ｙ［１０］）が１のときは、Ｘアドレスの第７ビットおよび第６ビット（Ｘ［７：６］）を変換Ｙアドレスの第９ビットおよび第８ビット（Ｙｔ［９：８］）として選択する。従って、Ｘアドレスの第７ビットおよび第６ビット（Ｘ［７：６］）が「００」となる第１ブロック、第５ブロック、第９ブロック、第１３ブロック、第１７ブロック、第２１ブロックおよび第２５ブロックは、変換Ｙアドレスの第９ビットおよび第８ビット（Ｙｔ［９：８］）が「００」となる、すなわち、変換Ｙアドレスが０以上、２５５以下の領域に配置される。同様に、Ｘアドレスの第７ビットおよび第６ビット（Ｘ［７：６］）が「０１」となる各ブロックは変換Ｙアドレスが２５６以上、５１１以下の領域に、Ｘ［７：６］が「１０」となる各ブロックは変換Ｙアドレスが５１２以上、７６７以下の領域に、Ｘ［７：６］が「１１」となる各ブロックは変換Ｙアドレスが７６８以上、１０２３以下の領域に配置される。
【０１７２】
従って、アドレス変換回路１５０のアドレス変換により、図２３に示した第１ブロック〜第２５ブロックの各ブロックは、それぞれ、第１ｔブロック〜第２５ｔブロックに配置されることになる。
なお、以下では、上記アドレス変換を図１９に示したＰＡＬフォーマットの例と対照しながら、一般化して説明する。入力される画像のＸアドレス方向の解像度をｐ（ｐは自然数）画素、Ｙアドレス方向の解像度をｑ（ｑは自然数）画素とする。
【０１７３】
一般的に、ｉ、ｊ、およびｋを自然数とし、
ｐ＝２s-i×（２i−ｋ）
ｑ＝２t-j×（２j-1＋１）
（２i−ｋ）＝２j×ｋ−１
なる関係が成り立つとき、
（２s-i）画素×（２t-j）画素の大きさのブロックを基本単位として、ｐ画素×ｑ画素の画像領域を（２i−ｋ）×（２j-1＋１）個のブロックに分割し、２s画素×２t-1画素の画像メモリを２i×２j-1個のブロックに分割する。
【０１７４】
これは、図１９に示したＰＡＬフォーマットでは、ｐ＝７２０、ｑ＝５７６であり、基本単位となるブロックの大きさを、Ｘアドレス方向に（２s-i）画素＝２５６画素、Ｙアドレス方向に（２t-j）画素＝１２８画素とし、ｋ＝１、ｉ＝２、ｊ＝２としている。
さらに、画像領域のうちＹアドレスが２t-1よりも小さいｐ画素×２t-1画素の領域はアドレス変換をせずに、そのまま画像メモリに割り当て、Ｙアドレスが２t-1以上の（２j−ｋ）個の基本ブロックを、Ｙアドレスが２t-1よりも小さいブロックが割り当てられていないｋ×２t-j個の画像メモリのブロックに割り当てる。
【０１７５】
以上のように、本実施例によれば、マルチプレクサや論理回路によってアドレス変換回路を構成することによって、簡単な構成で、回路規模を拡大することなく、画像メモリ内の記憶領域を有効に利用することができる。また、前記論理回路にＰＬＡデバイスを用いることにより、量産性の高いアドレス変換回路を提供することができる。
【０１７６】
また、上記第１〜第３実施例は、便宜上、それぞれ別個に説明したが、１つの画像メモリあるいは、一つの動きベクトル検出回路内に、同時に備えられてもよい。この場合、第３実施例の各アドレス変換回路は、アドレス生成回路とバンクセレクト回路との間に備えられる。これにより、メモリ内の記憶領域を効率よく利用するとともに、簡単な制御で、効率よく、かつ高速に矩形領域内の画像データを読み出すことができる画像メモリを提供することができる。また、このような画像メモリを備えることにより、参照画像メモリへの高速アクセスを必要とするテレスコピック探索を用いて、精度良く動きベクトルを検出することができる動きベクトル検出回路を提供することができる。
【０１７７】
また、本発明の動きベクトル検出回路は、探索範囲の設定方法を本実施例の設定方法に限定されない。具体的には、本実施例においては、フレーム間距離１の場合、動きベクトル検出の探索範囲を、参照画像中において着目画像中の探索単位と同一位置にある等大の矩形領域と、その矩形領域を中央とする周囲８個の矩形領域とからなる領域としたが、必ずしも参照画像中において着目画像中の探索単位と同一位置にあるを中央として探索範囲を設定する必要はなく、また、探索範囲の大きさは、前記等大の矩形領域と、その矩形領域を中央とする周囲８個の矩形領域とからなる領域としたが、必ずしも前記領域と等大の領域に設定する必要はなく、また、探索単位と等大の矩形領域を単位として設定する必要はない。
【０１７８】
なお、本実施例においては、動きベクトル検出回路に備えられる画像メモリについて説明したが、本発明の画像メモリは、その用途を、動きベクトル検出回路内の参照画像メモリに限定されない。すなわち、本発明によれば、一般的な画像メモリとその制御回路とにおいて、画像データの記憶領域配分に工夫を加えることにより、画像データの読み出し効率の向上、メモリ動作の高速化、メモリ制御回路の簡素化、メモリ内の記憶領域の使用効率の向上を図ることができる。
【０１８１】
【発明の効果】
従って、請求項１記載の動きベクトル検出回路は、従来の動きベクトル検出回路のように、書き込み用と読み出し用との２つのバッファを備える必要がなく、このような従来の構成と比較して、２つのバッファにアドレスおよび書き込み／読み出し制御信号を切り換えるためのセレクタなどの分だけ、回路規模を縮小することができる。また、参照画像メモリに大きな記憶容量を必要とせず、時間的に連続した２つの画像の一方を着目画像とし、他方を参照画像とする場合に、第１参照画像書き込み手段と第２参照画像書き込み手段とによって、着目画像内の最後の探索単位に対応する探索範囲が探索範囲メモリ内に書き込まれるまでの間に、当該参照画像の参照画像メモリへの書き込みを完了することができる。
【０１８２】
従って、請求項２記載の動きベクトル検出回路は、参照画像メモリにすでに書き込まれている参照画像を用いて、すでに検出されている動きベクトルに従ってその参照画像内に探索範囲を設定し、当該探索範囲を探索することによって、簡単な構成で、簡単な制御により、精度の高い動きベクトルを検出することができる。
【図面の簡単な説明】
【図１】本発明の第１実施例である動きベクトル検出回路１６０の一部構成を示すブロック図である。
【図２】動きベクトル検出回路１６０に入力される符号化対象画像データ、参照画像データおよびオフセットベクトルを時系列で示す説明図である。
【図３】水平方向と、さらに垂直方向とに隣り合う探索単位に対応して、共通する探索範囲を示す説明図である。
【図４】本発明の第２実施例である動きベクトル検出回路１２０の一部構成を示すブロック図である。
【図５】フィールドメモリ１２１のバンク０およびバンク１への画像データのページ配分と、それに対応する読み出し動作を示すタイミング図である。
【図６】フィールドメモリ１２１から水平方向に連続して読み出すべき１６画素の画像データと、それに対応して読み出される読み出しグループとの関係を示す説明図である。
【図７】１６画素×２画素の矩形領域を、図６に示した読み出しグループを単位として読み出す場合のタイミング図である。
【図８】フィールドメモリ１２１のバンクセレクト回路の構成と、その画像データ書き込み時のページ配分動作を示す説明図である。
【図９】フィールドメモリ１２１から水平方向に連続して読み出すべき３２画素の画像データと、それに対応して読み出される読み出しグループとの関係を示す説明図である。
【図１０】従来の同期型ＤＲＡＭから読み出されるＸ方向１６画素の矩形領域とページモードサイクル境界との相対的位置関係を示す説明図である。
【図１１】従来の同期型ＤＲＡＭから、Ｘ方向にバンク切り換えが起こらない矩形領域内の画像データが読み出される場合のタイミング図である。
【図１２】従来の同期型ＤＲＡＭから読み出されるＸ方向１６画素の矩形領域と１バンク境界を含んだページモードサイクル境界との相対的位置関係を示す説明図である。
【図１３】従来の同期型ＤＲＡＭから、Ｘ方向に一回のバンク切り換えで矩形領域が読み出される場合のタイミング図である。
【図１４】従来の同期型ＤＲＡＭから読み出されるＸ方向１６画素の矩形領域と１バンク境界を含んだページモードサイクル境界との相対的位置関係を示す説明図である。
【図１５】従来の同期型ＤＲＡＭから、Ｘ方向に一回のバンク切り換えで矩形領域が読み出される他の場合のタイミング図である。
【図１６】本実施例のフィールドメモリ１２１から読み出されるＸ方向１６画素の矩形領域とページモードサイクル境界との相対的位置関係を示す説明図である。
【図１７】本実施例のフィールドメモリ１２１から、Ｘ方向１６画素の矩形領域を従来と同様にして読み出す場合のタイミング図である。
【図１８】本実施例のアドレス変換回路１１０の構成および入出力を示す説明図である。
【図１９】メモリ内に書き込むべき画像データの大きさと、画像メモリ内の実記憶領域との関係を示す説明図である。
【図２０】本実施例のアドレス変換回路１３０およびアドレス変換回路１３３の構成を示すブロック図である。
【図２１】アドレス変換回路１３０によるアドレス変換前のブロックとアドレス変換後のブロックとの対応を示す説明図である。
【図２２】マルチプレクサによって実現されるアドレス変換回路１５０の構成を示すブロック図である。
【図２３】アドレス変換回路１５０によるアドレス変換前のブロックとアドレス変換後のブロックとの対応を示す説明図である。
【図２４】従来の画像符号化装置５０の概略的構成を示すブロック図である。
【図２５】ノン・テレスコピック探索およびテレスコピック探索による動きベクトル検出方法を示す説明図である。
【図２６】ノン・テレスコピック探索およびテレスコピック探索におけるフレーム間距離と探索範囲との関係を垂直方向の探索幅について示す説明図である。
【図２７】着目画像中で隣り合う２つの探索単位ＭＢ１、探索単位ＭＢ２に共通した探索範囲を示す説明図である。
【図２８】ＭＰＥＧ２のＭ＝１フィールド構造を有する符号化対象画像データおよび参照画像データを時系列で示した説明図である。
【図２９】ＭＰＥＧに従う従来の動きベクトル検出回路５６の構成を示すブロック図である。
【図３０】バッファメモリ７３、７４を備える従来の参照画像メモリ７９の構成を示すブロック図である。
【図３１】１フィールドの画像データを２バンク同期型ＤＲＡＭのバンク０とバンク１とに配分する場合のフィールド上の画像データのページ配分を示す説明図である。
【図３２】１フィールドの画像データを２バンク同期型ＤＲＡＭのバンク０とバンク１とに矩形状に配分する場合のフィールド上の画像データのページ配分を示す説明図である。
【図３３】所定のデータフォーマットの画像データを一定の記憶領域を有する画像メモリに格納する場合に、使用される画像メモリの記憶領域を示す説明図である。
【符号の説明】
１６０    動きベクトル検出回路
１６１    参照画像メモリ
１６２    動きベクトル探索ユニット
１６３    フレームリオーダリング部
１６４    ローカルメモリ
１６５    メモリ制御部
１６６    アドレス生成部
１６７    キャッシュメモリ
１６８    ＦＩＦＯメモリ
１６９    フレームメモリ
１７０    ３ステートバッファ
【図１】
0003803122.tif 000002
【図２】
0003803122.tif 000003
【図３】
0003803122.tif 000004
【図４】
0003803122.tif 000005
【図５】
0003803122.tif 000006
【図６】
0003803122.tif 000007
【図７】
0003803122.tif 000008
【図８】
0003803122.tif 000009
【図９】
0003803122.tif 000010
【図１０】
0003803122.tif 000011
【図１１】
0003803122.tif 000012
【図１２】
0003803122.tif 000013
【図１３】
0003803122.tif 000014
【図１４】
0003803122.tif 000015
【図１５】
0003803122.tif 000016
【図１６】
0003803122.tif 000017
【図１７】
0003803122.tif 000018
【図１８】
0003803122.tif 000019
【図１９】
0003803122.tif 000020
【図２０】
0003803122.tif 000021
【図２１】
0003803122.tif 000022
【図２２】
0003803122.tif 000023
【図２３】
0003803122.tif 000024
【図２４】
0003803122.tif 000025
【図２５】
0003803122.tif 000026
【図２６】
0003803122.tif 000027
【図２７】
0003803122.tif 000028
【図２８】
0003803122.tif 000029
【図２９】
0003803122.tif 000030
【図３０】
0003803122.tif 000031
【図３１】
0003803122.tif 000032
【図３２】
0003803122.tif 000033
【図３３】
0003803122.tif 000034