説明

画像処理装置、画像処理方法、画像処理プログラム及び記憶媒体

【課題】より正確に画像の属性判定を行なうこと。
【解決手段】 処理の対象となる処理対象画素を含む画像の属性を判定する画像処理装置である。処理対象画素を含む予め定められた大きさの画像領域を抽出する(S701)。画像領域内に含まれる画素の信号値から、画像領域に関する変動量を算出する(S705)。算出した変動量に応じて、画像領域内の画素を、3値以上にN値化する(S709)。N値化の結果としてのN値化データを解析することにより、処理対象画素の属性を判定する(S711)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像の属性を判定するための画像処理装置、画像処理方法、画像処理プログラム及び記憶媒体に関するものである。
【背景技術】
【0002】
従来から、画像形成装置では、画像をより好適なものにするため、現在に至るまでさまざまな工夫がなされてきた。その一つが画像の種別による最適化処理である。原稿とされる画像種類は、文字であったり、写真であったり多様であり、それらが混在しているものも存在する。そのために、写真部分では階調が保持された画像再現が求められる一方、文字部については、読取り時のModulation Transfer Function(MTF)特性によって劣化されたエッジを復元する処理が求められる。
【0003】
このような最適化処理の前提として重要なのが、像域分離での領域判定精度である。この精度が悪く、適切な領域指定ができないと、好適な処理が施されず、良い出力結果が得られないのは明らかである。非特許文献1では、「ブロック分離変換法」(Block Separate Transformation Method:BSET法)が紹介されており、ブロック内の濃度変化により、写真、文字、網点の3領域を分離している。ここでは、写真は濃度変化が少ないという特性を利用し判定を行い、さらに文字と網点は濃度変化を行う周期が、文字の方が大きいという性質を利用し判定をしている。具体的には、所定ブロック内の最大濃度と最小濃度の差により、写真の判定を行い、さらにブロック内を平均信号値で2値化した際の、変化回数から文字と網点の区別を行っている。
【0004】
また、特許文献1では、2値化後のラン長を利用した像域分離方法が開示されている。ここでは、画像を2値化し、最大ラン長を算出すると同時に、所定の条件を満たす場合には、黒画素を膨張させ、その最大ラン長を求める。それらの差分としきい値の比較により、差分が多ければ網点、小さければ文字と区別するものである。写真との切り分けは、上述のBSET法との併用により、実施できることも記述されている。
【0005】
上記文献に開示された技術では、所定範囲の画像信号値を2値化したデータ(0/1)を生成し、その2値化データにおいて0と1の変化回数を読み取ることにより網点部分と文字部の切り分けを行なっていた。具体的には、下記の式のように、所定範囲の主走査方向の0と1の変化回数をKH01、副走査方向の変化回数をKV01とした場合、しきい値TLと比較により、網点部分か文字部かが決定されていた。
【0006】
KH01 ≧ TL かつ KV01 ≧ TL ・・・ 網点部分
KH01 < TL かつ KV01 < TL ・・・ 文字部
【特許文献1】特許03215768号公報
【非特許文献1】電子情報通信学会論文誌'87/2 Vol.J70−B No.2
【発明の開示】
【発明が解決しようとする課題】
【0007】
ところが、実際の画像読取り時には、光源のノイズや、CCDセンサ感度の誤差、読み込まれる原稿そのものの不均一さにより、画像信号値がばらつきを含んでしまう。これに対し、2値化データを用いて変化回数KH01およびKV01を求める方法では、誤計測が2値化データに影響しやすく、2値化データの信頼性が落ちるため、その結果、網点と文字の区別を十分に精度良く行なうことは困難であった。したがって、従来の像域分離方法を利用した画像処理、例えばフィルタを用いた文字部のエッジ強調処理では、文字部であるにも関わらずエッジを強調しなかったり、網点部分に対してエッジを強調したりし、文字のボケやモアレの増長を引き起こす問題があった。
【0008】
本発明は上記従来技術の課題を解決するためになされたものである。そして、その目的は、より正確に画像の属性判定を行なうことにある。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明に係る装置は、
処理の対象となる処理対象画素を含む画像の属性を判定する画像処理装置であって、
前記処理対象画素を含む予め定められた大きさの画像領域を抽出する抽出手段と、
前記画像領域内に含まれる画素の信号値から、前記処理対象画素に関する変動量を算出する変動量算出手段と、
算出した前記変動量に応じた閾値を用いて、前記画像領域内の画素を、3値以上にN値化するN値化手段と、
N値化の結果としてのN値化データを解析することにより、前記処理対象画素の属性を判定する判定手段と、
を備えることを特徴とする。
【0010】
上記目的を達成するため、本発明に係る方法は、
処理の対象となる処理対象画素を含む画像の属性を判定する画像処理方法であって、
前記処理対象画素を含む予め定められた大きさの画像領域を抽出する抽出ステップと、
前記画像領域内に含まれる画素の信号値から、前記処理対象画素に関する変動量を算出する変動量算出ステップと、
算出した前記変動量に応じて、第1及び第2閾値を決定する閾値決定種ステップと、
決定した前記第1及び第2閾値を用いて、前記画像領域内の画素を、3値以上にN値化するN値化ステップと、
N値化の結果としてのN値化データを解析することにより、前記処理対象画素の属性を判定する判定ステップと、
を含むことを特徴とする。
【0011】
上記目的を達成するため、本発明に係るプログラムは、
処理の対象となる処理対象画素を含む画像の属性を判定する画像処理プログラムであって、画像処理装置が、該画像処理プログラムを実行することにより、
前記処理対象画素を含む予め定められた大きさの画像領域を抽出する抽出ステップと、
前記画像領域内に含まれる画素の信号値から、前記処理対象画素に関する変動量を算出する変動量算出ステップと、
算出した前記変動量に応じて、第1及び第2閾値を決定する閾値決定種ステップと、
決定した前記第1及び第2閾値を用いて、前記画像領域内の画素を、3値以上にN値化するN値化ステップと、
N値化の結果としてのN値化データを解析することにより、前記処理対象画素の属性を判定する判定ステップと、
を実現することを特徴とする。
【0012】
上記目的を達成するため、本発明に係る記憶媒体は、上述の画像処理プログラムをコンピュータが読取可能に記憶した記憶媒体である。
【発明の効果】
【0013】
本発明によれば、より正確に画像の属性判定を行なうことができる。
【発明を実施するための最良の形態】
【0014】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【0015】
[第1実施形態]
(MFPの構成)
図1は、本発明の実施の形態に係るマルチファンクションプリンタ(以下、MFP)1の概観斜視図である。図1(a)は、MFP1のADF(オートドキュメントフィーダ)31部分を閉じた状態であり、図1(b)は、開いた状態である。
【0016】
このMFP1は、基本的に、ホストコンピュータ(PC)からデータを受信してプリントするプリンタとしての機能及びスキャナとしての機能を有する。さらにMFP単体で動作する機能として、スキャナで読取った画像をプリンタで印刷するコピー機能、メモリカードなどの記憶媒体から画像データを読取って印刷する機能、或いはデジタルカメラからの画像データを受信して印刷する機能を備えている。
【0017】
図1において、MFP1はフラットベットスキャナなどのスキャニングユニット14、インクジェット式や電子写真式などによるプリントユニット13を備える。また、表示パネル等のディスプレイユニット19や各種キースイッチ等を備えるオペレーションユニット15を備えている。また、MFP1の背面にはPCと通信するためのUSBポート(不図示)が設けられ、PCとの通信が行われる。各種メモリカードからデータを読み出すためのカードスロットを含むカードインタフェイス22やデジタルカメラとデータ通信を行うためのカメラポートを含むカメラインタフェイス23が設けられている。MFP1は、他にも、自動で原稿を原稿台にセットするためのADF31などを備えている。
【0018】
図2は、MFP1の内部構成を示すブロック図である。図2において、CPU11は、MFP1が備える様々な機能を制御し、オペレーションユニット15の所定の操作に従い、ROM16に記憶された画像処理のプログラムを実行する。プログラムを実行することにより、CPU11が処理対象画素を選択したり、処理対象画素を含む予め定められた大きさの画像領域を抽出したりできる。また、CPU11は、画像領域内に含まれる画素の信号値から、処理対象画素に関する変動量や変動回数や変動加速度や彩度を算出することもできる。さらにCPU11は、画像領域内の画素を、3値以上にN値化し、N値化データを解析してその画素の属性を判断することもできる。ROM16には、画像処理に用いられる様々なテーブルや数式が格納されており、変動量と第1、第2閾値との対応関係を設定する。CCDを備えるスキャニングユニット14は、原稿画像を読取り、赤(R)、緑(G)および青(B)色のアナログ輝度データを出力する。なお、スキャニングユニット14は、CCDの代わりに密着型イメージセンサ(CIS)を備えてもよい。また、ADF31を備えれば、連続でオーダーシートを読取ることができ更に簡便である。
【0019】
また、カードインターフェイス22は、例えばディジタルスチルカメラ(Digital Still Camere:以下DSC)で撮影され、メモリカードなどに記録された画像データを、オペレーションユニット15に対する操作に従い読み込む。なお、カードインターフェイス22を介して読み込まれた画像データの色空間は、必要ならば、画像処理部12により、DSCの色空間(例えばYCbCr)から標準的なRGB色空間(例えばNTSC−RGBやsRGB)に変換される。また、そのヘッダ情報に基づき、読み込まれた画像データは、有効な画素数への解像度変換など、アプリケーションに必要な様々な処理が必要に応じて施される。また、カメラインターフェイス23は、DSCに直接接続して画像データを読み込むためのものである。
【0020】
画像処理部12においては、読取り信号値の変換、画像の補正・加工処理、輝度信号(RGB)から濃度信号(CMYK)への変換、スケーリング、ガンマ変換、誤差拡散等の画像処理が行われる。画像処理部12が行なう補正処理としては、エッジ強調処理、平滑化処理、置換処理、及び無彩色化処理などが含まれ、補正手段として機能する。画像処理部12での画像処理によって得られるデータは、RAM17に格納される。RAM17に格納された補正データが所定量に達すると、プリントユニット13による記録動作が実行される。
【0021】
不揮発性RAM18としては、バッテリバックアップされたSRAMなどを用いることができ、MFP1に固有のデータなどを記憶する。オペレーションユニット15は、記憶媒体(メモリカード)に記憶された画像データを選択し、記録をスタートするためのフォトダイレクトプリントスタートキーを備え、オーダーシートをプリントさせるキー、オーダーシートを読み込ますキー等を備える。また、モノクロコピー時やカラーコピー時におけるコピースタートキー、コピー解像度や画質などのモードを指定するモードキー、コピー動作などを停止するためのストップキー、並びに、コピー数を入力するテンキーや登録キーなどを備えてもよい。CPU11は、これらキーの押下状態を検出し、その状態に応じて各部を制御する。
【0022】
ディスプレイユニット19は、ドットマトリクスタイプの液晶表示部(LCD)およびLCDドライバを備え、CPU11の制御に基づき各種表示を行う。また、記憶媒体に記録されていた画像データのサムネイルを表示する。プリントユニット13は、インクジェット方式のインクジェットヘッド、汎用ICなどによって構成され、CPU11の制御により、RAM17に格納されている記録データを読み出し、ハードコピーとしてプリント出力する。
【0023】
ドライブユニット21は、スキャニングユニット14およびプリントユニット13を動作させるため、給排紙ローラを駆動するステッピングモータ、ステッピングモータの駆動力を伝達するギヤ、および、ステッピングモータを制御するドライバ回路などを含む。
【0024】
センサユニット20は、記録紙幅センサ、記録紙有無センサ、原稿幅センサ、原稿有無センサおよび記録媒体検知センサなどを含む。CPU11は、このセンサユニット20から得られる情報に基づき、原稿および記録紙の状態を検知する。
【0025】
PCインターフェイス24はPCとのインターフェイスであり、MFP1はPCインターフェイス24を介してPCからのプリント、スキャンなどの動作を行う。コピー動作時は、スキャニングユニット14で読取った画像データをMFP内部でデータ処理し、プリントユニット13で印刷する。
【0026】
オペレーションユニット15により、コピー動作が指示されると、スキャニングユニット14は原稿台に置かれた原稿を読取る。読取られたデータは画像処理部12に送られ、画像処理が施された後、プリントユニット13に送られ印刷が行われる。
【0027】
(画像処理)
図3はコピー時に実行される画像処理のフローチャートである。以下、各ステップについて説明を記述する。スキャニングユニット14で読取られ、AD変換された画像データに対し、撮像素子のばらつきを補正するために、STEP301において、シェーディング補正が施される。
【0028】
その後、STEP302で、入力デバイス色変換が行われる。これによりデバイス固有であった信号データが標準的な色空間領域へと変換される。例えば、IEC(国際電気標準会議;International Electrotechnical Commission)により定められたsRGBやAdobe Systems社により提唱されているAdobeRGBなどがある。変換方法は、3x3や3x9のマトリクスによる演算方式や、変換規則を記載したテーブルに基づいて決定するルックアップテーブル方式などが挙げられる。
【0029】
変換されたデータは、STEP303において、補正・加工の処理が施される。処理内容としては、読取りによるボケを補正するエッジ強調処理や、文字の判読性を向上させる文字加工処理、光照射による読取りで発生した裏写りを除去する処理などが挙げられる。 STEP304では、拡大縮小処理が実行され、ユーザにより変倍指定がされている場合や、2枚の原稿を一枚の紙に割り当てる割付けコピーなどで、所望の倍率に変換される。変換方法は、バイキュービックやニアレストネイバーなどの方法が一般的である。
【0030】
STEP305では、標準色な色空間上のデータを、出力デバイスに固有の信号データへと変換する。本実施の形態に係るMFPは、インクジェット方式であり、シアン、マゼンタ、イエロー、ブラックなどのインク色データへの変換処理が実行される。この変換もSTEP302と同様の方式を用いればよい。
【0031】
さらに、STEP306において、記録可能なレベル数への変換が行われる。例えば、インクドットを打つ/打たないの2値で表現する場合あれば、誤差拡散などの量子化方法において、2値化すればよい。これによりプリンタが記録可能なデータ形式となり、それに基づいて記録動作が実行され、画像が形成される。
【0032】
(処理単位)
図4(a)は属性判定処理を実施する際の処理単位を説明する図である。図4(a)の○印の画素を注目画素とすると、図4(a)の太線のように注目画素を含む7×7画素で構成される領域(7×7領域)を設定する。この設定した7×7領域内の画像信号を用いて注目画素に対する画像処理を実行する。注目画素の処理が実行された後は、例えば図4(b)の×印の画素のように注目画素に隣接する画素を次の注目画素と設定し、同様に7×7領域を設定して画像処理を実行する。以降、同様に順次注目画素を1画素ずつ移動し、その都度7×7領域を設定することによって対象の画素全てを補正する。
【0033】
図5は属性判定処理の単位領域の移動処理を示すフローチャートである。STEP501は処理対象設定である。START直後は、最初の処理対象を設定する。STEP503からSTEP501に戻った場合は、次の処理対象を設定する。
【0034】
STEP502において画像処理を実行する。つまり、処理単位を含む複数画素(例えば7×7領域)を設定し、属性判定処理を実行する。
【0035】
STEP503では最後の処理単位か否かを判定する。最後の処理単位でなければ(NO)STEP501に戻る。最後の処理単位であれば(YES)ENDとなる。
【0036】
スキャニングユニット14で使用されているCCDまたはCISの撮像素子は、必ずしもその1画素が、原稿の1画素相当を読むとは限らない。本実施の形態では、撮像素子の1画素が、原稿のおよそ6画素範囲を読み取る場合を想定している。尚、6画素と言っても、原稿台からの原稿の浮きや原稿の凹凸等によって、撮像素子に入射する原稿からの反射光は種々の影響を受ける。その為、実際には6画素を超える範囲を読み取る場合もある。原稿の1画素の反射光が複数の撮像素子に影響を及ぼし、これが背景技術で述べたエッジのボケを発生し、シャープ感を劣化させている。本実施の形態では、およそ6画素の読み取り範囲ということから、7x7の参照領域を利用する。尚、参照領域は、原稿画像1画素が影響する撮像素子の画素数や、スポット径、ボケ画素数、MTF等の撮像素子の性能に応じて適宜設定すればよい
【0037】
(言葉の定義)
以下に、本明細書中で用いられる言葉の定義について説明する。
変動量とは、処理対象画素を中心とする周辺画素群における、画素信号値の変動の大きさを表わす値である。本実施形態では、1画素の両側に隣接する2画素の輝度値の差分の絶対値(エッジ量)のうち、最大のものを変動量として説明するが、これに限定されるものではない。注目する画素の画像信号に関連する値の1次微分の絶対値等、変化の差分(大きさ)を表現する値、または注目する領域内の画像信号に関連する値の変化の差分(大きさ)を代表して表現する値であってもよい。
【0038】
変動回数とは、処理対象画素を中心とする周辺画素群における、画素信号値の変動の頻度を表わす値である。本実施形態では、画像領域内の1画素の両側に隣接する2画素の輝度値の差分を−1、0、1で3値化し、3値化データの増減頻度(符号変化数(ゼロ交差点数))を変動回数として説明するが、これに限定されるものではない。画像領域内の画像信号に関連する値の1次微分の零交差点数や空間周波数、2値化後の黒白の変化数等、画像信号に関連する値の変化の頻度を表現する値であると定義する。
【0039】
変動加速度とは、処理対象画素を中心とする周辺画素群における、画素信号値の変動の加速度を表わす値である。以下の実施の形態では画像領域内の輝度の差分からさらに差をとった値として説明するが、これに限定されるものではない。注目する領域内の画像信号に関連する値の2次微分等、変化の加速度を表現する値であればよい。
【0040】
彩度とは、以下の実施の形態では注目する画素または領域における各色の画像信号差の内、最大絶対値として説明するが、これに限定されるものではない。度軸からの距離を表現する値であると定義する。
【0041】
適応的に補正強度を設定するとは、定義した変動回数、変動量、変動加速度、彩度の夫々取り得る値領域の内、夫々少なくとも一部の値領域において、夫々の値毎に異なる補正強度を設定することであると定義する。
属性判定とは、注目する画素がどの属性のものかを示し、写真、文字、万線、網点などのいずれかとして、定義される。像域分離処理と同義であると考えよい。
【0042】
尚、画像信号の取り得る範囲を0〜255を例に説明するが、画像信号の範囲はこれに限るものではなく、MFP、画像処理に適するよう設定すればよい。
【0043】
(属性判定処理)
図7は、本実施形態における属性判定処理のフローチャートである。この属性判定処理は、図3のSTEP303の一部として行なわれることが望ましい。図7の各ステップに沿って説明を進める。
【0044】
<STEP701:処理領域設定>
RGBの多値の画像信号で構成される画像において、注目画素を中心とした横7画素、縦7画素で構成される7×7領域の処理領域を設定し、処理領域の各画素値から式(1)に従って輝度Lを算出し、Lの7×7領域の処理領域を生成する。
【0045】
L = (R+2×G+B)/4 ・・・式(1)
尚、本実施の形態では式(1)で算出した輝度Lを用いるが、別の輝度を適用してもよい。例えば、均等色空間L*a*b*のL*を輝度としてもよく、YCbCrのYを輝度としてもよい。
【0046】
図8(a1)は白背景中の黒縦線を横方向に読み取った際の輝度を示している。図8(a2)は白背景中の横方向に並んだ網点を横方向に読み取った際の輝度を示している。尚、説明を分かりやすくするために、図8では7画素でなく12画素としている。
【0047】
<STEP702:4方向抽出>
STEP701で生成したLの処理領域から図9に示すように横1方向、縦1方向、斜2方向の合計4方向の各7画素を抽出する。
【0048】
<STEP703:L差分算出>
STEP702で抽出した4方向のLから各方向5画素のLの差分Grdを式(2)に示すように算出する。ここで、画素L(i)の前画素をL(i−1)と後画素をL(i+1)とする。
Grd(i) = L(i+1)−L(i−1) ・・・式(2)
尚、L差分の算出方法はこれに限らず、隣接同士の差分でもよく、前後画素より更に離れた画素同士の差分でもよい。図8(b1)と図8(b2)は夫々図8(a1)と図8(a2)のLに対して式(2)を適用して求めたGrdを示している。
【0049】
<STEP704:エッジ方向判定>
STEP703で算出した4方向のGrdにおいて、注目画素の4方向のGrd絶対値を求める。4方向のGrd絶対値の内、最大のGrd絶対値である方向を注目画素のエッジ方向と判定する。つまり、注目画素を含む幾つかの方向において、前後画素の濃度の差分を取り、その差分が大きければ、つまり濃度が注目画素を挟んで大きく変化していれば、その方向が、画像の輪郭と垂直をなす方向(エッジ方向)であると判定できる。
【0050】
<STEP705:変動量算出>
STEP704で判定したエッジ方向にならぶ7つの画素から、STEP703で5つのGrdを算出できる。その5つののGrdを比較し、その最大絶対値を注目画素の変動量(エッジ量)として算出する。変動量が大きい程強いエッジであり、変動量が弱い程平坦に近いことを示す。
【0051】
<STEP706:領域判定>
STEP705で算出した変動量をもとに、領域の判定を行う。変動量の最大絶対値をEMAX、判定しきい値をTAとした場合、
EMAX ≧ TA ・・・ エッジ領域
EMAX < TA ・・・ 平坦領域
により、領域の判定が実行される。なお、判定しきい値TAは、エッジ領域と平坦領域を分ける値であるが、エッジ領域には、後述する太文字と細文字が属し、平坦領域には、後述する網点と写真が属する。
【0052】
<STEP707:処理振り分け判定>
STEP707では、STEP706で判定された領域により振り分けを行う。エッジ領域と判定された場合は、STEP708(a)、平坦領域と判定された場合は、STEP708(b)へと進む。
【0053】
<STEP708:ゼロ認定幅設定>
STEP708では、後述するゼロ認定のための幅Wの設定を行う。このゼロ認定幅Wは領域の属性毎にあらかじめ用意されており、STEP707の領域判定の結果により、エッジ部の場合は、STEP708(a)によりエッジ用のゼロ認定幅を、平坦部の場合は、STEP708(b)により平坦用のゼロ認定幅の設定を行う。
【0054】
<STEP709:3値化処理>
STEP708で決定されたGrdに対してゼロ認定幅を利用し、処理領域内のSTEP702で抽出した4方向について3値化処理を実行する(図8(c1)及び図8(c2))。これにより、式(2)で求められたGrdは、1、0、−1のいずれかに変換される。
【0055】
<STEP710:変動回数計測>
STEP709で3値化されたGrdデータを用い、ゼロを交差する回数を計測する。
【0056】
<STEP711:属性判定>
STEP706の領域判定の結果、およびSTEP710で計測された変動回数を用い、対象画素が写真、太線、細線、網点のいずれの属性に属するかの判定を行う。
【0057】
本実施形態においては、上記STEP701−711に従い属性判定のための処理が実行される。STEP709の3値化処理、STEP710の変動回数計測、STEP711の属性判定については、以下に分けて詳細に説明する。
【0058】
(3値化処理)
図6に3値化処理のフローチャートを示す。フローチャートのステップに沿って説明を進める。
【0059】
<STEP601:処理方向決定>
図7のSTEP702で抽出した4方向(横1向、縦1方向、斜2方向)のうち、ある一つを選択する。どの方向から実施するかの順序は特に問わず、あらかじめ決めておいた順序で構わない。選択された方向について、STEP703で求めたLの差分Grdを取得する。7画素の画素値を用いて式(2)を適用することにより、5画素分のGrdを取得する。
【0060】
<STEP602:ゼロ認定幅Wとの比較処理>
取得したGrdについて、その絶対値とSTEP708で設定されたゼロ認定幅Wの比較を行う。Grdの絶対値が、ゼロ認定幅Wよりも小さい場合は、STEP604(a)に進み、「0」と認定される。ゼロ認定幅W以上の場合は、STEP603へと進む。
|Grd| < W ・・・ ゼロ認定
【0061】
<STEP603:Grd符号判定>
Grdの符号を判定する。正の場合は、STEP604(b)で、「1」と認定され、負の場合は、STEP604(c)にて、「−1」と決定される。
【0062】
<STEP605:画素判定>
対象画素が、「0」、「1」、「−1」のいずれか3値に判定された後は、STEP605にて対象としている方向の全ての画素に実施したかの判定を行う。全ての画素に対し、3値化が終了したのであれば、STEP606へと進み、そうでない場合は、STEP602に戻り、3値化処理を実行する。
【0063】
<STEP606:方向判定>
対象としている方向の全ての画素に対し、3値化処理が終わった後は、STEP606にて全ての方向に実施したかの判定を行う。全ての方向に対し、3値化が終了したのであれば、処理は完了となり、そうでない場合は、STEP601に戻り、未実施の方向について処理を実行する。
【0064】
図8に3値化処理実行後の図を示す。読取りを行った輝度信号値(a1)、(a2)は、隣接画素との差分により、(b1)、(b2)が得られ、それに基づいて3値化を行うことで、3値化されたデータ(c1)、(c2)が導かれる。
【0065】
ここで行なわれている3値化について、概念的に説明すると、注目画素を含む複数の方向の画素値の変化が所定のゼロ認定幅より小さければ0となり、注目画素前後で所定値より大きく減っていれば、−1となり、所定値より大きく増えていれば1となる。
【0066】
(変動回数計測処理)
図7のSTEP710での変動回数計測について、詳細を説明する。ここでは、変動回数として、ゼロを交差しているゼロ交差点数を用いる。ゼロ交差の定義を図10に示す。図10の(a)、(b)についてゼロ交差点とみなし、(c)、(d)、(e)、(f)については、ゼロ交差点とみなさないとする。つまり、3値化されたデータで見れば、
・ 「1」 → 「−1」 ・・・(パターンA)
・ 「−1」 → 「1」 ・・・(パターンA)
・ 「1」 → 「0」 → 「−1」 ・・・(パターンB)
・ 「−1」 → 「0」 → 「1」 ・・・(パターンB)
の4種類が、ゼロ交差点となる。ただし、これらは本実施の形態における定義であり、定義の仕方はこの方法に限られるものではない。
【0067】
また、本実施の形態のように7×7画素で処理範囲を設定している場合では、その差分データGrdは、一方向について5つとなる。したがって、一方向における最大ゼロ交差点数は、「1」→「−1」→「1」→「−1」→「1」または「−1」→「1」→「−1」→「1」→「−1」のいずれかになる場合で4となる。それらを全4つの方向について計測するので、対象領域における最大ゼロ交差点数は16となる。
【0068】
図11に変動回数計測のフローチャートを示す。フローチャートのステップに沿って説明を進める。
【0069】
<STEP1101:初期化処理>
処理を実行するにあたり、変数の初期化を行う。計測する変動回数計測をNZとした場合、初期化処理では、0がセットされる。つまり、NZ = 0 とする。
【0070】
<STEP1102:処理方向決定>
図7のSTEP702で抽出した4方向、横1向、縦1方向、斜2方向のうち、ある一つを選択する。どの方向から実施するかの順序は特に問わず、あらかじめ決めておいた順序で構わない。選択された方向について、図7のSTEP709で実行された3値化処理の結果を取得する。
【0071】
<STEP1103:ゼロ判定>
STEP1103では、対象方向におけるGrdの画素位置を i (0 ≦ i < 5)のGrdをGrd(i)とした場合、Grd(i)が0か否かの判定を行う。0の場合は、ゼロ交差点にはなり得ないので、STEP1107に進む。0以外の場合は、STEP1104へと進み、次の判定を実行する。
【0072】
<STEP1104:ゼロ交差点判定1>
STEP1104は、上記のパターンAのゼロ交差点が起きているかの判定を行う。Grd(i)の隣接画素の位置を(i+1)とし、そのGrdをGrd(i+1)とした時、Grd(i) + Grd(i+1) = 0
の条件を満たせば、ゼロ交差有りと判定され、STEP1106へと進む。0以外の場合は、STEP1105に進み、ゼロ交差点判定2が行われる。
【0073】
<STEP1105:ゼロ交差点判定2>
STEP1105は、上記のパターンBのゼロ交差点が起きているかの判定を行う。Grd(i)の2つ離れた画素位置を(i+2)とし、そのGrdをGrd(i+2)とした時、
Grd(i) + Grd(i+2) = 0 かつ Grd(i+1) = 0
の条件を満たせば、ゼロ交差有りと判定され、STEP1106へと進む。0以外の場合は、パターンAおよびBに該当するゼロ交差点がなかったと判断され、STEP1107へと進む。
【0074】
<STEP1106:変動回数計測カウント>
STEP1104および1105のゼロ交差点判定により、ゼロ交差ありと判断された場合は、このSTEP1106により、変動回数計測のカウント値がインクリメントされる。つまり、 NZ = NZ + 1 とする。
【0075】
<STEP1107:画素判定>
対象としている方向の全てのGrdにゼロ交差点判定を実施したか否かの判定を行う。全ての画素に対し、ゼロ交差点判定が終了したのであれば、STEP1109へと進み、そうでない場合は、STEP1108に進み、引き続きゼロ交差点判定処理が実行される。
【0076】
<STEP1108:Grd画素値移動>
STEP1107で、対象方向について全てのGrdに対して終了していないと判定された場合は、本ステップで位置 i を進めて、ゼロ交差点の判定を行う。
【0077】
<STEP1109:方向判定>
対象としている方向の全てのGrdに対し、ゼロ交差点判定が終わった後は、STEP1109にて全ての方向に実施したかの判定を行う。全ての方向に対し、ゼロ交差点判定が終了したのであれば、変動回数計測は完了となり、そうでない場合は、STEP1102に戻り、未実施の方向について処理を実行する。
【0078】
(属性判定処理)
図7のSTEP711での属性判定について、詳細を説明する。STEP706で判定した領域の結果およびSTEP710で求めた変動回数を用い、対象としている画素が、写真、太文字、細文字、網点のいずれかに属するか判定を行う。
【0079】
図12に属性判定処理のフローチャートを示す。フローチャートのステップに沿って説明を進める。
【0080】
<STEP1201:変動量判定>
図7のSTEP705で求めた変動量と、あらかじめ設定したしきい値T1との比較を行う。しきい値T1よりも小さい場合は、STEP1204(a)へと進み写真の属性にある画素と判定される。大きい場合は、STEP1202へと進み、次の判定処理が実行される。つまり、注目画素をとりまく領域に含まれる画素群において、どこにも大きな画素値の変動が見られない場合に写真と判定する。なお、しきい値T1と、図7のSTEP706の判定しきい値TAとの関係は次のように成る。しきい値TAは、網点と写真が平坦領域に属するように設定した値である。一方、しきい値T1は、写真のみが属するように設定した値であり、しきい値T1により網点と写真を分けている。
【0081】
<STEP1202:変動回数判定1>
図7のSTEP710で計測した変動回数と、あらかじめ設定したしきい値T2との比較を行う。しきい値T2よりも小さい場合は、STEP1204(b)へと進み太文字の属性にある画素と判定される。大きい場合は、STEP1203へと進み、次の判定処理が実行される。つまり、注目画素をとりまく領域に含まれる画素群において、ある程度の大きな画素値の変動があるが、その変動回数が閾値より少ない場合には、その領域では、白白黒黒黒黒白のような濃度の変化になっている可能性が高いため、太文字と判断する。
【0082】
<STEP1203:変動回数判定2>
STEP1202と同様に図7のSTEP710で計測した変動回数と、あらかじめ設定したしきい値T3(T3>T2)との比較を行う。しきい値T3よりも小さい場合は、STEP1204(c)へと進み細文字の属性にある画素と判定される。大きい場合は、STEP1204(d)へと進み、網点属性にある画素と判定される。つまり、注目画素をとりまく領域に含まれる画素群において、ある程度の大きな画素値の変動があり、その変動回数が所定の範囲にある場合には、その領域では、白黒黒白黒黒白のような濃度の変化になっている可能性が高いため、細文字と判断する。一方で、注目画素をとりまく領域に含まれる画素群において、ある程度の大きな画素値の変動があり、その変動回数がある閾値を超えている場合には、その領域では、白黒白黒白黒白黒のような濃度の変化になっている可能性が高いため、網点と判断する。
【0083】
<STEP1204:属性認定処理>
STEP1204では、上記したSTEP1201〜1203で判定された結果により、画素の属性を認定している。(a)では写真、(b)では太文字、(c)では細文字、(d)では網点の属性と認定している。
【0084】
以上、本実施形態によれば、変動回数の計測時にあらかじめ設定しておいたしきい値を利用して3値化処理を行い、その結果に基づいて計測を行い、属性の判定を行っている。さらに、3値化処理に用いるしきい値(ゼロ認定幅W)を、平坦部とエッジ部により切り換える。ここで、読取り時などに発生するノイズ、誤差などを含む画像から得たGrdの様子を図22と図23に示す。図22は、3値化処理に用いるしきい値が0である場合(ゼロ認定幅Wを使用しない場合やゼロ認定幅Wが0に設定されている場合)を示す。また、図23は、3値化処理に用いるしきい値に幅を持たせた場合(ゼロ認定幅Wが0ではない値に設定されている場合)を示す。図22と図23を比較して分かるように、図22では、図23より実線の四角で囲った回数分、変動回数(ゼロ交差点の数)が増加して計測される。これにより、エッジ部でありながら平坦部として属性が判定されてしまうことがある。これに対して、本実施例では、図23に示すように3値化処理に用いるしきい値(ゼロ認定幅W)を設定するため、読取り時などに発生するノイズ、誤差などにより変動回数が増加することを防止できる。
【0085】
これにより、変動回数を利用した属性判定処理や画像補正処理において、読取り時などに発生するノイズ、誤差などを変動回数から適正に排除できる。それらに基づいて属性の判定や画像補正を実行するため、精度の高い属性判定結果や最適な補正処理を実現することが可能となる。
【0086】
[第2実施形態]
第2実施形態では、上記第1実施形態で述べた属性認定方法を利用した画像補正について説明する。ここでは、第1実施形態で記述したゼロ交差点数の計測結果および変動量を利用し、更に、エッジ強調による補正を実施する。これにより、読取りのMTFにより、エッジ部が鈍った文字などの判読性が向上する。他の構成及び作用については、上記第1実施形態と同様であるため、ここでは説明を省略する。
【0087】
図13は、第2実施形態における画像補正処理のフローチャートである。フローチャートのステップに沿って説明を進める。尚、一部の処理は、図7を用いて説明した処理と同様であるので、同じ処理には同じ符号を付し、説明を割愛する。
【0088】
<STEP1311:エッジ強調量算出>
STEP701で設定したRGBの7×7領域に対して、エッジ強調フィルタを掛けた際の注目画素値と、掛ける前の注目画素値との差分(エッジ強調量)を各色毎に算出する。本実施の形態では、注目画素を中心として5×5エッジ強調フィルタを掛ける例で説明をするが、これに限定されるものではない。STEP701で設定した処理領域サイズ以下のフィルタサイズであればよく、フィルタ係数値も適宜設定すればよい。図14(a)は5×5エッジ強調フィルタのフィルタ係数の一例である。元の注目画素値をN0とし、図14(a)のフィルタを掛けた結果の注目画素値をN1とし、エッジ強調量をΔFとすると、ΔFは式(6)を使って算出できる。
ΔF = N1−N0 ・・・式(6)
また、注目画素のフィルタ係数を図14(b)のように、図14(a)の注目画素位置のフィルタ係数から図14(a)のフィルタ合計値を引いた値にすれば、図14(b)を適用するだけでΔFを算出することができる。
【0089】
<STEP1312:エッジ強度設定(Fz1)>
STEP710で算出した変動回数に応じて適応的にエッジ強度Fz1を設定する。図15(a)はSTEP1312におけるFz1設定を説明する図であり、横軸は変動回数、縦軸はFz1を示している。第1閾値より小さい変動回数の場合は、文字の可能性が高いので、エッジを強調する為にFz1を1に設定する。第2閾値より大きい変動回数の場合は、高線数でモアレ発生し易い網点の可能性が高いので、モアレを強調しない為にFz1を0に設定する。第1閾値以上且つ第2閾値以下の変動回数の場合は、処理の切り換えを目立ち難くする為に変動回数=第1閾値のときFz1=1、変動回数=第2閾値のときFz1=0となるように変動回数毎に異なるFz1を適応的に設定する。具体的には図15(a)や以下の式(3)を用いることによって適応的に設定できる。
Fz1 = (第2閾値−変動回数)/(第2閾値−第1閾値) ・・・式(3)。
【0090】
<STEP1313:Fz1によるエッジ強調量補正>
STEP1311で算出したエッジ強調量ΔFをSTEP1312で設定したフィルタ強度Fz1で補正する。補正したエッジ強調量ΔFz1は式(7)を使って算出する。
ΔFz1 = Fz1×ΔF ・・・式(7)
これにより、変動回数が少ない文字に対しては比較的強くエッジ強調し、変動回数が多い網点に対しては比較的弱くエッジ強調を施すことが可能で、文字のシャープ感を増加することとモアレを強調しないことを両立することができる。
【0091】
<STEP1314:エッジ強度設定(Fz2)>
STEP710で算出した変動回数に応じて適応的にフィルタ強度Fz2を設定する。図15(b)はSTEP1314におけるFz2設定を説明する図であり、横軸は変動回数、縦軸はFz2を示しており、図15(a)と組み合わせたときに図15(c)となることを目的としている。変動回数が0の場合は太線の可能性が高い。太線を後述するエッジ強調フィルタを用いてエッジ強調すると、太線の縁部が濃くなる縁取りが発生する。もし縁取りをなしにしたい場合は、図15(b)のように太線の可能性が高い第3閾値より小さい変動回数の場合は、エッジ強調を抑える為にFz2を0に設定する。細線の可能性が高い第4閾値より大きい変動回数の場合は、エッジ強調する為にFz2を1に設定する。第3閾値以上且つ第4閾値以下の変動回数の場合は、処理の切り換えを目立ち難くする為に変動回数=第3閾値のときFz2=0、変動回数=第4閾値のときFz2=1となるように変動回数に異なるFz2を適応的に設定する。具体的には図15(b)の参照や以下の式(4)によって適応的に設定できる。
Fz2 = (変動回数−第3閾値)/(第4閾値−第3閾値) ・・・式(4)
Fz1×Fz2によって図15(c)のエッジ強度を実現できる。縁取りをありにしたい場合は、変動回数に関係なくFz2=1を設定すればよい。
【0092】
<STEP1315:Fz2によるエッジ強調量補正>
STEP1313で算出したエッジ強調量ΔFz1をSTEP1314で設定したフィルタ強度Fz2で補正する。補正したエッジ強調量ΔFz2は式(8)を使って算出する。
ΔFz2 = Fz2×ΔFz1 ・・・式(8)
図15(b)のようにFz2を設定した場合、太線は縁取りがでないようエッジ強調が施され、細線は太線より強くエッジ強調してシャープ感の増加と黒文字の濃度増加を施すことができる。
【0093】
<STEP1316:エッジ強度設定(Fe)>
STEP705で算出した変動量に応じて適応的にエッジ強度Feを設定する。図15(d)はSTEP1316におけるFe設定を説明する図であり、横軸は変動量、縦軸はFeを示している。平坦の可能性が高い第5閾値より小さい変動量の場合は、小さい変動を強調して画像を荒らさない為にFe=0を設定する。エッジの可能性が高い第6閾値より大きい変動量の場合は、エッジ強調する為にFe=1を設定する。第5閾値以上且つ第6閾値以下の変動量の場合は、処理切り換えを目立ち難くする為に変動量=第5閾値のときFe=0、変動量=第6閾値のときFe=1となるよう変動量毎に異なるFeを適応的に設定する。具体的には図15(d)や以下の式(5)を用いることによって適応的に設定できる。
Fe = (変動量−第5閾値)/(第6閾値−第5閾値) ・・・式(5)
【0094】
<STEP1317:Feによるエッジ強調量補正>
STEP1315で算出したエッジ強調量ΔFz2をSTEP1316で設定したフィルタ強度Feで補正する。補正したエッジ強調量ΔFeは式(9)を使って算出する。
ΔFe = Fe×ΔFz2 ・・・式(9)
これによって、文字のようなエッジ部は比較的強くエッジ強調し、背景や写真のような平坦部は比較的弱くエッジ強調を施すことができる。これにより文字のシャープ感増加とモアレを強調しないこと、写真を荒らさないことを両立できる。
【0095】
<STEP1318:エッジ強調処理>
STEP1317で算出したエッジ強調量ΔFeを式(10)に示すように注目画素値N0に加算することによって、エッジ強調フィルタ処理画素値Neを算出する。
Ne = N0+ΔFe ・・・式(10)
尚、Neを所望のレンジにクリップする処理を入れてもよい。
【0096】
尚、本実施の形態では、より詳細な説明をするために、変動回数に基づくエッジ強度設定をFz1とFz2の2段階に分けた。しかし、本発明はこれに限るものではなく、予め図15(c)に示されるFz1×Fz2の強度設定を行い、1段階にしておくのも構わないし、目的に応じFz1、Fz2のどちらか一方のみを使用するとしても構わない。
【0097】
[第3実施形態]
上述の第1および第2の実施の形態では、変動回数を計測する際に利用するしきい値を平坦部、エッジ部の領域毎により可変させ、それぞれ属性判定および画像補正を行った。特に第2実施形態では、画像補正としてエッジ強調処理を挙げ、さらにそれらを変動回数によりエッジの強弱が連続的な処理となるように制御した。
【0098】
しきい値を利用した画像補正の場合、しきい値付近での処理の切り換えが画像に弊害を発生させることがあるので、第2実施形態のような連続的処理は、画像補正を実施する上で、非常に効果的である。これに対し、本実施形態では、変動回数の計測処理においても、この概念を取り入れ、切り換えの目立たないより良い画像補正を実現する。他の構成及び作用については、上記第1実施形態と同様であるため、ここでは説明を省略する。
【0099】
図16は、第3実施形態における画像補正処理のフローチャートである。フローチャートのステップに沿って説明を進める。尚、一部の処理は、図7を用いて説明した処理と同様であるので、ここでは説明を割愛する。
【0100】
<STEP1606:ゼロ認定幅WTH設定>
STEP705で算出した変動量に応じて適応的にゼロ認定幅WTHを設定する。図17はSTEP1606におけるWTH設定を説明する図であり、横軸は変動量、縦軸はWTHを示している。平坦の可能性が高い第7閾値より小さい変動量の場合は、平坦部におけるノイズを除去するため小さめの値WTH=WTH2を設定する。エッジの可能性が高い第8閾値より大きい変動量の場合は、ノイズにより必要以上のゼロ認定をし、その結果網点判定となり、エッジ強調処理が実行されなくなってしまうのを防ぐために、大きめの値WTH=WTH1を設定する。第7閾値以上且つ第8閾値以下の変動量の場合は、処理切り換えを目立ち難くする為に変動量=第7閾値のときWTH=WTH2、変動量=第8閾値のときWTH=WTH1となるよう変動量毎に異なるWTHを適応的に設定する。具体的には図17の参照や以下の式(11)によって適応的に設定できる。
Fe = (変動量−第7閾値)/(第8閾値−第7閾値) ・・・式(11)
【0101】
<STEP709:3値化処理>
STEP1606で決定されたゼロ認定幅WTHを利用し、処理領域内のSTEP702で抽出した4方向について3値化処理を実行する。この3値化処理内で行われる、ゼロ認定処理において、WTHが利用され、Lの差分Grdの絶対値がWTHよりも小さい場合は、ゼロと認定される。
|Grd| < WTH ・・・ ゼロ認定
尚、この後の処理は、図13のSTEP710、STEP1311〜1318と同様であるので、同じ処理については同じ符号を付して説明を割愛する。
【0102】
以上、本実施形態によれば、変動回数の計測時にあらかじめ設定しておいたしきい値を利用して3値化処理を行い、その結果に基づいて変動回数を計測、それを利用し画像補正を行うことで、より好適な補正結果が得られる。さらに、3値化処理に用いるしきい値を、平坦部とエッジ部間で連続的に変化させることで、精度良く信号値のばらつきを排除すると同時に処理の切り換え部に発生する画像弊害を防止できる。また、しきい値付近で発生する処理の切り換わりによる画像弊害を防止することも可能である。
【0103】
[第4実施形態]
上述の第2及び第3実施形態では、画像補正としてフィルタによるエッジ強調処理を例に挙げた。それに対し、本実施形態では、補正処理で適用する処理量をゼロ交差点数から求める。つまり、変動回数は画像の周波数を表しており、これを利用することは、特に文字部への処理に効果的である。そこで、本実施形態では、文字部への処理として有効となってくる補正処理として、置換処理を行なう。他の構成及び作用については、上記第1実施形態と同様であるため、ここでは説明を省略する。
【0104】
(置換処理)
図18に補正処理として、置換処理を用いた場合のフローチャートを示す。尚、一部の処理は、第3実施形態の図16における一部の処理と同様であり、同じ処理については同じ符号を付して説明を割愛する。
【0105】
<STEP1809:最大最小輝度位置判定>
STEP702で抽出した4方向の内、STEP704で判定したエッジ方向について、Lの7画素から最大Lと最小Lの画素位置を判定する。
【0106】
<STEP1810:変動加速度算出>
STEP704で判定したエッジ方向について、STEP703で算出したエッジ方向のGrdから3画素の変動加速度Lapを算出する。変動加速度の算出方法は式(15)である。但し、画素Grd(i)の前画素をGrd(i−1)と後画素Grd(i+1)とする。図8(d1)と図8(d2)は夫々図8(b1)と図8(b2)のGrdに対して式(15)を適用して求めたLapを示している。
Lap(i) = Grd(i+1) − Grd(i−1) ・・・式(15)
尚、変動加速度の算出方法はこれに限らず、Grdの隣接同士の差分でもよい。
【0107】
<STEP1811:置換画素位置判定>
STEP1809で判定した最大Lと最小Lの画素位置と、STEP1810で算出した変動加速度Lapから置換画素位置を判定する。図8のようにLapの符号が+の場合は注目画素のLは最大Lよりも最小Lに値の大きさが近く、Lapの符号が−の場合は注目画素のLは最小Lよりも最大Lに値の大きさが近い傾向がある。そこで、表1に示すようにLapの符号に対して置換画素位置を判定し、置換を行う。
【0108】
尚、表1のように置換画素位置を判定するが、注目画素のLapが0となるエッジ中心の扱いについては表1に限るものではなく、注目画素のLapが0であれば、最大Lの画素位置にしてもよいし、また逆に最小Lの画素位置にしてもよい。
【0109】
【表1】

