JP2004282323A - 画像処理装置およびその方法 - Google Patents
画像処理装置およびその方法 Download PDFInfo
- Publication number
- JP2004282323A JP2004282323A JP2003069816A JP2003069816A JP2004282323A JP 2004282323 A JP2004282323 A JP 2004282323A JP 2003069816 A JP2003069816 A JP 2003069816A JP 2003069816 A JP2003069816 A JP 2003069816A JP 2004282323 A JP2004282323 A JP 2004282323A
- Authority
- JP
- Japan
- Prior art keywords
- bdt
- pixel
- image
- parameter
- binary signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Color, Gradation (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】画像の端部における孤立量の算出をハードウエアを著しく増加させることなく、正確に行うことを目的とする。
【解決手段】入力信号から画素値の孤立量を算出するために、そのサイズが互いに異なる複数の領域に対して、入力信号から所定の演算を行って得られた2値信号から、固有のパラメータを算出するパラメータ算出手段と、前記パラメータに基づき、前記複数の領域それぞれにおいて、画素値の孤立量を算出する孤立量算出手段と、算出された孤立量を所定の領域において積分する積分手段と、積分された孤立量から、前記属性を有する画像部分を抽出する抽出手段と、前記パラメータ算出手段に対して、複数ラインの入力信号を供給する供給手段とから構成され、前記画像の端部においては、前記供給手段が有する遅延を用いて、前記パラメータの算出前に、有効画素の2値信号を用いて無効画素の2値信号を生成し、前記パラメータの算出を行う。
【選択図】 図1A
【解決手段】入力信号から画素値の孤立量を算出するために、そのサイズが互いに異なる複数の領域に対して、入力信号から所定の演算を行って得られた2値信号から、固有のパラメータを算出するパラメータ算出手段と、前記パラメータに基づき、前記複数の領域それぞれにおいて、画素値の孤立量を算出する孤立量算出手段と、算出された孤立量を所定の領域において積分する積分手段と、積分された孤立量から、前記属性を有する画像部分を抽出する抽出手段と、前記パラメータ算出手段に対して、複数ラインの入力信号を供給する供給手段とから構成され、前記画像の端部においては、前記供給手段が有する遅延を用いて、前記パラメータの算出前に、有効画素の2値信号を用いて無効画素の2値信号を生成し、前記パラメータの算出を行う。
【選択図】 図1A
Description
【0001】
【発明の属する技術分野】
本発明は画像処理装置および方法に関し、例えば、像域分離を行う画像処理に関する。
【0002】
【従来の技術】
文字や網点画像が混在する原稿を複写機でコピーする場合、スキャナ部から入力される画像データに様々な処理が施される。例えば、文字部分をシャープに出力するために画像データにシャープネスを施すフィルタ処理を行う。しかし、網点画像部に同様のフィルタ処理を行うとモワレが発生する。そこで、複写機には、文字再現を重視するモード、網点画像の再現を重視するモードなど、複写モードが複数用意され、原稿画像に応じたフィルタ処理が選択できるように構成されている。
【0003】
また、カラー複写機には、文字領域と網点画像領域とを所定のブロック単位に像域分離して、フィルタ処理を切り替るものもある。
【0004】
カラー複写機において、例えば無彩色画像を読み込んでみると、メカニカルな振動、レンズの色収差、MTFの違いなどにより、色ずれが生じて無彩色画像のエッジ部に有彩色が現れることがある。とくに、網点画像領域と文字領域との区別は難しく、網点画像領域を文字領域と誤判定すると、網点画像にエッジ強調を施すことになりモアレを生じる。逆に、文字領域を網点画像領域と誤判定すると、文字が平滑化されてしまう問題がある。
【0005】
カラー複写機は、ブロック単位に像域分離を行うので、網点画像領域と文字領域の誤判定もブロック単位で発生し、画質劣化の要因になっている。
【0006】
そこで、互いに異なる複数の属性の画像領域を含む画像から、画像の特徴を効率よく、正確に検出し、網点画像領域と文字領域とを良好に区別するために、互いに異なるサイズの複数の領域それぞれにおいて、画素値の孤立量を算出し、算出された孤立量を所定領域において積分し、積分された孤立量に応じて所定属性の画像領域を抽出する像域分離方法が提案されている。そして、入力画像の各画素が、網点画像領域に含まれるか、文字領域に含まれるかを示す信号を発生して、この信号により画像処理を切り替える。
【0007】
以下、従来技術の画像処理装置を図面を参照して詳細に説明する。
【0008】
[像域判定処理]
図8は従来技術の像域判定処理を示すブロック図である。
【0009】
S21〜S34のブロックは、像域判定処理の処理ブロック群であり、S35〜S44はメモリを必要とする処理ブロックS22,S23,S24,S28,S29,S30,S33が、図示していない外部メモリに対して、処理の中間信号を読み書きする上での主走査方向のタイミング調整用のFiFoである。ここで、以下の説明においては、VはCCDセンサの移動方向(副走査方向)を、HはCCDセンサの受光素子の並び方向(主走査方向)をそれぞれ表すこととする。
【0010】
入力D_R[35:0]は中間信号D[5:0]の外部メモリからの6ライン分の読み出しデータであり、出力D_W[35:0]は中間信号D[5:0]の外部メモリへの6ライン分の書き込みデータであり、入力DL0_R[5:0]は中間信号DL0の外部メモリからの6ライン分の読み出しデータであり、出力DL0_W[5:0]は中間信号DL0の外部メモリへの6ライン分の書き込みデータであり、入力D1_R[1:0]は中間信号DL1の外部メモリからの2ライン分の読み出しデータであり、出力DL1_W[1:0]は中間信号DL1の外部メモリへの2ライン分の書き込みデータであり、入力BDT_R[15:0]は中間信号BDTの外部メモリからの16ライン分の読み出しデータであり、出力BDT_W[15:0]は中間信号BDTの外部メモリへの16ライン分の書き込みデータであり、入力KBDT_R[1:0]は中間信号KBDTの外部メモリからの2ライン分の読み出しデータであり、出力KBDT_W[5:0]は中間信号KBDTの外部メモリへの2ライン分の書き込みデータである。
【0011】
また、各処理ブロックが必要とするメモリーデータのワード幅は、後述する各処理ブロックの注目画素に対する(参照範囲の副走査方向の画素数−1)×(中間信号のデータ幅)としている。例えば後述する孤立処理S30においては、1bit信号であるBDTに対して(副走査方向17画素)×(主走査方向21画素)のウインド処理が必要であるため、現在処理中の信号BDTと、外部メモリからの読み出しデータであるBDT_R[15:0]をS41によって後述するレイテンシ分遅延させられたデータBDT_R_d[15:0]の計17ラインのBDTデータを参照して、ウインド処理を行う。同様に、平均濃度加算S22,エッジ強調処理S24、角抜け対策演算S23においては、6bit信号であるD[5:0]に対し(副走査方向7画素)×(主走査方向7画素)のウインド処理が必要であるため、現在処理中の信号D[5:0]と外部メモリからの読み出しデータであるD_R[35:0]をS35によって後述するレイテンシ分遅延させられたデータD_R_d[35:0]の計7ラインのDデータを参照して、ウインド処理を行う。デルタ孤立判定S28においては、1bit信号であるDL0に対し(副走査方向7画素)×(主走査方向7画素)のウインド処理が必要であるため、現在処理中の信号DL0と外部メモリからの読み出しデータであるDL0_R[5:0]を後述するレイテンシ分遅延させられたデータDL0_R_d[5:0]の計7ラインのDL0データを参照して、ウインド処理を行う。デルタ補正S29においては、1bit信号であるDL1に対し(副走査方向3画素)×(主走査方向3画素)のウインド処理が必要であるため、現在処理中の信号DL1と外部メモリからの読み出しデータであるDL1_R[2:0]を後述するレイテンシ分だけ遅延させられたデータDL1_R_d[2:0]の計7ラインのDL1データを参照して、ウインド処理を行う。
【0012】
ノッチ補正/太らせ処理S33においては、1bit信号であるKBDTに対し(副走査方向3画素)×(主走査方向3画素)のウインド処理が必要であるため、現在処理中の信号KBDTと外部メモリからの読み出しデータであるKBDT_R[2:0]を後述するレイテンシ分だけ遅延させられたデータKBDT_R_d[2:0]の計3ラインのKBDTデータを参照して、ウインド処理を行う。
【0013】
次に、各処理ブロックからの外部メモリの書き込みデータの生成に関しては、書き込みデータD_W[35:0]は、読み出しデータD_R[35:0]をMSB側に6bitシフトし、LSB側に現在処理中のD[5:0]信号を格納したデータD_W_p[35:0]をS36により後述するレイテンシ分だけ遅延させることにより行う。つまり、
D_W[35:0]=D_W_p[35:0]=D_R[29:0]&D[5:0]
ここで、&は連結演算子である。そして本書き込みデータD_W[35:0]が、次ラインの同一のH座標における外部メモリからの読み出しデータD_R[35:0]となる。
【0014】
また、BDT_W[15:0]は、読み出しデータBDT_R[15:0]をMSB側に1bitシフトし、LSBに現在処理中のBDT信号を格納したデータBDT_W_p[15:0]を後述するレイテンシ分だけ遅延させることにより行う。つまり、
BDT_W[15:0]=BDT_W_p[15:0]=BDT_R[14:0]&BDT …(100)
である。そして本書き込みデータBDT_W[15:0]が、次ラインの同一のH座標における外部メモリからの読み出しデータBDT_R[15:0]となる。
【0015】
同様に、
DL0_W[5:0]=DL0_W_p[5:0]=DL0_R[4:0]&DL0
DL1_W[2:0]=DL1_W_p[2:0]=DL1_R[1:0]&DL1
KBDT_W[2:0]=KBDT_W_p[2:0]=KBDT_R[1:0]&KBDT
であり、本書き込みデータDL0_W[5:0],DL1_W[2:0],KBDT_W[2:0]が、それぞれ次のラインの同一のH座標における外部メモリからの読み出しデータDL0_R[5:0],DL1_R[2:0],KBDT_R[2:0]となる。
【0016】
また、それぞれのFiFoのレイテンシは、Dデータ読み出しFiFo S35のレイテンシは、G信号入力S21に等しく、Dデータ書き込みFiFo S36のレイテンシは、信号D出力されてから信号MJが出力されるまでのレイテンシに等しく、DL0データ読み出しFiFo S37のレイテンシは、信号G[7:0]が入力されてから信号DL0が出力されるまでのレイテンシに等しく、DL0データ書き込みFiFo S38のレイテンシは、信号DL0が出力されてから、信号MJが出力されるまでのレイテンシに等しく、DL1データ読み出しFiFo S39のレイテンシは、信号G[7:0]が入力されてから信号DL1が出力されるまでのレイテンシに等しく、DL1データ書き込みFiFoS40のレイテンシは、信号DL1が出力されてから、信号MJが出力されるまでのレイテンシに等しく、BDTデータ読み出しFiFo S41のレイテンシは、信号G[7:0]が入力されてから信号BDTが出力されるまでのレイテンシに等しく、BDTデータ書き込みFiFo S42のレイテンシは、信号BDTが出力されてから、信号MJが出力されるまでのレイテンシに等しく、KBDTデータ読み出しFiFo S43のレイテンシは、信号G[7:0]が入力されてから信号KBDTが出力されるまでのレイテンシに等しく、KBDTデータ書き込みFiFo S44のレイテンシは、信号KBDTが出力されてから、信号MJが出力されるまでのレイテンシに等しい。
【0017】
次に、各処理ブロックの処理内容に関して説明する。
【0018】
●G信号入力
像域判定処理は、例えば8ビットのグリーン(G)の色成分信号G[7:0]を入力して、その上位6ビットをD信号D[5:0]にする(S21)。つまりD[V][H]=G1[V][H]/4である。これは、G色成分信号の8ビットを上位6ビットに落としても、像域判定の精度を大幅に落とすことなく、処理時間の短縮、回路規模の縮小を図ることができる。言い換えれば、D信号のビット数は、像域判定の要求精度、要求処理速度、ハードウエア規模の制限などに応じて、適宜設定されるべきものである。
【0019】
●平均濃度加算処理
平均濃度加算処理(S22)は、入力されるD信号について、注目画素を中心とする7×7画素領域の49画素のD信号値を加算して、加算値を1/16にした値AVE7[V][H]を算出する。
【0020】
AVE7[V][H]={Σx=−3 3Σy=−3 3D[V+x][H+y]}/16 …(1)
ただし、0≦AVE7≦192
●角抜け対策演算
角抜け対策演算処理(S23)は、D[V][H]の加算値を以下の7×7画素領域における縦、横および斜め方向に算出し、その中の最大値KAD07[V][H]を出力する。図9は7×7画素領域において算出する領域sum(B)、sum(C)、sum(D)およびsum(E)を説明する図である。
【0021】
ただし、0≦KAD07≦192
●エッジ強調処理
エッジ強調処理(S24)は、注目画素周辺領域のデータを参照し、5×5、3×3および7×7画素領域を使用してエッジ成分を抽出し、抽出したエッジ成分を所定の強度で注目画素に加算することで、注目画素のエッジ強調処理を行う。
【0022】
以下に、エッジ成分を抽出するための演算式を示す。ここで、KOM[x][y]、KM1[x][y]、KM2[x][y]およびKM3[x][y]は、各エッジ成分を抽出するフィルタの係数を示す。図10Aから図10Cはエッジ成分を抽出するフィルタの係数例を示す図である。
【0023】
5×5フィルタで抽出されるエッジ成分EDD55は下式で示される。
【0024】
EDD55=Σx=−2 2Σy = −2 2(D[V+x][H+y]+KMO[x][y]) …(3)3×3フィルタで抽出されるエッジ成分EDD33VおよびEDD33Hは下式で示される。
【0025】
EDD33V=Σx = −1 1Σy = −1 1(D[V+x][H+y]+ KM1[x][y])
EDD33H=Σx = −1 1Σy = −1 1(D[V+x][H+y]+ KM2[x][y])…(4)
7×7フィルタで抽出されるエッジ成分EDD77は下式で示される。
【0026】
EDD77V=Σx = −3 3Σy = −3 3(D[V+x][H+y]+KM3[x][y]) …(5)
式(3)から(5)によって算出されたエッジ成分に所定のゲインを乗算して、注目画素に加算することで、注目画素のエッジ強調処理が行われる。以下にその演算式を示す。
【0027】
ただし、EDGE1>255のときEDGE =255
EDGE1<0のとき EDGE1=0
EDGE2[V][H]=D[V][H]+EDD55×EDKYD3+EDD77×EDKYD4 …(7)
ただし、EDGE2>511のとき EDGE2= 511
EDGE2<−512のときEDGE2=−512
ここで、EDKYD0〜EDKYD4は各エッジ抽出値に乗ずるゲイン
なお、EDKYD0〜EDKYD4は、入力信号G1のMTF特性を補正するように設定されている。とくに、EDD33VおよびEDD33Hは、3×3画素領域における主走査方向および副走査方向のエッジ量が独立に算出された値で、これらに乗算される係数EDKYD1およびEDKYD2は、主走査および副走査のMTFの違いを補正するように設定されている。
【0028】
また、後述する二値化処理(S26)に入力されるEDGE1[V][H]は、0から255の値でクリップされ、EDGE2[V][H]は−512から511の値でクリップされる。
【0029】
●二値化処理
二値化処理(S26)は、エッジ強調処理(S24)でエッジ強調されたEDGE1[V][H]と、平均濃度加算処理(S22)で算出されたAVE7[V][H]とを比較して、二値化信号BDT[V][H]を出力する。
【0030】
EDGE1[V][H]×49/16<AVE7[V][H]
のとき BDT[V][H]=‘1’
EDGE1[V][H]×49/16<AVE7[V][H]
のとき BDT[V][H]=‘0’ …(8)
AVE7[V][H]は、7×7画素領域の49画素データの加算値を16で除した値であるから、式(8)の左辺においても、EDGE1[V][H]を49倍して16で除す。これにより、エッジ強調された注目画素の値EDGE1[V][H]が、7×7画素領域の平均画素値をしきい値として二値化される。なお、上記の演算式は、ビットシフト以外の除算を行わない構成にして、ハードウエアが容易に実現されるよう考慮したものである。
【0031】
また、式(8)の両辺が等しい、つまりAVE7[V][H]=EDGE1[V][H]×49/16の場合、BDT[V][H]は‘0’になるが、これは、均一な濃度領域でBDT[V][H]が常に‘0’になることを示す。
【0032】
また、BDT[V][H]=‘1’になる画素は、周辺領域のD信号平均値よりもEDGE1[V][H]が小さい場合である。これは、平均濃度に対して明度で暗い場合を示し、暗い方向のエッジ成分を有する画素はBDT[V][H]=‘1’に、そうでない画素はBDT[V][H]=‘0’にする。
【0033】
●濃度差判定
濃度差判定(S27)は、エッジ強調処理(S24)から出力されるEDGE2[V][H]と周辺領域との濃度差が所定の濃度差よりも大きい場合にDL[V][H]=‘1’を、そうでない場合はDL[V][H]=‘0’を出力する。
【0034】
判定1:AVE7[V][H]−EDGE2[V][H]×49/16>NOUDOIN
のときENOUD0[V][H]=‘1’
EDGE2[V][H]×49/16−AVE7[V][H]>NOUDOOUT
のときENOUD0[V][H]=‘1’
上記以外のときENOUDO[V][H]=‘0’ …(9)
ただし、NOUDOINおよびNOUDOOUTは設定値
判定2:KADO7[V][H]−EDGE2[V][H]×49/16>NOUDOINK
のときKADO[V][H]=‘1’
EDGE2[V][H]×49/16−KADO7[V][H]>NOUDOOUTK
のときKADO[V][H]=‘1’
上記以外のときKADO[V][H]=‘0’ …(10)
ただし、NOUDOINKおよびNOUDOOUTKは設定値
DLO[V][H]=ENOUDO[V][H]またはKADO[V][H]
EDGE2[V][H]は、エッジ強調処理(S24)で説明したように、正または負の値をとるように算出される。従って、正エッジ成分に対するしきい値としてNOUDOOUT、負エッジ成分に対するしきい値としてNOUDOINを設定する。これらによって、明度が高くなるエッジ領域、および、明度が小さくなるエッジ領域におけるエッジ成分にしきい値を独立に設定することが可能になり、文字領域の内側、外側領域それぞれに関してENOUDO[V][H]=‘1’になる判定が行える。
【0035】
上記の判定2は、文字画像領域の角部分におけるエッジ成分の低下を補うために行われる。図11Aおよび図11Bはエッジ部の画素配置を示す図である。
【0036】
判定1は、エッジ強調された注目画素値EDGE2[V][H]と、その周辺領域の平均画素値との濃度差を二値化して、濃度差成分が大きいか否かを判定するが、同一明度の画素が図11Aおよび図11Bに示すように配置されている場合、エッジ強調処理(S24)において算出されるエッジ成分は、図11Bの配置に比較して、図11Aの配置の方が大きな値になる。従って、判定1では図11Bの配置においてエッジ画素を検出できない場合が発生する。
【0037】
この問題を回避するために判定2を行う。つまり、角抜け対策演算処理(S23)において算出された7×7画素領域の縦、横、斜め成分の加算値における最大値成分と、エッジ強調された注目画素値EDGE2[V][H]との濃度差を判定することで、図11Bの配置においても、エッジ強調された注目画素と周辺画素との濃度差が大きいと判定することが可能になる。
【0038】
●デルタ孤立判定
デルタ孤立判定(S28)は、濃度差判定(S27)から出力されるDL0[V][H]より、孤立したDL0[V][H]を除去する。図12Aは孤立除去に使用する領域の一例を示す図である。図12Aの例では、7×7画素領域を使用して、最外周画素位置にDL0=‘1’の画素が存在しない場合は内側の5×5画素領域のDL0の値を強制的に‘0’に置き換え、注目画素に対する補正結果としてDL1[V][H]=DL0[V][H]にし、DL0[V][H]を孤立除去した結果としてDL1[V][H]を出力する。この処理により、5×5画素よりも小さい領域に孤立して存在するDL0=‘1’の画素の濃度差判定結果は、濃度差が所定値よりも小さいという判定結果に置き換えられる。
【0039】
参照する領域は、7×7画素に限らず、システムが要求する性能により、参照領域を切り替えてもよい。図12Bは参照領域を5×5画素とする例を示す図である。図12Bの例では、3×3画素領域より小さい領域に存在するDL0=‘1’の画素がDL0=‘0’に置き換えられる。
【0040】
●デルタ補正処理
デルタ補正処理(S29)は、デルタ孤立判定(S28)の判定結果であるDL1[V][H]に対し、3×3画素領域を参照することで、DL1[V][H]の不連続部分を補正し、補正した結果としてDL2[V][H]を出力する。
【0041】
図13は補正が行われるDL1の配置を示す図である。図13にグレーの四角で示す画素位置はDL1=‘1’の画素を示し、注目画素位置の補正結果であるDL2[V][H]は、図13に示す四つのパターンに合致する場合はDL1[V][H]の値に関わらず‘1’に、合致しない場合はDL1[V][H]になる。
【0042】
以上のようにして、算出されたDL2[V][H]に対応する領域は、注目画素と周辺領域の画素値の平均値との濃度差が所定値よりも大きい画素位置に基づき、前述したデルタ孤立判定(S28)およびデルタ補正(S29)によって孤立点が除去され、不連続部分が補正される。
【0043】
DL2[V][H]=‘1’に対応する領域は、エッジ成分が所定値よりも大きな領域を示す。言い換えれば、DL2[V][H]=‘1’は、連続中間調領域または線数の高い網点領域では発生せず、線画を含む文字画像領域および線数の低い網点領域のエッジ部分で発生する。
【0044】
DL2[V][H]=‘0’の画素は非エッジ領域を、DL2[V][H]=‘1’の画素はエッジ領域を示す。また、デルタ孤立判定(S28)で行われる孤立判定により、濃度差判定(S27)において濃度差が大きいと判定された画素の孤立点が除去されるため、原稿の下地に細かいごみがあるような新聞や、二値プリンタによって出力された原稿における連続階調のハイライト濃度領域の孤立した記録ドットを、エッジ領域と判定することがない。つまり、後述する文字判定において、そのうような領域が文字画像領域と誤判定されることを防ぐことができる。
【0045】
判定結果DL2[V][H]の値は、後述する網点判定結果と合わせて、文字画像領域か否かの判定に利用される。
【0046】
●孤立処理
詳細は後述するが、孤立処理(S30)は、網点領域を判定するための特徴量を算出する。つまり、二値化処理(S26)は、注目画素の周辺領域の画素値の平均値をしきい値として、エッジ強調処理(S24)された注目画素値を二値化した結果BDT[V][H]を出力する。この二値化結果は、網点画像領域では網点配置に依存し、互いに孤立するBDT=‘1’の塊およびBDT=‘0’の塊を形成する。これに対して、文字画像領域は、網点画像領域とは異なり、連続するBDT=‘1’または‘0’の領域を形成する。孤立処理(S30)は、BDTの値を参照してBDTの分布の孤立性を特徴量として算出する。
【0047】
●網点判定
網点判定(S31)は、孤立処理(S30)において算出された特徴量を所定値と比較することで、注目画素が網点画像領域に含まれるか否かを判定して、判定結果PMJ[V][H]を出力する。判定条件を下に示す。
【0048】
条件1:(SUM11[V][H]<k11)&&(SUM10[V][H]<k10) …(11)
条件2:(SUM21[V][H]<k21)&&(SUM20[V][H]<k20) …(12)
条件3:(SUM221[V][H]<k221)&&(SUM220[V][H]<k220)
&&{(SUM221[V][H]+SUM220[V][H])<k22} …(13)
条件4:(SUM331[V][H]<k331)&&(SUM330[V][H]<k330)
&&{(SUM331[V][H]+SUM330[V][H])<k33} …(14)
条件5:(SUM441[V][H]<k441)&&(SUM440[V][H]<k440)
&&{(SUM441[V][H]+SUM440[V][H])<k44} …(15)
ここで、&&は論理積を示す論理比較演算子。
k11、k10、k21、k20、k221、k220、k22、k331、k330、
k33、k441、k440およびk44は予め設定された定数。
例えば600dpiの解像度で読み取られた入力信号に対して
k11=46、k10=40、k21=22、k20=30、k22=38、k31=54、
k30=64、k33=80、k41=40、k40=50およびk44=70に設定する
ことで、100線から200線程度の網点画像を良好に判定すること
が可能。
【0049】
上記条件1から5をすべてを満足する場合は、網点画像領域外と判定してPMJ[V][H]=‘1’を出力する。また、上記条件1から5の何れかを満足しない場合は、網点画像領域内と判定してPMJ[V][H]=‘0’を出力する。
【0050】
●文字判定
文字判定(S32)は、網点判定(S31)の判定結果PMJ、および、デルタ補正(S29)の結果DL2から文字画像領域を抽出する。その際の判定を以下に示す。
【0051】
条件(PMJ[V][H]=‘1’)&&(DL2[V][H]=‘1’) …(16)
上記条件を満足する場合は、文字画像領域と判定してKBDET[V][H]=‘1’を出力する。また、上記条件を満足しない場合は網点画像領域と判定してKBDET[V][H]=‘0’を出力する。
【0052】
●ノッチ補正/太らせ処理
ノッチ補正/太らせ処理(S33)は、文字判定(S32)から判定信号KBDETを入力し、3×3画素領域のエリア処理によって補正を行った信号MJIDETを出力する。その際、補正処理はレジスタFTRENBの設定により以下のように行われる。
【0053】
FTRENB=1のときはノッチ補正を行う。ノッチ補正は、図14に示す3×3画素領域の「*」で示す注目画素がKBDET=‘0’の場合でも、注目画素を通過する縦、横または斜めの方向にKBDET=‘1’の画素が二つ存在する場合、注目画素のMJIDETとして‘1’を出力する。また、注目画素以外の八画素すべてがKBDET=‘0’の場合は、注目画素がKBDET=‘1’でも、注目画素のMJIDETとして‘0’を出力する。さらに、上記以外の場合は、注目画素のMJIDETとして注目画素のKBDETをそのまま出力する。
【0054】
ノッチ補正によって、CCDのノイズや原稿の汚れなどによって、文字画像領域として判定されなかった部分を補正し、逆に、誤って文字画像領域と判定された孤立部分を除去することができる。
【0055】
一方、FTRENB=2のときは太らせ処理を行う。太らせ処理は、3×3画素領域の九画素の一つでもKBDET=‘1’があれば、注目画素のMJIDETとして‘1’を出力する。それ以外の場合は、注目画素のMJIDETとして‘0’を出力する処理である。
【0056】
太らせ処理によって、濃度差判定(S27)でエッジの外側が文字画像領域と判定されなかった場合でも、一画素分拡張して、例えば色ずれ部分まで文字画像領域にするため、文字の再現劣化に起因するエッジ部分の色ドットを抑制することが可能になる。
【0057】
●出力固定選択処理
出力固定選択処理(S34)は、ノッチ補正/太らせ処理(S33)から出力されるMJIDETに関わらず、文字判定結果信号のレベルを固定するもので、レジスタMJIDSBの設定によって出力結果MJを決定する。MJの制御を以下に示す。
【0058】
MJIDSB=0のとき MJ=MJIDET(通常出力)
MJIDSB=1のとき MJ=‘0’ (網点画像領域に固定)
MJIDSB=2のとき MJ=‘1’ (文字画像領域に固定)
[孤立処理の詳細]
図15は孤立処理の詳細を示すブロック図である。
【0059】
●1×1孤立量算出部
1×1孤立量算出部31は、注目画素を中心とする3×3画素領域のBDTを参照して、BDTの値が縦、横および斜めの各方向に対して‘0’‘1’‘0’と変化する場合に、各方向に対する孤立量を「1」として、これらの合計を注目画素に対する孤立量KA1[V][H]とする。図16は孤立量の算出方向を示す図である。
【0060】
図16に示す方向a、b、cおよびdについてBDTを参照し、各方向のBDTが‘0’‘1’‘0’または‘1’‘0’‘1’と変化すれば、その方向の孤立量を「1」に設定する。そして、次式に従い、四方向の孤立量の和を注目画素の孤立量KA1[V][H]およびKA0[V][H]として出力する。従って、孤立量は0〜4の値をとる。
【0061】
BDT=‘1’に対する孤立量KA1[V][H]=a+b+c+d
BDT=‘0’に対する孤立量KA0[V][H]=a+b+c+d…(17)
ただし、BDT=‘1’または‘0’が四方向の何れかに連続している場合(図17A参照)は、細線の可能性が高いため、注目画素の孤立量KA1[V][H]またはKA0[V][H]を‘0’にする。
【0062】
網点ドットが一画素で構成される場合、すなわち低濃度の網点画素または線数の高い網点に対して孤立量KA1[V][H]が比較的大きくなるという特徴がある。
【0063】
●孤立パラメータ算出部
孤立パラメータ算出部30は、二値信号BDTから2×2、3×3および4×4画素の各サイズで孤立量を得るためのパラメータを算出する。
【0064】
●2×2〜4×4孤立量算出部
2×2孤立量算出部32は、孤立パラメータ算出部36から入力される孤立パラメータdn2×2(n=1〜5)、dnn2×2、dnnn2×2、dknn2×2およびdknnn2×2(n=2〜5)に基づき、孤立量KAA1、KAA0、KAP1およびKAP0を算出する。
【0065】
3×3孤立量算出部33は、孤立パラメータ算出部36から入力される孤立パラメータdn3×3(n=1〜5)、dnn3×3、dnnn3×3、dknn3×3およびdknnn3×3(n=2〜5)に基づき、孤立量KAAP1およびKAAP0を算出する。
【0066】
4×4孤立量算出部34は、孤立パラメータ算出部36から入力される孤立パラメータdn4×4(n=1〜5)、dnn4×4、dnnn4×4、dknn4×4およびdknnn4×4(n=2〜5)に基づき、孤立量KAAAP1およびKAAAP0を算出する。
【0067】
●孤立量加算部
1×1孤立量加算部35は、次式に従い1×1の孤立量を加算する。
【0068】
SUM11[V][H]=Σx=−7 7Σy=−7 7KA1[V+x][H+y]
SUM10[V][H]=Σx=−7 7Σy=−7 7KA0[V+x][H+y] … (18)
図17Bに注目画素*に対する、KA1,KA0の加算範囲を示す。但し実際の計算では、演算量を減らすために、図17Cに示すように、注目画素が[V][H−1]の時、各Hに対する一列分のKA1及びKA0の加算値B1[H]及びB0[H]を夫々を計算し、これらをHの列数(15列)分足しこむことにより、SUM11[V][H−1]、SUM10[V,H−1]を夫々計算する。そして、注目画素が[V][H]となった時、SUM1[V][H−1]又はSUM0[V][H−1]に対して、新しく加算領域に追加された列の加算値B1[7]又はB0[7]を加算しつつ、加算領域から外れた列の加算値B1[−8]又はB0[−8]を減算することにより、SUM11[V][H]又はSUM10[V][H]を算出する。以下に演算式を示す。
【0069】
2×2孤立量加算部36は、次式に従い、2×2の孤立量を所定領域について加算する。
【0070】
SUM21[V][H]=Σx=−6 5Σy=−6 6KAA1[V+x][H+y]
SUM20[V][H]=Σx=−6 5Σy=−6 6KAA0[V+x][H+y]
SUM221[V][H]=Σx=−6 5Σy=−6 6KAP1[V+x][H+y]
SUM220[V][H]=Σx=−6 5Σy=−6 6KAP0[V+x][H+y] … (19)
図17Dに注目画素*に対する、KAP1,KAP0の加算範囲を示す。ここで、1×1孤立量加算部35と同様に実際の計算では、図17Eに示すように加算値を算出する。以下に演算式を示す。
【0071】
尚、BA1,BA0,BP1,BP0は夫々、各Hに対するKAA1、KAA0、KAP1、KAP0の一列分の加算値である。
【0072】
3×3孤立量加算部37は、次式に従い、3×3の孤立量を所定領域について加算する。
【0073】
SUM331[V][H]=Σx=−5 5Σy=−6 6KAAP1[V+x][H+y]
SUM330[V][H]=Σx=−5 5Σy=−6 6KAAP0[V+x][H+y] … (20)
図17Fに注目画素*に対する、KAAP1,KAAP0の加算範囲を示す。ここで、1×1孤立量加算部35と同様に実際の計算では、図17Gに示すように加算値を算出する。以下に演算式を示す。
【0074】
尚、BAP1,BAP0は夫々、各Hに対するKAAP1、KAAP0の一列分の加算値である。
【0075】
4×4孤立量加算部38は、次式に従い、4×4の孤立量を所定領域について加算する。
【0076】
SUM441[V][H]=Σx=−5 4Σy=−6 6KAAAP1[V+x][H+y]
SUM440[V][H]=Σx=−5 4Σy=−6 6KAAAP0[V+x][H+y] … (21)
図17Hに注目画素*に対する、KAAAP1,KAAAP0の加算範囲を示す。ここで、1×1孤立量加算部35と同様に実際の計算では、図17Iに示すように加算値を算出する。以下に演算式を示す。
【0077】
尚、BAAP1,BAAP0は夫々、各Hに対するKAAAP1、KAAAP0の一列分の加算値である。
【0078】
●2×2の孤立量の算出方法
図18から図22は2×2画素領域の孤立パラメータの計算を説明する図である。まず、図18に示すd2、d3、d4およびd5方向斜線で示した画素についてのBDTの和を次式により算出する。なお、同図において“*”が注目画素を示し、そのBDT値がBDT[V][H]である。
【0079】
d22 × 2=BDT[V][H]+ BDT[V+1][H]
d32 × 2=BDT[V][H+1]+BDT[V+1][H+1]
d42 × 2=BDT[V][H]+BDT[V][H+1]
d52 × 2=BDT[V+1][H]+BDT[V+1][H+1] …(22)
同様に、図19に示すd22、d33、d44およびd55方向のBDTの和を次式により算出する。
【0080】
d222 × 2=BDT[V][H−1]+BDT[V+1][H−1]
d332 × 2=BDT[V][H+2]+BDT[V+1][H+2]
d442 × 2=BDT[V−1][H]+BDT[V−1][H+1]
d552 × 2=BDT[V+2][H]+BDT[V+2][H+1] …(23)
同様に、図20に示すd222、d333、d444およびd555方向のBDTの和を次式により算出する。
【0081】
d2222 × 2=BDT[V][H−2]+BDT[V+1][H−2]
d3332 × 2=BDT[V][H+3]+BDT[V+1][H+3]
d4442 × 2=BDT[V−2][H]+BDT[V−2][H+1]
d5552 × 2=BDT[V+3][H]+BDT[V+3][H+1] …(24)
同様に、図21に示すdk22、dk33、dk44およびdk55方向のBDTの和を次式により算出する。
【0082】
次に、図22に示すdk222、dk333、dk444およびdk555方向のBDTの和を次式により算出する。
【0083】
また、次式に従い、注目画素を含む2×2画素領域のBDTの和d12×2を算出する。
【0084】
次に、次式に従い、2×2画素領域に対する孤立量KAA1[V][H]を算出する。
【0085】
(dd2kaa1 > 0 || dd22kaa1>0)&&(dd3kaa1> 0 || dd33kaa1> 0 )
の場合は KRTV[V][H]=1
そうでなければ KRTV[V][H]=0 … (28)
(dd4kaa1> 0 || dd44kaa1>0)&&(dd5kaa1> 0 || dd55kaa1> 0 )
の場合は KRTH[V][H]=1
そうでなければ KRTH[V][H]=0 … (29)
ここで、||は論理和を示す論理比較演算子
&&は論理積を示す論理比較演算子
ddnkaa1=dn2x2−dnn2x2(n=2、3、4、5)
ddnnkaa1=dn2x2・dnnn2x2(n=2、3、4、5)
さらに、次式に従い、注目画素に対するBDT=‘1’に関する孤立量KAA1[V][H]を算出する。
【0086】
d12 × 2=4のときKAA1[V][H]=KRTV[V][H]+KRTH[V][H]
d12 × 2≠4のとき KAA1[V][H]=0 …(30)そして、注目画素に対するBDT=‘0’に関する孤立量KAA0[V][H]を算出する。
【0087】
(dd2kaa0< 0 || dd22kaa0< 0 )&&(dd3kaa0< 0 ||dd33kaa0< 0 )
の場合は KRTV[V][H] =1
そうでなければ KRTV[V][H] = 0 …(31)
(dd4kaa0< 0 || dd44kaa0< 0 )&&(dd5kaa0< 0 || dd55kaa0< 0 )
の場合は KRTH[V][H]=1
そうでなければ KRTH[V][H]=0 …(32)
ここで、||は論理和を示す論理比較演算子
&&は論理積を示す論理比較演算子
ddnkaa0=dn2x2−dnn2x2(n=2、3、4、5)
ddnnkaa0=dn2x2・dnnn2x2(n=2、3、4、5)
一方、次式に従い、注目画素に対するBDT=‘0’に関する孤立量KAA0[V][H]を算出する。
【0088】
d12 × 2= 0 のとき KAA0[V][H]=KRTV[V][H]+KRTH[V][H]
d12 × 2≠ 0 のとき KAA0[V][H]=0 …(33)他方、2×2画素領域の網点に対する孤立量KAP1[V][H]およびKAP0[V][H]は次のように計算する。
【0089】
条件1:d12 × 2= 4
条件2:(dd2kap1>0 || dd22kap1 >0)&&(dd3kap1>0 || dd33kap1 >0)&&(dd4kap1>0 || dd44kap1 >0)&&( dd5kap1>0 || dd55kap1 >0)ここで、||は論理和を示す論理比較演算子
&&は論理積を示す論理比較演算子
ddnkap1 = dn2 × 2 − dknn2 × 2(n = 2、3、4、5)
ddnnkap1 = dn2 × 2 − dknnn2 × 2 (n = 2、3、4、5)
上記の条件1および2をともに満たす場合は
KAP1[V][H]+=BDT[V][H]
KAP1[V][H+1]+=BDT[V][H+1]
KAP1[V+1][H]+=BDT[V+1][H]
KAP1[V+1][H+1] += BDT[V+1][H+1] …(34)
ここで、a+=bはa=a+bを表す。
【0090】
ただし、KAP1[V][H]の初期値として0が予め設定されている。
【0091】
さらに、BDT=‘0’の画素に対する孤立量を以下の条件により算出する。
【0092】
条件1:d12 × 2 = 0
条件2:(dd2kap0<0 ||dd22kap0<0)&&(d3kap0<0 ||dd33kap0<0)
&&(dd4kap0<0 || dd44kap0<0)&&(dd5kap0<0 ||dd55kap0<0)
ここで、||は論理和を示す論理比較演算子
&&は論理積を示す論理比較演算子
ddnkap0 = dn2 × 2− dnn2 × 2(n = 2、3、4、5)
ddnnkap0 = dn2 × 2 − dnnn2 × 2(n = 2、3、4、5)
条件3:m1 > 1 || m2 > 1
ここで、m1およびm2の初期値は0、そして
(d222 × 2 == 2)||(d2222 × 2 == 2) のとき m1 += 1
(d332 × 2 == 2)||(d3332 × 2 == 2) のとき m1 += 1
(d442 × 2 == 2)||(d4442 × 2 == 2) のとき m2 += 1
(d552 × 2 == 2)||(d5552 × 2 == 2) のとき m2 += 1
上記の条件1から3をともに満たす場合は
KAP0[V][H]+= (not BDT[V][H])
KAP0[V][H+1]+= (not BDT[V][H+1])
KAP0[V+1][H]+= (not BDT[V+1][H])
KAP0[V+1][H+1]+=(not BDT[V+1][H+1]) …(35)ただし、KAP1[V][H]の初期値として0が予め設定されている。
【0093】
●3×3の孤立量の算出方法
図23から図27は3×3画素領域の孤立パラメータの計算を説明する図である。まず、図23に示すd2,d3,d4,d5方向に斜線で示した画素についてのBDT値の和を、次式により算出する。なお、同図において“*”が注目画素を示し、そのBDT値がBDT[V][H]である。
【0094】
d23 × 3=BDT[V−1][H−1]+BDT[V][H−1]+BDT[V+1][H−1]
d33 × 3=BDT[V−1][H+1]+BDT[V][H+1]+BDT[V+1][H+1]
d43 × 3=BDT[V−1][H−1]+BDT[V−1][H]+BDT[V−1][H+1]
d53 × 3=BDT[V+1][H−1]+BDT[V+1][H]+BDT[V+1][H+1] …(36)
同様に、図24に示すd22、d33、d44およびd55方向のBDTの和を次式により算出する。
【0095】
d223 × 3=BDT[V−1][H−2]+BDT[V][H−2]+BDT[V+1][H−2]
d333 × 3=BDT[V−1][H+2]+BDT[V][H+2]+BDT[V+1][H+2]
d443 × 3=BDT[V−2][H−1]+BDT[V−2][H]+BDT[V−2][H+1]
d553 × 3=BDT[V+2][H−1]+BDT[V+2][H]+BDT[V+2][H+1] …(37)
同様に、図25に示すd222、d333、d444およびd555方向のBDTの和を次式により算出する。
【0096】
d2223 × 3=BDT[V−1][H−3]+BDT[V][H−3]+BDT[V+1][H−3]
d3333 × 3=BDT[V−1][H+3]+BDT[V−1][H+3]+BDT[V−1][H+3]d4443 × 3=BDT[V−3][H−1]+BDT[V−3][H]+BDT[V−3][H+1]
d5553 × 3=BDT[V+3][H−1]+BDT[V+3][H]+BDT[V+3][H+1]…(38)
同様に、図26に示すdk22、dk33、dk44およびdk55方向のBDTの和を次式により算出する。
【0097】
同様に、図27に示すdk222、dk333、dk444およびdk555方向のBDTの和を次式により算出する。
【0098】
また、次式に従い、注目画素を含む3×3画素領域のBDTの和d13×3を算出する。
【0099】
次に、次式に従い、3×3画素領域の網点に対する孤立量KAAP1[V][H]およびKAAP0[V][H]を算出する。
【0100】
条件1:BDT[V][H]= 1 && d13 × 3≧5
条件2:(dd2kaap1>0 ||dd22kaap1>0)&&(dd3kaap1>0 ||dd33kaap1>0)
&&(dd4kaap1>0 ||dd44kaap1>0)&&(dd5kaap1>0 ||dd55kaap1>0)
ここで、||は論理和を示す論理比較演算子
&&は論理積を示す論理比較演算子
ddnkaap1= dn3 × 3 − dknn3 × 3(n = 2、3、4、5)
ddnnkaap1= dn3 × 3・dknnn3 × 3(n = 2、3、4、5)
上記の条件1および2を満たす場合は
KAAP1[V−1][H−1]+= BDT[V−1][H−1]
KAAP1[V−1][H]+= BDT[V−1][H]
KAAP1[V−1][H+1]+= BDT[V−1][H+1]
KAAP1[V][H−1]+= BDT[V][H−1]
KAAP1[V][H]+= BDT[V][H]
KAAP1[V][H+1]+= BDT[V][H+1]
KAAP1[V+1][H]+= BDT[V+1][H−1]
KAAP1[V+][H]+= BDT[V+1][H]
KAAP1[V+1][H+1]+= BDT[V+1][H+1] …(42)
ただし、KAAP1[V][H]の初期値は0にする。
【0101】
さらに、BDT=‘0’に対する孤立量を以下の条件により算出する。
【0102】
(d223 × 3 == 3)||(d2223 × 3 == 3) のとき m1++
(d333 × 3 == 3)||(d3333 × 3 == 3) のとき m1++
(d443 × 3 == 3)||(d4443 × 3 == 3) のとき m2++
(d553 × 3 == 3)||(d5553 × 3 == 3) のとき m2++ …(43)
ここで、a++はa=a+1を表す。
【0103】
ただし、m1およびm2の初期値は0とする。
【0104】
条件1:BDT[V][H]= 0 && d1≦0
条件2:(dd2kaap0<||dd22kaap0<0)&&(dd3kaap0<0 ||dd33kaap0<0)
&&(dd4kaap0<0 ||dd44kaap0<0)&&(dd5kaap0<0 ||dd55kaap0<0)
ここで、||は論理和を示す論理比較演算子
&&は論理積を示す論理比較演算子
ddnkaap0 = dn3 × 3 −dnn3 × 3(n = 2、3、4、5)
ddnnkaap0 = dn3 × 3・dnnn3 × 3(n = 2、3、4、5)
条件3:m1 > || m2 > 1
上記の条件1から3をともに満たす場合
KAAP0[V−1][H−1]+= (not BDT[V−1][H−1])
KAAP0[V−1][H]+= (not BDT[V−1][H])
KAAP0[V−1][H+1]+= (not BDT[V−1][H+1])
KAAP0[V][H−1]= (not BDT[V][H−1])
KAAP0[V][H]+= (not BDT[V][H])
KAAP0[V][H+1]+= (not BDT[V][H+1])
KAAP0[V+1][H]+= (not BDT[V+1][H−1])
KAAP0[V+1][H]+= (not BDT[V+1][H])
KAAP0[V+1][H+1]+= (not BDT[V+1][H+1]) …(44)
ここで、notは否定演算子を表す。
【0105】
ただし、KAAP0[V][H]の初期値は0とする。
【0106】
●4×4の孤立量の算出方法
図28から図32は4×4画素領域の孤立パラメータの計算を説明する図である。まず、図28に示すd2、d3、d4およびd5方向に斜線で示した画素についてのBDT値の和を、次式により算出する。なお、同図において“*”が注目画素を示し、そのBDT値がBDT[V][H]である。
【0107】
同様に、図29に示すd22、d33、d44およびd55方向のBDTの和を次式により算出する。
【0108】
同様に、図30に示すd222、d333、d444およびd555方向のBDTの和を次式により算出する。
【0109】
同様に、図31に示すdk22、dk33、dk44およびdk55方向のBDTの和を次式により算出する。
【0110】
同様に、図32に示すdk222、dk333、dk444およびdk555方向のBDTの和を次式により算出する。
【0111】
また、次式に従い、注目画素を含む4×4画素領域のBDTの和d14×4を算出する。
【0112】
次に、次式に従い、4×4画素領域の網点に対する孤立量KAAP1[V][H]を算出する。
【0113】
条件1:(BDT[V][H]=1&& BDT[V+1][H]=1&& BDT[V][H+1]=1
&& BDT[V+1][H+1] = 1)&& d1≧9
条件2:(dd2kaaap1>0 ||dd22kaaap1>0)&&(dd3kaaap1>0 ||dd33kaaap1>0)
&&(dd4kaaap1>0 ||dd44kaaap1>0)&&(dd5kaaap1>0 ||dd55kaaap1>0)
ここで、||は論理和を示す論理比較演算子
&&は論理積を示す論理比較演算子
ddn4 × 4 = dn4 × 4 − dknn4 × 4(n = 2、3、4、5)
ddnn4 × 4 = dn4 × 4・dknnn4 × 4(n = 2、3、4、5)
上記の条件1および2をともに満たす場合
KAAAP1[V−1][H−1] += BDT[V−1][H−1]
KAAAP1[V−1][H]+= BDT[V−1][H]
KAAAP1[V−1][H+1]+= BDT[V−1][H+1]
KAAAP1[V−1][H+2]+= BDT[V−1][H+2]
KAAAP1[V][H−1]+= BDT[V][H−1]
KAAAP1[V][H]+= BDT[V][H]
KAAAP1[V][H+1]+= BDT[V][H+1]
KAAAP1[V][H+2]+= BDT[V][H+2]
KAAAP1[V+1][H]+= BDT[V+1][H−1]
KAAAP1[V+1][H]+= BDT[V+1][H]
KAAAP1[V+1][H+1]+= BDT[V+1][H+1]
KAAAP1[V+1][H+2]+= BDT[V+1][H+2]
KAAAP1[V+2][H]+= BDT[V+2][H−1]
KAAAP1[V+2][H]+= BDT[V+2][H]
KAAAP1[V+2][H+1]+= BDT[V+2][H+1]
KAAAP1[V+2][H+2]+= BDT[V+2][H+2] …(51)
ただし、KAAAP1[V][H]の初期値は0にする。
【0114】
また、次式に従い、BDT=‘0’に対する孤立量KAAP0[V][H]を算出する。
【0115】
(d224 × 4 == 4)||(d2224 × 4 == 4)のとき m1++
(d334 × 4 == 4)||(d3334 × 4 == 4)のとき m1++
(d444 × 4 == 4)||(d4444 × 4 == 4)のとき m2++
(d554 × 4 == 4)||(d5554 × 4 == 4)のとき m2++
ただし、m1およびm2の初期値は0にする。
【0116】
条件1:(BDT[V][H]=0&&BDT[V+1][H]=0&&BDT[V][H+1]=0
&& BDT[V+1][H+1] = 0)&& d1≦N
条件2:(dd2kaaap0 < −1 || dd22kaaap0 < −1)
&&(dd3kaaap0 < −1 || dd33kaaap0 < −1)
&&(dd4kaaap0 < −1 || dd44kaaap0 < −1)
&&(dd5kaaap0 < −1 || dd55kaaap0 < −1)
ここで、||は論理和を示す論理比較演算子
&&は論理積を示す論理比較演算子
ddnkaaap0 = dn4 × 4 − dnn4 × 4(n = 2、3、4、5)
ddnnkaaap0 = dn4 × 4・dnnn4 × 4(n = 2、3、4、5)
条件3:(m1 > 1 || m2 > 1)
上記の条件1から3をともに満たす場合は
KAAAP0[V−1][H−1]+= (not BDT[V−1][H−1])
KAAAP0[V−1][H]+= (not BDT[V−1][H])
KAAAP0[V−1][H+1]+= (not BDT[V−1][H+1])
KAAAP0[V][H−1]+= (not BDT[V][H−1])
KAAAP0[V][H]+= (not BDT[V][H])
KAAAP0[V][H+1]+= (not BDT[V][H+1])
KAAAP0[V+1][H]+= (not BDT[V+1][H−1])
KAAAP0[V+1][H]+= (not BDT[V+1][H])
KAAAP0[V+1][H+1]+= (not BDT[V+1][H+1]) …(52)
ただし、KAAAP0[V][H]の初期値は0にする。
【0117】
図33は注目画素の周辺領域で実際に計算されるd22×2、d32×2、d222×2、d332×2、d2222×2およびd3332×2に含まれるBDTの画素位置を示す図である。
【0118】
同様に、図34はd42×2、d52×2、d442×2、d552×2、d4442×2およびd5552×2に含まれるBDTの画素位置を示し、図35はdK222×2、dK332×2、dK2222×2、dK3332×2に含まれるBDTの画素位置を示し、図36はdK442×2、dK552×2、dK4442×2およびdK5552×2に含まれるBDTの画素位置を示す図である。なお、v=−6〜+5であり、h方向には図示した座標以外のBDTは2×2孤立量加算部136では必要としない。
【0119】
前述したように、一画素分のKAA1およびKAA0を計算するには、孤立パラメータd12×2、d22×2、d32×2、d222×2、d332×2、d2222×2、d3332×2、d42×2、d52×2、d442×2、d552×2、d4442×2およびd5552×2が必要である。2×2孤立量加算部36に必要なv=−6〜+5の12画素分のKAA1およびKAA0を計算するために、12画素分の孤立パラメータが必要になるが、このうち12画素分のd42×2、d52×2、d442×2、d552×2、d4442×2およびd5552×2は重複するパラメータが多い。そこで、必要な6×12=72個のパラメータのうち、以下の17個のBH2[v]だけ計算して割り振る。
【0120】
BH2[v]= BDT[V][h]+BDT[V][h+1](v=−8〜+8) …(53)
同様に、一画素分のKAP1およびKAP0を計算するには、孤立パラメータd12×2、d22×2、d32×2、dK222×2、dK332×2、dK2222×2、dK3332×2、d42×2、d52×2、dK442×2、dK552×2、dK4442×2およびdK5552×2が必要である。2×2孤立量加算部36に必要なv=−6〜+5の12画素分のKAP1およびKAP0を計算するために、12画素分の孤立パラメータが必要になるが、このうち12画素分のd12×2、d42×2およびd52×2は上記のBH2[v]を用いることができる。
【0121】
また、dK442×2、dK552×2、dK4442×2およびdK5552×2は重複するパラメータがある。そこで、必要な4×12=48個のパラメータのうち、以下の15+17=32個のBH4[v]およびBH6[v]だけを計算して割り振る。
【0122】
図37は注目画素の周辺領域で実際に計算されるd23×3、d33×3、d223×3、d333×3、d2223×3およびd3333×3に含まれるBDTの画素位置を示す図である。
【0123】
同様に、図38はd43×3、d53×3、d443×3、d553×3、d4443×3およびd5553×3に含まれるBDTの画素位置を、図39はdK223×3、dK333×3、dK2223×3およびdK3333×3に含まれるBDTの画素位置を、図40はdK443×3、dK553×3、dK4443×3およびdK5553×3に含まれるBDTの画素位置を示す。なお、v=−5〜+5であり、h方向には図示した座標以外のBDTは3×3孤立量加算部37では必要としない。
【0124】
前述したように、一画素分のKAAP1を計算するには、孤立パラメータd13×3、d23×3、d33×3、dK223×3、dK333×3、dK2223×3、dK3333×3、d43×3、d53×3、dK443×3、dK553×3、dK4443×3およびdK5553×3が必要である。3×3孤立量加算部37に必要なv=−5〜+5の11画素分のKAAP1を計算するには、11画素分の孤立パラメータが必要になる。
【0125】
また、一画素分のKAAP0を計算するには、孤立パラメータd13×3、d23×3、d33×3、d223×3、d333×3、d2223×3、d3333×3、d43×3、d53×3、d443×3、d553×3、d4443×3およびd5553×3が必要である。3×3孤立量加算部37に必要なv=−5〜+5の11画素分のKAAP0を計算するには、11画素分の孤立パラメータが必要になる。
【0126】
これらの孤立パラメータのうち、d43×3、d53×3、d443×3、d553×3、d4443×3およびd5553×3は重複するパラメータが多い。そこで、必要な6×11=66個のパラメータのうち、以下の17個のBH3[v]だけを計算して割り振る。
【0127】
BH3[v]=BDT[V][h−1]+BDT[V][h]+BDT[V][h+1](v=−8〜+8)…(55)また、dK443×3、dK553×3、dK4443×3およびdK5553×3には重複するパラメータがある。そこで、必要な4×11=44個のパラメータのうち、以下の15+17=32個のBH5[v]、BH7[v]だけを計算して割り振る。
【0128】
図41は注目画素の周辺領域で実際に計算するd24×4、d34×4、d224×4、d334×4、d2224×4およびd3334×4に含まれるBDTの画素位置を示す図である。
【0129】
同様に、図42はd44×4、d54×4、d444×4、d554×4、d4444×4およびd5554×4に含まれるBDTの画素位置を、図43はdK224×4、dK334×4、dK2224×4およびdK3334×4に含まれるBDTの画素位置を、図44はdK444×4、dK554×4、dK4444×4およびdK5554×4に含まれるBDTの画素位置を示す図である。なお、v=−5〜+4であり、h方向には図示した座標以外のBDTは4×4孤立量加算部38では必要としない。
【0130】
前述したように、一画素分KAAAP1を計算するには、孤立パラメータd14×4、d24×4、d34×4、dK224×4、dK334×4、dK2224×4、dK3334×4、d44×4、d54×4、dK444×4、dK554×4、dK4444×4およびdK5554×4が必要である。4×4孤立量加算部38に必要なv=−5〜+4の10画素分のKAAAP1を計算するには、10画素分の孤立パラメータが必要になる。
【0131】
また、一画素分のKAAAP0を計算するには、孤立パラメータd14×4、d24×4、d34×4、d224×4、d334×4、d2224×4、d3334×4、d44×4、d54×4、d444×4、d554×4、d4444×4およびd5554×4が必要である。4×4孤立量加算部38に必要なv=−5〜+4の10画素分のKAAAP0を計算するには、10画素分の孤立パラメータが必要になる。
【0132】
これらの孤立パラメータのうち、d44×4、d54×4、d444×4、d554×4、d4444×4およびd5554×4の大半は、2×2領域用の孤立パラメータBH4[v]として、既に計算されている。そこで、上下端それぞれ一画素分のBH4[v]だけ新たに計算すればよい。
【0133】
また、dK444×4およびdK554×4に関しては、必要な画素分は2×2領域用の孤立パラメータBH6[v]として、既に計算されているため新たに計算する必要はない。
【0134】
残りのdK4444×4およびdK5554×4は重複するパラメータがあるため、必要な2×10=20個のパラメータのうち、以下の17個のBH8[v]を計算して割り振る。
【0135】
【0136】
【発明が解決しようする課題】
しかし、従来技術では図45に示すように画像の端部に措いて1×1の孤立量を算出する場合、有効画像領域外の無効画像領域に関してBDT=0に補間し、孤立パラメータの算出及び孤立量の算出を行っているため、画像の端部に措いては正確な孤立量の算出が不可能であった。また、2×2、3×3、4×4の孤立量の算出に措いても同様な処理を行っているため、画像の端部に措いては正確な孤立量の算出が不可能であった。
【0137】
また、図46のように2枚の画像を1枚ずつ画像処理した後1枚の画像に合成する処理を行った場合、像域分離判定の精度の低い領域が面積比で2倍に増え、かつ画像の中央部分になるため像域判定エラーがより目立つものになっていた。
【0138】
本発明は、上述の問題を解決するためのもので、ハードウエアを著しく増加させることなく、端部における孤立量の算出を正確に行うことを目的とする。
【0139】
【課題を解決するための手段】
この発明は下記の構成を備えることにより上記課題を解決できるものである。
【0140】
(1)入力信号から画素値の孤立量を算出するために、そのサイズが互いに異なる複数の領域に対して、入力信号から所定の演算を行って得られた2値信号から、固有のパラメータを算出するパラメータ算出手段と、前記パラメータに基づき、前記複数の領域それぞれにおいて、画素値の孤立量を算出する孤立量算出手段と、算出された孤立量を所定の領域において積分する積分手段と、積分された孤立量から、前記属性を有する画像部分を抽出する抽出手段と、前記パラメータ算出手段に対して、複数ラインの入力信号を供給する供給手段とから構成され、画像から異なる複数の属性を有する画像部分を抽出する画像処理装置において、前記画像の端部においては、前記供給手段が有する遅延を用いて、前記パラメータの算出前に、有効画素の2値信号を用いて無効画素の2値信号を生成し、前記パラメータの算出を行うことを特徴とする画像処理装置。
【0141】
(2)前記画像の端部における、無効画素の2値信号は、前記端部の有効画素の2値信号の鏡像から生成し、前記パラメータの算出を行うことを特徴とする、前記(1)記載の画像処理装置。
【0142】
(3)前記無効画素の2値信号は、前記端部の有効画素の2値信号を主走査方向に折り返して生成することを特徴とする、前記(2)記載の画像処理装置。
【0143】
(4)前記無効画素の2値信号は、前記端部の有効画素の2値信号を副走査方向に折り返して生成することを特徴とする、前記(2)記載の画像処理装置。
【0144】
(5)前記無効画素の対角方向の2値信号は、前記端部の有効画素の2値信号を、先ず主走査走向に折り返して生成したものを、次に副走査方向に折り返して生成することを特徴とする、前記(2)記載の画像処理装置。
【0145】
(6)前記無効画素の対角方向の2値信号は、前記端部の有効画素の2値信号を、先ず副走査走向に折り返して生成したものを、次に主走査方向に折り返して生成することを特徴とする、前記(2)記載の画像処理装置。
【0146】
(7)入力信号から画素値の孤立量を算出するために、そのサイズが互いに異なる複数の領域に対して、入力信号から所定の演算を行って得られた2値信号から、固有のパラメータを算出するパラメータ算出手段と、前記パラメータに基づき、前記複数の領域それぞれにおいて、画素値の孤立量を算出する孤立量算出手段と、算出された孤立量を所定の領域において積分する積分手段と、積分された孤立量から、前記属性を有する画像部分を抽出する抽出手段と、複数ラインの入力信号を供給する供給手段とから構成され、画像から異なる複数の属性を有する画像部分を抽出する画像処理装置において、前記画像の端部においては、前記供給手段が有する遅延を用いて、前記パラメータの算出前に、有効画素の2値信号を用いて無効画素の2値信号を生成し、前記パラメータの算出を行うことを特徴とする画像処理方法。
【0147】
(8)画像処理装置を制御して、前記(7)に記載された画像処理を実行することを特徴とするプログラム。
【0148】
(9)前記(8)に記載されたプログラムが記録されたことを特徴とする記録媒体。
【0149】
【発明の実施の形態】
以下、本発明にかかる一実施形態の画像処理装置を図面を参照して詳細に説明する。
【0150】
[本実施形態で用いる鏡像]
まず、本実施形態で用いる鏡像について説明する。図17B,D,F,Hに示したように、1×1,2×2,3×3,4×4の全種類の孤立量を計算するためには注目画素(v,h)に対して、−8≦v≦8,−9≦h≦11の矩形領域の範囲のBDTが必要である。図1A〜図1Dに有効画像画像領域(サイズ(n+1)x(m+1)画素)に対する、左上端、右上端、左下端、右下端におけるBDTの鏡像のイメージ図を示す。
これらの図より、以下の式で鏡像を定義する。
【0151】
(1)画像の左端におけるBDTの鏡像(−9≦h≦−1,−8≦v≦n+8)
BDT[v,h]=BDT[v,−h−1]
(2)画像の右端におけるBDTの鏡像(m+1≦h≦m+11,−8≦v≦n+8)
BDT[v,h]=BDT[v,2m−h+1]
(3)画像の上端におけるBDTの鏡像(−9≦h≦m+11,−8≦v≦−1)
BDT[v,h]=BDT[−v−1,h]
(4)画像の下端におけるBDTの鏡像(−9≦h≦m+11,n+1≦v≦n+8)
BDT[v,h]=BDT[2m−v+1,h]
但し、本実施例ではハードウエア削減のため斜線部分(図1AのBDT[8,−9]〜BDT[8,−1],図1BのBDT[8,m+1]〜BDT[8,m+11],図1CのBDT[n+8,−9]〜BDT[n+8,−1],図1DのBDT[n+8,m+1]〜BDT[n+8,m+11])に関しては前記(1)〜(4)の定義に基づいた鏡像を生成することなく、‘0’としているが、前記矩形領域のBDTに占める面積の割合は小さいので、注目画素(v,h)のBDTの算出への影響は微々たるものである。
【0152】
【第1実施形態】
図2に本実施例の孤立点処理部の構成を示す。201は本発明の特徴となるBDTの端部処理部であり、前段の2値化処理S26から入力されるBDTと、前記外部メモリから読み出された16ライン分のBDTデータBDT_R[15:0]を元に、17ライン分のBDTデータBDT_R_d3[16:0]を生成して、後段の孤立パラメータ算出部30及び、1×1孤立量算出部に出力する。また、前述のように式(100)にしたがって、前記外部メモリへの16ライン分の書き込みデータBDT_W[15:0]を生成し、出力する。他のブロックは上記図15で説明したものと同じであるので、説明を省略する。ここで、後述するように、図8のBDTデータ読み出しFiFo S41のレイテンシ分の遅延は端部処理部201に含まれており、この遅延を利用して端部処理は行われる。また、BDTデータ書き込みFiFO S42のレイテンシ分の遅延も含まれている。
【0153】
次に、図3を用いて、端部処理部201の構成を説明する。本実施例では、図1で定義した鏡像を用いた端部処理を行うこととする。
【0154】
301は前記外部メモリから読み出された16ライン分のBDTデータBDT_R[15:0]を遅延させるためのBDTデータ読み出しFiFoであり、302はH方向の鏡像データを生成するための鏡像データ生成部であり、301のFiFO出力信号BDT_R_d[15:0]に対して有効画素領域のBDT左右に鏡像データを付加して、信号BDT_R_d2[15:0]として出力する。ここで、図8で説明した従来技術のBDTデータ読み出しFiFo S41のレイテンシは、BDTデータ読み出しFiFo 301のレイテンシと、H方向鏡像データ生成部302のレイテンシの和に等しい。
【0155】
303はV方向の鏡像データを生成するための鏡像データ生成部であり、302の出力信号BDT_R_d2[15:0]に対して有効画素領域のBDT上下に鏡像データ付加して、信号BDT_R_d3[16:0]として出力する。また、前記外部メモリへの遅延前の16ライン分の書き込みデータBDT_W_p[15:0]を生成し、出力する。304はBDTデータ書き込みFiFoであり、信号BDT_W_p[15:0]に図8 BDTのデータ書き込みFiFOS42と同等なレイテンシを持たせて、前記外部メモリへの16ライン分の書き込みデータBDT_W[15:0]として出力する。また、305はセレクタであり、制御部306からの制御により、無効画素領域においては‘0’を、有効画素においては信号BDTを選択して、信号BDT_dとしてV方向鏡像データ生成部303に出力する。306は制御部であり、図2には図示していない2値化処理S26からの主走査方向の有効画像領域を示すイネーブル信号h_enbと、副走査方向の有効画像領域を示すイネーブル信号v_enbを入力して、302、303,305に対して、処理の開始や、鏡像データの生成のタイミング信号を出力して制御を行う。
【0156】
次に図4を用いて、H方向鏡像データ生成部301の構成を説明する。404〜422はD−FFであり、ぞれぞれセレクタ423〜442を介して直列につながり、22段のFIFOを形成している。セレクタ423〜433は制御部302からの制御信号r_ldで制御され、r_ld=‘0’の時、入力端子0を、r_ld=‘1’の時、入力端子1を選択して出力する。また、セレクタ434〜442は制御部302からの制御信号l_ldで制御され、l_ld=‘0’の時、入力端子0を、r_ld=‘1’の時、入力端子1を選択して出力する。尚、制御信号l_ld、r_ldは夫々、有効画像領域の左端、右端の鏡像データを生成するための信号である。
【0157】
尚、H方向鏡像データ生成部301を構成している22段FiFOは図8で説明した従来技術のBDTデータ読み出しFiFo S41の一部を活用している。
【0158】
次に図5A,Bを用いて、H方向鏡像データ生成部302の動作を説明する。まず、左端での鏡像データの生成においては、s501にてBDT_R_d2[15:0]データが有効画素の0番目から入力される。そして、s502に示すように11番目のBDT_R_d2[15:0]データまで入力される。このタイミングで、制御信号l_ldが1クロック(画素)期間だけ‘1’になり、次のFIFOのシフト動作で、0〜8番目のBDT_R_d2[15:0]データが、鏡像データを生成すべく、0番目のBDTが格納されているD−FFより後段のD−FFにロードされる(s503)。具体的にはs502の状態で、D−FF 412には0番目のBDT_R_d2[15:0]データが、D−FF 411には1番目のBDT_R_d2[15:0]データが、...というように順番にBDT_R_d2[15:0]データが格納されており、最前段のD−FF 401には11番目のBDT_R_d2[15:0]データが格納されている。この状態で、制御信号l_ld=‘1’として後段のD−FF 414〜422にデータをロードし、次のFIFOのシフトタイミングでシフトすると、
0番目のBDT_R_d2[15:0]データがD−FF 414へ
1番目のBDT_R_d2[15:0]データがD−FF 415へ
2番目のBDT_R_d2[15:0]データがD−FF 416へ
3番目のBDT_R_d2[15:0]データがD−FF 417へ
4番目のBDT_R_d2[15:0]データがD−FF 418へ
5番目のBDT_R_d2[15:0]データがD−FF 419へ
6番目のBDT_R_d2[15:0]データがD−FF 420へ
7番目のBDT_R_d2[15:0]データがD−FF 421へ
8番目のBDT_R_d2[15:0]データがD−FF 422へ
夫々、格納されs503に示すような、鏡像データが生成できる。このとき、D−FF 401〜413は通常のFIFO動作を行う。そして、以降の処理はs504に示すように、右端の鏡像データの生成を行うまではH方向鏡像データ生成部302は通常のFIFO動作を行う。
【0159】
次に、右端の鏡像データの生成においては、s505に示すようにFIFOの出力端にm−11番目のBDT_R_d2[15:0]データが出力されている状態で、制御信号r_ldが1クロック(画素)期間だけ‘1’になり、次のFIFOのシフト動作が行われると、m−10〜m番目のデータが、鏡像データを生成すべく、m番目のBDTが格納されているD−FFより前段のD−FFにロードされる(s506)。ここで、m+1は主走査の画像サイズである。具体的にはs505の状態で、D−FF 421にはm−10番目のBDT_R_d2[15:0]データが、D−FF 420にはm−9番目のBDT_R_d2[15:0]データが、...というように順番にBDTデータが格納されており、中段のD−FF 411にはm番目のBDT_R_d2[15:0]データが格納されている。この状態で、制御信号r_ld=‘1’として前段のD−FF401〜410にデータをロードし、次のFIFOのシフトタイミングでシフトすると、
m番目のBDT_R_d2[15:0]データがD−FF 411へ
m−1番目のBDT_R_d2[15:0]データがD−FF 410へ
m−2番目のBDT_R_d2[15:0]データがD−FF 409へ
m−3番目のBDT_R_d2[15:0]データがD−FF 408へ
m−4番目のBDT_R_d2[15:0]データがD−FF 407へ
m−5番目のBDT_R_d2[15:0]データがD−FF 406へ
m−6番目のBDT_R_d2[15:0]データがD−FF 405へ
m−7番目のBDT_R_d2[15:0]データがD−FF 404へ
m−8番目のBDT_R_d2[15:0]データがD−FF 403へ
m−9番目のBDT_R_d2[15:0]データがD−FF 402へ
m−10番目のBDT_R_d2[15:0]データがD−FF 401へ
夫々、格納されs506に示すような、鏡像データが生成できる。このとき、D−FF 412〜422は通常のFIFO動作を行う。そして、以降の処理はs507に示すように、右端の鏡像データがH方向鏡像データ生成部302から出力される。
【0160】
このように図4,5で説明したように、従来のタイミング調整用のFiFo S41の一部のD−FFに対して、セレクタ等少量のハードウエア加えてH方向鏡像データ生成部301を構成することにより、H方向の端部処理が可能となる。
【0161】
次に、図6を用いて、V方向鏡像データ生成部303の構成を説明する。603は有効画像領域の下端に対してBDTの鏡像データを生成するためのセレクタであり、制御部305からの制御信号BDT_l_selによりBDT_d,BDT_R_d2[2],BDT_R_d2[4],BDT_R_d2[6],BDT_R_d2[8],BDT_R_d2[10],BDT_R_d2[12],BDT_R_d2[14]のうちいずれかを選択し、BDT_s信号としてD−FF615,614をそれぞれ介して、出力端子BDT_R_d3[0]及び、BDT_W_p[0]に出力される。604〜611は有効画像領域の上端に対して、BDTの鏡像データを生成するためのセレクタであり、制御部305からの制御信号BDT_m_sel=‘0’の時、有効画素領域のBDT_R_d2[15:0]を出力し、D−FF614を介して、出力端子BDT_W_p[15:0]に出力する。また、BDT_m_sel=‘1’の時、上端のBDT_R_d2[15:0]の鏡像データを出力し、D−FF614を介して、出力端子BDT_W_p[15:0]に出力する。ここで、612〜615はタイミング調整用のD−FFである。
【0162】
次に図7A,Bを用いて、V方向鏡像データ生成部303の動作を説明する。本実施例の鏡像データの生成は、画像の上端においてはメモリ書き込みデータBDT_W_p[15:0]の生成時に、下端においてメモリリードデータBDT_R_d3[15:0]の生成時に行っている。
【0163】
まず、上端のBDT_R_p[15:0]の鏡像データの生成方法を図7Aを用いて説明する。図7Aは現在走査中のライン番号に対して、メモリライトデータBDT_W_p[15:0]の各ビットに何ライン目のデータが格納されるかを示す図である。本実施例では、7ライン目の画素を注目画素として処理を行う。また、本実施例ではBDT_W_p[15:0]をMSB方向に1bitシフトした後、BDT_W_p[0]に対して現在操作中のデータを格納していくが、0〜6ライン目を走査している間はメモリに十分なラインデータが格納されていないため、注目画素の処理を行わない。そして、7ライン目の走査中に、8ライン目の走査中に0ライン目の処理を行う為の鏡像データの生成を行う。制御信号BDT_m_sel=‘1’とすることにより、セレクタ604〜611の出力が鏡像を生成するように制御される。具体的には、
BDT_W_p[8]=BDT_W_p[7]
BDT_W_p[9]=BDT_W_p[6]
BDT_W_p[10]=BDT_W_p[5]
BDT_W_p[11]=BDT_W_p[4]
BDT_W_p[12]=BDT_W_p[3]
BDT_W_p[13]=BDT_W_p[2]
BDT_W_p[14]=BDT_W_p[1]
BDT_W_p[15]=BDT_W_p[0]
となる。
【0164】
8ライン目の走査以降はBDT_m_sel=‘0’として、鏡像データの生成を停止する。
【0165】
次に、図7Bを用いて、下端のBDT_R_d3[16:0]の鏡像データの生成方法を説明する。図7Bは現在走査中のライン番号に対して、メモリードデータBDT_R_d2[15:0]の各ビットに何ライン目のデータが格納されているかを示す図である。ここで、n+1は副走査方向の画像サイズである。本実施例では、7ライン目の画素を注目画素として処理を行う。まずnライン目を操作中の処理に関しては、処理に使われる全17bitに対して、有効画像領域のBDT_R_d3[16:0]がそろっているため、鏡像データの生成は行わない。n+1ライン目の以降の走査に関しては、有効画像領域から外れるため鏡像データの生成を行う。
【0166】
セレクタ603において、制御信号BDT_l_selを図7Bの様に処理することにより、n+1ライン目の以降の走査に関して、現在走査中のラインのデータを鏡像として生成する。また、生成された鏡像データは、メモリーデータのライト時にBDT_R_d2[15:0]をMSB方向に1bitシフトした後、BDT_R_d2[0]として格納する。
鏡像データの生成は、n+8ライン目の走査まで続けられる。
【0167】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0168】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0169】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0170】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【0171】
【発明の効果】
以上説明したように本発明によれば、タイミング調整用のFiFoを利用して端部処理を行うことにより、ハードウエアを著しく増加させることなく、画像端部においても精度よく像域分離演算を行なうことができる。
【図面の簡単な説明】
【図1A】画像の左上端部のBDTの鏡像を定義する図
【図1B】画像の右上端部のBDTの鏡像を定義する図
【図1C】画像の左下端部のBDTの鏡像を定義する図
【図1D】画像の右下端部のBDTの鏡像を定義する図
【図2】本発明の孤立処理の詳細を示すブロック図
【図3】本発明の端部処理部の詳細を示すブロック図
【図4】本発明のH方向鏡像データ生成部の詳細を示すブロック図
【図5A】本発明のH方向鏡像データ生成部の画像の左端部の鏡像データの生成方法を説明する図
【図5B】本発明のH方向鏡像データ生成部の画像の右端部の鏡像データの生成方法を説明する図
【図6】本発明のV方向鏡像データ生成部の詳細を示すブロック図
【図7A】本発明のV方向鏡像データ生成部の画像の上端部の鏡像データの生成方法を説明する図
【図7B】本発明のV方向鏡像データ生成部の画像の下端部の鏡像データの生成方法を説明する図
【図8】従来技術の像域判定処理を示すブロック図
【図9】7×7画素領域において算出する領域sum(B)、sum(C)、sum(D)およびsum(E)を説明する図
【図10A】エッジ成分を抽出するフィルタの係数例を示す図
【図10B】エッジ成分を抽出するフィルタの係数例を示す図
【図10C】エッジ成分を抽出するフィルタの係数例を示す図
【図11A】エッジ部の画素配置を示す図
【図11B】エッジ部の画素配置を示す図
【図12A】孤立除去に使用する領域の一例を示す図
【図12B】参照領域を5×5画素とする例を示す図
【図13】補正が行われるDL1の配置を示す図
【図14】ノッチ補正を説明するための図
【図15】孤立処理の詳細を示すブロック図
【図16】孤立量の算出方向を示す図
【図17A】孤立量の算出を説明するための図
【図17B】1×1孤立量化加算部35の加算動作を説明するための図
【図17C】1×1孤立量化加算部35の加算動作を説明するための図
【図17D】2×2孤立量化加算部36の加算動作を説明するための図
【図17E】2×2孤立量化加算部36の加算動作を説明するための図
【図17F】3×3孤立量化加算部37の加算動作を説明するための図
【図17G】3×3孤立量化加算部37の加算動作を説明するための図
【図17H】4×4孤立量化加算部38の加算動作を説明するための図
【図17I】4×4孤立量化加算部38の加算動作を説明するための図
【図18】2×2画素領域の孤立パラメータの計算を説明する図
【図19】2×2画素領域の孤立パラメータの計算を説明する図
【図20】2×2画素領域の孤立パラメータの計算を説明する図
【図21】2×2画素領域の孤立パラメータの計算を説明する図
【図22】2×2画素領域の孤立パラメータの計算を説明する図
【図23】3×3画素領域の孤立パラメータの計算を説明する図
【図24】3×3画素領域の孤立パラメータの計算を説明する図
【図25】3×3画素領域の孤立パラメータの計算を説明する図
【図26】3×3画素領域の孤立パラメータの計算を説明する図
【図27】3×3画素領域の孤立パラメータの計算を説明する図
【図28】4×4画素領域の孤立パラメータの計算を説明する図
【図29】4×4画素領域の孤立パラメータの計算を説明する図
【図30】4×4画素領域の孤立パラメータの計算を説明する図
【図31】4×4画素領域の孤立パラメータの計算を説明する図
【図32】4×4画素領域の孤立パラメータの計算を説明する図
【図33】注目画素の周辺領域で実際に計算されるd22×2、d32×2、d222×2、d332×2、d2222×2およびd3332×2に含まれるBDTの画素位置を示す図
【図34】注目画素の周辺領域で実際に計算されるd42×2、d52×2、d442×2、d552×2、d4442×2およびd5552×2に含まれるBDTの画素位置を示す図
【図35】注目画素の周辺領域で実際に計算されるdK222×2、dK332×2、dK2222×2、dK3332×2に含まれるBDTの画素位置を示す図
【図36】注目画素の周辺領域で実際に計算されるdK442×2、dK552×2、dK4442×2およびdK5552×2に含まれるBDTの画素位置を示す図
【図37】注目画素の周辺領域で実際に計算されるd23×3、d33×3、d223×3、d333×3、d2223×3およびd3333×3に含まれるBDTの画素位置を示す図
【図38】注目画素の周辺領域で実際に計算されるd43×3、d53×3、d443×3、d553×3、d4443×3およびd5553×3に含まれるBDTの画素位置を示す図
【図39】注目画素の周辺領域で実際に計算されるdK223×3、dK333×3、dK2223×3およびdK3333×3に含まれるBDTの画素位置を示す図
【図40】注目画素の周辺領域で実際に計算されるdK443×3、dK553×3、dK4443×3およびdK5553×3に含まれるBDTの画素位置を示す図
【図41】注目画素の周辺領域で実際に計算するd24×4、d34×4、d224×4、d334×4、d2224×4およびd3334×4に含まれるBDTの画素位置を示す図
【図42】注目画素の周辺領域で実際に計算するd44×4、d54×4、d444×4、d554×4、d4444×4およびd5554×4に含まれるBDTの画素位置を示す図
【図43】注目画素の周辺領域で実際に計算するdK224×4、dK334×4、dK2224×4およびdK3334×4に含まれるBDTの画素位置を示す図
【図44】注目画素の周辺領域で実際に計算するdK444×4、dK554×4、dK4444×4およびdK5554×4に含まれるBDTの画素位置を示す図
【図45】従来技術の端部処理を説明するための図
【図46】従来技術で2枚の画像を1枚ずつ画像処理した後1枚の画像に合成する処理を行った場合の不具合を説明するための図
【符号の説明】
30 孤立パラメータ算出部
201 端部処理部
301 BDTデータ読み出しFiFo
302 H方向鏡像データ生成部
303 V方向鏡像データ生成部
304 BDTデータ書き込みFiFo
305 セレクタ
306 制御部
【発明の属する技術分野】
本発明は画像処理装置および方法に関し、例えば、像域分離を行う画像処理に関する。
【0002】
【従来の技術】
文字や網点画像が混在する原稿を複写機でコピーする場合、スキャナ部から入力される画像データに様々な処理が施される。例えば、文字部分をシャープに出力するために画像データにシャープネスを施すフィルタ処理を行う。しかし、網点画像部に同様のフィルタ処理を行うとモワレが発生する。そこで、複写機には、文字再現を重視するモード、網点画像の再現を重視するモードなど、複写モードが複数用意され、原稿画像に応じたフィルタ処理が選択できるように構成されている。
【0003】
また、カラー複写機には、文字領域と網点画像領域とを所定のブロック単位に像域分離して、フィルタ処理を切り替るものもある。
【0004】
カラー複写機において、例えば無彩色画像を読み込んでみると、メカニカルな振動、レンズの色収差、MTFの違いなどにより、色ずれが生じて無彩色画像のエッジ部に有彩色が現れることがある。とくに、網点画像領域と文字領域との区別は難しく、網点画像領域を文字領域と誤判定すると、網点画像にエッジ強調を施すことになりモアレを生じる。逆に、文字領域を網点画像領域と誤判定すると、文字が平滑化されてしまう問題がある。
【0005】
カラー複写機は、ブロック単位に像域分離を行うので、網点画像領域と文字領域の誤判定もブロック単位で発生し、画質劣化の要因になっている。
【0006】
そこで、互いに異なる複数の属性の画像領域を含む画像から、画像の特徴を効率よく、正確に検出し、網点画像領域と文字領域とを良好に区別するために、互いに異なるサイズの複数の領域それぞれにおいて、画素値の孤立量を算出し、算出された孤立量を所定領域において積分し、積分された孤立量に応じて所定属性の画像領域を抽出する像域分離方法が提案されている。そして、入力画像の各画素が、網点画像領域に含まれるか、文字領域に含まれるかを示す信号を発生して、この信号により画像処理を切り替える。
【0007】
以下、従来技術の画像処理装置を図面を参照して詳細に説明する。
【0008】
[像域判定処理]
図8は従来技術の像域判定処理を示すブロック図である。
【0009】
S21〜S34のブロックは、像域判定処理の処理ブロック群であり、S35〜S44はメモリを必要とする処理ブロックS22,S23,S24,S28,S29,S30,S33が、図示していない外部メモリに対して、処理の中間信号を読み書きする上での主走査方向のタイミング調整用のFiFoである。ここで、以下の説明においては、VはCCDセンサの移動方向(副走査方向)を、HはCCDセンサの受光素子の並び方向(主走査方向)をそれぞれ表すこととする。
【0010】
入力D_R[35:0]は中間信号D[5:0]の外部メモリからの6ライン分の読み出しデータであり、出力D_W[35:0]は中間信号D[5:0]の外部メモリへの6ライン分の書き込みデータであり、入力DL0_R[5:0]は中間信号DL0の外部メモリからの6ライン分の読み出しデータであり、出力DL0_W[5:0]は中間信号DL0の外部メモリへの6ライン分の書き込みデータであり、入力D1_R[1:0]は中間信号DL1の外部メモリからの2ライン分の読み出しデータであり、出力DL1_W[1:0]は中間信号DL1の外部メモリへの2ライン分の書き込みデータであり、入力BDT_R[15:0]は中間信号BDTの外部メモリからの16ライン分の読み出しデータであり、出力BDT_W[15:0]は中間信号BDTの外部メモリへの16ライン分の書き込みデータであり、入力KBDT_R[1:0]は中間信号KBDTの外部メモリからの2ライン分の読み出しデータであり、出力KBDT_W[5:0]は中間信号KBDTの外部メモリへの2ライン分の書き込みデータである。
【0011】
また、各処理ブロックが必要とするメモリーデータのワード幅は、後述する各処理ブロックの注目画素に対する(参照範囲の副走査方向の画素数−1)×(中間信号のデータ幅)としている。例えば後述する孤立処理S30においては、1bit信号であるBDTに対して(副走査方向17画素)×(主走査方向21画素)のウインド処理が必要であるため、現在処理中の信号BDTと、外部メモリからの読み出しデータであるBDT_R[15:0]をS41によって後述するレイテンシ分遅延させられたデータBDT_R_d[15:0]の計17ラインのBDTデータを参照して、ウインド処理を行う。同様に、平均濃度加算S22,エッジ強調処理S24、角抜け対策演算S23においては、6bit信号であるD[5:0]に対し(副走査方向7画素)×(主走査方向7画素)のウインド処理が必要であるため、現在処理中の信号D[5:0]と外部メモリからの読み出しデータであるD_R[35:0]をS35によって後述するレイテンシ分遅延させられたデータD_R_d[35:0]の計7ラインのDデータを参照して、ウインド処理を行う。デルタ孤立判定S28においては、1bit信号であるDL0に対し(副走査方向7画素)×(主走査方向7画素)のウインド処理が必要であるため、現在処理中の信号DL0と外部メモリからの読み出しデータであるDL0_R[5:0]を後述するレイテンシ分遅延させられたデータDL0_R_d[5:0]の計7ラインのDL0データを参照して、ウインド処理を行う。デルタ補正S29においては、1bit信号であるDL1に対し(副走査方向3画素)×(主走査方向3画素)のウインド処理が必要であるため、現在処理中の信号DL1と外部メモリからの読み出しデータであるDL1_R[2:0]を後述するレイテンシ分だけ遅延させられたデータDL1_R_d[2:0]の計7ラインのDL1データを参照して、ウインド処理を行う。
【0012】
ノッチ補正/太らせ処理S33においては、1bit信号であるKBDTに対し(副走査方向3画素)×(主走査方向3画素)のウインド処理が必要であるため、現在処理中の信号KBDTと外部メモリからの読み出しデータであるKBDT_R[2:0]を後述するレイテンシ分だけ遅延させられたデータKBDT_R_d[2:0]の計3ラインのKBDTデータを参照して、ウインド処理を行う。
【0013】
次に、各処理ブロックからの外部メモリの書き込みデータの生成に関しては、書き込みデータD_W[35:0]は、読み出しデータD_R[35:0]をMSB側に6bitシフトし、LSB側に現在処理中のD[5:0]信号を格納したデータD_W_p[35:0]をS36により後述するレイテンシ分だけ遅延させることにより行う。つまり、
D_W[35:0]=D_W_p[35:0]=D_R[29:0]&D[5:0]
ここで、&は連結演算子である。そして本書き込みデータD_W[35:0]が、次ラインの同一のH座標における外部メモリからの読み出しデータD_R[35:0]となる。
【0014】
また、BDT_W[15:0]は、読み出しデータBDT_R[15:0]をMSB側に1bitシフトし、LSBに現在処理中のBDT信号を格納したデータBDT_W_p[15:0]を後述するレイテンシ分だけ遅延させることにより行う。つまり、
BDT_W[15:0]=BDT_W_p[15:0]=BDT_R[14:0]&BDT …(100)
である。そして本書き込みデータBDT_W[15:0]が、次ラインの同一のH座標における外部メモリからの読み出しデータBDT_R[15:0]となる。
【0015】
同様に、
DL0_W[5:0]=DL0_W_p[5:0]=DL0_R[4:0]&DL0
DL1_W[2:0]=DL1_W_p[2:0]=DL1_R[1:0]&DL1
KBDT_W[2:0]=KBDT_W_p[2:0]=KBDT_R[1:0]&KBDT
であり、本書き込みデータDL0_W[5:0],DL1_W[2:0],KBDT_W[2:0]が、それぞれ次のラインの同一のH座標における外部メモリからの読み出しデータDL0_R[5:0],DL1_R[2:0],KBDT_R[2:0]となる。
【0016】
また、それぞれのFiFoのレイテンシは、Dデータ読み出しFiFo S35のレイテンシは、G信号入力S21に等しく、Dデータ書き込みFiFo S36のレイテンシは、信号D出力されてから信号MJが出力されるまでのレイテンシに等しく、DL0データ読み出しFiFo S37のレイテンシは、信号G[7:0]が入力されてから信号DL0が出力されるまでのレイテンシに等しく、DL0データ書き込みFiFo S38のレイテンシは、信号DL0が出力されてから、信号MJが出力されるまでのレイテンシに等しく、DL1データ読み出しFiFo S39のレイテンシは、信号G[7:0]が入力されてから信号DL1が出力されるまでのレイテンシに等しく、DL1データ書き込みFiFoS40のレイテンシは、信号DL1が出力されてから、信号MJが出力されるまでのレイテンシに等しく、BDTデータ読み出しFiFo S41のレイテンシは、信号G[7:0]が入力されてから信号BDTが出力されるまでのレイテンシに等しく、BDTデータ書き込みFiFo S42のレイテンシは、信号BDTが出力されてから、信号MJが出力されるまでのレイテンシに等しく、KBDTデータ読み出しFiFo S43のレイテンシは、信号G[7:0]が入力されてから信号KBDTが出力されるまでのレイテンシに等しく、KBDTデータ書き込みFiFo S44のレイテンシは、信号KBDTが出力されてから、信号MJが出力されるまでのレイテンシに等しい。
【0017】
次に、各処理ブロックの処理内容に関して説明する。
【0018】
●G信号入力
像域判定処理は、例えば8ビットのグリーン(G)の色成分信号G[7:0]を入力して、その上位6ビットをD信号D[5:0]にする(S21)。つまりD[V][H]=G1[V][H]/4である。これは、G色成分信号の8ビットを上位6ビットに落としても、像域判定の精度を大幅に落とすことなく、処理時間の短縮、回路規模の縮小を図ることができる。言い換えれば、D信号のビット数は、像域判定の要求精度、要求処理速度、ハードウエア規模の制限などに応じて、適宜設定されるべきものである。
【0019】
●平均濃度加算処理
平均濃度加算処理(S22)は、入力されるD信号について、注目画素を中心とする7×7画素領域の49画素のD信号値を加算して、加算値を1/16にした値AVE7[V][H]を算出する。
【0020】
AVE7[V][H]={Σx=−3 3Σy=−3 3D[V+x][H+y]}/16 …(1)
ただし、0≦AVE7≦192
●角抜け対策演算
角抜け対策演算処理(S23)は、D[V][H]の加算値を以下の7×7画素領域における縦、横および斜め方向に算出し、その中の最大値KAD07[V][H]を出力する。図9は7×7画素領域において算出する領域sum(B)、sum(C)、sum(D)およびsum(E)を説明する図である。
【0021】
ただし、0≦KAD07≦192
●エッジ強調処理
エッジ強調処理(S24)は、注目画素周辺領域のデータを参照し、5×5、3×3および7×7画素領域を使用してエッジ成分を抽出し、抽出したエッジ成分を所定の強度で注目画素に加算することで、注目画素のエッジ強調処理を行う。
【0022】
以下に、エッジ成分を抽出するための演算式を示す。ここで、KOM[x][y]、KM1[x][y]、KM2[x][y]およびKM3[x][y]は、各エッジ成分を抽出するフィルタの係数を示す。図10Aから図10Cはエッジ成分を抽出するフィルタの係数例を示す図である。
【0023】
5×5フィルタで抽出されるエッジ成分EDD55は下式で示される。
【0024】
EDD55=Σx=−2 2Σy = −2 2(D[V+x][H+y]+KMO[x][y]) …(3)3×3フィルタで抽出されるエッジ成分EDD33VおよびEDD33Hは下式で示される。
【0025】
EDD33V=Σx = −1 1Σy = −1 1(D[V+x][H+y]+ KM1[x][y])
EDD33H=Σx = −1 1Σy = −1 1(D[V+x][H+y]+ KM2[x][y])…(4)
7×7フィルタで抽出されるエッジ成分EDD77は下式で示される。
【0026】
EDD77V=Σx = −3 3Σy = −3 3(D[V+x][H+y]+KM3[x][y]) …(5)
式(3)から(5)によって算出されたエッジ成分に所定のゲインを乗算して、注目画素に加算することで、注目画素のエッジ強調処理が行われる。以下にその演算式を示す。
【0027】
ただし、EDGE1>255のときEDGE =255
EDGE1<0のとき EDGE1=0
EDGE2[V][H]=D[V][H]+EDD55×EDKYD3+EDD77×EDKYD4 …(7)
ただし、EDGE2>511のとき EDGE2= 511
EDGE2<−512のときEDGE2=−512
ここで、EDKYD0〜EDKYD4は各エッジ抽出値に乗ずるゲイン
なお、EDKYD0〜EDKYD4は、入力信号G1のMTF特性を補正するように設定されている。とくに、EDD33VおよびEDD33Hは、3×3画素領域における主走査方向および副走査方向のエッジ量が独立に算出された値で、これらに乗算される係数EDKYD1およびEDKYD2は、主走査および副走査のMTFの違いを補正するように設定されている。
【0028】
また、後述する二値化処理(S26)に入力されるEDGE1[V][H]は、0から255の値でクリップされ、EDGE2[V][H]は−512から511の値でクリップされる。
【0029】
●二値化処理
二値化処理(S26)は、エッジ強調処理(S24)でエッジ強調されたEDGE1[V][H]と、平均濃度加算処理(S22)で算出されたAVE7[V][H]とを比較して、二値化信号BDT[V][H]を出力する。
【0030】
EDGE1[V][H]×49/16<AVE7[V][H]
のとき BDT[V][H]=‘1’
EDGE1[V][H]×49/16<AVE7[V][H]
のとき BDT[V][H]=‘0’ …(8)
AVE7[V][H]は、7×7画素領域の49画素データの加算値を16で除した値であるから、式(8)の左辺においても、EDGE1[V][H]を49倍して16で除す。これにより、エッジ強調された注目画素の値EDGE1[V][H]が、7×7画素領域の平均画素値をしきい値として二値化される。なお、上記の演算式は、ビットシフト以外の除算を行わない構成にして、ハードウエアが容易に実現されるよう考慮したものである。
【0031】
また、式(8)の両辺が等しい、つまりAVE7[V][H]=EDGE1[V][H]×49/16の場合、BDT[V][H]は‘0’になるが、これは、均一な濃度領域でBDT[V][H]が常に‘0’になることを示す。
【0032】
また、BDT[V][H]=‘1’になる画素は、周辺領域のD信号平均値よりもEDGE1[V][H]が小さい場合である。これは、平均濃度に対して明度で暗い場合を示し、暗い方向のエッジ成分を有する画素はBDT[V][H]=‘1’に、そうでない画素はBDT[V][H]=‘0’にする。
【0033】
●濃度差判定
濃度差判定(S27)は、エッジ強調処理(S24)から出力されるEDGE2[V][H]と周辺領域との濃度差が所定の濃度差よりも大きい場合にDL[V][H]=‘1’を、そうでない場合はDL[V][H]=‘0’を出力する。
【0034】
判定1:AVE7[V][H]−EDGE2[V][H]×49/16>NOUDOIN
のときENOUD0[V][H]=‘1’
EDGE2[V][H]×49/16−AVE7[V][H]>NOUDOOUT
のときENOUD0[V][H]=‘1’
上記以外のときENOUDO[V][H]=‘0’ …(9)
ただし、NOUDOINおよびNOUDOOUTは設定値
判定2:KADO7[V][H]−EDGE2[V][H]×49/16>NOUDOINK
のときKADO[V][H]=‘1’
EDGE2[V][H]×49/16−KADO7[V][H]>NOUDOOUTK
のときKADO[V][H]=‘1’
上記以外のときKADO[V][H]=‘0’ …(10)
ただし、NOUDOINKおよびNOUDOOUTKは設定値
DLO[V][H]=ENOUDO[V][H]またはKADO[V][H]
EDGE2[V][H]は、エッジ強調処理(S24)で説明したように、正または負の値をとるように算出される。従って、正エッジ成分に対するしきい値としてNOUDOOUT、負エッジ成分に対するしきい値としてNOUDOINを設定する。これらによって、明度が高くなるエッジ領域、および、明度が小さくなるエッジ領域におけるエッジ成分にしきい値を独立に設定することが可能になり、文字領域の内側、外側領域それぞれに関してENOUDO[V][H]=‘1’になる判定が行える。
【0035】
上記の判定2は、文字画像領域の角部分におけるエッジ成分の低下を補うために行われる。図11Aおよび図11Bはエッジ部の画素配置を示す図である。
【0036】
判定1は、エッジ強調された注目画素値EDGE2[V][H]と、その周辺領域の平均画素値との濃度差を二値化して、濃度差成分が大きいか否かを判定するが、同一明度の画素が図11Aおよび図11Bに示すように配置されている場合、エッジ強調処理(S24)において算出されるエッジ成分は、図11Bの配置に比較して、図11Aの配置の方が大きな値になる。従って、判定1では図11Bの配置においてエッジ画素を検出できない場合が発生する。
【0037】
この問題を回避するために判定2を行う。つまり、角抜け対策演算処理(S23)において算出された7×7画素領域の縦、横、斜め成分の加算値における最大値成分と、エッジ強調された注目画素値EDGE2[V][H]との濃度差を判定することで、図11Bの配置においても、エッジ強調された注目画素と周辺画素との濃度差が大きいと判定することが可能になる。
【0038】
●デルタ孤立判定
デルタ孤立判定(S28)は、濃度差判定(S27)から出力されるDL0[V][H]より、孤立したDL0[V][H]を除去する。図12Aは孤立除去に使用する領域の一例を示す図である。図12Aの例では、7×7画素領域を使用して、最外周画素位置にDL0=‘1’の画素が存在しない場合は内側の5×5画素領域のDL0の値を強制的に‘0’に置き換え、注目画素に対する補正結果としてDL1[V][H]=DL0[V][H]にし、DL0[V][H]を孤立除去した結果としてDL1[V][H]を出力する。この処理により、5×5画素よりも小さい領域に孤立して存在するDL0=‘1’の画素の濃度差判定結果は、濃度差が所定値よりも小さいという判定結果に置き換えられる。
【0039】
参照する領域は、7×7画素に限らず、システムが要求する性能により、参照領域を切り替えてもよい。図12Bは参照領域を5×5画素とする例を示す図である。図12Bの例では、3×3画素領域より小さい領域に存在するDL0=‘1’の画素がDL0=‘0’に置き換えられる。
【0040】
●デルタ補正処理
デルタ補正処理(S29)は、デルタ孤立判定(S28)の判定結果であるDL1[V][H]に対し、3×3画素領域を参照することで、DL1[V][H]の不連続部分を補正し、補正した結果としてDL2[V][H]を出力する。
【0041】
図13は補正が行われるDL1の配置を示す図である。図13にグレーの四角で示す画素位置はDL1=‘1’の画素を示し、注目画素位置の補正結果であるDL2[V][H]は、図13に示す四つのパターンに合致する場合はDL1[V][H]の値に関わらず‘1’に、合致しない場合はDL1[V][H]になる。
【0042】
以上のようにして、算出されたDL2[V][H]に対応する領域は、注目画素と周辺領域の画素値の平均値との濃度差が所定値よりも大きい画素位置に基づき、前述したデルタ孤立判定(S28)およびデルタ補正(S29)によって孤立点が除去され、不連続部分が補正される。
【0043】
DL2[V][H]=‘1’に対応する領域は、エッジ成分が所定値よりも大きな領域を示す。言い換えれば、DL2[V][H]=‘1’は、連続中間調領域または線数の高い網点領域では発生せず、線画を含む文字画像領域および線数の低い網点領域のエッジ部分で発生する。
【0044】
DL2[V][H]=‘0’の画素は非エッジ領域を、DL2[V][H]=‘1’の画素はエッジ領域を示す。また、デルタ孤立判定(S28)で行われる孤立判定により、濃度差判定(S27)において濃度差が大きいと判定された画素の孤立点が除去されるため、原稿の下地に細かいごみがあるような新聞や、二値プリンタによって出力された原稿における連続階調のハイライト濃度領域の孤立した記録ドットを、エッジ領域と判定することがない。つまり、後述する文字判定において、そのうような領域が文字画像領域と誤判定されることを防ぐことができる。
【0045】
判定結果DL2[V][H]の値は、後述する網点判定結果と合わせて、文字画像領域か否かの判定に利用される。
【0046】
●孤立処理
詳細は後述するが、孤立処理(S30)は、網点領域を判定するための特徴量を算出する。つまり、二値化処理(S26)は、注目画素の周辺領域の画素値の平均値をしきい値として、エッジ強調処理(S24)された注目画素値を二値化した結果BDT[V][H]を出力する。この二値化結果は、網点画像領域では網点配置に依存し、互いに孤立するBDT=‘1’の塊およびBDT=‘0’の塊を形成する。これに対して、文字画像領域は、網点画像領域とは異なり、連続するBDT=‘1’または‘0’の領域を形成する。孤立処理(S30)は、BDTの値を参照してBDTの分布の孤立性を特徴量として算出する。
【0047】
●網点判定
網点判定(S31)は、孤立処理(S30)において算出された特徴量を所定値と比較することで、注目画素が網点画像領域に含まれるか否かを判定して、判定結果PMJ[V][H]を出力する。判定条件を下に示す。
【0048】
条件1:(SUM11[V][H]<k11)&&(SUM10[V][H]<k10) …(11)
条件2:(SUM21[V][H]<k21)&&(SUM20[V][H]<k20) …(12)
条件3:(SUM221[V][H]<k221)&&(SUM220[V][H]<k220)
&&{(SUM221[V][H]+SUM220[V][H])<k22} …(13)
条件4:(SUM331[V][H]<k331)&&(SUM330[V][H]<k330)
&&{(SUM331[V][H]+SUM330[V][H])<k33} …(14)
条件5:(SUM441[V][H]<k441)&&(SUM440[V][H]<k440)
&&{(SUM441[V][H]+SUM440[V][H])<k44} …(15)
ここで、&&は論理積を示す論理比較演算子。
k11、k10、k21、k20、k221、k220、k22、k331、k330、
k33、k441、k440およびk44は予め設定された定数。
例えば600dpiの解像度で読み取られた入力信号に対して
k11=46、k10=40、k21=22、k20=30、k22=38、k31=54、
k30=64、k33=80、k41=40、k40=50およびk44=70に設定する
ことで、100線から200線程度の網点画像を良好に判定すること
が可能。
【0049】
上記条件1から5をすべてを満足する場合は、網点画像領域外と判定してPMJ[V][H]=‘1’を出力する。また、上記条件1から5の何れかを満足しない場合は、網点画像領域内と判定してPMJ[V][H]=‘0’を出力する。
【0050】
●文字判定
文字判定(S32)は、網点判定(S31)の判定結果PMJ、および、デルタ補正(S29)の結果DL2から文字画像領域を抽出する。その際の判定を以下に示す。
【0051】
条件(PMJ[V][H]=‘1’)&&(DL2[V][H]=‘1’) …(16)
上記条件を満足する場合は、文字画像領域と判定してKBDET[V][H]=‘1’を出力する。また、上記条件を満足しない場合は網点画像領域と判定してKBDET[V][H]=‘0’を出力する。
【0052】
●ノッチ補正/太らせ処理
ノッチ補正/太らせ処理(S33)は、文字判定(S32)から判定信号KBDETを入力し、3×3画素領域のエリア処理によって補正を行った信号MJIDETを出力する。その際、補正処理はレジスタFTRENBの設定により以下のように行われる。
【0053】
FTRENB=1のときはノッチ補正を行う。ノッチ補正は、図14に示す3×3画素領域の「*」で示す注目画素がKBDET=‘0’の場合でも、注目画素を通過する縦、横または斜めの方向にKBDET=‘1’の画素が二つ存在する場合、注目画素のMJIDETとして‘1’を出力する。また、注目画素以外の八画素すべてがKBDET=‘0’の場合は、注目画素がKBDET=‘1’でも、注目画素のMJIDETとして‘0’を出力する。さらに、上記以外の場合は、注目画素のMJIDETとして注目画素のKBDETをそのまま出力する。
【0054】
ノッチ補正によって、CCDのノイズや原稿の汚れなどによって、文字画像領域として判定されなかった部分を補正し、逆に、誤って文字画像領域と判定された孤立部分を除去することができる。
【0055】
一方、FTRENB=2のときは太らせ処理を行う。太らせ処理は、3×3画素領域の九画素の一つでもKBDET=‘1’があれば、注目画素のMJIDETとして‘1’を出力する。それ以外の場合は、注目画素のMJIDETとして‘0’を出力する処理である。
【0056】
太らせ処理によって、濃度差判定(S27)でエッジの外側が文字画像領域と判定されなかった場合でも、一画素分拡張して、例えば色ずれ部分まで文字画像領域にするため、文字の再現劣化に起因するエッジ部分の色ドットを抑制することが可能になる。
【0057】
●出力固定選択処理
出力固定選択処理(S34)は、ノッチ補正/太らせ処理(S33)から出力されるMJIDETに関わらず、文字判定結果信号のレベルを固定するもので、レジスタMJIDSBの設定によって出力結果MJを決定する。MJの制御を以下に示す。
【0058】
MJIDSB=0のとき MJ=MJIDET(通常出力)
MJIDSB=1のとき MJ=‘0’ (網点画像領域に固定)
MJIDSB=2のとき MJ=‘1’ (文字画像領域に固定)
[孤立処理の詳細]
図15は孤立処理の詳細を示すブロック図である。
【0059】
●1×1孤立量算出部
1×1孤立量算出部31は、注目画素を中心とする3×3画素領域のBDTを参照して、BDTの値が縦、横および斜めの各方向に対して‘0’‘1’‘0’と変化する場合に、各方向に対する孤立量を「1」として、これらの合計を注目画素に対する孤立量KA1[V][H]とする。図16は孤立量の算出方向を示す図である。
【0060】
図16に示す方向a、b、cおよびdについてBDTを参照し、各方向のBDTが‘0’‘1’‘0’または‘1’‘0’‘1’と変化すれば、その方向の孤立量を「1」に設定する。そして、次式に従い、四方向の孤立量の和を注目画素の孤立量KA1[V][H]およびKA0[V][H]として出力する。従って、孤立量は0〜4の値をとる。
【0061】
BDT=‘1’に対する孤立量KA1[V][H]=a+b+c+d
BDT=‘0’に対する孤立量KA0[V][H]=a+b+c+d…(17)
ただし、BDT=‘1’または‘0’が四方向の何れかに連続している場合(図17A参照)は、細線の可能性が高いため、注目画素の孤立量KA1[V][H]またはKA0[V][H]を‘0’にする。
【0062】
網点ドットが一画素で構成される場合、すなわち低濃度の網点画素または線数の高い網点に対して孤立量KA1[V][H]が比較的大きくなるという特徴がある。
【0063】
●孤立パラメータ算出部
孤立パラメータ算出部30は、二値信号BDTから2×2、3×3および4×4画素の各サイズで孤立量を得るためのパラメータを算出する。
【0064】
●2×2〜4×4孤立量算出部
2×2孤立量算出部32は、孤立パラメータ算出部36から入力される孤立パラメータdn2×2(n=1〜5)、dnn2×2、dnnn2×2、dknn2×2およびdknnn2×2(n=2〜5)に基づき、孤立量KAA1、KAA0、KAP1およびKAP0を算出する。
【0065】
3×3孤立量算出部33は、孤立パラメータ算出部36から入力される孤立パラメータdn3×3(n=1〜5)、dnn3×3、dnnn3×3、dknn3×3およびdknnn3×3(n=2〜5)に基づき、孤立量KAAP1およびKAAP0を算出する。
【0066】
4×4孤立量算出部34は、孤立パラメータ算出部36から入力される孤立パラメータdn4×4(n=1〜5)、dnn4×4、dnnn4×4、dknn4×4およびdknnn4×4(n=2〜5)に基づき、孤立量KAAAP1およびKAAAP0を算出する。
【0067】
●孤立量加算部
1×1孤立量加算部35は、次式に従い1×1の孤立量を加算する。
【0068】
SUM11[V][H]=Σx=−7 7Σy=−7 7KA1[V+x][H+y]
SUM10[V][H]=Σx=−7 7Σy=−7 7KA0[V+x][H+y] … (18)
図17Bに注目画素*に対する、KA1,KA0の加算範囲を示す。但し実際の計算では、演算量を減らすために、図17Cに示すように、注目画素が[V][H−1]の時、各Hに対する一列分のKA1及びKA0の加算値B1[H]及びB0[H]を夫々を計算し、これらをHの列数(15列)分足しこむことにより、SUM11[V][H−1]、SUM10[V,H−1]を夫々計算する。そして、注目画素が[V][H]となった時、SUM1[V][H−1]又はSUM0[V][H−1]に対して、新しく加算領域に追加された列の加算値B1[7]又はB0[7]を加算しつつ、加算領域から外れた列の加算値B1[−8]又はB0[−8]を減算することにより、SUM11[V][H]又はSUM10[V][H]を算出する。以下に演算式を示す。
【0069】
2×2孤立量加算部36は、次式に従い、2×2の孤立量を所定領域について加算する。
【0070】
SUM21[V][H]=Σx=−6 5Σy=−6 6KAA1[V+x][H+y]
SUM20[V][H]=Σx=−6 5Σy=−6 6KAA0[V+x][H+y]
SUM221[V][H]=Σx=−6 5Σy=−6 6KAP1[V+x][H+y]
SUM220[V][H]=Σx=−6 5Σy=−6 6KAP0[V+x][H+y] … (19)
図17Dに注目画素*に対する、KAP1,KAP0の加算範囲を示す。ここで、1×1孤立量加算部35と同様に実際の計算では、図17Eに示すように加算値を算出する。以下に演算式を示す。
【0071】
尚、BA1,BA0,BP1,BP0は夫々、各Hに対するKAA1、KAA0、KAP1、KAP0の一列分の加算値である。
【0072】
3×3孤立量加算部37は、次式に従い、3×3の孤立量を所定領域について加算する。
【0073】
SUM331[V][H]=Σx=−5 5Σy=−6 6KAAP1[V+x][H+y]
SUM330[V][H]=Σx=−5 5Σy=−6 6KAAP0[V+x][H+y] … (20)
図17Fに注目画素*に対する、KAAP1,KAAP0の加算範囲を示す。ここで、1×1孤立量加算部35と同様に実際の計算では、図17Gに示すように加算値を算出する。以下に演算式を示す。
【0074】
尚、BAP1,BAP0は夫々、各Hに対するKAAP1、KAAP0の一列分の加算値である。
【0075】
4×4孤立量加算部38は、次式に従い、4×4の孤立量を所定領域について加算する。
【0076】
SUM441[V][H]=Σx=−5 4Σy=−6 6KAAAP1[V+x][H+y]
SUM440[V][H]=Σx=−5 4Σy=−6 6KAAAP0[V+x][H+y] … (21)
図17Hに注目画素*に対する、KAAAP1,KAAAP0の加算範囲を示す。ここで、1×1孤立量加算部35と同様に実際の計算では、図17Iに示すように加算値を算出する。以下に演算式を示す。
【0077】
尚、BAAP1,BAAP0は夫々、各Hに対するKAAAP1、KAAAP0の一列分の加算値である。
【0078】
●2×2の孤立量の算出方法
図18から図22は2×2画素領域の孤立パラメータの計算を説明する図である。まず、図18に示すd2、d3、d4およびd5方向斜線で示した画素についてのBDTの和を次式により算出する。なお、同図において“*”が注目画素を示し、そのBDT値がBDT[V][H]である。
【0079】
d22 × 2=BDT[V][H]+ BDT[V+1][H]
d32 × 2=BDT[V][H+1]+BDT[V+1][H+1]
d42 × 2=BDT[V][H]+BDT[V][H+1]
d52 × 2=BDT[V+1][H]+BDT[V+1][H+1] …(22)
同様に、図19に示すd22、d33、d44およびd55方向のBDTの和を次式により算出する。
【0080】
d222 × 2=BDT[V][H−1]+BDT[V+1][H−1]
d332 × 2=BDT[V][H+2]+BDT[V+1][H+2]
d442 × 2=BDT[V−1][H]+BDT[V−1][H+1]
d552 × 2=BDT[V+2][H]+BDT[V+2][H+1] …(23)
同様に、図20に示すd222、d333、d444およびd555方向のBDTの和を次式により算出する。
【0081】
d2222 × 2=BDT[V][H−2]+BDT[V+1][H−2]
d3332 × 2=BDT[V][H+3]+BDT[V+1][H+3]
d4442 × 2=BDT[V−2][H]+BDT[V−2][H+1]
d5552 × 2=BDT[V+3][H]+BDT[V+3][H+1] …(24)
同様に、図21に示すdk22、dk33、dk44およびdk55方向のBDTの和を次式により算出する。
【0082】
次に、図22に示すdk222、dk333、dk444およびdk555方向のBDTの和を次式により算出する。
【0083】
また、次式に従い、注目画素を含む2×2画素領域のBDTの和d12×2を算出する。
【0084】
次に、次式に従い、2×2画素領域に対する孤立量KAA1[V][H]を算出する。
【0085】
(dd2kaa1 > 0 || dd22kaa1>0)&&(dd3kaa1> 0 || dd33kaa1> 0 )
の場合は KRTV[V][H]=1
そうでなければ KRTV[V][H]=0 … (28)
(dd4kaa1> 0 || dd44kaa1>0)&&(dd5kaa1> 0 || dd55kaa1> 0 )
の場合は KRTH[V][H]=1
そうでなければ KRTH[V][H]=0 … (29)
ここで、||は論理和を示す論理比較演算子
&&は論理積を示す論理比較演算子
ddnkaa1=dn2x2−dnn2x2(n=2、3、4、5)
ddnnkaa1=dn2x2・dnnn2x2(n=2、3、4、5)
さらに、次式に従い、注目画素に対するBDT=‘1’に関する孤立量KAA1[V][H]を算出する。
【0086】
d12 × 2=4のときKAA1[V][H]=KRTV[V][H]+KRTH[V][H]
d12 × 2≠4のとき KAA1[V][H]=0 …(30)そして、注目画素に対するBDT=‘0’に関する孤立量KAA0[V][H]を算出する。
【0087】
(dd2kaa0< 0 || dd22kaa0< 0 )&&(dd3kaa0< 0 ||dd33kaa0< 0 )
の場合は KRTV[V][H] =1
そうでなければ KRTV[V][H] = 0 …(31)
(dd4kaa0< 0 || dd44kaa0< 0 )&&(dd5kaa0< 0 || dd55kaa0< 0 )
の場合は KRTH[V][H]=1
そうでなければ KRTH[V][H]=0 …(32)
ここで、||は論理和を示す論理比較演算子
&&は論理積を示す論理比較演算子
ddnkaa0=dn2x2−dnn2x2(n=2、3、4、5)
ddnnkaa0=dn2x2・dnnn2x2(n=2、3、4、5)
一方、次式に従い、注目画素に対するBDT=‘0’に関する孤立量KAA0[V][H]を算出する。
【0088】
d12 × 2= 0 のとき KAA0[V][H]=KRTV[V][H]+KRTH[V][H]
d12 × 2≠ 0 のとき KAA0[V][H]=0 …(33)他方、2×2画素領域の網点に対する孤立量KAP1[V][H]およびKAP0[V][H]は次のように計算する。
【0089】
条件1:d12 × 2= 4
条件2:(dd2kap1>0 || dd22kap1 >0)&&(dd3kap1>0 || dd33kap1 >0)&&(dd4kap1>0 || dd44kap1 >0)&&( dd5kap1>0 || dd55kap1 >0)ここで、||は論理和を示す論理比較演算子
&&は論理積を示す論理比較演算子
ddnkap1 = dn2 × 2 − dknn2 × 2(n = 2、3、4、5)
ddnnkap1 = dn2 × 2 − dknnn2 × 2 (n = 2、3、4、5)
上記の条件1および2をともに満たす場合は
KAP1[V][H]+=BDT[V][H]
KAP1[V][H+1]+=BDT[V][H+1]
KAP1[V+1][H]+=BDT[V+1][H]
KAP1[V+1][H+1] += BDT[V+1][H+1] …(34)
ここで、a+=bはa=a+bを表す。
【0090】
ただし、KAP1[V][H]の初期値として0が予め設定されている。
【0091】
さらに、BDT=‘0’の画素に対する孤立量を以下の条件により算出する。
【0092】
条件1:d12 × 2 = 0
条件2:(dd2kap0<0 ||dd22kap0<0)&&(d3kap0<0 ||dd33kap0<0)
&&(dd4kap0<0 || dd44kap0<0)&&(dd5kap0<0 ||dd55kap0<0)
ここで、||は論理和を示す論理比較演算子
&&は論理積を示す論理比較演算子
ddnkap0 = dn2 × 2− dnn2 × 2(n = 2、3、4、5)
ddnnkap0 = dn2 × 2 − dnnn2 × 2(n = 2、3、4、5)
条件3:m1 > 1 || m2 > 1
ここで、m1およびm2の初期値は0、そして
(d222 × 2 == 2)||(d2222 × 2 == 2) のとき m1 += 1
(d332 × 2 == 2)||(d3332 × 2 == 2) のとき m1 += 1
(d442 × 2 == 2)||(d4442 × 2 == 2) のとき m2 += 1
(d552 × 2 == 2)||(d5552 × 2 == 2) のとき m2 += 1
上記の条件1から3をともに満たす場合は
KAP0[V][H]+= (not BDT[V][H])
KAP0[V][H+1]+= (not BDT[V][H+1])
KAP0[V+1][H]+= (not BDT[V+1][H])
KAP0[V+1][H+1]+=(not BDT[V+1][H+1]) …(35)ただし、KAP1[V][H]の初期値として0が予め設定されている。
【0093】
●3×3の孤立量の算出方法
図23から図27は3×3画素領域の孤立パラメータの計算を説明する図である。まず、図23に示すd2,d3,d4,d5方向に斜線で示した画素についてのBDT値の和を、次式により算出する。なお、同図において“*”が注目画素を示し、そのBDT値がBDT[V][H]である。
【0094】
d23 × 3=BDT[V−1][H−1]+BDT[V][H−1]+BDT[V+1][H−1]
d33 × 3=BDT[V−1][H+1]+BDT[V][H+1]+BDT[V+1][H+1]
d43 × 3=BDT[V−1][H−1]+BDT[V−1][H]+BDT[V−1][H+1]
d53 × 3=BDT[V+1][H−1]+BDT[V+1][H]+BDT[V+1][H+1] …(36)
同様に、図24に示すd22、d33、d44およびd55方向のBDTの和を次式により算出する。
【0095】
d223 × 3=BDT[V−1][H−2]+BDT[V][H−2]+BDT[V+1][H−2]
d333 × 3=BDT[V−1][H+2]+BDT[V][H+2]+BDT[V+1][H+2]
d443 × 3=BDT[V−2][H−1]+BDT[V−2][H]+BDT[V−2][H+1]
d553 × 3=BDT[V+2][H−1]+BDT[V+2][H]+BDT[V+2][H+1] …(37)
同様に、図25に示すd222、d333、d444およびd555方向のBDTの和を次式により算出する。
【0096】
d2223 × 3=BDT[V−1][H−3]+BDT[V][H−3]+BDT[V+1][H−3]
d3333 × 3=BDT[V−1][H+3]+BDT[V−1][H+3]+BDT[V−1][H+3]d4443 × 3=BDT[V−3][H−1]+BDT[V−3][H]+BDT[V−3][H+1]
d5553 × 3=BDT[V+3][H−1]+BDT[V+3][H]+BDT[V+3][H+1]…(38)
同様に、図26に示すdk22、dk33、dk44およびdk55方向のBDTの和を次式により算出する。
【0097】
同様に、図27に示すdk222、dk333、dk444およびdk555方向のBDTの和を次式により算出する。
【0098】
また、次式に従い、注目画素を含む3×3画素領域のBDTの和d13×3を算出する。
【0099】
次に、次式に従い、3×3画素領域の網点に対する孤立量KAAP1[V][H]およびKAAP0[V][H]を算出する。
【0100】
条件1:BDT[V][H]= 1 && d13 × 3≧5
条件2:(dd2kaap1>0 ||dd22kaap1>0)&&(dd3kaap1>0 ||dd33kaap1>0)
&&(dd4kaap1>0 ||dd44kaap1>0)&&(dd5kaap1>0 ||dd55kaap1>0)
ここで、||は論理和を示す論理比較演算子
&&は論理積を示す論理比較演算子
ddnkaap1= dn3 × 3 − dknn3 × 3(n = 2、3、4、5)
ddnnkaap1= dn3 × 3・dknnn3 × 3(n = 2、3、4、5)
上記の条件1および2を満たす場合は
KAAP1[V−1][H−1]+= BDT[V−1][H−1]
KAAP1[V−1][H]+= BDT[V−1][H]
KAAP1[V−1][H+1]+= BDT[V−1][H+1]
KAAP1[V][H−1]+= BDT[V][H−1]
KAAP1[V][H]+= BDT[V][H]
KAAP1[V][H+1]+= BDT[V][H+1]
KAAP1[V+1][H]+= BDT[V+1][H−1]
KAAP1[V+][H]+= BDT[V+1][H]
KAAP1[V+1][H+1]+= BDT[V+1][H+1] …(42)
ただし、KAAP1[V][H]の初期値は0にする。
【0101】
さらに、BDT=‘0’に対する孤立量を以下の条件により算出する。
【0102】
(d223 × 3 == 3)||(d2223 × 3 == 3) のとき m1++
(d333 × 3 == 3)||(d3333 × 3 == 3) のとき m1++
(d443 × 3 == 3)||(d4443 × 3 == 3) のとき m2++
(d553 × 3 == 3)||(d5553 × 3 == 3) のとき m2++ …(43)
ここで、a++はa=a+1を表す。
【0103】
ただし、m1およびm2の初期値は0とする。
【0104】
条件1:BDT[V][H]= 0 && d1≦0
条件2:(dd2kaap0<||dd22kaap0<0)&&(dd3kaap0<0 ||dd33kaap0<0)
&&(dd4kaap0<0 ||dd44kaap0<0)&&(dd5kaap0<0 ||dd55kaap0<0)
ここで、||は論理和を示す論理比較演算子
&&は論理積を示す論理比較演算子
ddnkaap0 = dn3 × 3 −dnn3 × 3(n = 2、3、4、5)
ddnnkaap0 = dn3 × 3・dnnn3 × 3(n = 2、3、4、5)
条件3:m1 > || m2 > 1
上記の条件1から3をともに満たす場合
KAAP0[V−1][H−1]+= (not BDT[V−1][H−1])
KAAP0[V−1][H]+= (not BDT[V−1][H])
KAAP0[V−1][H+1]+= (not BDT[V−1][H+1])
KAAP0[V][H−1]= (not BDT[V][H−1])
KAAP0[V][H]+= (not BDT[V][H])
KAAP0[V][H+1]+= (not BDT[V][H+1])
KAAP0[V+1][H]+= (not BDT[V+1][H−1])
KAAP0[V+1][H]+= (not BDT[V+1][H])
KAAP0[V+1][H+1]+= (not BDT[V+1][H+1]) …(44)
ここで、notは否定演算子を表す。
【0105】
ただし、KAAP0[V][H]の初期値は0とする。
【0106】
●4×4の孤立量の算出方法
図28から図32は4×4画素領域の孤立パラメータの計算を説明する図である。まず、図28に示すd2、d3、d4およびd5方向に斜線で示した画素についてのBDT値の和を、次式により算出する。なお、同図において“*”が注目画素を示し、そのBDT値がBDT[V][H]である。
【0107】
同様に、図29に示すd22、d33、d44およびd55方向のBDTの和を次式により算出する。
【0108】
同様に、図30に示すd222、d333、d444およびd555方向のBDTの和を次式により算出する。
【0109】
同様に、図31に示すdk22、dk33、dk44およびdk55方向のBDTの和を次式により算出する。
【0110】
同様に、図32に示すdk222、dk333、dk444およびdk555方向のBDTの和を次式により算出する。
【0111】
また、次式に従い、注目画素を含む4×4画素領域のBDTの和d14×4を算出する。
【0112】
次に、次式に従い、4×4画素領域の網点に対する孤立量KAAP1[V][H]を算出する。
【0113】
条件1:(BDT[V][H]=1&& BDT[V+1][H]=1&& BDT[V][H+1]=1
&& BDT[V+1][H+1] = 1)&& d1≧9
条件2:(dd2kaaap1>0 ||dd22kaaap1>0)&&(dd3kaaap1>0 ||dd33kaaap1>0)
&&(dd4kaaap1>0 ||dd44kaaap1>0)&&(dd5kaaap1>0 ||dd55kaaap1>0)
ここで、||は論理和を示す論理比較演算子
&&は論理積を示す論理比較演算子
ddn4 × 4 = dn4 × 4 − dknn4 × 4(n = 2、3、4、5)
ddnn4 × 4 = dn4 × 4・dknnn4 × 4(n = 2、3、4、5)
上記の条件1および2をともに満たす場合
KAAAP1[V−1][H−1] += BDT[V−1][H−1]
KAAAP1[V−1][H]+= BDT[V−1][H]
KAAAP1[V−1][H+1]+= BDT[V−1][H+1]
KAAAP1[V−1][H+2]+= BDT[V−1][H+2]
KAAAP1[V][H−1]+= BDT[V][H−1]
KAAAP1[V][H]+= BDT[V][H]
KAAAP1[V][H+1]+= BDT[V][H+1]
KAAAP1[V][H+2]+= BDT[V][H+2]
KAAAP1[V+1][H]+= BDT[V+1][H−1]
KAAAP1[V+1][H]+= BDT[V+1][H]
KAAAP1[V+1][H+1]+= BDT[V+1][H+1]
KAAAP1[V+1][H+2]+= BDT[V+1][H+2]
KAAAP1[V+2][H]+= BDT[V+2][H−1]
KAAAP1[V+2][H]+= BDT[V+2][H]
KAAAP1[V+2][H+1]+= BDT[V+2][H+1]
KAAAP1[V+2][H+2]+= BDT[V+2][H+2] …(51)
ただし、KAAAP1[V][H]の初期値は0にする。
【0114】
また、次式に従い、BDT=‘0’に対する孤立量KAAP0[V][H]を算出する。
【0115】
(d224 × 4 == 4)||(d2224 × 4 == 4)のとき m1++
(d334 × 4 == 4)||(d3334 × 4 == 4)のとき m1++
(d444 × 4 == 4)||(d4444 × 4 == 4)のとき m2++
(d554 × 4 == 4)||(d5554 × 4 == 4)のとき m2++
ただし、m1およびm2の初期値は0にする。
【0116】
条件1:(BDT[V][H]=0&&BDT[V+1][H]=0&&BDT[V][H+1]=0
&& BDT[V+1][H+1] = 0)&& d1≦N
条件2:(dd2kaaap0 < −1 || dd22kaaap0 < −1)
&&(dd3kaaap0 < −1 || dd33kaaap0 < −1)
&&(dd4kaaap0 < −1 || dd44kaaap0 < −1)
&&(dd5kaaap0 < −1 || dd55kaaap0 < −1)
ここで、||は論理和を示す論理比較演算子
&&は論理積を示す論理比較演算子
ddnkaaap0 = dn4 × 4 − dnn4 × 4(n = 2、3、4、5)
ddnnkaaap0 = dn4 × 4・dnnn4 × 4(n = 2、3、4、5)
条件3:(m1 > 1 || m2 > 1)
上記の条件1から3をともに満たす場合は
KAAAP0[V−1][H−1]+= (not BDT[V−1][H−1])
KAAAP0[V−1][H]+= (not BDT[V−1][H])
KAAAP0[V−1][H+1]+= (not BDT[V−1][H+1])
KAAAP0[V][H−1]+= (not BDT[V][H−1])
KAAAP0[V][H]+= (not BDT[V][H])
KAAAP0[V][H+1]+= (not BDT[V][H+1])
KAAAP0[V+1][H]+= (not BDT[V+1][H−1])
KAAAP0[V+1][H]+= (not BDT[V+1][H])
KAAAP0[V+1][H+1]+= (not BDT[V+1][H+1]) …(52)
ただし、KAAAP0[V][H]の初期値は0にする。
【0117】
図33は注目画素の周辺領域で実際に計算されるd22×2、d32×2、d222×2、d332×2、d2222×2およびd3332×2に含まれるBDTの画素位置を示す図である。
【0118】
同様に、図34はd42×2、d52×2、d442×2、d552×2、d4442×2およびd5552×2に含まれるBDTの画素位置を示し、図35はdK222×2、dK332×2、dK2222×2、dK3332×2に含まれるBDTの画素位置を示し、図36はdK442×2、dK552×2、dK4442×2およびdK5552×2に含まれるBDTの画素位置を示す図である。なお、v=−6〜+5であり、h方向には図示した座標以外のBDTは2×2孤立量加算部136では必要としない。
【0119】
前述したように、一画素分のKAA1およびKAA0を計算するには、孤立パラメータd12×2、d22×2、d32×2、d222×2、d332×2、d2222×2、d3332×2、d42×2、d52×2、d442×2、d552×2、d4442×2およびd5552×2が必要である。2×2孤立量加算部36に必要なv=−6〜+5の12画素分のKAA1およびKAA0を計算するために、12画素分の孤立パラメータが必要になるが、このうち12画素分のd42×2、d52×2、d442×2、d552×2、d4442×2およびd5552×2は重複するパラメータが多い。そこで、必要な6×12=72個のパラメータのうち、以下の17個のBH2[v]だけ計算して割り振る。
【0120】
BH2[v]= BDT[V][h]+BDT[V][h+1](v=−8〜+8) …(53)
同様に、一画素分のKAP1およびKAP0を計算するには、孤立パラメータd12×2、d22×2、d32×2、dK222×2、dK332×2、dK2222×2、dK3332×2、d42×2、d52×2、dK442×2、dK552×2、dK4442×2およびdK5552×2が必要である。2×2孤立量加算部36に必要なv=−6〜+5の12画素分のKAP1およびKAP0を計算するために、12画素分の孤立パラメータが必要になるが、このうち12画素分のd12×2、d42×2およびd52×2は上記のBH2[v]を用いることができる。
【0121】
また、dK442×2、dK552×2、dK4442×2およびdK5552×2は重複するパラメータがある。そこで、必要な4×12=48個のパラメータのうち、以下の15+17=32個のBH4[v]およびBH6[v]だけを計算して割り振る。
【0122】
図37は注目画素の周辺領域で実際に計算されるd23×3、d33×3、d223×3、d333×3、d2223×3およびd3333×3に含まれるBDTの画素位置を示す図である。
【0123】
同様に、図38はd43×3、d53×3、d443×3、d553×3、d4443×3およびd5553×3に含まれるBDTの画素位置を、図39はdK223×3、dK333×3、dK2223×3およびdK3333×3に含まれるBDTの画素位置を、図40はdK443×3、dK553×3、dK4443×3およびdK5553×3に含まれるBDTの画素位置を示す。なお、v=−5〜+5であり、h方向には図示した座標以外のBDTは3×3孤立量加算部37では必要としない。
【0124】
前述したように、一画素分のKAAP1を計算するには、孤立パラメータd13×3、d23×3、d33×3、dK223×3、dK333×3、dK2223×3、dK3333×3、d43×3、d53×3、dK443×3、dK553×3、dK4443×3およびdK5553×3が必要である。3×3孤立量加算部37に必要なv=−5〜+5の11画素分のKAAP1を計算するには、11画素分の孤立パラメータが必要になる。
【0125】
また、一画素分のKAAP0を計算するには、孤立パラメータd13×3、d23×3、d33×3、d223×3、d333×3、d2223×3、d3333×3、d43×3、d53×3、d443×3、d553×3、d4443×3およびd5553×3が必要である。3×3孤立量加算部37に必要なv=−5〜+5の11画素分のKAAP0を計算するには、11画素分の孤立パラメータが必要になる。
【0126】
これらの孤立パラメータのうち、d43×3、d53×3、d443×3、d553×3、d4443×3およびd5553×3は重複するパラメータが多い。そこで、必要な6×11=66個のパラメータのうち、以下の17個のBH3[v]だけを計算して割り振る。
【0127】
BH3[v]=BDT[V][h−1]+BDT[V][h]+BDT[V][h+1](v=−8〜+8)…(55)また、dK443×3、dK553×3、dK4443×3およびdK5553×3には重複するパラメータがある。そこで、必要な4×11=44個のパラメータのうち、以下の15+17=32個のBH5[v]、BH7[v]だけを計算して割り振る。
【0128】
図41は注目画素の周辺領域で実際に計算するd24×4、d34×4、d224×4、d334×4、d2224×4およびd3334×4に含まれるBDTの画素位置を示す図である。
【0129】
同様に、図42はd44×4、d54×4、d444×4、d554×4、d4444×4およびd5554×4に含まれるBDTの画素位置を、図43はdK224×4、dK334×4、dK2224×4およびdK3334×4に含まれるBDTの画素位置を、図44はdK444×4、dK554×4、dK4444×4およびdK5554×4に含まれるBDTの画素位置を示す図である。なお、v=−5〜+4であり、h方向には図示した座標以外のBDTは4×4孤立量加算部38では必要としない。
【0130】
前述したように、一画素分KAAAP1を計算するには、孤立パラメータd14×4、d24×4、d34×4、dK224×4、dK334×4、dK2224×4、dK3334×4、d44×4、d54×4、dK444×4、dK554×4、dK4444×4およびdK5554×4が必要である。4×4孤立量加算部38に必要なv=−5〜+4の10画素分のKAAAP1を計算するには、10画素分の孤立パラメータが必要になる。
【0131】
また、一画素分のKAAAP0を計算するには、孤立パラメータd14×4、d24×4、d34×4、d224×4、d334×4、d2224×4、d3334×4、d44×4、d54×4、d444×4、d554×4、d4444×4およびd5554×4が必要である。4×4孤立量加算部38に必要なv=−5〜+4の10画素分のKAAAP0を計算するには、10画素分の孤立パラメータが必要になる。
【0132】
これらの孤立パラメータのうち、d44×4、d54×4、d444×4、d554×4、d4444×4およびd5554×4の大半は、2×2領域用の孤立パラメータBH4[v]として、既に計算されている。そこで、上下端それぞれ一画素分のBH4[v]だけ新たに計算すればよい。
【0133】
また、dK444×4およびdK554×4に関しては、必要な画素分は2×2領域用の孤立パラメータBH6[v]として、既に計算されているため新たに計算する必要はない。
【0134】
残りのdK4444×4およびdK5554×4は重複するパラメータがあるため、必要な2×10=20個のパラメータのうち、以下の17個のBH8[v]を計算して割り振る。
【0135】
【0136】
【発明が解決しようする課題】
しかし、従来技術では図45に示すように画像の端部に措いて1×1の孤立量を算出する場合、有効画像領域外の無効画像領域に関してBDT=0に補間し、孤立パラメータの算出及び孤立量の算出を行っているため、画像の端部に措いては正確な孤立量の算出が不可能であった。また、2×2、3×3、4×4の孤立量の算出に措いても同様な処理を行っているため、画像の端部に措いては正確な孤立量の算出が不可能であった。
【0137】
また、図46のように2枚の画像を1枚ずつ画像処理した後1枚の画像に合成する処理を行った場合、像域分離判定の精度の低い領域が面積比で2倍に増え、かつ画像の中央部分になるため像域判定エラーがより目立つものになっていた。
【0138】
本発明は、上述の問題を解決するためのもので、ハードウエアを著しく増加させることなく、端部における孤立量の算出を正確に行うことを目的とする。
【0139】
【課題を解決するための手段】
この発明は下記の構成を備えることにより上記課題を解決できるものである。
【0140】
(1)入力信号から画素値の孤立量を算出するために、そのサイズが互いに異なる複数の領域に対して、入力信号から所定の演算を行って得られた2値信号から、固有のパラメータを算出するパラメータ算出手段と、前記パラメータに基づき、前記複数の領域それぞれにおいて、画素値の孤立量を算出する孤立量算出手段と、算出された孤立量を所定の領域において積分する積分手段と、積分された孤立量から、前記属性を有する画像部分を抽出する抽出手段と、前記パラメータ算出手段に対して、複数ラインの入力信号を供給する供給手段とから構成され、画像から異なる複数の属性を有する画像部分を抽出する画像処理装置において、前記画像の端部においては、前記供給手段が有する遅延を用いて、前記パラメータの算出前に、有効画素の2値信号を用いて無効画素の2値信号を生成し、前記パラメータの算出を行うことを特徴とする画像処理装置。
【0141】
(2)前記画像の端部における、無効画素の2値信号は、前記端部の有効画素の2値信号の鏡像から生成し、前記パラメータの算出を行うことを特徴とする、前記(1)記載の画像処理装置。
【0142】
(3)前記無効画素の2値信号は、前記端部の有効画素の2値信号を主走査方向に折り返して生成することを特徴とする、前記(2)記載の画像処理装置。
【0143】
(4)前記無効画素の2値信号は、前記端部の有効画素の2値信号を副走査方向に折り返して生成することを特徴とする、前記(2)記載の画像処理装置。
【0144】
(5)前記無効画素の対角方向の2値信号は、前記端部の有効画素の2値信号を、先ず主走査走向に折り返して生成したものを、次に副走査方向に折り返して生成することを特徴とする、前記(2)記載の画像処理装置。
【0145】
(6)前記無効画素の対角方向の2値信号は、前記端部の有効画素の2値信号を、先ず副走査走向に折り返して生成したものを、次に主走査方向に折り返して生成することを特徴とする、前記(2)記載の画像処理装置。
【0146】
(7)入力信号から画素値の孤立量を算出するために、そのサイズが互いに異なる複数の領域に対して、入力信号から所定の演算を行って得られた2値信号から、固有のパラメータを算出するパラメータ算出手段と、前記パラメータに基づき、前記複数の領域それぞれにおいて、画素値の孤立量を算出する孤立量算出手段と、算出された孤立量を所定の領域において積分する積分手段と、積分された孤立量から、前記属性を有する画像部分を抽出する抽出手段と、複数ラインの入力信号を供給する供給手段とから構成され、画像から異なる複数の属性を有する画像部分を抽出する画像処理装置において、前記画像の端部においては、前記供給手段が有する遅延を用いて、前記パラメータの算出前に、有効画素の2値信号を用いて無効画素の2値信号を生成し、前記パラメータの算出を行うことを特徴とする画像処理方法。
【0147】
(8)画像処理装置を制御して、前記(7)に記載された画像処理を実行することを特徴とするプログラム。
【0148】
(9)前記(8)に記載されたプログラムが記録されたことを特徴とする記録媒体。
【0149】
【発明の実施の形態】
以下、本発明にかかる一実施形態の画像処理装置を図面を参照して詳細に説明する。
【0150】
[本実施形態で用いる鏡像]
まず、本実施形態で用いる鏡像について説明する。図17B,D,F,Hに示したように、1×1,2×2,3×3,4×4の全種類の孤立量を計算するためには注目画素(v,h)に対して、−8≦v≦8,−9≦h≦11の矩形領域の範囲のBDTが必要である。図1A〜図1Dに有効画像画像領域(サイズ(n+1)x(m+1)画素)に対する、左上端、右上端、左下端、右下端におけるBDTの鏡像のイメージ図を示す。
これらの図より、以下の式で鏡像を定義する。
【0151】
(1)画像の左端におけるBDTの鏡像(−9≦h≦−1,−8≦v≦n+8)
BDT[v,h]=BDT[v,−h−1]
(2)画像の右端におけるBDTの鏡像(m+1≦h≦m+11,−8≦v≦n+8)
BDT[v,h]=BDT[v,2m−h+1]
(3)画像の上端におけるBDTの鏡像(−9≦h≦m+11,−8≦v≦−1)
BDT[v,h]=BDT[−v−1,h]
(4)画像の下端におけるBDTの鏡像(−9≦h≦m+11,n+1≦v≦n+8)
BDT[v,h]=BDT[2m−v+1,h]
但し、本実施例ではハードウエア削減のため斜線部分(図1AのBDT[8,−9]〜BDT[8,−1],図1BのBDT[8,m+1]〜BDT[8,m+11],図1CのBDT[n+8,−9]〜BDT[n+8,−1],図1DのBDT[n+8,m+1]〜BDT[n+8,m+11])に関しては前記(1)〜(4)の定義に基づいた鏡像を生成することなく、‘0’としているが、前記矩形領域のBDTに占める面積の割合は小さいので、注目画素(v,h)のBDTの算出への影響は微々たるものである。
【0152】
【第1実施形態】
図2に本実施例の孤立点処理部の構成を示す。201は本発明の特徴となるBDTの端部処理部であり、前段の2値化処理S26から入力されるBDTと、前記外部メモリから読み出された16ライン分のBDTデータBDT_R[15:0]を元に、17ライン分のBDTデータBDT_R_d3[16:0]を生成して、後段の孤立パラメータ算出部30及び、1×1孤立量算出部に出力する。また、前述のように式(100)にしたがって、前記外部メモリへの16ライン分の書き込みデータBDT_W[15:0]を生成し、出力する。他のブロックは上記図15で説明したものと同じであるので、説明を省略する。ここで、後述するように、図8のBDTデータ読み出しFiFo S41のレイテンシ分の遅延は端部処理部201に含まれており、この遅延を利用して端部処理は行われる。また、BDTデータ書き込みFiFO S42のレイテンシ分の遅延も含まれている。
【0153】
次に、図3を用いて、端部処理部201の構成を説明する。本実施例では、図1で定義した鏡像を用いた端部処理を行うこととする。
【0154】
301は前記外部メモリから読み出された16ライン分のBDTデータBDT_R[15:0]を遅延させるためのBDTデータ読み出しFiFoであり、302はH方向の鏡像データを生成するための鏡像データ生成部であり、301のFiFO出力信号BDT_R_d[15:0]に対して有効画素領域のBDT左右に鏡像データを付加して、信号BDT_R_d2[15:0]として出力する。ここで、図8で説明した従来技術のBDTデータ読み出しFiFo S41のレイテンシは、BDTデータ読み出しFiFo 301のレイテンシと、H方向鏡像データ生成部302のレイテンシの和に等しい。
【0155】
303はV方向の鏡像データを生成するための鏡像データ生成部であり、302の出力信号BDT_R_d2[15:0]に対して有効画素領域のBDT上下に鏡像データ付加して、信号BDT_R_d3[16:0]として出力する。また、前記外部メモリへの遅延前の16ライン分の書き込みデータBDT_W_p[15:0]を生成し、出力する。304はBDTデータ書き込みFiFoであり、信号BDT_W_p[15:0]に図8 BDTのデータ書き込みFiFOS42と同等なレイテンシを持たせて、前記外部メモリへの16ライン分の書き込みデータBDT_W[15:0]として出力する。また、305はセレクタであり、制御部306からの制御により、無効画素領域においては‘0’を、有効画素においては信号BDTを選択して、信号BDT_dとしてV方向鏡像データ生成部303に出力する。306は制御部であり、図2には図示していない2値化処理S26からの主走査方向の有効画像領域を示すイネーブル信号h_enbと、副走査方向の有効画像領域を示すイネーブル信号v_enbを入力して、302、303,305に対して、処理の開始や、鏡像データの生成のタイミング信号を出力して制御を行う。
【0156】
次に図4を用いて、H方向鏡像データ生成部301の構成を説明する。404〜422はD−FFであり、ぞれぞれセレクタ423〜442を介して直列につながり、22段のFIFOを形成している。セレクタ423〜433は制御部302からの制御信号r_ldで制御され、r_ld=‘0’の時、入力端子0を、r_ld=‘1’の時、入力端子1を選択して出力する。また、セレクタ434〜442は制御部302からの制御信号l_ldで制御され、l_ld=‘0’の時、入力端子0を、r_ld=‘1’の時、入力端子1を選択して出力する。尚、制御信号l_ld、r_ldは夫々、有効画像領域の左端、右端の鏡像データを生成するための信号である。
【0157】
尚、H方向鏡像データ生成部301を構成している22段FiFOは図8で説明した従来技術のBDTデータ読み出しFiFo S41の一部を活用している。
【0158】
次に図5A,Bを用いて、H方向鏡像データ生成部302の動作を説明する。まず、左端での鏡像データの生成においては、s501にてBDT_R_d2[15:0]データが有効画素の0番目から入力される。そして、s502に示すように11番目のBDT_R_d2[15:0]データまで入力される。このタイミングで、制御信号l_ldが1クロック(画素)期間だけ‘1’になり、次のFIFOのシフト動作で、0〜8番目のBDT_R_d2[15:0]データが、鏡像データを生成すべく、0番目のBDTが格納されているD−FFより後段のD−FFにロードされる(s503)。具体的にはs502の状態で、D−FF 412には0番目のBDT_R_d2[15:0]データが、D−FF 411には1番目のBDT_R_d2[15:0]データが、...というように順番にBDT_R_d2[15:0]データが格納されており、最前段のD−FF 401には11番目のBDT_R_d2[15:0]データが格納されている。この状態で、制御信号l_ld=‘1’として後段のD−FF 414〜422にデータをロードし、次のFIFOのシフトタイミングでシフトすると、
0番目のBDT_R_d2[15:0]データがD−FF 414へ
1番目のBDT_R_d2[15:0]データがD−FF 415へ
2番目のBDT_R_d2[15:0]データがD−FF 416へ
3番目のBDT_R_d2[15:0]データがD−FF 417へ
4番目のBDT_R_d2[15:0]データがD−FF 418へ
5番目のBDT_R_d2[15:0]データがD−FF 419へ
6番目のBDT_R_d2[15:0]データがD−FF 420へ
7番目のBDT_R_d2[15:0]データがD−FF 421へ
8番目のBDT_R_d2[15:0]データがD−FF 422へ
夫々、格納されs503に示すような、鏡像データが生成できる。このとき、D−FF 401〜413は通常のFIFO動作を行う。そして、以降の処理はs504に示すように、右端の鏡像データの生成を行うまではH方向鏡像データ生成部302は通常のFIFO動作を行う。
【0159】
次に、右端の鏡像データの生成においては、s505に示すようにFIFOの出力端にm−11番目のBDT_R_d2[15:0]データが出力されている状態で、制御信号r_ldが1クロック(画素)期間だけ‘1’になり、次のFIFOのシフト動作が行われると、m−10〜m番目のデータが、鏡像データを生成すべく、m番目のBDTが格納されているD−FFより前段のD−FFにロードされる(s506)。ここで、m+1は主走査の画像サイズである。具体的にはs505の状態で、D−FF 421にはm−10番目のBDT_R_d2[15:0]データが、D−FF 420にはm−9番目のBDT_R_d2[15:0]データが、...というように順番にBDTデータが格納されており、中段のD−FF 411にはm番目のBDT_R_d2[15:0]データが格納されている。この状態で、制御信号r_ld=‘1’として前段のD−FF401〜410にデータをロードし、次のFIFOのシフトタイミングでシフトすると、
m番目のBDT_R_d2[15:0]データがD−FF 411へ
m−1番目のBDT_R_d2[15:0]データがD−FF 410へ
m−2番目のBDT_R_d2[15:0]データがD−FF 409へ
m−3番目のBDT_R_d2[15:0]データがD−FF 408へ
m−4番目のBDT_R_d2[15:0]データがD−FF 407へ
m−5番目のBDT_R_d2[15:0]データがD−FF 406へ
m−6番目のBDT_R_d2[15:0]データがD−FF 405へ
m−7番目のBDT_R_d2[15:0]データがD−FF 404へ
m−8番目のBDT_R_d2[15:0]データがD−FF 403へ
m−9番目のBDT_R_d2[15:0]データがD−FF 402へ
m−10番目のBDT_R_d2[15:0]データがD−FF 401へ
夫々、格納されs506に示すような、鏡像データが生成できる。このとき、D−FF 412〜422は通常のFIFO動作を行う。そして、以降の処理はs507に示すように、右端の鏡像データがH方向鏡像データ生成部302から出力される。
【0160】
このように図4,5で説明したように、従来のタイミング調整用のFiFo S41の一部のD−FFに対して、セレクタ等少量のハードウエア加えてH方向鏡像データ生成部301を構成することにより、H方向の端部処理が可能となる。
【0161】
次に、図6を用いて、V方向鏡像データ生成部303の構成を説明する。603は有効画像領域の下端に対してBDTの鏡像データを生成するためのセレクタであり、制御部305からの制御信号BDT_l_selによりBDT_d,BDT_R_d2[2],BDT_R_d2[4],BDT_R_d2[6],BDT_R_d2[8],BDT_R_d2[10],BDT_R_d2[12],BDT_R_d2[14]のうちいずれかを選択し、BDT_s信号としてD−FF615,614をそれぞれ介して、出力端子BDT_R_d3[0]及び、BDT_W_p[0]に出力される。604〜611は有効画像領域の上端に対して、BDTの鏡像データを生成するためのセレクタであり、制御部305からの制御信号BDT_m_sel=‘0’の時、有効画素領域のBDT_R_d2[15:0]を出力し、D−FF614を介して、出力端子BDT_W_p[15:0]に出力する。また、BDT_m_sel=‘1’の時、上端のBDT_R_d2[15:0]の鏡像データを出力し、D−FF614を介して、出力端子BDT_W_p[15:0]に出力する。ここで、612〜615はタイミング調整用のD−FFである。
【0162】
次に図7A,Bを用いて、V方向鏡像データ生成部303の動作を説明する。本実施例の鏡像データの生成は、画像の上端においてはメモリ書き込みデータBDT_W_p[15:0]の生成時に、下端においてメモリリードデータBDT_R_d3[15:0]の生成時に行っている。
【0163】
まず、上端のBDT_R_p[15:0]の鏡像データの生成方法を図7Aを用いて説明する。図7Aは現在走査中のライン番号に対して、メモリライトデータBDT_W_p[15:0]の各ビットに何ライン目のデータが格納されるかを示す図である。本実施例では、7ライン目の画素を注目画素として処理を行う。また、本実施例ではBDT_W_p[15:0]をMSB方向に1bitシフトした後、BDT_W_p[0]に対して現在操作中のデータを格納していくが、0〜6ライン目を走査している間はメモリに十分なラインデータが格納されていないため、注目画素の処理を行わない。そして、7ライン目の走査中に、8ライン目の走査中に0ライン目の処理を行う為の鏡像データの生成を行う。制御信号BDT_m_sel=‘1’とすることにより、セレクタ604〜611の出力が鏡像を生成するように制御される。具体的には、
BDT_W_p[8]=BDT_W_p[7]
BDT_W_p[9]=BDT_W_p[6]
BDT_W_p[10]=BDT_W_p[5]
BDT_W_p[11]=BDT_W_p[4]
BDT_W_p[12]=BDT_W_p[3]
BDT_W_p[13]=BDT_W_p[2]
BDT_W_p[14]=BDT_W_p[1]
BDT_W_p[15]=BDT_W_p[0]
となる。
【0164】
8ライン目の走査以降はBDT_m_sel=‘0’として、鏡像データの生成を停止する。
【0165】
次に、図7Bを用いて、下端のBDT_R_d3[16:0]の鏡像データの生成方法を説明する。図7Bは現在走査中のライン番号に対して、メモリードデータBDT_R_d2[15:0]の各ビットに何ライン目のデータが格納されているかを示す図である。ここで、n+1は副走査方向の画像サイズである。本実施例では、7ライン目の画素を注目画素として処理を行う。まずnライン目を操作中の処理に関しては、処理に使われる全17bitに対して、有効画像領域のBDT_R_d3[16:0]がそろっているため、鏡像データの生成は行わない。n+1ライン目の以降の走査に関しては、有効画像領域から外れるため鏡像データの生成を行う。
【0166】
セレクタ603において、制御信号BDT_l_selを図7Bの様に処理することにより、n+1ライン目の以降の走査に関して、現在走査中のラインのデータを鏡像として生成する。また、生成された鏡像データは、メモリーデータのライト時にBDT_R_d2[15:0]をMSB方向に1bitシフトした後、BDT_R_d2[0]として格納する。
鏡像データの生成は、n+8ライン目の走査まで続けられる。
【0167】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0168】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0169】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0170】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【0171】
【発明の効果】
以上説明したように本発明によれば、タイミング調整用のFiFoを利用して端部処理を行うことにより、ハードウエアを著しく増加させることなく、画像端部においても精度よく像域分離演算を行なうことができる。
【図面の簡単な説明】
【図1A】画像の左上端部のBDTの鏡像を定義する図
【図1B】画像の右上端部のBDTの鏡像を定義する図
【図1C】画像の左下端部のBDTの鏡像を定義する図
【図1D】画像の右下端部のBDTの鏡像を定義する図
【図2】本発明の孤立処理の詳細を示すブロック図
【図3】本発明の端部処理部の詳細を示すブロック図
【図4】本発明のH方向鏡像データ生成部の詳細を示すブロック図
【図5A】本発明のH方向鏡像データ生成部の画像の左端部の鏡像データの生成方法を説明する図
【図5B】本発明のH方向鏡像データ生成部の画像の右端部の鏡像データの生成方法を説明する図
【図6】本発明のV方向鏡像データ生成部の詳細を示すブロック図
【図7A】本発明のV方向鏡像データ生成部の画像の上端部の鏡像データの生成方法を説明する図
【図7B】本発明のV方向鏡像データ生成部の画像の下端部の鏡像データの生成方法を説明する図
【図8】従来技術の像域判定処理を示すブロック図
【図9】7×7画素領域において算出する領域sum(B)、sum(C)、sum(D)およびsum(E)を説明する図
【図10A】エッジ成分を抽出するフィルタの係数例を示す図
【図10B】エッジ成分を抽出するフィルタの係数例を示す図
【図10C】エッジ成分を抽出するフィルタの係数例を示す図
【図11A】エッジ部の画素配置を示す図
【図11B】エッジ部の画素配置を示す図
【図12A】孤立除去に使用する領域の一例を示す図
【図12B】参照領域を5×5画素とする例を示す図
【図13】補正が行われるDL1の配置を示す図
【図14】ノッチ補正を説明するための図
【図15】孤立処理の詳細を示すブロック図
【図16】孤立量の算出方向を示す図
【図17A】孤立量の算出を説明するための図
【図17B】1×1孤立量化加算部35の加算動作を説明するための図
【図17C】1×1孤立量化加算部35の加算動作を説明するための図
【図17D】2×2孤立量化加算部36の加算動作を説明するための図
【図17E】2×2孤立量化加算部36の加算動作を説明するための図
【図17F】3×3孤立量化加算部37の加算動作を説明するための図
【図17G】3×3孤立量化加算部37の加算動作を説明するための図
【図17H】4×4孤立量化加算部38の加算動作を説明するための図
【図17I】4×4孤立量化加算部38の加算動作を説明するための図
【図18】2×2画素領域の孤立パラメータの計算を説明する図
【図19】2×2画素領域の孤立パラメータの計算を説明する図
【図20】2×2画素領域の孤立パラメータの計算を説明する図
【図21】2×2画素領域の孤立パラメータの計算を説明する図
【図22】2×2画素領域の孤立パラメータの計算を説明する図
【図23】3×3画素領域の孤立パラメータの計算を説明する図
【図24】3×3画素領域の孤立パラメータの計算を説明する図
【図25】3×3画素領域の孤立パラメータの計算を説明する図
【図26】3×3画素領域の孤立パラメータの計算を説明する図
【図27】3×3画素領域の孤立パラメータの計算を説明する図
【図28】4×4画素領域の孤立パラメータの計算を説明する図
【図29】4×4画素領域の孤立パラメータの計算を説明する図
【図30】4×4画素領域の孤立パラメータの計算を説明する図
【図31】4×4画素領域の孤立パラメータの計算を説明する図
【図32】4×4画素領域の孤立パラメータの計算を説明する図
【図33】注目画素の周辺領域で実際に計算されるd22×2、d32×2、d222×2、d332×2、d2222×2およびd3332×2に含まれるBDTの画素位置を示す図
【図34】注目画素の周辺領域で実際に計算されるd42×2、d52×2、d442×2、d552×2、d4442×2およびd5552×2に含まれるBDTの画素位置を示す図
【図35】注目画素の周辺領域で実際に計算されるdK222×2、dK332×2、dK2222×2、dK3332×2に含まれるBDTの画素位置を示す図
【図36】注目画素の周辺領域で実際に計算されるdK442×2、dK552×2、dK4442×2およびdK5552×2に含まれるBDTの画素位置を示す図
【図37】注目画素の周辺領域で実際に計算されるd23×3、d33×3、d223×3、d333×3、d2223×3およびd3333×3に含まれるBDTの画素位置を示す図
【図38】注目画素の周辺領域で実際に計算されるd43×3、d53×3、d443×3、d553×3、d4443×3およびd5553×3に含まれるBDTの画素位置を示す図
【図39】注目画素の周辺領域で実際に計算されるdK223×3、dK333×3、dK2223×3およびdK3333×3に含まれるBDTの画素位置を示す図
【図40】注目画素の周辺領域で実際に計算されるdK443×3、dK553×3、dK4443×3およびdK5553×3に含まれるBDTの画素位置を示す図
【図41】注目画素の周辺領域で実際に計算するd24×4、d34×4、d224×4、d334×4、d2224×4およびd3334×4に含まれるBDTの画素位置を示す図
【図42】注目画素の周辺領域で実際に計算するd44×4、d54×4、d444×4、d554×4、d4444×4およびd5554×4に含まれるBDTの画素位置を示す図
【図43】注目画素の周辺領域で実際に計算するdK224×4、dK334×4、dK2224×4およびdK3334×4に含まれるBDTの画素位置を示す図
【図44】注目画素の周辺領域で実際に計算するdK444×4、dK554×4、dK4444×4およびdK5554×4に含まれるBDTの画素位置を示す図
【図45】従来技術の端部処理を説明するための図
【図46】従来技術で2枚の画像を1枚ずつ画像処理した後1枚の画像に合成する処理を行った場合の不具合を説明するための図
【符号の説明】
30 孤立パラメータ算出部
201 端部処理部
301 BDTデータ読み出しFiFo
302 H方向鏡像データ生成部
303 V方向鏡像データ生成部
304 BDTデータ書き込みFiFo
305 セレクタ
306 制御部
Claims (9)
- 入力信号から画素値の孤立量を算出するために、そのサイズが互いに異なる複数の領域に対して、入力信号から所定の演算を行って得られた2値信号から、固有のパラメータを算出するパラメータ算出手段と、
前記パラメータに基づき、前記複数の領域それぞれにおいて、画素値の孤立量を算出する孤立量算出手段と、
算出された孤立量を所定の領域において積分する積分手段と、
積分された孤立量から、前記属性を有する画像部分を抽出する抽出手段と、
前記パラメータ算出手段に対して、複数ラインの入力信号を供給する供給手段とから構成され、画像から異なる複数の属性を有する画像部分を抽出する画像処理装置において、
前記画像の端部においては、前記供給手段が有する遅延を用いて、前記パラメータの算出前に、有効画素の2値信号を用いて無効画素の2値信号を生成し、前記パラメータの算出を行うことを特徴とする画像処理装置。 - 前記画像の端部における、無効画素の2値信号は、前記端部の有効画素の2値信号の鏡像から生成し、前記パラメータの算出を行うことを特徴とする、請求項1記載の画像処理装置。
- 前記無効画素の2値信号は、前記端部の有効画素の2値信号を主走査方向に折り返して生成することを特徴とする、請求項2記載の画像処理装置。
- 前記無効画素の2値信号は、前記端部の有効画素の2値信号を副走査方向に折り返して生成することを特徴とする、請求項2記載の画像処理装置。
- 前記無効画素の対角方向の2値信号は、前記端部の有効画素の2値信号を、先ず主走査走向に折り返して生成したものを、次に副走査方向に折り返して生成することを特徴とする、請求項2記載の画像処理装置。
- 前記無効画素の対角方向の2値信号は、前記端部の有効画素の2値信号を、先ず副走査走向に折り返して生成したものを、次に主走査方向に折り返して生成することを特徴とする、請求項2記載の画像処理装置。
- 入力信号から画素値の孤立量を算出するために、そのサイズが互いに異なる複数の領域に対して、入力信号から所定の演算を行って得られた2値信号から、固有のパラメータを算出するパラメータ算出手段と、
前記パラメータに基づき、前記複数の領域それぞれにおいて、画素値の孤立量を算出する孤立量算出手段と、
算出された孤立量を所定の領域において積分する積分手段と、
積分された孤立量から、前記属性を有する画像部分を抽出する抽出手段と、複数ラインの入力信号を供給する供給手段とから構成され、画像から異なる複数の属性を有する画像部分を抽出する画像処理装置において、
前記画像の端部においては、前記供給手段が有する遅延を用いて、前記パラメータの算出前に、有効画素の2値信号を用いて無効画素の2値信号を生成し、前記パラメータの算出を行うことを特徴とする画像処理方法。 - 画像処理装置を制御して、請求項7に記載された画像処理を実行することを特徴とするプログラム。
- 請求項8に記載されたプログラムが記録されたことを特徴とする記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003069816A JP2004282323A (ja) | 2003-03-14 | 2003-03-14 | 画像処理装置およびその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003069816A JP2004282323A (ja) | 2003-03-14 | 2003-03-14 | 画像処理装置およびその方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004282323A true JP2004282323A (ja) | 2004-10-07 |
Family
ID=33286736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003069816A Withdrawn JP2004282323A (ja) | 2003-03-14 | 2003-03-14 | 画像処理装置およびその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004282323A (ja) |
-
2003
- 2003-03-14 JP JP2003069816A patent/JP2004282323A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4912270B2 (ja) | 画像処理装置及びその制御方法 | |
US7667711B2 (en) | Image processing system, a method thereof, and a recording medium thereof | |
US6373990B1 (en) | Image processing utilizing luminance-density conversion | |
JP3862374B2 (ja) | 画像処理装置及び方法 | |
JP6781406B2 (ja) | 画像処理装置、および、コンピュータプログラム | |
US8553293B2 (en) | Image interpolation apparatus and a computer readable storage medium storing instructions of a computer program | |
JPH02100575A (ja) | 画像処理装置 | |
JP2011041065A (ja) | 画素補間装置、画素補間方法および画像読取装置 | |
JP2002232654A (ja) | 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP4861506B2 (ja) | 画像処理装置およびその制御方法 | |
JP2006287623A (ja) | 入力画像補正装置、画像処理装置、画像形成装置、入力画像補正方法、入力画像補正プログラムおよび記録媒体 | |
JP2004282323A (ja) | 画像処理装置およびその方法 | |
JP2004254032A (ja) | 画像処理装置およびその方法 | |
JP2012095173A (ja) | 画像処理装置、画像形成装置、および画像処理方法 | |
JP2003032483A (ja) | 画像処理装置およびその方法 | |
JP2004007049A (ja) | 画像処理装置、画像処理方法、記録媒体およびプログラム | |
JP7077925B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP2001245142A (ja) | 画像処理装置及びその方法 | |
KR100612500B1 (ko) | 오브젝트의 균일성을 판단하는 화상형성장치 및 그 방법 | |
JP3564216B2 (ja) | 画像処理装置 | |
JP2005045506A (ja) | 画像処理装置、画像処理方法ならびに記憶媒体、プログラム | |
JP2006245938A (ja) | 画像処理装置 | |
JP3679522B2 (ja) | 画像処理方法及びその装置 | |
JP2006094239A (ja) | 画像処理装置および記憶媒体 | |
JP2023112514A (ja) | 画像処理装置、その制御方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060606 |