(57)【特許請求の範囲】
【請求項１】
複数のフィールドを有する記憶領域であって１次元方向に接続されたｗ個（ｗは任意の自然数）の記憶領域と、ｗ個の前記記憶領域の各々に対応するｗ個の領域を有し、前記１次元方向にシフトアップ、シフトダウン可能なヒットフラグレジスタであって前記記憶領域の内容を転送するためのヒットフラグレジスタと、該ヒットフラグレジスタの最上位の内容を外に出し入れする上位シフト入出力と、前記ヒットフラグレジスタの最下位の内容を外に出し入れする下位シフト入出力とを有する、ｑ×ｒ個（ｑ，ｒは２以上の任意の整数）の連想メモリと、
前記連想メモリのうちで、横方向に隣接している前記連想メモリのうちの一方の連想メモリの下位シフト入出力と、前記横方向に隣接している前記連想メモリのうちの他方の連想メモリの上位シフト入出力とを接続するヒットフラグシフト線と、
前記連想メモリおよび前記ヒットフラグシフト線を含む連想メモリアレイ部と接続されている制御部であって、前記連想メモリアレイ部に対して、
ＰＥの割り付けを行い、
アドレスを用いた前記記憶領域へのデータの書き込みおよび読み出しを行い、前記ヒットフラグレジスタのシフトアップ、シフトダウンを実行して、前記割り付けに応じたデータ転送又は演算を行う
ための単一の制御命令ストリームを生成する制御部とを備え、
前記制御部による前記割り付けによって、前記ＰＥは、全体で縦方向ｍ×Ｊ×ｑ個、横方向ｎ×ｒ個に割り付けられ、前記連想メモリのｗ個の前記記憶領域がｍ列、ｎ行（ｗ、ｍ、ｎはｗ＝ｍ×ｎを満たす任意の自然数）に前記１次元方向にｍ個ずつ折り返してｎ行に並べられ、前記ＰＥは、前記連想メモリのｗ個の前記記憶領域のそれぞれにＪ個ずつ割り付けられている
ことを特徴とする２次元ＰＥアレイ装置。
【請求項２】
請求項１に記載の２次元ＰＥアレイ装置において、前記連想メモリに対して、
前記制御部による前記アドレスを用いた前記記憶領域へのデータ書き込みおよび読み出しと前記ヒットフラグレジスタのシフトアップ、シフトダウンとを、同時に実行する
ことを特徴とする２次元ＰＥアレイ装置。
【請求項３】
請求項１に記載の２次元ＰＥアレイ装置の連想メモリ間データ転送方法であって、
ｑ×ｒ個（ｑ，ｒは２以上の任意の整数）の連想メモリ間で、シフトアップ、シフトダウン可能なヒットフラグレジスタの内容を上位シフト入出力と下位シフト入出力とを用いて外に出し入れすることによりデータを転送する第１のデータ転送を行うステップと、
縦方向ｑ列に並べられた前記連想メモリのうちで、奇数列の連想メモリ群から偶数列の連想メモリ群、または偶数列の連想メモリ群から奇数列の連想メモリ群へのデータ転送を同時に行う第２のデータ転送を行うステップと、
横方向ｒ行に並べられた全ての連想メモリに対して、前記第１のデータ転送と前記第２のデータ転送とを、同時に行なうステップと
を備えたことを特徴とする連想メモリ間データ転送方法。
【請求項４】
請求項１に記載の２次元ＰＥアレイ装置の連想メモリ内データ転送方法であって、
前記記憶領域に格納されているデータと検索データとを照合し検索データの一部の照合を無視するマスク検索を行うステップと、
前記マスク検索により指定された第１の前記記憶領域内の特定ビットの内容をシフトアップ、シフトダウン可能な第１ヒットフラグレジスタへ転送するステップと、
転送された第１ヒットフラグレジスタの内容を転送先の第２の前記記憶領域の第２ヒットフラグレジスタへシフトアップ又はシフトダウンするステップと、
第２ヒットフラグレジスタが特定の値をとる第２の前記記憶領域に対して検索データのマスクされていないビットに対応する第２の前記記憶領域のビットに検索データを書き込む並列部分書き込みを用いて、第２の前記記憶領域内の特定ビットへ第２ヒットフラグレジスタの内容を転送するステップと
を備えたことを特徴とする連想メモリ内データ転送方法。
【請求項５】
原画像フィールドと処理画像フィールドとシフト画像フィードとが設けられた記憶領域であって１次元方向に接続されたｗ個（ｗは任意の自然数）の記憶領域と、ｗ個の前記記憶領域の各々に対応するｗ個の領域を有し、前記１次元方向にシフトアップ、シフトダウン可能なヒットフラグレジスタであって前記記憶領域の内容を転送するためのヒットフラグレジスタと、該ヒットフラグレジスタの最上位の内容を外に出し入れする上位シフト入出力と、前記ヒットフラグレジスタの最下位の内容を外に出し入れする下位シフト入出力とを備えたｑ×ｒ個（ｑ，ｒは２以上の任意の整数）の連想メモリと、
前記ｑ×ｒ個の連想メモリのうちで、横方向に隣接している前記連想メモリのうちの一方の連想メモリの下位シフト入出力と、前記横方向に隣接している前記連想メモリのうちの他方の連想メモリの前記シフト入出力とを接続するヒットフラグシフト線と、
前記連想メモリおよび前記ヒットフラグシフト線を含む連想メモリアレイ部と接続されている制御部であって、前記連想メモリアレイ部に対して、
ＰＥの割り付けを行い、
アドレスを用いた前記記憶領域へのデータの書き込みおよび読み出しを行い、前記ヒットフラグレジスタのシフトアップ、シフトダウンを実行して、前記割り付けに応じたデータ転送又は演算を行う
ための、単一の制御命令ストリームを生成する制御部とを備え、
前記制御部による前記割り付けによって、前記ＰＥは、全体で縦方向ｍ×Ｊ×ｑ個、横方向ｎ×ｒ個に割り付けられ、前記連想メモリのｗ個の前記記憶領域がｍ列、ｎ行（ｗ、ｍ、ｎはｗ＝ｍ×ｎを満たす任意の自然数）に前記１次元方向にｍ個ずつ折り返してｎ行に並べられ、前記ＰＥは、前記連想メモリのｗ個の前記記憶領域のそれぞれにＪ個ずつ割り付けられている
ことを特徴とする２次元ＰＥアレイ装置。
【請求項６】
請求項１に記載の２次元ＰＥアレイ装置を用いたモルフォロジー演算処理方法であって、
前記記憶領域内に各々１つずつの原画像フィールド、処理画像フィールド、左右シフト画像フィールドと２つの上下シフト画像フィールドが設けられており、
ｑ×ｒ個（ｑ，ｒは２以上の任意の整数）の連想メモリ間で、シフトアップ、シフトダウン可能なヒットフラグレジスタの内容を上位シフト入出力と下位シフト入出力とを用いて外に出し入れするステップと、
左右方向のＰＥの原画像フィールド又は上下シフト画像フィールドのデータを、左右シフト画像フィールドに順次転送し、演算処理を行い処理画像フィールドに格納する転送演算処理ステップと、
上下方向のＰＥの原画像フィールド又は片方の上下シフト画像フィールドのデータを、他方の上下シフト画像フィールドに転送する画像シフトアップ、ダウン処理ステップと、
前記転送演算処理ステップと画像シフトアップ、ダウン処理ステップとを、上下左右方向のＰＥからの転送演算処理がすべて終了するまで繰り返すステップと
を備えたことを特徴とする２次元ＰＥアレイ装置を用いたモルフォロジー演算処理方法。
【請求項７】
請求項６記載のモルフォロジー演算処理方法において、
原画像の各要素のデータを前記２次元ＰＥアレイ装置の対応するＰＥの原画像フィールドに転送するステップと、
構造要素によって定義される上下左右方向の任意のＰＥからのデータ転送および演算処理を行うステップとをさらに備えたことを特徴とするモルフォロジー演算処理方法。
【請求項８】
請求項６記載のモルフォロジー演算処理方法において、
原画像フィールド又は上下シフト画像フィールドの特定のビットに対するマスク検索と、ｍ回（ｍは前記ｍ列のｍ）のシフトアップあるいはシフトダウン処理と、左右シフト画像フィールドの対応するビットに対する並列部分書き込みとを、データのビット数繰り返すデータ転送処理ステップと、
左右シフト画像フィールドにあるデータが演算処理をするべきＰＥからのデータであるときにのみ、処理画像フィールドおよび左右シフト画像フィールドに対して演算処理を行い、該演算処理の結果を処理画像フィールドに格納する演算処理ステップと、
前記データ転送処理ステップおよび演算処理ステップを、左右方向からの転送演算処理がすべて終了するまで繰り返すステップとを備えたことを特徴とするモルフォロジー演算処理方法。
【請求項９】
請求項６記載のモルフォロジー演算処理方法において、
原画像フィールド又は片方の上下シフト画像フィールドの特定のビットに対するマスク検索と、１回のシフトアップあるいはシフトダウン処理と、他方の上下シフト画像フィールドの対応するビットに対する並列部分書き込みとを、データのビット数繰り返す内部記憶領域転送ステップと、
連想メモリのアドレスを用いた前記記憶領域へのデータの読み書き機能を用いて、奇数又は偶数連想メモリ群の上位又は下位の前記記憶領域群の特定の前記記憶領域の原画像フィールド又は片方の上限シフト画像フィールドの全ビットを、対応する偶数又は奇数連想メモリ群の他方の上下シフト画像フィールドに上位又は下位境界の前記記憶領域を転送するステップと
を備えたことを特徴とするモルフォロジー演算処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理、音響処理、知識処理等に有効な２次元プロセッシングエレメント（Ｐｒｏｃｅｓｓｉｎｇ  Ｅｌｅｍｅｎｔ：ＰＥ）アレイ装置並びにデータ転送方法およびモルフォロジー（ｍｏｒｐｈｏｌｏｇｙ）演算処理方法に関する。
【０００２】
【従来の技術】
ネットワークサービスのビジュアル化、高付加価値化によって、高度な画像処理、音響処理、知識処理の必要性が高まっている。しかし、このような処理は、一般に莫大な処理性能が要求されるので、ノイマンアーキテクチャに基づいた既のマイクロプロセッサ、信号処理プロセッサでは実行困難な場合が多い。
【０００３】
このような処理を有効に行う装置として、２次元ＰＥアレイ装置が知られている。この２次元ＰＥアレイ装置は、種々の論理、算術演算処理を行なう多数のＰＥと、単一命令ストリーム・複数データストリーム方式（ＳＩＭＤ）によって、各ＰＥに対して単一の命令列を与える１つの制御回路とを備える。この２次元ＰＥアレイ装置は、これらの回路と方式とによって各ＰＥが同時に上記演算処理を行なう機構と、２次元方向の隣接ＰＥへのデータ転送機構とを保持する装置である。
【０００４】
また、２次元ＰＥアレイ装置について、種々の処理を効率良く割り付けるセルラーオートマトン、セルラーニューラルネット等の計算理論が知られている。上記セルラーオートマトン、セルラーニューラルネットについては、「Ｃｈｕａ，Ｌ．Ｏ．ｅｔａｌ，“Ｃｅｌｌｕｌａｒ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ：Ｔｈｅｏｒｙ”，ＩＥＥＥ  Ｔｒａｎｓ．ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，Ｖｏｌ．３５，  Ｎｏ．１０  Ｏｃｔ．１９８８」に開示されている。
【０００５】
図２８は、従来の２次元ＰＥアレイ装置ＰＥＡ１１を示す図である。
【０００６】
従来の２次元ＰＥアレイ装置として知られている装置は、マイクロプロセッサか論理、算術演算回路を備えた集積回路で構成されているＰＥ２０２を、図２８に示すように、２次元状にＸ×Ｙ個（Ｘは縦方向、Ｙは横方向のＰＥの数。Ｘ，Ｙは２以上の整数）配置し、それぞれを縦横２次元方向のデータ転送パス２０３で結合した装置である。
【０００７】
しかし、この従来例においては、ＰＥ数が多いと、データ転送パス２０３が多数必要になり、２次元ＰＥアレイ装置全体のハードウェア量が多くなるという問題がある。
【０００８】
また、ＰＥ２０２を２次元に配置した場合、ＰＥの集積度を上げることが一般に困難であり、この点からも、ハードウェア量が多くなるという問題がある。また、ＰＥ２０２の数が多くなるにつれて、データ入出力２０１におけるデータ幅が大きくなり、外部とのデータのやりとりが困難であるという問題がある。
【０００９】
この場合、データ入出力２０１におけるデータ幅を圧縮する機構を追加すれば、外部とのデータのやりとりが容易になる。しかし、上記データ幅圧縮機構を追加すると、ＰＥ２０２の数を変更できるというような拡張性を持たせることが困難であるという問題がある。
【００１０】
図２９は、従来の２次元ＰＥアレイ装置ＰＥＡ１２を示す図である。
【００１１】
従来の２次元ＰＥアレイ装置の別の例として知られている装置は、マイクロプロセッサか論理、算術演算回路を備えた集積回路で構成されているＰＥ２１２を、図２９に示すように、Ｘ×Ｙ個、１次元方向のみに、データ転送パス２１３で接続し、これらＰＥ２１２をＸ個ずつジグザグ状に割り付け、疑似的にＸ×Ｙの２次元ＰＥアレイ装置を実現する装置である。
【００１２】
この装置の場合、２次元方向に隣接するＰＥ２１２へのデータ転送方法として、１次元のデータ転送パス２１３を用い、ＰＥ２１２を橋渡しとして用いながら転送する方法が考えられる。
【００１３】
しかし、この方法においては、図２９における横方向のＰＥ間のデータ転送は、Ｘ個のＰＥを介して行なう必要があるため転送時間が長くなり、その結果、全体の転送時間が莫大になるという問題が生じる。
【００１４】
なお、上記横方向のＰＥ間の転送時間を短くするために、専用のパスを設ける方法が考えられるが、この方法の場合、縦横２次元方向のデータ転送パス２０３を用いた方法と同様に、データ転送パスの本数が増えるので、ハードウェア量が多くなという問題がある。
【００１５】
図３０は、従来の連想メモリＭ１１を示す図である。
【００１６】
図３０において、従来の連想メモリＭ１１は、ワード２２４(1) 〜ワード２２４(w) と、マスクレジスタ２２２と、アドレスデコーダ２２５と、ワード２２４(1) 〜ワード２２４(w) 間の１次元方向のデータ転送路として利用できるヒットフラグレジスタ２２７とで構成されている。この連想メモリＭ１１は、「Ｏｇｕｒａ，Ｔ．ｅｔ  ａｌ．“Ａ  ２０−ｋｂｉｔ  Ａｓｓｏｃｉａｔｉｖｅ  Ｍｅｍｏｒｙ  ＬＳＩ  ｆｏｒ  Ａｒｔｉｆｉｃｉａｌ  ＩｎｔｅｌｌｉｇｅｎｃｅＭａｃｈｉｎｅｓ”，ＩＥＥＥ  Ｊ．Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ  Ｖｏｌ．２４，Ｎｏ．４，ｐｐ．１０１４−１０２０  Ａｕｇ．１９８９」に開示されている。
【００１７】
この連想メモリＭ１１は、通常のメモリのように、アドレス入力２２３にアドレス値を与えることによって、
任意のワード２２４(1) 〜ワード２２４(w) に対してデータを読み書きできる機能を有し、また、マスク検索機能、並列部分書き込み機能をも有し、これらの機能を用いることによって、全ワードに対して、種々の論理、算術演算を同時に実行できる。したがって、この連想メモリを、２次元ＰＥアレイ装置に使用することによって、極めて多数のＰＥを持つ超並列型計算装置として利用できる。
【００１８】
しかし、ワード２２４(1) 〜ワード２２４(w) 間の１次元方向のデータ転送路として利用できるヒットフラグレジスタ２２７は、シフトアップまたはシフトダウンの単一方向のシフトモードしか有さないので、上記従来例において、ワード２２４(1) 〜ワード２２４(w) 間のデータ転送を効率的に行う方向は、特定方向に限定されるという問題がある。また、データの読み書きとシフトとを同時に行なうモードを備えていないので、上記従来例では、データ転送処理等を効率的に行うことができないという問題がある。
【００１９】
したがって、上記連想メモリを用いて２次元ＰＥアレイ装置を構成した場合、データ転送時間が長くなるという問題がある。
【００２０】
【発明が解決しようとする課題】
画像処理アルゴリズムにおいては、画像中の画素をそのまま２次元ＰＥに割り付けて処理を行なうと有効である場合が多い。たとえば２５６画素×２５６画素＝６５．５３６という場合は、多数のＰＥが必要になるので、多くのＰＥを搭載可能な２次元ＰＥアレイ装置が必要になる。この場合、その２次元ＰＥアレイ装置を多数のボードで構成すると、それらの装置コストが莫大になるので、これを避けるために、上記多数のＰＥを持つ２次元ＰＥアレイ装置を、１ボード程度のハードウェア量で実現できることが望まれている。
【００２１】
画像処理等は、実時間処理を求められるものが多い。このため、種々の画像処理において各ＰＥでの演算処理時間と、２次元方向の隣接ＰＥへのデータ転送時間とをできるだけ抑えることによる実時間処理が可能な２次元ＰＥアレイ装置が望まれている。
【００２２】
画像処理、音響処理、知識処理等における並列性は、各処理によって様々であり、したがって、要求される２次元ＰＥアレイ装置のＰＥ構成も種々となる。この点から、ＰＥの構成を任意に変えられる拡張性の高い２次元ＰＥアレイ装置が望まれている。
【００２３】
本発明は、ハードウェア量が少なく、転送時間が短く、拡張性の高い２次元ＰＥアレイ装置、およびデータ転送方法を提供することを第１の目的とする。
【００２４】
モルフォロジー演算処理は、構成される対象画像を集合論的操作により変形する手法を一貫させた理論体系であり、２値画像または濃淡画像に対する特徴抽出、形状記述、形状認識処理において幅広く用いられている。モルフォロジー演算処理方法の詳細は、「Ｐ．ｍａｒａｇｏｓ，“Ｔｕｔｏｒｉａｌ  ｏｎ  ａｄｖａｎｃｅｓ  ｉｎ  ｍｏｒｐｈｏｌｏｇｉｃａｌ  ｉｍａｇｅ  ｐｒｏｓｅｓｓｉｎｇ  ａｎｄ  ａｎａｌｙｓｉｓ”，Ｏｐｔｉｃａｌ  Ｅｎｇｉｎｅｅｒｉｎｇ，Ｖｏｌ．２６  Ｎｏ．７，１９８７」等に開示されている。従来のモルフォロジー演算処理装置としては、「Ｍ．Ｈａｓｓｏｕｎ，ｅｔ  ａｌ  “Ａ  ＶＬＳＩ  ｇｒａｙ−ｓｃａｌｅ  ｍｏｒｐｈｏｌｏｇｙ  ｐｒｏｃｅｓｓｏｒ  ｆｏｒ  ｒｅａｌ−ｔｉｍｅ  ＮＤＥ  ｉｍａｇｅ  ｐｒｏｃｅｓｓｉｎｇ  ａｐｐｌｉｃａｔｉｏｎｓ”，ＳＰＩＥ，Ｖｏｌ．１３５０  Ｉｍａｇｅ  Ａｌｇｅｂｒａ  ａｎｄ  Ｍｏｒｐｈｏｌｏｇｉｃａｌ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ，１９９０」が知られている。
【００２５】
図３１は、従来のモルフォロジー演算処理装置ＭＳ０を示す図である。
【００２６】
この従来のモルフォロジー演算処理装置ＭＳ０は、５×５のＰＥアレイ８３と、排他的論理和８１と、比較器８２等で構成され、原画像に対するＰＥアレイ８３によるスキャニング、算術演算処理、比較演算処理を行うことによって、モルフォロジー演算処理を行うものである。
【００２７】
しかし、従来のモルフォロジー演算処理装置ＭＳ０は、ＰＥアレイ８３の大きさである５×５以上の大きな構造要素を処理できないという問題がある。また、原画像の大きさに比例した処理時間を必要とするので、大きな原画像を処理する場合には、モルフォロジー演算処理時間が長くなるという問題がある。さらに、大きな構造要素を処理できるようにするためには、ＰＥアレイ８３の数を増加せざるを得ず、この増加により、隣接ＰＥ間の配線等が多くなり、ハード量が多くなるという問題がある。
【００２８】
モルフォロジー演算処理を様々な画像処理に応用できるようにするためには、大きな原画像、大きな構造要素に対して、実時間処理（ビデオレート）できることが必要であり、このように実時間処理できるモルフォロジー演算処理装置が望まれている。
【００２９】
モルフォロジー演算処理の特徴は、原画像の局所演算のみで処理できるという極めて並列性の高い点である。従って、高性能なモルフォロジー演算処理装置を実現するためには、この並列性の高さという特徴を最大限に引き出し、画素数と同数のＰＥを有するモルフォロジー演算処理装置を実現すればよい。
【００３０】
ところが、このように実現した場合、現実的な原画像、たとえば５１２画素×５１２画素の原画像を処理するためには、約２６万画素という多数のＰＥを必要とする。このため、多くのＰＥを搭載可能なモルフォロジー演算処理装置が必要になる。
【００３１】
このような装置を実現するためには多数のボードが必要であり、その装置コストは莫大なものになる。したがって、上記のように多数のＰＥを有するモルフォロジー演算処理装置においては、そのコストを廉価に抑えるために、１ボード程度のハード量で実現できることが望まれている。
【００３２】
本発明は、高性能でしかもハード量が少ない、２次元ＰＥアレイ装置を用いたモルフォロジー演算処理方法を提供することを第２の目的とする。
【００３３】
【課題を解決するための手段】
請求項１記載の発明は、２次元ＰＥアレイ装置であって、複数のフィールドを有する記憶領域であって１次元方向に接続されたｗ個（ｗは任意の自然数）の記憶領域と、ｗ個の前記記憶領域の各々に対応するｗ個の領域を有し、前記１次元方向にシフトアップ、シフトダウン可能なヒットフラグレジスタであって前記記憶領域の内容を転送するためのヒットフラグレジスタと、該ヒットフラグレジスタの最上位の内容を外に出し入れする上位シフト入出力と、前記ヒットフラグレジスタの最下位の内容を外に出し入れする下位シフト入出力とを有する、ｑ×ｒ個（ｑ，ｒは２以上の任意の整数）の連想メモリと、前記連想メモリのうちで、横方向に隣接している前記連想メモリのうちの一方の連想メモリの下位シフト入出力と、前記横方向に隣接している前記連想メモリのうちの他方の連想メモリの上位シフト入出力とを接続するヒットフラグシフト線と、前記連想メモリおよび前記ヒットフラグシフト線を含む連想メモリアレイ部と接続されている制御部であって、前記連想メモリアレイ部に対して、ＰＥの割り付けを行い、アドレスを用いた前記記憶領域へのデータの書き込みおよび読み出しを行い、前記ヒットフラグレジスタのシフトアップ、シフトダウンを実行して」、前記割り付けに応じたデータ転送又は演算を行うための、単一の制御命令ストリームを生成する制御部とを備え、前記制御部による前記割り付けによって、前記ＰＥは、全体で縦方向ｍ×Ｊ×ｑ個、横方向ｎ×ｒ個に割り付けられ、前記連想メモリのｗ個の前記記憶領域がｍ列、ｎ行（ｗ、ｍ、ｎはｗ＝ｍ×ｎを満たす任意の自然数）に前記１次元方向にｍ個ずつ折り返してｎ行に並べられ、前記ＰＥは、前記連想メモリのｗ個の前記記憶領域のそれぞれにＪ個ずつ割り付けられていることを特徴とする。
【００３７】
ここで、請求項１において、前記連想メモリは、前記制御部による、前記アドレスを用いた前記記憶領域へのデータ書き込みおよび読み出しと前記ヒットフラグレジスタのシフトアップ、シフトダウンとを同時に実行するモード手段を有することとすることができる。
【００４０】
請求項３記載の発明は、請求項１に記載の２次元ＰＥアレイ装置の連想メモリ間データ転送方法であって、ｑ×ｒ個（ｑ，ｒは２以上の任意の整数）の連想メモリ間で、シフトアップ、シフトダウン可能なヒットフラグレジスタの内容を上位シフト入出力と下位シフト入出力とを用いて外に出し入れすることによりデータを転送する第１のデータ転送を行うステップと、縦方向ｑ列に並べられた前記連想メモリのうちで、奇数列の連想メモリ群から偶数列の連想メモリ群、または偶数列の連想メモリ群から奇数列の連想メモリ群へのデータ転送を同時に行う第２のデータ転送を行うステップと、横方向ｒ行に並べられた全ての連想メモリに対して、前記第１のデータ転送と前記第２のデータ転送とを、同時に行なうステップとを備えたことを特徴とする。
【００４１】
請求項４記載の発明は、請求項１に記載の２次元ＰＥアレイ装置の連想メモリ内データ転送方法であって、前記記憶領域に格納されているデータと検索データとを照合し検索データの一部の照合を無視するマスク検索を行うステップと、前記マスク検索により指定された第１の前記記憶領域内の特定ビットの内容をシフトアップ、シフトダウン可能な第１ヒットフラグレジスタへ転送するステップと、転送された第１ヒットフラグレジスタの内容を転送先の第２の前記記憶領域の第２ヒットフラグレジスタへシフトアップ又はシフトダウンするステップと、第２ヒットフラグレジスタが特定の値をとる第２の前記記憶領域に対して検索データのマスクされていないビットに対応する第２の前記記憶領域のビットに検索データを書き込む並列部分書き込みを用いて、第２の前記記憶領域内の特定ビットへ第２ヒットフラグレジスタの内容を転送するステップとを備えたことを特徴とする。
【００４３】
請求項５記載の発明は、２次元ＰＥアレイ装置であって、原画像フィールドと処理画像フィールドとシフト画像フィードとが設けられた記憶領域であって１次元方向に接続されたｗ個（ｗは任意の自然数）の記憶領域と、ｗ個の前記記憶領域の各々に対応するｗ個の領域を有し、前記１次元方向にシフトアップ、シフトダウン可能なヒットフラグレジスタであって前記記憶領域の内容を転送するためのヒットフラグレジスタと、該ヒットフラグレジスタの最上位の内容を外に出し入れする上位シフト入出力と、前記ヒットフラグレジスタの最下位の内容を外に出し入れする下位シフト入出力とを備えたｑ×ｒ個（ｑ，ｒは２以上の任意の整数）の連想メモリと、前記ｑ×ｒ個の連想メモリのうちで、横方向に隣接している前記連想メモリのうちの一方の連想メモリの下位シフト入出力と、前記横方向に隣接している前記連想メモリのうちの他方の連想メモリの前記シフト入出力とを接続するヒットフラグシフト線と、前記連想メモリおよび前記ヒットフラグシフト線を含む連想メモリアレイ部と接続されている制御部であって、前記連想メモリアレイ部に対して、ＰＥの割り付けを行い、アドレスを用いた前記記憶領域へのデータの書き込みおよび読み出しを行い、前記ヒットフラグレジスタのシフトアップ、シフトダウンを実行して、前記割り付けに応じたデータ転送又は演算を行うための、単一の制御命令ストリームを生成する制御部とを備え、前記制御部による前記割り付けによって、前記ＰＥは、全体で縦方向ｍ×Ｊ×ｑ個、横方向ｎ×ｒ個に割り付けられ、前記連想メモリのｗ個の前記記憶領域がｍ列、ｎ行（ｗ、ｍ、ｎはｗ＝ｍ×ｎを満たす任意の自然数）に前記１次元方向にｍ個ずつ折り返してｎ行に並べられ、前記ＰＥは、前記連想メモリのｗ個の前記記憶領域のそれぞれにＪ個ずつ割り付けられていることを特徴とする。
【００４４】
請求項６記載の発明は、請求項１に記載の２次元ＰＥアレイ装置を用いたモルフォロジー演算処理方法であって、前記記憶領域内に各々１つずつの原画像フィールド、処理画像フィールド、左右シフト画像フィールドと２つの上下シフト画像フィールドが設けられており、ｑ×ｒ個（ｑ，ｒは２以上の任意の整数）の連想メモリ間で、シフトアップ、シフトダウン可能なヒットフラグレジスタの内容を上位シフト入出力と下位シフト入出力とを用いて外に出し入れするステップと、左右方向のＰＥの原画像フィールド又は上下シフト画像フィールドのデータを、左右シフト画像フィールドに順次転送し、演算処理を行い処理画像フィールドに格納する転送演算処理ステップと、上下方向のＰＥの原画像フィールド又は片方の上下シフト画像フィールドのデータを、他方の上下シフト画像フィールドに転送する画像シフトアップ、ダウン処理ステップと、前記転送演算処理ステップと画像シフトアップ、ダウン処理ステップとを、上下左右方向のＰＥからの転送演算処理がすべて終了するまで繰り返すステップとを備えたことを特徴とする。
【００４５】
ここで、請求項６において、原画像の各要素のデータを前記２次元ＰＥアレイ装置の対応するＰＥの原画像フィールドに転送するステップと、構造要素によって定義される上下左右方向の任意のＰＥからのデータ転送および演算処理を行うステップとをさらに備えたこととすることができる。
【００４６】
ここで、請求項６において、原画像フィールド又は上下シフト画像フィールドの特定のビットに対するマスク検索と、ｍ回（ｍは前記ｍ列のｍ）のシフトアップあるいはシフトダウン処理と、左右シフト画像フィールドの対応するビットに対する並列部分書き込みとを、データのビット数繰り返すデータ転送処理ステップと、左右シフト画像フィールドにあるデータが演算処理をするべきＰＥからのデータであるときにのみ、処理画像フィールドおよび左右シフト画像フィールドに対して演算処理を行い、該演算処理の結果を処理画像フィールドに格納する演算処理ステップと、前記データ転送処理ステップおよび演算処理ステップを、左右方向からの転送演算処理がすべて終了するまで繰り返すステップとを備えたこととすることができる。
【００４７】
ここで、請求項６において、原画像フィールド又は片方の上下シフト画像フィールドの特定のビットに対するマスク検索と、１回のシフトアップあるいはシフトダウン処理と、他方の上下シフト画像フィールドの対応するビットに対する並列部分書き込みとを、データのビット数繰り返す内部記憶領域転送ステップと、連想メモリのアドレスを用いた前記記憶領域へのデータの読み書き機能を用いて、奇数又は偶数連想メモリ群の上位又は下位の前記記憶領域群の特定の前記記憶領域の原画像フィールド又は片方の上限シフト画像フィールドの全ビットを、対応する偶数又は奇数連想メモリ群の他方の上下シフト画像フィールドに上位又は下位境界の前記記憶領域を転送するステップとを備えたこととすることができる。
【００４８】
【発明の実施の形態】
（実施の形態１）
図１は、本発明の一実施の形態である２次元ＰＥアレイ装置ＰＥＡ１の基本構成を示す図である。
【００４９】
２次元ＰＥアレイ装置ＰＥＡ１は、２次元に配列されている複数の連想メモリ１１と、２つの連想メモリ１１を互いに接続する連想メモリ間ヒットフラグシフト線１６とで構成されている。
【００５０】
以下、個々の連想メモリを区別して参照する場合は、連想メモリ１１とせずに連想メモリ１１(1,1) 等とする。同様に、個々のワードを区別して参照する場合は、ワード２４又はワード１２とせずに、ワード２４(1) 、ワード１２(1,1) 等とする。
【００５１】
また、２次元ＰＥアレイ装置ＰＥＡ１は、１次元に並べられたｗ個（ｗは任意の自然数）のワードと、シフトアップ、シフトダウン可能なヒットフラグレジスタと、このヒットフラグレジスタの内容を外に出し入れする上位シフト入出力と下位シフト入出力とを具備するｑ×ｒ個（ｑ，ｒは２以上の任意の整数）の連想メモリ１１と、上記ｑ×ｒ個の連想メモリ１１のうちで、横方向に隣接している上記連想メモリ１１のうちの一方の連想メモリ１１の下位シフト入出力と、上記横方向に隣接している上記連想メモリ１１のうちの他方の連想メモリ１１の上記シフト入出力とを接続するヒットフラグシフト線１６とを有し、上記連想メモリ１１のｗ個のワードがｍ列、ｎ行にジグザグ状に並べられ、連想メモリ１１のｗ個のワードのそれぞれが、種々の論理、算術処理を行なうＰＥに割り付けられている２次元ＰＥアレイ装置である。
【００５２】
図２は、上記２次元ＰＥアレイ装置ＰＥＡ１を構成する連想メモリ１１(1,1) を示す図である。
【００５３】
連想メモリ１１(1,1) は、検索／書き込みデータ入力２１と、マスクレジスタ２２と、アドレス入力２３と、ワード２４と、アドレスデコーダ２５と、上位シフト入出力２６と、シフトアップ、シフトダウンすることによってワード２４の内容を転送するヒットフラグレジスタ２７と、読み出しデータ出力２８と、下位シフト入出力２９とで構成されている。また、１つの連想メモリ１１(1,1) におけるワード２４の全ての数ｗは、ｗ＝ｍ×ｎであり、ｗ，ｍ，ｎは、上記式を満たす任意の自然数である。なお、図２におけるワード２４は、図１に示すワード１２と同じものである。すなわち、ワード２４(1) 〜２４(w) のそれぞれは、ワード１２(1,1) 〜１２(m,n) に対応する。また、他の連想メモリ１１(2,1) 〜１１(q,r) の構成も、連想メモリ１１(1,1) の上記構成と同様であるので、以下の説明では、連想メモリ１１(1,1) を代表として説明する。
【００５４】
連想メモリ１１(1,1) は、データ書き込み機能と、データ読み出し機能と、マスク検索機能と、並列部分書き込み機能とを有する。
【００５５】
上記データ書き込み機能は、連想メモリ１１(1,1) において、アドレス入力２３にアドレス値を与え、検索／書き込みデータ入力２１に、書き込みデータを与えることによって、任意のワード２４にデータを書き込む機能である。
【００５６】
上記データ読み出し機能は、連想メモリ１１(1,1) において、アドレス入力２３にアドレス値を与えることによって、任意のワード２４のデータを読み出し、データ出力２８から読み出す機能である。
【００５７】
また、上記マスク検索機能は、検索／書き込みデータ入力２１に与えた検索データと、ワード２４に格納されているデータとを並列に照合し、この照合結果をヒットフラグレジスタ２７へ書き込み、この場合、マスクレジスタ２２にマスクしたいビット位置を与えることによって、検索データの一部の照合を無視させる機能である。そして、マスクレジスタ２２に特定のビット以外をマスクするデータを設定し、検索／書き込みデータ入力２１に検索データ「１」を与えることによって、ワード２４中の特定のビットを、ヒットフラグレジスタ２７へ転送する機能が実現できる。
【００５８】
また、並列部分書き込み機能は、ヒットフラグレジスタ２７が「１」であるワードに対して、検索／書き込みデータ入力２１のデータが、マスクされていない特定のビットに書き込まれる機能である。
【００５９】
ヒットフラグレジスタ２７は、シフトアップ、シフトダウンの双方向のシフトモードを有し、つまり、図示しないセレクタによって、シフトアップ、シフトダウンを切り替え、上位シフト入出力２６、下位シフト入出力２９を介して、連想メモリ１１(1,1) の外部からシリアルに読み書きを行なう機能を有する。
【００６０】
また、図１に示すように、上記２次元ＰＥアレイ装置ＰＥＡ１は、Ｘ×Ｙに並べられたＰＥが、縦方向ｑ列、横方向ｒ行のブロックに分割され、この分割された各ブロックに１つの連想メモリ１１(1,1) を割り付けたものである。なお、Ｘは縦方向のＰＥの数であり、Ｙは横方向のＰＥの数であり、Ｘ＝ｍｑ，Ｙ＝ｎｒは２以上の任意の整数であり、また、ｑ，ｒは２以上の任意の数である。
【００６１】
割り付けられた各連想メモリ１１(1,1) は、ｗ個のワード１２を（Ｘ÷ｑ）個づつに区切られ、（Ｘ÷ｑ）×（Ｙ÷ｒ）にジグザグ状に並べられ、上記ＰＥのブロックに順次割り付けられることによって構成されている。
【００６２】
このようにすれば、１つの連想メモリ１１(1,1) でｍ×ｎのＰＥを搭載できる。なお、ｍは、ｍ＝Ｘ÷ｑを満たす自然数であり、ｎは、ｎ＝Ｙ÷ｒを満たす自然数である。よって、全体では、縦方向Ｘ＝ｍ×ｑ個、横方向Ｙ＝ｎ×ｒ個のＰＥを搭載した２次元ＰＥアレイ装置ＰＥＡ１を実現することができる。
【００６３】
また、横方向に隣接する連想メモリ間は、連想メモリ間ヒットフラグシフト線１６によって結合されている。具体的には、１つの連想メモリ１１の上位シフト入出力２６と、その連想メモリ１１と横方向に隣接する他の連想メモリ１１の下位シフト入出力２９とが、連想メモリ間ヒットフラグシフト線１６によって結合されている。具体的には、１つの連想メモリ１１(1,1) の上位シフト入出力２６と、その連想メモリ１１(1,1) と横方向に隣接する連想メモリ１１(1,2) の下位シフト入出力２９とが、連想メモリ間ヒットフラグシフト線１６によって結合されている。したがって、横方向に互いに隣接する連想メモリ１１同士の間では、同一の連想メモリ１１として、シフトアップ、シフトダウン等の動作を統一的に取り扱うことができる。
【００６４】
図３は、上記実施の形態において、右、下、左、上の４隣接のＰＥにデータ転送する場合における連想メモリ１１(1,1) のワード２４の割り付け法を示す図である。
【００６５】
図３に示すように、ＰＥ３１は、現状態フィールドＣ３２と、次状態フィールドＣ＋３３と、右ＰＥ状態フィールドＲ３４と、下ＰＥ状態フィールドＤ３５と、左ＰＥ状態フィールドＬ３６と、上ＰＥ状態フィールドＵ３７とによって構成されている。
【００６６】
ワークフィールドＷ３８は、現状態フィールドＣ３２、隣接ＰＥ（右ＰＥ状態フィールドＲ３４と、下ＰＥ状態フィールドＤ３５と、左ＰＥ状態フィールドＬ３６と、上ＰＥ状態フィールドＵ３７と）のデータを用いて、種々の演算を行なう場合のテンポラリ領域として使用される領域である。
【００６７】
図４は、上記実施の形態において、右、右下、下、左下、左、左上、上、右上の８隣接のＰＥにデータ転送する場合における連想メモリ１１（１，１）  のワードの割り付け法を示す図である。
【００６８】
図４に示すように、ＰＥ４１は、現状態フィールドＣ４２、次状態フィールドＣ＋４３、右ＰＥ状態フィールドＲ４４、右下ＰＥ状態フィールドＲＤ４５、下ＰＥ状態フィールドＤ４６、左下ＰＥ状態フィールドＬＤ４７、左ＰＥ状態フィールドＬ４８、左上ＰＥ状態フィールドＬＵ４９、上ＰＥ状態フィールドＵ４１０、右上ＰＥ状態フィールドＲＵ４１１によって構成されている。
【００６９】
ワークフィールドＷ４１２は、現状態フィールドＣ４２、隣接ＰＥ（右ＰＥ状態フィールドＲ４４、右下ＰＥ状態フィールドＲＤ４５、下ＰＥ状態フィールドＤ４６、左下ＰＥ状態フィールドＬＤ４７、左ＰＥ状態フィールドＬ４８、左上ＰＥ状態フィールドＬＵ４９、上ＰＥ状態フィールドＵ４１０、右上ＰＥ状態フィールドＲＵ４１１）のデータを用いて種々の演算を行なう場合にテンポラリ領域として使用する領域である。
【００７０】
図３，図４に示した方法と同様の方法によって、距離が２まで離れたＰＥへデータ転送を含む２４隣接のＰＥ、またはそれ以上に対するデータ転送を行う場合の連想メモリ１１(1,1) のワードの割り付けを行うことができる。
【００７１】
図５は、２次元ＰＥアレイ装置ＰＥＡ１における全体の処理手順を示すフローチャートである。
【００７２】
電源投入後、まず、現状態フィールドＣ３２またはＣ４２へ、外部から初期データを設定する。
【００７３】
次に、連想メモリ１１(1,1) の並列部分書き込み機能を用いて、２次元ＰＥアレイ装置ＰＥＡ１内の全ての隣接状態フィールドを「０」に初期化する（５１）。なお、２次元ＰＥアレイ装置ＰＥＡ１内の全ての隣接状態フィールドは、４隣接の場合には、右ＰＥ状態フィールドＲ３４、下ＰＥ状態フィールドＤ３５、左ＰＥ状態フィールドＬ３６、上ＰＥ状態フィールドＵ３７のフィールドであり、８隣接の場合には、右ＰＥ状態フィールドＲ４４、右下ＰＥ状態フィールドＲＤ４５、下ＰＥ状態フィールドＤ４６、左下ＰＥ状態フィールドＬＤ４７、左ＰＥ状態フィールドＬ４８、左上ＰＥ状態フィールドＬＵ４９、上ＰＥ状態フィールドＵ４１０、右上ＰＥ状態フィールドＲＵ４１１のフィールドである。
【００７４】
次に、隣接ＰＥへのデータ転送を行なう（５４）。このデータ転送は、内部ワード転送（連想メモリ内転送：５２）と上位、下位境界ワード転送（連想メモリ間転送：５３）とに分けて行なう。内部ワード転送（５２）は、上位境界ワード群１３の上ＰＥへのデータ転送と下位境界ワード群１５の下ＰＥへのデータ転送以外の全ての転送であり、上位、下位境界ワード転送（５３）は、上位境界ワード群１３の上ＰＥへのデータ転送と下位境界ワード群１５の下ＰＥへのワード転送である。なお、上位境界ワード群１３の上ＰＥは、８隣接の場合、右上、左上ＰＥを含み、下位境界ワード群１５の下ＰＥは、８隣接の場合右下、左下ＰＥを含む。
【００７５】
次に、上記実施の形態における内部ワード転送（５２）について説明する。
【００７６】
図６は、上記実施の形態において、４隣接内部ワード転送手順を示すフローチャートである。
【００７７】
４隣接内部ワード転送（５２）は、下、右ＰＥへのビット転送（６１）と、上、左ＰＥへのビット転送（６２）との２段階で構成される。
【００７８】
下、右ＰＥへのビット転送（６１）では、まず、マスクレジスタ２２に、Ｃ３２の特定ビット以外をマスクするデータを設定し、「１」で検索を行なうことによって、ヒットフラグレジスタ２７へ、Ｃ３２の特定ビットの内容を転送する。次に、ヒットフラレジスタ２７を１下位シフトダウンし、Ｕ３７の対応ビットによって、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。上記の手順によって、下ＰＥへのビット転送を行なうことができる。次に、ヒットフラグレジスタ２７をｍ−１回シフトダウンし、Ｌ３６の対応ビットによって、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。上記の手順によって右ＰＥへのビット転送が行われる。
【００７９】
上、左ＰＥへのビット転送（６２）では、まず、Ｃ３２の特定ビット以外をマスクレジスタ２２にマスクするデータを、設定「１」で検索することによって、Ｃ３２の特定ビットの内容を、ヒットフラグレジスタ２７に転送する。次に、ヒットフラグレジスタ２７を１回シフトアップし、Ｄ３５の対応ビットによって、ヒットフラグレジスタ２７が「１」であるワードに「１」を並列部分書き込みする。この手順によって、上ＰＥへのビット転送が行われる。そして、ヒットフラグレジスタ２７をｍ−１回シフトアップし、Ｒ３４の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに「１」を並列部分書き込みする。これによって、左ＰＥへのビット転送が行われる。
【００８０】
そして、上記手順をＣ３２のビット数分、繰り返し、４隣接内部ワード転送がすべて終了する。
【００８１】
図７は、上記実施の形態における８隣接内部ワード転送手順を示すフローチャートである。
【００８２】
図７に示すように、８隣接内部ワード転送は、下、右上、右、右下ＰＥへのビット転送（７１）と、上、左下、左、右上ＰＥへのビット転送（７２）との２段階で行なわれる。
【００８３】
下、右上、右、右下ＰＥへのビット転送（７１）では、まず、Ｃ４２の特定ビット以外をマスクレジスタ２２にマスクするデータを設定し、「１」で検索を行なうことによって、ヒットフラグレジスタ２７へＣ４２の特定ビットの内容を転送する。そして、ヒットフラグレジスタ２７を１回シフトダウンし、Ｕ４１０の対応ビットによって、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。この手順によって、下ＰＥへのビット転送が行われる。次に、ヒットフラグレジスタ２７をｍ−２回シフトダウンし、ＬＤ４７の対応ビットによって、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。この手順によって右上ＰＥへのビット転送が行なわれる。
【００８４】
次に、ヒットフラグレジスタ２７を１回シフトダウンし、Ｌ４８の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。この手順によって右ＰＥへのビット転送が行なわれる。次に、ヒットフラグレジスタ２７を１回シフトダウンし、ＬＵ４９の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。このようにして、右下ＰＥへのビット転送が行なわれる。
【００８５】
上、左下、左、左上ＰＥへのビット転送（７２）では、まず、マスクレジスタ２２にＣ４２の特定ビット以外をマスクするデータを設定し、「１」で検索を行なうことによって、ヒットフラグレジスタ２７へＣ４２の特定ビットの内容を転送し、ヒットフラグレジスタ２７を１回シフトアップする。次に、Ｄ４６の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。この手順によって、上ＰＥへのビット転送が行なわれる。次に、ヒットフラグレジスタ２７をｍ−２回シフトアップし、ＲＵ４１１の対応ビットによって、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。この手順によって、左下ＰＥへのビット転送が行なわれる。次に、ヒットフラグレジスタ２７を１回シフトアップし、Ｒ４４の対応によって、ヒットフラグレジスタ２７が「１」のワードに「１」を並列部分書き込みする。上記手順によって、左ＰＥへのビット転送が行なわれる。
【００８６】
次に、ヒットフラグレジスタ２７を１回シフトアップし、ＲＤ４５の対応ビットによって、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。上記手順によって、左上ＰＥへのビット転送が行なわれる。そして、上記手順をＣ４２のビット数分、繰り返す。これらの手順によって、８隣接内部ワード転送が全て行なわれる。２４隣接内部ワード転送、またはそれ以上の数の隣接内部ワード転送についても、上記４隣接、８隣接内部ワード転送の手順と同様の手順で行なわれる。
【００８７】
上位、下位境界ワード転送（５３）は、連想メモリ１１(1,1) のアドレスを用いたワードへのデータ書き込み、読み出し機能を用いて逐次的に行なう。また、内部ワード転送（５２）が全て終了してから、上記の上位、下位境界ワード転送（５３）を実行する。内部ワード転送時（５２）に、たとえば上位境界ワード群１３のＵ３７等に、対応しないデータが書き込まれるが、図５に示すフローチャートにおける上位、下位境界ワード転送時（５３）に、上記対応しないデータが上書きされるので問題ない。
【００８８】
次に、現状態フィールドＣ３２または４２と隣接状態を用いて次状態を算出し（５５）、この算出された次状態を、次状態フィールドＣ＋３３または４３に入れる。連想メモリ１１(1,1) においては、全てのワードに対して、この処理を同時に実行することができる。次に、次状態フィールドＣ＋３２または４２の役割と、現状態のフィールドＣ３３または４３の役割とを入れ換えて、初期化段階（５１）へ戻る。以上の手順を任意回数繰り返し、最後に、次状態フィールドＣ＋３３または４３のデータを外部へ出力する。
【００８９】
上記実施の形態において、連想メモリ１１(1,1) は、集積度が極めて高いメモリ技術をベースとして構成されているので、小量のハードウェア量によって、１つのＰＥとデータ転送パスとを実現できる。したがって、ハードウェア量が少ない２次元ＰＥアレイ装置ＰＥＡ１を実現することができる。また、Ｘ×ＹのＰＥで構成された２次元ＰＥアレイ装置ＰＥＡ１を実現する場合、Ｙのｑ分の１づつ多段に分けて割り付けるので、横方向のＰＥ間のデータ転送時間が短くなり、図２９に示すようにＰＥをＹ個づつジグザグ状に割り付ける従来の２次元ＰＥアレイ装置ＰＥＡ１２よりも、横方法のＰＥ間のデータ転送時間が短くなる。
【００９０】
上記実施の形態においては、縦方向の連想メモリ１１間でワードの転送が必要となるが、ワードに直接データを読み書きできる連想メモリ１１を使用しているので、上記転送の効率が向上される。この点からも、２次元ＰＥアレイ装置ＰＥＡ１は、全体のデータ転送時間を抑えることが可能である。また、２次元ＰＥアレイ装置ＰＥＡ１の場合、ジグザグに割り付けるワードの数、連想メモリ１１の縦横の数ｑ，ｒを任意に選択できるので、任意の数でＰＥを構成でき、２次元ＰＥアレイ装置としての拡張性が高いといえる。
【００９１】
（実施の形態２）
図８は、本発明の実施の形態２における上位、下位境界ワード転送手順５３を示すフローチャートである。
【００９２】
図９は、上記実施の形態２において、４隣接における奇数連想メモリ群９１の下位ワード群１５の１ワードを、偶数連想メモリ群９２へ転送する例を示す図である。なお、上記奇数連想メモリ群９１、偶数連想メモリ群９２を構成する連想メモリは、連想メモリ１１(1,1) と同様のものである。
【００９３】
図１０は、上記実施の形態２において、４隣接における偶数連想メモリ群９２の下位ワード群１５の１ワードを、奇数連想メモリ群９１へ転送する例を示す図である。
【００９４】
図１１は、上記実施の形態２において、４隣接における奇数連想メモリ群９１の上位ワード群１３の１ワードを、偶数連想メモリ群９２へ転送する例を示す図である。
【００９５】
図１２は、上記実施の形態２において、４隣接における偶数連想メモリ群９２の上位ワード群１３の１ワードを、奇数連想メモリ群９１へ転送する例を示す図である。
【００９６】
図８に示すように、上位、下位境界ワード転送手順（５３）において、まず、奇数メモリ群９１の下位ワード群１５に属する特定のワードの現状態フィールドＣ３２または４２の全ビットを、対応する偶数メモリ群９２の上位ワード群１３のワードのＵ３７（８隣接の場合ＬＵ４９、Ｕ４１０、ＲＵ４１１）へ転送する。この場合、図９に示すように、データ転送の方向９３に示すデータ転送を、全て同時に行なう。これを下位ワード群１５の数だけ、順に繰り返す。
【００９７】
次に、偶数メモリ群９２の下位ワード群１５に属する特定のワードの現状態フィールドＣ３２または４２の全ビットを、対応する奇数メモリ群９１の上位ワード群１３のワードのＵ３７（８隣接の場合ＬＵ４９、Ｕ４１０、ＲＵ４１１）へ転送する。この場合、図１０に示すように、データ転送の方向１０１に示したデータ転送を、全て同時に行なう。この動作を、下位ワード群１５の数だけ順に繰り返す。
【００９８】
次に、奇数メモリ群９１の上位ワード群１３に属する特定のワードの現状態フィールドＣ３２または４２の全ビットを、対応する偶数メモリ群９２の下位ワード群１５のワードのＤ３５（８隣接の場合ＬＤ４７、Ｄ４６、ＲＤ４５）へ転送する。この場合、図１１に示すように、データ転送の方向１１１に示したデータ転送を、全て同時に行なう。これを上位ワード群１３の数だけ順に繰り返す。
【００９９】
次に、偶数メモリ群９２の上位ワード群１３に属する特定のワードの現状態フィールドＣ３２または４２の全ビットを、対応する奇数メモリ群９１の下位ワード群１５のワードのＤ３５（８隣接の場合ＬＤ４７、Ｄ４６、ＲＤ４５）へ転送する。この場合、図１２に示すように、データ転送の方向１２１に示したデータ転送を、全て同時に行なう。これを上位ワード群１３の数だけ順に繰り返す。
【０１００】
これらの手順によって、全ての上位、下位境界ワード転送（５３）が行なわれる。上記実施の形態２においては、図９，図１０，図１１，図１２に示した矢印の数だけ、データ転送が並列に行なわれるので、図１に示す２次元ＰＥアレイ装置ＰＥＡ１における逐次的なデータ転送よりも、転送時間がさらに短くなる。
【０１０１】
つまり、上記実施の形態２は、１次元に並べられたｗ個（ｗは任意の自然数）のワードと、シフトアップ、シフトダウン可能なヒットフラグレジスタと、このヒットフラグレジスタの内容を外に出し入れする上位シフト入出力と下位シフト入出力とを具備するｑ×ｒ個（ｑ，ｒは２以上の任意の整数）の連想メモリにおいて、縦方向ｑ列に並べられた上記連想メモリのうちで、奇数列の連想メモリ群から偶数列の連想メモリ群、または偶数列の連想メモリ群から奇数列の連想メモリ群へのデータ転送を同時に行う段階と、横方向ｒ行に並べられた全ての連想メモリに対して、上記データ転送を、同時に行なう段階とを有するデータ転送方法である。
【０１０２】
このようなデータ転送方法を採用することによって、異なる連想メモリ１１を、互いに独立して動作させることができる。この性質を利用し、異なる連想メモリ１１間のデータ転送を行なう場合に、奇数列の連想メモリ群９１から偶数列の連想メモリ群９２へのデータ転送、偶数列の連想メモリ群９２から奇数列の連想メモリ群９１へのデータ転送、または、横方向に並べられた全ての連想メモリのデータ転送を同時に行なうことができ、これによって、データ転送時間を短くすることができる。
【０１０３】
（実施の形態３）
図１３は、本発明の実施の形態３である２次元ＰＥアレイ装置ＰＥＡ３において、連想メモリ１１のワード２４のＰＥへの割り付け方法（４隣接の場合）を示す図である。
【０１０４】
図２０は、連想メモリ１１の１つのワード２４に２個のＰＥを割り付けた場合における２次元ＰＥアレイ装置の構成例を示す図である。
【０１０５】
図１３に示すように、現状態フィールドＣ１３２、次状態フィールドＣ＋１３３、右ＰＥ状態フィールドＲ１３４、下ＰＥ状態フィールドＤ１３５、左ＰＥ状態フィールドＬ１３６、上ＰＥ状態フィールドＵ１３７によって構成されるＰＥ１３１を、ビット数の許す限りＪ個（Ｊは任意の２以上の自然数）、１つの連想メモリの１ワード２４に割り付ける。
【０１０６】
この場合、Ｊを２とすると、図２０に示すように、１つのワードａ１に、上位のＰＥ  ａ２と下位のＰＥ  ａ３との２つのＰＥを割り付け、縦方向Ｘ＝ｍ×２×ｑ個、横方向Ｙ＝ｎ×ｒ個のＰＥを搭載した２次元ＰＥアレイ装置を実現することができる。ただし、この場合、上位のＰＥ  ａ２の下ＰＥ状態フィールドＤ１３５のデータと、下位のＰＥ  ａ３の上ＰＥ状態フィールドＵ１３７のデータとは、同一ワード上に存在するので、それぞれの状態フィールドは設けない。
【０１０７】
８隣接、２４隣接の場合も、上記と同様に、連想メモリのワードの割り付けが行なわれる。これによって、同じ連想メモリの数で、より多くのＰＥを実現できるので、ハード量の少ない２次元ＰＥアレイ装置を実現できる。
【０１０８】
次に、図２１により２次元ＰＥアレイ装置ＰＥＡ３を用いて種々の処理を行なう全体の処理手順について説明する。
【０１０９】
上記処理手順は、図６に示す内部ワード転送（５２）と、上位、下位境界ワード転送（５３）とを除いて、図６に示す手順と同じ手順で行なわれる。
【０１１０】
内部ワード転送（５２）は、上位ＰＥ  ａ２の内部ワード転送ｂ１と、下位ＰＥ  ａ３の内部ワード転送Ｂ２とに分けて行なわれる。
【０１１１】
上位ＰＥ  ａ２の内部ワード転送ｂ１では、マスクレジスタ２２にＣ３２の特定ビット以外をマスクするデータを設定し「１」で検索を行なうことによって、ヒットフラグレジスタ２７へＣ３２の特定ビットの内容を転送する。次に、ヒットフラグレジスタ２７をｍ回シフトダウンし、Ｌ３６の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに「１」を並列部分書き込みする。上記手順によって、右ＰＥへのビット転送が行なえる。
【０１１２】
次に、マスクレジスタ２２にＣ３２の特定ビット以外をマスクするデータを再度設定し、「１」で検索を行なうことによって、ヒットフラグレジスタ２７へＣ３２の特定ビットの内容を転送し、ヒットフラグレジスタ２７を１回シフトアップする。そして、Ｄ３５の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに「１」を並列部分書き込みする。上記手順によって、上記ＰＥ  ａ２へのビット転送が行なえる。
【０１１３】
次に、ヒットフラグレジスタ２７をｍ−１回シフトアップし、Ｒ３４の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。この手順によって、左ＰＥへのビット転送が行なえる。上記手順をＣ３２のビット数分繰り返す。これらの手順によって、上記ＰＥ  ａ１の４隣接内部ワード転送ｂ１が全て行なえる。
【０１１４】
下位ＰＥ  ａ３の内部ワード転送ｂ２では、マスクレジスタ２２にＣ３２の特定ビット以外をマスクするデータを設定し、「１」で検索を行なうことによって、ヒットフラグレジスタ２７へＣ３２の特定ビットの内容を転送し、ヒットフラグレジスタ２７を１回シフトダウンする。そして、Ｕ３７の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。上記手順によって、下位ＰＥへのビット転送が行なえる。
【０１１５】
次に、ヒットフラグレジスタ２７をｍ−１回シフトダウンし、Ｌ３６の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。上記手順によって、右ＰＥへのビット転送が行なえる。
【０１１６】
次に、マスクレジスタ２２にＣ３２の特定ビット以外をマスクするデータを再度設定し、「１」で検索を行なうことによって、ヒットフラグレジスタ２７へＣ３２の特定ビットの内容を転送し、ヒットフラグレジスタ２７をｍ回シフトアップする。そして、Ｒ３４の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。上記手順によって左ＰＥへのビット転送が行なえる。これらの得順をＣ３２のビット数分繰り返す。以上の手順によって、下位ＰＥ  ａ３の４隣接内部ワード転送ｂ２が全て行なえる。
【０１１７】
次に、上位、下位境界ワード転送手順（５３）について説明する。
【０１１８】
上位、下位境界ワード転送５３は、図８に示す手順と同様に、奇数連想メモリ群９１の下位ワード群１５の特定の１ワードを、偶数連想メモリ群９２へ転送し、偶数連想メモリ群９２の下位ワード群１５の特定の１ワードを、奇数連想メモリ群９１へ転送し、奇数連想メモリ群９１の上位ワード群１３の特定の１ワードを、偶数連想メモリ群９２へ転送し、偶数連想メモリ群９２の上位ワード群１３の特定の１ワードを、奇数連想メモリ群９１へ転送し、それぞれを上位、下位ワード群のワードの数だけ繰り返すことによって転送が行われる。
【０１１９】
ただし、たとえば、図２０に示した連想メモリ１１の１つのワード２４に２個のＰＥを割り付けた場合、上位ワード群１３から下位ワード群１５へのワード転送を行なう際は、下位ＰＥ  ａ３のワードのみ転送を行ない、一方、下位ワード群１５から上位ワード群１３へのワード転送を行なう際は、上位ＰＥ  ａ２のワードのみ転送を行なう。以上の手順によって、全ての上位、下位境界ワード転送５３が行なえる。
【０１２０】
図１３は、２次元ＰＥアレイ装置ＰＥＡ３における連想メモリ１１のワード２４のＰＥへの割り付け方法（４隣接の場合）を示す図である。
【０１２１】
図１３に示すように、現状態フィールドＣ１３２、次状態フィールドＣ＋１３３、右ＰＥ状態フィールドＲ１３４、下ＰＥ状態フィールドＤ１３５、左ＰＥ状態フィールドＬ１３６、上ＰＥ状態フィールドＵ１３７によって構成されるＰＥ１３１を、ビット数の許す限り、Ｊ個（Ｊは２以上の任意の自然数）、連想メモリの１ワード２４に割り付ける。８隣接、２４隣接の場合も、同様に、連想メモリのワードの割り付けを行なうことができる。これによって、同じ連想メモリの数で、より多くのＰＥを実現できるので、ハード量の少ない２次元ＰＥアレイ装置を実現することが可能である。
【０１２２】
ここで、連想メモリの１つのワードに複数ＰＥを割りつける場合の（内部ワード）転送方法は、上記のとおりである。
【０１２３】
２次元ＰＥアレイ装置ＰＥＡ３は、連想メモリの１つのワード２４に複数のＰＥが割り付けられ、この内の１つのＰＥ１３１に、自分のＰＥの現状態フィールドと、上記自分のＰＥの次状態フィールドと、隣接ＰＥの各状態フィールドとを保有している２次元ＰＥアレイ装置である。このように連想メモリの１つのワード２４に複数のＰＥを割り付けていることによって、同じ連想メモリの数でより多くのＰＥを実現できるので、ハード量の少ない２次元ＰＥアレイ装置を実現することが可能である。
【０１２４】
（実施の形態４）
次に、連想メモリ１１として、２次元ＰＥアレイ装置ＰＥＡ１の機能に加えて、アドレスを用いたワード２４へのデータ書き込み、読み出しと、シフトアップ、シフトダウン動作とを同時に実行できるモードを有する連想メモリを用いて、２次元ＰＥアレイ装置を構成した実施の形態４である連想メモリについて説明する。
【０１２５】
実施の形態４である連想メモリは、アドレスを用いたワード２４へのデータ書き込み読み出しと、ヒットフラグレジスタのシフトモードとを実行する連想メモリにおいて、上記アドレスを用いたワードへのデータ書き込み読み出しと、上記ヒットフラグレジスタのシフトモードとを同時に行なうモードを有する連想メモリである。
【０１２６】
図１４は、右、下、左、上の４隣接のＰＥに対するデータ転送機能を有する２次元ＰＥアレイ装置を実現するための連想メモリのワードの割り付け法を示す図である。
【０１２７】
図１４に示すように、１つのＰＥ１４１は、現状態フィールドＣ１４２、次状態フィールドＣ＋１４３、右ＰＥ状態フィールドＲ１４４、下ＰＥ状態フィールドＤ１４５、左ＰＥ状態フィールドＬ１４６、上ＰＥ状態フィールドＵ１４７、ワード種類識別フィールドＩ１４８によって構成される。
【０１２８】
ＰＥ１４１を連想メモリ１１の１つのワード２４に、ビット数の許す限り、Ｊ個（Ｊは２以上の任意の自然数）割り付ける。ワークフィールドＷ１４９は、現状態フィールドＣ１４２、隣接ＰＥのデータを用い、種々の演算を行なう際のテンポラリ領域として用いる。
【０１２９】
図１５は、右、右下、下、左下、左、左上、上、右上の８隣接のＰＥに対するデータ転送機能を有する２次元ＰＥアレイ装置を実現するための連想メモリのワード２４の割り付け法を示した図である。
【０１３０】
図１５に示すように、１つのＰＥ１５１は、現状態フィールドＣ１５２、次状態フィールドＣ＋１５３、右ＰＥ状態フィールドＲ１５４、右下ＰＥ状態フィールドＲＤ１５５、下ＰＥ状態フィールドＤ１５６、左下ＰＥ状態フィールドＬＤ１５７、左ＰＥ状態フィールドＬ１５８、左上ＰＥ状態フィールドＬＵ１５９、上ＰＥ状態フィールドＵ１５１０、右上ＰＥ状態フィールドＲＵ１５１１、ワード種類識別フィールドＩ１５１２によって構成される。ＰＥ１５１を、連想メモリ１１の１つのワード２４に、ビット数の許す限り、Ｊ個（Ｊは任意の自然数）割り付ける。ワークフィールドＷ１５１３は、現状態フィールドＣ１５２、隣接ＰＥのデータを用いて種々の演算を行なう際のテンポラリ領域として用いる。
【０１３１】
図１６は、ワード種類識別フィールドＩ１４８または１５１２を示す図である。
【０１３２】
ワード種類識別フィールドＩ１４８または１５１２は、上位境界ワード識別子１６１、内部状態ワード識別子１６２、下位境界ワード識別子１６３の３ビットで構成されている。電源投入時に、ワードが上位境界ワード群１３に属する場合、上位境界ワード識別子１６１のみが「１」で残りは「０」に設定され、ワードが内部ワード群１４に属する場合、内部状態ワード識別子１６２のみが「１」で残りは「０」に設定され、ワードが下位境界ワード群１５に属する場合、下位境界ワード識別子１６３のみが「１」で残りは「０」に設定される。
【０１３３】
図１７は、上記に示した構成をとる２次元ＰＥアレイ装置を用いて種々の処理を行なう全体の処理手順を示した図である。
【０１３４】
隣接ＰＥへのデータ転送１７３以外は、図６に示した方法と同様に行なう。
【０１３５】
図１８は、隣接ＰＥへのデータ転送１７３のうち内部ワード転送１７１に関する４隣接内部ワード転送手順を示す図である。
【０１３６】
図１９は、隣接ＰＥへのデータ転送１７３のうち内部ワード転送１７１に関する８隣接内部ワード転送手順を示す図である。
【０１３７】
図１８に示すように、４隣接内部ワード転送１７１は、下、右ＰＥへのビット転送１８１と、上、左ＰＥへのビット転送１８２との２段階で行なう。下、右ＰＥへのビット転送１８１では、まず、マスクレジスタ２２にＣ１４２の特定ビット以外をマスクするデータを設定し、「１」で検索を行なうことによって、ヒットフラグレジスタ２７へ、Ｃ１４２の特定ビットの内容を転送する。
【０１３８】
次に、ヒットフラグレジスタ２７を１回シフトダウンし、Ｕ１４７の対応ビットでかつ上位境界ワード群１３に属さず、ヒットフラグレジスタ２７が「１」のワードに「１」を並列部分書き込みする。
【０１３９】
上位境界ワード群１３に属すか否かは、ワード種類識別フィールドＩ１４８を検索して調べる。上記の手順によって下ＰＥへのビット転送が行なわれる。次に、ヒットフラグレジスタ２７をｍ−１回シフトダウンし、Ｌ１４６の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに「１」を並列部分書き込みする。上記手順によって、右ＰＥへのビット転送が行なわれる。
【０１４０】
上、左ＰＥへのビット転送１８２では、まず、マスクレジスタ２２にＣ１４２の特定ビット以外をマスクするデータを設定し、「１」で検索を行なうことによって、ヒットフラグレジスタ２７へＣ１４２の特定ビットの内容を転送する。次に、ヒットフラグレジスタ２７を１回シフトアップし、Ｄ１４５の対応ビットでかつ下位境界ワード群１５に属さず、ヒットフラグレジスタ２７が「１」のワードに「１」を並列部分書き込みする。下位境界ワード群１５に属すか否かは、ワード種類識別フィールドＩ１４８を検索して調べる。上記手順によって、上ＰＥへのビット転送が行なわれる。
【０１４１】
次に、ヒットフラグレジスタ２７をｍ−１回シフトアップし、Ｒ１４４の対応ビットで、ヒットフラグレジスタ２７が、「１」のワードに「１」を並列部分書き込みする。上記手順によって、左ＰＥへのビット転送が行なわれる。
【０１４２】
上記手順をＣ１４２のビット数分繰り返し、さらに、１ワードに複数のＰＥを割り付けた場合、上記手順をその数だけ繰り返す。以上の手順によって、４隣接内部ワード転送が全て行なわれる。
【０１４３】
図１９に示すように、８隣接内部ワード転送は、下、右上、右、右下ＰＥへのビット転送１９１と、上、左下、左、左上ＰＥへのビット転送１９２との２段階で行なう。
【０１４４】
下、右上、右、右下ＰＥへのビット転送１９１では、まず、マスクレジスタ２２にＣ１５２の特定ビット以外をマスクするデータを設定し、「１」で検索を行なうことによって、ヒットフラグレジスタ２７へＣ１５２の特定ビットの内容を転送し、ヒットフラグレジスタ２７を１回シフトダウンする。次に、Ｕ１５１０の対応ビットでかつ上位境界ワード群１３以外で、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。上位境界ワード群１３に属すか否かは、ワード種類識別フィールドＩ１５１２を検索して調べる。上記手順によって、下ＰＥへのビット転送が行なわれる。
【０１４５】
次に、ヒットフラグレジスタ２７をｍ−２回シフトダウンし、ＬＤ１５７の対応ビットで、ヒットフラグレジスタ２７が、「１」のワードに「１」を並列部分書き込みする。上記手順によって、右上ＰＥへのビット転送が行なわれる。
【０１４６】
次に、ヒットフラグレジスタ２７を１回シフトダウンし、Ｌ１５８の対応ビットで、ヒットフラグレジスタ２７が、「１」のワードに「１」を並列部分書き込みする。上記手順によって、右ＰＥへのビット転送が行なわれる。
【０１４７】
次に、ヒットフラグレジスタ２７を１回シフトダウンし、ＬＵ１５９の対応ビットでかつ上位境界ワード群１３に属さず、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。上位境界ワード群１３に属するか否かは、ワード種類識別フィールドＩ１５１２を検索して調べる。上記手順によって、右下ＰＥへのビット転送が行なわれる。
【０１４８】
上、左下、左、左上ＰＥへのビット転送１９２では、まず、マスクレジスタ２２にＣ１５２の特定ビット以外をマスクするデータを設定し、「１」で検索を行なうことによって、ヒットフラグレジスタ２７へＣ４２の特定ビットの内容を転送する。
【０１４９】
次に、ヒットフラグレジスタ２７を１回シフトアップし、Ｄ１５６の対応ビットでかつ下位境界ワード群１５に属さず、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。上位境界ワード群１３に属するか否かは、ワード種類識別フィールドＩ１５１２を検索して調べる。上記手順によって、上ＰＥへのビット転送が行なわれる。
【０１５０】
次に、ヒットフラグレジスタ２７をｍ−２回シフトアップし、ＲＵ１５１１の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。上記手順によって、左下ＰＥへのビット転送が行なわれる。
【０１５１】
次に、ヒットフラグレジスタ２７を１回シフトアップし、Ｒ１５４の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに「１」を並列部分書き込みする。上記手順によって左ＰＥへのビット転送が行なわれる。
【０１５２】
次に、ヒットフラグレジスタ２７を１回シフトアップし、ＲＤ１５５の対応ビットでかつ下位境界ワード群１５に属さず、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。上記境界ワード群１３に属するか否かは、ワード種類識別フィールドＩ１５１２を検索して調べる。上記手順によって、左上ＰＥへのビット転送が行なわれる。
【０１５３】
上記手順をＣ１５２のビット数分繰り返し、さらに、１ワードに複数のＰＥを割り付けた場合は、上記手順をその数だけ繰り返す。以上の手順によって、８隣接内部ワード転送が全て行なわれる。
【０１５４】
２４隣接内部ワード転送、またはそれ以上の場合も、上記した４隣接、８隣接内部ワード転送と同様の手順で行なわれる。
【０１５５】
上位、下位境界ワード転送１７２手順は、上記各実施の形態に示した方法と同様に行なう。
【０１５６】
次に、内部ワード転送１７１と上位、下位境界ワード転送１７２をどの様な手順で行なうかについて説明する。
【０１５７】
上記した内部ワード転送手順１７１の中で、シフトダウン、シフトアップ動作を行なっている期間、上位、下位境界ワード転送１７２も同様に行なう。ヒットフラグレジスタのシフトモード（内部ワード転送１７１で利用）と、アドレスを用いたワードへのデータ書き込み、読み出し（上位、下位境界ワード転送１７２で利用）とを同時に実行できるモードを有する連想メモリを用いることによって、上記のように、内部ワード転送１７１と、上位、下位境界ワード転送１７２を同時に行なうことができる。
【０１５８】
また、上記の内部ワード転送１７１で示したように、内部ワード転送１７１時に、たとえば上位境界ワード群１３のＵ１４７等に、対応しないデータが書き込まれることがないようにしているので、内部ワード転送１７１と、上位、下位境界ワード転送１７２とを同時に行なうことによって、正しいデータが上書きされる等の問題は生じない。
【０１５９】
また、内部ワード転送１７１と上位、下位境界ワード転送１７２とを同時に行なえるので、（請求項１の実施の形態に示した）内部ワード転送１７１と上位、下位境界ワード転送１７２とを順番に行なう方法と比較すると、短い転送時間が短くなる。
【０１６０】
つまり、アドレスを用いたワードへのデータ書き込み、読みだしとヒットフラグレジスタのシフトモードとが同時に行えるモードを有する連想メモリを用いるから、図１７で示すデータ転送可能である１７１と１７２とを、同時に実行できる。
【０１６１】
上記のように、アドレスを用いたワードへのデータ書き込み、読み出しとヒットフラグレジスタのシフトモードが同時に動作させることによって、上記の横方法のＰＥ間のデータ転送時間と、上記の縦方向の連想メモリ間のワードの転送とを同時に行なうことが可能になり、データ転送時間を抑えることが可能である。この場合、上記シフトモードは、双方向の場合、一方向の場合の両者に適用できる。
【０１６２】
（実施の形態５）
図２２は、本発明の他の実施の形態であるモルフォロジー演算処理を実行する２次元ＰＥアレイ装置ＭＳ１の基本構成を示す図である。
【０１６３】
２次元ＰＥアレイ装置ＭＳ１は、連想メモリアレイ部１７と制御部１８とで構成されている。連想メモリアレイ部１７は、ｑ×ｒ個（ｑ，ｒは２以上の任意の整数）の２次元配列された連想メモリ１１で構成されている。
【０１６４】
２次元ＰＥアレイ装置ＭＳ１を構成する連想メモリ１１は、基本的には、図２に示す連想メモリ１１(1,1) と同じであり、ｗ個（ｗは任意の自然数）のワード２４と、アドレスデコーダ２５と、シフトアップ、シフトダウン可能なヒットフラグレジスタ２７と、このヒットフラグレジスタ２７の内容を外に出し入れする上位シフト入出力２６と、下位シフト入出力２９等とを具備するものである。なお、２次元ＰＥアレイ装置ＭＳ１で使用されている連想メモリ１１におけるワード２４は、原画像フィールドと処理画像フィールドとシフト画像フィールドとを有する１次元に並べられたワードである。
【０１６５】
また、図２において説明したマスク検索機能と並列部分書き込み機能とを用いることによって、全ワード２４に対して、並列に、モルフォロジー演算処理に必要な、加減算、比較演算、論理和演算を含む、任意の論理、算術演算を実行することが可能である。この具体的な手順に関しては、「小倉，長沼，“連想プロセッサ上での局所表現型ニューラルネットワークのハードウェアアルゴリズムとその評価”，信学技報ＣＰＳＹ８１−４４，１９９１」等に開示されている。
【０１６６】
１つの連想メモリ１１に着目すると、その横方向の一方に隣接する連想メモリの下位シフト入出力とヒットフラグシフト線１６で接続され、上記横方向の他方に隣接する連想メモリのシフト入出力とヒットフラグシフト線１６で接続されている。このようにすることによって、横方向に互いに隣接する連想メモリは、同一の連想メモリとして、シフトアップ、シフトダウン等の動作を統一的に行うことができる。
【０１６７】
１つの連想メモリ１１におけるｗ個のワード２４は、それぞれが、ｍ列、ｎ行（ｗ，ｍ，ｎはｗ＝ｍ×ｎを満たす任意の自然数）にジグザグ状に並べられた種々の論理、算術演算を行うＰＥに順次割り付けられている。１つの連想メモリ１１では、ｍ×ｎの２次元のＰＥアレイを実現でき、連想メモリアレイ部１７全体では、縦方向ｍ×ｑ個、横方向ｎ×ｒ個のＰＥを持つ２次元のＰＥを実現できる。連想メモリアレイ部１７において、ｍ×ｑが原画像の縦の画素数であり、ｎ×ｒが画像の横の画素数であり、したがって、ｍ，ｑ，ｎ，ｒを所望の値に指定することによって、原画像の画素数と同数のＰＥを実現することができる。
【０１６８】
制御部１８は、モルフォロジー演算処理を連想メモリアレイ部１７に実行させるために、単一の制御命令ストリームを生成するものであり、マイクロプロセッサまたはＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）等の再構成可能な回路で構成されている。
【０１６９】
図２３は、２次元ＰＥアレイ装置ＭＳ１で使用する連想メモリ１１における各ワード２４のフィールド構成を詳細に示す図である。
【０１７０】
各ワード２４は、原画像の各画素データを格納する原画像フィールドＣ３３１と、モルフォロジー演算処理後の各画素データを格納する処理画像フィールドＣ＋３３２と、原画像のシフトアップまたはシフトダウンデータを格納するシフト画像フィールドＵＤ1 ３３３と、シフト画像フィールドＵＤ2 ３３４と、左右のＰＥの原画像データを格納するシフト画像フィールドＲＬ３３５とによって構成されている。ワークフィールドＷ３３６は、原画像フィールドＣ３３１またはシフト画像フィールドＵＤ1 ３３３，ＵＤ2 ３３４，ＲＬ３３５のデータを用いて種々の演算を行う場合のテンポラリ領域として用いるものである。
【０１７１】
次に、モルフォロジー演算処理を行うために、制御部１８において生成する単一の制御命令動作について、詳細に説明する。まず、モルフォロジー演算について概説する。
【０１７２】
モルフォロジー演算は、ダイレーション（ｄｉｌａｔｉｏｎ）、エロージョン（ｅｒｏｓｉｏｎ）、クロージング（ｃｌｏｓｉｎｇ）、オープニング（ｏｐｅｎｉｎｇ）の４つの基本演算で構成されている。
【０１７３】
図２４は、モルフォロジーの構造要素を定義した図である。
【０１７４】
「ダイレーション」は、原画像の各画素に対して、自分と近傍の画素データのみを用いた演算によって行われる処理である。その処理結果は、図２４に示すように、自ＰＥの位置を原点３４３とした場合、（−Ｘ２，−Ｙ２）〜（Ｘ１，Ｙ１）に分布する構造要素３４１の定義（具体的には、構造要素が２値である場合には「１」であること、多値である場合には「データが存在する」ことをいう）に従って、自分と近傍ＰＥの原画像とに対して演算処理を行った結果である。たとえば、構造要素３４１が（０，０）、（１，１）、（１，−１）、（−１，１）、（−１，−１）において定義されている場合、ダイレーションは、自分と上下左右の４隣接の原画像とのデータに対して演算処理を行った結果となる。ここで、Ｘ１，Ｘ２，Ｙ１，Ｙ２は０以上の任意の整数である。
【０１７５】
演算処理は、原画像が２値であり、構造要素３４１が２値である場合（ｓｅｔｐｒｏｃｅｓｓｉｎｇ）、論理和演算を実行し（上記例の場合、自分と上下左右の４隣接の原画像とのデータのうちで、１つでも「１」があったら「１」を出力し）、原画像が多値であり、構造要素３４１が２値である場合（ｆｕｎｃｔｉｏｎ  ａｎｄ  ｓｅｔ  ｐｒｏｃｅｓｓｉｎｇ）、最大値を求める演算を実行し（上記例の場合、自分と上下左右の４隣接の原画像とのデータの最大値を求める演算を実行し）、原画像が多値であり、構造要素３４１が多値である場合（ｆｕｎｃｔｉｏｎ  ｐｒｏｃｅｓｓｉｎｇ）、構造要素３４１の値を加算した上で最大値演算を実行する。
【０１７６】
「エロージョン」は、上記のダイレーションと同様に処理できる。ただし、エージョンにおける演算処理は、原画像が２値であり、構造要素３４１が２値である場合、論理積演算（上記例の場合、自分と上下左右の４隣接の原画像とのデータの全てが「１」であれば、「１」を出力し）、原画像が多値であり、構造要素３４１が２値である場合、最小値を求める演算を実行し（上記例の場合、自分と上下左右の４隣接の原画像とのデータの最小値を求める演算を実行し）、原画像が多値であり、構造要素３４１が多値である場合には、構造要素３４１の値を減算した上で最小値演算を行う。
【０１７７】
「クロージング」は、上記ダイレーションを行った後にエロージョンを実行した結果であり、「オープニング」は、エロージョンを行った後にダイレーションを実行した結果である。
【０１７８】
図２５は、モルフォロジー演算処理における全体の出力手順を示すフローチャートである。
【０１７９】
まず、原画像の２次元の各画像データを、連想メモリアレイ部１７の対応するＰＥ（＝ワード２４）の原画像フィールドＣ３３１に転送する。また、画像処理フィールドＣ＋３３２を初期化する。
【０１８０】
次に、モルフォロジー演算のステップ３５３（１）として、転送演算処理３５１と画像シフト処理３５２とを並列に実行する。転送演算処理３５１では、構造要素の（−Ｘ２，０）−（Ｘ１，０）の定義に従って、自分とその左右のＰＥ１２の原画像フィールドＣ３３１とのデータを、自分のＰＥ１２へ転送、演算を行い、この演算結果を処理画像フィールドＣ＋３３２に格納する。演算種別は、上記したように、たとえばダイレーションでは、原画像が２値であり、構造要素３４１が２値である場合、論理和演算を行う。画像シフト処理３５２は、上ＰＥ１２の原画像フィールドＣ３３１をシフト画像フィールドＵＤ1 ３３３に転送する。これによって、画像フィールドＵＤ1 ３３３に、原画像フィールドＣ３３１のデータを１画素分シフトダウンしたデータが格納される。
【０１８１】
次に、モルフォロジー演算のステップ３５３（２）として、転送演算処理３５１と画像シフト処理３５２とを並列に実行する。転送演算処理３５１では、構造要素の（−Ｘ２，１）−（Ｘ１，１）の定義に従って、自分とその左右のＰＥ１２のシフト画像フィールドＵＤ1 ３３３とのデータを、自分のＰＥ１２へ転送し、演算を行い、この演算結果を処理画像フィールドＣ＋３３２に格納する。画像シフト処理３５２は、上ＰＥ１２のシフト画像フィールドＵＤ1 ３３３を、シフト画像フィールドＵＤ2 ３３４に転送する。
【０１８２】
上記と同様の処理を、ステップ３５３（３）から、ステップ３５３（Ｙ１）まで繰り返す。この場合、画像シフト処理３５２は、シフト画像フィールドＵＤ1 ３３３とシフト画像フィールドＵＤ2 ３３４とを交互に入れ換えて処理する。
【０１８３】
次に、モルフォロジー演算のステップ３５３（Ｙ１＋１）として、転送演算処理３５１と画像シフト処理３５２とを並列に実行する。転送演算処理３５１では、構造要素の（−Ｘ２，Ｙ１）−（Ｘ１，Ｙ１）の定義に従って、自分とその左右のＰＥ１２のシフト画像フィールドＵＤ1 ３３３（またはシフト画像フィールドＵＤ2 ３３４）とのデータを、自分のＰＥ１２へ転送し、演算し、その演算結果を処理画像フィールドＣ＋３３２に格納する。画像シフト処理３５２では、下ＰＥ１２の原画像フィールドＣ３３１をシフト画像フィールドＵＤ1 ３３３（またはシフト画像フィールドＵＤ2 ３３４）に転送する。これによって、画像フィールドＵＤ1 （またはシフト画像フィールドＵＤ2 ３３４）に、原画像フィールドＣ３３１のデータを１画素分シフトアップしたデータが格納される。
【０１８４】
次に、モルフォロジー演算のステップ３５３（Ｙ１＋２）として、転送演算処理３５１と画像シフト処理３５２とを並列に実行する。転送演算処理３５１において、構造要素の（−Ｘ２，−１）−（Ｘ１，−１）の定義に従って、自分とその左右のＰＥ１２のシフト画像フィールドＵＤ1 ３３３（またはシフト画像フィールドＵＤ2 ３３４）とのデータを、自分のＰＥ１２へ転送し、演算し、この演算結果を処理画像フィールドＣ＋３３２に格納する。画像シフト処理３５２は、下ＰＥ１２のシフトフィールドＵＤ1 ３３３（またはシフト画像フィールドＵＤ2 ３３４）を、シフト画像フィールドＵＤ2 ３３４（またはシフト画像フィールドＵＤ1 ３３３）に転送する。
【０１８５】
上記と同様の処理を、ステップ（Ｙ１＋３）からステップ（Ｙ１＋Ｙ２）まで繰り返す。この場合、画像シフト処理３５２では、シフト画像フィールドＵＤ1 ３３３とシフト画像フィールドＵＤ2 ３３４とを交互に入れ換えて処理する。
【０１８６】
最後に、モルフォロジー演算のステップ３５３（Ｙ１＋Ｙ２＋１）として、転送演算処理３５１を実行する。転送演算処理３５１では、構造要素の（−Ｘ２，−Ｙ２）−（Ｘ１，−Ｙ２）の定義に従って、自分とその左右のＰＥ１２のシフト画像フィールドＵＤ1 ３３３（またはシフト画像フィールドＵＤ2 ３３４）とのデータを、自分のＰＥ１２へ転送し、演算し、その演算結果を処理画像フィールドＣ＋３３２に格納する。
【０１８７】
図２６は、図２５に示す処理ステップ３５３（１）を例にとって、転送演算処理３５１を詳細に示すフローチャートである。
【０１８８】
転送演算処理３５１は、自ＰＥ１２に対する転送演算処理６１と、左ＰＥ１２に対する転送演算処理３６２と、右ＰＥ１２に対する転送演算処理３６３とに分けて実行する。
【０１８９】
自ＰＥ１２に対する転送演算処理３６１では、まず、連想メモリ１１のマスクレジスタ２２に、原画像フィールドＣ３３１の特定ビット以外をマスクするデータを設定し、「１」で検索を行うことによって、ビットフラグレジスタ２７へ、原画像フィールドＣ３３１の特定ビットの内容を転送する。
【０１９０】
次に、シフト画像フィールドＲＬ３３５の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに、「１」を並列部分書き込みする。上記手順を原画像フィールドＣ３３１のビット数分だけ繰り返す。
【０１９１】
次に、対応する構造要素（この場合、原点（０，０）が定義されていたら、演算処理を行い、その結果を処理画像フィールドＣ＋３３２に格納する。演算の種別は、上記したように、たとえばダイレーションで原画像が多値であり、構造要素３４１が２値である場合、最大値演算を行う。
【０１９２】
左ＰＥ１２に対する転送演算処理３６２では、まず、マスクレジスタ２２にシフト画像フィールドＲＬ３３５（最初だけ原画像フィールドＣ３３１）の特定ビット以外をマスクするデータを設定し、「１」で検索を行うことによって、ヒットフラグレジスタ２７へ、シフト画像フィールドＲＬ３３５（最初だけ原画像フィールドＣ３３１）の特定ビットの内容を転送する。
【０１９３】
次に、ヒットフラグレジスタ２７をｍ回シフトダウンし、シフト画像フィールドＲＬ３３５の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに「１」を並列部分書き込みする。上記手順を、シフト画像フィールドＲＬ３３５のビット数分だけ繰り返す。次に、対応する構造要素（この場合（−１，０）が定義されていたら、演算処理を行い、この結果を処理画像フィールドＣ＋３３２に格納する。上記手順を（−２，０）−（−Ｘ２，０）で定義されている構造要素がなくなるまで繰り返す。
【０１９４】
右ＰＥ１２に対する転送演算処理３６３では、まず、マスクレジスタ２２にシフト画像フィールドＲＬ３３５（最初だけ原画像フィールドＣ３３１）の特定ビット以外をマスクするデータを設定し、「１」で検索を行うことによって、ヒットフラグレジスタ２７へシフト画像フィールドＲＬ３３５（最初だけ原画像フィールドＣ３３１）の特定ビットの内容を転送する。
【０１９５】
次に、ヒットフラグレジスタ２７をｍ回シフトアップし、シフト画像フィールドＲＬ３３５の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに、「１」の並列部分書き込みする。上記手順を、シフト画像フィールドＲＬ３３５のビット数分だけ繰り返す。次に、対応する構造要素（この場合（１，０）が定義されていたら、演算処理を行い、この結果を処理画像フィールドＣ＋３３２に格納する。上記手順を、（２，０）−（Ｘ１，０）で定義されている構造要素がなくなるまで繰り返す。
【０１９６】
上記処理によって、（−Ｘ２，０）−（Ｘ１，０）に分布する構造要素に対するモルフォロジー演算処理が終わる。上記処理は、処理ステップ２からＹ１＋Ｙ２＋１の転送演算処理も同様に実行し、全ステップ終了後には、全ての構造要素に対するモルフォロジー演算処理が終わる。
【０１９７】
図２７は、処理ステップ３５３（１）を例にとって、画像シフト処理手順３５２を詳細に示すフローチャートである。
【０１９８】
画像シフト処理手順３５２は、内部ワード転送３７１……下位境界ワード群１５の下ＰＥへのデータ転送以外の全ての転送と、上位、下位境界ワード転送３７２……下位境界ワード群１５の下ＰＥへのデータ転送とに分けて実行する。
【０１９９】
内部ワード転送３７１では、まず、マスクレジスタ２２に、原画像フィールドＣ３３１の特定ビット以外をマスクするデータを設定し、「１」で検索することによって、ヒットフラグレジスタ２７へ、原画像フィールドＣ３３１の特定ビットの内容を転送する。次に、ヒットフラグレジスタ２７を１回シフトダウンし、シフト画像フィールドＵＤ1 ３３３の対応ビットで、ヒットフラグレジスタ２７が「１」のワードに「１」を並列部分書き込みする。上記手順を原画像フィールドＣ３３１のビット数分だけ繰り返す。
【０２００】
上位、下位境界ワード転送３７２では、まず、奇数メモリ群９１の下位ワード群１５に属する特定のワードの原画像フィールドＣ３３１の全ビットを、対応する偶数メモリ群９２の上位ワード群１３のワードのシフト画像フィールドＵＤ1 ３３３へ転送する。次に、偶数メモリ群９２の下位ワード群１５に属する特定のワードの原画像フィールドＣ３３１の全ビットを、対応する奇数メモリ群９１の上位ワード群１３のワードのシフト画像フィールドＵＤ1 ３３３へ転送する。これらの転送は、連想メモリ１１のアドレスを用いたワードへのデータ書き込み、読み出し機能を用いて行う。
【０２０１】
上記処理は、ステップ３５３（Ｙ１＋１）等のシフトアップ処理に対しても、同様に実行できる。
【０２０２】
ヒットフラグレジスタ２７のシフト動作は、上記アドレスを用いたワードへのデータ書き込み、読み出しと同時に行うモードを有するので、画像シフト処理手順３５２の上位、下位境界ワード転送３７２は、転送演算処理３５１のヒットフラグをシフトダウン、シフトアップ動作を同時に行うことができ、モルフォロジー演算処理を効率よく行うことができる。
【０２０３】
上記処理フローチャートを、プログラムまたは状態遷移の形で制御部１８に搭載し、連想メモリアレイ部１７に対して、順次命令を与えることによって、上記実施の形態である２次元ＰＥアレイ装置ＭＳ１は、任意の形状、大きさの構造要素に対するモルフォロジー演算処理を実行することができる。
【０２０４】
上記実施の形態である２次元ＰＥアレイ装置ＭＳ１は、原画像の画素と同数のＰＥを持った２次元ＰＥを有する構成をとることによって、処理速度は、原画像の大きさに依存しない。また、連想メモリのワードにシフト画像フィールドを設け、上記シフト画像フィールドに隣接画素のデータを順次、転送しながらモルフォロジー演算処理を行うことによって、処理可能な構造要素の大きさに制限がない。したがって、大きな構造要素、大きな原画像に対して、少ない処理時間でモルフォロジー演算処理を実行することができ、高性能なモルフォロジー演算処理装置を実現することができる。
【０２０５】
また、上記実施の形態で用いる連想メモリは、集積度の極めて高いメモリ技術をベースとして構成できるので、小量のハード量で、１つのＰＥとデータ転送パスとを実現できる。したがって、少ないハード量で２次元ＰＥアレイ装置ＭＳ１を実現することができ、また、２次元ＰＥアレイ装置ＭＳ１の装置コストが低くなる。
【０２０６】
【発明の効果】
請求項１記載の発明によれば、全体のデータ転送時間を抑え、しかもハードウェア量を少なくしたので、高性能なＰＥアレイ装置を実現できる。
また、請求項１記載の発明によれば、制御部を設けたので、転送時間のさらに短い２次元ＰＥアレイ装置を実現できる。
【０２１０】
請求項２記載の発明によれば、全体のデータ転送時間をさらに抑えた連想メモリを用いるので、転送時間のさらに短い２次元ＰＥアレイ装置を実現できる。
【０２１３】
請求項３記載の発明によれば、全体のデータ転送時間をさらに抑えることができるので、転送時間のさらに短いデータ転送方法を実現できる。
【０２１４】
請求項４記載の発明によれば、全体のデータ転送時間をさらに抑えることができるので、転送時間のさらに短いデータ転送方法を実現できる。
【０２１６】
請求項５記載の発明によれば、全体のデータ転送時間を抑え、しかもハードウェア量を少なくしたので、高性能な２次元ＰＥアレイ装置を実現することができる。
【０２１７】
請求項６記載の発明によれば、全体のデータ転送時間を抑え、しかもハードウェア量を少なくしたので、高性能なモルフォロジー演算処理方法を実現することができる。
【０２１８】
請求項７記載の発明によれば、全体のデータ転送時間をさらに抑えたので、さらに高性能なモルフォロジー演算処理方法を実現することができる。
【０２１９】
請求項８記載の発明によれば、全体のデータ転送時間を抑え、しかもハードウェア量を少なくしたので、高性能なモルフォロジー演算処理方法を実現することができる。
【０２２０】
請求項９記載の発明によれば、全体のデータ転送時間を抑え、しかもハードウェア量を少なくしたので、高性能なモルフォロジー演算処理方法を実現することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態である２次元ＰＥアレイ装置ＰＥＡ１の基本構成を示す図である。
【図２】上記２次元ＰＥアレイ装置ＰＥＡ１を構成する連想メモリ１１(1,1) を示す図である。
【図３】上記実施の形態において、右、下、左、上の４隣接のＰＥにデータ転送する場合における連想メモリ１１(1,1) のワードの割り付け法を示す図である。
【図４】上記実施の形態において、右、右下、下、左下、左、左上、上、右上の８隣接のＰＥにデータ転送する場合における連想メモリ１１(1,1) のワードの割り付け法を示す図である。
【図５】２次元ＰＥアレイ装置ＰＥＡ１における全体の処理手順を示すフローチャートである。
【図６】上記実施の形態において、４隣接内部ワード転送手順を示すフローチャートである。
【図７】上記実施の形態における８隣接内部ワード転送手順を示すフローチャートである。
【図８】本発明の実施の形態２における上位、下位境界ワード転送手順５３を示すフローチャートである。
【図９】上記実施の形態２において、４隣接における奇数連想メモリ群９１の下位ワード群１５の１ワードを、偶数連想メモリ群９２へ転送する例を示す図である。
【図１０】上記実施の形態２において、４隣接における偶数連想メモリ群９２の下位ワード群１５の１ワードを、奇数連想メモリ群９１へ転送する例を示す図である。
【図１１】上記実施の形態２において、４隣接における奇数連想メモリ群９１の上位ワード群１３の１ワードを、偶数連想メモリ群９２へ転送する例を示す図である。
【図１２】上記実施の形態２において、４隣接における偶数連想メモリ群９２の上位ワード群１３の１ワードを、奇数連想メモリ群９１へ転送する例を示す図である。
【図１３】本発明の実施の形態３である２次元ＰＥアレイ装置ＰＥＡ３において、連想メモリ１１のワード２４のＰＥへの割り付け方法（４隣接の場合）を示す図である。
【図１４】右、下、左、上の４隣接のＰＥに対するデータ転送機能を有する２次元ＰＥアレイ装置を実現するための連想メモリのワードの割り付け法を示す図である。
【図１５】右、右下、下、左下、左、左上、上、右上の８隣接のＰＥに対するデータ転送機能を有する２次元ＰＥアレイ装置を実現するための連想メモリのワードの割り付け法を示した図である。
【図１６】ワード種類識別フィールドI １４８または１５１２を示す図である。
【図１７】上記に示した構成をとる２次元ＰＥアレイ装置を用いて種々の処理を行なう全体の処理手順を示した図である。
【図１８】隣接ＰＥへのデータ転送１７３のうち内部ワード転送１７１に関する４隣接内部ワード転送手順を示す図である。
【図１９】隣接ＰＥへのデータ転送１７３のうち内部ワード転送１７１に関する８隣接内部ワード転送手順を示す図である。
【図２０】連想メモリ１１の１つのワード２４に２個のＰＥを割り付けた場合における２次元ＰＥアレイ装置の構成例を示す図である。
【図２１】連想メモリ１１の１つのワード２４に２個のＰＥを割り付けた場合における４隣接ＰＥへの内部ワード転送手順（５２）を示すフローチャートである。
【図２２】本発明の他の実施の形態である２次元ＰＥアレイ装置ＭＳ１の基本構成を示す図である。
【図２３】２次元ＰＥアレイ装置ＭＳ１で使用する連想メモリ１１における各ワード２４のフィールド構成を詳細に示す図である。
【図２４】モルフォロジーの構造要素を定義した図である。
【図２５】上記実施の形態におけるモルフォロジー演算処理の全体の出力手順を示すフローチャートである。
【図２６】図２５に示す処理ステップ３５３（１）を例にとって、転送演算処理３５１を詳細に示すフローチャートである。
【図２７】処理ステップ３５３（１）を例にとって、画像シフト処理手順２５２を詳細に示すフローチャートである。
【図２８】従来の２次元ＰＥアレイ装置ＰＥＡ１１を示す図である。
【図２９】従来の２次元ＰＥアレイ装置ＰＥＡ１２を示す図である。
【図３０】従来の連想メモリＭ１１を示す図である。
【図３１】従来のモルフォロジー演算処理装置を示す図である。
【符号の説明】
ＰＥＡ１，ＰＥＡ３  ２次元ＰＥアレイ装置
ＭＳ１  モルフォロジー演算処理装置
１１  連想メモリ
１２  連想メモリの１ワード
１３  上位境界ワード群
１４  内部ワード群
１５  下位境界ワード群
１６  連想メモリ間ヒットフラグシフト線
【図１】
0003726977.tif 000002
【図２】
0003726977.tif 000003
【図３】
0003726977.tif 000004
【図４】
0003726977.tif 000005
【図５】
0003726977.tif 000006
【図６】
0003726977.tif 000007
【図７】
0003726977.tif 000008
【図８】
0003726977.tif 000009
【図９】
0003726977.tif 000010
【図１０】
0003726977.tif 000011
【図１１】
0003726977.tif 000012
【図１２】
0003726977.tif 000013
【図１３】
0003726977.tif 000014
【図１４】
0003726977.tif 000015
【図１５】
0003726977.tif 000016
【図１６】
0003726977.tif 000017
【図１７】
0003726977.tif 000018
【図１８】
0003726977.tif 000019
【図１９】
0003726977.tif 000020
【図２０】
0003726977.tif 000021
【図２１】
0003726977.tif 000022
【図２２】
0003726977.tif 000023
【図２３】
0003726977.tif 000024
【図２４】
0003726977.tif 000025
【図２５】
0003726977.tif 000026
【図２６】
0003726977.tif 000027
【図２７】
0003726977.tif 000028
【図２８】
0003726977.tif 000029
【図２９】
0003726977.tif 000030
【図３０】
0003726977.tif 000031
【図３１】
0003726977.tif 000032