WO2000033194A1 - Address generating device and moving vector detecting device - Google Patents

Address generating device and moving vector detecting device Download PDF

Info

Publication number
WO2000033194A1
WO2000033194A1 PCT/JP1999/006626 JP9906626W WO0033194A1 WO 2000033194 A1 WO2000033194 A1 WO 2000033194A1 JP 9906626 W JP9906626 W JP 9906626W WO 0033194 A1 WO0033194 A1 WO 0033194A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
area
addressing
data
output
Prior art date
Application number
PCT/JP1999/006626
Other languages
English (en)
French (fr)
Inventor
Mana Hamada
Shunichi Kuromaru
Tomonori Yonezawa
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to EP99973137A priority Critical patent/EP1146427A4/en
Priority to US09/856,775 priority patent/US6662288B1/en
Priority to JP2000585768A priority patent/JP3564395B2/ja
Publication of WO2000033194A1 publication Critical patent/WO2000033194A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • G06F9/3455Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/238Analysis of motion using block-matching using non-full search, e.g. three-step search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Definitions

  • U 61 is the entire image data composed of a rectangular area of 6 ⁇ 7 pixels
  • the address generation device according to claim 10 of the present invention is the address generation device according to claim 8, wherein the start address of the multidimensional area is set to an address in a start cycle of addressing. It is updated by the dress output.
  • FIG. 1 is a configuration diagram of an address generation device according to Embodiment 1 of the present invention.
  • FIG. 2 is a diagram showing an example of an address generation pattern generated by the address generation device according to the first embodiment of the present invention.
  • FIG. 2 (a) shows an address protruding in the vertical direction.
  • FIG. 2 (b) is an explanatory view of an access when the address protrudes in the horizontal direction.
  • the address correcting means 1 1 2 No correction is performed, and the address 107 of the next cycle output by the two-dimensional address generation means 106, ie, 37, 38, 39, 40, 43, 44, 45, 46, 49, 50, 51 and 52 are output as they are.
  • the addressing designation area set by the user is set according to the first address and the total number of data. Can simplify the address correction calculation, and reduce the scale of hardware.
  • 531 is an address detecting means, which is the last address 504 (EA), the first address 515 (SA0) and the first comparison result 510 (SA0). Y) and the second comparison result 5 1 1 (X) and the address of the next cycle 5 ⁇ 7 ( ⁇ ) are used as human power, and the following two conditions are detected and the detection result 5 13 is output I do.
  • the sign bit of the calculation result of (S) is detected, and the positive / negative sign indicates the address position in the memory of the last address 504 (EA) and the first address 515 (SA0). Clarify the relationship.
  • the center 16 ⁇ 16 pixels of the pixel data located in the first internal memory 703 becomes the first search origin c and the second internal memory 704 It is assumed that the macro block data to be processed in the motion vector is arranged in the.
  • the user sets the two-dimensional address generation means 708 having the designated area for addressing as image data to be subjected to SAD calculation with respect to the normal address generation means 710.
  • Set in advance to access the rectangular area of the An SAD value calculation instruction is issued using the internal memory 703 of 1 and the internal memory 704 of 2 as two sources.

Description

