次に、本発明の実施の形態を図面を用いて説明する。図1は、本発明の一実施形態であるマルチファンクションプリンター20の構成の概略を示す構成図である。図2は、スキャナーユニット40の構成の概略を示す構成図である。図3は、筐体カバー22及びフラットベッド部31の斜視図である。図4は、フラットベッド部31の斜視図である。
本実施形態のマルチファンクションプリンター20は、図1に示すように、筐体21と、筐体21の上面を開閉可能な筐体カバー22とにより構成されており、原稿S(図2参照)を光学的に読み取ってイメージデータを生成するスキャナーユニット40と、図示しないカセット内にセットされている用紙を給紙し印刷して排紙トレイ24に排紙するプリンターユニット42と、使用者による各種操作が可能な操作パネル46と、装置全体の制御を司るメインコントローラー80と、を備える。筐体21の上面には、ガラス台32が配設され、そのガラス台32の一部の領域がフラットベッド(FB)読取領域35として用いられる。このFB読取領域35に載置された原稿を筐体カバー22に設けられた原稿押さえ22cにより固定して、スキャナーユニット40で光学的に読み取ることができるようになっている(以下、この動作モードをFB読取モードという)。また、筐体カバー22には、原稿Sを1枚ずつ連続的に自動搬送するオートドキュメントフィーダーユニット61(以下、ADFユニット61)が内蔵されており(図2参照)、ガラス台32のFB読取領域35と異なる領域がADFユニット61で自動搬送される原稿Sを読み取るためのADF読取領域34として用いられる。そして、筐体カバー22が閉じられている状態で、ADFユニット61により自動搬送される原稿Sが筐体カバー22の下面に形成されて透明なフィルムで覆われた開口部22aを通過すると、ADF読取領域34上を通過してスキャナーユニット40で光学的に読み取ることができるようになっている(以下、この動作モードをADF読取動作モードという)。また、開口部22aは、ADF読取領域34よりも原稿Sの搬送方向(図2の左右方向)に大きな開口幅をもって開口している。なお、FB読取領域35の副走査方向(搬送方向と同じ方向)の右端部には、いわゆるシェーディング補正を行なうための白基準板36が設けられている(図2参照)。また、図1におけるFB読取領域35の副走査方向の右端部の最も手前側が、FB読取動作モード時の原稿の読み取りの原点であるFB読取原点35aとなっている。
スキャナーユニット40は、スキャナーASIC50と、スキャナーエンジン60とを備える。スキャナーASIC50は、スキャナーエンジン60を制御する集積回路であり、メインコントローラー80からのスキャン指令を受けると、FB読取モードかADF読取モードかのいずれかのモードで原稿をイメージデータとして読み取るようスキャナーエンジン60を制御する。
スキャナーエンジン60は、図2に示すように、ADF給紙トレイ27に載置されADF挿入口26にセットされた原稿SをADF読取領域34に自動搬送するADFユニット61と、ガラス台32あるいはADF読取領域34に光を照射する光源ユニット71と、原稿Sからの反射光を受光して電荷として蓄えることにより原稿Sを読み取るコンタクトイメージセンサー(CIS)74と、光源ユニット71とCIS74とを搭載したCISモジュール76と、を備えている。スキャナーエンジン60は、CISモジュール76の筐体の下側に固定されCISモジュール76と共に移動するステッピングモーターとして構成されたキャリッジモーター78と、キャリッジモーター78により回転駆動されるモーターギア78a,78b,78cと、副走査方向に配設されたガイドギア79と、を備えている。スキャナーエンジン60は、キャリッジモーター78により駆動される本体側ギア機構90と、カバー側ギア機構95と、を備えている。モーターギア78aはモーターギア78bと噛み合い、モーターギア78bはモーターギア78cと噛み合い、モーターギア78cとガイドギア79とが噛み合っている。モーターギア78cは、モーターギア78bと噛み合う大径歯車と、ガイドギア79や後述するギア91aと噛み合う図示しない小径歯車と、が同軸に接続されたものである。また、CISモジュール76の移動方向が副走査方向となるよう、ガイドギア79によりCISモジュール76の移動が規制されている。即ち、CISモジュール76は、キャリッジモーター78の駆動に伴いガイドギア79に沿って副走査方向に往復動するよう構成されている。
光源ユニット71は、図1に示すように、赤色光を点灯する赤LED72Rと、緑色光を点灯する緑LED72Gと、青色光を点灯する青LED72Bの3色の光源を有しており、光源からの光を導光体73を介してガラス台32或いはADF読取領域34に照射する。CIS74は、一ライン分の複数の受光素子(CMOSイメージセンサー)75が副走査方向と直交する主走査方向に配列されたものとして構成されており、各色のLED72R,72G,72Bの点灯を順次切り替えながら反射光を一色ずつ読み取ることによりカラーイメージデータを生成する。
ADFユニット61は、ADF挿入口26付近に配置されたピックアップローラー63と、ピックアップローラー63に隣接して配置されたフィードローラー64と、搬送経路62に配置された複数の搬送ローラー65と、ADF排紙トレイ28付近に配置された排紙ローラー66とを備えている。ADFユニット61は、これらの各ローラーにより、ADF給紙トレイ27に載置された原稿Sを搬送方向に搬送する。
搬送経路62(開口部22a内)には、マーク22bがCIS74による読み取りが可能となるようにCIS74側(筐体カバー22の下面側)に向けて配置されている。このマーク22bは、図1の拡大図に示すように、白色の領域上に黒色に塗られた矩形状の領域が並んで、主走査方向に反射率の異なる白黒のパターンとして形成されている。また、マーク22bは、筐体カバー22が閉じられている状態でマーク22bと対向するガラス台32の領域をCIS74で読み取ることにより、マーク22bの白黒のパターンによるCIS74の出力の切り替わりに基づいてマーク22bを検出することができる。
本体側ギア機構90は、フラットベッド部31の内部に配置され、モーターギア78aからの駆動力をカバー側ギア機構95に伝達する機構である。図5は、図4のA−A断面図であり、図6は、図5の拡大部分の上面図である。図5,6に示すように、本体側ギア機構90は、モーターギア78cと噛み合うギア91aと、ギア91aに噛み合うギア91bと、ギア91bに噛み合うギア91cと、ギア91cに噛み合うギア91dと、を備えている。また、本体側ギア機構90は、ギア91dから少し離れた位置に配置された固定歯91eと、ギア91cに噛み合う本体側連結用ギア92と、を備えている。ギア91aは、ガイドギア79の副走査方向左端(ガラス台32におけるADF読取領域34側の端部)に位置している。すなわち、ギア91aは、FB読取原点35aとは副走査方向でみて反対側に位置し、ギア91aとFB読取原点35aとは離れている。本体側連結用ギア92は、ギア91cと噛み合う外歯車92aと、本体側ギア機構90と噛み合って本体側ギア機構90に駆動力を伝える内歯車92bと、が同軸に接続されたものである。なお、図4に示すように、本体側連結用ギア92の内歯車92bは、フラットベッド部31のフレーム33の上面に開けられた孔33aから露出している。筐体カバー22が閉じられると、この内歯車92bがカバー側ギア機構95と噛み合って、駆動力をカバー側ギア機構95に伝達可能になる。
カバー側ギア機構95は、ADFユニット61の内部に配置され、本体側ギア機構90からの駆動力をピックアップローラー63,フィードローラー64,搬送ローラー65,排紙ローラー66に伝達してこれらを回転させる機構である。図7,8は、ADFユニット61の内部構造を示す説明図である。なお、図7,8は、筐体カバー22のうちADFユニット61の上側カバーを外した状態を示している。図9は、図8のB視図である。図10は、図9の波線枠Cの拡大図である。図7に示すように、カバー側ギア機構95は、第1ギア群96と、第2ギア群99と、を備えている。
第1ギア群96は、図8,10に示すように、本体側連結用ギア92の内歯車92bに噛み合うカバー側連結用ギア97と、カバー側連結用ギア97に噛み合うギア96aと、ギア96aに噛み合うギア96bと、ギア96bに噛み合うギア96cと、を備えている。第1ギア群96は、ギア96cに噛み合うギア96dと、ギア96dに噛み合うギア96eと、を備えている。また、第1ギア群96は、ギア96cに噛み合うギア96fと、ギア96fに噛み合うギア96gと、ギア96gに噛み合うギア96hと、ギア96hに噛み合うギア96iと、ギア96iに噛み合うギア96jと、を備えている(図10参照)。カバー側連結用ギア97は、本体側連結用ギア92の内歯車92bと噛み合う外歯車97aと、ギア96aと噛み合うかさ歯車97bと、が同軸に接続されたものである。外歯車97aは、筐体カバー22の下面に露出しており(図1参照)、筐体カバー22が閉じられると、カバー側連結用ギア97の外歯車97aが本体側連結用ギア92の内歯車92b内に挿入され、両者が噛み合うようになっている。ギア96f〜96jは、図示しない連結軸やギアを介して搬送ローラー65や排紙ローラー66と接続されおり、駆動力を伝達してこれらを回転させるものである。ギア96eは連結軸98と同軸に接続されており(図7参照)、連結軸98を介して第2ギア群99に駆動力を伝達する。
第2ギア群99は、図7に示すように、連結軸98と同軸に接続されたギア99aと、ギア99aに噛み合うギア99bと、ギア99bに噛み合うギア99cと、ギア99cに噛み合うギア99dと、ギア99dに噛み合うギア99eと、を備えている。また、第2ギア群99は、ギア99eと同軸に連結された99fと、ギア99fに噛み合うギア99gと、ギア99gに噛み合うギア99hと、を備えている。ギア99aは、連結軸98を介してギア96eと同軸に接続されており、ギア96eからの駆動力により回転する。また、ギア99aは、フィードローラー64とも同軸に接続されており、フィードローラー64に駆動力を伝達して回転させる。ギア99hは、ピックアップローラー63と同軸に接続されており、ピックアップローラー63に駆動力を伝達して回転させる。
キャリッジモーター78は、ステッピングモーターとして構成され、CISモジュール76をガイドギア79に沿って副走査方向に移動させる。また、キャリッジモーター78は、本体側ギア機構90,カバー側ギア機構95に駆動力を伝達してピックアップローラー63,フィードローラー64,搬送ローラー65,排紙ローラー66を回転させる。
このスキャナーエンジン60は、ADF読取動作モードにおいては、まず、キャリッジモーター78によりCISモジュール76をガイドギア79に沿ってADF読取領域34まで移動させる。そして、キャリッジモーター78が本体側ギア機構90,カバー側ギア機構95を駆動して各ローラーを回転駆動させることにより、ADF挿入口26にセットされた原稿Sを一枚ずつ取り込んで搬送経路62上に自動搬送する。そして、ADF読取領域34上を通過する原稿SをCISモジュール76が読み取る。また、FB読取動作モードにおいては、スキャナーエンジン60は、まず、キャリッジモーター78によりCISモジュール76をガイドギア79に沿って図2における副走査方向右端に移動させる。そして、FB読取原点35aを原点として、FB読取領域35に載置された原稿SをCISモジュール76自身が副走査方向左側に移動しながら1ラインずつ読み取る。このように、キャリッジモーター78は、CISモジュール76を副走査方向に移動させる移動用モーターと、原稿Sを搬送方向に搬送させる搬送用モーターと、を兼ねるよう構成されている。
スキャナーASIC50は、図2に示すように、読取制御部51と、駆動制御部52と、バッファー53と、読取時間間隔テーブル記憶部54と、LED駆動部55と、A/D変換部56と、を備える。読取制御部51は、CISモジュール76による原稿Sの読み取りを制御して画像データを取得するものであり、LED駆動部55に駆動信号を送信したり、A/D変換部56からのデジタルデータ(画像データ)を入力したり、画像データをバッファー53に記憶したりする。この読取制御部51は、キャリッジモーター78が本体側ギア機構90,カバー側ギア機構95,ADFユニット61を駆動して原稿Sを搬送しているとき、CISモジュール76を制御して搬送中の原稿Sを読み取らせて画像データを取得する機能を有する。読取制御部51は、原稿Sの搬送中にキャリッジモーター78が一時停止するとき、画像データの取得に関する読み取りの時間間隔である読取時間間隔が一時停止前と比べて長くなるよう、CISモジュール76を制御して原稿Sを読み取らせて画像データを取得し、その後に画像データの取得を停止する機能を有する。読取制御部51は、原稿Sの搬送中にキャリッジモーター78が一時停止するとき、読取時間間隔が一時停止前と比べて徐々に長くなる傾向になるよう、CISモジュール76を制御して原稿Sを読み取らせて画像データを取得する機能を有する。読取制御部51は、原稿Sの搬送中にキャリッジモーター78が一時停止するとき、一時停止前の原稿Sの搬送速度が速いほど画像データの取得を停止するまでの時間が長くなる傾向にする機能を有する。読取制御部51は、原稿Sの搬送中にキャリッジモーター78が一時停止したあとキャリッジモーター78が本体側ギア機構90等の駆動を再開するとき、CISモジュール76を制御して原稿Sを読み取らせて画像データを取得するにあたり、キャリッジモーター78の動作開始から待ち時間Tbだけ遅れて画像データの取得を再開する機能を有する。駆動制御部52は、キャリッジモーター78に制御信号を送信してこれを制御するものである。駆動制御部52は、読み取りの解像度に応じたモーター駆動速度でキャリッジモーター78を駆動させる機能を有する。バッファー53は、CISモジュール76が読み取った画像データなどを一時的に記憶するものであり、例えばFIFOなどにより構成されている。LED駆動部55は、読取制御部51から入力した駆動信号に応じてLED72R,72G,72Bを個別にオンオフするものである。A/D変換部56は、CIS74で生じたアナログデータを図示しない増幅器を介して入力してデジタルデータに変換するものである。
読取時間間隔テーブル記憶部54は、読取時間間隔テーブル54a,54bを記憶している。図11は、読取時間間隔テーブル54a,54bの説明図である。図示するように、読取時間間隔テーブル記憶部54a,54bは、原稿Sを読み取る際の解像度と、キャリッジモーター78の駆動速度であるモーター駆動速度Vと、搬送中の読取時間間隔Taと、キャリッジモーター78の一次停止時の読取時間間隔Tnと、一時停止後のキャリッジモーター78の動作再開時の待ち時間Tbと、を対応付けたものである。本実施形態では、スキャナーユニット40は、1200dpi,600dpiの2種類の解像度で読み取り可能なものとし、1200dpiには読取時間間隔テーブル54aが対応し、600dpiには読取時間間隔テーブル54bが対応している。本実施形態では、スキャナーユニット40は、搬送中の読取時間間隔Taは解像度に関わらず一定とし、原稿Sの搬送速度すなわちキャリッジモーター78の駆動速度を解像度に応じて変えることで所望の解像度での読み取りを行う。そのため、読取時間間隔テーブル54a,54bには共に読取時間間隔Taとして値Aが対応付けられている。また、モーター駆動速度Vは、読取時間間隔テーブル54aでは値Vaが対応付けられ、読取時間間隔テーブル54bでは解像度が1/2倍であるため2倍の値である値2Vaが対応付けられている。すなわち、モーター駆動速度Vは、解像度に反比例するように設定されている。読取時間間隔Tnは、読取時間間隔テーブル54aにおいては読取時間間隔T1〜T5までの5個の値が対応付けられており、読取時間間隔テーブル54bにおいては読取時間間隔T1〜T10までの10個の値が対応付けられている。この読取時間間隔Tnの値は、読取時間間隔Taに対する比として設定されており、読取時間間隔Taと比べて徐々に長くなる傾向になるように設定されている。具体的には、読取時間間隔テーブル54aでは読取時間間隔T1,T2,T3,T4,T5はそれぞれ値Ta,Ta,Ta,4Ta,8Taとなっている。読取時間間隔テーブル54bでは、読取時間間隔T1〜T5の値は読取時間間隔テーブル54aと同じに設定され、読取時間間隔T6〜T10の値は読取時間間隔T5の値から徐々に長くなる傾向になるように設定されている。待ち時間Tbは、解像度が高いほど、すなわちモーター駆動速度Vが速いほど短い値になるように設定されている。具体的には、読取時間間隔テーブル54aでは待ち時間Tbは値Bに設定され、読取時間間隔テーブル54bではモーター駆動速度Vが2倍であるため待ち時間Tbは1/2の値である値0.5Bに設定されている。すなわち、待ち時間Tbは、モーター駆動速度Vに反比例するように(換言すると解像度に比例するように)設定されている。
プリンターユニット42は、プリンターASIC44とプリンターエンジン45とを備える。プリンターASIC44は、プリンターエンジン45を制御する集積回路であり、メインコントローラー80から印刷指令を受けると、印刷指令の対象となる画像ファイルに基づいて記録紙に画像を印刷するようプリンターエンジン45を制御する。プリンターエンジン45は、印刷ヘッドから用紙へインクを吐出することにより印刷を行なう周知のインクジェット方式のカラープリンター機構として構成されている。なお、プリンターユニット42は、本発明の要旨をなさないから、これ以上の詳細な説明は省略する。
操作パネル46は、中央に配置された表示部47と、この表示部47の左隣に配置された電源ボタン48と、を備える。表示部47は、タッチパネル式の液晶ディスプレイとして構成されており、モードを選択するモードボタンや、ディスプレイ上に表示される案内に従ってタッチすることによりメニューや項目を選択する選択/設定ボタン,コピーや印刷を開始するスタートボタンなどを表示してタッチ操作を受け付ける。ここで、モード選択ボタンにより選択可能なモードとしては、ガラス台32に載置された原稿をスキャンしてコピーするコピーモードやメモリーカードスロット49に装着されたメモリーカードMCに記憶された画像を用いて印刷したり原稿をスキャンしてデータ化してメモリーカードMCに保存するメモリーカードモード,写真フィルムをスキャンして印刷したりデータをメモリーカードMCに保存したりするフィルムモードなどがある。
メインコントローラー80は、CPU82を中心とするマイクロプロセッサーとして構成されており、各種処理プログラムや各種データ、各種テーブルなどを記憶したフラッシュメモリー84と、一時的にスキャンデータや印刷データを記憶するRAM86と、操作パネル46との通信を可能とするインターフェイス(I/F)88と、を備える。メインコントローラー80は、プリンターユニット42やスキャナーユニット40からの各種動作信号や各種検出信号を入力したり、操作パネル46のタッチ操作に応じて発生する操作信号を入力したりする。また、メモリーカードMCから画像ファイルを読み出したり、画像データの印刷を実行するようプリンターユニット42に指令を出力したり、操作パネル46からのスキャン指令に基づいてガラス台32に載置された原稿を画像データとして読み取るようスキャナーユニット40に指令を出力したり、操作パネル46に表示部47の制御指令を出力したりする。
次に、こうして構成された本実施形態のスキャナーユニット40の動作、特に、ADF読取モードでスキャンする際の動作について説明する。図12は、スキャナーASIC50により実行されるADF画像読取処理ルーチンの一例を示すフローチャートである。例えば、使用者がADF挿入口26に原稿Sをセットし操作パネル46に表示された図示しないスタートボタンを押下する操作を行うと、メインコントローラー80はADF読み取り動作モードでのスキャンを実行するようスキャナーユニット40に指令を出力する。ADF画像読取処理ルーチンは、スキャナーASIC50がこの指令を受けたときに実行する。なお、スキャナーASIC50は、読取制御部51,駆動制御部52などの機能を利用してADF画像読取処理ルーチンを実行する。
このルーチンを実行すると、スキャナーASIC50は、まず、CISモジュール76をADF読取領域34と対向する位置まで移動させる(ステップS100)。これは、モーターギア78cが図6における左周りに回転するように、キャリッジモーター78から駆動力を出力させ、CISモジュール76を図2の左方向に移動させることで行う。これにより、CISモジュール76がADF読取領域34と対向すると共に、モーターギア78cがガイドギア79の端部から離れ、モーターギア78cがガイドギア79に代えてギア91aと噛み合った状態になる。
続いて、スキャナーASIC50は、読取解像度を取得する(ステップS110)。これは、例えば、使用者が操作パネル46のタッチ操作により今回の読み取りに用いる読取解像度を入力し、入力された読取解像度をメインコントローラー80を介して取得することで行う。なお、例えばマルチファンクションプリンター20に接続されたPC(パソコン)などの外部機器が送信した読取解像度を取得してもよい。そして、スキャナーASIC50は、読取解像度に応じたモーター駆動速度Vを読取時間間隔テーブル記憶部から読み出し、読み出したモーター駆動速度Vでキャリッジモーター78を駆動する(ステップS120)。例えば読取解像度が1200dpiであるときには、読取時間間隔テーブル54aから読み出したモーター駆動速度Vの値Vaでキャリッジモーター78を駆動する。なお、キャリッジモーター78の回転方向は、ステップS100と同じ方向とする。これにより、キャリッジモーター78からの駆動力がモーターギア78a〜78c,ギア91a〜91c,本体側連結用ギア92にこの順で伝達される。そして、本体側連結用ギア92からカバー側ギア機構95に駆動力が伝達されて、ピックアップローラー63,フィードローラー64,搬送ローラー65,排紙ローラー66が回転を開始する。そのため、ADF挿入口26に挿入された原稿Sが各ローラーにより搬送経路62を搬送されていく。なお、このとき、本体側ギア機構90の固定歯91eはギア91dとは噛み合わないため、ギア91a〜91c,本体側連結用ギア92の回転駆動が固定歯91eに妨げられることはない。
次に、スキャナーASIC50は、原稿Sの先端が検出されたか否かを判定する(ステップS130)。この処理は、例えば以下のように行う。まず、ADF読取領域34の色が原稿Sの搬送開始前と比べて所定の閾値以上に変化したか否か(=ADF読取領域34の色差が所定値以上になったか否か)をCISモジュール76により調べる。そして、変化を検知したときに原稿SがADF読取領域34に到達した、すなわち原稿Sの先端が検出されたと判定する。ステップS130で原稿Sの先端が検出されないときには、検出されるまでステップS130の処理を繰り返す。
ステップS130で原稿Sの先端が検出されると、原稿Sの読取処理を実行する(ステップS140)。具体的には、LED駆動部55により各色のLED72R,72G,72Bの点灯を順次切り替えながら光源ユニット71を発光させると共にCISモジュール76に原稿Sを読み取らせる。そして、A/D変換部56を介して読み取った画像データを取得して、バッファー53に記憶する。
続いて、スキャナーASIC50は、バッファー空き容量不足フラグFが値1であるか否かを調べる(S150)。バッファー空き容量不足フラグFは、バッファー53の空き容量が所定の容量閾値未満になったときに値1にセットされ、所定の閾値以上のときに値0にセットされるものとした。なお、所定の容量閾値は、後述するキャリッジモーター78の一時停止時に原稿Sを読み取って取得した画像データを保存するための容量や、それにマージンを加えた容量として定められているものとした。なお、ステップS100で取得した読取解像度に応じて容量閾値を可変としてもよい。
ステップS150でバッファー空き容量不足フラグFが値0であるときには、原稿Sの後端を検出したか否かを判定する(ステップS160)。この処理は、例えば、ステップS130における原稿Sの先端の検出と同様に、ADF読取領域34の色の変化をCISモジュール76により検出することで行う。原稿Sの後端が検出されないときには、直前の原稿Sの読取処理から読取時間間隔Taが経過したか否かを判定する(ステップS170)。なお、読取時間間隔Taの値は、読取解像度に応じた値を読取時間間隔テーブル記憶部54に記憶されたテーブルから読み出して用いる。そして、読取時間間隔Taが経過していないときは、ステップS160に進み、ステップS160で原稿の後端を検出するか又はステップS170で読取時間間隔Taが経過するまでステップS160,S170の処理を繰り返す。
ステップS170で読取時間間隔Taが経過すると、ステップS140以降の処理を行う。これにより、直前の原稿Sの読取処理から読取時間間隔Ta経過時にステップS140で原稿Sの読取処理を行う。また、ステップS150でバッファー空き容量フラグが値0であり且つステップS160で原稿Sの後端が検出されない間は、読取時間間隔Ta毎に原稿Sの読取処理を繰り返し行う。これにより、原稿Sの搬送中に原稿Sを読取時間間隔Ta毎に読み取っていき、読取解像度で原稿Sを読み取った画像データがバッファー53に順次記憶されていく。なお、ステップS140〜S170を通常時処理とも称する。
そして、ステップS160で原稿Sの後端を検出すると、次の原稿SがADF給紙トレイ27にあるかを検出する(ステップS180)。この処理は、例えばADF挿入口26に設けられた図示しない原稿検出センサーによる原稿Sの検出の有無に基づいて行う。そして、次の原稿Sがあるときには、ステップS130以降の処理を行う。また、次の原稿Sがないときには、本ルーチンを終了する。
ここで、メインコントローラー80は、ADF画像読取処理ルーチンと平行してバッファー53から画像データを順次読み出してRAM86に記憶していく。そして、1つの原稿Sの画像データが全て揃うと、これらをまとめて1つの画像ファイルとして例えばメモリーカードMCに記憶する処理を順次行う。このため、メインコントローラー80がバッファー53から画像データを読み出す速度が、スキャナーASIC50がバッファー53に画像データを記憶する速度以上であれば、バッファー53の空き容量は十分確保されバッファー空き容量フラグが値0のままとなる。このような場合には、原稿Sの後端が検出されるまで通常時処理が繰り返される。しかし、メインコントローラー80が他の処理を平行して行っているなど、何らかの理由でバッファー53からの画像データを読み出す速度よりも画像データを記憶する速度の方が速い場合には、徐々にバッファー53の空き容量が少なくなっていく。そして、バッファー53の空き容量が容量閾値未満となると、バッファー空き容量フラグが値1となる。以下、このような場合について説明する。
ステップS150でバッファー空き容量フラグが値1であるときには、スキャナーASIC50は、キャリッジモーター78への駆動信号を停止してキャリッジモーター78を一時停止させる(ステップS190)。続いて、スキャナーASIC50は、変数nを初期値1として(ステップS200)、読取解像度に対応する読取時間間隔テーブルに読取時間間隔Tnが存在するか否かを調べる(ステップS210)。例えば、変数nが値1であり、読取解像度が1200dpiであるときには、読取時間間隔テーブル54aに読取時間間隔T1が存在するか否かを調べる。そして、読取時間間隔Tnが存在するときには、直前の原稿Sの読取処理から読取時間間隔Tnだけ時間が経過するまで待ち(ステップS220)、読取時間間隔Tnが経過すると原稿Sの読取処理を実行する(ステップS230)。例えば、変数nが値1であり、読取解像度が1200dpiであるときには、読取時間間隔テーブル54aの読取時間間隔T1は読取時間間隔Taと同じ値に設定されているため、直前の原稿Sの読取処理から読取時間間隔Ta経過時に原稿Sの読取処理を実行する。
そして、原稿Sの読取処理を実行すると、変数nを値1インクリメントして(ステップS240)、ステップS210以降の処理を実行する。これにより、ステップS210で読取時間間隔Tnが存在しない状態になるまで、S210〜S240を繰り返し、読取時間間隔テーブルの読取時間間隔Tnが経過する毎に原稿Sの読取処理を行う。例えば、読取解像度が1200dpiであるときには、まず読取時間間隔T1(=Ta)経過時に原稿Sを読み取って画像データを取得し、次に読取時間間隔T2(=Ta)経過時に原稿Sを読み取って画像データを取得し、以降同様に、読取時間間隔T3(=Ta)経過時,読取時間間隔T4(=4Ta)経過時,読取時間間隔T5(=8Ta)経過時にそれぞれ原稿Sを読み取って画像データを取得する。そして、変数nが値6になると、読取時間間隔T6は読取時間間隔テーブル54aに存在しないため、次のステップS210で読取時間間隔Tnが存在しないと判定する。
ステップS210で読取時間間隔Tnが存在しないと判定すると、バッファー空き容量フラグFが値0となるまで待つ(ステップS250)。これにより、バッファー53への画像データの記憶は一時停止されるため、バッファー53の空き容量が不足して画像データを記憶できない状況になるのを回避できる。なお、ステップS210〜S250を一時停止時処理とも称する。そして、メインコントローラー80がバッファー53から画像データを読み出していき、ステップS250でバッファー空き容量フラグFが値0になると、スキャナーASIC50はキャリッジモーター78へ駆動信号を出力開始してキャリッジモーター78の駆動を再開する(ステップS260)。なお、駆動再開時には、ステップS110と同様に読取解像度に応じたモーター駆動速度Vでキャリッジモーター78を駆動する。
キャリッジモーター78の駆動を再開すると、スキャナーASIC50は待ち時間Tb経過まで待つ再開時処理を行い(ステップS270)、待ち時間Tbが経過するとステップS140以降の処理すなわち通常時処理を実行する。すなわち、待ち時間Tb経過時にステップS140で原稿Sの読取処理を行い、ステップS150でバッファー空き容量不足フラグFが値0である間は、ステップS160で原稿Sの後端が検出されるまで読取時間間隔Ta毎に原稿Sの読取処理を行う。また、原稿Sの後端が検出されると次の原稿Sについて同様に読取時間間隔Ta毎に原稿Sの読取処理を行い、次の原稿がないときには本ルーチンを終了する。
このように、本実施形態のADF読取処理ルーチンでは、キャリッジモーター78を駆動して原稿Sを搬送しているときには、読取時間間隔テーブル記憶部54に記憶された読取時間間隔Ta毎に原稿Sの読取処理を行う通常時処理を行う。一方、キャリッジモーター78を一時停止するときには、読取時間間隔テーブル記憶部54に記憶された読取時間間隔Tn毎に原稿Sの読取処理を行い、その後に読取処理を停止する一時停止時処理を行う。図13は、通常時処理及び一時停止時処理を行う様子を示す説明図である。スキャナーユニット40は、図示するように、1回の読取処理として、原稿SにおけるR,G,Bの各色の読み取りを1回ずつ行って画像データを取得する処理を行う。例えば図13におけるNo.a〜cが1回の読取処理である。そして、通常時処理においては、読取時間間隔Ta毎に原稿Sの読取処理が行われる。したがって、例えばNo.aのR色の読み取りから読取時間間隔Ta経過時に、次のNo.dのR色の読み取りを行う。このようにしてNo.a〜c、No.d〜f,No.g〜iの3回の読み取り処理を行った後に、バッファー空き容量不足フラグFが値1になり、時刻t1においてステップS190でキャリッジモーター78への駆動信号を停止してキャリッジモーター78を一時停止させたとする。すると、スキャナーASIC50は、時刻t1以降は一時停止時処理を行う。そのため、例えば読取解像度が1200dpiであるときには、上述したようにまず読取時間間隔テーブル54aを調べ、直前の読取処理から読取時間間隔T1(=Ta)経過時に原稿Sを読み取って画像データを取得する。例えばR色については、直前の読取処理(No.g)のR色の読み取りから読取時間間隔T1経過時に次のR色の読み取り(No.0)を行う。G,B色についても同様に、直前の読取処理(No.h)のG色の読み取りから読取時間間隔T1経過時に次のG色の読み取り(No.1)を行い、直前の読取処理(No.i)のB色の読み取りから読取時間間隔T1経過時に次のB色の読み取り(No.2)を行う。以降同様に、読取時間間隔テーブル54aの読取時間間隔Tnに従って読取処理を順次行っていく。読取時間間隔テーブル54aでは、読取時間間隔T1〜T3は値Taに設定されているため、時刻t1以降の3回の読取処理(No.0〜8)は、通常時処理と同じ読取時間間隔Ta毎に行われる。続いて、読取時間間隔T4は値4Taに設定されているため、3回目の読取処理(No.6〜8)から読取時間間隔T4(=4Ta)経過時に4回目の読取処理(No.18〜20)が行われる。すなわち、通常時処理と同じ読取時間間隔Ta毎に読取処理を行う場合と比べて、No.9〜11,12〜14,15〜17の3回分の読取処理を行わないことになる。なお、図13において、「読み取り」の欄に「○」がないものは読取処理を行わないことを意味する。そして、読取時間間隔T5は値8Taに設定されているため、4回目の読取処理(No.18〜20)から読取時間間隔T5(=8Ta)経過時に5回目の読取処理(No.42〜44)が行われる。すなわち、通常時処理と同じ読取時間間隔Ta毎に読取処理を行う場合と比べて、No.21〜23,24〜26,27〜29,30〜32,33〜35,36〜38,39〜41の7回分の読取処理を行わないことになる。そして、読取時間間隔T6は読取時間間隔テーブル54aに存在しないため、5回目の読取処理が完了した時刻t2以降は、一時停止時処理における読取処理は行わない。このように、一時停止時処理では、通常時処理と比べて読取時間間隔が長くなり、しかも徐々に長くなるようにして読取処理を行い、その後読取処理を停止するのである。
ここで、読取時間間隔Tnを、読取時間間隔が一時停止前と比べて長くなり、しかも徐々に長くなる傾向に設定する理由について以下説明する。搬送ローラー65等の各ローラーは本体側ギア機構90,カバー側ギア機構95,モーターギア78a〜78cを介してキャリッジモーター78からの駆動力を受けているため、キャリッジモーター78が一時停止しても各ローラは直ちには停止せず回転し続け、減速して停止する。そのため、キャリッジモーター78の一時停止後(図13の時刻t1以降)も、原稿Sは減速しながら搬送され、その後停止する。本実施形態のマルチファンクションプリンター20の一時停止時処理では、このようなキャリッジモーター78の一時停止時の原稿Sの挙動に合わせて、読取時間間隔を徐々に長くなる傾向にしながら原稿Sの読取処理を行うのである。そのため、原稿Sの搬送停止時に精度良く原稿Sを読み取った画像データを取得できる。なお、読取時間間隔テーブル54a,54bの読取時間間隔Tnの値は、原稿Sの搬送停止時に原稿Sが減速しながら停止するときでも、キャリッジモーター78による原稿Sの搬送中と同じ解像度で原稿Sの読取処理を行うことができるよう設定されている。換言すると、読取時間間隔Tnの値は、CISモジュール76による読み取りを行うライン間の搬送距離が、キャリッジモーター78による原稿Sの搬送中(通常時処理中)と一時停止時(一時停止時処理中)とで同じになるように設定されている。このような読取時間間隔Tnの値は、例えば実験により定めることができる。
また、読取時間間隔テーブル54aでは、読取時間間隔TnはT1〜T5まで設定されており、この合計時間は値15Ta(=Ta+Ta+Ta+4Ta+8Ta)である。一方、読取時間間隔テーブル54bでは読取時間間隔TnはT1〜T10まで設定されているため、読取時間間隔Tnの合計時間は読取時間間隔テーブル54aよりも長い。ここで、キャリッジモーター78の一時停止前の原稿Sの搬送速度が速いほど、一時停止時に原稿Sが停止するまでの時間は長くなる傾向になる。そのため、このように解像度が低いほど、すなわちキャリッジモーター78の一時停止前(通常時処理中)の原稿Sの搬送速度が速いほど、一時停止時処理における原稿Sの読取処理を停止するまでの時間が長くなる傾向にすることで、一時停止時の原稿Sの挙動に合わせて精度良く原稿Sを読み取った画像データを取得できる。なお、読取時間間隔Tnの合計値も、例えば実験により定めることができる。
このように、本実施形態のマルチファンクションプリンター20では、キャリッジモーター78の一時停止時に原稿Sの読取処理を行う読取時間間隔Tnを原稿Sの挙動に合わせたものとすることで、精度良く原稿Sを読み取った画像データを取得するのである。すなわち、原稿Sを読み取った画像データに基づく画像が間延びしたり欠けたりすることを抑制するのである。
また、本実施形態のマルチファンクションプリンター20では、原稿Sの搬送中にキャリッジモーター78が一時停止したあとキャリッジモーター78の駆動を再開するとき、キャリッジモーター78の動作開始から待ち時間Tbだけ遅れて画像データの取得を再開する再開時処理を行う。図14は、再開時処理及びその後の通常時処理を行う様子を示す説明図である。なお、図14では、解像度が1200dpiであり、待ち時間Tb(=値B)が値6Taである場合について示している。図示するように、バッファー空き容量不足フラグFが値0になり、時刻t3においてステップS260でキャリッジモーター78への駆動信号を出力開始してキャリッジモーター78の駆動を再開したとする。すると、スキャナーASIC50は、時刻t3以降に再開時処理を行う。具体的には、再開時処理として、時刻t3から待ち時間Tbだけ経過した時刻t4まで待ち、ステップS140に進んで通常時処理を開始する。すなわち、キャリッジモーター78の駆動再開時に直ちに読取処理を開始する場合と比べて、No.0〜2,3〜5,6〜8,9〜11,12〜14,15〜17の6回分の読取処理を行わず、7回目に相当するNo.18〜20の読取処理を待ち時間Tb(=6Ta)経過時の時刻t4から開始し、以降は通常時処理を行う。このように、キャリッジモーター78の駆動再開時から待ち時間Tbだけ遅れて通常時処理を再開し、読取処理を行うのである。ここで、搬送ローラー65等の各ローラーは本体側ギア機構90,カバー側ギア機構95,モーターギア78a〜78cを介してキャリッジモーター78からの駆動力を受けている。そのため、キャリッジモーター78の駆動再開時には、キャリッジモーター78からの動力が各ローラーから原稿Sに伝達されるまでには時間差が生じる。そこで、待ち時間Tb経過時から原稿Sの読取処理を再開することで、キャリッジモーター78の駆動再開時から原稿Sの搬送開始時までの間に原稿Sの読取処理を行って画像が間延びすることを抑制するのである。なお、待ち時間Tbは、キャリッジモーター78の駆動再開時の原稿Sの搬送開始までの時間差と同じ時間になるように、実験により定めることができる。また、読取解像度が低いほど、すなわち駆動再開時のキャリッジモーター78の駆動速度が速いほど、原稿Sの搬送開始までの時間差は小さくなる傾向にある。そのため、本実施形態では、読取解像度が低いほど待ち時間Tbが小さくなる傾向に待ち時間Tbを定めることで、より精度良く駆動再開時に原稿Sを読み取った画像データを取得できるようにしている。
なお、上述したADF画像読取処理ルーチンの終了後にFB読取動作モードで読取処理を行うときには、スキャナーASIC50は、まず、モーターギア78cが図6における右周りに回転するように、キャリッジモーター78から駆動力を出力させる。これにより、ギア91cが図6における左周りに回転する。すると、ギア91dは図6における左下方向に移動して固定歯91eと噛み合い、ギア91dが固定されて回転しなくなる。これにより、ギア91aも固定されて回転しなくなり、モーターギア78cは自身が右周りに回転しているため図6における右側に移動してギア91aから離れて、代わりにガイドギア79と噛み合う。ガイドギア79に噛み合ったことで、CISモジュール76はキャリッジモーター78により副走査方向に移動可能となる。これにより、ADF読取動作モードからFB読取動作モードに移行することができる。
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態のADFユニット61,本体側ギア機構90,カバー側ギア機構95が本発明の原稿搬送手段に相当し、キャリッジモーター78が駆動手段に相当し、CISモジュール76が読取手段に相当し、読取制御部51,LED駆動部55,A/D変換部56を備えたスキャナーASIC50が読取制御手段に相当する。また、FB読取領域35が原稿載置領域に相当する。
以上詳述した本実施形態のマルチファンクションプリンター20によれば、キャリッジモーター78が本体側ギア機構90,カバー側ギア機構95,ADFユニット61を駆動して原稿Sを搬送しているとき、CISモジュール76を制御して搬送中の原稿Sを読み取らせて画像データを取得する通常時処理を行う。そして、原稿Sの搬送中にキャリッジモーター78が一時停止するとき、画像データの取得に関する読み取りの時間間隔である読取時間間隔Tnが一時停止前(=通常時処理時)の読取時間間隔Taと比べて長くなるよう、CISモジュール76を制御して原稿Sを読み取らせて画像データを取得し、その後に画像データの取得を停止する一時停止時処理を行う。これにより、キャリッジモーター78の一時停止時に本体側ギア機構90,カバー側ギア機構95,ADFユニット61が直ちに停止せず減速して停止する場合に、精度良く原稿Sを読み取った画像データを取得できる。
また、原稿Sの搬送中にキャリッジモーター78が一時停止するとき、読取時間間隔Tnが一時停止前の読取時間間隔Taと比べて徐々に長くなる傾向になるよう、CISモジュール76を制御して原稿Sを読み取らせて画像データを取得する。そのため、キャリッジモーター78の一時停止時に本体側ギア機構90,カバー側ギア機構95,ADFユニット61が直ちに停止せず徐々に減速しながら停止する場合に、精度良く原稿Sを読み取った画像データを取得できる。
さらに、原稿Sの搬送中にキャリッジモーター78が一時停止するとき、一時停止前の原稿Sの搬送速度が速いほど画像データの取得を停止するまでの時間が長くなる傾向にする。そのため、一時停止時の原稿の搬送の挙動に応じてより精度良く原稿を読み取った画像データを取得できる。
さらにまた、本体側ギア機構90,カバー側ギア機構95は、複数の歯車からなる輪列を介してキャリッジモーター78からの動力を原稿Sに伝達するものである。そのため、キャリッジモーター78が一時停止したときに原稿Sが直ちに停止せず減速して停止するものとなりやすく、本発明を適用する意義が高い。
そしてまた、キャリッジモーター78は、本体側ギア機構90,カバー側ギア機構95,ADFユニット61を駆動する手段と、CISモジュール76を移動方向(副走査方向)に移動させる手段とを兼ねている。そして、CISモジュール76は、FB読取領域35に載置された原稿を読み取るFB読取動作モードのときには、キャリッジモーター78により移動方向にCISモジュール76自身が移動しながら原稿を読み取る。このように、ADF読取動作モード時に原稿Sを搬送させる役割とFB読取動作モード時にCISモジュール76を移動させる役割とをキャリッジモーター78が兼ねるものとすると、本体側ギア機構90,カバー側ギア機構95などの複数の歯車からなる長い輪列を介して原稿Sを搬送することになるなど、原稿Sをキャリッジモーター78との位置が離れやすい。そのため、キャリッジモーター78が一時停止したときに原稿Sが直ちに停止せず減速して停止するものとなりやすく、本発明を適用する意義が高い。
そしてまた、原稿Sの搬送中にキャリッジモーター78が一時停止したあとキャリッジモーター78が本体側ギア機構90,カバー側ギア機構95,ADFユニット61の駆動を再開するとき、CISモジュール76を制御して原稿Sを読み取らせて画像データを取得するにあたり、キャリッジモーター78の動作開始から待ち時間Tbだけ遅れて画像データの取得を再開する再開時処理を行う。そのため、キャリッジモーター78が動作開始しても直ちに原稿Sの搬送が開始されないような場合に、精度良く原稿Sを読み取った画像データを取得できる。
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
例えば、上述した実施形態では、マルチファンクションプリンター20が1200dpi,600dpiの2つの読取解像度に対応し、読取時間間隔テーブル記憶部54に読取解像度に応じた読取時間間隔テーブル54a,54bの2つのテーブルを記憶しているものとしたが、これに限られない。例えば、3つ以上の読取解像度に対応しており、各解像度に応じて読取時間間隔テーブルを記憶しているものとしてもよい。また、解像度ではなく原稿Sの搬送速度に応じた読取時間間隔テーブルを記憶しているものとしたり、キャリッジモーター78の駆動速度に応じた読取時間間隔テーブルを記憶しているものとしたりしてもよい。すなわち、直接的又は間接的に原稿Sの搬送速度に対応付けられた異なる読取時間間隔テーブルを記憶しているものであればよい。あるいは、解像度や原稿Sの搬送速度等に関わらず同じ読取時間間隔テーブルを用いるものとしてもよい。また、材質,大きさなど原稿Sの種類に応じて、異なる読取時間間隔テーブルを記憶しているものとしてもよい。この場合、原稿Sの種類を検出するセンサーをADF挿入口26に備えるものとしてもよいし、ユーザーから操作パネル46を介して原稿Sの種類を入力するものとしてもよい。
上述した実施形態では、読取時間間隔テーブル記憶部54aと読取時間間隔テーブル記憶部54bとで、読取時間間隔T1〜T5は共通の値であるものとしたが、これに限らず異なる値としてもよい。例えば、キャリッジモーター78の一時停止前原稿Sの搬送速度や読取解像度に応じて、読取時間間隔Tnの傾向を変えるものとしてもよい。例えば、原稿Sの搬送速度が遅いほど、一時停止前の原稿Sの搬送速度が速い場合と比べて読取時間間隔Tnをより長い傾向にするものとしたり、読取時間間隔Tnを徐々に長くする際の読取時間間隔Tnの変化を急峻にするものとしてもよい。
上述した実施形態では、ステップS260でキャリッジモーター78の駆動を再開するときには、読取解像度に応じた待ち時間Tb経過後に原稿Sの読取処理を再開するものとしたが、これに限られない。例えば、読取解像度ではなく原稿Sの搬送速度やキャリッジモーター78の駆動速度に応じた待ち時間Tb経過後に原稿Sの読取処理を再開してもよい。また、読取解像度や原稿Sの搬送速度に関わらず同じ待ち時間Tbの値を用いてもよいし、待ち時間Tbの経過を待たずに原稿Sの読取処理を再開するものとしてもよい。あるいは、原稿Sの種類に応じて待ち時間Tbを変えてもよい。
上述した実施形態では、待ち時間Tbは、キャリッジモーター78の駆動再開時の原稿Sの搬送開始までの時間差と同じ時間になるように定めるものとしたが、これに限られない。例えば、一時停止時処理における最後に読取処理を実行したときから再開時処理後の最初の読取処理までの間の原稿Sの搬送距離が、通常時処理における読取処理間の原稿Sの搬送距離と同じになるように(=解像度が同じになるように)待ち時間Tbを定めてもよい。例えば、一時停止時処理における最後の読取処理の後に原稿Sが停止するまでの搬送距離を距離Xとし、通常時処理における読取処理間の原稿Sの搬送距離(読み取りのライン間の距離)を距離Yとする。このとき、キャリッジモーター78の駆動再開時から原稿Sが搬送開始するまでの時間差に、さらに原稿Sが搬送開始してから距離(Y−X)だけ移動するのに要する時間を加えたものを待ち時間Tbとして定めてもよい。なお、距離Xは例えば実験により求めることができる。
上述した実施形態では、キャリッジモーター78は、CISモジュール76を副走査方向に移動させる移動用モーターと、原稿Sを搬送方向に搬送させる搬送用モーターと、を兼ねているものとしたが、これに限られない。例えば、キャリッジモーター78は搬送用モーターとしてのみ用いるものとし、移動用モーターを別に備えるものとしてもよい。
上述した実施形態では、搬送方向と副走査方向とは同方向であるものとしたが、これに限らず、異なる方向としてもよい。
上述した実施形態では、キャリッジモーター78はステッピングモーターであるものとしたが、これに限られない。例えば、キャリッジモーター78をDCモーターとしてもよい。この場合、エンコーダーによりキャリッジモーター78やCISモジュール76の副走査方向の位置を検出するものとしてもよい。また、キャリッジモーター78は、駆動制御部52からの駆動信号が停止すると一時停止するものとしがた、これに限らず、停止信号を入力すると一時停止するものとしてもよい。
上述した実施形態では、本体側ギア機構90,カバー側ギア機構95は、複数の歯車からなる輪列を有する本体側ギア機構90,カバー側ギア機構95を介してキャリッジモーター78からの動力を原稿Sに伝達するものとしたが、これに限られない。例えば、キャリッジモーター78と搬送ローラー65等の各ローラーとが1つの歯車を介して接続されているものとしてもよい。また、歯車以外の機構によりキャリッジモーター78からの駆動力を原稿Sに伝達するものとしてもよい。
上述した実施形態では、読取時間間隔Tnの合計時間すなわちキャリッジモーター78の一時停止時に画像データの取得を停止するまでの時間が、読取解像度が低いほど長くなるものとしたが、これに限られない。原稿Sの搬送速度やキャリッジモーター78の駆動速度が速いほど読取時間間隔Tnの合計時間が長くなるようにしてもよいし、読取解像度や原稿Sの搬送速度等に関わらず読取時間間隔Tnの合計時間は同じとしてもよい。あるいは、原稿Sの種類に応じて読取時間間隔Tnの合計時間を変えてもよい。
上述した実施形態では、キャリッジモーター78の一時停止時には、読取時間間隔Tnが存在しなくなるまで原稿Sの読取処理を繰り返すものとしたが、これに限られない。例えば、キャリッジモーター78の一時停止時に原稿Sの読取処理を停止するまでの時間を別に設定しておくものとしてもよい。
上述した実施形態では、読取時間間隔T1〜T3は読取時間間隔Taと同じ、すなわちキャリッジモーター78の一時停止前と同じ読取時間間隔であるものとしたが、これに限られない。読取時間間隔Tnは、一時停止前の読取時間間隔Taと比べて徐々に長くなる傾向であればよい。例えば、読取時間間隔T1〜T3が読取時間間隔Taより大きい値としてもよいし、読取時間間隔T1〜T3が異なる値であってもよい。読取時間間隔Tnは、一次関数的に長くなってもよいし、二次関数的に長くなってもよいし、ステップ関数的に長くなってもよい。また、読取時間間隔Tnは読取時間間隔Taと比べて徐々に長くなる傾向に限らず、単に読取時間間隔Taより長い値としてもよい。例えば、読取時間間隔テーブル54aにおいて読取時間間隔T1〜T5を全て値2Taなどとしてもよい。また、読取時間間隔Tnが1つしか設定されていないものとしてもよい。その場合、読取時間間隔T1を読取時間間隔Taより長い値にすればよい。
上述した実施形態では、読取時間間隔Tnは読取時間間隔Taに対する比として読取時間間隔テーブルに記憶されているものとしたが、これに限られない。例えば、読取時間間隔Tnを絶対値で記憶してもよい。
上述した実施形態では、バッファー53の空き容量が所定の容量閾値未満のときにキャリッジモーター78を一時停止するものとしたが、これに限られない。例えば、バッファー53がバッファフルになったときにキャリッジモーター78を一時停止するものとしてもよい。この場合、キャリッジモーター78の一時停止後の原稿Sの読取処理で取得した画像データは、バッファー53以外の所定の記憶領域に記憶するものとすればよい。また、キャリッジモーター78の故障時や異常時(過熱など)にキャリッジモーター78を一時停止するものとしてもよい。また、バッファー53は、スキャナーASIC50が備えるものとしたが、これに限らず、メインコントローラー80のRAM86内にバッファー53を備えるものなどとしてもよい。
上述した実施形態では、バッファー空き容量フラグFは、バッファー53の空き容量が所定の容量閾値未満であるか否かにより値が定まるものとしたが、これに限られない。例えば、バッファー空き容量フラグFが値0から値1になるときと、値1から値0になるときとで、容量閾値を変えてもよい。すなわち、バッファー空き容量フラグFの値の変化にヒステリシスをもたせてもよい。
上述した実施形態では、読取解像度に応じてモーター駆動速度Vを変えるものとし、読取時間間隔Taは読取解像度に関わらず同じとしたが、これに限られない。例えば、読取解像度に応じて読取時間間隔Taを変えるものとし、モーター駆動速度Vは読取解像度に関わらず同じとしてもよい。また、読取解像度に応じてモーター駆動速度Vと読取時間間隔Taの両方を変えるものとしてもよい。
上述した実施形態では、キャリッジモーター78の一時停止時に、読取時間間隔Tn毎にCISモジュール76が原稿Sを読み取るものとしたが、これに限られない。原稿Sの搬送中にキャリッジモーター78が一時停止時するとき、画像データの取得に関する読み取りの時間間隔である読取時間間隔が一時停止前と比べて長くなるものであればよい。例えば、キャリッジモーター78の一時停止時であってもCISモジュール76は読取時間間隔Ta毎に原稿Sを読み取るものとしてもよい。この場合、読み取った画像データのうち一部を読取制御部51が無視する(バッファー53に記憶しない)ことで、結果的に読取時間間隔Tn毎に原稿Sを読み取った画像データを取得するものとすればよい。例えば、読取時間間隔T1が値3Taであったときに、CISモジュール76は読取時間間隔Ta毎に読み取りを行うものとし、読取制御部51はCISモジュール76が読み取った最初の2回の画像データについては無視するものとし、3回目の画像データのみをバッファー53に記憶するものとしてもよい。すなわち、例えば図13における一時停止時処理中であっても、CISモジュール76による読み取りは通常時処理と同じ読取時間間隔Ta毎に行うものとし、読み取りの「○」がないタイミング(No.9〜17,No.21〜41)では読み取った画像データを無視するものとしてもよい。なお、画像データの一部を無視するのはどの段階でもよい。例えば、CISモジュール76からのアナログデータとしての画像データの一部をA/D変換部56に入力しないようにすることで無視してもよい。あるいは、バッファー53にはCISモジュール76からの画像データを全て記憶するものとし、メインコントローラー80側でバッファー53から読み出した画像データの一部を無視してもよい。この場合、スキャナーASIC50とメインコントローラー80とが本発明の画像読取装置の読取制御手段に相当する。同様に、ステップS250でバッファー空き容量不足フラグFが値0になるのを待つ間は、画像データの取得を停止していればよい。例えば、図14における再開時処理(No.0〜17)の間は、CISモジュール76による原稿Sの読み取りは通常時処理と同じ読取時間間隔Ta毎に行うものとし、CISモジュール76からの画像データを全て無視するものとしてもよい。
上述した実施形態では、マルチファンクションプリンター20として説明したが、プリンターユニット42を備えないスキャナー装置としてもよいし、FAX機能を備えたFAX装置としてもよい。また、プリンターユニット42は、インクジェット方式のカラープリンター機構としたが、特にこれに限定されず、電子写真方式のカラープリンターとしてもよいし、ドットインパクト方式のカラープリンターとしてもよいし、これらのモノクロプリンターとしてもよい。
上述した実施形態では、マルチファンクションプリンター20として説明したが、画像読取装置の制御方法としてもよいし、この方法を実行するプログラムとしてもよい。