<実施形態>
一実施形態を、図1ないし図12を用いて説明する。読取装置1は、少なくともスキャナ機能を備えており、読取装置の一例である。なお、以下の説明では、図1の紙面右側を読取装置1の前側Fとし、紙面奥側を読取装置1の右側Rとし、紙面上側を読取装置1の上側Uとする。
1.読取装置の機械的構成
図1に示すように、読取装置1は、本体部2に読取部30等を備え、本体部2の上方に原稿Gを読み取るための読取機構3を備えている。読取機構3は、原稿自動送り装置(以下、ADF)40、読取部60等を含む。読取部30は、第1読取部の一例であり、読取部60は、第2読取部の一例である。
ADF40は、ADFカバー41、原稿トレイ42、押圧部材43、44、各種ローラ46、排紙トレイ47、フロントセンサ(以下、Fセンサ)13、第2リアセンサ(以下、R2センサ)14、第1リアセンサ(以下、R1センサ)15、透明なガラス板からなる第3プラテンガラス55等を含む。
ADF40には、原稿Gを原稿トレイ42から排紙トレイ47に搬送する搬送経路45が設けられている。以後、搬送経路45に沿った方向を搬送方向と呼ぶ。図1に、搬送方向を矢印81で示す。また、搬送経路45の原稿トレイ42に近い側を上流側と呼び、搬送経路45の排紙トレイ47に近い側を下流側と呼ぶ。
ローラ46は、モータM(図2参照)によって回転し、原稿トレイ42に載置された原稿Gを搬送経路45に沿って搬送して排紙トレイ47に排紙する。つまり、ローラ46は、原稿トレイ42に載置された原稿Gを排紙トレイ47へと搬送する搬送部16(図2参照)ということができる。
また、原稿トレイ42に、Fセンサ13が配置されている。Fセンサ13は、原稿トレイ42に原稿Gが載置されたか否かを検出する。また、搬送経路45上の検出位置LK2には、R2センサ14が配置されている。R2センサ14は、ADF40によって読取部60へと搬送される原稿Gの有無を検出する。さらに、搬送経路45上の検出位置LK2の下流側の検出位置LK1には、R1センサ15が配置されている。R1センサ15は、ADF40によって読取部30へと搬送される原稿Gの有無を検出する。
読取部60は、搬送経路45上の検出位置LK2の下流側であって検出位置LK1の上流側に配置されている。読取部60は、ADFカバー41内に配置され、ADF40に対して移動不能に支持されている。読取部60は、搬送経路45を搬送される原稿Gが押圧部材43と対向する第3プラテンガラス55上の読取位置L2を通過する際に当該原稿Gの裏面の画像を読み取る。
搬送経路45の検出位置LK1の下流側に、読取部30が配置されている。読取部30は、本体部2内に配置されており、搬送経路45に沿って、読取部60よりも規定距離Z(図11、12参照)だけ下流側に配置されている。読取部30は、搬送経路45を搬送される原稿Gが押圧部材44と対向する第2プラテンガラス53上の読取位置L1を通過する際に当該原稿Gの表面の画像を読み取る。
また、読取部30は、図1に点線で示すように、本体部2内で矢印82で示す移動方向に移動可能に構成されており、移動方向に移動しながら第1プラテンガラス52上に静止して載置された原稿Gの下面を読み取る。なお、以下の説明では、図1に実線で示すように、読取位置L1に静止して搬送経路45上を搬送される原稿Gの画像を読み取る読取部30の動作を説明する。
読取部60は、CIS(Contact Image Sensor)を用いた、いわゆるCIS方式で原稿Gを読み取る。読取部60は、発光ダイオードなどで構成される光源61、主走査方向D1に直線状に配列された複数の受光素子63を含む。受光素子63は、読取素子の一例である。なお、読取部30の構成は、読取部60の構成と基本的に同じものであり、重複した説明を省略する。しかし、読取部30、60の構造は、必ずしも同一の構造である必要はなく、例えば、読取部30又は読取部60のいずれか一方がCISであって、他方がCCDであってもよい。
さらに、読取装置1には、電源スイッチや各種設定ボタンからなり、使用者からの操作指令等を受け付ける操作部11(図2参照)や、LEDや液晶ディスプレイからなり読取装置1の状況を表示する表示部12(図2参照)等が設けられている。操作部11は、受付部の一例である。
2.読取装置の電気的構成
図2に示すように、読取装置1は、中央処理装置(以下、CPU)20、画像処理部25、ROM26、RAM27、ASIC(Application Specific Integrated Circuit)28、デバイス制御部17、第1補正回路18、第2補正回路19を備え、これらに操作部11、表示部12、センサ13〜15、搬送部16などが電気的に接続されている。図2に実線21で示すように、CPU20、画像処理部25、ROM26、RAM27、ASIC28、デバイス制御部17、第1補正回路18、第2補正回路19を含めたものが、制御部の一例である。
ROM26には、読取装置1の動作を制御するための各種のプログラムが記憶されており、CPU20は、ROM26から読み出したプログラムに従って各部の制御を行うとともに、後述する原稿読取処理を実行する。
デバイス制御部17は、CPU20からの命令に基づいて読取制御信号を読取部30、60に送信する。各読取部30、60は、デバイス制御部17からの読取制御信号に基づいて原稿Gの各面の画像を読み取る。
読取部60は、搬送経路45を搬送される原稿Gの裏面の画像を読み取る際に、搬送経路45の読取位置L2において、搬送方向と直交する主走査方向D1に複数回読み取りを繰り返す。読取部60は、1回の主走査方向D1の読み取り、つまり、1ラインの読み取りでアナログ信号のライン読取データYTU(図11、12A参照)を取得し、取得したライン読取データYTUを第2補正回路19に出力する。読取部60は、主走査方向D1のラインごとに読み取りを繰り返すことで、ライン読取データYTUが主走査方向D1と直交する副走査方向D2(図11、12参照)に複数個集まって構成される読取データYUを出力する。読取データYUは、第2読取データの一例である。
第2補正回路19は、読取部60から出力されるアナログ信号のライン読取データYTUをデジタル信号、つまり、階調値を用いて表される階調データのライン読取データYTUに変換する。また、第2補正回路19は、デジタル信号のライン読取データYTUにシェーディング補正やγ補正を行い、γ補正後のライン読取データYTUをRAM27に記憶する。階調値は、画像濃度の一例である。
同様に、読取部30は、搬送経路45を搬送される原稿Gの表面の画像を読み取る際に、搬送経路45の読取位置L1において、主走査方向D1に複数回読み取りを繰り返す。読取部60は、1回の主走査方向D1の読み取り、つまり、1ラインの読み取りでアナログ信号のライン読取データYTO(図11、12参照)を取得し、取得したライン読取データYTOを第1補正回路18に出力する。読取部30は、主走査方向D1のラインごとに読み取りを繰り返すことで、ライン読取データYTOが主走査方向D1と直交する副走査方向D2に複数個集まって構成される読取データYOを出力する。
第1補正回路18は、読取部30から出力されるアナログ信号のライン読取データYTOをデジタル信号、つまり、階調値を用いて表される階調データのライン読取データYTOに変換する。また、第1補正回路18は、デジタル信号のライン読取データYTOにシェーディング補正やγ補正を行い、γ補正後のライン読取データYTOをRAM27に記憶する。
画像処理部25は、CPU20からの命令に基づいて、RAM27に記憶された読取データYO、YUに対して、平滑化処理等の補正処理や、2値化処理等のエッジ強調処理等の画像処理を行う第1画像処理回路23および第2画像処理回路24を備える。CPU20は、第1画像処理回路23を用いて読取データYO、YUの各ライン読取データYTO、YTUに補正処理を行い、出力画像データを生成する。
また、CPU20は、第2画像処理回路24を用いて読取データYUの各ライン読取データYTUにエッジ強調処理を行い、ライン強調データKTUを生成する。そして、ライン強調データKTUが副走査方向D2に複数個集まって構成される強調データKU(図12の12B)を生成する。図12の12Bに示すように、強調データKUでは、原稿Gの裏面の凹凸が強調されている。その結果、強調データKUでは、文字や図等の原稿画像が記載されていない無地データ部分においても、原稿Gの裏面の凹凸に応じた凹凸画像が表れる。
また、CPU20は、画像処理部25を用いて以下の処理を実行する。
CPU20は、画像処理部25を用いて、RAM27に記憶されたライン読取データYTO、YTUが無地データであるか否かを判断する無地判断処理を行う。以下、ライン読取データYTUの無地判断処理について説明するが、ライン読取データYTOについても同様である。
無地判断処理は、読取部60が取得したライン読取データYTU毎に行われる。CPU20は、読取部60の各受光素子63が取得した階調データの平均値を求め、平均値と第2基準階調値との濃度差を求める。CPU20は、この濃度差が第2濃度閾値未満の場合に、ライン読取データYTUに原稿画像が含まれていない、つまり、無地データであると判断する。また、CPU20は、この濃度差が第2濃度閾値以上の場合に、ライン読取データYTUに原稿画像が含まれている、つまり、無地データでないと判断する。第2基準階調値及び第2濃度閾値は、読取部60に対応して設定された基準濃度及び第1閾値である。第2基準階調値の設定については、後述の原稿読取処理において説明する。
ライン読取データYTOの無地判断処理では、第2基準階調値や第2濃度閾値に代わって、第1基準階調値や第1濃度閾値が用いられる。第1基準階調値及び第1濃度閾値は、読取部30に対応して設定された基準濃度及び第1閾値である。第2基準階調値の設定については、後述の原稿読取処理において説明する。なお、第1基準階調値及び第2基準階調値との濃度差が求められる階調データの代表値は、平均値に限られず、中央値やピーク値であってもよい。
また、CPU20は、画像処理部25を用いて、RAM27に記憶されたライン読取データYTO、YTUやライン強調データKTUに変化が生じているか否かを判断する処理を行う。これらのデータに変化が生じていない場合、原稿Gが搬送経路45上で詰まり、搬送されていない可能性が高い。そのため、上記の処理は、原稿Gの詰まりの有無を判断する詰判断処理ということができる。以下、ライン読取データYTUの詰判断処理について説明するが、ライン読取データYTOやライン強調データKTUについても同様である。
詰判断処理は、読取部60が取得したライン読取データYTU毎に行われる。CPU20は、副走査方向D2に連続する2つのライン読取データYTUに対して受光素子63毎に階調データの差分値を求め、差分値が変化閾値以下の場合に、当該受光素子63が取得した階調データに変化が生じていない、つまり、連続データと判断する。また、CPU20は、差分値が変化閾値よりも大きい場合に、連続する2つのライン読取データYTUに変化が生じている、つまり、連続データでないと判断する。変化閾値は、第2閾値の一例である。
CPU20は、変化判断処理を規定範囲KHに含まれる受光素子33に対して実行する。CPU20は、規定範囲KHに対応する2つのライン読取データYTOに連続データが変化基準割合以上含まれる場合、比較する2つのライン読取データYTOに変化が生じていない、つまり、原稿Gが詰まっていると判断する。その一方、CPU20は、連続データが変化基準割合未満である場合、比較する2つのライン読取データYTOに変化が生じている、つまり、原稿Gが詰まっていないと判断する。変化基準割合は、規定割合の一例である。
3.原稿読取処理
次に、図3から図12を参照して、原稿読取処理について説明する。CPU20は、Fセンサ13を用いて原稿トレイ42に原稿Gが載置されたことが確認され、操作部11を介して使用者から原稿の読取指示が入力されると、原稿読取処理を開始する。
図3に示すように、CPU20は、原稿読取処理を開始すると、読取指示に併せて操作部11に入力された原稿Gの原稿サイズ、読取面指定等の読取条件を受け付け(S2)、RAM27に記憶する。また、CPU20は、後述するジャムカウンタJC及び正常搬送カウンタNCをリセットする。
ここで、読取面指定とは、原稿Gを読み取る面の指定を意味し、原稿Gの表面の読み取りを指定する表面読取指定や原稿Gの裏面の読み取りを指定する裏面読取指定は、原稿Gの片面の読み取りを指定する片面読取指定の一例である。また、片面読取指定の他に、原稿Gの表面と裏面の両面の読み取りを指定する両面読取指定がある。本実施形態の原稿読取処理では、使用者から片面読取指定を受け付けた場合でも、両面読取指定を受け付けた場合でも、読取部30、60を用いて原稿Gの両面を読み取り、ライン読取データYTO、YTUに基づいて原稿Gの詰まりを判断する。
次に、CPU20は、搬送部16に対して原稿Gの搬送を指示し、原稿Gの搬送を開始させ(S4)、第1速度V1で原稿Gを搬送させる。CPU20は、原稿Gの搬送を開始すると、R2センサ14を用いて搬送中の原稿Gの位置を検出し(S6)、R2センサ14がオンするのを待機する(S6:NO)。
CPU20は、R2センサ14がオンし、搬送経路45の検出位置LK2に原稿Gの搬送方向における先端が到達したことを検出すると(S6:YES)、S2において受け付けた原稿サイズから原稿Gの搬送方向、つまり、副走査方向D2における長さを取得し、規定距離Zと比較する(S8)。CPU20は、取得した原稿Gの副走査方向D2における長さが規定距離Z以上の場合(S8:YES)、第1搬送読取処理を実行する(S10)。
(第1搬送読取処理)
第1搬送読取処理では、読取部30、60を用いて原稿Gの両面を同時に読み取り、出力されたライン読取データYTO、YTUから原稿Gの詰まりを判断する両面判断処理を含む点で、後述する第2搬送読取処理と異なる。なお、「同時に読み取る」とは、完全に同時に読み取る場合に限らず、原稿が搬送経路45上の所定の位置にいる状態で読取部30、60が原稿Gをそれぞれ読み取れば、そのタイミングが完全に同時でなくてもよい。
図4に示すように、CPU20は、第1搬送読取処理を開始すると、まず、読取部60に原稿Gの裏面の先端を1ライン読み取らせ、原稿Gの裏面の先端を読み取ったライン読取データYTUである裏面先端読取データYSU(図11、12参照)を出力させる(S22)。CPU20は、画像処理部25を用いて裏面先端読取データYSUの階調データの平均値を求め、取得された平均値を第2基準階調値としてRAM27に保存する(S24)。
次に、CPU20は、R1センサ15を用いて搬送中の原稿Gの位置を検出する(S26)。そして、R1センサ15がオフしている場合(S26:NO)、CPU20は、原稿Gの裏面を読み取る片面読取処理を実行する(S28)。
(片面読取処理)
図5に示すように、CPU20は、片面読取処理を開始すると、まず、原稿Gの裏面を1ライン読み取るとともに、読み取ったライン読取データYTUを用いて原稿Gの詰まりを判断する第1判断処理を実行する(S50)。
(第1判断読取処理)
図6に示すように、CPU20は、第1判断処理を開始すると、まず、原稿Gの搬送状態を示す第1状態フラグRT1を「正常搬送」にリセットする(S62)。次に、CPU20は、読取部60に原稿Gの裏面を1ライン読み取らせ(S64)、読み取ったライン読取データYTUが無地データであるか否かを判断する無地判断処理を実行する(S66、S68)。
無地判断処理において、CPU20は、読み取ったライン読取データYTUの階調データの平均値を求め、取得された平均値と第2基準階調値との濃度差を求める(S66)。CPU20は、取得された濃度差を第2濃度閾値と比較し(S68)、取得された濃度差が第2濃度閾値未満の場合(S68:NO)、当該ライン読取データYTUは無地データであると判断し(S70)、第1判断処理を終了する。
一方、取得された濃度差が第2濃度閾値以上の場合(S68:YES)、CPU20は、当該ライン読取データYTUは無地データでないと判断し(S72)、詰判断処理を実行する(S74)。つまり、CPU20は、無地データでないと判断されたライン読取データYTUに基づいて詰判断処理を実行する。
(詰判断処理)
図7、図11、図12を用いて詰判断処理を説明する。図11の11Aは、両面に原稿画像が含まれる原稿Gが正常に搬送された場合の読取データYO、YUを示し、読取データYOには、原稿Gの表面に記載された「A」の原稿画像が含まれ、読取データYUには、原稿Gの裏面に記載された「Z」の原稿画像が含まれる。図11の11Bは、両面に原稿画像が含まれる原稿Gが正常に搬送されていない、つまり、原稿Gが詰まった場合の読取データYO、YUを示す。
また、図12の12Aは、表面にのみ原稿画像が含まれる原稿Gが正常に搬送された場合の読取データYO、YUを示し、原稿Gの表面に記載された「A」の原稿画像が含まれ、読取データYUには原稿画像が含まれない。図12の12Bは、読取データYOと、読取データYUにエッジ強調処理をした強調データKUを示す。
図7に示すように、CPU20は、詰判断処理を開始すると、まず、直近に取得された2つのライン読取データYTUを用いて、これらのライン読取データYTUに含まれる連続データの割合を算出し(S82)、算出した割合を変化基準割合と比較する(S84)。CPU20は、直近に取得された2つのライン読取データYTUに含まれる連続データの割合が変化基準割合以上である場合(S84:YES)、つまり、直近に取得された2つのライン読取データYTUに変化が生じていないと判断された場合、正常搬送カウンタNCをリセットする(S86)とともに、ジャムカウンタJCを1増加させる(S88)。
次に、CPU20は、ジャムカウンタJCを予め定められたジャム規定数JKと比較する(S90)。ここで、ジャム規定数JKは、例えば2または3であり、2以上の整数に設定されている。CPU20は、ジャムカウンタJCがジャム規定数JK未満である場合(S90:NO)、原稿Gが詰まっていないと判断し、詰判断処理及び第1判断処理を終了する(図11の11A参照)。
一方、CPU20は、ジャムカウンタJCがジャム規定数JK以上である場合(S90:YES)、つまり、副走査方向D2に連続するジャム規定数JKのライン読取データYTU
に変化が生じていない場合、原稿Gが詰まっていると判断する。ここで、原稿Gが詰まっているとは、例えば、モータMの搬送トルク不足により、搬送部16により原稿Gが搬送されないことを意味する。また、例えば、搬送経路45において原稿Gが蛇腹状に変形して原稿Gが正常に搬送されないことを意味する。この場合、図11の11Bに示すように、原稿Gが搬送されなくなったタイミング以降、読取部60は原稿Gの同一部分を読み取り、ライン読取データYTUに変化がほとんど生じない。
この場合、CPU20は原稿Gの搬送速度を確認し(S92)、原稿Gが第1速度V1で搬送されている場合には(S92:YES)、第1状態フラグRT1を「搬送エラー発生」に切り替えて(S94)、詰判断処理及び第1判断処理を終了する。一方、原稿Gが第1速度V1よりも遅い第2速度V2で搬送されている場合(S92:NO)、第1状態フラグRT1を切り替えることなく詰判断処理及び第1判断処理を終了する。
一方、CPU20は、直近に取得された2つのライン読取データYTUにおける連続データの割合が変化基準割合未満である場合(S84:NO)、つまり、図11の11Aに示すように、直近に取得された2つのライン読取データYTUに変化が生じていると判断された場合、原稿Gが詰まっていないと判断し、ジャムカウンタJCをリセットする(S96)。そして、CPU20は原稿Gの搬送速度を確認し(S98)、原稿Gが第2速度V2で搬送されておらず第1速度V1で搬送されている場合には(S98:NO)、詰判断処理及び第1判断処理を終了する。
また、原稿Gが第2速度V2で搬送されている場合には(S98:YES)、CPU20は正常搬送カウンタNCを1増加させ(S100)、正常搬送カウンタNCを予め定められた正常規定数NKと比較する(S102)。ここで、正常規定数NKは、例えば2または3であり、2以上の整数に設定されている。CPU20は、正常搬送カウンタNCが正常規定数NK未満である場合(S102:NO)、第1状態フラグRT1を切り替えることなく詰判断処理及び第1判断処理を終了する。
一方、CPU20は、正常搬送カウンタNCが正常規定数NK以上である場合(S102:YES)、第1状態フラグRT1を「搬送エラー解除」に切り替え(S104)、詰判断処理及び第1判断処理を終了する。
CPU20は、第1判断処理を終了すると、図5に示す片面読取処理に戻り、第1状態フラグRT1の状態を確認する(S52、S54)。CPU20は、第1状態フラグRT1が「搬送エラー発生」である場合(S52:YES)、原稿Gが詰まっていると判断する。この場合、CPU20は、原稿Gの搬送速度を第2速度V2に減速し(S56)、片面読取処理を終了する。
また、CPU20は、第1状態フラグRT1が「搬送エラー解除」、或は、「正常搬送」である場合(S52:NO)、原稿Gが詰まっていないと判断するとともに各種処理を実行する。具体的には、第1状態フラグRT1が「搬送エラー解除」である場合(S54:YES)、原稿Gの搬送速度を第1速度V1に加速し(S58)、片面読取処理を終了する。また、CPU20は、第1状態フラグRT1が「正常搬送」のままである場合(S54:NO)、原稿Gの搬送速度を変化させることなく、片面読取処理を終了する。
CPU20は、片面読取処理を終了すると、図4に示す第1搬送読取処理において、R1センサ15がオンするまで片面読取処理を繰り返し実行する。そして、CPU20は、R1センサ15がオンし、搬送経路45の検出位置LK1に原稿Gの搬送方向における先端が到達したことを検出すると(S26:YES)、読取部60に原稿Gの表面の先端を1ライン読み取らせ、原稿Gの表面の先端を読み取ったライン読取データYTOである表面先端読取データYSO(図11、12参照)を出力させる(S30)。CPU20は、画像処理部25を用いて表面先端読取データYSOの階調データの平均値を求め、取得された平均値を第1基準階調値としてRAM27に保存する(S32)。
次に、CPU20は、R2センサ14を用いて搬送中の原稿Gの位置を検出する(S34)。そして、R2センサ14がオンしている場合(S34:NO)、CPU20は、原稿Gの両面を読み取る両面読取処理を実行する(S36)。
(両面読取処理)
図8に示すように、CPU20は、両面読取処理を開始すると、まず、原稿Gの表面を1ライン読み取るとともに、読み取ったライン読取データYTOを用いて原稿Gの詰まりを判断する第1判断処理を実行する(S112)。なお、当該第1判断処理は、ライン読取データYTO、第1基準階調値、及び、第1濃度閾値を用いて実行する上述の第1判断処理であり、重複した説明を省略する。
また、CPU20は、原稿Gの裏面を1ライン読み取るとともに、読み取ったライン読取データYTU及び第1判断処理(S112)の判断結果を用いて原稿Gの詰まりを判断する第2判断処理を実行する(S114)。
(第2判断読取処理)
図9に示すように、CPU20は、第2判断処理を開始すると、まず、原稿Gの搬送状態を示し、第1状態フラグRT1とは異なる第2状態フラグRT2を「正常搬送」にリセットする(S132)。次に、CPU20は、読取部60に原稿Gの裏面を1ライン読み取らせ(S134)、読み取ったライン読取データYTUが無地データであるか否かを判断する無地判断処理を実行する(S136、S138)。
無地判断処理において、CPU20は、読み取ったライン読取データYTUの階調データの平均値を求め、取得された平均値と第2基準階調値との濃度差を求める(S136)。また、CPU20は、取得された濃度差を第2濃度閾値と比較し(S138)、取得された濃度差が第2濃度閾値以上の場合(S138:YES)、当該ライン読取データYTUは無地データでないと判断し(S140)、詰判断処理を実行する(S142)。なお、当該詰判断処理は、ライン読取データYTUを用いて実行する上述の詰判断処理であり、重複した説明を省略する。CPU20は、詰判断処理を終了すると、第2判断処理を終了する。
また、CPU20は、取得された濃度差が第2濃度閾値未満の場合(S138:NO)、当該ライン読取データYTUは無地データであると判断する(S144)。この場合、CPU20は、S112の第1判断処理において読み取られたライン読取データYTOが無地データであると判断されたか否かを確認する(S146)。CPU20は、S112の第1判断処理において読み取られたライン読取データYTOが無地データであると判断されている場合(S146:YES)、つまり、S112の第1判断処理において読み取られたライン読取データYTOと、S114の第2判断処理において読み取られたライン読取データYTUと、が共に無地データであると判断された場合、第2判断処理を終了する。
一方、CPU20は、図12の12Aに示すように、S112の第1判断処理において読み取られたライン読取データYTOが無地データでないと判断されている場合(S146:NO)、つまり、S112の第1判断処理において読み取られたライン読取データYTOが無地データでないと判断され、S114の第2判断処理において読み取られたライン読取データYTUが無地データであると判断された場合、CPU20は、画像処理部25の第2画像処理回路24を用いて当該ライン読取データYTUにエッジ強調処理を行い、ライン強調データKTUを生成する(S148 図12の12B参照)。そして、CPU20は、生成したライン強調データKTUを用いて詰判断処理を実行する(S142)。なお、当該詰判断処理は、ライン強調データKTUを用いて実行する上述の詰判断処理であり、重複した説明を省略する。CPU20は、詰判断処理を終了すると、第2判断処理を終了する。
CPU20は、第2判断処理を終了すると、図8に示す両面読取処理に戻り、第1状態フラグRT1及び第2状態フラグRT2の状態を確認する(S116〜S122)。CPU20は、第1状態フラグRT1が「搬送エラー発生」であり、かつ、第2状態フラグRT2が「搬送エラー発生」である場合(S116:YES、S118:YES)、つまり、S112の第1判断処理において読み取られたライン読取データYTUに基づいて原稿Gが詰まっていると判断され、S114の第2判断処理において読み取られたライン読取データYTOに基づいて原稿Gが詰まっていると判断された場合、原稿Gが詰まっていると判断する。この場合、CPU20は、原稿Gの搬送速度を第2速度V2に減速し(S124)、両面読取処理を終了する。
一方、CPU20は、第1状態フラグRT1と第2状態フラグRT2の少なくとも一方が「搬送エラー発生」でない場合(S116:YES、S118:YES)、つまり、S112の第1判断処理において読み取られたライン読取データYTUと、S114の第2判断処理において読み取られたライン読取データYTOと、の少なくとも一方において原稿Gが詰まっていないと判断された場合、原稿Gが詰まっていないと判断するとともに各種処理を実行する。
具体的には、CPU20は、第1状態フラグRT1が「搬送エラー発生」であり、第2状態フラグRT2が「正常搬送」、或は、「搬送エラー解除」である場合(S116:YES、S118:NO)、原稿Gの搬送速度を変化させることなく、両面読取処理を終了する。
また、CPU20は、第1状態フラグRT1が「搬送エラー解除」である場合(S116:NO、S120:YES)、第2状態フラグRT2の状態によらず、原稿Gの搬送速度を第1速度V1に加速し(S126)、両面読取処理を終了する。
また、CPU20は、第1状態フラグRT1が「正常搬送」である場合(S116:NO、S120:NO)、第2状態フラグRT2が「搬送エラー解除」である場合に(S122:YES)、原稿Gの搬送速度を第1速度V1に加速し(S128)、両面読取処理を終了する。一方、第2状態フラグRT2が「正常搬送」、或は、「搬送エラー発生」である場合に(S122:NO)、CPU20は、原稿Gの搬送速度を変化させることなく、両面読取処理を終了する。
CPU20は、両面読取処理を終了すると、図4に示す第1搬送読取処理において、R2センサ14がオフするまで両面読取処理を繰り返し実行する。そして、CPU20は、R2センサ14がオフし、搬送経路45の検出位置LK2に原稿Gの搬送方向における後端が到達したことを検出すると(S34:YES)、原稿Gの裏面の読み取りを終了する(S38)。
次に、CPU20は、R1センサ15を用いて搬送中の原稿Gの位置を検出する(S40)。そして、R1センサ15がオンしている場合(S40:NO)、CPU20は、原稿Gの表面を読み取る片面読取処理を実行する(S42)。なお、当該片面読取処理は、原稿Gの表面を1ライン読み取るとともに、読み取ったライン読取データYTOと第1基準階調値と第1濃度閾値を用いて実行する上述の片面読取処理であり、重複した説明を省略する。
CPU20は、R1センサ15がオフするまで片面読取処理を繰り返し実行する。そして、CPU20は、R1センサ15がオフし、搬送経路45の検出位置LK1に原稿Gの搬送方向における後端が到達したことを検出すると(S40:YES)、原稿Gの表面の読み取りを終了し(S44)、第1搬送読取処理を終了する。
一方、図3に示す原稿読取処理において、CPU20は、取得した原稿Gの副走査方向D2における長さが規定距離Z未満の場合(S8:NO)、第2搬送読取処理を実行する(S12)。
(第2搬送読取処理)
第2搬送読取処理では、読取部30、60を用いて原稿Gの両面を別々に読み取ったライン読取データYTO、YTUから原稿Gの詰まりを判断する片面判断処理のみを含む点で、前述の第1搬送読取処理と異なる。なお、第1搬送読取処理と同一の処理については、同一のステップ番号を付し、重複した説明を省略する。
図10に示すように、CPU20は、第2搬送読取処理を開始し、裏面先端読取データYSUの階調データの平均値を第2基準階調値としてRAM27に保存すると(S24)、R2センサ14を用いて搬送中の原稿Gの位置を検出する(S152)。そして、R2センサ14がオンしている場合(S152:NO)、CPU20は、R2センサ14がオフするまで原稿Gの裏面の片面読取処理を繰り返し実行する(S28)。
そして、CPU20は、R2センサ14がオフし、搬送経路45の検出位置LK2に原稿Gの搬送方向における後端が到達したことを検出すると(S152:YES)、原稿Gの裏面の読み取りを終了する(S154)。
次に、CPU20は、R1センサ15を用いて搬送中の原稿Gの位置を検出し(S156)、R1センサ15がオンするのを待機する(S156:NO)。CPU20は、R1センサ15がオンし、搬送経路45の検出位置LK1に原稿Gの搬送方向における先端が到達したことを検出すると(S156:YES)、表面先端読取データYSOの階調データの平均値を第1基準階調値としてRAM27に保存する(S32)。
CPU20は、R1センサ15を用いて搬送中の原稿Gの位置を検出し(S160)、R1センサ15がオンしている場合(S160:NO)、CPU20は、R1センサ15がオフするまで原稿Gの表面の片面読取処理を繰り返し実行する(S42)。そして、R1センサ15がオフし、搬送経路45の検出位置LK1に原稿Gの搬送方向における後端が到達したことを検出すると(S160:YES)、CPU20は、原稿Gの表面の読み取りを終了し(S162)、第2搬送読取処理を終了する。
CPU20は、図3に示す原稿読取処理において、第1搬送読取処理(S10)、或は、第2搬送読取処理を終了すると、搬送部16に原稿Gを排紙トレイ47にまで搬送させ(S14)、原稿Gを排紙トレイ47に排紙されるのを待機する(S14:NO)。そして、原稿Gが排紙トレイ47に排紙されると(S14:YES)、CPU20は、原稿読取処理を終了する。
4.本実施形態の効果
上述した本実施形態では、CPU20は、読取部30が読取位置L1で原稿Gを読み取って出力した読取データYO、及び、読取部60が読取位置L2で原稿Gを読み取って出力した読取データYUに基づいて原稿Gの詰まりの有無を判断する(S90:YES)。これにより、読取位置L1、L2における原稿Gの詰まりの有無を検出することができる。
上述した本実施形態では、CPU20は、読取位置L1、L2における原稿Gの詰まりの有無を検出する際に、無地データでないと判断されたライン読取データYTO、YTUを用いる(S72、S140)。これにより、無地データと判断されたライン読取データYTO、YTUを用いる場合に比べて、ライン読取データYTO、YTUに含まれる原稿画像の変化から原稿Gの詰まりの有無を正確に判断することができる。
上述した本実施形態では、CPU20は、ライン読取データYTOと第1基準階調値との濃度差、或は、ライン読取データYTUと第2基準階調値との濃度差に基づいてライン読取データYTO、YTUが無地データであるか否かを判断する(S68、S138)。これにより、ライン読取データYTO、YTUが無地データであるか否かを判断しやすい。
上述した本実施形態では、CPU20は、原稿Gの先端を読み取って出力された表面先端読取データYSOから第1基準階調値を設定し(S24)、裏面先端読取データYSUから第2基準階調値を設定する(S32)。これにより、原稿Gに応じた基準階調値を設定することができる。また、先端読取データを用いることで、それより後に出力されたライン読取データYTO、YTUを用いる場合に比べて、原稿Gの読取開始から原稿Gの詰まりの有無を判断するまでの時間を短縮することができる。
上述した本実施形態では、CPU20は、直近に取得された2つのライン読取データYTO、YTUやライン強調データKTUに含まれる連続データの割合を算出し、その割合が変化基準割合以上であり、これらのデータに変化が生じていないと判断したことに応じて、原稿Gが詰まったと判断する(S84:YES)。これにより、CPU20は、原稿Gが詰まって読取位置L1、L2で原稿Gが停止し、ライン読取データYTO、YTUやライン強調データKTUに変化が生じていないことを、正確に判断することができる。
上述した本実施形態では、CPU20は、原稿Gの表面を読み取って出力されたライン読取データYTOと原稿Gの裏面を読み取って出力されたライン読取データYTUとに基づいて原稿Gの詰まりの有無を判断する(S116、S118)。これにより、いずれか一方の読取データに基づいて原稿Gの詰まりの有無を判断する場合に比べて、原稿Gの詰まりの有無を精度よく判断することができる。
詳細には、第1搬送読取処理の両面読取処理では、同時に読み取られたライン読取データYTOとライン読取データYTUとの両ライン読取データで原稿Gが詰まっていると判断された場合に、原稿Gが詰まっていると判断する(S116:YES、S118:YES)。これにより、原稿Gの詰まりの発生を正確に判断することができる。
また、第1搬送読取処理の両面読取処理では、ライン読取データYTOが無地データでないと判断され、ライン読取データYTUが無地データであると判断された場合には、ライン読取データYTUにエッジ強調処理を実行してライン強調データKTUを生成し(S148)、ライン読取データYTOとライン強調データKTUとに基づいて原稿Gの詰まりの有無を判断する。
ライン読取データYTUが無地データである場合、原稿Gの詰まりの有無によらずライン読取データYTUに変化が表れないことから、ライン読取データYTUに基づいて原稿Gの詰まりの有無を判断することができない。一方、ライン強調データKTUには凹凸画像が含まれることから、凹凸画像の変化から原稿Gの詰まりの有無を判断することができる。
本実施形態では、ライン読取データYTOが無地データでないと判断され、ライン読取データYTUが無地データであると判断された場合には、ライン読取データYTOとライン強調データKTUとに基づいて原稿Gの詰まりの有無を判断することで、例えば表面のみに原稿画像が含まれる原稿Gのように、原稿Gの両面の読取位置L1、L2に対応する位置に原稿画像が含まれていない場合でも、ライン読取データYTOとライン読取データYTUとに基づいて原稿Gの詰まりの有無を判断することができる。
上述した本実施形態では、CPU20は、使用者から片面読取指定を受け付けた場合でも、両面読取指定を受け付けた場合でも、読取部30、60を用いて原稿Gの両面を読み取り、ライン読取データYTO、YTUに基づいて原稿Gの詰まりを判断する(S10、S12)。これにより、使用者から片面読取指定を受け付けた場合でも、ライン読取データYTOとライン読取データYTUとに基づいて原稿Gの詰まりの有無を精度よく判断することができる。
上述した本実施形態では、CPU20は、使用者から受け付けた原稿サイズから取得された原稿Gの副走査方向D2における長さと規定距離Zとを比較して、両面読取処理を含む第1搬送読取処理を実行するか、片面読取処理のみを含む第2搬送読取処理を実行するか否かを判断する(S8)。これにより、搬送される原稿Gに併せて原稿Gの詰まりの有無を判断することができる。
上述した本実施形態では、CPU20は、読取部30、60からライン読取データYTO、YTUが出力される毎に原稿Gの詰まりの有無を判断する(S74、S142)。これにより、読取データYO、YU全体に相当する数のライン読取データYTO、YTUが出力されてから原稿Gの詰まりの有無を判断する場合に比べて、原稿Gの詰まりの発生を検出するまでの時間を短縮することができる。
上述した本実施形態では、CPU20は、ライン読取データYTO、YTUやライン強調データKTUに変化が生じていない事象が規定数以上連続した場合に原稿Gの詰まりが発生したと判断する(S90:YES)。これにより、当該事象が偶然に1回発生した場合に原稿Gの詰まりが発生したと判断する場合のように、原稿Gの詰まりを誤判断してしまうことを抑制することができる。
上述した本実施形態では、CPU20は、原稿Gの詰まりが発生していると判断されることに応じて、搬送部16の搬送速度を第1速度V1から第2速度V2に低下させる(S56,S124)。これにより、第1速度V1では搬送できずに詰まりが発生していた原稿Gを第2速度V2で搬送することができる。
上述した本実施形態では、CPU20は、原稿Gの詰まりに起因して搬送部16の搬送速度が第2速度V2に低下している場合において、原稿Gの詰まりが解消されたと判断されることに応じて、搬送部16の搬送速度を第1速度V1に戻す。これにより、搬送速度が低下した状態が継続される場合に比べて、原稿Gの読取時間を短縮することができる。
<他の実施形態>
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような種々の態様も本発明の技術的範囲に含まれる。
「読取装置」は、スキャナ機能を備えた読取装置1に限られず、プリンタ機能、コピー機能、ファクシミリ機能などを備えた複合機であっても良い。
「制御部」は、1つのCPU20により搬送読取処理等の各処理を実行する構成であった。しかし、これに限られず、例えば、複数のCPUにより各処理を実行する構成、ASIC28などのハード回路のみにより各処理を実行する構成、単数又は複数のCPU及びASICによって各処理を実行する構成でもよい。また、ASICに、デバイス制御部17、第1補正回路18、第2補正回路19などが含まれていてもよい。
また、CPU20が実行するプログラムは必ずしもROM26に記憶されている必要はなく、CPU20自身に記憶されていてもよければ、他の記憶装置に記憶されていても良い。
「先端ライン読取データの画像濃度」を算出する際に、表面先端読取データYSO(裏面先端読取データYSU)の1ライン全ての平均値を求めてもよければ、例えば中央部分などの特定領域の平均値を求めてもよい。特定領域に限定することで、1ライン全てを用いる場合に比べて、平均値を求める際のCPU20の負担を軽減することができる。中央値やピーク値を求める場合も同様である。