明 細 書 ァ ドレス生成装置および動きべク トル検出装置 技術分野
本発明は、 ア ドレス生成装置および動きベク トル検出装置に関し、 特 に、 画像処理向けのディジタル信号処理プロセッサなどで、 画像データ をリード . ライ 卜するために用いられるデ一タメモリ アクセスを行うた めのア ドレス生成機構およびそれを用いて動きべク ト ル検出を行う画 像データ制御装置の改良を図ったものに関する。 背景技術
画像データなどを扱う信号処理プロセッサにおいては、 データメモリ を効率良くアクセスするためのァ ドレス生成装置として、 2次元矩形領 域のァ ドレスを生成するようなァ ドレス生成装置が用いられている。
これは、 例えば, 画像データ等の 2次元配置されたデータは、 メモリ に格納する場合は 1次元ァ ドレス空問にマッビングしなければならず、 通常画像データの場合では、 画像をラスタ走査した順番で 1次元ァ ドレ スにマツビングされるが、 このデータを 2次元データと して扱う際には ある矩形領域を切り出して使用することが多いためである。
このよ うなア ドレス生成装置をより一般化したものと して、 例えば特 開平 4 一 2 1 8 8 4 7号公報に示されるような, データメモリ内の多次 元領域をアクセスできるァ ドレス生成装置があり、 第 1 8図にその構成 を示している。
第 1 8図において、 9 0 1— 1ないし 9 0 1— Nはそれぞれ第 1次な . いし第 N次走査方向の増分値設定手段、 9 0 2は第 1次走杳方向の増分 値設定手段 9 0 1— 1ないし第 N次走査方向の増分値設定手段 9 0 1 —Nの出力のうちの何れか 1つを選択して出力する第 1 のマルチプレ クサ、 9 0 3は開始ア ドレスを設定する開始ア ドレス設定手段、 9 0 4 一 1 ないし 9 0 4— Nはそれぞれ第 1次ないし第 N次走査方向に対応 した第 1ないし第 Nの累算レジスタ、 9 0 5は第 1 の累算レジスタ 9 0 4 一 1ないし第 Nの累算レジスタ 9 0 4— Nの出力のうち何れか 1つ を選択して出力する第 2のマルチプレクサ、 9 0 は第 1のマルチプレ クサ 9 0 2の出力と第 2のマルチプレクサ 9 0 5 の出力とを加算する 加算器、 9 0 7は加算器 9 0 6と開始ァ ドレス設定手段 9 0 3の出力の うちの何れか 1つを選択して出力する第 3のマルチプレクサ、 9 0 8— 1 ないし 9 0 8— Nはそれぞれ第 1次走査方向ないし笫 N次走查方向 のデータ数設定手段、 9 0 9は第 1次走査方向のデータ数設定手段 9 0 8 — 1 ないし第 N次走査方向のデータ数設定手段 9 0 8— Nの設定値 をもとに制御信号を生成する制御回路である。
以上のように構成された多次元ァ ド レス生成装置は、 第 1の累算レジ スタ 9 0 4― 1の出力を出力ァ ドレスとする。
第 1 9図は第 1 8図の多次元ア ド レス生成装置を、 2次元ア ドレスを 発生できるように簡略化したものであり、 以下、 第 1 8図の多次元ア ド レ ス生成装置の動作を説明するにあたり、 その簡略化のために、 この從 来の 2次元ァ ド レス生成装置を用いて 2次元ァ ド レスを生成する場合 を例にとって説明する。
先ず、 任意の P 1 X P 2 ( P 1 , P 2は例えば 1 6 , 1 6等の自然数 ) の矩形領域をアクセス対象とする。 まず初期値と して、 第 0サイクル で第 1 の累算レジスタ 9 0 4— 1 と第 2の累算レジスタ 9 0 4— 2 と にスター トァ ドレスデータ S Aをスタ一 トァ ドレスデータ設定器 9 0 3により設定する。
次の第 1 サイクルでは、 第 1の累算レジスタ 9 0 4 — 】 のデータと第 1走査方向 (X方向) の增分データ D Xとを加算器 9 0 6により加算し てその加算結果を第 1の累算レジスタ 9 0 4— 1 に書き込み、 初期値の 直後のア ドレスを発生する。 このとき、 第 2の累算レジスタ 9 0 4— 2 には書き込みを行わない。 その後、 第 2サイクルから第 P 1— 1サイク ルの間は第 1サイクルと同様の操作を行い、 書き込みを続ける。 次に、 第 P Iサイクルでは、 第 2の累算レジスタ 9 0 4— 2のデータ と第 2走査方向 (Y方向) の増分データ DYとを加算器 9 0 6により加 算して、 この結果を第 1 の累算レジスタ 9 0 4 — 1 と第 2の累算レジス タ 9 0 4 - 2の両方に書き込む。
同様に、 第 P 1 + 1サイクルから第 2 P 1 - 1サイ.クルまで、 …、 第 ( P 2 - 1 ) P 1 + 1サイクルから第 · : P 1 — 1 のサイクルまでの 1 サイ クル毎に、 第 1 の累算レジスタ 9 0 4 — 1 のデータ と第 1走査方 |0Jの增分データ D Xとを加算器 9 0 6により加算して、 その結果を第 1 の累算レジスタ 9 0 4— 1に書き込む制御を行い、 第 P 1 サイクル、 第 2 P 1 サイクル、 一、 第 (P 2— 1 ) P 1サイ クルの : P 1サイクル毎に 、 第 2の累算レジスタ 9 0 4— 2のデータと第 2走査方向の増分データ D Yとを加算して、 この結果を第 1 の累算レジスタ 9 0 4— 1 と第 2の 累算レジスタ 9 0 4 — 2 とに書き込む制御を行い、 第 0サイクルから第 P 2 . P 1 — 1サイクルを実行した結果得られた第 1 の累算レジスタ 9 0 4 — 1 の値をア ド レスと して出力する。
このよ うな動作によるデータの流れを第 2 0図に示す。 第 2 0図に不 すよ うに、 第 2の累算レジスタ 9 0 4— 2に蓄えられている 1行または 1列前の最初のァ ドレスを用いて次のライ ンの最初のァ ドレスを計算 している。
第 2 1図に第 1 9図の制御回路 9 0 9の一例を す。 第 2 1図におい て、 9 0 9— 1は初期状態を P 1 とし、 1 からカウン 卜を開始して、 ク ロ ックに従い P 1 まで順次イ ンク リ メ ン トする動作を繰り返す第 1 力 ゥンタ、 9 ϋ 9 一 3は初期状態を P 2 と し、 1からカウントを開始して ク ロ ックに従い Ρ 2まで順次ィンク リ メ ン トする動作を繰り返す第 2 カウンタ、 9 0 9— 2はデータ Ρ 1、 9 0 9 — 4はデータ Ρ 2, 9 0 9 — 1 1はデータ Ρ 1 — 1、 9 0 9 - 5 , 9 0 9— 8は論理積回路、 9 0 9 — 6 , 9 0 9— 7 , 9 0 9— 1 2は 2個のデータを比較して一致して いれば 1 を出力し, 不一致であれば 0を出力する比較器、 9 0 9— 9 , 9 0 9 - 1 0 , 9 0 9 — 1 3 は Dフ リ ップフ ロ ップ、 9 0 9— 1 4は第 1 クロ ック、 9 0 9— 1 5は第 2ク ロ ック、 9 0 9— 1 6は制御信号、
9 0 9一 1 7は END信号である。
第 2 1図の制御回路は、 第 2 0図のタイ ミングで動作する。 制御信 -
9 0 9— 1 6を第 1 9図の第 1制御信号 2 9— 1、 第 2制御信号 2 9— 2 と して用い、 第 1クロック 9 0 9— 1 4を書き込み信号 2 9— 4、 第
2クロック 9 0 9一 1 5を第 2の書き込み信号 2 9 - 5 と して用いれ ば、 第 2 2図のタイミングチヤ一 トに従った制御をすることができる。 第 1 9図の第 3のマルチプレクサ 9 1 7の第 3制御信号 2 9— 3は、
2次元ア ドレス発生器の起動時 (第 0サイクル) にスタートア ドレスデ —タ設定器 9 0 3のスター トア ドレスデータを選択し、 他のサイクルで は加算器 9 0 6の出力ァドレスを選択するように制御を行う。
第 2 3図に実際の画像データをアクセスする様子の一例を示す。 第 2
3 (a)図は横方向のアクセスの説明図であり、 第 2 3 (b)図は縦方向のァ クセスの説明図である。
先ず、 第 2 3 (a)図を用いて横方向にアクセスを行う場合の動作につ いて説明する u 6 1は 6 X 7画素の矩形領域からなる全体の画像データ、
6 2は 4 X 4画素のアクセス対象矩形領域である u 0から 4 1が実際の メモ リのァ ドレスであり、 ( 0) 力 ら ( 1 5 ) 力; 6 X 7画素の全体の画像 データのァ ドレスのなかから 4 X 4画素のァクセス対象矩形領域をァク セスする順番を表す。 この場合、 第 1走査方向の増分データ DXと して
1、 第 2走査方向の增分データ DYと して 1 ラインのデータ数 fiを設定 する。
第 0サイ クルで、 スター トア ドレスデータ S Aと して 7を第 1の累算 レジスタ 9 0 4— 1 と第 2の累算レジスタ 9 0 4— 2 とに書き込むリ 第 1サイクルから第 3サイクルまでの各サイクルで、 第 1の累算レジスタ 9 0 4— 1の値 7;こ順次第 1走査方向の增分データ DX (この例では 1 ) を加算して第 1 の累算レジスタ 9 0 4— 1 に書き込み、 ア ドレス 8、 9、 1 0を生成する。
第 4サイ クルで、 第 2の累算レジスタ 9 0 4— 2に保持されているァ ドレス 7に第 2走査方向の増分データ DY (この例では 6 ) を加算して 第 1 の累算レジスタ 9 0 4 - 1 と第 2の累算レジスタ 9 0 4— 2に書 き込み、 ア ドレス 1 3を生成する。 笫 5サイクルから第 7サイクルまで の各サイクルで、 第 1の累算レジスタ 9 04— 1の値 1 3に順次第 1走 查方向の増分データ D Xと して 1 を加算して第 1の累算レジスタ 9 0 4一 1 に書き込み、 ア ドレス 1 4 , 1 5, 1 6を生成する。
第 8サイクルで、 第 2の累算レジスタ 9 04— 2の値 1 3に第 2走査 方向の増分データ と して 6を加算して第 1の累算レジスタ 9 0 4— 1 と第 2の累算レジスタ 9 04 - 2に書き込み、 ア ドレス 1 9を生成する 以下、 同様にして、 ア ドレス 2 0、 2 1、 2 5、 2 6、 2 7、 2 8を 順に生成し、 全体の画像データ 6 1中のアクセス対象矩形領域 6 2のァ クセスを実現する。
次に、 第 2 3 (b)図を用いて縦方向にアクセスを行う場合の動作につ いて説明する。 6 3は 6 X 7画素の矩形領域からなる全体の画像データ、 6 4は 4 X 4画素のアクセス対象矩形領域である。 0から 4 1は実際の メモリのア ドレスであり、 ( 0 ) から ( 1 5 ) がアクセスする順番を表 わす。
この場合、 第 1走査方向の増分データ D Xと して 6、 第 2走査方向の 増分データ D Yと して 1 ラインのデータ数 1 を設定する。
第 0サイクルで、 スタートアドレスデ一タ SAとして値 7を第 1の累 算レジスタ 9 04— 1 と第 2の累算レジスタ 9 04— 2に書き込む。 第 1 サイクルから第 3サイクルまでの各サイクルで、 第 1の累算レジスタ 9 04 - 1の値 7に順次第 1走査方向の増分データ D X (この例では 6 ) を加算して第丄 の累算レジスタ 9 04— 1 と第 2の累算レジスタ 9 0 4一 2に書き込む u 第 1サイクルから第 3サイクルまでの各サイ クルで 、 第 1の累算レジスタ 9 04— 1の値 7に順次第 1走査方向の増分デ一 タ D X (この例では 6 ) を加算して、 第 1 の累算レジスタ 9 04— 1 に 書き込み、 ア ドレス 1 3 , 1 9, 2 5を生成する。 第 4サイクルで、 第 2の累算レジスタ 9 0 4— 2に保持されているァ ドレス 7に第 2走査方向の増分データ D Y (この例では 1 ) を加算して 第 1 の累算レジスタ 9 0 4 - 1 と第 2の累算レジスタ 9 0 4— 2 に書 き込み、 ア ドレス 8を生成する。 第 5サイクルから第 7サイ クルまでの 各サイ クルで、 第 1 の累算レジスタ 9 0 4— 1 の値に順次第 1走查方向 の増分データ 6を加算して第 1の累算レジスタ 9 0 4— 1 に書き込み、 ア ドレス 1 4, 2 0, 2 6を生成する。
第 Sサイクルで、 第 2の累算レジスタ 9 0 4— 2の値 8 に第 2走査方 向の増分データと して 1 を加算して第 1の累算レジスタ 9 0 4— 1 と 第 2の累算レジスタ 9 0 4— 2に書き込み、 ア ドレス 9を生成する。 以下同様にして、 ア ドレス " 1 5、 2 1 、 2 7 、 1 0、 1 6 、 2 2、 2 8を順に生成し、 全体の画像データ 6 3中のアクセス対象矩形領域 6 4 のアクセスを実現する。
以上述べたように、 同一のアクセス対象矩形領域 6 2または 6 4に対 してアクセスの方向を変えたい場合、 第 1走査方向の増分データ D Xと 第 2走査方向の増分データ D Yを交換するだけでよい。 また、 第 1走査 方向の增分データと第 2走査方向の増分データの 1つまたは両方を変 えることにより、 平行四辺形の領域をアクセスしたり、 眺び跳びのァク セスをするこ と もできる。 さらに、 多次元空間をアクセスする場合は、 多次元の平行体領域をアクセスすることになる。
ところで、 外部メモリからこれより小容量の, プロセッサ内部のデー タメモリにデータを D M A転送して格納する場合、 外部メモリの全領域 を参照しょう とすればデ一タメモリ に相当する領域をスク口ールしな ければならず、 その都度データメモリの容量分のデータの D M A転送を 行う必要があるが、 データメモリ の容量と D M A転送の回数とは ト レー ドオフの関係にあり、 データメモリの容量を抑えよう とすると D M A転 送の回数が増加してしまい、 逆に D M A転送回数を抑えよう とするとデ —タメモリの容量が増加してしまう, という問題があった。
また、 上述のよ うな、 ア ドレス生成装置を有する画像処理装置が行う 両像処理の一例として画像 C OD E Cがあり、 凼像 C O D E Cのァルゴ リズムにおいては ME (動きベク トル検出) 処理が一般的に用いられて いるが、 この ME処理とは、 入力画像のうち輝度 1 6 X 1 6画素の画像 ブロック (マクロブロック ; 以降 MB と称す) と、 時間的に前の画像の 輝度値を、 S AD (sura of absolute difference;絶対誤差和) を評価 関数と した比較によって最も近似した画像位置を検索し、 その変位を求 める, というもので、 ME処理をプログラマブルに行うための検索アル ゴリ ズムの一種として One at a time Ύルゴリ ズムがある。
One at a time アルゴリ ズムでは、 比較対象となる検索オリジン (矩 形のメモリエリアの左上隅を起点とするマク ロブロックを検索オリ ジ ンとすろ) から左、 右、 上、 下、 右斜め上、 右斜め下、 左斜め 卜.、 左斜 め下に 1画素づっずらした近接する 8つのマクロブロ ンクについて S AD計算を行い、 検索オリ ジンの S A D値より も小さい S AD値を与え るブロックが存在していた場合には、 その中で最も小さい S AD値を与 えたマクロブロックを新たな検索オリ ジンと し、 近接する 8つのマクロ ブ□ ックの S A D値が何れも検索ォリ ジンよ り大きいか等しく なるま で同様の検索を繰り返すことで動きベク トルを求めるという ものであ る。
し力 aしな力 Sら、 前記の One at a timeのようなァノレゴリズムを第 1 8 図に示した従来例のァ ドレス生成装置を搭載したプロセッサで処理し よう とする場合に、 検索するための画索データをプロセッサのデータメ モリに配置する方法と しては、 検索が及ぶ可能性のある範囲に存在する すべての画素データを 1度にデータメモリに配置し、 2次元領域のァ ド レス発生手段によつて 1 6 X 1 6画素のマクロブロックをアクセスしな がら検索を行う, という方法を採るが、 この場合、 ユーザが設定した最 大検索回数が例えば 4 0回であったとすると、 前記最大検索回数まで検 索が及んだ場合に必要な画素数は 9 6 X 9 6画素となり、 プロセッサが 直接使用するデータメ モ リ内の大きな領域を占有してしま う という問 題があった。 また、 データメモリに相当するメモリの容量を削減できるものと して
、 例えば、 特開平 8— 2 0 2 5 2 4号公報に示されるような、 グラフィ ック表示スク口一ル装置がある。
このグラフィ ック表示スクロール装置は、 第 2 5図に示すように、 ス ク口一ルする表示画面 D Sが表示データ領域 D Aをはみ出そう と した ときに、 はみ出そう とする領域を、 表示データ領域 D Aの境界の延長線 により分割し、 これらを、 表示画面 D Sの記憶に使用していない表示デ ータ領域 D A内での対応する領域を使用して描画しておき、 これらを読 み出すことにより、 表示データ領域 D Aを表示画面 D S 4つ分に削減し てもスムーズスクロールが可能なよ うにしたものであり、 上述の手法よ りもメモリ容量をより削減できるものである。
しかしながら、 この先行技術は、 表示画面 D Sが表示データ領域 D A から水平方向に、 例えば右側にはみ出そう と した時にこれを表示データ 領域 D A內の対応する左側の領域に移動させるようにしており、 この水 平方向の移動を実現するためには、 水平方向にはみだしていないかの判 定ゃァドレス補正演算が必要であり、 回路規模の増大や C P Uの処理時 間の増大を招いてしまう という問題があった。 また、 はみだそう とする 表示画面 D Sが最 に表示データ領域 13 A内に存在するこ とが必要で あり、 また、 はみだそう とする領域が 2次元矩形領域に限られてしま う とレヽぅ問題があった。
また、 M E処理で占有するデータメモリ内の領域を最大検索回数より 少ない探索範囲に限った場合に、 検索オリ ジンの移動によって検索範囲 がユーザの決定した一定領域を越えてしまったときには、 新たに必要と なる画素を D M A転送により補充しなければならないが、 従来の 2次元 ア ドレス発生手段によるブロックアクセスを行うためには、 新たに必要 となる画素を含む探索範囲のすべてを転送する必要があり、 D M A転送 での転送個数が増大するという問題があった。
本発明は、 上記のような従来のものの問題点を解決するためになされ たもので、 ユーザの設定するデータメモリ內の限られた領域内をはみ出 すことなく、 多次元領域のア ドレスを自動的に発生でき、 D M A転送個 数が少なくて済むと ともに、 データメモリ領域の増大を抑えよう とする と D M A転送個数が増大し、 また D M A転送個数の増人を抑えよう とす るとデータメモ リ領域が増大するという, 相反する問題を解決でき、 さ らには、 回路規模や C P Uの処理の增大を招く ことなく、 また、 はみ出 そう とする領域の最初の存在位置や形状が限られることなくデータメ モ リ領域の増大を抑えることが可能なァ ドレス生成装置を提供するこ とを目的と している。
また、 プロセッサのア ドレス生成装置と して、 M E処理向けのァ ドレ ッシングだけに特化されるこ とのない、 多様性のあるア ドレス生成装置 を提供することを目的と している。
さらに、 このようなア ドレス生成装置を使用することにより、 多次元 領域のア ドレスを自動的に発生でき、 データメモ リ領域の増大、 または D M A転送個数の増大という相反する問題を解決でき、 さらには、 回路 規模や C P Uの処理の増大を招く ことなく、 デ一タメモ リ領域の増大を 抑えることが可能となり、 動きべク トル検出処理に対して効果を発揮す る動きべク トル検出装置を得ることを目的と している。 発明の開示
j記課題を解決するために、 本発明の請求の範囲第 1項記載のァ ドレ ス生成装置は、 ダイレク トメモリ アクセスにより転送されたデータを格 納するメ モ リ 內に先頭ァ ドレスが最終ァ ドレスよ り も小さい値を有す る先頭ァ ドレス と最終ァ ドレスによって定まる連続するァ ドレ シシン グ領域を設定するためのァ ドレッシング指定領域設定手段と、 多次元領 域のア ド レスを連続的に発生し得る多次元ア ド レス発生手段と、 前記多 次元ァ ドレス発生手段が順次発生する個々のァ ドレスと最終ァ ドレス との大小を比較する第 1 の比較手段と、 前記多次元ァ ドレス発生手段が 順次発牛する個々のァ ドレスと前記先頭ァ ドレス との大小を比較する 第 2の比較手段と、 前記多次元ァドレス発生手段が順次発生する個々の ア ドレスと、 前記第 1および第 2の比較手段の比較結果を入力とし、 前 記第 1および第 2の比較于段の比較結果に基づいて前記多次元ァ ドレ ス発生手段が順次発生する個々のァ ドレスが前記ァ ド レッ シング指定 領域設定手段によつて設定されたァ ドレツシング指定領域をはみ出し ているか否かを判定し、 はみ出しているときには前 IC個々のア ドレスが 了 ドレッシング指定領域内でらせん環状の^間に配笸されるよ うに補 正して出力し、 はみ出していないときには前記次サイクルのァ ドレスを そのまま出力するァドレス補正手段とを備えるようにしたものである。
このア ドレス生成装置によれば、 ユーザが先頭ァ ドレスが最終ァ ドレ スよ り も小さいア ドレス値を示すよ うなメ モ リ 内のァ ドレ ツシング指 定領域を設定すると、 多次元ァドレス発生手段に設定したァ ドレッシン グ領域が前記のァ ドレッシング指定領域外を含んでいても、 ァ ドレンシ ング指定領域外にはみ出たァ ドレスについてはァ ドレ ッシング指定領 域をらせん環状の空間に見立てたときのァ ドレツシング指定領域内の 該当ア ドレスへと補正して出力することから、 ユーザの設定するデ一タ メモリ内の限られた領域内をはみ出すことのない多次元領域のァ ドレ スのハ一ドウエアによる自動発生を実現することができるとともに、 デ —タメモリ領域の増大、 または D M A転送個数の増大という相反する問 題を解決することが可能となり、 さらには、 回路規模や C P Uの処理の 增大を招く ことなく、 データメモリ領域の増大を抑えることが可能とな る u
また、 本発明の請求の範囲第 2項記載のア ドレス生成装置は、 ダイレ ク トメモ リ アクセスにより転送されたデータを格納するメモ リ 内に先 頭ァ ドレス と最終ァ ドレスの値の大小に関わらず先頭ァ ドレス と最終 ァ ド レスによって定まる連続するァ ドレッシング領域を設定するため のァ ドレンシング指定領域設定手段と、 多次元領域のァ ドレスを連続的 に発生し得る多次元ァ ドレス発生手段と、 前記多次元ァ ドレス発生手段 が順次発生する個々のァ ドレス と前記最終ァ ドレス との大小を比較す る第 1の比較手段と、 前記多次元ァ ドレス発生手段が順次発生する個々 のァ ドレスと前記先頭ァ ドレスとの大小を比較する第 2の比較手段と、 前記第 1 の比較手段の比較結果と前記第 2の比較手段による比較結果 を基に前記次サイ クルのァ ドレス値が前記先頭ァ ドレス と最終ァ ドレ スのどちらに近いかを検出するァ ドレス検出手段と、 前記第 1 の比較手 段および前記第 2の比較手段および前記ア ド レス検出手段の出力と、 前 記次サイクルのァ ドンスを入力と し、 前記第 1および第 2の比較手段の 比較結果と、 前記ア ド レス検出亍-段の出力に基づいて、 前記多次元ア ド レス発生手段が順次発生する個々のァ ドレスが前記ァ ドレ ッ シング指 定領域設定手段によつて設定されたァ ドレツ シング指定領域をはみ出 しているか否かを判定し、 はみ出しているときには前記個々のア ド レス がァ ドレ ッシング指定領域内でらせん環状の空間に配笸されるよ うに 補正して出力し、 はみ出していないときには前記次サイ クルのァ ド レス をそのまま出力するァ ド レス補正手段とを備えるようにしたものであ る。
このア ドレス生成装置によれば、 請求の範囲第 1項記載のア ド レス生 成装置で実現するこ とのできるァドレス発生に加えて、 ァ ドレッシング 指定領域と して設定できるメモ リ領域について先頭ァ ドレスが最終ァ ドレスよ り も小さいァ ド レス値でなければならないという限定がなく なり、 先頭ァ ドレスが最終ァ ドレスよ り も大きいァ ドレス値を示すよ う な、 メモリ領域をまたいだア ドレッシング指定領域の設定が可能とな り 、 データメモリ領域の増大、 または D M A転送個数の增大という相反す る問題を解決することが可能となる。
また、 本発明の請求の範囲第 3項記載のア ドレス生成装置は、 請求の 範囲第 1項または第 2項のァ ドレス生成装置において、 前記ァ ドレ 'ンシ ング指定領域設定手段を、 アドレッシング指定領域が最終ア ドレス と総 データ数を設定し、 前記最終ァ ドレスから前記総データ数を減ずること によって自動的に先頭ァ ド レスを生成するよ うに構成したものである。 これにより、 請求の範两第 1項または第 2項記載のァ ド レス生成装置 で実現することのできるァ ド レス発生の削減に加えて、 ア ド レス補正手 段での補正計算が簡略化され、 [El路規模の削減ができる。
また、 本発明の請求の範囲第 4項記載のア ドレス生成装置は、 請求の 範囲第 1項または第 2項のァ ドレス生成装置において、 多次元領域のァ ドレスを連続的に発生し得る前記多次元ァドレス発生手段は、 多次元領 域の開始ァ ドレスと各走査方向の増分値および各走査方向のデータ数 を設定する手段と、 各走奄方向のァ ドレスを累算するための独立した累 算レジスタとを有し、 走査方向が変わったときのァ ドレス計算には走査 方向に対応した累算レジスタに対して前記走査方向に対応した前記增 分値を加算するこ とによ り次サイ クルのァ ドレス値を計算して出力し、 前記多次元領域の開始ア ドレスを、 ア ドレッシングの開始サイクルで前 記ァ ドレス補正手段の出力によつて更新するよ うにしたものである。
これにより、 請求の範囲第 1項または第 2項記载のァ ドレス生成装置 で実現することのできるア ドレス発生に加えて、 アクセスしたい多次元 空問の開始ァ ドレスが既にァ ドレツシング指定領域外にあることによ り、 実際のメモリ アクセスは開始ア ドレスを補正したア ドレスにて行わ れた場合に、 実際のアクセスに用いられた補正ァ ドレスによって関始ァ ドレス設定手段を自動的に設定し直すことで、 開始ア ドレスをもとに新 たなァ ドレッシングを行う際のプログラムによるァ ド レス計算に要す る演算量を軽減することができる。
また、 本発明の請求の範囲第 5項 12載のア ドレス生成装置は、 請求の 範囲第 1項または第 2項のァ ドレス生成装置において、 多次元領域のァ ドレスを連統的に発生し得る前記多次元ァ ドレス発生手段は、 多次元領 域の開始ァ ドレス と各走査方向の増分値および各走査方向のデータ数 を設定するデータ数設定手段および各走査方向のア ド レスを累算する ための独立した累算レジスタ とを有し、 走査 ^が変わったときのア ド レス計算には走査方向に対応した累算レジスタに対して前記走査方向 に対応した増分値を加算することによ り次サイクルのァ ドレス値を計 算して出力し、 前記各走査方向のァ ドレスを累算するための累算レジス タのう ち、 最も低次の走査方向の累算レジスタは、 ア ドレス補正手段の 出力する補正ア ドレスを格納し、 その他の累算レジスタには、 ア ドレス 補正于.段の出力する補正ァ ドレスと前記次サイクルのァ ドレス値のう ち一方を選択して格納し、 前 Ϊ己最も低次の走査方向のァ ドレスを格納す る累筧レジスタの出力を出力ァ ドレスとするよ うにしたものである。 この構成によれば、 請求の範囲第 1項または第 2項記載のア ドレス生 成装置で実現することのできるア ドレス発生に加えて、 多次元ア ドレス 発生手段の各走査方向の累算レジスタに対して補正ァ ドレスを格納す るので、 連統アクセス時に多次元ァ ドレス発生手段の出力する次サイク ルのァ ドレスがァ ドレス補正手段によ る補正の不可能な領域のァ ドレ スを示すこ とが無くなる。
また、 本発明の請求の範囲第 6項記載のア ドレス生成装置は、 請求の 範囲第 5項のァドレス生成装置において、 ァ ドレッシング指定領域設定 手段を、 ァ ドレッシング指定镇域が最終ァ ドレス と総データ数を設定し 、 前記最終ァ ドレスから前記総データ数を減ずることによって自動的に 先頭ア ドレスを生成するように構成したものである。
これにより、 請求の範囲第 5項のァ ドレス生成装置で実現することの できるァドレス発生に加えて、 ァ ドレス補正手段での補正計算が簡略化 され、 回路規模の削減ができる。
また、 本発明の請求の範囲第 7項記載のア ドレス生成装置は、 請求の 範囲第 5項のア ドレス生成装置において、 前記多次元ア ドレス発生手段 は、 多次元領域の開始ア ドレスが、 ア ドレッシングの開始サイクルにお いてァ ドレス出力によって更新されるようにしたものである。
これにより、 請求の範囲第 5項記載のァ ドレス生成装置で実現するこ とのできるア ドレス発生に加えて、 アクセスしたい多次元領域の開始ァ ドレスが既にア ドレッシング指定領域外にあることによ り 、 実際のメモ リアクセスは開始ア ドレスを補正したア ドレスにて行われた場合に、 実 際のアクセスに用いられた補正ァ ド レスによって開始ァ ド レス設定手 段を自動的に設定し直すことで、 開始ァ ドレスをもとに新たなァ ドレッ シングを行う際のプログラムによるァ ドレス計算に要する演算量を軽 減することができる。
また、 本発明の請求の範囲第 8項記載のア ドレス生成装置は、 請求の 範囲第 1 ¾または第 2項のァ ドレス生成装置において、 多次元領域のァ ドレスを連続的に発生し得る前記多次元ァ ドレス発生手段は, 多次元領 域の開始ァ ドレスと各走査方向の増分値および各走査方向のデータ数 を設定するデータ数設定手段および各走査方向のァ ドレスを累算する ための独立した累算レジスタを し、 走査方向が変わったときのァ ドレ ス計算には走査方向に対応した累算レジスタに対して前記走査方向に 対応した増分値を加算することによ り次サイ クルのァ ドレス値を計算 して出力し、 前記各走査方向のア ドレスを累算するための累算レジスタ のうち、 最も低次の走査方向の累算レジスタは、 前記次サイクルのア ド レス値を格納し、 その他の累算レジスタは、 ア ドレス補正手段の出力す る補正ァ ドレス と前記次サイ クルのァ ドレス値のうち一方を選択して 格納し、 最も低次の走査方向のァ ドレスを格納する前記累算レジスタの 出力と、 前記ア ドレス補正手段のア ドレスポイ ンタの出力するア ドレス の一方を選択して出力ァ ドレスとするようにしたものである。
この構成によれば、 請求の範囲第 1項または第 2項記載のア ドレス生 成装置で実現することのできるァ ドレス発生に加えて、 モード切り替え 信号を切り替えることで通常の多次元ァ ド レス発生手段によるァ ドレ ス発生とア ドレツシング指定領域内をはみ出すこ となく多次元ァ ドレ スを発生するようなァ ドレス発生を同一回路で実現可能となる。
また、 本発明の請求の範囲第 9項記載のア ドレス生成装置は、 請求の 範囲第 8項のァ ドレス生成装置において、 前記ァ ドレッシング指定領域 設定手段を、 ァ ドレッシング指定領械が最終ァ ドレスと総データ数を設 定し、 前記最終ア ドレスから前記総データ数を減ずることによって自動 的に先頭ァ ドレスを生成するように構成したものである u
これにより、 請求の範囲第 8項のァ ドレス生成装置で実現することの できるァ ドレス発生に加えて、 ァ ドレス補正手段での補正計算が簡略化 され、 回路規模の削减ができる。 また、 本発明の請求の範囲第 1 0項記載のア ド レス生成装置は、 請求 の範囲第 8項のァ ドレス生成装置において、 多次元領域の開始ァ ドレス が、 ァ ドレッシングの開始サイクルにおいてァ ドレス出力によって更新 されるようにしたものである。
これにより、 請求の範囲第 8項記載のア ドレス生成装置で実現するこ とのできるァ ドレス発牛に加えて、 アクセスしたい多次元領域の開始ァ ドレスが既にァドレッシング指定領域外にあることによ り、 実際のメモ リァクセスは開始ァ ドレスを補正したァ ドレスにて行われた場合に、 実 際のアクセスに用いられた補正ァ ドレスによって開始ァ ドレス設定手 段を自動的に設定し直すことで、 開始ア ドレスをもとに新たなア ドレン シングを行う際のプログラムによるァ ドレス計算に要する演算量を軽 減することができる c
また、 本発明の請求の範囲第 1 1項記載の動きべク トル検出装置は、 プロセッサで行う動きべク トル検出処理において、 画像データを格納し ておくプロセッサ外部のメモリ と、 動きべク トル検出演算に使用する画 像データのみを前記プロセッサ外部のメモリ よりダイ レク トメモリ ア クセス転送して格納しておくプロセッサの内部メモリ と、 動きべク トル 検出演算を行う演算手段と、 前記内部メモリの矩型領域をアクセスでき るよ うにァ ド レスを生成する請求の範囲第 1項ないし第 1 0項のいず れかに記載のァドレス生成装置とを備えるよ うにしたものである。
この構成により、 動きべク トル検出に必要と される画像データについ て探索する範囲のすべてのデータを内部メモリ に配 Sしておく必要は なく なり、 探索処理が進むにつれて必要となってく る画素のみを、 内部 メモリに取り込むことができる。 これは搭载するメモリ容量が限られる 小型端末における動きべク トル検出処理に対して有効であり、 必要最小 限の D M A転送とメモリのァ ドレス計算の抑制に効果を発揮する u 図面の簡単な説明
第 1図は、 本発明の実施の形態 1のァドレス生成装置の構成図である 第 2図は、 本発明の実施の形態 1のァ ド レス生成装置が生成するァ ド レスの生成パターンの一例を示す図であり、 第 2 (a)図は、 縦方向にァ ドレスがはみ出した場合のアクセスの説明図、 第 2 (b)図は、 横方向に ァ ドレスがはみ出した場合のアクセスの説明図である。
第 3図は、 本発明の実施の形態 2のァドレス牛成装置の構成図である 第 4図は、 本発明の実施の形態 2におけるァ ドレッシング指定領域の 設定パターンの概念図であり、 第 4 (a)図は、 最終ア ドレスが先頭ァ'ド レス よ り大きな値である場合のァ ドレ ッシング指定領域の設定パター ンを示す図、 第 4 (b)図は、 最終ア ドレスが先頭ア ドレスよ り小さな値 である場合のァ ドレツシング指定領域の設定パターンを示す図である。 第 5図は、 本発明の実施の形態 3のァ ド レス生成装置の構成図である 第 6図は、 本発明の実施の形態 3のア ド レス生成装 Sの構成図である 第 7図は、 本発明の実施の形態 4のァ ド レス生成装置の構成図である 第 8図は、 本発明の実施の形態 5のア ド レス生成装置の構成図で る 第 9図は、 木癸明の実施の形態 5のァド レス生成装置の構成囡である 第 "! 0図は、 本発明の実施の形態 5のア ド レス生成装置の構成囡であ る。
第 1 1図は、 本発明の実施の形態 5のア ドレス生成装置の構成図であ る。
第 1 2図は、 本発明の実施の形態 6のァ ドレス生成装置の構成図であ る。
第 1 3図は、 本発明の実施の形態 6のァ ド レス生成装置の構成図であ る。
笫 1 4図は、 本発明の実施の形態 7の動きべク トル検出装置の構成図 である。
第 1 5図は、 本発明の実施の形態 7におけるメモリアクセス方法の概 念図である。
第 1 6図は、 本発明の実施の形態 7におけるメモリ アクセス方法の概 念図である。
第 1 7図は、 本発明の実施の形態 7におけるメモリ アクセス方法の概 念図である。
第 1 8図は、 従来のア ドレス生成装置の構成図である。
第 1 9図は、 従来のア ドレス牛成装置の構成図である。
第 2 0図は、 従来のァドレス生成装置のデータの流れを示す図である 第 2 1図は、 従来のァ ドレス生成装置の制御回路の一例を示す図であ る。
第 2 2図は、 従来のァ ドレス生成装置の制御回路の一例を示す図であ る。
第 2 3図は、 従来のァ ドレス生成装置が実際に画像データをアクセス する場合の動作を示す図であり、 第 2 3 (a)図は、 横方向にアクセスを 行う場合を示す図、 第 2 3 (b)図は、 縦方向にアクセスを行う場合を示 す図である。
笫 2 4図は、 本発明の実施の形態 2における選択信号とァ ドレスボイ ンタ 2 1 5の入力となるア ドレスとの関係を示す図である。
笫 2 5図は、 従来のグラフィック表示スクロール装置の表示画面が表 示データ領域の境界をまたいだ場合のフレームメ モ リ のァ ドレスの関 係を示す図である。 発明を実施するための最良の形態
以下、 本発明の実施の形態について、 第 1図ないし第 1 7図を用いて 説明する。
実施の形態 1 .
この実施の形態 1は、 ア ドレッシング指定領域が、 ユーザの設定する 領域をはみ出そう としたときに、 このユーザ設定領域内に収まるよ うに ア ドレスを補正して生成するようにしたものである。
第 1図は本発明の実施の形態 1によるア ド レス生成装置を示すもの であり、 この第 1図は本願の請求の範囲第 1項の発明に対応するもので ある。 第 1図において、 丄 0 丄はメモリ (例えば外部メモリ) のなかで ア ドレッシング指定領域 (例えばプロセッサ内部のデータメモリにマン ビングすべき領域) を設定するためのア ドレッシング指定領域設定手段 であり、 1 0 2はァ ドレッシング指定領域を設定するための最終ァ ドレ スを格納する最終ァ ドレス格納手段、 1 0 3はァ ドレツシング指定領域 を設定するための先頭ァ ドレスを格納するための先頭ァ ドレス格納手 段であり、 これらの設定値を変更することによ り、 その領域指定は可変 となるため、 ア ドレツシング指定領域はメ モ リ内でスク ロール可能とな つている。 また、 1 0 4は最終ァ ドレス格納手段 Ί 0 2の出力としての 最終ア ドレス、 1 0 5は先頭ァ ドレス格納手段 1 0 3の出力と しての先 頭ア ドレス、 1 0 6は 1サイクルごとにア ドレスを発生することにより 任意の 2次元矩型領域のァ ドレスを発生するこ とができる 2次元ァ ド レス発生手段、 1 0 7は 2次元ア ドレス発生手段 1 0 6が 1 サイ クルご とに出力すろ, 2次元矩形領域を構成する各ァ ドレス と しての次サイク ルのア ドレス、 1 0 8は最終ア ドレス 1 0 4 と次サイクルのア ドレス 1
0 7を入力と して大小比較を行う第 1 の比較手段、 1 0 yは先頭ァドレ ス 1 0 5 と次サイ クルのァ ド レス 1 0 7を入力と して大小比較を行う 第 2の比較手段、 丄 丄 0は第 1の比較手段 1 0 8の出力としての第 1 の 比較結果、 1 1 1は第 2の比較手段 1 0 9の出力と しての第 2の比較結 果、 1 1 2は最終ア ドレス 1 0 4 , 先頭ア ドレス 1 0 5, 次サイクルの ア ドレス 1 0 7, 第〗 の比較結果 1 1 0, 第 2の比較結果 1 1 1を入力 と してァ ドレス補正演算を行うァ ドレス補正手段、 1 1 3は補正後のァ ドレス値を格納するァ ドレスポィンタ、 1 1 4はァ ドレスボインタ 1 1 3 の出力と しての出力ァ ドレスである。
次に動作について説明する。 了 ドレッシング指定領域設定手段 1 0 1 はユーザが設定するァ ドレッシング指定領域の最終ァ ドレス と先頭ァ ドレスを格納するための最終ァ ドレス格納手段 1 0 2 と先頭ァ ドレス 格納手段 1 0 3により構成され、 これらは最終ァ ドレス 1 0 4 と先頭ァ ドレス 1 ◦ 5を出力する。 一方、 2次元ァ ドレス発生手段 1 0 6は 2次 元領域をアクセスするためのァ ドレス計算を行い、 次サイクルのァ ドレ ス 1 0 7を出力する。 第 1 の比較手段 1 0 8は最終ァ ドレス 1 0 4 と次 サイ クルのア ドレス 1 0 7を入力として比較を行い、 次サイ クルのア ド レス 1 0 7 の値が最終ァ ドレス 1 0 4 の値よ り も大きければ第 1 の比 較結果 1 1 0を O Nと し、 小さいか等しければ O F Fと して出力する。 同様に第 2 の比較手段 1 0 9は先頭ァ ド レス 1 0 5 と次サイ クルのァ ドレス 1 0 7を入力と して比較を行い、 次サイクルのァ ドレス 1 0 7の 値が先頭ァ ドレス 1 0 5 の値より も小さければ第 2の比較結果 1 1 1 を O Nとし、 大きいか等しければ O F Fと して出力する。 ア ドレス補正 手段 1 1 2は、 最終ァ ドレス 1 0 4 と先頭ァ ドレス 1 0 5および次サイ クルのァ ドレス 1 ϋ 7を入力とし、 補正ァ ドレス aおよび補正ァ ドレス bを、
補正ア ドレス a = 次サイクルのア ドレス 1 0 7
― (最終ア ドレス 1 0 4 —先頭ア ドレス 1 0 5 + 1 ) (式卜 1 ) 補正ア ドレス b = 次サイクルのア ドレス 1 0 7
+ (最終ア ドレス 1 0 4—先頭ア ドレス 1 0 5 + 1 ) (式 1 -2) により算出し、 第 1 の比較結果 1 1 0 と第 2の比較結果 1 1 1 の 2入力 を選択信号と して補正ア ドレス a、 補正ア ドレス b、 次サイクルのア ド レス 1 0 7のうちの 1つを選択してァ ドレスポィンタ 1 1 3に格納し、 ア ドレスポインタ 1 1 3の出力が、 この実施の形態 1のァ ドレス発生装 置が出力する出力ァ ドレス 1 1 4 となる。
ァ ドレス補正手段 1 1 2の選択方法としては、 第 1 の比較結果 1 1 0 が◦ Nのときには補止ア ドレス a を、 第 2の比較結果 1 1 1が〇 Nのと きには補正ァ ドレス bを、 第 1 の比較結果 1 1 0および第 2の比較結果 1 1 1がいづれも〇 F Fのときには次サイクルのァ ド レス 1 0 7を選 択する。
この構成により、 まずユーザによってア ドレッシング指定領域を定め る最終ァ ドレス と先頭ァ ド レスが最終ァ ドレス格納手段 1 0 2 と先頭 ア ドレス格納手段 1 0 3に対して、 また、 アクセス したい領域に応じた 設定が 2次元ア ドレス発生手段 1 0 6に対して行われる。 次に、 ァ ドレ ッシングが開始されると、 2次元ァ ドレス発生手段 Ί 0 6 の算出する次 サイ クルのア ドレス 1 0 7力 ア ドレッシング指定領域をはみ出してい ないかどうかを第 1 の比較手段 1 0 8および第 2 の比較手段 1 0 9に よって検出し、 はみ出していなければ次サイクルのア ドレス 1 0 7を、 はみ出している場合には、 補正ァ ドレス aまたは補正ァ ドレス bをア ド レス捕正手段 1 1 2内のァ ドレスポィンタ 1 1 3に格納し、 このァ ドレ スポインタ 1 1 3 の出力が出力ア ドレス 1 1 4となる。
第 2図に実際の画像データをアクセスする様子の一例を示す。 第 2 (a 〉図は縦方向にァ ドレスがはみ出た場合のアクセスの説明図であり、 第 2 (b)図は横方向にァ ドレスがはみ出た場合のアクセスの説明図である。 先ず、 2次元ァ ト"レス発生手段が発生するァ ドレスがァ ドレッシング 指定領域より縦方向にはみ出た場合の動作について第 2 (a)図を用いて 説明する。 6 0は画像データを記憶しているデータメモリ、 6 2は 2次 元ア ドレス発生手段 1 0 6が発生する 4 X 4画素のアクセス対象矩形領 域、 6 5はァドレッシング指定領域設定手段 1 0 1によりデータメモリ 6 0內でスクロ一ル可能に設定される 6 X 7画素のァ ドレツシング指定 領域、 6 6はア ドレス補正手段 1 1 2により補正されるア ドレス補正後 のアクセス対象矩形領域である。 データメ モリ 6 0の枠内に記された数 字 0から 8 3, …が実際のメ モ リ のア ドレスであり、 ( 0 ) から ( 1 5 ) がデ一タメモ リ 6 0のァ ドレスのなかから 2次元ァ ドレス発生手段 1 0 6が 4 X 4画素のアクセス対象矩形領域 6 2をアクセスする順番を表 す。
第 1図のァ ドレ 'ンシング指定領域設定手段 1 0 1 の最終ァ ドレス格 納手段 1 0 2に 5 3が、 先頭ァドレス格納手段 1 0 3に 1 2が格納され ているものとする。
そしてこのとき、 2次兀ア ドレス発生手段 1 0 6は第 1ないし第 1 6 サイクルにおける次サイクルのア ドレス 1 0 7と して、 3 7 , 3 8, 3 9 , 4 0, 4 3, 4 4 , 4 5, 4 6 , 4 9, 5 0, 5 1 , 5 2 , 5 5 , 5 6 , 5 7, 5 8を順次出力するものとする。
2次元ァ ドレス発生手段 1 0 6の次サイクルのア ドレス 1 0 7が 6 X 7画素の矩形領域からなるア ドレッシング指定領域 6 5の範囲内にあ ろとき、 即ち、 2次元ァ ドレス発生手段 1 0 6の次サイクルのァ ドレス 1 0 7力 3 7 , 3 8, 3 9, 4 0 , 4 3, 4 4 , 4 5, 4 6 , 4 9, 5 0 , 5 1. 5 2であるとき、 第 1 の比較手段 1 0 8の出力 1 1 0は O F Fであり、 かつ第 2の比較手段 1 0 9の出力 1 1 1 も O F Fであるので 、 ア ドレス補正手段 1 1 2はア ドレス補正を行わず、 2次元ア ドレス発 生手段 1 0 6が出力する次サイクルのア ドレス 1 0 7、 即ち、 3 7 , 3 8 , 3 9, 4 0 , 4 3, 4 4 , 4 5, 4 6, 4 9 , 5 0, 5 1 , 5 2を そのまま出力する。
次に、 2次元ァ ドレス発生手段 1 0 6の次サイクルのァ ドレス 1 0 7 が 6 X 7画素の矩形領域からなるァ ドレッシング指定領域 6 5の範囲か らはみ出したとき、 即ち、 2次元ア ドレス発牛手段 1 0 6の次サイクル のア ドレス 1 0 7が 5 5 , 5 6, 5 7, 5 8 となったとき、 第 1 の比較 手段 1 0 8の出力 1 1 0は O Nであり、 かつ第 '1の比較手段 1 0 9の出 力 1 1 1は O F Fであるので、 ァ ドレス補正手段 1 1 2は (式ユ ー 1 ) に基づき補正ア ド レス aを出力する。
即ち、
補正ア ドレス a = 次サイ クルのア ドレス 1 0 7
一 (最終ア ドレス 1 0 4—先頭ア ドレス 1 0 5 + 1 )
= 次サイクルのア ドレス 1 0 7 ― (4 1 - 0 + 1 )
= 次サイクルのア ドレス 1 0 7— 4 2
となり、 これらの次サイクルのア ドレス 1 0 7は 1 3, 1 4 , 1 5 , 1 6 となるように補正され、 ァ ドレス補正手段 1 1 2が存在しないとすれ ば 6 X 7画素の矩形領域からなるァ ドレッシング指定領域 6 5の範囲か らはみ出していたものが、 6 X 7画素の矩形領域内に収まることになる。 なお、 以上の説明では 2次元ア ドレス発生手段 1 0 6力 横方向にァ ドレスを発生する場合について説明したが、 縦方向にァ ドレスを発生し 、 かつそのア ドレスが縦方向にはみ出した場合でも、 同様の動作により 、 6 X 7画素の矩形領域内に収まることになる。
次に、 2次元ァ ドレス発牛手段が発生するァ ドレスがァ ドレッシング 指定領域より横方向にはみ出た場合の動作について第 2 (b)図を用いて 説明する。 6 0は凼像データを記憶しているデータメモリ 、 6 2は 2次 元ァ ドレス発生手段 1 0 6が発生する 4 X 4画素のアクセス対象矩形領 域、 6 5はア ドレッシング指定領域設定手段 1 0 1により設定される G X 7画素のア ドレシシング指定領域、 6 6はァ ドレス補正手段 1 1 2に より補正されるァドレス補正後のアクセス対象矩形領域である。 データ メモリ 6 0の枠内に記された数字 0から 8 3 , …が実際のメモリのァ ド レスであり、 ( 0 ) から ( 1 5 ) がデータメモリ 6 0のア ドレスのなか から 2次元ァ ドレス発生手段 1 0 6が 4 X 4画素のアクセス対象矩形領 域 6 2をアクセスすろ順番を表す。
笫 1図のァ ドレツシング指定領域設定手段 1 0 1の最終ァ ドレス格 納手段 1 02に 5 3が、 先頭ァドレス格納手段 1 0 3に 1 2が格納され ているものとする。
そしてこのとき、 2次元ア ドレス発生手段 1 0 6は第 1ないし第 1 6 サイクルにおける次サイクルのア ドレス 1 0 7 と して、 2 2 , 2 3, 2 4 , 2 5 , 2 8, 2 9 , 3 0, 3 1 , 3 4, 3 5, 3 6, 3 7 , 4 0 , 4 1 , 4 2, 4 3を順次出力するものとする。
この場合、 2次元ァ ドレス発生手段 1 0 6の次サイクルのァ ドレス 1 0 7は全て 6 X 7凼素の矩形領域からなるァ ドレッシング指定領域 6 5 の範囲内にあり、 第 1の比較手段 1 0 8の出力 1 1 0は O F Fであり、 かつ第 2の比較手段 1 0 9の出力 1 1 1 も〇 F Fであるので、 ァ ドレス 補正手段 1 1 2はァ ドレス補正を行う ことなく、 2次元ァ ドレス発生手 段 1 0 6が出力する次サイクルのア ドレス 1 0 7、 即ち、 2 2, 2 3, 2 4, 2 5 , 2 8 , 2 9 , 3 0, 3 1 , 3 4, 3 5, 3 6, 3 7, 4 0 , 4 1 , 4 2 , 4 3をそのまま出力する。
なお、 以上の説明では 2次元ア ドレス発生手段 1 0 6力;、 横方向にァ ドレスを発生する場合について説明したが、 縦方向にァ ドレスを発生し 、 かつそのア ドレスが横方向にはみ出した場合でも、 同様の動作により
、 6 X 7面素の矩形領域内に収まることになる。
このように、 本実施の形態 1によれば、 2次元ァ ドレス発生手段 1 0 6の発生するァ ドレスがユーザによってァ ドレツシング指定領域設定 手段 1 0 1に指定された領域をはみ出すと、 ァ ド.レス補正手段 1 1 2に よつてァ ドレッシング指定領域の最終ァ ドレスの次のァ 卜"レスを先頭 ァ ドレスと してァ ドレッシング指定領域をらせん環状の空間に見たて た空間、 即ち、 列方向では、 例えば、 ア ドレッシング指定領域が仝体の 矩形領域の最下行を越えてさらにその下方向の行をアクセスしょ う と する場合は、 ァ ドレッシング指定領域が全体の矩形領域の最上行に戻り これから順次下側の行に向けてアクセスするよ うにァ ドレスを補正し てア ドレスが列方向に環状に連続し、 かつ、 行方向では、 ア ドレツシン グ指定領域のある行の終わりまでア クセスすると次はそれより 1つ下 の行の始めからアクセスを行うという空間をアクセスするよ うに、 ァ ド レスの補正計算が自動的になされるため、 出力ァ ドレスをいつもユーザ の設定したァ ドレンシング領域内に留めておく ことができる。
従って、 ユーザの設定するデータメモリ内の限られた領域内をはみ出 すことなく、 多次元領域のア ドレスを自動的に発生でき、 ア ドレンシン グ指定領域が、 ユーザの設定する領域をはみ出そう と したときに、 はみ 出そう と したァ ドレスのデータのみを DM A転送するだけで済むため、 従来の多次元ァ ドレス発牛手段において問題となっていた、 使用するデ 一タメモリ領域を抑えれば D M A転送個数が増大し、 D M A転送個数を 抑えればデータメモリ領域が増大するという、 相反する問題を解決でき 、 さらには、 ア ドレッシング指定領域が元々連続した領域であるので、 これがュ一ザの設定する領域をはみだしているか否かの判定ゃァ ドレ ス補正を行う必要がなく、 このため、 回路規模や C P Uの処理の増大を 招く ことがなく、 かつ、 1 ア ドレスずつはみだしの判定やア ドレス補正 演算を行うため多次元アクセスやインターリーブアクセス、 ァ ドレスの 逆方向からのアクセスにも同一の回路で対応可能であり、 はみ出そう と する領域の最初の存在位置や形状が限られることなく、 データメモ リ領 域の増大を抑えることが可能なア ドレス生成装谭.を提供することがで きる。
伊し、 ア ドレス補正手段によって補止^能なア ドレス範囲は、 多次元 ァ ドレス発生手段の出力する次サイクルのァ ドレス値が、 ァドレツシン グ指定領域の先頭ァ ドレスから低ァ ドレス側に外れた場合にその値が 先頭ァ ドレスからァ ドレッシング指定領域のデータ数を減じたときの ァ ドレス値までの範囲にあるとき、 あるいはァドレッシング指定領域の 最終ァ ド レスから高ァ ドレス側に外れた場合にその値が最終ァ ドレス にァ ドレツシング指定領域のデータ数を加算したときのァ ド レス値ま での範囲にあるときに限られる。
なお、 以上の説明では、 次サイクルのアドレス 1 0 7を出力する手段 と して 2次元ァドレス発生手段 1 0 6を用いた場合を示したが、 その他 , 1次元的に連続したア ドレス発牛を行うア ドレス発生手段、 および多 次元的に任意の方向へのデータ量の増加に対応するァ ド レス発生手段 を用いた構成を実施することも 能である。
実施の形態 2 .
この実施の形態 2は、 ア ドレッシング指定領域が、 ユーザの設定する 領域をはみ出そう と したときに、 このユーザ設定領域内に収まるように ァ ドレスを補正して生成するとともに、 ァ ドレッシング指定領域の最終 ァ ドレスが先頭ァ ドレスよ り も大きい値が設定されない状態でも、 これ に対応できるようにしたものである。
第 3図は本発明の実施の形態 2のァ ドレス発生装置を示すものであ り、 この第 3図は本願の請求の範囲第 2項の発明に対応するものである 。 第 3図において、 2 0 1はア ドレッシング指定領域設定手段、 2 0 2 はァ ドレッシング指定領域 (例えばプロセッサ内部のデータメモリにマ ッビングすべき領域) を設定するための最終ァ ドレスを格納する最終ァ ドレス格納手段、 2 0 3はア ドレツシング指定領域を設定するための先 頭ァ ドレスを格納する先頭ァ ドレス格納手段であり、 これらの設定値を 変更することにより、 その領域指定は可変となるため、 ア ドレンシング 指定領域はメモリ (例えば外部メモリ) 内でスクロール可能となってい る。 また、 2 0 4は最終ア ドレス格納手段 2 0 2の出力と しての最終ァ ドレス、 2 0 5は先頭ァ ドレス格納手段 2 0 3 の出力としての先頭ァド レス、 2 0 6は任意の 2次元矩型領域のァ ドレスを発生することができ る 2次元ア ドレス発生手段、 2 0 7は 2次元ア ドレス発生手段 2 0 6の 出力としての次サイクルのア ドレス、 2 0 8は最終ァ ドレス 2 0 4と次 サイクルのァ ド レス 2 0 7を入力と しこれらの大小比較を行う第 1 の 比較手段、 2 0 9は先頭ァ ドレス 2 0 5 と次サイクルのァ ドレス 2 0 7 を入力としこれらの大小比較を行う第 2の比較手段、 2 1 0は第 1 の比 較手段 2 ϋ 8の出力と しての第 1 の比較結果、 2 1 1 は第 2の比較手段 2 0 9の出力と しての第 2 の比較結果、 2 1 2 は第 1 の比較結果 2 1 0 と第 2の比較結果 2 1 1および次サイクルのァ ドレス 2 0 7を入力と して次サイクルのァ ドレス 2 0 7が最終ァ ドレス 2 0 4 と先頭ァ ドレ ス 2 0 5のうちどちらに近いかを検出し、 出力と しての検出結果 2 1 3 を出力するア ドレス検出手段、 2 1 4は最終ア ドレス 2 0 4 , 先頭ア ド レス 2 0 5 , 次サイ クルのア ドレス 2 0 7 , 第 1の比較結果 2 1 0, 第 2の比較結果 2 1 1, 検出結果 2 1 3を入力と してァ ドレス補正演算を 行う了 ドレス補正手段、 2 1 5は補 後のァ ドレス値を格納するァ ドレ スポイ ンタ、 2 1 6はア ドレスポイ ンタ 2 1 5の出力と しての出力ア ド レスである。
次に動作について説明する。 ア ドレツシング指定領域設定手段 2 0 1 はユーザが設定するア ドレッシング指定領域の最終ア ドレス (EA) を 格納するための最終ァ ドレス格納手段 2 0 2 と先頭ァ ドレス ( S A 0 ) を格納するための先頭ア ドレス格納手段 2 0 3により構成され、 これら は最終ア ドレス 2 04 と先頭ア ドレス 2 0 5を出力する。 一方、 2次元 ァ ド レス発生手段 2 0 6は 2次元領域をアクセスするためのァ ド レス 計算を行い、 次サイ クルのア ドレス 2 0 7 (A) を出力する。 笫 1の比 較手段 2 0 8は最終ア ドレス 2 04 (EA) と次サイ クルのア ドレス 2 0 7 (A) を入力と し、 最終ア ドレス 2 0 4 (E A) から次サイ クルの ア ドレス 2 0 7 ( A) を減じた値を第 1の比較結果 2 1 0 (Y) と して 出力する。
Y = E A- A (式 2— 1 )
同様に第 2の比較予段 20 9は先頭ア ドレス 2 0 5 ( S A 0 ) と次サ ィクルのア ドレス 2 0 7 ( A) を入力と し、 次サイ クルのア ドレス 2 0 7 (A) から先頭ア ドレス 20 5 ( S A 0 ) を減じた値を第 2の比較結 果 2 1 1 (X) と して出力する。
X = A- S A 0 (式 2— 2 )
ァ ドレス検出手段 2 1 2は、 最終ァ ドレス 2 0 4 (E A) と先頭ァ ド レス 2 0 5 (S A O) と第 1の比較結果 2 1 0 (Y) と第 2の比較結果 2 1 1 (X) および次サイクルのア ドレス 2 0 7 ( A) を入力と し、 以 下の 2種類の状態を検出して検出結果 2 1 3を出力する。 まず第 1に、
S = E A - S A (式 2— 3 )
の算出結果 (S) の符号ビッ トを検出し、 その正負によって最終ア ドレ ス 2 04 (E A) と先頭ア ドレス 2 0 5 ( S A 0 ) のメモリ內でのア ド レス位置の関係を明らかにする。
つまり第 4 (a)図に示したように (式 2— 3 ) の算出結果 (S) が正 であれば最終ア ドレス 2 0 4 (E A ) は先頭ア ドレス 2 0 5 ( S A 0 ) より大きいア ドレス値であり、 逆に (式 2— 3 ) の算出結果 (S) が負 であれば第 4 (b)図に示したように最終ア ドレス 2 04 (EA) と先頭 ア ドレス 2 0 5 ( S A 0 ) の大小関係が逆転し、 この場合、 先頭ア ドレ ス 2 0 5 ( S A 0 ) からターゲッ トメモリの最後のア ドレスまでと、 タ ーゲッ トメモリ のア ドレス 0番地から最終ア ドレス 2 04 (E A) まで がァ ドレツシング指定領域ということになる。
次に、 (式 2— 3 ) の算出結果 (S ) に応じて次サイクルのア ドレス 2 0 7 (A) がア ドレッシング指定領域をはみ出している場合に先頭ァ ドレス 2 0 5 ( S A 0 ) を越えてはみ出したもの力 最終ア ドレス 2 0 4 (E A) を越えてはみ出したものかを検出する。 その際どちらを越え てはみ出したものかは、 次サイクルのア ドレス 2 0 7 (A) のメモリ領 域におけるア ドレス位置が先頭ア ドレス 2 0 5 ( S A 0 ) と最終ア ドレ ス 2 0 4 (E A) のどちらにより近い位置にある力 こよって判断するも のとする。
ァ ドレス補正手段 2 1 4は、 最終ァ ドレス 2 ◦ 4と先頭ァ ドレス 2 0 5および次サイ クルのァ ドレス 2 0 7そしてァ ド レス検出手段 2 1 2 の検出結果 2 1 3を入力と し、 式 2— 3の演算結果の符号ビッ トによつ て、 符号ビッ トが "0" つまり演算結果が正であった場合には、 補正ァ ドレス a と補正ァ ドレス bを
補正ア ドレス a = 次サイ クルのア ドレス 2 0 7
一 (最終ア ドレス 2 04—先頭ア ドレス 2 0 5十 1 ) (式 2-4) 補正ア ドレス b = 次サイクルのア ドレス 2 0 7
+ (最終ア ドレス 2 04—先頭ア ドレス 2 0 5 + 1 ) (式 2-5) により算出し、 符号ビッ トが " 1 "、 つまり演算結果が負であった場合 には、 捕正ア ドレス a' と補正ア ドレス b' を
補止ア ドレス a' = 次サイクルのア ドレス 2 0 7
(先頭ア ドレス 2 0 5—最終ア ドレス 20 4— 1 ) (式 2-6) 補正ア ドレス b' = 次サイクルのア ドレス 2 0 7
十〜 (先頭ア ドレス 2 0 5—最終ア レス 2 0 4—:!) (式 2-7) により算出する。 なお、 "〜" は各重みのビッ ト毎にビッ トの値を反転 することを示す)。 第 1の比較結果 2 1 0と第 2の比較結果 2 丄 1の 2 入力と検出結果 2 1 3を選択信号として補正ァ ドレス a、 補正ァ ドレス b、 捕止ア ドレス a '、 補正ア ドレス b '、 次サイクルのア ドレス 2 0 7 のうちのいずれか 1つを選択してァ ドレスポインタ 2 1 5に格納し、 了 ドレスポインタ 2 1 5 の出力がこの実施の形態 2 のァ ドレス発生装置 の出力する出力ァ ドレス 2 1 6 となる。
第 2 4図に選択信号とァ ドレスポインタ 2 1 5 の入力となるァ ドレ スとの関係を示した。
この構成により、 まずユーザによってァドレッシング指定領域を定め る最終ァ ドレスと先頭ァ ドレスが最終ァ ドレス格納手段 2 0 2 と先頭 ア ドレス格納手段 2 0 3に対して、 また、 アクセスしたい領域に応じた 設定が 2次元ァ ドレス発生手段 2 0 6に対して行われる。 次にァ ドレツ シングが開始されると、 2次 7tァ ドレス発生手段 2 0 6 の算出する次サ ィクルのア ドレス 2 0 7が、 アドレツシング指定領域をはみ出していな いかどうかを第 1 の比較手段 2 0 8および第 2 の比較手段 2 0 9によ つて検出し、 さらにァ ドレッシング指定領域の先頭ァ ドレス 2 0 5 と最 終ァ ドレス 2 0 4 とのメ モリ内における位置関係がどうなっている力、、 および次サイ クルのァ ドレス 2 0 7 のァ ドレス位置は最終ア ドレス 2 0 4のア ドレス位置と先頭ア ドレス 2 0 5のア ド レス位置のどちらに より近いかをァ ドレス検出手段 2 1 2により検出する。 そしてこれらの 情報に従って、 補正ア ドレス a、 補正ア ドレス b、 補 TF_ア ドレス a ' 、 補正ア ドレス b ' の 4つの補正ア ドレスを算出し、 これに次サイクルの ァ ドレス 2 0 7を加えた 5つのァ ドレスの中から 1つを選択してァ ド レス補正手段 2 1 4内のア ドレスポインタ 2 1 5に格納する。 このア ド レスポインタ ' 1 5の出力が出力ァ ドレス 2 1 6 となる。
このように木実施の形態 2によれば、 2次元ァ ドレス発生手段 2 0 6 の発生するァ ドレスが、 ユーザによってァ ドレッシング指定領域設定手 段 2 0 1に指定された領域をはみ出すと、 了 ドレス補正手段 2 1 4によ つてァ ドレソ シング指定領域の最終ァ ドレスの次のァ ドレスを先頭ァ ドレス と してア ドレッシング指定領域をらせん環状の空間に見立てた ァ ドレスの補正計算が S動的になされるため、 出力ァ ドレスをいつもュ 一ザの設定したァ ドレッシング領域内に留めておく ことができる, とい う実施の形態 1に相当する効果に加え、 ァ ドレス検出手段 2 1 2を用い るこ とによって先頭ア ドレス 2 0 5 と最終ア ドレス 2 0 4 のメモ リ 内 の位置関係が逆転した場合、 つまりァ ドレッシング指定領域がターゲッ トメモ リの最後のァ ドレスをまたいだような設定を行った場合にも、 多 次兀領域のァ ドレスを自動的に発生でき、 ァ ドレッシング指定領域をは み出た次サイクルのァ ドレス 2 0 7を検出してァ ドレッシング指定領 域内に補正することができ、 ユーザの設定するデータメモ リ内の限られ た領域内をはみ出すことなく、 はみ出そう と したァ ドレスのデータのみ を D M A転送するだけで済むため、 従來の多次元ァ ドレス発生手段にお いて問題となっていた、 使用するデータメモリ領域を抑えれば D M A転 送個数が増大し、 D M A転送個数を抑えればデータメモリ領域が増大す るという、 相反する問題を解決でき、 さらには、 回路規模や C P Uの処 理の増大を招く ことなく、 かつ、 はみ出そう とする領域の最初の存在位 置や形状が限られることなく、 データメモリ領域の増大を抑えることが 可能となるァドレス生成装置を提供することができる。
なお、 以上の説明では、 次サイクルのア ド レス 2 0 7を出力する手段 と して 2次元ア ドレス発生手段 2 0 6を用いた場合を示したが、 その他 、 1次元的に連続なア ドレス発生を行うア ドレス発生手段、 および多次 元的に任意の方向へのデータ量の増加に対応するァ ドレス発生手段を 用いた構成も実施することが可能である。
実施の形態 3 .
この実施の形態 3は、 ア ドレッシング指定領域を設定する際に、 最終 ァ ドレスと先頭ァ ドレスを指定する代りに、 最終ァ ドレス とアドレツシ ング指定領域の総データ数とを指定することにより、 ァ ドレンシング指 定領域を設定できるようにしたものである。
第 5図は本発明の実施の形態 3のァ ドレス生成装置を示すものであ り、 この第 5図は本願の請求の範囲第 3項の発明に対応するものである 。 第 5図において、 3 0 1 はア ドレッシング指定領域設定手段、 3 0 2 はァ ドレッシング指定領域を設定するための最終ァ ドレスを格納する 最終ァ ドレス格納手段、 3 0 3はァ ドレツシング指定領域を構成する総 データ数を格納する総データ数格納手段であり、 これらの設定値を変更 することにより、 その領域指定は可変となるため、 ア ドレッシング指定 領域 (例えばプロセンサ内部のデータメモ リ にマツビングすべき領域) はメモリ (例えば外部メモリ ) 内でスク ロール可能となっている。 また 、 3 0 4は最終ア ドレス格納手段 3 0 2の出力と しての最終ァ ドレス、 3 0 5は総データ数格納手段 3 0 3の出力と しての総データ数、 3 0 6 は任意の 2次元矩型領域のァ ドレスを発生することができる 2次元ァ ドレス発生手段、 3 ◦ 7は 2次元ァ ドレス発生手段 3 0 6の出力と して の次サイクルのァ ドレス、 3 0 8は最終ァ ドレス 3 0 4 と次サイクルの ア ドレス 3 0 7を入力として大小比較を行う第 1 の比較手段、 3 0 9は 先頭ア ド レス 3 1 6 と次サイ クルのア ドレス 3 0 7を入力として大小 比較を行う第 2の比較手段、 3 1 0は第 1 の比較手段 3 0 8 の出力とし ての第 1 の比較結果、 3 1 1は第 2の比較手段 3 0 9の出力としての第 2 の比較結果、 3 1 2は最終ア ドレス 3 0 4 , 総データ数 3 0 5 , 次サ ィ クルのア ドレス 3 0 7 , 第 1 の比較結果 3 1 0, 第 2の比較結果 3 1 1を入力と してア ドレス捕正演算を行うア ドレス補正手段、 3 1 3は補 正後のァ ドレス値を格納するァ ドレスボインタ、 3 1 4はァ ドレスポィ ンタ 3 1 3の出力としての出力ア ドレス、 3 1 5は最終ァ ドレス 3 0 4 から総データ数 3 0 5を減算する減算器、 3 1 6は最終ア ドレス 3 0 4 から総データ数 3 0 5を減じて得られる先頭ァ ドレスである。
次に動作について説明する。 ア ドレッシング指定領域設定手段 3 0 1 はユーザが設定するァ ドレッシング指定領域の最終ァ ドレスを格納す るための最終ァ ドレス格納手段 3 0 2 とア ドレツシング指定領域の総 データ数を格納するための総データ数格納手段 3 0 3 と最終ァ ドレス 3 0 4から総データ数 3 0 5を減算する減算器 3 1 5により構成され、 最終ァ ドレス 3 0 4 と総データ数 3 0 5および、 最終ァ ドレス 3 0 4力 ら総データ数 3 0 5を減じて得られた先頭ァ ドレス 3 1 6を出力する。 一方、 2次元ァ ドレス発生手段 3 0 6は 2次元領域アクセスのためのァ ドレス計算を行い次サイクルのア ドレス 3 0 7を出力する。 第 1 の比較 手段 3 0 8は最終ア ドレス 3 0 4 と次サイクルのア ド レス 3 0 7を入 力と し、 次サイクルのァ ドレス 3 0 7 の値が最終ァ ドレス 3 0 4の値よ り も大きければ第 1 の比較結果 3 1 0を O Nと し、 小さいか等しければ O ド Fとして出力する。 同様に第 2の比較手段 3 0 9は先頭ァ ドレス 3 1 6 と次サイ クルのァ ドレス 3 0 7を入力と し、 次サイ クルのア ドレス 3 0 7 の値が先頭ァ ド レス 3 1 6 の値より も小さければ第 2の比較結 果 3 1 1を O Nとし, 大きいか等しければ O F Fとして出力する。 ア ド レス補正手段 3 1 2は、 総データ数 3 0 5および次サイクルのァ ドレス 3 0 7を入力とし、 補正ァ ドレス aおよび補正ァ ドレス bを、
補正ア ドレス a = 次サイ クルのア ドレス 3 0 7 —総データ数 (式 3-1)
補正ア ドレス b = 次サイ クルのア ドレス 3 0 7 +総データ数 (式 3-2)
により算出し、 第 1 の比較結果 3 1 0 と第 2の比較結果 3 1 1 の 2入力 を選択 ί言号と して補正ア ドレス a、 補正ア ドレス b、 次サイ クルのア ド レス 3 0 7のうちの 1つを選択してァ ドレスポインタ 3 1 3に格納し、 ァ ドレスポインタ 3 1 3の出力がこの実施の形態 3のァ ドレス発生装 置の出力する出力ア ドレス 3 1 4 となる。
ァ ドレス補正手段 3 1 2の選択方法と しては、 第 1 の比較結果 3 1 0 が O Nのときには補正ァ ドレス a を、 第 2の比較結果 3 1 1が O Nのと きには補正ァ ドレス bを、 第 1の比較結果 3 1 0および第 2の比較結果
3 1 1が何れも O F Fのときには次サイクルのァ ドレス 3 0 7を選択 する。
この実施の形態 3では、 ア ドレッシング指定領域の設定方法を、 最終 ァ ドレスと先頭ァ ドレスとを設定することから最終ァ ドレスと総デー タ数を設定することに変更し、 かつ先頭ァ ドレスについては減算器を設 けてこれを自動的に算出する点が実施の形態 1 , 2とは異なり、 その他 の構成は実施の形態 1 と同様であるので、 こ こではその動作を簡略に説 明する。
すなわち、 ア ドレッシング指定領域の総データ数を格納した総データ 数格納手段 3 0 3の出力としての総データ数 3 0 5は、 減算器 3 1 5に 入力され、 最終ァ ドレス 3 0 4との減算により先頭ァ ドレス 3 1 6を算 出し、 一方ではア ドレス補正手段 3 1 2に入力され、 補正ア ドレスの計 算を式 3— 1および式 3— 2に示したように算出する。
このように、 本実施の形態 3によれば、 2次元ア ドレス発生手段 3 0 6 の発生するァ ド レスがユーザによってァ ド レシ シング指定領域設定 手段 3 0 1 に指定された領域をはみ出すと、 ァ ドレス補正手段 3 1 2に よってァ ドレツシング指定領域の最終ァ ドレスの次のァ ドレスを先頭 ア ド レスと してア ドレ ンシング指定領域をらせん漯状の空間に見立て たア ドレスの補正計算が自動的になされるため、 出力ア ドレスをいつも ユーザの設定したァ ドレッシング領域內に留めておく ことができ、 使用 するデ一タメモリ領域を抑えれば D M A転送個数が増大し、 D M A転送 個数を抑えれば使用するデータメモリ領域が増大するという、 相反する 問題を解決でき、 さらには、 回路規模や C P Uの処理の増大を招く こと なく、 かつ、 はみ出そう とする領域の最初の存在位置や形状が限られる ことなく、 デ一タメモリ領域の増大を抑えることが可能となる, 実施の 形態 1に相当する効果に加え、 ユーザの設定するァ ドレッシング指定領 域を最終ァ ドレスと総データ数によって設定するようにしたので、 ァ ド レス補正手段 3 1 2が行うァ ドレス補正計算が簡単化でき ドゥェ ァ規模を削減することができる。
なお、 実施の形態 2についても、 ア ドレッシング指定領域の設定方法 が最終ァ ドレスと先頭ァ ドレスを設定することから、 この実施の形態 3 と同様に最終ァ ドレスと総データ数を設定するよ うに変更するよ うに してもよレ、。 さらに、 第 6図に示すように、 先頭ア ドレスとア ドレッシング指定領 域の総データ数を設定することによ りァ ドレンシング指定領域を設定 できるようにしてもよい。
第 6図において、 3 0 1はア ドレッシング指定領域設定手段、 3 0 3 は'ァ ドレッシング指定領域を構成する総データ数を格納する総データ 数格納手段、 3 0 0はァ ドレッシング指定領域を設定するための先頭ァ ドレスを格納する先頭ァ ドレス格納手段、 3 1 7は先頭ァ ドレス 3 1 6 に総データ数 3 0 5を加算する加算器であり、 他は第 5図と同様のもの である。
この第 6図では、 ア ドレッシング指定領域の設定方法を、 最終ア ドレ スと先頭ァ ドレスとを設定することから先頭ア ドレス と総データ数を 設定することに変更し、 かつ最終ァ ドレスについては加算器を設けてこ れを自動的に算出する点が実施の形態 1 , 2とは異なり、 その他の構成 は実施の形態 1 と同様であるので、 ここではその動作を簡略に説明する すなわち、 ァ ドレッシング指定領域の総データ数を格納した総データ 数格納手段 3 0 3の出力としての総データ数 3 0 5は、 加算器 3 1 7に 入力され、 先頭ァ ドレス格納手段 3 0 0の出力と しての先頭ァ ドレス 3 1 6 との加算により最終ァ ドレス 3 0 4を算出し、 '方ではァ ドレス補 正手段 3 1 2に入力され、 補正ァ ドレスの計算を式 3— 1および式 3― 2に示したように算出する。
このように、 第 6図のア ドレス生成装笸によれば、 ユーザの設定する ァ ドレッシング指定領域を先頭ァ ド レスと総データ数によって設定す るようにしたので、 ァ ドレス補正手段 3 1 2が行うァ ドレス補正計算が 簡単化でき、 ハー ドウユア規模を削減することができる。
実施の形態 4 .
この実施の形態 4は、 2次元ァ ドレス発生手段にそのァ ドレス発生を 開始する開始ァ ドレスを設定できるようにすることにより、 次のァ ドレ ス計算を簡単に行えるようにしたものである。 第 7 1 は本発明の実施の形態 4のア ドレス生成装置を示すものであ り、 この第 7図は本願の請求の範囲第 4項の発明に対応するものである 。 第 7図において、 4 ϋ 1はア ドレッシング指定領域設定手段、 4 0 2 はァ ドレッシング指定領域を設定するための最終ァ ドレスを格納する 最終ア ドレス設定手段、 4 0 3はア ドレッシング指定領域を設定するた めの先頭ァドレスを格納する先頭ァ ドレス設定手段であり、 これらの設 定値を変更することにより、 その領域指定は可変となるため、 ア ドレ ツ シング指定頜域 (例えばプロセッサ内部のデータメモリにマッビングす べき領域) はメモリ (例えば外部メモリ) 内でスク ロール可能となって いる。 また、 4 0 4は最終ア ドレス設定手段 4 0 2の出力と しての最終 ア ドレス、 4 0 5は先頭ァ ドレス設定手段 4 0 3の出力と しての先頭ァ ドレス、 4 0 6は任意の 2次元矩型領域のァ ドレスを発生することので きる 2次元ァ ドレス発生手段、 4 0 7は 2次元ァ ドレス発生手段 4 0 6 の出力としての次サイ クルのア ド レス、 4 0 8は最終ァ ド レス 4 0 4 と 次サイ クルのァ ドレス 4 0 7を入力と して大小比較を行う第 1 の比較 手段、 4 0 9は先頭ァ ド レス 4 0 5 と次サイクルのァ ドレス 4 0 7を入 力として大小比較を行う第 2の比較手段、 4 1 0は第 1 の比較手段 4 0 8の出力としての第:!の比較結果、 4 1 1は第 2の比較手段 4 0 9の出 力と しての第 2の比較結果、 4 1 2は次サイクルのア ドレス 4 0 7, 第 1 の比較結果 4 1 0 , 第 2の比較結果 4 1 1 を入力としてァ ドレス補正 演算を行うァ ドレス補正手段、 4 1 3は補正後のァドレス値を格納する ァ ド レスポインタ、 4 1 4はア ドレスポインタ 4 1 3の出力としての出 力ア ドレスである。 また、 2次元ア ドレス発生手段 4 0 6の構成要素の うち、 4 1 5 、 4 1 6はそれぞれ第 1次、 第 2次走査方向の増分値設定 レジスタ、 4 1 7は第 1次走査方向の増分値設定レジスタ 4 1 5 と、 第 2次走査方向の増分値設定レジスタ 4 1 6の出力のう ち何れかを選択 して出力する第 1 のマルチプレクサ、 4 1 8 は開始ァ ドレス設定レジス タ、 4 1 9 、 4 2 0はそれぞれ第 1次、 第 2次走査方向に対応した第 1 、 第 2の累算レジスタ、 4 2 1は第 1 の累算レジスタ 4 1 9 と、 第 2の 累算レジスタ 4 2 0の出力のうち何れかを選択して出力する第 2のマ ルチプレクサ、 4 2 2は第 2のマルチプレクサ 4 2 1の出力と第 1のマ ルチプレクサ 4 1 7の出力とを加算する加算器、 4 2 3は加算器 4 2 2 と閉始ァ ドレス設定レジスタ 4 1 8の出力のうち何れかを選択して出 力する第 3のマルチプレクサ、 4 2 4 、 4 2 5はそれぞれ第丄次、 第 2 次走査方向のデータ数設定レジスタ、 4 2 6は第 1次走査方向のデータ 数設定レジスタ 4 2 4 と第 2次走査方向のデータ数設定レジスタ 4 2 5の設定値を基に制御信号を生成する制御回路、 4 2 7はユーザの設定 する開始ァ ドレス、 4 2 8は開始ァ ドレス 4 2 7 と出力ァ ドレス 4 1 のうち何れかを選択して出力する第 4のマルチプレクサである。
この実施の形態 4では、 2次元ァ ドレス発生手段 4 0 6については、 ユーザがアクセスしたい 2次元矩型領域を設定する際に開始ァ ドレス を設定するための開始ア ドレス設定レジスタ 4 1 8に対してァ ドレス 補正手段 4 1 2の出力である出力ァ ドレス 4 1 4を第 4のマルチプレ クサ 4 2 8を介して書き込める点を除いて実施の形態 1 と同様であり、 それ以外についても実施の形態 1 と同様であるので、 ここでは説明を省 略する。
第 4 のマルチプレクサ 4 2 8は、 ユーザによ り設定される開始ァ ドレ ス 4 2 7 と出力ア ドレス 4 1 4のうち何れかを選択し、 その出力は開始 ァ ドレス設定レジスタ 4 1 8に入力される。 第 4のマルチプレクサ 4 2 8の選択信号は、 ァ ドレッシングが開始された最初のサイクルでのみ出 カァ ドレス 4 1 4を選択するように、 制御回路 4 2 6によって制御する ものである。
このよ うに、 本実施の形態 4によれば、 2次元ア ドレス発生手段 4 0 6 の発生するァ ドレスがユーザによってァ ドレツシング指定領域設定 于段 4 0 1に指定された領域をはみ出すと、 ァ ドレス補正手段 4 1 2に よってァ ドレツシング指定領域の最終ァ ドレスの次のァ ド レスを先頭 ア ド レスと してア ドレツシング指定領域をらせん環状の空間に見立て たァ ドレスの補正計算が自動的になされるため、 出力ァ ドレスをいつも ユーザの設定したァ ドレッシング領域内に留めておく ことができ、 使用 するデータメモリ領域を抑えれば D M A転送個数が増大し、 D M A転送 個数を抑えればデータメ モ リ領域が増大するという、 相反する問題を解 決でき、 さらには、 回路規模や C P Uの処理の増大を招く ことなく、 か つ、 はみ出そうとする領域の最初の存在位置や形状が限られることなく 、 データメモリ領域の増大を抑えることが可能となる, 実施の形態 1の 効果に加え、 ユーザがアクセスしたい 2次元矩型領域を設定する際に開 始ァ ド レスを設定するための開始ァ ドレス設定レジス タ 4 1 8に対し て、 ア ドレツシングが開始された最初のサイクルで出力ァ ドレス 4 1 を書き込むための第 4のマルチプレクサ 4 2 8を設けたことにより、 ュ 一ザがアクセスしたい 2次元矩型領域の開始ァ ド レスがァ ドレツシン グ指定領域をはみ出していた場合に、 ァ ドレス補正手段 4 1 2によって 補正されたァ ドレスを出力ァ ドレス 4 1 4 と して出力しつつ、 ユーザが 設定した開始ァ ドレス 4 2 7の値を、 実際にメモ リをアクセスした出力 ァ ドレス 4 1 4によって上書きすることで、 補正後のァ ドレスを開始ァ ドレスと して以降のアクセスを行うことが可能となる。
これは、 プロセッサで行われるメモリをソースあるレ、はリ ソースと し たべク トル演算などを行う場合に, 前回行ったべク トル演算の開始ア ド レスをもとに新たなァ ドレッシングを行う際のプログラムによるァ ド レス計算に要する演算量を軽減することができる。
実施の形態 5 .
この実施の形態 5は、 2次元ァ ドレス発生手段にそのァ ドレス発生を 開始する開始ァ ドレ スを設定できるようにすることにより、 次のア ド レ ス計算を簡単に行えるようにするとともに、 了 ドレッシング指定領域を 設定する際に、 最終ア ドレスと先頭ア ドレスを指定する代りに、 最終ァ ドレスとァ ドレツシング指定領域の総データ数とを指定することによ り、 ア ドレツシング指定領域を設定できるようにしたものである。
第 8図は本発明の実施の形態 5 のア ドレス生成装置を示すものであ り、 この第 8図は本願の請求の範囲第 5項, 第 6項, 第 7項の発明に対 応するものである。 第 8 において、 5 0 1 はア ドレッシング指定領域 設定手段、 5 0 2はァドレツシング指定領域を設定するための最終ァ ド レスを格納する最終ァ ドレス設定手段、 5 0 3はァ ドレッシング指定領 域を構成する総データ数を格納する総データ数設定手段であり、 これら の設定値を変更することにより、 その領域指定は可変となっているため 、 ア ドレッシング指定領域 (例えばプロセッサ内部のデータメモリ にマ ッビングすべき領域) はメモリ (例えば外部メモ リ) 内でスク ロール可 能となっている。 また、 5 0 4は最終ア ドレス設定手段 5 0 2の出力と しての最終ァ ドレス、 5 0 5は総データ数設定予段 5 0 3の出力として の総データ数、 5 0 6は任意の 2次元矩型領域のア ドレスを発生するこ とのできる 2次元ァ ドレス発生手段、 5 0 7は 2次元ァ ドレス発生手段 5 0 6の出力と しての次サイクルのァ ドレス、 5 0 8は最終ァ ドレス 5 0 4 と次サイ クルのァ ドレス 5 0 7を入力と して大小比較を行う第 1 の比較于段、 5 0 9は総データ数 5 0 5 と次サイクルのァ ドレス 5 0 7 を入力として大小比較を行う第 2の比較手段、 5 1 0は第 1 の比較手段 5 0 8の出力としての第 1の比較結果、 5 1 1 は第 2の比較手段 5 0 9 の出力としての第 2の比較結果、 5 1 2は総データ数 5 0 5 , 次サイ ク ノレのァ ドレス 5 0 7, 第 1の比較結果 5 1 0, 第 2 の比較結果 5 1 1 を 入力と してァ ドレス補正演算を行うァ ドレス補正手段、 5 1 3はァ ドレ ス補正手段 5 1 2の出力としての補正ア ドレス、 5 1 4は最終ア ドレス 5 0 4から総データ数 5 0 5を減算する減算器、 5 1 5は最終ァ ドレス 5 0 から総データ数 5 0 5を減じて得られる先頭ァ ドレスである。 ま た、 2次元ア ドレス発生手段 5 0 6の構成要素のうち 5 1 6 、 5 1 7は それぞれ第 1次、 笫 2次走査方向の増分値設定レジスタ、 5 1 8は第 1 次走査方向の増分値設定レジスタ 5 1 6 と、 第 2次走査方向の増分値設 定レジスタ 5 1 7の出力のうち何れかを選択して出力する第 1のマル チプレクサ、 5 1 9は開始ア ドレス設定レジスタ、 5 2 0 、 5 2 丄はそ れぞれ第 1 次、 第 2次走査方向に対応した第 1 、 第 2の累筧レジスタ、 5 2 2は第 1の累算レジスタ 5 2 0と、 第 2の累算レジスタ 5 2 1 の出 力のうち何れかを選択して出力する第 2のマルチプレクサ、 5 2 3は第 2のマルチプレクサ 5 2 2の出力と第 1 のマルチプレクサ 5 1 8の出 力とを加算する加算器、 5 2 4は加算器 5 2 3 と開始ァ ドレス設定レジ スタ 5 1 9の出力のうち何れかを選択して出力する第 3のマルチプレ クサ、 5 2 5、 5 2 6はそれぞれ第 1次、 第 2次走査方向のデータ数設 定レジスタ、 5 2 7は第 1次走査方向のデータ数設定レジスタ 5 2 5 と 、 第 2次走査方向のデータ数設定レジスタ 5 2 6を基に制御信号を生成 する制御回路、 5 2 8はユーザの設定する開始ア ドレス、 5 2 9は開始 ア ド レス 5 2 8 と出力ア ド レス 5 3 0 のうち何れかを選択して出力す る第 4のマルチプレクサ、 5 3 0は第 1の累算レジスタ 5 2 0の出力と しての出力ァ ドレスである。
この実施の形態 5では、 了 ドレス補正手段 5 1 2において補正したァ ドレスを格納するァドレスポインタを持つ代わりに、 2次元ァドレス発 生手段 5 0 6 の持つ第 1次方向累算レジスタ 5 2 0および第 2次方向 累算レジスタ 5 2 1を利用して補正ア ドレスを格納し、 第 1次方向の累 算レジスタの出力をもって出力ァ ドレス 5 3 0とする点が異なり、 他の 構成は実施の形態 3および実施の形態 4 とを組み合わせたものである ので、 ここでは説明を省略する。
本実施の形態 5によれば、 実施の形態 3および 4の効果に加え、 ア ド レン シング指定領域をはみ出したァ ド レスについてはァ ド レス補正手 段 5 1 2によって補正された補正ァ ドレス 5 1 3力 2次元ア ドレス発 生手段 5 0 6内の第丄次および第 2次方向の累算レジスタに格納され るため、 プロセッサで行われるメモリ をソースあるレ、はリ ソースと した べク トル演算などを行う場合に 2次元ァ ド レス発生手段の出力する次 サイクルのア ドレスがア ドレス捕正手段による補正が不可能な領域の ァ ドレスを示すことがなくなる。
ちなみに、 実施の形態 3および 4の構成では、 次サイ クルのア ドレス がァ ドレッシング指定領域をはみ出した場合にァ ドレス補正手段によ つて補正できる範囲は、 ァ ドレツシング指定領域の先頭ァ ドレス以前に 位置するァ ドレッシング指定領域と同等の領域と、 最終ァ ドレス以降に 位置するァ ドレッシング指定領域と同等の領域に限られていた。
なお、 この実施の形態 5に対して実施の形態 2を組み合わせて実施す ることも可能であり、 これを第 9図に示す。
第 9図において、 5 3 1はア ドレス検出手段であり、 これは、 最終ァ ドレス 5 0 4 (E A) と先頭ア ドレス 5 1 5 ( S A 0 ) と第 1の比較結 果 5 1 0 (Y) と第 2の比較結果 5 1 1 (X) および次サイ クルのア ド レス 5 ϋ 7 (Α) を人力と し、 以下の 2種類の状態を検出して検出結果 5 1 3を出力する。 まず第 1に、
S =EA- S A 0 (式 2— 3 )
の算出結果 ( S ) の符号ビッ トを検出し、 その正負によつて最終ァ ドレ ス 5 0 4 (E A) と先頭ア ドレス 5 1 5 ( S A 0 ) のメモ リ 内でのア ド レス位置の関係を明らかにする。
つまり第 4 (a)図に示したよ うに (式 2— 3 ) の算出結果 ( S ) が正 であれば最終ア ドレス 5 0 4 (EA) は先頭ア ドレス 5 1 5 ( S A 0 ) より大きいア ドレス値であり、 逆に (式 2— 3 ) の算出結果 (S) が負 であれば第 4 (b)図に示したように最終ア ドレス 5 0 4 (E A) と先頭 ア ドレス 5 1 S ( S A 0 ) の大小関係が逆転し、 この場合、 先頭ア ドレ ス 5 1 5 ( S A 0 ) からターゲッ トメ モ リ の最後のア ドレスまでと、 タ —ゲッ トメモ リ のア ドレス 0番地から最終ア ドレス 5 0 4 ( E A ) まで がァ ドレツシング指定領域ということになる。
次に、 (式 2— 3 ) の算出結果 (S ) に応じて次サイ クルのア ド レス 5 0 7 (E A) がア ドレッシング指定領域をはみ出している場合に先頭 ア ドレス 5 1 5 ( S A 0 ) を越えてはみ出したものカ 最終ァ ドレス 5 0 4 (E A) を越えてはみ出したものかを検出する。 その際どちらを越 えてはみ出したものかは、 次サイクルのア ドレス 5 0 7 ( A) のメモリ 領域におけるア ドレス位置が先頭ア ドレス 5 1 5 (S A 0 ) と最終ア ド レス 5 0 4 (E A) のどちらにより近い位置にある力 こよって判断する ものとする。 このよ うに、 ァ ドレス検出手段 5 3 1 を用いることによって先頭ァ ド レス 5 1 5 と最終ァ ドレス 5 0 4のメモリ内の位置関係が逆転した場 合、 つまりァドレッシング指定領域がターゲッ トメモリの最後のァ ドレ スをまたいだような設定を行った場合にも、 ァ ドレッシング指定領域を はみ出た次サイクルのァ ドレス 5 0 7を検出してァ ドレッ シング指定 領域内に補正することができ、 ユーザの設定するデータメモリ内の限ら れた領域内をはみ出すことなく、 多次元領域のァ ドレスを自動的に発生 でき、 ア ドレッシング指定領域が、 ユーザの設定する領域をはみ出そう と したときに、 必要なデータのみを D M A転送するだけで済むため、 従 来の多次元ア ドレス発生手段において問題となっていた、 D M A転送個 数が増大したり使用するデ一タメモリ領域が增大したりすろと ;いう, 相 反する問題を解決でき、 さらには、 回路規模や C P Uの処理の増大を招 く ことなく、 かつ、 はみ出そうとする領域の最初の存在位置や形状が限 られることなく、 データメモリ領域の增大を抑えることが可能となるァ ドレス生成装置を提供することができる。
さらに、 第 1 0図に示すように、 先頭ァ ドレスとァ ドレッシング指定 領域の総データ数を設定することによ りァ ドレツ シング指定領域を設 定できるよ うにしてもよレ、。
第 1 0図において、 5 0 1はアドレッシング指定領域設定手段、 5 0 3はァ ドレッシング指定領域を構成する総データ数を格納する総デー タ数設定手段、 5 0 0はァ ドレッシング指定領域を設定するだめの先頭 ァドレスを格納する先頭ァ ドレス設定手段、 5 1 7は先頭ァドレス 5 1 Bに総データ数 5 0 5を加算する加算器であり、 他は第 5図と同様のも のである。
この第 1 0図では、 ア ドレッシング指定領域の設定方法を、 最終ア ド レスと先頭ァ ドレス とを設定するこ とから先頭ァ ドレスと総データ数 を設定することに変更し、 かつ最終ァ ドレスについては加算器を設けて これを自動的に算出する点が実施の形態 4 とは異なり、 そ.の他の構成は 実施の形態 4と同様であるので、 ここではその動作を簡略に説明する。 4J すなわち、 ァドレッシング指定領域の総データ数を格納した総データ 数設定手段 5 0 3の出力としての総データ数 5 0 5は、 加算器 5 1 7に 入力され、 先頭ァ ドレス 5 1 5 との加算により最終ァ ドレス 5 0 4を算 出し、 一方ではア ドレス補正手段 5 1 2に入力され、 補正ア ドレスの計 算を式 3 — 1および式 3 — 2に示したように算出する。
このように、 第 1 0図のア ドレス生成装置によれば、 ユーザの設定す るァ ドレ ン シング指定額域を先頭ァ ドレスと総データ数によって設定 するようにしたので、 ァ ドレス補止手段 5 1 2が行うア ドレス補正計算 が簡単化でき、 ハードウェア規模を削減することができる。
またさらに、 第 1 1図に示すように、 第 1 0図において、 ア ドレス検 出手段 5 3 1を設けることにより、 ァ ドレッシング指定領域がターゲッ トメモリの最後のァ ドレスをまたいだような設定を行った場合にも、 ァ ドレッシング指定領域をはみ出た次サイクルのァ ドレス 5 0 7を検出 してア ドレッシング指定領域内に補正することができ、 ユーザの設定す るデータメモリ內の限られた領域内をはみ出すことなく、 多次元領域の ア ドレスを自動的に発生できるようにしてもよい。
実施の形態 6 .
こ の実施の形態 6は、 ァ ドレス補 TFを行ったァ ドレスを出力するモー ドと、 従来の 2次元ァドレスのまま出力するモー ドの切り替えを行える ようにしたものである。
第 1 2図は本発明の実施の形態 6のァ ドレス生成装置を示すもので あり、 この第 1 2図は本願の請求の範囲第 8項, 第 9項, 第 1 0項の発 明に対応するものである。 第 "! 2図において、 6 0 1 はァ ドレッシング 指定領域設定手段、 6 0 2はァ ドレッシング指定領域を設定するための 最終ア ドレスを格納する最終ア ドレス設定手段、 6 0 3はア ドレツシン グ指定領域を構成する総データ数を格納する総データ数設定手段であ り、 これらの設定値を変更することにより、 その領域指定は可変となる ため、 Ύ ドレッシング指定領域 (例えばプ πセッサ内部のデータメ モ リ ) はメモ リ (例えば外部メモリ ) 内でスク ロール可能となっている。 ま た、 6 0 4 は最終ァ ドレス設定手段 6 0 2の出力 と しての最終ァ ドレス 、 6 0 5は総データ数設定手段 6 0 3の出力と しての総データ数、 6 0 bは任意の '1次元矩型領域のァ ドレスを発生することのできる 2次元 ァドレス発生手段、 6 0 7は 2次元ァ ドレス発生于段 6 0 6の出力と し ての次サイクルのア ドレス、 6 0 8は最終ア ドレス 6 0 4 と次サイクル のア ドレス 6 0 7を入力として大小比較を行う第 1 の比較手段、 6 0 9 は総データ数 6 0 5 と次サイクルのァ ドレス 6 0 7を入力と して大小 比較を行う第 2の比較手段、 6 1 0は第 1の比較手段 6 0 8の出力と し ての第 1 の比較結果、 6 1 1は第 2の比較手段 6 0 9の出力としての第 2の比較結果、 6 1 2は総データ数 fci ϋ 5, 次サイクルのア ドレス 6 0 7 , 第 1 の比較結果 6 1 0, 第 2の比較結果 6 1 1を入力と してァドレ ス補正演算を打うァ ドレス補正手段、 6 1 3はァ ドレス捕正手段 6 1 2 の出力と しての補 TFァ ドレス、 6 1 4は補正ァ ドレス 6 1 3を入力とす るア ドレスポインタ、 6 1 5は最終ァ ドレス 6 0 4から総データ数 6 0 5を減算する減算器、 6 1 6は最終ア ドレス 6 0 4から総データ数 6 0 5を減じて得られる先頭ア ドレスである。 また、 2次元ア ドレス発生手 段 6 0 6の構成要素のうち 6 1 7 、 6 1 8はそれぞれ第 1次、 第 2次走 查方向の増分値設定レジスタ、 6 1 9は第 1次走査方向の増分値設定レ ジスタ 6 1 7 と第 2次走査方向の増分値設定レジスタ 6 1 8 の設定値 のうちの何れかを選択して出力する第 1のマルチプレクサ、 6 2 0は開 始ア ドレス設定レジスタ、 6 2 1 、 6 2 2はそれぞれ第 1次、 第 2次走 査方向に対応した第 1、 第 2の累算レジスタ、 6 2 3 は後述する第 5の マルチプレクサ 6 3 1 と第 2 の累算レジスタ 6 2 2の出力のう ちの何 れかを選択して出力する第 2のマルチプレクサ、 6 2 4は第 2のマルチ プレクサ 6 2 3の出力と第 1 のマルチプレクサ fi 1 9 の出力と を加算 する加算器、 6 2 5は加算器 6 2 4 と開始ァ ドレス設定レジスタ 6 2 0 の出力のうち何れかを選択して出力する第 3のマルチプレクサ、 6 2 6 、 6 2 7はそれぞれ第 1次、 第 2次走査方向のデータ数設定レジスタ、 6 2 8は第 1次走査方向のデータ数設定レジス タ 6 2 6 と第 2次走査 方向のデータ数設定レジスタ 6 2 7の設定値を基に制御信号を生成す る制御回路、 6 2 9はユーザの設定する開始ア ドレス、 G 3 0はユーザ の設定する開始ァ ドレス 6 2 9 と先頭ァ ドレス 6 1 6のう ち何れかを 選択して出力する第 4のマルチプレクサ、 6 3 1は第 1の累算レジスタ 6 2 1 とァ ド レスポインタ 6 1 4の出力のうち何れかを選択して出力 する第 5のマルチプレクサ、 6 3 2は第 5 のマルチプレクサ 6 3 1 の出 力と しての出力ア ドレス、 6 3 3は次サイクルのァドレス 6 0 7 と補正 ア ドレス 6 1 3のうち何れかを選択して出力する第 6のマルチブレク サ、 6 3 4は第 5のマルチプレクサ 6 3 1 と第 6のマルチプレクサ 6 3 3のマルチプレクサの選択信号としてのモ一 ド切り替え信号である。 この実施の形態 6では、 ア ドレッシング指定領域をはみ出すと、 捕正 を行ったァ ド レスを出力する力 、 従来の 2次元ァ ドレスのまま出力する かを切り替えるモー ド切り替え信号によって切り替わる第 5のマルチ プレクサ 6 3 1 と第 6のマルチプレクサ 6 3 3を設け、 第 6のマルチプ レクサによって第 2次方向累算レジスタの入力を次サイクルのァ ドレ ス 6 0 7にするか補正ァ ド レス 6 1 3にするかを選択可能と し、 第 5 の マルチプレクサ 6 3 1 によって出力ア ド レス 6 3 2をア ド レスポイ ン タ 6 1 4の出力とするか第 1次方向累算レジスタ 6 2 1 の出力とする かを選択可能とする点が異なり、 他の構成は実施の形態 3および実施の 形態 4 とを組み合わせたものと同様であるので、 ここでは説明を省略す る。
この構成によって、 モー ド切り替え信号が通常の 2次元ァ ドレス発生 モー ドを示すものであれば、 第 6のマルチプレクサ 6 3 3は次サイクル のア ドレス 6 0 7を選択し、 第 5のマルチプレクサ 6 3 1は第 1次方向 累算レジスタ 6 2 1 の出力を選択して出力ァ ドレス 6 3 2 とするので、 ア ドレツシング指定領域設定手段 6 0 1 に指定されたァ ドレツシング 指定領域の範囲に関わらないァ ドレスを発生する。
また、 モード切り替え信号がァドレッシング指定領域からはみ出さな ぃァ ドレッシングモー ドを示すものであれば、 第 6のマルチプレクサ 6 3 3は補正ア ドレス 6 1 3を選択し、 第 5のマルチプレクサ fi 3 1 はァ ドレスポインタ 6 1 4の出力を選択するので、 ァ ドレッシング指定領域 からはみ出さないようにァ ド レスを補正したものが出力ァ ドレス 6 3 2 となるものである。
以上のように、 本実施の形態 6によれば、 2次元ア ドレス発生手段 6 0 6の発生するァ ドレスがユーザによってァ ドレッシング指定領域設 定手段 6 0 1に指定された領域をはみ出すと、 ァ ドレス補正手段 6 1 2 によってァ ドレッシング指定領域の最終ァ ドレスの次のァ ドレスを先 頭ァ ドレスと してア ドレツシング指定領域をらせん環状の空閒に見立 てたア ドレスの補正計算が自動的になされるため、 出力ア ドレスをいつ もユーザの設定したァ ドレッシング領域内に留めておく ことができ、 使 用するデータメモリ領域を抑えれば D M A転送個数が増大し、 D M A転 送個数を抑えればデータメモリ領域が增大するという、 相反する問題を 解決でき、 さらには、 回路規模や C P Uの処理の増大を招く ことなく 、 かつ、 はみ出そう とする領域の最初の存在位置や形状が限られることな く、 データメモリ領域の堉大を抑えることが可能になるとともに、 ユー ザの設定するァ ドレツ シング指定領域を最終ァ ド レスと総データ数に よつて設定するよ うにしたので、 ァ ドレス補正手段 6 1 2が行ぅァ ドレ ス補正計算が簡単化でき、 ハードウ -ァ規模を削減することができる, という実施の形態 3に相当する効果、 および、 ユーザがアクセス したい 2次元矩型領域を設定する際に開始ァ ドレスを設定するための開始ァ ドレス設定レジスタ 6 2 0に対して、 ア ドレッシングが開始された最初 のサイクルで出力ァ ドレス 6 3 2を書き込むための第 4のマルチプレ クサ 6 3 0を設けたことにより、 ユーザがアクセス したい 2次元矩型領 域の開始ァ ドレスがァ ドレツシング指定領域をはみ出していた場合に、 ア ドレス補正手段 6 1 2によって補正されたア ドレスを出力ア ドレス 6 3 2として出力しつつ、 ユーザが設定した開始ァ ドレス 6 2 9 の値を 、 実際にメモリ をアクセスした出力ァ ドレス 6 3 2によつて上睿きする ことで、 補正後のア ドレスを開始ァ ドレス として以降のアクセスを行う ことが可能となる、 という実施の形態 4の効果に加え、 ユーザがァ ドレ ッシング指定領域設定手段 6 0 1に設定を行い、 そのァ ドレッシング指 定領域をはみ出さないような 2次元ァ ドレスを発生する処理を行った 後に、 通常のァ ドレッシング指定領域に関係のない 2次元ァ ドレス発生 の処理を行いたい場合に、 モー ド切り替え信号を切り替えるこ とによつ て容易に機能を切り替えることができ、 処理量を削減できる効果がある と同時に、 ァ ドレス補正を行ったァ ドレスおよびァ ドレス補正を行わな ぃァ ドレスの生成を同一の lEj路で行うことができる。
このよ うに、 本実施の形態 6によるア ドレス生成装置は、 モー ド切り 替え信号によって通常の従来の多次元ア ドレス生成装置に容易に切り 替わるため、 ある特定アプリケ一ショ ンにのみ使用可能なものではなく 、 矩型領域に対するべク トル演算を行うようなプロセッサ全般に対して 高機能のァ ドレス牛成装置として使用可能である。
なお、 第 1 3図に示すように、 先頭ア ドレスとア ドレッシング指定領 域の総データ数を設定するこ とによ りア ドレツシング指定領域を設定 できるようにしてもよい。
第 1 3図において、 6 0 1はア ドレッシング指定領域設定手段、 6 0 3はァ ドレッシング指定領域を構成する総データ数を格納する総デー タ数設定手段、 6 0◦はァ ドレッシング指定領域を設定するための先頭 ア ドレスを格納する先頭ア ドレス設定手段、 6 1 7は先頭ア ドレス 6 1 6に総データ数 6 0 5を加算する加算器であり、 他は第 1 2図と同様の ものである。
この第 1 3図では、 ア ドレッシング指定領域の設定方法を、 最終ア ド レス と総データ数とを設定することから先頭ァ ドレス と総データ数を 設定することに変更し、 かつ最終ア ドレスについては加算器を設けてこ れを自動的に算出する点が実施の形態 6 とは異なり、 その他の構成は実 施の形態 6 と同様であるので、 ここではその動作を簡略に説明する。 すなわち、 ア ドレツシング指定領域の総データ数を格納した総データ 数設定手段 6 0 3の出力と しての総データ数 6 0 5は、 加算器 6 1 7に 入力され、 先頭ァ ドレス 6 1 6 との加算により最終ァ ドレス 6 0 4を算 出し、 方ではァ ドレス補正手段 6 1 2に入力され、 補正ァ ドレスの計 算を式 3-1および式 3-2に示したように算出する。
このように、 第 1 3図のァ ドレス生成装置によれば、 ユーザの設定す るア ドレツシング指定領域を先頭ァ ドレスと総データ数によつて設定 するようにしたので、 了 ドレス補正手段 6 1 2が行うァ ドレス補正計算 が簡単化でき ドゥェァ規模を削減することができる。
また、 第 1 2図に示される第 5のマルチプレクサおよび第 6のマルチ プレクサを実施の形態 4および 5、 即ち、 第 7図ないし笫 1 1図の装置 に適用し、 ア ドレス補正されたア ドレスを生成するモードおよびア ドレ ス補正を行わないァ ドレスを生成するモー ドを有するよ うにしてもよ レゝ
実施の形態 7 .
この実施の形態 7は、 ア ドレス生成装置を用いて動きべク トル検出を 行うようにした動きべク トル検出装置に関するものである。
第 1 4図は本発明の実施の形態 7の動きべク トル検出装置と しての プロセッサを示すものであり、 この第 1 4図は本願の請求の範囲第 1 1 項の発明に対応するものである。 第 1 4図において、 7 0 1はプロセッ サ外部に配置される外部メモリ、 7 0 2は外部メモリ 7 0 1 と後述する 内部メモリ との間でデータ転送を行う D M Aデータ転送用バス、 7 0 3 はプロセ ッサ内部に配置されるデータメモリ と しての第 1 の内部メモ リ、 同様に 7 0 4 , 7 0 5はプロセッサ内部に配置されるデータメモリ と しての第 2 , 第 3の内部メモリ 、 7 0 6は内部メモリ と後述する演算 手段との間でデータのやり と りを行う内部演算用バス、 7 0 7は演算手 段、 7 0 8はユーザによってア ドレッシング指定領域を指定することが でき、 そのア ドレツシング指定領域からはみ出すことなく 2次元ァ ドレ スを発生するァ ドレス発生手段であり、 第 1 2図のァ ドレス生成装置を 用いるのが望ましいが、 第 1図, 第 3図, 第 5図, 第 6図, 第 7図, 第 8図, 第 9図, 第 1 0図, 第 1 1図, 笫 1 3図のア ドレス生成装置を用 いることもできる。 7 0 9は第 1の内部メモ リ のア ドレス、 7 1 0 と 7 1 2は通常のア ドレス発生手段、 7 1 1は第 2の内部メモ リ のア ド レス 、 7 1 3は第 3の内部メモリのア ドレスである。
次に、 動作について説明する。 外部メモ リ 7 0 1に格納されている画 像データのうち、 動きべク トル検索の対象となる画像データのうち探索 に必要なデータを第 1 の内部メモリ に D M Aデータ転送用バス 7 0 2 を介して転送しておく。 動きべク トル検出のための演算は内部演算用バ ス 7 ϋ 6を介して演算手段 7 0 7において行われる。
画像 C O D E C処理で行われている動きべク トル検出処理の中でも、 従来例で述べた One at a t ime アルゴリ ズムを用いた動きべク トルの探 索を、 本実施の形態 7のァ ド レス生成装置を用いたプロセッサ、 即ち動 きべク トル検出装置にて行う場合を第 1 4図ないし第 1 7図を用いて 説明する。 第 1 4図において、 外部メモ リ 7 0 1に格納されている探索 する対象の画像データのうち、 まず最初に 1マクロブ口ック分の画素と その周囲 1画素を含んだ 1 8 X 1 8画素からなる矩型領域のデータを D M A転送により第 1の内部メモリ 7 0 3に転送する。 これは検索ォリジ ンとその近接 8画素の S A D値算出に必要な画像領域を確保したもの である。 その際にユーザは第 1の内部メモリ 7 0 3のア ドレス 7 0 9を 発生するァ ド レ ン シング指定領域を持った 2次元ァ ド レス発生手段 7 0 8には、 1 8 X 1 8画素分のデータを格納する領域をメモ リ内に配置 し、 これを第 1 の内部メモリに対するァ ドレンシング指定領域に設定し ておく。
以上述べたような手順によって、 第 1の内部メモリ 7 0 3に配置され た画素データの中心の 1 6 X 1 6画素がまず最初の検索オリ ジンとなる c また第 2の内部メモリ 7 0 4には動きべク トル処理対象のマク 口ブロ ックデータが配置されているものとする。 次にユーザはァ ドレッシング 指定領域を持った 2次元ァ ドレス発生手段 7 0 8が通常のァ ドレス発 生手段 7 1 0に対して、 S A D計算を行う対象の画像データである 1 6 X 1 6面素の矩型領域をアクセスするよ うにあらかじめ設定を行い、 第 1 の内部メ モ リ 7 0 3 と第 2 の内部メ モ リ 7 0 4 を 2つのソース と し た S A D値算出の命令を発行する。
第 1 5図にはこのときの第 1の内部メモリ 7 0 3の状態を示してい る。 7 1 4は第 1 の内部メモリ 7 0 3に対してユーザが設定した 1 8 X 1 8画素のア ドレッシング指定領域、 7 1 5はユーザが検索オリジンを アクセスするために行った 2次元ァ ドレスの設定を示し、 7 1 6は実際 にァ ドレンシング指定領域を持つ 2次元ァ ドレス発生手段 7 0 8が発 生したア ドレスである。 つま り、 第 1 の内部メモリ 7 0 3のア ドレスは 、 ァクセス設定 7 1 5の 1から順番に 1 6 X 1 6データを矩型領域でァ クセスし、 発生ァ ドレス 7 1 6の 1から順番に発生される。
S AD値の算出は演算手段 7 0 7によって行われ、 内部演算用バスを 介してリ ソースに格納される。 以上の処理を笫 1の内部メモリ 7 0 3に ある検索オリ ジンの近接 8画素に対しても次々に行う。 この際、 ユーザ はァ ドレッシング指定領域をもつた 2次元ァ ドレス発生手段 7 0 8に 対してのみアクセス したい 2次元矩型領域の開始ア ドレス、 すなわち第 1 5図におけるアクセス設定 7 1 5の 1のア ドレス値を右、 左、 上、 下 、 右斜め上、 右斜め下、 左斜め上、 左斜め下というふうに 1画素づつず らすような設定を行って同様の演算を行えばよい。
次に、 新しい検索ォリジンとして 1画素上のマク口ブロ ンクが兑つか つた場合には、 第 1 6図に示したように、 新しい検索オリジンはァクセ ス設定 7 1 7のよ うになる。 しかし、 新しい検索オリ ジンの近接 8画素 を探索するためには、 ァ ドレス発生手段 7 0 8のァ ドレツシング指定領 域設定手段により設定された第 1 6図のアクセス設定 7 1 7に、 "參" で示した aないし rまでの画素データが新たに必要となるので、 DMA 転送により外部メモリ 7 0 1から画素を補充する。 この際にユーザの行 う設定としてアクセス設定 7 1 7に "詹" で示した a ないし r をァクセ スするような設定を、 ァ ドレス発生手段 7 0 8の :;次元ァ ドレス発生手 段により行えば、 実際に発生するア ドレスと しては、 ア ドレッシング指 定領域 ( 7 1 7 ) をはみ出したア ドレスを補正する機能によって、 発生 ア ドレス 7 1 8に "·" で示した aないし rのア ドレスが発生される。 S A D値を求める演算を行う場合にも、 2次元ァ ドレスのァ ドレツシン グでも、 アクセス設定 7 1 7の aなレヽし r をアクセスするようなァ ドレ スを設定すれば発生ァ ドレス 7 1 8の aないし rを自動的にアクセスす る。
なお、 参考のため、 第 1 7図には、 検索オリジンが 1画素右斜上のマ クロブロ ックに移動した場合のァクセス設定 7 1 9 と発生ァ ドレス 7 2 0を示している。
このよ うに、 本実施の形態 7によれば、 外部メモリ に配置された画像 データを、 内部メモリのア ドレッシング指定領域で指定した領域をウイ ン ドウとしてスク ロールすることが可能となる。 これによつて内部メモ リ の使用領域をァ ドレンシング指定領域によつてュ一ザが決定するこ とで、 動きべク トル検出処理によって占有するメモリ量の増大を防ぐこ とができる。
さらに、 検索オリジンが移動したことによって不足する画素のみを補 充すればよいことから、 例えば 1 8 X 1 8画素の矩形領域のデータを D M A転送する場合、 本 ^ 3 2 4 (= 1 8 X 1 8 ) 画素のデータ転送が必 要であるが、 本実施の形態 7では第 1 7図の "·" で示した 3 5 (— 1 8 + 1 8 - 1 ) 画素のデータ転送のみで済み、 DMA転送データ数の增 大を防ぐことができる。
さらに、 ユーザはァ ドレッシング指定領域をはみ出してアクセス して いることを意識する必要がなく、 通常通りのアクセス設定を行えばよい ので、 ァドレス計算に要する演算量の増大を軽減することができる。 よって本実施の形態 7.は、 この構成を動きべク トル検出処理に利用す ることによって、 従来のア ド レス生成装置を用いた処理における、 占有 するメモリ容量の増大、 DMA転送データ数の増大、 演算量 (ア ド レス 計算) の増大という問題を改善できる効果があり、 搭载するメモリ容量 が限られているような小型端末、 とく に MP E G 4等の画像 C OD E C 処理を使用した無線携帯端末ゃコンビュータに無線送受信装置を接続 した形態で使用されている動きべク トル検索処理に対して大きな効果 を発揮する。 '
また、 本実施の形態 7は、 メモリ容量を少なく抑え、 また、 .スク ロー ル方向が 2次元的である場合の画像表示におけるスク ロール表示に利 用することも可能である。 産業上の利用可能性
以上のように、 本発明に係るァ ド レス生成装置および動きべク トル検 出装置は、 矩形領域のアクセス対象をアクセスするためのァド レスを生 成する際に、 ユーザが設定するデータメモリ内の限られた領域をはみだ すことなく多次元領域のァ ドレスを自動的に発生すろのに適し、 One a t a time アルゴリ ズム等による動きべク トル検出を行うのに適する。

