(57)【要約】【課題】２次元の伝播処理を含む逐次処理を実現する逐次処理用の回路の規模を小さくすることができるデータ処理装置を提供する。【解決手段】逐次処理に含まれる２次元の伝播処理については、これと等価な垂直方向の伝播処理と水平方向の伝播処理との２つに分解し、垂直方向の伝播処理は１次元ＳＩＭＤ型プロセッサ４１を用いて処理し、水平方向の伝播処理は逐次処理用回路８１を用いて処理する。これにより、２次元の伝播処理を含む逐次処理を実現する逐次処理用回路８１に対し、伝播する入力データのビット数を削減することができるので、従来に比べてテーブル変換用のメモリを小さくすることができ、逐次処理用回路８１の規模を小さくすることができる。【選択図】　　　　図４
2004110618.tif 000002
【特許請求の範囲】
【請求項１】
左右に複数並ぶ各ＰＥ（プロセッサ・エレメント）が、その隣接する少なくとも左右どちらか一方のＰＥのレジスタ値を参照できる１次元ＳＩＭＤ（Ｓｉｎｇｌｅ　Ｉｎｓｔｒｕｃｔｉｏｎ−ｓｔｒｅａｍ　Ｍｕｌｔｉｐｌｅ　Ｄａｔａ−ｓｔｒｅａｍ）型プロセッサと、
この１次元ＳＩＭＤ型プロセッサのレジスタファイルのレジスタのデータをアドレスとするテーブル変換を行う逐次処理用回路と、
を備え、
逐次処理に含まれる２次元の伝播処理については、これと等価な垂直方向の伝播処理と水平方向の伝播処理との２つに分解し、垂直方向の伝播処理は前記１次元ＳＩＭＤ型プロセッサを用いて処理し、水平方向の伝播処理は前記逐次処理用回路を用いて処理することを特徴とするデータ処理装置。
【請求項２】
原稿の画像を読取るスキャナと、
この読取った画像データに対して前記逐次処理を行う請求項１記載のデータ処理装置を有し、画像処理を施す画像処理装置と、
を備えることを特徴とする画像読取装置。
【請求項３】
原稿の画像を読取るスキャナと、
この読取った画像データに対して前記逐次処理を行う請求項１記載のデータ処理装置を有し、画像処理を施す画像処理装置と、
この画像処理装置で処理後のデータを用い、用紙上に画像の形成を行うプリンタエンジンと、
を備えることを特徴とする画像形成装置。
【請求項４】
逐次処理に含まれる２次元の伝播処理を処理するプログラムであって、２次元の伝播処理をこれと等価な垂直方向の伝播処理と水平方向の伝播処理との２つに分解し、垂直方向の伝播処理は左右に複数並ぶ各ＰＥ（プロセッサ・エレメント）がその隣接する少なくとも左右どちらか一方のＰＥのレジスタ値を参照できる１次元ＳＩＭＤ（Ｓｉｎｇｌｅ　Ｉｎｓｔｒｕｃｔｉｏｎ−ｓｔｒｅａｍ　Ｍｕｌｔｉｐｌｅ　Ｄａｔａ−ｓｔｒｅａｍ）型プロセッサを用いて処理させ、水平方向の伝播処理は前記１次元ＳＩＭＤ型プロセッサのレジスタファイルのレジスタのデータをアドレスとするテーブル変換を行う逐次処理用回路を用いて処理させることを特徴とするコンピュータに読取り可能なプログラム。
【請求項５】
逐次処理に含まれる２次元の伝播処理を処理するプログラムを記憶している記憶媒体であって、２次元の伝播処理をこれと等価な垂直方向の伝播処理と水平方向の伝播処理との２つに分解し、垂直方向の伝播処理は左右に複数並ぶ各ＰＥ（プロセッサ・エレメント）がその隣接する少なくとも左右どちらか一方のＰＥのレジスタ値を参照できる１次元ＳＩＭＤ（Ｓｉｎｇｌｅ　Ｉｎｓｔｒｕｃｔｉｏｎ−ｓｔｒｅａｍ　Ｍｕｌｔｉｐｌｅ　Ｄａｔａ−ｓｔｒｅａｍ）型プロセッサを用いて処理させ、水平方向の伝播処理は前記１次元ＳＩＭＤ型プロセッサのレジスタファイルのレジスタのデータをアドレスとするテーブル変換を行う逐次処理用回路を用いて処理させるコンピュータに読取り可能なプログラムを記憶していることを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理装置、画像読取装置、画像形成装置、プログラム及び記憶媒体に関する。
【０００２】
【従来の技術】
従来、デジタル複写機等において大量の画像処理をリアルタイムに行う場合には、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ　Ｓｐｅｃｉｆｉｃ　Ｉｎｔｅｇｒａｔｅｄ　Ｃｉｒｃｕｉｔ）が用いられてきたが、ＤＳＰ（Ｄｉｇｉｔａｌ　Ｓｉｇｎａｌ　Ｐｒｏｃｅｓｓｏｒ）の進展により、ＳＩＭＤ（Ｓｉｎｇｌｅ　Ｉｎｓｔｒｕｃｔｉｏｎ　Ｍｕｌｔｉｐｌｅ　Ｄａｔａ）型プロセッサによる実現も可能となってきた。
【０００３】
ところで、画像処理の中には、２値化処理、フィルタリング処理、階調処理等のようなＳＩＭＤ型プロセッサで並列処理の可能な処理の他に、誤差拡散処理等のように画素毎に順番に処理を行い、処理済みの過去の結果が次の画素の処理に影響を与えるようなヒステリシスを持った逐次処理（伝播処理）がある。このような逐次処理（伝播処理）は、従来のＳＩＭＤ型プロセッサでは並列演算による実行ができないという問題があった。
【０００４】
そこで、このような問題を解決すべく、ＳＩＭＤ型プロセッサとは別に逐次処理用の回路（テーブル変換器）を搭載することにより、並列処理可能な処理はＳＩＭＤ型プロセッサで実行し、逐次処理はその逐次処理専用の回路で実行するというように、処理を分担して実行する装置が提案されている（例えば、特許文献１参照）。
【０００５】
【特許文献１】
特開２００２−１０８６０４公報
【０００６】
【発明が解決しようとする課題】
しかしながら、特許文献１に記載されている装置によれば、２次元の伝播処理を含む逐次処理を実現する時、そのまま実装しようとすると、伝播すべき状態数が大きくなりすぎて逐次処理用の回路の規模（例えば、テーブル変換器のテーブル変換用のメモリのサイズ）が大きくなければならず、装置のコスト増大を招くという問題がある。
【０００７】
本発明の目的は、２次元の伝播処理を含む逐次処理を実現する逐次処理用の回路の規模を小さくすることができるデータ処理装置、画像読取装置、画像形成装置、プログラム及び記憶媒体を提供することである。
【０００８】
【課題を解決するための手段】
請求項１記載の発明のデータ処理装置は、左右に複数並ぶ各ＰＥ（プロセッサ・エレメント）が、その隣接する少なくとも左右どちらか一方のＰＥのレジスタ値を参照できる１次元ＳＩＭＤ（Ｓｉｎｇｌｅ　Ｉｎｓｔｒｕｃｔｉｏｎ−ｓｔｒｅａｍ　Ｍｕｌｔｉｐｌｅ　Ｄａｔａ−ｓｔｒｅａｍ）型プロセッサと、この１次元ＳＩＭＤ型プロセッサのレジスタファイルのレジスタのデータをアドレスとするテーブル変換を行う逐次処理用回路と、を備え、逐次処理に含まれる２次元の伝播処理については、これと等価な垂直方向の伝播処理と水平方向の伝播処理との２つに分解し、垂直方向の伝播処理は前記１次元ＳＩＭＤ型プロセッサを用いて処理し、水平方向の伝播処理は前記逐次処理用回路を用いて処理する。
【０００９】
したがって、２次元の伝播処理を含む逐次処理を実現する逐次処理用回路に対し、伝播する入力データのビット数が削減されることにより、従来に比べてテーブル変換用のメモリを小さくすることが可能になるので、逐次処理用の回路の規模を小さくすることが可能になる。
【００１０】
請求項２記載の発明の画像読取装置は、原稿の画像を読取るスキャナと、この読取った画像データに対して前記逐次処理を行う請求項１記載のデータ処理装置を有し、画像処理を施す画像処理装置と、を備える。
【００１１】
したがって、請求項１記載のデータ処理装置を備えることにより、逐次処理用の回路の規模を小さくすることが可能になるので、画像読取装置の製造コストを抑えることが可能になる。
【００１２】
請求項３記載の発明の画像形成装置は、原稿の画像を読取るスキャナと、この読取った画像データに対して前記逐次処理を行う請求項１記載のデータ処理装置を有し、画像処理を施す画像処理装置と、この画像処理装置で処理後のデータを用い、用紙上に画像の形成を行うプリンタエンジンと、を備える。
【００１３】
したがって、請求項１記載のデータ処理装置を備えることにより、逐次処理用の回路の規模を小さくすることが可能になるので、画像形成装置の製造コストを抑えることが可能になる。
【００１４】
請求項４記載の発明のコンピュータに読取り可能なプログラムは、逐次処理に含まれる２次元の伝播処理を処理するプログラムであって、２次元の伝播処理をこれと等価な垂直方向の伝播処理と水平方向の伝播処理との２つに分解し、垂直方向の伝播処理は左右に複数並ぶ各ＰＥ（プロセッサ・エレメント）がその隣接する少なくとも左右どちらか一方のＰＥのレジスタ値を参照できる１次元ＳＩＭＤ（Ｓｉｎｇｌｅ　Ｉｎｓｔｒｕｃｔｉｏｎ−ｓｔｒｅａｍ　Ｍｕｌｔｉｐｌｅ　Ｄａｔａ−ｓｔｒｅａｍ）型プロセッサを用いて処理させ、水平方向の伝播処理は前記１次元ＳＩＭＤ型プロセッサのレジスタファイルのレジスタのデータをアドレスとするテーブル変換を行う逐次処理用回路を用いて処理させる。
【００１５】
したがって、２次元の伝播処理を含む逐次処理を実現する逐次処理用回路に対し、伝播する入力データのビット数が削減されることにより、従来に比べてテーブル変換用のメモリを小さくすることが可能になるので、逐次処理用の回路の規模を小さくすることが可能になる。
【００１６】
請求項５記載の発明の記憶媒体は、逐次処理に含まれる２次元の伝播処理を処理するプログラムを記憶している記憶媒体であって、２次元の伝播処理をこれと等価な垂直方向の伝播処理と水平方向の伝播処理との２つに分解し、垂直方向の伝播処理は左右に複数並ぶ各ＰＥ（プロセッサ・エレメント）がその隣接する少なくとも左右どちらか一方のＰＥのレジスタ値を参照できる１次元ＳＩＭＤ（Ｓｉｎｇｌｅ　Ｉｎｓｔｒｕｃｔｉｏｎ−ｓｔｒｅａｍ　Ｍｕｌｔｉｐｌｅ　Ｄａｔａ−ｓｔｒｅａｍ）型プロセッサを用いて処理させ、水平方向の伝播処理は前記１次元ＳＩＭＤ型プロセッサのレジスタファイルのレジスタのデータをアドレスとするテーブル変換を行う逐次処理用回路を用いて処理させるコンピュータに読取り可能なプログラムを記憶している。
【００１７】
したがって、この記憶媒体に記憶されたプログラムをコンピュータに読み取らせることにより、２次元の伝播処理を含む逐次処理を実現する逐次処理用回路に対し、伝播する入力データのビット数が削減されることにより、従来に比べてテーブル変換用のメモリを小さくすることが可能になるので、逐次処理用の回路の規模を小さくすることが可能になる。
【００１８】
【発明の実施の形態】
本発明の一実施の形態について説明する。
【００１９】
図１は、本発明の実施の一形態であるデジタル複写機１の概略構成を示すブロック図である。このデジタル複写機１は、原稿の画像を読取るスキャナ２と、この読取った画像データに様々な処理を施す画像処理装置３と、この処理後の画像データで用紙上に画像の形成を行うプリンタエンジン４と、デジタル複写機１の全体を制御するマイクロコンピュータを備えた制御部５とを備えている。プリンタエンジン４の印刷方式は、電子写真方式のほか、インクジェット方式、昇華型熱転写方式、銀塩写真方式、直接感熱記録方式、溶融型熱転写方式など、様々な方式を適用することができる。
【００２０】
画像処理装置３は、スキャナ２で読取った画像データに対して、２値化処理、フィルタリング処理、階調処理、誤差拡散処理など、様々な処理を行うが、その処理の全部又は一部は、所定の制御プログラムに基づいて、データ処理装置であるプロセッサ４０（図２参照）が実行する。
【００２１】
図２は、画像処理装置３の処理系のハードウエア構成を示すブロック図である。図２に示すように、この処理系は、各種演算を行い、各部を集中的に制御するコンピュータとして機能するプロセッサ４０と、本発明のプログラムを実施するプロセッサ４０で読取り可能な各種の制御プログラムや、各種の固定データを記憶していて、本発明の記憶媒体を実施するＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）４５（フラッシュメモリも含む）と、各種データを書き換え可能に記憶し、プロセッサ４０の作業エリアとなるＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）４６と、Ｉ／Ｏポート４７とが、バス４８で接続されている。ＲＯＭ４５は、そのフラッシュメモリに記憶されている制御プログラムなどを、Ｉ／Ｏポート４７を介し、図示しない外部装置からダウンロードして書き換えることが可能である。
【００２２】
図３、図４は、プロセッサ４０の構成を示すブロック図である。図３に示すように、本実施の形態のプロセッサ４０は、ＳＩＭＤ（Ｓｉｎｇｌｅ　Ｉｎｓｔｒｕｃｔｉｏｎ−ｓｔｒｅａｍ　Ｍｕｌｔｉｐｌｅ　Ｄａｔａ−ｓｔｒｅａｍ）型プロセッサ４１を備えており、このＳＩＭＤ型プロセッサ４１は、グローバルプロセッサ４２を備えている。グローバルプロセッサ４２は、図示しないプログラムＲＡＭとデータＲＡＭとを内蔵し、ＲＯＭ４５に格納されている制御プログラムを解読して、各種制御信号を生成する。この制御信号は内蔵する各種ブロックの制御以外にもレジスタファイル４３、演算アレイ４４に供給される。また、ＧＰ（グローバルプロセッサ）命令実行時は、ＳＩＭＤ型プロセッサ４１が内蔵する後述の汎用レジスタ５３、ＡＬＵ（算術論理演算器）５５等を使用して、各種演算処理、プログラム制御処理を行う。
【００２３】
レジスタファイル４３は、ＰＥ（プロセッサ・エレメント）命令で処理されるデータを保持している。ＰＥ命令は、ＳＩＭＤタイプの命令であり、レジスタファイル４３に保持されている複数のデータに対して同時に同じ処理を行う。このレジスタファイル４３からのデータの読み出し、書き込みの制御は、グローバルプロセッサ４２からの制御によって行われる。読み出されたデータは演算アレイ４４に送られ、演算アレイ４４での演算処理後にレジスタファイル４３に書き込まれる。
【００２４】
演算アレイ４４は、ＰＥ命令の演算処理を行う。処理の制御はすべてグローバルプロセッサ４２から行われる。
【００２５】
ＳＩＭＤ型プロセッサ４１は１次元ＳＩＭＤ型プロセッサであり、複数のデータに対し、単一の命令を並列に実行させることができる。図４に示すように、レジスタファイル４３は複数のＰＥ（プロセッサ・エレメント）５１からなる１次元ＰＥアレイ５２を備えている。
【００２６】
グローバルプロセッサ４２には、前述のように本プロセッサ４１のプログラム格納用のプログラムＲＡＭと、演算データ格納用のデータＲＡＭが内蔵されている他、プログラムのアドレスを保持するプログラムカウンタ（ＰＣ）、演算処理のデータ格納のための汎用レジスタ、レジスタ退避、復帰時に退避先データＲＡＭアドレスを保持するスタックポインタ（ＳＰ）、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタ（ＬＳ）、同じくＩＲＱ時とＮＭＩ時の分岐元アドレスを保持するＬＩレジスタ、ＬＮレジスタ、プロセッサの状態を保持するプロセッサステータスレジスタ（Ｐ）が内蔵されている（いずれも図示せず）。
【００２７】
グローバルプロセッサ４２は、これらのレジスタと図示しない命令デコーダ、ＡＬＵ（論理演算器）、メモリ制御回路、割り込み制御回路、外部Ｉ／Ｏ制御回路、ＧＰ演算制御回路を使用して、ＧＰ命令の実行を行う。また、ＰＥ命令実行時は命令デコーダ、図示しないレジスタファイル制御回路、ＰＥ演算制御回路を使用して、レジスタファイル４３の制御と演算アレイ４４の制御を行う。
【００２８】
レジスタファイル４３は２５６個のＰＥ（プロセッサ・エレメント）５１からなる１次元ＰＥアレイ５２を備えている。各ＰＥ５１には、８ビットのレジスタ５３が３２本内蔵されている。各レジスタ５３は、ＰＥ５１ごとにＲ０，Ｒ１，Ｒ２，…，Ｒ３１と呼ばれている。それぞれのレジスタ５３は演算アレイ４４に対して１つの読み出しポートと１つの書き込みポートを備えており、８ビットのリード／ライト兼用のバスで演算アレイ４４からアクセスされる。３２本のレジスタ５３の内、２４本（Ｒ０〜Ｒ２３）はプロセッサ４１の外部からアクセス可能であり、外部からクロックとアドレス、リード／ライト制御を入力することで、任意のレジスタ５３に読み書きすることができる。残りの８本（Ｒ２４〜Ｒ３１）のレジスタ５３はＰＥ演算の一時的な演算データ保存用として使用されるが、グローバルプロセッサ４２のデータＲＡＭのデータを書き込むこともできる。グローバルプロセッサ４２からのライト制御と演算アレイ４４の条件レジスタ（Ｔレジスタ）５９の条件により、レジスタファイル４３に内蔵される８本（Ｒ２４〜Ｒ３１）のレジスタ５３にグローバルプロセッサ４２のデータＲＡＭデータを、条件が成立している複数のＰＥ５１に同時に書き込みが可能である。また、データＲＡＭは６４ビットの出力ポートを持つため、１つのＰＥ５１に対しても８本のレジスタ（Ｒ２４〜Ｒ３１）に同時に６４ビットの書き込みが可能である。
【００２９】
演算アレイ４４は１６ビットＡＬＵ５５と、１６ビットＡレジスタ５６、Ｆレジスタ５７、Ｍレジスタ５８、Ｔレジスタ５９を内蔵している。Ｆレジスタ５７、Ｍレジスタ５８は、それぞれ演算用のレジスタである。Ｔレジスタ５９は、各ＰＥで演算命令を実行するかしないかの制御フラグを立てる専用のレジスタである。ＰＥ命令による演算はレジスタファイル４３から読み出されたデータもしくはグローバルプロセッサ４２から与えられたデータをＡＬＵ５５の片側の入力として、もう片側にはＡレジスタ５６の内容を入力として結果をＡレジスタ５６に格納する。したがって、ＡレジスタとＲ０〜Ｒ３１レジスタ５３又はグローバルプロセッサ４２から与えられたデ一タとの演算がおこなわれることとなる。レジスタファイル４３の８ビットのデータは演算アレイ４４との接続部に配置されている図示しないシフト＆拡張回路により任意ビットを左シフトしてＡＬＵ５５に入力する。
【００３０】
各レジスタ５３は図示しないアドレスバス及びデータバスで接続されており、処理を規定する命令コード、処理の対象となるデータを格納する。レジスタ５３の内容はＡＬＵ５５に入力され、演算処理結果はＡレジスタ５６に格納される。結果をＰＥ５１の外部に取出すために、Ｆレジスタ５７に一旦退避させる。Ｆレジスタ５７の内容を取出すことにより、対象データに対する処理結果が得られる。命令コードは各ＰＥ５１に同一内容で与え、処理の対象データをＰＥ５１ごとに異なる状態で与え、各ＰＥ５１は隣接するＰＥ５１のレジスタ５３の保持しているデータの内容をマルチプレクサ５４において参照することで、演算結果は並列処理され、各Ａレジスタ５６に出力される。
【００３１】
加えて、図３及び図４に示すように、このＳＩＭＤ型プロセッサ４１には、ＳＩＭＤ型プロセッサ４１と連動する逐次処理用回路であるテーブル変換器８１が備えられている。このテーブル変換器８１は、レジスタファイル４３の特定のレジスタ５３に対する読み出し／書き込みを行い、また、レジスタ５３から読み出したデータをアドレス生成部８２に出力し、テーブルＲＡＭ８３の出力データをレジスタ５３に書き込み、さらに、外部とデータの入出力を行うメモリ及びレジスタ制御回路８４を備えている。テーブルＲＡＭ８３は後述のテーブル変換を行うテーブルを備えている。アドレス生成部８２はレジスタ５３から読み出したデータをテーブルＲＡＭ８３のアドレスに変換する。このような構成により、レジスタファイル４３にはプロセッサ４１の外部からのアクセスが可能であり、グローバルプロセッサ４２の制御とは別に外部から特定のレジスタ５３に対する読み出し／書き込みを行うことが可能になっている。
【００３２】
ＳＩＭＤ型プロセッサ４１においては、演算データにより演算式が変更となる非線形処理はプログラムが非常に複雑になるため、演算前データに対して演算後の処理済みデータを全て準備してテーブルＲＡＭ８３にテーブル化し、演算データを元にテーブルＲＡＭ８３のテーブルを用いてテーブル変換を行って演算後データを得る。具体的には、アドレス生成部８２で演算前データにテーブルの先頭の番地を加算した値をアドレスポインタとしてテーブルＲＡＭ８３から得られたデータを演算後のデータとする。
【００３３】
また、テーブル変換後の結果をテーブルＲＡＭ８３からアドレス生成部８２へフィードバックしているので、これを利用して１つ前のテーブル変換結果によって次のテーブル変換結果への影響を伝播させるヒステリシスをもつ処理を実現することもできる。この場合の目的はデータの変換ではなく、入力データの系列に応じた所望のステート遷移を行うことである。
【００３４】
図４のハードウエア構成により、入力データと、１つ前のステート（変換後データ）から次のステートが出力される。この変換は、テーブルＲＡＭ８３を用いることによって実現されている。本実施の形態においては、入力データは、図５に示す１画素前の処理結果（カウント値）のテーブル変換出力ビット（７ｂｉｔ）と注目画素の黒画素判定結果（１ｂｉｔ）とであり、ステートが、注目画素のカウント値である。
【００３５】
ここで、テーブルＲＡＭ８３が備えるテーブルの内容について説明する。テーブルＲＡＭ８３のテーブルの内容は、図６に示すステート遷移を実現するものである。ここで、図６中、楕円内がステート（カウント値ＭＳ）、矢印が状態遷移、矢印上の数字が入力（ＭＳｔｍｐ（垂直処理した結果））を示す。すなわち、図６に示すように、テーブルＲＡＭ８３のテーブルの内容に従うことにより、全ての状態から０入力で状態０に遷移する。また、ｎの状態から１，２，・・，ｎ＋１入力で状態ｎ＋１に遷移し、ｎ＋２〜１２７入力では、入力値に状態遷移する。
【００３６】
このようなプロセッサ４０がＲＯＭ４５に格納されている制御プログラムに従い、ＲＡＭ４６を作業エリアとして動作することにより、以下のような処理を実行する。
【００３７】
すなわち、この制御プログラムは、概略的には、プロセッサ４０上で、２次元の伝播処理を含む逐次処理を実現するものである。
【００３８】
より具体的には、プロセッサ４０は、２次元方向の伝播を有する逐次処理を実現する際に、２次元の伝播処理をこれと等価な垂直、水平の伝播処理の２つに分解することにより、垂直方向の伝播処理は１次元ＳＩＭＤ型プロセッサであるＳＩＭＤ型プロセッサ４１の並列処理を用いて処理し、水平方向の伝播処理のみ付属の逐次処理用回路であるテーブル変換器８１を用いて処理する。
【００３９】
以下では、かかる処理を用いた画像処理装置３における処理の例として、黒画素領域サイズの計数について説明する。
【００４０】
［黒画素領域サイズの計数について］
プロセッサ４０上で、スキャナ２で読取った画像データを対象に、グレー画像を２値化して連続した黒画素から成る黒画素領域の大きさを計数する。
【００４１】
入力グレー画像（たとえば２５６階調濃度値）の画素値をＸｉｊとする。ｉ，ｊは画素の２次元座標値とする。
【００４２】
そして、所定の閾値ｔｈｒとの比較により単純な２値化処理を行う。すなわち、その２値化結果をＹｉｊとすると、
2004110618.tif 000003
である。
【００４３】
この２値化処理部分は、画素ごとに、すなわち、ＰＥ５１ごとに並列に演算可能であり、通常のＳＩＭＤ型プロセッサの並列演算命令を用いてプログラムすることができる。
【００４４】
次に、上記２値化結果のＹｉｊに対して、ライン順次に各ラインにおいて１次元方向に左から右に見ていき、１の連続する領域の大きさ（以下１を黒、０を白とし、黒を示す１の連続した領域を黒画素領域と呼ぶ）、黒画素領域の大きさを求める。ここで、黒画素領域の大きさは、領域の水平方向、垂直方向の長さの和に相当する量である。この部分は並列演算で一度に求めることができず、逐次処理が必要な部分である。以下に、そのアルゴリズムを示す。
【００４５】
［黒画素領域大きさ計数アルゴリズム］
黒画素領域大きさ計数アルゴリズムについて、図５に示す黒画素領域の大きさ計数処理の入力データの例に基づいて説明する。水平・垂直同時に伝播する場合における黒画素領域大きさ計数アルゴリズムは、
［水平・垂直同時伝播］
2004110618.tif 000004
のようになる。
【００４６】
黒画素領域の大きさ計数では黒画素判定領域の縦、横の画素長の和に相当する量をカウントしていくため、前ラインのカウント値（ここでは７ｂｉｔとする）が３つと、現ラインの注目画素の黒画素判定（１ｂｉｔ）の計４つの入力（計２２ｂｉｔ）と出力ステートに注目画素のカウント値（７ｂｉｔ）が必要である。そのままだとテーブル変換用のＲＡＭのサイズが膨大となってしまう。
【００４７】
そこで、黒画素領域の大きさ計数処理を、前ラインのカウント値の伝播（垂直方向の伝播）と、現画素の直前画素のカウント値の伝播（水平方向の伝播）の２段にカウントアルゴリズムを分解し、ＳＩＭＤ並列処理で可能な垂直方向の伝播（前画素のカウント値の伝播）は通常のＳＩＭＤ演算で行い、逐次処理の必要な水平方向の伝播（現ラインの直前画素のカウント値の伝播）のみをテーブル変換機能により実現し、これらを組み合わせることで、８ｂｉｔのアドレスの大きさのＲＡＭによるテーブル変換で逐次処理部分を実現できる。
【００４８】
以下に、水平方向と垂直方向とを分離したアルゴリズムを示す。これは水平・垂直同時に伝播するアルゴリズムと等価である。水平方向と垂直方向とを分離した場合における黒画素領域大きさ計数アルゴリズムは、
2004110618.tif 000005
のようになる。
【００４９】
ここで、前述したような水平方向と垂直方向とを分離したアルゴリズムを動作させた場合の処理の経過の例（動作例１〜３）を図７〜図９に示す。なお、図７〜図９中、網掛けで示されるのが黒画素判定結果（Ｃ［　］）で、その上に数字で示されるのがカウント値（ＳＳ［　］，ＭＳｔｍｐ［　］，ＭＳ［　］）である。
【００５０】
ここに、逐次処理用回路であるテーブル変換器８１に対し、伝播する入力データのビット数が削減されることにより、従来に比べてテーブル変換用のメモリを小さくすることが可能になるので、逐次処理用の回路の規模を小さくすることが可能になる。
【００５１】
【発明の効果】
請求項１記載の発明のデータ処理装置によれば、左右に複数並ぶ各ＰＥ（プロセッサ・エレメント）が、その隣接する少なくとも左右どちらか一方のＰＥのレジスタ値を参照できる１次元ＳＩＭＤ（Ｓｉｎｇｌｅ　Ｉｎｓｔｒｕｃｔｉｏｎ−ｓｔｒｅａｍ　Ｍｕｌｔｉｐｌｅ　Ｄａｔａ−ｓｔｒｅａｍ）型プロセッサと、この１次元ＳＩＭＤ型プロセッサのレジスタファイルのレジスタのデータをアドレスとするテーブル変換を行う逐次処理用回路と、を備え、逐次処理に含まれる２次元の伝播処理については、これと等価な垂直方向の伝播処理と水平方向の伝播処理との２つに分解し、垂直方向の伝播処理は前記１次元ＳＩＭＤ型プロセッサを用いて処理し、水平方向の伝播処理は前記逐次処理用回路を用いて処理することにより、２次元の伝播処理を含む逐次処理を実現する逐次処理用回路に対し、伝播する入力データのビット数を削減することができるので、従来に比べてテーブル変換用のメモリを小さくすることができ、逐次処理用の回路の規模を小さくすることができる。
【００５２】
請求項２記載の発明の画像読取装置によれば、原稿の画像を読取るスキャナと、この読取った画像データに対して前記逐次処理を行う請求項１記載のデータ処理装置を有し、画像処理を施す画像処理装置と、を備えることにより、逐次処理用の回路の規模を小さくすることができるので、画像読取装置の製造コストを抑えることができる。
【００５３】
請求項３記載の発明の画像形成装置によれば、原稿の画像を読取るスキャナと、この読取った画像データに対して前記逐次処理を行う請求項１記載のデータ処理装置を有し、画像処理を施す画像処理装置と、この画像処理装置で処理後のデータを用い、用紙上に画像の形成を行うプリンタエンジンと、を備えることにより、逐次処理用の回路の規模を小さくすることができるので、画像形成装置の製造コストを抑えることができる。
【００５４】
請求項４記載の発明のコンピュータに読取り可能なプログラムによれば、逐次処理に含まれる２次元の伝播処理を処理するプログラムであって、２次元の伝播処理をこれと等価な垂直方向の伝播処理と水平方向の伝播処理との２つに分解し、垂直方向の伝播処理は左右に複数並ぶ各ＰＥ（プロセッサ・エレメント）がその隣接する少なくとも左右どちらか一方のＰＥのレジスタ値を参照できる１次元ＳＩＭＤ（Ｓｉｎｇｌｅ　Ｉｎｓｔｒｕｃｔｉｏｎ−ｓｔｒｅａｍ　Ｍｕｌｔｉｐｌｅ　Ｄａｔａ−ｓｔｒｅａｍ）型プロセッサを用いて処理させ、水平方向の伝播処理は前記１次元ＳＩＭＤ型プロセッサのレジスタファイルのレジスタのデータをアドレスとするテーブル変換を行う逐次処理用回路を用いて処理させることにより、２次元の伝播処理を含む逐次処理を実現する逐次処理用回路に対し、伝播する入力データのビット数を削減することができるので、従来に比べてテーブル変換用のメモリを小さくすることができ、逐次処理用の回路の規模を小さくすることができる。
【００５５】
請求項５記載の発明の記憶媒体によれば、逐次処理に含まれる２次元の伝播処理を処理するプログラムを記憶している記憶媒体であって、２次元の伝播処理をこれと等価な垂直方向の伝播処理と水平方向の伝播処理との２つに分解し、垂直方向の伝播処理は左右に複数並ぶ各ＰＥ（プロセッサ・エレメント）がその隣接する少なくとも左右どちらか一方のＰＥのレジスタ値を参照できる１次元ＳＩＭＤ（Ｓｉｎｇｌｅ　Ｉｎｓｔｒｕｃｔｉｏｎ−ｓｔｒｅａｍ　Ｍｕｌｔｉｐｌｅ　Ｄａｔａ−ｓｔｒｅａｍ）型プロセッサを用いて処理させ、水平方向の伝播処理は前記１次元ＳＩＭＤ型プロセッサのレジスタファイルのレジスタのデータをアドレスとするテーブル変換を行う逐次処理用回路を用いて処理させるコンピュータに読取り可能なプログラムを記憶していることにより、この記憶媒体に記憶されたプログラムをコンピュータに読み取らせることで、２次元の伝播処理を含む逐次処理を実現する逐次処理用回路に対し、伝播する入力データのビット数を削減することができるので、従来に比べてテーブル変換用のメモリを小さくすることができ、逐次処理用の回路の規模を小さくすることができる。
【図面の簡単な説明】
【図１】本発明の実施の一形態のデジタル複写機の概略構成を示すブロック図である。
【図２】画像処理装置の処理系のハードウエア構成を示すブロック図である。
【図３】プロセッサの概略構成を示すブロック図である。
【図４】プロセッサの詳細の構成を示すブロック図である。
【図５】黒画素領域の大きさ計数処理の入力データを示す説明図である。
【図６】テーブル変換器を用いた黒画素領域の大きさ計数処理のステート遷移を示す状態遷移図である。
【図７】水平方向と垂直方向とを分離したアルゴリズムを動作させた場合の処理の経過の動作例１を示す説明図である。
【図８】動作例２を示す説明図である。
【図９】動作例３を示す説明図である。
【符号の説明】
１　　　画像形成装置、画像読取装置
２　　　スキャナ
３　　　画像処理装置
４　　　プリンタエンジン
４０　　　データ処理装置
４１　　　１次元ＳＩＭＤ型プロセッサ
４５　　　記憶媒体
５１　　　ＰＥ（プロセッサ・エレメント）
８１　　　逐次処理用回路
【図１】
2004110618.tif 000006
【図２】
2004110618.tif 000007
【図３】
2004110618.tif 000008
【図４】
2004110618.tif 000009
【図５】
2004110618.tif 000010
【図６】
2004110618.tif 000011
【図７】
2004110618.tif 000012
【図８】
2004110618.tif 000013
【図９】
2004110618.tif 000014