以下,本発明にかかる画像読取装置を具体化した実施の形態について,添付図面を参照しつつ詳細に説明する。本形態は,画像読取機能および画像形成機能を備えた複合機(MFP:Multi Function Peripheral )に本発明を適用したものである。
本形態のMFP100は,図1に示すように,装置の下方に位置し,シートに画像を印刷する画像形成部1と,装置の上方に位置し,原稿の画像を読み取る画像読取部2とを備えている。画像形成部1の画像形成方式は,電子写真方式であっても,インクジェット方式であってもよい。また,カラー画像の形成が可能であっても,モノクロ画像専用であってもよい。
画像読取部2は,画像の読み取りを行う本体部10と,原稿の自動搬送を行う自動原稿供給装置(ADF:Auto Document Feeder)20とを備えている。ADF20は,搬送部の一例である。ADF20は,本体部10よりも上方に位置するとともに一辺が本体部10と接続し,本体部10に対して回動自在に設けられている。そのため,画像読取部2は,ADF20によって本体部10の上面を開閉することができる。つまり,ADF20は,本体部10の上面を覆うカバーを兼ねる。なお,図1は,ADF20を閉じた状態を示している。
また,MFP100は,その前面側に,各種のボタン(例えば,スタートキー,ストップキー,テンキーの各ボタン)によって構成されるボタン群41,液晶ディスプレイからなる表示部42を備えた操作パネル40を備えている。このボタン群41や表示部42により,動作状況の表示やユーザによる操作の入力が可能になっている。
続いて,画像読取部2の内部構成について,図2を参照しつつ説明する。なお,図2は,ADF20を閉じた状態での,画像読取部2の断面構成(図1のA−A断面)を示しており,本体部10上にADF20が載置された状態になっている。
本体部10は,その上面に,コンタクトガラス11,12を備えている。さらに,本体部10の内部であってコンタクトガラス11,12の下方には,原稿の画像を読み取るイメージセンサ15(読取部の一例)が設けられている。イメージセンサ15は,主走査方向(図2の奥行き方向)に光学素子が一列に並んで配置されており,原稿に向けて光を照射し,その原稿からの反射光を電気信号に変換して出力する。イメージセンサ15としては,例えば,CIS(Contact Image Sensor)やCCD(Charge Coupled Device)が適用可能である。
イメージセンサ15は,スライド軸13に対してスライド自在に支持されている。このスライド軸13は,副走査方向(図2中の左右方向)に延び,両端部が本体部10の筐体に固定されている。そのため,イメージセンサ15は,図2中の左右方向に移動可能に設けられている。
ADF20は,読み取り前の原稿を載置する原稿トレイ21と,原稿トレイ21上の原稿を給紙する給紙ローラ26と,読み取り後の原稿を載置する排出トレイ22と,読み取り後の原稿を排出トレイ22に排紙する排紙ローラ27とを備えている。原稿トレイ21は,排出トレイ22の上方に設けられている。また,ADF20の内部には,原稿が搬送される経路として,原稿トレイ21と排出トレイ22とを連結する略U字状の搬送路25が設けられている。また,ADF20は,その下面に開口部23が設けられ,その開口部23から原稿押さえ板24が露出するように配置されている。この原稿押さえ板24は,ADF20を閉じた状態でコンタクトガラス12と対向している。
また,ADF20は,原稿の有無を検知するためのセンサとして,フロントセンサ71とリアセンサ72とを備えている。フロントセンサ71は,搬送路25のうち,原稿の搬送方向の,給紙ローラ26の直後に配置される。リアセンサ72は,搬送路25のうち,原稿の搬送方向の,原稿押さえ板24の直前に配置される。フロントセンサ71およびリアセンサ72は,例えば,揺動片付きの光透過センサであり,それぞれの位置に原稿が有るか否かに応じて,出力レベルの異なる信号を出力する。本形態では,原稿が有る場合にはオンレベルとなり,原稿が無い場合にはオフレベルとなる信号を出力するセンサを用いる。MFP100は,フロントセンサ71ないしリアセンサ72から出力される信号に基づいて,搬送路25内の原稿の位置を推測できる。
また,イメージセンサ15を利用した原稿の読取方式としては,フラットベッド(原稿固定走査)方式と,ADF(原稿移動走査)方式とがある。フラットベッド方式の場合,原稿がコンタクトガラス11上に載置される。その状態で,MFP100は,イメージセンサ15を副走査方向に移動させ,その際に主走査方向に1ラインずつ原稿の画像を読み取る。すなわち,フラットベッド方式では,イメージセンサ15がコンタクトガラス11の下を移動する範囲全体がイメージセンサ15の読取位置となる。
一方,ADF方式の場合,複数の原稿が纏めて原稿トレイ21に載置される。そして,MFP100は,前述したようにイメージセンサ15を原稿押さえ板24に対向する位置に移動させ,固定する。その状態で,原稿トレイ21に載置された原稿を1枚ずつ給紙し,その原稿を本体部10のコンタクトガラス12に対向する位置に搬送する。具体的には,原稿を原稿押さえ板24とコンタクトガラス12との間を通過させる。MFP100は,イメージセンサ15を原稿押さえ板24と対向する位置に配置し,原稿が原稿押さえ板24とコンタクトガラス12との間を通過する際に,原稿の画像をイメージセンサ15に読み取らせる。その後,その原稿を排出トレイ22上に排出する。すなわち,ADF方式では,原稿押さえ板24と対向する位置がイメージセンサ15の読取位置となる。
続いて,本形態のMFP100の電気的構成について説明する。本形態のMFP100は,図3に示すように,CPU31と,ROM32と,RAM33と,NVRAM(Non Volatile RAM)34と,ASIC35とを有するコントローラ30を備えている。また,MFP100は,前述した画像形成部1および画像読取部2と,ユーザからの入力操作を受け付ける操作パネル40と,外部デバイスと接続するための通信インターフェース37とを備え,これらがCPU31によって制御される。なお,図3中のコントローラ30は,CPU31等,MFP100の制御に利用されるハードウェアを纏めた総称であって,実際にMFP100に存在する単一のハードウェアを表すとは限らない。
ROM32には,MFP100を制御するための制御プログラムであるファームウェアや各種設定,初期値等が記憶されている。RAM33は,各種制御プログラムが読み出される作業領域として,あるいは画像データを一時的に記憶する記憶領域として利用される。
CPU31は,ROM32から読み出した制御プログラムや各種センサから送られる信号に従って,その処理結果をRAM33またはNVRAM34に記憶させながら,MFP100の各構成要素を制御する。CPU31は,制御部の一例である。なお,コントローラ30が制御部であってもよいし,ASIC35が制御部であってもよい。
通信インターフェース37は,他の装置との通信を可能にするハードウェアである。具体的な通信インターフェース37としては,例えば,有線LANインターフェース,無線LANインターフェース,シリアル通信インターフェースが該当する。MFP100は,画像読取部2にて読み取られた画像データを,通信インターフェース37を介して外部デバイスに送信できる。
続いて,MFP100の制御の第1の形態について説明する。始めに,画像読取部2に原稿の画像の読み取りを行わせる読取処理について,図4のフローチャートを参照しつつ説明する。読取処理は,操作パネル40への入力操作によって読取指示が入力されたことや,通信インターフェース37を介して外部デバイスからの読取指示を受信したこと等の,読取指示を受け付けたことを契機に,CPU31によって実行される。
第1の形態の読取処理では,先ずMFP100は,ADF20の原稿トレイ21に原稿が有るか否かを判断する(S100)。ADF20の原稿トレイ21に原稿が無ければ(S100:NO),MFP100はコンタクトガラス11に原稿がセットされているものと見做し,フラットベッド方式での原稿の読み取りを行う(S111)。フラットベッド方式での原稿の読み取りの詳細については省略する。S111の後は,MFP100は読取処理を終了する。
ADF20の原稿トレイ21に原稿が有れば(S100:YES),MFP100はイメージセンサ15についての準備動作を行う(S101)。具体的にS101では,光量調整や,シェーディング補正を,必要に応じて実行する。準備動作は,イメージセンサ15をコンタクトガラス11に移動させて行ってもよいし,イメージセンサ15を原稿押さえ板24と対向する位置に移動させて行ってもよい。この他,S101の後,MFP100は,読取位置での異物の有無を検知する異物検知処理を実行する(S102)。
図5は,S102の異物検知処理の手順を示している。異物検知処理では,先ずMFP100は,1ライン分の読み取りをイメージセンサ15に行わせる(S140)。すなわち,MFP100は,イメージセンサ15を原稿押さえ板24と対向する位置に固定し,原稿の搬送開始前に,読取位置に原稿が無い状態での読み取りを行う。S140は,プレ読取処理の一例である。また,S140によって読み取られた画像データがプレ読取画像データの一例である。
S140では,原稿押さえ板24が読み取られることになる。原稿押さえ板24は,白板であり,コンタクトガラス12は透明板であることから,イメージセンサ15と原稿押さえ板24との間にゴミや塵等の異物が無ければ,1ライン分の白色の画像データが得られる。一方で,読取位置に異物が有る場合には,その異物が読み取られる。
S140の後,MFP100は,読み取られた1ライン分の画像データを100画素単位のブロックに分割する(S141)。そして,MFP100は先頭のブロックを抽出する(S142)。また,MFP100は,抽出したブロックの異物画素数を0にする(S143)。異物画素数は,異物が検知された画素の合計値を記憶する情報であり,後述する基準値設定処理でも用いられる。
そして,MFP100は,抽出されたブロックに基づいて,画素ごとに異物が読み取られたか否かを判断する。具体的にMFP100は先ず,先頭画素の画素値を抽出する(S144)。画素値としては,異物か否かを判断できる情報であればよく,本形態ではRGBデータのうちのG(グリーン)成分の情報を画素値として抽出する。なお,異物の判断に用いる画素値は,G成分の値に限らず,R(レッド)やB(ブルー)の成分でもよく,変換式や変換テーブルを利用して画像データから変換して得られる輝度の成分であってもよい。G成分の値は,読み取った画素が白色に近いほど255に近く,黒色に近いほど0に近い。なお,輝度を用いる方がRGBデータよりも高精度に異物を判断できる。
S144の後,MFP100は,抽出した画素値が異物閾値よりも小さいか否かを判断する(S145)。異物閾値は,黒色に近い色か否かを判断するための値であり,例えば30が設定される。すなわち,S145では,抽出した画素値が,下地色を含まない所定の範囲内か否かが判断される。なお,異物閾値は,比較する成分によって異なる。例えば,R成分やB成分は視認し難い。そのため,異物閾値を,G成分のときよりも0に近い値とする。
抽出した画素値が異物閾値よりも小さい場合(S145:YES),MFP100は異物が有ったと判断し,異物画素数を1つ加算する(S151)。S144,S145およびS151は,検知処理の一例である。S151の後,あるいは抽出した画素値が異物閾値よりも小さくない場合(S145:NO),MFP100は1ブロック分の全画素の判断が終了したか否かを判断する(S146)。
1ブロック分の全画素の判断が終了していない場合(S146:NO),MFP100はS144に移行して未判断の画素を抽出し,異物が有るか否かの判断を繰り返す。一方,1ブロック分の全画素の判断が終了した場合には(S146:YES),MFP100はブロックごとの異物画素数を,RAM33ないしNVRAM34に記憶する(S147)。
S147の後は,MFP100は全ブロックの異物検知が終了したか否かを判断する(S148)。異物検知を行っていないブロックがある場合には(S148:NO),MFP100はS142に移行し,異物検知を行っていないブロックを抽出して当該ブロックの異物検知を行う。全ブロックの異物検知が終了した場合には(S148:YES),異物検知処理を終了する。異物検知処理が終了した段階では,ブロックごとの異物画素数が記憶される。
図4の説明に戻り,S102の異物検知処理の後は,MFP100は,原稿の種類を判定するための各種の判定基準値を設定する基準値設定処理を実行する(S103)。S103は,変更処理の一例である。
図6は,S103の基準値設定処理の手順を示している。基準値設定処理では,先ず,白紙除去機能が有効か否かを判断する(S161)。白紙除去機能は,読み取った画像データのうち,白紙と判定されたページを除去して出力する機能であり,読み取った画像データが白紙を読み取ったデータか否かを判定するための基準値が必要となる。白紙除去機能が有効か無効かの設定は,操作パネル40を介して設定可能であり,設定内容はNVRAM34に記憶されている。また,外部デバイスから受け付けた読取指示に白紙除去機能に関する設定情報があれば,その設定情報を優先する。
白紙除去機能が有効の場合には(S161:YES),MFP100は白紙か否かを判定するための白紙基準値をブロックごとに設定する(S162)。MFP100は,白紙か否かを判定するために画像データを100×100画素単位のブロックに分割し,分割後の1ブロックの90%にコンテンツが無い場合に当該ブロックを単色と判定する。そこで,異物が有った場合に,この白紙基準値について異物を反映した値を設定する。具体的には,次の式(I)によって設定される。
白紙基準値[%]=(0.9−異物割合)×100 (I)
式(I)中の異物割合は,異物検知処理の「S147で記憶された異物画素数」/「S142で分割された1ブロックの画素数」によって求められる。異物画素数が多いほど異物が多いことを意味し,異物割合が大きくなるため,白紙基準値の値は小さくなる。
S162の後,あるいは白紙除去機能が無効の場合には(S161:NO),MFP100は,色判定機能が有効か否かを判断する(S163)。色判定機能は,読み取った原稿の画像が,カラー画像か,グレースケール画像か,白黒二値画像かを判定する機能であり,各画像を判定するための基準値,特にグレースケール画像か,白黒の二値画像かを判定するための基準値が必要となる。色判定機能が有効か無効かの設定も,操作パネル40を介して設定可能であり,設定内容はNVRAM34に記憶されている。また,外部デバイスから受け付けた読取指示に色判定機能に関する設定情報があれば,その設定情報を優先する。
色判定機能が有効の場合には(S163:YES),MFP100はグレースケール画像か,白黒二値画像かを判定するための白黒基準値をブロックごとに設定する(S164)。白黒基準値は,画像データに含まれる画素の大部分が白または黒となるか否かを判断するための値である。MFP100は,グレースケール画像か,白黒二値画像かを判定するために,分割後の1ブロックに特定輝度の画素が40%有る場合に白黒画像と判定する。そこで,異物が有った場合に,この白黒基準値について異物を反映した値を設定する。具体的には,次の式(II)によって設定される。
白黒基準値[%]=(0.4+異物割合)×100 (II)
式(II)中の異物割合は,式(I)と同じである。異物画素数が多いほど異物が多いことを意味し,異物割合が大きくなるため,白黒基準値の値は大きくなる。
S164の後,あるいは色判定機能が無効の場合には(S163:NO),基準値設定処理を終了する。なお,設定された各種の基準値は,RAM33あるいはNVRAM34に記憶され,後述する白紙判定処理ないし色判定処理で用いられる。
図4の説明に戻り,S103の基準値設定処理の後は,MFP100は,原稿トレイ21にセットされた原稿の搬送を開始する(S104)。そして,MFP100は,イメージセンサ15に1ページ分の原稿を読み取らせる(S105)。S105は,原稿読取処理の一例である。S105では,具体的にMFP100は,リアセンサ72がオフからオンになった時点から,原稿の先端がリアセンサ72の位置から読取位置までの移動にかかる時間を待って,イメージセンサ15による読み取りを開始させる。その後,リアセンサ72がオンからオフになった時点から,原稿の後端がリアセンサ72の位置から読取位置までの移動にかかる時間を待って,イメージセンサ15による読み取りを終了させる。
S105の後,次の原稿が搬送されたか否かを判断する(S106)。S106では,具体的にMFP100は,フロントセンサ71がオンからオフとなったタイミングから規定時間が経過するまでに再びフロントセンサ71がオンになれば次の原稿が搬送されたと判断する。
次の原稿が原稿トレイ21から搬送された場合には(S106:YES),MFP100は当該次の原稿の読み取りを開始するまでの時間が所定時間よりも長いか否かを判断する(S121)。読み取りを開始するまでの時間は,例えば,紙間の長さと搬送速度から計算できる。また,所定時間は,次の原稿の読み取りを開始するまでに異物検知が完了するのに十分な時間である。S121は,判断処理の一例である。
次の原稿の読み取りを開始するまでの時間が所定時間よりも長い場合には(S121:YES),MFP100は再度,異物検知処理を実行する(S122)。S122では,S102の異物検知処理を同様の処理を行う。
S122の後,MFP100は,白紙除去機能と色判定機能とのうち有効となっている機能が実行中か否かを判断する(S123)。該当機能が実行中でなければ(S123:NO),MFP100は再度,基準値設定処理を実行する(S124)。ページ間にて基準値を再設定することで,原稿とともに運ばれて来る異物や原稿とともに除去される異物の有無に基づく基準値を設定できる。すなわち,現在の読取位置の状態を基準値に反映できる。S124の後は,S105に移行し,原稿の読み取りを繰り返す。
一方で,該当機能に基づく処理が実行中の場合は(S123:YES),処理の途中で基準値を変更してしまうと誤判定のリスクが高まる。そのため,MFP100は,基準値設定処理を実行せずに,S105に移行し,原稿の読み取りを繰り返す。また,次の原稿の読み取りを開始するまでの時間が所定時間よりも長くない場合には(S121:NO),異物検知処理が次の原稿の読み取り開始までに終了しない可能性が高い。そのため,MFP100は,次の原稿の読み取り開始に間に合わない事態を回避するため,異物検知処理を実行せずに,S105に移行し,原稿の読み取りを繰り返す。
また,次の原稿が搬送されなかった場合(S106:NO),すなわち原稿トレイ21から原稿が無くなった場合には,MFP100は原稿の搬送動作を停止する(S107)。また,MFP100は,原稿の搬送動作の停止に伴ってイメージセンサ15を待機位置に移動させる。S107の後は,読取処理を終了する。
続いて,読み取った原稿が白紙か否かを判定する白紙判定処理について,図7のフローチャートを参照しつつ説明する。白紙判定処理は,白紙除去機能が有効な状態で1ページ分の原稿が読み取られたこと,あるいは1ブロック分の原稿が読み取られたことを条件として,CPU31によって実行される。白紙判定処理は,判定処理の一例である。
白紙判定処理では,先ずMFP100は,判定に用いる各種のデータを初期化する(S201)。例えば,ブロックごとに単色か多色かをカウントするために用いる単色ブロック数および多色ブロック数を0にする。
次に,MFP100は,読み取られた1ページ分の原稿の画像データを100×100画素のブロックに分割する(S202)。そして,MFP100は,先頭ブロックのデータを抽出し(S210),抽出されたブロックに基づいて,各画素のYCbCrデータのうち輝度Yのヒストグラムを作成する(S211)。
次に,MFP100は,抽出されたブロック内で最も使用されている輝度Yである最頻輝度を取得する(S212)。そして,ブロック内の全画素数に対する最頻輝度の割合が白紙基準値よりも大きいか否かを判断する(S213)。ここで用いられる白紙基準値は,前述した基準値設定処理にてブロックごとに設定された値である。すなわち,読取位置に異物が有る場合に,その異物に応じて変更された値である。
原稿が白紙であった場合には,殆どの画素が地色であり,各画素の輝度が所定の範囲内に集中する。そこで,最頻輝度の割合が白紙基準値よりも大きい場合には(S213:YES),MFP100は,抽出されたブロックを単色と判定し,単色ブロック数を1つ加算する(S214)。一方,最頻輝度の割合が白紙基準値よりも大きくない場合には(S213:NO),MFP100は,抽出されたブロックを多色と判定し,多色ブロック数を1つ加算する(S215)。
S214あるいはS215の後,MFP100は全ブロックの判定が終了したか否かを判断する(S216)。未判定のブロックが有る場合には(S216:NO),S210に移行し,未判定のブロックの1つを抽出し,抽出したブロックについて前述の判定を行う。
全ブロックの判定が終了した場合には(S216:YES),MFP100は1ページ内の単色ブロックの割合が99%よりも大きいか否かを判断する(S221)。単色ブロックの割合が99%よりも大きい場合(S221:YES),MFP100は,読み取った画像データを白紙のデータと判定する(S222)。
一方,単色ブロックの割合が99%よりも大きくなければ(S221:NO),MFP100は,読み取った画像データを非白紙のデータと判定する(S223)。S222あるいはS223の後,白紙判定処理を終了する。
続いて,読み取った原稿の画像の種類を判定する色判定処理について,図8のフローチャートを参照しつつ説明する。色判定処理は,色判定機能が有効な状態で1ページ分の原稿が読み取られたこと,あるいは1ブロック分の原稿が読み取られたことを条件として,CPU31によって実行される。色判定処理は,判定処理の一例である。
色判定処理では,先ずMFP100は,判定に用いる各種のデータを初期化する(S301)。例えば,ブロックごとにカラー画像かグレースケール画像か白黒二値画像をカウントするために用いるカラーブロック数,グレーブロック数,および白黒ブロック数を0にする。
次に,MFP100は,読み取られた1ページ分の原稿の画像データを100×100画素のブロックに分割する(S302)。そして,MFP100は,先頭ブロックのデータを抽出し(S310),抽出されたブロックに基づいて,各画素のYCbCrデータのうち輝度Y,色差Cb,Crの各々のヒストグラムを作成する(S311)。
次に,MFP100は,抽出されたブロック内での色差Cb,Crの各々の平均値を算出する(S312)。そして,取得した各平均値が共に無彩色画像と判定できる無彩色範囲内か否かを判断する(S313)。無彩色範囲としては,例えば112以上143未満の範囲であればよい。
少なくとも一方の色差の平均値が無彩色範囲外であった場合には(S313:NO),MFP100は,抽出されたブロックをカラー画像と判定し,カラーブロック数を1つ加算する(S314)。一方,両方の色差の平均値が無彩色範囲内であった場合には(S313:YES),MFP100は白黒二値画像と判断するための特定輝度の画素数の割合が白黒基準値よりも大きいか否かを判断する(S315)。ここで用いられる白黒基準値は,前述した基準値設定処理にてブロックごとに設定された値である。特定輝度としては,例えば63未満あるいは224以上であればよい。
原稿が白黒二値画像であった場合には,殆どの画素が地色もしくは黒色であり,各画素が特定輝度に集中する。そこで,特定輝度の画素数の割合が白黒基準値よりも大きい場合には(S315:YES),MFP100は,抽出されたブロックを白黒二値画像と判定し,白黒ブロック数を1つ加算する(S316)。一方,特定輝度の画素数の割合が白黒基準値よりも大きくない場合には(S315:NO),MFP100は,抽出されたブロックをグレースケール画像と判定し,グレーブロック数を1つ加算する(S317)。
S314,S316,あるいはS317の後,MFP100は全ブロックの判定が終了したか否かを判断する(S318)。未判定のブロックが有る場合には(S318:NO),S310に移行し,未判定のブロックの1つを抽出し,抽出したブロックの判定を行う。
全ブロックの判定が終了した場合には(S318:YES),MFP100は1ページ内のカラー画像のブロックの割合が0.2%よりも大きいか否かを判断する(S321)。0.2%という数値は一例であり,カラー画像であると判定するのに十分な割合であればよい。カラー画像のブロックの割合が0.2%よりも大きい場合(S321:YES),MFP100は,読み取った原稿の画像をカラー画像と判定する(S322)。
一方,カラー画像のブロックの割合が0.2%よりも大きくなければ(S321:NO),MFP100は,1ページ内のグレースケール画像のブロックの割合が0.3%よりも大きいか否かを判断する(S323)。0.3%という数値は一例であり,グレースケール画像であると判定するのに十分な割合であればよい。グレースケール画像のブロックの割合が0.3%よりも大きい場合(S323:YES),読み取った原稿の画像をグレースケール画像と判定する(S324)。
一方,グレースケール画像のブロックの割合が0.3%よりも大きくなければ(S323:NO),MFP100は,読み取った原稿の画像を白黒二値画像と判定する(S325)。S322,S324,あるいはS325の後,色判定処理を終了する。
以上詳細に説明したように第1の形態では,MFP100は,原稿が無い状態で読み取った画像データに基づいて読取位置の異物の有無を検知する。そして,その検知結果に応じて,その後に読み取った画像データに基づく白紙判定や色判定の判定に用いる基準値を変更する。これにより,MFP100では,読取位置の状態に応じて適切な原稿の種類の判定が期待できる。
続いて,MFP100の制御の第2の形態について説明する。第2の形態では,読取位置の異物の有無を検知し,原稿を読み取った画像データから異物に関する成分を除去したデータに基づいて,白紙判定を行う。この点,読取位置の異物の有無を検知し,異物の有無に応じて設定された基準値に基づいて,白紙判定を行う第1の形態と異なる。なお,第2の形態では,前述したように異物の情報を画像データに反映させるため,基準値の変更は必要ない。そのため,第1の形態の読取処理中のS103およびS124の基準値設定処理は不要である。
図9は,第2の形態における異物検知処理の手順を示している。なお,図9では,第1の形態の異物検知処理(図5参照)と同じ処理については,同じ符号を付している。第2の形態の異物検知処理では,先ずMFP100は,1ライン分の読み取りをイメージセンサ15に行わせる(S140)。
S140の後,MFP100は,読み取られた1ライン分の原稿の画像データを100画素単位のブロックに分割し(S141),先頭ブロックを抽出する(S142)。また,MFP100は,異物検知フラグをオフにする(S443)。
そして,MFP100は,先頭画素の画素値を抽出し(S144),抽出した画素値が異物閾値よりも小さいか否かを判断する(S145)。抽出した画素値が異物閾値よりも小さい場合(S145:YES),MFP100は異物が有ったと判断し,異物検知フラグをオンにする(S451)。S451の後,あるいは抽出した画素値が異物閾値よりも小さくない場合(S145:NO),MFP100は1ブロック分の全画素の判断が終了したか否かを判断する(S146)。1ブロック分の全画素の判断が終了していない場合(S146:NO),MFP100はS144に移行して未判断の画素を抽出し,異物が有るか否かの判断を繰り返す。
一方,1ブロック分の全画素の判断が終了した場合には(S146:YES),異物検知フラグがオンか否かを判断する(S446)。異物検知フラグがオンの場合には(S446:YES),MFP100はブロックごとの,各画素のYCbCrデータのデータごとのヒストグラムを作成する(S447)。そして,作成したヒストグラムのうち,異物に相当する箇所を抽出したヒストグラムである異物ヒストグラムを,RAM33ないしNVRAM34に記憶する(S448)。具体的に,異物ヒストグラムは,異物の位置と異物の画素数とが対応付けられた情報となる。異物ヒストグラムは,白紙判定処理ないし色判定処理に用いられる。
S448の後,あるいは異物検知フラグがオフの場合には(S446:NO),MFP100は全ブロックの異物検知が終了したか否かを判断する(S148)。異物検知を行っていないブロックがある場合には(S148:NO),MFP100はS142に移行し,異物検知を行っていないブロックを抽出して当該ブロックの異物検知を行う。全ブロックの異物検知が終了した場合には(S148:YES),異物検知処理を終了する。異物検知処理が終了した段階では,ブロックごとの異物に相当する箇所の異物ヒストグラムが記憶される。
図10は,第2の形態における白紙判定処理の手順を示している。なお,図10では,第1の形態の異物検知処理(図7参照)と同じ処理については,同じ符号を付している。第2の形態の白紙判定処理では,先ずMFP100は,判定に用いる各種のデータを初期化する(S201)。
次に,MFP100は,読み取られた1ページ分の原稿の画像データを100×100画素のブロックに分割する(S202)。そして,MFP100は,先頭ブロックのデータを抽出し(S210),抽出されたブロックに基づいて,各画素のYCbCrデータのうち輝度Yのヒストグラムを作成する(S211)。
次に,MFP100は,抽出されたブロックに対応する異物ヒストグラムが記憶されているか否かを判断する(S511)。異物ヒストグラムが記憶されている場合には(S511:YES),MFP100は対応する異物ヒストグラムを読み出し,S211で作成した原稿を読み取った画像データに基づくヒストグラムから異物成分を除去する(S512)。
S512の概要を,図11の輝度Yのヒストグラムの例を参照しつつ説明する。図11中,横軸が輝度,縦軸が画素数を示している。図11(A)は,異物検知処理のS447にて生成される,原稿が無い状態を読み取った1ライン分の画像データのヒストグラムである。このヒストグラムでは,殆どの画素の輝度が特定の範囲(図11(A)の範囲α)に集中する。すなわち,白板を読み取った際に想定される輝度の範囲に集中する。しかし,読取位置に異物が有る場合には,その異物の成分が当該特定の範囲外の輝度として現れる(図11(A)の範囲β)。異物検知処理のS448では,異物成分である範囲βの情報が異物ヒストグラムとして記憶される。すなわち,異物の位置と異物の画素数とが対応付けられて記憶される。
異物は,原稿を読み取った際にも読み取られることから,白紙判定処理のS211にて生成される原稿の画像データのヒストグラム(図11の(B))にも,副走査方向全てに異物成分が現れる(図11中の点線枠内)。すなわち,1ライン分の異物成分と1ブロック分の異物成分とが,同程度の割合でヒストグラムに現れる。
このことから,異物ヒストグラムに基づいて,原稿を読み取った画像データのヒストグラムからこの異物成分を除去する。これにより,原稿を読み取った画像データに基づくヒストグラムから異物成分を差し引いたヒストグラム(図11の(C))が生成される。S512は,変更処理の一例である。
S512の後,あるいは異物ヒストグラムが記憶されていない場合には(S511:NO),MFP100は,原稿の画像データのヒストグラム(異物があった場合には当該ヒストグラムから異物成分が除去されたヒストグラム)に基づいて,抽出されたブロック内で最も使用されている輝度Yである最頻輝度を取得する(S513)。そして,ブロック内の全画素数に対する最頻輝度の割合が白紙基準値よりも大きいか否かを判断する(S514)。ここで用いられる白紙基準値は,あらかじめMFP100に用意された値である。
最頻輝度の割合が白紙基準値よりも大きい場合には(S514:YES),MFP100は,抽出されたブロックを単色と判定し,単色ブロック数を1つ加算する(S214)。一方,最頻輝度の割合が白紙基準値よりも大きくない場合には(S514:NO),MFP100は,抽出されたブロックを多色と判定し,多色ブロック数を1つ加算する(S215)。S214あるいはS215の後,MFP100は全ブロックの判定が終了したか否かを判断する(S216)。S216以降の処理は,第1の形態と同じである。
なお,色判定処理についても,白紙判定処理と同様に,原稿を読み取った画像データから異物に関する成分を除去したデータに基づいて,判定を行うことができる。すなわち,図8に示した色判定処理のうち,S311にて輝度Y,色差Cb,Crの各々のヒストグラムを作成した後,原稿が無い状態を読み取った画像データに基づくヒストグラムを参照し,ブロックごとに,S311で作成した原稿を読み取った画像データに基づくヒストグラムから異物成分を除去すればよい。
以上詳細に説明したように第2の形態では,MFP100は,第1の形態と同様に,原稿が無い状態で読み取った画像データに基づいて読取位置の異物の有無を検知する。そして,その検知結果に応じて,その後に読み取った画像データから異物に関するデータを除去し,白紙判定や色判定を行う。これにより,MFP100では,読取位置の状態に応じて適切な原稿の種類の判定が期待できる。
なお,本実施の形態は単なる例示にすぎず,本発明を何ら限定するものではない。したがって本発明は当然に,その要旨を逸脱しない範囲内で種々の改良,変形が可能である。例えば,MFPに限らず,複写機,スキャナ,FAX等,読取機能を備えるものであれば適用可能である。また,実施の形態に記載された数値は,一例であり,これに限るものではない。
また,実施の形態では,MFP100自身が,原稿の無い状態を読み取った画像データを取得し,その画像データに基づいて異物の有無を検知し,その検知結果に応じて原稿の種類を判定する判定方法を変更しているが,これらの処理をパーソナルコンピュータ等の外部装置が行ってもよい。この場合,外部装置が,MFP100にて読み取った原稿の種類を判定する。そして,外部装置は,MFP100が原稿の無い状態を読み取った画像データをMFP100から取得し,その画像データに基づいて異物の有無を検知し,その検知結果に応じて原稿の種類を判定する判定方法を変更する。
また,実施の形態では,読取指示を受け付けたタイミングで,毎回,原稿の無い状態で読み取った画像データを取得して異物の検知を実行しているが,実行タイミングはこれに限るものではない。例えば,前回異物の検知を行ったときから所定時間が経過していることを実行条件に含めてもよいし,読取指示の複数回に1回のタイミングで実行してもよい。また,電源投入や,ユーザ指定のタイミング等,読取指示とは別のタイミングで実行してもよい。なお,実施の形態のように,読取指示を受け付けたタイミングで毎回行うことで,読取位置の状態をより正確に把握でき,より原稿の種類の誤判定を抑制できる。
また,実施の形態では,ADF方式の読み取りに本発明を適用しているが,フラットベッド方式の読み取りにも適用可能である。この場合,MFP100は,コンタクトガラス11上に原稿がセットされていない状態で,異物検知処理を例えば電源投入やユーザ指定のタイミングで実行し,さらに異物検知処理では,フラットベッド方式での読取位置となる複数ラインを読み取り,各画素について異物の有無を検知する。そして,基準値設定処理では,その検知結果に基づいて基準値を設定する。あるいは白紙判定処理では,その検知結果に基づいて異物成分を除去した画像データを生成する。
また,実施の形態では,第1の形態では,異物の有無に基づいて基準値を設定し,第2の形態では異物の有無に基づいて異物の成分を除去したヒストグラムを生成しているが,第1の形態と第2の形態とを組み合わせてもよい。すなわち,異物の成分を除去したヒストグラムに基づいて,異物の有無に基づいて設定された基準値を用いて原稿の種類を判定してもよい。
また,実施の形態では,異物検知処理を,原稿の読み取り前に加え,紙間でも行っているが,紙間では行わなくてもよい。なお,実施の形態のように,紙間で異物検知処理を行う方が,原稿とともに運ばれて来る異物や原稿とともに除去される異物の有無に基づいて判定方法を変更でき,より現在の読取位置の状態を反映できる。
また,実施の形態では,紙間で異物検知処理を行う際に,次の原稿の読み取りを開始するまでの時間が所定時間よりも長いことを条件としているが,この条件は無くてもよい。ただし,この条件を設けることで,判定途中で判定方法が変更される可能性を低減でき,より正確な判定が期待できる。
また,実施の形態では,異物の大きさが大きいほど基準値の変更量が大きくなるが,異物の大きさに係わらず変更量を一律としてもよい。ただし,変更量を異物の大きさに応じて変えることで,より正確な判定が期待できる。
また,実施の形態では,判定に用いる基準値の設定や,判定に用いるヒストグラムの修正を行うことで,判定方法を変更しているが,判定方法の変更はこれらに限るものではない。例えば,異物が検知されたブロックについて,主走査方向のブロック幅を広げてもよい。また,異物が検知されたブロックについて,主走査方向に隣り合うブロックを統合して1つのブロックとして判定してもよい。これらの方法によれば,ブロック内の判定における異物の影響を軽減でき,その結果として原稿の種類の誤判定の可能性が低下する。
なお,図5に示した異物検知処理では,読み取った1ライン分の画像データをブロックに分割し,ブロック単位で異物画素数を記憶しているが,ブロックに分割せず,1ライン分の異物画素数を1つ記憶していもよい。この場合,白紙基準値はブロックごとに設定せず,全ブロックで共通の白紙閾値を用いる。そして,基準値設定処理のS162にて白紙基準値を求める際の異物割合は,1ライン中の総異物画素数/1ラインの総画素数となる。S164にて白黒基準値を求める際も同様である。
また,実施の形態に開示されている処理は,単一のCPU,複数のCPU,ASICなどのハードウェア,またはそれらの組み合わせで実行されてもよい。また,実施の形態に開示されている処理は,その処理を実行するためのプログラムを記録した記録媒体,または方法等の種々の態様で実現することができる。