【0110】
<STEP1812:置換量算出>
STEP1811で判定した置換画素位置の画素値を用いて置換量を算出する。STEP701で設定したRGBの7×7領域からSTEP1811で判定した置換画素位置のRGB値を抽出する。注目画素値をN0とし、置換画素位置の画素値をC0とし、置換量をΔCとすると、ΔCは式(19)を使って算出できる。
ΔC = C0−N0 ・・・式(19)
【0111】
<STEP1813:置換強度Cl設定>
STEP1810で算出した変動加速度の絶対値に応じて適応的に置換強度Clを設定する。図19(a)はSTEP1813におけるCl設定を説明する図であり、横軸は変動加速度絶対値、縦軸はClを示している。エッジ中心付近である第9閾値より小さい変動加速度の場合は、置換しない為にClを0に設定する。エッジ中心付近を置換しないように設定するのはジャギー発生を目立たなくする目的である。エッジ中心から離れた第10閾値より大きい変動加速度絶対値の場合は、置換する為にClを1に設定する。第9閾値以上且つ第10閾値以下の変動加速度分絶対値の場合は、処理の切り換えを目立ち難くする為に変動加速度絶対値=第9閾値のときCl=0、変動加速度絶対値=第9閾値のときCl=1となるように変動加速度絶対値毎に異なるClを適応的に設定する。具体的には図19(a)の参照や以下の式(16)によって適応的に設定できる。
Cl = (変動加速度絶対値−第9閾値)/(第10閾値−第9閾値)・・・式(16)
【0112】
<補正処理STEP1814:Clによる置換量補正>
STEP1812で算出した置換量ΔCをSTEP1813で設定した置換強度Clで補正する。補正した置換量ΔClは式(20)を使って算出する。
ΔCl = Cl×ΔC ・・・式(20)
STEP1814によって、ジャギー発生を抑えた置換が施される。
【0113】
<STEP1815:置換強度Cz設定>
STEP710で算出した変動回数に応じて適応的に置換強度Czを設定する。第11閾値と第12閾値を使い、図19(b)の特性でCzを適応的に設定する。変動回数が第11閾値より小さい太線の場合はCz=1、第12閾値より大きい細線や網点の場合はCz=0、第11閾値以上且つ第12閾値以下の場合は式(17)によって適応的に設定できる。
Cz = (第12閾値−変動回数)/(第12閾値−第11閾値) ・・・式(17)
【0114】
<補正処理STEP1816:Czによる置換量補正>
STEP1814で算出した置換量ΔClをSTEP1815で設定した置換強度Czで補正する。補正した置換量ΔCzは式(21)を使って算出する。
ΔCz = Cz×ΔCl ・・・式(21)
STEP1816によって、太線は置換を強くし、細線は置換を弱くしてジャギー発生を抑えた置換を施すことができる。
【0115】
<STEP1817:置換強度Ce設定>
STEP705で算出した変動量に応じて適応的に置換強度Ceを設定する。第13閾値と第14閾値を使い、STEP1316と同様に図19(c)の特性でCeを適応的に設定する。変動量が第13閾値より小さいの場合はCe=0、第14閾値より大きい場合はCe=1、第13閾値以上且つ第14閾値以下の場合は式(18)によって適応的に設定できる。
Ce = (変動量−第13閾値)/(第14閾値−第13閾値) ・・・式(18)
【0116】
<STEP1818:Ceによる置換量補正>
STEP1816で算出した置換量ΔCzをSTEP1817で設定した置換強度Ceで補正する。補正した置換量ΔCeは式(22)を使って算出する。
ΔCe = Ce×ΔCz ・・・式(22)
STEP1818によって、文字等のエッジ部は比較的強く置換することでシャープ感を向上し、平坦部は比較的弱く置換することで荒れを防止する。
【0117】
<STEP1819:置換処理>
STEP1818で算出した置換量ΔCeを式(23)に示すように注目画素のエッジ強調フィルタ値Neに加算することによって、フィルタと置換によるエッジ強調した注目画素値Ncを算出する。
Nc = Ne+ΔCe ・・・式(23)
尚、Ncを所望のレンジにクリップする処理を入れてもよい。
【0118】
以上説明したように、変動回数の計測を置換処理に適用することで、読取りによるばらつきを適正に補正し、それを反映したパラメータを設定することにより、置換処理を効率的に適用できる。置換処理では、エッジ強調フィルタではエッジ付近に発生しまい縁取りができてしまうオーバーシュート、アンダーシュートを防止することができ、文字部には効果的に作用する。さらに連続的な置換処理としているため、置換処理で問題となるエッジ部のジャギーも回避することが可能である。
【0119】
[第5実施形態]
上述の第2及び第3実施形態では、画像補正としてフィルタによるエッジ強調処理を例に挙げた。それに対し、本実施形態では、補正処理で適用する処理量をゼロ交差点数から求める。つまり、変動回数は画像の周波数を表しており、これを利用することは、特に文字部への処理に効果的である。そこで、本実施形態では、文字部への処理として有効となってくる補正処理として、無彩色化処理を行なう。
【0120】
(無彩色化処理)
読取り手段により、黒文字を読取った場合、RとGとBが必ずしも同じ値を有しない。その結果として黒文字の黒濃度低下や彩度増加が発生し、品位を劣化させる要因の一つとなっている。無彩色化処理とは、RとGとBの値をより近くする処理であり、無彩色化処理の強度を無彩色化強度と呼ぶ。
【0121】
図20は無彩色化処理の流れを示すフローチャートである。ここで、一部の処理は、第3実施形態の図16における一部の処理と同様であるため、同じ処理については同じ符号を付して説明を割愛する。
【0122】
<STEP2009:彩度算出>
STEP701で設定したRGB7×7領域の注目画素に対して彩度を算出する。注目画素を中心とする3×3領域の各色平均値を算出する。R、G、Bそれぞれの平均値をAR、AG、ABとし、|AR−AG|、|AG−AB|、|AB−AR|の内、最大の値を彩度として算出する。尚、彩度算出はこれに限ったものではない。ここでは3×3領域の平均から求めたが、STEP701で設定した処理領域サイズ内の領域から求めればよい。また、色空間をRGBで求めたが、ブロックを輝度色差空間に変換して色差成分を使って輝度軸からの距離として求めてもよい。
【0123】
<STEP2010:無彩色化量算出>
STEP2009で算出した平均値AR、AG、ABを使って、式(27)から無彩色化量ΔKを算出する。APは、ARまたABのいずれかとする。
ΔK = AG−AP ・・・式(27)。
【0124】
<STEP2011:無彩色化強度Ks設定>
STEP2009で算出した彩度に応じて適応的に無彩色化強度Ksを設定する。図21(a)はSTEP2011におけるKs設定を説明する図であり、横軸は彩度、縦軸はKsを示している。輝度軸付近である第15閾値より小さい彩度の場合は、無彩色化する為にKsを1に設定する。輝度軸付近を無彩色化するのは、輝度軸に近い為原稿は無彩色に近い可能性が高いと判断できるからである。輝度軸から離れた第16閾値より大きい彩度の場合は、無彩色化しない為にKsを0に設定する。これはカラーの可能性が高いからである。第15閾値以上且つ第16閾値以下の彩度の場合は、処理の切り換えを目立ち難くする為に彩度=第15閾値のときKs=1、彩度=第16閾値のときKs=0となるように彩度毎に異なるKsを適応的に設定する。具体的には図21(a)や以下の式(24)を用いることによって適応的に設定できる。
Ks = (第16閾値−彩度)/(第16閾値−第15閾値) ・・・式(24)
【0125】
<STEP2012:Ksによる無彩色化量補正>
STEP2010で算出した無彩色化量ΔKをSTEP2011で設定した無彩色化強度Ksで補正する。補正した無彩色化量ΔKsは式(28)を使って算出する。
ΔKs = Ks×ΔK ・・・式(28)
STEP2012によって、輝度軸付近の画像信号をより輝度軸に近づけることが可能である。
【0126】
<STEP2013:無彩色化強度Kz設定>
STEP2010で算出した変動回数に応じて適応的に無彩色化強度Kzを設定する。第17閾値と第18閾値を使い、STEP2507と同様に図21(b)の特性でKzを適応的に設定する。変動回数が第17閾値より小さいの場合はKz=1、第18閾値より大きい場合はKz=0、第17閾値以上且つ第18閾値以下の場合は式(25)によって適応的に設定できる。
Kz = (第18閾値−変動回数)/(第18閾値−第17閾値) ・・・式(25)
【0127】
<STEP2014:Kzによる無彩色化量補正>
STEP2012で算出した無彩色化量ΔKsをSTEP2013で設定した無彩色化強度Kzで補正する。補正した無彩色化量ΔKzは式(29)を使って算出する。
ΔKz = Kz×ΔKs ・・・式(29)
STEP2014によって、変動回数が少ない文字に対しては無彩色化を比較的強くして文字を黒く、変動回数が多い網点や写真に対しては無彩色化を比較的弱くして色味の変化を抑えることができる。
【0128】
<STEP2015:無彩色化強度Ke設定>
STEP705で算出した変動量に応じて適応的に無彩色化強度Keを設定する。第19閾値と第20閾値を使い、図21(c)の特性でKeを適応的に設定する。変動量が第19閾値より小さいの場合はKe=0、第20閾値より大きい場合はKe=1、第19閾値以上且つ第20閾値以下の場合は式(26)によって適応的に設定できる。
Ke = (変動量−第19閾値)/(第20閾値−第19閾値) ・・・式(26)
【0129】
<STEP2016:Keによる無彩色化量補正>
STEP2014で算出した無彩色化量ΔKzをSTEP2015で設定した無彩色化強度Keで補正する。補正した無彩色化量ΔKeは式(30)を使って算出する。
ΔKe = Ke×ΔKz ・・・式(30)
STEP2016によって、文字のようなエッジ部は無彩色化を強くして文字を黒くし、写真のようにエッジが比較的弱い画像は無彩色化を弱くして色味の変化を抑えることができる。
【0130】
<STEP2017:無彩色化処理>
STPE2016で算出した無彩色化量ΔKeを注目画素値に加算することによって、フィルタ処理と置換処理と無彩色化処理した注目画素値を算出する。尚、算出した注目画素値を所望のレンジにクリップする処理を入れてもよい。
【0131】
以上説明したように、本実施形態では、変動回数の計測を置換処理に適用することで、読取りによるばらつきを適正に補正し、それを反映したパラメータを設定することにより、無彩色化処理を効率的に適用できる。無彩色化処理では、輝度軸に近い画素値を持つ黒文字に対し、黒々とした品位にする効果を発揮する。
【0132】
尚、第4、第5実施形態では説明のために独立にそれぞれの補正処理を行なう場合を示したが、先に記載した第3実施形態のエッジ強調処理を含む3つの処理を如何様に組み合わせて実行しても良い。
【0133】
[他の実施形態]
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0134】
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
【0135】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0136】
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスクがある。また、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
【0137】
その他、クライアントPCのブラウザを用いてインターネットサイトに接続し、本発明に係るプログラムそのもの、もしくは更に自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードするという利用方法もある。また、本発明に係るプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムを複数のユーザに対してダウンロードさせるWWWサーバも、本発明の範疇に含まれる。 また、本発明に係るプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布してもよい。所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0138】
また、プログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【0139】
さらに、PCの機能拡張ユニットに備わるメモリに本発明に係るプログラムが書き込まれ、そのプログラムに基づき、その機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行なう場合も、本発明の範疇に含まれる。
【図面の簡単な説明】
【0140】
【図1】MFPの説明図である。
【図2】MFPの制御説明図である。
【図3】MFPの画像処理のフローチャートである。
【図4】処理単位の説明図である。
【図5】処理単位の移動のフローチャートである。
【図6】3値化処理のフローチャートである。
【図7】第1実施形態の属性判定のフローチャートである。
【図8】輝度と1次微分、3値化処理、2次微分の説明図である。
【図9】4方向抽出の説明図である。
【図10】ゼロ交差点のパターン図である。
【図11】変動回数計測のフローチャートである。
【図12】属性判定部のフローチャートである。
【図13】第2実施形態の画像補正のフローチャートである。
【図14】エッジ強調フィルタ係数の説明図である。
【図15】エッジ強度設定の説明図である。
【図16】第3実施形態の適応的ゼロ認定処理のフローチャートである。
【図17】ゼロ認定幅の説明図である。
【図18】その他の実施の形態における置換補正処理のフローチャートである。
【図19】置換強度設定の説明図である。
【図20】その他の実施の形態における無彩色化処理のフローチャートである。
【図21】無彩色化強度設定の説明図である。
【図22】ゼロ認定幅Wを使用しない場合(ゼロ認定幅Wを0に設定した場合)の変動回数を示す図である。
【図23】ゼロ認定幅Wをエッジ部と平坦部で異なる値(0ではない値)に設定した場合の変動回数を示す図である。
【符号の説明】
【0141】
1 MFP
31 オートドキュメントフィーダ
13 プリントユニット
14 スキャニングユニット
15 オペレーションパネル
19 ディスプレイパネル
42 カードスロット
43 カメラポート
11 CPU
12 画像処理部
16 ROM
17 RAM
18 不揮発性RAM
19 ディスプレイユニット
20 センサユニット
21 ドライブユニット
22 カードインターフェイス
23 カメラインターフェイス
24 PCインターフェイス