Claims

請 求 の 範 囲
1 . ダイ レク トメモリアクセスにより転送されたデータを格納するメモ リ内に先頭ァ ドレスが最終ァ ドレスよ り も小さい値を有する先頭ァ ド レス と最終ア ドレスによって定まる連統するァ ドレッシング領域を設 定するためのァドレッシング指定領域設定手段と、
多次元領域のァ ドレスを連続的に発生し得る多次元ァ ドレス発生手 段と、
前記多次元ァ ドレス発生手段が順次発生する個々のァ ド レスと最終 ア ドレスとの大小を比較する第 1の比較手段と、
前記多次元ァ ドレス発生手段が順次発生する個々のァ ドレス と前記 先頭ァ ドレスとの大小を比較する笫 2の比較手段と、
前記多次元ァド レス発生手段が順次発生する個々のァドレスと、 前記 第 1および第 2の比較手段の比較結果を入力と し、 前記第 1および第 2 の比較手段の比較結果に基づいて前記多次元ァ ド レス発生手段が順次 発生する個々のァ ドレスが前記ァ ドレッシング指定領域設定手段によ つて設定されたァ ドレッシング指定領域をはみ出しているか否かを判 定し、 はみ出しているときには前記個々のァ ドレスがァ ドレッシング指 定領域内でらせん環状の空間に配置されるように補正して出力し、 はみ 出していないときには前記次サイクルのァ ド レスをそのまま出力する ァ ドレス補正手段とを備えたことを特徵とするァ ドレス生成装置。
2 . ダイ レク トメモリアクセスにより転送されたデータを格納するメモ リ 内に先頭ァ ドレス と最終ァ ドレスの値の大小に関わらず先頭ァ ドレ スと最終ァ ドレスによって定まる連続するァ ドレッシング領域を設定 するためのア ドレッシング指定領域設定手段と、
多次元領域のァ ド レスを連続的に発生し得る多次元ァ ド レス発生手 段と、
前記多次元ァ ド レ ス発生手段が順次発生する個々のァ ドレス と前記 最終ァ ドレスとの大小を比較する第 1の比較手段と、 前記多次元ァ ド レス発生手段が順次発生する個々のァ ドレスと前記 先頭ァドレス との大小を比較する第 2の比較手段と、
前記第 1の比較手段の比較結果と前記第 2の比較手段による比較結 果を基に前記次サイクルのァ ドレス値が前記先頭ァ ドレスと最終ァ ド レスのどちらに近いかを検出するァ ドレス検出手段と、
前記第 1の比較手段および前記第 2 の比較手段および前記ァ ドレス 検出手段の出力と、 前記次サイ クルのア ドレスを入力と し、 前記第 1お よび第 2の比較手段の比較結果と、 前記ァドレス検出手段の出力に基づ いて、 前記多次元ァ ドレス発生手段が順次発生する個々のァ ドレスが前 記ァ ドレッシング指定領域設定手段によつて設定されたァ ドレツシン グ指定領域をはみ出しているか否かを判定し、 はみ出しているときには 前記個々のァ ドレスがァ ドレッシング指定領域内でらせん環状の空間 に配置されるように補正して出力し、 はみ出していないときには前記次 サイクルのァ ドレスをそのまま出力するァ ド レス補正手段とを備えた ことを特徴とするア ドレス生成装置。
3 . 請求の範囲第 1 項または第 2項のァ ドレス生成装置において、 前記ァ ドレッシング指定傾域設定手段を、 ァドレッシング指定領域が 最終ァドレスと総データ数を設定し、 前記最終ァドレスから前記総デー タ数を減ずるこ と によって自動的に先頭ア ド レスを生成するように構 成したことを特徴とするア ドレス生成装置。
4 . 請求の範囲第 1項または第 2項のァ ドレス生成装置において、 多次元領域のァ ドレスを連続的に発生し得る前記多次元ァ ドレス発 生手段は、 多次元領域の開始ァ ドレスと各走査方向の増分値および各走 査方向のデータ数を設定する手段と、
各走査方向のァ ド レスを累算するための独立した累算レジスタとを 有し、
走査方向が変わったときのァ ドレス計算には走査 问に対応した累 笄レジス タ に対して前記走査方向に対応した前記増分値を加算するこ とにより次サイ クルのァ ドレス値を 算して出力し、 前記多次元領域の 開始ァ ドレスを、 ァ ドレッシングの開始サイクルで前記ァ ドレス補正手 段の出力によって更新することを特徴とするァ ドレス生成装置。
5 . 請求の範囲第 1項または第 2項のァ ドレス生成装置において、 多次元領域のァ ドレスを連続的に発生し得る前記多次元ァ ドレス発 生手段は、 多次元領域の開始ア ドレス と各走査方向の增分値および各走 査方向のデータ数を設定するデータ数設定手段および各走査方向のァ ドレスを累算するための独立した累算レジスタ とを有し、
走査方向が変わったときのァ ドレス計算には走査方向に対応した累 算レジスタに対して前記走査方向に対応した増分値を加算することに より次サイクルのア ドレス値を計算して出力し、 前記各走査方向のア ド レスを累算するための累算レジスタのうち、 最も低次の走査方向の累算 レジスタは、 ア ドレス補正手段の出力する補正ア ドレスを格納し、 その 他の累算レジスタには、 ァ ドレス補正手段の出力する補正ァ ドレスと前 記次サイクルのァ ドレス値のうち一方を選択して格納し、 前記最も低次 の走査方向のァ ドレスを格納する累算レジス タの出力を出力ァ ドレス とすることを特徹とするァ ドレス生成装置。
6 . 請求の範囲第 5項のア ドレス生成装置において、
ァ ドレッシング指定領域設定手段を、 ァ ドレッシング指定領域が最終 ァ ドレスと総データ数を設定し、 前記最終ァ ドレスから前記総データ数 を减ずることによって自動的に先頭ァ ドレスを生成するよ うに構成し たことを特徴とするァ ドレス生成装置。
7 . 請求の範囲第 5項のア ドレス生成装置において、
前記多次元ア ドレス発生手段は、 多次元領域の開始ア ドレスが、 ア ド レッシングの開始サイ クルにおいてア ドレス出力によって更新される ことを特徴とするァ ドレス生成装置。
8 . 請求の範囲第 1項または第 2項のァ ドレス生成装置において、 多次元領域のァ ドレスを連続的に発生し得る前記多次元ァ ドレス発 生手段は、 多次元領域の開始ァ ドレス と各走査方向の増分値および各走 査方向のデータ数を設定するデータ数設定手段および各走査方向のァ ドレスを累算するための独立した累算レジスタを有し、 走査方向が変わったときのァ ドレス計算には走查方向に対応した累 算レジスタに対して前記走査方向に対応した増分値を加算することに より次サイクルのァ ド レス値を計算して出力し、 前記各走査方向のァ ド レスを累算するための累算レジスタのうち、 最も低次の走査方向の累算 レジスタは、 前記次サイクルのア ドレス値を格納し、 その他の累算レジ スタは、 ァ ドレス補正手段の出力する補正ァ ドレス と前記次サイクルの ァ ドレス値のうち一方を選択して格納し、 最も低次の走査方向のァ ドレ スを格納する前記累算レジスタの出力と、 前記ァ ドレス補正手段のァ ド レスポインタの出力するァ ドレスの一方を選択して出力ァ ドレスとす るこ とを特徴とするァ ドレス生成装置。
9 . 請求の範囲第 8項のア ドレス生成装置において、
前記ァ ドレッシング指定領域設定手段を、 ァ ドレッシング指定領域が 最終ァドレスと総データ数を設定し、 前記最終ァ ドレスから前記総デー タ数を減ずることによって自動的に先頭ァ ドレスを生成するように構 成することを特徴とするァドレス生成装置。
1 0 . 請求の範囲第 8項のア ドレス生成装置において、
多次元領域の開始ァ ドレスが、 ァ ドレツシングの開始サイクルにおい てァ ド レス出力によって更新されることを特徴とするァ ド レス生成装 置。
1 1 . プ πセッサで行う動きべク トル検出処理において、
画像データを格納しておくプロセッサ外部のメモリ と、
動きべク トル検出演算に使用する画像データのみを前記プロセッサ 外部のメモリ よ り ダイ レク トメモリアクセス転送して格納しておくプ 口ヤッサの内部メモリ と、
動きべク トル検出演算を行う演算手段と、
前記內部メ モ リ の矩型領域をアクセスできるよ うにァ ドレスを生成 する請求の範囲第 1項ないし第 1 0項のいずれかに記載のァ ド レス生 成装置とを備えたこ とを特徴とする動きべク トル検出装置。
PCT/JP1999/006626 1998-11-27 1999-11-26 Address generating device and moving vector detecting device WO2000033194A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP99973137A EP1146427A4 (en) 1998-11-27 1999-11-26 ADDRESS GENERATING DEVICE AND DEVICE FOR DETECTING MOTION VECTORS
US09/856,775 US6662288B1 (en) 1998-11-27 1999-11-26 Address generating apparatus and motion vector detector
JP2000585768A JP3564395B2 (ja) 1998-11-27 1999-11-26 アドレス生成装置および動きベクトル検出装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP10/338083 1998-11-27
JP33808398 1998-11-27

