(57)【特許請求の範囲】
【請求項１】
省電力モードを備えた情報処理装置であって、
前記情報処理装置から供給される電力により動作する画像読取装置と通信を行う通信手段と、
前記画像読取装置における画像の読取り、及び、前記通信手段を介した、当該読取りにより得られた画像データの前記情報処理装置への送信の動作中に前記省電力モードとなり前記画像読取装置への電力の供給が停止され、かつ、前記省電力モードから復帰した場合、前記画像読取装置から受信した、前記省電力モードに移行する際に前記画像読取装置において読取対象であった画像の画像データを破棄する破棄手段と、
前記読取対象であった画像の再読取を前記画像読取装置に対して前記通信手段を介して指示する指示手段とを有することを特徴とする情報処理装置。
【請求項２】
前記画像の再読取を通知するメッセージを表示する表示手段をさらに有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記省電力モードからの復帰を、前記情報処理装置において動作しているオペレーティングシステムからの復帰イベントに基づいて確認する確認手段をさらに有することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記画像読取装置における前記画像の読取条件を設定する設定手段をさらに有し、
前記指示手段は、前記設定手段により設定された読取条件に基づいて画像読取を行うよう前記画像読取装置に指示することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記指示手段は、前記画像の再読取を前記設定手段により設定された読取条件に基づいて行うよう前記画像読取装置に指示することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記省電力モードから復帰したことに基づいて、前記画像読取装置を初期化する初期化手段をさらに有し、
前記指示手段は、前記初期化手段による初期化の後、前記読取対象であった画像の再読取を前記画像読取装置に対して指示することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記通信手段は、ＵＳＢインタフェースを使用して通信を行い、
前記画像読取装置は、前記ＵＳＢインタフェースを介して電力供給がなされるＵＳＢバスパワーデバイスであることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記画像の読取は複数の原稿を連続的に読取り、複数ページからなる画像の１ファイルを生成する生成手段をさらに有することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
コンピュータに請求項１乃至８のいずれか１項に記載の情報処理装置の各手段を実行させることを特徴とするプログラム。
【請求項１０】
省電力モードを備えた情報処理装置と前記情報処理装置から供給される電力によって動作する画像読取装置とを含む情報処理システムであって、
前記画像読取装置は、
前記情報処理装置からの読取指示に基づいて原稿から画像を読取る読取手段と、
前記読取指示に基づいて前記読取手段による画像の読取により得られた画像データを前記情報処理装置に送信する送信手段とを有し、
前記情報処理装置は、
前記画像読取装置から送信された画像データを受信する受信手段と、
前記画像読取装置における画像の読取動作中に前記省電力モードとなり前記画像読取装置への電力の供給が停止され、かつ、前記省電力モードから復帰した場合、前記受信手段により受信した、前記省電力モードに移行する際に前記画像読取装置において読取対象であった画像の画像データを破棄する破棄手段と、
前記読取対象であった画像の再読取を前記画像読取装置に対して指示する指示手段とを有することを特徴とする情報処理システム。
【請求項１１】
省電力モードを備えた情報処理装置における情報処理方法であって、
前記情報処理装置から供給される電力により動作する画像読取装置と通信を行い、前記情報処理装置からの読取指示に基づいて、前記画像読取装置による画像の読取り、及び、当該読取りにより得られた画像データの送信が行われた際に、当該画像データを受信する受信工程と、
前記読取指示に基づく前記画像読取装置における画像の読取動作中に前記省電力モードとなり前記画像読取装置への電力の供給が停止され、かつ、前記省電力モードから復帰した場合、前記受信工程において受信した、前記省電力モードに移行する際に前記画像読取装置において読取対象であった画像の画像データを破棄する破棄工程と、
前記読取対象であった画像の再読取を前記画像読取装置に対して指示する指示工程とを有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像読取装置から読取った画像データを情報処理装置のアプリケーションがファイル生成する画像処理技術に関する。
【背景技術】
【０００２】
スキャナや多機能プリンタ（ＭＦＰ）等の画像読取装置から読取った画像データを情報処理装置に保存するためには以下のようなソフトが必要である。１つ目は、画像読取装置を制御するスキャナドライバであり、２つ目はそのスキャナドライバから画像データを受取ってファイルに保存するアプリケーションである。スキャナドライバは、ＴＷＡＩＮ（Ｔｅｃｈｎｏｌｏｇｙ  Ｗｉｔｈｏｕｔ  Ａｎ  Ｉｎｔｅｒｅｓｔｉｎｇ  Ｎａｍｅ）やＷＩＡ（Ｗｉｎｄｏｗｓ（登録商標）  Ｉｍａｇｅ  Ａｃｑｕｉｓｉｔｉｏｎ）などの規格に準拠しているのが一般的である。
【０００３】
情報処理装置のアプリケーションがスキャナドライバを介して画像読取装置の原稿台に載置された複数の原稿を読取る場合、次原稿の読取準備完了のメッセージを確認した後、所望の枚数の原稿の読取りを行う。このようにすることで、複数ページから成るファイルを生成する。例えば、画像読取装置から複数の原稿の読取り時に紙ジャムなどのエラーが発生した場合、ユーザにエラーを通知してリカバリ操作を促すことで、既に読取った画像データを利用して画像情報の送信を効率良く行う技術が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−０１５１３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
さて、近年の情報処理装置は省電力や省エネルギーを意識して設計されたモデルが普及している。特にノートＰＣやスマートデバイスなどの情報処理装置は一定時間使用していない場合やカバーを閉じた場合などにスリープ状態に移行することが多い。そのため、情報処理装置のアプリケーションが画像読取装置から複数の原稿を読取って複数ページから成るファイルの生成時にスリープ状態に移行した場合、スリープ復帰後にスキャナドライバから画像読取りに関するエラーが通知される。その結果、アプリケーションはユーザにエラー発生を通知後、既読の原稿に基づく画像データのファイルを生成して画像読取処理を終了してしまうことになる。このため、ユーザはエラー該当ページから再度、原稿読取りを行った上で、複数ページの１つのファイルとして結合処理をユーザのマニュアル操作で行う必要があり、使い勝手がよくないという課題があった。
【０００６】
また、特許文献１に記載の技術によれば、既読の原稿に基づく画像データを結合して情報処理装置に送信しているが、エラー発生をユーザに通知した画面上にて、ユーザがリカバリ操作を行う必要があり、余計な手間がかかるという課題があった。
【０００７】
本発明は上記従来例に鑑みてなされたもので、画像読取装置による原稿読取中に情報処理装置が省電力状態となり、その復帰後に省電力状態に移行前の読取処理を自動継続可能な情報処理装置、情報処理方法、及び情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明の情報処理装置は次のような構成からなる。
【０００９】
即ち、省電力モードを備えた情報処理装置であって、前記情報処理装置から供給される電力により動作する画像読取装置と通信を行う通信手段と、前記画像読取装置における画像の読取り、及び、前記通信手段を介した、当該読取りにより得られた画像データの前記情報処理装置への送信の動作中に前記省電力モードとなり前記画像読取装置への電力の供給が停止され、かつ、前記省電力モードから復帰した場合、前記画像読取装置から受信した、前記省電力モードに移行する際に前記画像読取装置において読取対象であった画像の画像データを破棄する破棄手段と、前記読取対象であった画像の再読取を前記画像読取装置に対して前記通信手段を介して指示する指示手段とを有することを特徴とする。
【００１０】
また本発明を別の側面から見れば、上記構成の情報処理装置の各手段をコンピュータに実行させるプログラムを備える。
【００１１】
さらに本発明を別の側面から見れば、省電力モードを備えた情報処理装置と前記情報処理装置から供給される電力によって動作する画像読取装置とを含む情報処理システムであって、前記画像読取装置は、前記情報処理装置からの読取指示に基づいて原稿から画像を読取る読取手段と、前記読取指示に基づいて前記読取手段による画像の読取により得られた画像データを前記情報処理装置に送信する送信手段とを有し、前記情報処理装置は、前記画像読取装置から送信された画像データを受信する受信手段と、前記画像読取装置における画像の読取動作中に前記省電力モードとなり前記画像読取装置への電力の供給が停止され、かつ、前記省電力モードから復帰した場合、前記受信手段により受信した、前記省電力モードに移行する際に前記画像読取装置において読取対象であった画像の画像データを破棄する破棄手段と、前記読取対象であった画像の再読取を前記画像読取装置に対して指示する指示手段とを有することを特徴とする情報処理システムを備える。
【００１２】
またさらに本発明を別の側面から見れば、省電力モードを備えた情報処理装置における情報処理方法であって、前記情報処理装置から供給される電力により動作する画像読取装置と通信を行い、前記情報処理装置からの読取指示に基づいて、前記画像読取装置による画像の読取り、及び、当該読取りにより得られた画像データの送信が行われた際に、当該画像データを受信する受信工程と、前記読取指示に基づく前記画像読取装置における画像の読取動作中に前記省電力モードとなり前記画像読取装置への電力の供給が停止され、かつ、前記省電力モードから復帰した場合、前記受信工程において受信した、前記省電力モードに移行する際に前記画像読取装置において読取対象であった画像の画像データを破棄する破棄工程と、前記読取対象であった画像の再読取を前記画像読取装置に対して指示する指示工程とを有することを特徴とする情報処理方法を備える。
【発明の効果】
【００１３】
従って本発明によれば、画像読取装置からの原稿読取中に情報処理装置が省電力状態から復帰してもエラー終了することなく省電力状態に移行前の読取処理を自動継続できるという効果がある。これにより、ユーザの利便性を向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】情報処理システムの構成例を示すブロック図である。
【図２】ソフトウェアの機能構成の一例について示すブロック図である。
【図３】複数ページから成る画像ファイルを生成する処理を示すフローチャートである。
【図４】スキャンアプリケーションの起動画面を示す図である。
【図５】次原稿の読取り確認ダイアログボックスを示す図である。
【図６】プログレス画面の例を示す図である。
【図７】通信エラーのダイアログボックスの例を示す図である。
【図８】ソフトウェアの機能構成の一例について示すブロック図である。
【図９】スキャン処理を示すフローチャートである。
【図１０】スキャナ制御部が実行する終了処理を示すフローチャートである。
【図１１】画像データを取得する処理を示すシーケンスチャートである。
【図１２】原稿読取動作を自動的に再開する処理を示すシーケンスチャートである。
【図１３】スキャン処理を自動的に再開するシーケンスチャートである。
【発明を実施するための形態】
【００１５】
以下添付図面を参照して本発明の好適な実施例について、さらに具体的かつ詳細に説明する。なお、既に説明した部分には同一符号を付し重複説明を省略する。
【００１６】
まず、本発明に係る実施例に共通の実施形態として用いられるスキャナとコンピュータから構成される画像処理システムの構成を説明する。
【００１７】
図１は本発明の代表的な実施形態である情報処理システムの構成例を示すブロック図である。この画像処理システムは、ＵＳＢインタフェースを介して、スキャナ１０とコンピュータ（情報処理装置）２０とが互い接続されている。コンピュータ２０は、スキャナ１０が解釈可能な各種制御コマンドを送信し、当該制御コマンドに従ってスキャナ１０で読取られた画像データを受信する情報処理装置として役割を果たす。スキャナ１０は、コンピュータ２０からの制御に基づき原稿を読取り画像データを生成し、その生成した画像データをコンピュータ２０に送信する画像読取装置としての役割を果たす。
【００１８】
ここで、コンピュータ２０は、ハードウェア構成として、インタフェース２１と表示装置２２と入力装置２３と補助記憶装置２４とＣＰＵ２５とＲＯＭ２６とＲＡＭ２７とを備える。インタフェース２１はＵＳＢ規格に準拠したプロトコルに従ってスキャナ１０等の周辺装置とのデータの授受を制御する。表示装置２２は、例えば、ＬＣＤディスプレイ等で実現され、各種ユーザインタフェース（以下、ＵＩ）画面を表示する。入力装置２３は、例えば、キーボード、ポインティングデバイス等で実現され、ユーザからの指示を装置に入力する。補助記憶装置２４は内蔵又は外付けのハードディスクや半導体記憶装置（ＳＳＤ）等で実現され、各種情報を格納する。ＲＯＭ２６は各種プログラム等を記憶し、ＲＡＭ２７はデータやプログラム等を一時的に記憶する。ＣＰＵ２５はＲＡＭ２７を作業領域として用いながらＲＯＭ２６から読取ったプログラムを実行して、コンピュータ２０を統括制御する。
【００１９】
スキャナ１０は、例えば、ＣＣＤ方式のカラーイメージスキャナである。ＣＣＤカラーイメージスキャナは、ＣＣＤラインセンサ（不図示）を走査して原稿台に載置された原稿を光学的に読取り、画像データに変換する。カラーイメージスキャナとしてＣＩＳ方式のものを用いても良い。
【００２０】
ここで、スキャナ１０は、そのハードウェア構成として、インタフェース１１とＣＰＵ１２とＲＯＭ１３とＲＡＭ１４とスキャナエンジン１５と操作パネル１６とを備える。インタフェース１１は、コンピュータ２０等の情報処理装置とのデータの授受を制御する。ＲＯＭ１３は各種プログラム等を記憶し、ＲＡＭ１４はデータやプログラム等を一時的に記憶する。ＣＰＵ１２は、ＲＡＭ１４を作業領域として用いながらＲＯＭ１３から読取ったプログラムを実行して、スキャナ１０を統括制御する。スキャナエンジン１５は、ＣＣＤカラーイメージセンサを搭載した原稿読取ユニット等を制御する。操作パネル１６は、画像読取装置の状態やメニュー等を表示するディスプレイやＬＥＤランプと、ユーザからの指示を装置内に入力するキーやボタンなどの入力部とから構成される。
【００２１】
次に、上記構成の画像処理システムを用いて実行する原稿の読取処理についてのいくつかの実施例について説明する。
【実施例１】
【００２２】
図２はコンピュータ２０にインストールされ実行されるソフトウェアの機能構成の一例について示すブロック図である。図２に示される各機能部は、例えば、ＣＰＵ２５がＲＡＭ２７を作業領域とし用いながらＲＯＭ２６や補助記憶装置２４に記憶された（即ち、インストールされた）プログラムを読込み実行することで実現される。コンピュータ２０により実現される機能構成は、所定の画像通信規格に準拠したスキャンアプリケーション４０とオペレーティングシステム（ＯＳ）３０とスキャナドライバ５０とに大きく分けられる。
【００２３】
ＯＳ３０は、表示装置２２への出力や入力装置２３からの入力などを制御する入出力機能や補助記憶装置２４のメモリ管理機能など多くのアプリケーションに基本的な機能を提供し、コンピュータ全体を管理する。また、ＯＳ３０は、スキャンアプリケーション４０やスキャナドライバ５０を制御するスキャンライブラリ（ＳＬ）３１を備えている。スキャンライブラリ３１は、所定の画像通信規格に従ってスキャンアプリケーション４０とスキャナドライバ５０との通信を実現するＡＰＩ（アプリケーション  プログラム  インタフェース）を提供する。更に、ＯＳ３０は、スリープ制御部３２やスリープ開始イベント送信部３３やスリープ復帰イベント送信部３４を備える。
【００２４】
スリープ制御部３２は、コンピュータ２０が省電力の待機電源モードとしてスリープ状態へ移行するか否かを制御する。スリープ制御部３２の制御により、予め設定された時間が経過しても何のＵＩ操作がなかったり、コンピュータ２０がノートＰＣである場合に、そのカバーを閉じたりしたときに自動的にスリープ状態となる。スリープ開始イベント送信部３３は、スキャンアプリケーション４０を含む起動中のアプリケーションに対して、スリープ状態に移行する直前にスリープ開始イベントを送信する。スリープ復帰イベント送信部３４は、同様に起動中のアプリケーションに対してスリープ状態から復帰して通常の起動状態に移行したときにスリープ復帰イベントを送信する。
【００２５】
スキャンアプリケーション４０は、画像データを処理するソフトウェアで、例えば、画像データを編集するソフトウェアや画像データを文字認識するソフトウェアなどを含む。スキャンアプリケーション４０は、ＳＬ通信制御部４１、ＵＩ表示制御部４２、読取設定管理部４３、画像ファイル生成部４４、ドライバステータス管理部４５、スリープイベント検知部４６を備える。ＳＬ通信制御部４１は、スキャンライブラリ（ＳＬ）３１を介して、所定の画像通信規格に準拠したスキャナドライバ５０から画像データを取得する。また、スキャンライブラリ３１から通知されるスキャナドライバ５０のエラー情報やステータス情報をドライバステータス管理部４５に通知する。
【００２６】
ＵＩ表示制御部４２は、画像読取動作を実行するための各種設定画面やスキャナ１０の状態を表す画面などの表示制御を適宜実行する。読取設定管理部４３は、画像読取動作を実行するための読取設定における前回の設定値や現在の設定値を記憶して管理する。画像ファイル生成部４４は、スキャナドライバ５０から取得した画像データを画像ファイルとして、ＪＰＥＧ、ＰＤＦ、ＴＩＦＦなどのデータ形式で補助記憶装置２４に格納する。ドライバステータス管理部４５は、ＳＬ通信制御部４１から通知されたエラー情報やステータス情報を格納し、最新のステータス情報を管理する。スリープイベント検知部４６は、コンピュータ２０がスリープ状態に移行するときやスリープ状態から復帰したときにＯＳ３０から発行されるプリンタイベントを検知する。なお、コンピュータ２０におけるスリープ状態とは、コンピュータ２０の通常動作状態よりも電力消費が軽減される省電力状態である。具体的には、コンピュータ２０における表示装置や入力装置への電力供給を停止することで消費電力の軽減が実現される。
【００２７】
スキャナドライバ５０は、スキャナ１０を制御するコマンドを送信したり、画像データやスキャナ１０の状態を表すデータの受信等を行う。尚、コマンドの送信や画像データの受信は、インタフェース制御部６０を介して行われる。また、スキャナドライバ５０は、ＳＬ通信制御部５１と画像データ取得部５２とを備える。ＳＬ通信制御部５１は、スキャンライブラリ（ＳＬ）３１を介してスキャンアプリケーション４０と所定の画像通信規格に準拠したコマンド群の授受を行う。スキャン設定としてカラーモードや解像度、原稿サイズ等の設定を受付ける。画像データ取得部５２は、スキャナ１０により原稿を読取って生成された画像データをインタフェース制御部６０を介して取得し、取得した画像データをメモリ（例えば、ＲＡＭ２７）に格納する。
【００２８】
図３はスキャナ１０を使用して複数枚の原稿を順次読取り、複数ページから成る画像ファイルを生成して保存する処理を示すフローチャートである。なお、図３のフローチャートは、ＣＰＵがスキャンアプリケーション４０に関連するプログラムを読み出して実行することで実現される。
【００２９】
図４はスキャンアプリケーション４０がユーザによって起動された際に表示されるスキャンアプリケーション４０の起動画面を示す図である。
【００３０】
図４に示されるように、起動画面のメインダイアログボックス４００は、スキャンを実行するボタン４０１〜４０３、読取設定表示領域４０４、スキャン設定ボタン４０５で構成される。スキャンを実行するボタン４０１〜４０３はユーザによる選択指示のために備えられる。ユーザがこれらのいずれかを選択するとその選択ボタンに対応付けられたスキャン設定値が読取設定表示領域４０４に表示され、設定内容を確認することができる。その設定内容は文書や写真などの原稿の種類に応じて予め適したものとなっている。しかしながら、ユーザはスキャン設定ボタン４０５を押下して表示されるスキャン設定ダイアログボックス（不図示）を用いて、カラーモード、原稿サイズ、解像度、データ形式等、その設定内容を変更することができる。
【００３１】
また、ユーザがボタン４０６を押下するとメインダイアログボックス４００は閉じられ、スキャンアプリケーション４０を終了する。
【００３２】
図３に戻って処理の説明を始める。図４に示したボタン４０１〜４０３の何れかが押下されたときに、ステップＳ３００で、ＣＰＵ２５はスキャン動作を周辺装置に実行させるためにスキャンコマンドを周辺装置に送信する。そして、ＣＰＵ２５は、スキャンアプリケーション４０を用いて、上記スキャンコマンドに基づく画像データをスキャンライブラリ３１を介してスキャナドライバ５０から取得する。
【００３３】
ステップＳ３０１で、ＣＰＵ２５は、スキャンアプリケーション４０のドライバステータス管理部４５にエラー発生有無の問い合わせを行い、スキャンが正常に終了したかどうかを調べる。ここで、スキャンが正常終了したと判定すると（Ｓ３０１のＹｅｓ）、処理はステップＳ３０２に進み、ＣＰＵ２５は次原稿の読取り確認ダイアログボックス５００を表示する。
【００３４】
図５は次原稿の読取り確認ダイアログボックス５００を示す図である。
【００３５】
次原稿の読取り確認ダイアログボックス５００は、図５に示されるように、スキャンボタン５０１と終了ボタン５０２とスキャン動作の状態とユーザへの次の動作を促すメッセージを示す表示画面で構成される。
【００３６】
ステップＳ３０３では、ＣＰＵ２５は、図５の中でユーザにより選択されたボタンによってスキャンを続行するか否かを決定する。ここで、スキャンボタン５０１が押下された場合、スキャン続行と判定され（Ｓ３０３のＹｅｓ）、処理はステップＳ３００に戻り、他の原稿の読取りを開始する。図５からも示唆されるように、スキャン続行によりコンピュータ２０は複数枚の原稿を連続的に読取って複数ページの画像データからなる１つのファイルを生成することができる。これに対して、終了ボタン５０２が押下された場合、スキャン終了指示がなされたと判定され（Ｓ３０３のＮｏ）、処理はステップＳ３０４に進み、ＣＰＵ２５は既に読取った画像データを指定されたデータ形式でファイル保存する。例えば、データ形式がＰＤＦの複数ページやＴＩＦＦの複数ページが指定されている場合は、複数ページから成る１つのファイルを生成する。
【００３７】
これに対して、ステップＳ３０１においてスキャン動作が正常に終了しないと判定された場合（Ｓ３０１のＮｏ）、処理はステップＳ３０５に進む。ステップＳ３０１においてＮｏと判定される状況とは、例えば、コンピュータ２０がスリープ状態に移行してスキャナ１０と通信不能になり、その後、スリープ状態から復帰しても前回読取った状態から読取動作が再開できずにエラー終了する状況などがある。ステップＳ３０５で、ＣＰＵ２５は、スリープイベント検知部４６を用いてスリープ状態からの復帰イベントをＯＳ３０から受信しているか否かを確認する。
【００３８】
次に、ステップＳ３０６で、ＣＰＵ２５は、ドライバステータス管理部４５を用いて取得したエラーが読取りに失敗したなどの特定のエラーであり、かつ、スリープ状態からの復帰イベントを受信しているかどうかを調べる。ここで、ＣＰＵ２５が、取得したエラーが上記のような特定エラーであり、かつ、復帰イベントを受信済みであると判定すると（Ｓ３０６のＹｅｓ）、処理はステップＳ３０８に進み、エラーが発生したページの画像データを破棄する。ＣＰＵ２５は、Ｓ３００においてスキャン実行を指示する際に、何ページ目のスキャン処理を指示したかを認識している。そのため、Ｓ３０８においてエラーが発生したページを特定でき、特定されたページの画像データを破棄できる。その後、処理はステップＳ３００に戻り、ＣＰＵ２５は、エラーが発生したページのスキャンの実行を周辺装置に指示する。なお、この際の発行される指示は、前回と同じスキャン設定でスキャンを実行することを示す。このようにして、エラーが発生したページの原稿が、ユーザから特別な操作を受け付けることなく、自動で読み取られる。
【００３９】
なお、コンピュータ２０がスリープ状態に移行前に読取途中であった原稿をスリープ復帰後に再読取していることを通知するために読取動作の進行状況を示すプログレス画面をコンピュータ２０の表示装置２２やスキャナ１０の操作パネル１６に表示してもよい。
【００４０】
図６はコンピュータ２０の表示装置２２やスキャナ１０の操作パネル１６に表示されるプログレス画面の例を示す図である。
【００４１】
ステップＳ３０６において、取得したエラーが上記のような特定エラーではないか、或いは、復帰イベントを受信済みではないと判定した場合（Ｓ３０６のＮｏ）、処理はステップＳ３０７に進む。なお、ステップＳ３０６においてＮｏと判定されるケースは、例えば、スリープ状態に移行していない状況で、スキャン処理中に何らかのエラーが発生したケースである。ステップＳ３０７で、ＣＰＵ２５は、通信エラーのダイアログボックスを表示する。さらに、ステップＳ３０４では既読の画像に基づく画像データを指定したデータ形式でファイル保存する。
【００４２】
図７は通信エラーのダイアログボックスの例を示す図である。
【００４３】
なお、ステップＳ３０７において、ＣＰＵ２５は、図７に示された“ＯＫ”ボタンをユーザが押下したことを認識すると処理はステップＳ３０４に進む。ステップＳ３０６における“Ｎｏ”からステップＳ３０７、Ｓ３０４と進んで作成されたファイルは、エラーが発生したページの前ぺージまでの画像データを含むファイルとなる。
【００４４】
以上図３のフローチャートの処理によれば、ＣＰＵ２５はスキャンアプリケーション４０を用い、スリープ状態からの復帰イベントを受信後にスキャナドライバ５０から取得したエラー情報に基づいてエラー該当ページの画像データを破棄するか否かを判定した。しかしながら、本発明はこれによって限定されるものではなく、取得したエラーが特定エラーか否かを判定せずに常に該当ページの画像データを破棄して、前回と同じ設定でスキャン動作を実行するようにしても良い。
【００４５】
また、ステップＳ３００においてスキャン動作を実行する例として、スキャンアプリケーション４０の実行により表示装置２２に表示するスキャン画面からのプルスキャンの指示を行う構成を説明したが、本発明はこれにより限定されるものではない。例えば、スキャナ１０の操作パネル１６からスキャン指示を行い、その指示を受けてコンピュータ２０がスキャナ１０に画像データを要求する疑似プッシュスキャンの構成であっても良い。
【００４６】
従って以上説明した実施例に従えば、スキャナによる原稿読取中にコンピュータのスキャンアプリケーションがスリープ状態から復帰してもエラー終了することなく、スリープ移行前の読取処理を自動継続できるので、ユーザの利便性を向上させることができる。
【００４７】
＜実施形態２＞
ここでは、画像処理システムを構成するスキャナ１０がＵＳＢバスパワーデバイスであり、コンピュータ２０からのＵＳＢインタフェースを介して電力が供給されて動作する場合の画像読取動作の例について説明する。なお、この実施形態に従うスキャンアプリケーション４０が実行するマルチページファイル保存処理とユーザインタフェース（ＵＩ）として用いる画面は、実施形態１において図３〜図７を参照して説明したものと同じなので、その説明については省略する。
【００４８】
図８はコンピュータ２０にインストールされ実行されるソフトウェアの機能構成の一例について示すブロック図である。なお、図８に示される機能構成において、ＯＳ３０とスキャンアプリケーション４０とは、実施形態１において図２を参照して説明したものと同じであるため、その説明については省略する。
【００４９】
スキャナドライバ５０は、ＳＬ通信制御部５１と画像データ取得部５２とスキャナ制御部５３とを備える。ＳＬ通信制御部５１は、スキャンライブラリ（ＳＬ）３１を介してスキャンアプリケーション４０と所定の画像通信規格に準拠したコマンド群の授受を行う。スキャン設定としてカラーモードや解像度や原稿サイズ等の設定を受け付ける。画像データ取得部５２は、スキャナ１０により原稿を読取って得られた画像データをインタフェース制御部６０を介して取得し、取得した画像データをメモリ（例えば、ＲＡＭ２７）に格納する。
【００５０】
スキャナ制御部５３は、ＵＳＢバスパワーデバイスであるスキャナ１０のスキャナエンジン１５を統括するコントローラ（不図示）を直接制御して、デバイスの初期化処理や画像データの読出処理を行う。
【００５１】
図９はスキャナドライバ起動後に実行されたスキャン動作に応じたスキャナ制御部のスキャン処理を示すフローチャートである。つまり、ＣＰＵ２５がスキャナドライバ５０に関連するプログラムを読み出して実行することで、図９のフローチャートが実行される。
【００５２】
ステップＳ９００で、ＣＰＵ２５は、スキャナ制御部５３を用いてスキャナドライバ５０の起動に応じてスキャナ１０へのＩ／Ｏパスをオープンする。例えば、ＯＳ３０はＵＳＢプラグ＆プレイが発生すると当該デバイスのスキャナドライバ５０を起動する。続いて、ステップＳ９０１において、ＣＰＵ２５は、各種内部変数の初期化及び動的メモリの確保処理等を行った後、ステップＳ９０２においてスキャナ１０のコントローラの初期化処理を行う。
【００５３】
ステップＳ９０３では、ＣＰＵ２５は、スキャンアプリケーション４０からスキャン要求があると、キャリブレーションファイルからキャリブレーションデータを読み出し、そのデータをスキャナ１０のコントローラにダウンロードする。これにより、画像読取のための照明ランプの明るさや各イメージセンサの感度などスキャナ１０が最適な状態になる。次にステップＳ９０４では、ＣＰＵ２５は、スキャンアプリケーション４０から設定されたスキャン用パラメータに応じてスキャナ１０のコントローラの各種レジスタを設定する。
【００５４】
その後、ステップＳ９０５で、ＣＰＵ２５は、スキャン動作に伴うランプやモータの起動などを行ってスキャナ１０に原稿読取を行わせる。さらにステップＳ９０６で、ＣＰＵ２５は、スキャナ１０のコントローラから画像データを取得する。そして、ステップＳ９０７では画像データの取得が完了すると、ＣＰＵ２５は、スキャン動作において使用したランプの点灯やモータの駆動を停止させ、カラーイメージスキャナを搭載したキャリッジをホームポジションへ移動させる処理などの実行を指示する。
【００５５】
図１０はスキャナドライバ動作終了時にスキャナ制御部５３が実行する終了処理を示すフローチャートである。つまり、ＣＰＵ２５が、スキャナドライバ５０に関連するプログラムを読み出して実行することで、図１０のフローチャートが実行される。
【００５６】
ステップＳ１０００で、ＣＰＵ２５は、スキャナドライバ５０の動作終了時にステップＳ９０１において確保された動的メモリの解放処理を行う。その後、ステップＳ１００１で、スキャナ１０へのＩ／Ｏパスをクローズする。例えば、ＯＳ３０はコンピュータ２０に接続されたＵＳＢケーブルが抜かれたり、デバイスの電源がオフになったりすると当該デバイスのスキャナドライバ５０を終了する。
【００５７】
このように、ＵＳＢバスパワーデバイスとして動作するスキャナ１０の制御には、スキャナドライバ５０のスキャナ制御部５３と密接な関係がある。そのため、コンピュータ２０がスリープ状態に移行した場合、スキャナ１０への電力供給が停止してしまうため、再度当該スキャナを制御するためには、スキャナ制御部５３を初期化する必要がある。
【００５８】
図１１は、ＣＰＵ２５が、スキャンアプリケーション４０、スキャンライブラリ３１、スキャナドライバ５０を用いて、スキャナから得られた画像データを取得する処理を示すシーケンスチャートである。
【００５９】
ステップＳ１１００で、ＣＰＵ２５は、スキャンアプリケーション４０を用いて、図４に示すような起動画面からスキャン開始が指示されるとスキャンを開始するための処理を実行する。次にステップＳ１１０１で、ＣＰＵ２５は、ＵＳＢ接続されたスキャナ１０に対応したスキャナドライバ５０との通信を確立するためにセションをオープンする。さらにステップＳ１１０２で、ＣＰＵ２５は、図４に示した起動画面で指定されたカラーモードや解像度や原稿サイズ等の読取条件をスキャナドライバ５０に指定する。そして、ステップＳ１１０３で、ＣＰＵ２５は、原稿読取により得られるスキャン画像に基づく画像データの取得を要求する。
【００６０】
ステップＳ１１０４では、ＣＰＵ２５は、スキャナドライバ５０を用いて、スキャン処理の実行をスキャナに指示し、スキャナ１０から画像データの読出しを行う。全ての画像データの読出しが完了すると、ＣＰＵ２５は、スキャナドライバ５０を用いてステップＳ１１０５においてスキャンアプリケーション４０にスキャン完了を通知する。ＣＰＵ２５は、スキャン完了通知を受け取ると、ステップＳ１１０６において、所定の画像通信規格に従って予め指定した転送方式でスキャン画像に基づく画像データを取得する。例えば、ファイル転送方式であれば、ＣＰＵ２５は、スキャンアプリケーション４０により指定されたフォルダに格納された画像ファイルを受け取る。或いは、メモリ転送方式であれば、ＣＰＵ２５は、スキャンアプリケーション４０により確保されたメモリ上でブロック単位で画像データを受信する。その場合、ブロック単位の画像データの読出完了時点で、スキャナドライバ５０からスキャンアプリケーション４０にブロック単位のスキャン完了通知を行ってもよい。
【００６１】
画像データの取得が完了すると、ステップＳ１１０７で、ＣＰＵ２５は、スキャンアプリケーション４０を用いてステップＳ１１０１で確立したセションをクローズし、ステップＳ１１０８でスキャン処理を終了する。
【００６２】
図１２はスキャンアプリケーションが原稿読取に基づく画像データ取得中にコンピュータ２０がスリープ状態に移行し、かつスリープからの復帰後に原稿読取動作を自動的に再開する処理を示すシーケンスチャートである。なお、図１２において、図１１を参照して説明したのと同じ処理ステップについては同じステップ参照番号を付し、その説明については省略する。
【００６３】
ここでは、ステップＳ１１００〜Ｓ１１０３の処理の後、ステップＳ１２０４においてスキャナドライバ５０とスキャナ１０とが、スキャン処理中（読取動作中）にコンピュータ２０がスリープ状態に移行するとしている。このような状態になると、コンピュータ２０からスキャナ１０への電力供給が停止してしまうため、スキャナドライバ５０はスキャナ１０を制御できない状況となる。
【００６４】
その後、コンピュータ２０がスリープ状態から復帰して通常の起動状態になると、ステップＳ１２０５において、ＣＰＵ２５は、ＯＳ３０を用いてスリープ復帰イベントを起動中のスキャンアプリケーション４０に送信する。これに応じて、ステップＳ１２０６で、ＣＰＵ２５は、スリープ状態から復帰後、スキャナドライバ５０を用いてスキャンアプリケーション４０に読取エラーが発生したことを通知する。ステップＳ１２０７で、ＣＰＵ２５は、スキャンアプリケーション４０を用いてＯＳ３０からのスリープ復帰イベントを受信し、かつ、読取エラー発生の通知も受信する。そして、ＣＰＵ２５は、ステップＳ１２０６〜Ｓ１２０７における通知を確認すると、ステップＳ１２０８でエラーが発生したと判定されたページの画像データを破棄する。
【００６５】
そして、ステップＳ１２０９で、ＣＰＵ２５は、スキャンアプリケーション４０を用いてステップＳ１１０１で確立したセションをクローズする。さらにＣＰＵ２５は、ステップＳ１２１０で再度エラーが発生したページの画像データを読込むために、当該デバイスのセションをオープンする。その後、ステップＳ１２１１で、ＣＰＵ２５は、スキャンアプリケーション４０を用いて、所定の画像通信規格に従ってカスタムメッセージやカスタムケーパビリティを使用して、スキャナドライバ５０に初期化が必要であることを示す情報を指定する。そして、これをスキャナドライバ５０に通知する。これに応じて、ステップＳ１２１２で、ＣＰＵ２５は、スキャナドライバ５０のスキャナ制御部５３の初期化を行い、スキャナ制御部５３はスキャナ１０のコントローラを直接制御してスキャナ１０の初期化を行う。この初期化により、スキャナ１０は中断された前回読取動作の終了処理として、原稿読取ユニットのホームポジションへの移動処理などを実行し、新たな原稿読取の準備を完了する。
【００６６】
続くステップＳ１１０２〜Ｓ１１０８は、図１１で説明したものと同様であるため、ここではその説明については省略する。
【００６７】
尚、ステップＳ１２１２でのデバイス初期化はステップＳ１２１１でのスキャンアプリケーション４０の初期化情報の指定に応じた同期処理を行うとしているが、これを非同期実行としても良いし、ステップＳ１１０４の前処理として実行しても構わない。
【００６８】
従って以上説明した実施形態に従えば、スキャナがＵＳＢバスパワーデバイスでありコンピュータからの電力供給により動作する場合であっても、スキャンアプリケーションからの指示によりスリープ状態から復帰してもスキャナを初期化することができる。この初期化は、スリープ復帰イベントが受信され、かつ、読取エラー発生の通知が受信された場合、ＣＰＵ２５が、スキャンアプリケーション４０を用いて初期化情報の指定（ステップＳ１２１１）を実行することで実現される。このようにスキャナによる原稿読取中にコンピュータのスキャンアプリケーションがスリープ状態から復帰してもエラー終了することなく、スリープ移行前の読取処理を自動継続するので、ユーザの利便性を向上させることができる。
【００６９】
＜実施形態３＞
実施形態２では、スキャンアプリケーション４０がスリープイベント検知部を備えており、コンピュータ２０のスリープ復帰後は、ＣＰＵ２５がスキャンアプリケーション４０を用いてスキャナドライバ５０に初期化情報の指定を行っていた。一方、この実施形態では、スキャナドライバ５０がスリープイベント検知部を備え、スリープ復帰後は、スキャンアプリケーション４０を用いずにスキャナ１０の初期化を行う構成としている。そして、ＵＳＢインタフェースを介して接続されたスキャナ１０とコンピュータ２０とを含む画像処理システムにおいて、スキャナ１０はＵＳＢバスパワーデバイスであり、コンピュータ２０からの電力供給により動作する例について説明する。
【００７０】
図１３はスキャン画像取得中にスリープ状態にコンピュータ２０が移行後、ＣＰＵ２５がスキャナドライバを用いてスキャン処理を自動的に再開するシーケンスチャートである。なお、図１３において、図１１を参照して説明したのと同じ処理ステップについては同じステップ参照番号を付し、その説明については省略する。
【００７１】
ここでは、ステップＳ１１００〜Ｓ１１０２の処理の後、ステップＳ１３０３で、ＣＰＵ２５は、スキャナドライバ５０を用いてスキャンアプリケーション４０から指定された読取設定をメモリに保持する。そして、ステップＳ１３０４で、ＣＰＵ２５は、スキャンアプリケーション４０を用いてスキャン画像の要求を行う。ステップＳ１３０５で、ＣＰＵ２５は、スキャナドライバ５０を用いて読取設定の指定を行い、ステップＳ１３０６でスキャン処理による画像データの読出しを行う。
【００７２】
ステップＳ１３０６でのスキャン処理中にコンピュータ２０がスリープ状態に移行すると、スキャナ１０への電力供給が停止してしまう。そのため、この実施形態では、ＣＰＵ２５がスキャナドライバ５０を用いてスキャナ１０を制御できない状況を想定する。
【００７３】
このような状況下で、コンピュータ２０がスリープ状態から復帰して通常の起動状態になると、ステップＳ１３０７で、ＣＰＵ２５は、ＯＳ３０を用いて、スリープ復帰イベントを起動中のスキャナドライバ５０に送信する。ＣＰＵ２５は、スリープ状態からの復帰後は、スキャナドライバ５０を用いたスキャナ１０へのアクセスに失敗する。そのため、ＯＳ３０からのスリープ復帰イベントの受信に応じて、ステップＳ１３０８で、ＣＰＵ２５は、スキャナドライバを用いて読取エラーを検知する。ＣＰＵ２５は、スキャナドライバ５０を用いて、ステップＳ１３０９において、スリープ復帰イベントの受信と読取エラーの検知とに応じて、再スキャンを実行すると判定する。そして、ＣＰＵ２５は、ステップＳ１３１０ではエラーが発生したページの画像データを破棄する。
【００７４】
そして、ステップＳ１３１１で、ＣＰＵ２５は、スキャナドライバ５０を用いて、スキャナ制御部５３の初期化を行い、スキャナ制御部５３はスキャナ１０のコントローラを直接制御してデバイスの初期化を行う。この初期化により、スキャナ１０は中断された前回読取動作の終了処理として、原稿読取ユニットのホームポジションへの移動処理などを実行し、新たな原稿読取の準備を完了する。ステップＳ１３１２では、ＣＰＵ２５は、スキャナドライバ５０を用いてステップＳ１３０３で保持した読取設定で指定を行う。
【００７５】
なお、ステップＳ１３１１のデバイスの初期化は、ステップＳ１３１０のスキャン画像を破棄前に実行してもよいし、別のスレッドとして並行して実行しても構わない。
【００７６】
続く、ステップＳ１１０４〜Ｓ１１０８は、図１１で説明したものと同様であるため、ここではその説明については省略する。
【００７７】
従って以上説明した実施例に従えば、スキャナによる原稿読取中にコンピュータのスキャンアプリケーションがスリープ状態から復帰してもエラー終了することなくスリープ移行前の読取処理を自動継続するので、ユーザの利便性を向上させることができる。
【００７８】
また、読取った一連の画像データを複数ページからなる１ファイルとして生成する外にも従来はコンピュータのスリープ復帰後はスキャナ初期化のためにＵＳＢケーブルの抜き差しが必要であった。しかしながら、この実施形態に従えば、ＵＳＢケーブルの抜き差しをすることなく、スキャナを初期化することができるという利点がある。
【００７９】
本発明は上述の実施形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８０】
１０  スキャナ、２０  コンピュータ（情報処理装置）、３０  ＯＳ、
４０  スキャンアプリケーション、５０  スキャナドライバ
【図１】
0006577727.tif 000002
【図２】
0006577727.tif 000003
【図３】
0006577727.tif 000004
【図４】
0006577727.tif 000005
【図５】
0006577727.tif 000006
【図６】
0006577727.tif 000007
【図７】
0006577727.tif 000008
【図８】
0006577727.tif 000009
【図９】
0006577727.tif 000010
【図１０】
0006577727.tif 000011
【図１１】
0006577727.tif 000012
【図１２】
0006577727.tif 000013
【図１３】
0006577727.tif 000014