次に、本発明の実施の形態について図面と共に説明する。
<画像読取装置の内部機構の例>
図1は、画像読取装置の内部機構の一例を示す図である。図1に示すように、画像読取装置100は、自動原稿搬送装置(ADF)10と、光学装置20と、原稿が載置されるコンタクトガラス30と含むように構成される。
ADF10は、給紙コロ12と、給紙ローラ13と、第1の搬送ローラ14と、第2の搬送ローラ15とを含むように構成される。ADF10は、原稿トレイ11上にセットされた原稿を、給紙コロ12によって搬送方向に繰り出し、給紙ローラ13によって一枚ずつ給紙し、第1の搬送ローラ14と第2の搬送ローラ15によって副走査方向に順次搬送し、排紙トレイ16に排紙させる。
給紙コロ12と給紙ローラ13とにはステッピングモータからなる給紙モータがギヤ列等により連結されており、第1の搬送ローラ14と第2の搬送ローラ15とにはステッピングモータからなる搬送モータがギヤ列等により連結されている。
光学装置20は、光源21と、リフレクタ(反射板)22と、第1ミラー23と、第2ミラー24と、第3ミラー25と、レンズ26と、受光素子27と、基板28とを含むように構成される。光源21は、コンタクトガラス30上の原稿を照明し、リフレクタ22は、光源21の光を原稿側に反射させ、第1ミラー23は、原稿の反射光を屈折して第2ミラー24に導き、第2ミラー24は、第1ミラー23からの反射光を、第3ミラー25に導く。
レンズ26は、第3ミラー25から反射された反射光をライン状に実装されたCCD等の受光素子27に結合し、受光素子27は、原稿の反射光を光電変換して電気信号化する。基板28は、受光素子27を搭載した基板である。
図1に示すように、圧板読取(FB読取)方式では、コンタクトガラス30に原稿を固定したまま、光学装置20を動かして原稿の画像データを読み取り、シートスルー方式では、光学装置20を固定したまま、ADF10にて搬送された原稿の画像データを読み取る。
<画像読取装置100の機能構成例>
次に、図2を用いて、画像読取装置100の機能構成例について説明する。図2は、画像読取装置の機能構成の一例を示す図である。
図2に示すように、画像読取装置100は、CPU40と、モータ制御部50と、RAM60と、モータドライブ70と、読取制御部80と、画像処理部85と、画像メモリ90と、PC I/F部92と、書込制御部94とを有するように構成され、それぞれが接続された構成となっている。
CPU(Central Processing Unit)40は、画像読取装置100を構成するモータ制御部50と、読取制御部80と、画像処理部85と、書込制御部94等の各部を制御する。
CPU40は、例えば原稿の画像読取中に、読み取った画像を書き込む画像メモリ90のメモリ空き容量を確認し、メモリの空き容量が所定量を以下となった場合には、モータ制御部50に対して停止指示等を出力する。
また、CPU40は、モータが停止され、画像メモリ90に一定のメモリ空き容量を確認した場合に、モータ制御部50に対して動作再開指示を出力する。
モータ制御部50は、モータパルス生成部51、読取周期計測手段52、位相差計測手段53、読取理想位置算出手段54と、選択手段55とを含むように構成され、光学装置20を移動して圧板読取(FB読取)するためのモータの制御、シートスルー読取における紙搬送を行うためのモータの制御等を行うと共に、紙搬送に関わる電装品56を制御する。
モータ制御部50は、上述したCPU40からの停止指示等を受け、モータを等速から減速へ移行し停止させる間欠読取動作を実行すると共に、CPU40からの動作再開指示等を受け、モータを加速させ等速へと駆動する。なお、モータ制御部50は、CPU40からの停止指示ではなく、予め設定された減速に移行する移動距離に達した場合に、自動で減速に移行しても良い。
モータパルス生成部51は、モータドライバ(Dr)70に対して、モータ72を駆動するためのモータ駆動パルスを生成して出力する。モータパルス生成部51は、例えばRAM60に格納されたモータ駆動パルスのパルス間隔設定値であるクロックカウント数テーブル設定値を参照して、モータ駆動パルスを生成する。このモータ駆動パルスは、モータ駆動を減速又は加速させる場合には、一定間隔により出力される読取周期信号(LSYNC)と非同期となる。
読取周期計測手段52は、モータが等速で駆動している時に、読取制御部80より出力される読取周期信号(LSYNC)の1周期(読取周期)あたりのクロックカウント数を、例えばモータ制御部50内のクロック等によりカウントする。なお、予め1周期あたりのクロックカウント数をレジスタ等に設定しておくこともできる。
位相差計測手段53は、読取制御部80より出力される読取周期信号(LSYNC)とモータパルス生成部51により生成されるモータ駆動パルスとの位相差を計測する。位相差計測手段53は、例えば上述したCPU40からの停止指示等により、モータ制御部50が、減速移行する時点におけるモータ駆動パルスと読取周期信号との位相差を計測する。
位相差計測手段53は、例えば読取制御部80から出力される読取周期信号をトリガとして、モータ制御部50内のクロックでカウンタを動かしておき、減速移行のタイミング(例えば減速移行と指示されたタイミング)で、カウンタのカウンタ値を参照する等により位相差を計測する。
読取理想位置算出手段54は、加速又は減速中におけるモータの駆動(モータ駆動パルスのパルス間隔の変化量)に対して、モータ等速時における読取周期信号の読取周期あたりのモータ送り量が一定の割合となる、理想的な読取位置を算出する。読取理想位置算出手段54は、例えば、読取周期計測手段52によって計測された読取周期信号の読取周期と、位相差計測手段53によって計測された位相差と、モータ駆動パルスのクロックカウント数テーブル設定値とを用いて、読取理想位置を算出する。
例えば、読取理想位置算出手段54は、減速移行後における1回目の読取理想位置を、モータ等速時における読取周期信号の1周期(読取周期)あたりのクロックカウンタ数と、モータ減速移行時において計測されたモータ駆動パルスと読取周期信号との位相差、モータ駆動パルスのクロックカウント数テーブル設定値を用いて算出する。
また、読取理想位置算出手段54は、減速移行後における2回目以降の読取理想位置を、モータ等速時における読取周期信号の1周期(読取周期)あたりのモータ送り量と、減速移行後のモータ駆動パルスのパルス間隔設定値を用いて算出する。
また、読取理想位置算出手段54は、加速移行後における1回目の読取理想位置を、モータ停止時に保持したパルス数と、モータ等速時における読取周期信号の1周期あたりのモータ送り量と、加速移行後のモータ駆動パルスのクロックカウント数テーブル設定値を用いて算出する。
また、読取理想位置算出手段54は、加速移行後における2回目以降の読取理想位置を、モータ等速時における読取周期信号の1周期あたりのモータ送り量と、加速移行後のモータ駆動パルスのクロックカウント数テーブル設定値とを用いて算出する。
選択手段55は、読取理想位置算出手段54によって算出された読取理想位置に最も近い読取周期信号を算出し、選択する。また、選択手段55は、選択された読取周期信号以外の読取周期信号をマスクするマスク信号を生成して、読取制御部80に対して出力する。
RAM60は、モータ72をスルーアップ/スルーダウンさせるパターンをモータ駆動パルスのクロックカウント数テーブル設定値として記憶しておくためのメモリである。
モータドライブ70は、モータ制御部50からのデジタル信号によって、モータ72を駆動するための信号を生成し、モータ72に対して出力する。
読取制御部80は、受光素子81(図1の受光素子27)を駆動させるための駆動信号を生成すると共に、アナログフロントエンドであるAFE82の駆動制御及び画像データの受け渡しを行う。
具体的には、読取制御部80は、受光素子81に対して駆動信号を出力し、受光素子81にて電気信号化された画像データをAFE82へ出力させる。AFE82は、受光素子81から出力された画像データに対して所定の振幅にゲイン調整を行なった後、A/D変換を行い、読取制御部80に対して画像データを出力する。
また、読取制御部80は、受光素子81を駆動させるための駆動信号を生成すると共に、一定間隔により出力され原稿の画像を読み取る1ラインの基準となる読取周期信号(LSYNC)を生成し、モータ制御部50の読取周期計測手段52と位相差計測手段53に対して出力する。
また、読取制御部80は、モータ制御部50の選択手段55によって生成されたマスク信号を受け、画像処理部85に対して、マスクされた読取周期信号、又はマスク信号と共に読取周期信号を出力する。
画像処理部85は、画像データに対してシェーディング補正、ガンマ補正等の画像処理を行う。なお、画像処理部85は、読取制御部80からマスク信号と共に読取周期信号を受信した場合には、マスク信号と読取周期信号とから、マスクされていない読取周期信号を基準に読み取られた画像データを有効なデータとして採用し、画像メモリ90に転送する。
画像メモリ90は、採取した原稿の画像データを蓄積しておくメモリである。
PC I/F部92は、採取した原稿の画像データをパソコンや、外部メモリ等の外部のI/F部に転送するためのI/F部である。
書込制御部94は、採取した原稿の画像データをプリントアウトするための制御部である。
<フィードバック駆動における間欠動作>
ここで、原稿を固定したまま光学装置20を移動することにより画像を読み取るフィードバック(FB)駆動の間欠動作について説明する。図3は、FB駆動の間欠動作におけるモータの線速を示す図である。
図3に示すように、フィードバック駆動の間欠動作は、スイッチバック方式により行われる。スイッチバック方式では、モータの線速が加速して一定の速度になると、光学装置20において1回目の読み取りを開始し、所定量の読取が行われるとモータが減速して、光学装置20が逆方向に一旦戻って間欠停止し、その後、モータの線速が再度加速し、一定速度になると、光学装置20が2回目の読み取りを開始する。
スイッチバック方式では、光学装置20が一定速度で移動するときに読み取りを行うため、モータをスルーダウンさせて間欠停止する前に光学装置20が読み取っていた領域と、間欠停止後にモータを加速させて光学装置20が読み取りを開始させた位置からの画像をつなぐことで、一定速で原稿1ページを読取った場合と同様の画像を得ることができる。
<シートスルーにおける間欠動作>
次に、シートスルーにおける間欠動作について説明する。図4は、シートスルー間欠動作におけるモータの線速を示す図である。
シートスルー読取では、光学装置20を固定したまま、原稿を動かすことで読み取りを行うため、シートスルー読取の間欠動作をスイッチバック方式により行う場合には、原稿を一旦戻して間欠動作させることになる。しかしながら、原稿を一旦戻して停止させた状態から再度動かすことは、ローラの加圧、原稿の厚み等によって、紙のすべりや曲がりが発生する恐れがあり、この方式を用いることができない。
したがって、図4に示すように、シートスルーにおける間欠動作では、モータの線速が加速して一定速度となり、光学装置20において原稿の読み取りを開始した後、所定量の読取が行われるとモータは減速し、その後加速して再度一定速度となる、モータのスルーアップ/スルーダウンが繰り返される中で、原稿の画像を読取る必要がある。
次に、図4に示したモータの加減速部分において、読取周期信号によって読み取られる原稿の位置について説明する。図5は、モータの減速及び加速における読取周期信号の位置を説明する図である。
図5に示すように、モータの速度が一定の場合には、読取周期信号は、原稿に対して一定の周期で出力されているため、光学装置20は、一定速度で動く原稿に対して一定の距離間隔で読み取りを行っていることが分かる。一方、モータ速度が減速し、加速している加減速部分の図5のAで示す部分を見ると、モータの速度が遅くなるのに対して、読取周期信号は一定の周期で出力されているため、読取周期信号の1周期あたりの原稿の移動距離が短くなっている。
したがって、読取周期信号によって読み取られた部分をそのまま読み出すと加減速中の読取箇所は、画像が伸びてしまうことになる。そのため、加減速部分の画像を間引く必要があるが、読取周期信号とモータ駆動が同期していない場合には、モータ駆動に対する適切な読取位置を選択して、間引きをすることができないため、画像の読取品質の劣化を招く。
次に、モータの速度を等加速度となるように、設定した場合について説明する。図6は、モータの速度が等加速度となるように設定した加速又は減速で用いるテーブル設定値を示す図である。なお、図6(A)は等加速度に設定したモータパルス数のテーブル設定値を示し、図6(B)は図6(A)の実速度のグラフを示している。また、図6(A)は、項目として「モータパルス数」、「実積算時間(ms)」、「移動距離(mm)」、「実速度(mm/s)」、「RAM設定データ(H)」等からなる。また、図6(B)の縦軸は、線速(mm/s)を示し、横軸は、時間(m/s)を示している。
図6に示すように、モータの速度は、例えば図6(A)に示すモータの速度を等加速度になるように設定したテーブルをRAM等に設定することで、図6(B)に示すモータの等加速度を達成することができる。しかしながら、この場合は、モータ駆動を読取周期信号に同期させていないため、等加速度で駆動するモータと、読取周期信号とを同期させるためには、図6(A)に示すモータパルス数の整数倍に合わせて読取周期信号を出力しなければならない。したがって、モータを等加速度とする加速又は減速テーブルを用いることもできない。
<本実施形態における読取位置の選択:減速時>
次に、本実施形態におけるモータ駆動パルスと読取周期信号が非同期の場合の間欠読取動作における読取位置の選択方法について説明する。図7は、減速及び加速移行におけるタイミングチャートの一例を示す図である。
図7に示すように、モータ駆動パルスは、等速から、間欠移行指示により点線bに示す減速移行時点において減速に移行し、その後停止した後、加速して再度等速となるモータ送りタイミングを示している。
また、図7に示すここで、クロック(CLK)カウント数テーブル設定値は、モータ駆動パルスの1パルスあたりのクロックカウント数を設定しており、予めRAM60に格納されている。また、クロックカウント数テーブル設定値は、モータ制御部50のモータパルス生成部51がモータ駆動パルスを生成するときに参照されるテーブル設定値である。
また、クロックカウント数テーブル設定値には、例えばモータ駆動パルスがモータを等速に駆動する場合の例として、モータ駆動パルスの1パルスあたりのクロックカウント数「100」が設定されている。なお、等速に駆動する場合の例として、クロックカウント数がテーブルに設定された例を示したが、テーブルに設定せず固定値として設定しても良い。
また、減速に移行する場合の例として、クロックカウント数テーブル設定値には、モータ駆動パルスの1パルスあたりのクロックカウント数として「150」、「200」、「300」、「400」、「停止」が設定され、加速していく場合の例として、クロックカウント数「400」、「300」、「200」、「150」が設定されている。
また、図7に示すように読取周期信号(LSYNC)は、読取制御部80から一定の周期で出力されている。読取周期信号は、例えばモータ制御部50の読取周期計測手段52によって、モータが等速で駆動している時の読取周期信号の1周期(読取周期)あたりのクロックカウント数が計測される。図7に示す例では、読取周期信号の1周期は、クロックカウント数は「150clk」である。
上述したように、モータ駆動パルスの等速時における1パルスあたりのクロックカウント数は「100clk」であるため、モータ等速時における読取周期信号の1周期(読取周期)あたりのモータ送り量は1.5パルスである。
読取理想位置(理想LSYNC位置)は、加減速を行うモータ駆動に対して、モータ等速時における読取周期信号の読取周期あたりのモータ送り量が一定の割合となる、理想的な読取位置を示すものであり、読取理想位置算出手段54によって、理想的な読取位置が算出される。
読取理想位置算出手段54は、減速移行後1回目の読取理想位置を、減速移行時点でのモータ駆動パルスと読取周期信号との位相差と、モータ駆動パルスのクロックカウント数設定値と、モータ等速時における読取周期信号の1周期あたりのクロックカウント数を用いて算出する。
なお、読取理想位置算出手段54は、モータ等速時における読取周期信号の1周期あたりのクロックカウント数の代わりに、上述した1周期あたりのモータ送り量を用いて、減速移行後1回目の読取理想位置を算出することもできる。
ここで、図7を用いて、読取理想位置算出手段54によって算出される減速移行時の読取理想位置の算出方法について説明する。
<減速移行後1回目の読取理想位置の算出方法>
まず、減速移行後1回目の読取理想位置の算出方法について説明する。
CPU40からの停止指示等により、モータ制御部50が減速移行する時点(図7の点線bに示す「減速移行」と指示されたタイミング)で、位相差計測手段53により計測されたモータ駆動パルスと読取周期信号との位相差は「100clk」である。
読取理想位置算出手段54は、減速移行時点でのモータ駆動パルスと読取周期信号との位相差「100clk」を、読取周期信号の1周期あたりのモータ送り量として算出する。図7の例では、モータ駆動パルスの1パルスあたりのクロックカウント数は「100clk」であるため、ここでは「1パルス」として算出することができる。
モータ等速時における読取周期信号の1周期あたりのモータ送り量は「1.5パルス」であるため、モータ送り量「1.5パルス」から位相差分の「1パルス」を引くと、残りのモータ送り量は「1.5パルス−1パルス=0.5パルス」として算出される。減速移行後におけるこのモータ送り量から算出される位置を、減速移行後の1回目の読取理想位置とする。
具体的には、図7に示すように、減速移行後のモータ駆動パルスの1パルスあたりのクロックカウント数は、クロックカウント数テーブル設定値より「150clk」である。
したがって、読取理想位置算出手段54は、「0.5パルス」分のモータ送り量の位置を「150clk×0.5パルス=75clk」として算出し、減速移行後の1回目の読取理想位置を、図7の(1)で示すように、減速移行後「75clk」クロックカウントされる位置とする。
上述したように、読取理想位置算出手段54は、モータ等速時における読取周期信号の1周期あたりのモータ送り量から、減速移行時における位相差分を差し引き、残ったモータ送り量分を、減速移行後のモータ駆動パルスのクロックカウント数に換算して減速移行後における第1回目の読取理想位置を算出する。
<減速移行後2回目以降の読取理想位置の算出方法>
次に、減速移行後2回目以降の読取理想位置の算出方法について説明する。読取理想位置算出手段54は、モータ等速における読取周期信号の1周期あたりのモータ送り量と、減速移行後のモータ駆動パルスのクロックカウント数設定値から、減速移行後2回目以降の読取理想位置を算出する。
具体的には、図7に示すように、読取理想位置算出手段54は、減速移行後2回目の読取理想位置を、1回目の読取理想位置から、モータ等速における読取周期信号の1周期あたりのモータ送り量分クロックカウントされた位置として算出する。
具体的には、1回目の読取理想位置は、減速移行後「75clk」カウントされる図7の(1)に示す位置である。減速移行後のモータ駆動パルスの1パルスあたりのクロックカウント数は、上述したように「150clk」であるため、「150clk」から「75clk」を差し引くと、「150clk−75clk=75clk」と算出される。
差し引かれた「75clk」は、1パルス「150clk」のうち半分の値であり、「75/150=0.5パルス」として算出される。モータ等速における読取周期信号の1周期あたりのモータ送り量は「1.5パルス」であるため、「0.5パルス」を差し引くと、残りのモータ送り量は「1.5−0.5=1.0パルス」として算出される。
モータ駆動パルスのテーブル設定値は、図7に示すように、「150clk」の次のクロックカウント数が「200clk」である。この値は、モータ駆動パルスの1パルスあたりのクロック数を示しているため、「1.0パルス」分のクロックカウント数は、「1.0×200=200clk」として算出される。
したがって、読取理想位置算出手段54は、2回目の読取理想位置を「150×0.5パルス+200clk×1パルス=275clk」として算出する。図7では、図7の(2)に示す、図7の(1)の1回目の読取理想位置から「275clk」クロックカウントされる位置である。
同様に、読取理想位置算出手段54は、減速移行後3回目の読取理想位置を、次のテーブル設定値である「300clk」と「400clk」と、モータ送り量「1.5パルス」とを用いて、「300×1パルス+400CLK×0.5パルス=500clk」として算出する。図7では、図7の(3)に示す、図7の(2)の2回目の読取理想位置から「500clk」クロックカウントされる位置である。
これ以降、モータが停止するまで同様の処理を行うことにより、読取理想位置を算出することができる。
このように、読取理想位置算出手段54は、読取理想位置を、モータ駆動パルスのもとになるクロックカウント数テーブル設定値と、モータの等速時における読取周期信号の1周期あたりのモータ送り量から算出する。
<減速移行後における読取周期信号の選択方法>
次に、減速移行後における読取周期信号の選択方法について説明する。上述したように、減速移行後の1回目の読取理想位置は、図7の(1)に示す減速移行時点から「75clk」カウントされる位置となる。
しかしながら、図7に示すように、減速移行時点から「75clk」のタイミングで、読取周期信号は出力されていない。したがって、読取理想位置である減速移行時点から「75clk」のタイミングに最も近い読取周期信号を選択することにより、適切な読取位置を選択する。
ここで、選択手段55は、減速移行時点から「75clk」カウントされる位置に最も近い読取周期信号を次のように算出して選択する。
図7に示すように、減速移行後の1個目の読取周期信号が出力されるタイミングは、まず減速移行時点のモータ駆動パルスとの位相差が「100clk」であり、読取周期信号の1周期あたりのクロックカウント数が「150clk」であるため、「150?100=50clk」として算出される。すなわち、減速移行後の1個目の読取周期信号が出力されるタイミングは、図7のAに示す減速移行後「50clk」クロックカウントされる位置である。
上述したように、減速移行後1回目の読取理想位置は、図7の(1)に示す減速移行後「75clk」カウントされる位置であるため、減速移行後1個目の読取周期信号と、減速移行後の読取理想位置との差は、「75clk−50clk=25clk」として算出される。
図7に示す例では、モータ等速における読取周期信号の1周期(読取周期)あたりのクロックカウント数が「150clk」である。したがって、読取理想位置と読取周期信号との位相差が、「150clk/2=75clk未満」であれば、読取理想位置よりも先に出力される読取周期信号を、「75clk」以上であれば読取理想位置の後に出力される読取周期信号を読取理想位置に最も近い読取周期信号とみなして選択する。
したがって、図7のAに示す減速移行後1個目の読取周期信号を、減速移行後の読取理想位置に最も近い読取周期信号(1回目の読取位置)として選択する。
上述した内容を計算式で求めると、「読取理想位置(75clk)−(読取周期150clk−位相差100clk)=150×0+25clk」として表すことができる。
同様に、2回目以降の読取位置の選択方法について説明する。上述したように、2回目の読取理想位置は、図7の(1)に示す1回目の読取理想位置から、「275clk」カウントされる図7の(2)に示す位置である。
まず、1回目の読取位置と図7Aに示す読取周期信号との位相差は「25clk」であり、読取周期からこの位相差を引くと、「150clk−25clk=125clk」と算出される。したがって、図7のBに示す2個目の読取周期信号と、図7の(1)に示す読取理想位置との差は、「125clk」である。
したがって、図7の(2)に示す2回目の読取理想位置と、図7のBに示す2個目の読取周期信号との差は「275clk−(150clk−25clk)=150clk」として算出される。これにより、図7の(2)に示す読取理想位置は、図7のCに示す3個目の読取周期信号と、同期していることが分かる。
選択手段55は、2個目に選択する読取周期信号を「275clk−(150clk−25clk)=150×1+0」として算出し、図7のCに示す2回目の読取理想位置と同期している読取周期信号を、2回目の読取位置として選択する。
同様に、3回目の読取位置は、上述の式に当てはめると「500clk−(150clk−0clk)=150×2+50clk」として算出される。したがって、「50clk<75clk」であるため、選択手段55は、図7のCに示す2回目の読取位置として選択した読取周期信号から、図7のDに示す3個目の読取周期信号を3回目の読取位置として選択する。また、上述の手法を用いて4回目以降も同様に処理を行う。
<本実施形態における読取位置の選択:加速時>
次に、間欠停止後の読取再開における加速時について説明する。CPU40等の再開動作指令によりモータ制御部50は、モータ72の動作を開始する。なお、再開にあたり、図7の線cに示すように、モータ駆動パルスの駆動を図7のHに示す読取周期信号と同期させて開始する。これにより、読取理想位置の算出が容易となる。
<加速後1回目の読取理想位置の算出方法>
次に、読取理想位置算出手段54によって算出される、加速時における読取理想位置の算出方法について説明する。
まず、読取理想位置算出手段54は、モータ停止時において保持していたモータ駆動パルス数を読み出す。ここで、保持していたモータ駆動パルス数とは、例えば位相差計測手段53によって、図7の(3)に示す読取理想位置からモータ停止時までカウントされていたクロックカウント数を用いて、読取理想位置算出手段54によって算出されモータ制御部50内で保持されていたモータ駆動パルス数である。
例えば、読取理想位置算出手段54は、図7に示す位相差計測手段53によってモータ停止時までカウントされていた「200clk」を用いて、モータ駆動パルス数を算出する。具体的には、読取理想位置算出手段54は、モータが停止する前のモータ駆動パルスのクロックカウントテーブル設定値「400clk」を参照して、モータ駆動パルス数を「200clk=400×1/2=0.5パルス」として算出し、保持しておく。
読取理想位置算出手段54は、モータの再開にあたり、保持していたパルスを用いて、図7の(4)に示す加速後1回目の読取理想位置を算出する。
上述したように、モータ等速時における読取周期信号の1周期あたりのモータ送り量は「1.5パルス」である。したがって、モータ送り量「1.5」から保持していたパルス分「0.5パルス」を差し引くと、残りのモータ送り量は「1.5パルス−0.5パルス=1パルス」となる。
読取理想位置算出手段54は、加速後のモータ駆動パルスのクロックカウント数テーブル設定値を参照し、図7に示す加速後のモータ駆動パルスのクロックカウント数「400」から、加速後一回目の読取理想位置を「400×1.0=400clk」として算出する。したがって、図7の(4)に示す位置が、加速後一回目の読取理想位置である。
<加速後2回目以降の読取理想位置の算出方法>
次に、加速後2回目以降の読取理想位置の算出方法について説明する。読取理想位置算出手段54は、図7に示すように、加速後1回目の読取理想位置から、モータ等速における読取周期信号の1周期あたりのモータ送り量分クロックカウントされた位置として算出する。
具体的には、読取理想位置算出手段54は、加速後のモータ駆動パルスのクロックカウントテーブル設定値を参照し、読取周期信号の1周期あたりのモータ送り量「1.5パルス」クロックカウント数される位置を「400clk×1.0パルス+300clk×0.5パルス」として算出する。したがって、図7の(5)に示す位置が、加速後2回目の読取理想位置である。これ以降、モータが等速に移行するまで同様の処理を行うことにより、読取理想位置を算出することができる。
<加速後における読取周期信号の選択方法>
次に、加速後における読取周期信号の選択方法について説明する。加速後における読取周期信号の選択方法は、上述した減速移行後における読取周期信号の選択方法と同様である。まず、図7に示すように、モータの再開を読取周期信号と同期させているため、選択手段55は、加速後の1回目の読取理想位置「400clk」と、読取周期信号の1周期あたりのクロックカウント数が「150clk」を用いて、1個目の読取周期信号を選択する。具体的には、選択手段55は、加速後の1個目の読取周期信号の選択にあたり「400−(150−0)=150×1+100」と計算し、図7のJに示す読取周期信号と、図7の(4)に示す加速後1回目の読取理想位置との位相差を「100clk」として算出する。選択手段55は、同様に、3回目の読取位置は、上述の式に当てはめると「500clk−(150clk−0clk)=150×2+50clk」として算出する。選択手段55は、「100clk>75clk」であるため、図7の(4)に示す1回目の読取理想位置の次の読取周期信号である図7のKに示す読取周期信号を1回目の読取位置として選択する。
同様に、2回目の読取位置は、「400clk−(150clk−100clk)=150×2+50clk」として算出し、「50clk<75clk」であるため、選択手段55は、図7のKに示す1回目の読取位置として選択した読取周期信号から図7のMに示す2個目の読取周期信号を、2回目の読取位置として選択する。
図7に示すように、選択手段55は、選択した読取理想位置に最も近い読取周期信号以外の読取周期信号に対してマスクをかけるマスク信号を生成して、読取制御部80に対して生成したマスク信号を出力することができる。これにより、画像処理部85において有効な読取周期信号の判定を実行することなく、適切な読取位置、すなわち読取理想位置に最も近い読取周期信号を基準に読み取られた画像データを有効な画像データとして画像処理することを可能とする。なお、モータ72が停止し、間欠停止状態では、読取理想位置の算出、読取周期信号の選択の処理を行う必要はない。
上述したように、本実施形態では、モータ制御部50の読取理想位置算出手段54により、減速又は加速中のモータ駆動パルスのパルス間隔の変化量を用いて、モータ等速時における読取周期信号の読取周期あたりのモータ送り量が一定の割合となる読取理想位置を算出する。
具体的には、読取理想位置算出手段54は、読取周期信号(LSYNC)との位相差を位相差計測手段53によって計測し、読取理想位置算出手54によって、計測された位相差と、読取周期信号の読取周期と、減速移行後のモータ駆動パルスのクロックカウント数テーブル設定値とを用いて、読取理想位置を算出する。また、選択手段55によって、算出された読取理想位置に最も近い読取周期信号を選択する。
これにより、読取周期信号(LSYNC)とモータ駆動パルスとが、非同期の構成であっても間欠読取動作において、タイミングのずれを極力小さくして、適切な読取位置の画像データを有効な画像データとして用いることを可能とする。そのため、読取品質が良く、画像が伸びてしまうこともなくなる。また、モータ駆動パルスを、読取周期信号と同期させるために、読取周期信号の読取周期の整数倍に合わせて設定する必要もなくなる。
<間欠読取動作における減速移行停止処理のフローチャート>
次に、上述した間欠読取動作における減速移行停止処理について説明する。図8は、減速移行停止処理の一例を示すフローチャートである。
図8に示すように、読取制御部80は、原稿の読み取りを開始する(S10)。次に、モータ制御部50の読取周期計測手段52は、モータが等速に駆動しているときの読取周期信号の1周期あたり(読取周期)のクロックカウント数を計測する(S11)。
次に、モータ制御部50は、停止指示等の減速移行を実行する間欠停止指示があるか否かを判断する(S12)。
間欠停止指示がある場合(S12において、YES)、モータ制御部50の位相差計測手段53は、モータの減速移行時点でのモータ駆動パルスと読取周期信号との位相差を計測する(S13)。
次に、モータ制御部50の読取周期計測手段52は、S11の処理にて計測した読取周期信号の読取周期を読み出す(S14)。
次に、モータ制御部50の読取理想位置算出手段54は、S13の処理において算出した位相差と、S14の処理にて読み出した読取周期と、モータ駆動パルスのクロックカウント数テーブル設定値から読取理想位置を算出する(S15)。
次に、モータ制御部50の選択手段55は、S15の処理により算出した読取理想位置に最も近い読取周期信号を選択する(S16)。
次に、読取理想位置算出手段54は、モータが停止したか否かを判断する(S17)。
モータが停止した場合(S17において、YES)、読取理想位置算出手段54は、停止時点でのモータ駆動パルスのパルス数を保持し(S18)。処理を終了する。モータが停止していない場合(S17において、NO)、S18の処理に戻る。
なお、S12の処理において、間欠停止指示がない場合(S12において、NO)、モータ制御部50は、読取完了か否かを判断し(S19)、読取完了の場合(S19において、YES)、処理を終了し、読取完了ではない場合(S19において、NO)、S11の処理に戻る。
なお、図8に示す(1)は、後述する読取再開における加速処理において、等速に移行する場合にS11以降の処理を行うことを示している。
<読取再開における加速処理のフローチャート>
次に、読取再開における加速処理について説明する。図9は、読取再開における加速処理の一例を示すフローチャートである。
図9に示すように、モータ制御部50は、CPU40からの動作再開指示があった場合に、読取周期信号に同期させてモータ72の駆動を開始する(S20)。
次に、モータ制御部50の読取理想位置算出手段54は、モータ72の動作が再開すると、保持していたモータ駆動パルスのパルス数を読み出す(S21)。次に、読取周期計測手段52は、モータ駆動の等速時において計測していた読取周期信号の読取周期を読み出す(S22)。
次に、読取理想位置算出手段54は、S21の処理により読み出したモータ駆動パルス数と、S22の処理にて読み出した読取周期と、モータ駆動パルスのクロックカウント数テーブル設定値から加速後1回目の読取理想位置を算出する(S23)。なお、加速後2回目以降の読取理想位置を算出する場合には、S22の処理にて読み出した読取周期と、S24にて算出した位相差と、モータ駆動パルスのクロックカウント数テーブル設定値から読取理想位置を算出する。
次に、モータ制御部50の選択手段55は、加速度1回目の読取理想位置と、読取周期信号との位相差を算出する(S24)。次に、S24の処理にて算出した位相差を用いて、読取理想位置に最も近い読取周期信号を選択する(S25)。
次に、読取理想位置算出手段54は、モータが等速に移行したか否かを判断する(S26)。ここで、モータが等速に移行していない場合(S26において、NO)、S23の処理に戻る。また、モータが等速に移行した場合(S26において、YES)、選択手段55は、減速に移行するまで、読取周期信号を全て選択し、上述した図8に示すS11以降の処理を行う。
なお、本実施形態は、シートスルー方式に限定されず、フィードバック(FB)方式に対しても、適用することもできる。また、モータが停止している間は加減速中の動作とは異なるが、マスク信号によって停止期間はマスクされるので個別に回路を設ける必要はない。
上述のように、本発明によれば、主走査方向の駆動制御信号と、副走査方向の駆動制御信号とが非同期なシートスルー読取の間欠読取動作においてタイミングのずれを小さくして読取品質を向上させることを可能とする。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。