以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
図1は、本発明の実施の形態の一つにおけるMFPの外観を示す斜視図である。図1を参照して、MFP100は、画像形成装置の一例であり、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、ユーザーインターフェースとしての操作パネル160とを含む。
自動原稿搬送装置120は、原稿給紙トレイ上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部130のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部130により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部130は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部140に出力する。給紙部150は、給紙トレイに収納された用紙を画像形成部140に搬送する。
画像形成部140は、周知の電子写真方式により画像を形成するものであって、原稿読取部130から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部150により搬送される用紙に画像を形成する。
図2は、MFPのハードウェア構成の概要の一例を示すブロック図である。図2を参照して、MFP100は、メイン回路110を含む。メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM(Read Only Memory)113と、RAM(Random Access Memory)114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、外部記憶装置117と、画像処理装置201と、を含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150および操作パネル160と接続され、MFP100の全体を制御する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる読取画像を一時的に記憶する。
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶するか、または、画像形成部140でプリント可能なプリントデータに変換して、画像形成部140に出力する。これにより、画像形成部140は、ファクシミリ部116により受信されたファクシミリデータを用紙に画像を形成する。また、ファクシミリ部116は、原稿読取部130によって読み取られたデータ、またはHDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
通信I/F部112は、ネットワークにMFP100を接続するためのインターフェースである。通信I/F部112は、TCP(Transmission Control Protocol)またはFTP(File Transfer Protocol)等の通信プロトコルで、ネットワークに接続された他のコンピューターと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。また、通信I/F部112が接続されるネットワークは、例えば、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。またネットワークは、LANに限らず、ワイドエリアネットワーク(WAN)、公衆交換電話網(Public Switched Telephone Networks)を用いたネットワーク等であってもよい。さらに、ネットワークは、インターネットに接続されている。このため、MFP100は、インターネットに接続されたサーバー等のコンピューターと通信が可能である。
外部記憶装置117は、CPU111により制御され、CD−ROM(Compact Disk Read Only Memory)118、または半導体メモリーが装着される。CPU111は、外部記憶装置117を介してCD−ROM118または半導体メモリーにアクセス可能である。CPU111は、外部記憶装置117に装表されたCD−ROM118または半導体メモリーに記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムは、CD−ROM118に記録されたプログラムに限られず、HDD115に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、通信I/F部112に接続されるネットワークを介して、ネットワークに接続された他のコンピューターが、MFP100のHDD115に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、ネットワークに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD115に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
なお、CPU111が実行するプログラムを記憶する媒体としては、CD−ROM118に限られず、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programable ROM)、EEPROM(Electrically EPROM)などの半導体メモリーであってもよい。
操作パネル160は、MFP100の上方に設けられ、表示部161と操作部163とを含む。表示部161は、液晶表示装置(LCD)、有機ELD(Electro−Luminescence Display)等のディスプレイであり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部163は、タッチパネル165と、複数のキーからなるハードキー部167と、を含む。ハードキー部167が含む複数のキーそれぞれは、接点スイッチを含み、CPU111に接続される。タッチパネル165は、操作ユーザーが指またはスタイラスペンで指示した位置を検出し、検出した位置の座標をCPU111に出力する。
画像処理装置201は、CPU111により制御され、画像データを処理する。画像処理装置201は、ASIC(Application Specific Integrated Circuit)等のICであってもよいし、汎用的なCPUであってもよい。画像処理装置201を汎用的なCPUとする場合、画像処理装置201は、CPU111と同様に、ROM113に記憶されたプログラムをRAM114に読み出して実行する。なお、画像処理装置201が実行するプログラムは、ROM113に記憶されたプログラムに限らず、HDD115に記憶されたプログラム、外部記憶装置117に装表されたCD−ROM118または半導体メモリーに記録されたプログラムであってもよい。また、画像処理装置201が実行するプログラムは、CPU111が実行するプログラムと同様に、外部から入力されるプログラムであってもよい。
画像処理装置201の詳細は後述するが、画像データを、複数種類の属性ごとの領域に分割し、分割された領域ごとに異なる画像処理を実行し、画像処理後の画像データを出力する。画像処理装置201が処理対象とする画像データは、画像形成部140によって画像形成される前の画像データである。画像処理装置201が処理対象とする画像データは、原稿読取部130によって原稿が読み取られて出力される画像データ、ファクシミリ部116によって受信されたファクシミリデータ、通信I/F部112によって外部のコンピューターから受信されるデータ、HDD116から読み出されたデータまたは外部記憶装置117によってCD−ROM119から読み出されたデータを、含む。
図3は、本実施の形態における画像処理装置の機能を示す機能ブロック図である。図を参照して、画像処理装置201は、画像データに基づいて画像の属性を判別し、画像データを属性ごとの領域に分割する領域判別部211と、画像の属性に応じで画像データに所定の処理を実行する画像処理部213とを含む。
画像の属性は、網点が表された網点領域を示す網点属性、文字が表された文字領域を示す文字属性を、含む。領域判別部211は、属性ごとに分割した領域を示す領域情報を画像処理部213に出力する。
なお、領域判別は、網点属性の領域および文字属性の領域に限られず、たとえば、グラフや図形が表され、明度変化の少ないベタ画像を含む図形等の部分が表された図形領域を示す図形属性、写真が表された写真領域を示す写真属性等を判別するようにしてもよい。
画像処理部213は、画像データに対して、領域判別部211により分割された領域それぞれに対して、その領域の属性に応じた画像処理を実行する。画像処理には、スムージング処理、エッジ強調処理が含まれる。より具体的には、画像処理部213は、網点属性の領域の画像データにスムージング処理を実行し、文字属性の領域の画像データにエッジ強調処理を実行する。
画像処理部213は、網点属性の領域の画像データにスムージング処理を実行する場合、孤立点サイズに応じて、スムージング処理およびエッジ強調処理のレベルを変更する。画像処理部213は、孤立点サイズを画像データから検出してもよいし、画像処理部213から入力されるようにしてもよい。この場合、領域判別部211は、網点領域と判別した場合には、網点領域中の孤立点のサイズを画像処理部213に出力する。スムージング処理は、レベルが高いほど隣接する画像値が平滑化される。このため、画像処理部213は、孤立点のサイズが小さいほどスムージング処理のレベルを高くする。
エッジ強調処理は、レベルが高いほどエッジの強調量が増える。画像処理部213は、網点属性の領域に囲まれる文字属性の領域にエッジ強調処理を実行する場合、周辺の網点属性の領域中の孤立点のサイズが大きいほど、エッジ強調処理のレベルを高くする。しかしながら、画像処理部213は、網点属性の領域に囲まれない文字属性の領域に対して実行されるエッジ強調処理のレベルより小さいレベルとするのが好ましい。
また、スムージング処理およびエッジ強調処理それぞれのレベルは、スムージング処理またはエッジ強調処理を実行しないレベルを含む。画像によっては、スムージング処理またはエッジ強調処理をしないことが好ましい場合もあるからである。たとえば、エッジ強調処理を実行することにより、文字エッジのがたつきが目立つような場合である。このように、網点領域中の孤立点のサイズに応じて、画像データに実行するスムージング処理またはエッジ強調処理のレベルを変更するので、いかなる孤立点サイズの網点領域を含む画像データに対しても、適切な画像処理を実行することができ、網点領域の画質を向上させることが可能となる。
以下の説明では、領域判別部211が、画像データ中から網点領域を抽出する場合を主に説明する。
図4は、領域判別部の網点領域を判別する機能の一例を示すブロック図である。図4を参照して、領域判別部211は、画像データから孤立点を抽出する孤立点抽出部51と、孤立点のサイズを検出するサイズ検出部53と、網点内孤立点決定部55と、網点の線数を決定する線数決定部57と、網点領域を決定する網点領域決定部59と、を含む。
孤立点抽出部51は、複数のサイズの孤立点を抽出する。具体的には、孤立点抽出部51は、複数のサイズそれぞれに対応した感度を有する孤立点検出フィルタを用いて、画素ごとに複数のサイズ別の評価値を算出する。そして、孤立点抽出部51は、処理対象とする画素について、算出された複数のサイズ別の評価値の少なくとも1つが孤立点成立条件を満たす場合に、処理対象となる画素が孤立点の中心画素と判断する。ここでは、孤立点抽出部51は、サイズが1〜7画素の孤立点を検出する場合を例に説明する。なお、検出する孤立点のサイズは、1〜7画素に限られるものではなく、サイズが8画素以上の孤立点を検出するようにしてもよい。また、孤立点のサイズの範囲は、1〜7画素に限定されるものではない、これより狭い範囲としてもよいし、より広い範囲としてもよい。以下、領域判別部211が処理の対象とする画素を処理対象画素という。
孤立点検出フィルタは、評価値を算出するために用いる複数の画素の位置と、計算式とを定義し、サイズの大きな孤立点を検出するための孤立点検出フィルタほど、評価値を算出するために用いる周辺に存在する画素の画素値の数が多い。孤立点検出フィルタを用いて処理対象画素ごとに算出する評価値は、処理対象画素の画素値と処理対象画素の周辺に存在する複数の画素の画素値とから所定の計算式に従って算出される値である。所定の計算式は、例えば、処理対象画素を基準に孤立点サイズに応じて定まる1以上の孤立点内画素の画素値の平均から、処理対象画素を基準に孤立点サイズに応じて定まる孤立点内画素の周辺に配置された複数の周辺画素の画素値の最大値を減算した値とすればよい。孤立点内画素は、処理対象画素が孤立点の中心画素と仮定した場合に、孤立点を構成する画素である。
ここで、1〜4画素のサイズの孤立点を検出するための第1〜第4孤立点検出フィルタを例に説明する。図5(A)〜図5(D)は、孤立点検出フィルタの一例を示す図である。図5(A)〜図5(D)では、縦横それぞれ7画素のマトリクスに孤立点検出フィルタ部分にハッチングを付して示している。また、マトリクス中の各画素を特定するために、小文字v、行番号および列番号を組み合わせて示している。たとえば、左上の1行1列の画素はv11で表わし、7行7列の画素はv77で表わしている。処理対象画素は、4行4列の画素v44である。そして、評価値を算出するために用いられる画素は、ハッチングが付された画素で示される。以下の説明では、各画素の画素値を表すときは、大文字V、行番号および列番号を組み合わせて示す。たとえば、1行1列の画素v11の画素値はV11である。
図5(A)は、孤立点サイズが1画素の孤立点を検出するための第1孤立点検出フィルタの一例を示す図である。第1孤立点検出フィルタは、評価値E1を算出するために用いられる画素を、処理対象画素v44と、その周辺の画素v33〜v35,v43,v45,v53〜v55としている。孤立点抽出部51は、評価値E1を式(1)に従って算出する。
E1=V44−Max(V33,V34,V35,V43,V45,V53,V54,V55) … (1)
なお、Maxは括弧内の画素値の最大値を示す。
図5(B)は、孤立点サイズが2画素の孤立点を検出するための第2孤立点検出フィルタの一例を示す図である。第2孤立点検出フィルタは、評価値E2を算出するために用いられる画素を、処理対象画素v44と、その周辺の画素v24,v33〜v35,v42,v43,v45,v46,v53〜v55,v64としている。孤立点抽出部51は、評価値E2を式(2)に従って算出する。
E2=Average(V34、V43,V44,V45,V54)−Max(V24,V33,V35,V42,V46,V53,V55,V64) … (2)
なお、Averageは括弧内の画素値の平均値を示す。
図5(C)は、孤立点サイズが3画素の孤立点を検出するための第3孤立点検出フィルタの一例を示す図である。第3孤立点検出フィルタは、評価値E3を算出するために用いられる画素を、処理対象画素v44と、その周辺の画素v23〜v25,v32〜v36,v42,v43,v45,v46,v52〜v56,v63〜v65としている。孤立点抽出部51は、評価値E3を式(3)に従って算出する。
E3=Average(V33,V34、V35,V43,V44,V45,V53,V54,V55)−Max(V23,V24,V25,V32,V36,V42,V46,V52,V56,V63,V64,V65) … (3)
図5(D)は、孤立点サイズが4画素の孤立点を検出するための第4孤立点検出フィルタの一例を示す図である。第4孤立点検出フィルタは、評価値E4を算出するために用いられる画素を、処理対象画素v44と、その周辺の画素v14,v23〜v25,v32〜v36,v41〜v43,v45〜v47,v52〜v56,v63〜v65,v74としている。孤立点抽出部51は、評価値E4を式(4)に従って算出する。
E4=Average(V24,V33,V34、V35,V42,V43,V44,V45,V46,V53,V54,V55,V64)−Max(V14,V23,V25,V32,V36,V41,V47,V52,V56,V63,V65,V74) … (4)
なお、ここでは、孤立点サイズが1〜4画素の孤立点を検出するための第1〜第4孤立点検出フィルタについて説明したが、孤立点サイズが5画素以上の孤立点を検出するための孤立点検出フィルタは、第1〜第4孤立点検出フィルタと孤立点内画素および周辺画素の範囲が異なるのみで、同様の方法で評価値を算出するフィルタとすることができる。
図4に戻って、孤立点抽出部51は、処理対象とする画素について、複数のサイズ別に算出された評価値の少なくとも1つが孤立点成立条件を満たす場合に、処理対象となる画素が孤立点の中心画素と判断し、処理対象画素の画像データ中の位置(例えば、座標)を孤立点位置情報として、網点内孤立点決定部55に出力する。また、孤立点抽出部51は、処理対象画素について、複数のサイズ別に算出された評価値のうち孤立点成立条件を満たす評価値が存在する場合、孤立点成立条件を満たすサイズと評価値との組のすべてを、その処理対象画素に対して決定する。そして、孤立点抽出部51は、処理対象画素の画像データ中の位置と、決定されたサイズと評価値との組のすべてと、をサイズ検出部53に出力する。
孤立点成立条件は、評価値が予め定められたしきい値以上である。このしきい値は、予め定められた値である。また、画像データが原稿読取部130が出力する画像データの場合、原稿読取部130の特性により定まる値とするのが好ましい。さらに、しきい値は、原稿読取部130が出力する画像データ中のノイズを考慮して定めるのが好ましい。また、しきい値は、孤立点のサイズ別に異なる値にしてもよい。
サイズ検出部53は、孤立点抽出部51から1つの位置に対してサイズと評価値との組が1つ入力される場合、入力される組とともに入力される位置で特定される処理対象画素のサイズを、入力される組に含まれるサイズに決定する。サイズ検出部53は、孤立点抽出部51から1つの位置に対してサイズと評価値との組が複数入力される場合、入力される複数の組のうち評価値が最大の組を選択し、入力される組とともに入力される位置で特定される処理対象画素のサイズを、選択された組に含まれるサイズに決定する。サイズ検出部53は、処理対象画素のサイズを決定する場合、処理対象画素の位置と決定されたサイズとの組をサイズ情報として、網点内孤立点決定部55に出力する。
網点内孤立点決定部55は、網点内孤立点を決定する。網点内孤立点は、孤立点抽出部51において抽出された孤立点のうち、網点が表された網点領域に存在する孤立点をいう。網点内孤立点決定部55は、制限部61と、領域条件判定部63と、を含む。制限部61は、サイズ検出部53からサイズ情報が入力される。制限部61は、サイズ情報で定まる処理対象画素が属する孤立点のサイズが予め定められたサイズ以上の場合、領域条件判定部63において計数の対象となる孤立点を、処理対象画素が属する孤立点のサイズを基準に定まるサイズの孤立点に制限する。具体的には、制限部61は、サイズ対応テーブルを参照して、孤立点情報に含まれるサイズに対し、計数の対象となる孤立点のサイズを決定し、処理対象画素の位置と決定したサイズとの組を制限情報として、領域条件判定部63に出力する。
図6は、サイズ対応テーブルの一例を示す図である。図6を参照して、サイズ対応テーブルは、孤立点サイズの項目と、計数対象孤立点サイズの項目とを含むサイズ対応レコードを含む。孤立点サイズの項目は、処理対象画素が属する孤立点のサイズが設定され、計数対象孤立点サイズの項目は、計数の対象となる孤立点のサイズが設定される。単位は、画素数である。具体的には、サイズ対応テーブルは、処理対象画素が属する孤立点のサイズが1画素〜3画素に対して、計数の対象となる孤立点のサイズを1画素〜7画素を定める。また、処理対象画素が属する孤立点のサイズが4画素に対して、計数の対象となる孤立点のサイズを2画素〜7画素を定め、処理対象画素が属する孤立点のサイズが5画素に対して、計数の対象となる孤立点のサイズを3画素〜7画素を定め、処理対象画素が属する孤立点のサイズが6画素に対して、計数の対象となる孤立点のサイズを4画素〜7画素を定め、処理対象画素が属する孤立点のサイズが7画素に対して、計数の対象となる孤立点のサイズを5画素〜7画素を定める。
サイズ対応テーブルは、処理対象画素が文字の一部の孤立点として検出される場合に、周辺で網点を構成する孤立点をできるだけ計数しないように定められる。サイズ対応テーブルは、文字を構成する孤立点はサイズが所定の値より大きい場合が多いこと、網点領域の特性を利用して、処理対象画素が属する孤立点のサイズと、計数の対象となる孤立点のサイズとを定める。文字を構成する孤立点と網点を構成する孤立点との相違は、網点領域を構成する孤立点は周辺で網点を構成する孤立点とサイズが大きく異なることは稀であること、文字の周辺の孤立点は網点領域を構成する孤立点である場合が多いことである。なお、サイズ対応テーブルは、図6に示したものに限定されるものではなく、文字を構成する孤立点と網点を構成する孤立点との相違を利用したものであればよい。
図4に戻って、制限部61は、基準変更部65を含む。基準変更部65は、サイズ対応テーブルを変更する。ユーザーが、操作部163に入力する操作に従って、サイズ対応テーブルを変更する。例えば、サイズ対応テーブルを複数種類準備しておき、複数種類のサイズ対応テーブルのうちユーザーにより選択されたサイズ対応テーブルを選択する。網点領域内に表された文字のサイズおよび網点を構成する孤立点のサイズは画像データによって異なる場合がある。処理対象画素が含まれる孤立点のサイズを基準に計数の対象となる孤立点のサイズを変更することによって、網点領域内の文字のサイズおよび網点を構成する孤立点のサイズが異なる画像データに対して、網点領域内に表された文字の一部の孤立点を網点領域と判別しないようにすることができる。このため、網点領域内の文字のサイズおよび網点を構成する孤立点のサイズが異なる画像データ中で文字が表された領域を判別する精度を向上させることができる。
なお、制限部61は、サイズ情報で定まる処理対象画素が属する孤立点のサイズが予め定められたサイズ以上の場合に領域条件判定部63において計数の対象となる孤立点を、処理対象画素が属する孤立点のサイズから所定の範囲内のサイズ以上の孤立点に制限するようにしてもよい。この場合には、基準変更部65は所定の範囲を変更し、サイズ対応テーブルは不要である。
また、制限部61は、処理対象画素が属する孤立点のサイズより小さい画素の値のみを変更するようにし、処理対象画素が属する孤立点のサイズより大きい画素の値を最大のサイズに固定するようにしてもよい。処理対象画素が属する孤立点のサイズより大きい画素の値を最大のサイズに固定する理由は、網点領域を構成する孤立点をできるだけ網点内孤立点として検出しやすくするためである。
領域条件判定部63は、孤立点抽出部51から孤立点位置情報が入力され、サイズ検出部53からサイズ情報が入力され、制限部61から制限情報が入力される。孤立点位置情報は、処理対象画素の位置を含む。サイズ情報は、処理対象画素のサイズを含む。制限情報は、計数の対象となる他の孤立点のサイズを含む。孤立点抽出部51によって、画像データのすべての画素に対して処理が実行される場合、孤立点抽出部51によって決定された孤立点の中心画素の位置が入力され、サイズ検出部53からその中心画素が属する孤立点のサイズが入力され、制限部61からその中心画素に対して計数の対象となる孤立点のサイズが入力される。このため、孤立点抽出部51によって決定された孤立点の中心画素それぞれに対して、その中心画素が属する孤立点のサイズと、計数の対象となる他の孤立点のサイズとが定まる。
以下、説明のため、孤立点の中心画素を、単に孤立点画素といい、孤立点画素の画像データ中の位置と、その孤立点画素が属する孤立点のサイズとを孤立点情報という。
領域条件判定部63は、画像データ中の孤立点画素のすべてに対して、領域条件を満たすか否かを判断し、領域条件を満たす孤立点画素を網点領域内の孤立点の中心画素と判定する。領域条件は、処理対象となる孤立点画素からの距離が第1の距離以下の周辺領域に位置し、かつ、そのサイズが制限部61によって決定されたサイズの孤立点画素の数が所定数以上であることである。第1の距離は、網点の線数によって異なる。網点の線数が少ないほど、第1の距離は長い。
領域条件判定部63は、線数別計数部67を含む。線数別計数部67は、処理対象となる孤立点画素ごとに、第1の距離が網点の複数の線数にそれぞれ対応して異なる複数の周辺領域それぞれで、制限部61によって決定されたサイズの孤立点画素を計数する。線数別計数部67は、第1の距離が網点の複数の線数にそれぞれ対応して異なる複数の周辺領域それぞれに対応した網点検出フィルタを用いて、処理対象画素ごとに複数の線数別に、制限部61によって決定されたサイズの孤立点画素を計数する。網点検出フィルタは、線数が少ないほど第1の距離が長い周辺領域を定義する。
領域条件判定部63は、線数別計数部67により複数の線数別の網点検出フィルタを用いて計数された孤立点画素の数が、複数の線数別の網点検出フィルタのいずれかで所定の値以上の場合に、処理対象となる孤立点画素が網点領域内の孤立点の中心画素と判定する。領域条件判定部63は、処理対象となる孤立点画素を網点領域内の孤立点の中心画素と判定する場合、その孤立点画素が属する孤立点を網点内孤立点に決定し、網点内孤立点情報を網点領域決定部59に出力する。網点内孤立点情報は、網点内孤立点の中心画素に決定された孤立点画素の位置と、網点内孤立点のサイズとを含む。
また、領域条件判定部63は、処理対象となる孤立点画素が網点領域内と判定する場合、処理対象となる孤立点画素の位置と、複数の線数別の網点検出フィルタのうち他の孤立点画素の数が所定の値以上となる網点検出フィルタのフィルタ識別情報との組を線数決定部57に出力する。複数の線数別の網点検出フィルタのうち他の孤立点画素の数が所定の値以上となる網点検出フィルタが複数の場合、複数の網点検出フィルタのフィルタ識別情報を出力する。
線数決定部57は、領域条件判定部63から孤立点画素の位置とフィルタ識別情報との組が入力される。線数決定部57は、フィルタ識別情報が複数の場合に、線数の最も少ない網点検出フィルタに対応する線数を網点の線数に決定し、孤立点画素の位置と決定した線数との組を網点領域決定部59に出力する。
網点領域決定部59は、領域条件判定部63から網点内孤立点情報が入力され、線数決定部57から孤立点画素の位置と線数との組が入力される。網点領域決定部59は、網点内孤立点の中心画素(孤立点画素)からその中心画素に対応する線数で定まる距離の範囲内に存在する孤立点画素を、新たな網点内孤立点の中心画素に決定し、すべての網点内孤立点の中心画素を含む領域を仮網点領域に決定する。さらに、網点領域決定部59は、仮網点領域を、網点内孤立点のサイズにより定まる距離だけ拡張した領域を網点領域に決定する。具体的には、仮網点領域を、網点内孤立点のサイズの半分の距離を拡張する。孤立点は、円形であるため、孤立点の中心画素からの距離は、孤立点のサイズの半分だからである。網点領域決定部59は、決定された網点領域の画像データ中の位置を示す網点領域情報を、画像処理部213に出力する。
なお、ここでは、説明のために画像データがモノクロの2値のデータの場合を例に説明したが、画像データが例えば、赤、緑、青からなるカラーの場合、画像データを赤の成分の画像データ、緑の成分の画像データ、青のデータの画像データに分離し、それぞれで上述した処理を実行するようにすればよい。この場合には、網点領域は、赤、緑、青の3つの画像データに対応して3つの網点領域が定まるが、それらの論理和となる1つの網点領域とすればよい。
図7は、網点検出フィルタの一例を示す図である。図7では、第1の線数に対応する第1の網点検出フィルタ301と、第1の線数より少ない第2の線数に対応する第2の網点検出フィルタ303と、を示している。第1の網点検出フィルタ301は、処理対象画素から第1の距離を6画素とし、処理対象画素を中心とし、第1の距離を半径する円形の周辺領域を定める。第2の網点検出フィルタ303は、第1の距離を9画素とし、処理対象画素を中心とし、第1の距離を半径する円形の周辺領域を定める。
図7中の黒点は孤立点画素を示す。第1の網点検出フィルタ301で定まる周辺領域内に、処理対象画素以外に4つの孤立点画素を含む。第2の網点検出フィルタ303で定まる周辺領域内に、処理対象画素以外に8つの孤立点画素を含む。所定の値を4とすれば、第1の網点検出フィルタ301および第2の網点検出フィルタ303のいずれも領域条件を満たすが、この場合は、線数の少ない方を優先し、第1の線数を網点の線数に決定する。
図8は、網点領域決定処理の流れの一例を示すフローチャートである。網点領域決定処理は、画像処理装置201が実行する処理であり、画像処理装置201を汎用的なCPUで構成する場合には、画像処理装置201がROM113等に記憶されたプログラムを実行することにより画像処理装置201が実行する処理である。
図8を参照して、画像処理装置201は、画像データ中の孤立点を検出する(ステップS01)。孤立点は、孤立点の中心画素である孤立点画素の位置と孤立点のサイズとで定まる。例えば、画像データ中の複数の画素それぞれに対して、図5(A)〜図5(D)に示した孤立点のサイズ別の孤立点検出フィルタを用いてサイズ別の評価値を算出し、しきい値と比較する。サイズ別の評価値のいずれかがしきい値以上となる場合に、その画素を孤立点画素に決定する。さらに、しきい値以上となる評価値に対応するサイズを、孤立点のサイズに決定する。なお、しきい値以上となる評価値が複数の場合には、最大の評価値となる孤立点検出フィルタに対応するサイズを孤立点のサイズに決定する。ここでは、孤立点の直径が1画素から7画素までの7つのサイズの孤立点を検出する。なお、検出する孤立点のサイズは、これに限られることなく、これより狭い範囲であってもよいし、広い範囲であってもよい。
次のステップS02においては、処理対象孤立点を選択する。ステップS01において検出された孤立点のうち1つを処理対象孤立点に選択する。そして処理対処孤立点のサイズがしきい値TH1以上か否かを判断する(ステップS03)。ここでは、しきい値TH1は、図6に示したサイズ対応テーブルによって定められ、計数対象となる孤立点サイズが制限されるサイズである。ここでは、しきい値TH1は、4画素である。処理対象孤立点のサイズがしきい値TH1以上ならば処理をステップS04に進めるが、そうでなければステップS04をスキップして処理をステップS05に進める。
ステップS04においては、計数対象の孤立点のサイズを決定する。計数対象の孤立点のサイズは、処理対象孤立点のサイズに対応して予め定められている。ここでは、図6に示したサイズ対応テーブルを、HDD115から読み出し、サイズ対応テーブルによって、処理対象孤立点のサイズに対応して定められた計数対象の孤立点のサイズを決定する。処理対象孤立点のサイズが4画素ならば計数対象の孤立点のサイズを2画素〜7画素に決定し、処理対象孤立点のサイズが5画素ならば計数対象の孤立点のサイズを3画素〜7画素に決定し、処理対象孤立点のサイズが6画素ならば計数対象の孤立点のサイズを4画素〜7画素に決定し、処理対象孤立点のサイズが7画素ならば計数対象の孤立点のサイズを5画素〜7画素に決定する。なお、サイズ対応テーブルを用いることなく、処理対象孤立点のサイズから所定の画素数、例えば2画素を減算した画素数以上のサイズを計数対象となる孤立点のサイズにしてもよい。また、処理対象孤立点のサイズから所定の画素数、例えば2画素を減算および加算した画素数の範囲のサイズを計数対象となる孤立点のサイズにしてもよい。
ステップS05においては、線数を小さい順に選択する。予め定められた複数の線数のうちから小さい順に線数を選択する。そして、選択された線数に対応する周辺領域を決定する(ステップS06)。周辺領域は、処理対象画素の位置を中心にした円の範囲である。線数は、網点領域内の孤立点の中心画素の間隔を定めるため、周辺領域は、網点領域内の孤立点の中心の間隔を半径とする円形の領域である。このため、周辺領域は、線数が大きいほど小さくなる。なお、周辺領域の形状は円形に限らず、処理対象画素の位置を中心にして定まる形状であれば、例えば、矩形にしてもよい。
ステップS07においては、処理対象画素を中心にして定まる周辺領域内に存在する孤立点を計数する。ここで計数の対象となる孤立点は、ステップS04が実行される場合には、ステップS04において決定されたサイズの孤立点であり、ステップS04が実行されない場合には、すべてのサイズの孤立点である。
ステップS08においては、計数値がしきい値TH2以上か否かを判断する。ステップS07において計数された孤立点数がしきい値TH2以上ならば処理をステップS09に進めるが、そうでなければ処理をステップS11に進める。ステップS09においては、処理対象孤立点を網点内孤立点に設定し、処理をステップS10に進める、次のステップS10においては、網点領域の線数をステップS05において選択された線数に決定し、処理をステップS12に進める。
一方、ステップS11においては、ステップS05において処理対象として選択されていない線数が存在するか否かを判断する。未選択の線数が存在するならば処理をステップS05に戻し、存在しなければ処理をステップS12に進める。
ステップS12においては、ステップS01において検出された孤立点のうちで、ステップS02において処理対象として選択されていない孤立点が存在するか否かを判断する。処理対象に選択されていない孤立点が存在するならば処理をステップS02に戻すが、存在しなければ処理をステップS13に進める。ステップS13においては、網点内孤立点を拡張する。具体的には、ステップS09において網点内孤立点に設定された孤立点からステップS10において決定された線数の対応する距離の範囲内に存在する孤立点を新たに網点内孤立点に設定する。そして、次のステップS14においては、網点内孤立点に基づいて網点領域を決定し、処理を終了する。具体的には、網点内孤立点を含む領域を網点領域に決定する。
<網点内孤立点決定部の変形例>
上述した実施の形態においては、領域判別部201は、領域条件を満たす孤立点を網点内孤立点に決定する。領域条件は、孤立点画素から網点の線数に対応するサイズの周辺領域に存在する他の孤立点画素の数が所定の値以上であることである。網点領域は、網点の線数に対応する間隔でサイズの異なる孤立点が配列される。このため、網点領域は、孤立点が周期的に配置されている。変形例における網点内孤立点決定部は、領域条件に加えて、処理対象となる孤立点の周辺に配置される孤立点が処理対象となる孤立点を基準に定まる方向を条件にさらに考慮したものである。
図9は、変形例における領域判別部の網点領域を判別する機能の一例を示すブロック図である。図9を参照して、図4に示した機能と異なる点は、網点内孤立点決定部55を網点内孤立点決定部55Aに、領域条件判定部63を周期性条件判定部63Aに変更した点である。その他の機能は、図4に示した機能と同じなので、ここでは説明を繰り返さない。
周期性条件判定部63Aは、孤立点抽出部51から孤立点位置情報が入力され、サイズ検出部53からサイズ情報が入力され、制限部61から制限情報が入力される。孤立点位置情報は、処理対象画素の位置を含む。サイズ情報は、処理対象画素のサイズを含む。制限情報は、計数の対象となる他の孤立点のサイズを含む。孤立点抽出部51によって、画像データのすべての画素に対して処理が実行される場合、孤立点抽出部51によって決定された孤立点画素の位置が入力され、サイズ検出部53からその孤立点画素が属する孤立点のサイズが入力され、制限部61からその孤立点画素に対して計数の対象となる孤立点のサイズが入力される。このため、孤立点抽出部51によって決定された孤立点画素それぞれに対して、その孤立点画素が属する孤立点のサイズと、計数の対象となる他の孤立点のサイズとが定まる。
周期性条件判定部63Aは、画像データ中の孤立点画素のすべてに対して、周期性条件を満たすか否かを判断し、周期性条件を満たす孤立点画素を網点領域内の孤立点の中心画素と判定する。周期性条件は、処理対象となる孤立点画素からの距離が第1の距離以下かつ第2の距離以上の特定領域であって処理対象となる孤立点画素からの方向の異なる複数の分割領域それぞれにおいて所定数以上の他の孤立点が存在することである。ここでは、複数の分割領域を、処理対象となる孤立点画素からの方向が互いに直行する4つの方向にそれぞれ配置される4つの分割領域としている。なお、分割領域の数は、これに限定されるものではなく、2つであってもよいし、5つ以上であってもよい。第2の距離は、第1の距離より短い。第1の距離および第2の距離は、網点の線数によって異なる。網点の線数が少ないほど、第1の距離および第2の距離は長い。
周期性条件判定部63Aは、線数別計数部67Aを含む。線数別計数部67Aは、処理対象となる孤立点画素ごとに、第1の距離および第2の距離が網点の複数の線数にそれぞれ対応して異なる複数の特定領域それぞれで、4つの分割領域ごとに、制限部61によって決定されたサイズの孤立点画素を計数する。線数別計数部67Aは、第1の距離および第2の距離が網点の複数の線数にそれぞれ対応して異なる複数の特定領域それぞれに対応した周期性検出フィルタを用いて、処理対象となる孤立点画素ごとに複数の線数別に、制限部61によって決定されたサイズの孤立点画素を計数する。周期性検出フィルタは、線数が少ないほど第1の距離および第2の距離が長い特定領域を定義する。特定領域は、孤立点画素からの方向が互いに直行する4つの方向にそれぞれ配置される4つの分割領域を含む。
周期性条件判定部63Aは、線数別計数部67Aにより複数の線数別の周期性検出フィルタを用いて4つの分割領域ごとに計数された孤立点画素の数が、複数の線数別の周期性検出フィルタのいずれかで所定の値以上の場合に、処理対象となる孤立点画素が網点領域内の孤立点画素と判定する。ここでは、周期性条件判定部63Aは、処理対象となる孤立点画素を網点領域内の孤立点の中心画素と判定する場合、その孤立点画素が属する孤立点を網点内孤立点に決定し、網点内孤立点情報を網点領域決定部59に出力する。網点内孤立点情報は、網点内孤立点の中心画素に決定された孤立点画素の位置と、網点内孤立点のサイズとを含む。
また、周期性条件判定部63Aは、処理対象となる孤立点画素が網点領域内と判定する場合、処理対象となる孤立点画素の位置と、複数の線数別の周期性検出フィルタのうち4つの分割領域における他の孤立点画素の数が所定の値以上となる周期性検出フィルタのフィルタ識別情報との組を線数決定部57に出力する。複数の線数別の周期性検出フィルタのうち4つの分割領域における他の孤立点画素の数が所定の値以上となる周期性検出フィルタが複数の場合、複数の周期性検出フィルタのフィルタ識別情報を出力する。
図10は、周期性検出フィルタの一例を示す図である。図10では、第1の線数に対応する周期性検出フィルタ401を示している。周期性検出フィルタ401は、処理対象画素を中心とし、第1の距離である6画素を半径とする同心円と、第2の距離である3画素を半径とする同心円とで囲まれる特定領域403を定め、特定領域403中に、処理対象画素からの方向が互いに直行する4つの第1〜第4分割領域405,406,407,408を定める。
図10中の黒点は孤立点画素を示す。周期性検出フィルタ401で定まる4つの第1〜第4分割領域405,406,407,408それぞれに、処理対象画素以外の孤立点画素を含む。所定の値を1とすれば、周期性検出フィルタ401によって周期性条件を満たす。この場合は、周期性検出フィルタ401に対応する第1の線数を網点の線数に決定する。
図11は、変形例における網点領域決定処理の流れの一例を示すフローチャートである。図11を参照して、図8に示した網点領域決定処理と異なる点は、ステップS06〜ステップS08が、ステップS06A〜ステップS08Aに変更された点である。その他の処理は、図8に示した恵美展領域決定処理と同じなので、ここでは説明を繰り返さない。
ステップS06Aにおいては、ステップS05において選択された線数に対応する4つの分割領域を決定する。4つの分割領域は、処理対象画素の位置を中心にした半径が第1の距離の同心円と半径が第2の距離の同心円とで囲まれる特定領域を4つに分割した領域である。線数は、網点領域内の孤立点の中心画素の間隔を定めるため、特定領域は、網点領域内の孤立点の中心画素の間隔を半径とする円形の領域である。このため、特定領域を定める第1の距離および第2の距離は、線数が大きいほど小さくなる。なお、特定領域の形状は同心円に限らず、処理対象画素の位置を中心にして定まる形状であれば、例えば、矩形にしてもよい。
ステップS07Aにおいては、処理対象画素を中心にして定まる4つの分割領域内に存在する孤立点を計数する。ここで計数の対象となる孤立点は、ステップS04が実行される場合には、ステップS04において決定されたサイズの孤立点であり、ステップS04が実行されない場合には、すべてのサイズの孤立点である。
ステップS08Aにおいては、4つの分割領域のすべてで計数値がしきい値TH3以上か否かを判断する。ステップS08Aにおいて4つの分割領域ごとに計数された孤立点数のすべてしきい値TH3以上ならば処理をステップS09に進めるが、そうでなければ処理をステップS11に進める。
以上説明したように、本実施の形態におけるMFP100は、画像処理装置201を備えており、その画像処理装置201は、画像データから孤立点を抽出し、抽出された複数の孤立点それぞれのサイズを検出し、抽出された複数の孤立点のうち、周辺に位置する他の孤立点の数が所定数以上である孤立点を網点内孤立点に決定するが、処理対象となる孤立点のサイズが予め定められたサイズ以上の場合は、計数の対象を、処理対象となる孤立点のサイズを基準に定まるサイズの孤立点に制限する。画像データ中で網点領域内に文字が表されている場合、その文字の一部が孤立点として抽出される場合があるが、処理対象となる孤立点のサイズが予め定められたサイズ以上の場合は、処理対象となる孤立点のサイズを基準に定まるサイズの孤立点が所定数以上存在することを条件に網点を構成する孤立点と判断する。このため、画像データ中で網点領域内の文字を網点の一部と誤って判断する場合を除外できる場合があり、画像データ中で文字が表された領域を判別する精度を向上させることができる。
また、処理対象となる孤立点からの距離が第1の距離以下の周辺領域に位置する他の孤立点の数が所定数以上である領域条件を判定するので、網点の線数に対応して第1の距離を定めれば、網点を構成する孤立点を決定することができる。
また、第1の距離が網点の複数の線数にそれぞれ対応して異なる複数の周辺領域を定める網点検出フィルタを用いて、他の孤立点を計数し、複数の網点検出フィルタのうち領域条件を満たすことになる網点検出フィルタのうち第1の距離が最小の網点検出フィルターに対応するに線数を網点の線数に決定する。このため、網点の線数を容易に決定することができる。
また、処理対象となる孤立点からの距離が第1の距離以下かつ第2の距離以上の特定領域であって処理対象となる孤立点からの方向の異なる複数の分割領域を定める周期性検出フィルタを用いて周期性条件を判定する。網点を構成する孤立点は、網点領域に輪郭部を除いて異なる方向に他の孤立点が配置される周期性を有する。このため、網点を構成する孤立点を決定する精度を向上させることができる。
さらに、第1の距離および第2の距離が網点の複数の線数にそれぞれ対応して異なる複数の特定領域を定める周期性検出フィルタを用いて、他の孤立点を計数し、複数の周期性検出フィルタのうち周期性条件を満たすことになる周期性検出フィルタに対応する線数を網点の線数に決定する。このため、網点の線数を容易に決定することができる。
さらに、計数の対象となる孤立点のサイズは、処理対象となる孤立点のサイズを基準に定まるが、複数のサイズ対応テーブルのうちから1つを選択することによって、処理対象となる孤立点のサイズを基準に定まるサイズを変更する。網点領域内の文字のサイズおよび網点を構成する孤立点のサイズは画像データによって異なる場合があるので、処理対象となる孤立点のサイズを基準に定まるサイズを変更することによって、網点領域内の文字のサイズおよび網点を構成する孤立点のサイズが異なる画像データに対して、文字が表された領域を判別する精度を向上させることができる。
なお、上述した実施の形態においては、画像処理装置201について説明したが、図8または図11に示した網点領域決定処理をMFP100に実行させる画像処理法、または、図8または図11に示した網点領域決定処理を、CPU111に実行させる画像処理プログラムとして捉えることができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1)画像データを処理する画像処理手段を、さらに備え、
前記画像処理手段は、前記画像データ中で前記決定された網点領域に第1の処理を実行し、前記画像データ中で前記決定された網点領域以外の領域に第2の処理を実行する、請求項3または5に記載お画像処理装置。
(2)前記第1の処理は、スムージング処理を含み、前記第2の処理はエッジ強調処理を含む、(1)に記載の画像処理装置。
(3)原稿を読み取って画像データを出力する原稿読取手段を、さらに備えた請求項1〜6のいずれかに記載の画像処理装置。