(57)【特許請求の範囲】
【請求項１】
ダイレクトメモリアクセスにより転送されたデータを格納するメモリ内に先頭アドレスと最終アドレスの値の大小に関わらず先頭アドレスと最終アドレスによって定まる連続するアドレッシング領域を設定するためのアドレッシング指定領域設定手段と、
多次元領域のアドレスを連続的に発生し得る多次元アドレス発生手段と、
前記最終アドレスから、前記多次元アドレス発生手段が順次発生する個々のアドレスを減じた値を、前記最終アドレスと前記個々のアドレスの大小比較結果として出力する第１の比較手段と、
前記個々のアドレスから前記先頭アドレスを減じた値を前記個々のアドレスと前記先頭アドレスの大小比較結果として出力する第２の比較手段と、
前記第１の比較手段の出力結果と、前記第２の比較手段の出力結果、および前記先頭アドレスと前記最終アドレス、前記個々のアドレスを基に、前記個々のアドレスが前記先頭アドレスと最終アドレスのどちらに近いかを検出するアドレス検出手段と、
前記第１の比較手段および前記第２の比較手段および前記アドレス検出手段の出力と、前記個々のアドレスを入力とし、前記第１および第２の比較手段の出力結果と、前記アドレス検出手段の出力に基づいて、前記多次元アドレス発生手段が順次発生する個々のアドレスが前記アドレッシング指定領域設定手段によって設定されたアドレッシング指定領域をはみ出しているか否かを判定し、はみ出しているときには前記個々のアドレスがアドレッシング指定領域内でらせん環状の空間に配置されるように補正して出力し、はみ出していないときには前記個々のアドレスをそのまま出力するアドレス補正手段と、
を備えたことを特徴とするアドレス生成装置。
【請求項２】
請求項１のアドレス生成装置において、
多次元領域のアドレスを連続的に発生し得る前記多次元アドレス発生手段は、多次元領域の開始アドレスと各走査方向の増分値および各走査方向のデータ数を設定する手段と、
各走査方向のアドレスを累算するための独立した累算レジスタとを有し、
走査方向が変わったときのアドレス計算には走査方向に対応した累算レジスタに対して前記走査方向に対応した前記増分値を加算することにより次サイクルのアドレス値を計算して出力し、前記多次元領域の開始アドレスを、アドレッシングの開始サイクルで前記アドレス補正手段の出力によって更新することを特徴とするアドレス生成装置。
【請求項３】
請求項１のアドレス生成装置において、
多次元領域のアドレスを連続的に発生し得る前記多次元アドレス発生手段は、多次元領域の開始アドレスと各走査方向の増分値および各走査方向のデータ数を設定するデータ数設定手段および各走査方向のアドレスを累算するための独立した累算レジスタとを有し、
走査方向が変わったときのアドレス計算には走査方向に対応した累算レジスタに対して前記走査方向に対応した増分値を加算することにより次サイクルのアドレス値を計算して出力し、前記各操作方向のアドレスを累算するための累算レジスタには、アドレス補正手段の出力する補正アドレスを格納し、最も低次の走査方向のアドレスを格納する累算レジスタの出力を出力アドレスとすることを特徴とするアドレス生成装置。
【請求項４】
請求項３のアドレス生成装置において、
アドレッシング指定領域設定手段を、アドレッシング指定領域が最終アドレスと総データ数を設定し、前記最終アドレスから前記総データ数を減ずることによって自動的に先頭アドレスを生成するように構成したことを特徴とするアドレス生成装置。
【請求項５】
請求項３のアドレス生成装置において、
前記多次元アドレス発生手段は、多次元領域の開始アドレスが、アドレッシングの開始サイクルにおいてアドレス出力によって更新されることを特徴とするアドレス生成装置。
【請求項６】
請求項１のアドレス生成装置において、
多次元領域のアドレスを連続的に発生し得る前記多次元アドレス発生手段は、多次元領域の開始アドレスと各走査方向の増分値および各走査方向のデータ数を設定するデータ数設定手段および各走査方向のアドレスを累算するための独立した累算レジスタを有し、
走査方向が変わったときのアドレス計算には走査方向に対応した累算レジスタに対して前記走査方向に対応した増分値を加算することにより次サイクルのアドレス値を計算して出力し、前記各走査方向のアドレスを累算するための累算レジスタのうち、最も低次の走査方向の累算レジスタは、前記次サイクルのアドレス値を格納し、その他の累算レジスタは、アドレス補正手段の出力する補正アドレスと前記次サイクルのアドレス値のうち一方を選択して格納し、最も低次の走査方向のアドレスを格納する前記累算レジスタの出力と、前記アドレス補正手段のアドレスポインタの出力するアドレスの一方を選択して出力アドレスとすることを特徴とするアドレス生成装置。
【請求項７】
請求項６のアドレス生成装置において、
前記アドレッシング指定領域設定手段を、アドレッシング指定領域が最終アドレスと総データ数を設定し、前記最終アドレスから前記総データ数を減ずることによって自動的に先頭アドレスを生成するように構成することを特徴とするアドレス生成装置。
【請求項８】
請求項６のアドレス生成装置において、
多次元領域の開始アドレスが、アドレッシングの開始サイクルにおいてアドレス出力によって更新されることを特徴とするアドレス生成装置。
【請求項９】
プロセッサで行う動きベクトル検出処理において、
画像データを格納しておくプロセッサ外部のメモリと、
動きベクトル検出演算に使用する画像データのみを前記プロセッサ外部のメモリよりダイレクトメモリアクセス転送して格納しておくプロセッサの内部メモリと、
動きベクトル検出演算を行う演算手段と、
前記内部メモリの矩形領域をアクセスできるようにアドレスを生成する請求項１ないし請求項８のいずれかに記載のアドレス生成装置とを備えたことを特徴とする動きベクトル検出装置。
【発明の詳細な説明】
【０００１】
技術分野
本発明は、アドレス生成装置および動きベクトル検出装置に関し、特に、画像処理向けのディジタル信号処理プロセッサなどで、画像データをリード・ライトするために用いられるデータメモリアクセスを行うためのアドレス生成機構およびそれを用いて動きベクトル検出を行う画像データ制御装置の改良を図ったものに関する。
【０００２】
背景技術
画像データなどを扱う信号処理プロセッサにおいては、データメモリを効率良くアクセスするためのアドレス生成装置として、２次元矩形領域のアドレスを生成するようなアドレス生成装置が用いられている。
【０００３】
これは、例えば、画像データ等の２次元配置されたデータは、メモリに格納する場合は１次元アドレス空間にマッピングしなければならず、通常画像データの場合では、画像をラスタ走査した順番で１次元アドレスにマッピングされるが、このデータを２次元データとして扱う際にはある矩形領域を切り出して使用することが多いためである。
【０００４】
このようなアドレス生成装置をより一般化したものとして、例えば特開平４−２１８８４７号公報に示されるような，データメモリ内の多次元領域をアクセスできるアドレス生成装置があり、図１８にその構成を示している。
【０００５】
図１８において、９０１−１ないし９０１−Ｎはそれぞれ第１次ないし第Ｎ次走査方向の増分値設定手段、９０２は第１次走査方向の増分値設定手段９０１−１ないし第Ｎ次走査方向の増分値設定手段９０１−Ｎの出力のうちの何れか１つを選択して出力する第１のマルチプレクサ、９０３は開始アドレスを設定する開始アドレス設定手段、９０４−１ないし９０４−Ｎはそれぞれ第１次ないし第Ｎ次走査方向に対応した第１ないし第Ｎの累算レジスタ、９０５は第１の累算レジスタ９０４−１ないし第Ｎの累算レジスタ９０４−Ｎの出力のうち何れか１つを選択して出力する第２のマルチプレクサ、９０６は第１のマルチプレクサ９０２の出力と第２のマルチプレクサ９０５の出力とを加算する加算器、９０７は加算器９０６と開始アドレス設定手段９０３の出力のうちの何れか１つを選択して出力する第３のマルチプレクサ、９０８−１ないし９０８−Ｎはそれぞれ第１次走査方向ないし第Ｎ次走査方向のデータ数設定手段、９０９は第１次走査方向のデータ数設定手段９０８−１ないし第Ｎ次走査方向のデータ数設定手段９０８−Ｎの設定値をもとに制御信号を生成する制御回路である。
【０００６】
以上のように構成された多次元アドレス生成装置は、第１の累算レジスタ９０４−１の出力を出力アドレスとする。
図１９は図１８の多次元アドレス生成装置を、２次元アドレスを発生できるように簡略化したものであり、以下、図１８の多次元アドレス生成装置の動作を説明するにあたり、その簡略化のために、この従来の２次元アドレス生成装置を用いて２次元アドレスを生成する場合を例にとって説明する。
【０００７】
先ず、任意のＰ１×Ｐ２（Ｐ１，Ｐ２は例えば１６，１６等の自然数）の矩形領域をアクセス対象とする。まず初期値として、第０サイクルで第１の累算レジスタ９０４−１と第２の累算レジスタ９０４−２とにスタートアドレスデータＳＡをスタートアドレスデータ設定器９０３により設定する。
【０００８】
次の第１サイクルでは、第１の累算レジスタ９０４−１のデータと第１走査方向（Ｘ方向）の増分データＤＸとを加算器９０６により加算してその加算結果を第１の累算レジスタ９０４−１に書き込み、初期値の直後のアドレスを発生する。このとき、第２の累算レジスタ９０４−２には書き込みを行わない。その後、第２サイクルから第Ｐ１−１サイクルの間は第１サイクルと同様の操作を行い、書き込みを続ける。
【０００９】
次に、第Ｐ１サイクルでは、第２の累算レジスタ９０４−２のデータと第２走査方向（Ｙ方向）の増分データＤＹとを加算器９０６により加算して、この結果を第１の累算レジスタ９０４−１と第２の累算レジスタ９０４−２の両方に書き込む。
【００１０】
同様に、第Ｐ１＋１サイクルから第２Ｐ１−１サイクルまで、…、第（Ｐ２−１）Ｐ１＋１サイクルから第Ｐ２・Ｐ１−１のサイクルまでの１サイクル毎に、第１の累算レジスタ９０４−１のデータと第１走査方向の増分データＤＸとを加算器９０６により加算して、その結果を第１の累算レジスタ９０４−１に書き込む制御を行い、第Ｐ１サイクル、第２Ｐ１サイクル、…、第（Ｐ２−１）Ｐ１サイクルのＰ１サイクル毎に、第２の累算レジスタ９０４−２のデータと第２走査方向の増分データＤＹとを加算して、この結果を第１の累算レジスタ９０４−１と第２の累算レジスタ９０４−２とに書き込む制御を行い、第０サイクルから第Ｐ２・Ｐ１−１サイクルを実行した結果得られた第１の累算レジスタ９０４−１の値をアドレスとして出力する。
【００１１】
このような動作によるデータの流れを図２０に示す。図２０に示すように、第２の累算レジスタ９０４−２に蓄えられている１行または１列前の最初のアドレスを用いて次のラインの最初のアドレスを計算している。
【００１２】
図２１に図１９の制御回路９０９の一例を示す。図２１において、９０９−１は初期状態をＰ１とし、１からカウントを開始して、クロックに従いＰ１まで順次インクリメントする動作を繰り返す第１カウンタ、９０９−３は初期状態をＰ２とし、１からカウントを開始してクロックに従いＰ２まで順次インクリメントする動作を繰り返す第２カウンタ、９０９−２はデータＰ１、９０９−４はデータＰ２，９０９−１１はデータＰ１−１、９０９−５，９０９−８は論理積回路、９０９−６，９０９−７，９０９−１２は２個のデータを比較して一致していれば１を出力し、不一致であれば０を出力する比較器、９０９−９，９０９−１０，９０９−１３はＤフリップフロップ、９０９−１４は第１クロック、９０９−１５は第２クロック、９０９−１６は制御信号、９０９−１７はＥＮＤ信号である。
【００１３】
図２１の制御回路は、図２０のタイミングで動作する。制御信号９０９−１６を図１９の第１制御信号２９−１、第２制御信号２９−２として用い、第１クロック９０９−１４を書き込み信号２９−４、第２クロック９０９−１５を第２の書き込み信号２９−５として用いれば、図２２のタイミングチャートに従った制御をすることができる。
【００１４】
図１９の第３のマルチプレクサ９１７の第３制御信号２９−３は、２次元アドレス発生器の起動時（第０サイクル）にスタートアドレスデータ設定器９０３のスタートアドレスデータを選択し、他のサイクルでは加算器９０６の出力アドレスを選択するように制御を行う。
【００１５】
図２３に実際の画像データをアクセスする様子の一例を示す。図２３（ａ）は横方向のアクセスの説明図であり、図２３（ｂ）は縦方向のアクセスの説明図である。
【００１６】
先ず、図２３（ａ）を用いて横方向にアクセスを行う場合の動作について説明する。６１は６×７画素の矩形領域からなる全体の画像データ、６２は４×４画素のアクセス対象矩形領域である。０から４１が実際のメモリのアドレスであり、（０）から（１５）が６×７画素の全体の画像データのアドレスのなかから４×４画素のアクセス対象矩形領域をアクセスする順番を表す。この場合、第１走査方向の増分データＤＸとして１、第２走査方向の増分データＤＹとして１ラインのデータ数６を設定する。
【００１７】
第０サイクルで、スタートアドレスデータＳＡとして７を第１の累算レジスタ９０４−１と第２の累算レジスタ９０４−２とに書き込む。第１サイクルから第３サイクルまでの各サイクルで、第１の累算レジスタ９０４−１の値７に順次第１走査方向の増分データＤＸ（この例では１）を加算して第１の累算レジスタ９０４−１に書き込み、アドレス８、９、１０を生成する。
【００１８】
第４サイクルで、第２の累算レジスタ９０４−２に保持されているアドレス７に第２走査方向の増分データＤＹ（この例では６）を加算して第１の累算レジスタ９０４−１と第２の累算レジスタ９０４−２に書き込み、アドレス１３を生成する。第５サイクルから第７サイクルまでの各サイクルで、第１の累算レジスタ９０４−１の値１３に順次第１走査方向の増分データＤＸとして１を加算して第１の累算レジスタ９０４−１に書き込み、アドレス１４，１５，１６を生成する。
【００１９】
第８サイクルで、第２の累算レジスタ９０４−２の値１３に第２走査方向の増分データとして６を加算して第１の累算レジスタ９０４−１と第２の累算レジスタ９０４−２に書き込み、アドレス１９を生成する。
【００２０】
以下、同様にして、アドレス２０、２１、２５、２６、２７、２８を順に生成し、全体の画像データ６１中のアクセス対象矩形領域６２のアクセスを実現する。
【００２１】
次に、図２３（ｂ）を用いて縦方向にアクセスを行う場合の動作について説明する。６３は６×７画素の矩形領域からなる全体の画像データ、６４は４×４画素のアクセス対象矩形領域である。０から４１は実際のメモリのアドレスであり、（０）から（１５）がアクセスする順番を表わす。
【００２２】
この場合、第１走査方向の増分データＤＸとして６、第２走査方向の増分データＤＹとして１ラインのデータ数１を設定する。
第０サイクルで、スタートアドレスデータＳＡとして値７を第１の累算レジスタ９０４−１と第２の累算レジスタ９０４−２に書き込む。第１サイクルから第３サイクルまでの各サイクルで、第１の累算レジスタ９０４−１の値７に順次第１走査方向の増分データＤＸ（この例では６）を加算して、第１の累算レジスタ９０４−１に書き込み、アドレス１３，１９，２５を生成する。
【００２３】
第４サイクルで、第２の累算レジスタ９０４−２に保持されているアドレス７に第２走査方向の増分データＤＹ（この例では１）を加算して第１の累算レジスタ９０４−１と第２の累算レジスタ９０４−２に書き込み、アドレス８を生成する。第５サイクルから第７サイクルまでの各サイクルで、第１の累算レジスタ９０４−１の値に順次第１走査方向の増分データ６を加算して第１の累算レジスタ９０４−１に書き込み、アドレス１４，２０，２６を生成する。
【００２４】
第８サイクルで、第２の累算レジスタ９０４−２の値８に第２走査方向の増分データとして１を加算して第１の累算レジスタ９０４−１と第２の累算レジスタ９０４−２に書き込み、アドレス９を生成する。
【００２５】
以下同様にして、アドレス１５、２１、２７、１０、１６、２２、２８を順に生成し、全体の画像データ６３中のアクセス対象矩形領域６４のアクセスを実現する。
【００２６】
以上述べたように、同一のアクセス対象矩形領域６２または６４に対してアクセスの方向を変えたい場合、第１走査方向の増分データＤＸと第２走査方向の増分データＤＹを交換するだけでよい。また、第１走査方向の増分データと第２走査方向の増分データの１つまたは両方を変えることにより、平行四辺形の領域をアクセスしたり、跳び跳びのアクセスをすることもできる。さらに、多次元空間をアクセスする場合は、多次元の平行体領域をアクセスすることになる。
【００２７】
ところで、外部メモリからこれより小容量の，プロセッサ内部のデータメモリにデータをＤＭＡ転送して格納する場合、外部メモリの全領域を参照しようとすればデータメモリに相当する領域をスクロールしなければならず、その都度データメモリの容量分のデータのＤＭＡ転送を行う必要があるが、データメモリの容量とＤＭＡ転送の回数とはトレードオフの関係にあり、データメモリの容量を抑えようとするとＤＭＡ転送の回数が増加してしまい、逆にＤＭＡ転送回数を抑えようとするとデータメモリの容量が増加してしまう，という問題があった。
【００２８】
また、上述のような、アドレス生成装置を有する画像処理装置が行う画像処理の一例として画像ＣＯＤＥＣがあり、画像ＣＯＤＥＣのアルゴリズムにおいてはＭＥ（動きベクトル検出）処理が一般的に用いられているが、このＭＥ処理とは、入力画像のうち輝度１６×１６画素の画像ブロック（マクロブロック；以降ＭＢと称す）と、時間的に前の画像の輝度値を、ＳＡＤ（ｓｕｍ ｏｆ ａｂｓｏｌｕｔｅ  ｄｉｆｆｅｒｅｎｃｅ；絶対誤差和）を評価関数とした比較によって最も近似した画像位置を検索し、その変位を求める，というもので、ＭＥ処理をプログラマブルに行うための検索アルゴリズムの一種としてＯｎｅ ａｔ ａ ｔｉｍｅアルゴリズムがある。
【００２９】
Ｏｎｅ ａｔ ａ ｔｉｍｅ アルゴリズムでは、比較対象となる検索オリジン（矩形のメモリエリアの左上隅を起点とするマクロブロックを検索オリジンとする）から左、右、上、下、右斜め上、右斜め下、左斜め上、左斜め下に１画素づつずらした近接する８つのマクロブロックについてＳＡＤ計算を行い、検索オリジンのＳＡＤ値よりも小さいＳＡＤ値を与えるブロックが存在していた場合には、その中で最も小さいＳＡＤ値を与えたマクロブロックを新たな検索オリジンとし、近接する８つのマクロブロックのＳＡＤ値が何れも検索オリジンより大きいか等しくなるまで同様の検索を繰り返すことで動きベクトルを求めるというものである。
【００３０】
しかしながら、前記のＯｎｅ ａｔ ａ ｔｉｍｅのようなアルゴリズムを図１８に示した従来例のアドレス生成装置を搭載したプロセッサで処理しようとする場合に、検索するための画索データをプロセッサのデータメモリに配置する方法としては、検索が及ぶ可能性のある範囲に存在するすべての画素データを１度にデータメモリに配置し、２次元領域のアドレス発生手段によって１６×１６画素のマクロブロックをアクセスしながら検索を行う，という方法を採るが、この場合、ユーザが設定した最大検索回数が例えば４０回であったとすると、前記最大検索回数まで検索が及んだ場合に必要な画素数は９６×９６画素となり、プロセッサが直接使用するデータメモリ内の大きな領域を占有してしまうという問題があった。
【００３１】
また、データメモリに相当するメモリの容量を削減できるものとして、例えば、特開平８−２０２５２４号公報に示されるような、グラフィック表示スクロール装置がある。
【００３２】
このグラフィック表示スクロール装置は、図２５に示すように、スクロールする表示画面ＤＳが表示データ領域ＤＡをはみ出そうとしたときに、はみ出そうとする領域を、表示データ領域ＤＡの境界の延長線により分割し、これらを、表示画面ＤＳの記憶に使用していない表示データ領域ＤＡ内での対応する領域を使用して描画しておき、これらを読み出すことにより、表示データ領域ＤＡを表示画面ＤＳ４つ分に削減してもスムーズスクロールが可能なようにしたものであり、上述の手法よりもメモリ容量をより削減できるものである。
【００３３】
しかしながら、この先行技術は、表示画面ＤＳが表示データ領域ＤＡから水平方向に、例えば右側にはみ出そうとした時にこれを表示データ領域ＤＡ内の対応する左側の領域に移動させるようにしており、この水平方向の移動を実現するためには、水平方向にはみだしていないかの判定やアドレス補正演算が必要であり、回路規模の増大やＣＰＵの処理時間の増大を招いてしまうという問題があった。また、はみだそうとする表示画面ＤＳが最初に表示データ領域ＤＡ内に存在することが必要であり、また、はみだそうとする領域が２次元矩形領域に限られてしまうという問題があった。
【００３４】
また、ＭＥ処理で占有するデータメモリ内の領域を最大検索回数より少ない探索範囲に限った場合に、検索オリジンの移動によって検索範囲がユーザの決定した一定領域を越えてしまったときには、新たに必要となる画素をＤＭＡ転送により補充しなければならないが、従来の２次元アドレス発生手段によるブロックアクセスを行うためには、新たに必要となる画素を含む探索範囲のすべてを転送する必要があり、ＤＭＡ転送での転送個数が増大するという問題があった。
【００３５】
本発明は、上記のような従来のものの問題点を解決するためになされたもので、ユーザの設定するデータメモリ内の限られた領域内をはみ出すことなく、多次元領域のアドレスを自動的に発生でき、ＤＭＡ転送個数が少なくて済むとともに、データメモリ領域の増大を抑えようとするとＤＭＡ転送個数が増大し、またＤＭＡ転送個数の増大を抑えようとするとデータメモリ領域が増大するという，相反する問題を解決でき、さらには、回路規模やＣＰＵの処理の増大を招くことなく、また、はみ出そうとする領域の最初の存在位置や形状が限られることなくデータメモリ領域の増大を抑えることが可能なアドレス生成装置を提供することを目的としている。
【００３６】
また、プロセッサのアドレス生成装置として、ＭＥ処理向けのアドレッシングだけに特化されることのない、多様性のあるアドレス生成装置を提供することを目的としている。  さらに、このようなアドレス生成装置を使用することにより、多次元領域のアドレスを自動的に発生でき、データメモリ領域の増大、またはＤＭＡ転送個数の増大という相反する問題を解決でき、さらには、回路規模やＣＰＵの処理の増大を招くことなく、データメモリ領域の増大を抑えることが可能となり、動きベクトル検出処理に対して効果を発揮する動きベクトル検出装置を得ることを目的としている。
【００３９】
発明の開示
前記課題を解決するために、本発明の請求項１記載のアドレス生成装置は、ダイレクトメモリアクセスにより転送されたデータを格納するメモリ内に先頭アドレスと最終アドレスの値の大小に関わらず先頭アドレスと最終アドレスによって定まる連続するアドレッシング領域を設定するためのアドレッシング指定領域設定手段と、多次元領域のアドレスを連続的に発生し得る多次元アドレス発生手段と、前記最終アドレスから、前記多次元アドレス発生手段が順次発生する個々のアドレスを減じた値を、前記最終アドレスと前記個々のアドレスの大小比較結果として出力する第１の比較手段と、前記個々のアドレスから前記先頭アドレスを減じた値を前記個々のアドレスと前記先頭アドレスの大小比較結果として出力する第２の比較手段と、前記第１の比較手段の出力結果と、前記第２の比較手段の出力結果、および前記先頭アドレスと前記最終アドレス、前記個々のアドレスを基に、前記個々のアドレスが前記先頭アドレスと最終アドレスのどちらに近いかを検出するアドレス検出手段と、前記第１の比較手段および前記第２の比較手段および前記アドレス検出手段の出力と、前記個々のアドレスを入力とし、前記第１および第２の比較手段の出力結果と、前記アドレス検出手段の出力に基づいて、前記多次元アドレス発生手段が順次発生する個々のアドレスが前記アドレッシング指定領域設定手段によって設定されたアドレッシング指定領域をはみ出しているか否かを判定し、はみ出しているときには前記個々のアドレスがアドレッシング指定領域内でらせん環状の空間に配置されるように補正して出力し、はみ出していないときには前記個々のアドレスをそのまま出力するアドレス補正手段とを備えるようにしたものである。
【００４０】
このアドレス生成装置によれば、ユーザが先頭アドレスが最終アドレスよりも小さいアドレス値を示すようなメモリ内のアドレッシング指定領域を設定すると、多次元アドレス発生手段に設定したアドレッシング領域が前記のアドレッシング指定領域外を含んでいても、アドレッシング指定領域外にはみ出たアドレスについてはアドレッシング指定領域をらせん環状の空間に見立てたときのアドレッシング指定領域内の該当アドレスへと補正して出力することから、ユーザの設定するデータメモリ内の限られた領域内をはみ出すことのない多次元領域のアドレスのハードウェアによる自動発生を実現することができるとともに、データメモリ領域の増大、またはＤＭＡ転送個数の増大という相反する問題を解決することが可能となり、さらには、回路規模やＣＰＵの処理の増大を招くことなく、データメモリ領域の増大を抑えることが可能となるとともに、アドレッシング指定領域として設定できるメモリ領域について先頭アドレスが最終アドレスよりも小さいアドレス値でなければならないという限定がなくなり、先頭アドレスが最終アドレスよりも大きいアドレス値を示すような、メモリ領域をまたいだアドレッシング指定領域の設定が可能となり、データメモリ領域の増大、またはＤＭＡ転送個数の増大という相反する問題を解決することが可能となる。
【００４３】
また、本発明の請求項２記載のアドレス発生装置は、請求項１のアドレス生成装置において、多次元領域のアドレスを連続的に発生し得る前記多次元アドレス発生手段は、多次元領域の開始アドレスと各走査方向の増分値および各走査方向のデータ数を設定する手段と、各走査方向のアドレスを累算するための独立した累算レジスタとを有し、走査方向が変わったときのアドレス計算には走査方向に対応した累算レジスタに対して前記走査方向に対応した前記増分値を加算することにより次サイクルのアドレス値を計算して出力し、前記多次元領域の開始アドレスを、アドレッシングの開始サイクルで前記アドレス補正手段の出力によって更新するようにしたものである。
【００４４】
これにより、請求項１記載のアドレス生成装置で実現することのできるアドレス発生に加えて、アクセスしたい多次元空間の開始アドレスが既にアドレッシング指定領域外にあることにより、実際のメモリアクセスは開始アドレスを補正したアドレスにて行われた場合に、実際のアクセスに用いられた補正アドレスによって開始アドレス設定手段を自動的に設定し直すことで、開始アドレスをもとに新たなアドレッシングを行う際のプログラムによるアドレス計算に要する演算量を軽減することができる。
【００４５】
また、本発明の請求項３記載のアドレス生成装置は、請求項１のアドレス生成装置において、多次元領域のアドレスを連続的に発生し得る前記多次元アドレス発生手段は、多次元領域の開始アドレスと各走査方向の増分値および各走査方向のデータ数を設定するデータ数設定手段および各走査方向のアドレスを累算するための独立した累算レジスタとを有し、走査方向が変わったときのアドレス計算には走査方向に対応した累算レジスタに対して前記走査方向に対応した増分値を加算することにより次サイクルのアドレス値を計算して出力し、前記各操作方向のアドレスを累算するための累算レジスタには、アドレス補正手段の出力する補正アドレスを格納し、最も低次の走査方向のアドレスを格納する累算レジスタの出力を出力アドレスとするようにしたものである。
【００４６】
この構成によれば、請求項１記載のアドレス生成装置で実現することのできるアドレス発生に加えて、多次元アドレス発生手段の各走査方向の累算レジスタに対して補正アドレスを格納するので、連続アクセス時に多次元アドレス発生手段の出力する次サイクルのアドレスがアドレス補正手段による補正の不可能な領域のアドレスを示すことが無くなる。
【００４７】
また、本発明の請求項４記載のアドレス生成装置は、請求項３のアドレス生成装置において、アドレッシング指定領域設定手段を、アドレッシング指定領域が最終アドレスと総データ数を設定し、前記最終アドレスから前記総データ数を減ずることによって自動的に先頭アドレスを生成するように構成したものである。
【００４８】
これにより、請求項３のアドレス生成装置で実現することのできるアドレス発生に加えて、アドレス補正手段での補正計算が簡略化され、回路規模の削減ができる。
【００４９】
また、本発明の請求項５記載のアドレス生成装置は、請求項３のアドレス生成装置において、前記多次元アドレス発生手段は、多次元領域の開始アドレスが、アドレッシングの開始サイクルにおいてアドレス出力によって更新されるようにしたものである。
【００５０】
これにより、請求項３記載のアドレス生成装置で実現することのできるアドレス発生に加えて、アクセスしたい多次元領域の開始アドレスが既にアドレッシング指定領域外にあることにより、実際のメモリアクセスは開始アドレスを補正したアドレスにて行われた場合に、実際のアクセスに用いられた補正アドレスによって開始アドレス設定手段を自動的に設定し直すことで、開始アドレスをもとに新たなアドレッシングを行う際のプログラムによるアドレス計算に要する演算量を軽減することができる。
【００５１】
また、本発明の請求項６のアドレス生成装置は、請求項１のアドレス生成装置において、多次元領域のアドレスを連続的に発生し得る前記多次元アドレス発生手段は、多次元領域の開始アドレスと各走査方向の増分値および各走査方向のデータ数を設定するデータ数設定手段および各走査方向のアドレスを累算するための独立した累算レジスタを有し、走査方向が変わったときのアドレス計算には走査方向に対応した累算レジスタに対して前記走査方向に対応した増分値を加算することにより次サイクルのアドレス値を計算して出力し、前記各走査方向のアドレスを累算するための累算レジスタのうち、最も低次の走査方向の累算レジスタは、前記次サイクルのアドレス値を格納し、その他の累算レジスタは、アドレス補正手段の出力する補正アドレスと前記次サイクルのアドレス値のうち一方を選択して格納し、最も低次の走査方向のアドレスを格納する前記累算レジスタの出力と、前記アドレス補正手段のアドレスポインタの出力するアドレスの一方を選択して出力アドレスとするようにしたものである。
【００５２】
この構成によれば、請求項１記載のアドレス生成装置で実現することのできるアドレス発生に加えて、モード切り替え信号を切り替えることで通常の多次元アドレス発生手段によるアドレス発生とアドレッシング指定領域内をはみ出すことなく多次元アドレスを発生するようなアドレス発生を同一回路で実現可能となる。
【００５３】
また、本発明の請求項７のアドレス生成装置は、請求項６のアドレス生成装置において、前記アドレッシング指定領域設定手段を、アドレッシング指定領域が最終アドレスと総データ数を設定し、前記最終アドレスから前記総データ数を減ずることによって自動的に先頭アドレスを生成するようにしたものである。
【００５４】
これにより、請求項６のアドレス生成装置で実現することのできるアドレス発生に加えて、アドレス補正手段での補正計算が簡略化され、回路規模の削減ができる。
【００５５】
また、本発明の請求項８のアドレス生成装置は、請求項６のアドレス生成装置において、多次元領域の開始アドレスが、アドレッシングの開始サイクルにおいてアドレス出力によって更新されるようにしたものである。
【００５６】
これにより、請求項６記載のアドレス生成装置で実現することのできるアドレス発生に加えて、アクセスしたい多次元領域の開始アドレスが既にアドレッシング指定領域外にあることにより、実際のメモリアクセスは開始アドレスを補正したアドレスにて行われた場合に、実際のアクセスに用いられた補正アドレスによって開始アドレス設定手段を自動的に設定し直すことで、開始アドレスをもとに新たなアドレッシングを行う際のプログラムによるアドレス計算に要する演算量を軽減することができる。
【００５７】
また、本発明の請求項９の動きベクトル検出装置は、プロセッサで行う動きベクトル検出処理において、画像データを格納しておくプロセッサ外部のメモリと、動きベクトル検出演算に使用する画像データのみを前記プロセッサ外部のメモリよりダイレクトメモリアクセス転送して格納しておくプロセッサの内部メモリと、動きベクトル検出演算を行う演算手段と、前記内部メモリの矩形領域をアクセスできるようにアドレスを生成する請求項１ないし請求項８のいずれかに記載のアドレス生成装置とを備えるようにしたものである。
【００５８】
この構成により、動きベクトル検出に必要とされる画像データについて探索する範囲のすべてのデータを内部メモリに配置しておく必要はなくなり、探索処理が進むにつれて必要となってくる画素のみを、内部メモリに取り込むことができる。これは搭載するメモリ容量が限られる小型端末における動きベクトル検出処理に対して有効であり、必要最小限のＤＭＡ転送とメモリのアドレス計算の抑制に効果を発揮する。
【００５９】
発明を実施するための最良の形態
以下、本発明の実施の形態について、図１ないし図１７を用いて説明する。
実施の形態１．
この実施の形態１は、アドレッシング指定領域が、ユーザの設定する領域をはみ出そうとしたときに、このユーザ設定領域内に収まるようにアドレスを補正して生成するようにしたものである。
【００６０】
図１は本発明の実施の形態１によるアドレス生成装置を示すものであり、この図１は本願の請求項１の発明に対応するものである。図１において、１０１はメモリ（例えば外部メモリ）のなかでアドレッシング指定領域（例えばプロセッサ内部のデータメモリにマッピングすべき領域）を設定するためのアドレッシング指定領域設定手段であり、１０２はアドレッシング指定領域を設定するための最終アドレスを格納する最終アドレス格納手段、１０３はアドレッシング指定領域を設定するための先頭アドレスを格納するための先頭アドレス格納手段であり、これらの設定値を変更することにより、その領域指定は可変となるため、アドレッシング指定領域はメモリ内でスクロール可能となっている。また、１０４は最終アドレス格納手段１０２の出力としての最終アドレス、１０５は先頭アドレス格納手段１０３の出力としての先頭アドレス、１０６は１サイクルごとにアドレスを発生することにより任意の２次元矩型領域のアドレスを発生することができる２次元アドレス発生手段、１０７は２次元アドレス発生手段１０６が１サイクルごとに出力する，２次元矩形領域を構成する各アドレスとしての次サイクルのアドレス、１０８は最終アドレス１０４と次サイクルのアドレス１０７を入力として大小比較を行う第１の比較手段、１０９は先頭アドレス１０５と次サイクルのアドレス１０７を入力として大小比較を行う第２の比較手段、１１０は第１の比較手段１０８の出力としての第１の比較結果、１１１は第２の比較手段１０９の出力としての第２の比較結果、１１２は最終アドレス１０４，先頭アドレス１０５，次サイクルのアドレス１０７，第１の比較結果１１０，第２の比較結果１１１を入力としてアドレス補正演算を行うアドレス補正手段、１１３は補正後のアドレス値を格納するアドレスポインタ、１１４はアドレスポインタ１１３の出力としての出力アドレスである。
【００６１】
次に動作について説明する。アドレッシング指定領域設定手段１０１はユーザが設定するアドレッシング指定領域の最終アドレスと先頭アドレスを格納するための最終アドレス格納手段１０２と先頭アドレス格納手段１０３により構成され、これらは最終アドレス１０４と先頭アドレス１０５を出力する。一方、２次元アドレス発生手段１０６は２次元領域をアクセスするためのアドレス計算を行い、次サイクルのアドレス１０７を出力する。第１の比較手段１０８は最終アドレス１０４と次サイクルのアドレス１０７を入力として比較を行い、次サイクルのアドレス１０７の値が最終アドレス１０４の値よりも大きければ第１の比較結果１１０をＯＮとし、小さいか等しければＯＦＦとして出力する。同様に第２の比較手段１０９は先頭アドレス１０５と次サイクルのアドレス１０７を入力として比較を行い、次サイクルのアドレス１０７の値が先頭アドレス１０５の値よりも小さければ第２の比較結果１１１をＯＮとし、大きいか等しければＯＦＦとして出力する。アドレス補正手段１１２は、最終アドレス１０４と先頭アドレス１０５および次サイクルのアドレス１０７を入力とし、補正アドレスａおよび補正アドレスｂを、
補正アドレスａ  ＝  次サイクルのアドレス１０７
−（最終アドレス１０４−先頭アドレス１０５＋１）（式１−１）
補正アドレスｂ  ＝  次サイクルのアドレス１０７
＋（最終アドレス１０４−先頭アドレス１０５＋１）（式１−２）
【００６２】
により算出し、第１の比較結果１１０と第２の比較結果１１１の２入力を選択信号として補正アドレスａ、補正アドレスｂ、次サイクルのアドレス１０７のうちの１つを選択してアドレスポインタ１１３に格納し、アドレスポインタ１１３の出力が、この実施の形態１のアドレス発生装置が出力する出力アドレス１１４となる。
【００６３】
アドレス補正手段１１２の選択方法としては、第１の比較結果１１０がＯＮのときには補正アドレスａを、第２の比較結果１１１がＯＮのときには補正アドレスｂを、第１の比較結果１１０および第２の比較結果１１１がいづれもＯＦＦのときには次サイクルのアドレス１０７を選択する。
【００６４】
この構成により、まずユーザによってアドレッシング指定領域を定める最終アドレスと先頭アドレスが最終アドレス格納手段１０２と先頭アドレス格納手段１０３に対して、また、アクセスしたい領域に応じた設定が２次元アドレス発生手段１０６に対して行われる。次に、アドレッシングが開始されると、２次元アドレス発生手段１０６の算出する次サイクルのアドレス１０７が、アドレッシング指定領域をはみ出していないかどうかを第１の比較手段１０８および第２の比較手段１０９によって検出し、はみ出していなければ次サイクルのアドレス１０７を、はみ出している場合には、補正アドレスａまたは補正アドレスｂをアドレス補正手段１１２内のアドレスポインタ１１３に格納し、このアドレスポインタ１１３の出力が出力アドレス１１４となる。
【００６５】
図２に実際の画像データをアクセスする様子の一例を示す。図２（ａ）は縦方向にアドレスがはみ出た場合のアクセスの説明図であり、図２（ｂ）は横方向にアドレスがはみ出た場合のアクセスの説明図である。
【００６６】
先ず、２次元アドレス発生手段が発生するアドレスがアドレッシング指定領域より縦方向にはみ出た場合の動作について図２（ａ）を用いて説明する。６０は画像データを記憶しているデータメモリ、６２は２次元アドレス発生手段１０６が発生する４×４画素のアクセス対象矩形領域、６５はアドレッシング指定領域設定手段１０１によりデータメモリ６０内でスクロール可能に設定される６×７画素のアドレッシング指定領域、６６はアドレス補正手段１１２により補正されるアドレス補正後のアクセス対象矩形領域である。データメモリ６０の枠内に記された数字０から８３，…が実際のメモリのアドレスであり、（０）から（１５）がデータメモリ６０のアドレスのなかから２次元アドレス発生手段１０６が４×４画素のアクセス対象矩形領域６２をアクセスする順番を表す。
【００６７】
図１のアドレッシング指定領域設定手段１０１の最終アドレス格納手段１０２に５３が、先頭アドレス格納手段１０３に１２が格納されているものとする。
【００６８】
そしてこのとき、２次元アドレス発生手段１０６は第１ないし第１６サイクルにおける次サイクルのアドレス１０７として、３７，３８，３９，４０，４３，４４，４５，４６，４９，５０，５１，５２，５５，５６，５７，５８を順次出力するものとする。
【００６９】
２次元アドレス発生手段１０６の次サイクルのアドレス１０７が６×７画素の矩形領域からなるアドレッシング指定領域６５の範囲内にあるとき、即ち、２次元アドレス発生手段１０６の次サイクルのアドレス１０７が３７，３８，３９，４０，４３，４４，４５，４６，４９，５０，５１，５２であるとき、第１の比較手段１０８の出力１１０はＯＦＦであり、かつ第２の比較手段１０９の出力１１１もＯＦＦであるので、アドレス補正手段１１２はアドレス補正を行わず、２次元アドレス発生手段１０６が出力する次サイクルのアドレス１０７、即ち、３７，３８，３９，４０，４３，４４，４５，４６，４９，５０，５１，５２をそのまま出力する。
【００７０】
次に、２次元アドレス発生手段１０６の次サイクルのアドレス１０７が６×７画素の矩形領域からなるアドレッシング指定領域６５の範囲からはみ出したとき、即ち、２次元アドレス発生手段１０６の次サイクルのアドレス１０７が５５，５６，５７，５８となったとき、第１の比較手段１０８の出力１１０はＯＮであり、かつ第２の比較手段１０９の出力１１１はＯＦＦであるので、アドレス補正手段１１２は（式１−１）に基づき補正アドレスａを出力する。
【００７１】
即ち、
補正アドレスａ  ＝  次サイクルのアドレス１０７
−（最終アドレス１０４−先頭アドレス１０５＋１）
＝  次サイクルのアドレス１０７
−（４１−０＋１）
＝  次サイクルのアドレス１０７−４２
【００７２】
となり、これらの次サイクルのアドレス１０７は１３，１４，１５，１６となるように補正され、アドレス補正手段１１２が存在しないとすれば６×７画素の矩形領域からなるアドレッシング指定領域６５の範囲からはみ出していたものが、６×７画素の矩形領域内に収まることになる。
【００７３】
なお、以上の説明では２次元アドレス発生手段１０６が、横方向にアドレスを発生する場合について説明したが、縦方向にアドレスを発生し、かつそのアドレスが縦方向にはみ出した場合でも、同様の動作により、６×７画素の矩形領域内に収まることになる。
【００７４】
次に、２次元アドレス発生手段が発生するアドレスがアドレッシング指定領域より横方向にはみ出た場合の動作について図２（ｂ）を用いて説明する。６０は画像データを記憶しているデータメモリ、６２は２次元アドレス発生手段１０６が発生する４×４画素のアクセス対象矩形領域、６５はアドレッシング指定領域設定手段１０１により設定される６×７画素のアドレッシング指定領域、６６はアドレス補正手段１１２により補正されるアドレス補正後のアクセス対象矩形領域である。データメモリ６０の枠内に記された数字０から８３，…が実際のメモリのアドレスであり、（０）から（１５）がデータメモリ６０のアドレスのなかから２次元アドレス発生手段１０６が４×４画素のアクセス対象矩形領域６２をアクセスする順番を表す。
【００７５】
図１のアドレッシング指定領域設定手段１０１の最終アドレス格納手段１０２に５３が、先頭アドレス格納手段１０３に１２が格納されているものとする。
【００７６】
そしてこのとき、２次元アドレス発生手段１０６は第１ないし第１６サイクルにおける次サイクルのアドレス１０７として、２２，２３，２４，２５，２８，２９，３０，３１，３４，３５，３６，３７，４０，４１，４２，４３を順次出力するものとする。
【００７７】
この場合、２次元アドレス発生手段１０６の次サイクルのアドレス１０７は全て６×７画素の矩形領域からなるアドレッシング指定領域６５の範囲内にあり、第１の比較手段１０８の出力１１０はＯＦＦであり、かつ第２の比較手段１０９の出力１１１もＯＦＦであるので、アドレス補正手段１１２はアドレス補正を行うことなく、２次元アドレス発生手段１０６が出力する次サイクルのアドレス１０７、即ち、２２，２３，２４，２５，２８，２９，３０，３１，３４，３５，３６，３７，４０，４１，４２，４３をそのまま出力する。
【００７８】
なお、以上の説明では２次元アドレス発生手段１０６が、横方向にアドレスを発生する場合について説明したが、縦方向にアドレスを発生し、かつそのアドレスが横方向にはみ出した場合でも、同様の動作により、６×７画素の矩形領域内に収まることになる。
【００７９】
このように、本実施の形態１によれば、２次元アドレス発生手段１０６の発生するアドレスがユーザによってアドレッシング指定領域設定手段１０１に指定された領域をはみ出すと、アドレス補正手段１１２によってアドレッシング指定領域の最終アドレスの次のアドレスを先頭アドレスとしてアドレッシング指定領域をらせん環状の空間に見たてた空間、即ち、列方向では、例えば、アドレッシング指定領域が全体の矩形領域の最下行を越えてさらにその下方向の行をアクセスしようとする場合は、アドレッシング指定領域が全体の矩形領域の最上行に戻りこれから順次下側の行に向けてアクセスするようにアドレスを補正してアドレスが列方向に環状に連続し、かつ、行方向では、アドレッシング指定領域のある行の終わりまでアクセスすると次はそれより１つ下の行の始めからアクセスを行うという空間をアクセスするように、アドレスの補正計算が自動的になされるため、出力アドレスをいつもユーザの設定したアドレッシング領域内に留めておくことができる。
【００８０】
従って、ユーザの設定するデータメモリ内の限られた領域内をはみ出すことなく、多次元領域のアドレスを自動的に発生でき、アドレッシング指定領域が、ユーザの設定する領域をはみ出そうとしたときに、はみ出そうとしたアドレスのデータのみをＤＭＡ転送するだけで済むため、従来の多次元アドレス発生手段において問題となっていた、使用するデータメモリ領域を抑えればＤＭＡ転送個数が増大し、ＤＭＡ転送個数を抑えればデータメモリ領域が増大するという、相反する問題を解決でき、さらには、アドレッシング指定領域が元々連続した領域であるので、これがユーザの設定する領域をはみだしているか否かの判定やアドレス補正を行う必要がなく、このため、回路規模やＣＰＵの処理の増大を招くことがなく、かつ、１アドレスずつはみだしの判定やアドレス補正演算を行うため多次元アクセスやインターリーブアクセス、アドレスの逆方向からのアクセスにも同一の回路で対応可能であり、はみ出そうとする領域の最初の存在位置や形状が限られることなく、データメモリ領域の増大を抑えることが可能なアドレス生成装置を提供することができる。
【００８１】
但し、アドレス補正手段によって補正可能なアドレス範囲は、多次元アドレス発生手段の出力する次サイクルのアドレス値が、アドレッシング指定領域の先頭アドレスから低アドレス側に外れた場合にその値が先頭アドレスからアドレッシング指定領域のデータ数を減じたときのアドレス値までの範囲にあるとき、あるいはアドレッシング指定領域の最終アドレスから高アドレス側に外れた場合にその値が最終アドレスにアドレッシング指定領域のデータ数を加算したときのアドレス値までの範囲にあるときに限られる。
【００８２】
なお、以上の説明では、次サイクルのアドレス１０７を出力する手段として２次元アドレス発生手段１０６を用いた場合を示したが、その他、１次元的に連続したアドレス発生を行うアドレス発生手段、および多次元的に任意の方向へのデータ量の増加に対応するアドレス発生手段を用いた構成を実施することも可能である。
【００８３】
実施の形態２．
この実施の形態２は、アドレッシング指定領域が、ユーザの設定する領域をはみ出そうとしたときに、このユーザ設定領域内に収まるようにアドレスを補正して生成するとともに、アドレッシング指定領域の最終アドレスが先頭アドレスよりも大きい値が設定されない状態でも、これに対応できるようにしたものである。
【００８４】
図３は本発明の実施の形態２のアドレス発生装置を示すものであり、この図３は本願の請求項２の発明に対応するものである。図３において、２０１はアドレッシング指定領域設定手段、２０２はアドレッシング指定領域（例えばプロセッサ内部のデータメモリにマッピングすべき領域）を設定するための最終アドレスを格納する最終アドレス格納手段、２０３はアドレッシング指定領域を設定するための先頭アドレスを格納する先頭アドレス格納手段であり、これらの設定値を変更することにより、その領域指定は可変となるため、アドレッシング指定領域はメモリ（例えば外部メモリ）内でスクロール可能となっている。また、２０４は最終アドレス格納手段２０２の出力としての最終アドレス、２０５は先頭アドレス格納手段２０３の出力としての先頭アドレス、２０６は任意の２次元矩型領域のアドレスを発生することができる２次元アドレス発生手段、２０７は２次元アドレス発生手段２０６の出力としての次サイクルのアドレス、２０８は最終アドレス２０４と次サイクルのアドレス２０７を入力としこれらの大小比較を行う第１の比較手段、２０９は先頭アドレス２０５と次サイクルのアドレス２０７を入力としこれらの大小比較を行う第２の比較手段、２１０は第１の比較手段２０８の出力としての第１の比較結果、２１１は第２の比較手段２０９の出力としての第２の比較結果、２１２は第１の比較結果２１０と第２の比較結果２１１および次サイクルのアドレス２０７を入力として次サイクルのアドレス２０７が最終アドレス２０４と先頭アドレス２０５のうちどちらに近いかを検出し、出力としての検出結果２１３を出力するアドレス検出手段、２１４は最終アドレス２０４，先頭アドレス２０５，次サイクルのアドレス２０７，第１の比較結果２１０，第２の比較結果２１１，検出結果２１３を入力としてアドレス補正演算を行うアドレス補正手段、２１５は補正後のアドレス値を格納するアドレスポインタ、２１６はアドレスポインタ２１５の出力としての出力アドレスである。
【００８５】
次に動作について説明する。アドレッシング指定領域設定手段２０１はユーザが設定するアドレッシング指定領域の最終アドレス（ＥＡ）を格納するための最終アドレス格納手段２０２と先頭アドレス（ＳＡ０）を格納するための先頭アドレス格納手段２０３により構成され、これらは最終アドレス２０４と先頭アドレス２０５を出力する。一方、２次元アドレス発生手段２０６は２次元領域をアクセスするためのアドレス計算を行い、次サイクルのアドレス２０７（Ａ）を出力する。第１の比較手段２０８は最終アドレス２０４（ＥＡ）と次サイクルのアドレス２０７（Ａ）を入力とし、最終アドレス２０４（ＥＡ）から次サイクルのアドレス２０７（Ａ）を減じた値を第１の比較結果２１０（Ｙ）として出力する。
Ｙ＝ＥＡ−Ａ        （式２−１）
【００８６】
同様に第２の比較手段２０９は先頭アドレス２０５（ＳＡ０）と次サイクルのアドレス２０７（Ａ）を入力とし、次サイクルのアドレス２０７（Ａ）から先頭アドレス２０５（ＳＡ０）を減じた値を第２の比較結果２１１（Ｘ）として出力する。
Ｘ＝Ａ−ＳＡ０      （式２−２）
【００８７】
アドレス検出手段２１２は、最終アドレス２０４（ＥＡ）と先頭アドレス２０５（ＳＡ０）と第１の比較結果２１０（Ｙ）と第２の比較結果２１１（Ｘ）および次サイクルのアドレス２０７（Ａ）を入力とし、以下の２種類の状態を検出して検出結果２１３を出力する。まず第１に、
Ｓ＝ＥＡ−ＳＡ０       （式２−３）
【００８８】
の算出結果（Ｓ）の符号ビットを検出し、その正負によって最終アドレス２０４（ＥＡ）と先頭アドレス２０５（ＳＡ０）のメモリ内でのアドレス位置の関係を明らかにする。
【００８９】
つまり図４（ａ）に示したように（式２−３）の算出結果（Ｓ）が正であれば最終アドレス２０４（ＥＡ）は先頭アドレス２０５（ＳＡ０）より大きいアドレス値であり、逆に（式２−３）の算出結果（Ｓ）が負であれば図４（ｂ）に示したように最終アドレス２０４（ＥＡ）と先頭アドレス２０５（ＳＡ０）の大小関係が逆転し、この場合、先頭アドレス２０５（ＳＡ０）からタ一ゲットメモリの最後のアドレスまでと、ターゲットメモリのアドレス０番地から最終アドレス２０４（ＥＡ）までがアドレッシング指定領域ということになる。
【００９０】
次に、（式２−３）の算出結果（Ｓ）に応じて次サイクルのアドレス２０７（Ａ）がアドレッシング指定領域をはみ出している場合に先頭アドレス２０５（ＳＡ０）を越えてはみ出したものか、最終アドレス２０４（ＥＡ）を越えてはみ出したものかを検出する。その際どちらを越えてはみ出したものかは、次サイクルのアドレス２０７（Ａ）のメモリ領域におけるアドレス位置が先頭アドレス２０５（ＳＡ０）と最終アドレス２０４（ＥＡ）のどちらにより近い位置にあるかによって判断するものとする。
【００９１】
アドレス補正手段２１４は、最終アドレス２０４と先頭アドレス２０５および次サイクルのアドレス２０７そしてアドレス検出手段２１２の検出結果２１３を入力とし、式２−３の演算結果の符号ビットによって、符号ビットが“０”つまり演算結果が正であった場合には、補正アドレスａと補正アドレスｂを
補正アドレスａ  ＝  次サイクルのアドレス２０７
−（最終アドレス２０４−先頭アドレス２０５＋１）（式２−４）
補正アドレスｂ  ＝  次サイクルのアドレス２０７
＋（最終アドレス２０４−先頭アドレス２０５＋１）（式２−５）
【００９２】
により算出し、符号ビットが“１”、つまり演算結果が負であった場合には、補正アドレスａ’と補正アドレスｂ’を
補正アドレスａ’＝  次サイクルのアドレス２０７
−〜（先頭アドレス２０５−最終アドレス２０４−１）（式２−６）
補正アドレスｂ’＝  次サイクルのアドレス２０７
＋〜（先頭アドレス２０５−最終アドレス２０４−１）（式２−７）
【００９３】
により算出する。なお、“〜”は各重みのビット毎にビットの値を反転することを示す）。第１の比較結果２１０と第２の比較結果２１１の２入力と検出結果２１３を選択信号として補正アドレスａ、補正アドレスｂ、補正アドレスａ’、補正アドレスｂ’、次サイクルのアドレス２０７のうちのいずれか１つを選択してアドレスポインタ２１５に格納し、アドレスポインタ２１５の出力がこの実施の形態２のアドレス発生装置の出力する出力アドレス２１６となる。
【００９４】
図２４に選択信号とアドレスポインタ２１５の入力となるアドレスとの関係を示した。
この構成により、まずユーザによってアドレッシング指定領域を定める最終アドレスと先頭アドレスが最終アドレス格納手段２０２と先頭アドレス格納手段２０３に対して、また、アクセスしたい領域に応じた設定が２次元アドレス発生手段２０６に対して行われる。次にアドレッシングが開始されると、２次元アドレス発生手段２０６の算出する次サイクルのアドレス２０７が、アドレッシング指定領域をはみ出していないかどうかを第１の比較手段２０８および第２の比較手段２０９によって検出し、さらにアドレッシング指定領域の先頭アドレス２０５と最終アドレス２０４とのメモリ内における位置関係がどうなっているか、および次サイクルのアドレス２０７のアドレス位置は最終アドレス２０４のアドレス位置と先頭アドレス２０５のアドレス位置のどちらにより近いかをアドレス検出手段２１２により検出する。そしてこれらの情報に従って、補正アドレスａ、補正アドレスｂ、補正アドレスａ’、補正アドレスｂ’の４つの補正アドレスを算出し、これに次サイクルのアドレス２０７を加えた５つのアドレスの中から１つを選択してアドレス補正手段２１４内のアドレスポインタ２１５に格納する。このアドレスポインタ２１５の出力が出力アドレス２１６となる。
【００９５】
このように本実施の形態２によれば、２次元アドレス発生手段２０６の発生するアドレスが、ユーザによってアドレッシング指定領域設定手段２０１に指定された領域をはみ出すと、アドレス補正手段２１４によってアドレッシング指定領域の最終アドレスの次のアドレスを先頭アドレスとしてアドレッシング指定領域をらせん環状の空間に見立てたアドレスの補正計算が自動的になされるため、出力アドレスをいつもユーザの設定したアドレッシング領域内に留めておくことができる，という実施の形態１に相当する効果に加え、アドレス検出手段２１２を用いることによって先頭アドレス２０５と最終アドレス２０４のメモリ内の位置関係が逆転した場合、つまりアドレッシング指定領域がターゲットメモリの最後のアドレスをまたいだような設定を行った場合にも、多次元領域のアドレスを自動的に発生でき、アドレッシング指定領域をはみ出た次サイクルのアドレス２０７を検出してアドレッシング指定領域内に補正することができ、ユーザの設定するデータメモリ内の限られた領域内をはみ出すことなく、はみ出そうとしたアドレスのデータのみをＤＭＡ転送するだけで済むため、従来の多次元アドレス発生手段において問題となっていた、使用するデータメモリ領域を抑えればＤＭＡ転送個数が増大し、ＤＭＡ転送個数を抑えればデータメモリ領域が増大するという、相反する問題を解決でき、さらには、回路規模やＣＰＵの処理の増大を招くことなく、かつ、はみ出そうとする領域の最初の存在位置や形状が限られることなく、データメモリ領域の増大を抑えることが可能となるアドレス生成装置を提供することができる。
【００９６】
なお、以上の説明では、次サイクルのアドレス２０７を出力する手段として２次元アドレス発生手段２０６を用いた場合を示したが、その他、１次元的に連続なアドレス発生を行うアドレス発生手段、および多次元的に任意の方向へのデータ量の増加に対応するアドレス発生手段を用いた構成も実施することが可能である。
【００９７】
実施の形態３．
この実施の形態３は、アドレッシング指定領域を設定する際に、最終アドレスと先頭アドレスを指定する代りに、最終アドレスとアドレッシング指定領域の総データ数とを指定することにより、アドレッシング指定領域を設定できるようにしたものである。
【００９８】
図５は本発明の実施の形態３のアドレス生成装置を示すものであり、この図５は本願の請求項３の発明に対応するものである。図５において、３０１はアドレッシング指定領域設定手段、３０２はアドレッシング指定領域を設定するための最終アドレスを格納する最終アドレス格納手段、３０３はアドレッシング指定領域を構成する総データ数を格納する総データ数格納手段であり、これらの設定値を変更することにより、その領域指定は可変となるため、アドレッシング指定領域（例えばプロセッサ内部のデータメモリにマッピングすべき領域）はメモリ（例えば外部メモリ）内でスクロール可能となっている。また、３０４は最終アドレス格納手段３０２の出力としての最終アドレス、３０５は総データ数格納手段３０３の出力としての総データ数、３０６は任意の２次元矩型領域のアドレスを発生することができる２次元アドレス発生手段、３０７は２次元アドレス発生手段３０６の出力としての次サイクルのアドレス、３０８は最終アドレス３０４と次サイクルのアドレス３０７を入力として大小比較を行う第１の比較手段、３０９は先頭アドレス３１６と次サイクルのアドレス３０７を入力として大小比較を行う第２の比較手段、３１０は第１の比較手段３０８の出力としての第１の比較結果、３１１は第２の比較手段３０９の出力としての第２の比較結果、３１２は最終アドレス３０４，総データ数３０５，次サイクルのアドレス３０７，第１の比較結果３１０，第２の比較結果３１１を入力としてアドレス補正演算を行うアドレス補正手段、３１３は補正後のアドレス値を格納するアドレスポインタ、３１４はアドレスポインタ３１３の出力としての出力アドレス、３１５は最終アドレス３０４から総データ数３０５を減算する減算器、３１６は最終アドレス３０４から総データ数３０５を減じて得られる先頭アドレスである。
【００９９】
次に動作について説明する。アドレッシング指定領域設定手段３０１はユーザが設定するアドレッシング指定領域の最終アドレスを格納するための最終アドレス格納手段３０２とアドレッシング指定領域の総データ数を格納するための総データ数格納手段３０３と最終アドレス３０４から総データ数３０５を減算する減算器３１５により構成され、最終アドレス３０４と総データ数３０５および、最終アドレス３０４から総データ数３０５を減じて得られた先頭アドレス３１６を出力する。一方、２次元アドレス発生手段３０６は２次元領域アクセスのためのアドレス計算を行い次サイクルのアドレス３０７を出力する。第１の比較手段３０８は最終アドレス３０４と次サイクルのアドレス３０７を入力とし、次サイクルのアドレス３０７の値が最終アドレス３０４の値よりも大きければ第１の比較結果３１０をＯＮとし、小さいか等しければＯＦＦとして出力する。同様に第２の比較手段３０９は先頭アドレス３１６と次サイクルのアドレス３０７を入力とし、次サイクルのアドレス３０７の値が先頭アドレス３１６の値よりも小さければ第２の比較結果３１１をＯＮとし、大きいか等しければＯＦＦとして出力する。アドレス補正手段３１２は、総データ数３０５および次サイクルのアドレス３０７を入力とし、補正アドレスａおよび補正アドレスｂを、
補正アドレスａ  ＝  次サイクルのアドレス３０７−総データ数  （式３−１）
補正アドレスｂ  ＝  次サイクルのアドレス３０７＋総データ数  （式３−２）
【０１００】
により算出し、第１の比較結果３１０と第２の比較結果３１１の２入力を選択信号として補正アドレスａ、補正アドレスｂ、次サイクルのアドレス３０７のうちの１つを選択してアドレスポインタ３１３に格納し、アドレスポインタ３１３の出力がこの実施の形態３のアドレス発生装置の出力する出力アドレス３１４となる。
【０１０１】
アドレス補正手段３１２の選択方法としては、第１の比較結果３１０がＯＮのときには補正アドレスａを、第２の比較結果３１１がＯＮのときには補正アドレスｂを、第１の比較結果３１０および第２の比較結果３１１が何れもＯＦＦのときには次サイクルのアドレス３０７を選択する。
【０１０２】
この実施の形態３では、アドレッシング指定領域の設定方法を、最終アドレスと先頭アドレスとを設定することから最終アドレスと総データ数を設定することに変更し、かつ先頭アドレスについては減算器を設けてこれを自動的に算出する点が実施の形態１，２とは異なり、その他の構成は実施の形態１と同様であるので、ここではその動作を簡略に説明する。
【０１０３】
すなわち、アドレッシング指定領域の総データ数を格納した総データ数格納手段３０３の出力としての総データ数３０５は、減算器３１５に入力され、最終アドレス３０４との減算により先頭アドレス３１６を算出し、一方ではアドレス補正手段３１２に入力され、補正アドレスの計算を式３−１および式３−２に示したように算出する。
【０１０４】
このように、本実施の形態３によれば、２次元アドレス発生手段３０６の発生するアドレスがユーザによってアドレッシング指定領域設定手段３０１に指定された領域をはみ出すと、アドレス補正手段３１２によってアドレッシング指定領域の最終アドレスの次のアドレスを先頭アドレスとしてアドレッシング指定領域をらせん環状の空間に見立てたアドレスの補正計算が自動的になされるため、出力アドレスをいつもユーザの設定したアドレッシング領域内に留めておくことができ、使用するデータメモリ領域を抑えればＤＭＡ転送個数が増大し、ＤＭＡ転送個数を抑えれば使用するデータメモリ領域が増大するという、相反する問題を解決でき、さらには、回路規模やＣＰＵの処理の増大を招くことなく、かつ、はみ出そうとする領域の最初の存在位置や形状が限られることなく、データメモリ領域の増大を抑えることが可能となる，実施の形態１に相当する効果に加え、ユーザの設定するアドレッシング指定領域を最終アドレスと総データ数によって設定するようにしたので、アドレス補正手段３１２が行うアドレス補正計算が簡単化でき、ハードウェア規模を削減することができる。
【０１０５】
なお、実施の形態２についても、アドレッシング指定領域の設定方法が最終アドレスと先頭アドレスを設定することから、この実施の形態３と同様に最終アドレスと総データ数を設定するように変更するようにしてもよい。
【０１０６】
さらに、図６に示すように、先頭アドレスとアドレッシング指定領域の総データ数を設定することによりアドレッシング指定領域を設定できるようにしてもよい。
【０１０７】
図６において、３０１はアドレッシング指定領域設定手段、３０３はアドレッシング指定領域を構成する総データ数を格納する総データ数格納手段、３００はアドレッシング指定領域を設定するための先頭アドレスを格納する先頭アドレス格納手段、３１７は先頭アドレス３１６に総データ数３０５を加算する加算器であり、他は図５と同様のものである。
【０１０８】
この図６では、アドレッシング指定領域の設定方法を、最終アドレスと先頭アドレスとを設定することから先頭アドレスと総データ数を設定することに変更し、かつ最終アドレスについては加算器を設けてこれを自動的に算出する点が実施の形態１，２とは異なり、その他の構成は実施の形態１と同様であるので、ここではその動作を簡略に説明する。
【０１０９】
すなわち、アドレッシング指定領域の総データ数を格納した総データ数格納手段３０３の出力としての総データ数３０５は、加算器３１７に入力され、先頭アドレス格納手段３００の出力としての先頭アドレス３１６との加算により最終アドレス３０４を算出し、一方ではアドレス補正手段３１２に入力され、補正アドレスの計算を式３−１および式３−２に示したように算出する。
【０１１０】
このように、図６のアドレス生成装置によれば、ユーザの設定するアドレッシング指定領域を先頭アドレスと総データ数によって設定するようにしたので、アドレス補正手段３１２が行うアドレス補正計算が簡単化でき、ハードウェア規模を削減することができる。
【０１１１】
実施の形態４．
この実施の形態４は、２次元アドレス発生手段にそのアドレス発生を開始する開始アドレスを設定できるようにすることにより、次のアドレス計算を簡単に行えるようにしたものである。
【０１１２】
図７は本発明の実施の形態４のアドレス生成装置を示すものであり、この図７は本願の請求項４の発明に対応するものである。図７において、４０１はアドレッシング指定領域設定手段、４０２はアドレッシング指定領域を設定するための最終アドレスを格納する最終アドレス設定手段、４０３はアドレッシング指定領域を設定するための先頭アドレスを格納する先頭アドレス設定手段であり、これらの設定値を変更することにより、その領域指定は可変となるため、アドレッシング指定領域（例えばプロセッサ内部のデータメモリにマッピングすべき領域）はメモリ（例えば外部メモリ）内でスクロール可能となっている。また、４０４は最終アドレス設定手段４０２の出力としての最終アドレス、４０５は先頭アドレス設定手段４０３の出力としての先頭アドレス、４０６は任意の２次元矩型領域のアドレスを発生することのできる２次元アドレス発生手段、４０７は２次元アドレス発生手段４０６の出力としての次サイクルのアドレス、４０８は最終アドレス４０４と次サイクルのアドレス４０７を入力として大小比較を行う第１の比較手段、４０９は先頭アドレス４０５と次サイクルのアドレス４０７を入力として大小比較を行う第２の比較手段、４１０は第１の比較手段４０８の出力としての第１の比較結果、４１１は第２の比較手段４０９の出力としての第２の比較結果、４１２は次サイクルのアドレス４０７，第１の比較結果４１０，第２の比較結果４１１を入力としてアドレス補正演算を行うアドレス補正手段、４１３は補正後のアドレス値を格納するアドレスポインタ、４１４はアドレスポインタ４１３の出力としての出力アドレスである。また、２次元アドレス発生手段４０６の構成要素のうち、４１５、４１６はそれぞれ第１次、第２次走査方向の増分値設定レジスタ、４１７は第１次走査方向の増分値設定レジスタ４１５と、第２次走査方向の増分値設定レジスタ４１６の出力のうち何れかを選択して出力する第１のマルチプレクサ、４１８は開始アドレス設定レジスタ、４１９、４２０はそれぞれ第１次、第２次走査方向に対応した第１、第２の累算レジスタ、４２１は第１の累算レジスタ４１９と、第２の累算レジスタ４２０の出力のうち何れかを選択して出力する第２のマルチプレクサ、４２２は第２のマルチプレクサ４２１の出力と第１のマルチプレクサ４１７の出力とを加算する加算器、４２３は加算器４２２と開始アドレス設定レジスタ４１８の出力のうち何れかを選択して出力する第３のマルチプレクサ、４２４、４２５はそれぞれ第１次、第２次走査方向のデータ数設定レジスタ、４２６は第１次走査方向のデータ数設定レジスタ４２４と第２次走査方向のデータ数設定レジスタ４２５の設定値を基に制御信号を生成する制御回路、４２７はユーザの設定する開始アドレス、４２８は開始アドレス４２７と出力アドレス４１４のうち何れかを選択して出力する第４のマルチプレクサである。
【０１１３】
この実施の形態４では、２次元アドレス発生手段４０６については、ユーザがアクセスしたい２次元矩型領域を設定する際に開始アドレスを設定するための開始アドレス設定レジスタ４１８に対してアドレス補正手段４１２の出力である出力アドレス４１４を第４のマルチプレクサ４２８を介して書き込める点を除いて実施の形態１と同様であり、それ以外についても実施の形態１と同様であるので、ここでは説明を省略する。
【０１１４】
第４のマルチプレクサ４２８は、ユーザにより設定される開始アドレス４２７と出力アドレス４１４のうち何れかを選択し、その出力は開始アドレス設定レジスタ４１８に入力される。第４のマルチプレクサ４２８の選択信号は、アドレッシングが開始された最初のサイクルでのみ出力アドレス４１４を選択するように、制御回路４２６によって制御するものである。
【０１１５】
このように、本実施の形態４によれば、２次元アドレス発生手段４０６の発生するアドレスがユーザによってアドレッシング指定領域設定手段４０１に指定された領域をはみ出すと、アドレス補正手段４１２によってアドレッシング指定領域の最終アドレスの次のアドレスを先頭アドレスとしてアドレッシング指定領域をらせん環状の空間に見立てたアドレスの補正計算が自動的になされるため、出力アドレスをいつもユーザの設定したアドレッシング領域内に留めておくことができ、使用するデータメモリ領域を抑えればＤＭＡ転送個数が増大し、ＤＭＡ転送個数を抑えればデータメモリ領域が増大するという、相反する問題を解決でき、さらには、回路規模やＣＰＵの処理の増大を招くことなく、かつ、はみ出そうとする領域の最初の存在位置や形状が限られることなく、データメモリ領域の増大を抑えることが可能となる，実施の形態１の効果に加え、ユーザがアクセスしたい２次元矩型領域を設定する際に開始アドレスを設定するための開始アドレス設定レジスタ４１８に対して、アドレッシングが開始された最初のサイクルで出力アドレス４１４を書き込むための第４のマルチプレクサ４２８を設けたことにより、ユーザがアクセスしたい２次元矩型領域の開始アドレスがアドレッシング指定領域をはみ出していた場合に、アドレス補正手段４１２によって補正されたアドレスを出力アドレス４１４として出力しつつ、ユーザが設定した開始アドレス４２７の値を、実際にメモリをアクセスした出力アドレス４１４によって上書きすることで、補正後のアドレスを開始アドレスとして以降のアクセスを行うことが可能となる。
【０１１６】
これは、プロセッサで行われるメモリをソースあるいはリソースとしたベクトル演算などを行う場合に、前回行ったベクトル演算の開始アドレスをもとに新たなアドレッシングを行う際のプログラムによるアドレス計算に要する演算量を軽減することができる。
【０１１７】
実施の形態５．
この実施の形態５は、２次元アドレス発生手段にそのアドレス発生を開始する開始アドレスを設定できるようにすることにより、次のアドレス計算を簡単に行えるようにするとともに、アドレッシング指定領域を設定する際に、最終アドレスと先頭アドレスを指定する代りに、最終アドレスとアドレッシング指定領域の総データ数とを指定することにより、アドレッシング指定領域を設定できるようにしたものである。
【０１１８】
図８は本発明の実施の形態５のアドレス生成装置を示すものであり、この図８は本願の請求項５，請求項６，請求項７の発明に対応するものである。図８において、５０１はアドレッシング指定領域設定手段、５０２はアドレッシング指定領域を設定するための最終アドレスを格納する最終アドレス設定手段、５０３はアドレッシング指定領域を構成する総データ数を格納する総データ数設定手段であり、これらの設定値を変更することにより、その領域指定は可変となっているため、アドレッシング指定領域（例えばプロセッサ内部のデータメモリにマッピングすべき領域）はメモリ（例えば外部メモリ）内でスクロール可能となっている。また、５０４は最終アドレス設定手段５０２の出力としての最終アドレス、５０５は総データ数設定手段５０３の出力としての総データ数、５０６は任意の２次元矩型領域のアドレスを発生することのできる２次元アドレス発生手段、５０７は２次元アドレス発生手段５０６の出力としての次サイクルのアドレス、５０８は最終アドレス５０４と次サイクルのアドレス５０７を入力として大小比較を行う第１の比較手段、５０９は先頭アドレス５１５と次サイクルのアドレス５０７を入力として大小比較を行う第２の比較手段、５１０は第１の比較手段５０８の出力としての第１の比較結果、５１１は第２の比較手段５０９の出力としての第２の比較結果、５１２は総データ数５０５，次サイクルのアドレス５０７，第１の比較結果５１０，第２の比較結果５１１を入力としてアドレス補正演算を行うアドレス補正手段、５１３はアドレス補正手段５１２の出力としての補正アドレス、５１４は最終アドレス５０４から総データ数５０５を減算する減算器、５１５は最終アドレス５０４から総データ数５０５を減じて得られる先頭アドレスである。また、２次元アドレス発生手段５０６の構成要素のうち５１６、５１７はそれぞれ第１次、第２次走査方向の増分値設定レジスタ、５１８は第１次走査方向の増分値設定レジスタ５１６と、第２次走査方向の増分値設定レジスタ５１７の出力のうち何れかを選択して出力する第１のマルチプレクサ、５１９は開始アドレス設定レジスタ、５２０、５２１はそれぞれ第１次、第２次走査方向に対応した第１、第２の累算レジスタ、５２２は第１の累算レジスタ５２０と、第２の累算レジスタ５２１の出力のうち何れかを選択して出力する第２のマルチプレクサ、５２３は第２のマルチプレクサ５２２の出力と第１のマルチプレクサ５１８の出力とを加算する加算器、５２４は加算器５２３と開始アドレス設定レジスタ５１９の出力のうち何れかを選択して出力する第３のマルチプレクサ、５２５、５２６はそれぞれ第１次、第２次走査方向のデータ数設定レジスタ、５２７は第１次走査方向のデータ数設定レジスタ５２５と、第２次走査方向のデータ数設定レジスタ５２６を基に制御信号を生成する制御回路、５２８はユーザの設定する開始アドレス、５２９は開始アドレス５２８と出力アドレス５３０のうち何れかを選択して出力する第４のマルチプレクサ、５３０は第１の累算レジスタ５２０の出力としての出力アドレスである。
【０１１９】
この実施の形態５では、アドレス補正手段５１２において補正したアドレスを格納するアドレスポインタを持つ代わりに、２次元アドレス発生手段５０６の持つ第１次方向累算レジスタ５２０および第２次方向累算レジスタ５２１を利用して補正アドレスを格納し、第１次方向の累算レジスタの出力をもって出力アドレス５３０とする点が異なり、他の構成は実施の形態３および実施の形態４とを組み合わせたものであるので、ここでは説明を省略する。
【０１２０】
本実施の形態５によれば、実施の形態３および４の効果に加え、アドレッシング指定領域をはみ出したアドレスについてはアドレス補正手段５１２によって補正された補正アドレス５１３が、２次元アドレス発生手段５０６内の第１次および第２次方向の累算レジスタに格納されるため、プロセッサで行われるメモリをソースあるいはリソースとしたベクトル演算などを行う場合に２次元アドレス発生手段の出力する次サイクルのアドレスがアドレス補正手段による補正が不可能な領域のアドレスを示すことがなくなる。
【０１２１】
ちなみに、実施の形態３および４の構成では、次サイクルのアドレスがアドレッシング指定領域をはみ出した場合にアドレス補正手段によって補正できる範囲は、アドレッシング指定領域の先頭アドレス以前に位置するアドレッシング指定領域と同等の領域と、最終アドレス以降に位置するアドレッシング指定領域と同等の領域に限られていた。
【０１２２】
なお、この実施の形態５に対して実施の形態２を組み合わせて実施することも可能であり、これを図９に示す。
【０１２３】
図９において、５３１はアドレス検出手段であり、これは、最終アドレス５０４（ＥＡ）と先頭アドレス５１５（ＳＡ０）と第１の比較結果５１０（Ｙ）と第２の比較結果５１１（Ｘ）および次サイクルのアドレス５０７（Ａ）を入力とし、以下の２種類の状態を検出して検出結果５１３を出力する。まず第１に、
Ｓ＝ＥＡ−ＳＡ０    （式２−３）
【０１２４】
の算出結果（Ｓ）の符号ビットを検出し、その正負によって最終アドレス５０４（ＥＡ）と先頭アドレス５１５（ＳＡ０）のメモリ内でのアドレス位置の関係を明らかにする。
【０１２５】
つまり図４（ａ）に示したように（式２−３）の算出結果（Ｓ）が正であれば最終アドレス５０４（ＥＡ）は先頭アドレス５１５（ＳＡ０）より大きいアドレス値であり、逆に（式２−３）の算出結果（Ｓ）が負であれば図４（ｂ）に示したように最終アドレス５０４（ＥＡ）と先頭アドレス５１５（ＳＡ０）の大小関係が逆転し、この場合、先頭アドレス５１５（ＳＡ０）からターゲットメモリの最後のアドレスまでと、ターゲットメモリのアドレス０番地から最終アドレス５０４（ＥＡ）までがアドレッシング指定領域ということになる。
【０１２６】
次に、（式２−３）の算出結果（Ｓ）に応じて次サイクルのアドレス５０７（ＥＡ）がアドレッシング指定領域をはみ出している場合に先頭アドレス５１５（ＳＡ０）を越えてはみ出したものか、最終アドレス５０４（ＥＡ）を越えてはみ出したものかを検出する。その際どちらを越えてはみ出したものかは、次サイクルのアドレス５０７（Ａ）のメモリ領域におけるアドレス位置が先頭アドレス５１５（ＳＡ０）と最終アドレス５０４（ＥＡ）のどちらにより近い位置にあるかによって判断するものとする。
【０１２７】
このように、アドレス検出手段５３１を用いることによって先頭アドレス５１５と最終アドレス５０４のメモリ内の位置関係が逆転した場合、つまりアドレッシング指定領域がタ一ゲットメモリの最後のアドレスをまたいだような設定を行つた場合にも、アドレッシング指定領域をはみ出た次サイクルのアドレス５０７を検出してアドレッシング指定領域内に補正することができ、ユーザの設定するデータメモリ内の限られた領域内をはみ出すことなく、多次元領域のアドレスを自動的に発生でき、アドレッシング指定領域が、ユーザの設定する領域をはみ出そうとしたときに、必要なデータのみをＤＭＡ転送するだけで済むため、従来の多次元アドレス発生手段において問題となっていた、ＤＭＡ転送個数が増大したり使用するデータメモリ領域が増大したりするという，相反する問題を解決でき、さらには、回路規模やＣＰＵの処理の増大を招くことなく、かつ、はみ出そうとする領域の最初の存在位置や形状が限られることなく、データメモリ領域の増大を抑えることが可能となるアドレス生成装置を提供することができる。
【０１２８】
さらに、図１０に示すように、先頭アドレスとアドレッシング指定領域の総データ数を設定することによりアドレッシング指定領域を設定できるようにしてもよい。
【０１２９】
図１０において、５０１はアドレッシング指定領域設定手段、５０３はアドレッシング指定領域を構成する総データ数を格納する総データ数設定手段、５００はアドレッシング指定領域を設定するための先頭アドレスを格納する先頭アドレス設定手段、５１７は先頭アドレス５１５に総データ数５０５を加算する加算器であり、他は図５と同様のものである。
【０１３０】
この図１０では、アドレッシング指定領域の設定方法を、最終アドレスと先頭アドレスとを設定することから先頭アドレスと総データ数を設定することに変更し、かつ最終アドレスについては加算器を設けてこれを自動的に算出する点が実施の形態４とは異なり、その他の構成は実施の形態４と同様であるので、ここではその動作を簡略に説明する。
【０１３１】
すなわち、アドレッシング指定領域の総データ数を格納した総データ数設定手段５０３の出力としての総データ数５０５は、加算器５１７に入力され、先頭アドレス５１５との加算により最終アドレス５０４を算出し、一方ではアドレス補正手段５１２に入力され、補正アドレスの計算を式３−１および式３−２に示したように算出する。
【０１３２】
このように、図１０のアドレス生成装置によれば、ユーザの設定するアドレッシング指定額域を先頭アドレスと総データ数によって設定するようにしたので、アドレス補正手段５１２が行うアドレス補正計算が簡単化でき、ハードウェア規模を削減することができる。
【０１３３】
またさらに、図１１に示すように、図１０において、アドレス検出手段５３１を設けることにより、アドレッシング指定領域がターゲットメモリの最後のアドレスをまたいだような設定を行った場合にも、アドレッシング指定領域をはみ出た次サイクルのアドレス５０７を検出してアドレッシング指定領域内に補正することができ、ユーザの設定するデータメモリ内の限られた領域内をはみ出すことなく、多次元領域のアドレスを自動的に発生できるようにしてもよい。
【０１３４】
実施の形態６．
この実施の形態６は、アドレス補正を行ったアドレスを出力するモードと、従来の２次元アドレスのまま出力するモードの切り替えを行えるようにしたものである。
【０１３５】
図１２は本発明の実施の形態６のアドレス生成装置を示すものであり、この図１２は本願の請求項８，請求項９，請求項１０の発明に対応するものである。図１２において、６０１はアドレッシング指定領域設定手段、６０２はアドレッシング指定領域を設定するための最終アドレスを格納する最終アドレス設定手段、６０３はアドレッシング指定領域を構成する総データ数を格納する総データ数設定手段であり、これらの設定値を変更することにより、その領域指定は可変となるため、アドレッシング指定領域（例えばプロセッサ内部のデータメモリ）はメモリ（例えば外部メモリ）内でスクロール可能となっている。また、６０４は最終アドレス設定手段６０２の出力としての最終アドレス、６０５は総データ数設定手段６０３の出力としての総データ数、６０６は任意の２次元矩型領域のアドレスを発生することのできる２次元アドレス発生手段、６０７は２次元アドレス発生手段６０６の出力としての次サイクルのアドレス、６０８は最終アドレス６０４と次サイクルのアドレス６０７を入力として大小比較を行う第１の比較手段、６０９は先頭アドレス６１６と次サイクルのアドレス６０７を入力として大小比較を行う第２の比較手段、６１０は第１の比較手段６０８の出力としての第１の比較結果、６１１は第２の比較手段６０９の出力としての第２の比較結果、６１２は総データ数６０５，次サイクルのアドレス６０７，第１の比較結果６１０，第２の比較結果６１１を入力としてアドレス補正演算を行うアドレス補正手段、６１３はアドレス補正手段６１２の出力としての補正アドレス、６１４は補正アドレス６１３を入力とするアドレスポインタ、６１５は最終アドレス６０４から総データ数６０５を減算する減算器、６１６は最終アドレス６０４から総データ数６０５を減じて得られる先頭アドレスである。また、２次元アドレス発生手段６０６の構成要素のうち６１７、６１８はそれぞれ第１次、第２次走査方向の増分値設定レジスタ、６１９は第１次走査方向の増分値設定レジスタ６１７と第２次走査方向の増分値設定レジスタ６１８の設定値のうちの何れかを選択して出力する第１のマルチプレクサ、６２０は開始アドレス設定レジスタ、６２１、６２２はそれぞれ第１次、第２次走査方向に対応した第１、第２の累算レジスタ、６２３は後述する第５のマルチプレクサ６３１と第２の累算レジスタ６２２の出力のうちの何れかを選択して出力する第２のマルチプレクサ、６２４は第２のマルチプレクサ６２３の出力と第１のマルチプレクサ６１９の出力とを加算する加算器、６２５は加算器６２４と開始アドレス設定レジスタ６２０の出力のうち何れかを選択して出力する第３のマルチプレクサ、６２６、６２７はそれぞれ第１次、第２次走査方向のデータ数設定レジスタ、６２８は第１次走査方向のデータ数設定レジスタ６２６と第２次走査方向のデータ数設定レジスタ６２７の設定値を基に制御信号を生成する制御回路、６２９はユーザの設定する開始アドレス、６３０はユーザの設定する開始アドレス６２９と出力アドレス６３２のうち何れかを選択して出力する第４のマルチプレクサ、６３１は第１の累算レジスタ６２１とアドレスポインタ６１４の出力のうち何れかを選択して出力する第５のマルチプレクサ、６３２は第５のマルチプレクサ６３１の出力としての出力アドレス、６３３は次サイクルのアドレス６０７と補正アドレス６１３のうち何れかを選択して出力する第６のマルチプレクサ、６３４は第５のマルチプレクサ６３１と第６のマルチプレクサ６３３のマルチプレクサの選択信号としてのモード切り替え信号である。
【０１３６】
この実施の形態６では、アドレッシング指定領域をはみ出すと、補正を行ったアドレスを出力するか、従来の２次元アドレスのまま出力するかを切り替えるモード切り替え信号によって切り替わる第５のマルチプレクサ６３１と第６のマルチプレクサ６３３を設け、第６のマルチプレクサによって第２次方向累算レジスタの入力を次サイクルのアドレス６０７にするか補正アドレス６１３にするかを選択可能とし、第５のマルチプレクサ６３１によって出力アドレス６３２をアドレスポインタ６１４の出力とするか第１次方向累算レジスタ６２１の出力とするかを選択可能とする点が異なり、他の構成は実施の形態３および実施の形態４とを組み合わせたものと同様であるので、ここでは説明を省略する。
【０１３７】
この構成によって、モード切り替え信号が通常の２次元アドレス発生モードを示すものであれば、第６のマルチプレクサ６３３は次サイクルのアドレス６０７を選択し、第５のマルチプレクサ６３１は第１次方向累算レジスタ６２１の出力を選択して出力アドレス６３２とするので、アドレッシング指定領域設定手段６０１に指定されたアドレッシング指定領域の範囲に関わらないアドレスを発生する。
【０１３８】
また、モード切り替え信号がアドレッシング指定領域からはみ出さないアドレッシングモードを示すものであれば、第６のマルチプレクサ６３３は補正アドレス６１３を選択し、第５のマルチプレクサ６３１はアドレスポインタ６１４の出力を選択するので、アドレッシング指定領域からはみ出さないようにアドレスを補正したものが出力アドレス６３２となるものである。
【０１３９】
以上のように、本実施の形態６によれば、２次元アドレス発生手段６０６の発生するアドレスがユーザによってアドレッシング指定領域設定手段６０１に指定された領域をはみ出すと、アドレス補正手段６１２によってアドレッシング指定領域の最終アドレスの次のアドレスを先頭アドレスとしてアドレッシング指定領域をらせん環状の空間に見立てたアドレスの補正計算が自動的になされるため、出力アドレスをいつもユーザの設定したアドレッシング領域内に留めておくことができ、使用するデータメモリ領域を抑えればＤＭＡ転送個数が増大し、ＤＭＡ転送個数を抑えればデータメモリ領域が増大するという、相反する問題を解決でき、さらには、回路規模やＣＰＵの処理の増大を招くことなく、かつ、はみ出そうとする領域の最初の存在位置や形状が限られることなく、データメモリ領域の増大を抑えることが可能になるとともに、ユーザの設定するアドレッシング指定領域を最終アドレスと総データ数によって設定するようにしたので、アドレス補正手段６１２が行うアドレス補正計算が簡単化でき、ハードウェア規模を削減することができる，という実施の形態３に相当する効果、および、ユーザがアクセスしたい２次元矩型領域を設定する際に開始アドレスを設定するための開始アドレス設定レジスタ６２０に対して、アドレッシングが開始された最初のサイクルで出力アドレス６３２を書き込むための第４のマルチプレクサ６３０を設けたことにより、ユーザがアクセスしたい２次元矩型領域の開始アドレスがアドレッシング指定領域をはみ出していた場合に、アドレス補正手段６１２によって補正されたアドレスを出力アドレス６３２として出力しつつ、ユーザが設定した開始アドレス６２９の値を、実際にメモリをアクセスした出力アドレス６３２によって上書きすることで、補正後のアドレスを開始アドレスとして以降のアクセスを行うことが可能となる、という実施の形態４の効果に加え、ユーザがアドレッシング指定領域設定手段６０１に設定を行い、そのアドレッシング指定領域をはみ出さないような２次元アドレスを発生する処理を行った後に、通常のアドレッシング指定領域に関係のない２次元アドレス発生の処理を行いたい場合に、モード切り替え信号を切り替えることによって容易に機能を切り替えることができ、処理量を削減できる効果があると同時に、アドレス補正を行ったアドレスおよびアドレス補正を行わないアドレスの生成を同一の回路で行うことができる。
【０１４０】
このように、本実施の形態６によるアドレス生成装置は、モード切り替え信号によって通常の従来の多次元アドレス生成装置に容易に切り替わるため、ある特定アプリケーションにのみ使用可能なものではなく、矩型領域に対するベクトル演算を行うようなプロセッサ全般に対して高機能のアドレス生成装置として使用可能である。
【０１４１】
なお、図１３に示すように、先頭アドレスとアドレッシング指定領域の総データ数を設定することによりアドレッシング指定領域を設定できるようにしてもよい。
【０１４２】
図１３において、６０１はアドレッシング指定領域設定手段、６０３はアドレッシング指定領域を構成する総データ数を格納する総データ数設定手段、６００はアドレッシング指定領域を設定するための先頭アドレスを格納する先頭アドレス設定手段、６１７は先頭アドレス６１６に総データ数６０５を加算する加算器であり、他は図１２と同様のものである。
【０１４３】
この図１３では、アドレッシング指定領域の設定方法を、最終アドレスと総データ数とを設定することから先頭アドレスと総データ数を設定することに変更し、かつ最終アドレスについては加算器を設けてこれを自動的に算出する点が実施の形態６とは異なり、その他の構成は実施の形態６と同様であるので、ここではその動作を簡略に説明する。
【０１４４】
すなわち、アドレッシング指定領域の総データ数を格納した総データ数設定手段６０３の出力としての総データ数６０５は、加算器６１７に入力され、先頭アドレス６１６との加算により最終アドレス６０４を算出し、一方ではアドレス補正手段６１２に入力され、補正アドレスの計算を式３−１および式３−２に示したように算出する。
【０１４５】
このように、図１３のアドレス生成装置によれば、ユーザの設定するアドレッシング指定領域を先頭アドレスと総データ数によって設定するようにしたので、アドレス補正手段６１２が行うアドレス補正計算が簡単化でき、ハードウェア規模を削減することができる。
【０１４６】
また、図１２に示される第５のマルチプレクサおよび第６のマルチプレクサを実施の形態４および５、即ち、図７ないし図１１の装置に適用し、アドレス補正されたアドレスを生成するモードおよびアドレス補正を行わないアドレスを生成するモードを有するようにしてもよい。
【０１４７】
実施の形態７．
この実施の形態７は、アドレス生成装置を用いて動きベクトル検出を行うようにした動きベクトル検出装置に関するものである。
【０１４８】
図１４は本発明の実施の形態７の動きベクトル検出装置としてのプロセッサを示すものであり、この図１４は本願の請求項１１の発明に対応するものである。図１４において、７０１はプロセッサ外部に配置される外部メモリ、７０２は外部メモリ７０１と後述する内部メモリとの間でデータ転送を行うＤＭＡデータ転送用バス、７０３はプロセッサ内部に配置されるデータメモリとしての第１の内部メモリ、同様に７０４，７０５はプロセッサ内部に配置されるデータメモリとしての第２，第３の内部メモリ、７０６は内部メモリと後述する演算手段との間でデータのやりとりを行う内部演算用バス、７０７は演算手段、７０８はユーザによってアドレッシング指定領域を指定することができ、そのアドレッシング指定領域からはみ出すことなく２次元アドレスを発生するアドレス発生手段であり、図１２のアドレス生成装置を用いるのが望ましいが、図１，図３，図５，図６，図７，図８，図９，図１０，図１１，図１３のアドレス生成装置を用いることもできる。７０９は第１の内部メモリのアドレス、７１０と７１２は通常のアドレス発生手段、７１１は第２の内部メモリのアドレス、７１３は第３の内部メモリのアドレスである。
【０１４９】
次に、動作について説明する。外部メモリ７０１に格納されている画像データのうち、動きベクトル検索の対象となる画像データのうち探索に必要なデータを第１の内部メモリにＤＭＡデータ転送用バス７０２を介して転送しておく。動きベクトル検出のための演算は内部演算用バス７０６を介して演算手段７０７において行われる。
【０１５０】
画像ＣＯＤＥＣ処理で行われている動きベクトル検出処理の中でも、従来例で述べたＯｎｅ ａｔ ａ ｔｉｍｅアルゴリズムを用いた動きベクトルの探索を、本実施の形態７のアドレス生成装置を用いたプロセッサ、即ち動きベクトル検出装置にて行う場合を図１４ないし図１７を用いて説明する。図１４において、外部メモリ７０１に格納されている探索する対象の画像データのうち、まず最初に１マクロブロック分の画素とその周囲１画素を含んだ１８×１８画素からなる矩型領域のデータをＤＭＡ転送により第１の内部メモリ７０３に転送する。これは検索オリジンとその近接８画素のＳＡＤ値算出に必要な画像領域を確保したものである。その際にユーザは第１の内部メモリ７０３のアドレス７０９を発生するアドレッシング指定領域を持った２次元アドレス発生手段７０８には、１８×１８画素分のデータを格納する領域をメモリ内に配置し、これを第１の内部メモリに対するアドレッシング指定領域に設定しておく。
【０１５１】
以上述べたような手順によって、第１の内部メモリ７０３に配置された画素データの中心の１６×１６画素がまず最初の検索オリジンとなる。また第２の内部メモリ７０４には動きベクトル処理対象のマクロブロックデータが配置されているものとする。次にユーザはアドレッシング指定領域を持った２次元アドレス発生手段７０８が通常のアドレス発生手段７１０に対して、ＳＡＤ計算を行う対象の画像データである１６×１６画素の矩型領域をアクセスするようにあらかじめ設定を行い、第１の内部メモリ７０３と第２の内部メモリ７０４を２つのソースとしたＳＡＤ値算出の命令を発行する。
【０１５２】
図１５にはこのときの第１の内部メモリ７０３の状態を示している。７１４は第１の内部メモリ７０３に対してユーザが設定した１８×１８画素のアドレッシング指定領域、７１５はユーザが検索オリジンをアクセスするために行った２次元アドレスの設定を示し、７１６は実際にアドレッシング指定領域を持つ２次元アドレス発生手段７０８が発生したアドレスである。つまり、第１の内部メモリ７０３のアドレスは、アクセス設定７１５の１から順番に１６×１６データを矩型領域でアクセスし、発生アドレス７１６の１から順番に発生される。
【０１５３】
ＳＡＤ値の算出は演算手段７０７によって行われ、内部演算用バスを介してリソースに格納される。以上の処理を第１の内部メモリ７０３にある検索オリジンの近接８画素に対しても次々に行う。この際、ユーザはアドレッシング指定領域をもった２次元アドレス発生手段７０８に対してのみアクセスしたい２次元矩型領域の開始アドレス、すなわち図１５におけるアクセス設定７１５の１のアドレス値を右、左、上、下、右斜め上、右斜め下、左斜め上、左斜め下というふうに１画素づつずらすような設定を行って同様の演算を行えばよい。
【０１５４】
次に、新しい検索オリジンとして１画素上のマクロブロックが見つかった場合には、図１６に示したように、新しい検索オリジンはアクセス設定７１７のようになる。しかし、新しい検索オリジンの近接８画素を探索するためには、アドレス発生手段７０８のアドレッシング指定領域設定手段により設定された図１６のアクセス設定７１７に、“●”で示したａないしｒまでの画素データが新たに必要となるので、ＤＭＡ転送により外部メモリ７０１から画素を補充する。この際にユーザの行う設定としてアクセス設定７１７に“●”で示したａないしｒをアクセスするような設定を、アドレス発生手段７０８の２次元アドレス発生手段により行えば、実際に発生するアドレスとしては、アドレッシング指定領域（７１７）をはみ出したアドレスを補正する機能によって、発生アドレス７１８に“●”で示したａないしｒのアドレスが発生される。ＳＡＤ値を求める演算を行う場合にも、２次元アドレスのアドレッシングでも、アクセス設定７１７のａないしｒをアクセスするようなアドレスを設定すれば発生アドレス７１８のａないしｒを自動的にアクセスする。
【０１５５】
なお、参考のため、図１７には、検索オリジンが１画素右斜上のマクロブロックに移動した場合のアクセス設定７１９と発生アドレス７２０を示している。
【０１５６】
このように、本実施の形態７によれば、外部メモリに配置された画像データを、内部メモリのアドレッシング指定領域で指定した領域をウィンドウとしてスクロールすることが可能となる。これによって内部メモリの使用領域をアドレッシング指定領域によってユーザが決定することで、動きベクトル検出処理によって占有するメモリ量の増大を防ぐことができる。
【０１５７】
さらに、検索オリジンが移動したことによって不足する画素のみを補充すればよいことから、例えば１８×１８画素の矩形領域のデータをＤＭＡ転送する場合、本来３２４（＝１８×１８）画素のデータ転送が必要であるが、本実施の形態７では図１７の“●”で示した３５（＝１８＋１８−１）画素のデータ転送のみで済み、ＤＭＡ転送データ数の増大を防ぐことができる。
【０１５８】
さらに、ユーザはアドレッシング指定領域をはみ出してアクセスしていることを意識する必要がなく、通常通りのアクセス設定を行えばよいので、アドレス計算に要する演算量の増大を軽減することができる。
【０１５９】
よって本実施の形態７は、この構成を動きベクトル検出処理に利用することによって、従来のアドレス生成装置を用いた処理における、占有するメモリ容量の増大、ＤＭＡ転送データ数の増大、演算量（アドレス計算）の増大という問題を改善できる効果があり、搭載するメモリ容量が限られているような小型端末、とくにＭＰＥＧ４等の画像ＣＯＤＥＣ処理を使用した無線携帯端末やコンピュータに無線送受信装置を接続した形態で使用されている動きベクトル検索処理に対して大きな効果を発揮する。
【０１６０】
また、本実施の形態７は、メモリ容量を少なく抑え、また、スクロール方向が２次元的である場合の画像表示におけるスクロール表示に利用することも可能である。
【０１６１】
産業上の利用可能性
以上のように、本発明に係るアドレス生成装置および動きベクトル検出装置は、矩形領域のアクセス対象をアクセスするためのアドレスを生成する際に、ユーザが設定するデータメモリ内の限られた領域をはみだすことなく多次元領域のアドレスを自動的に発生するのに適し、Ｏｎｅ ａｔ ａ ｔｉｍｅアルゴリズム等による動きベクトル検出を行うのに適する。
【図面の簡単な説明】
【図１】本発明の実施の形態１のアドレス生成装置の構成図である。
【図２】本発明の実施の形態１のアドレス生成装置が生成するアドレスの生成パターンの一例を示す図であり、（ａ）は縦方向にアドレスがはみ出した場合のアクセスの説明図、（ｂ）は横方向にアドレスがはみ出した場合のアクセスの説明図である。
【図３】本発明の実施の形態２のアドレス生成装置の構成図である。
【図４】本発明の実施の形態２におけるアドレッシング指定領域の設定パターンの概念図であり、（ａ）は最終アドレスが先頭アドレスより大きな値である場合のアドレッシング指定領域の設定パターンを示す図、（ｂ）は最終アドレスが先頭アドレスより小さな値である場合のアドレッシング指定領域の設定パターンを示す図である。
【図５】本発明の実施の形態３のアドレス生成装置の構成図である。
【図６】本発明の実施の形態３のアドレス生成装置の構成図である。
【図７】本発明の実施の形態４のアドレス生成装置の構成図である。
【図８】本発明の実施の形態５のアドレス生成装置の構成図である。
【図９】本発明の実施の形態５のアドレス生成装置の構成図である。
【図１０】本発明の実施の形態５のアドレス生成装置の構成図である。
【図１１】本発明の実施の形態５のアドレス生成装置の構成図である。
【図１２】本発明の実施の形態６のアドレス生成装置の構成図である。
【図１３】本発明の実施の形態６のアドレス生成装置の構成図である。
【図１４】本発明の実施の形態７の動きベクトル検出装置の構成図である。
【図１５】本発明の実施の形態７におけるメモリアクセス方法の概念図である。
【図１６】本発明の実施の形態７におけるメモリアクセス方法の概念図である。
【図１７】本発明の実施の形態７におけるメモリアクセス方法の概念図である。
【図１８】従来のアドレス生成装置の構成図である。
【図１９】従来のアドレス生成装置の構成図である。
【図２０】従来のアドレス生成装置のデータの流れを示す図である。
【図２１】従来のアドレス生成装置の制御回路の一例を示す図である。
【図２２】従来のアドレス生成装置の制御回路の一例を示す図である。
【図２３】従来のアドレス生成装置が実際に画像データをアクセスする場合の動作を示す図であり、（ａ）は横方向にアクセスを行う場合を示す図、（ｂ）は縦方向にアクセスを行う場合を示す図である。
【図２４】本発明の実施の形態２における選択信号とアドレスポインタ２１５の入力となるアドレスとの関係を示す図である。
【図２５】従来のグラフィック表示スクロール装置の表示画面が表示データ領域の境界をまたいだ場合のフレームメモリのアドレスの関係を示す図である。
【図１】
0003564395.tif 000002
【図２】
0003564395.tif 000003
【図３】
0003564395.tif 000004
【図４】
0003564395.tif 000005
【図５】
0003564395.tif 000006
【図６】
0003564395.tif 000007
【図７】
0003564395.tif 000008
【図８】
0003564395.tif 000009
【図９】
0003564395.tif 000010
【図１０】
0003564395.tif 000011
【図１１】
0003564395.tif 000012
【図１２】
0003564395.tif 000013
【図１３】
0003564395.tif 000014
【図１４】
0003564395.tif 000015
【図１５】
0003564395.tif 000016
【図１６】
0003564395.tif 000017
【図１７】
0003564395.tif 000018
【図１８】
0003564395.tif 000019
【図１９】
0003564395.tif 000020
【図２０】
0003564395.tif 000021
【図２１】
0003564395.tif 000022
【図２２】
0003564395.tif 000023
【図２３】
0003564395.tif 000024
【図２４】
0003564395.tif 000025
【図２５】
0003564395.tif 000026