Publications (1)

Publication Number Publication Date
WO2000033194A1 true WO2000033194A1 (en) 2000-06-08

Family

ID=18314753

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/006626 WO2000033194A1 (en) 1998-11-27 1999-11-26 Address generating device and moving vector detecting device

Country Status (5)

Country Link
US (1) US6662288B1 (ja)
EP (1) EP1146427A4 (ja)
JP (1) JP3564395B2 (ja)
CN (1) CN1134734C (ja)
WO (1) WO2000033194A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007116612A1 (ja) * 2006-03-31 2007-10-18 Matsushita Electric Industrial Co., Ltd. コマンド出力制御装置
JP2015514243A (ja) * 2012-03-15 2015-05-18 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 指定されたメモリ境界までの距離を計算するためのコンピュータ・プログラム、コンピュータ・システムおよび方法
JP2015516618A (ja) * 2012-03-15 2015-06-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データを動的に判断されたメモリ境界までロードする方法、システムおよびコンピュータ・プログラム
JP2015516622A (ja) * 2012-03-15 2015-06-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データを命令が指示する指定されたメモリ境界までロードするためのコンピュータ・プログラム、コンピュータ・システムおよび方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363397B2 (en) * 2004-08-26 2008-04-22 International Business Machines Corporation System and method for DMA controller with multi-dimensional line-walking functionality
CN101241505B (zh) * 2008-02-01 2013-08-21 张建中 一种生成、部署和运行多维地址可扩展关联标记语言的方法和装置以及系统
KR101612780B1 (ko) * 2009-11-13 2016-04-18 삼성전자주식회사 컴퓨팅 시스템 및 컴퓨팅 시스템의 메모리 관리 방법
US9014493B2 (en) * 2011-09-06 2015-04-21 Intel Corporation Analytics assisted encoding
US9280347B2 (en) 2012-03-15 2016-03-08 International Business Machines Corporation Transforming non-contiguous instruction specifiers to contiguous instruction specifiers
US9268566B2 (en) 2012-03-15 2016-02-23 International Business Machines Corporation Character data match determination by loading registers at most up to memory block boundary and comparing
US9459864B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Vector string range compare
US9715383B2 (en) 2012-03-15 2017-07-25 International Business Machines Corporation Vector find element equal instruction
US9454367B2 (en) 2012-03-15 2016-09-27 International Business Machines Corporation Finding the length of a set of character data having a termination character
US9454366B2 (en) 2012-03-15 2016-09-27 International Business Machines Corporation Copying character data having a termination character from one memory location to another
US9588762B2 (en) 2012-03-15 2017-03-07 International Business Machines Corporation Vector find element not equal instruction
US9996350B2 (en) * 2014-12-27 2018-06-12 Intel Corporation Hardware apparatuses and methods to prefetch a multidimensional block of elements from a multidimensional array
JP7218556B2 (ja) * 2018-12-06 2023-02-07 富士通株式会社 演算処理装置および演算処理装置の制御方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63271606A (ja) * 1987-04-30 1988-11-09 Fanuc Ltd デ−タ処理方式
US4924432A (en) * 1986-03-29 1990-05-08 Hitachi, Ltd. Display information processing apparatus
JPH05334178A (ja) * 1992-05-29 1993-12-17 Oki Electric Ind Co Ltd ループ状データ発生回路
JPH0662390A (ja) * 1992-08-07 1994-03-04 Sanyo Electric Co Ltd 動画像符号化復号化装置
JPH10215457A (ja) * 1997-01-30 1998-08-11 Toshiba Corp 動画像復号方法及び動画像復号装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4959776A (en) * 1987-12-21 1990-09-25 Raytheon Company Method and apparatus for addressing a memory by array transformations
JP2854420B2 (ja) 1990-02-21 1999-02-03 松下電器産業株式会社 多次元アドレス発生器およびその制御方式
US5448310A (en) * 1993-04-27 1995-09-05 Array Microsystems, Inc. Motion estimation coprocessor
FR2718262B1 (fr) * 1994-03-31 1996-05-24 Sgs Thomson Microelectronics Mémoire tampon à adressage modulo.
JPH08202524A (ja) 1995-01-30 1996-08-09 Mitsubishi Denki Semiconductor Software Kk グラフィック表示スクロール装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4924432A (en) * 1986-03-29 1990-05-08 Hitachi, Ltd. Display information processing apparatus
JPS63271606A (ja) * 1987-04-30 1988-11-09 Fanuc Ltd デ−タ処理方式
JPH05334178A (ja) * 1992-05-29 1993-12-17 Oki Electric Ind Co Ltd ループ状データ発生回路
JPH0662390A (ja) * 1992-08-07 1994-03-04 Sanyo Electric Co Ltd 動画像符号化復号化装置
JPH10215457A (ja) * 1997-01-30 1998-08-11 Toshiba Corp 動画像復号方法及び動画像復号装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1146427A4 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007116612A1 (ja) * 2006-03-31 2007-10-18 Matsushita Electric Industrial Co., Ltd. コマンド出力制御装置
JPWO2007116612A1 (ja) * 2006-03-31 2009-08-20 パナソニック株式会社 コマンド出力制御装置
US7930439B2 (en) 2006-03-31 2011-04-19 Panasonic Corporation Command output control apparatus
JP4733138B2 (ja) * 2006-03-31 2011-07-27 パナソニック株式会社 コマンド出力制御装置、コマンド出力制御方法およびプログラム
JP2015514243A (ja) * 2012-03-15 2015-05-18 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 指定されたメモリ境界までの距離を計算するためのコンピュータ・プログラム、コンピュータ・システムおよび方法
JP2015516618A (ja) * 2012-03-15 2015-06-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データを動的に判断されたメモリ境界までロードする方法、システムおよびコンピュータ・プログラム
JP2015516622A (ja) * 2012-03-15 2015-06-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データを命令が指示する指定されたメモリ境界までロードするためのコンピュータ・プログラム、コンピュータ・システムおよび方法

