しかし、上記2種類の方法は、領域分離のために1つの特徴量しか用いておらず、領域分離精度が低かった。また、誤判定された領域に対する訂正方法や2値化出力方法が考慮されておらず、2値化出力画像において、誤判定された部分が目立つという問題点を有していた。
そこで本発明は、上記問題点を解決するためのもので、黒画素数と最大濃度差という2つの特徴量を使用することにより、領域分離精度を向上させる画像処理方法および画像処理装置を提供することを目的とする。また、領域判定後、周辺のブロックもしくは画素の判定結果を参照し、注目ブロックもしくは画素の判定結果を訂正することにより、さらに領域分離精度を向上させる画像処理方法および画像処理装置を提供することを目的とする。
また、誤判定が生じ易いブロックを検出し、当該ブロックに対しては、周辺ブロックの判定結果を参照して、ブロック内で2値化方法を切り替えたり、あるいは画素濃度に応じて2値化方法を切り替えることにより、2値出力画像上で誤判定部分が目立たないようにする画像処理方法および画像処理装置を提供することを目的とする。
本発明は、多階調の入力画像を入力し、その入力画像の線画領域または中間調領域に応じた画像処理を行う画像処理方法において、前記多階調の入力画像を、線画領域または中間調領域に応じた濃度に変換し、線画領域または中間調領域に適合した処理を行う濃度変換工程と、前記多階調の入力画像から複数の特徴量を抽出し、この複数の特徴量に基づいて線画または中間調の領域を判定する領域分離処理および前記線画または中間調の領域に応じた画像信号を選択的に出力するための信号選択処理を行う画像信号切替工程とを有することを特徴とする。
前記画像信号切替工程は、前記入力画像の持つ複数の特徴量を抽出する特徴量抽出工程と、この特徴量抽出工程により抽出された複数の特徴量により線画または中間調の領域を判定する領域判定工程と、この領域判定工程の判定結果に基づいて前記線画領域または中間調領域に応じた画像信号を取り出すための切替え処理を行う信号選択処理工程とを有することを特徴とする。
前記画像信号切替工程は、前記入力画像の持つ複数の特徴量を抽出する特徴量抽出工程と、この特徴量抽出工程により抽出された複数の特徴量により線画または中間調の領域を判定する領域判定工程と、この領域判定工程による判定結果に誤りのある場合、その誤りを周辺の領域属性を参照して訂正する領域訂正工程と、この領域訂正工程の訂正結果に基づいて前記線画または中間調の領域に応じた画像信号を取り出すための切替え処理を行う信号選択処理工程とを有することを特徴とする。
前記画像信号切替工程は、前記入力画像の持つ複数の特徴量を抽出する特徴量抽出工程と、この特徴量抽出工程により抽出された複数の特徴量により線画または中間調の領域を判定する領域判定工程と、この領域判定工程の判定結果に基づいて、前記入力画像において複数画素で構成される所定ブロックが周辺ブロックに対して線画領域から中間調領域へ、またはその逆へと状態が遷移しているか否かを検出し、状態遷移が無い場合は、前記所定ブロック内の全画素に対し、前記領域判定工程の判定結果に基づいて前記線画用または中間調用のいずれかの画像信号を取り出し、状態遷移が有る場合は、前記所定ブロック内において、状態遷移の内容に応じて前記線画用または中間調用の画像信号を切り替えて取り出す処理を行う信号選択処理工程とを有することを特徴とする。
前記画像信号切替工程は、前記入力画像の持つ複数の特徴量を抽出する特徴量抽出工程と、この特徴量抽出工程により抽出された複数の特徴量により線画または中間調の領域を判定する領域判定工程と、この領域判定工程による判定結果に誤りのある場合、その誤りを周辺の領域属性を参照して訂正する領域訂正工程と、この領域訂正工程の訂正結果に基づいて、前記入力画像において複数画素で構成される所定ブロックが周辺ブロックに対して線画領域から中間調領域へ、またはその逆へと状態が遷移しているか否かを検出し、状態遷移が無い場合は、前記所定ブロック内の全画素に対し、前記領域訂正工程の訂正結果に基づいて前記線画用または中間調用のいずれかの画像信号を取り出し、状態遷移が有る場合は、前記所定ブロック内において、状態遷移の内容に応じて前記線画用または中間調用の画像信号を切り替えて取り出す処理を行う信号選択処理工程とを有することを特徴とする。
また、前記濃度変換工程は、中間調領域に適した処理を行う中間調処理工程と、文字や線画に適した処理を行う線画用2値化処理工程からなることを特徴とする。
また、前記中間調処理工程は、画像出力装置の特性に適合させるためにγ補正を行い、このγ補正曲線において多階調入力画素濃度の黒レベル側および白レベル側にそれぞれ所定濃度分の不感帯を設けたことを特徴とする。
また、前記特徴量抽出工程における特徴量の抽出は、入力画像を、注目画素を含む所定数の画素で構成されるブロックに分割して行うことを特徴とする。
前記特徴量抽出工程における特徴量の抽出は、入力画像を、複数の画素で構成されるブロックに分割して行うことを特徴とする。
前記特徴量抽出工程は、入力画素の階調数を基にして、しきい値を設定し、このしきい値と、ブロック内の各画素の濃度とを比較することにより、そのブロック内における黒画素数の総数または白画素数の総数を求める画素数計数工程と、ブロック内の各画素間の最大濃度差を求める最大濃度差導出工程とを有することを特徴とする。
また、前記領域判定工程は、領域判定処理を画素毎に行うことを特徴としている。
また、前記領域判定工程は、領域判定処理をブロック毎に行うことを特徴としている。
また、前記領域訂正工程は、領域訂正処理を画素毎に行うことを特徴としている。
また、前記領域訂正工程は、領域訂正処理をブロック毎に行うことを特徴としている。
前記領域訂正工程は、注目ブロックと参照ブロックまたは注目画素と参照画素で構成される領域属性パターンを、領域訂正の指標パターンとして複数用意しておき、これら指標パターンと実際の領域判定結果のパターンを比較して、前記注目ブロックまたは注目画素の領域判定の誤り訂正を行うことを特徴とする。
前記領域訂正工程は、注目ブロックと参照ブロックまたは注目画素と参照画素における領域属性の出現頻度により、前記注目ブロックまたは注目画素の領域判定の誤り訂正を行うことを特徴とする。
また、前記領域訂正工程において、前記参照画素または参照ブロックは現在処理中の画素列またはブロック列の一部とすることを特徴とする。
前記領域訂正工程において、前記参照画素または参照ブロックは現在処理中の画素列またはブロック列と、すでに処理された一列前の画素列またはブロック列の合計2つの画素列またはブロック列の一部とすることを特徴とする。
また、前記信号選択処理工程において、前記入力画像の所定のブロックが周辺ブロックに対して状態遷移が有りと判定された場合は、周辺ブロックの領域属性を参照して、前記所定ブロック内において線画用と中間調用の画像信号を切り替えることを特徴とする。
前記信号選択処理工程において、前記入力画像の所定のブロックが周辺ブロックに対して状態遷移が有りと判定された場合は、当該所定ブロック内の各画素濃度に応じて、当該所定ブロック内において線画用と中間調用の画像信号を切り替えることを特徴とする。
また本発明は、多階調の入力画像を入力し、その入力画像の線画領域または中間調領域に応じた画像処理を行う画像処理装置において、前記多階調の入力画像を、線画領域または中間調領域に応じた濃度に変換し、線画領域または中間調領域に適合した処理を行う濃度変換手段と、前記多階調の入力画像から複数の特徴量を抽出し、この複数の特徴量に基づいて線画または中間調の領域を判定する領域分離処理および前記線画または中間調の領域に応じた画像信号を選択的に出力するための信号選択処理を行う画像信号切替手段とを有することを特徴とする。
前記画像信号切替手段は、前記入力画像の持つ複数の特徴量を抽出する特徴量抽出手段と、この特徴量抽出手段により抽出された複数の特徴量により線画または中間調の領域を判定する領域判定手段と、この領域判定手段の判定結果に基づいて前記線画領域または中間調領域に応じた画像信号を取り出すための切替え処理を行う信号選択処理手段とを有することを特徴とする。
前記画像信号切替手段は、前記入力画像の持つ複数の特徴量を抽出する特徴量抽出手段と、この特徴量抽出手段により抽出された複数の特徴量により線画または中間調の領域を判定する領域判定手段と、この領域判定手段による判定結果に誤りのある場合、その誤りを周辺の領域属性を参照して訂正する領域訂正手段と、この領域訂正手段の訂正結果に基づいて前記線画または中間調の領域に応じた画像信号を取り出すための切替え処理を行う信号選択処理手段とを有することを特徴とする。
前記画像信号切替手段は、前記入力画像の持つ複数の特徴量を抽出する特徴量抽出手段と、この特徴量抽出手段により抽出された複数の特徴量により線画または中間調の領域を判定する領域判定手段と、この領域判定手段の判定結果に基づいて、前記入力画像において複数画素で構成される所定ブロックが周辺ブロックに対して線画領域から中間調領域へ、またはその逆へと状態が遷移しているか否かを検出し、状態遷移が無い場合は、前記所定ブロック内の全画素に対し、前記領域判定手段の判定結果に基づいて前記線画用または中間調用のいずれかの画像信号を取り出し、状態遷移が有る場合は、前記所定ブロック内において、状態遷移の内容に応じて前記線画用または中間調用の画像信号を切り替えて取り出す処理を行う信号選択処理手段とを有することを特徴とする。
前記画像信号切替手段は、前記入力画像の持つ複数の特徴量を抽出する特徴量抽出手段と、この特徴量抽出手段により抽出された複数の特徴量により線画または中間調の領域を判定する領域判定手段と、この領域判定手段による判定結果に誤りのある場合、その誤りを周辺の領域属性を参照して訂正する領域訂正手段と、この領域訂正手段の訂正結果に基づいて、前記入力画像において複数画素で構成される所定ブロックが周辺ブロックに対して線画領域から中間調領域へ、またはその逆へと状態が遷移しているか否かを検出し、状態遷移が無い場合は、前記所定ブロック内の全画素に対し、前記領域訂正手段の訂正結果に基づいて前記線画用または中間調用のいずれかの画像信号を取り出し、状態遷移が有る場合は、前記所定ブロック内において、状態遷移の内容に応じて前記線画用または中間調用の画像信号を切り替えて取り出す処理を行う信号選択処理手段とを有することを特徴とする。
また、前記濃度変換手段は、中間調領域に適した処理を行う中間調処理手段と、文字や線画に適した処理を行う線画用2値化処理手段からなることを特徴とする。
また、前記中間調処理手段は、画像出力装置の特性に適合させるためにγ補正を行い、このγ補正曲線において多階調入力画素濃度の黒レベル側および白レベル側にそれぞれ所定濃度分の不感帯を設けたことを特徴とする。
また、前記特徴量抽出手段における特徴量の抽出は、入力画像を、注目画素を含む所定数の画素で構成されるブロックに分割して行うことを特徴とする。
また、前記特徴量抽出手段における特徴量の抽出は、入力画像を、複数の画素で構成されるブロックに分割して行うことを特徴とする。
前記特徴量抽出手段は、入力画素の階調数を基にして、しきい値を設定し、このしきい値と、ブロック内の各画素の濃度とを比較することにより、そのブロック内における黒画素数の総数または白画素数の総数を求める画素数計数手段と、ブロック内の各画素間の最大濃度差を求める最大濃度差導出手段とを有することを特徴とする。
また、前記領域判定手段は、領域判定処理を画素毎に行うことを特徴としている。
また、前記領域判定手段は、領域判定処理をブロック毎に行うことを特徴とする。
また、前記領域訂正手段は、領域訂正処理を画素毎に行うことを特徴としている。
また、前記領域訂正手段は、領域訂正処理をブロック毎に行うことを特徴とする。
前記領域訂正手段は、注目ブロックと参照ブロックまたは注目画素と参照画素で構成される領域属性パターンを、領域訂正の指標パターンとして複数用意しておき、これら指標パターンと実際の領域判定結果のパターンを比較して、前記注目ブロックまたは注目画素の領域判定の誤り訂正を行うことを特徴とする。
前記領域訂正手段は、注目ブロックとその周辺の参照ブロックまたは注目画素とその周辺の参照画素における領域属性の出現頻度により、前記注目ブロックまたは注目画素の領域判定の誤り訂正を行うことを特徴とする。
前記領域訂正手段において、前記参照画素または参照ブロックは現在処理中の画素列またはブロック列の一部とすることを特徴とする。
前記領域訂正手段において、前記参照画素または参照ブロックは現在処理中の画素列またはブロック列と、すでに処理された一列前の画素列またはブロック列の合計2つの画素列またはブロック列の一部とすることを特徴とする。
また、前記信号選択処理手段において、前記入力画像の所定のブロックが周辺ブロックに対して状態遷移が有りと判定された場合は、周辺ブロックの領域属性を参照して、前記所定ブロック内において線画用と中間調用の画像信号を切り替えることを特徴とする。
前記信号選択処理手段において、前記入力画像の所定のブロックが周辺ブロックに対して状態遷移が有りと判定された場合は、当該所定ブロック内の各画素濃度に応じて、当該所定ブロック内において線画用と中間調用の画像信号を切り替えることを特徴とする。
(作用)
本発明は、多階調の入力画像から、黒画素数(または白画素数)と最大濃度差という2つの特徴量を抽出し、これら2つの特徴量を使用して、線画領域であるか中間調領域であるかの領域判定を行うようにしているので、1つの特徴量しか使用しない領域分離方法に比べて、領域判定精度を高くすることができる。また、どちらの特徴量も簡単な演算処理で行えるので、処理時間が少なくて済み、ハードウエアでの実現も簡単に行える。また、領域判定後、周辺ブロックもしくは周辺画素の領域属性(線画領域であるか中間調領域であるかを示もので、例えば、線画領域の属性は“1”、中間調領域の属性は“0”というように表す)を参照して、誤った領域判定の訂正を行うので、さらに領域判定精度を向上させることができる。そして、その訂正方法として、パターンマッチング法あるいは多数決法を使用し、どちらも簡単なハードウエア構成で十分な結果を得ることができる。
さらに、領域判定後、隣接するブロック間において領域属性が線画から中間調へ、またはその逆へと変化する状態遷移の有無を検出し、状態遷移が無いと判定されたブロックについては、領域判定結果に基づいて、そのブロック内の全画素に対して線画用または中間調用のいずれかの2値信号を出力させ、状態遷移が有りと判定されたブロックについては、周辺ブロックの属性を参照して、または、前記状態遷移のあったブロック内の画素濃度に応じて、前記状態遷移のあったブロック内で線画用または中間調用の2値化信号を切り替えて出力することにより、最終的に出力された2値画像上での誤りを目立たなくすることができる。
さらに、領域判定後、周辺ブロックが線画領域であるか中間調領域であるかを示す領域属性を参照して、誤った領域判定の訂正を行ったのち、周辺ブロックの属性を参照して注目ブロックの属性を訂正し、隣接するブロック間において領域属性が線画から中間調へ、またはその逆へと変化する状態遷移の有無を検出し、状態遷移が無いと判定されたブロックについては、上記領域判定の訂正結果に基づいて、そのブロック内の全画素に対して線画用または中間調用のいずれかの2値信号を出力させ、状態遷移が有りと判定されたブロックについては、周辺ブロックの属性を参照して、または、前記状態遷移のあったブロック内の画素濃度に応じて、前記状態遷移のあったブロック内で線画用または中間調用の2値化を切り替えて出力することにより、最終的に出力された2値化出力画像をさらにきれいになものとすることができる。
以上述べたように、請求項1によれば、多階調の入力画像から複数の特徴量を抽出して、この複数の特徴量から線画と中間調の領域判定を行うようにしたので、1つの特徴量しか使用しない従来の領域判定方法に比べて、高精度な領域判定が可能となり、この領域判定結果に応じて線画用または中間調用の画像信号を出力することで、線画または中間調のそれぞれの領域に適合した最適な画像処理を行うことができる。
また、請求項2によれば、上記同様、複数の特徴量から線画と中間調の領域判定を行うことにより、1つの特徴量しか使用しない従来の領域判定方法に比べて、高精度な領域判定が可能となり、この領域判定結果に応じて線画用または中間調用の画像信号を出力することで、線画または中間調のそれぞれの領域に適合した最適な画像処理を行うことができる。
また、請求項3によれば、領域判定後、その判定結果に誤りがある場合、その誤って判定された部分の周辺の領域属性を参照することで、判定結果の誤りを訂正できるため、より高精度な領域分離が可能となる。
また、請求項4によれば、領域判定後、その領域判定したブロックに状態遷移が起こったか否かを判定し、状態遷移が起こった場合は、状態遷移の内容に応じて、そのブロック内で線画用と中間調用の2値化信号を切り替えるようにしている。したがって、このような状態遷移が起こったブロックでは、そのブロック全体を線画領域または中間調領域のいずれか一方として判定するのではなく、状態遷移の内容に応じてそのブロック内で線画用と中間調用の2値化信号を切り替えることができるため、最終的に出力される2値化画像上での誤りを目立たなくするこができる。
また、請求項5によれば、領域判定後、その判定結果に誤りがある場合、その誤って判定された部分の周辺の領域属性を参照することで、判定結果の誤りを訂正し、さらに、領域訂正したブロックに状態遷移が起こったか否かを判定し、状態遷移が起こった場合は、状態遷移の内容に応じて、そのブロック内で線画用と中間調用の2値化信号を切り替えるようにしている。つまり、領域判定の誤りを訂正した上でさらに誤判定されている可能性のあるブロックに対して、前記したように、状態遷移の内容に応じてそのブロック内で線画用と中間調用の2値化信号を切り替えようにしたので、最終的に出力される2値化画像上での誤りをさらに目立たなくするこができ、きれいな出力画像を得ることができる。
また、請求項6によれば、文字などの線画または写真などの中間調のそれぞれの領域に適合した画像処理を行うことができる。
また、請求項7によれば、γ補正曲線において多階調入力画素濃度の黒レベル側と白レベル側にそれぞれ所定濃度分の不感帯を設けることにより、領域判定処理において、本来、線画である領域が誤って中間調処理されたときに、最終的に出力された2値化画像上での誤りを目立たなくするこができる。
また、請求項8によれば、入力画素を、注目画素を含む所定数の画素で構成されるブロックに分割して、前記注目画素ごとに特徴量の抽出処理を行うので、画素単位の特徴量データが得られるため、信頼性の高い特徴量の抽出が可能となる。
また、請求項9によれば、入力画素を、所定数の画素で構成されるブロックに分割して、ブロックごとに特徴量の抽出処理を行うので、ブロック単位の特徴量となるが、データ量を少なくすることができ、メモリの小容量化が図れ、また、処理速度の高速化も図れるなどの効果が得られる。
また、請求項10によれば、ブロック内の黒画素または白画素の総数と、ブロック内の各画素間の最大濃度差の2つを求め、これら2つを特徴量として用いるので、1つの特徴量しか使用しない従来の領域判定方法に比べて、高精度な領域判定が可能となる。また、これらの特徴量は簡単な演算処理で求められので、処理時間が短くて済み、ハードウエアでの実現も簡単に行える。
また、請求項11によれば、画素ごとに領域判定処理を行うので、信頼性の高い領域判定処理が可能となる。
また、請求項12によれば、ブロックごとに領域判定処理を行うので、ブロック単位の領域判定となるが、データ量を少なくすることができ、メモリの小容量化が図れ、また、処理速度の高速化も図れるなどの効果が得られる。
また、請求項13によれば、画素ごとに領域訂正処理を行うので、信頼性の高い領域訂正処理が可能となる。
また、請求項14によれば、ブロックごとに領域訂正処理を行うので、ブロック単位の領域訂正となるが、データ量を少なくすることができ、メモリの小容量化が図れ、また、処理速度の高速化も図れるなどの効果が得られる。
また、請求項15によれば、領域訂正をパターンマッチング法により行うので、正確な領域訂正が可能となる。
また、請求項16によれば、領域訂正を多数決法により行うので、参照ブロックや参照画素が多い場合にも処理が複雑にならずに領域訂正が可能となる。
また、請求項17によれば、領域訂正を行う場合、参照画素または参照ブロックは現在処理中の画素列またはブロック列の一部とするこにより、メモリ容量の小容量化が図れ、処理速度も高速なものとすることができる。
また、請求項18によれば、領域訂正を行う場合、参照画素または参照ブロックは現在処理中の画素列またはブロック列と、すでに処理された1列前の画素列またはブロック列の合計2つの画素列またはブロック列の一部とすることにより、高精度な領域訂正を行うことができる。
また、請求項19によれば、状態遷移が起こったブロックに対しては、周辺ブロックの領域属性を参照して、状態遷移が起こったブロック内で線画用と中間調用の2値化信号を切り替えるようにしたので、最終的に出力される2値化画像上での誤りをさらに目立たなくするこができ、きれいな出力画像を得ることができる。
また、請求項20によれば、状態遷移が起こったブロックに対しては、その状態遷移が起こったブロック内の各画素の濃度に応じて、状態遷移が起こったブロック内で線画用と中間調用の2値化信号を切り替えるようにしたので、最終的に出力される2値化画像上での誤りをさらに目立たなくするこができ、きれいな出力画像を得ることができる。
また、本発明は、請求項21によれば、多階調の入力画像から複数の特徴量を抽出して、この複数の特徴量から線画と中間調の領域判定を行うようにしたので、1つの特徴量しか使用しない従来の領域判定方法に比べて、高精度な領域判定が可能となり、この領域判定結果に応じて線画用または中間調用の画像信号を出力することで、線画または中間調のそれぞれの領域に適合した最適な画像処理を行うことができる。
また、請求項22によれば、上記同様、複数の特徴量から線画と中間調の領域判定を行うことにより、1つの特徴量しか使用しない従来の領域判定方法に比べて、高精度な領域判定が可能となり、この領域判定結果に応じて線画用または中間調用の画像信号を出力することで、線画または中間調のそれぞれの領域に適合した最適な画像処理を行うことができる。
また、請求項23によれば、領域判定後、その判定結果に誤りがある場合、その誤って判定された部分の周辺の領域属性を参照することで、判定結果の誤りを訂正できるため、より高精度な領域判定が可能となる。
また、請求項24によれば、領域判定後、その領域判定したブロックに状態遷移が起こったか否かを判定し、状態遷移が起こった場合は、状態遷移の内容に応じて、そのブロック内で線画用と中間調用の2値化信号を切り替えるようにしている。したがって、このような状態遷移が起こったブロックでは、そのブロック全体を線画領域または中間調領域のいずれか一方として判定するのではなく、状態遷移の内容に応じてそのブロック内で線画用と中間調用の2値化信号を切り替えることができるため、最終的に出力される2値化画像上での誤りを目立たなくするこができる。
また、請求項25によれば、領域判定後、その判定結果に誤りがある場合、その誤って判定された部分の周辺の領域属性を参照することで、判定結果の誤りを訂正し、さらに、領域訂正したブロックに状態遷移が起こったか否かを判定し、状態遷移が起こった場合は、状態遷移の内容に応じて、そのブロック内で線画用と中間調用の2値化信号を切り替えるようにしている。つまり、領域判定の誤りを訂正した上でさらに誤判定されている可能性のあるブロックに対して、前記したように、状態遷移の内容に応じてそのブロック内で線画用と中間調用の2値化信号を切り替えようにしたので、最終的に出力される2値化画像上での誤りをさらに目立たなくするこができ、きれいな出力画像を得ることができる。
また、請求項26によれば、文字などの線画または写真などの中間調のそれぞれの領域に適合した画像処理を行うことができる。
また、請求項27によれば、γ補正曲線において多階調入力画素濃度の黒レベル側と白レベル側にそれぞれ所定濃度分の不感帯を設けることにより、領域判定処理において、本来、線画である領域が誤って中間調処理されたときに、最終的に出力された2値化画像上での誤りを目立たなくするこができる。
また、請求項28によれば、入力画素を、注目画素を含む所定数の画素で構成されるブロックに分割して、前記注目画素ごとに特徴量の抽出処理を行うので、画素単位の特徴量データが得られるため、信頼性の高い特徴量の抽出が可能となる。
また、請求項29によれば、入力画素を、所定数の画素で構成されるブロックに分割して、ブロックごとに特徴量の抽出処理を行うので、ブロック単位の特徴量となるが、データ量を少なくすることができ、メモリの小容量化が図れ、また
、処理速度の高速化も図れるなどの効果が得られる。
また、請求項30によれば、ブロック内の黒画素または白画素の総数と、ブロック内の各画素間の最大濃度差の2つを求め、これら2つを特徴量として用いるので、1つの特徴量しか使用しない従来の領域判定方法に比べて、高精度な領域判定が可能となる。また、これらの特徴量は簡単な演算処理で求められので、処理時間が短くて済み、ハードウエアでの実現も簡単に行える。
また、請求項31によれば、画素ごとに領域判定処理を行うので、信頼性の高い領域判定処理が可能となる。
また、請求項32によれば、ブロックごとに領域判定処理を行うので、ブロック単位の領域判定となるが、データ量を少なくすることができ、メモリの小容量化が図れ、また、処理速度の高速化も図れるなどの効果が得られる。
また、請求項33によれば、画素ごとに領域訂正処理を行うので、信頼性の高い領域訂正処理が可能となる。
また、請求項34によれば、ブロックごとに領域訂正処理を行うので、ブロック単位の領域訂正となるが、データ量を少なくすることができ、メモリの小容量化が図れ、また、処理速度の高速化も図れるなどの効果が得られる。
また、請求項35によれば、領域訂正をパターンマッチング法により行うので、正確な領域訂正が可能となる。
また、請求項36によれば、領域訂正を多数決法により行うので、参照ブロックや参照画素が多い場合にも処理が複雑にならずに領域訂正が可能となる。
また、請求項37によれば、領域訂正を行う場合、参照画素または参照ブロックは現在処理中の画素列またはブロック列の一部とするこにより、メモリ容量の小容量化が図れ、処理速度も高速なものとすることができる。
また、請求項38によれば、領域訂正を行う場合、参照画素または参照ブロックは現在処理中の画素列またはブロック列と、すでに処理された1列前の画素列またはブロック列の合計2つの画素列またはブロック列の一部とすることにより、高精度な領域訂正を行うことができる。
また、請求項39によれば、状態遷移が起こったブロックに対しては、周辺ブロックの領域属性を参照して、状態遷移が起こったブロック内で線画用と中間調用の2値化信号を切り替えるようにしたので、最終的に出力される2値化画像上での誤りをさらに目立たなくするこができ、きれいな出力画像を得ることができる。
また、請求項40によれば、状態遷移が起こったブロックに対しては、その状態遷移が起こったブロック内の各画素の濃度に応じて、状態遷移が起こったブロック内で線画用と中間調用の2値化信号を切り替えるようにしたので、最終的に出力される2値化画像上での誤りをさらに目立たなくするこができ、きれいな出力画像を得ることができる。
以下本発明の実施例を図面に基づいて説明する。本実施例においては、入力される多値画像信号は、“0”〜“255”の256レベルとし、白を“255”、黒を“0”で表わすものとする。また、2値出力信号においては、白を“1”、黒を“0”で表す。
図1に、本発明全体の処理の概略の流れについて示す。処理は大きく3つの部分に分かれる。
まず第1は、入力された多値画像が、文字・図形などの線画領域に属するのか、写真や網点等の中間調領域に属するのかを判定する領域分離処理(s101)およびその分離結果に基づいて、どちらの2値信号を出力するかを選択する信号選択処理(s102)からなり、これら、領域分離処理と信号選択処理で画像信号切替工程を構成する。なお、網点画像は、線数によって線画または中間調領域のどちらにも分離されるが、本発明では、入力画像の読み取り解像度が300dpi(ドット/インチ)のとき、100線/インチ以上の網点画像を中間調領域として分離する。また、読み取り解像度が200dpiのときは、50線/インチ以上の網点画像を中間調領域とする。
第2は、入力多値画像を中間調領域に適した方法を用いて2値化処理する中間調処理(s103)である。また、第3は、入力多値画像を線画領域に適した方法を用いて2値化処理する線画用2値化処理(s104)である。これら、中間調処理と線画用2値化処理とで濃度変換工程を構成する。
そして、前記信号選択処理(s102)により、中間調処理(s103)もしくは線画用2値化処理(s104)で生成された2値画像信号を選択して出力される。
なお、図1に示した処理では、中間調処理と線画用2値化処理を並列に行い、領域分離処理の結果に応じて、どちらの信号を出力するかを切り替えているが、最初に領域分離処理を行い、その結果に応じて中間調処理あるいは線画用2値化処理のどちらか片方の処理だけが、行われるように構成してもよい。
図1に示した処理は、以下のすべての実施例において共通であり、また、s101〜s104の個々の具体的処理内容については、各実施例で詳細に説明する。
図2は、本発明を適用した画像処理装置の概略構成図である。図2において、100は画像入力手段であり、たとえばファクシミリなどの画像受信手段201あるいはスキャナなどの画像読取手段202を介して多値画像信号が入力される。なお、スキャナなどにより読みとられた信号はアナログ信号なのでディジタル変換を行ったり、読み取られた画像信号にシェーディング補正を施したりする前処理を前処理手段203により施したのち画像入力手段100に入力される。
領域分離手段101は、図1で示した領域分離処理s101を行うもので、入力された多値画像が、文字・図形などの線画領域に属するのか、写真や網点等の中間調領域に属するのかを判定する。信号選択手段102は、図1で示した信号選択処理s102を行うもので、領域分離結果に基づいて、線画用または中間調用のどちらの2値信号を出力するかを選択する。
中間調処理手段103は、図1で示した中間調処理s103を行うもので、入力多値画像を中間調領域に適した方法で2値化処理する。また、線画用2値化手段104は、図1で示した線画用2値化処理s104を行うもので、入力多値画像を線画領域に適した方法で2値化処理する。
そして、中間調処理手段103もしくは線画用2値化処理手段104で生成された2値画像信号のいずれかが、信号選択手段102により選択されて、信号出力手段105に出力される。この信号出力手段105から出力された2値画像信号は、画像送信手段204を介して通信回線へ、あるいは、CRTなどの画像表示手段205へ、あるいは、プリンタなどの画像印刷手段206へ出力される。
図2に示した画像処理手段においては、中間調処理と線画用2値化処理を並列に行い、領域分離処理の結果に応じて、どちらの信号を出力するかを切り替えるように各手段が配置されているが、最初に領域分離処理を行い、その結果に応じて中間調処理手段もしくは線画用2値化処理手段のどちらか片方だけが動作するように構成してもよい。
また、図2に示した各手段は、以下のすべての実施例において共通であり、領域分離手段101、信号選択手段102、中間調処理手段103、線画用2値化手段104の個々の具体的構成については、後述の各実施例で詳細に説明する。実施例1)
図3は、本発明の実施例1による領域分離処理の流れを示すフローチャートである。まず、線画と中間調領域が混在した多値画像が入力(s201)されたのち、横M画素×縦N画素(M,Nは正の整数)からなるブロックに分割される(s202)。ブロック分割の方法は、領域判定をブロック毎に行うか、画素毎に行うかで異なる。これを図4を用いて説明する。
図4(a)は、ブロック毎に処理する場合で、入力画像を単純に横M画素×縦N画素毎(この場合、M=5画素、N=3画素)に分割し、このM×Nで構成されるブロックを注目ブロックとし、これと隣合うM×Nで構成されるブロックを次の注目ブロックとするというように、ブロック毎に処理を行う。
図4(b)は、画素毎に処理する場合で、注目画素を中心として、横M画素×縦N画素(この場合、M=5画素、N=3画素)のブロックを形成する。次の画素を処理するときは、次の画素を中心として新たに横M画素×縦N画素ブロックを形成する。
このようなブロック分割後、図3に示すように、前記入力された多値画像信号の濃度変換を行う(s203)。すなわち、入力された多値画像信号は前記したように、256階調の濃度を有するが、本発明の領域分離処理においては、16階調あれば十分であるので、ここでは画像信号を単純に1/16にする。もちろん、256階調のままでも処理できるが、このような濃度変換処理を行うことにより、ハードウエアの規模を小さくできるので好都合である。なお、s202とs203の処理の順番は、どちらを先に行ってもよい。
本発明において使用するブロックサイズは、ハードウエアで実現する場合、画像メモリを少なくするという観点から、Nの値は1〜5が適切であり、また1つのブロック内に線画と中間調の領域が混在しないようにするために、Mの値は4〜20が適切である。さらに、M×Nの値としては、計算量を減らし、ハードウエア規模を小さくするために、8〜40が適切である。実験においては、16×1、8×2、10×2、8×3といったブロックサイズが、一番良好な結果をもたらした。
次に、前記したような濃度変換処理後、各ブロック毎に、黒画素数の計数(s204)および最大濃度差の計算(s205)を行う。黒画素数とは、ブロック内の画素の中で、画素濃度がしきい値T1以下の画素の総数である。本実施例では、T1=11とした。一般的に、再生紙等の背景色の影響を受けずに、正確に黒画素数を計数するためには、しきい値T1は入力階調数の3/4近辺に設定すると良いことが実験により確認されている。したがって、この場合は、入力階調数は濃度変換により16階調としたので、そのほぼ3/4に相当する11をしきい値として設定している。
一方、最大濃度差はある一つのブロック内の画素の中で、最大の濃度と最小の濃度との差である。具体的な計算例を図5に示す。この図5では、一つのブロックが横6画素×縦3画素で構成されているものとする。
図5(a)は線画領域の一例を、図5(b)は中間調領域の一例を示す。図5(a)においては、階調を示す数字「0」の部分は線や文字が描かれている部分であり、「15」の部分は空白の部分である。一般的に、線画領域は白黒のコントラストがはっきりしているので最大濃度差が大きく、また空白部分が多いので黒画素数が小さくなる。この図5(a)の場合、黒画素(しきい値T1以下、この場合は階調が「0」の部分)数は9個であり、最大濃度差は15である。
これに対して、図5(b)の場合は、階調を示す数字は「7」と「8」で構成されており、写真などの中間調領域部分である。一般に中間調領域は濃度変化が緩やかなので最大濃度差は小さく、また白っぽい部分が少ないので黒画素数は多くなる。この図5(b)の場合は、しきい値T1(=11)以下の黒画素数は18個であり、最大濃度差は1である。
この図5の例においては、もし平均濃度を計算した場合、どちらも同じ数値になってしまい区別がつかなくなるが、本発明の如く、黒画素数という数値を用いると、値が大きく異なるので、線画領域であるか中間調領域であるかを容易に区別することができる。
なお、黒画素数のかわりに白画素数を求めてもよい。白画素数とは、ブロック内の画素の中で、画素濃度がしきい値T1以上の画素の総数である。白画素数から黒画素数を求めるには、ブロック内の全画素数M×Nから白画素数を引けば良い。これらの処理は、ハードウエアで行うときは、図示したように並列処理できるが、ソフトウエアのときは、黒画素数計数処理(s204)を行ったあと、最大濃度差計算処理(s205)を行うか、またはその逆の順番で処理を行うかというように直列的な処理となる。
以上のように、黒画素数および最大濃度差という2つの特徴量抽出が済んだ後、ブロック毎に処理する場合は、注目ブロックが線画領域または中間調領域のどちらに入るのかを判定する。また、画素毎に処理する場合は、ブロックの中心画素(注目画素)が、線画または中間調領域のどちらに入るのかを判定する(s206)。
このどちらの領域に入るかを判定するための判定条件の一例を図6(a)に示す。この図6(a)の例は、ブロックサイズが16画素×1画素の場合で、かつ、濃度が「0」から「15」の16階調の場合の領域判定条件である。ここで、あるブロックの最大濃度差がしきい値T2以下で、かつ、黒画素数がしきい値T3以上のとき、このブロック(あるいは中心画素)を中間調領域(画素)と判定し、そうでないときを線画領域(画素)と判定する。この例では、実験の結果、T2=10、T3=4と設定するのが最適であった。
領域判定条件の別の例を図6(b)に示す。この例では、図6(a)のように条件を水平と垂直の2直線で定めるのではなく、一部分に斜め線xもしくは曲線yを使用して、分離精度の向上を図っている。本発明では、使用するブロックサイズに応じて、しきい値T2、T3や分離する曲線の形状を最適化する。
もし、特徴量として白画素数を使う場合、計算で黒画素数を求めてもよいが、図6の横軸(黒画素数)の0を16に、16を0に置き換えても同じ結果が得られる。
このように本発明では、領域判定に、黒画素数と最大濃度差という2つの特徴量を使用しているので、1つの特徴量しか使用しない領域分離方法に比べて、分離精度を良くすることができる。また、どちらの特徴量も簡単な演算処理で行えるので、処理時間が少なくて済み、ハードウエアでの実現も簡単に行える。
以上のような領域判定処理(s206)終了後、その領域判定結果が出力され、線画領域か中間調領域かに応じて、それぞれに対応した2値化信号を選択するために2値化信号切替え処理を行う(s207)。ここで、ブロック毎の処理の場合は、そのブロックが線画領域であれば、そのブロック内の全画素に対して線画に対応した2値化信号を選択すべく切替信号が出力され、そのブロックが中間調領域であれば、そのブロック内の全画素に対して中間調に対応した2値化信号を選択すべく切替信号が出力される。また、画素毎の処理の場合は、各画素毎に線画または中間調に対応した2値化信号を選択すべく切替信号が出力される。
以上で図1で示した領域分離処理(s101)および信号選択処理(s102)の説明を終了する。
次に、図2で示した本発明の画像処理装置の主要部分の具体的なハードウエア構成を図7から図11を用いて説明する。図7は図2で示した領域分離手段101および信号選択手段102の構成を示す。図7において、1は画像メモリで、処理に必要なNライン分の多値画像を蓄えている。この画像メモリ1内に格納されている多値画像データが、M画素×N画素で構成されるブロック毎に走査されて、順次、濃度変換器603に送られ、256階調から16階調へと濃度変換される。この濃度変換された画素データは、一方は比較器604に送られて、しきい値T1と比較されることにより当該画素が黒画素かどうか判定される。そして、計数器605により、ブロック内の黒画素の総数が計数される。濃度変換器603を出た他方の画素データは、最大値検出器606および最小値検出器607へ入り、この2つの信号の差を差分器608で求めることにより濃度差を計算する。ブロック内の全画素データが走査されたときに、差分器608からは、最大濃度差が出力される。
ここで、前述の図6(a)で示した例では、黒画素数のとる値は0〜16、最大濃度差は0〜15であるので、黒画素数5ビット、最大濃度差4ビットを入力アドレスとして、領域判定ROM609を参照する。領域判定ROM609の中には、図6に示したように2つの特徴量を入力アドレスとする領域判定結果が記憶されており、黒画素数と最大濃度差の値により、このブロックもしくは中心画素が、線画領域に属するのか中間調領域に属するのかを示す信号が出力される。この信号をもとに、2値化切替器610において、線画用あるいは中間調用の2値信号のいずれかが選択されて出力される。
以上で、領域分離処理部分および信号選択処理部分の説明を終了する。
次に、図2で示した中間調処理手段103の具体的な構成を図8のブロック図により説明する。図8において、画像メモリ1は前記したように、領域分離処理に必要なNライン分の多値画像が蓄えられている。また、同図において、703はγ補正用のテーブルが格納されたγ補正ROMである。
γ補正とは、出力装置(プリンタ・ディスプレイ等)の特性に合わせて画素濃度を補正するもので、この処理を行わないと中間調画像は、濃度情報が正しく出力されない。
本発明の画像処理装置で使用するγ補正曲線の一例(レーザプリンタ用)を図9に示す。図9において、横軸が入力画素濃度(階調レベル)、縦軸が出力画素濃度(階調レベル)である。本発明で使用するγ曲線は、黒レベル側に32階調程度の不感帯Gbを、白レベル側に64階調程度の不感帯Gwをそれぞれ持たせている。これは、領域判定処理において、本来、線画である領域が誤って中間調処理されたときに、処理画像上で誤りを目立たなくするためのものである。図9で示すようなγ補正曲線を使用すると、白と黒のコントラストがはっきりし、文字の一部が誤って中間調処理されても良好な画質が得られる。もちろん、このγ曲線を使用すると中間調領域の階調表現性が多少悪くなるが、実際の中間調画像においては、真っ黒や真っ白の画像はほとんど存在しないので、実用上はなんら問題ない。
ところで、図8において、前記γ補正ROM703から出力された画像信号は、いわゆる誤差拡散法によって中間調処理される。すなわち、差分器704において、画像信号fが重み付け誤差により補正され、f’(=f+WijEij)になる。次に、比較器705により、2値化しきい値と比較され、中間調用2値化信号I(“0”もしくは“1”)が出力される。上記差分器706は、誤差Eij(=I−f’)を求めて、誤差メモリ707に記憶する。重み付け演算器708は、例えば図10に示した重み付けマトリックスWijにより、誤差の重み付け計算をし、次の画素に重み付け誤差WijEijをフィードバックする。
図8では、誤差拡散法を用いた中間調処理について説明したが、周期的に変化するしきい値で多値画像を2値化するディザ法を使用して、この中間調処理部分を構成することもできる。以上で中間調処理部分についての説明を終了する。
次に、図2で示した線画用2値化処理手段104の具体的な構成について、図11のブロック図をもとに説明する。図11において、画像メモリ1は前記したように、領域分離処理に必要なNライン分の多値画像を蓄えている。この画像メモリ1内に格納されている多値画像データが、M画素×N画素で構成されるブロック毎に走査されて、順次、比較器1004において、線画用2値化しきい値とブロック内の画素濃度を比較することにより、線画用2値出力信号が生成される。
なお、この例では、常に一定のしきい値(256階調のとき、しきい値=128)で2値化する例を示したが、ブロック内の平均濃度を2値化しきい値として使用する等、公知の様々な方法を使用して線画用2値出力信号を生成することもできる。以上で線画用2値化処理部分についての説明を終了する。
このように実施例1では、多値で入力された画像をブロックに分割し、ブロックの画素の中で、しきい値以下の濃度を有する画素を計数することにより黒画素数を求め、さらにブロック内の画素間の最大濃度差を求め、黒画素数と最大濃度差より、当該ブロックもしくはブロック内の注目画素が中間調領域に属するかどうか判定し、文字用もしくは中間調用のいずれかの2値信号を出力させるようにしている。このように、領域判定に、黒画素数と最大濃度差という2つの特徴量を使用しているので、1つの特徴量しか使用しない領域分離方法に比べて、分離精度を良くすることができる。また、どちらの特徴量も簡単な演算処理で行えるので、処理時間が少なくて済み、ハードウエアでの実現も簡単に行える。
(実施例2)
図12に本発明の実施例2における領域分離処理のフローチャートを示す。
まず、線画・中間調領域が混在した多値画像を入力(s1101)したのち、横M画素×縦N画素からなるブロックに分割する(s1102)。このブロック分割後、前記入力された多値画像信号の濃度変換を行う(s1103)。そして、各ブロック毎に黒画素数の計数(s1104)および最大濃度差の計算(s1105)を行う。黒画素数と最大濃度差の2つの特徴量抽出が済んだ後、ブロック毎に処理する場合はこのブロック全体が、線画領域または中間調領域のどちらに入るかの判定を行う。また、画素毎に処理する場合はブロックの中心画素が、線画領域または中間調領域のどちらに入るかの判定を行う(s1106)。以上のs1101〜s1106の処理は、実施例1におけるs201〜s206の処理と同じであるので、ここでは詳細な説明は省略する。
上記領域判定処理(s1106)後、周辺のブロック(あるいは画素)の判定結果を参照して、注目ブロック(注目画素)の属性の訂正を行う(s1107)。ここで、属性とは、ブロック毎もしくは画素毎に領域判定された結果、それぞれのブロックもしくは画素に付けられた、線画あるいは中間調というラベルのことである。
この領域訂正処理について、図13および図14を用いて説明する。図13において、「0」〜「8」および「A」と書かれた矩形がブロックあるいは画素を表す。図12における領域判定処理(s1106)がブロック毎に行われている場合は、この矩形はブロックを表し、画素毎に行われている場合は、その矩形は画素を表すものとする。ブロック毎でも画素毎でも、処理の基本的な考え方は同じなので、以後はブロック毎の処理を例に挙げて説明する。
また、図13において、「0」で示したブロックが訂正処理の対象となっている注目ブロック、「1」〜「8」が参照ブロックである。
訂正処理を行う属性パターンの例を図14に示す。図14において、矢印αで示したブロックが注目ブロックで、tはブロックの属性が線画であることを、pはブロックの属性が中間調であることを表す。また、*印は、線画/中間調のどちらでもよいことを表している。
まず、参照ブロックを、現在処理中のブロック列のみとする場合(図13における参照ブロック「1」〜「5」)は、図14のa〜dに示すパターンに一致したブロックの属性を、図14のa’〜d’に示したようなパターンに訂正する。たとえば、図14のaに示すようなパターンに一致した領域判定結果であった場合、つまり、処理中の周辺の参照ブロックがすべて線画tと判定されたにも係わらず、注目ブロックが1つだけ中間調pと判定された場合は、その中間調の判定は誤りとみなし、図14のa’のごとく線画tとして訂正処理される。この訂正パターンでは、1もしくは2ブロックの誤りを訂正する。
また、参照ブロックを現在処理中のブロック列(図13における参照ブロック「1」〜「5」)および処理済みのブロック列(図13における参照ブロック「6」〜「8」)とする場合は、図14に示すa〜jのパターンに一致したブロックの属性を、図14のa’〜j’に示したように訂正する。この訂正パターンでは、3ブロック以下の連続誤りが訂正できる。この例では、属性の訂正は、注目ブロック(矢印αで示すブロック)に対してのみ行っているが、たとえば、図14のbのパターンに一致したブロックが、同図b’の如く、2つの中間調pのうち一方の中間調pが線画tに訂正されなかった場合(同図b’のβで示す)は、次の訂正処理において、注目ブロックを右隣に移動させると、図14のaのパターンに一致することから、自動的に訂正されるので、ここで必ずしも訂正する必要はない。なお、これらの訂正パターンは、様々な画像に対して領域判定処理を行い、どのようなパターンで誤っているかを統計的に求めて設定する。
以上のような領域訂正処理(s1107)が済んだブロックに対して、切替信号が出力され(s1108)、そのブロックの属性に応じた2値画像が出力される。つまり、そのブロックが線画と判定された場合は、線画用の2値化信号が出力され、中間調と判定された場合は、中間調用の2値化信号が出力される。
一般的に、文書画像を処理する場合、図13に示すように、処理は紙面の左上から右に向かって処理方向1で示した向きに、ブロック列あるいはライン毎に行い、1ブロック列あるいは1ラインが終了後、処理方向2で示したブロック列あるいはラインに移動して、再び処理を行うという手順をとる。従って、図13に示した参照ブロックで領域訂正を行う場合、特徴量抽出および領域判定処理は、「3」で示したブロックに対して終了している必要がある。そこで、これらの処理を並列に行う場合は、図13に示すように、特徴量抽出および領域判定処理は、「A」で示したブロックに対して行い、領域訂正処理は「0」で示したブロックに対して行うことになる。
以上説明したように、周辺のブロック(あるいは画素)の属性を参照して、訂正を行うことにより、領域分離処理の精度を上げることができる。
次に、この実施例2で示す画像処理装置の具体的な構成を、図15〜図18を用いて説明する。図15は、実施例2で示す画像処理装置における領域分離処理部分のブロック図を示す。図15において、画像メモリ1から領域判定ROM609までのブロックは、実施例1と同じであるので説明を省略し、領域属性メモリ1401と領域訂正ROM1402について説明する。
領域属性メモリ1401は、領域訂正処理のために必要なブロック(あるいは画素)の属性を記憶しているメモリで、図13に示すように処理済みのブロック列(ライン)および処理中のブロック列(ライン)の属性を記憶している。もちろん、処理済みのブロック列(ライン)を参照しない場合は、処理中のブロック列(ライン)の必要なブロック(画素)数分の属性を記憶しておけば良い。領域訂正ROM1402は、例えば図13に示したように参照ブロック(参照画素)が「1」〜「8」のときは、ブロック(画素)「0」〜「8」の属性を入力アドレスとして、注目ブロック(注目画素)「0」の属性を出力するテーブルが記憶されている。ここで、線画の属性を“1”、中間調の属性を“0”で表すと、9ビット/512とおりの入力状態が存在し、これに対して、線画の属性“1”か中間調の“0”が出力される。この512とおりの中には、図14に示したパターンが存在し、このパターンに一致したときは属性が訂正されることになる。
領域訂正ROM1402の出力は、一つは2値信号切替器610へ行き、属性に対応した2値画像を出力させる。つまり、ブロック毎の処理であれば、そのブロックが線画の場合は線画用の2値出力が選択され、中間調の場合は中間調用の2値信号が選択される。
上記領域訂正ROM1402の出力のもう一方は、領域属性メモリ1401に戻り、注目ブロック(注目画素)の属性を書き換える。入力パターンが図14に示したものと一致しないときは、書き換え前と後での属性は同じとなるが、ハードウエアの構成が簡単であるので、ここでは、属性の訂正の有無にかかわらず常に更新するものとする。従って、図13において、領域訂正処理は、領域訂正が済んでいるブロック「4」〜「8」と、済んでいないブロック「0」〜「3」を参照して行っていることになる。
図16は前記図13に示した例をもとに、領域訂正処理を行う部分を詳しく示したブロック図である。図16において、領域判定ROM609で判定された領域判定結果は、領域属性メモリ1401の「A」で示したところに記憶される。そして、図13に示したように参照ブロック(参照画素)が「1」〜「8」のときは、ブロック(画素)「0」〜「8」のそれぞれの属性(線画の属性“1”、中間調の属性“0”)を入力アドレスとして、領域訂正ROM1402に与える。この領域訂正ROM1402には各入力アドレスの各パターンに対応した注目ブロック(注目画素)「0」の属性を出力するテーブルが記憶されており、そのパターンが前記図14で示したパターンに一致すると、注目ブロックの属性を書換えるべく信号が出力される。この領域訂正ROM1402からの書換え出力は領域属性メモリ1401の「0」で示したところに記憶される。これにより、たとえば、注目ブロックの属性が誤って“1”となっていた場合は“0”に書換えられる。
また、この領域訂正ROM1402からの出力は信号選択手段102への2値信号切替え信号としても用いられる。つまり、領域訂正ROM1402からの出力が“1”の場合は、線画用の2値化出力が選択され、領域訂正ROM1402からの出力が“0”の場合は、中間調用の2値化出力が選択される。
なお、図15および図16においては、領域訂正処理を領域訂正ROM1402を参照することにより行っているが、これに限られるものではなく、たとえば組合せ回路で実現するするようにしてもよい。この例を図17および図18を用いて説明する。
図17において、1403は領域属性メモリ1401に保持された注目ブロック(画素)および参照ブロック(参照画素)の属性出力を、後述する規則に従って接続する接続回路である。1404は各ブロック(画素)の属性が、図14に示したパターンと一致しているかどうか判定するパターンマッチング回路部で、マッチングを行うパターンの数だけパターンマッチング回路が必要である。この場合、図14ではaからjまでのパターンがあるため、パターンマッチング回路部1404は、Ma,Mb,・・・Mjのパターンマッチング回路で構成されている。
たとえば、図14のaのパターンに対してマッチングを行うパターンマッチング回路Maの構成例としては図18のような回路が考えられる。この図18の回路は、参照ブロック「4」、「5」、「1」、「2」の各属性をアンド回路A1に与え、注目ブロック「0」の属性は反転回路INVを介して上記アンド回路A1に与える構成となっている。
このような構成とすることにより、入力パターンが図14のaで示したものと一致したときのみ、このパターンマッチング回路Maの出力は“1”になる。つまり、この場合、注目ブロック「0」の属性が中間調(“0”)で、その周辺ブロック「4」、「5」、「1」、「2」の各属性が線画(“1”)であると、このパターンは図14のaに一致し、これらの信号がパターンマッチング回路Maに与えられると、パターンマッチング回路Maの出力は“1”になる。前述の接続回路1403は、各パターンマッチング回路Ma,Mb,・・・,Mjの各入力端子に対して所定のブロックの属性出力が入力されるように接続関係を設定するものである。また、各パターンマッチング回路Ma,Mb,・・・,Mjは、図14ではaからjまでのパターンに対応させるため、反転回路INVの個数や、これら反転回路の挿入位置はそれぞれ異なる。つまり、いずれのパターンマッチング回路Ma,Mb,・・・,Mjも、入力パターンが図14のaからjまでのパターンのうち対応するパターンに一致したとき、その出力が“1”となるように構成されている。
また、図17において、1405は各パターンマッチング回路Ma,Mb,・・・Mjの論理和をとり、いずれかのパターンに一致したときに“1”を出力するオア回路である。1406はオア回路1405の出力と注目ブロック(注目画素)「0」の属性との排他的論理和を求める排他的論理和回路である。
このような構成であるから、オア回路1405の出力が“1”のときは、注目ブロック(注目画素)の属性が反転することになる。たとえば、入力パターンが図14のaに一致しているとすると、パターンマッチング回路Maから“1”が出力され、この“1”出力がオア回路1405を介して排他的論理和回路1406の一方の入力として与えられる。そして、この排他的論理和回路1406には他方の入力として、注目ブロック(注目画素)「0」の属性(この場合は、中間調と誤判定されているため“0”)が与えられている。したがって、排他的論理和回路1406からは、“1”が出力され、この“1”出力が注目ブロック(注目画素)「0」の内容として領域属性メモリ1401に書き込まれ、注目ブロック(注目画素)の属性が書き換えられる。なお、本実施例では、注目ブロック(注目画素)の属性を常に書き換えるように構成しているが、オア回路1405の出力が“1”のときのみ、書き換えるように制御してもよい。
そして、この排他的論理和回路1406からの出力は、2値信号切替器610にも与えられ、上記した例の場合は、排他的論理和回路1406からの“1”出力によって、2値信号切替器610は線画領域用の2値信号を取り出すべく切替え制御される。
次に、本発明の実施例2における中間調処理手段の具体的な構成を図19のブロック図を用いて説明する。また、線画用2値化処理手段の具体的な構成を図20のブロック図を用いて説明する。
図19および図20において、図8および図11と同じ番号を付したものは、実施例1と同じ機能なので説明を省略する。図19および図20のどちらの図においても、実施例1との違いは、画像メモリ1の後に遅延回路2が挿入されていることである。この遅延回路2は、図13からも分かるように、特徴量抽出による領域判定と領域訂正による切替信号出力の間には、4ブロック(4画素)分の遅延が存在するので、領域訂正が終了したブロック(画素)に対して、そのブロック(画素)に対応する2値信号が出力できるように、画像メモリ1から読み出した画像信号を一時蓄えて、同期をとるための回路である。また、遅延回路の代わりに、読みだし制御回路を挿入して、領域分離処理と同期がとれるように、画像メモリ1からの画像信号の読み出しタイミングを制御してもよい。
次に、前記領域訂正処理(s1107)の別の方法について、図21を用いて説明する。図21において、同図(a)は処理中のブロック列(もしくはライン)のみを使用する場合、同図(b)は処理中のブロック列(もしくはライン)と処理済みのブロック列(もしくはライン)も使用する場合の例である。
この図21の方法は、注目ブロック(注目画素)と参照ブロック(参照画素)における属性の出現頻度を計数し、出現頻度が多い方の属性を注目ブロック(注目画素)の属性とする多数決法である。同図(a)では注目ブロック(注目画素)の前後各2ブロック(2画素)を参照ブロック(参照画素)とし、合計5ブロック(5画素)の中で出現頻度の多かった方の属性を注目ブロック(注目画素)の属性とする。同図(b)は、全部で10ブロック(10画素)で多数決をとり、注目ブロック(注目画素)の属性を決定する。
この多数決法は、前記したパターンマッチング法と異なり、属性の出現状態、すなわち、パターンを見ていないので、正確さに少し欠けるが、参照ブロック(参照画素)が増えても処理が複雑にならないという長所を有する。したがって、参照ブロック(参照画素)数が多いときに、有利な方法である。
図22は、前記多数決法を使用したときの領域訂正処理部分の構成を示すブロック図である。領域判定ROM609および領域属性メモリ1401までの構成は、図15で示したものと同じである。図22において、計数器1901は、領域属性メモリ1401から参照する各ブロック(画素)の属性を読み取り、線画または中間調のいずれかの属性の出現回数を計数する。前記したように、線画の属性を“1”、中間調を“0”とすると、図21(a)の例では、ブロック数が「5」であるから計数値は0〜5の範囲になる。次に、この計数値を比較器1902で訂正用しきい値(この場合は、しきい値は3になる)と比べて、このしきい値より線画の属性“1”の計数値が大きい場合は、このブロック(画素)の属性を線画とし、小さいときは中間調とする。そして、この比較器1902からの属性を示す出力(“1”または“0”)は、切替え信号として、2値信号切替器610(図7参照)に出力されるとともに、領域属性メモリ1401にフィードバックされて、注目ブロック(注目画素)の属性を書き換える。
以上説明したように、この実施例2においては、線画領域であるか中間調領域であるかの判定を行ったあと、周辺ブロックの属性を参照して、誤った領域判定の訂正を行うので、領域判定制度をさらに向上させることができる。また、領域判定の訂正手段としては、パターンマッチング法または多数決法を採用した例を示したが、これらはいずれも簡単なハードウエア構成で実現することができ、しかも実用上十分な処理を行うことができる。
(実施例3)
一般的に、ブロック毎に判定を行う場合、誤判定されたブロック全体に対して、誤った2値画像が出力されてしまうので、誤りが目立つ傾向がある。特に、線画から中間調へ、あるいは中間調から線画へと状態が遷移する場合、その遷移する境界で誤りが目立つ。
この実施例3は、状態遷移の境界に存在するブロックを検出し、このブロックに対しては周辺ブロックの属性を参照して、そのブロック内で2値化信号を、線画用から中間調用へ、またはその逆へと切り替えることにより、2値化処理したときに誤判定ブロックを目立たないようにしたものである。
図23に実施例3の領域分離処理と信号選択処理のフローチャートを示す。まず、線画領域と中間調領域が混在した画像を入力(s2001)したのち、横M画素×縦N画素からなるブロックに分割する(s2002)。このブロック分割後、前記入力された多値画像信号の濃度変換を行う(s2003)。そして、各ブロック毎に黒画素数の計数(s2004)および最大濃度差の計算(s2005)を行う。黒画素数と最大濃度差の2つの特徴量抽出が済んだ後、このブロック全体が、線画または中間調のどちらに入るのかを判定する(s2006)。以上のs2001〜s2006の処理は、実施例1におけるs201〜s206の処理と同じであるので、詳細な説明は省略する。唯一異なる点は、実施例3においては、すべての処理をブロック毎に行うことである。
次の信号選択処理においては、まず最初に、注目ブロックの属性が線画から中間調へ、あるいは中間調から線画へ変化したか否か、すなわち状態が遷移したか否かを検出する(s2007)。ここで、状態が遷移したことが検出された場合には、すでに判定処理の終了した周辺のブロックの属性を参照する(s2008)。そして、参照ブロックの属性および注目ブロックの属性について、線画および中間調の出現頻度を計数し、注目ブロック内における2値化出力のための切替タイミングを発生する(s2009)。このように状態遷移が起こった場合は、上記切替タイミングにより、そのブロック内において2値化信号を切り替えて出力する(s2010)。
一方、上記s2007で状態遷移がないと判断された場合は、上記s2006による領域判定結果に従った切替え信号出力を行う(s2010)。
以上の動作についての説明は後述する。
次に、この実施例3における領域分離処理および信号選択処理に関する部分の構成を示すブロック図を図24に示す。図24において、領域判定ROM609より前の処理を行う構成要素は、実施例1における図7と同じであるので、ここでは図示を省略し、また、それらの部分の動作説明も実施例1と同じなので省略する。
領域判定ROM609からの領域判定結果は、領域属性メモリ1401に記憶される。領域属性メモリ1401において、「0」で示したブロックが2値化処理の対象となっている注目ブロックであり、「1」〜「3」で示したブロックが参照ブロックである。
上記図23で示した信号選択処理を行う信号選択処理ブロックは、状態遷移検出回路2101、属性パターンROM2102、タイミング発生器2103、切替器2104などから構成されている。
上記状態遷移検出回路2101は、注目ブロックの属性が、線画から中間調へ、あるいは中間調から線画へ変ったことを検出するものであり、2つの排他的論理和回路EOR1,EOR2と、これらの排他的論理和回路EOR1,EOR2の出力の論理和をとるオア回路OR1とにより構成されている。このような構成により、注目ブロックの属性とそれに隣接する参照ブロックの属性との排他的論理和をとることにより、状態遷移があれば、いずれかの排他的論理和回路から“1”が出力し、その“1”出力がオア回路OR1を介して出力される。ここで、各ブロックの属性の信号は、前記したように、線画は“1”、中間調は“0”とする。
また、上記属性パターンROM2102は、注目ブロック「0」と参照ブロック「1」〜「3」の属性を入力アドレスとし、属性に応じたパターンを出力するものである。また、上記タイミング発生器2103は、属性パターンROM2102の出力に応じて、切替器2104に対して切替信号Bを発生させるタイミング発生器である。
また、上記切替器2104は、状態遷移が起こらなかった場合は、領域判定ROM609からの領域判定結果に対応した切替信号Aを、状態遷移が起こった場合は前述の切替信号Bを選択して出力する切替器である。つまり、状態遷移が起こらなかった場合は、切替器2104からは、領域判定ROM609からの領域判定結果に対応した切替信号Aが2値信号切替器610に出力され、状態遷移が起こった場合は、属性パターンROM2102の出力に応じた切替信号Bが、2値信号切替器610に出力される。そして、2値信号切替器610からは、切替信号Aまたは切替信号Bに対応して、線画用または中間調用の2値化信号が出力される。
この信号選択処理部分の動作について、図25と図26を用いて具体的に説明する。図25は、領域判定処理済みのブロック列と領域判定処理中のブロック列の2ブロック列分の領域判定結果を示す図である。なお、ここでは、1つのブロックの横並び方向の画素数Mを16とする。
図25において、tはそのブロック全体が線画と判定されたブロックであることを示し、pはそのブロック全体が中間調と判定されたブロックであることを示している。また、矢印αで示したブロックが注目ブロックであり、本来、中間調pと判定されるべきものが線画tと誤判定されているものとする。
そして、注目ブロックと参照ブロックの属性が属性パターンROM2102に入力されると、図26(b)に示すような出力パターンが得られる。この例では、属性パターンROM2102への入力は、4ブロック分(図25において、点線で囲った部分の4つのブロック)の属性である。この4ブロック分の属性のうち、線画として判定された数が3、中間調として判定された数が1であるので、属性パターンROM2102からは、“1110”という出力パターンが得られる。なお、この出力パターンは、各属性の出現頻度と、ブロックの属性パターンを考慮して、属性の連続性が保てるように作成する。図25の例の場合、5つの横並びのブロック全体としては、左から2ブロック目と3ブロック目付近を境にして、左側が文字などの線画領域で右側が写真などの中間領域となっている(実際には、文字の領域と写真などの領域との間は空白部となっていることが多く、この場合、この線画領域は“白”部分である)。このように、図25においては、左側が線画領域、右側が中間調領域であるので、出力パターンを、たとえば“0111”とすると、中間調領域が左側に存在することになって、周辺の属性と一致しなくなるので、かえって誤りが目立つ結果になる。したがって、ここでは、属性パターンROM2102からは、図26(b)に示すように、“1110”という出力を得る。
この“1110”というパターンを受けたタイミング発生器2103は、図26(a)に示すような注目ブロックを構成する16画素のうち4画素毎に、同図(d)のごとく、上記出力パターン(“1110”)に応じた切替信号Bを出力する。
なお、このときもし、領域判定ROM609による領域判定結果どおりの出力(切替信号A)とすると、この場合は、その注目ブロック全体が線画の判定となるため、図26(c)のような切替信号A(この場合、線画用の“1”信号)が、切替器2104から2値信号切替器610に出力されることになり、本来、この注目ブロックは、中間調として処理されるべきであるが、線画として処理されることになってしまう。
しかし、この実施例3によれば、上記したように、属性パターンROM2102からは、図26(b)に示すように、“1110”という出力を得て、同図(d)のごとく、このパターン(“1110”)に応じた切替信号Bが、切替器2104から2値信号切替器610に出力されることになる。したがって、注目ブロックを構成する16画素のうちの4画素分、つまり、注目ブロックの1/4の部分は中間調を示す“0”が2値信号切替器610に出力されるため、注目ブロックの1/4は正しい処理を行うことが可能となり、2値化処理の誤りを目立たなくすることができる。
図25に示した誤りは、ブロックが写真領域のエッジに引っかかった場合に生じることが多く、たとえブロックの1部分しか正しく出力されなくとも、2値画像出力は格段にきれいになる。また、状態遷移の起こったブロックが必ずしも誤っているわけではないので、正しく判定されたブロックに対しては、誤った処理をする可能性があるが、出力された2値画像上では目立たない。
この実施例3における中間調処理部分と線画用2値化処理部分については、実施例2で示した図19および図20と同じである。ただし、図24に示した例では、領域判定結果が「Y」で示すブロックに書き込まれ、2値化出力は「0」で示すブロックに対して行われるので、遅延回路2における遅延時間が2ブロック分になる点が異なるだけである。したって、ここでは実施例3における中間調処理部分と線画用2値化処理部分の図示およびその説明は省略する。
以上説明したように、実施例3によれば、黒画素数と最大濃度差より、当該ブロックが中間調領域に属するかどうか判定し、その後ブロック間において領域属性が線画から中間調あるいはその逆になる状態遷移を検出し、状態遷移のないブロックについては領域判定結果に基づいて、ブロック内全画素に対して線画用もしくは中間調用のいずれかの2値信号を出力させ、状態遷移のあるブロックについては、周辺ブロックの領域属性を参照して当該ブロック内で2値画像信号を切り替えるようにしている。したがって、最終的に出力される2値画像上での誤りを目立たなくなるすることができる。
(実施例4)
前述したように、ブロック毎に判定を行う場合、誤判定されたブロック全体に対して、誤った2値画像が出力されてしまうので、誤りが目立つ傾向がある。特に、線画から中間調へ、あるいはこの逆になる場合、その境界で誤りが目立つ。そこで、実施例4は、境界にあるブロックを検出し、このブロックに対しては、そのブロックを構成する複数の画素のそれぞれの画素濃度に応じて各画素毎に、ブロック内で2値化信号を切り替えることにより、誤判定ブロックを目立たないようにしたものである。
図27に実施例4における領域分離処理と信号選択処理のフローチャートを示す。まず、線画領域と中間調領域が混在した画像を入力(s2401)したのち、横M画素×縦N画素からなるブロックに分割する(s2402)。ブロック分割後、入力された多値画像信号の濃度変換を行う(s2403)。そして、各ブロック毎に黒画素数の計数(s2404)および最大濃度差の計算(s2405)を行う。黒画素数と最大濃度差の2つの特徴量抽出が済んだ後、このブロック全体が、線画または中間調のどちらに入るのか判定する(s2406)。以上のs2401〜s2406の処理は、実施例1におけるs201〜s206の処理と同じであるので、詳細な説明は省略する。唯一異なる点は、本実施例においては実施例3と同様、すべての処理をブロック毎に行うことである。
次に信号選択処理について説明する。この信号選択処理においては、まず最初に、ブロックの属性が線画から中間調へ、あるいは中間調から線画へ変化したか否か、すなわち状態が遷移したか否かを検出する(s2407)。ここで状態遷移が検出されると、画素毎に画素濃度に応じて、線画用の2値化処理または中間調用の2値化処理のどちらを採用するかを決定する。具体的には、16階調で入力された画素信号の濃度が、1以下(黒)か13以上(白)か2〜12(グレー)かの3段階の階調を示す値を検出し、画素信号の濃度が、1以下(黒)か13以上(白)のときは線画用の処理を選択すべく信号を出力し、2〜12(グレー)であるときは中間調用の処理を選択すべく信号を出力する(s2408)。
そして、状態遷移の起こったブロックに対しては、s2408で生成した線画用または中間調用選択信号により、線画または中間調であることを示す切替信号を出力し、また、上記s2407において状態遷移がない判断されたブロックに対しては、領域判定結果に従った線画または中間調であることを示す切替信号を出力する(s2409)。この具体的な動作については後述する。
次に、実施例4における領域分離処理および信号選択処理に関する部分の構成を図28に示す。
図28において、領域判定ROM609より前の処理を行うブロックは、実施例1における図7と同じであるので、ここでは図示を省略し、また、この部分の動作も、実施例1と同じなのでその説明を省略する。
上記領域判定ROM609からの領域判定結果は、領域属性メモリ1401に記憶される。領域属性メモリ1401において、「0」で示したブロックが2値化処理の対象となっている注目ブロックである。信号選択処理ブロックは、状態遷移検出回路2101、線画/中間調処理選択回路2501、切替器2104などから構成されている 。
上記状態遷移検出回路2101は、注目ブロックの属性が、線画から中間調へ、あるいは中間調から線画へ変ったことを検出するものであり、前記実施例3で説明したものと同様に、2つの排他的論理和回路EOR1,EOR2と、これらの排他的論理和回路EOR1,EOR2の出力の論理和をとるオア回路OR1とにより構成されている。このような構成により、注目ブロックの属性とそれに隣接する参照ブロックの属性との排他的論理和をとることにより、状態遷移があれば、いずれかの排他的論理和回路から“1”が出力され、その“1”出力がオア回路OR1を介して出力される。ここで、各ブロックの属性の信号は前記したように、線画は“1”、中間調は“0”で表すものとする。
また、上記線画/中間調処理選択回路2501は、2つの比較器C1,C2とオア回路OR2で構成されている。この線画/中間調処理選択回路2501は、注目ブロック「0」の各画素の濃度が、1以下(黒)か13以上(白)のときは、“1”を切替器2104に切替え信号Bとして出力し、2〜12(グレー)のときは、“0”を切替器2104に切替え信号Bとして出力する。
また、上記切替器2104は、状態遷移が起こらなかった場合は、領域判定ROM609からの領域判定結果に対応した切替信号Aを、状態遷移が起こった場合は前述の切替信号Bを選択して出力する切替器である。つまり、切替器2104からは、状態遷移が起こった場合は、領域判定ROM609からの領域判定結果に対応した切替信号Aが、2値信号切替器610に出力され、状態遷移が起こった場合は、線画/中間調処理選択回路2501の出力に応じた切替信号Bが、2値信号切替器610に出力される。そして、2値信号切替器610からは、切替信号Aまたは切替信号Bに対応して、線画用または中間調用の2値化信号が出力される。
この信号選択処理の動作について、図29を用いて具体的に説明する。ここでは、ブロックサイズを16画素×1画素としている。そして、斜線で示した3画素の濃度は2〜4で、その他の画素濃度は14とする。このような状態は、ブロックが中間調領域のエッジ部分にひっかかった場合に出現し、この場合、黒画素数が3で、最大濃度差が12となるので、本来中間調と判定されなければならないブロックが、線画と誤判定される例である。
図29(a)に示すような注目ブロックの画素信号が、線画/中間調処理選択回路2501に入力されると、この線画/中間調処理選択回路2501からは同図(c)のごとく、濃度14の画素の場合は、線画用の処理を選択する信号“1”が切替え信号Bとして出力され、濃度2〜4の画素の場合は、中間調用の処理を選択する“0”が切替え信号Bとして出力される。
これに対して、領域判定結果どおりの出力をした場合は、同図(b)のように、そのブロック全体が線画となる切替信号A(“1”)が出力されることになる。
しかし、実施例4の方法を使用すると、中間調の部分が、それに応じた正しい2値化信号出力となるため正しい処理を行うことができる。
なお、状態遷移が起こったブロックが必ずしも誤っているわけではないので、正しく判定されたブロックに対して、誤った処理をする可能性があるが、画素濃度に応じて処理方法を切り替えているので、出力された2値画像上では誤りは目立たない。
本発明の画像処理装置の中間調処理部分と線画用2値化処理部分については、実施例2で示した図19および図20と同じである。ただし、図28に示した例では、領域判定結果がブロックYに書き込まれ、2値化出力はブロック0に対して行われるので、遅延回路2における遅延時間は、2ブロック分になる。
以上説明したように、実施例4では、黒画素数と最大濃度差より、当該ブロックが中間調領域に属するかどうか判定し、その後ブロック間において領域属性が文字から中間調あるいはその逆になる状態遷移を検出し、状態遷移のないブロックについては領域判定結果に基づいて、ブロック内全画素に対して文字用もしくは中間調用のいずれかの2値信号を出力させ、状態遷移のあるブロックについては、そのブロックを構成する各画素の画素濃度に応じて当該ブロック内で2値画像信号を切り替えるようにしている。これにより、最終的に出力される2値画像上での誤りを目立たなくすることができる。
(実施例5)
図30に本発明の実施例5を説明するための領域分離処理と信号選択処理のフローチャートを示す。まず、線画と中間調領域が混在した画像を入力(s2701)したのち、横M画素×縦N画素からなるブロックに分割する(s2702)。ブロック分割後、入力された多値画像信号の濃度変換を行う(s2703)。そして、各ブロック毎に黒画素数の計数(s2704)および最大濃度差の計算(s2705)をする。黒画素数と最大濃度差の2つの特徴量抽出が済んだ後、このブロック全体が、線画領域か中間調領域のどちらに入るのか判定する(s2706)。以上のs2701〜s2706の処理は、実施例1におけるs201〜s206の処理と同じであるので、詳細な説明は省略する。唯一異なる点は、本実施例においては、前記実施例3および実施例4同様、すべての処理をブロック毎に行うことである。
領域判定処理(s2706)後、周辺のブロックの判定結果を参照して、注目ブロックの属性の訂正を行う(s2707)。ここで、属性とは、ブロック毎に領域判定された結果、それぞれのブロックに付けられた、線画あるいは中間調というラベルのことである。領域訂正処理(s2707)は、実施例2におけるs1107と同じであるので、詳細な説明は省略する。
次に、信号選択処理について説明する。この信号選択処理において、まず最初に、ブロックの属性が線画から中間調へ、あるいは中間調から線画へ変化したか否か、すなわち状態が遷移したか否かを検出する(s2708)。ここで状態遷移が検出されると、すでに処理された周辺のブロックの属性を参照する(s2709)。参照ブロックおよび注目ブロック属性について、線画および中間調の出現頻度を計数し、注目ブロック内で2値化出力のための切替タイミングを発生する(s2710)。このように状態遷移が起こった場合は、切替タイミングにより、そのブロック内における2値信号を出力し、また、上記s2708で状態遷移がないと判断された場合は、上記s2707による領域訂正結果に従った切替え信号出力を行う(s2711)。このs2708からs2711の処理は実施例3の説明で用いた図23のs2007からs2010と同様である。
次に、この実施例5における領域分離処理および信号選択処理に関する部分の構成を図31に示す。図31において、領域判定ROM609より前の処理を行うブロックは、実施例1における図7と同じであるので、ここでは図示を省略し、また、その部分の動作も、実施例1と同じなのでその説明を省略する。
領域判定ROM609からの領域判定結果は、領域属性メモリ1401に記憶される。そして、実施例2で説明したように、ブロック「0」〜「8」の属性を入力アドレスとして、領域訂正ROM1402でパターンマッチングを行い、ブロック「0」の属性を訂正する。その訂正結果は、再び領域属性メモリ1401に記憶される。なお、パターンマッチングは、領域訂正ROM1402を参照する方式の代わりに、実施例2において、図17および図18を用いて説明した回路を使用することもできる。また、領域訂正処理全体については、実施例2の図21および図22を用いて説明した多数決法を使用してもよい。
上記領域訂正が終了したブロックに対して、線画あるいは中間調に対応した2値化出力を行う。領域属性メモリ1401において、ここでは、「4」で示したブロックが2値化処理の対象となっている注目ブロック、「X」、「Y」、「Z」が参照ブロックである。状態遷移検出回路2101は、ブロックの属性が、線画から中間調へ、あるいは中間調から線画へ変ったことを検出するものであり、その構成および動作は、実施例4の説明で用いた図24に示した状態遷移検出回路2101と同様である。なお、ここでも各ブロックの属性の信号は、線画は“1”、中間調は“0”で表すものとする。
また、属性パターンROM2102は、注目ブロック「4」と参照ブロック「X」,「Y」,「Z」の属性を入力アドレスとし、属性に応じたパターンを出力するものである。また、タイミング発生器2103は、属性パターンROM2102の出力に応じて、切替信号Bを発生させるタイミング発生器である。
また、上記切替器2104は、状態遷移が起こらなかった場合は、領域属性メモリ1401からの領域訂正結果に対応した切替信号Aを、状態遷移が起こった場合は前述の切替信号Bを選択して出力する切替器である。つまり、切替器2104からは、状態遷移が起こらなかった場合は、領域属性メモリ1401からの領域訂正結果に対応した切替信号Aが、2値信号切替器610に出力され、状態遷移が起こった場合は、タイミング発生器2103の出力に応じた切替信号Bが、2値信号切替器610に出力される。そして、2値信号切替器610からは、切替信号Aまたは切替信号Bに対応して、線画用または中間調用の2値化信号が出力される。
以上の信号選択処理ブロックの詳細な説明は、実施例3と同じなので省略する。
この実施例5では、領域判定後、周辺ブロックの属性を参照して注目ブロックの属性を訂正し、その上でまだ誤判定されている可能性のあるブロックに対しては、周辺ブロックの属性を参照して、注目ブロック内において2値化信号を切り替えるので、2値化出力画像は、実施例1〜4のものと比べて、さらにきれいなものとなる。
この実施例5における中間調処理部分と線画用2値化処理部分については、実施例2で示した図19よび図20と同じである。ただし、図31に示した例では、領域判定結果がブロック「A」に書き込まれ、2値化出力はブロック「4」に対して行われるので、図19に示す遅延回路2における遅延時間は、本実施例の場合は、6ブロック分の遅延時間となる。
(実施例6)
図32に本発明の実施例6による領域分離処理と信号選択処理のフローチャートを示す。線画と中間調領域が混在した画像を入力(s2901)したのち、横M画素×縦N画素からなるブロックに分割する(s2902)。ブロック分割後、入力された多値画像信号の濃度変換を行う(s2903)。そして、各ブロック毎に黒画素数の計数(s2904)および最大濃度差の計算(s2905)をする。黒画素数と最大濃度差の2つの特徴量抽出が済んだ後、このブロック全体が、線画または中間調のどちらに入るのか判定する(s2906)。以上のs2901〜s2906の処理は、実施例1におけるs201〜s206の処理と同じであるので、詳細な説明は省略する。唯一異なる点は、本実施例においては、実施例3〜実施例5と同様、すべての処理をブロック毎に行うことである。
領域判定処理(s2906)後、周辺のブロックの判定結果を参照して、注目ブロックの属性の訂正を行う(s2907)。ここで、属性とは、ブロック毎に領域判定された結果、それぞれのブロックに付けられた、線画あるいは中間調というラベルのことである。領域訂正処理(s2907)は、実施例2におけるs1107と同じであるので、詳細な説明は省略する。以上で、実施例6における領域分離処理についての説明を終了する。
次に、信号選択処理おいては、まず最初に、ブロックの属性が線画から中間調へ、あるいは中間調から線画へ変化したか否か、すなわち状態が遷移したか否かを検出する(s2908)。ここで状態遷移が検出されると、画素毎に画素濃度に応じて、線画用の2値化処理または中間調用の2値化処理のどちらを採用するかを決定する。具体的には、16階調で入力された画素信号の濃度が、1以下(黒)か13以上(白)か2〜12(グレー)かの3段階の階調を示す値を検出し、画素信号の濃度が、1以下(黒)か13以上(白)のときは線画用の処理を選択すべく信号を出力し、2〜12(グレー)であるときは中間調用の処理を選択すべく信号を出力する(s2909)。このように状態遷移の起こったブロックに対しては、s2909で生成した線画用または中間調用選択信号により、線画または中間調であることを示す切替信号を出力する(s2910)。
一方、上記s2908において状態遷移がないと判断されたブロックに対しては、領域訂正結果に従った線画または中間調であることを示す切替信号を出力する(s2910)。このs2908からs2910の処理は実施例4で説明したものと同様である。
次に、本発明の実施例6における領域分離処理および信号選択処理に関する部分の構成を図33に示す。図33において、領域判定ROM609より前の処理を行うブロックは、実施例1における図7と同じであるので、ここでは図示を省略し、また、その部分の動作も、実施例1と同じなのでその説明を省略する。
領域判定ROM609からの領域判定結果は、領域属性メモリ1401に記憶される。そして、実施例2で説明したように、ブロック「0」〜「8」の属性を入力アドレスとして、領域訂正ROM1402でパターンマッチングを行い、ブロック「0」の属性を訂正する。訂正結果は、再び領域属性メモリ1401に記憶される。なお、パターンマッチングは、領域訂正ROM1402を参照して行う代わりに、実施例2において、図17および図18を用いて説明した組合せ回路を使用することもできる。また、領域訂正処理全体については、実施例2の図21および図22を用いて説明した多数決法を使用してもよい。
上記領域訂正が終了したブロックに対して、線画あるいは中間調に対応した2値化出力を行う。領域属性メモリ1401において、ここでは、「4」で示したブロックが2値化処理の対象となっている注目ブロックである。状態遷移検出回路2101は、ブロックの属性が、線画から中間調へ、あるいは中間調から線画へ変ったことを検出するものであり、その構成および動作は、実施例4の説明で用いた図28に示した状態遷移検出回路2101と同様である。なお、ここでも各ブロックの属性の信号は、線画は“1”、中間調は“0”で表すものとする。
また、線画/中間調処理選択回路2501は、実施例4の説明で用いた図28にて説明したように、2つの比較器C1,C2とオア回路OR2で構成されている。そして、16階調で入力された画素信号の濃度が、1以下(黒)か13以上(白)のときは、“1”を切替器2104に切替え信号Bとして出力し、2〜12(グレー)のときは、“0”を切替器2104に切替え信号Bとして出力する。
また、上記切替器2104は、状態遷移が起こらなかった場合は、領域属性メモリ1401からの領域訂正結果に対応した切替信号Aを、状態遷移が起こった場合は前述の切替信号Bを選択して出力する切替器である。つまり、切替器2104からは、状態遷移が起こらなかった場合は、領域訂正結果に対応した切替信号Aが、2値信号切替器610に出力され、状態遷移が起こった場合は、線画/中間調処理選択回路2501の出力に応じた切替信号Bが、2値信号切替器610に出力される。そして、2値信号切替器610からは、切替信号Aまたは切替
信号Bに対応して、線画用または中間調用の2値化信号が出力される。
以上の信号選択処理ブロックの詳細な説明は、実施例4と同じなので省略する。
この実施例6では、領域判定後、周辺ブロックの属性を参照して注目ブロックの属性を訂正し、その上でまだ誤判定されている可能性のあるブロックにおいて、画素濃度に応じて2値化信号を切り替えるので、2値化出力画像は、実施例1〜4のものと比べて、さらにきれいなものとなる。
この実施例6における中間調処理部分と線画用2値化処理部分については、実施例2で示した図19および図20と同じである。ただし、図33に示した例では、領域判定結果がブロック「A」に書き込まれ、2値化出力はブロック「4」に対して行われるので、図19に示した遅延回路2における遅延時間は、実施例6の場合、6ブロック分になる。