説明

画像読取装置

【課題】複数のクラスドライバを使用して画像の読み取りを円滑に行うことができる画像読取装置を提供する。
【解決手段】PCは、画像読取装置を、ヒューマンインタフェースデバイス及びマスストレージデバイスとして認識する。画像読取装置は、PCが画像読取装置を制御するために必要なアプリケーションを、マスストレージクラスドライバを使用してPCに送信する(S15)。ユーザは、画像の読取指示をPCに対して入力する(S23)。PCは、画像読取装置に対して画像の読み取り指示を送信する(S25)。画像読取装置は、原稿の画像を1ラインずつ読み取り、HIDクラスドライバを使用してPCに送信する(S31)。PCは、画像をディスプレイに表示する(S33)。画像読取装置は、異常を検出した場合、マスストレージクラスドライバを使用してPCに対して異常を通知する(S39)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、PC等の外部機器と接続し、外部機器からの指示に基づいて画像を読み取る画像読取装置に関する。
【背景技術】
【0002】
複数のクラスドライバが実装された画像読取装置が提案されている。例えば特許文献1に記載された画像読取装置には、マスストレージクラスドライバ及びスキャナクラスドライバが実装されている。該画像読取装置は、接続されるPCに、利用可能なスキャナクラスドライバがインストールされているか否かを判断する。画像読取装置は、判断結果に基づいて、何れかのクラスドライバを選択して使用する。例えば、利用可能なスキャナクラスドライバがPCにインストールされている場合、画像読取装置では、スキャナクラスドライバが選択されて使用される。画像読取装置において読み取られた画像は、スキャナクラスドライバを使用してPCに転送される。一方、利用可能なスキャナクラスドライバがPCにインストールされていない場合、画像読取装置では、マスストレージクラスドライバが選択されて使用される。画像読取装置において読み取られた画像は、PCによって直接読み出される。
【0003】
また上述の画像読取装置では、マスストレージクラスドライバが使用された状態で、画像読取装置に記憶されたキャプチャアプリケーションがPCにて読み出される場合がある。読み出されたキャプチャアプリケーションがPCにおいて実行されることで、画像読取装置は画像の読み取りを開始することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−113702号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述の画像読取装置では、利用可能なスキャナクラスドライバがPCにインストールされていない場合、キャプチャアプリケーション及び画像の読み出しは、マスストレージクラスドライバのみが使用されて実行されることになる。従って、マスストレージクラスドライバにおいて許容される通信のデータ量を超えてしまう可能性がある。このような場合、画像読取装置における画像の読み取りが円滑に実行されなくなってしまう可能性があるという問題点がある。
【0006】
本発明は、複数のクラスドライバを使用して画像の読み取りを円滑に行うことができる画像読取装置を提供することにある。
【課題を解決するための手段】
【0007】
本発明に係る画像読取装置は、複数のクラスドライバである標準クラスドライバが予め実装された外部機器と接続し、前記外部機器からの指示に基づいて画像を読み取る画像読取装置であって、前記標準クラスドライバに対応する複数のクラスドライバであって、前記標準クラスドライバが使用された状態の前記画像読取装置との通信を行うために設けられた実装クラスドライバと、前記実装クラスドライバを同時に使用して前記外部機器と通信を行う通信手段と、前記画像を読み取る読み取り手段とを備え、前記通信手段は、ユーザによる前記外部機器への入力操作を可能とするためのアプリケーションを、前記外部機器に実行させることが可能なように、前記実装クラスドライバのうち第一実装クラスドライバを使用して、前記アプリケーションの実行に必要なデータを送信する第一送信手段と、前記第一送信手段において送信された前記データに基づき、前記アプリケーションが前記外部機器において実行され、前記外部機器に対して画像の読み取り指示が入力された場合に、前記実装クラスドライバのうち前記第一実装クラスドライバ以外の第二実装クラスドライバを使用して、前記外部機器から、画像の読み取り指示を受信する受信手段と、前記受信手段において画像の読み取り指示が受信された場合に、前記読み取り手段において読み取られた前記画像を、前記第二実装クラスドライバを使用して前記外部機器に対して送信する第二送信手段とを備えている。
【0008】
本発明によれば、画像読取装置は、外部機器に実装された標準クラスドライバに対応する実装クラスドライバを備えているので、複数のクラスドライバを同時に使用して外部機器と確実に通信を行うことができる。従って画像読取装置は、外部機器との間の通信のデータ量が多い場合や、複数の通信が重複する場合でも、外部機器との通信を円滑に実行することができる。このため画像読取装置は、読み取った画像を外部機器に対してスムーズに送信することができる。
【0009】
また本発明において、前記第一実装クラスドライバが使用されることにより、前記外部機器は、前記画像読取装置を外部記憶機器として認識してもよい。これによって外部機器は、画像読取装置からアプリケーションを直接読み出すことができるので、画像読取装置は、外部機器に対してアプリケーションを容易に提供することができる。
【0010】
また本発明において、前記第一実装クラスドライバは、マスストレージクラスドライバであってもよい。マスストレージクラスドライバは、外部機器に標準的に実装されている可能性が高いので、画像読取装置は、マスストレージクラスドライバを使用して外部機器と確実に通信を行い、外部機器に対してアプリケーションを容易に提供することができる。
【0011】
また本発明において、前記第二実装クラスドライバは、HID(Human Interface Device)クラスドライバであってもよい。HIDクラスドライバは、外部機器に標準的に実装されている可能性が高いので、画像読取装置は、HIDクラスドライバを使用して外部機器と確実に通信を行い、読み取った画像を容易に外部機器に対して送信することができる。
【0012】
また本発明において、前記読み取り手段は、前記画像を主走査方向に1ライン分ずつ読み取り、前記第二送信手段は、前記読み取り手段において読み取られた画像を、前記外部機器に対して1ライン分ずつ送信してもよい。画像読取装置は、画像を1ラインずつ読み取る度に外部機器に送信するので、画像をすべて記憶装置に記憶しておく必要がない。このため画像読取装置は、画像を記憶するために必要な記憶装置の容量を小さくすることが可能となる。また画像読取装置は、画像がすべて読み取られる前に、1ライン分ずつ画像を外部機器に対して送信することができる。このため画像読取装置は、画像の読み取りが終了した時点で、外部機器に送信するべき画像のデータ量を小さくすることができる。従って画像読取装置は、画像の読み取りが終了してから、外部機器に対する画像の送信が完了するまでの時間を短縮することができる。外部機器を使用するユーザは、画像読取装置が読み取った画像を短時間で取得することができる。
【0013】
また本発明において、前記画像読取装置の異常を検出する検出手段と、前記検出手段において前記異常が検出された旨を、前記第一実装クラスドライバ又は前記第二実装クラスドライバを使用して前記外部機器に送信する第三送信手段とを備えていてもよい。第一実装クラスドライバが選択された場合、画像読取装置は、読み取った画像を外部機器に対して円滑に送信しつつ、発生した異常を外部機器に対して通知することができる。また、第二実装クラスドライバが選択された場合、画像読取装置は、外部機器に対するアプリケーションの提供を円滑に実行しつつ、発生した異常を外部機器に対して通知することができる。
【0014】
また本発明において、前記必要なデータは、前記アプリケーションの実行ファイルであってもよい。これによって外部機器は、取得した実行ファイルを実行することによって、アプリケーションを容易に実行することができる。
【図面の簡単な説明】
【0015】
【図1】印刷システム1の概要を示す模式図である。
【図2】画像読取装置11及びPC12の電気的構成を示すブロック図である。
【図3】画像読取装置11及びPC12に実装された制御プログラムの構成を示す模式図である。
【図4】画像読取装置11とPC12との間の通信手順を示す図である。
【図5】メイン処理(PC)を示すフローチャートである。
【図6】メイン処理(PC)を示すフローチャートであって、図5の続きである。
【図7】メイン処理(読取装置)を示すフローチャートである。
【図8】App実行処理(PC)を示すフローチャートである。
【図9】App実行処理(読取装置)を示すフローチャートである。
【図10】異常監視処理(PC)を示すフローチャートである。
【図11】異常監視処理(読取装置)を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、本発明の一実施形態について、図面を参照して説明する。これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものである。記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
【0017】
図1を参照し、印刷システム1の概要について説明する。印刷システム1は、画像読取装置11及びPC12を備えている。画像読取装置11は、USBケーブルによってPC12と接続している。画像読取装置11は、画像スキャナの一種である。ユーザは、PC12のキーボード36やマウス37(図2参照)を介して入力操作を行うことによって、画像読取装置11の動作を制御することができる。画像読取装置11は、PC12からの指示に応じ、原稿台にセットされた原稿から画像を読み取る。画像読取装置11は、読み取った画像を、USBケーブルを介してPC12に送信する。PC12は、画像読取装置11から受信した画像をディスプレイ35に表示する。これによってユーザは、原稿から読み取られた画像を確認することができる。
【0018】
図2を参照し、画像読取装置11の電気的構成について説明する。画像読取装置11は、画像読取装置11全体の制御を司るCPU21を備えている。CPU21は、SRAM22、FLASH ROM23、EEPROM24、USBインタフェース(以下、USB I/Fという。)25、イメージセンサ26、操作キー27、及びディスプレイ28を備えている。
【0019】
SRAM22には、タイマやカウンタ、一時的なデータが記憶される。またSRAM22には、イメージセンサ26によって読み取られた画像が一時的に記憶される。FLASH ROM23には、CPU21の制御プログラムが記憶される。またFLASH ROM23には、PC12において実行されるアプリケーションの実行ファイルが記憶される。このアプリケーションは、ユーザがPC12を操作して画像読取装置11に画像の読み取りを実行させる場合に、PC12において必要となる。詳細は後述する。EEPROM24には、パラメータや読み取り条件が記憶される。パラメータとしては、例えば、CPU21がイメージセンサ26を駆動する場合に最適な駆動パラメータや、原稿に照射する光(図示外)の強度パラメータが挙げられる。読み取り条件としては、画像を読み取る場合の画素数、モノクロ/カラー、濃度が挙げられる。USB I/F25は、USBケーブルを介した通信を制御するためのコントローラである。イメージセンサ26は、原稿台にセットされた原稿から画像を読み取るためのCCD方式のセンサや、CIS方式のセンサである。
【0020】
PC12の電気的構成について説明する。PC12は、PC12全体の制御を司るCPU31を備えている。CPU31は、ROM32、RAM33、HDD34、ディスプレイ35、キーボード36、マウス37、ドライブ装置38、及びUSB I/F39を備えている。ROM32には、ブートプログラムやBIOS等が記憶される。RAM33には、タイマやカウンタ、一時的なデータが記憶される。またRAM33には、画像読取装置11から受信したアプリケーションの実行ファイルが記憶される。詳細は後述する。HDD34には、CPU31の制御プログラムやOSが記憶される。またHDD34には、画像読取装置11において読み取られた画像が記憶される。ドライブ装置38は、記憶媒体(図示外)に記憶された情報を読み取ることができる。例えば、制御プログラムのセットアップ時、記憶媒体に記憶された制御プログラムはドライブ装置38によって読み出され、HDD34に記憶される。USB I/F39は、USBケーブルを介した通信を制御するためのコントローラである。
【0021】
図3を参照し、画像読取装置11のFLASH ROM23に記憶された制御プログラムの構成について説明する。制御プログラム41は、アプリケーションプログラム42及びUSB制御プログラム43を備えている。アプリケーションプログラム42は、制御プログラムのうち上位レベルの処理を行う。上位レベルの処理として、例えば、ファイル操作(書き込み、読み出し)や、USB制御プログラム43への命令等が挙げられる。USB制御プログラム43は、HID(Human Interface Device)クラスドライバ(以下、HCドライバという。)44、及び、マスストレージクラスドライバ(以下、MCドライバという。)45を備えている。以下、HCドライバ44及びMCドライバ45を、実装クラスドライバともいう。
【0022】
HCドライバ44は、画像読取装置11にPC11がUSBケーブルを介して接続された場合に、PC11に対して画像読取装置11をヒューマンインタフェースデバイスとして認識させることができる。ヒューマンインタフェースデバイスとして、例えばキーボードやマウス等が挙げられる。MCドライバ45は、画像読取装置11にPC11がUSBケーブルを介して接続された場合に、PC11に対して画像読取装置11をマスストレージデバイスとして認識させることができる。マスストレージデバイスとして、例えば、USBメモリ等の汎用の記憶装置が挙げられる。PC12は、画像読取装置11をマスストレージデバイスとして認識した場合、画像読取装置11のFLASH ROM23のうち指定された記憶領域から情報を直接読み出すことができる。またPC12は、画像読取装置11をマスストレージデバイスとして認識した場合、画像読取装置11のFLASH ROM23のうち指定された記憶領域に情報を直接書き込むことができる。
【0023】
PC12に実装された制御プログラムの構成について説明する。制御プログラム51は、アプリケーションプログラム52及びUSB制御プログラム53を備えている。USB制御プログラム53は、HCドライバ54及びMCドライバ55を備えている。HCドライバ54は、画像読取装置11のHCドライバ44にアクセスするために使用される。PC12は、HCドライバ44、54を介して、画像読取装置11をヒューマンインタフェースデバイスとして認識する。MCドライバ55は、画像読取装置11のMCドライバ45にアクセスするために使用される。PC12は、MCドライバ45、55を介して、画像読取装置11をマスストレージデバイスとして認識する。
【0024】
HCドライバ54及びMCドライバ55は、通常、PC12にインストールされたOSに標準的に実装されている。例えば、汎用的なOSであるウィンドウズ(登録商標)には、HCドライバ及びMCドライバが標準的に実装されている。以下、HCドライバ54及びMCドライバ55を、標準クラスドライバともいう。PC12は、標準クラスドライバを使用することによって、画像読取装置11をヒューマンインタフェースデバイスとして認識し、且つマスストレージデバイスとして認識することができる。このためPC12は、ユーザによるクラスドライバのインストールを要することなく、画像読取装置11を簡単且つ正確に認識することができる。
【0025】
また画像読取装置11は、HCドライバ44及びMCドライバ45を同時に使用することができる。従ってPC12は、接続された画像読取装置11をヒューマンインタフェースデバイスとして認識すると同時に、マスストレージデバイスとして認識することができる。以下、PC12において画像読取装置11がヒューマンインタフェースデバイスとして認識され、HCドライバ44、54を介して通信が行われることを、HCインタフェースを介して通信が行われるともいう。PC12において画像読取装置11がマスストレージデバイスとして認識され、MCドライバ54、55を介して通信が行われることを、MCインタフェースを介して通信が行われるともいう。画像読取装置11は、同時に複数のインタフェースを介してPC12と通信を行うことができる。これによって画像読取装置11は、PC12との間で複数の通信路を設定し、其々の通信路を介して異なる通信を行うことができる。このため画像読取装置11は、通信データが多くなった場合や、複数の通信が同時に実行される場合でも、PC12との間の通信を円滑に実行することができる。以下詳説する。
【0026】
図4を参照し、画像読取装置11において画像が読み取られる際に、画像読取装置11とPC12との間で実行される通信の手順について説明する。ユーザは、画像読取装置11の電源がOFFされた状態で、画像読取装置11とPC12とをUSBケーブルによって接続する。画像読取装置11の電源がユーザによってONされる(S11)。PC12は、画像読取装置11を検出する。PC12は、USBプラグ&プレイにより、ヒューマンインタフェースデバイス及びマスストレージデバイスとして画像読取装置11を認識する。画像読取装置11とPC12とは、HCインタフェースを介した通信と、MCインタフェースを介した通信との両方が同時に可能な状態になる。
【0027】
PC12が画像読取装置11をマスストレージデバイスとして認識している状態では、PC12は、画像読取装置11のFLASH ROM23のうち指定された領域の情報を直接読み出すことができる。FLASH ROM23のうち指定された領域には、アプリケーションの実行ファイルが記憶されている。アプリケーションは、画像読取装置11の制御をPC12側から実行するためのものである。PC12は、画像読取装置11のFLASH ROM23から実行ファイルを直接読み出す。PC12によるFLASH ROM23の読み出し動作により、実行ファイルは画像読取装置11からPC12に対して送信され(S15)、PC12において受信される。
【0028】
PC12は、画像読取装置11から受信した実行ファイルを、RAM33に記憶する。画像読取装置11は、S15で送信した実行ファイルの実行を、MCインタフェースを介してPC12に指示する(S17)。PC12において、RAM33に記憶された実行ファイルが実行され、アプリケーションが起動される(S19)。PC12のディスプレイ35には、画像読取装置11を制御するための入力操作が可能な画面が表示される。ユーザは、表示された画面に従いキーボード36やマウス37を介して入力操作を行うことで、画像読取装置11を制御することが可能となる。
【0029】
PC12のユーザは、画像読取装置11の原稿台に原稿をセットする(S21)。PC12のユーザは、ディスプレイ35に表示された画面に従い、画像の読み取りを開始する指示を入力する(S23)。PC12は、HCインタフェースを介して、画像の読み取りの開始を画像読取装置11に対して指示する(S25)。画像読取装置11は、PC12からの指示に応じ、原稿台にセットされた原稿からの画像の読み取りを開始する(S27)。
【0030】
画像読取装置11は、原稿台にセットされた原稿の画像を、主走査方向に1ラインずつ順番に読み取る(S29)。読み取られた1ライン分の画像は、SRAM22に一時的に記憶される。画像読取装置11は、画像が1ライン分読み取られる度に、SRAM22に記憶された1ライン分の画像を読み出し、HCインタフェースを介してPC12に対して送信する(S31)。送信後、送信された1ライン分の画像は、SRAM22から消去される。画像読取装置11は、原稿から読み取った1ライン毎の画像のすべてを、SRAM22に記憶しておく必要がない。したがって画像読取装置11は、読み取った画像を記憶するために必要なSRAM22の容量を抑制することができる。PC12は、画像読取装置11において読み取られた画像を、1ライン分ずつHCインタフェースを介して受信する(S31)。PC12は、受信した画像をディスプレイ35に順番に表示する(S33)。
【0031】
画像読取装置11において画像が1ライン分ずつ連続的に読み取られ、PC12に対して画像が1ライン分ずつ順に送信されている最中(S31)に、ユーザによってPC12への入力操作が行われたとする。例えばユーザは、画像読取装置11に対して設定されているパラメータや読み取り条件を参照するための操作を実行したとする(S34)。PC12は、画像読取装置11に設定されているパラメータを、MCインタフェースを介して画像読取装置11に対して要求する(S35)。ここで、画像読取装置11において読み取られた画像の通信はHCインタフェースを介して実行されており、MCインタフェースは使用されていない。このため、パラメータを要求するための通信がMCインタフェースを介して実行されても、HCインタフェースを介して実行されている通信、即ち読み取られた画像の通信に影響を及ぼすことはない。
【0032】
画像読取装置11は、PC12からの指示に応じ、設定されているパラメータをEEPROM24から読み出す。画像読取装置11は、読みだしたパラメータを、MCインタフェースを介してPC12に対して通知する。(S37)。S35での通信と同様、パラメータの送信にはMCインタフェースが使用されるので、HCインタフェースを介して実行されている通信、即ち読み取られた画像の通信には影響が及ばない。
【0033】
画像読取装置11において画像が連続的に読み取られ、PC12に対して画像が1ライン分ずつ順に送信されている最中(S31)に、画像読取装置11において何らかの異常が検出されたとする。発生し得る異常として、例えば、画像読取装置11における画像の読み取りの失敗や、FLASH ROM23への情報の書き込み失敗が挙げられる。画像読取装置11は、異常が検出された旨を、MCインタフェースを介してPC12に対して通知する(S39)。S35、及びS37での通信と同様、異常を通知するための通信はMCインタフェースを介して実行されるので、HCインタフェースを介して実行されている通信、即ち読み取られた画像の通信には影響が及ばない。
【0034】
以上のようにして画像読取装置11は、読み取られた画像の通信を、HCインタフェースを介して円滑に実行しつつ、パラメータの要求や通知、異常発生の通知等を、MCインタフェースを介して確実に実行することができる。
【0035】
画像読取装置11において読み取り動作が完了し、原稿の画像がすべて読み取られたとする。画像読取装置11による画像の読み取りは中断される。ユーザは、PC12のディスプレイ35を視認することによって、読み取られた画像全体を認識することができる。ユーザは、表示されている画面に従い、画像の読み取りを終了する指示を入力する(S41)。PC12は、HCインタフェースを介して、画像の読み取りの終了を画像読取装置11に対して指示する(S43)。画像読取装置11は、PC12からの指示に応じ、原稿からの画像の読み取りを終了する。
【0036】
なお画像読取装置11は、画像を読み取っている最中であっても、読み取られた画像を1ライン分ずつPC12に対して送信している(S31)。従って、画像の読み取りが終了した時点で、画像読取装置11からPC12に対して送信されるべき画像の残り分は少なくなっている。このため、画像読取装置11において読み取られた画像がディスプレイ35に表示されるまでの時間は、画像の読み取りが終了した後で画像全体がPC12に対して送信される場合よりも短くなる。従ってユーザは、画像読取装置11において読み取られた画像を、より短時間で認識することができる。
【0037】
図5から図11を参照し、画像読取装置11のCPU21、及びPC12のCPU31において実行される各種処理について説明する。メイン処理(PC)(図5、図6参照)、App実行処理(PC)(図8参照)、及び異常監視処理(PC)(図10参照)は、PC12のCPU31において起動され実行される。メイン処理(PC)は、CPU31の電源が投入された場合に起動される。App実行処理(PC)(図8参照)、及び異常監視処理(PC)は、メイン処理(PC)中で起動される。其々の処理は並列して実行される。メイン処理(読取装置)(図7参照)、App実行処理(読取装置)(図9参照)、及び異常監視処理(読取装置)(図11参照)は、画像読取装置11のCPU21において起動され実行される。メイン処理(読取装置)は、CPU21の電源が投入された場合に起動される。App実行処理(読取装置)、及び異常監視処理(読取装置)は、メイン処理(読取装置)中で起動され実行される。其々の処理は並列して実行される。
【0038】
図5及び図6を参照し、メイン処理(PC)について説明する。USBケーブルを介して接続された状態の画像読取装置11に電源が投入されることによって、USBケーブルを介して画像読取装置11が検出されたかが判断される(S111)。画像読取装置11に電源が投入されていない場合(S111:NO)、画像読取装置11は検出されないので、処理はS111に戻る。
【0039】
画像読取装置11に電源が投入され、画像読取装置11が検出された場合(S111:YES)、画像読取装置11は、ヒューマンインタフェースデバイス及びマスストレージデバイスとして認識される。PC12は、HCインタフェース及びMCインタフェースを同時に使用することによって画像読取装置11と通信を行うことが可能な状態となる。
【0040】
画像読取装置11から送信されたアプリケーションの実行ファイル(S141、図7参照)が、MCインタフェースを介して受信される(S113)。受信された実行ファイルは、RAM33に記憶される。RAM33に記憶された実行ファイルを実行する旨の指示が、MCインタフェースを介して受信される。RAM33に記憶した実行ファイルが実行され、アプリケーションが起動される(S115)。ディスプレイ35に、ユーザによる入力操作を受け付けるための画面が表示される。アプリケーションの起動中に、ユーザからの入力操作を受け付ける処理(App実行処理(PC)(図8参照))が起動される(S117)。App実行処理(PC)の詳細は後述する。アプリケーションの起動中に、画像読取装置11の異常を受け付ける処理(異常監視処理(PC)(図10参照))が起動される(S119)。異常監視処理(PC)の詳細は後述する。
【0041】
図6に示すように、ユーザが、ディスプレイ35に表示された画面に従い、画像読取装置11による画像の読み取りを開始させるための入力操作を行ったかが判断される(S121)。画像の読み取りを開始させるための入力操作が行われていない場合(S121:NO)、処理はS121に戻る。画像の読み取りを開始させるための入力操作が行われた場合(S121:YES)、画像の読み取りを開始する旨の指示が、HCインタフェースを介して画像読取装置11に対して送信される(S123)。画像読取装置11において、画像の読み取りが開始される(S149〜(図7参照))。
【0042】
画像読取装置11において読み取られた1ライン分の画像が、画像読取装置11から送信される(S151、図7参照)。HCインタフェースを介して、1ライン分の画像が受信される(S125)。受信された1ライン分の画像は、RAM33に一時的に記憶される。受信された1ライン分の画像は、ディスプレイ35に順番に表示される(S127)。
【0043】
画像読取装置11において読み取り動作が完了し、原稿の画像がすべて読み取られたかが判断される(S129)。1ライン分の画像が継続して画像読取装置11から送信されている場合、画像の読み取りは完了していないので(S129:NO)、処理はS125に戻る。画像読取装置11から送信される1ライン分の画像が、HCインタフェースを介して継続して受信される(S125)。一方、画像読取装置11からの画像の送信が完了した場合、画像読取装置11における画像の読み取り動作が完了したことになる(S129:YES)。この場合、RAM33に一時的に記憶された複数の1ライン分の画像は、1枚の画像に編集される。編集された画像は、HDD34に記憶される(S131)。
【0044】
ユーザが、原稿台にセットした原稿を入れ替え、新たな原稿から画像を読み取ることを所望したとする。ユーザは、画像の読み取りを再開させるために、PC12に対して読み取り指示を入力する(S133:YES)。処理はS123に戻る。画像の読み取りを開始する旨の指示が、HCインタフェースを介して画像読取装置11に対して送信され(S123)、処理は繰り返される。一方、画像の読み取りを終了させる指示が、ユーザによって入力されたとする(S133:NO)。この場合、画像の読み取りを終了させる旨の指示が、HCインタフェースを介して画像読取装置11に対して送信される(S135)。処理はS111(図5参照)に戻る。
【0045】
図7を参照し、メイン処理(読取装置)について説明する。電源がONされ、PC12が画像読取装置11を認識することによって、PC12は画像読取装置11をヒューマンインタフェースデバイス及びマスストレージデバイスとして認識している。画像読取装置11は、HCインタフェース及びMCインタフェースを同時に使用することによってPC12と通信を行うことが可能な状態となっている。
【0046】
MCインタフェースを介して、PC12に対してアプリケーションの実行ファイルが送信される(S141)。実行ファイルを実行する旨の指示が、MCインタフェースを介してPC12に対して送信される(S141)。PC12において、アプリケーションが起動される(S115、図5参照)。PC12からの要求に応じてパラメータや読み取り条件を送信する処理(App実行処理(読取装置)(図9参照))が起動される(S143)。App実行処理(読取装置)の詳細は後述する。画像読取装置11の異常を検出してPC12に通知する処理(異常監視処理(読取装置)(図11参照))が起動される(S145)。異常監視処理(読取装置)の詳細は後述する。
【0047】
画像の読み取りを開始する旨の指示が、HCインタフェースを介してPC12から送信される(S123、図6参照)。送信された指示が、HCインタフェースを介して受信される(S147)。原稿台にセットされた原稿からの画像の読み取り動作が開始される。画像は、主走査方向に1ライン分ずつ読み取られる(S149)。読み取られた1ライン分の画像は、SRAM22に一時的に記憶される。SRAM22に記憶された1ライン分の画像は、HCインタフェースを介してPC12に対して送信される(S151)。原稿の画像がすべて読み取られ、読み取り動作が完了したかが判断される(S153)。読み取られていない画像が残存しており、画像の読み取り動作が完了していない場合(S153:NO)、処理はS149に戻る。次の1ライン分の画像が読み取られ(S149)、処理は繰り返される。
【0048】
原稿の画像がすべて読み取られ、読み取り動作が完了したとする(S153:YES)。画像の読み取りを終了させる旨の指示が、HCインタフェースを介して受信されたかが判断される(S155)。画像の読み取りを終了させる旨の指示が受信されていない場合(S155:NO)、ユーザは新たな原稿から画像を読み出すことを所望していることになるので、処理はS147に戻る。画像の読み取りを開始する旨の指示が、HCインタフェースを介して受信され(S147)、画像の読み取りが再開される(S149)。一方、画像の読み取りを終了させる旨の指示がPC12から送信されたとする(S135、図6参照)。HCインタフェースを介して指示が受信される(S155:YES)。画像の読み取りを終了させる入力操作がユーザによって行われたことになるので、メイン処理(読取装置)は終了する。
【0049】
図8を参照し、App実行処理(PC)について説明する。ディスプレイ35に表示された画面に従い、パラメータ及び読み取り条件を参照するための操作がユーザによって入力されたかが判断される(S171)。パラメータ及び読み取り条件を参照するための操作がユーザによって入力されていない場合(S171:NO)、処理はS171に戻り、入力操作が継続して監視される。
【0050】
一方、パラメータ及び読み取り条件を参照するための操作がユーザによって入力された場合(S171:YES)、パラメータ及び読み取り条件を取得する旨の要求が、MCインタフェースを介して画像読取装置11に対して送信される(S173)。なお、画像読取装置11において読み取られた画像の通信は、HCインタフェースを介して実行されている(S151、図7参照)。このため、MCインタフェースを介して要求が送信された場合でも、HCインタフェースを介した通信に影響は及ばない。
【0051】
画像読取装置11は、要求に応じ、設定されているパラメータ及び読み取り条件を、MCインタフェースを介してPC12に対して送信する(S181、図9参照)。MCインタフェースを介して、パラメータ及び読み取り条件が受信される(S175)。受信されたパラメータ及び読み取り条件は、ディスプレイ35に表示される(S177)。処理はS171に戻る。
【0052】
図9を参照し、App実行処理(制御装置)について説明する。パラメータ及び読み取り条件を取得する旨の要求が、MCインタフェースを介して受信されたかが判断される(S179)。パラメータ及び読み取り条件を取得する旨の要求が受信されていない場合(S179:NO)、処理はS179に戻る。
【0053】
PC12のユーザによって、画像読取装置11に設定されたパラメータ及び読み取り条件を参照する入力操作がなされたとする。CP12は、パラメータ及び読み取り条件の取得を要求する旨の指示を、MCインタフェースを介して画像読取装置11に対して送信する(S173、図8参照)。該要求が、MCインタフェースを介して受信される(S179:YES)。設定されているパラメータ及び読み取り条件が、EEPROM24から読み出される。読み出されたパラメータ及び読み取り条件は、MCインタフェースを介してPC12に対して送信される(S181)。S173(図8参照)での通信と同様、パラメータ及び読み取り条件の通信はMCインタフェースを介して行われる。このため、パラメータ及び読み取り条件の通信は、HCインタフェースを介して実行されている画像の通信に影響を及ぼさない。処理はS179に戻る。
【0054】
以上のように、画像読取装置11は、HCインタフェース及びMCインタフェースを同時に使用できるので、一方を介した通信が他方に影響を及ぼしてしまうことを防止することができる。従って画像読取装置11は、HCインタフェースを介した画像の通信と、MCインタフェースを介したパラメータ及び読み取り条件の通信とを、迅速且つ確実に実行することができる。
【0055】
図10を参照し、異常監視処理(PC)について説明する。MCインタフェースを介し、異常が検出された旨の通知が画像読取装置11から受信されたかが判断される(S191)。異常が検出された旨の通知を受信していない場合(S191:NO)、処理はS191に戻る。異常が検出された旨の通知が受信された場合(S191:YES)、異常が検出された旨がディスプレイ35に表示される(S193)。処理はS191に戻る。
【0056】
図11を参照し、異常監視処理(読取装置)について説明する。画像読取装置11において異常が検出されたかが判断される(S195)。異常が検出されない場合(S195:NO)、処理はS195に戻る。一方、例えば、画像読取装置11が画像の読み取りに失敗したり、FLASH ROM23への書き込みに失敗したりしたとする(S195:YES)。異常が検出された旨の通知が、MCインタフェースを介してPC12に対して送信される(S197)。なお、画像読取装置11において読み取られた画像の通信は、HCインタフェースを介して実行されている(S151、図7参照)。このため、MCインタフェースを介して以上の通知が送信された場合でも、HCインタフェースを介した通信に影響は及ばない。処理はS195に戻る。
【0057】
以上説明したように、画像読取装置11は、PC12に実装された標準クラスドライバ(HCドライバ54及びMCドライバ55)に対応する実装クラスドライバ(HCドライバ44及びMCドライバ45)を備えている。画像読取装置11は、複数のクラスドライバを同時に使用し、PC12と確実に通信を行うことができる。従って画像読取装置11は、PC12との間の通信のデータ量が多い場合や、複数の通信が重複する場合でも、PC12との通信を円滑に実行することができる。画像読取装置11は、読み取りった画像をPC12に対してスムーズに送信することができる。
【0058】
PC12は、画像読取装置11をマスストレージデバイスとして認識することができる。これによってPC12は、画像読取装置11からアプリケーションを直接読み出すことができる。画像読取装置11は、外部機器に対してアプリケーションを容易に提供することができる。またPC12は、画像読取装置11をヒューマンインタフェースデバイスとして認識することができる。これによってPC12は、画像読取装置11との通信を容易に実行することができる。
【0059】
画像読取装置11が備えているHCドライバ44及びMCドライバ45は、PC12に標準的に実装されている可能性が高い。これらのクラスドライバは、OSに標準搭載されている場合が多いためである。従ってユーザは、PC12に対してドライバのインストールを行うことなく、PC12に画像読取装置11を正常に認識させることができる。
【0060】
なお、PC12が本発明の「外部機器」に相当する。S149の処理を行うCPU21が本発明の「読み取り手段」に相当する。S141の処理を行うCPU21が本発明の「第一送信手段」に相当する。S147の処理を行うCPU21が本発明の「受信手段」に相当する。S151の処理を行うCPU21が本発明の「第二送信手段」に相当する。S141、S147、及びS151の処理を行うCPU21が本発明の「通信手段」に相当する。S195の処理を行うCPU21が本発明の「検出手段」に相当する。S197の処理を行うCPU21が本発明の「第三送信手段」に相当する。
【0061】
なお本発明は上述の実施形態に限定されず、種々の変更が可能である。上述では、画像読取装置11において異常が検出された場合、MCインタフェースを介して異常が通知されていた。異常の通知は、HCインタフェースを介して実行されてもよい。また画像読取装置11は、所定の文字列(例えば「〇〇の異常が発生しました。」等)がキーボードを介して押下された場合と同様の信号を、HCインタフェースを介してPC12に対して送信してもよい。PC12は、画像読取装置11から受信した文字列を、テキストエディタ等のアプリケーションを介してディスプレイ35に直接表示してもよい。これによって画像読取装置11は、検出された異常の内容を詳細に通知することができる。またPC12は、受信した文字列をそのままディスプレイ35に表示することによって、画像読取装置11において発生した異常の内容を詳細にユーザに通知することができる。
【0062】
上述では、画像読取装置11からMCインタフェースを介して送信されたアプリケーションの実行ファイルは、PC12のRAM33に記憶された。記憶された実行ファイルが実行されることによって、アプリケーションが起動されていた。例えばPC12は、画像読取装置11内で実行ファイルを実行させてもよい。
【0063】
上述では、HCインタフェース及びMCインタフェースが同時に使用され、画像読取装置11とPC12との間で通信が実行されていた。例えば画像読取装置11は、HCドライバ45及びMCドライバ45以外のドライバを備えていてもよい。PC12に標準的に実装された標準クラスドライバに対応するクラスドライバであれば、他のクラスドライバを備えていてもよい。例えばプリンタクラスドライバやスキャナクラスドライバを備えていてもよい。また、画像読取装置11に実装されるクラスドライバの数は、3以上であってもよい。
【0064】
アプリケーションの実行ファイルが画像読取装置11からPC12に対して送信される場合に使用されるインタフェースは、MCインタフェースに限定されない。他のクラスドライバが使用された状態で実行される通信によって、実行ファイルが画像読取装置11からPC12に対して送信されてもよい。画像読取装置11において読み取られた画像がPC12に対して送信される場合に使用されるインタフェースは、HCインタフェースに限定されない。他のクラスドライバが使用された状態で実行される通信によって、画像が画像読取装置11からPC12に対して送信されてもよい。PC12から画像読取装置11に対して開始指示(S123)、及び終了指示(S135)が送信される場合に使用されるインタフェースは、HCインタフェースに限定されず、他のインタフェースであってもよい。例えばMCインタフェースが使用されてもよい。
【0065】
上述では、画像読取装置11において画像が1ライン分ずつ読み取られ、PC12に対して送信されていたが、nライン(nは整数)ずつ画像が読み取られ、PC12に対して送信されてもよい。またこのライン数は、設定によって可変としてもよい。
【0066】
画像読取装置11を制御するためにPC12において実行されるアプリケーションは、PC12に予め記憶されていてもよい。例えばPC12は、接続された画像読取装置11を制御するために必要なパラメータのみを、MCインタフェースを介して画像読取装置11から取得してもよい。
【符号の説明】
【0067】
1 印刷システム
11 画像読取装置
12 PC
41 制御プログラム
42 アプリケーションプログラム
43 制御プログラム
44 HCドライバ
45 MCドライバ
51 制御プログラム
52 アプリケーションプログラム
53 制御プログラム
54 HCドライバ
55 MCドライバ

