(57)【要約】【課題】レイアウト解析処理の高効率化を図る。【解決手段】矩形領域の集合全体で抽出された極大白矩形系列により矩形領域の集合全体を少なくとも１以上の領域に分離して格納し、格納した各領域を当該各領域で再び抽出された極大白矩形系列により少なくとも１以上の部分領域に分離するという処理を、再帰的に繰り返す。これにより、極大白矩形系列抽出の終了条件を設定しながら祖から密への再帰的分離による階層的処理が行われることになり、レイアウト解析処理の高効率化を図ることができる。【選択図】    図２
2006085665.tif 000002
【特許請求の範囲】
【請求項１】
２値画像のレイアウト解析処理を行う画像処理装置において、
前記２値画像の黒連結成分に外接する矩形領域の集合を抽出する矩形領域抽出手段と、
この矩形領域抽出手段により抽出された矩形領域の集合全体から、それ以上拡張すると内部に黒画素を含んでしまうような極大白矩形の系列を、極大白矩形系列抽出の終了条件を設定しつつ抽出する第１白矩形抽出手段と、
この第１白矩形抽出手段により抽出された前記極大白矩形系列をセパレータとして矩形領域の集合全体を少なくとも１以上の領域に分離して抽出する第１領域抽出手段と、
抽出された各領域を所定のデータ構造で格納する格納手段と、
この格納手段に格納されている前記各領域をデータ構造に従って取り出し、その領域内での極大白矩形系列を、極大白矩形系列抽出の終了条件を設定しつつ抽出する第２白矩形抽出手段と、
この第２白矩形抽出手段により抽出された前記極大白矩形系列をセパレータとしてその領域を少なくとも１以上の部分領域に分離して抽出する第２領域抽出手段と、
を備え、
前記第１白矩形抽出手段と前記第１領域抽出手段と前記格納手段と前記第２白矩形抽出手段と前記第２領域抽出手段とを再帰的に繰り返す、
ことを特徴とする画像処理装置。
【請求項２】
前記第１白矩形抽出手段および前記第２白矩形抽出手段は、
白矩形の評価関数を計算する計算手段と、
極大白矩形系列抽出の終了条件である前記評価関数の下限値を決める下限値決定手段と、
前記評価関数の値が大きい順に、下限値以上の前記極大白矩形を列挙する列挙手段と、
を有することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記評価関数は、白矩形の面積である、
ことを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記評価関数の下限値は、処理する領域の大きさに応じて決められる、
ことを特徴とする請求項２記載の画像処理装置。
【請求項５】
前記第１白矩形抽出手段は、前記矩形領域抽出手段により抽出された矩形領域の集合全体から、処理対象の性質に関する値を計算する手段を有しており、
前記評価関数の下限値は、計算された処理対象の性質に関する値に応じて決められる、
ことを特徴とする請求項２記載の画像処理装置。
【請求項６】
前記第２白矩形抽出手段は、前記格納手段により格納されている前記各領域をデータ構造に従って取り出し、その領域内の処理対象の性質に関する値を計算する手段を有しており、
前記評価関数の下限値は、計算された処理対象の性質に関する値に応じて決められる、
ことを特徴とする請求項２記載の画像処理装置。
【請求項７】
前記列挙手段は、
白矩形の形についての制約条件を設定する条件設定手段と、
前記制約条件を満たさない白矩形を列挙から除外する除外手段と、
を有することを特徴とする請求項２記載の画像処理装置。
【請求項８】
前記格納手段は、抽出された各領域をスタックに積む、
ことを特徴とする請求項１ないし７の何れか一記載の画像処理装置。
【請求項９】
前記格納手段は、抽出された各領域をキューに入れる、
ことを特徴とする請求項１ないし７の何れか一記載の画像処理装置。
【請求項１０】
前記格納手段は、抽出された各領域をヒープに入れる、
ことを特徴とする請求項１ないし７の何れか一記載の画像処理装置。
【請求項１１】
２値画像のレイアウト解析処理をコンピュータに実行させる画像処理プログラムにおいて、
前記２値画像の黒連結成分に外接する矩形領域の集合を抽出する矩形領域抽出機能と、
この矩形領域抽出機能により抽出された矩形領域の集合全体から、それ以上拡張すると内部に黒画素を含んでしまうような極大白矩形の系列を、極大白矩形系列抽出の終了条件を設定しつつ抽出する第１白矩形抽出機能と、
この第１白矩形抽出機能により抽出された前記極大白矩形系列をセパレータとして矩形領域の集合全体を少なくとも１以上の領域に分離して抽出する第１領域抽出機能と、
抽出された各領域を所定のデータ構造で格納する格納機能と、
この格納機能に格納されている前記各領域をデータ構造に従って取り出し、その領域内での極大白矩形系列を、極大白矩形系列抽出の終了条件を設定しつつ抽出する第２白矩形抽出機能と、
この第２白矩形抽出機能により抽出された前記極大白矩形系列をセパレータとしてその領域を少なくとも１以上の部分領域に分離して抽出する第２領域抽出機能と、
を前記コンピュータに実行させ、
前記第１白矩形抽出機能と前記第１領域抽出機能と前記格納機能と前記第２白矩形抽出機能と前記第２領域抽出機能とを再帰的に繰り返す、
ことを特徴とする画像処理プログラム。
【請求項１２】
前記第１白矩形抽出機能または前記第２白矩形抽出機能は、
白矩形の評価関数を計算する計算機能と、
極大白矩形系列抽出の終了条件である前記評価関数の下限値を決める下限値決定機能と、
前記評価関数の値が大きい順に、下限値以上の前記極大白矩形を列挙する列挙機能と、
を有していることを特徴とする請求項１１記載の画像処理プログラム。
【請求項１３】
前記評価関数は、白矩形の面積である、
ことを特徴とする請求項１２記載の画像処理プログラム。
【請求項１４】
前記評価関数の下限値は、処理する領域の大きさに応じて決められる、
ことを特徴とする請求項１２記載の画像処理プログラム。
【請求項１５】
前記第１白矩形抽出機能は、前記矩形領域抽出機能により抽出された矩形領域の集合全体から、処理対象の性質に関する値を計算する機能を有しており、
前記評価関数の下限値は、計算された処理対象の性質に関する値に応じて決められる、
ことを特徴とする請求項１２記載の画像処理プログラム。
【請求項１６】
前記第２白矩形抽出機能は、前記格納機能により格納されている前記各領域をデータ構造に従って取り出し、その領域内の処理対象の性質に関する値を計算する機能を有しており、
前記評価関数の下限値は、計算された処理対象の性質に関する値に応じて決められる、
ことを特徴とする請求項１２記載の画像処理プログラム。
【請求項１７】
前記列挙機能は、
白矩形の形についての制約条件を設定する条件設定機能と、
前記制約条件を満たさない白矩形を列挙から除外する除外機能と、
を有していることを特徴とする請求項１２記載の画像処理プログラム。
【請求項１８】
前記格納機能は、抽出された各領域をスタックに積む、
ことを特徴とする請求項１１ないし１７の何れか一記載の画像処理プログラム。
【請求項１９】
前記格納機能は、抽出された各領域をキューに入れる、
ことを特徴とする請求項１１ないし１７の何れか一記載の画像処理プログラム。
【請求項２０】
前記格納機能は、抽出された各領域をヒープに入れる、
ことを特徴とする請求項１１ないし１７の何れか一記載の画像処理プログラム。
【請求項２１】
請求項１１ないし２０のいずれか一記載の画像処理プログラムを記憶することを特徴とする記憶媒体。
【請求項２２】
２値画像のレイアウト解析処理を行う画像処理方法において、
前記２値画像の黒連結成分に外接する矩形領域の集合を抽出する矩形領域抽出工程と、
この矩形領域抽出工程により抽出された矩形領域の集合全体から、それ以上拡張すると内部に黒画素を含んでしまうような極大白矩形の系列を、極大白矩形系列抽出の終了条件を設定しつつ抽出する第１白矩形抽出工程と、
この第１白矩形抽出工程により抽出された前記極大白矩形系列をセパレータとして矩形領域の集合全体を少なくとも１以上の領域に分離して抽出する第１領域抽出工程と、
抽出された各領域を所定のデータ構造で格納する格納工程と、
この格納工程に格納されている前記各領域をデータ構造に従って取り出し、その領域内での極大白矩形系列を、極大白矩形系列抽出の終了条件を設定しつつ抽出する第２白矩形抽出工程と、
この第２白矩形抽出工程により抽出された前記極大白矩形系列をセパレータとしてその領域を少なくとも１以上の部分領域に分離して抽出する第２領域抽出工程と、
を含み、
前記第１白矩形抽出工程と前記第１領域抽出工程と前記格納工程と前記第２白矩形抽出工程と前記第２領域抽出工程とを再帰的に繰り返す、
ことを特徴とする画像処理方法。
【請求項２３】
前記第１白矩形抽出工程または前記第２白矩形抽出工程は、
白矩形の評価関数を計算する計算工程と、
極大白矩形系列抽出の終了条件である前記評価関数の下限値を決める下限値決定工程と、
前記評価関数の値が大きい順に、下限値以上の前記極大白矩形を列挙する列挙工程と、
を含むことを特徴とする請求項２２記載の画像処理方法。
【請求項２４】
前記評価関数は、白矩形の面積である、
ことを特徴とする請求項２３記載の画像処理方法。
【請求項２５】
前記評価関数の下限値は、処理する領域の大きさに応じて決められる、
ことを特徴とする請求項２３記載の画像処理方法。
【請求項２６】
前記第１白矩形抽出工程は、前記矩形領域抽出工程により抽出された矩形領域の集合全体から、処理対象の性質に関する値を計算する工程を含み、
前記評価関数の下限値は、計算された処理対象の性質に関する値に応じて決められる、
ことを特徴とする請求項２３記載の画像処理方法。
【請求項２７】
前記第２白矩形抽出工程は、前記格納工程により格納されている前記各領域をデータ構造に従って取り出し、その領域内の処理対象の性質に関する値を計算する工程を含み、
前記評価関数の下限値は、計算された処理対象の性質に関する値に応じて決められる、
ことを特徴とする請求項２３記載の画像処理方法。
【請求項２８】
前記列挙工程は、
白矩形の形についての制約条件を設定する条件設定工程と、
前記制約条件を満たさない白矩形を列挙から除外する除外工程と、
を含むことを特徴とする請求項２３記載の画像処理方法。
【請求項２９】
前記格納工程は、抽出された各領域をスタックに積む、
ことを特徴とする請求項２２ないし２８の何れか一記載の画像処理方法。
【請求項３０】
前記格納工程は、抽出された各領域をキューに入れる、
ことを特徴とする請求項２２ないし２８の何れか一記載の画像処理方法。
【請求項３１】
前記格納工程は、抽出された各領域をヒープに入れる、
ことを特徴とする請求項２２ないし２８の何れか一記載の画像処理方法。
【請求項３２】
原稿画像を読み取る画像読取手段と、
この画像読取手段により読み取られたスキャン画像のレイアウト解析処理を行う請求項１ないし１０のいずれか一記載の画像処理装置と、
画像を用紙上に印刷する画像印刷装置と、
を備えることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理プログラム、記憶媒体、画像処理方法および画像形成装置に関する。
【背景技術】
【０００２】
スキャナやデジタルカメラなどの画像入力機器を通してコンピュータに入力された文書画像を文書構成要素（例えば、文字、文字行、パラグラフ、コラムなど）に分離する処理は、通常、「幾何的レイアウト解析」や「ページセグメンテーション」と呼ばれる。この「幾何的レイアウト解析」や「ページセグメンテーション」は、多くの場合、２値画像上で行われる。また、「幾何的レイアウト解析」や「ページセグメンテーション」は、前処理として、入力の際に生じる傾きを補正する「スキュー補正」を伴う。このようにしてスキュー補正された２値画像の「幾何的レイアウト解析」や「ページセグメンテーション」は、大きく２通りのアプローチ（トップダウン解析及びボトムアップ解析）に分類される。
【０００３】
ここで、トップダウン解析について説明する。トップダウン解析は、ページを大きな構成要素から小さな構成要素に分離する。例えば、ページをコラムに、そして、コラムをパラグラフに、パラグラフを文字行に、というように、大きな構成要素から小さなものに分離してゆくアプローチである。トップダウン解析は、ページのレイアウト構造についての仮定に基づくモデル（例えば、マンハッタンレイアウトでは、文字行は直立矩形である）を利用して、効率的に計算ができる反面、仮定が成り立たないようなデータについては、とんでもない間違いを生じるという欠点がある。一般に、複雑なレイアウトはモデル化も複雑になるため、取り扱いが難しい。
【０００４】
次に、ボトムアップ解析について説明する。ボトムアップ解析は、特許文献１、２に記載されているように、近隣の構成要素の位置関係を参照して、要素を統合してゆく。例えば、連結成分を文字行、そして、文字行をコラムに、というように、小さな構成要素を大きなものにグループ化してゆくアプローチである。しかしながら、特許文献１に記載されているようなボトムアップ解析は、局所的な情報に基づく方法なので、ページ全体のレイアウトに関する仮定にあまり依存せずに多様なレイアウトに対応できる反面、局所的な判断の間違いが蓄積してゆくという欠点がある。例えば、２つの異なるコラム間にまたがる２つの文字が、誤って１つの文字行に統合されてしまえば、それらの２つのコラムも１つのコラムとして誤って抽出されてしまう。また、特許文献２に記載されているような構成要素の統合では、言語による文字の並び方の特性や、文字列方向（縦／横）などの知識が必要となる。
【０００５】
このように２つのアプローチは相補的であるが、これらの「隙間」を埋めるアプローチとして、文字でない部分、すなわち「背景」、あるいは２値画像で言うところの「白地」を利用する方法がある。背景や白地の利用の利点としては、
（１）言語に依存しない（多くの言語でも白地が区切りとして使われる）。また、行方向（横書き／縦書き）についての知識を必要としない。
（２）大局的な処理なので、局所的な判断間違いが累積する可能性が少ない。
（３）複雑なレイアウトにも、柔軟に対応できる。
などが挙げられる。
【０００６】
このような背景解析に属する代表的な方法としては、「極大白矩形系列によるページセグメンテーション」がある。ここで、「極大白矩形系列によるページセグメンテーション」について簡単に説明する。準備として、「最大白矩形問題」を定義する。まず、ｒｂをページ全体に対応する矩形領域、そして、Ｃ＝[ｒ０，ｒ１，・・・，ｒｎ]（ｒｉ⊂ｒｂ；ｉ＝０，１，・・・，ｎ）を、それぞれ２値画像黒連結成分をちょうど囲むような矩形領域とする。図４に、矩形領域の集合の一例を示す。さらに、矩形に対して、次のような性質を満たす評価関数Ｑを導入する。２つの矩形ｒとｒ′について、
ｒ⊆ｒ′ならば、Ｑ（ｒ）≦Ｑ（ｒ′）
を満たす評価関数Ｑである。例えば、関数Ｑ（r）を矩形ｒの面積とすると、上記の性質は満たされる。「最大白矩形問題」とは、Ｃの要素ｒ０，ｒ１，・・・，ｒｎ（ｒｉ⊂ｒｂ；ｉ＝０，１，・・・，ｎ）と重ならないような矩形のうち、Ｑの値が最大になるものを見つける問題である。図１８に示すように、黒い矩形を２値画像黒連結成分、関数Ｑを矩形の面積とすると、最大白矩形は網掛けで示す矩形になる。この問題の拡張として、非特許文献１，２，３においては、「極大白矩形」、すなわち、それ以上拡張するとＣの要素のいずれかと重なり合ってしまうような白矩形を、Ｑの値が大きい順に数え上げるアルゴリズムを提案している。
【０００７】
このようにして極大白矩形の系列によって背景領域（２値画像の白領域）を被覆してゆくことにより、コラムや文字行などの文書構成要素を、「いずれの白矩形にも被覆されていない部分」として抽出できると期待できる。
【０００８】
【特許文献１】特開２０００−０６７１５８公報
【特許文献２】特開２０００−１１３１０３公報
【非特許文献１】H.S.Baird，“Background structure in document images，”in Document Image Analysis（H.Bunke，P.S.P.Wang，and H.S.Baird，Eds.），Singapore:World Scientific，1994，pp.17−34.
【非特許文献２】H.S.Baird，S.E.Jones，and S.J.Fortune，“Image segmentation by shape directed covers，”in Proceedings of the 10th International Conference on Pattern Recognition（Atlantic City，NJ，USA），1990，pp.820−825.
【非特許文献３】TM Breuel，“Two algorithms for geometric layout analysis，”in Proceedings of IAPR Workshop on Document Analysis Systems（Princeton，NJ，USA），2002.
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、「極大白矩形系列によるページセグメンテーション」を用いた背景解析によるアプローチには有望な点と同時に、解決せねばならない問題がいくつか存在する。
【００１０】
第１には、白矩形の文書構成要素の「セパレータとしての良さ」を測る尺度をどのように定義し、極大白矩形系列抽出で使うかが問題となる。関数Ｑとして、面積や長さ（矩形の幅と高さの大きい方）などを使うことが自然であるが、面積の大きい順に極大白矩形系列で被覆した結果が、必ずしも文書の領域分離として意味があるとは限らないからである。
【００１１】
第２には、極大白矩形系列抽出の終了基準（Ｑの下限値）をどのように設定するかが問題となる。非特許文献１では、白矩形の面積と縦横比を組み合わせたヒューリスティック関数を導入して終了条件を決めているが、このような経験則がうまく働かない場合も多い。データから観測される統計量を用いて、終了基準をデータの特質により決めることができれば信頼性が増すことが期待できる。
【００１２】
第３には、極大白矩形系列抽出の終了を遅くした（Ｑの下限値を下げた）場合に、計算量が増大する問題をどのように解消するかが問題となる。評価値Ｑが大きい極大白矩形だけを数え上げるだけであれば、計算量は問題にならない。しかし、評価値Ｑが小さくなるにつれて、極大白矩形の数も多くなる。このような問題への対処として、非特許文献３では、論文などのコラムのセパレータに対応する白矩形検出のために、ほんの少数の「背が高い」白矩形のみを用いている。このような対処は、より複雑なレイアウトを持つ文書や、日本語のように縦横混在のものには不適当である。
【００１３】
また、「極大白矩形系列によるページセグメンテーション」を用いた背景解析によるテキスト領域分割に求められる事項としては、
（１）異なるコラム同士が統合されないこと。
（２）行が複数のテキスト領域に分断されないこと。
（３）できるだけ少ない数のテキスト領域が生成されること。
が挙げられる。
【００１４】
本発明は、レイアウト解析処理の高効率化を図ることを目的とする。
【００１５】
本発明は、レイアウト解析処理の高効率化と高精度化とを図ることを目的とする。
【００１６】
本発明は、各階層での領域の性質に応じて極大白矩形系列抽出の終了条件を設定可能にすることを目的とする。
【課題を解決するための手段】
【００１７】
請求項１記載の発明の画像処理装置は、２値画像のレイアウト解析処理を行う画像処理装置において、前記２値画像の黒連結成分に外接する矩形領域の集合を抽出する矩形領域抽出手段と、この矩形領域抽出手段により抽出された矩形領域の集合全体から、それ以上拡張すると内部に黒画素を含んでしまうような極大白矩形の系列を、極大白矩形系列抽出の終了条件を設定しつつ抽出する第１白矩形抽出手段と、この第１白矩形抽出手段により抽出された前記極大白矩形系列をセパレータとして矩形領域の集合全体を少なくとも１以上の領域に分離して抽出する第１領域抽出手段と、抽出された各領域を所定のデータ構造で格納する格納手段と、この格納手段に格納されている前記各領域をデータ構造に従って取り出し、その領域内での極大白矩形系列を、極大白矩形系列抽出の終了条件を設定しつつ抽出する第２白矩形抽出手段と、この第２白矩形抽出手段により抽出された前記極大白矩形系列をセパレータとしてその領域を少なくとも１以上の部分領域に分離して抽出する第２領域抽出手段と、を備え、前記第１白矩形抽出手段と前記第１領域抽出手段と前記格納手段と前記第２白矩形抽出手段と前記第２領域抽出手段とを再帰的に繰り返す。
【００１８】
したがって、矩形領域の集合全体で抽出された極大白矩形系列により矩形領域の集合全体が少なくとも１以上の領域に分離されて格納され、格納された各領域を当該各領域で再び抽出された極大白矩形系列により少なくとも１以上の部分領域に分離するという処理が、再帰的に繰り返される。これにより、極大白矩形系列抽出の終了条件を設定しながら祖から密への再帰的分離による階層的処理が行われることになり、レイアウト解析処理の高効率化を図ることが可能になる。
【００１９】
請求項２記載の発明は、請求項１記載の画像処理装置において、前記第１白矩形抽出手段または前記第２白矩形抽出手段は、白矩形の評価関数を計算する計算手段と、極大白矩形系列抽出の終了条件である前記評価関数の下限値を決める下限値決定手段と、前記評価関数の値が大きい順に、下限値以上の前記極大白矩形を列挙する列挙手段と、を有する。
【００２０】
したがって、各階層での領域の性質に応じた極大白矩形系列抽出の終了条件の設定が可能になる。
【００２１】
請求項３記載の発明は、請求項２記載の画像処理装置において、前記評価関数は、白矩形の面積である。
【００２２】
したがって、評価関数を容易に算出することが可能になる。
【００２３】
請求項４記載の発明は、請求項２記載の画像処理装置において、前記評価関数の下限値は、処理する領域の大きさに応じて決められる。
【００２４】
したがって、例えば、矩形領域の集合全体に対しては、極大白矩形系列抽出の終了条件の下限値を大きく設定して粗いスケールで処理し、分離された各領域については、極大白矩形系列抽出の終了条件の下限値を前よりも小さく設定して再び極大白矩形系列抽出を行い、より細かな分離を行うことが可能になる。
【００２５】
請求項５記載の発明は、請求項２記載の画像処理装置において、前記第１白矩形抽出手段は、前記矩形領域抽出手段により抽出された矩形領域の集合全体から、処理対象の性質に関する値を計算する手段を有しており、前記評価関数の下限値は、計算された処理対象の性質に関する値に応じて決められる。
【００２６】
したがって、処理対象の性質に関する値（例えば、テキスト文書の場合、文字のサイズ、文字間隔、行間隔など）に応じて下限値を設定することにより、異なるコラム同士が統合されず、行が複数のテキスト領域に分断されず、かつ、できるだけ少ない数のテキスト領域が生成されるような分離が可能になる。
【００２７】
請求項６記載の発明は、請求項２記載の画像処理装置において、前記第２白矩形抽出手段は、前記格納手段により格納されている前記各領域をデータ構造に従って取り出し、その領域内の処理対象の性質に関する値を計算する手段を有しており、前記評価関数の下限値は、計算された処理対象の性質に関する値に応じて決められる。
【００２８】
したがって、処理対象の性質に関する値（例えば、テキスト文書の場合、文字のサイズ、文字間隔、行間隔など）に応じて下限値を設定することにより、異なるコラム同士が統合されず、行が複数のテキスト領域に分断されず、かつ、できるだけ少ない数のテキスト領域が生成されるような分離が可能になる。
【００２９】
請求項７記載の発明は、請求項２記載の画像処理装置において、前記列挙手段は、白矩形の形についての制約条件を設定する条件設定手段と、前記制約条件を満たさない白矩形を列挙から除外する除外手段と、を有する。
【００３０】
したがって、領域のセパレータとしての適当でない形をした白矩形、例えば、長さが短いものや幅が狭すぎるものは、文字の間の隙間である可能性が高いので、そのような白矩形を除外することが可能になる。
【００３１】
請求項８記載の発明は、請求項１ないし７の何れか一記載の画像処理装置において、前記格納手段は、抽出された各領域をスタックに積む。
【００３２】
したがって、スタックを利用することにより、領域が「深さ優先」の順序に従い、祖から密へ階層的に分離が行われることになる。
【００３３】
請求項９記載の発明は、請求項１ないし７の何れか一記載の画像処理装置において、前記格納手段は、抽出された各領域をキューに入れる。
【００３４】
したがって、キューを利用することにより、領域が「幅優先」の順序に従い、祖から密へ階層的に分離が行われることになる。
【００３５】
請求項１０記載の発明は、請求項１ないし７の何れか一記載の画像処理装置において、前記格納手段は、抽出された各領域をヒープに入れる。
【００３６】
したがって、ヒープを利用することにより、領域が「大きさ優先」の順序に従い、祖から密へ階層的に分離が行われることになる。
【００３７】
請求項１１記載の発明の画像処理プログラムは、２値画像のレイアウト解析処理をコンピュータに実行させる画像処理プログラムにおいて、前記２値画像の黒連結成分に外接する矩形領域の集合を抽出する矩形領域抽出機能と、この矩形領域抽出機能により抽出された矩形領域の集合全体から、それ以上拡張すると内部に黒画素を含んでしまうような極大白矩形の系列を、極大白矩形系列抽出の終了条件を設定しつつ抽出する第１白矩形抽出機能と、この第１白矩形抽出機能により抽出された前記極大白矩形系列をセパレータとして矩形領域の集合全体を少なくとも１以上の領域に分離して抽出する第１領域抽出機能と、抽出された各領域を所定のデータ構造で格納する格納機能と、この格納機能に格納されている前記各領域をデータ構造に従って取り出し、その領域内での極大白矩形系列を、極大白矩形系列抽出の終了条件を設定しつつ抽出する第２白矩形抽出機能と、この第２白矩形抽出機能により抽出された前記極大白矩形系列をセパレータとしてその領域を少なくとも１以上の部分領域に分離して抽出する第２領域抽出機能と、を前記コンピュータに実行させ、前記第１白矩形抽出機能と前記第１領域抽出機能と前記格納機能と前記第２白矩形抽出機能と前記第２領域抽出機能とを再帰的に繰り返す。
【００３８】
したがって、矩形領域の集合全体で抽出された極大白矩形系列により矩形領域の集合全体が少なくとも１以上の領域に分離されて格納され、格納された各領域を当該各領域で再び抽出された極大白矩形系列により少なくとも１以上の部分領域に分離するという処理が、再帰的に繰り返される。これにより、極大白矩形系列抽出の終了条件を設定しながら祖から密への再帰的分離による階層的処理が行われることになり、レイアウト解析処理の高効率化を図ることが可能になる。
【００３９】
請求項１２記載の発明は、請求項１１記載の画像処理プログラムにおいて、前記第１白矩形抽出機能または前記第２白矩形抽出機能は、白矩形の評価関数を計算する計算機能と、極大白矩形系列抽出の終了条件である前記評価関数の下限値を決める下限値決定機能と、前記評価関数の値が大きい順に、下限値以上の前記極大白矩形を列挙する列挙機能と、を有している。
【００４０】
したがって、各階層での領域の性質に応じた極大白矩形系列抽出の終了条件の設定が可能になる。
【００４１】
請求項１３記載の発明は、請求項１２記載の画像処理プログラムにおいて、前記評価関数は、白矩形の面積である。
【００４２】
したがって、評価関数を容易に算出することが可能になる。
【００４３】
請求項１４記載の発明は、請求項１２記載の画像処理プログラムにおいて、前記評価関数の下限値は、処理する領域の大きさに応じて決められる。
【００４４】
したがって、例えば、矩形領域の集合全体に対しては、極大白矩形系列抽出の終了条件の下限値を大きく設定して粗いスケールで処理し、分離された各領域については、極大白矩形系列抽出の終了条件の下限値を前よりも小さく設定して再び極大白矩形系列抽出を行い、より細かな分離を行うことが可能になる。
【００４５】
請求項１５記載の発明は、請求項１２記載の画像処理プログラムにおいて、前記第１白矩形抽出機能は、前記矩形領域抽出機能により抽出された矩形領域の集合全体から、処理対象の性質に関する値を計算する機能を有しており、前記評価関数の下限値は、計算された処理対象の性質に関する値に応じて決められる。
【００４６】
したがって、処理対象の性質に関する値（例えば、テキスト文書の場合、文字のサイズ、文字間隔、行間隔など）に応じて下限値を設定することにより、異なるコラム同士が統合されず、行が複数のテキスト領域に分断されず、かつ、できるだけ少ない数のテキスト領域が生成されるような分離が可能になる。
【００４７】
請求項１６記載の発明は、請求項１２記載の画像処理プログラムにおいて、前記第２白矩形抽出機能は、前記格納機能により格納されている前記各領域をデータ構造に従って取り出し、その領域内の処理対象の性質に関する値を計算する機能を有しており、前記評価関数の下限値は、計算された処理対象の性質に関する値に応じて決められる。
【００４８】
したがって、処理対象の性質に関する値（例えば、テキスト文書の場合、文字のサイズ、文字間隔、行間隔など）に応じて下限値を設定することにより、異なるコラム同士が統合されず、行が複数のテキスト領域に分断されず、かつ、できるだけ少ない数のテキスト領域が生成されるような分離が可能になる。
【００４９】
請求項１７記載の発明は、請求項１２記載の画像処理プログラムにおいて、前記列挙機能は、白矩形の形についての制約条件を設定する条件設定機能と、前記制約条件を満たさない白矩形を列挙から除外する除外機能と、を有している。
【００５０】
したがって、領域のセパレータとしての適当でない形をした白矩形、例えば、長さが短いものや幅が狭すぎるものは、文字の間の隙間である可能性が高いので、そのような白矩形を除外することが可能になる。
【００５１】
請求項１８記載の発明は、請求項１１ないし１７の何れか一記載の画像処理プログラムにおいて、前記格納機能は、抽出された各領域をスタックに積む。
【００５２】
したがって、スタックを利用することにより、領域が「深さ優先」の順序に従い、祖から密へ階層的に分離が行われることになる。
【００５３】
請求項１９記載の発明は、請求項１１ないし１７の何れか一記載の画像処理プログラムにおいて、前記格納機能は、抽出された各領域をキューに入れる。
【００５４】
したがって、キューを利用することにより、領域が「幅優先」の順序に従い、祖から密へ階層的に分離が行われることになる。
【００５５】
請求項２０記載の発明は、請求項１１ないし１７の何れか一記載の画像処理プログラムにおいて、前記格納機能は、抽出された各領域をヒープに入れる。
【００５６】
したがって、ヒープを利用することにより、領域が「大きさ優先」の順序に従い、祖から密へ階層的に分離が行われることになる。
【００５７】
請求項２１記載の発明の記憶媒体は、請求項１１ないし２０のいずれか一記載の画像処理プログラムを記憶する。
【００５８】
したがって、請求項１１ないし２０のいずれか一記載のプログラムを有体物の形態で取り扱うことが可能となる。
【００５９】
請求項２２記載の発明の画像処理方法は、２値画像のレイアウト解析処理を行う画像処理方法において、前記２値画像の黒連結成分に外接する矩形領域の集合を抽出する矩形領域抽出工程と、この矩形領域抽出工程により抽出された矩形領域の集合全体から、それ以上拡張すると内部に黒画素を含んでしまうような極大白矩形の系列を、極大白矩形系列抽出の終了条件を設定しつつ抽出する第１白矩形抽出工程と、この第１白矩形抽出工程により抽出された前記極大白矩形系列をセパレータとして矩形領域の集合全体を少なくとも１以上の領域に分離して抽出する第１領域抽出工程と、抽出された各領域を所定のデータ構造で格納する格納工程と、この格納工程に格納されている前記各領域をデータ構造に従って取り出し、その領域内での極大白矩形系列を、極大白矩形系列抽出の終了条件を設定しつつ抽出する第２白矩形抽出工程と、この第２白矩形抽出工程により抽出された前記極大白矩形系列をセパレータとしてその領域を少なくとも１以上の部分領域に分離して抽出する第２領域抽出工程と、を含み、前記第１白矩形抽出工程と前記第１領域抽出工程と前記格納工程と前記第２白矩形抽出工程と前記第２領域抽出工程とを再帰的に繰り返す。
【００６０】
したがって、矩形領域の集合全体で抽出された極大白矩形系列により矩形領域の集合全体が少なくとも１以上の領域に分離されて格納され、格納された各領域を当該各領域で再び抽出された極大白矩形系列により少なくとも１以上の部分領域に分離するという処理が、再帰的に繰り返される。これにより、極大白矩形系列抽出の終了条件を設定しながら祖から密への再帰的分離による階層的処理が行われることになり、レイアウト解析処理の高効率化を図ることが可能になる。
【００６１】
請求項２３記載の発明は、請求項２２記載の画像処理方法において、前記第１白矩形抽出工程または前記第２白矩形抽出工程は、白矩形の評価関数を計算する計算工程と、極大白矩形系列抽出の終了条件である前記評価関数の下限値を決める下限値決定工程と、前記評価関数の値が大きい順に、下限値以上の前記極大白矩形を列挙する列挙工程と、を含む。
【００６２】
したがって、各階層での領域の性質に応じた極大白矩形系列抽出の終了条件の設定が可能になる。
【００６３】
請求項２４記載の発明は、請求項２３記載の画像処理方法において、前記評価関数は、白矩形の面積である。
【００６４】
したがって、評価関数を容易に算出することが可能になる。
【００６５】
請求項２５記載の発明は、請求項２３記載の画像処理方法において、前記評価関数の下限値は、処理する領域の大きさに応じて決められる。
【００６６】
したがって、例えば、矩形領域の集合全体に対しては、極大白矩形系列抽出の終了条件の下限値を大きく設定して粗いスケールで処理し、分離された各領域については、極大白矩形系列抽出の終了条件の下限値を前よりも小さく設定して再び極大白矩形系列抽出を行い、より細かな分離を行うことが可能になる。
【００６７】
請求項２６記載の発明は、請求項２３記載の画像処理方法において、前記第１白矩形抽出工程は、前記矩形領域抽出工程により抽出された矩形領域の集合全体から、処理対象の性質に関する値を計算する工程を含み、前記評価関数の下限値は、計算された処理対象の性質に関する値に応じて決められる。
【００６８】
したがって、処理対象の性質に関する値（例えば、テキスト文書の場合、文字のサイズ、文字間隔、行間隔など）に応じて下限値を設定することにより、異なるコラム同士が統合されず、行が複数のテキスト領域に分断されず、かつ、できるだけ少ない数のテキスト領域が生成されるような分離が可能になる。
【００６９】
請求項２７記載の発明は、請求項２３記載の画像処理方法において、前記第２白矩形抽出工程は、前記格納工程により格納されている前記各領域をデータ構造に従って取り出し、その領域内の処理対象の性質に関する値を計算する工程を含み、前記評価関数の下限値は、計算された処理対象の性質に関する値に応じて決められる。
【００７０】
したがって、処理対象の性質に関する値（例えば、テキスト文書の場合、文字のサイズ、文字間隔、行間隔など）に応じて下限値を設定することにより、異なるコラム同士が統合されず、行が複数のテキスト領域に分断されず、かつ、できるだけ少ない数のテキスト領域が生成されるような分離が可能になる。
【００７１】
請求項２８記載の発明は、請求項２３記載の画像処理方法において、前記列挙工程は、白矩形の形についての制約条件を設定する条件設定工程と、前記制約条件を満たさない白矩形を列挙から除外する除外工程と、を含む。
【００７２】
したがって、領域のセパレータとしての適当でない形をした白矩形、例えば、長さが短いものや幅が狭すぎるものは、文字の間の隙間である可能性が高いので、そのような白矩形を除外することが可能になる。
【００７３】
請求項２９記載の発明は、請求項２２ないし２８の何れか一記載の画像処理方法において、前記格納工程は、抽出された各領域をスタックに積む。
【００７４】
したがって、スタックを利用することにより、領域が「深さ優先」の順序に従い、祖から密へ階層的に分離が行われることになる。
【００７５】
請求項３０記載の発明は、請求項２２ないし２８の何れか一記載の画像処理方法において、前記格納工程は、抽出された各領域をキューに入れる。
【００７６】
したがって、キューを利用することにより、領域が「幅優先」の順序に従い、祖から密へ階層的に分離が行われることになる。
【００７７】
請求項３１記載の発明は、請求項２２ないし２８の何れか一記載の画像処理方法において、前記格納工程は、抽出された各領域をヒープに入れる。
【００７８】
したがって、ヒープを利用することにより、領域が「大きさ優先」の順序に従い、祖から密へ階層的に分離が行われることになる。
【００７９】
請求項３２記載の発明の画像形成装置は、原稿画像を読み取る画像読取手段と、この画像読取手段により読み取られたスキャン画像のレイアウト解析処理を行う請求項１ないし１０のいずれか一記載の画像処理装置と、画像を用紙上に印刷する画像印刷装置と、を備える。
【００８０】
したがって、請求項１ないし１０のいずれか一記載の発明と同様の作用を奏する画像形成装置が得られる。
【発明の効果】
【００８１】
本発明によれば、極大白矩形系列抽出の終了条件を設定しながら祖から密への再帰的分離による階層的処理を行うことにより、レイアウト解析処理の高効率化を図ることができる。
【発明を実施するための最良の形態】
【００８２】
［第一の実施の形態］
本発明の第一の実施の形態を図１ないし図７に基づいて説明する。
【００８３】
図１は、本実施の形態の画像処理装置１の電気的な接続を示すブロック図である。図１に示すように、画像処理装置１は、ＰＣなどのコンピュータであり、画像処理装置１の各部を集中的に制御するＣＰＵ（Central Processing Unit）２、情報を格納するＲＯＭ（Read Only Memory）３及びＲＡＭ（Random Access Memory）４等の一次記憶装置５、データファイル（例えば、カラービットマップ画像データ）を記憶する記憶部であるＨＤＤ（Hard Disk Drive）６等の二次記憶装置７、情報を保管したり外部に情報を配布したり外部から情報を入手するためのＣＤ−ＲＯＭドライブ等のリムーバブルディスク装置８、ネットワーク９を介して外部の他のコンピュータと通信により情報を伝達するためのネットワークインターフェース１０、処理経過や結果等を操作者に表示するＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）等の表示装置１１、並びに操作者がＣＰＵ２に命令や情報等を入力するためのキーボード１２、マウス等のポインティングデバイス１３等から構成されており、これらの各部間で送受信されるデータをバスコントローラ１４が調停して動作する。
【００８４】
なお、本実施の形態においては、画像処理装置１として一般的なパーソナルコンピュータを適用して説明しているが、これに限るものではなく、ＰＤＡ（Personal Digital Assistants）と称される携帯用情報端末、palmTopＰＣ、携帯電話、ＰＨＳ（Personal Handyphone System）等であっても良い。
【００８５】
このような画像処理装置１では、ユーザが電源を投入するとＣＰＵ２がＲＯＭ３内のローダーというプログラムを起動させ、ＨＤＤ６よりオペレーティングシステムというコンピュータのハードウェアとソフトウェアとを管理するプログラムをＲＡＭ７に読み込み、このオペレーティングシステムを起動させる。このようなオペレーティングシステムは、ユーザの操作に応じてプログラムを起動したり、情報を読み込んだり、保存を行ったりする。オペレーティングシステムのうち代表的なものとしては、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）等が知られている。これらのオペレーティングシステム上で走る動作プログラムをアプリケーションプログラムと呼んでいる。
【００８６】
ここで、画像処理装置１は、アプリケーションプログラムとして、画像処理プログラムをＨＤＤ６に記憶している。この意味で、ＨＤＤ６は、画像処理プログラムを記憶する記憶媒体として機能する。
【００８７】
また、一般的には、画像処理装置１のＨＤＤ６等の二次記憶装置７にインストールされるアプリケーションプログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の光情報記録メディアやＦＤ等の磁気メディア等の記憶媒体８ａに記録され、この記憶媒体８ａに記録されたアプリケーションプログラムがＨＤＤ６等の二次記憶装置７にインストールされる。このため、ＣＤ−ＲＯＭ等の光情報記録メディアやＦＤ等の磁気メディア等の可搬性を有する記憶媒体８ａも、画像処理プログラムを記憶する記憶媒体となり得る。さらには、画像処理プログラムは、例えばネットワークインターフェース１０を介して外部から取り込まれ、ＨＤＤ６等の二次記憶装置７にインストールされても良い。
【００８８】
画像処理装置１は、オペレーティングシステム上で動作する画像処理プログラムが起動すると、この画像処理プログラムに従い、ＣＰＵ２が各種の演算処理を実行して各部を集中的に制御する。画像処理装置１のＣＰＵ２が実行する各種の演算処理のうち、本実施の形態の特長的な処理であるレイアウト解析処理について以下に説明する。
【００８９】
なお、リアルタイム性が重要視される場合には、処理を高速化する必要がある。そのためには、論理回路（図示せず）を別途設け、論理回路の動作により各種の演算処理を実行するようにするのが望ましい。
【００９０】
ここで、画像処理装置１のＣＰＵ２が実行するレイアウト解析処理について説明する。レイアウト解析処理が施される画像データは、一般性を失うことなく、スキュー補正された２値画像が与えられていて、文字が黒画素として表されているとする。なお、現画像がカラー画像やグレイ画像の場合には、２値化などにより文字を抽出する前処理を施せばよい。本実施の形態におけるレイアウト解析処理の基本的アプローチは、図２に示すように、祖から密への再帰的分離による階層的処理を行うことにより、処理の効率化を図るようにしたものである。概略的には、まず、ページ全体に対して極大白矩形系列抽出の終了条件の下限値を大きく設定して、粗いスケールで処理する。この段階で、抽出された白矩形系列をセパレータとしてページ全体をいくつかの領域に分離する。次に、各領域について極大白矩形系列抽出の終了条件の下限値を前よりも小さく設定して、再び極大白矩形系列抽出を行い、より細かな分離を行う。このような処理を再帰的に繰り返してゆく。なお、階層的処理における極大白矩形系列抽出の終了条件である下限値は、領域のサイズなどに応じて設定するようにすれば良い。また、極大白矩形系列抽出の終了条件である下限値の他に、白矩形として望ましい形やサイズに関する拘束条件を導入するようにしても良い。例えば、領域のセパレータとして適当でない形をした白矩形を除外する等である。このように領域のセパレータとして適当でない形をした白矩形を除外するのは、長さが短いものや幅が狭すぎるものは、文字の間の隙間である可能性が高いからである。このような長さや幅について拘束条件は、領域内で推定される文字のサイズに応じて決めることができる。
【００９１】
次に、レイアウト解析処理の流れについて詳述する。図３は、レイアウト解析処理の流れを示すフローチャートである。図３に示すように、まず、前処理として、２値画像の黒連結成分をちょうど囲むような矩形領域の集合Ｃ＝[ｒ０，ｒ１，・・・，ｒｎ]（ｒｉ⊂ｒｂ；ｉ＝０，１，・・・，ｎ）を求め、この集合Ｃをアルゴリズムへ入力する（ステップＳ１：矩形領域抽出手段）。図４は、矩形領域の集合の一例を示す説明図である。
【００９２】
次に、ページ全体に対して、極大白矩形系列を抽出する（ステップＳ２：第１白矩形抽出手段）。極大白矩形系列の抽出は、白矩形ｒの評価関数Ｑ（ｒ）を白矩形ｒの面積とし（計算手段）、処理している領域のサイズに応じて決まる下限値ｔについて、Ｑ（ｒ）≧ｔを満たすような極大白矩形をＱ（ｒ）の値が大きい順に数え上げる（列挙手段）。これには、前述した非特許文献３に記載の方法を使えば良い。また、下限値ｔは、例えばｗとｈを処理している領域のそれぞれ幅と高さ、ａを定数として、
ｔ＝ａ・ｍｉｎ（ｗ，ｈ）
とすれば良い（下限値決定手段）。さらに、領域のセパレータとしての適当でない形をした白矩形、例えば、長さが短いものや幅が狭すぎるものは、文字の間の隙間である可能性が高いので、そのような白矩形を除外するための拘束条件を設定する（条件設定手段）。これには、領域内にある黒矩形の大きさの分布から文字のサイズｓを推定し、例えば、ｂを定数として、幅も高さもｂ・ｓより小さいような極大白矩形を、数え上げの際に除外するようにすれば良い（除外手段）。
【００９３】
次いで、抽出された白矩形系列をセパレータとしてページ全体をいくつかの領域に分離し、白矩形系列により分離された領域を抽出し（ステップＳ３：第１領域抽出手段）、抽出された各領域をスタックに積む（ステップＳ４：格納手段）。ここで、スタックは、最後に入力したデータが先に出力されるデータ構造である。図５は、図４の矩形領域の集合についてページ全体で抽出された極大白矩形系列により分離された領域を示す説明図である。
【００９４】
続くステップＳ５では、スタックが空であるか否かを判断する。
【００９５】
スタックが空でなければ（ステップＳ５のＮ）、スタックの最上部に積まれている領域を取り出し（ステップＳ６）、その領域に対応する２値画像内で極大白矩形系列を抽出した後（ステップＳ７：第２白矩形抽出手段）、抽出された白矩形系列をセパレータとして、その領域をいくつかの部分領域に分離し、白矩形系列により分離された領域を抽出した後（ステップＳ８：第２領域抽出手段）、ステップＳ５に進む。つまり、スタックが空でない限り、ステップＳ６〜Ｓ８の処理が繰り返されることになる。ここで、図６−１はスタックに積まれた領域を示す説明図、図６−２は抽出された極大白矩形系列により分離された領域を示す説明図である。
【００９６】
一方、スタックが空である場合には（ステップＳ５のＹ）、領域分離結果を出力して（ステップＳ９）、処理を終了する。図７は、図４の矩形領域の集合に対するレイアウト解析結果を示す説明図である。
【００９７】
以上のように本実施の形態においては、スタックを利用することにより、領域が「深さ優先」の順序に従い、評価関数Ｑ（ｒ）の下限値を決めながら祖から密へ階層的に分離が行われることになる。
【００９８】
本実施の形態においては第二階層までのレイアウト解析処理について説明したが、これに限るものではなく、ステップＳ９での領域分離結果に基づいて再度ステップＳ１から再度レイアウト解析処理することにより、祖から密への再帰的分離による階層的処理が実行されることになる。
【００９９】
このように本実施の形態によれば、矩形領域の集合全体で抽出された極大白矩形系列により矩形領域の集合全体が少なくとも１以上の領域に分離されて格納され、格納された各領域を当該各領域で再び抽出された極大白矩形系列により少なくとも１以上の部分領域に分離するという処理が、再帰的に繰り返される。これにより、極大白矩形系列抽出の終了条件を設定しながら祖から密への再帰的分離による階層的処理が行われることになり、レイアウト解析処理の高効率化を図ることが可能になる。
【０１００】
［第二の実施の形態］
本発明の第二の実施の形態を図８に基づいて説明する。なお、前述した第一の実施の形態と同一部分は同一符号で示し説明も省略する。本実施の形態は、第一の実施の形態とは、レイアウト解析処理の流れが異なるものである。
【０１０１】
本実施の形態のレイアウト解析処理の流れについて詳述する。図８は、レイアウト解析処理の流れを示すフローチャートである。図８に示すように、まず、前処理として、図４に示したような２値画像の黒連結成分をちょうど囲むような矩形領域の集合Ｃ＝[ｒ０，ｒ１，・・・，ｒｎ]（ｒｉ⊂ｒｂ；ｉ＝０，１，・・・，ｎ）を求め、この集合Ｃをアルゴリズムへ入力する（ステップＳ１１）。
【０１０２】
次に、ページ全体に対して、極大白矩形系列を抽出する（ステップＳ１２）。極大白矩形系列の抽出は、白矩形ｒの評価関数Ｑ（ｒ）を白矩形ｒの面積とし、処理している領域のサイズに応じて決まる下限値ｔについて、Ｑ（ｒ）≧ｔを満たすような極大白矩形をＱ（ｒ）の値が大きい順に数え上げる。これには、前述した非特許文献３に記載の方法を使えば良い。また、下限値ｔは、例えばｗとｈを処理している領域のそれぞれ幅と高さ、ａを定数として、
ｔ＝ａ・ｍｉｎ（ｗ，ｈ）
とすれば良い。さらに、領域のセパレータとしての適当でない形をした白矩形、例えば、長さが短いものや幅が狭すぎるものは、文字の間の隙間である可能性が高いので、そのような白矩形を除外するための拘束条件を設定する。これには、領域内にある黒矩形の大きさの分布から文字のサイズｓを推定し、例えば、ｂを定数として、幅も高さもｂ・ｓより小さいような極大白矩形を、数え上げの際に除外するようにすれば良い。
【０１０３】
次いで、抽出された白矩形系列をセパレータとしてページ全体をいくつかの領域に分離し、白矩形系列により分離された領域を抽出し（ステップＳ１３）、抽出された各領域をキューに入れる（ステップＳ１４）。ここで、キューは、先に入力したデータが先に出力されるデータ構造である。
【０１０４】
続くステップＳ１５では、キューが空であるか否かを判断する。
【０１０５】
キューが空でなければ（ステップＳ１５のＮ）、キューの先頭にある領域を取り出し（ステップＳ１６）、その領域に対応する２値画像内で極大白矩形系列を抽出した後（ステップＳ１７）、抽出された白矩形系列をセパレータとして、その領域をいくつかの部分領域に分離し、白矩形系列により分離された領域を抽出した後（ステップＳ１８）、ステップＳ１５に進む。つまり、キューが空でない限り、ステップＳ１６〜Ｓ１８の処理が繰り返されることになる。
【０１０６】
一方、キューが空である場合には（ステップＳ１５のＹ）、領域分離結果を出力して（ステップＳ１９）、処理を終了する。
【０１０７】
以上のように本実施の形態においては、キューを利用することにより、領域が「幅優先」の順序に従い、評価関数Ｑ（ｒ）の下限値を決めながら祖から密へ階層的に分離が行われることになる。
【０１０８】
［第三の実施の形態］
本発明の第三の実施の形態を図９に基づいて説明する。なお、前述した第一の実施の形態と同一部分は同一符号で示し説明も省略する。本実施の形態は、第一の実施の形態とは、レイアウト解析処理の流れが異なるものである。
【０１０９】
本実施の形態のレイアウト解析処理の流れについて詳述する。図９は、レイアウト解析処理の流れを示すフローチャートである。図９に示すように、まず、前処理として、図４に示したような２値画像の黒連結成分をちょうど囲むような矩形領域の集合Ｃ＝[ｒ０，ｒ１，・・・，ｒｎ]（ｒｉ⊂ｒｂ；ｉ＝０，１，・・・，ｎ）を求め、この集合Ｃをアルゴリズムへ入力する（ステップＳ２１）。
【０１１０】
次に、ページ全体に対して、極大白矩形系列を抽出する（ステップＳ２２）。極大白矩形系列の抽出は、白矩形ｒの評価関数Ｑ（ｒ）を白矩形ｒの面積とし、処理している領域のサイズに応じて決まる下限値ｔについて、Ｑ（ｒ）≧ｔを満たすような極大白矩形をＱ（ｒ）の値が大きい順に数え上げる。これには、前述した非特許文献３に記載の方法を使えば良い。また、下限値ｔは、例えばｗとｈを処理している領域のそれぞれ幅と高さ、ａを定数として、
ｔ＝ａ・ｍｉｎ（ｗ，ｈ）
とすれば良い。さらに、領域のセパレータとしての適当でない形をした白矩形、例えば、長さが短いものや幅が狭すぎるものは、文字の間の隙間である可能性が高いので、そのような白矩形を除外するための拘束条件を設定する。これには、領域内にある黒矩形の大きさの分布から文字のサイズｓを推定し、例えば、ｂを定数として、幅も高さもｂ・ｓより小さいような極大白矩形を、数え上げの際に除外するようにすれば良い。
【０１１１】
次いで、抽出された白矩形系列をセパレータとしてページ全体をいくつかの領域に分離し、白矩形系列により分離された領域を抽出し（ステップＳ２３）、抽出された各領域をヒープに入れる（ステップＳ２４）。ここで、ヒープは、最も大きい領域が常に先頭に入り、その後に大きさの順に領域が拡張される、いわゆる「優先順位付きキュー」である。
【０１１２】
続くステップＳ２５では、ヒープが空であるか否かを判断する。
【０１１３】
ヒープが空でなければ（ステップＳ２５のＮ）、ヒープの先頭にある領域を取り出し（ステップＳ２６）、その領域に対応する２値画像内で極大白矩形系列を抽出した後（ステップＳ２７）、抽出された白矩形系列をセパレータとして、その領域をいくつかの部分領域に分離し、白矩形系列により分離された領域を抽出した後（ステップＳ２８）、ステップＳ２５に進む。つまり、ヒープが空でない限り、ステップＳ２６〜Ｓ２８の処理が繰り返されることになる。
【０１１４】
一方、ヒープが空である場合には（ステップＳ２５のＹ）、領域分離結果を出力して（ステップＳ２９）、処理を終了する。
【０１１５】
以上のように本実施の形態においては、ヒープを利用することにより、領域が「大きさ優先」の順序に従い、評価関数Ｑ（ｒ）の下限値を決めながら祖から密へ階層的に分離が行われることになる。
【０１１６】
［第四の実施の形態］
本発明の第四の実施の形態を図１０ないし図１５に基づいて説明する。なお、前述した第一ないし第三の実施の形態と同一部分は同一符号で示し説明も省略する。本実施の形態は、第一の実施の形態とは、レイアウト解析処理の流れが異なるものである。
【０１１７】
本実施の形態のレイアウト解析は、特に、テキスト領域分割に関するものである。テキスト領域分割に求められる事項としては、
（１）異なるコラム同士が統合されないこと。
（２）行が複数のテキスト領域に分断されないこと。
（３）できるだけ少ない数のテキスト領域が生成されること。
が挙げられる。そこで、本実施の形態においては、極大白矩形系列抽出の終了基準や白矩形の文書構成要素の「セパレータとしての良さ」を測る尺度の中に、処理対象の性質に関する値（例えば、テキスト文書の場合、文字のサイズ、文字間隔、行間隔など）を取り入れたものである。
【０１１８】
概略的には、まず、テキスト文書のページ全体に対して文字サイズ、文字間隔、行間隔などの統計量を計算し、それらに基づいて極大白矩形系列抽出の終了条件の下限値を大きく設定して、粗いスケールで処理する。この段階で、抽出された白矩形系列をセパレータとしてページ全体をいくつかの領域に分離する。次に、各領域について文字サイズ、文字間隔、行間隔などの統計量を計算し、それらに基づいて極大白矩形系列抽出の終了条件の下限値を前よりも小さく設定して、再び極大白矩形系列抽出を行い、より細かな分離を行う。このような処理を再帰的に繰り返してゆく。なお、階層的処理における極大白矩形系列抽出の終了条件である下限値は、文字サイズ、文字間隔、行間隔などに応じて設定するようにすれば良い。また、極大白矩形系列抽出の終了条件である下限値の他に、白矩形として望ましい形やサイズに関する拘束条件を導入するようにしても良い。例えば、領域のセパレータとして適当でない形をした白矩形を除外する等である。このように領域のセパレータとして適当でない形をした白矩形を除外するのは、文字サイズに比べて長さが短いもの、あるいは、文字間隔や行間隔幅が狭すぎるものは、文字の間の隙間である可能性が高いからである。このような長さや幅について拘束条件は、領域内で計算される文字サイズ、文字間隔、行間隔に応じて決めることができる。
【０１１９】
本実施の形態のレイアウト解析処理の流れについて詳述する。図１０は、レイアウト解析処理の流れを示すフローチャートである。図１０に示すように、まず、前処理として、縦方向と横方向に黒画素間の狭い隙間を埋める処理を施した（短い白ランを黒に変える）後、２値画像の黒連結成分をちょうど囲むような矩形領域の集合Ｃ＝[ｒ０，ｒ１，・・・，ｒｎ]（ｒｉ⊂ｒｂ；ｉ＝０，１，・・・，ｎ）を求め、この集合Ｃをアルゴリズムへ入力する（ステップＳ３１：矩形領域抽出手段）。図１１は、矩形領域の集合の一例を示す説明図である。
【０１２０】
次に、ページ全体に対して、黒矩形の大きさと間隔に関する統計量から、文字サイズ、文字間隔、行間隔を求める（ステップＳ３２）。そのために、図１２に示すように、縦横のスキャンラインから、黒ランと白ランの長さのヒストグラムを計算する。縦横のスキャンラインすべてから計算された黒ランのヒストグラムのモードを代表文字サイズ、縦方向のスキャンラインすべてと横方向のスキャンラインすべてから、それぞれ計算された白ランのヒストグラムのうち、総サンプル数の多いほうのヒストグラムのモードを行間隔、少ないほうのモードを文字間隔とする。
【０１２１】
次に、ページ全体に対して、極大白矩形系列を抽出する（ステップＳ３３：第１白矩形抽出手段）。極大白矩形系列の抽出は、白矩形ｒの評価関数Ｑ（ｒ）を白矩形ｒの面積とし（計算手段）、処理している領域のサイズに応じて決まる下限値ｔについて、Ｑ（ｒ）≧ｔを満たすような極大白矩形をＱ（ｒ）の値が大きい順に数え上げる（列挙手段）。これには、前述した非特許文献３に記載の方法を使えば良い。また、下限値ｔは、例えばｗとｈを処理している領域のそれぞれ幅と高さ、ｓを計算された文字の大きさ、ａを定数として、
ｔ＝ａ・ｓ・ｍｉｎ（ｗ，ｈ）
とすれば良い（下限値決定手段）。さらに、領域のセパレータとしての適当でない形をした白矩形、例えば、長さが短いものや幅が狭すぎるものは、文字の間の隙間である可能性が高いので、そのような白矩形を除外するための拘束条件を設定する（条件設定手段）。これには、領域内で推定された文字のサイズｓと、例えば、ｂを定数として、幅も高さもｂ・ｓより小さいような極大白矩形を、数え上げの際に除外するようにすれば良い（除外手段）。
【０１２２】
次いで、抽出された白矩形系列をセパレータとしてページ全体をいくつかの領域に分離し、白矩形系列により分離された領域を抽出し（ステップＳ３４：第１領域抽出手段）、抽出された各領域をスタックに積む（ステップＳ３５：格納手段）。ここで、スタックは、最後に入力したデータが先に出力されるデータ構造である。図１３は、図１１の矩形領域の集合についてページ全体で抽出された極大白矩形系列により分離された領域を示す説明図である。
【０１２３】
続くステップＳ３６では、スタックが空であるか否かを判断する。
【０１２４】
スタックが空でなければ（ステップＳ３６のＮ）、スタックの最上部に積まれている領域を取り出し（ステップＳ３７）、その領域に対応する２値画像内で、上述した方法と同様に黒矩形の大きさと間隔に関する統計量から、文字サイズ、文字間隔、行間隔を求め（ステップＳ３８）、極大白矩形系列を抽出した後（ステップＳ３９：第２白矩形抽出手段）、抽出された白矩形系列をセパレータとして、その領域をいくつかの部分領域に分離する（ステップＳ４０：第２領域抽出手段）。
【０１２５】
ここで、Ｑ（ｒ）の下限値ｔは、ｓを計算された文字の大きさ、ｄを計算された行間隔、ａを定数として、
ｔ＝ａ・ｓ・ｄ
などとすれば良い（下限値決定手段）。さらに、領域のセパレータとしての適当でない形をした白矩形、例えば、文字サイズに比べて長さが短いものや、文字間隔や行間隔に比べて幅が狭すぎるものは、文字や行の間の隙間である可能性が高いので、そのような白矩形を除外するための拘束条件を設定する（条件設定手段）。これには、例えば、△を文字間隔、ｆ，ｇ，ｈを定数として、長さがｆ・ｓより短いか、幅がｇ・ｄやｈ・△より小さいような極大白矩形を、数え上げの際に除外するようにすれば良い（除外手段）。
【０１２６】
そして、白矩形系列により分離された領域を抽出した後は（ステップＳ４０：第２領域抽出手段）、ステップＳ３６に進む。つまり、スタックが空でない限り、ステップＳ３７〜Ｓ４０の処理が繰り返されることになる。ここで、図１４−１はスタックに積まれた領域を示す説明図、図１４−２は抽出された極大白矩形系列により分離された領域を示す説明図である。
【０１２７】
一方、スタックが空である場合には（ステップＳ３６のＹ）、領域分離結果を出力して（ステップＳ４１）、処理を終了する。図１５は、図１１の矩形領域の集合に対するレイアウト解析結果を示す説明図である。図１５に示すように、本実施の形態のレイアウト解析結果によれば、テキスト領域分割に関し、
（１）異なるコラム同士が統合されないこと。
（２）行が複数のテキスト領域に分断されないこと。
（３）できるだけ少ない数のテキスト領域が生成されること。
を実現することができる。
【０１２８】
以上のように本実施の形態においては、スタックを利用することにより、領域が「深さ優先」の順序に従い、評価関数Ｑ（ｒ）の下限値を決めながら祖から密へ階層的に分離が行われることになる。
【０１２９】
本実施の形態においては第二階層までのレイアウト解析処理について説明したが、これに限るものではなく、ステップＳ４１での領域分離結果に基づいて再度ステップＳ３１から再度レイアウト解析処理することにより、祖から密への再帰的分離による階層的処理が実行されることになる。
【０１３０】
このように本実施の形態によれば、矩形領域の集合全体で抽出された極大白矩形系列により矩形領域の集合全体が少なくとも１以上の領域に分離されて格納され、格納された各領域を当該各領域で再び抽出された極大白矩形系列により少なくとも１以上の部分領域に分離するという処理が、再帰的に繰り返される。これにより、極大白矩形系列抽出の終了条件を設定しながら祖から密への再帰的分離による階層的処理が行われることになり、レイアウト解析処理の高効率化を図ることが可能になる。
【０１３１】
また、本実施の形態においては、極大白矩形系列抽出の終了基準や白矩形の文書構成要素の「セパレータとしての良さ」を測る尺度の中に、処理対象の性質に関する値（例えば、テキスト文書の場合、文字のサイズ、文字間隔、行間隔など）を取り入れるようにしたことにより、異なるコラム同士が統合されず、行が複数のテキスト領域に分断されず、かつ、できるだけ少ない数のテキスト領域が生成されるような分離を行なうことが可能になるので、特にテキスト領域分割に関するレイアウト解析処理の高精度化を図ることが可能になる。
【０１３２】
なお、ステップＳ３５においては、ステップＳ３４において抽出された各領域（白矩形系列により分離された領域）をスタックに積むようにしたが、これに限るものではない。第二の実施の形態で説明したようにキューを利用することにより、領域が「幅優先」の順序に従い、評価関数Ｑ（ｒ）の下限値を決めながら祖から密へ階層的に分離が行われるものであっても良いし、第三の実施の形態で説明したようにヒープを利用することにより、領域が「大きさ優先」の順序に従い、評価関数Ｑ（ｒ）の下限値を決めながら祖から密へ階層的に分離が行われるものであっても良い。
【０１３３】
なお、各実施の形態においては、画像処理装置１としてＰＣなどのコンピュータを適用したがこれに限るものではない。例えば、図１６に示すように、画像読取手段であるスキャナ部２１及び画像印刷装置であるプリンタ部２２を備えた画像形成装置であるデジタル複合機２０に備えられる情報処理装置に画像処理装置１を適用し、デジタル複合機２０のスキャナ部２１で読み取ったスキャン画像に対してレイアウト解析処理を施すようにしても良い。
【０１３４】
また、各実施の形態の画像処理装置１としては、ローカルなシステム（例えば、パーソナルコンピュータ単体）を適用したが、これに限るものではない。例えば、図１７に示すように、サーバコンピュータＳにネットワークＮを介してクライアントコンピュータＣが複数台接続されたサーバクライアントシステムを適用するようにしても良い。この場合、各クライアントコンピュータＣからサーバコンピュータＳに対して画像を送信し、サーバコンピュータＳ（画像処理装置１）において画像に対してレイアウト解析処理を施すことになる。
【図面の簡単な説明】
【０１３５】
【図１】本発明の第一の実施の形態の画像処理装置の電気的な接続を示すブロック図である。
【図２】レイアウト解析処理の基本的アプローチを概略的に示す説明図である。
【図３】レイアウト解析処理の流れを示すフローチャートである。
【図４】矩形領域の集合の一例を示す説明図である。
【図５】図４の矩形領域の集合についてページ全体で抽出された極大白矩形系列により分離された領域を示す説明図である。
【図６−１】スタックに積まれた領域を示す説明図である。
【図６−２】抽出された極大白矩形系列により分離された領域を示す説明図である。
【図７】図４の矩形領域の集合に対するレイアウト解析結果を示す説明図である。
【図８】本発明の第二の実施の形態のレイアウト解析処理の流れを示すフローチャートである。
【図９】本発明の第三の実施の形態のレイアウト解析処理の流れを示すフローチャートである。
【図１０】本発明の第四の実施の形態のレイアウト解析処理の流れを示すフローチャートである。
【図１１】矩形領域の集合の一例を示す説明図である。
【図１２】矩形領域の文字サイズ、文字間隔、行間隔の計算手法を示す説明図である。
【図１３】図１１の矩形領域の集合についてページ全体で抽出された極大白矩形系列により分離された領域を示す説明図である。
【図１４−１】スタックに積まれた領域を示す説明図である。
【図１４−２】抽出された極大白矩形系列により分離された領域を示す説明図である。
【図１５】図１１の矩形領域の集合に対するレイアウト解析結果を示す説明図である。
【図１６】デジタル複合機を示す外観斜視図である。
【図１７】サーバクライアントシステムを示す模式図である。
【図１８】最大白矩形を示す説明図である。
【符号の説明】
【０１３６】
１        画像処理装置
８ａ      記憶媒体
２０      画像形成装置
２１      画像読取手段
２２      画像印刷装置
【図１】
2006085665.tif 000003
【図２】
2006085665.tif 000004
【図３】
2006085665.tif 000005
【図４】
2006085665.tif 000006
【図５】
2006085665.tif 000007
【図６−１】
2006085665.tif 000008
【図６−２】
2006085665.tif 000009
【図７】
2006085665.tif 000010
【図８】
2006085665.tif 000011
【図９】
2006085665.tif 000012
【図１０】
2006085665.tif 000013
【図１１】
2006085665.tif 000014
【図１２】
2006085665.tif 000015
【図１３】
2006085665.tif 000016
【図１４−１】
2006085665.tif 000017
【図１４−２】
2006085665.tif 000018
【図１５】
2006085665.tif 000019
【図１６】
2006085665.tif 000020
【図１７】
2006085665.tif 000021
【図１８】
2006085665.tif 000022