(57)【特許請求の範囲】
【請求項１】
対象とする領域の外周に接する領域数が１となるように、画像内の領域を統合する統合手段と、
前記統合手段によって統合された領域間の接続関係を抽出する接続関係抽出手段と、
前記接続関係抽出手段によって抽出された接続関係に基づいて、前記統合手段によって統合された領域の種類を特定する種類特定手段と、
画像から縦２画素、横２画素の矩形を抽出する矩形抽出手段
を具備し、
前記統合手段は、前記矩形抽出手段によって抽出された矩形内の領域数が２以下になるように領域の統合を行う
ことを特徴とする画像処理装置。
【請求項２】
前記統合手段は、領域間の色差又は領域の大きさに基づいて、領域を統合するか否かの判断を行う
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記領域の外周に接する領域を特定するための端点を抽出する端点抽出手段
をさらに具備し、
前記接続関係抽出手段は、前記端点抽出手段によって抽出された領域の端点よりも該領域とは反対側に位置している領域を外側領域とする
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
コンピュータを、
対象とする領域の外周に接する領域数が１となるように、画像内の領域を統合する統合手段と、
前記統合手段によって統合された領域間の接続関係を抽出する接続関係抽出手段と、
前記接続関係抽出手段によって抽出された接続関係に基づいて、前記統合手段によって統合された領域の種類を特定する種類特定手段と、
画像から縦２画素、横２画素の矩形を抽出する矩形抽出手段
として機能させ、
前記統合手段は、前記矩形抽出手段によって抽出された矩形内の領域数が２以下になるように領域の統合を行う
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
画像から文字等の領域を抽出するためには、その領域の種類（例えば、文字なのか、背景なのか等）を特定する必要がある。
これに関連する技術として、例えば、特許文献１には、画像中の文字領域内の色を損なうことなく圧縮、伸長を行うことを課題とし、２値画像から文字領域を検出し、文字領域座標を作成し、そして２値画像の黒の領域に該当する原画像中の領域を黒の領域の周囲の色で塗りつぶし、画像Ａを作成し、そして画像Ａを縮小した画像ＢをＪＰＥＧ圧縮し、そして、２値画像の黒の領域に該当する原画像の領域の色を算出し、複数のパレットを作成し、また減色部はパレットにしたがって原画像に対して減色処理を行い、減色画像を生成し、減色画像が１ビットであるときには、減色画像をＭＭＲ圧縮し、減色画像が２ビット以上であるときには、減色画像を可逆圧縮することが開示されている。
【０００３】
また、例えば、特許文献２には、文字と文字以外の画像を含むカラー文書から正確に文字領域抽出を行うことができる画像処理方法を提供することを課題とし、処理対象となる多値画像を文字と文字以外の画像を含むカラー文書から取得して(ステップＳ１)、圧縮画像を生成し(ステップＳ２)、圧縮画像から同色とみなせる画素をランとして抽出し(ステップＳ３)、抽出したランを統合して連結成分を生成し(ステップＳ４)、連結成分のうち不要成分の除去後(ステップＳ５)、連結成分の外接矩形を統合し(ステップＳ６)、統合した外接矩形から文字らしいものを判定し(ステップＳ７)、得られた結果を出力する（ステップＳ８）ことが開示されている。
【０００４】
また、例えば、特許文献３には、文字画像と自然画像が混在したドキュメントについて、高圧縮率かつ高品位な画像圧縮を可能とし、さらに、伸長された文字画像と写真画像に対してそれぞれ適応処理を施すことにより、高品位画像を出力することを課題とし、文字領域検出部で原画像の２値画像より文字部を検出して文字領域座標を生成し、文字部補間部で文字領域情報に基づいて原画像から文字部を除去し、該文字部周辺の画素データで補間して多値の非文字画像Ａを生成し、ＪＰＥＧ圧縮して圧縮コードＸを生成し、また、文字抽出部で文字領域情報に基づいて原画像から文字部を抽出して二値の文字画像を生成し、ＭＭＲ圧縮して圧縮コードＹを生成し、このように、文字部と非文字部の圧縮コードを独立して保存できるため、伸長時に適応処理が可能となることが開示されている。
【０００５】
また、例えば、特許文献４には、文書を、複数のバイナリ前景平面を有する複合ラスタコンテンツフォーマットで画像データに変換するシステム及び方法を提供することを課題とし、画像データを線毎に分析して、類似の色及びエッジ特徴を有する画素を特定し、１つの線上にあるこれらの画素と別の線上の画素とは、両者が類似の特徴を共有する場合にはリンクされ、これらのリンクされた画素同士は領域としてグループ化され、この領域の平均色が計算され、画素が属する領域を特定する画像マップが、領域の最終的なテーブルと共に生成されることが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−０７７６３１号公報
【特許文献２】特開２００２−２８８５８９号公報
【特許文献３】特開２００３−２１９１８７号公報
【特許文献４】特開２００５−２２８３３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、画像内における複数の領域が接触している場合にあっても領域の種類を特定するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、対象とする領域の外周に接する領域数が１となるように、画像内の領域を統合する統合手段と、前記統合手段によって統合された領域間の接続関係を抽出する接続関係抽出手段と、前記接続関係抽出手段によって抽出された接続関係に基づいて、前記統合手段によって統合された領域の種類を特定する種類特定手段と、画像から縦２画素、横２画素の矩形を抽出する矩形抽出手段を具備し、前記統合手段は、前記矩形抽出手段によって抽出された矩形内の領域数が２以下になるように領域の統合を行うことを特徴とする画像処理装置である。
【００１０】
請求項２の発明は、前記統合手段は、領域間の色差又は領域の大きさに基づいて、領域を統合するか否かの判断を行うことを特徴とする請求項１に記載の画像処理装置である。
【００１１】
請求項３の発明は、前記領域の外周に接する領域を特定するための端点を抽出する端点抽出手段をさらに具備し、前記接続関係抽出手段は、前記端点抽出手段によって抽出された領域の端点よりも該領域とは反対側に位置している領域を外側領域とすることを特徴とする請求項１又は２に記載の画像処理装置である。
【００１２】
請求項４の発明は、コンピュータを、対象とする領域の外周に接する領域数が１となるように、画像内の領域を統合する統合手段と、前記統合手段によって統合された領域間の接続関係を抽出する接続関係抽出手段と、前記接続関係抽出手段によって抽出された接続関係に基づいて、前記統合手段によって統合された領域の種類を特定する種類特定手段と、画像から縦２画素、横２画素の矩形を抽出する矩形抽出手段として機能させ、前記統合手段は、前記矩形抽出手段によって抽出された矩形内の領域数が２以下になるように領域の統合を行うことを特徴とする画像処理プログラムである。
【発明の効果】
【００１３】
請求項１の画像処理装置によれば、画像内における複数の領域が接触している場合にあっても領域の種類を特定することができる。また、本構成を有しない場合に比較して、処理の負荷を軽減することができる。
【００１５】
請求項２の画像処理装置によれば、領域統合に適している性質を用いることができる。
【００１６】
請求項３の画像処理装置によれば、本構成を有しない場合に比較して、領域間の接続関係を抽出する負荷を軽減することができる。
【００１７】
請求項４の画像処理プログラムによれば、画像内における複数の領域が接触している場合にあっても領域の種類を特定することができる。また、本構成を有しない場合に比較して、処理の負荷を軽減することができる。
【図面の簡単な説明】
【００１８】
【図１】画像から文字領域を抽出する例を示す説明図である。
【図２】複数の領域の種類を特定する処理例を示す説明図である。
【図３】複数の領域が接触している場合において、領域の種類を特定する処理例を示す説明図である。
【図４】文字と長方形が接触している場合の例を示す説明図である。
【図５】文字領域を抽出した場合の例を示す説明図である。
【図６】文字領域を誤って抽出してしまった場合の例を示す説明図である。
【図７】複数の領域が接触している場合の例を示す説明図である。
【図８】完全包含関係の例を示す説明図である。
【図９】完全包含関係の例を示す説明図である。
【図１０】領域の種類を特定する処理例を示す説明図である。
【図１１】ラスタスキャンの例を示す説明図である。
【図１２】２×２のブロックを用いた統合処理の例を示す説明図である。
【図１３】本実施の形態の構成例についての概念的なモジュール構成図である。
【図１４】ＩＤテーブルのデータ構造例を示す説明図である。
【図１５】統合処理を行った場合のＩＤテーブル内のデータ例を示す説明図である。
【図１６】包含関係テーブルのデータ構造例を示す説明図である。
【図１７】別のＩＤテーブルのデータ構造例を示す説明図である。
【図１８】別のＩＤテーブルのデータ構造例を示す説明図である。
【図１９】別のＩＤテーブルのデータ構造例を示す説明図である。
【図２０】領域内の端点の例を示す説明図である。
【図２１】別の包含関係テーブルのデータ構造例を示す説明図である。
【図２２】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１９】
＜１．１＞
まず、実施の形態の説明の準備として、画像内の文字画像と背景画像（文字画像以外の部分）の関係について説明する。
文字画像と背景画像の関係について、特許文献４に記載されている技術では、以下に示すような処理を行って画像フォーマットを作成する。
（１）対象とするカラー画像から文字画像を抜き出し、その抜き出した文字画像は２値画像として圧縮し、その抜き出した文字画像の色を別途保持する。
（２）文字画像を抜き出した後の画像に対しては、文字画像部分を任意の画素値で埋めた後にＪＰＥＧなどの多値画像圧縮を行う。
（３）前記２値画像と、ＪＰＥＧなどの多値画像を合わせて、一つの画像フォーマットとする。
（４）そして、この画像フォーマットの画像を表示する場合は、ＪＰＥＧを復号した上に、復号して色付けした２値画像を重ね合わせて、復号画像とする。
このために、多値画像（カラー画像、グレイ画像を含む）から文字画像を２値画像として抜き出す必要がある。
【００２０】
又は、多値画像の中に文字が記載されている画像を対象として、文字認識処理を行う場合がある。文字認識処理は通常は２値画像を対象としているため、多値画像から文字画像を２値画像として抜き出す必要がある。
このとき、例えば、図１（ａ）の対象画像１１０ａに示すようなグラデーション上に描かれた文字や図１（ｂ）の対象画像１１０ｂに示すような反転文字（濃い色の背景上に描画された薄い色の文字）なども図１（ａ）の文字抽出結果画像１２０ａ、図１（ｂ）の文字抽出結果画像１２０ｂに示すように抽出したいという要望がある。
本実施の形態は、このような画像フォーマットの作成、文字認識処理等のために用いられるものである。
【００２１】
図２は、複数の領域の種類（文字画像か否か）を特定する処理例を示す説明図である。図２の例に示すように領域２１０、領域２２０、領域２３０に分けられたとする。ここで、「領域」とは、その内部に含まれる各画素の画素値が予め定められた範囲内にある部分を指す。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。領域の大きさや位置などを手がかりにして、どの領域が文字画像らしいかを判断する。例えば、ここでは領域２１０は文字画像らしくないと判断し、領域２２０と領域２３０が文字画像らしいと判断すれば、領域２２０と領域２３０のみを文字画像として抽出する。なお、本実施の形態では、この「文字画像らしさ」の判断に関しては対象としておらず、従来からある手法を使用するとする。
【００２２】
図３は、複数の領域が接触している場合において、領域の種類を特定する処理例を示す説明図である。文字画像を抜き出すことは困難となる場合の例である。すなわち、領域が接している場合である。
領域３１０は文字画像らしくないと判断し、領域３２０と領域３３０が文字画像らしいと判断したとする。ここで、領域３２０と領域３３０は、異なる色の領域であるため、これら２つの領域が接している場合には、どちらかを文字画像として、どちらかを非文字画像とすべきである。
文字認識処理をする場合などには、領域３２０と領域３３０ともに文字画像とすると、領域３２０と領域３３０をあわせた形状を認識することになるため、不都合な文字認識結果となってしまう。
図４は、文字と長方形が接触している場合の例を示す説明図である。領域（文字画像）４１０（Ａの文字）は赤色であり、領域（文字画像）４１０の背後にある領域（長方形画像）４２０は青色であるとする。これら２つの領域は接している。ここで、領域（文字画像）４１０のほうが文字画像らしいと判断すれば、図５の例に示すように領域（文字画像）４１０を抽出し得るため、この画像を対象として文字認識処理が行えることとなる。
ところが、領域（文字画像）４１０と領域（長方形画像）４２０のいずれも文字画像らしいと判断して抽出してしまうと、文字認識処理の対象として用いる２値画像は、図６の例に示す画像となり、文字認識処理の対象としてはふさわしくなく、当然文字認識結果も誤りとなることが多い。
【００２３】
あるいは、複数の色で構成されている文字を抽出する場合であって、対象内に異なる色の物体が接しているときに、特許文献４に記載されているような圧縮をするとする。接している領域の両方を２値画像圧縮して復号すると、復号時の画素位置の精度によっては、実際には（圧縮前の対象画像内では）接しているにも関わらず、復号した後では２つの領域間に隙間が発生してしまうことが起こりえる。
【００２４】
以上述べたように、図３に例示した領域３２０と領域３３０のように領域が接している場合に、より文字らしいほうを文字画像として採用すべきである。
しかしながら、より文字らしいほうを採用する場合には、領域間の接触関係を全て把握する必要がある。
図７は、複数の領域が接触している場合の例を示す説明図である。図７の例に示すように、領域１と、領域２，３，４，５，６が接しているとする。この中で接している領域どうしを比較して、その中で最も「文字画像らしい」ものを抽出すればよい。
しかし、ある領域に接する領域を抽出するためには、領域の周囲を全てたどって、領域間の接触関係を把握する必要がある。
例えば、領域１の周囲を全部調査して、接触領域２，３，４，５，６を抽出する。次に、領域２の周囲を全部調査して、接触領域１，６を抽出する。このような処理を領域１〜７全てについて調査する必要がある。この調査の処理量が大きい。
また、領域間の接触関係を把握できたとしても、互いに非接触で抽出できる領域の組み合わせの数が大きいため、それらの組み合わせを全て比較する処理量が大きい。あるいは組み合わせの発見方法や、比較方法自体に確定したものはない。
例えば、ここで、領域１，３，５，７のみを考える。領域１，３，５，７は１次元上に並んでおり、その順序は下から領域３，１，５，７とする。この場合、文字として抽出するパターン（非接触の組み合わせ）は、（１）領域３と５、（２）領域１と７、（３）領域３と７、のように複数ある。これらのうちからどれを採用すればよいか、確定した方法はない。
ここでは、領域１，３，５，７のみを考慮に入れていた。これらのように１次元上の相対関係の場合はまだ比較的単純である。しかし、相対関係が２次元となると複雑さは増大する。すなわち、領域２，４，６も考慮に入れる場合、パターン数（非接触の組み合わせ数）はさらに多くなる。そのパターンを抽出する方法、パターン数を削減する方法等について確定したものはない。実際の画像では領域数は図７の例のように７個ではなく、さらに膨大なものとなる。
【００２５】
＜２．１＞領域間の完全包含関係
＜２．１＞から＜２．３＞において、本実施の形態における処理の概略的な説明を行う。
本実施の形態では、領域間の相互関係が「完全包含関係」になるように領域を統合する。「完全包含関係」とは、「ある領域の外周に接する領域数が１となる関係」のように定義する。図８は、完全包含関係の例を示す説明図である。図８の例では、領域８１０は、領域８２０に完全に包含されている。このように対象となる領域（領域８１０）が他の１つだけの領域（領域８２０）によって包含される状態を完全包含関係とする。つまり、完全包含関係の状態にある場合、対象となる領域の外周は２つ以上の他の領域に接していないこととなる。
前述のように、対象となる領域の外周に接するのは一つの領域だけであるが、対象となる領域の内側にある領域数は１とは限らない。０あるいは１あるいは２以上の場合もありうる。図９に２の場合の例を示す。図９の例に示すように、領域９３０の内側に領域９１０と領域９２０の２つの領域が存在している場合でも、領域９１０と領域９３０、領域９２０と領域９３０の間には完全包含関係が成り立つとする。
【００２６】
＜２．２＞文字領域の決定方法
領域の種類として、文字画像と非文字画像を例示する。
完全包含関係が成り立つとき、外側の領域から順に文字画像らしさを判定していけばよい。ある領域が文字画像であると判定されたとする。その場合、その領域の内側に接する領域は全て非文字画像とすればよい。そして、その非文字画像の領域の内側に接する領域は、全て文字画像とすればよい。
このように、外側から順に、
文字画像  →  非文字画像  →  文字画像  →  非文字画像  →  ・・・
とすることによって、文字領域を判定する。
図１０は、領域の種類を特定する処理例を示す説明図である。図１０（ａ）の例に示す画像は、接している領域間で完全包含関係が成り立っている場合である。１番外側の領域を文字画像とした場合、図１０（ｂ）の例に示すように黒色の領域が文字画像の領域となる。外側から２番目の領域を文字とした場合、図１０（ｃ）の例に示すような結果となる。
【００２７】
領域の文字画像らしさを判断する手法は様々ある。例えば、以下の全てあるいは一部に合致したときに文字画像であると判断する。
・領域の外接矩形の大きさが、予め定められた大きさの範囲内に入っていること。
・領域の内部に存在している領域数が、予め定められた数値範囲内に入っていること。
・領域の縦横比が、予め定められた数値範囲内に入っていること。
・近隣に類似サイズの領域が存在していること。なお、類似とは、２つの間の差が予め定められた閾値範囲内であることをいう。
・近隣に文字画像と判定された類似サイズの領域が存在していること。
・近隣に文字画像と判定された類似色の領域が存在していること。
・内部に存在している領域数が、予め定められた閾値範囲内であること。
・内部に存在している領域の階層数が、予め定められた閾値範囲内であること。等がある。
【００２８】
＜２．３＞完全包含関係の構築方法
完全包含関係は以下のように構築する。
対象画像を縦２画素、横２画素のブロック（２×２ブロック）でラスタスキャンする。
ここでラスタスキャンとは、例えば、画像１１２０の左上から右に向かってスキャンして、右端に達した時点で１画素下の行に行って、さらに左端から右端に向かってスキャンする。そして、右端に達した時点で１画素下の行に行って、さらに左端から右端に向かってスキャンする。これを繰り返して、右下の画素までをスキャンすることをいう。この例では、左上から右下へ向かってスキャンする例を示したが、これが右下から左上、右上から左下、左下から右上のいずれであっても構わない。
また、２×２ブロック１１１０で画像１１２０をラスタスキャンすることについて、図１１を用いて説明する。最初２×２ブロック１１１０の左上画素を画像１１２０の左上画素に合わせて（図１１（ｂ）の例に示すステップＳ１１０１）、スキャンを始める。次に２×２ブロック１１１０を１画素右にずらす（図１１（ｃ）の例に示すステップＳ１１０２）。以降、１画素右ずらしを順に行う。２×２ブロック１１１０の右画素が、画像１１２０の右端に達した時点（図１１（ｄ）の例に示すステップＳ１１０３）で、２×２ブロック１１１０の左上画素を画像１１２０の最も左で、上から２画素目に移動する（図１１（ｄ）の例に示すステップＳ１１０４）。さらに１画素右にずらしていく（図１１（ｄ）の例に示すステップＳ１１０５）。右端に到達したら、左端に戻って１画素下にずらす（図１１（ｄ）の例に示すステップＳ１１０６）。これを繰り返して（図１１（ｄ）の例に示すステップＳ１１０７）、２×２ブロック１１１０の右下画素が、画像１１２０の右下画素まで到達した時点で終了である（図１１（ｄ）の例に示すステップＳ１１０８）。
【００２９】
前述のラスタスキャンを行うとき、各画素位置で以下の処理を行う。
まず、対象画像は予め複数の領域に分割されているとする。１画素１領域とすれば、領域分割の処理が行われていない場合であっても、領域分割が行われているとみなすこともできる。領域分割の方法としては、特許文献４等に記載された様々な方法を用いることができる。各領域にはＩＤ（番号）が付与されているとする。
２×２ブロックの中には４画素が含まれる。
４画素の各領域ＩＤの種類数をチェックする。４画素中のＩＤは最大で４種類あることになる。Ｘ，Ｙ，Ｚ，Ｗを異なるＩＤ番号とする。
例えば、４画素中のＩＤが、
・Ｘ，Ｘ，Ｘ，Ｘであれば、ＩＤ種類数は１
・Ｘ，Ｘ，Ｘ，Ｙであれば、ＩＤ種類数は２
・Ｘ，Ｘ，Ｙ，Ｙであれば、ＩＤ種類数は２
・Ｘ，Ｘ，Ｙ，Ｚであれば、ＩＤ種類数は３
・Ｘ，Ｙ，Ｚ，Ｗであれば、ＩＤ種類数は４
である。
【００３０】
そして、次のような処理を行う。
・ＩＤ種類数が１のとき、何もしない。
・ＩＤ種類数が２のとき、何もしない。
・ＩＤ種類数が３のとき、ＩＤ種類数が２となるように、領域を統合する。
・ＩＤ種類数が４のとき、ＩＤ種類数が２となるように、領域を統合する。
このようにＩＤ種類数を各２×２ブロックで２以下とする。
この処理を行うことによって、全ての領域が相互に完全包含関係を満たすようになる。
【００３１】
図１２を用いて説明する。図１２は、２×２ブロックを用いた統合処理の例を示す説明図である。
図１２（ａ１）の例に示す画像１２１０は、領域１２１２、領域１２１４を有している。２×２ブロックによるラスタスキャンを行った場合、全ての位置で２×２ブロック内の領域数が１又は２であるので統合は行わない。
【００３２】
図１２（ｂ１）の例に示す画像１２３０は、領域１２３２、領域１２３４、領域１２３６を有している。この場合、図１２（ｂ２）の例に示すブロック１２４９の位置では、２×２ブロック内の領域数が３となるため統合を行う。ここで、領域１２３４と領域１２３６を統合したとすると、統合結果は図１２（ｂ３）の例に示すように領域１２４２と領域１２４４の２種類の領域となる。
【００３３】
図１２（ｃ１）の例に示す画像１２５０は、領域１２５２、領域１２５４、領域１２５６、領域１２５８を有している。この場合、図１２（ｃ２）の例に示すブロック１２６９の位置では、２×２ブロック内の領域数が４となるため統合を行う。ここで、領域１２５２と領域１２５６を統合し、かつ、領域１２５４と領域１２５８を統合したとすると、統合結果は図１２（ｃ３）の例に示すように領域１２６２と領域１２６４の２種類の領域となる。
【００３４】
なお、領域の外周が対象画像の外周と一致している場合には、必ずしも完全包含関係は成り立たないことに注意が必要である。
例えば、対象画像の外周に接している領域は文字画像として抽出しないようにする。このような処理によって、文字画像として抽出する領域は全て完全包含関係を満たすこととなる。あるいは、対象画像の外周に接している領域は、全て統合してしまってもよい。こうすることで、全領域の関係は完全包含関係となる。あるいは、２×２ブロックのラスタスキャン時に、対象画像の１画素外側も含めてラスタスキャンしてもよい。対象画像の外側は、適当な画素値（例えば、背景色としての白色を表す画素値）を設定した同一領域であるとする。このようにすることで、全領域の関係を完全包含関係とする。
【００３５】
＜３．１＞  第１の実施の形態
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
図１３は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
【００３６】
本実施の形態である画像処理装置は、図１３に示すように、制御モジュール１３１０、画像メモリ１３２０、２×２ブロック抽出モジュール１３３０、ＩＤ種類数計測モジュール１３４０、ＩＤ統合モジュール１３５０、ＩＤテーブル記憶モジュール１３６０、包含関係テーブル記憶モジュール１３７０を有している。
【００３７】
制御モジュール１３１０は、画像メモリ１３２０、２×２ブロック抽出モジュール１３３０、ＩＤ種類数計測モジュール１３４０、ＩＤ統合モジュール１３５０、ＩＤテーブル記憶モジュール１３６０、包含関係テーブル記憶モジュール１３７０と接続されており、ＣＰＵなどでこれらを制御する。つまり、画像メモリ１３２０内の画像に対して、対象とする領域の外周に接する領域数が１となるように、画像内の領域を統合し、その統合された領域間の接続関係（具体例として、後述する外側領域であるか、内側領域であるか）を抽出し、その抽出された接続関係に基づいて、統合された領域の種類を特定する。領域の種類として、文字画像、非文字画像を例示して説明する。
【００３８】
画像メモリ１３２０は、制御モジュール１３１０、２×２ブロック抽出モジュール１３３０と接続されている。画像メモリ１３２０には、対象画像と同じ画素数の画像が記憶されている。ただし、画像メモリ１３２０内に記憶されている画像の画素値は、対象画像の画素値そのものではなく、予め対象画像を領域分割した結果の領域ＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）が記憶されているとする。すなわち、画像メモリ１３２０内に記憶されている画像の各画素値は、その画素が属する領域の番号であるとする。領域分割としては、例えば、色が均一な領域に分けること等が該当する。
【００３９】
ＩＤテーブル記憶モジュール１３６０は、制御モジュール１３１０、ＩＤ種類数計測モジュール１３４０、ＩＤ統合モジュール１３５０と接続されている。ＩＤテーブル記憶モジュール１３６０は、ＩＤテーブル１４００を記憶している。図１４は、ＩＤテーブル１４００のデータ構造例を示す説明図である。ＩＤテーブル１４００は、領域ＩＤフィールド１４１０、統合後ＩＤフィールド１４２０、領域色（Ｒ，Ｇ，Ｂ）フィールド１４３０、領域画素数フィールド１４４０を有している。領域ＩＤフィールド１４１０は、画像メモリ１３２０内の画像の領域ＩＤを記憶する。統合後ＩＤフィールド１４２０は、ＩＤ統合モジュール１３５０によって領域が統合された後の領域ＩＤを記憶する。ただし、初期の状態では、領域ＩＤフィールド１４１０と同じ値を記憶している。領域色（Ｒ，Ｇ，Ｂ）フィールド１４３０は、その領域の色を記憶する。なお、領域色を（ＲＧＢ）で示しているが、色空間はどのようなものでもよい。ここではカラー画像としているがグレイ画像であってもよいし、インデックスカラーの画像であってもよい。領域画素数フィールド１４４０は、その領域に含まれる画素数を記憶する。
ＩＤテーブル１４００は、ＩＤ種類数計測モジュール１３４０、ＩＤ統合モジュール１３５０、制御モジュール１３１０によって参照、書き込み、書き換え等が行われる。
【００４０】
２×２ブロック抽出モジュール１３３０は、制御モジュール１３１０、画像メモリ１３２０、ＩＤ種類数計測モジュール１３４０と接続されている。前述の２×２ブロックのラスタスキャンで順に、画像メモリ１３２０内の画像の２×２ブロック内の４画素を抽出し、ＩＤ種類数計測モジュール１３４０へ渡す。
【００４１】
ＩＤ種類数計測モジュール１３４０は、制御モジュール１３１０、２×２ブロック抽出モジュール１３３０、ＩＤ統合モジュール１３５０、ＩＤテーブル記憶モジュール１３６０と接続されている。２×２ブロック抽出モジュール１３３０によって抽出された２×２ブロック内の４画素のＩＤ種類数を計測し、その計測結果をＩＤ統合モジュール１３５０へ渡す。ここで用いられるＩＤとは、領域ＩＤそのものではなく、真のＩＤである。
以下、真のＩＤの取得方法を示す。
準備として、ＩＤテーブル関数Ｙ＝Ｆ（Ｘ）を定義する。
ここで、変数Ｘは、ＩＤテーブル１４００の領域ＩＤフィールド１４１０が記憶している領域ＩＤである。Ｘを領域ＩＤとして、その行に存在している統合後ＩＤ（統合後ＩＤフィールド１４２０に記憶されている統合後ＩＤ）を出力Ｙとする。
まず、２×２ブロック内に記述されているＩＤを変数Ｘとする。
ステップ１．Ｆ（Ｘ）＝Ｘのとき、Ｘが真のＩＤとして終了する。
ステップ２．Ｆ（Ｘ）≠Ｘのとき、Ｆ（Ｘ）＝Ｘとして（ＸにＦ（Ｘ）を代入して）、ステップ１へ行く。
このように、領域ＩＤ＝統合後ＩＤとなるまで、ＩＤテーブル１４００を参照することによって、真のＩＤを求める。
【００４２】
ＩＤ統合モジュール１３５０は、制御モジュール１３１０、ＩＤ種類数計測モジュール１３４０、ＩＤテーブル記憶モジュール１３６０と接続されている。ＩＤ統合モジュール１３５０は、２×２ブロック抽出モジュール１３３０によって抽出された２×２ブロック内の領域数が２以下になるように領域の統合を行う。より具体的には、例えば、ＩＤ種類数計測モジュール１３４０によって計測されたＩＤ種類数に基づいて、領域を統合する。以下、真のＩＤの種類数を単にＩＤ種類数とする。
【００４３】
ＩＤ種類数が１又は２のときには、統合処理はしない。
ＩＤ種類数が３のとき、以下のような統合処理を行う。
３つの真のＩＤの領域色を比較する。ここでＩＤを１、２、３とする。それぞれの領域色をＣ１，Ｃ２，Ｃ３とする。２つの領域色Ｃｘ，Ｃｙの色差を、ｄｘｙで表すとする。ｄｘｙとしては、ＲＧＢ空間のユークリッド距離や、ＣＩＥＬ＊ａ＊ｂ＊空間に変換した場合のユークリッド距離など様々なものが対象となる。ｄ１２，ｄ２３，ｄ３１のうち最も小さなものを、ｄｘｙとする。このとき、ＩＤｘと、ＩＤｙを統合する。
統合処理は次のように行う。
ｘとｙのうち大きなほうを小さなほうに統合する。ｘ＜ｙとすると、ＩＤテーブル１４００は図１５の例に示すようになる。すなわち、領域ＩＤがｙの統合後ＩＤをｘに変更する。
さらに、領域色を変更する。ＩＤｘの領域色を（Ｒｘ，  Ｇｘ，  Ｂｘ）、ＩＤｙの領域色を（Ｒｙ，  Ｇｙ，  Ｂｙ）とする。ＩＤｘの領域画素数をＮｘ、ＩＤｙの領域画素数をＮｙとする。ＩＤｘの領域色を（１）式で変更する。
【数１】
0005636674.tif 000002
また、ＩＤｘの領域画素数を（２）式で変更する。
【数２】
0005636674.tif 000003
【００４４】
ＩＤ種類数が４のとき、以下のような統合処理を行う。
４つの真のＩＤの領域色を比較する。ＩＤを１、２、３，４とする。それぞれの領域色をＣ１，Ｃ２，Ｃ３，Ｃ４とする。４つの色の間の色差ｄｘｙとする。ｘ∈｛１，２，３，４｝，  ｙ∈｛１，２，３，４｝，  ｘ＜ｙの条件下で、ｄｘｙの場合の数は６通りある。
６通りのｄｘｙのうちで最も小さいものをｄｘ１ｙ１とする。このときＩＤｘ１とＩＤｙ１を統合する。次に小さいものをｄｘ２ｙ２とする。このときＩＤｘ２とＩＤｙ２を統合する。このようにｄｘｙの小さい順にＩＤを統合していって、ＩＤ数が２となった時点で統合を終了する。
２つのＩＤの統合方法はＩＤ種類数が３の場合と同じである。
【００４５】
以上のように、処理が行われた後、２×２ブロックのラスタスキャンで次の位置に移動して、２×２ブロック抽出モジュール１３３０による２×２ブロック内の４画素の抽出に戻る。
制御モジュール１３１０は、図１１の例に示した２×２ブロックのラスタスキャン移動を制御し、２×２ブロックが右下になった時点でラスタスキャンを終了する。
画像内のラスタスキャンが終了した時点で、ＩＤテーブル１４００内の値を用いて、画像メモリ１３２０中の領域ＩＤを真のＩＤに変換する。
以上で、完全包含関係を満たす領域統合が終了する。
【００４６】
この後、前述の＜２．２＞で説明した方法を用いて、文字領域を決定すればよい。
以下、より具体的に文字領域の決定方法を説明する。
まず、画像メモリ１３２０中の画素値は、全て真のＩＤ値に変換されているとする。また、包含関係テーブル記憶モジュール１３７０内に包含関係テーブル１６００を用意する。包含関係テーブル記憶モジュール１３７０は、制御モジュール１３１０と接続されている。制御モジュール１３１０が、画像メモリ１３２０、包含関係テーブル１６００を用いて文字領域の決定を行う。
図１６は、包含関係テーブル１６００のデータ構造例を示す説明図である。包含関係テーブル１６００は、領域ＩＤフィールド１６１０、外側領域ＩＤフィールド１６２０、内側領域ＩＤフィールド１６３０、文字ＴＡＧフィールド１６４０を有している。領域ＩＤフィールド１６１０は、画像メモリ１３２０内の画像の領域統合処理後の領域ＩＤを記憶する。外側領域ＩＤフィールド１６２０は、その領域ＩＤの領域の外周に接している領域の領域ＩＤを記憶する。内側領域ＩＤフィールド１６３０は、その領域ＩＤの領域の内側にある領域の領域ＩＤを記憶する。文字ＴＡＧフィールド１６４０は、その領域ＩＤの領域が文字画像領域であるか否かを示す符号を記憶する。
【００４７】
ここでは、領域ＩＤは真の領域ＩＤであるとする。また、真の領域ＩＤには、１から順に番号を振りなおしているとする。ただし、画像をラスタスキャンして、最初に出現する領域に、１から順に番号を与えるものとする。既に番号を与えた領域には与えない。以下、画像メモリ１３２０内の画像の画素値とは前記のように番号を振りなおした真の領域ＩＤ番号であるとする。ここでは、説明の簡単のために番号を振りなおしているが、実際に番号を与えなおす必要はなく、論理的に同様のことが行えるか、あるいは、番号の変換表を用いて変換するようにしてもよい。
【００４８】
制御モジュール１３１０は、包含関係テーブル１６００を用いて、１から順に領域ＩＤの包含関係をチェックしていく。
画像メモリ１３２０内の画像で、領域ＩＤがＸの領域に関して、外側の領域のＩＤをチェックする。例えば、画像メモリ１３２０内の画像で領域ＩＤがＸの領域のうち、最も上の画素で、最も左の画素を抽出する。この画素の直上の画素（あるいは直左の画素）が外側領域のＩＤである。完全包含関係が成り立っているため、外側に接する領域はこの１画素のみをチェックすればよい。この画素値（つまり領域ＩＤ）をＹとする。
包含関係テーブル１６００内の領域ＩＤフィールド１６１０の領域ＩＤがＸの行の外側領域ＩＤフィールド１６２０にＹを記憶させる。
次に、そのＹを包含関係テーブル１６００内の領域ＩＤフィールド１６１０内から検索して（つまり、外側領域ＩＤ：Ｙを領域ＩＤとするもの）、その行の内側領域ＩＤフィールド１６３０にＸを記憶させる。内側領域ＩＤの数は複数ある場合があるため、既に内側領域ＩＤフィールド１６３０に記憶されている場合は、内側領域ＩＤ数を増加させて、Ｘを追加する。
【００４９】
次に、領域１から順に、文字画像らしさを判断していく。
ステップ１．領域Ｘが文字画像であると判断したとき、領域Ｘの文字ＴＡＧをＯＮとする。
ステップ２．次に、領域Ｘの内側領域ＩＤをＹとし、内側領域ＩＤ：Ｙ（複数ある場合がある）の文字ＴＡＧを全てＯＦＦとする。
ステップ３．さらに内側領域ＩＤ：Ｙのそのまた内側領域ＩＤをＺとする。
ステップ４．内側領域ＩＤ：Ｚのさらに内側領域ＩＤがあるため、この後、ステップ１に戻って、ＺをＸとみなして、ステップ１からステップ３までの処理を再帰的に行う。全ての領域の内側領域ＩＤがなくなるまで再帰処理を行う。
上記の処理を行うことによって、図１０に例示するような文字領域の指定が可能となる。
なお、包含関係テーブル１６００において、外側領域ＩＤフィールド１６２０は不要としてもよい。つまり、外側領域ＩＤを抽出し、その抽出した外側領域ＩＤを領域ＩＤとするものを検索すればよい。また、文字画像らしさの判断処理では外側領域ＩＤは不要である。
文字画像を抽出する場合は、最終的に文字ＴＡＧフィールド１６４０内がＯＮとなっている領域ＩＤを画素値として持つ場所を文字画像の領域として抽出する。
【００５０】
＜３．２＞  他の実施の形態
＜３．２．１＞
ＩＤテーブル１４００がない構成としてもよい。
領域ＩＤを画素値とする画像と対象画像の２枚の画像を用いればよい。つまり、ＩＤ統合処理のときには、領域ＩＤを画素値とする画素のＩＤ（つまり画素値）を全て書き換えてしまえばよい。領域色や領域画素数は領域ＩＤを画素値とする画像と、対象画像を用いて算出する。つまり、領域ＩＤに対応する対象画像内の画素値が領域色となり、領域画素数はその領域ＩＤを画素値とする画素数を計測すればよい。
【００５１】
＜３．２．２＞
ＩＤテーブル１４００を１回だけ参照すればよいように毎回書き換えてもよい。
領域ＩＤを統合する場合について説明する。
例えば、領域ｘと領域ｙを統合するとする。また、領域ｙの統合後ＩＤをｘとするとする。
このとき、ＩＤテーブル１４００内を検索して、統合後ＩＤフィールド１４２０内がｙとなっている箇所を全てｘに書き換えればよい。
このようにすれば、ＩＤテーブル１４００を１回だけ参照することで真のＩＤを得ることができる。
＜３．２．３＞
前述の実施の形態では、領域ＩＤの統合処理において領域ＩＤの小さいほうに統合したが、これは小さいほうでも大きなほうでもいずれであってもよい。
【００５２】
＜３．２．４＞
領域種類数が３又は４のときに領域ＩＤを統合するが、その場合、色差が最も小さな組み合わせの領域を統合した。統合する領域の選択方法としては、他の特徴を用いてもよい。
例えば、以下に示すようなものがある。つまり、領域間の色差又は領域のサイズに基づいて、領域を統合するか否かの判断を行う。領域のサイズとして、領域画素数、縦画素数、横画素数、領域の外接矩形の面積等を用いる。なお、「縦画素数」とは、領域の外接矩形の縦画素数をいう。「横画素数」とは、領域の外接矩形の横画素数をいう。以下同様。なお、制御モジュール１３１０が、画像メモリ１３２０内の画像を用いて、色差、領域のサイズを計測するが、領域間の色差を計測する色差計測モジュール、領域のサイズを計測するサイズ計測モジュールを具備してもよい。なお、色差計測モジュール、サイズ計測モジュールの形態として、制御モジュール１３１０が計測を行う場合も含む。
・領域画素数が小さいものを選択する。
・領域画素数が大きいものを選択する。
・領域画素数が、予め定められた数以下のものを優先的に選択する。なお、優先的に選択するとは、他の条件と組み合わせて利用する場合に、１次的なふるい分けに用いるものである。以下同様。
・領域画素数が、予め定められた数以下のものを優先的に選択しない。
・領域色が予め定められた色範囲内であるものを優先的に選択する（又は優先的に選択しない）。
・縦画素数又は横画素数が大きい（又は小さい）ものを選択する（又は選択しない）。
・縦画素数と横画素数の比が大きい（又は小さい）ものを選択する（又は選択しない）。
・領域の外接矩形の面積が大きい（又は小さい）ものを選択する（又は選択しない）。
・領域の外接矩形の面積と領域画素数の比が大きい（又は小さい）ものを選択する（又は選択しない）。
【００５３】
＜３．２．５＞
前述の実施の形態においてはＩＤテーブル１４００に非文字画像を表すタグフィールドはないが、そのタグフィールドを設けてもよい。つまり、図１７に例示するＩＤテーブル１７００としてもよい。ＩＤテーブル１７００は、領域ＩＤフィールド１７１０、統合後ＩＤフィールド１７２０、領域色（Ｒ，Ｇ，Ｂ）フィールド１７３０、領域画素数フィールド１７４０、非文字ＴＡＧフィールド１７５０を有している。領域ＩＤフィールド１７１０、統合後ＩＤフィールド１７２０、領域色（Ｒ，Ｇ，Ｂ）フィールド１７３０、領域画素数フィールド１７４０は、図１４に例示したＩＤテーブル１４００の領域ＩＤフィールド１４１０、統合後ＩＤフィールド１４２０、領域色（Ｒ，Ｇ，Ｂ）フィールド１４３０、領域画素数フィールド１４４０と同等のものである。
このＩＤテーブル１７００を用いた処理について説明する。
まず、初期状態では、非文字ＴＡＧフィールド１７５０内は全てＯＦＦとする。
２つの領域を統合するときに、２つの領域の色差を算出し、色差が所定の閾値以上である場合、非文字ＴＡＧフィールド１７５０をＯＮとする。
又は、２つの領域を統合するときに、いずれかの領域の非文字ＴＡＧがＯＮである場合にも、統合後の非文字ＴＡＧフィールド１７５０をＯＮとする。
非文字ＴＡＧがＯＮの場合、図１６に例示した包含関係テーブル１６００内の文字ＴＡＧフィールド１６４０をＯＦＦに強制的に設定すればよい。
ＩＤテーブル１７００は、文字内の画素値が均一ではなくなることを抑制するために用いる。
【００５４】
＜３．２．６＞
前述の実施の形態においてのＩＤテーブル１４００に、領域の外接矩形の形状を示すフィールドを設けてもよい。つまり、図１８に例示するＩＤテーブル１８００としてもよい。ＩＤテーブル１８００は、領域ＩＤフィールド１８１０、統合後ＩＤフィールド１８２０、領域色（Ｒ，Ｇ，Ｂ）フィールド１８３０、領域画素数フィールド１８４０、外接矩形形状フィールド１８５０を有している。領域ＩＤフィールド１８１０、統合後ＩＤフィールド１８２０、領域色（Ｒ，Ｇ，Ｂ）フィールド１８３０、領域画素数フィールド１８４０は、図１４に例示したＩＤテーブル１４００の領域ＩＤフィールド１４１０、統合後ＩＤフィールド１４２０、領域色（Ｒ，Ｇ，Ｂ）フィールド１４３０、領域画素数フィールド１４４０と同等のものである。
外接矩形形状フィールド１８５０が記憶する外接矩形形状とは、領域の最も上の画素位置、最も下の画素位置、最も左の画素位置、及び、最も右の画素位置の４つのデータである。又は、前記データと同等のもの（変換できるもの）であればよい。例えば、最も上の画素位置、最も左の画素位置と、外接矩形の縦、横サイズなどがある。
２つの領域統合時に、外接矩形形状も統合して、変更すればよい。
統合する領域の選択方法として、外接矩形形状を使う場合に利用する。
【００５５】
＜３．２．７＞
前述の実施の形態においてのＩＤテーブル１４００に、領域の端点の位置を示すフィールドを設けてもよい。つまり、図１９に例示するＩＤテーブル１９００としてもよい。ＩＤテーブル１９００は、領域ＩＤフィールド１９１０、統合後ＩＤフィールド１９２０、領域色（Ｒ，Ｇ，Ｂ）フィールド１９３０、領域画素数フィールド１９４０、端点位置フィールド１９５０を有している。領域ＩＤフィールド１９１０、統合後ＩＤフィールド１９２０、領域色（Ｒ，Ｇ，Ｂ）フィールド１９３０、領域画素数フィールド１９４０は、図１４に例示したＩＤテーブル１４００の領域ＩＤフィールド１４１０、統合後ＩＤフィールド１４２０、領域色（Ｒ，Ｇ，Ｂ）フィールド１４３０、領域画素数フィールド１４４０と同等のものである。
端点とは、領域Ａの外周に接する領域Ｂを特定するために用いる領域Ａ内の点であり、例えば、領域Ａの最も上のラインにあって、最も左の画素である。より具体的な例として、図２０（ａ）に示すように領域２０１０では端点２０１１、図２０（ｂ）に示すように領域２０２０では端点２０２１のようになる。制御モジュール１３１０が、画像メモリ１３２０内の画像から端点を抽出してＩＤテーブル記憶モジュール１３６０内のＩＤテーブル１９００に記憶させる。また、端点を抽出する端点抽出モジュールを具備してもよい。なお、端点抽出モジュールの形態として、制御モジュール１３１０が処理を行う場合も含む。
２つの領域の統合処理のときに、端点位置も統合して、端点位置フィールド１９５０を変更すればよい。
さらに、これで作成された端点位置を、図２１に例示する包含関係テーブル２１００の端点位置フィールド２１５０に記憶させる。包含関係テーブル２１００は、領域ＩＤフィールド２１１０、外側領域ＩＤフィールド２１２０、内側領域ＩＤフィールド２１３０、文字ＴＡＧフィールド２１４０、端点位置フィールド２１５０を有している。領域ＩＤフィールド２１１０、外側領域ＩＤフィールド２１２０、内側領域ＩＤフィールド２１３０、文字ＴＡＧフィールド２１４０は、図１６に例示した包含関係テーブル１６００の領域ＩＤフィールド１６１０、外側領域ＩＤフィールド１６２０、内側領域ＩＤフィールド１６３０、文字ＴＡＧフィールド１６４０と同等のものである。
文字領域決定処理のときの演算負荷を軽減する場合に用いる。つまり、端点位置を既に計算済みであるので、端点を毎回探索する手間を省いているものである。
端点は、「領域の最も上のラインにある、最も左の画素」に限定されるものではない。例えば、以下のようなものであってもよい。
「領域の最も上のラインにある、最も右の画素」
「領域の最も下のラインにある、最も左の画素」
「領域の最も下のラインにある、最も右の画素」
等でもよい。
ただし、外側領域を求める場合に、この端点を用いて、端点よりもその端点を含む領域とは反対側に位置している領域を外側領域とする。具体的には、次のような画素を利用すればよい。なお、直上、直下、直左、直右という用語を用いているが、その方向にさらに１画素以上ずれた画素であってもよい。ただし、幅が１画素である領域も扱う場合には、直上、直下、直左、直右がよい。
「領域の最も上のラインにある、最も左の画素」を端点とする場合、端点の直上か直左画素を外側領域として用いる。
「領域の最も上のラインにある、最も右の画素」を端点とする場合、端点の直上か直右画素を外側領域として用いる。
「領域の最も下のラインにある、最も左の画素」を端点とする場合、端点の直下か直左画素を外側領域として用いる。
「領域の最も下のラインにある、最も右の画素」を端点とする場合、端点の直下か直右画素を外側領域として用いる。
【００５６】
図２２を参照して、前述の実施の形態の画像処理装置のハードウェア構成例について説明する。図２２に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部２２１７と、プリンタなどのデータ出力部２２１８を備えたハードウェア構成例を示している。
【００５７】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２２０１は、前述の実施の形態において説明した各種のモジュール、すなわち、制御モジュール１３１０、２×２ブロック抽出モジュール１３３０、ＩＤ種類数計測モジュール１３４０、ＩＤ統合モジュール１３５０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００５８】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２０２は、ＣＰＵ２２０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２２０３は、ＣＰＵ２２０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス２２０４により相互に接続されている。
【００５９】
ホストバス２２０４は、ブリッジ２２０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス２２０６に接続されている。
【００６０】
キーボード２２０８、マウス等のポインティングデバイス２２０９は、操作者により操作される入力デバイスである。ディスプレイ２２１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００６１】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２２１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ２２０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、処理対象の画像、ＩＤテーブル、包含関係テーブルなどが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００６２】
ドライブ２２１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体２２１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース２２０７、外部バス２２０６、ブリッジ２２０５、及びホストバス２２０４を介して接続されているＲＡＭ２２０３に供給する。リムーバブル記録媒体２２１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００６３】
接続ポート２２１４は、外部接続機器２２１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート２２１４は、インタフェース２２０７、及び外部バス２２０６、ブリッジ２２０５、ホストバス２２０４等を介してＣＰＵ２２０１等に接続されている。通信部２２１６は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部２２１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部２２１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００６４】
なお、図２２に示す画像処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図２２に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図２２に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００６５】
なお、数式を用いて説明したが、数式には、その数式と同等のものが含まれる。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
また、前述の各種の実施の形態を組み合わせてもよく（例えば、ある実施の形態内のモジュールを他の実施の形態内に適用する、入れ替えする等も含む）、また、背景技術として説明した技術を採用してもよい。
【００６６】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００６７】
１３１０…制御モジュール
１３２０…画像メモリ
１３３０…２×２ブロック抽出モジュール
１３４０…ＩＤ種類数計測モジュール
１３５０…ＩＤ統合モジュール
１３６０…ＩＤテーブル記憶モジュール
１３７０…包含関係テーブル記憶モジュール
【図１】
0005636674.tif 000004
【図２】
0005636674.tif 000005
【図３】
0005636674.tif 000006
【図４】
0005636674.tif 000007
【図５】
0005636674.tif 000008
【図６】
0005636674.tif 000009
【図７】
0005636674.tif 000010
【図８】
0005636674.tif 000011
【図９】
0005636674.tif 000012
【図１０】
0005636674.tif 000013
【図１１】
0005636674.tif 000014
【図１２】
0005636674.tif 000015
【図１３】
0005636674.tif 000016
【図１４】
0005636674.tif 000017
【図１５】
0005636674.tif 000018
【図１６】
0005636674.tif 000019
【図１７】
0005636674.tif 000020
【図１８】
0005636674.tif 000021
【図１９】
0005636674.tif 000022
【図２０】
0005636674.tif 000023
【図２１】
0005636674.tif 000024
【図２２】
0005636674.tif 000025