(57)【要約】【課題】従来、黒の下地に白画素で構成されるような反転文字（白抜き文字）を、白の下地に黒画素で構成されるような通常の文字と同じツリー構造内で扱うことはできなかった。【解決手段】本発明は、入力画像から黒画素塊と白画素塊とを再帰的に抽出し、当該抽出された黒画素塊と白画素塊との位置関係を示すツリー構造データを作成し、前記入力画像を白黒反転させた反転画像から、有意な黒画素塊を抽出し、当該抽出された有意な黒画素塊に関するデータを、前記ツリー構造データの対応する個所に追加する。【選択図】　図１８
2004126648.tif 000002
【特許請求の範囲】
【請求項１】
入力画像から黒画素塊と白画素塊とを再帰的に抽出する第１の画素塊抽出ステップと、
前記第１の画素塊抽出ステップで抽出された黒画素塊と白画素塊との位置関係を示すツリー構造データを作成するツリー構造作成ステップと、
前記入力画像を白黒反転させた反転画像から、有意な黒画素塊を抽出する第２の画素塊抽出ステップと、
前記第２の画素塊抽出ステップで抽出された有意な黒画素塊に関するデータを、前記ツリー構造データの対応する個所に追加するツリー構造追加ステップと
を有することを特徴とする画像処理方法。
【請求項２】
前記ツリー構造追加ステップでは、前記有意な黒画素塊を子ノードとする仮想的な白画素塊に関するデータとともに、前記有意な黒画素塊に関するデータを、前記ツリー構造データの対応する個所に追加することを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記反転画像とは、前記第１の画素塊抽出ステップで抽出した黒画素塊の領域に対応する前記入力画像の領域内部を、白黒反転させた画像であることを特徴とする請求項１に記載の画像処理方法。
【請求項４】
前記反転画像とは、前記第１の画素塊抽出ステップで抽出した黒画素塊の領域に対応する前記入力画像の領域について、該黒画素塊の輪郭は黒画素にしたまま、その内部の画素を白黒反転することによって得た画像であり、
前記第２の画素塊抽出ステップでは、該反転画像内部から白画素塊を抽出し、更に、該白画素塊内部から前記有意な黒画素塊を抽出し、
前記ツリー構造追加ステップでは、前記有意な黒画素塊を子ノードとする前記反転画像内部から抽出した白画素塊に関するデータとともに、前記有意な黒画素塊に関するデータを、前記ツリー構造データの対応する個所に追加することを特徴とする請求項１に記載の画像処理方法。
【請求項５】
更に、前記ツリー構造追加ステップで有意な黒画素塊に関するデータが追加されたツリー構造データに基づいて、画素塊をグループ化することにより、前記入力画像を複数の領域に分割する領域分割ステップを有することを特徴とする請求項１に記載の画像処理方法。
【請求項６】
更に、前記ツリー構造追加ステップで有意な黒画素塊に関するデータが追加されたツリー構造データに基づいて、画素塊をグループ化することにより、複数の領域の位置関係を示す領域ツリー構造データを作成する領域ツリー構造作成ステップを有することを特徴とする請求項１に記載の画像処理方法。
【請求項７】
前記黒画素塊とは黒画素の８方向輪郭追跡することによって得た黒画素輪郭で囲まれる領域であり、前記白画素塊とは白画素の４方向輪郭追跡することによって得た白画素輪郭で囲まれる領域であることを特徴とする請求項１に記載の画像処理方法。
【請求項８】
前記入力画像とは、２値の原画像をＯＲ縮小することによって得た画像であり、前記入力画像を白黒反転させた反転画像とは、前記原画像を白黒反転させてからＯＲ縮小することによって得た画像であることを特徴とする請求項１に記載の画像処理方法。
【請求項９】
前記有意な黒画素塊とは、反転文字によって生じた黒画素塊であることを特徴とする請求項１に記載の画像処理方法。
【請求項１０】
前記第２の画素塊抽出ステップでは、前記第１の画素塊抽出ステップで抽出した黒画素塊内部の黒画素密度に基づいて、前記反転画像内部に前記有意な黒画素塊が存在するかどうか判断し、存在しないと判断した場合は前記有意な黒画素塊を抽出するための処理を行わないことを特徴とする請求項３に記載の画像処理方法。
【請求項１１】
前記第２の画素塊抽出ステップでは、前記反転画像から抽出した黒画素塊から、前記入力画像から抽出した白画素塊のうち所定以上の大きさを有する白画素塊に対応する位置にある前記反転画像から抽出した黒画素塊を除外し、該除外の後に残った黒画素塊を前記有意な黒画素塊とすることを特徴とする請求項８に記載の画像処理方法。
【請求項１２】
前記２値の原画像は、多値の原画像を２値化することにより変換された画像であることを特徴とする請求項８に記載の画像処理方法。
【請求項１３】
入力画像から黒画素塊と白画素塊とを再帰的に抽出する第１の画素塊抽出手段と、
前記第１の画素塊抽出手段で抽出された黒画素塊と白画素塊との位置関係を示すツリー構造データを作成するツリー構造作成手段と、
前記入力画像を白黒反転させた反転画像から、有意な黒画素塊を抽出する第２の画素塊抽出手段と、
前記第２の画素塊抽出手段で抽出された有意な黒画素塊に関するデータを、前記ツリー構造データの対応する個所に追加するツリー構造追加手段と
を有することを特徴とする画像処理装置。
【請求項１４】
コンピュータ実行可能な画像処理プログラムであって、
該画像処理プログラムは、入力画像から黒画素塊と白画素塊とを再帰的に抽出する第１の画素塊抽出ステップと、前記第１の画素塊抽出ステップで抽出された黒画素塊と白画素塊との位置関係を示すツリー構造データを作成するツリー構造作成ステップと、前記入力画像を白黒反転させた反転画像から、有意な黒画素塊を抽出する第２の画素塊抽出ステップと、前記第２の画素塊抽出ステップで抽出された有意な黒画素塊に関するデータを、前記ツリー構造データの対応する個所に追加するツリー構造追加ステップとを、コンピュータで実現するためのプログラムコードを含むことを特徴とする画像処理プログラム。
【請求項１５】
入力画像から黒画素塊と白画素塊とを再帰的に抽出する第１の画素塊抽出ステップと、
前記第１の画素塊抽出ステップで抽出された黒画素塊内部を白黒反転させた反転画像から、有意な黒画素塊を抽出する第２の画素塊抽出ステップと、
前記第１の画素塊抽出ステップで抽出された黒画素塊と白画素塊とに関するデータと、前記第２の画素塊抽出ステップで抽出された有意な黒画素塊に関するデータとに基づいて、ツリー構造データを作成するツリー構造作成ステップと
を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理方法、装置、及びプログラムに関するものである。
【０００２】
【従来の技術】
近年、情報の電子化が進み、紙文書と電子化文書を相互に変換する需要が高まっている。紙文書を電子化する際には、単にスキャナなどにより紙面を光電変換し、画像データ化することのみにとどまらず、記載されている内容に応じて、文書画像をテキスト、記号、図、写真、表などそれぞれ性質の異なる領域へと分割し、文字部は文字コード情報、図や線、表枠はベクトルデータ、写真は画像データ、表の内容は構造データ、といったように各領域に対し最適な形でデータ化することが望ましい。
【０００３】
このように、紙文書の電子化処理においては、文書画像に書かれた内容を分析し、文字や図、写真、表など異なる性質の部分領域ごとに分割する処理、すなわち領域分割処理の重要性は高い。
【０００４】
【発明が解決しようとする課題】
この領域分割処理の手法については、例えば、図２１のような多値（グレイスケール又はカラー）で読み取った文書画像を、輝度差による２値の画像に変換し、その中に存在する黒画素を輪郭に持つ画素塊をすべて摘出して、大きさなどから文字と非文字に分類し、さらに非文字の大きな黒画素塊内に存在する白画素領域の内部から再帰的に画素を探索することにより、画素塊の状況を図１６のような階層的ツリー構造で表現することが提案されている。この画素塊のツリー構造に対して、同階層にある文字画素塊をグループ化して文字領域を得て、また、非文字画素塊の形状や周辺条件から図画や写真領域を得て、階層をなす画素の組として表領域を得るなどの処理で種々の属性を持つ領域へと分割することで、図２２のような領域分割結果を得ることができる。また、このとき、各領域が図２３のようなツリー構造を持つことで、文書の論理的構造の判断に適した情報となる。
【０００５】
しかし、このような領域分割処理では処理の構成上、図２１中に含まれる輝度反転文字部分、すなわち二値画像上で白地に黒ではなく、黒地上に白画素で構成されるような文字（反転文字、白抜き文字）の領域を抽出することは容易でなかった。また、黒白画素数を比較して黒画素が多いと判断すれば画素を反転することにより反転文字を認識できるようにすることも考えられているが、通常文字と反転文字の関連性を得ることは難しく、その両方を含む文書から、その文書の通常文字と反転文字とを統合的に扱ったツリー構造を得ることはできなかった。
【０００６】
【課題を解決するための手段】
上記課題を解決するため、本発明は、入力画像から黒画素塊と白画素塊とを再帰的に抽出し、当該抽出された黒画素塊と白画素塊との位置関係を示すツリー構造データを作成し、前記入力画像を白黒反転させた反転画像から、有意な黒画素塊を抽出し、当該抽出された有意な黒画素塊に関するデータを、前記ツリー構造データの対応する個所に追加することを特徴とする。
【０００７】
【発明の実施の形態】
図１に本実施形態のブロック図を示す。
【０００８】
１０１は紙の文書が光電変換されて生成された画像データを入力する入力部、１０２は入力された画像データに対して二値化や縮小、ノイズ除去などの前処理を行う前処理部、１０３は画像データを文字、線、図、表などの属性毎の領域に分割する領域分割部である。なお、領域分割部１０３は、黒画素塊と白画素塊を抽出して画素塊のツリー構造データ（階層構造データ）を作成する画素塊抽出部１０３１、画素塊のツリー構造データに反転文字情報を追加する反転画素塊抽出部１０３２、画素塊のツリー構造データにおいて属性別に領域を分類する領域決定部１０３３からなる。１０４は画像から得られた領域分割を行った結果の情報（領域のツリー構造データ）を出力する出力部である。
【０００９】
図２に本実施形態を実現する装置構成の概観図を示す。スキャナ装置２０１は、入力部１０１の光電変換動作を実行して画像データを入力する。コンピュータ装置２０２は前処理１０２および領域分割処理１０３を実行し、キーボードやマウスなどの指示手段２０３によって、ユーザーからの動作制御をうける。領域分割処理によって生成されたデータは、コンピュータに内蔵されたハードディスクなどの記憶媒体や、ディスプレイ２０４、プリンタ２０５、ネットワークを介して他の装置などへと出力される。
【００１０】
なお、本実施形態を実行するコンピュータ装置は、実際の処理演算を行うＣＰＵ、プログラムを読み込んでワークエリアとして用いるＲＡＭ、後述するフローチャートに対応する処理を実行するためのプログラムや各種データを格納するための記憶媒体（ハードディスク、ＲＯＭ、リムーバブルディスク（フロッピー（Ｒ）ディスク、ＣＤ−ＲＯＭ等）など）、各種操作を行うためのキーボードやポインティングデバイス、処理対象の文書等を表示するためのディスプレイ、ネットワークと接続するためのネットワークインターフェースなどで構成される。ＣＰＵに実行させるための画像処理プログラムは、前記記憶媒体から供給されるものであってもよいし、ネットワークを介して外部装置から読み込むものであってもよい。なお、本実施形態ではＣＰＵにおいてプログラムを実行することにより実現するものとするが、その一部又は全ての処理をハードウェア（電気回路）で構成するようにしても構わない。
【００１１】
本実施形態で実行される画像処理手順を、図３を用いて説明する。
【００１２】
ステップＳ３０１では、スキャナなどで紙文書を読み取って画像データを生成し、該画像データがコンピュータに入力される。
【００１３】
ステップＳ３０２では、前処理部１０２において、画像データを後段の領域分割処理を実行するのに適した二値画像に変換する。具体的には、入力された画像データがカラーやグレースケールなどの多値画像の場合、適応的に閾値を設定して白黒の２値（なお、本実施形態では黒画素の画素値を１、白画素の画素値を０として扱う）に変換する二値化処理や、また孤立点などを除去するノイズ除去処理をおこなう。さらに、画像の領域分割処理を高速に行うため、入力された画像データのサイズを適正な画像サイズに変更する処理（文書画像の解像度変換）を行うようにしてもよい。例えば、画像解像度を１／２に縮小するなら２×２範囲（１／４の縮小なら４×４範囲）の画素がすべて０の場合は代表画素値０にし、それ以外の場合は画素値を１とするＯＲ縮小によっておこなわれる。
【００１４】
ステップＳ３０３では、領域分割処理１０３における画素塊抽出処理１０３１が実行され、二値画像から黒画素、白画素のかたまりを再帰的に抽出し、ツリー状の構造を作成する。この画素塊抽出処理について、図４のフローチャートを用いて詳細に説明する。
【００１５】
ステップＳ４０１では、画像から黒画素の８連結輪郭塊の抽出を行う。黒画素塊を抽出できた場合はＳ４０２に進み、抽出できなかった場合はＳ４０８へ進む。なお、黒画素の８連結輪郭塊とは、縦横斜めのいずれかで接触した黒画素を検知して黒画素集合の輪郭を追跡することによって抽出した黒画素の集合（領域）のことである。以降、この集合を黒画素塊と呼ぶ。なお、この黒画素塊は、輪郭以外の画素の白黒は問わず、内部に白画素の空洞を有しても構わない。なお、この黒画素の輪郭追跡方法については、公知の方法を用いることが可能であり、以下に、図５を用いてこの黒画素塊抽出処理の概要を簡単に説明する。
【００１６】
ステップＳ５０１では、（白画素値０、黒画素値１で構成される）二値画像を左上から順にラインスキャンし、画素値が１となる点（黒画素）を探す。例えば、図８の８０１の矢印で示したような順番で、ライン順に走査して黒画素を探す。
【００１７】
ステップＳ５０２では、黒画素が見つかったかどうか判断し、黒画素が見つかったときは、当該黒画素を開始点ならびに注目点ＱとしてステップＳ５０３に進んで輪郭抽出の処理を開始する。一方、Ｓ５０２で見つからなかった場合は終了する。例えば、図８では画素８１０が開始点で且つ最初の注目点Ｑとなる。
【００１８】
ステップＳ５０３では、直前の追跡方向ｄ（直前の画素から注目点Ｑに追跡してきた方向）と周辺画素状態とに基づき、図１１の表に記載した順序で周囲の画素の検査を行うことにより、注目点Ｑから次の輪郭画素への追跡方向ｄ’を定める。ここで追跡方向は、図１０に示したように、Ｎ，ＮＥ，Ｅ，ＳＥ，Ｓ，ＳＷ，Ｗ，ＮＷの８方向で表すものとする。また例外処理として、最初の注目点Ｑ（開始点）では、直前の追跡方向ｄはＳＥであったものと定義する。図１１に示した表は、直前の追跡方向ｄに対して注目点Ｑの周囲の画素を検査する順序ｎを示している。例えば、直前の追跡方向ｄがＳＷであった場合は、注目点Ｑから見て、ＮＷ方向の画素から順に反時計回りに周囲の画素を検査していき（ＮＷ方向画素、Ｗ方向画素、ＳＷ方向画素・・・の順に検査）、黒画素が見つかった時点で周囲の画素の検査を終了して、その黒画素が見つかった方向を次の追跡方向ｄ’とする。図１１に示したような順序で検査することにより、次の追跡方向ｄ’を定める際には、直前の追跡方向ｄを定める際に検査した画素の検査を行わないようにしている。
【００１９】
ステップＳ５０４では、注目点Ｑの画素に輪郭画素であることを示すラベル付けをおこなう。ラベルには、“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”の４種類があり、輪郭で囲まれる領域において、画素行の左端のエッジとなる画素にはラベルＡが付与され、右端のエッジとなる画素にはラベルＢが付与され、左右両方のエッジとなっている画素にはラベルＣが付与され、左右のどちらのエッジでもない輪郭画素にはラベルＤが付与されるものとする。このラベル値は、図１１と図１２を用いて、直前の追跡方向ｄと次の追跡方向ｄ’と現在のＱのラベル値から決定される。
【００２０】
ステップＳ５０５では、次の追跡方向ｄ’にある画素を、新たな注目点Ｑとし、追跡方向ｄ’を直前の追跡方向ｄに代入する。
【００２１】
ステップＳ５０６において、新たな注目点Ｑが開始点に等しいかどうか判断し、等しい場合はステップＳ５０７に進み、等しくなければステップＳ５０３へ戻って追跡処理を繰り返す。
【００２２】
ステップＳ５０３〜５０６で実行される処理について、図８の８０１を例にとって示す。まず、開始点８１０を最初の注目点Ｑとし、図１１に記載された順に、方向ＳＷから検査を始める。ここで最初の注目点Ｑ（８１０）からは、次の追跡方向ｄ’＝ＳＷ（ｎ＝１）において黒画素が見つかり、図１２を参照して、注目点Ｑ（画素８１０）にラベル“Ａ”が付与された後、注目点Ｑは左下に移動する。以下同様に繰り返すと図８の８０２のようなラベル付けがされた輪郭が得られる。
【００２３】
ステップＳ５０７では、注目点Ｑ（開始点）に他の分岐が存在するかどうかを調べる。他の分岐が存在するかどうかの判断は直前の追跡方向ｄがＮＥの場合に行われ、直前の追跡方向がＮＥ以外の場合は他の分岐は存在しないと判断する。直前の追跡方向ｄがＮＥの場合、当該注目点Ｑの周囲の画素について、Ｑから見てＳＥ方向の画素、Ｅ方向の画素の順で黒画素が存在するか検査を行い、黒画素が存在した時点で他の分岐が存在すると判断し、その存在した方向ｄ’に注目点Ｑを移動させるとともに追跡方向ｄ’を直前の追跡方向ｄに代入してステップＳ５０３に戻る。一方、他の分岐が存在しない場合はステップＳ５０９に進む。
【００２４】
ステップＳ５０９では、輪郭ラベル付けされた黒画素にかこまれる画素の塊を１個の黒画素塊として記録する。具体的には、図８の８０３のように、各ｙ座標（各画素行）毎に、左エッジラベル“Ａ”と右エッジラベル“Ｂ”の組に挟まれた連続画素、あるいは単独の“Ｃ”画素を１セグメントとし、それらセグメントの集合として画素塊を記録する。なお、図８の８０３では、説明を容易にするために、ｘ座標とｙ座標は黒画素塊に外接する矩形の左上の点を原点にしているが、好適には、ｘ座標とｙ座標はＳ３０２で縮小した画像の左上を原点にして表すものとする。
【００２５】
なお、１つの画素塊を抽出終了後（Ｓ５０９での処理終了後）、該抽出した画素塊にＳ４０２〜Ｓ４０７による属性分類が行なわれた後、Ｓ５０１に戻り、前回の開始点の右隣りの画素からラインスキャンを再開して次の開始点を探索する。ただし、その時点までで得られている黒画素塊の輪郭内部の画素については探索をスキップする、すなわち既出の黒画素塊が持つセグメントと重なる画素を無視して、画素値＝“１”の画素を探す。
【００２６】
図４の説明に戻ると、Ｓ４０１での処理（図５の処理）で抽出された全ての黒画素塊に対して、各黒画素塊の形状と各黒画素塊に外接する外接矩形の形状とを用いて、Ｓ４０２以降の処理において属性を分類する。
【００２７】
ステップＳ４０２では、黒画素塊の外接矩形サイズが、予め予想される最大文字高さおよび幅に対し定められた閾値以下の大きさであった場合、文字要素と判定する。この黒画素塊には“ＣＨＡＲ”という属性を付加する。
【００２８】
ステップＳ４０３では、黒画素塊の外接矩形サイズが、所定の比率以上で縦長あるいは横長であった場合、“ＬＩＮＥ”の属性を与える。
【００２９】
ステップＳ４０４では、黒画素塊中の黒画素のなす輪郭に注目し、その形状が細い斜めの線状であると判定した場合、“ＬＩＮＥ”の属性を与える。
【００３０】
ステップＳ４０５では、“ＣＨＡＲ”、“ＬＩＮＥ”以外の黒画素塊の内部に存在する白画素の４連結輪郭塊を抽出する。白画素の４連結輪郭塊とは、縦横に連結した白画素の輪郭で囲まれる画素集合のことである。以降この集合を白画素塊と呼ぶ。
【００３１】
白画素塊を抽出する方法は、図５で説明した黒画素の輪郭抽出処理において、“０”と“１”を逆転し、且つ、斜め方向の連結は考慮せずに、白画素は縦又は横（Ｎ，Ｅ，Ｓ，Ｗ）の４方向の連結のみを許可して輪郭を抽出する。さもないと白画素の輪郭追跡中に、注目点がベースとなる黒画素塊の外部に出てしまうからである。この制限のため、図５のＳ５０３に相当する処理においては、図１１、１２のテーブルにおいて、追跡方向が斜め方向の判断は行わずに同様の処理を行う。なお、図１１、１２のテーブルの代わりに白画素輪郭追跡用のテーブルを用意しても良く、この場合は追跡方向が４方向しか存在しないので非常に小さなテーブルとなる。
【００３２】
ステップＳ４０６では、黒画素の輪郭形状がほぼ四角形かどうかを調べ、ほぼ四角形ならばステップＳ４０７に進む。四角形でなければ、黒画素塊を“ＮＯＮＣＨＡＲ”と判定する。四角形の黒画素塊および四角形以外の黒画素塊の例を図１３に示す。
【００３３】
ステップＳ４０７では、ほぼ四角形と判断された黒画素塊の内部から抽出される白画素塊の形状全てがほぼ長方形であり、且つそれらが黒画素塊の内部をほぼ隙間なしに占めている場合（白画素塊の外接矩形同士が重なることなく整然と並んでいる場合）、白画素塊の整列が良、とする。そして、内部白画素塊の整列が良い黒画素塊には、“ＴＡＢＬＥ”の属性を与え、一方、整列が悪い黒画素塊は“ＮＯＮＣＨＡＲ”の属性を与える。図１４に、内部白画素塊の整列の例を示す。図１４（ａ）および（ｂ）は内部白画素塊の整列が良いとして“ＴＡＢＬＥ”と分類される黒画素塊の例であり、図１４（ｃ）は内部白画素塊の整列が悪いとして“ＮＯＮＣＨＡＲ”と分類される黒画素塊の例である。
【００３４】
ステップＳ４０８では、“ＮＯＮＣＨＡＲ”あるいは“ＴＡＢＬＥ”と分類された黒画素塊内部にある白画素塊に注目し、さらにその白画素塊内部を対象にして、Ｓ４０１と同様に黒画素塊の抽出処理を行ってＳ４０２〜Ｓ４０７と同様の分類処理をおこなう。
【００３５】
このＳ４０１〜Ｓ４０８の処理によって、画像内の黒画素塊、ならびに黒画素塊中の白画素塊、さらに、“ＴＡＢＬＥ”や“ＮＯＮＣＨＡＲ”内部の白画素塊から再帰的に黒画素塊が抽出される。
【００３６】
図４のような処理を行って得た黒画素塊および白画素塊に対して、各画素塊内部に存在する画素隗を子ノードとして、ツリー構造を作成する。このときツリー構造において、黒画素塊についてはＳ４０２〜Ｓ４０７で分類された属性をつけて表し、白画素塊については“ＷＨＩＴＥ”の属性で表すものとする。例えば、図１５に対して画素塊抽出をおこなうと、図１６のようなツリー構造を持ったデータが得られる。なお、図１６では図を簡略化するため、画素塊の個数などは一部省略してあるが、実際には多数の画素塊によるノードが存在するものとする。図１６のツリーにおいて、“ＷＨＩＴＥ”ノードに相当するのは前記白画素塊であり、また、便宜上、ツリーのルートには画像全体に相当する“ＷＨＩＴＥ”の属性を与えてある。つまり、図１６のようなツリー構造において、“ＷＨＩＴＥ”属性を後景と考え、その他の“ＣＨＡＲ”“ＴＡＢＬＥ”“ＬＩＮＥ”などの属性を前景と考えると、図１６のツリー構造において、親ノードと子ノードは、後景と前景が交互に出現することになる。なお、ツリー構造の各ノードには、画素塊の領域情報（セグメント情報）と属性とが含まれているものとする。
【００３７】
以上説明したように画素塊のツリー構造を得た後、図３のステップＳ３０４において、領域分割部１０３の追加処理として、画素塊ツリー構造中の“ＮＯＮＣＨＡＲ”あるいは“ＴＡＢＬＥ”の属性が付与された黒画素塊に注目し、この黒画素塊内において黒下地上にある反転文字の抽出を目的とする画素塊抽出をおこなう。以下、具体的な処理例について、図６を用いて説明する。
【００３８】
ステップＳ６０１では、注目する黒画素塊（黒画素塊Ａとする）の形状的な特徴から、黒画素塊Ａ内に反転文字が存在する可能性を類推する。ここでは、黒画素密度が著しく低い場合、すなわち線の骨組のようなような黒画素塊については、反転文字を含まないと判断する。なお、黒画素密度とは、黒画素塊の全セグメント（図８の８０３で示されるような黒画素塊の領域）の総画素数をＰとしたとき、｛（黒画素塊の全セグメントにおいて画素値が１の数）／Ｐ｝で求められる値である。このような黒画素密度などの容易に計算できる処理を用いて、反転文字が存在する可能性が著しく低いと判断できる場合は、Ｓ６０２〜Ｓ６０８のような複雑な解析処理をスキップできるので、処理を速く行うことができる。
【００３９】
ステップＳ６０２では、黒画素塊Ａ内部の画素の画素値（０と１）を反転した画像Ｒを作成する。このとき、黒画素塊Ａの輪郭をなす画素については、反転せずに画素値を１のままとする。図１７に画像Ｒ作成の例を示す。
【００４０】
なお、Ｓ３０２において縮小を施した画像を用いてＳ３０３の領域分割処理（画素塊抽出）を行っていた場合、ステップＳ６０２においては、縮小前の元画像から当該注目している黒画素塊の領域に対応する領域を抽出し、該抽出した領域に対して画素値（０と１）の反転を行い（ただし輪郭の画素は反転しない）、その反転が行なわれた抽出領域に対してＯＲ縮小処理を施して得られる画像を、反転画像Ｒとする。このようにしないと、領域分割処理でＯＲ縮小が行なわれた画像においては反転文字部分がつぶれてしまっている可能性が高いためである。このように、縮小前の画像を反転してから縮小するので、反転文字部分がつぶれたり、かすれたりすることを防ぐことができる。
【００４１】
ステップＳ６０３では、反転画像Ｒの内部に対して、Ｓ４０５と同様の処理を行って白画素の４連結輪郭塊（白画素塊集合Ｂ）を抽出する。
【００４２】
ステップＳ６０４では、ステップＳ６０３で抽出された白画素塊集合Ｂの内部から、黒画素塊（黒画素の８連結輪郭塊）を抽出する。抽出された黒画素塊集合をＣとする。
【００４３】
ステップＳ６０５では、反転前の黒画素塊Ａ内部の白画素塊集合を抽出し、その反転前黒画素塊Ａ内部の白画素塊集合のうち、所定以上の大きさを持つ白画素塊については反転文字（白抜き文字）ではないと判断し、ステップＳ６０４で得た黒画素塊集合Ｃと比較して、該所定以上の大きさを持つ白画素塊と座標上で重なる黒画素塊を集合Ｃから取り除く。このように反転前の黒画素塊Ａ内部から白画素塊を抽出して判断するので、反転文字ではなく背景部分であるとして予め容易に判断できる。また、元画像をそのままＯＲ縮小した画像内の黒画素塊Ａ内においては、白画素塊が潰れることはあったとしても、元画像で分離していた白画素塊同士が１つの白画素塊として結合してしまうことはないので、背景と判断される部分を正確に取り出すことができる（一方、元画像を反転してから縮小した画像において黒画素塊を抽出した場合、元画像で分離していた白画素塊同士が結合して黒画素塊となっている可能性があるので、元画像の白画素背景部分と反転文字部分が近いと結合してしまう可能性があり、その場合反転文字も除外されてしまう可能性があるので、Ｓ６０５では反転前の黒画素塊Ａから白画素塊を抽出している）。
【００４４】
ステップＳ６０２〜Ｓ６０５で行なわれる処理の例を図９に示す。元画像９０１に対し、Ｓ３０２でＯＲ縮小された画像からＳ３０３の領域分割処理で抽出された黒画素塊が９１０であった場合、この黒画素塊に対応する領域の元画像を反転・縮小して作成した反転画像が９２０である。黒画素塊９１０の内部にある白画素塊の領域９１２（反転画像９２０上では白画素塊９２１内部の黒画素塊９２２となって抽出される）は、明らかに反転文字でないと判断される場合（例えば、予め定めておいた所定サイズより大きいとき反転文字ではないと判断される）、この黒画素塊９２２は白画素塊９１２と位置的に重なるので除外される処理が行われる。この結果、反転文字部分に相当する黒画素塊集合９２３は残る。
【００４５】
ステップＳ６０６では、集合Ｃ中の黒画素塊をＳ４０２と同等の判定規準（所定の閾値以下かどうか）で“ＣＨＡＲ”とそれ以外に分類する。
【００４６】
ステップＳ６０７では、“ＣＨＡＲ”黒画素塊を大きさが微少なものとそうでないものに分ける。個数をそれぞれＮ，Ｍとする。
【００４７】
ステップでは、Ｎをノイズに由来する画素塊の個数とみなし、それ以外の画素塊個数Ｍとの比較によって、画素塊が文字集合であるか否かを判断する。ここでは、Ｍ＝０またはＮ／Ｍが所定の比率Ｔ以上の場合、画素塊は文字でないとしてＳ６１０に進む。それ以外の場合はＳ６０９にすすむ。
【００４８】
ステップＳ６０９では、“ＣＨＡＲ”黒画素塊を反転文字の画素塊として、白画素塊を親ノードとするツリー構造を作成し、元の黒画素塊Ａの直下に追加するよう画素塊ツリーを更新する。なお、親ノードとした白画素塊は、白画素塊Ｂをそのまま使ってもよいし、反転文字の画素塊に外接するような範囲を白画素塊として定義してもよい。
【００４９】
このように白画素塊を親ノードとすることにより、親ノードと子ノードの関係において後景と前景が交互に出現するというツリー構造の特性を保ったまま、反転文字をツリー構造の前景として追加することができる。
【００５０】
図１５の例において、１５０１，１５０２，１５０３の３つの黒画素塊を対象に反転文字抽出判断処理をおこなって、ノイズ比などから判断して１５０１と１５０３から反転文字の画素塊が抽出された場合、図１６のツリーは図１８のように更新される。このとき挿入される仮想的な白画素塊は、反転文字の下地であるという情報が含まれている以外は通常の“ＷＨＩＴＥ”と同等に扱われる。本実施形態では、“ＷＨＩＴＥ（Ｒ）”と書くことにする。
【００５１】
図３に戻り、ステップＳ３０５では、領域決定部１０３３が、画素塊のツリー構造およびその分類結果を利用し、画像を文字／画像／表／線など矩形状の領域へと分割する。なお、ステップＳ３０３で抽出された画素塊とステップＳ３０４で追加された画素塊は、ツリー構造の特性を保っているので、区別なく同様の処理で分割することができる。この画素塊の分類、領域化の処理を、図７を用いて説明する。
【００５２】
ステップＳ７０１では、“ＣＨＡＲ”と分類された画素塊に注目し、縦あるいは横に一定距離内にあるものをグループ化していく。このグループを囲む矩形を各々文字領域とする。さらに、文字領域内で文字列が横方向であるか縦方向であるかを調べる。たとえば、領域内の各画素塊から左右の最近傍の画素塊への水平距離、および上下最近傍の画素塊への垂直距離を求め、それらの平均値が小さいほうが文字列の方向とすればよい。
【００５３】
ステップＳ７０２では、“ＮＯＮＣＨＡＲ”画素塊のうち、同程度の大きさで縦または横に連なっている集合を検出し、これをグループ化してタイトル文字領域とする。
【００５４】
ステップＳ７０３では、“ＮＯＮＣＨＡＲ”画素塊のうち、輪郭内の黒画素と白画素の比が小さい、すなわち黒画素密度の低いものを抽出し、これを線画領域とする。
【００５５】
ステップＳ７０４では、“ＮＯＮＣＨＡＲ”画素塊のうち、黒密度が高く大きな画素塊、あるいはある領域に群をなしている画素塊をグループ化したものをハーフトーン領域とする。ハーフトーン領域とは、写真など中間調の領域である。ハーフトーン領域に“ＣＨＡＲ”や“ＬＩＮＥ”の画素塊が含まれる場合は、各々の元の領域を破棄してハーフトーン領域に統合する。
【００５６】
ステップＳ７０５では、“ＬＩＮＥ”画素塊を囲む矩形を、線領域とする。
【００５７】
ステップＳ７０６では、“ＴＡＢＬＥ”領域を含む矩形を、表領域とする。
【００５８】
以上の処理を、すべての黒画素塊に対しておこなう。ただしグループ化の対象は１つの“ＷＨＩＴＥ”画素塊の内部に存在する黒画素塊集合ごととする。
【００５９】
例えば、図２１の画像から図１８のような画素塊のツリー構造が得られたとすると、更にＳ７０１〜Ｓ７０６の処理を行って、図１９のような属性毎の領域が決定される。このとき、画素塊ツリーの構成を元にして、領域間には図２０の領域ツリー構造が作成される。この領域分割処理の出力結果においては、各領域の座標情報とともに、自分の親となる領域と、子供が存在すればそれらの領域へのリンク情報を保持する。
【００６０】
なお、図１９において、斜線塗りのテキスト領域は、反転文字として抽出されたテキスト領域である。これは出力結果からも図２０のツリー構造において、ＷＨＩＴＥ（Ｒ）の下にあるテキストであることから判別できる。しかしながら、Ｓ７０１〜Ｓ７０６の処理は反転領域を区別することなく行われるので、判定アルゴリズムなどは非反転領域・反転領域のどちらにも共通にすることができる。
【００６１】
【発明の効果】
以上説明したように、反転文字（白抜き文字）も、通常の文字と同じ階層ツリー構造で管理することができる。
【００６２】
また、紙をスキャンして得た画像を、文字や図、写真、表など異なる性質の部分要素に分割する領域分割処理を行う際に、白地に黒の文字領域と同様の領域抽出手法を利用して、黒地に白の文字領域も抽出することができる。
【図面の簡単な説明】
【図１】第１の実施形態の構成を示すブロック図である
【図２】第１の実施形態を実現する装置構成例の図である
【図３】第１の実施形態の領域分割処理を説明するためのフローチャートである
【図４】画素塊抽出処理を説明するためのフローチャートである
【図５】黒画素の輪郭追跡処理を説明するためのフローチャートである
【図６】反転文字抽出処理を説明するためのフローチャートである
【図７】領域分類処理を説明するためのフローチャートである
【図８】輪郭追跡による画素塊抽出処理の例である
【図９】反転文字抽出処理の例である
【図１０】８つの追跡方向を示す図である
【図１１】追跡方向を決定するための表である
【図１２】注目画素に対し付与するラベルを得るための表である
【図１３】四角形の黒画素塊とそれ以外の黒画素塊の例を示す図である
【図１４】黒画素塊内部の白画素塊の整列状態例を示す図である
【図１５】領域分割処理の入力となる二値画像の例である
【図１６】画素塊のツリー構造の例を示す図である
【図１７】反転文字抽出の為に作成される画像の例である
【図１８】反転文字を付与した画素塊のツリー構造の例を示す図である
【図１９】反転文字部を含む領域分割処理結果の例である
【図２０】反転文字部を含む領域のツリー構造の例である
【図２１】領域分割をおこなう文書原稿の例である
【図２２】従来の領域分割結果の例である
【図２３】従来の領域ツリー構造の例である
【図１】
2004126648.tif 000003
【図２】
2004126648.tif 000004
【図３】
2004126648.tif 000005
【図４】
2004126648.tif 000006
【図５】
2004126648.tif 000007
【図６】
2004126648.tif 000008
【図７】
2004126648.tif 000009
【図８】
2004126648.tif 000010
【図９】
2004126648.tif 000011
【図１０】
2004126648.tif 000012
【図１１】
2004126648.tif 000013
【図１２】
2004126648.tif 000014
【図１３】
2004126648.tif 000015
【図１４】
2004126648.tif 000016
【図１５】
2004126648.tif 000017
【図１６】
2004126648.tif 000018
【図１７】
2004126648.tif 000019
【図１８】
2004126648.tif 000020
【図１９】
2004126648.tif 000021
【図２０】
2004126648.tif 000022
【図２１】
2004126648.tif 000023
【図２２】
2004126648.tif 000024
【図２３】
2004126648.tif 000025