(57)【要約】【課題】  接続された画像入力装置から画像を入力するにあたり、入力処理の高速化を図る。【解決手段】  画像入力装置と通信可能に接続される情報処理装置であって、前記画像入力装置に対して所定量ずつの画像の入力を指示するバックエンド部１０９と、前記バックエンド部１０９からの指示に基づいて入力され、前記画像入力装置より順次所定量ずつ送信される画像を蓄積するフロントエンド部１０１と、前記フロントエンド部１０１に蓄積された画像を補正する色補正／画像処理プロセス１０６と、を備え、前記フロントエンド部１０１は、前記画像入力装置より１回に送信される所定量の画像複数回分を蓄積する容量を有し、前記バックエンド部１０９は、前記フロントエンド部１０１に前記送信される所定量の画像１回分の空き容量がある場合に、前記画像入力装置に画像の入力を指示することを特徴とする。【選択図】  図１
2005167632.tif 000002
【特許請求の範囲】
【請求項１】
画像入力装置と通信可能に接続される情報処理装置であって、
前記画像入力装置に対して所定量ずつの画像の入力を指示する指示手段と、
前記指示手段からの指示に基づいて入力され、前記画像入力装置より順次所定量ずつ送信される画像を蓄積する蓄積手段と、
前記蓄積手段に蓄積された画像を補正する補正手段と、を備え、
前記蓄積手段は、前記画像入力装置より１回に送信される所定量の画像複数回分を蓄積する容量を有し、
前記指示手段は、前記蓄積手段に前記送信される所定量の画像１回分の空き容量がある場合に、前記画像入力装置に画像の入力を指示することを特徴とする情報処理装置。
【請求項２】
画像入力装置と通信可能に接続される情報処理装置における情報処理をコンピュータに機能させるためのプログラムであって、
前記画像入力装置に対して所定量ずつの画像の入力を指示する指示工程のプログラムコードと、
前記指示工程による指示に基づいて入力され、前記画像入力装置より順次所定量ずつ送信される画像を蓄積手段に蓄積する蓄積工程のプログラムコードと、
前記蓄積工程により蓄積された画像を補正する補正工程のプログラムコードと、を備え、
前記蓄積手段は、前記画像入力装置より１回に送信される所定量の画像複数回分を蓄積する容量を有し、
前記指示工程は、前記蓄積手段に前記送信される所定量の画像１回分の空き容量がある場合に、前記画像入力装置に画像の入力を指示することを特徴とするプログラム。
【請求項３】
請求項２に記載のプログラムをコンピュータによって読出し可能に格納した記憶媒体。
【請求項４】
前記指示工程のプログラムコードと、前記蓄積工程のプログラムコードと、前記補正工程のプログラムコードとを別ファイルとして格納していることを特徴とする請求項３に記載の記憶媒体。
【請求項５】
複数の画像入力装置に対応して設けられ、該画像入力装置に対して所定量ずつの画像の入力を指示する複数の指示手段と、
前記指示手段からの指示に基づいて入力され、前記画像入力装置より順次所定量ずつ送信される画像を蓄積する蓄積手段と、
前記複数の画像入力装置ごとに対応して設けられ、該画像入力装置の特性に応じて画像を補正する複数の補正手段と、
前記複数の画像入力装置の中から、一の画像入力装置を指定する指定手段と、
前記指定手段により指定された前記一の画像入力装置に対応する指示手段および補正手段を選択する選択手段と、を備え、
前記蓄積手段は、前記一の画像入力装置より１回に送信される所定量の画像複数回分を蓄積する容量を有し、
前記選択された指示手段は、前記蓄積手段に前記送信される所定量の画像１回分の空き容量がある場合に、前記一の画像入力装置に画像の入力を指示し、
前記選択された補正手段は、前記選択された指示手段からの指示に基づいて前記一の画像入力装置より入力され前記蓄積手段に蓄積された画像を補正することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イメージスキャナやフィルムスキャナ、デジタルカメラなどの画像入力装置用の読み込み処理プログラム（ドライバ）、該プログラムが読み取り可能に格納された記憶媒体、ならびに該プログラムによる処理が実行される情報処理装置に関するものである。
【背景技術】
【０００２】
スキャナ、フィルムスキャナ、デジタルカメラ等の画像入力装置は、反射原稿（写真プリントなど）や透過原稿（写真フィルムなど）をデジタルの画像イメージとして入力する機能を備え、近年わが国でも一般的に使われるようになってきている。
【０００３】
この種の装置は、一般にＳＣＳＩ（Small Computer System Interface）やＵＳＢ（Universal Serial Bus）等を介してパーソナル・コンピュータ等の情報処理装置に接続される。また、画像入力装置の制御は専用のプログラム（ドライバ・プログラム、以下、単にドライバと称す）により行われるが、制御方式等は装置毎に異なるため、ドライバは画像入力装置固有の制御を行うバックエンド部と、当該バックエンド部から渡されてくる画像データに対する各種補正処理、画面への表示やユーザからの各種設定を扱うＵＩ（ユーザインターフェース）処理、及びファイルへの保存処理などを行うフロントエンド部とから構成される。
【０００４】
ここで、スキャナを一例にとり、スキャン操作時の当該バックエンド部とフロントエンド部の動作について簡単に説明する。
【０００５】
図２は、スキャン用画面の一例であり、フロントエンド部によって画面上に表示される。当該画面に於いてユーザがスキャンのモード（カラー、モノクロなど）を指定（２０５）した後[プレビュー]ボタン（２０３）を押すと、スキャナはプレビュー動作を行なう。そうするとフロントエンド部はバックエンド部を呼び出し、スキャナに対してプレビュー操作を実行して、プレビュー用の画像データを取得する。
【０００６】
フロントエンド部ではその結果を当該画面のプレビュー領域（２０１）に表示する。ユーザはプレビュー画面のうちのスキャンすべき領域をマウス等を使って指定（２０２）し、スキャンの解像度（２０６）、ズームの有無（２０７）、ガンマ（２０８）、明るさ（２０９）、コントラスト（２１０）等のパラメータを設定した後、[スキャン]ボタン（２０４）を押す。
【０００７】
そうすると、フロントエンド部はバックエンド部を呼び出す。バックエンド部はスキャナにセットされた原稿のうちユーザが指定した範囲（２０２）のみをスキャンし、読み取った画像データをフロントエンド部に返す。フロントエンド部では読み取られた画像データに対して必要な処理を行った後、ファイルとして保存したり、当該ドライバを呼び出したアプリケーション・プログラムに処理済みの画像データを渡したりする。
【０００８】
このように、画像入力装置からの入力処理は、専用のドライバを構成するバックエンド部とフロントエンド部とが一体となって動作することで実現される。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
一方、パーソナル・コンピュータ等の情報処理装置の処理能力の向上に伴い、最近では、スキャナには必要最低限の機能のみを持たせることとし、読み取った画像データに対する色補正／画像補正処理（カラー・マッチング、及びガンマ、明るさ、コントラスト等の補正処理、ズームに応じた拡大／縮小処理）はドライバ側で実行するというのが主流になってきている。
【００１０】
しかしながら、上述のように従来のこの種のドライバでは、フロントエンド部（３０１）とバックエンド部（３０２）は同一のプロセスとして一体で動作するように作られていた為（図３参照）、スキャナ（３０３）からの画像データの入力と、フロントエンド部での色補正／画像補正処理は「直列的」に実行せざるを得なかった。この結果、フロントエンド部での処理がスキャナからの画像入力処理よりも遅い場合には、スキャナが待たされることになり、せっかくスキャナが高速になってもスループットが上がらないという問題があった。
【００１１】
また、ドライバが一体型であった為、スキャナの制御方法や色補正／画像補正処理方法が異なると、スキャナ毎にドライバを用意しなければならず、スキャナが変わる都度ドライバも入れ替えなければならないという問題もあった。
【００１２】
本発明は、上記課題に鑑みてなされたものであり、接続された画像入力装置から画像を入力するにあたり、入力処理の高速化を図ることを第１の目的とする。さらに、接続された画像入力装置が変更された場合であっても、当該変更に伴って発生するユーザの作業負荷を極力低減させることを第２の目的とする。
【課題を解決するための手段】
【００１３】
上記の目的を達成するために本発明に係る情報処理装置は以下のような構成を備える。即ち、
画像入力装置と通信可能に接続される情報処理装置であって、
前記画像入力装置に対して所定量ずつの画像の入力を指示する指示手段と、
前記指示手段からの指示に基づいて入力され、前記画像入力装置より順次所定量ずつ送信される画像を蓄積する蓄積手段と、
前記蓄積手段に蓄積された画像を補正する補正手段と、を備え、
前記蓄積手段は、前記画像入力装置より１回に送信される所定量の画像複数回分を蓄積する容量を有し、
前記指示手段は、前記蓄積手段に前記送信される所定量の画像１回分の空き容量がある場合に、前記画像入力装置に画像の入力を指示することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、接続された画像入力装置から画像を入力するにあたり、処理速度の向上を実現できる。さらに、接続された画像入力装置が変更された場合に生じるユーザの作業負荷を低減させることが可能となる。
【発明を実施するための最良の形態】
【００１５】
[第１の実施形態]
以下に、本発明の第１の実施形態について詳細に説明する。図１は本発明の第１の実施形態にかかる情報処理装置の機能ブロック図（ドライバ機能についての機能ブロック図）である。同図に於いて、１０１はドライバのフロントエンド部であり、ドライバのＵＩの処理、バックエンド部とのやり取り、及び色補正／画像処理プロセス１０６とのやり取りを制御する。１０２はＵＩ処理部であり、図２に示すようなＵＩ画面の表示、プレビューの表示、スキャン範囲の指定処理、及び各種パラメータ（モード、解像度、その他の設定）の設定処理、及びスキャンの起動操作を司る。１０４はバックエンドＩ／Ｆ部であり、ドライバのバックエンド部１０９を呼び出し、プレビュー用スキャン指示（プレビューの場合）、各種スキャン用パラメータ（カラー／モノクロ、解像度、スキャンの範囲など）の設定、及び本スキャンの指示（スキャンの場合）を司る。１０５は色補正／画像処理プロセスＩ／Ｆ部であり、別プロセスとして起動されている色補正／画像処理プロセス１０６への各種変換用パラメータ（ズーム、ガンマ、明るさ、コントラストなど）の受け渡し、バックエンド部１０９から入力されたスキャンの生データの当該プロセスへの受け渡し、及び当該プロセスで処理された画像データの受け取りの処理を司る。１０３はフロントエンドのコントロール部であり、上記のＵＩ処理部１０２、バックエンドＩ／Ｆ部１０４、及び色補正／画像処理プロセスＩ／Ｆ部１０５の制御を行う。
【００１６】
１０９はドライバのバックエンド部であり、フロントエンド部１０１からバックエンドＩ／Ｆ部１０４を通して渡されている指示（プレビュー、本スキャン）、及びスキャン用の各種パラメータ（モード、解像度、スキャン範囲、その他）に従って、ＳＣＳＩ（Small Computer System Interface）やＵＳＢ（Universal Serial Bus）を介して接続されているスキャナを制御し、スキャナからの画像データ（生画像データ）を取り込み、それをフロントエンド部１０１に引き渡す。
【００１７】
１０６は色補正／画像処理プロセスであり、ドライバのフロントエンド部１０１及びバックエンド部１０９とは独立したプロセスとして動作する。当該プロセスでは、フロントエンド部１０１から渡された各種変換用パラメータ（ズーム、ガンマ、明るさ、コントラストなど）、及びフロントエンド部１０１から（スキャナ１１１からバックエンド部１０９経由で）渡されてくる生の画像データに対して、スキャナ１１１に適した色味の調整処理、及び拡大／縮小処理（ズームの場合）、ガンマ変換（ガンマの場合）、明るさ／コントラスト調整処理と行い、得られた最終的な画像データをフロントエンド部１０１に渡す。フロントエンド部１０１では上記で得られた色味調整や画像処理を施された最終的な画像データを、本ドライバを呼び出したアプリケーション・プログラムに渡すか、またはファイルに保存する。
【００１８】
次に本実施形態にかかる情報処理装置の処理の流れ（ドライバの処理の流れ）について説明する。図５は本実施形態でのフロントエンド部１０１の処理の流れを示すフローチャートである。当該処理は起動されるとまず、色補正／画像処理プロセス１０６を起動する（ステップＳ５０１）。次にＵＩ処理を実行して、図２に示すようなＵＩ画面を表示し、ユーザからのパラメータ（モード、解像度、ズームなど）の入力処理を行う（ステップＳ５０２）。当該画面に於いて[プレビュー]ボタン２０３が押された場合（ステップＳ５０３）には、プレビュー処理（ステップＳ５０４；詳細は後述）を実行した後、再びＵＩ処理（ステップＳ５０２）に戻る。
【００１９】
一方[スキャン]ボタン２０４が押されていた場合（ステップＳ５０５）には、ＵＩ画面で設定された各種パラメータ（モード、解像度、ズームなど）を読み取り（ステップＳ５０６）、本スキャン処理（ステップＳ５０７；詳細は後述）を実行した後、再びＵＩ処理（ステップＳ５０２）に戻る。最後にＵＩ画面で終了が選択された場合（ステップＳ５０８）には、ＵＩ画面を閉じて、色補正／画像処理プロセス１０６を終了（ステップＳ５０９）させた後、フロントエンド部１０１の処理を終える。
【００２０】
次に図６を用いてプレビュー処理（ステップＳ５０４）の流れを説明する。当該処理ではまずＵＩ画面で指定されたモード（カラー／モノクロ）に応じてスキャナ１１１の制御モードを設定（ステップＳ６０１）した後、バックエンド部１０９を呼び出してプレビュー画像の読み取り処理（ステップＳ６０２）を実行する。プレビュー画像は一般に低解像度でスキャンされ、画像サイズも小さいので一度に読み込むことが可能である。この為プレビュー処理ではスキャナ１１１から一括で読み取ったプレビュー画像をフロントエンド部１０１のバッファに渡して（ステップＳ６０３）、処理を終了する。
【００２１】
次に図７〜図９を用いて、本スキャン処理の流れを説明する。本スキャンの場合は、プレビューに比べて解像度も高くなり、画像データのサイズも膨大になるので、画像データを一度に保持するだけのメモリ領域を確保することが難しい。この為、一般的にはスキャン範囲を何回分かに分割し、分割された単位で本スキャン処理を繰り返すことになる。
【００２２】
図７に示すように、本スキャン処理ではまず、ＵＩ画面で設定された各種パラメータ（モード、解像度など、スキャン範囲など）を設定（ステップＳ７０１）した後、画像データ用のバッファに空きがあるかどうかをチェックする（ステップＳ７０２）。もし空きがあれば、バックエンド部１０９を“本スキャン・モード”で呼び出す（ステップＳ７０３）。当該処理では指定された各種パラメータに応じてスキャナ１１１から生の画像データを読み取り、その結果の生画像データをバッファに格納（ステップＳ７０５）した後、色補正／画像処理起動処理（ステップＳ７０５）を実行する。当該処理では、バッファ中の生画像データを（別プロセスとして動作している）色補正／画像処理プロセス１０６（図９参照）に渡し、その画像データの処理を依頼する。その後の生画像データの処理は色補正／画像処理プロセス１０６で並行して実行されるので、次に指定されたスキャン範囲のスキャンが全て完了したかどうかを判定（ステップＳ７０６）し、もし終了していなければ再びステップＳ７０２以降の処理を繰り返す。一方スキャン範囲のスキャンが全て完了していたら、本処理を終了する。
【００２３】
図９は色補正／画像処理プロセス１０６での処理の流れを表した図である。当該プロセスでは、まずフロントエンド部１０１から生の（＝処理を行う前の）画像データを受け取り（ステップＳ９０１）、まずスキャナ１１１に適した色味の補正処理（ステップＳ９０２）を行った後、ＵＩ処理に於いてユーザに指定された各種パラメータ（ズーム、明るさ／コントラスト等）に応じて、各種の画像補正処理を行う（ステップＳ９０３）。例えばズームが指定されていた場合には画像データの拡大／縮小処理を行い、ガンマが指定されていた場合にはガンマ変換を行い、明るさ／コントラストが指定されていた場合には、画像の明るさ及びコントラストの操作を行う。当該プロセスでは、必要な処理が完了したら、フロントエンド部１０１（＝別プロセスとして動作している）に対して、処理の完了を（シグナル等の一般的なプロセス間通信により）通知する（ステップＳ９０４）。
【００２４】
当該色補正／画像処理プロセス１０６からの完了通知は、図８のフロントエンド部１０１の終了通知待ち処理で受け取られる（ステップＳ８０１）。当該処理では色補正／画像処理プロセス１０６からの完了通知（ステップＳ８０１）を受信すると、（色補正、及び各種画像処理を施された）画像データを受け取る（ステップＳ８０２）。
【００２５】
次に当該処理済み画像データを、ユーザ（ドライバを呼び出したアプリケーション）のバッファに転送（ステップＳ８０３）した後、当該バッファを空き状態に設定（ステップＳ８０４）して、処理を終了する。ステップＳ８０４の処理によりバッファに空きができたことが認識されると、図７のステップＳ７０２に於いてそれが検知され、次の画像読み取り処理が走ることができるようになる。なお、ここで画像データ用のバッファを２本（ダブルバッファ）、または３本以上（リングバッファ）用意しておけば、図７の本スキャン処理によるスキャナ１１１からの生画像データ入力処理と、図９の色補正／画像処理プロセス１０６の処理は、並列的に実行されることになる。
【００２６】
最後に、図１０にドライバのバックエンド部１０９の処理を示す。当該処理では、フロントエンド部１０１からは各種のパラメータ（モード、解像度、スキャン範囲など）を渡されて呼び出される。その後当該パラメータに応じて、スキャナ１１１に対して制御コマンドを出力してスキャナ１１１に各種設定を行った後、スキャンの開始を指示する（ステップＳ１００１）。そうすると、スキャナ１１１からＳＣＳＩやＵＳＢ等のＩ／Ｆを介して原稿からスキャンされた生の画像データが送られてくるので、それを読み込む（ステップＳ１００２）。指定された量の画像データが入力されたら、当該生画像データをフロントエンド部１０１に返して（ステップＳ１００３）、バックエンド部１０９の処理を終了する。
【００２７】
以上の説明から明らかなように、本実施形態によれば、ドライバ（フロントエンド部及びバックエンド部）による画像入力装置からの生画像データの読み込み処理と、当該生画像データに対する処理（色味補正や各種画像処理（拡大／縮小、ガンマ補正、等など）を並列して実行することができるため、特に性能の向上した最新の画像入力装置に対しても、スループットを落とすことなく画像の入力を行うことができる（入力処理の高速化が実現できる）という効果が得られる。
【００２８】
更に、色補正／画像処理が別プロセス（別ファイル）としてドライバから分離されているので、画像入力装置に応じた色補正／画像処理プロセスの入れ替えが容易に行えるという効果も得られる。
【００２９】
[第２の実施形態]
上記第１の実施形態では、画像入力装置として主にスキャナの場合を例に説明したが、本願発明はスキャナに限らず、フィルム・スキャナやデジタルカメラなど、各種の画像入力機器に対しても実施可能である。
【００３０】
また、上記第１の実施形態ではバックエンド部及び色補正／画像処理プロセスはそれぞれ一つずつであるとして説明を行ってきたが、実際に接続されるスキャナによってバックエンド部及び色補正／画像処理プロセスで行うべき処理は異なってくる。そこで、図４に示すように、スキャナの種類に応じてバックエンド部（４０２）及び色補正／画像処理プロセス（４０４）を複数個用意しておき、そのうち物理的に接続されているスキャナ（４０３）の種類をユーザが１つ指定することでバックエンド部及び色補正／画像処理プロセスのプログラムをダイナミックに入れ替えることにより（ユーザにより指定されたスキャナに対応したバックエンド部及び色補正／画像処理プロセスのプログラムを自動選択し、フロントエンド部とリンクさせることで）、接続された画像入力装置に適した色補正／画像処理プロセスの処理を実行するように構成してもよい。
【００３１】
[他の実施形態]
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００３２】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００３３】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００３４】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００３５】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００３６】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００３７】
【図１】本発明の第１の実施形態にかかる情報処理装置の機能ブロック図である。
【図２】スキャナ・ドライバのＵＩ画面の例を示す図である。
【図３】従来のスキャナ・ドライバのシステム構成を表した図である。
【図４】本発明の第２の実施形態にかかる情報処理装置の機能ブロック図である。
【図５】ドライバのフロントエンド部の処理を表したフローチャートである。
【図６】フロントエンド部のうち、「プレビュー」の場合の処理を表したフローチャートである。
【図７】フロントエンド部のうち、「スキャン」の場合の本スキャンの処理を表したフローチャートである。
【図８】フロントエンド部のうち、色補正／画像処理プロセスからの完了通知（シグナルなど）を受信した場合の処理を表したフローチャートである。
【図９】色補正／画像処理プロセスの処理を表したフローチャートである。
【図１０】ドライバのバックエンド部の処理を表したフローチャートである。
【図１】
2005167632.tif 000003
【図２】
2005167632.tif 000004
【図３】
2005167632.tif 000005
【図４】
2005167632.tif 000006
【図５】
2005167632.tif 000007
【図６】
2005167632.tif 000008
【図７】
2005167632.tif 000009
【図８】
2005167632.tif 000010
【図９】
2005167632.tif 000011
【図１０】
2005167632.tif 000012