【特許請求の範囲】
【請求項1】
処理の対象となる処理対象画素を含む画像の属性を判定する画像処理装置であって、
前記処理対象画素を含む予め定められた大きさの画像領域を抽出する抽出手段と、
前記画像領域内に含まれる画素の信号値から、前記処理対象画素に関する変動量を算出する変動量算出手段と、
算出した前記変動量に応じた閾値を用いて、前記画像領域内の画素を、3値以上にN値化するN値化手段と、
N値化の結果としてのN値化データを解析することにより、前記処理対象画素の属性を判定する判定手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記判定手段は、前記N値化データを解析して得た変動回数を用いて、前記画像の属性を判定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記N値化データは、0を中心とする複数の値から構成され、前記変動回数は、前記画像領域中の処理対象画素を含むライン上に並んだ複数画素の前記N値化データにおける符号変化回数であることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記N値化手段は、3値化を行なうことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記N値化手段は、前記変動量が大きい場合には、前記N値化手段で0になりやすいように、第1、第2閾値を決定し、前記変動量が小さい場合には、前記N値化手段で0になりにくいように前記第1、第2閾値を決定し、前記画像領域内において処理対象画素を含む画素列の信号値の差分を、前記第1、第2閾値を用いて、−1、0、1の3つの値に3値化することを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記変動量算出手段が算出する変動量は、前記処理対象画素の周辺画素の、画素値の差分の最大値であることを特徴とする請求項1に記載の画像処理装置。
【請求項7】
前記N値化データから、前記画像領域における変動回数を算出する変動回数算出手段を更に有し、
前記判定手段は、前記変動量と前記変動回数とを用いて、前記処理対象画素の属性を判定することを特徴とする請求項1に記載の画像処理装置。
【請求項8】
前記N値化手段は、前記画像領域内において処理対象画素を含む画素列の信号値の差分を、前記閾値を用いて、−1、0、1の3値化データを生成し、
前記変動回数算出手段は、前記画素列の3値化データがゼロを交差する回数を変動回数として算出することを特徴とする請求項1に記載の画像処理装置。
【請求項9】
前記判定手段は、前記変動回数が、第1閾値以下の場合は太線、第1閾値より大きく第2閾値以下の場合は細線、第2閾値より大きい場合は網点として、前記処理対象画素の属性を判定することを特徴とする請求項1に記載の画像処理装置。
【請求項10】
前記判定手段は、前記変動量が第3閾値以上の場合は、前記処理対象画素の属性を写真と判定することを特徴とする請求項1に記載の画像処理装置。
【請求項11】
前記変動量から画像の補正処理に関する補正強度を決定する補正強度決定手段と、
前記補正強度決定手段により決定された補正強度に基づいて、画像補正を実行する画像補正手段と、
を更に有することを特徴とする請求項1に記載の画像処理装置。
【請求項12】
前記補正処理は、フィルタによるエッジ強調処理、置換処理、無彩色化処理の少なくともいずれか一つを含むことを特徴とする請求項11に記載の画像処理装置。
【請求項13】
処理の対象となる処理対象画素を含む画像の属性を判定する画像処理方法であって、
前記処理対象画素を含む予め定められた大きさの画像領域を抽出する抽出ステップと、
前記画像領域内に含まれる画素の信号値から、前記処理対象画素に関する変動量を算出する変動量算出ステップと、
算出した前記変動量に応じて、第1及び第2閾値を決定する閾値決定種ステップと、
決定した前記第1及び第2閾値を用いて、前記画像領域内の画素を、3値以上にN値化するN値化ステップと、
N値化の結果としてのN値化データを解析することにより、前記処理対象画素の属性を判定する判定ステップと、
を含むことを特徴とする画像処理方法。
【請求項14】
処理の対象となる処理対象画素を含む画像の属性を判定する画像処理プログラムであって、画像処理装置が、該画像処理プログラムを実行することにより、
前記処理対象画素を含む予め定められた大きさの画像領域を抽出する抽出ステップと、
前記画像領域内に含まれる画素の信号値から、前記処理対象画素に関する変動量を算出する変動量算出ステップと、
算出した前記変動量に応じて、第1及び第2閾値を決定する閾値決定種ステップと、
決定した前記第1及び第2閾値を用いて、前記画像領域内の画素を、3値以上にN値化するN値化ステップと、
N値化の結果としてのN値化データを解析することにより、前記処理対象画素の属性を判定する判定ステップと、
を実現することを特徴とする画像処理プログラム。
【請求項15】
請求項14に記載の画像処理プログラムをコンピュータが読取可能に記憶した記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2008−11267(P2008−11267A)
【公開日】平成20年1月17日(2008.1.17)
【国際特許分類】
【出願番号】特願2006−180377(P2006−180377)
【出願日】平成18年6月29日(2006.6.29)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】