(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムが画像の読み取りを要求するためのインタフェースを提供するＡＰＩモジュールと、
画像の読み取り条件を入力するための画面を表示し、前記インタフェースを介して画像の読み取りを要求し取得した画像データに基づいて画像ファイルを編成するインタフェースモジュールと、
画像の読み取り条件に応じて画像読み取り装置の制御コマンドを生成するハードウェア制御モジュールと、
を備える制御プログラムをコンピュータに実行させて画像読み取り装置を制御する方法であって、
前記インタフェースモジュールが最初に呼び出されるとき、前記インタフェースモジュールは前記ＡＰＩモジュールに画像の読み取りを要求し、前記ＡＰＩモジュールは画像の読み取りを要求されると前記ハードウェア制御モジュールを呼び出し、前記インタフェースモジュールは取得した画像データに基づいて画像ファイルを編成し、
前記ＡＰＩモジュールが最初に呼び出されアプリケーションプログラムから読み取り条件を指定されずに画像の読み取りを要求されるとき、前記ＡＰＩモジュールは前記インタフェースモジュールを呼び出し、前記インタフェースモジュールは前記ハードウェア制御モジュールを呼び出し取得した画像データをアプリケーションプログラムに出力することを特徴とする画像読み取り装置の制御方法。
【請求項２】
前記ＡＰＩモジュールが最初に呼び出されアプリケーションプログラムから読み取り条件を指定されて画像の読み取りを要求されるとき、前記ＡＰＩモジュールは前記ハードウェア制御モジュールを呼び出し取得した画像データをアプリケーションプログラムに出力することを特徴とする請求項１に記載の画像読み取り装置の制御方法。
【請求項３】
前記インタフェースモジュールは、編成した画像ファイルを記憶装置に格納することを特徴とする請求項１又は２に記載の画像読み取り装置の制御方法。
【請求項４】
アプリケーションプログラムが画像の読み取りを要求するためのインタフェースを提供するＡＰＩモジュールと、
画像の読み取り条件を入力するための画面を表示し、前記インタフェースを介して画像の読み取りを要求し取得した画像データに基づいて画像ファイルを編成するインタフェースモジュールと、
画像の読み取り条件に応じて画像読み取り装置の制御コマンドを生成するハードウェア制御モジュールと、
を備え、前記インタフェースモジュールが最初に呼び出されるとき、前記インタフェースモジュールは前記ＡＰＩモジュールに画像の読み取りを要求し、前記ＡＰＩモジュールは画像の読み取りを要求されると前記ハードウェア制御モジュールを呼び出し、前記インタフェースモジュールは取得した画像データに基づいて画像ファイルを編成し、
前記ＡＰＩモジュールが最初に呼び出されアプリケーションプログラムから読み取り条件を指定されずに画像の読み取りを要求されるとき、前記ＡＰＩモジュールは前記インタフェースモジュールを呼び出し、前記インタフェースモジュールは前記ハードウェア制御モジュールを呼び出し取得した画像データをアプリケーションプログラムに出力することを特徴とする画像読み取り装置の制御プログラム。
【請求項５】
前記ＡＰＩモジュールが最初に呼び出されアプリケーションプログラムから読み取り条件を指定されて画像の読み取りを要求されるとき、前記ＡＰＩモジュールは前記ハードウェア制御モジュールを呼び出し取得した画像データをアプリケーションプログラムに出力することを特徴とする請求項４に記載の画像読み取り装置の制御プログラム。
【請求項６】
前記インタフェースモジュールは、編成した画像ファイルを記憶装置に格納することを特徴とする請求項４又は５に記載の画像読み取り装置の制御プログラム。
【請求項７】
請求項４、５又は６に記載の画像読み取り装置の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像読み取り装置の制御方法及びプログラムに関する。
【０００２】
【従来の技術】
一般にイメージスキャナ等の画像読み取り装置は、例えばパーソナルコンピュータ等の制御装置に接続され、制御装置からの制御コマンドに応答して画像を読み取っている。
【０００３】
画像読み取り装置が接続された制御装置は、一般に画像データに処理を施す種々のアプリケーションプログラム、画像読み取り装置毎に開発された制御プログラム等を備える。アプリケーションプログラムとしては、例えば画像データを加工する画像加工プログラム、画像データをページの一部として取り込むワードプロセッサ、画像データを文字認識するＯＣＲプログラム等が知られている。制御プログラムは所謂デバイスドライバであり、画像読み取り装置に画像を読み取らせるときアプリケーションプログラムから呼び出される。呼び出された制御プログラムは一般に画像の読み取りに関する種々の条件をユーザが入力するための画面を表示し、その画面上で入力された条件に応じて画像読み取り装置を制御し、読み取らせた画像データをアプリケーションプログラムに戻り値として返している。それによりアプリケーションプログラムで画像データが取得され、上述の各種の処理が行われる。
【０００４】
一般に画像データを処理するアプリケーションプログラムは、取得した画像データを画像ファイルに編成することが可能である。ここで画像データとは、ＪＰＥＧ形式やビットマップ形式等で画像を表すデータのことであり、画像ファイルはそれらデータに例えばファイル名等の情報を付加し所定のファイルフォーマットに編成したもののことをいう。
【０００５】
【発明が解決しようとする課題】
画像データは必ずしも加工等の処理を施すためだけに取得されるとは限らず、例えば単に取得した画像データに基づいて汎用性のある画像ファイルを編成するだけの場合もある。このような場合はアプリケーションプログラムにおいて画像データの加工等の処理は行われない。
【０００６】
しかしながら、従来の制御プログラムはアプリケーションプログラムから呼び出されるため、単に画像ファイルを編成するだけの場合であってもアプリケーションプログラムを起動しなければならない。一般に画像データの加工等の処理を行うアプリケーションプログラムはプログラムサイズが大きく起動に長時間を要し、そのため画像データを取得するまでに長時間を要し、特に画像ファイルを単に制御装置の記憶装置に格納するだけの場合等には、目的の達成に必要な処理が過大であるという問題がある。
【０００７】
本発明は、上記問題に鑑みて創作されたものであって、その目的は画像読み取り装置の制御プログラムを従来の制御プログラムとしても、短時間に起動できるアプリケーションプログラムとしても動作させる画像読み取り装置の制御方法を提供することにある。
【０００８】
また、本発明の別の目的は従来の制御プログラムとしても、短時間に起動できるアプリケーションプログラムとしても動作する画像読み取り装置の制御プログラムを提供することにある。
【０００９】
また、本発明の別の目的は従来の制御プログラムとして動作するときとアプリケーションプログラムとして動作するときとでインタフェースモジュール及びハードウェア制御モジュールを共用できる画像読み取り装置の制御プログラムを提供することにある。
【００１０】
【課題を解決するための手段】
請求項１に記載の画像読み取り装置の制御方法は、アプリケーションプログラムが画像の読み取りを要求するためのインタフェースを提供するＡＰＩモジュールと、画像の読み取り条件を入力するための画面を表示し、インタフェースを介して画像の読み取りを要求し取得した画像データに基づいて画像ファイルを編成するインタフェースモジュールと、画像の読み取り条件に応じて画像読み取り装置の制御コマンドを生成するハードウェア制御モジュールと、を備える制御プログラムをコンピュータに実行させて画像読み取り装置を制御する方法であって、インタフェースモジュールが最初に呼び出されるとき、インタフェースモジュールはＡＰＩモジュールに画像の読み取りを要求し、ＡＰＩモジュールは画像の読み取りを要求されるとハードウェア制御モジュールを呼び出し、インタフェースモジュールは取得した画像データに基づいて画像ファイルを編成し、ＡＰＩモジュールが最初に呼び出されアプリケーションプログラムから読み取り条件を指定されずに画像の読み取りを要求されるとき、ＡＰＩモジュールはインタフェースモジュールを呼び出し、インタフェースモジュールはハードウェア制御モジュールを呼び出し取得した画像データをアプリケーションプログラムに出力することを特徴とする。
【００１１】
この画像読み取り装置の制御方法がコンピュータに実行させる制御プログラムは、インタフェースモジュールが画像の読み取りを要求し取得した画像データに基づいて画像ファイルを編成する機能を有することで、インタフェースモジュールが最初に呼び出されるとき、制御プログラム自体が画像の読み取りを要求し取得した画像データに基づいて画像ファイルを編成するアプリケーションプログラム、すなわち画像データを処理するアプリケーションプログラムとして動作できる。ここで画像データを処理するアプリケーションプログラムとは、画像データを加工する画像加工プログラム、画像データをページの一部として取り込むワードプロセッサ、画像データを文字認識するＯＣＲプログラム等、制御プログラムに画像の読み取りを要求し、取得した画像データを処理するプログラムのことをいう。この制御プログラムは画像データに基づいて画像ファイルを編成するのみのアプリケーションプログラムとして動作することからプログラムサイズが比較的小さくて済み、短時間にメモリ上にロードすることができる。従ってこの画像読み取り装置の制御方法は、制御プログラムを短時間に起動できるアプリケーションプログラムとして動作させることができる。この画像読み取り装置の制御方法によると、単に画像データに基づいて画像ファイルを編成するだけの場合であれば、他のアプリケーションプログラムを起動する必要がなく、画像データの取得に要する時間を短縮できる。一方、この制御プログラムは、他のアプリケーションプログラムからＡＰＩモジュールが最初に呼び出され、他のアプリケーションプログラムから読み取り条件を指定されずに画像の読み取りを要求されるとき、従来の制御プログラムと同様に動作することができ、画像データの加工等の処理を行うときは他のアプリケーションプログラムは制御プログラムを呼び出して画像データを取得できる。従ってこの画像読み取り装置の制御方法は、制御プログラムを従来の制御プログラムとしても動作させることができる。
【００１２】
請求項２に記載の画像読み取り装置の制御方法は、ＡＰＩモジュールが最初に呼び出されアプリケーションプログラムから読み取り条件を指定されて画像の読み取りを要求されるとき、ＡＰＩモジュールはハードウェア制御モジュールを呼び出し取得した画像データをアプリケーションプログラムに出力することを特徴とする。アプリケーションプログラム自体が画像の読み取り条件を指定するとき、インタフェースモジュールにより表示される画像の読み取り条件を入力するための画面は不要である。従って、かかる画像読み取り装置の制御方法によると、アプリケーションプログラムから読み取り条件を指定されて画像の読み取りを要求されるとき、画像の読み取り条件を入力するための画面が無用に表示されないようにすることができる。
【００１３】
請求項３に記載の画像読み取り装置の制御方法では、インタフェースモジュールは、編成した画像ファイルを記憶装置に格納することを特徴とする。画像ファイルを記憶装置に格納する処理は比較的単純で処理が小さく、制御プログラムのサイズを小さいままに保つことができる。従って、この画像読み取り装置の制御方法によると、制御プログラムを短時間に起動できるアプリケーションプログラムとして動作させつつ、編成した画像ファイルを記憶装置に記憶することができる。
【００１４】
請求項４に記載の画像読み取り装置の制御プログラムは、アプリケーションプログラムが画像の読み取りを要求するためのインタフェースを提供するＡＰＩモジュールと、画像の読み取り条件を入力するための画面を表示し、インタフェースを介して画像の読み取りを要求し取得した画像データに基づいて画像ファイルを編成するインタフェースモジュールと、画像の読み取り条件に応じて画像読み取り装置の制御コマンドを生成するハードウェア制御モジュールと、を備え、インタフェースモジュールが最初に呼び出されるとき、記インタフェースモジュールはＡＰＩモジュールに画像の読み取りを要求し、ＡＰＩモジュールは画像の読み取りを要求されるとハードウェア制御モジュールを呼び出し、インタフェースモジュールは取得した画像データに基づいて画像ファイルを編成し、ＡＰＩモジュールが最初に呼び出されアプリケーションプログラムから読み取り条件を指定されずに画像の読み取りを要求されるとき、ＡＰＩモジュールはインタフェースモジュールを呼び出し、インタフェースモジュールはハードウェア制御モジュールを呼び出し取得した画像データをアプリケーションプログラムに出力することを特徴とする。
【００１５】
この画像読み取り装置の制御プログラムは、インタフェースモジュールが画像の読み取りを要求し取得した画像データに基づいて画像ファイルを編成する機能を有することで、インタフェースモジュールが最初に呼び出されるとき、制御プログラム自体が画像データを処理するアプリケーションプログラムとして動作できる。ここで画像データを処理するアプリケーションプログラムとは、画像データを加工する画像加工プログラム、画像データをページの一部として取り込むワードプロセッサ、画像データを文字認識するＯＣＲプログラム等、制御プログラムに画像の読み取りを要求し、取得した画像データを処理するプログラムのことをいう。この制御プログラムは画像データに基づいて画像ファイルを編成するのみのアプリケーションプログラムとして動作することからプログラムサイズが比較的小さくて済み、短時間にメモリ上にロードすることができる。従ってこの画像読み取り装置の制御プログラムは、短時間に起動できるアプリケーションプログラムとして動作することができる。この画像読み取り装置の制御プログラムによると、単に画像データに基づいて画像ファイルを編成するだけの場合であれば、他のアプリケーションプログラムを起動する必要がなく、画像データの取得に要する時間を短縮できる。一方、この制御プログラムは、他のアプリケーションプログラムからＡＰＩモジュールが最初に呼び出され、他のアプリケーションプログラムから読み取り条件を指定されずに画像の読み取りを要求されるとき、従来の制御プログラムと同様に動作することができ、画像データの加工等の処理を行うときは他のアプリケーションプログラムは制御プログラムを呼び出して画像データを取得できる。従ってこの画像読み取り装置の制御プログラムは、従来の制御プログラムとしても動作することができる。
【００１６】
更に、この画像読み取り装置の制御プログラムは、インタフェースモジュールが最初に呼び出されるとき、すなわちアプリケーションプログラムとして動作するときと、ＡＰＩモジュールが最初に呼び出されアプリケーションプログラムから読み取り条件を指定されずに画像の読み取りを要求されるとき、すなわち制御プログラムが従来の制御プログラムとして動作するときとで同じインタフェースモジュール及びハードウェア制御モジュールを呼び出す。従ってこの画像読み取り装置の制御プログラムは、従来の制御プログラムとして動作するときとアプリケーションプログラムとして動作するときとでインタフェースモジュール及びハードウェア制御モジュールを共用できる。
【００１７】
請求項５に記載の画像読み取り装置の制御プログラムでは、ＡＰＩモジュールが最初に呼び出されアプリケーションプログラムから読み取り条件を指定されて画像の読み取りを要求されるとき、ＡＰＩモジュールはハードウェア制御モジュールを呼び出し取得した画像データをアプリケーションプログラムに出力することを特徴とする。
【００１８】
アプリケーションプログラム自体が画像の読み取り条件を指定するとき、インタフェースモジュールにより表示される画像の読み取り条件を入力するための画面は不要である。従って、かかる画像読み取り装置の制御プログラムによると、アプリケーションプログラムから読み取り条件を指定されて画像の読み取りを要求されるとき、画像の読み取り条件を入力するための画面が無用に表示されないようにすることができる。
【００１９】
請求項６に記載の画像読み取り装置の制御プログラムでは、インタフェースモジュールは、編成した画像ファイルを記憶装置に格納することを特徴とする。画像ファイルを記憶装置に格納する処理は比較的単純で処理が小さく、制御プログラムのサイズを小さいままに保つことができる。従って、この画像読み取り装置の制御プログラムによると、制御プログラムを短時間に起動できるアプリケーションプログラムとして動作させつつ、編成した画像ファイルを記憶装置に記憶することができる。
【００２０】
【発明の実施の形態】
以下、本発明の実施例を図面に基づいて説明する。
図２は、本発明の一実施例による制御プログラムを実行する制御装置１のハードウェア構成を示すブロック図である。図示するように、制御装置１はＣＰＵ１１、ＲＯＭ１２，ＲＡＭ１３、表示装置１４、記憶装置としてのＨＤ（ハードディスク）１５、ＨＤ（ハードディスク）コントローラ１６、Ｉ／Ｆ（デバイスインタフェース）１７および操作部１８を備え、バス１９で相互に接続されている。ＣＰＵ１１は、ＲＯＭ１２及びハードディスク１５に格納されたプログラムを実行して制御装置１の各部を制御する他、本発明の一実施例による画像読み取り装置の制御プログラム、アプリケーションプログラム等のプログラムを実行する。ＲＯＭ１２はＣＰＵ１１が動作するために最低限必要なプログラムやデータを予め格納しているメモリであり、ＲＡＭ１３はプログラムや各種のデータ等を一時的に格納するメモリである。表示装置１４は液晶表示装置（ＬＣＤ）やＣＲＴ等の表示装置を備え、ＣＰＵ１１の処理結果を表示する。操作部１８はキーボード、マウス等の入力装置を備える。ハードディスクコントローラ１６はハードディスク１５を制御するものであり、ハードディスク１５にはオペレーティングシステム（ＯＳ）、本発明の一実施例による制御プログラム、アプリケーションプログラム等が記憶されている。デバイスインタフェース１７は、例えばＵＳＢ、ＩＥＥＥ１３９４等のインタフェース規格により１台以上の画像読み取り装置としてのイメージスキャナ２と接続可能に構成されている。尚、図２に示す複数のイメージスキャナ２は本実施例においてはそれぞれ異なる機種であるとする。尚、制御装置１はＬＡＮ等のネットワークを介してイメージスキャナ２と接続するようにしてもよい。
【００２１】
以上、制御装置１のハードウェア構成について説明した。以下、本発明の一実施例による制御プログラムについて説明する。尚、本実施例ではＴＷＡＩＮに準拠した制御プログラムを例に説明する。ＴＷＡＩＮとはイメージスキャナ等の画像読み取り装置とアプリケーションプログラムとのインタフェース規格であり、画像読み取り装置とアプリケーションプログラム間の通信プロトコルであるＴＷＡＩＮプロトコルを規定している。一般にＴＷＡＩＮに準拠した制御プログラムは、単に画像読み取り装置のハードウェアを制御するのみでなく、画像の読み取り条件を入力するためのユーザインタフェース（ＵＩ）も備えている。
【００２２】
図１は、本発明の一実施例による画像読み取り装置の制御プログラム３（以後、「ドライバプログラム３」という）のモジュール構造及びアプリケーションプログラム２１を表すブロック図である。尚、図中の破線で示す矢印は、モジュール間でＴＷＡＩＮプロトコルに従った通信がなされることを表している。
【００２３】
アプリケーションプログラム２１は、画像加工プログラム、ワードプロセッサ、ＯＣＲプログラム等である。アプリケーションプログラムは後述するＤＳマネージャ２５が提供するインタフェースを介してドライバプログラム３に画像の読み取りを要求し、取得した画像データを処理するプログラムであって、これらのアプリケーションプログラム２１はＴＷＡＩＮに対応しており、ＴＷＡＩＮプロトコルに従ってドライバプログラム３に画像の読み取りを要求することが可能とされている。
【００２４】
ドライバ起動プログラム２２は、ＵＩモジュール２３を呼び出すのみのプログラムサイズの小さいプログラムであり、本実施例においてはドライバ起動プログラム２２もドライバプログラム３に含まれるものである。ユーザがマウス又はキーボードでドライバ起動プログラム２２の実行を指示する操作を行うと、インタフェースモジュール、ＡＰＩモジュール及びハードウェア制御モジュールのうちインタフェースモジュールが最初に呼び出されることになる。尚、本実施例ではドライバ起動プログラム２２もドライバプログラム３に含まれるとするが、ドライバ起動プログラム２２はドライバプログラム３に含まれないとしてもよい。
【００２５】
データソース（ＤＳ）マネージャ２５は、アプリケーションプログラム２１がＴＷＡＩＮプロトコルに従ってドライバプログラム３と通信するためのＡＰＩをアプリケーションプログラムに提供するモジュールである。アプリケーションプログラム２１はＴＷＡＩＮプロトコルに従って処理に応じた所定のシーケンスでＡＰＩをコールしてＤＳマネージャ２５と通信し、それにより画像の読み取りを要求し画像データを取得する。一般に制御装置１にはケーブルあるいはネットワークを介して複数のイメージスキャナ２を接続することが可能である。このためＤＳマネージャ２５はアプリケーションプログラム２１から呼び出されると接続されているイメージスキャナ２をスキャナ選択画面６０（図３参照）に一覧表示し、ユーザがイメージスキャナ２を選択すると、選択したイメージスキャナ２の機種名をアプリケーションプログラム２１に返す処理、及び選択された機種の機種名が設定されたＤＳエントリーモジュール２６を呼び出す処理を行う。
【００２６】
データソース（ＤＳ）エントリーモジュール２６は、機種に固有の情報が格納された場所を指し示すモジュールである。機種固有の情報とは、例えば読み取り可能な解像度の範囲や読み取り可能な原稿サイズ等の機種によってそれぞれ異なる固有の情報のことをいう。こうした機種固有の情報はＤＳエントリーモジュール２６が指し示す場所に格納されている。本実施例におけるＤＳエントリーモジュール２６は”ｘｘｘ．ｄｓ”というファイル名で格納されており、”ｘｘｘ”部分には各機種の機種名が設定されている。尚、以降に説明する各モジュールはＤＳエントリーモジュール２６が指し示す場所に格納された機種固有の情報に応じて動作する。
【００２７】
データソース（ＤＳ）コントロールモジュール２７は、ＴＷＡＩＮプロトコルマネージャ２８との通信手順と、ＵＩモジュール２３との通信手順とを有するモジュールである。ＤＳコントロールモジュール２７は、ＵＩモジュール２３が最初に呼び出されたときＤＳエントリーモジュール２６からの命令をそのままＴＷＡＩＮプロトコルマネージャ２８にスルーで渡し、ＤＳマネージャ２５が最初に呼び出されたとき且つアプリケーションプログラム２１から読み取り条件を指定されずに画像の読み取りが要求されたとき、ＵＩモジュール２３を呼び出す処理を行う。また、ＤＳマネージャ２５が最初に呼び出されたとき且つアプリケーションプログラム２１から読み取り条件を指定されて画像の読み取りが要求されるとき、ＴＷＡＩＮプロトコルマネージャ２８を呼び出す処理を行う。
【００２８】
特許請求の範囲に記載のＡＰＩモジュールはＤＳマネージャ２５、ＤＳエントリーモジュール２６及びＤＳコントロールモジュール２７に対応する。
ユーザインタフェース（ＵＩ）モジュール２３は、画像の読み取り条件を入力するための画面としての設定画面４０（図４参照）を表示するモジュールである。この他、ＵＩモジュール２３は、ＤＳマネージャ２５が最初に呼び出されたときはイメージスキャナ２に読み取らせた画像データをＤＳコントロールモジュール２７に戻り値として返し、一方、ＵＩモジュール２３が最初に呼び出されたときは画像ファイルを格納する際の格納場所や画像ファイル名等を設定する保存設定画面５０（図５参照）を表示し、ユーザが設定を行った後、後述するＵＩ−ＴＷＡＩＮブリッジ２４を介してＤＳマネージャ２５に画像データの読み取りを要求し、読み取らせた画像データをＵＩ−ＴＷＡＩＮブリッジ２４を介して受け取って当該画像データに基づいて画像ファイルを編成し、保存設定画面５０で設定されたハードディスク１５上の格納場所に設定された画像ファイル名で格納する処理を行う。また、ＵＩモジュール２３は最初に呼び出されたときスキャナ選択画面６０（図３参照）を表示する処理を行う。
【００２９】
ＵＩ−ＴＷＡＩＮブリッジ２４は、常にＵＩモジュール２３から呼び出されるモジュールであり、ＤＳマネージャ２５及びＴＷＡＩＮプロトコルマネージャ２８とのＴＷＡＩＮプロトコルに従った通信手順を有する。ＵＩ−ＴＷＡＩＮブリッジ２４は、ＤＳマネージャ２５が最初に呼び出されたときＴＷＡＩＮプロトコルマネージャ２８と通信し、ＵＩモジュール２３で入力された読み取り条件に応じた画像の読み取りを要求する。一方、ＵＩモジュール２３が最初に呼び出されたときＵＩモジュール２３で入力された読み取り条件に応じてＤＳマネージャ２５と通信する。
【００３０】
特許請求の範囲に記載のインタフェースモジュールは、ＵＩモジュール２３とＵＩ−ＴＷＡＩＮブリッジ２４とに対応する。ＵＩモジュール２３及びＵＩ−ＴＷＡＩＮブリッジ２４は、ＵＩモジュール２３が保存設定画面５０を表示し、設定後、ＵＩ−ＴＷＡＩＮブリッジ２４を介してＤＳマネージャ２５に画像データの読み取りを要求し、読み取らせた画像データをＵＩ−ＴＷＡＩＮブリッジ２４を介して受け取り画像ファイルを編成して格納する。これによりＵＩモジュール２３及びＵＩ−ＴＷＡＩＮブリッジ２４は編成した画像ファイルを記憶装置に格納する処理を行うアプリケーションプログラムとして動作する。
【００３１】
ＴＷＡＩＮプロトコルマネージャ２８は、ＴＷＡＩＮプロトコルに従って指示された画像の読み取り要求に応じて後述するスキャンコントロールモジュール２９を制御するモジュールである。アプリケーションプログラム２１又はＵＩ−ＴＷＡＩＮブリッジ２４からＴＷＡＩＮプロトコルに従って指示される要求は実質的にＴＷＡＩＮプロトコルマネージャ２８において処理される。
【００３２】
スキャンコントロールモジュール２９は、デバイスコントロールモジュール３０を制御して画像を取得する処理、及び取得した画像データに対し画質に関するフィルター処理等の画像処理を行うモジュールである。
【００３３】
デバイスコントロールモジュール３０は、選択したイメージスキャナ２に固有の制御コマンドを入力された読み取り条件に応じて生成するモジュールである。この他デバイスコントロールモジュール３０はイメージスキャナ２から制御のための情報を取得する処理を行う。ここでいう制御のための情報とは、例えばイメージスキャナ２のオートシートフィーダが取り外し自在であるとき、そのオートシートフィーダが取り付けられているか取り外されているか等を表すステータス情報である。
【００３４】
デバイスインタフェースモジュール３１はＩ／Ｏドライバであり、ドライバプログラム３はデバイスインタフェースモジュール３１を通してデバイスインタフェース１７にアクセスし、イメージスキャナ２とのコマンドの送受信や画像データの受信を行う。
【００３５】
特許請求の範囲に記載のハードウェア制御手順は、ＴＷＡＩＮプロトコルマネージャ２８、スキャンコントロールモジュール２９、デバイスコントロールモジュール３０及びデバイスインタフェースモジュール３１に対応する。
【００３６】
以上、ドライバプログラム３のモジュール構造及びアプリケーションプログラム２１について説明した。以下、ＤＳマネージャ２５及びＵＩモジュール２３により表示される画面について説明する。
【００３７】
図３は、ＤＳマネージャ２５もしくはＵＩモジュール２３により表示されるスキャナ選択画面６０の一例を表す図である。一覧表示欄６１には制御装置１が利用可能なイメージスキャナ２の機種名が一覧表示され、ユーザがマウスでイメージスキャナ２を一つ選択した後、［ＯＫ］ボタン６２をクリックすることで選択が完了する。
【００３８】
図４は、ＵＩモジュール２３により表示される設定画面４０の一例を表す図である。原稿種別欄（Document Type）４１は読み取る原稿の種別を指定する欄であり、ポジフィルム（Positive Film）、ネガフィルム、イラスト、雑誌、新聞等の種別が選択可能とされている。イメージ種別欄（Image Type）４２は原稿の色数を選択する欄であり、”カラー（Color）”、”グレイ（Gray Scale）”、”白黒（Black & White）”の何れか一つを選択可能とされている。目的欄（Destination）４３は読み取った画像の使用目的を指定する欄であり、”画面／ウェブ（Screen/Web）”、”プリンタ（Printer）”、”カスタム（Custom）”の何れか一つが選択可能であり、カスタムを選択しときはその下にある”解像度（Resolution）”で解像度を選択可能とされている。イメージ調整欄（Image Adjustment）４４は、”明るさ（Brightness）”及び”コントラスト（Contrast）”等を設定するための欄である。［Ｓｃａｎ］ボタン４５は、ユーザが読み取りの開始を命令するためのボタンである。［Ｓｃａｎ  Ｏｐｔｉｏｎ．．．］ボタン４６は、ＵＩモジュール２３が最初に呼び出されたときのみ表示されるボタンであり、［Ｓｃａｎ  Ｏｐｔｉｏｎ．．．］ボタン４６をマウスでクリックすると、保存設定画面５０が表示される。その他の欄及びボタンについての説明は省略する。尚、設定画面４０の入力欄に表示される選択項目等はスキャナ選択画面６０で選択したイメージスキャナ２の機種に応じて変化し、ＵＩモジュール２３は選択された機種に応じた設定画面４０を表示する。例えば解像度が２４００ｄｐｉまでしか読み取れないイメージスキャナ２が選択された場合は、ＵＩモジュール２３は解像度を選択する選択肢として最大”２４００”までしか表示しない。また、例えば透過原稿を読み取ることのできないイメージスキャナ２であれば原稿種別欄に透過原稿の選択肢を表示しないようにする。
【００３９】
図５は、ＵＩモジュール２３により表示される保存設定画面５０の一例である。保存設定画面５０は、設定画面４０において［Ｓｃａｎ  Ｏｐｔｉｏｎ．．．］ボタンをマウスでクリックすると表示される。格納場所（Location）指定欄５１は、編成した画像ファイルを格納するときのハードディスク１５上の場所を指定するための欄である。画像ファイル名（File name）指定欄５２は編成する画像ファイル名を指定する欄であり、”Prefix”で指定する文字列と”Start Number”で指定する番号から始まる３桁の数字とからなる文字列が画像ファイル名として指定される。画像フォーマット（Image Format）指定欄５３は画像データのフォーマットを指定する欄である。［ＯＫ］ボタン５４は、ユーザが設定完了の指示を入力するためのボタンである。その他の欄及びボタンについての説明は省略する。
【００４０】
以上、ＤＳマネージャ２５及びＵＩモジュール２３により表示される画面について説明した。
ドライバプログラム３は、ＤＳマネージャ２５が最初に呼び出されたときとＵＩモジュール２３が最初に呼び出されたときとでモジュールの呼び出し関係が動的に変化する。以下、ドライバプログラム３の作動について、それぞれの場合に分けて説明する。
【００４１】
図６は、ＵＩモジュール２３が最初に呼び出されたときのモジュールの呼び出し関係を示す図である。操作部１８のマウス又はキーボードからドライバ起動プログラム２２の実行を指示する操作がなされると、ドライバ起動プログラム２２がＲＡＭ１３にロードされて実行が開始される。実行が開始されるとドライバ起動プログラム２２から最初にＵＩモジュール２３が呼び出され、スキャナ選択画面６０が表示装置１４に表示される。ユーザがイメージスキャナ２を一つ選択すると、続いてＵＩ−ＴＷＡＩＮブリッジ２４からＴＷＡＩＮプロトコルに従ってＤＳマネージャ２５が呼び出される。続いて選択したイメージスキャナ２に対応するＤＳエントリーモジュール２６、ＤＳコントロールモジュール２７、ＴＷＡＩＮプロトコルマネージャ２８、スキャンコントロールモジュール２９、デバイスコントロールモジュール３０、デバイスインタフェースモジュール３１が順に呼び出され、機種固有の情報及びイメージスキャナ２のステータス情報が取得される。機種固有の情報及びステータス情報が取得されると再びＵＩモジュール２３の処理に戻り、選択したイメージスキャナ２の機能に応じた設定画面４０が表示装置１４に表示される。ユーザが画像の読み取り条件を入力して［Ｓｃａｎ  Ｏｐｔｉｏｎ．．．］ボタン４６を押すと保存設定画面５０が表示され、設定後［ＯＫ］ボタン５４をクリックすると設定画面４０に戻り、ここで［Ｓｃａｎ］ボタン４５をクリックするとＵＩ−ＴＷＡＩＮブリッジ２４が呼び出され、読み取り条件に応じた読み取りがＤＳマネージャ２５に要求される。読み取りが要求されると、再び選択したイメージスキャナ２に対応するＤＳエントリーモジュール２６、ＤＳコントロールモジュール２７、ＴＷＡＩＮプロトコルマネージャ２８、スキャンコントロールモジュール２９、デバイスコントロールモジュール３０、デバイスインタフェースモジュール３１が順に呼び出され、ユーザが選択したイメージスキャナ２に固有の制御コマンドが生成され、制御装置１のデバイスインタフェース１７を介してイメージスキャナ２に出力される。
【００４２】
イメージスキャナ２から出力された画像データを格納したＲＡＭ１３上のアドレスは呼び出し元のモジュールに呼び出しと逆の順に戻り値として返され、最終的にＵＩモジュール２３において画像ファイルとしてハードディスク１５に格納される。
【００４３】
図７は、ＤＳマネージャ２５が最初に呼び出されるときのモジュールの呼び出し関係を示す図である。尚、以下の説明はアプリケーションプログラムから読み取り条件を指定されずに画像の読み取りを要求される場合を例に説明する。操作部１８のマウス又はキーボードからアプリケーションプログラム２１の実行を指示する操作がなされると、アプリケーションプログラム２１がＲＡＭ１３にロードされて実行が開始される。アプリケーションプログラム２１の実行によって表示されるメニュー等からマウス又はキーボードで画像の読み取りを指示する操作がなされると、アプリケーションプログラム２１からＴＷＡＩＮプロトコルに従ってＤＳマネージャ２５が最初に呼び出され、アプリケーションプログラム２１とＤＳマネージャ２５との間でＴＷＡＩＮプロトコルに従った通信がなされイメージスキャナ２の機種名の取得が要求される。機種名の取得が要求されるとＤＳマネージャ２５によりスキャナ選択画面６０が表示装置１４に表示される。ユーザがイメージスキャナ２を一つ選択すると、選択したイメージスキャナ２の機種名がアプリケーションプログラム２１に戻り値として返される。機種名が返されるとアプリケーションプログラム２１から機種名を引数としてＤＳマネージャ２５に画像の読み取りが要求される。尚、このときアプリケーションプログラム２１は読み取り条件を指定しないものとする。画像の読み取りが要求されると、選択したイメージスキャナ２に対応するＤＳエントリーモジュール２６、ＤＳコントロールモジュール２７、ＵＩモジュール２３、ＵＩ−ＴＷＡＩＮブリッジ２４、ＴＷＡＩＮプロトコルマネージャ２８、スキャンコントロールモジュール２９、デバイスコントロールモジュール３０、デバイスインタフェースモジュール３１が順に呼び出され、機種固有の情報及びイメージスキャナ２のステータス情報が取得される。機種固有の情報及びステータス情報が取得されると再びＵＩモジュール２３の処理に戻り、イメージスキャナ２の機能に応じた設定画面４０が表示装置１４に表示される。ユーザが画像の読み取り条件を入力して［Ｓｃａｎ］ボタン４５をクリックするとＵＩ−ＴＷＡＩＮブリッジ２４が呼び出され、ＵＩ−ＴＷＡＩＮブリッジ２４とＴＷＡＩＮプロトコルマネージャ２８との間でＴＷＡＩＮプロトコルに従った通信がなされる。続いてスキャンコントロールモジュール２９、デバイスコントロールモジュール３０、デバイスインタフェースモジュール３１が再度順に呼び出され、ユーザが選択したイメージスキャナ２に固有の制御コマンドが生成されて制御装置１のデバイスインタフェース１７を介してイメージスキャナ２に出力される。
【００４４】
イメージスキャナ２から出力された画像データを格納したＲＡＭ１３上のアドレスは呼び出し元のモジュールに呼び出しと逆の順に戻り値として返され、最終的にアプリケーションプログラム２１において画像データとして取得される。
【００４５】
尚、上記は、ＤＳマネージャ２５が最初に呼び出され且つアプリケーションプログラムから読み取り条件を指定されずに画像の読み取りを要求されるときの処理の流れについて説明したが、ＤＳマネージャ２５が最初に呼び出され且つアプリケーションプログラムから読み取り条件を指定されて画像の読み取りを要求されるときは、図７においてＤＳコントロールモジュール２７はＴＷＡＩＮプロトコルマネージャ２８を呼び出し、ＵＩモジュール２３及びＵＩ−ＴＷＡＩＮブリッジ２４は呼び出されない。
【００４６】
以上、ドライバプログラム３の作動について説明した。以下、本実施例の効果について説明する。
本実施例のドライバプログラム３は、ＵＩモジュール２３及びＵＩ−ＴＷＡＩＮブリッジ２４が画像の読み取りを要求し取得した画像データに基づいて画像ファイルを編成することでアプリケーションプログラムとして動作でき、また、プログラムサイズの小さいドライバ起動プログラム２２を起動することでアプリケーションプログラム２１を起動することなく呼び出すことができる。更に、ＵＩモジュール２３及びＵＩ−ＴＷＡＩＮブリッジ２４は画像データに基づいて画像ファイルを編成するのみのアプリケーションプログラムとして動作することからドライバプログラム３はプログラムサイズが比較的小さくて済み、短時間にメモリ上にロードすることができる。従って、ドライバプログラム３は、短時間に起動できるアプリケーションプログラムとして動作できる。本実施例のドライバプログラム３によると、単に画像データに基づいて画像ファイルを編成するだけの場合であればアプリケーションプログラム２１を起動する必要がなく、画像データの取得に要する時間を短縮できる。一方、本実施例のドライバプログラム３は、ＤＳマネージャ２５が最初に呼び出され且つアプリケーションプログラムから読み取り条件を指定されずに画像の読み取りを要求されるとき、図７に示す順でモジュールが呼び出されることにより従来の制御プログラムとしても動作することができ、画像データの加工等の処理を行うときはアプリケーションプログラムは制御プログラムを呼び出して画像データを取得できる。尚、図７においてはＤＳマネージャ２５が最初に呼び出され且つアプリケーションプログラムから読み取り条件を指定されずに画像の読み取りを要求されるときは、ＤＳコントロールモジュール２７はＵＩモジュール２３を呼び出し、ＴＷＡＩＮプロトコルマネージャ２８はＤＳコントロールモジュール２７からは呼び出されない。
【００４７】
更に、本実施例のドライバプログラム３は、ＤＳマネージャ２５が最初に呼び出され且つアプリケーションプログラムから読み取り条件を指定されて画像の読み取りを要求されるとき、図７においてＤＳコントロールモジュール２７はＴＷＡＩＮプロトコルマネージャ２８を呼び出し、ＵＩモジュール２３及びＵＩ−ＴＷＡＩＮブリッジ２４は呼び出されない。従って、アプリケーションプログラムから読み取り条件を指定されて画像の読み取りを要求されるとき、設定画面４０が無用に表示されない。
【００４８】
更に、本実施例のドライバプログラム３は、ＵＩモジュール２３が最初に呼び出されるとき、すなわちアプリケーションプログラムとして動作するときと、ＤＳマネージャ２５が最初に呼び出されアプリケーションプログラムから読み取り条件を指定されずに画像の読み取りを要求されるとき、すなわち制御プログラムが従来の制御プログラムとして動作するときとで同じインタフェースモジュール（２３、２４）及びハードウェア制御モジュール（２８、２９、３０及び３１）を呼び出す。従ってこの画像読み取り装置の制御プログラムは、従来の制御プログラムとして動作するときとアプリケーションプログラムとして動作するときとでインタフェースモジュール及びハードウェア制御モジュールを共用できる。
【００４９】
更に、本実施例では、インタフェースモジュールをＵＩモジュール２３とＵＩ−ＴＷＡＩＮブリッジ２４とに分割した。これによりＵＩ−ＴＷＡＩＮブリッジを他の規格に適合させることで、本発明を他の規格に容易に適用することができる。
【００５０】
尚、本実施例では、ＴＷＡＩＮに準拠したドライバプログラム３を例に説明したが、ＴＷＡＩＮに準拠しないドライバプログラムに本発明を適用してもよい。また、本実施例では、ドライバプログラム３を、編成した画像ファイルを制御装置に格納するアプリケーションプログラムとして説明したが、編成した画像ファイルを電子メールとして送信するアプリケーションプログラムとして動作してもよい。
【図面の簡単な説明】
【図１】本発明の一実施例による制御プログラムのモジュール構造及びアプリケーションプログラムを表すブロック図である。
【図２】本発明の一実施例による制御プログラムを実行する制御装置のハードウェア構成を示すブロック図である。
【図３】本発明の一実施例による制御プログラムにより表示されるスキャナを選択する画面の一例を表す図である。
【図４】本発明の一実施例による制御プログラムにより表示される画像の読み取り条件を入力するための画面の一例を表す図である。
【図５】本発明の一実施例による制御プログラムにより表示される画像データの保存に関する条件を指定するための画面の一例を表す図である。
【図６】本発明の一実施例による制御プログラムがアプリケーションプログラムとして動作するときのモジュールの呼び出し関係を示すフ図である。
【図７】本発明の一実施例による制御プログラムがアプリケーションプログラムから呼び出されるときのモジュールの呼び出し関係を示す図である。
【符号の説明】
１  制御装置
２  イメージスキャナ（画像読み取り装置）
３  ドライバプログラム（制御プログラム）
１４  表示装置
１５  ハードディスク（記憶装置）
１６  ハードディスクコントローラ
１７  デバイスインタフェース
１８  操作部
１９  バス
２１  アプリケーションプログラム
２２  ドライバ起動プログラム
２３  ユーザインタフェースモジュール（インタフェースモジュール）
２４  ＵＩ−ＴＷＡＩＮブリッジ（インタフェースモジュール）
２５  データソースマネージャ（ＡＰＩモジュール）
２６  データソースエントリーモジュール（ＡＰＩモジュール）
２７  データソースコントロールモジュール（ＡＰＩモジュール）
２８  ＴＷＡＩＮプロトコルマネージャ（ハードウェア制御モジュール）
２９  スキャンコントロールモジュール（ハードウェア制御モジュール）
３０  デバイスコントロールモジュール（ハードウェア制御モジュール）
３１  デバイスインタフェースモジュール（ハードウェア制御モジュール）
４０  設定画面（画面）
５０  保存設定画面
６０  スキャナ選択画面
【図１】
0003864412.tif 000002
【図２】
0003864412.tif 000003
【図３】
0003864412.tif 000004
【図４】
0003864412.tif 000005
【図５】
0003864412.tif 000006
【図６】
0003864412.tif 000007
【図７】
0003864412.tif 000008