【特許請求の範囲】
【請求項1】
複数のクラスドライバである標準クラスドライバが予め実装された外部機器と接続し、前記外部機器からの指示に基づいて画像を読み取る画像読取装置であって、
前記標準クラスドライバに対応する複数のクラスドライバであって、前記標準クラスドライバが使用された状態の前記外部機器との通信を行うために設けられた実装クラスドライバと、
前記実装クラスドライバを同時に使用して前記外部機器と通信を行う通信手段と、
前記画像を読み取る読み取り手段と
を備え、
前記通信手段は、
ユーザによる前記外部機器への入力操作を可能とするためのアプリケーションを、前記外部機器に実行させることが可能なように、前記実装クラスドライバのうち第一実装クラスドライバを使用して、前記アプリケーションの実行に必要なデータを送信する第一送信手段と、
前記第一送信手段において送信された前記データに基づき、前記アプリケーションが前記外部機器において実行され、前記外部機器に対して画像の読み取り指示が入力された場合に、前記実装クラスドライバのうち前記第一実装クラスドライバ以外の第二実装クラスドライバを使用して、前記外部機器から、画像の読み取り指示を受信する受信手段と、
前記受信手段において画像の読み取り指示が受信された場合に、前記読み取り手段において読み取られた前記画像を、前記第二実装クラスドライバを使用して前記外部機器に対して送信する第二送信手段と
を備えたことを特徴とする画像読取装置。
【請求項2】
前記第一実装クラスドライバが使用されることにより、前記外部機器は、前記画像読取装置を外部記憶機器として認識することを特徴とする請求項1に記載の画像読取装置。
【請求項3】
前記第一実装クラスドライバは、マスストレージクラスドライバであることを特徴とする請求項2に記載の画像読取装置。
【請求項4】
前記第二実装クラスドライバは、HID(Human Interface Device)クラスドライバであることを特徴とする請求項1から3のいずれかに記載の画像読取装置。
【請求項5】
前記読み取り手段は、前記画像を主走査方向に1ライン分ずつ読み取り、
前記第二送信手段は、
前記読み取り手段において読み取られた画像を、前記外部機器に対して1ライン分ずつ送信することを特徴とする請求項1から4のいずれかに記載の画像読取装置。
【請求項6】
前記画像読取装置の異常を検出する検出手段と、
前記検出手段において前記異常が検出された旨を、前記第一実装クラスドライバ又は前記第二実装クラスドライバを使用して前記外部機器に送信する第三送信手段と
を備えたことを特徴とする請求項1から5のいずれかに記載の画像読取装置。
【請求項7】
前記必要なデータは、前記アプリケーションの実行ファイルであることを特徴とする請求項1から6のいずれかに記載の画像読取装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate