(57)【特許請求の範囲】
【請求項１】
画像を読み取る画像読取装置と接続され、前記画像読取装置による読取処理を制御する読取制御装置であって、
前記画像読取装置の操作部に対してユーザによる画像読取指示がなされたことを検知する検知手段と、
前記画像読取指示がなされたことが前記検知手段により検知された場合に、前記画像読取装置に対して、前記読取処理の開始要求と、前記画像読取装置におけるオフラインによる読取処理のジョブの受け付けが禁止されるジョブ受付禁止状態へ移行させるためのロック要求とを行う要求手段と、
前記要求手段が行った前記読取処理の開始要求に応じて実行された読取処理により得られた画像データを、前記画像読取装置から受信する受信手段と、
前記受信手段により受信された画像データに対して所定のデータ処理を行うデータ処理手段と、
前記受信手段による画像データの受信に応じて、前記要求手段が行った前記ロック要求により前記画像読取装置が移行した前記ジョブ受付禁止状態を解除させる解除手段と、を有し、
先行する第１の読取処理により得られた画像データの受信に応じて前記解除手段による解除が行われた後、当該画像データに対して前記データ処理手段が前記所定のデータ処理を行っているときに、第２の読取処理のための画像読取指示がなされたことが前記検知手段により新たに検知された場合、前記要求手段は、当該所定のデータ処理が終了するまで当該第２の読取処理の開始要求を待機させるとともに、当該データ処理が終了する前であっても前記ロック要求を行い、当該所定のデータ処理が終了した後、前記要求手段は待機していた当該第２の読取処理の開始要求を行い、当該開始要求に応じて実行された当該第２の読取処理により得られた画像データを前記受信手段が受信したことに応じて、前記解除手段は、当該ロック要求により前記画像読取装置が移行した前記ジョブ受付禁止状態を解除させることを特徴とする読取制御装置。
【請求項２】
前記データ処理手段は、前記所定のデータ処理として、前記画像補正処理、色変換処理、文字認識処理、ファイル保存処理の少なくとも１つを行うことを特徴とする請求項１に記載の読取制御装置。
【請求項３】
前記要求手段は、先行する読取処理により得られた画像データに対する前記所定のデータ処理が行われていないときに前記検知手段により画像読取指示がなされたことが新たに検知された場合、前記待機を行わずに、当該画像読取指示に応じた読取処理の開始要求と前記ロック要求を行うことを特徴とする請求項１または２に記載の読取制御装置。
【請求項４】
先行する前記第１の読取処理により得られた画像データに対して前記データ処理手段が前記所定のデータ処理を行っているときに前記検知手段により前記第２の読取処理のための画像読取指示がなされたことが新たに検知された場合、当該第１の読取処理が、前記画像読取装置において画像読取指示がなされたことを前記検知手段が検知したことによって開始されたものであるか判断する第１の判断手段を有し、
前記第１の判断手段により否定判断がなされた場合には当該第２の読取処理を前記画像読取装置に実行させないことを特徴とする請求項１〜３のいずれか１項に記載の読取制御装置。
【請求項５】
先行する前記第１の読取処理により得られた画像データに対して前記データ処理手段が前記所定のデータ処理を行っているときに前記検知手段により前記第２の読取処理のための画像読取指示がなされたことが新たに検知された場合、当該第１の読取処理が、当該第２の読取処理のための画像読取指示がなされた画像読取装置においてなされた画像読取指示を前記検知手段が検知したことによって開始されたものであるか判断する第２の判断手段を有し、
前記第２の判断手段により否定判断がなされた場合には当該第２の読取処理を前記画像読取装置に実行させないことを特徴とする請求項１〜４のいずれか１項に記載の読取制御装置。
【請求項６】
画像を読み取る画像読取装置と、前記画像読取装置による読取処理を制御する読取制御装置とを用いる画像読取方法であって、
前記読取制御装置が、前記画像読取装置の操作部に対してユーザによる画像読取指示がなされたことを検知した場合に、前記読取制御装置が前記画像読取装置に対して、前記読取処理の開始要求と、前記画像読取装置におけるオフラインによる読取処理のジョブの受け付けが禁止されるジョブ受付禁止状態へ移行させるためのロック要求とを行う要求工程と、
前記読取処理の開始要求に応じて実行された読取処理により得られた画像データを、前記読取制御装置が前記画像読取装置から受信する受信工程と、
前記読取制御装置が、前記受信工程において受信された画像データに対して所定のデータ処理を行うデータ処理工程と、
前記受信工程における読取画像データの受信に応じて、前記読取制御装置が、前記要求工程で行われた前記ロック要求により前記画像読取装置が移行した前記ジョブ受付禁止状態を解除させる解除工程と、を有し、
先行する第１の読取処理により得られた画像データの受信に応じて前記解除工程における解除が行われた後、当該画像データに対して前記データ処理工程において前記所定のデータ処理が行われているときに、前記読取制御装置が第２の読取処理のための画像読取指示がなされたことが新たに検知された場合、前記読取制御装置は、当該所定のデータ処理が終了するまで当該第２の読取処理の開始要求を待機させるとともに、当該データ処理が終了する前であっても前記ロック要求を行い、当該所定のデータ処理が終了した後、待機していた当該第２の読取処理の開始要求を行い、当該開始要求に応じて実行された当該第２の読取処理により得られた画像データを受信したことに応じて、当該ロック要求により前記画像読取装置が移行した前記ジョブ受付禁止状態を解除させることを特徴とする画像読取方法。
【請求項７】
前記所定のデータ処理は、前記画像補正処理、色変換処理、文字認識処理、ファイル保存処理の少なくとも１つを含むことを特徴とする請求項６に記載の画像読取方法。
【請求項８】
前記要求工程で前記読取制御装置は、先行する読取処理により得られた画像データに対する前記所定のデータ処理が行われていないときに画像読取指示がなされたことが新たに検知された場合、前記待機を行わずに、当該画像読取指示に応じた読取処理の開始要求と前記ロック要求を行うことを特徴とする請求項６または７に記載の画像読取方法。
【請求項９】
先行する前記第１の読取処理により得られた画像データに対して前記所定のデータ処理が行われているときに前記第２の読取処理のための画像読取指示がなされたことが新たに検知された場合、当該第１の読取処理が、前記画像読取装置において画像読取指示がなされたことを前記読取制御装置が検知したことによって開始されたものであるか判断し、否定判断がなされた場合には前記読取制御装置は当該第２の読取処理を前記画像読取装置に実行させないことを特徴とする請求項６〜８のいずれか１項に記載の画像読取方法。
【請求項１０】
先行する前記第１の読取処理により得られた画像データに対して前記所定のデータ処理が行われているときに前記第２の読取処理のための画像読取指示がなされたことが新たに検知された場合、当該第１の読取処理が、当該第２の読取処理のための画像読取指示がなされた画像読取装置においてなされた画像読取指示を前記読取制御装置が検知したことによって開始されたものであるか判断し、否定判断がなされた場合には前記読取制御装置は当該第２の読取処理を前記画像読取装置に実行させないことを特徴とする請求項６〜９のいずれか１項に記載の画像読取方法。
【請求項１１】
前記画像読取装置は、画像読取指示がなされてから所定時間が経過しても前記読取制御装置から前記ロック要求または読取処理の開始要求が送られてこない場合、当該画像読取指示をキャンセルすることを特徴とする請求項６〜１０のいずれか１項に記載の画像読取方法。
【請求項１２】
請求項１〜５のいずれか１項に記載の画像読取制御装置の各手段をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像読取装置による読取処理を制御する読取制御装置、画像読取方法及びプログラムに関する。
【背景技術】
【０００２】
従来、スキャナ等の画像読取装置に設けられた操作部からの操作を、画像読取装置に接続されたパーソナルコンピュータ（ＰＣ）が検知することによりＰＣ側で設定しておいた所定の処理を実行させるものが知られている。所定の処理としてスキャナドライバを起動し、画像読取装置による画像の読み取りを行わせるものが知られている（特許文献１参照）。これによりユーザは画像読取装置側の操作でＰＣのスキャナドライバを利用した画像読取処理（オンライン処理）を実行させることができる。
【０００３】
また、このような画像読取装置に、例えば印刷機能を設け、画像を読み取って得た画像データを印刷させるなどの処理が可能なものも知られている。この場合、画像読取装置はＰＣとの通信を伴わずに画像の読み取り（オフライン処理）を行うことができる。
【０００４】
画像読取装置の操作部からの操作に応じてＰＣのスキャナドライバを用いて画像読取処理を行わせる場合、ユーザは原稿を交換する毎に画像読取装置の操作部から読取指示を行う。また、操作部から読取指示を受け付けた場合、所定期間、他のオフライン処理によるジョブの実行指示の受け付けを禁止する画像読取装置がある。またさらにから画像の読取開始指示を受け取ると、オフライン処理による画像読取の指示を禁止する画像読取装置がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２３９２６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
原稿を交換しながら画像読取装置の操作部からの操作に応じてスキャナドライバを用いて画像読取を行わせる場合、先行する読取処理におけるＰＣ側での処理が終わっていなければ、ＰＣは後続の読取指示を開始しない。一方、画像読取装置の操作部から後続の読取指示がなされてから所定時間が経過してもＰＣからの読取開始指示がなされない場合、ＰＣ側で何らか異常が発生した可能性があるため、画像読取装置は、他の読取指示を禁止していた状態を解除するものがある。禁止状態の解除後、画像読取装置はオフライン処理による画像読取の指示を受け付け、オフライン処理による画像読取を行わせることが可能となる。
【０００７】
しかしながら、実際には先行する読取処理におけるＰＣ側での処理に時間がかかっていただけであり、ＰＣ側で異常が発生していなかった場合、ＰＣは先行する読取処理が終了すると後続の読取指示に基づく画像の読取開始を画像読取装置に指示する。そのため、ユーザがオフライン処理による画像読取を行わせるべく画像読取装置に原稿をセットしていた場合、上記後続の読取指示に対する読取開始指示が画像読取装置になされ、意図しない画像がＰＣ側に送られてしまう恐れがある。また、あるいは画像読取装置においてオフライン処理による画像読取のための操作を開始することによってこの画像読取のために他の読取指示の受け付けを禁止してしまい、ＰＣからの上記後続の読取指示に基づく読取開始指示を受け付けられない恐れもある。
【０００８】
本発明は以上の課題に鑑みなされたものであり、先行する画像読取処理を行っている間になされた読取指示に基づく画像読取処理を適切に実行させることのできる画像読取制御装置、画像読取方法及びプログラムを提供するものである。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明の読取制御装置は、画像を読み取る画像読取装置と接続され、前記画像読取装置による読取処理を制御する読取制御装置であって、前記画像読取装置の操作部に対してユーザによる画像読取指示がなされたことを検知する検知手段と、前記画像読取指示がなされたことが前記検知手段により検知された場合に、前記画像読取装置に対して、前記読取処理の開始要求と、前記画像読取装置におけるオフラインによる読取処理のジョブの受け付けが禁止されるジョブ受付禁止状態へ移行させるためのロック要求とを行う要求手段と、前記要求手段が行った前記読取処理の開始要求に応じて実行された読取処理により得られた画像データを、前記画像読取装置から受信する受信手段と、前記受信手段により受信された画像データに対して所定のデータ処理を行うデータ処理手段と、前記受信手段による画像データの受信に応じて、前記要求手段が行った前記ロック要求により前記画像読取装置が移行した前記ジョブ受付禁止状態を解除させる解除手段と、を有し、先行する第１の読取処理により得られた画像データの受信に応じて前記解除手段による解除が行われた後、当該画像データに対して前記データ処理手段が前記所定のデータ処理を行っているときに、第２の読取処理のための画像読取指示がなされたことが前記検知手段により新たに検知された場合、前記要求手段は、当該所定のデータ処理が終了するまで当該第２の読取処理の開始要求を待機させるとともに、当該データ処理が終了する前であっても前記ロック要求を行い、当該所定のデータ処理が終了した後、前記要求手段は待機していた当該第２の読取処理の開始要求を行い、当該開始要求に応じて実行された当該第２の読取処理により得られた画像データを前記受信手段が受信したことに応じて、前記解除手段は、当該ロック要求により前記画像読取装置が移行した前記ジョブ受付禁止状態を解除させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、先行する第１の読取処理により得られた画像データに対してデータ処理を行っているときに、第２の読取処理のための画像読取指示がなされたことが検知された場合、当該データ処理が終了するまで当該第２の読取処理の開始要求を待機させるとともに、当該データ処理が終了する前であってもロック要求を行う。従って、先行する画像読取装置を行っている間になされた読取指示に基づく画像読取処理を適切に実行させることができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態による画像読取システムを示す図である。
【図２】ＰＣに含まれる機能を示すブロック図である。
【図３】ＰＣによる処理の流れを示すフローチャートである。
【図４】ＭＦＰとＰＣによる処理の流れを示す図である。
【図５】ＰＣによる処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態の一例について図面を用いて説明する。
図１は、本実施形態における画像読取システムを示す図である。パーソナルコンピュータ（ＰＣ）１０は、少なくとも画像読取装置による画像読取の制御を行うことが可能な画像読取制御装置として機能する。ＣＰＵ１０１はＲＯＭ１０２または記憶装置１０６に記憶されているプログラムをＲＡＭ１０３にロードし、それを実行することによりＰＣ１０の動作を制御する。汎用的なＰＣに画像読取装置の制御を行うプログラム（ソフトウェア）をインストールすることにより画像読取制御装置として機能するＰＣ１０を実現することができる。入力装置１０４はユーザによる操作を受け付け、その操作内容をＣＰＵ１０１に入力する。表示装置１０５はユーザに提供すべき種々の情報を表示する。記憶装置１０６はＣＰＵ１０１が実行するためのプログラムや入力された各種情報を記憶する。通信制御部１０７は接続インタフェース（Ｉ／Ｆ）３０を介して接続された外部装置との通信を制御する。これらの構成は内部バス１０８を介して互いに通信可能である。
【００１３】
また図１において複合機（ＭＦＰ）２０は、少なくとも画像を読み取る画像読取装置としての機能を有する。またＭＦＰ２０は画像読取に関する複数の機能を有する。ここでは読取画像データをＰＣ１０に送信する機能と、読取画像データを印刷部２０７に供給して用紙等の印刷媒体上に印刷させるコピー機能とを有するものとする。ＣＰＵ２０１はＲＯＭ２０２に記憶されているプログラムをＲＡＭ２０３にロードし、それを実行することによりＭＦＰ２０の動作を制御する。通信制御部２０４は接続Ｉ／Ｆ３０を介して接続された外部装置との通信を制御する。操作部２０５はユーザによる操作を受け付ける。操作部２０５としてはハードキー、タッチパネル等のソフトキーなどを採用可能である。画像読取部２０６は原稿上の画像を光学的に読み取り、当該画像に基づく読取画像データを発生する。印刷部２０７は入力された画像データに基づきトナーやインクなどの記録剤を印刷媒体上に付与して画像を印刷する。なお、ここではＭＦＰ２０が有する機能として読取画像データをＰＣ１０に送信する機能と、コピー機能とをあげたが、コピー機能に加えて、あるいはコピー機能に代えて読取画像データをＰＣ１０以外も含む外部装置に出力する機能等としてもよい。接続Ｉ／Ｆ３０は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などの有線Ｉ／Ｆ、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの無線Ｉ／Ｆなどを採用可能である。また、ＰＣ１０とＭＦＰ２０とを一対一で接続するものに限らず、有線ＬＡＮ、無線ＬＡＮ、インターネットなどを介して接続されるものとしてもよい。
【００１４】
本実施形態の画像読取システムにおいては、ＰＣ１０が操作部２０５における特定の操作を監視し、当該操作をＰＣ１０が検知するとＰＣ１０のスキャナドライバによる読取指示により画像読取部２０６による画像読取を実行させることができる。ＰＣ１０はこの画像読取により発生された読取画像データを取得する。また、ユーザにより操作部２０５からコピー指示がなされた場合はＰＣ１０を介さずに画像読取部２０６による画像読取に続き印刷部２０７による印刷が行われコピー処理が行われる。ただし、ＰＣ１０が操作部２０５からの指示を検知したことに応じて画像読取部２０６による画像読取を実行させ、読取画像データを取得した後、ＭＦＰ２０に読取画像データを戻して印刷部２０７で印刷させるＰＣ１０経由のコピーも可能である。読取画像データをＰＣ１０で取り込む、ＰＣ１０経由のコピーを行う、ＰＣ１０を経由させるコピーを行う、などの区別は操作部２０５における操作内容に応じて行う。また操作部２０５における操作をＰＣ１０に監視させるかどうかは操作内容毎に予めＲＡＭ２０３に登録しておくものとする。また、ＰＣ１０は操作部２０５からの操作なしにスキャナドライバからの読取指示で画像読取部２０６による画像読取を実行させ、読取画像データを取得することもできる。
【００１５】
また、ＭＦＰ２０は操作部２０５から画像読取指示がなされた場合、他の新たなジョブの指示を受け付けないよう、操作禁止期間を設定する。そしてＭＦＰ２０は操作禁止期間が過ぎてもジョブが終了したことを検知できなかった場合、自動的に操作禁止期間を解除し、操作部２０５によるジョブの指示を受け付け可能となる。またＭＦＰ２０はＰＣ１０からジョブ割込み禁止要求（ロック要求）を受信した場合も、操作部２０５からの新たなジョブ実行指示を受け付けない（ジョブ受付禁止状態となる）。そして、ジョブ受付禁止状態はＰＣ１０からのロック解除要求を受信した場合に解除される。また、ロック解除要求を受信していない場合であっても、ロック要求を受け付けた後、所定時間が経過してもジョブが終了しない場合はジョブ受付禁止状態を解除する。ジョブ受付禁止状態を解除するまでの時間は上記操作禁止期間を自動解除する時間より長く設定しておくものとする。また、ＭＦＰ２０は操作禁止期間中及びロック要求に従ってロック状態となっている期間中は受け付けたスキャン指示は無効としない。
【００１６】
図２は、ＰＣ１０にインストールされるソフトウェアに含まれる機能を示すブロック図である。ＰＣ１０には、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）がインストールされ、さらにＯＳ上で動作するスキャナドライバ１１がインストールされる。イベント制御部１０９はＯＳにより提供されるモジュールであり、ＭＦＰ２０におけるイベントの発生を監視し、イベントの発生を検知すると予め決められた処理を実行する。即ち、ＭＦＰ２０において発生したイベントが画像読取の指示を示すものであった場合、イベント制御部１０９はスキャナドライバ１１の起動を指示し、画像読取のための処理を実行させる。このとき画像読取のためのパラメータ（読取対象の原稿サイズ、読取解像度、カラー／モノクロの指定等）はスキャナドライバ１１において予め指定されたものを用いる。イベント制御部１０９はＯＳにより提供されるモジュールに代え、スキャナドライバ１１のモジュールの一つや、他のアプリケーションソフトウェアとしてもよい。
【００１７】
スキャナドライバ１１には画像読取制御部１１０、Ｉ／Ｆ制御部１１１、データ処理部１１２が含まれる。これらは例えばプロセス間通信等によって種々のコマンドによる通信が可能である。ただし、これらは独立したモジュールとして構成してもよいし、一つのプログラムの中に含まれる処理単位としてもよい。画像読取制御部１１０はイベント制御部１０９からの起動指示に従って起動され、Ｉ／Ｆ制御部１１１を介したＭＦＰ２０との通信を制御したり、データ処理部１１２に対して読取画像データの処理を指示したりする。画像読取制御部１１０はＭＦＰ２０において読取指示がなされる度に起動され、画像読取処理が終了すると終了（クローズ）される。データ処理部１１２はページ単位で順にデータ処理を行う。また、画像読取制御部１１０はユーザによるＰＣ１０の入力装置１０４の操作によっても起動可能である。そして画像読取制御部１１０によって提供されるユーザインタフェース（ＵＩ）を表示装置１０５に表示させ、それに従ってユーザは画像読取開始指示や読取画像データの処理内容の指定などが可能となる。このＵＩからは読取開始指示のほか、読取パラメータの指定、プリスキャンの指定、プリスキャン後の読取範囲の指定などが可能である。Ｉ／Ｆ制御部１１１は通信制御部１０７を介した処理を受け持つ。Ｉ／Ｆ制御部１１１は画像読取制御部１１０からの指示に基づきＭＦＰ２０に対して読取指示コマンドなどの種々の制御コマンドを送信したり、そのコマンドに対するＭＦＰ２０からの応答を受信し、それを画像読取制御部１１０に渡したりする。また、Ｉ／Ｆ制御部１１１は読取指示コマンドに従ってＭＦＰ２０が画像を読み取って得た読取画像データを受信し、それをデータ処理部１１２に渡す。データ処理部１１２はＩ／Ｆ制御部１１１を介して取得した読取画像データに対して、画像読取制御部１１０からの指示に従った処理を行う。この処理としては、画像補正処理、色変換処理、文字認識処理、ファイル保存などがある。
【００１８】
次に、ＭＦＰ２０の操作部２０５を介してＰＣ１０に検知させるべき読取指示がなされた場合のＰＣ１０における処理の流れについて説明する。図３はこの処理の流れを示すフローチャートであり、ＲＯＭ１０２または記憶装置１０６に記憶されているプログラムをＲＡＭ１０３にロードし、それをＣＰＵ１０１が実行することによりなされる処理である。またこれらの処理は主に図２に示したプログラムが連携して実行される。
【００１９】
図３において、Ｓ３０１ではＭＦＰ２０におけるスキャンイベントの発生の有無を、イベント制御部１０９により監視する。スキャンイベントとは、ＰＣ１０を経由させて画像読取処理を実行するためのイベントであり、ここでは操作部２０５に含まれるスキャンボタンが押下されたときにスキャナドライバ１１を起動し、画像読取処理を実行するものとする。なお、スキャンイベントは操作部２０５による操作に限らず、ＭＦＰ２０の仕様やＰＣ１０における登録内容に応じて種々のものを採用可能である。例えば、ＭＦＰ２０に原稿がセットされたことをＭＦＰ２０において検知し、それをＰＣ１０に通知するようなものであってもよい。Ｓ３０１でスキャンイベントが発生したことがイベント制御部１０９において検知されるとＳ３０２に進む。
【００２０】
Ｓ３０２では、イベント制御部１０９は画像読取制御部１１０の起動を指示し、画像読取制御部１１０を起動させる。Ｓ３０３では他の画像読取処理のために既に画像読取制御部１１０が起動されているかを判断する。ここで、既に画像読取制御部１１０が起動されている場合とは、ＭＦＰ２０により読み取らせる原稿が複数枚あり、先に読み取らせている原稿の画像読取処理がまだ終わっていない状態などである。また画像読取制御部１１０が起動されている場合、ＲＡＭ１０３の所定の記憶領域に所定の情報を記憶させるものとし、当該情報が記憶されているかどうかなどによりＳ３０３における判断が可能である。Ｓ３０３で肯定判断がなされた場合はＳ３０４に進み、否定判断がなされた場合はＳ３０６に進む。
【００２１】
Ｓ３０４では、Ｓ３０１で検知した読取イベントに基づく画像読取処理が行われるまでにＭＦＰ２０により他のジョブが開始されないようＩ／Ｆ制御部１１１を介してＭＦＰ２０にジョブ割込み禁止要求を送信する。ここでＭＦＰ２０において割込みを禁止するジョブは画像読取部２０６を用いるジョブのみとしてもよいし、画像読取部２０６を用いないジョブを含む全てのジョブとしてもよい。いずれのジョブの割込みを禁止するかはＭＦＰ２０側で決定しておくものとする。ＭＦＰ２０においてジョブの割込みを禁止する状態となった場合、操作部２０５からのジョブの実行指示を受け付けないようにする。そして、Ｓ３０５では、Ｓ３０３で起動されていると判断された画像読取制御部１１０が画像読取処理を終え、終了するまで待機する。
【００２２】
Ｓ３０６では、Ｓ３０２における起動指示に従って起動された画像読取制御部１１０により、Ｉ／Ｆ制御部１１１を介してＭＦＰ２０に対しスキャン要求を送信する。このスキャン要求を受信したＭＦＰ２０は画像読取部２０６を用いて原稿上の画像の読み取りを行い、これによって得た読取画像データをＰＣ１０に送信する。Ｓ３０７ではＭＦＰ２０から送信される読取画像データを受信し、データ処理部１１２によって所定のデータ処理を施す。なお、Ｓ３０３で否定判断がなされた場合、Ｓ３０６においてＭＦＰ２０に対しロック要求を送信してからスキャン要求を送信するものとする。
【００２３】
Ｓ３０８では、画像読取制御部１１０はＭＦＰ２０からのスキャン完了通知と、データ処理部１１２からのデータ処理完了通知とを待つ。スキャン完了通知とデータ処理完了通知とを受け取ったらＳ３０９で、Ｓ３０２における起動指示に従って起動された画像読取制御部１１０を終了する。Ｓ３０９において画像読取制御部１１０を終了すると、ＭＦＰ２０に対しロック解除要求を送信し、ＭＦＰ２０ではジョブ割込み禁止状態が解除される。なお、Ｓ３０３で否定判断がなされてＳ３０６におけるスキャン要求が送信された場合、Ｓ３０８においてスキャン完了通知を受け取ったときにデータ処理部１１２によるデータ処理の完了を待たずにＳ３０９に進むようにしてもよい。
【００２４】
次に、以上説明したような処理によって、ＭＦＰ２０におけるスキャンイベントの発生に従い、ＰＣ１０を経由させる画像読取処理を実行させる際の処理の流れの一例を詳細に説明する。ここでは、ユーザが２枚の原稿を交換させながら画像読取処理を実行させる場合を例に説明する。図４はこの場合の処理の流れ（シーケンス）を示す。
【００２５】
図４において、ユーザとある部分はユーザによる作業である。ＭＦＰ２０とある部分はＣＰＵ２０１がＲＯＭ２０２に記憶されているプログラムをＲＡＭ２０３にロードし、それを実行することによってなされる処理である。ＰＣ１０とある部分はＣＰＵ１０１がＲＯＭ１０２または記憶装置１０６に記憶されているプログラムをＲＡＭ１０３にロードし、それを実行することによってなされる処理である。また、図４において、図３のＳ３０３で起動されていると判断される画像読取制御部１１０を画像読取制御部１１０−Ａとし、後から起動される画像読取制御部１１０を画像読取制御部１１０−Ｂとした。画像読取制御部１１０−Ａと画像読取制御部１１０−Ｂとは同一プロセスで実行されるものとしてもよいし、個別に実行されるものとしてもよい。
【００２６】
Ｓ４０１においてユーザが操作部２０５のスキャンボタンを押下すると、スキャンジョブ要求の指示がなされたことがＣＰＵ２０１に通知される（Ｓ４０２）。これを受けたＣＰＵ２０１は通信制御部２０４を介してＰＣ１０に対してスキャンイベントが発生したことを示すコマンドを送信する（Ｓ４０３、４０５）。そしてＣＰＵ２０１は、操作部２０５に対し操作禁止期間を設定し、他のジョブの指示を禁止する状態に移行させる（Ｓ４０４）。このとき操作禁止期間中であることをユーザが認識できるよう操作部２０５に準備中であることを表示する。Ｓ４０５におけるコマンドをイベント制御部１０９で受け取る処理が図３のＳ３０１に対応する。なお、Ｓ４０１でＣＰＵ２０１がスキャンジョブの要求を受け取ったとき、例えばオフライン処理による他のジョブを実行中ですぐにスキャンジョブを受け付けることができない場合、受付可能となるまで待機する。なお、操作禁止期間に遷移した後、所定時間が経過してもＰＣ１０からのロック要求が受信されない場合、このスキャンイベントはキャンセルされ、操作部２０５にエラーが発生したことを表示する。そして操作禁止状態を解除し、ＭＦＰ２０は待機状態（ジョブ実行指示を受付可能な状態）に戻る。
【００２７】
スキャンイベント発生の通知を受けたイベント制御部１０９は画像読取制御部１１０に対し起動要求を行い（Ｓ４０６＝Ｓ３０２）、画像読取制御部１１０が起動される（画像読取制御部１１０−Ａ）。画像読取制御部１１０−Ａは起動時、他の画像読取制御部１１０が起動されていないか確認する（Ｓ３０３）。ここでは他に画像読取制御部１１０が起動されていないので、画像読取制御部１１０−Ａは即座にＩ／Ｆ制御部１１１にスキャン要求の送信を指示する（Ｓ４０７＝Ｓ３０６）。Ｉ／Ｆ制御部１１１はスキャン要求の送信指示を受け取ると、まずＭＦＰ２０に対しロック要求を行う（Ｓ４０８，４０９）。ＣＰＵ２０１はロック要求を受け取るとＭＦＰ２０を他のジョブの受け付け禁止状態とし、操作部２０５にスキャン中であることを表示させ、ユーザにＭＦＰ２０がスキャン処理中のため他のジョブを受け付けられないことを通知する（Ｓ４１０）。また画像読取制御部１１０−ＡはＳ４０６で起動要求を受けて起動されたとき、読取画像データを処理させるためにデータ処理部１１２の起動要求も行い（Ｓ４１１）、これによりデータ処理部１１２が起動される。
【００２８】
Ｉ／Ｆ制御部１１１は、Ｓ４０７におけるスキャン要求を受け取ったとき、ロック要求に対するＭＦＰ２０のロックに成功すると、ＭＦＰ２０に対しスキャン開始要求も行う（Ｓ４１２，４１３）。スキャン開始要求を受け取ったＣＰＵ２０１は原稿の読み取りの準備が完了すると画像読取部２０６による画像の読み取りを開始させる。
【００２９】
画像読取部２０６による画像の読み取りが開始されると、ＰＣ１０はＭＦＰ２０に対し読取画像データの要求を行う（Ｓ４１４，４１５）。ＣＰＵ２０１は画像読取部２０６による画像の読み取りが行わせ当該読み取りの結果得た読取画像データを順次ＲＡＭ２０３に記憶する。そしてＣＰＵ２０１は、ＲＡＭ２０３にＰＣ１０に転送する分の読取画像データが記憶されていたら、画像データの要求に対する応答として読取画像データを、通信制御部２０４を介してＰＣ１０に転送させる（Ｓ４１６，４１７）。Ｉ／Ｆ制御部１１１はこの読取画像データを受け取ると、この読取画像データに所定のデータ処理を施すためにデータ処理部１１２に転送する（Ｓ４１８＝Ｓ３０７）。Ｓ４１４〜Ｓ４１９の処理は１ページ分の画像の読み取りが終了するまで繰り返され、１ページ分の画像の読み取りが終了したと判断されると、Ｉ／Ｆ制御部１１１はＭＦＰ２０に対しロック解除要求を行う（Ｓ４１９，４２０）。１ページ分の画像の読み取りの終了はＭＦＰ２０が終了を示す情報を通知し、それをＰＣ１０が受信する、またはＰＣ１０が１ページ分に相当する画像データを受信したことで判断することができる。また、読取画像データを分割して転送するのに代え、１ページ分をまとめて転送するものとしてもよい。ＣＰＵ２０１はロック解除要求を受け取ると、操作部２０５に対し操作禁止期間終了の指示を行い（Ｓ４２１）、操作部２０５から新たなジョブの指示を受け付け可能な状態に遷移させる。このとき、操作部２０５ではスキャン中であることを示す表示は消されているので、ユーザは新たなジョブの指示が行えることを認識できる。Ｉ／Ｆ制御部１１１はＭＦＰ２０の画像読取部２０６によるスキャンが完了したことを画像読取制御部１１０−Ａに通知するとともに（Ｓ４２２）、自身を終了させる。
【００３０】
操作部２０５におけるスキャン中の表示が消えており、操作部２０５による新たなジョブの指示が可能であることを確認したユーザは、画像読取部２０６にセットされていた原稿を２枚目の原稿に交換する。そして、この原稿の画像を読み取らせるために操作部２０５のスキャンボタンを押下する（Ｓ４２３）。すると、Ｓ４０２〜４０６と同様に画像読取制御部１１０の起動までを行う（Ｓ４２４〜４２８）。ここでは既に画像読取制御部１１０−Ａが起動されているので、画像読取制御部１１０が重複して起動される（画像読取制御部１１０―Ｂ）。ここでは画像読取制御部１１０が重複して起動させても、後から起動された画像読取制御部１１０−Ｂは先の画像読取処理が終了するまで待機しているだけなので、負荷は少ない。
【００３１】
画像読取制御部１１０−Ｂが起動されると他の画像読取制御部１１０が起動されているか確認し（Ｓ４２９＝Ｓ３０３）、ここでは既に起動されているのでその旨の応答が画像読取制御部１１０−Ａから返ってくる（Ｓ４３０）。ここでは先の画像読取処理（１枚目の原稿の画像読取処理）が終了していないため、画像読取制御部１１０−Ｂはまだスキャン要求のコマンドを発行しない。しかし画像読取制御部１１０−Ｂは、この時点でＭＦＰ２０においてオフライン処理によるジョブの実行指示を受け付けさせないようジョブ割込み停止要求をＰＣ１０に対して行う（Ｓ４３１＝Ｓ３０４）。Ｉ／Ｆ制御部１１１は画像読取制御部１１０−Ｂからのジョブ割込み禁止要求を受けてＭＦＰ２０にロック要求を行う（Ｓ４２２，４２３）。ＣＰＵ２０１はロック要求を受け取るとＭＦＰ２０を他のジョブの受け付け禁止状態とする。そして、まだ２枚目の原稿のＭＦＰ２０による画像読取処理は開始していないが操作部２０５にスキャン中であることを表示させ、ユーザにＭＦＰ２０がスキャン処理中のため他のジョブを受け付けられないことを通知する（Ｓ４３４）。
【００３２】
そして、データ処理部１１２は先の画像読取処理における読取画像データ（１枚目の原稿の画像データ）のデータ処理が終了すると、データ処理が完了した旨を画像読取制御部１１０−Ａに通知する（Ｓ４３５）。データ処理が完了した旨の通知を受けた画像読取制御部１１０−Ａは先の画像読取処理が終了したことを画像読取制御部１１０−Ｂに通知する（Ｓ４３６）。そして画像読取制御部１１０−Ａは、自身が指示したスキャン要求に対応するスキャンが完了し（Ｓ４２２）、当該スキャンに対応したデータ処理が完了した（Ｓ４３５）ので、ここで自身を終了させる（Ｓ３０９）。なお、画像読取制御部１１０−Ｂが画像読取制御部１１０−Ａの処理が終了したことを知るために、画像読取制御部１１０−Ａからの終了通知を受け取るのに代え、画像読取制御部１１０−Ｂが画像読取制御部１１０−Ａの処理を監視するものとしてもよい。
【００３３】
画像読取制御部１１０−Ａが終了したことを知った画像読取制御部１１０−ＢはＭＦＰ２０に対するスキャン要求の指示を行う（Ｓ４３７＝Ｓ３０６）。この指示を受け取ったＩ／Ｆ制御部１１１はＭＦＰ２０に対しスキャン開始要求を送信する（Ｓ４３８，４３９）。また画像読取制御部１１０−Ｂはデータ処理部１１２に今回のスキャンによる読取画像データのデータ処理を行わせるためにデータ処理部１１２の起動要求を行う（Ｓ４４０）。
【００３４】
そして、これ以降、ＭＦＰ２０側で画像読取部２０６による原稿上の画像の読み取りが行われ、ＰＣ１０側で読取画像データの処理が行われるのは、Ｓ４１４〜４２２、４２５における処理と同様であり、ここでの説明は省略する。
【００３５】
以上のように、ＭＦＰ２０におけるスキャンイベントの発生をＰＣ１０が検知して画像読取処理をさせる際、既にＭＦＰ２０からのスキャンイベントに基づく画像読取処理が開始されていた場合、後続の画像読取処理を待機させる。そして、待機中にＭＦＰ２０においてジョブの割込みを禁止させるべくロック要求を行う。これにより、ＭＦＰ２０においてスキャンイベントが発生してからＰＣ１０がスキャン要求を行うまでの時間が長くなったとしてもスキャンイベントに基づく画像読取処理がタイムアウトしてしまう可能性を低減させることができる。
【００３６】
しかしながら、画像読取制御部１１０が既に起動されているときにＭＦＰ２０においてスキャンイベントが発生したことをＰＣ１０で検知した場合であってもロック要求を行わない方がよい場合がある。例えば、次のような場合である。
【００３７】
一つ目の例は、起動済みの画像読取制御部１１０がイベント制御部１０９によって起動されたのではなく、ＰＣ１０の入力装置１０４からの操作に従って起動された場合である。この場合、ユーザは表示装置１０５に表示されたＵＩやプリスキャン画像を見ながら処理内容の指定を行い、読取指示を行う。そして読取指示を行う前にＭＦＰ２０においてスキャンイベントが発生したことをＰＣ１０が検知し、上述のようにロック要求を行ってしまうと、ＰＣ１０のＵＩを介して読取指示を行ってもＭＦＰ２０による画像読取処理を実行させることができなくなってしまう。
【００３８】
二つ目の例は、ＰＣ１０に複数の画像読取装置（ＭＦＰ）が接続され、それぞれ共通のスキャナドライバを用いて画像読取処理を実行させることができる場合である。そしてそれぞれの画像読取装置においてスキャンイベントが発生したことをＰＣ１０が検知した場合である。このとき、後続のスキャンイベントの発生に基づきロック要求を行ってしまうと、後続のスキャンイベントを発生させた画像読取装置は何も処理を行えないにも関わらずロック状態が続いてしまう。
【００３９】
従って、図３のＳ３０３における判断においては、これらのことなどを考慮するのが好ましい。図５はこの場合のＰＣ１０における処理の流れを示すフローチャートである。このフローチャートはＲＯＭ１０２または記憶装置１０６に記憶されているプログラムをＲＡＭ１０３にロードし、それをＣＰＵ１０１が実行することによりなされる処理を示す。ここでは先に起動されている画像読取制御部１１０を画像読取制御部１１０−Ｃ、後から起動される画像読取制御部１１０を画像読取制御部１１０−Ｄとする。
【００４０】
Ｓ５０１では、イベント制御部１０９からの起動要求に従って画像読取制御部１１０を起動させる。この起動の手順は図３のＳ３０１〜３０２、図４のＳ４０１〜４０６、４２３〜４２８で示したとおりであり、ここでの説明は省略する。
【００４１】
Ｓ５０２では、他の画像読取制御部１１０が起動されているか判断する。ここでの判断はＳ３０３と同様に行う。起動されていると判断された場合はＳ５０３に進み、起動されていないと判断された場合はＳ５０８に進み、図３のＳ３０３で否定判定された場合（図４のＳ４０７〜４２２）と同様に処理を行う。
【００４２】
Ｓ５０３では、画像読取制御部１１０−Ｃが正常に動作中か判断する。正常に動作していないと判断された場合、画像読取制御部１１０−Ｄも正常に動作できない可能性があるため、Ｓ５１２に進み、画像読取制御部１１０−Ｄを起動したスキャンイベントをキャンセルし、ＭＦＰ２０にその旨を通知する。この通知を受けたＭＦＰ２０は操作部２０５にエラー表示等を行い、ユーザに再度読取指示などを行うことを促す。画像読取制御部１１０−Ｃが正常に動作中と判断された場合はＳ５０４に進む。
【００４３】
Ｓ５０４では、画像読取制御部１１０−Ｃがイベント制御部１０９により起動されたものであるか判断する。ここで否定判断がなされた場合は起動中の画像読取制御部１１０−ＣがＰＣ１０の入力装置１０４からの操作で起動されたものであり、画像読取制御部１１０−Ｃによる画像読取処理を優先させる。そして、Ｓ５１２に進み、画像読取制御部１１０−Ｄを起動したスキャンイベントをキャンセルし、ＭＦＰ２０にその旨を通知する。Ｓ５０４で肯定判断がなされた場合はＳ５０５に進む。
【００４４】
Ｓ５０５では、画像読取制御部１１０−Ｃの起動のトリガとなったスキャンイベントと画像読取制御部１１０−Ｄの起動のトリガとなったスキャンイベントとが同一の画像読取装置（ＭＦＰ）からのものであったか判断する。ここで肯定判断がなされた場合は、図３、４で説明したものと同じ状況であり、図３、４で説明したものと同様の手順でＳ５０６〜Ｓ５１１の処理を行う。一方、否定判断がなされた場合は、先に発生したスキャンイベントの処理を優先させるためＳ５１２に進み、画像読取制御部１１０−Ｄを起動したスキャンイベントをキャンセルし、そのスキャンイベントを発生させた画像読取装置にその旨を通知する。
【００４５】
なお、画像読取制御部１１０、データ処理部１１２が複数の画像読取処理を並行して実行可能である場合、Ｓ５０５で否定判定がなされてもスキャンイベントをキャンセルさせずにＳ５０８に進んで画像読取処理を実行させるようにしてもよい。
【００４６】
また、Ｓ５０３、５０４、５０５で否定判断がなされ、Ｓ５１２に進んだ場合、一律に同じ通知をＭＦＰ２０に行うのでなく、それぞれ異なる通知を行うようにしてもよい。Ｓ５０３で否定判断がなされた場合は、例えばスキャナドライバ１１側に異常がある可能性があることを示す通知を行い、操作部２０５ではＰＣ１０の再起動を促す表示を行う。Ｓ５０４で否定判断がなされた場合は、例えばＰＣ１０側の操作でスキャナドライバ１１を使用中であることを通知し、操作部２０５ではＰＣ１０側の作業が終わったら再度原稿をセットし、スキャンボタンを押下する操作を行うよう促す表示を行わせる。Ｓ５０５で否定判断がなされた場合は、例えば他の画像読取装置による画像読取処理中であることを通知し、操作部２０５では他の画像読取装置による処理が終わった後、再度スキャンボタンを押下する操作を行うよう促す表示を行わせる。
【００４７】
また、以上説明したような処理とは異なる方法によってＭＦＰ２０をロック状態に遷移させることを防止するようにしてもよい。例えば、ＭＦＰからのスキャンイベントを検知して画像読取制御部１１０を起動した後は、起動された画像読取制御部１１０の処理が終了するまでイベント制御部１０９は同一のＭＦＰからのスキャンイベント以外はエラーの応答をＭＦＰに返すようにする。また、入力装置１０４からの操作で画像読取制御部１１０が起動された場合、起動された画像読取制御部１１０の処理が終了するまでイベント制御部１０９はＭＦＰからのスキャンイベントの通知に対してエラーの応答を返す。
【００４８】
以上のように本実施形態によれば、ユーザがＭＦＰで画像の読み取りを指示してから実際に画像の読み取りが開始されるまで時間がかかってしまってもタイムアウトによって読み取りがキャンセルされてしまう可能性を低減させることができる。このため、データ処理部は複数並行処理させずにＰＣ側の負荷の低いものとすることができる。また、このときＭＦＰによる画像の読み取りも待機させるので、ＭＦＰやＰＣにおいて記憶装置の記憶容量を多く使う必要もなくなる。
【００４９】
また、ＭＦＰによる画像の読み取りが開始されるまでＭＦＰのステータスをロック状態とするので他のジョブが割り込まれることがなくなる。また、以上の説明ではＭＦＰをロック状態としたとき操作部２０５からのジョブの指示を受け付けないものとしたが、画像読取部を用いるジョブのみに限定するようにしてもよい。またこの場合、ＰＣからの指示も含めて画像読取部を用いるジョブの受け付けを禁止するものとしてもよい。これにより、ＭＦＰとＰＣを、ネットワークを介して接続した場合、ＭＦＰをロック状態とすることによって他のＰＣからの読取指示をブロックし、セット済みの原稿の画像を他のＰＣのユーザに見られてしまうことも防止できる。これは画像読取装置がＭＦＰである場合だけでなく、画像読取機能のみの画像読取装置としてもよい。また、意図しない画像（オフライン処理のためにセットした原稿の画像）がＰＣに送られてしまうことも防止できる。
【００５０】
また、ＰＣ側の操作でスキャナドライバを起動した場合、ＭＦＰからの読取指示があってもＭＦＰをロックしないので、ＰＣ側での操作による画像読取処理を適切に行わせることができる。また複数のＭＦＰからのスキャンイベントが競合した場合に、先に発生したスキャンイベントは適切に処理させ、後に発生したスキャンイベントのＭＦＰが意図せずロック状態となることを防止できる。
【００５１】
また、以上の説明では画像読取制御装置として汎用的なＰＣを例に説明したが、これには限らず、画像読取装置の制御専用装置等としてもよい。また、ＭＦＰによるオフライン処理は画像読取部からの読取画像データを印刷部に供給して印刷するコピー処理以外であってもよい。例えば、操作部からの指示でＭＦＰが能動的に画像読取部２０６によって原稿上の画像を読み取って得た読取画像データをＭＦＰに接続された記憶装置に記憶させたり、外部装置に送信したりするものでもよい。
【００５２】
また、本実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、プログラムは、１つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、一部または全部をハードウェアによって実現するようにしてもよい。
【図１】
0005847459.tif 000002
【図２】
0005847459.tif 000003
【図３】
0005847459.tif 000004
【図４】
0005847459.tif 000005
【図５】
0005847459.tif 000006