一実施形態のスキャナ1について図1〜図9を参照しつつ説明する。以下の説明では、図1の紙面左側がスキャナ1の前側であり、紙面手前側がスキャナ1の右側であり、紙面上側がスキャナ1の上側であるものとする。なお、スキャナ1は、読取装置の一例である。
図1に示すように、スキャナ1は、原稿トレイ2、および、本体部3を備える。このスキャナ1は、原稿トレイ2に配置された原稿シートCを本体部3内に搬送しつつ、その搬送中の原稿シートC上の画像を読取デバイス24により読み取り、その後、原稿シートCを、本体部3の前側に形成された排出口3Aから排出するシートフィードスキャナである。なお、原稿シートCは、紙製に限らずプラスチック製などでもよい。
原稿トレイ2は、配置部の一例であり、前側が下方に傾斜した状態で、本体部3の後側に設けられており、1または複数枚の原稿シートCを配置することが可能である。本体部3の内部には、原稿トレイ2の前端から排出口3Aまで延びる搬送経路Xが設けられている。また、この搬送経路Xの周辺には、ピックアップローラ20、分離パッド21、フィードローラ23、読取デバイス24、排出ローラ25、フロントセンサ26、リアセンサ27、カバーセンサ28が設けられている。
ピックアップローラ20は、原稿トレイ2の前側に配置され、モータ4A(図2参照)により駆動され、原稿トレイ2に配置された1または複数枚の原稿シートCを、摩擦力により、本体部3の内部へと引き込む。分離パッド21は、ピックアップローラ20に対向して配置され、摩擦力により、ピックアップローラ20により引き込まれた原稿シートCを1枚ずつ分離する。これにより、原稿シートCが1枚ずつ本体部3の内部へと搬送される。
フィードローラ23は、ピックアップローラ20等よりも搬送経路Xの下流側に設けられ、モータ4Aにより駆動され、ピックアップローラ20等によって引き込まれた原稿シートCを、ピックアップローラ20よりも若干速い速度で搬送経路Xの下流側へと搬送する。また、ピックアップローラ20は、その駆動軸(図示しない)に対して、回転方向における遊び隙間(ガタツキ)をもって遊嵌しており、原稿シートCがピックアップローラ20の駆動軸によって駆動されている間は遊び隙間は0である。しかし、フィードローラ23によって原稿が搬送される間は、フィードローラ23との搬送速度差によって、遊び隙間は徐々に大きくなる。次の原稿の搬送開始はピックアップローラ20の駆動軸とピックアップローラ20との間の遊び隙間がなくなるまで遅延されることになり、それにより原稿間隙間を形成するようになっている。
読取デバイス24は、読取部の一例であり、フィードローラ23よりも搬送経路Xの下流側に設けられ、そのフィードローラ23により搬送される原稿シートCの一面、図1では下面の画像を読み取る。読取デバイス24は、光源24Aおよび受光部24Bを有し、光源24Aが、搬送経路X上の読取位置X1に向けて光を出射し、受光部24Bが読取位置X1からの反射光を受光し、その受光結果に応じた読取データを出力する、読取動作を行う。また、読取デバイス24に搬送経路Xを介して対向する位置には、白基準板24Cが設けられている。なお、光源24Aは、例えば発光ダイオード(LED)であり、読取デバイス24は、例えばCIS(Contact Image Sensor)を有する構成や、CCD(Charge Coupled Drive Image Sensor)を有する構成である。
排出ローラ25は、読取デバイス24よりも搬送経路Xの下流側に設けられ、読取デバイス24により画像が読み取られた原稿シートCを、排出口3Aを介して、本体部3の外部に送り出す。
フロントセンサ26は、原稿トレイ2の前端側に設けられ、原稿トレイ2上における原稿シートCの有無に応じた検出信号SG1を出力する。リアセンサ27は、センサの一例であり、原稿トレイ2と読取位置X1との間の読取前位置X2における原稿シートCの有無に応じた検出信号SG2を出力する。読取前位置X2は検出位置の一例である。また、本体部3の上側の部分は、カバー3Bであり、このカバー3Bは、図1に示すように搬送経路Xを覆う閉姿勢と、搬送経路Xを開放する開姿勢とに開閉可能である。カバーセンサ28は、カバー3Bが閉姿勢か開姿勢かに応じた検出信号SG3を出力する。
図2に示すように、スキャナ1は、上述した読取デバイス24,搬送部4、フロントセンサ26,リアセンサ27,カバーセンサ28に加えて、中央処理装置(以下、CPU)31、ROM32、RAM33、不揮発性メモリ34、ASIC(Application Specific Integrated Circuit)35、表示部36、操作部37、および、通信部38を備える。
搬送部4は、上述したピックアップローラ20、分離パッド21、フィードローラ23、排出ローラ25、モータ4A、および、モータドライバ4Bを有する。モータ4Aは、例えばステッピングモータであり、モータドライバ4Bは、例えばCPU31からクロック信号が入力されると、そのクロック信号の1パルス毎にモータ4Aを1ステップ(所定角度)ずつ回転させる。搬送部4は、原稿トレイ2上に配置された1または複数の原稿シートCを、1枚ずつ、読取位置X1に向けて搬送する搬送動作を実行する。
なお、この搬送動作では、図8に示すように、読取デバイス24が一の原稿シートC1を読み取っている最中に、その次の原稿シートC2を読取位置X1に向けて搬送し始めることがある。これにより、読取指示を受け付けた際に、原稿シートCの先端が原稿トレイ2と読取位置X1との間に到達した搬送済み状態であり、この搬送済み状態の原稿シートを搬送し始める場合と、当該搬送済み状態になっておらず、原稿トレイ2から原稿シートを搬送し始める場合とがある。また、この搬送機構では、原稿シートCの搬送方向寸法が短いほど、原稿シートCによるピックアップローラ20の駆動軸に対する遊び隙間が大きくなる方向への移動量が少なくなる。換言すれば、遊び隙間が小さいほど、ピックアップローラ20の駆動軸が回転し始めてから実際にピックアップローラ20が回転し始めるまでのタイミングが早くなる。後述する制御処理等は、このような装置に対して特に有効である。
ROM32には、各種のプログラムが記憶されており、各種のプログラムには、例えば、後述する制御処理等を実行するためのプログラムや、スキャナ1の各部の動作を制御するためのプログラムが含まれる。RAM33は、CPU31が各種のプログラムを実行する際の作業領域や、データの一時的な記憶領域として利用される。
不揮発性メモリ34には、後述するように、搬送済みフラグ等が記憶される。不揮発性メモリ34は、記憶部の一例であり、NAVRAM、フラッシュメモリ、HDD、EPPROMなどの書き換え可能なメモリであればよい。
CPU31は、制御部の一例であり、ROM32やRAM33等と接続されており、ROM32から読み出したプログラムに従って、スキャナ1の各部を制御する。ASIC35は、画像処理専用のハード回路である。表示部36は、液晶ディスプレイやランプ等を有し、各種の設定画面や装置の動作状態等を表示することが可能である。
操作部37は、受付部の一例であり、複数のボタンを有し、ユーザによる各種の入力指示を受け付け可能である。通信部38は、受付部の一例であり、無線通信方式または有線通信方式により、図示しない外部装置と通信を行うためのインターフェースである。スキャナ1は、操作部37により、ユーザの入力操作に基づく読取指示を受け付けたり、通信部38により、外部装置から送信された読取指示を受け付けたりすることができる。
CPU31は、操作部37または通信部38が読取指示を受け付けたと判断し、且つ、フロントセンサ26からの検出信号SG1に基づき、原稿トレイ2上に原稿シート有りと判断したことを条件に、図3に示す制御処理を実行する。読取指示には、例えば、カラーかモノクロかの設定、解像度、オーバースキャンの設定の有無、スキャンモードの指定など、各種の読取設定に関する情報が含まれる。
オーバースキャンが設定されていないと、スキャナ1は、リアセンサ27の検出信号SG2に基づき、原稿シートCの先端と後端を検出し、その検出結果から、原稿シートCが読取位置X1を通過していると判断する期間だけ、読取デバイス24に読取動作を行わせることにより、原稿シートCのサイズと同一範囲の画像を読み取る。この読取動作は非オーバー読取動作の一例である。しかし、この非オーバー読取動作では、原稿シートCが搬送方向に対して傾いて搬送されると、原稿シートCが読取位置X1を通過すると判断したタイミングと、実際に原稿シートCが読取位置X1を通過するタイミングとがずれてしまい、原稿シートCの一部が読み取れなくなる可能性がある。
一方、オーバースキャンが設定されていると、図8に示すように、読取デバイス24により、原稿シートCのサイズよりも広いオーバースキャン範囲Hの画像を読み取る。この読取動作はオーバー読取動作の一例である。これにより、原稿シートCが傾いて搬送されても、読取デバイスが、原稿シート上の画像の一部を読み取れなくなってしまうことを抑制することができる。以下、搬送方向において、原稿シートCとオーバースキャン範囲Hとの先端同士の距離を、先端オーバー幅LFといい、原稿シートCとオーバースキャン範囲Hとの後端同士の距離を、後端オーバー幅LBという。
なお、各オーバー幅LF、LBの初期値は、主走査方向における原稿シートの最大寸法、および、傾き許容範囲に応じて予め定められている。上記最大寸法は、スキャナ1で読取可能な最大サイズの原稿シートCについての、主走査方向の寸法である。傾き許容範囲は、CPU31が実行する読取画像に対する傾き補正処理において補正可能な傾き角度の範囲である。
スキャンモードには、通常スキャンモード、すべてスキャンモード、1原稿スキャンモードが含まれる。
通常スキャンモードが指定されると、スキャナ1は、読取指示を受け付けたことに応じて、上記搬送動作を開始し、一の原稿シートCの読み取り後、次の原稿シートCを停止させることなく、原稿トレイ2上に配置されたすべての原稿シートCを順次搬送して読み取りを行う。この通常スキャンモードでは、読取指示を受け付けたことに応じて、後述する準備処理を実行し、その準備処理の結果に基づき、すべての原稿シートCの読み取りを行う。即ち、準備処理は、原稿トレイ2上の原稿シートCのうち1枚目の原稿シートCの読み取り前のみ実行され、2枚目以降の原稿シートCの読み取り前に実行されない。なお、通常スキャンモードが指定された際にCPU31が実行する処理は第2読取処理の一例である。
すべてスキャンモードが指定されると、スキャナ1は、読取指示を受け付けたことに応じて、上記搬送動作を開始し、一の原稿シートCの読み取り後、次の原稿シートCを一時停止させ、後述するように、新たな読取指示を待たずに、操作部37等が再開指示を受け付けたことに基づき、搬送動作を再開する。このすべてスキャンモードでは、通常スキャンモードと同様、準備処理は、原稿トレイ2上の原稿シートCのうち1枚目の原稿シートCの読み取り前のみ実行され、2枚目以降の原稿シートCの読み取り前に実行されない。なお、すべてスキャンモードが指定された際にCPU31が実行する処理は第2読取処理の一例である。
1原稿スキャンモードが指定されると、スキャナ1は、読取指示を受け付けたことに応じて、上記搬送動作を開始し、一の原稿シートCの読み取り後、次の原稿シートCを搬送済み状態で停止させ、次の読取指示を待つ待機状態になる。搬送済み状態とは、図9Aに示すように、読取指示を受け付けた際に、既に、次の原稿シートC2の先端が、原稿トレイ2と、後述する読取開始位置XEとの間に位置しており、読取指示を受け付けた際、その位置から搬送が開始される状態である。以下、搬送済み状態の原稿シートCが停止している位置を、単に、停止位置といい、この停止位置は、オーバースキャンの指定の有無等によって変化する。
この1原稿スキャンモードでは、各原稿シートCの読み取りに対して個別に読取指示がされるため、1枚の原稿シートCの読み取りごとに、読取設定を互いに異ならせることができる。また、この1原稿スキャンモードでは、準備処理は、読取指示がされたことに応じて、原稿トレイ2上の原稿シートCのうち1枚目の原稿シートCの読み取り前だけでなく、2枚目以降の各原稿シートCの読み取り前にも実行される。なお、1原稿スキャンモードが指定された際にCPU31が実行する処理は第1読取処理の一例である。
図3のS1では、CPU31は図4に示す読取前処理を実行する。CPU31は、操作部37等が読取指示を受け付けた際に原稿シートCが搬送済み状態であるか否かを判断する(S101,S102)。これらの処理は搬送判断処理の一例である。
具体的には、CPU31は、例えば不揮発性メモリ34を参照して、搬送済みフラグがセットされているか否かを判断する(S101)。なお、後述するように、CPU31は、例えば図9A等に示すように、次の原稿シートC2を読取前位置X2で検出し、且つ、1原稿スキャンモードが指定されていると判断したことに応じて(図3のS8:YES、且つ、図5のS202:YES)、搬送済みフラグをセットする(S204)。
また、CPU31は、リアセンサ27の検出信号SG2に基づき、原稿シートCが読取前位置X2に有るか否かを判断する(S102)。搬送済みフラグがセットされ、かつ、原稿シートCが読取前位置X2に有ることは、原稿シートCが実際に搬送済み状態であることを意味する。そこで、CPU31は、搬送済みフラグがセットされ、かつ、原稿シートCが読取前位置X2に有ると判断したことに応じて(S101:YES、かつ、S102:YES)、S103に進む。これにより、搬送済み状態であることが不揮発性メモリ34に記憶されている否かの情報だけを利用する場合に比べて、読取指示を受け付けた際に原稿シートCが搬送済み状態であるか否かを正確に判断することができる。
S103では、CPU31は、停止位置情報を例えば不揮発性メモリ34から読み出し、準備処理を開始する。停止位置情報とは、後述する図5のS203の搬送動作の停止時における原稿シートCの先端の位置に関する情報である。準備処理は、取得処理の一例であり、読取指示を受け付けたことに基づき、原稿シートCの読取動作前に実行される。読取指示を受け付けた場合、その読取指示で新たな読取条件が指定されている可能性があるため、その新たな読取条件で読取デバイス24に読取動作を実行させるために準備処理が行われる。
準備処理の例には、光量調整処理やシェーディングデータの取得処理などが挙げられる。光量調整処理は、読取位置X1に原稿シートCが無い状態で、光源24Aを発光させ、白基準板24Cで反射した光を受光部24Bで受光させ、その受光量に基づき、光源24Aの光量を目標量に調整する処理である。シェーディングデータの取得処理は、読取位置X1に原稿シートCが無い状態で、光源24Aを発光させ、白基準板24Cで反射した光を受光部24Bで受光させ、その受光量に基づき、シェーディング補正用の白基準データを取得する処理である。
CPU31は、準備処理の開始後、準備処理が完了したか否かを判断し(S104)、完了していないと判断したことに応じて(S104:NO)待機し、完了したと判断したことに応じて(S104:YES)、搬送部4に搬送動作を開始させ(S105)、S110に進む。搬送済み状態から搬送動作を開始する場合、原稿シートCの搬送開始位置から読取位置X1までの距離が短いため、準備処理が完了する前に、原稿シートCが読取位置X1に到達してしまい、準備処理ができなくなる可能性が高い。そこで、CPU31は、読取指示を受け付けたことに基づき、まず、準備処理を実行し、この準備処理が完了したことに応じて、搬送済み状態の原稿シートCの搬送を開始させる。
一方、搬送済みフラグがセットされ、かつ、原稿シートCが読取前位置X2に無いことは、例えば搬送済み状態であった原稿シートCがユーザによって取り除かれた可能性があることを意味する。従って、CPU31は、搬送済みフラグがセットされ、かつ、原稿シートCが読取前位置X2に無いと判断したことに応じて(S101:YES、かつ、S102:NO)、エラー処理を実行し(S109)、本制御処理を終了する。このエラー処理は、例えば、エラー情報を、表示部36に表示させたり、通信部38を介して外部装置に通知したり、搬送動作や読取動作を停止させたりする処理である。これにより、読取指示を受ける前に原稿シートCが停止位置から取り除かれるなどといった異常状態をユーザ等に報知することができる。
S101で、搬送済みフラグがセットされていないと判断したことに応じて(S101:NO)、リアセンサ27の検出信号SG2に基づき、原稿シートCが読取前位置X2に有るか否かを判断する(S106)。搬送済みフラグがセットされておらず、かつ、原稿シートCが読取前位置X2に無いことは、図1に示すように、原稿シートCが搬送済み状態でなく、読取指示を受け付けると、原稿トレイ2から原稿シートCの搬送が開始されることを意味する。
この場合、原稿シートCの搬送開始位置から読取位置X1までの距離が長いため、準備処理の完了を待たずに、搬送動作を開始しても、準備処理が完了する前に、原稿シートCが読取位置X1に到達してしまい、準備処理ができなくなる可能性は低い。そこで、CPU31は、搬送済みフラグがセットされておらず、かつ、原稿シートCが読取前位置X2に無いと判断したことに応じて(S101:NO、かつ、S106:NO)、読取指示を受け付けたことに基づき、準備処理を開始し、その準備処理の完了を待たずに、搬送部4に搬送動作を開始させる(S107)。なお、CPU31は、準備処理の開始後、準備処理の完了前に原稿シートCが読取前位置X2に到達したと判断したことに応じて、搬送部4に搬送動作を停止させ、その準備処理が完了するまで待機してもよい。
このように、CPU31は、原稿シートCが搬送済み状態であると判断した場合(S101:YES、かつ、S102:YES)、搬送済み状態でないと判断した場合(S101:NO、かつ、S106:NO)に比べて、操作部37等が読取指示を受け付けてから原稿シートCを搬送し始めるまでの時間を長くする(S103〜105,S107)。これらの処理は変更処理の一例である。これにより、原稿シートCの搬送し始める位置に関係なく、読取指示を受け付けた時から原稿シートCを搬送し始めるまでの時間が同じである場合に比べて、準備処理が完了する前に原稿シートCが読取位置X1に到達してしまうことを抑制しつつ、読取指示を受けてから原稿シートの読取開始までの時間が一律に長くなることを抑制することができる。
CPU31は、S107で搬送動作を開始した後、リアセンサ27の検出信号SG2に基づき、原稿シートCが読取前位置X2に到達したか否かを判断する(S108)。CPU31は、原稿シートCが読取前位置X2に到達していないと判断したことに応じて(S108:NO)待機し、原稿シートCが読取前位置X2に到達したと判断したことに応じて(S108:YES)、S110に進む。なお、搬送済みフラグがセットされておらず、かつ、原稿シートCが読取前位置X2に有ることは、例えば、後述するように、CPU31が、カバー3Bの開閉が有ったと判断したことに応じて(S402:YES)、搬送済みフラグをクリアした(S403)ことを意味する。そこで、CPU31は、搬送済みフラグがセットされておらず、かつ、原稿シートCが読取前位置X2に有ると判断したことに応じて(S101:NO、かつ、S106:YES)、S109に進む。
S110では、CPU31は、読取指示でオーバースキャンが設定されているか否かを判断する。この処理はオーバー判断処理の一例である。CPU31は、オーバースキャンが設定されていると判断したことに応じて(S110:YES)、先端オーバー幅LF、後端オーバー幅LBを初期値にそれぞれ設定し(S111)、S113に進む。一方、CPU31は、オーバースキャンが設定されていないと判断したことに応じて(S110:NO)、先端オーバー幅LFおよび後端オーバー幅LBを設定せずに(S112)、S113に進む。
S113では、CPU31は、原稿シートCの先端が読取開始位置XSに到達したか否かを判断する。ここで、読取開始位置XSは、オーバースキャンが設定されている場合、読取位置X1よりも先端オーバー幅LFだけ原稿シートCの搬送方向の上流側の先端オーバー位置X3であり(図1参照)、オーバースキャンが設定されていない場合、読取位置X1である。なお、少なくとも1原稿スキャンモードが指定されている場合(後述するS202:YES)には、読取開始位置XSは、読取位置X1よりもやや上流の位置でもよい。これにより、搬送済み状態の原稿シートCが傾いても、その先端が読取位置X1を超えて準備処理が実行できなくなることを抑制することができる。
CPU31は、上記搬送動作の開始時(S105,S107)からのモータ4Aへのステップ数に基づき、原稿シートCの先端が読取開始位置XSに到達したか否かを判断する。CPU31は、原稿シートCの先端が読取開始位置XSに到達していないと判断したことに応じて(S113:NO)待機し、原稿シートCの先端が読取開始位置XSに到達したと判断したことに応じて(S113:YES)、本読取前処理を終了し、図3のS2に進む。
S2では、CPU31は、読取デバイス24に上記読取動作を開始させる。この処理は読取処理の一例である。その後、CPU31は、リアセンサ27の検出信号SG2に基づき、原稿シートCの後端が読取前位置X2に到達したか否かを判断し(S3)、原稿シートCの後端が読取前位置X2に到達していないと判断したことに応じて(S3:NO)待機し、図9Bに示すように、原稿シートCの後端が読取前位置X2に到達したと判断したことに応じて(S3:YES)、原稿シートCの後端が、読取終了位置XEに達したか否かを判断する(S4)。
ここで、読取終了位置XEは、オーバースキャンが設定されている場合、読取位置X1よりも後端オーバー幅LBだけ下流側の後端オーバー位置X4であり(図1参照)、オーバースキャンが設定されていない場合、読取位置X1である。CPU31は、読み取り中の原稿シートCの後端が読取前位置X2に到達したと判断した時(S3:YES)からのモータ4Aのステップ数に基づき、原稿シートCの後端が読取終了位置XEに到達したか否かを判断する。
CPU31は、図9Cに示すように、シート間距離ΔCが比較的長いため、一の原稿シートC1の読み取り終了後に、次の原稿シートC2が読取前位置X2に到達する場合、次の処理を実行する。S4で、CPU31は、読み取り中の原稿シートC1の後端が読取終了位置に達したと判断したことに応じて(S4:YES)、読取デバイス24に読取動作を終了させる(S5)。
次に、CPU31は、フロントセンサ26の検出信号SG1に基づき、原稿トレイ2上に次の原稿シートC2が有るか否かを判断し(S6)、次の原稿シートC2が無いと判断したことに応じて(S6:NO)、読み取り後の原稿シートC1を排出口3Aから排出する位置まで搬送した後に搬送部4の搬送動作を停止させ(S7)、本制御処理を終了し、次の読取指示を待つ待機状態になる。また、S7では、CPU31は、搬送済みフラグがセットされていればクリアする。
CPU31は、原稿トレイ2上に次の原稿シートC2が有ると判断したことに応じて(S6:YES)、リアセンサ27の検出信号SG2に基づき、当該次の原稿シートC2の先端が読取前位置X2に到達したか否かを判断する(S8)。この処理は検出処理の一例である。これにより、リアセンサ27からの検出信号SG2に基づき、原稿シートCの先端が原稿トレイ2と読取位置X1との間に位置することを検出することにより、後述する図5のS203において、原稿シートCを、確実に搬送済み状態で停止させることができる。CPU31は、次の原稿シートC2が読取前位置X2に到達していないと判断したことに応じて(S8:NO)待機し、次の原稿シートC2が読取前位置X2に到達したと判断したことに応じて(S8:YES)、図5に示す第1の次原稿処理を実行する(S13)。
続いて、第1の次原稿処理について、図5を参照しつつ説明する。CPU31は、次の原稿シートC2の先端が上記読取開始位置XSに到達したか否かを判断する(S201)。CPU31は、次の原稿シートC2の先端が読取開始位置XSに到達していないと判断したことに応じて(S201:NO)待機し、次の原稿シートC2の先端が読取開始位置XSに到達したと判断したことに応じて(S201:YES)、1原稿スキャンモードが読取指示で指定されているか否かを判断する(S202)。1原稿スキャンモードが指定されていることは、停止条件の一例であり、このS202の処理は停止判断処理および読取判断処理の一例である。
CPU31は、1原稿スキャンモードが指定されていると判断したことに応じて(S202:YES)、搬送部4に搬送動作を停止させる(S203)。この処理は停止処理の一例である。ここで、読み取り中の原稿シートC1の読み取りについてオーバースキャンが設定されている場合(S110:YES)、図9Dに示すように、次の原稿シートC2は、その先端が上記先端オーバー位置X3(図1参照)に到達した位置で停止する。即ち、この場合の搬送済み状態は、次の原稿シートC2の先端が先端オーバー位置X3に到達した状態になる。これにより、搬送済み状態を、次の原稿シートC2の先端が先端オーバー位置X3よりも上流側の位置に到達した状態とする場合に比べて、読取指示を受け付けてから次の原稿シートC2の読み取りを早期に開始させることができる。
一方、読み取り中の原稿シートC1の読み取りについてオーバースキャンが設定されていない場合(S110:NO)、図9Eに示すように、次の原稿シートC2は、その先端が読取位置X1に達した位置で停止する。即ち、オーバースキャンが設定されている場合(S110:YES)、オーバースキャンが設定されていない場合(S110:NO)に比べて、原稿シートCを、上流側の位置に停止させる。これにより、オーバースキャンが設定されていない場合でも、オーバースキャンが設定されている場合と同じ位置で原稿シートCを停止させる構成に比べて、読取指示を受け付けてから早期に原稿シートCの読み取りを開始することができる。
また、S203では、CPU31は、次の原稿シートC2の停止位置に関する停止位置情報を、例えば不揮発性メモリ34に記憶する(S203)。例えば、CPU31は、次の原稿シートC2が読取前位置X2に到達した時(図3のS8:YES)からモータ4Aのステップ数をカウントし始め、搬送動作の停止時のステップ数のカウント値を、停止位置情報とする。S203の処理は第1搬送処理の一例である。
次に、CPU31は、搬送済みフラグを、例えば不揮発性メモリ34にセットし(S204)、第1次原稿処理および制御処理を終了する。S204の処理は記憶処理の一例である。このように、1原稿スキャンモードが指定されている場合、次の原稿シートC2を搬送済み状態で停止させて、次の読取指示を待つ待機状態になる。これにより、ユーザは、次の原稿シートC2に対する読取指示において、前の原稿シートC1の読み取りとは異なる読取設定を指定することができる。
S202で、CPU31は、1原稿スキャンモードが指定されていないと判断したことに応じて(S202:NO)、搬送済みフラグがセットされていればクリアする(S205)。なお、S205以降の処理は第2搬送処理の一例である。次に、CPU31は、すべてスキャンモードが読取指示で指定されているか否かを判断し(S206)、すべてスキャンモードが指定されていると判断したことに応じて(S206:YES)、搬送部4に搬送動作を一時停止させる(S207)。その後、CPU31は、操作部37または通信部38が再開指示を受け付けたか否かを判断する(S208)。
CPU31は、再開指示を受け付けていないと判断したことに応じて(S208:NO)待機し、再開指示を受け付けたと判断したことに応じて(S208:YES)、搬送部4に搬送動作を再開させ(S209)、図3のS2に進み、読取デバイス24に読取動作を開始させる。また、CPU31は、すべてスキャンモードが指定されていないと判断したことに応じて(S206:NO)、搬送部4に搬送動作を継続させつつ、図3のS2に進み、読取デバイス24に読取動作を開始させる。
このように、CPU31は、1原稿スキャンモードが指定されていると判断した場合(S202:YES)、読取指示を受け付けたことにより制御処理が開始され、準備処理が完了したことを条件に(図4のS104:YES)、搬送部4の搬送動作が開始させる(S105)。一方、CPU31は、1原稿スキャンモードが指定されていないと判断した場合(S202:NO)、再開指示を受け付けた時点で(S208:YES)、搬送部4の搬送動作が開始させる(S209)。
即ち、CPU31は、1原稿スキャンモードが指定されていないと判断した場合、1原稿スキャンモードが指定されていると判断した場合に比べて、操作部37等が読取指示または再開指示を受け付けてから原稿シートCを搬送し始めるまでの時間を短くする。これにより、1原稿スキャンモードが指定されておらず、準備処理の実行を要しない場合にも、読取指示等を受けてから原稿シートCの読取開始までの時間が一律に長くなることを抑制することができ、また、1原稿スキャンモードが指定されている場合は、次の原稿シートC2を、当該次の原稿シートCに対してオーバースキャンが設定される場合でも、オーバースキャン可能な位置に停止させることができる。
CPU31は、図9Fに示すように、シート間距離ΔCが比較的短いため、一の原稿シートC1の読み取り終了前に、次の原稿シートC2が読取前位置X2に到達する場合、次の処理を実行する。S4で、CPU31は、読み取り中の原稿シートC1の後端が読取終了位置XEに到達していないと判断したことに応じて(S4:NO)、リアセンサ27の検出信号SG2に基づき、当該次の原稿シートC2の先端が読取前位置X2に到達したか否かを判断する(S9)。
CPU31は、次の原稿シートC2が読取前位置X2に到達していないと判断したことに応じて(S9:NO)S4に戻り、次の原稿シートC2が読取前位置X2に到達したと判断したことに応じて(S9:YES)、オーバースキャンが読取指示で設定されているか否かを判断する(S10)。この処理はオーバー判断処理の一例である。
CPU31は、オーバースキャンが設定されていないと判断したことに応じて(S10:NO)、上記S4と同様、読み取り中の原稿シートC1の後端が読取終了位置XEに到達したか否かを判断する(S11)。CPU31は、読み取り中の原稿シートC1の後端が読取終了位置XEに到達していないと判断したことに応じて(S11:NO)待機し、読み取り中の原稿シートC1の後端が読取終了位置XEに到達したと判断したことに応じて(S11:YES)、読取デバイス24に読取動作を終了させ(S12)、S13に進み、上記第1の次原稿処理を実行する。なお、この場合、第1の次原稿処理では、オーバースキャンが設定されていないため、1原稿スキャンモードが指定されていれば(S202:YES)、図9Eに示すように、次の原稿シートC2は、その先端が読取位置X1に到達した位置で停止する(S203)。
図3のS10で、CPU31は、オーバースキャンが設定されていると判断したことに応じて(S10:YES)、図6に示す第2の次原稿処理を実行する(S14)。まず、CPU31は、図8,9Eに示すシート間距離ΔCが、上記先端オーバー幅LFおよび後端オーバー幅LBを確保可能な距離であるか否かを判断する。具体的には、CPU31は、シート間距離ΔCが、先端オーバー幅LFと後端オーバー幅LBとの合計距離以上であるか否かを判断する(S301)。合計距離は規定距離の一例であり、S301の処理は距離判断処理の一例である。
CPU31は、例えば、図3のS3で読み取り中の原稿シートC1の後端が読取前位置X2に到達したと判断した時(S3:YES)からモータ4Aのステップ数をカウントし始め、S9で次の原稿シートC2の先端が読取前位置X2に到達したと判断した時(S9:YES)までカウントし、そのカウント値に基づきシート間距離ΔCを取得する。なお、上記合計距離に、モータ4Aのスルーダウン距離を加えてもよい。スルーダウン距離は、追従遅れ等に起因して生ずる距離であり、CPU31が停止指令を与えてから搬送部4が実際に停止するまでに原稿シートCが搬送される距離である。
CPU31は、シート間距離ΔCが上記合計距離以上であると判断したことに応じて(S301:YES)、図3のS11に進み、読取動作の終了後(S12)、第1の次原稿処理を実行する(S13)。この場合、オーバースキャンが設定されているため、1原稿スキャンモードが指定されていれば(図5のS202:YES)、図9Dに示すように、次の原稿シートC2は、その先端が先端オーバー位置X3に達した位置で停止する(S203)。
一方、CPU31は、シート間距離ΔCが上記合計距離以上でないと判断したことに応じて(S301:NO)、先端オーバー幅LFおよび後端オーバー幅LBの少なくとも一方を、初期値よりも短くし(S302)、S303に進む。このS302の処理は幅変更処理の一例である。具体的には、CPU31は、例えば先端オーバー幅LFおよび後端オーバー幅LBそれぞれを、シート間距離ΔCの半分の値(=ΔC/2)に変更する。
これにより、シート間距離ΔCが狭いために、読み取り中の原稿シートC1の後端側や、次の原稿シートC2の先端側に対して、オーバースキャン範囲Hで読み取れないと行った事態が生じることを抑制することができる。また、先端オーバー幅LFを狭くすることにより、準備処理が完了する前に、次の原稿シートC2に対するオーバースキャン動作の開始タイミングが到来してしまうことを抑制することができる。
S303では、CPU31は1原稿スキャンモードが読取指示で指定されているか否かを判断する。1原稿スキャンモードが指定されていることは取得処理の実行条件の一例であり、このS303の処理は取得判断処理の一例である。CPU31は、1原稿スキャンモードが指定されていると判断したことに応じて(S303:YES)、S302の処理後の先端オーバー幅LFが準備用距離よりも短いか否かを判断する(S304)。準備用距離は、原稿シートCが傾いていないときの最先位置に対して、原稿シートCが上記傾き許容範囲内で最大限傾いたときに、搬送方向において最先端が超える距離である。即ち、CPU31は、先端オーバー幅LFが、原稿シートCが最大限傾いても準備処理を実行可能な距離であるか否かを判断する。
CPU31は、先端オーバー幅LFが準備用距離よりも短いと判断したことに応じて(S304:YES)、先端オーバー幅LFを準備用距離に相当する値に設定し直し、後端オーバー幅LBを、シート間距離ΔCから先端オーバー幅LFを差し引いた値に設定し(S305 図9G参照)、S306に進む。このS305の処理は幅変更処理の一例である。これにより、読み取り中の原稿シートC1の後端に対してオーバースキャン範囲Hが狭くなり得るが、準備処理が完了する前に次の原稿シートC2の先端が読取位置X1に到達してしまうことを抑制することができる。なお、上記スルーダウン距離を考慮して、後端オーバー幅LBを、シート間距離ΔCから先端オーバー幅LFを差し引いた値から更にスルーダウン距離だけ差し引いた値に設定してもよい。
一方、CPU31は、1原稿スキャンモードが指定されていないと判断したこと(S303:NO)、S305の処理をせずに、S306に進む。1原稿スキャンモードが指定されなければ、次の原稿シートC2の読み取り前に、準備処理を実行する必要がないため、準備用距離を考慮する必要がないからである。または、CPU31は、先端オーバー幅LFが準備用距離よりも短くないと判断したことに応じて(S304:NO)、S305の処理をせずに、S306に進む。先端オーバー幅LFが準備用距離よりも短くなければ、次の原稿シートC2が傾いても、その先端が読取位置X1を超えて準備処理が実行できなくなる可能性は低いからである。
S306で、CPU31は、読み取り中の原稿シートC1の後端が、読取終了位置XEに到達したか否かを判断する。以下の処理は、一部を除いて、図5のS202~S209の処理と共通するため、この共通する処理については同一符号を付して説明を割愛し、相違する処理のみ説明する。CPU31は、1原稿スキャンモードが指定されていると判断したことに応じて(S202:YES)、読取デバイス24に原稿シートC1に対する読取動作を終了させ(S307)、S203に進む。また、CPU31は、すべてスキャンモードが指定されていないと判断したことに応じて(S206:NO)、読取デバイス24に原稿シートC1に対する読取動作を終了させ(S308)、図3のS13に進む。また、CPU31は、搬送部4に搬送動作を再開させ(S209)、図3のS13に進む。
このように、読み取り中の原稿シートC1についてオーバースキャンが設定されている場合(S10:YES)、1原稿スキャンモードが指定されていれば(図6のS202:YES)、図9Gに示すように、次の原稿シートC2は、その先端が先端オーバー位置X3に到達した位置で停止する(同図のS203)。一方、上述したように、オーバースキャンが設定されていない場合(S10:NO)、1原稿スキャンモードが指定されていれば(図5のS202:YES)、図9Eに示すように、次の原稿シートC2は、その先端が読取位置X1に到達した位置で停止する(同図のS203)。即ち、読み取り中の原稿シートC1に対してオーバースキャンが設定されている場合、オーバースキャンが設定されていない場合よりも上流の位置に、次の原稿シートC2が停止する。これにより、次の原稿シートC2を、オーバースキャンの設定の有無に応じた適切な位置で停止させることができる。
また、CPU31は、1原稿スキャンモードが指定されている場合(S303:YES)、次の原稿シートC2は、その先端が、先端オーバー幅LF分だけ読取位置X1より上流位置で停止する(S203)。一方、CPU31は、1原稿スキャンモードが指定されていない場合(S303:NO)、次の原稿シートC2は、その先端が、先端オーバー幅LFの半分の距離分だけ読取位置X1より上流位置で停止する(S203)。即ち、1原稿スキャンモードが指定されている場合、次の原稿シートC2が傾いても、その先端が読取位置X1を超えて準備処理が実行できなくなることを抑制することができる。また、1原稿スキャンモードが指定されていない場合、1原稿スキャンモードが指定されている場合と同じ位置で次の原稿シートC2を停止させる構成に比べて、読取指示を受け付けてから早期に次の原稿シートC2の読み取りを開始することができる。
CPU31は、図5,6のS203,S204で、次の原稿シートC2を搬送済み状態で停止させ、搬送済みフラグをセットして、次の読取指示を待つ待機状態になったことに応じて、図7に示す待機処理を実行する。CPU31は、操作部37等が読取指示を受け付けておらず、且つ、搬送済みフラグがセットされているか否かを判断する(S401)。
CPU31は、読取指示を受け付けておらず、且つ、搬送済みフラグがセットされていると判断したことに応じて(S401:YES)、カバーセンサ28からの検出信号SG3に基づき、カバー3Bの開閉の有無を判断する(S402)。この処理は検知処理の一例である。CPU31は、カバー3Bの開閉が有ったと判断したことに応じて(S402:YES)、搬送済みフラグをクリアし(S403)、本待機処理を終了する。S403の処理は書換処理の一例である。
カバーの開閉により、搬送済み状態であった原稿シートCの位置が下流側にずれてしまうことがある。これに対し、上記書換処理により、準備処理が完了する前に原稿シートCが読取位置X1に到達してしまうなどの不具合が生じることを抑制することができる。CPU31は、読取指示を受け付けたり、搬送済みフラグが既にセットされていないと判断したことに応じて(S401:NO)、本待機処理を終了する。一方、CPU31は、カバー3Bの開閉が無いと判断したことに応じて(S402:NO)、S401に戻る。
本明細書で開示される技術は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような種々の態様も含まれる。
読取装置は、スキャナ単体に限らず、例えば読取機能および印刷機能を備えてコピー機、ファクシミリ機能を備えたファクシミリ単体、更には、コピー機能やファクシミリ機能などの複数の機能を備えた複合機でもよい。また、読取装置は、搬送経路が直線状であるもの限らず、例えば、搬送経路がU字状に折り返すものでもよい。
また、読取装置は、2つの読取デバイスを有し、原稿シートの両面の画像を読み取ることが可能な構成でもよい。例えば、図1に示すスキャナ1に、読取デバイス24とは別の読取デバイスを更に設けてもよい。この別の読取デバイスは、読取位置X1よりも下流の位置で、読取デバイス24が読み取る原稿シートCの面とは反対の面の画像を読み取る。この構成の場合、図3のS4等における「読取終了位置XE」は、2つの読取デバイスのうち下流側で画像を読み取る読取デバイスの読取終了位置でもよい。また、図4のS113等における「読取開始位置XS」は、2つの読取デバイスのうち上流側で画像を読み取る読取デバイスの読取開始位置でもよい。この場合、図6のS301における上記合計距離は、先端オーバー幅LFおよび後端オーバー幅LBに、更に、2つの読取デバイス同士の読取位置のギャップ距離を加えてもよい。ギャップ距離を加味し、上流側の読取デバイスにおける原稿シートC1の後端のオーバースキャン量を減らすことで、次の原稿シートC2の先端を、下流側の読取デバイスに対する準備処理を実行可能な位置で停止することができます。また、次の原稿シートC2に対して、2つの読取デバイスのいずれに対する準備処理も実行可能である。
制御部は、1つのCPU31により図3から図7の各処理を実行する構成であった。しかし、これに限らず、制御部は、複数のCPUにより図3等の各処理を実行する構成、ASIC35などの専用のハード回路のみにより図3等の各処理を実行する構成や、CPUおよびハード回路により図3等の各処理を実行する構成でもよい。
判断処理において、CPU31は、図4のS101の処理とS102の処理を逆の順序で実行してもよい。また、CPU31は、S101の処理およびS102の処理のいずれか一方のみ実行してもよい。例えばCPU31は、S101の判断結果のみから搬送済み状態であるか否かを判断してもよい。これにより、例えば、リアセンサ27の検出信号SG2に基づき原稿シートCを検出し、その検出結果だけを利用する場合に比べて、読取指示を受け付けた際に原稿シートが搬送済み状態であるか否かを正確に判断することができる。
取得処理は、光量調整処理やシェーディングデータの取得処理に限らず、例えば読取デバイス24の受光感度を調整する処理でもよい。要するに、取得処理は、操作部37等が読取指示を受け付けた後であって原稿シートCが読取位置に到達する前における読取デバイス24の読取結果を取得する処理であればよい。
図4の読取前処理において、CPU31は、搬送済みフラグがセットされており、原稿シートCが読取前位置X2に到達したと判断した場合(S101:YES、かつ、S102:YES)、且つ、オーバースキャンが設定されていると判断したことに応じて(S110:YES)、原稿シートCが読取開始位置XSに到達するのを待たずに、原稿シートCの読取動作を開始してもよい。具体的には、同図において、CPU31は、オーバースキャンが設定されていると判断し(S110:YES)、S111およびS113の処理をせずに、図3のS2に進んでもよい。これにより、例えば、既に図6のS302やS205で先端オーバー幅LFが初期値よりも短くなっている場合でも、原稿シートCの画像が読み取れなくなることを抑制することができる。
停止条件および取得処理の実行条件は、1原稿スキャンモードが指定されていること(図5,6のS202)に限らず、ユーザによる強制実行指示等、取得処理の実行指示を、操作部37等が受け付けたことなどでもよい。
図4のS104,S105では、CPU31は、準備処理が完了したと判断したことに応じて(S104:YES)、搬送済み状態の原稿シートCを搬送し始めた(S105)。しかし、CPU31は、準備処理を開始後(S103)、準備処理が完了する前であって、原稿シートCの先端が読取位置X1に到達する前に準備処理が完了可能なタイミングで、搬送済み状態の原稿シートCを搬送し始めてもよい。要するに、原稿シートCの先端が読取位置X1に到達する前に準備処理が完了していればよい。
図10に示す第1の次原稿処理を示すフローチャートは、S201およびS202の実行順序が、図5とは異なる。即ち、CPU31は、1原稿スキャンモードが設定されていないと判断した場合(S202:NO)、次の原稿シートC2の先端が読取開始位置XSに到達したと判断するまで待った後に(S201:YES)、搬送部4に搬送動作を停止させる(S207等)。
一方、CPU31は、1原稿スキャンモードが設定されていると判断した場合(S202:YES)、S110でオーバースキャンが設定されていないと判断された場合でも、次の原稿シートC2の先端が読取開始位置XSに到達するのを待たずに、搬送動作を停止させる(S203)。これにより、次の原稿シートC2の先端を、読取開始位置XSよりも上流側の位置、例えば先端オーバー位置X3に停止させることができる。これらの処理は時間変更処理の一例である。
これにより、例えば、前の原稿シートC1に対する読取指示でオーバースキャンが設定されておらず、次の原稿シートC2に対する読取指示でオーバースキャンが設定された場合でも、当該次の原稿シートC2がオーバースキャン範囲Hで読み取れなくなることを抑制することができる。なお、図6でも、S202で、CPU31が、1原稿スキャンモードが設定されていると判断したことに応じて(S202:YES)、S110でオーバースキャンが設定されていないと判断された場合でも、次の原稿シートC2を、その先端が先端オーバー位置X3に到達した位置に停止させてもよい。
図5,6のS203では、搬送済み状態は、原稿シートCの先端が、読取開始位置XSに到達した位置で停止した状態であったが、これに限らない。搬送済み状態は、原稿シートCの先端が、読取開始位置XSよりも上流側の位置に到達した位置で停止した状態でもよい。上流側の位置は、例えば、上記準備用距離以上の距離だけ読取位置X1より上流の位置、先端オーバー幅LFと準備用距離との合計距離分だけ読取位置X1より上流の位置や、先端オーバー幅LFと後端オーバー幅LBと準備用距離との合計距離分だけ読取位置X1より上流の位置でもよい。
図5,6に示す次原稿処理において、CPU31は、次の原稿シートC2の先端が読取開始位置XSに到達したと判断したことに応じて(S201:YES)、S202の処理をせずに、スキャンモードの指定に関係なく、S203に進んでもよい。また、CPU31は、S205の処理の実行後、S206の処理をせずに、S207または図3のS2に進んでもよい。
図6に示す第2の次原稿処理において、CPU31は、S302の処理の実行後、S303からS305の処理をせずに、S306に進んでもよい。また、CPU31は、1原稿スキャンモードが指定されていると判断したことに応じて(S303:YES)、S304の処理をせずにS306に進んでもよい。
図6のS305において、CPU31は、先端オーバー幅LFをゼロに設定し、後端オーバー幅LBをシート間距離ΔCと同等の値に設定してもよい。これにより、準備処理が完了する前に次の原稿シートC2の先端が読取位置X1に到達してしまう可能性はあるが、読み取り中の原稿シートC1の後端に対してオーバースキャン範囲Hで読み取ることができる。
1原稿スキャンモードが指定されると、スキャナ1は、読取指示を受け付けたことに応じて、上記搬送動作を開始し、一の原稿シートCの読み取り後、次の原稿シートCを搬送済み状態で停止させ、次の読取指示を待つ待機状態になる。搬送済み状態とは、図9Aに示すように、読取指示を受け付けた際に、既に、次の原稿シートC2の先端が、原稿トレイ2と、後述する読取終了位置XEとの間に位置しており、読取指示を受け付けた際、その位置から搬送が開始される状態である。以下、搬送済み状態の原稿シートCが停止している位置を、単に、停止位置といい、この停止位置は、オーバースキャンの指定の有無等によって変化する。
CPU31は、読取指示を受け付けておらず、且つ、搬送済みフラグがセットされていると判断したことに応じて(S401:YES)、カバーセンサ28からの検出信号SG3に基づき、カバー3Bの開閉の有無を判断する(S402)。この処理は検知処理の一例である。CPU31は、カバー3Bの開閉が有ったと判断したことに応じて(S402:YES)、搬送済みフラグをクリアし(S403)、S401に戻る。S403の処理は書換処理の一例である。