(57)【特許請求の範囲】
【請求項１】
複数のクラスドライバである標準クラスドライバが予め実装された外部機器と接続し、前記外部機器からの指示に基づいて画像を読み取る画像読取装置であって、
前記標準クラスドライバに対応する複数のクラスドライバであって、前記標準クラスドライバが使用された状態の前記外部機器との通信を行うために設けられた実装クラスドライバと、
前記実装クラスドライバを同時に使用して前記外部機器と通信を行う通信手段と、
前記画像を読み取る読み取り手段と
を備え、
前記通信手段は、
ユーザによる前記外部機器への入力操作を可能とするためのアプリケーションを、前記外部機器に実行させることが可能なように、前記実装クラスドライバのうち第一実装クラスドライバを使用して、前記アプリケーションの実行に必要なデータを送信する第一送信手段と、
前記第一送信手段において送信された前記データに基づき、前記アプリケーションが前記外部機器において実行され、前記外部機器に対して画像の読み取り指示が入力された場合に、前記実装クラスドライバのうち前記第一実装クラスドライバ以外の第二実装クラスドライバを使用して、前記外部機器から、画像の読み取り指示を受信する受信手段と、
前記受信手段において画像の読み取り指示が受信された場合に、前記読み取り手段において読み取られた前記画像を、前記第二実装クラスドライバを使用して前記外部機器に対して送信する第二送信手段と
を備えたことを特徴とする画像読取装置。
【請求項２】
前記第一実装クラスドライバが使用されることにより、前記外部機器は、前記画像読取装置を外部記憶機器として認識することを特徴とする請求項１に記載の画像読取装置。
【請求項３】
前記第一実装クラスドライバは、マスストレージクラスドライバであることを特徴とする請求項２に記載の画像読取装置。
【請求項４】
前記第二実装クラスドライバは、ＨＩＤ（Human Interface Device）クラスドライバであることを特徴とする請求項１から３のいずれかに記載の画像読取装置。
【請求項５】
前記読み取り手段は、前記画像を主走査方向に１ライン分ずつ読み取り、
前記第二送信手段は、
前記読み取り手段において読み取られた画像を、前記外部機器に対して１ライン分ずつ送信することを特徴とする請求項１から４のいずれかに記載の画像読取装置。
【請求項６】
前記画像読取装置の異常を検出する検出手段と、
前記検出手段において前記異常が検出された旨を、前記第一実装クラスドライバ又は前記第二実装クラスドライバを使用して前記外部機器に送信する第三送信手段と
を備えたことを特徴とする請求項１から５のいずれかに記載の画像読取装置。
【請求項７】
前記必要なデータは、前記アプリケーションの実行ファイルであることを特徴とする請求項１から６のいずれかに記載の画像読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣ等の外部機器と接続し、外部機器からの指示に基づいて画像を読み取る画像読取装置に関する。
【背景技術】
【０００２】
複数のクラスドライバが実装された画像読取装置が提案されている。例えば特許文献１に記載された画像読取装置には、マスストレージクラスドライバ及びスキャナクラスドライバが実装されている。該画像読取装置は、接続されるＰＣに、利用可能なスキャナクラスドライバがインストールされているか否かを判断する。画像読取装置は、判断結果に基づいて、何れかのクラスドライバを選択して使用する。例えば、利用可能なスキャナクラスドライバがＰＣにインストールされている場合、画像読取装置では、スキャナクラスドライバが選択されて使用される。画像読取装置において読み取られた画像は、スキャナクラスドライバを使用してＰＣに転送される。一方、利用可能なスキャナクラスドライバがＰＣにインストールされていない場合、画像読取装置では、マスストレージクラスドライバが選択されて使用される。画像読取装置において読み取られた画像は、ＰＣによって直接読み出される。
【０００３】
また上述の画像読取装置では、マスストレージクラスドライバが使用された状態で、画像読取装置に記憶されたキャプチャアプリケーションがＰＣにて読み出される場合がある。読み出されたキャプチャアプリケーションがＰＣにおいて実行されることで、画像読取装置は画像の読み取りを開始することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１１３７０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の画像読取装置では、利用可能なスキャナクラスドライバがＰＣにインストールされていない場合、キャプチャアプリケーション及び画像の読み出しは、マスストレージクラスドライバのみが使用されて実行されることになる。従って、マスストレージクラスドライバにおいて許容される通信のデータ量を超えてしまう可能性がある。このような場合、画像読取装置における画像の読み取りが円滑に実行されなくなってしまう可能性があるという問題点がある。
【０００６】
本発明は、複数のクラスドライバを使用して画像の読み取りを円滑に行うことができる画像読取装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係る画像読取装置は、複数のクラスドライバである標準クラスドライバが予め実装された外部機器と接続し、前記外部機器からの指示に基づいて画像を読み取る画像読取装置であって、前記標準クラスドライバに対応する複数のクラスドライバであって、前記標準クラスドライバが使用された状態の前記画像読取装置との通信を行うために設けられた実装クラスドライバと、前記実装クラスドライバを同時に使用して前記外部機器と通信を行う通信手段と、前記画像を読み取る読み取り手段とを備え、前記通信手段は、ユーザによる前記外部機器への入力操作を可能とするためのアプリケーションを、前記外部機器に実行させることが可能なように、前記実装クラスドライバのうち第一実装クラスドライバを使用して、前記アプリケーションの実行に必要なデータを送信する第一送信手段と、前記第一送信手段において送信された前記データに基づき、前記アプリケーションが前記外部機器において実行され、前記外部機器に対して画像の読み取り指示が入力された場合に、前記実装クラスドライバのうち前記第一実装クラスドライバ以外の第二実装クラスドライバを使用して、前記外部機器から、画像の読み取り指示を受信する受信手段と、前記受信手段において画像の読み取り指示が受信された場合に、前記読み取り手段において読み取られた前記画像を、前記第二実装クラスドライバを使用して前記外部機器に対して送信する第二送信手段とを備えている。
【０００８】
本発明によれば、画像読取装置は、外部機器に実装された標準クラスドライバに対応する実装クラスドライバを備えているので、複数のクラスドライバを同時に使用して外部機器と確実に通信を行うことができる。従って画像読取装置は、外部機器との間の通信のデータ量が多い場合や、複数の通信が重複する場合でも、外部機器との通信を円滑に実行することができる。このため画像読取装置は、読み取った画像を外部機器に対してスムーズに送信することができる。
【０００９】
また本発明において、前記第一実装クラスドライバが使用されることにより、前記外部機器は、前記画像読取装置を外部記憶機器として認識してもよい。これによって外部機器は、画像読取装置からアプリケーションを直接読み出すことができるので、画像読取装置は、外部機器に対してアプリケーションを容易に提供することができる。
【００１０】
また本発明において、前記第一実装クラスドライバは、マスストレージクラスドライバであってもよい。マスストレージクラスドライバは、外部機器に標準的に実装されている可能性が高いので、画像読取装置は、マスストレージクラスドライバを使用して外部機器と確実に通信を行い、外部機器に対してアプリケーションを容易に提供することができる。
【００１１】
また本発明において、前記第二実装クラスドライバは、ＨＩＤ（Human Interface Device）クラスドライバであってもよい。ＨＩＤクラスドライバは、外部機器に標準的に実装されている可能性が高いので、画像読取装置は、ＨＩＤクラスドライバを使用して外部機器と確実に通信を行い、読み取った画像を容易に外部機器に対して送信することができる。
【００１２】
また本発明において、前記読み取り手段は、前記画像を主走査方向に１ライン分ずつ読み取り、前記第二送信手段は、前記読み取り手段において読み取られた画像を、前記外部機器に対して１ライン分ずつ送信してもよい。画像読取装置は、画像を１ラインずつ読み取る度に外部機器に送信するので、画像をすべて記憶装置に記憶しておく必要がない。このため画像読取装置は、画像を記憶するために必要な記憶装置の容量を小さくすることが可能となる。また画像読取装置は、画像がすべて読み取られる前に、１ライン分ずつ画像を外部機器に対して送信することができる。このため画像読取装置は、画像の読み取りが終了した時点で、外部機器に送信するべき画像のデータ量を小さくすることができる。従って画像読取装置は、画像の読み取りが終了してから、外部機器に対する画像の送信が完了するまでの時間を短縮することができる。外部機器を使用するユーザは、画像読取装置が読み取った画像を短時間で取得することができる。
【００１３】
また本発明において、前記画像読取装置の異常を検出する検出手段と、前記検出手段において前記異常が検出された旨を、前記第一実装クラスドライバ又は前記第二実装クラスドライバを使用して前記外部機器に送信する第三送信手段とを備えていてもよい。第一実装クラスドライバが選択された場合、画像読取装置は、読み取った画像を外部機器に対して円滑に送信しつつ、発生した異常を外部機器に対して通知することができる。また、第二実装クラスドライバが選択された場合、画像読取装置は、外部機器に対するアプリケーションの提供を円滑に実行しつつ、発生した異常を外部機器に対して通知することができる。
【００１４】
また本発明において、前記必要なデータは、前記アプリケーションの実行ファイルであってもよい。これによって外部機器は、取得した実行ファイルを実行することによって、アプリケーションを容易に実行することができる。
【図面の簡単な説明】
【００１５】
【図１】印刷システム１の概要を示す模式図である。
【図２】画像読取装置１１及びＰＣ１２の電気的構成を示すブロック図である。
【図３】画像読取装置１１及びＰＣ１２に実装された制御プログラムの構成を示す模式図である。
【図４】画像読取装置１１とＰＣ１２との間の通信手順を示す図である。
【図５】メイン処理（ＰＣ）を示すフローチャートである。
【図６】メイン処理（ＰＣ）を示すフローチャートであって、図５の続きである。
【図７】メイン処理（読取装置）を示すフローチャートである。
【図８】Ａｐｐ実行処理（ＰＣ）を示すフローチャートである。
【図９】Ａｐｐ実行処理（読取装置）を示すフローチャートである。
【図１０】異常監視処理（ＰＣ）を示すフローチャートである。
【図１１】異常監視処理（読取装置）を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態について、図面を参照して説明する。これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものである。記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
【００１７】
図１を参照し、印刷システム１の概要について説明する。印刷システム１は、画像読取装置１１及びＰＣ１２を備えている。画像読取装置１１は、ＵＳＢケーブルによってＰＣ１２と接続している。画像読取装置１１は、画像スキャナの一種である。ユーザは、ＰＣ１２のキーボード３６やマウス３７（図２参照）を介して入力操作を行うことによって、画像読取装置１１の動作を制御することができる。画像読取装置１１は、ＰＣ１２からの指示に応じ、原稿台にセットされた原稿から画像を読み取る。画像読取装置１１は、読み取った画像を、ＵＳＢケーブルを介してＰＣ１２に送信する。ＰＣ１２は、画像読取装置１１から受信した画像をディスプレイ３５に表示する。これによってユーザは、原稿から読み取られた画像を確認することができる。
【００１８】
図２を参照し、画像読取装置１１の電気的構成について説明する。画像読取装置１１は、画像読取装置１１全体の制御を司るＣＰＵ２１を備えている。ＣＰＵ２１は、ＳＲＡＭ２２、ＦＬＡＳＨ  ＲＯＭ２３、ＥＥＰＲＯＭ２４、ＵＳＢインタフェース（以下、ＵＳＢ  Ｉ／Ｆという。）２５、イメージセンサ２６、操作キー２７、及びディスプレイ２８を備えている。
【００１９】
ＳＲＡＭ２２には、タイマやカウンタ、一時的なデータが記憶される。またＳＲＡＭ２２には、イメージセンサ２６によって読み取られた画像が一時的に記憶される。ＦＬＡＳＨ  ＲＯＭ２３には、ＣＰＵ２１の制御プログラムが記憶される。またＦＬＡＳＨ  ＲＯＭ２３には、ＰＣ１２において実行されるアプリケーションの実行ファイルが記憶される。このアプリケーションは、ユーザがＰＣ１２を操作して画像読取装置１１に画像の読み取りを実行させる場合に、ＰＣ１２において必要となる。詳細は後述する。ＥＥＰＲＯＭ２４には、パラメータや読み取り条件が記憶される。パラメータとしては、例えば、ＣＰＵ２１がイメージセンサ２６を駆動する場合に最適な駆動パラメータや、原稿に照射する光（図示外）の強度パラメータが挙げられる。読み取り条件としては、画像を読み取る場合の画素数、モノクロ／カラー、濃度が挙げられる。ＵＳＢ  Ｉ／Ｆ２５は、ＵＳＢケーブルを介した通信を制御するためのコントローラである。イメージセンサ２６は、原稿台にセットされた原稿から画像を読み取るためのＣＣＤ方式のセンサや、ＣＩＳ方式のセンサである。
【００２０】
ＰＣ１２の電気的構成について説明する。ＰＣ１２は、ＰＣ１２全体の制御を司るＣＰＵ３１を備えている。ＣＰＵ３１は、ＲＯＭ３２、ＲＡＭ３３、ＨＤＤ３４、ディスプレイ３５、キーボード３６、マウス３７、ドライブ装置３８、及びＵＳＢ  Ｉ／Ｆ３９を備えている。ＲＯＭ３２には、ブートプログラムやＢＩＯＳ等が記憶される。ＲＡＭ３３には、タイマやカウンタ、一時的なデータが記憶される。またＲＡＭ３３には、画像読取装置１１から受信したアプリケーションの実行ファイルが記憶される。詳細は後述する。ＨＤＤ３４には、ＣＰＵ３１の制御プログラムやＯＳが記憶される。またＨＤＤ３４には、画像読取装置１１において読み取られた画像が記憶される。ドライブ装置３８は、記憶媒体（図示外）に記憶された情報を読み取ることができる。例えば、制御プログラムのセットアップ時、記憶媒体に記憶された制御プログラムはドライブ装置３８によって読み出され、ＨＤＤ３４に記憶される。ＵＳＢ  Ｉ／Ｆ３９は、ＵＳＢケーブルを介した通信を制御するためのコントローラである。
【００２１】
図３を参照し、画像読取装置１１のＦＬＡＳＨ  ＲＯＭ２３に記憶された制御プログラムの構成について説明する。制御プログラム４１は、アプリケーションプログラム４２及びＵＳＢ制御プログラム４３を備えている。アプリケーションプログラム４２は、制御プログラムのうち上位レベルの処理を行う。上位レベルの処理として、例えば、ファイル操作（書き込み、読み出し）や、ＵＳＢ制御プログラム４３への命令等が挙げられる。ＵＳＢ制御プログラム４３は、ＨＩＤ（Human Interface Device）クラスドライバ（以下、ＨＣドライバという。）４４、及び、マスストレージクラスドライバ（以下、ＭＣドライバという。）４５を備えている。以下、ＨＣドライバ４４及びＭＣドライバ４５を、実装クラスドライバともいう。
【００２２】
ＨＣドライバ４４は、画像読取装置１１にＰＣ１１がＵＳＢケーブルを介して接続された場合に、ＰＣ１１に対して画像読取装置１１をヒューマンインタフェースデバイスとして認識させることができる。ヒューマンインタフェースデバイスとして、例えばキーボードやマウス等が挙げられる。ＭＣドライバ４５は、画像読取装置１１にＰＣ１１がＵＳＢケーブルを介して接続された場合に、ＰＣ１１に対して画像読取装置１１をマスストレージデバイスとして認識させることができる。マスストレージデバイスとして、例えば、ＵＳＢメモリ等の汎用の記憶装置が挙げられる。ＰＣ１２は、画像読取装置１１をマスストレージデバイスとして認識した場合、画像読取装置１１のＦＬＡＳＨ  ＲＯＭ２３のうち指定された記憶領域から情報を直接読み出すことができる。またＰＣ１２は、画像読取装置１１をマスストレージデバイスとして認識した場合、画像読取装置１１のＦＬＡＳＨ  ＲＯＭ２３のうち指定された記憶領域に情報を直接書き込むことができる。
【００２３】
ＰＣ１２に実装された制御プログラムの構成について説明する。制御プログラム５１は、アプリケーションプログラム５２及びＵＳＢ制御プログラム５３を備えている。ＵＳＢ制御プログラム５３は、ＨＣドライバ５４及びＭＣドライバ５５を備えている。ＨＣドライバ５４は、画像読取装置１１のＨＣドライバ４４にアクセスするために使用される。ＰＣ１２は、ＨＣドライバ４４、５４を介して、画像読取装置１１をヒューマンインタフェースデバイスとして認識する。ＭＣドライバ５５は、画像読取装置１１のＭＣドライバ４５にアクセスするために使用される。ＰＣ１２は、ＭＣドライバ４５、５５を介して、画像読取装置１１をマスストレージデバイスとして認識する。
【００２４】
ＨＣドライバ５４及びＭＣドライバ５５は、通常、ＰＣ１２にインストールされたＯＳに標準的に実装されている。例えば、汎用的なＯＳであるウィンドウズ（登録商標）には、ＨＣドライバ及びＭＣドライバが標準的に実装されている。以下、ＨＣドライバ５４及びＭＣドライバ５５を、標準クラスドライバともいう。ＰＣ１２は、標準クラスドライバを使用することによって、画像読取装置１１をヒューマンインタフェースデバイスとして認識し、且つマスストレージデバイスとして認識することができる。このためＰＣ１２は、ユーザによるクラスドライバのインストールを要することなく、画像読取装置１１を簡単且つ正確に認識することができる。
【００２５】
また画像読取装置１１は、ＨＣドライバ４４及びＭＣドライバ４５を同時に使用することができる。従ってＰＣ１２は、接続された画像読取装置１１をヒューマンインタフェースデバイスとして認識すると同時に、マスストレージデバイスとして認識することができる。以下、ＰＣ１２において画像読取装置１１がヒューマンインタフェースデバイスとして認識され、ＨＣドライバ４４、５４を介して通信が行われることを、ＨＣインタフェースを介して通信が行われるともいう。ＰＣ１２において画像読取装置１１がマスストレージデバイスとして認識され、ＭＣドライバ５４、５５を介して通信が行われることを、ＭＣインタフェースを介して通信が行われるともいう。画像読取装置１１は、同時に複数のインタフェースを介してＰＣ１２と通信を行うことができる。これによって画像読取装置１１は、ＰＣ１２との間で複数の通信路を設定し、其々の通信路を介して異なる通信を行うことができる。このため画像読取装置１１は、通信データが多くなった場合や、複数の通信が同時に実行される場合でも、ＰＣ１２との間の通信を円滑に実行することができる。以下詳説する。
【００２６】
図４を参照し、画像読取装置１１において画像が読み取られる際に、画像読取装置１１とＰＣ１２との間で実行される通信の手順について説明する。ユーザは、画像読取装置１１の電源がＯＦＦされた状態で、画像読取装置１１とＰＣ１２とをＵＳＢケーブルによって接続する。画像読取装置１１の電源がユーザによってＯＮされる（Ｓ１１）。ＰＣ１２は、画像読取装置１１を検出する。ＰＣ１２は、ＵＳＢプラグ＆プレイにより、ヒューマンインタフェースデバイス及びマスストレージデバイスとして画像読取装置１１を認識する。画像読取装置１１とＰＣ１２とは、ＨＣインタフェースを介した通信と、ＭＣインタフェースを介した通信との両方が同時に可能な状態になる。
【００２７】
ＰＣ１２が画像読取装置１１をマスストレージデバイスとして認識している状態では、ＰＣ１２は、画像読取装置１１のＦＬＡＳＨ  ＲＯＭ２３のうち指定された領域の情報を直接読み出すことができる。ＦＬＡＳＨ  ＲＯＭ２３のうち指定された領域には、アプリケーションの実行ファイルが記憶されている。アプリケーションは、画像読取装置１１の制御をＰＣ１２側から実行するためのものである。ＰＣ１２は、画像読取装置１１のＦＬＡＳＨ  ＲＯＭ２３から実行ファイルを直接読み出す。ＰＣ１２によるＦＬＡＳＨ  ＲＯＭ２３の読み出し動作により、実行ファイルは画像読取装置１１からＰＣ１２に対して送信され（Ｓ１５）、ＰＣ１２において受信される。
【００２８】
ＰＣ１２は、画像読取装置１１から受信した実行ファイルを、ＲＡＭ３３に記憶する。画像読取装置１１は、Ｓ１５で送信した実行ファイルの実行を、ＭＣインタフェースを介してＰＣ１２に指示する（Ｓ１７）。ＰＣ１２において、ＲＡＭ３３に記憶された実行ファイルが実行され、アプリケーションが起動される（Ｓ１９）。ＰＣ１２のディスプレイ３５には、画像読取装置１１を制御するための入力操作が可能な画面が表示される。ユーザは、表示された画面に従いキーボード３６やマウス３７を介して入力操作を行うことで、画像読取装置１１を制御することが可能となる。
【００２９】
ＰＣ１２のユーザは、画像読取装置１１の原稿台に原稿をセットする（Ｓ２１）。ＰＣ１２のユーザは、ディスプレイ３５に表示された画面に従い、画像の読み取りを開始する指示を入力する（Ｓ２３）。ＰＣ１２は、ＨＣインタフェースを介して、画像の読み取りの開始を画像読取装置１１に対して指示する（Ｓ２５）。画像読取装置１１は、ＰＣ１２からの指示に応じ、原稿台にセットされた原稿からの画像の読み取りを開始する（Ｓ２７）。
【００３０】
画像読取装置１１は、原稿台にセットされた原稿の画像を、主走査方向に１ラインずつ順番に読み取る（Ｓ２９）。読み取られた１ライン分の画像は、ＳＲＡＭ２２に一時的に記憶される。画像読取装置１１は、画像が１ライン分読み取られる度に、ＳＲＡＭ２２に記憶された１ライン分の画像を読み出し、ＨＣインタフェースを介してＰＣ１２に対して送信する（Ｓ３１）。送信後、送信された１ライン分の画像は、ＳＲＡＭ２２から消去される。画像読取装置１１は、原稿から読み取った１ライン毎の画像のすべてを、ＳＲＡＭ２２に記憶しておく必要がない。したがって画像読取装置１１は、読み取った画像を記憶するために必要なＳＲＡＭ２２の容量を抑制することができる。ＰＣ１２は、画像読取装置１１において読み取られた画像を、１ライン分ずつＨＣインタフェースを介して受信する（Ｓ３１）。ＰＣ１２は、受信した画像をディスプレイ３５に順番に表示する（Ｓ３３）。
【００３１】
画像読取装置１１において画像が１ライン分ずつ連続的に読み取られ、ＰＣ１２に対して画像が１ライン分ずつ順に送信されている最中（Ｓ３１）に、ユーザによってＰＣ１２への入力操作が行われたとする。例えばユーザは、画像読取装置１１に対して設定されているパラメータや読み取り条件を参照するための操作を実行したとする（Ｓ３４）。ＰＣ１２は、画像読取装置１１に設定されているパラメータを、ＭＣインタフェースを介して画像読取装置１１に対して要求する（Ｓ３５）。ここで、画像読取装置１１において読み取られた画像の通信はＨＣインタフェースを介して実行されており、ＭＣインタフェースは使用されていない。このため、パラメータを要求するための通信がＭＣインタフェースを介して実行されても、ＨＣインタフェースを介して実行されている通信、即ち読み取られた画像の通信に影響を及ぼすことはない。
【００３２】
画像読取装置１１は、ＰＣ１２からの指示に応じ、設定されているパラメータをＥＥＰＲＯＭ２４から読み出す。画像読取装置１１は、読みだしたパラメータを、ＭＣインタフェースを介してＰＣ１２に対して通知する。（Ｓ３７）。Ｓ３５での通信と同様、パラメータの送信にはＭＣインタフェースが使用されるので、ＨＣインタフェースを介して実行されている通信、即ち読み取られた画像の通信には影響が及ばない。
【００３３】
画像読取装置１１において画像が連続的に読み取られ、ＰＣ１２に対して画像が１ライン分ずつ順に送信されている最中（Ｓ３１）に、画像読取装置１１において何らかの異常が検出されたとする。発生し得る異常として、例えば、画像読取装置１１における画像の読み取りの失敗や、ＦＬＡＳＨ  ＲＯＭ２３への情報の書き込み失敗が挙げられる。画像読取装置１１は、異常が検出された旨を、ＭＣインタフェースを介してＰＣ１２に対して通知する（Ｓ３９）。Ｓ３５、及びＳ３７での通信と同様、異常を通知するための通信はＭＣインタフェースを介して実行されるので、ＨＣインタフェースを介して実行されている通信、即ち読み取られた画像の通信には影響が及ばない。
【００３４】
以上のようにして画像読取装置１１は、読み取られた画像の通信を、ＨＣインタフェースを介して円滑に実行しつつ、パラメータの要求や通知、異常発生の通知等を、ＭＣインタフェースを介して確実に実行することができる。
【００３５】
画像読取装置１１において読み取り動作が完了し、原稿の画像がすべて読み取られたとする。画像読取装置１１による画像の読み取りは中断される。ユーザは、ＰＣ１２のディスプレイ３５を視認することによって、読み取られた画像全体を認識することができる。ユーザは、表示されている画面に従い、画像の読み取りを終了する指示を入力する（Ｓ４１）。ＰＣ１２は、ＨＣインタフェースを介して、画像の読み取りの終了を画像読取装置１１に対して指示する（Ｓ４３）。画像読取装置１１は、ＰＣ１２からの指示に応じ、原稿からの画像の読み取りを終了する。
【００３６】
なお画像読取装置１１は、画像を読み取っている最中であっても、読み取られた画像を１ライン分ずつＰＣ１２に対して送信している（Ｓ３１）。従って、画像の読み取りが終了した時点で、画像読取装置１１からＰＣ１２に対して送信されるべき画像の残り分は少なくなっている。このため、画像読取装置１１において読み取られた画像がディスプレイ３５に表示されるまでの時間は、画像の読み取りが終了した後で画像全体がＰＣ１２に対して送信される場合よりも短くなる。従ってユーザは、画像読取装置１１において読み取られた画像を、より短時間で認識することができる。
【００３７】
図５から図１１を参照し、画像読取装置１１のＣＰＵ２１、及びＰＣ１２のＣＰＵ３１において実行される各種処理について説明する。メイン処理（ＰＣ）（図５、図６参照）、Ａｐｐ実行処理（ＰＣ）（図８参照）、及び異常監視処理（ＰＣ）（図１０参照）は、ＰＣ１２のＣＰＵ３１において起動され実行される。メイン処理（ＰＣ）は、ＣＰＵ３１の電源が投入された場合に起動される。Ａｐｐ実行処理（ＰＣ）（図８参照）、及び異常監視処理（ＰＣ）は、メイン処理（ＰＣ）中で起動される。其々の処理は並列して実行される。メイン処理（読取装置）（図７参照）、Ａｐｐ実行処理（読取装置）（図９参照）、及び異常監視処理（読取装置）（図１１参照）は、画像読取装置１１のＣＰＵ２１において起動され実行される。メイン処理（読取装置）は、ＣＰＵ２１の電源が投入された場合に起動される。Ａｐｐ実行処理（読取装置）、及び異常監視処理（読取装置）は、メイン処理（読取装置）中で起動され実行される。其々の処理は並列して実行される。
【００３８】
図５及び図６を参照し、メイン処理（ＰＣ）について説明する。ＵＳＢケーブルを介して接続された状態の画像読取装置１１に電源が投入されることによって、ＵＳＢケーブルを介して画像読取装置１１が検出されたかが判断される（Ｓ１１１）。画像読取装置１１に電源が投入されていない場合（Ｓ１１１：ＮＯ）、画像読取装置１１は検出されないので、処理はＳ１１１に戻る。
【００３９】
画像読取装置１１に電源が投入され、画像読取装置１１が検出された場合（Ｓ１１１：ＹＥＳ）、画像読取装置１１は、ヒューマンインタフェースデバイス及びマスストレージデバイスとして認識される。ＰＣ１２は、ＨＣインタフェース及びＭＣインタフェースを同時に使用することによって画像読取装置１１と通信を行うことが可能な状態となる。
【００４０】
画像読取装置１１から送信されたアプリケーションの実行ファイル（Ｓ１４１、図７参照）が、ＭＣインタフェースを介して受信される（Ｓ１１３）。受信された実行ファイルは、ＲＡＭ３３に記憶される。ＲＡＭ３３に記憶された実行ファイルを実行する旨の指示が、ＭＣインタフェースを介して受信される。ＲＡＭ３３に記憶した実行ファイルが実行され、アプリケーションが起動される（Ｓ１１５）。ディスプレイ３５に、ユーザによる入力操作を受け付けるための画面が表示される。アプリケーションの起動中に、ユーザからの入力操作を受け付ける処理（Ａｐｐ実行処理（ＰＣ）（図８参照））が起動される（Ｓ１１７）。Ａｐｐ実行処理（ＰＣ）の詳細は後述する。アプリケーションの起動中に、画像読取装置１１の異常を受け付ける処理（異常監視処理（ＰＣ）（図１０参照））が起動される（Ｓ１１９）。異常監視処理（ＰＣ）の詳細は後述する。
【００４１】
図６に示すように、ユーザが、ディスプレイ３５に表示された画面に従い、画像読取装置１１による画像の読み取りを開始させるための入力操作を行ったかが判断される（Ｓ１２１）。画像の読み取りを開始させるための入力操作が行われていない場合（Ｓ１２１：ＮＯ）、処理はＳ１２１に戻る。画像の読み取りを開始させるための入力操作が行われた場合（Ｓ１２１：ＹＥＳ）、画像の読み取りを開始する旨の指示が、ＨＣインタフェースを介して画像読取装置１１に対して送信される（Ｓ１２３）。画像読取装置１１において、画像の読み取りが開始される（Ｓ１４９〜（図７参照））。
【００４２】
画像読取装置１１において読み取られた１ライン分の画像が、画像読取装置１１から送信される（Ｓ１５１、図７参照）。ＨＣインタフェースを介して、１ライン分の画像が受信される（Ｓ１２５）。受信された１ライン分の画像は、ＲＡＭ３３に一時的に記憶される。受信された１ライン分の画像は、ディスプレイ３５に順番に表示される（Ｓ１２７）。
【００４３】
画像読取装置１１において読み取り動作が完了し、原稿の画像がすべて読み取られたかが判断される（Ｓ１２９）。１ライン分の画像が継続して画像読取装置１１から送信されている場合、画像の読み取りは完了していないので（Ｓ１２９：ＮＯ）、処理はＳ１２５に戻る。画像読取装置１１から送信される１ライン分の画像が、ＨＣインタフェースを介して継続して受信される（Ｓ１２５）。一方、画像読取装置１１からの画像の送信が完了した場合、画像読取装置１１における画像の読み取り動作が完了したことになる（Ｓ１２９：ＹＥＳ）。この場合、ＲＡＭ３３に一時的に記憶された複数の１ライン分の画像は、１枚の画像に編集される。編集された画像は、ＨＤＤ３４に記憶される（Ｓ１３１）。
【００４４】
ユーザが、原稿台にセットした原稿を入れ替え、新たな原稿から画像を読み取ることを所望したとする。ユーザは、画像の読み取りを再開させるために、ＰＣ１２に対して読み取り指示を入力する（Ｓ１３３：ＹＥＳ）。処理はＳ１２３に戻る。画像の読み取りを開始する旨の指示が、ＨＣインタフェースを介して画像読取装置１１に対して送信され（Ｓ１２３）、処理は繰り返される。一方、画像の読み取りを終了させる指示が、ユーザによって入力されたとする（Ｓ１３３：ＮＯ）。この場合、画像の読み取りを終了させる旨の指示が、ＨＣインタフェースを介して画像読取装置１１に対して送信される（Ｓ１３５）。処理はＳ１１１（図５参照）に戻る。
【００４５】
図７を参照し、メイン処理（読取装置）について説明する。電源がＯＮされ、ＰＣ１２が画像読取装置１１を認識することによって、ＰＣ１２は画像読取装置１１をヒューマンインタフェースデバイス及びマスストレージデバイスとして認識している。画像読取装置１１は、ＨＣインタフェース及びＭＣインタフェースを同時に使用することによってＰＣ１２と通信を行うことが可能な状態となっている。
【００４６】
ＭＣインタフェースを介して、ＰＣ１２に対してアプリケーションの実行ファイルが送信される（Ｓ１４１）。実行ファイルを実行する旨の指示が、ＭＣインタフェースを介してＰＣ１２に対して送信される（Ｓ１４１）。ＰＣ１２において、アプリケーションが起動される（Ｓ１１５、図５参照）。ＰＣ１２からの要求に応じてパラメータや読み取り条件を送信する処理（Ａｐｐ実行処理（読取装置）（図９参照））が起動される（Ｓ１４３）。Ａｐｐ実行処理（読取装置）の詳細は後述する。画像読取装置１１の異常を検出してＰＣ１２に通知する処理（異常監視処理（読取装置）（図１１参照））が起動される（Ｓ１４５）。異常監視処理（読取装置）の詳細は後述する。
【００４７】
画像の読み取りを開始する旨の指示が、ＨＣインタフェースを介してＰＣ１２から送信される（Ｓ１２３、図６参照）。送信された指示が、ＨＣインタフェースを介して受信される（Ｓ１４７）。原稿台にセットされた原稿からの画像の読み取り動作が開始される。画像は、主走査方向に１ライン分ずつ読み取られる（Ｓ１４９）。読み取られた１ライン分の画像は、ＳＲＡＭ２２に一時的に記憶される。ＳＲＡＭ２２に記憶された１ライン分の画像は、ＨＣインタフェースを介してＰＣ１２に対して送信される（Ｓ１５１）。原稿の画像がすべて読み取られ、読み取り動作が完了したかが判断される（Ｓ１５３）。読み取られていない画像が残存しており、画像の読み取り動作が完了していない場合（Ｓ１５３：ＮＯ）、処理はＳ１４９に戻る。次の１ライン分の画像が読み取られ（Ｓ１４９）、処理は繰り返される。
【００４８】
原稿の画像がすべて読み取られ、読み取り動作が完了したとする（Ｓ１５３：ＹＥＳ）。画像の読み取りを終了させる旨の指示が、ＨＣインタフェースを介して受信されたかが判断される（Ｓ１５５）。画像の読み取りを終了させる旨の指示が受信されていない場合（Ｓ１５５：ＮＯ）、ユーザは新たな原稿から画像を読み出すことを所望していることになるので、処理はＳ１４７に戻る。画像の読み取りを開始する旨の指示が、ＨＣインタフェースを介して受信され（Ｓ１４７）、画像の読み取りが再開される（Ｓ１４９）。一方、画像の読み取りを終了させる旨の指示がＰＣ１２から送信されたとする（Ｓ１３５、図６参照）。ＨＣインタフェースを介して指示が受信される（Ｓ１５５：ＹＥＳ）。画像の読み取りを終了させる入力操作がユーザによって行われたことになるので、メイン処理（読取装置）は終了する。
【００４９】
図８を参照し、Ａｐｐ実行処理（ＰＣ）について説明する。ディスプレイ３５に表示された画面に従い、パラメータ及び読み取り条件を参照するための操作がユーザによって入力されたかが判断される（Ｓ１７１）。パラメータ及び読み取り条件を参照するための操作がユーザによって入力されていない場合（Ｓ１７１：ＮＯ）、処理はＳ１７１に戻り、入力操作が継続して監視される。
【００５０】
一方、パラメータ及び読み取り条件を参照するための操作がユーザによって入力された場合（Ｓ１７１：ＹＥＳ）、パラメータ及び読み取り条件を取得する旨の要求が、ＭＣインタフェースを介して画像読取装置１１に対して送信される（Ｓ１７３）。なお、画像読取装置１１において読み取られた画像の通信は、ＨＣインタフェースを介して実行されている（Ｓ１５１、図７参照）。このため、ＭＣインタフェースを介して要求が送信された場合でも、ＨＣインタフェースを介した通信に影響は及ばない。
【００５１】
画像読取装置１１は、要求に応じ、設定されているパラメータ及び読み取り条件を、ＭＣインタフェースを介してＰＣ１２に対して送信する（Ｓ１８１、図９参照）。ＭＣインタフェースを介して、パラメータ及び読み取り条件が受信される（Ｓ１７５）。受信されたパラメータ及び読み取り条件は、ディスプレイ３５に表示される（Ｓ１７７）。処理はＳ１７１に戻る。
【００５２】
図９を参照し、Ａｐｐ実行処理（制御装置）について説明する。パラメータ及び読み取り条件を取得する旨の要求が、ＭＣインタフェースを介して受信されたかが判断される（Ｓ１７９）。パラメータ及び読み取り条件を取得する旨の要求が受信されていない場合（Ｓ１７９：ＮＯ）、処理はＳ１７９に戻る。
【００５３】
ＰＣ１２のユーザによって、画像読取装置１１に設定されたパラメータ及び読み取り条件を参照する入力操作がなされたとする。ＣＰ１２は、パラメータ及び読み取り条件の取得を要求する旨の指示を、ＭＣインタフェースを介して画像読取装置１１に対して送信する（Ｓ１７３、図８参照）。該要求が、ＭＣインタフェースを介して受信される（Ｓ１７９：ＹＥＳ）。設定されているパラメータ及び読み取り条件が、ＥＥＰＲＯＭ２４から読み出される。読み出されたパラメータ及び読み取り条件は、ＭＣインタフェースを介してＰＣ１２に対して送信される（Ｓ１８１）。Ｓ１７３（図８参照）での通信と同様、パラメータ及び読み取り条件の通信はＭＣインタフェースを介して行われる。このため、パラメータ及び読み取り条件の通信は、ＨＣインタフェースを介して実行されている画像の通信に影響を及ぼさない。処理はＳ１７９に戻る。
【００５４】
以上のように、画像読取装置１１は、ＨＣインタフェース及びＭＣインタフェースを同時に使用できるので、一方を介した通信が他方に影響を及ぼしてしまうことを防止することができる。従って画像読取装置１１は、ＨＣインタフェースを介した画像の通信と、ＭＣインタフェースを介したパラメータ及び読み取り条件の通信とを、迅速且つ確実に実行することができる。
【００５５】
図１０を参照し、異常監視処理（ＰＣ）について説明する。ＭＣインタフェースを介し、異常が検出された旨の通知が画像読取装置１１から受信されたかが判断される（Ｓ１９１）。異常が検出された旨の通知を受信していない場合（Ｓ１９１：ＮＯ）、処理はＳ１９１に戻る。異常が検出された旨の通知が受信された場合（Ｓ１９１：ＹＥＳ）、異常が検出された旨がディスプレイ３５に表示される（Ｓ１９３）。処理はＳ１９１に戻る。
【００５６】
図１１を参照し、異常監視処理（読取装置）について説明する。画像読取装置１１において異常が検出されたかが判断される（Ｓ１９５）。異常が検出されない場合（Ｓ１９５：ＮＯ）、処理はＳ１９５に戻る。一方、例えば、画像読取装置１１が画像の読み取りに失敗したり、ＦＬＡＳＨ  ＲＯＭ２３への書き込みに失敗したりしたとする（Ｓ１９５：ＹＥＳ）。異常が検出された旨の通知が、ＭＣインタフェースを介してＰＣ１２に対して送信される（Ｓ１９７）。なお、画像読取装置１１において読み取られた画像の通信は、ＨＣインタフェースを介して実行されている（Ｓ１５１、図７参照）。このため、ＭＣインタフェースを介して以上の通知が送信された場合でも、ＨＣインタフェースを介した通信に影響は及ばない。処理はＳ１９５に戻る。
【００５７】
以上説明したように、画像読取装置１１は、ＰＣ１２に実装された標準クラスドライバ（ＨＣドライバ５４及びＭＣドライバ５５）に対応する実装クラスドライバ（ＨＣドライバ４４及びＭＣドライバ４５）を備えている。画像読取装置１１は、複数のクラスドライバを同時に使用し、ＰＣ１２と確実に通信を行うことができる。従って画像読取装置１１は、ＰＣ１２との間の通信のデータ量が多い場合や、複数の通信が重複する場合でも、ＰＣ１２との通信を円滑に実行することができる。画像読取装置１１は、読み取りった画像をＰＣ１２に対してスムーズに送信することができる。
【００５８】
ＰＣ１２は、画像読取装置１１をマスストレージデバイスとして認識することができる。これによってＰＣ１２は、画像読取装置１１からアプリケーションを直接読み出すことができる。画像読取装置１１は、外部機器に対してアプリケーションを容易に提供することができる。またＰＣ１２は、画像読取装置１１をヒューマンインタフェースデバイスとして認識することができる。これによってＰＣ１２は、画像読取装置１１との通信を容易に実行することができる。
【００５９】
画像読取装置１１が備えているＨＣドライバ４４及びＭＣドライバ４５は、ＰＣ１２に標準的に実装されている可能性が高い。これらのクラスドライバは、ＯＳに標準搭載されている場合が多いためである。従ってユーザは、ＰＣ１２に対してドライバのインストールを行うことなく、ＰＣ１２に画像読取装置１１を正常に認識させることができる。
【００６０】
なお、ＰＣ１２が本発明の「外部機器」に相当する。Ｓ１４９の処理を行うＣＰＵ２１が本発明の「読み取り手段」に相当する。Ｓ１４１の処理を行うＣＰＵ２１が本発明の「第一送信手段」に相当する。Ｓ１４７の処理を行うＣＰＵ２１が本発明の「受信手段」に相当する。Ｓ１５１の処理を行うＣＰＵ２１が本発明の「第二送信手段」に相当する。Ｓ１４１、Ｓ１４７、及びＳ１５１の処理を行うＣＰＵ２１が本発明の「通信手段」に相当する。Ｓ１９５の処理を行うＣＰＵ２１が本発明の「検出手段」に相当する。Ｓ１９７の処理を行うＣＰＵ２１が本発明の「第三送信手段」に相当する。
【００６１】
なお本発明は上述の実施形態に限定されず、種々の変更が可能である。上述では、画像読取装置１１において異常が検出された場合、ＭＣインタフェースを介して異常が通知されていた。異常の通知は、ＨＣインタフェースを介して実行されてもよい。また画像読取装置１１は、所定の文字列（例えば「〇〇の異常が発生しました。」等）がキーボードを介して押下された場合と同様の信号を、ＨＣインタフェースを介してＰＣ１２に対して送信してもよい。ＰＣ１２は、画像読取装置１１から受信した文字列を、テキストエディタ等のアプリケーションを介してディスプレイ３５に直接表示してもよい。これによって画像読取装置１１は、検出された異常の内容を詳細に通知することができる。またＰＣ１２は、受信した文字列をそのままディスプレイ３５に表示することによって、画像読取装置１１において発生した異常の内容を詳細にユーザに通知することができる。
【００６２】
上述では、画像読取装置１１からＭＣインタフェースを介して送信されたアプリケーションの実行ファイルは、ＰＣ１２のＲＡＭ３３に記憶された。記憶された実行ファイルが実行されることによって、アプリケーションが起動されていた。例えばＰＣ１２は、画像読取装置１１内で実行ファイルを実行させてもよい。
【００６３】
上述では、ＨＣインタフェース及びＭＣインタフェースが同時に使用され、画像読取装置１１とＰＣ１２との間で通信が実行されていた。例えば画像読取装置１１は、ＨＣドライバ４５及びＭＣドライバ４５以外のドライバを備えていてもよい。ＰＣ１２に標準的に実装された標準クラスドライバに対応するクラスドライバであれば、他のクラスドライバを備えていてもよい。例えばプリンタクラスドライバやスキャナクラスドライバを備えていてもよい。また、画像読取装置１１に実装されるクラスドライバの数は、３以上であってもよい。
【００６４】
アプリケーションの実行ファイルが画像読取装置１１からＰＣ１２に対して送信される場合に使用されるインタフェースは、ＭＣインタフェースに限定されない。他のクラスドライバが使用された状態で実行される通信によって、実行ファイルが画像読取装置１１からＰＣ１２に対して送信されてもよい。画像読取装置１１において読み取られた画像がＰＣ１２に対して送信される場合に使用されるインタフェースは、ＨＣインタフェースに限定されない。他のクラスドライバが使用された状態で実行される通信によって、画像が画像読取装置１１からＰＣ１２に対して送信されてもよい。ＰＣ１２から画像読取装置１１に対して開始指示（Ｓ１２３）、及び終了指示（Ｓ１３５）が送信される場合に使用されるインタフェースは、ＨＣインタフェースに限定されず、他のインタフェースであってもよい。例えばＭＣインタフェースが使用されてもよい。
【００６５】
上述では、画像読取装置１１において画像が１ライン分ずつ読み取られ、ＰＣ１２に対して送信されていたが、ｎライン（ｎは整数）ずつ画像が読み取られ、ＰＣ１２に対して送信されてもよい。またこのライン数は、設定によって可変としてもよい。
【００６６】
画像読取装置１１を制御するためにＰＣ１２において実行されるアプリケーションは、ＰＣ１２に予め記憶されていてもよい。例えばＰＣ１２は、接続された画像読取装置１１を制御するために必要なパラメータのみを、ＭＣインタフェースを介して画像読取装置１１から取得してもよい。
【符号の説明】
【００６７】
１      印刷システム
１１    画像読取装置
１２    ＰＣ
４１    制御プログラム
４２    アプリケーションプログラム
４３    制御プログラム
４４    ＨＣドライバ
４５    ＭＣドライバ
５１    制御プログラム
５２    アプリケーションプログラム
５３    制御プログラム
５４    ＨＣドライバ
５５    ＭＣドライバ
【図１】
0005533760.tif 000002
【図２】
0005533760.tif 000003
【図３】
0005533760.tif 000004
【図４】
0005533760.tif 000005
【図５】
0005533760.tif 000006
【図６】
0005533760.tif 000007
【図７】
0005533760.tif 000008
【図８】
0005533760.tif 000009
【図９】
0005533760.tif 000010
【図１０】
0005533760.tif 000011
【図１１】
0005533760.tif 000012