(57)【特許請求の範囲】
【請求項１】
データに算術演算処理を施すための演算手段と、
外部からデータ信号を入力して前記演算手段にデータを供給するための第１のインターフェイス手段と、
前記演算手段から算術演算処理が施されたデータの供給を受けて外部へデータ信号を出力するための第２のインターフェイス手段とを備え、
前記演算手段は、２以上の整数Ｍに対して１≦ｘ≦Ｍかつｘ≦ｙ≦Ｍを満たす２個の添字ｘ，ｙで指定される並列動作が可能なＬ個（ただし、Ｌは１からＭまでの整数の和）の演算セルＥ［ｘ，ｙ］のみのアレイを有し、
演算セルＥ［１，ｙ］（１≦ｙ≦Ｍ）の入力データは前記第１のインターフェイス手段から供給され、
演算セルＥ［ｘ，ｙ］（２≦ｘ≦Ｍかつｘ≦ｙ≦Ｍ）の入力データは演算セルＥ［ｘ−１，ｙ］及び演算セルＥ［ｘ−１，ｙ−１］から各々個別のバスを介して供給され、
演算セルＥ［Ｍ，Ｍ］の出力データは前記第２のインターフェイス手段へ供給されることを特徴とする信号処理装置。
【請求項２】
請求項１記載の信号処理装置において、
前記第１のインターフェイス手段は、各々データを保持するための互いに縦続接続されたＭ−１個のデータ保持手段を有することを特徴とする信号処理装置。
【請求項３】
請求項１記載の信号処理装置において、
前記演算手段中の演算セルＥ［ｘ，ｙ］（１≦ｘ≦Ｍかつｘ≦ｙ≦Ｍ）は、積和演算のための乗算器と加算器とを有することを特徴とする信号処理装置。
【請求項４】
請求項３記載の信号処理装置において、
前記演算手段中の演算セルＥ［ｘ，ｙ］（１≦ｘ≦Ｍかつｘ≦ｙ≦Ｍ）は、前記乗算器の一方の入力に係数を供給するための書き替え可能な係数レジスタを更に有することを特徴とする信号処理装置。
【請求項５】
データに算術演算処理を施すための演算手段と、
各々外部からデータ信号を入力して前記演算手段にデータを供給し、かつ前記演算手段から算術演算処理が施されたデータの供給を受けて外部へデータ信号を出力するための第１及び第２のインターフェイス手段とを備え、
前記演算手段は、２以上の整数Ｍに対して１≦ｘ≦Ｍかつ１≦ｙ≦Ｍ＋１を満たす２個の添字ｘ，ｙで指定される並列動作が可能な複数の演算セルＥ［ｘ，ｙ］のアレイを有し、
演算セルＥ［１，ｙ］（２≦ｙ≦Ｍ＋１）の入力データは前記第１のインターフェイス手段から供給され、
演算セルＥ［ｘ，ｙ］（２≦ｘ≦Ｍかつｘ＋１≦ｙ≦Ｍ＋１）の入力データは演算セルＥ［ｘ−１，ｙ］及び演算セルＥ［ｘ−１，ｙ−１］から供給され、
演算セルＥ［Ｍ，Ｍ＋１］の出力データは前記第２のインターフェイス手段へ供給され、
演算セルＥ［Ｍ，ｙ］（１≦ｙ≦Ｍ）の入力データは前記第２のインターフェイス手段から供給され、
演算セルＥ［ｘ，ｙ］（１≦ｘ≦Ｍ−１かつ１≦ｙ≦ｘ）の入力データは演算セルＥ［ｘ＋１，ｙ］及び演算セルＥ［ｘ＋１，ｙ＋１］から供給され、
演算セルＥ［１，１］の出力データは前記第１のインターフェイス手段へ供給されることを特徴とする信号処理装置。
【請求項６】
データに算術演算処理を施すための演算手段と、
外部からデータ信号を入力して前記演算手段にデータを供給するための第１のインターフェイス手段と、
前記演算手段から算術演算処理が施されたデータの供給を受けて外部へデータ信号を出力するための第２のインターフェイス手段とを備え、
前記演算手段は、
２以上の整数Ｍに対して１≦ｘ≦Ｍかつｘ≦ｙ≦Ｍを満たす２個の添字ｘ，ｙで指定される並列動作が可能なＬ個（ただし、Ｌは１からＭまでの整数の和）の演算セルＥ［ｘ，ｙ］のみのアレイと、
１以上かつＭ−１以下の整数ｋの各々に対して演算セルＥ［ｋ，ｙ］（ｋ≦ｙ≦Ｍ）と演算セルＥ［ｋ＋１，ｙ］（ｋ＋１≦ｙ≦Ｍ）との間に介在した時分割多重の共通バスＢ［ｋ］とを有し、
演算セルＥ［１，ｙ］（１≦ｙ≦Ｍ）の入力データは前記第１のインターフェイス手段から供給され、
演算セルＥ［ｋ＋１，ｙ］（ｋ＋１≦ｙ≦Ｍ）の入力データは演算セルＥ［ｋ，ｙ］（ｋ≦ｙ≦Ｍ）から共通バスＢ［ｋ］を介して供給され、
演算セルＥ［Ｍ，Ｍ］の出力データは前記第２のインターフェイス手段へ供給されることを特徴とする信号処理装置。
【請求項７】
請求項６記載の信号処理装置において、
前記第１のインターフェイス手段は、各々データを保持するための互いに縦続接続されたＭ−１個のデータ保持手段を有することを特徴とする信号処理装置。
【請求項８】
請求項６記載の信号処理装置において、
前記演算手段中の演算セルＥ［ｋ＋１，ｙ］（ｋ＋１≦ｙ≦Ｍ）は、書き替え可能なレジスタを有し、該レジスタに設定された値と予め付与された値とが一致したときに共通バスＢ［ｋ］からデータを入力することを特徴とする信号処理装置。
【請求項９】
請求項６記載の信号処理装置において、
前記演算手段中の演算セルＥ［ｋ＋１，ｙ］（ｋ＋１≦ｙ≦Ｍ）は、クロックに応じて順次更新されるカウンタを有し、該カウンタの保持値と予め付与された値とが一致したときに共通バスＢ［ｋ］からデータを入力することを特徴とする信号処理装置。
【請求項１０】
請求項６記載の信号処理装置において、
前記演算手段中の演算セルＥ［ｋ，ｙ］（ｋ≦ｙ≦Ｍ）は、書き替え可能なレジスタを有し、該レジスタに設定された値と予め付与された値とが一致したときに共通バスＢ［ｋ］へデータを出力することを特徴とする信号処理装置。
【請求項１１】
請求項６記載の信号処理装置において、
前記演算手段中の演算セルＥ［ｋ，ｙ］（ｋ≦ｙ≦Ｍ）は、クロックに応じて順次更新されるカウンタを有し、該カウンタの保持値と予め付与された値とが一致したときに共通バスＢ［ｋ］へデータを出力することを特徴とする信号処理装置。
【請求項１２】
請求項６記載の信号処理装置において、
前記演算手段中の演算セルＥ［ｘ，ｙ］（１≦ｘ≦Ｍかつｘ≦ｙ≦Ｍ）は、積和演算のための乗算器と加算器とを有することを特徴とする信号処理装置。
【請求項１３】
請求項１２記載の信号処理装置において、
前記演算手段中の演算セルＥ［ｘ，ｙ］（１≦ｘ≦Ｍかつｘ≦ｙ≦Ｍ）は、前記乗算器の一方の入力に係数を供給するための書き替え可能な係数レジスタを更に有することを特徴とする信号処理装置。
【請求項１４】
請求項６記載の信号処理装置において、
前記第１のインターフェイス手段と前記演算手段の共通バスＢ［ｋ］（１≦ｋ≦Ｍ−１）との間に介在したバイパスバスを更に備えたことを特徴とする信号処理装置。
【請求項１５】
請求項６記載の信号処理装置において、
前記演算手段の共通バスＢ［ｋ］（１≦ｋ≦Ｍ−１）と前記第２のインターフェイス手段との間に介在したバイパスバスを更に備えたことを特徴とする信号処理装置。
【請求項１６】
請求項６記載の信号処理装置において、
前記演算手段の複数の共通バスＢ［ｋ］（Ｍ≧３かつ１≦ｋ≦Ｍ−１）のうちの少なくとも２つの間に介在したバイパスバスを更に備えたことを特徴とする信号処理装置。
【請求項１７】
データに算術演算処理を施すための演算手段と、
各々外部からデータ信号を入力して前記演算手段にデータを供給し、かつ前記演算手段から算術演算処理が施されたデータの供給を受けて外部へデータ信号を出力するための第１及び第２のインターフェイス手段とを備え、
前記演算手段は、
２以上の整数Ｍに対して１≦ｘ≦Ｍかつ１≦ｙ≦Ｍ＋１を満たす２個の添字ｘ，ｙで指定される並列動作が可能な複数の演算セルＥ［ｘ，ｙ］のアレイと、
１以上かつＭ−１以下の整数ｋの各々に対して演算セルＥ［ｋ，ｙ］（１≦ｙ≦Ｍ＋１）と演算セルＥ［ｋ＋１，ｙ］（１≦ｙ≦Ｍ＋１）との間に介在した時分割多重の共通バスＢ［ｋ］とを有し、
演算セルＥ［１，ｙ］（２≦ｙ≦Ｍ＋１）の入力データは前記第１のインターフェイス手段から供給され、
演算セルＥ［ｋ＋１，ｙ］（ｋ＋２≦ｙ≦Ｍ＋１）の入力データは演算セルＥ［ｋ，ｙ］（ｋ＋１≦ｙ≦Ｍ＋１）及び演算セルＥ［ｋ＋１，ｙ］（１≦ｙ≦ｋ＋１）から共通バスＢ［ｋ］を介して供給され、
演算セルＥ［Ｍ，Ｍ＋１］の出力データは前記第２のインターフェイス手段へ供給され、
演算セルＥ［Ｍ，ｙ］（１≦ｙ≦Ｍ）の入力データは前記第２のインターフェイス手段から供給され、
演算セルＥ［ｋ，ｙ］（１≦ｙ≦ｋ）の入力データは演算セルＥ［ｋ＋１，ｙ］（１≦ｙ≦ｋ＋１）及び演算セルＥ［ｋ，ｙ］（ｋ＋１≦ｙ≦Ｍ＋１）から共通バスＢ［ｋ］を介して供給され、
演算セルＥ［１，１］の出力データは前記第１のインターフェイス手段へ供給されることを特徴とする信号処理装置。
【請求項１８】
データに算術演算処理を施すための演算手段と、
外部からデータ信号を入力して前記演算手段にデータを供給するための第１のインターフェイス手段と、
前記演算手段から算術演算処理が施されたデータの供給を受けて外部へデータ信号を出力するための第２のインターフェイス手段とを備え、
前記演算手段は、２以上の整数Ｍ、Ｎ（ただし、Ｍ≦Ｎ）に対して１≦ｘ≦Ｍかつｘ≦ｙ≦Ｎを満たす２個の添字ｘ，ｙで指定される並列動作が可能なＬ個（ただし、ＬはＮ−Ｍ＋１からＮまでの整数の和）の演算セルＥ［ｘ，ｙ］のみのアレイを有し、
演算セルＥ［１，ｙ］（１≦ｙ≦Ｎ）の入力データは前記第１のインターフェイス手段から供給され、
演算セルＥ［ｘ，ｙ］（２≦ｘ≦Ｍかつｘ≦ｙ≦Ｎ）の入力データは演算セルＥ［ｘ−１，ｙ］及び演算セルＥ［ｘ−１，ｙ−１］から各々個別のバスを介して供給され、
演算セルＥ［Ｍ，ｙ］（Ｍ≦ｙ≦Ｎ）の出力データは前記第２のインターフェイス手段へ供給されることを特徴とする信号処理装置。
【請求項１９】
データに算術演算処理を施すための演算手段と、
外部からデータ信号を入力して前記演算手段にデータを供給するための第１のインターフェイス手段と、
前記演算手段から算術演算処理が施されたデータの供給を受けて外部へデータ信号を出力するための第２のインターフェイス手段とを備え、
前記演算手段は、
２以上の整数Ｍ、Ｎ（ただし、Ｍ≦Ｎ）に対して１≦ｘ≦Ｍかつｘ≦ｙ≦Ｎを満たす２個の添字ｘ，ｙで指定される並列動作が可能なＬ個（ただし、ＬはＮ−Ｍ＋１からＮまでの整数の和）の演算セルＥ［ｘ，ｙ］のみのアレイと、
１以上かつＭ−１以下の整数ｋの各々に対して演算セルＥ［ｋ，ｙ］（ｋ≦ｙ≦Ｎ）と演算セルＥ［ｋ＋１，ｙ］（ｋ＋１≦ｙ≦Ｎ）との間に介在した時分割多重の共通バスＢ［ｋ］とを有し、
演算セルＥ［１，ｙ］（１≦ｙ≦Ｎ）の入力データは前記第１のインターフェイス手段から供給され、
演算セルＥ［ｋ＋１，ｙ］（ｋ＋１≦ｙ≦Ｎ）の入力データは演算セルＥ［ｋ，ｙ］（ｋ≦ｙ≦Ｎ）から共通バスＢ［ｋ］を介して供給され、
演算セルＥ［Ｍ，ｙ］（Ｍ≦ｙ≦Ｎ）の出力データは前記第２のインターフェイス手段へ供給されることを特徴とする信号処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置などの信号処理装置に関するものである。
【０００２】
【従来の技術】
近年、動画や静止画のための画像処理の分野では、ハイパスフィルタやロウパスフィルタなどのアナログフィルタのデジタル化が進んでいる。また、マルチメディアなどに対応するため、複数のフィルタ演算が可能なハードウェアが要求されている。
【０００３】
C.Joanblanq, et al.,"A 54-MHz CMOS Programmable Video Signal Processor for HDTV Applications",IEEE Journal of Solid-State Circuits,Vol.25,No.3,pp.730-734,June 1990 には、ＨＤＴＶのためのプログラマブルなデジタル信号処理装置が示されている。これは、各々乗算器と加算器とを有する複数の積和演算セルを縦続接続してなる演算器を１チップに収めたものである。この信号処理装置によれば、例えば係数をａ1 ，ａ2 ，ａ3 とし、ｉ番目の入力データ（画素データ）をｇi としたとき、縦続接続された３個の積和演算セルによって、３タップの水平フィルタ演算ａ1 ×ｇi ＋ａ2 ×ｇ(i+1) ＋ａ3 ×ｇ(i+2) が実行される。
【０００４】
画像の処理速度を向上させるためには、上記のような複数の積和演算セルを並列動作させる必要がある。
【０００５】
特開昭５９−１７２０６４号には、多数のＭＰＵ（マイクロプロセッサ・ユニット）を表示画素に対応する２次元格子状に配置し、各ＭＰＵで画像処理演算を並列実行するようにした画像処理装置が提案されている。この画像処理装置では、各ＭＰＵと上下左右に隣接する４個のＭＰＵとの間にそれぞれデータバスが設けられている。
【０００６】
また、特開昭６０−１５９９７３号には、複数のＰＥ（プロセッサ・エレメント）と複数のＭＥ（メモリ・エレメント）とを有し、全てのＰＥと全てのＭＥとを複数の共通バスにそれぞれ接続してなる画像処理装置が提案されている。この画像処理装置では、各々複数の共通バスのうちのいずれのバスを使用すべきかを示すバス番号が各ＰＥ及び各ＭＥに与えられる。
【０００７】
【発明が解決しようとする課題】
フィルタ処理は、多入力・１出力の収束型処理である。したがって、並列動作可能な多数の積和演算セルを２次元格子状に配置し、これらの間を縦横にデータバスで接続してなるフィルタ構成を採用する場合には、データバスの構成が冗長になる。また、並列動作可能な全ての積和演算セルを複数の共通バスにそれぞれ接続してなるフィルタ構成を採用する場合には、共通バスの選択制御が冗長になる。
【０００８】
本発明の目的は、小さいバス構成で並列処理を実行できる収束型処理に適した信号処理装置を提供することにある。
【０００９】
【課題を解決するための手段】
上記の目的を達成するために、本発明に係る第１の信号処理装置は、図６に例示するように、並列動作可能な複数の演算セルをピラミッド状の階層構造をなすように２次元配置し、かつ木構造をなすように該演算セルをデータバスで連結してなるものである。具体的には、本発明の第１の信号処理装置は、データに算術演算処理を施すための演算手段と、外部からデータ信号を入力して前記演算手段にデータを供給するための第１のインターフェイス手段と、前記演算手段から算術演算処理が施されたデータの供給を受けて外部へデータ信号を出力するための第２のインターフェイス手段とを備えたものであって、前記演算手段は２以上の整数Ｍに対して１≦ｘ≦Ｍかつｘ≦ｙ≦Ｍを満たす２個の添字ｘ，ｙで指定される並列動作が可能なＬ個（ただし、Ｌは１からＭまでの整数の和）の演算セルＥ［ｘ，ｙ］のみのアレイを有し、演算セルＥ［１，ｙ］（１≦ｙ≦Ｍ）の入力データは第１のインターフェイス手段から供給され、演算セルＥ［ｘ，ｙ］（２≦ｘ≦Ｍかつｘ≦ｙ≦Ｍ）の入力データは演算セルＥ［ｘ−１，ｙ］及び演算セルＥ［ｘ−１，ｙ−１］から各々個別のバスを介して供給され、演算セルＥ［Ｍ，Ｍ］の出力データは第２のインターフェイス手段へ供給されるものである。
【００１０】
上記第１の信号処理装置によれば、複数の演算セルの並列動作により多入力・１出力の収束型処理が実行される。しかも、収束型処理に適合した木構造のデータバスを採用したので、バス構成が小さくなる。
【００１１】
本発明に係る第２の信号処理装置は、図１５に例示するように、並列動作可能な複数の演算セルをピラミッド状の階層構造をなすように２次元配置し、かつ各階層間に個別の共通バスを設けた構成を採用したものである。具体的には、本発明の第２の信号処理装置は、データに算術演算処理を施すための演算手段と、外部からデータ信号を入力して前記演算手段にデータを供給するための第１のインターフェイス手段と、前記演算手段から算術演算処理が施されたデータの供給を受けて外部へデータ信号を出力するための第２のインターフェイス手段とを備えたものであって、前記演算手段は、２以上の整数Ｍに対して１≦ｘ≦Ｍかつｘ≦ｙ≦Ｍを満たす２個の添字ｘ，ｙで指定される並列動作が可能なＬ個（ただし、Ｌは１からＭまでの整数の和）の演算セルＥ［ｘ，ｙ］のみのアレイと、１以上かつＭ−１以下の整数ｋの各々に対して演算セルＥ［ｋ，ｙ］（ｋ≦ｙ≦Ｍ）と演算セルＥ［ｋ＋１，ｙ］（ｋ＋１≦ｙ≦Ｍ）との間に介在した時分割多重の共通バスＢ［ｋ］とを有し、演算セルＥ［１，ｙ］（１≦ｙ≦Ｍ）の入力データは第１のインターフェイス手段から供給され、演算セルＥ［ｋ＋１，ｙ］（ｋ＋１≦ｙ≦Ｍ）の入力データは演算セルＥ［ｋ，ｙ］（ｋ≦ｙ≦Ｍ）から共通バスＢ［ｋ］を介して供給され、演算セルＥ［Ｍ，Ｍ］の出力データは第２のインターフェイス手段へ供給されるものである。
【００１２】
上記第２の信号処理装置によれば、複数の演算セルの並列動作により多入力・１出力の収束型処理が実行される。しかも、各階層間に時分割多重の共通バスをそれぞれ設けたので、バス構成が小さくなるとともに、収束型処理に適合した共通バスの利用を実現できる。
【００１３】
【発明の実施の形態】
以下、本発明の実施例に係る信号処理装置としての９個の画像処理装置について、図面を参照しながら説明する。
【００１４】
（実施例１）
図１は、本発明の第１の実施例に係る画像処理装置のブロック図である。図１中の１００は、各々列番号ｘ（１≦ｘ≦４）及び行番号ｙ（１≦ｙ≦４）で指定される並列動作が可能な１６個の演算セル（Ｅ［ｘ，ｙ］）１０３を備えた演算アレイである。この演算アレイ１００は、入力部１０２から供給されたデータに算術演算処理を施し、その結果を出力部１２０へ供給するものである。第１列の演算セルＥ［１，ｙ］（１≦ｙ≦４）をＡ１，Ｂ１，Ｃ１及びＤ１、第２列の演算セルＥ［２，ｙ］（１≦ｙ≦４）をＡ２，Ｂ２，Ｃ２及びＤ２、第３列の演算セルＥ［３，ｙ］（１≦ｙ≦４）をＡ３，Ｂ３，Ｃ３及びＤ３、第４列の演算セルＥ［４，ｙ］（１≦ｙ≦４）をＡ４，Ｂ４，Ｃ４及びＤ４とそれぞれ名付ける。外部からのデータ信号（画素信号）は、４つの入力１０４を介して入力部１０２へ供給される。入力部１０２から第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１へは、各々データバス１０５，１０６，１０７，１０８を介して個別にデータが供給される。演算セルＥ［ｘ，ｙ］（２≦ｘ≦４かつ２≦ｙ≦４）の入力データは、演算セルＥ［ｘ−１，ｙ］及び演算セルＥ［ｘ−１，ｙ−１］からデータバス１０９及び１１０を介して供給される。演算セルＥ［ｘ−１，ｙ］から演算セルＥ［ｘ，ｙ］へのデータバス１０９を直行バスと言い、演算セルＥ［ｘ−１，ｙ−１］から演算セルＥ［ｘ，ｙ］へのデータバス１１０を斜行バスと言う。第１行の演算セルＡ１，Ａ２，Ａ３，Ａ４の間には、直行バス１０９がそれぞれ設けられている。第４列の演算セルＤ４，Ｃ４，Ｂ４，Ａ４から出力部１２０へは、各々データバス１１１，１１２，１１３，１１４を介して個別にデータが供給される。出力部１２０は、４つの出力１２１を介して外部へデータ信号（画素信号）を出力する。なお、図１の画像処理装置は、後に詳述するＭＰＵ１１とメモリ１２とを更に備えている。
【００１５】
図１の画像処理装置を４タップの水平フィルタとして動作させる場合の入力部１０２の内部構成例を図２に示す。図２の入力部１０２は、各々データを保持するための互いに縦続接続された３個のラッチ２０１，２０２，２０３を有する。この例では、画像の中で水平方向に並んだ４つの画素に関する画素データｇ1 ，ｇ2 ，ｇ3 ，ｇ4 が第１列の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１へ供給されるように、４つの入力１０４のうちの１つを介して外部から供給される画素信号ｇは画素データｇ4 としてデータバス１０５に供給されるとともに１段目のラッチ２０１へ供給され、１段目のラッチ２０１は画素データｇ3 をデータバス１０６へ、２段目のラッチ２０２は画素データｇ2 をデータバス１０７へ、３段目のラッチ２０３は画素データｇ1 をデータバス１０８へ各々供給する。
【００１６】
図１中の演算セルＡ１の内部構成を図３に示す。図３において、１３１は書き替え可能な係数レジスタ、１３３は乗算器、１３５は加算器、１３６はラッチである。乗算器１３３は、係数レジスタ１３１が保持している係数とデータバス１０８を介して供給された第１の入力１３２との積を出力するものである。加算器１３５は、乗算器１３３から出力された積と第２の入力１３４との和を出力するものである。ラッチ１３６は、加算器１３５から出力された和を保持し、該保持した和を直行バス１０９と斜行バス１１０とに出力するものである。図１中の他の演算セル１０３も、図３の演算セルＡ１と同様の内部構成を有する。ただし、演算セルＥ［ｘ，ｙ］（２≦ｘ≦４かつ２≦ｙ≦４）すなわち演算セルＢ２，Ｃ２，Ｄ２，Ｂ３，Ｃ３，Ｄ３，Ｂ４，Ｃ４，Ｄ４では、第１の入力１３２が直行バス１０９から、第２の入力１３４が斜行バス１１０から各々供給されるようになっている。
【００１７】
図１中のＭＰＵ１１は、制御入力２１を介して処理切り替え要求信号が与えられると、データバス２２を介して、演算アレイ１００を構成する１６個の演算セル１０３の各々の係数レジスタ１３１に係数を設定し、かつ第１行及び第１列を構成する７個の演算セルＡ１，Ａ２，Ａ３，Ａ４，Ｂ１，Ｃ１，Ｄ１の各々の第２の入力１３４に定数を設定する。メモリ１２には、処理切り替え要求信号に応答してＭＰＵ１１が実行すべきプログラムと、設定に用いるべきデータとが格納されている。
【００１８】
図４は、図１中の演算アレイ１００の動作説明図である。第１列の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１の各々の係数レジスタ１３１には、係数ａ1 ，ａ2 ，ａ3 ，ａ4 が予め設定される。第２列の演算セルＡ２，Ｂ２，Ｃ２，Ｄ２の各々の係数レジスタ１３１には、係数０，０，０，１が予め設定される。第３列及び第４列の演算セルの係数レジスタ１３１の設定は第２列と同一である。また、第１行及び第１列を構成する７個の演算セルＡ１，Ａ２，Ａ３，Ａ４，Ｂ１，Ｃ１，Ｄ１の各々の第２の入力１３４は、いずれも０に予め設定される。
【００１９】
水平方向に並んだ４つの画素に関する画素データｇ1 ，ｇ2 ，ｇ3 ，ｇ4 が入力部１０２から第１列の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１へ各々供給されると、演算セルＡ１はａ1 ×ｇ1 を、演算セルＢ１はａ2 ×ｇ2 を、演算セルＣ１はａ3 ×ｇ3 を、演算セルＤ１はａ4 ×ｇ4 を各々出力する。この結果、第２列において、演算セルＡ２はａ1 ×ｇ1 を、演算セルＢ２はａ1 ×ｇ1 及びａ2 ×ｇ2 を、演算セルＣ２はａ2 ×ｇ2 及びａ3 ×ｇ3 を、演算セルＤ２はａ3 ×ｇ3 及びａ4 ×ｇ4 を各々受け取る。したがって、演算セルＡ２は０を、演算セルＢ２はａ1 ×ｇ1 を、演算セルＣ２はａ2 ×ｇ2 を、演算セルＤ２はａ3 ×ｇ3 ＋ａ4 ×ｇ4 を各々出力する。第３列では、演算セルＡ３は０を、演算セルＢ３は０及びａ1 ×ｇ1 を、演算セルＣ３はａ1 ×ｇ1 及びａ2 ×ｇ2 を、演算セルＤ３はａ2 ×ｇ2 及びａ3 ×ｇ3 ＋ａ4 ×ｇ4 を各々受け取る。したがって、演算セルＡ３，Ｂ３はいずれも０を、演算セルＣ３はａ1 ×ｇ1 を、演算セルＤ３はａ2 ×ｇ2 ＋ａ3 ×ｇ3 ＋ａ4 ×ｇ4 を各々出力する。第４列では、演算セルＡ４は０を、演算セルＢ４は０及び０を、演算セルＣ４は０及びａ1 ×ｇ1 を、演算セルＤ４はａ1 ×ｇ1 及びａ2 ×ｇ2 ＋ａ3 ×ｇ3 ＋ａ4 ×ｇ4 を各々受け取る。したがって、演算セルＡ４，Ｂ４，Ｃ４はいずれも０を、演算セルＤ４はａ1 ×ｇ1 ＋ａ2 ×ｇ2 ＋ａ3 ×ｇ3 ＋ａ4 ×ｇ4 を各々出力する。演算セルＤ４の出力データａ1 ×ｇ1 ＋ａ2 ×ｇ2 ＋ａ3 ×ｇ3 ＋ａ4 ×ｇ4 は、水平フィルタの処理結果として出力部１２０を介して出力される。
【００２０】
以上のとおり、図１の画像処理装置によれば、木構造のデータバス１０９，１１０で互いに連結された１０個の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１，Ｂ２，Ｃ２，Ｄ２，Ｃ３，Ｄ３，Ｄ４を主に利用することによって、４タップの水平フィルタ処理が実行される。６個の演算セルＡ２，Ｂ２，Ｃ２，Ｂ３，Ｃ３，Ｃ４を主に利用するように係数レジスタ１３１の設定内容を変更すれば、３タップの水平フィルタ処理を実行することも可能である。また、３個の演算セルＡ３，Ｂ３，Ｂ４からなるグループと３個の演算セルＣ３，Ｄ３，Ｄ４からなる他のグループとを独立に動作させることによって、各々２タップの水平フィルタ処理を実行することも可能である。
【００２１】
なお、入力部１０２の中のラッチ２０１〜２０３を各々ラインメモリに置き換えれば、演算アレイ１００を２〜４タップの垂直フィルタとして動作させることができる。また、入力部１０２の中のラッチ２０１〜２０３を各々フィールドメモリに置き換えれば、演算アレイ１００をテンポラルフィルタとして動作させることも可能である。入力部１０２は、４つの入力１０４を介して外部から供給される画素信号の各々を画素データとして第１列の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１へ供給するように構成することもできる。
【００２２】
上記４タップの水平フィルタの例では、出力部１２０の４つの出力１２１のうちの１つのみが使用される。ただし、第４列の演算セルＡ４，Ｂ４，Ｃ４，Ｄ４の各々から有効なデータが出力される場合には、４つの出力１２１の全てを使用することができる。この場合には、出力部１２０にバッファメモリを内蔵させて１つの出力１２１を時分割多重の形式で利用することもできる。
【００２３】
演算アレイ１００は、４行４列に限らず、４行８列などの他の構成でもよい。各演算セル１０３は、図３のような１個の乗算器１３３と１個の加算器１３５とを備えた積和演算セルの構成に限らず、他の構成を採用してもよい。例えば、上記４タップの水平フィルタの例で第２の入力１３４に０が設定された７個の演算セルＡ１，Ａ２，Ａ３，Ａ４，Ｂ１，Ｃ１，Ｄ１では、加算器１３５の配設を省略し、乗算器１３３の出力をラッチ１３６へ直接供給するようにしてもよい。また、積和演算のための複数個の乗算器と複数個の加算器とを各演算セル１０３に内蔵させてもよい。複数の演算セル１０３の各々をＭＰＵで構成することも可能である。
【００２４】
（実施例２）
図５は、本発明の第２の実施例に係る画像処理装置のブロック図である。図５の画像処理装置も、図１の場合と同様に、データに算術演算処理を施すための演算アレイ１００ａと、外部からデータ信号を入力して演算アレイ１００ａにデータを供給するための入力部１０２ａと、演算アレイ１００ａから算術演算処理が施されたデータの供給を受けて外部へデータ信号を出力するための出力部１２０ａとを備えている。図５の演算アレイ１００ａは、各々列番号ｘ（１≦ｘ≦４）及び行番号ｙ（１≦ｙ≦４）で指定される並列動作が可能な１６個の演算セル（Ｅ［ｘ，ｙ］）１０３ａを備えている。演算アレイ１００ａの内部では、演算セルＥ［ｘ，ｙ］（２≦ｘ≦４かつ２≦ｙ≦４）の入力データは演算セルＥ［ｘ−１，ｙ］及び演算セルＥ［ｘ−１，ｙ−１］から直行バス１０９及び斜行バス１１０を介して供給され、演算セルＥ［ｘ，１］（２≦ｘ≦４）の入力データは演算セルＥ［ｘ−１，１］から直行バス１０９を介して供給される。しかも、Ｅ［ｘ，ｙ］（２≦ｘ≦４かつ１≦ｙ≦３）の入力データは、逆斜行バス１１９を介して演算セルＥ［ｘ−１，ｙ＋１］から更に供給される。つまり、本実施例の演算アレイ１００ａは図１の演算アレイ１００に９本の逆斜行バス１１９を付加したものであって、そのうちの１本は例えば演算セルＤ１から演算セルＣ２へ至るものである。なお、図５の画像処理装置は、各演算セル１０３ａに内蔵されている係数レジスタの設定などのためのＭＰＵ１１ａとメモリ１２ａとを更に備えている。
【００２５】
直行バス１０９と斜行バス１１０と逆斜行バス１１９とを備えた図５の画像処理装置によれば、図１の画像処理装置に比べてより柔軟な処理が可能になる。なお、図１の演算アレイ１００に、例えば演算セルＡ１から演算セルＣ２へ、演算セルＢ１から演算セルＤ２へ各々至るデータバスを付加してもよい。
【００２６】
（実施例３）
図６は、本発明の第３の実施例に係る画像処理装置のブロック図である。図６中の１００ｂは、各々列番号ｘ（１≦ｘ≦４）及び行番号ｙ（ｘ≦ｙ≦４）で指定される並列動作が可能な１０個の演算セル（Ｅ［ｘ，ｙ］）１０３ｂを備えた演算アレイである。この演算アレイ１００ｂは、入力部１０２ｂから供給されたデータに算術演算処理を施し、その結果を出力部１２０ｂへ供給するものである。第１列の演算セルＥ［１，ｙ］（１≦ｙ≦４）をＡ１，Ｂ１，Ｃ１及びＤ１、第２列の演算セルＥ［２，ｙ］（２≦ｙ≦４）をＢ２，Ｃ２及びＤ２、第３列の演算セルＥ［３，ｙ］（３≦ｙ≦４）をＣ３及びＤ３、第４列の演算セルＥ［４，４］をＤ４とそれぞれ名付ける。外部からのデータ信号（画素信号）は、４つの入力１０４を介して入力部１０２ｂへ供給される。入力部１０２ｂから第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１へは、各々データバス１０５，１０６，１０７，１０８を介して個別にデータが供給される。演算セルＥ［ｘ，ｙ］（２≦ｘ≦４かつｘ≦ｙ≦４）の入力データは、演算セルＥ［ｘ−１，ｙ］及び演算セルＥ［ｘ−１，ｙ−１］から直行バス１０９及び斜行バス１１０を介して供給される。第４列の演算セルＤ４から出力部１２０ｂへは、データバス１１１を介してデータが供給される。出力部１２０ｂは、１つの出力１２１を介して外部へデータ信号（画素信号）を出力する。なお、図６の画像処理装置は、後に詳述するＭＰＵ１１ｂとメモリ１２ｂとを更に備えている。
【００２７】
図６の画像処理装置を２タップの水平フィルタの機能、２タップの垂直フィルタの機能及び両フィルタの出力の合成機能という３つの機能を兼ね備えた装置として動作させる場合の入力部１０２ｂの内部構成例を図７に示す。図７の入力部１０２ｂは、各々データを保持するための１個のラインメモリ３０１と２個のラッチ３０２，３０３とを有する。この例では、演算セルＤ１へ供給される画素データｇ3 の１ライン前の画素データｈ3 が演算セルＣ１へ供給され、かつ水平方向に並んだ３つの画素に関する画素データｈ1 ，ｈ2 ，ｈ3 が演算セルＡ１，Ｂ１，Ｃ１へ供給されるように、４つの入力１０４のうちの１つを介して外部から供給される画素信号ｇは画素データｇ3 としてデータバス１０５に供給されるとともにラインメモリ３０１へ供給され、ラインメモリ３０１は画素データｈ3 をデータバス１０６へ、１段目のラッチ３０２は画素データｈ2 をデータバス１０７へ、２段目のラッチ３０３は画素データｈ1 をデータバス１０８へ各々供給する。
【００２８】
図６中の演算セルＢ１の内部構成を図８に示す。図８の構成は、先に説明した図３の構成に、書き替え可能な第２の係数レジスタ１３７と、セレクタ１３８とを付加したものである。図８中の係数レジスタ（第１の係数レジスタ）１３１、乗算器１３３及び加算器１３５の機能は、各々図３の場合と同様である。図８のラッチ１３６は、加算器１３５から出力された和を保持し、該保持した和を直行バス１０９へ出力するとともにセレクタ１３８へ供給するものである。セレクタ１３８は、第２の係数レジスタ１３７が保持している係数とラッチ１３６の出力とのいずれかを斜行バス１１０へ出力するものである。図６中の他の演算セル１０３ｂも、図８の演算セルＢ１と同様の内部構成を有する。ただし、演算セルＥ［ｘ，ｙ］（２≦ｘ≦４かつｘ≦ｙ≦４）すなわち演算セルＢ２，Ｃ２，Ｄ２，Ｃ３，Ｄ３，Ｄ４では、第１の入力１３２が直行バス１０９から、第２の入力１３４が斜行バス１１０から各々供給されるようになっている。
【００２９】
図６中のＭＰＵ１１ｂは、制御入力２１を介して処理切り替え要求信号が与えられると、データバス２２を介して、演算アレイ１００ｂを構成する１０個の演算セル１０３ｂの各々の第１の係数レジスタ１３１及び第２の係数レジスタ１３７にそれぞれ係数を設定し、かつ第１列の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１の各々の第２の入力１３４に定数を設定する。メモリ１２ｂには、処理切り替え要求信号に応答してＭＰＵ１１ｂが実行すべきプログラムと、設定に用いるべきデータとが格納されている。
【００３０】
図９は、図６中の演算アレイ１００ｂの動作説明図である。第１列の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１の各々の第１の係数レジスタ１３１には係数ａ，１，ｃ，ｄが、第２の係数レジスタ１３７にはいずれも係数０が予め設定される。また、これら４個の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１の各々の第２の入力１３４は、いずれも０に予め設定される。第２列の演算セルＢ２，Ｃ２，Ｄ２の各々の第１の係数レジスタ１３１には係数ｂ，０，１が、第２の係数レジスタ１３７にはいずれも係数０が予め設定される。第３列及び第４列の演算セルＣ３，Ｄ３，Ｄ４の各々の第１の係数レジスタ１３１にはいずれも係数１が、第２の係数レジスタ１３７にはいずれも係数０が予め設定される。
【００３１】
４つの画素データｈ1 ，ｈ2 ，ｈ3 ，ｇ3 が入力部１０２ｂから第１列の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１へ各々供給されると、演算セルＡ１はａ×ｈ1 を、演算セルＣ１はｃ×ｈ3 を、演算セルＤ１はｄ×ｇ3 を各々出力する。演算セルＢ１は、１×ｈ2 （＝ｈ2 ）を演算セルＢ２へ出力するとともに、第２の係数レジスタ１３７が保持している係数０を演算セルＣ２へ出力する。この結果、第２列において、演算セルＢ２はａ×ｈ1 及びｈ2 を、演算セルＣ２は０及びｃ×ｈ3 を、演算セルＤ２はｃ×ｈ3 及びｄ×ｇ3 を各々受け取る。したがって、演算セルＢ２はａ×ｈ1 ＋ｂ×ｈ2 を、演算セルＣ２は０を、演算セルＤ２はｃ×ｈ3 ＋ｄ×ｇ3 を各々出力する。ここに、演算セルＢ２の出力データａ×ｈ1 ＋ｂ×ｈ2 は２タップの水平フィルタの処理結果であり、演算セルＤ２の出力データｃ×ｈ3 ＋ｄ×ｇ3 は２タップの垂直フィルタの処理結果である。
【００３２】
第３列では、演算セルＣ３はａ×ｈ1 ＋ｂ×ｈ2 及び０を、演算セルＤ３は０及びｃ×ｈ3 ＋ｄ×ｇ3 を各々受け取る。したがって、演算セルＣ３はａ×ｈ1 ＋ｂ×ｈ2 を、演算セルＤ３はｃ×ｈ3 ＋ｄ×ｇ3 を各々出力する。第４列の演算セルＤ４は、ａ×ｈ1 ＋ｂ×ｈ2 及びｃ×ｈ3 ＋ｄ×ｇ3 を各々受け取り、ａ×ｈ1 ＋ｂ×ｈ2 ＋ｃ×ｈ3 ＋ｄ×ｇ3 を出力する。演算セルＤ４の出力データａ×ｈ1 ＋ｂ×ｈ2 ＋ｃ×ｈ3 ＋ｄ×ｇ3 は、２タップの水平フィルタの処理結果と２タップの垂直フィルタの処理結果との合成結果として、出力部１２０ｂを介して出力される。
【００３３】
以上のとおり、図６の画像処理装置によれば、３個の演算セルＡ１，Ｂ１，Ｂ２からなるグループと３個の演算セルＣ１，Ｄ１，Ｄ２からなる他のグループとを独立に動作させることによって、２タップの水平フィルタ処理と２タップの垂直フィルタ処理とが並列に実行される。しかも、残り４個の演算セルＣ２，Ｃ３，Ｄ３，Ｄ４によって、両フィルタ処理結果の合成処理が実行される。
【００３４】
また、第１の実施例の説明からわかるとおり、図２の構成を入力部１０２ｂに採用すれば、第３の実施例において木構造のデータバス１０９，１１０で互いに連結された１０個の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１，Ｂ２，Ｃ２，Ｄ２，Ｃ３，Ｄ３，Ｄ４により、４タップの水平フィルタ処理が無駄なく実行される。
【００３５】
（実施例４）
図１０は、本発明の第４の実施例に係る画像処理装置のブロック図である。図１０中の１００ｃは、各々列番号ｘ（１≦ｘ≦４）及び行番号ｙ（１≦ｙ≦５）で指定される並列動作が可能な２０個の演算セル（Ｅ［ｘ，ｙ］）１０３ｃを備えた演算アレイである。この演算アレイ１００ｃは、第１の入出力部１０２ｃから供給されたデータに算術演算処理を施して得られた結果を第２の入出力部１２０ｃへ供給したり、第２の入出力部１２０ｃから供給されたデータに算術演算処理を施して得られた結果を第１の入出力部１０２ｃへ供給したりするものである。第１列のうちの４個の演算セルＥ［１，ｙ］（２≦ｙ≦５）をＡ１，Ｂ１，Ｃ１及びＤ１、第２列のうちの３個の演算セルＥ［２，ｙ］（３≦ｙ≦５）をＢ２，Ｃ２及びＤ２、第３列のうちの２個の演算セルＥ［３，ｙ］（４≦ｙ≦５）をＣ３及びＤ３、第４列のうちの演算セルＥ［４，５］をＤ４とそれぞれ名付ける。また、第４列のうちの４個の演算セルＥ［４，ｙ］（４≧ｙ≧１）をＰ１，Ｑ１，Ｒ１及びＳ１、第３列のうちの３個の演算セルＥ［３，ｙ］（３≧ｙ≧１）をＱ２，Ｒ２及びＳ２、第２列のうちの２個の演算セルＥ［２，ｙ］（２≧ｙ≧１）をＲ３及びＳ３、第１列のうちの演算セルＥ［１，１］をＳ４とそれぞれ名付ける。
【００３６】
外部からのデータ信号（画素信号）は、４つの入力１０４を介して第１の入出力部１０２ｃへ、他の４つの入力１０４を介して第２の入出力部１２０ｃへ各々供給される。第１の入出力部１０２ｃから第１列のうちの４個の演算セルＤ１，Ｃ１，Ｂ１，Ａ１へは、各々データバス１０５，１０６，１０７，１０８を介して個別にデータが供給される。演算セルＥ［ｘ，ｙ］（２≦ｘ≦４かつｘ＋１≦ｙ≦５）の入力データは、演算セルＥ［ｘ−１，ｙ］及び演算セルＥ［ｘ−１，ｙ−１］から直行バス１０９及び斜行バス１１０を介して供給される。第４列のうちの演算セルＤ４から第２の入出力部１２０ｃへは、データバス１１１を介してデータが供給される。第２の入出力部１２０ｃは、１つの出力１２１を介して外部へデータ信号（画素信号）を出力する。一方、第２の入出力部１２０ｃから第４列のうちの４個の演算セルＰ１，Ｑ１，Ｒ１，Ｓ１へは、各々データバス１１２，１１３，１１４，１１５を介して個別にデータが供給される。演算セルＥ［ｘ，ｙ］（１≦ｘ≦３かつ１≦ｙ≦ｘ）の入力データは、演算セルＥ［ｘ＋１，ｙ］及び演算セルＥ［ｘ＋１，ｙ＋１］から直行バス１０９及び斜行バス１１０を介して供給される。第１列のうちの演算セルＳ４から第１の入出力部１０２ｃへは、データバス１１６を介してデータが供給される。第１の入出力部１０２ｃは、１つの出力１２１を介して外部へデータ信号（画素信号）を出力する。
【００３７】
以上のとおり、図１０の画像処理装置の演算アレイ１００ｃは、図６の演算アレイ１００ｂの空白部を同様の演算アレイで埋めた構成を備えたものである。したがって、ＬＳＩへの実装に際して図６の場合に比べてチップ面積を有効に使うことができる。なお、図１０の画像処理装置は、各演算セル１０３ｃに内蔵されている係数レジスタの設定などのためのＭＰＵ１１ｃとメモリ１２ｃとを更に備えている。
【００３８】
図１０の画像処理装置によれば、木構造のデータバス１０９，１１０で互いに連結された１０個の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１，Ｂ２，Ｃ２，Ｄ２，Ｃ３，Ｄ３，Ｄ４と、同じく木構造のデータバス１０９，１１０で互いに連結された他の１０個の演算セルＰ１，Ｑ１，Ｒ１，Ｓ１，Ｑ２，Ｒ２，Ｓ２，Ｒ３，Ｓ３，Ｓ４とを互いに独立に動作させることによって、各々水平フィルタ処理、垂直フィルタ処理などを実行することができる。また、これら２０個の演算セル１０３ｃがループをなすように外部接続を施すことによって、巡回型フィルタを容易に構成できる。
【００３９】
（実施例５）
図１１は、本発明の第５の実施例に係る画像処理装置のブロック図である。図１１中の５００は、各々列番号ｘ（１≦ｘ≦４）及び行番号ｙ（１≦ｙ≦４）で指定される並列動作が可能な１６個の演算セル（Ｅ［ｘ，ｙ］）５０３を備えた演算アレイである。図１の場合と同様に、第１列の演算セルＥ［１，ｙ］（１≦ｙ≦４）をＡ１，Ｂ１，Ｃ１及びＤ１、第２列の演算セルＥ［２，ｙ］（１≦ｙ≦４）をＡ２，Ｂ２，Ｃ２及びＤ２、第３列の演算セルＥ［３，ｙ］（１≦ｙ≦４）をＡ３，Ｂ３，Ｃ３及びＤ３、第４列の演算セルＥ［４，ｙ］（１≦ｙ≦４）をＡ４，Ｂ４，Ｃ４及びＤ４とそれぞれ名付ける。第１列の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１と第２列の演算セルＡ２，Ｂ２，Ｃ２，Ｄ２との間には時分割多重の第１の共通バス５３１が介在しており、第１列のうちの任意の演算セルから第２列のうちの任意の演算セルへのデータ転送が可能となっている。同様に、第２列の演算セルＡ２，Ｂ２，Ｃ２，Ｄ２と第３列の演算セルＡ３，Ｂ３，Ｃ３，Ｄ３との間には第２の共通バス５３２が、第３列の演算セルＡ３，Ｂ３，Ｃ３，Ｄ３と第４列の演算セルＡ４，Ｂ４，Ｃ４，Ｄ４との間には第３の共通バス５３３が各々介在している。
【００４０】
演算アレイ５００は、入力部５０２から供給されたデータに算術演算処理を施し、その結果を出力部５２０へ供給するものである。外部からのデータ信号（画素信号）は、４つの入力５０４を介して入力部５０２へ供給される。入力部５０２から第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１へは、各々データバス５０５，５０６，５０７，５０８を介して個別にデータが供給される。第４列の演算セルＤ４，Ｃ４，Ｂ４，Ａ４から出力部５２０へは、各々データバス５１１，５１２，５１３，５１４を介して個別にデータが供給される。出力部５２０は、４つの出力５２１を介して外部へデータ信号（画素信号）を出力する。なお、図１１の画像処理装置は、後に詳述するＭＰＵ５１とメモリ５２とを更に備えている。
【００４１】
図１１中の演算セルＡ２の内部構成を図１２に示す。図１２において、５４１は入力タイミング部、５４２は処理部、５４３は出力タイミング部である。入力タイミング部５４１は、書き替え可能なレジスタ６０１と、一致検出回路６０２と、入力制御部６０３とを有し、レジスタ６０１に設定された値と一致検出回路６０２に予め付与された値（例えば０）とが一致したときに第１の共通バス５３１からデータを入力するものである。処理部５４２は、積和演算のための不図示の係数レジスタと乗算器と加算器とを有し、入力タイミング部５４１から供給されたデータに積和演算処理を施し、その結果を出力タイミング部５４３へ供給するものである。出力タイミング部５４３は、書き替え可能なレジスタ６１１と、一致検出回路６１２と、出力制御部６１３とを有し、レジスタ６１１に設定された値と一致検出回路６１２に予め付与された値（例えば０）とが一致したときに第２の共通バス５３２へデータを出力するものである。図１１中の他の演算セル５０３も、図１２の演算セルＡ２と同様の内部構成を有する。ただし、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１には入力タイミング部５４１を、第４列の演算セルＤ４，Ｃ４，Ｂ４，Ａ４には出力タイミング部５４３を各々設けなくともよい。
【００４２】
図１１中のＭＰＵ５１は、制御入力６１を介して処理切り替え要求信号が与えられると、データバス６２を介して、演算アレイ５００を構成する１６個の演算セル５０３の各々の処理部５４２の中の不図示の係数レジスタに係数を設定する。また、このＭＰＵ５１は、データバス６２を介して、演算アレイ５００を構成する１６個の演算セル５０３の各々の入力タイミング部５４１のレジスタ６０１及び出力タイミング部５４３のレジスタ６１１にそれぞれ定数を設定する機能も持っている。メモリ５２には、処理切り替え要求信号に応答してＭＰＵ５１が実行すべきプログラムと、レジスタ６０１，６１１への定数設定のためにＭＰＵ５１が実行すべきプログラムと、設定に用いるべきデータとが格納されている。
【００４３】
図１４は、図１１の画像処理装置の動作説明のためのタイミング図である。図１４には、第１の共通バス５３１を介した演算セル間の５つのデータ転送の例（Ｄ１→Ｄ２，Ｃ１→Ｃ２，Ｂ１→Ｂ２，Ａ１→Ａ２，Ｃ１→Ｂ２）が示されている。なお、図１４中の“ＨｉＺ”は出力のハイ・インピーダンス状態を示している。
【００４４】
第１サイクルでは、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１の各々に画素データが供給され、演算処理が並列に実行される。
【００４５】
第２サイクルでは、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１の各々の出力タイミング部５４３のレジスタ６１１に０，３，２，１が、同様に第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２の各々の入力タイミング部５４１のレジスタ６０１に０，３，２，１が各々設定される。この結果、演算セルＤ１が第１の共通バス５３１へデータＤを出力し、該データＤを演算セルＤ２が入力する。この間、第１列の３個の演算セルＣ１，Ｂ１，Ａ１は、出力をハイ・インピーダンス状態に保持する。
【００４６】
第３サイクルでは、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１の各々の出力タイミング部５４３のレジスタ６１１に１，０，３，２が、同様に第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２の各々の入力タイミング部５４１のレジスタ６０１に１，０，３，２が各々設定される。この結果、演算セルＣ１が第１の共通バス５３１へデータＣを出力し、該データＣを演算セルＣ２が入力する。この間、第１列の３個の演算セルＤ１，Ｂ１，Ａ１は、出力をハイ・インピーダンス状態に保持する。
【００４７】
第４サイクルでは、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１の各々の出力タイミング部５４３のレジスタ６１１に２，１，０，３が、同様に第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２の各々の入力タイミング部５４１のレジスタ６０１に２，１，０，３が各々設定される。この結果、演算セルＢ１が第１の共通バス５３１へデータＢを出力し、該データＢを演算セルＢ２が入力する。この間、第１列の３個の演算セルＤ１，Ｃ１，Ａ１は、出力をハイ・インピーダンス状態に保持する。
【００４８】
第５サイクルでは、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１の各々の出力タイミング部５４３のレジスタ６１１に３，２，１，０が、同様に第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２の各々の入力タイミング部５４１のレジスタ６０１に３，２，１，０が各々設定される。この結果、演算セルＡ１が第１の共通バス５３１へデータＡを出力し、該データＡを演算セルＡ２が入力する。この間、第１列の３個の演算セルＤ１，Ｃ１，Ｂ１は、出力をハイ・インピーダンス状態に保持する。
【００４９】
第６サイクルでは、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１の各々の出力タイミング部５４３のレジスタ６１１に１，０，３，２が、同様に第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２の各々の入力タイミング部５４１のレジスタ６０１に２，１，０，３が各々設定される。この結果、演算セルＣ１が第１の共通バス５３１へデータＣを再出力し、該データＣを演算セルＢ２が入力する。この間、第１列の３個の演算セルＤ１，Ｂ１，Ａ１は、出力をハイ・インピーダンス状態に保持する。
【００５０】
以上のとおり、図１１の画像処理装置によれば、第１の共通バス５３１を介して、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１から第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２への時分割多重のデータ転送が実行される。第２及び第３の共通バス５３２，５３３のはたらきも同様である。したがって、例えば図４に示すようなデータの流れを本実施例でも実現することができ、４タップの水平フィルタ処理が達成される。入力部５０２にラインメモリを導入すれば、垂直フィルタの実現も可能である。
【００５１】
なお、１つの演算セルから複数の演算セルへ同時にデータを転送するようにしてもよい。また、図１２中の両レジスタ６０１，６１１のうちの少なくとも一方は、クロックに応じて１サイクル毎に更新されるカウンタに置き換え可能である。図１３に示す例は、図１２中の両レジスタ６０１，６１１をカウンタ６０４，６１４に置き換えたものである。図１１では演算アレイ５００が４行のセル構成を持っているため、両カウンタ６０４，６１４は各々２ビットで構成される。図１３の構成を採用すれば、ＭＰＵ５１がカウンタ６０４，６１４を初期設定した後は、両カウンタ６０４，６１４にクロックを与えるだけで時分割多重のデータ転送が実行される。
【００５２】
（実施例６）
図１５は、本発明の第６の実施例に係る画像処理装置のブロック図である。図１５中の５００ａは、各々列番号ｘ（１≦ｘ≦４）及び行番号ｙ（ｘ≦ｙ≦４）で指定される並列動作が可能な１０個の演算セル（Ｅ［ｘ，ｙ］）５０３を備えた演算アレイである。図６の場合と同様に、第１列の演算セルＥ［１，ｙ］（１≦ｙ≦４）をＡ１，Ｂ１，Ｃ１及びＤ１、第２列の演算セルＥ［２，ｙ］（２≦ｙ≦４）をＢ２，Ｃ２及びＤ２、第３列の演算セルＥ［３，ｙ］（３≦ｙ≦４）をＣ３及びＤ３、第４列の演算セルＥ［４，４］をＤ４とそれぞれ名付ける。第１列の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１と第２列の演算セルＢ２，Ｃ２，Ｄ２との間には時分割多重の第１の共通バス５３１が介在しており、第１列のうちの任意の演算セルから第２列のうちの任意の演算セルへのデータ転送が可能となっている。同様に、第２列の演算セルＢ２，Ｃ２，Ｄ２と第３列の演算セルＣ３，Ｄ３との間には第２の共通バス５３２が、第３列の演算セルＣ３，Ｄ３と第４列の演算セルＤ４との間には第３の共通バス５３３が各々介在している。
【００５３】
演算アレイ５００ａは、入力部５０２ａから供給されたデータに算術演算処理を施し、その結果を出力部５２０ａへ供給するものである。外部からのデータ信号（画素信号）は、４つの入力５０４を介して入力部５０２ａへ供給される。入力部５０２ａから第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１へは、各々データバス５０５，５０６，５０７，５０８を介して個別にデータが供給される。第４列の演算セルＤ４から出力部５２０ａへは、データバス５１１を介してデータが供給される。出力部５２０ａは、１つの出力５２１を介して外部へデータ信号（画素信号）を出力する。
【００５４】
図１５中の演算セル５０３も、図１２又は図１３と同様の内部構成を有する。ただし、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１には入力タイミング部５４１を設けなくともよい。また、第４列の演算セルＤ４には入力タイミング部５４１及び出力タイミング部５４３の双方を設けなくともよい。なお、図１５の画像処理装置は、各演算セル５０３に内蔵されている係数レジスタの設定などのためのＭＰＵ５１ａとメモリ５２ａとを更に備えている。
【００５５】
図１５の画像処理装置によれば、第１〜第３の共通バス５３１，５３２，５３３を介して、例えば図９に示すようなデータの流れを実現することができる。
【００５６】
（実施例７）
図１６は、本発明の第７の実施例に係る画像処理装置のブロック図である。図１６の構成は、図１１の構成に７つのバイパスバスを付加したものである。
【００５７】
図１６中の５００ｂは、１６個の演算セル（Ｅ［ｘ，ｙ］）５０３を備えた演算アレイである。第１列の演算セルと第２列の演算セルとの間、第２列の演算セルと第３列の演算セルとの間、及び、第３列の演算セルと第４列の演算セルとの間には、各々時分割多重の第１、第２及び第３の共通バス５３１，５３２，５３３が介在している。
【００５８】
演算アレイ５００ｂは、入力部５０２ｂから供給されたデータに算術演算処理を施し、その結果を入出力部５２０ｂへ供給するものである。外部からのデータ信号（画素信号）は、５つの入力５０４を介して入力部５０２ｂへ供給される。入力部５０２ｂから第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１へは、各々データバス５０５，５０６，５０７，５０８を介して個別にデータが供給される。第４列の演算セルＤ４，Ｃ４，Ｂ４，Ａ４から入出力部５２０ｂへは、各々データバス５１１，５１２，５１３，５１４を介して個別にデータが供給される。入力部５０２ｂと第１の共通バス５３１との間には第１のバイパスバス７１１が介在しており、第１のバイパスバス７１１及び第１の共通バス５３１を介して、入力部５０２ｂから第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２へ直接にデータを転送できるようになっている。第１の共通バス５３１と第２の共通バス５３２との間には第２のバイパスバス７１２が介在しており、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１から第３列の演算セルＤ３，Ｃ３，Ｂ３，Ａ３へも直接にデータを転送できるようになっている。更に、第２の共通バス５３２から第３の共通バス５３３へ向かう第３のバイパスバス７１３と、第３の共通バス５３３から入出力部５２０ｂへ向かう第４のバイパスバス７１４とが設けられている。入出力部５２０ｂは、５つの出力５２１を介して外部へデータ信号（画素信号）を出力する機能に加えて、１つの入力５０４を介して外部からデータ信号（画素信号）を入力する機能を備えている。しかも、入出力部５２０ｂから第４列の演算セルＤ４，Ｃ４，Ｂ４，Ａ４へデータを転送できるように、入出力部５２０ｂと第３の共通バス５３３との間に第５のバイパスバス７１５が介在している。更に、第３の共通バス５３３から第２の共通バス５３２へ向かう第６のバイパスバス７１６と、第２の共通バス５３２から第１の共通バス５３１へ向かう第７のバイパスバス７１７とが設けられている。
【００５９】
演算アレイ５００ｂを構成する各演算セル５０３は、図１２の構成を備えている。ただし、出力タイミング部５４３のレジスタ６１１は、計数値が０から５までの範囲で変化する３ビットのカウンタ６１４（図１３参照）に置き換えられている。なお、図１６の画像処理装置は、各演算セル５０３に内蔵されている出力タイミング部５４３のカウンタ６１４の初期設定などのためのＭＰＵ５１ｂとメモリ５２ｂとを更に備えている。
【００６０】
図１７は、図１６の画像処理装置の動作説明のためのタイミング図である。図１７には、第１の共通バス５３１を介した演算セル間の３つのデータ転送の例（Ｄ１→Ｃ２，Ｃ１→Ｄ２，Ｂ１→Ａ２）と第１のバイパスバス７１１を利用したデータ転送の例（入力部→Ｂ２）とが示されている。
【００６１】
第１サイクルでは、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１の各々に画素データが供給され、演算処理が並列に実行される。
【００６２】
第２サイクルでは、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１の各々の出力タイミング部５４３のカウンタ６１４に０，５，４，３が設定される。第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２の各々の入力タイミング部５４１のレジスタ６０１には１，０，５，４が設定される。この結果、演算セルＤ１が第１の共通バス５３１へデータＤを出力し、該データＤを演算セルＣ２が入力する。この間、第１列の３個の演算セルＣ１，Ｂ１，Ａ１は、出力をハイ・インピーダンス状態に保持する。
【００６３】
第３サイクルでは、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１の各々の出力タイミング部５４３のカウンタ６１４が１，０，５，４にインクリメントされる。第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２の各々の入力タイミング部５４１のレジスタ６０１には０，５，４，３が設定される。この結果、演算セルＣ１が第１の共通バス５３１へデータＣを出力し、該データＣを演算セルＤ２が入力する。この間、第１列の３個の演算セルＤ１，Ｂ１，Ａ１は、出力をハイ・インピーダンス状態に保持する。
【００６４】
第４サイクルでは、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１の各々の出力タイミング部５４３のカウンタ６１４が２，１，０，５にインクリメントされる。第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２の各々の入力タイミング部５４１のレジスタ６０１には３，２，１，０が設定される。この結果、演算セルＢ１が第１の共通バス５３１へデータＢを出力し、該データＢを演算セルＡ２が入力する。この間、第１列の３個の演算セルＤ１，Ｃ１，Ａ１は、出力をハイ・インピーダンス状態に保持する。
【００６５】
第５サイクルでは、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１の各々の出力タイミング部５４３のカウンタ６１４が３，２，１，０にインクリメントされる。第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２の各々の入力タイミング部５４１のレジスタ６０１には４，３，２，１が設定される。この結果、演算セルＡ１が第１の共通バス５３１へデータＡを出力するけれども、第２列のいずれの演算セルも該データＡを入力しない。この間、第１列の３個の演算セルＤ１，Ｃ１，Ｂ１は、出力をハイ・インピーダンス状態に保持する。
【００６６】
第６サイクルでは、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１の各々の出力タイミング部５４３のカウンタ６１４が４，３，２，１にインクリメントされる。第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２の各々の入力タイミング部５４１のレジスタ６０１には５，４，３，２が設定される。この結果、第１列の全ての演算セルは出力をハイ・インピーダンス状態に保持し、これらの演算セルにとっては出力側が空きサイクルとなる。また、第２列のいずれの演算セルも第１の共通バス５３１からデータを入力しない。
【００６７】
第７サイクルでは、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１の各々の出力タイミング部５４３のカウンタ６１４が５，４，３，２にインクリメントされる。第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２の各々の入力タイミング部５４１のレジスタ６０１には２，１，０，５が設定される。この結果、第１列の全ての演算セルは出力をハイ・インピーダンス状態に保持し、これらの演算セルにとっては出力側が空きサイクルとなる。ところが、この空きサイクルを利用して、入力部５０２ｂが第１のバイパスバス７１１を介してデータＺを第１の共通バス５３１へ出力する。このデータＺは、演算セルＢ２に入力される。
【００６８】
以上のとおり、図１６の画像処理装置によれば、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１から第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２へのデータ転送だけでなく、第１のバイパスバス７１１を介した入力部５０２ｂから第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２へのデータ転送も可能である。したがって、第１、第２及び第３の共通バス５３１，５３２，５３３で互いに連結された１０個の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１，Ｂ２，Ｃ２，Ｄ２，Ｃ３，Ｄ３，Ｄ４を利用して４タップの水平フィルタ処理を実行しながら、例えば該水平フィルタ処理に使用されない演算セルＡ２へ空きサイクルを利用して入力部５０２ｂからデータを転送することができる。この結果、演算アレイ５００ｂの高い使用効率を実現できるとともに、バイパスバスを備えない図１１の場合に比べてより複雑な演算が可能となる。なお、本実施例では２サイクルを空きサイクルとしたが、これに限らない。
【００６９】
更に、図１６の画像処理装置によれば、第２〜第７のバイパスバス７１２〜７１７の利用も可能である。特に、図１６の構成はデータのフィードバックのためのバイパスバス７１５，７１６，７１７を備えているので、巡回型フィルタを容易に構成できる効果がある。
【００７０】
（実施例８）
図１８は、本発明の第８の実施例に係る画像処理装置のブロック図である。図１８の構成は、図１１の構成に６つのバイパスバスを付加したものである。
【００７１】
図１８中の５００ｃは、１６個の演算セル（Ｅ［ｘ，ｙ］）５０３を備えた演算アレイである。第１列の演算セルと第２列の演算セルとの間、第２列の演算セルと第３列の演算セルとの間、及び、第３列の演算セルと第４列の演算セルとの間には、各々時分割多重の第１、第２及び第３の共通バス５３１，５３２，５３３が介在している。
【００７２】
演算アレイ５００ｃは、入力部５０２ｃから供給されたデータに算術演算処理を施し、その結果を入出力部５２０ｃへ供給するものである。外部からのデータ信号（画素信号）は、５つの入力５０４を介して入力部５０２ｃへ供給される。入力部５０２ｃから第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１へは、各々データバス５０５，５０６，５０７，５０８を介して個別にデータが供給される。第４列の演算セルＤ４，Ｃ４，Ｂ４，Ａ４から入出力部５２０ｃへは、各々データバス５１１，５１２，５１３，５１４を介して個別にデータが供給される。入力部５０２ｃと第１の共通バス５３１との間には第１のバイパスバス７２１が介在しており、第１のバイパスバス７２１及び第１の共通バス５３１を介して、入力部５０２ｃから第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２へ直接にデータを転送できるようになっている。同様に、入力部５０２ｃと第２の共通バス５３２との間及び入力部５０２ｃと第３の共通バス５３３との間には、第２及び第３のバイパスバス７２２，７２３が各々介在している。入出力部５２０ｃは、４つの出力５２１を介して外部へデータ信号（画素信号）を出力する機能に加えて、１つの入力５０４を介して外部からデータ信号（画素信号）を入力する機能を備えている。しかも、この入出力部５２０ｃから第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２へ直接にデータを転送できるように、入出力部５２０ｃと第１の共通バス５３１との間に第４のバイパスバス７２４が介在している。同様に、入出力部５２０ｃと第２の共通バス５３２との間及び入出力部５２０ｃと第３の共通バス５３３との間には、第５及び第６のバイパスバス７２５，７２６が各々介在している。なお、図１８の画像処理装置は、後に詳述するＭＰＵ５１ｃとメモリ５２ｃとを更に備えている。
【００７３】
図１８中の演算セルＡ２の内部構成を図１９に示す。図１９において、５４１は入力タイミング部、５４２は処理部、５４３は出力タイミング部である。入力タイミング部５４１及び出力タイミイング部５４３は、図１２又は図１３に示す内部構成を有するものである。図１９の処理部５４２は、第１のラッチ６２１と、第２のラッチ６２２と、係数レジスタ６２３と、乗算器６２４と、加算器６２５と、第３のラッチ６２６とを有するものである。第１及び第２のラッチ６２１，６２２は、各々入力タイミング部５４１から入力６２７を介して供給されたデータを保持するものである。このうちの第２のラッチ６２２は、保持データを０にリセットできるものである。乗算器６２４は、係数レジスタ６２３が保持している係数と第１のラッチ６２１の保持データとの積を出力するものである。加算器６２５は、乗算器６２４から出力された積と第２のラッチ６２２の保持データとの和を出力するものである。第３のラッチ６２６は、加算器６２５から出力された和を保持し、該保持した和を出力６２８を介して出力タイミング部５４３へ供給するものである。図１８中の他の演算セル５０３も、図１９の演算セルＡ２と同様の内部構成を有する。ただし、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１には入力タイミング部５４１を、第４列の演算セルＤ４，Ｃ４，Ｂ４，Ａ４には出力タイミング部５４３を各々設けなくともよい。
【００７４】
図１８中のＭＰＵ５１ｃは、制御入力６１を介して処理切り替え要求信号が与えられると、データバス６２を介して、演算アレイ５００ｃを構成する１６個の演算セル５０３の各々の処理部５４２の中の係数レジスタ６２３に係数を設定する。また、このＭＰＵ５１ｃは、データバス６２を介して、演算アレイ５００ｃを構成する１６個の演算セル５０３の各々の入力タイミング部５４１のレジスタ／カウンタ及び出力タイミング部５４３のレジスタ／カウンタにそれぞれ定数を設定する機能も持っている。メモリ５２ｃには、処理切り替え要求信号に応答してＭＰＵ５１ｃが実行すべきプログラムと、レジスタ／カウンタへの定数設定のためにＭＰＵ５１ｃが実行すべきプログラムと、設定に用いるべきデータとが格納されている。
【００７５】
図１８の画像処理装置を２タップの水平フィルタの機能、２タップの垂直フィルタの機能及び両フィルタの出力の合成機能という３つの機能を兼ね備えた装置として動作させる場合の入力部５０２ｃの内部構成は、先に説明した図７のとおりである。この場合には、演算セルＤ１へ供給される画素データｇ3 の１ライン前の画素データｈ3 が演算セルＣ１へ供給され、かつ水平方向に並んだ３つの画素に関する画素データｈ1 ，ｈ2 ，ｈ3 が演算セルＡ１，Ｂ１，Ｃ１へ供給される。
【００７６】
図２０は、図１８中の入力部５０２ｃに図７と同様の内部構成を採用した場合の演算アレイ５００ｃの動作説明図である。第１列の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１の各々の係数レジスタ６２３には、係数ａ，ｂ，ｃ，ｄが予め設定される。第２列の演算セルＣ２，Ｄ２、第３列の演算セルＤ３及び第４列の演算セルＤ４の各々の係数レジスタ６２３にはいずれも係数１が予め設定される。また、５個の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１，Ｄ４の各々の第２のラッチ６２２の保持データは予め０にリセットされる。
【００７７】
４つの画素データｈ1 ，ｈ2 ，ｈ3 ，ｇ3 が入力部５０２ｃから第１列の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１へ各々供給されると、演算セルＤ１はｄ×ｇ3 を、演算セルＣ１はｃ×ｈ3 を、演算セルＢ１はｂ×ｈ2 を、演算セルＡ１はａ×ｈ1 を順次第１の共通バス５３１へ出力する。第２列の演算セルＤ２では、第１のラッチ６２１が演算セルＤ１からのｄ×ｇ3 を、第２のラッチ６２２が演算セルＣ１からのｃ×ｈ3 を順次受け取る。この結果、演算セルＤ２は、第２の共通バス５３２へｃ×ｈ3 ＋ｄ×ｇ3 を出力する。一方、第２列の演算セルＣ２では、第１のラッチ６２１が演算セルＢ１からのｂ×ｈ2 を、第２のラッチ６２２が演算セルＡ１からのａ×ｈ1 を順次受け取る。この結果、演算セルＣ２は、第２の共通バス５３２へａ×ｈ1 ＋ｂ×ｈ2 を出力する。ここに、演算セルＣ２の出力データａ×ｈ1 ＋ｂ×ｈ2 は２タップの水平フィルタの処理結果であり、演算セルＤ２の出力データｃ×ｈ3 ＋ｄ×ｇ3 は２タップの垂直フィルタの処理結果である。
【００７８】
第３列の演算セルＤ３では、第１のラッチ６２１が演算セルＤ２からのｃ×ｈ3 ＋ｄ×ｇ3 を、第２のラッチ６２２が演算セルＣ２からのａ×ｈ1 ＋ｂ×ｈ2 を順次受け取る。この結果、演算セルＤ３は、第３の共通バス５３３へａ×ｈ1 ＋ｂ×ｈ2 ＋ｃ×ｈ3 ＋ｄ×ｇ3 を出力する。第４列の演算セルＤ４は、演算セルＤ３からのａ×ｈ1 ＋ｂ×ｈ2 ＋ｃ×ｈ3 ＋ｄ×ｇ3 をそのまま出力する。演算セルＤ４の出力データａ×ｈ1 ＋ｂ×ｈ2 ＋ｃ×ｈ3 ＋ｄ×ｇ3 は、２タップの水平フィルタの処理結果と２タップの垂直フィルタの処理結果との合成結果として、入出力部５２０ｃを介して出力される。
【００７９】
以上のとおり、図１８の画像処理装置によれば、３個の演算セルＡ１，Ｂ１，Ｃ２からなるグループと３個の演算セルＣ１，Ｄ１，Ｄ２からなる他のグループとを独立に動作させることによって、２タップの水平フィルタ処理と２タップの垂直フィルタ処理とが並列に実行される。しかも、２個の演算セルＤ３，Ｄ４によって、両フィルタ処理結果の合成処理が実行される。
【００８０】
ところが、以上の画像処理では、図２０中の破線で囲まれた８個の演算セルＡ２，Ｂ２，Ａ３，Ｂ３，Ｃ３，Ａ４，Ｂ４，Ｃ４が使用されない。これら８個の演算セルを有効に利用できるように、図１８の画像処理装置には第１〜第６のバイパスバス７２１〜７２６が設けられている。
【００８１】
図２１及び図２２は、図１８の画像処理装置の動作説明のためのタイミング図であって、上記水平フィルタ処理、垂直フィルタ処理及び合成処理の実行中における第２のバイパスバス７２２の使用方法の例を示している。
【００８２】
第１サイクルでは、第１列の演算セルＤ１，Ｃ１，Ｂ１，Ａ１の各々に画素データが供給され、演算処理が並列に実行される。
【００８３】
第２サイクルでは、演算セルＤ１が第１の共通バス５３１へデータｄ×ｇ3 を出力し、該データを演算セルＤ２の第１のラッチ６２１が受け取る。
【００８４】
第３サイクルでは、演算セルＣ１が第１の共通バス５３１へデータｃ×ｈ3 を出力し、該データを演算セルＤ２の第２のラッチ６２２が受け取る。２つのデータを受け取った演算セルＤ２は、演算処理を実行する。
【００８５】
第４サイクルでは、演算セルＢ１が第１の共通バス５３１へデータｂ×ｈ2 を出力し、該データを演算セルＣ２の第１のラッチ６２１が受け取る。一方、演算セルＤ２が第２の共通バス５３２へデータｃ×ｈ3 ＋ｄ×ｇ3 を出力し、該データを演算セルＤ３の第１のラッチ６２１が受け取る。
【００８６】
第５サイクルでは、演算セルＡ１が第１の共通バス５３１へデータａ×ｈ1 を出力し、該データを演算セルＣ２の第２のラッチ６２２が受け取る。２つのデータを受け取った演算セルＣ２は、演算処理を実行する。第２列の全ての演算セルは出力をハイ・インピーダンス状態に保持し、これらの演算セルにとっては出力側が空きサイクルとなる。ところが、この空きサイクルを利用して、入力部５０２ｃが第２のバイパスバス７２２を介してデータＺ1 を第２の共通バス５３２へ出力する。このデータＺ1 は、演算セルＣ３の第１のラッチ６２１に受け取られる。
【００８７】
第６サイクルでは、演算セルＣ２が第２の共通バス５３２へデータａ×ｈ1 ＋ｂ×ｈ2 を出力し、該データを演算セルＤ３の第２のラッチ６２２が受け取る。２つのデータを受け取った演算セルＤ３は、演算処理を実行する。
【００８８】
第７サイクルでは、第２列の全ての演算セルが出力をハイ・インピーダンス状態に保持し、これらの演算セルにとっては出力側が空きサイクルとなる。ところが、この空きサイクルを利用して、入力部５０２ｃが第２のバイパスバス７２２を介してデータＺ2 を第２の共通バス５３２へ出力する。このデータＺ2 は、演算セルＣ３の第２のラッチ６２２に受け取られる。２つのデータを受け取った演算セルＣ３は、演算処理を実行する。一方、演算セルＤ３が第３の共通バス５３３へデータａ×ｈ1 ＋ｂ×ｈ2 ＋ｃ×ｈ3 ＋ｄ×ｇ3 を出力し、該データを演算セルＤ４が受け取る。
【００８９】
第８サイクル以降では、演算セルＣ３が第３の共通バス５３３をデータの出力に使用できる。
【００９０】
以上のとおり、図１８の画像処理装置によれば、第２列の演算セルＤ２，Ｃ２，Ｂ２，Ａ２から第３列の演算セルＤ３，Ｃ３，Ｂ３，Ａ３へのデータ転送だけでなく、第２のバイパスバス７２２を介した入力部５０２ｃから第３列の演算セルＤ３，Ｃ３，Ｂ３，Ａ３への直接データ転送も可能である。したがって、第１、第２及び第３の共通バス５３１，５３２，５３３で互いに連結された８個の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１，Ｃ２，Ｄ２，Ｄ３，Ｄ４を利用して水平フィルタ処理、垂直フィルタ処理及び合成処理を実行しながら、例えば該一連の処理に使用されない演算セルＣ３へ空きサイクルを利用して入力部５０２ｃからデータを転送することができる。この結果、演算アレイ５００ｃの高い使用効率を実現できるとともに、バイパスバスを備えない図１１の場合に比べてより複雑な演算が可能となる。
【００９１】
更に、図１８の画像処理装置によれば、第１のバイパスバス７２１及び第３〜第６のバイパスバス７２３〜７２６の利用も可能である。特に、図１８の構成はデータのフィードバックのためのバイパスバス７２４，７２５，７２６を備えているので、巡回型フィルタを容易に構成できる効果がある。
【００９２】
（実施例９）
図２３は、本発明の第９の実施例に係る画像処理装置のブロック図である。図２３中の５００ｄは、各々列番号ｘ（１≦ｘ≦４）及び行番号ｙ（１≦ｙ≦５）で指定される並列動作が可能な２０個の演算セル（Ｅ［ｘ，ｙ］）５０３を備えた演算アレイである。この演算アレイ５００ｄは、第１の入出力部５０２ｄから供給されたデータに算術演算処理を施して得られた結果を第２の入出力部５２０ｄへ供給したり、第２の入出力部５２０ｄから供給されたデータに算術演算処理を施して得られた結果を第１の入出力部５０２ｄへ供給したりするものである。図１０の場合と同様に、第１列のうちの４個の演算セルＥ［１，ｙ］（２≦ｙ≦５）をＡ１，Ｂ１，Ｃ１及びＤ１、第２列のうちの３個の演算セルＥ［２，ｙ］（３≦ｙ≦５）をＢ２，Ｃ２及びＤ２、第３列のうちの２個の演算セルＥ［３，ｙ］（４≦ｙ≦５）をＣ３及びＤ３、第４列のうちの演算セルＥ［４，５］をＤ４とそれぞれ名付ける。また、第４列のうちの４個の演算セルＥ［４，ｙ］（４≧ｙ≧１）をＰ１，Ｑ１，Ｒ１及びＳ１、第３列のうちの３個の演算セルＥ［３，ｙ］（３≧ｙ≧１）をＱ２，Ｒ２及びＳ２、第２列のうちの２個の演算セルＥ［２，ｙ］（２≧ｙ≧１）をＲ３及びＳ３、第１列のうちの演算セルＥ［１，１］をＳ４とそれぞれ名付ける。
【００９３】
外部からのデータ信号（画素信号）は、４つの入力５０４を介して第１の入出力部５０２ｄへ、他の４つの入力５０４を介して第２の入出力部５２０ｄへ各々供給される。第１の入出力部５０２ｄから第１列のうちの４個の演算セルＤ１，Ｃ１，Ｂ１，Ａ１へは各々データバス５０５，５０６，５０７，５０８を介して、第２の入出力部５２０ｄから第４列のうちの４個の演算セルＰ１，Ｑ１，Ｒ１，Ｓ１へは各々データバス５１２，５１３，５１４，５１５を介して個別にデータが供給される。第１列の演算セルＳ４，Ａ１，Ｂ１，Ｃ１，Ｄ１と第２列の演算セルＳ３，Ｒ３，Ｂ２，Ｃ２，Ｄ２との間には時分割多重の第１の共通バス５３１が介在しており、６個の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１，Ｒ３，Ｓ３のうちの任意の演算セルから４個の演算セルＢ２，Ｃ２，Ｄ２，Ｓ４のうちの任意の演算セルへのデータ転送が可能となっている。また、第２列の演算セルＳ３，Ｒ３，Ｂ２，Ｃ２，Ｄ２と第３列の演算セルＳ２，Ｒ２，Ｑ２，Ｃ３，Ｄ３との間に時分割多重の第２の共通バス５３２が介在しており、６個の演算セルＢ２，Ｃ２，Ｄ２，Ｑ２，Ｒ２，Ｓ２のうちの任意の演算セルから４個の演算セルＣ３，Ｄ３，Ｒ３，Ｓ３のうちの任意の演算セルへのデータ転送が可能となっている。更に、第３列の演算セルＳ２，Ｒ２，Ｑ２，Ｃ３，Ｄ３と第４列の演算セルＳ１，Ｒ１，Ｑ１，Ｐ１，Ｄ４との間に時分割多重の第３の共通バス５３３が介在しており、６個の演算セルＣ３，Ｄ３，Ｐ１，Ｑ１，Ｒ１，Ｓ１のうちの任意の演算セルから４個の演算セルＤ４，Ｑ２，Ｒ２，Ｓ２のうちの任意の演算セルへのデータ転送が可能となっている。第４列のうちの演算セルＤ４から第２の入出力部５２０ｄへはデータバス５１１を介してデータが供給され、第２の入出力部５２０ｄは１つの出力５２１を介して外部へデータ信号（画素信号）を出力する。一方、第１列のうちの演算セルＳ４から第１の入出力部５０２ｄへはデータバス５１６を介してデータが供給され、第１の入出力部５０２ｄは１つの出力５２１を介して外部へデータ信号（画素信号）を出力する。
【００９４】
以上のとおり、図２３の画像処理装置の演算アレイ５００ｄは、図１５の演算アレイ５００ａの空白部を同様の演算アレイで埋めた構成を備えたものである。したがって、ＬＳＩへの実装に際して図１５の場合に比べてチップ面積を有効に使うことができる。なお、図２３の画像処理装置は、各演算セル５０３に内蔵されている係数レジスタの設定などのためのＭＰＵ５１ｄとメモリ５２ｄとを更に備えている。
【００９５】
図２３の画像処理装置によれば、第１〜第３の共通バス５３１，５３２，５３３を介して互いに連結された１０個の演算セルＡ１，Ｂ１，Ｃ１，Ｄ１，Ｂ２，Ｃ２，Ｄ２，Ｃ３，Ｄ３，Ｄ４と、同じく第１〜第３の共通バス５３１，５３２，５３３を介して互いに連結された他の１０個の演算セルＰ１，Ｑ１，Ｒ１，Ｓ１，Ｑ２，Ｒ２，Ｓ２，Ｒ３，Ｓ３，Ｓ４とを互いに独立に動作させることによって、各々水平フィルタ処理、垂直フィルタ処理などを実行することができる。また、これら２０個の演算セル５０３がループをなすように外部接続を施すことによって、巡回型フィルタを容易に構成できる。また、図２３中の２個の演算セル（例えば、Ｂ２とＲ３）で巡回型フィルタを構成することも可能である。図１６や図１８に示すバイパスバスを図２３の構成に付加してもよい。
【００９６】
以上の説明のとおり、上記各実施例によれば、プログラマブルな画像処理のための演算アレイを構成する複数の積和演算セルの並列動作を達成できる。しかも、小さいバス構成で並列処理を実行でき、その効果は絶大なるものがある。
【００９７】
なお、各実施例中のＭＰＵは演算アレイの中に組み込み可能である。例えば、図１中のＭＰＵ１１は、入力部１０２から画素データを受け取り、かつ該受け取った画素データに算術論理演算処理を施すようにもできる。また、ＭＰＵ１１は、１６個の演算セル１０３のうちのいずれかからデータを受け取り、かつ該受け取ったデータに算術論理演算処理を施すようにもできる。ＭＰＵ１１による処理の結果は、いずれかの演算セル１０３又は出力部１２０へ供給される。
【００９８】
【発明の効果】
以上説明してきたとおり、本発明に係る第１の信号処理装置によれば、並列動作可能な複数の演算セルをピラミッド状に２次元配置し、かつ木構造をなすように各階層間をデータバスで連結してなる構成を採用したので、小さいバス構成で並列処理を実行できる収束型処理に適した信号処理装置を実現できる。
【００９９】
また、本発明に係る第２の信号処理装置によれば、並列動作可能な複数の演算セルをピラミッド状に２次元配置し、かつ各階層間に個別の共通バスを設けた構成を採用したので、小さいバス構成で並列処理を実行できる収束型処理に適した信号処理装置を実現できる。
【図面の簡単な説明】
【図１】本発明の第１の実施例に係る信号処理装置のブロック図である。
【図２】図１中の入力部の内部構成を示すブロック図である。
【図３】図１中の演算セルの内部構成を示すブロック図である。
【図４】図１中の演算アレイの動作説明図である。
【図５】本発明の第２の実施例に係る信号処理装置のブロック図である。
【図６】本発明の第３の実施例に係る信号処理装置のブロック図である。
【図７】図６中の入力部の内部構成を示すブロック図である。
【図８】図６中の演算セルの内部構成を示すブロック図である。
【図９】図６中の演算アレイの動作説明図である。
【図１０】本発明の第４の実施例に係る信号処理装置のブロック図である。
【図１１】本発明の第５の実施例に係る信号処理装置のブロック図である。
【図１２】図１１中の演算セルの内部構成例を示すブロック図である。
【図１３】図１１中の演算セルの他の内部構成例を示すブロック図である。
【図１４】図１１の信号処理装置の動作説明のためのタイミング図である。
【図１５】本発明の第６の実施例に係る信号処理装置のブロック図である。
【図１６】本発明の第７の実施例に係る信号処理装置のブロック図である。
【図１７】図１６の信号処理装置の動作説明のためのタイミング図である。
【図１８】本発明の第８の実施例に係る信号処理装置のブロック図である。
【図１９】図１８中の演算セルの内部構成を示すブロック図である。
【図２０】図１８の信号処理装置の動作説明図である。
【図２１】図１８の信号処理装置の動作説明のためのタイミング図である。
【図２２】図１８の信号処理装置の動作説明のための他のタイミング図である。
【図２３】本発明の第９の実施例に係る信号処理装置のブロック図である。
【符号の説明】
１１，１１ａ〜１１ｃ  ＭＰＵ
１２，１２ａ〜１２ｃ  メモリ
２１  制御入力
２２  データバス
５１，５１ａ〜５１ｄ  ＭＰＵ
５２，５２ａ〜５２ｄ  メモリ
６１  制御入力
６２  データバス
１００，１００ａ〜１００ｃ  演算アレイ（演算手段）
１０２，１０２ａ〜１０２ｃ  入力部又は入出力部（第１のインターフェイス手段）
１０３，１０３ａ〜１０３ｃ  演算セル
１０４  入力
１０５〜１１６，１１９  データバス
１２０，１２０ａ〜１２０ｃ  出力部又は入出力部（第２のインターフェイス手段）
１２１  出力
１３１，１３７  係数レジスタ
１３３  乗算器
１３５  加算器
１３６  ラッチ
１３８  セレクタ
２０１〜２０３  ラッチ（データ保持手段）
３０１  ラインメモリ（データ保持手段）
３０１，３０３  ラッチ（データ保持手段）
５００，５００ａ〜５００ｄ  演算アレイ（演算手段）
５０２，５０２ａ〜５０２ｄ  入力部又は入出力部（第１のインターフェイス手段）
５０３  演算セル
５０４  入力
５０５〜５０８，５１１〜５１６  データバス
５２０，５２０ａ〜５２０ｄ  出力部又は入出力部（第２のインターフェイス手段）
５２１  出力
５３１〜５３３  共通バス
５４１  入力タイミング部
５４２  処理部
５４３  出力タイミング部
６０１，６１１  レジスタ
６０２，６１２  一致検出回路
６０４，６１４  カウンタ
６２１，６２２，６２６  ラッチ
６２３  係数レジスタ
６２４  乗算器
６２５  加算器
７１１〜７１７，７２１〜７２６  バイパスバス
【図１】
0003639014.tif 000002
【図２】
0003639014.tif 000003
【図３】
0003639014.tif 000004
【図４】
0003639014.tif 000005
【図５】
0003639014.tif 000006
【図６】
0003639014.tif 000007
【図７】
0003639014.tif 000008
【図８】
0003639014.tif 000009
【図９】
0003639014.tif 000010
【図１０】
0003639014.tif 000011
【図１１】
0003639014.tif 000012
【図１２】
0003639014.tif 000013
【図１３】
0003639014.tif 000014
【図１４】
0003639014.tif 000015
【図１５】
0003639014.tif 000016
【図１６】
0003639014.tif 000017
【図１７】
0003639014.tif 000018
【図１８】
0003639014.tif 000019
【図１９】
0003639014.tif 000020
【図２０】
0003639014.tif 000021
【図２１】
0003639014.tif 000022
【図２２】
0003639014.tif 000023
【図２３】
0003639014.tif 000024