(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
実施形態1.
図1は、本発明による領域分離装置の第1の実施形態(実施形態1)を適用した画像形成装置の構成を示すブロック図である。
図1を参照して、本発明による領域分離装置の第1の実施形態の構成を説明する。なお、本実施形態において、領域分離装置は
図1に示す領域分割部12に相当する。
【0017】
図1に示す画像形成装置10は、カラー複合機やファクシミリ等の画像形成装置であって、スキャナ装置(図示せず)から入力される入力画像データに基づいて、入力画像データが示す入力画像を文字領域と他の画像領域(非文字領域)とに分離する。スキャナ装置は、例えば、カラースキャナである。スキャナ装置は、文書や画像ファイル等の画像から画像データを読み取り、入力画像データとして画像形成装置10に入力する。画像形成装置10は、画像入力部11、領域分割部12、文字領域圧縮部13、非文字領域圧縮部14、画像結合部15および蓄積部16を備える。
【0018】
画像入力部11は、スキャナ装置によって画像から読み取られた入力画像データが入力される。領域分割部12は、画像入力部11に入力された入力画像データが示す入力画像について、画素ごとに、文字領域に存在する画素か、非文字領域に存在する画素かを判定して、入力画像を文字領域と非文字領域とに分離する。領域分割部12が入力画像を文字領域と非文字領域とに分離する処理は、
図2〜
図4を参照して後述する。
【0019】
文字領域圧縮部13は、領域分割部12によって文字領域に存在する画素と判定された画素を集めて、最適な圧縮方式によって文字領域の画像データに圧縮する。例えば、文字領域圧縮部13は、MH(Modified Huffman)、MR(Modified READ(Relative Element Address Designate))、MMR(Modified Modified READ)、またはJBIG(Joint Bi-level Image experts Group)等の2値画像圧縮方式に加えてカラーパレットを応用して、文字領域の画像データを圧縮する。
【0020】
非文字領域圧縮部14は、領域分割部12によって非文字領域に存在する画素と判定された注目画素を集めて、最適な圧縮方式によって非文字領域の画像データに圧縮する。例えば、非文字領域圧縮部14は、JPEG(Joint Photographic Experts Group)、JPEG2000、またはJPEG−XR(JPEG eXtended Range )等の画像圧縮方式を用いて非文字領域の画像データを圧縮する。
【0021】
なお、文字領域圧縮部13は、非文字領域圧縮部14による非文字領域の画像データに対する圧縮率よりも低い圧縮率で、文字領域の画像データに対する圧縮処理を行う。
【0022】
画像結合部15は、文字領域圧縮部13および非文字領域圧縮部14によってそれぞれ圧縮された文字領域の画像データと非文字領域の画像データとを結合する。画像結合部15は、文字領域の画像データおよび非文字領域の画像データを、例えば、PDF(Portable Document Format)、コンパクトPDF、またはTIFF(Tagged Image File Format)等の符号化形式による1つのファイルフォーマットの画像に結合する。
【0023】
蓄積部16は、画像結合部15によって結合された圧縮画像データを蓄積する。なお、蓄積部16は、画像形成装置10の外部に設けられたメモリ装置であってもよい。
【0024】
なお、領域分割部12、文字領域圧縮部13、非文字領域圧縮部14、および画像結合部15は、例えば、あらかじめ定められたプログラムに従って動作するCPUによって実現される。
【0025】
次に、動作について説明する。
図2は、
図1に示す領域分離装置の動作例を示すフローチャートである。
図2を参照して、
図1に示す画像形成装置10の領域分割部12が入力画像を文字領域と非文字領域とに分離する処理について説明する。
【0026】
まず、領域分割部12は、文字領域と非文字領域の分離を判定するために必要なパラメータとして、画素範囲の境界値(パラメータA)、エッジ係数の閾値(パラメータB)、およびエッジ画素数の閾値(パラメータC)を決定する(ステップS11)。
【0027】
パラメータAは、注目画素を中心とした画素範囲(注目画素が文字領域であるか非文字領域であるかの判定のために用いられる領域)の境界を決定する値である。パラメータBは、画素範囲の各画素についてのエッジ係数と比較して、注目画素がエッジ画素であるか否かを判定するための閾値である。パラメータCは、主走査と副走査方向に沿った所定の画素範囲におけるエッジ画素の数と比較して、注目画素が文字領域にある画素(文字画素)であるか否かを判定するための閾値である。
【0028】
各パラメータの値は、あらかじめ統計データを用いた検証に基づいて求められた数値が用いられてもよいし、その他の方法によって指定されてもよい。例えば、パラメータAを3、パラメータBを10、パラメータCを2とする。この場合、例えば、あらかじめパラメータA,B,Cを記憶部(図示せず)に記憶しておき、ステップS11では、記憶部からパラメータA,B,Cを抽出してもよい。また、例えば、ステップS11では、ユーザの操作に従ってパラメータA,B,Cを入力してもよい。
【0029】
領域分割部12は、入力画像中のいずれかの画素を注目画素とし、以下のステップS12〜S21における処理を実行する。そして、領域分割部12は、入力画像中の全ての画素について、この処理を行う。
【0030】
領域分割部12は、画像入力部11に入力された入力画像データが示す入力画像のうちから、注目画素にラプラスフィルタ(ラプラシアンフィルタともいう)を適用してフィルタ処理を実行する(ステップS12)。
【0031】
図3は、ラプラスフィルタの画素係数を示す説明図である。
図3に示す3×3ラプラスフィルタは、注目画素および注目画素を中心として隣接する8つの隣接画素に適用される。
図3に示すラプラスフィルタ内の各マスの数字(注目画素「+8」,隣接画素「−1」)は、3×3ラプラスフィルタの重み係数、すなわち画素係数である。画素係数は、エッジ係数を求めるために利用される。なお、本実施形態では、ラプラスフィルタの範囲は、入力画像の解像度によって変化せず、固定であるものとする。
【0032】
領域分割部12は、ラプラスフィルタの画素係数を用いて、注目画素のエッジ係数を算出する(ステップS13)。具体的には、領域分割部12は、注目画素成分を8倍した値から隣接画素成分の総和を引いた値を8で割った結果を、注目画素のエッジ係数とする。
(式1)は、エッジ係数の算出式である。(式1)には、座標(x,y)に存在する画素の画素成分をPix(x,y)と表す場合に、当該画素のエッジ係数を算出する計算式が示されている。
【0034】
ステップ13において領域分割部12がエッジ係数を算出する注目画素の座標を(X,Y)とする。
図4は、パラメータAで指定された画素範囲の画素を示す説明図である。Aは、画素範囲の境界値であるパラメータAの値に相当する。
図4において、注目画素の座標を(X,Y)とするとき、注目画素を中心とする主走査方向に(2A+1)の画素範囲に存在する各画素、すなわち、座標(X−A,Y)から座標(X+A,Y)に存在する各画素を、パラメータAで指定された画素範囲の主走査方向の各周辺画素と呼ぶ。また、注目画素を中心とする副走査方向に(2A+1)の画素範囲に存在する各画素、すなわち、座標(X,Y−A)から座標(X,Y+A)に存在する各画素を、パラメータAで指定された画素範囲の副走査方向の各周辺画素と呼ぶ。
【0035】
ステップS13において、領域分割部12は、注目画素(X,Y)のエッジ係数を算出するだけでなく、パラメータAで指定された画素範囲の主走査方向および副走査方向の各周辺画素についても、それぞれの画素のエッジ係数を算出する。なお、ステップS13において、領域分割部12は、画像入力部11に入力された入力画像データが示す入力画像の全ての画素について、各画素のエッジ係数を算出してから、ステップS14以降の処理を実行してもよい。なお、主走査方向と副走査方向とでパラメータAは必ずしも同じでなくてもよく、エッジ画素数の算出に支障がない範囲で値が異なっていてもよい。
【0036】
次に、領域分割部12は、主走査方向の各周辺画素のエッジ係数と、エッジ係数の閾値であるパラメータBの値とをそれぞれ比較する(ステップS14)。領域分割部12は、主走査方向の各周辺画素について、パラメータBの値以上を示すエッジ係数を持つ画素の数を、主走査方向のエッジ画素数G1としてカウントする(ステップS15)。
【0037】
領域分割部12は、副走査方向の各周辺画素のエッジ係数と、パラメータBの値とをそれぞれ比較する(ステップS16)。領域分割部12は、副走査方向の各周辺画素について、パラメータBの値以上を示すエッジ係数を持つ画素の数を、副走査方向のエッジ画素数G2としてカウントする(ステップS17)。
【0038】
領域分割部12は、ステップS15においてカウントした主走査方向のエッジ画素数G1と、ステップS17においてカウントした副走査方向のエッジ画素数G2とを比較して、G1とG2のうちの大きい方の値を、パラメータAで指定された画素範囲における全体エッジ画素数Gを決定する(ステップS18)。なお、ステップS18において、全体エッジ画素数Gの決定方法は本実施形態で示したものに限らず、例えば、主走査方向のエッジ画素数G1と副走査方向のエッジ画素数G2との合計値を全体エッジ画素数Gとしてもよい。
【0039】
また、例えば、ステップS14〜15における主走査方向のエッジ画素数G1をカウントする動作と、ステップS16〜17における副走査方向のエッジ画素数G2をカウントする動作とのいずれか一方のみ実行するものでもよい。そのような場合には、カウントを実行した主走査方向のエッジ画素数G1または副走査方向のエッジ画素数G2を、ステップS18における全体エッジ画素数Gとする。
【0040】
領域分割部12は、ステップS18において決定した全体エッジ画素数Gと、エッジ画素数の閾値であるパラメータCの値とを比較する(ステップS19)。一般に、文字領域の画像は、非文字領域の画像に比べてコントラストが大きく、エッジ画素数が多い。一方、非文字領域の画像は、画素成分間の変化が滑らかなので、所定の画素範囲におけるエッジ画素数は、文字領域の画像の場合のエッジ画素数よりも少なくなる。
【0041】
したがって、ステップS19において全体エッジ画素数GがパラメータCの値よりも大きい(G>C)場合には、領域分割部12は、座標(X,Y)に存在する注目画素は、文字領域に存在すると判定する(ステップS20)。
【0042】
また、ステップS19において全体エッジ画素数GがパラメータCの値以下(G≦C)の場合には、領域分割部12は、座標(X,Y)に存在する注目画素は、非文字領域に存在すると判定する(ステップS21)。
【0043】
ステップS1〜S21における動作によって、領域分割部12は、入力画像の注目画素が文字領域に存在するか非文字領域に存在するかを判定する。領域分割部12は、入力画像中の全画素について同様の処理を実行することによって、文字領域と非文字領域とに分離することができる。なお、領域分離の精度がよくない場合、ユーザは、パラメータA,B,Cの値を設定し直して、再度、
図2に示す処理を実行してもよい。
【0044】
注目画素が文字領域に存在すると判定されるためには、注目画素の画素成分が、3×3のラプラスフィルタの範囲内にある周辺画素の画素成分よりも大きいことが必要となる。ここで、パラメータBの値は、画素全体の濃度に依存する。画素全体の濃度が高くなるとパラメータBの値は大きくなる。全体エッジ画素数Gを決定するためのエッジ画素数G1,G2は、周辺画素のエッジ係数がパラメータBの値以上であるカウント数によって決定されるので、パラメータBの値が大きくなれば、カウント数は下がり、全体エッジ画素数Gの値は小さくなる。全体エッジ画素数Gの値が小さくなると、ステップS19におけるパラメータCとの比較の結果、当該周辺画素に対する注目画素が文字領域に存在すると判定される確率は低くなる。したがって、文字領域と判定される画素が多すぎる場合には、パラメータBの値を小さく設定すればよい。また、非文字領域と判定される画素が多すぎる場合には、パラメータBの値を大きく設定すればよい。
【0045】
また、エッジ画素数G1,G2は、注目画素を中心として主走査方向または副走査方向にそれぞれ(2A+1)の画素範囲の各画素のエッジ成分を用いてカウントされる。したがって、パラメータAの値が大きければ、非文字領域に存在すると判定される注目画素が増える。すなわち、効率の高い文字領域分離を行うためには、パラメータAの値を小さくする必要がある。また、パラメータCは、パラメータAで指定された画素領域でのエッジ画素数の閾値であり、パラメータAと相関関係を持つ。したがって、高性能に文字領域の分離を行うためには、パラメータAおよびパラメータCを合わせて増減しなければならない。すなわち、分離結果の精度に応じて、パラメータA,Cともに増加させたり、パラメータA,Cともに減少させたりすればよい。
【0046】
図5は、
図1に示す領域分離装置による領域分離の実施前後の画像例を示す説明図である。
図5(a)は、領域分離が実施される前の入力画像を示す。入力画像は、例えば、600dpi×800dpiの解像度で読み取られて入力される。なお、ラプラスフィルタが適用される範囲は、読み取りの解像度によって変化しない。
図5(b)は、
図5(a)に示された入力画像に対して、領域分割部12がステップS1〜S21に示す文字領域の分離処理を行った結果の分離画像を示す。なお、
図5に示される画像は、パラメータ(A,B,C)=(3,10,2)として分離処理が実施される。
【0047】
図6は、
図1に示す領域分離装置による領域分離の実施前後の画像例を示す説明図である。
図6(a)は、領域分離が実施される前の入力画像を示し、
図5(a)に示す入力画像と同じである。入力画像は、例えば、600dpi×800dpiの解像度で読み取られて入力される。なお、ラプラスフィルタが適用される範囲は、読み取りの解像度によって変化しない。
図6(b)は、
図6(a)に示された入力画像に対して、領域分割部12が、
図5に示す画像とは異なるパラメータ(A,B,C)=(2,10,1)によって分離処理を行った結果の分離画像を示す。
【0048】
図5(b)および
図6(b)に示す分離画像は、領域分離の実施前の入力画像(
図5(a),
図6(a))と比べると、文字の輪郭にあたるエッジ部分が強調され、文字領域の分離処理が行われていることがわかる。このような領域分割部12では、注目画素の隣接画素の関係を考慮した一つのラプラシアンを用いて文字領域を判定するため、処理時間などの削減が可能である。また、領域分割部12は、注目画素の周りの全周辺画素におけるエッジ画素の連続性に基づく方法に比べて、主走査方向と副走査方向の周辺画素におけるエッジ画素の個数に基づいて文字領域の画素を判定するため、少ない計算量でも精度よく文字領域の分離を行うことができる。
【0049】
さらに、パラメータA,Cの値がより小さく設定された
図6(b)に示す画像は、
図5(b)に示す画像よりも、サイズが小さい画像領域について、高い精度でエッジ部分が強調され、文字領域の分離処理が行われている。例えば、9級の「に」の画像を比較すると、文字領域の分離が改善されていることがわかりやすい。また、パラメータの調整を行うことによって、サイズの小さい画像領域だけでなく、濃度の低い画像領域に対する分離処理の精度をあげることもできる。すなわち、領域分割部12は、各パラメータの値を調整し(この場合は、パラメータA,Cの値を小さくする)、画像領域の濃淡やサイズに対応した設定を行うことによって、精度よく文字領域の分離を行うことができる。
【0050】
以上に説明したように、本実施形態によれば、簡単な仕組みで精度よく、かつ処理コストの増加を抑えつつ文字領域の分離を実現することができる。
【0051】
実施形態2.
図7は、本発明による領域分離装置の第2の実施形態(実施形態2)の構成を示すブロック図である。
図7を参照して、本発明による領域分離装置の第2の実施形態の構成を説明する。第1の実施形態では、領域分離装置をプログラム制御により実現する場合を示したが、本実施形態では、ハードウェア回路を用いて領域分離装置を実現する場合を説明する。
【0052】
領域分離装置20は、ラプラスフィルタ回路21、および比較回路22,23,24の回路を有する。ラプラスフィルタ回路21、および比較回路22,23,24は、
図1に示す画像形成装置10の領域分割部12に相当する。
【0053】
領域分離装置20は、カラー複合機やファクシミリ等の画像形成装置に備えられたスキャナ装置から入力される入力画像データに基づいて、入力画像データが示す入力画像を文字領域と非文字領域とに分離する。
【0054】
ラプラスフィルタ回路21には、画像入力部11から入力画像の信号が入力される。ラプラスフィルタ回路21は、入力された入力画像信号に対して、例えば、
図3に示されたラプラスフィルタの画素係数を注目画素と隣接画素の画素成分に演算する。その結果、ラプラスフィルタ回路21は、注目画素のエッジ係数を決定する。ラプラスフィルタ回路21は、決定したエッジ係数を比較回路22および比較回路23に出力する。
【0055】
比較回路22は、入力パラメータAとして、画素範囲の境界値を示すパラメータAが入力される。比較回路22は、入力パラメータBとして、エッジ係数の閾値を示すパラメータBが入力される。比較回路22は、パラメータAに基づいて主走査方向の周辺画素を特定し、ラプラスフィルタ回路21から入力されたエッジ係数のうち、注目画素および主走査方向の周辺画素のエッジ係数について、パラメータBの値とそれぞれ比較する。比較回路22は、パラメータBの値以上のエッジ係数を有する周辺画素の数を、主走査方向のエッジ画素数G1としてカウントする。比較回路22は、出力パラメータG2として主走査方向のエッジ画素数G1を比較回路24に出力する。
【0056】
比較回路23は、入力パラメータAとして、画素範囲の境界値を示すパラメータAが入力される。比較回路23は、入力パラメータBとして、エッジ係数の閾値を示すパラメータBが入力される。比較回路23は、パラメータAに基づいて副走査方向の周辺画素を特定し、ラプラスフィルタ回路21から入力されたエッジ係数のうち、注目画素および副走査方向の周辺画素のエッジ係数について、パラメータBの値とそれぞれ比較する。比較回路23は、パラメータBの値以上のエッジ係数を有する周辺画素の数を、副走査方向のエッジ画素数G2としてカウントする。比較回路23は、出力パラメータG2として副走査方向のエッジ画素数G2を比較回路24に出力する。
【0057】
比較回路24は、入力パラメータCとして、エッジ画素数の閾値を示すパラメータCが入力される。比較回路24は、主走査方向のエッジ画素数G1、副走査方向のエッジ画素数G2、およびパラメータCに基づいて、注目画素が文字領域に存在する画素であるか、非文字領域に存在する画素であるかを判定する。
【0058】
具体的には、主走査方向のエッジ画素数G1および副走査方向のエッジ画素数G2のうちの大きい方の値を全体エッジ画素数Gとするときに、比較回路24は、全体エッジ画素数GとパラメータCの値とを比較し、全体エッジ画素数GがパラメータCの値よりも大きい(G>C)場合には、注目画素が文字領域に存在する画素であると判定する。また、全体エッジ画素数GがパラメータCの値以下(G≦C)の場合には、注目画素が非文字領域に存在する画素であると判定する。比較回路24は、判定結果に従って、入力画像を文字領域の画素と非文字領域の画素とに分離して、それぞれ文字領域圧縮部13または非文字領域圧縮部14に出力する。
【0059】
以上に説明したように、本実施形態によれば、回路を用いてハードウェア的に、第1の実施形態の領域分割部12と同様に、簡単な仕組みで精度よく文字領域の分離を行うことができる。特に、ハードウェア的には、回路規模の小型化や処理時間の抑制を期待することができる。
【0060】
図8は、本発明による領域分離装置の主要部を示すブロック図である。
図8に示すように、領域分離装置(例えば、
図1に示す領域分割部12に相当)は、ラプラスフィルタを用いたフィルタ処理を実行し、画像データ中の注目画素を含む主走査方向または副走査方向の各画素のエッジ係数を算出する(例えば、
図2に示すステップS12〜S13における動作によって実現される。)エッジ係数算出手段1と、エッジ係数算出手段1によって算出されたエッジ係数に基づいて、注目画素に対するエッジ画素数を算出する(例えば、
図2に示すステップS14〜S18における動作によって実現される。)エッジ画素数算出手段2と、エッジ画素数算出手段2によって算出されたエッジ画素数に基づいて、注目画素が文字領域に含まれる画素であるか否かを判定する(例えば、
図2に示すステップS19〜S21における動作によって実現される。)文字領域判定手段3とを備えるように構成されている。
【0061】
また、例えば、領域分離装置は、
図7に示す領域分離装置20に相当する。エッジ係数算出手段1は、
図7に示すラプラスフィルタ回路21に相当する。エッジ画素数算出手段2は、
図7に示す比較回路22および比較回路23に相当する。文字領域判定手段3は、
図7に示す比較回路24に相当する。
【0062】
また、上記の各実施形態では、以下の(1)〜(5)に示すような領域分離装置も開示されている。
【0063】
(1)エッジ画素数算出手段は、注目画素を含む主走査方向または副走査方向の各画素のうち、エッジ係数算出手段が算出したエッジ係数が所定の係数用閾値(例えば、パラメータB)以上である画素数を計数することによってエッジ画素数(例えば、全体エッジ画素数G)を算出する領域分離装置。
【0064】
(2)エッジ画素数算出手段は、注目画素を含む主走査方向の各画素のうち、エッジ係数算出手段が算出したエッジ係数が所定の係数用閾値以上である画素数を計数することによって主走査方向画素数を算出し、注目画素を含む副走査方向の各画素のうち、エッジ係数算出手段が算出したエッジ係数が所定の係数用閾値以上である画素数を計数することによって副走査方向画素数を算出し、算出した主走査方向画素数と副走査方向画素数とのうち、値が大きい方をエッジ画素数として算出する(例えば、
図2に示すステップS18における動作によって実現される。)領域分離装置。
【0065】
(3)文字領域判定手段は、エッジ画素数算出手段が算出したエッジ画素数が所定の画素数用閾値(例えば、パラメータC)以上であるか否かを判定することによって、注目画像が文字領域に含まれる画素であるか否かを判定する(例えば、
図2に示すステップS19〜S21における動作によって実現される。)領域分離装置。
【0066】
(4)文字領域判定手段は、エッジ画素数算出手段が算出したエッジ画素数が所定の画素数用閾値以上であると判定すると、注目画像が文字領域に含まれる画素であると判定し、エッジ画素数算出手段が算出したエッジ画素数が所定の画素数用閾値以上ではないと判定すると、注目画像が非文字領域に含まれる画素であると判定する領域分離装置。
【0067】
(5)エッジ係数算出手段は、画像データ中の画素のうち、注目画素を含むあらかじめ定められた境界値(例えば、パラメータA)で示される範囲内の主走査方向または副走査方向の各画素のエッジ係数を算出する領域分離装置。