(57)【要約】【課題】データ入力デバイスの複数の機種の制御プログラムを効率よく開発できるデータ入力デバイスの制御方法を提供する。【解決手段】設定を変更することで複数種のデータ入力デバイスを制御可能及び／又はデータ入力デバイスから送出されるデータを設定に応じて処理可能に構成された制御モジュール２３、２４、２５、２６、２７及び２８と、特定種のデータ入力デバイスに関連付けられ制御モジュールの設定を変更するための制御データが格納されたデバイス情報ファイルと、を備える制御プログラムをコンピュータに実行させてデータ入力デバイスを制御する方法であって、デバイス情報ファイル３０及び３１に基づいて制御モジュールの設定を変更することにより制御モジュールにデバイス情報ファイルに関連付けられたデータ入力デバイスを制御させる及び／又はデータ入力デバイスから送出されるデータを処理させる。【選択図】　図１
2004021783.tif 000002
【特許請求の範囲】
【請求項１】
設定を変更することで複数種のデータ入力デバイスを制御可能及び／又はデータ入力デバイスから送出されるデータを設定に応じて処理可能に構成された制御モジュールと、
特定種のデータ入力デバイスに関連付けられ前記制御モジュールの設定を変更するための制御データが格納されたデバイス情報ファイルと、
を備える制御プログラムをコンピュータに実行させてデータ入力デバイスを制御する方法であって、
前記デバイス情報ファイルに基づいて前記制御モジュールの設定を変更することにより前記制御モジュールに前記デバイス情報ファイルに関連付けられたデータ入力デバイスを制御させる及び／又は当該データ入力デバイスから送出されるデータを処理させることを特徴とするデータ入力デバイスの制御方法。
【請求項２】
設定を変更することで複数種のデータ入力デバイスを制御可能及び／又はデータ入力デバイスから送出されるデータを設定に応じて処理可能に構成された制御モジュールと、
特定種のデータ入力デバイスに関連付けられ前記制御モジュールの設定を変更するための制御データが格納されたデバイス情報ファイルと、
を備え、コンピュータにデータ入力デバイスを制御させるためのプログラムであって、
前記デバイス情報ファイルに基づいて前記制御モジュールの設定を変更することにより前記制御モジュールに前記デバイス情報ファイルに関連付けられたデータ入力デバイスを制御させる及び／又は当該データ入力デバイスから送出されるデータを処理させることを特徴とするデータ入力デバイスの制御プログラム。
【請求項３】
請求項２に記載のデータ入力デバイスの制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ入力デバイスの制御方法及びプログラムに関する。
【０００２】
【従来の技術】
一般にイメージスキャナ等の画像読み取り装置、ディジタルカメラ、モデムといったデータ入力デバイスは、パーソナルコンピュータ等の制御装置に接続され、制御装置からの制御コマンドに応答して制御装置にデータを送出している。
【０００３】
データ入力デバイスが接続された制御装置は、データ入力デバイスの制御プログラム、データ入力デバイスから送出されるデータに処理を施す種々のアプリケーションプログラム等を備える。制御プログラムは所謂デバイスドライバであり、データ入力デバイスから制御装置にデータを入力させるときアプリケーションプログラムから呼び出される。例えばイメージスキャナ等の画像読み取り装置の制御装置では、呼び出された制御プログラムは一般に画像の読み取り条件をユーザが入力するための入力画面を表示し、入力画面で入力された読み取り条件に応じて画像読み取り装置の各機能を制御し、読み取らせた画像データの色数の変換やモアレ除去等の画像処理を施してアプリケーションプログラムに戻り値として返している。それによりアプリケーションプログラムで画像データが取得され、各種の処理が行われる。
【０００４】
画像読み取り装置は目的に応じて様々な機種が提供されており、機種毎に機能や読み取った画像データの特性が異なっている。例えば読み取れる原稿種別、読み取れる解像度、オートシートフィーダの有無等は機種毎に異なり、また、画像読み取り装置の制御コマンドにはいくつかの規格があるが、どの規格をサポートするかは機種によって異なっている。また、読み取った画像データに生じる干渉縞（モアレ）の発生するパターンは概ね機種に依存する等、画像データの特性も機種によって異なる。このため制御プログラムに制御させる機能や制御プログラムに画像データを処理させるときの処理のさせ方は機種によって異なり、従って、従来は画像読み取り装置の制御プログラムは機種毎に開発している。
【０００５】
【発明が解決しようとする課題】
しかしながら、機種毎に制御プログラムを開発すると、例え機種間でソースコードの再利用が可能であり重複開発がなかったとしても、少なくともソースコードの再利用作業等は機種数に応じて増大し、従って開発作業が増大するという問題がある。また、例えば画像データの処理等は機種毎に少しずつ処理のさせ方が違いながらも概ね類似の処理を行うものであり、類似するソースコードを開発することになり効率が悪い。この他、制御プログラムが複数存在することで管理の手間が増大する上、ソースコードに変更がある場合それぞれの制御プログラムに同じ修正を加えなければならないなど保守性が低下し、作業の効率が悪くなるという問題がある。
【０００６】
本発明は、上記問題に鑑みて創作されたものであって、その目的はデータ入力デバイスの複数の機種の制御プログラムを効率よく開発できるデータ入力デバイスの制御方法を提供することにある。
【０００７】
また、本発明の別の目的はデータ入力デバイスの複数の機種に対し効率よく開発できるデータ入力デバイスの制御プログラムを提供することにある。
【０００８】
【課題を解決するための手段】
請求項１に記載のデータ入力デバイスの制御方法は、設定を変更することで複数種のデータ入力デバイスを制御可能及び／又はデータ入力デバイスから送出されるデータを設定に応じて処理可能に構成された制御モジュールと、特定種のデータ入力デバイスに関連付けられ制御モジュールの設定を変更するための制御データが格納されたデバイス情報ファイルと、を備える制御プログラムをコンピュータに実行させてデータ入力デバイスを制御する方法であって、デバイス情報ファイルに基づいて制御モジュールの設定を変更することにより制御モジュールにデバイス情報ファイルに関連付けられたデータ入力デバイスを制御させる及び／又は当該データ入力デバイスから送出されるデータを処理させることを特徴とする。このデータ入力デバイスの制御方法は、制御モジュールの設定をデバイス情報ファイルに基づいて変更することにより、制御モジュールに当該デバイス情報ファイルに関連付けられたデータ入力デバイスを制御させる及び／又はデータ入力デバイスから送出されるデータを処理させる。従って、制御モジュールに特定種のデータ入力デバイスを制御させる及び／又はデータ入力デバイスから送出されるデータを処理させるには、当該データ入力デバイスを制御する及び／又は当該データ入力デバイスの特性に応じて当該データ入力デバイスから送出されるデータを処理するように制御モジュールの設定を変更すればよく、そのためにはそのように制御モジュールの設定を変更するための制御データを当該データ入力デバイスに関連付けられたデバイス情報ファイルに格納すればよい。従ってこのデータ入力デバイスの制御方法によると、デバイス情報ファイルを機種毎に用意すれば制御モジュールのソースコードを機種毎に開発せずとも複数のデータ入力デバイスを制御させる及び／又はデータ入力デバイスから送出されるデータを処理させることができ、ソースコードの再利用作業等は不要となる。よって、このデータ入力デバイスの制御方法によると、データ入力デバイスの複数の機種の制御プログラムを効率よく開発できる。
【０００９】
請求項２に記載のデータ入力デバイスの制御プログラムは、設定を変更することで複数種のデータ入力デバイスを制御可能及び／又はデータ入力デバイスから送出されるデータを設定に応じて処理可能に構成された制御モジュールと、特定種のデータ入力デバイスに関連付けられ制御モジュールの設定を変更するための制御データが格納されたデバイス情報ファイルと、を備え、コンピュータにデータ入力デバイスを制御させるためのプログラムであって、デバイス情報ファイルに基づいて制御モジュールの設定を変更することにより制御モジュールにデバイス情報ファイルに関連付けられたデータ入力デバイスを制御させる及び／又は当該データ入力デバイスから送出されるデータを処理させることを特徴とする。このデータ入力デバイスの制御プログラムは、制御モジュールの設定をデバイス情報ファイルに基づいて変更することにより、制御モジュールに当該デバイス情報ファイルに関連付けられたデータ入力デバイスを制御させる及び／又はデータ入力デバイスから送出されるデータを処理させる。従って、制御モジュールに特定種のデータ入力デバイスを制御させる及び／又はデータ入力デバイスから送出されるデータを処理させるには、当該データ入力デバイスを制御する及び／又は当該データ入力デバイスの特性に応じて当該データ入力デバイスから送出されるデータを処理するように制御モジュールの設定を変更すればよく、そのためにはそのように制御モジュールの設定を変更するための制御データを当該データ入力デバイスに関連付けられたデバイス情報ファイルに格納すればよい。従ってこのデータ入力デバイスの制御プログラムによると、デバイス情報ファイルを機種毎に用意すれば制御モジュールのソースコードを機種毎に開発せずとも複数のデータ入力デバイスを制御させる及び／又はデータ入力デバイスから送出されるデータを処理させることができ、ソースコードの再利用作業等は不要となる。よって、このデータ入力デバイスの制御プログラムは、データ入力デバイスの複数の機種に対し効率よく開発できる。
【００１０】
【発明の実施の形態】
以下、本発明の実施例を図面に基づいて説明する。尚、本実施例ではデータ入力デバイスとして画像読み取り装置の一つであるイメージスキャナを例に説明する。よって本実施例における”データ入力デバイスから送出されるデータ”は、イメージスキャナが画像を読み取って作成する画像データに相当する。
【００１１】
図２は、本発明の一実施例による制御プログラムを実行する制御装置１のハードウェア構成を示すブロック図である。図示するように、制御装置１はＣＰＵ１１、ＲＯＭ１２，ＲＡＭ１３、表示装置１４、ＨＤ（ハードディスク）１５、ＨＤ（ハードディスク）コントローラ１６、Ｉ／Ｆ（デバイスインタフェース）１７および操作部１８を備え、バス１９で相互に接続されている。ＣＰＵ１１は、ＲＯＭ１２及びハードディスク１５に格納されたプログラムを実行して制御装置１の各部を制御する他、本発明の一実施例によるデータ入力デバイスの制御プログラム、アプリケーションプログラム等のプログラムを実行する。ＲＯＭ１２はＣＰＵ１１が動作するために最低限必要なプログラムやデータを予め格納しているメモリであり、ＲＡＭ１３はプログラムや各種のデータ等を一時的に格納するメモリである。表示装置１４は液晶表示装置（ＬＣＤ）やＣＲＴ等の表示装置を備え、ＣＰＵ１１の処理結果を表示する。操作部１８はキーボード、マウス等の入力装置を備える。ハードディスクコントローラ１６はハードディスク１５を制御するものであり、ハードディスク１５にはオペレーティングシステム（ＯＳ）、本発明の一実施例による制御プログラム、ファイル名情報ファイル、機種情報ファイル、テーブルファイル、アプリケーションプログラム等が記憶されている。デバイスインタフェース１７は、例えばＵＳＢ、ＩＥＥＥ１３９４等のインタフェース規格によりデータ入力デバイスとしてのイメージスキャナ２と接続可能に構成されている。尚、図２に示す複数のイメージスキャナ２はそれぞれ異なる機種であるとする。尚、制御装置１はＬＡＮ等のネットワークを介してイメージスキャナ２と接続するようにしてもよい。
【００１２】
以上、制御装置１のハードウェア構成について説明した。以下、本発明の一実施例による制御プログラムについて説明する。制御プログラムは、コンピュータとしての制御装置１にデータ入力デバイスとしてのイメージスキャナ２を制御させるためのプログラムである。この制御プログラムが備えるモジュールが制御装置１に実行されると、制御装置１は各モジュールが定義する機能を実現する。尚、本実施例ではＴＷＡＩＮに準拠した制御プログラムを例に説明する。ＴＷＡＩＮとはイメージスキャナ等の画像読み取り装置とアプリケーションプログラムとのインタフェース規格であり、画像読み取り装置とアプリケーションプログラム間の通信プロトコルであるＴＷＡＩＮプロトコルを規定している。一般にＴＷＡＩＮに準拠した制御プログラムは、単に画像読み取り装置のハードウェアを制御するのみでなく、画像の読み取り条件を入力するためのユーザインタフェース（ＵＩ）も備えている。
【００１３】
図１は、本発明の一実施例によるデータ入力デバイスの制御プログラム３（以後、「ドライバプログラム３」という）のモジュール構造、イメージスキャナ２、データソースマネージャ（ＤＳＭ）２２及びアプリケーションプログラム２１を表すブロック図である。尚、図中の破線で示す矢印はＴＷＡＩＮプロトコルに従った通信がなされることを表している。
【００１４】
アプリケーションプログラム２１は、画像加工プログラム、ワードプロセッサ、ＯＣＲプログラム等である。アプリケーションプログラム２１はＤＳＭ２２に画像の読み取りを要求し、取得した画像データを処理するプログラムであって、これらのアプリケーションプログラム２１はＴＷＡＩＮに対応しており、ＴＷＡＩＮプロトコルに従ってＤＳＭ２２に画像の読み取りを要求することが可能とされている。アプリケーションプログラム２１は、画像の読み取りを要求する際に、利用するイメージスキャナ２を一意に特定する情報、画像の読み取り条件を入力するための入力画面の表示／非表示を指示する情報等を引数として指定する。
【００１５】
ＤＳＭ２２は、アプリケーションプログラム２１がＴＷＡＩＮプロトコルに従ってドライバプログラム３と通信するためのＡＰＩをアプリケーションプログラム２１に提供するモジュールである。尚、ＤＳＭ２２についてはＴＷＡＩＮプロトコルを規定した業界団体により提供されるものを用いるものとする。ＤＳＭ２２はアプリケーションプログラム２１から引数としてイメージスキャナ２を一意に特定する情報を指定されると、イメージスキャナ２を一意に特定する情報で特定されるイメージスキャナ２の機種名をファイル名に含むＤＳエントリーモジュール２３を呼び出す。尚、本実施例ではイメージスキャナ２の機種名をファイル名に含むＤＳエントリーモジュール２３を呼び出す場合を例に説明するが、例えばアプリケーションプログラム２１がＤＳエントリーモジュール２３のファイル名を指定する場合は、指定されるファイル名で特定されるＤＳエントリーモジュール２３を呼び出すようにしてもよい。その場合、ＤＳエントリーモジュール２３のファイル名には必ずしも機種名を含む必要はない。
【００１６】
データソース（ＤＳ）エントリーモジュール２３は、ファイル名情報ファイル２９中のどの位置に当該ＤＳエントリーモジュール２３に対応する機種情報ファイル３０のファイル名が格納されているかを指し示すモジュールである。尚、本実施例におけるＤＳエントリーモジュール２３は”ｘｘｘ．ｄｓ”というファイル名でハードディスク１５に格納されており、”ｘｘｘ”部分には各機種の機種名が含まれている。また、以後の説明においてはＤＳエントリーモジュール２３に格納された位置を指し示す情報のことを位置情報というものとする。
【００１７】
データソース（ＤＳ）コントロールモジュール２４は、ＴＷＡＩＮプロトコルマネージャ２６との通信手順と、ＵＩモジュール２５との通信手順とを有するモジュールである。ＤＳコントロールモジュール２４は、アプリケーションプログラムから入力画面の非表示を指示されたときＤＳエントリーモジュール２３からの命令をそのままＴＷＡＩＮプロトコルマネージャ２６にスルーで渡し、アプリケーションプログラムから入力画面の表示を指示されたときＵＩモジュール２５を呼び出す処理を行う。
【００１８】
ユーザインタフェース（ＵＩ）モジュール２５は、画像の読み取り条件を入力するための入力画面を表示するモジュールである。画像の読み取り条件とは、例えば解像度、色数、原稿種別、画像データのフォーマット等である。
【００１９】
ＴＷＡＩＮプロトコルマネージャ２６は、ＴＷＡＩＮプロトコルに従って要求された画像の読み取り要求に応じてスキャンコントロールモジュール２７を制御するモジュールである。アプリケーションプログラム２１からＴＷＡＩＮプロトコルに従って指示される読み取り要求は実質的にＴＷＡＩＮプロトコルマネージャ２６において処理される。
【００２０】
スキャンコントロールモジュール２７は、読み取った画像データを所定のフォーマットに変換する処理や画像データのモアレ除去、ハーフトーン処理等の種々の画像処理を制御データに基づいて行うモジュールである。例えばモアレ除去の場合、スキャンコントロールモジュール２７は、デバイスコントロールモジュール２８が備えるＡＰＩをコールしてモアレ除去の制御データをデバイスコントロールモジュール２８から取得し、取得した制御データに基づいてモアレ除去の処理を制御する。従って制御データを機種に応じて変更することでスキャンコントロールモジュール２７は画像データの処理を機種に応じて制御することができる。
【００２１】
デバイスコントロールモジュール２８は、機種情報ファイル３０及びテーブルファイル３１から制御データを取得し、その制御データに基づいて制御コマンドを生成してイメージスキャナ２に出力するモジュールである。デバイスコントロールモジュール２８は、複数種のイメージスキャナ２の様々な機能を制御するための制御コマンドを全て生成可能に構成されている。デバイスコントロールモジュール２８は機種情報ファイル３０及びテーブルファイル３１から制御データを取得してＲＡＭ１３の所定の領域に記憶し、記憶した制御データに基づいて制御すべき機能を機種毎に判定し制御すべき機能と読み取り条件とに応じて制御コマンドを生成する。これによりイメージスキャナ２の機能を制御する。この他、デバイスコントロールモジュール２８は、スキャンコントロールモジュール２７がデバイスコントロールモジュール２８を呼び出すためのＡＰＩを備え、スキャンコントロールモジュール２７が画像データを処理するとき、スキャンコントロールモジュール２７の要求に応答して制御データを渡す処理を行う。尚、デバイスコントロールモジュール２８はイメージスキャナ２からも制御のための情報を取得する処理を行う。ここでいう制御のための情報とは、例えばイメージスキャナ２のオートシートフィーダが取り外し自在であるとき、デバイスコントロールモジュール２８が呼び出されたときそのオートシートフィーダが取り付けられているか取り外されているか等を表すステータス情報であり、デバイスコントロールモジュール２８はステータス情報にも基づいて制御する機能を判定する。
【００２２】
特許請求の範囲に記載の制御モジュールは、ＤＳエントリーモジュール２３、ＤＳコントロールモジュール２４、ＵＩモジュール２５、ＴＷＡＩＮプロトコルマネージャ２６、スキャンコントロールモジュール２７及びデバイスコントロールモジュール２８に対応する。
【００２３】
制御モジュールの設定とは、制御モジュールが制御対象のイメージスキャナ２を制御する及び／又はイメージスキャナ２の特性に応じて画像データを処理するようその動作を定めるもののことであり、本実施例ではデバイスコントロールモジュール２８によりデバイス情報ファイルから取得されＲＡＭ１３に記憶されている制御データのことをいう。従ってデバイスコントロールモジュール２８が別のデバイス情報ファイルから制御データを取得しＲＡＭ１３に記憶することで制御モジュールの設定が変更される。
【００２４】
以上、ドライバプログラム３のモジュール構造及びアプリケーションプログラム２１について説明した。以下、ファイル名情報ファイル２９、機種情報ファイル３０及びテーブルファイル３１について説明する。
【００２５】
尚、機種情報ファイル３０はイメージスキャナ２の機種毎に存在するファイルであり、またテーブルファイル３１は画像データの処理毎に存在するファイルである。
【００２６】
図３は、ファイル名情報ファイル２９の一例を示す図である。図中の破線で囲まれる部分が一機種分のファイル名情報であり、本実施例では各機種の情報の上から４行目にその機種の機種情報ファイル名が格納されている。図中の例でいうと”ＥＳ０００Ｆ．ｈｒｄ”、”ＥＳ００１０．ｈｒｄ”等が機種情報ファイル名である。尚、ＤＳエントリーモジュール２３が指し示す情報（位置情報）は例えば”ＥＳ０００Ｆ”であり、これによりファイル名情報ファイル２９中の参照すべき位置が特定される。その他の行についての説明は省略する。
【００２７】
図４は、機種情報ファイル３０のファイルフォーマットの一例を示す図である。機種情報ファイル３０は制御モジュールの設定を変更するための制御データが格納されたファイルである。制御データには、機能を制御モジュールに制御させるか制御させないかを”０”又は”１”で表す制御データ、機能をどのように制御させるかを一つの数値で表す制御データ、機能をどのように制御させるかを複数の数値で表す制御データ（以後、「パラメータ」という）がある。本実施例の機種情報ファイル３０は、機能をどのように制御させるかを複数の数値で表す制御データ、すなわちパラメータについては機種情報ファイル３０ではなくテーブルファイル３１に格納しており、機種情報ファイル３０にはそのパラメータを格納したテーブルファイル３１中の当該パラメータが格納されている位置が示される。尚、図中の各項目の前にある数字はその項目を指定する数値あるいは文字列のバイト数を指定するものである。以下、いくつかの項目について説明する。
【００２８】
「最大解像度」（図中の３０１）は当該イメージスキャナ２が読み取り可能な解像度の最大値を数値で指定する項目であり、同様に”最小解像度”（図中の３０２）は最小値を数値で指定する項目である。これらの項目は機能をどのように制御させるかを一つの数値で表す制御データの例である。
【００２９】
「ハーフトーン処理サポートの有無」（図中の３０３）は当該イメージスキャナ２がハーフトーン処理をサポートするかどうかを指定する項目である。ハーフトーン処理は画素毎に階調がことなる画像を一つの画素が白か黒かのモノクロ画像に変換する画像処理である。本項目は機能を制御モジュールに制御させるか制御させないかを”０”又は”１”で表す制御データの例であり、制御させない場合（サポートしない場合）は”０”が格納され、制御させる場合（サポートする場合）は”１”が格納される。
【００３０】
「スキャナがサポートするコマンドの種類」（図中の３０４）は、イメージスキャナに生成させる制御コマンドの規格を指定する項目である。指定できる制御コマンドの規格としては”ＥＳＣＩ／Ｂ７，Ｂ８”、”ＦＳ”、”ＥＳＣＩ／Ｄ１”、”ＥＳＣＩ／Ｄ２（ＮＳ　ＬＭ９８３３）”、及び将来の規格拡張のための”新Ｉｎｔｅｒｐｒｅｔｅｒ”があり、いずれかを表す数値がパラメータとして格納される。本項目は機能をどのように制御させるかを一つの数値で表す制御データの例である。
【００３１】
「当該機種のモアレ除去パラメータテーブルがｅｓｉｍｄｓ．ｔｂｌファイル内の何番目の位置にあるかを示す」（図中の３０５）は、モアレ除去パラメータを格納したテーブルファイル”ｅｓｉｍｄｓ．ｔｂｌ”のどの位置に当該機種のパラメータが格納されているかを何番目という番号で示すための項目である。本項目はパラメータの例であり、複数の数値が直接格納されるのではなくそのパラメータを格納したテーブルファイル”ｅｓｉｍｄｓ．ｔｂｌ”中の当該パラメータが格納されている位置が示される。スキャンコントロールモジュール２７においては本項目で指定されたパラメータに基づいて画像データの処理を制御することにより機種に応じた処理がなされる。
【００３２】
以上、いくつかの項目について説明した。その他の項目の説明については省略する。尚、図４に示す項目は一例であり、機種情報ファイル３０には必要に応じて項目を追加削除してよい。
【００３３】
次にテーブルファイル３１について説明する。テーブルファイル３１は画像データの処理を制御するためのパラメータが格納されたファイルである。
図５は、テーブルファイル３１の一つであるモアレ除去パラメータテーブルファイル”ｅｓｉｍｄｓ．ｔｂｌ”のファイルフォーマットを示す図である。図示するようにモアレ除去パラメータテーブルファイルには「バージョン番号」等のヘッダ３１１が格納され、その後に機種毎のパラメータ３１２（「パラメータｎレコード数」〜「ＵＳＭ閾値」）が格納される。機種毎のパラメータ３１２はドライバプログラム３が制御可能なイメージスキャナ２の機種数だけ格納される。尚、図中の各項目の前にある数字はその項目を指定する数値あるいは文字列のバイト数を指定するものである。
【００３４】
特許請求の範囲に記載のデバイス情報ファイルは、機種情報ファイル３０及びテーブルファイル３１に相当する。
以上、ファイル名情報ファイル２９とデバイス情報ファイルとについて説明した。以下、ドライバプログラム３の作動について説明する。尚、以下の例はアプリケーションプログラム２１が入力画面の表示を指示する場合を例に説明する。
【００３５】
図６は、ドライバプログラム３の処理の流れを示すフローチャートである。本処理はアプリケーションプログラム２１による処理がイメージスキャナ２を一つ指定して画像の読み取りを要求することで開始される。
【００３６】
処理が開始されると、ＤＳＭ２２が呼び出され、アプリケーションプログラム２１とＤＳＭ２２との間でＴＷＡＩＮプロトコルに従った通信がなされイメージスキャナ２を一意に特定する情報、入力画面の表示を指示する情報等が引数として渡される。イメージスキャナ２を一意に特定する情報が渡されるとＣＰＵ１１により当該イメージスキャナ２の機種名をファイル名に含むＤＳエントリーモジュール２３が選択され（Ｓ１０５）、位置情報が取得される（Ｓ１１０）。次に、ＤＳコントロールモジュール２４が呼び出され、その後ＴＷＡＩＮプロトコルマネージャ２６、スキャンコントロールモジュール２７、デバイスコントロールモジュール２８がこの順で呼び出される。尚、上記のそれぞれの呼び出しにおいては位置情報が引数として上位モジュールの処理から下位モジュールの処理に渡されている（Ｓ１１５）。デバイスコントロールモジュール２８が呼び出されると、ファイル名情報ファイル２９中の位置情報で指定される位置に格納された機種情報ファイル名が取得され、当該ファイル名を持つ機種情報ファイル３０から制御データが読み込まれる。このとき機種情報ファイル３０にパラメータを格納したテーブルファイル３１中の当該イメージスキャナ２についてのパラメータが格納されている位置が示されているときは、そこで示された位置からパラメータを読み込む処理も行われる。次にイメージスキャナ２からステータス情報が取得される。読み取った制御データ及びステータス情報はＲＡＭ１３上の所定の領域に記憶され、これにより制御モジュールの設定が変更される（Ｓ１２０）。変更後、ＤＳコントロールモジュール２４からＵＩモジュール２５が呼び出され、ＵＩモジュール２５は読み取り条件を入力するための画面を表示する。このときＵＩモジュール２５は表示する画面を制御データ及びステータス情報に応じて変更して表示する。例えば解像度を一覧から選択して入力させるとした場合、ＵＩモジュール２５は制御データの最大解像度で指定された解像度以上の解像度を選択肢として表示しないよう入力画面を変更する等、制御データで制御するよう指定された機能についての条件のみが指定された範囲内で入力可能となるよう変更する。読み取り条件を入力後、入力画面で読み取りの指示が入力されると、ＲＡＭ１３から制御データを読み込んで制御コマンドの規格や制御する機能等の情報を読み込み、指定された機能を制御するための制御コマンドを読み取り条件に応じて生成し、イメージスキャナ２に出力する（Ｓ１２５）。イメージスキャナ２から出力された画像データを格納したＲＡＭ１３上のアドレスは呼び出しとは逆の順でスキャンコントロールモジュール２７に戻り値として返される。スキャンコントロールモジュール２７に画像データが返されると画像データの処理が行われ、その処理はＲＡＭ１３に記憶したパラメータに基づいて制御される。具体的には、例えばモアレ除去の場合、開始されるとＡＰＩを介してデバイスコントロールモジュール２８からモアレ除去のパラメータを取得する処理が行われ、取得したパラメータに基づいて除去の処理が制御される（Ｓ１３０）。処理された画像データは最終的に戻り値として実行中のアプリケーションプログラム２１の処理に返される。
【００３７】
以上、ドライバプログラム３の作動について説明した。尚、アプリケーションプログラム２１が読み取り条件を直接指定するときの処理の流れについては説明を省略する。以下、本実施例の効果について説明する。
【００３８】
本実施例のドライバプログラム３によると、ドライバプログラム３に特定種のイメージスキャナ２を制御させ画像データを処理させるには、デバイスコントロールモジュール２８が当該イメージスキャナ２を制御し、スキャンコントロールモジュール２７が当該イメージスキャナ２の特性に応じて画像データを処理するよう設定を変更すればよく、そのためにはそのように設定を変更するための制御データを当該イメージスキャナ２に関連付けられたデバイス情報ファイルに格納すればよい。従ってこのドライバプログラム３によると、デバイス情報ファイルを機種毎に用意すれば制御モジュールのソースコードを機種毎に開発せずとも複数のイメージスキャナ２を制御することができ、ソースコードの再利用作業等は不要となる。よって、このドライバプログラム３によると、イメージスキャナの複数の機種の制御プログラムを効率よく開発できる。
【００３９】
尚、本実施例では、ＴＷＡＩＮに準拠したドライバプログラム３を例に説明したが、ＴＷＡＩＮに準拠しないドライバプログラムに本発明を適用してもよい。また、本実施例では、制御モジュールを複数のモジュールに分割したが、それらを一つのモジュールとして構成してもよいし、如何なる数のモジュールに分割してもよい。
【００４０】
また、本実施例では機能をどのように制御させるかを複数の数値で表す制御データ（パラメータ）はテーブルファイル３１に格納されているが、機種情報ファイル３０に格納するようにしてもよい。
【００４１】
また、本実施例では制御モジュールはデバイス情報ファイルから制御データを取得するとき間にファイル名情報ファイル２９を介している。これは機種情報ファイル３０のファイル名が変更されたときの影響をファイル名情報ファイル２９で吸収するためであり、ファイル名情報ファイル２９を介さないようにしてもよい。
【００４２】
また、本実施例では、ドライバプログラム３はイメージスキャナ２の制御及び画像データの処理を行うが、制御プログラムはいずれか一方のみを行うでものであってもよい。
【００４３】
また、本実施例ではデータ入力デバイスとしてイメージスキャナを例に説明したが、データ入力デバイスはディジタルカメラ、モデム等であってもよい。
【図面の簡単な説明】
【図１】本発明の一実施例による制御プログラムのモジュール構造を表すブロック図である。
【図２】本発明の一実施例による制御プログラムを実行する制御装置のハードウェア構成を示すブロック図である。
【図３】本発明の一実施例によるデバイス情報ファイルのファイル名を格納したテーブルを示す図である。
【図４】本発明の一実施例によるデバイス情報ファイルの一つである機種情報ファイルのフォーマットを示す図である。
【図５】本発明の一実施例によるデバイス情報ファイルの一つであるテーブルファイルのフォーマットの一例を示す図である。
【図６】本発明の一実施例による制御プログラムの処理の流れを示すフローチャートである。
【符号の説明】
１　制御装置
２　イメージスキャナ
３　ドライバプログラム（　制御プログラム）
１９　バス
２１　アプリケーションプログラム
２２　データソースマネージャ
２３　データソースエントリーモジュール（制御モジュール）
２４　データソースコントロールモジュール（制御モジュール）
２５　ユーザインタフェースモジュール（制御モジュール）
２６　ＴＷＡＩＮプロトコルマネージャ（制御モジュール）
２７　スキャンコントロールモジュール（制御モジュール）
２８　デバイスコントロールモジュール（制御モジュール）
２９　ファイル名情報ファイル
３０　機種情報ファイル（デバイス情報ファイル）
３１　テーブルファイル（デバイス情報ファイル）
４０１　ヘッダ
４０２　パラメータ
【図１】
2004021783.tif 000003
【図２】
2004021783.tif 000004
【図３】
2004021783.tif 000005
【図４】
2004021783.tif 000006
【図５】
2004021783.tif 000007
【図６】
2004021783.tif 000008