図1は、実施例1に係るデジタル式のフルカラー画像形成装置の概略構成を示したブロック図である。図1のフルカラー画像形成装置100は、スキャナ1、スキャナ補正部2、圧縮処理部3、コントローラ4、HDD(Hard Disk Drive)5、NIC(Network Interface Card)6、伸張処理部7、プリンタ補正部8、プロッタ9及び汎用バス10から構成される。原稿読取手段であるスキャナ1は、原稿11からR、G及びBに色分解した画像データを読み取り、当該画像データ(アナログ信号)をデジタルデータに変換する。スキャナ補正部2は、スキャナ1で読み取ったRGB画像データ(デジタルデータ)に対してγ補正を行うスキャナγ補正処理、画像領域を文字、線画若しくは絵柄等に分類する像域分離処理、又は、画像における文字部の強調若しくは絵柄部の平滑化のためのフィルタ処理等の画像処理を行う。圧縮処理部3は、スキャナ補正後の多値画像データを圧縮処理して汎用バス10を介してデータをコントローラ4に送出する。コントローラ4は、半導体メモリ(図示せず。)等を有し、圧縮処理部3から送出された画像データを当該メモリに一時的に蓄積する等の制御を行う。また、コントローラ4は、画像データのフォーマット処理を実行し、JPEG(Joint Photographic Experts Group)、TIFF(Tag Image File Format)又はBMP(Bit MaP)等の汎用画像フォーマットへの変換を行う。HDD5は、半導体メモリに一時的に蓄積された画像データを随時記憶する。これは、プリントアウト時に用紙が詰まる等、出力が正常に終了しなかった場合にも再度原稿を読み取ることなく出力できるようにしたり、複数の原稿の画像データを並び替えたりする電子ソートを実行できるようにしたり、或いは、既に読み取った原稿の画像データを蓄積しておいて必要なときに再出力できるようにしたりするためである。なお、圧縮処理部3は画像データを圧縮するとしたが、汎用バス10の帯域が十分に広く、画像データを記憶するHDD5の容量が十分大きい場合には、画像データを非圧縮の状態で扱ってもよい。また、コントローラ4は、汎用バス10を介してHDD5にある画像データを伸張処理部7に送出する。NIC6は、画像データを外部PC端末12に配信する。NIC6は、画像形成装置100がネットワークを介して外部PC端末12に画像データを配信する配信スキャナとして動作する場合等に利用される。伸張処理部7は、圧縮されている画像データを元の多値画像データに伸張し、プリンタ補正部8に送出する。プリンタ補正部8は、プリンタγ補正処理、階調処理、プロッタ9の明暗特性の補正処理、並びに、プロッタ9の階調特性、像域分離結果に応じた誤差拡散処理及びディザ処理等による画像データの量子化を行う。プロッタ9は、レーザービーム書き込みプロセスを用いた転写紙印字ユニットであり、画像データを感光体に潜像として描画し、トナーによる作像及び転写処理の後、転写紙にコピー画像13を形成する。
図2は、スキャナ補正部2の構成例を示す図である。スキャナ補正部2は、スキャナγ補正部20、像域分離部21、フィルタ処理部22、色補正部23及び変倍処理部24から構成される。スキャナγ補正部20は、スキャナ1によるRGB画像データのデジタル値を明度に比例するデジタル値に変換する。像域分離部21は、原稿11の画像領域(像域)が文字領域、網点文字領域又は絵柄領域等の何れであるかを判定する。フィルタ処理部21は、像域分離の結果に基づいて画像データに鮮鋭化処理又は平滑化処理等を行う。色補正部23は、RGBに色分解された画像データを、異なる色空間であるC、M、Y、Bkの記録色情報を含むカラー画像データに変換する。変倍処理部24は、入力する画像データの主走査方向の大きさを拡大又は縮小して画像データを出力する。また、像域分離部21は、原稿11が有彩原稿であるか否かの判定結果である2値信号yusaiを出力する。yusai信号は、図1のコントローラ4に送信され、yusaiの値が「1」の場合、コントローラ4は、プロッタ9に対しCMYBkの4色の版で作像を行うように命令し、yusaiの値が「0」の場合、コントローラ4は、プロッタ9に対しBk版のみで作像を行うように命令する。
図3は、プリンタ補正部8の構成例を示す図である。プリンタ補正部8は、プリンタγ補正部30及び階調処理部31から構成される。プリンタγ補正部30は、伸張処理部7を経たCMYBkの画像データに対してプロッタ9の周波数特性に応じたγ補正を実行する。階調処理部31は、ディザ処理、誤差拡散処理等の量子化を実行する。また、プリンタ補正部8は、プロッタ9に対しC、M、Y、Bkを補正した信号C’’、M’’、Y’’、Bk’’を出力する。
図4は、画像処理装置である像域処理部21の構成例を示す図である。像域処理部21は、フィルタ部40、色判定部41、白領域抽出部42、エッジ抽出部43、網点分離部44及び総合判定部45から構成される。
フィルタ部40は、主に文字のエッジ抽出のために、スキャナ1が生成するG画像データを補正する。ここで、スキャナ1で読み取った画像データは、レンズなどの性能により鮮明でない場合があるので、エッジ強調フィルタを適用する。但し、ここでは、単純に原稿上のエッジだけを強調し、複写機に広く普及している階調表現のための万線パターンを強調しないようにする必要がある。万線パターンを強調してしまうと、絵柄(万線パターンによる階調表現領域)をエッジとして抽出して、最終的に文字エッジと誤判定する可能性があるからである。また、図8に示すように、600dpiの万線パターンAと400dpiの万線パターンBは、繰返し周期が異なるので、同一のフィルタ係数で強調しないようにするのは難しい。そのため、画像パターンの周期を検出して、フィルタの係数を切換える。なお、図8において、主走査方向xの白1ブロック幅とそれに接する黒1ブロック幅との和が、万線ピッチ(定幅:所定数の画素)即ち万線周期であり、低濃度中間調のときには白ブロック幅が広くなり、黒ブロック幅が狭くなる。高濃度中間調になるにつれて、白ブロック幅が狭くなり、黒ブロック幅が広くなる。
この実施例では、フィルタ部40の画素マトリクスを、主走査方向xの画素数7、副走査方向y(スキャナ1の機械的な原稿走査方向)の画素数5の7×5画素マトリクスとして、図4上のフィルタ部40のブロックに示すように、各画素宛てに各重み付け係数a1乃至a7、b1乃至b7、c1乃至c7、d1乃至d7、e1乃至e7を宛てた2組の係数グループ(係数マトリクス)A、Bがある。次の係数グループAは、図8の600dpiの万線パターンAの強調を抑制しながら、文字のエッジを強調するフィルタ処理用の係数であり、係数グループBは、図8の400dpiの万線パターンBの強調を抑制しながら、文字のエッジを強調するフィルタ処理用の係数である。
フィルタ処理とは、係数グループA又はBとの演算結果を16で除して注目画素の値を加える処理をいう。これにより、画像データを強調する。係数グループAは、
なお、横方向が主走査方向xの並び、縦方向が副走査方向yの並びである。係数グループA、Bのグループ内第1行の係数が、図4上のフィルタ部40の係数マトリクスの、第1行の係数a1乃至a7であり、係数グループA、Bの第3行の中央の「20」が、フィルタ部40のブロックの係数マトリクスの第3行c1乃至c7の中央の画素の係数即ち注目画素の係数c4である。係数マトリクスの各係数に、それに宛てられる画素の画像データが表す値を乗算した積(総計7×5=35個)の総和(積和値)が、注目画素(c4が宛てられた画素)における、フィルタ部40で処理した画像データ値として、エッジ抽出部43及び白領域抽出部42に与えられる。ここで注目画素とは、現在処理対象の画素であり、それがx方向にそしてy方向に推移しながら順次更新される。
係数グループAは、図8に示す600dpiの万線パターンAの万線ピッチに相当する部分に負の係数(小さい値の係数)が宛てられ、それらの間に0(やや大きい値の係数)が宛てられ、エッジ強調のために注目画素には20(極めて大きな係数)が宛てられている。これにより、画像データ(注目画素)が万線パターンAの領域の黒/白間エッジであるときには、導出される加重平均値(積和値)は、万線パターンAでない文字エッジであるときに比べてかなり低い値になる。
係数グループBは、図8に示す400dpiの万線パターンBの万線ピッチに相当する部分に負の係数(小さい値の係数)が宛てられ、それらの間に0(やや大きい値の係数)が宛てられ、エッジ強調のために注目画素には20(極めて大きな係数)が宛てられている。これにより、画像データ(注目画素)が万線パターンBの領域の黒/白間エッジであるときには、導出される加重平均値(積和値)は、万線パターンBでない文字エッジであるときに比べてかなり低い値になる。
なお、フィルタ部40では、下記条件1、2のどちらかが成立したとき、即ち、図8の400dpiの万線パターンBである可能性が高いときに、係数グループBによるフィルタ処理を行い、そうでないときに係数グループAによるフィルタ処理を行う。条件1〔400dpi系の万線パターンBの薄いところ(図8上の白区間)を判定する条件〕は、(D[3][1]<D[3][2])&(D[3][7]<D[3][6])&(ABS(D[3][2]−D[3][4])>ABS(D[3][4]−D[3][1]))&(ABS(D[3][6]−D[3][4])>ABS(D[3][4]−D[3][7]))であり、条件2〔400dpi系の万線パターンBの濃いところ(図8上の黒区間)を判定する条件〕は、(D[3][1]>D[3][2])&(D[3][7]>D[3][6])&(ABS(D[3][2]− D[3][4])>ABS(D[3][4]−D[3][1]))&(ABS(D[3][6]−D[3][4])>ABS(D[3][4]−D[3][7]))である。なお、D[i][j]は、x、y分布の画素マトリクス上の、x=i、y=jの位置の画素の画像データが表す値を意味し、例えば、D[3][1]は、図4上のフィルタ部40のブロックに示す係数マトリクスの係数a3が宛てられる画素の画像データが表す値である。「&」は「論理積:AND」を意味し、「ABS」は、絶対値演算子を意味する。注目画素は、D[4][3]である。
条件1又は2が成立すると、その時の注目画素が、図8に示す600dpi読み取り時の400dpiの万線パターンBの領域のものであると見なして、係数グループBを用いて文字エッジ強調のフィルタ処理を行う。条件1及び2のいずれも成立しないと、図8に示す600dpi読み取り時の600dpiの万線パターンAが強調されるのを避ける係数グループAを用いて文字エッジ強調のフィルタ処理を行う。即ち、画像周期(ピッチ)を検出して、特定周期の画像パターンを強調しないようにしている。これにより、万線パターンを強調せずに、文字のエッジを強調することが可能となる。なお、図4には、エッジ処理にG画像データを参照する態様を示すが、G画像データに限らず、輝度データであってもよい。濃度を表現する信号なら適応可能である。
エッジ抽出部43は、文字エッジを検出する手段であり、3値化部431、黒画素連続検出部432、白画素連続検出部433、近傍画素検出部434及び孤立点除去部435で構成される。文字エッジ部は、高レベル濃度の画素と低レベル濃度の画素(以下、それぞれ「黒画素」、「白画素」という。)が多く、かつ、これらの黒画素及び白画素が連続している。エッジ抽出部43は、このような黒画素及び白画素それぞれの連続性に基づいて文字エッジを検出する。
3値化部431は、2種の閾値TH1及びTH2を用いて、フィルタ部40が文字エッジ強調のフィルタ処理をしたG画像データ(エッジ抽出部43の入力データ)を3値化する。閾値TH1及びTH2は、例えば、画像データが0から255までの256階調(0=白)を表す場合、例えばTH1=20、TH2=80に設定する。3値化部431は、入力データ<TH1の場合、白画素を表す3値化データに入力データを変換し、TH1≦入力データ<TH2の場合、中間調画素を表す3値化データに入力データを変換し、TH2≦入力データの場合、黒画素を表す3値化データに入力データを変換する。
黒画素連続検出部432及び白画素連続検出部433は、3値化データに基づいて黒画素が連続する箇所及び白画素が連続する箇所を、それぞれパターンマッチングにより検出する。このパターンマッチングには、本実施例では、図9に示す3×3画素マトリクスのパターンBPa乃至BPd及びWPa乃至WPdを用いる。なお、これらパターンは、画像形成装置100のHDD5や図示しないRAM(Random Access Memory)、NVRAM(Non−Volatile RAM)、ROM(Read Only Memory)等の記憶装置に記憶されている。後述の他のパターンについても同様である。図9に示すパターンにおいて、黒丸は前述の黒画素であることを示し、白丸は前述の白画素であることを示し、いずれの丸印もない空白画素は、黒画素、中間調画素、白画素のいずれであるか問わないものであることを示す。3×3画素マトリクスの中心の画素が注目画素である。
黒画素連続検出部432は、3値化データの内容の分布が、図9に示す黒画素分布パターンBPa乃至BPdのいずれかにマッチングすると、その時の注目画素を「黒連続画素」としてそれを表すデータを該注目画素に与える。同様に、白画素連続検出部433は、図9に示す白画素分布パターンWPa乃至WPdのいずれかにマッチングすると、その時の注目画素を「白連続画素」としてそれをあらわすデータを該注目画素に与える。
近傍画素検出部434は、黒画素連続検出部432及び白画素連続検出部433の検出結果について、この近傍画素検出部434における注目画素の近傍に黒連続画素又は白連続画素があるか否かを調べることにより、該注目画素が、エッジ領域と非エッジ領域のいずれにあるかを判定する。より具体的には、本実施例にあっては、5×5画素マトリクスのブロックで、その内部に黒連続画素と白連続画素がそれぞれ1つ以上存在するときに、そのブロックをエッジ領域と判定し、そうでないときに、そのブロックを非エッジ領域と判定する。
孤立点除去部435は、孤立しているエッジを非エッジ領域に補正する。文字エッジは連続して存在するからである。そして、孤立点除去部435は、エッジ領域と判定した画素に対して“1”(エッジ領域)なるedge信号を出力し、非エッジ領域と判定した画素に対して“0”(非エッジ領域)なるedge信号を出力する。
白領域抽出部42は、図21に示すように2値化部4201、RGB白抽出部4202、白判定部4203、白パターンマッチング部4204、白パターン補正部4205、白膨張部4206、白収縮部4207、白補正部4208、グレーパターンマッチング部4209、グレー膨張部4210及び判定部4211から構成される。なお、図4における白領域抽出部42は図21における白領域抽出部42に対応する。
2値化部4201は、フィルタ部40の画像濃度データ(G画像データ)のエッジ強調出力を、閾値thwsbで2値化する。なお、エッジ強調出力は、この実施例では0から255の256階調であり、0が濃度の無い白であり、閾値thwsbの一例は50であって、エッジ強調出力の値がthwsb=50より小さければ、2値化部4201が「2値化白」と判定し、2値化白判定信号「1」を生成する。エッジ強調出力の値がthwsb=50以上のときは2値化白判定信号「0」を生成する。
RGB白抽出部4202は、グレー画素検出部4212、色地検出部4213及びRGB白地検出部4214から構成される。RGB白抽出部4202は、画像データが白領域かグレー領域(中濃度領域)かを判定する。
RGB白地検出部4213は、R、G、B画像データで白地領域を検出することにより、白背景分離の動作をアクティブにする。即ち白背景分離の処理を起動する。具体的には、図10のパターンWBPに示すように、3×3画素マトリックスのR、G、B画像データのすべてが閾値thwssより小さければ、注目画素(3×3画素マトリックスの中心画素)を白領域と判定して白地判定信号をアクティブ「1」にする。これは、ある程度の広がりの白画素領域があるか否かを検出するものである。なお、R、G、B画像データのそれぞれも、この実施例では0から255の256階調であり、0が濃度の無い基底レベルであり、閾値thwss<thwsbであって、thwssは例えば40であり、R、G、B画像データのすべてがthwss=40より小さいと、「白地」と判定し白地判定信号「1」を生成する。R、G、B画像データのいずれかがthwss=40以上のときは白地判定信号「0」を生成する。
色地検出部4213は、薄い色を白背景と判定しないようにするために、以下のパターンマッチングA乃至Dにより色地を検出する。
A.最初に、注目画素を中心とする5×5画素マトリックスの各画素の符号を、図11のパターンMPpに示すものとすると、注目画素となる中心画素c3(MCa乃至MCdの×印画素)のRGB差(1画素宛てのR、G、B画像データの最大値と最小値との差)が閾値thcより大きいときに色画素判定信号aを「1」(色画素)とし、閾値thc以下のときに「0」(白黒画素)とする。
B.注目画素の片側の周辺画素群△(図11のMCa乃至MCdの中)のいずれかの画素のR、G、B画像データがすべて閾値thwc以下であるときに、一方側白判定信号bを「1」(白画素)とし、閾値thwcを超えるときに「0」(非白画素)とする。閾値thwcは例えば20である。
C.注目画素の他方側の周辺画素群□(図11のMCa乃至MCdの中)のいずれかの画素のR、G、B画像データがすべて閾値thwc以下であるときに、他方側白判定信号cを「1」(白画素)とし、閾値thwcを超えるときに「0」(非白画素)とする。
D.図11のパターンMCa乃至MCdのいずれかにおいて、aAND(bXNORc)=「1」が成立すると、即ち、aが「1」(注目画素が色画素)で、かつ、bとcとが一致(注目画素の両側ともに白画素、又は、両側ともに非白画素)するとき、注目画素宛ての色地判定信号dを「1」(色地)とする。
前述のパターンマッチングA乃至Dを行うのは、黒文字のまわりがRGB読取り位置ずれでわずかながらに色付きになるときであっても、そこを色であると認識しないようにするためである。黒文字のまわりの色付きの位置では、bXNORc(bとcとの排他的否定論理和)が「0」(注目画素の両側の一方が白画素、他方が非白画素)となり、この場合は、色地判定信号dが「0」(非色地)となる。加えて、注目画素が、周辺を白地で囲まれた色画素のときには、色地判定信号dが「1」(色地)となり、線が込み入ったところでも、薄い色画素を色地として検出することができる。即ち、線が込み入ったところでは、本来白いところであっても完全に白であると読み取られることはないが、前述の処理A.でRGB差が小さい場合には色画素であると判定されないので、濃度を見るべき白地よりも厳しく閾値thwcを設定(たとえばthwss=40、thwsb=50に対し、thwc=20)することにより、B乃至Dの処理で白背景か否を厳密にチェックし、薄い色画素を色地として正確に検出することができるようにする。
なお、色地検出に際し、谷白画素検出を行う場合もある。谷白画素検出は、RGB白地検出部4214で検出できない小さな白領域の谷白画素を図10に示すG画像データの5×5画素マトリクス分布RDPa及びRDPbに基づいて検出する。具体的には、5×5画素マトリクス分布RDPaに基づいて、miny=min(G[1][2]、G[1][3]、G[1][4]、G[5][2]、G[5][3]、G[5][4])を算出する。即ち、図10に示す5×5画素マトリクス分布RDPaの、黒丸を付した画素群の中の最低濃度minyを導出する。また、maxy=max(G[3][2]、G[3][3]、G[3][4])により、図10に示す5×5画素マトリクス分布RDPaの、白丸を付した画素群の中の最高濃度maxyを導出する。次に、mint=min(G[2][1]、G[3][1]、G[4][1]、G[2][5]、G[3][5]、G[4][5])により、図10に示すもう1つの5×5画素マトリクス分布RDPbの、黒丸を付した画素群の中の最低濃度mintを導出する。そして、maxt=max(G[2][3]、G[3][3]、G[4][3])により、図10に示す5×5画素マトリクス分布RDPbの、白丸を付した画素群の中の最高濃度maxtを導出する。ここで、min()は最小値を検出する関数であり、max()は、最大値を検出する関数である。次に、OUT=((miny−maxy)>0)#((mint−maxt)>0)により、(miny−maxy)と(mint−maxt)とのうち、正値であって大きいほうの値を谷検出値OUTとして導出し、このOUTの値がある閾値以上であるときに、注目画素(RDPa又はRDPbの中心画素)を谷白画素として検出する。このように画像の谷状態を検出して、RGB白地検出部4214では、検出しにくいところを補う。なお、#は論理和(オア:又は)を意味する。
白判定部4203は、白判定に用いる状態変数MS、SS[I]の更新を行う。その内容を図5のフローチャートに示す。ここで、状態変数MSは処理対象ライン(注目ライン)の画素宛てのもの、状態変数SS[I]は処理対象ラインの1ライン前(処理済ライン)の画素宛てのものであり、いずれも白地の白の程度を表す4ビットの白地情報であり、図5のフローチャートに示す処理によって生成されるものである。状態変数MS及びSS[I]が表す値の最高値は15に定めており、これが最も白い程度を意味し、最低値は0である。即ち状態変数MS及びSS[I]は、白の程度を示すデータであり、それを表す値が大きいほど、強い白を意味する。複写動作開始時に、状態変数MS及びSS[I]は共に0に初期化される。
図5の処理においてはまず、処理対象である注目画素の1ライン前の状態変数即ち白地情報SS[I]と注目画素の同一ライン上の1画素前の画素(先行画素:処理済画素)の状態変数即ち白地情報MSとを比較して(ステップS1)、1ライン前の白地情報SS[I]の方が大きければ、それを注目画素の仮の白地情報MSとする(ステップS2)。そうでない場合には、先行画素の状態変数MSを注目画素の仮の白地情報MSとする。これは、周辺画素の白地情報のうち、より白に近い情報を選択することを意味する。
複写動作を開始してから、RGB白地検出部4214で白領域即ち白地を検出すると〔RGB白地検出部4214の出力である白地判定信号=「1」〕、注目画素の1ライン前の画素の白地情報SS[I]を15に更新し(ステップS3、4)、注目画素の白地情報MSの値も15とする(ステップS5)。そして、注目画素の白地情報MSは、図12に示すラインメモリLMPの現ライン(注目ライン)用のラインメモリの注目画素の主走査位置(F)に書き込まれ、1ライン前の画素宛ての白地情報SS[I]は、図12に示すラインメモリLMPの前1ライン用のラインメモリの注目画素の主走査位置(F)に書き込まれる(ステップS3、4、5)。次に、1ライン前の画素宛ての白地情報SS[I]を、1ライン前の画素に、次のように伝搬させる(ステップS14乃至17)。なお、[I]は注目画素の主走査位置を意味し、[I−1]は主走査方向xでそれより1画素前の画素(注目画素の直前の画素)の位置を意味する。
SS[I−1]<SS[I]−1の場合、SS[I−1]=SS[I]−1をラインメモリにセットする(ステップS14、15)。即ち、注目画素より1ライン前のラインにおいて、主走査方向で注目画素の位置(F)より1画素前(E)の白地情報SS[I−1]よりも、注目画素の位置(F)の白地情報SS[I]から1を減算した値「SS[I]−1」のほうが大きい(白程度が強い)とき、1ライン前のライン上の注目画素の位置(F)より1画素前の画素(E)宛ての白地情報SS[I−1]を、注目画素の位置(F)の白地情報SS[I]より1だけ白強度を下げた値に更新する。
次に、SS[I−2]<SS[I]−2の場合、SS[I−2]=SS[I]−2をラインメモリにセットする(ステップS16、17−14、15)。次に、SS[I−3]<SS[I]−3のとき、SS[I−3]=SS[I]−3をラインメモリにセットする(ステップS16、17−14、15)。
以下同様にして、最後に、SS[I−15]<SS[I]−15の場合、SS[I−15]=SS[I]−15をラインメモリにセットする(ステップS16、17−14、15)。これらの白地情報SS[I]の値の下限値MINは0であり、0未満になるときには、0とする。これは後述のステップS13においても同様である。
これらのステップ14乃至17の処理により、1ライン前であり、かつ、注目画素の主走査位置より前の白地情報SSが、注目画素の白地情報MSを、それから主走査方向xの1画素の位置ずれにつき1の低減率で下げた値に更新され、注目画素の白地情報が1ライン前の主走査方向xで主走査の後方に、前記低減率で伝搬する(白伝搬処理)。但しこれは、1ライン前の白地情報のほうが小さい値である場合である。例えば、1ライン前の画素が、RGB白地検出部4214で白地(白領域)であると検出されたときにはその白地情報は15であって最高値であるので書換えは行われない。
注目画素を更新してそれが白地でないものになると〔RGB白地検出部4214の出力である白地判定信号=「0」〕、ステップS3からステップS6以下に進み、注目画素が、色地〔色地検出部4213の出力である色地判定信号d=「1」〕でなく(非色地であり)、2値化白〔2値化部4201の出力である2値化白判定信号=「1」〕であり、しかも、ステップ1、2で仮に定めた注目画素の状態変数即ち白地情報MSが閾値thw1(例えば13)以上である場合には、注目画素宛ての白地情報MSに1を加える(ステップS6乃至10)。即ち、1だけ白程度が強い値に更新する。白地情報MSの最高値は15に定めており、15を超えるときには15とする(ステップS9、10)。この経路を進んできたときにも、前述のステップS5及びS14乃至S17を実行する。即ち、白伝搬処理を行う。
注目画素が非色地かつ2値化白ではあるが、白地情報MSがthw1(例えば7)未満、thw2(例えば1)以上であり、かつ、谷白画素である場合には、状態変数MSをそのままの値に保持する(ステップS8、11、12)。この経路を進んできたときにも、前述のステップS5及びS14乃至S17を実行する。即ち、白伝搬処理を行う。
上記条件のいずれにも一致しない場合、即ち注目画素が色地又は非2値化白の場合には、注目画素の白地情報MSから1を差し引く(ステップS13)。即ち、白程度が1だけ弱い白地情報に更新する。白地情報MSの最低値は0であり、0未満になるときには0とする。この経路を進んできたときにも、前述のステップS5及びS14乃至S17を実行する。即ち、白伝搬処理を行う。
以上、白地情報MSの生成により、ラインメモリLMP上において、状態変数(白地情報)MSを介して周辺画素に白情報を伝搬させることができる。この白地情報MSの生成は前述のように、色データ(R、G、B画像データのすべて)が閾値thwss=40より小さいとき白地と表すRGB白地判定信号に基づいた図5のステップS3−S4−S5−S14乃至S17の系統の色対応の白地情報MSの生成を含み、しかも、濃度データ(G画像データ)のエッジ強調出力(フィルタ部321の出力)が、閾値thwsb=50より小さいとき、白地判定及び2値化白判定信号に基づいた図5のステップS7乃至S13−S5−S14乃至S17の系統の濃度対応の白地情報MSの生成を含む。
この白判定部4203は、まずRGB白抽出部4202のRGB白地検出部4214が白領域を検出するまで、即ちRGB白地検出部4214が白地判定信号「1」を生成し、これに対応して色対応の白地情報MSの生成(ステップS3−S4−S5−S14乃至S17)を開始するまでは動作(ステップS4の実行)を行わない。これは、白領域であるとの判定が得られない領域を、後述の白パターンマッチング部4204において白画素(白ブロック)であると誤判定することを防ぐためである。
薄い色地上の文字にエッジ強調フィルタを適用すると、文字周辺のデータが本来の画像データ(色地)よりレベルの低い値(白)となる。従って、フィルタ部40のエッジ強調処理後のデータで白パターンマッチングをすると、即ち、濃度対応の白地情報MSの生成(ステップS7乃至S13−S5−S14乃至S17)のみに基づいて白領域判定をすると、色地上の文字周辺を白地であると誤判定しやすい。そこで、前述の色対応の白地情報MSの生成(ステップS3−S4−S5−S14乃至S17)によって白領域であるとの判定が得られる領域に後述する白画素(白ブロック)を判定するための白パターンマッチングを適用するように白地情報MSを最高値とし、ステップS3で白地でないときには、更にステップS6以下で詳細に白地条件をチェックして白パターンマッチングを適用するか否を決定するための1つのパラメータである白地情報MSを調整することにより、フィルタ部40のエッジ強調処理後G画像データを後述する白パターンマッチング部4204において白画素(白ブロック)であると誤判定することを防いでいる。
例えば、色画素の可能性が高いときには、白地情報MSを下げ(ステップS13)、色画素の疑いもあり得るときには白地情報MSをホールド(変更無し)にして(ステップS11乃至S13)、後述する白パターンマッチングによって白画素(白ブロック)であると誤判定することを防ぎ、文字周辺のデータが本来の画像データ(色地)よりレベルの低い値(白)になるのを防止している。
文字が密なところは前述の処理(ステップS3乃至S5、S6乃至S10及びS14乃至S17)によって白地情報MSを更新し伝搬させるので、密な文字領域が絵柄と誤判定される可能性が低減する。また、込み入った文字(例えば、「書」)などの文字の中は、RGB白地検出部4214で白検出ができない場合があるが、そのときには、谷白画素検出によって白であると検出し、白地情報MSをステップS12のYES出力がステップS5に直進する経路でホールドして白地傾向にとどめるので、込み入った文字の中が絵柄と誤判定される可能性が低くなる。
また、先に触れたように、注目画素が周辺を白地で囲まれた色画素のときには、色地検出部4213の出力である色地判定信号dが「1」(色地)となり、線が込み入ったところでも、薄い色画素を色地として検出することができ、注目画素周辺が白か否かを判断する閾値thwcを低く設定して(thwc=20)、薄い色画素(注目画素)の周辺が白背景か否かを厳密にチェックして薄い色画素を色地として検出することができるので、込み入った文字の中が絵柄と誤判定される可能性を更に低くすることができる。
前述のように、薄い色画素を色地であるとして、より厳密に検出できることにより、色地と検出したときには図5のステップS6からステップS13に進んで、状態変数MSを下げて色地を白と判定する可能性を低くできるのに加えて、ステップS3で参照する白地判定信号を生成するときの閾値thwss(例えば40)に対して、ステップS7で参照する2値化白判定信号を生成するときの閾値thwsb(例えば50)を大きい値として、色地と判定しなかった場合(ステップS6:NO)には、2値化部4201で白と見なす確率を高くして、図5のステップS7からステップS10に進んで状態変数MSを上げて白領域と判定する可能性を高くしている。
即ち、RGB白地検出部4214において閾値thwss=40で白と判定する確率が低い厳しい白判定を行って、そこで白地と判定すると、図5のステップS3からS4以下の処理により、状態変数MSを上げて文字背景を白と判定する可能性を高くしている。上述の厳しい白判定で白地との判定が出なかったときには、逆に色地であるかもしれない薄い色画素も色地として検出する信頼性が高い厳しい色地判定を行い、即ち、色地検出部4213の結果を参照し、それが色地との判定にならないときには、もう一度、今度は白と判定する確率が高い閾値thwsb=50の甘い白判定を行い、即ち、2値化部4201を参照して、それが白の判定である場合には、状態変数MSを上げて文字背景を白と判定する可能性を高くしている(ステップS7乃至S10)。この処理(ステップS6乃至S10)があるので、色地と検出される薄い色画素よりも更に薄い背景濃度ムラ、例えば裏映りのように原稿の地にムラがある場合に、原稿の細かい地ムラに連動して状態変数MSが2値的に大きく変化するのが抑制され、次の白パターンマッチング部4204での白画素か否かの判定が走査方向に細かく変動するのが抑制される。その結果、背景が薄い色地のときに、裏映りのような原稿の細かい地ムラに連動して細かい色抜け(白背景)が現われることがなくなる。
白パターンマッチング部4204は、注目画素を中心とする5×5画素単位のブロックで連続した白画素が存在するか否かにより、背景が白か否かを判断する。そのために、注目画素に関して、次式が満たされる場合に、注目画素を白画素と仮に定めて、白パターンマッチングを行う。その条件式は、(非色画素&(白地情報MS≧thw1(13))&2値化白)#(非色画素&(白地情報MS≧thw2(1))&谷白画素&2値化白)である。ここで、この条件式を満たすかのチェックを行う注目画素は、図5のステップS5及びS14乃至S17の白伝搬処理の対象となってその処理過程を経たものであり、当該条件式の中の「白地情報MS」が、白伝搬処理後の前述のチェックを行う注目画素の白地情報MS[I]である。但し、このMS[I]は白伝搬処理を終えた白地情報であって、そのIは、前述のチェックを行う注目画素の主走査方向xの位置であり、前述の白判定部4203で状態変数MSを算出する注目画素の主走査方向xの位置とは別物である。
当該条件式の中の、「非色画素」は色地検出部4213の出力である色地判定信号dが「0」であること、「2値化白」は2値化部4201の2値化白判定信号が「1」(2値化白)であること、及び、「谷白画素」は、谷白画素検出の検出結果が谷白画素であること、をそれぞれ意味し、#は論理和(オア:又は)を意味する。白パターンマッチングは、前記条件式で判定した出力(白画素か否か)に対し、図12の縦横斜めの連続性パターンPMPa乃至PMPdのいずれかに該当するか否かをチェックするものである。パターンPMPa乃至PMPdに付した白丸は、白画素であることを意味する。他の空白画素は、白画素であるか否かを問わない。
注目画素を中心とする5×5画素マトリクスの白画素分布が図12のパターンPMPa、PMPb、PMPc又はPMPdに該当すると、注目画素が白パターン画素であると判定する。
グレー画素検出部4212は、R、G、B、Y、M、C、Bkの色相分割を行い、色相毎に濃度の低い画素を検出する。色相分割は、後述する色判定と同様である。ここで、フィルタ後のGデータをthgrと比較して、Gデータより大きいか、RGB白抽出の色画素検出で色画素であるかのどちらかを満たしていれば、下記(1)乃至(6)の演算を行い、下記(7)乃至(13)の何れかの条件を満たしていれば、グレー画素とする。ここで、色毎に閾値を変えているのは各インクの最大濃度が異なるためである。
条件は、(1)R−Y色相領域境界(ry):R−2*G+B>0、
(2)Y−G色相領域境界(yg):11*R−8*G−3*B>0、
(3)GーC色相領域境界(gc):1*R−5*G+4*B<0、
(4)CーB色相領域境界(cb):8*R−14*G+6*B<0、
(5)BーM色相領域境界(bm):9*R−2*G−7*B<0、
(6)MーR色相領域境界(mr):R+5*G−6*B<0、
(7)Y画素判定(gry):(色画素である)&(ry==1)&(yg==0)&(RGBの最大値<thmaxy)、
(8)G画素判定(grg):(色画素である)&(yg==1)&(gc==0)&(RGBの最大値<thmaxg)、
(9)C画素判定(grc):(色画素である)&(gc==1)&(cb==0)&(RGBの最大値<thmaxc)、
(10)B画素判定(grb):(色画素である)&(cb==1)&(bm==0)&(RGBの最大値<thmaxb)、
(11)M画素判定(grm):(色画素である)&(bm==1)&(mr==0)&RGBの最大値<thmaxm)、
(12)R画素判定(grr):(色画素である)&(mr==1)&(ry==0)&(RGBの最大値 <thmaxr)、及び、
(13)色画素でないときの判定(grbk):(RGBの最大値<thmaxbk)である。なお、「==」はC言語で「等しい」を表す表記である。
この処理は図21のグレー画素検出部4212で行われる。前述のようにRGB白抽出部4202は、グレー画素検出部4212、色画素検出部4213、RGB白地検出部4214で構成され、これら各部にR、G、Bの各画像データが入力される。グレー画素検出部4212の出力は、グレーパターンマッチング部4209に入力され、グレーパターンマッチング部4209のパターンマッチング結果は、グレー膨張部4210に入力され、膨張処理が行われた後、その出力が判定部4211に入力される。また、白判定部4203には、色画素検出部4213、RGB白地検出部4214及び2値化部4201の出力が入力され、白判定部4203の判定結果は、白パターンマッチング部4204に入力され、そのパターンマッチングの結果は、白パターン補正部4205及び白補正部4208に入力される。白パターン補正部4205の補正結果はさらに白膨張部4206、白収縮部4207で処理された後、判定部4211に入力され、また、白補正部4208の処理結果はそのまま判定部4211に入力される。なお、グレー膨張部4210で膨張処理する前に、収縮処理を施しておけば、孤立点の除去が可能となる。また、白パターンマッチング部4204、白パターン補正部4205、白膨張部4206、白収縮部4207及び白補正部4208は、白と白でない境界領域とを検出するための構成で、白補正部4208の出力は線幅を示し、白収縮部4207の出力は白領域を示し、前記グレー膨張部4210の出力は中濃度であることを示す。そこで、判定部4211では、これら3つの出力に対して優先順位を付けて判定し、判定結果を後段に出力する。この場合、優先順位1は白補正部4208からの線幅情報であり、優先順位2はグレー膨張部4210からの中濃度情報であり、優先順位3は、白収縮部4207からの白領域情報である。
グレーパターンマッチング部4209は、図22に示すパターンとのパターンマッチングを行う。ここで、黒丸をグレー画素、白丸をグレー画素より濃いところとする。複写原稿は、薄い200線の万線パターン、300線の万線パターンであるので、複写原稿もグレー検出するようにこのようなパターンを採用している。
図22のパターンに一致したものは、グレー画素となる。なお、図22(a)は200線用のパターンであり、図22(b)は300線用のパターンである。
白パターン補正部4205は、白画素パターンマッチングで孤立(1×1、1×2、2×1、2×2、1×3、3×1の白画素)しているアクティブ画素を非アクティブにする。このことにより、孤立している画素を除去する。
白膨張部4206は、 白画素パターンマッチングの補正の結果に対し7×41のORを行う。
白収縮部4207は、白膨張部4206における白膨張の結果に対し1×33のANDを行う。白膨張と白収縮を行うことにより、白パターンマッチング部4204での補正結果に対して小面積で存在する非アクティブ画素を除去する。この判定結果は、白地と境界部分とに対して、非白地側の境界領域を含む結果となる。言いかえれば、白地よりも大きな領域となる。
白補正部4208は、図12のブロックパターンBCPの×を付した注目画素を中心とした15×11画素において、四隅の各6×4画素領域のそれぞれに1つ以上の白候補ブロックが存在するときに、注目ブロックに白ブロック補正データを与える。このことにより、白地に囲まれた領域を白領域とする。
グレー膨張部4210は、グレーパターンマッチングの結果に対して、11×11のOR処理をする。このことにより、グレー領域に対してやや大きな領域となる。
判定部4211は、白補正部4208の結果がアクティブであり、又は、白収縮部4207の結果がアクティブでかつグレー膨張部4210の結果が非アクティブの場合に白背景とする。式で表現すると、(白補正の結果)#((白収縮の結果)&!(グレー膨張の結果))のようになる。ここで、(白補正の結果)は、白地に囲まれた領域を確実に白領域と判定し、((白収縮の結果)&!(グレー膨張の結果))の結果は、濃い黒文字周辺を白領域と判定して、濃度の薄いところを非白領域としている。なお、「!」は否定を表す。
図13において、丸Bp1〜Bp4で囲んだ黒の突出部は、前述の注目ブロックを中心とした15×11画素において四隅の各6×4画素領域それぞれに1つ以上の白候補ブロックが存在するとき、注目ブロックに白ブロック補正データを与える白ブロック補正によって白ブロックに置きかえられる。丸Bp1〜Bp4で囲んだ黒の突出部のように白地で囲まれた黒領域を、白領域とすることは、そこを絵柄部と判定する可能性を低くする。後述する総合判定部45では、非白領域は絵柄と判定するが、丸Bp1〜Bp4で囲んだ黒の突出部のように白地で囲まれた黒領域を絵柄と誤判定する可能性を低くする。さらに、白収縮の結果、グレー膨張の結果によって黒地と白地境界を白領域(文字領域)と判定するので、濃い文字エッジは、文字の太さにかかわらず白地判定するので、文字エッジを正しく文字エッジと判定することが可能となる。濃度の薄い部分は文字エッジ判定しなくなる。
前述のように白領域抽出部42では、白判定部4203でRGB白抽出部4202の白地判定信号、色地判定信号dおよび谷白画素判定信号、ならびに、2値化部4201の2値化白判定信号に対応する白の程度をあらわす状態変数である白地情報MSを生成する。そして白パターンマッチング部4204で、色地判定信号d、白地情報MS、2値化白判定信号および谷白画素判定信号に基づいて注目画素が白画素か否を仮に定めて、注目画素を含む画素マトリスクに対する白画素分布パターンマッチングによって白画素か否を確定する。この結果と、黒判定部(図示せず。)および黒パターンマッチング部(図示せず。)の結果を用いて、白補正部4208は、注目画素が黒地と白地境界との境界(白領域:文字領域)であるかどうかを判定する。なお、白領域抽出部42は、グレー画素の判定の場合、図21の回路構成であるが、白黒判定については、図4の回路構成で処理される。
RGB白抽出部4202の白地判定信号は、注目画素のR、G、B画像データのすべてが閾値thwss=40より小さいと「1」(白地)である。この閾値thwssを大きくすると、大きい値の白地情報MSを定める確率が高くなり、「白領域」(黒地と白地境界との境界:文字領域)を摘出する確率が高くなる(即ち絵柄領域を摘出する確率が低下する)。閾値thwssを小さくするとこの逆となる。
2値化部4201の2値化白判定信号は、フィルタ部321のG画像データのエッジ強調出力が閾値thwsb=50より小さければ、「1」(2値化白)である。この閾値thwsbを大きくすると、大きい値の白地情報MSを定める確率が高くなり、「白領域」を摘出する確率が高くなる(即ち絵柄領域を摘出する確率が低下する)。閾値thwsbを小さくするとこの逆となる。
「白領域」の画像データには後工程で、文字画像を鮮明に表すための画像処理が施されるので、閾値thwssおよびthwsbを大きくすると、文字に優先度が高い画像処理が施される。非白領域即ち絵柄(写真)領域の画像データには後工程で、写真や絵柄を忠実に表すための画像処理が施されるので、閾値thwssおよびthwsbを小さくすると、絵柄(写真)に優先度が高い画像処理が施される。
ところで、RGB白抽出部4202の色地判定信号dが「1」(色地)であると白地情報MSを低くし、「白領域」を摘出する確率が低くなる(即ち絵柄領域を摘出する確率が高くなる)。色地検出で色地判定信号dを生成するパターンマッチングB.及びC.で用いる閾値thwc(例えば20)を小さくすると、周辺画素(図11の△と□)を同時に色画素と検出する確率(bとcとの排他的否定論理和が「1」となる確率)が高くなって色地判定信号d=「1」(色地)を得る確率が高くなり、前記「白領域」を摘出する確率が低くなる(即ち絵柄領域を摘出する確率が高くなる)。
そこで、本実施例では、キー入力による入力モードのメニュー表示ならびに液晶ディスプレイに表示されたメニュー画面上のキー画像(パラメータ指定キーおよびアップ、ダウンキー)の操作によって調整するパラメータ調整の中の「文字/写真レベル」の調整によって、閾値thwss、thwsbおよびthwcを次のように調整するようにしている。
即ち、オペレータが操作ボードにおいて調整設定するパラメータ「文字/写真レベル」の標準値(デフォルト)は「3」であり、このデフォルト値が、前記の文字/写真レベルと閾値thwss、thwsbおよびthwcとの関係を表す変換テーブルと共に、ROM(図示せず。)に書き込まれており、IPU(Instruction Processing Unit)(図示せず。)に電源が投入され、CPU(図示せず。)がIPUの初期化をするときに、CPUがROMから文字/写真レベルのデフォルト値を読み出して、それに対応する閾値thwss、thwsbおよびthwcを変換テーブルから読み出してRAMの各閾値宛てレジスタに書き込み、白領域抽出部42での前述の処理に用いる。その後、操作ボードからの入力で文字/写真レベルの調整があり、調整後の値AがメインコントローラからCPUに与えられると、CPUは、調整後の値Aに対応するパラメータthwss、thwsbおよびthwcの各値を、ROMの変換テーブルから読み出してRAMのパラメータ宛てレジスタに書き込む。
閾値を標準値thwss=40、thwsb=50、thwc=20に設定しているときに、操作ボードを使ってオペレータが「文字/写真レベル」の値をi(例えば1)だけ大きく「Up」すると、閾値thwss、thwsbおよびthwcが2×i(2)分、文字優先方向に変更した値に定められる。逆に、オペレータが「文字/写真レベル」の値をi(例えば1)だけ小さく「Down」すると、閾値thwss、thwsbおよびthwcが2×i(2)分、写真優先方向に変更した値に定められる。
網点抽出部44は、図23に示すように第1網点ピーク検出部4401、第2網点ピーク検出部4402、第3網点ピーク検出部4403、第1網点領域検出部4404、第3網点領域検出部4405及び一時記憶手段(一時メモリ)4406から構成される。第1網点ピーク検出部4401及び第3網点ピーク検出部4403には、G画像データが入力され、第2網点ピーク検出部4402にはB画像データが入力される。第1網点領域検出部4404には、第1網点ピーク検出部4401及び第2網点ピーク検出部4402の検出結果が入力され、第2網点領域検出部4405には、第3網点ピーク検出部4403の検出結果が入力される。また、一時メモリ4406は、第1及び第2網点領域検出部4404、4405の検出結果を一時保存する。なお、図4における網点抽出部44は図23における網点抽出部44に対応する。
第1網点ピーク検出部4401は、G画像データを用いて所定の大きさの二次元局所領域内の画素濃度情報から、網点ドットの一部を形成する画素(以下、「網点ピーク画素」という。)を検出する回路である。局所領域に関して次の二つの条件が同時に成立するときに、領域の中心画素を網点ピーク画素として検出する。
条件1は、中心画素の濃度レベルが局所領域内で最大(山ピーク)又は最小(谷ピーク)である。条件2は、中心画素に対し点対称関係にある全ての画素のペアについて、画素ペアの濃度レベルの平均と中心画素の濃度レベルとの差の絶対値が、閾値Th以上である。
図14を参照して、第1網点ピーク検出部4401の検出処理を具体的に説明する。局所領域として5×5画素マトリクス(一般化して示すとM×M画素マトリクス)のマスクを採用した例である。5×5画素マトリクスの各画素の符号を、図11のパターンMPpに示すものとすると、注目画素となる中心画素c3の濃度Lcが、その周囲画素の濃度L1乃至L8と比較して最大又は最小であるとともに、abs(2Lc−L1−L8)≧Lth、かつ、abs(2Lc−L2−L7)≧Lth、かつ、abs(2Lc−L3−L6)≧Lth、かつ、abs(2Lc−L4−L5)≧Lthのときに、マスクの中心画素(Lc)を網点ピーク画素として検出する。abs関数は絶対値をとることを意味する。Lthは閾値(固定値)である。
具体的には、周囲画素は、図14に示す周囲画素分布パターンMPa又はMPbの4角形を付記した画素とする。周囲画素分布パターンMPaとMPbに基づいた前述の網点ピーク画素検出のどちらかが、網点ピーク画素と検出したときに、そのときの注目画素(中心画素c3)に網点ピーク画素を表す検出信号を与える。2つのパターンを用いるのは、網点の線数に幅広く対応するためである。
パターンMPaは、L1=b2、L2=b3、L3=b4、L4=c2、L5=c4、L6=d2、L7=d3、L8=d4、と定めたものである。ここで、L1=b2とは、画素b2の濃度を、前述の網点ピーク画素検出演算のL1の値とすることを意味する。パターンMPbは、L1=b2、L2=a3、L3=b4、L4=c1、L5=c5、L6=d2、L7=e3、L8=d4、と定めたものである。
また、複写の場合、副走査方向yの拡大、縮小はスキャナ1の原稿走査速度の高、低で行うので、スキャナ1からは、副走査方向yの拡大、縮小があった画像データが与えられる。そこで、縮小のときには、前述のパターンMPa、MPbに代えて、図14上に示すパタ―ンMPc、MPdを用いる。拡大のときには、図14上に示すパタ―ンMPe、MPfを用いる。なお、パタ―ンMPe、MPfにおいて、三角印を与えた画素も、前述の「周囲画素」に加えても良い。
第2網点ピーク検出部4402は、Bデータを用いて網点ピークを検出するものであって、機能は、第1網点ピーク検出部4401と同じである。第1網点ピーク検出部4401は、G画像データを用いるのでほとんどの色に対して反応するが、Yに対しては反応しないので、第2網点ピーク検出部4402は、B画像データを使用してYの網点ピークを検出することを目的とする。
第3網点領域検出部4403は、第1網点ピーク画素検出部4401、第2網点ピーク画素検出部4402のどちらかにより検出された山と谷の網点ピーク画素を所定の大きさの二次元の小領域毎に計数し、山と谷との網点ピーク画素の合計を小領域の計数値Pとする。この計数値Pが閾値Pthより大きいときに、小領域の全画素(あるいは画素単位の処理の場合、小領域の中心画素のみ)を網点領域と判定する。判定の結果は一時メモリ4406に記憶される。
図24を参照して、第3網点ピーク検出部4403の検出処理を具体的に説明する。この第3網点ピーク検出部4403の検出処理は、100線以下、65線(新聞の網点)以上の検出を目的とし、本実施例は、局所領域として7×7画素マトリクス(一般化して示すとM×M画素マトリクス)のマスクを採用した例である。注目画素となる中心画素群の濃度Lcが、その周囲画素の濃度群L1乃至L8と比較して最大又は最小であるとともに、abs(2Lc−L1−L8)≧Lth、かつ、abs(2Lc−L2−L7)≧Lth、かつ、abs(2Lc−L3−L6)≧Lth、かつ、abs(2Lc−L4−L5)≧Lthのときに、マスクの中心画素(Lc)を網点ピーク画素(極点画素)として検出する。abs関数は前述のように絶対値をとることを意味する。Lthは閾値(固定値)である。
具体的には、周囲画素は、図24(a)に示す周囲画素分布パターンであるとする。図24(c)は、図24(a)に対応する7×7画素マトリクスの座標を表す図である。周囲画素分布パターンに基づいた前述の第1及び第2網点ピーク検出部4401、4402のどちらかが網点ピーク画素を検出した場合に、そのときの注目画素(中心画素d4)に網点ピーク画素を表す検出信号を与える。2つのパターンを用いるのは、網点の網点面積率に幅広く対応するためである。
中心画素Lcの濃度は周辺画素を参照してLc=Min(d4、d3、d5、c4、e4)のように定める。このLcが周辺画素に対して最大値のとき、パターンは、L1=Max(a1、a2、b1)、L2=Max(a3、a4、a5)、L3=Max(a6、a7、c7)、L4=Max(c1、d1、e1)、L5=Max(c7、d7、e7)、L6=Max(f1、g1、g2)、L7=Max(g3、g4、g5)、L8=Max(g6、g7、f7)と定めたものである。ここで、L1=Max(a1、a2、b1)は、画素a1、a2、b1の濃度の最大値を、前述の網点ピーク画素検出演算のL1の値とすることを意味する。Lc=Min(d4、d3、d5、c4、e4)は、Lcがd4、d3、d5、c4、e4の中の最小のものであることを意味する。
また、中心画素Lcの濃度をLc=Max(d4、d3、d5、c4、e4)とし、このLcが周辺画素に対して最小値のとき、パターンは、L1=Min(a1、a2、b1)、L2=Min(a3、a4、a5)、L3=Max(a6、a7、c7)、L4=Max(c1、d1、e1)、L5=Max(c7、d7、e7)、L6=Max(f1、g1、g2)、L7=Max(g3、g4、g5)、L8=Max(g6、g7、f7)と定めたものである。Lc=Max(d4、d3、d5、c4、e4)は、Lcがd4、d3、d5、c4、e4の中の最大のものであることを意味する。
また、複写の場合、副走査方向yの拡大、縮小はスキャナ1の原稿走査速度の高、低で行うので、スキャナ1からは、副走査方向yの拡大、縮小があった画像データが与えられる。そこで、縮小のときには、図24(b)に示すパタ―ンを用いる。拡大のときには、図24(a)に示すパタ―ンを用いる。
第3網点ピーク検出部4403の演算式は、1画素のデータで演算するのではなく、複数の画素(min、maxの演算)で、対象となる画素を参照する。これは、低線数の網点は濃淡の周期が大きくなる(面積が大きくなる)ので、1画素で決定するのではなく周辺画素を参照することにより、ノイズ(ごみ)の影響を少なくし、かつ、算術演算量を減らし、他のブロックで共通に演算式を使えるようにするためである。これにより、ハードウェア化が容易になる。
第1網点領域検出部4404は、第1網点ピーク検出部4401によって検出された山と谷との網点ピーク画素を、所定の大きさの二次元の小領域毎に計数し、山と谷との網点ピーク画素の合計を小領域の計数値Pとする。この計数値Pが閾値Pthより大きいときに、小領域の全画素(あるいは画素単位の処理の場合、小領域の中心画素のみ)を網点領域と判定する。判定の結果は一時メモリ4406に記憶される。
第1網点領域検出部4404又は第2網点領域検出部4405のどちらかが網点領域を検出したならば、注目している小領域の近傍の処理済み領域の網点/非網点判定結果(周辺の特徴情報)に応じ適応的に閾値Pthを変化させる。本実施例においては、閾値Pthとして、2つの値TH1、TH2(但しTH1>TH2)が用意され、一時メモリ4406に記憶されている注目小領域近傍の処理済み領域の判定結果によって、その一方の値を選択する。即ち、近傍の領域が非網点領域と判定されていた場合には、線画領域である可能性が高いので、誤検出を減らすために条件が厳しくなるTH1のほうを閾値Pthとして選択する。これに対し、近傍領域が網点領域であると判定されていた場合には、網点領域である可能性が高いので、条件が緩くなるTH2のほうを閾値Pthとして用いる。なお、閾値Pthの初期値としてはTH1を選択する。
図14上のAMPに、前述の小領域の分布を示す。小領域分布パターンAMPのS1乃至S4のそれぞれは、例えば4×4画素の大きさの小領域(ブロック)であり、S4が注目している小領域、S1、S2及びS3は処理済みの小領域であるとする。S1、S2及びS3のすべてが網点領域であると判定されているときには、Th2がS4の判定のための閾値Pthとして用いられる。S1、S2及びS3の1つでも非網点領域と判定されているときは、閾値PthとしてTH1が選択される。網点領域と判定したときに“1”、非網点と判定したときに“0”の網点領域検出信号htが網点抽出部44から出力される。但し、これは一例であって、S1、S2及びS3のいずれか1つの小領域でも網点領域と判定されたときにTH2を選択し、すべてが非網点領域と判定されたときにのみTH1を選択するようにしてもよい。さらに、参照する近傍領域をS1のみ、あるいはS2のみとすることもできる。
原稿中の色(有彩)画素や黒(無彩)画素を検出する際には、R、G、Bの相対的な読み取りずれが、各色画像データのサンプリングや機械的精度のために存在する。図15を用いて説明する。図15の(a)は画像濃度信号であり、黒濃度信号は理想的には、R、B、G濃度信号の3つの信号レベルの高低が一致したときに理想の黒となる。ところが、実際の画像データは、レンズによりCCD上に画像を結像し、CCDの画像信号をデジタル化したもので、図15の(b)が理想の高低波形となる。しかし、一般的なスキャナでは、3ラインCCDセンサを用いているため、画像データのR、G、Bの各画像を時間的に同時に読み取ることはできない。R、G、Bの各ラインセンサは等間隔で配置され、時間的に同時に読むことができないので、どうしても読み取り位置ずれが生じてしまう。例えば、図15の(b)に示すレベル変化の黒を表すR、G、B各色濃度信号は、図15の(c)に示すように相対的にずれる。このずれが大きいと、黒領域の周縁に色ずれが現われる。
色相分割部411は、画素分類手段の例であり、有彩色領域を見つけるためのデバイスである。入力データR、G、Bは、色相分割部411にて、c、m、y及び色判定用w(白)の信号に変換される。色相分割の例としては、それぞれの色の境界を求め、1画素内のR、G、Bそれぞれの画像データの最大値と最小値の差をRGB差と定義して、以下のようにした。ここでは、R、G、B画像データは、数字が大きくなると黒くなる(濃くなる)。
(1)R−Y色相領域境界(ry):R−2*G+B>0、
(2)Y−G色相領域境界(yg):11*R−8*G−3*B>0、
(3)G−C色相領域境界(gc):1*R−5*G+4*B<0、
(4)C−B色相領域境界(cb):8*R−14*G+6*B<0、
(5)B−M色相領域境界(bm):9*R−2*G−7*B<0、
(6)M−R色相領域境界(mr):R+5*G−6*B<0、とし、
(7)色判定用w(白)画素判定:(R<thwa)&(G<thwa)&(B<thwa)ならば、y=m=c=0とする。また、
(8)Y画素判定:(ry==1)&(yg==0)&(RGB差>thy)ならば、y=1、m=c=0とする。また、
(9)G画素判定:(yg==1)&(gc==0)&(RGB差>thg)ならば、c=y=1、m=0とする。また、
(10)C画素判定:(gc==1)&(cb==0)&(RGB差>thc)ならば、c=1、m=y=0とする。また、
(11)B画素判定:(cb==1)&(bm==0)&(RGB差>thb)ならば、m=c=1、y=0とする。また、
(12)M画素判定:(bm==1)&(mr==0)&(RGB差>thm)ならば、m=1、y=c=0とする。また、
(13)R画素判定:(mr==1)&(ry==0)&(RGB差>thr)ならば、y=m=1、c=0とする。また、
(14)BK画素判定:(7)乃至(13)に該当しないとき、y=m=c=1とする。
さらに、色相分割部411は、色判定用w画素の判定を行う。(R<thw)&(G<thw)&(B<thw)ならば、色画素用w画素とし、wとして出力する。ここで、(7)乃至(14)の優先順位は、数の小さい方を優先する。前述の閾値thwa、thy、thm、thc、thr、thg、thbは、複写(処理)前に決まる閾値である。thwとthwaの関係は、thw>thaとなっている。ここで色相毎に閾値を変えているのは、色相領域毎に有彩範囲が異なるからである。この色相分割は、一例であって、如何なる式を使用してもよい。色相分割部411は、c、m、yに各1ビットの3ビットデータと、色判定用色画素検出のwの1ビットデータとを出力する。ビットプレーン形成手段は、色相分割部411の出力信号であるc、m、yの3ビットデータから3ビットプレーンを形成する。
メモリ412乃至415のそれぞれは、領域抽出手段に相当し、色相分割部411の出力c、m、y、wのそれぞれに基づいて5×5のマトリクスを蓄積し、色画素判定部416の入力とする。
図6に、色画素判定部416の内容を示す。5×5のマトリクス分のc、m、y、wそれぞれのデータは、カウント部501乃至504と、パターンマッチング部505乃至508と、に入力される。ここでまず、B/C信号を求める流れについて説明する。
第1カウント部501は、第2計数手段の例であり、注目画素を中心とする5×5画素マトリクス内に、色判定用w画素が存在するときは、その画素の色相分割部411で判定したc、m、yデータをc=m=y=0に補正する。この補正により、該画素マトリクスの白レベルが大きくなる。そして、該画素マトリクス内の各画素のc、m、yの1(c=1、m=1、y=1)の数をカウントする。c、m、yそれぞれについてのカウント値の最大値と最小値との差が、thcnt以上でかつ最小値がthmin未満ならば、色画素候補1とする。thcnt、thminは、複写(処理)前に設定する閾値である。c、m、yにプレーン展開して、N×Nのマトリクスにおけるそれぞれのプレーン毎に数を数えて、最小値をブラックと仮定している。このことにより、黒画素の読み取り漏れが生じても補正が可能となる。そして最大値と最小値との差で有彩画素か否かを判定する。このことにより、黒画素の読み取り漏れが生じた画素を補正して、有彩画素を抽出する。注目画素を中心とする5×5画素マトリクス内に一定画素数の有彩画素があると注目画素を有彩画素とする。
第2パターンマッチング部506は、色画素用w画素が存在するとき、その画素をc=m=y=0に補正する。この補正により、注目画素を中心とする5×5画素マトリクスの白レベルが大きくなる。次に、第2パターンマッチング部506は、色相分割部411で判定した注目画素のc、m、yの全てが1(c=m=y=1)又は全てが0(c=m=y=0)である画素以外の画素(色画素)であるか否かを、該5×5画素マトリクスが次のパターンにマッチングするか否かをチェックすることにより判定する。
色画素パターン群は、図16に示すように、パターン1−1(pm1):D23&D33&D431、パターン1−2(pm2):D32&D33&D34、パターン1−3(pm3):D22&D33&D44、パターン1−4(pm4):D24&D33&D42である。中心画素(注目画素)はD33である。これらのパターン上の白丸は、色画素であることを示す。パターンマッチングを採用するのは、孤立点などを拾わないようにするためである。逆に、網点などの小面積の色を検出する際には、中心画素が1(c=m=y=1)又は0(c=m=y=0)以外の画素(色画素)であるか否かで判定すればよい。
次に、第2パターンマッチング部506は、白に囲まれた色線を検出する。これに用いるパターンを図17に示す。図17において、白丸を付した画素は、c、m、yが全て0の画素である。注目画素(中心画素)を中心とする5×5画素マトリクスのデータ(c、m、y)の分布が、図17のパターンpw11a乃至pw14dのいずれかにマッチングする場合、そのときの注目画素(中心画素)を色線画素と見なす。
色細線用パターン群は、パターン2―1(pw11a乃至pw11d):((D12&D13&D14)&(D42&D43&D44))#((D12&D13&D14)&(D52&D53&D54))#((D22&D23&D42)&(D42&D43&D44))#((D22&D23&D42)&(D52&D53&D54))、パターン2―2(pw12a乃至pw12d):((D21&D31&D41)&(D24&D34&D44))#((D21&D31&D41)&(D25&D35&D45))#((D22&D23&D24)&(D24&D34&D44))#((D22&D23&D24)&(D25&D35&D45))、パターン2―3(pw13a乃至pw13d):((D11&D21&D12)&(D35&D44&D53))#((D11&D21&D12)&(D45&D44&D55))#((D13&D22&D31)&(D35&D44&D53))#((D13&D22&D31)&(D45&D44&D55))、パターン2―4(pw14a乃至pw14d):((D13&D24&D35)&(D41&D51&D52))#((D14&D15&D25)&(D41&D51&D52))#((D13&D24&D35)&(D31&D42&D53))#((D14&D15&D25)&(D31&D42&D53))である。
次に、第2パターンマッチング部506は、c、m、yが全て0のところのパターンマッチングを行う。これに用いるパターンを図18に示す。図18において、白丸を付した画素は、c、m、yが全て0の画素である。注目画素(中心画素)を中心とする5×5画素マトリクスのデータ(c、m、y)の分布が、図18のパターンpw21a乃至pw24dのいずれかにマッチングすると、そのときの注目画素(中心画素)を白領域画素と見なす。
白領域パターン群は、パターン3―1(pw21a乃至pw21d):(D21&D31&D41)#(D22&D32&D42)#(D24&D34&D44)#(D25&D35&D45)、パターン3―2(pw22a乃至pw22d):(D12&D13&D14)#(D22&D23&D24)#(D42&D43&D44)#(D52&D53&D54)、パターン3―3(pw23a乃至pw23d):(D52&D51&D41)#(D53&D42&D31)#(D35&D24&D13)#(D25&D15&D14)、パターン3―4(pw24a乃至pw24d):(D54&D55&D45)#(D53&D44&D35)#(D31&D22&D13)#(D21&D11&D12)である。
第2パターンマッチング部506は、抽出したパターンマッチング結果が以下の条件を満たす場合、注目画素を色判定用色画素候補2とする。条件は、((pm1==1)&((pw11==1)#(pw21!=1)))#((pm2==1)&((pw12==1)#(pw22!=1)))#((pm3==1)&((pw13==1)#(pw23!=1)))#((pm4==1)&((pw14==1)#(pw24!=1)))で示され、ここで、(pm1==1)は、注目画素を中心とするデータ分布が、パターンpm1にマッチングすることを意味し、(pw11==1)はパターンpw11a乃至pw11dのいずれかにマッチングすることを意味し、(pw21!=1)はパターンpw21a乃至pw21dのいずれにもマッチングしないことを意味する。&は論理積を、#は論理和を意味する。このパターンマッチングにより、白領域に囲まれた色画素を色画素候補として、それ以外で白領域が存在するときは、色画素としない。白領域がない色画素パターンマッチングで一致したものは、色画素候補となる。
第4パターンマッチング部508は、パターン照合手段の例であり、1ライン色細線パターンマッチングを実行する。パターンマッチング部508は、色相分割部411で各画素に割り当てられた3ビットプレーンのc、m、yの全てが1である画素を黒画素、c、m、y全てが0である画素を白画素、その他を色画素とし、5×5画素マトリックスの画像領域を参照して、図26に示すパターンに合致するか否かを判定し、合致する場合に注目画素を色画素候補0とする。図26では、白丸は色画素を表し、×は白画素を表す。空欄は、黒画素、白画素、色画素のいずれであってもよい。図26のパターンは、一定方向に続く色画素のラインを挟んで、両脇に白画素を有する。ショックジター等による黒文字部の色ずれの場合には、一定方向に色画素のラインが続くが、色画素のラインのどちらか一方の脇には白画素が存在しない。従って、このパターンを用いることにより、ショックジターによる黒文字部の色ずれを適切に検出することが可能となる。
ここで、第4パターンマッチング部508の効果を5×5のマトリクスを用いて説明する。スキャナ1で白地上の1ライン色細線を読み取った場合、図27の白丸部のみが色画素となる。ここで注目画素を有彩判定するためには、c、m、yの3ビットプレーンの第1カウント部501による計数結果における最大値と最小値との差の閾値として、5以下を設定せざるを得ない。1ライン色細線は、最大値と最小値との差が5であり、第1カウント部501は、c、m、yそれぞれについてのカウント値の最大値と最小値との差が、所定の閾値以上の場合を1条件として、注目画素を色画素候補とするからである。一般的には、m×mのマトリクス(mは整数である。)の場合、最大値と最小値との差の閾値として、m以上を設定しなければ黒文字部の色ずれ等を誤って有彩判定する確率が高くなり適切な判定を行うことができない。仮に、第4パターンマッチング部が存在せず、第1カウント部のみで有彩判定を行う場合には、1ライン色細線を有彩であると判定するために、閾値を5未満とせざるを得ず、閾値を5未満とすれば黒文字部の色ずれ等を誤って有彩判定する確率が高くなる。
このように、第4パターンマッチング部508によりパターンマッチングを実行し、1ライン色細線を高精度に検出することができるので、第1カウント部501における閾値を大きく設定して黒文字部の色ずれを有彩判定するのを回避しながら、第4パターンマッチング部508により1ライン色細線を有彩判定できるようになる。
第1色画素判定部509は、有彩画素判定手段の例であり、第1カウント部501、第2パターンマッチング部506及び第4パターンマッチング部508の出力に基づいて、注目画素が色画素か否かを判定する。色画素候補1でかつ色画素候補2であれば、色画素1であると判定する。また、色画素候補0であれば、色画素候補1及び色画素候補2であるか否かに関わらず、色画素1であると判定する。即ち、第4パターンマッチング部508が1ライン色細線を検出した場合には、画像処理装置は、その検出結果を第1カウント部501及び第2パターンマッチング部506の検出結果に優先して注目画素を色画素と判定するので、第1カウント部501で1ライン色細線を有彩判定する必要がなく、第1カウント部501がより厳格に黒文字部の検出を行えるようになり、結果として、画像処理装置は、黒文字部と1ライン色細線とを適切に判定できるようになる。
第1ブロック化部513は、第1色画素判定部509の出力をブロック化する。ブロック化とは、4×4画素のマトリックスにおいて、1画素以上の色画素1があれば、該4×4画素マトリックス全体を色画素1ブロックとして出力するものである。第1ブロック化部513以降の処理は、4×4画素を1ブロックとしてブロック単位出力する。
孤立点除去部517は、注目ブロックの隣り合うブロックに色画素1ブロックがなければブロック化されたデータを孤立点として除去する。
膨張部521は、色画素1ブロックが存在する場合は、孤立点除去部517の出力を5×5ブロックに膨張させる。膨張は、色画素の周辺を黒文字処理しないようにするためである。ここで、出力するB/C信号は、色画素1ブロックのときにL(有彩)を出力し、それ以外のときは、H(無彩)を出力する。
第2カウント部502は、注目画素を中心とする5×5画素マトリクス内に色判定用w画素が存在するときは、その画素の色相分割部411で判定したc、m、yデータをc=m=y=0に補正する。この補正により、該画素マトリクスの白レベルが大きくなる。そして、該画素マトリクス内の各画素の、c、m、yの1(c=1、m=1、y=1)の数をカウントする。c、m、yそれぞれについてのカウント値の最大値と最小値との差が、thacnt以上でかつ最小値がthamin未満ならば、注目画素を色画素候補1とする。thacnt、thaminは、複写(処理)前に設定する閾値である。
第2色画素判定部510は、第2カウント部510、第2パターンマッチング部506及び第4パターンマッチング部508の出力に基づいて色画素か否かを判定する。色画素候補1でかつ色画素候補2であれば、色画素2であると判定する。また、色画素候補0であれば、色画素候補1及び色画素候補2であるか否かに関わらず、色画素2であると判定する。
これにより、画像処理装置は、黒文字部の色ずれに対する誤判定を増加させることなく1ライン色細線を有彩判定できる。その結果、無彩原稿を有彩と誤判定してしまう確率を低減しながら、1ライン色細線のある原稿を有彩原稿であると判定できるようになる。
第2ブロック化部514は、第2色画素判定部510の出力をブロック化する。即ち、4×4画素のマトリックスにおいて、1画素以上の色画素2があれば、該4×4画素マトリックの全体を色画素2ブロックとして出力する。第2ブロック化部514以降の処理は、4×4画素を1ブロックとしてブロック単位出力する。
第1密度部518は、孤立ブロックの除去のために、3×3ブロックの中のアクティブ条件(色画素2ブロック)が3個以上あり、注目ブロックがアクティブ(色画素)ならば、注目ブロックをアクティブブロック(色画素2ブロック)とする。
第3カウント部503は、注目画素を中心とする5×5画素マトリクス内の各画素のc、m、yの1(c=1、m=1、y=1)の数をカウントする。c、m、yそれぞれについてのカウント値の最大値と最小値との差が、tha1cnt以上で、かつカウントしたc、m、yの最小値が、tha1min未満ならば、色画素候補3とする。tha1cnt、tha1minは、複写(処理)前に設定する閾値である。
第1パターンマッチング部505は、色相分割部411で判定した画素(c、m、y)が色画素であるか否かを5×5画素マトリクスを用いるパターンマッチングで判定する。パターンは第2パターンマッチング部506のものと同じである。パターンマッチングで一致した画素は、色画素候補4とする。
第3色画素判定部511は、色画素候補3でかつ色画素候補4であれば、色画素3とする。
第3ブロック化部515は、第3色画素判定部511の出力をブロック化する。即ち、4×4画素のマトリックスにおいて、1画素以上の色画素3があれば、該4×4画素マトリックスの全体を色画素3ブロックとして出力する。第3ブロック化部515以降の処理は、4×4を1ブロックとしてブロック単位出力する。
第2密度部519は、孤立ブロックの除去のために、3×3ブロックの中のアクティブ条件(色画素3ブロック)が3個以上あり、注目ブロックがアクティブ(色画素3)ならば、注目ブロックをアクティブブロック(色画素3ブロック)とする。
第4カウント部504は、注目画素を中心とする5×5画素マトリクス内の各画素の、色相分割部411で判定したc、m、yの1(c=1、m=1、y=1)の数をカウントする。c、m、yの各カウント値の最小値が、thabk以上ならば、注目画素を黒画素候補1とする。thabkは、複写(処理)前に設定する閾値である。
第3パターンマッチング部507は、注目画素を中心とする5×5画素マトリクスにおいて、c=m=y=1の画素のパターンマッチングを行う。
使用されるパターンは、パターン1―1(pm1):D23&D33&D43、パターン1―2(pm2):D32&D33&d34、パターン1―3(pm3):D22&D33&D44、パターン1―4(pm4):D42&D33& D24である。これらのパターンは図16に示すものであり、図中に丸印を付した画素が、c=m=y=1の画素である。これらのパターンの何れかに一致した場合に、注目画素を黒画素候補2とする。
無彩判定部512は、注目画素が、黒画素候補1でかつ黒画素候補2であれば、黒画素とする。
第4ブロック化部516は、無彩判定部512の出力をブロック化する。ここでのブロック化とは、4×4画素のマトリックスにおいて、1画素以上の黒画素があれば、該4×4画素マトリックスの全体を黒画素ブロックとして出力する。第4ブロック化部516以降の処理は、4×4画素を1ブロックとしてブロック単位出力する。
第2膨張部520は、3×3ブロックのマトリックス内において、注目ブロックがアクティブ(黒画素ブロック)で、その周辺画素がノンアクティブ(非黒画素)ならば、注目ブロックをノンアクティブ(非黒画素ブロック)にする。
総合色画素判定部522は、注目ブロックが、第2色画素判定部510でアクティブ(色画素2)と判定され、かつ、無彩判定部512でアクティブ(黒画素)と判定されていなければ、注目ブロックは色(色ブロック)であると判定する。また、第3色画素判定部511がアクティブ(色画素)のときも色ブロックであると判定する。
第3膨張部523は、総合色画素判定部522で、色と判定されたブロックに対して小さな文字を連続と見なすために、注目ブロックを中心とする9×9ブロックのマトリックス内に1ブロックでもアクティブブロックがあれば、注目ブロックをアクティブブロックとする。ここで、大きく膨張させるのは、文字同士のすき間を埋めるためである。
連続カウント部524は、有彩画像判定手段の例であり、色画素ブロックの連続性を見て、カラー原稿か白黒原稿かを判定する。また、第3膨張部523の出力データ(色画素ブロック)の中の色画素の連続数をカウントすることにより、カラー原稿か否かを判定する。
図7に、この判定処理の内容を示す。注目画素が色画素ブロックにある場合に注目画素の左上、上、右上及び左の画素の色画素連続数を参照して、注目画素の色画素連続数を算出する(ステップS21乃至26)。ここで、注目画素を、例えば図11の5×5画素分布パターンMPpのc3画素とすると、左上、上、右上及び左の画素はそれぞれ、b2、b3、b4及びc2の画素である。注目画素が色画素ブロックにない場合には、色画素連続数を0とする(ステップS21乃至27)。
注目画素が色画素ブロックにある場合は、先ず注目画素(c3)の上画素(b3)の色画素連続数をチェックして(ステップS22)、それが0であると、参照値Aに右上画素(b4)の色画素連続数に1を加えた値を与え(ステップS24)、上画素(b3)の色画素連続数が0であると参照値Aに右上画素(b4)の色画素連続数を与える(ステップS23)。次に、参照値Bに左上画素(b2)の色画素連続数に1を加えた値を与え、参照値Cには上画素(b3)の色画素連続数に1を加えた値を与え、また参照値Dには左画素(c2)の色画素連続数に1を加えた値を与える(ステップS25)。そして、参照値A、B、C及びDのうちの最高値を注目画素(c3)の色画素連続数とする(ステップS26)。
注目画素(c3)に色画素連続数を前述のように与えると、この色画素連続数が設定値THACS以上であるかをチェックして(ステップS28)、THACS以上であると、カラー原稿であると決定して(ステップS29)、そこで連続カウント部524の処理を終える。色画素連続数が設定値THACS未満であると、注目画素を走査方向x、yの次の画素に更新して、前述の処理を繰返す。原稿全面について前述の処理をした結果、最後まで色画素連続数が設定値THACS未満であったときには(ステップS30乃至34)、原稿は白黒画像であると決定する。
前述の色画素連続数は、ほぼ縦の色付き線分と横の色付き線分の和となる。右上の色画素連続数が、他と異なるのは二重カウントを防ぐためである。色画素連続数の具体的なデータを図19に示す。図19に示す数字を入れた小四角が色画素であり、数字が該画素に与えた色画素連続数である。数字を入れた小四角が連なったブロックが色画素群であり、同一原稿上の何れかの色画素群のなかの色画素連続数が1つでも設定値THACS以上になるとそこで、カラー原稿であると確定する(ステップS28、29)。
第1乃至第3色画素判定部と分けたのは、カラー原稿か白黒原稿かの判定精度を高くするためである。黒文字処理のための色画素判定は、誤判定をしても局所的にはさほど目立たない。しかし、カラー原稿か白黒原稿かの判定は、誤判定をすると原稿全体に影響する。そこで、第1乃至第4カウント部を独立とした。本来ならば、色相分割部411から独立にした方がよいが色相分割部411を独立にすると、第1乃至第4パターンマッチング部のメモリが増えるので好ましくない。第1乃至第4カウント部のパラメータ(色画素候補1、3、黒画素候補1)で、色画素のパラメータ(色画素1乃至3)を変更している事により、メモリ量の増加を少なくしている。第2及び第3色画素判定部を設けているのは蛍光ペンの黄色のような濃度の低い色を検出するためで、さらに、無彩判定(黒画素判定)部512を備えたのは濃度を低くすると誤検出した際に補正するためである。蛍光ペンなど濃度の薄い色は、ある程度の幅において黒データで補正しても問題はない。複数の色画素を抽出する際に、w(白)のレベルを変えているだけなので、色画素検出のために2つ分のメモリを持つ必要がなく、1つ分+1ラインの容量で可能である。
連続カウント部524で、1ライン前のカウントデータと現在のラインのカウントデータを参照してカウント値を数えているので、確実に周辺画素の連続を正確に数えることができ、これにより色画素の連続を数えることが可能となる。本実施例では、R、G、B画像データに対して色相判定を行ったが、R、G、B画像データに限定するものではなく、輝度色差(例えばLab)などに対して、色相判定することは、容易である。
総合判定部45は、図4に示すように文字判定部451、膨張処理部452、文字なか判定部453およびデコード部454から構成される。
文字判定部451は、エッジ抽出部43の結果がエッジありで、網点抽出部44の結果が網点なしで白領域抽出部42の結果が白領域ありのときは、文字エッジと判定する。そうでないときには非文字エッジ(絵柄または文字なか)と判定し、その結果を図25に示すように膨張処理部452に出力する。
膨張処理部452は、文字判定部451の結果を8×8ブロックのOR処理をして、その後に3×3ブロックのAND処理をして4ブロックの膨張処理を行う。即ち、注目ブロックを中心とする8×8ブロックの何れかのブロックが文字エッジである場合に、注目ブロックも文字エッジブロックであると仮定し、該注目ブロックを中心とする3×3ブロックのすべてが文字エッジである場合に、注目ブロックを文字エッジと確定し、注目ブロックとそれに隣接する3ブロックとの計4ブロックを文字エッジと見なす。OR処理してからAND処理するのは、特に黒文字の場合、黒文字の領域の周辺に小領域の非黒文字領域が存在すると、処理の差によっては違和感が生じることがあり、例えば黒が薄く見えるからである。これを防ぐために、OR処理で非黒文字領域を大きくしている。AND処理は、望むべき膨張量にするために行っている。
ところでカラー複写機は、1枚の複写をするのに、4回スキャンをするので、スキャン毎に、微妙に文字判定結果が異なる。特に、ブラック作像のときに非黒文字判定をし、ブラック作像以外のときに黒文字判定をすると、この黒文字領域は薄くなってしまうので、Bkのときには8×8ブロックのOR処理をして、その後に3×3ブロックのAND処理をし、Bk以外の作像のときには、5×5ブロックのOR処理をして、その後は1×1ブロックのAND処理をする。なお、1×1のAND処理とは、その結果が処理前と同一になるので、何の処理もしないことと同義である。膨張処理の結果は、文字エッジ信号としてデコード部454に出力する。
このように膨張処理をすることにより、分離結果が異なって文字の領域が薄くなることがなくなる。この膨張処理によって、文字の中部分が濃くなることがあるが、文字のエッジに対して文字のなかが薄いと濃度は飽和しているので、違和感はない。
図20に、カラー複写によるカラー色剤の重なりを模式的に拡大して示す。図20の(d)が、4色とも黒文字処理した理想の場合を示す。図20の(e)が、4色とも黒文字処理して、Bkのみ補正がかからず、Bk以外で補正がかかって薄くなった場合を示す。図20の(f)が、本実施例によってBkのみ黒文字処理した、好適な場合を示し、図20の(g)が、本実施例によってBkのみ黒文字処理して、Bkのみ補正がかからず、Bk以外で補正がかかった好適な場合を示す。
図20の(a)が、膨張量は同一で黒文字処理した理想の場合を示す。図20の(b)は、膨張量は同一で黒文字処理して印字位置がずれた場合(白く抜ける)を示す。図20の(c)が、Bkの膨張量が大きい場合で、本実施例によって黒文字処理して印字位置がずれた場合を示す。
デコード部454は、C/P信号を出力する。C/P信号は、下記のようになる。
また、色判定部41からは図4および図25に示すようにB/C信号が出力される。このように像域処理部21は、2ビット信号であるC/P信号、及び、1ビット信号であるB/C信号を出力する。C/P信号及びB/C信号は、RGB又はCMYBkに色分解された画像データに同期して、スキャナ補正部2のフィルタ処理部22、色補正部23及び変倍処理部24に入力され、或いは、必要に応じて参照される。また、C/P信号及びB/C信号は、画像データと共に圧縮処理部3、伸張処理部7を介してプリンタ補正部8に入力され、或いは、必要に応じて参照される。