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