しかし、単にヒストグラムを作成し、度数が最大値となる濃度を下地濃度と判定するのでは、実際には下地ではない場所まで下地と判定されてしまう場合がある。例えば、グラデーションのような画像では、画像中のある場所までが画像領域と判定され、それ以降の実際には画像領域である場所が下地と判定されてしまう場合がある。
また、上述の特許文献1の手段では、検知した下地濃度に基づく閾値で画像データ全体に対して一意に処理を施してしまうので、実際には下地ではない場所まで下地として除去されてしまう可能性がある。
同様に、特許文献2の手段では、判定された下地濃度に基づく閾値で画像データ全体に対して一意に処理を施してしまうので、例えば判定された下地濃度と同じ濃度の画素が写真画像の一部に存在する場合には、写真画像の一部が下地として除去されてしまう可能性がある。
同様に、特許文献3の手段では、写真画像と判断された場合には下地除去しないとされているものの、文字画像内に下地と同じ濃度の画素が存在する場合には、下地として除去されてしまう課題は解決されていない。
本発明が解決しようとする課題は、下地領域のみを適正的確に検出できる下地検出方法、画像処理方法、プログラム、プログラムが格納された記録媒体、画像処理装置、および画像形成装置を提供することである。
この発明の下地検出方法、画像処理方法、プログラム、プログラムが格納された記録媒体、画像処理装置、および画像形成装置は、上述の課題を解決するための手段として、以下の構成を備えたものである。
(1)複数行複数列の画素から構成される下地検出すべき画像の画像情報に基づいて、前記画像の全領域について前記画像情報の階級値とそれぞれの階級値の度数との関係をあらわす全体画像ヒストグラムを作成するとともに、前記画像のうちの複数の部分画像について、それぞれの部分画像に対応する前記画像情報の階級値とそれぞれの階級値の度数との関係をあらわす部分画像ヒストグラムをそれぞれ作成する第1ステップと、前記全体画像ヒストグラムおよび前記部分画像ヒストグラムのそれぞれの、度数が最大値となる階級値を求める第2ステップと、前記複数の部分画像ヒストグラムのそれぞれの度数が最大値となる階級値同士の差分値を算出し、前記差分値に基づいて検出すべき下地領域があるか否かを判定する第3ステップと、前記第3ステップにおいて下地領域があると判定された場合に、前記全体画像ヒストグラムの度数が最大値となる階級値に基づいて下地領域を検出する第4ステップと、を備えることを特徴とする。
この構成においては、複数の部分画像ヒストグラムが作成され、それぞれの度数が最大値となる階級値同士の差分値に基づいて、画像全体に一様な下地領域が存在するか否かが判定される。また、検出すべき下地領域が存在するか否かがまず判定された後で下地領域が検出されるので、誤った下地検出が低減され、下地領域のみが的確に検出される。
(2)前記第1ステップの前に、前記画像情報を元の量子化ビット数よりも少ないビット数に再量子化するステップをさらに含むことを特徴とする。
この構成においては、再量子化された画像情報に基づいて全体画像ヒストグラムおよび部分画像ヒストグラムが作成されるので、ヒストグラムの作成が簡素化され、制御に要する負担が軽減される。また、ヒストグラムのために用いられるメモリ容量が少なくて済む。さらに、作成されたヒストグラムに基づいて行われる下地検出の判定も簡素化される。
(3)前記第1ステップでは、前記複数の部分画像ヒストグラムは、前記下地検出すべき画像のうち、上部複数行、中部複数行、および下部複数行の3箇所の領域、または、左側複数列、中側複数列、および右側複数列の3箇所の領域、または、上部複数行、中部複数行、下部複数行、左側複数列、中側複数列、および右側複数列の6箇所の領域、のいずれかについて作成されることを特徴とする。
この構成においては、上部複数行、中部複数行、および下部複数行の3箇所の領域、または、左側複数列、中側複数列、および右側複数列の3箇所の領域について、ヒストグラムを作成することによって、小さいデータ容量で画像全体に均一に下地が存在するか否かが判定される。また、上部複数行、中部複数行、下部複数行、左側複数列、中側複数列、および右側複数列の6箇所の領域についてヒストグラムを作成することによって、画像全体に均一に下地が存在するか否かがいっそう高精度に判定される。
(4)前記第1ステップでは、前記複数の部分画像ヒストグラムは、前記下地検出すべき画像のうち、上部複数行と、左側複数列または右側複数列の少なくともいずれか一方とについて作成されることを特徴とする。
この構成においては、部分画像ヒストグラムが、上部複数行と、左側複数列または右側複数列の少なくともいずれか一方とについて作成される。したがって、もし入力された画像情報の画像サイズと、実際の画像の画像サイズとが異なっていた場合でも、通常原稿画像は左上または右上に揃えてセットされるので、確実に原稿画像についての部分画像ヒストグラムが作成される。また、部分画像ヒストグラムのメモリ容量をさらに抑えつつ、下地が均一に存在するか否かが判定される。
(5)前記画像情報は、輝度情報と色度情報とを含み、前記第1ステップでは、輝度情報および色度情報のそれぞれについて全体画像ヒストグラムを作成し、前記第4ステップでは、まず輝度情報についての全体画像ヒストグラムに基づいて仮下地領域を検出し、次に前記仮下地領域の中から色度情報についての全体画像ヒストグラムに基づいて下地領域を検出することを特徴とする。
この構成においては、まず輝度情報に基づいて仮下地領域が検出され、仮下地領域をさらに色度情報によって絞り込むことで下地領域が検出される。したがって、少ない演算量で正確かつ確実に下地流域が検出される。
(6)前記第4ステップでは、前記全体画像ヒストグラムの度数が最大値となる階級値に加え、度数が最大値となる階級値の両隣の階級値と、度数が最大値となる階級値の又隣の階級値であってその度数が3番目に大きい場合にその階級値と、に基づいて下地領域を検出することを特徴とする。
この構成においては、全体画像ヒストグラムの度数が最大値となる階級値に加え、度数が最大値となる階級値の両隣の階級値にも基づいて下地領域が検出される。さらに、度数が最大値となる階級値の又隣の階級値の度数が3番目に大きい場合にはその階級値にも基づいて下地領域が検出される。したがって、いっそう確実に漏れなく下地領域が検出される。
(7)検出された下地領域に対して孤立領域除去処理を施して得られた領域を下地領域とするステップをさらに含むことを特徴とする。
下地領域として検出されるべき画素がノイズによって下地領域として検出されない場合や、逆に、写真画像等の中に下地領域と同じ画像情報の画素が一部存在するとその画素が下地として検出されてしまう場合がある。この構成においては、このような孤立した一部の領域の画素は、その回りの画素の画像情報に基づいて除去される。また、一旦検出された下地領域に対して、さらに孤立領域除去処理が施される。したがって、下地領域として検出されるべき画素は下地領域として適正に検出され、下地領域でない画素は下地領域から的確に除去される。
(8)検出された下地領域ごとの画素数を算出し、前記画素数が予め設定される所定値未満である場合にはその領域を下地領域から除去する処理を施すステップをさらに含むことを特徴とする。
この構成においては、閉領域の画素数が所定値未満の領域は下地領域から除去されるので、予め所望の閾値を設定することによって、下地領域とは認められない小さい領域が下地領域から除去され、下地領域のみが適正に検出される。また、孤立領域除去処理が施された後にさらにこの処理が施されることで、いっそう適正に下地領域のみが検出される。
また、この発明の画像処理方法は、上述の課題を解決するための手段として、以下の構成を備えたものである。
(9)(1)から(8)のいずれかに記載の下地検出方法によって検出された下地領域のみに対して下地除去処理を施すことを特徴とする。
この構成においては、(1)から(8)のいずれかに記載の下地検出方法によって適正的確に検出された下地領域のみに対して下地除去処理が施されるので、文字画像や写真画像等の中に下地領域と同じ画像情報の画素が存在する場合でも、文字画像や写真画像等の中の画素は除去されることなく、下地領域の画素のみが的確に除去される。
また、この発明のプログラムは、上述の課題を解決するための手段として、以下の構成を備えたものである。
(10)複数行複数列の画素から構成される下地検出すべき画像の画像情報に基づいて、前記画像の全領域について前記画像情報の階級値とそれぞれの階級値の度数との関係をあらわす全体画像ヒストグラムを作成するとともに、前記画像のうちの複数の部分画像について、それぞれの部分画像に対応する前記画像情報の階級値とそれぞれの階級値の度数との関係をあらわす部分画像ヒストグラムをそれぞれ作成する第1ステップと、前記全体画像ヒストグラムおよび前記部分画像ヒストグラムのそれぞれの、度数が最大値となる階級値を求める第2ステップと、前記複数の部分画像ヒストグラムのそれぞれの度数が最大値となる階級値同士の差分値を算出し、前記差分値に基づいて検出すべき下地領域があるか否かを判定する第3ステップと、前記第3ステップにおいて下地領域があると判定された場合に、前記全体画像ヒストグラムの度数が最大値となる階級値に基づいて下地領域を検出する第4ステップと、をコンピュータに実行させることを特徴とする。
この構成においては、再量子化された画像情報に基づいて処理することによってメモリ容量が少なくて済み下地検出の判定を簡素化でき、また、誤った下地検出を低減でき、下地領域のみを適正的確に検出できる下地検出方法、および下地領域の画素のみを的確に除去できる下地除去方法が、コンピュータによって実行されるので、上述のような下地検出方法および下地除去方法の汎用性が向上される。
また、この発明の記録媒体は、上述の課題を解決するための手段として、以下の構成を備えたものである。
(11)複数行複数列の画素から構成される下地検出すべき画像の画像情報に基づいて、前記画像の全領域について前記画像情報の階級値とそれぞれの階級値の度数との関係をあらわす全体画像ヒストグラムを作成するとともに、前記画像のうちの複数の部分画像について、それぞれの部分画像に対応する前記画像情報の階級値とそれぞれの階級値の度数との関係をあらわす部分画像ヒストグラムをそれぞれ作成する第1ステップと、前記全体画像ヒストグラムおよび前記部分画像ヒストグラムのそれぞれの、度数が最大値となる階級値を求める第2ステップと、前記複数の部分画像ヒストグラムのそれぞれの度数が最大値となる階級値同士の差分値を算出し、前記差分値に基づいて検出すべき下地領域があるか否かを判定する第3ステップと、前記第3ステップにおいて下地領域があると判定された場合に、前記全体画像ヒストグラムの度数が最大値となる階級値に基づいて下地領域を検出する第4ステップと、をコンピュータに実行させるプログラムをコンピュータに読み取り可能に格納したことを特徴とする。
この構成においては、再量子化された画像情報に基づいて処理することによってメモリ容量が少なくて済み下地検出の判定を簡素化でき、また、誤った下地検出を低減でき、下地領域のみを適正的確に検出できる下地検出方法、および下地領域の画素のみを的確に除去できる下地除去方法、を実行するプログラムが、コンピュータに容易に供給される。
また、この発明の画像処理装置は、上述の課題を解決するための手段として、以下の構成を備えたものである。
(12)複数行複数列の画素から構成される下地検出すべき画像の画像情報に基づいて、前記画像の全領域について前記画像情報の階級値とそれぞれの階級値の度数とをあらわす全体画像ヒストグラムを作成するとともに、前記下地検出すべき画像のうちの複数の部分画像について、それぞれの部分画像に対応する前記画像情報の階級値とそれぞれの階級値の度数とをあらわす部分画像ヒストグラムをそれぞれ作成するヒストグラム作成手段と、前記全体画像ヒストグラムおよび前記部分画像ヒストグラムのそれぞれの、度数が最大値となる階級値を求める解析手段と、前記複数の部分画像ヒストグラムのそれぞれの度数が最大値となる階級値同士の差分値を算出し、前記差分値に基づいて検出すべき下地領域があるか否かを判定する判定手段と、前記判定手段において下地領域があると判定された場合に、前記全体画像ヒストグラムの度数が最大値となる階級値に基づいて仮下地領域を検出する検出手段と、前記検出された仮下地領域に対して、さらに孤立領域除去処理を施して得られた領域を下地領域とする孤立領域除去手段と、前記孤立領域除去手段によって得られた下地領域のみに対して下地除去処理を施す下地除去手段と、を備えることを特徴とする。
この構成においては、複数の部分画像ヒストグラムが作成され、それぞれの度数が最大値となる階級値同士の差分値に基づいて、画像全体に一様な下地領域が存在するか否かが判定される。また、検出すべき下地領域が存在するか否かがまず判定された後で下地領域が検出されるので、誤った下地検出が低減され、下地領域のみが的確に検出される。さらに、仮下地領域に対してさらに孤立領域除去処理が施されるので、下地領域として検出されるべき画素は下地領域として適正に検出され、下地領域でない画素は下地領域から的確に除去される。また、適正的確に検出された下地領域のみに対して下地除去処理が施されるので、下地領域のみが的確に除去される。
(13)前記ヒストグラム作成手段で用いられる前記画像情報を元の量子化ビット数よりも少ないビット数に再量子化する再量子化手段をさらに備え、再量子化された画像情報に基づいて前記全体画像ヒストグラムおよび前記部分画像ヒストグラムを作成することを特徴とする。
この構成においては、再量子化された画像情報に基づいて全体画像ヒストグラムおよび部分画像ヒストグラムが作成されるので、ヒストグラムの作成が簡素化され、制御に要する負担が軽減される。また、ヒストグラムのために用いられるメモリ容量が少なくて済む。さらに、作成されたヒストグラムに基づいて行われる下地検出の判定も簡素化される。
また、この発明の画像形成装置は、上述の課題を解決するための手段として、以下の構成を備えたものである。
(14)前記下地検出すべき画像の画像情報を入力する入力手段と、(12)または
(13)に記載の画像処理装置と、前記画像処理装置によって画像処理された画像を出力する出力手段と、を備えることを特徴とする。
この構成においては、複数の部分画像ヒストグラムが作成され、それぞれの度数が最大値となる階級値同士の差分値に基づいて、画像全体に一様な下地領域が存在するか否かが判定される。また、検出すべき下地領域が存在するか否かがまず判定された後で下地領域が検出されるので、誤った下地検出が低減され、下地領域のみが的確に検出される。さらに、仮下地領域に対してさらに孤立領域除去処理が施されるので、下地領域として検出されるべき画素は下地領域として適正に検出され、下地領域でない画素は下地領域から的確に除去される。また、適正的確に検出された下地領域のみに対して下地除去処理が施されるので、下地領域のみが的確に除去される。さらに、再量子化された画像情報に基づいて処理することによって、メモリ容量が少なくて済み、下地検出の判定が簡素化される。
この発明によれば、以下の効果を奏することができる。
(1)画像全体に一様な下地領域が存在するか否かを判定できる。また、誤った下地検出を低減でき、下地領域のみを的確に検出できる。
(2)ヒストグラムの作成を簡素化でき、制御に要する負担を軽減することができる。また、ヒストグラムのために用いられるメモリ容量が少なくて済む。さらに、作成されたヒストグラムに基づいて行われる下地検出の判定も簡素化することができる。
(3)3箇所の領域についてヒストグラムを作成することによって、小さいデータ容量で画像全体に均一に下地が存在するか否かを判定できる。また、6箇所の領域についてヒストグラムを作成することによって、画像全体に均一に下地領域が存在するか否かをいっそう高精度に判定することができる。
(4)もし入力された画像情報の画像サイズと、実際の画像の画像サイズとが異なっていた場合でも、確実に原稿画像についての部分画像ヒストグラムを作成することができる。また、部分画像ヒストグラムのメモリ容量をさらに抑えつつ、下地が均一に存在するか否かを判定することができる。
(5)少ない演算量で正確かつ確実に下地流域を検出することができる。
(6)いっそう確実に漏れなく下地領域を検出することができる。
(7)下地領域として検出されるべき画素を下地領域として適正に検出することができ、下地領域でない画素を下地領域から的確に除去することができる。
(8)下地領域とは認められない小さい領域を下地領域から除去し、下地領域のみを適正に検出することができる。また、孤立領域除去処理が施された後にさらにこの処理が施されることで、いっそう適正に下地領域のみを検出することができる。
(9)文字画像や写真画像等の中に下地領域と同じ画像情報の画素が存在する場合でも、文字画像や写真画像等の中の画素は除去することなく、下地領域の画素のみを的確に除去することができる。
(10)メモリ容量が少なくて済み下地検出の判定を簡素化でき、また、誤った下地検出を低減でき、下地領域のみを適正的確に検出できる下地検出方法、および下地領域の画素のみを的確に除去できる下地除去方法の、汎用性を向上することができる。
(11)メモリ容量が少なくて済み下地検出の判定を簡素化でき、また、誤った下地検出を低減でき、下地領域のみを適正的確に検出できる下地検出方法、および下地領域の画素のみを的確に除去できる下地除去方法、を実行するプログラムを、コンピュータに容易に供給することができる。
(12)画像全体に一様な下地領域が存在するか否かを判定することができる。また、誤った下地検出を低減でき、下地領域のみを的確に検出することができる。また、下地領域として検出されるべき画素を下地領域として適正に検出でき、下地領域でない画素を下地領域から的確に除去することができる。さらに、下地領域のみを的確に除去することができる。
(13)ヒストグラムの作成を簡素化でき、制御に要する負担を軽減することができる。また、ヒストグラムのために用いられるメモリ容量が少なくて済む。さらに、作成されたヒストグラムに基づいて行われる下地検出の判定も簡素化することができる。
(14)画像全体に一様な下地領域が存在するか否かを判定することができる。また、誤った下地検出を低減でき、下地領域のみを的確に検出することができる。さらに、下地領域として検出されるべき画素を下地領域として適正に検出でき、下地領域でない画素を下地領域から的確に除去することができる。また、下地領域のみを的確に除去することができる。さらに、メモリ容量が少なくて済み、下地検出の判定を簡素化することができる。
以下に、この発明の実施形態を図面に基づいて詳述する。図1は、この発明の実施形態に係るカラー画像形成装置の概略の構成を示すブロック図である。カラー画像形成装置10は、カラー画像入力装置11、カラー画像処理装置20、およびカラー画像出力装置12を含む。カラー画像入力装置11によって入力されたRGB(R:赤、G:緑、B:青)のアナログ信号の画像データは、カラー画像処理装置20内において後述する処理が施され、CMYK(C:シアン、M:マゼンタ、Y:イエロー、K:黒)のデジタルカラー信号として、カラー画像出力装置12へ出力される。
カラー画像入力装置11は、この実施形態ではCCD(Charge Coupled Device )を備えたスキャナであり、原稿画像からの反射光像を、RGBのアナログ信号として読み取り、カラー画像処理装置20に出力する。カラー画像処理装置20については後述する。カラー画像出力装置12は、原稿画像の画像データを記録用紙上に出力する電子写真方式またはインクジェット方式のプリンタである。また、カラー画像出力装置12は、ディスプレイ等の表示装置であってもよい。
カラー画像処理装置20は、A/D(アナログ/デジタル)変換部21を含む。A/D変換部21では、カラー画像入力装置11から入力されたRGBのアナログ信号が例えば8ビットのデジタル信号に量子化される。A/D変換部21から出力されたRGBのデジタル信号はシェーディング補正部22に入力される。シェーディング補正部22では、入力されたRGBのデジタル信号に対して、カラー画像入力装置11の照明系、結像系、撮像系で生じた各種の歪みを取り除く処理が施される。シェーディング補正部22から出力されたRGB信号は入力階調補正部23に入力される。
入力階調補正部23では、シェーディング補正部22において各種の歪みが取り除かれたRGB信号(RGBの反射率信号)に対して、カラーバランスを整えるとともに、濃度信号などカラー画像処理装置20に採用されている扱い易い信号に変換する処理が施される。入力階調補正部23から出力されたRGB信号は色空間変換部24に出力される。
色空間変換部24では、RGB信号がLC1C2(L:輝度、C1・C2:色度)の色空間に変換され、変換後のLC1C2信号は、下地検出処理部26に出力される。下地検出処理部26では、入力されたLC1C2信号が例えば8ビットから5ビットに再量子化される。そして、再量子化されたLC1C2信号はメモリ25に出力されてメモリ25に一時的に格納される。また、再量子化されたLC1C2信号に基づいて画像の下地領域が検出され、検出結果がメモリ25に出力されメモリ25に一時的に格納される。詳細については後述する。
下地検出処理部26での検出結果がメモリ25に格納されると、下地除去処理部27では、色空間変換部24から直接メモリ25に格納された画像データ(LC1C2信号)と、下地検出処理部26の検出結果とがメモリ25から読み出され、画像データ(LC1C2信号)に対して下地検出結果に基づいて下地除去処理が施される。詳細については後述する。下地除去処理部27から出力されたLC1C2信号は領域分離処理部28に入力される。
領域分離処理部28では、LC1C2信号に基づき、入力された画像中の各画素が文字領域、網点領域、写真領域の何れかに分離される。領域分離処理部28では、分離結果に基づいて、各画素がどの領域に属しているかを示す領域識別信号が、空間フィルタ処理部29、黒生成下色除去部32、および階調再現処理部34へと出力されるとともに、下地除去処理部27から入力されたLC1C2信号がそのまま空間フィルタ処理部29へ出力される。
空間フィルタ処理部29では、領域分離処理部28から入力されたLC1C2信号の画像データに対して、領域識別信号に基づきデジタルフィルタによる空間フィルタ処理が施される。これによって、空間周波数特性が補正され、カラー画像出力装置12における出力画像のぼやけや粒状性劣化が防止される。例えば、領域分離処理部28において文字領域に分離された領域は、特に黒文字または色文字の再現性を高めるために、空間フィルタ処理部29において、空間フィルタ処理の一つである鮮鋭強調処理が施され高周波成分が強調される。また、領域分離処理部28において網点領域に分離された領域は、空間フィルタ処理部29において、入力網点成分を除去するためのローパス・フィルタ処理が施される。空間フィルタ処理部29で処理が施された画像データは変倍処理部30へ出力される。
変倍処理部30では、空間フィルタ処理が施された画像データに対し、所定倍率になるように拡大演算処理または縮小演算処理が施される。処理後のLC1C2信号は色補正部31へ出力される。
色補正部31では、入力されたLC1C2信号の画像データがCMYの色空間に変換されるとともに、カラー画像出力装置12に合わせて色補正が施される。補正後のCMY信号の画像データは黒生成下色除去部32へ出力される。
黒生成下色除去部32では、色補正後のCMYの3色信号から黒(K)信号を生成する黒生成処理、および元のCMY信号から黒生成処理で取得されたK信号を差し引いて新たなCMY信号を生成する処理が施され、CMYの3色信号はCMYKの4色信号に変換される。黒生成処理の一例を以下に示す。例えばスケルトンブラックによる黒生成を行う処理(一般的処理)では、スケルトンカーブの入出力特性をy=f(x)とし、入力されるデータをC、M、Yとし、出力されるデータをC’、M’、Y’、K’とし、UCR(Under Color Removal )率をα(0<α<1)とすると、黒生成下色除去処理は以下の数式1で表わされる。
黒生成下色除去部32から出力されたCMYK信号は、出力階調補正部33を介して階調再現処理部34に入力される。
階調再現処理部34では、空間フィルタ処理部29と同様に、CMYK信号の画像データに対して、領域分離処理部28から入力される領域識別信号に基づき所定の処理が施される。例えば、領域分離処理部28において文字領域に分離された領域は、特に黒文字または色文字の再現性を高めるために、階調再現処理部34において、高域周波数成分の再現に適した高解像度のディスプレイに適するように二値化処理または多値化処理が選択されて施される。また、領域分離処理部28において網点領域に分離された領域は、出力階調補正部33において、濃度信号などの信号をカラー画像出力装置12の特性値である網点面積率に変換する出力階調補正処理が施された後、階調再現処理部34において、最終的に画像を画素に分離してそれぞれの階調を再現できるように処理する階調再現処理(中間調生成)が施される。さらに、領域分離処理部において写真領域に分離された領域は、階調再現性を重視したディスプレイに適するように二値化処理または多値化処理が施される。
上述したカラー画像処理装置20における各処理が施された画像データは、図示しない記憶手段に一旦記憶され、所定のタイミングで読み出されてカラー画像出力装置12に入力される。また、以上の処理は図示しないCPU(Central Processing Unit )によって制御される。
なお、カラー画像処理装置20において、下地除去処理部27は下地検出処理部26の直後に配置されているが、これに限定されるものではなく、領域分離処理部28や空間フィルタ処理部29の後などでもよく、下地検出処理部26以降、色補正部31以前であればどこに配置されても構わない。
次に、この発明の特徴部分である下地検出処理部26および下地除去処理部27の構成について説明する。図2は下地検出処理部26および下地除去処理部27の構成を示すブロック図である。下地検出処理部26は、再量子化手段26a、ヒストグラム作成手段26b、ヒストグラム解析手段26c、下地判定手段26d、下地領域検出手段26e、および孤立領域除去手段26fを含む。色空間変換部24から出力された輝度情報Lと色度情報C1、C2とからなる画像データは、再量子化手段26aに入力されるとともに、メモリ25に格納される。再量子化手段26aでは、輝度情報と色度情報とからなる画像データが、例えば8ビットから5ビットに再量子化される。再量子化された画像データは、メモリ25に格納されるとともに、ヒストグラム作成手段26bに出力される。
ヒストグラム作成手段26bでは、再量子化された画像データに基づいて、画像全体についての全体画像ヒストグラムが輝度情報Lおよび色度情報C1、C2のそれぞれについて作成されるとともに、複数の部分画像についてそれぞれ部分画像ヒストグラムが輝度情報Lおよび色度情報C1、C2のそれぞれについて作成される。図3に、ヒストグラムの一例を示す。輝度情報Lについてのヒストグラムでは、横軸が輝度情報Lの階級値を示し、縦軸がそれぞれの階級値の度数を示す。また、色度情報C1についての画像ヒストグラムでは、横軸が色度情報C1の階級値を示し、縦軸がそれぞれの階級値の度数を示す。同様に、色度情報C2についての画像ヒストグラムでは、横軸が色度情報C2の階級値を示し、縦軸がそれぞれの階級値の度数を示す。ヒストグラム解析手段26cでは、それぞれのヒストグラムにおいて度数が最大値となる階級値が算出される。
下地判定手段26dでは、複数の部分画像ヒストグラムのそれぞれの、度数が最大値となる階級値同士の差分値が算出され、この差分値に基づいて、検出すべき下地領域があるか否かが判定される。下地判定手段26dにおいて検出すべき下地領域があると判定された場合、下地領域検出手段26eでは、メモリ25に格納されている再量子化手段で再量子化された画像データが読み出され、再量子化手段で再量子化された画像データのそれぞれの画素の階級値と、全体画像ヒストグラムの度数が最大値となる階級値とに基づいて、画像の下地領域が検出される。孤立領域除去手段26fでは、検出された下地領域の画素に対して、孤立領域除去処理が施され、その処理後のデータが最終的な下地領域マップデータとしてメモリ25に出力され、メモリ25に格納される。
下地除去処理部27は、1DLUT(1次元ルックアップテーブル)作成手段27aおよび下地除去手段27bを含む。1DLUT作成手段27aでは、全体画像ヒストグラムの度数が最大値となる階級値に基づいて、下地除去処理用の1DLUTが作成され、メモリ25に格納される。下地除去手段27bでは、輝度情報Lと色度情報C1、C2とからなる画像データと、孤立領域除去手段26fからメモリ25に入力された下地領域マップデータとに基づいて、下地領域の輝度情報が1DLUTを用いて補正処理される。これによって画像の下地領域が除去される。下地除去された画像データは領域分離処理部28に出力される。
次に、下地検出処理部における処理手順について説明する。図4は、下地検出処理部での処理手順の一部を示すフローチャートである。
まず、色空間変換部24で輝度情報Lと2つの色度情報C1、C2とに分離された画像データが、下地検出処理部26に1画素分ずつ入力される(S1)。ここで、入力された各画像データL、C1、C2は8ビットデータであり、0から255の値をとるものとする。また、色度情報C1、C2は本来それぞれ、−128〜+127の値をとるが、ここでは符号無しで扱えるようにC1、C2にそれぞれ128を加算して0から255の値を用いる。
次に、入力された1画素の画像データの輝度情報Lと2つの色度情報C1、C2とが順次5ビットに再量子化される(S2)。再量子化された画像データはメモリ25に格納されるとともに、輝度情報Lおよび2つの色度情報C1、C2のそれぞれの階級値ごとの度数がカウントアップされる(S3)。そして、下地検出すべき画像の全ての画素についてS1からS3までの処理が終了したか否かが判定される(S4)。全ての画素について終了していない場合にはS1の処理に戻り、下地検出すべき画像の全ての全画素について上述の処理が繰り返される。
また、ここでは画像全体について輝度情報Lおよび色度情報C1、C2の全体画像ヒストグラムが作成される他に、画像の上部16行、中部16行、下部16行、左側16列、中側16列、右側16列についてそれぞれ輝度情報Lおよび色度情報C1、C2の部分画像ヒストグラムが作成される。したがって、この実施形態では合計21個のヒストグラムが作成される。
S4の処理において、全ての画素についてS1からS3までの処理が終了したと判定されると、作成された各ヒストグラムの度数が最大値となる画像データL、C1、C2の階級値がそれぞれ算出される(S5)。そして、複数の部分画像ヒストグラムの、度数が最大値となる輝度情報Lの階級値同士が比較され、度数が最大値となる色度情報C1の階級値同士が比較され、度数が最大値となる色度情報C2の階級値同士が比較される(S6)。これらの比較結果として、それぞれ差分値が取得される。
ここで、もし検出すべき下地領域が存在する場合には、下地領域は原稿画像の全体に略均一に存在し、したがってそれぞれの部分画像にも略同じ画素数の下地領域が存在し、文字画像領域や網点画像領域、写真画像領域よりも画素数が多いと考えられる。したがって、上述のように各部分画像ヒストグラムを作成して度数が最大値となる階級値同士の差分値を算出し、差分値が所定の閾値以下であれば、各部分画像に略同じ階級値の画素が最も多く存在することになり、それらの画素が下地領域の画素であり、下地領域が存在すると判定できる。
そこで、それぞれの差分値全てが予め設定される所定の閾値以下であるか否かが判定され(S7)、全ての差分値が閾値以下であれば下地領域が存在すると判定される。差分値のうち1つでも閾値を超えるものがあれば下地領域は存在しないと判定され、下地検出処理は終了する。
下地領域が存在すると判定された場合には、メモリ25に格納されている5ビットに再量子化された画像データL、C1、C2が1画素分ずつ読み出される(S8)。そして、読み出された画素の輝度情報Lと、輝度情報Lについての全体画像ヒストグラムの度数が最大値となる階級値、度数が最大値となる階級値の両隣の階級値、および度数が最大値となる階級値の又隣の階級値であってその度数が3番目に大きい場合にその階級値とがそれぞれ比較される(S9)。比較結果としての差分値がそれぞれの所定の閾値以下であれば、読み出された画素は下地領域の画素であると仮判定される。差分値が閾値を超える場合には下地領域の画素ではないと判定されて下地領域マップデータとして“0”がメモリ25に出力される。
下地領域の画素であると仮判定された場合には、読み出された画素の2つの色度情報C1、C2と、色度情報C1、C2についての全体画像ヒストグラムの度数が最大値となる階級値とがそれぞれ比較される(S10)。比較結果としての差分値がそれぞれ所定の閾値以下であれば、読み出された画素は下地領域の画素であると判定されて下地領域マップデータとして“1”がメモリ25に出力される。差分値が閾値を超える場合には下地領域の画素ではないと判定されて下地領域マップデータとして“0”がメモリ25に出力される。
そして、S8からS10までの処理が全ての画素に対して終了したか否かが判定される(S11)。全ての画素に対して終了したと判定された場合は、S12の処理に進む。まだ全ての画素に対して終了していないと判定された場合にはS8の処理に戻って次の画素の画像データL、C1、C2が読み出され、1行分の処理が終了すると、さらに次の行の画素に移って処理を続け、最終的に全画素に対してS8からS10までの処理が行われる。
全ての画素に対してS8からS10までの処理が終了した場合は、検出された下地領域マップデータに対して孤立領域除去処理が施される(S12)。この処理では例えば、予め設定されるマスク領域内のデータをメディアンフィルタなどによって中心値で置き換える方法や、注目画素に対して所定のマスク領域が設定され、マスク領域内の“1”と“0”の数が比較され多数決によって多い方の値が注目画素の値に設定される方法などが用いられる。どの方法を採用するかは、最終的な下地領域検出結果をどのように扱うかによって任意に選択するとよい。すなわち例えば、1画素毎の孤立点のみを消しておけばよい場合にはメディアンフィルタを用い、ある程度の大きさの孤立領域をも除去するならば、マスク領域内の多数決による方法を用いるとよい。孤立領域除去処理が施された下地領域マップデータはメモリ25に格納される。
次に、孤立領域除去処理で除去しきれなかった誤検出の下地領域を除去し下地領域検出精度を上げるために、以下の処理が施される。下地領域であると判定された各閉領域内の画素数がカウントされ、画素数が予め設定される所定の閾値以下であれば、その領域は誤検出された下地領域であると判定され、その領域内の“1”の値が全て“0”に変更される(S13)。すなわち画素数が所定値以下の小さい領域は下地領域から除去される。以上で下地検出処理は終了し、次に下地除去処理に移る。
図5を参照しながら、下地除去処理について説明する。図5は、下地除去処理部27での処理手順の一部を示すフローチャートである。まず、輝度情報Lについての全体画像ヒストグラムの度数が最大値となる階級値に基づいて、1DLUTが作成される(S21)。次に、下地検出処理で出力された下地領域マップデータがメモリ25から入力される
(S22)。そして、色空間変換部24で輝度情報Lと2つの色度情報C1、C2とに分離されメモリ25に格納されていた画像データL、C1、C2が、下地除去処理部27に1画素分ずつ入力される(S23)。
入力された1画素分の画像データは下地領域マップデータに基づいて下地領域であるか否かが判定される(S24)。下地領域であると判定された場合は、輝度情報Lに関してはその画素の輝度情報Lとして1DLUTで補正された値が出力され、色度情報C1、C2に関しては無彩色の値に置き換えて出力され、これによって下地が除去される(S25)。S24において下地領域でないと判定された場合は、S25での処理が施されることなくそのままの画像データL、C1、C2が出力され、S26の処理に進む。
そして、全ての画素について上述の処理が終了したか否かが判定され(S26)、全ての画素について終了していない場合はS23の処理に戻り、全ての全画素に対して上述の処理が繰り返される。全ての画素について終了したと判定された場合は、下地除去処理が終了し、結果的に得られた画像データL、C1、C2が領域分離処理部28に出力される。
次に、図6に示すような原稿画像について下地検出処理および下地除去処理する場合を例にあげて具体的に説明する。図6は、原稿画像の一例を示す説明図である。図7は、図6に示す原稿画像の一部の画像領域における各画素の画像データを示す図であり、図7
(a)は入力された8ビットの画像データを示し、図7(b)は5ビットに再量子化された画像データを示し、図7(c)は検出された下地領域マップデータを示す。
1画素分ずつ入力された8ビットの画像データL、C1、C2(図7(a)参照)は、図7(b)に示すような5ビットデータに順次再量子化される。例えば図7(a)の左上の画素の輝度情報L=192が再量子化される場合は次のように処理される。“192”を8ビット2値であらわすと、“11000000”となる。これを3ビット右シフトすると、“11111000”となる。そして、この値の下位5ビットの値を得るために
“00011111”との論理積を求めると、“00011000”となり、これを10進数で表すと、図6(b)に示すように5ビットに再量子化された値“24”が得られる。
再量子化された画像データはメモリ25に格納されるとともに、輝度情報Lおよび2つの色度情報C1、C2のそれぞれの階級値ごとの度数がカウントアップされる。そして、画像の全ての画素について階級値ごとの度数がカウントアップされることによって、図8および図9に示すようなヒストグラムが作成される。ここでは5ビットに再量子化されているので、各画像データL、C1、C2の階級値は0〜31の32段階であらわされる。
図8は、図6に示す原稿画像の画像領域全体についての全体画像ヒストグラムであり、図8(a)は輝度情報Lについての全体画像ヒストグラムであり、図8(b)は色度情報C1についての全体画像ヒストグラムであり、図8(c)は色度情報C2についての全体画像ヒストグラムである。図9は、図6に示す原稿画像の部分画像についての部分画像ヒストグラムであり、図9(a)は上部16行の輝度情報Lについての部分画像ヒストグラムであり、図9(b)は中部16行の輝度情報Lについての部分画像ヒストグラムであり、図9(c)は下部16行の輝度情報Lについての部分画像ヒストグラムである。図9には説明の便宜上、上部16行、中部16行、下部16行の輝度情報Lについての部分画像ヒストグラムのみ示すが、実際には画像の上部16行、中部16行、下部16行、左側16列、中側16列、右側16列についてそれぞれ輝度情報Lおよび色度情報C1、C2の部分画像ヒストグラムが作成される。したがって、この実施形態では合計21個のヒストグラムが作成される。メモリに制限がある等の場合は、上部16行、中部16行、下部16行の3箇所のみ、または、左側16列、中側16列、右側16列の3箇所のみ、または、上部16行と左側16行の2箇所のみ若しくは上部16行と右側16列の2箇所のみなど、可能な数の複数の部分画像ヒストグラムを作成することでも、下地領域があるか否かを判定することが可能である。
部分画像ヒストグラムの度数は例えば次のようにして算出される。画像データの上部部分画像、中部部分画像、下部部分画像については、予め開始行と終了行とが図示しないCPUによってレジスタに設定されており、まず開始行直前の全体画像ヒストグラムの度数がメモリ25に格納され、その後、終了行直後の全体画像ヒストグラムの度数からメモリ25に格納されている開始行直前の全体画像ヒストグラムの度数を減じた値がその部分画像ヒストグラムの度数としてメモリ25に格納されることで得られる。また、画像データの左側部分画像、中側部分画像、右側部分画像の場合には、同様に予め開始画素位置と終了画素位置とがCPUによってレジスタに設定されており、行ごとに、開始画素位置から終了画素位置までカウントされた後、その行の度数がメモリ25に格納される。そして、次の行の開始画素位置になると、メモリ25に格納された前の行の度数が読み出され、同様に開始画素位置からカウントする値が加算されていく。このようにしてカウントすべき全ての行について繰り返されることで、部分画像ヒストグラムの度数が得られる。
図7(b)に示す9画素のみに注目すれば、輝度情報Lについては階級値“24”が9つ、色度情報C1については階級値“7”が6つ、“18”が3つ、色度情報C2については階級値“16”が6つ、“17”が3つということになる。
そして、作成された各ヒストグラムの度数が最大値となる画像データL、C1、C2の階級値がそれぞれ算出される。この場合、例えば次のようにして算出される。まず階級値“0”の度数と階級値“1”の度数とが比較され、度数の大きい方の階級値が選択される。次に、選択された階級値の度数と階級値“2”の度数とが比較され、度数の大きい方の階級値が選択される。このようにして順次比較が繰り返され、最終的に選択された階級値が、度数が最大値となる階級値としてそれぞれレジスタに格納される。また、全体画像ヒストグラムの輝度情報Lについては、度数が3番目に大きい階級値もレジスタに格納される。この場合は例えば、最初に階級値“0”から“2”までの度数が保持され、階級値
“3”の度数と比較され、度数が最も小さい階級値が切り捨てられ、残り3つの階級値が保持される。そしてさらに階級値“4”の度数と比較され、同様の処理が繰り返され、最終的に残った3つの階級値のうち度数が最小となる階級値が、度数が3番目に大きい階級値としてレジスタに格納される。
図8の場合では、輝度情報Lの階級値“24”、色度情報C1の階級値“18”、および色度情報C2の階級値“17”が、それぞれ度数が最大値となる階級値としてレジスタに格納され、輝度情報Lの階級値“26”が、度数が3番目に大きい輝度情報Lの階級値としてレジスタに格納される。また、図9の場合では、上部部分画像の輝度情報Lの階級値“24”、中部部分画像の輝度情報Lの階級値“23”、下部部分画像の輝度情報Lの階級値“24”が、それぞれ度数が最大値となる階級値としてレジスタに格納される。
次に、レジスタに格納された複数の部分画像ヒストグラムの、度数が最大値となる輝度情報Lの階級値同士が比較され、度数が最大値となる色度情報C1の階級値同士が比較され、度数が最大値となる色度情報C2の階級値同士が比較される。具体的には例えば、まず、上部部分画像、中部部分画像、および下部部分画像のそれぞれの、度数が最大値となる輝度情報Lの階級値同士、度数が最大値となる色度情報C1の階級値同士、度数が最大値となる色度情報C2の階級値同士が比較される。次いで、左側部分画像、中側部分画像、および右側部分画像のそれぞれの、度数が最大値となる輝度情報Lの階級値同士、度数が最大値となる色度情報C1の階級値同士、度数が最大値となる色度情報C2の階級値同士が比較される。最後に、上部部分画像および左側部分画像のそれぞれの、度数が最大値となる輝度情報Lの階級値同士、度数が最大値となる色度情報C1の階級値同士、度数が最大値となる色度情報C2の階級値同士が比較される。これらの比較結果として、それぞれ差分値が取得される。
そして、それぞれの差分値全てが予め設定される所定の閾値以下であれば、下地領域が存在すると判定される。差分値のうち1つでも閾値を超えるものがあれば、下地領域は存在しないと判定され、下地検出処理は終了する。具体的には例えば、上部部分画像、中部部分画像、および下部部分画像の輝度情報L、色度情報C1、C2のそれぞれについて、度数が最大値となる階級値同士の差分値が閾値1以下であり、かつ、左側部分画像、中側部分画像、および右側部分画像の輝度情報L、色度情報C1、C2のそれぞれについて、度数が最大値となる階級値同士の差分値が閾値1以下であり、かつ、上部部分画像および左側部分画像の輝度情報L、色度情報C1、C2のそれぞれについて、度数が最大値となる階級値同士の差分値が閾値1以下であれば、下地領域が存在すると判定される。もし、差分値のうちのいずれか1つでも閾値1を超える場合には、下地領域が存在しないと判定され、下地領域に関する信号は出力されずに下地検出処理が終了する。なお、ここでは閾値を1と設定したが、これに限定されるものではなく、再量子化されるビット数や判定精度の調整に応じて適宜変更可能である。
下地領域が存在すると判定された場合は、メモリ25に格納されている5ビットに再量子化された画像データL、C1、C2が1画素分ずつ読み出される。そして、読み出された画素の輝度情報Lと、輝度情報Lについての全体画像ヒストグラムの度数が最大値となる階級値、度数が最大値となる階級値の両隣の階級値、および度数が最大値となる階級値の又隣の階級値であってその度数が3番目に大きい場合にその階級値とが、それぞれ比較される。比較結果としての差分値がそれぞれの所定の閾値以下であれば、読み出された画素は下地領域の画素であると仮判定される。差分値が閾値を超える場合には下地領域の画素ではないと判定されて下地領域マップデータとして“0”がメモリ25に出力される。
ここで、上述のように下地領域は原稿画像の全体に略均一に存在し、文字画像領域や網点画像領域、写真画像領域よりも画素数が多いと考えられることから、読み出された画素の階級値を、全体画像ヒストグラムにおいて度数が最大値となる階級値と比較することで、読み出された画素が下地領域であるか否かが、輝度情報のみからでも判定できるのである。
また、度数が最大値となる階級値に加え、度数が最大値となる階級値の両隣の階級値、および度数が最大値となる階級値の又隣の階級値であってその度数が3番目に大きい場合にその階級値とも比較する理由は以下の通りである。度数が最大値となる階級値は、画像全体にわたって存在する下地領域である可能性が高いからである。また、その両隣の階級値は、カラー画像入力装置11のCCDにおける誤差や濃度ムラなどの影響を受けた下地領域である可能性が高いからである。さらに、度数が最大値となる階級値の又隣の階級値であってその度数が3番目に大きい場合のその階級値、すなわち図8(a)における階級値“26”のような場合は、その階級値も下地領域である可能性が高いからである。
下地領域の画素であると仮判定された場合は、読み出された画素の2つの色度情報C1、C2と、色度情報C1、C2についての全体画像ヒストグラムの度数が最大値となる階級値とがそれぞれ比較される。比較結果としての差分値がそれぞれ所定の閾値以下であれば、読み出された画素は下地領域の画素であると判定されて下地領域マップデータとして“1”がメモリ25に出力される。差分値が閾値を超える場合には下地領域の画素ではないと判定されて下地領域マップデータとして“0”がメモリ25に出力される。
そして、上述のような輝度情報Lによる下地判定、および色度情報C1、C2による下地判定が、全ての画素に対して終了すると、後述する孤立領域除去処理に進む。
輝度情報Lによる下地判定、および色度情報C1、C2による下地判定について、図8に示す場合を例にあげて具体的に説明する。ここでは、度数が最大値となる輝度情報Lの階級値Lmax=24、度数が3番目に大きい輝度情報Lの階級値L3rd=26、度数が最大値となる色度情報C1の階級値C1max=18、度数が最大値となる色度情報C2の階級値C2max=17がレジスタに設定されている。これらの値に基づいて以下の条件式を用いて各画素が下地領域の画素であるか否かが判定される。
数式2は輝度情報Lの条件式である。数式2の1行目の条件式では、対象とする画素の輝度情報Lの階級値が、度数が最大値となる階級値またはその両隣の階級値であるか否かが判定される。数式2の2行目の条件式では、対象とする画素の輝度情報Lの階級値が、度数が3番目に大きく、かつ、度数が最大値となる階級値の又隣の階級値であるか否かが判定される。数式2の1行目の条件式および2行目の条件式の少なくともいずれか一方が満たされれば、輝度情報Lによる下地判定において、下地領域の画素であると仮判定される。図8(a)の全体画像ヒストグラムにおいては、黒く塗りつぶされた部分が数式2の条件を満たす階級値である。
数式3および数式4の条件式では、数式2の1行目の条件式と同様に、色度情報C1、C2の度数が最大値となる階級値またはその両隣の階級値であるか否かがそれぞれ判定される。そして、数式2の条件を満たした画素が、さらに数式3および数式4の条件を満たした場合に、その画素は下地領域の画素であるとして検出される。なおここでは、輝度情報Lによる判定では広めの条件で下地領域を検出し、色度情報C1、C2による判定でさらに領域を限定して下地領域を検出するようにしている。
図7(b)に示す画素で検証すると、輝度情報Lによる数式2の条件では9画素全てが検出されるが、色度情報C1、C2による数式3および数式4の条件では、3画素のみが下地領域の画素として検出され、残りの画素は下地領域から除去される。その結果、図7(c)に示すような下地領域マップデータが検出される。ここで、“1”が下地領域の画素を示し、“0”が下地領域でない画素を示す。
次に、検出精度を高めるために、検出された下地領域マップデータに対してさらに孤立領域除去処理が施される。孤立領域除去処理を施す具体的方法としては例えば、予め設定されるマスク領域内のデータをメディアンフィルタによって中心値で置き換える方法や、注目画素に対して所定のマスク領域が設定され、マスク領域内の“1”と“0”の数が比較され多数決によって多い方の値が注目画素の値に設定される方法などがある。ここでは後者の、マスク領域内の多数決による方法について具体例をあげて説明する。図10(a)は一部の画像領域における下地領域マップデータの一例を示す図であり、図10(b)は孤立領域除去処理が施された後の下地領域マップデータを示す図である。
図10(a)の下地領域マップデータにおいて例えば、上から2行目、左から2列目の画素に注目する場合、その回りの3×3画素がマスク領域として設定される。このマスク領域内では、“1”が7つ、“0”が2つあるので、多数決により注目画素の値は“1”に設定される(図10(b)参照)。そして、注目画素を順次横方向にずらしていき、その行の端まで横にずらしたら、次の行に移り処理を続ける。この際、最も右端や左端に位置する画素のように、マスク領域として3×3画素分設定できない場合がある。このような場合は設定可能なマスク領域(例えば2×3画素)で同様に処理を行う。また、“1”と“0”とが同数の場合は、例えば注目画素の値はそのまま変更しないようにする。このようにして、図10(a)の全ての画素に対して孤立除去処理が行われると図10(b)に示す図のようになる。孤立領域除去処理された下地領域マップデータはメモリ25に格納される。
また、さらに検出精度を高めるために、下地領域であると判定された領域内の画素数をカウントし、その画素数が予め設定される所定の閾値以下であれば、下地領域から除去する処理が施される。具体的には例えば以下のように処理される。図11は、画素数が所定値以下の領域が下地領域から除去される様子を示す説明図である。例えば、図11(a)に示すように孤立領域除去処理された下地領域マップデータの左上の画素から順番に、
“1”か“0”かの値を判定し、“1”が現れたらその画素から右、左、下の値を見て、いずれかに“1”がある画素の数をカウントしていく。さらに、“1”が存在した方向の画素に対して同様に、右、左、下の値を見ていくことで、閉じた領域内にある“1”の数を順次カウントしていく。この数が予め設定される所定の閾値以下であれば、その領域は誤って下地領域であると判定された領域であるとして、その領域内の“1”の値が全て
“0”に変更される。例えば図11において、閾値を100画素という値に設定しておくと、100画素以下の領域は、下地領域として不適正であるとして、その領域内の全ての画素の値が“0”に置き換えられる(図11(b)参照)。閾値をどの程度の値に設定するかは、実験的に様々なサンプルを参照して決定するとよい。
なお、この処理は、孤立領域除去処理で除去しきれなかった下地領域の除去に加え、最終的に残った全ての“1”の数をカウントし、所定の閾値と比較することで、画像全体に本当に下地領域が存在するのか否かの判定に用いることもできる。下地領域が存在するのか否かの判定では例えば、画像全体の25%以下の画素にしか“1”が存在しなかった場合には、最終的に下地領域は存在しないと判定される。
次に、下地除去処理について説明する。図12は、1DLUTのグラフである。まず、レジスタに格納される輝度情報Lについての全体画像ヒストグラムの度数が最大値となる階級値に基づいて、1DLUTが作成される。具体的には、まず、図12に示すように入出力がリニアになる直線(45度の角度の直線)を想定する。次に、全体画像ヒストグラムの度数が最大値となる階級値を3ビット左シフトすることで8ビットに戻し、その値から“a”の値を減じた値を直線の変化開始点とし、この“a”の値を減じた値からさらに“b”の値を加算した値を直線の変化終了点とする。そして、変化終了点の出力値を255に設定して、変化開始点から変化終了点まで直線で結び、変化終了点以降の出力値が255になるようなテーブルデータを作成する。“a”および“b”の値は、度数が最大値となる階級値や、カラー画像入力装置11およびカラー画像出力装置12の性能や、除去したい下地領域などに基づいて設定される。例えば、度数が最大値となる階級値を8ビットに戻した値が所定の閾値以上であれば、a=10、b=30が設定され、閾値未満であれば、a=20、b=40が設定される。この1DLUTはメモリ25に格納される。
例示的に具体的な数値を当てはめてさらに詳述する。まず輝度情報Lについての全体画像ヒストグラムの度数が最大値となる階級値Lmaxを8ビット値に戻した値Lmax’を得る。3ビット右シフトするかまたは8を乗ずることで、数式5のように8ビット値に戻すことができる。
そしてここでは例えば、Lmax’が200以上の値である場合には、a=10、b=10が設定され、Lmax’が199以下の値である場合には、a=15、b=40が設定される。ここではLmax’=192で199以下であるので、a=15、b=40が設定される。この“a”および“b”を用いて1DLUTを作成する場合、以下の数式6〜数式8が用いられる。
以上の数式6〜数式8を用いて作成された1DLUTのテーブルデータを図13に示す。そして、この1DLUTのデータは、入力値xと出力値LUT(x)とが対応するように、メモリ25のメモリアドレス(LUT開始アドレス+x)に、それぞれ出力値LUT(x)の値が格納される。
次に、下地検出処理で出力された下地領域マップデータがメモリ25から入力される。そして、色空間変換部24で輝度情報Lと2つの色度情報C1、C2とに分離されメモリ25に格納されていた画像データL、C1、C2が、下地除去処理部27に1画素分ずつ入力される。
入力された1画素分の画像データは下地領域マップデータに基づいて下地領域であるか否かが判定される。下地領域であると判定された場合は、以下のように処理される。輝度情報Lに関しては、その画素の輝度情報Lとして1DLUTで補正処理された値が出力される。すなわち、図13に示すテーブルデータに基づいて、入力値xに対応する出力値LUT(x)が出力される。色度情報C1、C2に関しては、無彩色になるように符号無しでは“128”(符号ありでは“0”)の値に置き換えて出力される。これによって下地領域が除去される。
下地領域マップデータに基づいて下地領域でないと判定された場合は、輝度情報Lおよび色度情報C1、C2ともに、入力画像データL、C1、C2がそのまま出力される。そして、全ての画素について上述の処理が繰り返され、下地除去処理が終了する。そして、結果的に得られた画像データL、C1、C2が領域分離処理部28に出力される。
図14に、輝度情報Lおよび色度情報C1、C2のそれぞれについて、下地除去処理された結果を示す。図14(a)は下地領域マップデータであり、図14(b)は輝度情報Lについて下地除去処理された結果を示す図であり、図14(c)は色度情報C1について下地除去処理された結果を示す図であり、図14(d)は色度情報C2について下地除去処理された結果を示す図である。下地領域マップデータおよび1DLUTに基づいて補正処理され下地除去された状態を確認できる。
画像処理装置20によれば、複数の部分画像ヒストグラムが作成され、それぞれの度数が最大値となる階級値同士の差分値に基づいて、画像全体に一様な下地領域が存在するか否かを判定することができる。また、検出すべき下地領域が存在するか否かをまず判定した後で下地領域を検出するので、誤った下地検出を低減することができ、下地領域のみを的確に検出することができる。さらに、下地領域であると判定された領域に対してさらに孤立領域除去処理が施されるので、下地領域として検出されるべき画素を下地領域として適正に検出することができ、下地領域でない画素を下地領域から的確に除去することができる。
また、閉領域の画素数が所定の閾値以下の領域は下地領域から除去されるので、下地領域とは認められないような小さい領域を下地領域から除去することができ、下地領域のみを適正に検出することができる。さらに、孤立領域除去処理が施された後にさらにこの処理が施されることで、いっそう適正に下地領域のみを検出することができる。また、適正的確に検出された下地領域のみに対して下地除去処理が施されるので、下地領域のみを的確に除去することができる。さらに、再量子化された画像情報L、C1、C2に基づいて処理することによって、メモリ容量が少なくて済み、下地検出の判定を簡素化することができる。
なお、上述の実施形態の下地検出処理および下地除去処理を、コンピュータにおいて実行可能なプログラムとして構成し、そのプログラムを図示しない記録媒体に格納し、CPUによって制御する構成とすることもできる。記録媒体としては、コンピュータ本体に固定的に備えられるROMやRAM、内蔵ハードディスクなどであってもよく、または、コンピュータ本体と分離可能に構成される記録媒体であってもよい。コンピュータ本体と分離可能に構成される記録媒体としては例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスクや外付けハードディスク等の磁気ディスクや、CD−ROM、MO、MD、DVD等の光ディスクなどのディスク系、ICカード(メモリカードを含む)や光カード等のカード系などであってもよい。あるいはマスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory )、フラッシュROM等による半導体メモリを含めた固定的にプログラムを担持する媒体であっても良い。これによって、下地検出処理および下地除去処理を行うプログラムを記録した記録媒体を持ち運び自在に提供することができる。
また、格納されているプログラムは、マイクロプロセッサがアクセスして実行させる構成であってもよいし、あるいはプログラムを読み出し、読み出されたプログラムはコンピュータの図示しないプログラム記憶エリアにインストールされて、そのプログラムが実行される構成であってもよい。
さらに、この実施の形態においては、図示しないインターネットを含む通信ネットワークを接続可能なシステムに構成することも可能であり、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する媒体であってもよい。なお、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用のプログラムは予めコンピュータ本体内に格納しておくか、あるいは別の記録媒体からインストールされるものであっても良い。
上述のプログラムは、この実施形態の下地検出処理や下地除去処理のみを実行するものではなく、図1に示す画像処理装置20における他の処理も含めて統括的に実行するように構成されたものであってもよい。
また、カラー画像入力装置11としては例えば、フラットベッドスキャナ、フィルムスキャナ、デジタルカメラなどが用いられる。カラー画像出力装置12としては例えば、CRTディスプレイ、液晶ディスプレイなどの画像表示装置、または処理結果を紙などに出力する電子写真方式若しくはインクジェット方式のプリンタなどが用いられる。さらに、画像形成装置10には、ネットワークを介してサーバーなどに接続するための通信手段としてのモデムなどを備えることもできる。
さらに、上述の実施形態では再量子化後のビット数を5ビットとしたが、これに限定されず、検出精度やメモリ量などに応じて任意にビット数を設定すればよい。この場合、設定したビット数に応じて下地領域として検出する画像データL、C1、C2の階級値の範囲を調整するとよい。また、上述の実施形態では再量子化された画像データL、C1、C2を用いて下地検出処理および下地除去処理を行う場合について説明したが、再量子化せずに入力された画像データL、C1、C2をそのまま用いて下地検出処理および下地除去処理してもよい。