(57)【要約】【課題】画像読取装置において、読取中断時に、搬送対象を適切な量後退させて、効率的に読取再開動作を実行可能な技術を提供すること。【解決手段】多機能装置では、バッファの空き容量に基づいて読取動作の停止・再開を行うが、読取開始時には、搬送対象としてのＣＣＤラインセンサ２０が停止状態から定速状態に移行するまでに移動した距離を、加速距離として計測する。また、読取中断時には、ＣＣＤラインセンサによる読取動作を中断し、搬送対象の減速停止処理を行うが、この際、搬送対象が上記中断時点から停止するまでに移動した距離を、減速距離として計測する。そして、搬送対象を画像読取方向とは反対側に後退させる際には、直前に計測した加速距離に減速距離を加算した距離、停止位置から後退させる。そして、読取再開時には、この地点から搬送対象を加速させ、読取中断地点（読取再開地点）で、搬送対象が定速状態となるようにする。【選択図】図２１
2008129063.tif 000002
【特許請求の範囲】
【請求項１】
読取対象の画像情報を読み取る読取ユニットと、
ＤＣモータを有し、前記ＤＣモータの駆動力により、前記読取ユニット及び読取対象のいずれか一方を、搬送対象として、搬送する搬送機構と、
前記搬送機構を通じて、前記搬送対象の移動速度を制御し、前記搬送対象を、画像読取方向に定速で移動させると共に、前記搬送対象が読取開始地点を通過した時点から、前記読取ユニットの読取動作により生成された各ラインの読取画像データを、バッファに書き込む処理を実行する読取制御手段と、
前記読取制御手段の動作により前記搬送対象が定速移動状態に移行するまでに要した距離であって、前記搬送対象の移動開始地点から、前記搬送対象が定速移動状態に移行した地点までの距離を、計測する加速距離計測手段と、
前記読取制御手段による処理の中断要否を判定する中断判定手段と、
前記中断判定手段によって前記読取制御手段による処理の中断が必要であると判定されると、前記読取制御手段による処理を停止させると共に、前記搬送機構を通じて、当該搬送対象が前記画像読取方向への移動を停止するまで、前記搬送対象を減速させる停止制御手段と、
前記停止制御手段の動作によって前記読取制御手段による処理が停止された時点での搬送対象の存在地点から、前記搬送対象の前記画像読取方向への移動が停止した地点までの距離を、計測する減速距離計測手段と、
前記停止制御手段の動作により前記画像読取方向への移動が停止した前記搬送対象を、前記搬送機構を通じて、前記画像読取方向とは逆方向に移動させる後退制御手段と、
前記後退制御手段により前記搬送対象を移動させる距離を、前記加速距離計測手段及び減速距離計測手段により計測された距離に基づき、設定する戻し量設定手段と、
を備えることを特徴とする画像読取装置。
【請求項２】
前記戻し量設定手段は、前記減速距離計測手段により計測された距離に、前記加速距離計測手段により計測された距離を加算した距離を、前記後退制御手段により前記搬送対象を移動させる距離として、設定することを特徴とする請求項１記載の画像読取装置。
【請求項３】
前記読取制御手段による処理が中断されている期間、前記読取制御手段による処理の再開要否を判定する再開判定手段
を備え、
前記読取制御手段は、前記再開判定手段により再開が必要であると判定されると、前記後退制御手段により移動された前記搬送対象を、再度、前記画像読取方向に、定速で移動させ、前記搬送対象が読取再開地点を通過した時点から、前記読取ユニットの読取動作により生成された各ラインの読取画像データを、バッファに書き込む構成にされていることを特徴とする請求項１又は請求項２記載の画像読取装置。
【請求項４】
前記中断判定手段は、前記バッファの空き容量に基づき、前記読取制御手段による処理の中断要否を判定する構成にされていることを特徴とする請求項１〜請求項３のいずれかに記載の画像読取装置。
【請求項５】
前記加速距離計測手段は、前記読取制御手段の動作により、前記搬送対象の搬送が行われる度に、前記距離を計測する構成にされ、
前記減速距離計測手段は、前記停止制御手段の動作により、前記読取制御手段による処理が停止され、前記搬送対象の減速が行われる度に、前記距離を計測する構成にされ、
前記戻し量設定手段は、前記後退制御手段により前記搬送対象の搬送が行われる度に、前記後退制御手段により前記搬送対象を移動させる距離を、前記加速距離計測手段及び減速距離計測手段から得られた最新の計測結果に基づき、設定する構成にされていることを特徴とする請求項１〜請求項４のいずれかに記載の画像読取装置。
【請求項６】
前記読取制御手段は、前記搬送機構を通じて、前記搬送対象を前記画像読取方向の端部まで移動させると、前記画像読取方向を反転させて、前記搬送対象を、搬送する構成にされており、
前記戻し量設定手段は、前記読取制御手段により現在の画像読取方向と同方向に前記搬送対象が搬送されていたときに、前記加速距離計測手段及び減速距離計測手段により計測された距離に基づき、前記後退制御手段により前記搬送対象を移動させる距離を、設定する構成にされていることを特徴とする請求項１〜請求項５のいずれかに記載の画像読取装置。
【請求項７】
前記加速距離計測手段は、前記移動開始地点を基点とした距離であって、移動開始後の所定期間において、前記読取制御手段による定速制御時の目標速度を基準速度とした前記基準速度より上方向に設定された第一判定速度から前記基準速度より下方向に設定された第二判定速度までの範囲内に、前記搬送対象の速度が前記範囲外から変化して収まる事象が最後に発生した地点までの距離を、計測結果として出力する構成にされていることを特徴とする請求項１〜請求項６のいずれかに記載の画像読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、読取ユニットと読取対象との相対位置を変化させてライン毎に画像を読み取る画像読取装置に関する。
【背景技術】
【０００２】
従来、画像読取装置としては、読取対象（原稿）を静止させた状態で、読取ユニットを、読取対象上に搬送し、この間に、読取ユニットに読取動作を実行させることにより、読取対象の画像情報を読取ユニットに読み取らせるフラットベッド型の画像読取装置や、読取ユニットを固定した状態で、読取対象としての原稿を、読取ユニット上に搬送することにより、読取対象の画像情報を読み取るＡＤＦ（オートドキュメントフィーダ）型の画像読取装置が知られている（例えば、特許文献１参照）。
【０００３】
また、読取ユニットや読取対象を搬送するための駆動源としては、パルスモータやＤＣモータが知られている。パルスモータは、位置制御の容易さ・制御システムの構成の利便性から広く利用されているが、パルスモータには、ＤＣモータよりも駆動時の騒音や消費電力が大きいといった欠点や、ＤＣモータよりも走査の高速性が劣るといった欠点がある。このため、近年では、駆動時の騒音低減・消費電力の低減・高速性の向上を目的とし、駆動源としてＤＣモータを採用した画像読取装置の開発が活発に行われている。
【特許文献１】特開２００１−０２４８５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、近年の読取解像度の高い画像読取装置では、画像読取速度よりも、外部機器へのデータ転送速度や、ガンマ補正などの読取後の画像処理速度のほうが低速になる場合がある。この場合には、読取ユニットから出力される画像データを蓄積しておくためのバッファが、原稿一枚分の画像読取動作を完了するまでに、一杯になるため、従来の画像読取装置では、バッファの空き容量が閾値未満となった時点で、一時読取動作を停止し、バッファの空き容量がある程度確保できた時点で、読取動作を再開させるようにしている。
【０００５】
また、読取を中断して、読取ユニットや読取対象の搬送を一旦停止する場合には、再開時に、搬送対象（読取ユニットや読取対象）を、読取中断地点よりも所定距離戻して、読取中断地点の手前から、搬送対象の搬送を開始するものが知られている。このように、読取中断地点の手前から、搬送対象の搬送を開始するのは、読取画像に歪みや濃度ムラが生じないようにするためには、搬送対象を、読取区間において定速で移動させる必要があり、搬送対象を定速で移動させるには、加速区間が必要になるためである。
【０００６】
しかしながら、従来の画像読取装置では、搬送対象を、読取中断地点よりも所定距離戻して、読取中断地点より所定距離手前から、再搬送する程度であるため、戻し量（上記所定距離）を、搬送機構の伝達特性の経時変化を考慮して、冗長に設定する必要があった。このため、従来装置では、読取の中断動作が多くなると、原稿読取に長い時間がかかるといった問題があった。
【０００７】
特に、駆動源としてＤＣモータを用いる場合には、駆動源としてパルスモータを用いる場合と比較して、伝達特性の経時変化の影響を受けやすい点から、戻し量を十分に大きく設定する必要があった。
【０００８】
本発明は、こうした問題に鑑みなされたものであり、駆動源としてＤＣモータを用いた画像読取装置において、読取中断時に、搬送対象を、従来よりも、適切な量戻すことができ、効率的に読取再開動作を実行可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
かかる目的を達成するためになされた請求項１記載の画像読取装置は、読取対象の画像情報を読み取る読取ユニットと、ＤＣモータを有し、ＤＣモータの駆動力により、読取ユニット及び読取対象のいずれか一方を、搬送対象として搬送する搬送機構と、読取制御手段と、加速距離計測手段と、中断判定手段と、停止制御手段と、減速距離計測手段と、後退制御手段と、戻し量設定手段と、を備え、読取ユニットと読取対象との相対位置を変化させてライン毎に画像を読み取るものである。
【００１０】
この画像読取装置では、読取制御手段が、搬送機構を通じて、搬送対象の移動速度を制御し、搬送対象を、画像読取方向（搬送方向）に定速で移動させると共に、搬送対象が読取開始地点を通過した時点から、読取ユニットの読取動作により生成された各ラインの読取画像データを、バッファに書き込む処理を実行する。
【００１１】
そして、加速距離計測手段は、この読取制御手段の動作により、搬送対象が定速移動状態に移行するまでに要した距離であって、搬送対象の移動開始地点から、搬送対象が定速移動状態に移行した地点までの距離（加速距離）を計測する。
【００１２】
また、この画像読取装置では、中断判定手段が、読取制御手段による処理の中断要否を判定し、中断判定手段によって読取制御手段による処理の中断が必要であると判定されると、停止制御手段が、読取制御手段による処理を停止させると共に、搬送機構を通じて、当該搬送対象が画像読取方向への移動を停止するまで、搬送対象を減速させる処理を行う。また、減速距離計測手段は、停止制御手段の動作によって読取制御手段による処理が停止された時点での搬送対象の存在地点から、搬送対象の画像読取方向への移動が停止した地点までの距離（減速距離）を、計測する。
【００１３】
この他、画像読取装置では、後退制御手段が、停止制御手段の動作により画像読取方向への移動が停止した搬送対象を、搬送機構を通じて、画像読取方向とは逆方向に移動させるが、後退制御手段によって搬送対象を移動させる距離を、戻し量設定手段が、加速距離計測手段及び減速距離計測手段により計測された距離に基づき、設定する。
【００１４】
このように、本発明の画像読取装置では、加速距離計測手段及び減速距離計測手段により、加速距離及び減速距離を計測して、この計測結果に基づき、読取中断時の搬送対象の戻し量を決定する。
【００１５】
読取再開時に読取中断地点からの読取を再開する場合には、読取中断地点（読取再開地点）を通過するまでに、搬送対象を定速移動状態に移行させる必要があるが、そのために必要な戻し量は、減速距離及び加速距離にて理論的には導出できる。
【００１６】
従って、本発明のように加速距離及び減速距離の実測値に基づき、戻し量を決定するようにすれば、戻し量を一定値に固定する従来装置のように、搬送機構の伝達特性の経時変化を考慮して、予め戻し量を冗長に設定しておく必要がなく、読取中断時に、適切な量、搬送対象を戻すことができる。
【００１７】
よって、この画像読取装置によれば、搬送対象の戻し量が必要以上に大きいために、読取再開時において、読取再開地点までの搬送対象の搬送に要する時間が長くなり、又、読取再開地点までの搬送に係る消費電力が無駄に大きくなってしまうのを抑制することができる。即ち、この画像読取装置によれば、効率的に読取再開動作を実行することができる。
【００１８】
尚、戻し量設定手段は、上記後退制御手段により搬送対象を移動させる距離として、減速距離計測手段により計測された距離（減速距離）に、加速距離計測手段により計測された距離（加算距離）を加算した距離（減速距離＋加速距離）を、設定する構成にすることができる（請求項２）。また、これに補正項を加え、上記後退制御手段により搬送対象を移動させる距離を、減速距離＋加速距離＋補正項に対応した距離とするように、戻し量設定手段を構成されてもよい。例えば、上記補正項は、各計測手段の計測精度や、モータの制御能力に応じて設定することができる。
【００１９】
また、上記画像読取装置は、読取制御手段による処理が中断されている期間、読取制御手段による処理の再開要否を判定する再開判定手段を備え、再開判定手段により再開が必要であると判定されると、読取制御手段が、後退制御手段により移動された搬送対象を、再度、画像読取方向（搬送方向）に、定速で移動させ、搬送対象が読取再開地点を通過した時点から、読取ユニットの読取動作により生成された各ラインの読取画像データを、バッファに書き込むように、構成することができる。
【００２０】
その他、中断判定手段は、バッファの空き容量に基づき、読取制御手段による処理の中断要否を判定する構成にすることができる（請求項４）。画像読取速度よりも、外部機器へのデータ転送速度や、画像読取後の画像処理速度のほうが低速な読取解像度の高い画像読取装置では、バッファの空き容量が高頻度に足らなくなるため、高頻度に読取に係る処理を中断する必要がある。しかしながら、各回の中断時に、冗長に搬送対象を戻すと、各回の非効率な処理が、全体として大きなロスに繋がる。
【００２１】
一方、本発明では、搬送対象の戻し量を、冗長な値に設定せずに済むので、読取再開動作を毎回、効率的に行うことができ、全体として、読取対象（原稿）の読取時間を、大きく短縮することができる。
【００２２】
また、戻し量設定手段は、戻し量を、所定時間毎に設定する構成にされてもよいが、好ましくは、常時、最新の計測結果に基づいて、戻し量を設定する構成にされるとよい。即ち、上述の画像読取装置において、加速距離計測手段は、読取制御手段の動作により、搬送対象の搬送が行われる度に、加速距離を計測する構成にされ、減速距離計測手段は、停止制御手段の動作により、読取制御手段による処理が停止され、搬送対象の減速が行われる度に、減速距離を計測する構成にされ、戻し量設定手段は、後退制御手段により搬送対象の搬送が行われる度に、後退制御手段により搬送対象を移動させる距離を、加速距離計測手段及び減速距離計測手段から得られた最新の計測結果に基づき、設定する構成にされるとよい（請求項５）。
【００２３】
このような構成の画像読取装置では、常に、最新の計測結果に基づき、戻し量を設定するので、戻し量として、常に適切な値を設定することができ、結果として、高性能な画像読取装置を提供することができる。
【００２４】
また、画像読取装置としては、画像読取方向の端部まで読取ユニットを搬送して、原稿の読取が完了すると、読取ユニットをホームポジションまで戻し、次原稿の読取時には、再度、読取ユニットを同じ画像読取方向に搬送して、原稿を読み取るものの他、画像読取方向の端部まで読取ユニットを搬送した場合には、その位置で読取ユニットを待機させ、次原稿の読取時には、逆方向に読取ユニットを移動させて、前回の画像読取方向とは反対方向から画像を読み取る装置が知られているが、後者の画像読取装置においては、戻し量設定手段を、請求項６記載のように構成されるとよい。
【００２５】
即ち、読取制御手段が、搬送機構を通じて、搬送対象を画像読取方向（搬送方向）の端部まで移動させると、画像読取方向を反転させて、搬送対象を、搬送する構成にされた画像読取装置では、戻し量設定手段が、読取制御手段により現在の画像読取方向と同方向に搬送対象が搬送されていたときに、加速距離計測手段及び減速距離計測手段により計測された距離に基づき、後退制御手段により搬送対象を移動させる距離を、設定するように、装置を構成するとよい。
【００２６】
搬送機構の伝達特性は、搬送対象の移動方向によって異なるのが通常であるので、画像読取方向が異なるときの加速距離計測手段及び減速距離計測手段の計測結果に基づいて、搬送対象の戻し量を決定すると、伝達特性の違いにより適切に戻し量を設定することができない可能性がある。一方、本発明のように、画像読取方向が同方向のときの加速距離計測手段及び減速距離計測手段の計測結果に基づいて、搬送対象の戻し量を決定するように画像読取装置を構成すれば、この装置では、適切に戻し量を設定することができ、結果として、高性能な画像読取装置を提供することができる。
【００２７】
また、上述の画像読取装置において、加速距離計測手段は、請求項７記載のように、移動開始地点を基点とした距離であって、移動開始後の所定期間において、読取制御手段による定速制御時の目標速度を基準速度とした基準速度より上方向に設定された第一判定速度から基準速度より下方向に設定された第二判定速度までの範囲内に、搬送対象の速度が範囲外から変化して収まる事象が最後に発生した地点までの距離を、計測結果として出力する構成にされるとよい。
【００２８】
ここでいう所定期間としては、例えば、移動開始後、所定時間が経過するまでの期間や、移動開始後、搬送対象が所定距離を移動するまでの期間などを挙げることができる。加速距離計測手段をこのように構成すれば、制御が安定するまでの距離、即ち、搬送対象を目標速度で搬送することが可能となるまでの距離を、加速距離として計測することができるので、この加速距離を用いて戻し量を設定するようにすれば、冗長な値を設定しなくても、読取再開地点で、搬送対象が定速運動するように、戻し量を適切に設定することができる。従って、この発明によれば、効率的に読取再開動作を実行可能な画像読取装置を提供することができる。
【発明を実施するための最良の形態】
【００２９】
以下に本発明の実施例について、図面と共に説明する。
（１）多機能装置の全体構成
図１は、本発明が適用された多機能装置１の全体構成（電気的構成）を表すブロック図である。本実施例の多機能装置１は、プリンタ機能、コピー機能、スキャナ機能、及び、ファクシミリ機能を備えるものであり、装置全体を統括制御するＣＰＵ１１、ＣＰＵ１１により実行される各種プログラムやデータ等を記憶するＲＯＭ１２、及び、ＣＰＵ１１の演算時に作業領域として使用されるＲＡＭ１３を備える。
【００３０】
また、この多機能装置１は、エンコーダＥＮ１，ＥＮ２，ＥＮ３，ＥＮ４からのパルス信号に基づく処理を行うエンコーダ処理部１５と、モータＭＴ１，ＭＴ２，ＭＴ３，ＭＴ４を制御する駆動制御部１７と、記録ヘッド１８による画像形成を制御する記録制御部１９と、ＣＣＤラインセンサ２０による画像読取を制御する読取制御部２１と、情報表示用のディスプレイ及びユーザ操作受付用の操作キーを備える表示操作パネル２３と、各種エンコーダＥＮ１〜ＥＮ４から出力されるパルス信号や読取フロントエンド４１から出力されるラインスタート信号よりも十分に周期が短いクロック信号を生成し、これを当該多機能装置１内の各部に供給するクロック生成部２５と、外部インタフェース２７と、を備える。
【００３１】
外部インタフェース２７は、ＵＳＢ、ＬＡＮ、ＦＡＸ、ＴＥＬ（音声電話）などの各種インタフェースを備えており、多機能装置１は、この外部インタフェース２７を介し、各種の外部機器と通信可能な構成にされている。
【００３２】
また、記録ヘッド１８は、記録モータＭＴ１の回転力により主走査方向に走査され、当該走査時に、インクを吐出し、吐出方向に位置する記録紙に、画像を形成するものである。即ち、本実施例の多機能装置１は、駆動制御部１７により、記録モータＭＴ１を制御して、記録ヘッド１８を主走査方向に移動させると共に、記録制御部１９により、記録ヘッド１８を制御し、印刷対象の画像データに基づく画像を、記録紙に印刷する。そして、記録紙を副走査方向に搬送しながら、上記手法にてライン画像を記録紙に連続的に印刷することにより、記録紙に、ひとまとまりの画像を形成する。尚、画像形成時における記録紙の副走査方向への搬送は、駆動制御部１７が、記録紙を挟持する記録紙搬送ローラ（図示せず）回転用の記録搬送モータＭＴ３、を制御することにより実現される。
【００３３】
本実施例において、記録モータＭＴ１の回転軸には、記録モータＭＴ１が所定角度回転する度に、パルス信号を発生する記録エンコーダＥＮ１（ロータリーエンコーダ）が設けられ、記録搬送モータＭＴ３の回転軸には、記録搬送モータＭＴ３が所定角度回転する度に、パルス信号を発生する記録搬送エンコーダＥＮ３（ロータリーエンコーダ）が設けられている。また、多機能装置１は、記録モータＭＴ１が所定角度回転すると、記録ヘッド１８が主走査方向に所定距離移動し、記録搬送モータＭＴ３が所定角度回転すると、記録紙が副走査方向に所定距離を移動する構成にされている。
【００３４】
即ち、多機能装置１は、これらエンコーダＥＮ１，ＥＮ３から出力されるパルス信号によりエンコーダ処理部１５が導出した記録ヘッド１８及び記録紙の搬送位置を表す情報に基づき、記録ヘッド１８の走査及び記録紙の搬送を制御し、記録紙に一連の画像を形成する。
【００３５】
このような記録紙への画像形成機能は、本実施例において、プリンタ機能やコピー機能、ファクシミリ機能の実現時に利用される。
また、本実施例におけるＣＣＤラインセンサ２０は、ライン状に配列された受光素子（フォトダイオード）群２０ａ及びＣＣＤアナログシフトレジスタ２０ｂを備えるものであり（図６参照）、読取制御部２１に制御され、ラインスタート信号が入力される度、受光素子にて蓄積された画素情報を表す信号電荷を、ＣＣＤアナログシフトレジスタ２０ｂに入力し、次のラインスタート信号が入力されるまでの期間に、このＣＣＤアナログシフトレジスタ２０ｂの出力端から、転送クロック信号に従って、順次画素信号を出力する。
【００３６】
読取制御部２１は、ＣＣＤラインセンサ２０を制御して、ＣＣＤラインセンサ２０に、対向する読取対象の画像情報を、読み取らせると共に、ＣＣＤラインセンサ２０から出力される読取結果としての上記画素信号を、ディジタルの画素データに変換する。また、各画素データを配列してライン画像データを生成し、これをＲＡＭ１３に書き込む処理を行う。
【００３７】
尚、ＣＣＤラインセンサ２０は、当該多機能装置１において自動搬送読取機能が作動した場合、所定の読取位置に固定されて、ＡＤＦ装置１５０の動作により当該読取位置を通過する原稿を読み取る。また、当該多機能装置１において静止原稿読取機能が作動した場合、ＣＣＤラインセンサ２０は、駆動制御部１７が制御する読取モータＭＴ２の回転力を受けて、原稿が載置されたプラテン１０２Ａ下で、画像読取方向に移動し、その移動と共に、原稿の画像情報を、ライン毎に読み取る。
【００３８】
尚、読取モータＭＴ２は、ＤＣ（Ｄｉｒｅｃｔ  Ｃｕｒｒｅｎｔ）モータで構成されている。また、本実施例の多機能装置１が備えるスキャナ部１０１には、図２に示すように、静止原稿読取機能の作動時に用いられる画像読取窓（以下、静止読取窓という。）１０２、及び、自動搬送読取機能の作動時に用いられる画像読取窓（以下、自動読取窓という。）１０３が設けられている。これら両読取窓１０２，１０３は、ガラスやアクリル等の透明なプラテン１０２Ａ、１０３Ａにて閉塞されている。図２は、本実施例の多機能装置１におけるスキャナ部１０１及びＡＤＦ装置１５０の概略構成を表す断面図である。
【００３９】
スキャナ部１０１の上面側には、両読取窓１０２，１０３を覆う原稿カバー１０４が揺動可能に組み付けられており、静止読取窓１０２にて原稿読取を行う場合には、使用者により、この原稿カバー１０４が手動操作にて上方側に開かれ、原稿が静止読取窓１０２に載置される。
【００４０】
一方、スキャナ部１０１内には、両読取窓１０２，１０３の直下において、原稿に照射されて反射した光を受光し、その受光した光に基づいて画素信号を生成する上述のＣＣＤラインセンサ２０が、移動可能に配設されている。このＣＣＤラインセンサ２０は、長手方向（換言すると受光素子配列方向）が、ＣＣＤラインセンサ２０の移動方向とは、垂直な方向に延びている。
【００４１】
また、ＣＣＤラインセンサ２０は、キャリッジ１０６を介してスキャナ部１０１の長手方向（図２の左右方向）に移動可能にスキャナ部１０１に組み付けられており、このＣＣＤラインセンサ２０は、自動搬送読取機能の作動時、ホームポジションである自動読取窓１０３の直下に停止配置され、読取制御部２１に制御されて、自動読取窓１０３を通過する原稿の画像情報を読み取る。一方、静止原稿読取機能の作動時には、静止読取窓１０２の直下で、定速移動しながらプラテン１０２Ａに載置された原稿の画像情報を、ライン毎に読み取る。
【００４２】
尚、本実施例では、キャリッジ１０６が駆動プーリ１０７及び従動プーリ１０８に掛けられたベルト１０９に連結されており、このベルト１０９には、ギヤを介して読取モータＭＴ２が接続されている。即ち、ＣＣＤラインセンサ２０は、読取モータＭＴ２の回転力をベルト１０９を介して受け、ベルト１０９と平行に設置されたガイド軸１１１に案内されながら、スキャナ部１０１の長手方向を真っ直ぐ移動する。図３は、ＣＣＤラインセンサ２０の移動態様に関する説明図である。
【００４３】
また、読取モータＭＴ２の回転軸には、読取エンコーダＥＮ２が設けられており、読取エンコーダＥＮ２は、読取モータＭＴ２が所定角度回転する度に、パルス信号（Ａ相信号、Ｂ相信号）を出力するロータリーエンコーダとして構成されている。本実施例の多機能装置１は、読取モータＭＴ２が所定角度回転すると、ＣＣＤラインセンサ２０が、所定距離を移動する構成にされており、本実施例では、この読取エンコーダＥＮ２のパルス信号（図３参照）に基づいて、エンコーダ処理部１５により、ＣＣＤラインセンサ２０の位置を検出し、Ａ相信号及びＢ相信号に基づいて、モータＭＴ２の回転方向を検出する。
【００４４】
即ち、駆動制御部１７は、読取エンコーダＥＮ２のパルス信号に基づいてエンコーダ処理部１５が得たＣＣＤラインセンサ２０の移動状態を表す情報に基づき、読取モータＭＴ２を制御し、静止原稿読取機能の作動時、ＣＣＤラインセンサ２０を定速で、ガイド軸１１１に沿って移動させる。
【００４５】
また、読取対象の原稿を自動読取窓１０３に搬送するＡＤＦ装置１５０は、原稿カバー１０４のうち自動読取窓１０３に対応する部位及びその近傍に、設けられている。当該多機能装置１において自動搬送読取機能が作動する場合には、ユーザにより、原稿トレイ１６５に、読取対象の原稿が載置され、ＡＤＦ装置１５０の動作により、この原稿トレイ１６５に積層載置された原稿が、読取位置である自動読取窓１０３に搬送される。
【００４６】
具体的に、ＡＤＦ装置１５０は、積層された原稿を１枚ずつ分離する分離機構として、上下方向に積層された多数枚の原稿のうち積層方向上端に載置された原稿に搬送力を付与する分離ローラ１５３と、分離ローラ１５３に対して対向配置されて分離ローラ１５３の反対側から原稿に接触しシートに所定の搬送抵抗を付与する分離パッド１５４と、原稿トレイ１６５に積層された原稿を吸引するようにして分離ローラ１５３に原稿を送り出す吸入ローラ１５５と、を備える。
【００４７】
また、ＡＤＦ装置１５０は、分離機構にて分離された原稿を自動読取窓１０３に搬送する搬送機構として、分離機構から分離搬送されてきた原稿の搬送方向を自動読取窓１０３側に向けて転向させながら搬送力を付与する給紙ローラ１５９と、原稿を給紙ローラ１５９に押し付ける一対のピンチローラ１６０と、原稿押さえ１６１と、排紙ローラ１６２と、原稿センサアクチュエータ１６４と、を備える。
【００４８】
原稿押さえ１６１は、搬送されてきた原稿を自動読取窓１０３側に押さえるものであり、自動搬送読取機能の動作時、ＣＣＤラインセンサ２０は、原稿押さえ１６１の下方に配置された状態で、この地点を通過する原稿を読み取る。また、原稿センサアクチュエータ１６４は、原稿押さえ１６１の上流に配置され、原稿が通過したか否かを検出する。
【００４９】
本実施例では、この原稿センサアクチュエータ１６４からのオン／オフ信号と、ＤＣモータで構成される読取搬送モータＭＴ４の回転軸に設置された読取搬送エンコーダＥＮ４からのパルス信号とに基づいて、エンコーダ処理部１５により、原稿の搬送位置を検出する。
【００５０】
具体的に、本実施例において、ＡＤＦ装置１５０を構成する各ローラは、読取搬送モータＭＴ４の回転力を受けて回転し、原稿を、原稿トレイ１６５から排紙トレイ１６６へと搬送する構成にされている。
【００５１】
読取搬送エンコーダＥＮ４は、読取搬送モータＭＴ４が所定角度回転する度に、パルス信号（Ａ相信号、Ｂ相信号）を出力するロータリーエンコーダであり、多機能装置１は、読取搬送モータＭＴ４が所定角度回転すると、読取対象の原稿が、所定距離を移動する構成にされている。即ち、本実施例では、エンコーダ処理部１５にて、この読取搬送エンコーダＥＮ４からのパルス信号により原稿の搬送距離を検出し、Ａ相信号及びＢ相信号に基づいて読取対象の移動方向を、検出する。
【００５２】
そして、この検出結果に基づき、多機能装置１は、駆動制御部１７にて、原稿の搬送を制御し、読取位置へ一定速度で原稿を搬送し、これと共に、読取制御部２１にて、ＣＣＤラインセンサ２０を制御することにより、自動搬送読取機能を実現する。
【００５３】
尚、このような読取機能は、スキャナ機能やコピー機能、ファクシミリ機能の実現時に利用される。
例えば、静止原稿読取機能は、原稿トレイ１６５に原稿が未載置の状態で、表示操作パネル２３の読取キーが押下操作されると、ＣＰＵ１１が実行するプログラムにより作動し、この作動により、多機能装置１では、静止読取窓１０２に載置されている原稿が読み取られる。
【００５４】
また、自動搬送読取機能は、原稿トレイ１６５に原稿が載置された状態で、表示操作パネル２３の読取キーが押下操作されると、ＣＰＵ１１が実行するプログラムにより作動し、この作動により、多機能装置１では、原稿トレイ１６５に載置されている原稿が読み取られる。
【００５５】
尚、原稿トレイ１６５に原稿が未載置であるか否かは、原稿トレイ１６５に設けられた図示しないセンサの検出信号に基づき、判断される。
（２）エンコーダ処理部１５の詳細
続いて、エンコーダ処理部１５の詳細構成について、図４及び図５を用いて説明する。図４は、エンコーダ処理部１５の構成を表すブロック図である。
【００５６】
本実施例のエンコーダ処理部１５は、エンコーダＥＮ１〜ＥＮ４の夫々に対して、エンコーダエッジ検出部３１及び位置カウンタ３３並びに周期カウンタ３５の組を有し、これらの組により、エンコーダＥＮ１〜ＥＮ４が設置されたモータＭＴ１〜ＭＴ４の回転量、結果的には、モータＭＴ１〜ＭＴ４により搬送される搬送対象の移動量を検出する構成にされている。但し、図４では、エンコーダ処理部１５の構成要素として、読取エンコーダＥＮ２（読取搬送エンコーダＥＮ４）に対応するエンコーダエッジ検出部３１及び位置カウンタ３３並びに周期カウンタ３５の組を示す。
【００５７】
具体的に、エンコーダ処理部１５のエンコーダエッジ検出部３１は、対応するエンコーダＥＮ１〜ＥＮ４の立ち上がりエッジを検出し、このエッジの検出毎に、エッジ検出信号を出力する構成にされている。このエッジ検出信号は、対応する組の位置カウンタ３３及び周期カウンタ３５に入力される。
【００５８】
尚、読取エンコーダＥＮ２からのパルス信号（エンコーダ信号）が入力される読取エンコーダＥＮ２用のエンコーダエッジ検出部３１から出力されるエッジ検出信号は、読取エンコーダＥＮ２用の位置カウンタ３３及び周期カウンタ３５に入力されると共に、静止原稿読取機能の動作時、読取制御部２１に入力される。
【００５９】
また、読取エンコーダＥＮ２用の位置カウンタ３３から出力される値ｅｎｃ＿ｃｎｔ及び周期カウンタ３５から出力される値ｅｎｃ＿ｃｙｃ，Ｔｐは、駆動制御部１７に入力される。その他、読取エンコーダＥＮ２用の位置カウンタ３３から出力される値ｅｎｃ＿ｃｎｔは、静止原稿読取機能の動作時、読取制御部２１に入力される。
【００６０】
また、読取搬送エンコーダＥＮ４からのパルス信号が入力される読取搬送エンコーダＥＮ４用のエンコーダエッジ検出部３１から出力されるエッジ検出信号は、読取搬送エンコーダＥＮ４用の位置カウンタ３３及び周期カウンタ３５に入力されると共に、自動搬送読取機能の動作時、読取制御部２１に入力される。
【００６１】
また、読取搬送エンコーダＥＮ４用の位置カウンタ３３から出力される値ｅｎｃ＿ｃｎｔ及び周期カウンタ３５から出力される値ｅｎｃ＿ｃｙｃ，Ｔｐは、駆動制御部１７に入力される。その他、読取搬送エンコーダＥＮ４用の位置カウンタ３３から出力される値ｅｎｃ＿ｃｎｔは、自動搬送読取機能の動作時、読取制御部２１に入力される。
【００６２】
尚、読取モータＭＴ２用の位置カウンタ３３は、当該多機能装置１が起動し、その起動時において、ＣＣＤラインセンサ２０がホームポジションに配置された時点で、図５（ａ）に示す処理を開始し、以後、継続的に、値ｅｎｃ＿ｃｎｔを更新する。また、読取搬送モータＭＴ４用の位置カウンタ３３は、ＡＤＦ装置１５０を通じて、読取原稿が取り込まれ、読取原稿の先頭が所定の取込完了地点（原稿センサアクチュエータ１６４の出力信号がオフからオンに切り替わる地点）に配置される度に、図５（ａ）に示す処理を開始する。
【００６３】
図５（ａ）は、位置カウンタ３３が実行する処理を表すフローチャートである。ここでは、具体的に、読取エンコーダＥＮ２用の位置カウンタ３３が実行する処理について、図５（ａ）を用いて説明するが、他のエンコーダ用の位置カウンタ３３においても、読取エンコーダＥＮ２用の位置カウンタ３３と、同様の処理が行われる。
【００６４】
読取エンコーダＥＮ２用の位置カウンタ３３は、図５（ａ）に示す処理を開始すると、まず、変数ｅｎｃ＿ｃｎｔをゼロにリセットし（Ｓ１１０）、その後、エッジ検出信号が、読取エンコーダＥＮ２用のエンコーダエッジ検出部３１から入力されるまで待機する（Ｓ１２０）。そして、エッジ検出信号が入力されると、対応する読取モータＭＴ２の回転方向を判断し（Ｓ１３０）、読取モータＭＴ２の回転方向が順方向である場合、変数ｅｎｃ＿ｃｎｔを１加算し（Ｓ１４０）、その後、Ｓ１２０に移行する。一方、読取モータＭＴ２の回転方向が逆方向である場合には、変数ｅｎｃ＿ｃｎｔを１減算し（Ｓ１５０）、その後、Ｓ１２０に移行する。
【００６５】
即ち、位置カウンタ３３は、モータが順方向に回転している場合、エッジ検出信号が入力される度に、変数ｅｎｃ＿ｃｎｔをカウントアップし、モータが逆方向に回転している場合、エッジ検出信号が入力される度に、変数ｅｎｃ＿ｃｎｔをカウントダウンする処理を行う。これにより読取エンコーダＥＮ２用の位置カウンタ３３においては、ＣＣＤラインセンサ２０の位置が検出される。
【００６６】
また、周期カウンタ３５は、ＣＰＵ１１にて読取制御処理（詳細後述）が開始されると、この読取制御処理が終了するまで、継続的に、値ｅｎｃ＿ｃｙｃ及びＴｐを更新するものである。尚、図５（ｂ）は、周期カウンタ３５が実行する処理を表すフローチャートである。ここでは、具体的に、読取エンコーダＥＮ２用の周期カウンタ３５が実行する処理について、図５（ｂ）を用いて説明するが、他のエンコーダ用の周期カウンタ３５においても、読取エンコーダＥＮ２用の周期カウンタ３５と、同様の処理が行われる。
【００６７】
読取エンコーダＥＮ２用の周期カウンタ３５は、図５（ｂ）に示す処理を開始すると、まず、変数Ｔｐをゼロにリセットすると共に（Ｓ２１０）、変数ｅｎｃ＿ｃｙｃをゼロにリセットする（Ｓ２１５）。また、この処理を終えると、エッジ検出信号が、読取エンコーダＥＮ２用のエンコーダエッジ検出部３１から入力されたか否かを判断し（Ｓ２２０）、エッジ検出信号が入力されていない場合には（Ｓ２２０でＮｏ）、変数ｅｎｃ＿ｃｙｃを１加算し（Ｓ２３０）、Ｓ２２０に移行する。一方、エッジ検出信号が入力された場合には（Ｓ２２０でＹｅｓ）、変数Ｔｐに、現在の変数ｅｎｃ＿ｃｙｃの値を設定し（Ｓ２４０）、その後、Ｓ２１５に移行する。
【００６８】
このような動作により、周期カウンタ３５は、エッジ検出信号が入力されていない期間の時間を計測する。即ち、周期カウンタ３５は、クロック生成部２５から入力されるクロック信号に同期動作し、Ｓ２３０において、当該クロック信号の周期で、変数ｅｎｃ＿ｃｙｃをカウントアップし、これにより、最後にエッジ検出信号の入力された時点からの経過時間を計測する。そして、次のエッジ検出信号が入力された時点で、当該エッジ検出信号の入力時点からひとつ前のエッジ検出信号の入力時点までの経過時間ｅｎｃ＿ｃｙｃを、値Ｔｐとして出力する（Ｓ２４０）。このような動作により、読取エンコーダＥＮ２用の周期カウンタ３５は、読取モータＭＴ２が一定角度回転するのに要した時間、結果的には、ＣＣＤラインセンサ２０の単位距離当たりの移動時間を検出する。
【００６９】
（３）読取制御部２１の詳細
続いて、読取制御部２１の詳細構成について説明する。図６は、読取制御部２１の詳細構成を表すブロック図である。
【００７０】
図６に示すように、多機能装置１が備える読取制御部２１は、読取フロントエンド４１、画データ処理部４３、ローカルＲＡＭ４５、停止要求生成部４７、ラインスタート出力指令部４９を備え、これら各部を用いて、ＣＣＤラインセンサ２０の読取動作を制御する。以下、各部の詳細について、個別に説明する。
【００７１】
（３．１）読取フロントエンド４１の詳細
本実施例の読取制御部２１が備える読取フロントエンド４１は、ＣＣＤラインセンサ２０に接続され、ＣＣＤラインセンサ２０に制御信号を入力すると共に、ＣＣＤラインセンサ２０から入力される読取結果としての画素信号を受け付けて、これを処理するものである。
【００７２】
この読取フロントエンド４１は、ラインスタートトリガ信号生成部４１ａ、ラインスタート信号生成部４１ｂ、及び、転送クロック信号生成部４１ｃを備え、ラインスタートトリガ信号生成部４１ａにて周期的にラインスタートトリガ（Ｉ＿ｓｔａｒｔ＿ｔｒｇ）信号を生成し、このラインスタートトリガ信号に基づいて、ＣＣＤラインセンサ２０にライン画像の読取タイミングを指定するためのラインスタート信号を入力する。
【００７３】
ラインスタートトリガ信号は、ラインスタート信号の出力タイミングを規定する信号であり、ＣＣＤラインセンサ２０に入力されるべきラインスタート信号の入力周期で、ラインスタートトリガ信号生成部４１ａにより生成され、ラインスタート信号生成部４１ｂに入力される。
【００７４】
尚、ラインスタートトリガ信号生成部４１ａは、ラインスタート出力指令部４９からラインスタート出力指令が入力されると、ラインスタートトリガ信号の出力を開始し、以後、周期的に、ラインスタートトリガ信号を出力する。また、ラインスタートトリガ信号生成部４１ａは、読取終了信号が画データ処理部４３から出力されるか、停止要求（ｒｅｑ＿ｓｔｏｐ）信号が値１から値０に遷移すると、ラインスタートトリガ信号の出力を休止し、その後、ラインスタート出力指令部４９からラインスタート出力指令を受けるまで待機する。そして、再び、ラインスタート出力指令部４９からラインスタート出力指令が入力されると、ラインスタートトリガ信号の出力を開始する動作を行う。
【００７５】
また、ラインスタート信号生成部４１ｂは、ラインスタートトリガ信号の入力タイミングで、ＣＣＤラインセンサ２０に適合する規定のパルス幅のラインスタート信号を、ＣＣＤラインセンサ２０に入力するものである。このラインスタート信号が入力されるとＣＣＤラインセンサ２０では、受光素子に蓄積された信号電荷がＣＣＤアナログシフトレジスタ２０ｂに入力され、ラインスタート信号の当該入力以前に読み取った画像情報がＣＣＤアナログシフトレジスタ２０ｂに記憶保持される。また、このタイミングで、受光素子では、信号電荷がリセットされ、光電効果を利用した新たな読取動作が行われる。
【００７６】
尚、本実施例においては、製品を安価に製造するために、エンコーダＥＮ２，ＥＮ４の分解能を、スキャナ機能による読取解像度よりも低く抑えている。このため、ラインスタート信号としては、駆動制御部１７の動作による搬送対象（ＣＣＤラインセンサ２０又は読取対象）の定速走行時に、エンコーダＥＮ２，ＥＮ４から出力されるパルス信号の周期よりも、短い周期のラインスタート信号が、エンコーダＥＮ２，ＥＮ４から出力されるパルス信号とは非同期に、ＣＣＤラインセンサ２０に入力される（図３参照）。
【００７７】
また、転送クロック信号生成部４１ｃは、ＣＣＤアナログシフトレジスタ２０ｂに画素信号を出力させるための転送クロック信号を生成するものであり、この転送クロック信号は、ＣＣＤラインセンサ２０に入力される。
【００７８】
転送クロック信号の入力により、ＣＣＤアナログシフトレジスタ２０ｂに記憶された画素情報は、画素信号として、次のラインスタート信号が入力されるまでの期間に、ＣＣＤアナログシフトレジスタ２０ｂから一通り出力される。また、ＣＣＤアナログシフトレジスタ２０ｂから読取フロントエンド４１に入力される画素信号は、読取フロントエンド４１が有するＡ／Ｄ（アナログ／ディジタル）変換器４１ｄにてディジタルの画素データに変換され、各画素データは、一ライン分、シリアルに配列されて、ライン画像データとして、画データ処理部４３に転送される。
【００７９】
但し、転送クロック信号生成部４１ｃは、ラインスタート出力指令が入力され、ラインスタート信号のＣＣＤラインセンサ２０への入力が開始されてから、次のラインスタート信号が入力されるまでの期間は、ＣＣＤラインセンサ２０から出力される画素信号を破棄する動作を行う。また、転送クロック信号生成部４１ｃは、読取終了信号が画データ処理部４３から出力されるか、ｒｅｑ＿ｓｔｏｐ信号が値１から値０に遷移すると、その時点で、転送クロック信号の出力を休止する。そして、ラインスタート信号の出力が再開された時点で、転送クロック信号の出力を再開する。
【００８０】
尚、このように構成された読取フロントエンド４１は、転送クロック信号の出力の休止・再開（開始）に合わせて、同時点で、ライン画像データの画データ処理部４３への転送動作を、休止・再開（開始）する。また、この読取フロントエンド４１は、ラインスタートトリガ信号生成部４１ａから出力されるラインスタートトリガ信号を、停止要求生成部４７、ラインスタート出力指令部４９に入力する。
【００８１】
（３．２）画データ処理部４３の詳細
続いて、画データ処理部４３の詳細について、図６〜図９を用いて説明する。
本実施例の画データ処理部４３は、読取フロントエンド４１から入力されるライン画像データを、順次、ローカルＲＡＭ４５に設けられたＦＩＦＯメモリとしてのバッファ４５ａに書き込むと共に、バッファ４５ａに蓄積された各ライン画像データに対し、シェーディング補正、ガンマ補正等の画像処理を施し、画像処理後の各ライン画像データを、メモリコントローラ５０を通じて、ＲＡＭ１３に書き込むデータ処理機能を有する。
【００８２】
また、この画データ処理部４３は、バッファ４５ａの空き容量に基づき、ｓｔｏｐ＿ｓｉｇ信号やｒｅｓｔａｒｔ＿ｓｉｇ信号を出力して、読取フロントエンド４１からのライン画像データの転送を停止・再開させる停止再開制御機能を有する。
【００８３】
尚、図７は、画データ処理部４３で実現される上記データ処理機能に係る説明図である。画データ処理部４３は、データ処理機能を実現するための構成として、データ書込部４３ａ、画像処理部４３ｂ、及び、データ転送部４３ｃを備え、読取フロントエンド４１から、１ライン分の画像データとしてのライン画像データが入力される度、データ書込部４３ａにて、このライン画像データを、バッファ４５ａに書き込む。
【００８４】
また、画データ処理部４３は、画像処理部４３ｂにて、バッファ４５ａの読出位置に記録されたライン画像データを読出し、このライン画像データに対してシェーディング補正やガンマ補正等の画像処理を施し、この画像処理後のライン画像データを、ローカルＲＡＭ４５内の処理データ記憶部４５ｂに一時保存する。また、画データ処理部４３は、処理データ記憶部４５ｂに蓄積された各ライン画像データを、データ転送部４３ｃを通じて、ＲＡＭ１３に書き込み、読取画像を表す画像データを、ＲＡＭ１３上に生成する。
【００８５】
また、図６に示す画データ処理部４３内のブロックは、上記停止再開制御機能に係るブロックを示したものである。図６に示すように、本実施例の画データ処理部４３は、ｓｔｏｐ＿ｓｉｇ信号を出力する停止信号生成部４３ｄと、ｒｅｓｔａｒｔ＿ｓｉｇ信号を出力する再開信号生成部４３ｅとを備え、停止信号生成部４３ｄは、図８に示す処理を実行して、出力するｓｔｏｐ＿ｓｉｇ信号の状態を切り換える構成にされている。
【００８６】
図８は、読取対象毎の読取制御が開始される度に（具体的には、ＣＰＵ１１から読取開始要求が入力される度に（図２０参照））、停止信号生成部４３ｄが実行する処理を表すフローチャートである。
【００８７】
停止信号生成部４３ｄは、図８に示す処理を開始すると、まずｓｔｏｐ＿ｓｉｇ信号を値ゼロに設定し（Ｓ３１０）、その後、読取フロントエンド４１から入力された画像データのライン数に基づき、読取終了ラインまでのライン画像データの取得が完了したか否かを判断する（Ｓ３２０）。そして、読取終了ラインまでのライン画像データの取得が完了している場合には（Ｓ３２０でＹｅｓ）、ｓｔｏｐ＿ｓｉｇ信号の出力を停止する。尚、読取終了ラインまでのライン画像データの取得が完了している場合、停止信号生成部４３ｄは、読取終了信号を出力して、読取終了の旨を各部に通知する。
【００８８】
一方、読取終了ラインまでのライン画像データの取得が完了していない場合には（Ｓ３２０でＮｏ）、バッファ４５ａの空き容量ｒｅｍ＿ｂｕｆが、予め定められた閾値Ｂ＿ｌｉｍ以下であるか否かを判断する（Ｓ３３０）。そして、バッファ４５ａの空き容量ｒｅｍ＿ｂｕｆが閾値Ｂ＿ｌｉｍ以下ではない場合には（Ｓ３３０でＮｏ）、ライン画像データの書込に十分な空き容量があるとして、Ｓ３１０に移行し、ｓｔｏｐ＿ｓｉｇ信号を値ゼロに設定する。
【００８９】
これに対し、バッファ４５ａの空き容量ｒｅｍ＿ｂｕｆが、閾値Ｂ＿ｌｉｍ以下である場合（Ｓ３３０でＹｅｓ）、停止信号生成部４３ｄは、今後書き込む必要のある読取終了ラインまでのライン画像データの総量ｒｅｍ＿ｌｉｎがバッファ４５ａの空き容量ｒｅｍ＿ｂｕｆ以下であるか否かを判断し（Ｓ３４０）、総量ｒｅｍ＿ｌｉｎが、空き容量ｒｅｍ＿ｂｕｆ以下である場合には（Ｓ３４０でＹｅｓ）、読取終了までにバッファ４５ａが一杯になることがないとして、Ｓ３１０に移行し、ｓｔｏｐ＿ｓｉｇ信号を値ゼロに設定し、読取フロントエンド４１からのライン画像データの出力が停止しないように制御する。
【００９０】
一方、総量ｒｅｍ＿ｌｉｎが、空き容量ｒｅｍ＿ｂｕｆよりも大きい場合（Ｓ３４０でＮｏ）、停止信号生成部４３ｄは、ｓｔｏｐ＿ｓｉｇ信号を値ゼロから値１に設定変更し、読取フロントエンド４１からのライン画像データの出力が停止するようにする（Ｓ３５０）。その後、Ｓ３２０に移行する。尚、このようにして状態が切り替えられるｓｔｏｐ＿ｓｉｇ信号は、停止要求生成部４７に入力される。
【００９１】
この他、再開信号生成部４３ｅは、具体的に、図９に示す処理を実行して、ｒｅｓｔａｒｔ＿ｓｉｇ信号の状態を切り替える。図９は、読取対象毎の読取制御が開始される度に（具体的には、ＣＰＵ１１から読取開始要求が入力される度に（図２０参照））、再開信号生成部４３ｅが実行する処理を表すフローチャートである。
【００９２】
再開信号生成部４３ｅは、図９に示す処理を開始すると、まずｒｅｓｔａｒｔ＿ｓｉｇ信号を値ゼロに設定し（Ｓ４１０）、その後、読取フロントエンド４１から入力された画像データのライン数に基づき、読取終了ラインまでのライン画像データの取得が完了したか否かを判断する（Ｓ４２０）。そして、読取終了ラインまでのライン画像データの取得が完了している場合には（Ｓ４２０でＹｅｓ）、ｒｅｓｔａｒｔ＿ｓｉｇ信号の出力を停止する。
【００９３】
一方、読取終了ラインまでのライン画像データの取得が完了していない場合には（Ｓ４２０でＮｏ）、バッファ４５ａの空き容量ｒｅｍ＿ｂｕｆが、予め定められた閾値Ｂ＿ｔｈ以上であるか否かを判断する（Ｓ４３０）。そして、空き容量ｒｅｍ＿ｂｕｆが、閾値Ｂ＿ｔｈ以上である場合には（Ｓ４３０でＹｅｓ）、バッファ４５ａの空き容量ｒｅｍ＿ｂｕｆが再開に十分な量あるとして、ｒｅｓｔａｒｔ＿ｓｉｇ信号を値ゼロから値１に設定変更する（Ｓ４５０）。その後、Ｓ４２０に移行する。尚、閾値Ｂ＿ｔｈは、閾値Ｂ＿ｌｉｍよりも大きい値に設定されているものとする（Ｂ＿ｔｈ＞Ｂ＿ｌｉｍ）。
【００９４】
また、再開信号生成部４３ｅは、バッファ４５ａの空き容量ｒｅｍ＿ｂｕｆが、閾値Ｂ＿ｔｈ未満である場合（Ｓ４３０でＮｏ）、バッファ４５ａの空き容量ｒｅｍ＿ｂｕｆが、今後書き込む必要のある読取終了ラインまでのライン画像データの総量ｒｅｍ＿ｌｉｎ以上であるか否かを判断し（Ｓ４４０）、空き容量ｒｅｍ＿ｂｕｆが総量ｒｅｍ＿ｌｉｎ以上である場合には（Ｓ４４０でＹｅｓ）、バッファ４５ａの空き容量ｒｅｍ＿ｂｕｆが再開に十分な量あるとして、ｒｅｓｔａｒｔ＿ｓｉｇ信号を値ゼロから値１に設定変更する（Ｓ４５０）。その後、Ｓ４２０に移行する。
【００９５】
これに対し、バッファ４５ａの空き容量ｒｅｍ＿ｂｕｆが、閾値Ｂ＿ｔｈ以上でもなく、総量ｒｅｍ＿ｌｉｎ以上でもない場合、再開信号生成部４３ｅは、バッファ４５ａの空き容量ｒｅｍ＿ｂｕｆが再開に十分な量ないとして、Ｓ４１０に移行し、ｒｅｓｔａｒｔ＿ｓｉｇ信号を値ゼロに設定する。その後、Ｓ４２０に移行する。
【００９６】
尚、このようにして状態が切り替えられるｒｅｓｔａｒｔ＿ｓｉｇ信号は、ＣＰＵ１１に入力される。また、ＣＰＵ１１は、ｒｅｓｔａｒｔ＿ｓｉｇ信号を常時監視しており、ｒｅｓｔａｒｔ＿ｓｉｇ信号が値０から１に切り替わると、ラインスタート出力指令部４９に対し、読取再開要求を入力する（詳細後述）。
【００９７】
（３．３）停止要求生成部４７の詳細
続いて、停止要求生成部４７の詳細について、図１０を用いて説明する。図１０は、停止要求生成部４７が実行する処理を表すフローチャートである。
【００９８】
停止要求生成部４７は、ｒｅｑ＿ｓｔｏｐ信号を出力するものであり、読取対象毎の読取制御が行われる度に（具体的には、ＣＰＵ１１から読取開始要求が入力される度に（図２０参照））、図１０に示す処理を開始し、停止信号生成部４３ｄより出力されるｓｔｏｐ＿ｓｉｇ信号に従って、ｒｅｑ＿ｓｔｏｐ信号の状態を切り替える。
【００９９】
停止要求生成部４７は、この処理を開始すると、変数ｒｅｇ＿ｓｔｏｐ＿ｓｉｇ１をゼロに設定すると共に、変数ｒｅｇ＿ｓｔｏｐ＿ｓｉｇ２をゼロに設定する（Ｓ５１０）。
また、Ｓ５１０での処理を終えると、画データ処理部４３から読取終了信号が入力されているか否かを判断することにより、読取対象の読取（原稿１枚分の読取）が終了しているか否かを判断する（Ｓ５２０）。そして、読取が終了している場合には（Ｓ５２０でＹｅｓ）、再度、変数ｒｅｇ＿ｓｔｏｐ＿ｓｉｇ１をゼロに設定すると共に、変数ｒｅｇ＿ｓｔｏｐ＿ｓｉｇ２をゼロに設定し（Ｓ５３０）、休止する。
【０１００】
一方、読取が終了していない場合（Ｓ５２０でＮｏ）、停止要求生成部４７は、読取が終了するか、ラインスタートトリガ信号が入力されるまで待機し、ラインスタートトリガ信号が入力されると（Ｓ５４０でＹｅｓ）、ｒｅｇ＿ｓｔｏｐ＿ｓｉｇ２に、変数ｒｅｇ＿ｓｔｏｐ＿ｓｉｇ１の値を設定し（Ｓ５５０）、ｒｅｇ＿ｓｔｏｐ＿ｓｉｇ１に、ｓｔｏｐ＿ｓｉｇ信号の値（０又は１）を設定する（Ｓ５６０）。
【０１０１】
そして、ｒｅｇ＿ｓｔｏｐ＿ｓｉｇ１＝１且つｒｅｇ＿ｓｔｏｐ＿ｓｉｇ２＝０である場合には（Ｓ５７０でＹｅｓ）、ｒｅｑ＿ｓｔｏｐ信号を値１に設定し（Ｓ５８０）、それ以外の場合には、ｒｅｑ＿ｓｔｏｐ信号を値０に設定する（Ｓ５９０）。その後、Ｓ５２０に移行する。このようにして、本実施例では、ラインスタート信号の出力タイミングに同期して、図１１に示すように、ｒｅｑ＿ｓｔｏｐ信号の状態を切り替える。尚、図１１は、ｒｅｑ＿ｓｔｏｐ信号が値１に切り替わる時点前後の各種信号の状態を表すタイムチャートである。
【０１０２】
尚、この停止要求生成部４７から出力されるｒｅｑ＿ｓｔｏｐ信号は、ラインスタート出力指令部４９に入力されると共に、駆動制御部１７に入力される。
（３．４）ラインスタート出力指令部４９の詳細
続いて、ラインスタート出力指令部４９の詳細について、図６、図１２及び図１３を用いて説明する。
【０１０３】
図６に示すように、ラインスタート出力指令部４９は、オフセット設定部４９ａ及び出力指令部４９ｂを有し、オフセット設定部４９ａにて、ラインスタート信号の出力開始地点を決定し、出力指令部４９ｂにて、その決定内容に従って、ラインスタート出力指令を、読取フロントエンド４１に入力し、上記決定した地点からＣＣＤラインセンサ２０に読取動作を再開させるものである。
【０１０４】
具体的に、オフセット設定部４９ａは、読取対象毎の読取制御が行われる度に（具体的には、ＣＰＵ１１から読取開始要求が入力される度に（図２０参照））、図１２に示す処理を開始する。図１２は、オフセット設定部４９ａが実行する処理を表すフローチャートである。
【０１０５】
オフセット設定部４９ａは、図１２に示す処理を開始すると、変数ｎ＿ｃｎｔを値ゼロに設定すると共に（Ｓ６１０）、画データ処理部４３から読取終了信号が入力されているか否かを判断することにより、読取対象の読取が終了しているか否かを判断する（Ｓ６２０）。そして、読取が終了している場合には（Ｓ６２０でＹｅｓ）、休止する。
【０１０６】
一方、読取が終了していない場合（Ｓ６２０でＮｏ）、オフセット設定部４９ａは、エッジ検出信号が入力されているか否かを判断し（Ｓ６３０）、エッジ検出信号が入力されている場合には、変数ｎ＿ｃｎｔを値ゼロに設定し（Ｓ６４０）、エッジ検出信号が入力されていない場合には、変数ｎ＿ｃｎｔを１加算する（Ｓ６５０）。
【０１０７】
そして、ラインスタートトリガ信号が入力されていない場合には（Ｓ６６０でＮｏ）、Ｓ６２０に移行し、読取が終了するか、次のエッジ検出信号が入力されるまで、変数ｎ＿ｃｎｔをカウントアップする動作を行う（Ｓ６５０）。そして、エッジ検出信号が入力された時点で、変数ｎ＿ｃｎｔの値をリセットする（Ｓ６４０）。即ち、オフセット設定部４９ａは、クロック生成部２５から入力されるクロック信号に同期動作して、当該クロック信号の周期で、変数ｎ＿ｃｎｔのカウントアップ（Ｓ６５０）を行い、最後にエッジ検出信号が入力されてからの経過時間を計測する。
【０１０８】
また、ラインスタートトリガ信号が入力された場合には（Ｓ６６０でＹｅｓ）、このラインスタートトリガ信号の入力と共に、ｒｅｑ＿ｓｔｏｐ信号が値０から値１に遷移したか否かを判断する（Ｓ６７０）。そして、ラインスタートトリガ信号の入力と共に、ｒｅｑ＿ｓｔｏｐ信号が値０から値１に遷移した場合（Ｓ６７０でＹｅｓ）には、変数ｏｆｆｓｅｔの値を、変数ｎ＿ｃｎｔの現在値に設定すると共に（Ｓ６８０）、変数ｒｅｓｔａｒｔ＿ｐｏｓｉｔｏｎの値を、位置カウンタ３３からの入力値ｅｎｃ＿ｃｎｔに設定する（Ｓ６９０）。また、この処理を終えると、Ｓ６２０に移行する。一方、ラインスタートトリガ信号の入力と共に、ｒｅｑ＿ｓｔｏｐ信号が値０から値１に遷移しなかった場合（Ｓ６７０でＮｏ）には、変数ｏｆｆｓｅｔ及び変数ｒｅｓｔａｒｔ＿ｐｏｓｉｔｉｏｎの値を設定せずに、Ｓ６２０に移行する。
【０１０９】
このようにして、オフセット設定部４９ａは、ｒｅｑ＿ｓｔｏｐ信号が値０から値１に遷移した時点を含む過去方向の時間において、最後にエッジ検出信号が入力されてから、ＣＣＤラインセンサ２０に対し最後にラインスタート信号が入力された時点までの経過時間（図１１に示すＴｎ）を、オフセット時間ｏｆｆｓｅｔとして設定する。また、ｒｅｑ＿ｓｔｏｐ信号が値０から値１に遷移した時点で位置カウンタ３３から入力された値ｅｎｃ＿ｃｎｔを、読取再開基準地点の座標ｒｅｓｔａｒｔ＿ｐｏｓｉｔｏｎとして、設定する。
【０１１０】
この他、出力指令部４９ｂは、読取対象毎の読取制御が行われる度に（具体的には、ＣＰＵ１１から読取開始要求が入力される度に（図２０参照））、図１３に示す処理を実行する。図１３は、出力指令部４９ｂが実行する処理を表すフローチャートである。
【０１１１】
出力指令部４９ｂは、図１３に示す処理を開始すると、エッジ検出信号が入力されるまで待機し（Ｓ７１０）、エッジ検出信号が入力されると（Ｓ７１０でＹｅｓ）、その時点で位置カウンタ３３から入力された値ｅｎｃ＿ｃｎｔに基づき、搬送対象が読取開始地点まで到達したか否かを判断する。具体的には、位置カウンタ３３から入力された値ｅｎｃ＿ｃｎｔが、ＣＰＵ１１からの指令に基づき設定した読取開始地点の座標ｓｔａｒｔ＿ｐｏｓｉｔｏｎと一致するか否かを判断する。
【０１１２】
そして、位置カウンタ３３から入力された値ｅｎｃ＿ｃｎｔが、読取開始地点の座標ｓｔａｒｔ＿ｐｏｓｉｔｏｎと一致しない場合には（Ｓ７２０でＮｏ）、搬送対象が読取開始地点まで到達していないとして、値ｅｎｃ＿ｃｎｔが座標ｓｔａｒｔ＿ｐｏｓｉｔｏｎと一致するまで待機する（Ｓ７１０，Ｓ７２０）。一方、位置カウンタ３３から入力された値ｅｎｃ＿ｃｎｔが座標ｓｔａｒｔ＿ｐｏｓｉｔｏｎと一致した場合には（Ｓ７２０でＹｅｓ）、搬送対象が読取開始地点まで到達したとして、読取フロントエンド４１に対し、ラインスタート出力指令を入力する（Ｓ７３０）。
【０１１３】
また、このようにしてラインスタート出力指令を入力すると、出力指令部４９ｂは、画データ処理部４３から読取終了信号が入力されているか否かを判断することにより、読取対象の読取が終了しているか否かを判断する（Ｓ７４０）。そして、読取が終了している場合には（Ｓ７４０でＹｅｓ）、休止する。
【０１１４】
一方、読取が終了していない場合には（Ｓ７４０でＮｏ）、ＣＰＵ１１から読取再開要求が入力されるか（図２０参照）、読取が終了するまで待機し（Ｓ７４０，Ｓ７５０）、読取再開要求が入力された場合には（Ｓ７５０でＹｅｓ）、変数ｗａｉｔ＿ｃｎｔを、オフセット設定部４９ａにて設定された変数ｏｆｆｓｅｔの値に設定する。
【０１１５】
また、この処理を終えると、出力指令部４９ｂは、エッジ検出信号が入力されるまで待機し（Ｓ７７０）、エッジ検出信号が入力されると（Ｓ７７０でＹｅｓ）、その時点で位置カウンタ３３から入力された値ｅｎｃ＿ｃｎｔに基づき、搬送対象が読取再開基準地点まで到達したか否かを判断する（Ｓ７８０）。具体的には、位置カウンタ３３から入力された値ｅｎｃ＿ｃｎｔが、オフセット設定部４９ａにより設定された読取再開基準地点の座標ｒｅｓｔａｒｔ＿ｐｏｓｉｔｏｎと一致するか否かを判断する（Ｓ７８０）。
【０１１６】
そして、位置カウンタ３３から入力された値ｅｎｃ＿ｃｎｔが、読取再開基準地点の座標ｒｅｓｔａｒｔ＿ｐｏｓｉｔｏｎと一致しない場合には（Ｓ７８０でＮｏ）、搬送対象が読取再開基準地点まで到達していないとして、値ｅｎｃ＿ｃｎｔが座標ｒｅｓｔａｒｔ＿ｐｏｓｉｔｏｎと一致するまで待機する（Ｓ７７０，Ｓ７８０）。
【０１１７】
一方、位置カウンタ３３から入力された値ｅｎｃ＿ｃｎｔが座標ｒｅｓｔａｒｔ＿ｐｏｓｉｔｏｎと一致した場合には（Ｓ７８０でＹｅｓ）、搬送対象が読取再開基準地点まで到達したとして、変数ｗａｉｔ＿ｃｎｔに設定したオフセット時間ｏｆｆｓｅｔの経過後、ラインスタート出力指令を、読取フロントエンド４１に入力する（Ｓ７９０〜Ｓ８００）。尚、図１４は、読取再開時に、ラインスタート出力指令が読取フロントエンド４１に入力されて、読取フロントエンド４１からラインスタート信号の出力が開始されるタイミングを示したタイムチャートである。
【０１１８】
具体的に、出力指令部４９ｂは、クロック生成部２５から入力されるクロック信号に同期動作し、Ｓ７９５において、当該クロック信号の周期で、変数ｗａｉｔ＿ｃｎｔの値をカウントダウンし、これにより、搬送対象が読取再開基準地点まで到達した時点からの経過時間を計測する。そして、変数ｗａｉｔ＿ｃｎｔがゼロになった時点で（Ｓ７９０でＹｅｓ）、ラインスタート出力指令を、読取フロントエンド４１に入力する（Ｓ８００）。
【０１１９】
このようにして、出力指令部４９ｂは、読取中断地点である、読取再開基準地点からオフセット時間が経過した地点からＣＣＤラインセンサ２０に読取動作を再開させる。
また、Ｓ８００での処理を終えると、出力指令部４９ｂは、Ｓ７４０に移行し、ＣＰＵ１１から再び読取再開要求が入力されるか（図２０参照）、読取が終了するまで待機する。そして、読取が終了すると（Ｓ７４０でＹｅｓ）、休止する。
【０１２０】
（４）駆動制御部１７の詳細
続いて、駆動制御部１７の詳細について、図１５を用いて説明する。図１５は、駆動制御部１７の詳細構成を表すブロック図である。
【０１２１】
図１５に示すように、駆動制御部１７は、読取モータＭＴ２を駆動回路６３を介して制御する読取モータ制御部６１と、読取搬送モータＭＴ４を駆動回路６７を介して制御する読取搬送モータ制御部６５と、記録モータＭＴ１を駆動回路（図示せず）を介して制御する記録モータ制御部（図示せず）と、記録搬送モータＭＴ３を駆動回路（図示せず）を介して制御する記録搬送モータ制御部（図示せず）と、を備える。
【０１２２】
各モータ制御部は、制御対象のモータに取り付けられたエンコーダに対応する位置カウンタ３３及び周期カウンタ３５の出力ｅｎｃ＿ｃｎｔ，ｅｎｃ＿ｃｙｃ，Ｔｐに基づき、制御対象のモータＭＴ１〜ＭＴ４を制御する。
【０１２３】
具体的に、読取モータ制御部６１及び読取搬送モータ制御部６５の夫々は、速度算出部７１、フィードバック制御部７３、収束判定部７５、加速距離計測部７７、及び、減速距離計測部７９を備える。
【０１２４】
以下では、読取モータ制御部６１が備える速度算出部７１、フィードバック制御部７３、収束判定部７５、加速距離計測部７７、及び、減速距離計測部７９の構成について、その詳細を説明するが、読取搬送モータ制御部６５は、読取モータ制御部６１と基本的に同一構成にされ、その各部７１〜７９は、読取モータ制御部６１が有する各部と同様の動作を行う。但し、読取搬送モータ制御部６５は、制御対象のモータＭＴ４に取り付けられたエンコーダＥＮ４に対応する位置カウンタ３３及び周期カウンタ３５の出力ｅｎｃ＿ｃｎｔ，ｅｎｃ＿ｃｙｃ，Ｔｐに基づき、制御対象のモータＭＴ４を制御することに注意されたい。
【０１２５】
（４．１）速度算出部７１及びフィードバック制御部７３の詳細
読取モータ制御部６１が備える速度算出部７１は、周期カウンタ３５から入力される値Ｔｐに基づき、搬送対象の移動速度ｎｏｗ＿ｖｅｌｏとして、値１／Ｔｐを算出し、この値１／Ｔｐを、フィードバック制御部７３及び加速距離計測部７７に入力するものである。
【０１２６】
また、フィードバック制御部７３は、位置カウンタ３３から入力される値ｅｎｃ＿ｃｎｔ及び速度算出部７１から入力される値１／Ｔｐに基づき、制御対象のモータＭＴ２を制御し、モータＭＴ２を定速回転させるものである。
【０１２７】
具体的に、フィードバック制御部７３は、ＣＰＵ１１からモータ駆動指令を受けると、ＣＰＵ１１による駆動設定内容に従って、制御対象のモータＭＴ２を回転させる。ＣＰＵ１１からは、モータ駆動指令前に、モータの回転方向及び目標速度（ｔａｒｇｅｔ＿ｖｅｌｏｃｉｔｙ）が設定されると共に、必要に応じて、目標距離（ｔａｒｇｅｔ＿ｐｏｓｉｔｏｎ）が設定される。
【０１２８】
即ち、フィードバック制御部７３は、モータ駆動指令を受けると、ＣＰＵ１１から設定された回転方向に、モータＭＴ２を回転させ、搬送対象の移動速度（モータの回転速度と一対一に対応）が、ＣＰＵ１１から設定された目標速度となるように、フィードバック制御を行う。このようなフィードバック制御部７３の動作により、搬送対象は、加速区間を経て、定速走行状態に移行する（図２２参照）。
【０１２９】
また、目標距離が設定されている場合、フィードバック制御部７３は、モータ駆動指令を受けた時点からの搬送対象の移動距離が目標距離となる手前で、モータＭＴ２の減速・停止処理を行い、搬送対象の移動距離が目標距離となった時点で搬送対象が停止するように、モータＭＴ２を制御する。
【０１３０】
また、フィードバック制御部７３は、ＣＰＵ１１からモータ減速停止指令を受けた場合、その時点から、モータＭＴ２の減速・停止処理を行い、モータＭＴ２の回転を停止させて、搬送対象を停止させる。
【０１３１】
フィードバック制御部７３は、このようにして、ＣＰＵ１１の指示に従い、モータＭＴ２の運動状態（間接的には、搬送対象の運動状態）を制御する。
（４．２）収束判定部７５の詳細
続いて、収束判定部７５の詳細構成について、図１６を用いて説明する。
【０１３２】
本実施例の収束判定部７５は、常時、収束判定信号としてのｓｔｌｅｎ信号を、加速距離計測部７７に入力する構成にされている。また、ＣＰＵ１１による読取制御処理（図２０参照）の実行期間中に、ＣＰＵ１１から処理実行指令を受けると、図１６に示す処理を開始して、ｓｔｌｅｎ信号の状態を切り替える構成にされている。図１６は、ＣＰＵ１１からの処理実行指令を受けて、収束判定部７５が実行する処理を表すフローチャートである。
【０１３３】
収束判定部７５は、図１６に示す処理を開始すると、まず変数ｅｎ＿ｃｎｔに、位置カウンタ３３の現在の出力値ｅｎｃ＿ｃｎｔを設定し（Ｓ８１０）、ｓｔｌｅｎ信号を値１に設定する（Ｓ８２０）。
【０１３４】
また、この処理を終えると、収束判定部７５は、画像読取方向へのモータ駆動を指示するモータ駆動指令がＳ１２２０の処理により、ＣＰＵ１１から当該読取モータ制御部６１に入力されるまで待機し（Ｓ８３０）、このモータ駆動指令が入力されると（Ｓ８３０でＹｅｓ）、モータ駆動指令に基づくモータＭＴ２の動作により、搬送対象が所定距離移動するまで待機する（Ｓ８４０）。
【０１３５】
具体的には、位置カウンタ３３の出力値ｅｎｃ＿ｃｎｔから、変数ｅｎ＿ｃｎｔの値を引く演算を繰返し実行し、その演算結果Δｄ＝ｅｎｃ＿ｃｎｔ−ｅｎ＿ｃｎｔが、閾値ｅｎ＿ｃｎｔ＿ｌｉｍに到達するまで待機する（Ｓ８４０）。
【０１３６】
そして、搬送対象が所定距離移動し、Δｄ＝ｅｎ＿ｃｎｔ＿ｌｉｍとなると（Ｓ８４０でＹｅｓ）、ｓｔｌｅｎ信号を値０に設定する（Ｓ８５０）。その後、図１６に示す処理を終了する。
【０１３７】
このようにして、収束判定部７５は、ＣＰＵ１１から処理実行指令が入力された時点から、搬送対象が所定距離移動するまでの期間、ｓｔｌｅｎ信号として、値１を出力し、それ以外の期間には、値０を出力する。
【０１３８】
一方、このｓｔｌｅｎ信号が入力される加速距離計測部７７は、次のように動作する。
（４．３）加速距離計測部７７の詳細
図１７は、加速距離計測部７７が、ＣＰＵ１１からの処理実行指令を受けて、実行を開始する処理を表すフローチャートである。この加速距離計測部７７は、駆動制御部１７のレジスタが記憶する変数ａｃｃ＿ｃｎｔ＿ｖａｌの値を更新することにより、搬送対象が停止状態から定速走行状態に移行するまでに要した移動距離としての加速距離を、レジスタを通じて、ＣＰＵ１１に通知する。
【０１３９】
加速距離計測部７７は、処理実行指令を受けて、図１７に示す処理を開始すると、まず、変数ｓｔ＿ａ＿ｃｎｔに、位置カウンタ３３の現在の出力値ｅｎｃ＿ｃｎｔを設定すると共に（Ｓ９１０）、変数ａｃｃ＿ｃｎｔを値ゼロに設定し（Ｓ９２０）、変数ｓｔａｔｅを、値”ｉｎｎｅｒ”に設定する（Ｓ９３０）。
【０１４０】
また、この処理を終えると、加速距離計測部７７は、画像読取方向へのモータ駆動を指示するモータ駆動指令がＳ１２２０の処理により、ＣＰＵ１１から当該読取モータ制御部６１に入力されるまで待機し（Ｓ９４０）、このモータ駆動指令が入力されると（Ｓ９４０でＹｅｓ）、収束判定部７５から入力されるｓｔｌｅｎ信号が値１から値０に遷移するまで、Ｓ９５０〜Ｓ９６９の処理を繰返し実行する。
【０１４１】
即ち、加速距離計測部７７は、速度算出部７１から入力される値ｎｏｗ＿ｖｅｌｏが、予め設定された下限値ｌ＿ｌｉｍ未満である場合（ｎｏｗ＿ｖｅｌｏ＜ｌ＿ｌｉｍの場合）、変数ｓｔａｔｅを、値”ｌｏｗｅｒ”に設定し（Ｓ９６１）、速度算出部７１から入力される値ｎｏｗ＿ｖｅｌｏが、予め設定された上限値ｕ＿ｌｉｍより大きい場合（ｎｏｗ＿ｖｅｌｏ＞ｕ＿ｌｉｍの場合）、変数ｓｔａｔｅを、値”ｕｐｐｅｒ”に設定する（Ｓ９６３）。
【０１４２】
また、加速距離計測部７７は、速度算出部７１から入力される値ｎｏｗ＿ｖｅｌｏが、下限値ｌ＿ｌｉｍ以上、上限値ｕ＿ｌｉｍ以下である場合（ｌ＿ｌｉｍ≦ｎｏｗ＿ｖｅｌｏ≦ｕ＿ｌｉｍの場合）、変数ｓｔａｔｅの現在値が、値”ｉｎｎｅｒ”であるか否かを判断し（Ｓ９６５）、現在値が値”ｉｎｎｅｒ”ではない場合には（Ｓ９６５でＮｏ）、変数ａｃｃ＿ｃｎｔの値を、位置カウンタ３３の現在の出力値ｅｎｃ＿ｃｎｔから変数ｓｔ＿ａ＿ｃｎｔの値を引いた値に設定する（Ｓ９６７）。
【０１４３】
ａｃｃ＿ｃｎｔ＝ｅｎｃ＿ｃｎｔ−ｓｔ＿ａ＿ｃｎｔ
また、この処理を終えると、加速距離計測部７７は、変数ｓｔａｔｅを、値”ｉｎｎｅｒ”に変更する（Ｓ９６９）。一方、変数ｓｔａｔｅの現在値が、値”ｉｎｎｅｒ”である場合には（Ｓ９６５でＹｅｓ）、Ｓ９６７及びＳ９６９の処理を実行せずに、変数ｓｔａｔｅを値”ｉｎｎｅｒ”に保持する。
【０１４４】
加速距離計測部７７は、このような処理を、収束判定部７５から入力されるｓｔｌｅｎ信号が値１から値０に遷移するまで、繰返し実行する。
尚、本実施例において、上限値ｕ＿ｌｉｍは、読取モータ制御部６１（具体的には、フィードバック制御部７３）に対して設定された目標速度よりも大きい値に設定され、下限値ｌ＿ｌｉｍは、目標速度よりも小さい値に設定される。
【０１４５】
具体的に、本実施例では、ＣＰＵ１１から目標速度が設定される度に、読取モータ制御部６１内において、上限値ｕ＿ｌｉｍ及び下限値ｌ＿ｌｉｍが、次のように設定される。
ｕ＿ｌｉｍ＝目標速度＋Δｌｉｍ
ｌ＿ｌｉｍ＝目標速度−Δｌｉｍ
尚、Δｌｉｍは、設計段階で予め定められた値である。但し、上限値ｕ＿ｌｉｍ及び下限値ｌ＿ｌｉｍは、目標速度の設定時に、ＣＰＵ１１から個別に設定されてもよい。
【０１４６】
また、加速距離計測部７７は、収束判定部７５から入力されるｓｔｌｅｎ信号が値１から値０に遷移すると（Ｓ９５０でＹｅｓ）、変数ａｃｃ＿ｃｎｔ＿ｖａｌの値を、現在の変数ａｃｃ＿ｃｎｔの値に更新して（Ｓ９７０）、図１７に示す処理を終了する。
【０１４７】
即ち、加速距離計測部７７は、図１８に示すように、速度算出部７１から入力される搬送対象の速度を表す値１／Ｔｐが、目標速度を基準速度とした当該基準速度より上方向に設定された上限値ｕ＿ｌｉｍから基準速度より下方向に設定された下限値ｌ＿ｌｉｍまでの範囲内に、この範囲外から変化して収まる事象が発生する度に、変数ａｃｃ＿ｃｎｔの値を更新して、所定期間（ｓｔｌｅｎ信号が値１である期間）において、搬送対象の速度を表す値１／Ｔｐが範囲外から変化して収まる事象が最後に発生した地点までの距離を、加速距離として、変数ａｃｃ＿ｃｎｔ＿ｖａｌに設定する。
【０１４８】
尚、図１８は、搬送対象が加速状態から定速走行状態に移行するまでの搬送対象の速度変化と、目標速度及び、上限値ｕ＿ｌｉｍ及び下限値ｌ＿ｌｉｍの関係を表した図である。
【０１４９】
（４．４）減速距離計測部７９の詳細
続いて、減速距離計測部７９の詳細構成について、図１９を用いて説明する。尚、図１９は、減速距離計測部７９が、ＣＰＵ１１からの処理実行指令を受けて、実行を開始する処理を表すフローチャートである。
【０１５０】
減速距離計測部７９は、駆動制御部１７のレジスタが記憶する変数ｄｅｃ＿ｃｎｔ＿ｖａｌの値を更新することにより、ＣＣＤラインセンサ２０による読取動作が中断してから搬送対象が停止するまでに移動した搬送対象の移動距離としての減速距離を、レジスタを通じて、ＣＰＵ１１に通知するものである。
【０１５１】
具体的に、減速距離計測部７９は、図１９に示す処理を開始すると、読取制御部２１から入力されるｒｅｑ＿ｓｔｏｐ信号が値０から値１に遷移するまで待機し（Ｓ１０１０）、ｒｅｑ＿ｓｔｏｐ信号が値０から値１に遷移すると（Ｓ１０１０でＹｅｓ）、変数ｓｔ＿ｄ＿ｃｎｔに、位置カウンタ３３の現在の出力値ｅｎｃ＿ｃｎｔを設定する（Ｓ１０２０）。
【０１５２】
また、この処理を終えると、減速距離計測部７９は、フィードバック制御部７３によるモータＭＴ２の減速・停止処理が行われて、制御対象のモータＭＴ２の回転が停止（換言すると、搬送対象の移動が停止）するまで待機する（Ｓ１０３０）。尚、モータＭＴ２の回転が停止したか否かは、位置カウンタ３３の出力値が変化しなくなったかどうかで判断する。
【０１５３】
そして、モータＭＴ２の回転が停止すると（Ｓ１０３０でＹｅｓ）、減速距離計測部７９は、変数ｄｅｃ＿ｃｎｔ＿ｖａｌの値を、位置カウンタ３３の現在の出力値ｅｎｃ＿ｃｎｔから変数ｓｔ＿ｄ＿ｃｎｔの値を引いた値に更新する（Ｓ１０４０）。
【０１５４】
ｄｅｃ＿ｃｎｔ＿ｖａｌ＝ｅｎｃ＿ｃｎｔ−ｓｔ＿ｄ＿ｃｎｔ
その後、図１９に示す処理を終了する。
即ち、減速距離計測部７９は、ｒｅｑ＿ｓｔｏｐ信号が値０から値１に遷移した時点からモータＭＴ２の回転が停止するまでの搬送対象の移動距離を計測することにより、減速距離を計測し、これを、変数ｄｅｃ＿ｃｎｔ＿ｖａｌに設定する。尚、Ｓ１０４０の処理実行時には、モータＭＴ２の回転が停止した旨を、ＣＰＵ１１に通知する処理を行う。
【０１５５】
（５）ＣＰＵ１１が実行する読取制御処理の詳細
続いて、ＣＰＵ１１が実行する読取制御処理について、図２０を用いて説明する。図２０は、ＣＰＵ１１が実行する読取制御処理を表すフローチャートである。
【０１５６】
ＣＰＵ１１は、表示操作パネル２３の読取キーが押下操作されると、ＲＯＭ１３に記録されたプログラムに基づき、図２０に示す読取制御処理を開始する。
読取制御処理を開始すると、ＣＰＵ１１は、原稿トレイ１６５に原稿が載置されているか否かにより、読取キーの押下操作によってユーザから入力された指示が、自動搬送読取機能の作動指示であるか否かを判断する（Ｓ１１１０）。具体的に、原稿トレイ１６５に原稿が載置されている状態で読取キーが押下操作された場合には、ユーザから入力された指示が、自動搬送読取機能の作動指示であると判断し、それ以外の場合には、ユーザから入力された指示が、自動搬送読取機能の作動指示ではない（換言すると、静止原稿読取機能の作動指示である）と判断する。
【０１５７】
そして、ユーザから入力された指示が自動搬送読取機能の作動指示であると判断すると（Ｓ１１１０でＹｅｓ）、Ｓ１１２０に移行し、ユーザから入力された指示が自動搬送読取機能の作動指示ではないと判断すると（Ｓ１１１０でＮｏ）、Ｓ１１６０に移行する。
【０１５８】
Ｓ１１２０に移行すると、ＣＰＵ１１は、駆動制御部１７を介して、自動搬送読取機能の作動時における読取位置としてのホームポジションまで、ＣＣＤラインセンサ２０を移動させ、ＣＣＤラインセンサ２０をホームポジションに配置する。また、この処理を終えると、制御対象モータを、読取搬送モータＭＴ４に設定すると共に、自動搬送読取機能を実現するための各種初期設定を行う（Ｓ１１３０）。具体的には、読取搬送モータＭＴ４用のエンコーダエッジ検出部３１及び位置カウンタ３３の出力が読取制御部２１に入力されるように設定する。また、読取開始地点ｓｔａｒｔ＿ｐｏｓｉｔｏｎ等を設定する。
【０１５９】
また、Ｓ１１３０での処理を終えると、ＣＰＵ１１は、ＡＤＦ装置１５０を通じて、原稿トレイ１６５に載置された原稿を取り込み、読取原稿の先頭を、取込完了地点に配置した後（Ｓ１１４０）、読取開始要求を、読取制御部２１に入力する（Ｓ１１５０）。
その後、Ｓ１２００に移行する。
【０１６０】
一方、Ｓ１１６０に移行すると、ＣＰＵ１１は、ＣＣＤラインセンサ２０の現在位置に応じて、画像読取方向を決定する。具体的に、ＣＣＤラインセンサ２０の現在位置がホームポジションである場合には、画像読取方向を、ホームポジションを始点とし、ホームポジションとは反対側の端点を終点とした方向に決定する。尚、本実施例では、モータが順方向に回転すると、この方向にＣＣＤラインセンサ２０が移動するものとする。
【０１６１】
また、ＣＣＤラインセンサ２０の現在位置がホームポジションとは反対側の端点である場合には、画像読取方向を、ホームポジションとは反対側の端点を始点とし、ホームポジションを終点とした方向に決定する。尚、本実施例では、モータが順方向とは逆方向に回転すると、この方向にＣＣＤラインセンサ２０が移動するものとする。
【０１６２】
また、この処理を終えると、ＣＰＵ１１は、制御対象モータを、読取モータＭＴ２に設定すると共に、静止原稿読取機能を実現するための各種初期設定を行う（Ｓ１１７０）。具体的には、読取モータＭＴ２用のエンコーダエッジ検出部３１及び位置カウンタ３３の出力が読取制御部２１に入力されるように設定する。また、読取開始地点ｓｔａｒｔ＿ｐｏｓｉｔｏｎ等を設定する。
【０１６３】
そして、Ｓ１１７０での処理を終えると、ＣＰＵ１１は、読取開始要求を、読取制御部２１に入力し（Ｓ１１８０）、Ｓ１２００に移行する。
また、Ｓ１２００に移行すると、ＣＰＵ１１は、制御対象モータに対応する駆動制御部１７のモータ制御部が有する収束判定部７５及び加速距離計測部７７並びに減速距離計測部７９に対し、処理実行指令を入力し、その後、モータ駆動設定を、当該モータ制御部のフィードバック制御部７３に対して行う（Ｓ１２１０）。
【０１６４】
即ち、制御対象モータが読取モータＭＴ２である場合には、読取モータ制御部６１に対して処理実行指令を入力すると共に、モータ駆動設定を行い、制御対象モータが読取搬送モータＭＴ４である場合には、読取搬送モータ制御部６５に対して処理実行指令を入力すると共にモータ駆動設定を行う（Ｓ１２００，Ｓ１２１０）。具体的に、ここでは、モータ駆動設定として、モータ回転方向を、画像読取方向に対応する回転方向に設定すると共に、予めユーザにより設定された読取解像度に応じて、目標速度を設定する動作を行う。尚、自動搬送読取機能を実現する場合、Ｓ１２１０では、モータ回転方向を、順方向に設定する。
【０１６５】
また、Ｓ１２１０での処理を終えると、ＣＰＵ１１は、モータ駆動指令を、制御対象モータに対応するモータ制御部（読取モータ制御部６１又は読取搬送モータ制御部６５）に入力して、搬送対象の搬送を、モータ制御部に実現させる（Ｓ１２２０）。
【０１６６】
また、Ｓ１２２０での処理を終えると、ＣＰＵ１１は、読取対象の読取が終了している（読取制御部２１において読取終了信号が出力されている）か否かを判断し（Ｓ１２３０）、読取が終了していない場合には（Ｓ１２３０でＮｏ）、読取対象の読取が終了するか、読取制御部２１において、ｒｅｑ＿ｓｔｏｐ信号が値０から値１に遷移するまで待機する（Ｓ１２３０，Ｓ１２４０）。そして、ｒｅｑ＿ｓｔｏｐ信号が値０から値１に遷移すると（Ｓ１２４０でＹｅｓ）、モータ減速停止指令を、制御対象モータに対応するモータ制御部に入力して、制御対象モータの回転を停止させ、搬送対象の移動を停止させる（Ｓ１２５０）。
【０１６７】
また、Ｓ１２５０での処理を終えると、制御対象モータの回転が停止するまで待機し（Ｓ１２６０）、回転が停止すると（Ｓ１２６０でＹｅｓ）、制御対象モータに対応するモータ制御部にて計測された加速距離ａｃｃ＿ｃｎｔ＿ｖａｌ及び減速距離ｄｅｃ＿ｃｎｔ＿ｖａｌの情報を、モータ制御部から取得し（Ｓ１２７０）、取得した加速距離ａｃｃ＿ｃｎｔ＿ｖａｌ及び減速距離ｄｅｃ＿ｃｎｔ＿ｖａｌを加算した値Ｄを算出する（Ｓ１２８０）。
【０１６８】
Ｄ＝ａｃｃ＿ｃｎｔ＿ｖａｌ＋ｄｅｃ＿ｃｎｔ＿ｖａｌ
また、この処理を終えると、ＣＰＵ１１は、制御対象モータに対応するモータ制御部のフィードバック制御部７３に対して、モータ駆動設定を行う。但し、ここでは、モータ駆動設定として、モータ回転方向を、画像読取方向に対応する回転方向とは逆方向に設定すると共に、目標速度を所定値に設定し、更に、目標距離を、Ｓ１２８０で算出した値Ｄに設定する（Ｓ１２９０）。その後、モータ駆動指令を、制御対象モータに対応するモータ制御部のフィードバック制御部７３に入力して、搬送対象を、停止位置から、値Ｄに対応する距離戻す処理を行う（Ｓ１３００）。
【０１６９】
また、この処理を終えると、ＣＰＵ１１は、制御対象モータの回転が停止するまで待機し（Ｓ１３１０）、回転が停止すると（Ｓ１３１０でＹｅｓ）、読取制御部２１から出力されるｒｅｓｔａｒｔ＿ｓｉｇ信号が値０から１に切り替わるまで待機する（Ｓ１３２０）。そして、ｒｅｓｔａｒｔ＿ｓｉｇ信号が値０から１に切り替わると（Ｓ１３２０でＹｅｓ）、読取再開要求を、読取制御部２１に対して入力する（Ｓ１３３０）。
【０１７０】
また、読取再開要求を、読取制御部２１に対して入力した後には、Ｓ１２００に移行し、制御対象モータに対応するモータ制御部に対して処理実行指令を入力し、モータ駆動設定を行った後（Ｓ１２１０）、モータ駆動指令を、当該モータ制御部に入力することにより（Ｓ１２２０）、搬送対象を、画像読取方向に移動させて、読取中断地点から、ＣＣＤラインセンサ２０による読取動作を再開させる。
【０１７１】
また、このようにして、読取対象の読取が終了すると（Ｓ１２３０でＹｅｓ）、ＣＰＵ１１は、当該読取制御処理を実行する契機となったユーザ指示が、自動搬送読取機能の作動指示であったか否かを判断し（Ｓ１３４０）、自動搬送読取機能の作動指示であった場合には（Ｓ１３４０でＹｅｓ）、駆動制御部１７を通じて、読取対象の原稿を、排紙トレイ１６６に排出する（Ｓ１３５０）。また、次原稿が原稿トレイ１６５に載置されている場合には（Ｓ１３６０でＹｅｓ）、Ｓ１１４０に移行して、次原稿を取り込み、Ｓ１１５０の処理を経て、再び、Ｓ１２００以降の処理を実行する。
【０１７２】
一方、次原稿が原稿トレイ１６５に載置されていない場合には（Ｓ１３６０でＮｏ）、当該読取制御処理を終了する。この他、当該読取制御処理を実行する契機となったユーザ指示が、自動搬送読取機能の作動指示ではない場合には（Ｓ１３４０でＮｏ）、駆動制御部１７を通じて、ＣＣＤラインセンサ２０を画像読取方向の終点（ホームポジションとは反対側の端点又はホームポジション）まで移動させた後（Ｓ１３７０）、当該読取制御処理を終了する。
【０１７３】
このようにして、ＣＰＵ１１は、ＣＣＤラインセンサ２０による読取動作を一時中断せざるを得なくなったとき、ＣＣＤラインセンサ２０による読取動作が中断された地点から停止までに搬送対象が移動した減速距離ｄｅｌ＿ｃｎｔ＿ｖａｌに、搬送対象が停止状態から定速状態に移行するまでに必要な加速距離ａｃｃ＿ｃｎｔ＿ｖａｌを加算した距離Ｄ、搬送対象を、画像読取方向とは反対側に戻し、次回の読取再開時に、効率的に、搬送対象を読取中断地点まで移動させて、ＣＣＤラインセンサ２０による読取動作を迅速に再開できるようにする。尚、図２１は、本実施例における戻し量の設定方法を示した説明図である。
【０１７４】
（６）作用・効果
以上、本実施例の多機能装置１の構成について説明したが、本実施例の多機能装置１では、駆動制御部１７が、搬送対象の移動速度を制御し、搬送対象を、画像読取方向に定速で移動させると共に、搬送対象が読取開始地点（ｓｔａｒｔ＿ｐｏｓｉｔｏｎ）を通過した時点から、読取制御部２１が、ＣＣＤラインセンサ２０の読取動作により生成された各ラインの読取画像データを、バッファ４５ａに書き込む処理を実行する。また、多機能装置１では、搬送対象の移動開始地点から、搬送対象が定速移動状態に移行した地点までの距離（加速距離）を、加速距離計測部７７が計測する。
【０１７５】
この他、多機能装置１では、画データ処理部４３が、読取に係る処理の中断が必要であると判定した場合、ｓｔｏｐ＿ｓｉｇ信号を値１に遷移させて、読取フロントエンド４１の動作を停止させると共に、駆動制御部１７にモータの減速・停止制御を実行させる。また、駆動制御部１７では、減速距離計測部７９が、読取中断地点から、画像読取方向への移動が停止した時点までの搬送対象の移動距離（減速距離）を、計測する。
【０１７６】
また、多機能装置１では、読取に係る処理の中断が必要であると判定されると、駆動制御部１７が、搬送対象を停止させた後、この搬送対象を、画像読取方向とは逆方向に移動させるが、搬送対象を移動させる距離（戻し量）を、加速距離＋減速距離に、設定する。
【０１７７】
読取再開時に読取中断地点からの読取を再開する場合には、読取中断地点（読取再開地点）を通過するまでに、搬送対象を定速移動状態に移行させる必要がある。
従って、本実施例のように、加速距離及び減速距離の実測値に基づき、戻し量を決定すれば、搬送機構の伝達特性の経時変化を考慮して、予め戻し量を冗長に設定しておく必要がなく、読取中断時に、適切な量、搬送対象を戻すことができる。
【０１７８】
例えば、多機能装置１の製造時には、フィードバック制御部７３の動作により、ＣＣＤラインセンサ２０の移動速度が、図２２に示すように変化する場合であっても、時間が経過すると、例えば、ＣＣＤラインセンサ２０の搬送機構における摩擦等が高くなって、図２３に示すように、ＣＣＤラインセンサ２０が目標速度で安定するまでの時間が長くなる場合がある。
【０１７９】
尚、図２２及び図２３は、フィードバック制御部７３を通じて、ＣＣＤラインセンサ２０を画像読取方向に移動させると共に、ＣＣＤラインセンサが定速状態で安定しているときに、減速停止処理を行い、更に、ＣＣＤラインセンサ２０が停止した時点でＣＣＤラインセンサ２０を画像読取方向とは逆方向に後退させ、後退が終了した時点でＣＣＤラインセンサ２０を画像読取方向に、再移動させた場合のＣＣＤラインセンサ２０の移動状態を示した図である。各図の（ａ）は、ＣＣＤラインセンサ２０の移動速度の時間変化を表すグラフであり、（ｂ）は、同図番（ａ）の速度変化が観測されたときのＣＣＤラインセンサ２０の位置の時間変化を表すグラフである。図２３に示すグラフは、図２２の観測時点から多機能装置１が経時変化したときの多機能装置１におけるＣＣＤラインセンサ２０の移動状態を示すものである。
【０１８０】
このように、搬送対象の伝達特性は、時間経過と共に変化するので、従来装置のように、戻し量を一定値に固定する従来装置では、多機能装置１が図２２に示す状態にあるときでも、時間変化と共に図２３に示すように加速距離が長くなることを考慮して戻し量を決定する必要があったが、本実施例の多機能装置１によれば、加速距離及び減速距離の直前の実測値に基づき、戻し量を設定するので、冗長に戻し量を設定する必要がなく、読取中断地点（読取再開地点）においてＣＣＤラインセンサ２０を定速移動状態に遷移させるのに、必要十分な量を戻し量に設定して、ＣＣＤラインセンサ２０を後退させることができる。
【０１８１】
よって、この多機能装置１によれば、搬送対象の戻し量が必要以上に大きいために、読取再開時において、読取再開地点までの搬送対象の搬送に要する時間が長くなり、又、読取再開地点までの搬送に係る消費電力が無駄に大きくなってしまうのを抑制することができ、効率的に読取再開動作を実行することができる。
【０１８２】
特に、本実施例の手法によれば、搬送対象を効率的に戻すことができるので、バッファの容量を小さくして安価に製品を製造する場合であっても、原稿１枚分の読取が終了するまでの時間を十分に短く抑えることができ、安価で高性能な多機能装置１を提供することができる。
【０１８３】
また、本実施例によれば、加速距離及び減速距離の最新の計測結果に基づいて、戻し量を決定するので、戻し量を、所定時間毎に設定する装置よりも、適切に戻し量を設定することができる。例えば、搬送機構の伝達特性は、温度変化によっても変化するため、多機能装置１の電源投入直後と、それから暫く経過した後では、伝達特性も変化する可能性があるが、本実施例によれば、そのような伝達特性の短時間の変化にも対応して、適切な戻し量を設定することができる。
【０１８４】
また、本実施例の多機能装置１では、静止原稿読取機能の動作時、ＣＣＤラインセンサ２０をホームポジションから画像読取方向の端点まで移動させて、この間に原稿の読取動作をＣＣＤラインセンサ２０に実行させるが、この動作により、ＣＣＤラインセンサ２０がホームポジションとは反対側の端点に移動した場合には、画像読取方向を反転させて、前回の画像読取方向とは反対方向から次原稿を読み取るようにした。そして、読取動作の中断が必要になり、ＣＣＤラインセンサ２０を画像読取方向とは反対側に後退させる場合には、現在の画像読取方向と同方向にＣＣＤラインセンサ２０が搬送されていたときに計測された直前の加速距離及び減速距離に基づき、戻し量を決定するようにした。
【０１８５】
搬送機構の伝達特性は、ＣＣＤラインセンサ２０の移動方向によっても変化するが、本実施例では、画像読取方向が現在と同方向の時に計測された加速距離及び減速距離に基づいて戻し量を決定するので、画像読取方向が反転して、搬送機構の伝達特性が変化した場合でも、その変化に依らず、適切な戻し量を設定することができる。従って、本実施例によれば、高性能な多機能装置１を製造することができる。
【０１８６】
尚、本発明の読取ユニットは、ＣＣＤラインセンサ２０に相当し、搬送機構は、読取モータＭＴ２の回転力を受けてＣＣＤラインセンサ２０を移動させる機構、及び、読取搬送モータＭＴ４の回転力を受けて読取対象の原稿を移動させるＡＤＦ装置１５０に相当する。また、読取制御手段は、フィードバック制御部７３及び読取制御部２１並びにＳ１１５０，Ｓ１１８０，Ｓ１２１０，Ｓ１２２０，Ｓ１３３０の処理にて実現され、加速距離計測手段は、加速距離計測部７７の処理にて実現され、中断判定手段は、停止信号生成部４３ｄの処理にて実現され、停止制御手段は、停止要求生成部４７及びＳ１２４０，Ｓ１２５０の処理にて実現されている。
【０１８７】
また、減速距離計測手段は、減速距離計測部７９の処理にて実現され、後退制御手段は、駆動制御部１７及びＳ１３００の処理にて実現され、戻し量設定手段は、Ｓ１２７０〜Ｓ１２９０の処理にて実現され、再開判定手段は、再開信号生成部４３ｅの処理にて実現されている。
【０１８８】
また、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、収束判定部７５は、図１６に示す処理に代えて、図２４に示す処理を実行する構成にされてもよい。
【０１８９】
（７）変形例
図２４は、変形例の多機能装置１において、収束判定部７５が、ＣＰＵ１１から処理実行指令を受けると、実行を開始する処理を表すフローチャートである。変形例の多機能装置１は、収束判定部７５が、図１６に示す処理に代えて、図２４に示す処理を実行する他は、基本的に上記実施例と同一構成にされているので、以下では、変形例の説明として、収束判定部７５が実行する処理について説明する程度に留める。
【０１９０】
収束判定部７５は、上記実施例と同様、常時、収束判定信号としてのｓｔｌｅｎ信号を加速距離計測部７７に入力する構成にされており、ＣＰＵ１１から処理実行指令を受けると、図２４に示す処理を実行して、ｓｔｌｅｎ信号の状態を切り替える。
【０１９１】
収束判定部７５は、図２４に示す処理を開始すると、まず変数ｅｎ＿ｃｎｔに値ゼロを設定し（Ｓ１４１０）、ｓｔｌｅｎ信号を値１に設定する（Ｓ１４２０）。
また、この処理を終えると、収束判定部７５は、画像読取方向へのモータ駆動を指示するモータ駆動指令がＳ１２２０の処理により、ＣＰＵ１１からモータ制御部に入力されるまで待機し（Ｓ１４３０）、このモータ駆動指令が入力されると（Ｓ１４３０でＹｅｓ）、変数ｅｎ＿ｃｎｔが、予め設定された値ｅｎ＿ｃｎｔ＿ｌｉｍとなるまで、クロック生成部２５から入力されるクロック信号に同期動作して、当該クロック信号の周期で、変数ｅｎ＿ｃｎｔを１加算（カウントアップ）する処理を行う（Ｓ１４４０，Ｓ１４５０）。
【０１９２】
そして、収束判定部７５は、変数ｅｎ＿ｃｎｔが値ｅｎ＿ｃｎｔ＿ｌｉｍとなると（Ｓ１４４０でＹｅｓ）、ｓｔｌｅｎ信号を値０に設定する（Ｓ１４６０）。その後、図２４に示す処理を終了する。
【０１９３】
このようにして、収束判定部７５は、ＣＰＵ１１から処理実行指令が入力された時点から、所定時間が経過するまでの期間、ｓｔｌｅｎ信号として、値１を出力し、それ以外の期間には、値０を出力する。このようにして、所定時間内で、目標速度より上方向に設定された値ｕ＿ｌｉｍから目標速度より下方向に設定された値ｌ＿ｌｉｍまでの範囲内に、搬送対象の速度が範囲外から変化して収まる事象が最後に発生した地点までの距離を、加速距離として、計測するように、多機能装置１を構成しても、当該多機能装置１では、読取再開地点においてＣＣＤラインセンサ２０による読取が適切に行われるように、適切な量、搬送対象を戻すことができる。
【０１９４】
尚、本実施例では、読取ユニットとして、ＣＣＤラインセンサ２０を用いたが、読取ユニットとしては、コンタクトイメージセンサ（ＣＩＳ：Contact Image Sensor）を用いても良い。その他、本実施例では、エンコーダＥＮ２として、ロータリーエンコーダを用いたが、ロータリーエンコーダに代えて、リニアエンコーダを用いてもよい。
【図面の簡単な説明】
【０１９５】
【図１】本実施例の多機能装置１の構成を表すブロック図である。
【図２】スキャナ部１０１及びＡＤＦ装置１５０の概略構成を表す断面図である。
【図３】ＣＣＤラインセンサ２０の移動態様に関する説明図である。
【図４】エンコーダ処理部１５の構成を表すブロック図である。
【図５】位置カウンタ３３が実行する処理を表すフローチャート（ａ）及び周期カウンタ３５が実行する処理を表すフローチャート（ｂ）である。
【図６】読取制御部２１の構成を表すブロック図である。
【図７】画データ処理部４３で実現されるデータ処理機能に係る説明図である。
【図８】停止信号生成部４３ｄが実行する処理を表すフローチャートである。
【図９】再開信号生成部４３ｅが実行する処理を表すフローチャートである。
【図１０】停止要求生成部４７が実行する処理を表すフローチャートである。
【図１１】ｒｅｑ＿ｓｔｏｐ信号が値１に切り替わる時点前後の各種信号の状態を表すタイムチャートである。
【図１２】オフセット設定部４９ａが実行する処理を表すフローチャートである。
【図１３】出力指令部４９ｂが実行する処理を表すフローチャートである。
【図１４】ラインスタート信号の出力再開タイミングを表すタイムチャートである。
【図１５】駆動制御部１７の構成を表すブロック図である。
【図１６】収束判定部７５が実行する処理を表すフローチャートである。
【図１７】加速距離計測部７７が実行する処理を表すフローチャートである。
【図１８】搬送対象の速度変化と、目標速度、上限値ｕ＿ｌｉｍ及び下限値ｌ＿ｌｉｍの関係を表した図である。
【図１９】減速距離計測部７９が実行する処理を表すフローチャートである。
【図２０】ＣＰＵ１１が実行する読取制御処理を表すフローチャートである。
【図２１】戻し量の設定方法を示した説明図である。
【図２２】ＣＣＤラインセンサ２０の速度変化及び位置変化を示した図である。
【図２３】ＣＣＤラインセンサ２０の速度変化及び位置変化を示した図である。
【図２４】収束判定部７５が実行する変形例の処理を表すフローチャートである。
【符号の説明】
【０１９６】
１…多機能装置、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１５…エンコーダ処理部、１７…駆動制御部、１８…記録ヘッド、１９…記録制御部、２０…ＣＣＤラインセンサ、２１…読取制御部、２３…表示操作パネル、２５…クロック生成部、２７…外部インタフェース、３１…エンコーダエッジ検出部、３３…位置カウンタ、３５…周期カウンタ、４１…読取フロントエンド、４１ａ…ラインスタートトリガ信号生成部、４１ｂ…ラインスタート信号生成部、４１ｃ…転送クロック信号生成部、４１ｄ…変換器、４３…画データ処理部、４３ａ…データ書込部、４３ｂ…画像処理部、４３ｃ…データ転送部、４３ｄ…停止信号生成部、４３ｅ…再開信号生成部、４５…ローカルＲＡＭ、４５ａ…バッファ、４５ｂ…処理データ記憶部、４７…停止要求生成部、４９…ラインスタート出力指令部、４９ａ…オフセット設定部、４９ｂ…出力指令部、５０…メモリコントローラ、６１…読取モータ制御部、６３，６７…駆動回路、６５…読取搬送モータ制御部、７１…速度算出部、７３…フィードバック制御部、７５…収束判定部、７７…加速距離計測部、７９…減速距離計測部、１０１…スキャナ部、１０２…静止読取窓、１０３…自動読取窓、１０４…原稿カバー、１０６…キャリッジ、１０７，１０８…プーリ、１０９…ベルト、１１１…ガイド軸、１５０…ＡＤＦ装置、１５３，１５５，１５９，１６０，１６２…ローラ、１５４…分離パッド、１６１…原稿押さえ、１６４…原稿センサアクチュエータ、１６５…原稿トレイ、１６６…排紙トレイ、ＥＮ１〜ＥＮ４…エンコーダ、ＭＴ１〜ＭＴ４…モータ
【図１】
2008129063.tif 000003
【図２】
2008129063.tif 000004
【図３】
2008129063.tif 000005
【図４】
2008129063.tif 000006
【図５】
2008129063.tif 000007
【図６】
2008129063.tif 000008
【図７】
2008129063.tif 000009
【図８】
2008129063.tif 000010
【図９】
2008129063.tif 000011
【図１０】
2008129063.tif 000012
【図１１】
2008129063.tif 000013
【図１２】
2008129063.tif 000014
【図１３】
2008129063.tif 000015
【図１４】
2008129063.tif 000016
【図１５】
2008129063.tif 000017
【図１６】
2008129063.tif 000018
【図１７】
2008129063.tif 000019
【図１８】
2008129063.tif 000020
【図１９】
2008129063.tif 000021
【図２０】
2008129063.tif 000022
【図２１】
2008129063.tif 000023
【図２２】
2008129063.tif 000024
【図２３】
2008129063.tif 000025
【図２４】
2008129063.tif 000026