特許第6794901号(P6794901)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

特許6794901画像処理装置、および、コンピュータプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6794901
(24)【登録日】2020年11月16日
(45)【発行日】2020年12月2日
(54)【発明の名称】画像処理装置、および、コンピュータプログラム
(51)【国際特許分類】
   H04N 1/40 20060101AFI20201119BHJP
   H04N 1/409 20060101ALI20201119BHJP
【FI】
   H04N1/40 062
   H04N1/409
【請求項の数】7
【全頁数】39
(21)【出願番号】特願2017-70795(P2017-70795)
(22)【出願日】2017年3月31日
(65)【公開番号】特開2018-174418(P2018-174418A)
(43)【公開日】2018年11月8日
【審査請求日】2020年2月4日
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】特許業務法人鳳国際特許事務所
(72)【発明者】
【氏名】上田 昌史
(72)【発明者】
【氏名】山田 竜司
(72)【発明者】
【氏名】嶋橋 卓也
【審査官】 豊田 好一
(56)【参考文献】
【文献】 特開2007−311836(JP,A)
【文献】 特開平11−046300(JP,A)
【文献】 特開平07−298074(JP,A)
【文献】 米国特許出願公開第2007/0263256(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/40
(57)【特許請求の範囲】
【請求項1】
画像処理装置であって、
入力画像を表す入力画像データを取得する入力画像データ取得部と、
前記入力画像データを用いて、複数の画素のそれぞれの明るさの度合いである複数個の輝度値を含む輝度画像データを取得する輝度画像データ取得部と、
前記輝度画像データを用いて、注目画素が、第1種の特定領域に含まれるか否かを判断する第1判断部であって、前記第1種の特定領域は複数の画素が連続する領域であり、前記第1種の特定領域は第2種の特定領域と比べて明るさが暗い領域である、前記第1判断部と、
前記輝度画像データを用いて、前記注目画素が、前記第2種の特定領域に含まれるか否かを判断する第2判断部であって、前記第2種の特定領域は複数の画素が連続する領域であり、前記第2種の特定領域は前記第1種の特定領域と比べて明るさが明るい領域である、前記第2判断部と、
前記輝度画像データを平滑化することによって平滑化データを生成する平滑化データ生成部であって、前記複数の画素のうち、前記第1種の特定領域に含まれると判断される画素の輝度値と前記第2種の特定領域に含まれると判断される画素の輝度値とを平滑化せずに、前記第1種の特定領域に含まれると判断されず、かつ、前記第2種の特定領域に含まれると判断されない画素の輝度値を平滑化することによって、前記平滑化データを生成する、前記平滑化データ生成部と、
前記平滑化データを用いて、前記入力画像内のエッジを表すエッジ画素を検出する検出部と、
を備える、画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記第1判断部と前記第2判断部との少なくとも一方は、線を表す画素を検出するためのフィルタであって、互いに異なる太さの線に対応付けられた複数のフィルタを用いて、前記注目画素が、線を表す前記特定領域に含まれるか否かを判断する、
画像処理装置。
【請求項3】
請求項2に記載の画像処理装置であって、
前記第1判断部は、線を表す画素を検出するためのフィルタであって、互いに異なる太さの線に対応付けられたP個(Pは以上の整数)のフィルタの少なくとも1つを用いて、前記注目画素が、線を表す前記第1種の特定領域に含まれるか否かを判断し、
前記第2判断部は、線を表す画素を検出するためのフィルタであって、互いに異なる太さの線に対応付けられたQ個(Qは、以上、かつ、Pとは異なる整数)のフィルタの少なくとも1つを用いて、前記注目画素が、線を表す前記第2種の特定領域に含まれるか否かを判断する、
画像処理装置。
【請求項4】
請求項3に記載の画像処理装置であって、
P>Qである、
画像処理装置。
【請求項5】
請求項4に記載の画像処理装置であって、
前記第1判断部によって用いられ得る前記P個のフィルタに対応付けられるP種類の線のうち最も細い線の幅は、前記第2判断部によって用いられ得る前記Q個のフィルタに対応付けられるQ種類の線のうち最も細い線の幅よりも、細い、
画像処理装置。
【請求項6】
請求項5に記載の画像処理装置であって、
前記入力画像データに前記エッジ画素を用いる画像処理を行うことによって、印刷用の画像データである出力データを生成する出力データ生成部と、
前記出力データを、色材を利用して画像を印刷する印刷実行部に供給する供給部と、
を備え、
前記第2判断部によって用いられ得る前記Q個のフィルタに対応付けられるQ種類の線のうち最も細い線の幅は、前記印刷実行部によって利用される色材の滲み特性に基づいて、予め決定されている、
画像処理装置。
【請求項7】
画像処理のためのコンピュータプログラムであって、
入力画像を表す入力画像データを取得する入力画像データ取得機能と、
前記入力画像データを用いて、複数の画素のそれぞれの明るさの度合いである複数個の輝度値を含む輝度画像データを取得する輝度画像データ取得機能と、
前記輝度画像データを用いて、注目画素が、第1種の特定領域に含まれるか否かを判断する第1判断機能であって、前記第1種の特定領域は複数の画素が連続する領域であり、前記第1種の特定領域は第2種の特定領域と比べて明るさが暗い領域である、前記第1判断機能と、
前記輝度画像データを用いて、前記注目画素が、前記第2種の特定領域に含まれるか否かを判断する第2判断機能であって、前記第2種の特定領域は複数の画素が連続する領域であり、前記第2種の特定領域は前記第1種の特定領域と比べて明るさが明るい領域である、前記第2判断機能と、
前記輝度画像データを平滑化することによって平滑化データを生成する平滑化データ生成機能であって、前記複数の画素のうち、前記第1種の特定領域に含まれると判断される画素の輝度値と前記第2種の特定領域に含まれると判断される画素の輝度値とを平滑化せずに、前記第1種の特定領域に含まれると判断されず、かつ、前記第2種の特定領域に含まれると判断されない画素の輝度値を平滑化することによって、前記平滑化データを生成する、前記平滑化データ生成機能と、
前記平滑化データを用いて、前記入力画像内のエッジを表すエッジ画素を検出する検出機能と、
をコンピュータに実現させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、画像内のエッジを検出する技術に関する。
【背景技術】
【0002】
従来から、種々の画像処理が、提案されている。例えば、微分フィルタなどを用いて文字エッジを抽出し、孤立量を積算して印刷の網点を抽出することによって、画像を文字と網点に分類する技術が提案されている。さらに、画像中の文字領域と網点領域とを区別するとともに、網点領域内の文字も判定する技術が、提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−311836号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、画像内の文字は、種々の形態で表現され得る。例えば、明るい色の背景中に、暗い色で文字が表現される場合がある。これとは反対に、暗い色の背景中に、明るい色で文字が表現される場合がある。このような種々の形態で表現され得る文字のエッジを検出することは、容易ではなかった。
【0005】
本明細書は、種々の形態で表現され得る文字のエッジを検出することができる技術を開示する。
【課題を解決するための手段】
【0006】
本明細書は、例えば、以下の適用例を開示する。
【0007】
[適用例1]画像処理装置であって、入力画像を表す入力画像データを取得する入力画像データ取得部と、前記入力画像データを用いて、複数の画素のそれぞれの明るさの度合いである複数個の輝度値を含む輝度画像データを取得する輝度画像データ取得部と、前記輝度画像データを用いて、注目画素が、第1種の特定領域に含まれるか否かを判断する第1判断部であって、前記第1種の特定領域は複数の画素が連続する領域であり、前記第1種の特定領域は第2種の特定領域と比べて明るさが暗い領域である、前記第1判断部と、前記輝度画像データを用いて、前記注目画素が、前記第2種の特定領域に含まれるか否かを判断する第2判断部であって、前記第2種の特定領域は複数の画素が連続する領域であり、前記第2種の特定領域は前記第1種の特定領域と比べて明るさが明るい領域である、前記第2判断部と、前記輝度画像データを平滑化することによって平滑化データを生成する平滑化データ生成部であって、前記複数の画素のうち、前記第1種の特定領域に含まれると判断される画素の輝度値と前記第2種の特定領域に含まれると判断される画素の輝度値とを平滑化せずに、前記第1種の特定領域に含まれると判断されず、かつ、前記第2種の特定領域に含まれると判断されない画素の輝度値を平滑化することによって、前記平滑化データを生成する、前記平滑化データ生成部と、前記平滑化データを用いて、前記入力画像内のエッジを表すエッジ画素を検出する検出部と、を備える、画像処理装置。
【0008】
この構成によれば、第1種の特定領域に含まれると判断される画素の輝度値と、第2種の特定領域に含まれると判断される画素の輝度値と、を平滑化しないので、明るい背景中に暗い色(すなわち、低輝度の色)で表される文字のエッジを表す画素と、暗い背景中に明るい色(すなわち、高輝度の色)で表される文字のエッジを表す画素と、の両方を、適切に検出できる。
【0009】
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
【図面の簡単な説明】
【0010】
図1】複合機100の構成を示すブロック図である。
図2】実施形態における領域分離処理部103のブロック構成図である。
図3】文字判定部1003の構成を示すブロック図である。
図4】文字判定部の処理を説明するための図である。
図5】文字判定部の各処理の信号を示す図である。
図6】テーブルの説明図である。
図7】網点判定部1004のブロック構成図である。
図8】網点判定部の処理を説明するための図である。
図9】パターンマッチングの一例を示す第1の図である。
図10】内エッジ信号と判定パターン1710とマッチングの結果の一例を示す図である。
図11】OR処理部1207による処理の説明図である。
図12】積算処理部1209と閾値判定部1211との構成を示すブロック図である。
図13】閾値判定部1211と総合判定部1213との処理の一例を示す図である。
図14】閾値判定部1211と総合判定部1213との処理の一例を示す図である。
図15】閾値判定部1211と総合判定部1213との処理の一例を示す図である。
図16】網点内文字判定部1005の構成を示すブロック図である。
図17】適応的スムージング処理部2401の構成を示すブロック図である。
図18】線パターンの説明図である。
図19図18(A)の線パターン2600を用いた判定の例を示す図である。
図20図18(B)〜(D)の線パターン2610〜2630を用いた判定の例を示す図である。
図21図18(A)の線パターン2600を用いた判定の例を示す図である。
図22図18(B)〜(D)の線パターン2610〜2630を用いた判定の例を示す図である。
図23】適応的スムージング処理部2401による平滑化の周波数特性2900の一例を示す説明図である。
図24】網点内文字判定部1005による網点文字判定の例を示す図である。
図25】網点内文字判定部1005による網点文字判定の例を示す図である。
図26】出力処理部110の構成を示すブロック図である。
図27】第1種の特定領域の画素と第2種の特定領域の画素とを検出する処理の別の実施例を示すフローチャートである。
図28】複数のフィルタの例を示す説明図である。
図29】明線用の初期値Wdiwを決定する処理の説明図である。
【発明を実施するための形態】
【0011】
A.第1実施例:
A−1.複合機100の構成
次に、実施の形態を実施例に基づき説明する。図1は、実施例の画像処理装置としての複合機100の構成を示すブロック図である。
【0012】
複合機100は、制御部120と、読取実行部130と、印刷実行部140と、通信インタフェース(通信IF)150と、図示しない液晶ディスプレイなどの表示部と、図示しないタッチパネルやボタンを含む操作部と、を備えている。
【0013】
制御部120は、メインプロセッサ101と、複数個の画像処理部102〜110と、DRAMなどの複数個の揮発性メモリ111〜116と、フラッシュメモリなどの不揮発性メモリ117と、を備えている。
【0014】
メインプロセッサ101は、不揮発性メモリ117に格納されるコンピュータプログラムPGを実行することによって、読取実行部130や印刷実行部140、および、画像処理部102〜110を含む複合機100の全体を制御するCPUである。
【0015】
複数個の画像処理部102〜110は、メインプロセッサ101の制御に従って動作するASICなどのハードウェア回路である。揮発性メモリ111〜116は、メインプロセッサ101や画像処理部102〜110によって利用されるメモリである。これら画像処理部やメモリを用いた処理の概要は後述する。
【0016】
不揮発性メモリ117には、上述のコンピュータプログラムPGが格納されている。コンピュータプログラムPGは、メインプロセッサ101に複合機100の制御を実現させる制御プログラムである。コンピュータプログラムPGは、複合機200の製造時に、不揮発性メモリ117に予め格納される形態で提供される。これに代えて、コンピュータプログラムPGは、サーバからダウンロードされる形態で提供されても良く、DVD−ROMなどに格納される形態で提供されてもよい。
【0017】
読取実行部130は、メインプロセッサ101の制御に従って、一次元イメージセンサを用いて原稿を光学的に読み取ることによってスキャンデータを生成する。スキャンデータは、複数個の画素の値を含み、複数個の画素の値のそれぞれは、画素の色をRGB表色系の色値(RGB値とも呼ぶ)で表す。すなわち、スキャンデータは、RGB画像データである。1個の画素のRGB値は、例えば、赤色(R)と緑色(G)と青色(B)との3個の色成分の値(以下、R値、G値、B値とも呼ぶ)を含んでいる。本実施例では、各成分値の階調数は、256階調である。
【0018】
印刷実行部140は、メインプロセッサ101の制御に従って、複数種類のインク、具体的には、シアン(C)、マゼンタ(M)、イエロ(Y)、ブラック(K)のインクを、色材として用いて、用紙などの印刷媒体に色材としてのインクを吐出することによって、画像を印刷する(インクジェット方式とも呼ばれる)。なお、変形例では、印刷実行部140は、色材としてのトナーを用いて、レーザ方式で印刷媒体に画像を印刷するレーザ方式の印刷実行部であっても良い。
【0019】
通信IF150は、ユーザの端末装置(図示省略)などの外部装置と通信を行うためのインタフェース、例えば、イーサネット(登録商標)規格に従うネットワークインタフェースである。
【0020】
A−2.複合機100の処理の概要
複合機100によって実行されるコピー処理、すなわち、読取実行部130を用いて、原稿を示すスキャンデータを生成し、該スキャンデータを用いて原稿を示す画像を印刷する処理の概要を説明する。なお、本実施例の原稿は、例えば、複合機100、あるいは、図示しないプリンタによって画像が印刷された印刷物である。
【0021】
利用者は、複写すべき原稿を読取実行部130のシートフィーダにセットし、複写の開始指示を図示しない操作部を介して入力する。読取実行部130は、開始指示に応じて、原稿を1枚ずつ読み取ることによって、対象画像データとしてのスキャンデータを生成する。生成されたスキャンデータは、第1入力処理部102に出力される。
【0022】
第1入力処理部102は、読取実行部130から出力されるスキャンデータに対して、シェーディング補正、色補正など、周知の画像処理を行って、画像処理済みのスキャンデータを領域分離処理部103に送信する。
【0023】
領域分離処理部103は、第1入力処理部102から出力されるスキャンデータに対して、領域分離処理を行う。領域分離処理部103は、スキャンデータによって示されるスキャン画像の画素ごとに写真(自然画)領域、文字領域、網点領域、網点内の文字領域といった画像の特徴を検出して、領域ごとの属性を表すフラグデータを、後述する文字フラグ1007、網点フラグ1008、網点内文字フラグ1009として生成する。該フラグデータは、第2入力処理部104に出力されるとともに、第1フラグメモリ112に格納される。
【0024】
第2入力処理部104は、第1入力処理部102から出力されるスキャンデータに対して、領域分離処理部103から出力されるフラグデータに基づき、領域ごとに適正な画像処理を行なって、処理済画像データを生成する。処理済画像データは、第1画像メモリ111に格納される。例えば、第2入力処理部104は、文字領域に対して、画像の高周波成分を強調して文字の鮮鋭度を強調する処理を行い、網点領域に対して、ローパスフィルタ処理を行う。ローパスフィルタ処理によって、スキャン画像に含まれるいわゆるモアレ成分が除去される。これらの処理の切り替えは、領域分離処理部103で生成したフラグデータに基づいて、画素単位で行われる。
【0025】
第1画像メモリ111に1ページ分の処理済画像データが格納されると、データ圧縮部107は、該処理済画像データを、例えば、非可逆圧縮方式(例えば、JPEG方式)を用いて圧縮し、圧縮済みの処理済画像データを、メインメモリ113に格納する。
【0026】
第1フラグメモリ112に1ページ分のフラグデータが格納されると、データ圧縮部107は、該フラグデータを、可逆圧縮方式(例えば、ZIP方式)を用いて圧縮し、圧縮済みのフラグデータを、メインメモリ113に格納する。
【0027】
上記の処理を行なって、メインメモリ113には各原稿の圧縮済みの処理済画像データおよび圧縮済みのフラグデータが蓄積されていく。この蓄積処理と並行して、データ復号部109は、メインメモリ113から圧縮済みの処理済画像データおよび圧縮済みのフラグデータを取得し、復号処理を行なう。このとき、解像度変換部108は、必要に応じて、復号された処理済画像データに対して、該処理済画像データの解像度を変換する解像度変換を行なう。
【0028】
復号および解像度が変換された処理済画像データは、第2画像メモリ116に格納され、復号されたフラグデータは、第2フラグメモリ115に格納される。
【0029】
出力処理部110は、第2画像メモリ116に格納された処理済画像データ(RGB値)に対して色変換処理やハーフトーン処理を含む生成処理を実行して、印刷データを生成する。出力処理部110は、印刷データを生成する過程において、第2フラグメモリ115に格納されたフラグデータを参照して、各画素が属する領域の属性を認識し、領域ごとに適した画像処理を実行することができる。これによって、適切な印刷データが生成される。生成される印刷データは、印刷実行部140に出力される。この結果、印刷実行部140によって、用紙上に原稿を示す画像が印刷される。
【0030】
上記は、コピー処理についてのものであったが、複合機100は、ユーザの端末装置などの端末装置から送信される印刷ジョブを、通信IF150を介して受信し、該印刷ジョブに基づいて画像を印刷する、いわゆるネットワークプリンタとしても機能する。
【0031】
この場合には、通信IF150を介して受信される印刷ジョブは、PDL形式の画像データを含む。PDL形式の画像データを含む印刷ジョブは、インタープリタ106に供給される。インタープリタ106は、受信した印刷ジョブに含まれるPDL形式の画像データを解釈し、RIP105が解釈可能な描画コマンド(中間データ)に変換する。RIP105は、この描画コマンドに基づき描画処理(ラスタライズ処理)を行なって、RGB画像データを生成する。このRGB画像データは、第1画像メモリ111に格納される。RIP105は、フラグデータを生成して、第1フラグメモリ112に格納する。PDL形式の印刷データでは、文字、写真(自然画)、網点等は、印刷コマンドで定義されているので、RIP105は、フラグデータを容易に生成することができる。
【0032】
A−3.領域分離処理部103による処理
領域分離処理部103によって実行される処理について説明する。図2は、実施形態における領域分離処理部103のブロック構成図である。
【0033】
輝度データ取得部1002には、第1入力処理部102から出力されるスキャンデータの各画素の値を示す画素単位の入力信号1001が、画素ごとに入力される。すなわち、入力信号1001は、スキャンデータの各画素のRGB値を示す信号である。輝度データ取得部1002は、入力信号1001によって示されるRGB値に基づいて、画素の明るさの度合いである輝度値を示す信号を、属性判定用の画素単位の判定信号として生成する。輝度値は、RGB値に含まれる複数個の成分値(R値、G値、B値)を用いて取得される。例えば、G値が、輝度値として用いられる。これに代えて、(R+2×G+B)/4などの演算によって、輝度値が算出されてもよい。また、RGB表色系の色値をLab表色系の色値に変換し、得られたL値を、輝度値として用いてもよい。輝度データ取得部1002は、画素ごとに入力されるスキャンデータを用いて、複数個の画素のそれぞれの輝度値を表す輝度画像データを取得する回路である、と言うことができる。
【0034】
輝度データ取得部1002にて生成された輝度値を示す判定信号は、文字判定部1003と、網点判定部1004と、網点内文字判定部1005と、にそれぞれ出力される。文字判定部1003と、網点判定部1004と、網点内文字判定部1005とは、供給される判定信号を用いて、文字判定、網点判定、網点内文字判定を、それぞれ、実行し、判定結果を示す結果信号を、属性フラグ生成部1006に出力する。
【0035】
属性フラグ生成部1006は、各判定部1003〜1005からの結果信号を用いて、属性フラグを生成する。実施例では、文字フラグ1007、網点フラグ1008、網点内文字フラグ1009が生成される。文字フラグ1007は、スキャンデータ内の対応する画素が、文字領域を構成する文字画素であるか否かを示すフラグである。網点フラグ1008は、スキャンデータ内の対応する画素が、網点領域を構成する網点画素であるか否かを示すフラグである。網点内文字フラグ1009は、スキャンデータ内の対応する画素が、網点内文字領域を構成する網点内文字画素であるか否かを示すフラグである。これらの属性フラグを基に、スキャン画像に含まれる画像の特徴に応じて最適な画像処理を施すことが可能になる。以下、文字判定部1003、網点判定部1004、網点内文字判定部1005について、より詳しく説明する。
【0036】
A−3−1.文字判定部1003の説明
図3は、文字判定部1003の構成を示すブロック図である。
【0037】
エッジ強調部1102には、輝度データ取得部1002からの判定信号(輝度値)が入力される。エッジ強調部1102は、該判定信号に対してエッジ強調処理を行ない、エッジ強調信号を出力する。このエッジ強調処理は、輝度画像データの所望の周波数成分を、強調・抽出するフィルタ処理が行われる。本実施例では、ラプラシアンフィルタなどの2次微分フィルタが用いられる。このために、エッジ強調部1102は、フィルタ処理に必要な、輝度画像データの複数個の画素の輝度値を示す複数個の判定信号を記憶するためのバッファメモリを備える。
【0038】
エッジ強調部1102から出力されたエッジ強調信号は、エッジ強調信号によって示される値と、閾値と、の比較を行う閾値判定部1103、1104に入力される。閾値判定部1103には正の値の閾値が、閾値判定部1104には負の値の閾値が設定されている。
【0039】
図4は、文字判定部の処理を説明するための図である。エッジ強調処理において2次微分フィルタを用いた場合、エッジ強調信号によって示される画素の値は、正の値である場合と、負の値である場合がある。図4(A)において、エッジ境界部1501は、下地1503(例えば白色)にある文字1502(例えば、黒色)と、下地1503と、のエッジを表している。図4(B)には、エッジ境界部1501の断面1510に対応する輝度画像データ(すなわち、判定信号)1504が示されている。この例では、文字1502の部分における輝度画像データの値(輝度値)は、比較的小さな値1505であり、下地1503の部分における輝度画像データの値は、比較的大きな値1506である。図4(C)には、図4(B)の輝度画像データ1504に対して、2次微分フィルタを用いエッジ強調処理を行って得られるエッジ抽出データ1507(すなわち、エッジ強調信号によって示されるデータ)が示されている。エッジ抽出データ1507は、文字1502側では正の値1508となり、下地1503側では負の値1509となる。閾値判定部1103は、エッジ強調信号によって示される値が、正の閾値を超えた場合に、「1」を示す内エッジ信号を出力し、正の閾値以下である場合に、「0」を示す内エッジ信号を出力する。「1」を示す内エッジ信号は、対応する画素が、輝度画像データにおいて、比較的小さな値から比較的大きな値へと変化するエッジを構成する小さな値側の画素(内エッジ画素)であることを示す。図4の例では、文字1502と下地1503とのエッジを構成する文字側の画素が、内エッジ画素である。閾値判定部1104は、エッジ強調信号によって示される値が、負の閾値を下回った場合に、「1」を示す外エッジ信号を出力し、負の閾値以上である場合に、「0」を示す外エッジ信号を出力する。「1」を示す外エッジ信号は、対応する画素が、輝度画像データにおいて、比較的小さな値から比較的大きな値へと変化するエッジを構成する大きな値側の画素(外エッジ画素とも呼ぶ)であることを示す。図4の例では、文字1502と下地1503とのエッジを構成する下地側の画素が、外エッジ画素である。
【0040】
閾値判定部1103から出力された内エッジ信号は、エリア積算部1105へ、閾値判定部1104から出力された外エッジ信号は、エリア積算部1106へ、それぞれ出力される。エリア積算部1105は、注目画素を中心とする縦3画素×横3画素の周辺範囲内の画素に対応する9個の内エッジ信号を積算した積算信号を、画素ごとに出力する。エリア積算部1106は、注目画素の上記周辺範囲内の画素に対応する9個の外エッジ信号を積算した積算信号を、画素ごとに出力する。したがって、エリア積算部1105、1106から出力される積算信号は、対応する画素の周辺範囲内に存在する内エッジ画素の個数、外エッジ画素の個数を、それぞれ示す。したがって、積算信号が示す値は0以上9以下の範囲となる。
【0041】
閾値判定部1107、1108は、エリア積算部1105および1106から出力される積算信号が示す値と、閾値と、を比較して、その結果を示す積算判定信号を出力する。例えば、閾値としてそれぞれ「2」という値が設定されている。このために、閾値判定部1107から出力される積算判定信号は、対応する画素の上記周辺範囲内に、内エッジ画素が2個以上ある場合に、肯定的な値(例えば、「1」)を示す。閾値判定部1108から出力される積算判定信号は、対応する画素の上記周辺範囲内に、外エッジ画素が2個以上ある場合に、肯定的な値(例えば、「1」)を示す。
【0042】
処理の具体例を、図5を用いて説明する。図5は、文字判定部の各処理の信号を示す図である。図5(A)には、輝度画像データによって示される輝度画像内に現れる下地上の文字のエッジの一部1301が示されている。
【0043】
図5(B)は、判定信号(すなわち、輝度値を示す信号)をエッジ強調部1102によってエッジ強調し、閾値判定部1104によって処理した結果、すなわち、外エッジ画素の特定結果を示している。図示のように、領域1302は、文字のエッジの外側の領域(外エッジ領域)を表わしている。
【0044】
図5(C)は、閾値判定部1104からの外エッジ信号をエリア積算部1106によって処理し、エリア積算部1106からの積算信号を閾値判定部1108によって処理した結果、すなわち、外エッジのエリア積算の判定結果を示している。図示のように、領域1304は、外エッジ領域1302の拡張した結果となる。
【0045】
図5(D)は、判定信号(すなわち、最小成分値Vminを示す信号)をエッジ強調部1102によってエッジ強調し、閾値判定部1103によって処理した結果、すなわち、内エッジ画素の特定結果を示している。図示のように、領域1303は、文字のエッジの内側の領域(内エッジ領域)を表わしている。
【0046】
図5(E)は、閾値判定部1103からの内エッジ信号をエリア積算部1105によって処理し、エリア積算部1105からの積算信号を閾値判定部1107によって処理した結果、すなわち、内エッジのエリア積算の判定結果を示している。図示のように、領域1305は、内エッジ領域1303の拡張した結果となる。
【0047】
総合判定部1109には、閾値判定部1103、1107、1108から出力される3種類の信号、すなわち、内エッジ信号と、内エッジの積算判定信号と、外エッジの積算判定信号と、が入力される。総合判定部1109は、文字判定部1003の判定結果を示す結果信号である文字判定信号1110を生成する。図5(F)には、文字判定信号によって文字である示される領域1306が示されている。
【0048】
総合判定部1109は、内エッジ信号と、内エッジの積算判定信号と、外エッジの積算判定信号と、に基づいて、決められた論理に従って文字判定信号1110を出力する。例えば、文字判定信号1110は、以下のような論理で、文字であることを示す信号(本実施例では「1」)、または、文字でないことを示す信号(本実施例では「0」)に決定される。
(1)対応する画素が内エッジである。→「1」
(2)対応する画素が外エッジであり、かつ、上記縦3画素×縦3画素の周辺範囲に外エッジが2個以上ある。→「0」
(3)上記(1)、(2)のいずれにも該当せず、かつ、上記縦3画素×縦3画素の周辺範囲に内エッジが2個以上ある。→「1」
(4)上記(1)〜(3)のいずれにも該当しない。→「0」
上記を実現するためには、総合判定部1109は、図6に示すテーブルを保持している。図示の如く、入力される内エッジ信号、内エッジの積算判定信号、外エッジの積算判定信号の結果に応じて、文字判定信号1110が決定される。以上のように行うことで、文字を好適に抽出することができる。
【0049】
A−3−2.網点判定部1004の説明
図7は、実施形態における網点判定部1004のブロック構成図である。
【0050】
エッジ強調部1202には、輝度データ取得部1002からの判定信号(輝度値)が入力される。エッジ強調部1202は、判定信号に対してエッジ強調処理を行ない、エッジ強調信号を出力する。エッジ強調部1202によるエッジ強調処理は、図3のエッジ強調部1102によるエッジ強調処理と同様の処理であり、例えば、ラプラシアンフィルタなどの2次微分フィルタを用いたフィルタ処理である。
【0051】
エッジ強調部1202から出力されたエッジ強調信号は、エッジ強調信号によって示される値と、閾値と、の比較を行う閾値判定部1203、1204に入力される。閾値判定部1203には正の値の閾値が、閾値判定部1204には負の値の閾値が設定されている。
【0052】
図8は、網点判定部の処理を説明するための図である。エッジ強調処理において2次微分フィルタを用いた場合、上述したように、エッジ強調信号によって示される画素の値は、正の値である場合と、負の値である場合がある。図8(A)において、エッジ境界部1601は、下地1603(例えば、白色)にある1個の網点1602と、下地1603と、のエッジを表している。図8(B)には、網点エッジ境界部1601の断面1610に対する輝度画像データ(すなわち、判定信号)1604が示されている。この例では、網点1602の部分における輝度画像データの値(輝度値)は、比較的小さな値1605であり、下地1603の部分における輝度画像データの値は、比較的大きな値1606である。図8(C)には、図8(B)の輝度画像データ1604に対して、2次微分フィルタを用いエッジ強調処理を行って得られるエッジ抽出データ1607が示されている。エッジ抽出データ1607は、網点1602側では正の値1608となり、下地1603側では負の値1609となる。閾値判定部1203は、図3の閾値判定部1103と同様に、内エッジ信号を出力する。閾値判定部1204は、図3の閾値判定部1104と同様に、外エッジ信号を出力する。図6の例では、網点1602と下地1603とのエッジを構成する網点側の画素が、内エッジ画素である。また、網点1602と下地1603とのエッジを構成する下地側の画素が、外エッジ画素である。
【0053】
閾値判定部1203から出力される内エッジ信号は、孤立量判定部1205に入力される。閾値判定部1204から出力される外エッジ信号は、孤立量判定部1206に入力される。
【0054】
孤立量判定部1205は、閾値判定部1203からの内エッジ信号についてパターンマッチング処理を行う。原稿に含まれる網点には、比較的単位面積当たりの線数が少ないものから比較的単位面積あたりの線数が多いものまであるため、原稿によって網点のサイズや間隔は異なる。そのため、どのような線数の網点でも検出できるように、パターンマッチングは複数のパターンにて行う。少線数の網点に対しては、比較的大きなパターンにてマッチングを行い、網点かどうかを判定する。多線数の網点に対しては、比較的小さなパターンにてマッチングを行い、網点かどうかを判定する。また、網点は、原稿上で表現すべき濃度によっても形状が変化するので、それに対応できるよう、マッチングの際に、複数の判定レベルを用いる。
【0055】
図9は、パターンマッチングの一例を示す第1の図である。図9(A)は、閾値判定部1203の結果の例である。図9(A)には、縦4画素×横4画素の範囲でパターンマッチングする例を説明するため、当該範囲内の内エッジ信号1700を示している。その中で、閾値判定部1203で、「1」を示す内エッジ信号が出力された画素(内エッジ画素)が、ハッチングされた領域1702の4画素である。「0」を示す内エッジ信号が出力された画素(非内エッジ画素)は、ハッチングされていない領域1703の画素である。マッチングの対象となる注目画素は画素1701である。
【0056】
次に、同サイズの判定パターンの一例を図9(B)に示す。図示の判定パターン1710において、4個の黒画素1712は、該パターンにおいて、内エッジ画素であるべき画素である。8個の白画素1713は、非内エッジ画素であるべき画素である。4隅の画素は、内エッジ画素でも非内エッジ画素でも構わない任意画素1714である。これを基本パターンとして、黒画素1712と白画素1713のそれぞれに、複数の一致レベルを持たせて、判定レベルを調整する。
【0057】
図10は、内エッジ信号と、図9(B)の判定パターン1710と、マッチングの結果の一例を示す図である。
【0058】
判定パターン1710における黒画素1712と、内エッジ信号における内エッジ画素と、が、4画素のうちN1画素(N1は、1以上3以下の整数)以上一致した場合は、黒画素判定を有効とする。判定パターン1710における白画素1713と、内エッジ信号における非エッジ画素と、が8画素のうちN2画素以上(N2は、1以上7以下の整数)一致した場合は、白画素判定を有効とする。黒画素判定と白画素判定との両方が有効である場合に限って、注目画素1801の判定結果を示す孤立量判定信号を、「1」とする。N1とN2の値を調整することで、判定レベルを任意に調整できる。本実施例では、N1=3、N2=6とする。
【0059】
図10(A)の内エッジ信号1810の場合、黒画素判定は有効(一致数=4)であり、かつ、白画素判定は有効(一致数=8)であるので、孤立量判定信号は「1」となる。
【0060】
図10(B)の内エッジ信号1820の場合、黒画素判定は有効(一致数=4)であり、かつ、白画素判定は有効(一致数=7)であるので、孤立量判定信号は「1」となる。
【0061】
図10(C)の内エッジ信号1830の場合、黒画素判定は有効(一致数=3)であり、かつ、白画素判定は有効(一致数=8)であるので、孤立量判定信号は「1」となる。
【0062】
図10(D)の内エッジ信号1840の場合、黒画素判定は無効(一致数=2)であり、かつ、白画素判定は有効(一致数=8)であるので、孤立量判定信号は「0」となる。
【0063】
このようなパターンマッチングを複数のサイズの判定パターンを用いて行う。実施例では、内エッジ信号について説明したが、外エッジ信号についても同様のパターンマッチングを行う。その際、判定パターンや判定レベルの調整値は任意に設定できる。
【0064】
さて、孤立量判定部1205、1206から出力される孤立量判定信号は、図7のOR処理部1207に入力される。OR処理部1207では、縦3画素×横3画素の範囲内で孤立量判定信号の論理和をとり、該範囲内に孤立量判定信号が「1」である画素があるか否かを判定する。OR処理部1207は、判定の結果、孤立量判定信号が「1」である画素が、該範囲内に1個以上あれば、判定対象の注目画素のOR処理信号を「1」とし、孤立量判定信号が「1」である画素が、該範囲内に1個もなければ、判定対象の注目画素のOR処理信号を「0」とする。
【0065】
図11は、OR処理部1207による処理の説明図である。図11(A)の例では、縦3画素×横3画素の範囲のうち、中心の注目画素の孤立量判定信号だけが「1」である。従って、出力されるOR処理信号は、「1」である。図11(B)の例では、中心の注目画素の孤立量判定信号は「0」であるが、縦3画素×横3画素の範囲内の右上の画素の孤立量判定信号は、「1」である。従って、出力されるOR処理信号は、「1」である。図11(C)の例では、中心の注目画素の孤立量判定信号は「0」であるが、その周囲の8個の画素の孤立量判定信号は、「1」である。従って、出力されるOR処理信号は、「1」である。
【0066】
OR処理部1207から出力されるOR処理信号は、積算処理部1209に入力される。図12は、積算処理部1209と、閾値判定部1211と、の構成を示すブロック図である。
【0067】
積算処理部1209は、注目画素を中心とする複数種類のサイズの積算範囲内の画素に対応する複数個のOR処理信号を積算した積算信号を、画素ごとに出力する。OR処理信号の信号を複数の積算範囲を用いて積算する。例えば、第1積算部2011は、積算範囲として、縦9画素×横9画素の範囲を用いる。したがって、第1積算部2011から出力される積算判定信号は、0以上81以下の範囲となる。第2積算部2012、第3積算部2013は、積算範囲として、それぞれ、縦15画素×横15画素の範囲、縦21画素×横21画素の範囲を用いる。したがって、第2積算部2012、第3積算部2013から出力される積算信号は、それぞれ、0以上225以下の範囲、0以上441以下の範囲となる。第1積算部2011、第2積算部2012、第3積算部2013から出力される積算信号は、それぞれ、閾値判定部1211の第1判定部2021、第2判定部2022、第3判定部2023に、入力される。
【0068】
第1判定部2021、第2判定部2022、第3判定部2023は、それぞれに入力される積算信号が示す値と、閾値と、を比較して、その結果を示す積算判定信号を出力する。を行う。具体的には、第1判定部2021、第2判定部2022、第3判定部2023から出力される積算判定信号は、積算信号が示す値が、設定された閾値以上である場合には、「1」とされ、該閾値未満である場合には、「0」とされる。第1判定部2021、第2判定部2022、第3判定部2023で用いられる閾値は、互いに異なる値であり、本実施例では、それぞれ、「5」、「12」、「23」に設定されている。これによって、各判定部2021、2022、2023は、積算信号が示す値が、積算範囲内の画素数の約5%を超える場合に、「1」を示す積算判定信号を出力し、積算信号が示す値が、積算範囲内の画素数の約5%以下である場合に、「0」を示す積算判定信号を出力する。
【0069】
第1判定部2021、第2判定部2022、第3判定部2023から出力される積算判定信号は、総合判定部1213(図7図12)に入力される。総合判定部1213は、入力される3個の積算判定信号に基づいて、網点判定部1004の判定結果を示す結果信号である網点判定信号1215を生成する。網点判定信号1215は、注目画素が網点画素であることを示す値「1」と、注目画素が網点画素でないことを示す値「0」と、のいずれかである。
【0070】
図13図15は、閾値判定部1211と、総合判定部1213と、の処理の一例を示す図である。図13(A)には、OR処理部1207によって出力されるOR処理信号2100が概念的に図示されている。このOR処理信号2100は、比較的低い濃度を示す網点を含む領域を処理した場合の例である。クロスハッチングされた画素は、対応するOR処理信号が「1」である画素を示し、クロスハッチングされていない画素は、対応するOR処理信号が「0」である画素を示す。図には、注目画素2101を中心とした、縦9画素×横9画素の積算範囲2102と、縦15画素×横15画素の積算範囲2103と、縦21画素×横21画素の積算範囲2104と、がそれぞれ示されている。それぞれの積算範囲での積算結果、すなわち、第1積算部2011、第2積算部2012、第3積算部2013から出力される積算信号の値が、図13(B)に示されている。第1積算部2011(9×9)の積算結果は、12画素であり、第2積算部2012(15×15)の積算結果は、40画素であり、第3積算部2013の積算結果は、76画素である。
【0071】
したがって、図13(B)に示すように、第1積算部2011(9×9)の積算結果の「12」は閾値「5」以上であるので、第1判定部2021(9×9)が出力する積算判定信号は、「1」(網点)になる。同様に、第2積算部2012(15×15)の積算結果の「40」も閾値「12」以上であり、第3積算部2013(21×21)の積算結果の「76」も閾値「23」以上であるので、対応する第2判定部2022、第3判定部2023が出力する積算判定信号は、両方とも「1」になる。
【0072】
総合判定部1213は、上記3種類の結果を元に、注目画素が最終的に網点かどうかを判定し、該判定結果を示す網点判定信号1215を生成する。本実施例では、総合判定部1213は、図13(C)に示すように、3種類の結果から二組のペアを作る。例えば、第1判定部2021と第2判定部2022との積算判定信号で第1のペアを作り、第2判定部2022と第3判定部2023との積算判定信号で第2のペアを作る。総合判定部1213は、それぞれの組の積算判定信号の論理積(AND)を算出する。第1のペアの論理積は、「1」(網点)であり、第2のペアの論理積も「1」(網点)である。総合判定部1213は、さらに、第1のペアの論理積と、第2のペアの論理積と、の論理和を、網点判定信号1215として生成する。図13の例では、いずれの論理積も「1」であるので、注目画素の網点判定信号1215は、「1」(網点)になる。
【0073】
図14(A)には、図13と同程度の濃度を示す網点を含み、かつ、文字のエッジ2205を含む領域に対応するOR処理信号2200が概念的に図示されている。図示のように、文字のエッジ2205がある場合は、該エッジ近傍には、孤立したドットが発生しないため、文字エッジ近傍のOR処理信号は「0」になる。この場合には、図14(B)に示すように、第1積算部2011(9×9)の積算結果は、4画素であり、第2積算部2012(15×15)の積算結果は、32画素であり、第3積算部2013の積算結果は、60画素である。
【0074】
したがって、図14(B)に示すように、第1積算部2011(9×9)の積算結果の「4」は閾値「5」未満であるので、第1判定部2021(9×9)が出力する積算判定信号は、「0」(非網点)になる。第2積算部2012(15×15)の積算結果の「32」は閾値「12」以上であり、第3積算部2013(21×21)の積算結果の「60」も、閾値「23」以上であるので、対応する第2判定部2022、第3判定部2023が出力する積算判定信号は、両方とも「1」(網点)になる。
【0075】
図14(C)に示すように、第1のペアの論理積は、「0」(非網点)であり、第2のペアの論理積は「1」(網点)である。第1のペアの論理積と、第2のペアの論理積と、の論理和は、すなわち、注目画素の網点判定信号1215は、「1」(網点)になる。このように、文字のエッジを含むために、1つの積算範囲の積算結果が、非網点を示しても、最終的には、網点と判定される。このように、複数の積算範囲と、複数個の閾値を用いることで、網点として適切に検出できる。
【0076】
図15(A)には、図13(A)と同程度の濃度を示す網点を含む領域の縁の外側に注目画素がある場合のOR処理信号2300が概念的に図示されている。この場合には、図15(B)に示すように、第1積算部2011(9×9)の積算結果は、0画素であり、第2積算部2012(15×15)の積算結果は、12画素であり、第3積算部2013の積算結果は、20画素である。
【0077】
したがって、図15(B)に示すように、第1積算部2011(9×9)の積算結果の「0」は閾値「5」未満であるので、第1判定部2021(9×9)が出力する積算判定信号は、「0」(非網点)になる。第2積算部2012(15×15)の積算結果の「12」は閾値「12」以上であるので、第2判定部2022(15×15)が出力する積算判定信号は、「1」(網点)になる。第3積算部2013(21×21)の積算結果の「20」は閾値「23」未満であるので、第3判定部2023(21×21)が出力する積算判定信号は、「0」(非網点)になる。
【0078】
図15(C)に示すように、第1のペアの論理積は、「0」(非網点)であり、第2のペアの論理積も「0」(非網点)である。第1のペアの論理積と、第2のペアの論理積と、の論理和は、すなわち、注目画素の網点判定信号1215は、「0」(非網点)になる。図14の例のように、積算範囲に含まれる網点領域内に文字のエッジが含まれる場合、文字のエッジに重なる位置の網点が文字のエッジによって除かれるので、積算範囲内の網点の総数が少なくなる。ここで、積算範囲を拡張すると、積算範囲に含まれる網点の総数が多くなるので、網点の総数に対する文字のエッジによって除かれる網点の数の割合が小さくなる。この結果、網点領域内の画素を網点として適切に判定できる。しかし、積算範囲を拡張すると、網点を含む領域の縁から外側に遠く離れた画素も、網点であると判定され得るので、網点と判断される領域が拡張され得る。本実施例では、複数の積算範囲と、複数個の閾値を用いることで、網点の縁の外側の画素を、非網点として適切に検出できる。
【0079】
ここで説明した積算処理の組み合わせは一例に過ぎず、これに限るものではない。目的に応じて自由に組み合わせを構成できる。また、説明では3種類の積算処理の結果を用いたため二組の論理積を用いたが、これに限るものではない。入力数とその論理演算部は自由に構成できるものである。さらに、論理積と論理輪の組み合わせも一例に過ぎず、これに限るものではない。論理積や論理和を自由に組み合わせることができる。
【0080】
A−3−2.網点内文字判定部1005の説明
図16は、網点内文字判定部1005の構成を示すブロック図である。
【0081】
適応的スムージング処理部2401は、輝度データ取得部1002からの判定信号を入力し、適応的なスムージング処理を行なう。ここでは、適応的に文字/細線を除外しつつ、スキャンデータの所望の周波数成分を平滑化するデジタルフィルタ処理が行われる。
【0082】
適応的スムージング処理部2401から出力されたスムージング信号は、エッジ強調部2402に入力される。エッジ強調部2402は、スムージング信号に対して、エッジ強調処理を行い、エッジ強調信号を出力する。エッジ強調部2402によるエッジ強調処理は、図3のエッジ強調部1102によるエッジ強調処理と同様の処理であり、例えば、ラプラシアンフィルタなどの2次微分フィルタを用いたフィルタ処理である。
【0083】
エッジ強調部2402から出力されたエッジ強調信号は、閾値判定部2403に入力される。閾値判定部2403には正の値の閾値が設定されている。
【0084】
図4を参照して説明したように、エッジ強調処理において2次微分フィルタを用いた場合、エッジ強調信号によって示される画素の値は、正の値である場合と、負の値である場合がある。図4(B)に示すように、文字が暗い色で表され、下地が明るい色で表されている場合には、2次微分フィルタを用いエッジ強調処理を行って得られるエッジ抽出データ1507(すなわち、エッジ強調信号によって示されるデータ)は、文字1502側では正の値1508となり、下地1503側では負の値1509となる。逆に、文字が明るい色で表され、下地が暗い色で表されている場合には、エッジ抽出データは、文字側で外エッジに対応する負の値となり、下地側で内エッジに対応する正の値となる(図示省略)。
【0085】
網点内文字判定では、エッジが文字側であるのか下地側であるのかを区別することを目的とするのではなく、網点領域内の文字自体を抽出することを目的としている。この場合、正のエッジ(すなわち、内エッジ)と負のエッジ(すなわち、外エッジ)とのうちの一方を検出すればよい。本実施例では、内エッジを検出することとする。具体的には、閾値判定部2403は、エッジ強調信号によって示される値が、正の閾値を超えた場合に、「1」を示す内エッジ信号を出力し、正の閾値以下である場合に、「0」を示す内エッジ信号を出力する。ただし、閾値判定部2403は、正のエッジ(内エッジ)を検出せずに負のエッジ(外エッジ)を検出してもよく、正のエッジ(内エッジ)と負のエッジ(外エッジ)との両方を検出してもよい。以下、上記処理を更に詳しく説明する。
【0086】
図17は、適応的スムージング処理部2401の構成を示すブロック図である。輝度データ取得部1002からの判定信号2501(輝度値)は、4つに分岐され、平滑化処理部2502と、セレクタ2504と、暗線判定部2503aと、明線判定部2503bと、にそれぞれ入力される。
【0087】
平滑化処理部2502は、判定信号2501に対して、処理対象の注目画素を中心とする縦M画素×横M画素(Mは、2以上の整数)のフィルタ範囲内の複数個の画素の値を用いて平滑化処理を実行する。平滑化処理は、特定周波数帯域の感度を落とすことを目的とする処理であり、例えば、ガウシアンフィルタを用いた処理であっても良いし、平均値フィルタを用いた処理であっても良い。処理部2502は、平滑化処理の結果を示す平滑化信号を、セレクタ2504に供給する。
【0088】
セレクタ2504に入力される判定信号2501は、平滑化処理部2502による処理の処理ライン数に応じた画像遅延に対応するために、図示しない遅延メモリを経由することで、遅延された後に、セレクタ2504に入力される。
【0089】
暗線判定部2503aは、平滑化処理部2502による処理のM本のライン分の処理バッファを利用して、縦N画素×横L画素(L、Nは、2以上の整数、N≦Mが好ましい)の処理領域にて、注目画素について、暗い色で表された縦線、横線、斜め線上の画素であるか否かの判定を行う。暗線判定部2503aは、これらの暗い線についての判定結果に応じて、セレクタ2504に対して暗線切替信号を出力する。暗線判定部2503aは、注目画素が、これらの暗い線上の画素(暗線画素とも呼ぶ)であると判定した場合には、「1」を示す暗線切替信号を出力し、注目画素が暗線画素でないと判定した場合には、「0」を示す暗線切替信号を出力する。
【0090】
明線判定部2503bは、平滑化処理部2502による処理のM本のライン分の処理バッファを利用して、縦N画素×横L画素(L、Nは、2以上の整数、N≦Mが好ましい)の処理領域にて、注目画素について、明るい色で表された縦線、横線、斜め線上の画素であるか否かの判定を行う。明線判定部2503bは、これらの明るい線についての判定結果に応じて、セレクタ2504に対して明線切替信号を出力する。明線判定部2503bは、注目画素が、これらの明るい線上の画素(明線画素とも呼ぶ)であると判定した場合には、「1」を示す明線切替信号を出力し、注目画素が明線画素でないと判定した場合には、「0」を示す明線切替信号を出力する。
【0091】
セレクタ2504は、暗線判定部2503aと明線判定部2503bからそれぞれ出力される暗線切替信号と明線切替信号とに基づき、平滑化処理部2502から出力される平滑化信号と、フィルタ処理されていない判定信号2501と、のいずれかを出力する。セレクタ2504は、暗線切替信号と明線切替信号との少なくとも一方が「1」である場合、すなわち、暗線判定部2503aにて注目画素が暗線画素であると判定されたときと、明線判定部2503bにて注目画素が明線画素であると判定されたときと、のそれぞれにおいて、フィルタ処理されない判定信号2501を出力する。セレクタ2504は、暗線切替信号と明線切替信号との両方が「0」である場合、すなわち、注目画素が暗線画素と明線画素とのいずれでもないと判定されたときは、平滑化信号を出力する。
【0092】
暗線判定部2503aについて説明する。暗線判定部2503aは、図18(A)〜(D)に示すような線パターンを用いて、注目画素が暗線画素であるか否かを判定する。線パターンのサイズは、上述した縦N画素×横L画素のサイズである。図18の例では、N=5、L=7である。縦方向(副走査方向)の画素数Nは、平滑化処理部2502の処理によるフィルタ範囲の副走査方向の画素数Mより小さい方がメモリを共有する観点から好ましいが、それに限られない。横方向(主走査方向)の画素数Lは、Mより大きくても構わない。
【0093】
図18(A)の線パターン2600は、縦線について判定するための線パターンを示し、図18(B)の線パターン2610は、横線について判定するための線パターンを示す。図18(C)、(D)の線パターン2620、2630は、延びる方向が互いに異なる斜め線について判定するための線パターンを表している。ここでは、線パターン2600を用いて、縦線についての判定方法を説明する。画素2601、2611、2621、2631は、注目画素を示している。
【0094】
パターン2600は縦5画素×横7画素のサイズを有する。線パターン2600は、縦5画素×横1画素のブロック2602、2603、2604を含む。注目画素2601は、横方向に並ぶブロック2602、2603、2604のうちの中央のブロック2603の中心に配置されている。暗線判定部2503aは、それぞれのブロックについて、判定信号2501によって示される値の総和(ALL)、最大値(MAX)、最小値(MIN)を算出する。すなわち、それぞれのブロックについて、ブロック内の画素の輝度値の総和、最大値、最小値が、算出される。
【0095】
暗線判定部2503aは、以下の条件式を評価する。
(1)MAX(2602)− MIN(2602) ≦ 閾値1
(2)MAX(2603)− MIN(2603) ≦ 閾値1
(3)ALL(2603)≦ ALL(2602)− 閾値2
条件(1)は、ブロック2602内の5画素について、画素の値の差がないことを評価する。条件(2)は、ブロック2603内の5画素について、画素の値の差がないことを評価する。条件(3)は、ブロック2602内の画素の値の総和と、画素ブロック2603内の画素の値の総和と、を比較し、画素ブロック2603が画素ブロック2602に対して、画素の値が相対的に低いことを評価する。条件(1)〜(3)が全て満たされる場合には、画素ブロック2603は、暗い色の縦線を構成すると判定される。画素ブロック2603の領域が、平均的な輝度が低い複数の画素が連続する領域である場合に、条件(1)〜(3)は、満たされる。
【0096】
暗線判定部2503aは、以下の条件式を評価する。
(4)MAX(2604)− MIN(2604) ≦ 閾値1
(5)MAX(2603)− MIN(2603) ≦ 閾値1
(6)ALL(2603)≦ ALL(2604)− 閾値2
条件(4)は、ブロック2604内の5画素について、画素の値の差がないことを評価する。条件(5)は、ブロック2603内の5画素について、画素の値の差がないことを評価する。条件(6)は、ブロック2604内の画素の値の総和と、画素ブロック2603内の画素の値の総和と、を比較し、画素ブロック2603が画素ブロック2604に対して、画素の値が相対的に低いことを評価する。条件(4)〜(6)が全て満たされる場合には、画素ブロック2603は、暗い色の縦線を構成すると判定される。画素ブロック2603の領域が、平均的な輝度が低い複数の画素が連続する領域である場合に、条件(4)〜(6)は、満たされる。
【0097】
条件(1)〜(3)、または、条件(4)〜(6)を評価した結果、いずれか一方において、ブロック2603は暗い色の縦線を構成すると判定された場合には、暗線判定部2503aは、注目画素2601は、暗い色の縦線上に位置する暗線画素である、と判定する。
【0098】
図19は、図18(A)の線パターン2600を用いた判定の例を示す図である。図19(A)〜(C)には、線パターン2600に対応する縦5画素×横7画素領域内の判定信号(輝度値)2700、2710、2720が示されている。判定信号2700は、白地に暗い色の縦線がある部分の画像を示す。ハッチングされた複数個の画素は、縦線を構成している。説明の便宜上、判定信号が、0〜255の256階調の値を示す場合に、白の画素は、対応する判定信号の値が「255」であり、シングルハッチングされた画素は、対応する判定信号の値が「128」であり、クロスハッチングされた画素は、対応する判定信号の値が「0」であるとする。また、上記条件(1)〜(6)の閾値1は20であり、閾値2は200であるとする。
【0099】
判定信号2700に上記条件(1)〜(6)を適用して、真偽を判定した結果は、以下の通りである。
(1)MAX(2702)− MIN(2702) ≦ 閾値1
128−128 ≦ 20 → 真
(2)MAX(2703)− MIN(2703) ≦ 閾値1
0−0 ≦ 20 → 真
(3)ALL(2703)≦ ALL(2702)− 閾値2
0×5 ≦ 128×5 − 200 → 真
(4)MAX(2704)− MIN(2704) ≦ 閾値1
128−128 ≦ 20 → 真
(5)MAX(2703)− MIN(2703) ≦ 閾値1
0−0 ≦ 20 → 真
(6)ALL(2703)≦ ALL(2704)− 閾値2
0×5 ≦ 128×5 − 200 → 真
このように、条件(1)〜(3)がすべて真のため、注目画素は、暗い色の縦線上に位置する暗線画素であると判定される。また、条件(4)〜(6)もすべて真であるので、こちらの条件からも、注目画素は、暗い色の縦線上に位置する暗線画素であると判定される。
【0100】
図19(B)の判定信号2710は、白地に暗い色の横線がある部分の画像を示す。判定信号2710に上記条件(1)〜(6)を適用して、真偽を判定した結果は、以下の通りである。(1)偽、(2)偽、(3)偽、(4)偽、(5)偽、(6)偽
この結果、注目画素は、暗い色の縦線上に位置する暗線画素でないと判定される。
【0101】
図19(C)の判定信号2720は、白地に暗い色の斜め線がある部分の画像を示す。判定信号2720に上記条件(1)〜(6)を適用して、真偽を判定した結果は、以下の通りである。
(1)偽、(2)偽、(3)真、(4)偽、(5)偽、(6)真
この結果、注目画素は、暗い色の縦線上に位置する暗線画素でないと判定される。
【0102】
図20は、図18(B)〜(D)の線パターン2610〜2630を用いた判定の例を示す図である。図20(A)の判定信号2810は、白地に横線がある部分の画像を示す。図20(B)、(C)の判定信号2820、2830は、白地に斜め線がある部分の画像を示す。線パターン2610〜2630においても、注目画素2611、2621、2631は、線の延びる方向とは垂直な方向に並ぶ3個のブロックのうちの中央のブロック2613、2623、2633の中心に配置されている。そして、図20(A)〜(C)の例では、詳細は省略するが、注目画素は、いずれも暗線画素であると判定される。
【0103】
次に、明線判定部2503bについて説明する。明線判定部2503bは、暗線判定部2503aと同じく、図18(A)〜(D)に示す線パターンを用いて、注目画素が明線画素であるか否かを判定する。以下、線パターン2600を用いて、縦線についての判定方法を説明する。
【0104】
明線判定部2503bは、線パターン2600のブロック2602、2603、2604のそれぞれについて、判定信号2501によって示される値の総和(ALL)、最大値(MAX)、最小値(MIN)を算出する。すなわち、それぞれのブロックについて、ブロック内の画素の輝度値の総和、最大値、最小値が、算出される。
【0105】
明線判定部2503bは、以下の条件式を評価する。
(1)MAX(2602)− MIN(2602) ≦ 閾値1
(2)MAX(2603)− MIN(2603) ≦ 閾値1
(7)ALL(2603)≧ ALL(2602)+ 閾値2
条件(1)は、ブロック2602内の5画素について、画素の値の差がないことを評価する。条件(2)は、ブロック2603内の5画素について、画素の値の差がないことを評価する。条件(7)は、ブロック2602内の画素の値の総和と、画素ブロック2603内の画素の値の総和と、を比較し、画素ブロック2603が画素ブロック2602に対して、画素の値が相対的に高いことを評価する。条件(1)(2)(7)が全て満たされる場合には、画素ブロック2603は、明るい色の縦線を構成すると判定される。画素ブロック2603の領域が、平均的な輝度が高い複数の画素が連続する領域である場合に、条件(1)(2)(7)は、満たされる。
【0106】
明線判定部2503bは、以下の条件式を評価する。
(4)MAX(2604)− MIN(2604) ≦ 閾値1
(5)MAX(2603)− MIN(2603) ≦ 閾値1
(8)ALL(2603)≧ ALL(2604)+ 閾値2
条件(4)は、ブロック2604内の5画素について、画素の値の差がないことを評価する。条件(5)は、ブロック2603内の5画素について、画素の値の差がないことを評価する。条件(8)は、ブロック2604内の画素の値の総和と、画素ブロック2603内の画素の値の総和と、を比較し、画素ブロック2603が画素ブロック2604に対して、画素の値が相対的に高いことを評価する。条件(4)(5)(8)が全て満たされる場合には、画素ブロック2603は、明るい色の縦線を構成すると判定される。画素ブロック2603の領域が、平均的な輝度が高い複数の画素が連続する領域である場合に、条件(4)(5)(8)は、満たされる。
【0107】
条件(1)(2)(7)、または、条件(4)(5)(8)を評価した結果、いずれか一方において、ブロック2603は明るい色の縦線を構成すると判定された場合には、明線判定部2503bは、注目画素は、明るい色の縦線上に位置する明線画素である、と判定する。
【0108】
図21は、図18(A)の線パターン2600を用いた判定の例を示す図である。図21(A)〜(C)には、線パターン2600に対応する縦5画素×横7画素領域内の判定信号(輝度値)2700w、2710w、2720wが示されている。判定信号2700wは、黒地に明るい色の縦線がある部分の画像を示す。ハッチングの無い複数個の画素は、縦線を構成している。図19の例と同様に、判定信号が0〜255の256階調の値を示し、白の画素は、対応する判定信号の値が「255」であり、シングルハッチングされた画素は、対応する判定信号の値が「128」であり、クロスハッチングされた画素は、対応する判定信号の値が「0」であるとする。また、上記条件(1)(2)(7)(4)(5)(8)の閾値1は20であり、閾値2は200であるとする。
【0109】
判定信号2700に上記条件(1)(2)(7)(4)(5)(8)を適用して、真偽を判定した結果は、以下の通りである。
(1)MAX(2702w)− MIN(2702w) ≦ 閾値1
128−128 ≦ 20 → 真
(2)MAX(2703w)− MIN(2703w) ≦ 閾値1
255−255 ≦ 20 → 真
(7)ALL(2703w)≧ ALL(2702w)+ 閾値2
255×5 ≧ 128×5 + 200 → 真
(4)MAX(2704w)− MIN(2704w) ≦ 閾値1
128−128 ≦ 20 → 真
(5)MAX(2703w)− MIN(2703w) ≦ 閾値1
255−255 ≦ 20 → 真
(8)ALL(2703w)≧ ALL(2704w)+ 閾値2
255×5 ≧ 128×5 + 200 → 真
このように、条件(1)(2)(7)がすべて真のため、注目画素は、明るい色の縦線上に位置する明線画素であると判定される。また、条件(4)(5)(8)もすべて真であるので、こちらの条件からも、注目画素は、明るい色の縦線上に位置する明線画素であると判定される。
【0110】
図21(B)の判定信号2710wは、黒地に明るい色の横線がある部分の画像を示す。判定信号2710wに上記条件(1)(2)(7)(4)(5)(8)を適用して、真偽を判定した結果は、以下の通りである。(1)偽、(2)偽、(7)偽、(4)偽、(5)偽、(8)偽
この結果、注目画素は、明るい色の縦線上に位置する明線画素でないと判定される。
【0111】
図21(C)の判定信号2720wは、黒地に明るい色の斜め線がある部分の画像を示す。判定信号2720wに上記条件(1)(2)(7)(4)(5)(8)を適用して、真偽を判定した結果は、以下の通りである。
(1)偽、(2)偽、(7)真、(4)偽、(5)偽、(8)真
この結果、注目画素は、明るい色の縦線上に位置する明線画素でないと判定される。
【0112】
図22は、図18(B)〜(D)の線パターン2610〜2630を用いた判定の例を示す図である。図22(A)の判定信号2810wは、黒地に明るい色の横線がある部分の画像を示す。図22(B)、(C)の判定信号2820w、2830wは、黒地に明るい色の斜め線がある部分の画像を示す。図22(A)〜(C)の例では、詳細は省略するが、注目画素は、いずれも明線画素であると判定される。
【0113】
図23は、適応的スムージング処理部2401による平滑化の周波数特性2900の一例を示している。横軸は空間周波数特性を示し、縦軸はそれに対応する周波数応答を示す。高周波の帯域になればなるほど周波数応答が小さくなり、ある空間周波数以上(2902)では応答はない。このような平滑化の周波数特定を有する適応的スムージング処理部2401による処理を含む、網点内文字判定を行ったときの例を、図24を用いて説明する。
【0114】
図24は、網点内文字判定部1005による網点文字判定の例を示す図である。図24(A)の画像3000は、網点画像の一部を抽出したものである。この網点の出力線数は高く、図23に示すフィルタの周波数特性で言えば、空間周波数が2903の位置にあるような特性を持つ網点である。よって、網点画像3000に図23の空間周波数特性を持つフィルタにてフィルタ処理を施すと、網点の周期構造は消滅し、平滑化画像3010を得る。
【0115】
同じ線数の網点内に暗い色の文字がある場合を図24(B)で説明する。網点画像3020内には暗い色(例えば、黒色)の文字が印字されていて、この画像に対して適応的スムージング処理部2401による処理を実施すると、平滑化画像3030が得られる。網点部は平滑化されて網点の周期構造が消滅し、文字部は適応処理により平滑化が除外され、文字領域3031が明瞭に残る。この画像をエッジ強調部2402にてエッジ強調すると図24(C)の画像3040が得られる。画像3040では、文字のエッジ(具体的には、文字側のエッジ)が強調される。エッジ強調された画像を閾値判定部2403にて閾値判定処理すると、網点内文字信号3050を得る。黒い部分が網点内文字として判定された領域である。実施例では細い文字を例に示したため、文字全体を網点内文字として抽出している。図示しないが、文字サイズが大きくなると、文字全体ではなく、文字のエッジ部(輪郭)を抽出するようになる。
【0116】
図24(A)の例と同じ線数の網点内に明るい色の文字がある場合を図25(A)で説明する。網点画像3020w内には明るい色(例えば、白色)の文字が印字されていて、この画像に対して適応的スムージング処理部2401による処理を実施すると、平滑化画像3030wが得られる。網点部は平滑化されて網点の周期構造が消滅し、文字部は適応処理により平滑化が除外され、文字領域3031wが明瞭に残る。この画像をエッジ強調部2402にてエッジ強調すると図25(B)の画像3040wが得られる。画像3040wでは、文字のエッジ(具体的には、網点側のエッジ)が強調される。エッジ強調された画像を閾値判定部2403にて閾値判定処理すると、網点内文字信号3050wを得る。黒い部分が網点内文字として判定された領域である。網点内に、平滑化された網点領域よりも明るい文字が配置される場合、文字の輪郭を表すエッジ部として、網点領域側のエッジ部が抽出される。
【0117】
A−3−4.属性フラグ生成部1006の説明
属性フラグ生成部1006(図2)は、文字判定部1003から入力される文字判定信号と、網点判定部1004から入力される網点判定信号と、網点内文字判定部1005から入力される網点内文字判定信号と、に基づいて、画素ごとに属性フラグを生成する。生成される属性フラグは、次のようにして決定される。
(1)網点判定信号が「1」であり、かつ、文字判定信号が「0」であり、かつ、網点文字判定信号が「0」である場合には、属性フラグは「網点」を示す値に決定され、網点フラグ1008がONとなり、文字フラグ1007と網点内文字フラグ1009はOFFとなる。
(2)網点判定信号が「0」であり、かつ、文字判定信号が「1」である場合には、属性フラグは、「文字」を示す値に決定され、文字フラグ1007がONとなり、網点フラグ1008と網点内文字フラグ1009はOFFとなる。
(3)網点判定信号が「1」であり、かつ、網点内文字判定信号が「1」である場合には、属性フラグは、「網点内文字」を示す値に決定され、網点内文字フラグ1009がONとなり、文字フラグ1007と網点フラグ1008はOFFとなる。
(4)上記以外の場合には、属性フラグは、「自然画、写真画、階調画像」を示す値に決定され、文字フラグ1007と網点フラグ1008と網点内文字フラグ1009は全てOFFとなる。
【0118】
このように画素ごとの属性フラグを示すフラグデータが生成されるので、該フラグデータを用いることで、画素ごとの属性に応じて、エッジ強調量、色再現方法、画像形成方法などの種々の画像処理方法を制御することができる。
【0119】
A−3−5.印刷処理の説明
以上を踏まえて、具体的な印刷処理について説明する。上述したように、第2入力処理部104(図1)によってスキャンデータから生成される処理済データと、領域分離処理部103によって生成されるフラグデータとは、圧縮されてメインメモリ113に格納される。ここで説明するのは、圧縮済みの処理済画像データおよび圧縮済みのフラグデータ用いて実行される印刷処理である。
【0120】
データ復号部109は、印刷実行部140の印刷可能になったタイミングに合わせて、メインメモリ113に格納された圧縮済みの処理済画像データおよび圧縮済みのフラグデータを読出し、復号処理を行なう。復号された処理済画像データは、第2画像メモリ116に格納され、復号されたフラグデータについては、第2フラグメモリ115に格納される。
【0121】
出力処理部110は、第2画像メモリ116に格納された処理済画像データと、第2フラグメモリ115に格納されたフラグデータと、に基づいて、印刷データを生成し、印刷実行部140に出力する。
【0122】
図26は、出力処理部110の構成を示すブロック図である。第2画像メモリ116および第2フラグメモリ115に、印刷可能となる予め設定されたデータ量の処理済画像データおよびフラグデータが格納されると、該処理済画像データおよびフラグデータは、出力処理部110に転送される。
【0123】
第2画像メモリ114から転送された処理済画像データ(RGB画像データ)は、RGB→CMYK変換部601、602にて、CMYK画像データに変換される。CMYK画像データは、印刷に用いられる色材に対応する色成分を含む表色系、本実施例では、C(シアン)、M(マゼンタ)、Y(イエロ)、およびK(ブラック)の成分を含むCMYK表色系の色値(CMYK値とも呼ぶ)で、各画素の色を示す画像データである。RGB→CMYK変換部601と602の違いは、前者が文字画像用の変換を行い、後者が写真画、網点用の変換を行なう点である。
【0124】
通常、原稿中に印刷された文字の色は、黒単色か、白単色か、せいぜい数色の程度である。そこで実施例では、このRGB→YMCK変換部601は、予め定義された色(C、M、Y、K)のパターンのうち、最も近似する色に変換する。例えば、R≒G≒B≒0の場合には、着目画素が黒であると判定してよいので、C=M=Y=0、K=255というパターンに変換する。R≒G≒B≒255の場合には、着目画素が白であると判定してよいので、C=M=Y=K=0というパターンに変換する。RGB→YMCK変換部601は、入力したR、G、Bが8ビットで表現されている場合、それぞれの上位数ビット(2ビット程度で良いであろう)を入力し、CMYK(各8ビット)のデータを出力するルックアップテーブル(LUT)を用いて行われる。
【0125】
RGB→YMCK変換部602は、高い精度でRGB→YMCKへの変換を行なう。この変換は、例えば、マトリクス演算で行われる。あるいは、RGBの計24ビットアドレス入力、YMCKの32ビット出力のLUTを用いて行われる。
【0126】
合成部603は、第2フラグメモリ115からの転送されるフラグデータに基づき、上記2つの変換部601、602から出力されるCMYK画像データを合成する。具体的には、フラグデータに含まれる注目画素の属性フラグが「文字」を示す場合には、RGB→CMYK変換部601から出力された注目画素のCMYK値を選択し、出力する。また、注目画素の属性フラグが、「自然画」、または、「網点」を示す場合には、RGB→CMYK変換部602から出力された注目画素のCMYK値を選択し、出力する。そして、注目画素の属性フラグが、「網点内文字」を示す場合には、2つの変換部601、602から出力される2個のCMYK値を、所定の重みに従って合成して得られる値(例えば、平均値)を生成し、出力する。
【0127】
合成部603から出力された各画素のCMYK値を示す信号は、フィルタ処理部604〜606に供給される。これらフィルタ処理部604〜606は、内部に数ライン分のバッファを有し、2次元フィルタ処理を行なう。フィルタ処理部604〜606の違いは、フィルタ処理のエッジ強調の度合を決定する係数が異なる点である。
【0128】
フィルタ処理部604は、「文字」に適したフィルタ処理を行なう。フィルタ処理部605は、「網点内文字」に適したフィルタ処理を行なう。フィルタ処理部606は、「写真画」又は「網点」に適したフィルタ処理を行なう。各フィルタ処理部のエッジ強調の度合は、フィルタ処理部604>フィルタ処理部605>フィルタ処理部606の順である。ただし、上記エッジ強調の度合は一例に過ぎず、必ずしもこれに限るものではない。
【0129】
上記は、平滑化処理の強度が、フィルタ処理部604<フィルタ処理部605<フィルタ処理部606の順であると言い換えることもできる。
【0130】
セレクタ607は、注目画素の属性フラグが「文字」を示す場合に、フィルタ処理部604から出力された処理済みのCMYK値を選択し、出力する。セレクタ607は、注目画素の属性フラグが「網点内文字」を示す場合に、フィルタ処理部605からから出力された処理済みのCMYK値を選択し、出力する。セレクタ607は、注目画素の属性フラグが「写真」又は「網点」を示す場合に、フィルタ処理部606からから出力された処理済みのCMYK値を選択し、出力する。
【0131】
セレクタ607から出力された処理済みのCMYK値は、ガンマ補正部608、610に入力される。ガンマ補正部608は、「文字」、「網点内文字」に適した補正を行ない、ガンマ補正部610は「網点」、「写真画」に適した補正を行なう。
【0132】
ガンマ補正部608から出力される補正済みのCMYK値は、誤差拡散処理部609に入力される。誤差拡散処理部609は、入力されるCMYK値を、誤差拡散法に従うハーフトーン処理によって、ドットの形成状態を示すドット値に変換し、出力する。文字の場合には、印刷時に生成されるドットが分散されにくいことが望ましいので、ハーフトーン処理には、誤差拡散法が用いられることが好ましい。
【0133】
ガンマ補正部610から出力される補正済みのCMYK値は、ディザ処理部611に入力される。ディザ処理部611は、入力されるCMYK値を、ディザマトリクスを用いるディザ法に従うハーフトーン処理によって、ドットの形成状態を示すドット値に変換し、出力する。写真画、網点の場合には、階調性が重視されるので、ハーフトーン処理には、ディザ法が用いられることが好ましい。
【0134】
セレクタ612は、注目画素の属性フラグが「文字」または「網点内文字」を示す場合には、誤差拡散処理部609から出力されるドット値を選択し、印刷実行部140に出力する。また、セレクタ612は、注目画素の属性フラグが「写真」または「網点」を示す場合には、ディザ処理部611から出力されるドット値を選択し、印刷実行部140に出力する。
【0135】
以上のように、文字、網点、および、網点内文字の領域を適切に抽出することで、その属性に応じた画像処理を実施可能となる。従って、文字は鮮明に、写真は滑らかな再現をすることが可能となる。特に、網点を含む原稿内で、網点と文字とを識別し、文字に平滑化処理を施すことなく、網点を平滑化することが可能なため、好適なモアレ除去が可能となる。その結果、網点を含む原稿内の写真にはスムージング処理を施し、モアレ除去した上でディザ処理を実施することで階調性の高い画像を印刷できる。また、網点を含む原稿内の文字には、エッジ強調処理を施した上で誤差拡散系の処理を実施することで、くっきりとした読みやすい文字を印刷できる。
【0136】
また、以上説明した第1実施例によれば、第1入力処理部102(図1)は、処理対象の入力画像を表す入力画像データであるスキャンデータを取得する。そして、領域分離処理部103(図2)の輝度データ取得部1002は、第1入力処理部102からの画像データを用いて、複数の画素のそれぞれの明るさの度合いである複数個の輝度値を含む輝度画像データを取得する。網点内文字判定部1005(図16)の適応的スムージング処理部2401は、輝度データ取得部1002からの輝度画像データを用いて、注目画素が、複数の画素が連続する第1種の特定領域に含まれるか否かと、注目画素が、複数の画素が連続する第2種の特定領域に含まれるか否かを判断する(ここで、第1種の特定の領域の明るさは、第2種の特定の領域の明るさと比べて、暗い)。具体的には、適応的スムージング処理部2401(図17)の暗線判定部2503aは、図18図20で説明したように、注目画素が、図19(A)のブロック2703や、図20(A)〜図20(C)のブロック2813、2823、2833のように、低輝度の複数の画素が連続する特定の領域に含まれるか否かを判断する(第1種の特定領域の例である)。また、適応的スムージング処理部2401(図17)の明線判定部2503bは、図18図21図22で説明したように、注目画素が、図21(A)のブロック2703wや、図22(A)〜図22(C)のブロック2813w、2823w、2833wのように、高輝度の複数の画素が連続する特定の領域に含まれるか否かを判断する(第2種の特定領域の例である)。また、適応的スムージング処理部2401(図17)の平滑化処理部2502とセレクタ2504とは、第1種の特定領域に含まれると判断される画素(ここでは、暗線画素)の輝度値と第2種の特定領域に含まれると判断される画素(ここでは、明線画素)の輝度値とを平滑化せずに、第1種の特定領域に含まれると判断されず、かつ、第2種の特定領域に含まれると判断されない画素の輝度値を平滑化することによって、平滑化信号である適応的スムージング信号2505(平滑化データとも呼ぶ)を生成する。そして、網点内文字判定部1005(図16)のエッジ強調部2402と閾値判定部2403とは、適応的スムージング処理部2401からの平滑化データを用いて、入力画像内のエッジを表すエッジ画素を検出する。
【0137】
このように、第1種の特定領域に含まれると判断される画素(ここでは、暗線画素)の輝度値と、第2種の特定領域に含まれると判断される画素(ここでは、明線画素)の輝度値と、を平滑化せずに、エッジ画素が検出されるので、明るい背景中に暗い色(すなわち、低輝度の色)で表される文字のエッジを表す画素と、暗い背景中に明るい色(すなわち、高輝度の色)で表される文字のエッジを表す画素と、の両方を、適切に検出できる。
【0138】
また、本実施例では、暗線判定部2503aは、暗線画素を検出するための条件として、上記の条件(1)〜(3)と条件(4)〜(6)とを用い、明線判定部2503bは、明線画素を検出するための条件として、上記の条件(1)(2)(7)と条件(4)(5)(8)とを用いる。これらの条件を用いる場合、図19(A)のブロック2703と、図21(A)のブロック2703wとのように、暗線画素が属する第1種の特定領域としては、複数の画素が連続する領域であって、明線画素が属する第2種の特定領域と比べて明るさが暗い領域を用いることができ、第2種の特定領域としては、複数の画素が連続する領域であって、第1種の特定領域と比べて明るさが明るい領域を用いることができる。なお、暗線判定部2503aによって検出される複数の暗線画素が連続する領域は、暗線画素を含む第1種の特定領域の少なくとも一部に相当し、明線判定部2503bによって検出される複数の明線画素が連続する領域は、明線画素を含む第2種の特定領域の少なくとも一部に相当する。複数の暗線画素が連続する領域の平均的な輝度が、複数の明線画素が連続する領域の平均的な輝度と比べて低い場合、第1種の特定領域は、第2種の特定領域と比べて明るさが暗い領域であると言え、第2種の特定領域は、第1種の特定領域と比べて明るさが明るい領域であると言える。
【0139】
なお、通常は、明るい背景中に暗い色で文字が表される場合が多く、暗い背景中に明るい色で文字が表される場合は少ない。しかし、ユーザは、画像処理の品質を評価する場合には、暗い背景中に明るい色で文字が表される場合の画質も、明るい背景中に暗い色で文字が表される場合の画質と同様に、重要視し得る。従って、本実施例のように、明るい背景中に暗い色で表される文字のエッジと、暗い背景中に明るい色で表される文字のエッジと、の両方を検出して画像処理に利用することによって、高画質な画像処理を実現できる。
【0140】
B.第2実施例:
図27は、第1種の特定領域の画素と第2種の特定領域の画素とを検出する処理の別の実施例を示すフローチャートである。この処理は、適応的スムージング処理部2401(図17)の暗線判定部2503aと明線判定部2503bとによって行われる。上記の第1実施例との差異は、互いに異なる太さの線に対応付けられた複数のフィルタが用いられる点である。第1実施例では、図18に示すように、複数のフィルタ(具体的には、複数の線パターン2600〜2630)の間で、線の延びる方向が異なるものの、線の太さはおおよそ同じである。この場合、入力画像に含まれる線の太さによっては、図18図22の実施例では、適切な判定ができない場合がある。例えば、太い線分上の注目画素は、図18(A)〜(D)に示すいずれのフィルタによっても、線画素(暗線画素、または、明線画素)であると判定されない場合がある。そこで、第2実施例では、暗線判定部2503aと明線判定部2503bとは、互いに異なる太さの線に対応付けられた複数のフィルタを用いる。
【0141】
図28は、複数のフィルタの例を示す説明図である。図28(A)は、線幅Wdが1画素であるフィルタ2660を示し、図28(B)は、線幅Wdが2画素であるフィルタ2670を示し、図28(C)は、線幅Wdが3画素であるフィルタ2680を示し、図28(D)は、線幅Wdが4画素であるフィルタ2690を示している。これらのフィルタ2660〜2690は、いずれも、図18(A)の線パターン2600と同様に、縦線について判定するための線パターンを示している。
【0142】
図28(A)のフィルタ2660は、縦19画素×横1画素の3個のブロック2662、2663、2664を含む。これらのブロック2662、2663、2664は、線幅Wdと同じ幅の隙間をあけて、横方向に並んで配置されている。注目画素2661は、中央のブロック2663の中心に配置されている。
【0143】
同様に、図28(B)のフィルタ2670は、縦19画素×横2画素の3個のブロック2672、2673、2674を含む。図28(C)のフィルタ2680は、縦19画素×横3画素の3個のブロック2682、2683、2684を含む。図28(D)のフィルタ2690は、縦19画素×横4画素の3個のブロック2692、2693、2694を含む。いずれのフィルタ2670〜2690においても、3個のブロックは、線幅Wdと同じ幅の隙間をあけて、横方向に並んで配置されている。そして、注目画素2671、2681、2691は、中央のブロック2673、2683、2693の中心に配置されている(線幅Wdが偶数である場合、注目画素は、ブロックの中心の左側の画素位置に配置されている)。
【0144】
図示を省略するが、利用可能な複数のフィルタは、図18(B)〜図18(D)のフィルタ2610〜2630と同様に、横線について判定するための線パターンを示すフィルタと、2つの方向の斜め線について判定するための2種類の線パターンを示すフィルタと、を含んでいる。そして、線の延びる方向が互いに異なる4種類のフィルタのそれぞれとしては、互いに線幅が異なる複数のフィルタを利用可能である。いずれのフィルタにおいても、3個のブロックは、ブロックの延びる方向に垂直な方向に、線幅と同じ幅の隙間をあけて、並んで配置される。そして、注目画素は、中央のブロックの中心に配置される。
【0145】
暗線判定部2503a(図17)と明線判定部2503bとは、図18のフィルタ2600〜2630を用いる場合と同様に、各フィルタを用いて、注目画素が線画素であるか否かを判断する。暗線判定部2503aは、上記の条件(1)〜(3)と条件(4)〜(6)を、各フィルタの3個のブロック(例えば、図28のフィルタ2660の3個のブロック2662、2663、2664)に適用することによって、評価し、注目画素が、暗い色の線上に位置する暗線画素であるか否かを判断する。同様に、明線判定部2503bは、上記の条件(1)(2)(7)と条件(4)(5)(8)を評価することによって、注目画素が、明るい色の線上に位置する明線画素であるか否かを判断する。各条件の閾値1と閾値2とは、適切な判断ができるように、予め実験的に決定されてよい。
【0146】
暗線判定部2503a(図17)と明線判定部2503bとは、図27の手順に従って、注目画素が線画素であるか否かを判断する。図27の例では、暗線判定部2503aと明線判定部2503bとが、協働して、線切替信号を出力することとしている。図中において、符号2503aが付された枠で囲まれる処理は、暗線判定部2503aの処理を示し、符号2503bが付された枠で囲まれる処理は、明線判定部2503bの処理を示している。S190、S195は、暗線判定部2503aと明線判定部2503bとのいずれかによって、実行され得る。なお、暗線判定部2503aと明線判定部2503bとは、第1実施例と同様に、独立に、暗線切替信号と明線切替信号とを出力してもよい。
【0147】
S100では、暗線判定部2503aは、線切替フラグをオフに初期化する。S105では、暗線判定部2503aは、現行の線幅Wdを、利用可能なフィルタの線幅Wdのうちの最小値(ここでは、1)に初期化する。S110では、暗線判定部2503aは、現行の線幅Wdに対応付けられたフィルタを選択する。上述したように、本実施例では、1つの線幅Wdに、線の延びる方向が異なる4個のフィルタが対応付けられている。S110では、4個のフィルタが選択される。S115では、暗線判定部2503aは、S110で選択した4個のフィルタを用いて、フィルタ毎に、注目画素が暗線画素であるか否かを判断する。S120では、暗線判定部2503aは、4個のフィルタのうちの少なくとも1つのフィルタによって注目画素が暗線画素であると判断されたか否かを判断する。
【0148】
少なくとも1つのフィルタによって注目画素が暗線画素であると判断された場合(S120:Yes)、S190で、暗線判定部2503aは、線切替フラグをオンに設定する。S195では、暗線判定部2503aは、線切替フラグに対応付けられた線切替信号(ここでは、「1」の線切替信号)を、セレクタ2504に対して、出力する。そして、図27の処理が、終了する。
【0149】
4個のフィルタのいずれを用いても、注目画素が暗線画素であると判断されなかった場合(S120:No)、S125で、暗線判定部2503aは、利用可能な全ての線幅Wdの処理が終了したか否かを判断する。図27の例では、現行の線幅Wdが、利用可能なフィルタの線幅Wdの最大値WdMax以上であるか否かが、判断される。本実施例では、図28で説明したように、最大値WdMaxは、4である。
【0150】
未処理の線幅Wdが残っている場合(S125:No)、S130で、暗線判定部2503aは、現行の線幅Wdを、1段階大きい線幅Wdに更新する(本実施例では、線幅Wdに1が加算される)。そして、暗線判定部2503aは、S110へ移行し、更新済の線幅Wdの処理を実行する。
【0151】
全ての線幅Wdの処理が終了した場合(S125:Yes)、処理は、S155へ移行する。
【0152】
S155では、明線判定部2503bは、現行の線幅Wdを、明線用の初期値Wdiwに初期化する。明線用の初期値Wdiwは、暗線用の初期値(ここでは、1)よりも、大きい値に設定されている。明線判定部2503bは、この明線用の初期値Wdiw未満の線幅Wdのフィルタを用いずに、初期値Wdiw以上の線幅Wdのフィルタを利用して、判断を行う。この理由は、以下の通りである。明るい色の線の幅が細い場合には、印刷済の画像において、線の周囲の暗い色の下地を表す色材の滲みや位置ズレなどに起因して、細い線が潰れ易い。細い線が潰れると、その線の視認性が低下するので、網点内文字のための画像処理の画質改善の効果が低くなる。一方、暗い色の線の幅が細い場合は、印刷済の画像において、暗い色の線を表す色材の滲みや位置ズレが生じる場合であっても、その線を容易に視認できる。従って、網点内文字のための画像処理の画質改善の効果が高い。以上により、暗線用の処理で用いられるフィルタの最小の線幅Wd(ここでは、1)は、明線用の処理で用いられるフィルタの最小の線幅Wdiwよりも、小さい。
【0153】
S160では、明線判定部2503bは、現行の線幅Wdに対応付けられたフィルタを選択する。S160は、S110と同様に、行われる。S165では、明線判定部2503bは、S160で選択した4個のフィルタを用いて、フィルタ毎に、注目画素が明線画素であるか否かを判断する。S170では、明線判定部2503bは、4個のフィルタのうちの少なくとも1つのフィルタによって注目画素が明線画素であると判断されたか否かを判断する。
【0154】
少なくとも1つのフィルタによって注目画素が明線画素であると判断された場合(S170:Yes)、S190で、明線判定部2503bは、線切替フラグをオンに設定する。S195では、明線判定部2503bは、線切替フラグに対応付けられた線切替信号(ここでは、「1」の線切替信号)を、セレクタ2504に対して、出力する。そして、図27の処理が、終了する。
【0155】
4個のフィルタのいずれを用いても、注目画素が明線画素であると判断されない場合(S170:No)、S175で、明線判定部2503bは、利用可能な全ての線幅Wdの処理が終了したか否かを判断する。具体的には、現行の線幅Wdが、利用可能なフィルタの線幅Wdの最大値WdMax以上であるか否かが、判断される。
【0156】
未処理の線幅Wdが残っている場合(S175:No)、S180で、明線判定部2503bは、現行の線幅Wdを、1段階大きい線幅Wdに更新する(本実施例では、線幅Wdに1が加算される)。そして、明線判定部2503bは、S160へ移行し、更新済の線幅Wdの処理を実行する。
【0157】
全ての線幅Wdの処理が終了した場合(S175:Yes)、S195で、明線判定部2503bは、線切替フラグに対応付けられた線切替信号(ここでは、「0」の線切替信号)を、セレクタ2504に対して、出力する。そして、明線判定部2503bは、図27の処理を終了する。
【0158】
なお、本実施例では、セレクタ2504(図17)は、暗線判定部2503aと明線判定部2503bとのいずれか一方からS195で出力される線切替信号を受信する。そして、セレクタ2504は、線切替信号が「1」である場合、すなわち、暗線判定部2503aにて注目画素が暗線画素であると判定されたときと、明線判定部2503bにて注目画素が明線画素であると判定されたときと、のそれぞれにおいて、フィルタ処理されない判定信号2501を出力する。セレクタ2504は、線切替信号が「0」である場合、すなわち、注目画素が暗線画素と明線画素とのいずれでもないと判定されたときは、平滑化信号を出力する。
【0159】
図29は、明線用の初期値Wdiw(すなわち、利用可能なフィルタ)を決定する処理の説明図である。図29(A)は、決定処理のフローチャートを示している。S200では、線幅Wdが互いに異なる複数のフィルタのそれぞれに対応するテストパターンデータが生成される。図29(B)〜図29(E)は、テストパターンデータによって表されるテストパターンの例を示す説明図である。図29(B)〜図29(E)は、それぞれ、Wd=1、2、3、4のためのテストパターンTP1、TP2、TP3、TP4を、示している。各テストパターンTP1〜TP4は、黒色の下地BGと白色の縦線WL1〜WL4とを、それぞれ表している。白縦線WL1〜WL4は、対応する線幅Wdの白縦線を表すデータで、表されている。例えば、Wd=1のためのテストパターンTP1の白縦線WL1は、線幅が1である白縦線を表すデータによって、表される。テストパターンデータの生成方法としては、任意の方法を採用可能である。本実施例では、図示しないコンピュータが、プログラムに従って、テストパターンデータを生成する。
【0160】
S210では、複合機100の制御部120は、テストパターンデータを用いて、印刷実行部140に、テストパターンTP1〜TP4を印刷させる。S220では、ユーザは、印刷されたテストパターンTP1〜TP4を目視で観察することによって、白線を識別できるか否かを判断する。上述したように、印刷される白線の線幅が小さい場合、色材の滲みなどに起因して、白線が潰れ得る。細い白線が潰れる場合、ユーザは、白線を識別できない。そして、ユーザは、識別可能な白線のうち、最も細い白線を特定する。特定された白線に対応付けられた線幅Wdを、最小幅Wminと呼ぶ。
【0161】
S230では、明線用の初期値Wdiwが、最小幅Wminに設定される。設定された最小幅Wminを表すデータは、明線判定部2503b(図17)に、組み込まれる(例えば、最小幅Wminを表すデータは、明線判定部2503bの図示しない不揮発性メモリに書き込まれる)。そして、図29(A)の処理は終了する。これにより、明線判定部2503bは、印刷される場合に識別可能な明るい色の線の画素を、適切に、検出できる。
【0162】
以上のように、第2実施例では、暗線判定部2503aと明線判定部2503bとは、線を表す画素を検出するためのフィルタであって、互いに異なる太さの線に対応付けられた複数のフィルタを用いて、注目画素が、線を表す特定領域に含まれるか否かを判断する。従って、種々の太さの線で表される文字のエッジを表す画素を、適切に、検出できる。
【0163】
また、明線用の線幅Wdの初期値Wdiwは、暗線用の線幅Wdの初期値(ここでは、1)よりも、大きい。従って、暗線判定部2503aによって利用され得るフィルタの総数Pは、明線判定部2503bによって利用され得るフィルタの総数Qよりも、多い(本実施例では、総数P=16(線幅Wdの総数4×線の方向の種類数4)、総数Qは、1以上、Pとは異なる整数)。これにより、低輝度の画素が連続する線で表される細い文字のエッジを、適切に検出できる。また、高輝度の画素が連続する線で表される文字のエッジも、適切に検出できる。
【0164】
また、暗線判定部2503aによって用いられる複数のフィルタに対応付けられる複数の線のうちの最も細い線の線幅Wd(ここでは、1)は、明線判定部2503bによって用いられる複数のフィルタに対応付けられる複数の線のうちの最も細い線の線幅Wdiwよりも、細い。従って、低輝度の画素が連続する細い線で表される文字のエッジを、適切に、検出できる。
【0165】
また、領域分離処理部103(図1)と第2入力処理部104と出力処理部110とは、第1入力処理部102によって取得された入力画像データに、領域分離処理部103の網点内文字判定部1005(図16)によって検出されたエッジ画素を用いる画像処理を行うことによって、印刷用の画像データである印刷データを生成する。そして、出力処理部110は、生成された印刷データを、印刷実行部140に供給する。ここで、図29(A)で説明したように、明線用の複数のフィルタに対応付けられる複数種類の線のうちの最も細い線の線幅Wdiwは、印刷実行部140によって利用される色材の滲み特定に基づいて、予め決定されている。従って、印刷実行部140によって利用される色材の滲み特性に適した太さの線で表される文字のエッジを、検出できる。
【0166】
C.変形例:
(1)暗線判定部2503a(図17)によって注目画素が第1種の特定領域(比較的暗い領域)に含まれると判断されるための条件は、上述した条件(1)〜(3)と条件(4)〜(6)とに限らず、種々の条件であってよい。同様に、明線判定部2503bによって注目画素が第2種の特定領域(比較的明るい領域)に含まれると判断されるための条件は、上述した条件(1)(2)(7)と条件(4)(5)(8)とに限らず、種々の条件であってよい。例えば、注目画素が第1種の特定領域に含まれると判断されるための条件は、注目画素を含む画素ブロック(例えば、図18(A)のブロック2603)の輝度値の平均値が、予め決められた第1閾値(例えば、128)よりも小さいこと、を含んでもよい。同様に、注目画素が第2種の特定領域に含まれると判断されるための条件は、注目画素を含む画素ブロック(例えば、図18(A)のブロック2603)の輝度値の平均値が、予め決められた第2閾値(例えば、128)よりも大きいこと、を含んでもよい(第2閾値は、第1閾値以上)。
【0167】
一般的には、注目画素が第1種の特定領域に含まれると判断するための条件(暗領域条件と呼ぶ)は、第2種の特定領域と比べて平均的な輝度が低い複数の画素が連続する領域である第1種の特定領域に注目画素が含まれることを示す種々の条件であってよい。そして、注目画素が第2種の特定領域に含まれると判断するための条件(明領域条件と呼ぶ)は、第1種の特定領域と比べて平均的な輝度が高い複数の画素が連続する領域である第2種の特定領域に注目画素が含まれることを示す種々の条件であってよい。例えば、暗領域条件と明領域条件としては、第1種の特定領域における輝度値の平均が第2種の特定領域における輝度値の平均よりも暗くなるように構成された種々の条件を、採用してよい。
【0168】
(2)暗線判定部2503aによって利用され得る1以上のフィルタと、明線判定部2503bによって利用され得る1以上のフィルタとしては、図18図27図29で説明したフィルタに代えて、他の種々のフィルタであってよい。例えば、1個のフィルタに含まれる3個のブロック(例えば、図28(A)の3個のブロック2662、2663、2664)の間隔は、各ブロックの幅と異なっていてもよい。一般的には、フィルタとしては、特定の太さの線を表す画素を検出することが可能な種々のフィルタ、すなわち、特定の太さの線を表す領域に含まれる画素を検出することが可能な種々のフィルタを、採用可能である。
【0169】
また、明線判定部2503bによって利用され得るフィルタの総数Qは、暗線判定部2503aによって利用され得るフィルタの総数Pと同じであってよく、これに代えて、総数Pとは異なる任意の整数であってよい。ここで、P>Qであってもよく、P<Qであってもよい。
【0170】
また、暗線判定部2503aによって利用され得る暗線用の1以上のフィルタの最小の線幅が、明線判定部2503bによって利用され得る明線用の1以上のフィルタの最小の線幅よりも太くてもよい。また、明線判定部2503bによって利用され得る1以上のフィルタの最小の線幅は、色材の滲み特性とは独立に決定されてもよい。
【0171】
また、フィルタとしては、特定の方向に延びる線状の領域と、その線状の領域を挟む両側の領域の少なくとも一方と、の間に輝度値の差が生じているか否かを判断するための、種々のフィルタを採用してよい。
【0172】
なお、暗線判定部2503aは、そのようなフィルタを用いずに、注目画素が第1種の特定領域に含まれるか否かを判断してもよい。例えば、暗線判定部2503aは、輝度画像データを解析することによって輝度値が所定の暗閾値未満である画素が連続する領域を特定し、特定された領域を第1種の特定領域として採用してもよい。同様に、明線判定部2503bは、そのようなフィルタを用いずに、注目画素が第2種の特定領域に含まれるか否かを判断してもよい。例えば、明線判定部2503bは、輝度画像データを解析することによって輝度値が所定の明閾値を超える画素が連続する領域を特定し、特定された領域を第2種の特定領域として採用してもよい(ここで、明閾値は、暗閾値以上)。
【0173】
(3)上記各実施例では、処理済画像データは、印刷実行部140によって、処理済画像を印刷するために用いられている(図26)。これに限らず、処理済画像データは、処理済画像を液晶ディスプレイなどの表示部に表示するために用いられても良い。
【0174】
(4)上記各実施例では、入力信号1001(図1)は、RGB値である。これに代えて、他の表色系の色値が用いられても良い。例えば、スキャンデータの各画素の値は、CMY表色系の色値に変換された後に、入力信号1001として、領域分離処理部103に入力されても良い。
【0175】
(5)上記各実施例の領域分離処理部103に含まれる各部、例えば、文字判定部1003、網点判定部1004、網点内文字判定部1005が実行する具体的な処理は、一例であり、適宜に変更される。例えば、図3のエリア積算部1105、1106が用いる縦3画素×横3画素の周辺範囲は、他のサイズの範囲、例えば、縦3画素×横5画素あるいは縦5画素×横5画素の範囲であっても良い。また、図12の積算処理部1209は、3種類の積算範囲を用いているが、これらの積算範囲のサイズや種類数は、適宜に変更され得る。また、閾値判定部1211が、積算結果を判定するための閾値は、用いる積算範囲のサイズ等によって適宜に調整される。図12の総合判定部1213が、これらの閾値判定部1211によって積算範囲ごとに出力される複数個の判定結果を用いて、網点判定信号を生成する際には、例えば、論理和、論理積の論理演算を、どのように組み合わせるかは、適宜に変更され得る。
【0176】
(6)出力処理部110が、印刷データを生成する処理(図26)は、一例であり適宜に変更され得る。例えば、出力処理部110は、ハーフトーン処理として、誤差拡散法、ディザ法を採用する例を示したがこれに限られない。例えば、誤差拡散法のみを用いる場合、文字(網点内文字を含む)と写真(網点を含む)とでは、前者の誤差拡散マトリクスサイズを小さくし、後者の誤差拡散マトリクスサイズを大きくすることが好ましい。また、ディザ処理のみを用いる場合には、文字と写真とで異なるディザマトリクスパターンを採用しても良い。また、ハーフトーン処理の方法として、これ以外の方法を採用しても構わない。
【0177】
(7)上記実施例では、入力画像データは、スキャンデータであるが、これに限られない。入力画像データは、印刷物などの原稿を、2次元イメージセンサを備えるデジタルカメラによって光学的に撮影して生成される撮像画像データであっても良い。また、ワードプロセッサなどのアプリケーションプログラムを用いて生成された画像データであってもよい。
【0178】
(8)エッジ強調部2402と閾値判定部2403とによって検出されるエッジ画素は、任意の処理に利用されてよい。例えば、エッジを表すエッジ画像データの生成に利用されてもよい。
【0179】
(9)図1の複合機100が実行する処理、例えば、領域分離処理部103や第2入力処理部104や出力処理部110が実行する処理の全部または一部は、複合機100に限らず、種々の装置によって実行されても良い。例えば、スキャナやデジタルカメラが、自身で生成された入力画像データを用いて、領域分離処理部103や第2入力処理部104が実行する処理を実行しても良い。また、例えば、スキャナやプリンタと通信可能な接続される端末装置(図示省略)やサーバ(図示省略)が、スキャナから取得したスキャンデータを用いて、領域分離処理部103や第2入力処理部104および出力処理部110が実行する処理を実行しても良い。そして、その結果生成される印刷データがプリンタに供給されても良い。また、ネットワークを介して互いに通信可能な複数個のコンピュータ(例えば、クラウドサーバ)が、領域分離処理部103や第2入力処理部104および出力処理部110が実行する処理を一部ずつ分担して、全体として、画像処理を実行してもよい。この場合、複数個のコンピュータの全体が、画像処理装置の例である。
【0180】
なお、上記各実施例では、領域分離処理部103や第2入力処理部104および出力処理部110が実行する処理の全部または一部は、これらのハードウエア回路によって実行されるが、CPUであるメインプロセッサ101によって実行されても良い。この場合には、領域分離処理部103や第2入力処理部104や出力処理部110が実行する処理のうち、メインプロセッサ101が実行する処理のためのプログラムは、コンピュータプログラムPGに含まれる。例えば、第1実施例では、メインプロセッサ101は、領域分離処理部103によって実行される輝度画像データを生成する処理と、輝度画像データを用いて、注目画素が、第1種の特定領域に含まれるか否かを判断する処理と、輝度画像データを用いて、注目画素が、第2種の特定領域に含まれるか否かを判断する処理と、判断結果を用いて輝度画像データを平滑化することによって平滑化データを生成する処理と、平滑化データを用いて、入力画像内のエッジを表すエッジ画素を検出する処理と、を、コンピュータプログラムPGを実行することによって、実現しても良い。
【0181】
このように、上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。
【0182】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0183】
100…複合機、101…メインプロセッサ、102…第1入力処理部、103…領域分離処理部、104…第2入力処理部、106…インタープリタ、107…データ圧縮部、108…解像度変換部、109…データ復号部、110…出力処理部、111…第1画像メモリ、112…第1フラグメモリ、113…メインメモリ、114…第2画像メモリ、115…第2フラグメモリ、116…第2画像メモリ、117…不揮発性メモリ、120…制御部、130…読取実行部、140…印刷実行部、200…複合機、601…変換部、603…合成部、604…フィルタ処理部、604…フィルタ処理部、605…フィルタ処理部、606…フィルタ処理部、607…セレクタ、608…ガンマ補正部、609…誤差拡散処理部、610…ガンマ補正部、611…ディザ処理部、612…セレクタ、1001…入力信号、1002…輝度データ取得部、1003…文字判定部、1004…網点判定部、1005…網点内文字判定部、1006…属性フラグ生成部、1007…文字フラグ、1008…網点フラグ、1009…網点内文字フラグ、1102…エッジ強調部、1103…閾値判定部、1104…閾値判定部、1105…エリア積算部、1106…エリア積算部、1107…閾値判定部、1108…閾値判定部、1109…総合判定部、1110…文字判定信号、1202…エッジ強調部、1203…閾値判定部、1204…閾値判定部、1205…孤立量判定部、1206…孤立量判定部、1209…積算処理部、1211…閾値判定部、1213…総合判定部、1215…網点判定信号、1302…外エッジ領域、1303…内エッジ領域、1304…領域、1305…領域、1306…領域、1501…エッジ境界部、1502…文字、1503…下地、1504…輝度画像データ、1507…エッジ抽出データ、1510…断面、1601…網点エッジ境界部、1601…エッジ境界部、1602…網点、1603…下地、1604…輝度画像データ、1607…エッジ抽出データ、1610…断面、1700…内エッジ信号、1710…判定パターン、1712…黒画素、1713…白画素、1810…内エッジ信号、1820…内エッジ信号、1830…内エッジ信号、1840…内エッジ信号、2011…第1積算部、2012…第2積算部、2013…第3積算部、2021…第1判定部、2022…第2判定部、2023…第3判定部、2101…注目画素、2102…積算範囲、2103…積算範囲、2104…積算範囲、2205…エッジ、2401…適応的スムージング処理部、2402…エッジ強調部、2403…閾値判定部、2501…判定信号、2502…平滑化処理部、2503a…暗線判定部、2503b…明線判定部、2504…セレクタ、2505…適応的スムージング信号、PG…コンピュータプログラム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29