(57)【特許請求の範囲】
【請求項１】
種類の異なる複数の画像を含む処理対象画像における注目画素の画素値を、あらかじめ設定された閾値範囲内をランダムに変化して決定される閾値をもとに２値化し、２値化画素信号を提供する２値化手段と、
この２値化手段から提供される２値化画素信号をもとに、黒画素を主走査方向に膨張する膨張手段と、
この膨張手段で黒画素を膨張して得られた複数の黒画素領域を連結する連結手段と、
この連結手段で連結された領域の外接矩形を抽出する外接矩形抽出手段と、
この外接矩形抽出手段で抽出された外接矩形の特徴をもとに、その外接矩形の領域にある画像の種別を前記各外接矩形ごとに判別する画像判別手段とを具備し、
前記２値化手段は、
直列に接続された複数のシフトレジスタと、
前記複数のシフトレジスタの出力信号のうち２以上の出力信号が供給され、前記複数のシフトレジスタの初段のシフトレジスタに排他的論理和演算結果を供給する排他論理和回路と、
前記複数のシフトレジスタの出力信号から得られる閾値と、前記注目画素の画素値とを比較し、比較結果を前記２値化画素信号として提供する比較回路とを具備することを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、例えば、スキャナ、ＦＡＸ、複写機といったＯＡ機器で入力される一般オフィスで用いられる文書画像を対象として、処理対象画像中の文字や写真といった特徴の異なる画像領域を識別して、その特徴に応じた画像処理を施し、高品質な複製画像の生成等を行う画像処理装置に関する。
【０００２】
【従来の技術】
一般にコード情報だけでなくイメージ情報をも扱える文書画像処理装置においては、スキャナなどの読取手段で読み取った原稿に対して文字や線図などのコントラストのある画像情報は固定閾値により単純２値化を行い、写真などの階調を有する画像情報は、誤差拡散法などの擬似階調化手段によって２値化を行っている。
【０００３】
読み取った画像情報を固定閾値により単純２値化処理を行うと、文字、線画像の領域は解像性が保存されるため画質劣化は生じないが、写真画像の領域では階調性が保存されないために画質劣化が生じた画像となってしまう。
【０００４】
一方、読み取った画像情報を誤差拡散法などで階調化処理を行うと、写真画像の領域は階調性が保存されるため画質劣化は生じないが、文字、線画像の領域では解像性が低下するため画質の劣化した画像となってしまう。
【０００５】
すなわち、読み取った画像情報に対して、単純に単一の２値化処理を行うと特徴の異なるそれぞれの領域の画質を同時に満足することは不可能である。従って、文字や写真が混在する文書画像を文字の解像性と写真の階調性を同時に満足する２値化を行うためには、文書画像から文字、写真、網点等の領域を像域分離し、それぞれの領域に適した２値化を行うか、あるいはそれぞれの領域に適した空間フィルタ処理（例えば、文字領域は高域強調フィルタ、写真領域はフィルタ無し、網点領域はローパスフィルタ）を行い特定の擬似階調化手段により２値化を行う必要がある。
【０００６】
同様に、ファクシミリ等読みとった原稿を電送する際も文字、線画に対し圧縮率の良い圧縮方式と写真に対し圧縮率の良い方式を領域毎に選択することが望ましい。
【０００７】
以上の問題に対し、文字、写真、網点写真の３領域を分離する方法として、「ブロック分離変換法」（Block Separate Transformation Method：ＢＳＥＴ法；掲載文献「網点写真の識別処理方法」電子情報通信学会論文誌 '87/2 Vol.J70-B No.2 ）が提案されている。
【０００８】
この方法は、対象画像をブロックに分割し、ブロック内の濃度変化により３領域を分離する方法である。その際、
・写真はブロック内の濃度変化が小さい
・文字及び網点写真はブロック内の濃度変化が大きい
・文字は濃度変化の周期が大きい
・網点写真は濃度変化の周期が小さい
といった濃度変化の性質を利用する。以下に、その処理手順を紹介する。
【０００９】
（１）対象画像を（ｍ×ｎ）画素のブロックに分割する。
（２）ブロック内の最大濃度信号Ｄｍａｘと最小濃度信号Ｄｍｉｎを求め、ブロック内最大濃度差信号ΔＤｍａｘを算出する。
【００１０】
（３）あらかじめ設定した閾値Ｔｈ１とΔＤｍａｘとを比較し、以下の条件で写真領域と非写真領域（文字および網点写真領域）とを分離する。
ΔＤｍａｘ≦Ｔｈ１のとき、そのブロックを写真領域とする。
【００１１】
ΔＤｍａｘ＞Ｔｈ１のとき、そのブロックを非写真領域とする。
（４）ブロック内信号の平均信号Ｄａでブロック内各画素を２値化（０／１）する。
【００１２】
（５）ブロック内主走査方向に連続する画素間の０／１変化回数Ｋｈを求める。
同様に副走査方向についても変化回数Ｋｖを求める。
【００１３】
（６）あらかじめ設定した閾値Ｔｈ２とＫｈ、Ｋｖとを比較し、以下の条件で文字領域と網点写真領域を分離する。
Ｋｈ≧Ｔｈ２かつＫｖ≧Ｔｈ２のとき、そのブロックを網点写真領域とする。
【００１４】
Ｋｈ＜Ｔｈ２またはＫｖ＜Ｔｈ２のとき、そのブロックを文字領域とする。
以上の手順で、対象画素から文字、写真、網点写真領域を分離でき、各領域に対し適切な２値化処理を施すことが可能となる。
【００１５】
しかしながら、領域の分離に誤りが生じた場合、その判定の画像単位は画素または数画素のブロックであるため、対象画像の複製画像を生成する際には不要な原稿上の輪郭やムラ等の画像領域も抽出されて再現されてしまう。
【００１６】
このような問題を解決するための文書画像の領域分割の別のアプローチとして文献「Document Analysis System」（IBM J.RES.Develp Vol.26 No.6(1982)）では、文書画像を大局的に処理し文字領域を抽出する方法が述べられている。
【００１７】
この方法は文書画像における文字の分布特徴（文字は主走査または副走査に文字列として連続的に配置される）を利用した方法で、以下に、その処理手順を紹介する。
【００１８】
（１）対象画像を２値化する（画像Ａ）。
（２）画像Ａの黒画素部を主走査方向に膨張する（画素Ｂ）。
（３）画像Ａの黒画素部を副走査方向に膨張する（画素Ｃ）。
【００１９】
（４）画像Ｂと画像Ｃの論理和をとる（画素Ｄ）。
（５）画像Ｄの連結する黒画素部に外接する矩形のサイズ（長さｘ・高さＨ）を求める。
【００２０】
（６）矩形中の画像Ａにおける黒画素数ＤＣを求める。
（７）矩形中の画像Ａにおける主走査方向の白／黒反転回数ＴＣを求める。
（８）矩形中の画像Ａにおける黒ランの平均長Ｒを次式で求める。
【００２１】
Ｒ＝ＤＣ／ＴＣ
（９）全矩形に対するＨ、Ｒの平均をＨｍ、Ｒｍとして求める。
（１０）以下の条件を満たす領域を文字領域とする。
【００２２】
Ｒ＜Ｃ１・Ｒｍ
Ｈ＜Ｃ２・Ｈｍ
以上の手順により、文字領域と非文字領域の判別が可能となる。この方法では画素単位に領域を識別するのではなく、文字列等の矩形単位に識別が可能となり、領域毎に均一な処理ができる。
【００２３】
【発明が解決しようとする課題】
前述したような画像領域判別方法の手順を概略的に示すと、図１７に示したようになる。すなわち、対象画像である原画像（画像Ｇ１）に対し、単純２値化を行い、その２値化画像（画像Ｇ２）の黒画素を膨脹して得られた黒画素部（画像Ｇ３参照）に外接する矩形を求めて画像領域（画像Ｇ４参照）を抽出するようになっている。
【００２４】
ここで、原画像Ｇ１には、背景がグレーの領域上に人物が配されている写真と文字が混在する画像である。この画像Ｇ１を単純に２値化すると画像Ｇ２に示したように、グレーの領域は白くなり、人物と文字部のみが黒となる。従ってこの画像をもとに膨張および矩形化を行うと、それぞれ画像Ｇ３、Ｇ４に示したように、写真の画像領域が正しく抽出されない。すなわち、対象画像に含まれる階調を有する画像である写真の背景のグレーの領域が２値化により消失し、写真の画像領域が正確に抽出されないという問題点があった。
【００２５】
そこで、本発明は、処理対象画像中の文字や写真といった特徴の異なる画像領域を正確に抽出して、その画像領域を識別することが容易に行え、画像処理の精度の向上が図れる画像処理装置を提供することを目的とする。
【００２６】
【課題を解決するための手段】
本発明の画像処理装置は、種類の異なる複数の画像を含む処理対象画像における注目画素の画素値を、あらかじめ設定された閾値範囲内をランダムに変化して決定される閾値をもとに２値化し、２値化画素信号を提供する２値化手段と、この２値化手段から提供される２値化画素信号をもとに、黒画素を主走査方向に膨張する膨張手段と、この膨張手段で黒画素を膨張して得られた複数の黒画素領域を連結する連結手段と、この連結手段で連結された領域の外接矩形を抽出する外接矩形抽出手段と、この外接矩形抽出手段で抽出された外接矩形の特徴をもとに、その外接矩形の領域にある画像の種別を前記各外接矩形ごとに判別する画像判別手段とを具備する。前記２値化手段は、直列に接続された複数のシフトレジスタと、前記複数のシフトレジスタの出力信号のうち２以上の出力信号が供給され、前記複数のシフトレジスタの初段のシフトレジスタに排他的論理和演算結果を供給する排他論理和回路と、前記複数のシフトレジスタの出力信号から得られる閾値と、前記注目画素の画素値とを比較し、比較結果を前記２値化画素信号として提供する比較回路とを具備する。
【００２８】
【作用】
処理対象画像における注目画素の画素値をその注目画素および周辺画素の画素値とは独立に決定される閾値をもとに２値化し、この２値化された前記注目画素と、その周辺の黒画素をもとに、黒画素を膨張し、この黒画素が膨脹されて得られた複数の黒画素領域を連結し、その結果得られた領域の外接矩形を抽出して、その外接矩形の特徴をもとに、その領域の画像の種別を前記各外接矩形毎に判別することにより、前記処理対象画像中の文字や写真といった特徴の異なる画像領域を正確に抽出して、その画像領域を識別することが容易に行え、画像処理の精度の向上が図れる。
【００３０】
【実施例】
以下、本発明の一実施例について図面を参照して説明する。
図１は本実施例に係る画像処理装置の構成を概略的に示した図である。図１において、例えば、イメージ・スキャナ等により読み取られた、文字、写真等を含む一般オフィスで用いられる文書の画像（入力画像）について、例えば、１画素あたり８ビットのデジタル濃度データ（画素値）である画素信号Ｓ０が、この画像処理装置に入力されると、まず、２値化手段１に入力され、ここで、入力画像に対して後述するような２値化処理を行って２値化画像を求め、２値化画素信号Ｓ２が出力されるようになっている。
【００３１】
２値化手段１で出力された２値化画素信号Ｓ２は、ラン膨脹手段２に入力され、ここで、２値化画素信号Ｓ１をもとに、後述するような２値化画像の黒画素を膨脹する処理を行い、黒画素部（以下、「ラン」とも呼ぶ。）を求め、ラン膨張信号Ｓ２を出力するようになっている。
【００３２】
ラン膨脹手段２から出力されたラン膨脹信号Ｓ２は、ラベリング手段３に入力され、ここで、ラン膨張信号Ｓ２をもとに連結するランを１つの領域として統合（ラベリング）し、その統合された領域の特徴を示す情報を信号Ｓ３として出力するようになている。
【００３３】
ラベリング手段３から出力された信号Ｓ３は、外接矩形抽出手段４に入力され、ここで、信号Ｓ３をもとに、ラベリングされたそれぞれの領域に外接する矩形の大きさを求め、その結果を信号Ｓ４として出力するようになっている。
【００３４】
外接矩形抽出手段４から出力された信号Ｓ４は、判定手段５に入力され、ここで、信号Ｓ４をもとに、外接矩形の大きさから各矩形領域の画像の種別、すなわち、例えば、文字画像領域であるか、写真画像領域であるかを判定し、その結果を信号Ｓ５として出力するようになっている。
【００３５】
判定手段５から出力された信号Ｓ５は、入力画像から抽出され、画像の種別が判定された各画像領域の情報であり、この情報をもとに、後続の処理部、あるいは、画像処理装置において、それぞれの画像領域の特徴に応じた画像処理を施し、高品質な複製画像の生成等を行うようになっている。
【００３６】
次に、図１の２値化手段２について説明する。ここでの２値化処理は、注目画素の画素値とは独立に決定される閾値または周辺画素の画素値に応じて決定される閾値により２値化する方法で次に示す５通りの方法がある。
（１）２値化誤差を周辺画素に分配し階調を保存する誤差拡散法による２値化処理…第１の２値化処理
（２）注目画素の２値化誤差を次に処理される画素において補償し階調を保存する２値化処理…第２の２値化処理
（３）ランダムな閾値による２値化処理…第３の２値化処理
（４）閾値が規則的に変化する組織ディザ法による２値化処理…第４の２値化処理
（５）注目画素を含む（ｎ×ｎ）のウインドウ内の平均値を閾値とする２値化処理…第５の２値化処理
まず、図２を参照して、第１の２値化処理について説明する。すなわち、この第１の２値化処理は、注目画素の濃度データである画素信号Ｓ０に既に２値化した周辺画素の２値化誤差にある重み係数を乗じたものを加え、固定閾値で２値化する方法である。
【００３７】
図２において、スキャナ等の画像入力装置で読み取られた画素信号Ｓ０は、補正部１０において、後述する補正信号Ｓ１０を加算して補正処理を行い、補正信号Ｓ１１を出力する。
【００３８】
補正信号Ｓ１１は、比較部１１において、固定２値化閾値Ｔｈ（例えば「８０」ｈ：ｈは１６進数であることを示す）と比較処理を行い、補正信号Ｓ１１が２値化閾値Ｔｈより大きければ２値化画素信号Ｓ１として「１」（黒画素）を出力し、小さければ「０」（白画素）を出力する。この比較部１１は、補正信号Ｓ１１のデータ長に応じて、例えば、この本実施例の場合、８ビット単位で８ビットの固定閾値Ｔｈと比較し、８ビットの２値化画素信号Ｓ１を出力するようになっている。
【００３９】
２値化誤差算出部１２では、補正信号Ｓ１１と２値化画素信号Ｓ１（ただし、ここでは２値化画素信号が「０」のときは「００」ｈ、「１」のときは「ｆｆ」ｈとする）との差（２値化誤差）を算出し、これを２値化誤差信号Ｓ１２として出力する。
【００４０】
重み誤差算出部１３では、２値化誤差信号Ｓ１２に重み係数記憶部１４の重み係数Ａ、Ｂ、Ｃ、Ｄ（ただし、Ａ＝７／１６、Ｂ＝１／１６、Ｃ＝５／１６、Ｄ＝３／１６）を乗じ、重み誤差Ｓ１３を算出する。ここで、図２の重み係数記憶部１４における「＊」で示した画素は、注目画素の位置を示し、注目画素の２値化誤差に重み係数Ａ、Ｂ、Ｃ、Ｄを乗じて、注目画素の周辺４画素（重み係数Ａ、Ｂ、Ｃ、Ｄの位置に対応する画素）の重み誤差を算出する。
【００４１】
誤差記憶部１５は、重み誤差算出部１３で算出した重み誤差Ｓ１３を記憶するものであり、重み誤差算出部１３で算出した４画素分の重み誤差は、図２の注目画素＊に対してそれぞれｅA 、ｅB 、ｅC 、ｅD に位置する画素に対する補正量として加算して記憶するようになってる。
【００４２】
前述した補正信号Ｓ１０は、図２の誤差記憶部１５に示した＊印の位置の画素の信号であり、以上の手順で算出した計４画素分の重み誤差の累積した信号である。
【００４３】
次に、図３を参照して第２の２値化処理について説明する。すなわち、この第２の２値化処理は第１の２値化処理である「誤差拡散法」の変形例であり、注目画素の画素値に、既に２値化した前画素の２値化誤差を加算し、固定閾値で２値化する方法である。なお、図３において、図２と同一部分には同一符号を付し、異なる部分について説明する。
【００４４】
図３において、補正部１０、比較部１１、２値化誤差算出部１２は、図２に示した構成と同様である。第１の２値化処理と異なる部分は、図１において、補正部１０で画素信号Ｓ０を補正するために入力される信号が補正信号Ｓ１０であるところを、図３では、２値化誤差算出部１２から出力される２値化誤差信号Ｓ１２をそのまま補正部１０に入力して、画素信号Ｓ０と加算されて、画素信号Ｓ０を補正するようになっている。
【００４５】
このように、第１の２値化処理では２値化誤差信号Ｓ１２を次のラインを含む周辺画素に拡散するため、誤差演算用のメモリ（重み係数記憶部１４）や乗算器（重み誤差算出部１３）、さらにはラインメモリ（誤差記憶部１５）を必要とする。これに対し、第２の２値化処理方法では２値化で生じた誤差（２値化誤差信号Ｓ１２）は全て次の画素で補正するため、メモリや乗算器等の回路が削減できる。
【００４６】
次に、第３の２値化処理について説明する。この第３の２値化処理では、前述した第１、第２の２値化処理のように、比較部１１において、固定閾値Ｔｈと補正信号Ｓ１１を比較して、２値化画素信号Ｓ１を出力するのではなく、閾値    Ｔｈｒは可変のもので、しかも、その可変閾値Ｔｈｒと画素信号Ｓ０を比較して２値化画素信号Ｓ１を出力するようになっている。従って、第３の２値化処理を実現するための具体的な構成は、図４に示すように、比較部１１のみで実現できる。すなわち、比較部１１の一方の入力端子に、可変閾値Ｔｈｒが入力され、他方の入力端子に画素信号Ｓ０が入力されて、これらの値を比較することにより、図１で説明したように、例えば８ビットの２値化画素信号Ｓ１を出力するようになってる。
【００４７】
さて、この第３の２値化処理の特徴は、図４の閾値Ｔｈｒがランダムな値をとることで、そのランダムな閾値の発生方法について、図５を参照して説明する。図５は、８ビットのランダムな閾値の発生回路の一具体例を示したものであり、１ビットのシフトレジスタ２２ａ〜２２ｈ、排他論理和（ＥＸＯＲ）回路２１から構成される。
【００４８】
シフトレジスタ２２ａ〜２２ｈには、あらかじめ任意の値（ただし全て「０」の場合は除く）がセットされ、図示しない画像クロックに同期してシフトレジスタ２２ａ〜２２ｈに保持されている値が出力されて、それぞれ次のシフトレジスタ２２ｂ〜２２ｈに入力される。ただし、このとき、シフトレジスタ２２ａには、排他論理和回路２１から出力された、シフトレジスタ２２ｂ、２２ｃ、２２ｇ、２２ｈからの出力値の排他論理和の値が入力され、またシフトレジスタ２２ｈの出力は、排他論理和回路２１の入力端子に入力するようになっている。
【００４９】
ここで、画像クロックとは、スキャナ等により入力画像が読み取られる際に、その入力画像の画素信号Ｓ０とともに本実施例の画像処理装置に入力される、画素信号Ｓ０に同期した１画素毎のタイミング信号である。
【００５０】
このようにして、画像クロックが１クロックづつシフトレジスタ２２ａ〜２２ｈに入力される毎に、各シフトレジスタ２２ａ〜２２ｈのそれぞれから出力される値Ｔｈｒ０〜Ｔｈｒ７が８ビットの閾値Ｔｈｒとして、図４の比較部１１に入力される。
【００５１】
図５に示した構成により、各シフトレジスタ２２ａ〜２２ｈのそれぞれから出力される値Ｔｈｒ０〜Ｔｈｒ７は、画像クロックが入力される度に、異なる値となり、ランダムな閾値Ｔｈｒを得ることができる。
【００５２】
図４の比較部１１で、１画素毎に異なるランダムな閾値Ｔｈｒと画素信号Ｓ０としての画素値を比較し、画素値が閾値Ｔｈｒより小さければ２値化画像信号Ｓ１として「０」を出力し、画素値が閾値以上であれば「１」を出力する。
【００５３】
次に、第４の２値化処理について説明する。この第４の２値化処理は、画素信号Ｓ０と閾値とを比較して２値化を行う際、閾値が規則的に変化する組織ディザ法によるものである。
【００５４】
図６は組織的ディザ法の原理を説明するための図で、（４×４）のディザマトリックスによる２値化の一例である。（４×４）のディザでは閾値は主走査方向（画像のｉ方向）、副走査方向（画像ｊ方向）のそれぞれ４画素の周期で閾値が周期的に変化する。すなわち、図６（ａ）に示すような（４×４）のマトリックス状に位置する入力画像の画素について、図６（ｂ）に示すような（４×４）のディザマトリックス上の各数値はそれぞれに対応する位置にある図６（ａ）のマトリックス上の画素の閾値となり、この（４×４）のマトリックス単位に、閾値が周期的に変化する。
【００５５】
図６（ａ）は入力画像からｉ方向、ｊ方向にそれぞれ４画素づつの（４×４）のマトリックスを抽出したもので、各画素値は、この例では一様に「９０」とする。尚、画素値は８ビットで、その範囲は「０」〜「２５５」であり、「０」が白画素、「２５５」が黒画素を表すものである。
【００５６】
図６（ｃ）は、図６（ａ）の（４×４）のマトリックス状の入力画像に対し、図６（ｂ）のディザマトリックスを用い、組織ディザ法により２値化処理を行った結果の２値化画像を示す図である。
【００５７】
組織ディザ法による２値化処理は、具体的には、マトリックス上の各画素の主走査方向ｉ、副走査方向ｊの位置を（ｉ、ｊ）と座標表現すると、図６（ａ）の入力画像の座標（ｉ、ｊ）に位置する画素の画素値（画素信号Ｓ０）を、図６（ｂ）のディザマトリックス上の座標（ｉ  ｍｏｄ  ４、ｊ  ｍｏｄ  ４）に位置する閾値と比較され、画素信号Ｓ０の値がその対応の閾値より小さければ２値化画素信号Ｓ１として「０」を出力し、画素信号Ｓ０の値がその対応の閾値以上であれば「１」を出力する。ここで      ｍｏｄ  ４は４で割ったときの余数を表す。
【００５８】
例えば、図６（ａ）の入力画像の座標（０、０）の画素についてみると、その画素値は「９０」で、図６（ｂ）の座標（０、０）の閾値は「１６」であるので、比較処理により「１」が出力される。すなわち、図６（ｃ）の２値化画像の座標（０、０）の画素は黒画素となる。
【００５９】
同様に、図６（ａ）の入力画像の座標（１、０）の画素では、その画素値「９０」で、図６（ｂ）の座標（１、０）の閾値は「１４４」であるので、比較処理により「０」出力される。すなわち、図６（ｃ）の２値化画像の座標（１、０）の画素は白画素となる。
【００６０】
以下同様に処理すれば２値化処理結果として図５（ｃ）に示される２値化画像が得られる。
また、入力画像の座標（ｉ、ｊ）の画素の画素値（画素信号Ｓ０）と、それに対応するディザマトリクッス上の閾値とを比較する際、図４に示したように、比較部１１を用いるようにしてもよい。
【００６１】
尚、図６では、ディザマトリックスとして（４×４）の場合を示したが、ディザマトリックスは（ｎ×ｎ）の任意のサイズでよい。
次に、第５の２値化処理について説明する。この第５の２値化処理は、入力画像について、（ｎ×ｎ）単位の画素の領域を１つのウィンドウとして、そのウインドウ内の画素値の平均値を閾値として２値化処理を行うものである。
【００６２】
図７は、注目画素Ｐとその注目画素Ｐの画素値（画素信号Ｓ０）を２値化するための閾値となる画素値の平均値を算出する画素の領域であるウィンドウＷとの位置関係を示すものであり、この例では、ウインドウＷの範囲を（４×４）の場合を示している。なお、ウィンドウサイズは任意の値ｎ（ただしｎ＞１）の（ｎ×ｎ）で差し支えない。
【００６３】
図７において、このウィンドウＷ内の各画素の位置をｘ方向、ｙ方向にそれぞれ座標（ｉ、ｊ）で表すと、ウインドウＷ内の座標（１、１）に注目画素Ｐが位置している。このようなウインドウを入力画像全体に渡って設定し、全画素が注目画素Ｐとして、その画素信号Ｓ０を２値化して２値化画像信号Ｓ１を求めるようになっている。なお、注目画素ＰとウインドウＷとの位置関係は、図７に示した場合に限らず、任意である。
ウインドウＷ内の座標（ｉ、ｊ）の画素の画素値、すなわち、濃度値をＤi、j とすれば、閾値となる平均濃度値Ｄａは次式（数１）で算出される。
【００６４】
【数１】
0003749282.tif 000002
【００６５】
平均濃度値Ｄａを算出するための具体例として、図８に示すような平均値算出回路（平滑化回路）が考えられる。
図８において、この平滑化回路には、入力画像の８ビットの画素信号Ｓ０が画像クロックＣＬＫに同期して、列（ライン）方向（主走査方向）の連続した４画素が８ビット入力端子で構成されるデータ入力ポートにそれぞれに入力される。
【００６６】
平滑化回路に入力された４画素分の画素信号Ｓ０は、まず、セレクタ２５のそれぞれが８ビットデータ入力端子で構成される４つの入力ポートにそれぞれ順次入力される。
【００６７】
カウンタ２６では、画像クロックＣＬＫをカウントすることにより、４画素分の画素信号Ｓ０がセレクタ２５に入力される毎に２ビットの選択信号を出力するようになっている。
【００６８】
セレクタ２５では、カウンタ２６から出力される選択信号に応じて、それぞれが４つの８ビットデータ出力端子から構成される４つの出力ポートのうちいずれか１つの出力ポートから列単位の４画素分の画素信号Ｓ０が出力されるようになっている。すなわち、この４つの出力ポートからは、それぞれ、図７のウインドウＷ内の第１ライン目の連続する４画素（座標（ｉ、０）の画素）、第２ライン目の連続する４画素（座標（ｉ、１）の画素）、第３ライン目の連続する４画素（座標（ｉ、２）の画素）、第４ライン目の連続する４画素（座標（ｉ、３）の画素）がそれぞれ出力される。
【００６９】
セレクタ２５の４つの出力ポートは、それぞれ、加算器２７ａ〜２７ｄに接続され、１ライン毎の４画素分の画素信号Ｓ０が、加算器２７ａ〜２７ｄにそれぞれ分配されて、加算器２７ａ〜２７ｄのそれぞれでは、ライン方向に連続した４画素分の画素値が加算される。
【００７０】
加算器２７ａ〜２７ｄのそれぞれにおいて算出された１ライン毎の４画素分の画素値の加算結果は、加算器２８に入力され、ここで、ライン毎にそれぞれ算出された４画素分の画素値の加算結果をさらに、全ライン（４ライン）について加算して、図７の（４×４）の範囲のウインドウ内の全ての画素の画素値（濃度値）の合計が得られる。
【００７１】
加算器２８での加算結果、すなわち、ウインドウ内の全ての画素の画素値（濃度値）の合計は、除算器２９に入力され、この合計値をウィンドウ内の画素数「１６」（＝４×４）で除算し、図７に示したような（４×４）画素のウインドウの領域内における画素値（画素信号Ｓ０）の平均値が出力される。この平均値を閾値として、その閾値と図７の注目画素Ｐの画素値（画素信号Ｓ０）とを比較し、画素値が閾値より小さければ２値化画像信号Ｓ１として「０」を出力し、画素値が閾値以上であれば「１」を出力し、全画素に対して、このような２値化処理を施して、２値化画像が得られる。
【００７２】
閾値と注目画素Ｐの画素値とを比較する際、図４に示したように、比較部１１を用いるようにしてもよい。
図１の２値化手段１で、画素信号Ｓ０に対し、第１〜第５の２値化処理のうちいづれかの２値化処理がほどこされて出力された２値化画素信号Ｓ１は、ラン膨張手段２に入力され、ここで、２値化画素信号Ｓ１をもとに主走査方向に黒画素の膨張処理が行われる。
【００７３】
ラン膨張処理は１つの注目画素（黒画素）を主走査方向の所定の画素数範囲内に黒画素がある場合、その注目画素とその画素までの間の画素をすべて黒画素に置き換える処理である。
【００７４】
次に、ラン膨張処理について、図９を参照して説明する。ここでは、簡単のため、前記画素数範囲を「４」として説明する。図９において、２値化画像の画素の位置をｘ方向、ｙ方向にそれぞれ座標（ｉ、ｊ）で表すことにする。
【００７５】
図９（ａ）において、座標（２、１）か主走査方向に（５、１）まで黒画素が連続し、２画素おいて、座標（８、１）から主走査方向に座標（１２、１）まで黒画素が連続している場合、座標（２、１）から座標（１２、１）の全ての画素を黒画素に置き換え、図９（ｂ）に示すように、ラン（黒画素部）Ｌ１を得る。
【００７６】
次に、図９（ａ）の座標（１、２）の画素についてみると、主走査方向に座標（３、２）まで黒画素が連続しているが、それより右には４画素以内に黒画素が存在しない。従って、これらの画素には変更を加えず、そのまま、図９（ｂ）に示すように、ランＬ２とする。
【００７７】
同様に、図９（ａ）の座標（９、２）から座標（１１、２）まで連続する黒画素と、座標（１３、２）から座標（１６、２）まで連続する黒画素について、座標（９、２）から座標（１６、２）までを全て黒画素に置き換え、図９（ｂ）に示すように、ランＬ３を得る。
【００７８】
このように、主走査方向に４画素の範囲内に黒画素がある場合は、これらを黒画素の間を全て黒画素に置き換える。
図１０はラン膨張処理を実行するための具体的な回路構成例を示したものである。なお、図１０では、膨張の範囲、すなわち、画素数範囲を「８」とした場合を示している。また、２値化画素信号Ｓ１の値、すなわち、２値化画素値は、その画素が黒画素のとき「１」、白色画素のとき「０」とする。
【００７９】
図１０において、ラッチ回路３０ａには２値化画素信号Ｓ１が入力され、ラッチ回路３０ｂ〜３０ｇは、それぞれの前段にあるラッチ回路３０ａ〜３０ｆからの出力が入力されるように接続され、ラッチ回路３０ｈには、ラッチ回路３０ｇの出力が入力されている。すなわち、ラッチ回路３０ａに、画像クロックとともに１画素目の２値化画素信号Ｓ１（２値化画素値）が入力されて、その値が画像クロックのタイミングに従って、ＦＦ回路３０ａにラッチ（一時保持）され、そのとき、後段のラッチ回路３０ｂに１画素目の２値化画素値が出力される。ラッチ回路３０ｂでは、２画素目の画像クロックのタイミングで１画素目の２値化画素値をラッチし、このとき、ラッチ回路３０ａでは、２画素目の２値化画素値がラッチされ、以下、同様に、画素クロックのタイミングに従って前段のラッチ回路でラッチされた２値化画素値を後段のラッチ回路でラッチして、さらに後段のラッチ回路に出力するような構成になっている。
【００８０】
ラッチ回路３０ａ〜３０ｇの出力はオア回路３１に入力され、さらに、オア回路３１には、ラッチ回路３０ａに入力される２値化画素信号Ｓ１の値も入力され、これらの論理和を求め、その結果を信号ＦＬＡＧ１としてアンド回路３２に出力する。
【００８１】
ラッチ回路３０ｈの出力である２値化画素値はオア回路３３に入力されるとともに、その２値化画素値を論理反転してアンド回路３２にも入力される。
ここで、ラッチ回路３０ｈでラッチされている２値化画素値ＢＩＮを注目画素とすると、ラッチ回路３０ａ〜３０ｇにラッチされる２値化画素値およびラッチ回路３０ａに入力される２値化画素値は、注目画素の次の画素から８番目の画素のものであり、オア回路３１では、それらの画素の中に黒画素が１つでも存在すれば信号ＦＬＡＧ１として「１」を出力し、全て白画素のときは信号ＦＬＡＧ１として「０」を出力する。すなわち、信号ＦＬＡＧ１により、注目画素から８画素の範囲内に黒画素があるかどうかが判断できる。
【００８２】
アンド回路３２には、注目画素の２値化画素値ＢＩＮ、信号ＦＬＡＧ１、後述する注目画素の１画素前の膨脹画像信号ＥＸＯが入力され、ラッチ回路３０ｈにラッチされている注目画素が白画素の場合に、その画素が８画素の範囲内の２つの黒画素の間に位置するかどうかを判定し、その判定結果として信号ＦＬＡＧ２を出力するものである。その際の判定条件は、
信号ＢＩＮ＝「０」かつ信号ＦＬＡＧ１＝「１」かつ信号ＥＸ０＝「１」のとき、信号ＦＬＡＧ２＝「１」
上記条件以外のとき、信号ＦＬＡＧ２＝「０」
となる。
【００８３】
オア回路３３には、注目画素の２値化画素値ＢＩＮとアンド回路３２からの出力信号ＦＬＡＧ２が入力されて、これらの値から以下の判定条件に基づきラン膨張信号Ｓ２を出力するものである。その際の判定条件は、
信号ＢＩＮ＝「１」または信号ＦＬＡＧ２＝「１」のとき、ラン膨脹信号Ｓ２＝「１」
信号ＢＩＮ＝「０」かつ信号ＦＬＡＧ２＝「０」のとき、ラン膨脹信号Ｓ２＝「０」
となる。
【００８４】
前述の注目画素の１画素前のラン膨張信号ＥＸＯは、オア回路３３の出力であるラン膨張信号Ｓ２をラッチ回路３４において、画像クロックにより１画素分遅延させてたものである。
【００８５】
このようにして、２値化画像から抽出されたラン（黒画素部）の情報として出力されるラン膨脹信号Ｓ２をもとに、抽出された１つのラン毎にそのランの始点座標、終点座標、そのランの長さが得られる。
【００８６】
次に、図１のラベリング手段３について説明する。ここでは、ラン膨張手段２で出力されたラン膨脹信号Ｓ２をもとに連結するランを１つの領域として統合（ラベリング）する処理を行う。
【００８７】
図１１（ａ）は、ラン膨張手段２により抽出されたランの具体例を示し、図１１（ｂ）は、図１１（ａ）に示したランについて、ラン膨脹信号Ｓ２から得られるラン情報の記憶例である。
【００８８】
図１１（ｂ）において、抽出された各ラン毎に、番号を付して、それぞれのランの始点座標、終点座標、ランの長さが記憶されている。ラベリング手段３では、このようなラン情報をもとに、ラベリングを行う。なお、このような情報は、本実施例の画像処理装置に具備された所定のメモリ領域に記憶するようにしてもよい。
【００８９】
図１１（ａ）において、ラン番号が「１」のランＬ１０は、ラン番号が「２」のランＬ１１と連結している。さらに、ラン番号が「１」のランＬ１０は、ラン番号が「３」のランＬ１２とも連結している。つまり、ランＬ１０〜Ｌ１２は、すべて連結している。このようにラベリング手段３では連結しているランを１つの領域として統合（ラベリング）する。
【００９０】
図１２は、図１１（ａ）に示したランに対してラベリングした結果、その統合された領域に関する情報の記憶例を示したものである。図１２において、その統合された領域には、ラベル「Ａ」が付されて、その領域の特徴を示す情報としてその領域に連結されたランのラン番号「１」、「２」、「３」が記憶されている。
【００９１】
図１２に示したような情報は、信号Ｓ３として外接矩形抽出手段４に出力される。
次に、外接矩形抽出手段について説明する。ここでは、ラベリング手段３でラベリングされたそれぞれの領域に外接する矩形の位置および大きさを求める。
【００９２】
まず、図１３を参照して外接矩形の抽出方法の原理について説明する。
図１３（ａ）は、外接矩形を抽出する対象となる統合領域の具体例を示したもので、図１１で説明したものと同一のラベル「Ａ」と付された領域である。すなわち、図１３（ａ）に示した領域には、ラン番号「１」、「２」、「３」のランが統合されている。この統合領域の大きさを判定するには、注目ラインとその前ラインとの２本のライン単位に、左から右に向かって、その２ライン上のランの開始点、終了点、長さ等を比較する。
【００９３】
まず、図１３（ａ）において、ランＬ１１およびその前ラインのランＬ１０に注目すると、ランＬ１１の始点はランＬ１０より前方に位置するので、それらに外接する矩形領域の始点は、ランＬ１１の始点上にあり、また、ランＬ１０の終点は、ランＬ１１の終点より後方に位置するので、外接する矩形領域の終点はランＬ１０の終点上にあることになる。従って、ランＬ１０、Ｌ１１に外接する矩形は、図１３（ｂ）に太線で示したようなものとなる。
【００９４】
次に、図１３（ｂ）において、ランＬ１２とランＬ１０に注目すると、ランＬ１０の始点はランＬ１２より前方に位置するので、それらに外接する矩形領域の始点は、ランＬ１０の始点上にあり、また、ランＬ１２の終点は、ランＬ１０の終点より後方に位置するので、外接する矩形領域の終点はランＬ１２の終点上にあることになる。さらに、図１３（ｂ）に太線で示したような外接矩形を考慮して、結局、ランＬ１０、Ｌ１１、Ｌ１２に外接する矩形は、図１３（ｃ）に太線で示したようなものとなる。
【００９５】
このように、図１３（ａ）に示したランＬ１０、Ｌ１１、Ｌ１２が統合されたラベル「Ａ」と付された領域について、外接矩形抽出手段４では、これらのランの始点（ｘ１、ｙ１）、（ｘ２、ｙ２）、（ｘ３、ｙ３）のうち最も小さいｘ座標および最も小さいｙ座標を外接矩形の始点（ｘｓ、ｙｓ）として求める。つまり、対象ラベルに含まれるｎ個のランの始点をそれぞれ（ｘ１、ｙ１）、（ｘ２、ｙ２）…（ｘｎ、ｙｎ）としたとき、外接矩形の始点（ｘｓ、ｙｓ）は、
ｘｓ＝ｍｉｎ（ｘ１、ｘ２、…ｘｎ）
ｙｓ＝ｍｉｎ（ｙ１、ｙ２、…ｙｎ）
と求めることができる。
【００９６】
また、始点の算出と同様に、外接矩形の終点（ｘｅ、ｙｅ）は、
ｘｓ＝ｍａｘ（ｘ１、ｘ２、…ｘｎ）
ｙｓ＝ｍａｘ（ｙ１、ｙ２、…ｙｎ）
と求めることができる。
【００９７】
さらに、外接矩形の大きさ、すなわち、ｘ方向およびｙ方向の長さ（ｘｌ、ｙｌ）は、
ｘｌ＝ｘｅ−ｘｓ＋１
ｙｌ＝ｙｅ−ｙｓ＋１
と求めることができる。
【００９８】
以上の手順で図１１（ｂ）に示したラン情報をもとに算出した外接矩形情報Ｓ４は、例えば、図１４に示すように記憶される。図１４に示した外接矩形情報の記憶例では、図１３（ｃ）に示したラベル「Ａ」と付された外接矩形について、その始点の座標（ｘｓ、ｙｓ）と、大きさ（ｘｌ、ｙｌ）が記憶されている。
【００９９】
ここで、外接矩形の大きさを判定するための判定条件を図１５を参照して説明する。
図１５において、第１ライン目のランＬ２０のラン情報として、ラン開始位置のｘ座標Ｘ０、ｙ座標Ｙ０、ラン長Ｍ０をまとめて（Ｘ０、Ｙ０、Ｍ０）と表し、第２ライン目のランＬ２１のラン情報として、ラン開始位置のｘ座標Ｘ１、ｙ座標Ｙ１、ラン長Ｍ１をまとめて（Ｘ１、Ｙ１、Ｍ１）と表す。また、判定の結果得られる外接矩形の始点を（ｘ方向の座標、ｙ方向の座標）と、外接矩形の大きさを（ｘ方向の長さ、ｙ方向の長さ）と表す。
【０１００】
外接矩形の大きさを判断する際、第１ライン目のランＬ２０と第２ライン目のランＬ２１の位置関係が判断基準となるが、その対象となる位置関係としては、図１５（ａ）〜（ｆ）に示すような６つの場合が考えられる。
【０１０１】
図１５（ａ）は、第１の判定条件の対象を示したもので、ランＬ２０とランＬ２１との位置関係が、第２ライン目のランＬ２１は、第１ライン目のランＬ２０より前方にあり、かつ、互いに連結されていない場合である。すなわち、Ｘ０＞Ｘ１＋Ｍ１のとき、Ｌ２０とランＬ２１は非連結であると判定され、その結果、得られる外接矩形の始点は（Ｘ１、Ｙ１）、大きさは（Ｍ１、Ｙ−Ｙ１＋１）となる。ここで、Ｙは処理中のライン番号を表し、図１５の場合、Ｙ＝Ｙ１である。
【０１０２】
図１５（ｂ）は、第２の判定条件の対象を示したもので、ランＬ２０とランＬ２１との位置関係が、第２ライン目のランＬ２１の始点は第１ライン目のランＬ２０の始点より前方にあり、かつ、第２ライン目のランＬ２１の終点は第１ライン目のランＬ２０の終点より前方にあり、互いに連結されている場合である。すなわち、Ｘ０＞Ｘ１、Ｘ０≦Ｘ１＋Ｍ１、Ｘ０＋Ｍ０＞Ｘ１＋Ｍ１のとき、判定される外接矩形の始点は（Ｘ１、Ｙ０）、大きさは（Ｘ０＋Ｍ０−Ｘ１＋１、Ｙ−Ｙ０＋１）となる。
【０１０３】
図１５（ｃ）は、第３の判定条件の対象を示したもので、ランＬ２０とランＬ２１との位置関係が、第２ライン目のランＬ２１の始点は第１ライン目のランＬ２０の始点より前方にあり、かつ、第２ライン目のランＬ２１の終点は第１ライン目のランＬ２０の終点より後方にあり、互いに連結されている場合である。すなわち、Ｘ０＞Ｘ１、Ｘ０≦Ｘ１＋Ｍ１、Ｘ０＋Ｍ０≦Ｘ１＋Ｍ１のとき、判定される外接矩形の始点は（Ｘ１、Ｙ０）、大きさは（Ｍ１、Ｙ−Ｙ０＋１）となる。
【０１０４】
図１５（ｄ）は、第４の判定条件の対象を示したもので、ランＬ２０とランＬ２１との位置関係が、第２ライン目のランＬ２１の始点は第１ライン目のランＬ２０の始点より後方にあり、かつ、第２ライン目のランＬ２１の終点は第１ライン目のランＬ２０の終点より前方にあり、互いに連結されている場合である。すなわち、Ｘ０≦Ｘ１、Ｘ０≦Ｘ１＋Ｍ１、Ｘ０＋Ｍ０＞Ｘ１＋Ｍ１のとき、判定される外接矩形の始点は（Ｘ０、Ｙ０）、大きさは（Ｍ０、Ｙ−Ｙ０＋１）となる。
【０１０５】
図１５（ｅ）は、第５の判定条件の対象を示したもので、ランＬ２０とランＬ２１との位置関係が、第２ライン目のランＬ２１の始点は第１ライン目のランＬ２０の始点より後方にあり、かつ、第２ライン目のランＬ２１の終点は第１ライン目のランＬ２０の終点より後方にあり、互いに連結されている場合である。すなわち、Ｘ０≦Ｘ１、Ｘ０≦Ｘ１＋Ｍ１、Ｘ０＋Ｍ０≦Ｘ１＋Ｍ１のとき、判定される外接矩形の始点は（Ｘ０、Ｙ０）、大きさは（Ｘ１＋Ｍ１−Ｘ０＋１、Ｙ−Ｙ０＋１）となる。
【０１０６】
図１５（ｆ）は、第６の判定条件の対象を示したもので、ランＬ２０とランＬ２１との位置関係が、第２ライン目のランＬ２１は、第１ライン目のランＬ２０より後方にあり、かつ、互いに連結されていない場合である。すなわち、Ｘ０＋Ｍ０＜Ｘ１のとき、第１ライン目のランＬ２０との連結の終了が判定され、その結果、得られる外接矩形の始点は（Ｘ０、Ｙ０）、大きさは（Ｍ０、Ｙ−Ｙ０＋１）となる。
【０１０７】
図１６は、ラベリング手段３および外接矩形抽出手段４の回路構成の具体例を示したものである。
図１６において、ラン膨張手段２からのラン膨脹信号Ｓ２について、まず第１ライン目のランのラン情報（ラン開始位置のＸ座標、Ｙ座標、ラン長）がセレクタ４０を介してメモリ４１に記憶される。メモリ４１に記憶されたラン情報はセレクタ４２を介し、比較器４３ａ〜４３ｅに供給され、第２ライン目のランのラン情報とが比較されるようになっている。さらに、メモリ４１に記憶されたラン情報はセレクタ４２を介し、加減算器４４にも供給され、第２ライン目のランと第１ライン目のランが連結している場合等に、これらのラン情報に対し加減算を行い、統合したランの始点座標、大きさ等を算出するようになっている。
【０１０８】
比較器４３ａでは、第１ライン目の第１番目のランの始点座標Ｘ０と第２ライン目の第１番目のランの始点座標Ｘ１を比較する。このとき、
Ｘ０＞Ｘ１
であれば比較信号Ｓ３０として「１」をそれ以外では「０」を出力する。
【０１０９】
比較器４３ｂでは、第１ライン目の第１番目のランの始点座標Ｘ０と第２ライン目の第１番目のランの終点座標Ｘ１＋Ｍ１を比較する。このとき、
Ｘ０＞Ｘ１＋Ｍ１
であれば比較信号Ｓ３１として「１」をそれ以外では「０」を出力する。
【０１１０】
比較器４３ｃでは、第１ライン目の第１番目のランの終点座標Ｘ０＋Ｍ０と第２ライン目の第１番目のランの終点座標Ｘ１＋Ｍ１を比較する。このとき、
Ｘ０＋Ｍ０＞Ｘ１＋Ｍ１
であれば比較信号Ｓ３２として「１」をそれ以外では「０」を出力する。
【０１１１】
比較器４３ｄでは、第１ライン目の第１番目のランの終点座標Ｘ０＋Ｍ０と第２ライン目の第１番目のランの始点座標Ｘ１を比較する。このとき、
Ｘ０＋Ｌ０＞Ｘ１
であれば比較信号Ｓ３３として「１」をそれ以外では「０」を出力する。
【０１１２】
比較器４３ｅでは、第１ライン目の第１番目のランのｙ方向の始点座標Ｙ０と第２ライン目の第１番目のランのｙ方向の始点座標Ｙ１を比較する。このとき、
Ｙ０＞Ｙ１
であれば比較信号Ｓ３４として「１」をそれ以外では「０」を出力する。
【０１１３】
加減算器４４ではランが連結した場合に統合したランの大きさ（長さ）として、
Ｘ０＋Ｍ０−Ｘ１＋１
または
Ｘ１＋Ｍ１−Ｘ０＋１
を演算し、その演算結果等を含む信号Ｓ３５として、Ｘ０、Ｙ０、Ｘ１、Ｙ１、Ｍ０、Ｍ１、Ｘ０＋Ｍ０−Ｘ１＋１、Ｘ１＋Ｍ１−Ｘ０＋１をセレクタ４６に出力する。
【０１１４】
判定テーブル４５では比較信号Ｓ３０、Ｓ３１、Ｓ３２、Ｓ３３、Ｓ３４をもとに、第１ライン目のランと第２ライン目のランとの位置関係を前述したように判定し、第１〜第６の判定条件に対応してセレクタ４２、４６、メモリ４７、４８に対する選択信号Ｓ３６、Ｓ３７、および、ラン選択信号Ｓ３８を出力するようになっている。
【０１１５】
選択信号Ｓ３７は４ビットの信号で下位３ビットは、前述の第１〜第６の判定条件に対応して決定されるもので、上位１ビットは比較信号Ｓ３４がそのまま出力される。
【０１１６】
判定テーブル４５で、第１の判定条件が満たされたとき、すなわち、比較信号Ｓ３１が「１」のとき、図１５（ａ）に示すように、第２ライン目のランは第１ライン目のランと連結していない。このとき、選択信号Ｓ３６として「０」を、選択信号Ｓ３７の下位３ビットとして「０００」を、ラン選択信号Ｓ３８として「１」を出力する。
【０１１７】
判定テーブル４５で、第２の判定条件が満たされたとき、すなわち、比較信号Ｓ３０が「１」、比較信号Ｓ３１が「０」、比較信号Ｓ３２が「１」のとき、図１５（ｂ）に示すように、第２ライン目のランは第１ライン目のランと連結している。このとき、選択信号Ｓ３６として「０」を、選択信号Ｓ３７の下位３ビットとして「００１」を、ラン選択信号Ｓ３８として「１」を出力する。
【０１１８】
判定テーブル４５で、第３の判定条件が満たされたとき、すなわち、比較信号Ｓ３０が「１」、比較信号Ｓ３１が「０」、比較信号Ｓ３２が「０」のとき、図１５（ｃ）に示すように、第２ライン目のランは第１ライン目のランと連結している。このとき、選択信号Ｓ３６として「０」を、選択信号Ｓ３７の下位３ビットとして「０１０」を、ラン選択信号Ｓ３８として「０」を出力する。
【０１１９】
判定テーブル４５で、第４の判定条件が満たされたとき、すなわち、比較信号Ｓ３０が「０」、比較信号Ｓ３１が「０」、比較信号Ｓ３２が「１」のとき、図１５（ｄ）に示すように、第２ライン目のランは第１ライン目のランと連結している。このとき、選択信号Ｓ３６として「０」を、選択信号Ｓ３７の下位３ビットとして「０１１」を、ラン選択信号Ｓ３８として「１」を出力する。
【０１２０】
判定テーブル４５で、第５の判定条件が満たされたとき、すなわち、比較信号Ｓ３０が「０」、比較信号Ｓ３１が「０」、比較信号Ｓ３２が「０」のとき、図１５（ｅ）に示すように、第２ライン目のランは第１ライン目のランと連結している。このとき、選択信号Ｓ３６として「０」を、選択信号Ｓ３７の下位３ビットとして「１００」を、ラン選択信号Ｓ３８として「０」を出力する。
【０１２１】
判定テーブル４５で、第６の判定条件が満たされたとき、すなわち、比較信号Ｓ３３が「０」のとき、図１５（ｆ）に示すように、第１ライン目のランとの連結が完了しいたことになる。このとき、選択信号Ｓ３６として「１」を、選択信号Ｓ３７の下位３ビットとして「１０１」を、ラン選択信号Ｓ３８として「０」を出力する。
【０１２２】
加減算器４４の出力はセレクタ４６に入力され、セレクタ４６では、選択信号Ｓ３７の下位３ビットに応じたラベル情報を出力するようになっている。なお、ここで、ラベルとは、第１ライン目のランと第２ライン目のランとを統合した領域のことをいい、ラベル情報とは、そのラベルの始点、大きさ等を表す。
【０１２３】
選択信号Ｓ３７の下位３ビットが「０００」のとき、セレクタ４６は、ラベルの始点座標として（Ｘ１、Ｙ１）、ラベルの大きさとして（Ｍ１、Ｙ−Ｙ１＋１）を出力する（図１５（ａ）参照）。
【０１２４】
選択信号Ｓ３７の下位３ビットが「００１」のとき、比較器４３での比較結果から座標値Ｙ０とＹ１のうち小さい方の値をＹｐとすると、セレクタ４６は、ラベルの始点座標として（Ｘ１、Ｙｐ）、ラベルの大きさとして（Ｘ０＋Ｍ０−Ｘ１＋１、Ｙ−Ｙｐ＋１）を出力する（図１５（ｂ）参照）。
【０１２５】
選択信号Ｓ３７の下位３ビットが「０１０」のとき、セレクタ４６は、ラベルの始点座標として（Ｘ１、Ｙｐ）、ラベルの大きさとして（Ｍ１、Ｙ−Ｙｐ＋１）を出力する（図１５（ｃ）参照）。
【０１２６】
選択信号Ｓ３７の下位３ビットが「０１１」のとき、セレクタ４６は、ラベルの始点座標として（Ｘ０、Ｙｐ）、ラベルの大きさとして（Ｍ０、Ｙ−Ｙｐ＋１）を出力する（図１５（ｄ）参照）。
【０１２７】
選択信号Ｓ３７の下位３ビットが「１００」のとき、セレクタ４６は、ラベルの始点座標として（Ｘ０、Ｙｐ）、ラベルの大きさとして（Ｘ１＋Ｍ１−Ｘ０＋１、Ｙ−Ｙｐ＋１）を出力する（図１５（ｅ）参照）。
【０１２８】
選択信号Ｓ３７の下位３ビットが「１０１」のとき、セレクタ４６は、ラベルの始点座標として（Ｘ０、Ｙ０）、ラベルの大きさとして（Ｍ０、Ｙ−Ｙ０＋１）を出力する（図１５（ｅ）参照）。
【０１２９】
選択信号Ｓ３６は、セレクタ４６から出力されたラベル情報の記憶先として、内部演算用のメモリ４７、ラベリング結果出力用のバッファメモリ４８のいずれか一方を選択するものである。すなわち、判定テーブル４５で第６の判定条件が満たされて、ランの連結が終了したとき（図１５（ｆ）参照）のみ、選択信号Ｓ３６は「１」となり、そのとき、セレクタ４６から出力されたラベル情報（信号Ｓ４２）を、抽出された１つのラベルの外接矩形の情報としてメモリ４８に記憶するようになっている。選択信号Ｓ３６が「０」のとき、セレクタ４６から出力されたラベル情報（信号Ｓ４２）は、メモリ４７に記憶されるようになっている。
【０１３０】
メモリ４７は、セレクタ４６から信号Ｓ４２として出力されるラベル情報、すなわち、判定テーブル４５で、例えば、第１ライン目と第２ライン目のランを判定した結果、得られたランの連結された領域の始点座標、大きさ等を含む、１ライン分のランの情報を記憶するメモリで、例えば、比較器４３ａ〜４３ｅで、第１ライン目と第２ライン目のランに対して比較処理を行っている場合、図１５を参照して説明したような、それらのランの連結された領域の始点座標、大きさ、第１ライン目のランと連結されなかった第２ライン目のランの情報等が第２ライン目のラン情報として記憶されている。
【０１３１】
メモリ４８には、１画像分（画像１ページ分）のランをもとに、判定テーブル４５で判定した結果得られたラベルの情報、すなわち、複数のランが統合された結果得られたラベルの外接矩形の情報と記憶されるようになっていて、判定テーブル４５で非連結と判定されたとき、１つの統合されたラベルが抽出されたとして、その外接矩形の始点座標と大きさが図１４に示したように記憶されるようになっている。
【０１３２】
ラン選択信号Ｓ３８は、比較器４３ａ〜４３ｅにおける比較対象および加算減算器４４の演算対象を更新する際、第１ライン目のラン情報（メモリ４１に記憶されているラン情報で信号Ｓ４１として出力される）、第２ライン目のラン情報（ラン膨脹信号Ｓ２）のどちらにするかを選択するためのものである。すなわち、ラン選択信号Ｓ３８が「０」の場合（判定テーブル４５で第３、第５、第６の判定条件のいずれかを満たした場合）、第１ライン目のラン情報（信号Ｓ４１）を比較対象および演算対象の次のランとして更新するようになっている。また、ラン選択信号Ｓ３８が「１」の場合（判定テーブル４５で第１、第２、第４の判定条件のいずれかを満たした場合）、第２ライン目のラン情報（ラン膨脹信号Ｓ２）を比較対象および演算対象の次のランとして更新するようになっている。
【０１３３】
セレクタ４２では、選択信号Ｓ３６が「１」で、ランの連結が終了したと判定されたとき、メモリ４１に記憶された第１ライン目のラン情報（信号Ｓ４１）を出力し、「０」のとき、セレクタ４６からの出力であるラベル情報（信号Ｓ４２）を出力するようになっていて、セレクタ４２からの出力により比較器４３ａ〜４３ｅでの比較対象および加算減算器４４での演算対象を更新するようになっている。
【０１３４】
以上の処理を１ライン終了まで繰りかえす。
第１ラインの処理が終了すると、メモリ４７に記憶された第２ライン目のラン情報（信号Ｓ４２）はセレクタ４０を介してメモリ４１に記憶され、その後、第２ライン目のラン情報Ｓ４１と第３ライン目のラン情報（ラン膨脹信号Ｓ２）とにより前述の演算が行われる。以上を１ページ終了まで行う。
【０１３５】
以上説明した処理の結果、メモリ４８には、１ページ内に抽出されたラベルの情報、すなわち、複数のランが統合された結果得られたラベルの外接矩形の情報として、その外接矩形の始点座標と大きさが図１４に示したように記憶される。
【０１３６】
次に、判定手段５では、メモリ４８に記憶された外接矩形情報Ｓ４をもとに、外接矩形として抽出された領域（ラベル）の種別を識別する。
識別方法の原理は、例えば、ラベルの大きさ（長さ）をｘ方向にＸｓ、ｙ方向にＹｓとしたとき、文字列領域は細長いという特徴を利用して、文字列領域の大きさに適当な制限を設定し、適当な閾値Ｔａ、Ｔｂ、Ｔｃ、Ｔｄを用いて、
Ｔａ＜Ｘｓ＜Ｔｂ
かつ
Ｔｃ＜Ｙｓ＜Ｔｄ
のとき、その領域を文字領域と判定する。さらに、写真領域についても同様で、その大きさに適当な制限を設定し、別の閾値を利用して、写真領域を判定する。
【０１３７】
なお、ここでは、抽出されたラベルの大きさを基にその領域の画像の種別を判定しているが、ラベル領域内の黒画素の密度、白／黒画素判定回数、平均濃度等様々な方法により判定が可能である。さらに、これらの情報により、文字領域の判定のみならず写真領域や網点領域の判定も可能となる。
【０１３８】
判定手段５での判定結果（信号Ｓ５）をもとに、後続の処理部、あるいは、画像処理装置において、それぞれの画像領域の特徴に応じた画像処理を施し、高品質な複製画像の生成等を行うようになっている。
【０１３９】
以上、説明したように、上記実施例によれば、入力画像の画素信号Ｓ０について２値化手段１で、（１）２値化誤差を周辺画素に分配し階調を保存する誤差拡散法による２値化処理（第１の２値化処理）、（２）注目画素の２値化誤差を次に処理される画素において補償し階調を保存する２値化処理（第２の２値化処理）、（３）ランダムな閾値による２値化処理（第３の２値化処理）、（４）閾値が規則的に変化する組織ディザ法による２値化処理（第４の２値化処理）、（５）注目画素を含む（ｎ×ｎ）のウインドウ内の平均値を閾値とする２値化処理（第５の２値化処理）のいずれかの２値化処理を行って、２値化画像を求め、２値化画素信号Ｓ１を出力し、ラン膨脹手段２で、２値化画素信号Ｓ１をもとに、２値化画像の黒画素を膨脹する処理を行い、黒画素部（ラン）を求め、ラン膨張信号Ｓ２を出力し、ラベリング手段３、外接矩形抽出手段４で、ラン膨張信号Ｓ２をもとに連結するランを１つの領域として統合（ラベリング）し、その統合された領域（ラベル）に外接する矩形の位置、大きさを求め、その結果を外接矩形情報Ｓ４として出力し、判定手段５で信号Ｓ４をもとに、外接矩形の大きさから文字画像領域であるか、写真画像領域であるかを判定し、その結果を信号Ｓ５として出力することにより、文字画像領域、写真画像領域といった特徴の異なる画像領域を正確に抽出し、その画像領域の識別が容易に行える。
【０１４０】
特に、写真画像領域の識別が高精度に行うことが可能となる。入力画像について２値化手段１で２値化を行う際、画像がぼんやりした写真の背景画像であるグレー領域も階調処理されるので、ラベル膨脹手段２、ラベリング手段３、外接矩形抽出手段４において、膨脹化および矩形化を行うことによって、写真画像全体の輪郭が消失されず、正しく抽出される。
【０１４１】
さらに、写真画像領域の抽出、識別が正確に行えるので、その後、その画像領域に応じて適切な画像処理を行うことによりファクシミリや複写機等様々な画像処理装置において、画像を伝送する際に伝送効率を向上させたり、複製画像を生成する際に画質を向上させることが可能となる。
【０１４２】
【発明の効果】
以上のように、本発明によれば、処理対象画像中の文字や写真といった特徴の異なる画像領域を正確に抽出して、その画像領域を識別することが容易に行え、画像処理の精度の向上が図れる画像処理装置を提供できる。
【図面の簡単な説明】
【図１】本発明の一実施例に係る画像処理装置の全体の構成を概略的に示したブロック図。
【図２】第１の２値化処理の具体例について説明するための図。
【図３】第２の２値化処理の具体例について説明するための図。
【図４】第３の２値化処理の具体例について説明するための図。
【図５】第３の２値化処理におけるランダムな閾値の発生方法の具体例について説明するための図。
【図６】第４の２値化処理における組織的ディザ法の原理を説明するための図。
【図７】第５の２値化処理で用いられるウインドウの概念を説明するための図。
【図８】第５の２値化処理で用いられる閾値としてのウインドウ内の平均濃度値を算出するための平均値算出回路の具体例を示した図。
【図９】ラン膨脹処理の原理を説明するための図で、図９（ａ）は、処理対象の２値化画像の黒画素の具体例を示し、図９（ｂ）は、ラン膨脹処理を行った結果得られたランの具体例を示した図。
【図１０】ラン膨脹処理を実行するための具体的な回路構成を示した図。
【図１１】ラン膨脹処理について説明するための図で、図１１（ａ）は、ラン膨張手段により抽出されたランの具体例を示し、図１１（ｂ）は、図１１（ａ）に示したランについて、得られるラン情報の記憶例を示したものである。
【図１２】図１１（ａ）に示したランに対してラベリングした結果、その統合された領域に関する情報の記憶例を示した図。
【図１３】外接矩形の抽出方法の原理について説明するための図で、図１３（ａ）は、外接矩形を抽出する対象となる統合領域の具体例を示し、図１３（ｂ）、図１３（ｃ）は、図１３（ａ）の統合領域の外接矩形を求める手順を説明するものである。
【図１４】外接矩形抽出手段４における外接矩形情報の記憶例を示した図。
【図１５】外接矩形の大きさを判定するための判定条件を説明するための図で、図１５（ａ）は、第１の判定条件の場合、図１５（ｂ）は、第２の判定条件の場合、図１５（ｃ）は、第３の判定条件の場合、図１５（ｄ）は、第４の判定条件の場合、図１５（ｅ）は、第５の判定条件の場合、図１５（ｆ）は、第６の判定条件の場合を説明するものである。
【図１６】ラベリング手段および外接矩形抽出手段の回路構成の具体例を示した図。
【図１７】従来の画像領域判別方法の手順を説明するための図。
【符号の説明】
１…２値化手段、２…ラン膨脹手段、３…ラベリング手段、４…外接矩形抽出手段、５…判定手段、Ｓ０…画素信号、Ｓ１…２値化画素信号、Ｓ２…ラン膨脹信号、Ｓ３…統合された領域（ラン）の情報信号、Ｓ４…外接矩形情報信号、Ｓ５…判定信号。
【図１】
0003749282.tif 000003
【図２】
0003749282.tif 000004
【図３】
0003749282.tif 000005
【図４】
0003749282.tif 000006
【図５】
0003749282.tif 000007
【図６】
0003749282.tif 000008
【図７】
0003749282.tif 000009
【図８】
0003749282.tif 000010
【図９】
0003749282.tif 000011
【図１０】
0003749282.tif 000012
【図１１】
0003749282.tif 000013
【図１２】
0003749282.tif 000014
【図１３】
0003749282.tif 000015
【図１４】
0003749282.tif 000016
【図１５】
0003749282.tif 000017
【図１６】
0003749282.tif 000018
【図１７】
0003749282.tif 000019