(実施の形態1)
以下、本発明をその実施の形態を示す図面に基づいて詳述する。図1は本発明に係る画像処理装置を備える画像形成装置100の構成を示すブロック図である。画像形成装置100(例えば、デジタルカラー複写機、又は、複合機能、プリンタ機能、ファックス機能及び電子メール配信機能等を備えた複合機)は、カラー画像入力装置1、カラー画像処理装置2(画像処理装置)、画像形成手段としてのカラー画像出力装置3、各種操作を行うための操作パネル4などを備える。カラー画像入力装置1で原稿を読み取ることにより得られたRGB(R:赤、G:緑、B:青)のアナログ信号の画像データは、カラー画像処理装置2へ出力され、カラー画像処理装置2で所定の処理が行われ、CMYK(C:シアン、M:マゼンタ、Y:イエロー、K:黒)のデジタルカラー信号としてカラー画像出力装置3へ出力される。
カラー画像入力装置1は、例えば、CCD(Charged Coupled Device)を備えたスキャナであり、原稿画像からの反射光像をRGBのアナログ信号として読み取り、読み取ったRGB信号をカラー画像処理装置2へ出力する。また、カラー画像出力装置3は、原稿画像の画像データを記録紙上に出力する電子写真方式やインクジェット方式などを用いた画像形成手段である。また、カラー画像出力装置3は、ディスプレイ等の表示装置であってもよい。
カラー画像処理装置2は、A/D変換部20、シェーディング補正部21、原稿種別判別部22、入力階調補正部23、領域分離処理部24、色補正部25、黒生成下色除去部26、空間フィルタ処理部27、出力階調補正部28、階調再現処理部29、これらのハードウェア各部の動作を制御するCPU(Central Processing Unit )またはASIC(Application Specific Integrated Circuit)などにより構成される。
A/D変換部20は、カラー画像入力装置1から入力されたRGB信号を、例えば、10ビットのデジタル信号に変換し、変換後のRGB信号をシェーディング補正部21へ出力する。
シェーディング補正部21は、入力されたRGB信号に対して、カラー画像入力装置1の照明系、結像系、撮像系などで生じた各種の歪みを取り除く補正処理を行う。また、シェーディング補正部21は、カラーバランスの調整を行い、調整後のRGB信号を原稿種別判別部22へ出力する。
原稿種別判別部22は、シェーディング補正部21にて各種の歪みが取り除かれ、カラーバランスの調整がなされたRGB信号(RGBの反射率信号)を濃度信号などカラー画像処理装置2に採用されている画像処理システムの扱い易い信号に変換するとともに、原稿種別の判別を行う。原稿種別判別部22は、原稿種別の判別結果である原稿種別判別信号を入力階調補正部23、色補正部25、黒生成下色除去部26、空間フィルタ処理部27、階調再現処理部29へ出力する。なお、原稿種別の判別については後述する。また、原稿種別判別部22は、シェーディング補正部21から入力されたRGB信号をそのまま入力階調補正部23へ出力する。
入力階調補正部23は、入力されたRGB信号(RGBの反射率信号)に対して、カラーバランスを整える処理を行うとともに、下地濃度の除去又はコントラストなど画質調整処理を施し、処理後のRGB信号を領域分離処理部24へ出力する。
領域分離処理部24は、入力されたRGB信号に基づき、入力された画像中の各画素が、文字領域、網点領域、写真領域の何れであるかを分離する。領域分離処理部24は、分離結果に基づいて、各画素がどの領域に属しているかを示す領域識別信号を色補正部25、黒生成下色除去部26、空間フィルタ処理部27、階調再現処理部29へ出力する。また、領域分離処理部24は、入力されたRGB信号をそのまま後段の色補正部25へ出力する。
色補正部25は、入力されたRGB信号をCMYの色空間に変換し、カラー画像出力装置3の特性に合わせて色補正を行い、補正後のCMY信号を黒生成下色除去部26へ出力する。具体的には、色補正部25は、色再現の忠実化のため、不要吸収成分を含むCMY色材の分光特性に基づいた色濁りを取り除く処理を行う。
黒生成下色除去部26は、色補正部25から入力されたCMY信号に基づいて、K(黒)信号を生成するとともに、入力されたCMY信号からK信号を差し引いて新たなCMY信号を生成し、生成したCMYK信号を空間フィルタ処理部27へ出力する。
黒生成下色除去部26における処理の一例を示す。例えば、スケルトンブラックによる黒生成を行う処理の場合、スケルトンカーブの入出力特性をy=f(x)とし、入力されるデータをC、M、Yとし、出力されるデータをC′、M′、Y′、K′とし、UCR(Under Color Removal)率をα(0<α<1)とすると、黒生成下色除去処理により出力されるデータ夫々は、K′=f{min(C、M、Y)}、C′=C−αK′、M′=M−αK′、Y′=Y−αK′で表される。
空間フィルタ処理部27は、黒生成下色除去部26から入力されたCMYK信号に対して、領域識別信号に基づいたデジタルフィルタによる空間フィルタ処理を行う。これにより、画像データの空間周波数特性が補正され、カラー画像出力装置3における出力画像のぼやけ、又は粒状性劣化を防止する。例えば、空間フィルタ処理部27は、領域分離処理部24において文字領域に分離された領域を、特に黒文字又は色文字の再現性を高めるため、鮮鋭強調処理を施し高周波成分を強調する。また、空間フィルタ処理部27は、領域分離処理部24において網点領域に分離された領域を、入力網点成分を除去するためのローパス・フィルタ処理を施す。空間フィルタ処理部27は、処理後のCMYK信号を出力階調補正部28へ出力する。
出力階調補正部28は、空間フィルタ処理部27から入力されたCMYK信号に対して、カラー画像出力装置3の特性値である網点面積率に変換する出力階調補正処理を行い、出力階調補正処理後のCMYK信号を階調再現処理部29へ出力する。
階調再現処理部29は、領域分離処理部24から入力された領域識別信号に基づいて、出力階調補正部28から入力されたCMYK信号に対して所定の処理を行う。例えば、階調再現処理部29は、領域分離処理部24において文字領域に分離された領域を、特に黒文字又は色文字の再現性を高めるため、カラー画像出力装置3における高周波成分の再現に適するように二値化処理又は多値化処理を行う。
また、階調再現処理部29は、領域分離処理部24において網点領域に分離された領域を、最終的に画像を画素に分離して、それぞれの階調を再現できるように階調再現処理(中間調生成)を行う。さらに、階調再現処理部29は、領域分離処理部24において写真領域に分離された領域を、カラー画像出力装置3における階調再現性に適するように二値化処理又は多値化処理を行う。
カラー画像処理装置2は、階調再現処理部29で処理された画像データ(CMYK信号)を記憶部(不図示)に一旦記憶し、画像形成をする所定のタイミングで記憶部に記憶した画像データを読み出し、読み出した画像データをカラー画像出力装置3へ出力する。
操作パネル4は、例えば、液晶ディスプレイなどの表示部と設定ボタンなどより構成され、操作パネル4より入力された情報に基づいてカラー画像入力装置1、カラー画像処理装置2、カラー画像出力装置3の動作が制御される。
図2は原稿種別判別部22の構成を示すブロック図である。原稿種別判別部22は、信号変換部2201、補間演算部2202、最小濃度値算出部2203、最大濃度値算出部2204、反転回数算出部2205、エッジ検出部2206、最大濃度差算出部2207、最大濃度差判定部2208、反転回数判定部2209、総合判定部2210、エッジ検出結果演算部2211、メモリ2212、文字画素ブロック計数部2213、網点画素ブロック計数部2214、その他の画素ブロック計数部2215、エッジ計数比率判定部2216、原稿判定部2217、総和濃度繁雑度算出部2218などを備えている。
原稿種別判別部22は、原稿を予備走査(プレスキャン)し、副走査方向(スキャナの走査方向に平行な方向)に対しては主走査(本スキャン)の2倍あるいは4倍などの速度で走査し、主走査方向(スキャナの走査方向と垂直な方向)に対しては補間演算を行うことにより縮小された画像を生成し、生成した縮小画像を後段の処理のため一旦画像メモリ(不図示)に記憶する。原稿種別判別部22は、縮小画像を所定の画素ブロック(例えば、4×4画素)に分割し、分割した画素ブロック毎に文字領域、網点領域、その他の領域などの領域判定を行うことにより原稿の種別を判別する。
また、原稿種別判別部22は、縮小画像のエッジ検出を行い、縮小画像の総画素数に対するエッジの数の比率と、原稿を主走査して得られた画像のエッジ検出を行い、画像の総画素数に対するエッジの数の比率とに基づいて、擬似文字(例えば、フォントサイズが4ポイント程度の小さい文字、複雑な網点上の文字、あるいは万線など)を含む領域であるか否かの領域判定を行うことにより、原稿に擬似文字が含まれるか否かを判定する。
更に、原稿種別判別部22は、擬似文字を含む領域において、原稿を主走査して得られた画像の濃度分布に係る特徴量(総和濃度繁雑度)を算出し、算出した総和濃度繁雑度が角度依存性を有するか否かに基づいて、万線を含む領域であるか否かの領域判定を行うことにより、原稿に万線が含まれるか否かを判定する。このように、原稿種別判別部22は、擬似文字を含む領域であると判定された場合には、擬似文字のうちの万線を含む領域であるか否かの判定を行い、この判定結果に基づいて最終的な判別結果である原稿種別判別信号を出力する。
信号変換部2201は、予備走査時及び主走査時に、シェーディング補正部21から入力されたRGB信号(RGBの反射率信号)を輝度信号(L信号)に変換し、変換後の輝度信号を補間演算部2202及び総和濃度繁雑度算出部2218へ出力する。例えば、各画素の輝度信号Ljは、各画素RGBの色成分を夫々Rj、Gj、Bjとし、Lj=0.30×Rj+0.59×Gj+0.11×Bjで表すことができる。なお、上式に限らず、RGB信号をCIE1976L* a* b* 信号に変換することもできる。また、信号変換部2201は、予備走査時及び主走査時のいずれかのみ、輝度信号を総和濃度繁雑度算出部2218へ出力するようにしてもよい。
補間演算部(縮小手段)2202は、予備走査時に、主走査方向の画像データに対して画素を間引くことにより補間演算を行い、補間演算後の画像データ(すなわち、縮小画像の画像データ)を最小濃度値算出部2203、最大濃度値算出部2204、反転回数算出部2205、エッジ検出部2206へ出力する。また、補間演算部2202は、主走査時には補間演算を行わずに、入力された画像データ(すなわち、縮小されていない画像の画像データ)をエッジ検出部2206へ出力する。
最小濃度値算出部2203は、補間演算部2202から入力された縮小画像の画素ブロックの中で最小濃度値を算出し、算出した最小濃度値を最大濃度差算出部2207へ出力する。最大濃度値算出部2204は、補間演算部2202から入力された縮小画像の画素ブロックの中で最大濃度値を算出し、算出した最大濃度値を最大濃度差算出部2207へ出力する。
最大濃度差算出部2207は、最小濃度値算出部2203及び最大濃度値算出部2204から入力された最小濃度値及び最大濃度値の差分(最大濃度差)を算出し、算出した最大濃度差を最大濃度差判定部2208へ出力する。
最大濃度差判定部2208は、最大濃度差算出部2207から入力された最大濃度差を閾値処理し、最大濃度差が閾値THsubよりも大きい場合、画素ブロックを文字領域又は網点領域(判定信号「0」)と判定し、最大濃度差が閾値THsub以下の場合、画素ブロックをその他の領域(判定信号「1」)と判定し、判定信号を総合判定部2210へ出力する。
反転回数算出部2205は、補間演算部2202から入力された縮小画像の画素ブロック内の各画素値の平均値を求め、この平均値を用いて各画素値を二値化する。反転回数算出部2205は、画素ブロック内の二値化データを走査して、主走査方向の反転回数Kh及び副走査方向の反転回数Kvを算出し、算出した主走査方向の反転回数Kh及び副走査方向の反転回数Kvを反転回数判定部2209へ出力する。
反転回数判定部2209は、反転回数Kh≧所定の閾値THdt、かつ、反転回数Kv≧所定の閾値THdtである場合、画素ブロックを網点領域(判定信号「1」)と判定し、反転回数Kh<所定の閾値THdt、あるいは、反転回数Kv<所定の閾値THdtである場合、画素ブロックを文字領域(判定信号「0」)と判定し、判定信号を総合判定部2210へ出力する。
総合判定部2210は、最大濃度差判定部2208から入力された判定信号及び反転回数判定部2209から入力された判定信号に基づいて、画素ブロックがいずれの領域(例えば、文字領域、網点領域、その他の領域)であるかを最終判定する。総合判定部2210は、最終判定結果に応じて文字画素ブロック計数部2213、網点画素ブロック計数部2214、又はその他の画素ブロック計数部2215のいずれかに判定信号を出力する。例えば、画素ブロックが文字領域であると最終判定された場合、判定信号「1」が文字画素ブロック計数部2213へ出力され、画素ブロックが網点領域であると最終判定された場合、判定信号「1」が網点画素ブロック計数部2214へ出力され、画素ブロックがその他の領域であると最終判定された場合、判定信号「1」がその他の画素ブロック計数部2215へ出力される。
図3は総合判定部2210の最終判定方法を示す説明図である。図に示すように、総合判定部2210は、最大濃度差判定部2208からの判定信号が「0」であり、反転回数判定部2209からの判定信号が「1」である場合、画素ブロックは網点領域であると最終判定し、最大濃度差判定部2208からの判定信号が「0」であり、反転回数判定部2209からの判定信号が「0」である場合、画素ブロックは文字領域であると最終判定し、最大濃度差判定部2208からの判定信号が「1」である場合、反転回数判定部2209からの判定信号が「1」あるいは「0」いずれであっても、画素ブロックはその他の領域であると最終判定する。
なお、画素ブロックの領域判定に用いる閾値、具体的には、最大濃度差に対する閾値THsub、反転回数に対する閾値THdtは、画素ブロックのサイズを設定し、種々の画像サンプルを用いて領域を判定し、文字領域、網点領域、その他の領域に精度良く分離される値を設定すればよい。また、複数の画素ブロックの判定結果を格納しておき、周辺の画素ブロックの判定結果を参照して判定結果を補正することもできる。
文字画素ブロック計数部2213は、総合判定部2210が出力した判定信号「1」を計数し、縮小画像の画素ブロックの総数に対する判定信号の計数値の比率を算出し、算出した比率を原稿判定部2217へ出力する。網点画素ブロック計数部2214は、総合判定部2210が出力した判定信号「1」を計数し、縮小画像の画素ブロックの総数に対する判定信号の計数値の比率を算出し、算出した比率を原稿判定部2217へ出力する。その他の画素ブロック計数部2215は、総合判定部2210が出力した判定信号「1」を計数し、縮小画像の画素ブロックの総数に対する判定信号の計数値の比率を算出し、算出した比率を原稿判定部2217へ出力する。
エッジ検出部(第2エッジ検出手段)2206は、予備走査時に、補間演算部2202から出力された補間演算後の画像(すなわち、縮小画像)の画素ブロック内の各画素を注目画素として走査し、注目画素と該注目画素に隣接する周辺画素の濃度差を閾値THedと比較することによりエッジを検出し、画素ブロック毎に検出されたエッジ画像をエッジ検出結果演算部2211へ出力する。また、エッジ検出部(第1エッジ検出手段)2206は、主走査時に、補間演算部2202から入力された画像(すなわち、縮小されていない画像)の画素ブロック内の各画素を注目画素として走査し、注目画素と該注目画素に隣接する周辺画素の濃度差を閾値THedと比較することによりエッジを検出し、画素ブロック毎に検出されたエッジ画像をエッジ検出結果演算部2211へ出力する。
図4はエッジ検出方法の一例を示す説明図である。図に示すように、注目画素と該注目画素に隣接する周辺画素の濃度差は、主走査方向の隣接画素、及び副走査方向の隣接画素について求め、何れかが閾値THed以上(例えば、画素値が256階調で表されている場合、20〜30程度)の場合、エッジであると判定する。
なお、図4で示すエッジ検出方法は、一例であって、エッジ検出方法はこれに限定されるものではない。例えば、ゾーベルフィルタあるいはラプラシアンフィルタなどのエッジ検出フィルタを用いて、画像データとの畳み込み積分演算を行い、演算結果を閾値処理する(演算結果が閾値以上のとき、エッジと判定する)ことにより、エッジを検出するようにしてもよい。
エッジ検出結果演算部(第2計数手段、第2算出手段)2211は、予備走査時にエッジ検出部2206から入力されたエッジ画像に基づいて、縮小された原稿全体の画像の総画素数に対するエッジ画素の数(エッジの数)の比率Csを算出し、算出した比率Csをメモリ2212に記憶する。また、エッジ検出結果演算部(第1計数手段、第1算出手段)2211は、主走査時にエッジ検出部2206から入力されたエッジ画像に基づいて、縮小されていない原稿全体の画像の総画素数に対するエッジ画素の数(エッジの数)の比率Coを算出し、算出した比率Coをエッジ計数比率判定部2216へ出力する。
エッジ計数比率判定部(割合算出手段)2216は、メモリ2212に記憶された比率Csを読み出し、エッジ検出結果演算部2211から入力された比率Coに対する比率Csの比(Cs/Co)を求め、比(Cs/Co)と閾値THtcとを比較する。エッジ計数比率判定部2216は、比(Cs/Co)≦閾値THtcである場合、原稿に擬似文字(例えば、フォントサイズが4ポイント程度の小さい文字、複雑な網点上文字、あるいは、万線など)が含まれていると判定する。また、エッジ計数比率判定部2216は、比(Cs/Co)>閾値THtcである場合、原稿に擬似文字が含まれていないと判定し、それぞれの判定結果を原稿判定部2217へ出力する。
総和濃度繁雑度算出部(特徴量算出手段、角度依存性判定手段)2218は、主走査時に、信号変換部2201から入力された画像(縮小されていない画像)の各画素を注目画素として走査して総和濃度繁雑度を算出し、算出した総和濃度繁雑度が角度依存性を有するか否かを判定する。なお、万線を構成する平行な複数の直線は方向依存性を有しており、所定領域内で直線の方向依存性の有無を判定することにより、角度依存性の有無を判定し、所定領域が万線領域であるか否かを判定することができる。
図5は万線領域の判定方法を説明するための模式図である。総和濃度繁雑度算出部2218は、例えば、注目画素(図5にはハッチングを付して示してある)を含む7×7の正方形の領域(以下、7×7領域という)毎に、領域内に平行な複数の直線が存在し、この複数の直線が方向依存性を有しているか否かを判定することによって、注目画素が万線領域内の画素であるか否かを判定するようにしてある。
7×7領域内に平行な複数の直線が存在し、この複数の直線が方向依存性を有しているか否かの判定は、例えば0°(図5(A)参照)、90°(図5(B)参照)、45°(図5(C)参照)、135°(図5(D)参照)の4つの方向について、隣接する画素間での画素値(濃度)の差の絶対値の総和(総和濃度繁雑度)をそれぞれ算出し、予め定められた閾値とそれぞれ比較することによって行うことができる。
ここで、4つの方向のいずれかの方向に対して角度依存性を有している場合、特定の方向にのみ総和濃度繁雑度の値が小さく、他の方向では総和濃度繁雑度の値が大きくなる。よって、総和濃度繁雑度算出部2218は、算出した4つの総和濃度繁雑度と予め定められた閾値とを比較し、特定の方向についての総和濃度繁雑度のみが閾値より小さい場合、この注目画素を万線領域に含まれる画素であると判定することができる。
総和濃度繁雑度算出部2218は、この処理を信号変換部2201から入力された画像の画像ブロックの全画素について繰り返して行うことによって、各画像ブロックが万線を含む領域であるか否かを判定する。また、総和濃度繁雑度算出部2218は、この処理を画像の全画素ブロックについて繰り返して行い、万線を含む領域であると判定された画素ブロックの数の、画像の総画素ブロック数に対する比率を算出し、算出した比率と予め定められた閾値とを比較する。総和濃度繁雑度算出部2218は、算出した比率が閾値以上である場合、万線を含む原稿であると判定し、算出した比率が閾値未満である場合、万線を含まない原稿であると判定し、それぞれの判定結果を原稿判定部2217へ出力する。なお、各閾値は、種々の原稿画像において、エッジの角度依存性が的確に判定できる値であればよい。
また、総和濃度繁雑度算出部2218は、0°及び90°の総和濃度繁雑度の差分と、45°及び135°の総和濃度繁雑度の差分とを更に算出し、2つの差分のいずれかが閾値より大きい場合に、この注目画素を万線領域に含まれる画素であると判定することもできる。なお、総和濃度繁雑度算出部2218は、主走査時、予備走査時、またはその両方で、総和濃度繁雑度を算出し、算出した総和濃度繁雑度に基づいて各画素が万線領域に含まれる画素であるか否かの判定を行えばよい。また、総和濃度繁雑度算出部2218は、所定領域(例えば、7×7領域)における総和濃度繁雑度の角度依存性の有無だけでなく、所定領域中の最大濃度値及び最小濃度値の差分である最大濃度差の角度依存性の有無を判定してもよい。
図2において、原稿判定部(判定手段)2217は、文字画素ブロック計数部2213、網点画素ブロック計数部2214、及びその他の画素ブロック計数部2215から入力された各画素ブロックの比率とそれぞれの閾値とを比較し、原稿全体の種別(種類)の判別を行う。例えば、文字画素ブロックの比率と網点画素ブロックの比率とが、それぞれ閾値以上の場合は、文字/網点原稿(文字印刷写真原稿)であると判定する。上記閾値は、処理を行う画素ブロックの大きさを設定して、設定された画素ブロックを用いて種々の画像サンプルで評価を行って適切な値を設定することができる。なお、原稿の種別の判別結果である原稿種別判別信号は、予備走査が終了した段階では出力せずに保持しておく。
また、原稿判定部2217は、予備走査及び主走査の結果、エッジ計数比率判定部2216及び総和濃度繁雑度算出部2218から入力された判定結果に基づいて、保持している原稿種別判別信号を必要に応じて変更し、変更後の原稿種別判別信号を出力する。図6は原稿判定部2217の原稿判別方法を示す説明図である。図に示すように、原稿判定部2217は、例えば、予備走査において、原稿に文字が含まれていると判定し(例えば、文字原稿、文字/印刷写真原稿、文字/印画紙写真原稿など)、エッジ計数比率判定部2216からの判定結果に基づいて、原稿に擬似文字(万線、または、フォントサイズが4ポイント程度の小さい文字)が含まれていると判定した場合、総和濃度繁雑度算出部2218からの判定結果に基づいて、原稿の総和濃度繁雑度が角度依存性を有しているか否かを判定する。
原稿判定部2217は、原稿の総和濃度繁雑度が角度依存性を有しておれば、万線を含む原稿に原稿種別判別信号を変更し、原稿の総和濃度繁雑度が角度依存性を有していなければ、小さい文字を多く含む原稿に原稿種別判別信号を変更して出力する。また、原稿判定部2217は、予備走査において原稿に文字が含まれていないと判定した場合、又は、予備走査において原稿に文字が含まれていると判定し、エッジ計数比率判定部2216からの判定結果に基づいて原稿に擬似文字が含まれていないと判定した場合、予備走査時の原稿種別判別信号をそのまま出力する。
上述したように、本実施の形態1の原稿種別判別部22は、複数の画素からなる画素ブロックについて、文字、網点、その他(例えば、写真のような連続階調領域)の各領域に分離して原稿種別の判別を行う構成を有するが、例えば、注目画素を中心とした各画素ブロックの最大濃度差及び総和濃度繁雑度を算出し、注目画素毎に、文字、網点、印画紙写真、下地領域などに分離して原稿種別の判別を行うように構成しても良い。この場合、エッジ検出部2206によるエッジ検出処理は画素毎に行われる。また、各画素について、エッジが方向性を有するか否かの判定は、上述した総和濃度繁雑度を用いて、角度依存性を有するか否かに基いて行えばよい。
次に、原稿に含まれる擬似文字(例えば、小さい文字が多く含まれている領域、複雑な網点上の文字、万線など)を判別する方法について説明する。ここで、小さい文字が多く含まれている領域とは、例えば、原稿中にフォントサイズが4ポイント程度の文字が印刷されているような場合(カタログの仕様の一覧など)であり、複雑な網点上の文字とは、例えば、原稿中に複雑な地図、カタログの仕様書などで着色された背景上に小さい文字が印刷されているような場合であり、万線(万線パターン)とは、原稿中に画像の濃淡を表すため間隔の狭い平行線で構成されるパターンが印刷されているような場合である。
図7は文字が印刷された原稿の画像の一例を示す模式図であり、図8は万線パターンに文字が印刷された原稿の画像の一例を示す模式図である。図7(a)は、例えば、A4サイズの用紙に「ABCDEFGH」なる文字(小さくない文字)が適宜の間隔を設けて4段に印刷されている原稿の画像A1を示し、図7(b)は図7(a)の原稿(画像)を約20%の大きさに縮小した原稿の画像A2を示す。
それぞれの画像A1、A2に対してエッジを検出する。画像A1の場合、原稿全体に文字が多いので、検出されるエッジ画素(文字)の数は多くなる。原稿全体の総画素数に対するエッジ画素の比率Coは、例えば、10%である。
一方、画像A1を縮小した画像A2では、画像が縮小されたことで、エッジの検出精度が若干低下し、検出されるエッジ画素の数は多少減るものの、原稿全体の総画素数に対するエッジ画素の比率Csは、縮小前の画像A1と比較して大差はなく、例えば、8%である。これは、通常原稿に印刷されている普通のフォントサイズの文字(小さくない文字)は、画像を縮小した場合であっても、エッジ検出による文字の認識精度があまり低下せず、文字の認識を十分に行うことができるからである。したがって、普通のフォントサイズの文字が印刷された原稿の縮小前の比率Coに対する縮小後の比率Csの比(Cs/Co)は、「0.8」程度になる。
一方、図8(a)は、例えば、A4サイズの用紙に背景として万線パターンが印刷され、その上に「ABCDEFGH」なる文字(小さくない文字)が1段に印刷されている原稿の画像B1を示し、図8(b)は図8(a)の原稿(画像)を約20%の大きさに縮小した原稿の画像B2を示す。
それぞれの画像B1、B2に対してエッジを検出する。画像B1の場合、原稿全体に文字が少ないものの、背景に万線パターンが多数あり、万線パターンがエッジとして検出されるため、検出されるエッジ画素(文字)の数は多くなる。原稿全体の総画素数に対するエッジ画素の比率Coは、例えば、10%である。
一方、画像B1を縮小した画像B2では、画像が縮小されたことで、万線パターンの平行線の間隔が一層狭くなり平行線同士が1つの線の如く認識されてしまい、背景の万線パターンがエッジとして検出されなくなる。このため、原稿全体の総画素数に対するエッジ画素の比率Csは、縮小前の画像B1と比較して少なくなり、例えば、2%である。これは、万線パターンのパターン同士が一体化してしまいパターンが認識されなくなるからである。
したがって、万線パターンが印刷された原稿の縮小前の比率Coに対する縮小後の比率Csの比(Cs/Co)は、「0.2」程度になる。すなわち、原稿の画像の縮小前後の比(Cs/Co)を求め、閾値処理(例えば、閾値THtc(=0.5)以下)を行うことにより、万線パターンが印刷された原稿か否かを判定することができる。
小さい文字が多く印刷された原稿、複雑な網点上の文字が印刷された原稿についても、小さい文字や複雑な網点上文字は、原稿を縮小することで、文字同士が一体化して形状がくずれ、さらに文字として認識不能になるため、万線パターンが印刷された原稿と同様に、原稿の画像の縮小前後の比(Cs/Co)を求め、閾値処理(例えば、閾値THtc(=0.5)以下)を行うことにより、小さい文字が多く印刷された原稿であるか否か、複雑な網点上の文字が印刷された原稿であるか否かを判定することができる。
なお、ここでいう原稿(画像)の縮小とは、副走査方向(スキャナの走査方向に平行な方向)は光学的に縮小された画像であり、主走査方向(スキャナの走査方向と垂直な方向)は補間演算(ニアレストネーバー、バイリニア、バイキュービックなど)により、求められた画像(間引かれた画像データ)を意味している。
また、原稿(画像)の縮小方法としては、上述の方法の他に、予備走査(主走査の2倍、あるいは4倍の速度でスキャン)して得られた画像(画像データ)を用いることもできる。この場合には、特に小さい文字や複雑な網点上の文字、水平方向の万線原稿の場合に有効である。また、予備走査の画像データと主走査方向の画像データに対して補間演算により画素を間引いた画像データ、主走査方向及び副走査方向とも補間演算により間引いた画像データ(低解像度変換された画像データ)、さらに、図9(a)に示すようなガウシアン・フィルタ、図9(b)に示すようなフィルタ係数を用いて平滑化された画像データを用いることもできる。
すなわち、画像の縮小には、スキャン時に光学的に縮小する場合、補間演算により画像データを間引きする場合(解像度を低くする場合)がある。縮小するのと同様な効果があるものとしては、平滑化処理がある。なお、フィルタ係数は、種々の画像データを用いて平滑化処理を行ってエッジ検出を行い、その結果に基づいて適切な値を設定すればよい。
次に、画像形成装置100の動作について説明する。図10乃至図12は原稿種別判別処理の手順を示すフローチャートである。なお、原稿種別判別処理は、専用のハードウェア回路で構成するだけでなく、原稿種別判別処理の手順を定めたコンピュータプログラムをRAMにロードしてCPU(いずれも不図示)で実行させることにより行うこともできる。なお、以下の説明では、カラー画像処理装置2を「処理部」という。
処理部は、予備走査を行い(S11)、原稿全体の画像の部分画像(画素ブロックに対応)を取得する。処理部は、予備走査で得られたRGB信号を輝度信号(L信号)に変換し(S12)、主走査方向の画像データに対して補間演算を行い、縮小画像を生成する(S13)。なお、生成された縮小画像は1つの画素ブロックに相当する。また、生成された縮小画像は後段の処理のため画像メモリ(不図示)に記憶される。
処理部は、縮小画像(画素ブロック)の領域判定処理を行う(S14)。なお、領域判定処理の詳細は後述する。処理部は、領域判定処理の結果に基づいて、画素ブロックの最終領域判定である総合判定処理を行い(S15)、画素ブロックの総合判定結果に応じて、文字画素ブロック、網点画素ブロック、あるいはその他の画素ブロックのいずれかの画素ブロック数を加算する(S16)。
処理部は、画像メモリに記憶された縮小画像(画素ブロック)を読み出して、縮小画像のエッジを検出し(S17)、エッジ数を算出する(S18)。なお、ステップS14〜S16の処理と、ステップS17及びS18の処理とは、並行に行うことができる。処理部は、すべての画素ブロックの処理が終了したか否かを判定する(S19)。すべての画素ブロックの処理が終了していない場合(S19でNO)、処理部は、ステップS11以降の処理を続け、原稿の画像の部分画像を取得し、上述の処理を繰り返す。
すべての画素ブロックの処理が終了した場合(S19でYES)、処理部は、原稿全体の画素ブロックの総数に対する文字画素ブロック、網点画素ブロック、あるいはその他の画素ブロックの画素ブロック数の比率に基づいて、原稿種別の判別を行う(S20)。
処理部は、縮小された原稿全体の画素数に対するエッジ数の比率Csを算出し(S21)、算出した比率Csをメモリ2212に記憶する(S22)。なお、ステップS20の処理と、ステップS21及びS22の処理とは、並行に行うことができる。処理部は、主走査を行い(S23)、原稿全体の画像を取得する。処理部は、主走査で得られたRGB信号を輝度信号(L信号)に変換し(S24)、変換後の画像(縮小されていない画像)のエッジを検出する(S25)。処理部は、検出したエッジのエッジ数を算出し(S26)、原稿全体の画素数に対するエッジ数の比率Coを算出する(S27)。
処理部は、ステップS24で変換された画像(縮小されていない画像)に基づいて総和濃度繁雑度を算出する(S28)。具体的には、処理部は、画素ブロックの各画素に対して、4つの方向についての総和濃度繁雑度を算出する。なお、ステップS25〜S27の処理と、ステップS28の処理とは、並行に行うことができる。
処理部は、ステップS22でメモリ2212に記憶させた比率Csを読み出し、ステップS27で算出された比率Coに対する比率Csの比(Cs/Co)を算出し、比(Cs/Co)が閾値THtc以下であるか否かを判定する(S29)。比(Cs/Co)が閾値THtc以下である場合(S29でYES)、処理部は、ステップS28で算出した総和濃度繁雑度が角度依存性を有しているか否かを判定する(S30)。
処理部は、角度依存性を有すると判定した場合(S30でYES)、原稿に万線領域(万線パターンを含む領域)が含まれていると判定し(S31)、角度依存性を有しないと判定した場合(S30でNO)、原稿に小さい文字が多く含まれていると判定し(S32)、原稿種別判別信号を出力して(S33)、処理を終了する。
一方、比(Cs/Co)が閾値THtc以下でない場合(S29でNO)、処理部は、原稿に擬似文字領域(擬似文字)が含まれていないと判定し(S34)、ステップS20で判別された原稿種別判別結果を示す原稿種別判別信号を出力する(S33)。
図13は領域判定処理の手順を示すフローチャートである。処理部は、画素ブロック内の最小濃度値を算出し(S101)、最大濃度値を算出し(S102)、算出した最大濃度値と最小濃度値との差分である最大濃度差を算出する(S103)。処理部は、最大濃度差閾値処理を行い(S104)、最大濃度差が閾値THsubより大きい場合、画素ブロックを文字領域又は網点領域(判定信号「0」)と判定し、最大濃度差が閾値THsub以下の場合、画素ブロックをその他の領域(判定信号「1」)と判定する。
処理部は、画素ブロックを二値化し(S105)、二値化データを走査して、主走査方向及び副走査方向の反転回数Kh、Kvを算出する(S106)。処理部は、反転回数閾値処理を行い(S107)、反転回数Kh≧所定の閾値THdt、かつ、反転回数Kv≧所定の閾値THdtの場合、画素ブロックは網点領域(判定信号「1」)であると判定するとともに、反転回数Kh<所定の閾値THdt、あるいは、反転回数Kv<所定の閾値THdtである場合、画素ブロックは文字領域(判定信号「0」)であると判定し、処理を終了する。なお、ステップS101〜S104の処理と、ステップS105〜S107の処理とは並行して行うことができる。
原稿に万線が含まれていると判定された場合、あるいは、原稿に小さい文字が多く含まれていると判定された場合、領域分離処理において、文字検知を行なわないようにエッジ検出の閾値を変更することができる。また、フィルタ処理において、万線を含む原稿に対しては、文字及び印刷写真が混在している文字/印刷写真原稿に用いられるフィルタで処理を行うよりも平滑化されるフィルタ係数を用い、小さい文字を多く含む原稿に対しては、文字/印刷写真原稿に用いられるフィルタで処理を行うよりも多少文字がくっきりするフィルタ係数を用いる。
更に、中間調処理(階調再現処理部29)では、万線を含む原稿に対しては、階調性を重視したディザ処理又は誤差拡散処理を行い、小さい文字を多く含む原稿に対しては、解像力を重視した処理を行う。上記フィルタ係数、ディザマトリクスの大きさや閾値、誤差拡散処理の拡散係数については、種々の原稿について画像を出力し、品質の良い画像が得られる条件を設定することができる。
(実施の形態2)
実施の形態1では、原稿を予備走査(プレスキャン)することにより、原稿の全体画像のうち所定のサイズの部分画像を順次読み込むとともに、主走査方向の画像データに対して補間演算を行い、画素ブロック毎の縮小画像を生成する構成であったが、予備走査を行わずに原稿種別の判別を行うこともできる。
図14は実施の形態2の原稿種別判別部22の構成を示すブロック図である。実施の形態1(図2参照)との相違点は、補間演算部2202を介さずに信号変換部2201で変換された輝度信号(L信号)を直接に最小濃度値算出部2203、最大濃度値算出部2204、反転回数算出部2205へ出力し、エッジ検出部2206及びエッジ検出結果演算部2211を並列に2段構成とし、補間演算部2202を介して信号変換部2201から出力される輝度信号を一方のエッジ検出部2206へ出力するとともに、補間演算部2202を介さず輝度信号を直接に他方のエッジ検出部2206へ出力するように構成していることである。
この場合、補間演算部2202は、信号変換部2201から入力された画像データ(輝度信号)の主走査方向及び副走査方向それぞれの画像データに対して画素を間引くことにより補間演算を行い、補間演算後の画像データ(すなわち、縮小された画像の画像データ)を一方のエッジ検出部2206へ出力する。エッジ検出部2206、エッジ検出結果演算部2211で実施の形態1と同様の処理を行うことにより、縮小された原稿全体の画像の総画素数に対するエッジ画素の数(エッジの数)の比率Csが算出され、算出された比率Csはエッジ計数比率判定部2216へ出力される。
一方、補間演算部2202を介さずに信号変換部2201から直接に他方のエッジ検出部2206へ出力された画像データ(すなわち、縮小されていない画像の画像データ)は、エッジ検出部2206、エッジ検出結果演算部2211で実施の形態1と同様の処理を行うことにより、縮小されていない原稿全体の画像の総画素数に対するエッジ画素の数(エッジの数)の比率Coが算出され、算出された比率Coはエッジ計数比率判定部2216へ出力される。
エッジ計数比率判定部2216は、比(Cs/Co)を求め、比(Cs/Co)と閾値THtcとを比較することにより、実施の形態1と同様に原稿に擬似文字(例えば、フォントサイズが4ポイント程度の小さい文字の領域、複雑な網点上文字、あるいは、万線パターンなど)が含まれているか否かの判定を行う。これにより、予備走査を行うことなく、原稿に擬似文字が含まれているか否かを判定することができる。
なお、実施の形態2では、補間演算により縮小されていない画像データを用いて、最大濃度差判定、反転回数判定を行って文字領域、網点領域、その他の領域などの領域判定(原稿種別判別)を行う構成であるが、補間演算を行った画像データを用いる構成とすることもできる。
(実施の形態3)
実施の形態2では、予備走査を行わず原稿の画像全体に対して縮小した画像と縮小していない画像とで比率Cs、Coを算出する構成であったが、これに限定されるものではなく、原稿の画像全体に対して処理を行う代わりに、画像を画素ブロックに分割し、画素ブロック毎に擬似文字が含まれているか否かを判定することもできる。この場合、原稿種別の判別(領域判定)も画素ブロック毎に行うことができる。
図15は実施の形態3の原稿種別判別部22の構成を示すブロック図である。実施の形態2(図14参照)との相違点は、エッジ計数比率判定部2216の後段に擬似文字画素ブロック計数部2219を備える点である。
エッジ検出部2206、2206、エッジ検出結果演算部2211、2211、エッジ計数比率判定部2216での各処理は、画素ブロック(例えば、縮小された画像データの場合、4×4画素のブロック、縮小されていない画像データの場合、8×8画素のブロック)単位で行われる。
従って、補間演算部2202の後段のエッジ検出部2206、エッジ検出結果演算部2211によって、補間演算後の画像データ(すなわち、縮小された画像の画像データ)における画素ブロックの総画素数に対するエッジ画素の数(エッジの数)の比率Esが算出され、算出された比率Esはエッジ計数比率判定部2216へ出力される。一方、補間演算部2202を介さずに信号変換部2201から直接に画像データを取得するエッジ検出部2206、エッジ検出結果演算部2211によって、画像データ(すなわち、縮小されていない画像の画像データ)における画素ブロックの総画素数に対するエッジ画素の数の比率Eoが算出され、算出された比率Eoはエッジ計数比率判定部2216へ出力される。
エッジ計数比率判定部2216は、比(Es/Eo)と閾値THtcとを比較する。比(Es/Eo)≦閾値THtcである場合、画素ブロックに擬似文字(例えば、フォントサイズが4ポイント程度の小さい文字の領域、複雑な網点上文字、あるいは、万線など)が含まれていると判定し、判定信号「1」を擬似文字画素ブロック計数部2219へ出力する。また、エッジ計数比率判定部2216は、比(Es/Eo)>閾値THtcである場合、画素ブロックに擬似文字が含まれていないと判定し、判定信号「0」を擬似文字画素ブロック計数部2219へ出力する。
擬似文字画素ブロック計数部2219には、総和濃度繁雑度算出部2218からの判定結果(総和濃度繁雑度の角度依存性の有無)も入力されており、擬似文字画素ブロック計数部2219は、総和濃度繁雑度の角度依存性の有無に基づいて、各画素ブロックが万線領域であるか、または小さい文字を多く含む領域であるかに分けて、エッジ計数比率判定部2216が出力した判定信号「1」を計数する。擬似文字画素ブロック計数部2219は、それぞれの領域に分けて算出した判定信号の計数値の、原稿全体の画素ブロックの総数に対する比率をそれぞれ算出し、算出した比率を原稿判定部2217へ出力する。
原稿判定部2217は、文字画素ブロック計数部2213、網点画素ブロック計数部2214、その他の画素ブロック計数部2215及び擬似文字画素ブロック計数部2219から入力された各画素ブロックの比率とそれぞれの閾値とを比較し、原稿全体の種別の判別を行う。なお、上記閾値は、処理を行う画素ブロックの大きさを設定し、設定された画素ブロックを用いて種々の画像サンプルで評価を行い適切な値を設定することができる。
図16及び図17は実施の形態3の原稿種別判別処理の手順を示すフローチャートである。処理部は、主走査で得られたRGB信号を輝度信号に変換し(S41)、変換後の画像データを一旦画像メモリ(不図示)に記憶する。処理部は、変換後の画像データから所定サイズの画素ブロック(例えば、8×8画素)を抽出して画素ブロックの領域判定処理を行う(S42)。なお、領域判定処理は図13の処理と同様であるので説明は省略する。
処理部は、領域判定処理の結果に基づいて、画素ブロックの最終領域判定である総合判定処理を行い(S43)、画素ブロックの総合判定結果に応じて、文字画素ブロック、網点画素ブロック、あるいはその他の画素ブロックのいずれかの画素ブロック数を加算する(S44)。
処理部は、万線領域を含む画素ブロック数S1及び小さい文字を含む画素ブロック数S2をそれぞれ「0」に設定し(S45)、画像メモリに記憶された画像データから所定サイズの画素ブロック(例えば、8×8画素)を抽出して画像のエッジを検出し(S46)、画素ブロックの総画素数に対するエッジ数の比率Eoを算出する(S47)。
処理部は、画像メモリに記憶された画像データに対して、主走査方向及び副走査方向の補間演算を行い所定サイズの画素ブロック(例えば、4×4画素)、すなわち、縮小画像を生成する(S48)。処理部は、縮小画像のエッジを検出し(S49)、画素ブロックの総画素数に対するエッジ数の比率Esを算出する(S50)。
処理部は、ステップS41で変換された画像(縮小されていない画像)における画素ブロックの総和濃度繁雑度を算出する(S51)。なお、ステップS46及びS47の処理と、ステップS48〜S50の処理と、ステップS51の処理とは、並行に行うことができる。
処理部は、ステップS47で算出された比率Eoに対する、ステップS50で算出された比率Esの比(Es/Eo)を算出し、比(Es/Eo)が閾値THtc以下であるか否かを判定する(S52)。比(Es/Eo)が閾値THtc以下である場合(S52でYES)、処理部は、ステップS51で算出した総和濃度繁雑度が角度依存性を有するか否かを判定する(S53)。
処理部は、角度依存性を有すると判定した場合(S53でYES)、万線領域を含む画素ブロック数S1に「1」を加算し(S54)、角度依存性を有しないと判定した場合(S53でNO)、小さい文字を含む画素ブロック数S2に「1」を加算し(S55)、すべての画素ブロックの処理が終了したか否かを判定する(S56)。比(Es/Eo)が閾値THtc以下でない場合(S52でNO)、処理部は、ステップS56以降の処理を行う。なお、ステップS42〜S44の処理と、ステップS45〜S55の処理とは、並行に行うことができる。
すべての画素ブロックの処理が終了していない場合(S56でNO)、処理部は、ステップS41以降の処理を続け、画素ブロック毎の上述の処理を繰り返す。すべての画素ブロックの処理が終了した場合(S56でYES)、処理部は、原稿全体の画素ブロックの総数に対する文字画素ブロック、網点画素ブロック、その他の画素ブロック、あるいは、擬似文字画素ブロック(万線パターンを含む画素ブロック又は小さい文字を含む画素ブロック)の画素ブロック数の比率に基づいて、原稿種別の判別を行い(S57)、原稿種別判別信号を出力し(S58)、処理を終了する。
(実施の形態4)
上述した実施の形態1〜3は、原稿種別判別処理に本発明を適用した例であったが、本発明の適用範囲はこれに限定されるものではなく、画像の領域分離処理に適用することもできる。
図18は実施の形態4の画像形成装置100の構成を示すブロック図である。実施の形態1〜3との相違点は、原稿種別判別部22が除かれている点と、領域分離処理部24で擬似文字領域(万線パターン又は小さい文字を多く含む領域)の有無の判定を含めた領域分離処理を行う点である。すなわち、シェーディング補正部21は、入力されたRGB信号に対して、カラー画像入力装置1の照明系、結像系、撮像系などで生じた各種の歪みを取り除く補正処理を行うとともに、カラーバランスの調整を行い、調整後のRGB信号を入力階調補正部23へ出力する。
図19は実施の形態4の領域分離処理部24の構成を示すブロック図である。領域分離処理部24は、信号変換部2401、補間演算部2402、最小濃度値算出部2403、最大濃度値算出部2404、反転回数算出部2405、エッジ検出部2406、2406、最大濃度差算出部2407、最大濃度差判定部2408、反転回数判定部2409、総合判定部2410、エッジ検出結果演算部2411、2411、エッジ計数比率判定部2416、総和濃度繁雑度算出部2418などを備えている。
領域分離処理部24は、原稿を走査(主走査でも予備走査でもよいが、以下では、主走査を行う場合について説明する。)して得られた画像データを所定のサイズの画素ブロックに分割し、分割した画素ブロック毎に文字領域、網点領域、その他の領域、あるいは、擬似文字領域(例えば、フォントサイズが4ポイント程度の小さい文字、複雑な網点上の文字、あるいは万線などが含まれる領域)などの領域分離処理を行う。
なお、画素ブロックに擬似文字が含まれるか否かの判定は、実施の形態1〜3と同様に、縮小画像の総画素数に対するエッジの数の比率と、縮小されていない画像の総画素数に対するエッジの数の比率とに基づいて行う。また、擬似文字のうちの万線パターンが画素ブロックに含まれるか否かの判定は、実施の形態1〜3と同様に、縮小されていない画像の所定のサイズの画素ブロックの総数に対する、総和濃度繁雑度が角度依存性を有する画素ブロックの比率に基づいて行う。なお、縮小画像の画素ブロックは、画像データを主走査方向及び副走査方向に補間演算することにより生成される。
信号変換部2401は、入力階調補正部23から入力されたRGB信号(RGBの反射率信号)を輝度信号(L信号)に変換し、変換後の画像データを一旦画像メモリ(不図示)に記憶する。最小濃度値算出部2403、最大濃度値算出部2404、反転回数算出部2405、補間演算部2402、エッジ検出部2406、総和濃度繁雑度算出部2418は、変換後の画像データから所定サイズの画素ブロック(例えば、8×8画素)を抽出して画素ブロック毎に各処理を行う。
最小濃度値算出部2403は、画素ブロックの中で最小濃度値を算出し、算出した最小濃度値を最大濃度差算出部2407へ出力する。最大濃度値算出部2404は、画素ブロックの中で最大濃度値を算出し、算出した最大濃度値を最大濃度差算出部2407へ出力する。
最大濃度差算出部2407は、最小濃度値算出部2403及び最大濃度値算出部2404から入力された最小濃度値及び最大濃度値の差分(最大濃度差)を算出し、算出した最大濃度差を最大濃度差判定部2408へ出力する。
最大濃度差判定部2408は、最大濃度差算出部2407から入力された最大濃度差を閾値処理し、最大濃度差が閾値THsubより大きい場合、画素ブロックを文字領域又は網点領域(判定信号「0」)と判定し、最大濃度差が閾値THsub以下の場合、画素ブロックをその他の領域(判定信号「1」)と判定し、判定信号を総合判定部2410へ出力する。
反転回数算出部2405は、画素ブロックの画像データの平均値を求め、この平均値を用いて各画素を二値化する。反転回数算出部2405は、画素ブロック内の二値化データを走査して、主走査方向の反転回数Kh、副走査方向の反転回数Kvを算出し、算出した主走査方向の反転回数Kh、副走査方向の反転回数Kvを反転回数判定部2409へ出力する。
反転回数判定部2409は、反転回数Kh≧所定の閾値THdt、かつ、反転回数Kv≧所定の閾値THdtの場合、画素ブロックは網点領域(判定信号「1」)であると判定し、反転回数Kh<所定の閾値THdt、あるいは、反転回数Kv<所定の閾値THdtである場合、画素ブロックは文字領域(判定信号「0」)であると判定し、判定信号を総合判定部2410へ出力する。
補間演算部2402は、画素ブロックの主走査方向及び副走査方向それぞれの画像データに対して画素を間引くことにより補間演算を行い、所定のサイズの画素ブロック(例えば、4×4画素、すなわち、縮小された画像の画像データ)を生成し、生成した画素ブロックを後段のエッジ検出部2406へ出力する。
エッジ検出部2406は、補間演算後の画素ブロック内の各画素を注目画素として走査し、注目画素と該注目画素に隣接する周辺画素の濃度差を閾値THedと比較することによりエッジを検出し、画素ブロック毎に検出されたエッジ画像をエッジ検出結果演算部2411へ出力する。
エッジ検出結果演算部2411は、エッジ検出部2406から出力されたエッジ画像に基づいて、縮小された画素ブロックの総画素数に対するエッジ画素の数(エッジの数)の比率Esを算出し、算出した比率Esをエッジ計数比率判定部2416へ出力する。
他方のエッジ検出部2406は、縮小されていない画素ブロック内の各画素を注目画素として走査し、注目画素と該注目画素に隣接する周辺画素の濃度差を閾値THedと比較することによりエッジを検出し、画素ブロック毎に検出されたエッジ画像をエッジ検出結果演算部2411へ出力する。
エッジ検出結果演算部2411は、エッジ検出部2406から入力されたエッジ画像に基づいて、画素ブロックの総画素数に対するエッジ画素の数(エッジの数)の比率Eoを算出し、算出した比率Eoをエッジ計数比率判定部2416へ出力する。
エッジ計数比率判定部2416は、エッジ検出結果演算部2411、2411から入力された比率Eo、Esに基づいて、比率Eoに対する比率Esの比(Es/Eo)を求め、比(Es/Eo)と閾値THtcとを比較する。比(Es/Eo)≦閾値THtcである場合、画素ブロックに擬似文字(例えば、フォントサイズが4ポイント程度の小さい文字、複雑な網点上文字、あるいは、万線パターンなど)が含まれている(判定信号「1」)と判定する。また、エッジ計数比率判定部2416は、比(Es/Eo)>閾値THtcである場合、画素ブロックに擬似文字が含まれていない(判定信号「0」)と判定し、それぞれの判定信号を総合判定部2410へ出力する。
総和濃度繁雑度算出部2418は、画素ブロックに対して、4つの方向について隣接する画素間での総和濃度繁雑度をそれぞれ算出し、算出した4つの総和濃度繁雑度と予め定められた閾値とを比較する。総和濃度繁雑度算出部2418は、特定の方向についての総和濃度繁雑度のみが閾値より小さい場合、この画素ブロックの総和濃度繁雑度が角度依存性を有していると判定し(判定信号「1」)、それ以外の場合、この画素ブロックの総和濃度繁雑度が角度依存性を有していないと判定し(判定信号「0」)、それぞれの判定信号を総合判定部2410へ出力する。
総合判定部2410は、最大濃度差判定部2408、反転回数判定部2409、エッジ計数比率判定部2416、総和濃度繁雑度算出部2418からそれぞれ入力された判定信号に基づいて、画素ブロックがいずれの領域、具体的には、文字領域、網点領域、その他の領域、あるいは、擬似文字領域(万線パターン又は小さい文字を含む領域)であるかを最終判定し、判定結果である領域識別信号を出力する。
図20は実施の形態4の総合判定部2410の最終判定方法を示す説明図である。図に示すように、最大濃度差判定部2408からの判定信号が「1」である場合、反転回数判定部2409、エッジ計数比率判定部2416、総和濃度繁雑度算出部2418からの判定信号にかかわらず、最終判定はその他となる。また、最大濃度差判定部2408からの判定信号が「0」であり、反転回数判定部2409からの判定信号が「1」である場合、エッジ計数比率判定部2416、総和濃度繁雑度算出部2418からの判定信号にかかわらず、最終判定は網点となる。
また、最大濃度差判定部2408、反転回数判定部2409及びエッジ計数比率判定部2416からの判定信号が「0」である場合、総和濃度繁雑度算出部2418からの判定信号にかかわらず、最終判定は文字となる。更に、最大濃度差判定部2408及び反転回数判定部2409からの判定信号が「0」であり、エッジ計数比率判定部2416からの判定信号が「1」である場合、総和濃度繁雑度算出部2418からの判定信号が「0」であるときは、最終判定は小さい文字を多く含む領域となり、総和濃度繁雑度算出部2418からの判定信号が「1」であるときは、最終判定は万線パターンを含む領域となる。
図21及び図22は実施の形態4の領域分離処理の手順を示すフローチャートである。処理部は、主走査で得られたRGB信号を輝度信号に変換し(S71)、変換後の画像データを一旦画像メモリに記憶する。処理部は、変換後の画像データから所定サイズの画素ブロック(例えば、8×8画素)を抽出して画素ブロックの領域判定処理を行い(S72)、判定信号(具体的には、最大濃度差判定部2408及び反転回数判定部2409から出力された判定信号)を記憶する(S73)。なお、領域判定処理は図13の処理と同様であるので説明は省略する。
処理部は、画像メモリに記憶された画像データから所定サイズの画素ブロック(例えば、8×8画素)を抽出して画像のエッジを検出し(S74)、画素ブロックの総画素数に対するエッジ数の比率Eoを算出する(S75)。
処理部は、画像メモリに記憶された画像データに対して、主走査方向及び副走査方向の補間演算を行い所定サイズの画素ブロック(例えば、4×4画素)、すなわち、縮小画像を生成する(S76)。処理部は、縮小画像のエッジを検出し(S77)、画素ブロックの総画素数に対するエッジ数の比率Esを算出する(S78)。処理部は、ステップS71で変換された画像(縮小されていない画像)の総和濃度繁雑度を算出する(S79)。なお、ステップS74及びS75の処理と、ステップS76〜S78の処理と、ステップS79の処理とは、並行に行うことができる。
処理部は、比(Es/Eo)が閾値THtc以下であるか否かに基づいてエッジ計数比率判定部2416から出力される判定信号、及び総和濃度繁雑度が角度依存性を有しているか否かに基づいて総和濃度繁雑度算出部2418から出力される判定信号を記憶する(S80)。なお、ステップS72及びS73の処理と、ステップS74〜S80の処理とは、並行に行うことができる。
処理部は、ステップS73及びS80で記憶した判定信号に基づいて、画素ブロックの領域分離のための総合判定処理を行う(S81)。具体的には、処理部は、最大濃度差判定部2408から出力された判定信号が「1」である場合、処理対象の画素ブロックをその他の領域に分離し、最大濃度差判定部2408から出力された判定信号が「0」であり、反転回数判定部2409から出力された判定信号が「1」である場合、処理対象の画素ブロックを網点領域に分離する。
また、処理部は、最大濃度差判定部2408、反転回数判定部2409及びエッジ計数比率判定部2416から出力された判定信号が「0」である場合、処理対象の画素ブロックを文字領域に分離する。更に、処理部は、最大濃度差判定部2408及び反転回数判定部2409から出力された判定信号が「0」であり、エッジ計数比率判定部2416から出力された判定信号が「1」である場合に、総和濃度繁雑度算出部2418から出力された判定信号が「0」であるときは、処理対象の画素ブロックを小さい文字を多く含む領域に分離し、総和濃度繁雑度算出部2418から出力された判定信号が「1」であるときは、処理対象の画素ブロックを万線パターンを含む領域に分離する。
処理部は、すべての画素ブロックの処理が終了したか否かを判定し(S82)、すべての画素ブロックの処理が終了していない場合(S82でNO)、処理部は、ステップS71以降の処理を続け、画素ブロック毎の上述の処理を繰り返す。すべての画素ブロックの処理が終了した場合(S82でYES)、処理部は、処理を終了する。
画素ブロックが万線を含む領域であると判定された場合、フィルタ処理において、文字及び印刷写真が混在している文字/印刷写真原稿に用いられるフィルタで処理を行うよりも平滑化されるフィルタ係数を用い、中間調処理において、階調性を重視したディザ処理又は誤差拡散処理を行う。また、画素ブロックが小さい文字を多く含む領域であると判定された場合、フィルタ処理において、文字/印刷写真原稿に用いられるフィルタで処理を行うよりも多少文字がくっきりするフィルタ係数を用い、中間調処理において、解像力を重視した処理を行う。
以上説明したように、本発明にあっては、画像に小さい文字、複雑な網点上の文字、あるいは様々なパターンの万線などの擬似文字が含まれている場合に、擬似文字の有無だけでなく、擬似文字のうちの小さい文字が多く含まれているか、又は擬似文字のうちの万線が含まれているかを精度よく判定することができ、それぞれに対応する処理を行うことにより画質の劣化を防止することができる。また、画像を所要の画素ブロックに分割し、画素ブロック毎に擬似文字の有無を判定することができる。また、原稿が擬似文字を含む原稿であるか否かを精度良く判定することができる。
また、フォントサイズが4ポイントなどの小さい文字を多く含む領域、複雑な網点上文字(着色した領域に小さい文字で印刷された領域)に対して領域分離処理を施すと、文字領域であると判定される場合と、網点領域であると判定される場合とがあり、正しく文字領域であると判定されない場合がある。その結果、フィルタ処理を施す際に文字領域であると判定された領域はエッジが強調され、網点領域であると判定された領域(例えば、「へん」や「つくり」の複雑な箇所)は平滑化されるので、部分的にぼやけてしまい画質が劣化する。さらに、万線を含む領域は、本来、平滑化処理が施されるべきであるが、エッジとして検出されやすいため、強調処理が施され、この場合も画質が劣化する。したがって、小さい文字が多く含まれているか否か又は万線が含まれているか否か判定し、小さい文字が多く含まれている又は万線が含まれている場合は、領域分離処理で、これらの領域を検出しにくくするように、エッジを検出する際の閾値を変更して画質の劣化を抑制することができる。
上述の実施の形態では、エッジを検出し、検出したエッジの数と原稿又は画素ブロックの総画素数との比率を算出し、縮小又は低解像度変換された画像における比率と、縮小又は低解像度変換されていない画像における比率との比(割合)を所定の閾値と比較することにより擬似文字の有無を判定する構成であるが、縮小又は低解像度変換された画像におけるエッジの数と、縮小又は低解像度変換されていない画像におけるエッジの数との比を閾値と比較する構成であってもよい。この場合、縮小率あるいは低解像度変換率の大小に応じて閾値を変更すれば同様の効果を得ることができ、擬似文字の有無を判定することができる。
上述の実施の形態において、カラー画像入力装置1としては、例えば、フラットベッドスキャナ、フィルムスキャナ、デジタルカメラ、携帯電話機などが用いられる。また、カラー画像出力装置3としては、例えば、CRTディスプレイ、液晶ディスプレイなどの画像表示装置、処理結果を記録紙などに出力する電子写真方式又はインクジェット方式のプリンタなどが用いられる。さらに、画像形成装置100としては、ネットワークを介してサーバ装置などに接続するための通信手段としてのモデムなどを備えることもできる。また、カラー画像入力装置1からカラー画像データを取得する代わりに、ネットワークを介して外部記憶装置、サーバ装置などからカラー画像データを取得する構成であってもよい。
本発明はコンピュータに実行させるためのコンピュータプログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)を記録したコンピュータでの読み取り可能な記録媒体に、原稿種別判別処理、領域分離処理などを行うプログラムコードを記録することもできる。この結果、上記処理を行うプログラムコードを記録した記録媒体を持ち運び自在に提供することができる。記録媒体としては、マイクロコンピュータで処理が行われるために図示しないメモリ、例えばROMのようなプログラムメディアであってもよく、図示しない外部記憶装置としてのプログラム読取装置が設けられ、そこに記録媒体を挿入することで読み取り可能なプログラムメディアであってもよい。
いずれの場合においても、格納されているプログラムコードはマイクロプロセッサがアクセスして実行させる構成であってもよいし、プログラムコードを読み出し、読み出されたプログラムコードは、マイクロコンピュータの図示されていないプログラム記憶エリアにダウンロードされて、そのプログラムコードが実行される方式であってもよい。この場合、ダウンロード用のコンピュータプログラムは予め本体装置に格納されているものとする。
ここで、上記プログラムメディアは、本体と分離可能に構成される記録媒体であり、磁気テープやカセットテープ等のテープ系、フレキシブルディスクやハードディスク等の磁気ディスク並びにCD−ROM/MO/MD/DVD等の光ディスクのディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュROM等による半導体メモリを含めた固定的にプログラムコードを担持する媒体であってもよい。
また、この場合、インターネットを含む通信ネットワークを接続可能なシステム構成であることから、通信ネットワークからプログラムコードをダウンロードするように流動的にプログラムコードを担持する媒体であってもよい。なお、このように通信ネットワークからプログラムコードをダウンロードする場合には、そのダウンロード用のコンピュータプログラムは予め本体装置に格納しておくか、あるいは別の記録媒体からインストールされるものであってもよい。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。