(57)【特許請求の範囲】
【請求項１】
データの格納された複数のメモリ素子よりなるメモリユニットから並列データを出力するメモリアクセス装置であって、
アドレスを発生するアドレス発生手段と、
上記アドレス発生手段から供給されるアドレスを上記メモリ素子数で除した上位ビットからなる第１のアドレスデータと、該アドレス発生手段から供給されるアドレスを該メモリ素子数で除した剰余の下位ビットからなる第２のアドレスデータに分割する分割アドレス制御手段と、
上記分割アドレス制御手段からの上記第２のアドレスデータで制御され、第１のアドレスデータに１または零または−１を加算して、上記複数のメモリユニットに上記第１のアドレスデータを更新した第３のアドレスデータを供給するアドレス更新手段と、
上記第３のアドレスデータにより更新されて、上記アドレスの順序に並べられていない上記複数のメモリユニットに格納された上記データが供給される複数のレジスタと、
上記第２のアドレスデータが入力され、上記アドレスの順序に並べられていない上記データに対応する切換制御データを出力するデコーダと、
上記デコーダの上記切換制御データに基づいて複数の重み係数の１つを選択して出力する重み係数の格納された複数の重み係数レジスタと、
上記複数のレジスタからの上記アドレスの順序に並べられていない上記複数のメモリユニットに格納されたデータと、上記複数の重み係数レジスタから供給される重み係数を乗算する複数の乗算手段と、
上記複数の乗算手段からの乗算出力を加算する総和手段と、
を具備することを特徴とするメモリアクセス装置。
【請求項２】
前記アドレス更新手段から前記第３のアドレスデータが供給される前記複数のメモリユニットに対して、予め定められた有効領域を基に複数の領域判定信号を供給して該複数のメモリユニットを動作させる領域判定手段を付加したことを特徴とする請求項１記載のメモリアクセス装置。
【請求項３】
前記分割アドレス制御手段は、データの格納されたＮ個のメモリ素子Ｍｉ〔ｉ＝０〜Ｎ−１〕よりなる前記複数のメモリユニットに対し、前記アドレス発生手段から供給する前記アドレスＸを該メモリ素子数のＮで除算して、商Ｘｑとなる前記第１のアドレスデータと、剰余Ｘｒとなる前記第２のアドレスデータを生成し、
前記アドレス更新手段は、上記剰余Ｘｒとなる前記第２のアドレスデータによって制御され、上記商Ｘｑとなる前記第１のアドレスデータに適宜１または零または−１を加算して上記商Ｘｑとなる前記第１のアドレスデータを更新したＮ個のアドレスＸｑｉとなる前記第３のアドレスデータを生成し、
前記領域判定手段は、予め定められた有効領域Ｂの上限値Ｘｍａｘ、下限値Ｘｍｉｎをもとに、任意に与えられたアドレスＸに対し、Ｎ個の領域判定信号Ｅｉ（ｉ＝０〜Ｎ−１）を生成し、
前記複数のメモリユニットには上記Ｎ個のアドレスＸｑｉとなる第３のアドレスデータおよび上記Ｎ個の領域判定信号Ｅｉを供給し、該複数のメモリユニットから上記アドレスＸの順序に並べられていないデータＤｉ′を生成し、
前記複数のレジスタは、上記複数のメモリユニットからの上記アドレスＸの順序に並べられていないデータＤｉ′を一時保持し、
前記デコーダには、上記剰余Ｘｒとなる第２のアドレスデータが供給され、該剰余Ｘｒとなる第２のアドレスデータの値に応じた切換制御データを生成し、
前記複数の重み係数レジスタは、Ｎ個の重み係数Ｗｊを有し、
前記複数の乗算手段は上記複数のレジスタから供給された上記データＤｉ′に、上記複数の重み係数レジスタからの重み係数Ｗｊを乗算し、
前記総和手段は上記複数の乗算手段からの総和を算出する様に成したことを特徴とする請求項２記載のメモリアクセス装置。
【請求項４】
前記処理手段は前記複数のメモリユニット内の上記データＤｉ′を上記メモリアドレスＸの小さい値側に剰余Ｘｒ個だけロ−テーションさせデータ交換した前記データＤｉを生成したことを特徴とする請求項３記載のメモリアクセス装置。
【請求項５】
前記分割アドレス制御手段、前記アドレス更新手段、前記領域判定手段、前記処理手段並びに前記メモリユニットをＫ組用いてＫ次元のアドレス空間における任意のアドレス近傍の複数のデータを並列にアクセスしてなることを特徴とする請求項２記載のメモリアクセス装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は複数のメモリを並列に配置して同時に読出す様にした特に画像処理分野で用いるメモリアクセス装置の改良に関する。
【０００２】
【従来の技術】
従来からメモリアクセス装置として、比較的読み出し速度の遅いＤＲＡＭ等のメモリを高速に処理する手法としては図２４に示す様なメモリを並列に配置して同時に読み出すメモリアクセス装置が知られている。これらはＫ次元に配列されたメモリに適用可能であるが説明を簡略化のために以下１次元の構成で説明する。
【０００３】
図２４で入力端子Ｔ１  にはアドレスＸが入力され、このアドレスＸは演算回路１に供給される。この演算回路１はアドレスＸを上位ビット及び下位ビットに分割する。即ち、例えば上位アドレス演算部１ａでは上位ビットに分割して出力し、この上位ビットは並列配列したメモリ素子（図ではＮ＝４の例である）２ａ〜２ｄのアドレスＸとして供給される。この上位ビットは（メモリ素子数Ｎ＝４で外部アドレスＸを割った商）Ｘｑであり、データ幅Ｗ＝４の場合はアドレスＸから下位２ビットを欠いたものと成る。
【０００４】
又、下位アドレス演算部１ｂからは下位ビットのアドレスデータが分割出力され選択回路３に供給される。この選択回路３には入力端子Ｔ２  によりデータ幅Ｗ（ここではＷ＝１〜４）を与えることで下位２ビット（Ｎ＝４の剰余）Ｘｒとデータ幅Ｗによって選択データＥｉ（ｉ＝Ｅ０  〜Ｅ３）が複数のメモリ素子２ａ〜２ｄに供給され、第Ｘｒ番目以後のＷ個のメモリ素子を「オン」することによりＷ個のデータＤ０  〜Ｄ３  を並列的にアクセスすることになる。
【０００５】
上述の並列的メモリアクセス装置の選択回路３の動作を図２５に依って説明する。図２５でＷ（１〜４）はデータ幅、Ｘrはメモリ数Ｎで外部アドレスＸを割った商ＸQの剰余、Ｅ0〜Ｅ3は選択回路３からの選択信号である。
【０００６】
データ幅Ｗ＝１の時は選択信号Ｅ０  〜Ｅ３  のうちの１つが剰余Ｘｒ０〜３によって選択される。データ幅Ｗ＝２の時は選択信号Ｅ０  〜Ｅ３  のうち剰余Ｘｒ０〜３によって２つが並列的にアクセスされる。ここでＷ＝２，Ｘｒ＝３は禁止されることになる。以下同様にデータ幅Ｗ＝３の時は選択信号Ｅ０  〜Ｅ３  のうち剰余Ｘｒ０〜３によって３つが並列的にアクセスされ、Ｗ＝３，Ｘｒ＝２及びＸｒ＝３が禁止される。データ幅Ｗ＝４の時は選択信号Ｅ０  −Ｅ３  のうち剰余Ｘｒ０〜３によって４つが並列的にアクセスされ、Ｗ＝３，Ｘｒ＝１，Ｘｒ＝２，Ｘｒ＝３が禁止される。
【０００７】
即ち、図２５では４個のメモリ素子２ａ〜２ｄに同一アドレスＸｑが同時に与えられるため、４の倍数の境界を跨ぐ並列アクセスが出来ない、この制限はデータ幅Ｗが増大すると共に厳しくなり、図２５のＷ＝４ではＸｒ＝０以外へはアクセス出来ないことが解る。
【０００８】
【発明が解決しようとする課題】
一般にメモリアクセス装置を画像処理等に用いる場合には以下に述べる各項目が要求される。
（イ）大量のデータを処理するので、出来るだけ多くのデータを並列的にアクセスしたい。
（ロ）画像の最小単位である画素は、通常１バイトで表されるので、１バイト単位でアドレスを指定する必要がある。
（ハ）様々な大きさの画像を取扱うため、画像の境界（上下左右端）を考慮して処理する必要がある。
所が上述の従来のメモリアクセス装置ではメモリ素子２ａ〜２ｄを並列に配設するメモリ数を増加させる程、即ち、データ幅Ｗが大きくなる程、アドレスの制限が大きくなり、（イ）及び（ロ）項を同時に満足することが出来ない問題があった。
【０００９】
更に（ハ）項の要求に従った境界判定をする場合にはアドレスの制限があるため、並列アクセスが行なわれず後述するも図２６示す様に１バイトのアクセス毎に単純な比較を行なうことで画像処理が行なわれていた。更に、本発明に用いる後述するデータ交換回路は回路規模が大きくなるため、より回路規模の小際データ交換回路が要望されていた。
【００１０】
本発明は叙上の問題点を解消したメモリアクセス装置を提供しようとするもので、その目的とするところは並列化した単位でデータを取り出す際に１バイト単位でアドレス指定が出来、且つ大量データを並列的に同時に取り出し得る様にしたものであり、更に上述の（ハ）項を満足させる領域判定手段をも得ようとすると共にデータ交換回路の回路規模を小さくしたメモリアクセス装置を得ようとするものである。
【００１１】
【課題を解決するための手段】
本発明のメモリアクセス装置は、データの格納された複数のメモリ素子よりなるメモリユニットから並列データを出力するメモリアクセス装置であって、アドレスを発生するアドレス発生手段と、アドレス発生手段から供給されるアドレスをメモリ素子数で除した上位ビットからなる第１のアドレスデータと、アドレス発生手段から供給されるアドレスをメモリ素子数で除した剰余の下位ビットからなる第２のアドレスデータに分割する分割アドレス制御手段と、分割アドレス制御手段からの第２のアドレスデータで制御され、第１のアドレスデータに１または零または−１を加算して、複数のメモリユニットに第１のアドレスデータを更新した第３のアドレスデータを供給するアドレス更新手段と、第３のアドレスデータにより更新されて、アドレスの順序に並べられていない複数のメモリユニットに格納された上記データが供給される複数のレジスタと、第２のアドレスデータが入力され、上記アドレスの順序に並べられていない上記データに対応する切換制御データを出力するデコーダと、デコーダの切換制御データに基づいて複数の重み係数の１つを選択して出力する重み係数の格納された複数の重み係数レジスタと、複数のレジスタからのアドレスの順序に並べられていない複数のメモリユニットに格納されたデータと、複数の重み係数レジスタから供給される重み係数を乗算する複数の乗算手段と、複数の乗算手段からの乗算出力を加算する総和手段と、を具備する様に成したことを特徴とするメモリアクセス装置としたものである。
【００１２】
本発明のメモリアクセス装置は、アドレス更新手段から第３のアドレスデータが供給される複数のメモリユニットに対して、予め定められた有効領域を基に複数の領域判定信号を供給してメモリユニットを動作させる領域判定手段を付加したものである。
【００１３】
【作用】
上述せる本発明両面ディスクによれば、Ｎ個のメモリに対し、外部アドレスＸをメモリ数Ｎで除算した商Ｘｑと剰余Ｘｒを発生させ、この剰余Ｘｒにより商Ｘｑに対し１，０，又は−１を加算する様にしたので従来の様に外部アドレスＸが必ずしも並列に配設したメモリ数Ｎの倍数でなくても並列的にアクセス可能なものが得られる。又、メモリに記憶された画像データを処理する場合に任意の画素を中心とするＮ個の近傍画素データを同時にアクセス出来て、処理速度の速いものが得られる。又メモリユニット内のデータ交換回路を処理回路内の乗算回路で兼用することができ、この乗算回路の重み係数レジスタの個数はＮに比例するのでメモリユニットの並列数Ｎが大きい時に効果を発揮させる事ができる。
【００１４】
【実施例】
以下、本発明のメモリアクセス装置の一実施例を図面について詳記する。本例のメモリアクセス装置はＮ次元のアドレス空間をなすＫ次元に配列したＮ個のメモリに適用可能であるが簡単のためアドレス空間を１次元のものについて説明を進める。
【００１５】
本例のメモリアクセス装置を図１で詳記するに先だち、図２に依って本例のメモリアクセス回路が適用可能な画像処理装置の全体的システムを説明する。
【００１６】
図２で６は本例のメモリ回路であり、予めメモリ素子内に画像データが記憶されているものとする。このメモリ回路６へアドレス発生回路７から外部アドレスＸが供給され、メモリの処理部位を指定する。メモリ回路６は処理部位のアドレスＸ近傍の画素データＤｉ（ｉ＝０〜Ｎ−１）を処理回路８に供給する。処理回路８は画素データＤｉを処理し、その処理結果Ｓを出力装置９に出力する。
【００１７】
上述のメモリ回路１の一実施例を図１に示す。図１では領域判定を行なうための領域判定回路１８は後述するもＥｉ（ｉ＝０〜Ｎ−１）を出力し、複数メモリ素子２ａ〜２ｎに供給される。アドレス発生回路７で発生した外部アドレスＸは入力端子Ｔ１  に供給され分割アドレス制御手段を構成する演算回路１に供給される。この演算回路１は除算器でありメモリ素子２ａ〜２ｎの数Ｎ即ち並列数ＮでアドレスＸを割った商Ｘｑとその剰余Ｘｒを出力する上位アドレス演算部１ａと下位アドレス演算部１ｂより成り、商ＸｑはアドレスＸの上位ビットを剰余ＸｒはアドレスＸの下位ビットを表す。
【００１８】
剰余ＸｒはＮ個のアドレス変換回路４ａ〜４ｎに供給されると共にデータ変換回路５にも供給される。商ＸｑもＮ個のアドレス変換回路４ａ〜４ｎに供給される。
【００１９】
アドレス変換回路４ａ〜４ｎは剰余Ｘｒによって制御される一種の加算器であり、剰余Ｘｒの値により１又は０又は−１を商Ｘｑに加算することで異なった変換を受け、アドレスが更新された更新アドレスＸｑｉ（ｉ＝０〜Ｎ−１）を出力し、各メモリ２ａ〜２ｎにアドレスとして供給される。
【００２０】
複数の各メモリ２ａ〜２ｎに供給される領域判定回路１８からの判定信号Ｅｉ（ｉ＝０〜Ｎ−１）が「オン」であればメモリ素子２ａ〜２ｎが動作し、データ変換回路５にデータＤｉ′（ｉ＝０〜Ｎ−１）を出力する。
【００２１】
データ変換回路５は外部アドレスＸの剰余Ｘｒによって制御され、メモリ素子２ａ〜２ｎからの入力データＤｉ′をアドレス順に並べ換えてデータＤｉ（ｉ＝０〜Ｎ−１）として図２に示す処理回路８に出力する様に成されている。
【００２２】
上述の図１に示したメモリ回路の動作を図３乃至図９によって説明する。
【００２３】
図３は外部アドレスＸのデータが４つのメモリ素子２ａ〜２ｄ（Ｍ０，Ｍ１，Ｍ２，Ｍ３）のどの位置に記憶されているかを示すアドレスマップを示すものでＸｑはＸ／４の商を示している。依って、図３で例えば、破線の丸印で示す様にアドレスＸ＝４の位置に置くデータはメモリ素子Ｍ０  の第１のアドレスにありＸ＝１１の位置に置くデータはメモリ素子Ｍ３  の第２のアドレスにあることに成る。
【００２４】
外部アドレスＸは図１で説明した様に商Ｘｑと剰余Ｘｒに分割されるが、このうちの剰余Ｘｒはメモリ素子の番号に一致し、商Ｘｑは各メモリ素子内のアドレスに一致している。即ち、Ｘ＝１１のとき、Ｘｑ＝２，Ｘｒ＝３であるが、これはメモリ素子Ｍ３  の第２のアドレスを意味することが図３から明らかである。
【００２５】
表現を変えて、各メモリ素子に外部アドレスＸが与えられたとき、選択されるメモリ素子Ｍ０  〜Ｍ３  とそのアドレスＸｑとの関係を図４に示す。図４で丸印で示す様にＸ＝４のとき、メモリ素子Ｍ０  の第１のアドレス“１”が選択され、Ｘ＝１１のとき、メモリ素子Ｍ３  の第２のアドレス“２”が選択されていることが解る。
【００２６】
本発明の第１の目的は、この様なＮ個のメモリ素子（ここではＮ＝４）のデータを並列的にアクセスすることである。今、図４で外部アドレスＸ＝４を与えたとき、同時に並列的にアクセス可能なＸ＝４，５，６，７のデータを選ぶにはメモリ素子Ｍ０，Ｍ１，Ｍ２，Ｍ３  のすべてに商Ｘｑ＝１としてのアドレスを与えてやればよいことが図から読みとれる。
【００２７】
所が図４の丸印で示すＸ＝１１の例ではメモリ素子Ｍ３ にアドレスＸｑ＝２を与え、メモリ素子Ｍ０,Ｍ１,Ｍ２に対しては（Ｘｑ＋１）＝３をアドレスとして与えている。
【００２８】
従来の図２４に示す並列メモリアクセス装置ではメモリ素子Ｍ０  〜Ｍ３  に同一のアドレスＸｑが供給されているため、Ｘ＝１１の様な境界１０に跨がる様な並列アクセスは図２５に示す様に禁止されていた。
【００２９】
そこで本例のアドレス変換回路４ａ〜４ｎは図４の例ではメモリ素子Ｍ０，Ｍ１，Ｍ２  に対しメモリ素子のアドレス２を（Ｘｑ＋１）＝３と加算することでメモリを更新することで従来禁止されていた並列アクセスを可能にすることが出来る。
【００３０】
図５は外部アドレスＸが与えられたとき、商Ｘｑに対して各アドレス変換回路４ａ〜４ｄ（Ｔ0,Ｔ1,Ｔ2,Ｔ3)が加算する値を剰余Ｘｒの値にしたがって整理したものである。このマップから解る様に，外部アドレスＸ＝１１のとき、メモリ数Ｎ＝４で外部アドレスＸ＝１１を除した商は２で、剰余Ｘｒ＝３はであり、これはメモリ素子Ｍ3であるからアドレス変換回路４ａ〜４ｄ（Ｔ0,Ｔ1,Ｔ2,Ｔ3)のうちＴ0,Ｔ1,Ｔ2 がアドレスに１を加算し（Ｘｑ＋１）に変換しなければならないことが図から読み取れる。
【００３１】
図６は図５に示すＮ＝４のケースをＮ個並列にした場合まで拡張したものである。このマップからアドレス変換回路４ａ〜４ｎ（Ｔｉ＝ｉ＝０〜Ｎ−１）は剰余Ｘｒ＞ｉのときメモリ素子のアドレスを（Ｘｑ＋１）に変換すればよいことになる。
【００３２】
上述の実施例ではアドレス変換回路４ａ〜４ｂのアドレス更新手段は外部アドレスＸが与えられたとき、外部アドレスＸ以降のＮ個のデータを並列的にアクセスする場合を説明したが、例えば画像処理装置等においてはアドレスＸを中心とする前後Ｎ個のデータに処理を施す必要がある。この様な処理を行なうためには本来のアドレスＸから（Ｎ−１）／２を引いた値をＸとして与えてやればよいが、叙上のアドレス変換回路４ａ〜４ｂを工夫することでも、これを実現することが出来る。以下、これを説明する。
【００３３】
図７は、メモリ数Ｎ＝５の場合で外部アドレスＸを中心とする５つのデータを並列的にアクセスするときのもので図４と同様に外部アドレスＸに対するメモリ素子とそのマップであり、同図において丸印で示す様にＸ＝２が与えられ、メモリＭ0,Ｍ1,Ｍ2,Ｍ3,Ｍ4を同時にアクセスする場合を考えると、Ｘｑをすべてのメモリ素子Ｍ0 〜Ｍ4 に供給し、同様に丸印で示すＸ＝９でメモリＭ2,Ｍ3,Ｍ4,Ｍ0,Ｍ1を同時にアクセスする場合はメモリ素子Ｍ2,Ｍ3,Ｍ4 にＸｑを与え、メモリ素子Ｍ0,Ｍ1 に（Ｘｑ＋１）を供給する。一方丸印で示すＸ＝１５でメモリＭ3,Ｍ4,Ｍ0,Ｍ1,Ｍ2を同時にアクセスする場合はメモリ素子Ｍ0,Ｍ1,Ｍ2,に対しＸｑを与え、メモリ素子Ｍ3,Ｍ4 では（Ｘｑ−１）を供給する必要がある。
【００３４】
これらを図５と同様の様式にまとめると図８の如く成る。
【００３５】
更に図６に示したと同様の図９の様に（Ｘ−ｎ）から（Ｘ−ｎ＋Ｎ−１）までのＮ個のデータを並列にアクセスするには、Ｘｒ＜（ｉ−ｎ）のとき（Ｘｑ−１），Ｘｒ＞（ｉ＋ｎ）のとき（Ｘｑ＋１）に変換するよう、各アドレス変換回路Ｔｉを設計すればよい。
【００３６】
次に図１に示したデータ変換回路５の動作を説明する。一般の画像処理では処理方法はアドレスＸとの相対位置によって決められることが多く、例えばアドレスＸの処理はＰ０  、アドレス（Ｘ＋１）の処理はＰ１  ‥‥‥等と成っている。従って複数のデータを並列に処理回路へ送るには、アドレス順に配列する必要がある。ここで、上述した図４の例において、Ｘ＝１１の場合を見ると、Ｘ＝１１，１２，１３，１４に相当するデータは、それぞれメモリ素子Ｍ３，Ｍ０，Ｍ１，Ｍ２  に対してアクセスされる。これを、メモリ素子の配置順に整理すると、図１０のメモリ素子出力Ｄｉ′の様に１２，１３，１４，１１のようになり、これを図１０のデータ変換回路出力Ｄｉの様に１１，１２，１３，１４と並び変える必要がある。
【００３７】
図１１はＮ＝４の場合にアドレスの剰余Ｘｒによってメモリ素子２ａ〜２ｄの出力データＤｉ′の配置がどの様に変化するかを表したものである。図１０の例は図１１のＸｒ＝３の場合に相当することが解る。
【００３８】
図１１の場合、各メモリ素子のデータを、アドレスの小さいほうへＸｒ個だけローテーションを施す様にデータ変換回路を設計することにより、データ変換回路出力Ｄｉのごとくデータを整列させることができる。
【００３９】
更に、一般のＮ並列の場合において、（Ｘ−ｎ）から（Ｘ−ｎ＋Ｎ−１）までのＮ個のデータをアクセスするように拡張したのが図１２である。このとき、各メモリ素子のデータを、アドレスの小さいほうへ、（Ｘｒ−ｎ）個だけローテーションを施す（但し、（Ｘｒ−ｎ）＜０のときは反対方向へ）ようにデータ交換回路５を設計すればよい。
【００４０】
上述の図１に示す構成ではメモリ回路６内にデータ交換回路５を設けた場合を説明したが図２に示す処理回路８にこの機能を持たせることによってメモリ回路６内のデータ変換回路を省略させることも出来る。
【００４１】
この様な処理回路８の例として画像処理に多用される積和演算回路を図１３で説明する。
【００４２】
図１３に於いて、図１のメモリ２ａ〜２ｎからのアドレスの順序に並べられていないデータＤｉ′（ｉ＝０〜３）はデータ変換回路５を介さずに直接レジスタ１１に供給される。このレジスタ１１に保持されたアドレスの順序に並べられていないメモリからの出力データＤｉ′は複数の乗算回路１２ａ，１２ｂ，１２ｃ，１２ｄに供給される。
【００４３】
一方、これら乗算回路１２ａ〜１２ｄにはメモリ２ａ〜２ｎから来たアドレスＸ，Ｘ＋１，Ｘ＋２，Ｘ＋３におけるデータＤｉ′に重み係数Ｗ0,Ｗ1,Ｗ2,Ｗ3 を掛け、それらの総和を算出するために、重み係数用レジスタ１３から重み係数Ｗｊ（ｊ＝０〜３）が供給される。
【００４４】
重み係数レジスタ１３内には４つのレジスタＵ１０，Ｕ１１，Ｕ１２, Ｕ１３を有する。重み係数Ｗ０，Ｗ１，Ｗ２，Ｗ３・Ｗ３，Ｗ０，Ｗ１，Ｗ２・Ｗ２，Ｗ３，Ｗ０，Ｗ１，・Ｗ１，Ｗ２，Ｗ３，Ｗ０が格納された４個のレジスタ１３にはデコーダ１４からの切換え用の制御信号が供給され、４つのレジスタのうちの一つを選択する。
【００４５】
デコーダ１４には図１に示した演算回路１からの剰余Ｘｒが供給されているので、この剰余Ｘｒによって重み係数が制御され、デコーダ１４ではＸｒ＝０の時レジスタＵ１０を、Ｘｒ＝１の時レジスタＵ１１を、Ｘｒ＝２の時レジスタＵ１２をＸｒ＝３の時レジスタＵ１３が選択される様にデコードされて乗算回路１２ａ〜１２ｄに送出される。重み係数Ｗｊの配列は図１４に示す様に成される。
【００４６】
乗算回路１２ａ〜１２ｄで夫々のデータＤｉに重み係数Ｗ０  〜Ｗ３  が乗算された乗算出力Ｐｉ（ｉ＝０〜３）は総和回路１５に供給されて加算され、最終結果データＳが図２に示した出力装置９に供給されることになる。
【００４７】
ところで、図１４に示したデコード表は図１１がＮ＝４の場合のデータ配列であることを思い出してみると、ＸとＷ０  、Ｘ＋１とＷ１  、Ｘ＋２とＷ２  、Ｘ＋３とＷ３  が、正に対応していることがわかる。即ちデータ交換回路５と同じ効果が得られるわけであり、このデータ変換回路５を省略できることが解る。
ここで、データ交換回路５と、重み係数レジスタ１３のＵ１０〜Ｕ１３の回路規模について考えてみると、データ交換回路５の回路規模は、並列数Ｎの２乗に比例するのに対し、重み係数レジスタ１３の個数はＮに比例する。従って、図１３の構成は、並列数Ｎが大きい時に効果を発揮することになる。
【００４８】
上述の図１で示した構成はメモリを１次元配列したメモリアクセス装置であるが複数次元に拡張可能である。図１５ではこれを２次元まで拡張した構成を示す。
【００４９】
図１５で２ａ〜２ｐはメモリユニットであり、１及び１′は列及び行の分割アドレス制御回路である。この分割アドレス制御回路１及び１′内の上位アドレス演算及び下位アドレス演算部１ａ及び１ａ′並に１ｂ及び１ｂ′は別の定義を施せば、元のアクセスすべき外部アドレスをＸとし、並列に配置されるメモリユニット２ａ〜２ｐの数をＮとすればＸ／Ｎ＝Ｘｑ即ち除算を施した商Ｘｑが上位アドレス演算部１ａに対応し、余りＸｒが下位アドレス演算部１ｂとなる。依ってＸ＝Ｘｑ＋Ｘｒと表すことが出来、分割アドレス制御回路１，１′は除算器の演算回路で構成可能となる。
【００５０】
この演算部１，１′からの商Ｘｑと剰余ＸｒはＰＬＤ（プログラマブル論理デバイス）等で構成されたアドレス更新回路４ａ，４ｂ，４ｃ，４ｄ，４ａ′，４ｂ′，４ｃ′，４ｄ′に供給される。
【００５１】
列及び行のアドレス更新回路４ａ〜４ｄ及び４ａ′〜４ｄ′は元の外部アドレスＸをメモリユニットの数で除算した商Ｘｑの値（アドレスの上位ビット）に対し、その余りＸｒ（アドレスの下位ビット）で制御が成され、オフセットに対応する様な制御を行なう。
【００５２】
即ち、格子状配列させたメモリユニット２ａ〜２ｐの第１及び第２列（行）に対しては商Ｘｑをそのまま通過させるか商Ｘｑの値に１を加算するかの０／＋１の選択が剰余値Ｘｒで行なわれる。又第３列（行）に対しては商Ｘｑはそのまま通過させる０／０の選択が剰余値Ｘｒで行なわれる。同様に第４列（行）に対しては商Ｘｑから１を減算するか、そのまま通過させるかの−１／０の選択が剰余値Ｘｒで行なわれて、図２に示す様にメモリユニット２から所定のデータが読み出されて処理回路８に供給されることになる。
【００５３】
上述の図１５の構成では２次元構成のメモリユニット２ａ〜２ｐについて説明したが３次元構成の立方体状に構成させたものについて考える場合はＸ及びＹ軸方向と同様にＺ軸方向の分割アドレス制御回路１と同じくＺ軸方向のアドレス更新回路４ａ″，４ｂ″４ｃ″，４ｄ″を設ければよい。
【００５４】
次に図１で説明した領域判定回路を説明する。本例のメモリアクセス回路が利用される画像処理に於いては画像データは例えば図１６に示す様にアドレス空間Ａ（Ａ／Ｂ）の中の有効区間Ｂ（Ｘｍｉｎ，  Ｘｍａｘ）  上に置かれ、有効区間Ｂ以外のデータ１６のアドレスＸｍｉｎ〜Ｘｍａｘで区切られる境界によって分割されたデータ１６の斜線部分のデータ１７は保証されないことが多い。この為にあるアドレスＸにおけるデータの処理について、Ｘ近傍の複数データを利用する画像処理においては、以下のいずれかの方法をとる必要がある。
（ａ）処理する近傍データ数は変えず、近傍データがすべて有効区間Ｂに含まれる様に、処理する画像の範囲を、有効区間Ｂの境界より少し内側に制限する。
（ｂ）処理する画像の範囲は変えず、有効区間Ｂの全区間に対して処理するが、処理データが有効区間Ｂからはみ出さない様に、境界付近の近傍データ数を小さくしていく。
（ｃ）近傍データのうち、有効区間Ｂに属さないものについては、予め定めた背景値に置き換えたうえで、通常の処理を施す。
【００５５】
しかし、上記（ａ）の方法では、処理後の画像が小さくなるという問題がある。また、（ｂ）の方法では、例外処理が複雑と成り、高速化や回路規模の点で不利である。
【００５６】
一方、（ｃ）の方法を採れば、例えば白紙に枠どりなしで画像を印刷する場合は背景色を白に指定するなど、用途に応じた背景値を用いれば、画像全体に同一処理を施すことができる。
【００５７】
さらに、上記（ａ）および（ｂ）においては、有効区間Ｂ以外のアドレス指定が禁止されるのに対し、（ｃ）では許されているため、より自由なアドレス指定が可能であり、特に画像の幾何学変換等に有効である。
【００５８】
この様な領域判定回路１８の従来の構成を図２６に示す。同図で１９及び２０は、夫々有効領域Ｂの最大値Ｘｍａｘ、最小値Ｘｍｉｎを保持しているレジスタであり、この最大値、Ｘｍａｘ及び最小値Ｘｍｉｎが比較回路２１及び２２に供給されると共に指定アドレスＸもこれら比較回路２１及び２２に供給されて、その値の大小の比較が成される。この比較回路は例えばＴＴＬの７４ＬＳ６８２等の代表されるものである。
【００５９】
比較回路２１は比較出力Ｅｈ（Ｘ＞Ｘｍａｘ）  が出力され、アドレスＸが有効区間Ｂの境界の上限値Ｘｍａｘを越えたことを示し、比較回路２２は比較出力Ｅｌ（Ｘ＜Ｘｍｉｎ）  を出力し、アドレスＸが有効区間Ｂの境界の下限値Ｘｍｉｎを越えたことを示す。これら両出力Ｅｈ及びＥｌはオアゲート回路２３で論理和され領域判定信号Ｅｉが出力されて出力端子Ｔ２  を介して各メモリへ供給される。
【００６０】
同図において明らかな様に、従来技術では、与えられた１つのアドレスＸにつき、１つの判定信号Ｅｉが得られていた。しかし、本例では１つのアドレスＸから、Ｎ個のデータをアクセスするためＮ個の判定信号を生成する必要がある。この様な領域判定回路１８の構成を図１７で説明する。
【００６１】
本発明に用いられる領域判定回路１８は、予め定められた有効領域Ｂの上限値Ｘｍａｘ、下限値Ｘｍｉｎをもとに、任意に与えられたアドレスＸに対し、Ｎ個の領域判定信号Ｅｉ（ｉ＝０〜Ｎ−１）を生成して、図１における各メモリ素子２ａ〜２ｎに供給するものである。
【００６２】
図１７で、レジスタ２４及び２５は有効領域Ｂの最大値Ｘｍａｘ、最小値Ｘｍｉｎによって決まる、上限基準値ＸＨ、下限基準値ＸＬを保持してこれら基準値ＸＨ及びＸＬを減算回路２６及び２７に供給する。
【００６３】
減算回路２６及び２７には指定アドレスＸが与えられ、減算回路２６では基準値ＸＨからＸを引いた差出力Ｘｈを出力し、この差出力Ｘｈは除算回路２９に供給される。除算回路２９ではメモリの並列数Ｎで割った商Ｘｈｑと剰余Ｘｈｒに分割されてエンコーダ３１に供給される。エンコーダ３１は商Ｘｈｑと剰余ＸｈｒからＮ個の上限判定信号Ｅｈｊ（ｊ＝０〜Ｎ−１）を生成する。
【００６４】
同様に減算回路２７は基準ＸＬからＸを引いた差出力Ｘｌを出力し、この差出力Ｘｌは除算回路３０に供給される。除算回路３０ではメモリの数Ｎで割った商Ｘｌｑと剰余Ｘｌｒに分割され、エンコーダ３２に供給される。エンコーダ３２は商Ｘｌｑ及び剰余ＸｌｒからＮ個の下限判定信号Ｅｌｊ（ｊ＝０〜Ｎ−１）を生成する。
【００６５】
上述のエンコーダ３１及び３２から得られた上限判定信号Ｅｈｊ及び下限反転信号Ｅｌｊはオアゲート回路３３によって各ｉにつき論理和され、判定信号Ｅｊ′（ｊ＝０〜Ｎ−１）として交換回路３４に送出される。
【００６６】
一方、除算回路２８はアドレスＸをＮで割って剰余Ｘｒを出力して交換回路３４に供給する。交換回路３４は剰余Ｘｒの制御によって判定信号Ｅｊ′の順序を交換して判定信号Ｅｉ（ｉ＝０〜Ｎ−１）を出力して各メモリ２ａ〜２ｎに供給する。
【００６７】
以下、図１８及び図１９によってエンコーダ３１の動作原理を説明する。簡単のため並列数＝４において、アドレスＸが与えられた時に（図３〜図５で示した場合に相当）アドレスＸからＸ−３までを考えることにする。
【００６８】
図１８は、アドレスＸが与えられたとき、Ｘ〜Ｘ＋３のデータと、画像領域の上限Ｘｍａｘとの位置関係を表す図である。図で、＊印は、有意の画像データを表し、≫は、そのデータが、Ｘｍａｘの位置に存在することを示す。
ＸとＸｍａｘの関係は、下記の３つの場合に分類できる。
【００６９】
（ｄ）Ｘｍａｘが、Ｘ〜Ｘ＋３のどれよりも大きい場合
Ｘ〜Ｘ＋３のすべてが領域内である。（図１８（１））
（ｅ）Ｘｍａｘが、Ｘ〜Ｘ＋３のどれかと一致する場合
Ｘ〜Ｘ＋３の一部が領域外である。（図１８（２）〜（５））
（ｆ）ＸｍａｘがＸ〜Ｘ＋３のどれよりも小さい場合
Ｘ〜Ｘ＋３のすべてが領域外である。（図１８（６））
【００７０】
ここで、（Ｘｍａｘ−Ｘ）をＸｈで表すと、次のように言い換えられる。
（ｄ′）Ｘｈ＞３のとき、Ｘ〜Ｘ＋３のすべてが領域内である。
（ｅ′）０≦Ｘｈ≦３のとき、Ｘ〜Ｘ＋３の一部が領域外である。
（ｆ′）Ｘｈ＜０のとき、Ｘ〜Ｘ＋３のすべてが領域外である。
【００７１】
さらに、Ｘｈを並列数Ｎ＝４で割った商をＸｈｑ、剰余をＸｈｒとすると、次のようになる。
（ｄ″）Ｘｈｑ＞０のとき、すべてが領域内である。
（ｅ″）Ｘｈｑ＝０のとき、一部が領域外である。
（ｆ″）Ｘｈｑ＜０のとき、すべてが領域外である。
【００７２】
上記（ｄ″）、（ｅ″）、（ｆ″）の結果と、図１８から明らかな様に、図１７のエンコーダ３１は下記のように動作する。即ち、
【００７３】
・Ｘｈｑ＞０のとき、Ｅｈｊ（ｊ＝０〜Ｎ−１）は、すべてオフ、
・Ｘｈｑ＜０のとき、Ｅｈｊは、すべてオン、
・Ｘｈｑ＝０のとき、Ｅｈｊのうち、ｊ≦Ｘｈｒのものをオフ、他はオン。
【００７４】
さらに、一般のＮ並列の場合も同様であり、エンコーダ３１は、図１９のように動作することになる。
次に、図２０〜図２１により、エンコーダ３２の動作原理について説明する。図２０は、アドレスＸが与えられたとき、Ｘ〜Ｘ＋３のデータと、画像領域の上限Ｘｍｉｎとの位置関係を表す図である。図で＊印は有意の画像データを、≪印は、そのデータが、Ｘｍｉｎの位置に存在することを示す。図１８の場合と同様、ＸとＸｍｉｎの関係は、下記の３つの場合に分類できる。
【００７５】
（ｇ）Ｘｍｉｎが、Ｘ〜Ｘ＋３のどれよりも小さい場合
Ｘ〜Ｘ＋３のすべてが領域内である。（図２０（１））
（ｈ）Ｘｍｉｎが、Ｘ〜Ｘ＋３のどれかと一致する場合
Ｘ〜Ｘ＋３の一部が領域外である。（図２０（２）〜（５））
（ｉ）Ｘｍｉｎが、Ｘ〜Ｘ＋３のどれよりも大きい場合
Ｘ〜Ｘ＋３のすべてが領域外である。（図２０（６））
【００７６】
ここで、（Ｘｍｉｎ−Ｘ）をＸｌで表すと、次のように言い換えられる。
（ｇ′）Ｘｌ＜０のとき、Ｘ〜Ｘ＋３のすべてが領域内である。
（ｈ′）０≦Ｘｌ≦３のとき、Ｘ〜Ｘ＋３の一部か領域外である。
（ｉ′）Ｘｌ＞３のとき、Ｘ〜Ｘ＋３のすべてが領域外である。
【００７７】
さらに、Ｘｌを並列数Ｎ＝４で割った商をＸｌｑ、剰余をＸｌｒとすると、次のようになる。
（ｇ″）Ｘｌｑ＜０のとき、すべてが領域内である。
（ｈ″）Ｘｌｑ＝０のとき、一部が領域外である。
（ｉ″）Ｘｌｑ＞０のとき、すべてが領域外である。
【００７８】
上記ｇ″、ｈ″、ｉ″の結果と、図２０から明らかな様に、図１７のエンコーダ３２は下記のように動作する。即ち、
・Ｘｌｑ＜０のとき、Ｅｌｊ（ｊ＝０〜Ｎ−１）は、すべてオフ、
・Ｘｌｑ＜０のとき、Ｅｌｊ（ｊ＝０〜Ｎ−１）は、すべてオン、
・Ｘｌｑ＝０のとき、Ｅｌｊのうち、ｊ≧Ｘｌｒのものをオフ、他はオン。
【００７９】
さらに、一般のＮ並列の場合も同様であり、エンコーダ３２は、図２１のように動作することになる。
【００８０】
以上で、上限Ｘｍａｘに対する判定信号Ｅｈｊ、および下限Ｘｍｉｎに対する判定信号Ｅｌｊが得られた。そこで、図１７のオアゲート回路３３によって、各ＥｈｊとＥｌｊの論理和Ｅｊ′をとれば、有効領域Ｂ〔Ｘｍｉｎ、Ｘｍａｘ〕に対する判定信号となる。
【００８１】
ところで、得られた判定信号Ｅｊ′は、Ｘ〜Ｘ＋Ｎ−１のデータに対応したものであるが、Ｘは任意のアドレスを指定するため、実際のメモリ素子２ａ〜２ｎの配列とは異なっている。しかし、Ｘの剰余Ｘｒは、メモリ素子の配列に対応しているため、交換回路３４によって図２２の規則にしたがって並べ変えることにより、Ｍｉの配列に対応した領域判定信号Ｅｉを得ることができる。
【００８２】
以上の説明で、アドレスＸの近傍として、（Ｘ）〜（Ｘ＋Ｎ−１）のデータがアクセスされるとしたが、アドレスＸの近傍として、一般に（Ｘ−ｎ）〜（Ｘ−ｎ＋Ｎ−１）がアクセスされる場合は、図１７のレジスタ２４及び２５に、ＸＨ＝（Ｘｍａｘ−ｎ）、ＸＬ＝（Ｘｍｉｎ−ｎ）をセットすることで実現できることは明白である。
【００８３】
上述の図１５に示す構成ではメモリ２ａ〜２ｐにデータ線を独立に設けたが行方向に共通のバス構成とし、各メモリの出力イネーブルを時分割制御して、データをバス上で多重化してもよい。
【００８４】
更に図２３に示す様にＤＲＡＭで上記した多重化を施すため列アドレスは３５ａ，３５ｂ‥‥等のマルチプレクサを設けて共通に多重化し、行アドレスについては３６ａ，３６ｂ，３６ｃ，３６ｄ‥‥の様に各メモリにマルチプレクサを設置する様に構成させることも出来る。
【００８５】
【発明の効果】
本発明のメモリアクセス装置を画像処理等に用いることで任意の画素を中心にＮ個の近傍データを同時にアクセス可能で処理速度を大幅に向上させることが可能と成る。即ち、バイト単位で並列データを高速にアクセス可能なメモリアクセス装置が得られる。又メモリユニット内のデータ交換回路を処理回路内の乗算回路で兼用することができ、この乗算回路の重み係数レジスタの個数はＮに比例するのでメモリユニットの並列数Ｎが大きい時に効果を発揮させる事ができる。
【図面の簡単な説明】
【図１】本発明のメモリアクセス装置の一実施例を示す系統図である。
【図２】本発明のメモリアクセス装置が利用される画像処理装置の全体的系統図である。
【図３】本発明のメモリアクセス装置に用いるメモリマップ図である。
【図４】本発明のメモリアクセス装置に用いる外部アドレスに対するメモリ素子とそのアドレスを示すマップ図である。
【図５】本発明のメモリアクセス装置に用いる剰余の値に応じて商に加算するアドレス変換回路の出力マップ図である。
【図６】本発明のメモリアクセス装置に用いる剰余の値に応じて商に加算するアドレス変換回路をＮ並列に拡張したマップ図である。
【図７】本発明のメモリアクセス装置に用いる外部アドレスに対するメモリ素子とそのアドレスを示すマップ図である。
【図８】本発明のメモリアクセス装置に用いる剰余の値に応じて商を加減算するアドレス変換回路のマップ図である。
【図９】本発明のメモリアクセス装置に用いる剰余の値に応じて商に加算するアドレス変換回路の出力をＮ並列に拡張したマップ図である。
【図１０】本発明のメモリアクセス装置に用いるデータ変換回路動作説明図である。
【図１１】本発明のメモリアクセス装置に用いる剰余とメモリ素子のデータの関係を示す図である。
【図１２】本発明のメモリアクセス装置に用いる剰余とメモリ素子のデータの関係をＮ並列まで拡張した関係を示す図である。
【図１３】本発明のメモリアクセス装置に用いる処理回路内のデータ変換方法を示す系統図である。
【図１４】本発明のメモリアクセス装置に用いるデコーダのデコード表を示す図である。
【図１５】本発明のメモリアクセス装置の２次元構成の系統図である。
【図１６】本発明のメモリアクセス装置のアクセス時の境界部分の読み出し説明図である。
【図１７】本発明のメモリアクセス装置に用いる領域判定回路の系統図である。
【図１８】本発明のメモリアクセス装置に用いる領域判定回路でアドレスを与えた時のデータの画像領域の上限を示す図である。
【図１９】本発明のメモリアクセス装置に用いる領域判定回路の図１８をＮ並列に拡張した場合の説明図である。
【図２０】本発明のメモリアクセス装置に用いる領域判定回路でアドレスを与えたときのデータの画像領域の下限を示す図である。
【図２１】本発明のメモリアクセス装置に用いる領域判定回路の図２０をＮ並列に拡張した場合の説明図である。
【図２２】本発明のメモリアクセス装置に用いるレジスタのレジスタ値を一般化した場合の説明図である。
【図２３】本発明のメモリアクセス装置の他の構成を示す系統図である。
【図２４】従来のメモリアクセス装置の系統図である。
【図２５】従来の並列アクセス時の選択データとデータ幅及び剰余との関係を示す図である。
【図２６】従来のメモリアクセス装置に用いる領域判定回路の系統図である。
【符号の説明】
１  演算回路（分割アドレス制御手段）
２  （２ａ〜２ｎ）メモリ
４  （４ａ〜４ｎ）アドレス変換回路
５  データ交換回路
６  メモリ回路
７  アドレス発生回路
８  処理回路
【図１】
0003590973.tif 000002
【図２】
0003590973.tif 000003
【図３】
0003590973.tif 000004
【図４】
0003590973.tif 000005
【図５】
0003590973.tif 000006
【図６】
0003590973.tif 000007
【図７】
0003590973.tif 000008
【図８】
0003590973.tif 000009
【図９】
0003590973.tif 000010
【図１０】
0003590973.tif 000011
【図１１】
0003590973.tif 000012
【図１２】
0003590973.tif 000013
【図１３】
0003590973.tif 000014
【図１４】
0003590973.tif 000015
【図１５】
0003590973.tif 000016
【図１６】
0003590973.tif 000017
【図１７】
0003590973.tif 000018
【図１８】
0003590973.tif 000019
【図１９】
0003590973.tif 000020
【図２０】
0003590973.tif 000021
【図２１】
0003590973.tif 000022
【図２２】
0003590973.tif 000023
【図２３】
0003590973.tif 000024
【図２４】
0003590973.tif 000025
【図２５】
0003590973.tif 000026
【図２６】
0003590973.tif 000027