以下では、本発明の実施の形態について、添付図面を参照しつつ詳細に説明する。
<ハードウエア構成>
画像処理装置の一例としてのMFP(Multi-Function Peripheral)1は、図1に示されるように、画像形成部10、画像読取部20、操作パネル30、ネットワークインターフェース(I/F)40および制御部50を備えている。
画像形成部10は、画像データに基づく印刷(カラー印刷またはモノクロ印刷)を実行し、プリント用紙などに画像を形成する。画像形成の方式は、電子写真方式であってもよいし、インクジェット方式であってもよい。
取得部の一例としての画像読取部20は、原稿の画像を読み取り、画像データを生成する。読み取りの方式は、原稿を搬送しつつ、原稿の画像を読み取るADF(Auto Document Feeder)方式であってもよいし、コンタクトガラス上に原稿を載置して、原稿の画像を読み取るFB(Flat Bed)方式であってもよい。
操作パネル30は、タッチパネルを備えている。タッチパネルには、各種の情報が表示される。また、タッチパネルのタッチ操作により、各種の入力が可能である。操作パネル30には、テンキーなどの入力キーが備えられていてもよい。
MFP1は、ネットワークインターフェース40を備えていることにより、LAN(Local Area Network)に接続されているPC(パーソナルコンピュータ)などの外部装置との間で、LANを経由した通信が可能である。
制御部50は、CPU51、ROM52、RAM53、NVRAM(Non Volatile RAM)54およびASIC55を備えている。CPU51は、各種の処理のためのプログラムを実行することにより、画像形成部10、画像読取部20および操作パネル30を制御し、ネットワークインターフェース40を介したデータ通信を制御する。ROM52には、CPU51によって実行されるプログラムおよび各種のデータなどが格納されている。記憶部の一例としてのRAM53は、CPU51がプログラムを実行する際のワークエリアとして使用される。NVRAM54には、操作パネル30から入力される各種の設定値などが記憶される。
<機能および設定>
MFP1は、画像読取部20により原稿の画像を読み取り、その読み取った画像(画像データ)を画像形成部10によりプリント用紙などに出力したり、ネットワークインターフェース40を介して外部のPCなどに出力したりする読取機能を有している。
この読取機能の使用に際して、ユーザは、操作パネル30を操作して、スキャンタイプを設定することができる。スキャンタイプには、BW(白黒)、グレー、カラーおよびオートの4タイプが用意されている。「スキャンタイプ:BW」が設定されると、原稿の画像が白黒の二値画像(BW画像)として読み取られ、BW二値画像が出力される。「スキャンタイプ:グレー」が設定されると、原稿の画像が中間諧調を有する白黒画像であるグレー画像として読み取られ、256階調のグレーJpeg画像が出力される。「スキャンタイプ:カラー」が設定されると、原稿の画像がカラー画像として読み取られ、256階調のカラーJpeg画像が出力される。「スキャンタイプ:オート」が設定されると、原稿の画像の種別がBW画像、グレー画像およびカラー画像のいずれであるかが自動判定され、その判定結果に応じた画像が出力される。
なお、グレーJpeg画像およびカラーJpeg画像の諧調数は、一例であり、256諧調よりも少ない諧調数であってもよいし、256諧調よりも多い諧調数であってもよい。また、グレーJpeg画像およびカラーJpeg画像は、Jpeg形式のファイルであるが、出力画像のファイル形式は、たとえば、Tiff形式、XPS形式、PDF形式など、Jpeg形式以外のファイル形式であってもよい。
また、MFP1は、白紙除去機能を有している。白紙除去機能は、画像読取部20により読み取った原稿の画像が白紙画像であるか否かを判定し、白紙画像であった場合に、白紙画像を出力しない機能である。ユーザは、操作パネル30を操作して、白紙除去機能を有効にするか無効にするかを設定することができる。
<制御部の構成>
制御部50のCPU51は、プログラムを実行することにより、図2に示されるCIS制御部511、読取補正部512、画像処理部513、白紙判定部514、色数検出部515、Jpeg圧縮部516および二値変換部517の機能を実現する。
CIS制御部511は、画像読取部20に備えられているCIS(Contact Image Sensor)201およびAFE(Analog Front End)202を制御する。CIS制御部511の制御モードとして、カラー画像の読み取りに適したカラーモードと、BW画像およびグレー画像の読み取りに適したモノモードとが設けられている。CIS制御部511がCIS201およびAFE202を制御することにより、CIS201から原稿での反射光に応じたアナログ画像信号が出力され、AFE202において、そのアナログ画像信号が8ビット(0〜255)のデジタル画像データに変換される。
読取補正部512は、AFE202から出力される画像(8ビットのデジタル画像データ)に対して、原稿に照射される光量のむら(照明むら)やその他の原因による画素間濃度むらをなくすための読取補正(シェーディング補正)を行う。読取補正部512の補正モードとして、カラー画像に適した読取補正を行うカラーモードと、BW画像およびグレー画像に適した読取補正を行うモノモードとが設けられている。読取補正部512は、読取補正後の画像をRAM53に保存する。
画像処理部513は、読取補正後の画像に対して、各種の画像処理を行う。画像処理部513の処理モードとして、カラー画像に適した画像処理を行うカラーモードと、BW画像およびグレー画像に適した画像処理を行うモノモードとが設けられている。画像処理には、たとえば、画像のエッジを強調するエッジ強調処理、画像の解像度を変更する解像度変更処理および画像の色空間をRGBからYCbCrに変換する色変換処理などが含まれる。画像処理部513は、画像処理後の画像をRAM53に保存する。
また、画像処理部513は、たとえば、100×100画素を1ブロックとして、色変換処理後の画像を格子状に複数のブロックに分割し、各ブロックについて、Y成分(輝度成分)のヒストグラム、Cb成分(色差データ)のヒストグラムおよびCr成分(色差データ)のヒストグラムを作成する。そして、画像処理部513は、各ブロックについて作成したY成分のヒストグラム、Cb成分のヒストグラムおよびCr成分のヒストグラムをRAM53に保存する。
白紙判定部514は、画像処理部513による色変換処理後の画像が白紙画像であるか否かを判定する。
具体的には、白紙判定部514は、RAM53に保存されている各ブロックについてのY成分のヒストグラムを参照し、各ブロックについてのY成分の最頻値を求める。ほぼ白一色のブロックは、Y成分の最頻値が255近傍に集中する。また、画像全体がほぼ白一色である場合、各ブロックについてのY成分の最頻値のヒストグラムを作成すると、そのヒストグラムにおける最頻値が255近傍に集中する。そこで、白紙判定部514は、「各ブロックについてのY成分の最頻値のヒストグラムにおける最頻値」と一致するY成分の最頻値を有するブロックの数を求め、そのブロックの数が一定以上であれば、色変換処理後の画像が白紙画像であると判定する。そして、白紙判定部514は、その判定結果をRAM53に保存する。以下、白紙判定部514による判定を「多値判定」という。
なお、白紙除去機能が無効に設定されている場合、白紙判定部514が無効に設定され、多値判定は行われない。
色数検出部515は、色数検出を実行し、画像処理部513による色変換処理後の画像の種別がBW画像、グレー画像およびカラー画像のいずれであるかを判定する。
具体的には、色数検出部515は、RAM53に保存されている各ブロックについて、有彩色ブロックであるか、無彩色ブロックであるかを判定する。YCbCr色空間では、Cb成分の値およびCr成分の値の範囲をそれぞれ0〜255としたときに、Cb成分の値およびCr成分の値がそれぞれほぼ中間の値(=127)の近傍である画素の色が無彩色に近くなる。そこで、色数検出部515は、各ブロックについて、Cb成分のヒストグラムおよびCr成分のヒストグラムを参照し、たとえば、次式(1),(2)の両方が満たされていれば、無彩色ブロックであると判定し、次式(1),(2)の少なくとも一方が満たされていなければ、有彩色ブロックであると判定する。
112≦Cb成分の平均値<143 ・・・(1)
112≦Cr成分の平均値<143 ・・・(2)
なお、式(1),(2)中の数値は、単なる一例であり、適宜に変更されるとよい。下記の式(3)についても同様である。
その後、色数検出部515は、各無彩色ブロックについて、BWブロックであるか、グレーブロックであるかを判定する。YCbCr色空間では、Y成分の値、Cb成分の値およびCr成分の値の範囲をそれぞれ0〜255としたときに、Cb成分の値およびCr成分の値がそれぞれほぼ中間の値(=127)に近いとき、Y成分の値が0に近いほど、画素の色が黒に近づき、Y成分の値が255に近いほど、画素の色が白に近づく。そこで、色数検出部515は、各無彩色ブロックについて、Y成分のヒストグラムを参照し、たとえば、次式(3)が満たされていれば、BWブロックであると判定し、次式(3)が満たされていなければ、グレーブロックであると判定する。
「Y成分の値<63または224≦Y成分の値、を満たす画素の割合」≧40%
・・・(3)
そして、色数検出部515は、画像処理後の画像(1ページの画像)におけるCb成分およびCr成分の各最頻値がともに112以上143未満の範囲内であるか、または、画像処理後の画像に一定割合(たとえば、0.2%)以上のカラーブロックが含まれる場合には、画像処理後の画像の種別がカラー画像であると判定する。画像処理後の画像におけるCb成分およびCr成分の各最頻値の少なくとも一方が112以上143未満の範囲外であり、かつ、画像処理後の画像中のグレーブロックの割合が一定(たとえば、0.3%)以上である場合には、画像処理後の画像の種別がグレー画像であると判定する。また、画像処理後の画像におけるCb成分およびCr成分の各最頻値の少なくとも一方が112以上143未満の範囲外であり、かつ、画像処理後の画像中のグレーブロックの割合が一定未満である場合には、画像処理後の画像の種別がBW画像であると判定する。
なお、「スキャンタイプ:オート」が設定されている場合、色数検出部515が有効に設定され、「スキャンタイプ:BW」、「スキャンタイプ:グレー」および「スキャンタイプ:カラー」が設定されている場合には、色数検出部515が無効に設定される。色数検出部515が無効に設定されている場合、色数検出部515による前述の判定は行われない。
Jpeg圧縮部516は、RAM53に保存されている画像処理後の画像をJpeg方式で圧縮し、グレーJpeg多値画像またはカラーJpeg多値画像を生成する。
具体的には、Jpeg圧縮部516の動作モードには、グレーJpeg多値画像のみを生成するモードと、カラーJpeg多値画像のみを生成するモードとがあり、各動作モードが選択的に有効に設定されるか、すべての動作モードが無効に設定される。「スキャンタイプ:BW」が設定されている場合、Jpeg圧縮部516のすべての動作モードが無効に設定され、Jpeg圧縮部516は、グレーJpeg多値画像およびカラーJpeg多値画像のいずれも生成しない。「スキャンタイプ:グレー」が設定されている場合、グレーJpeg多値画像のみを生成するモードが有効(グレー)に設定され、Jpeg圧縮部516は、グレーJpeg多値画像のみを生成する。「スキャンタイプ:カラー」が設定されている場合、カラーJpeg多値画像のみを生成するモードが有効(カラー)に設定され、Jpeg圧縮部516は、カラーJpeg多値画像のみを生成する。また、「スキャンタイプ:オート」が設定されている場合、グレーJpeg多値画像またはカラーJpeg多値画像を生成するモードが有効(カラー/グレー)に設定され、Jpeg圧縮部516は、色数検出部515の判定結果に従って、グレーJpeg多値画像またはカラーJpeg多値画像のいずれかを生成する。そして、Jpeg圧縮部516は、生成したグレーJpeg多値画像またはカラーJpeg多値画像をRAM53に保存する。
二値変換部517は、「スキャンタイプ:BW」または「スキャンタイプ:オート」が設定されている場合に、有効に設定され、RAM53に記憶されている画像処理後の画像を二値変換し、BW二値画像を生成する。また、二値変換部517が有効に設定される場合、二値変換モードとして、単純二値化モードと誤差拡散モードとが選択的に設定される。通常は、単純二値化モードが設定され、二値変換部517は、画像処理後の画像の各画素について、Y成分の値が一定の閾値以上であれば、当該画素を白画素に変換し、Y成分の値が当該閾値未満であれば、当該画素を黒画素に変換する。二値変換部517は、生成したBW二値画像をRAM53に保存する。「スキャンタイプ:グレー」または「スキャンタイプ:カラー」が設定されている場合、二値変換部517が無効に設定され、二値変換部517によるBW二値画像の生成が行われない。
また、二値変換部517は、後述する二値判定処理を実行し、BW二値画像が白紙画像であるか否かを判定する。以下、二値変換部517による判定を「二値判定」という。
<読取処理>
ユーザにより操作パネル30が操作されて、原稿の画像の読み取りの指示が入力されると、制御部50のCPU51は、図3に示される読取処理を原稿の1ページごとに実行する。
読取処理では、CPU51は、ブロック設定処理を実行する(S1)。ブロック設定処理については、後述する。
ブロック設定処理の終了後、CPU51は、画像読取部20による原稿の読取動作を開始する(S2)。この読取動作の開始に伴い、図2に示されるCIS制御部511による処理が開始される。
その後、CPU51は、原稿の1ページの読み取りが終了したか否かを判断する(S3)。ADF方式で原稿の画像が読み取られる場合、たとえば、1ページ(1枚)の原稿が画像読取部20のCIS201上を通過し終えたことにより、原稿の1ページの読み取りが終了したと判断することができる。また、FB方式で原稿の画像が読み取られる場合、たとえば、CIS201が副走査方向に1往復したことにより、原稿の1ページの読み取りが終了したと判断することができる。
原稿の1ページの読み取りが終了していなければ(S3:NO)、再びS3に戻り、原稿の1ページの読み取りが終了すると(S3:YES)、読取補正部512および画像処理部513による処理が開始される。また、CPU51は、白紙除去機能が有効に設定されているか否かを判断する(S4)。
白紙除去機能が有効に設定されている場合(S4:YES)、白紙判定部514による多値判定が実行される。そして、CPU51は、白紙判定部514による多値判定の結果が「白紙画像」であったか否かを判断する(S5)。
多値判定の結果が「白紙画像」であった場合(S5:YES)、グレーJpeg多値画像またはカラーJpeg多値画像がRAM53に保存されている場合、CPU51は、それらをRAM53から削除し、読取処理を終了する。また、BW二値画像がRAM53に保存されている場合、CPU51は、それをRAM53から削除し(S6)、読取処理を終了する。
なお、スキャンタイプがオートに設定されているときには、画像処理部513による処理が終了すると、色数検出部515による色数検出が実行される。その後、色数検出の判定結果に応じて、Jpeg圧縮部516によりカラーJpeg多値画像が生成されるか、Jpeg圧縮部516によりグレーJpeg多値画像が生成されるか、または、Jpeg圧縮部516によりグレーJpeg多値画像が生成されるとともに、二値変換部517によりBW二値画像が生成され、その生成された画像がRAM53に保存される。スキャンタイプがカラーに設定されているときには、画像処理部513による処理後、Jpeg圧縮部516によりカラーJpeg多値画像が生成され、カラーJpeg多値画像がRAM53に保存される。スキャンタイプがグレーに設定されているときには、画像処理部513による処理後、Jpeg圧縮部516によりグレーJpeg多値画像が生成され、グレーJpeg多値画像がRAM53に保存される。スキャンタイプがBWに設定されているときには、画像処理部513による処理後、二値変換部517によりBW二値画像が生成され、BW二値画像がRAM53に保存される。
多値判定の結果が「白紙画像」でなかった場合には(S5:NO)、CPU51は、画像出力処理を実行して(S7)、読取処理を終了する。画像出力処理については、後述する。
一方、白紙除去機能が無効に設定されている場合には(S4:NO)、CPU51は、白紙非除去処理を実行して(S8)、読取処理を終了する。
<ブロック設定処理>
図3に示されるステップS1で実行されるブロック設定処理の流れは、図4に示されている。
ブロック設定処理では、CPU51は、初期設定処理を実行する(S11)。初期設定処理については、後述する。
初期設定処理の終了後、CPU51は、「スキャンタイプ:オート」が設定されているか否かを判断する(S12)。
「スキャンタイプ:オート」が設定されている場合(S12:YES)、CPU51は、オート設定処理を実行する(S13)。オート設定処理については、後述する。
「スキャンタイプ:オート」が設定されていない場合には(S12:NO)、CPU51は、「スキャンタイプ:カラー」が設定されているか否かを判断する(S14)。
「スキャンタイプ:カラー」が設定されている場合には(S14:YES)、CPU51は、カラー設定処理を実行する(S15)。カラー設定処理については、後述する。
「スキャンタイプ:オート」および「スキャンタイプ:カラー」のいずれも設定されていない場合(S14:NO)、CPU51は、モノ設定処理を実行する(S16)。モノ設定処理については、後述する。
オート設定処理、カラー設定処理またはモノ設定処理の終了後、CPU51は、白紙除去機能が有効に設定されているか否かを判断する(S17)。
白紙除去機能が有効に設定されている場合には(S17:YES)、CPU51は、白紙判定部514を有効に設定して(S18)、ブロック設定処理を終了する。
白紙除去機能が無効に設定されている場合には(S17:NO)、ステップS18の処理をスキップして、白紙判定部514を有効に設定せずに、ブロック設定処理を終了する。
<初期設定処理>
図4に示されるステップS11で実行される初期設定処理の内容は、図5に示されている。
初期設定処理において、CPU51は、Jpeg圧縮部516、二値変換部517、白紙判定部514および色数検出部515をすべて無効に設定し(S111,S112,S113,S114)、初期設定処理を終了する。
<オート設定処理>
図4に示されるステップS13で実行されるオート設定処理の内容は、図6に示されている。
オート設定処理において、CPU51は、以下の各種の設定を行う。
CIS制御部511の制御モードをカラー画像の読み取りに適したカラーモードに設定する(S131)。
読取補正部512の補正モードをカラー画像に適した読取補正を行うカラーモードに設定する(S132)。
画像処理部513の処理モードをカラー画像に適した画像処理を行うカラーモードに設定する(S133)。
Jpeg圧縮部516の動作モードとして、グレーJpeg多値画像またはカラーJpeg多値画像のいずれかを生成するモードを有効(カラー/グレー)に設定する(S134)。
二値変換部517を有効かつ単純二値化モードに設定する(S135)。
色数検出部515を有効に設定する(S136)。
<カラー設定処理>
図4に示されるステップS15で実行されるカラー設定処理の内容は、図7に示されている。
カラー設定処理において、CPU51は、以下の各種の設定を行う。
CIS制御部511の制御モードをカラー画像の読み取りに適したカラーモードに設定する(S151)。
読取補正部512の補正モードをカラー画像に適した読取補正を行うカラーモードに設定する(S152)。
画像処理部513の処理モードをカラー画像に適した画像処理を行うカラーモードに設定する(S153)。
Jpeg圧縮部516の動作モードとして、カラーJpeg多値画像のみを生成するモードを有効(カラー)に設定する(S154)。
<モノ設定処理>
図4に示されるステップS16で実行されるモノ設定処理の内容は、図8に示されている。
モノ設定処理において、CPU51は、CIS制御部511の制御モードをBW画像およびグレー画像の読み取りに適したモノモードに設定する(S161)。
また、読取補正部512の補正モードをBW画像およびグレー画像に適した読取補正を行うモノモードに設定する(S162)。
さらに、画像処理部513の処理モードをBW画像およびグレー画像に適した画像処理を行うモノモードに設定する(S163)。
その後、CPU51は、「スキャンタイプ:グレー」が設定されているか否かを判断する(S164)。
「スキャンタイプ:グレー」に設定されていない場合(S164:NO)、CPU51は、二値変換部517を有効かつ単純二値化モードに設定する(S165)。
そして、CPU51は、RAM53に十分な空き容量があるか否か、具体的には、RAM53の空き容量が規定量(たとえば、30MB)以上であるか否かを判断する(S166)。
空き容量が規定量以上である場合、CPU51は、RAM53に十分な空き容量があると判断し(S166:YES)、二値変換部517による画像の生成後も、RAM53に保存されている画像処理後の画像を消去せずに保存し続ける設定を行い(S167)、モノ設定処理を終了する。
空き容量が規定量未満である場合、CPU51は、RAM53に十分な空き容量がないと判断し(S166:NO)、ステップS167の処理をスキップして、モノ設定処理を終了する。この場合、二値変換部517による画像の生成後、RAM53に保存されている画像処理後の画像が消去される。
「スキャンタイプ:グレー」が設定されている場合には(S164:YES)、CPU51は、Jpeg圧縮部516の動作モードとして、グレーJpeg多値画像のみを生成するモードを有効(グレー)に設定し(S168)、モノ設定処理を終了する。
<画像出力処理(その1)>
図3に示されるステップS7で実行される画像出力処理の流れは、図9に示されている。
画像出力処理において、CPU51は、「スキャンタイプ:オート」が設定されているか否かを判断する(S701)。
「スキャンタイプ:オート」が設定されている場合には、前述のオート設定処理において、Jpeg圧縮部516の動作モードとして、グレーJpeg多値画像またはカラーJpeg多値画像を生成するモードが有効(カラー/グレー)に設定され、二値変換部517が有効に設定されている。
「スキャンタイプ:オート」が設定されている場合には(S701:YES)、CPU51は、色数検出部515による判定の結果が「BW画像」であったか否かを判断する(S702)。
色数検出部515による判定の結果が「BW画像」であった場合には(S702:YES)、二値変換部517の機能によるBW二値画像の生成および二値判定が実行される。また、前述したようにJpeg圧縮部516の機能によりグレーJpeg多値画像が生成される。そして、CPU51は、二値変換部517による二値判定の結果が「白紙画像」であったか否かを判断する(S703)。
二値判定の結果が「白紙画像」であった場合(S703:YES)、CPU51は、Jpeg圧縮部516の機能により、グレーJpeg多値画像を生成し、そのグレーJpeg多値画像を予め指定された出力先(たとえば、画像形成部10、LANに接続されたPCなど)に出力する(S704)。これにより、多値判定の結果が「白紙画像」でないにもかかわらず、二値判定の結果が「白紙画像」であった場合に、白紙画像ではなく、グレーJpeg多値画像を出力することができる。
グレーJpeg多値画像の出力後、CPU51は、画像出力処理を終了する。
また、二値判定の結果が「白紙画像」でなかった場合(S703:NO)、CPU51は、二値変換部517の機能により作成したBW二値画像を予め指定された出力先に出力し(S705)、画像出力処理を終了する。
一方、色数検出部515の判定の結果が「BW画像」でなかった場合には(S702:NO)、CPU51は、色数検出部515の判定の結果が「カラー画像」であったか否かを判断する(ステップS706)
色数検出部515の判定の結果が「カラー画像」であった場合には(S706:YES)、CPU51は、Jpeg圧縮部516の機能により、カラーJpeg多値画像を生成し、そのカラーJpeg多値画像を予め指定された出力先に出力する(S707)。そして、CPU51は、画像出力処理を終了する。
また、色数検出部515の判定の結果が「BW画像」および「カラー画像」でなかった場合には(S706:NO)、CPU51は、Jpeg圧縮部516の機能により、グレーJpeg多値画像を生成し、そのグレーJpeg多値画像を予め指定された出力先に出力する(S704)。そして、CPU51は、画像出力処理を終了する。
「スキャンタイプ:オート」が設定されていない場合(S701:NO)、CPU51は、「スキャンタイプ:BW」が設定されているか否かを判断する(S708)。
「スキャンタイプ:BW」が設定されている場合には、前述のモノ設定処理において、二値変換部517が有効に設定されている。
「スキャンタイプ:BW」が設定されている場合(S708:YES)、二値変換部517の機能による二値変換および二値判定が実行される。そして、CPU51は、二値変換部517による二値判定の結果が「白紙画像」であったか否かを判断する(S709)。
二値判定の結果が「白紙画像」であった場合には(S709:YES)、CPU51は、二値画像出力処理を実行して(S710)、画像出力処理を終了する。
二値判定の結果が「白紙画像」でなかった場合には(S709:NO)、CPU51は、二値変換部517の機能により作成したBW二値画像を予め指定された出力先に出力し(S711)、画像出力処理を終了する。
「スキャンタイプ:BW」が設定されていない場合には(S708:NO)、CPU51は、「スキャンタイプ:グレー」が設定されているか否かを判断する(S712)。
「スキャンタイプ:グレー」が設定されている場合には、前述のモノ設定処理において、Jpeg圧縮部516の動作モードとして、グレーJpeg多値画像のみを生成するモードが有効(グレー)に設定されている。
「スキャンタイプ:グレー」が設定されている場合には(S712:YES)、CPU51は、Jpeg圧縮部516の機能により作成したグレーJpeg多値画像を予め指定された出力先に出力し(S713)、画像出力処理を終了する。
「スキャンタイプ:オート」、「スキャンタイプ:BW」および「スキャンタイプ:グレー」のいずれも設定されてない場合、つまり「スキャンタイプ:カラー」が設定されている場合には(S712:NO)、前述のカラー設定処理において、Jpeg圧縮部516の動作モードとして、カラーJpeg多値画像のみを生成するモードが有効(カラー)に設定されている。この場合、CPU51は、Jpeg圧縮部516の機能により作成したカラーJpeg多値画像を予め指定された出力先に出力し(S714)、画像出力処理を終了する。
<白紙非除去処理>
図3に示されるステップS8で実行される白紙非除去処理の流れは、図10に示されている。
白紙非除去処理において、CPU51は、「スキャンタイプ:オート」が設定されているか否かを判断する(S801)。
「スキャンタイプ:オート」が設定されている場合には、前述のオート設定処理において、Jpeg圧縮部516の動作モードとして、グレーJpeg多値画像またはカラーJpeg多値画像を生成するモードが有効(カラー/グレー)に設定され、二値変換部517が有効に設定されている。
「スキャンタイプ:オート」が設定されている場合には(S801:YES)、CPU51は、色数検出部515による判定の結果が「BW画像」であったか否かを判断する(S802)。
色数検出部515の判定の結果が「BW画像」でなかった場合には(S802:NO)、CPU51は、色数検出部515の判定の結果が「カラー画像」であったか否かを判断する(ステップS803)
色数検出部515の判定の結果が「カラー画像」であった場合には(S803:YES)、CPU51は、Jpeg圧縮部516の機能により、カラーJpeg多値画像を生成し、そのカラーJpeg多値画像を予め指定された出力先に出力する(S804)。そして、CPU51は、白紙非除去処理を終了する。
また、色数検出部515の判定の結果が「BW画像」および「カラー画像」でなかった場合には(S803:NO)、CPU51は、Jpeg圧縮部516の機能により、グレーJpeg多値画像を生成し、そのグレーJpeg多値画像を予め指定された出力先に出力する(S805)。そして、CPU51は、白紙非除去処理を終了する。
色数検出部515による判定の結果が「BW画像」であった場合には(S802:YES)、CPU51は、二値変換部517の機能により生成したBW二値画像を予め指定された出力先に出力し(S806)、白紙非除去処理を終了する。
一方、「スキャンタイプ:オート」が設定されていない場合(S801:NO)、CPU51は、「スキャンタイプ:カラー」が設定されているか否かを判断する(S807)。
「スキャンタイプ:カラー」が設定されてない場合(S807:NO)、CPU51は、「スキャンタイプ:BW」が設定されているか否かを判断する(S808)。
「スキャンタイプ:BW」が設定されている場合には、前述のモノ設定処理において、二値変換部517が有効に設定されている。
「スキャンタイプ:BW」が設定されている場合(S808:YES)、CPU51は、二値変換部517の機能により作成したBW二値画像を予め指定された出力先に出力し(S809)、白紙非除去処理を終了する。
「スキャンタイプ:オート」、「スキャンタイプ:カラー」および「スキャンタイプ:BW」のいずれも設定されてない場合、つまり「スキャンタイプ:グレー」が設定されている場合には(S808:NO)、前述のモノ設定処理において、Jpeg圧縮部516の動作モードとして、グレーJpeg多値画像のみを生成するモードが有効(グレー)に設定されている。この場合、CPU51は、Jpeg圧縮部516の機能により作成したグレーJpeg多値画像を予め指定された出力先に出力し(S810)、白紙非除去処理を終了する。
「スキャンタイプ:カラー」が設定されている場合(S807:YES)、前述のカラー設定処理において、Jpeg圧縮部516の動作モードとして、カラーJpeg多値画像のみを生成するモードが有効(カラー)に設定されている。この場合、CPU51は、Jpeg圧縮部516の機能により作成したカラーJpeg多値画像を予め指定された出力先に出力する(S811)、白紙非除去処理を終了する。
<二値画像出力処理>
図9に示されるステップS710で実行される二値画像出力処理の流れは、図11に示されている。
二値画像出力処理では、CPU51は、画像処理後の画像がRAM53に保存されているか否かを判断する(S31)。
画像処理後の画像がRAM53に保存されている場合には(S31:YES)、CPU51は、第2変換処理を実行して(S32)、二値画像出力処理を終了する。第2変換処理については、後述する。
画像処理後の画像がRAM53に保存されていない場合には(S31:NO)、CPU51は、第2変換処理を実行できないので、RAM53に記憶されているBW二値画像を削除し(S33)、画像を出力せずに、二値画像出力処理を終了する。
<第2変換処理(その1)>
図11に示されるステップS32で実行される第2変換処理の一例は、図12に示されている。
第2変換処理では、CPU51は、二値変換部517の二値変換モードを単純二値化モードから誤差拡散モードに切り換える(S321)。
そして、CPU51は、RAM53に記憶されている画像処理後の画像を二値変換部517の機能により二値変換して、BW二値画像を再生成する(S322)。
その後、CPU51は、再生成したBW二値画像を予め指定された出力先に出力し(S323)、第2変換処理を終了する。
なお、図12に示される第2変換処理は、当該第2変換処理が実行されることが決定される前に、予め実行されていてもよい。
<二値判定処理(その1)>
二値変換部517による二値判定処理の流れは、図13に示されている。
二値判定処理では、CPU51は、BW二値画像における黒画素のドット数(画素数)が所定の閾値、たとえば、10ドット以上であるか否かを判定する(S101)。
黒画素のドット数が10ドット以上である場合には(S101:YES)、CPU51は、BW二値画像が白紙画像でないと判定し、その判定結果をRAM53に保存し(S102)、二値判定処理を終了する。
黒画素のドット数が10ドットより少ない場合には(S101:NO)、CPU51は、BW二値画像が白紙画像であると判定し、その判定結果をRAM53に保存し(S103)、二値判定処理を終了する。
このように、BW二値画像における黒画素のドット数を計数し、その計数したドット数と閾値とを比較することにより、BW二値画像が白紙画像であるか否かを容易に判定することができる。また、二値判定の手法が簡単であるので、二値判定処理の高速化を期待することができる。
<作用効果>
以上のように、画像読取部20により多値画像が取得されて画像処理が行われた後、画像処理後の画像が生成されると、白紙判定部514による多値判定が実行される。そして、スキャンタイプの設定が判断されて、「スキャンタイプ:オート」が設定されている場合には、色数検出部515による色数検出が実行される。
白紙除去機能が無効に設定されている場合において、「スキャンタイプ:BW」が設定されているか、色数検出部515の判定の結果が「BW画像」である場合、二値変換部517の機能による単純二値化モードでの二値変換により生成されたBW二値画像が出力される。白紙除去機能が無効にされているので、単純二値化モードでの二値変換により画像処理後の画像の全画素が白画素に変換されて、白紙画像が出力されても、出力結果に問題はない。
白紙除去機能が有効に設定されている場合において、白紙判定部514の多値判定の結果が「白紙画像」である場合、画像が出力されない。そのため、白紙判定部514の多値判定の結果と、白紙除去機能により画像が出力されないという結果とが一致する。
また、白紙除去機能が有効に設定されている場合において、白紙判定部514の多値判定の結果が「白紙画像」でなく、「スキャンタイプ:BW」が設定されており、二値変換部517の二値判定の結果が「白紙画像」である場合には、誤差拡散モードでの二値変換により生成されたBW二値画像が出力される。二値変換部517の二値判定の結果が「白紙画像」でない場合には、単純二値化モードでの二値変換により生成されたBW二値画像が出力される。
白紙除去機能が有効に設定されている場合において、白紙判定部514の多値判定の結果が「白紙画像」でなく、色数検出部515の判定の結果が「BW画像」であり、二値変換部517による二値判定の結果が「白紙画像」である場合には、グレーJpeg多値画像が出力される。二値変換部517による二値判定の結果が「白紙画像」でない場合には、単純二値化モードでの二値変換により生成されたBW二値画像が出力される。
誤差拡散モードでの二値変換またはJpeg圧縮部516によるグレーJpeg多値画像への変換では、単純二値化モードでの二値変換よりも、画像処理後の画像の各画素が白画素に変換されることを抑制できる。その結果、白紙判定部514の多値判定の結果が「白紙画像」でないにもかかわらず、白紙画像が出力されることを抑制できる。よって、白紙判定部514の多値判定の結果と矛盾しない出力結果を期待することができる。
また、制御部50は、RAM53の空き容量が規定量以上の場合には、画像処理後の画像をRAM53に保存させる。RAM53の空き容量が規定量よりも少ない場合には、画像処理後の画像をRAM53に保存させない。
RAM53の空き容量に余裕がある場合には、画像処理後の画像がRAM53に保存されている。そのため、誤差拡散モードでの二値変換により生成されるBW二値画像を出力する必要が生じた場合、つまり白紙判定部514による多値判定の結果が「白紙画像」でなく、かつ、二値変換部517による二値判定の結果が「白紙画像」である場合に、RAM53に保存されている画像処理後の画像を、誤差拡散モードでの二値変換に使用することができる。
一方、RAM53の空き容量に余裕がない場合には、画像処理後の画像がRAM53に保存されないので、画像処理後の画像によりRAM53が圧迫されることを抑制できる。この場合、白紙判定部514の多値判定の結果が「白紙画像」でなくても、誤差拡散モードでの二値変換によるBW二値画像の出力が不可能であるので、二値変換部517の二値判定の結果が「白紙画像」であると判定された場合には、画像が出力されない。
また、「スキャンタイプ:オート」が設定されている場合、色数検出部515による色数検出が行われ、その判定結果が「BW画像」であった場合に、グレーJpeg多値画像の出力が決定される前に、グレーJpeg多値画像が生成されている。
グレーJpeg多値画像が予め生成されているので、グレーJpeg多値画像の出力の高速化を期待することができる。すなわち、多値判定の結果が「白紙画像」でなく、二値判定の結果が「白紙画像」でない場合に、判定と矛盾しない出力が高速に行われることを期待できる。
<第2変換処理(その2)>
図11に示されるステップS32で実行される第2変換処理は、図14に示される処理であってもよい。
図14に示される第2変換処理では、CPU51は、二値変換部517の機能による単純二値化モードでの二値変換に使用する閾値を低濃度側に変更する(S324)。このとき、CPU51は、画像全体についてのY成分のヒストグラムを作成して、少なくとも一部の画素が黒画素に変換されるように閾値を変更する。
そして、CPU51は、二値変換部517の機能による単純二値化モードでの二値変換を再び実行して、BW二値画像を再生成する(S325)。
その後、CPU51は、再生成したBW二値画像を予め指定された出力先に出力し(S326)、第2変換処理を終了する。
これにより、白紙画像が出力されにくくなる。
なお、図14に示される第2変換処理は、当該第2変換処理が実行されることが決定される前に、予め実行されていてもよい。
<第2変換処理(その3)>
図11に示されるステップS32で実行される第2変換処理は、図15に示される処理であってもよい。
図15に示される第2変換処理では、CPU51は、Jpeg圧縮部516の動作モードとして、グレーJpeg多値画像のみを生成するモードを有効(グレー)に設定する(S327)。
そして、CPU51は、Jpeg圧縮部516の機能により、グレーJpeg多値画像を生成する(S328)。
その後、CPU51は、そのグレーJpeg多値画像を予め指定された出力先に出力して(S329)、第2変換処理を終了する。
なお、図15に示される第2変換処理は、当該第2変換処理が実行されることが決定される前に、予め実行されていてもよい。
<二値判定処理(その2)>
二値変換部517の機能により生成されるBW二値画像が圧縮されて出力される場合、二値変換部517による二値判定処理は、図16に示される処理であってもよい。
BW二値画像に含まれる白画素の数が多いほど、BW二値画像の圧縮率が高くなり、圧縮後のBW二値画像のファイルサイズが小さくなる。そこで、CPU51は、BW二値画像のファイルサイズが所定の閾値、たとえば、1kB(キロバイト)以上であるか否かを判定する(S201)。
BW二値画像のファイルサイズが1kB以上である場合には(S201:YES)、CPU51は、BW二値画像が白紙画像でないと判定し、その判定結果をRAM53に保存する(S202)。
BW二値画像のファイルサイズが1kBより少ない場合には(S201:NO)、CPU51は、BW二値画像が白紙画像であると判定し、その判定結果をRAM53に保存する(S203)。
このように、圧縮後のBW二値画像のファイルサイズと閾値とを比較することにより、BW二値画像が白紙画像であるか否かを容易に判定することができる。また、二値判定の手法が簡単であるので、二値判定処理の高速化を期待することができる。
<画像出力処理(その2)>
図3に示されるステップS7で実行される画像出力処理は、図17に示される処理であってもよい。
図17に示される画像出力処理では、CPU51は、「スキャンタイプ:オート」が設定されているか否かを判断する(S721)。
「スキャンタイプ:オート」が設定されている場合には、前述のオート設定処理において、Jpeg圧縮部516の動作モードとして、グレーJpeg多値画像またはカラーJpeg多値画像を生成するモードが有効(カラー/グレー)に設定され、二値変換部517が有効に設定されている。
「スキャンタイプ:オート」が設定されている場合には(S721:YES)、CPU51は、色数検出部515による判定の結果が「BW画像」であったか否かを判断する(S722)。
色数検出部515による判定の結果が「BW画像」であった場合には(S722:YES)、二値変換部517の機能によるBW二値画像の生成および二値判定が実行される。生成されたBW二値画像は、RAM53に保存される。そして、CPU51は、二値変換部517による二値判定の結果が「白紙画像」であったか否かを判断する(S723)。
二値判定の結果が「白紙画像」であった場合(S723:YES)、CPU51は、RAM53に保存されているBW二値画像を削除する(S724)。BW二値画像の削除後、CPU51は、画像出力処理を終了する。
また、二値判定の結果が「白紙画像」でなかった場合(S723:NO)、CPU51は、RAM53に保存されているBW二値画像を予め指定された出力先に出力し(S725)、画像出力処理を終了する。
一方、色数検出部515の判定の結果が「BW画像」でなかった場合には(S722:NO)、CPU51は、色数検出部515の判定の結果が「カラー画像」であったか否かを判断する(ステップS726)
色数検出部515の判定の結果が「カラー画像」であった場合には(S726:YES)、CPU51は、Jpeg圧縮部516の機能により、カラーJpeg多値画像を生成し、そのカラーJpeg多値画像を予め指定された出力先に出力する(S727)。そして、CPU51は、画像出力処理を終了する。
また、色数検出部515の判定の結果が「BW画像」および「カラー画像」でなかった場合には(S726:NO)、CPU51は、Jpeg圧縮部516の機能により、グレーJpeg多値画像を生成し、そのグレーJpeg多値画像を予め指定された出力先に出力する(S728)。そして、CPU51は、画像出力処理を終了する。
「スキャンタイプ:オート」が設定されていない場合(S721:NO)、CPU51は、「スキャンタイプ:BW」が設定されているか否かを判断する(S729)。
「スキャンタイプ:BW」が設定されている場合には、前述のモノ設定処理において、二値変換部517が有効に設定されている。
「スキャンタイプ:BW」が設定されている場合(S729:YES)、二値変換部517の機能によるBW二値画像の生成および二値判定が実行される。生成されたBW二値画像は、RAM53に保存される。そして、CPU51は、二値変換部517による二値判定の結果が「白紙画像」であったか否かを判断する(S730)。
二値判定の結果が「白紙画像」であった場合には(S730:YES)、CPU51は、RAM53に保存されているBW二値画像を削除する(S731)。BW二値画像の削除後、CPU51は、画像出力処理を終了する。
二値判定の結果が「白紙画像」でなかった場合には(S730:NO)、CPU51は、RAM53に保存されているBW二値画像を予め指定された出力先に出力し(S732)、画像出力処理を終了する。
「スキャンタイプ:BW」が設定されていない場合には(S729:NO)、CPU51は、「スキャンタイプ:グレー」が設定されているか否かを判断する(S733)。
「スキャンタイプ:グレー」が設定されている場合には、前述のモノ設定処理において、Jpeg圧縮部516の動作モードとして、グレーJpeg多値画像のみを生成するモードが有効(グレー)に設定されている。
「スキャンタイプ:グレー」が設定されている場合には(S733:YES)、CPU51は、Jpeg圧縮部516の機能により作成したグレーJpeg多値画像を予め指定された出力先に出力し(S734)、画像出力処理を終了する。
「スキャンタイプ:オート」、「スキャンタイプ:BW」および「スキャンタイプ:グレー」のいずれも設定されてない場合、つまり「スキャンタイプ:カラー」が設定されている場合には(S733:NO)、前述のカラー設定処理において、Jpeg圧縮部516の動作モードとして、カラーJpeg多値画像のみを生成するモードが有効(カラー)に設定されている。この場合、CPU51は、Jpeg圧縮部516の機能により作成したカラーJpeg多値画像を予め指定された出力先に出力し(S735)、画像出力処理を終了する。
このように、白紙判定部514の多値判定の結果が「白紙画像」でなく、色数検出部515の判定の結果が「BW画像」であり、二値変換部517による二値判定の結果が「白紙画像」である場合には、RAM53に保存されているBW二値画像が削除されるので、画像が出力されない。また、白紙判定部514の多値判定の結果が「白紙画像」でなく、「スキャンタイプ:BW」が設定されており、二値変換部517の二値判定の結果が「白紙画像」である場合には、RAM53に保存されているBW二値画像が削除されるので、画像が出力されない。そのため、二値変換部517による二値判定の結果と画像が出力されないという結果が一致する。
よって、二値判定処理による二値判定の結果と矛盾しない出力結果を期待することができる。すなわち、予め指定された出力先に出力される出力画像としてRAM53に保存されているBW二値画像が白紙画像であるか否かが判定され(二値判定)、BW二値画像が白紙画像であると判定された場合には、当該BW二値画像が削除される。そのため、白紙除去機能が有効に設定されている場合において、白紙画像であるBW二値画像が出力されることを抑制できる。
<変形例>
以上、本発明の実施の形態について説明したが、本発明は、さらに他の形態で実施することもできる。
前述の実施形態では、白紙判定部514による多値判定の結果が「白紙画像」でなく、「スキャンタイプ:オート」が設定され、かつ、二値変換部517による二値判定の結果が「白紙画像」であった場合に、グレーJpeg多値画像が出力されるとした。しかしながら、多値判定の結果が「白紙画像」でないにもかかわらず、二値判定の結果が「白紙画像」であった場合に、グレーJpeg多値画像ではなく、図11に示す二値画像出力処理が実行されて、その二値画像出力処理中の第2変換処理(図12または図14に示される処理)により生成されるBW二値画像が出力されてもよい。
その場合、第2変換処理に用いられる画像処理後の画像は、RAM53に十分な空き容量があるか否かに応じて、画像処理後の画像を保存するか否かが決定されるとよい。
また、前述の実施形態では、CPU51が各処理を実行する場合について説明した。しかしながら、ASIC55が各処理を実行してもよいし、CPU51とASIC55とが協働して各処理を実行してもよい。また、制御部50が複数のCPUを備え、複数のCPUが協働して各処理を実行してもよい。
また、インターネットに接続されたPC(コンピュータ)に、MFP1のCPU51が実行する各処理のプログラムがインストールされて、PCにおいて、CPU51が実行する各処理と同様の処理が実行されてもよい。
さらには、インターネットに接続されたPCに限らず、LAN(Local Area Network)を介してMFP1と接続されたPC(図示せず)に、MFP1のCPU51が実行する各処理のプログラムがインストールされて、そのPCにおいて、CPU51が実行する各処理と同様の処理が実行されてもよい。
また、前述の実施形態では、画像処理装置の一例として、画像形成部10による印刷機能および画像読取部20による読取機能を有するMFP1を取り上げたが、画像処理装置は、読取機能を有する読取装置など、単機能の装置であってもよい。
その他、前述の構成には、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。