Also Published As

Publication number Publication date
CN1134734C (zh) 2004-01-14
JP3564395B2 (ja) 2004-09-08
CN1332870A (zh) 2002-01-23
US6662288B1 (en) 2003-12-09
EP1146427A1 (en) 2001-10-17
EP1146427A4 (en) 2005-07-27

Similar Documents

Publication Publication Date Title
WO2000033194A1 (en) Address generating device and moving vector detecting device
JP3803122B2 (ja) 画像メモリ装置および動きベクトル検出回路
US4610026A (en) Method of and apparatus for enlarging/reducing two-dimensional images
US20080147980A1 (en) Enhancing Performance of a Memory Unit of a Data Processing Device By Separating Reading and Fetching Functionalities
US20160063665A1 (en) Processor, System, and Method for Efficient, High-Throughput Processing of Two-Dimensional, Interrelated Data Sets
US8135224B2 (en) Generating image data
JP3913491B2 (ja) ディジタルズーム装置
JP2002171401A (ja) 間引き演算命令を備えたsimd型演算装置
JPH0522648A (ja) 画像処理装置
JP3352931B2 (ja) 動きベクトル検出装置
US6380987B1 (en) Motion vector detection circuit enabling high-speed search of motion vector
JP2008022134A (ja) 整数画素動き予測機構、1/4画素輝度用動き予測機構、1/4画素色差用動き予測機構、組合せ輝度用動き予測機構、組合せ輝度・色差用動き予測機構及び1/4画素輝度・色差用動き予測機構
JP3132055B2 (ja) 画像処理装置および画像処理方法
US20020021826A1 (en) Image signal processing apparatus and method thereof
EP1792482B1 (en) Memory optimization for video processing
TWI695250B (zh) 可減少多工器數量的查找表配置方法及利用其之資訊處理裝置
JPH09120371A (ja) メモリ制御装置
JPH057328A (ja) 手振れ補正装置
JP2001061150A (ja) 画像読出装置及び画像照合装置
JP3139691B2 (ja) デジタル画像処理回路
JPH053625B2 (ja)
JP2000041251A (ja) 動きベクトル検出装置
JP2836066B2 (ja) 演算のための集積回路及びその方法
JPH0683704A (ja) キャッシュメモリの制御回路
Lee et al. VLSI implementation of an M-array image filter based on shift register array

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 99815072.X

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CN IN JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 2000 585768

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1999973137

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09856775

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1999973137

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1999973137

Country of ref document: EP