次に本発明を実施するための最良の形態について図面を参照して説明する。
〔第1実施形態〕
図1は、本発明の第1実施形態を示す画像処理装置の構成を説明するブロック図であり、後述するように本画像処理装置は、5つの機能ブロック(ユニット)から構成されている。
図1において、5つの機能ブロック(ユニット)は、画像データ制御ユニット100と、画像データを入力する画像データ入力ユニット101と、画像を蓄積する画像メモリを制御して画像データの書き込み/読み出しをおこなう画像メモリ制御ユニット102と、画像データに対し加工編集等の画像処理を施す画像処理ユニット103と、画像データを転写紙等に書き込む画像書込ユニット104から構成されている。
上記各ユニットは、画像データ制御ユニット100を中心に構成されている。すなわち、画像データ入力ユニット101、画像メモリ制御ユニット102、画像処理ユニット103、画像書込ユニット104は、いずれも画像データ制御ユニット100に接続されている。以下、この各ユニットについて、それぞれ説明する。
画像データ制御ユニット100により行われる処理は以下のものである。
制御データバスインタフェース処理、全体システム制御、ローカルバス制御処理(システムコントローラを起動させるためのROM、RAM、アクセス制御処理)、画像データ入力ユニット101とのインタフェース処理、画像メモリ制御ユニット102とのインタフェース処理、画像処理ユニット103とのインタフェース処理、画像書込みユニット104とのインタフェース処理、ネットワーク制御処理等である。
画像データ入力ユニット101により行われる処理は以下のものである。
システムコントローラとのインタフェース制御処理、光学系による原稿反射光の読み取り処理、CCD(Charge Coupled Device:電荷結合素子)等を用いた電気信号への変換処理、A/D変換器でのディジタル化処理、シェ−ディング補正処理(光源の照度分布ムラを補正する処理)、読み取り系の濃度特性を補正する処理、ネットワークを介して入力されるPDL画像データのラスタライズ処理、等である。
画像メモリ制御ユニット102によりおこなわれる処理は以下のものである。
システムコントローラとのインタフェース制御処理、画像データの圧縮/伸長処理、メモリ部への書き込み・読み出し処理、メモリモジュールへのアクセス制御処理(複数のユニットカラーのメモリアクセス要求の調停処理)、等である。
画像処理ユニット103によりおこなわれる処理は以下のものである。
入力マスキング処理、出力マスキング処理、下色除去処理、空間フィルタ処理、主走査方向の任意変倍処理、カラーバランス調整処理、濃度変換(γ変換処理:濃度調整キーに対応)、単純二値化処理、各種擬似中間調処理、ドット配置位相制御処理(ジャギー補正)、黒文字処理(色判定、属性判定、適応処理)、密度変換処理、等である。
画像書込ユニット104によりおこなわれる処理は以下のものである。
画像信号のパルス制御処理、パラレルデータとシリアルデータのフォーマット変換処理、等である。
次に、本実施形態に係る画像処理装置がディジタル複合機を構成する場合のハードウエア構成について説明する。
図2は、本発明の第1実施形態を示す画像処理装置のハードウエア構成の一例を示すブロック図である。
図2において、本実施形態にかかる画像処理装置は、読取ユニット201と、PDL処理ユニット202と、画像データ制御部203と、5チップで構成される画像処理プロセッサ部204と、作像ユニット205と、メモリ制御部206と、メモリモジュール207と、ネットワーク制御部214と、5チップの画像処理プロセッサ夫々に接続されるワーキングメモリ216とを備える。
また、本実施形態にかかる画像処理装置は、制御用データバス208を介して、システムコントローラ209と、ROM210と、RAM211と、操作パネル212とを備える。さらに、ネットワーク213を介して、パーソナルコンピュータ215に接続されている。
上記のように構成された画像処理装置において、画像処理プロセッサ204は、画像に基づいて作成されたディジタル信号である画像データを顕像として出力できるように処理し、複数の画像形成動作を実現できるプログラマブルな画像処理手段である。
また、画像データ制御部203は、画像データを伝送するデータバスと画像処理プロセッサ部204による画像処理に用いられる処理ユニット間の画像データ伝送を一括して管理する画像データ伝送管理手段であり、読取ユニット201、PDL処理ユニット202、画像処理プロセッサ部204、メモリ制御部206、作像ユニット205、ネットワーク制御部214間のデータ伝送管理を行う。
なお、本発明は、画像処理プロセッサ部204にかかるもので、画像処理プロセッサ部204の構成については、図3以降の図面を用いて詳細に説明するものとする。
また、本実施形態にかかる画像処理装置は、画像データ記憶管理手段として、メモリ制御部206に接続されるメモリモジュール207を備える。
ここで、上記各構成部と、図1に示した各ユニット100〜104との関係について説明する。
すなわち、読取ユニット201およびPDL処理ユニット202により、図1に示した画像データ入力ユニット101の機能を実現する。また同様に、画像データ制御部203、システムコントローラ209、ROM210、RAM211、操作パネル212、ネットワーク制御部214により、画像データ制御ユニット100の機能を実現する。また同様に、画像処理プロセッサ部204、ワーキングメモリ216により画像処理ユニット103の機能を実現する。
また、同様に作像ユニット205により画像書込ユニット104を実現する。また同様に、メモリ制御部206およびメモリモジュール207により画像メモリ制御ユニット102を実現する。
なお、システムコントローラ209は、制御用データバス208を介して接続されたROM210に記憶された制御プログラムに基づき動作するものであり、RAM211をワーク用メモリとして使用している。
また、読取ユニット201、PDL処理ユニット202、画像データ制御部203、画像処理プロセッサ部204、作像ユニット205、メモリ制御部206、ネットワーク制御部214、操作パネル212は、制御用データバス208を介して、システムコントローラ209に動作が制御されるものである。以下、各構成部の内容について説明する。
原稿を光学的に読み取る読取ユニット201は、ランプとミラーとレンズ、受光素子から構成され、原稿に対するランプ照射の反射光をミラーおよびレンズにより受光素子に集光する。
受光素子、例えばCCDにおいてRGBに色分解され電気信号に変換されたカラー画像データはディジタル信号に変換された後読取ユニット201より出力(送信)される。
PDL処理ユニット202は、ネットワーク213に接続されたパーソナルコンピュータ215より出力されたPDL画像データをビットマップ画像へラスタライズするユニットである。
ネットワーク213を介して入力されたPDL画像データがネットワーク制御部214を介して、PDL処理ユニット202に入力されると、PDL処理ユニット202は、入力されたPDL画像データに基づいたラスタライズを行い、ビットマップ画像データを出力(送信)する。
以上のように、読取ユニット201、PDL処理ユニット202より出力(送信)された画像データは画像データ制御部203に入力(受信)される。
読取ユニット201、PDL処理ユニット202より画像データ制御部203が受信した画像データは、画像処理プロセッサ204、またはメモリ制御部206に出力される。
まず、画像処理プロセッサ204に出力される場合の動作について説明する。
画像処理プロセッサ204に入力された画像データは、ワーキングメモリ216を用いながら画像処理プロセッサ204にて処理が行なわれた後、再度画像データ制御部203に出力される。
画像処理プロセッサ204より画像データ処理部203に入力された画像データは、メモリ制御部206に出力され、メモリ制御部206を介してメモリモジュール207に記憶される。
画像処理プロセッサ204による1画面分の画像データの処理が終了し、1画面分の処理済みデータがメモリモジュールに記憶された後、メモリ制御部206は、メモリモジュール207に対する画像データの読み出しを行い、該読み出された画像データを画像データ制御部203を介して、作像ユニット205に出力してプリント出力を得るか、あるいは、メモリモジュール207より読み出された画像データを画像データ制御部203より、ネットワーク制御部214に出力し、ネットワーク213を介してコンピュ−タ215に出力するように動作する。
次に、読取ユニット201、PDL処理ユニット202より画像データ制御部203が受信した画像データをメモリ制御部206に出力する場合の動作について説明する。
画像データ制御部203より、メモリ制御部206に入力された画像データは、メモリモジュール207に記憶される。次に、メモリ制御部206は、メモリモジュール207より記憶された画像データを読み出し、画像データ制御部203を介して、画像処理プロセッサ204に出力する。
画像処理プロセッサ204では、入力された画像データを処理し、処理後の画像データを、再度画像データ制御部203、メモリ制御部206を介して、メモリモジュール207に記憶する。画像処理プロセッサ204による1画面分の画像データの処理が終了し、1画面分の処理済みデータが、メモリモジュール207に記憶された後、メモリ制御部206は、メモリモジュール207に対する画像データの読み出しを行ない、該読み出された画像データを画像データ制御部203を介して、作像ユニット205に出力してプリント出力を得るか、あるいは、メモリモジュール207より読み出された画像データを画像データ制御部203より、ネットワーク制御部214に出力し、ネットワーク213を介して、コンピュータ215に出力するように動作する。
上記動作例は、読取ユニット201、PDL処理ユニット202より出力された画像データに対する処理を画像処理プロセッサ204により行い、1画面分の処理済み画像データがメモリモジュール207に記憶された後、メモリモジュール207より、処理済画像データの読み出しを行い、作像ユニット205、あるいは、ネットワーク制御部214に出力する例を示したが、処理済み画像データの記憶が1画面分終了する前に、処理済みの画像データをメモリモジュール207より読み出しを開始するように制御してもよい。
さらには、メモリモジュール207に画像データを記憶させない動作例について説明する。
読取ユニット201、PDL処理ユニット202より画像データ制御部203が受信した画像データは、画像データ制御部203より、画像処理プロセッサ204に出力される。画像処理プロセッサ部204では、入力された画像データに所定の処理を行ない、画像データ制御部203に出力する。
画像処理プロセッサ204より、画像データ制御部203に入力された画像データは、画像データ制御部203を介して、作像ユニット205、ネットワーク制御部214に出力される。
メモリモジュール207に処理済みの画像データ1面分を記憶する場合の動作例としては、1枚の原稿について複数枚を複写する場合に、読取ユニット201を1回だけ動作させ、読取ユニット201により読み取った画像データをメモリモジュール207に記憶し、記憶された画像データを複数回読み出すという方法がある。
メモリモジュール207に画像データを記憶させない動作例としては、1枚の原稿を1枚だけ複写する場合がある。読み取り画像データに対する処理済みデータを直接作像ユニット205に出力すればよいので、メモリモジュール207へのアクセスをおこなう必要はない。
なお、本装置の全体の動作は、操作パネル212より入力された、画像処理装置がおこなうべき処理に基づいてシステムコントローラ209により制御される。操作パネル212は、処理の種類(複写、送信、画像読込、プリント等)および処理の枚数等を入力することができる。
図3は、図2に示した画像処理プロセッサ部204の構成を説明するためのブロック図である。
図3において、画像処理プロセッサ204は、FIFOメモリ301、307と、演算処理ユニット300から構成され、演算処理ユニット300は、入力レジスタ302、出力レジスタ304、SIMD型のデータ演算処理部303からなるSIMDプロセッサ308と、制御プロセッサ305、外部メモリインタフェース306を有している。
なお、SIMDとは、複数のデータに対し、単一の命令を並列に実行させるもので、本実施形態では、128個のPE(プロセッサ・エレメント)によりデータ演算処理部303が構成されている。
FIFOメモリ301は、読取ユニット201、またはPDL処理ユニット202より入力される画像データ1ライン分(7168画素)の容量を有するファーストイン、ファーストアウトのメモリであり、書込みと読み出しが独立に制御される。
画像データ制御部203のデータバスAより入力された画像データは、FIFOメモリ301に入力され、データ演算処理部303が有するPEの数と等しいレジスタ数で構成された入力レジスタ302に128個分の画像データとして56分割して入力される。
FIFOメモリ301より、入力レジスタ302に入力された画像データは、データ演算処理部303、外部メモリインタフェース306に出力される。データ演算処理部303に入力された画像データは、データ演算処理部303にて所定の処理が行なわれ、処理後の画像データが、出力レジスタ304、外部メモリインタフェース306に出力される。
なお、外部メモリインタフェース306には、データ演算処理部303で処理された中間データを出力することも可能な構成となっている。出力レジスタ304は、入力レジスタ302と同様に、データ演算処理部303が有するPE数と等しいレジスタ数で構成されている。
出力レジスタ304の出力画像データは、画像データ1ライン分の容量を有するFIFOメモリ307に入力される。FIFOメモリ307は、書込みと読み出しが独立に制御されるファーストイン、ファーストアウトのメモリである。FIFOメモリ307より出力される画像データ信号は、データバスBを介して画像データ制御部203に出力され、異なる演算処理ユニットに入力される。
さらに、SIMDプロセッサ308及び外部メモリインタフェース306は、図2に示した制御用データバス208に接続された制御プロセッサ305と接続されている。制御プロセッサ305は、データ演算処理部303のPEに対する命令の供給、各PEのステータスの判断、各PEに接続されたメモリ、レジスタへのデータの入出力等の制御及び外部メモリインタフェース部306を制御し、SIMDプロセッサ308の内部メモリやレジスタとワーキングメモリ216間のデータ制御を行なうものである。なお、制御プロセッサ305とSIMDプロセッサ308は互いに異なる処理を独立に実行することが可能である。
次に、SIMD型プロセッサを構成するデータ演算処理部303を含む演算処理ユニット300の概略ブロックを図4を参照して説明する。
図4は、図3に示したデータ演算処理部303の構成を説明するブロック図であり、図3と同一のものには同一の符号を付してある。
図4において、データ演算処理部303は、制御プロセッサ401および制御プロセッサ及びSIMDプロセッサの動作を制御するプログラムが格納されたプログラムメモリ402、データメモリ403より構成される。
404は前記SIMDプロセッサ308を構成する1つのPEを示し、前述したように、本実施形態におけるSIMDプロセッサ308は128個のPE(PE0〜PE127)により構成されている。
図4に示したように、PE0〜PE127のそれぞれのPEは、8ビットの演算ユニット(ALU)405と、8ビットのレジスタを16個有する汎用レジスタ406、ALUの演算動作を実施するか否かを制御するマスクレジスタ407、演算途中のデータを格納するPEレジスタ408、出力レジスタ409、入力レジスタ410、2Kバイトの容量を有するメモリ411から構成される。
ALU405、PEレジスタ408は、隣接するPE間における同一構成要素との接続がなされており、データの入出力が可能な構成となっている。また、出力レジスタ409、入力レジスタ410も隣接するPE間の同一構成要素との接続が行なわれており、128段のシフトレジスタとして動作する。
なお、図3に示した入力レジスタ302、出力レジスタ304に相当するブロックには同一符号を付して図4に示してある。
また、各PEにおけるメモリ411は、外部メモリインタフェース306を介して、データバスCより、ワーキングメモリ216に接続される。
なお、同一PEを構成するALU405、汎用レジスタ406、マスクレジスタ407、PEレジスタ408、出力レジスタ409、入力レジスタ410、メモリ411は、任意のブロック間におけるデータの入出力が可能な構成となっており、例えばメモリ411からPEレジスタ408へのデータ入出力、PEレジスタ408から外部メモリインタフェース306へのデータ入出力が可能な構成となっている。
各PEに対する命令の供給は、制御プロセッサ401より、命令供給バス413を介して各PEに同一内容で与えられ、全てのPEが同一の命令に従った動作を行なうように制御されるが、各PEに与える処理対象のデータを異ならせることにより、各PEが、異なる処理対象データに対する演算処理を並列に行なうように制御される。
例えば、画像データ1ライン中の128画素の内容を各画素ごとにPEレジスタに配置し、同一の命令コ−ドでPEレジスタに対する演算処理をさせれば、1画素ずつ逐次処理するよりも短時間で128画素分の処理結果が得られる。
各PEのALU405における演算結果、および、PEレジスタ408の内容は、隣接するPE間で入出力可能な構成となっていることにより、隣接PEのPEレジスタ408、およびALU405の演算結果を参照した演算処理を各PEで行なうことも可能な構成となっている。
さらに、各PEのメモリ411および、入力レジスタ410、出力レジスタ409、PEレジスタ408、マスクレジスタ407、汎用レジスタ406は、メモリ/レジスタアクセスバス414を介して制御プロセッサ401に接続され、メモリ、および各レジスタデータの入出力が、制御プロセッサ401により制御される。
また、制御プロセッサ401は、制御用データバス208を介して、図2中のシステムコントローラ209と制御データの入出力が可能な構成となっている。さらに、制御プロセッサ401の動作を制御するプログラムメモリ402、およびデータメモリ403は、制御用データバス208を介してシステムコントローラ209よりアクセス可能な構成となっており、システムコントローラ209により、演算処理ユニット300で行なう処理内容に応じて、制御プロセッサ401の動作を制御するプログラムメモリ402の書き換えが可能な構成となっている。
図5は、本発明に係る画像処理装置におけるカラー画像処理構成を説明するブロック図であり、例えばカラー画像処理を5個のSIMDプロセッサを用いて構成した場合に対応する。
図5において、演算処理ユニット300−1は、読み取りユニット201、或いはPDL処理ユニット202から画像データ制御部203を介して送られてくるRGB各8ビットの画像信号をFIFOメモリ301を用いて入力し、該プロセッサを用いて記録の為のYMCK色分解信号を生成すると共に、該プロセッサでは各画素信号に対して黒い文字を構成する画素か否かの判定を行い、作像ユニット205で色ズレが生じても尖鋭な黒い文字として像再生するための黒文字処理に関する属性信号を生成する。なお、216−1〜216−5はワーキングメモリである。
該プロセッサで生成された属性信号と4色の色分解信号は後続の4個のSIMD演算処理ユニット300−2、300−3、300−4、300−5に夫々FIFO307−1、307−2、307−3、307−4、307−5を介して入力される。これら4個のSIMD演算ユニットは夫々入力された一色の色分解信号を、同時に入力する属性信号に応じて処理し、好ましい記録信号を生成する。
図6は、本発明に係る画像処理装置における第1のデータ処理手順の一例を示すフローチャートであり、図5に示した演算処理ユニット300−1で行う処理手順に対応する。なお、(601)〜(610)は各ステップを示す。
まず、入力されるRGB各8ビットの画像信号はPE数に等しい128画素を1バンドとして1ラスタである7168画素分を56バンドに分割して読み込む(601)。
ここで、演算処理ユニット300−1の各PEは画像の各画素位置をRGBに色分解した3色の画像信号を同時に内部メモリに格納し、常に3色に色分解したRGB信号を参照して各種の処理を施す事が可能である。
読み込まれた128画素のRGBデータに対して、特に読み取りユニットから送信された画像信号に対してはセンサを含むアナログ画像信号処理部で発生する直線性歪みを補正する事を目的とする入力γ補正を行い(602)、画像信号に補正を行う。
そして、直線性が補正されたRGB各信号は、用いるカラーセンサの色分解フィルタと光源の分光特性に応じて、より理想的な色分解となる様に入力されたRGB各色の分解信号を夫々他の2色の信号で色補正する入力マスキング処理を施す(603)。なお、入力マスキング処理は、所謂3*3マトリック演算により行われる。
次に、読み取り部で生じる歪みを補正した後、黒色記録信号を生成すると共に該黒色信号でRGB信号の補正を行う下色除去処理を実行する(604)。そして、作像ユニットの色材の特性を考慮して好ましい色再現を可能とすべくシアン、マゼンタ、イエロ、黒夫々8ビットの信号に色分解する出力マスキング処理を行う(605)。
次に、各画素に対して先ず無彩色か否かの判定に基づく黒文字判定処理を実行する(606)。
具体的には、隣接画素との濃度偏差、及び周辺画素との濃度連続性、直線性を判定し、各PEが担当する画素が文字の一部か否かを識別する。
その結果、ビット2は文字か否かを示す1ビット信号、ビット1は無彩色か否かを示す1ビット信号、ビット0は、画像信号がベクタか否かを示し、画像信号が読み取りユニット201から入力された場合とPDL処理部202から入力された場合とを区別する1ビット信号夫々各画素に対して3ビットの属性信号を生成する(607),(608)。
以上の処理を行う事で、入力した128画素のRGB24ビット信号に対して4色の記録信号に色分解した32ビットの画像信号と3ビットの属性信号が得られ、これらの信号を後続のSIMDプロセッサに出力する。
以上、ステップ(601)〜(608)までを入力する128画素を単位として56回繰り返し、1ライン分の処理を終了したかどうかを判断し(609)、最終的には1ラインに相当する7168画素に対する処理が終了する。
そして、このライン処理をA4サイズの場合、4991ラインを処理して1ページの処理が終了しているかどうかが判断できる(610)。1ページの処理が終了していると判断した場合は、上記処理を終了する。
図7は、図5に示したFIFOメモリ301の動作の概要を示すタイミングチャートである。
FIFOメモリ301は、1チャネル1ライン分(7168画素)8ビットの容量を有する3チャネルのラインメモリであり、読取ユニット201が出力するRGBに色分解した原稿画像データに同期したクロックにより、FIFOメモリ301に入力画像データ3色分同時に書き込む。
リードクロックは、画像処理ユニット300−1より出力されるクロックであり、FIFOメモリに128画素分の画像データが書き込まれた後、リード開始(0)のタイミングで128画素分の画像データのリ−ド動作を開始する。
なお、本実施形態では、FIFOメモリ301への書き込みクロック(ライトクロック)が、例えば20MHz、リードクロックは、100MHzと設定されており、ライトクロックに対してリードクロックが高速なものとなっている。
FIFOメモリ301より読み出された画像データは、FIFOメモリ301のリードクロックと同期したシフトクロックにより、図3に示した入力レジスタ302に入力される。入力レジスタ302に128画素分の画像データが入力されると、入力レジスタに入力された128画素分の画像データは、図3において、外部メモリインタフェース306を介してワーキングメモリ216に記憶される。なお、この間も、連続的にFIFOメモリ301には入力画像データの書き込み動作が行なわれている。
さらに、FIFOメモリに256画素分の画像データが書き込まれた後、リード開始(1)のタイミングで128画素分の画像データのリード動作が開始され、上述したのと同様の動作にて、128〜256画素目の画像データが、ワ−キングメモリ216に記憶される。
以上の動作を繰り返し、1ライン7168画素の画像データは、128画素ずつ、56回に分けてワーキングメモリ216に記憶される。さらに、連続するラインの画像データも同様にして、ワーキングメモリ216に128画素単位で記憶される。
なお、FIFOメモリ301のライトクロックに対するリードクロックの速度は、FIFOメモリに入力される画像データを取りこぼしなく、128画素単位で、入力レジスタに入力し、ワーキングメモリ216に転送することが可能な速度であれば、上記速度に限定されるものではない。
次に、SIMD演算ユニット300−1で処理されたCMYK信号と黒文字属性信号をFIFOメモリ307を介してSIMD演算ユニット300−2、300−3、300−4、300−5に入力する際のFIFOメモリ307の動作を、図8を参照して説明する。
図8は、図3に示したFIFOメモリ307の動作を説明するタイミングチャートである。
図8において、70、71、72はレジスタ出力タイミングで、演算処理ユニット300−1の3チャネルの出力レジスタ409を示したものである。レジスタ出力タイミング70はイエロ信号と黒信号を夫々128画素分ずつ交互にFIFOメモリ307−1及びFIFOメモリ307−2に出力する第1チャネルのタイミングを示すものである。
同様に、レジスタ出力タイミング71はシアン信号とマゼンタ信号を夫々128画素分ずつ交互にFIFOメモリ307−3及びFIFOメモリ307−4に出力する第2チャネルのタイミングを示すものである。
レジスタ出力タイミング72は、黒文字処理の為の属性信号を出力する第3チャネルの出力レジスタのタイミングを示すものである。即ちSIMD演算処理ユニット300−1が有する24ビットの出力レジスタは時分割で2色の記録信号を出力する2チャンネルの16ビットとその画像信号に対応する3ビットの属性信号を出力する為に割り当てられる。
FIFOメモリ307は夫々8ビット*1ライン(7168画素)の容量を有する2本のラインメモリで構成されており、一方で8ビットの画像信号と、他方で、3ビットの属性信号を入力する。
入力レジスタタイミング73は、レジスタ出力タイミング70で示されるタイミングでイエロ信号を入力し、演算処理ユニット300−2の入力レジスタに該イエロ信号を出力するFIFOメモリ307−1の動作を示したものである。
FIFOメモリ307−1は同時に、レジスタ出力タイミング72で示されるタイミングで属性信号を入力し、演算処理ユニット300−2の入力レジスタに対してレジスタタイミング74で出力する。
同様にシアン信号と属性信号は、入力レジスタタイミング73、74に従いFIFOメモリ307−3を介して演算処理ユニット300−4に入力する。
又、黒信号とマゼンタ信号、及び属性信号は、入力レジスタタイミング75、76に従いFIFOメモリ307−2、307−4を介して演算処理ユニット300−3及び300−5に入力される。
図9は、本発明に係る画像処理装置における第2のデータ処理手順の一例を示すフローチャートであり、図5に示したCMYK各色信号を入力し、処理して記録信号を生成する4個の演算処理ユニット300−2、300−3、300−4、300−5で行う処理手順に対応する。なお、(611)〜(620)は各ステップを示す。
先に説明した様に、各演算処理ユニットは4色の色分解信号と、各画素に対応する属性信号を夫々128画素単位で入力し(611)、(612)、ステップ(613)で、操作パネル212から操作者の指示に従って濃度調整の為のF値調整、及びカラーバランス調整を行う。
なお、カラーバランス調整は、操作者の指示による為、指示された色信号を担当する演算処理ユニットのみが調整される。
そして、ステップ(614)で、選択された複写モ−ドに従って各色信号を非線形にデータ変換するγ補正を行う。このとき属性信号に従って、黒い文字の一部と判断された画素に対しては、シャープな黒文字を得るためにシャープネスや濃度を黒側に強調し、他の色信号は逆に抑圧する。
なお、強調、抑圧の程度は、処理する画像信号が読み取りユニット201のデータと、PDL処理ユニット202とで異なる。
次に、同様に複写モードと操作者の画質調整キー入力により、エッジを強調するフィルタや、平滑化フィルタを選択的に切り替えて適用する空間フィルタ処理を行う(615)。
なお、フィルタ処理も黒文字属性信号によって、黒文字部は黒信号はよりエッジを強調する方向に適応的に処理する。
次に、ステップ(616)で、擬似中間調処理として、本実施形態では誤差拡散法による2値化処理を行う。そして、2値化した信号は斜め線等で発生するジャギーを補正するスムージング処理が行われる(617)。
以上の処理を128画素毎にSIMDプロセッサで並列処理し、記録信号としてCMYKそれぞれ2値の信号をFIFOメモリ307−5、FIFOメモリ307−6、FIFOメモリ307−7、FIFOメモリ307−8に出力する(618)。
次に、ステップ611からステップ618までを56回繰返して1ライン7168画素に対する処理が終了したかどうかを判断して(619)、NOと判定された場合は、ステップ(611)へ戻り、YESと判定された場合は、4991ラインの処理を行ったかどうか、すなわち、1ページ文の処理を終了したかどうかを判断して(620)、NOと判定された場合には、ステップ(611)へ戻り、YESと判定された場合は、例えばA4サイズの画像データに対する処理を終了する。
図10は、図5に示したFIFOメモリ307−5、FIFOメモリ307−6、FIFOメモリ307−7、FIFOメモリ307−8の動作を示すタイミングチャートである。
図10において、各FIFOメモリへは演算処理ユニット300−2、演算処理ユニット300−3、演算処理ユニット300−4、演算処理ユニット300−5の各出力レジスタ304から128画素毎に出力される。対応するFIFOメモリ307に入力され、各FIFOメモリからの読み出しは1ライン7168画素の記録信号が連続するように図示するリ−ドタイミングに従い画像データ制御部203、メモリ制御部206を介してメモリモジュール207に1ライン毎一旦蓄積する。
本実施形態の作像ユニット205は4色の各作像ユニットを並列に持つ所謂4ドラムエンジンの為、メモリモジュールに一旦蓄積した画像信号は、作像ユニットの構成に従い、所定ライン分遅延させた後、各色の作像ユニットに供給される。
以上説明した様に、本発明は同じSIMDプロセッサを複数個用いたカラーのシステムにおいて、RGB3色信号を入力して4色の記録信号を生成するプロセッサと、該プロセッサからの記録色データを入力し、記録信号を生成する4個のプロッセッサとに処理を分割して担当させる事により、各プロッセッサが処理する演算量を分散させる事となり、一部のプロセッサに負荷が集中してシステムの処理能力が低下する事を避けると共に、色毎に処理を担当する4個のプロセッサは白黒のシステムのそれと、プログラムを略共通に使える事になり、開発効率を高める事が出来る。
また、初段のプロセッサは全てのカラーシステムに共通に流用出来る処理の分担と成っている。
〔第2実施形態〕
先に説明した第1実施形態では、プロセッサで生成された属性信号と4色の色分解信号は後続の4個のSIMD演算処理ユニット300−2、300−3、300−4、300−5に夫々FIFOメモリ307−1、307−2、307−3、307−4を介して入力して処理する場合について説明したが、データ処理速度が遅いシステムの場合、色毎に記録信号を生成する演算処理ユニットは、第1実施形態の半数分、単一のプロセッサで2色分を処理出来る。以下、その実施形態について説明する。
図11は、本発明の第2実施形態を示す画像処理装置の構成を説明するブロック図であり、図5と同一のものには同一の符号を付してある。なお、本実施形態では、記録信号2色分を単一の演算処理ユニットで処理する例である。
図12は、図11に示した画像処理装置の動作を説明するタイミングチャートであり、各演算処理ユニットとそれらに接続されたFIFOメモリに対するデータの転送タイミングに対応する。なお、図8と同一のものには同一の符号を付してある。
また、本実施形態は、図12に示すタイミングチャ−トにおいて102で示す属性データの出力に関するものである。
即ち、時分割で夫々Y、K2色の信号を出力する際に略同じタイミングで属性信号を2回出力する。即ち演算処理ユニット300−1で処理されたCMYK4色信号と黒文字処理の為の属性信号は演算処理ユニット300−1が有する3チャネルの出力レジスタを用いて、図12に示す出力レジスタタイミング70および出力レジスタタイミング71で示す様に、第1,第2チャネルカラーは、先ず128画素分のY信号及びC信号を演算処理ユニット902−1及び演算処理ユニット902−2の入力レジスタに接続されたFIFOメモリ901−1及びFIFOメモリ901−2に同時に入力すると共に、演算処理ユニット300−1の第3チャネルカラーは、図12に示す出力レジスタタイミング102で示す様に、該128画素のデータに対する黒文字属性信号を前記FIFOメモリ901−1及びFIFOメモリ901−2に同時に入力する。
即ち、FIFOメモリ901−1は128画素分のY信号と該信号に対する属性信号を同時に入力し、FIFOメモリ901−2は、128画素分のC信号と該信号に対する属性信号を同時に入力する。
次に、図12に示す出力レジスタタイミング70および出力レジスタタイミング71で示す様に第1,第2チャネルカラーは、128画素分のK信号及びM信号を演算処理ユニット902−1及び演算処理ユニット902−2の入力レジスタに接続されたFIFOメモリ901−1及びFIFOメモリ901−2に同時に入力すると共に、演算処理ユニット300−1の第3チャネルカラーは、図12に示す出力レジスタタイミング102で示す様に、該128画素のデータに対する黒文字属性信号を再度前記FIFOメモリ901−1及びFIFOメモリ901−2に同時に入力する。
これにより、FIFOメモリ901−1は、128画素分のK信号と該信号に対する属性信号を同時に入力し、FIFOメモリ901−2は、128画素分のM信号と該信号に対する属性信号を同時に入力出来る。
なお、FIFOメモリ901−1,演算処理ユニット902−1へは、図12に示す入力レジスタタイミング100,74で示す様に、Y信号,K信号及び黒文字処理の為の属性信号を128画素単位で演算処理ユニット902−1の入力レジスタに入力する。
同様に、FIFOメモリ901−2,カラー演算処理ユニット902−2へは図12に示す入力レジスタタイミング101,76で示す様にC信号M信号及び黒文字処理の為の属性信号を128画素単位で演算処理ユニット902−2の入力レジスタに入力する。
図13は、本発明に係る画像処理装置における第3のデータ処理手順の一例を示すフローチャートであり、図11に示した演算処理ユニット902−1,902−2のデータ処理手順に対応する。なお、(901)〜(908)は各ステップを示す。
まず、ステップ(901)で、処理すべき128画素単位の画像信号と属性信号を内部レジスタに入力するステップで演算処理ユニット902−1はY信号と属性信号を、演算処理ユニット902−2はC信号と属性信号を入力する。そして、ステップ(902)で、先に説明した図9に示したステップ(613)によるカラーバランス調整からスムージング処理(617)を纏めたステップとして、夫々の色信号に対して記録信号を生成する処理を実行する。
そして、処理されたY記録信号及びC記録信号は、ステップ(903)で、夫々の演算処理ユニットに接続されたFIFOメモリ904−1及びFIFOメモリ904−2に出力する。
次に、ステップ(904)で、両演算処理ユニットは第2色目のK及びM画像信号及び黒文字処理の為の属性信号を入力する。そして、ステップ(905)で、同様にK信号及びM信号に対する記録信号生成の為の処理(図9に示すステップ(902)であって、詳細は、図9に示したステップ(613)によるカラーバランス調整からスムージング処理(617)を纏めたステップ)を実行して、ステップ(906)で、両記録信号をFIFOメモリ904−1及びFIFOメモリ904−2に出力する。
次に、ステップ(907)で、ステップ(901)〜(906)までの処理を1ラインに対し56回実行したかどうかを判断して、NOと判断された場合は、ステップ(901)へ戻る。
一方、ステップ(907)で、1ラインに対し56回実行したと判断した場合には、さらに、4991ライン分の処理を行って、1ページ分の処理が終了したかどうかを判断して(908)で、終了していないと判断した場合は、ステップ(901)へ戻る。
一方、ステップ(908)で、1ページ分の処理が終了していると判断した場合は、例えばA4サイズの画像全体の処理が終了する。
なお、ステップ(903),(906)で行う記録信号の出力は夫々の演算処理ユニットが有する出力レジスタを2チャンネル用いて行えば、先に説明した図10に示したタイミングと同じタイミングになる。
以上、第2実施形態では、4ドラムを用いたカラーシステムの記録速度が用いる演算処理ユニットの処理能力に比べて遅い場合に対しては、演算処理ユニットが先の第1実施形態に対して2組削減出来、コスト的にメリットのある画像処理装置を提供できる効果が得られる。
〔第3実施形態〕
上記第1及び第2実施形態では、画像処理装置が、例えばドラムを用いて略同時に4色の記録が可能な高速なカラーシステムとして構成される場合を例として、5組又は3組のSIMDプロセッサを用いて画像処理する場合について説明したが、カラーシステムの中には、1組の作像系と転写ベルト等を用いて作像系が一色ずつCMYK面順次に動作し色面毎に像を形成し、転写ベルト上で4色のトナ−像を重ね、記録紙上に最終的に転写する所謂1ドラム系のシステムがある。このような1ドラム系のシステムに本発明を適用することも可能である。以下、その実施形態について説明する。本実施形態の場合は、2組のSIMDプロセッサを用いて安価に演算処理部を構成することが出来る。
図14は、本発明の第3実施形態を示す画像処理装置の構成を説明するブロック図であり、図5と同一のものには同一の符号を付してある。
図14において、演算処理ユニット110は前述の演算処理ユニット300−1と同様にRGB画像データを入力し、CMYK4色信号を生成すると共に黒文字処理の為の属性信号を作る。以下、図15に示すフローチャートを参照して、演算処理ユニット110の画像処理動作について説明する。
図15は、本発明に係る画像処理装置における第4のデータ処理手順の一例を示すフローチャートであり、演算処理ユニット110の画像処理手順に対応する。なお、(1200)〜(1205)は各ステップを示す。
先ず、ステップ(1200)で、図2に示した読み取りユニット201或いはPDL処理ユニット202から転送されるRGB信号を内部レジスタに入力すると共に、該RGBデータは詳説しないデータ圧縮部でJPEG符号化されメモリモジュール207に一旦記憶保持する。
そして、ステップ(1201)で、図6に示したステップ(602)〜(606)の一連のステップからなる色信号処理を実行する。なお、ステップ(1201)が図6に示したステップと異なる点は、図6のステップ(605)における出力マスキング処理では、入力されたRGBデータカラーCMYK4色の信号に変換したが、本実施形態ではシアン、マゼンタ、イエロ、黒の順に作像プロセスが実行される為先ずシアン信号のみを生成する点である。
従って、ステップ(1202)では、生成されたC信号と黒文字属性信号を128画素単位で演算処理ユニット110に接続されたFIFOメモリ111に出力する。
そして、ステップ(1203)で、1ラスタのデータ転送終了を判定して、1ラスタのデータ転送を終了していないと判断した場合は、ステップ(1200)へ戻る。
一方、ステップ(1203)で、1ラスタのデータ転送を終了していると判断した場合は、ステップ(1204)で、1ページのデータ転送終了を判定して、1ページのデータ転送を終了していないと判断した場合は、ステップ(1200)へ戻る。
一方、ステップ(1204)で、1ページのデータ転送を終了していると判断した場合は、ステップ(1205)で、4色のデータ転送終了を判定する。4色のデータ転送が終了していないと判断した場合は、ステップ(1200)へ戻る。
一方、ステップ(1205)で、4色のデータ転送が終了していると判断した場合は、処理を終了する。
このように、ステップ(1204)で、例えばシアン信号をA4サイズ分生成した事を確認して、再度ステップ1201へ戻る。そして、2色目のマゼンタ信号を生成する為のRGB信号は、先に圧縮しメモリモジュール207に格納した1ページ分のRGB画像データを図示しない伸長部で圧縮したRGBデータをラスタデータに変換してFIFOメモリ301を介して演算処理ユニット110に入力する。
つまり色面順次にCMYK信号を生成し、各色信号を生成する際に黒文字判定を行う為、少なくとも入力されるRGB画像データは同一の信号であることが望ましい。
従って、本実施形態では記録信号をメモリモジュールに保持せず、RGBデータとして1枚の画像データを記憶保持する。
また、マゼンタ信号に対してもシアン信号生成と全く同じ、ステップ(1201)を実行し、ステップ(1202)でマゼンタ信号と黒文字属性信号を128画素単位で演算処理ユニット110に接続されたFIFOメモリ111に出力する。
このようにしてイエロ信号と黒文字属性信号、黒信号と黒文字属性信号を順次128画素単位で演算処理ユニット110に接続されたFIFOメモリ111に出力して1ページの処理が終了する。
なお、各色信号を生成すると共に得られる黒文字判定信号は略同じ属性信号を出力する事になる。
また、詳説しないが、8ビットの色信号と3ビットの属性信号は演算処理ユニット110の出力レジスタの2チャンネルを使って並列にFIFOメモリ111に出力され、FIFOメモリ111に接続された演算処理ユニット113は該FIFOメモリ111から記録信号と属性信号を128画素単位で並列に入力する。
図16は、本発明に係る画像処理装置における第5のデータ処理手順の一例を示すフローチャートであり、演算処理ユニット113の画像処理手順に対応する。なお、(1210)〜(1215)は各ステップを示す。
まず、ステップ(1210)で、シアン信号と属性信号を内部レジスタに入力し、図9に示したステップ(613)〜(617)の一連の記録信号生成処理を実行して(1211)、ステップ(1212)で、シアン記録信号をFIFOメモリ114に出力する。
そして、出力された記録信号は、図10に示したタイミングと同様にして1ライン7168画素が連続するラスタ信号として作像ユニット205のシアン作像部に入力される。
このようにして、ステップ(1212)で、シアン記録信号生成の処理が終了したら、1ラスタのデータ処理が終了したかどうかを判断する。1ラスタのデータ処理が終了していないと判断した場合は、ステップ(1210)へ戻る。
一方、ステップ(1213)で、1ラスタのデータ処理が終了していると判断した場合は、次のマゼンタ信号を同様にして生成し、作像ユニット205のマゼンタ作像部に出力する。
そして、ステップ(1214)で、1ページのデータ転送の終了を判断し、1ページのデータ転送を終了していないと判断した場合は、ステップ(1210)へ戻る。
一方、ステップ(1214)で、1ページのデータ転送を終了していると判断した場合は、ステップ(1215)で、4色のデータ転送終了を判定する。4色のデータ転送が終了していないと判断した場合は、ステップ(1210)へ戻る。
一方、ステップ(1215)で、4色のデータ転送が終了していると判断した場合は、処理を終了する。
このようにして、イエロ信号、黒信号の順に4色の記録信号を生成して処理が終了する。
上記実施形態によれば、第1の演算処理手段でRGB信号からCMYK信号と黒文字判定処理までを担当する事で1ドラム、4ドラム両システムに第1の演算処理手段の流用を可能とすると共に、色分解したCMYK信号を独立に第2の演算処理手段で担当する事によって第2の演算処理手段を白黒システムに対しても流用可能となる。
以下、図17に示すメモリマップを参照して本発明に係る画像処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
図17は、本発明に係る画像処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図6,図9,図13,図15,図16に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。