(57)【要約】【課題】ＳＩＭＤ型のプロセッサを用いた画像処理装置における画像処理の高速化を図ること。【解決手段】並列処理すべき複数の画素データのそれぞれを、対応する要素プロセッサ（ＰＥ）に供給し（Ｓ１１，Ｓ１２）、各ＰＥに供給された画素データに基づいて、画像処理における特定の演算を実行すべきかどうかを判断し（Ｓ１３）、その特定の演算を実行すべきと判断したときにのみ、その演算を実行するように制御する。【選択図】　図１０
2004021645.tif 000002
【特許請求の範囲】
【請求項１】
複数の要素プロセッサそれぞれに同一の命令を並列に実行させる並列処理手段を備え、その並列処理手段を用いて所定の画像処理を行う画像処理装置であって、
並列処理すべき複数の画素データのそれぞれを、対応する前記要素プロセッサに供給する供給手段と、
各要素プロセッサに供給された画素データに基づいて、前記画像処理における特定の演算を実行すべきかどうかを判断する判断手段と、
前記演算を実行すべきと判断したときにのみ、その演算を実行するように制御する制御手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記判断手段は、各要素プロセッサに供給された画素データのいずれもが最高値、またはいずれもが最低値であるときに、前記演算を実行すべきでないと判断することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記所定の画像処理は、孤立点除去処理、対数変換処理、擬似中間処理、スムージング処理、空間フィルタ処理、黒文字処理の少なくともいずれかを含むことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記特定の演算は、注目画素に対して所定数の周辺画素に依存した演算であることを特徴とする請求項１から３までのいずれかに記載の画像処理装置。
【請求項５】
複数の要素プロセッサそれぞれに同一の命令を並列に実行させる並列処理手段を備え、その並列処理手段を用いて所定の画像処理を行う画像処理装置の制御方法であって、
並列処理すべき複数の画素データのそれぞれを、対応する前記要素プロセッサに供給する供給ステップと、
各要素プロセッサに供給された画素データに基づいて、前記画像処理における特定の演算を実行すべきかどうかを判断する判断ステップと、
前記演算を実行すべきと判断したときにのみ、その演算を実行するように制御する制御ステップと、
を有することを特徴とする画像処理装置の制御方法。
【請求項６】
複数の要素プロセッサそれぞれに同一の命令を並列に実行させる並列処理手段を備え、その並列処理手段を用いて所定の画像処理を行う画像処理装置を制御するためのプログラムであって、
並列処理すべき複数の画素データのそれぞれを、対応する前記要素プロセッサに供給する供給ステップ、
各要素プロセッサに供給される画素データに基づいて、前記画像処理における特定の演算を実行すべきかどうかを判断する判断ステップ、
前記演算を実行すべきと判断したときにのみ、その演算を実行するように制御する制御ステップ、
を実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ディジタル信号で表される画像データに基づいて形成された画像を出力する画像処理装置およびその制御方法に関する。
【０００２】
【従来の技術】
現在、コピー機、ファクシミリ、プリンタ、スキャナといった画像処理装置の複合機として構成された、いわゆるＭＦＰ（Ｍｕｌｔｉ　Ｆｕｎｃｔｉｏｎ　Ｐｒｉｎｔｅｒ）と呼ばれる画像処理装置がある。このようなＭＦＰの画像処理部に、ＳＩＭＤ（Ｓｉｎｇｌｅ　Ｉｎｓｔｒｕｃｔｉｏｎ　ｓｔｒｅａｍ　Ｍｕｌｔｉｐｌｅ　Ｄａｔａ　ｓｔｒｅａｍ）型のプロセッサを使用することにより、高速、かつプログラマブルに画像を処理する技術が例えば特開平８−３１５１２６号公報に記載されている。
【０００３】
ところで、ＭＦＰで用いられる画像処理は、２値化した画素データを周囲の複数の画素を参照して孤立した白（または黒）の画素を黒（または白）に補正して圧縮率を高めたり見やすい画像として像再生するいわゆる孤立点除去処理に代表される適応的な処理を含んでいる。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記のような画像処理を画像全域にわたる全ての画素に対して行う場合、これをＳＩＭＤ型の演算処理部を用いた単一のソフトウェアによる並列処理で実現したものは、専用ハードウェアを用いて実現したものに比べて処理速度が劣るという問題がある。
【０００５】
したがって、本発明は、ＳＩＭＤ型のプロセッサを用いた画像処理装置における画像処理の高速化を図ることを目的としている。
【０００６】
【課題を解決するための手段】
上記課題を解決し、目的を達成するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、複数の要素プロセッサそれぞれに同一の命令を並列に実行させる並列処理手段を備え、その並列処理手段を用いて所定の画像処理を行う画像処理装置であって、並列処理すべき複数の画素データのそれぞれを、対応する前記要素プロセッサに供給する供給手段と、各要素プロセッサに供給された画素データに基づいて、前記画像処理における特定の演算を実行すべきかどうかを判断する判断手段と、前記演算を実行すべきと判断したときにのみ、その演算を実行するように制御する制御手段と、を備えることを特徴とする。
【０００７】
【発明の実施の形態】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。
【０００８】
（画像処理装置の機能構成）
図１は、実施形態に係る画像処理装置の構成を機能的に示すブロック図である。
【０００９】
図１において、画像処理装置１は、以下に示す５つのユニットを含む構成である。すなわち、５つのユニットとは、画像データ制御ユニット１００、画像データを入力する画像データ入力ユニット１０１、画像を蓄積する画像メモリを制御して画像データの書き込み／読み出しを行う画像メモリ制御ユニット１０２、画像データに対し加工編集等の画像処理を施す画像処理ユニット１０３、そして、画像データを転写紙等に書き込む画像書込ユニット１０４、である。
【００１０】
上記各ユニットは、画像データ制御ユニット１００を中心に構成されている。つまり、画像データ入力ユニット１０１、画像メモリ制御ユニット１０２、画像処理ユニット１０３、画像書込ユニット１０４は、いずれも画像データ制御ユニット１００に接続され、画像データ制御ユニット１００によって統括的な制御を受ける。以下、これらの各ユニットの機能について説明する。
【００１１】
画像データ制御ユニット１００が行う処理は例えば次のとおりである。
【００１２】
制御データバス（後述）とのインターフェース処理、全体システム制御、ローカルバス制御処理（後述するシステム・コントローラを起動させるためのＲＯＭ、ＲＡＭ、アクセス制御処理）、画像データ入力ユニット１０１とのインターフェース処理、画像メモリ制御ユニット１０２とのインターフェース処理、画像処理ユニット１０３とのインターフェース処理、画像書込みユニット１０４とのインターフェース処理、ネットワーク制御処理等。
【００１３】
画像データ入力ユニット１０１が行う処理は例えば次のとおり。
【００１４】
システム・コントローラ（後述）とのインターフェース制御処理、光学系による原稿反射光の読み取り処理、ＣＣＤ（Ｃｈａｒｇｅ　Ｃｏｕｐｌｅｄ　Ｄｅｖｉｃｅ：電荷結合素子）等を用いた電気信号への変換処理、Ａ／Ｄ変換器でのディジタル化処理、シェーディング補正処理（光源の照度分布むらを補正する処理）、読み取り系の濃度特性を補正する処理、ネットワークを介して入力されるＰＤＬ画像データのラスタライズ処理等。
【００１５】
画像メモリ制御ユニット１０２が行う処理は例えば次のとおり。
【００１６】
システム・コントローラ（後述）とのインターフェース制御処理、メモリ部への書き込み・読み出し処理、メモリ・モジュールへのアクセス制御処理（複数のユニットからのメモリ・アクセス要求の調停処理）等。
【００１７】
画像処理ユニット１０３が行う処理は例えば次のとおり。
【００１８】
色変換処理、色補正処理、ＭＴＦ補正処理、平滑化処理、主走査方向の任意変倍処理、濃度変換（γ変換処理：濃度調整キーに対応）、単純二値化処理、各種擬似中間調処理、ドット配置位相制御処理（ジャギー補正）、孤立点除去処理、像域分離処理（色判定、属性判定、適応処理）、密度変換処理等。
【００１９】
画像書込ユニット１０４が行う処理は例えば次のとおり。
【００２０】
画像信号のパルス制御処理、パラレルデータとシリアルデータのフォーマット変換処理等。
【００２１】
（画像処理装置のハードウエア構成）
次に、本実施の形態に係る画像処理装置のハードウェア構成について説明する。この画像処理装置はＭＦＰ（ディジタル複合機）を構成する。
【００２２】
図２は、実施形態に係る画像処理装置のハードウエア構成の一例を示すブロック図である。
【００２３】
図２のブロック図において、画像処理装置１は、画像原稿の読み取りを行う読取ユニット２０１、ＰＤＬ処理ユニット２０２、画像データ制御部２０３、画像処理プロセッサ２０４、作像ユニット（エンジン）２０５、メモリ制御部２０６、画像データ等を記憶するメモリモジュール２０７、ネットワーク制御部２１４、ワーキングメモリ２１６を備える。画像処理装置１はこの他に、制御用データバス２０８を介して、システムコントローラ２０９、ＲＯＭ２１０、ＲＡＭ２１１、操作パネル２１２を備えている。また、この画像処理装置１は、ネットワーク２１３を介してパーソナルコンピュータ２１５にも接続されている。
【００２４】
上記した構成のうち、画像処理プロセッサ２０４は、画像に基づいて作成されたディジタル画像データを顕像して出力できるように処理し、プログラマブルに複数の画像形成動作を実現することができる。この画像処理プロセッサ２０４の構成については、後ほど詳細に説明する。
【００２５】
また、画像データ制御部２０３は、画像データを伝送するデータバスと画像処理プロセッサ２０４による画像処理に用いられる処理ユニット間の画像データ伝送を一括して管理する。具体的には、読取ユニット２０１、ＰＤＬ処理ユニット２０２、画像処理プロセッサ２０４、メモリ制御部２０６、作像ユニット２０５、ネットワーク制御部２１４との間のデータ伝送管理を行う。
【００２６】
ここで、上記した各構成部と、図１に示した各ユニット１００〜１０４との関係について説明する。
【００２７】
読取ユニット２０１およびＰＤＬ処理ユニット２０２が、図１の画像データ入力ユニット１０１の機能を実現する。また、画像データ制御部２０３、システムコントローラ２０９、ＲＯＭ２１０、ＲＡＭ２１１、操作パネル２１２、ネットワーク制御部２１４が、画像データ制御ユニット１００の機能を実現する。さらに、画像処理プロセッサ２０４、ワーキングメモリ２１６が、画像処理ユニット１０３の機能を実現する。また、作像ユニット２０５が画像書込ユニット１０４の機能を実現し、メモリ制御部２０６およびメモリモジュール２０７が画像メモリ制御ユニット１０２の機能を実現する。
【００２８】
なお、システムコントローラ２０９は、制御用データバス２０８を介して接続されたＲＯＭ２１０に記憶された制御プログラムに基づき動作するものであり、ＲＡＭ２１１をワーク用メモリとして使用している。また、読取ユニット２０１、ＰＤＬ処理ユニット２０２、画像データ制御部２０３、画像処理プロセッサ２０４、作像ユニット２０５、メモリ制御部２０６、ネットワーク制御部２１４、操作パネル２１２はそれぞれ、制御用データバス２０８を介してシステムコントローラ２０９によって動作が制御される。
【００２９】
次に、各構成部の動作内容について説明する。
【００３０】
原稿を光学的に読み取る読取ユニット２０１は、ランプとミラーとレンズ、受光素子から構成され、原稿に対するランプ照射の反射光をミラーおよびレンズにより受光素子（例えばＣＣＤ）に集光する。受光素子において電気信号に変換された画像データはディジタル信号に変換された後、読取ユニット２０１より出力（送信）される。
【００３１】
ＰＤＬ処理ユニット２０２は、ネットワーク２１３に接続されたパーソナルコンピュータ２１５より出力されたＰＤＬ画像データをビットマップ画像へラスタライズする。ネットワーク２１３を介して入力されたＰＤＬ画像データがネットワーク制御部２１４を介してＰＤＬ処理ユニット２０２に入力されると、ＰＤＬ処理ユニット２０２は、入力されたＰＤＬ画像データに基づいたラスタライズを行ない、ビットマップ画像データを出力（送信）する。以上のように、読取ユニット２０１、　ＰＤＬ処理ユニット２０２より出力（送信）された画像データは画像データ制御部２０３に入力（受信）される。
【００３２】
画像データ制御部２０３は、読取ユニット２０１、　ＰＤＬ処理ユニット２０２より受信した画像データを画像処理プロセッサ２０４、または、メモリ制御部２０６に出力する。
【００３３】
画像データが画像データ制御部２０３によって画像処理プロセッサ２０４に出力されたときの動作は次のとおりである。
【００３４】
画像処理プロセッサ２０４は、入力された画像データを、ワーキングメモリ２１６を用いながら所定の画像処理を行い、その画像処理後のデータを再度画像データ制御部２０３に出力する。画像データ制御部２０３に入力された画像データはメモリ制御部２０６に出力され、メモリ制御部２０６を介してメモリモジュール２０７に記憶される。
【００３５】
画像処理プロセッサ２０４による１画面分の画像データの処理が終了し、１画面分の処理済みデータが、メモリモジュール２０７に記憶された後、メモリ制御部２０６は、メモリモジュール２０７から画像データを読み出し、読み出した画像データを画像データ制御部２０３を介して作像ユニット２０５に出力し、これによりプリント出力が得られる。また、メモリモジュール２０７から読み出した画像データを、画像データ制御部２０３を介してネットワーク制御部２１４に出力し、ネットワーク２１３を介してパーソナルコンピュータ２１５に出力させることもできる。
【００３６】
画像データが画像データ制御部２０３によってメモリ制御部２０６に出力されたときの動作は次のとおりである。
【００３７】
画像データ制御部２０３より、メモリ制御部２０６に入力された画像データは、メモリモジュール２０７に記憶される。次に、メモリ制御部２０６は、メモリモジュール２０７より、記憶された画像データを読み出し、画像データ制御部２０３を介して、画像処理プロセッサ２０４に出力する。画像処理プロセッサ２０４では、入力された画像データを処理し、処理後の画像データは、再度画像データ制御部２０３、メモリ制御部２０６を介して、メモリモジュール２０７に記憶される。画像処理プロセッサ２０４による１画面分の画像データの処理が終了し、１画面分の処理済みデータが、メモリモジュール２０７に記憶された後、メモリ制御部２０６は、メモリモジュール２０７に対する画像データを読み出し、読み出された画像データを画像データ制御部２０３を介して、作像ユニット２０５に出力し、これによりプリント出力が得られる。あるいは、メモリモジュール２０７より読み出した画像データを、画像データ制御部２０３を介してネットワーク制御部２１４に出力し、ネットワーク２１３を介してパーソナルコンピュータ２１５に出力させることもできる。
【００３８】
上記動作例は、読取ユニット２０１、　ＰＤＬ処理ユニット２０２より出力された画像データに対する処理を画像処理プロセッサ２０４が行い、１画面分の処理済み画像データがメモリモジュール２０７に記憶された後、メモリモジュール２０７より、処理済画像データを読み出し、作像ユニット２０５、あるいは、ネットワーク制御部２１４に出力する例を示したが、処理済み画像データの記憶が１画面分終了する前に、処理済みの画像データをメモリモジュール２０７から読み出して処理を開始するように制御してもよい。
【００３９】
続いて、別の動作例について説明する。これは、メモリモジュール２０７に画像データを記憶させることなく行われる。
【００４０】
読取ユニット２０１、　ＰＤＬ処理ユニット２０２より画像データ制御部２０３が受信した画像データは、画像データ制御部２０３より、画像処理プロセッサ２０４に出力される。画像処理プロセッサ２０４は、入力された画像データに所定の処理を行い、画像データ制御部２０３に出力する。画像処理プロセッサ２０４から画像データ制御部２０３に入力された画像データは、画像データ制御部２０３を介して作像ユニット２０５、ネットワーク制御部２１４に出力される。
【００４１】
メモリモジュール２０７に処理済みの画像データ１画面分を記憶する場合の動作例としては、１枚の原稿について複数枚を複写する場合に、読取ユニット２０１を１回だけ動作させ、読取ユニット２０１により読み取った画像データをメモリモジュール２０７に記憶し、記憶された画像データを複数回読み出すという方法がある。メモリモジュール２０７に画像データを記憶させない動作例としては、１枚の原稿を１枚だけ複写する場合がある。読み取り画像データに対する処理済みデータを直接作像ユニット２０５に出力すればよいので、メモリモジュール２０７にアクセスする必要はない。
【００４２】
なお、本装置の全体の動作は、操作パネル２１２より入力された、画像処理装置が行うべき処理に基づいてシステムコントローラ２０９により制御される。操作パネル２１２からは、処理の種類（複写、送信、画像読込、プリント等）および処理の枚数等を入力することができる。
【００４３】
図３は、図２に示した画像処理プロセッサ２０４の構成を示す図である。
【００４４】
図３に示すように、画像処理プロセッサ２０４は、ＦＩＦＯメモリ３０１および３０７と、演算処理ユニット３００とで構成される。演算処理ユニット３００は、制御処理部３０５、外部メモリインターフェース３０６、そして図２で示したＳＩＭＤプロセッサ３０８を備えた構成である。ＳＩＭＤプロセッサ３０８は図示の如く、入力レジスタ３０２、出力レジスタ３０４、ＳＩＭＤ型のデータ演算処理部３０３を含む。なお、ＳＩＭＤとは、複数のデータに対し単一の命令を並列に実行させるもので、本実施形態では、１２８個の要素プロセッサ（ＰＥ）によりデータ演算処理部３０３が構成されている。この構成については後ほど詳しく説明する。
【００４５】
ＦＩＦＯメモリ３０１は、読取ユニット２０１またはＰＤＬ処理ユニット２０２から入力される画像データ１ラスタ分（７１６８画素）の容量を有するファーストイン・ファーストアウトのメモリであり、書込みと読出しがそれぞれ独立に制御される。画像データ制御部２０３のデータバスＡ（図２参照）を介して入力された画像データは、ＦＩＦＯメモリ３０１に入力され、データ演算処理部３０３が有するＰＥの数（１２８個）と等しいレジスタ数で構成された入力レジスタ３０２に１２８個分の画像データとして５６分割して入力される。
【００４６】
ＦＩＦＯメモリ３０１から入力レジスタ３０２に入力された画像データは、データ演算処理部３０３および外部メモリインターフェース３０６に出力される。データ演算処理部３０３に入力された画像データは、データ演算処理部３０３にて所定の処理が行われ、処理後の画像データが、出力レジスタ３０４および外部メモリインターフェース３０６に出力される。なお、外部メモリインターフェース３０６には、データ演算処理部３０３で処理された中間データを出力することも可能な構成となっている。
【００４７】
出力レジスタ３０４は、入力レジスタ３０２と同様に、データ演算処理部３０３が有するＰＥ数と等しいレジスタ数で構成されている。出力レジスタ３０４の出力画像データは、画像データ１ラスタ分の容量を有するＦＩＦＯメモリ３０７に入力される。ＦＩＦＯメモリ３０７は、書込みと読出しがそれぞれ独立に制御されるファーストイン・ファーストアウトのメモリである。ＦＩＦＯメモリ３０７より出力される画像データ信号は、データバスＢ（図２参照）を介して画像データ制御部２０３に出力される。
【００４８】
さらに、ＳＩＭＤプロセッサ３０８および外部メモリインターフェイス３０６は、図２に示した制御用データバス２０８に接続された制御処理部３０５と接続されている。制御処理部３０５は、データ演算処理部３０３のＰＥに対する命令の供給、各ＰＥのステータスの判断、各ＰＥに接続されたメモリ、レジスタへのデータの入出力等の制御および外部メモリインターフェース３０６を制御し、ＳＩＭＤプロセッサ３０８の内部メモリやレジスタとワーキングメモリ２１６間のデータ制御を行うものである。なお、制御処理部３０５とＳＩＭＤプロセッサ３０８は互いに異なる処理を独立に実行することが可能である。
【００４９】
次に、図４を用いて、制御処理部３０５および演算処理ユニット３００の構成を詳しく説明する。
【００５０】
図４に示すように、制御処理部３０５は、制御プロセッサ４０１と、その制御プロセッサ４０１およびＳＩＭＤプロセッサ３０８の動作を制御するプログラムが格納されたプログラムメモリ４０２と、データメモリ４０３とで構成される。
【００５１】
一方、ＳＩＭＤプロセッサ３０８は、前述したように、例えば１２８個のＰＥ（ＰＥ０〜ＰＥ１２７）４０４により構成されている。図４に示したように、ＰＥ０〜ＰＥ１２７の各ＰＥは、８ビットの演算ユニット（ＡＬＵ）４０５、８ビットのレジスタ１６本から構成される汎用レジスタ４０６、ＡＬＵの演算動作を実施するか否かを制御するマスクレジスタ４０７、演算途中のデータを格納するＰＥレジスタ４０８、出力レジスタ４０９、入力レジスタ４１０、２Ｋバイトの容量を有するメモリ４１１で構成される。
【００５２】
ＡＬＵ４０５、ＰＥレジスタ４０８はそれぞれ、隣接するＰＥにおける同一構成要素と相互に接続されており、データの入出力が可能な構成となっている。また、出力レジスタ４０９、入力レジスタ４１０もそれぞれ、隣接するＰＥの同一構成要素と接続されており、これによって１２８段のシフトレジスタとして動作する。この１２８段のシフトレジスタとして動作する、すべてのＰＥにおける入力レジスタ４１０の接続構成が、図３における入力レジスタ３０２に相当するものである。同様に、この１２８段のシフトレジスタとして動作する、すべてのＰＥにおける出力レジスタ４０９の接続構成が、図３における出力レジスタ３０４に相当するものである。
【００５３】
また、各ＰＥにおけるメモリ４１１は、外部メモリインターフェース３０６およびデータバスＣ（図２参照）を介してワーキングメモリ２１６に接続される。
【００５４】
なお、外部メモリインターフェース３０６、ならびに、ＰＥを構成するＡＬＵ４０５、汎用レジスタ４０６、マスクレジスタ４０７、ＰＥレジスタ４０８、出力レジスタ４０９、入力レジスタ４１０、メモリ４１３はそれぞれ、そのＰＥにおける任意のブロック間でデータの入出力が可能な構成となっている。例えば、メモリ４１１とＰＥレジスタ４０８との間でのデータ入出力、ＰＥレジスタ４０８と外部メモリインターフェース３０６との間でのデータ入出力が可能である。
【００５５】
各ＰＥに対する命令の供給は、制御プロセッサ４０１より、命令供給バス４１３を介して各ＰＥに同一内容で与えられ、全てのＰＥが同一の命令に従った動作を行うように制御されるが、各ＰＥに与える処理対象のデータを異ならせることにより、各ＰＥが、異なる処理対象データに対する演算処理を並列に行うように制御される。例えば、画像データ１ラスタ中の１２８画素の内容を各画素ごとにＰＥレジスタ４０８に配置し、同一の命令コードでＰＥレジスタ４０８に対する演算処理をさせれば、１画素ずつ逐次処理するよりも短時間で１２８画素分の処理結果を得ることができる。
【００５６】
上記したように隣接するＰＥ間で入出力可能な構成となっているので、各ＰＥのＡＬＵ４０５における演算結果およびＰＥレジスタ４０８の内容は、隣接ＰＥのおよびＡＬＵ４０５の演算結果およびＰＥレジスタ４０８の内容を参照した演算処理によって求めることができる。さらに、各ＰＥのメモリ４１１および、入力レジスタ４１０、出力レジスタ４０９、ＰＥレジスタ４０８、マスクレジスタ４０７、汎用レジスタ４０６は、メモリ／レジスタアクセスバス４１４を介して制御プロセッサ４０１に接続され、メモリ、および、各レジスタデータの入出力が、制御プロセッサ４０１により制御される。
【００５７】
また、制御プロセッサ４０１は、制御用データバス２０８を介して、図２に示したシステムコントローラ２０９と制御データの入出力が可能である。さらに、制御プロセッサ４０１の動作を制御するプログラムメモリ４０２およびデータメモリ４０３には、制御用データバス２０８を介してシステムコントローラ２０９よりアクセスが可能であり、　システムコントローラ２０９により、画像処理ユニット３００で行う処理内容に応じて、制御プロセッサ４０１の動作を制御するプログラムメモリ４０２の書き換えが可能な構成となっている。
【００５８】
（画像処理の概要）
図５は、実施形態における画像処理装置が実行する画像処理の概要を示すフローチャートである。このフローチャートに対応するプログラムは制御処理部３０５におけるプログラムメモリ４０２に記憶されており、制御プロセッサ４０１およびＳＩＭＤプロセッサ３０８によって実行されるものである。
【００５９】
読み取りユニット２０１でシェーディング補正された１ラスタ７１６８画素の画像信号は、ＳＩＭＤプロセッサ３０８のＰＥの数に等しい１２８画素に分割して処理される。
【００６０】
したがって、先ず制御プロセッサ４０１は、図２の読取ユニット２０１によりＣＣＤにて読み取られた画像信号を８ビットの画像信号として、画像データ制御部２０３を介して画像処理プロセッサ２０４のＦＩＦＯメモリ３０１に入力し、入力レジスタ３０２、外部メモリインターフェース３０６を介してワーキングメモリ２１６に記憶する（ステップＳ１）。
【００６１】
次に、輝度信号から濃度信号に対数変換する（ステップＳ２）。次に、対数変換された濃度データが操作パネル２１２からの入力に従って濃度調整のための濃度変換処理が施される（ステップＳ３）。同様に、操作パネル２１２の入力に基づき設定された画像モード等の指定に従って、画像信号に対して空間フィルター処理を行う（ステップＳ４）。
【００６２】
続いて擬似中間調処理を行うステップＳ５では、誤差拡散処理、組織ディザ処理、単純２値化処理等を選択的に行う。ステップＳ６は孤立点除去処理を行うステップであり、先の擬似中間調処理で単純２値化処理が選択された場合に対してその２値化結果に対する処理である。
【００６３】
更に、必要に応じてその他の処理を実行し、ステップＳ７で、記録信号またはＪＢＩＧ等２値信号を圧縮するための信号として２値化された１ラスタ分の画像信号を外部のワーキングメモリ２１６に転送して１ラスタ７１６８画素の処理が終了する。以上のラスタ処理を４９６０ラスタ分繰返せば（ステップＳ８）、Ａ４サイズ１ページの処理が終了する。
【００６４】
（孤立点除去処理の内容）
次に、上記したステップＳ６における孤立点除去処理について、図６〜８を用いて説明する。
【００６５】
まず、ステップＳ５で擬似中間調処理によって２値化された１ラスタ７１６８画素の画像信号は、１ビットの画像信号として、外部メモリインターフェース３０６を介してワーキングメモリ２１６に記憶されている。外部ワーキングメモリ２１６には常に５ラスタ分の画像信号が記憶されており、処理の終了に従って、順次新たなラスタ信号が更新される。
【００６６】
図６は、処理対象の画像データを模式的に示す図である。同図において、５０３が今処理するラスタの画像信号Ｃであり、５０２は１ラスタ前のデータＢ、５０４は１ラスタ後のデータＤ、５０１は２ラスタ前のデータＡ、そして、５０５は２ラスタ後のデータＥを示している。７１６８画素の各ラスタの画像信号は、ＰＥ数に対応する１２８画素毎の５６個のバンドに分割されたかたちで図示されている。
【００６７】
すなわち、バンドＣ−１は今処理すべきラスタの先頭から１２８個の画素（第０〜１２７画素）を示し、バンドＣ−２は今処理すべきラスタの２番目のバンドとして第１２８〜２５５画素のデータを表している。今、これら１バンド１２８画素の各画素データを、１２８組の各ＰＥに１画素毎に担当させて処理するとすれば、図７に示すように、バンド２に属する第１２８画素はＰＥ０が担当し、第１２９画素はＰＥ１、第１３０画素はＰＥ２、…、が担当することになる。
【００６８】
ステップＳ６で行う孤立点除去処理のための注目画素位置＊に対する参照画素位置の例を図８に示す。各ＰＥはこの注目画素＊を中心に、ＰＥの配列方向に前後２画素とラスタ方向に前後２ラスタの合計２５画素を参照する処理となる。
【００６９】
図７に示したバンド２を例にして述べれば、ＰＥ２が担当する第１３０画素が注目画素である場合、この第１３０画素を中心に第１２８画素から第１３２画素を参照することになる。この場合には参照すべきいずれの画素も同じバンド２に属しているので、特にそのデータの参照に困難なところはない。
【００７０】
次に、ＰＥ１が担当する第１２９画素が注目画素である場合を考える。この場合には、この第１２９画素を中心に第１２７画素から第１３１画素を参照することになる。ところが、これらの画素のうち、第１２７画素はバンド２ではなくバンド１に属しているので、直接その画素データを参照することができないのである。この問題は、ＰＥ０，　ＰＥ１２６，　ＰＥ１２７が担当する画素が注目画素である場合にも同様に発生する。したがって、端部に位置するＰＥ０，　ＰＥ１，　ＰＥ１２６，　ＰＥ１２７が担当する画素が注目画素である場合には、その他のＰＥに対する処理とは一部異なるプログラムによって処理する必要がある。
【００７１】
図９は、孤立点除去処理における各ＰＥのメモリ４１１の一部を模式的に示した図である。
【００７２】
同図において、Ａｎ（１）は、ｎ番目のＰＥ（ＰＥｎ）における内部メモリ４１１に、バンド１（すなわちＡ−１）のＰＥｎが担当する画素データが格納されていることを示している。また、Ａｎ（２）は、ｎ番目のＰＥ（ＰＥｎ）における内部メモリ４１１に、バンド２（すなわちＡ−２）のＰＥｎが担当する画素データが格納されていることを示している。ここで例えば、ｎが２の場合には、Ａｎ（２）は、ＰＥ２が担当するラスタデータＡのバンド２の画素、すなわち、７１６８画素中の第１３０画素のデータを表している。ここでは図７で説明したように１ラスタを５６のバンドに分割して処理するので、５ラスタ分の画像データが各ＰＥの内部メモリ４１１内にそれぞれ５６＊５（＝２８０）バイトの領域に格納されることになる。
【００７３】
図１０は、ステップＳ６における１ラスタの画像信号に対する孤立点除去処理を示すフローチャートである。
【００７４】
まず、処理中のバンドを示す変数（バンドカウンタ）ｍを１に初期化し、ＰＥｎが担当するラスタデータＥのバンドｍ（すなわちバンド１）の画素データであるＥｎ（ｍ）、すなわち、Ｅｎ（１）を、外部ワーキングメモリ２１６から、対応するＰＥｎが担当する入力レジスタ４１０に入力する（ステップＳ１１）。ここで、図７におけるＡ、Ｂ、Ｃ、Ｄの各ラスタ画像データは先行する４ラスタを処理した際に既に入力されているものとする。
【００７５】
次に、ステップＳ１２で、これから処理するバンドｍの次のバンド（ｍ＋１）の第ＥのラスタデータＥｎ（ｍ＋１）を内部メモリ４１１に入力する。すなわち、現在処理するバンドＣの後端部のＰＥ１２６、ＰＥ１２７が処理に必要とする画像データをここで入力する。なお、ｍ＝５６の場合のみ後端部ＰＥが処理に必要な画像データが存在しないが、バンド５５までは処理すべきバンドに対してその後のバンドデータが５ラスタ分各ＰＥの内部メモリ４１１に格納されていることになる。また、これらのデータはバンド毎に順次１ラスタ分保持して行くので、ｍ＝１のバンドを除いて前端部のＰＥ０およびＰＥ１が処理に必要となる１バンド前の画像データも全て各ＰＥの内部メモリに保持されていることになる。
【００７６】
ステップＳ１３では、各ＰＥが処理しようとする１２８画素すべてのデータＣｎ（ｍ）に対し、１２８画素すべてが最低値（すなわち０）であるか１２８画素すべてが最高値（すなわち１）であるかを調べる。孤立点除去処理は、注目画素位置の２値データが周辺２４画素すべての２値データと異なる場合にその注目画素位置の２値データを反転させる処理であるが、これとは別に、少なくとも並列に処理すべき同一ラスタ上の連続する１２８個の２値データがすべて０かすべて１の場合には、他の隣接画素の状態に関わらず、この１２８個のデータには孤立点はないだろうと推測される。
【００７７】
そこで、このような場合には現在の注目画素は孤立点除去の処理対象画素ではないと判断して、以下説明する如く注目画素に対して所定数の周辺画素に依存した演算であるステップＳ１４〜Ｓ２２の処理をスキップして、ステップＳ２３で注目画素値Ｃｎ（ｍ）をそのまま処理結果として外部ワーキングメモリ２１６に出力する。
【００７８】
ステップＳ１３で処理対象画素がある場合には、ステップＳ１４に進む。
【００７９】
ステップＳ１４では、図８に示した参照画素位置のうち担当するＰＥの内部メモリ４１１に格納されているデータＰ１３，　Ｐ２３，　Ｐ４３，　Ｐ５３、すなわち、Ａｎ（ｍ）、Ｂｎ（ｍ）、Ｄｎ（ｍ）、Ｅｎ（ｍ）の２値データを加算し、ＰＥレジスタＰＥＲに格納する。
【００８０】
ステップＳ１５は、各ＰＥの番号によって異なる処理を実行するための判断ステップであり、ＳＩＭＤプロセッサ３０８は、単一のプログラム上で各ＰＥ番号との比較を行うことが可能で、ＰＥ毎に異なる処理の実行が可能である。
【００８１】
先に説明したように、端部に位置するＰＥ０，　ＰＥ１，　ＰＥ１２６，　ＰＥ１２７以外のＰＥに対してはステップＳ１５からステップＳ１６に進み、他の周辺の画素データを順次加算する。
【００８２】
すなわち、ｎ番目のＰＥに対して１画素前のＰＥが担当する画素データＡｎ−１（ｍ）、Ｂｎ−１（ｍ）、Ｃｎ−１（ｍ）、Ｄｎ−１（ｍ）、Ｅｎ−１（ｍ）をＰＥＲに加算する。同様に、ｎ番目のＰＥに対して２画素前のＰＥが担当する画素データＡｎ−２（ｍ）、Ｂｎ−２（ｍ）、Ｃｎ−２（ｍ）、Ｄｎ−２（ｍ）、Ｅｎ−２（ｍ）をＰＥＲに加算する。また、同様にｎ番目のＰＥに対して１画素後のＰＥが担当する画素データＡｎ＋１（ｍ）、Ｂｎ＋１（ｍ）、Ｃｎ＋１（ｍ）、Ｄｎ＋１（ｍ）、Ｅｎ＋１（ｍ）をＰＥＲに加算する。さらに、同様にｎ番目のＰＥに対して２画素後のＰＥが担当する画素データＡｎ＋２（ｍ）、Ｂｎ＋２（ｍ）、Ｃｎ＋２（ｍ）、Ｄｎ＋２（ｍ）、Ｅｎ＋２（ｍ）をＰＥＲに加算する。
【００８３】
ＳＩＭＤプロセッサ３０８は、左右に３組離れたＰＥが担当するレジスタ等にアクセス可能なため、ＰＥ２からＰＥ１２６までの１２４組のＰＥは全て同一のステップＳ１６を実行できる。
【００８４】
次に、ステップＳ１５で分岐されるＰＥ０の処理ステップＳ１７を説明する。図１１は、ステップＳ１７で行われる処理を示すフローチャートである。
【００８５】
ＰＥ０に対してｎ−１のＰＥはＰＥ１２７であり、今１画素前の画像データをステップＳ１６で処理すれば、１バンド前のＰＥ１２７が担当する画素データではなく、同じバンド内のＰＥ１２７が担当する画素を参照することになってしまう。そこで、ＰＥ０はステップＳ１７ａで、１画素前のＰＥが担当する１バンド前の画素データ、すなわち、Ａｎ−１（ｍ−１）、Ｂｎ−１（ｍ−１）、Ｃｎ−１（ｍ−１）、Ｄｎ−１（ｍ−１）、Ｅｎ−１（ｍ−１）をＰＥＲに加算する。同様に、２画素前のＰＥが担当する１バンド前の画素データ、すなわち、Ａｎ−２（ｍ−１）、Ｂｎ−２（ｍ−１）、Ｃｎ−２（ｍ−１）、Ｄｎ−２（ｍ−１）、Ｅｎ−２（ｍ−１）をＰＥＲに加算する。続くステップＳ１７ｂは、１画素後および２画素後の画素に対する演算であり、先に述べたステップＳ１６と同様の処理を実行する。
【００８６】
次に、ステップＳ１５で分岐されるＰＥ１の処理ステップＳ１８を説明する。図１２は、ステップＳ１８で行われる処理を示すフローチャートである。
【００８７】
ＰＥ１に対してｎ−２のＰＥはＰＥ１２７であり、今２画素前の画像データをステップＳ１６で処理すれば、同じバンド内のＰＥ１２７が担当する画素を参照することになってしまう。そこで、ＰＥ１はステップＳ１８ａで、２画素前のＰＥが担当する１バンド前の画素データ、Ａｎ−２（ｍ−１）、Ｂｎ−２（ｍ−１）、Ｃｎ−２（ｍ−１）、Ｄｎ−２（ｍ−１）、Ｅｎ−２（ｍ−１）をＰＥＲに加算する。続くステップＳ１８ｂは、１画素前、１画素後、および２画素後の画素データに対する演算を、先に述べたステップＳ１６と同様に実行する。
【００８８】
次に、ステップＳ１５で分岐されるＰＥ１２６の処理ステップＳ１９を説明する。図１３は、ステップＳ１９で行われる処理を示すフローチャートである。
【００８９】
ＰＥ１２６に対してｎ＋２のＰＥはＰＥ０であり、今２画素後の画像データをステップＳ１６で処理すれば、同じバンド内のＰＥ０が担当する画素データを参照することになってしまう。そこで、ＰＥ１２６はステップＳ１９ａで、２画素後のＰＥが担当する１バンド後の画素データ、すなわち、Ａｎ＋２（ｍ＋１）、Ｂｎ＋２（ｍ＋１）、Ｃｎ＋２（ｍ＋１）、Ｄｎ＋２（ｍ＋１）、Ｅｎ＋２（ｍ＋１）をＰＥＲに加算する。続くステップＳ１９ｂは、１画素後、１画素前、および２画素前の画素データに対する演算を、先に述べたステップＳ１６と同様に実行する。
【００９０】
次に、ステップＳ１５で分岐されるＰＥ１２７の処理ステップＳ２０を説明する。図１４は、ステップＳ２０で行われる処理を示すフローチャートである。
【００９１】
ＰＥ１２７に対してｎ＋１のＰＥはＰＥ０であり、今２画素後の画像データをステップＳ１６で処理すれば、同じバンド内のＰＥ０が担当する画素データを参照することになってしまう。そこで、ＰＥ１２７はステップＳ２０ａで、２画素後のＰＥが担当する１バンド後の画素データ、すなわち、Ａｎ＋２（ｍ＋１）、Ｂｎ＋２（ｍ＋１）、Ｃｎ＋２（ｍ＋１）、Ｄｎ＋２（ｍ＋１）、Ｅｎ＋２（ｍ＋１）をＰＥＲに加算する。同様に、１画素後のＰＥが担当する１バンド後の画素データ、すなわち、Ａｎ＋１（ｍ＋１）、Ｂｎ＋１（ｍ＋１）、Ｃｎ＋１（ｍ＋１）、Ｄｎ＋１（ｍ＋１）、Ｅｎ＋１（ｍ＋１）をＰＥＲに加算する。続くステップＳ２０ｂは、１画素後、１画素前、および２画素前の画素に対する演算を、先に述べたステップＳ１６と同様に実行する。
【００９２】
各ＰＥ番号に従う処理が終わった後、各ＰＥレジスタには注目画素の周辺２４画素の２値データが加算された値を保持している。そこで、ステップＳ２１で、各注目画素データＣｎ（ｍ）がその周辺画素データから孤立しているか否か、すなわち、注目画素Ｃｎ（ｍ）だけが１で、その周辺２４画素が全て０（ＰＥＲ＝０）の場合か、または、注目画素Ｃｎ（ｍ）だけが０で、その周辺２４画素が全て１（ＰＥＲ＝２４）の場合、にあたるかどうかを判定する。
【００９３】
ステップＳ２１で孤立点が検出されたときは、ステップＳ２２に進み、注目画素データＣｎ（ｍ）を０から１または１から０に反転させる。次に、ステップＳ２３で、注目画素データＣｎ（ｍ）を出力する。ここでは、内部メモリ４１１に格納してある注目画素データＣｎ（ｍ）が孤立点であってもこの値を書き換えないで、処理の結果のみを反転して出力する。
【００９４】
ステップＳ１２〜Ｓ２３の一連の処理をバンド数分になるまで繰返して（ステップＳ２４）、１ラスタの処理が終了する。
【００９５】
ステップＳ２５では、１ラスタ分の処理が終了する度に、各ＰＥが担当する内部メモリ４１１に格納された最も古いラスタデータ、すなわち、ＡのデータをＢのデータで更新し、同様にＢのデータをＣのデータで、ＣのデータをＤのデータで、ＤのデータをＥのデータで更新する。これにより、次のラスタを処理する際に、新たなＥラスタのデータがステップＳ１１、ステップＳ１２で順次１バンド毎に入力される。
【００９６】
以上の処理によれば、ステップＳ１３で、いま並列処理すべき１２８個の画素データの中に孤立点除去の対象となる画素が存在するかどうかを調べ、存在しないと判断したときは、その注目画素に対する孤立点除去処理が省略される。そのために処理の高速化を図ることができる。
【００９７】
（対数変換処理の内容）
図１５は、ステップＳ２における対数変換処理を示すフローチャートである。上述の孤立点除去処理と同様に対数変換処理も１ラスタ７１６８画素を１２８画素毎５６バンドに分割し、バンドデータ１２８画素が並列に処理される。
【００９８】
まず、バンドカウンタｍを１にセットし（ステップＳ３１）、輝度信号Ａｎ（ｍ）を外部ワーキングメモリ２１６から各ＰＥが担当する任意のレジスタに入力する（ステップＳ３２）。
【００９９】
輝度信号Ａｎ（ｍ）は最も明るい値２５５から最も暗い値０までの８ビットの値をとり得るが、一般に対数変換処理では、最も明るい値２５５を０、最も暗い値０を２５５として一意に濃度信号に変換する。本実施形態においては、ＰＤＬユニット２０２からはＰＤＬ画像データとしてラスタデータに変換された輝度信号がＳＩＭＤプロセッサ３０８に入力されるが、一般にはＰＤＬ画像中には背景の白い部分、図形中の黒いベタ画像等で輝度値２５５あるいは０の値を広い範囲で有している。
【０１００】
そこで、このような画像信号に対して、ステップＳ３３で、全てのＰＥが処理しようとする１２８個の画像信号Ａｎ（ｍ）が全て０あるいは２５５であることを検出した場合には、ステップＳ３５に進み、一意的に輝度信号Ａｎ（ｍ）のビット反転した値を濃度値Ｄｎ（ｍ）として、その後ステップＳ３６に移る。なお、ステップＳ３３で、８ビットの中間値をとる画素がある場合には、ステップＳ３４に進み、通常どおりの対数変換処理を実行する。この通常どおりの対数変換の方式としては、例えば、輝度値Ａｎ（ｍ）を変数とする多項式近似演算を行う方式、輝度値Ａｎ（ｍ）を閾値と比較し、数点の折れ線近似による変換方式、内部メモリを用いたＬＵＴ変換方式等が知られている。ステップＳ３４ではいずれの方式を用いてもよい。
【０１０１】
ステップＳ３６では、濃度値Ｄｎ（ｍ）を処理結果として外部ワーキングメモリ２１６に出力する。上記処理を５６回繰返して（ステップＳ３７）、１ラスタ７１６８画素に対する対数変換処理が終了する。
【０１０２】
このような処理によれば、とりわけＰＤＬ画像信号に対しては大部分の場合でステップＳ３５による簡易な処理となるため、対数変換処理を極めて高速に処理することが可能となった。
【０１０３】
（擬似中間処理の内容）
図１６は、ステップＳ５における擬似中間調処理を示すフローチャートである。
【０１０４】
この擬似中間調処理も上述の孤立点除去処理、対数変換処理と同様、１ラスタ７１６８画素を１２８画素毎５６バンドに分割し、バンドデータ１２８画素が並列に処理される。
【０１０５】
まず、バンドカウンタｍを１にセットし（ステップＳ４１）、濃度信号Ａｎ（ｍ）を外部ワーキングメモリ２１６から各ＰＥが担当する任意のレジスタに入力する（ステップＳ４２）。濃度信号Ａｎ（ｍ）は最も明るい値０から最も暗い値２５５までの８ビットの値をとり得るが、一般に擬似中間調処理では、最も明るい値０を０、最も暗い値２５５を１として一意に２値化される。本実施形態では、ＰＤＬユニット２０２からはＰＤＬ画像データとしてラスタデータに変換された画像信号がＳＩＭＤプロセッサ３０８に入力されるが、一般にＰＤＬ画像中には背景の白い部分、図形中の黒いベタ画像等で濃度値２５５あるいは０の値を広い範囲で有している。
【０１０６】
そこで、このような画像信号に対して、ステップＳ４３で、全てのＰＥが処理しようとする１２８個の画像信号Ａｎ（ｍ）が全て０あるいは２５５であることを検出した場合には、ステップＳ４５に進み、一意的に８ビットの濃度信号Ａｎ（ｍ）のＭＳＢを１ビットの２値化データＤｎ（ｍ）とし、ステップＳ４６に移る。なお、ステップＳ４３で、８ビットの中間値をとる画素がある場合には、ステップＳ４４に進み、通常どおりの擬似中間調処理を実行する。この擬似中間調処理の方式としては、例えば組織ディザ法、乱数ディザ法、誤差拡散法等が知られている。ステップＳ４４ではいずれの方式を用いてもよい。
【０１０７】
ステップＳ４６では、２値化データＤｎ（ｍ）を処理結果として外部ワーキングメモリ２１６に出力する。上記処理を５６回繰返して（ステップＳ４７）、１ラスタ７１６８画素に対する対数変換処理が終了する。
【０１０８】
このような処理によれば、とりわけＰＤＬ画像信号に対しては大部分の場合でステップＳ４５による簡易な処理となるため、擬似中間調処理を１ページにわたって極めて高速に処理することが可能となった。
【０１０９】
なお、ここでは濃度信号の２値化データに対する場合の例を示したが、もちろんこの他の多値化データにも適用可能であり、例えば２ビット４値または３ビット８値の多値化処理の場合には、入力信号２５５に対しては、それぞれ入力信号の上位２ビットまたは３ビットの信号が多値化信号として得られることはいうまでもない。
【０１１０】
（他の実施形態）
本発明は、上述の孤立点除去処理に類似したスムージング処理にも適用することができる。
【０１１１】
また、かかるスムージング処理等において注目画素の周辺画素を参照して注目画素に補正処理を加える場合、上述の実施形態では今処理しようとする１２８個の画素に対してのみその値を評価してその後の特定の演算を実行する／しないを判断するようにしたが、処理の目的に応じ、例えば、隣接する１ラスタ前の１２８画素の状態をも加味して上記の判断を行うようにしてもよい。
【０１１２】
また、例えば多値画像信号に対する処理である空間フィルター処理に対しても本発明を適用することができる。
【０１１３】
例えば、３×３の空間フィルターの場合、少なくとも参照する３ラスタの画像信号がすべて０またはすべて２５５の場合、あらゆる空間フィルターの処理結果は一意に０または２５５である。また、例えばラプラシアンフィルターの場合、ラプラシアンを演算し、全てのＰＥでその値が０の場合には、対象画像信号の変化がなく均一な画像領域であると判断し、その時点からの演算を中止することで、以降の不要な処理を省くことも可能である。したがって、この場合にも、とりわけＰＤＬ画像に対しては上述の実施形態と同様に処理の高速化が図れる。
【０１１４】
また、本発明は、カラー画像処理の中の黒文字処理にも適用することができる。
【０１１５】
黒文字処理とは、画素が黒色で、かつ、それが文字の一部を構成しているかどうかを判断して、その判断結果に応じて例えば黒色単色で記録信号を構成する処理をいう。この処理において、各画素信号が黒色であるか否かを先行して判断し、並列に動作するＳＩＭＤの各ＰＥが担当する画素がすべて黒色以外であれば、後続して行われる文字判定の処理は不要である。一般には１ページを構成する黒い文字の領域は高々１０％以下の画素数であるから、この場合においても、本発明を適用することで、並列に動作する各ＰＥが担当する画素がすべて黒と判断された場合にのみ、それ以降の文字判定のための処理を行うようにすればよいので、極めて高速に黒文字処理を行うことができる。
【０１１６】
また、上述の実施形態では、適用する各画像処理の内部で、その画像処理に係る特定の演算を実行する／しないの判断を行っているが、例えば、各画像処理を行う前に、あらかじめ代表的に特定のを実行する／しないの判断を行い、各画像処理をその判断結果に基づき動作させるようにしてもよい。そうすれば、わざわざ各画像処理の中で特定の演算を実行する／しないを判断する処理を行わせる必要がなくなり、さらに画像処理全体の高速化を図ることができる。
【０１１７】
以上、本発明の実施形態を詳述したが、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタ等）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機、ファクシミリ装置等）に適用してもよい。
【０１１８】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（図１０（図１１〜１４を含む。）、図１５、図１６の、少なくとも１つ以上のフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータがその供給されたプログラムを読み出して実行することによっても達成される場合を含む。
【０１１９】
したがって、本発明の機能処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の特許請求の範囲には、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１２０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１２１】
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ等）、光磁気ディスク、磁気テープ、メモリカード等がある。
【０１２２】
その他、プログラムの供給方法としては、インターネットを介して本発明のプログラムをファイル転送によって取得する態様も含まれる。
【０１２３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介して暗号化を解く鍵情報を取得させ、その鍵情報を使用することで暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１２４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現され得る。
【０１２５】
さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１２６】
【発明の効果】
本発明によれば、ＳＩＭＤ型のプロセッサを用いた画像処理装置における画像処理の高速化を図ることができる。
【図面の簡単な説明】
【図１】実施形態に係る画像処理装置の構成を機能的に示すブロック図である。
【図２】実施形態に係る画像処理装置のハードウェア構成の一例を示すブロック図である。
【図３】実施形態における画像処理プロセッサの構成を示す図である。
【図４】実施形態における制御処理部および演算処理ユニットの構成を示す図である。
【図５】実施形態における画像処理装置が実行する画像処理の概要を示すフローチャートである。
【図６】処理対象の画像データを模式的に示す図である。
【図７】実施形態におけるＳＩＭＤプロセッサにおけるバンドデータの取り扱いを説明するための図である。
【図８】孤立点除去処理において参照される画素について説明するための図である。
【図９】孤立点除去処理における各ＰＥのメモリの一部を模式的に示した図である。
【図１０】実施形態における孤立点除去処理を示すフローチャートである。
【図１１】実施形態における周辺画素データの加算手順を示すフローチャートである。
【図１２】実施形態における周辺画素データの加算手順を示すフローチャートである。
【図１３】実施形態における周辺画素データの加算手順を示すフローチャートである。
【図１４】実施形態における周辺画素データの加算手順を示すフローチャートである。
【図１５】実施形態における対数変換処理を示すフローチャートである。
【図１６】実施形態における擬似中間調処理を示すフローチャートである。
【図１】
2004021645.tif 000003
【図２】
2004021645.tif 000004
【図３】
2004021645.tif 000005
【図４】
2004021645.tif 000006
【図５】
2004021645.tif 000007
【図６】
2004021645.tif 000008
【図７】
2004021645.tif 000009
【図８】
2004021645.tif 000010
【図９】
2004021645.tif 000011
【図１０】
2004021645.tif 000012
【図１１】
2004021645.tif 000013
【図１２】
2004021645.tif 000014
【図１３】
2004021645.tif 000015
【図１４】
2004021645.tif 000016
【図１５】
2004021645.tif 000017
【図１６】
2004021645.tif 000018