(57)【特許請求の範囲】
【請求項１】
複数のプロセッサーに画像データをそれぞれ供給し、各プロセッサーに処理を実行させる画像処理装置において、
他のプロセッサーが有するデータを利用して画像データの処理をおこなう複数のプロセッサーを備え、
前記プロセッサーは、他のプロセッサーにより保持されたデータであって前記画像データの特徴量に基づいて選択されて供給されたデータを使用して所定の処理を実行することを特徴とする画像処理装置。
【請求項２】
前記画像データの特徴量は、エッジか否かであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像データの特徴量は、ノイズか否かであることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記画像データの特徴量は、画素ごとの特徴量であることを特徴とする請求項１乃至３のいずれかに記載の画像処理装置。
【請求項５】
前記複数のプロセッサーによる処理にそれぞれ必要なデータを記憶する記憶手段をさらに備え、
前記記憶手段に記憶したデータを前記所定のプロセッサーに格納することを特徴とする請求項１乃至４のいずれかに記載の画像処理装置。
【請求項６】
前記所定のプロセッサーは、ライン方向に所定の間隔で位置するプロセッサーであることを特徴とする請求項１乃至５のいずれかに記載の画像処理装置。
【請求項７】
前記所定のプロセッサーは、ライン方向の偶数番目若しくは奇数番目に位置するプロセッサーであることを特徴とする請求項１乃至６のいずれかに記載の画像処理装置。
【請求項８】
複数のプロセッサーに画像データをそれぞれ供給し、各プロセッサーに処理を実行させる画像処理装置の画像処理方法において、
複数の前記プロセッサーが他のプロセッサーが有するデータを利用して画像データの処理をおこなう処理工程を含み、
前記処理工程は、他のプロセッサーにより保持されたデータであって前記画像データの特徴量に基づいて選択されて供給されたデータを使用して所定の処理を実行することを特徴とする画像処理方法。
【請求項９】
前記画像データの特徴量は、エッジか否かであることを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
前記画像データの特徴量は、ノイズか否かであることを特徴とする請求項８に記載の画像処理方法。
【請求項１１】
前記画像データの特徴量は、画素ごとの特徴量であることを特徴とする請求項８乃至１０のいずれかに記載の画像処理方法。
【請求項１２】
前記画像処理装置は、複数の前記プロセッサーによる処理にそれぞれ必要なデータを記憶する記憶手段を備えており、
前記記憶手段に記憶したデータを前記所定のプロセッサーに格納する格納工程を含むことを特徴とする請求項８乃至１１のいずれかに記載の画像処理方法。
【請求項１３】
前記所定のプロセッサーは、ライン方向に所定の間隔で位置するプロセッサーを用いることを特徴とする請求項８乃至１２のいずれかに記載の画像処理方法。
【請求項１４】
前記所定のプロセッサーは、ライン方向の偶数番目若しくは奇数番目に位置するプロセッサーを用いることを特徴とする請求項８乃至１３のいずれかに記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の要素プロセッサーに画像データをそれぞれ供給し、各要素プロセッサーに同種の演算を同時並行に実行させる画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
従来、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）による画像処理装置において適応制御する場合には、図１２に示すように、入力データをシェーディング補正部でシェーディング補正した後に、たとえばエッジ／非エッジの区別や、ノイズ／非ノイズなどの各画素ごとの特徴量を特徴量抽出部で抽出するとともに、シェーディング補正後のデータが２つの階調処理部で並行処理される。そして、この特徴量抽出部が抽出した特徴量に基づいてセレクター部により階調処理結果が選択される。
【０００３】
また、かかる適応階調処理を一つのＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔｅ  ｓｔｒｅａｍ）プロセッサーにて実行する場合を考えると、図１３に示すように、１ＳＩＭＤ分のデータが同じ動作で処理されるため、階調処理部１３０１および１３０２による処理結果が保持され、特徴量抽出部が抽出した特徴量に基づいて、出力選択部が階調処理結果を選択することとなる。
【０００４】
具体的には、図１４に示すように、この階調処理部１３０１では、処理に必要なデータをメモリー（ＤＡＴＡ  ＲＡＭ）からロードし、そのデータを用いてすべての画素をＮ値化して処理結果をレジスタに保存する。また、階調処理部１３０２では、やはり必要なデータをメモリー（ＤＡＴＡ  ＲＡＭ）からロードし、そのデータを用いてすべての画素をＮ値化して処理結果を別のレジスタに保存する。
【０００５】
このように、従来、ＳＩＭＤプロセッサーアレイ構造からなる画像処理システムを用いて画素ごとの適応的処理をおこなう場合には、複数の処理を並列ではなく逐次直列的に処理して処理結果を出力するのが一般的である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、かかる直列的な処理をおこなうこととしたのでは、適応的におこなう処理の数が多くなればなるほど処理時間が累増するという結果を招く。たとえば、２つの処理結果を適応的に切り分ける場合には、プログラムを２回分実行する必要が生ずる。
【０００７】
このため、処理に使用するデータを最適に配置して、処理プログラムを複数回実行しなくとも、たとえば２値化と３値化または２値化と変動２値化といった処理論理が類似した複数の処理をいかにして一度に実行するかが極めて重要な課題となっている。
【０００８】
なお、特開平１０−１２４６５６号公報には、任意のデータを利用して出力データを周辺の要素プロセッサーから最適な形で供給するシステムで拡大縮小処理をおこなう技術が開示されているが、この先行技術は、拡大／縮小というような倍率によって一意にパターンが定まるようなものについては適用できるが、適用的にデータを選択する場合に適用できるものではない。
【０００９】
この発明は、上述した従来技術による問題点を解消するため、処理プログラムを複数回実行しなくとも処理論理が類似した複数の処理を効率良く一度に実行することができる画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、この発明は、複数のプロセッサーに画像データをそれぞれ供給し、各プロセッサーに処理を実行させる画像処理装置において、他のプロセッサーが有するデータを利用して画像データの処理をおこなう複数のプロセッサーを備え、前記プロセッサーは、他のプロセッサーにより保持されたデータであって前記画像データの特徴量に基づいて選択されて供給されたデータを使用して所定の処理を実行することを特徴とする。
【００１１】
この発明によれば、他の要素プロセッサーが有するデータを利用して画像データの処理を並列におこなう演算部およびレジスタからなる複数の要素プロセッサーのうちの所定の要素プロセッサーにより保持された処理に要するデータを他の要素プロセッサーに供給した後に、各要素プロセッサーによる適応的処理を同時並行的に実行制御することとしたので、処理プログラムを複数回実行しなくとも、処理論理が類似した複数の処理を効率良く一度に実行することができる。
【発明を実施するための最良の形態】
【００１２】
以下に添付図面を参照して、この発明にかかる画像処理装置および画像処理方法の好適な実施の形態を詳細に説明する。なお、本実施の形態では、複写機、プリンター、スキャナおよびファクシミリなどの複合したディジタル複合機に本発明を適用した場合を示すこととする。
【００１３】
（実施の形態１）
まず、本実施の形態にかかる画像処理装置の原理について説明する。図１は、この発明の本実施の形態にかかる画像処理装置の構成を機能的に示すブロック図である。図１において、画像処理装置は、以下に示す５つのユニットから形成される。
【００１４】
具体的には、同図に示すように、この画像処理装置は、画像データ制御ユニット１００と、画像データを読み取る画像読取ユニット１０１と、画像を蓄積する画像メモリーを制御して画像データの書込み／読出しをおこなう画像メモリー制御ユニット１０２と、画像データに対し加工編集等の画像処理を施す画像処理ユニット１０３と、画像データを転写紙等に書き込む画像書込ユニット１０４とからなる。
【００１５】
各ユニットは、画像データ制御ユニット１００を中心に配置され、画像読取ユニット１０１、画像メモリー制御ユニット１０２、画像処理ユニット１０３および画像書込ユニット１０４がそれぞれ画像データ制御ユニット１００に接続されている。なお、本発明にかかる２値画像の密度変換は、画像処理ユニット１０３によっておこなわれる。
【００１６】
（画像データ制御ユニット１００）
この画像データ制御ユニット１００は、
（１）データのバス転送効率を向上させるためのデータ圧縮処理（一次圧縮）、
（２）一次圧縮データの画像データへの転送処理、
（３）画像合成処理（複数ユニットからの画像データを合成することが可能である。また、データバス上での合成も含む。）、
（４）画像シフト処理（主走査および副走査方向の画像のシフト）、
（５）画像領域拡張処理（画像領域を周辺へ任意量だけ拡大することが可能）、
（６）画像変倍処理（たとえば、５０％または２００％の固定変倍）、
（７）パラレルバス・インターフェース処理、
（８）シリアルバス・インターフェース処理（後述するプロセス・コントローラー２１１とのインターフェース）、
（９）パラレルデータとシリアルデータのフォーマット変換処理、
（１０）画像読取ユニット１０１とのインターフェース処理、
（１１）画像処理ユニット１０３とのインターフェース処理、
などをおこなう。
【００１７】
（画像読取ユニット１０１）
画像読取ユニット１０１は、
（１）光学系による原稿反射光の読み取り処理、
（２）ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ：電荷結合素子）での電気信号への変換処理、
（３）Ａ／Ｄ変換器でのディジタル化処理、
（４）シェーディング補正処理（光源の照度分布ムラを補正する処理）、
（５）スキャナーγ補正処理（読み取り系の濃度特性を補正する処理）、
などをおこなう。
【００１８】
（画像メモリー制御ユニット１０２）
画像メモリー制御ユニット１０２は、
（１）システム・コントローラーとのインターフェース制御処理、
（２）パラレルバス制御処理（パラレルバスとのインターフェース制御処理）、
（３）ネットワーク制御処理、
（４）シリアルバス制御処理（複数の外部シリアルポートの制御処理）、
（５）内部バスインターフェース制御処理（操作部とのコマンド制御処理）、
（６）ローカルバス制御処理（システム・コントローラーを起動させるためのＲＯＭ、ＲＡＭ、フォントデータのアクセス制御処理）、
（７）メモリー・モジュールの動作制御処理（メモリー・モジュールの書き込み／読み出し制御処理等）、
（８）メモリー・モジュールへのアクセス制御処理（複数のユニットからのメモリー・アクセス要求の調停をおこなう処理）、
（９）データの圧縮／伸張処理（メモリー有効活用のためのデータ量の削減するための処理）、
（１０）画像編集処理（メモリー領域のデータクリア、画像データの回転処理、メモリー上での画像合成処理等）、
などをおこなう。
【００１９】
（画像処理ユニット１０３）
画像処理ユニット１０３は、
（１）シェーディング補正処理（光源の照度分布ムラを補正する処理）、
（２）スキャナーγ補正処理（読み取り系の濃度特性を補正する処理）、
（３）ＭＴＦ補正処理、
（４）平滑処理、
（５）主走査方向の任意変倍処理、
（６）濃度変換（γ変換処理：濃度ノッチに対応）、
（７）単純多値化処理、
（８）単純二値化処理、
（９）誤差拡散処理、
（１０）ディザ処理、
（１１）ドット配置位相制御処理（右寄りドット、左寄りドット）、
（１２）孤立点除去処理、
（１３）像域分離処理（色判定、属性判定、適応処理）、
（１４）密度変換処理、
などをおこなう。
【００２０】
なお、この画像処理ユニット１０３は、複数の要素プロセッサーに画像データをそれぞれ供給し、各要素プロセッサーに同一の演算を同時並行に実行させるＳＩＭＤ型の処理をおこなう。
【００２１】
（画像書込ユニット１０４）
画像書込ユニット１０４は、
（１）エッジ平滑処理（ジャギー補正処理）、
（２）ドット再配置のための補正処理、
（３）画像信号のパルス制御処理、
（４）パラレルデータとシリアルデータのフォーマット変換処理、
などをおこなう。
【００２２】
（ディジタル複合機のハードウエア構成）
つぎに、本実施の形態にかかる画像処理装置がディジタル複合機を構成する場合のハードウエア構成について説明する。図２は、本実施の形態にかかる画像処理装置のハードウエア構成の一例を示すブロック図である。
【００２３】
図２のブロック図において、本実施の形態にかかる画像処理装置は、読取ユニット２０１と、センサー・ボード・ユニット２０２と、画像データ制御部２０３と、画像処理プロセッサー２０４と、ビデオ・データ制御部２０５と、作像ユニット（エンジン）２０６とを備える。また、本実施の形態にかかる画像処理装置は、シリアルバス２１０を介して、プロセス・コントローラー２１１と、ＲＡＭ２１２と、ＲＯＭ２１３とを備える。
【００２４】
ここで、この画像処理プロセッサー２０４は、ＳＩＭＤ型プロセッサーを用いて画像の処理計算をおこなうプロセッサーであり、画像データ制御部２０３を介して外部との間でデータの授受をおこなう。
【００２５】
また、本実施の形態にかかる画像処理装置は、パラレルバス２２０を介して、画像メモリー・アクセス制御部２２１とファクシミリ制御ユニット２２４とを備え、さらに、画像メモリー・アクセス制御部２２１に接続されるメモリー・モジュール２２２と、システム・コントローラー２３１と、ＲＡＭ２３２と、ＲＯＭ２３３と、操作パネル２３４とを備える。
【００２６】
ここで、上記各構成部と、図１に示した各ユニット１００〜１０４との関係について説明する。すなわち、読取ユニット２０１およびセンサー・ボード・ユニット２０２により、図１に示した画像読取ユニット１０１の機能を実現する。また同様に、画像データ制御部２０３により、画像データ制御ユニット１００の機能を実現する。また同様に、画像処理プロセッサー２０４により画像処理ユニット１０３の機能を実現する。
【００２７】
また同様に、ビデオ・データ制御部２０５および作像ユニット（エンジン）２０６により画像書込ユニット１０４を実現する。また同様に、画像メモリー・アクセス制御部２２１およびメモリー・モジュール２２２により画像メモリー制御ユニット１０２を実現する。
【００２８】
つぎに、各構成部の内容について説明する。原稿を光学的に読み取る読取ユニット２０１は、ランプとミラーとレンズから構成され、原稿に対するランプ照射の反射光をミラーおよびレンズにより受光素子に集光する。
【００２９】
受光素子、たとえばＣＣＤは、センサー・ボード・ユニット２０２に搭載され、ＣＣＤにおいて電気信号に変換された画像データはディジタル信号に変換された後、センサー・ボード・ユニット２０２から出力（送信）される。
【００３０】
センサー・ボード・ユニット２０２から出力（送信）された画像データは画像データ制御部２０３に入力（受信）される。機能デバイス（処理ユニット）およびデータバス間における画像データの伝送は画像データ制御部２０３がすべて制御する。
【００３１】
画像データ制御部２０３は、画像データに関し、センサー・ボード・ユニット２０２、パラレルバス２２０、画像処理プロセッサー２０４間のデータ転送、画像データに対するプロセス・コントローラー２１１と画像処理装置の全体制御を司るシステム・コントローラー２３１との間の通信をおこなう。また、ＲＡＭ２１２はプロセス・コントローラー２１１のワークエリアとして使用され、ＲＯＭ２１３はプロセス・コントローラー２１１のブートプログラム等を記憶している。
【００３２】
センサー・ボード・ユニット２０２から出力（送信）された画像データは画像データ制御部２０３を経由して画像処理プロセッサー２０４に転送（送信）され、光学系およびディジタル信号への量子化にともなう信号劣化（スキャナー系の信号劣化とする）を補正し、再度、画像データ制御部２０３へ出力（送信）される。
【００３３】
画像メモリー・アクセス制御部２２１は、メモリー・モジュール２２２に対する画像データの書き込み／読み出しを制御する。また、パラレルバス２２０に接続される各構成部の動作を制御する。また、ＲＡＭ２３２はシステム・コントローラー２３１のワークエリアとして使用され、ＲＯＭ２３３はシステム・コントローラー２３１のブートプログラム等を記憶している。
【００３４】
操作パネル２３４は、画像処理装置がおこなうべき処理を入力する。たとえば、処理の種類（複写、ファクシミリ送信、画像読込、プリント等）および処理の枚数等を入力する。これにより、画像データ制御情報の入力をおこなうことができる。
【００３５】
つぎに、読み取った画像データにはメモリー・モジュール２２２に蓄積して再利用するジョブと、メモリー・モジュール２２２に蓄積しないジョブとがあり、それぞれの場合について説明する。メモリー・モジュール２２２に蓄積する例としては、１枚の原稿について複数枚を複写する場合に、読取ユニット２０１を１回だけ動作させ、読取ユニット２０１により読み取った画像データをメモリー・モジュール２２２に蓄積し、蓄積された画像データを複数回読み出すという方法がある。
【００３６】
メモリー・モジュール２２２を使わない例としては、１枚の原稿を１枚だけ複写する場合に、読み取り画像データをそのまま再生すればよいので、画像メモリー・アクセス制御部２２１によるメモリー・モジュール２２２へのアクセスをおこなう必要はない。
【００３７】
まず、メモリー・モジュール２２２を使わない場合、画像処理プロセッサー２０４から画像データ制御部２０３へ転送されたデータは、再度画像データ制御部２０３から画像処理プロセッサー２０４へ戻される。画像処理プロセッサー２０４においては、センサー・ボード・ユニット２０２におけるＣＣＤによる輝度データを面積階調に変換するための画質処理をおこなう。
【００３８】
画質処理後の画像データは画像処理プロセッサー２０４からビデオ・データ制御部２０５に転送される。面積階調に変化された信号に対し、ドット配置に関する後処理およびドットを再現するためのパルス制御をおこない、その後、作像ユニット２０６において転写紙上に再生画像を形成する。
【００３９】
つぎに、メモリー・モジュール２２２に蓄積し画像読み出し時に付加的な処理、たとえば画像方向の回転、画像の合成等をおこなう場合の画像データの流れについて説明する。画像処理プロセッサー２０４から画像データ制御部２０３へ転送された画像データは、画像データ制御部２０３からパラレルバス２２０を経由して画像メモリー・アクセス制御部２２１に送られる。
【００４０】
ここでは、システム・コントローラー２３１の制御に基づいて画像データとメモリー・モジュール２２２のアクセス制御、外部ＰＣ（パーソナル・コンピューター）２２３のプリント用データの展開、メモリー・モジュール２２２の有効活用のための画像データの圧縮／伸張をおこなう。
【００４１】
画像メモリー・アクセス制御部２２１へ送られた画像データは、データ圧縮後メモリー・モジュール２２２へ蓄積され、蓄積された画像データは必要に応じて読み出される。読み出された画像データは伸張され、本来の画像データに戻し画像メモリー・アクセス制御部２２１からパラレルバス２２０を経由して画像データ制御部２０３へ戻される。
【００４２】
画像データ制御部２０３から画像処理プロセッサー２０４への転送後は画質処理、およびビデオ・データ制御部２０５でのパルス制御をおこない、作像ユニット２０６において転写紙上に再生画像を形成する。
【００４３】
画像データの流れにおいて、パラレルバス２２０および画像データ制御部２０３でのバス制御により、ディジタル複合機の機能を実現する。ファクシミリ送信機能は読み取られた画像データを画像処理プロセッサー２０４にて画像処理を実施し、画像データ制御部２０３およびパラレルバス２２０を経由してファクシミリ制御ユニット２２４へ転送する。ファクシミリ制御ユニット２２４にて通信網へのデータ変換をおこない、公衆回線（ＰＮ）２２５へファクシミリデータとして送信する。
【００４４】
一方、受信されたファクシミリデータは、公衆回線（ＰＮ）２２５からの回線データをファクシミリ制御ユニット２２４にて画像データへ変換され、パラレルバス２２０および画像データ制御部２０３を経由して画像処理プロセッサー２０４へ転送される。この場合、特別な画質処理はおこなわず、ビデオ・データ制御部２０５においてドット再配置およびパルス制御をおこない、作像ユニット２０６において転写紙上に再生画像を形成する。
【００４５】
複数ジョブ、たとえば、コピー機能、ファクシミリ送受信機能、プリンター出力機能が並行に動作する状況において、読取ユニット２０１、作像ユニット２０６およびパラレルバス２２０の使用権のジョブへの割り振りをシステム・コントローラー２３１およびプロセス・コントローラー２１１において制御する。
【００４６】
プロセス・コントローラー２１１は画像データの流れを制御し、システム・コントローラー２３１はシステム全体を制御し、各リソースの起動を管理する。また、ディジタル複合機の機能選択は操作パネル（操作部）２３４において選択入力し、コピー機能、ファクシミリ機能等の処理内容を設定する。
【００４７】
システム・コントローラー２３１とプロセス・コントローラー２１１は、パラレルバス２２０、画像データ制御部２０３およびシリアルバス２１０を介して相互に通信をおこなう。具体的には、画像データ制御部２０３内においてパラレルバス２２０とシリアルバス２１０とのデータ・インターフェースのためのデータフォーマット変換をおこなうことにより、システム・コントローラー２３１とプロセス・コントローラー２１１間の通信をおこなう。
【００４８】
（ＳＩＭＤ型プロセッサーの構成）
つぎに、ＳＩＭＤ型プロセッサーの構成について説明する。図３は、ＳＩＭＤ型プロセッサーの構成を説明するための説明図である。同図に示すように、このＳＩＭＤ型プロセッサーにおいては、各画素に相当するアキュムレータ（Ａ）が主走査方向に並べられている。
【００４９】
各アキュムレータは、１６ビットの幅のＡおよびＦのレジスタのほかに、８ビットのレジスタを複数有しており、このレジスタに計算データや計算結果などを格納する。なお、１画素に相当する一つの単位を１ＰＥ｛プロセッサー・エレメント）といい、一度に処理できる主走査方向に並んだ複数のＰＥ分を１ＳＩＭＤという。また、このＳＩＭＤ型プロセッサーでは、各ＰＥは左右３つ隣りのＰＥの値（アキュムレータおよびレジスタの持つ値）を参照することができるものとする。
【００５０】
（階調処理部の構成）
つぎに、図１に示した画像処理ユニット１０３上でおこなう階調処理について説明する。なお、ここでは画像処理ユニット１０３内の階調処理部が階調処理をおこなうこととする。
【００５１】
図４は、シェーディング補正後の画像を階調処理する階調処理部の構成を示す機能ブロック図である。同図に示すように、この階調処理部４０１では、まず最初に階調処理１のデータロード処理４０３と階調処理２のデータロード処理４０４とをおこない、画像の特徴量に基づいて必要なデータセット４０５をおこない、全画素についての量子化（Ｎ値化）処理４０６が一動作で実行される。
【００５２】
したがって、この階調処理部４０１によれば、データの供給および選択を画像の特徴量に合わせてセットすることになるので、処理そのものが似ている部分をなるべく一つにまとめて同じ処理の重複を避けることができる。なお、ここでいう画像の特徴量とは、エッジ／非エッジの区別や、ノイズ／非ノイズなどの各画素ごとの特徴量のことである。
【００５３】
（各要素プロセッサーへのデータの供給）
つぎに、データメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給について説明する。図５は、データメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給を説明するための説明図である。なお、同図に示すＬ３〜Ｌ１、Ｐ、Ｕ１〜Ｕ３は、各画素にそれぞれ相当するものとし、各画素位置を０〜６で示すこととする。また、データを供給する段階では、どの画素にどのデータを供給する必要があるかが分からないので、ここでは、必要とされるデータを規則的に供給することとしている。
【００５４】
すなわち、各画素が、それぞれの特徴量に基づいて、２つのしきい値ａ，ｂを用いた３値誤差拡散若しくはしきい値ｃを用いた２値誤差拡散のいずれかを選択する場合には、図５（ａ）に示すように、すべてのしきい値ａ，ｂ，ｃを画素位置が偶数の画素のレジスタにセットする。
【００５５】
たとえば、注目画素Ｐが３値誤差拡散をおこなう画素である場合には、Ｌ１またはＵ１のデータを参照して３値化し、逆に注目画素Ｐが２値誤差拡散をおこなう画素である場合には、Ｌ１またはＵ１のデータを参照して２値化する。
【００５６】
具体的には、同図（ｂ）に示すように、３つのしきい値ａ，ｂ，ｃはデータメモリー（ＤＡＴＡ  ＲＡＭ）５０１に格納されており、このデータメモリー５０１の３つのしきい値を偶数画素のレジスタＲ１０，Ｒ１１，Ｒ１２に読み込む。そして、３値誤差拡散をおこなう画素にはフラグをたててレジスタＦにしきい値ａ，ｂをセットし、３値誤差拡散をおこなわない画素にはフラグをたてることなくレジスタＦにしきい値ｃを重ねてセットする。
【００５７】
そして、画像データがレジスタＦの上位ビット（ａまたはｃ）よりも小さければ「００」を出力し、大きければレジスタＦの下位ビット（ｂまたはｃ）と比較して、大きければ「１１」を出力し、小さければ「１０」または「０１」を出力する処理を各画素ごと同時におこなう。
【００５８】
ここで、２値誤差拡散をおこなう画素の場合には、レジスタＦの上位ビットのしきい値と下位ビットのしきい値がともにｃとなるので、「００」または「１１」のみしか出力されない。言い換えると、たとえ２値誤差拡散を３値誤差拡散と同様に動作させた場合でも、２値化処理結果が得られることとなる。なお、データのロードは必ずしも偶数位置の画素に限られるものではなく、任意の位置とすることもできる。
【００５９】
つぎに、図５に示したデータメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給手順について説明する。図６は、図５に示したデータメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給手順を示すフローチャートである。
【００６０】
同図に示すように、まず最初に偶数位置であるか否かを調べ（ステップＳ６０１）、偶数位置である場合には（ステップＳ６０１肯定）フラグ＝１をセットし（ステップＳ６０２）、偶数位置でない場合には（ステップＳ６０１否定）フラグ＝０をセットする（ステップＳ６０３）。
【００６１】
そして、このフラグが１でない場合には（ステップＳ６０４否定）、特徴量データが１であるか否かをさらに調べ（ステップＳ６０９）、特徴量が１である場合には（ステップＳ６０９肯定）隣りのレジスタに保持したしきい値ａ，ｂをセットして量子化し（ステップＳ６１０、Ｓ６１２）、特徴量が１でない場合には（ステップＳ６０９否定）隣りのレジスタに保持したしきい値ｃをセットして量子化する（ステップＳ６１１、Ｓ６１２）。
【００６２】
これに対して、このフラグが１である場合には（ステップＳ６０４肯定）、データメモリー５０１に記憶したしきい値データをロードした後（ステップＳ６０５）、しきい値データ特徴量データが１であるか否かをさらに調べる（ステップＳ６０６）。
【００６３】
その結果、特徴量が１である場合には（ステップＳ６０６肯定）、ロードしたしきい値ａ，ｂをセットして量子化し（ステップＳ６０８、Ｓ６１２）、特徴量が１でない場合には（ステップＳ６０６否定）、ロードしたしきい値ｃをセットして量子化する（ステップＳ６０７、Ｓ６１２）。
【００６４】
上述してきたように、本実施の形態１では、データメモリー（ＤＡＴＡ  ＲＡＭ）５０１に記憶したしきい値ａ，ｂ，ｃを偶数位置のレジスタＲ１０〜Ｒ１２に記憶し、偶数位置の場合にはこのしきい値を特徴量に基づいてレジスタＦにセットし、奇数位置の場合には、偶数位置のレジスタに保持したしきい値を特徴量に基づいてレジスタＦにセットし、その後一括して各画素の処理をおこなうよう構成したので、処理プログラムを複数回実行しなくとも処理論理が類似した複数の処理を効率良く一度に実行することができる。
【００６５】
（実施の形態２）
ところで、上記実施の形態１では、２値化しきい値および３値化しきい値を設定する場合を示したが、本実施の形態２では、各画素ごとの処理の切替をともなうことなく、すべての画素に対して４×４のディザ処理をおこなう場合について説明することとする。なお、この場合の各要素プロセッサーへのデータの供給以外の説明については実施の形態１に示すものと同様のものとなるので、ここではその説明を省略する。
【００６６】
図７は、実施の形態２にかかるデータメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給を説明するための説明図である。なお、上記実施の形態１と同様に、同図に示すＬ３〜Ｌ１、Ｐ、Ｕ１〜Ｕ３は、各画素にそれぞれ相当するものとし、各画素位置を０〜６で示すこととする。また、データを供給する段階では、どの画素にどのデータを供給する必要があるかが分からないので、ここでは、必要とされるデータを規則的に供給することとしている。
【００６７】
図７（ａ）に示すように、同図（ｂ）に示すデータメモリー（ＤＡＴＡ  ＲＡＭ）７０１に記憶したディザマトリックスのしきい値データを画素位置が偶数となるレジスタに対して供給する。なお、このデータメモリー７０１に記憶したデータｔ００〜ｔ３３は、同図（ｃ）に示すディザマトリックスを形成するしきい値であり、それぞれ隣り合う画素のしきい値を並べて１６ビットで格納されている。なお、同図（ａ）に示すレジスタＦは、１６ビット幅であるので、データメモリー７０１に格納したデータをたとえばｔ００とｔ０１というように１動作で２つ取り出すことができる。
【００６８】
そして、奇数位置画素は、隣りの偶数位置画素のレジスタＦの下位ビットからデータを取得することにより、少ない動作でメモリーからのデータ供給をおこなうことができる。具体的には、ディザの１行目の処理をおこなう場合には、本来であればｔ００〜ｔ０３という４つのデータをロードする際に４回のロード動作が必要となるが、この実施の形態では、ｔ００とｔ０２の位置でのロード動作、奇数位置画素から偶数位置画素からデータをロードするロード動作の合計３回のロード動作で処理することができる。同様にして、８×８のディザマトリックスを使用した場合には、８回のロード動作を５回のロード動作で処理することができる。なお、このデータセット後に、その大小でＮ値化をおこなうことになる。
【００６９】
つぎに、図７に示したデータメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給手順について説明する。図８は、図７に示したデータメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給手順を示すフローチャートである。
【００７０】
同図に示すように、まず最初に画素位置が偶数であるか否かを調べ（ステップＳ８０１）、偶数位置である場合には（ステップＳ８０１肯定）フラグ＝１をセットし（ステップＳ８０２）、偶数位置でない場合には（ステップＳ８０１否定）フラグ＝０をセットする（ステップＳ８０３）。
【００７１】
そして、このフラグが１であるか否かを調べ（ステップＳ８０４）、１である場合には（ステップＳ８０４肯定）、データメモリー５０１に記憶したしきい値データをロードする（ステップＳ８０５）。
【００７２】
その後、このフラグが０であるか否かを調べ（ステップＳ８０６）、０である場合には（ステップＳ８０６肯定）、偶数画素からしきい値データを供給する（ステップＳ８０７）。
【００７３】
そして、画像データがしきい値データよりも大きいか否かを調べ（ステップＳ８０８）、大きい場合には（ステップＳ８０８肯定）出力＝１とし（ステップＳ８０９）、大きくない場合には（ステップＳ８０８否定）出力＝０とする（ステップＳ８１０）。
【００７４】
上述してきたように、本実施の形態２では、データメモリー（ＤＡＴＡ  ＲＡＭ）７０１にディザマトリックスの各しきい値を記憶しておき、それぞれ隣り合う画素のしきい値を並べて取り出して偶数位置画素のレジスタＦに格納し、偶数位置の場合にはこのしきい値をレジスタＲ１０にセットし、奇数位置の場合には、偶数位置のレジスタＦに保持したしきい値をレジスタＲ１０にセットし、その後一括して各画素の処理をおこなうよう構成したので、処理プログラムを複数回実行しなくとも処理論理が類似した複数の処理を効率良く一度に実行することができる。
【００７５】
（実施の形態３）
ところで、上記実施の形態２では、一つのディザマトリックスを用いる場合を示したが、本発明は複数のディザマトリックスを用いる場合に適用することもできる。そこで、本実施の形態３では、２つのディザマトリックスを切り分けて使用する場合を示すこととする。
【００７６】
図９は、実施の形態３にかかるデータメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給を説明するための説明図である。なおここでは、同図（ｃ）に示すディザマトリックス９０２と９０３とを切り分けて使用する場合を示すこととする。
【００７７】
なお、ＳＩＭＤの１画素が１動作でデータを供給できる範囲が、図３に示すように左右３画素までであれば、データのロードを偶数／奇数で動作させる必要はなく、たとえば４の倍数位置と４の倍数＋１の位置でのロードというように、プログラム動作させることができる。このため、本実施の形態３では、４の倍数位置でディザマトリックス９０２の各しきい値をロードし、４の倍数＋１の位置でディザマトリックス９０３の各しきい値をロードするものとする。
【００７８】
具体的には、この場合には、ディザマトリックス９０２の各しきい値ｔ０ａ〜ｔ０ｐと、ディザマトリックス９０３の各しきい値ｔ００〜ｔ３３とをデータメモリー（ＤＡＴＡ  ＲＡＭ）９０１に記憶しておく。そして、画素位置０のレジスタＦにしきい値ｔ００およびｔ０１を格納し、レジスタＲ１０にしきい値ｔ０２およびｔ０３を格納し、各レジスタＲ１１などにもディザマトリックス９０３のしきい値を格納する。同様に、画素位置が４の倍数の場合にも、ディザマトリックス９０３のしきい値を格納する。
【００７９】
一方、画素位置１のレジスタＦにしきい値ｔ０ａおよびｔ０ｂを格納し、レジスタＲ１０にしきい値ｔ０ｃおよびｔ０ｄを格納し、各レジスタＲ１１などにもディザマトリックス９０２のしきい値を格納する。同様に、画素位置が４の倍数＋１の場合にも、ディザマトリックス９０２のしきい値を格納する。
【００８０】
ここで、ＳＩＭＤの１画素が１動作でデータを供給できる範囲が、左右３画素までであるため、各画素位置においてディザマトリックス９０２および９０３の各しきい値をロードすることができる。
【００８１】
上述してきたように、本実施の形態３では、データメモリー（ＤＡＴＡ  ＲＡＭ）７０１に２種類のディザマトリックス９０２および９０３の各しきい値を記憶しておき、４の倍数の画素位置の各レジスタにディザマトリックス９０３の各しきい値を格納し、４の倍数＋１の画素位置の各レジスタにディザマトリックス９０２の各しきい値を格納し、各画素位置は、これらのしきい値データをロードして自身のレジスタにセットし、その後一括して各画素の処理をおこなうよう構成したので、処理プログラムを複数回実行しなくとも処理論理が類似した複数の処理を効率良く一度に実行することができる。
【００８２】
（実施の形態４）
ところで、上記実施の形態２および３では、単にディザマトリックスの各しきい値をセットする場合を示すこととしたが、本発明はこれに限定されるものではなく、しきい値にノイズデータを加算して２値化をおこなう場合に適用することもできる。そこで、本実施の形態４では、しきい値にノイズデータを加算して２値化をおこなう場合を示すこととする。
【００８３】
図１０は、実施の形態４にかかるデータメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給を説明するための説明図である。なお、偶数位置画素にディザマトリックスの各しきい値をロードし、これを奇数位置画素に振り分ける点は実施の形態２と同様であるので、このディザマトリックスについての説明は省略する。
【００８４】
同図（ｃ）に示す３×３のマトリックス１００３はノイズデータであり、ここでは、ディザマトリックス１００２のしきい値にこのノイズデータを加算して２値化をおこなうことにより、しきい値を変動させた多値化処理をおこなっている。なお、このノイズデータが負であれば、このノイズデータの加算は、ノイズの大きさを減算していることになる。
【００８５】
具体的には、本実施の形態４では、ディザマトリックス１００２のしきい値およびノイズデータをデータメモリー（ＤＡＴＡ  ＲＡＭ）１００１に記憶しておき、画素位置が３の倍数のレジスタにノイズデータをロードし、他の画素位置（３の倍数＋１、３の倍数＋２）の画素は、この３の倍数のレジスタから必要なノイズデータを取得し、画像の特徴量に応じてノイズを付加するか付加しないかを切り換えて適応的な処理をおこなう。
【００８６】
つぎに、図１０に示したデータメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給手順について説明する。図１１は、図１０に示したデータメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給手順を示すフローチャートである。
【００８７】
同図に示すように、まず最初に画素位置が偶数であるか否かを調べ（ステップＳ１１０１）、偶数位置である場合には（ステップＳ１１０１肯定）メモリーからしきい値をロードし（ステップＳ１１０２）、偶数位置でない場合には（ステップＳ１１０１否定）偶数位置画素からデータをロードする（ステップＳ１１０３）。
【００８８】
その後、画素位置が３の倍数であるか否かを確認し（ステップＳ１１０４）、３の倍数である場合には（ステップＳ１１０４肯定）そのままノイズデータをロードする（ステップＳ１１０５）。なお、このノイズデータは、ある大きさｖの加減算となる値である。
【００８９】
これに対して、３の倍数でない場合には（ステップＳ１１０４否定）、画素位置が３の倍数＋１であるか否かを調べ（ステップＳ１１０６）、３の倍数＋１であれば（ステップＳ１１０６肯定）、隣りの画素からＲ１１のデータを取り出してセットし（ステップＳ１１０７）、３の倍数＋２であれば（ステップＳ１１０６否定）、２つ隣りの画素からＲ１２のデータを取り出してセットする（ステップＳ１１０８）。なお、左隣りを参照するか右隣りを参照するかは任意に設定することができる。
【００９０】
そして、特徴量データが真であるか否かを調べ（ステップＳ１１０９）、真である場合には（ステップＳ１１０９肯定）格納データを０にして（ステップＳ１１１０）格納データをしきい値に加算する（ステップＳ１１１１）。なお、偽である場合には（ステップＳ１１０９否定）、そのまま格納データをしきい値に加算する（ステップＳ１１１１）。すなわち、ここではこの特徴量データに基づいてノイズを付加するか否かを決定しており、特徴量データが真であればノイズデータを０に変更している。
【００９１】
そして、画像データがしきい値データよりも大きいか否かを調べ（ステップＳ１１１２）、大きい場合には（ステップＳ１１１２肯定）結果＝１とし（ステップＳ１１１３）、大きくない場合には（ステップＳ１１１２否定）結果＝０とする（ステップＳ１１１４）。
【００９２】
上述してきたように、本実施の形態４では、データメモリー（ＤＡＴＡ  ＲＡＭ）１００１にディザマトリックス１００２のしきい値およびノイズデータ１００３を記憶しておき、特徴量データに基づいてこのノイズデータ１００３をしきい値に付加するか否かを決定しつつ各レジスタにしきい値をセットし、その後一括して各画素の処理をおこなうよう構成したので、処理プログラムを複数回実行しなくとも処理論理が類似した複数の処理を効率良く一度に実行することができる。
【００９３】
以上説明したように、この発明によれば、他の要素プロセッサーが有するデータを利用して画像データの処理を並列におこなう演算部およびレジスタからなる複数の要素プロセッサーのうちの所定の要素プロセッサーにより保持された処理に要するデータを他の要素プロセッサーに供給した後に、各要素プロセッサーによる適応的処理を同時並行的に実行制御するよう構成したので、処理プログラムを複数回実行しなくとも処理論理が類似した複数の処理を効率良く一度に実行することができる画像処理装置が得られるという効果を奏する。
【００９４】
また、この発明によれば、記憶手段に記憶した複数の要素プロセッサーによる処理にそれぞれ必要なデータを所定の要素プロセッサーに格納するよう構成したので、データ記憶容量の低減およびデータアクセスの高速化を図ることができる画像処理装置が得られるという効果を奏する。
【００９５】
また、この発明によれば、ライン方向に所定の間隔で位置する要素プロセッサーを所定の要素プロセッサーとするよう構成したので、さらにデータ記憶容量の低減およびデータアクセスの高速化を図ることができる画像処理装置が得られるという効果を奏する。
【００９６】
また、この発明によれば、ライン方向の偶数番目若しくは奇数番目に位置する要素プロセッサーを所定の要素プロセッサーとするよう構成したので、所定の要素プロセッサーおよび他のプロセッサーに迅速かつ簡易にデータを設定することができる画像処理装置が得られるという効果を奏する。
【００９７】
また、この発明によれば、他の要素プロセッサーが有するデータを利用して画像データの処理を並列におこなう演算部およびレジスタからなる複数の要素プロセッサーのうちの所定の要素プロセッサーにより保持された処理に要するデータを他の要素プロセッサーに供給した後に、各要素プロセッサーによる適応的処理を同時並行的に実行制御するよう構成したので、処理プログラムを複数回実行しなくとも処理論理が類似した複数の処理を効率良く一度に実行することができる画像処理方法が得られるという効果を奏する。
【００９８】
また、この発明によれば、記憶手段に記憶した複数の要素プロセッサーによる処理にそれぞれ必要なデータを所定の要素プロセッサーに格納するよう構成したので、データ記憶容量の低減およびデータアクセスの高速化を図ることができる画像処理方法が得られるという効果を奏する。
【００９９】
また、この発明によれば、上述した画像処理方法をコンピュータに実行させるプログラムを記録したことで、そのプログラムを機械読み取り可能となり、これによって、上述した画像処理方法の動作をコンピュータによって実現することが可能な記録媒体が得られるという効果を奏する。
【図面の簡単な説明】
【０１００】
【図１】この発明の本実施の形態にかかる画像処理装置の構成を機能的に示すブロック図である。
【図２】本実施の形態にかかる画像処理装置のハードウエア構成の一例を示すブロック図である。
【図３】ＳＩＭＤ型プロセッサーの構成を説明するための説明図である。
【図４】シェーディング補正後の画像を階調処理する階調処理部の構成を示す機能ブロック図である。
【図５】実施の形態１にかかるデータメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給を説明するための説明図である。
【図６】図５に示したデータメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給手順を示すフローチャートである。
【図７】実施の形態２にかかるデータメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給を説明するための説明図である。
【図８】図７に示したデータメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給手順を示すフローチャートである。
【図９】実施の形態３にかかるデータメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給を説明するための説明図である。
【図１０】実施の形態４にかかるデータメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給を説明するための説明図である。
【図１１】図１０に示したデータメモリー（ＤＡＴＡ  ＲＡＭ）から各要素プロセッサーへのデータの供給手順を示すフローチャートである。
【図１２】ＡＳＩＣによる画像処理装置を用いて適応階調処理をおこなう場合の構成を示す説明図である。
【図１３】ＳＩＭＤ型プロセッサーを用いた場合の従来の一般的な構成を示す構成図である。
【図１４】図１３に示した階調処理部の一般的な構成を示す構成図である。
【符号の説明】
【０１０１】
１００  画像データ制御ユニット
１０１  画像読取ユニット
１０２  画像メモリー制御ユニット
１０３  画像処理ユニット
１０４  画像書込ユニット
２０１  読取ユニット
２０２  センサー・ボード・ユニット
２０３  画像データ制御部
２０４  画像処理プロセッサー
２０５  ビデオ・データ制御部
２０６  作像ユニット（エンジン）
２１０  シリアルバス
２１１  プロセス・コントローラー
２１２，２３２  ＲＡＭ
２１３，２３３  ＲＯＭ
２２０  パラレルバス
２２１  画像メモリー・アクセス制御部
２２２  メモリー・モジュール
２２３  パーソナル・コンピューター（ＰＣ）
２２４  ファクシミリ制御ユニット
２２５  公衆回線
２３１  システム・コントローラー
２３４  操作パネル
４０１  階調処理部
４０２  特徴量信号
４０３  階調処理１のデータロード
４０４  階調処理２のデータロード
４０５  データセット
４０６  Ｎ値化
５０１，７０１，９０１，１００１  データメモリー
７０２，９０２，９０３，１００２  ディザマトリックス
１００３  ノイズデータ
【図１】
0004402676.tif 000002
【図２】
0004402676.tif 000003
【図３】
0004402676.tif 000004
【図４】
0004402676.tif 000005
【図５】
0004402676.tif 000006
【図６】
0004402676.tif 000007
【図７】
0004402676.tif 000008
【図８】
0004402676.tif 000009
【図９】
0004402676.tif 000010
【図１０】
0004402676.tif 000011
【図１１】
0004402676.tif 000012
【図１２】
0004402676.tif 000013
【図１３】
0004402676.tif 000014
【図１４】
0004402676.tif 000015