(57)【特許請求の範囲】
【請求項１】
原稿の画像を読み取って画像データを出力する画像読取手段と、前記画像データを記憶する記憶手段とを備える画像読取装置において、
前記画像読取装置は、前記記憶手段に記憶された前記画像データをインタフェース回路を介して読み出す画像データ読出手段と、前記画像データ読出手段により読み出された画像データを一時記憶し、物理メモリにワークエリアが確保できない場合は仮想メモリが用いられる一時記憶手段とを備える情報処理装置に接続されており、
前記一時記憶手段で前記仮想メモリが用いられ、かつ、前記仮想メモリへのデータ記憶速度が所定値より小さい場合には、前記画像読取手段の画像読取速度を、前記仮想メモリが用いられない場合の前記画像読取手段の画像読取速度よりも遅く設定することを特徴とする画像読取装置。
【請求項２】
前記仮想メモリへのデータ記憶速度を検出する記憶速度検出手段を有することを特徴とする請求項１記載の画像読取装置。
【請求項３】
原稿の画像を読み取って画像データを出力する画像読取手段と、前記画像データを記憶する記憶手段とを備える画像読取装置の制御方法で、
前記画像読取装置は、前記記憶手段に記憶された前記画像データをインタフェース回路を介して読み出す画像データ読出手段と、前記画像データ読出手段により読み出された画像データを一時記憶し、物理メモリにワークエリアが確保できない場合は仮想メモリが用いられる一時記憶手段とを備える情報処理装置に接続されており、
前記一時記憶手段で前記仮想メモリが用いられ、かつ、前記仮想メモリへのデータ記憶速度が所定値より小さい場合には、前記画像読取手段の画像読取速度を、前記仮想メモリが用いられない場合の前記画像読取手段の画像読取速度よりも遅く設定することを特徴とする画像読取装置の制御方法。
【請求項４】
さらに前記仮想メモリへのデータ記憶速度を検出する記憶速度検出工程を有することを特徴とする請求項３記載の画像読取装置の制御方法。
【請求項５】
原稿の画像を読み取って画像データを出力する画像読取手段と、前記画像データを記憶する記憶手段とを備えると共に、前記記憶手段に記憶された前記画像データをインタフェース回路を介して読み出す画像データ読出手段と、前記画像データ読出手段により読み出された画像データを一時記憶し、物理メモリにワークエリアが確保できない場合は仮想メモリが用いられる一時記憶手段とを備える情報処理装置に接続される画像読取装置を制御するコンピュータで実行可能な制御プログラムを記録した記憶媒体において、
前記制御プログラムは、前記一時記憶手段で前記仮想メモリが用いられ、かつ、前記仮想メモリへのデータ記憶速度が所定値より小さい場合には、前記画像読取手段の画像読取速度を、前記仮想メモリが用いられない場合の前記画像読取手段の画像読取速度よりも遅く設定することを特徴とする記憶媒体。
【請求項６】
前記制御プログラムが、さらに前記仮想メモリへのデータ記憶速度を検出する記憶速度検出工程を実行することを特徴とする請求項５記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、原稿の画像データを読み取る画像読取装置及び該装置の制御方法並びに記憶媒体に関する。
【０００２】
【従来の技術】
図１は、画像読取装置の概略構成を示すブロック図である。
【０００３】
同図において、画像読取装置２００はホストコンピュータ１００に接続されており、ホストコンピュータ１００により制御される。画像読取装置２００からの画像はホストコンピュータ１００に表示され、保存される。
【０００４】
ホストコンピュータ１００は、各種演算を行うＣＰＵ１０１と、オペレーティングシステム又はプログラムがワークエリアとして使用するＲＡＭ１０２と、オペレーティングシステムやプログラムを格納するハードディスク１０３と、モニタ１０４と、マウス、キーボード等の入力装置１０５と、画像読取装置２００等の外部装置とホストコンピュータ１００とを接続するインターフェース部１０６とを備えている。インターフェース部１０６は、シリアルインタフェース、パラレルインタフェース、ＳＣＳＩインターフェース、ＵＳＢインターフェース、及びＩＥＥＥ１３９４インターフェース等を備えている。
【０００５】
画像読取装置２００は、密着型のイメージセンサ（以下「ＣＩＳ」という）２０１と、光源であるＬＥＤ２０２と、ＬＥＤ制御回路２０３と、ＡＭＰ２０４と、Ａ／Ｄ変換回路２０５と、シェーディングＲＡＭ２０６と、シェーディング補正回路２０７と、ピーク検知回路２０８と、ガンマ変換回路２０９と、バッファＲＡＭ２１０と、パッキング／バッファＲＡＭ制御回路２１１と、インターフェース回路２１２と、モータドライブ回路２１３と、モータ２１４とを備えている。画像読取装置２００を制御するプログラムは、ＴＷＡＩＮ対応アプリケーション３０１と、ＴＷＡＩＮドライバ３０２と、デバイスドライバ３０３と、ポートドライバ３０４と、オペレーティングシステム（ＯＳ）３０５とを備えている。
【０００６】
パッキング／バッファＲＡＭ制御回路２１１はモータ２１４及びバッファＲＡＭ２１０を以下のように制御する。
【０００７】
パッキング／バッファＲＡＭ制御回路２１１から出力された画像データはバッファＲＡＭ２１０に書き込まれ、この書き込まれた画像データはバッファＲＡＭ２１０からインターフェース回路２１２経由でホストコンピュータ１００に読み出される。このとき、パッキング／バッファＲＡＭ制御回路２１１からバッファＲＡＭ２１０へのデータ書き込み速度が、ホストコンピュータ１００によるＲＡＭ２１０からのデータ読み出し速度より速いとバッファＲＡＭ２１０が容量オーバになる。パッキング／バッファＲＡＭ制御回路２１１は、バッファＲＡＭ２１０の空き容量を監視し、空き容量が画像データの１ライン分相当になると、モータドライブ回路２１３に読み込みの一時停止の指令を出す。バッファＲＡＭ２１０が再び空になったら、モータドライブ回路２１３に読み込みの再開指令を出す。
【０００８】
このようなバッファＲＡＭ２１０のオーバーフロー回避のため動作をスタート／ストップ（以下「ＳＳ」という）という。ＳＳが発生した場合に再スタートする方法として、ＣＩＳ２０１が停止した位置から再スタートする方法と、停止した位置から一度戻って再スタートする方法とがある。停止した位置から再スタートする方法の場合、停止位置での画像の連続性が保てないため画質が劣化する。停止した位置から一度戻って再スタートする方法の場合、再スタートするまでの時間が余分にかかり、全体のスキャン時間が遅くなる。ＳＳが発生するとこのような不具合が発生するため、なるべくＳＳが発生しないようにする必要がある。
【０００９】
モータの駆動速度とバッファＲＡＭ２１０へのデータ書き込み速度は比例するので、従来のデバイスドライバ３０３は、パッキング／バッファＲＡＭ制御回路２１１からバッファＲＡＭ２１０へのデータ書き込み速度がホストコンピュータ１００によるバッファＲＡＭ２１０からのデータ読み出し速度より遅くなるように、かつ、前記条件の内で最も速くバッファＲＡＭ２１０へ書き込みができるようにモータ２１４の速度を制御していた。
【００１０】
図８は、デバイスドライバ３０３によって実行されるモータ２１４の速度決定処理のプログラムを示すフローチャートである。
【００１１】
同図において、まず、デバイスドライバ３０３は、インターフェース回路２１２のデータ通信速度Ｉを計算する（ステップＳ６１）。
【００１２】
データ通信速度Ｉの具体的な計算方法は以下の通りである。まず、バッファＲＡＭ２１０にダミーデータを生成する。次に、デバイスドライバ３０３内のタイマをスタートし、ダミーデータを画像データを読み出す場合と同じモードで読み出す。ダミーデータを読み出し終わったら、タイマを停止する。ダミーデータ量とダミーデータ転送時間からインターフェース回路２１２のデータ通信速度Ｉ（Ｂｙｔｅ／ｓｅｃ）（以下、「インターフェース速度Ｉ」という）を計算する。
【００１３】
次いで、インターフェース速度Ｉ（Ｂｙｔｅ／ｓｅｃ）、解像度Ｋ（ｄｐｉ）、クロップ幅Ｌ（ｄｏｔ）、及び所定のモータ速度テーブルからモータ速度Ｓ（ｉｎｃｈ／ｓｅｃ）を計算する（ステップＳ６２）。画像読取装置２００の読み取り領域を示す図４において、ユーザがプレビューエリアで設定したクロップ領域の横幅のドット数がクロップ幅Ｌである。全画面をスキャンする場合は全読み取り領域の横幅のドット数がクロップ幅Ｌになる。バッファＲＡＭ２１０からの読み出し速度Ｖｒはインターフェース速度Ｉ（Ｂｙｔｅ／ｓｅｃ）に相当する（Ｖｒ＝Ｉ）。また、バッファＲＡＭ２１０への書き込み速度Ｖｗ（Ｂｙｔｅ／ｓｅｃ）は２４ビットカラー（１ドットが３バイト）の場合、以下の様に計算される。
【００１４】
Ｖｗ  ＝  Ｓ  ×  Ｋ  ×  Ｌ  ×  ３        （１）
バッファＲＡＭ２１０がオーバーフローしないようにするためには、バッファＲＡＭ２１０からの読み出し速度Ｖｒ、即ちインターフェース速度ＩがバッファＲＡＭ２１０への書きこみ速度Ｖｗ（Ｂｙｔｅ／ｓｅｃ）よりも速くなければならない。つまり、下記関係式が満たされなければならない。
【００１５】
Ｉ（Ｂｙｔｅ／ｓｅｃ）  ＞  Ｖｗ（Ｂｙｔｅ／ｓｅｃ）        （２）
（１）式と（２）式からモータ速度Ｓを求めると、下記関係式が得られる。
【００１６】
Ｓ  ＜  Ｉ  ／  ３（Ｋ  ×  Ｌ）        （３）
モータ速度Ｓは図５のテーブルに示すように解像度に応じて低速、中速、高速の３段階に設定され、（３）式を満たすモータ速度であって、図５のテーブル中の最大のモータ速度を画像読み取り時のモータ速度Ｓとして決定する。
【００１７】
【発明が解決しようとする課題】
しかしながら、上述したモータ２１４の速度決定処理はホストコンピュータ１００がバッファＲＡＭ２１０から画像データを読み出す速度が一定であることを前提としている。ホストコンピュータ１００によるデータの読み出しが中断すると、バッファＲＡＭ２１０がいっぱいになり、ＳＳが発生してしまう。ホストコンピュータ１００によるデータの読み出しが中断する要因としては、例えばメモリのスワップがある。
【００１８】
ＴＷＡＩＮドライバ３０２は画像読み取り時に、画像サイズと同等のワークリアを確保する。ＲＡＭ１０２の空き容量が画像サイズよりも大きい場合はワークエリアとしてＲＡＭ１０２が使用される。ＲＡＭ１０２の空き容量が画像サイズよりも小さい場合は、ＲＡＭ１０２で足りない分のワークエリアを仮想メモリとしてハードディスク１０３のメモリが使用される。この場合、ハードディスク１０３に割り当てられたワークエリアにアクセスする場合、メモリのスワップが発生する。メモリのスワップが発生すると、ハードディスク１０３の性能によっては、ホストコンピュータ１００によるデータの読み出しが中断する場合がある。
【００１９】
本発明は、かかる問題点に鑑みてなされたものであり、画像データの読み出しの中断に基づく画質の劣化及び画像読取時間の遅延を防ぐことができる画像読取装置及び該装置の制御方法を提供することを目的とする。
【００２０】
【課題を解決するための手段】
上記目的を達成するため、請求項１記載の画像読取装置は、原稿の画像を読み取って画像データを出力する画像読取手段と、前記画像データを記憶する記憶手段とを備える画像読取装置において、前記画像読取装置は、前記記憶手段に記憶された前記画像データをインタフェース回路を介して読み出す画像データ読出手段と、前記画像データ読出手段により読み出された画像データを一時記憶し、物理メモリにワークエリアが確保できない場合は仮想メモリが用いられる一時記憶手段とを備える情報処理装置に接続されており、前記一時記憶手段で前記仮想メモリが用いられ、かつ、前記仮想メモリへのデータ記憶速度が所定値より小さい場合には、前記画像読取手段の画像読取速度を、前記仮想メモリが用いられない場合の前記画像読取手段の画像読取速度よりも遅く設定することを特徴とする。
【００２１】
請求項２記載の画像読取装置は、請求項１記載の画像読取装置において、前記仮想メモリへのデータ記憶速度を検出する記憶速度検出手段を有することを特徴とする。
【００２２】
請求項３記載の画像読取装置の制御方法は、原稿の画像を読み取って画像データを出力する画像読取手段と、前記画像データを記憶する記憶手段とを備える画像読取装置の制御方法で、前記画像読取装置は、前記記憶手段に記憶された前記画像データをインタフェース回路を介して読み出す画像データ読出手段と、前記画像データ読出手段により読み出された画像データを一時記憶し、物理メモリにワークエリアが確保できない場合は仮想メモリが用いられる一時記憶手段とを備える情報処理装置に接続されており、前記一時記憶手段で前記仮想メモリが用いられ、かつ、前記仮想メモリへのデータ記憶速度が所定値より小さい場合には、前記画像読取手段の画像読取速度を、前記仮想メモリが用いられない場合の前記画像読取手段の画像読取速度よりも遅く設定することを特徴とする。
【００２３】
請求項４記載の画像読取装置の制御方法は、請求項３記載の画像読取装置の制御方法において、さらに前記仮想メモリへのデータ記憶速度を検出する記憶速度検出工程を有することを特徴とする。
【００２４】
請求項５記載の記憶媒体は、原稿の画像を読み取って画像データを出力する画像読取手段と、前記画像データを記憶する記憶手段とを備えると共に、前記記憶手段に記憶された前記画像データをインタフェース回路を介して読み出す画像データ読出手段と、前記画像データ読出手段により読み出された画像データを一時記憶し、物理メモリにワークエリアが確保できない場合は仮想メモリが用いられる一時記憶手段とを備える情報処理装置に接続される画像読取装置を制御するコンピュータで実行可能な制御プログラムを記録した記憶媒体において、前記制御プログラムは、前記一時記憶手段で前記仮想メモリが用いられ、かつ、前記仮想メモリへのデータ記憶速度が所定値より小さい場合には、前記画像読取手段の画像読取速度を、前記仮想メモリが用いられない場合の前記画像読取手段の画像読取速度よりも遅く設定することを特徴とする。
【００２５】
請求項６記載の記憶媒体は、請求項５記載の記憶媒体において、前記制御プログラムが、さらに前記仮想メモリへのデータ記憶速度を検出する記憶速度検出工程を実行することを特徴とする。
【００２９】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
【００３０】
（第１の実施の形態）
図１は、本発明の第１の実施の形態に係る画像読取装置の概略構成を示すブロック図である。
【００３１】
同図において、画像読取装置２００はホストコンピュータ１００に接続されており、ホストコンピュータ１００により制御される。画像読取装置２００からの画像はホストコンピュータ１００に表示され、保存される。
【００３２】
ホストコンピュータ１００は、各種演算を行うＣＰＵ１０１と、オペレーティングシステム又はプログラムがワークエリアとして使用するＲＡＭ１０２と、オペレーティングシステムやプログラムを格納するハードディスク１０３と、モニタ１０４と、マウス、キーボード等の入力装置１０５と、画像読取装置２００等の外部装置とホストコンピュータ１００とを接続するインターフェース部１０６とを備えている。インターフェース部１０６は、シリアルインタフェース、パラレルインタフェース、ＳＣＳＩインターフェース、ＵＳＢインターフェース、及びＩＥＥＥ１３９４インターフェース等を備えている。
【００３３】
画像読取装置２００は、密着型のイメージセンサ（以下「ＣＩＳ」という）２０１と、光源であるＬＥＤ２０２と、ＬＥＤ制御回路２０３と、ＡＭＰ２０４と、Ａ／Ｄ変換回路２０５と、シェーディングＲＡＭ２０６と、シェーディング補正回路２０７と、ピーク検知回路２０８と、ガンマ変換回路２０９と、バッファＲＡＭ２１０と、パッキング／バッファＲＡＭ制御回路２１１と、インターフェース回路２１２と、モータドライブ回路２１３と、モータ２１４とを備えている。
【００３４】
ＣＩＳ２０１は、光源であるＬＥＤ２０２と一体化されている。原稿を載せる原稿ガラスに沿ってスキャン方向にＣＩＳ２０１を搬送させながら、ＬＥＤ制御回路２０３にて１ライン毎にＲＧＢ各色のＬＥＤ２０２を切り替えて点灯させることにより、ＣＩＳ２０１は原稿ガラス上に置かれた原稿をカラー画像として１ラインごとに各色成分の順に読み取ることができる。
【００３５】
ＡＭＰ２０４は、ＣＩＳ２０１より出力された信号を増幅し、Ａ／Ｄ変換器２０５は、当該増幅出力のＡ／Ｄ変換を行い、例えば８ビットのディジタル出力を得る。シェーディングＲＡＭ２０６は、キャリブレーション処理で使用するシェーディング補正用データを記憶する。キャリブレーションは、正確な色読み取りを行うために、色味の基準となる黒シェーディングデータと白シェーディングデータとを生成する処理である。シェーディングデータは、原稿台ガラス裏の黒マーク及び白マークを読み取り、それらのデータをホストコンピュータ１００で演算処理することにより得られる。
【００３６】
ホストコンピュータ１００は、シェーディング補正用データをハードディスク１０３に保存し、画像読取装置２００を初期化するときに、シェーディング補正用データをシェーディングＲＡＭ２０６に送信する。
【００３７】
シェーディング補正回路２０７は、シェーディングＲＡＭ２０６のデータに基づいて、Ａ／Ｄ変換された画像信号のシェーディング補正を行う。ピーク検知回路２０８は、読み取られた画像データに於けるピーク値をライン毎に検知し、この検知で得られたピーク値は、画像読み取りの際にＣＩＳ２０１のＬＥＤ各色の点灯区間を調整し、決定するキャリブレーション処理等に使用される。
【００３８】
ガンマ変換回路２０９は、ホストコンピュータ１００から送信されたガンマカーブに従って読み取られた画像データのガンマ変換を行う。
【００３９】
バッファＲＡＭ２１０は、ホストコンピュータ１００との画像通信におけるタイミングを合わせるために画像データを一時的に保存する。パッキング／バッファＲＡＭ制御回路２１１は、ホストコンピュータ１００より予め設定された画像出力モード（例えば、２値、８ビット多値、２４ビット多値等）に従ったパッキング処理を行った後に、そのデータをバッファＲＡＭ２１０に書き込む処理と、バッファＲＡＭ２１０から画像データを読み込んでインターフェース回路２１２を介してホストコンピュータ１００に該画像データを出力する処理とを行う。
【００４０】
インターフェース回路２１２は、ホストコンピュータ１００との間で制御信号、制御データ及び画像データの通信を行う。
【００４１】
モータドライブ回路２１３は、ホストコンピュータ１００から指示された速度でモータ２１４を駆動する。モータ２１４を駆動することにより、ＣＩＳ２０１が搬送され、スキャン処理が実行される。モータ駆動速度と画像データの出力速度とは比例する。モータの速度設定は読み取り開始時に行い、読み取り中は変更しない。
【００４２】
図２は、図１の画像読取装置２００を制御するプログラムの構造を示す図である。
【００４３】
画像読取装置２００を制御するプログラムは、ＴＷＡＩＮ対応アプリケーション３０１と、ＴＷＡＩＮドライバ３０２と、デバイスドライバ３０３と、ポートドライバ３０４と、オペレーティングシステム（ＯＳ）３０５とを備えている。
【００４４】
ＴＷＡＩＮ対応アプリケーション３０１は、ＴＷＡＩＮドライバ３０２経由で画像読取装置２００から画像を読み取り、モニタ１０４に表示する。ユーザの指示により画像を処理したり、保存する機能を有する。ＴＷＡＩＮドライバ３０２はＴＷＡＩＮ規格に従い、ＴＷＡＩＮ対応アプリケーション３０１に画像読取装置２００からの画像を渡すと共に、独自のＧＵＩ（グラフィック・ユーザ・インタフェース）を表示する。ＧＵＩはプレビュー、プレビュー画像に対するクロップエリアの指定、解像度の設定、読み取りモード（２値、８ビット多値、２４ビット多値等）の設定、及びガンマ補正等の色調整の設定等を行う機能を有する。
【００４５】
デバイスドライバ３０３は、画像読取装置２００の各モジュールの制御レジスタにアクセスし、シェーディングの制御、解像度やクロップ範囲に応じたモータ速度の設定、ＴＷＡＩＮドライバ３０２から受け取ったガンマ補正データの画像読取装置２００への送信処理、及び画像読み取りのためのフロー制御を行う。ポートドライバ３０４は、シリアルインタフェース、パラレルインタフェース、ＳＣＳＩインターフェース、ＵＳＢインターフェース、及びＩＥＥＥ１３９４インターフェース等のインターフェースに応じて画像読取装置２００との通信制御を行う。
【００４６】
図３は、図２におけるデバイスドライバ３０３によって実行されるモータ２１４の速度決定処理のプログラムを示すフローチャートである。
【００４７】
同図において、まず、デバイスドライバ３０３は、インターフェース回路２１２のデータ通信速度Ｉを計算する（ステップＳ１）。
【００４８】
データ通信速度Ｉは具体的な計算方法は以下の通りである。まず、バッファＲＡＭ２１０にダミーデータを生成する。次に、デバイスドライバ３０３内のタイマをスタートし、ダミーデータを画像データを読み出す場合と同じモードで読み出す。ダミーデータを読み出し終えたら、タイマを停止する。ダミーデータ量とダミーデータ転送時間からインターフェース回路２１２のデータ通信の速度Ｉ（Ｂｙｔｅ／ｓｅｃ）（以下、「インターフェース速度Ｉ」という）を計算する。インターフェース速度Ｉの測定は、画像読取装置２００の初期化時に行っても良い。
【００４９】
次いで、インターフェース速度Ｉ（Ｂｙｔｅ／ｓｅｃ）、解像度Ｋ（ｄｐｉ）、クロップ幅Ｌ（ｄｏｔ）、及びモータ速度テーブルからモータ速度Ｓ（ｉｎｃｈ／ｓｅｃ）を計算する（ステップＳ２）。クロップ幅Ｌは、画像読取装置２００の読み取り領域を示す図４において、ユーザがプレビューエリアで設定したクロップ領域の横幅のドット数で示される。全画面をスキャンする場合は全読み取り領域の横幅のドット数がクロップ幅Ｌになる。バッファＲＡＭ２１０からの読み出し速度Ｖｒはインターフェース速度Ｉ（Ｂｙｔｅ／ｓｅｃ）に相当する（Ｖｒ＝Ｉ）。また、バッファＲＡＭ２１０への書き込み速度Ｖｗ（Ｂｙｔｅ／ｓｅｃ）は、２４ビットカラー（１ドットが３バイト）の場合、以下の様に計算される。
【００５０】
Ｖｗ  ＝  Ｓ  ×  Ｋ  ×  Ｌ  ×  ３        （１）
バッファＲＡＭ２１０がオーバーフローしないようにするためには、バッファＲＡＭ２１０からの読み出し速度Ｖｒ、即ちインターフェース速度ＩがバッファＲＡＭ２１０への書きこみ速度Ｖｗ（Ｂｙｔｅ／ｓｅｃ）よりも速くなければならない。つまり、下記関係式が満たされなければならない。
【００５１】
Ｉ（Ｂｙｔｅ／ｓｅｃ）  ＞  Ｖｗ（Ｂｙｔｅ／ｓｅｃ）        （２）
（１）式と（２）式からモータ速度Ｓを求めると、下記関係式が得られる。
【００５２】
Ｓ  ＜  Ｉ  ／  ３（Ｋ  ×  Ｌ）        （３）
モータ速度Ｓは図５のテーブルに示すように解像度に応じて低速、中速、高速の３段階に設定され、（３）式を満たすモータ速度であって、図５のテーブル中の最大のモータ速度を、画像読み取り時のモータ速度Ｓとして決定する。
【００５３】
次に、ＲＡＭ１０２の物理メモリから画像データのワークエリアを確保できるか否か判別する（ステップＳ３）。ステップＳ３の判別の結果、ＲＡＭ１０２の物理メモリから画像データのワークエリアを確保できる場合は、画像読み取り中にメモリのスワップが発生しないのでステップＳ２で決定したモータ速度Ｓで画像読み取りを行い、ワークエリアを確保できない場合は、仮想メモリとしてハードディスク１０３が使用される。この場合画像読み取り中にメモリのスワップが発生するので、ハードディスク１０３のアクセス速度をチェックする（ステップＳ４）。このチェックでは、まずダミーデータを生成する。次にタイマをスタートし、ハードディスク１０３に生成されたダミーデータを書き込み、書き込んだダミーデータを読み出す。この書き込みと読み出しの時間を測定することにより、アクセス速度をチェックする。この処理は、画像読取装置２００の初期化時に行っても良い。
【００５４】
次いで、ステップＳ４でチェックしたハードディスク１０３のアクセス速度が、基準値より速いか否かを判別する（ステップＳ５）。基準値は性能の異なる複数のハードディスクのアクセス速度をチェックし、スワップが発生してもＳＳが発生しない値を基準値とする。
【００５５】
ステップＳ５の判別の結果、基準値よりも速い場合は、画像読み取り中にメモリのスワップが発生してもＳＳが発生しないので、ステップＳ２で計算されたモータ速度Ｓで画像読み取りを行う。基準値よりも遅い場合はＳＳが発生しないようにステップＳ２で計算されたモータ速度Ｓよりも遅いモータ速度を図５のテーブルから選択し、画像読み取りを行う（ステップＳ６）。
【００５６】
上述したように、本実施の形態によれば、ハードディスクのアクセス速度をチェックし、該アクセス速度が、ＳＳが発生しない基準値よりも遅い場合には、モータ速度Ｓをより遅いモータ速度に設定し、画像読み取りを実行するので、ホストコンピュータ１００によるＲＡＭ２１０からのデータの読み出しの中断に基づく画質の劣化及び画像読取時間の遅延を防ぐことができる。
【００５７】
（第２の実施の形態）
本実施の形態は、上述した第１の実施の形態と比べて、デバイスドライバ３０３がモータ２１４の速度を決定する方法のみが異なり、その他の構成等は同様であるのでその説明は省略する。
【００５８】
以下、図６を参照しながらデバイスドライバ３０３がモータ２１４の速度を決定する方法を説明する。
【００５９】
図６は、本発明の第２の実施の形態に係る画像読取装置におけるデバイスドライバ３０３によって実行されるモータ２１４の速度決定処理のプログラムを示すフローチャートである。
【００６０】
まず、ステップＳ７１で、ステップＳ１と同様にインターフェース回路２１２のデータ通信速度Ｉを計算し、ステップＳ７２で、ステップＳ２と同様にインターフェース速度Ｉ（Ｂｙｔｅ／ｓｅｃ）、解像度Ｋ（ｄｐｉ）、クロップ幅Ｌ（ｄｏｔ）、及びモータ速度テーブルからモータ速度Ｓ（ｉｎｃｈ／ｓｅｃ）を計算する。
【００６１】
次に、ステップＳ７２で計算されたモータ速度Ｓで画像読み取りを開始し（ステップＳ７３）、デバイスドライバ３０３は画像読取装置２００から画像データを読み込み、ＴＷＡＩＮドライバ３０２に転送する（ステップＳ７４）。
【００６２】
次いで、ＳＳが発生したか否かを判別する（ステップＳ７５）。具体的にＳＳが発生したか否かを判別するには、パッキング／バッファＲＡＭ制御回路２１１のステイタスレジスタを読み出すことにより判別する。
【００６３】
ステップＳ７５において、ＳＳが発生した場合には、ステップＳ７２で計算されたモータ速度Ｓよりも遅いモータ速度を図５のテーブルから選択し、ステップＳ７４に戻る。このようにＳＳが発生したらモータ速度Ｓを遅くして、ＳＳが発生しないようにする。一方、ＳＳが発生しなければ、画像読み取りが終了したか否かを判別し（ステップＳ７７）、終了したら画像読み取り処理を終了する。終了していなかったらステップＳ７４に戻る。
【００６４】
上述したように、本実施の形態によれば、パッキング／バッファＲＡＭ制御回路２１１のステイタスレジスタを読み出すことによりＳＳが発生したか否かを判別し、ＳＳが発生した場合には、モータ速度Ｓをより遅いモータ速度に設定し、画像読み取りを実行するので、当該ＳＳの発生以後のホストコンピュータ１００によるＲＡＭ２１０からのデータの読み出しの中断に基づく画質の劣化及び画像読取時間の遅延を防ぐことができる。
【００６５】
（第３の実施の形態）
ＴＷＡＩＮドライバ３０２では、スキャンした画像にモワレ低減や輪郭強調、塵傷除去等の画像処理を加えることができる。どの画像処理を行うかはスキャンする画像に応じてユーザが選択できる。前期画像処理はスキャナから画像データを読み取りながら行う。このため、時間がかかる画像処理や、複数の画像処理を選択した場合、ホストコンピュータ１００からの画像データの読み取りが遅くなり、ＳＳが発生してしまう場合がある。また前記画像処理速度はＰＣの処理能力や画像のクロップ幅によって異なる。そこで本実施の形態ではＴＷＡＩＮドライバ３０２で画像処理速度Ｓｐを計算し、画像処理速度Ｓｐに応じて、デバイスドラバ３０３がモータ速度Ｓを制御する。
【００６６】
本実施の形態は、上述した第１の実施の形態と比べて、デバイスドライバ３０３がモータ２１４の速度を決定する方法のみが異なり、その他の構成等は同様であるのでその説明は省略する。
【００６７】
以下、図７を参照しながらデバイスドライバ３０３がモータ２１４の速度を決定する方法を説明する。
【００６８】
図７は、本発明の第３の実施の形態に係る画像読取装置におけるデバイスドライバ３０３によって実行されるモータ２１４の速度決定処理のプログラムを示すフローチャートである。
【００６９】
まず、ステップＳ１と同様にインターフェース回路２１２のデータ通信速度Ｉを計算し（ステップＳ５１）、ステップＳ２と同様にインターフェース速度Ｉ（Ｂｙｔｅ／ｓｅｃ）、解像度Ｋ（ｄｐｉ）、クロップ幅Ｌ（ｄｏｔ）、及びモータ速度テーブルからモータ速度Ｓ（ｉｎｃｈ／ｓｅｃ）を計算する（ステップＳ５２）。
【００７０】
次に、ＴＷＡＩＮドライバ３０２で計算した画像処理速度Ｓｐを取得する（ステップ５３）。ＴＷＡＩＮドライバ３０２では以下の様に画像処理速度Ｓｐ（ｉｎｃｈ／ｓｅｃ）を計算する。まず、スキャンする画像のクロップ幅Ｌの１インチに相当するダミーの画像データを生成する。次に前記ダミーに対し、ユーザの選択した画像処理を施し、画像処理にかかる時間を測定する。この時間が画像処理速度Ｓｐ（ｉｎｃｈ／ｓｅｃ）に相当する。
【００７１】
次にステップＳ５２で計算したモータ速度Ｓ（ｉｎｃｈ／ｓｅｃ）がステップＳ５３で計算した画像処理速度Ｓｐ（ｉｎｃｈ／ｓｅｃ）より速いか否かを判別する（ステップＳ５４）。モータ速度Ｓ（ｉｎｃｈ／ｓｅｃ）が画像処理速度Ｓｐ（ｉｎｃｈ／ｓｅｃ）よりも速い場合は、モータ速度テーブルを参照し、モータ速度Ｓを画像処理速度Ｓｐよりも遅いスピードに設定し（ステップＳ５５）、本処理を終了する一方、モータ速度Ｓ（ｉｎｃｈ／ｓｅｃ）が画像処理速度Ｓｐ（ｉｎｃｈ／ｓｅｃ）よりも遅い場合は、そのままのモータ速度Ｓを使用するため、ステップＳ５５をスキップし、本処理を終了する。
【００７２】
上述したように、本実施の形態によれば、モータ速度Ｓの方が画像処理速度Ｓｐよりも速い場合は、モータ速度Ｓを画像処理速度Ｓｐよりも遅いスピードに設定することにより、ホストコンピュータ１００によるＲＡＭ２１０からのデータの読み出しの中断に基づく画質の劣化及び画像読取時間の遅延を防ぐことができる。
【００７３】
【発明の効果】
以上説明したように、請求項１の画像読取装置、請求項３の画像読取装置の制御方法及び請求項５の記憶媒体によれば、一時記憶手段で仮想メモリが用いられ、かつ、仮想メモリへのデータ記憶速度が所定値より小さい場合には、画像読取手段の画像読取速度が、仮想メモリが用いられない場合の画像読取手段の画像読取速度よりも遅く設定されるので、画像データの読み出しの中断に基づく画質の劣化及び画像読取時間の遅延を防ぐことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る画像読取装置の概略構成を示すブロック図である。
【図２】図１の画像読取装置２００を制御するプログラムの構造を示す図である。
【図３】図２におけるデバイスドライバ３０３によって実行されるモータ２１４の速度決定処理のプログラムを示すフローチャートである。
【図４】画像読取装置２００の読み取り領域を示す図である。
【図５】モータ速度Ｓと解像度Ｋとの対応関係を表すテーブルの一例を示す図である。
【図６】本発明の第２の実施の形態に係る画像読取装置におけるデバイスドライバ３０３によって実行されるモータ２１４の速度決定処理のプログラムを示すフローチャートである。
【図７】本発明の第３の実施の形態に係る画像読取装置におけるデバイスドライバ３０３によって実行されるモータ２１４の速度決定処理のプログラムを示すフローチャートである。
【図８】従来のデバイスドライバ３０３によって実行されるモータ２１４の速度決定処理のプログラムを示すフローチャートである。
【符号の説明】
１００  ホストコンピュータ
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ハードディスク
１０４  モニタ
１０５  入力装置
１０６  インターフェース部
２００  画像読取装置
２０１  イメージセンサ（ＣＩＳ）
２０２  ＬＥＤ
２０３  ＬＥＤ制御回路
２０４  ＡＭＰ
２０５  Ａ／Ｄ変換回路
２０６  シェーディングＲＡＭ
２０７  シェーディング補正回路
２０８  ピーク検知回路
２０９  ガンマ変換回路
２１０  バッファＲＡＭ
２１１  パッキング／バッファＲＡＭ制御回路
２１２  インターフェース回路
２１３  モータドライブ回路
２１４  モータ
【図１】
0003581644.tif 000002
【図２】
0003581644.tif 000003
【図３】
0003581644.tif 000004
【図４】
0003581644.tif 000005
【図５】
0003581644.tif 000006
【図６】
0003581644.tif 000007
【図７】
0003581644.tif 000008
【図８】
0003581644.tif 000009