以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
<第1の実施形態>
図1は、実施形態における画像処理装置のブロック構成図である。本実施形態では、ネットワークプリンタとしても機能する複写機(複合機)に適用した例を説明する。以下、図1の各部の処理の概要を以下に説明する。
操作者は、複写すべき原稿をスキャナ部101の図示しないADF(Auto Document Feeder)部にセットし、複写の開始指示を不図示の操作部にて指示する。この結果、ADF部は、原稿を1枚単位にスキャナ部101に設けられた原稿載置台ガラス上に搬送し、読取りを行なう。スキャナ部101は、カラー画像を読取るためのR、G、Bの3ラインCCDにより原稿画像を読み取って、R、G、B各8ビット(256階調)のディジタルデータとして入力画像処理部102に転送する。入力画像処理部102は、スキャナ部101から送られてきたRGBのカラー画像データに対しシェーディング補正、CCDライン間補正、色補正など、周知の画像処理を行う。
像域分離処理部103は、入力画像処理部102から出力される画像処理済みのカラー画像信号に対し像域分離処理を行う。この像域分離処理部103は、入力画像の画素ごとに写真(自然画)領域、文字領域、網点領域、といった画像の特徴を検出して、像域ごとの属性を表すフラグデータを生成し、フラグメモリ106に出力する。
入力画像処理部104は、像域分離処理部103で生成されたフラグデータに基づき、各像域毎に適正な画像処理を行ない、その結果を画像メモリ105に格納する。例えば文字領域に対して画像の高周波成分を強調して文字の鮮鋭度を強調し、また、網点領域に対してはいわゆるローパスフィルタ処理を行い、デジタル画像に特有のモアレ成分を除去する、といった処理を行うことができる。これらの処理の切り替えを、像域分離処理部103で生成した属性フラグデータに応じて画素単位で行う。
画像メモリ105及びフラグメモリ106に1ページ分のデータが格納されると、データ圧縮部109にて、それぞれを圧縮符号化し、記憶装置110に格納する。この処理を、スキャナ部101にセットされた全原稿について行なうことになる。なお、データ圧縮部109は、フラグデータについては可逆符号化技術を利用して符号化する。画像データについては、非可逆符号化であるJPEGを利用するものとするが、可逆符号化技術を用いても構わない。
上記原稿の読み取り処理を行なって、記憶装置110には読取った各原稿の画像データ及びフラグデータが蓄積されていく。この蓄積処理中、データ伸長部112は記憶装置110より圧縮符号化された画像データ及びフラグデータを読出し、伸長(復号)処理を行なう。このとき、必要に応じて、解像度変換部113にて、画像データの解像度変換も行なう。
伸長した画像データは画像メモリ114に、伸長したフラグデータはフラグメモリ115に格納する。出力画像処理部116は、画像メモリ114に格納された画像データを、記録色成分であるC、M、Y、Bkに変換する。また、出力画像処理部116は、各画素毎の属性情報をフラグメモリ115より読出し、像域毎に適した印刷用画像データを生成し、プリンタエンジン117に出力する処理を行なう。
上記は、複写処理についてのものであったが、実施形態の装置は外部通信路(ネットワーク)119に接続され、ネットワークプリンタとしても機能する。
この場合、通信I/F118を介して外部のPC等から受信した印刷データは、インタープリンタ108に供給される。インタープリタ108は、受信した印刷データのPDLコマンドを解釈し、内部の描画コマンド(中間データ)に変換する。RIP107は、この描画コマンドに基づき描画処理を行ない、その結果を画像メモリ105に出力すると共に、フラグデータをフラグメモリ106に出力する。PDL形式の印刷データは、文字、写真(自然画)、網点等は印刷コマンドで定義されているので、フラグデータは、描画する際に簡単に得ることができる。
以上、実施形態における印刷処理の概要を説明した。次に、実施形態における像域分離処理部103について、更に詳細に説明する。
図2は、実施形態における像域分離処理部103のブロック構成図である。
判定用信号生成部1002は、入力画像処理部102からの入力信号1001を入力し、画素単位の属性判定用の判定信号(データ)を生成する。たとえば、入力信号がRGB信号(各8ビット)の場合、グレースケール信号(8ビット)を生成する。このとき、RGBからGチャンネルのみを抜き出しても良いし、(R+2×G+B)/4などの演算により求めても良い。場合によっては、RGB色空間をLab色空間に変換し、そのLデータを利用しても良い。すなわち、入力信号のチャンネル数とビット数はこれに限るものではない。また、判定用信号生成方法、チャンネル数とビット数についても上記は一例に過ぎない。
判定用信号生成部1002で生成された判定信号(輝度データ)は、文字判定部1003、網点判定部1004と網点内文字判定部1005に供給され、それぞれにおいて、文字判定、網点判定、網点内文字判定が実施される。属性フラグ生成部1006は、各判定部1003乃至1005からの判定結果を比較演算し、属性フラグを生成する。本実施形態では、文字フラグ1007、網点フラグ1008、網点内文字フラグ1009を生成する場合について説明する。この属性フラグを基に、原稿画像に含まれる画像の特徴に応じて最適な画像処理を施すことを可能にする。以下、文字判定部1003、網点判定部1004、網点内文字判定部1005について、より詳しく説明する。
[文字判定部1003の説明]
まず、文字判定部1003について図3を用いて説明する。図3は実施形態における文字判定部1003のブロック構成図である。
エッジ強調部1102は、判定用信号生成部1002からの判定信号に対してエッジ強調処理を行ない、エッジ強調後のデータを出力する。このエッジ強調処理は、輝度データの所望の周波数成分を、強調・抽出するデジタルフィルタ処理が行われる。ラプラシアンなどの2次微分フィルタなどが代表的な例である。それ故、エッジ強調部1102には、複数画素を記憶するためのバッファメモリを内蔵する。
エッジ強調部1102から出力されたエッジ強調信号は、2次微分フィルタ処理を実行する閾値判定部1103と閾値判定部1104に入力される。閾値判定部1103には正の値の閾値が、閾値判定部1104には負の値の閾値が設定されている。
2次微分フィルタを用いた場合、フィルタ処理後の値には、正負の符号がある。本実施形態のように画像信号が輝度信号の場合を図7(a)乃至(c)を用いて説明する。図7(a)において、エッジ境界部1501は、白い下地1503にある黒い文字の一部(文字エッジ)を表している。1502は、文字内部を示す。エッジ境界部1501の断面1510を信号レベル見ると、同図(b)の画像信号1504のようになる。文字内部1502は暗部のため、信号レベルは低い(1505)。下地1503は明部のため、信号レベルは高い(1506)。この画像信号1504を、2次微分フィルタを用いてデジタルフィルタ処理を行ったものが、同図(c)のエッジ抽出信号1507になる。文字の内部1502側では正の値をとり、下地1503側では負の値をとる。よって、閾値判定部1103からは、正の閾値を超えたときに内エッジ信号(注目画素が文字のエッジ内にあることを示す信号)を出力する。一方、閾値判定部1104からは、負の閾値を下回ったときに、外エッジ信号(注目画素が文字のエッジの外側にあることを示す信号)を出力することになる。
閾値判定部1103から出力された内エッジ信号はエリア積算部1105へ、閾値判定1104から出力された外エッジ信号はエリア積算部1106へ、それぞれ供給される。エリア積算部1105及び1106は、例えば3×3サイズからなり注目画素を含めた周辺3×3領域の画素の判定信号を加算する。この場合、エリア積算部1105及び1106から出力される値は0乃至9の範囲となる。
閾値判定部1107及び1108は、エリア積算部1105及び1106の出力結果を閾値と比較して判定結果を出力する。例えば、閾値としてそれぞれ「2」という値が設定されているとすると、閾値判定部1107は『周辺3×3エリア内に内エッジと判定された画素が2個以上あるとき』に判定信号『1』を出力することになる。同様に、閾値判定部1108は『周辺3×3エリア内に外エッジと判定された画素が2個以上あるとき』に判定信号『1』を出力することになる。
上記の判定処理の例を図5を用いて説明する。同図(a)は白い下地上の文字エッジの一部1301を表している。
図5(b)の領域1302は、入力信号をエッジ強調処理(1102)し、閾値判定部1104を行った結果(外エッジ)である。図示のように、領域1302は、文字エッジの外側の領域を表わしている。
図5(c)の領域1304は、外エッジ領域1302をエリア積算1106し、閾値判定1108を行った外エッジのエリア積算結果を示している。図示のように、領域1304は、外エッジ領域1302の拡張した結果となるのがわかる。
図5(d)の領域1303は、入力信号1301をエッジ強調処理(1102)し、閾値判定1103を行った結果の内エッジ領域である。図示の如く、この内エッジ領域1303は、文字エッジ1301の内側を表わしている。
図5(e)の領域1305は、内エッジ信号1303をエリア積算1105し、閾値判定1107を行った内エッジ領域のエリア積算を示している。図示の如く、この領域1305は、内エッジ信号1303の拡張した結果なのがわかる。
LUT1109は、閾値判定1103、1107、1108の信号(3ビット)を入力し、文字エッジであるか否かを示す信号を生成する。図5(f)の領域1306が文字っ時領域を示している。
LUT1109には、それぞれの閾値判定の出力結果に基づき決められた論理に従って判定結果を出力する役割を行っている。例えば、以下のような条件となる。
注目画素が内エッジである。→1
上記以外で、注目画素周辺5×5エリアに外エッジが2個以上ある。→0
上記以外で、注目画素周辺5×5エリアに内エッジが2個以上ある。→1
上記いずれにも該当しない。→0
上記を実現するためには、LUT1109は、図6のようなテーブルを保持すれば良い。図示の如く、入力される内エッジ判定、内エッジ判定のエリア積算判定、外エッジ判定のエリア積算判定の結果に応じて文字エッジ判定が決定される。以上のように行うことで、文字エッジを好適に抽出することができる。
[網点判定部1004の説明]
次に、実施形態における網点判定部1004を説明する。図4は、実施形態における網点判定部1004のブロック構成図である。
エッジ強調部1202は、判定用信号生成部1002からの判定信号(実施形態では輝度データ)を入力し、エッジ強調処理を行なう。ここでは、画像データの所望の周波数成分を、強調・抽出するデジタルフィルタ処理が行われる。ラプラシアンなどの2次微分フィルタなどが代表的な例である。
エッジ強調部1202から出力されたエッジ強調信号は、2次フィルタ処理を行なう閾値判定部1203と閾値判定部1204に供給される。閾値判定部1203には正の値の閾値が、閾値判定部1204には負の値の閾値がそれぞれ設定されている。
2次微分フィルタを用いた場合、フィルタされた信号値には、正負の符号があり、本実施形態のように画像信号が輝度信号の場合には、図8に示すようになる。網点のひとつに着目したとき、その網点のエッジ境界部1601は、白い下地1603にある網点の一部(網点エッジ)を表している。1602は網点を示す。網点エッジ境界部1601の断面1610を信号レベル見ると、画像信号1604のようになる。網点1602は暗部のため、信号レベルは低い(1605)。下地1603は明部のため、信号レベルは高い(1606)。この画像信号1604を、2次微分フィルタを用いてデジタルフィルタ処理を行ったものが、網点エッジ抽出信号1607になる。網点1602側では正の値をとり、下地1603側では負の値をとる。よって、閾値判定部1203からは、正の閾値を超えた時判定される内エッジ信号、閾値判定部1204からは、負の閾値を下回った時判定される外エッジ信号がそれぞれ出力される。
閾値判定部1203から出力される内エッジ信号は、孤立量判定部1205に入力される。閾値判定部1204から出力される外エッジ信号は、孤立量判定部1206に入力される。
孤立量判定1205は、閾値判定部1203からの内エッジ信号についてパターンマッチング処理を行う。網点原稿には低線数のものから高線数のものまであるため、原稿によって網点ドットのサイズや間隔は異なる。そのため、どのような線数の網点でも検出できるように、パターンマッチングは複数のパターンにて行う。低線数の網点ドットに対しては、大きいパターンにてマッチングを行い、網点かどうかを検出する。高線数の網点ドットに対しては、小さいパターンにてマッチングを行い、網点かどうかを検出する。また、網点ドットは輝度によっても形状が変化するため、それに対応できるよう、マッチングにレベルをもたせる。
このパターンマッチングの一例を図9(a),(b)を用いて説明する。図9(a)は閾値判定1203の結果の例である。4×4画素でパターンマッチングする例を説明するため、4×4エリアの内エッジ信号1701を抽出している。その中で、閾値判定1203で内エッジ信号がHIGH出力された画素が図示の領域1702の4画素である(黒画素)。残りの画素が、内エッジ信号LOW(1703)の画素である。また、注目画素は画素1701とする。
次に、同サイズのパターン例を図9(b)に示す。図示のパターン1710において、黒画素1712は、パターンがHIGHであるべき画素である。白画素1713はLOWであるべき画素である。斜線の画素1714は、いずれでも構わない画素(Don‘t Care:以後DCと表記する)である。これを基本パターンとして、黒画素1712と白画素1713のそれぞれのパターンのマッチングの度合いにレベルを持たせ、判定レベルを調整する。
閾値判定の結果である内エッジ信号1700と孤立量判定のパターン1710のマッチング例を図10(a)乃至(d)に示す。
孤立量判定パターン1710において、パターンHIGH(1712)が4画素中3画素以上一致した場合は、パターンHIGHが有効とする。パターンLOW(1713)が8画素中6画素以上一致した場合はパターンLOWが有効とする。パターンHIGHとパターンLOWがいずれも有効の場合のみ、注目画素1801の孤立量判定結果をHIGHとする。
上記の結果、図10(a)の内エッジ信号1810の場合、パターンHIGHは4画素、パターンLOWは8画素のため、いずれも有効であり、その結果、孤立量判定信号はHIGHとなる。
図10(b)の内エッジ信号1820の場合、パターンHIGHは4画素、パターンLOWは7画素のため、いずれも有効であり、その結果、孤立量判定信号はHIGHとなる。尚、画素1821は「Don‘t Care」であるため、判定には影響を及ぼさない。
図10(c)の内エッジ信号1830の場合、パターンHIGHは3画素、パターンLOWは8画素のため、いずれも有効であり、その結果、孤立量判定信号はHIGHとなる。
そして、図10(d)の内エッジ信号1840の場合、パターンHIGHは2画素、パターンLOWは8画素のため、パターンLOWは有効だが、パターンHIGHが無効のため、孤立量判定信号はLOWとなる。
このようなパターンマッチングを複数のサイズのパターンを用いて行う。本実施形態では、内エッジ信号について説明したが、外エッジ信号についても同様のパターンマッチングを行う。その際、マスクパターンや判定レベルの調整値は任意に設定できる。
さて、孤立量判定部1205、1206から出力される孤立量判定信号は、OR処理部1207、1208に供給される。OR処理部1207、1208では、3×3領域内で孤立量判定信号のHIGH/LOWのORをとり、1画素でもHIGHがあれば注目画素をHIGHとする。具体例を図11(a)乃至(c)を用いて説明する。
図11(a)は3×3領域の中心の注目画素のみの孤立量判定信号がHIGHの場合である。従って、OR処理後の注目画素はそのままHIGHとなる。図9(b)は3×3領域の注目画素がLOWであるが、3×3領域内にHIGH画素があるため、OR処理後の注目画素はHIGHとなる。図9(c)は3×3領域の注目画素のみがLOWであるが、3×3領域内にHIGH画素があるため、OR処理後の注目画素はHIGHとなる。
OR処理部1207、1208の処理結果の信号は、積算処理部1209、1210に供給される。積算処理された積算信号は閾値判定部1211、1212された上、網点判定部1213、1214され、網点信号A(1215)と網点信号B(1216)を出力する。この過程を図12を用いて説明する。
図12は、OR処理部1207、積算処理部1209、閾値判定部1211、網点判定部1213の具体例を示している。OR処理部1208、積算処理部1210、閾値判定部1212、網点判定部1214にかかる構成は実質的に同じであるので、その説明は省略する。
OR処理部1207のOR処理後の信号を複数のエリアを用いて積算する。たとえば、積算処理部9×9(2011)では、OR処理後のHIGHとなった信号を9×9の領域で積算する。従って、積算処理部9×9の出力値は0乃至81の範囲となる。積算処理部15×15(2012)、積算処理部21×21(2013)も同様である。
次に、積算された信号に対し、それぞれ閾値判定部9×9(2021)、閾値判定部15×15(2022)、閾値判定部21×21(2023)を行う。これらの閾値はそれぞれの閾値判定ごとに異なる値を設定しておく。
それぞれの閾値判定から出力された信号を元に、網点判定部1213が網点であるか否かの判定を行い、網点信号A(1215)を出力する。さらに具体例を図13を用いて説明する。
図13(a)の2100は、低輝度網点部のOR処理後のOR信号を示す。黒画素は、OR信号がHIGHであることを示し、白画素は、OR信号がLOWであることを示している。これらの信号を複数の異なる領域にて積算する。ここでは説明のために、3種類の領域にて説明するが、3種類に限るものではない。注目画素2101を中心とした、9×9領域2102、15×15領域2103、21×21領域2104のそれぞれについて、OR信号がHIGHの画素数を積算する(積算処理9×9、積算処理15×15、積算処理21×21)。それぞれの積算結果を示すのが図13(b)である。
積算処理部9×9の積算結果は12画素
積算処理部15×15の積算結果は40画素
積算処理部21×21の積算結果は76画素
このとき、閾値判定の閾値設定を、エリア内のHIGH信号が5%を超えるときは、網点とし、5%以下のときは網点でないと仮定すると、閾値は、
積算処理部9×9には閾値「5」、
積算処理部15×15には閾値「12」、
積算処理部21×21には閾値「23」を設定する。
図13(a)の場合、積算処理部9×9の積算結果の「12」は閾値「5」以上であるので、注目画素は網点領域であると判定する。
同様に、積算処理部15×15の積算結果の「40」も閾値「12」を超え、積算処理部21×21の積算結果の「76」も閾値「23」を超えるので網点であると判定する。
次に、上記3種類の結果を元に、注目画素が最終的に網点かどうかを判定する。たとえば、図13(c)に示すように、3種類の結果から二組のペアを作る。たとえば、積算処理部9×9と積算処理部15×15からの積算結果で1組、積算処理部15×15と積算処理21×21からの積算結果でもう1組を得る。そして、それぞれの組内で論理積を取る。積算処理部9×9と積算処理部15×15の積算結果の論理積は、網点と判定される。積算処理部15×15と積算処理部21×21の積算結果の論理積は、網点と判定される。さらに、このようにして得られた2つの論理積の結果の論理和を求める。上記の場合、いずれの論理積の結果も網点なので、論理和も網点となり、最終的に、注目画素は網点領域内にあると判定する。
低輝度部網点領域中に、文字エッジがある場合を図14(a)乃至(c)を用いて説明する。
図14(a)の領域2200は低輝度網点部のOR処理後のOR信号を示す。黒画素は、OR信号がHIGHであることを、白画素は、OR信号がLOWであることを示している。図示のように、文字エッジ2205がある場合は、文字エッジ近傍には孤立点が発生しないため、文字エッジ近傍のOR信号はLOWとなる。この状態で、これらの信号を複数の異なる領域にて積算する。積算処理部9×9、積算処理部15×15、積算処理部21×21は、注目画素2201を中心とした、9×9領域2202、15×15領域2203、21×21領域2204のそれぞれについて、OR信号がHIGHの画素数を積算する。それぞれの積算結果は図14(b)に示す通りである。
積算処理部9×9の積算結果は「4」、
積算処理部15×15の積算結果は「32」、
積算処理部21×21の積算結果は「60」となる。
先と同じ条件で各閾値を設定すると、積算処理部9×9での積算値「4」は閾値「5」未満であるので、注目画素は非網点として判定される。また、積算処理部15×15での積算値「32」は閾値「12」以上であるので網点として判定される。そして、積算処理部21×21での積算値「60」も閾値「23」以上であるので、やはり網点として判定される。同図(b)はこの判定結果を示している。
次に、同図(c)に示すように、上記3種類の判定結果を元に、注目画素が網点かどうかを判定する。先にと同様に、3種類の結果から二組のペアを作る。積算処理部9×9と積算処理部15×15それぞれの判定結果の1組、積算処理部15×15と積算処理部21×21それぞれの判定結果のもう1組について、それぞれの組内で論理積を取る。積算処理部9×9と積算処理部15×15からの積算結果に基づく判定結果の論理積は、非網点と判定される。積算処理部15×15と積算処理部21×21からの積算結果に基づく判定結果の論理積は、網点と判定される。さらに、二つの論理積の結果の論理和を求める。上記の場合、ひとつが非網点で、もうひとつが網点なので、論理和は網点となり、網点判定の結果は網点となる。このように、複数のエリアと複数の閾値を用いることで、網点として検出できるようになる。
次に、低輝度部網点の縁の外側に注目画素がある場合を図15(a)乃至(c)を用いて説明する。
図15(a)の領域2300は、低輝度網点部のOR処理後のOR信号を示す。黒画素はOR信号がHIGH、白画素はOR信号がLOWであることを示している。この状態で、これらの信号を複数の異なる領域にて積算する。注目画素2301を中心とした、9×9領域2302、15×15領域2303、21×21領域2304のそれぞれについて、OR信号がHIGHの画素数を積算した結果を示すのが、同図(b)である。
積算処理部9×9の積算結果は「0」、
積算処理部15×15の積算結果は「12」、
積算処理部21×21の積算結果は「20」となる。
先と同じ条件で各閾値を設定すると、積算処理部9×9での積算値「0」は閾値「5」未満であるので、注目画素は非網点として判定される。また、積算処理部15×15での積算値「12」は閾値「12」と同じであるので網点として判定される。そして、積算処理部21×21での積算値「20」は閾値「23」未満であるので、非網点として判定される。同図(b)はこの判定結果を示している。
次に、上記3種類の結果を元に、注目画素が網点かどうかを判定する。同図(c)に示すように、3種類の結果から二組のペアを作る。たとえば、積算処理部9×9と積算処理15×15部の積算値の判定結果の1組、積算処理部15×15と積算処理部21×21の積算値の判定結果のもう1組それぞれの組内で論理積を取る。積算処理部9×9と積算処理部15×15の積算値の判定結果の論理積は、非網点と判定される。また、積算処理部15×15と積算処理部21×21の積算値の判定結果の論理積も非網点と判定される。さらに、二つの論理積の結果の論理和を求める。上記の場合、いずれの論理積の結果も非網点なので、論理和も非網点となり、網点判定の結果は非網点となる。この結果、従来、判定精度を上げるために積算エリアを拡張したときに発生した網点信号の太りが発生することがない。これは、複数のエリアと複数の閾値を用いることで、網点の縁の外側を非網点として検出できるようになる。
ここで説明した積算処理の組み合わせは一例に過ぎず、これに限るものではない。目的に応じて自由に組み合わせを構成できる。また、説明では3種類の積算処理の結果を用いたため二組の論理積を用いたが、これに限るものではない。入力数とその論理演算部は自由に構成できるものである。さらに、論理積と論理輪の組み合わせも一例に過ぎず、これに限るものではない。論理積や論理和を自由に組み合わせることができる。
[網点内文字判定部1005の説明]
図16は、実施形態における網点内文字判定部1005のブロック構成図である。
適応的スムージング処理部2401は、判定用信号生成部1002かたの判定用信号を入力し、適応的なスムージング処理を行なう。ここでは、適応的に文字/細線を除外しつつ、画像データの所望の周波数成分を平滑化するデジタルフィルタ処理が行われる。
適応的スムージング処理部2401から出力されたスムージング信号は、エッジ強調処理部2402にて、エッジ強調処理を施される。ここでは、画像データの所望の周波数成分を、強調・抽出するデジタルフィルタ処理が行われる。ラプラシアンなどの2次微分フィルタなどが代表的な例である。
エッジ強調部2402から出力されたエッジ強調信号は、閾値判定部2403に入力される。閾値判定2403には正の値の閾値が設定されている。
2次微分フィルタを用いた場合、フィルタされた信号値には、正負の符号があり、本実施形態のように画像信号が輝度信号の場合には、図7に示すようになる。図示のエッジ境界部1501は、白い下地1503にある黒い文字の一部(文字エッジ)を表している。1502は、文字内部を示す。エッジ境界部1501の断面1510を信号レベル見ると、画像信号1504のようになる。文字内部1502は暗部のため、信号レベルは低い(1505)。下地1503は明部のため、信号レベルは高い(1506)。この画像信号1504を、2次微分フィルタを用いてデジタルフィルタ処理を行ったものが、エッジ抽出信号1507になる。文字の内部1502側では正の値をとり、下地1503側では負の値をとる。
網点内文字判定では、網点領域内の文字自体を抽出することを目的としているため、文字の外エッジは網点領域とみなし、文字の内エッジを抽出することで網点内文字としている。よって、閾値判定2403には正の閾値を設定し、正の閾値を超えた時、内エッジ信号が出力されるものとする。以下、上記処理を更に詳しく説明する。
まず、図16に示した適応的スムージング処理部2401の処理内容を、図17を用いて具体的に説明をする。
図17は、適応的スムージング処理部2401の処理ブロック図である。入力信号2501は、3本に分岐し、ひとつ目は、M×Mフィルタ処理部2502(Mは自然数)に入力され、フィルタ処理が実施される。ここでは、特定周波数帯域の感度を落とすことを目的とする平滑化処理を実施する。M×Mフィルタ処理部2502は、平滑化処理の結果をセレクタ2504に供給する。
二つ目は、何も処理せずセレクタ2504に入力される。このとき、M×Mフィルタ処理2502の処理ライン数に応じた画像遅延が発生するため、図示しない遅延メモリを用い、入力信号を遅延させた後、セレクタ2504に供給する。
三つ目は、縦線、横線、斜め線検出部2503に入力される。M×Mフィルタ処理2502のMラインの処理バッファを利用し、L×N(LとNは自然数、N≦Mが望ましい)の領域で縦線、横線、斜め線の検出を行う。線分を検出したら、画素単位で1ビットの信号を生成し、セレクタ2504の切り替えに用いる。
セレクタ2504は、縦線、横線、斜め線検出部2503から出力されるセレクタ切り替え信号に基づき、M×Mフィルタ処理2502から出力されるフィルタ処理された信号と、フィルタ処理されない信号を切り替えて出力する。このとき、縦線、横線、斜め線検出部2503で線分が検出されたときは、フィルタ処理されない信号を出力し、線分が検出されないときは、平滑化信号を出力する。
ここで、縦線、横線、斜め線検出部2503について説明する。縦線、横線、斜め線検出部2503は、図18(a)乃至(d)に示すようなパターンを用いて線分を検出する。なお、図示の横方向が画像の主走査方向を表し、縦方向が副走査方向を表す。副走査方向のライン(画素)数Nは、M×Mフィルタ処理2502の副走査方向の処理ライン数Mより小さい方が処理メモリの共通の観点で望ましいが、それに限るものではない。主走査方向の画素数LはMより大きくても構わない。本実施形態では、主走査方向(L)7画素、副走査方向(N)5画素のエリアで線分を検出する例を説明する。
図18(a)のパターン2600は縦線を検出するためのパターン、同図(b)のパターン2610は横線を検出するためのパターン、同図(c)、(d)のパターン2620、2630は斜め線を検出するためのパターンを表している。ここでは、パターン2600を用い、縦線検出の方法を説明する。
パターン2600は7×5の領域で示されるが、その中に、1×5画素のブロック2602、2603、2604を用意する。それぞれのブロックについて、輝度の総和(ALL)、最大値(MAX)、最小値(MIN)を検出する。
このとき、次の条件式を評価する。
(条件1)MAX(2602)− MIN(2602) ≦ 閾値1
(条件2)MAX(2603)− MIN(2603) ≦ 閾値1
(条件3)ALL(2603)≦ ALL(2602)− 閾値2
条件1は、1×5画素ブロック2602内の5画素で濃淡差がないことを評価する。条件2は、1×5画素ブロック2603内の5画素で濃淡差がないことを評価する。条件3は、1×5画素ブロック2602と1×5画素ブロック2603の輝度の総和を比較し、1×5画素ブロック2603が1×5画素ブロック2602に対し、輝度レベルが相対的に低いことを評価する。低いときは、1×5画素ブロック2603が黒線を構成するものと判定する。
また、同様に、次の条件式についても評価する。
(条件4)MAX(2604)− MIN(2604) ≦ 閾値1
(条件5)MAX(2603)− MIN(2603) ≦ 閾値1
(条件6)ALL(2603)≦ ALL(2604)− 閾値2
以上の6条件のうち、条件1、2、3を同時にすべて満たすか、あるいは、条件4、5、6を同時にすべて満たせば、注目画素は縦線に属していると判断する。
図19に具体例を示す。同図(a)のパターン2700は、白地に縦線がある画像から7×5領域を抽出したものである。図の濃い部分とグレーの部分は読み取った縦線を示している。8ビット1チャンネルの輝度信号(0〜255)とし、便宜上、黒画素は0レベル、グレー画素(斜線)は128レベル、白画素は255レベルとして説明する。閾値1は20、閾値2は200とする。このパターン2700に上記条件1を適用し、真偽を判定すると次の通りになる。
(条件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、条件2、条件3がすべて真のため、縦線が検出される。また、条件4、条件5、条件6もすべて真のため、こちらの判定でも縦線が検出される。
図19(b)のパターン2710(横線)に適応した場合、条件1乃至6の真偽結果は次のようになる。
(条件1) 偽
(条件2) 偽
(条件3) 偽
(条件4) 偽
(条件5) 偽
(条件6) 偽
上記の通りなので、縦線分は検出されない。
図19(c)のパターン2720(斜め線)に適応した場合、条件1乃至6の真偽結果は次のようになる。
(条件1) 偽
(条件2) 偽
(条件3) 真
(条件4) 偽
(条件5) 偽
(条件6) 真
上記の通りなので、やはり縦線分は検出されない。
横線の検出のためには図18(b)に示したパターン2610、斜め線検出には図18(c)又は(d)のパターン2620、2630を用いる。
図20に例を示す。同図(a)のパターン2810は横線の検出例である。同図(b)、(c)のパターン2820と2830は斜め線検出の例である。
線の太さによっては、本手法で検出できないこともある。ある程度の太さを有する線分は、図18(a)乃至(d)に示すいずれのパターンによっても線分として検出されないが、適応的スムージング処理部2401以降の処理で線分として検出されるため問題とはならない。このような線分は、平滑化処理された画像信号がエッジ強調部2402で強調され、その後閾値判定部2403で閾値処理されたときに抽出可能である。本手法は、高周波の極細線が平滑化フィルタの対象となることを避けることを目的としている処理である。
図21は適応的スムージング処理部2401で用いる空間フィルタの周波数特性2900の一例を示している。横軸は空間周波数特性を示し、縦軸はそれに対応する周波数応答を示す。高周波の帯域になればなるほど周波数応答が小さくなり、ある空間周波数以上(2902)では応答はない。このよう平滑化フィルタを用いて適応的スムージング処理部2401を含む、網点内文字判定を行ったときの例を図22を用いて説明する。
図22(a)の画像3000は、網点画像の一部を抽出したものである。この網点の出力線数は高く、図21に示すフィルタの周波数特性で言えば、空間周波数が2903の位置にあるような特性を持つ網点である。よって、網点画像3000に図21の空間周波数特性を持つフィルタにてフィルタ処理を施すと、網点の周期構造は消滅し、平滑化画像3010を得る。
同じ線数の網点内に文字がある場合を同図(b)で説明する。網点画像3020内には文字が印字されていて、この画像に対して適応的スムージング処理2401を実施すると、平滑化画像3030を得る。網点部は平滑化されて網点の周期構造が消滅し、文字部は適応処理により平滑化が除外され、文字領域3031が明瞭に残る。この画像をエッジ強調部2402にてエッジ強調すると同図(c)の画像3040を得る。文字エッジが強調される。エッジ強調された画像を閾値判定部2403にて閾値判定処理すると、網点内文字信号3050を得る。白い部分が網点内文字として判定された領域である。本実施形態では細い文字を例に示したため、文字全体を網点内文字として抽出している。図示しないが、文字サイズが大きくなると、文字全体ではなく、文字のエッジ部(輪郭)を抽出するようになる。
[属性フラグ生成部1006の説明]
以上実施形態における文字判定部1003、網点判定部1004、網点内文字判定部1005について説明した。次に、実施形態における属性フラグ生成部1006について説明する。
属性フラグ生成部1006は、文字判定部1003により得られた文字判定結果、網点判定部1004により得られた網点判定結果、及び、網点内文字判定部1005により得られた網点内文字判定結果から、各画素毎の属性フラグを生成する。生成する属性フラグは次のようにして決定した。
網点信号:HIGH & 文字信号:LOWの場合 → 注目画素の画像属性:網点
網点信号:LOW & 文字信号:HIGH → 注目画素の画像属性:文字
網点信号:HIGH & 網点内文字判定:HIGH → 注目画素の画像属性:網点内文字
上記以外 → 注目画素の画像属性:自然画;写真画;階調画像
以上のように判断し、属性フラグが生成される。属性フラグの持つ種類は上記の通り4種類であるので、実施形態における属性フラグが1画素につき、2ビットで構成されることになる。
画像属性に応じて、エッジ強調量、色再現方法、画像形成方法などの種々の画像処理方法を制御することができる。
[印刷処理の説明]
ここで、上記を踏まえ、具体的な印刷処理について説明する。
先に説明したように、入力画像処理部104の処理結果である画像データ(画像メモリ105に格納される)と、像域分離処理部103で生成された属性フラグデータ(フラグメモリ106に格納される)は、圧縮符号化されて記憶装置110に格納される。ここで説明するのは、記憶装置110に格納された圧縮符号済み画像データ及びフラグデータに従った印刷処理である。
データ伸長部112は、プリンタエンジン117の印刷可能になったタイミングに合わせて、記憶装置110に格納されたデータを読出し、伸長処理(復号処理)を行なう。伸長して得られた画像データについては、画像メモリ114に格納し、フラグデータはフラグメモリ115に格納する。データ伸長部112は、データ圧縮部109と同じアルゴリズムに従って伸長すれば良いので、その説明は不要であろう。
出力画像処理部116は、画像メモリ114に格納された画像データについて、フラグメモリ115に格納された画素単位のフラグデータに基づき出力画像データを生成し、プリンタエンジン117に出力することになる。そこで、以下では、出力画像処理部116をメインに説明する。
図27は、主として出力画像処理部116のブロック構成図である。
データ伸長部110によって画像メモリ114およびフラグメモリ115に、印刷可能となる予め設定されたデータ量の画像データおよびフラグデータが格納されると、それら画像データ及びフラグデータは出力画像処理部116に転送される。
画像メモリ114から読み出されたRGBの画像データは、RGB→CMYK変換部601、602で記録色成分であるC(シアン)、M(マゼンタ)、Y(イエロー)、及びK(ブラック)に変換される。RGB→CMYK変換部601と602の違いは、前者が文字画像に特化した色空間変換部であり、後者が写真画、網点用の変換を行なう点である。
通常、原稿中に印刷された文字の色は、黒単色か、せいぜい数色の程度である。そこで本実施形態では、このRGB→YMCK変換部601は、予め定義された色(C,M,Y,K)のパターンのうち、最も近似する色に変換する。例えば、R≒G≒B≒0の場合には、着目画素が黒であると判定してよいので、C=M=Y=0、K=255というパターンに変換する。入力したR、G、Bが8ビットで表現されている場合、それぞれの上位数ビット(2ビット程度で良いであろう)を入力し、YMCK(各8ビット)のデータを出力するLUTで構成することであろう。
一方、RGB→YMCK変換部602は、高い精度でRGB→YMCKへの変換を行なう。この変換は、マトリクス演算で行なうが、RGBの計24ビットアドレス入力、YMCKの32ビット出力のLUTで実現しても構わない。
合成部603は、フラグメモリ115からの属性データに基づき、上記2つの変換部からのYMCKのデータを合成する。具体的には、着目画素が「文字」を示す場合には、RGB→CMYK変換部601から出力されたデータを選択し、出力する。また、着目画素が「自然画」、又は、「網点」の場合には、RGB→CMYK変換部602からのデータを選択し、出力する。そして、着目画素が「網点内文字」の場合には、2つの色空間変換部からのデータを、適当な重みづけ係数に従って合成し、出力する。具体的には、2つの色変換結果の平均値とする。
合成部603から出力されたCMYKのデータは、フィルタ処理部604乃至606に供給される。これらフィルタ処理部604乃至606は、内部に数ライン分のバッファを有し、2次元フィルタ処理を行なう。フィルタ処理部604乃至606の違いは、フィルタ処理のエッジ強調の度合を決定する係数が異なる。
フィルタ処理部604は着目画素の属性が「文字」である場合に適合するフィルタ処理を行なう。フィルタ処理部605は着目画素が「網点内文字」である場合に適合するフィルタ処理を行なう。そして、フィルタ606は着目画素が「写真画」又は「網点」である場合に適合するフィルタ処理を行なう。各フィルタ処理部のエッジ強調の度合は、
フィルタ処理部604>フィルタ処理部605>フィルタ処理部606
となる。ただし、上記エッジ強調の度合は一例に過ぎず、必ずしもこれに限るものではない。
上記は、スムージング処理の強度が、
フィルタ処理部604<フィルタ処理部605<フィルタ処理部606
という関係にあると言い換えることもできる。
セレクタ607は、着目画素の属性が「文字」である場合には、フィルタ処理部604からのデータを選択し出力する。また、「網点内文字」である場合には、フィルタ処理部605からのデータを選択し、「写真」又は「網点」である場合には、フィルタ処理部606からのデータを選択し、出力することになる。
セレクタ607から選択出力されたデータは、ガンマ補正部608、610に供給される。ガンマ補正部608は「文字」、「網点内文字」に適した補正を行ない、ガンマ補正部610は「網点」、「写真画」に適した補正を行なう。
文字の場合、印刷時に生成されるドットが分散されにくいことが望ましいので、誤差拡散処理部609で2値化されれる。また、階調性が重視される写真画、網点はディザ処理部611でディザマトリクスを用いた2値化処理が行われる。
セレクタ612は、着目画素の属性が「文字」、「網点内文字」の場合には、誤差拡散処理部609からのデータを選択し、プリンタエンジン117に出力する。また、セレクタ612は、着目画素の属性が「写真」、「網点」の場合には、ディザ処理部611からのデータを選択し、プリンタエンジン117に出力する。
以上のように、文字部、網点部、および網点内の文字部を適切に抽出することで、その属性に応じた適応画像処理を実施可能となる。従って、文字部は鮮明に、写真部は滑らかな再現をすることが可能となる。特に、網点原稿内で、網点部と文字部とを識別し、文字部に平滑化を施すことなく、網点部に対して平滑化が可能なため、好適なモアレ除去が可能となる。その結果、網点原稿内の写真部にはスムージング処理を施し、モアレ除去した上でディザ処理を実施することで階調再現性の高い画像が提供できる。また、網点原稿内の文字部には、エッジ強調処理を施した上で誤差拡散系の処理を実施することで、くっきりとした読みやすい文字再現性を提供できる。
なお、実施形態では、2値化手段として誤差拡散法、ディザ法を採用する例を示したがこれに限定されるものではない。例えば、誤差拡散法のみを用いる場合、文字領域(網点内文字を含む)と写真(網点を含む)とでは、前者の誤差拡散マトリクスサイズを小さくし、後者の誤差拡散マトリクスサイズを大きくするようにする。また、ディザ処理のみを用いる場合には、文字領域と写真領域とで異なるディザマトリクスパターンを採用しても構わない。また、2値化方法として、これ以外を採用しても構わない。
また、ここでは2値化を例にしたが、プリンタエンジンが多値記録できる場合には、その記録できる階調数Nに合わせてN値化(擬似中間調)するようにしても構わない。例えばレーザビームプリンタの場合、公知のPWM(Pulse Width Modulation)技術によって、濃度に応じたパルス幅変調信号を生成し、濃度に応じた大きさのドットを形成することが可能である。また、インク液を吐出するインクジェットプリンタでは、同じ位置に吐出するインク液滴の回数で濃淡を表現可能である。このように1画素をN階調で表現できるプリンタエンジンの場合には、2値化ではなく、N値化(N≧2)することで実現できるので、上記2値化に限定されるものではない。
<第2の実施形態>
上記実施形態(第1の実施形態)では、文字部、網点部、および網点内の文字部を適切に抽出することで、その属性に応じた適応処理を実施するものであったが、第2の実施形態では、網点内の文字抽出性能を、網点の線数に応じて制御する例を示す。
第1の実施形態で説明した通り、網点原稿には、その出力線数が低いものから高いものまで幅広く存在する。一般に、単色でインクをよく吸収する紙を用いる場合には低い線数を用いる。たとえば、モノクロの新聞などが一例で、その出力線数は85線に代表される。通常のフルカラー印刷には175線が多用されているが、写真集やカタログには200線なども用いられる。最近の高精細印刷では300線を超える出力線数も用いられるが、150線から175線がフルカラー印刷の主流となっている。
一方、本発明にかかる画像処理装置の画像形成方法は、画像品位の向上を目指し、ディザ処理が用いられるようになってきた。従来は、モアレが発生しにくい誤差拡散系の画像形成方法が主流であったが、近年、滑らかで、階調再現性の高いディザ(スクリーン)処理が用いられるようになってきた。しかし、ディザ処理には、原稿の網点の周期構造とディザの周期が干渉することで発生するモアレと呼ばれる干渉縞が発生しやすい問題がある。これを回避すべく、網点部に対して、平滑化(スムージング)処理などのモアレ除去処理を実施しているが、網点内の文字部も平滑化されてしまい、文字が読みにくくなるという問題があった。そこで、第1の実施形態では、網点原稿内で、網点と網点内文字とを識別し、網点部にはモアレ除去を施し、網点内の文字部には強調処理を実施することで、文字と写真の再現性の両立を図った。
ところが、網点原稿にはモノクロ新聞を代表とする出力線数が低いものから、カタログや写真集などの出力線数が高いものまで、出力線数が様々な網点原稿が存在する。このため、必ずしもすべての原稿において網点内の文字と写真の再現性の両立を実現できているわけではない。特に、出力線数が低い網点原稿では、網点エッジと網点内文字とを誤判定することがあり、網点内文字を抽出しようとすると、モアレ除去が効果的に働かず、モアレが発生することがある。
また、本実施形態で説明したモアレ除去処理は、空間フィルタを用いる方法なので、フィルタの処理サイズにその効果は依存する。たとえば、3×3よりも5×5の方が効果は高く、また、5×5よりも7×7の方が効果は高い。よって、同じフィルタサイズにおけるモアレ除去の効果は、低線数の網点よりも高線数の網点の方が高い。また、網点には出力線数のほかに出力角度もあるため、モアレ除去に空間フィルタを用いると、角度によっては効果に差が発生することもある。
そこで、どのような原稿が複写されても、モアレを発生させることなく、高品位な複写画像を提供する方法を提案する。
これを実現する像域分離処理を説明する。図23はそのブロック構成図である。同図は、第1の実施形態の図2に対応するものでもある。
入力信号3101が、判定用信号生成部3102に入力される。たとえば、入力信号がRGB信号(各8ビット)の場合、グレースケール信号(8ビット)を生成する。このとき、RGBからGチャンネルのみを抜き出しても良いし、(R+2×G+B)/4などの演算により求めても良い。入力信号のチャンネル数とビット数はこれに限るものではない。また、判定用信号生成方法、チャンネル数とビット数についても上記は一例に過ぎない。
判定用信号生成部3102で生成された判定信号は、文字判定部3103、網点判定部3104と網点内文字判定部3105に供給され、網点判定、文字判定、網点内文字判定が実施される。このとき、網点判定部3104では、ふたつ以上の網点判定信号を生成する。
各判定部で生成された判定信号は、属性フラグ生成部3106で比較演算され、属性フラグが生成される。本第2の実施形態では、文字フラグ3107、網点フラグ3108、網点内文字フラグ3109を生成する場合について説明する。この属性フラグを基に、原稿画像に含まれる画像の特徴に応じて最適な画像処理を施す。
網点判定部3104の処理構成は、図4とほぼ同じである。その中で、孤立量判定部1205、1206について具体的に説明する。
第1の実施形態で説明した通り、孤立量判定部1205は、閾値判定1203から出力された内エッジ信号を入力する。同じように、孤立量判定部1206は、閾値判定1204から出力された外エッジ信号を入力する。孤立量判定部1205と孤立量判定部1206での処理は同じであるため、ここでは孤立量判定部1205での処理を例に説明する。
図24は孤立量判定部1205のブロック構成図である。孤立量判定部1205は、内エッジ信号についてパターンマッチング処理を行う。網点原稿には、出力線数が低線数のものから高線数のものまであるため、原稿によって網点ドットのサイズや間隔(距離)は異なる。そのため、どのような線数の網点でも検出できるように、パターンマッチングは複数のパターンにて行う。
図24に示す処理構成では、9種類のパターンでパターンマッチングは実施されるが、これに限るものではない。パターンの例を図25(a)、(b)に示す。同図(a)のパターン3300は、高線数の網点ドットを検出するためのパターンの一例である。また、同図(b)のパターン3310は、低線数の網点ドットを検出するためのパターンの一例である。低線数の網点ドットは高線数の網点ドットに比してサイズが大きいため、閾値判定の出力サイズも大きくなる。様々なサイズの網点ドットでも検出できるように、複数のパターンサイズを用意する必要がある。図24のパターン1からパターン5が低線数向けのパターンとすると、パターン3310のような大き目のパターンマスクを5種類用意すれば良い。パターン5からパターン9が高線数向けのパターンとすると、パターン3300のような小さ目のパターンマスクを用意すれば良い。このように、複数種のマスクサイズを用意することで、複数の網点の出力線数に対応が可能となる。また、パターンマスクのサイズを段階的に用意することで、網点の出力線数の大きさに対応が可能となる。また、図24のようにパターン5を低線数用と高線数用とに共通化しても構わない。
これらのパターンは飽くまで一例であって、網点の出力線数、角度、輝度(網点率)などを考慮して、パターンマスクを用意すれば良い。なお、具体的なマッチング方法は第1の実施形態で説明した通りである。また、孤立量判定以降の処理は図4に示す通りである。
このように、網点の出力線数の大きさを考慮し、その大小に合わせて変動するパターンマッチングによる孤立量判定を行うことで、網点の出力線数に応じた網点信号を生成することが可能となる。ここでは、網点信号を2種類に分ける例を説明したが、これに限るものではない。必要に応じて、それ以上でも構わない。また、検出すべき網点の出力線数を完全に識別して網点信号1(1215)と網点信号2(1216)を生成しても良いが、識別すべき出力線数をオーバーラップさせて検出しても良い。たとえば、150線以下は網点信号1で検出し、100線以上は網点信号2で検出してもよい。
以上のように検出した2種類の網点信号と、文字判定信号と、網点内文字判定信号が属性フラグ生成部3106に入力され、それぞれの判定信号を比較演算し、属性フラグを生成する。本第2の実施形態では、文字フラグ3107、網点フラグ3108、網点内文字フラグ3109の3種類のフラグを生成するが、特に、網点内文字判定部3105の網点内文字フラグの生成方法について図26を用いて説明する。
網点内文字フラグ3409は、高線数網点信号3401、低線数網点信号3403と網点内文字信号3402に基づき生成される。低線数網点信号3403は、否定回路3404にて否定(NOT)され、非低線数網点信号3405に変換される。変換された非低線数網点信号3405と網点内文字信号3402の論理積(AND)をとり、非低線数網点内文字信号3407を生成する。生成された非低線数網点内文字信号3407と高線数網点信号3401の論理積(AND)をとり、網点内文字フラグ3409を生成する。
このようにして生成された網点内文字フラグ3409は、出力線数が高線数の網点原稿内の文字のみ抽出されたことになる。出力線数が低線数の網点原稿内の文字は予め否定されているため、抽出されない。
以上のように構成することで、一般的なカラー原稿において、網点部はモアレ除去を施すことで滑らかな再現を実現できる。また、網点内の文字部は適切な強調処理を施すことで鮮明な再現を実現でき、網点原稿内の文字と写真の画像品位向上の両立を図ることが可能となる。また、新聞などの低線数の網点原稿においては、モアレを発生させることなく滑らかな再現が実現できる。また、どのような線数の印刷物が複写されても、モアレを発生させず、網点内の文字の再現性を向上させることができる。また、高線数網点と低線数網点の検出線数を制御することにより、網点内文字の再現性向上を狙う網点の出力線数を制御することも可能となる。
以上本発明に係る実施形態を説明したが、実施形態の説明は、本発明の一例であり、上記の記載にのみ限定されるものではない。例えば、閾値判定部1107や1108に設定する閾値を「2」としたが、これに限るものではない。また、図12の閾値判定部2021乃至2023での閾値を、面積に占める5%とするとしたが、これも適宜修正しても構わない。
また、実施形態では、複写機に適用する例を説明したが、イメージスキャナ、プリンタを接続するパーソナルコンピュータ等の汎用の情報処理装置に適用しても良い。この場合、メインとなるのは、その情報処理装置上で実行されるアプリケーションプログラムによって実現することになる。このアプリケーションは、図1におけるスキャナ101、プリンタエンジン117を除く、各処理部に相当するプログラムモジュール(関数、もしくはサブルーチン)で構成し、メモリは情報処理装置が有するRAMから確保し、記憶装置110はハードディスク等を利用することになろう。
更に、通常、コンピュータプログラムは、CD−ROM等のコンピュータ可読記憶媒体に格納されている。実行可能とするためには、それをコンピュータの読取り装置(CD−ROMであれば、CD−ROMドライブ)にセットし、システムにコピーもしくはインストールする必用がある。従って、このようなコンピュータ可読記憶媒体も本発明の範疇にあるのは明らかである。