本発明の実施の形態に係る画像処理装置は、図1に示すように、制御部11と記憶部12と画像入力部13と画像出力部14とを含んで構成されている。制御部11は、記憶部12に格納されているプログラムに従って動作しており、後に説明する各画像処理を遂行する。この画像処理の内容については、後に詳しく述べる。
記憶部12は、制御部11によって実行されるプログラムを保持している。またこの記憶部12は、制御部11の処理の過程で生成される各種データ等を格納するワークメモリとしても動作する。具体的にこの記憶部12は、コンピュータ可読な記録媒体と当該記録媒体に対してデータを書き込み、又は当該記録媒体からデータを読み出す装置(例えばハードディスク装置やメモリ装置)として実装できる。
画像入力部13は、例えばスキャナであり、原稿を光学的に読み取って得られた画像データを制御部11に出力する。ここではこの画像入力部13が出力する画像データにおいて、各画素の値がRGB(赤、緑、青)の色空間で表現されているとする。画像出力部14は、制御部11から入力される指示に従って画像データを出力するもので、例えば画像形成部(プリンタ等)に出力し、又はネットワークを介して外部の装置に送信する等の処理を行うものである。
次に制御部11の処理の内容について説明する。本実施の形態の制御部11は、図2に機能的に示すように、画像入力部13から入力される画像データを処理対象として、この処理対象となった画像データに対して、所定前処理を行う前処理部21と、絵柄部分の候補となる部分(絵柄候補部分)を特定する絵柄候補部分特定処理部22と、文字線画を抽出する文字線画抽出処理部23と、レイアウト処理を遂行するレイアウト処理部24と、同一色領域分離部25と、穴埋処理部26と、圧縮処理部27とを含んで構成されている。
以下、これら各部について具体的に説明する。
[1.前処理部]
この前処理部21では、画像入力部13から入力される画像データ(処理対象画像データ)の各画素の値をRGBからYCbCr(輝度と色差とからなる値)に変換する。具体的には、次の(1)式を用いて変換を行うことができる。なお、ここではRGBの各成分の値は0x00(「0x」は16進数であることを示す)から0xFFまでの値であるとしている。また、この前処理部21では、下地領域の輝度・彩度に基づいて各画素値を階調補正してもよい。尤も、この階調補正の処理は、必ずしも必要なものではない。
[2.絵柄候補領域特定処理部]
絵柄候補部分特定処理部22は、前処理部21が出力するYCbCr色空間で表現された画像データから絵柄の領域と推定される領域を、絵柄候補領域として特定する処理を行う。以下具体的に、絵柄候補部分特定処理部22の処理方法について説明する。
[2a.第1の方法]
絵柄候補部分特定処理部22は、図3(a)に示すように、二値化処理部31と、連結画素抽出部32と、特徴量算出部33と、属性判定部34と、非絵柄領域処理部35と、背景領域塗潰部36と、絵柄候補領域作成部37とを含んで構成される。
二値化処理部31は、前処理部21が出力するYCbCr色空間で表現された画像データを記憶部12にコピーして格納する。そして、当該コピーされた画像データ(絵柄領域特定画像データ)の各画素の値を参照しながら、当該画素値の輝度成分と、予め定めた二値化しきい値とを比較して、輝度成分が二値化しきい値以上の画素を有意画素として黒色(値「1」)に設定する。また、輝度成分が二値化しきい値未満の画素は有意でない画素として白色(値「0」)に設定していき、当該絵柄領域特定画像データを二値画像データに変換する。
連結画素抽出部32は、二値画像データ中から、黒画素(値「1」の部分)が連結している領域(連結領域)を抽出する。この連結領域の抽出は、ラベリング処理として広く知られた処理を用いることができる。ラベリング処理を用いる場合、各連結領域には互いに異なるラベル識別子を付して、記憶部12に格納しておく。
特徴量算出部33は、連結画素抽出部32によって抽出された連結領域の各々について、その所定のスケール特徴量を演算する。ここでスケール特徴量には、連結領域に関係して定められる矩形の面積や、当該矩形内での黒画素の密度(矩形内の黒画素の数を矩形内の全画素の数で除したもの)などを含む。例えば特徴量算出部33は次のように処理を行う。すなわち特徴量算出部33は、各連結領域ごとの関係領域として、各連結領域に外接する矩形(外接矩形)を画定する。具体的に外接矩形は、連結領域に含まれる画素のうち、そのX座標が最小のもの(絵柄領域特定画像データ中で最も左にあるもの)の当該X座標をXminとし、同じくY座標が最小のもの(絵柄領域特定画像データ中で最も上にあるもの)の当該Y座標をYminとし、以下同様にX座標が最大のものと、Y座標が最大のものとにおける、X座標とY座標とのそれぞれをXmax、Ymaxとして、(Xmin,Ymin)から(Xmax,Ymax)までの線を対角線とする矩形を外接矩形と定める。そして当該外接矩形の面積Aを、(Xmax−Xmin)×(Ymax−Ymin)として演算する。なお、この面積Aは、当該外接矩形に含まれる全画素の数にも等しい。一方、特徴量算出部33は、当該外接矩形内の黒画素の数をカウントし、その数を上記全画素の数(すなわち面積Aの値)で除して密度Dを求める。
こうして特徴量算出部33は、各連結領域について、これら外接矩形の面積A(面積特徴量に相当する)と、黒画素密度D(密度特徴量に相当する)とを、当該連結領域のスケール特徴量として算出する。そして、各連結領域の識別子(例えばラベル識別子)とそのスケール特徴量とを関連づけて、記憶部12にスケール特徴量データベースとして格納しておく。
属性判定部34は、記憶部12に格納されたスケール特徴量データベースを参照しながら、各連結領域が絵柄候補領域であるか否かを判定する。具体的な例を挙げると、この属性判定部34は、文字であれば一定以上のサイズがあり、その内部の黒画素密度は比較的小さいはずであるとの前提に基づく処理を行う。つまり、一般的なドキュメントで利用されるフォントサイズの最小値(例えば6ポイント)に相当する面積(いわば最小面積)未満の領域(小領域)は、文字を含まない、絵柄の領域と判定できるので、こうした小領域を除去することで文字部分を特定できる。
また、文字は基本的に線からなるので、複雑な文字であっても領域内の画素のうち一定割合以上が黒画素となることはない。そこで、最小面積より大きい面積を有する矩形であっても、その内部で黒画素の数の占める割合(つまり黒画素密度)が比較的大きい場合に、絵柄であると判定できる。
さらに、本実施の形態では、例えば一般的なドキュメントで利用されるフォントサイズの最大値(例えば24ポイント)に相当する面積(いわば最大面積)以上の場合、文字は含まれないと基本的に判断できる。しかしながら、こうした領域は絵柄だけでなく線図(グラフなど)である場合もある。そこで、ここでも黒画素密度を利用して、最大面積より大きい面積を有する矩形のうち、黒画素密度が比較的大きい場合に限り、絵柄であると判定する。なぜならば、グラフなどの線図は、線を用いて構成されるので黒画素の密度は比較的低くなると推定されるからである。
つまり、本実施の形態では、各連結領域ごとに、その面積特徴量が予め定めた複数の等級のいずれに属するかを判断し、各等級について予め定められた密度しきい値のうち、当該面積特徴量が属する等級に係る密度しきい値と密度特徴量とを比較して、絵柄であるか否かを表す情報(本発明にいう分類情報)を生成する。
具体的に本実施の形態の属性判定部34は、上記最小面積を表す第1の面積しきい値α1と、最大面積を表す第2の面積しきい値α2(ただし、α1<α2)並びに、第1、第2の密度しきい値(ρ1,ρ2)を予め定めておき、これらのしきい値を用いて、次のように判定する。
すなわち属性判定部34は、図4に示すように、スケール特徴量データベースに含まれる連結領域のうち、この処理で未だ選択されていない連結領域の一つを注目領域として選択する(S1)。そしてこの注目領域に関連づけられたスケール特徴量を読み出して、当該スケール特徴量に含まれる面積Aが、第1の面積しきい値α1未満となっているか否か(A<α1か否か)を調べる(S2)。ここで、A<α1であれば、注目領域を非絵柄領域として判定し、注目領域の識別子(例えばラベル識別子)と、その判定結果(非絵柄領域である旨を表す情報)とを関連づけて記憶部12に格納し(S3)、スケール特徴量データベース内にこの処理で未だ選択されていない連結領域があるか否かを調べて(S4)、未選択の連結領域があれば(Yesならば)、処理S1に戻って処理を続ける。また、処理S4において、未選択の連結領域がなければ(Noならば)、つまりすべての連結領域について判定を終了したならば、処理を終了する。
また、処理S2において、A<α1でなければ、続いて注目領域の面積Aが第2の面積しきい値α2を越えているか否か(A>α2であるか否か)を調べ(S5)、A>α2であれば、注目領域のスケール特徴量の一つである黒画素密度Dが、第1の密度しきい値ρ1未満であるか否か(D<ρ1か否か)を調べ(S6)、D<ρ1であれば、注目領域が絵柄領域である判定して、注目領域の識別子(例えばラベル識別子)と、その判定結果(絵柄領域である旨を表す情報)とを関連づけて記憶部12に格納し(S7)、処理S4に移行する(Y)。さらに処理S6において、D<ρ1でなければ、処理S3に移行(X)して(つまり非絵柄領域と判定して)処理を続ける。
また、処理S5において、A>α2でなければ、注目領域のスケール特徴量の一つである黒画素密度Dが、第2の密度しきい値ρ2未満であるか否か(D<ρ2か否か)を調べ(S8)、D<ρ2であれば、処理S3に移行(X)して(つまり非絵柄領域と判定して)処理を続け、D<ρ2でなければ、処理S7に移行(Z)して(つまり絵柄領域と判定して)処理を続ける。なお、第1,第2の密度しきい値ρ1,ρ2は、それぞれ実験によって線画等を抽出するのに適した値と、文字等を抽出するのに適した値とに定める。
また、面積特徴量又は面積しきい値の少なくとも一方を、処理対象となっている画像データの解像度に基づいて補正してもよい。例えば面積しきい値α1,α2が解像度r0で設定された値である場合において、処理対象となった画像データの解像度がrであったとき、第1の面積しきい値α1を(r/r0)×α1に補正し、第2の面積しきい値α2を(r/r0)×α2に補正する。
非絵柄領域処理部35は、属性判定部34によって生成されて記憶部12に格納されている、各連結領域ごとの判定結果を参照して、絵柄領域特定画像データのうち、非絵柄領域と判定された連結領域に含まれる黒画素を白画素に変換して、非絵柄領域と背景とが白画素となっている絵柄領域特定画像データを生成する。
背景領域塗潰部36は、非絵柄領域と背景とが白画素となっている絵柄領域特定画像データに対して、絵柄部分の境界と連結している白画素を、所定の値(白、黒以外の任意の色)で塗りつぶす。ここでは、広く知られているような、閉じた領域(閉曲線で囲まれた内部又は外部)を塗つぶす処理を用いる。絵柄候補領域作成部37は、背景領域塗潰部36によって所定の値で塗潰されなかった画素の色を黒に設定する。この絵柄候補領域作成部37によって黒画素に設定された部分を絵柄候補領域として扱うことになる。
この方法による絵柄候補部分特定処理部22の動作について説明する。以下、図5(a)に示す画像データを処理対象とする場合を例として説明する。なお、図示の都合上、図5(a)においては、全体を線図で示しているが、図5(a)には、写真部分Pと、テキスト部分Tと、線図部分Gと、地図などの図版部分Mとが含まれているものとする。また、地図M内には、地図を構成する線分と一部重なり合う文字等が記述されている場合がある(X)。例えば道路名を示す文字などは、他の道路と重なり合って示されていることも多い。
絵柄候補部分特定処理部22がこれを二値化処理して(図5(b))、連結画素を抽出し、各連結画素についての特徴量に基づき小領域除去の処理を行う。すると絵柄領域特定画像データは、図5(c)に示すように、テキスト部分(T)が除かれた状態となる。なお図5においては線図部分Gの黒画素密度が比較的高いので、当該線図部分Gは除去されずに残存した状態となっている。また、地図部分M内において線分と重なり合っている文字は、当該重なり合う線分と一体として連結画素として抽出されてしまう。このためこの連結画素を囲む矩形の面積が大きくなり、小領域として除去されず、残存することとなる(図5(c)のX)。
絵柄候補部分特定処理部22は、背景となっている白画素部分Bを所定の色で塗潰し(図5(d))、さらにこの所定の色で塗潰された部分以外の部分を黒画素とする。ここで背景となっている部分を塗潰す方法としては、画像データの四隅(左上、右上、左下、右下の四隅)から線分によって仕切られない領域を塗潰す、一般的なペイント処理を利用する方法を採ることができる。そして絵柄候補部分特定処理部22は、上記所定の色部分を白画素に戻す。すると、図5(e)に示すように、絵柄候補となる部分が黒画素となり、それ以外の部分が白画素となっているような絵柄領域特定画像データが得られることとなる。
この処理によれば、二値化データを利用した負荷の低い処理によって、背景部分を除く絵柄部分を特定することができるようになる。
[2b.第2の方法]
次に絵柄候補部分特定処理部22の別の処理方法について説明する。この絵柄候補部分特定処理部22による処理は図3(b)に示すように、機能的に、二値化処理部31と、連結画素抽出部32と、特徴量算出部33と、属性判定部34と、非絵柄領域処理部35と、膨張収縮部38と、背景領域塗潰部36と、絵柄候補領域作成部37とを含んで構成される。なお、既に説明した構成と同様の動作を行う部分については同じ符号を付して詳細な説明を省略する。
予め概要を説明すれば、この処理方法を行う絵柄候補部分特定処理部22は、非絵柄領域処理部35によって絵柄領域特定画像データのうち、非絵柄領域と判定された連結領域に含まれる黒画素を白画素に変換した後の絵柄領域特定画像データに対して、膨張収縮処理を行うものである。
膨張収縮部38は、非絵柄領域処理部35によって絵柄領域特定画像データのうち、非絵柄領域と判定された連結領域に含まれる黒画素を白画素に変換した後の絵柄領域特定画像データに含まれる画素を順次注目画素として選択する。
そして膨張収縮部38は、注目画素の近傍(上下左右の画素からなる4近傍または、周辺8画素の8近傍)に黒画素が一つでもあれば、当該注目画素を黒画素とする処理(膨張処理)を行って、黒画素部分を膨張させて、次の注目画素を選択する。この選択順序は、上から下へとラインを走査し、ライン内は左から右へと走査する順序(いわゆるラスタスキャン順)とすればよい。
膨張収縮部38は、すべての画素に対する膨張処理を完了すると、再び、各画素を順次注目画素として選択しながら収縮処理を開始する。収縮処理では、注目画素の近傍(4近傍または8近傍)に白画素が一つでもあれば、注目画素を白画素とする。そして、全画素について収縮処理が完了すると、膨張収縮部38の処理を終了する。
この場合、背景領域塗潰部36は、膨張収縮部38によって処理された後の絵柄領域特定画像データに対して、絵柄部分の境界と連結している背景部分の白画素を、所定の値(白、黒以外の任意の色)で塗りつぶすことになる。
このように膨張収縮処理を行うことによって、網点の領域が背景領域と区別されて絵柄領域として認識され易くなる。
また、膨張収縮部38は、非絵柄領域処理部35によって絵柄領域特定画像データのうち、非絵柄領域と判定された連結領域に含まれる黒画素を白画素に変換した後の絵柄領域特定画像データを一旦ランレングスのデータに変換した上で上記処理を行い、処理後にビットマップのデータに戻して出力することとしてもよい。
ここでランレングスのデータとは、ラスタスキャン順に同一画素値が連続して現れる場合に、当該一連の画素値に代えて、当該画素値を特定する情報一つと連続回数とからなるデータに変換したものである。
なお、ここまでの第1、第2の方法の説明では、背景領域塗潰部36は、背景部分を所定の色で塗り潰すこととしているが、これに代えて次のようにしてもよい。すなわち、連結領域の抽出にラベリング処理を用いている場合に、当該抽出の際に得られた最大のラベルの値より大きい値(例えば最大のラベル値に1を加えた値)のラベル(背景特定ラベル)を背景部分の画素のラベルに置換えて設定していくこととしてもよい。この場合、絵柄候補領域作成部37は、当該背景特定ラベルが付されていない画素を黒画素に設定することで、図5(e)に示した絵柄領域特定画像データを生成してもよい。
この処理によれば、二値化データを利用した負荷の低い処理によって、背景部分を除く絵柄部分を特定することができるようになる。また、膨張・収縮処理を行っていることで、網点で構成されている部分も絵柄として特定できるようになる。
[2c.第3の方法]
さらに絵柄候補部分特定処理部22による処理は、ラベリング処理後、ラベリングされた各領域が境界に接するか否かを判断して、それによって絵柄か否かを判定するものであってもよい。具体的にこの場合の処理例は、図3(c)に示すように、機能的に、二値化処理部31と、連結画素抽出部32と、特徴量算出部33と、属性判定部34と、非絵柄領域処理部35と、反転ラベリング処理部41と、境界判定部42と、領域除去部43と、絵柄候補領域作成部44とを含んで構成される。なお、二値化処理部31、連結画素抽出部32、特徴量算出部33、属性判定部34、並びに非絵柄領域処理部35は、既に説明したものと同様の処理を行うものであるので、その詳細な説明を省略する。
反転ラベリング処理部41は、非絵柄領域処理部35が出力するデータ(非絵柄領域と背景とが白画素となっている絵柄領域特定画像データ)の白画素部分についてラベリング処理(連結領域ごとに異なるラベルを付与する処理)を行う。具体的に非絵柄領域処理部35が出力するデータが図6(a)に示すようなものであるとすると、そのラベリング処理結果は、図6(b)に示すようなものとなる。この図6(b)ではラベルの付与された部分を黒色で示し、ラベルの付与されていない部分を白色で示している。また、図6(b)において、ラベルの値を丸で囲んだ数字で示している。なお、左下の雪だるまの上部分と、右上のバスの行先表示部分及び2つのヘッドライト部分については、図示の都合上、欄外にラベルの値を示している。
境界判定部42は、各ラベルの付与された各連結領域(又はその外接矩形)が画像データの境界(端部)に接しているか否かを調べ、接しているラベルの一覧を生成する。具体的に図6(b)に示した例の場合、ラベル「1」の連結領域以外は、画像データの境界に接していないので、一覧にはラベル「1」のみが含まれることとなる。
領域除去部43は、一覧に含まれるラベルの連結領域を残して、他の連結領域についてのラベルを除去する。この結果、図6(c)に示すように、ラベル「1」以外の領域についてはラベルが付与されていない状態となる。この図6(c)でもラベルの付与された部分を黒色で示し、ラベルの付与されていない部分を白色で示している。
絵柄候補領域作成部44は、ラベルが付与されている連結領域を黒画素、ラベルの付与されている連結領域を白画素とした画像データを絵柄候補領域の画像データとして生成して出力する。すると、図6(d)に示すように、絵柄候補となる部分が黒画素となり、それ以外の部分が白画素となっているような絵柄領域特定画像データが得られることとなる。
本実施の形態では、この絵柄領域候補を特定する処理において文字部分を絵柄と誤判定しても、後に行われるレイアウト処理によって文字部分がさらに抽出されるので、絵柄候補領域の抽出精度が比較的低くても構わない。制御部11は、特定された絵柄候補領域の各々を規定する座標情報(以下、絵柄候補領域画定情報と呼ぶ)を記憶部12に格納する。
この処理によれば、簡便な処理によって背景を除く絵柄候補部分を特定できる。また、この処理では、絵柄部分に囲まれた、いわば中空部分(図6の例でいえば雪だるまの内部やバスのフロントガラスやヘッドランプ部分など)については、背景とならずに絵柄候補部分に含まれることとなる。
[2d.非絵柄領域処理の他の例]
また、ここまでの説明における、二値化処理部31と連結画素抽出部32と特徴量算出部33と属性判定部34と非絵柄領域処理部35との処理に代えて、図7に示す処理を用いてもよい。すなわち、絵柄候補部分特定処理部22によるこの処理は、図7に示すように、二値化処理部71と、ラベリング処理部72と、サイズ情報演算部73と、有意画素距離情報演算部74と、判定部75とを機能的に含む。
ここで二値化処理部71は、前処理部21が出力する処理対象画像データの一部(例えば四隅部分)の画素の値を参照し、その輝度の平均値等によって二値化しきい値を定める。そして処理対象画像データを記憶部12上で複写し、複写した画像データの各画素について、当該定めた二値化しきい値よりも輝度の高い画素については「白(背景画素)」、輝度の低い画素については「黒(有意画素)」の画素値を割当てて、二値化画像データを生成する。ここでの二値化しきい値よりも輝度が高いとの条件が本発明の背景画素条件に相当する。
ラベリング処理部72は、二値化画像データから、当該画像データの端部又は背景画素によって互いに仕切られた、黒画素の連結部分を連結画素領域として抽出して、各連結画素領域ごとに固有の識別子(ラベル)を設定する。具体的には、二値化画像データ内の画素数と同数の識別子を格納するためのデータ領域を記憶部12に確保し、このデータ領域上で各有意画素に対応する位置に当該有意画素が属する連結画素領域のラベルを格納する。
すなわち、このラベリング処理部72は、いわゆるラベリング処理を行うもので、隣接した有意画素同士が連結して一つの塊を形成している画素群(連結画素領域)を特定し、当該連結画素領域に含まれる各有意画素にラベルを設定するものである。
サイズ情報演算部73は、ラベリング処理部72にて付与されたラベルごとに、当該ラベルに対応する連結画素領域を注目領域として選択し、当該注目領域のサイズに関係する情報(サイズ値)を演算して、当該ラベルに関連付けて、サイズ関係情報として記憶部12に格納する。
具体的に、ここでのサイズに関係する情報は、注目領域内の有意画素の数や、注目領域に関係する所定の幾何形状のサイズに関する情報(例えば注目領域に外接する矩形を画定する座標情報から得られる矩形の幅や高さ、面積など)である。
有意画素距離情報演算部74は、二値画像データのうち、各有意画素について、当該有意画素から隣接する有意画素を辿って背景画素まで至るまでの距離を、有意画素距離情報として生成する。この有意画素距離情報の演算方法は種々のものがあるが、その一例について次に説明する。
この有意画素距離情報演算部74は、上記二値画像データと同じサイズのビットマップデータを格納する領域を記憶部12に確保し、二値画像データ上で、座標(i,j)にある画素の値を、そのままf0(i,j)として取得する。そして記憶部12に確保したビットマップデータ上で当該座標(i,j)に対応する位置のデータをf0(i,j)に設定する。これにより、まずビットマップデータ上に二値画像データがそのまま複写される。
次に、ビットマップデータのうち、左上隅の画素に相当する位置のデータ、つまり(0,0)の位置にあるデータから順に、ラスタスキャン順に走査しながら、次の(2)式により位置(i,j)にあるデータをf1(i,j)に更新する。
有意画素距離情報演算部74は、すべての画素について上記更新の処理を完了すると、更新後のビットマップデータについてさらに(0,0)の位置にあるデータから順に、ラスタスキャンの逆順(右下の画素から左上の画素へと1ラインずつ)に走査しながら、次の(3)式により位置(i,j)にあるデータ(f1(i,j))を、f2(i,j)に更新する。
これにより、図8(a)に示すような二値画像データに基づいて、図8(b)に示すビットマップデータが生成される。なお、(2),(3)式において、min[x,y,…]は、括弧内([]内)の値のうち、最小となるものを選択することを意味する。
有意画素距離情報演算部74はさらに、ラベリング処理部72にて特定された連結画素領域のうちから順次一つずつ注目領域として選択し、当該注目領域に属する画素に対応するビットマップデータのうち、最大値となっているものを選択し、注目領域に関連するラベルと当該選択した最大値(いわば注目領域を構成する画素塊の幅に関する特徴量)とを関連付けて、有意画素距離情報として記憶部12に格納する。
判定部75は、有意画素距離情報演算部74によって生成された有意画素距離情報と、サイズ情報演算部73によって生成されたサイズ関係情報とを参照しながら、ラベリング処理部72によって特定された連結画素領域の各々が「文字線画」と、「絵柄」とのどちらのカテゴリに属するかを判定して分類する。
具体的にこの判定部75は、記憶部12に格納されているサイズ関係情報から、各ラベルに関連付けられたサイズ値を読み出す。そして各ラベルごとのサイズ値で、対応するラベルに関連付けて有意画素距離情報として記憶部12に格納されている特徴量を除して、ラベルごとに、その特徴量がサイズ値に対してどの程度の大きさとなっているかによって、当該ラベルに対応する連結画素領域が「文字線画」と、「絵柄」とのどちらのカテゴリに属するかを判定する。一般に、文字線画であれば、サイズ値に比べ特徴量は小さくなる(比較的細い線によって構成される)。そこで判定部75は、特徴量がサイズ値に対して所定のしきい値より小さいときに、そのラベルに対応する連結画素領域は文字線画であると判定し、特徴量がサイズ値に対して所定のしきい値より大きいときに、そのラベルに対応する連結画素領域は絵柄であると判定する。
また判定部75は、連結画素領域ごとに、そのサイズ値が予めさだめたしきい値を越える場合にのみ、当該連結画素領域が「文字線画」と「絵柄」とのどちらのカテゴリに属するかを判定することとしてもよい。
すなわち判定部75は、ラベルごとに、それに関連付けられたサイズ値を参照し、当該サイズ値が予め定めたノイズしきい値を越えない場合は、当該ラベルに対応する連結画素領域を「ノイズ」と判定する。
また、当該サイズ値が予め定めたノイズしきい値を越える場合は、当該サイズ値に関係する所定関数によってしきい値を判定し、このしきい値と上記ラベルに関連付けられた特徴量とを比較する。そして、当該特徴量がしきい値を越えている場合に、当該ラベルに対応する連結画素領域を「絵柄」と判定し、そうでない場合(当該特徴量がしきい値を越えていない場合)は、当該ラベルに対応する連結画素領域を「文字線画」と判定する。
ここで上記所定関数は、所定最低値から所定限界値へと対数関数的に漸近する関数としてもよい。このようにすると、サイズ値に対する特徴量に応じて、図9に示すように判断が為されることになる。
そして判定部75は、ラベルごと(連結画素領域ごと)の判定結果を記憶部12に格納して処理を終了する。なお、ノイズと判定されたラベルについては、その判定結果を格納しないようにしてもよい。判定部75は、絵柄と判定した連結画素領域については黒色、それ以外は白色の画素とした画像データを生成して出力する。
この画像データは、非絵柄領域処理部35が出力するデータ(非絵柄領域と背景とが白画素となっている絵柄領域特定画像データ)と同様に扱うことができる。ここで述べた処理によれば、細線部などが絵柄として判定されることがなくなり、絵柄候補部分の抽出の精度を高めることができるようになる。
なお、判定部75は、次に説明する文字線画抽出処理部23に対して、文字線画と判定した部分の連結画素領域の情報を出力してもよい。
[2e.下地除去処理を行う例]
絵柄候補部分特定処理部22は、さらに、これらの処理によって生成した絵柄候補領域画定情報を用い、元の画像データのうち、絵柄候補領域以外の部分について下地除去処理を行ってもよい。この下地除去処理は、例えば次のようなものである。
すなわち、まず輝度(YCbCrであればY)のヒストグラムを生成し、演算されたヒストグラム上で、輝度の低い(暗い)側から探索して所定のしきい値を超える頻度となっている輝度値を取得して、この輝度値をTHD1とする。
そして、予め定められているパラメータk,c,dを用いて、THD1′=k・THD1+cと、THD2=d・THD1とを生成する。これらのパラメータは任意のTHD1について、k×THD1+c<d×THD1となるように設定されているものとする。
次に0からTHD1′の入力値に対しては出力値が0となり、x≧THD2であるような入力値xに対しては出力値がxとなり、THD1′≦x<THD2については、座標(THD1′,0)から(THD2,THD2)までを結んだ直線に対応する出力値となるLUTを生成する。
そして、元の画像データのうち、絵柄候補領域以外の部分について上記生成したLUTを用いた輝度補正を行い、この輝度補正後の画像データを記憶部12に格納する。
すなわち本実施の形態においては、絵柄候補の領域を生成して、当該絵柄候補領域以外の部分について下地除去の処理を行ってもよい。
[3.文字線画抽出処理部]
文字線画抽出処理部23は、前処理部21が出力するYCbCr色空間で表現された画像データ(又は絵柄候補部分特定処理部22が出力する輝度補正後の画像データでもよい)から文字線画部分を抽出する処理を行う。この処理は、例えば特許文献2に開示されている通りの処理を用いることができる。そして文字線画抽出処理部23は、個々の文字や、線画部分についてそれらを取囲む矩形(文字線画外接矩形)を生成し、その座標情報を記憶部12に格納する。
また、この文字線画抽出処理部23は、絵柄候補部分特定処理部22が文字線画と判定される部分(連結画素領域)を特定する情報を出力している場合は、それを利用して、個々の文字や、線画部分についてそれらを取囲む矩形(文字線画外接矩形)を生成し、その座標情報を記憶部12に格納するようにしてもよい。
[4.レイアウト処理部]
レイアウト処理部24は、絵柄候補部分特定処理部22が生成した絵柄候補領域画定情報と、文字線画抽出処理部23が生成した文字線画外接矩形の座標情報とを記憶部12から読み出す。
レイアウト処理部24は、この絵柄候補領域画定情報によって画定される絵柄候補領域と、文字線画外接矩形の座標情報で画定される文字線画の領域とのそれぞれに対して互いに異なる判定条件を用いてレイアウト解析を行う。
具体的に本実施の形態においては、記憶部12から読出した絵柄候補領域画定情報によって画定される絵柄候補領域においてレイアウト解析処理を行い、当該絵柄候補領域の中からさらに文字部分の抽出を試みる。そして、抽出された文字部分を除く部分を絵柄領域として画定し、後段の処理に供する。
本実施の形態におけるレイアウト処理部24は、文字から行、行から領域へと段階的に文字領域を画定し、当該画定した文字領域内の行の状態に基づいて文字列が含まれているかを判断し、文字列が含まれていないと判断される場合には、さらに行内(文字単位)の状態に基づいて文字が含まれているかを判断する。そして各文字と判定される部分に外接する矩形の情報(基本矩形の情報)と、文字を一行に配列した行に外接する矩形の情報(行矩形の情報)とを記憶部12に格納する。さらに、このレイアウト処理部24は、文字領域(文字領域の座標情報そのもの)または当該文字領域内の黒画素部分(文字領域の座標情報と、黒画素部分からなるビットマップ情報)を文字部分として特定し、当該文字部分を特定する情報(文字部分特定情報)を記憶部12に格納する。
なお、本実施の形態におけるレイアウト処理はこれに限られるものではなく、その他広く知られたレイアウト処理を用いても構わない。
本実施形態において特徴的なことの一つは、いわゆるT/I分離処理においてレイアウト解析を用いて文字部分を抽出することとしていることである。これによって絵柄候補領域に含まれる文字部分もレイアウト解析処理によって抽出されることとなり、文字部分の抽出精度を向上させることができる。
一方、レイアウト処理部24は、文字線画として画定された部分(文字線画外接矩形)内についても、レイアウト解析処理を行う。そしてレイアウト処理部24は、当該レイアウト解析処理の結果として得られたレイアウト枠(少なくとも各文字に外接する矩形(基本矩形)を含む)を定め、これらレイアウト枠の情報(座標情報など)を記憶部12に格納する。
なお、文字線画外接矩形内においても、上記基本矩形を水平または垂直方向に関係づけて得られる行矩形を画定し、この行矩形の座標情報などを記憶部12に併せて格納してもよい。
制御部11のレイアウト処理部24は、記憶部12に格納された文字部分特定情報と、文字線画外接矩形(またはそれに対するレイアウト処理結果としてのレイアウト枠)とを参照し、処理対象となった画像データ全体について、画像データ内で文字を含む矩形領域の座標情報を生成する。具体的にレイアウト処理部24は、文字部分特定情報の座標情報で画定される矩形と、文字線画外接矩形情報(またはそれに対するレイアウト処理結果としてのレイアウト枠)で画定される矩形とを結合して、文字線画領域を生成する。すなわち、本実施の形態では絵柄候補領域の画定と、文字線画領域の画定とを別々に行っているため、絵柄候補領域内にも文字線画領域として特定された領域が存在し得る。このためここでこれらの領域を結合して、重複領域を一つの文字線画領域とする。
そしてレイアウト処理部24は、結合後の各文字線画部分について固有の領域識別子(以下、ラベルデータと呼ぶ)を生成し、このラベルデータと、対応する文字線画領域を画定するための座標情報(頂点座標の情報等)とを関連づけて記憶部12に文字線画領域データベースとして格納する。
[5.同一色領域分離部]
同一色領域分離部25は、記憶部12の文字線画領域データベースに格納されている文字線画領域の各々について、同一の色の文字線画部分のみからなる領域に分割する処理を行う。同一色領域分離部25は、レイアウト処理の過程で記憶部12に格納された基本矩形(絵柄候補領域と文字線画領域との双方から画定された矩形)の座標情報を読み出す。そして、処理対象となっている画像データ(元画像データ)のうち、この座標情報で画定される各基本矩形内に含まれる画素値から代表値(代表色)の候補を決定する。
本実施の形態における同一色領域分離部25は、図10(a)に示すように、代表色決定部51と、同一色領域情報生成部52と、包含画像作成部53とを含んで構成されている。なお、以下の説明で基本矩形内の画素は、元画像データ上で基本矩形内に含まれるすべての画素であってもよいし、基本矩形内で、文字または線画を構成する画素として判断される画素であってもよい。
代表色決定部51は、記憶部12に格納された基本矩形の座標情報を参照し、それらを順次注目基本矩形として選択しながら、当該注目基本矩形内の画素値に基づいて少なくとも一つの代表画素値を決定する。ここで、代表画素値の決定方法は、元画像データのうち注目基本矩形内の画素値のヒストグラム(発生頻度)を生成し、このヒストグラムにおいて最も高い頻度で出現する一つの画素値、又は所定しきい値(例えば注目基本矩形内の画素数の1/3など)を超える頻度で出現する少なくとも一つの画素値を代表画素値とする方法などがある。代表色決定部51は、注目基本矩形を特定する情報(注目基本矩形に固有に発行された識別子)に関連づけて決定した代表画素値を代表画素値データベースとして記憶部12に格納する。
同一色領域情報生成部52は、代表画素値データベースに格納されている代表画素値を、互いに同一と判断される色ごとにグループ化する。具体的に同一色領域情報生成部52は、代表画素値データベースに格納されている代表画素値のうち、未だグループ化されていない代表画素値を注目代表画素値とし、この注目代表画素値とは異なる代表画素値であって、未だグループ化されていない代表画素値を順次、比較対照画素値として選択する。そして注目代表画素値と同一の色と判断できる比較対照画素値があった場合には、当該少なくとも一つの比較対照画素値と注目代表画素値とを一つのグループとして決定する。そして同一色領域情報生成部52は、それらグループとなった代表画素値に関連づけられた基本矩形の識別子を代表画素値データベースから取り出して、基本矩形の識別子のリストを生成し、注目代表画素値と比較対照画素値とに基づいて決定される一つのグループ代表画素値を決定する。同一色領域情報生成部52はそして、固有のグループ識別子を発行し、このグループ識別子と、グループ代表画素値と、上記生成した基本矩形の識別子のリストとを関連づけて同一色領域情報データベースとして、記憶部12に格納する。なおグループ代表画素値の決定方法は、例えば注目代表画素値と、それに同一と判断された比較対照画素値との統計演算結果(例えば平均)の画素値などとすることができる。
一方、注目代表画素値と同一の色と判断できる比較対照画素値がなかった場合には、注目代表画素値のみからなるグループを生成する。つまり同一色領域情報生成部52は、注目代表画素値に関連づけられた基本矩形の識別子を代表画素値データベースから取り出し、注目代表画素値をそのままグループ代表画素値として決定する。そして同一色領域情報生成部52は固有のグループ識別子を発行し、このグループ識別子と、グループ代表画素値と、上記生成した基本矩形の識別子とを関連づけて、同一色領域情報データベースとして記憶部12に格納する。
こうして同一色領域情報生成部52は、グループ化された代表画素値(グループ代表画素値)ごとに、当該代表画素値(グループ代表画素値)と当該代表画素値に対応した基本領域を画定する情報(ここでは基本領域の識別子)とを関連づけた情報を含む同一色領域情報を生成し、これを記憶部12に同一色領域情報データベースとして格納することになる。
包含画像作成部53は、代表画素値データベースを参照しながら、当該代表画素値データベースに含まれる基本領域の識別子を取り出す。また基本矩形データベースを参照して、上記取り出した各基本領域の識別子に関連づけられている座標情報(各基本領域を画定する情報)を取得する。そして包含画像作成部53は、これら基本領域を包含する領域を生成する。具体的に包含画像作成部53は、取得した座標情報が示すX,Yの座標値のうち、最も小さいX座標値Xminと、Y座標値Ymin、並びに、最も大きいX座標値Xmaxと、Y座標値Ymaxとを検索する。そして、(Xmin,Ymin)と、(Xmax,Ymax)を対角線とする矩形(包含される各基本矩形に外接する矩形)を画定する情報を生成する。
包含画像作成部53は、包含している各基本領域内の画素を元画像データから抽出し、これを、例えば元画像データの四隅の画素値から決定される背景画素値に基づいて生成されるしきい値を用いて二値化し、当該二値化された画像データを包含画像データとして生成する。
この包含画像データは、当該包含画像データに包含されている基本領域内の各画素の値を二値化して得たビットマップ情報となっており、従って、包含画像データには少なくともいずれかの代表画素値(又はグループ代表画素値)に設定されるべき画素の位置を示す情報が含まれることになる。なお、包含画像作成部53は、この二値化して得たビットマップ情報など、上記画素の位置を示す情報を所定の方法(例えばMMRやJBIG2等)で圧縮処理してもよい。
なお、ここでは基本矩形、すなわち文字のみを対象としているが、文字線画外接矩形のうちレイアウト処理部24にて基本矩形として画定されていない矩形部分(つまり線画部分)についても、その代表画素値を定め、基本矩形とともに同一色と判断される矩形ごとにグループ化し、基本矩形と線画部分とを包含し、これらに含まれる画素を二値化して包含画像データを生成することとしてもよい。
制御部11は、これらの処理によって生成した包含画像データと、同一色領域情報データベースと、包含画像データの元の画像データ上での位置を表す座標情報とを、その構造に含むデータを、文字線画プレーンデータとして出力する。このように生成された文字線画プレーンデータは、元の画像データを再現する際には、まず圧縮されたデータを伸長して包含画像データのビットマップを再現し、同一色領域情報データベースに含まれているグループごとに、当該グループ内の基本矩形に相当する上記再現したビットマップ上の黒画素(オンとなっている画素)の画素値を特定し、当該特定した画素の値を当該グループのグループ代表画素値に設定する。
また、制御部11の同一色領域分離部25は、図10(b)に示すように、代表色決定部51と、同一色領域情報生成部52と、包含画像作成部53と、色別包含画像作成部54と、比較部55とを含み、代表色決定部51と、同一色領域情報生成部52と、包含画像作成部53とが、上述の動作を行うとともに、色別包含画像作成部54が、グループごとの包含画像データを生成し、比較部55が、これらグループごとの包含画像データ(色別包含領域)を含んだ文字線画プレーンデータ(第1画像データ)と、上記包含画像データと同一色領域情報データベースとを含む文字線画プレーンデータ(第2画像データ)とを比較し、第1画像データと第2画像データとのうちいずれかサイズの小さい方を選択して、選択したデータを文字線画プレーンデータとして出力することとしてもよい。
また、同一色領域情報生成部52において、2つの代表画素値が同一と判断できるか否かを決定する方法は、2つの代表画素値の成分ごとの差の二乗和(代表画素値間の所定色空間上での距離に関する量)が予め定められたしきい値より小さい場合に同一と判断することとすればよい。
次に、図11を参照しながら、本実施の形態の同一色領域分離部25の動作を説明する。ここでは具体的に図11(a)に示すような画像を例として説明する。図11(a)に示す例では、第1行目の文字列「昨日は雨でした」のうち、「昨日」の文字が赤文字で、「は雨でした」の文字が黒文字で表され、次の行の文字列「今日は曇です」の全体が黒文字で表されている。また、この2行の文字列とは離れた位置に「お天気の話でした」との文字列があり、ここで「話」の文字のみが赤文字となっている例を示している。なお、図11(a)では図示の都合上、赤色文字部分を破線で囲んで示すこととしている。この囲み破線は現実に表されるものではない。
この場合、レイアウト処理部24の処理等によって個々の文字の画素塊に外接する矩形(基本矩形)が画定され、代表色決定部51が、各基本矩形ごとに代表色を決定する。なお、この代表色決定部51によって決定される代表色は、個々の文字、例えば上記「昨日」の「昨」と「日」との2つの文字が元々同じ色(画素値)に設定されていたとしても、同一の画素値になるとは限らず、距離は比較的近いが互いに異なる代表画素値が決定されてもよい。つまり、この代表色決定部51によって、「昨」と「日」、並びに「話」の3つの文字に外接する基本矩形について赤色に近い代表画素値が決定され、他の文字に外接する各基本矩形については、黒色に近い代表画素値が決定される。
同一色領域情報生成部52は、同一と判断される代表画素値に関連づけられる基本矩形をグループとして定める。これにより「昨」と「日」、並びに「話」の3つの文字に外接する基本矩形を画定する情報に一つのグループ代表画素値(これもまた、赤色に近い値として定められる)が関連づけてグループ化され、他の文字に外接する基本矩形を画定する情報に一つのグループ代表画素値(これもまた、黒色に近い値として定められる)が関連づけてグループ化される。
包含画像作成部53は、(グループに関わらず)対象となっている基本矩形のすべてを包含する矩形を生成し、各基本矩形内の画素値を二値化した画像データを包含画像データ(第2画像データとなる)として生成する(図11(b))。
そして基本矩形を画定する情報とグループ代表画素値との組を少なくとも一つ含んでなる同一色領域情報データベースと、包含画像データとを関連づけて、文字線画プレーンデータとして出力する。
一方、色別包含画像作成部54はグループごとに包含画像データ(色別包含画像データ)を生成する(図11(c))。ここで色別包含画像データ内の画素値は二値化しなくてもよい。また、二値化する場合は、色別包含画像データに対応するグループのグループ代表画素値を関連づけて文字線画プレーンデータに含める。そして比較部55が、この色別包含画像作成部54が生成する文字線画プレーンデータ(第1画像データ)と、第2画像データのうち、データのサイズの小さい画像データを選択的に出力し、この出力結果が文字線画プレーンデータとして記憶部12に格納される。
なお、ここでは同一色領域情報データベースに含まれる基本矩形を画定する座標情報は、元の画像データ上の位置を表すものであってもよいし、包含画像データ内での位置を表すもの(例えば包含画像データの右下座標からの相対位置を表す座標情報)に変換されてもよい。
また同一色領域情報データベースには、必ずしもすべての基本矩形を画定する情報が含まれなくてもよい。例えば各グループのうち、含まれる基本矩形の数が最大となっているグループ(最大グループと呼ぶ)のグループ代表画素値を図11(b)に示した包含画像データに関連づけ、当該最大グループの情報を同一色領域情報データベースから除去してもよい。
この場合、元の画像データを生成する側ではまず、包含画像データのビットマップを再現して、その内部の黒画素(オンとなっている画素)の画素値を、包含画像データに関連づけられたグループ代表画素値(最大グループのグループ代表画素値)に設定し、次いで、同一色領域情報データベース内の各グループごとに、当該ビットマップ上で各グループに含まれる基本矩形に相当する領域内でオンとなっている画素について、各グループのグループ代表画素値に設定し直すことになる。
また、ここでは最大グループのグループ代表画素値とすることとしたが、予め定めた色(例えば黒色)に最も近いグループ代表画素値を図11(b)に示した包含画像データに関連づけ、当該グループ代表画素値に関するグループの情報を同一色領域情報データベースから除去してもよい。
さらに、基本矩形内の画素値がばらついている場合に配慮して、代表色決定部51は、平滑化処理を行ってから代表画素値を決定してもよい。ここで平滑化処理としては、各基本矩形内の各画素を順次注目画素として特定し、注目画素の値とそれに隣接する画素の値との平均値を注目画素の値とする処理などがある。
さらにこの平滑化処理の際に、基本矩形内で文字を構成する画素(例えば二値化処理により黒画素となる部分)のみを注目画素として選択してもよい。また平滑化の処理において、平均値を演算する際は当該文字を構成する画素の値のみを参照して平均値を演算することとしてもよい。これにより、文字以外の部分の画素値を参照することにより、文字の代表色が背景色に影響されることが防止される。
ここで平滑化処理してから決定した代表値について補正を行ってもよい。すなわち、本実施の形態の同一色領域分離部25は、決定した代表値の候補についてその輝度を補正して、補正後の値を代表値として決定する。ここで輝度の補正は、例えば図12に示すようなトーンカーブ(補正関数)を用いて補正することができる。この図12に示すトーンカーブは、入力値(補正前の代表値候補の輝度)が最小値MINから第1しきい値TH1までに対する出力値(補正後の値、つまり代表値として決定される値の輝度)が最小値MINであり、第2しきい値TH2(ただしTH2>TH1)から、最大値MAXまでに対する出力値が最大値MAXであるように設定されている。また、このトーンカーブは、入力値が最大値MAXと最小値MINとの間の中央の値MID(例えば最大値が「255」であり最小値が「0」であるときにはMIDは「128」となる)であるときに、これに対する出力値が略MIDとなるように設定されてもよい。
つまり同一色領域分離部25は、代表値の候補(本実施の形態ではYCbCrで表されることとしている)の輝度成分(Y)について、図12のトーンカーブによる補正を行って、代表値の輝度(Y′)を決定し、このY′と、代表値の候補の色差成分Cb,Crとによって特定される値を代表値として決定する。
なお、代表値候補がRGBなど、輝度成分を含まない色空間で表現されている場合は、L*a*b*や、YCbCrなど、輝度成分を含む色空間の値に変換してから上記処理を行うこととすればよい。
さらに、ここでは輝度のみを補正したが、色差成分についても補正を行ってもよい。具体的に同一色領域分離部25は、代表値候補の各色差成分が所定の条件を満足しているときに、当該代表色候補値の輝度成分値に関する階調数を低減する補正を行い、当該補正後の値を代表値として決定してもよい。
具体的には、図13に示すように、L*a*bの色空間で表現された代表値候補の色差成分(a*、b*)が、それぞれ対応する色差成分の値域の中心値からの所定範囲内(図13のTHa,THbで画定される円の内部)にあるとの条件を満足している場合に、例えば256階調で表現された輝度成分Lを4階調または8階調など所定階調に低減する。この場合、色差成分の値を上記中心値に設定してもよい。ここで、各成分ごとの所定範囲THa,THbは、同じ値であってもよいし、異なる値であってもよい。
この処理により、特に文字色がグレー(黒を含む)である場合に、その文字色の本来の色を再現した代表値が設定される。例えば文字色が黒であるときに色差成分と輝度成分とは本来「0」であるが、スキャナの特性や、元の画像データのエンコード形式(例えばJPEGなど)の特性によっては、色差成分が「0」でなくなってしまったり、輝度成分が「0」でなくなってしまう場合がある。そこでここで示した色差成分に関する処理を行うことで、代表値を本来の黒色とすることができるようになる。
このように本実施の形態によれば、処理対象となった画像データ内に画定される注目画像領域としての基本矩形や行矩形内の画素値に基づいて当該注目画像領域の代表色候補を決定し、その輝度を補正して、代表色を決定することとしている。
なお、ここでは平滑化処理を行った後で、補正処理を行って代表値を決定しているが、この処理順序を逆にして各画素について上記補正処理を行った後で、各画素値の平滑化処理を行ってヒストグラムを演算し、代表値を決定してもよい。なお、ここでは文字の場合を説明したが、線画についても同様の処理が行われることとなる。
こうした平滑化と補正の処理によって、本実施の形態においては、文字や線画を構成する画素値にばらつきがあっても、当該ばらつきの影響を軽減して、元の画像データの色と違和感のない代表色を決定することができる。
[6.穴埋処理部]
穴埋処理部26は、元の画像データのうち、絵柄候補領域に相当する領域を抽出し、この領域内からレイアウト処理部24の処理で検出された文字の画素(文字を構成する画素)を除去して、絵柄部分画像データを生成する。このとき例えば下地部分を絵柄部分画像データに含めてもよい。
そして、この絵柄部分画像データの各画素をラスタスキャン順に走査し、走査により選択される注目画素が除去された画素でなければ、当該注目画素の画素値をそのままとするとともに、当該注目画素の画素値を直前画素値として記憶部12のワークメモリに記憶する。なお、既に他の画素値が直前画素値として記憶されている場合は、その記憶内容に上書きする。
また、走査により選択される注目画素が除去された画素である場合、当該注目画素の画素値を、記憶している直前画素値に設定する。これにより除去された部分の画素値が、ラスタスキャン順に直前画素値と同一になり、多くの圧縮処理において圧縮効率を向上させることができるようになる。
そしてこの処理を行った後の絵柄部分画像データを絵柄プレーンデータとして記憶部12に格納する。
[7.圧縮処理部]
圧縮処理部27は、記憶部12に格納されている絵柄プレーンデータを、JPEG圧縮し、圧縮絵柄プレーンデータを生成する。また、この圧縮処理部27は、記憶部12に格納されている文字線画プレーンデータと、この圧縮絵柄プレーンデータとを連結して一連のデータを生成する。
具体的にこの一連のデータとしては、PDF(Portable Document Format)データとすることができる。すなわち、圧縮絵柄プレーンデータを伸長して生成したビットマップ(絵柄プレーンデータのビットマップ)を生成させる指示と、当該絵柄プレーンデータのビットマップ上に文字線画プレーンデータに含まれる各文字や線画を描画させる指示とを含むPDFデータとする。
ここで文字線画プレーンデータに含まれる各文字や線画を描画させる指示は、文字線画圧縮データと、これに関連する代表色の情報と基本矩形等の座標情報との組を一つずつ読み出し、それぞれの組について、文字線画圧縮データを伸長して二値化画像を生成し、この二値化画像の黒画素の色を代表色に設定し、絵柄プレーンデータのビットマップ上において、上記基本矩形等の座標情報として設定された位置に透過合成する指示である。ここで透過合成とは、二値化画像のうち黒画素(代表色に設定された画素)以外の画素については上書きせず、代表色に設定された画素のみを上書きすることをいう。
圧縮処理部27は、この生成したPDFデータを記憶部12に格納し、または画像出力部14にこのPDFデータを出力して、外部の装置に送出させる。
[動作]
本実施の形態の画像処理装置は、上述の構成を有しているので、次のように動作する。ここでは図14(a)に示すような文字部分(T1,T2)と、写真部分(P)と、線画部分としての地図部分(M)とを含むドキュメントが画像入力部13から入力され、このドキュメントの画像データを処理対象とする場合を例として説明する。この図14(a)の例においては写真部分(P)内に文字部分の一部(T2)が重ね合わせられている。また地図部分(M)には、道路線図と文字とが入組んでいる。なお、ここでは便宜的に白黒で示しているが、実際には地図部分の道路線図と文字とは互いに異なる色で表され、写真はカラーで構わない。
前処理部21は、この画像データの画素値を所定色空間(YCbCr)の値に変換する。絵柄候補部分特定処理部22は、この画像データ(元の画像データ)を二値化処理し、その小領域を除去して文字部分(T1)や線図(M)を除去した画像データを生成する(図14(b))。さらに、絵柄候補部分特定処理部22は、この画像データから背景領域(画像データの境界に隣接する部分)を塗潰し処理等によって特定して除去し、絵柄候補部分を特定する。このとき、文字や道路線図のほとんどが除去されるが(部分的に残存しても構わない)、写真部分に重ね合わせられた文字は、そのまま絵柄候補部分に含まれることととなる。
文字線画抽出処理部23は、元の画像データを二値化し、小領域部分を特定するなどの方法で文字線画部分を抽出する。この際において、元の画像データを複数の領域に分割し、分割して得られた各領域ごとに二値化のしきい値を適応的に定める方法(特許文献2に開示の方法など)によって二値化を行うことで、地図等着色された部分からも文字の抽出を可能としている(図14(c))。
レイアウト処理部24は、絵柄候補部分内でレイアウト解析処理を行い、絵柄候補部分内に残存する文字部分(T2)を抽出する。同一色領域分離部25は、文字線画抽出処理部23やレイアウト処理部24で抽出された文字部分や線図部分について、個々の文字や線画部分ごとに代表色を定め、同一色と判断される代表色に関係する文字や線画部分をグループ化する。そして文字線画抽出処理部23やレイアウト処理部24で抽出された文字部分や線図部分を包含する画像データを生成し、この画像データを二値化(又はグレイスケールに変換するなど、画像データの画素値情報のサイズを低減できればよい)し、さらに圧縮処理して包含画像データとし、図15に示すように、グループごとのグループ代表色と、グループに含まれる基本矩形(個々の文字に外接する矩形)を画定する座標情報と、包含画像データと、当該包含画像データの元の画像データ上の位置を特定する座標情報と、を含む文字線画プレーンデータを生成する。
穴埋処理部26は、絵柄候補部分から、それに内在していた文字部分(T2)を除去した画像データを生成する(図14(d))。なお、本来は文字部分T2の文字形状通りに白抜きとなるのであるが、図14(d)では図面を見やすくするため当該文字形状を含む矩形部分を白抜きにして図示している。また、図14(d)、(e)は絵柄画像部分のみを図示している。そして穴埋処理部26が当該除去された画素の値を、スキャンライン順で最近傍の画素値(除去されていない画素値)に設定して(図14(e))、絵柄プレーンデータを生成する。
圧縮処理部27は、絵柄プレーンデータについてJPEG圧縮を行い、文字線画プレーンデータと組み合せてPDFデータを生成し、これを画像出力部14に出力する。画像出力部14は、このPDFデータを外部の装置に出力する。
ここで圧縮処理部27は、絵柄プレーンデータについてJPEG圧縮の前に画像のサイズを縮小する処理(縮小処理)を行って圧縮率をより向上させることとしてもよい。
なお、元の画像データから絵柄プレーンに含まれる画像部分と文字線画データに含まれる画像部分とを除いた背景画像領域については、絵柄画像プレーンと同様に穴埋処理し、ランレングス等の方法で圧縮処理し、PDFデータに含めてもよい。
このPDFデータを受けた側では、背景画像領域のランレングス圧縮を伸長してベースの画像データを生成し、絵柄プレーンデータのJPEG圧縮を伸長して拡大処理し、ベースの画像データに不透明合成し、さらに文字線画プレーンデータを伸長して得た各画像データについては、包含画像データの有意な画素にグループ代表色を設定した画像データを生成し、その包含画像データ関連付けられた座標情報によって特定される位置に当該生成した画像データを合成して元の画像データを再現すればよい。
11 制御部、12 記憶部、13 画像入力部、14 画像出力部、21 前処理部、22 絵柄候補部分特定処理部、23 文字線画抽出処理部、24 レイアウト処理部、25 同一色領域分離部、26 穴埋処理部、27 圧縮処理部、31、71 二値化処理部、32 連結画素抽出部、33 特徴量算出部、34 属性判定部、35 非絵柄領域処理部、36 背景領域塗潰部、37,44 絵柄候補領域作成部、38 膨張収縮部、41 反転ラベリング処理部、42 境界判定部、43 領域除去部、51 代表色決定部、52 同一色領域情報生成部、53 包含画像作成部、54 色別包含画像作成部、55 比較部、72 ラベリング処理部、73 サイズ情報演算部、74 有意画素距離情報演算部、75 判定部。