(57)【要約】【課題】  多色表現された文字画像に対応した処理を行うことのできる画像処理装置を提供する。【解決手段】  処理対象となった画像データの少なくとも一部から文字と判断される画素塊を少なくとも一つ含む文字領域を画定し、各文字領域に含まれる、前記文字と判断される画素塊の色数を文字色数として判定し、各文字領域の背景部分となる画素の色数を背景色数として判定し、判定によって得られた文字色数と背景色数との情報が、所定の画像処理に供される画像処理装置である。【選択図】        図１
2006092050.tif 000002
【特許請求の範囲】
【請求項１】
処理対象となった画像データの少なくとも一部から文字と判断される画素塊を少なくとも一つ含む領域を画定する手段と、
各領域に含まれる、前記文字と判断される画素塊の色数を文字色数として判定する文字色数判定手段と、
各領域の背景部分となる画素の色数を背景色数として判定する背景色数判定手段と、
を含み、
前記判定によって得られた文字色数と背景色数との情報が、所定の画像処理に供されることを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記所定処理として、前記判定された文字色数が所定Ｎ色以下である場合は、前記画素塊を表すマスク画像と当該画素塊に含まれる色に基づいて定められた代表色情報とを出力し、
前記判定された文字色数が前記所定Ｎ色を超えており、かつ前記背景色数が所定Ｍ色以下である場合は、前記画素塊を表すマスク画像を反転して、背景部分を表すマスク画像を生成し、当該背景部分を表すマスク画像と、背景に含まれる色に基づいて定められた代表色情報とを出力する
ことを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記判定された文字色数が前記所定Ｎ色を超えており、かつ前記背景色数が所定Ｍ色以下である場合は、前記画素塊を表すマスク画像の有意画素を膨張する処理を行い、当該膨張処理後の当該マスク画像を反転して背景部分を表すマスク画像を生成し、当該背景部分を表すマスク画像と、背景に含まれる色に基づいて定められた代表色情報とを出力することを特徴とする画像処理装置。
【請求項４】
処理対象となった画像データの少なくとも一部から文字と判断される画素塊を少なくとも一つ含む領域を画定する工程と、
各領域に含まれる、前記文字と判断される画素塊の色数を文字色数として判定する工程と、
各領域の背景部分となる画素の色数を背景色数として判定する工程と、
を含み、
前記判定によって得られた文字色数と背景色数との情報が、所定の画像処理に供されることを特徴とする画像処理方法。
【請求項５】
コンピュータに、
処理対象となった画像データの少なくとも一部から文字と判断される画素塊を少なくとも一つ含む領域を画定する手順と、
各領域に含まれる、前記文字と判断される画素塊の色数を文字色数として判定する手順と、
各領域の背景部分となる画素の色数を背景色数として判定する手順と、
を実行させ、
前記判定によって得られた文字色数と背景色数との情報が、所定の画像処理に供されることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データから文字部分と絵柄部分とを分離して所定処理を行う画像処理装置に関する。
【背景技術】
【０００２】
ラスタ画像のデータ（以下、区別するべき場合を除いて単に「画像データ」と呼ぶ）には、文字（テキスト）部分や、自然画の部分（絵柄部分）など、互いに性状の異なる多くの画像要素が含まれ得る。こうした画像要素は、その性状の相違から、例えば圧縮処理において異なる方式での圧縮が適していたりするなど、画像要素ごとに異なる画像処理を行うことが好ましい場合が多い。
【０００３】
そこで従来から、いわゆるＴ／Ｉ分離と呼ばれる画像処理が研究・開発されている。従来、Ｔ／Ｉ分離の方法としては、例えば処理対象画像を二値化し、黒画素の連続する領域を画定し、当該画定した領域のサイズが予め定めたしきい値を下回る場合に当該領域に含まれる黒画素が文字を表すものと判定する方法等がある（特許文献１）。
【０００４】
また、こうして文字部分として判定された領域については、当該領域に含まれる画素値に基づいてそれらの画素の代表的な色を決定し、各文字を構成する画素の値を当該代表的な色の値に設定することで圧縮率をさらに高めているものがある（特許文献２）。
【特許文献１】特開２００３−８９０９号公報（段落番号００２６を参照）
【特許文献２】特開２００２−１６５１０５号公報
【特許文献３】特開２００２−１７５５３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、文字部分として判定される領域全体について、一つの色を決定する上記方法では、例えば文字画像にグラデーション処理が施され、文字が多色で表現されている場合には、当該表現が失われることになる。
【０００６】
一方で、文字が多色で表現されている場合に当該文字部分を分離しない場合は、圧縮率が低下するなど、Ｔ／Ｉ分離処理の効果が十分に発揮されない。
【０００７】
本発明は上記実情に鑑みて為されたもので、多色表現された文字画像に対応した処理を行うことのできる画像処理装置を提供することをその目的の一つとする。
【課題を解決するための手段】
【０００８】
上記従来例の問題点を解決するための本発明は、画像処理装置であって、処理対象となった画像データの少なくとも一部から文字と判断される画素塊を少なくとも一つ含む領域を画定する手段と、各領域に含まれる、前記文字と判断される画素塊の色数を文字色数として判定する文字色数判定手段と、各領域の背景部分となる画素の色数を背景色数として判定する背景色数判定手段と、を含み、前記判定によって得られた文字色数と背景色数との情報が、所定の画像処理に供されることを特徴としている。
【０００９】
またここで、前記所定処理として、前記判定された文字色数が所定Ｎ色以下である場合は、前記画素塊を表すマスク画像と当該画素塊に含まれる色に基づいて定められた代表色情報とを出力し、前記判定された文字色数が前記所定Ｎ色を超えており、かつ前記背景色数が所定Ｍ色以下である場合は、前記画素塊を表すマスク画像を反転して、背景部分を表すマスク画像を生成し、当該背景部分を表すマスク画像と、背景に含まれる色に基づいて定められた代表色情報とを出力することとしてもよい。
【００１０】
さらに、前記判定された文字色数が前記所定Ｎ色を超えており、かつ前記背景色数が所定Ｍ色以下である場合は、前記画素塊を表すマスク画像の有意画素を膨張する処理を行い、当該膨張処理後の当該マスク画像を反転して背景部分を表すマスク画像を生成し、当該背景部分を表すマスク画像と、背景に含まれる色に基づいて定められた代表色情報とを出力することとしてもよい。
【００１１】
また、本発明の一態様に係る画像処理方法は、処理対象となった画像データの少なくとも一部から文字と判断される画素塊を少なくとも一つ含む領域を画定する工程と、各領域に含まれる、前記文字と判断される画素塊の色数を文字色数として判定する工程と、各領域の背景部分となる画素の色数を背景色数として判定する工程と、を含み、前記判定によって得られた文字色数と背景色数との情報が、所定の画像処理に供されることを特徴としている。
【００１２】
さらに本発明の別の態様に係るプログラムは、コンピュータに、処理対象となった画像データの少なくとも一部から文字と判断される画素塊を少なくとも一つ含む領域を画定する手順と、各領域に含まれる、前記文字と判断される画素塊の色数を文字色数として判定する手順と、各領域の背景部分となる画素の色数を背景色数として判定する手順と、を実行させ、前記判定によって得られた文字色数と背景色数との情報が、所定の画像処理に供されることを特徴としている。
【発明を実施するための最良の形態】
【００１３】
本発明の実施の形態に係る画像処理装置は、図１に示すように、制御部１１と記憶部１２と画像入力部１３と画像出力部１４とを含んで構成されている。制御部１１は、記憶部１２に格納されているプログラムに従って動作しており、後に説明する各画像処理を遂行する。この画像処理の内容については、後に詳しく述べる。
【００１４】
記憶部１２は、制御部１１によって実行されるプログラムを保持している。またこの記憶部１２は、制御部１１の処理の過程で生成される各種データ等を格納するワークメモリとしても動作する。具体的にこの記憶部１２は、コンピュータ可読な記録媒体と当該記録媒体に対してデータを書き込み、又は当該記録媒体からデータを読み出す装置（例えばハードディスク装置やメモリ装置）として実装できる。
【００１５】
画像入力部１３は、例えばスキャナであり、原稿を光学的に読み取って得られた画像データを制御部１１に出力する。ここではこの画像入力部１３が出力する画像データにおいて、各画素の値がＲＧＢ（赤、緑、青）の色空間で表現されているとする。画像出力部１４は、制御部１１から入力される指示に従って画像データを出力するもので、例えば画像形成部（プリンタ等）に出力し、又はネットワークを介して外部の装置に送信する等の処理を行うものである。
【００１６】
次に制御部１１の処理の内容について説明する。本実施の形態の制御部１１は、図２に機能的に示すように、画像入力部１３から入力される画像データを処理対象として、この処理対象となった画像データに対して、所定前処理を行う前処理部２１と、文字画像部分を抽出する文字抽出部２２と、色数判定部２３と、代表色決定部２４と、マスク画像生成部２５と、後処理部２６と、フォーマット部２７とを含んで構成されている。
【００１７】
以下、これら各部について具体的に説明する。前処理部２１では、画像入力部１３から入力される画像データ（処理対象画像データ）の各画素の値をＲＧＢからＹＣｂＣｒ（輝度と色差とからなる値）に変換する。具体的には、次の（１）式を用いて変換を行うことができる。なお、ここではＲＧＢの各成分の値は0x00（「0x」は１６進数であることを示す）から0xFFまでの値であるとしている。また、この前処理部２１では、下地領域の輝度・彩度に基づいて各画素値を階調補正してもよい。尤も、この階調補正の処理は、必ずしも必要なものではない。
【００１８】
【数１】
2006092050.tif 000003
【００１９】
文字抽出部２２は、前処理部２１が出力する画像データから文字と判断される画素塊を含む領域を特定する。具体的に本実施の形態では、この文字抽出部２２は、レイアウト解析の処理により文字部分を特定する。
【００２０】
ここでレイアウト解析処理の処理内容について説明する。文字抽出部２２は図３に機能的に示すように、二値化処理部４１と、連結画素抽出部４２と、基本矩形画定部４３と、第１セパレータ検出部４４と、行矩形画定部４５と、第２セパレータ検出部４６と、文字領域画定部４７と、ノイズ判定部４８と、文字部分特定部４９とを含んで構成される。
【００２１】
二値化処理部４１は、前処理部２１が出力するＹＣｂＣｒ色空間で表現された画像データ（元の画像データ）のうち、絵柄候補領域画定情報で画定される領域内の部分的な画像データ（絵柄候補部分データ）を処理対象として、この処理対象となった絵柄候補部分データを二値化して、二値化絵柄候補部分データを生成する。
【００２２】
連結画素抽出部４２は、二値化絵柄候補部分データに対してラベリング処理を行い、所定の条件（例えば黒画素である等の条件）を満足する画素値の画素が連続する部分からなる複数の画素群（連結画素群）を特定する。
【００２３】
基本矩形画定部４３は、連結画素抽出部４２が特定した連結画素群に関する矩形（例えば連結画素群に外接する矩形）を基本矩形として画定し、各連結画素群についての基本矩形の座標情報（当該矩形を画定するための座標情報）を生成する。そして、各基本矩形ごとに固有の識別子を発行し、当該識別子と基本矩形の座標情報とを関連づけて基本矩形データベースとして記憶部１２に格納する。
【００２４】
第１セパレータ検出部４４は、処理対象となっている絵柄候補部分データの左上端の画素を初期位置として、各画素を左から右へと１ライン走査し、ついで一つ下のラインについて同様に走査する順（すなわちラスタスキャン順）で、各画素を走査する。そして上記ラベリング処理における所定の条件を満足しない画素値の画素（例えば白画素）が、予め定めた水平方向閾値より多く連続している場合に、当該連続画素部分を（水平方向の）第１セパレータとして検出する。第１セパレータ検出部４４は、ここで検出された第１セパレータを特定する情報（連続画素部分の左端画素の座標と右端画素の座標など、ここで座標は、元の画像データ上の座標であってもよいし、絵柄候補部分データ上のローカルな座標であってもよい）を生成して記憶部１２に格納する。
【００２５】
また、この第１セパレータ検出部４４は、処理対象となっている絵柄候補部分データの左上端の画素を初期位置として、各画素をラスタスキャン順に走査していき、上記ラベリング処理における所定の条件を満足しない画素値の画素（例えば白画素）が、予め定めた垂直方向閾値より多く連続している場合に、当該連続画素部分を（垂直方向の）第１セパレータとして検出する。そして当該第１セパレータを特定する情報（連続画素部分の上端画素の座標と下端画素の座標など、ここで座標は、元の画像データ上の座標であってもよいし、絵柄候補部分データ上のローカルな座標であってもよい）を生成して記憶部１２に格納する。
【００２６】
これらの処理において、水平方向閾値や垂直方向閾値は、ユーザが任意に定め得る。水平方向閾値は多段組のレイアウトにおいて各段を分かつための閾値であり、垂直方向閾値は２行以上の文字列を含む文書から、各行を分かつための閾値である。またユーザの設定によるだけでなく、水平方向閾値は基本矩形の幅の統計値（平均）などに基づく所定関数値として、また垂直方向閾値は基本矩形の高さの統計値（平均）などに基づく所定関数値としてそれぞれ定めてもよい。
【００２７】
具体的に第１セパレータは、図４（ａ）に示すような状態で検出されることになる。なお、図４（ａ）では各第１セパレータが相互に隣接して検出された結果として、一つの第１セパレータ領域（斜線部分）のように示されている。
【００２８】
行矩形画定部４５は、記憶部１２に格納されている基本矩形の一つを注目基本矩形として選択する。そして、記憶部１２に格納されている基本矩形であって、いままでに注目基本矩形として選択されていない基本矩形を処理対象基本矩形として順次選択しながら、次の処理を行う。
【００２９】
まず行矩形画定部４５は、注目基本矩形の中心座標（座標情報が対角位置にある各頂点の座標を表している場合、その中点座標）から、処理対象基本矩形の中心座標へのベクトルを算出する。さらに行矩形画定部４５は、ベクトルの大きさ（各成分の二乗和の平方根）から注目基本矩形と処理対象基本矩形との距離を算出する。そして、この算出した距離が予め定めた距離閾値以下となっている場合は、上記算出したベクトルが、検出された第１セパレータのいずれかと交差するか否かを調べる。この処理は２つの線分が交差するか否かを調べる処理として広く知られたものを用いることができる。ここで、上記算出したベクトルが、検出された第１セパレータのいずれとも交差しない場合、注目基本矩形の識別子に、当該処理対象基本矩形の識別子を関連づけて基本矩形関係データベースとして記憶部１２に格納する。
【００３０】
行矩形画定部４５は記憶部１２に格納されている基本矩形について順次注目基本矩形として選択しながら上記処理を行う。そしてこの処理の結果として得られた基本矩形関係データベースを参照しながら連鎖的に互いに関連する一連の基本矩形群（複数あってもよい）を特定し、特定された基本矩形群に含まれる基本矩形に外接する矩形を行矩形として画定する（例えば図４（ｂ））。
【００３１】
例えば基本矩形関係データベース内において、識別子が「１」の基本矩形と識別子が「２」の基本矩形とが関連づけられ、また識別子が「２」の基本矩形と識別子が「３」の基本矩形とが関連づけられている場合、行矩形画定部４５は、これらの結果を統合して識別子「１」と「２」と「３」との各基本矩形を一連の基本矩形群として特定する。そして基本矩形群に含まれる基本矩形のうち、その座標情報のｘ（水平方向）の値の最大値と最小値とを抽出し、同じようにｙ（垂直方向）の値の最大値と最小値とを抽出する。そして、抽出されたｘの最小値とｙの最小値とを組とした第一座標と、ｘの最大値とｙの最大値とを組とした第二座標とを、それぞれ左上座標，右下座標とする行矩形を画定する。つまり、行矩形は、この２つの座標値を含む座標情報によって画定される。
【００３２】
行矩形画定部４５は、こうして画定した各行矩形についてそれぞれ固有の識別子を発行し、各識別子とその行矩形の座標情報と当該行矩形に含まれる基本矩形群を特定する情報（各基本矩形の識別子のリストなど）とを関連づけて行矩形データベースとして記憶部１２に格納する。
【００３３】
第２セパレータ検出部４６は、処理対象となっている絵柄候補部分データの左上端の画素を初期位置として、ラスタスキャン順に、各画素を走査する。そして連結画素抽出部４２でのラベリング処理における所定の条件を満足する画素値の画素（例えば黒画素）が、予め定めた水平方向閾値より多く連続している場合に、当該連続画素部分を（水平方向の）第２セパレータとして検出し、当該第２セパレータを特定する情報（連続画素部分の左端画素の座標と右端画素の座標など、ここで座標は、元の画像データ上の座標であってもよいし、絵柄候補部分データ上のローカルな座標であってもよい）を生成して記憶部１２に格納する。
【００３４】
また、この第２セパレータ検出部４６は、処理対象となっている絵柄候補部分データの左上端の画素を初期位置として、各画素をラスタスキャン順に走査していき、連結画素抽出部４２でのラベリング処理における所定の条件を満足する画素値の画素（例えば黒画素）が、予め定めた垂直方向閾値より多く連続している場合に、当該連続画素部分を（垂直方向の）第２セパレータとして検出し、当該第２セパレータを特定する情報（連続画素部分の上端画素の座標と下端画素の座標など、ここで座標は、元の画像データ上の座標であってもよいし、絵柄候補部分データ上のローカルな座標であってもよい）を生成して記憶部１２に格納する。
【００３５】
これらの処理において、水平方向閾値や垂直方向閾値は、ユーザが任意に定め得る。水平方向閾値は多段組のレイアウトにおいて各段を分かつための閾値であり、垂直方向閾値は２行以上の文字列を含む文書から、各行を分かつための閾値である。またユーザの設定によるだけでなく、水平方向閾値は基本矩形の幅の統計値（平均）などに基づく所定関数値として、また垂直方向閾値は基本矩形の高さの統計値（平均）などに基づく所定関数値としてそれぞれ定めてもよい。
【００３６】
文字領域画定部４７は、行矩形画定部４５が画定した行矩形の一つを注目行矩形として選択する。そして文字領域画定部４７は、記憶部１２に格納されている行矩形であって、いままでに注目行矩形として選択されていない行矩形を処理対象行矩形として順次選択しながら、次の処理を行う。
【００３７】
すなわち、注目行矩形の各頂点の座標と処理対象行矩形の対応する頂点の座標とを結ぶ線分、及び注目行矩形と処理対象行矩形の各辺とによって画定される多角形領域を生成し、この多角形領域と第２セパレータ（の領域）とが交差（領域同士が少なくとも一部で重なり合う）するか否かを調べる。この処理は２つの領域が交差するか否かを調べる処理として広く知られたものを用いることができる。
【００３８】
ここで多角形領域と第２セパレータとが交差していない場合、注目行矩形の識別子と処理対象行矩形の識別子とを関連づけて行矩形関係データベースとして記憶部１２に格納する。
【００３９】
文字領域画定部４７は記憶部１２に格納されている行矩形について順次注目行矩形として選択しながら上記処理を行う。そしてこの処理の結果として得られた行矩形関係データベースを参照しながら連鎖的に互いに関連する一連の行矩形群（複数あってもよい）を特定し、特定された行矩形群に含まれる行矩形に外接する矩形を文字領域として画定する。
【００４０】
例えば行矩形関係データベース内において、識別子が「１」の行矩形と識別子が「２」の行矩形とが関連づけられ、また識別子が「２」の行矩形と識別子が「３」の行矩形とが関連づけられている場合、行矩形画定部４５は、これらの結果を統合して識別子「１」と「２」と「３」との各行矩形を一連の行矩形群として特定する。そして行矩形群に含まれる行矩形のうち、その座標情報のｘ（水平方向）の値の最大値と最小値とを抽出し、同じようにｙ（垂直方向）の値の最大値と最小値とを抽出する。そして、抽出されたｘの最小値とｙの最小値とを組とした第一座標と、ｘの最大値とｙの最大値とを組とした第二座標とを、それぞれ左上座標，右下座標とする文字領域の矩形を画定する。つまり、文字領域は、この２つの座標値を含む座標情報によって画定される。
【００４１】
文字領域画定部４７は、こうして画定した文字領域についてそれぞれ固有の識別子を発行し、各識別子とその文字領域の座標情報と当該文字領域に含まれる行矩形群を特定する情報（各行矩形の識別子のリストなど）とを関連づけて文字領域データベースとして記憶部１２に格納する。
【００４２】
ノイズ判定部４８は、文字領域画定部４７によって画定された文字領域のそれぞれについて文字が含まれているか否かを確認する、ノイズ判定処理を行う。ここでノイズ判定処理は、行矩形の数、又は各行矩形の性状を表す情報に基づいて、各行矩形に文字が含まれているか否かを判断する第１ノイズ判定処理と、行矩形に関係する基本矩形に関する情報に基づいて、当該行矩形に文字が含まれているか否かを判断する第２ノイズ処理とを含む。
【００４３】
具体的にノイズ判定部４８の処理は、図５に示すような処理として行われる。まずノイズ判定部４８は記憶部１２に格納された文字領域のうち、未だ注目文字領域として選択されていないものを注目文字領域として選択する（Ｓ１１）。そして注目文字領域に含まれる行矩形の数を調べ、これが２以上か（すなわち、当該文字領域が複数行からなるか）否かを判断する（Ｓ１２）。ここで、行矩形の数が２以上であれば（Ｙｅｓならば）、注目文字領域に含まれる各行矩形の幅と高さ、並びにそれらの平均や標準偏差など、ばらつきを検定するための統計量を演算する（Ｓ１３）。そして、これらの統計量に基づいて各行矩形の幅や高さのばらつきが所定のしきい値より大きいか否かを比較する（Ｓ１４）。この比較は例えば標準偏差が、予め定めたしきい値を超えるか否かの比較とすることができる。そしてこの処理Ｓ１４によって、ばらつきが大きいと判断される場合（Ｙｅｓの場合）、注目文字領域には文字は含まれないと判断して、記憶部１２の文字領域データベースから、注目文字領域を削除して（Ｓ１５）、処理Ｓ１８に移行する。これら処理Ｓ１２からＳ１５の処理が、第１ノイズ判定処理に相当する。すなわちここでは行矩形の性状を表す情報として各行矩形の幅や高さ、並びにそれらの統計量が用いられている。
【００４４】
一方、処理Ｓ１４において、ばらつきが小さいと判断される場合（Ｎｏの場合）には、注目文字領域に含まれる各行矩形に対して行内判定処理（第２ノイズ判定処理）を行う（Ｓ１６）。この処理Ｓ１６の具体的内容については後述する。そしてこの処理Ｓ１６においてノイズ（文字が含まれていない）と判定された行の数と注目文字領域に含まれる行矩形の数との比に基づいて、ノイズと判定された行の数が、注目文字領域に含まれる行矩形の数に比して所定比率以上となっているか否かを判断し（Ｓ１７）、所定比率以上であるときに、注目文字領域には文字は含まれないと判断して、処理Ｓ１５に移行する。
【００４５】
また、処理Ｓ１７において、所定比率未満である場合は、未だ注目文字領域となっていない文字領域が記憶部１２の文字領域データベースにあるか否かを調べ（Ｓ１８）、未選択の文字領域があれば、処理Ｓ１１に戻って処理を続ける。さらに処理Ｓ１８において、未選択の文字領域がないならば（すべての文字領域について処理を行ったならば）、ノイズ判定の処理を終了する。
【００４６】
さらに処理Ｓ１２において行矩形の数が１つであれば（Ｎｏならば）、処理Ｓ１６に移行して処理を続ける。この場合、当該単一の行矩形について文字が含まれているか否かを判断し、文字が含まれていれば（この場合は処理Ｓ１７の比率は「０」となる）、注目文字領域には文字が含まれると判断され、当該単一の行矩形内に文字が含まれていないならば（この場合は処理Ｓ１７の比率は「１」となる）、注目文字領域には文字が含まれないと判断される。
【００４７】
ここで、処理Ｓ１６における具体的処理（第２ノイズ判定処理）の内容について説明する。この処理ではノイズ判定部４８は、図６に示すように、処理の対象となった各行矩形の一つを注目行矩形として選択し（Ｓ２１）、記憶部１２に格納されている行矩形データベースを参照して、当該注目行矩形に含まれる基本矩形の数をカウントする（Ｓ２２）。そしてカウントの結果、基本矩形の数が「１」である場合と、「２」である場合と、「３」以上である場合とに分岐して（Ｓ２３）、基本矩形の数が「１」である場合は、注目行矩形に含まれる基本矩形の識別子のリストを取得し、このリストに含まれる基本矩形の座標情報を記憶部１２の基本矩形データベースから読出して、このリストに含まれる基本矩形の幅及び高さとその積（つまり面積）を演算する。そしてこの面積が予め定められた面積しきい値以下であるか否かを判断し（Ｓ２５）、面積しきい値以下である場合は、注目行矩形には文字が含まれないと判断して、当該結果を記憶部１２に格納する（Ｓ２６）。そして未だ注目行矩形として選択されていない行矩形があるか否かを調べ（Ｓ２７）、未選択の行矩形があれば、当該未選択の行矩形の一つを注目行矩形として選択するべく処理Ｓ２１に戻って処理を続ける。一方、処理Ｓ２７において未選択の行矩形がなければ、処理を終了して図５の処理に戻る。
【００４８】
さらに処理Ｓ２２におけるカウント値が「２」である場合、各基本矩形の面積を演算し、また、これらの基本矩形間の距離を演算する。基本矩形間の距離は、例えば基本矩形の中心同士の距離として演算できる。そして、距離が予め定めた距離しきい値より大きいか、または２つの基本矩形の面積の比が予め定めた面積比しきい値より大きいかを判断し（Ｓ３１）、距離が予め定めた距離しきい値より大きいか、または２つの基本矩形の面積の比が予め定めた面積比しきい値より大きい場合は、処理Ｓ２６に移行して（Ｘ）処理を続ける。
【００４９】
さらに、処理Ｓ２２におけるカウント値が「３」以上である場合には、カウント値（基本矩形の数）が所定最大数を超えているか否かを判断し（Ｓ３２）、この所定最大数を超える場合は、注目行矩形には文字が含まれないと判断して処理Ｓ２６に移行する（Ｘ）。これは、一行内に例えば１００字を超える文字を含めることは通常あり得ないことなどに配慮したものであり、固定値として定めておいてもよいし、注目行矩形の幅に基づいて調整してもよい。また処理Ｓ３２において基本矩形の数が所定最大数を超えていない場合は、さらに各基本矩形の面積を演算して、演算された面積の最大値が、所定最大面積値を超えているか否かを判断する（Ｓ３４）。ここで所定最大面積値を超えていると判断される場合は、注目行矩形には文字が含まれないと判断して処理Ｓ２６に移行する（Ｘ）。この最大面積値も、固定値として定めてもよいし、注目行矩形の幅や高さの少なくとも一方（例えばそれらのうち小さい方）に基づいて調整してもよい。
【００５０】
さらに処理Ｓ３４において所定最大面積値を超えていないと判断される場合、さらに２つの基本矩形の組み合せ（任意に取り出された少なくとも一つの組み合せ）について、各組み合せに係る２つの基本矩形の面積比が予め定めた面積比しきい値より大きいかを判断し（Ｓ３５）、２つの基本矩形の面積の比が予め定めた面積比しきい値より大きい場合は、処理Ｓ２６に移行して処理を続ける（Ｘ）。
【００５１】
この処理Ｓ３５において２つの基本矩形の面積の比が予め定めた面積比しきい値より大きくない場合は、注目行矩形内に文字が含まれると判断して、その判断結果を記憶部１２に格納し、処理Ｓ２７に移行する。
【００５２】
なお、処理Ｓ２５において、面積が面積しきい値を超える場合、並びに、処理Ｓ３１において、距離が予め定めた距離しきい値以下であり、かつ２つの基本矩形の面積の比が予め定めた面積比しきい値以下である場合には、処理Ｓ３２（または処理Ｓ３４）以下に移行して処理を続けることとする。
【００５３】
また、処理Ｓ３５においては各組み合せについて処理を行っているが、処理負荷を軽減するためには、例えば各基本矩形の面積の平均値（平均面積）や、最小値（最小面積）・最大値（最大面積）を演算し、平均面積と最小面積、平均面積と最大面積との比、あるいは最小面積と最大面積との比と、上記面積比しきい値との比較を行ってもよい。
【００５４】
このように、ノイズ判定部４８は、各行矩形について、そこに含まれる基本矩形の性状（面積、面積比、距離など）に基づき、各行矩形に真に文字が含まれているか否かを再確認する。
【００５５】
なお、ノイズ判定部４８の第１ノイズ判定処理は、ここで述べた例に限られない。例えばここでは行矩形の性状として各行矩形の幅や高さを用いていたが、これらとともに、またはこれらに代えて、行矩形の座標情報（の平均値や標準偏差などの統計量）を用いてもよい。これによると、文字領域内に含まれる行矩形の位置がばらついている場合などに、当該文字領域には文字が含まれていない（ノイズである）と判断して、記憶部１２の文字領域データベースから、注目文字領域を削除することとなる。
【００５６】
文字部分特定部４９は、ノイズ判定部４８の処理を経た文字領域データベースを記憶部１２から読出して、当該文字領域データベースに含まれる文字領域（文字領域の座標情報そのもの）、または当該文字領域内の黒画素部分（文字領域の座標情報と、黒画素部分からなるビットマップ情報）を文字部分として特定し、当該文字部分を特定する情報（文字部分特定情報）を記憶部１２に格納する。制御部１１は、この時点で記憶部１２に格納されている、基本矩形関係データベースや行矩形関係データベースを削除してもよい。
【００５７】
このように、本実施の形態における文字抽出部２２は、文字から行、行から領域へと段階的に文字領域を画定し、当該画定した文字領域内の行の状態に基づいて文字列が含まれているかを判断し、文字列が含まれていないと判断される場合には、さらに行内（文字単位）の状態に基づいて文字が含まれているかを判断することとしている。尤も、本実施の形態におけるレイアウト処理はこれに限られるものではなく、その他広く知られたレイアウト処理を用いても構わない。
【００５８】
本実施形態において特徴的なことの一つは、いわゆるＴ／Ｉ分離処理においてレイアウト解析を用いて文字部分を抽出することとしていることである。これによって文字部分の抽出精度を向上させることができる。
【００５９】
文字抽出部２２は、文字部分特定部４９にて特定した文字部分について、それぞれ固有の領域識別子（以下、ラベルデータと呼ぶ）を生成し、このラベルデータと、対応する文字領域を画定するための座標情報（頂点座標の情報等）とを関連づけて記憶部１２に文字領域データベースとして格納する。
【００６０】
色数判定部２３は、記憶部１２の文字領域データベースに格納されている文字領域の各々について、同一の色の部分を特定するマスク画像データを生成する。
【００６１】
本実施の形態における色数判定部２３は、図７に示すように、文字色数判定部５１と、背景色数判定部５２とを含んで構成されている。
【００６２】
文字色数判定部５１は、記憶部１２に格納された文字領域の座標情報を参照し、それらを順次注目文字領域として選択しながら、注目文字領域内の基本矩形に含まれる有意画素（文字画像部分を表す画素塊群）に対応する、元画像データの画素値に基づいて文字色数をカウントする。
【００６３】
具体的にこの文字色数判定部５１は、元画像データのうち注目文字領域内の有意画素に対応する値のヒストグラム（発生頻度）を生成する。そしてこのヒストグラムにおいて所定しきい値を超える頻度で出現する画素値を特定し、当該特定した画素値の数（文字部分の画素値の数）をカウントする。
【００６４】
同様に背景色数判定部５２は、注目文字領域に含まれる有意画素以外の画素に対応する、元画像データの画素値に基づいて背景色数をカウントする。具体的にこの背景色数判定部５２は、注目文字領域内の有意画素以外の画素に対応する、元画像データの画素の値のヒストグラム（発生頻度）を生成する。そしてこのヒストグラムにおいて所定しきい値を超える頻度で出現する画素値を特定し、当該特定した画素値の数（背景部分の画素値の数）をカウントする。
【００６５】
代表色決定部２４は、図８に示すように、文字代表色決定部５３と、背景代表色決定部５４とを含んで構成されている。文字代表色決定部５３は、文字色数判定部５１によって判定された文字色数が所定の整数Ｎ（例えばＮ＝１）以下であるか否かを調べ、文字色数が所定数Ｎ以下である場合は、注目文字領域に含まれる有意画素に対応する元画像データの画素値に基づいて文字代表色を決定する。
【００６６】
背景代表色決定部５４は、背景色数判定部５２によって判定された背景色数が所定の整数Ｍ（例えばＭ＝１）以下であるか否かを調べ、背景色数が所定数Ｍ以下である場合は、注目文字領域に含まれる有意画素以外の画素に対応する元画像データの画素値に基づいて背景代表色を決定する。
【００６７】
なお、これらにおける代表画素値の決定方法は、色数判定の処理と同様に、元画像データのうち、対象となる画素値のヒストグラム（発生頻度）を生成し、このヒストグラムにおける際頻値を代表画素値として決定すればよい。
【００６８】
マスク画像生成部２５は、文字色数判定部５１によって判定された文字色数が所定の整数Ｎ（例えばＮ＝１）以下であるか否かを調べ、文字色数が所定数Ｎ以下である場合は、注目文字領域に含まれる有意画素部分をマスク画像として抽出して出力する。また、この場合は、当該マスク画像に対応する代表色として文字代表色決定部５３が出力する文字代表色の情報を選択的に出力する。
【００６９】
また、文字色数判定部５１によって判定された文字色数が所定の整数Ｎを超えていれば、背景色数判定部５２によって判定された背景色数が所定の整数Ｍ（例えばＭ＝１）以下であるか否かを調べ、背景色数が所定数Ｍ以下である場合は、マスク画像を反転し、注目文字領域内で文字画像以外の部分（すなわち背景部分）を表すマスク画像を生成する。そして、マスク画像生成部２５は、当該背景部分のマスク画像を出力する。また、この場合は、当該マスク画像に対応する代表色として背景代表色決定部５４が出力する文字代表色の情報を選択的に出力する。
【００７０】
ここでマスク画像生成部２５は、マスク画像を判定する際には、注目文字領域に含まれる各画素塊（有意画素）を膨張する処理を行う。すなわち有意画素に対して隣接する画素を有意画素とする。そして当該膨張処理後の当該マスク画像を反転して背景部分を表すマスク画像を生成してもよい。
【００７１】
なお、生成した各マスク画像には、対応する（そのマスク画像に対応する画素が含まれている）文字領域を画定する座標情報を関連付けて出力する。
【００７２】
後処理部２６は、マスク画像生成部２５が生成したマスク画像の入力を受け入れる。そして、後処理部２６は、元の画像データのうちマスク画像によって特定される画素を除去（所定の値に設定）する。後処理部２６は、画素を除去した後の画像データの各画素をラスタスキャン順に走査して、注目画素として選択する。そして注目画素が除去された画素（上記所定の値に設定されている画素）でなければ、当該注目画素の画素値をそのままとするとともに、当該注目画素の画素値を直前画素値として記憶部１２のワークメモリに記憶する。なお、既に他の画素値が直前画素値として記憶されている場合は、その記憶内容に上書きする。
【００７３】
また注目画素が除去された画素である場合、当該注目画素の画素値を、記憶している直前画素値に設定する。これにより除去された部分の画素値が、ラスタスキャン順に直前画素値と同一になり、多くの圧縮処理において圧縮効率を向上させることができるようになる。そしてこの処理を行った後の画像データを背景部データとして記憶部１２に格納する。
【００７４】
フォーマット部２７は、背景部データと、マスク画像と、それに関連して出力される代表色の情報とに基づいて、元の画像データを再現するためのデータを生成する。例えばこのデータはＰＤＦ（Portable Document Format）として記述することができる。
【００７５】
具体的に、フォーマット部２７は、まず背景部データを描画する指示を記述する。そして、生成された各マスク画像について、それに関連して出力される代表色の情報と注目文字領域を画定する座標情報とを参照し、当該注目文字領域である矩形内部を当該代表色で塗りつぶした画像を描画する指示を記述する。そして、この指示により描画された矩形状から、対応するマスク画像部分（マスク画像内の有意画素に対応する画素）を抽出する指示と、当該抽出した部分を、背景部データ上、上記参照した座標情報で定められる位置に透過合成（マスク画像内の有意画素外に対応する画素は背景部データの画素値とし、マスク画像内の有意画素に対応する画素については抽出して得た上記代表色の画素値とする合成方式）する指示と、を記述する。
【００７６】
このようにしているので、本実施の形態の画像処理装置によると、処理対象の画像に、単色で表現された文字が含まれているときには、当該文字部分をマスク画像として抽出する（図９（ａ））。そして当該抽出したマスク画像と、その文字部分の色を表す情報と、マスク画像部分を除去して穴埋処理した背景部データとを含むデータを生成する。
【００７７】
一方、処理対象の画像に含まれる文字部分がグラデーション処理されているなど、多色で表現されているときには、当該文字部分を含む領域（文字領域）の背景部分の色数を調べ、当該背景部分の色数が１色であれば、当該背景部分を表すマスク画像を生成する（図９（ｂ））。そして、そして当該抽出した背景部分のマスク画像と、その背景部分の色を表す情報と、マスク画像部分を除去して穴埋処理した背景部データとを含むデータを生成する。つまりこの場合は、多色表現される文字部分は背景部データに含まれたままとなる。
【００７８】
なお、本実施の形態の説明では、一行分の文字列を含む行矩形をさらに連結した文字領域を対象として、各マスク画像を生成する処理を行っているが、行矩形ごとに処理してもよい。
【００７９】
また、文字部分も、その背景部分も多色で表現されている場合は、これらの処理をせずに、当該部分を背景部データとして処理してもよい。このようにすると、例えば各マスク画像をランレングス圧縮し、背景部データをＪＰＥＧ等で圧縮することで、圧縮効率を向上できる。
【００８０】
このように本実施の形態によると、多色表現された文字画像に対応した処理を行うことができる。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施の形態に係る画像処理装置の一例を表す構成ブロック図である。
【図２】本発明の実施の形態に係る画像処理装置の制御部によって実行される処理内容を表す機能ブロック図である。
【図３】文字抽出部２２の処理内容例を表す機能ブロック図である。
【図４】文字抽出部２２の処理例を表す説明図である。
【図５】文字抽出部２２の処理例を表すフローチャート図である。
【図６】文字抽出部２２の処理例を表すフローチャート図である。
【図７】色数判定部２３の処理内容例を表す機能ブロック図である。
【図８】代表色決定部２４の処理例を表す説明図である。
【図９】生成されるマスク画像の例を表す説明図である。
【符号の説明】
【００８２】
１１  制御部、１２  記憶部、１３  画像入力部、１４  画像出力部、２１  前処理部、２２  文字抽出部、２３  色数判定部、２４  代表色決定部、２５  マスク画像生成部、２６  後処理部、２７  フォーマット部、４１  二値化処理部、４２  連結画素抽出部、４３  基本矩形画定部、４４  第１セパレータ検出部、４５  行矩形画定部、４６  第２セパレータ検出部、４７  文字領域画定部、４８  ノイズ判定部、４９  文字部分特定部、５１  文字色数判定部、５２  背景色数判定部、５３  文字代表色決定部、５４  背景代表色決定部。
【図１】
2006092050.tif 000004
【図２】
2006092050.tif 000005
【図３】
2006092050.tif 000006
【図４】
2006092050.tif 000007
【図５】
2006092050.tif 000008
【図６】
2006092050.tif 000009
【図７】
2006092050.tif 000010
【図８】
2006092050.tif 000011
【図９】
2006092050.tif 000012